【《某資訊推送系統(tǒng)的計算機系統(tǒng)設(shè)計案例》5400字】_第1頁
【《某資訊推送系統(tǒng)的計算機系統(tǒng)設(shè)計案例》5400字】_第2頁
【《某資訊推送系統(tǒng)的計算機系統(tǒng)設(shè)計案例》5400字】_第3頁
【《某資訊推送系統(tǒng)的計算機系統(tǒng)設(shè)計案例》5400字】_第4頁
【《某資訊推送系統(tǒng)的計算機系統(tǒng)設(shè)計案例》5400字】_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

某資訊推送系統(tǒng)的計算機系統(tǒng)設(shè)計案例目錄TOC\o"1-3"\h\u19200某資訊推送系統(tǒng)的計算機系統(tǒng)設(shè)計案例 1256411.1系統(tǒng)設(shè)計思想 1104031.2系統(tǒng)體系架構(gòu) 2161991.2.1展現(xiàn)層 4213291.2.2業(yè)務(wù)邏輯層 5170881.2.3數(shù)據(jù)層 560111.3系統(tǒng)功能模塊設(shè)計 5325501.4數(shù)據(jù)庫設(shè)計 6270761.4.1E-R圖設(shè)計 629401.4.2數(shù)據(jù)庫表設(shè)計 7282351.5系統(tǒng)界面設(shè)計 10266051.6系統(tǒng)安全設(shè)計 10系統(tǒng)總體設(shè)計應(yīng)該與某IT資訊公司推送管理的實際情況相結(jié)合,適應(yīng)其業(yè)務(wù)的具體特點和需求。根據(jù)前一章的系統(tǒng)需求分析,我們將在本章對某IT資訊公司的IT資訊推送系統(tǒng)進行總體設(shè)計,內(nèi)容包括:系統(tǒng)設(shè)計思想、系統(tǒng)相關(guān)技術(shù)、系統(tǒng)體系架構(gòu)、系統(tǒng)功能結(jié)構(gòu)、網(wǎng)絡(luò)拓撲結(jié)構(gòu)、系統(tǒng)安全設(shè)計、數(shù)據(jù)庫設(shè)計和重點模塊的詳細設(shè)計。下面將分別進行具體論述。系統(tǒng)設(shè)計思想針對某IT資訊公司推送業(yè)務(wù)的流程和系統(tǒng)設(shè)計原則,系統(tǒng)采用了以下的設(shè)計思路和技術(shù)路線。(1)采用Java作為系統(tǒng)整體的開發(fā)語言。(2)后臺系統(tǒng)采用B/C的架構(gòu),使運營人員能夠便捷低成本地登錄。(3)終端采用C/S架構(gòu),并自建了長鏈接和通信協(xié)議,減少系統(tǒng)的開銷,安全可靠。(4)使用SpringBoot全家桶式的開發(fā)套件來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。(5)提供可擴展的系統(tǒng)接口和JDBC的數(shù)據(jù)接入方式等,方便地成本和企業(yè)內(nèi)部其他系統(tǒng)進行對接;(6)使用爬蟲技術(shù),對互聯(lián)網(wǎng)內(nèi)容進行抓取,并支持內(nèi)容的二次編輯和結(jié)構(gòu)化索引。(7)使用檢索技術(shù),構(gòu)建基本的用戶畫像并支持索引查找。在設(shè)計過程中,通過對業(yè)務(wù)現(xiàn)狀、系統(tǒng)要求、環(huán)境狀況、開發(fā)語言和相關(guān)技術(shù)標準的研究與實踐,證明系統(tǒng)方案的可行性和有效性。系統(tǒng)體系架構(gòu)整個系統(tǒng)基于SpringBoot2.4的開發(fā)套件進行開發(fā),并通過Kubernates進行部署和運維。IT資訊推送系統(tǒng)后臺采用傳統(tǒng)的B/S的方式開發(fā),只需要使用瀏覽器就可以登錄到系統(tǒng),進行管控。推送系統(tǒng)的終端部分采用客戶端/服務(wù)端的方式開發(fā)。不同的手機平臺有不同的推送技術(shù),進而也影響了服務(wù)器端的技術(shù)選型和架構(gòu)設(shè)計。一般iOS設(shè)備推薦使用蘋果官方提供的APNs服務(wù),官方的系統(tǒng)比較穩(wěn)定可靠,同時有較為完善的文檔和技術(shù)論壇。相比之下,Android設(shè)備就品類繁多,各種廠商和型號遍布市場,需要考慮盡可能的兼容,使得服務(wù)和體驗是統(tǒng)一的。另外移動互聯(lián)網(wǎng)不同于家庭和工作網(wǎng)絡(luò)環(huán)境,快讀連接誒、更換基站、弱網(wǎng)、斷線重連、IP更換等特性,使得對其要有特殊的技術(shù)思路。對于弱網(wǎng),需要進行私有協(xié)議的定義,來減少帶寬的占用和和網(wǎng)絡(luò)鏈接的開銷。當一臺智能手機連上移動網(wǎng)絡(luò)時,其實并沒有真正連接上Internet,運營商分配給手機的IP其實是運營商的內(nèi)網(wǎng)IP,手機終端要連接上Internet還必須通過運營商的網(wǎng)關(guān)進行IP地址的轉(zhuǎn)換,這個網(wǎng)關(guān)簡稱為NAT(NetWorkAddressTranslation),簡單來說就是手機終端連接Internet其實就是移動內(nèi)網(wǎng)IP,端口,外網(wǎng)IP之間相互映射。相當于在手機終端在移動無線網(wǎng)絡(luò)這堵墻上打個洞與外面的Internet相連。IOS長連接是由系統(tǒng)來維護的,也就是說蘋果的IOS系統(tǒng)在系統(tǒng)級別維護了一個客戶端和蘋果服務(wù)器的長鏈接,IOS上的所有應(yīng)用上的推送都是先將消息推送到蘋果的服務(wù)器然后將蘋果服務(wù)器通過這個系統(tǒng)級別的長鏈接推送到手機終端上,這樣的的幾個好處為:1.在手機終端始終只要維護一個長連接即可,而且由于這個長鏈接是系統(tǒng)級別的不會出現(xiàn)被殺死而無法推送的情況。2.省電,不會出現(xiàn)每個應(yīng)用都各自維護一個自己的長連接。3.安全,只有在蘋果注冊的開發(fā)者才能夠進行推送,等等。android的長連接是由每個應(yīng)用各自維護的,但是google也推出了和蘋果技術(shù)架構(gòu)相似的推送框架,C2DM,云端推送功能,但是由于google的服務(wù)器不在中國境內(nèi),服務(wù)會不穩(wěn)定或不可觸達,所以導(dǎo)致這個推送無法使用,android的開發(fā)者不得不自己去維護一個長鏈接,于是每個應(yīng)用如果都24小時在線,那么都得各自維護一個長連接,這種電量和流量的消耗是可想而知的。雖然國內(nèi)也出現(xiàn)了各種推送平臺,但是都無法達到只維護一個長連接這種消耗的級別。另外,華為和小米手機對系統(tǒng)層面管控比較嚴格,可能會封禁Socket端口、殺滅進程等,所以需要我們的App具有后臺運行和自動拉起、更換網(wǎng)關(guān)等適應(yīng)能力。為了保證服務(wù)器的性能,采用Nginx作為反向代理和復(fù)雜均衡的角色,Nginx開放固定端口,并注冊監(jiān)聽,等待App端的接入。Nginx負責端口轉(zhuǎn)發(fā),實際并不干預(yù)通信的內(nèi)容。真正的連接接受者是后端JavaServer。為了能實現(xiàn)后臺系統(tǒng)頁面的靈活配置,系統(tǒng)中的部分頁面采用MVC的框架實現(xiàn)。為了能實現(xiàn)多用戶切換的需求,在客戶端暫存部分客戶的Session等當前工作的上下文信息。系統(tǒng)中的數(shù)據(jù)庫服務(wù)器采用主從同步的架構(gòu)方式來部署,主服務(wù)器為業(yè)務(wù)數(shù)據(jù)的主要操作數(shù)據(jù)庫,備份服務(wù)器采用訂閱主服務(wù)器binlog的方式,對外提供只讀數(shù)據(jù)服務(wù),主服務(wù)器和備份服務(wù)器之間采用雙機熱備模式運行,保證無中斷對外提供數(shù)據(jù)庫服務(wù)。在IT資訊推送系統(tǒng)的整體架構(gòu)設(shè)計中,頁面技術(shù)使用前后分離設(shè)計,服務(wù)端采用微服務(wù)架構(gòu),并參考領(lǐng)域驅(qū)動設(shè)計,將系統(tǒng)分為四層,分別是展現(xiàn)層、應(yīng)用層、領(lǐng)域?qū)?、基礎(chǔ)設(shè)施層(網(wǎng)關(guān)暫不體現(xiàn))。系統(tǒng)體系架構(gòu)如下圖所示:系統(tǒng)整體架構(gòu)如圖4-1所示:圖4-1系統(tǒng)體系架構(gòu)圖展現(xiàn)層后臺基于傳統(tǒng)的B/S架構(gòu)實現(xiàn),整個Web層采用MVC架構(gòu)進行設(shè)計,Model層與具體的領(lǐng)域?qū)ο筮M行關(guān)聯(lián),同時將Model中的Property與界面的控件進行綁定,Action對應(yīng)控件的事件,通過View將Model與Action進行有效的結(jié)合,完成整個窗體的完整布局,其中View采用模板引擎進行格式約定和渲染。終端部分和服務(wù)端通信部分,采用C/S架構(gòu),二者通過基于HTTP的WebSocket協(xié)議進行通信。業(yè)務(wù)邏輯層業(yè)務(wù)邏輯層主要體現(xiàn)在后端的Java應(yīng)用服務(wù),該服務(wù)完成了登錄、權(quán)限、基礎(chǔ)功能管理等功能。業(yè)務(wù)邏輯層處理具體業(yè)務(wù)。通過數(shù)據(jù)層的數(shù)據(jù)操作對象訪問及操作業(yè)務(wù)數(shù)據(jù),并向展現(xiàn)層返回其所需的數(shù)據(jù)結(jié)構(gòu)。另外在業(yè)務(wù)邏輯層需要統(tǒng)一進行數(shù)據(jù)庫的事務(wù)處理,包括正常結(jié)束后的提交以及發(fā)生異常時的回滾。數(shù)據(jù)層本系統(tǒng)的數(shù)據(jù)存儲分為多個部分:一部分是基礎(chǔ)數(shù)據(jù),需要持久化,主要利用Mysql5.7作為存儲介質(zhì);另一部分是用戶特征數(shù)據(jù),采用單獨的ElasticSearch,用以構(gòu)建用戶特征的索引,并且提供索引的查詢服務(wù),來定位用戶;還有一部分是緩存數(shù)據(jù),基于Redis做了集中式的緩存,或者LocalCache做了本地內(nèi)存,不需要持久化,用完釋放。系統(tǒng)功能模塊設(shè)計完成了系統(tǒng)整體的架構(gòu)設(shè)計后,開始對系統(tǒng)的功能結(jié)構(gòu)進行劃分。功能結(jié)構(gòu)主要和前面的需求分析對齊。IT資訊推送系統(tǒng)的主要功能包括人員管理子系統(tǒng)、權(quán)限管理子系統(tǒng)、爬蟲管理子系統(tǒng)、推送管理子系統(tǒng)、統(tǒng)計管理子系統(tǒng)。以下單獨介紹各個子系統(tǒng)的主要內(nèi)容。系統(tǒng)功能模塊結(jié)構(gòu)一覽如圖4-2所示:圖4-2IT資訊推送系統(tǒng)功能模塊設(shè)計IT資訊推送系統(tǒng)為運營人員與管理層提供了一個IT資訊推送管理平臺,能夠?qū)θ粘5耐扑瓦\營事務(wù)和流程進行管理和監(jiān)控、數(shù)據(jù)報表分析等。數(shù)據(jù)庫設(shè)計E-R圖設(shè)計以下是整體的數(shù)據(jù)ER圖表。圖4-3爬蟲管理系統(tǒng)ER圖數(shù)據(jù)庫表設(shè)計經(jīng)過對公司原有的舊版系統(tǒng)進行分析,并且對現(xiàn)有業(yè)務(wù)狀況進行充分調(diào)研后,根據(jù)IT資訊推送系統(tǒng)的實際需求,對數(shù)據(jù)庫表進行了詳細設(shè)計。例舉出了關(guān)鍵的字段名稱、列名、數(shù)據(jù)類型、長度及特殊字段,并附上了詳細說明。由于系統(tǒng)使用了較多的數(shù)據(jù)表,無法全部列舉,因此抽取其中比較關(guān)鍵的數(shù)據(jù)表做示意,詳見下方表格。表4-1爬蟲種子表序號字段名稱標識符數(shù)據(jù)類型是否為空備注1主鍵IDidbigint非空PK2備注descriptionchar(100)非空3標簽tagvarchar(32)非空4網(wǎng)址urlvarchar(255)非空7更新時間gmt_modifiedtimestamp非空8創(chuàng)建時間gmt_createtimestamp非空9邏輯刪除statustinyint非空0、未刪除1、已刪除表4-2爬蟲模板表序號字段名稱標識符數(shù)據(jù)類型是否為空備注1主鍵IDidbigint非空PK2名稱namechar(255)非空3配置contentvarchar(255)非空可以是腳本或dom結(jié)構(gòu)4創(chuàng)建時間gmt_createtimestamp非空5更新時間gmt_modifiedtimestamp非空6邏輯刪除statustinyint非空0、未刪除1、已刪除表4-3爬蟲任務(wù)表序號字段名稱標識符數(shù)據(jù)類型是否為空備注1主鍵IDidbigint非空2名稱namechar(255)非空3模板IDTemplate_idbigint非空4種子IDseed_idbigint非空6創(chuàng)建時間gmt_createtimestamp非空7更新時間gmt_modifiedtimestamp非空8邏輯刪除statustinyint非空0、未刪除1、已刪除表4-4推送任務(wù)表序號字段名稱標識符數(shù)據(jù)類型是否為空備注1主鍵IDidbigint非空PK2名稱namechar(24)非空3內(nèi)容IDarticle_idbigint非空4詳細描述descriptionvarchar(64)空5用戶特征條件profilechar(24)6創(chuàng)建者create_user_idbigint非空7任務(wù)狀態(tài)statint空1、進行中2、完成3、失敗8創(chuàng)建時間gmt_createtimestamp非空9更新時間gmt_modifiedtimestamp非空10邏輯刪除statustinyint非空0、未刪除1、已刪除表4-5推送任務(wù)明細表序號字段名稱標識符數(shù)據(jù)類型是否為空備注1主鍵IDidbigint非空PK2任務(wù)IDtask_idbigint非空3內(nèi)容IDarticle_idbigint非空4設(shè)備IDdevice_idvarchar(64)空5用戶特征條件profilechar(24)6創(chuàng)建者create_user_idbigint非空7任務(wù)狀態(tài)statint空0、進行中1、推送成功2、打開完成3、失敗8創(chuàng)建時間gmt_createtimestamp非空9更新時間gmt_modifiedtimestamp非空10邏輯刪除statustinyint非空0、未刪除1、已刪除系統(tǒng)界面設(shè)計IT資訊推送系統(tǒng)界面設(shè)計如表4-6,該界面包含三部分,上部分是功能標題及用戶,左側(cè)為功能導(dǎo)航欄,包括爬蟲管理、推送管理、統(tǒng)計管理、權(quán)限管理。右側(cè)內(nèi)容為信息顯示區(qū)。表4-6IT資訊推送系統(tǒng)界面設(shè)計+爬蟲管理當前位置:操作者+推送管理功能標題+統(tǒng)計管理信息顯示+權(quán)限管理系統(tǒng)安全設(shè)計系統(tǒng)安全方案從以下幾個方面進行規(guī)劃:身份認證安全、數(shù)據(jù)庫訪問控制安全、數(shù)據(jù)安全、終端訪問安全。(1)身份認證安全系統(tǒng)通過身份識別來驗證用戶身份,用戶向系統(tǒng)發(fā)出請求,要進行身份證明,合法的身份是系統(tǒng)安全的最重要的部分。本系統(tǒng)的用戶管理模塊構(gòu)建了用戶信息表,密碼可及時修改,還有在系統(tǒng)中的使用權(quán)限,只有通過賬號和密碼同時驗證通過后才能登錄系統(tǒng)。同時系統(tǒng)還為用戶提供了修改密碼的功能,當發(fā)現(xiàn)賬號存在非法登錄和使用的情況,可以及時修改密碼,防止信息丟失。另外,使用了RBAC的訪問控制設(shè)計,只有經(jīng)過授權(quán),才能查看系統(tǒng)的資源。(2)數(shù)據(jù)庫訪問控制安全IT資訊推送系統(tǒng),對應(yīng)用系統(tǒng)中的所有數(shù)據(jù)查詢和修改操作都會進行訪問控制,并對上層業(yè)務(wù)層提供RPC接口,內(nèi)網(wǎng)轉(zhuǎn)發(fā)和調(diào)用,不暴漏在公網(wǎng)中。對系統(tǒng)的關(guān)鍵數(shù)據(jù)進行訪問的權(quán)限控制,不允許系統(tǒng)未授權(quán)的人員對數(shù)據(jù)庫進行訪問及操作。系統(tǒng)通過嚴格的權(quán)限判斷來確定如何安全的訪問相關(guān)數(shù)據(jù)。最終保證系統(tǒng)數(shù)據(jù)的完整性及有效性。(3)數(shù)據(jù)安全IT資訊推送系統(tǒng)采用多用戶的模式,全部人員使用共同的數(shù)據(jù)庫和表,所屬數(shù)據(jù)通過獨有的外鍵或隱含的外鍵來進行隔離,來確保用戶間數(shù)據(jù)的隔離性,不會出現(xiàn)違規(guī)共享。以此來達到隔離級別較高的結(jié)果。(4)終端訪問安全通過公網(wǎng)來訪問推送系統(tǒng),是存在安全隱患的。為此,App層在網(wǎng)絡(luò)連接層面做了定制設(shè)計和開發(fā),使用了自建的加密協(xié)議,保障數(shù)據(jù)的安全。除此之外,還需要加強敏感數(shù)據(jù)的安全管理,對于敏感數(shù)據(jù)比如密碼等進行加密存儲,以便保證數(shù)據(jù)在被黑客盜取后不能正常顯示及讀取,比如用戶密碼。對于重要的業(yè)務(wù)數(shù)據(jù)需要進行備份及異地存儲,在出現(xiàn)突發(fā)情況時可以及時恢復(fù)數(shù)據(jù),保證服務(wù)正常訪問,以防止突發(fā)情況導(dǎo)致數(shù)據(jù)丟失,對系統(tǒng)及用戶造成重大損失。對于網(wǎng)絡(luò)安全方面,使用了云廠商的云管家類的軟件,可以做到安全防護。后端應(yīng)用不直接接受請求,可以針對SQL注入、XSS攻擊、DDOS攻擊等黑客常用攻擊方式進行相應(yīng)的網(wǎng)絡(luò)安全對策,防止被黑客攻擊后服務(wù)不能正常使用,或者被掛馬等。關(guān)于數(shù)據(jù)庫部分,進一步闡述如下:數(shù)據(jù)訪問控制:培訓(xùn)管理系統(tǒng)通過對應(yīng)用系統(tǒng)中的所有數(shù)據(jù)進行訪問控制封裝,只向系統(tǒng)用戶提供封裝后的數(shù)據(jù)讀、寫接口。同時,對關(guān)鍵數(shù)據(jù)采取訪問權(quán)限限制,不允許被系統(tǒng)授權(quán)用戶以外的任何人員訪問。同樣,授權(quán)用戶可以不受阻止地訪問與之相關(guān)且被授權(quán)的數(shù)據(jù)。系統(tǒng)通過嚴格的權(quán)限判斷來確定用戶如何安全地訪問系統(tǒng)數(shù)據(jù)庫中的相關(guān)數(shù)據(jù)。最終,保證數(shù)據(jù)的完整性、一致性和有效性。數(shù)據(jù)備份控制:培訓(xùn)管理系統(tǒng)提供業(yè)務(wù)數(shù)據(jù)導(dǎo)入導(dǎo)出功能,將數(shù)據(jù)庫系統(tǒng)中物理存儲邏輯關(guān)系復(fù)雜的系統(tǒng)數(shù)據(jù)可以從業(yè)務(wù)系統(tǒng)中進行有條件限制地選取抽出,使得系統(tǒng)用戶與系統(tǒng)管理員能夠根據(jù)業(yè)務(wù)邏輯需求來有選擇性地只對所需要的那部分數(shù)據(jù)進行導(dǎo)出備份,并且可以很便捷地從業(yè)務(wù)邏輯上區(qū)分重要的和普通的數(shù)據(jù)。同樣,也可以有選擇性地針對將部分數(shù)據(jù)進行導(dǎo)入,而不是費時費力的整表數(shù)據(jù)導(dǎo)入。有選擇性地數(shù)據(jù)導(dǎo)入導(dǎo)出功能將更有利于重要數(shù)據(jù)的安全備份管理。數(shù)據(jù)加密管理:對于重要的靜態(tài)保存的業(yè)務(wù)數(shù)據(jù)須進行加密存儲。對于敏感且涉密的業(yè)務(wù)數(shù)據(jù)必須采用更高安全等級的系統(tǒng)加密算法進行加密存儲,以便保證涉密信息即便被非法竊取后

溫馨提示

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

評論

0/150

提交評論