基于HBase的數(shù)據查詢裝置及數(shù)據查詢方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據處理領域,更具體地,涉及一種基于HBase的數(shù)據查詢裝置及數(shù)據查詢方法。
【背景技術】
[0002]隨著大數(shù)據時代的到來,用戶查詢各種相關數(shù)據的需求也越來越大。數(shù)據查詢接口的高效性和靈活性成為了一個熱門議題。
[0003]現(xiàn)有的數(shù)據查詢接口十分常見,例如,天氣查詢接口、快遞查詢接口等。在現(xiàn)有的數(shù)據查詢技術中,數(shù)據查詢接口的數(shù)量和其查詢內容都是固定的。如果用戶改變對當前某個接口的查詢需求,或者希望增加新的查詢需求,或者已經不需要某種查詢需求,這些情況都需要開發(fā)人員修改系統(tǒng)代碼,這無疑增加了工作難度和維護成本并且極大的限制了用戶需求的擴展。因此,現(xiàn)有的數(shù)據查詢技術并不具有靈活應對用戶需求變化的可擴展性。
【發(fā)明內容】
[0004]鑒于現(xiàn)有技術的上述缺陷,本發(fā)明實施方式提供了一種基于HBase的數(shù)據查詢裝置及數(shù)據查詢方法,能夠靈活地根據用戶需求動態(tài)地實現(xiàn)數(shù)據查詢功能的增加、刪除和修改,在滿足用戶需求的同時降低數(shù)據查詢接口的維護成本。
[0005]—方面,本發(fā)明實施例提供了一種基于HBase的數(shù)據查詢裝置,包括:
[0006]接口配置模塊,配置有各業(yè)務查詢功能的配置信息;
[0007]接口模塊,用于接收查詢請求并根據所述查詢請求和該查詢請求所對應的業(yè)務查詢功能的配置信息確定輸入參數(shù);
[0008]查詢模塊,用于根據所述接口模塊確定的所述輸入參數(shù)調用HBase的應用程序編程接口API(Applicat1n Programming Interface)進行數(shù)據查詢處理;
[0009]所述接口模塊還用于,根據所述查詢模塊返回的查詢結果做出對所述查詢請求的響應。
[0010]相應地,本發(fā)明實施例提供一種基于HBase的數(shù)據查詢方法,包括:
[0011]接收查詢請求;
[0012]根據所述查詢請求以及預配置的各業(yè)務查詢功能的配置信息中與所述查詢請求對應的業(yè)務查詢功能的配置信息確定輸入參數(shù);
[0013]根據所述輸入參數(shù)調用HBase的應用程序編程接口進行數(shù)據查詢處理;
[0014]根據所述數(shù)據查詢處理的查詢結果做出對所述查詢請求的響應。
[0015]采用本發(fā)明實施例,具有以下優(yōu)點:
[0016]通過預先配置的各業(yè)務查詢功能的配置信息,根據查詢請求和相關配置信息確定輸入參數(shù),然后調用HBase的API實現(xiàn)數(shù)據查詢處理,使得本發(fā)明相對于現(xiàn)有的數(shù)量和功能均固定的數(shù)據查詢接口而言,本實施例提供的數(shù)據查詢裝置只需要對預配置的業(yè)務查詢功能的配置信息進行增加、刪除或修改,就可以實現(xiàn)數(shù)據查詢接口的數(shù)量和功能的動態(tài)地增加、刪除或修改,這樣不僅能夠靈活地進行功能擴展以滿足用戶的需求,還能大大降低維護成本。
【附圖說明】
[0017]圖1A是根據本發(fā)明實施例的一種基于HBase的數(shù)據查詢裝置的框圖;
[0018]圖1B是圖1A所示數(shù)據查詢裝置的查詢模塊的框圖的一例;
[0019]圖1C是圖1A所示數(shù)據查詢裝置的接口模塊的框圖的一例;
[0020]圖2是根據本發(fā)明實施例的一種基于HBase的數(shù)據查詢裝置的框圖;
[0021 ]圖3是根據本發(fā)明實施例的一種基于HBase的數(shù)據查詢方法的流程示意圖;
[0022]圖4是根據本發(fā)明實施例的另一基于HBase的數(shù)據查詢方法的流程示意圖。
【具體實施方式】
[0023]為了便于理解本發(fā)明技術方案的各個方面、特征以及優(yōu)點,下面結合附圖對本發(fā)明進行具體描述。應當理解,下述的各種實施方式只用于舉例說明,而非用于限制本發(fā)明的保護范圍。
[0024]首先對本發(fā)明中可能提及的名稱或術語進行解釋。
[0025]HBase: 一個基于Hadoop (一種分布式系統(tǒng)基礎架構)的高可靠性、高性能、面向列、可伸縮的分布式存儲系統(tǒng)。
[0026]JSON:JavaScript Object Notat1n,它是一種完全獨立于語言和平臺的輕量級的數(shù)據交換格式。
[0027]圖1A是根據本發(fā)明實施例的一種基于HBase的數(shù)據查詢裝置的框圖,參照圖1A,數(shù)據查詢裝置包括接口配置模塊11、接口模塊12和查詢模塊13。下面分別進行說明。
[0028]在本實施例中,接口配置模塊11配置有各業(yè)務查詢功能的配置信息。其中,不同的業(yè)務查詢功能用于實現(xiàn)不同的查詢目的。接口模塊12用于接收查詢請求并根據所述查詢請求和該查詢請求所對應的業(yè)務查詢功能的配置信息確定輸入參數(shù)。此外,接口模塊12還用于根據所述查詢模塊13返回的查詢結果做出對所述查詢請求的響應。查詢模塊13用于根據所述接口模塊12確定的所述輸入參數(shù)調用HBase的應用程序編程接口 API進行數(shù)據查詢處理。
[0029]采用本實施例提供的數(shù)據查詢裝置,通過接口配置模塊11配置各業(yè)務查詢功能的配置信息,通過接口模塊12根據查詢請求和相關配置信息確定輸入參數(shù),然后通過查詢模塊調用HBase的API實現(xiàn)數(shù)據查詢處理。相對于現(xiàn)有的數(shù)量和功能均固定的數(shù)據查詢接口而言,本實施例提供的數(shù)據查詢裝置只需要對接口配置模塊所配置的業(yè)務查詢功能的配置信息進行增加、刪除或修改,就可以實現(xiàn)數(shù)據查詢接口的數(shù)量和功能的動態(tài)地增加、刪除或修改,這樣不僅能夠靈活地進行功能擴展以滿足用戶的需求,還能大大降低維護成本。
[0030]可選地,在本實施例的一種實現(xiàn)方式中,接口配置模塊11包括:所述各業(yè)務查詢功能的XML配置文件和配置有所述各業(yè)務查詢功能的XML配置文件的信息的XML注冊配置文件。在一種更為具體的實現(xiàn)方式中,每種業(yè)務查詢功能對應一個XML配置文件,各個業(yè)務查詢功能的XML配置文件的信息注冊于XML注冊配置文件。其中,各業(yè)務查詢功能的XML配置文件中定義了用于進行查詢處理的內容,包括輸入規(guī)格、輸出規(guī)格、查詢條件、查詢的數(shù)據表等,當然還可以包括其它內容,例如排序方式。
[0031 ] 在本實現(xiàn)方式中,通過對XML配置文件和XML注冊配置文件的修改即可靈活地實現(xiàn)數(shù)據查詢功能的增刪改操作,十分便捷且成本低。
[0032]可選地,在本實施例的一種實現(xiàn)方式中,所述查詢請求中攜帶用于標識業(yè)務查詢功能的業(yè)務代碼,接口模塊12則根據所述業(yè)務代碼從所述接口配置模塊11查詢所述查詢請求所對應的業(yè)務查詢功能的配置信息。
[0033]可選地,在本實施例的一種實現(xiàn)方式中,如圖1B所示,查詢模塊13包括:格式轉換子模塊131,用于將所述輸入參數(shù)組成為所述HBase的API所要求的數(shù)據格式;調用子模塊132,用于根據所述格式轉化子模塊131輸出的數(shù)據調用所述HBase的API進行數(shù)據查詢處理。
[0034]可選地,在本實施例的一種實現(xiàn)方式中,如圖1C所示,接口模塊12包括:封裝子模塊121,用于將所述查詢模塊13返回的查詢結果封裝組成為JS0N數(shù)據格式;響應子模塊122,用于以字節(jié)流的形式發(fā)送封裝子模塊121的輸出結果作為對所述查詢請求的響應。
[0035]可選地,在本實施例的一種實現(xiàn)方式中,查詢模塊13的功能具體可以通過邏輯java類實現(xiàn)。
[0036]圖2是根據本發(fā)明實施例的一種基于HBase的數(shù)據查詢裝置的框圖,參照圖2,數(shù)據查詢裝置除了包括接口配置模塊11、接口模塊12和查詢模塊13之外,還包括數(shù)據API模塊14和預處理模塊15。關于接口配置模塊11、接口模塊12和查詢模塊13的說明請參見圖1A-圖1C所示實施例中的說明,此處不贅述。
[0037]參照圖2,其中的外部接口用于外部系統(tǒng)與數(shù)據查詢裝置的通信。預處理模塊15可用于實現(xiàn)IP限制功能和數(shù)據加解密處理。所述的IP限制功能是指,外部系統(tǒng)的IP只有滿足要求(例如,預先完成身份注冊)才被允許接入數(shù)據查詢裝置。所述的數(shù)據加解密處理是指,例如,利用AES(Advanced Encrypt1n Standard,高級加密標準)方式對傳輸?shù)臄?shù)據(例如,查詢請求和響應)進行加解密處理。
[0038]在本實施例中,數(shù)據API模塊14可以是HBase的API,也可以是已經配置好與HBase的交互方式從而在查詢模塊13的觸發(fā)下利用HBase的API進行數(shù)據查詢的數(shù)據查詢模塊。
[0039]圖3是根據本發(fā)明實施例的一種基于HBase的數(shù)據查詢方法的流程示意圖,參照圖3,所述方法包括:
[0040]30:接收查詢請求。例如,接收外部系統(tǒng)發(fā)送的查詢請求。所述外部系統(tǒng)是指發(fā)起查詢請求的系統(tǒng)。
[0041]32:確定輸入參數(shù)。具體而言,根據所述查詢請求以及預配置的各業(yè)務查詢功能的配置信息中與所述查詢請求對應的業(yè)務查詢功能的配置信息確定輸入參數(shù)。
[0042]34:數(shù)據查詢處理。具體而言,根據所述輸入參數(shù)調用HBase的應用程序編程接口進行數(shù)據查詢處理。
[0043]36:響應處理。具體而言,根據所述數(shù)據查詢處理的查詢結果做出對所述查詢請求的響應。
[0044]采用本實施例提供的方法進行數(shù)據查詢處理,只需要對預配置的業(yè)務查詢功能的配置信息進行增加、刪除或修改,就可以實現(xiàn)數(shù)據查詢功能的增加、刪除或修改,這樣不僅能夠靈活地進行功能擴展以滿足用戶的需求,還能大大降低維護成本。
[0045]可選地,在本實施例的一種實現(xiàn)方式中,預配置的各業(yè)務查詢功