




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE5<任務(wù)調(diào)度中心后臺管理系統(tǒng)>需求規(guī)格說明書作者:完成日期:
修訂歷史記錄日期版本說明作者V1.0目錄124951.引言 462391.1目的 4213821.2背景 4160611.3概述 442271.4參考文獻(xiàn) 4257542.項(xiàng)目概述 5166522.1產(chǎn)品特性 5170902.2產(chǎn)品設(shè)計(jì)理念 6217402.3用戶特點(diǎn) 68292.4一般約束 625082.5假設(shè)與依據(jù) 6168403.總體設(shè)計(jì) 7302823.1架構(gòu)設(shè)計(jì) 7176853.1.1設(shè)計(jì)思想 7201443.1.2系統(tǒng)組成 7243523.1.3架構(gòu)圖 8144583.1.4調(diào)度中心HA(集群) 854033.1.5調(diào)度線程池 8274143.1.6日志回調(diào)任務(wù) 9296283.1.7調(diào)度日志 939603.1.8任務(wù)依賴 9232783.1.9通訊數(shù)據(jù)加密 1075453.2.0分片廣播、動(dòng)態(tài)分片 1092813.2.1訪問令牌(AccessToken) 10115543.2.2故障轉(zhuǎn)移、失敗重試 10249613.2.3任務(wù)超時(shí)控制 1190374.系統(tǒng)功能 1175184.1功能需求 1172314.1.1系統(tǒng)角色及登陸 1156494.1.2工作流程 11194984.2外部接口需求 12272294.2.1用戶接口 1232634.2.2硬件接口 12131474.2.3軟件接口 12184774.2.4通信接口 1266474.3性能需求 12136364.4屬性 13115314.4.1可用性 13137244.4.2安全性 131.引言1.1目的該文檔首先給出項(xiàng)目的整體結(jié)構(gòu)和功能結(jié)構(gòu)概貌,試圖從總體架構(gòu)上給出整個(gè)系統(tǒng)的輪廓。同時(shí)對功能需求、性能需求進(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è)計(jì)、項(xiàng)目管理。(2)設(shè)計(jì)員:對需求進(jìn)行分析,并設(shè)計(jì)出系統(tǒng),包括數(shù)據(jù)庫的設(shè)計(jì)。(3)程序員:了解系統(tǒng)功能,編寫《用戶手冊》。(4)測試員:根據(jù)本文檔編寫測試用例,并對軟件產(chǎn)品進(jìn)行功能性測試和非功能性測試。(5)用戶:了解預(yù)期產(chǎn)品的功能和性能,并與分析人員一起對整個(gè)需求進(jìn)行討論和協(xié)商。在閱讀本文檔時(shí),首先要了解產(chǎn)品的功能概貌,然后可以根據(jù)自身的需要對每一功能進(jìn)行適當(dāng)?shù)牧私狻?.2背景本次待開發(fā)的軟件為任務(wù)調(diào)度中心后臺管理系統(tǒng)。用戶通過使用該系統(tǒng)在移動(dòng)終端完成任務(wù)分配等操作。1.3概述該平臺是一個(gè)輕量級分布式任務(wù)調(diào)度平臺,其核心設(shè)計(jì)是統(tǒng)一管理任務(wù)調(diào)度平臺上調(diào)度任務(wù),負(fù)責(zé)出發(fā)調(diào)度執(zhí)行,并且提供任務(wù)管理平臺。1.4參考文獻(xiàn)[1]GB-T8567-2006,《計(jì)算機(jī)軟件文檔編制規(guī)范》[S]2.項(xiàng)目概述2.1產(chǎn)品特性1、簡單:支持通過Web頁面對任務(wù)進(jìn)行CRUD操作,操作簡單,容易上手;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、注冊中心:執(zhí)行器會(huì)周期性自動(dòng)注冊任務(wù),調(diào)度中心將會(huì)自動(dòng)發(fā)現(xiàn)注冊的任務(wù)并觸發(fā)執(zhí)行。同時(shí),也支持手動(dòng)錄入執(zhí)行器地址;6、彈性擴(kuò)容縮容:一旦有新執(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í)行器集群中某一臺機(jī)器故障,將會(huì)自動(dòng)Failover切換到一臺正常的執(zhí)行器發(fā)送調(diào)度請求。9、失敗處理策略;調(diào)度失敗時(shí)的處理策略,策略包括:失敗告警、失敗重試;10、失敗重試:調(diào)度中心調(diào)度失敗且啟用"調(diào)度失敗重試"策略時(shí),將會(huì)自動(dòng)重試一次;執(zhí)行器執(zhí)行失敗且啟用"執(zhí)行失敗重試"策略,或回調(diào)失敗重試狀態(tài)時(shí),也將會(huì)自動(dòng)重試一次;11、阻塞處理策略:調(diào)度過于密集執(zhí)行器來不及處理時(shí)的處理策略,策略包括:單機(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)擴(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:提供WebIDE,支持在線開發(fā)任務(wù)邏輯代碼,動(dòng)態(tài)發(fā)布,實(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ù)用逗號分隔;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í)行,不被堵塞;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)全部異步化,針對密集調(diào)度進(jìn)行流量削峰,理論上支持任意時(shí)長任務(wù)的運(yùn)行;2.2產(chǎn)品設(shè)計(jì)理念當(dāng)前各大行業(yè)人群密集,因大量繁瑣的任務(wù)分配不及時(shí)而困擾,繁瑣的根源便是郵件的收發(fā)、電話溝通,需要人工分配任務(wù),最終人工匯總表格,工作量大且出錯(cuò)率高。任務(wù)調(diào)度中心系統(tǒng)致力于通過平臺便捷地完成此項(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í)多種技術(shù)和能力。2.5假設(shè)與依據(jù)本項(xiàng)目是否能夠成功實(shí)施,主要取決于以下的條件:(1)團(tuán)隊(duì)成員的積極合作配合,為了項(xiàng)目的開發(fā)和實(shí)施,對個(gè)人時(shí)間進(jìn)行合理規(guī)劃同時(shí)為團(tuán)隊(duì)做出合理犧牲,配合隊(duì)友完成任務(wù)。(2)完整詳細(xì)的功能和性能需求資料,以便于團(tuán)隊(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)度中心”公共平臺,而平臺自身并不承擔(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ò)展性;3.1.2系統(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)定性,同時(shí)調(diào)度系統(tǒng)性能不再受限于任務(wù)模塊;支持可視化、簡單且動(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)度請求并執(zhí)行任務(wù)邏輯。任務(wù)模塊專注于任務(wù)的執(zhí)行等操作,開發(fā)和維護(hù)更加簡單和高效;接收“調(diào)度中心”的執(zhí)行請求、終止請求和日志請求等。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)度請求,執(zhí)行器會(huì)將請求存入執(zhí)行隊(duì)列并且立即響應(yīng)調(diào)度中心,異步運(yùn)行;相比直接在quartz的QuartzJobBean中執(zhí)行業(yè)務(wù)邏輯,極大的降低了調(diào)度線程占用時(shí)間; 任務(wù)調(diào)度中心系統(tǒng)中每個(gè)邏輯非常“輕”,單個(gè)一次運(yùn)行平均耗時(shí)基本在"10ms"之內(nèi)(基本為一次請求的網(wǎng)絡(luò)開銷);因此,可以保證使用有限的線程支撐大量的并發(fā)運(yùn)行;理論支撐任務(wù)量公式如下:理論支撐任務(wù)量=線程數(shù)配置/平均調(diào)度頻率(每秒)*平均觸發(fā)耗時(shí)(單位s)實(shí)際場景中,由于調(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延遲"和"提升機(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)度請求時(shí)具體情況。執(zhí)行信息:包括“執(zhí)行時(shí)間”、“執(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)度時(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)度的備注信息,如地址心跳檢測日志等;執(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ù)代碼中打印的完整執(zhí)行日志。3.1.8任務(wù)依賴任務(wù)調(diào)度中心每個(gè)任務(wù)都對應(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)度請求時(shí)使用RequestModel和ResponseModel兩個(gè)對象封裝調(diào)度請求參數(shù)和響應(yīng)數(shù)據(jù),在進(jìn)行通訊之前底層會(huì)將上述兩個(gè)對象對象序列化,并進(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ā)對應(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訪問令牌(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í)行器集群部署時(shí),如果某一臺執(zhí)行器發(fā)生故障,該策略支持自動(dòng)進(jìn)行Failover切換到一臺正常的執(zhí)行器機(jī)器并且完成調(diào)度請求流程。"失敗重試"發(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系統(tǒng)角色及登陸該系統(tǒng)共有三種角色:JobClient(作業(yè)客戶機(jī)),JobTracker(作業(yè)跟蹤器),TaskTracker(守護(hù)進(jìn)程者)。所有角色都具有登陸功能,根據(jù)角色不同登陸后進(jìn)入各個(gè)角色所對應(yīng)的頁面。1.登錄界面用戶通過輸入賬號密碼,點(diǎn)擊登錄,登錄不同的賬號自動(dòng)判斷角色,進(jìn)入不同的界面。JobClient:主要負(fù)責(zé)提交任務(wù)和接收任務(wù)執(zhí)行反饋結(jié)果。JobTracker:負(fù)責(zé)接收并分配任務(wù),任務(wù)調(diào)度。TaskTracker:負(fù)責(zé)執(zhí)行任務(wù),執(zhí)行完反饋給JobTracker。4.1.2工作流程1.JobClient提交一個(gè)任務(wù)給JobTracker,這里我提供了兩種客戶端API,一種是如果JobTracker不存在或者提交失敗,直接返回提交失敗。另一種客戶端是重試客戶端,如果提交失敗,先存儲到本地leveldb(可以使用NFS來達(dá)到同個(gè)節(jié)點(diǎn)組共享leveldb文件的目的,多線程訪問,做了文件鎖處理),返回給客戶端提交成功的信息,待JobTracker可用的時(shí)候,再將任務(wù)提交。2.JobTracker收到JobClient提交來的任務(wù),先生成一個(gè)唯一的JobID。然后將任務(wù)儲存在Mongo集群中。JobTracker發(fā)現(xiàn)有(任務(wù)執(zhí)行的)可用的TaskTracker節(jié)點(diǎn)(組)之后,將優(yōu)先級最大,最先提交的任務(wù)分發(fā)給TaskTracker。這里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不可用,那么存儲本地leveldb,等待TaskTracker可用的時(shí)候再反饋。反饋結(jié)果的同時(shí),詢問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外部接口需求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é)果等。(2)控制必錄入項(xiàng)。本系統(tǒng)能夠?qū)Ρ仨氫浫氲捻?xiàng)目進(jìn)行控制,使用戶能夠確保信息錄入的完整。同時(shí)對必錄入項(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ù)加密對一些重要的數(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)前尚未形成完整文檔。系統(tǒng)開發(fā)計(jì)劃和時(shí)間規(guī)劃該系統(tǒng)分為5個(gè)階段執(zhí)行,系統(tǒng)為期六個(gè)月,項(xiàng)目參與總?cè)藬?shù)為20人。系統(tǒng)啟動(dòng)階段此階段處于整個(gè)項(xiàng)目實(shí)施工作的最前期,由成立項(xiàng)目組、前期調(diào)研、編制總體項(xiàng)目計(jì)劃、啟動(dòng)會(huì)四個(gè)階段組成(大體為以上四個(gè)階段)。成立項(xiàng)目組一般項(xiàng)目合同簽署完成后,公司會(huì)通過《項(xiàng)目實(shí)施流程表》先通過“市場管理中心”審核檢閱,主要包括合同相關(guān)款項(xiàng)及系統(tǒng)簽署的相應(yīng)功能模塊是否符合要求;審核結(jié)束后到項(xiàng)目部部門經(jīng)理接到實(shí)施申請后,任命該項(xiàng)目的項(xiàng)目經(jīng)理,指定項(xiàng)目目標(biāo),由項(xiàng)目經(jīng)理指定項(xiàng)目組成員及成員任務(wù),并報(bào)相關(guān)分管副總或者總經(jīng)理。前期需求調(diào)研項(xiàng)目經(jīng)理及項(xiàng)目組成員,在商務(wù)人員或者銷售人員配合下,建立與用戶的聯(lián)系,對合同中簽訂的系統(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ì)劃》文檔主要介紹項(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ì)劃,確定客戶人員溝通的需要。啟動(dòng)會(huì)項(xiàng)目組成員與用戶共同召開的宣布該項(xiàng)目正式開始的會(huì)議需求調(diào)研確定階段此階段的主要工作是項(xiàng)目實(shí)施人員向用戶調(diào)研后用戶對系統(tǒng)的需求,包括系統(tǒng)流程調(diào)研、功能需求調(diào)研、數(shù)據(jù)查詢需求調(diào)研等,實(shí)施人員調(diào)研完成后,會(huì)編寫相關(guān)文檔,并交付用戶進(jìn)行確認(rèn)并且簽字確認(rèn),待用戶對文檔上所提到的需求確認(rèn)簽字完畢后,項(xiàng)目實(shí)施人員將提交該需求調(diào)研分析書給相關(guān)副總或總經(jīng)理簽字,簽字完成后以此為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東水利職業(yè)學(xué)院《中藥鑒定學(xué)實(shí)驗(yàn)二》2023-2024學(xué)年第一學(xué)期期末試卷
- 廈門華天涉外職業(yè)技術(shù)學(xué)院《學(xué)術(shù)研究及論文發(fā)表》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川水利職業(yè)技術(shù)學(xué)院《平法識圖與鋼筋算量》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西陶瓷工藝美術(shù)職業(yè)技術(shù)學(xué)院《內(nèi)燃機(jī)構(gòu)造與原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 湄洲灣職業(yè)技術(shù)學(xué)院《數(shù)學(xué)分析V》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西傳媒職業(yè)學(xué)院《工程結(jié)構(gòu)荷載與可靠度》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南財(cái)經(jīng)工業(yè)職業(yè)技術(shù)學(xué)院《有限元法與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 土方工程回填合同
- 建筑工程木工分包合同
- 房產(chǎn)土地使用權(quán)買賣合同
- 高等數(shù)學(xué)上冊ppt課件完整版
- 應(yīng)用型人才核心素養(yǎng)總體框架(模板)
- 新時(shí)期當(dāng)好社會(huì)組織秘書長的若干思考課件
- 太陽能電池的特性完整課件
- 4D現(xiàn)場管理培訓(xùn)ppt課件(PPT 45頁)
- 企業(yè)公司組織架構(gòu)圖word模板
- 軍隊(duì)經(jīng)濟(jì)適用住房建設(shè)管理辦法
- 全州朝鮮族小學(xué)校小班化教育實(shí)施方案
- pep小學(xué)英語四年級下課文及翻譯
- 四川工程竣工驗(yàn)收備案表
- 2021北京四中新初一分班英語試題(1)
評論
0/150
提交評論