亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談分布式任務(wù)注冊(cè)及調(diào)度的實(shí)現(xiàn)方法

        2021-04-03 12:12:29俞珍秒汪明貴
        中國(guó)設(shè)備工程 2021年8期
        關(guān)鍵詞:池中任務(wù)調(diào)度線程

        俞珍秒,汪明貴

        (南京南瑞信息通信科技有限公司,江蘇 南京 210003)

        隨著現(xiàn)代信息技術(shù)的高速發(fā)展,企業(yè)的信息系統(tǒng)也充斥著大量的數(shù)據(jù)。為了合理地管理并利用這些數(shù)據(jù),企業(yè)不得不對(duì)業(yè)務(wù)核心系統(tǒng)進(jìn)行擴(kuò)展,延伸出眾多業(yè)務(wù)子系統(tǒng)。而這些子系統(tǒng)為了滿足業(yè)務(wù)需求,又不得不嚴(yán)重依賴系統(tǒng)的核心數(shù)據(jù)。為了能有效地降低數(shù)據(jù)間的耦合,保證系統(tǒng)數(shù)據(jù)的一致性,業(yè)務(wù)系統(tǒng)通常會(huì)采用分布式任務(wù)調(diào)度系統(tǒng)來(lái)通知子系統(tǒng)的計(jì)算組件及時(shí)處理。但是核心數(shù)據(jù)的往往具有高頻變化特性,這給任務(wù)調(diào)度系統(tǒng)和業(yè)務(wù)子系統(tǒng)的穩(wěn)定運(yùn)行都提出了挑戰(zhàn)。

        本文提供了一種基于異步式編程的分布式任務(wù)注冊(cè)及調(diào)度的實(shí)現(xiàn)方法,命名為CaesiumServer。CaesiumServer 通過(guò)異步式編程將任務(wù)注冊(cè)隊(duì)列中的任務(wù)分發(fā)至不同的處理單元,提高了任務(wù)注冊(cè)模塊的高效性。通過(guò)任務(wù)合并,避免了不必要的任務(wù)調(diào)度,保證了任務(wù)執(zhí)行方的穩(wěn)定運(yùn)行。最后,多種任務(wù)執(zhí)行策略能夠合理規(guī)劃資源,滿足不同場(chǎng)景下的任務(wù)調(diào)度需求。

        1 總體設(shè)計(jì)

        在CaesiumServer 的設(shè)計(jì)中,任務(wù)接收模塊接收到注冊(cè)任務(wù)后,將任務(wù)信息中相同的任務(wù)進(jìn)行合并后更新至任務(wù)池,以此保證相同的任務(wù)不會(huì)被多次重復(fù)觸發(fā)。此外,任務(wù)執(zhí)行模塊在獲取任務(wù)池任務(wù)后,會(huì)根據(jù)任務(wù)性質(zhì)直接啟動(dòng)任務(wù)執(zhí)行程序或發(fā)布任務(wù)執(zhí)行信息。最后,任務(wù)執(zhí)行方的執(zhí)行控制器會(huì)根據(jù)任務(wù)注冊(cè)時(shí)指定的策略啟動(dòng)任務(wù)執(zhí)行程序。

        2 任務(wù)注冊(cè)信息

        在CaesiumServer 設(shè)計(jì)中調(diào)度引擎的任務(wù)接收模塊處理任務(wù)注冊(cè)信息。任務(wù)注冊(cè)方根據(jù)業(yè)務(wù)的需求將任務(wù)信息按照指定的格式發(fā)送到任務(wù)注冊(cè)隊(duì)列中,其中的任務(wù)信息主要包括:任務(wù)執(zhí)行體ID、執(zhí)行類、計(jì)劃開(kāi)始執(zhí)行時(shí)間、任務(wù)類型、任務(wù)觸發(fā)URL、是否可忽略、執(zhí)行策略、執(zhí)行計(jì)劃(Cron 表達(dá)式描述)、任務(wù)執(zhí)行上下文等信息。

        任務(wù)的接收模塊主要是通過(guò)異步式編程框架akka 來(lái)實(shí)現(xiàn)。akka 框架對(duì)構(gòu)建高并發(fā)、高容錯(cuò)性的分布式應(yīng)用具有良好的支持。其中的akkaactor 模型是一種將行為定義到actor,actor 間通過(guò)消息通信,消息發(fā)送異步進(jìn)行,消息處理(在actor 內(nèi))同步有序進(jìn)行的一種高并發(fā)、非阻塞式編程模型。在CaesiumServer 設(shè)計(jì)中任務(wù)接收模塊主要定義了三種Actor,分別為:任務(wù)合并單元、更新處理單元、常規(guī)

        處理單元。任務(wù)接收模塊從任務(wù)注冊(cè)隊(duì)列獲取任務(wù)信息后,會(huì)根據(jù)任務(wù)類型分別將任務(wù)信息分發(fā)至不同的Actor 進(jìn)行處理。當(dāng)任務(wù)類型為“可合并”型任務(wù)時(shí),模塊會(huì)根據(jù)指定時(shí)間段內(nèi)的相同內(nèi)容合并成一條任務(wù)后,發(fā)送至待執(zhí)行任務(wù)池。當(dāng)任務(wù)類型為“更新”型任務(wù)時(shí),會(huì)判斷當(dāng)前待執(zhí)行任務(wù)池中是否存在未被執(zhí)行的相同任務(wù),如果存在會(huì)將本次任務(wù)中的包含的信息更新至待執(zhí)行任務(wù)池;如果不存在則將本次任務(wù)發(fā)送至待執(zhí)行任務(wù)池。當(dāng)任務(wù)類型為“常規(guī)”型任務(wù)時(shí),則將本次任務(wù)直接發(fā)送至待執(zhí)行任務(wù)池。

        處理任務(wù)注冊(cè)信息中如何快速、高效的處理注冊(cè)任務(wù)是其難點(diǎn),因?yàn)閼?yīng)用注冊(cè)方會(huì)同時(shí)注冊(cè)大批量的任務(wù)。此時(shí)通過(guò)akka 的事件驅(qū)動(dòng)機(jī)制及時(shí)觸發(fā)相應(yīng)的邏輯尤為重要。

        3 發(fā)布/執(zhí)行任務(wù)

        CaesiumServer的任務(wù)執(zhí)行模塊以定期檢查的方式,根據(jù)待執(zhí)行任務(wù)池中的任務(wù)信息判斷當(dāng)前任務(wù)是否需要被執(zhí)行。當(dāng)任務(wù)需要被執(zhí)行時(shí),首先會(huì)查看該任務(wù)信息中任務(wù)觸發(fā)URL 是否有設(shè)定值。如果有設(shè)定值,會(huì)通過(guò)異步調(diào)用該觸發(fā)URL 來(lái)啟動(dòng)任務(wù)執(zhí)行體;如果未設(shè)定任務(wù)觸發(fā)URL,就會(huì)將任務(wù)信息發(fā)送至任務(wù)執(zhí)行隊(duì)列。在任務(wù)觸發(fā)完成后,會(huì)根據(jù)任務(wù)的執(zhí)行計(jì)劃更新或刪除任務(wù)池中的任務(wù)。

        4 啟動(dòng)任務(wù)

        任務(wù)執(zhí)行方從任務(wù)執(zhí)行隊(duì)列中獲取“任務(wù)執(zhí)行體ID”與自身一致的待執(zhí)行任務(wù)信息后,將任務(wù)交由任務(wù)執(zhí)行控制器進(jìn)行處理。任務(wù)執(zhí)行控制器主要包含一個(gè)分發(fā)線程、一個(gè)執(zhí)行線程池。分發(fā)線程主要按照任務(wù)的“執(zhí)行策略”控制任務(wù)執(zhí)行類以不同的方式執(zhí)行?!皥?zhí)行策略”主要包括“隊(duì)列”、“并行”、“取消當(dāng)前”、“忽略當(dāng)前”、“延遲”等方式。執(zhí)行線程池主要用來(lái)執(zhí)行各任務(wù)。

        當(dāng)任務(wù)的執(zhí)行策略為“隊(duì)列”方式時(shí):分發(fā)線程會(huì)將任務(wù)按照“執(zhí)行類”為單位,為該執(zhí)行類創(chuàng)建一個(gè)執(zhí)行隊(duì)列,依次將任務(wù)發(fā)送至執(zhí)行線程池中執(zhí)行,直到將執(zhí)行隊(duì)列中的任務(wù)全部執(zhí)行完成。

        當(dāng)任務(wù)的執(zhí)行策略為“并行”方式時(shí):分發(fā)線程會(huì)直接將該任務(wù)發(fā)送至執(zhí)行線程池中執(zhí)行。

        當(dāng)任務(wù)的執(zhí)行策略為“取消當(dāng)前”方式時(shí):分發(fā)線程會(huì)判斷任務(wù)執(zhí)行線程池中是否存在與本任務(wù)相同的“執(zhí)行類”在運(yùn)行,如果存在則調(diào)用當(dāng)前任務(wù)的取消邏輯,待取消成功后將本次任務(wù)發(fā)送至執(zhí)行線程池中執(zhí)行。如果不存在,直接將該任務(wù)發(fā)送至執(zhí)行線程池中執(zhí)行。

        當(dāng)任務(wù)的執(zhí)行策略為“忽略當(dāng)前”方式時(shí):分發(fā)線程會(huì)判斷任務(wù)執(zhí)行線程池中是否存在與本任務(wù)相同的“執(zhí)行類”在運(yùn)行,如果存在則舍棄當(dāng)前的任務(wù),不對(duì)本次任務(wù)做任何處理。如果不存在,直接將該任務(wù)發(fā)送至執(zhí)行線程池中執(zhí)行。

        當(dāng)任務(wù)的執(zhí)行策略為“延遲”方式時(shí):分發(fā)線程會(huì)按照“執(zhí)行類”為單位記錄前次任務(wù)執(zhí)行時(shí)間,如果當(dāng)前時(shí)間超過(guò)延遲時(shí)間時(shí),將本次任務(wù)發(fā)送至執(zhí)行線程池中執(zhí)行;如果尚未達(dá)到延遲時(shí)間會(huì)創(chuàng)建一個(gè)定時(shí)器,在時(shí)間到達(dá)時(shí)將任務(wù)發(fā)送至執(zhí)行線程池中執(zhí)行。

        不同執(zhí)行策略的處理方式各異,實(shí)現(xiàn)難度也各異。其中“取消當(dāng)前”型任務(wù)處理難度較大。因?yàn)樗械娜蝿?wù)都是在任務(wù)執(zhí)行線程池中運(yùn)行,如何獲取當(dāng)前任務(wù)的引用以及如何判斷任務(wù)取消成功也是一個(gè)處理難點(diǎn)。實(shí)施時(shí)可通過(guò)包裝類對(duì)方式對(duì)“取消當(dāng)前”型任務(wù)進(jìn)行封裝,包裝類可設(shè)計(jì)成包含當(dāng)前任務(wù)、前次任務(wù)等信息。包裝類的執(zhí)行方法中首先需要調(diào)用前次任務(wù)的取消方法,直到取消成功后再調(diào)用當(dāng)前任務(wù)的執(zhí)行方法。

        5 結(jié)語(yǔ)

        CaesiumServer 可保證任務(wù)調(diào)度引擎的高效性、穩(wěn)定性、容錯(cuò)性,改變了以往任務(wù)調(diào)度引擎的過(guò)載帶來(lái)的任務(wù)觸發(fā)不及時(shí)、丟失等狀況。能夠顯著加強(qiáng)任務(wù)執(zhí)行方的處理效率,特別是根據(jù)任務(wù)特征選擇不同的執(zhí)行策略能夠合理的優(yōu)化服務(wù)器資源,改變了以往任務(wù)執(zhí)行方大量任務(wù)同時(shí)執(zhí)行帶來(lái)的服務(wù)器壓力,甚至崩潰的風(fēng)險(xiǎn)。

        猜你喜歡
        池中任務(wù)調(diào)度線程
        選煤廠事故池中污染物在地下水中的遷移規(guī)律研究
        池中景象
        小讀者(2019年20期)2020-01-04 02:13:56
        基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
        基于時(shí)間負(fù)載均衡蟻群算法的云任務(wù)調(diào)度優(yōu)化
        淺談linux多線程協(xié)作
        云計(jì)算環(huán)境中任務(wù)調(diào)度策略
        云計(jì)算中基于進(jìn)化算法的任務(wù)調(diào)度策略
        詩(shī)劇
        Linux線程實(shí)現(xiàn)技術(shù)研究
        么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
        日韩美女av二区三区四区| 四虎影视永久在线观看| 亚洲欧洲日产国码高潮αv| 男女好痛好深好爽视频一区| 在线亚洲精品免费视频| 久久国产精品一区二区三区| 国产一区二区内射最近更新 | 2021年国产精品每日更新| 国产精品99久久精品女同| 日本一区二区在线高清观看| 蜜桃视频无码区在线观看| 狠狠色狠狠色综合日日92| 高清亚洲精品一区二区三区| 久久777国产线看观看精品 | 丰满人妻妇伦又伦精品国产| 久久精品成人91一区二区| 强迫人妻hd中文字幕| 久久精品无码一区二区日韩av| 久久久久亚洲av无码a片软件| 久久亚洲aⅴ精品网站婷婷| 在线免费观看国产精品| 亚洲人妻中文字幕在线视频| 国语对白在线观看免费| 亚洲av无码专区亚洲av伊甸园 | 日本丶国产丶欧美色综合| 中文字幕人妻少妇美臀| 精品国产一区二区三区av天堂| 无码免费一区二区三区| 国产农村三片免费网站| 国产精品亚洲一区二区三区久久| 精品视频一区二区三区在线观看 | 91精品国产92久久久| 久久露脸国产精品| 亚洲日产无码中文字幕| 国产午夜福利在线观看中文字幕| 人妻 偷拍 无码 中文字幕| 亚洲人成网站77777在线观看 | 人妻少妇喷水意淫诱惑| 国产午夜在线视频观看| 久久久天堂国产精品女人 | 一本色道久久综合亚州精品|