軟件系統(tǒng)概要設(shè)計(jì)說明書_第1頁(yè)
軟件系統(tǒng)概要設(shè)計(jì)說明書_第2頁(yè)
軟件系統(tǒng)概要設(shè)計(jì)說明書_第3頁(yè)
軟件系統(tǒng)概要設(shè)計(jì)說明書_第4頁(yè)
軟件系統(tǒng)概要設(shè)計(jì)說明書_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

系統(tǒng)概要設(shè)計(jì)說明書xxx智慧運(yùn)營(yíng)管理平臺(tái)作 者:創(chuàng)建日期:2022-10更新日期:版 本:1.0

文檔控制序號(hào)變更內(nèi)容責(zé)任人日期1初稿2022-06-02文檔分發(fā)目錄TOC\o"1-5"\h\z\o"CurrentDocument"引言 4\o"CurrentDocument"編寫目的 4\o"CurrentDocument"參考資料 4\o"CurrentDocument"系統(tǒng)總體設(shè)計(jì) 4\o"CurrentDocument"需求規(guī)定 4\o"CurrentDocument"系統(tǒng)總體架構(gòu) 5\o"CurrentDocument"系統(tǒng)架構(gòu)圖 5\o"CurrentDocument"系統(tǒng)開發(fā)技術(shù) 6\o"CurrentDocument"后端開發(fā)技術(shù) 6\o"CurrentDocument"前端開發(fā)技術(shù) 6\o"CurrentDocument"數(shù)據(jù)庫(kù)技術(shù) 7\o"CurrentDocument"接口設(shè)計(jì) 7\o"CurrentDocument"2.4.1、接口設(shè)計(jì)規(guī)范 7\o"CurrentDocument"2.4.2、接口安全設(shè)計(jì) 9\o"CurrentDocument"2.4.3、冪等性設(shè)計(jì) 9\o"CurrentDocument"數(shù)據(jù)庫(kù)設(shè)計(jì) 1..0\o"CurrentDocument"安全解決方案 1..0\o"CurrentDocument"部署方案 1..1\o"CurrentDocument"硬件規(guī)格與型號(hào)建議 1.1\o"CurrentDocument"軟件 1..1\o"CurrentDocument"服務(wù)器虛擬化 1.2\o"CurrentDocument"部署步驟 1.2\o"CurrentDocument"6.4.1數(shù)據(jù)庫(kù)部署 1.2\o"CurrentDocument"6.4.2應(yīng)用部署 1..3\o"CurrentDocument"構(gòu)建部署流程圖 1.3\o"CurrentDocument"6、API響應(yīng)碼 14引言編寫目的本概要設(shè)計(jì)說明書根據(jù)《智慧運(yùn)營(yíng)管理平臺(tái)需求規(guī)格說明書》編寫,描述了系統(tǒng)的總體概要設(shè)計(jì),為系統(tǒng)測(cè)試人員提供測(cè)試依據(jù)。本文檔的預(yù)期讀者為:項(xiàng)目經(jīng)理、系統(tǒng)分析員、測(cè)試經(jīng)理、項(xiàng)目組長(zhǎng)、系統(tǒng)開發(fā)人員。參考資料智慧運(yùn)營(yíng)管理平臺(tái)需求規(guī)格說明書》。系統(tǒng)總體設(shè)計(jì)需求規(guī)定本系統(tǒng)的主要的輸入輸出項(xiàng)目、處理的功能性能要求參照《智慧運(yùn)營(yíng)管理平臺(tái)需求規(guī)格說明書》。系統(tǒng)總體架構(gòu)系統(tǒng)架構(gòu)智慧運(yùn)營(yíng)管理平臺(tái)訪問層Hnp/Https網(wǎng)關(guān)API網(wǎng)關(guān)服務(wù)通信業(yè)勢(shì)月艮務(wù)模塊減排項(xiàng)目投融產(chǎn)品服務(wù)層MQRESTRPC機(jī)構(gòu)管理投融資帥速統(tǒng)一日志記錄統(tǒng)一權(quán)限管理服務(wù)治理資訊置湮圖2-系統(tǒng)架構(gòu)圖訪問層Hnp/Https網(wǎng)關(guān)API網(wǎng)關(guān)服務(wù)通信業(yè)勢(shì)月艮務(wù)模塊減排項(xiàng)目投融產(chǎn)品服務(wù)層MQRESTRPC機(jī)構(gòu)管理投融資帥速統(tǒng)一日志記錄統(tǒng)一權(quán)限管理服務(wù)治理資訊置湮圖2-系統(tǒng)架構(gòu)圖整個(gè)微服務(wù)架構(gòu)分為四層,分別為數(shù)據(jù)層、服務(wù)層、網(wǎng)關(guān)、訪問層。1、數(shù)據(jù)層主要包括數(shù)據(jù)庫(kù)、緩存、分布式文件存儲(chǔ),用于存儲(chǔ)系統(tǒng)中的所有的業(yè)務(wù)數(shù)據(jù)、附件、圖片、音頻、視頻等;2、服務(wù)層是整個(gè)微服務(wù)架構(gòu)的核心層,所有的業(yè)務(wù)邏輯都在這一層實(shí)現(xiàn),同時(shí)采用服務(wù)治理、統(tǒng)一配置、熔斷降級(jí)、消息隊(duì)列等技術(shù)對(duì)這些服務(wù)進(jìn)行統(tǒng)一管理;3、網(wǎng)關(guān)作為整個(gè)系統(tǒng)的唯一入口,所有外界對(duì)系統(tǒng)的訪問都必須經(jīng)過網(wǎng)關(guān),因此同時(shí)也提供身份鑒權(quán)、權(quán)限驗(yàn)證、負(fù)載均衡等功能;4、訪問層主要是各種客戶端,包括PC端、移動(dòng)端、各種物聯(lián)網(wǎng)設(shè)備等,通過http/https協(xié)議經(jīng)過網(wǎng)關(guān)實(shí)現(xiàn)對(duì)服務(wù)的調(diào)用。系統(tǒng)開發(fā)技術(shù)后端開發(fā)技術(shù)1、 開發(fā)語(yǔ)言:Java2、 開發(fā)平臺(tái):SprintCloudAlibaba3、 服務(wù)注冊(cè)與發(fā)現(xiàn):Nacos4、 服務(wù)網(wǎng)關(guān):Gateway5、 消息隊(duì)列:RabbitMQ6、 服務(wù)通訊:Http/gRPC7、 分布式追蹤與監(jiān)控:Skywalking8、 統(tǒng)一配置管理:Nacos9、 分布式日志系統(tǒng):ELK10、 服務(wù)認(rèn)證鑒權(quán):JWT前端開發(fā)技術(shù)前端主要是基于Vue進(jìn)行開發(fā),同時(shí)也涉及三方組件庫(kù),包括dvajs、Less、bizcharts、G6、L7、AntDesignUl等。數(shù)據(jù)庫(kù)技術(shù)1、 主數(shù)據(jù)庫(kù):MySQL;2、 中間數(shù)據(jù)庫(kù):SQLServer;3、 分布式緩存:Redis;4、 實(shí)時(shí)搜索與數(shù)據(jù)分析:Elasticsearch;5、 ORM技術(shù):MyBatis。接口設(shè)計(jì)2.4.1、接口設(shè)計(jì)規(guī)范由于本平臺(tái)采用微服務(wù)架構(gòu)模式進(jìn)行開發(fā),所有服務(wù)間的相互訪問都是采用APl接口實(shí)現(xiàn),嚴(yán)格遵守以下設(shè)計(jì)規(guī)范:1、路由命名規(guī)范動(dòng)作前綴例如獲取數(shù)據(jù)getgetUserList新增數(shù)據(jù)addaddUser修改數(shù)據(jù)updateupdateUser保存數(shù)據(jù)savesaveUser刪除數(shù)據(jù)deletedeleteUser上傳數(shù)據(jù)uploaduploadFile表1-路由命名規(guī)范列表

2、請(qǐng)求方式3、請(qǐng)求參數(shù)(1)Queryurl?后面的參數(shù),存放請(qǐng)求接口的參數(shù)數(shù)據(jù)。(2) Header請(qǐng)求頭,存放token、requestld、公共參數(shù)、加密字段等。(3) BodyBody體,存放請(qǐng)求接口的參數(shù)數(shù)據(jù)。4、Web端請(qǐng)求參數(shù)說明備注accessToken授權(quán)Key字符串表3-Web請(qǐng)求參數(shù)列表調(diào)用方需向服務(wù)方申請(qǐng)appld(應(yīng)用id),然后根據(jù)appld生成accessToken。5、返回參數(shù)參數(shù)類型說明備注codeInt響應(yīng)碼成功=0失敗=-1參數(shù)類型說明備注內(nèi)部錯(cuò)誤二2登錄失敗-1001無權(quán)限=1002messageString顯示信息接口響應(yīng)消息dataObject數(shù)據(jù)JSON格式表4-返回參數(shù)含義列表2.4.2、接口安全設(shè)計(jì)1、 接口身份驗(yàn)證采用Oauth2.0,只允許經(jīng)過授權(quán)的合法用戶調(diào)用系統(tǒng)接口。2、 敏感數(shù)據(jù)脫敏處理,對(duì)于敏感的部分?jǐn)?shù)據(jù)用*號(hào)代替;3、 對(duì)于敏感數(shù)據(jù),在傳輸過程中采用不可逆的加密算法對(duì)數(shù)據(jù)進(jìn)行加密,確保傳輸過程中數(shù)據(jù)安全;4、 支持Https協(xié)議進(jìn)行連接及數(shù)據(jù)傳輸,同時(shí)支持第三方CA證書;5、 支持加簽名方式,防止數(shù)據(jù)篡改??蛻舳耍赫?qǐng)求的數(shù)據(jù)分為兩部分:簽名參數(shù)和業(yè)務(wù)參數(shù),簽名參數(shù)二SHA256加鹽加密(業(yè)務(wù)參數(shù))。服務(wù)端:對(duì)SHA256加鹽加密(業(yè)務(wù)參數(shù))進(jìn)行驗(yàn)證,確認(rèn)是否與簽名參數(shù)相同。2.4.3、冪等性設(shè)計(jì)通常我們無法保證接口的每一次調(diào)用都是有返回結(jié)果的,要考慮到異常情況,例如出現(xiàn)網(wǎng)絡(luò)異常。為了避免出現(xiàn)這種情況,應(yīng)采用冪等性設(shè)計(jì),思路如下:(1)調(diào)用接口前,先獲取一個(gè)Token(全局唯一的令牌);⑵調(diào)用接口時(shí),將Token放到Header頭中;解析Header頭,驗(yàn)證是否為有效Token,如果無效則直接返回失?。煌瓿蓸I(yè)務(wù)邏輯后,將業(yè)務(wù)結(jié)果與Token進(jìn)行關(guān)聯(lián)存儲(chǔ),設(shè)置失效時(shí)間;重試時(shí)不要重新獲取Token,用要上次的Token仃oken必須設(shè)定有效時(shí)間,并設(shè)置默認(rèn)時(shí)間,例如20分鐘)。數(shù)據(jù)庫(kù)設(shè)計(jì)詳見《智慧運(yùn)營(yíng)管理平臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)說明書》。安全解決方案本項(xiàng)目運(yùn)行于客戶企業(yè)內(nèi)部環(huán)境,為有效應(yīng)對(duì)復(fù)雜網(wǎng)絡(luò)中存在的各類風(fēng)險(xiǎn),系統(tǒng)運(yùn)行過程中應(yīng)做好相關(guān)的安全工作:1、 邊界配置防火墻,保護(hù)內(nèi)部網(wǎng)絡(luò)遭受DDos,Web惡意攻擊等攻擊,同時(shí)具有漏洞掃描能力、入侵檢測(cè)功能,保障內(nèi)部服務(wù)器與用戶的接入安全;2、 隔離本系統(tǒng)網(wǎng)絡(luò)與外部網(wǎng)絡(luò)環(huán)境,只開放相關(guān)業(yè)務(wù)需要的網(wǎng)絡(luò)環(huán)境的通訊,并可自主規(guī)劃網(wǎng)絡(luò)內(nèi)的業(yè)務(wù)網(wǎng)段;3、 支持使用SSL證書服務(wù)(要求Web訪問使用域名或公網(wǎng)IP,私有IP無法使用SSL證書服務(wù)),為HTTP網(wǎng)站提供轉(zhuǎn)向HTTPS,加密應(yīng)用層數(shù)據(jù),保護(hù)數(shù)據(jù)安全;3、 使用數(shù)據(jù)庫(kù)審計(jì)功能,記錄數(shù)據(jù)庫(kù)操作記錄,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的審計(jì);4、 使用堡壘機(jī)管理運(yùn)維服務(wù)器,限制用戶只能通過堡壘機(jī)操作服務(wù)器,實(shí)現(xiàn)服務(wù)器的操作維護(hù)審計(jì)和賬號(hào)權(quán)限管理;5、 做好服務(wù)器以及用戶口令管理,禁止使用簡(jiǎn)單口令,弱口令等,并定期更新口令;6、 服務(wù)器可視情況關(guān)閉非必要的接口的訪問功能。5部署方案平臺(tái)的整個(gè)研發(fā)是基于DevOps體系,實(shí)現(xiàn)了自動(dòng)化構(gòu)建,從而提高了運(yùn)維部署效率。本項(xiàng)目采用微服務(wù)架構(gòu),使用Docker軟件將微服務(wù)進(jìn)行容器化安裝部署。硬件規(guī)格與型號(hào)建議硬件列表功能建議規(guī)格配置理由備注服務(wù)器*3作為虛擬化宿主機(jī),分配虛擬化應(yīng)用服務(wù)器以及數(shù)據(jù)庫(kù)服務(wù)器DellR740硬盤*2:T(RAID5)內(nèi)存:64GCPU:英特爾?至強(qiáng)?銀牌4210R2.4G, 10C/20T,9.6GT/S, 13.75M緩存,Turbo,HT(100W) DDR4-2400服務(wù)器總資源為4T硬盤,64G內(nèi)存,以及10核CPU,作為虛擬化服務(wù)器的底層資源池每臺(tái)服務(wù)器虛擬化應(yīng)用及數(shù)據(jù)庫(kù)服務(wù)器各1臺(tái),總計(jì)虛擬化服務(wù)器:應(yīng)用服務(wù)器*3數(shù)據(jù)庫(kù)服務(wù)器*3,只考慮部署平臺(tái)所需環(huán)境路由器作為網(wǎng)絡(luò)邊界路由器連接互聯(lián)網(wǎng)H3CER3260G3千兆企業(yè)級(jí)路由器只考慮部署系統(tǒng)所需環(huán)境交換機(jī)作為服務(wù)器接入網(wǎng)絡(luò)的直接設(shè)備H3C S5120V2-28P-SI支持VLAN劃分,隔離其他無關(guān)網(wǎng)絡(luò)只考慮部署系統(tǒng)所需環(huán)境防火墻防護(hù)內(nèi)外網(wǎng)安全風(fēng)險(xiǎn)具有傳統(tǒng)防火墻,VPN,入侵防御,Web防護(hù),防病毒,數(shù)據(jù)防泄露等功能只考慮部署系統(tǒng)所需環(huán)境表5-硬件與型號(hào)建議列表軟件軟件列表版本概述運(yùn)行方式功能MySQL8.0數(shù)據(jù)庫(kù)主機(jī)服務(wù)運(yùn)行平臺(tái)所需中間件Redis6.0分布式緩存容器化運(yùn)行平臺(tái)所需中間件RabbitMQ3.8.5消息隊(duì)列容器化運(yùn)行平臺(tái)所需中間件Docker19.03.5容器化工具主機(jī)服務(wù)運(yùn)行運(yùn)行微服務(wù)所需工具Docker-Swarm1.26.2容器編排工具二進(jìn)制運(yùn)行程序運(yùn)行微服務(wù)所需工具Python3.9.2腳本運(yùn)行語(yǔ)言二進(jìn)制運(yùn)行程序用于運(yùn)行數(shù)據(jù)庫(kù)自動(dòng)備份腳本Nacos2.0.1微服務(wù)中間件容器化運(yùn)行微服務(wù)注冊(cè)中心與配置中心Elasticsearch7.9日志中/心容器化運(yùn)行微服務(wù)日志中心Logstash7.9日志采集工具容器化運(yùn)行采集微服務(wù)日志,并發(fā)送到日志中/心Kibana7.11日志展示工具容器化運(yùn)行可視化展示系統(tǒng)日志表6-系統(tǒng)部署所需軟件清單服務(wù)器虛擬化虛擬化服務(wù)器系統(tǒng)數(shù)量CPU內(nèi)存硬盤備注應(yīng)用服務(wù)器Centos7.935核48G2T承載運(yùn)行平臺(tái)應(yīng)用,3臺(tái)組成集群數(shù)據(jù)庫(kù)服務(wù)器Centos7.935核48G2T運(yùn)行MySQL數(shù)據(jù)庫(kù),3臺(tái)組成集群表7-虛擬化服務(wù)器列表部署步驟6.4.1數(shù)據(jù)庫(kù)部1、 部署相關(guān)信息包括服務(wù)器IP,服務(wù)器數(shù)量,現(xiàn)場(chǎng)網(wǎng)絡(luò)環(huán)境拓?fù)?,?shù)據(jù)庫(kù)用戶與密碼設(shè)計(jì),數(shù)據(jù)庫(kù)備份策略等信息收集確認(rèn);2、 通過收集回來的信息,提前編寫部署腳本用于實(shí)際部署;3、 腳本安裝Python3.9;4、 腳本安裝數(shù)據(jù)庫(kù)MySQL8.0,配置賬號(hào)初始權(quán)限與訪問限制,并生成定時(shí)任務(wù)自動(dòng)備份數(shù)據(jù)庫(kù);5、 檢查數(shù)據(jù)庫(kù)狀態(tài),確保數(shù)據(jù)庫(kù)運(yùn)行正常。

6.4.2應(yīng)用部1、 部署相關(guān)信息包括服務(wù)器IP,服務(wù)器數(shù)量,現(xiàn)場(chǎng)網(wǎng)絡(luò)環(huán)境拓?fù)?,各系統(tǒng)所使用密碼確認(rèn)等信息收集確認(rèn);2、 收集完成這些信息后,準(zhǔn)備部署腳本,實(shí)際部署時(shí)直接運(yùn)行部署腳本;3、 登錄服務(wù)器,查看基礎(chǔ)信息,使用腳本實(shí)現(xiàn)服務(wù)器的初始化配置;4、 使用腳本安裝平臺(tái)基礎(chǔ)工具組件,包括Docker、Docker-Swarm等;5、 使用已編排完畢的文件運(yùn)行平臺(tái)所需中間件,包括Nacos、Redis、Elasticsearch,Logstash等;6、 上傳或編寫配置到統(tǒng)一配置中心Nacos,以支持平臺(tái)服務(wù)運(yùn)行;7、 使用已編排完畢的文件運(yùn)行平臺(tái)服務(wù),啟動(dòng)平臺(tái)所有微服務(wù);8、 檢查平臺(tái)各服務(wù)運(yùn)行狀態(tài),確保系統(tǒng)正常運(yùn)行。構(gòu)建部署流程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論