软件系统概要设计说明书_第1页
软件系统概要设计说明书_第2页
软件系统概要设计说明书_第3页
软件系统概要设计说明书_第4页
软件系统概要设计说明书_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

14/14系统概要设计说明书xxx智慧运营管理平台作者:创建日期:2022-10更新日期:版本:1.0文档控制序号变更内容责任人日期1初稿2022-06-02文档分发序号接收人员角色邮件地址目录1引言 41.1编写目的 41.2参考资料 42系统总体设计 42.1需求规定 42.2系统总体架构 52.2.1系统架构图 52.3系统开发技术 62.3.1后端开发技术 62.3.3前端开发技术 62.3.4数据库技术 72.4接口设计 72.4.1、接口设计规范 72.4.2、接口安全设计 92.4.3、幂等性设计 93数据库设计 104安全解决方案 105部署方案 116.1硬件规格与型号建议 116.2软件 116.3服务器虚拟化 126.4部署步骤 126.4.1数据库部署 126.4.2应用部署 136.5构建部署流程图 136、API响应码 141引言1.1编写目的本概要设计说明书根据《智慧运营管理平台需求规格说明书》编写,描述了系统的总体概要设计,为系统测试人员提供测试依据。本文档的预期读者为:项目经理、系统分析员、测试经理、项目组长、系统开发人员。1.2参考资料《智慧运营管理平台需求规格说明书》。2系统总体设计2.1需求规定本系统的主要的输入输出项目、处理的功能性能要求参照《智慧运营管理平台需求规格说明书》。2.2系统总体架构2.2.1系统架构图图2–系统架构图整个微服务架构分为四层,分别为数据层、服务层、网关、访问层。1、数据层主要包括数据库、缓存、分布式文件存储,用于存储系统中的所有的业务数据、附件、图片、音频、视频等;2、服务层是整个微服务架构的核心层,所有的业务逻辑都在这一层实现,同时采用服务治理、统一配置、熔断降级、消息队列等技术对这些服务进行统一管理;3、网关作为整个系统的唯一入口,所有外界对系统的访问都必须经过网关,因此同时也提供身份鉴权、权限验证、负载均衡等功能;4、访问层主要是各种客户端,包括PC端、移动端、各种物联网设备等,通过http/https协议经过网关实现对服务的调用。2.3系统开发技术2.3.1后端开发技术1、开发语言:Java2、开发平台:SprintCloudAlibaba3、服务注册与发现:Nacos4、服务网关:Gateway5、消息队列:RabbitMQ6、服务通讯:Http/gRPC7、分布式追踪与监控:Skywalking8、统一配置管理:Nacos9、分布式日志系统:ELK10、服务认证鉴权:JWT2.3.3前端开发技术前端主要是基于Vue进行开发,同时也涉及三方组件库,包括dvajs、Less、bizcharts、G6、L7、AntDesignUI等。2.3.4数据库技术1、主数据库:MySQL;2、中间数据库:SQLServer;3、分布式缓存:Redis;4、实时搜索与数据分析:Elasticsearch;5、ORM技术:MyBatis。2.4接口设计2.4.1、接口设计规范由于本平台采用微服务架构模式进行开发,所有服务间的相互访问都是采用API接口实现,严格遵守以下设计规范:1、路由命名规范动作前缀例如获取数据getgetUserList新增数据addaddUser修改数据updateupdateUser保存数据savesaveUser删除数据deletedeleteUser上传数据uploaduploadFile表1–路由命名规范列表2、请求方式请求方式描述GET获取数据POST新增数据PUT更新数据DELETE删除数据表2–请求方式列表3、请求参数(1)Queryurl?后面的参数,存放请求接口的参数数据。(2)Header请求头,存放token、requestId、公共参数、加密字段等。(3)BodyBody体,存放请求接口的参数数据。4、Web端请求参数说明备注accessToken授权Key字符串表3–Web请求参数列表调用方需向服务方申请appId(应用id),然后根据appId生成accessToken。5、返回参数参数类型说明备注codeInt响应码成功=0

失败=-1内部错误=2

登录失败=1001

无权限=1002messageString显示信息接口响应消息dataObject数据JSON格式表4–返回参数含义列表2.4.2、接口安全设计1、接口身份验证采用Oauth2.0,只允许经过授权的合法用户调用系统接口。2、敏感数据脱敏处理,对于敏感的部分数据用*号代替;3、对于敏感数据,在传输过程中采用不可逆的加密算法对数据进行加密,确保传输过程中数据安全;4、支持Https协议进行连接及数据传输,同时支持第三方CA证书;5、支持加签名方式,防止数据篡改。客户端:请求的数据分为两部分:签名参数和业务参数,签名参数=SHA256加盐加密(业务参数)。服务端:对SHA256加盐加密(业务参数)进行验证,确认是否与签名参数相同。2.4.3、幂等性设计通常我们无法保证接口的每一次调用都是有返回结果的,要考虑到异常情况,例如出现网络异常。为了避免出现这种情况,应采用幂等性设计,思路如下:(1)调用接口前,先获取一个Token(全局唯一的令牌);(2)调用接口时,将Token放到Header头中;(3)解析Header头,验证是否为有效Token,如果无效则直接返回失败;(4)完成业务逻辑后,将业务结果与Token进行关联存储,设置失效时间;(5)重试时不要重新获取Token,用要上次的Token(Token必须设定有效时间,并设置默认时间,例如20分钟)。3数据库设计详见《智慧运营管理平台数据库设计说明书》。4安全解决方案本项目运行于客户企业内部环境,为有效应对复杂网络中存在的各类风险,系统运行过程中应做好相关的安全工作:1、边界配置防火墙,保护内部网络遭受DDos,Web恶意攻击等攻击,同时具有漏洞扫描能力、入侵检测功能,保障内部服务器与用户的接入安全;2、隔离本系统网络与外部网络环境,只开放相关业务需要的网络环境的通讯,并可自主规划网络内的业务网段;3、支持使用SSL证书服务(要求Web访问使用域名或公网IP,私有IP无法使用SSL证书服务),为HTTP网站提供转向HTTPS,加密应用层数据,保护数据安全;3、使用数据库审计功能,记录数据库操作记录,实现对数据库的审计;4、使用堡垒机管理运维服务器,限制用户只能通过堡垒机操作服务器,实现服务器的操作维护审计和账号权限管理;5、做好服务器以及用户口令管理,禁止使用简单口令,弱口令等,并定期更新口令;6、服务器可视情况关闭非必要的接口的访问功能。5部署方案平台的整个研发是基于DevOps体系,实现了自动化构建,从而提高了运维部署效率。本项目采用微服务架构,使用Docker软件将微服务进行容器化安装部署。6.1硬件规格与型号建议硬件列表功能建议规格配置理由备注服务器*3作为虚拟化宿主机,分配虚拟化应用服务器以及数据库服务器DellR740硬盘*2:2T(RAID5)内存:64GCPU:英特尔®至强®银牌4210R2.4G,10C/20T,9.6GT/s,13.75M缓存,Turbo,HT(100W)DDR4-2400服务器总资源为4T硬盘,64G内存,以及10核CPU,作为虚拟化服务器的底层资源池每台服务器虚拟化应用及数据库服务器各1台,总计虚拟化服务器:应用服务器*3数据库服务器*3,只考虑部署平台所需环境路由器作为网络边界路由器连接互联网H3CER3260G3千兆企业级路由器只考虑部署系统所需环境交换机作为服务器接入网络的直接设备H3CS5120V2-28P-SI支持VLAN划分,隔离其他无关网络只考虑部署系统所需环境防火墙防护内外网安全风险具有传统防火墙,VPN,入侵防御,Web防护,防病毒,数据防泄露等功能只考虑部署系统所需环境表5–硬件与型号建议列表6.2软件软件列表版本概述运行方式功能MySQL8.0数据库主机服务运行平台所需中间件Redis6.0分布式缓存容器化运行平台所需中间件RabbitMQ3.8.5消息队列容器化运行平台所需中间件Docker19.03.5容器化工具主机服务运行运行微服务所需工具Docker-Swarm

1.26.2容器编排工具二进制运行程序运行微服务所需工具Python3.9.2脚本运行语言二进制运行程序用于运行数据库自动备份脚本Nacos2.0.1微服务中间件容器化运行微服务注册中心与配置中心Elasticsearch7.9日志中心容器化运行微服务日志中心Logstash7.9日志采集工具容器化运行采集微服务日志,并发送到日志中心Kibana7.11日志展示工具容器化运行可视化展示系统日志表6–系统部署所需软件清单6.3服务器虚拟化虚拟化服务器系统数量CPU内存硬盘备注应用服务器Centos7.935核48G2T承载运行平台应用,3台组成集群数据库服务器Centos7.935核48G2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论