《软件系统概要设计说明书.docx》由会员分享,可在线阅读,更多相关《软件系统概要设计说明书.docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、系统概要设计说明书XXX智慧运营管理平台作 者:创立日期:2022-10更新日期: 版 本:1.0参数类型说明备注无权限=1002messageString显示信息接口响应消息dataObject数据JSON格式表4-返回参数含义列表242、接口安全设计1、身份验证,采用0auth2O只允许经过授权的合法用户调用系统接口。2、敏感数据脱敏处理,局部数据加*号处理;3、对于敏感数据,在传输过程中采用不可逆的加密算法对数据进行加密,确保 数据安全;4、支持 s协议进行连接及数据传输,同时支持第三方CA证书;5、支持加签名方式,防止数据篡改。客户端:请求的数据分为两局部(业务参数,签名参数),签名参
2、数二SHA256加盐加密(业务参数)。服务端:验证SHA256加盐加密(业务参数)后是否与签名参数相同。243、帚等性设计通常我们无法保证接口的每一次调用都是有返回结果的,要考虑到出现网络异常等情况。为了防止出现这种情况,设计思路如下:(1)调用接口前,先获取一个全局唯一的令牌(Token);(2)调用接口时,将Token放到Header头中;(3)解析Header头,验证是否为有效Token,无效直接返回失败;(4)完成业务逻辑后,将业务结果与Token进行关联存储,设置失效时间;(5)重试时不要重新获取Token,用要上次的Token (Token必须设定有效时 间,默认为20分钟)。3数
3、据库设计详见智慧运营管理平台数据库设计说明书。4安全解决方案本工程运行于客户企业内部环境,为有效应对复杂网络中存在的各类风险,系 统运行过程中应做好相关的安全工作:1、边界配置防火墙,保护内部网络遭受DDos, Web恶意攻击等攻击,同时具 有漏洞扫描能力、入侵检测功能,保障内部服务器与用户的接入安全;2、隔离本系统网络与外部网络环境,只开放相关业务需要的网络环境的通讯, 并可自主规划网络内的业务网段;3、支持使用SSL证书服务(要求Web访问使用域名或公网IP,私有IP无法使 用SSL证书服务),为 网站提供转向 S,加密应用层数据,保护数据 安全;3、使用数据库审计功能,记录数据库操作记录
4、,实现对数据库的审计;4、使用堡垒机管理运维服务器,限制用户只能通过堡垒机操作服务器,实现服务器的操作维护审计和账号权限管理;5、做好服务器以及用户口令管理,禁止使用简单口令,弱口令等,并定期更新 口令;6、服务器可视情况关闭非必要的接口的访问功能。5部署方案平台的整个研发是基于DevOps体系,实现了自动化构建,从而提高了运维部署效率。本工程采用微服务架构,使用Docker软件将微服务进行容器化安装部署。6.1硬件规格与型号建议表5-硬件与型号建议列表硬件列表功能建议规格配置理由备注服务器*3作为虚拟化宿主机, 分配虚拟化应用服 务器以及数据库服 务器Dell R740 硬盘*2 :2T(R
5、AID5) 内存:64GCPU :英特尔至 强银牌4210R 2.4G,10C/20T,9.6GT/S,13.75M缓存,Turbo, HT (100W) DDR4- 2400服务器总资源为4T 硬盘,64G内存,以 及10核CPU,作为 虚拟化服务器的底 层资源池每台服务器虚拟化 应用及数据库服务 器各1台,总计虚 拟化服务器: 应用服务器*3 数据库服务器*3, 只考虑部署平台所 需环境路由器作为网络边界路由 器连接互联网H3C ER3260G3千兆企业级路由器只考虑部署系统所 需环境交换机作为服务器接入网 络的直接设备H3C S5120V2-28P-SI支持VLAN划分, 隔离其他无关网
6、络只考虑部署系统所 需环境防火墙防护内外网安全风 险具有传统防火墙, VPN,入侵防御, Web防护,防病毒, 数据防泄露等功能只考虑部署系统所 需环境6.2软件软件列表版本概述运行方式功能MySQL8.0数据库主机服务运行平台所需中间件Redis6.0分布式缓存容器化运行平台所需中间件RabbitMQ消息队列容器化运行平台所需中间件Docker容器化工具主机服务运行运行微服务所需工具Docker-Swarm容器编排工具二进制运行程序运行微服务所需工具Python脚本运行语言二进制运行程序用于运行数据库自动备份脚 本Nacos微服务中间件容器化运行微服务注册中心与配置中心Elasticsear
7、ch7.9日志中容器化运行微服务日志中心Logstash7.9日志采集工具容器化运行采集微服务日志,并发送到 日志中心Kibana7.11日志展示工具容器化运行可视化展示系统日志表6-系统部署所需软件清单6.3服务器虚拟化表7 -虚拟化服务器列表虚拟化服务器系统数量CPU内存硬盘备注应用服务器Centos7.935核48G2T承载运行平台应用,3台组成集群数据库服务器Centos7.935核48G2T运行MySQL数据库,3台组成集群6.4部署步骤数据库部署1、部署相关信息包括服务器R服务器数量,现场网络环境拓扑,数据库用户与密码设计,数据库备份策略等信息收集确认;2、通过收集回来的信息,提前
8、编写部署脚本用于实际部署;3、脚本安装Python3.9 ;4、脚本安装数据库MySQL8O配置账号初始权限与访问限制,并生成定时任务自动备份数据库;5、检查数据库状态,确保数据库运行正常。应用部署1、部署相关信息包括服务器IP,服务器数量,现场网络环境拓扑,各系统所使用密码确认等信息收集确认;2、收集完成这些信息后,准备部署脚本,实际部署时直接运行部署脚本;3、登录服务器,查看基础信息,使用脚本实现服务器的初始化配置;4、使用脚本安装平台基础工具组件,包括Docker、Docker-Swarm等;5、使用已编排完毕的文件运行平台所需中间件,包括Nacos、Redis、日asticsearch
9、, Logstash 等;6、上传或编写配置到统一配置中心Nacos,以支持平台服务运行;7、使用已编排完毕的文件运行平台服务,启动平台所有微服务;8、检查平台各服务运行状态,确保系统正常运行。6.5构建部署流程图GitRepositoryGitRepositoryDeployKubernetes、GitLabWindowsZABBIXdockervmwareESXiWkubernetes图7 -构建部署流程图6、API响应码含义序号响应码表8 - API响应码10操作成功2-1调用服务失败32内部错误43警告信息51001登录失败61002没有权限71003要求重新登录81004机构帐号已禁
10、用91005个人帐号已禁用101006设备安全码错误112001数据已经存在122002无效的数据132003数据不存在142004数据不允许删除152005数据为空162006数据验证失败173001token校验失败183002token已过期193003token已失效文档控制序号变更内容责任人日期1初稿2022-06-02文档分发序号序号接收人员角色邮件地址1引言41.1 编写目的41.2 参考资料42系统总体设计42.1 需求规定42.2 系统总体架构4微服务架构优势52.2.1 系统架构设计62.3 系统开发技术7后端开发技术72.3.3 前端开发技术7数据库技术82.4 接口设计
11、8241、接口设计规范8242、接口安全设计102.4.3 募等性设计103数据库设计114安全解决方案115部署方案126.1 硬件规格与型号建议126.2 软件126.3 服务器虚拟化136.4 部署步骤13数据库部署136.4.1 应用部署146.5 构建部署流程图146、API响应码141引言编写目的本概要设计说明书根据智慧运营管理平台需求规格说明书编写,描述了系统 的总体概要设计,为系统测试人员提供测试依据。本文档的预期读者为:工程经理、系统分析员、测试经理、工程组长、系统开发 人员。1.1 参考资料智慧运营管理平台需求规格说明书。2系统总体设计需求规定本系统的主要的输入输出工程、处
12、理的功能性能要求参照智慧运营管理平台需 求规格说明书。2.1 系统总体架构本系统采用了微服务架构模式进行设计,是目前最主流的架构模式。“微服务架 构风格是一种将单个应用程序开发为一组小型服务的方法,每个小服务运行在自 己的进程中,并且以轻量级机制(通常是 REST API)通信。这些服务是围 绕业务能力建立的,并且可以由完全自动化的部署机构独立部署。这些服务的集中管理只有最低限度,可以用不同的编程语言编写并使用不同的数据存储技术。”微服务架构优势1、每个微服务都是一个独立应用,能够独立部署。不再像以前一样,需要一个 庞大的应用服务器来支撑;2、在开发过程中,可以由一个小团队负责,更专注、更专业
13、、更高效可靠;3、每个服务都可以为其选择最正确的技术栈(无需将整个应用程序绑定在一个框 架中);4、微服务之间是松耦合的,而内部是高内聚的,每个微服务可以根据业务需求 进行扩展;5、微服务架构与语言工具、平台无关,可自由选择合适的语言和工具,高效的 完成业务目标,实现跨平台、跨语言、跨数据库;6、每个服务都有自己的DevOps计划(测试、发布、部署、扩展、集成和独立 维护)。图1-微服务架构模式2.1.1 系统架构设计智慧运营管理平台智慧运营管理平台访问层访问层网关API网关 / s服务层业务服务模块统一日志记录 统一权限管理分布式文件分布式缓存【据库数据层文件 服务MySQL部署ASMIst
14、ioCCESWR图2-系统架构图整个微服务架构分为四层,分别为数据层、服务层、网关、访问层。1、数据层主要包括数据库、缓存、分布式文件存储,用于存储系统中的所有的业务数据、附件、图片、音频、视频等;2、服务层是整个微服务架构的核心层,所有的业务逻辑都在这一层实现,同时采 用服务治理、统一配置、熔断降级、消息队列等技术对这些服务进行统一管理;3、网关作为整个系统的唯一入口,所有外界对系统的访问都必须经过网关,因此 同时也提供身份鉴权、权限验证、负载均衡等功能;4、访问层主要是各种客户端,包括PC端、移动端、各种物联网设备等,通过 / s协议经过网关实现对服务的调用。2.2 系统开发技术后端开发技
15、术1、开发语言:Java2、开发平台:Sprint Cloud Alibaba3、服务注册与发现:Nacos4、服务网关:Gateway5、消息队列:RabbitMQ6、服务通讯: /gRPC7、分布式追踪与监控:Skywalking8、统一配置管理:Nacos9、分布式日志系统:ELK10、服务认证鉴权:JWT2.3.3 前端开发技术前端主要是基于Vue进行开发,同时也涉及三方组件库,包括dvajs、Less、 bizchartss G6、L7、Ant Design UI 等。2.3.4 数据库技术1、主数据库:MySQL ;2、中间数据库:SQL Server ;3、分布式缓存:Redis
16、 ;4、实时搜索与数据分析:Elasticsearch ;5、ORM 技术:MyBatiSo2.4 接口设计S接口设计规范由于本平台采用微服务架构模式进行开发,所有服务间的相互访问都是采用API接口实现,严格遵守以下设计规范:1、路由命名规范2、请求方式动作前缀备注获取getgetxxx获取getgetxxxList新增addaddxxx修改updateupdatexxx保存savesavexxx删除deletedeletexxx上传uploaduploadxxx发送sendsendxxx表1-路由命名规范列表表2-请求方式列表请求方式描述GET获取数据POSTPUT新增数据更新数据DELETE删除数据3、请求参数(1) Queryurl?后面的参数,存放请求接口的参数数据。(2) Header请求头,存放公共参数、requestld、token、加密字段等。(3) BodyBody体,存放请求接口的参数数据。4、Web端请求参数说明备注accessToken 授权 Key字符串表3-Web请求参数列表调用方需向服务方申请appld,然后根据appld生成accessTokeno5、返回参数参数类型说明备注codeInt响应码成功二0失败二-1 内部错误二2 登录失败二1001