[發明專利]基于時間片調度的同步任務處理方法及裝置有效
| 申請號: | 201711478190.8 | 申請日: | 2017-12-29 |
| 公開(公告)號: | CN108108463B | 公開(公告)日: | 2021-08-24 |
| 發明(設計)人: | 王康 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/22;G06F9/50;G06F9/48 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所 44287 | 代理人: | 胡海國 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 時間 調度 同步 任務 處理 方法 裝置 | ||
1.一種基于時間片調度的同步任務處理方法,包括:
根據至少一個從節點發送的同步請求,生成同步任務;
將所述同步任務置入任務隊列中;
由線程池中的任一空閑線程從所述任務隊列中獲取并執行同步任務;
判斷同步任務的執行時間是否已到達預設時間片規定的時間,若是,將所述同步任務重置入所述任務隊列中;
其中,在所述生成同步任務之后,所述方法還包括:
根據同步任務攜帶的任務描述信息,生成任務鍵值;
查詢任務信息表中是否已存儲包含所述任務鍵值的任務信息;
若所述任務信息表中未存儲有包含所述任務鍵值的任務信息,則在所述將同步任務置入任務隊列中之后,將包含任務鍵值以及與任務鍵值對應的同步任務在任務隊列中的隊列位置的任務信息存儲在任務信息表中;
若所述任務信息表中已存儲有包含所述任務鍵值的任務信息,則在所述將同步任務置入任務隊列中之后,所述方法還包括:更新所述任務信息表中所述任務鍵值對應的同步任務在任務隊列中的隊列位置。
2.根據權利要求1所述的方法,其中,所述由線程池中的任一空閑線程從所述任務隊列中獲取并執行同步任務進一步包括:
所述空閑線程根據指針指向的隊列位置獲取同步任務,根據所述同步任務攜帶的任務描述信息執行同步任務。
3.根據權利要求2所述的方法,其中,所述任務描述信息包括:表名稱、數據分片標識、從節點標識以及同步偏移量;
在執行同步任務過程中,所述方法還包括:根據同步任務的執行情況動態刷新所述同步偏移量。
4.根據權利要求1所述的方法,其中,在所述由線程池中的任一空閑線程從所述任務隊列中獲取并執行同步任務之后,所述方法還包括:
將所述任務信息表中已被執行的同步任務的任務鍵值對應的隊列位置更新為指定值。
5.根據權利要求4所述的方法,其中,在所述將同步任務重置入所述任務隊列中之前,所述方法還包括:在所述任務信息表中查詢同步任務的任務鍵值對應的是否為所述指定值;
若是,則在將同步任務重置入所述任務隊列中之后,將所述同步任務的任務鍵值對應的指定值更新為重置后的隊列位置;
若否,則根據任務標識確定是否丟棄所述同步任務。
6.根據權利要求5所述的方法,其中,所述根據任務標識確定是否丟棄所述同步任務具體為:比較所述任務信息表中同步任務的任務標識與待重置入任務隊列的同步任務的任務標識,若比較結果表明所述任務信息表中同步任務為較晚生成的同步任務,則丟棄所述待重置入任務隊列的同步任務。
7.根據權利要求4-6中任一項所述的方法,其中,在同步任務的執行時間已到達預設時間片規定的時間后,所述方法還包括:
獲取所述同步任務當前的快照信息,將所述快照信息與所述同步任務對應的任務鍵值關聯存儲至所述任務信息表中。
8.根據權利要求7所述的方法,其中,所述方法還包括:
接收對同步任務的同步狀態查詢請求;
根據所述任務信息表中與所述同步任務對應的任務鍵值關聯存儲的快照信息獲取查詢結果。
9.根據權利要求8所述的方法,其中,所述將所述同步任務置入任務隊列中進一步包括:
確定所述同步任務的優先級;
將所述同步任務置入與所述同步任務的優先級相對應的任務隊列中。
10.根據權利要求9所述的方法,其中,所述由線程池中的任一空閑線程從所述任務隊列中獲取并執行同步任務進一步包括:
由線程池中的任一空閑線程根據任務隊列的優先級信息從所述任務隊列中獲取并執行同步任務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711478190.8/1.html,轉載請聲明來源鉆瓜專利網。





