版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
14/14系統(tǒng)概要設計說明書xxx智慧運營管理平臺作者:創(chuàng)建日期:2022-10更新日期:版本:1.0文檔控制序號變更內(nèi)容責任人日期1初稿2022-06-02文檔分發(fā)序號接收人員角色郵件地址目錄1引言 41.1編寫目的 41.2參考資料 42系統(tǒng)總體設計 42.1需求規(guī)定 42.2系統(tǒng)總體架構 52.2.1系統(tǒng)架構圖 52.3系統(tǒng)開發(fā)技術 62.3.1后端開發(fā)技術 62.3.3前端開發(fā)技術 62.3.4數(shù)據(jù)庫技術 72.4接口設計 72.4.1、接口設計規(guī)范 72.4.2、接口安全設計 92.4.3、冪等性設計 93數(shù)據(jù)庫設計 104安全解決方案 105部署方案 116.1硬件規(guī)格與型號建議 116.2軟件 116.3服務器虛擬化 126.4部署步驟 126.4.1數(shù)據(jù)庫部署 126.4.2應用部署 136.5構建部署流程圖 136、API響應碼 141引言1.1編寫目的本概要設計說明書根據(jù)《智慧運營管理平臺需求規(guī)格說明書》編寫,描述了系統(tǒng)的總體概要設計,為系統(tǒng)測試人員提供測試依據(jù)。本文檔的預期讀者為:項目經(jīng)理、系統(tǒng)分析員、測試經(jīng)理、項目組長、系統(tǒng)開發(fā)人員。1.2參考資料《智慧運營管理平臺需求規(guī)格說明書》。2系統(tǒng)總體設計2.1需求規(guī)定本系統(tǒng)的主要的輸入輸出項目、處理的功能性能要求參照《智慧運營管理平臺需求規(guī)格說明書》。2.2系統(tǒng)總體架構2.2.1系統(tǒng)架構圖圖2–系統(tǒng)架構圖整個微服務架構分為四層,分別為數(shù)據(jù)層、服務層、網(wǎng)關、訪問層。1、數(shù)據(jù)層主要包括數(shù)據(jù)庫、緩存、分布式文件存儲,用于存儲系統(tǒng)中的所有的業(yè)務數(shù)據(jù)、附件、圖片、音頻、視頻等;2、服務層是整個微服務架構的核心層,所有的業(yè)務邏輯都在這一層實現(xiàn),同時采用服務治理、統(tǒng)一配置、熔斷降級、消息隊列等技術對這些服務進行統(tǒng)一管理;3、網(wǎng)關作為整個系統(tǒng)的唯一入口,所有外界對系統(tǒng)的訪問都必須經(jīng)過網(wǎng)關,因此同時也提供身份鑒權、權限驗證、負載均衡等功能;4、訪問層主要是各種客戶端,包括PC端、移動端、各種物聯(lián)網(wǎng)設備等,通過http/https協(xié)議經(jīng)過網(wǎng)關實現(xiàn)對服務的調(diào)用。2.3系統(tǒng)開發(fā)技術2.3.1后端開發(fā)技術1、開發(fā)語言:Java2、開發(fā)平臺:SprintCloudAlibaba3、服務注冊與發(fā)現(xiàn):Nacos4、服務網(wǎng)關:Gateway5、消息隊列:RabbitMQ6、服務通訊:Http/gRPC7、分布式追蹤與監(jiān)控:Skywalking8、統(tǒng)一配置管理:Nacos9、分布式日志系統(tǒng):ELK10、服務認證鑒權:JWT2.3.3前端開發(fā)技術前端主要是基于Vue進行開發(fā),同時也涉及三方組件庫,包括dvajs、Less、bizcharts、G6、L7、AntDesignUI等。2.3.4數(shù)據(jù)庫技術1、主數(shù)據(jù)庫:MySQL;2、中間數(shù)據(jù)庫:SQLServer;3、分布式緩存:Redis;4、實時搜索與數(shù)據(jù)分析:Elasticsearch;5、ORM技術:MyBatis。2.4接口設計2.4.1、接口設計規(guī)范由于本平臺采用微服務架構模式進行開發(fā),所有服務間的相互訪問都是采用API接口實現(xiàn),嚴格遵守以下設計規(guī)范:1、路由命名規(guī)范動作前綴例如獲取數(shù)據(jù)getgetUserList新增數(shù)據(jù)addaddUser修改數(shù)據(jù)updateupdateUser保存數(shù)據(jù)savesaveUser刪除數(shù)據(jù)deletedeleteUser上傳數(shù)據(jù)uploaduploadFile表1–路由命名規(guī)范列表2、請求方式請求方式描述GET獲取數(shù)據(jù)POST新增數(shù)據(jù)PUT更新數(shù)據(jù)DELETE刪除數(shù)據(jù)表2–請求方式列表3、請求參數(shù)(1)Queryurl?后面的參數(shù),存放請求接口的參數(shù)數(shù)據(jù)。(2)Header請求頭,存放token、requestId、公共參數(shù)、加密字段等。(3)BodyBody體,存放請求接口的參數(shù)數(shù)據(jù)。4、Web端請求參數(shù)說明備注accessToken授權Key字符串表3–Web請求參數(shù)列表調(diào)用方需向服務方申請appId(應用id),然后根據(jù)appId生成accessToken。5、返回參數(shù)參數(shù)類型說明備注codeInt響應碼成功=0
失敗=-1內(nèi)部錯誤=2
登錄失敗=1001
無權限=1002messageString顯示信息接口響應消息dataObject數(shù)據(jù)JSON格式表4–返回參數(shù)含義列表2.4.2、接口安全設計1、接口身份驗證采用Oauth2.0,只允許經(jīng)過授權的合法用戶調(diào)用系統(tǒng)接口。2、敏感數(shù)據(jù)脫敏處理,對于敏感的部分數(shù)據(jù)用*號代替;3、對于敏感數(shù)據(jù),在傳輸過程中采用不可逆的加密算法對數(shù)據(jù)進行加密,確保傳輸過程中數(shù)據(jù)安全;4、支持Https協(xié)議進行連接及數(shù)據(jù)傳輸,同時支持第三方CA證書;5、支持加簽名方式,防止數(shù)據(jù)篡改??蛻舳耍赫埱蟮臄?shù)據(jù)分為兩部分:簽名參數(shù)和業(yè)務參數(shù),簽名參數(shù)=SHA256加鹽加密(業(yè)務參數(shù))。服務端:對SHA256加鹽加密(業(yè)務參數(shù))進行驗證,確認是否與簽名參數(shù)相同。2.4.3、冪等性設計通常我們無法保證接口的每一次調(diào)用都是有返回結果的,要考慮到異常情況,例如出現(xiàn)網(wǎng)絡異常。為了避免出現(xiàn)這種情況,應采用冪等性設計,思路如下:(1)調(diào)用接口前,先獲取一個Token(全局唯一的令牌);(2)調(diào)用接口時,將Token放到Header頭中;(3)解析Header頭,驗證是否為有效Token,如果無效則直接返回失敗;(4)完成業(yè)務邏輯后,將業(yè)務結果與Token進行關聯(lián)存儲,設置失效時間;(5)重試時不要重新獲取Token,用要上次的Token(Token必須設定有效時間,并設置默認時間,例如20分鐘)。3數(shù)據(jù)庫設計詳見《智慧運營管理平臺數(shù)據(jù)庫設計說明書》。4安全解決方案本項目運行于客戶企業(yè)內(nèi)部環(huán)境,為有效應對復雜網(wǎng)絡中存在的各類風險,系統(tǒng)運行過程中應做好相關的安全工作:1、邊界配置防火墻,保護內(nèi)部網(wǎng)絡遭受DDos,Web惡意攻擊等攻擊,同時具有漏洞掃描能力、入侵檢測功能,保障內(nèi)部服務器與用戶的接入安全;2、隔離本系統(tǒng)網(wǎng)絡與外部網(wǎng)絡環(huán)境,只開放相關業(yè)務需要的網(wǎng)絡環(huán)境的通訊,并可自主規(guī)劃網(wǎng)絡內(nèi)的業(yè)務網(wǎng)段;3、支持使用SSL證書服務(要求Web訪問使用域名或公網(wǎng)IP,私有IP無法使用SSL證書服務),為HTTP網(wǎng)站提供轉(zhuǎn)向HTTPS,加密應用層數(shù)據(jù),保護數(shù)據(jù)安全;3、使用數(shù)據(jù)庫審計功能,記錄數(shù)據(jù)庫操作記錄,實現(xiàn)對數(shù)據(jù)庫的審計;4、使用堡壘機管理運維服務器,限制用戶只能通過堡壘機操作服務器,實現(xiàn)服務器的操作維護審計和賬號權限管理;5、做好服務器以及用戶口令管理,禁止使用簡單口令,弱口令等,并定期更新口令;6、服務器可視情況關閉非必要的接口的訪問功能。5部署方案平臺的整個研發(fā)是基于DevOps體系,實現(xiàn)了自動化構建,從而提高了運維部署效率。本項目采用微服務架構,使用Docker軟件將微服務進行容器化安裝部署。6.1硬件規(guī)格與型號建議硬件列表功能建議規(guī)格配置理由備注服務器*3作為虛擬化宿主機,分配虛擬化應用服務器以及數(shù)據(jù)庫服務器DellR740硬盤*2:2T(RAID5)內(nèi)存:64GCPU:英特爾?至強?銀牌4210R2.4G,10C/20T,9.6GT/s,13.75M緩存,Turbo,HT(100W)DDR4-2400服務器總資源為4T硬盤,64G內(nèi)存,以及10核CPU,作為虛擬化服務器的底層資源池每臺服務器虛擬化應用及數(shù)據(jù)庫服務器各1臺,總計虛擬化服務器:應用服務器*3數(shù)據(jù)庫服務器*3,只考慮部署平臺所需環(huán)境路由器作為網(wǎng)絡邊界路由器連接互聯(lián)網(wǎng)H3CER3260G3千兆企業(yè)級路由器只考慮部署系統(tǒng)所需環(huán)境交換機作為服務器接入網(wǎng)絡的直接設備H3CS5120V2-28P-SI支持VLAN劃分,隔離其他無關網(wǎng)絡只考慮部署系統(tǒng)所需環(huán)境防火墻防護內(nèi)外網(wǎng)安全風險具有傳統(tǒng)防火墻,VPN,入侵防御,Web防護,防病毒,數(shù)據(jù)防泄露等功能只考慮部署系統(tǒng)所需環(huán)境表5–硬件與型號建議列表6.2軟件軟件列表版本概述運行方式功能MySQL8.0數(shù)據(jù)庫主機服務運行平臺所需中間件Redis6.0分布式緩存容器化運行平臺所需中間件RabbitMQ3.8.5消息隊列容器化運行平臺所需中間件Docker19.03.5容器化工具主機服務運行運行微服務所需工具Docker-Swarm
1.26.2容器編排工具二進制運行程序運行微服務所需工具Python3.9.2腳本運行語言二進制運行程序用于運行數(shù)據(jù)庫自動備份腳本Nacos2.0.1微服務中間件容器化運行微服務注冊中心與配置中心Elasticsearch7.9日志中心容器化運行微服務日志中心Logstash7.9日志采集工具容器化運行采集微服務日志,并發(fā)送到日志中心Kibana7.11日志展示工具容器化運行可視化展示系統(tǒng)日志表6–系統(tǒng)部署所需軟件清單6.3服務器虛擬化虛擬化服務器系統(tǒng)數(shù)量CPU內(nèi)存硬盤備注應用服務器Centos7.935核48G2T承載運行平臺應用,3臺組成集群數(shù)據(jù)庫服務器Centos7.935核48G2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年聯(lián)通云賽道試題庫及答案
- 2025年度共享出行個人司機雇傭管理協(xié)議4篇
- 委托居間合同范本模板
- 2025年度環(huán)保建筑材料ROHS檢測與質(zhì)量監(jiān)控協(xié)議3篇
- 二零二五年度車輛租賃合同(含司機培訓及考核)4篇
- 綠色照明引領未來學校教室健康照明戰(zhàn)略
- 2025年度住宅小區(qū)地下車庫車位產(chǎn)權轉(zhuǎn)讓及維修保養(yǎng)合同3篇
- 2025年度人工智能應用開發(fā)個人外包合同模板4篇
- 二零二五年度寵物送養(yǎng)與領養(yǎng)公益合作協(xié)議3篇
- 二零二五年度寵物領養(yǎng)中心項目合作協(xié)議3篇
- 整式的加減單元測試題6套
- 股權架構完整
- 山東省泰安市2022年初中學業(yè)水平考試生物試題
- 注塑部質(zhì)量控制標準全套
- 人教A版高中數(shù)學選擇性必修第一冊第二章直線和圓的方程-經(jīng)典例題及配套練習題含答案解析
- 畢業(yè)設計(論文)-液體藥品灌裝機的設計與制造
- 銀行網(wǎng)點服務禮儀標準培訓課件
- 二年級下冊數(shù)學教案 -《數(shù)一數(shù)(二)》 北師大版
- 晶體三極管資料
- 銀行內(nèi)部舉報管理規(guī)定
- 石群邱關源電路(第1至7單元)白底課件
評論
0/150
提交評論