TW201942739A - 任務的分配方法、裝置及設備 - Google Patents
任務的分配方法、裝置及設備 Download PDFInfo
- Publication number
- TW201942739A TW201942739A TW108104575A TW108104575A TW201942739A TW 201942739 A TW201942739 A TW 201942739A TW 108104575 A TW108104575 A TW 108104575A TW 108104575 A TW108104575 A TW 108104575A TW 201942739 A TW201942739 A TW 201942739A
- Authority
- TW
- Taiwan
- Prior art keywords
- task
- weight
- processing
- execution server
- task execution
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
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)
Abstract
本說明書實施例公開了一種任務的分配方法、裝置及設備,該任務的分配方法包括:獲取任務執行伺服器的任務執行日誌,然後,可以根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,可以將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
Description
本說明書係關於電腦技術領域,尤其關於一種任務的分配方法、裝置及設備。
任務調度是在電腦服務端的軟體設計中常見的一種應用技術,透過任務調度可以將大資料量的任務分配給不同的任務執行伺服器執行,進而可以相對平滑地完成業務處理過程,保護系統資源。在調度過程中,如何能夠有效地平衡各任務執行伺服器之間的任務處理量,避免有些任務執行伺服器資源過度消耗,而有些任務執行伺服器一直處於空閒狀態是需要解決的問題。
通常,當接收到需要進行調度的任務時,可以查詢當前調度週期內需要處理的任務清單,該任務清單中記錄有需要處理的任務的相關資訊。然後,將查詢到的任務列表拆分為多個小的任務清單,並透過服務請求的方式隨機發送給各個任務執行伺服器。
然而,透過上述處理方式,在各個任務執行伺服器之間無法很好平衡任務處理量,這樣,可能會出現已經接近滿負荷運行的任務執行伺服器仍然在不停地接收新的任務,而一些處於空閒狀態的任務執行伺服器一直沒有接收到需要處理的任務,從而使得任務處理效率低下。
通常,當接收到需要進行調度的任務時,可以查詢當前調度週期內需要處理的任務清單,該任務清單中記錄有需要處理的任務的相關資訊。然後,將查詢到的任務列表拆分為多個小的任務清單,並透過服務請求的方式隨機發送給各個任務執行伺服器。
然而,透過上述處理方式,在各個任務執行伺服器之間無法很好平衡任務處理量,這樣,可能會出現已經接近滿負荷運行的任務執行伺服器仍然在不停地接收新的任務,而一些處於空閒狀態的任務執行伺服器一直沒有接收到需要處理的任務,從而使得任務處理效率低下。
本說明書實施例的目的是提供一種任務的分配方法、裝置及設備,以解決現有技術中透過隨機分配任務,使得任務處理效率低下的問題。
為解決上述技術問題,本說明書實施例是這樣實現的:
本說明書實施例提供的一種任務的分配方法,所述方法包括:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
可選地,所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
可選地,所述任務處理權重包括所述任務執行伺服器的超載權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
可選地,所述任務處理權重包括所述任務執行伺服器的任務分配權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
可選地,所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
可選地,所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
可選地,所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,
所述根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重,包括:
分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;
根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
可選地,所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,
所述確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式
計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
本說明書實施例提供的一種任務的分配方法,所述方法包括:
接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
獲取用於為所述任務執行伺服器分配任務的任務處理權重;
根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,所述方法還包括:
以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述獲取用於為任務執行伺服器分配任務的任務處理權重,包括:
從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供的一種任務的分配方法,所述方法包括:
獲取任務執行伺服器的任務執行日誌,所述任務執行日誌中包括執行任務過程中的相關參數資料;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,所述方法還包括:
以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供的一種任務的分配裝置,所述裝置包括:
日誌獲取模組,用於獲取任務執行伺服器的任務執行日誌;
權重確定模組,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
權重發送模組,用於將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
可選地,所述權重確定模組,包括:
統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
可選地,所述任務處理權重包括所述任務執行伺服器的超載權重,所述權重確定單元,用於根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
可選地,所述任務處理權重包括所述任務執行伺服器的任務分配權重,所述權重確定單元,用於根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
可選地,所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,所述權重確定單元,用於根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
可選地,所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,所述權重確定單元,用於根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
可選地,所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,所述權重確定單元,用於分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
可選地,所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,所述權重確定模組,用於根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式
計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
本說明書實施例提供的一種任務的分配裝置,所述裝置包括:
請求接收模組,用於接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
權重獲取模組,用於獲取用於為所述任務執行伺服器分配任務的任務處理權重;
任務分配模組,用於根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,所述裝置還包括:
通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述權重獲取模組,用於從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供的一種任務的分配裝置,所述裝置包括:
日誌獲取模組,用於獲取任務執行伺服器的任務執行日誌,所述任務執行日誌中包括執行任務過程中的相關參數資料;
權重確定模組,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
任務分配模組,用於當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,所述裝置還包括:
通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述權重確定模組,包括:
統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供的一種任務的分配設備,所述任務的分配設備包括:
處理器;以及
被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
本說明書實施例提供的一種任務的分配設備,所述任務的分配設備包括:
處理器;以及
被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器:
接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
獲取用於為所述任務執行伺服器分配任務的任務處理權重;
根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
本說明書實施例提供的一種任務的分配設備,所述任務的分配設備包括:
處理器;以及
被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
由以上本說明書實施例提供的技術方案可見,本說明書實施例透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
為解決上述技術問題,本說明書實施例是這樣實現的:
本說明書實施例提供的一種任務的分配方法,所述方法包括:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
可選地,所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
可選地,所述任務處理權重包括所述任務執行伺服器的超載權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
可選地,所述任務處理權重包括所述任務執行伺服器的任務分配權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
可選地,所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
可選地,所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
可選地,所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,
所述根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重,包括:
分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;
根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
可選地,所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,
所述確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式
計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
本說明書實施例提供的一種任務的分配方法,所述方法包括:
接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
獲取用於為所述任務執行伺服器分配任務的任務處理權重;
根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,所述方法還包括:
以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述獲取用於為任務執行伺服器分配任務的任務處理權重,包括:
從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供的一種任務的分配方法,所述方法包括:
獲取任務執行伺服器的任務執行日誌,所述任務執行日誌中包括執行任務過程中的相關參數資料;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,所述方法還包括:
以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供的一種任務的分配裝置,所述裝置包括:
日誌獲取模組,用於獲取任務執行伺服器的任務執行日誌;
權重確定模組,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
權重發送模組,用於將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
可選地,所述權重確定模組,包括:
統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
可選地,所述任務處理權重包括所述任務執行伺服器的超載權重,所述權重確定單元,用於根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
可選地,所述任務處理權重包括所述任務執行伺服器的任務分配權重,所述權重確定單元,用於根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
可選地,所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,所述權重確定單元,用於根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
可選地,所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,所述權重確定單元,用於根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
可選地,所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,所述權重確定單元,用於分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
可選地,所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,所述權重確定模組,用於根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式
計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
本說明書實施例提供的一種任務的分配裝置,所述裝置包括:
請求接收模組,用於接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
權重獲取模組,用於獲取用於為所述任務執行伺服器分配任務的任務處理權重;
任務分配模組,用於根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,所述裝置還包括:
通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述權重獲取模組,用於從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供的一種任務的分配裝置,所述裝置包括:
日誌獲取模組,用於獲取任務執行伺服器的任務執行日誌,所述任務執行日誌中包括執行任務過程中的相關參數資料;
權重確定模組,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
任務分配模組,用於當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,所述裝置還包括:
通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述權重確定模組,包括:
統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供的一種任務的分配設備,所述任務的分配設備包括:
處理器;以及
被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
本說明書實施例提供的一種任務的分配設備,所述任務的分配設備包括:
處理器;以及
被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器:
接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
獲取用於為所述任務執行伺服器分配任務的任務處理權重;
根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
本說明書實施例提供的一種任務的分配設備,所述任務的分配設備包括:
處理器;以及
被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
由以上本說明書實施例提供的技術方案可見,本說明書實施例透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
本說明書實施例提供一種任務的分配方法、裝置及設備。
為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本說明書一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本說明書保護的範圍。
實施例一
如圖1所示,本說明書實施例提供一種任務的分配方法,該方法的執行主體可以為負載監控伺服器,其中,該負載監控伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,該負載監控伺服器可以用於監測任務執行伺服器的任務處理情況等。該方法可以用於對任務執行伺服器執行任務的情況進行監控,並計算各任務執行伺服器在下一次分配任務時任務分配的權重等處理中。該方法具體可以包括以下步驟:
在步驟S102中,獲取任務執行伺服器的任務執行日誌。
其中,任務執行伺服器可以是某一項業務中執行具體某一項或多項任務的伺服器,在業務系統中可以包括任務執行伺服器和任務分配伺服器,其中的任務分配伺服器可以用於為任務分配伺服器分配任務,任務執行伺服器可以是任務的具體執行者,任務執行伺服器可以是一個獨立的伺服器,也可以是由多個伺服器組成的伺服器集群中的一個伺服器。任務執行日誌中可以包括執行任務過程中的相關參數資料,其中的相關參數資料可以包括一種,也可以包括多種,例如,任務執行的開始時間、任務執行所消耗的時間和任務執行的結果等,在實際應用中,執行任務過程中的相關參數資料可以並不限於包括上述參數資料,還可以包括其它參數資料,具體可以根據實際情況選取,本說明書實施例對此不做限定。
在實施中,非同步任務的定時調度是在電腦服務端的軟體設計中常見的一種應用技術,非同步任務的定時調度可以透過每次查詢並執行固定數量的任務,並周而復始地調度執行,從而可以將大資料量的任務分批次進行,每個調度週期內只執行一部分任務,進而可以相對平滑地完成業務處理過程,保護系統資源。但是,在調度過程中,如何能夠有效地平衡各任務執行伺服器之間的任務處理量,避免有些任務執行伺服器資源過度消耗,而有些任務執行伺服器一直處於空閒狀態,這是非同步任務調度過程中要解決的問題。為此,可以透過以下方式解決上述問題,即透過將任務進行拆分的方式完成非同步任務調度,具體地,查詢當前調度週期內需要處理的任務的任務列表,該任務清單中記錄有需要處理的任務的相關資訊,如,該任務包含的任務數量和該任務的標識等。然後,可以將查詢到的任務列表拆分為多個小的任務清單,並透過服務請求的方式隨機發送給各個任務執行伺服器。
上述處理方式,可以實現對任務的分散式調度,即將任務拆分開,使得每個任務執行伺服器執行其中的一部分任務,能夠避免單個任務執行伺服器執行任務的瓶頸,但是,上述處理方式,在各個任務執行伺服器之間無法很好平衡任務處理量,這樣,可能會出現已經接近滿負荷運行的任務執行伺服器仍然在不停地接收新的任務,而一些處於空閒狀態的任務執行伺服器一直沒有接收到需要處理的任務,即在任務的執行者(任務執行伺服器)和任務的分配者(任務分配伺服器)之間缺乏有效的回饋途徑,任務分配伺服器無法根據執行者的情況對任務的分配數量進行動態調節,而只能進行隨機分配。為此,本說明書實施例提供一種任務動態調節的機制和演算法,從而有效解決上述問題,具體可以包括以下內容:
如圖2所示,本說明書實施例中的業務系統或分散式調度系統中可以包括三個部分,可以分別為:任務執行伺服器、任務分配伺服器和負載監控伺服器等。任務執行伺服器和任務分配伺服器可以參見前述相關內容,負載監控伺服器可以用於獲取並計算各個任務執行伺服器的任務分配權重,以便任務分配伺服器為任務執行伺服器分配相應的任務。每當使用者確定需要進行某一項業務時,該業務可以觸發一系列複雜的任務,此時,可以透過使用者使用的終端設備基於需要處理的任務生成任務調度請求,可以將該任務調度請求發送給任務分配伺服器。當任務分配伺服器接收到需要處理的任務後,可以將該任務分配給任務執行伺服器,任務執行伺服器在執行該任務時,可以記錄執行該任務的過程中的相關參數資料,可以將上述相關參數資料記錄在各個任務執行伺服器的日誌中。
當需要對任務執行伺服器設置任務處理權重或需要對其任務處理權重進行更新時,可以向各個任務執行伺服器發送日誌上報指令,任務執行伺服器接收到日誌上報指令後,可以獲取執行任務的過程中的相關參數資料生成任務執行日誌,可以將該任務執行日誌發送給負載監控伺服器,負載監控伺服器可以接收各個任務執行伺服器發送的任務執行日誌。其中,上述任務執行日誌是由負載監控伺服器主動向各個任務執行伺服器獲取的,還可以是負載監控伺服器直接到各個任務執行伺服器中拉取相應的任務執行日誌,或者,還可以由各個任務執行伺服器主動向負載監控伺服器發送其任務執行日誌等,本說明書實施例對如何獲取任務執行日誌的處理不做限定。
在步驟S104中,根據上述任務執行日誌,確定用於為上述任務執行伺服器分配任務的任務處理權重。
其中,任務處理權重可以用於實現任務分配伺服器為各個任務執行伺服器分配任務,以及確定各個任務執行伺服器的任務分配量,其中的任務分配量可以是分配的任務個數,也可以是分配的任務的資料量等。
在實施中,負載監控伺服器透過上述步驟S102的處理得到各個任務執行伺服器的任務執行日誌後,可以分別對得到的每一個任務執行日誌進行分析,可以從任務執行日誌中提取出多項參數,以及每項參數對應的具體參數值,例如,如表1所示,任務執行日誌中可以包括下述參數和相應的參數值。
表1
其中,任務執行結果碼可以用於區分系統異常和業務異常等。可以對上述表1中所示的相關的參數資料進一步進行資料的轉換和計算,得到用於確定該任務執行伺服器的任務處理權重的基礎資料,例如任務執行伺服器近期的任務分配情況等,具體地,以基礎資料為任務執行伺服器近期的任務分配情況為例,可以計算任務執行伺服器近期的任務分配情況的權重,具體地,考慮到負載監控伺服器收集到的任務執行日誌中的相關參數資料是任務執行伺服器已經執行完成的資料,具有一定的時延,但可以用於近似表示當前時間的任務分配情況,當前時間被分配的任務越多的任務執行伺服器,其任務分配情況的權重越低,因此,可以基於任務執行伺服器在單位時間內任務的處理總數來確定任務分配情況的權重,為此,可以基於上述表1中的相關參數資料計算各個任務執行伺服器在單位時間內任務的處理總數。得到各個任務執行伺服器在單位時間內任務的處理總數後,可以進而得到各個任務執行伺服器的任務分配情況的權重,可以將得到的各個任務執行伺服器的任務分配情況的權重作為相應任務執行伺服器的任務處理權重。
需要說明的是,任務執行伺服器的任務處理權重並不限於上述一種,在實際應用中還可以包括多種,具體可以根據實際情況設定,本說明書實施例對此不做限定。
在步驟S106中,將上述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使該任務分配伺服器在接收到任務調度請求時,根據該任務處理權重為任務執行伺服器分配任務。
在實施中,負載監控伺服器得到各個任務執行伺服器的任務處理權重後,為了在下一次任務分配伺服器接收到任務調度請求進行任務分配,負載監控伺服器可以將各個任務執行伺服器的任務處理權重發送給任務分配伺服器,這樣,當任務分配伺服器在接收到任務調度請求時,可以根據該任務處理權重為任務執行伺服器分配任務。
如圖3所示,本說明書實施例提供一種任務的分配方法,該方法的執行主體可以為任務分配伺服器,其中,該任務分配伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,該任務分配伺服器可以用於向任務執行伺服器分配任務等。該方法可以用於對任務執行伺服器依據任務分配的權重進行任務分配等處理中。該方法具體可以包括以下步驟:
在步驟S302中,接收任務調度請求,該任務調度請求用於請求為任務執行伺服器分配任務。
在實施中,當使用者確定需要進行某一項業務時,業務伺服器會向使用者提供相應的服務,透過使用者的操作或請求,可以觸發一系列複雜的任務,此時,可以透過使用者使用的終端設備基於需要處理的任務生成任務調度請求,可以將該任務調度請求發送給任務分配伺服器。
在步驟S304中,獲取用於為上述任務執行伺服器分配任務的任務處理權重。
在實施中,為了避免出現已經接近滿負荷運行的任務執行伺服器仍然在不停地接收新的任務,而一些處於空閒狀態的任務執行伺服器一直沒有接收到需要處理的任務的情況,任務分配伺服器中可以儲存有各個任務執行伺服器的任務處理權重。當任務分配伺服器透過上述步驟S302的處理接收到任務調度請求時,可以確定該任務調度請求對應的任務執行伺服器,確定後,可以從自身儲存的任務處理權重中查找確定出的任務執行伺服器的任務處理權重。
在步驟S306中,根據上述任務處理權重,從上述任務調度請求對應的目標任務中為上述任務執行伺服器分配任務。
在實施中,任務分配伺服器查找到相應的任務執行伺服器的任務處理權重後,可以根據任務處理權重,確定需要為相應的任務執行伺服器分配的任務量。然後,可以將任務調度請求對應的目標任務劃分為多個部分,其中,任務處理權重的數值越大,分配的任務量就越多,這樣,可以使得對任務的分配進行動態調節,任務執行伺服器、負載監控伺服器和任務分配伺服器之間形成整體的閉環,達到動態調節系統資源的目的。
本說明書實施例提供一種任務的分配方法,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例二
如圖4所示,本說明書實施例提供一種任務的分配方法,該方法可以由負載監控伺服器和任務分配伺服器共同執行,其中,該負載監控伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,該負載監控伺服器可以用於監測任務執行伺服器的任務處理情況等。該任務分配伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,該任務分配伺服器可以用於向任務執行伺服器分配任務等。該方法可以用於對任務執行伺服器執行任務的情況進行監控,並計算各任務執行伺服器在下一次分配任務時任務分配的權重等處理中。該方法具體可以包括以下步驟:
在步驟S402中,負載監控伺服器獲取任務執行伺服器的任務執行日誌。
上述步驟S402的步驟內容與上述實施例一中步驟S102的步驟內容相同,上述步驟S402的具體處理過程可以參見上述實施例一中步驟S102的相關內容,在此不再贅述。
在步驟S404中,負載監控伺服器根據上述任務執行日誌,確定任務執行伺服器的任務處理統計資訊。
其中,該任務處理統計資訊可以至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量。
在實施中,為了能夠直觀的體現出任務執行伺服器執行任務的情況,可以對每個任務執行伺服器的任務執行日誌中記載的相關參數資料進行統計分析,可以得到任務執行伺服器的任務處理統計資訊,該任務處理統計資訊可以是用於確定該任務執行伺服器的任務處理權重的基礎資料,其中,任務執行日誌中記載的相關參數資料可以參見上述實施例一中的表1所示,相應的,任務執行伺服器的任務處理統計資訊中可以包括任務處理統計參數,及其對應的統計值,具體可以參見下述表2所示。
表2
其中,任務超時時間的上限可以透過多次執行任務的平均耗時乘以預先設定的固定係數得到,或者,也可以透過人工觀察任務執行日誌,從而確定某個固定時長作為任務超時時間的上限等。單位時間內任務處理成功或業務型失敗的數量不包括超時完成任務的數量。單位時間內由於系統異常導致的任務失敗數量可以是由於任務執行伺服器無法接收新分配的任務或其他系統型異常等導致的任務失敗數量。
在步驟S406中,負載監控伺服器根據任務執行伺服器的任務處理統計資訊,確定用於為該任務執行伺服器分配任務的任務處理權重。
上述步驟S406的具體處理過程可以參見上述實施例一中的相關內容。
在實際應用中,為了實現對任務的動態調度,可以設置任務處理權重的計算規則或計算原則,可以基於設置的任務處理權重的計算規則或計算原則來選取或設置任務處理權重,本說明書實施例中提供一種可選的任務處理權重的計算規則或計算原則,具體可以包括以下四個方面:
第一方面,保證任務執行伺服器沒有出現超載,能夠正常處理任務。
第二方面,為當前處理任務數量較少的任務執行伺服器優先分配任務。
第三方面,近期N次任務的處理速度較快的任務執行伺服器優先分配任務。
第四方面,歷史處理性能表現較好的任務執行伺服器優先分配任務。
此外,上述的四個方面的計算規則或計算原則在優先順序上,由第一方面~第四方面依次降低,即在設置任務處理權重時,首先保證高優先順序的計算規則或計算原則能夠得到滿足,然後再滿足低優先順序的計算規則或計算原則。
另外,任務處理權重可以包括多種,不同的業務系統可以設置不同的任務處理權重,本說明書實施例中提供四種可選的任務處理權重進行詳細說明,對於除了下述四種任務處理權重外的其它任務處理權重,可以參考下述相關內容處理,在此不再贅述。
第一種,考慮到任務執行伺服器的超載情況在上述計算規則或計算原則中優先順序最高,也即是任務執行伺服器的超載情況,對任務的分配有較大影響,因此,任務處理權重可以包括任務執行伺服器的超載權重,則上述步驟S406的處理具體可以為:根據單位時間內任務處理成功或業務型失敗的數量,以及單位時間內處理的任務總數量,確定任務執行伺服器的超載權重。
在實施中,對於任務執行伺服器的超載情況,任務執行伺服器的超載權重可以透過單位時間內任務處理成功的數量(包括任務處理成功和業務型失敗的數量)與單位時間內處理的任務總數量的比值進行確定,得到的比值越高,則任務執行伺服器執行任務的成功率越高,進而該任務執行伺服器也就越不會發生超載。針對某指定IP位址的任務執行伺服器,其超載權重可以透過以下公式(1)確定
其中,W 1 為任務執行伺服器的超載權重,m 為單位時間內任務處理成功的數量,k 為單位時間內處理的任務總數量,k=n+m+u ,n 為單位時間內超時完成任務的數量,u 為單位時間內由於系統異常導致的任務失敗數量,。例如,如果單位時間內任務處理成功的數量為20,單位時間內處理的任務總數量為21,即m =20,k =21,則任務執行伺服器的超載權重W 1 =20/21=0.95。
第二種,考慮到任務執行伺服器的任務分配情況在上述計算規則或計算原則中優先順序較高,也即是任務執行伺服器的任務分配情況,對任務的分配有一定的影響,因此,任務處理權重可以包括任務執行伺服器的任務分配權重,則上述步驟S406的處理具體可以為:根據單位時間內處理的任務總數量,確定任務執行伺服器的任務分配權重,其中,任務分配權重與單位時間內處理的任務總數量負相關。
其中,任務分配權重與單位時間內處理的任務總數量負相關可以包括多種實現方式,例如,任務分配權重與單位時間內處理的任務總數量互為倒數關係等,本說明書實施例對此不做限定。
在實施中,負載監控伺服器收集到的任務執行日誌中的相關參數資料是任務執行伺服器已經執行完成的資料,具有一定的時延,但可以用於近似表示當前時間的任務分配情況,當前時間被分配的任務越多的任務執行伺服器,其任務分配權重越低,並且任務分配權重應該呈極速下降趨勢。針對某指定IP位址的任務執行伺服器,其任務分配權重可以透過以下公式(2)確定
其中,。例如,如果單位時間內處理的任務總數量為21,即k =21,則任務執行伺服器的任務分配權重W 2 =1/(21)!。
第三種,考慮到任務執行伺服器的任務處理速度情況在上述計算規則或計算原則中優先順序較高,也即是任務執行伺服器的任務處理速度,對任務的分配有一定的影響,因此,任務處理權重可以包括任務執行伺服器的任務處理速度權重,則上述步驟S406的處理具體可以為:根據任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定任務執行伺服器的任務處理速度權重。
其中,近期預定次數可以根據實際情況設定,具體如最近5次或最近10次等,本說明書實施例對此不做限定。
在實施中,近期預定次數的任務處理的平均時長可以透過如下公式(3)確定
其中,n 為次數,N 為近期預定次數中的最大次數,為第n 次任務的單次執行時間,為近期N 次數的任務處理的平均時長。
為了簡化計算,以及便於後續進行正規化處理,在計算時如果出現超過了任務超時時間的上限αexp 的情況,則將取值為αexp 。
根據上述第三方面的計算規則或計算原則,如果近期預定次數的任務處理的平均時長較長,則任務執行伺服器的任務處理速度權重較低,並且隨著近期預定次數的任務處理的平均時長的增加而單調遞減。最終,任務處理速度權重可以透過以下公式確定
其中,,。
透過上述公式(4)可以得到,當近期N 次的任務處理的平均時長接近任務超時時間的上限時,任務處理速度權重趨近於0,而當近期N次的任務處理的平均時長接近於0時,任務處理速度權重接近1,滿足上述第三方面的計算規則或計算原則的要求。其中,上述公式(4)中引入自然底數e 的目的在於正規化,並且使任務處理速度權重對應的函數的變化更加平滑。
第四種,考慮到任務執行伺服器的歷史處理性能,對任務的分配有一定的影響,因此,任務處理權重可以包括任務執行伺服器的歷史處理性能權重,則上述步驟S406的處理具體可以為:根據任務超時時間的上限和近期預定次數的任務處理的平均時長,確定任務執行伺服器的歷史處理性能權重。
其中,歷史處理性能可以分為兩個部分,即歷史處理時長和歷史處理抖動,相應的,歷史處理性能權重可以包括歷史處理時長子權重和歷史處理抖動子權重,則上述處理過程具體可以為:分別根據任務超時時間的上限和近期預定次數的任務處理的平均時長,確定任務執行伺服器的歷史處理時長子權重和歷史處理抖動子權重;根據歷史處理時長子權重和歷史處理抖動子權重,確定歷史處理性能權重。
在實施中,歷史處理時長越長,說明任務執行伺服器的性能不足,歷史處理時長子權重越低;歷史處理抖動越明顯,說明任務執行伺服器的處理不穩定,歷史處理抖動子權重越低。同時,考慮到距離當前時間較久的歷史資料,其計算參考價值較低,而距離當前時間較近的歷史資料,其計算參考價值較高,因此,歷史資料距離當前時間的長短也是歷史處理性能權重計算中需要考量的因素。
可以將歷史處理時長子權重記為H 1 ,歷史處理時長子權重可以透過以下公式(5)確定
其中,,,n 的取值含義表示距離當前最近的第n 次處理,n 的取值越大表示該歷史資料距離當前時間越長。從上述公式(5)中可以得到,距離當前時間越長的歷史資料,歷史處理時長子權重的取值越小,並且呈指數下降的趨勢。
可以將歷史處理抖動子權重記為H 2 ,歷史處理抖動子權重可以透過以下公式(6)確定
其中,,,上述公式(6)中採用方差來估計歷史處理抖動子權重,與歷史處理時長子權重相同。對於歷史處理抖動子權重的計算,距離當前時間越長的歷史資料,歷史處理抖動子權重的取值越小。
透過上述歷史處理時長子權重和歷史處理抖動子權重的計算,可以得到最終的歷史處理性能權重W 4 ,計算公式可如下公式(7)
其中,。透過上述公式(7)可以確定,歷史處理時長越長、歷史處理抖動越明顯的任務執行伺服器,其歷史處理性能權重越低,上述結果與上述第四方面的計算規則或計算原則相符。
上述四種任務處理權重中的任一種任務處理權重均可以作為用於向任務執行伺服器分配任務的任務處理權重,上述四種任務處理權重的具體計算方法可以參見上述相關內容。在實際應用中,上述四種任務處理權重中的兩種或兩種以上的任務處理權重的組合,也可以作為用於向任務執行伺服器分配任務的任務處理權重,其中,任務處理權重可以包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重等四種,此時,上述確定用於為任務執行伺服器分配任務的任務處理權重的處理具體可以透過以下方式實現:根據上述超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,利用以下公式(8)
計算任務執行伺服器的任務處理權重。
其中,W 為任務執行伺服器的任務處理權重,W 1 為任務執行伺服器的超載權重,W 2 為任務執行伺服器的任務分配權重,W 3 為任務執行伺服器的任務處理速度權重,W 4 為任務執行伺服器的歷史處理性能權重,,。
在實施中,可以根據上述任務執行伺服器的超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重的影響強弱,對每一個權重設置相應的係數,同時,還需要保證在一定情況下,上述任務執行伺服器的超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重等四個權重之間的主次關係,因而任務執行伺服器的任務處理權重應是以超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重為變數的函數,且該函數應符合以下原則:
原則一,單位時間內任務處理的成功率為優先考慮原則,即對於任意兩個不同IP位址的任務執行伺服器,如果兩個任務執行伺服器的IP位址為IP1和IP2,IP1的任務執行伺服器的超載權重W 1 (IP1),IP2的任務執行伺服器的超載權重W 1 (IP2),且W 1 (IP1)>W 1 (IP2),則兩個任務執行伺服器的任務處理權重應滿足W (IP1)>W (IP2)。
原則二,任務執行伺服器的任務分配權重W 2 的影響程度應僅次於任務執行伺服器的超載權重W 1 。當前處理的任務的數量越多,則表明該任務執行伺服器的工作負荷越大。
原則三,任務執行伺服器的任務處理速度權重W 3 應與任務執行伺服器的任務分配權重W 2 綜合考慮,具體可以透過比例係數進行調節。
原則四,任務執行伺服器的歷史處理性能權重為輔助考察因素,對任務執行伺服器的任務處理權重的影響效果最低。
基於上述四項原則,可以透過公式(8)確定任務執行伺服器的任務處理權重
其中,公式中的(a ,b )的參數可以根據實際場景以及業務系統狀況的不同而可以選擇不同的取值。而且,在同一場景下,可以應用(a ,b )向量來獲得最佳值。
在步驟S408中,負載監控伺服器將上述任務執行伺服器的任務處理權重發送給任務分配伺服器。
上述步驟S408的步驟內容與上述實施例一中步驟S106的步驟內容相同,上述步驟S408的具體處理過程可以參見上述實施例一中步驟S106的相關內容,在此不再贅述。
在步驟S410中,任務分配伺服器接收任務調度請求,該任務調度請求用於請求為任務執行伺服器分配任務。
上述步驟S410的步驟內容與上述實施例一中步驟S302的步驟內容相同,上述步驟S410的具體處理過程可以參見上述實施例一中步驟S302的相關內容,在此不再贅述。
在步驟S412中,任務分配伺服器獲取用於為上述任務執行伺服器分配任務的任務處理權重。
需要說明的是,上述步驟S412的處理是在負載監控伺服器向任務分配伺服器發送任務處理權重後實現的,在實際應用中,任務分配伺服器還可以向負載監控伺服器主動獲取或拉取任務執行伺服器的任務處理權重,具體可以包括以下內容:任務分配伺服器從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
上述具體處理過程可以參見上述相關內容,在此不再贅述。
在步驟S414中,根據上述任務處理權重,任務分配伺服器從上述任務調度請求對應的目標任務中為上述任務執行伺服器分配任務。
上述步驟S414的步驟內容與上述實施例一中步驟S306的步驟內容相同,上述步驟S414的具體處理過程可以參見上述實施例一中步驟S306的相關內容,在此不再贅述。
在步驟S416中,任務分配伺服器以點對點調用的方式,通知任務執行伺服器執行為任務執行伺服器分配的任務。
在實施中,任務分配伺服器獲取到負載監控伺服器計算的任務處理權重的結果後,可以根據各個任務執行伺服器的任務處理權重的數值劃分任務調度請求對應的目標任務,可以將目標任務中相應數量的任務劃分給對應的任務執行伺服器,具體地,當前任務執行伺服器分配的任務數量=(當前任務執行伺服器的任務處理權重/各個任務執行伺服器的任務處理權重的總和)*目標任務的總數量,例如,當前任務執行伺服器的任務處理權重為0.3,各個任務執行伺服器的任務處理權重的總和為5,目標任務的總數量為50,則當前任務執行伺服器分配的任務數量= (0.3/5)*50=3,即需要將目標任務中的3個任務分配給當前任務執行伺服器。透過上述方式劃分完成後,可以將劃分後的相應數量的任務,以點對點調用的方式通知到任務執行伺服器,從而可以透過非同步任務調度的方式實現為任務執行伺服器分配任務的目的,這樣,可以透過負載監控伺服器收集任務執行伺服器的任務執行日誌,並對任務執行日誌進行計算分析,得出的結果作為任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據已經計算好的任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節打通,形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了現有隨機調度定時任務的弊端。
本說明書實施例提供一種任務的分配方法,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例三
如圖5所示,本說明書實施例提供一種任務的分配方法,該方法的執行主體可以為任務分配伺服器,其中,該任務分配伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,如圖6所示,該任務分配伺服器可以用於向任務執行伺服器分配任務等,該任務分配伺服器還整合了上述實施例一和實施例二中負載監控伺服器的功能。該方法可以用於對任務執行伺服器依據任務分配的權重進行任務分配等處理中。該方法具體可以包括以下步驟:
在步驟S502中,獲取任務執行伺服器的任務執行日誌。
上述步驟S502的步驟內容與上述實施例一中步驟S102的步驟內容相同,上述步驟S502的具體處理過程可以參見上述實施例一中步驟S102的相關內容,在此不再贅述。
在步驟S504中,根據上述任務執行日誌,確定用於為上述任務執行伺服器分配任務的任務處理權重。
上述步驟S504的步驟內容與上述實施例一中步驟S104的步驟內容相同,上述步驟S504的具體處理過程可以參見上述實施例一中步驟S104的相關內容,在此不再贅述。
在步驟S506中,當接收到任務調度請求時,根據上述任務處理權重,從該任務調度請求對應的目標任務中為任務執行伺服器分配任務。
上述步驟S506的具體處理過程可以參見上述實施例一中的相關內容,在此不再贅述。
本說明書實施例提供一種任務的分配方法,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例四
如圖7所示,本說明書實施例提供一種任務的分配方法,該方法的執行主體可以為任務分配伺服器,其中,該任務分配伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,如圖6所示,該任務分配伺服器可以用於向任務執行伺服器分配任務等,該任務分配伺服器還整合了上述實施例一和實施例二中負載監控伺服器的功能。該方法可以用於對任務執行伺服器依據任務分配的權重進行任務分配等處理中。該方法具體可以包括以下步驟:
在步驟S702中,獲取任務執行伺服器的任務執行日誌。
在步驟S704中,根據上述任務執行日誌中執行任務過程中的相關參數資料,確定任務執行伺服器的任務處理統計資訊,該任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量。
在步驟S706中,根據任務執行伺服器的任務處理統計資訊,確定用於為任務執行伺服器分配任務的任務處理權重。
其中,任務處理權重可以包括任務執行伺服器的超載權重,上述步驟S706的處理具體可以透過以下處理實現:根據單位時間內任務處理成功或業務型失敗的數量,以及單位時間內處理的任務總數量,確定任務執行伺服器的超載權重。
此外,任務處理權重可以包括任務執行伺服器的任務分配權重,上述步驟S706的處理具體可以透過以下處理實現:根據單位時間內處理的任務總數量,確定任務執行伺服器的任務分配權重,其中,該任務分配權重與單位時間內處理的任務總數量負相關。
另外,任務處理權重可以包括任務執行伺服器的任務處理速度權重,上述步驟S706的處理具體可以透過以下處理實現:根據任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定任務執行伺服器的任務處理速度權重。
此外,任務處理權重可以包括任務執行伺服器的歷史處理性能權重,上述步驟S706的處理具體可以透過以下處理實現:根據任務超時時間的上限和近期預定次數的任務處理的平均時長,確定任務執行伺服器的歷史處理性能權重。
另外,任務處理權重可以包括上述超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,上述步驟S706的處理具體可以透過以下處理實現:根據超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,利用公式
計算任務處理權重。
其中,W 為任務處理權重,W 1 為超載權重,W 2 為任務分配權重,W 3 為任務處理速度權重,W 4 為歷史處理性能權重,,。
在步驟S708中,接收任務調度請求,該任務調度請求用於請求為任務執行伺服器分配任務。
在步驟S710中,獲取用於為上述任務執行伺服器分配任務的任務處理權重。
在步驟S712中,根據上述任務處理權重,從上述任務調度請求對應的目標任務中為上述任務執行伺服器分配任務。
在步驟S714中,以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
上述步驟S702~步驟S714的具體處理過程可以參見上述實施例一和實施例二中的相關內容,在此不再贅述。
本說明書實施例提供一種任務的分配方法,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例五
以上為本說明書實施例提供的任務的分配方法,基於同樣的思路,本說明書實施例還提供一種任務的分配裝置,如圖8所示。
該任務的分配裝置包括:日誌獲取模組801、權重確定模組802和權重發送模組803,其中:
日誌獲取模組801,用於獲取任務執行伺服器的任務執行日誌;
權重確定模組802,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
權重發送模組803,用於將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
本說明書實施例中,所述權重確定模組802,包括:
統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例中,所述任務處理權重包括所述任務執行伺服器的超載權重,所述權重確定單元,用於根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
本說明書實施例中,所述任務處理權重包括所述任務執行伺服器的任務分配權重,所述權重確定單元,用於根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
本說明書實施例中,所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,所述權重確定單元,用於根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
本說明書實施例中,所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,所述權重確定單元,用於根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
本說明書實施例中,所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,所述權重確定單元,用於分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
本說明書實施例中,所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,所述權重確定模組802,用於根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式
計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
本說明書實施例提供一種任務的分配裝置,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例六
基於同樣的思路,本說明書實施例還提供一種任務的分配裝置,如圖9所示。
該任務的分配裝置包括:請求接收模組901、權重獲取模組902和任務分配模組903,其中:
請求接收模組901,用於接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
權重獲取模組902,用於獲取用於為所述任務執行伺服器分配任務的任務處理權重;
任務分配模組903,用於根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
本說明書實施例中,所述裝置還包括:
通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
本說明書實施例中,所述權重獲取模組902,用於從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供一種任務的分配裝置,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例七
基於同樣的思路,本說明書實施例還提供一種任務的分配裝置,如圖9所示。
該任務的分配裝置包括:日誌獲取模組1001、權重確定模組1002和任務分配模組1003,其中:
日誌獲取模組1001,用於獲取任務執行伺服器的任務執行日誌;
權重確定模組1002,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
任務分配模組1003,用於當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
本說明書實施例中,所述裝置還包括:
通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
本說明書實施例中,所述權重確定模組1002,包括:
統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供一種任務的分配裝置,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例八
以上為本說明書實施例提供的任務的分配裝置,基於同樣的思路,本說明書實施例還提供一種任務的分配設備,如圖11所示。
所述任務的分配設備可以為上述實施例提供的負載監控伺服器。
任務的分配設備可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上的處理器1101和記憶體1102,記憶體1102中可以儲存有一個或一個以上儲存應用程式或資料。其中,記憶體1102可以是短暫儲存或持久儲存。儲存在記憶體1102的應用程式可以包括一個或一個以上模組(圖示未示出),每個模組可以包括對任務的分配設備中的一系列電腦可執行指令。更進一步地,處理器1101可以設置為與記憶體1102通信,在任務的分配設備上執行記憶體1102中的一系列電腦可執行指令。任務的分配設備還可以包括一個或一個以上電源1103,一個或一個以上有線或無線網路介面1104,一個或一個以上輸入輸出介面1105,一個或一個以上鍵盤1106。
具體在本實施例中,任務的分配設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對任務的分配設備中的一系列電腦可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上套裝程式含用於進行以下電腦可執行指令:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
可選地,所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
可選地,所述任務處理權重包括所述任務執行伺服器的超載權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
可選地,所述任務處理權重包括所述任務執行伺服器的任務分配權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
可選地,所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
可選地,所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
可選地,所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,
所述根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重,包括:
分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;
根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
可選地,所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,
所述確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式
計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
本說明書實施例提供一種任務的分配設備,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例九
以上為本說明書實施例提供的任務的分配裝置,基於同樣的思路,本說明書實施例還提供一種任務的分配設備,如圖12所示。
所述任務的分配設備可以為上述實施例提供的任務分配伺服器。
任務的分配設備可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上的處理器1201和記憶體1202,記憶體1202中可以儲存有一個或一個以上儲存應用程式或資料。其中,記憶體1202可以是短暫儲存或持久儲存。儲存在記憶體1202的應用程式可以包括一個或一個以上模組(圖示未示出),每個模組可以包括對任務的分配設備中的一系列電腦可執行指令。更進一步地,處理器1201可以設置為與記憶體1202通信,在任務的分配設備上執行記憶體1202中的一系列電腦可執行指令。任務的分配設備還可以包括一個或一個以上電源1203,一個或一個以上有線或無線網路介面1204,一個或一個以上輸入輸出介面1205,一個或一個以上鍵盤1206。
具體在本實施例中,任務的分配設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對任務的分配設備中的一系列電腦可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上套裝程式含用於進行以下電腦可執行指令:
接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
獲取用於為所述任務執行伺服器分配任務的任務處理權重;
根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,還包括:
以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述獲取用於為任務執行伺服器分配任務的任務處理權重,包括:
從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
另外,具體在本實施例中,任務的分配設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對任務的分配設備中的一系列電腦可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上套裝程式含用於進行以下電腦可執行指令:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,還包括:
以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供一種任務的分配設備,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
上述對本說明書特定實施例進行了描述。其它實施例在所附權利要求書的範圍內。在一些情況下,在權利要求書中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程程式設計到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式設計邏輯裝置(Programmable Logic Device,PLD)(例如現場可程式設計閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由使用者對裝置程式設計來確定。由設計人員自行程式設計來把一個數位系統“整合”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式設計也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式設計語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming
Language)、HDCal、JHDL(Java Hardware Description
Language)、Lava、Lola、MyHDL、PALASM、RHDL (Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式設計並程式設計到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或硬體)的電腦可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式設計邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip
PIC18F26K20以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以透過將方法步驟進行邏輯程式設計來使得控制器以邏輯閘、開關、專用積體電路、可程式設計邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、膝上型電腦、行動電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書一個或多個實施例時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書的實施例可提供為方法、系統、或電腦程式產品。因此,本說明書一個或多個實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書一個或多個實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書的實施例是參照根據本說明書實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得透過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學記憶體、磁盒式磁帶,磁帶磁片儲存或其他磁性儲存裝置或任何其他非傳輸媒體,可用於儲存可以被電腦存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調制的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本說明書的實施例可提供為方法、系統或電腦程式產品。因此,本說明書一個或多個實施例可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書一個或多個實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書一個或多個實施例可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。也可以在分散式運算環境中實踐本說明書一個或多個實施例,在這些分散式運算環境中,由透過通信網路而被連接的遠端處理設備來執行任務。在分散式運算環境中,程式模組可以位於包括儲存裝置在內的本地和遠端電腦儲存媒體中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本說明書的實施例而已,並不用於限制本說明書。對於本領域技術人員來說,本說明書可以有各種更改和變化。凡在本說明書的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本說明書的申請專利範圍之內。
為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本說明書一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本說明書保護的範圍。
實施例一
如圖1所示,本說明書實施例提供一種任務的分配方法,該方法的執行主體可以為負載監控伺服器,其中,該負載監控伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,該負載監控伺服器可以用於監測任務執行伺服器的任務處理情況等。該方法可以用於對任務執行伺服器執行任務的情況進行監控,並計算各任務執行伺服器在下一次分配任務時任務分配的權重等處理中。該方法具體可以包括以下步驟:
在步驟S102中,獲取任務執行伺服器的任務執行日誌。
其中,任務執行伺服器可以是某一項業務中執行具體某一項或多項任務的伺服器,在業務系統中可以包括任務執行伺服器和任務分配伺服器,其中的任務分配伺服器可以用於為任務分配伺服器分配任務,任務執行伺服器可以是任務的具體執行者,任務執行伺服器可以是一個獨立的伺服器,也可以是由多個伺服器組成的伺服器集群中的一個伺服器。任務執行日誌中可以包括執行任務過程中的相關參數資料,其中的相關參數資料可以包括一種,也可以包括多種,例如,任務執行的開始時間、任務執行所消耗的時間和任務執行的結果等,在實際應用中,執行任務過程中的相關參數資料可以並不限於包括上述參數資料,還可以包括其它參數資料,具體可以根據實際情況選取,本說明書實施例對此不做限定。
在實施中,非同步任務的定時調度是在電腦服務端的軟體設計中常見的一種應用技術,非同步任務的定時調度可以透過每次查詢並執行固定數量的任務,並周而復始地調度執行,從而可以將大資料量的任務分批次進行,每個調度週期內只執行一部分任務,進而可以相對平滑地完成業務處理過程,保護系統資源。但是,在調度過程中,如何能夠有效地平衡各任務執行伺服器之間的任務處理量,避免有些任務執行伺服器資源過度消耗,而有些任務執行伺服器一直處於空閒狀態,這是非同步任務調度過程中要解決的問題。為此,可以透過以下方式解決上述問題,即透過將任務進行拆分的方式完成非同步任務調度,具體地,查詢當前調度週期內需要處理的任務的任務列表,該任務清單中記錄有需要處理的任務的相關資訊,如,該任務包含的任務數量和該任務的標識等。然後,可以將查詢到的任務列表拆分為多個小的任務清單,並透過服務請求的方式隨機發送給各個任務執行伺服器。
上述處理方式,可以實現對任務的分散式調度,即將任務拆分開,使得每個任務執行伺服器執行其中的一部分任務,能夠避免單個任務執行伺服器執行任務的瓶頸,但是,上述處理方式,在各個任務執行伺服器之間無法很好平衡任務處理量,這樣,可能會出現已經接近滿負荷運行的任務執行伺服器仍然在不停地接收新的任務,而一些處於空閒狀態的任務執行伺服器一直沒有接收到需要處理的任務,即在任務的執行者(任務執行伺服器)和任務的分配者(任務分配伺服器)之間缺乏有效的回饋途徑,任務分配伺服器無法根據執行者的情況對任務的分配數量進行動態調節,而只能進行隨機分配。為此,本說明書實施例提供一種任務動態調節的機制和演算法,從而有效解決上述問題,具體可以包括以下內容:
如圖2所示,本說明書實施例中的業務系統或分散式調度系統中可以包括三個部分,可以分別為:任務執行伺服器、任務分配伺服器和負載監控伺服器等。任務執行伺服器和任務分配伺服器可以參見前述相關內容,負載監控伺服器可以用於獲取並計算各個任務執行伺服器的任務分配權重,以便任務分配伺服器為任務執行伺服器分配相應的任務。每當使用者確定需要進行某一項業務時,該業務可以觸發一系列複雜的任務,此時,可以透過使用者使用的終端設備基於需要處理的任務生成任務調度請求,可以將該任務調度請求發送給任務分配伺服器。當任務分配伺服器接收到需要處理的任務後,可以將該任務分配給任務執行伺服器,任務執行伺服器在執行該任務時,可以記錄執行該任務的過程中的相關參數資料,可以將上述相關參數資料記錄在各個任務執行伺服器的日誌中。
當需要對任務執行伺服器設置任務處理權重或需要對其任務處理權重進行更新時,可以向各個任務執行伺服器發送日誌上報指令,任務執行伺服器接收到日誌上報指令後,可以獲取執行任務的過程中的相關參數資料生成任務執行日誌,可以將該任務執行日誌發送給負載監控伺服器,負載監控伺服器可以接收各個任務執行伺服器發送的任務執行日誌。其中,上述任務執行日誌是由負載監控伺服器主動向各個任務執行伺服器獲取的,還可以是負載監控伺服器直接到各個任務執行伺服器中拉取相應的任務執行日誌,或者,還可以由各個任務執行伺服器主動向負載監控伺服器發送其任務執行日誌等,本說明書實施例對如何獲取任務執行日誌的處理不做限定。
在步驟S104中,根據上述任務執行日誌,確定用於為上述任務執行伺服器分配任務的任務處理權重。
其中,任務處理權重可以用於實現任務分配伺服器為各個任務執行伺服器分配任務,以及確定各個任務執行伺服器的任務分配量,其中的任務分配量可以是分配的任務個數,也可以是分配的任務的資料量等。
在實施中,負載監控伺服器透過上述步驟S102的處理得到各個任務執行伺服器的任務執行日誌後,可以分別對得到的每一個任務執行日誌進行分析,可以從任務執行日誌中提取出多項參數,以及每項參數對應的具體參數值,例如,如表1所示,任務執行日誌中可以包括下述參數和相應的參數值。
表1
其中,任務執行結果碼可以用於區分系統異常和業務異常等。可以對上述表1中所示的相關的參數資料進一步進行資料的轉換和計算,得到用於確定該任務執行伺服器的任務處理權重的基礎資料,例如任務執行伺服器近期的任務分配情況等,具體地,以基礎資料為任務執行伺服器近期的任務分配情況為例,可以計算任務執行伺服器近期的任務分配情況的權重,具體地,考慮到負載監控伺服器收集到的任務執行日誌中的相關參數資料是任務執行伺服器已經執行完成的資料,具有一定的時延,但可以用於近似表示當前時間的任務分配情況,當前時間被分配的任務越多的任務執行伺服器,其任務分配情況的權重越低,因此,可以基於任務執行伺服器在單位時間內任務的處理總數來確定任務分配情況的權重,為此,可以基於上述表1中的相關參數資料計算各個任務執行伺服器在單位時間內任務的處理總數。得到各個任務執行伺服器在單位時間內任務的處理總數後,可以進而得到各個任務執行伺服器的任務分配情況的權重,可以將得到的各個任務執行伺服器的任務分配情況的權重作為相應任務執行伺服器的任務處理權重。
需要說明的是,任務執行伺服器的任務處理權重並不限於上述一種,在實際應用中還可以包括多種,具體可以根據實際情況設定,本說明書實施例對此不做限定。
在步驟S106中,將上述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使該任務分配伺服器在接收到任務調度請求時,根據該任務處理權重為任務執行伺服器分配任務。
在實施中,負載監控伺服器得到各個任務執行伺服器的任務處理權重後,為了在下一次任務分配伺服器接收到任務調度請求進行任務分配,負載監控伺服器可以將各個任務執行伺服器的任務處理權重發送給任務分配伺服器,這樣,當任務分配伺服器在接收到任務調度請求時,可以根據該任務處理權重為任務執行伺服器分配任務。
如圖3所示,本說明書實施例提供一種任務的分配方法,該方法的執行主體可以為任務分配伺服器,其中,該任務分配伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,該任務分配伺服器可以用於向任務執行伺服器分配任務等。該方法可以用於對任務執行伺服器依據任務分配的權重進行任務分配等處理中。該方法具體可以包括以下步驟:
在步驟S302中,接收任務調度請求,該任務調度請求用於請求為任務執行伺服器分配任務。
在實施中,當使用者確定需要進行某一項業務時,業務伺服器會向使用者提供相應的服務,透過使用者的操作或請求,可以觸發一系列複雜的任務,此時,可以透過使用者使用的終端設備基於需要處理的任務生成任務調度請求,可以將該任務調度請求發送給任務分配伺服器。
在步驟S304中,獲取用於為上述任務執行伺服器分配任務的任務處理權重。
在實施中,為了避免出現已經接近滿負荷運行的任務執行伺服器仍然在不停地接收新的任務,而一些處於空閒狀態的任務執行伺服器一直沒有接收到需要處理的任務的情況,任務分配伺服器中可以儲存有各個任務執行伺服器的任務處理權重。當任務分配伺服器透過上述步驟S302的處理接收到任務調度請求時,可以確定該任務調度請求對應的任務執行伺服器,確定後,可以從自身儲存的任務處理權重中查找確定出的任務執行伺服器的任務處理權重。
在步驟S306中,根據上述任務處理權重,從上述任務調度請求對應的目標任務中為上述任務執行伺服器分配任務。
在實施中,任務分配伺服器查找到相應的任務執行伺服器的任務處理權重後,可以根據任務處理權重,確定需要為相應的任務執行伺服器分配的任務量。然後,可以將任務調度請求對應的目標任務劃分為多個部分,其中,任務處理權重的數值越大,分配的任務量就越多,這樣,可以使得對任務的分配進行動態調節,任務執行伺服器、負載監控伺服器和任務分配伺服器之間形成整體的閉環,達到動態調節系統資源的目的。
本說明書實施例提供一種任務的分配方法,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例二
如圖4所示,本說明書實施例提供一種任務的分配方法,該方法可以由負載監控伺服器和任務分配伺服器共同執行,其中,該負載監控伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,該負載監控伺服器可以用於監測任務執行伺服器的任務處理情況等。該任務分配伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,該任務分配伺服器可以用於向任務執行伺服器分配任務等。該方法可以用於對任務執行伺服器執行任務的情況進行監控,並計算各任務執行伺服器在下一次分配任務時任務分配的權重等處理中。該方法具體可以包括以下步驟:
在步驟S402中,負載監控伺服器獲取任務執行伺服器的任務執行日誌。
上述步驟S402的步驟內容與上述實施例一中步驟S102的步驟內容相同,上述步驟S402的具體處理過程可以參見上述實施例一中步驟S102的相關內容,在此不再贅述。
在步驟S404中,負載監控伺服器根據上述任務執行日誌,確定任務執行伺服器的任務處理統計資訊。
其中,該任務處理統計資訊可以至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量。
在實施中,為了能夠直觀的體現出任務執行伺服器執行任務的情況,可以對每個任務執行伺服器的任務執行日誌中記載的相關參數資料進行統計分析,可以得到任務執行伺服器的任務處理統計資訊,該任務處理統計資訊可以是用於確定該任務執行伺服器的任務處理權重的基礎資料,其中,任務執行日誌中記載的相關參數資料可以參見上述實施例一中的表1所示,相應的,任務執行伺服器的任務處理統計資訊中可以包括任務處理統計參數,及其對應的統計值,具體可以參見下述表2所示。
表2
其中,任務超時時間的上限可以透過多次執行任務的平均耗時乘以預先設定的固定係數得到,或者,也可以透過人工觀察任務執行日誌,從而確定某個固定時長作為任務超時時間的上限等。單位時間內任務處理成功或業務型失敗的數量不包括超時完成任務的數量。單位時間內由於系統異常導致的任務失敗數量可以是由於任務執行伺服器無法接收新分配的任務或其他系統型異常等導致的任務失敗數量。
在步驟S406中,負載監控伺服器根據任務執行伺服器的任務處理統計資訊,確定用於為該任務執行伺服器分配任務的任務處理權重。
上述步驟S406的具體處理過程可以參見上述實施例一中的相關內容。
在實際應用中,為了實現對任務的動態調度,可以設置任務處理權重的計算規則或計算原則,可以基於設置的任務處理權重的計算規則或計算原則來選取或設置任務處理權重,本說明書實施例中提供一種可選的任務處理權重的計算規則或計算原則,具體可以包括以下四個方面:
第一方面,保證任務執行伺服器沒有出現超載,能夠正常處理任務。
第二方面,為當前處理任務數量較少的任務執行伺服器優先分配任務。
第三方面,近期N次任務的處理速度較快的任務執行伺服器優先分配任務。
第四方面,歷史處理性能表現較好的任務執行伺服器優先分配任務。
此外,上述的四個方面的計算規則或計算原則在優先順序上,由第一方面~第四方面依次降低,即在設置任務處理權重時,首先保證高優先順序的計算規則或計算原則能夠得到滿足,然後再滿足低優先順序的計算規則或計算原則。
另外,任務處理權重可以包括多種,不同的業務系統可以設置不同的任務處理權重,本說明書實施例中提供四種可選的任務處理權重進行詳細說明,對於除了下述四種任務處理權重外的其它任務處理權重,可以參考下述相關內容處理,在此不再贅述。
第一種,考慮到任務執行伺服器的超載情況在上述計算規則或計算原則中優先順序最高,也即是任務執行伺服器的超載情況,對任務的分配有較大影響,因此,任務處理權重可以包括任務執行伺服器的超載權重,則上述步驟S406的處理具體可以為:根據單位時間內任務處理成功或業務型失敗的數量,以及單位時間內處理的任務總數量,確定任務執行伺服器的超載權重。
在實施中,對於任務執行伺服器的超載情況,任務執行伺服器的超載權重可以透過單位時間內任務處理成功的數量(包括任務處理成功和業務型失敗的數量)與單位時間內處理的任務總數量的比值進行確定,得到的比值越高,則任務執行伺服器執行任務的成功率越高,進而該任務執行伺服器也就越不會發生超載。針對某指定IP位址的任務執行伺服器,其超載權重可以透過以下公式(1)確定
其中,W 1 為任務執行伺服器的超載權重,m 為單位時間內任務處理成功的數量,k 為單位時間內處理的任務總數量,k=n+m+u ,n 為單位時間內超時完成任務的數量,u 為單位時間內由於系統異常導致的任務失敗數量,。例如,如果單位時間內任務處理成功的數量為20,單位時間內處理的任務總數量為21,即m =20,k =21,則任務執行伺服器的超載權重W 1 =20/21=0.95。
第二種,考慮到任務執行伺服器的任務分配情況在上述計算規則或計算原則中優先順序較高,也即是任務執行伺服器的任務分配情況,對任務的分配有一定的影響,因此,任務處理權重可以包括任務執行伺服器的任務分配權重,則上述步驟S406的處理具體可以為:根據單位時間內處理的任務總數量,確定任務執行伺服器的任務分配權重,其中,任務分配權重與單位時間內處理的任務總數量負相關。
其中,任務分配權重與單位時間內處理的任務總數量負相關可以包括多種實現方式,例如,任務分配權重與單位時間內處理的任務總數量互為倒數關係等,本說明書實施例對此不做限定。
在實施中,負載監控伺服器收集到的任務執行日誌中的相關參數資料是任務執行伺服器已經執行完成的資料,具有一定的時延,但可以用於近似表示當前時間的任務分配情況,當前時間被分配的任務越多的任務執行伺服器,其任務分配權重越低,並且任務分配權重應該呈極速下降趨勢。針對某指定IP位址的任務執行伺服器,其任務分配權重可以透過以下公式(2)確定
其中,。例如,如果單位時間內處理的任務總數量為21,即k =21,則任務執行伺服器的任務分配權重W 2 =1/(21)!。
第三種,考慮到任務執行伺服器的任務處理速度情況在上述計算規則或計算原則中優先順序較高,也即是任務執行伺服器的任務處理速度,對任務的分配有一定的影響,因此,任務處理權重可以包括任務執行伺服器的任務處理速度權重,則上述步驟S406的處理具體可以為:根據任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定任務執行伺服器的任務處理速度權重。
其中,近期預定次數可以根據實際情況設定,具體如最近5次或最近10次等,本說明書實施例對此不做限定。
在實施中,近期預定次數的任務處理的平均時長可以透過如下公式(3)確定
其中,n 為次數,N 為近期預定次數中的最大次數,為第n 次任務的單次執行時間,為近期N 次數的任務處理的平均時長。
為了簡化計算,以及便於後續進行正規化處理,在計算時如果出現超過了任務超時時間的上限αexp 的情況,則將取值為αexp 。
根據上述第三方面的計算規則或計算原則,如果近期預定次數的任務處理的平均時長較長,則任務執行伺服器的任務處理速度權重較低,並且隨著近期預定次數的任務處理的平均時長的增加而單調遞減。最終,任務處理速度權重可以透過以下公式確定
其中,,。
透過上述公式(4)可以得到,當近期N 次的任務處理的平均時長接近任務超時時間的上限時,任務處理速度權重趨近於0,而當近期N次的任務處理的平均時長接近於0時,任務處理速度權重接近1,滿足上述第三方面的計算規則或計算原則的要求。其中,上述公式(4)中引入自然底數e 的目的在於正規化,並且使任務處理速度權重對應的函數的變化更加平滑。
第四種,考慮到任務執行伺服器的歷史處理性能,對任務的分配有一定的影響,因此,任務處理權重可以包括任務執行伺服器的歷史處理性能權重,則上述步驟S406的處理具體可以為:根據任務超時時間的上限和近期預定次數的任務處理的平均時長,確定任務執行伺服器的歷史處理性能權重。
其中,歷史處理性能可以分為兩個部分,即歷史處理時長和歷史處理抖動,相應的,歷史處理性能權重可以包括歷史處理時長子權重和歷史處理抖動子權重,則上述處理過程具體可以為:分別根據任務超時時間的上限和近期預定次數的任務處理的平均時長,確定任務執行伺服器的歷史處理時長子權重和歷史處理抖動子權重;根據歷史處理時長子權重和歷史處理抖動子權重,確定歷史處理性能權重。
在實施中,歷史處理時長越長,說明任務執行伺服器的性能不足,歷史處理時長子權重越低;歷史處理抖動越明顯,說明任務執行伺服器的處理不穩定,歷史處理抖動子權重越低。同時,考慮到距離當前時間較久的歷史資料,其計算參考價值較低,而距離當前時間較近的歷史資料,其計算參考價值較高,因此,歷史資料距離當前時間的長短也是歷史處理性能權重計算中需要考量的因素。
可以將歷史處理時長子權重記為H 1 ,歷史處理時長子權重可以透過以下公式(5)確定
其中,,,n 的取值含義表示距離當前最近的第n 次處理,n 的取值越大表示該歷史資料距離當前時間越長。從上述公式(5)中可以得到,距離當前時間越長的歷史資料,歷史處理時長子權重的取值越小,並且呈指數下降的趨勢。
可以將歷史處理抖動子權重記為H 2 ,歷史處理抖動子權重可以透過以下公式(6)確定
其中,,,上述公式(6)中採用方差來估計歷史處理抖動子權重,與歷史處理時長子權重相同。對於歷史處理抖動子權重的計算,距離當前時間越長的歷史資料,歷史處理抖動子權重的取值越小。
透過上述歷史處理時長子權重和歷史處理抖動子權重的計算,可以得到最終的歷史處理性能權重W 4 ,計算公式可如下公式(7)
其中,。透過上述公式(7)可以確定,歷史處理時長越長、歷史處理抖動越明顯的任務執行伺服器,其歷史處理性能權重越低,上述結果與上述第四方面的計算規則或計算原則相符。
上述四種任務處理權重中的任一種任務處理權重均可以作為用於向任務執行伺服器分配任務的任務處理權重,上述四種任務處理權重的具體計算方法可以參見上述相關內容。在實際應用中,上述四種任務處理權重中的兩種或兩種以上的任務處理權重的組合,也可以作為用於向任務執行伺服器分配任務的任務處理權重,其中,任務處理權重可以包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重等四種,此時,上述確定用於為任務執行伺服器分配任務的任務處理權重的處理具體可以透過以下方式實現:根據上述超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,利用以下公式(8)
計算任務執行伺服器的任務處理權重。
其中,W 為任務執行伺服器的任務處理權重,W 1 為任務執行伺服器的超載權重,W 2 為任務執行伺服器的任務分配權重,W 3 為任務執行伺服器的任務處理速度權重,W 4 為任務執行伺服器的歷史處理性能權重,,。
在實施中,可以根據上述任務執行伺服器的超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重的影響強弱,對每一個權重設置相應的係數,同時,還需要保證在一定情況下,上述任務執行伺服器的超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重等四個權重之間的主次關係,因而任務執行伺服器的任務處理權重應是以超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重為變數的函數,且該函數應符合以下原則:
原則一,單位時間內任務處理的成功率為優先考慮原則,即對於任意兩個不同IP位址的任務執行伺服器,如果兩個任務執行伺服器的IP位址為IP1和IP2,IP1的任務執行伺服器的超載權重W 1 (IP1),IP2的任務執行伺服器的超載權重W 1 (IP2),且W 1 (IP1)>W 1 (IP2),則兩個任務執行伺服器的任務處理權重應滿足W (IP1)>W (IP2)。
原則二,任務執行伺服器的任務分配權重W 2 的影響程度應僅次於任務執行伺服器的超載權重W 1 。當前處理的任務的數量越多,則表明該任務執行伺服器的工作負荷越大。
原則三,任務執行伺服器的任務處理速度權重W 3 應與任務執行伺服器的任務分配權重W 2 綜合考慮,具體可以透過比例係數進行調節。
原則四,任務執行伺服器的歷史處理性能權重為輔助考察因素,對任務執行伺服器的任務處理權重的影響效果最低。
基於上述四項原則,可以透過公式(8)確定任務執行伺服器的任務處理權重
其中,公式中的(a ,b )的參數可以根據實際場景以及業務系統狀況的不同而可以選擇不同的取值。而且,在同一場景下,可以應用(a ,b )向量來獲得最佳值。
在步驟S408中,負載監控伺服器將上述任務執行伺服器的任務處理權重發送給任務分配伺服器。
上述步驟S408的步驟內容與上述實施例一中步驟S106的步驟內容相同,上述步驟S408的具體處理過程可以參見上述實施例一中步驟S106的相關內容,在此不再贅述。
在步驟S410中,任務分配伺服器接收任務調度請求,該任務調度請求用於請求為任務執行伺服器分配任務。
上述步驟S410的步驟內容與上述實施例一中步驟S302的步驟內容相同,上述步驟S410的具體處理過程可以參見上述實施例一中步驟S302的相關內容,在此不再贅述。
在步驟S412中,任務分配伺服器獲取用於為上述任務執行伺服器分配任務的任務處理權重。
需要說明的是,上述步驟S412的處理是在負載監控伺服器向任務分配伺服器發送任務處理權重後實現的,在實際應用中,任務分配伺服器還可以向負載監控伺服器主動獲取或拉取任務執行伺服器的任務處理權重,具體可以包括以下內容:任務分配伺服器從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
上述具體處理過程可以參見上述相關內容,在此不再贅述。
在步驟S414中,根據上述任務處理權重,任務分配伺服器從上述任務調度請求對應的目標任務中為上述任務執行伺服器分配任務。
上述步驟S414的步驟內容與上述實施例一中步驟S306的步驟內容相同,上述步驟S414的具體處理過程可以參見上述實施例一中步驟S306的相關內容,在此不再贅述。
在步驟S416中,任務分配伺服器以點對點調用的方式,通知任務執行伺服器執行為任務執行伺服器分配的任務。
在實施中,任務分配伺服器獲取到負載監控伺服器計算的任務處理權重的結果後,可以根據各個任務執行伺服器的任務處理權重的數值劃分任務調度請求對應的目標任務,可以將目標任務中相應數量的任務劃分給對應的任務執行伺服器,具體地,當前任務執行伺服器分配的任務數量=(當前任務執行伺服器的任務處理權重/各個任務執行伺服器的任務處理權重的總和)*目標任務的總數量,例如,當前任務執行伺服器的任務處理權重為0.3,各個任務執行伺服器的任務處理權重的總和為5,目標任務的總數量為50,則當前任務執行伺服器分配的任務數量= (0.3/5)*50=3,即需要將目標任務中的3個任務分配給當前任務執行伺服器。透過上述方式劃分完成後,可以將劃分後的相應數量的任務,以點對點調用的方式通知到任務執行伺服器,從而可以透過非同步任務調度的方式實現為任務執行伺服器分配任務的目的,這樣,可以透過負載監控伺服器收集任務執行伺服器的任務執行日誌,並對任務執行日誌進行計算分析,得出的結果作為任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據已經計算好的任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節打通,形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了現有隨機調度定時任務的弊端。
本說明書實施例提供一種任務的分配方法,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例三
如圖5所示,本說明書實施例提供一種任務的分配方法,該方法的執行主體可以為任務分配伺服器,其中,該任務分配伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,如圖6所示,該任務分配伺服器可以用於向任務執行伺服器分配任務等,該任務分配伺服器還整合了上述實施例一和實施例二中負載監控伺服器的功能。該方法可以用於對任務執行伺服器依據任務分配的權重進行任務分配等處理中。該方法具體可以包括以下步驟:
在步驟S502中,獲取任務執行伺服器的任務執行日誌。
上述步驟S502的步驟內容與上述實施例一中步驟S102的步驟內容相同,上述步驟S502的具體處理過程可以參見上述實施例一中步驟S102的相關內容,在此不再贅述。
在步驟S504中,根據上述任務執行日誌,確定用於為上述任務執行伺服器分配任務的任務處理權重。
上述步驟S504的步驟內容與上述實施例一中步驟S104的步驟內容相同,上述步驟S504的具體處理過程可以參見上述實施例一中步驟S104的相關內容,在此不再贅述。
在步驟S506中,當接收到任務調度請求時,根據上述任務處理權重,從該任務調度請求對應的目標任務中為任務執行伺服器分配任務。
上述步驟S506的具體處理過程可以參見上述實施例一中的相關內容,在此不再贅述。
本說明書實施例提供一種任務的分配方法,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例四
如圖7所示,本說明書實施例提供一種任務的分配方法,該方法的執行主體可以為任務分配伺服器,其中,該任務分配伺服器可以是獨立的一個伺服器,也可以是由多個伺服器組成的伺服器集群,而且,如圖6所示,該任務分配伺服器可以用於向任務執行伺服器分配任務等,該任務分配伺服器還整合了上述實施例一和實施例二中負載監控伺服器的功能。該方法可以用於對任務執行伺服器依據任務分配的權重進行任務分配等處理中。該方法具體可以包括以下步驟:
在步驟S702中,獲取任務執行伺服器的任務執行日誌。
在步驟S704中,根據上述任務執行日誌中執行任務過程中的相關參數資料,確定任務執行伺服器的任務處理統計資訊,該任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量。
在步驟S706中,根據任務執行伺服器的任務處理統計資訊,確定用於為任務執行伺服器分配任務的任務處理權重。
其中,任務處理權重可以包括任務執行伺服器的超載權重,上述步驟S706的處理具體可以透過以下處理實現:根據單位時間內任務處理成功或業務型失敗的數量,以及單位時間內處理的任務總數量,確定任務執行伺服器的超載權重。
此外,任務處理權重可以包括任務執行伺服器的任務分配權重,上述步驟S706的處理具體可以透過以下處理實現:根據單位時間內處理的任務總數量,確定任務執行伺服器的任務分配權重,其中,該任務分配權重與單位時間內處理的任務總數量負相關。
另外,任務處理權重可以包括任務執行伺服器的任務處理速度權重,上述步驟S706的處理具體可以透過以下處理實現:根據任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定任務執行伺服器的任務處理速度權重。
此外,任務處理權重可以包括任務執行伺服器的歷史處理性能權重,上述步驟S706的處理具體可以透過以下處理實現:根據任務超時時間的上限和近期預定次數的任務處理的平均時長,確定任務執行伺服器的歷史處理性能權重。
另外,任務處理權重可以包括上述超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,上述步驟S706的處理具體可以透過以下處理實現:根據超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,利用公式
計算任務處理權重。
其中,W 為任務處理權重,W 1 為超載權重,W 2 為任務分配權重,W 3 為任務處理速度權重,W 4 為歷史處理性能權重,,。
在步驟S708中,接收任務調度請求,該任務調度請求用於請求為任務執行伺服器分配任務。
在步驟S710中,獲取用於為上述任務執行伺服器分配任務的任務處理權重。
在步驟S712中,根據上述任務處理權重,從上述任務調度請求對應的目標任務中為上述任務執行伺服器分配任務。
在步驟S714中,以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
上述步驟S702~步驟S714的具體處理過程可以參見上述實施例一和實施例二中的相關內容,在此不再贅述。
本說明書實施例提供一種任務的分配方法,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例五
以上為本說明書實施例提供的任務的分配方法,基於同樣的思路,本說明書實施例還提供一種任務的分配裝置,如圖8所示。
該任務的分配裝置包括:日誌獲取模組801、權重確定模組802和權重發送模組803,其中:
日誌獲取模組801,用於獲取任務執行伺服器的任務執行日誌;
權重確定模組802,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
權重發送模組803,用於將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
本說明書實施例中,所述權重確定模組802,包括:
統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例中,所述任務處理權重包括所述任務執行伺服器的超載權重,所述權重確定單元,用於根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
本說明書實施例中,所述任務處理權重包括所述任務執行伺服器的任務分配權重,所述權重確定單元,用於根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
本說明書實施例中,所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,所述權重確定單元,用於根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
本說明書實施例中,所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,所述權重確定單元,用於根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
本說明書實施例中,所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,所述權重確定單元,用於分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
本說明書實施例中,所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,所述權重確定模組802,用於根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式
計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
本說明書實施例提供一種任務的分配裝置,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例六
基於同樣的思路,本說明書實施例還提供一種任務的分配裝置,如圖9所示。
該任務的分配裝置包括:請求接收模組901、權重獲取模組902和任務分配模組903,其中:
請求接收模組901,用於接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
權重獲取模組902,用於獲取用於為所述任務執行伺服器分配任務的任務處理權重;
任務分配模組903,用於根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
本說明書實施例中,所述裝置還包括:
通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
本說明書實施例中,所述權重獲取模組902,用於從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供一種任務的分配裝置,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例七
基於同樣的思路,本說明書實施例還提供一種任務的分配裝置,如圖9所示。
該任務的分配裝置包括:日誌獲取模組1001、權重確定模組1002和任務分配模組1003,其中:
日誌獲取模組1001,用於獲取任務執行伺服器的任務執行日誌;
權重確定模組1002,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
任務分配模組1003,用於當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
本說明書實施例中,所述裝置還包括:
通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
本說明書實施例中,所述權重確定模組1002,包括:
統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供一種任務的分配裝置,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例八
以上為本說明書實施例提供的任務的分配裝置,基於同樣的思路,本說明書實施例還提供一種任務的分配設備,如圖11所示。
所述任務的分配設備可以為上述實施例提供的負載監控伺服器。
任務的分配設備可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上的處理器1101和記憶體1102,記憶體1102中可以儲存有一個或一個以上儲存應用程式或資料。其中,記憶體1102可以是短暫儲存或持久儲存。儲存在記憶體1102的應用程式可以包括一個或一個以上模組(圖示未示出),每個模組可以包括對任務的分配設備中的一系列電腦可執行指令。更進一步地,處理器1101可以設置為與記憶體1102通信,在任務的分配設備上執行記憶體1102中的一系列電腦可執行指令。任務的分配設備還可以包括一個或一個以上電源1103,一個或一個以上有線或無線網路介面1104,一個或一個以上輸入輸出介面1105,一個或一個以上鍵盤1106。
具體在本實施例中,任務的分配設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對任務的分配設備中的一系列電腦可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上套裝程式含用於進行以下電腦可執行指令:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
可選地,所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
可選地,所述任務處理權重包括所述任務執行伺服器的超載權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
可選地,所述任務處理權重包括所述任務執行伺服器的任務分配權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
可選地,所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
可選地,所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,
所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
可選地,所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,
所述根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重,包括:
分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;
根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
可選地,所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,
所述確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式
計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
本說明書實施例提供一種任務的分配設備,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以將任務執行伺服器的任務處理權重發送給任務分配伺服器,以使任務分配伺服器在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
實施例九
以上為本說明書實施例提供的任務的分配裝置,基於同樣的思路,本說明書實施例還提供一種任務的分配設備,如圖12所示。
所述任務的分配設備可以為上述實施例提供的任務分配伺服器。
任務的分配設備可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上的處理器1201和記憶體1202,記憶體1202中可以儲存有一個或一個以上儲存應用程式或資料。其中,記憶體1202可以是短暫儲存或持久儲存。儲存在記憶體1202的應用程式可以包括一個或一個以上模組(圖示未示出),每個模組可以包括對任務的分配設備中的一系列電腦可執行指令。更進一步地,處理器1201可以設置為與記憶體1202通信,在任務的分配設備上執行記憶體1202中的一系列電腦可執行指令。任務的分配設備還可以包括一個或一個以上電源1203,一個或一個以上有線或無線網路介面1204,一個或一個以上輸入輸出介面1205,一個或一個以上鍵盤1206。
具體在本實施例中,任務的分配設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對任務的分配設備中的一系列電腦可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上套裝程式含用於進行以下電腦可執行指令:
接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務;
獲取用於為所述任務執行伺服器分配任務的任務處理權重;
根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,還包括:
以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述獲取用於為任務執行伺服器分配任務的任務處理權重,包括:
從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
另外,具體在本實施例中,任務的分配設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對任務的分配設備中的一系列電腦可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上套裝程式含用於進行以下電腦可執行指令:
獲取任務執行伺服器的任務執行日誌;
根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;
當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
可選地,還包括:
以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
可選地,所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括:
根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;
根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
本說明書實施例提供一種任務的分配設備,透過獲取任務執行伺服器的任務執行日誌,確定用於為任務執行伺服器分配任務的任務處理權重,然後,可以在接收到任務調度請求時,根據任務處理權重為任務執行伺服器分配任務,這樣,可以透過收集任務執行伺服器的任務執行日誌,確定任務執行伺服器的任務處理權重,當下一次的任務調度請求到達時,可以根據上述任務處理權重為各個任務執行伺服器分配任務,從而將“調度分配”、“任務執行”、“負載控制”三個處理環節形成完整的閉環,從而可以很好的平衡各個任務執行伺服器之間的任務處理數量,避免任務執行伺服器的“超載”或“饑餓”現象,能夠動態地對當前任務執行伺服器的任務處理進行調節,解決了隨機調度定時任務的弊端。
上述對本說明書特定實施例進行了描述。其它實施例在所附權利要求書的範圍內。在一些情況下,在權利要求書中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程程式設計到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式設計邏輯裝置(Programmable Logic Device,PLD)(例如現場可程式設計閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由使用者對裝置程式設計來確定。由設計人員自行程式設計來把一個數位系統“整合”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式設計也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式設計語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming
Language)、HDCal、JHDL(Java Hardware Description
Language)、Lava、Lola、MyHDL、PALASM、RHDL (Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式設計並程式設計到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或硬體)的電腦可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式設計邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip
PIC18F26K20以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以透過將方法步驟進行邏輯程式設計來使得控制器以邏輯閘、開關、專用積體電路、可程式設計邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、膝上型電腦、行動電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書一個或多個實施例時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書的實施例可提供為方法、系統、或電腦程式產品。因此,本說明書一個或多個實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書一個或多個實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書的實施例是參照根據本說明書實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得透過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學記憶體、磁盒式磁帶,磁帶磁片儲存或其他磁性儲存裝置或任何其他非傳輸媒體,可用於儲存可以被電腦存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調制的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本說明書的實施例可提供為方法、系統或電腦程式產品。因此,本說明書一個或多個實施例可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書一個或多個實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書一個或多個實施例可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。也可以在分散式運算環境中實踐本說明書一個或多個實施例,在這些分散式運算環境中,由透過通信網路而被連接的遠端處理設備來執行任務。在分散式運算環境中,程式模組可以位於包括儲存裝置在內的本地和遠端電腦儲存媒體中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本說明書的實施例而已,並不用於限制本說明書。對於本領域技術人員來說,本說明書可以有各種更改和變化。凡在本說明書的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本說明書的申請專利範圍之內。
801‧‧‧日誌獲取模組
802‧‧‧權重確定模組
803‧‧‧權重發送模組
901‧‧‧請求接收模組
902‧‧‧權重獲取模組
903‧‧‧任務分配模組
1001‧‧‧日誌獲取模組
1002‧‧‧權重確定模組
1003‧‧‧任務分配模組
1101‧‧‧處理器
1102‧‧‧記憶體
1103‧‧‧電源
1104‧‧‧有線或無線網路介面
1105‧‧‧輸入輸出介面
1106‧‧‧鍵盤
1201‧‧‧處理器
1202‧‧‧記憶體
1203‧‧‧電源
1204‧‧‧有線或無線網路介面
1205‧‧‧輸入輸出介面
1206‧‧‧鍵盤
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本說明書一種任務的分配方法實施例;
圖2為本說明書一種任務的分配系統的結構示意圖;
圖3為本說明書另一種任務的分配方法實施例;
圖4為本說明書又一種任務的分配方法實施例;
圖5為本說明書又一種任務的分配方法實施例;
圖6為本說明書另一種任務的分配系統的結構示意圖;
圖7為本說明書又一種任務的分配方法實施例;
圖8為本說明書一種任務的分配裝置實施例;
圖9為本說明書一種任務的分配裝置實施例;
圖10為本說明書一種任務的分配裝置實施例;
圖11為本說明書一種任務的分配設備實施例;以及
圖12為本說明書一種任務的分配設備實施例。
Claims (31)
- 一種任務的分配方法,所述方法包括: 獲取任務執行伺服器的任務執行日誌; 根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重; 將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
- 根據申請專利範圍第1項所述的方法,其中所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括: 根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;以及 根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
- 根據申請專利範圍第2項所述的方法,其中所述任務處理權重包括所述任務執行伺服器的超載權重, 所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括: 根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
- 根據申請專利範圍第2項所述的方法,其中所述任務處理權重包括所述任務執行伺服器的任務分配權重, 所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括: 根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重,所述任務分配權重與所述單位時間內處理的任務總數量負相關。
- 根據申請專利範圍第2項所述的方法,其中所述任務處理權重包括所述任務執行伺服器的任務處理速度權重, 所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括: 根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
- 根據申請專利範圍第2項所述的方法,其中所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重, 所述根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括: 根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
- 根據申請專利範圍第6項所述的方法,其中所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重, 所述根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重,包括: 分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重; 根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
- 根據申請專利範圍第1項所述的方法,其中所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重, 所述確定用於為所述任務執行伺服器分配任務的任務處理權重,包括: 根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式 計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
- 一種任務的分配方法,所述方法包括: 接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務; 獲取用於為所述任務執行伺服器分配任務的任務處理權重;以及 根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
- 根據申請專利範圍第9項所述的方法,所述方法還包括: 以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
- 根據申請專利範圍第9項所述的方法,其中所述獲取用於為任務執行伺服器分配任務的任務處理權重,包括: 從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
- 一種任務的分配方法,所述方法包括: 獲取任務執行伺服器的任務執行日誌; 根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;以及 當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
- 根據申請專利範圍第12項所述的方法,所述方法還包括: 以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
- 根據申請專利範圍第13項所述的方法,其中所述根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重,包括: 根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;以及 根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
- 一種任務的分配裝置,所述裝置包括: 日誌獲取模組,用於獲取任務執行伺服器的任務執行日誌; 權重確定模組,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;以及 權重發送模組,用於將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
- 根據申請專利範圍第15項所述的裝置,其中所述權重確定模組,包括: 統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;以及 權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
- 根據申請專利範圍第16項所述的裝置,其中所述任務處理權重包括所述任務執行伺服器的超載權重,所述權重確定單元,用於根據所述單位時間內任務處理成功或業務型失敗的數量,以及所述單位時間內處理的任務總數量,確定所述任務執行伺服器的超載權重。
- 根據申請專利範圍第16項所述的裝置,其中所述任務處理權重包括所述任務執行伺服器的任務分配權重,所述權重確定單元,用於根據所述單位時間內處理的任務總數量,確定所述任務執行伺服器的任務分配權重。所述任務分配權重與所述單位時間內處理的任務總數量負相關。
- 根據申請專利範圍第16項所述的裝置,其中所述任務處理權重包括所述任務執行伺服器的任務處理速度權重,所述權重確定單元,用於根據所述任務超時時間的上限,以及近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的任務處理速度權重。
- 根據申請專利範圍第16項所述的裝置,其中所述任務處理權重包括所述任務執行伺服器的歷史處理性能權重,所述權重確定單元,用於根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理性能權重。
- 根據申請專利範圍第20項所述的裝置,其中所述歷史處理性能權重包括歷史處理時長子權重和歷史處理抖動子權重,所述權重確定單元,用於分別根據所述任務超時時間的上限和近期預定次數的任務處理的平均時長,確定所述任務執行伺服器的歷史處理時長子權重和所述歷史處理抖動子權重;根據所述歷史處理時長子權重和所述歷史處理抖動子權重,確定所述歷史處理性能權重。
- 根據申請專利範圍第15項所述的裝置,其中所述任務處理權重包括超載權重、任務分配權重、任務處理速度權重和歷史處理性能權重,所述權重確定模組,用於根據所述超載權重、所述任務分配權重、所述任務處理速度權重和所述歷史處理性能權重,利用公式 計算所述任務處理權重;其中,W 為所述任務處理權重,W 1 為所述超載權重,W 2 為所述任務分配權重,W 3 為所述任務處理速度權重,W 4 為所述歷史處理性能權重,,。
- 一種任務的分配裝置,所述裝置包括: 請求接收模組,用於接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務; 權重獲取模組,用於獲取用於為所述任務執行伺服器分配任務的任務處理權重;以及 任務分配模組,用於根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
- 根據申請專利範圍第23項所述的裝置,所述裝置還包括: 通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
- 根據申請專利範圍第23項所述的裝置,其中所述權重獲取模組,用於從負載監控伺服器中獲取用於為任務執行伺服器分配任務的任務處理權重。
- 一種任務的分配裝置,所述裝置包括: 日誌獲取模組,用於獲取任務執行伺服器的任務執行日誌; 權重確定模組,用於根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;以及 任務分配模組,用於當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
- 根據申請專利範圍第26項所述的裝置,所述裝置還包括: 通知模組,用於以點對點調用的方式,通知所述任務執行伺服器執行為所述任務執行伺服器分配的任務。
- 根據申請專利範圍第27項所述的裝置,其中所述權重確定模組,包括: 統計單元,用於根據所述任務執行日誌中執行任務過程中的相關參數資料,確定所述任務執行伺服器的任務處理統計資訊,所述任務處理統計資訊至少包括以下中的一個或多個:任務超時時間的上限、單位時間內任務處理成功或業務型失敗的數量、單位時間內超時完成任務的數量、單位時間內處理的任務總數量、單位時間內由於系統異常導致的任務失敗數量;以及 權重確定單元,用於根據所述任務執行伺服器的任務處理統計資訊,確定用於為所述任務執行伺服器分配任務的任務處理權重。
- 一種任務的分配設備,所述任務的分配設備包括: 處理器;以及 被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器: 獲取任務執行伺服器的任務執行日誌; 根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;以及 將所述任務執行伺服器的任務處理權重發送給任務分配伺服器,以使所述任務分配伺服器在接收到任務調度請求時,根據所述任務處理權重為所述任務執行伺服器分配任務。
- 一種任務的分配設備,所述任務的分配設備包括: 處理器;以及 被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器: 接收任務調度請求,所述任務調度請求用於請求為任務執行伺服器分配任務; 獲取用於為所述任務執行伺服器分配任務的任務處理權重;以及 根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
- 一種任務的分配設備,所述任務的分配設備包括: 處理器;以及 被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器: 獲取任務執行伺服器的任務執行日誌; 根據所述任務執行日誌,確定用於為所述任務執行伺服器分配任務的任務處理權重;以及 當接收到任務調度請求時,根據所述任務處理權重,從所述任務調度請求對應的目標任務中為所述任務執行伺服器分配任務。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201810298743.X | 2018-04-04 | ||
CN201810298743.XA CN108681484B (zh) | 2018-04-04 | 2018-04-04 | 一种任务的分配方法、装置及设备 |
CN201810298743.X | 2018-04-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201942739A true TW201942739A (zh) | 2019-11-01 |
TWI701597B TWI701597B (zh) | 2020-08-11 |
Family
ID=63800749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108104575A TWI701597B (zh) | 2018-04-04 | 2019-02-12 | 任務的分配方法、裝置及設備 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN108681484B (zh) |
TW (1) | TWI701597B (zh) |
WO (1) | WO2019192263A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681484B (zh) * | 2018-04-04 | 2020-08-18 | 阿里巴巴集团控股有限公司 | 一种任务的分配方法、装置及设备 |
CN111182011B (zh) * | 2018-11-09 | 2022-06-10 | 中移(杭州)信息技术有限公司 | 一种服务集分配方法及装置 |
CN110795255B (zh) * | 2019-10-16 | 2022-07-08 | 金蝶软件(中国)有限公司 | 数据批量值调整方法、装置、可读存储介质和设备 |
CN110764892A (zh) * | 2019-10-22 | 2020-02-07 | 北京字节跳动网络技术有限公司 | 任务处理方法、设备及计算机可读存储介质 |
CN110990136B (zh) * | 2019-11-29 | 2024-04-09 | 北京奇艺世纪科技有限公司 | 一种任务处理方法和任务调度器 |
CN111367647B (zh) * | 2020-03-31 | 2024-06-11 | 绿盟科技集团股份有限公司 | 一种任务指派方法及装置 |
CN112286672B (zh) * | 2020-12-30 | 2021-05-07 | 南京智闪萤科技有限公司 | 用于调度任务的方法、计算设备和计算机存储介质 |
CN115080193A (zh) * | 2021-03-12 | 2022-09-20 | 天翼云科技有限公司 | 分布式环境下的任务处理方法、装置、电子设备和介质 |
CN113112139A (zh) * | 2021-04-07 | 2021-07-13 | 上海联蔚盘云科技有限公司 | 云平台账单的处理方法和设备 |
CN113242301B (zh) * | 2021-05-11 | 2024-03-26 | 鸬鹚科技(深圳)有限公司 | 真实服务器的选定方法、装置、计算机设备及存储介质 |
CN113467915A (zh) * | 2021-07-13 | 2021-10-01 | 中科曙光国际信息产业有限公司 | 作业调度方法、装置、计算机设备及可读存储介质 |
CN115357257B (zh) * | 2022-10-21 | 2023-01-24 | 统信软件技术有限公司 | 一种安装文件生成方法、系统、计算设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1390848B1 (en) * | 2001-05-14 | 2005-11-02 | Telefonaktiebolaget LM Ericsson (publ) | Task supervision |
US7296269B2 (en) * | 2003-04-22 | 2007-11-13 | Lucent Technologies Inc. | Balancing loads among computing nodes where no task distributor servers all nodes and at least one node is served by two or more task distributors |
US9537973B2 (en) * | 2012-11-01 | 2017-01-03 | Microsoft Technology Licensing, Llc | CDN load balancing in the cloud |
CN103024081B (zh) * | 2013-01-04 | 2016-01-20 | 福建星网锐捷通讯股份有限公司 | 适用于有时效保证通讯系统的点对点通讯的终端调度方法 |
JP2014182653A (ja) * | 2013-03-19 | 2014-09-29 | Canon Inc | ログ管理システム、ログ管理方法、画像形成装置およびその制御方法、並びにプログラム |
CN103281367B (zh) * | 2013-05-22 | 2016-03-02 | 北京蓝汛通信技术有限责任公司 | 一种负载均衡方法及装置 |
CN103401947A (zh) * | 2013-08-20 | 2013-11-20 | 曙光信息产业(北京)有限公司 | 多个服务器的任务分配方法和装置 |
CN105471985A (zh) * | 2015-11-23 | 2016-04-06 | 北京农业信息技术研究中心 | 负载均衡方法及云平台计算方法、云平台 |
CN106412124B (zh) * | 2016-12-01 | 2019-10-29 | 广州高能计算机科技有限公司 | 一种并序化云服务平台任务分配系统及任务分配方法 |
CN106657399B (zh) * | 2017-02-20 | 2020-08-18 | 北京奇虎科技有限公司 | 基于中间件实现的后台服务器选择方法及装置 |
CN107819626A (zh) * | 2017-11-15 | 2018-03-20 | 广州天源信息科技股份有限公司 | 基于日志监控分析实现负载均衡器调整分发的方法及系统 |
CN108681484B (zh) * | 2018-04-04 | 2020-08-18 | 阿里巴巴集团控股有限公司 | 一种任务的分配方法、装置及设备 |
-
2018
- 2018-04-04 CN CN201810298743.XA patent/CN108681484B/zh active Active
-
2019
- 2019-01-30 WO PCT/CN2019/073963 patent/WO2019192263A1/zh active Application Filing
- 2019-02-12 TW TW108104575A patent/TWI701597B/zh active
Also Published As
Publication number | Publication date |
---|---|
WO2019192263A1 (zh) | 2019-10-10 |
CN108681484A (zh) | 2018-10-19 |
CN108681484B (zh) | 2020-08-18 |
TWI701597B (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201942739A (zh) | 任務的分配方法、裝置及設備 | |
JP7060724B2 (ja) | タスクスケジューリング方法、リソース共有使用方法、スケジューラ、コンピュータ可読記憶媒体および装置 | |
TWI694339B (zh) | 一種區塊鏈共識方法、設備及系統 | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
US20210173573A1 (en) | Method for assuring quality of service in distributed storage system, control node, and system | |
TW201909596A (zh) | 基於區塊鏈的資料處理方法及設備 | |
CN109739627B (zh) | 任务的调度方法、电子设备及介质 | |
WO2015101091A1 (zh) | 一种分布式资源调度方法及装置 | |
Qian et al. | A configurable rule based classful token bucket filter network request scheduler for the lustre file system | |
WO2024016596A1 (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
JP2018527668A (ja) | データトラフィックを制限するための方法及びシステム | |
CN110018781B (zh) | 磁盘流控方法、装置以及电子设备 | |
KR20110080735A (ko) | 컴퓨팅 시스템 및 방법 | |
WO2020224531A1 (zh) | 存储系统中令牌的分配方法和装置 | |
CN117971499B (zh) | 资源配置方法、装置、电子设备和存储介质 | |
KR101656706B1 (ko) | 고성능 컴퓨팅 환경에서의 작업 분배 시스템 및 방법 | |
CN113168344A (zh) | 通过提高集群多样性实现的分布式资源管理 | |
CN111930516A (zh) | 一种负载均衡方法及相关装置 | |
WO2024148864A1 (zh) | 虚拟机内存的调整方法和装置、非易失性可读存储介质及电子装置 | |
US20130014119A1 (en) | Resource Allocation Prioritization Based on Knowledge of User Intent and Process Independence | |
Zhang et al. | PRMRAP: A proactive virtual resource management framework in cloud | |
Runsewe et al. | CRAM: a container resource allocation mechanism for big data streaming applications | |
CN112667356B (zh) | 时延可预测的NVMe存储虚拟化方法和系统 | |
CN115766582A (zh) | 流量控制方法、装置和系统、介质和计算机设备 | |
EP3828707A1 (fr) | Procédé d'affectation de ressources en réponse à des requêtes en fonction de leur priorité, programme d'ordinateur, bloc de contrôle d'affectation et système informatique associés |