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

下載本文檔

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

文檔簡(jiǎn)介

14/14系統(tǒng)概要設(shè)計(jì)說(shuō)明書(shū)xxx智慧運(yùn)營(yíng)管理平臺(tái)作者:創(chuàng)建日期:2022-10更新日期:版本:1.0文檔控制序號(hào)變更內(nèi)容責(zé)任人日期1初稿2022-06-02文檔分發(fā)序號(hào)接收人員角色郵件地址目錄1引言 41.1編寫(xiě)目的 41.2參考資料 42系統(tǒng)總體設(shè)計(jì) 42.1需求規(guī)定 42.2系統(tǒng)總體架構(gòu) 52.2.1系統(tǒng)架構(gòu)圖 52.3系統(tǒng)開(kāi)發(fā)技術(shù) 62.3.1后端開(kāi)發(fā)技術(shù) 62.3.3前端開(kāi)發(fā)技術(shù) 62.3.4數(shù)據(jù)庫(kù)技術(shù) 72.4接口設(shè)計(jì) 72.4.1、接口設(shè)計(jì)規(guī)范 72.4.2、接口安全設(shè)計(jì) 92.4.3、冪等性設(shè)計(jì) 93數(shù)據(jù)庫(kù)設(shè)計(jì) 104安全解決方案 105部署方案 116.1硬件規(guī)格與型號(hào)建議 116.2軟件 116.3服務(wù)器虛擬化 126.4部署步驟 126.4.1數(shù)據(jù)庫(kù)部署 126.4.2應(yīng)用部署 136.5構(gòu)建部署流程圖 136、API響應(yīng)碼 141引言1.1編寫(xiě)目的本概要設(shè)計(jì)說(shuō)明書(shū)根據(jù)《智慧運(yùn)營(yíng)管理平臺(tái)需求規(guī)格說(shuō)明書(shū)》編寫(xiě),描述了系統(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)開(kāi)發(fā)人員。1.2參考資料《智慧運(yùn)營(yíng)管理平臺(tái)需求規(guī)格說(shuō)明書(shū)》。2系統(tǒng)總體設(shè)計(jì)2.1需求規(guī)定本系統(tǒng)的主要的輸入輸出項(xiàng)目、處理的功能性能要求參照《智慧運(yùn)營(yíng)管理平臺(tái)需求規(guī)格說(shuō)明書(shū)》。2.2系統(tǒng)總體架構(gòu)2.2.1系統(tǒng)架構(gòu)圖圖2–系統(tǒng)架構(gòu)圖整個(gè)微服務(wù)架構(gòu)分為四層,分別為數(shù)據(jù)層、服務(wù)層、網(wǎng)關(guān)、訪問(wè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)的訪問(wèn)都必須經(jīng)過(guò)網(wǎng)關(guān),因此同時(shí)也提供身份鑒權(quán)、權(quán)限驗(yàn)證、負(fù)載均衡等功能;4、訪問(wèn)層主要是各種客戶(hù)端,包括PC端、移動(dòng)端、各種物聯(lián)網(wǎng)設(shè)備等,通過(guò)http/https協(xié)議經(jīng)過(guò)網(wǎng)關(guān)實(shí)現(xiàn)對(duì)服務(wù)的調(diào)用。2.3系統(tǒng)開(kāi)發(fā)技術(shù)2.3.1后端開(kāi)發(fā)技術(shù)1、開(kāi)發(fā)語(yǔ)言:Java2、開(kāi)發(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):JWT2.3.3前端開(kāi)發(fā)技術(shù)前端主要是基于Vue進(jìn)行開(kāi)發(fā),同時(shí)也涉及三方組件庫(kù),包括dvajs、Less、bizcharts、G6、L7、AntDesignUI等。2.3.4數(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。2.4接口設(shè)計(jì)2.4.1、接口設(shè)計(jì)規(guī)范由于本平臺(tái)采用微服務(wù)架構(gòu)模式進(jìn)行開(kāi)發(fā),所有服務(wù)間的相互訪問(wèn)都是采用API接口實(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)求方式請(qǐng)求方式描述GET獲取數(shù)據(jù)POST新增數(shù)據(jù)PUT更新數(shù)據(jù)DELETE刪除數(shù)據(jù)表2–請(qǐng)求方式列表3、請(qǐng)求參數(shù)(1)Queryurl?后面的參數(shù),存放請(qǐng)求接口的參數(shù)數(shù)據(jù)。(2)Header請(qǐng)求頭,存放token、requestId、公共參數(shù)、加密字段等。(3)BodyBody體,存放請(qǐng)求接口的參數(shù)數(shù)據(jù)。4、Web端請(qǐng)求參數(shù)說(shuō)明備注accessToken授權(quán)Key字符串表3–Web請(qǐng)求參數(shù)列表調(diào)用方需向服務(wù)方申請(qǐng)appId(應(yīng)用id),然后根據(jù)appId生成accessToken。5、返回參數(shù)參數(shù)類(lèi)型說(shuō)明備注codeInt響應(yīng)碼成功=0

失敗=-1內(nèi)部錯(cuò)誤=2

登錄失敗=1001

無(wú)權(quán)限=1002messageString顯示信息接口響應(yīng)消息dataObject數(shù)據(jù)JSON格式表4–返回參數(shù)含義列表2.4.2、接口安全設(shè)計(jì)1、接口身份驗(yàn)證采用Oauth2.0,只允許經(jīng)過(guò)授權(quán)的合法用戶(hù)調(diào)用系統(tǒng)接口。2、敏感數(shù)據(jù)脫敏處理,對(duì)于敏感的部分?jǐn)?shù)據(jù)用*號(hào)代替;3、對(duì)于敏感數(shù)據(jù),在傳輸過(guò)程中采用不可逆的加密算法對(duì)數(shù)據(jù)進(jìn)行加密,確保傳輸過(guò)程中數(shù)據(jù)安全;4、支持Https協(xié)議進(jìn)行連接及數(shù)據(jù)傳輸,同時(shí)支持第三方CA證書(shū);5、支持加簽名方式,防止數(shù)據(jù)篡改??蛻?hù)端:請(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ì)通常我們無(wú)法保證接口的每一次調(diào)用都是有返回結(jié)果的,要考慮到異常情況,例如出現(xiàn)網(wǎng)絡(luò)異常。為了避免出現(xiàn)這種情況,應(yīng)采用冪等性設(shè)計(jì),思路如下:(1)調(diào)用接口前,先獲取一個(gè)Token(全局唯一的令牌);(2)調(diào)用接口時(shí),將Token放到Header頭中;(3)解析Header頭,驗(yàn)證是否為有效Token,如果無(wú)效則直接返回失敗;(4)完成業(yè)務(wù)邏輯后,將業(yè)務(wù)結(jié)果與Token進(jìn)行關(guān)聯(lián)存儲(chǔ),設(shè)置失效時(shí)間;(5)重試時(shí)不要重新獲取Token,用要上次的Token(Token必須設(shè)定有效時(shí)間,并設(shè)置默認(rèn)時(shí)間,例如20分鐘)。3數(shù)據(jù)庫(kù)設(shè)計(jì)詳見(jiàn)《智慧運(yùn)營(yíng)管理平臺(tái)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)》。4安全解決方案本項(xiàng)目運(yùn)行于客戶(hù)企業(yè)內(nèi)部環(huán)境,為有效應(yīng)對(duì)復(fù)雜網(wǎng)絡(luò)中存在的各類(lèi)風(fēng)險(xiǎn),系統(tǒng)運(yùn)行過(guò)程中應(yīng)做好相關(guān)的安全工作:1、邊界配置防火墻,保護(hù)內(nèi)部網(wǎng)絡(luò)遭受DDos,Web惡意攻擊等攻擊,同時(shí)具有漏洞掃描能力、入侵檢測(cè)功能,保障內(nèi)部服務(wù)器與用戶(hù)的接入安全;2、隔離本系統(tǒng)網(wǎng)絡(luò)與外部網(wǎng)絡(luò)環(huán)境,只開(kāi)放相關(guān)業(yè)務(wù)需要的網(wǎng)絡(luò)環(huán)境的通訊,并可自主規(guī)劃網(wǎng)絡(luò)內(nèi)的業(yè)務(wù)網(wǎng)段;3、支持使用SSL證書(shū)服務(wù)(要求Web訪問(wèn)使用域名或公網(wǎng)IP,私有IP無(wú)法使用SSL證書(shū)服務(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ù)器,限制用戶(hù)只能通過(guò)堡壘機(jī)操作服務(wù)器,實(shí)現(xiàn)服務(wù)器的操作維護(hù)審計(jì)和賬號(hào)權(quán)限管理;5、做好服務(wù)器以及用戶(hù)口令管理,禁止使用簡(jiǎn)單口令,弱口令等,并定期更新口令;6、服務(wù)器可視情況關(guān)閉非必要的接口的訪問(wè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)行容器化安裝部署。6.1硬件規(guī)格與型號(hào)建議硬件列表功能建議規(guī)格配置理由備注服務(wù)器*3作為虛擬化宿主機(jī),分配虛擬化應(yīng)用服務(wù)器以及數(shù)據(jù)庫(kù)服務(wù)器DellR740硬盤(pán)*2:2T(RAID5)內(nèi)存:64GCPU:英特爾?至強(qiáng)?銀牌4210R2.4G,10C/20T,9.6GT/s,13.75M緩存,Turbo,HT(100W)DDR4-2400服務(wù)器總資源為4T硬盤(pán),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è)備H3CS5120V2-28P-SI支持VLAN劃分,隔離其他無(wú)關(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)建議列表6.2軟件軟件列表版本概述運(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-Swarm

1.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)部署所需軟件清單6.3服務(wù)器虛擬化虛擬化服務(wù)器系統(tǒng)數(shù)量CPU內(nèi)存硬盤(pán)備注應(yīng)用服務(wù)器Centos7.935核48G2T承載運(yùn)行平臺(tái)應(yīng)用,3臺(tái)組成集群數(shù)據(jù)庫(kù)服務(wù)器Centos7.935核48G2

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論