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

用于數(shù)據(jù)存儲(chǔ)、查詢的方法及系統(tǒng)與流程

文檔序號(hào):12733891閱讀:604來(lái)源:國(guó)知局
用于數(shù)據(jù)存儲(chǔ)、查詢的方法及系統(tǒng)與流程

本發(fā)明涉及企業(yè)海量歷史數(shù)據(jù)查詢業(yè)務(wù),具體地,涉及一種用于數(shù)據(jù)存儲(chǔ)、查詢的方法及系統(tǒng)。



背景技術(shù):

企業(yè)海量歷史數(shù)據(jù)包括企業(yè)各個(gè)業(yè)務(wù)系統(tǒng)產(chǎn)生的歷史業(yè)務(wù)基礎(chǔ)數(shù)據(jù)和歷史業(yè)務(wù)明細(xì)數(shù)據(jù)等,通常從各種關(guān)系型數(shù)據(jù)庫(kù)中抽取出來(lái)形成。

大中型企業(yè)的業(yè)務(wù)繁多,由多個(gè)業(yè)務(wù)系統(tǒng)所支撐。每個(gè)業(yè)務(wù)系統(tǒng)有獨(dú)立的應(yīng)用程序,業(yè)務(wù)過(guò)程中產(chǎn)生的數(shù)據(jù)都存放在應(yīng)用的關(guān)系數(shù)據(jù)庫(kù)中。

企業(yè)的業(yè)務(wù)過(guò)程產(chǎn)生的數(shù)據(jù)通??煞譃闃I(yè)務(wù)基礎(chǔ)數(shù)據(jù)和業(yè)務(wù)明細(xì)數(shù)據(jù)。

業(yè)務(wù)基礎(chǔ)數(shù)據(jù)記錄了業(yè)務(wù)對(duì)象的基本信息。在金融行業(yè),通常是客戶信息數(shù)據(jù)、賬戶信息數(shù)據(jù)等等;在制造行業(yè),通常是原料信息數(shù)據(jù)、產(chǎn)品信息數(shù)據(jù)等等。

業(yè)務(wù)明細(xì)數(shù)據(jù)記錄了業(yè)務(wù)對(duì)象在業(yè)務(wù)過(guò)程中變遷歷史。在金融行業(yè),通常是賬戶交易明細(xì)、用戶操作明細(xì)等等;在制造行業(yè),通常是制作流轉(zhuǎn)明細(xì)、產(chǎn)品生產(chǎn)明細(xì)等等。

隨著企業(yè)業(yè)務(wù)的發(fā)展,企業(yè)歷史數(shù)據(jù)的查詢顯得愈加必要與重要,這些歷史數(shù)據(jù)查詢通常都是針對(duì)歷史明細(xì)數(shù)據(jù)的查詢,但也可能需要?dú)v史基礎(chǔ)數(shù)據(jù)的組合。一方面,為了提供更加友好的客戶體驗(yàn),有必要將每個(gè)用戶涉及的歷史數(shù)據(jù)都提供實(shí)時(shí)查詢服務(wù)。歷史明細(xì)查詢需要面對(duì)眾多的歷史數(shù)據(jù)表,由于人力資源或預(yù)算的原因,應(yīng)用系統(tǒng)無(wú)法為每個(gè)歷史明細(xì)都開(kāi)發(fā)完整的查詢應(yīng)用,需要有獨(dú)立的系統(tǒng)來(lái)統(tǒng)一完成對(duì)歷史數(shù)據(jù)的高并發(fā)在線查詢工作;另一方面,業(yè)務(wù)基礎(chǔ)數(shù)據(jù)和業(yè)務(wù)明細(xì)數(shù)據(jù)會(huì)隨著業(yè)務(wù)的增長(zhǎng)和時(shí)間的推移而不斷膨脹,業(yè)務(wù)數(shù)據(jù)庫(kù)都是由傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)承擔(dān),由于傳統(tǒng)數(shù)據(jù)庫(kù)本身性能、容量的限制,既無(wú)法在容量上存儲(chǔ)如此海量的歷史數(shù)據(jù),也無(wú)法在性能上提供海量大規(guī)模數(shù)據(jù)的快速訪問(wèn),需要有突破傳輸關(guān)系數(shù)據(jù)庫(kù)的存儲(chǔ)、查詢平臺(tái)來(lái)提供海量歷史數(shù)據(jù)的存儲(chǔ)與查詢。

現(xiàn)有技術(shù)條件下,海量歷史數(shù)據(jù)的存儲(chǔ)和大規(guī)模復(fù)雜查詢是相悖的,更無(wú)法提供高并發(fā)在線級(jí)歷史數(shù)據(jù)查詢。由于歷史數(shù)據(jù)的體量巨大,往往只能解決海量歷史數(shù)據(jù)的歸檔存儲(chǔ),但查詢使用過(guò)程繁瑣,操作極為麻煩,效率低下;而高并發(fā)在線級(jí)數(shù)據(jù)查詢只適用于小規(guī)模數(shù)據(jù)服務(wù),對(duì)海量歷史數(shù)據(jù)卻無(wú)法滿足需求。

例如,一種現(xiàn)有技術(shù)為一種由通用關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)海量歷史數(shù)據(jù)并提供高并發(fā)在線查詢的方法。海量歷史數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢都采用通用數(shù)據(jù)庫(kù),業(yè)務(wù)邏輯在查詢過(guò)程中完成,并針對(duì)每個(gè)查詢業(yè)務(wù)提供固定的業(yè)務(wù)邏輯。所述方法包括:開(kāi)發(fā)人員根據(jù)查詢需求,轉(zhuǎn)換需求為數(shù)據(jù)組織邏輯;開(kāi)發(fā)人員用數(shù)據(jù)組織邏輯,將歷史數(shù)據(jù)組織為查詢數(shù)據(jù);開(kāi)發(fā)人員根據(jù)查詢需求,開(kāi)發(fā)符合需求邏輯的查詢服務(wù)程序,并進(jìn)行嚴(yán)格的驗(yàn)證、測(cè)試和部署工作。查詢請(qǐng)求組件按新開(kāi)發(fā)的查詢服務(wù)接口要求,查詢歷史數(shù)據(jù)。

由上述可知,該現(xiàn)有技術(shù)過(guò)程極為復(fù)雜,需要針對(duì)每個(gè)歷史查詢開(kāi)發(fā)一個(gè)查詢服務(wù),工作量巨大,查詢接口不一致,導(dǎo)致接口理解困難。該現(xiàn)有技術(shù)通常以關(guān)系數(shù)據(jù)庫(kù)作為查詢數(shù)據(jù)庫(kù),受關(guān)系數(shù)據(jù)庫(kù)本身的限制,在應(yīng)對(duì)海量歷史數(shù)據(jù)時(shí)存在擴(kuò)展困難、性能低下的問(wèn)題,無(wú)法以低成本方式提供極高并發(fā)的在線數(shù)據(jù)查詢。



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

鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明實(shí)施方式提供了一種用于數(shù)據(jù)存儲(chǔ)、查詢的方法及系統(tǒng)。

在對(duì)本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明之前,對(duì)相關(guān)的技術(shù)術(shù)語(yǔ)進(jìn)行簡(jiǎn)單解釋?zhuān)缦拢?/p>

源系統(tǒng):企業(yè)IT建設(shè)中,根據(jù)業(yè)務(wù)活動(dòng)產(chǎn)生數(shù)據(jù)并向其他系統(tǒng)提供數(shù)據(jù)內(nèi)容的系統(tǒng)。

Hadoop:一種分布式文件保存和計(jì)算框架,包括HDFS、MAPREDUCE等組件。HDFS為一種分布式文件系統(tǒng),MAPREDUCE是分布式計(jì)算框架。

Hive:Hive是一個(gè)基于Hadoop,提供類(lèi)似SQL的HQL操作,轉(zhuǎn)換為mapreduce作業(yè)對(duì)結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分析的工具。

HBase:HBase是一個(gè)基于Hadoop的高可用、高并發(fā)、分布式、面向列、可伸縮的Key Value數(shù)據(jù)庫(kù)。

通用域:企業(yè)級(jí)SOA架構(gòu)中,所有系統(tǒng)對(duì)外交換報(bào)文都通用的域(欄位)定義,通用域由企業(yè)級(jí)架構(gòu)統(tǒng)一定義,所有報(bào)文中含義、閾值固定,不能用于其它用途域。

欄位屬性:企業(yè)級(jí)SOA架構(gòu)中,描述報(bào)文域(欄位)的數(shù)據(jù)屬性,包括C(字符串)、D(數(shù)值)、N(數(shù)字)、GROUP(記錄集)等屬性。

一方面,本發(fā)明實(shí)施方式提供了一種數(shù)據(jù)存儲(chǔ)方法,其可以包括,但不限于:基于查詢需求組織源系統(tǒng)數(shù)據(jù)以形成查詢數(shù)據(jù),將所述查詢數(shù)據(jù)以符合HBase標(biāo)準(zhǔn)進(jìn)行存儲(chǔ)。

相應(yīng)地,本發(fā)明實(shí)施方式提供了一種用于數(shù)據(jù)存儲(chǔ)的系統(tǒng),可以包括:數(shù)據(jù)形成模塊,用于基于查詢需求組織源系統(tǒng)數(shù)據(jù)以形成查詢數(shù)據(jù);數(shù)據(jù)存儲(chǔ)模塊,用于將所述查詢數(shù)據(jù)以符合HBase標(biāo)準(zhǔn)進(jìn)行存儲(chǔ)。

另一方面,本發(fā)明實(shí)施方式提供了一種數(shù)據(jù)查詢方法,其可以包括,但不限于:接收查詢請(qǐng)求的請(qǐng)求報(bào)文;根據(jù)所述請(qǐng)求報(bào)文重組訪問(wèn)HBase的接口;通過(guò)所述接口從HBase數(shù)據(jù)獲取查詢結(jié)果。

相應(yīng)地,本發(fā)明實(shí)施方式提供了一種用于數(shù)據(jù)查詢的系統(tǒng),可以包括:請(qǐng)求接收模塊,用于接收查詢請(qǐng)求的請(qǐng)求報(bào)文;接口重組模塊,用于根據(jù)所述請(qǐng)求報(bào)文重組訪問(wèn)HBase的接口;結(jié)果獲取模塊,用于通過(guò)所述接口從HBase數(shù)據(jù)獲取查詢結(jié)果。

根據(jù)本發(fā)明實(shí)施方式,將海量歷史明細(xì)數(shù)據(jù)存放在大數(shù)據(jù)Hadoop HBase集群中,利用HBase集群提供的高并發(fā)毫秒級(jí)響應(yīng)能力,以低成本獲得高TPS的查詢能力;同時(shí)提供一個(gè)統(tǒng)一的查詢接口服務(wù),對(duì)外發(fā)布一致的數(shù)據(jù)查詢服務(wù),使得數(shù)據(jù)的查詢更加簡(jiǎn)單容易。

附圖說(shuō)明

圖1是示出了根據(jù)本發(fā)明實(shí)施方式的數(shù)據(jù)存儲(chǔ)方法的流程圖;

圖2是示出了根據(jù)本發(fā)明實(shí)施方式的數(shù)據(jù)查詢方法的流程圖;

圖3示出了根據(jù)本發(fā)明實(shí)施方式的用于數(shù)據(jù)存儲(chǔ)的系統(tǒng);

圖4示出了圖3所示的用于數(shù)據(jù)存儲(chǔ)的系統(tǒng)的數(shù)據(jù)形成模塊;

圖5示出了圖3所示的用于數(shù)據(jù)存儲(chǔ)的系統(tǒng)的數(shù)據(jù)存儲(chǔ)模塊;

圖6示出了根據(jù)本發(fā)明實(shí)施方式的用于數(shù)據(jù)查詢的系統(tǒng);

圖7示出了根據(jù)本發(fā)明實(shí)施方式的查詢數(shù)據(jù)邏輯組織流程;

圖8示出了根據(jù)本發(fā)明實(shí)施方式的查詢數(shù)據(jù)存儲(chǔ)流程;

圖9示出了根據(jù)本發(fā)明實(shí)施方式的查詢服務(wù)建立流程;

圖10示出了根據(jù)本發(fā)明實(shí)施方式的查詢服務(wù)提供流程。

具體實(shí)施方式

為了便于理解本發(fā)明技術(shù)方案的各個(gè)方面、特征以及優(yōu)點(diǎn),下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行具體描述。應(yīng)當(dāng)理解,下述的各種實(shí)施方式只用于舉例說(shuō)明,而非用于限制本發(fā)明的保護(hù)范圍。

圖1是示出了根據(jù)本發(fā)明實(shí)施方式的數(shù)據(jù)存儲(chǔ)方法的流程圖。在本發(fā)明的一種實(shí)施方式中,所述數(shù)據(jù)存儲(chǔ)方法可以包括:

S101.基于查詢需求組織源系統(tǒng)數(shù)據(jù)以形成查詢數(shù)據(jù),

S102.將所述查詢數(shù)據(jù)以符合HBase標(biāo)準(zhǔn)進(jìn)行存儲(chǔ)。

在本發(fā)明的一種可選實(shí)施方式中,S101可以包括:將所述源系統(tǒng)數(shù)據(jù)放置到Hadoop HDFS上以形成基于Hive的原始數(shù)據(jù);利用SQL語(yǔ)句將所述原始數(shù)據(jù)組織為符合查詢需求的查詢數(shù)據(jù)。其中,可選地,將所述源系統(tǒng)數(shù)據(jù)放置到Hadoop HDFS上以形成基于Hive的原始數(shù)據(jù)可以包括:將所述源系統(tǒng)數(shù)據(jù)保存到Hadoop HDFS上以形成Hive原始數(shù)據(jù)表,分析所述原始數(shù)據(jù)以創(chuàng)建符合查詢需求的HBase表??蛇x地,利用SQL語(yǔ)句將所述原始數(shù)據(jù)組織為符合查詢需求的查詢數(shù)據(jù)可以包括:根據(jù)所述Hive原始數(shù)據(jù)表的字段結(jié)構(gòu)形成SQL語(yǔ)句;分析所形成的SQL語(yǔ)句,生成HDFS上的TXT文本文件。

在本發(fā)明的另一種可選實(shí)施方式中,S102可以包括:根據(jù)組織邏輯形成所述TXT文本文件各字段與HBase各字段之間的映射;將所述TXT文本文件轉(zhuǎn)換為符合HBase存儲(chǔ)規(guī)范的HFile文件;將所述HFile文件合并到HBase集群中形成HBase Region,并使所述Region處于在線狀態(tài),以供查詢。其中,HBase在邏輯上的存儲(chǔ)最小單位是Region(分區(qū)),物理上來(lái)說(shuō)是HFile。每個(gè)Region由多個(gè)HFile組成。

圖2是示出了根據(jù)本發(fā)明實(shí)施方式的數(shù)據(jù)查詢方法的流程圖。在本發(fā)明的一種實(shí)施方式中,所述數(shù)據(jù)查詢方法可以包括:

S201.接收查詢請(qǐng)求的請(qǐng)求報(bào)文;

S202.根據(jù)所述請(qǐng)求報(bào)文重組訪問(wèn)HBase的接口;

S203.通過(guò)所述接口從HBase數(shù)據(jù)獲取查詢結(jié)果。

在本發(fā)明的一種可選實(shí)施方式中,S202可以包括:拆解所述請(qǐng)求報(bào)文,得到請(qǐng)求域中Json字符串、關(guān)鍵域域值;解析請(qǐng)求域中的Json字符串得到關(guān)鍵信息;根據(jù)所述關(guān)鍵信息重組為訪問(wèn)HBase的接口??蛇x地,所述關(guān)鍵信息包括下述中的一種或多種:要查詢的HBase表名、條件字段及條件值、返回字段列表。

在本發(fā)明的另一種可選實(shí)施方式中,S203可以包括:所述接口通過(guò)HBase API訪問(wèn)HBase數(shù)據(jù),獲得查詢結(jié)果數(shù)據(jù);將所述查詢結(jié)果數(shù)據(jù)封裝為Json字符串;將封裝的Json字符串封裝到XML報(bào)文中;通過(guò)XML報(bào)文輸出查詢結(jié)果。

圖3示出了根據(jù)本發(fā)明實(shí)施方式的用于數(shù)據(jù)存儲(chǔ)的系統(tǒng)。在本發(fā)明實(shí)施方式中,所述系統(tǒng)可以包括用于基于查詢需求組織源系統(tǒng)數(shù)據(jù)以形成查詢數(shù)據(jù)的數(shù)據(jù)形成模塊310和用于將所述查詢數(shù)據(jù)以符合HBase標(biāo)準(zhǔn)進(jìn)行存儲(chǔ)的數(shù)據(jù)存儲(chǔ)模塊320。

在本發(fā)明的一種可選實(shí)施方式中,如圖4所示,所述數(shù)據(jù)形成模塊可以包括原始數(shù)據(jù)形成單元410和查詢數(shù)據(jù)形成單元420。其中,原始數(shù)據(jù)形成單元410用于將所述源系統(tǒng)數(shù)據(jù)放置到Hadoop HDFS上以形成基于Hive的原始數(shù)據(jù),可選地,可以包括:將所述源系統(tǒng)數(shù)據(jù)保存到Hadoop HDFS上以形成Hive原始數(shù)據(jù)表,分析所述原始數(shù)據(jù)以創(chuàng)建符合查詢需求的HBase表。查詢數(shù)據(jù)形成單元420用于利用SQL語(yǔ)句將所述原始數(shù)據(jù)組織為符合查詢需求的查詢數(shù)據(jù),可選地,可以包括:根據(jù)所述Hive原始數(shù)據(jù)表的字段結(jié)構(gòu)形成SQL語(yǔ)句;分析所形成的SQL語(yǔ)句,生成HDFS上的TXT文本文件。

在本發(fā)明的另一種實(shí)施方式中,如圖5所示,所述數(shù)據(jù)存儲(chǔ)模塊可以包括:

映射形成單元510,用于根據(jù)組織邏輯形成所述TXT文本文件各字段與HBase各字段之間的映射;

文件轉(zhuǎn)換單元520,用于將所述TXT文本文件轉(zhuǎn)換為符合HBase存儲(chǔ)規(guī)范的HFile文件;

文件合并單元530,用于將所述HFile文件合并到HBase集群中形成HBase Region,并使所述Region處于在線狀態(tài)。

圖6示出了根據(jù)本發(fā)明實(shí)施方式的用于數(shù)據(jù)查詢的系統(tǒng)。在本發(fā)明實(shí)施方式中,所述系統(tǒng)可以包括:

請(qǐng)求接收模塊610,用于接收查詢請(qǐng)求的請(qǐng)求報(bào)文;

接口重組模塊620,用于根據(jù)所述請(qǐng)求報(bào)文重組訪問(wèn)HBase的接口;

結(jié)果獲取模塊630,用于通過(guò)所述接口從HBase數(shù)據(jù)獲取查詢結(jié)果。

可選地,接口重組模塊620根據(jù)所述請(qǐng)求報(bào)文重組訪問(wèn)HBase的接口可以包括:拆解所述請(qǐng)求報(bào)文,得到請(qǐng)求域中Json字符串、關(guān)鍵域域值;解析請(qǐng)求域中的Json字符串得到關(guān)鍵信息;根據(jù)所述關(guān)鍵信息重組為訪問(wèn)HBase的接口。其中,所述關(guān)鍵信息可以包括下述中的一種或多種:要查詢的HBase表名、條件字段及條件值、返回字段列表。

在選擇性實(shí)施方式中,結(jié)果獲取模塊630通過(guò)所述接口從HBase數(shù)據(jù)獲取查詢結(jié)果可以包括:所述接口通過(guò)HBase API訪問(wèn)HBase數(shù)據(jù),獲得查詢結(jié)果數(shù)據(jù);將所述查詢結(jié)果數(shù)據(jù)封裝為Json字符串;將封裝的Json字符串封裝到XML報(bào)文中;通過(guò)XML報(bào)文輸出查詢結(jié)果。

根據(jù)本發(fā)明實(shí)施方式,將海量歷史明細(xì)數(shù)據(jù)存放在大數(shù)據(jù)Hadoop HBase集群中,利用HBase集群提供的高并發(fā)毫秒級(jí)響應(yīng)能力,以低成本獲得高TPS的查詢能力;同時(shí)提供一個(gè)統(tǒng)一的查詢接口服務(wù),對(duì)外發(fā)布一致的數(shù)據(jù)查詢服務(wù),使得數(shù)據(jù)的查詢更加簡(jiǎn)單容易。

下面將從查詢數(shù)據(jù)組織、查詢數(shù)據(jù)存儲(chǔ)、查詢服務(wù)建立、查詢服務(wù)提供這四個(gè)關(guān)鍵步驟來(lái)講述本發(fā)明技術(shù)方案。

查詢數(shù)據(jù)邏輯組織

整個(gè)查詢服務(wù)是基于Hadoop大數(shù)據(jù)平臺(tái)的存儲(chǔ)、計(jì)算框架實(shí)現(xiàn),因此數(shù)據(jù)邏輯組織、數(shù)據(jù)計(jì)算需要在Hadoop中實(shí)現(xiàn)。

查詢數(shù)據(jù)由源系統(tǒng)數(shù)據(jù)組織形成,源系統(tǒng)數(shù)據(jù)需要先放置到Hadoop HDFS之上,并形成Hive表,使得源系統(tǒng)數(shù)據(jù)形成基于Hive的原始數(shù)據(jù)。

數(shù)據(jù)邏輯組織將原來(lái)在查詢時(shí)才進(jìn)行的業(yè)務(wù)邏輯組織的操作前置,通過(guò)分析需求后,利用SQL語(yǔ)句將Hive表中原始數(shù)據(jù)組織為符合查詢需求的查詢數(shù)據(jù),可確保查詢數(shù)據(jù)符合查詢需求,簡(jiǎn)化后續(xù)查詢時(shí)的用數(shù)邏輯。

如圖7所示,查詢服務(wù)邏輯組織可包括:

701~702、源系統(tǒng)數(shù)據(jù)保存到Hadoop HDFS之上,并形成Hive原始數(shù)據(jù)表;

703~704、分析原始數(shù)據(jù),設(shè)計(jì)HBase表的主鍵Key及二級(jí)索引Key,創(chuàng)建符合查詢需求的HBase表;

705、以查詢需求為目標(biāo)導(dǎo)向,根據(jù)原始數(shù)據(jù)表的字段結(jié)構(gòu),形成SQL語(yǔ)句,完成數(shù)據(jù)過(guò)濾、合并、多表關(guān)聯(lián)等操作,在此期間注意形成的數(shù)據(jù)要符合HBase的主鍵條件;

706、運(yùn)行分析組織形成的SQL語(yǔ)句,結(jié)果落地為HDFS上的TXT文本文件。

查詢數(shù)據(jù)存儲(chǔ)

基于HBase的查詢需要將數(shù)據(jù)以符合HBase的標(biāo)準(zhǔn)進(jìn)行存儲(chǔ),將組織結(jié)果的TXT文本文件存儲(chǔ)為HBase集群的HFile文件,在HBase集群中支撐海量數(shù)據(jù)的分布式存儲(chǔ),并將數(shù)據(jù)以低延時(shí)高并發(fā)的形式提供出來(lái)。

如圖8所示,查詢數(shù)據(jù)存儲(chǔ)可包括:

801、根據(jù)組織邏輯,形成HDFS TXT文本文件各字段與HBase各字段之間的映射;

802~803、利用HBase自身的Bulkloader工具(一種開(kāi)源加載類(lèi),提供簡(jiǎn)單的載入函數(shù),不管要載入的是xml、swf還是聲音文件,都只使用同一接口),將HDFS TXT文本轉(zhuǎn)換為符合HBase存儲(chǔ)規(guī)范的HFile文件;

804~805、將HFile文件合并到HBase集群中形成新的HBase Region,并使各個(gè)Region處于Online狀態(tài),數(shù)據(jù)即可提供查詢服務(wù)。

查詢服務(wù)建立

查詢服務(wù)由一組Web應(yīng)用集群提供WebService服務(wù)組成。查詢服務(wù)建立時(shí)充分考慮到兼容性、可控性和可靠性,查詢服務(wù)由J2EE應(yīng)用程序形成,可由單一小組負(fù)責(zé)開(kāi)發(fā)、測(cè)試、運(yùn)維與升級(jí)。查詢服務(wù)只需要建立一次,即可服務(wù)于所有HBase表的查詢。

如圖9所示,查詢服務(wù)建立可以包括:

901、根據(jù)通用報(bào)文思想,設(shè)計(jì)通用服務(wù)報(bào)文,充分考慮報(bào)文的普適性;

902、設(shè)計(jì)應(yīng)用程序架構(gòu),包括用戶認(rèn)證設(shè)計(jì)、流量控制設(shè)計(jì)、應(yīng)用多活設(shè)計(jì)等;

903、開(kāi)發(fā)應(yīng)用程序,解耦并形成查詢接收層、安全控制層、邏輯重組層、數(shù)據(jù)訪問(wèn)層、結(jié)果重組層、結(jié)果組裝層;

904~906、經(jīng)過(guò)應(yīng)用功能性測(cè)試、壓力測(cè)試后,發(fā)布應(yīng)用程序并部署。

為了確保查詢服務(wù)建立一次即可支持所有HBase表的查詢,需要對(duì)查詢服務(wù)中的報(bào)文進(jìn)行有效定義。查詢服務(wù)報(bào)文定義如下:

由于在報(bào)文中定義了要查詢的HBase表名、條件字段及條件值、返回字段列表等關(guān)鍵信息,使得一次定義多次查詢成為可能。

為了支持某些日期、時(shí)間字段的范圍查詢,則查詢條件的鍵需以“min”+“-”或者“max”+“-”開(kāi)頭(注意是減號(hào)而不是下劃線),“min”開(kāi)頭表示查詢范圍的下限,“max”開(kāi)頭表示查詢范圍的上限,未標(biāo)識(shí)的其它字段為相等查詢,min、max域?yàn)榭蛇x域,大小寫(xiě)不敏感,如"min-tx_dt":"20140901"。在某些支持主鍵的模糊查詢時(shí),則查詢條件的值需帶上“%”,并且只支持前綴匹配“condition%”,如"ci_cust_no":"622301001%"。

查詢服務(wù)提供

用戶查詢請(qǐng)求發(fā)送到查詢服務(wù)后,查詢服務(wù)對(duì)所有查詢請(qǐng)求采用同樣一套邏輯,過(guò)程中要經(jīng)過(guò)請(qǐng)求接收層、安全控制層、邏輯重組層、數(shù)據(jù)訪問(wèn)層、結(jié)果重組層、結(jié)果組裝層,才能將符合條件的結(jié)果封裝為接口定義的內(nèi)容輸出。如圖10所示,查詢服務(wù)提供可包括:

1001~1002、接收請(qǐng)求報(bào)文內(nèi)容,拆解報(bào)文,得到請(qǐng)求域中的Json字符串、關(guān)鍵域域值;

1003~1004、根據(jù)內(nèi)存中駐留的流控策略,比對(duì)關(guān)鍵域域值,確認(rèn)是否響應(yīng)該查詢請(qǐng)求;

1005~1006、解析請(qǐng)求域中的Json字符串,得到要查詢的HBase表名、過(guò)濾字段名及過(guò)濾值(或條件字段及條件值)、返回字段列表等信息;根據(jù)該部分信息重組為訪問(wèn)HBase的接口;

1007~1008、訪問(wèn)HBase的接口通過(guò)HBase API,訪問(wèn)HBase數(shù)據(jù),可選地,有匯總、計(jì)算記錄等情況的,還需要調(diào)用通用的協(xié)處理接口;

1009~1010、將查詢結(jié)果數(shù)據(jù)封裝為Json字符串,并封裝到Webservice的XML報(bào)文中,完成數(shù)據(jù)查詢;

發(fā)明技術(shù)方案帶來(lái)的有益效果

能夠滿足海量結(jié)構(gòu)化歷史數(shù)據(jù)的存儲(chǔ);

能夠?yàn)橛脩籼峁└叨瓤蓴U(kuò)展的低成本海量數(shù)據(jù)高TPS查詢方法;

能夠利用一個(gè)統(tǒng)一的查詢服務(wù),解決絕大多數(shù)HBase表數(shù)據(jù)的高并發(fā)在線查詢,極大提高數(shù)據(jù)查詢實(shí)施效率,降低實(shí)施風(fēng)險(xiǎn)。

通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件結(jié)合硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

本領(lǐng)技術(shù)人員應(yīng)當(dāng)理解,以上所公開(kāi)的僅為本發(fā)明的實(shí)施方式而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,依本發(fā)明實(shí)施方式所作的等同變化,仍屬本發(fā)明權(quán)利要求所涵蓋的范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1