[發明專利]一種海量數據管理中動態一致性控制方法有效
| 申請號: | 201110371947.X | 申請日: | 2011-11-21 |
| 公開(公告)號: | CN102521265A | 公開(公告)日: | 2012-06-27 |
| 發明(設計)人: | 金海;謝夏;岑文峰;柯西江 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 曹葆青 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 海量 數據管理 動態 一致性 控制 方法 | ||
1.一種海量數據管理中動態一致性控制方法,其特征在于,該方法包括以下步驟:
(1)主線程對環境做初始化工作,包括以下五個步驟:
(1.1)創建三個空置隊列,按照創建的先后順序,分別命名為高優先級隊列,表示為HQ;中優先級隊列,表示為MQ;低優先級隊列,表示為LQ;
(1.2)創建三個變量NS、VS、PS,分別用來保存所有的任務隊列中所有的任務的數據條目偏差總和,數值偏差總和以及新舊程度偏差總和,并將初始值均設為0;
(1.3)創建三個計數器NC、VC、PC,分別用來保存當前所有的任務隊列中關于數據條目偏差的任務總數,數值偏差的任務總數以及新舊程度偏差的任務總數,并將初始值均設為0;
(1.4)創建并啟動一個子線程T1,用于逐個處理三個任務隊列中的任務;
(1.5)創建并啟動兩個子線程T2和T3,用于定期調度三個任務隊列中的任務,避免因較高優先級任務隊列中的任務長時間擁堵,導致較低優先級隊列中的任務沒有機會處理的情況發生;
(2)服務節點開始監聽來自客戶端發來的讀寫請求;
(3)當服務節點接收到一個來自客戶端發來的數據讀寫請求任務后,首先讀取該請求任務的操作類型;
(4)讀取該請求任務的偏差類型,并讀取該請求任務的偏差值,并將讀取結果與當前的閾值比較后放到相應的隊列尾部;
(5)回退到步驟(2),繼續監聽來自客戶端發來的請求。
2.根據權利要求1所述的海量數據管理中動態一致性控制方法,其特征在于,子線程T1的處理流程如下:
(A1)判斷HQ是否為空,若不為空,則從該隊列頭部獲取一個請求任務,并跳轉到步驟(A4);否則轉到步驟(A2);
(A2)判斷MQ是否為空,若不為空,則從該隊列頭部獲取一個請求任務,并跳轉到步驟(A4);否則轉到步驟(A3);
(A3)判斷LQ是否為空,若不為空,則從該隊列頭部獲取一個請求任務,并跳轉到步驟(A4);否則跳回到步驟(A1);
(A4)讀取該請求任務的數據操作類型;
(A5)讀取該請求任務的偏差類型,并讀取該請求任務的偏差值;
(A6)將請求交給相應的操作類型函數進行處理;并將處理結果返回給客戶端;
(A7)回退到步驟(A1),繼續處理隊列中的任務。
3.根據權利要求2所述的海量數據管理中動態一致性控制方法,其特征在于,
步驟(A5)中,對于偏差類型為數據條目偏差的情況,將數據條目偏差計數器NC自減1,數據條目偏差累加器NS與該任務的偏差值之差作為新的NS的值;對于偏差類型為數值偏差的情況,將數值偏差計數器VC自減1,數值偏差累加器VS與該任務的偏差值之差作為新的VS的值;對于偏差類型為新舊程度偏差的情況,將新舊程度偏差計數器PC自減1,新舊程度偏差累加器PS與該任務的偏差值之差作為新的PS值。
4.根據權利要求1、2或3所述的海量數據管理中動態一致性控制方法,其特征在于,子線程T2的處理步驟為:
(B1)每隔一個預先設定的計時周期,檢查HQ隊列是否為空,如果為空,則說明HQ中沒有阻塞的任務,并跳轉到步驟(B5);否則轉到步驟(B2);
(B2)檢查MQ隊列是否為空,如果為空,則跳轉到步驟(B5);否則,創建一個計數器C1,并初始化為0,然后轉到步驟(B3);
(B3)從MQ的頭部獲取一個任務,并交給主線程處理該任務,并將C1自增1;
(B4)如果C1小于一次調度過程中處理任務的最大數目、并且MQ不為空,則返回到步驟(B3),否則進入步驟(B5);
(B5)當前的任務結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110371947.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種盾構機內的采石箱
- 下一篇:一種掘進機機構





