軟件需求規(guī)格說明書_第1頁
軟件需求規(guī)格說明書_第2頁
軟件需求規(guī)格說明書_第3頁
軟件需求規(guī)格說明書_第4頁
軟件需求規(guī)格說明書_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(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分片廣播、動態(tài)分片 1092813.2.1訪問令牌(AccessToken) 10115543.2.2故障轉(zhuǎn)移、失敗重試 10249613.2.3任務(wù)超時控制 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)上給出整個系統(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è)計(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)品的功能和性能,并與分析人員一起對整個需求進(jìn)行討論和協(xié)商。在閱讀本文檔時,首先要了解產(chǎn)品的功能概貌,然后可以根據(jù)自身的需要對每一功能進(jìn)行適當(dāng)?shù)牧私狻?.2背景本次待開發(fā)的軟件為任務(wù)調(diào)度中心后臺管理系統(tǒng)。用戶通過使用該系統(tǒng)在移動終端完成任務(wù)分配等操作。1.3概述該平臺是一個輕量級分布式任務(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、動態(tài):支持動態(tài)修改任務(wù)狀態(tài)、暫停/恢復(fù)任務(wù),以及終止運(yùn)行中任務(wù),即時生效;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í)行器會周期性自動注冊任務(wù),調(diào)度中心將會自動發(fā)現(xiàn)注冊的任務(wù)并觸發(fā)執(zhí)行。同時,也支持手動錄入執(zhí)行器地址;6、彈性擴(kuò)容縮容:一旦有新執(zhí)行器機(jī)器上線或者下線,下次調(diào)度時將會重新分配任務(wù);7、路由策略:執(zhí)行器集群部署時提供豐富的路由策略,包括:第一個、最后一個、輪詢、隨機(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í)行器來不及處理時的處理策略,策略包括:單機(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ā)任務(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:提供WebIDE,支持在線開發(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í)行成功后將會主動觸發(fā)一次子任務(wù)的執(zhí)行,多個子任務(wù)用逗號分隔;21、一致性:“調(diào)度中心”通過DB鎖保證集群分布式調(diào)度的一致性,一次任務(wù)調(diào)度只會觸發(fā)一次執(zhí)行;22、自定義任務(wù)參數(shù):支持在線配置調(diào)度任務(wù)入?yún)?,即時生效;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ù)、執(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è)計(jì)理念當(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ù)人員為了解該工作的整體流程,深入用戶交流,便于調(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)目的技術(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)定性,同時調(diào)度系統(tǒng)性能不再受限于任務(wù)模塊;支持可視化、簡單且動態(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í)行請求、終止請求和日志請求等。3.1.3架構(gòu)圖3.1.4調(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í)行時間相同,則只有一個節(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)度時僅發(fā)送一次調(diào)度請求,執(zhí)行器會將請求存入執(zhí)行隊(duì)列并且立即響應(yīng)調(diào)度中心,異步運(yùn)行;相比直接在quartz的QuartzJobBean中執(zhí)行業(yè)務(wù)邏輯,極大的降低了調(diào)度線程占用時間; 任務(wù)調(diào)度中心系統(tǒng)中每個邏輯非?!拜p”,單個一次運(yùn)行平均耗時基本在"10ms"之內(nèi)(基本為一次請求的網(wǎng)絡(luò)開銷);因此,可以保證使用有限的線程支撐大量的并發(fā)運(yùn)行;理論支撐任務(wù)量公式如下:理論支撐任務(wù)量=線程數(shù)配置/平均調(diào)度頻率(每秒)*平均觸發(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)。3.1.6日志回調(diào)任務(wù)調(diào)度模塊的“調(diào)度中心”作為Web服務(wù)部署時,一方面承擔(dān)調(diào)度中心功能,另一方面也為執(zhí)行器提供API服務(wù)3.1.7調(diào)度日志調(diào)度中心每次進(jìn)行任務(wù)調(diào)度,都會記錄一條任務(wù)日志,任務(wù)日志主要包括以下三部分內(nèi)容:任務(wù)信息:包括“執(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)度中心,發(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í)行日志。3.1.8任務(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ù)依賴,如果匹配到子任務(wù),將會主動觸發(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)度請求時使用RequestModel和ResponseModel兩個對象封裝調(diào)度請求參數(shù)和響應(yīng)數(shù)據(jù),在進(jìn)行通訊之前底層會將上述兩個對象對象序列化,并進(jìn)行數(shù)據(jù)協(xié)議以及時間戳檢驗(yàn),從而達(dá)到數(shù)據(jù)加密的功能;3.2.0分片廣播、動態(tài)分片執(zhí)行器集群部署時,任務(wù)路由策略選擇"分片廣播"情況下,一次任務(wù)調(diào)度將會廣播觸發(fā)對應(yīng)集群中所有執(zhí)行器執(zhí)行一次任務(wù),同時傳遞分片參數(shù);可根據(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ù)處理。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í)行器)"兩個階段"故障轉(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)度失敗重試"策略時,將會自動重試一次;執(zhí)行失敗重試:執(zhí)行器執(zhí)行失敗且啟用"執(zhí)行失敗重試"策略,或回調(diào)失敗重試狀態(tài)(IJobHandler.FAIL_RETRY)時,也將會自動重試一次;3.2.3任務(wù)超時控制支持設(shè)置任務(wù)超時時間,任務(wù)運(yùn)行超時的情況下,將會主動中斷任務(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)入各個角色所對應(yīng)的頁面。1.登錄界面用戶通過輸入賬號密碼,點(diǎn)擊登錄,登錄不同的賬號自動判斷角色,進(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提交一個任務(wù)給JobTracker,這里我提供了兩種客戶端API,一種是如果JobTracker不存在或者提交失敗,直接返回提交失敗。另一種客戶端是重試客戶端,如果提交失敗,先存儲到本地leveldb(可以使用NFS來達(dá)到同個節(jié)點(diǎn)組共享leveldb文件的目的,多線程訪問,做了文件鎖處理),返回給客戶端提交成功的信息,待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失敗[失敗有失敗錯誤信息]),如果發(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外部接口需求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)品。如:新增信息時,敲入回車鍵光標(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)頁面。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)行時所發(fā)生的所有錯誤,包括本機(jī)錯誤和網(wǎng)絡(luò)錯誤。這些錯誤記錄便于查找錯誤的原因。日志同時記錄用戶的關(guān)鍵性操作信息。4.4.3可維護(hù)性當(dāng)前尚未形成完整文檔。系統(tǒng)開發(fā)計(jì)劃和時間規(guī)劃該系統(tǒng)分為5個階段執(zhí)行,系統(tǒng)為期六個月,項(xiàng)目參與總?cè)藬?shù)為20人。系統(tǒng)啟動階段此階段處于整個項(xiàng)目實(shí)施工作的最前期,由成立項(xiàng)目組、前期調(diào)研、編制總體項(xiàng)目計(jì)劃、啟動會四個階段組成(大體為以上四個階段)。成立項(xiàng)目組一般項(xiàng)目合同簽署完成后,公司會通過《項(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ù),并報相關(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)研的同時,需協(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ì)劃,確定客戶人員溝通的需要。啟動會項(xiàng)目組成員與用戶共同召開的宣布該項(xiàng)目正式開始的會議需求調(diào)研確定階段此階段的主要工作是項(xiàng)目實(shí)施人員向用戶調(diào)研后用戶對系統(tǒng)的需求,包括系統(tǒng)流程調(diào)研、功能需求調(diào)研、數(shù)據(jù)查詢需求調(diào)研等,實(shí)施人員調(diào)研完成后,會編寫相關(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)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論