版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上<任務(wù)調(diào)度中心后臺(tái)管理系統(tǒng)>需求規(guī)格說明書 作 者: 完成日期: 修訂歷史記錄日期版本說明作者V1.0目錄1. 引言1.1 目的 該文檔首先給出項(xiàng)目的整體結(jié)構(gòu)和功能結(jié)構(gòu)概貌,試圖從總體架構(gòu)上給出整個(gè)系統(tǒng)的輪廓。同時(shí)對(duì)功能需求、性能需求進(jìn)行了詳細(xì)的描述。便于用戶、開發(fā)人員進(jìn)行理解和交流,反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)以及確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。 本文檔面向多種讀者對(duì)象:(1)項(xiàng)目經(jīng)理:項(xiàng)目經(jīng)理可以根據(jù)該文檔了解預(yù)期產(chǎn)品的功能,并據(jù)此進(jìn)行系統(tǒng)設(shè)計(jì)、項(xiàng)目管理。(2)設(shè)計(jì)員:對(duì)需求進(jìn)行分析,并設(shè)計(jì)出系統(tǒng),包括數(shù)據(jù)庫的設(shè)計(jì)。(3)程序員:了解系
2、統(tǒng)功能,編寫用戶手冊(cè)。(4)測(cè)試員:根據(jù)本文檔編寫測(cè)試用例,并對(duì)軟件產(chǎn)品進(jìn)行功能性測(cè)試和非功能性測(cè)試。(5)用戶:了解預(yù)期產(chǎn)品的功能和性能,并與分析人員一起對(duì)整個(gè)需求進(jìn)行討論和協(xié)商。在閱讀本文檔時(shí),首先要了解產(chǎn)品的功能概貌,然后可以根據(jù)自身的需要對(duì)每一功能進(jìn)行適當(dāng)?shù)牧私狻?.2 背景本次待開發(fā)的軟件為任務(wù)調(diào)度中心后臺(tái)管理系統(tǒng)。用戶通過使用該系統(tǒng)在移動(dòng)終端完成任務(wù)分配等操作。1.3 概述 該平臺(tái)是一個(gè)輕量級(jí)分布式任務(wù)調(diào)度平臺(tái),其核心設(shè)計(jì)是統(tǒng)一管理任務(wù)調(diào)度平臺(tái)上調(diào)度任務(wù),負(fù)責(zé)出發(fā)調(diào)度執(zhí)行,并且提供任務(wù)管理平臺(tái)。1.4參考文獻(xiàn)1 GB-T8567-2006,計(jì)算機(jī)軟件文檔編制規(guī)范S2. 項(xiàng)目概述2.
3、1 產(chǎn)品特性 1、簡(jiǎn)單:支持通過Web頁面對(duì)任務(wù)進(jìn)行CRUD操作,操作簡(jiǎn)單,容易上手;· 2、動(dòng)態(tài):支持動(dòng)態(tài)修改任務(wù)狀態(tài)、暫停/恢復(fù)任務(wù),以及終止運(yùn)行中任務(wù),即時(shí)生效;· 3、調(diào)度中心HA(中心式):調(diào)度采用中心式設(shè)計(jì),“調(diào)度中心”基于集群Quartz實(shí)現(xiàn)并支持集群部署,可保證調(diào)度中心HA;· 4、執(zhí)行器HA(分布式):任務(wù)分布式執(zhí)行,任務(wù)"執(zhí)行器"支持集群部署,可保證任務(wù)執(zhí)行HA;· 5、注冊(cè)中心: 執(zhí)行器會(huì)周期性自動(dòng)注冊(cè)任務(wù), 調(diào)度中心將會(huì)自動(dòng)發(fā)現(xiàn)注冊(cè)的任務(wù)并觸發(fā)執(zhí)行。同時(shí),也支持手動(dòng)錄入執(zhí)行器地址;· 6、彈性擴(kuò)容縮容
4、:一旦有新執(zhí)行器機(jī)器上線或者下線,下次調(diào)度時(shí)將會(huì)重新分配任務(wù);· 7、路由策略:執(zhí)行器集群部署時(shí)提供豐富的路由策略,包括:第一個(gè)、最后一個(gè)、輪詢、隨機(jī)、一致性HASH、最不經(jīng)常使用、最近最久未使用、故障轉(zhuǎn)移、忙碌轉(zhuǎn)移等;· 8、故障轉(zhuǎn)移:任務(wù)路由策略選擇"故障轉(zhuǎn)移"情況下,如果執(zhí)行器集群中某一臺(tái)機(jī)器故障,將會(huì)自動(dòng)Failover切換到一臺(tái)正常的執(zhí)行器發(fā)送調(diào)度請(qǐng)求。· 9、失敗處理策略;調(diào)度失敗時(shí)的處理策略,策略包括:失敗告警、失敗重試;· 10、失敗重試:調(diào)度中心調(diào)度失敗且啟用"調(diào)度失敗重試"策略時(shí),將會(huì)自動(dòng)重試一
5、次;執(zhí)行器執(zhí)行失敗且啟用"執(zhí)行失敗重試"策略,或回調(diào)失敗重試狀態(tài)時(shí),也將會(huì)自動(dòng)重試一次;· 11、阻塞處理策略:調(diào)度過于密集執(zhí)行器來不及處理時(shí)的處理策略,策略包括:?jiǎn)螜C(jī)串行(默認(rèn))、丟棄后續(xù)調(diào)度、覆蓋之前調(diào)度;· 12、任務(wù)超時(shí)控制:支持設(shè)置任務(wù)超時(shí)時(shí)間,任務(wù)運(yùn)行超時(shí)的情況下,將會(huì)主動(dòng)中斷任務(wù);· 13、分片廣播任務(wù):執(zhí)行器集群部署時(shí),任務(wù)路由策略選擇"分片廣播"情況下,一次任務(wù)調(diào)度將會(huì)廣播觸發(fā)集群中所有執(zhí)行器執(zhí)行一次任務(wù),可根據(jù)分片參數(shù)開發(fā)分片任務(wù);· 14、動(dòng)態(tài)分片:分片廣播任務(wù)以執(zhí)行器為維度進(jìn)行分片,支持動(dòng)態(tài)
6、擴(kuò)容執(zhí)行器集群從而動(dòng)態(tài)增加分片數(shù)量,協(xié)同進(jìn)行業(yè)務(wù)處理;在進(jìn)行大數(shù)據(jù)量業(yè)務(wù)操作時(shí)可顯著提升任務(wù)處理能力和速度。· 15、事件觸發(fā):除了"Cron方式"和"任務(wù)依賴方式"觸發(fā)任務(wù)執(zhí)行之外,支持基于事件的觸發(fā)任務(wù)方式。調(diào)度中心提供觸發(fā)任務(wù)單次執(zhí)行的API服務(wù),可根據(jù)業(yè)務(wù)事件靈活觸發(fā)。· 16、任務(wù)進(jìn)度監(jiān)控:支持實(shí)時(shí)監(jiān)控任務(wù)進(jìn)度;· 17、Rolling實(shí)時(shí)日志:支持在線查看調(diào)度結(jié)果,并且支持以Rolling方式實(shí)時(shí)查看執(zhí)行器輸出的完整的執(zhí)行日志;· 18、GLUE:提供Web IDE,支持在線開發(fā)任務(wù)邏輯代碼,動(dòng)態(tài)發(fā)布,
7、實(shí)時(shí)編譯生效,省略部署上線的過程。支持30個(gè)版本的歷史版本回溯。· 19、腳本任務(wù):支持以GLUE模式開發(fā)和運(yùn)行腳本任務(wù),包括Shell、Python、NodeJS等類型腳本;· 20、任務(wù)依賴:支持配置子任務(wù)依賴,當(dāng)父任務(wù)執(zhí)行結(jié)束且執(zhí)行成功后將會(huì)主動(dòng)觸發(fā)一次子任務(wù)的執(zhí)行, 多個(gè)子任務(wù)用逗號(hào)分隔;· 21、一致性:“調(diào)度中心”通過DB鎖保證集群分布式調(diào)度的一致性, 一次任務(wù)調(diào)度只會(huì)觸發(fā)一次執(zhí)行;· 22、自定義任務(wù)參數(shù):支持在線配置調(diào)度任務(wù)入?yún)?,即時(shí)生效;· 23、調(diào)度線程池:調(diào)度系統(tǒng)多線程觸發(fā)調(diào)度運(yùn)行,確保調(diào)度精確執(zhí)行,不被堵塞;·
8、 24、數(shù)據(jù)加密:調(diào)度中心和執(zhí)行器之間的通訊進(jìn)行數(shù)據(jù)加密,提升調(diào)度信息安全性;· 25、郵件報(bào)警:任務(wù)失敗時(shí)支持郵件報(bào)警,支持配置多郵件地址群發(fā)報(bào)警郵件;· 26、推送maven中央倉庫: 將會(huì)把最新穩(wěn)定版推送到maven中央倉庫, 方便用戶接入和使用;· 27、運(yùn)行報(bào)表:支持實(shí)時(shí)查看運(yùn)行數(shù)據(jù),如任務(wù)數(shù)量、調(diào)度次數(shù)、執(zhí)行器數(shù)量等;以及調(diào)度報(bào)表,如調(diào)度日期分布圖,調(diào)度成功分布圖等;· 28、全異步:系統(tǒng)底層實(shí)現(xiàn)全部異步化,針對(duì)密集調(diào)度進(jìn)行流量削峰,理論上支持任意時(shí)長(zhǎng)任務(wù)的運(yùn)行;2.2 產(chǎn)品設(shè)計(jì)理念當(dāng)前各大行業(yè)人群密集,因大量繁瑣的任務(wù)分配不及時(shí)而困擾,繁瑣
9、的根源便是郵件的收發(fā)、電話溝通,需要人工分配任務(wù),最終人工匯總表格,工作量大且出錯(cuò)率高。任務(wù)調(diào)度中心系統(tǒng)致力于通過平臺(tái)便捷地完成此項(xiàng)工作,且大大降低出錯(cuò)率。2.3 用戶特點(diǎn) 本系統(tǒng)的最終用戶群體普遍接受高等教育,學(xué)習(xí)及適應(yīng)能力強(qiáng)。能快速適應(yīng)該軟件,并充分感受到在任務(wù)調(diào)度中心的效能變化,提出合理改進(jìn)意見。操作人員及維護(hù)人員為了解該工作的整體流程,深入用戶交流,便于調(diào)整軟件功能,實(shí)現(xiàn)客戶需求。2.4 一般約束進(jìn)行本系統(tǒng)開發(fā)工作的約束條件如下:1.開發(fā)周期短:兩個(gè)月的開發(fā)時(shí)間需要開發(fā)者合理規(guī)劃時(shí)間,做到多項(xiàng)任務(wù)并發(fā)。2.所采用的方法與技術(shù)有限:項(xiàng)目團(tuán)隊(duì)成員的技術(shù)水平不夠成熟,需要在開發(fā)中并發(fā)學(xué)習(xí)多種
10、技術(shù)和能力。 2.5 假設(shè)與依據(jù)本項(xiàng)目是否能夠成功實(shí)施,主要取決于以下的條件:(1)團(tuán)隊(duì)成員的積極合作配合,為了項(xiàng)目的開發(fā)和實(shí)施,對(duì)個(gè)人時(shí)間進(jìn)行合理規(guī)劃同時(shí)為團(tuán)隊(duì)做出合理犧牲,配合隊(duì)友完成任務(wù)。(2)完整詳細(xì)的功能和性能需求資料,以便于團(tuán)隊(duì)對(duì)其進(jìn)行分析,從而形成完善的軟件需求。(3)團(tuán)隊(duì)掌握先進(jìn)的能夠適用于該項(xiàng)目的技術(shù),這是系統(tǒng)的性能是否優(yōu)化和項(xiàng)目能否成功的保證。3.總體設(shè)計(jì)3.1架構(gòu)設(shè)計(jì)3.1.1 設(shè)計(jì)思想將調(diào)度行為抽象形成“調(diào)度中心”公共平臺(tái),而平臺(tái)自身并不承擔(dān)業(yè)務(wù)邏輯,“調(diào)度中心”負(fù)責(zé)發(fā)起調(diào)度請(qǐng)求。將任務(wù)抽象成分散的JobHandler,交由“執(zhí)行器”統(tǒng)一管理,“執(zhí)行器”負(fù)責(zé)接收調(diào)度請(qǐng)求
11、并執(zhí)行對(duì)應(yīng)的JobHandler中業(yè)務(wù)邏輯。因此,“調(diào)度”和“任務(wù)”兩部分可以相互解耦,提高系統(tǒng)整體穩(wěn)定性和擴(kuò)展性;3.1.2 系統(tǒng)組成調(diào)度模塊(調(diào)度中心): 負(fù)責(zé)管理調(diào)度信息,按照調(diào)度配置發(fā)出調(diào)度請(qǐng)求,自身不承擔(dān)業(yè)務(wù)代碼。調(diào)度系統(tǒng)與任務(wù)解耦,提高了系統(tǒng)可用性和穩(wěn)定性,同時(shí)調(diào)度系統(tǒng)性能不再受限于任務(wù)模塊; 支持可視化、簡(jiǎn)單且動(dòng)態(tài)的管理調(diào)度信息,包括任務(wù)新建,更新,刪除,GLUE開發(fā)和任務(wù)報(bào)警等,所有上述操作都會(huì)實(shí)時(shí)生效,同時(shí)支持監(jiān)控調(diào)度結(jié)果以及執(zhí)行日志,支持執(zhí)行器Failover。執(zhí)行模塊(執(zhí)行器): 負(fù)責(zé)接收調(diào)度請(qǐng)求并執(zhí)行任務(wù)邏輯。任務(wù)模塊專注于任務(wù)的執(zhí)行等操作,開發(fā)和維護(hù)更加簡(jiǎn)單和高效;
12、接收“調(diào)度中心”的執(zhí)行請(qǐng)求、終止請(qǐng)求和日志請(qǐng)求等。3.1.3 架構(gòu)圖3.1.4 調(diào)度中心HA(集群)基于Quartz的集群方案,數(shù)據(jù)庫選用Mysql;集群分布式并發(fā)環(huán)境中使用QUARTZ定時(shí)任務(wù)調(diào)度,會(huì)在各個(gè)節(jié)點(diǎn)會(huì)上報(bào)任務(wù),存到數(shù)據(jù)庫中,執(zhí)行時(shí)會(huì)從數(shù)據(jù)庫中取出觸發(fā)器來執(zhí)行,如果觸發(fā)器的名稱和執(zhí)行時(shí)間相同,則只有一個(gè)節(jié)點(diǎn)去執(zhí)行此任務(wù)。3.1.5 調(diào)度線程池調(diào)度采用線程池方式實(shí)現(xiàn),避免單線程因阻塞而引起任務(wù)調(diào)度延遲。任務(wù)調(diào)度中心系統(tǒng)中業(yè)務(wù)邏輯在遠(yuǎn)程執(zhí)行器執(zhí)行,全異步化設(shè)計(jì),調(diào)度中心每次觸發(fā)調(diào)度時(shí)僅發(fā)送一次調(diào)度請(qǐng)求,執(zhí)行器會(huì)將請(qǐng)求存入執(zhí)行隊(duì)列并且立即響應(yīng)調(diào)度中心,異步運(yùn)行;相比直接在quartz的Q
13、uartzJobBean中執(zhí)行業(yè)務(wù)邏輯,極大的降低了調(diào)度線程占用時(shí)間;任務(wù)調(diào)度中心系統(tǒng)中每個(gè)邏輯非常 “輕”,單個(gè)一次運(yùn)行平均耗時(shí)基本在 "10ms" 之內(nèi)(基本為一次請(qǐng)求的網(wǎng)絡(luò)開銷);因此,可以保證使用有限的線程支撐大量的并發(fā)運(yùn)行;理論支撐任務(wù)量公式如下:理論支撐任務(wù)量 = 線程數(shù)配置 / 平均調(diào)度頻率(每秒) * 平均觸發(fā)耗時(shí)(單位s)實(shí)際場(chǎng)景中,由于調(diào)度中心與執(zhí)行器ping延遲不同、DB讀寫耗時(shí)不同、任務(wù)調(diào)度密集程度不同,會(huì)導(dǎo)致任務(wù)量上限會(huì)上下波動(dòng)。如若需要支撐更多的任務(wù)量,可以通過 "調(diào)大調(diào)度線程數(shù)" 、"降低調(diào)度中心與執(zhí)行器ping延
14、遲" 和 "提升機(jī)器配置" 幾種方式實(shí)現(xiàn)。3.1.6 日志回調(diào)任務(wù)調(diào)度模塊的“調(diào)度中心”作為Web服務(wù)部署時(shí),一方面承擔(dān)調(diào)度中心功能,另一方面也為執(zhí)行器提供API服務(wù)3.1.7 調(diào)度日志調(diào)度中心每次進(jìn)行任務(wù)調(diào)度,都會(huì)記錄一條任務(wù)日志,任務(wù)日志主要包括以下三部分內(nèi)容:任務(wù)信息:包括“執(zhí)行器地址”、“JobHandler”和“執(zhí)行參數(shù)”等屬性,點(diǎn)擊任務(wù)ID按鈕可查看,根據(jù)這些參數(shù),可以精確的定位任務(wù)執(zhí)行的具體機(jī)器和任務(wù)代碼。調(diào)度信息:包括“調(diào)度時(shí)間”、“調(diào)度結(jié)果”和“調(diào)度日志”等,根據(jù)這些參數(shù),可以了解“調(diào)度中心”發(fā)起調(diào)度請(qǐng)求時(shí)具體情況。執(zhí)行信息:包括“執(zhí)行時(shí)間”、“
15、執(zhí)行結(jié)果”和“執(zhí)行日志”等,根據(jù)這些參數(shù),可以了解在“執(zhí)行器”端任務(wù)執(zhí)行的具體情況;調(diào)度日志,針對(duì)單次調(diào)度,屬性說明如下:執(zhí)行器地址:任務(wù)執(zhí)行的機(jī)器地址;JobHandler:Bean模式表示任務(wù)執(zhí)行的JobHandler名稱;任務(wù)參數(shù):任務(wù)執(zhí)行的入?yún)?;調(diào)度時(shí)間:調(diào)度中心,發(fā)起調(diào)度的時(shí)間;調(diào)度結(jié)果:調(diào)度中心,發(fā)起調(diào)度的結(jié)果,SUCCESS或FAIL;調(diào)度備注:調(diào)度中心,發(fā)起調(diào)度的備注信息,如地址心跳檢測(cè)日志等;執(zhí)行時(shí)間:執(zhí)行器,任務(wù)執(zhí)行結(jié)束后回調(diào)的時(shí)間;執(zhí)行結(jié)果:執(zhí)行器,任務(wù)執(zhí)行的結(jié)果,SUCCESS或FAIL;執(zhí)行備注:執(zhí)行器,任務(wù)執(zhí)行的備注信息,如異常日志等;執(zhí)行日志:任務(wù)執(zhí)行過程中,業(yè)務(wù)
16、代碼中打印的完整執(zhí)行日志。3.1.8 任務(wù)依賴任務(wù)調(diào)度中心每個(gè)任務(wù)都對(duì)應(yīng)有一個(gè)任務(wù)ID,同時(shí),每個(gè)任務(wù)支持設(shè)置屬性“子任務(wù)ID”,因此,通過“任務(wù)ID”可以匹配任務(wù)依賴關(guān)系。當(dāng)父任務(wù)執(zhí)行結(jié)束并且執(zhí)行成功時(shí),將會(huì)根據(jù)“子任務(wù)ID”匹配子任務(wù)依賴,如果匹配到子任務(wù),將會(huì)主動(dòng)觸發(fā)一次子任務(wù)的執(zhí)行。在任務(wù)日志界面,點(diǎn)擊任務(wù)的“執(zhí)行備注”的“查看”按鈕,可以看到匹配子任務(wù)以及觸發(fā)子任務(wù)執(zhí)行的日志信息,如無信息則表示未觸發(fā)子任務(wù)執(zhí)行。3.1.9 通訊數(shù)據(jù)加密調(diào)度中心向執(zhí)行器發(fā)送的調(diào)度請(qǐng)求時(shí)使用RequestModel和ResponseModel兩個(gè)對(duì)象封裝調(diào)度請(qǐng)求參數(shù)和響應(yīng)數(shù)據(jù), 在進(jìn)行通訊之前底層會(huì)將上
17、述兩個(gè)對(duì)象對(duì)象序列化,并進(jìn)行數(shù)據(jù)協(xié)議以及時(shí)間戳檢驗(yàn),從而達(dá)到數(shù)據(jù)加密的功能;3.2.0 分片廣播、動(dòng)態(tài)分片執(zhí)行器集群部署時(shí),任務(wù)路由策略選擇"分片廣播"情況下,一次任務(wù)調(diào)度將會(huì)廣播觸發(fā)對(duì)應(yīng)集群中所有執(zhí)行器執(zhí)行一次任務(wù),同時(shí)傳遞分片參數(shù);可根據(jù)分片參數(shù)開發(fā)分片任務(wù);"分片廣播" 以執(zhí)行器為維度進(jìn)行分片,支持動(dòng)態(tài)擴(kuò)容執(zhí)行器集群從而動(dòng)態(tài)增加分片數(shù)量,協(xié)同進(jìn)行業(yè)務(wù)處理;在進(jìn)行大數(shù)據(jù)量業(yè)務(wù)操作時(shí)可顯著提升任務(wù)處理能力和速度。"分片廣播" 和普通任務(wù)開發(fā)流程一致,不同之處在于可以可以獲取分片參數(shù),獲取分片參數(shù)進(jìn)行分片業(yè)務(wù)處理。3.2.1 訪問令牌
18、(AccessToken)為提升系統(tǒng)安全性,調(diào)度中心和執(zhí)行器進(jìn)行安全性校驗(yàn),雙方AccessToken匹配才允許通訊;調(diào)度中心和執(zhí)行器,可通過配置項(xiàng) "xxl.job.accessToken" 進(jìn)行AccessToken的設(shè)置。調(diào)度中心和執(zhí)行器,如果需要正常通訊,只有兩種設(shè)置;一:調(diào)度中心和執(zhí)行器,均不設(shè)置AccessToken;關(guān)閉安全性校驗(yàn);二:調(diào)度中心和執(zhí)行器,設(shè)置了相同的AccessToken;3.2.2 故障轉(zhuǎn)移、失敗重試一次完整任務(wù)流程包括"調(diào)度(調(diào)度中心) + 執(zhí)行(執(zhí)行器)"兩個(gè)階段"故障轉(zhuǎn)移"發(fā)生在調(diào)度階段,在執(zhí)行器
19、集群部署時(shí),如果某一臺(tái)執(zhí)行器發(fā)生故障,該策略支持自動(dòng)進(jìn)行Failover切換到一臺(tái)正常的執(zhí)行器機(jī)器并且完成調(diào)度請(qǐng)求流程。"失敗重試"發(fā)生在"調(diào)度 + 執(zhí)行"兩個(gè)階段,如下調(diào)度失敗重試:調(diào)度中心調(diào)度失敗且啟用"調(diào)度失敗重試"策略時(shí),將會(huì)自動(dòng)重試一次;執(zhí)行失敗重試:執(zhí)行器執(zhí)行失敗且啟用"執(zhí)行失敗重試"策略,或回調(diào)失敗重試狀態(tài)(IJobHandler.FAIL_RETRY)時(shí),也將會(huì)自動(dòng)重試一次;3.2.3 任務(wù)超時(shí)控制支持設(shè)置任務(wù)超時(shí)時(shí)間,任務(wù)運(yùn)行超時(shí)的情況下,將會(huì)主動(dòng)中斷任務(wù);4.系統(tǒng)功能4.1 功能需求4.1.1系
20、統(tǒng)角色及登陸該系統(tǒng)共有三種角色:JobClient(作業(yè)客戶機(jī)), JobTracker(作業(yè)跟蹤器), TaskTracker(守護(hù)進(jìn)程者)。所有角色都具有登陸功能,根據(jù)角色不同登陸后進(jìn)入各個(gè)角色所對(duì)應(yīng)的頁面。1.登錄界面用戶通過輸入賬號(hào)密碼,點(diǎn)擊登錄,登錄不同的賬號(hào)自動(dòng)判斷角色,進(jìn)入不同的界面。2. JobClient: 主要負(fù)責(zé)提交任務(wù)和接收任務(wù)執(zhí)行反饋結(jié)果。3. JobTracker : 負(fù)責(zé)接收并分配任務(wù),任務(wù)調(diào)度。4. TaskTracker: 負(fù)責(zé)執(zhí)行任務(wù),執(zhí)行完反饋給JobTracker。4.1.2 工作流程1.JobClient 提交一個(gè) 任務(wù) 給 JobTracker, 這
21、里我提供了兩種客戶端API, 一種是如果JobTracker 不存在或者提交失敗,直接返回提交失敗。另一種客戶端是重試客戶端, 如果提交失敗,先存儲(chǔ)到本地leveldb(可以使用NFS來達(dá)到同個(gè)節(jié)點(diǎn)組共享leveldb文件的目的,多線程訪問,做了文件鎖處理),返回給客戶端提交成功的信息,待JobTracker可用的時(shí)候,再將任務(wù)提交。2.JobTracker 收到JobClient提交來的任務(wù),先生成一個(gè)唯一的JobID。然后將任務(wù)儲(chǔ)存在Mongo集群中。JobTracker 發(fā)現(xiàn)有(任務(wù)執(zhí)行的)可用的TaskTracker節(jié)點(diǎn)(組) 之后,將優(yōu)先級(jí)最大,最先提交的任務(wù)分發(fā)給TaskTrack
22、er。這里JobTracker會(huì)優(yōu)先分配給比較空閑的TaskTracker節(jié)點(diǎn),達(dá)到負(fù)載均衡。3.TaskTracker 收到JobTracker分發(fā)來的任務(wù)之后,執(zhí)行。執(zhí)行完畢之后,再反饋任務(wù)執(zhí)行結(jié)果給JobTracker(成功or 失敗失敗有失敗錯(cuò)誤信息),如果發(fā)現(xiàn)JobTacker不可用,那么存儲(chǔ)本地leveldb,等待TaskTracker可用的時(shí)候再反饋。反饋結(jié)果的同時(shí),詢問JobTacker有沒有新的任務(wù)要執(zhí)行。4.JobTacker收到TaskTracker節(jié)點(diǎn)的任務(wù)結(jié)果信息,生成并插入(mongo)任務(wù)執(zhí)行日志。根據(jù)任務(wù)信息決定要不要反饋給客戶端。不需要反饋的直接刪除, 需要反
23、饋的(同樣JobClient不可用存儲(chǔ)文件,等待可用重發(fā))。5.JobClient 收到任務(wù)執(zhí)行結(jié)果,進(jìn)行自己想要的邏輯處理。4.2 外部接口需求4.2.1 用戶接口本系統(tǒng)采用B/S架構(gòu),所有界面使用APP風(fēng)格,用戶界面的具體細(xì)在功能需求文檔中描述。4.2.2 硬件接口 無特殊需求。4.2.3 軟件接口 無特殊需求。4.2.4 通信接口 無特殊需求。4.3 性能需求 非功能性需求當(dāng)前尚未形成完整文檔。4.4 屬性4.4.1 可用性(1)方便操作,操作流程合理。盡量從用戶角度出發(fā),以方便使用本產(chǎn)品。如:新增信息時(shí),敲入回車鍵光標(biāo)的自動(dòng)跳轉(zhuǎn)、輸入法的自動(dòng)轉(zhuǎn)換,信息檢索時(shí)輸入漢語簡(jiǎn)拼快速檢索到結(jié)果等
24、。(2)控制必錄入項(xiàng)。本系統(tǒng)能夠?qū)Ρ仨氫浫氲捻?xiàng)目進(jìn)行控制,使用戶能夠確保信息錄入的完整。同時(shí)對(duì)必錄入項(xiàng)進(jìn)行有效的統(tǒng)一的提示。(4)容錯(cuò)能力。系統(tǒng)具有一定的容錯(cuò)和抗干擾能力,在非硬件故障或非通訊故障時(shí),系統(tǒng)能夠保證正常運(yùn)行,并有足夠的提示信息幫助用戶有效正確地完成任務(wù)。(5)操作完成時(shí)有統(tǒng)一規(guī)范的提示信息。例如刪除操作時(shí),系統(tǒng)可提示警示框“您確認(rèn)刪除記錄嗎?操作不可恢復(fù)!”,用戶點(diǎn)擊確認(rèn)后,系統(tǒng)才執(zhí)行刪除操作,刪除后可直接返回相關(guān)頁面。4.4.2 安全性(1)權(quán)限控制根據(jù)不同用戶角色,設(shè)置相應(yīng)權(quán)限,用戶的重要操作都做相應(yīng)的日志記錄以備查看,沒有權(quán)限的用戶禁止使用系統(tǒng)。(2)重要數(shù)據(jù)加密對(duì)一些重要
25、的數(shù)據(jù)按一定的算法進(jìn)行加密,如用戶口令、重要參數(shù)等。(3)數(shù)據(jù)備份允許用戶進(jìn)行數(shù)據(jù)的備份和恢復(fù),以彌補(bǔ)數(shù)據(jù)的破壞和丟失。(4)記錄日志本系統(tǒng)應(yīng)該能夠記錄系統(tǒng)運(yùn)行時(shí)所發(fā)生的所有錯(cuò)誤,包括本機(jī)錯(cuò)誤和網(wǎng)絡(luò)錯(cuò)誤。這些錯(cuò)誤記錄便于查找錯(cuò)誤的原因。日志同時(shí)記錄用戶的關(guān)鍵性操作信息。4.4.3 可維護(hù)性當(dāng)前尚未形成完整文檔。5. 系統(tǒng)開發(fā)計(jì)劃和時(shí)間規(guī)劃該系統(tǒng)分為5個(gè)階段執(zhí)行,系統(tǒng)為期六個(gè)月,項(xiàng)目參與總?cè)藬?shù)為20人。5.1 系統(tǒng)啟動(dòng)階段此階段處于整個(gè)項(xiàng)目實(shí)施工作的最前期,由成立項(xiàng)目組、前期調(diào)研、編制總體項(xiàng)目計(jì)劃、啟動(dòng)會(huì)四個(gè)階段組成(大體為以上四個(gè)階段) 。5.1.1 成立項(xiàng)目組一般項(xiàng)目合同簽署完成后,公司會(huì)通
26、過項(xiàng)目實(shí)施流程表先通過“市場(chǎng)管理中心”審核檢閱,主要包括合同相關(guān)款項(xiàng)及系統(tǒng)簽署的相應(yīng)功能模塊是否符合要求;審核結(jié)束后到項(xiàng)目部部門經(jīng)理接到實(shí)施申請(qǐng)后,任命該項(xiàng)目的項(xiàng)目經(jīng)理,指定項(xiàng)目目標(biāo),由項(xiàng)目經(jīng)理指定項(xiàng)目組成員及成員任務(wù),并報(bào)相關(guān)分管副總或者總經(jīng)理。5.1.2 前期需求調(diào)研項(xiàng)目經(jīng)理及項(xiàng)目組成員,在商務(wù)人員或者銷售人員配合下,建立與用戶的聯(lián)系,對(duì)合同中簽訂的系統(tǒng)主要功能模塊進(jìn)行調(diào)研。確定客戶他們的需求和期望,如何修改完善滿足和影響這些需求、期望以確保項(xiàng)目能夠成功。若涉及到相關(guān)的硬件設(shè)備,在做需求調(diào)研的同時(shí),需協(xié)調(diào)系統(tǒng)集成部門完成硬件服務(wù)器及網(wǎng)絡(luò)環(huán)境的搭建。5.1.3制定項(xiàng)目總體計(jì)劃項(xiàng)目總體計(jì)劃文檔
27、主要介紹項(xiàng)目建設(shè)目標(biāo)、主要項(xiàng)目實(shí)施階段、里程碑、可交付成果。通常包括以下幾方面內(nèi)容:項(xiàng)目建設(shè)背景描述,項(xiàng)目建設(shè)目標(biāo)、主要項(xiàng)目階段、里程碑、可交付成果。所計(jì)劃的職責(zé)分配參與配合的相應(yīng)客戶人員;溝通管理計(jì)劃,確定客戶人員溝通的需要。5.1.3 啟動(dòng)會(huì)項(xiàng)目組成員與用戶共同召開的宣布該項(xiàng)目正式開始的會(huì)議5.2 需求調(diào)研確定階段此階段的主要工作是項(xiàng)目實(shí)施人員向用戶調(diào)研后用戶對(duì)系統(tǒng)的需求,包括系統(tǒng)流程調(diào)研、功能需求調(diào)研、數(shù)據(jù)查詢需求調(diào)研等,實(shí)施人員調(diào)研完成后,會(huì)編寫相關(guān)文檔,并交付用戶進(jìn)行確認(rèn)并且簽字確認(rèn),待用戶對(duì)文檔上所提到的需求確認(rèn)簽字完畢后,項(xiàng)目實(shí)施人員將提交該需求調(diào)研分析書給相關(guān)副總或總經(jīng)理簽字,簽字完成后以此為依據(jù)提交開發(fā)進(jìn)行軟件功能的修改完善。5.2.1進(jìn)行需求調(diào)研前期準(zhǔn)備5.2.2 制定需求文檔5.2.3 內(nèi)部評(píng)審是否通過需求文檔項(xiàng)目組、項(xiàng)目經(jīng)理、銷售等人員根據(jù)合同要求和項(xiàng)目實(shí)際情況對(duì)需求文檔草稿進(jìn)行評(píng)審,如評(píng)審?fù)ㄟ^,領(lǐng)導(dǎo)簽字確認(rèn),如評(píng)審不通過則重新修改和客戶再次確認(rèn)相關(guān)細(xì)節(jié)。5.2.4簽署需求文檔簽署需求調(diào)研計(jì)劃,則作為以后需求調(diào)研工作的證明手段5.2.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026湖南長(zhǎng)沙財(cái)經(jīng)學(xué)校短期勞務(wù)合同人員招聘1人備考題庫及一套完整答案詳解
- 機(jī)械設(shè)備輸送傳動(dòng)設(shè)備維護(hù)手冊(cè)
- 2026青海西寧城西區(qū)西部礦業(yè)集團(tuán)有限公司黨務(wù)工作部門業(yè)務(wù)崗位選聘5人備考題庫及一套完整答案詳解
- 2026陜西西安市灞橋區(qū)空軍工程大學(xué)基礎(chǔ)部科研助理招聘1人備考題庫參考答案詳解
- 企業(yè)線上銷售拓客運(yùn)營(yíng)手冊(cè)
- 2026年公關(guān)活動(dòng)全流程策劃執(zhí)行課
- 超市日常安全培訓(xùn)課件
- 藍(lán)色清爽風(fēng)格年終總結(jié)(3篇)
- 職業(yè)健康風(fēng)險(xiǎn)評(píng)估模型的長(zhǎng)期隨訪研究
- 職場(chǎng)心態(tài)培訓(xùn)
- 急診PDCA課件教學(xué)課件
- (2021-2025)5年高考1年模擬物理真題分類匯編專題04 機(jī)械能守恒、動(dòng)量守恒及功能關(guān)系(廣東專用)(解析版)
- 2025-2030手術(shù)機(jī)器人醫(yī)生培訓(xùn)體系構(gòu)建與醫(yī)院采購(gòu)決策影響因素報(bào)告
- 乳糜胸護(hù)理新進(jìn)展
- 社區(qū)護(hù)理中的青少年保健
- 中遠(yuǎn)海運(yùn)博鰲有限公司東嶼島旅游度假區(qū)招聘筆試題庫2025
- 手術(shù)室膽囊結(jié)石護(hù)理查房
- QGDW10384-2023輸電線路鋼管塔加工技術(shù)規(guī)程
- 《養(yǎng)老機(jī)構(gòu)智慧運(yùn)營(yíng)與管理》全套教學(xué)課件
- 2025年本科院校圖書館招聘面試題
- 電子商務(wù)畢業(yè)論文5000
評(píng)論
0/150
提交評(píng)論