[发明专利]一种基于ORM框架操作集群数据库的方法及装置在审
申请号: | 201810126890.9 | 申请日: | 2018-02-08 |
公开(公告)号: | CN108334620A | 公开(公告)日: | 2018-07-27 |
发明(设计)人: | 掌庆丰 | 申请(专利权)人: | 苏州蜗牛数字科技股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德崇智捷知识产权代理有限公司 11467 | 代理人: | 王金双 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 集群 数据库连接池 技术框架 实体操作 数据库访问 数据库连接 元数据信息 高可用性 获取数据 结果数据 解析信息 实体对象 转换 读写 分表 路由 解析 访问 | ||
一种基于ORM框架操作集群数据库的方法及装置,所述方法包括步骤:获取当前实体操作对象的元数据信息;将实体操作转换为SQL语句;解析SQL语句,基于解析信息获取数据库分片;基于数据库分片,获取数据源;获取数据库分片的数据库连接池;基于数据库连接池,获取数据库连接以及执行SQL语句;将结果数据转换为实体对象。本发明的基于ORM框架操作集群数据库的方法及装置,能够提供一个支持分库分表和读写分离的数据库轻量级访问技术框架,并且还能够解决现有的ORM技术框架不支持集群数据库访问规则、路由、负载及高可用性等的问题。
技术领域
本发明涉及数据处理技术领域,特别是涉及一种基于ORM框架操作集群数据库的方法及装置。
背景技术
随着互联网的发展,企业对于数据库集群的需求越来越多,但是原系统多使用关系型数据库。对于已有的业务系统而言,切换到大数据平台,用户学习及业务改动的成本均较高。
目前JAVA领域比较常用的Hibernate、Spring JDBC、iBatis等ORM(ObjectRelational Mapping)技术,都不能很好的支持数据库集群的应用。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种基于ORM框架操作集群数据库的方法及装置,解决现有的数据库ORM技术框架不支持分表分库和读写分离的问题。
为实现上述目的,本发明提供的基于ORM框架操作集群数据库的方法,包括以下步骤:
获取当前实体操作对象的元数据信息;
将实体操作转换为SQL语句;
解析SQL语句,基于解析信息获取数据库分片;
基于数据库分片,获取数据源;
获取数据库分片的数据库连接池;
基于数据库连接池,获取数据库连接以及执行SQL语句;
将结果数据转换为实体对象。
所述解析SQL语句的步骤进一步包括步骤:解析SQL语句中相关表及字段信息。
所述基于数据库分片,获取数据源的步骤进一步包括步骤:判断获取的数据库分片是否有多个,若只有一个则获取普通数据源,若有多个且为需要事务处理,则获取分布式事务数据源。
所述获取数据库分片的数据库连接池的步骤进一步包括步骤:进行负载均衡及失败检测,获取当前数据库分片的最优数据库连接池。
所述获取数据库连接以及执行SQL语句的步骤进一步包括步骤:若有多个数据库分片,则并发执行数据连接,水平计算处理,在所有结果返回后进行数据整合处理。
为实现上述目的,本发明提供的基于ORM框架操作集群数据库的装置,包括:元数据管理模块、规则路由模块、数据源管理模块及数据处理模块,其中,
所述元数据管理模块,用于获取当前实体操作对象的元数据信息;以及将结果数据转换为实体对象;
所述规则路由模块,用于将实体操作转换为SQL语句;以及解析SQL语句,基于解析信息获取数据库分片;
所述数据源管理模块,用于基于数据库分片,获取数据源;以及获取数据库分片的数据库连接池;
所述数据处理模块,用于基于数据库连接池,获取数据库连接以及执行SQL语句。
所述规则路由模块,进一步用于解析SQL语句中相关表及字段信息。
所述数据源管理模块,进一步用于判断获取的数据库分片是否有多个,若只有一个则获取普通数据源,若有多个且为需要事务处理,则获取分布式事务数据源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州蜗牛数字科技股份有限公司,未经苏州蜗牛数字科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810126890.9/2.html,转载请声明来源钻瓜专利网。