一种基于HBase的接口构造方法及系统与流程

文档序号:12464932阅读:200来源:国知局
本发明涉及大数据处理的
技术领域
:,尤其涉及一种基于HBase的接口构造方法,以及基于HBase的接口构造系统。
背景技术
::HBase是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。HBase是一种高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。作为以数据为生存之本的大数据公司,为用户提供数据服务自然是重中之重,这就需要为用户开发专有的数据查询接口服务。HBase提供两种查询方式:1、Get方法,按指定RowKey获取唯一一条记录2、Scan方法,按指定条件获取一批记录因此,需要根据每个用户的需求为其单独开发相应的查询接口并部署服务,无法做到接口服务的通用性。如果服务的用户数量很多,对每一个用户都要单独开发接口并且为其部署一套或多套(高并发访问情况)服务,开发的过程中做了很多的重复性工作,效率低,而且服务占用了很多系统资源,更不便于后期的维护和管理。技术实现要素:为克服现有技术的缺陷,本发明要解决的技术问题是提供了一种基于HBase的接口构造方法,其对于新增的业务需求,只需进行简单的配置,不需要再进行重复开发和部署服务的工作,就可以实现其对数据查询的需求,通用性好,而且充分利用服务器系统资源,提高系统的易用性和可扩展性。本发明的技术方案是:这种基于HBase的接口构造方法,该方法包括以下步骤:(1)使用mysql数据库对用户权限信息、通用接口服务的元数据信息进行存储和控制;(2)设置通用接口服务;(3)配置控制模块:提供可视化系统,用于控制用户权限信息和通用接口信息;(4)设置对外提供接口服务:根据用户的业务需求配置用户权限和接口访问信息,然后反馈给用户访问接口服务的URL。本发明通过使用mysql数据库对用户权限信息、通用接口服务的元数据信息进行存储和控制,设置通用接口服务,配置用户权限信息和通用接口信息,根据业务需求和实际访问情况,合理部署服务,做好负载均衡,因此对于新增的业务需求,只需进行简单的配置,不需要再进行重复开发和部署服务的工作,就可以实现其对数据查询的需求,通用性好,而且充分利用服务器系统资源,提高系统的易用性和可扩展性。还提供了一种基于HBase的接口构造系统,该系统包括:存储和控制模块,其配置来使用mysql数据库对用户权限信息、通用接口服务的元数据信息进行存储和控制;设置模块,其配置来设置通用接口服务;控制模块,其配置来提供可视化系统,用于控制用户权限信息和通用接口信息;对外模块,其配置来设置对外提供接口服务:根据用户的业务需求配置用户权限和接口访问信息,然后反馈给用户访问接口服务的URL。附图说明图1所示为根据本发明的基于HBase的接口构造方法的流程图。具体实施方式如图1所示,这种基于HBase的接口构造方法,该方法包括以下步骤:(1)使用mysql数据库对用户权限信息、通用接口服务的元数据信息进行存储和控制;(2)设置通用接口服务;(3)配置控制模块:提供可视化系统,用于控制用户权限信息和通用接口信息;(4)设置对外提供接口服务:根据用户的业务需求配置用户权限和接口访问信息,然后反馈给用户访问接口服务的URL。本发明通过使用mysql数据库对用户权限信息、通用接口服务的元数据信息进行存储和控制,设置通用接口服务,配置用户权限信息和通用接口信息,根据业务需求和实际访问情况,合理部署服务,做好负载均衡,因此对于新增的业务需求,只需进行简单的配置,不需要再进行重复开发和部署服务的工作,就可以实现其对数据查询的需求,通用性好,而且充分利用服务器系统资源,提高系统的易用性和可扩展性。另外,所述步骤(1)包括以下分步骤:(1.1)建立相关的用户权限信息表,记录用户相关信息,包含用户名,私钥,私钥有效期,允许访问的接口信息,访问接口ip白名单;(1.2)建立通用接口元信息表,表中每条信息为对应应用的接口信息。另外,所述步骤(1.2)中,接口元信息表包括:应用名称、访问的HBase表名、HBase表的主键组成结构、接口的参数名称、接口批量查询参数名称。以下具体说明:i.应用名称。不同的应用赋予唯一的应用名称。ii.HBase表。接口访问的数据存储在HBase中,因此这里要配置应用需要访问的HBase表名,并且说明HBase表的主键组成,以供查询使用。比如:HBase的主键组成是date,phone。是组合主键,其中第一主键是日期,第二主键是手机号。iii.接口的参数名称。是接口中所有的参数名称列表。比如:date,phone,user,md5,app。其中date、phone的值合并后作为查询HBase表的主键值。user是访问用户名,md5是访问用户的公钥,app是业务名称。iv.接口批量查询参数名称。比如:phone。接口支持批量查询数据。可以一次性查询N个手机号。另外,所述步骤(2)包括以下分步骤:(2.1)服务启动时加载用户权限信息、接口元数据信息到内存中,根据用户名查找用户的权限信息,根据应用名查询接口元数据信息;(2.2)检查客户端的IP是否在白名单中;(2.3)检查接口中的参数是否完备;(2.4)用户权限校验;(2.5)根据接口元数据信息中的HBase的主键组成、接口批量查询参数名称;获取接口中对应参数的值,构建HBase主键值;phone是N个手机号值,将date和N个phone一次合并,形成N个date+phone的组合,作为查询HBase的主键,然后查询HBase,返回数据。具体地,根据接口元数据信息中的HBase的主键组成(如:date、phone)、接口批量查询参数名称(如:phone)。获取接口中对应参数(date、phone)的值,构建HBase主键值:如接口参数中date是一个具体的日期,phone是N个手机号值,将date和N个phone一次合并,形成N个date+phone的组合,作为查询HBase的主键,然后查询HBase,返回数据。另外,所述步骤(2.4)中,服务器端通过用户私钥计算计算出用户公钥,与接口参数中的公钥进行比较,检查是否一致;通过用户权限表,检查用户是否有权限访问该应用。另外,所述步骤(3)中,新增的接口服务在可视化系统中添加,下线的接口服务也在可视化系统中停用或删除。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本发明的方法相对应的,本发明还同时包括一种基于HBase的接口构造系统,该系统通常以与方法各步骤相对应的功能模块的形式表示。使用该方法的系统包括:存储和控制模块,其配置来使用mysql数据库对用户权限信息、通用接口服务的元数据信息进行存储和控制;设置模块,其配置来设置通用接口服务;控制模块,其配置来提供可视化系统,用于控制用户权限信息和通用接口信息;对外模块,其配置来设置对外提供接口服务:根据用户的业务需求配置用户权限和接口访问信息,然后反馈给用户访问接口服务的URL。以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1