[發(fā)明專利]基于列式存儲的流水排序方法在審
| 申請?zhí)枺?/td> | 202210930836.6 | 申請日: | 2022-08-04 |
| 公開(公告)號: | CN115309837A | 公開(公告)日: | 2022-11-08 |
| 發(fā)明(設(shè)計)人: | 李曉鵬;賈宗秀;劉堯;姬濤濤;蔣旭;張昕堯;趙冬偉;朱亞楠;吳嵩;周勇亮;劉勇生;桑國彪;樂承予 | 申請(專利權(quán))人: | 天津神舟通用數(shù)據(jù)技術(shù)有限公司 |
| 主分類號: | G06F16/28 | 分類號: | G06F16/28;G06F16/2457;G06Q30/02 |
| 代理公司: | 天津盛理知識產(chǎn)權(quán)代理有限公司 12209 | 代理人: | 王利文 |
| 地址: | 300384 天津市濱海*** | 國省代碼: | 天津;12 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 存儲 流水 排序 方法 | ||
1.一種基于列式存儲的流水排序方法,其特征在于:包括異步IO線程、流水化線程和排序線程,并按照以下步驟實現(xiàn):
步驟1、排序線程申請兩個固定大小的第一排序緩沖塊和第二排序緩沖塊;
步驟2、異步IO線程依次讀取列式存儲中的所有CU的元信息,并記錄每個CU的最小值和最大值;
步驟3、流水化線程按照CU的最小值對所有CU進(jìn)行排序,構(gòu)造CU序列和邊界序列;
步驟4、流水化線程檢測CU序列是否已空,如果CU序列已空,則跳轉(zhuǎn)至步驟11,否則,獲取一個CU序號并喚醒異步IO線程;
步驟5、流水化線程獲取該CU序號所對應(yīng)的邊界作為比較基值,如果該CU序號是CU序列的最后一個CU,則使用該CU的最大值做為比較基值;
步驟6、流水化線程從壓縮單元CU讀取CU的數(shù)據(jù),進(jìn)行解壓;
步驟7、流水化線程將CU的最大值與比較基值進(jìn)行判斷,如果CU的最大值小于比較基值,則將數(shù)據(jù)寫入第一排序緩沖塊,跳轉(zhuǎn)至步驟9,否則進(jìn)入步驟8;
步驟8、流水化線程遍歷CU序列的CU記錄,并同比較基值進(jìn)行比較,如果小于比較基值則寫入第一排序緩沖塊,否則寫入第二排序緩沖塊;
步驟9、流水化線程處理CU的所有記錄,如果存在相同邊界值的其他CU,跳轉(zhuǎn)至步驟4,否則,將第一排序緩沖塊放入待排序隊列,喚醒排序線程;
步驟10、流水化線程將第二排序緩沖塊重命名為第一排序緩沖塊,并重新申請第二排序緩沖塊,跳轉(zhuǎn)至步驟4;
步驟11、如果第一排序緩沖塊非空,將第一排序緩沖塊放入待排序隊列,等待排序線程處理;
步驟12、排序線程依次執(zhí)行排序任務(wù),直至流水排序結(jié)束。
2.根據(jù)權(quán)利要求1所述的基于列式存儲的流水排序方法,其特征在于:所述步驟3的具體實現(xiàn)方法包括以下步驟:
⑴將所有CU按照最小值進(jìn)行排序;
⑵將最小值相同的CU進(jìn)行合并,構(gòu)造出CU序列;
⑶根據(jù)CU序列的最小值,確定CU邊界值;
⑷根據(jù)CU邊界值并使用結(jié)合律,構(gòu)造出邊界序列,該邊界序列為一系列不相交的子集合。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于天津神舟通用數(shù)據(jù)技術(shù)有限公司,未經(jīng)天津神舟通用數(shù)據(jù)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210930836.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





