版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
某资讯推送系统的计算机系统设计案例目录TOC\o"1-3"\h\u19200某资讯推送系统的计算机系统设计案例 1256411.1系统设计思想 1104031.2系统体系架构 2161991.2.1展现层 4213291.2.2业务逻辑层 5170881.2.3数据层 560111.3系统功能模块设计 5325501.4数据库设计 6270761.4.1E-R图设计 629401.4.2数据库表设计 7282351.5系统界面设计 10266051.6系统安全设计 10系统总体设计应该与某IT资讯公司推送管理的实际情况相结合,适应其业务的具体特点和需求。根据前一章的系统需求分析,我们将在本章对某IT资讯公司的IT资讯推送系统进行总体设计,内容包括:系统设计思想、系统相关技术、系统体系架构、系统功能结构、网络拓扑结构、系统安全设计、数据库设计和重点模块的详细设计。下面将分别进行具体论述。系统设计思想针对某IT资讯公司推送业务的流程和系统设计原则,系统采用了以下的设计思路和技术路线。(1)采用Java作为系统整体的开发语言。(2)后台系统采用B/C的架构,使运营人员能够便捷低成本地登录。(3)终端采用C/S架构,并自建了长链接和通信协议,减少系统的开销,安全可靠。(4)使用SpringBoot全家桶式的开发套件来简化新Spring应用的初始搭建以及开发过程。(5)提供可扩展的系统接口和JDBC的数据接入方式等,方便地成本和企业内部其他系统进行对接;(6)使用爬虫技术,对互联网内容进行抓取,并支持内容的二次编辑和结构化索引。(7)使用检索技术,构建基本的用户画像并支持索引查找。在设计过程中,通过对业务现状、系统要求、环境状况、开发语言和相关技术标准的研究与实践,证明系统方案的可行性和有效性。系统体系架构整个系统基于SpringBoot2.4的开发套件进行开发,并通过Kubernates进行部署和运维。IT资讯推送系统后台采用传统的B/S的方式开发,只需要使用浏览器就可以登录到系统,进行管控。推送系统的终端部分采用客户端/服务端的方式开发。不同的手机平台有不同的推送技术,进而也影响了服务器端的技术选型和架构设计。一般iOS设备推荐使用苹果官方提供的APNs服务,官方的系统比较稳定可靠,同时有较为完善的文档和技术论坛。相比之下,Android设备就品类繁多,各种厂商和型号遍布市场,需要考虑尽可能的兼容,使得服务和体验是统一的。另外移动互联网不同于家庭和工作网络环境,快读连接诶、更换基站、弱网、断线重连、IP更换等特性,使得对其要有特殊的技术思路。对于弱网,需要进行私有协议的定义,来减少带宽的占用和和网络链接的开销。当一台智能手机连上移动网络时,其实并没有真正连接上Internet,运营商分配给手机的IP其实是运营商的内网IP,手机终端要连接上Internet还必须通过运营商的网关进行IP地址的转换,这个网关简称为NAT(NetWorkAddressTranslation),简单来说就是手机终端连接Internet其实就是移动内网IP,端口,外网IP之间相互映射。相当于在手机终端在移动无线网络这堵墙上打个洞与外面的Internet相连。IOS长连接是由系统来维护的,也就是说苹果的IOS系统在系统级别维护了一个客户端和苹果服务器的长链接,IOS上的所有应用上的推送都是先将消息推送到苹果的服务器然后将苹果服务器通过这个系统级别的长链接推送到手机终端上,这样的的几个好处为:1.在手机终端始终只要维护一个长连接即可,而且由于这个长链接是系统级别的不会出现被杀死而无法推送的情况。2.省电,不会出现每个应用都各自维护一个自己的长连接。3.安全,只有在苹果注册的开发者才能够进行推送,等等。android的长连接是由每个应用各自维护的,但是google也推出了和苹果技术架构相似的推送框架,C2DM,云端推送功能,但是由于google的服务器不在中国境内,服务会不稳定或不可触达,所以导致这个推送无法使用,android的开发者不得不自己去维护一个长链接,于是每个应用如果都24小时在线,那么都得各自维护一个长连接,这种电量和流量的消耗是可想而知的。虽然国内也出现了各种推送平台,但是都无法达到只维护一个长连接这种消耗的级别。另外,华为和小米手机对系统层面管控比较严格,可能会封禁Socket端口、杀灭进程等,所以需要我们的App具有后台运行和自动拉起、更换网关等适应能力。为了保证服务器的性能,采用Nginx作为反向代理和复杂均衡的角色,Nginx开放固定端口,并注册监听,等待App端的接入。Nginx负责端口转发,实际并不干预通信的内容。真正的连接接受者是后端JavaServer。为了能实现后台系统页面的灵活配置,系统中的部分页面采用MVC的框架实现。为了能实现多用户切换的需求,在客户端暂存部分客户的Session等当前工作的上下文信息。系统中的数据库服务器采用主从同步的架构方式来部署,主服务器为业务数据的主要操作数据库,备份服务器采用订阅主服务器binlog的方式,对外提供只读数据服务,主服务器和备份服务器之间采用双机热备模式运行,保证无中断对外提供数据库服务。在IT资讯推送系统的整体架构设计中,页面技术使用前后分离设计,服务端采用微服务架构,并参考领域驱动设计,将系统分为四层,分别是展现层、应用层、领域层、基础设施层(网关暂不体现)。系统体系架构如下图所示:系统整体架构如图4-1所示:图4-1系统体系架构图展现层后台基于传统的B/S架构实现,整个Web层采用MVC架构进行设计,Model层与具体的领域对象进行关联,同时将Model中的Property与界面的控件进行绑定,Action对应控件的事件,通过View将Model与Action进行有效的结合,完成整个窗体的完整布局,其中View采用模板引擎进行格式约定和渲染。终端部分和服务端通信部分,采用C/S架构,二者通过基于HTTP的WebSocket协议进行通信。业务逻辑层业务逻辑层主要体现在后端的Java应用服务,该服务完成了登录、权限、基础功能管理等功能。业务逻辑层处理具体业务。通过数据层的数据操作对象访问及操作业务数据,并向展现层返回其所需的数据结构。另外在业务逻辑层需要统一进行数据库的事务处理,包括正常结束后的提交以及发生异常时的回滚。数据层本系统的数据存储分为多个部分:一部分是基础数据,需要持久化,主要利用Mysql5.7作为存储介质;另一部分是用户特征数据,采用单独的ElasticSearch,用以构建用户特征的索引,并且提供索引的查询服务,来定位用户;还有一部分是缓存数据,基于Redis做了集中式的缓存,或者LocalCache做了本地内存,不需要持久化,用完释放。系统功能模块设计完成了系统整体的架构设计后,开始对系统的功能结构进行划分。功能结构主要和前面的需求分析对齐。IT资讯推送系统的主要功能包括人员管理子系统、权限管理子系统、爬虫管理子系统、推送管理子系统、统计管理子系统。以下单独介绍各个子系统的主要内容。系统功能模块结构一览如图4-2所示:图4-2IT资讯推送系统功能模块设计IT资讯推送系统为运营人员与管理层提供了一个IT资讯推送管理平台,能够对日常的推送运营事务和流程进行管理和监控、数据报表分析等。数据库设计E-R图设计以下是整体的数据ER图表。图4-3爬虫管理系统ER图数据库表设计经过对公司原有的旧版系统进行分析,并且对现有业务状况进行充分调研后,根据IT资讯推送系统的实际需求,对数据库表进行了详细设计。例举出了关键的字段名称、列名、数据类型、长度及特殊字段,并附上了详细说明。由于系统使用了较多的数据表,无法全部列举,因此抽取其中比较关键的数据表做示意,详见下方表格。表4-1爬虫种子表序号字段名称标识符数据类型是否为空备注1主键IDidbigint非空PK2备注descriptionchar(100)非空3标签tagvarchar(32)非空4网址urlvarchar(255)非空7更新时间gmt_modifiedtimestamp非空8创建时间gmt_createtimestamp非空9逻辑删除statustinyint非空0、未删除1、已删除表4-2爬虫模板表序号字段名称标识符数据类型是否为空备注1主键IDidbigint非空PK2名称namechar(255)非空3配置contentvarchar(255)非空可以是脚本或dom结构4创建时间gmt_createtimestamp非空5更新时间gmt_modifiedtimestamp非空6逻辑删除statustinyint非空0、未删除1、已删除表4-3爬虫任务表序号字段名称标识符数据类型是否为空备注1主键IDidbigint非空2名称namechar(255)非空3模板IDTemplate_idbigint非空4种子IDseed_idbigint非空6创建时间gmt_createtimestamp非空7更新时间gmt_modifiedtimestamp非空8逻辑删除statustinyint非空0、未删除1、已删除表4-4推送任务表序号字段名称标识符数据类型是否为空备注1主键IDidbigint非空PK2名称namechar(24)非空3内容IDarticle_idbigint非空4详细描述descriptionvarchar(64)空5用户特征条件profilechar(24)6创建者create_user_idbigint非空7任务状态statint空1、进行中2、完成3、失败8创建时间gmt_createtimestamp非空9更新时间gmt_modifiedtimestamp非空10逻辑删除statustinyint非空0、未删除1、已删除表4-5推送任务明细表序号字段名称标识符数据类型是否为空备注1主键IDidbigint非空PK2任务IDtask_idbigint非空3内容IDarticle_idbigint非空4设备IDdevice_idvarchar(64)空5用户特征条件profilechar(24)6创建者create_user_idbigint非空7任务状态statint空0、进行中1、推送成功2、打开完成3、失败8创建时间gmt_createtimestamp非空9更新时间gmt_modifiedtimestamp非空10逻辑删除statustinyint非空0、未删除1、已删除系统界面设计IT资讯推送系统界面设计如表4-6,该界面包含三部分,上部分是功能标题及用户,左侧为功能导航栏,包括爬虫管理、推送管理、统计管理、权限管理。右侧内容为信息显示区。表4-6IT资讯推送系统界面设计+爬虫管理当前位置:操作者+推送管理功能标题+统计管理信息显示+权限管理系统安全设计系统安全方案从以下几个方面进行规划:身份认证安全、数据库访问控制安全、数据安全、终端访问安全。(1)身份认证安全系统通过身份识别来验证用户身份,用户向系统发出请求,要进行身份证明,合法的身份是系统安全的最重要的部分。本系统的用户管理模块构建了用户信息表,密码可及时修改,还有在系统中的使用权限,只有通过账号和密码同时验证通过后才能登录系统。同时系统还为用户提供了修改密码的功能,当发现账号存在非法登录和使用的情况,可以及时修改密码,防止信息丢失。另外,使用了RBAC的访问控制设计,只有经过授权,才能查看系统的资源。(2)数据库访问控制安全IT资讯推送系统,对应用系统中的所有数据查询和修改操作都会进行访问控制,并对上层业务层提供RPC接口,内网转发和调用,不暴漏在公网中。对系统的关键数据进行访问的权限控制,不允许系统未授权的人员对数据库进行访问及操作。系统通过严格的权限判断来确定如何安全的访问相关数据。最终保证系统数据的完整性及有效性。(3)数据安全IT资讯推送系统采用多用户的模式,全部人员使用共同的数据库和表,所属数据通过独有的外键或隐含的外键来进行隔离,来确保用户间数据的隔离性,不会出现违规共享。以此来达到隔离级别较高的结果。(4)终端访问安全通过公网来访问推送系统,是存在安全隐患的。为此,App层在网络连接层面做了定制设计和开发,使用了自建的加密协议,保障数据的安全。除此之外,还需要加强敏感数据的安全管理,对于敏感数据比如密码等进行加密存储,以便保证数据在被黑客盗取后不能正常显示及读取,比如用户密码。对于重要的业务数据需要进行备份及异地存储,在出现突发情况时可以及时恢复数据,保证服务正常访问,以防止突发情况导致数据丢失,对系统及用户造成重大损失。对于网络安全方面,使用了云厂商的云管家类的软件,可以做到安全防护。后端应用不直接接受请求,可以针对SQL注入、XSS攻击、DDOS攻击等黑客常用攻击方式进行相应的网络安全对策,防止被黑客攻击后服务不能正常使用,或者被挂马等。关于数据库部分,进一步阐述如下:数据访问控制:培训管理系统通过对应用系统中的所有数据进行访问控制封装,只向系统用户提供封装后的数据读、写接口。同时,对关键数据采取访问权限限制,不允许被系统授权用户以外的任何人员访问。同样,授权用户可以不受阻止地访问与之相关且被授权的数据。系统通过严格的权限判断来确定用户如何安全地访问系统数据库中的相关数据。最终,保证数据的完整性、一致性和有效性。数据备份控制:培训管理系统提供业务数据导入导出功能,将数据库系统中物理存储逻辑关系复杂的系统数据可以从业务系统中进行有条件限制地选取抽出,使得系统用户与系统管理员能够根据业务逻辑需求来有选择性地只对所需要的那部分数据进行导出备份,并且可以很便捷地从业务逻辑上区分重要的和普通的数据。同样,也可以有选择性地针对将部分数据进行导入,而不是费时费力的整表数据导入。有选择性地数据导入导出功能将更有利于重要数据的安全备份管理。数据加密管理:对于重要的静态保存的业务数据须进行加密存储。对于敏感且涉密的业务数据必须采用更高安全等级的系统加密算法进行加密存储,以便保证涉密信息即便被非法窃取后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业软件公司政企项目对接岗位权责管理制度
- 2026电子政务网面试题及答案
- 2平面标高投影案例
- 考研政治(中国近代史纲要)模拟试卷195
- 医院心理科家庭治疗操作手册(标准版)
- 牙科诊所前台接待与预约流程手册
- 医药行业法规与质量管理手册
- 《市容市貌户外招牌设置手册》
- 造纸技术与管理规范手册
- 沙尘暴防治成效考核评估手册 (标准版)
- DL-T5054-2016火力发电厂汽水管道设计规范
- 2024年安徽省蚌埠市中考二模物理试卷
- 施工环境保护培训课件
- DB51∕T 3118-2023 职业健康检查质量控制规范
- 基于课程思政的英语教学策略探析 论文
- 2023年初中物理中考前“最后一课”课件
- 拟定商品标题 (电商文案创作)
- 安全教育培训班组级试题
- JJF 1200-2008声频功率放大器校准规范
- GB/T 34359-2017变形铝合金精密锻件通用技术条件
- 视易智能综盒控配置工具使用说明书
评论
0/150
提交评论