[发明专利]一种基于反射实现HBase动态列的方法在审
申请号: | 202210943357.8 | 申请日: | 2022-08-08 |
公开(公告)号: | CN115344577A | 公开(公告)日: | 2022-11-15 |
发明(设计)人: | 郝健 | 申请(专利权)人: | 上海中通吉网络技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27;G06F16/23;G06F16/2455;G06F9/448 |
代理公司: | 北京细软智谷知识产权代理有限责任公司 11471 | 代理人: | 周亮 |
地址: | 201799 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 反射 实现 hbase 动态 方法 | ||
本申请公开了一种基于反射实现HBase动态列的方法,包括如下步骤:S1、动态列数据写入/删除流程;对请求体做增强,通过反射拿到对应的信息,组装上的rowKey得到请求对象,为对应信息中列簇下的每个列赋值,并在赋值时判断动态值是否为空,不为空时,组装形成动态列;S2、动态列数据查询流程;查询指定列和指定所有列,并对每个列值按照末位标签分组组装返回值实体对象,返回给客户端;其技术要点为,本发明支持动态扩容,不需要改造代码逻辑,将具有业务含义的动态值,拼接到静态列后面,形成动态列,从而可以对某种业务类型的数据进行单独处理,以解决代码逻辑需要加以改造的技术问题;运维成本低,不需要专门的运维人员去维护的同时兼容旧API。
技术领域
本发明属于HBase动态列技术领域,具体是一种基于反射实现HBase动态列的方法。
背景技术
目前,HBase是:参考Google BigTable模型的开源实现;Java开发的;非关系型的(NoSQL);KV键值的(从物理存储上看也是列(簇)式存储的);持久化的;构建于Hadoop分布式文件系统(HDFS)之上的(也可构建在符合接口的其他文件系统之上);默认情况是强一致性的(CP);高可靠的(HBase是通过底层HDFS的副本机制实现数据的冗余存储及高可靠性);高性能的(HBase具有近似最优的写性能(能使I/O利用率达到饱和),以及较出色的读性能);开源分布式数据库;HBase支持存储百万列,应用中常常会使用到动态列,动态列是相对于静态列而言的,静态列是查询和存储数据时,写死到代码中的列名,动态列则是根据业务场景,动态变化的列名。
现有的,包裹标签打标服务会需要运用到HBase动态列技术;一个运单号会关联一个或多个标签,如目前的大学件、同城件、问题件、时效件等。Hbase支撑百万列,存储和查询性能较高;但后期也会增删其他标签,需要修改代码以适应列的变化,做二次开发,无法直接使用,针对该问题现有的解决方案为:对Hbase原生客户端进行改造。在hbase客户端写入数据之前,利用反射解析请求实体,拿到hbase实体对象元素,可得到tableName、family、qualifiers等信息,上述的java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制;用Qualifier与列的动态值进行组合,形成新的列值,组装成一个新的客户端请求。
但本申请发明人在实现本申请实施例中的技术方案的过程中,发现上述技术至少存在如下技术问题:
1、原生客户端不支持动态扩容。
2、动态修改hbase表,需要对代码逻辑加以改造;
3、现有技术无法适应业务的快速迭代,HBase支持存储百万列,但应用中使用动态列会产生大量的冗余代码。
发明内容
解决的技术问题:
针对现有技术的不足,本发明提供了一种基于反射实现HBase动态列的方法,解决现有背景技术中提到的问题,本发明对原生客户端API的改造,使其支持动态列,不需要运维支持,方便维护;通过使用本发明的方法,可对现有软件系统功能的易用性、扩展性以及适配性进行有效提升。
技术方案:
为实现以上目的,本发明通过以下技术方案予以实现:
一种基于反射实现HBase动态列的方法,包括如下步骤:
S1、动态列数据写入/删除流程;
对请求体做增强,通过反射拿到对应的信息,组装上的rowKey得到请求对象,为对应信息中列簇下的每个列赋值,并在赋值时判断动态值是否为空,不为空时,组装形成动态列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海中通吉网络技术有限公司,未经上海中通吉网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210943357.8/2.html,转载请声明来源钻瓜专利网。