亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

關(guān)聯(lián)查詢系統(tǒng)的建立方法及建立系統(tǒng)與流程

文檔序號:12364417閱讀:568來源:國知局
關(guān)聯(lián)查詢系統(tǒng)的建立方法及建立系統(tǒng)與流程

本發(fā)明涉及一種關(guān)聯(lián)查詢系統(tǒng)的建立方法及建立系統(tǒng)。



背景技術(shù):

現(xiàn)有的使用SQL(結(jié)構(gòu)化查詢語言)存儲用戶數(shù)據(jù)的方式是將用戶的數(shù)據(jù)按照一筆訂單作為一筆記錄存放在數(shù)據(jù)庫,當需要查詢關(guān)聯(lián)情況時,需要根據(jù)給定的值從數(shù)據(jù)庫中檢索出這條記錄,然后再根據(jù)查詢的訂單號從訂單表中查詢訂單明細?,F(xiàn)有的這種做法對于大規(guī)模的數(shù)據(jù)來說查詢是很慢的,最好的情況每次查詢也需要至少30秒,對于使用者來說無疑是低效和難以接受的。



技術(shù)實現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中訂單數(shù)據(jù)查詢方式對大規(guī)模數(shù)據(jù)來說查詢速度很慢,查詢效率很低的缺陷,提供一種關(guān)聯(lián)查詢系統(tǒng)的建立方法及建立系統(tǒng)。

本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:

本發(fā)明提供了一種關(guān)聯(lián)查詢系統(tǒng)的建立方法,其特點在于,所述關(guān)聯(lián)查詢系統(tǒng)包括訂單數(shù)據(jù)存儲表以及維度字段關(guān)聯(lián)數(shù)據(jù)存儲表;所述建立方法包括以下步驟:

S1、獲取用戶訂單數(shù)據(jù);

S2、將訂單號和訂單數(shù)據(jù)前綴(即orderdata前綴)構(gòu)建為訂單數(shù)據(jù)存儲表的一條記錄的鍵;

S3、將所述訂單數(shù)據(jù)的字段名稱構(gòu)建為步驟S2中所述記錄的列名,并將字段對應的值作為列值;

S4、將步驟S2和步驟S3中構(gòu)建的數(shù)據(jù)寫入所述訂單數(shù)據(jù)存儲表;

S5、從所述訂單數(shù)據(jù)中提取進行維度查詢的維度字段的名稱和值;

S6、將維度字段和維度字段的值以及訂單數(shù)據(jù)后綴構(gòu)建為維度字段關(guān)聯(lián)數(shù)據(jù)存儲表的一條記錄的鍵;

S7、將步驟S2中所述訂單數(shù)據(jù)存儲表的鍵構(gòu)建為步驟S6中所述記錄的列名,并將當前系統(tǒng)時間戳作為列值;

S8、將步驟S6和步驟S7中構(gòu)建的數(shù)據(jù)寫入所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表。

較佳地,步驟S1中還將訂單數(shù)據(jù)格式化為json(一種輕量級的數(shù)據(jù)交換格式)格式。

較佳地,步驟S1和S2之間還包括:

S11、檢查訂單數(shù)據(jù)是否完整,若是,則執(zhí)行步驟S2,若否,則結(jié)束流程。

較佳地,所述訂單數(shù)據(jù)存儲表及所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表均為hbase(一個分布式的、面向列的開源數(shù)據(jù)庫)表。

較佳地,步驟S5中從所述訂單數(shù)據(jù)中提取多個維度字段。

本發(fā)明的目的在于還提供了一種關(guān)聯(lián)查詢系統(tǒng)的建立系統(tǒng),其特點在于,所述關(guān)聯(lián)查詢系統(tǒng)包括訂單數(shù)據(jù)存儲表以及維度字段關(guān)聯(lián)數(shù)據(jù)存儲表;所述建立系統(tǒng)包括:

獲取模塊,用于獲取用戶訂單數(shù)據(jù);

第一構(gòu)建模塊,用于將訂單號和訂單數(shù)據(jù)前綴構(gòu)建為訂單數(shù)據(jù)存儲表的一條記錄的鍵;

第二構(gòu)建模塊,用于將所述訂單數(shù)據(jù)的字段名稱構(gòu)建為所述訂單數(shù)據(jù)存儲表的所述記錄的列名,并將字段對應的值作為列值;

第一數(shù)據(jù)寫入模塊,用于將所述第一構(gòu)建模塊和所述第二構(gòu)建模塊構(gòu)建的數(shù)據(jù)寫入所述訂單數(shù)據(jù)存儲表;

數(shù)據(jù)提取模塊,用于從所述訂單數(shù)據(jù)中提取進行維度查詢的維度字段的名稱和值;

第三構(gòu)建模塊,用于將維度字段和維度字段的值以及訂單數(shù)據(jù)后綴構(gòu)建為維度字段關(guān)聯(lián)數(shù)據(jù)存儲表的一條記錄的鍵;

第四構(gòu)建模塊,用于將所述訂單數(shù)據(jù)存儲表的鍵構(gòu)建為所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表的所述記錄的列名,并將當前系統(tǒng)時間戳作為列值;

第二數(shù)據(jù)寫入模塊,用于將所述第三構(gòu)建模塊和所述第四構(gòu)建模塊構(gòu)建的數(shù)據(jù)寫入所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表。

較佳地,所述獲取模塊還用于將訂單數(shù)據(jù)格式化為json格式。

較佳地,所述建立系統(tǒng)還包括:

檢查模塊:用于檢查訂單數(shù)據(jù)是否完整,若是,則調(diào)用所述第一構(gòu)建模塊,若否,則不做操作。

較佳地,所述訂單數(shù)據(jù)存儲表及所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表均為hbase表。

較佳地,所述數(shù)據(jù)提取模塊用于從所述訂單數(shù)據(jù)中提取多個維度字段。

本發(fā)明的積極進步效果在于:通過本發(fā)明建立的關(guān)聯(lián)查詢系統(tǒng)能夠?qū)崿F(xiàn)基于訂單數(shù)據(jù)的多個維度字段進行數(shù)據(jù)查詢,減少了數(shù)據(jù)表中單一維度的記錄數(shù),充分利用hbase表的寬列優(yōu)勢和大規(guī)模數(shù)據(jù)存儲優(yōu)勢,合理地設(shè)置了查詢鍵,從而提升了查詢速度,提高了查詢效率,為使用者提供了更高效的服務。

附圖說明

圖1為本發(fā)明的較佳實施例的關(guān)聯(lián)查詢系統(tǒng)的建立系統(tǒng)的模塊示意圖。

圖2為本發(fā)明的較佳實施例的關(guān)聯(lián)查詢系統(tǒng)的建立方法的流程圖。

具體實施方式

下面通過實施例的方式進一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實施例范圍之中。

如圖1所示,本發(fā)明的關(guān)聯(lián)查詢系統(tǒng)的建立系統(tǒng)包括獲取模塊1、第一構(gòu)建模塊2、第二構(gòu)建模塊3、第一數(shù)據(jù)寫入模塊4、數(shù)據(jù)提取模塊5、第三構(gòu)建模塊6、第四構(gòu)建模塊7、第二數(shù)據(jù)寫入模塊8以及檢查模塊9。

其中,關(guān)聯(lián)查詢系統(tǒng)包括訂單數(shù)據(jù)存儲表以及維度字段關(guān)聯(lián)數(shù)據(jù)存儲表,并且均為hbase表;所述獲取模塊1用于獲取用戶訂單數(shù)據(jù),具體可接收外部傳進來的用戶訂單數(shù)據(jù),并將用戶訂單數(shù)據(jù)格式化為json格式;

所述檢查模塊9會檢查訂單數(shù)據(jù)是否完整,若是,則調(diào)用所述第一構(gòu)建模塊2,若否,則表明訂單數(shù)據(jù)缺少必需的訂單號數(shù)據(jù)或者缺少需要關(guān)聯(lián)的維度字段數(shù)據(jù),此時不做任何操作;

所述第一構(gòu)建模塊2會將訂單號和訂單數(shù)據(jù)前綴構(gòu)建為訂單數(shù)據(jù)存儲表中的一條記錄的鍵,所述第二構(gòu)建模塊3則將訂單數(shù)據(jù)的字段名稱構(gòu)建為所述訂單數(shù)據(jù)存儲表的所述記錄的列名,并將字段對應的值作為列值;所述第一數(shù)據(jù)寫入模塊4則將所述第一構(gòu)建模塊1和所述第二構(gòu)建模塊2構(gòu)建的數(shù)據(jù)寫入所述訂單數(shù)據(jù)存儲表,則完成對所述訂單數(shù)據(jù)存儲表的建立;

所述數(shù)據(jù)提取模塊5則從所述訂單數(shù)據(jù)中提取需要進行維度查詢的多個維度字段的名稱和對應的值,所述第三構(gòu)建模塊6會將維度字段和維度字段的值以及訂單數(shù)據(jù)后綴構(gòu)建為維度字段關(guān)聯(lián)數(shù)據(jù)存儲表的一條記錄的鍵,所述第四構(gòu)建模塊7會將所述訂單數(shù)據(jù)存儲表的鍵構(gòu)建為所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表的所述記錄的列名,并將當前系統(tǒng)時間戳作為列值,所述第二數(shù)據(jù)寫入模塊8則將所述第三構(gòu)建模塊6和所述第四構(gòu)建模塊7構(gòu)建的數(shù)據(jù)寫入所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表,從而完成對所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表的建立,進而完成對整個關(guān)聯(lián)查詢系統(tǒng)的建立。

本發(fā)明中,通過將訂單號和訂單數(shù)據(jù)后綴(即orderdata后綴)作為訂單數(shù)據(jù)存儲表和維度字段關(guān)聯(lián)數(shù)據(jù)存儲表的關(guān)聯(lián)項,當查詢某一個維度字段的值時就能得到對應的訂單號,然后從訂單數(shù)據(jù)存儲表中查詢具體的用戶訂單明細數(shù)據(jù)。

如圖2所示,本發(fā)明的關(guān)聯(lián)查詢系統(tǒng)的建立方法包括以下步驟:

步驟101、獲取用戶訂單數(shù)據(jù),將訂單數(shù)據(jù)格式化為json格式;

步驟102、檢查訂單數(shù)據(jù)是否完整,若是,則執(zhí)行步驟103,若否,則結(jié)束流程;

步驟103、將訂單號和訂單數(shù)據(jù)前綴構(gòu)建為訂單數(shù)據(jù)存儲表的一條記錄的鍵;

步驟104、將所述訂單數(shù)據(jù)的字段名稱構(gòu)建為步驟103中所述記錄的列名,并將字段對應的值作為列值;

步驟105、將步驟103和步驟104中構(gòu)建的數(shù)據(jù)寫入所述訂單數(shù)據(jù)存儲表;

步驟106、從所述訂單數(shù)據(jù)中提取進行維度查詢的維度字段的名稱和值;

步驟107、將維度字段和維度字段的值以及訂單數(shù)據(jù)后綴構(gòu)建為維度字段關(guān)聯(lián)數(shù)據(jù)存儲表的一條記錄的鍵;

步驟108、將步驟103中所述訂單數(shù)據(jù)存儲表的鍵構(gòu)建為步驟107中所述記錄的列名,并將當前系統(tǒng)時間戳作為列值;

步驟109、將步驟107和步驟108中構(gòu)建的數(shù)據(jù)寫入所述維度字段關(guān)聯(lián)數(shù)據(jù)存儲表。

雖然以上描述了本發(fā)明的具體實施方式,但是本領(lǐng)域的技術(shù)人員應當理解,這些僅是舉例說明,本發(fā)明的保護范圍是由所附權(quán)利要求書限定的。本領(lǐng)域的技術(shù)人員在不背離本發(fā)明的原理和實質(zhì)的前提下,可以對這些實施方式做出多種變更或修改,但這些變更和修改均落入本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1