[發明專利]一種自動化配置數據倉庫并行任務隊列的方法和裝置在審
| 申請號: | 201710397740.7 | 申請日: | 2017-05-31 |
| 公開(公告)號: | CN107315627A | 公開(公告)日: | 2017-11-03 |
| 發明(設計)人: | 李建星 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/50 |
| 代理公司: | 中原信達知識產權代理有限責任公司11219 | 代理人: | 張一軍,姜勁 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 自動化 配置 數據倉庫 并行 任務 隊列 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,尤其涉及一種自動化配置數據倉庫并行任務隊列的方法和裝置、電子設備和計算機可讀介質。
背景技術
目前,企業在建立公司內部的數據倉庫系統后,不同部門的用戶獲取需要的數據時,會在數據倉庫上開發相應的數據任務,每一個任務包括若干業務數據處理邏輯,通過在數據倉庫上的執行,最終得到需要的數據結果。
由于使用數據倉庫獲取數據的人數眾多,而系統資源有限,為確保每個用戶的正常使用,因此給予分配用戶一定的任務并發數控制。例如分配給一個用戶可以并發執行3個任務,即分配給該用戶3個獨享的任務進程資源,這樣該用戶執行自己任務時不被其他用戶因搶占資源而無法執行。當用戶任務全部執行完成后,釋放資源,可以供其他用戶使用。這種處理方式,既能保證所有用戶的任務可執行,也保證資源的靈活配置。
但是在給一個用戶分配任務進程資源后,當用戶輸入需要執行的一些任務后,這些任務的執行順序是隨機的,這里隨機執行產生的原因有可能是用戶手動操作執行任務的順序,也可能用戶設置任務自動執行,但服務器端啟動任務是隨機的。現有技術方法的缺點是用戶執行的N個任務輸入后,是隨機的分配給任務資源進程中處理,并沒有考慮每個任務的不同的執行情況,例如對資源的占用情況等,沒有考慮對用戶的所有任務進行合理的計劃,以及用戶任務與對其分配的資源進程隊列之間的匹配,所以會造成用戶占用系統資源較長、資源使用率較低,當數據倉庫上使用人數眾多時,導致整體資源浪費較多。
發明內容
有鑒于此,本發明實施例提供一種自動化配置數據倉庫并行任務隊列的方法和裝置,能夠通過計算用戶的任務資源占用時長和分配隊列總資源占用的情況,將任務分配到任務隊列中。
為實現上述目的,根據本發明實施例的一個方面,提供了一種自動化配置數據倉庫并行任務隊列的方法。
本發明實施例公開的自動化配置數據倉庫并行任務隊列的方法,包括:采集用戶的任務在數據倉庫中運行的歷史數據;對所述歷史數據進行處理,統計出任務的資源占用時長;根據所述資源占用時長對所述任務進行排序;根據排序的結果以及用戶的資源進程數,將任務分配到任務隊列中。
可選地,根據排序的結果以及用戶的資源進程數,將任務分配到任務隊列中包括:按照任務的資源占用時長從大到小的順序,依次將任務分配到總時長最小的任務隊列中,并且將任務的資源占用時長疊加到接收所述任務的任務隊列的總時長中。
可選地,還包括:判斷用戶的任務個數是否小于或等于用戶的資源進程數;若是,則將任務一對一且隨機地分配到任務隊列中;否則,按照任務的資源占用時長從大到小的順序,依次將任務分配到總時長最小的任務隊列中,并且將任務的資源占用時長疊加到接收所述任務的任務隊列的總時長中。
可選地,根據所述資源占用時長將用戶的任務按照從大到小或從小到大的順序進行排序;并且,獲取用戶的資源進程號。
可選地,還包括:根據任務的類型設置采集歷史數據的時間段,并將采集到的所述歷史數據存儲在數據表中,所述歷史數據包括:運行的日期、用戶名、任務編號、任務名稱和任務開始時間、任務結束時間。
可選地,所述對所述歷史數據進行處理,統計出任務的資源占用時長包括:根據采集的歷史數據,計算出每一個任務的平均資源占用時長。
為實現上述目的,根據本發明實施例的另一方面,提供了一種自動化配置數據倉庫并行任務隊列的裝置。
本發明實施例公開的自動化配置數據倉庫并行任務隊列的裝置,包括:采集模塊,用于采集用戶的任務在數據倉庫中運行的歷史數據;處理模塊,用于對所述歷史數據進行處理,統計出任務的資源占用時長;排序模塊,用于根據所述資源占用時長對所述任務進行排序;分配模塊,用于根據排序的結果以及用戶的資源進程數,將任務分配到任務隊列中。
可選地,所述分配模塊用于按照任務的資源占用時長從大到小的順序,依次將任務分配到總時長最小的任務隊列中,并且將任務的資源占用時長疊加到接收所述任務的任務隊列的總時長中。
可選地,還包括判斷模塊,用于判斷用戶的任務個數是否小于或等于用戶的資源進程數;若是,則所述分配模塊將任務一對一且隨機地分配到任務隊列中;否則,分配模塊按照任務的資源占用時長從大到小的順序,依次將任務分配到總時長最小的任務隊列中,并且將任務的資源占用時長疊加到接收所述任務的任務隊列的總時長中。
可選地,所述排序模塊根據所述資源占用時長將用戶的任務按照從大到小或從小到大的順序進行排序;以及,獲取用戶的資源進程號。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710397740.7/2.html,轉載請聲明來源鉆瓜專利網。





