TWI753880B - 基於分布式系統的任務處理方法、裝置和系統 - Google Patents

基於分布式系統的任務處理方法、裝置和系統 Download PDF

Info

Publication number
TWI753880B
TWI753880B TW106104136A TW106104136A TWI753880B TW I753880 B TWI753880 B TW I753880B TW 106104136 A TW106104136 A TW 106104136A TW 106104136 A TW106104136 A TW 106104136A TW I753880 B TWI753880 B TW I753880B
Authority
TW
Taiwan
Prior art keywords
task
information
processing device
sub
execution
Prior art date
Application number
TW106104136A
Other languages
English (en)
Other versions
TW201732629A (zh
Inventor
方正
劉少偉
Original Assignee
香港商阿里巴巴集團服務有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 香港商阿里巴巴集團服務有限公司 filed Critical 香港商阿里巴巴集團服務有限公司
Publication of TW201732629A publication Critical patent/TW201732629A/zh
Application granted granted Critical
Publication of TWI753880B publication Critical patent/TWI753880B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • G06F9/4862Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/486Scheduler internals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本發明揭露了一種基於分布式系統的任務處理方法、裝置和系統。其中,該方法包括:任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊;任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊;任務處理設備藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。本發明解決了現有技術中分布式執行系統建立在特定的應用環境中,任務處理設備無法成功執行任務資訊,導致任務丟失的技術問題。

Description

基於分布式系統的任務處理方法、裝置和系統
本發明關於分布式系統領域,具體而言,關於一種基於分布式系統的任務處理方法、裝置和系統。
隨著微處理機技術的發展,分布式系統可以潛在地得到比單一大型集中式系統更好的性價比,可以藉由較低廉的價格實現相似的功能,因此,分布式系統成為越來越普遍使用的系統架構。
但是,現有技術中的分布式執行系統是在特定應用環境中設計的分布式執行系統,其架構如圖1所示,系統架構分為層:資源管理層和任務執行層,其中資源管理層作為整個系統的中控設備,可以稱之為driver,負責對任務的分配、資源的分配、使用者端的api介面等功能;任務執行層的任務處理設備可以實現具體的任務執行邏輯,稱之為node,每個node部署在一台機器上(gateway),node是可水平擴展。任務的執行流程圖如圖1所示:
使用者端藉由driver提供的HTTP介面提交執行任務;Driver基於內部的資源管理模型,將任務分發到指定 的node上;Node讀取到分配到node上的任務;Node獲取到任務後,將任務資訊註冊到記憶體中;啟動任務執行進程,提交到計算引擎執行;保存任務執行日誌以及進程pid到本地;任務執行的狀態(執行中、執行完畢),將任務資訊反饋到driver;Driver在將任務狀態回調給使用者端。
藉由上述流程可以發現,上述系統中至少存在如下三個問題:1、如果driver與其中某些node網路不通,則driver發起的任務資訊將無法成功發給node,也無法獲知哪些任務資訊沒有發送成功;2、如果任務處理設備處於特殊的應用環境,例如在任務處理設備node進行升級的過程中,或者進入中斷狀態下,由於需要重啟設備,因此重啟過程中會導致任務資訊無法執行等問題;3、若存在driver重複發了多次任務到一台node上,node存在重複執行相同的任務資訊的問題,導致資源浪費。
針對現有技術中分布式執行系統建立在特定的應用環境中,任務處理設備無法成功執行任務資訊,導致任務丟失的技術問題,目前尚未提出有效的解決方案。
本發明實施例提供了一種基於分布式系統的任務處理 方法、裝置和系統,以至少解決現有技術中分布式執行系統建立在特定的應用環境中,任務處理設備無法成功執行任務資訊,導致任務丟失的技術問題。
根據本發明實施例的一個方面,提供了一種基於分布式系統的任務處理方法,包括:任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊;任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊;任務處理設備藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
根據本發明實施例的另一方面,還提供了一種基於分布式系統的任務處理裝置,包括:第一獲取模組,用於任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊;第一執行模組,用於任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊;第一保存模組,用於任務處理設備藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
根據本發明實施例的另一方面,還提供了一種基於分布式系統的任務處理系統,包括:主控設備,用於儲存任務資訊;任務處理設備,與主控設備進行通訊,用於藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊;任務處理設備還用於任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊;任務處理設備還用於藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
在本發明實施例中,任務處理設備藉由發起任務請求從主控設備中獲取主控設備中保存的任務資訊,任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊,任務處理設備藉由代理進程將任務執行資訊保存至目標位置。
容易注意到,由於任務處理設備中主進程和任務子進程藉由代理進程進行隔離,使得主進程停止或者被重啟,代理進程及任務子進程都不感知,可以正常執行任務資訊,從而實現正在執行的進程在主進程啟動過程中不受影響。並且由於任務處理設備主動向主控設備獲取任務資訊,即任務處理設備單向主控設備存取,因此藉由改變http方式,利用資料庫同步儲存資料,從而實現任務處理設備、主控設備不在同一個網段環境下分布式系統的部署 問題。能夠支援百萬級的任務執行,並且藉由HTTP的方式,可以隨時部署node,大大提升了系統的環境適應能力和可擴展能力。
由此,本發明提供的實施例解決了現有技術中分布式執行系統建立在特定的應用環境中,任務處理設備無法成功執行任務資訊,導致任務丟失的技術問題。
20‧‧‧電腦終端
202‧‧‧處理器
204‧‧‧記憶體
206‧‧‧傳輸模組
S301‧‧‧步驟
S303‧‧‧步驟
S305‧‧‧步驟
81‧‧‧客戶終端
161‧‧‧主控設備
163‧‧‧任務處理設備
S801‧‧‧步驟
S802‧‧‧步驟
S803‧‧‧步驟
S804‧‧‧步驟
S805‧‧‧步驟
S806‧‧‧步驟
S807‧‧‧步驟
91‧‧‧第一獲取模組
93‧‧‧第一執行模組
95‧‧‧第一保存模組
101‧‧‧第二執行模組
111‧‧‧第二獲取模組
113‧‧‧第一確定模組
121‧‧‧第二確定模組
123‧‧‧第一註冊模組
125‧‧‧第二註冊模組
131‧‧‧第三確定模組
133‧‧‧反饋模組
135‧‧‧第三註冊模組
141‧‧‧生成模組
143‧‧‧第二保存模組
151‧‧‧監聽模組
161‧‧‧主控設備
163‧‧‧任務處理設備
171‧‧‧處理器
173‧‧‧記憶體
175‧‧‧傳輸裝置
此處所說明的附圖用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:圖1是根據現有技術的一種分布式執行系統的任務處理的流程圖;圖2是根據本發明實施例的一種基於分布式系統的任務處理方法的電腦終端的硬體結構方塊圖;圖3是根據本發明實施例的一種基於分布式系統的任務處理方法的流程圖;圖4是根據本發明實施例的一種分布式執行系統的結構示意圖;圖5是根據本發明實施例的一種可選的任務處理設備的示意圖;圖6是根據本發明實施例的一種可選的任務處理設備執行任務的流程圖; 圖7是根據本發明實施例的一種可選的任務處理設備重啟後恢復任務資訊的流程圖;圖8是根據本發明實施例的基於分布式系統的任務處理方法的互動圖;圖9是根據本發明實施例的基於分布式系統的任務處理裝置的示意圖;圖10是根據本發明實施例的可選的基於分布式系統的任務處理裝置的示意圖;圖11是根據本發明實施例的可選的基於分布式系統的任務處理裝置的示意圖;圖12是根據本發明實施例的可選的基於分布式系統的任務處理裝置的示意圖;圖13是根據本發明實施例的可選的基於分布式系統的任務處理裝置的示意圖;圖14是根據本發明實施例的可選的基於分布式系統的任務處理裝置的示意圖;圖15是根據本發明實施例的可選的基於分布式系統的任務處理裝置的示意圖;圖16是根據本發明實施例的基於分布式系統的任務處理系統的示意圖;以及圖17是根據本發明實施例的一種電腦終端的結構方塊圖。
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬本發明保護的範圍。
需要說明的是,本發明的說明書和申請專利範圍第申請專利範圍及上述附圖中的用語“第一”、“第二”等是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的資料在適當情況下可以互換,以便這裡描述的本發明的實施例能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,用語“包括”和“具有”以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
首先,在對本發明實施例進行描述的過程中出現的部分名詞或用語適用於如下解釋:分布式系統:distributed system,是建立在網路上的軟體系統,具有高度的內聚性和透明性。內聚性是指每一個資料庫分布節點高度自治,有本地的資料庫管理系統。透明性是指每一個資料庫分布節點對使用者的應用來說都 是透明的,看不出是本地還是遠程。
driver:主控設備,分布式執行系統中的服務層(中控),負責資源管理。
node:任務處理設備,分布式執行系統中的集群的機器節點,也稱之為gateway,具體負責任務的執行。
pid:任務進程編號,啟動代理進程時進行保存。
實施例1
根據本發明實施例,還提供了一種基於分布式系統的任務處理方法實施例,需要說明的是,在附圖的流程圖顯示的步驟可以在諸如一組電腦可執行指令的電腦系統中執行,並且,雖然在流程圖中顯示了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所顯示或描述的步驟。
本發明實施例一所提供的方法實施例可以在移動終端、電腦終端或者類似的運算裝置中執行。以運行在電腦終端上為例,圖2是根據本發明實施例的一種基於分布式系統的任務處理方法的電腦終端的硬體結構方塊圖。如圖2所示,電腦終端20可以包括一個或多個(圖中僅顯示一個)處理器202(處理器202可以包括但不限於微處理器MCU或可程式化邏輯裝置FPGA等的處理裝置)、用於儲存資料的記憶體204、以及用於通訊功能的傳輸模組206。本領域普通技術人員可以理解,圖2所示的結構僅為示意,其並不對上述電子裝置的結構造成限定。例如, 電腦終端20還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。
記憶體204可用於儲存應用軟體的軟體程序以及模組,如本發明實施例中的基於分布式系統的任務處理方法對應的程序指令/模組,處理器202藉由運行儲存在記憶體204內的軟體程序以及模組,從而執行各種功能應用以及資料處理,即實現上述的基於分布式系統的任務處理方法。記憶體204可包括高速隨機記憶體,還可包括非揮發性記憶體,如一個或者多個磁性儲存裝置、快閃記憶體、或者其他非揮發性固態記憶體。在一些實例中,記憶體204可進一步包括相對於處理器202遠程設置的記憶體,這些遠程記憶體可以藉由網路連接至電腦終端20。上述網路的實例包括但不限於網際網路、企業內部網路、區域網路、行動通訊網路及其組合。
傳輸裝置206用於經由一個網路接收或者發送資料。上述的網路具體實例可包括電腦終端20的通訊供應商提供的無線網路。在一個實例中,傳輸裝置206包括一個網路適配器(Network Interface Controller,NIC),其可藉由基地台與其他網路設備相連從而可與網際網路進行通訊。在一個實例中,傳輸裝置206可以為射頻(Radio Frequency,RF)模組,其用於藉由無線方式與網際網路進行通訊。
在上述運行環境下,本發明提供了如圖3所示的基於分布式系統的任務處理方法。圖3是根據本發明實施例的 一種基於分布式系統的任務處理方法的流程圖,如圖3所示的方法可以包括如下步驟S301至步驟S305:步驟S301,任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊。
可選地,上述任務處理設備可以是部署在分布式系統中的集群的機器節點node,上述任務請求可以是http請求,上述主控設備可以是driver,主控設備的資料庫中保存有任務處理設備需要的任務資訊。
需要說明的是,分布式系統中任務都在資源管理層Driver層做分發,driver管理node、任務。每台node上正在執行的任務列表都儲存在driver的DB中,儲存週期為任務生命週期。
圖4是根據本發明實施例的一種分布式執行系統的結構示意圖,如圖4所示,在一種可選的方案中,任務處理設備主動發送http請求給主控設備,主控設備接收到http請求之後,提取http請求對應的任務資訊,藉由介面將該任務資訊發送給任務處理設備。
步驟S303,任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊。
可選地,上述代理進程可以是代理腳本,代理腳本可以作為主進程與任務子進程的通道。
圖5是根據本發明實施例的一種可選的任務處理設備 的示意圖,如圖5所示,任務處理設備node中的主進程(AlisaNode)與任務子進程隔離,代理進程(Python進程)關聯任務子進程,並且讀寫日誌。圖6是根據本發明實施例的一種可選的任務處理設備執行任務的流程圖,結合圖5和圖6可知,在一種可選的方案中,node從driver中獲取到任務之後,啟動代理進程,傳入任務執行需要的參數,代理進程啟動具體的任務子進程執行任務資訊。
步驟S305,任務處理設備藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
可選地,上述目標位置可以是代理進程的本地文件,路徑可以是任務執行路徑,上述任務資訊的任務標識可以是任務id,上述任務子進程的進程資訊可以是任務子進程的進程號pid。
需要說明的是,上述任務子進程執行任務資訊所生成的日誌資訊為完整的日誌資訊,是指日誌動作與任務處理設備重啟不相關,並且只要代理進程存在,日誌就可以正常讀寫。
如圖6所示,在一種可選的方案中,任務子進程將所有的日誌資訊藉由流方式返回給代理伺服器,代理進程將接收到的日誌資訊、子進程的進程號、任務資訊標號和退出碼保存到本地文件中。
本發明上述實施例一揭露的方案中,任務處理設備藉由發起任務請求從主控設備中獲取主控設備中保存的任務資訊,任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊,任務處理設備藉由代理進程將任務執行資訊保存至目標位置。
容易注意到,由於任務處理設備中主進程和任務子進程藉由代理進程進行隔離,使得主進程停止或者被重啟,代理進程及任務子進程都不感知,可以正常執行任務資訊,從而實現正在執行的進程在主進程啟動過程中不受影響。並且由於任務處理設備主動向主控設備獲取任務資訊,即任務處理設備單向主控設備存取,因此藉由改變http方式,利用資料庫同步儲存資料,從而實現任務處理設備、主控設備不在同一個網段環境下分布式系統的部署問題。能夠支援百萬級的任務執行,並且藉由HTTP的方式,可以隨時部署node,大大提升了系統的環境適應能力和可擴展能力。
由此,本發明提供的上述實施例一的方案解決了現有技術中分布式執行系統建立在特定的應用環境中,任務處理設備無法成功執行任務資訊,導致任務丟失的技術問題。
在本發明上述實施例中,在步驟S303主進程接收到任務資訊之後,上述方法還包括如下步驟S307:步驟S307,如果主進程被重啟,則藉由代理進程離 線啟動任務子進程來執行任務資訊,並離線保存任務執行資訊。
在一種可選的方案中,如果node主進程被重啟,代理進程離線啟動任務子進程執行任務資訊,並將任務子進程發送的任務執行資訊藉由離線儲存方式儲存在本地文件中。
藉由上述步驟S307,主進程被重啟,代理進程藉由離線儲存任務子進程的任務執行資訊的方式保護任務狀態,從而實現任務處理設備熱重啟不影響任務執行、不丟失日誌資訊的目的。
在本發明上述實施例中,在步驟S307主進程被重啟之後,上述方法還包括如下步驟S311至步驟S313:步驟S311,任務處理設備藉由存取主控設備,來獲取當前正在執行的至少一個任務資訊,任務資訊包括:任務標識和任務執行路徑。
可選地,上述任務執行路徑可以是全域唯一的關鍵路徑,這個路徑可以維持整個任務的生命週期,任務執行路徑的生成方式為:使用者端名稱+日期+隨機數+任務編號。
圖7是根據本發明實施例的一種可選的任務處理設備重啟後恢復任務資訊的流程圖,如圖7所示,在一種可選的方案中,node上保留任務資訊都在記憶體中,node重啟後任務資訊丟失。但是任務子進程與node主進程分離,node重啟,任務正常執行。待node恢復後,調用恢 復(recover)介面,獲取driver中找到當前正在執行的任務列表(即上述的當前正在執行的至少一個任務資訊),每個任務包含有任務編號和任務執行路徑。
步驟S313,任務處理設備藉由檢測在目標位置中記錄的任務執行資訊,來確定在主進程被重啟時至少一個任務資訊中已經被執行或未被執行的任務。
可選地,藉由查詢該任務執行路徑下的日誌文件,可以得到日誌資訊介面;藉由查詢該任務執行路徑下的任務子進程文件,可以得到該任務資訊是否已經被任務子進程執行;藉由查詢該任務執行路徑下的退出碼文件,可以得到該任務資訊是否已經被任務子進程執行結束。
如圖7所示,在一種可選的方案中,任務處理設備對每個任務基於任務執行路徑長訓是否存在對應的子進程的進程號,如果存在對應的子進程的進程號,則說明該任務已經被執行;如果不存在對應的子進程的進程號,則說明該任務為被執行。
藉由上述步驟S311至步驟S313,任務處理設備主進程被重啟後,從主控設備中獲取當前正在執行的至少一個任務資訊,並檢測在目標位置中記錄的任務執行資訊,確定至少一個任務資訊是否已經被執行或未被執行,從而實現主進程重啟後,任務子進程執行任務資訊的一致性。
在本發明上述實施例中,步驟S313任務處理設備藉由檢測在目標位置中記錄的任務執行資訊,來確定至少一個任務資訊中已經被執行或未被執行的任務,包括如下步 驟S3133至步驟S3135:步驟S3131,任務處理設備在目標位置進行本地查詢,確定是否已經存在與至少一個任務資訊中任意一個任務標識相匹配的進程資訊。
可選地,上述進程資訊可以是子進程的進程號,每一個任務子進程在啟動執行任務資訊時,都會將自己的進程號對應的存放在該任務資訊中。
在一種可選的方案中,任務處理設基於任務執行路徑進行查詢,根據任務標識確定至少一個任務資訊中任意一個任務標識是否存在對應的子進程的進程號。
步驟S3133,如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程啟動執行,任務處理設備僅在記憶體中註冊該任務資訊。
如圖7所示,在一種可選的方案中,如果存在子進程的進程號,說明該任務資訊已經被相應的任務子進程啟動執行,則任務處理設備重新恢復任務資訊(即上述的在記憶體中註冊該任務資訊),並讀取該任務的任務進程資訊(即上述的任務執行資訊)。
步驟S3135,如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程所執行,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程執行任務資訊。
如圖7所示,在一種可選的方案中,如果不存在子進程的進程號,說明該任務資訊未被相應的任務子進程執 行,則任務處理設備在記憶體中保存該任務資訊,藉由啟動代理進程來啟動相應的任務子進程執行任務資訊。
藉由上述步驟S3133至步驟S3135,任務處理設備從在目標位置進行本地查詢,確定是否存在相應的子進程的進程號,如果存在則重新記錄任務資訊;如果不存在,則藉由代理進程啟動任務子進程執行任務資訊,從而實現主進程重啟後,任務子進程執行任務資訊的一致性。
在本發明上述實施例中,在步驟S3133任務處理設備僅在記憶體中註冊該任務資訊之前,上述方法還包括如下步驟S317至步驟S319:步驟S315,任務處理設備在目標位置進行本地查詢,確定是否已經存在與已經被對應的任務子進程啟動執行的任務資訊相匹配的退出碼。
可選地,上述退出碼(returncode)用於表徵該任務資訊已經執行結束。
步驟S317,如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程執行結束,任務處理設備終止在記憶體中註冊該任務資訊,直接將對應的任務日誌反饋給主控設備。
步驟S319,如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程執行完畢,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程重新執行任務資訊。
在一種可選的方案中,如果任務處理設備確定存在對 應的子進程的進程號,則判斷是否存在任務資訊對應的退出碼,如果存在,則說明該任務資訊已經被執行完畢,那麼就不需要在記憶體中註冊該任務資訊,直接將相應的任務日誌反饋給主控設備;如果不存在,則說明該任務未被執行完畢,需要藉由代理進程啟動相應的任務子進程重新執行該任務資訊。
藉由上述步驟S317至步驟S319,任務處理設備在目標位置進行本地查詢,確定是否已經存在對應的退出碼,如果存在則反饋任務日誌,如果不存在則啟動相應的任務子進程重新執行該任務資訊,從而實現主進程重啟後,恢復正在執行的任務資訊,保證了任務資訊的狀態。
在本發明上述實施例中,在步驟S301任務處理設備藉由發起任務請求從主控設備中獲取任務資訊之後,上述方法還包括如下步驟S321至步驟S323:步驟S321,從任務資訊中提取路徑參數,並根據路徑參數生成任務執行路徑。
在一種可選的方案中,任務處理設備在獲取到任務資訊時,會從任務資訊中獲取到一條路徑參數,任務處理設備將該參數作為當前的任務執行路徑,任務的執行日誌、進程號、退出碼都保存在該路徑下。
步驟S323,代理進程根據任務執行路徑將任務標識保存至目標位置。
在一種可選的方案中,任務子進程在執行啟動時會將當前子進程的進程號保存到本地文件中,保存的路徑為任 務執行路徑。
藉由上述步驟S321至步驟S323,任務處理設備從任務資訊中提取路徑參數,生成任務執行路徑,代理進程根據任務執行路徑將任務標識保存在目標位置,從而保證主進程重啟前後任務日誌的完整性和可查性。
在本發明上述實施例中,上述方法還包括如下步驟S325:步驟S325,任務處理設備的主進程根據任務標識監聽任務資訊是否被啟動執行,並根據退出碼監聽任務資訊是否執行結束。
藉由上述步驟S325,任務處理設備可以藉由任務標識和退出碼監聽任務資訊是否被執行,以及是否執行結束,從而確保任務資訊全部被執行且全部執行完畢。
下面結合圖5、圖7和圖8詳細介紹本發明的一種較佳實施例。
如圖8所示,以任務處理設備包括主進程、代理進程和任務子進程為應用場景,提供了一種可選的基於分布式系統的任務處理方法,該方法可以包括如下步驟S81至步驟S87:S801,客戶終端81提交任務。
可選地,客戶可以藉由客戶終端81發佈任務資訊。
S802,任務處理設備163的主進程獲取主控設備161中保存的任務資訊。
可選地,任務處理設備163的主進程藉由http請求從 主控設備161中獲取任務資訊,任務資訊保存在主控設備中。
在該實施例中,上述步驟S802的實現方式與本發明上述實施例中的步驟S301的實現方式一致,在此不再贅述。
S803,任務處理設備163藉由代理進程啟動任務子進程執行任務資訊。
可選地,任務處理設備163的主進程收到任務資訊之後,藉由觸發代理進程啟動任務子進程執行任務資訊,如圖5所示,任務處理設備node中的主進程(AlisaNode)與任務子進程隔離,代理進程(Python進程)關聯任務子進程,並且讀寫日誌。
在該實施例中,上述步驟S803的實現方式與本發明上述實施例中的步驟S303的實現方式一致,在此不再贅述。
S804,任務處理設備163藉由代理進程保存任務執行資訊。
可選地,任務處理設備163在獲取到任務資訊時,從任務資訊中獲取路徑參數,生成任務執行路徑,代理進程將任務資訊的任務標識、任務子進程的進程資訊、日誌資訊和退出碼保存在該任務執行路徑對應的目標位置。
在該實施例中,上述步驟S804的實現方式與本發明上述實施例中的步驟S305的實現方式一致,在此不再贅述。
S805,主進程重啟,任務處理設備163藉由理進程離線啟動任務子進程執行任務資訊,並離線保存任務執行資訊。
可選地,如果主進程被重啟,代理進程離線啟動任務子進程來執行任務資訊,並將任務子進程執行任務資訊生成的任務執行資訊藉由離線儲存方式保存在目標位置。主進程被重啟後,任務處理設備163從主控設備161中獲取正在執行的任務資訊,並從目標位置中查詢任務執行資訊,確定主進程被重啟時該任務資訊是否已經被執行或未被執行。
如圖7所示,在一種可選的方案中,主進程被重啟後,任務處理設備163調用恢復介面獲取主控設備161中保存的任務列表,檢測目標位置中是否存在對應的任務子進程的進程號,如果不存在,說明該任務資訊未被相應的任務子進程執行,則任務處理設備163在記憶體中保存該任務資訊,藉由啟動代理進程來啟動相應的任務子進程執行任務資訊;如果存在,說明該任務資訊已經被相應的任務子進程啟動執行,則任務處理設備163檢測目標位置中是否存在對應的退出碼,如果不存在,則藉由代理進程啟動對應的任務子進程重新執行該任務資訊,如果存在,則返回任務日誌給主控設備161。
S806,任務處理設備163返回任務狀態給主控設備161。
可選地,主進程根據任務標識監聽任務資訊是否被啟 動執行,根據退出碼監聽任務資訊是否執行結束,如果主進程監聽該任務已經被執行,則反饋任務執行資訊給主控設備161,如果監聽該任務資訊已經執行結束,則反饋任務日誌給主控設備161。
在該實施例中,上述步驟S806的實現方式與本發明上述實施例中的步驟S325的實現方式一致,在此不再贅述。
S807,主控設備161將任務日誌反饋給客戶終端81。
可選地,主控設備161將執行結束的任務資訊的任務日誌反饋給使用者端,經正在執行的任務資訊的任務執行資訊給客戶終端81。
需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬較佳實施例,所關於的動作和模組並不一定是本發明所必須的。
藉由以上的實施方式的描述,本領域的技術人員可以清楚地瞭解到根據上述實施例的方法可借助軟體加必需的通用硬體平臺的方式來實現,當然也可以藉由硬體,但很多情況下前者是更佳的實施方式。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可 以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存媒體(如ROM/RAM、磁碟、光碟)中,包括若干指令用以使得一台終端設備(可以是手機,電腦,伺服器,或者網路設備等)執行本發明各個實施例所述的方法。
實施例2
根據本發明實施例,還提供了一種用於實施上述基於分布式系統的任務處理方法的基於分布式系統的任務處理裝置,如圖9所示,該裝置包括:第一獲取模組91,第一執行模組93和第一保存模組95。
其中第一獲取模組91用於任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊。第一執行模組93用於任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊。第一保存模組95用於任務處理設備藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
可選地,上述任務處理設備可以是部署在分布式系統中的集群的機器節點node,上述任務請求可以是http請求,上述主控設備可以是driver,主控設備的資料庫中保存有任務處理設備需要的任務資訊。上述代理進程可以是 代理腳本,代理腳本可以作為主進程與任務子進程的通道。上述目標位置可以是代理進程的本地文件,路徑可以是任務執行路徑,上述任務資訊的任務標識可以是任務id,上述任務子進程的進程資訊可以是任務子進程的進程號pid。
需要說明的是,分布式系統中任務都在資源管理層Driver層做分發,driver管理node、任務。每台node上正在執行的任務列表都儲存在driver的DB中,儲存週期為任務生命週期。上述任務子進程執行任務資訊所生成的日誌資訊為完整的日誌資訊,是指日誌動作與任務處理設備重啟不相關,並且只要代理進程存在,日誌就可以正常讀寫。
此處需要說明的是,上述第一獲取模組91,第一執行模組93和第一保存模組95對應於實施例一中的步驟S301至步驟S305,三個模組與對應的步驟所實現的實例和應用場景相同,但不限於上述實施例一所揭露的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端20中。
本發明上述實施例二揭露的方案中,任務處理設備藉由發起任務請求從主控設備中獲取主控設備中保存的任務資訊,任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊,任務處理設備藉由代理進程將任務執行資訊保存至目標位置。
容易注意到,由於任務處理設備中主進程和任務子進程藉由代理進程進行隔離,使得主進程停止或者被重啟,代理進程及任務子進程都不感知,可以正常執行任務資訊,從而實現正在執行的進程在主進程啟動過程中不受影響。並且由於任務處理設備主動向主控設備獲取任務資訊,即任務處理設備單向主控設備存取,因此藉由改變http方式,利用資料庫同步儲存資料,從而實現任務處理設備、主控設備不在同一個網段環境下分布式系統的部署問題。能夠支援百萬級的任務執行,並且藉由HTTP的方式,可以隨時部署node,大大提升了系統的環境適應能力和可擴展能力。
由此,本發明提供的上述實施例二的方案解決了現有技術中分布式執行系統建立在特定的應用環境中,任務處理設備無法成功執行任務資訊,導致任務丟失的技術問題。
在本發明上述實施例中,如圖10所示,上述裝置還包括:第二執行模組101。
其中,第二執行模組101用於在主進程接收到任務資訊之後,如果主進程被重啟,則藉由代理進程離線啟動任務子進程來執行任務資訊,並離線保存任務執行資訊。
此處需要說明的是,上述第二執行模組101對應於實施例一中的步驟S307,上述模組與對應的步驟所實現的實例和應用場景相同,但不限於上述實施例一所揭露的內容。需要說明的是,上述模組作為裝置的一部分可以運行 在實施例一提供的電腦終端20中。
在本發明上述實施例中,如圖11所示,上述裝置還包括:第二獲取模組111和第一確定模組113。
其中。第二獲取模組111用於任務處理設備藉由存取主控設備,來獲取當前正在執行的至少一個任務資訊,任務資訊包括:任務標識和任務執行路徑。第一確定模組113用於任務處理設備藉由檢測在目標位置中記錄的任務執行資訊,來確定在主進程被重啟時至少一個任務資訊中已經被執行或未被執行的任務。
可選地,上述任務執行路徑可以是全域唯一的關鍵路徑,這個路徑可以維持整個任務的生命週期,任務執行路徑的生成方式為:使用者端名稱+日期+隨機數+任務編號。藉由查詢該任務執行路徑下的日誌文件,可以得到日誌資訊介面;藉由查詢該任務執行路徑下的任務子進程文件,可以得到該任務資訊是否已經被任務子進程執行;藉由查詢該任務執行路徑下的退出碼文件,可以得到該任務資訊是否已經被任務子進程執行結束。
此處需要說明的是,上述第二獲取模組111和第一確定模組113對應於實施例一中的步驟S311至步驟S313,兩個模組與對應的步驟所實現的實例和應用場景相同,但不限於上述實施例一所揭露的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端20中。
在本發明上述實施例中,如圖12所示,第一確定模 組113包括:第二確定模組121,第一註冊模組123和第二註冊模組125。
其中,第二確定模組121用於任務處理設備在目標位置進行本地查詢,確定是否已經存在與至少一個任務資訊中任意一個任務標識相匹配的進程資訊。第一註冊模組123用於如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程啟動執行,任務處理設備僅在記憶體中註冊該任務資訊。第二註冊模組125用於如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程所執行,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程執行任務資訊。
可選地,上述進程資訊可以是子進程的進程號,每一個任務子進程在啟動執行任務資訊時,都會將自己的進程號對應的存放在該任務資訊中。
此處需要說明的是,上述第二確定模組121,第一註冊模組123和第二註冊模組125對應於實施例一中的步驟S3133至步驟S3135,三個模組與對應的步驟所實現的實例和應用場景相同,但不限於上述實施例一所揭露的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端20中。
在本發明上述實施例中,如圖13所示,上述裝置還包括:第三確定模組131,反饋模組133和第三註冊模組135。
其中,第三確定模組131用於任務處理設備在目標位 置進行本地查詢,確定是否已經存在與已經被對應的任務子進程啟動執行的任務資訊相匹配的退出碼。反饋模組133用於如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程執行結束,任務處理設備終止在記憶體中註冊該任務資訊,直接將對應的任務日誌反饋給主控設備。第三註冊模組135用於如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程執行完畢,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程重新執行任務資訊。
可選地,上述退出碼(returncode)用於表徵該任務資訊已經執行結束。
此處需要說明的是,上述第三確定模組131,反饋模組133和第三註冊模組135對應於實施例一中的步驟S317至步驟S319,三個模組與對應的步驟所實現的實例和應用場景相同,但不限於上述實施例一所揭露的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端20中。
在本發明上述實施例中,如圖14所示,上述裝置還包括:生成模組141和第二保存模組143。
其中,生成模組141用於從任務資訊中提取路徑參數,並根據路徑參數生成任務執行路徑。第二保存模組143用於代理進程根據任務執行路徑將任務標識保存至目標位置。
此處需要說明的是,上述生成模組141和第二保存模 組143對應於實施例一中的步驟S321至步驟S323,兩個模組與對應的步驟所實現的實例和應用場景相同,但不限於上述實施例一所揭露的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端20中。
在本發明上述實施例中,如圖15所示,上述裝置還包括:監聽模組151。
其中,監聽模組151用於任務處理設備的主進程根據任務標識監聽任務資訊是否被啟動執行,並根據退出碼監聽任務資訊是否執行結束。
此處需要說明的是,上述監聽模組151對應於實施例一中的步驟S325,上述模組與對應的步驟所實現的實例和應用場景相同,但不限於上述實施例一所揭露的內容。需要說明的是,上述模組作為裝置的一部分可以運行在實施例一提供的電腦終端20中。
實施例3
根據本發明實施例,還提供了一種用於實施上述基於分布式系統的任務處理方法的基於分布式系統的任務處理系統,如圖16所示,該系統包括:主控設備161和任務處理設備163。
其中,主控設備161用於儲存任務資訊。
任務處理設備163與主控設備161進行通訊,用於藉由發起任務請求從主控設備中獲取任務資訊,其中,在主 控設備中保存任務請求對應的任務資訊。
可選地,上述任務處理設備163可以是部署在分布式系統中的集群的機器節點node,上述任務請求可以是http請求,上述主控設備可以是driver,主控設備的資料庫中保存有任務處理設備需要的任務資訊。
需要說明的是,分布式系統中任務都在資源管理層Driver層做分發,driver管理node、任務。每台node上正在執行的任務列表都儲存在driver的DB中,儲存週期為任務生命週期。
如圖3所示,在一種可選的方案中,任務處理設備主動發送http請求給主控設備,主控設備接收到http請求之後,提取http請求對應的任務資訊,藉由介面將該任務資訊發送給任務處理設備。
任務處理設備163還用於任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊。
可選地,上述代理進程可以是代理腳本,代理腳本可以作為主進程與任務子進程的通道。
如圖5所示,任務處理設備node中的主進程(AlisaNode)與任務子進程隔離,代理進程(Python進程)關聯任務子進程,並且讀寫日誌。結合圖5和圖6可知,在一種可選的方案中,node從driver中獲取到任務之後,啟動代理進程,傳入任務執行需要的參數,代理進程啟動具體的任務子進程執行任務資訊。
任務處理設備163還用於藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
可選地,上述目標位置可以是代理進程的本地文件,路徑可以是任務執行路徑,上述任務資訊的任務標識可以是任務id,上述任務子進程的進程資訊可以是任務子進程的進程號pid。
需要說明的是,上述任務子進程執行任務資訊所生成的日誌資訊為完整的日誌資訊,是指日誌動作與任務處理設備重啟不相關,並且只要代理進程存在,日誌就可以正常讀寫。
如圖6所示,在一種可選的方案中,任務子進程將所有的日誌資訊藉由流方式返回給代理伺服器,代理進程將接收到的日誌資訊、子進程的進程號、任務資訊標號和退出碼保存到本地文件中。
本發明上述實施例三揭露的方案中,任務處理設備藉由發起任務請求從主控設備中獲取主控設備中保存的任務資訊,任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊,任務處理設備藉由代理進程將任務執行資訊保存至目標位置。
容易注意到,由於任務處理設備中主進程和任務子進 程藉由代理進程進行隔離,使得主進程停止或者被重啟,代理進程及任務子進程都不感知,可以正常執行任務資訊,從而實現正在執行的進程在主進程啟動過程中不受影響。並且由於任務處理設備主動向主控設備獲取任務資訊,即任務處理設備單向主控設備存取,因此藉由改變http方式,利用資料庫同步儲存資料,從而實現任務處理設備、主控設備不在同一個網段環境下分布式系統的部署問題。能夠支援百萬級的任務執行,並且藉由HTTP的方式,可以隨時部署node,大大提升了系統的環境適應能力和可擴展能力。
由此,本發明提供的上述實施例三的方案解決了現有技術中分布式執行系統建立在特定的應用環境中,任務處理設備無法成功執行任務資訊,導致任務丟失的技術問題。
在本發明提供的一種可選實施例中,在主進程接收到任務資訊之後,任務處理設備163還用於如果主進程被重啟,則藉由代理進程離線啟動任務子進程來執行任務資訊,並離線保存任務執行資訊。
在本發明提供的一種可選實施例中,在主進程被重啟之後,任務處理設備163還用於藉由存取主控設備,來獲取當前正在執行的至少一個任務資訊,任務資訊包括:任務標識和任務執行路徑;藉由檢測在目標位置中記錄的任務執行資訊,來確定在主進程被重啟時至少一個任務資訊中已經被執行或未被執行的任務。
在本發明提供的一種可選實施例中,任務處理設備163還用於在目標位置進行本地查詢,確定是否已經存在與至少一個任務資訊中任意一個任務標識相匹配的進程資訊;如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程啟動執行,任務處理設備僅在記憶體中註冊該任務資訊;如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程所執行,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程執行任務資訊。
在本發明提供的一種可選實施例中,任務處理設備163還用於在目標位置進行本地查詢,確定是否已經存在與已經被對應的任務子進程啟動執行的任務資訊相匹配的退出碼;如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程執行結束,任務處理設備終止在記憶體中註冊該任務資訊,直接將對應的任務日誌反饋給主控設備;如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程執行完畢,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程重新執行任務資訊。
在本發明提供的一種可選實施例中,任務處理設備163還用於從任務資訊中提取路徑參數,並根據路徑參數生成任務執行路徑;其中,代理進程根據任務執行路徑將任務標識保存至目標位置。
在本發明提供的一種可選實施例中,任務處理設備 163還用於主進程根據任務標識監聽任務資訊是否被啟動執行,並根據退出碼監聽任務資訊是否執行結束。
實施例4
本發明的實施例可以提供一種電腦終端,該電腦終端可以是電腦終端群中的任意一個電腦終端設備。可選地,在本實施例中,上述電腦終端也可以替換為移動終端等終端設備。
可選地,在本實施例中,上述電腦終端可以位於電腦網路的多個網路設備中的至少一個網路設備。
在本實施例中,上述電腦終端可以執行基於分布式系統的任務處理方法中以下步驟的程序代碼:任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊;任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊;任務處理設備藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
可選地,圖17是根據本發明實施例的一種電腦終端的結構方塊圖。如圖17所示,該電腦終端A可以包括:一個或多個(圖中僅顯示一個)處理器171、記憶體173、以及傳輸裝置175。
其中,記憶體173可用於儲存軟體程序以及模組,如本發明實施例中的基於分布式系統的任務處理方法和裝置對應的程序指令/模組,處理器171藉由運行儲存在記憶體內的軟體程序以及模組,從而執行各種功能應用以及資料處理,即實現上述的基於分布式系統的任務處理方法。記憶體173可包括高速隨機記憶體,還可以包括非揮發性記憶體,如一個或者多個磁性儲存裝置、快閃記憶體、或者其他非揮發性固態記憶體。在一些實例中,記憶體173可進一步包括相對於處理器遠程設置的記憶體,這些遠程記憶體可以藉由網路連接至終端A。上述網路的實例包括但不限於網際網路、企業內部網路、區域網路、行動通訊網路及其組合。
處理器171可以藉由傳輸裝置調用記憶體儲存的資訊及應用程序,以執行下述步驟:任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊;任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊;任務處理設備藉由代理進程將任務執行資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
可選的,上述處理器171還可以執行如下步驟的程序代碼:在主進程接收到任務資訊之後,如果主進程被重 啟,則藉由代理進程離線啟動任務子進程來執行任務資訊,並離線保存任務執行資訊。
可選的,上述處理器171還可以執行如下步驟的程序代碼:任務處理設備藉由存取主控設備,來獲取當前正在執行的至少一個任務資訊,任務資訊包括:任務標識和任務執行路徑;任務處理設備藉由檢測在目標位置中記錄的任務執行資訊,來確定在主進程被重啟時至少一個任務資訊中已經被執行或未被執行的任務。
可選的,上述處理器171還可以執行如下步驟的程序代碼:任務處理設備在目標位置進行本地查詢,確定是否已經存在與至少一個任務資訊中任意一個任務標識相匹配的進程資訊;如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程啟動執行,任務處理設備僅在記憶體中註冊該任務資訊;如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程所執行,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程執行任務資訊。
可選的,上述處理器171還可以執行如下步驟的程序代碼:任務處理設備在目標位置進行本地查詢,確定是否已經存在與已經被對應的任務子進程啟動執行的任務資訊相匹配的退出碼;如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程執行結束,任務處理設備終止在記憶體中註冊該任務資訊,直接將對應的任務日誌反饋給主控設備;如果不存在,則確定在主進程被重啟 時,任務資訊未被對應的任務子進程執行完畢,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程重新執行任務資訊。
可選的,上述處理器171還可以執行如下步驟的程序代碼:從任務資訊中提取路徑參數,並根據路徑參數生成任務執行路徑;其中,代理進程根據任務執行路徑將任務標識保存至目標位置。
可選的,上述處理器171還可以執行如下步驟的程序代碼:任務處理設備的主進程根據任務標識監聽任務資訊是否被啟動執行,並根據退出碼監聽任務資訊是否執行結束。
採用本發明實施例,提供了一種基於分布式系統的任務處理方法。本任務處理設備藉由發起任務請求從主控設備中獲取主控設備中保存的任務資訊,任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊,任務處理設備藉由代理進程將任務執行資訊保存至目標位置。解決了現有技術中分布式執行系統建立在特定的應用環境中,任務處理設備無法成功執行任務資訊,導致任務丟失的技術問題。
本領域普通技術人員可以理解,圖17所示的結構僅為示意,電腦終端也可以是智慧手機(如Android手機、iOS手機等)、平板電腦、掌聲電腦以及移動網際網路設備(Mobile Internet Devices,MID)、PAD等終端設備。圖17其並不對上述電子裝置的結構造成限定。例如,電 腦終端A還可包括比圖17中所示更多或者更少的組件(如網路介面、顯示裝置等),或者具有與圖17所示不同的配置。
本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以藉由程序來指令終端設備相關的硬體來完成,該程序可以儲存於一電腦可讀儲存媒體中,儲存媒體可以包括:快閃記憶體、唯讀記憶體(Read-Only Memory,ROM)、隨機存取記憶體(Random Access Memory,RAM)、磁碟或光碟等。
實施例5
本發明的實施例還提供了一種儲存媒體。可選地,在本實施例中,上述儲存媒體可以用於保存上述實施例一所提供的基於分布式系統的任務處理方法所執行的程序代碼。
可選地,在本實施例中,上述儲存媒體可以位於電腦網路中電腦終端群中的任意一個電腦終端中,或者位於移動終端群中的任意一個移動終端中。
可選地,在本實施例中,儲存媒體被設置為儲存用於執行以下步驟的程序代碼:任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在主控設備中保存任務請求對應的任務資訊;任務處理設備的主進程接收到任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行任務資訊;任務處理設備藉由代理進程將任務執行 資訊保存至目標位置,其中,任務執行資訊包括如下任意一個或多個資訊:任務資訊的任務標識、任務子進程的進程資訊、任務子進程執行任務資訊所生成的日誌資訊和退出碼。
可選地,在本實施例中,儲存媒體被設置為儲存用於執行以下步驟的程序代碼:在主進程接收到任務資訊之後,如果主進程被重啟,則藉由代理進程離線啟動任務子進程來執行任務資訊,並離線保存任務執行資訊。
可選地,在本實施例中,儲存媒體被設置為儲存用於執行以下步驟的程序代碼:任務處理設備藉由存取主控設備,來獲取當前正在執行的至少一個任務資訊,任務資訊包括:任務標識和任務執行路徑;任務處理設備藉由檢測在目標位置中記錄的任務執行資訊,來確定在主進程被重啟時至少一個任務資訊中已經被執行或未被執行的任務。
可選地,在本實施例中,儲存媒體被設置為儲存用於執行以下步驟的程序代碼:任務處理設備在目標位置進行本地查詢,確定是否已經存在與至少一個任務資訊中任意一個任務標識相匹配的進程資訊;如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程啟動執行,任務處理設備僅在記憶體中註冊該任務資訊;如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程所執行,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程執行任務資訊。
可選地,在本實施例中,儲存媒體被設置為儲存用於 執行以下步驟的程序代碼:任務處理設備在目標位置進行本地查詢,確定是否已經存在與已經被對應的任務子進程啟動執行的任務資訊相匹配的退出碼;如果存在,則確定在主進程被重啟時,任務資訊已經被對應的任務子進程執行結束,任務處理設備終止在記憶體中註冊該任務資訊,直接將對應的任務日誌反饋給主控設備;如果不存在,則確定在主進程被重啟時,任務資訊未被對應的任務子進程執行完畢,任務處理設備在記憶體中註冊該任務資訊,並啟動對應的任務子進程重新執行任務資訊。
可選地,在本實施例中,儲存媒體被設置為儲存用於執行以下步驟的程序代碼:從任務資訊中提取路徑參數,並根據路徑參數生成任務執行路徑;其中,代理進程根據任務執行路徑將任務標識保存至目標位置。
可選地,在本實施例中,儲存媒體被設置為儲存用於執行以下步驟的程序代碼:任務處理設備的主進程根據任務標識監聽任務資訊是否被啟動執行,並根據退出碼監聽任務資訊是否執行結束。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
在本發明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本發明所提供的幾個實施例中,應該理解到,所揭露的技術內容,可藉由其它的方式實現。其中,以上所描 述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦接或直接耦接或通訊連接可以是藉由一些介面,單元或模組的間接耦接或通訊連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是實體上分開的,作為單元顯示的部件可以是或者也可以不是實體單元,即可以位於一個地方,或者也可以分布到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨實體存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以採用硬體的形式實現,也可以採用軟體功能單元的形式實現。
所述集成的單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以儲存在一個電腦可讀取儲存媒體中。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟體產品的形式體現出來,該電腦軟體產品儲存在一個儲存媒體中,包括若干指令用以使得一台電腦設備(可為個人電腦、伺服器或者網路設備等)執行本發 明各個實施例所述方法的全部或部分步驟。而前述的儲存媒體包括:USB隨身碟、唯讀記憶體(ROM,Read-Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、行動硬碟、磁碟或者光碟等各種可以儲存程序代碼的媒體。
以上所述僅是本發明的較佳實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。

Claims (15)

  1. 一種基於分布式系統的任務處理方法,包括:任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在所述主控設備中保存所述任務請求對應的所述任務資訊;所述任務處理設備的主進程接收到所述任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行所述任務資訊,其中,所述代理進程為所述主進程和所述任務子進程的通道;所述任務處理設備藉由所述代理進程將任務執行資訊保存至目標位置,其中,所述任務執行資訊包括如下任意一個或多個資訊:所述任務資訊的任務標識、所述任務子進程的進程資訊、所述任務子進程執行所述任務資訊所生成的日誌資訊和退出碼。
  2. 根據申請專利範圍第1項所述的方法,其中,在所述主進程接收到所述任務資訊之後,如果所述主進程被重啟,則藉由所述代理進程離線啟動所述任務子進程來執行所述任務資訊,並離線保存所述任務執行資訊。
  3. 根據申請專利範圍第2項所述的方法,其中,在所述主進程被重啟之後,所述方法還包括:所述任務處理設備藉由存取所述主控設備,來獲取當前正在執行的至少一個任務資訊,所述任務資訊包括:所述任務標識和任務執行路徑;所述任務處理設備藉由檢測在所述目標位置中記錄的 所述任務執行資訊,來確定在所述主進程被重啟時所述至少一個任務資訊中已經被執行或未被執行的任務。
  4. 根據申請專利範圍第3項所述的方法,其中,所述任務處理設備藉由檢測在所述目標位置中記錄的所述任務執行資訊,來確定所述至少一個任務資訊中已經被執行或未被執行的任務,包括:所述任務處理設備在所述目標位置進行本地查詢,確定是否已經存在與所述至少一個任務資訊中任意一個任務標識相匹配的進程資訊;如果存在,則確定在所述主進程被重啟時,任務資訊已經被對應的任務子進程啟動執行,所述任務處理設備僅在記憶體中註冊該任務資訊;如果不存在,則確定在所述主進程被重啟時,任務資訊未被所述對應的任務子進程所執行,所述任務處理設備在所述記憶體中註冊該任務資訊,並啟動所述對應的任務子進程執行所述任務資訊。
  5. 根據申請專利範圍第4項所述的方法,其中,在所述任務處理設備僅在記憶體中註冊該任務資訊之前,所述方法還包括:所述任務處理設備在所述目標位置進行本地查詢,確定是否已經存在與已經被對應的任務子進程啟動執行的任務資訊相匹配的退出碼;如果存在,則確定在所述主進程被重啟時,任務資訊已經被對應的任務子進程執行結束,所述任務處理設備終 止在所述記憶體中註冊該任務資訊,直接將對應的任務日誌反饋給所述主控設備;如果不存在,則確定在所述主進程被重啟時,任務資訊未被所述對應的任務子進程執行完畢,所述任務處理設備在所述記憶體中註冊該任務資訊,並啟動所述對應的任務子進程重新執行所述任務資訊。
  6. 根據申請專利範圍第3項所述的方法,其中,在任務處理設備藉由發起任務請求從主控設備中獲取任務資訊之後,所述方法還包括:從所述任務資訊中提取路徑參數,並根據所述路徑參數生成所述任務執行路徑;其中,所述代理進程根據所述任務執行路徑將所述任務標識保存至所述目標位置。
  7. 根據申請專利範圍第1至6項中任意一項所述的方法,其中,所述任務處理設備的所述主進程根據所述任務標識監聽所述任務資訊是否被啟動執行,並根據所述退出碼監聽所述任務資訊是否執行結束。
  8. 一種基於分布式系統的任務處理裝置,其中,包括:第一獲取模組,用於任務處理設備藉由發起任務請求從主控設備中獲取任務資訊,其中,在所述主控設備中保存所述任務請求對應的所述任務資訊;第一執行模組,用於所述任務處理設備的主進程接收到所述任務資訊之後,藉由觸發代理進程啟動對應的任務 子進程來執行所述任務資訊,其中,所述代理進程為所述主進程和所述任務子進程的通道;第一保存模組,用於所述任務處理設備藉由所述代理進程將任務執行資訊保存至目標位置,其中,所述任務執行資訊包括如下任意一個或多個資訊:所述任務資訊的任務標識、所述任務子進程的進程資訊、所述任務子進程執行所述任務資訊所生成的日誌資訊和退出碼。
  9. 根據申請專利範圍第8項所述的裝置,其中,所述裝置還包括:第二執行模組,用於在所述主進程接收到所述任務資訊之後,如果所述主進程被重啟,則藉由所述代理進程離線啟動所述任務子進程來執行所述任務資訊,並離線保存所述任務執行資訊。
  10. 根據申請專利範圍第9項所述的裝置,其中,所述裝置還包括:第二獲取模組,用於所述任務處理設備藉由存取所述主控設備,來獲取當前正在執行的至少一個任務資訊,所述任務資訊包括:所述任務標識和任務執行路徑;第一確定模組,用於所述任務處理設備藉由檢測在所述目標位置中記錄的所述任務執行資訊,來確定在所述主進程被重啟時所述至少一個任務資訊中已經被執行或未被執行的任務。
  11. 根據申請專利範圍第10項所述的裝置,其中,所述第一確定模組包括: 第二確定模組,用於所述任務處理設備在所述目標位置進行本地查詢,確定是否已經存在與所述至少一個任務資訊中任意一個任務標識相匹配的進程資訊;第一註冊模組,用於如果存在,則確定在所述主進程被重啟時,任務資訊已經被對應的任務子進程啟動執行,所述任務處理設備僅在記憶體中註冊該任務資訊;第二註冊模組,用於如果不存在,則確定在所述主進程被重啟時,任務資訊未被所述對應的任務子進程所執行,所述任務處理設備在所述記憶體中註冊該任務資訊,並啟動所述對應的任務子進程執行所述任務資訊。
  12. 根據申請專利範圍第11項所述的裝置,其中,所述裝置還包括:第三確定模組,用於所述任務處理設備在所述目標位置進行本地查詢,確定是否已經存在與已經被對應的任務子進程啟動執行的任務資訊相匹配的退出碼;反饋模組,用於如果存在,則確定在所述主進程被重啟時,任務資訊已經被對應的任務子進程執行結束,所述任務處理設備終止在所述記憶體中註冊該任務資訊,直接將對應的任務日誌反饋給所述主控設備;第三註冊模組,用於如果不存在,則確定在所述主進程被重啟時,任務資訊未被所述對應的任務子進程執行完畢,所述任務處理設備在所述記憶體中註冊該任務資訊,並啟動所述對應的任務子進程重新執行所述任務資訊。
  13. 根據申請專利範圍第10項所述的裝置,其中,所 述裝置還包括:生成模組,用於從所述任務資訊中提取路徑參數,並根據所述路徑參數生成所述任務執行路徑;第二保存模組,用於所述代理進程根據所述任務執行路徑將所述任務標識保存至所述目標位置。
  14. 根據申請專利範圍第8至13項中任意一項所述的裝置,其中,所述裝置還包括:監聽模組,用於所述任務處理設備的所述主進程根據所述任務標識監聽所述任務資訊是否被啟動執行,並根據所述退出碼監聽所述任務資訊是否執行結束。
  15. 一種基於分布式系統的任務處理系統,包括:主控設備,用於儲存任務資訊;任務處理設備,與所述主控設備進行通訊,用於藉由發起任務請求從所述主控設備中獲取任務資訊,其中,在所述主控設備中保存所述任務請求對應的所述任務資訊;所述任務處理設備還用於所述任務處理設備的主進程接收到所述任務資訊之後,藉由觸發代理進程啟動對應的任務子進程來執行所述任務資訊,其中,所述代理進程為所述主進程和所述任務子進程的通道;所述任務處理設備還用於藉由所述代理進程將任務執行資訊保存至目標位置,其中,所述任務執行資訊包括如下任意一個或多個資訊:所述任務資訊的任務標識、所述任務子進程的進程資訊、所述任務子進程執行所述任務資訊所生成的日誌資訊和退出碼。
TW106104136A 2016-02-29 2017-02-08 基於分布式系統的任務處理方法、裝置和系統 TWI753880B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610112497.5 2016-02-29
CN201610112497.5A CN107133086B (zh) 2016-02-29 2016-02-29 基于分布式***的任务处理方法、装置和***

Publications (2)

Publication Number Publication Date
TW201732629A TW201732629A (zh) 2017-09-16
TWI753880B true TWI753880B (zh) 2022-02-01

Family

ID=59720856

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106104136A TWI753880B (zh) 2016-02-29 2017-02-08 基於分布式系統的任務處理方法、裝置和系統

Country Status (4)

Country Link
US (2) US11256539B2 (zh)
CN (1) CN107133086B (zh)
TW (1) TWI753880B (zh)
WO (1) WO2017148268A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10649824B1 (en) * 2017-09-28 2020-05-12 Massachusetts Mutual Life Insurance Company Event subscription and management system
CN108153654B (zh) * 2017-12-01 2021-01-22 北京奇艺世纪科技有限公司 一种日志收集方法及装置
CN108900482B (zh) * 2018-06-13 2021-04-16 平安科技(深圳)有限公司 脚本的执行方法、服务器管理***及存储介质
CN109861842A (zh) * 2018-11-23 2019-06-07 阿里巴巴集团控股有限公司 服务器集群的运维方法、装置、电子设备及存储介质
CN110569115B (zh) * 2019-08-15 2023-08-04 贝壳技术有限公司 多点部署的进程管理方法及进程的争夺方法
CN110532099B (zh) * 2019-08-30 2022-05-31 联想(北京)有限公司 资源隔离方法和装置以及电子设备和介质
CN110955460B (zh) * 2019-11-15 2023-10-03 北京金山云网络技术有限公司 一种服务进程启动方法、装置、电子设备和存储介质
CN111338893B (zh) * 2020-02-20 2023-07-18 深圳市腾讯计算机***有限公司 进程日志处理方法、装置、计算机设备以及存储介质
CN111625326B (zh) * 2020-05-13 2023-06-27 北京字节跳动网络技术有限公司 任务管线执行方法、装置及电子设备
CN114050965A (zh) * 2020-07-22 2022-02-15 中兴通讯股份有限公司 查找中断设备的方法、从设备、主设备及存储介质
CN112732430A (zh) * 2021-01-20 2021-04-30 北京明略昭辉科技有限公司 一种对Spark任务分片所使用内存的限制方法及***
CN113067869B (zh) * 2021-03-18 2022-12-27 北京字跳网络技术有限公司 节点控制方法及装置、节点管理方法及装置、分布式***
CN113377543A (zh) * 2021-06-28 2021-09-10 上海商汤科技开发有限公司 任务处理***、电子设备和存储介质
CN113783731A (zh) * 2021-09-15 2021-12-10 云茂互联智能科技(厦门)有限公司 边缘服务器的控制方法、装置、存储介质及电子装置
CN115242578A (zh) * 2022-07-29 2022-10-25 招商局金融科技有限公司 Vpn连接管理方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080281798A1 (en) * 2007-05-07 2008-11-13 Palm, Inc. Automatic conversion schema for cached web requests
US20090049443A1 (en) * 2004-10-06 2009-02-19 Digipede Technologies, Llc Multicore Distributed Processing System
TW201007489A (en) * 2008-04-29 2010-02-16 Maxiscale Inc Peer-to-peer redundant file server system and methods
TW201316180A (zh) * 2011-09-01 2013-04-16 Qualcomm Inc 用於管理可攜式計算裝置上之平行資源請求之方法及系統
US20150156155A1 (en) * 2012-05-31 2015-06-04 Streamwide Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
DE69220093T2 (de) 1992-06-18 1997-12-04 Ibm Verarbeitungsnetzwerk für verteilte anwendungsprogramme.
IT1278526B1 (it) * 1995-12-12 1997-11-24 Eric Verheecke Procedimento di automatizzazione di procedure informatiche e dispositivo per la sua attuazione
US5956511A (en) * 1996-03-29 1999-09-21 Kabushiki Kaisha Toshiba Program development support apparatus, program development support method, and storage medium therefor
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6032172A (en) 1997-05-29 2000-02-29 Sun Microsystems, Inc. Distributed computer process scheduling mechanism
US6112225A (en) 1998-03-30 2000-08-29 International Business Machines Corporation Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time
US6775831B1 (en) 2000-02-11 2004-08-10 Overture Services, Inc. System and method for rapid completion of data processing tasks distributed on a network
US7082604B2 (en) 2001-04-20 2006-07-25 Mobile Agent Technologies, Incorporated Method and apparatus for breaking down computing tasks across a network of heterogeneous computer for parallel execution by utilizing autonomous mobile agents
US8024395B1 (en) 2001-09-04 2011-09-20 Gary Odom Distributed processing multiple tier task allocation
US7165256B2 (en) 2001-09-11 2007-01-16 Sun Microsystems, Inc. Task grouping in a distributed processing framework system and methods for implementing the same
JPWO2003083693A1 (ja) 2002-04-03 2005-08-04 富士通株式会社 分散処理システムにおけるタスクスケジューリング装置
US6988139B1 (en) 2002-04-26 2006-01-17 Microsoft Corporation Distributed computing of a job corresponding to a plurality of predefined tasks
US20070192500A1 (en) * 2006-02-16 2007-08-16 Infoexpress, Inc. Network access control including dynamic policy enforcement point
US20080270589A1 (en) * 2007-03-29 2008-10-30 Begrid, Inc. Multi-Source, Multi-Use Web Processing Through Dynamic Proxy Based Grid Computing Mechanisms
GB2466604B (en) * 2007-09-27 2012-09-12 Ronald N Hilton Apparatus,system,and method for cross-system proxy-based task offloading
JP4666013B2 (ja) * 2008-06-20 2011-04-06 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、同装置におけるジョブ実行方法及びジョブ実行プログラム
US20120144157A1 (en) * 2010-12-06 2012-06-07 James Reginald Crew Allocation of Mainframe Computing Resources Using Distributed Computing
US9164806B2 (en) 2011-01-28 2015-10-20 Oracle International Corporation Processing pattern framework for dispatching and executing tasks in a distributed computing grid
US9424096B2 (en) 2011-06-16 2016-08-23 Kodak Alaris Inc. Task allocation in a computer network
US9244745B2 (en) 2011-06-16 2016-01-26 Kodak Alaris Inc. Allocating tasks by sending task-available messages requesting assistance with an image processing task from a server with a heavy task load to all other servers connected to the computer network
RU2494453C2 (ru) 2011-11-24 2013-09-27 Закрытое акционерное общество "Лаборатория Касперского" Способ распределенного выполнения задач компьютерной безопасности
US9304858B2 (en) 2011-12-12 2016-04-05 International Business Machines Corporation Analyzing found data in a distributed storage and task network
US9430286B2 (en) 2011-12-12 2016-08-30 International Business Machines Corporation Authorizing distributed task processing in a distributed storage network
CN102929707B (zh) * 2012-11-06 2015-10-07 无锡江南计算技术研究所 并行任务动态分配方法
US9298455B1 (en) * 2013-03-15 2016-03-29 Instart Logic, Inc. Provisional execution of dynamic content component
CN103677973A (zh) * 2013-09-01 2014-03-26 西安重装渭南光电科技有限公司 一种分布式多任务调度管理***
JP2015177491A (ja) * 2014-03-18 2015-10-05 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
DE102014112478A1 (de) 2014-06-03 2015-12-03 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zur Verteilung von Tasks zwischen Computersystemen, Computernetz-Infrastruktur sowie Computerprogramm-Produkt
EP2960791A1 (en) * 2014-06-27 2015-12-30 Fujitsu Limited Method of executing an application on a distributed computer system, a resource manager and a distributed computer system
CN104331327B (zh) * 2014-12-02 2017-07-11 山东乾云启创信息科技股份有限公司 大规模虚拟化环境中任务调度的优化方法及优化***
CN107135268B (zh) 2017-05-22 2020-02-18 南京大学 基于信息中心网络的分布式任务计算方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049443A1 (en) * 2004-10-06 2009-02-19 Digipede Technologies, Llc Multicore Distributed Processing System
US20080281798A1 (en) * 2007-05-07 2008-11-13 Palm, Inc. Automatic conversion schema for cached web requests
TW201007489A (en) * 2008-04-29 2010-02-16 Maxiscale Inc Peer-to-peer redundant file server system and methods
TW201316180A (zh) * 2011-09-01 2013-04-16 Qualcomm Inc 用於管理可攜式計算裝置上之平行資源請求之方法及系統
US20150156155A1 (en) * 2012-05-31 2015-06-04 Streamwide Methods for delivering electronic mails on request, electronic mail servers and computer programs implementing said methods

Also Published As

Publication number Publication date
TW201732629A (zh) 2017-09-16
US11256539B2 (en) 2022-02-22
WO2017148268A1 (zh) 2017-09-08
CN107133086B (zh) 2020-09-04
US20190266011A1 (en) 2019-08-29
CN107133086A (zh) 2017-09-05
US20220179682A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
TWI753880B (zh) 基於分布式系統的任務處理方法、裝置和系統
CN110781007B (zh) 任务处理方法、装置、服务器、客户端、***和存储介质
US10152382B2 (en) Method and system for monitoring virtual machine cluster
CN110389815A (zh) 任务处理方法、装置及***
CN110096340B (zh) 定时任务处理方法及装置
CN111028902A (zh) 基于节点切换的请求处理方法及装置、设备和介质
CN109361542B (zh) 客户端的故障处理方法、装置、***、终端和服务器
CN106033562B (zh) 事务处理方法、事务参与节点及事务协调节点
CN102708018A (zh) 一种异常处理方法及***、代理设备与控制装置
CN111506283B (zh) 图像显示方法、装置及***
CN110740155B (zh) 分布式***中的请求处理方法及装置
CN105373563B (zh) 数据库切换方法及装置
CN110958287B (zh) 操作对象数据同步方法、装置及***
CN102902574B (zh) 一种多信息流节点的协同处理方法及装置
CN109462646A (zh) 一种异常响应的方法及设备
CN106911784B (zh) 一种执行异步事件的方法和装置
CN110781039B (zh) 哨兵进程选举方法及装置
CN102970312A (zh) 基于p2p的无盘设备的网络启动方法及***
CN107547593B (zh) 一种实现日志同步的方法、装置及分布式***
CN107203915B (zh) 数据存储方法及装置
CN106649352B (zh) 数据处理方法及装置
US9715544B2 (en) Online location sharing through an internet service search engine
CN101242201B (zh) 一种主备***维护的方法、***和装置
CN112291286B (zh) 事件的推送方法和装置、存储介质及电子装置
CN106980515B (zh) 一种应用升级方法及装置