本申請實施例提供的定時任務執行方法及裝置中,定時配置掃描器根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器;所述定時任務生成器根據所述定時配置信息生成定時任務;若所述定時任務的任務類型為同步調用類型,所述定時任務生成器將所述定時任務發送至任務執行器;所述任務執行器執行所述定時任務生成器發送的定時任務。本申請實施例提供的定時任務執行方法可以在配置定時任務時,將定時任務配置成事件驅動或事件加時間條件驅動改善了現有技術中不能對事件驅動或事件加時間驅動進行很好的支持的情況。
【技術實現步驟摘要】
定時任務執行方法及裝置
本申請涉及計算機
,具體而言,涉及一種定時任務執行方法及裝置。
技術介紹
定時調度是企業級業務系統至關重要的一部分,特別是銀行信息系統,業務操作量大。為了提升客戶體驗,最大程度減少操作人員工作量,不可避免地要求系統自動化程度越來越高。在應用里經常需要在后臺定時或滿足某些業務條件時自動觸發批量任務,完成所需處理的業務,如定時日終跑批、定時批量支付、定時遷移歷史數據等,這些都需要系統提供一個設計靈活,功能強大而且效率高,可擴展性強的定時調度裝置來支撐。在滿足其基本調度功能外,不會因為無效或錯誤數據導致主控奔潰,出現錯誤時可以自動重新拉起。支持快速的縱向或橫向擴展,滿足數據增長的性能需求。目前主要的JAVA定時任務框架有:Timer:定時器類,功能單一,使用簡單,只支持相對延遲或周期作為定時任務調度條件,沒有絕對日期或時間。Quartz:功能強大,支持cron表達式配置,可與spring進行集成。基本能實現所有基于時間條件驅動的定時任務,但是針對事件驅動或事件+時間條件驅動的定時任務不能進行很好的支持,且定時作業不便進行細分或并發。當各服務器時差較大時,可能導致任務被重復觸發。
技術實現思路
有鑒于此,本申請實施例提供了一種定時任務執行方法及裝置。為實現上述目的,本申請實施例提供了一種定時任務執行方法,所述方法包括:定時配置掃描器根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器;所述定時任務生成器根據所述定時配置信息生成定時任務;若所述定時任務的任務類型為同步調用類型,所述定時任務生成器將所述定時任務發送至任務執行器;所述任務執行器執行所述定時任務生成器發送的定時任務。在本申請的一種實施例中,在所述定時任務生成器根據所述定時配置信息生成定時任務之后,所述方法還包括:若所述定時任務的任務類型為異步調用類型,所述定時任務生成器將該定時任務發送給異步調度主控。在本申請的一種實施例中,所述定時配置掃描器根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器,包括:所述定時配置掃描器初始化定時任務線程池,以使所述定時任務線程池多線程輪詢所述定時條件配置信息列表;所述定時任務線程池根據標志信息,從所述定時條件配置信息列表獲取滿足所述標志信息條件的多個定時列表;若所述多個定時列表中的每個定時列表的消耗時長低于預設時間段,將所述多個定時列表作為定時配置信息置入第一任務生成器線程中。在本申請的一種實施例中,在所述定時任務線程池根據標志信息,從所述定時條件配置信息列表獲取滿足所述標志信息條件的多個定時列表之后,所述方法還包括:若所述多個定時列表中的第一定時列表的消耗時長超出預設時間段,生成第二任務生成器線程;將所述第一定時列表作為定時配置信息置入所述第二任務生成器線程中。在本申請的一種實施例中,所述定時配置信息包括定時起始時間、定時結束時間以及重復執行時間間隔,所述定時任務生成器根據所述定時配置信息生成定時任務,包括:所述定時任務生成器判斷當前時刻是否在待生成的任務的定時起始時間與定時結束時間范圍內;若是,跳過所述待生成的任務,對所述定時列表中該待生成的任務的下一個任務進行上述判斷;若否,生成所述待生成的任務。本申請實施例還提供了一種定時任務執行裝置,所述裝置包括:定時配置掃描器,用于根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器;定時任務生成器,用于根據所述定時配置信息生成定時任務;定時任務生成器,若任務類型為同步調用類型,用于將所述定時任務發送至任務執行器;任務執行器,用于執行所述定時任務生成器發送的定時任務。在本申請的一種實施例中,所述定時任務生成器還用于:若所述定時任務的任務類型為異步調用類型,將該定時任務發送給異步調度主控。在本申請的一種實施例中,所述定時配置掃描器還用于初始化定時任務線程池,以使所述定時任務線程池多線程輪詢所述定時條件配置信息列表;所述定時任務線程池用于根據標志信息,從所述定時條件配置信息列表獲取滿足所述標志信息條件的多個定時列表;若所述多個定時列表中的每個定時列表的消耗時長低于預設時間段,所述定時配置掃描器用于將所述多個定時列表作為定時配置信息置入第一任務生成器線程中。在本申請的一種實施例中,若所述多個定時列表中的第一定時列表的消耗時長超出預設時間段,所述定時配置掃描器用于生成第二任務生成器線程;所述定時配置掃描器用于將所述第一定時列表作為定時配置信息置入所述第二任務生成器線程中。在本申請的一種實施例中,所述定時任務生成器用于判斷當前時刻是否在待生成的任務的定時起始時間與定時結束時間范圍內;若是,所述定時任務生成器用于跳過所述待生成的任務,對所述定時列表中該待生成的任務的下一個任務進行上述判斷;若否,所述定時任務生成器用于生成所述待生成的任務。本申請實施例提供的定時任務執行方法及裝置的有益效果為:本申請實施例提供的定時任務執行方法及裝置中,定時配置掃描器根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器;所述定時任務生成器根據所述定時配置信息生成定時任務;若所述定時任務的任務類型為同步調用類型,所述定時任務生成器將所述定時任務發送至任務執行器;所述任務執行器執行所述定時任務生成器發送的定時任務。本申請實施例提供的定時任務執行方法可以在配置定時任務時,將定時任務配置成事件驅動或事件加時間條件驅動改善了現有技術中不能對事件驅動或事件加時間驅動進行很好的支持的情況。附圖說明為了更清楚的說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1示出了本申請第一實施例提供的定時任務執行方法的流程圖;圖2是圖1中步驟S110的具體步驟示意圖;圖3是圖1中步驟S120的具體步驟示意圖;圖4示出了本申請第二實施例提供的定時任務執行裝置的結構框圖。具體實施方式第一實施例本申請實施例提供了一種定時任務執行方法,詳情請參見圖1所述方法包括:步驟S110,定時配置掃描器根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器。定時配置掃描器是一個守護進程,負責讀取用戶定義的定時任務配置信息,將其加載進入內存;輪詢每條配置信息,根據定時配置信息從定時任務線程池中獲取線程資源,實例化定時任務生成器,完成定時任務生成。請參見圖2,圖2示出了步驟S110的具體步驟流程圖,具體包括如下步驟:步驟S111,所述定時配置掃描器初始化定時任務線程池,以使所述定時任務線程池多線程輪詢所述定時條件配置信息列表。定時任務線程池是能同時啟動多條線程來同時輪詢定時條件配置信息列表的線程,可以在提升處理效率的同時避免資源的過度使用。若線程池已滿時,暫停定時任務的處理,使線程池的大小可動態調整。步驟S112,所述定時任務線程池根據標志信息,從所述定時條件配置信息列表獲取滿足所述標志信息條件的多個定時列表。標志信息具體可以包括組件標志、有效標志、掃描間隔等。組件標志表示該定時任務在哪本文檔來自技高網...
【技術保護點】
1.一種定時任務執行方法,其特征在于,所述方法包括:定時配置掃描器根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器;所述定時任務生成器根據所述定時配置信息生成定時任務;若所述定時任務的任務類型為同步調用類型,所述定時任務生成器將所述定時任務發送至任務執行器;所述任務執行器執行所述定時任務生成器發送的定時任務。
【技術特征摘要】
1.一種定時任務執行方法,其特征在于,所述方法包括:定時配置掃描器根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器;所述定時任務生成器根據所述定時配置信息生成定時任務;若所述定時任務的任務類型為同步調用類型,所述定時任務生成器將所述定時任務發送至任務執行器;所述任務執行器執行所述定時任務生成器發送的定時任務。2.根據權利要求1所述的方法,其特征在于,在所述定時任務生成器根據所述定時配置信息生成定時任務之后,所述方法還包括:若所述定時任務的任務類型為異步調用類型,所述定時任務生成器將該定時任務發送給異步調度主控。3.根據權利要求1所述的方法,其特征在于,所述定時配置掃描器根據定時條件配置信息列表獲得定時配置信息,將所述定時配置信息發送至定時任務生成器,包括:所述定時配置掃描器初始化定時任務線程池,以使所述定時任務線程池多線程輪詢所述定時條件配置信息列表;所述定時任務線程池根據標志信息,從所述定時條件配置信息列表獲取滿足所述標志信息條件的多個定時列表;若所述多個定時列表中的每個定時列表的消耗時長低于預設時間段,將所述多個定時列表作為定時配置信息置入第一任務生成器線程中。4.根據權利要求3所述的方法,其特征在于,在所述定時任務線程池根據標志信息,從所述定時條件配置信息列表獲取滿足所述標志信息條件的多個定時列表之后,所述方法還包括:若所述多個定時列表中的第一定時列表的消耗時長超出預設時間段,生成第二任務生成器線程;將所述第一定時列表作為定時配置信息置入所述第二任務生成器線程中。5.根據權利要求3所述的方法,其特征在于,所述定時配置信息包括定時起始時間、定時結束時間以及重復執行時間間隔,所述定時任務生成器根據所述定時配置信息生成定時任務,包括:所述定時任務生成器判斷當前時刻是否在待生成的任務...
【專利技術屬性】
技術研發人員:陳悌宇,蔣玉樹,范鐘藝,
申請(專利權)人:中國建設銀行股份有限公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。