[发明专利]一种分表方法、装置及电子设备有效

专利信息
申请号: 201710023995.7 申请日: 2017-01-12
公开(公告)号: CN106886568B8 公开(公告)日: 2018-05-01
发明(设计)人: 钱文品;刘伟平;王良;余菲;陈超 申请(专利权)人: 掌阅科技股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京市广友专利事务所有限责任公司11237 代理人: 祁献民
地址: 100022 北京市朝阳区东三环中路3*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 方法 装置 电子设备
【说明书】:

技术领域

发明涉及数据处理技术领域,尤其涉及数据库分表处理技术。

背景技术

Hibernate是一个基于Java的开源的持久化中间件,对JDBC(Java Data Base Connectivity,Java数据库连接)做了轻量的封装。其采用ORM(Object Relation Mapping,对象关系映射)机制,实现Java对象和关系数据库之间的映射,把sql语句传给数据库,并且把数据库返回的结果封装成对象。内部封装了JDBC访问数据库的操作,向上层应用提供了面向对象的数据库访问API。由于其可以以对象的形式操作数据,更换数据库时只要修改配值文件,而不用关心数据库种类,因而提高了开发效率。

分表是将一张大表切分为同一个数据库的多张表,抵抗因数据量过大而影响性能的一种方法。发明人在实现本发明的过程中发现,Hibernate-Shards开源框架是基于Hibernate的强大的分库框架,但是不支持分表。Hibernate NamingStrategy是Hibernate提供的表名替换策略,其可以进行简单的分表操作,但是不能根据实例参数动态决定表名,一般只能用于按时间进行分表的场景。Hibernate QueryInterceptor是Hibernate提供的查询拦截器,用户可以在生成sql语句时进行拦截,将相应的表名动态替换成具体的分表,需要解析sql语句,实现复杂,性能和维护性都较差,而且也不可以根据实例参数动态决定表名,一般只能用户按时间进行分表。

因此,需要一种基于Hibernate的更加简单有效的分表处理方法。

发明内容

有鉴于此,本发明实施例提供了一种分表方法、装置及电子设备,至少部分的解决现有技术中存在的问题。

第一方面,本发明实施例提供了一种分表方法,包括:

动态生成多个子表模型类;

在开源框架的配置中心注册所述子表模型类;

选择所述子表模型类中需要进行数据操作的子表模型类;

利用所述开源框架提供的数据操作功能,对所述需要进行数据操作的子表模型类的实例执行相应的数据操作。

根据本发明实施例的一种具体实现方式,在所述动态生成多个子表模型类之前,所述方法还包括:

在所述开源框架中定义单表模型类。

根据本发明实施例的一种具体实现方式,所述动态生成多个子表模型类,包括:

获取所述开源框架关联的数据库的分表需求;

基于所述分表需求,利用第三方开源类库动态生成多个子表模型类。

根据本发明实施例的一种具体实现方式,所述在开源框架的配置中心注册所述子表模型类,包括:

生成所述子表模型类对应的类文件;

将所述类文件保存在所述开源框架的预设扫描位置。

根据本发明实施例的一种具体实现方式,所述在开源框架的配置中心注册所述子表模型类,包括:

获取所述开源框架的会话接口文件;

基于所述会话接口文件,判断所述子表模型类是否采用动态方式进行加载;

当所述子表模型类采用动态方式进行加载时,更新所述开源框架的配置文件,并重新创建所述开源框架的会话接口文件。

根据本发明实施例的一种具体实现方式,所述选择所述子表模型类中需要进行数据操作的子表模型类,包括:

基于所述开源框架关联的数据库的分表需求定义散列方法;

获取所述开源框架关联的数据库的预设字段;

基于所述散列方法对所述预设字段进行数据运算;

根据所述数据运算的结果确定需要进行数据操作的子表模型类。

根据本发明实施例的一种具体实现方式,所述利用所述开源框架提供的数据操作功能,对所述需要进行数据操作的子表模型类的实例执行相应的数据操作,包括:

使用所述开源框架提供的数据增加、数据删除、数据修改及数据查询功能,显式指定所述需要进行数据操作的子表模型类进行相关数据操作。

根据本发明实施例的一种具体实现方式,所述利用所述开源框架提供的数据操作功能,对所述需要进行数据操作的子表模型类的实例执行相应的数据操作,还包括:

使用反射方法构建所述需要进行数据操作的子表模型类的模型实例;

使用不包含重复元素的类集对所述模型实例进行数据填充。

第二方面,本发明实施例还提供了一种分表装置,包括:

生成模块,用于动态生成多个子表模型类;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于掌阅科技股份有限公司,未经掌阅科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710023995.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top