![軟件需求規(guī)格說明書_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/22/d7363ca2-d7e8-4045-9b6c-2efc401b12d4/d7363ca2-d7e8-4045-9b6c-2efc401b12d41.gif)
![軟件需求規(guī)格說明書_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/22/d7363ca2-d7e8-4045-9b6c-2efc401b12d4/d7363ca2-d7e8-4045-9b6c-2efc401b12d42.gif)
![軟件需求規(guī)格說明書_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/22/d7363ca2-d7e8-4045-9b6c-2efc401b12d4/d7363ca2-d7e8-4045-9b6c-2efc401b12d43.gif)
![軟件需求規(guī)格說明書_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/22/d7363ca2-d7e8-4045-9b6c-2efc401b12d4/d7363ca2-d7e8-4045-9b6c-2efc401b12d44.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、_<任務(wù)調(diào)度中心后臺管理系統(tǒng)>需求規(guī)格說明書-可編輯修改 -_作者:完成日期:-可編輯修改 -_修訂歷史記錄日期版本說明作者V1.0-可編輯修改 -_目錄-可編輯修改 -_1.引言.71.1目的 .71.2背景 .81.3概述 .81.4參考文獻(xiàn) .82.項(xiàng)目概述 .82.1產(chǎn)品特性 .82.2產(chǎn)品設(shè)計理念 .112.3用戶特點(diǎn) .112.4一般約束 .112.5假設(shè)與依據(jù) .123.總體設(shè)計 .123.1架構(gòu)設(shè)計 .123.1.1 設(shè)計思想 .123.1.2系統(tǒng)組成 .123.1.3架構(gòu)圖 .133.1.4調(diào)度中心 HA( 集群 ) .133.1.5調(diào)度線程池 .143.1.6日
2、志回調(diào)任務(wù) .143.1.7調(diào)度日志 .153.1.8任務(wù)依賴 .163.1.9通訊數(shù)據(jù)加密 .16-可編輯修改 -_3.2.0分片廣播、動態(tài)分片 .163.2.1訪問令牌( AccessToken ) .173.2.2故障轉(zhuǎn)移、失敗重試 .173.2.3任務(wù)超時控制 .184.系統(tǒng)功能 .184.1功能需求 .184.1.1系統(tǒng)角色及登陸 .184.1.2工作流程 .194.2外部接口需求 .204.2.1用戶接口 .204.2.2硬件接口 .204.2.3軟件接口 .204.2.4通信接口 .204.3性能需求 .204.4屬性 .214.4.1可用性 .214.4.2安全性 .21-可編
3、輯修改 -_1. 引言1.1 目的該文檔首先給出項(xiàng)目的整體結(jié)構(gòu)和功能結(jié)構(gòu)概貌,試圖從總體架構(gòu)上給出整個系統(tǒng)的輪廓。同時對功能需求、性能需求進(jìn)行了詳細(xì)的描述。便于用戶、開發(fā)人員進(jìn)行理解和交流,反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)以及確認(rèn)測試和驗(yàn)收的依據(jù)。本文檔面向多種讀者對象:( 1 )項(xiàng)目經(jīng)理:項(xiàng)目經(jīng)理可以根據(jù)該文檔了解預(yù)期產(chǎn)品的功能,并據(jù)此進(jìn)行系統(tǒng)設(shè)計、項(xiàng)目管理。( 2 )設(shè)計員:對需求進(jìn)行分析,并設(shè)計出系統(tǒng),包括數(shù)據(jù)庫的設(shè)計。( 3 )程序員:了解系統(tǒng)功能,編寫用戶手冊。( 4 )測試員:根據(jù)本文檔編寫測試用例,并對軟件產(chǎn)品進(jìn)行功能性測試和非功能性測試。( 5 )用戶:了
4、解預(yù)期產(chǎn)品的功能和性能,并與分析人員一起對整個需求進(jìn)行討論和協(xié)商。在閱讀本文檔時,首先要了解產(chǎn)品的功能概貌,然后可以根據(jù)自身的需要對每一功能進(jìn)行適當(dāng)?shù)牧私狻?可編輯修改 -_1.2 背景本次待開發(fā)的軟件為任務(wù)調(diào)度中心后臺管理系統(tǒng)。用戶通過使用該系統(tǒng)在移動終端完成任務(wù)分配等操作。1.3 概述該平臺是一個輕量級分布式任務(wù)調(diào)度平臺,其核心設(shè)計是統(tǒng)一管理任務(wù)調(diào)度平臺上調(diào)度任務(wù),負(fù)責(zé)出發(fā)調(diào)度執(zhí)行,并且提供任務(wù)管理平臺。1.4 參考文獻(xiàn)1 GB-T8567-2006,計算機(jī)軟件文檔編制規(guī)范S2. 項(xiàng)目概述2.1 產(chǎn)品特性1、簡單:支持通過Web 頁面對任務(wù)進(jìn)行CRUD 操作,操作簡單,容易上手;2 、動態(tài)
5、:支持動態(tài)修改任務(wù)狀態(tài)、暫停/恢復(fù)任務(wù),以及終止運(yùn)行中任務(wù),即時生效;3、調(diào)度中心HA (中心式):調(diào)度采用中心式設(shè)計,“調(diào)度中心”基于集群Quartz 實(shí)現(xiàn)并支持集群部署,可保證調(diào)度中心HA;4、執(zhí)行器HA (分布式):任務(wù)分布式執(zhí)行,任務(wù)"執(zhí)行器 "支持集群部署,可保證任務(wù)執(zhí)行 HA ;-可編輯修改 -_5、注冊中心 : 執(zhí)行器會周期性自動注冊任務(wù), 調(diào)度中心將會自動發(fā)現(xiàn)注冊的任務(wù)并觸發(fā)執(zhí)行。同時,也支持手動錄入執(zhí)行器地址;6、彈性擴(kuò)容縮容: 一旦有新執(zhí)行器機(jī)器上線或者下線,下次調(diào)度時將會重新分配任務(wù);7、路由策略:執(zhí)行器集群部署時提供豐富的路由策略,包括:第一個、最后
6、一個、輪詢、隨機(jī)、一致性HASH 、最不經(jīng)常使用、最近最久未使用、故障轉(zhuǎn)移、忙碌轉(zhuǎn)移等;8、故障轉(zhuǎn)移:任務(wù)路由策略選擇"故障轉(zhuǎn)移 "情況下,如果執(zhí)行器集群中某一臺機(jī)器故障,將會自動Failover 切換到一臺正常的執(zhí)行器發(fā)送調(diào)度請求。9、失敗處理策略;調(diào)度失敗時的處理策略,策略包括:失敗告警、失敗重試;10、失敗重試:調(diào)度中心調(diào)度失敗且啟用" 調(diào)度失敗重試"策略時,將會自動重試一次;執(zhí)行器執(zhí)行失敗且啟用"執(zhí)行失敗重試" 策略,或回調(diào)失敗重試狀態(tài)時,也將會自動重試一次;11、阻塞處理策略:調(diào)度過于密集執(zhí)行器來不及處理時的處理策略,策略包
7、括:單機(jī)串行(默認(rèn))、丟棄后續(xù)調(diào)度、覆蓋之前調(diào)度;12、任務(wù)超時控制:支持設(shè)置任務(wù)超時時間,任務(wù)運(yùn)行超時的情況下,將會主動中斷任務(wù);13、分片廣播任務(wù):執(zhí)行器集群部署時,任務(wù)路由策略選擇"分片廣播 "情況下,一次任務(wù)調(diào)度將會廣播觸發(fā)集群中所有執(zhí)行器執(zhí)行一次任務(wù),可根據(jù)分片參數(shù)開發(fā)分片任務(wù);14、動態(tài)分片:分片廣播任務(wù)以執(zhí)行器為維度進(jìn)行分片,支持動態(tài)擴(kuò)容執(zhí)行器集群從而動態(tài)增加分片數(shù)量,協(xié)同進(jìn)行業(yè)務(wù)處理;在進(jìn)行大數(shù)據(jù)量業(yè)務(wù)操作時可顯著提升任務(wù)處理能力和速度。-可編輯修改 -_15、事件觸發(fā):除了"Cron 方式 " 和"任務(wù)依賴方式"觸發(fā)
8、任務(wù)執(zhí)行之外,支持基于事件的觸發(fā)任務(wù)方式。調(diào)度中心提供觸發(fā)任務(wù)單次執(zhí)行的API服務(wù),可根據(jù)業(yè)務(wù)事件靈活觸發(fā)。16、任務(wù)進(jìn)度監(jiān)控:支持實(shí)時監(jiān)控任務(wù)進(jìn)度;17、 Rolling 實(shí)時日志:支持在線查看調(diào)度結(jié)果,并且支持以Rolling 方式實(shí)時查看執(zhí)行器輸出的完整的執(zhí)行日志;18、 GLUE :提供 Web IDE ,支持在線開發(fā)任務(wù)邏輯代碼,動態(tài)發(fā)布,實(shí)時編譯生效,省略部署上線的過程。支持30 個版本的歷史版本回溯。19、腳本任務(wù):支持以 GLUE 模式開發(fā)和運(yùn)行腳本任務(wù),包括 Shell 、Python 、NodeJS等類型腳本 ;20、任務(wù)依賴:支持配置子任務(wù)依賴,當(dāng)父任務(wù)執(zhí)行結(jié)束且執(zhí)行成功
9、后將會主動觸發(fā)一次子任務(wù)的執(zhí)行, 多個子任務(wù)用逗號分隔;21、一致性: “調(diào)度中心”通過DB 鎖保證集群分布式調(diào)度的一致性, 一次任務(wù)調(diào)度只會觸發(fā)一次執(zhí)行;22、自定義任務(wù)參數(shù):支持在線配置調(diào)度任務(wù)入?yún)ⅲ磿r生效;23、調(diào)度線程池:調(diào)度系統(tǒng)多線程觸發(fā)調(diào)度運(yùn)行,確保調(diào)度精確執(zhí)行,不被堵塞;24、數(shù)據(jù)加密: 調(diào)度中心和執(zhí)行器之間的通訊進(jìn)行數(shù)據(jù)加密,提升調(diào)度信息安全性;25、郵件報警:任務(wù)失敗時支持郵件報警,支持配置多郵件地址群發(fā)報警郵件;26、推送maven中央倉庫 : 將會把最新穩(wěn)定版推送到maven中央倉庫 , 方便用戶接入和使用 ;27、運(yùn)行報表:支持實(shí)時查看運(yùn)行數(shù)據(jù),如任務(wù)數(shù)量、調(diào)度次數(shù)、
10、執(zhí)行器數(shù)量等;以及調(diào)度報表,如調(diào)度日期分布圖,調(diào)度成功分布圖等;-可編輯修改 -_28、全異步:系統(tǒng)底層實(shí)現(xiàn)全部異步化,針對密集調(diào)度進(jìn)行流量削峰,理論上支持任意時長任務(wù)的運(yùn)行;2.2 產(chǎn)品設(shè)計理念當(dāng)前各大行業(yè)人群密集,因大量繁瑣的任務(wù)分配不及時而困擾,繁瑣的根源便是郵件的收發(fā)、電話溝通,需要人工分配任務(wù),最終人工匯總表格,工作量大且出錯率高。任務(wù)調(diào)度中心系統(tǒng)致力于通過平臺便捷地完成此項(xiàng)工作,且大大降低出錯率。2.3 用戶特點(diǎn)本系統(tǒng)的最終用戶群體普遍接受高等教育,學(xué)習(xí)及適應(yīng)能力強(qiáng)。能快速適應(yīng)該軟件,并充分感受到在任務(wù)調(diào)度中心的效能變化,提出合理改進(jìn)意見。操作人員及維護(hù)人員為了解該工作的整體流程,
11、深入用戶交流,便于調(diào)整軟件功能,實(shí)現(xiàn)客戶需求。2.4 一般約束進(jìn)行本系統(tǒng)開發(fā)工作的約束條件如下:1.開發(fā)周期短:兩個月的開發(fā)時間需要開發(fā)者合理規(guī)劃時間,做到多項(xiàng)任務(wù)并發(fā)。2.所采用的方法與技術(shù)有限:項(xiàng)目團(tuán)隊(duì)成員的技術(shù)水平不夠成熟,需要在開發(fā)中并發(fā)學(xué)習(xí)多種技術(shù)和能力。-可編輯修改 -_2.5 假設(shè)與依據(jù)本項(xiàng)目是否能夠成功實(shí)施,主要取決于以下的條件:( 1 )團(tuán)隊(duì)成員的積極合作配合,為了項(xiàng)目的開發(fā)和實(shí)施,對個人時間進(jìn)行合理規(guī)劃同時為團(tuán)隊(duì)做出合理犧牲,配合隊(duì)友完成任務(wù)。( 2 )完整詳細(xì)的功能和性能需求資料,以便于團(tuán)隊(duì)對其進(jìn)行分析,從而形成完善的軟件需求。( 3 )團(tuán)隊(duì)掌握先進(jìn)的能夠適用于該項(xiàng)目的技
12、術(shù),這是系統(tǒng)的性能是否優(yōu)化和項(xiàng)目能否成功的保證。3.總體設(shè)計3.1 架構(gòu)設(shè)計設(shè)計思想將調(diào)度行為抽象形成“調(diào)度中心”公共平臺,而平臺自身并不承擔(dān)業(yè)務(wù)邏輯,“調(diào)度中心”負(fù)責(zé)發(fā)起調(diào)度請求。將任務(wù)抽象成分散的JobHandler ,交由“執(zhí)行器”統(tǒng)一管理,“執(zhí)行器”負(fù)責(zé)接收調(diào)度請求并執(zhí)行對應(yīng)的JobHandler中業(yè)務(wù)邏輯。因此,“調(diào)度”和“任務(wù)”兩部分可以相互解耦,提高系統(tǒng)整體穩(wěn)定性和擴(kuò)展性;系統(tǒng)組成調(diào)度模塊(調(diào)度中心): 負(fù)責(zé)管理調(diào)度信息,按照調(diào)度配置發(fā)出調(diào)度請求,自身不承-可編輯修改 -_擔(dān)業(yè)務(wù)代碼。 調(diào)度系統(tǒng)與任務(wù)解耦,提高了系統(tǒng)可用性和穩(wěn)定性,同時調(diào)度系統(tǒng)性能不再受限于任務(wù)模塊;支持可視化、
13、簡單且動態(tài)的管理調(diào)度信息,包括任務(wù)新建,更新,刪除,GLUE 開發(fā)和任務(wù)報警等,所有上述操作都會實(shí)時生效,同時支持監(jiān)控調(diào)度結(jié)果以及執(zhí)行日志,支持執(zhí)行器Failover 。執(zhí)行模塊(執(zhí)行器): 負(fù)責(zé)接收調(diào)度請求并執(zhí)行任務(wù)邏輯。任務(wù)模塊專注于任務(wù)的執(zhí)行等操作,開發(fā)和維護(hù)更加簡單和高效;接收“調(diào)度中心”的執(zhí)行請求、終止請求和日志請求等。架構(gòu)圖調(diào)度中心 HA( 集群 )基于 Quartz 的集群方案, 數(shù)據(jù)庫選用Mysql ;集群分布式并發(fā)環(huán)境中使用QUARTZ定時任務(wù)調(diào)度, 會在各個節(jié)點(diǎn)會上報任務(wù),存到數(shù)據(jù)庫中, 執(zhí)行時會從數(shù)據(jù)庫中取出觸發(fā)器來-可編輯修改 -_執(zhí)行,如果觸發(fā)器的名稱和執(zhí)行時間相同,
14、則只有一個節(jié)點(diǎn)去執(zhí)行此任務(wù)。調(diào)度線程池調(diào)度采用線程池方式實(shí)現(xiàn),避免單線程因阻塞而引起任務(wù)調(diào)度延遲。任務(wù)調(diào)度中心系統(tǒng)中業(yè)務(wù)邏輯在遠(yuǎn)程執(zhí)行器執(zhí)行,全異步化設(shè)計, 調(diào)度中心每次觸發(fā)調(diào)度時僅發(fā)送一次調(diào)度請求,執(zhí)行器會將請求存入執(zhí)行隊(duì)列并且立即響應(yīng)調(diào)度中心,異步運(yùn)行;相比直接在quartz 的 QuartzJobBean中執(zhí)行業(yè)務(wù)邏輯,極大的降低了調(diào)度線程占用時間;任務(wù)調(diào)度中心系統(tǒng)中每個邏輯非常“輕”,單個一次運(yùn)行平均耗時基本在"10ms"之內(nèi)(基本為一次請求的網(wǎng)絡(luò)開銷);因此,可以保證使用有限的線程支撐大量的并發(fā)運(yùn)行;理論支撐任務(wù)量公式如下:理論支撐任務(wù)量= 線程數(shù)配置/ 平均調(diào)度
15、頻率(每秒)* 平均觸發(fā)耗時(單位s)實(shí)際場景中, 由于調(diào)度中心與執(zhí)行器ping 延遲不同、 DB 讀寫耗時不同、 任務(wù)調(diào)度密集程度不同,會導(dǎo)致任務(wù)量上限會上下波動。如若需要支撐更多的任務(wù)量,可以通過"調(diào)大調(diào)度線程數(shù)" 、 " 降低調(diào)度中心與執(zhí)行器ping 延遲 " 和 "提升機(jī)器配置" 幾種方式實(shí)現(xiàn)。日志回調(diào)任務(wù)調(diào)度模塊的“調(diào)度中心”作為 Web 服務(wù)部署時,一方面承擔(dān)調(diào)度中心功能,另一方面也-可編輯修改 -_為執(zhí)行器提供API 服務(wù)調(diào)度日志調(diào)度中心每次進(jìn)行任務(wù)調(diào)度,都會記錄一條任務(wù)日志,任務(wù)日志主要包括以下三部分內(nèi)容:任務(wù)信息:包
16、括 “執(zhí)行器地址 ”、 “JobHandler ”和 “執(zhí)行參數(shù) ”等屬性,點(diǎn)擊任務(wù)ID 按鈕可查看,根據(jù)這些參數(shù),可以精確的定位任務(wù)執(zhí)行的具體機(jī)器和任務(wù)代碼。調(diào)度信息:包括 “調(diào)度時間 ”、“調(diào)度結(jié)果 ”和“調(diào)度日志 ”等,根據(jù)這些參數(shù),可以了解“調(diào)度中心 ”發(fā)起調(diào)度請求時具體情況。執(zhí)行信息:包括 “執(zhí)行時間 ”、“執(zhí)行結(jié)果 ”和“執(zhí)行日志 ”等,根據(jù)這些參數(shù),可以了解在“執(zhí)行器 ”端任務(wù)執(zhí)行的具體情況;調(diào)度日志,針對單次調(diào)度,屬性說明如下:執(zhí)行器地址:任務(wù)執(zhí)行的機(jī)器地址;JobHandler : Bean 模式表示任務(wù)執(zhí)行的JobHandler名稱;任務(wù)參數(shù):任務(wù)執(zhí)行的入?yún)ⅲ徽{(diào)度時間:調(diào)度
17、中心,發(fā)起調(diào)度的時間;調(diào)度結(jié)果:調(diào)度中心,發(fā)起調(diào)度的結(jié)果,SUCCESS 或 FAIL ;調(diào)度備注:調(diào)度中心,發(fā)起調(diào)度的備注信息,如地址心跳檢測日志等;執(zhí)行時間:執(zhí)行器,任務(wù)執(zhí)行結(jié)束后回調(diào)的時間;執(zhí)行結(jié)果:執(zhí)行器,任務(wù)執(zhí)行的結(jié)果,SUCCESS或 FAIL ;執(zhí)行備注:執(zhí)行器,任務(wù)執(zhí)行的備注信息,如異常日志等;-可編輯修改 -_執(zhí)行日志:任務(wù)執(zhí)行過程中,業(yè)務(wù)代碼中打印的完整執(zhí)行日志。任務(wù)依賴任務(wù)調(diào)度中心每個任務(wù)都對應(yīng)有一個任務(wù)ID ,同時,每個任務(wù)支持設(shè)置屬性“子任務(wù)ID ”,因此,通過“任務(wù) ID ”可以匹配任務(wù)依賴關(guān)系。當(dāng)父任務(wù)執(zhí)行結(jié)束并且執(zhí)行成功時,將會根據(jù)“子任務(wù) ID ”匹配子任務(wù)依
18、賴, 如果匹配到子任務(wù),將會主動觸發(fā)一次子任務(wù)的執(zhí)行。在任務(wù)日志界面,點(diǎn)擊任務(wù)的“執(zhí)行備注”的“查看”按鈕,可以看到匹配子任務(wù)以及觸發(fā)子任務(wù)執(zhí)行的日志信息,如無信息則表示未觸發(fā)子任務(wù)執(zhí)行。通訊數(shù)據(jù)加密調(diào)度中心向執(zhí)行器發(fā)送的調(diào)度請求時使用RequestModel和 ResponseModel兩個對象封裝調(diào)度請求參數(shù)和響應(yīng)數(shù)據(jù), 在進(jìn)行通訊之前底層會將上述兩個對象對象序列化,并進(jìn)行數(shù)據(jù)協(xié)議以及時間戳檢驗(yàn),從而達(dá)到數(shù)據(jù)加密的功能;分片廣播、動態(tài)分片執(zhí)行器集群部署時,任務(wù)路由策略選擇"分片廣播 "情況下,一次任務(wù)調(diào)度將會廣播觸發(fā)對應(yīng)集群中所有執(zhí)行器執(zhí)行一次任務(wù),同時傳遞分片參數(shù);可
19、根據(jù)分片參數(shù)開發(fā)分片任務(wù);-可編輯修改 -_"分片廣播 " 以執(zhí)行器為維度進(jìn)行分片,支持動態(tài)擴(kuò)容執(zhí)行器集群從而動態(tài)增加分片數(shù)量,協(xié)同進(jìn)行業(yè)務(wù)處理;在進(jìn)行大數(shù)據(jù)量業(yè)務(wù)操作時可顯著提升任務(wù)處理能力和速度。" 分片廣播 " 和普通任務(wù)開發(fā)流程一致, 不同之處在于可以可以獲取分片參數(shù), 獲取分片參數(shù)進(jìn)行分片業(yè)務(wù)處理。訪問令牌( AccessToken )為提升系統(tǒng)安全性,調(diào)度中心和執(zhí)行器進(jìn)行安全性校驗(yàn),雙方AccessToken匹配才允許通訊;調(diào)度中心和執(zhí)行器,可通過配置項(xiàng)進(jìn)行 AccessToken的設(shè)置。調(diào)度中心和執(zhí)行器,如果需要正常通訊,只有兩種設(shè)置;一:
20、調(diào)度中心和執(zhí)行器,均不設(shè)置AccessToken;關(guān)閉安全性校驗(yàn);二:調(diào)度中心和執(zhí)行器,設(shè)置了相同的AccessToken;故障轉(zhuǎn)移、失敗重試一次完整任務(wù)流程包括"調(diào)度(調(diào)度中心)+ 執(zhí)行(執(zhí)行器)"兩個階段"故障轉(zhuǎn)移 "發(fā)生在調(diào)度階段,在執(zhí)行器集群部署時,如果某一臺執(zhí)行器發(fā)生故障,該策略支持自動進(jìn)行Failover 切換到一臺正常的執(zhí)行器機(jī)器并且完成調(diào)度請求流程。"失敗重試 "發(fā)生在 "調(diào)度+ 執(zhí)行 " 兩個階段,如下-可編輯修改 -_調(diào)度失敗重試:調(diào)度中心調(diào)度失敗且啟用" 調(diào)度失敗重試 "策
21、略時,將會自動重試一次;執(zhí)行失敗重試:執(zhí)行器執(zhí)行失敗且啟用" 執(zhí)行失敗重試 "策略,或回調(diào)失敗重試狀態(tài)( IJobHandler.FAIL_RETRY )時,也將會自動重試一次;任務(wù)超時控制支持設(shè)置任務(wù)超時時間,任務(wù)運(yùn)行超時的情況下,將會主動中斷任務(wù);4.系統(tǒng)功能4.1 功能需求系統(tǒng)角色及登陸該系統(tǒng)共有三種角色:JobClient(作業(yè)客戶機(jī)) , JobTracker (作業(yè)跟蹤器) , TaskTracker(守護(hù)進(jìn)程者) 。所有角色都具有登陸功能,根據(jù)角色不同登陸后進(jìn)入各個角色所對應(yīng)的頁面。1.登錄界面用戶通過輸入賬號密碼,點(diǎn)擊登錄,登錄不同的賬號自動判斷角色,進(jìn)入不
22、同的界面。2. JobClient: 主要負(fù)責(zé)提交任務(wù)和接收任務(wù)執(zhí)行反饋結(jié)果。-可編輯修改 -_3. JobTracker : 負(fù)責(zé)接收并分配任務(wù),任務(wù)調(diào)度。4.TaskTracker:負(fù)責(zé)執(zhí)行任務(wù),執(zhí)行完反饋給JobTracker 。工作流程1.JobClient提交一個 任務(wù) 給 JobTracker, 這里我提供了兩種客戶端API,一種是如果 JobTracker不存在或者提交失敗,直接返回提交失敗。另一種客戶端是重試客戶端, 如果提交失敗, 先存儲到本地 leveldb( 可以使用 NFS 來達(dá)到同個節(jié)點(diǎn)組共享leveldb文件的目的, 多線程訪問,做了文件鎖處理),返回給客戶端提交成
23、功的信息,待JobTracker可用的時候,再將任務(wù)提交。2.JobTracker 收到 JobClient提交來的任務(wù), 先生成一個唯一的JobID 。然后將任務(wù)儲存在 Mongo 集群中。 JobTracker發(fā)現(xiàn)有(任務(wù)執(zhí)行的)可用的TaskTracker節(jié)點(diǎn)(組) 之后,將優(yōu)先級最大,最先提交的任務(wù)分發(fā)給TaskTracker 。這里 JobTracker會優(yōu)先分配給比較空閑的 TaskTracker 節(jié)點(diǎn),達(dá)到負(fù)載均衡。3.TaskTracker收到 JobTracker分發(fā)來的任務(wù)之后,執(zhí)行。執(zhí)行完畢之后,再反饋任務(wù)執(zhí)行結(jié)果給JobTracker (成功 or 失敗 失敗有失敗錯誤
24、信息 ),如果發(fā)現(xiàn)JobTacker不可用,那么存儲本地leveldb ,等待 TaskTracker可用的時候再反饋。反饋結(jié)果的同時,詢問 JobTacker有沒有新的任務(wù)要執(zhí)行。4.JobTacker收到 TaskTracker節(jié)點(diǎn)的任務(wù)結(jié)果信息,生成并插入(mongo) 任務(wù)執(zhí)行日志。根據(jù)任務(wù)信息決定要不要反饋給客戶端。不需要反饋的直接刪除, 需要反饋的(同樣-可編輯修改 -_JobClient不可用存儲文件,等待可用重發(fā))。5.JobClient收到任務(wù)執(zhí)行結(jié)果,進(jìn)行自己想要的邏輯處理。4.2 外部接口需求用戶接口本系統(tǒng)采用B/S 架構(gòu),所有界面使用APP 風(fēng)格,用戶界面的具體細(xì)在功能
25、需求文檔中描述。硬件接口無特殊需求。軟件接口無特殊需求。通信接口無特殊需求。4.3 性能需求非功能性需求當(dāng)前尚未形成完整文檔。-可編輯修改 -_4.4 屬性可用性( 1 )方便操作,操作流程合理。盡量從用戶角度出發(fā),以方便使用本產(chǎn)品。如:新增信息時,敲入回車鍵光標(biāo)的自動跳轉(zhuǎn)、 輸入法的自動轉(zhuǎn)換, 信息檢索時輸入漢語簡拼快速檢索到結(jié)果等。( 2 )控制必錄入項(xiàng)。本系統(tǒng)能夠?qū)Ρ仨氫浫氲捻?xiàng)目進(jìn)行控制,使用戶能夠確保信息錄入的完整。同時對必錄入項(xiàng)進(jìn)行有效的統(tǒng)一的提示。( 4 )容錯能力。系統(tǒng)具有一定的容錯和抗干擾能力,在非硬件故障或非通訊故障時,系統(tǒng)能夠保證正常運(yùn)行,并有足夠的提示信息幫助用戶有效正確地完成任務(wù)。( 5 )操作完成時有統(tǒng)一規(guī)范的提示信息。 例如刪除操作時,系統(tǒng)可提示警示框“您確認(rèn)刪除記錄嗎?操作不可恢復(fù)!”,用戶點(diǎn)擊確認(rèn)后,系統(tǒng)才執(zhí)行刪除操作,刪除后可直接返回相關(guān)頁面。安全性(1 )權(quán)限控制根據(jù)不同用戶角色,設(shè)置相應(yīng)權(quán)限, 用戶的重要操作都做相應(yīng)的日志記錄以備查看,沒有權(quán)限的用戶禁止使用系統(tǒng)。( 2 )重要數(shù)據(jù)加密對一些重要的數(shù)據(jù)按一定的算法進(jìn)行加密,如用戶口令、重要參數(shù)等。( 3 )數(shù)據(jù)備份允許用戶進(jìn)行數(shù)據(jù)的備份和恢復(fù),以彌補(bǔ)數(shù)據(jù)的破壞和丟失。-可編輯修改 -_( 4 )
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度禮品包裝設(shè)計創(chuàng)意授權(quán)合同
- 軟件公司裝修監(jiān)理合同要求
- 企業(yè)級云計算服務(wù)解決方案設(shè)計與實(shí)施
- 粉煤灰銷售合同
- 架子工安全施工的協(xié)議書
- 農(nóng)產(chǎn)品質(zhì)量安全追溯系統(tǒng)建設(shè)與合作協(xié)議
- 農(nóng)業(yè)綜合開發(fā)工作指南與規(guī)范
- 化學(xué)品運(yùn)輸合同
- 三農(nóng)村社區(qū)信息化建設(shè)與管理規(guī)范
- 公共衛(wèi)生與防疫服務(wù)作業(yè)指導(dǎo)書
- GB/T 26189.2-2024工作場所照明第2部分:室外作業(yè)場所的安全保障照明要求
- 2025年中國水解聚馬來酸酐市場調(diào)查研究報告
- 高考百日誓師動員大會
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 2024新人教版初中英語單詞表默寫版(七~九年級)
- 復(fù)工復(fù)產(chǎn)質(zhì)量管理工作
- 2025年東方電氣集團(tuán)東方鍋爐股份限公司校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《敏捷項(xiàng)目管理》課件
- 統(tǒng)編版(2024新版)七年級上學(xué)期道德與法治期末綜合測試卷(含答案)
- 監(jiān)獄安全管理
- 前程無憂測評題庫及答案
評論
0/150
提交評論