一种实现Windows下连接控制Hbase的方法及装置制造方法

文档序号:6550287阅读:835来源:国知局
一种实现Windows下连接控制Hbase的方法及装置制造方法【专利摘要】本发明公开了一种实现Windows下连接控制Hbase的方法及装置,包括:封装所有Thrift的应用程序编程接口(API)的访问接口的功能函数及获取Hadoop数据库(Hbase)元数据的函数;还包括:当用户访问Hbase时,建立HBase服务器(Server)与Hbase的连接;HBase?Server将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。本发明通过将连接和控制HBase的功能函数进行有效封装,使Windows下连接和控制HBase得到稳定,采用C#封装的功能函数可以进行移植,适用范围广。【专利说明】—种实现Windows下连接控制Hbase的方法及装置【
技术领域
】[0001]本发明涉及数据库领域,尤指一种实现Windows下连接控制Hadoop数据库(Hbase)的方法及装置。【
背景技术
】[0002]随着互联网、互联网、云计算等信息技术在内的通信行业的迅速发展,对数据信息进行有效应用和管理成为企业发展的挑战和机遇,现代社会进入了大数据发展时代。大数据或称巨量资料,是指涉及规模巨大的资料量,目前主流软件工具无法对其进行有效的撷取、管理、处理,使其成为帮助企业进行积极经营决策的资讯。大数据自身的特点,造成了主流的关系型数据库无法满足其信息的存储。Hadoop数据库(Hbase)是一个具有高可靠性、高性能、面向列、可伸缩的分布式开源数据库。基于Hadoop分布式文件系统的HBase,模仿并提供了基于Google文件系统的Bigtable数据库的所有功能。通过Hbase可以实现在普通的PCServer上搭建起大规模结构化存储集群,进而实现对庞大的数据表格的信息处理,达到采用普通的PC处理超过十亿行的、有数百万列元素组成的数据表。[0003]用户数据的激增和数据类型的多样化发展,亟需进行大数据的整合,原有的数据库内容也需要往大数据平台进行数据迁移。HBase分布式数据库是采用采用Java语言开发的数据库,在数据整合和迁移过程中,HBase提供了丰富的JavaAPI;因此,目前的开发大都是采用Java语言调用HBase提供的API实现对HBase的数据库存取。对于计划采用Java语言或者是基于Java语言开发的项目,对于HBase的数据库存取当然不存在问题。但是,在Windows平台下采用C#、C++开发的HBase的数据库项目或者数据库迁移项目,要实现数据可存储其操作难度较大。为了支持Windows下HBase的数据库的开发,HBase还集成了支持C++和C#等语言的Thrift的API访问接口,虽然为Window下的开发提供了一定的便利,但是提供的Thrift的API访问接口,需要采用单一的功能函数对HBase的数据库进行连接或控制,由于采用单一的功能函数执行连接或控制,在进行一些功能函数时,无法确定执行该功能函数的连接条件是否满足,造成HBase连接和控制的不稳定。虽然为了方便实现HBase的开发,减少开发时进行连接和控制的代码量,一些技术公司推出开放数据库互联(ODBC,OpenDatabaseConnectivity)以连接HBase的插件,可以实现在Windows下用标准SQL语言来操作HBase,但是采用ODBC连接HBase的插件方法仅支持部分数据库操作,且存在开发的灵活性不足的问题。[0004]综上,在Windows下用于连接和控制HBase的方法采用的单一的功能函数,无法实现HBase连接和控制过程的稳定;部分技术公司推出的采用ODBC连接HBase的插件,使用范围较小,无法实现应用推广。【
发明内容】[0005]为了解决上述技术问题,本发明提供一种实现Windows下连接控制Hbase的方法及装置,能够对Windows下稳定的连接和控制HBase,且可以进行移植,应用范围广。[0006]为了达到上述发明目的,本发明公开了一种实现Windows下连接控制Hbase的方法,包括:[0007]封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库Hbase元数据的函数;还包括:[0008]当用户访问Hbase时,建立HBase服务器Server与Hbase的连接;[0009]HBaseServer将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。[0010]进一步地,封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数;[0011]将执行请求和执行封装的功能函数发往Hbase之前,该方法还包括:利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;[0012]当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;[0013]否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。[0014]进一步地,封装的功能函数及获取Hbase元数据的函数中还添加有格式转换的函数;[0015]Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。[0016]进一步地,功能函数及获取Hbase元数据的函数通过C#语言编写。[0017]进一步地,封装的方法包括:数据定义语言DDL和数据操作语言DML的封装方法。[0018]另一方面,本申请还提供一种实现Windows下连接控制Hbase的装置,包括:封装单元、连接单元和执行反馈单元;其中,[0019]封装单元,用于封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库Hbase元数据的函数;[0020]连接单元,用于当用户访问Hbase时,建立HBase服务器Server与Hbase的连接;[0021]执行单元,用于通过HBaseServer将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。[0022]进一步地,该装置还包括接口检查单元,用于封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数,在所述将执行请求和执行封装的功能函数发往Hbase之前,利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;[0023]当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;[0024]否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。[0025]进一步地,该装置还包括格式转换单元,用于在封装的功能函数及获取Hbase元数据的函数中添加格式转换的函数;[0026]当Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。[0027]进一步地,功能函数通过C#语言编写。[0028]进一步地,封装单元,具体用于通过数据定义语言DDL和数据操作语言DML的封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hbase元数据的函数。[0029]本发明技术方案包括:封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hbase元数据的函数;还包括:当用户访问Hadoop数据库(Hbase)时,建立HBase服务器(Server)与Hbase的连接;HBaseServer将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。本发明通过将连接和控制HBase的功能函数进行有效封装,使Windows下连接和控制HBase得到稳定,采用C#封装的功能函数可以进行移植,适用范围广。【专利附图】【附图说明】[0030]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:[0031]图1为本发明实现Windows下连接控制Hbase的方法的流程图;[0032]图2为本发明实现Windows下连接控制Hbase的装置的结构框图。【具体实施方式】[0033]图1为本发明实现Windows下连接控制Hbase的方法的流程图,如图1所示,包括:[0034]步骤100、封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库(Hbase)元数据的函数。[0035]需要说明的是,Thrift最初由Facebook开发,07年四月开放源码,08年5月进入Apache孵化器。Thrift允许定义一个简单的定义文件中的数据类型和服务接口,以作为输入文件,编译器生成代码用来方便地生成RPC客户端和服务器通信的无缝跨编程语言。[0036]步骤101、当用户访问Hbase时,建立HBase服务器(Server)与Hbase的连接。[0037]步骤102、HBaseServer将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。这里,将执行请求和执行的功能函数发往Hbase后,可以根据功能函数,从Hbase中获得信息反馈。[0038]封装的功能函数中还添加有接口检查函数;[0039]将执行请求和执行的封装的功能函数发往Hbase之前,本发明方法还包括:利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;[0040]当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;[0041]否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。[0042]进一步地,封装的功能函数及获取Hbase元数据的函数中还添加有格式转换的函数;[0043]Hbase在执行将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。[0044]需要说明的是,在Hbase在执行将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,其返回的结构在格式及字段类型与在客户端上显示给用户的显示类型往往不同,因此需要进行执行结果格式和显示字段的调整,使用户能够对返回结构进行清楚的识别,关于格式转换函数,是本领域技术人员根据格式要求不需要创造性劳动就可实现的技术内容,在此不再赘述。[0045]进一步地,功能函数通过C#语言编写。[0046]封装的方法包括:数据定义语言(DataDefinit1nLanguage,简称DDL)和数据操作语言(DataManipulat1nLanguage,简称DML)。[0047]这里,C#是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。[0048]图2为本发明实现Windows下连接控制Hbase的装置的结构框图,如图2所示,包括:封装单元、连接单元和执行反馈单元;其中,[0049]封装单元,用于封装所有Thrift的应用程序编程接口(API)的访问接口的功能函数及获取Hadoop数据库(Hbase)元数据的函数。[0050]封装单元,具体用于通过数据定义语言(DDL)和数据操作语言(DML)的封装所有Thrift的应用程序编程接口(API)的访问接口的功能函数及获取Hbase元数据的函数。[0051]进一步地,功能函数通过C#语言编写,以实现封装。[0052]连接单元,用于当用户访问Hbase时,建立HBase服务器(Server)与Hbase的连接;[0053]执行单元,用于通过HBaseServer将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。[0054]本发明装置还包括接口检查单元,用于封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数,在将执行请求和执行封装的功能函数发往Hbase之前,利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;[0055]当检查出Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行将执行请求和执行封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;[0056]否则,直接执行将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。[0057]进一步地,本发明装置还包括数据格式转换单元,用于在封装的功能函数及获取Hbase元数据的函数中添加格式转换的函数;[0058]当Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。[0059]以下结合具体实施例对本发明方法进行清楚的陈述本发明,实施例并不用于显示本发明保护范围。[0060]实施例1[0061]本发明实施例实现Windows下连接控制Hbase包括:[0062]首先用户在用C#编写的客户端输入Hbase服务器IP和端口;[0063]然后、当用户通过客户端访问Hbase时,建立HBaseServer与Hbase的连接;[0064]最后、将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase,以获得Hbase的信息反馈。[0065]更为详细的,Windows下连接控制Hbase包含以下步骤:[0066]a、在客户端输入Hbase的数据库操作的参数;[0067]b、进行Thrift的API访问接口与Hbase的连接检查,当连接的参数isConnect1n为true时,调用Thrift进行远程的Hbase操作,将返回结果进行预处理然后将结果显示到客户端,直接执行请求和执行的功能函数发往Hbase,以获得Hbase的信息反馈;当isConnect1n为false则进行一次连接后,将执行请求和执行的功能函数发往Hbase,以获得Hbase的彳目息反馈;[0068]cJfHbase的信息反馈,根据技术人员的设计要求,进行格式转换,以显示给用户所需格式和类型的结果。[0069]这里,当用户选择断开Hbase时,客户端调用Thrift接口断开与Hbase数据库的连接,将isConnect1n设置为false,系统退出。[0070]虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。【权利要求】1.一种实现Windows下连接控制Hbase的方法,其特征在于,封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库Hbase元数据的函数;还包括:当用户访问Hbase时,建立HBase服务器Server与Hbase的连接;HBaseServer将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase02.根据权利要求1所述的方法,其特征在于,所述封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数;所述将执行请求和执行封装的功能函数发往Hbase之前,该方法还包括:利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。3.根据权利要求1所述的方法,其特征在于,所述封装的功能函数及获取Hbase元数据的函数中还添加有格式转换的函数;Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。4.根据权利要求1所述的方法,其特征在于,所述功能函数及获取Hbase元数据的函数通过C#语言编写。5.根据权利要求1所述的方法,其特征在于,所述封装的方法包括:数据定义语言DDL和数据操作语言DML的封装方法。6.一种实现Windows下连接控制Hbase的装置,其特征在于,包括:封装单元、连接单元和执行反馈单元;其中,封装单元,用于封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hadoop数据库Hbase元数据的函数;连接单元,用于当用户访问Hbase时,建立HBase服务器Server与Hbase的连接;执行单元,用于通过HBaseServer将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase。7.根据权利要求6所述的装置,其特征在于,该装置还包括接口检查单元,用于封装的功能函数及获取Hadoop数据库Hbase元数据的函数中还添加有接口检查函数,在所述将执行请求和执行封装的功能函数发往Hbase之前,利用接口检查函数对所述Thrift的API访问接口与Hbase的连接进行检查;当检查出所述Thrift的API访问接口与Hbase未连接时,进行一次连接后,再执行所述将所述执行请求和执行封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤;否则,直接执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数发往Hbase的步骤。8.根据权利要求6所述的装置,其特征在于,该装置还包括格式转换单元,用于在封装的功能函数及获取Hbase元数据的函数中添加格式转换的函数;当Hbase在执行所述将执行请求和执行的封装的功能函数及获取Hbase元数据的函数返回执行的结果时,格式转换的函数对返回结果进行格式转换后进行反馈。9.根据权利要求6所述的装置,其特征在于,所述功能函数通过C#语言编写。10.根据权利要求6所述的方法,其特征在于,封装单元,具体用于通过数据定义语言DDL和数据操作语言DML的封装所有Thrift的应用程序编程接口API的访问接口的功能函数及获取Hbase元数据的函数。【文档编号】G06F17/30GK104036006SQ201410279863【公开日】2014年9月10日申请日期:2014年6月20日优先权日:2014年6月20日【发明者】曹连超,卢军佐,辛国茂,亓开元,赵仁明,房体盈申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1