1.一種分布式系統(tǒng)下執(zhí)行定時任務(wù)的配置方法,其特征在于:
服務(wù)端采用分布式架構(gòu),服務(wù)端前端使用react來作視圖的展現(xiàn),后端使用spring mvc為前端提供rest數(shù)據(jù)接口,使用spring security來保證數(shù)據(jù)的操作權(quán)限,避免數(shù)據(jù)被末授權(quán)的用戶訪問和修改,使用quartz觸發(fā)配置的任務(wù),使用服務(wù)發(fā)現(xiàn)工具來動態(tài)發(fā)現(xiàn)和協(xié)調(diào)各個機器執(zhí)行作業(yè),使用redis作為資源競爭的仲裁;
客戶端將節(jié)點自身注冊為任務(wù)節(jié)點,處理任務(wù)邏輯。
2.根據(jù)權(quán)利要求1所述的分布式系統(tǒng)下執(zhí)行定時任務(wù)的配置方法,其特征在于:所述服務(wù)發(fā)現(xiàn)工具為zk或consul。
3.根據(jù)權(quán)利要求2所述的分布式系統(tǒng)下執(zhí)行定時任務(wù)的配置方法,其特征在于:客戶端將節(jié)點自身注冊為java或python版的任務(wù)節(jié)點。
4.根據(jù)權(quán)利要求3所述的分布式系統(tǒng)下執(zhí)行定時任務(wù)的配置方法,其特征在于:其包括以下步驟:
(1)在任務(wù)中心配置任務(wù);
(2)Quartz動態(tài)添加或者個性任務(wù)配置;
(3)Quartz觸發(fā)配置過的任務(wù),執(zhí)行本地的任務(wù);
(4)本地任務(wù)通過寫redis獲取本次任務(wù)的執(zhí)行資格,寫成功的負責(zé)調(diào)度此次任務(wù);
(5)本地任務(wù)從注冊中心讀取該任務(wù)的存活節(jié)點;
(6)本地任務(wù)按照任務(wù)分片信息進行各任務(wù)節(jié)點的任務(wù)分配;
(7)本地任務(wù)按照客戶端網(wǎng)絡(luò)配置發(fā)送相應(yīng)的任務(wù)請求到任務(wù)節(jié)點;
(8)任務(wù)節(jié)點收到請求后響應(yīng)已收到任務(wù)請求,并在服務(wù)端執(zhí)行此任務(wù);
(9)服務(wù)端任務(wù)執(zhí)行完畢;
(10)任務(wù)節(jié)點執(zhí)行完畢后,將任務(wù)結(jié)果回送給任務(wù)中心。
5.根據(jù)權(quán)利要求4所述的分布式系統(tǒng)下執(zhí)行定時任務(wù)的配置方法,其特征在于:所述步驟(3)中,輕量級的本地任務(wù)調(diào)用客戶端的實際任務(wù)。
6.根據(jù)權(quán)利要求5所述的分布式系統(tǒng)下執(zhí)行定時任務(wù)的配置方法,其特征在于:所述步驟(7)中,任務(wù)請求為自定義二進制消息或http請求。
7.一種分布式系統(tǒng)下執(zhí)行定時任務(wù)的配置系統(tǒng),其特征在于:其包括:服務(wù)端,其配置為分布式架構(gòu),服務(wù)端前端使用react來作視圖的展現(xiàn),后端使用spring mvc為前端提供rest數(shù)據(jù)接口,使用spring security來保證數(shù)據(jù)的操作權(quán)限,避免數(shù)據(jù)被末授權(quán)的用戶訪問和修改,使用quartz觸發(fā)配置的任務(wù),使用服務(wù)發(fā)現(xiàn)工具來動態(tài)發(fā)現(xiàn)和協(xié)調(diào)各個機器執(zhí)行作業(yè),使用redis作為資源競爭的仲裁;
客戶端,其配置來將節(jié)點自身注冊為任務(wù)節(jié)點,處理任務(wù)邏輯。