一种数据访问方法及设备技术

技术编号:16755718 阅读:48 留言:0更新日期:2017-12-09 02:10
本发明专利技术公开了一种数据访问方法及设备,所述方法包括:获得数据库访问请求,所述数据库访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射两个不同类型数据库的sql语句;根据所述分片字段和所述sqlid,确定需要访问至少两个数据库表,所述至少两个数据库表属于不同类型数据库;从所述sqlid映射的sql语句中,确定出对所述至少两个数据库表进行操作的sql语句;将所述数据请求参数中的语句参数与所述sql语句进行组后访问所述至少两个数据库表,获得访问结果,所以,能够有效的解决现有技术中,存在的不能对不同类型数据库进行分片数据访问的技术问题,实现对不同类型数据库的分片数据访问的有益效果。

A data access method and equipment

The invention discloses a data access method and device, the method includes: obtaining a database access request, the database access request including sqlid, patch and field data request parameters, the SQL statement and the sqlid mapping at least two different types of database; according to the divided field and the sqlid. Determine the need to access at least two database tables, the database table belongs to at least two different types of database; from the SQL statement the sqlid map, determined on the at least two database table SQL statement of operation; the data request parameters in the statement and the SQL statement group after the visit to the at least two database tables, get access to the results, therefore, can effectively solve the problem in the prior art, there can not be divided to different types of data access database The technical questions are asked to achieve the beneficial effect on the access to different types of databases.

【技术实现步骤摘要】
一种数据访问方法及设备
本专利技术涉及电子
,尤其涉及一种数据访问方法及设备。
技术介绍
随着互联网业务的发展,交易系统的业务量指数增长。同时,互联网业务经常进行促销活动,会导致某一时间段内交易量激增,出现交易高峰。交易系统目前普遍依赖数据库作为数据持久化的工具,一旦发生交易高峰的情况,数据库操作会成为瓶颈。因此,分布式数据库的方案普遍被互联网公司使用,将数据库的表横向拆分为多个库的多个表中,以降低每张分片表的处理负载,整体上提升数据库的访问效率,这就需要通过制定分片路由规则以实现分布式架构下数据的访问。目前已有的数据分片路由方案主要为使用路由表的方式,结构化的路由表存储结构很难满足复杂的路由规则设置,一条路由配置数据还无法得出路由结果,还需要获取多条规则数据进行二次运算才能得出,且不支持对不同类型数据库的分片数据访问。所以,现有技术中,存在不能对不同类型数据库进行分片数据访问的技术问题。
技术实现思路
本专利技术实施例提供一种数据访问方法及设备,用于解决现有技术中存现不能对不同类型数据库进行分片数据访问的技术问题。本专利技术实施例提供的具体技术方案如下:获得数据库访问请求,所述数本文档来自技高网...
一种数据访问方法及设备

【技术保护点】
一种数据访问方法,其特征在于,包括:获得数据库访问请求,所述数据库访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射两个不同类型数据库的sql语句;根据所述分片字段和所述sqlid,确定需要访问至少两个数据库表,所述至少两个数据库表属于不同类型数据库;从所述sqlid映射的sql语句中,确定出对所述至少两个数据库表进行操作的sql语句;将所述数据请求参数中的语句参数与所述sql语句进行组后访问所述至少两个数据库表,获得访问结果。

【技术特征摘要】
1.一种数据访问方法,其特征在于,包括:获得数据库访问请求,所述数据库访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射两个不同类型数据库的sql语句;根据所述分片字段和所述sqlid,确定需要访问至少两个数据库表,所述至少两个数据库表属于不同类型数据库;从所述sqlid映射的sql语句中,确定出对所述至少两个数据库表进行操作的sql语句;将所述数据请求参数中的语句参数与所述sql语句进行组后访问所述至少两个数据库表,获得访问结果。2.如权利要求1所述的方法,其特征在于,所述sqlid至少映射两个不同类型数据库的sql语句时,所述sqlid与sql语句为一对多的对应关系。3.如权利要求2所述的方法,其特征在于,所述sqlid对应的每一条sql语句为针对数据库的单表操作或为针对数据库的多表关联操作。4.如权利要求3中所述的方法,其特征在于,所述根据所述分片字段和所述sqlid,确定需要访问至少两个数据库表,具体包括:将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;根据所述路由结果确定出需要访问的至少两个数据库表。5.如权利要求4所述的方法,其特征在于,所述至少两个数据库表包括第一数据库表和第二数据库表时,所述根据所述分片字段和所述sqlid,确定需要访问至少两个数据库表之后,包括:确定所述第一数据库表的数据库类型为B,以及确定所述第二数据库表的数据库类型为C,其中,数据库类型B与数据库类型C不同。6.如权利要求5所述的方法,其特征在于,所述从所述sqlid映射的sql语句中,确定对所述至少两个数据库表进行操作的sql语句,具体包括:从所述sqlid映射的sql语句中,确定出与数据库类型B对应的sql语句M作为对所述第一数据库表进行操作的sql语句;从所述sqlid映射的sql语句中,确定出与数据库类型C对应的sql语句K作为对所述第二数据库表进行操作的sql语句。7.如权利要求6中所述的方法,其特征在于,所述路由结果还包括所述第一数据库表以及所述第二数据库表的数据库地址以及物理表名,所述将所述数据请求参数中的语句参数与所述sql语句进行组后访问所述至少两个数据库,获得访问结果,具体为:将所述语句参数、所述sql语句M、所述第一数据库表的数据库地址以及所述第一数据库表的物理表名组合后访问所述第一数据库表,获得访问结果;将所述语句参数、所述sql语句K、所述第二数据库表的数据库地址以及所述第二数据库表的物理表名组合...

【专利技术属性】
技术研发人员:陈正殷舒刘胜祝晓潭余兴华张骁
申请(专利权)人:联动优势科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1