The invention discloses a data access method and device, the method includes: obtaining a database access request, the request including sqlid, patch and field data request parameters to access the database; according to the divided field and the sqlid, to determine the virtual table logo, the logo is a logical virtual table identifies the entity in the system database; according to the mapping relationship between the virtual table identification and entity library table, obtain the need to access the entity library table A; the SQL statement to the data request statement parameters in sqlid and the corresponding combination of access to the entity database table A, access results. Therefore, it effectively solves the technical problems of high maintenance cost of fragmentation routing rules in existing technology, and has the beneficial effect of reducing the modification of fragmentation routing rules and reducing the operation cost of fragmentation routing rules.
【技术实现步骤摘要】
一种数据访问方法及设备
本专利技术涉及电子
,尤其涉及一种数据访问方法及设备。
技术介绍
随着互联网业务的发展,交易系统的业务量指数增长。同时,互联网业务经常进行促销活动,会导致某一时间段内交易量激增,出现交易高峰。交易系统目前普遍依赖数据库作为数据持久化的工具,一旦发生交易高峰的情况,数据库操作会成为瓶颈。因此,分布式数据库的方案普遍被互联网公司使用,将数据库的表横向拆分为多个库的多个表中,以降低每张分片表的处理负载,整体上提升数据库的访问效率,这就需要通过制定分片路由规则以实现分布式架构下数据的访问。目前已有的数据分片路由方案在实际业务运行过程中,当数据库表需要进行迁移或数据库表分片结构产生变动时,则需要对相应的分片路由规则进行修改,进而增加分片路由规则运维成本和风险。所以,现有技术中,存在分片路由规则维护成本高的技术问题。
技术实现思路
本专利技术实施例提供一种数据访问方法及设备,用于解决现有技术中,存在分片路由规则维护成本高的技术问题。本专利技术实施例提供的具体技术方案如下:获得数据库访问请求,所述数据库访问请求中包括sqlid、分片字段以及数据请求参数;根据所述分片字段和所述sqlid,确定虚拟库表标识,所述虚拟库表标识为实体库表在系统中的逻辑标识;根据虚拟库表标识与实体库表的映射关系,获得需要访问的实体库表A;将所述数据请求参数中的语句参数与所述sqlid对应的sql语句进行组合后访问所述实体库表A,获得访问结果。可选的,所述映射关系为每一个实体库表对应至少一个虚拟库表标识。可选的,所述sqlid至少映射两个不同类型实体库的sql语句时,所述 ...
【技术保护点】
一种数据访问方法,其特征在于,包括:获得数据库访问请求,所述数据库访问请求中包括sqlid、分片字段以及数据请求参数;根据所述分片字段和所述sqlid,确定虚拟库表标识,所述虚拟库表标识为实体库表在系统中的逻辑标识;根据虚拟库表标识与实体库表的映射关系,获得需要访问的实体库表A;将所述数据请求参数中的语句参数与所述sqlid对应的sql语句进行组合后访问所述实体库表A,获得访问结果。
【技术特征摘要】
1.一种数据访问方法,其特征在于,包括:获得数据库访问请求,所述数据库访问请求中包括sqlid、分片字段以及数据请求参数;根据所述分片字段和所述sqlid,确定虚拟库表标识,所述虚拟库表标识为实体库表在系统中的逻辑标识;根据虚拟库表标识与实体库表的映射关系,获得需要访问的实体库表A;将所述数据请求参数中的语句参数与所述sqlid对应的sql语句进行组合后访问所述实体库表A,获得访问结果。2.如权利要求1所述的方法,其特征在于,所述映射关系为每一个实体库表对应至少一个虚拟库表标识。3.如权利要求2所述的方法,其特征在于,所述sqlid至少映射两个不同类型实体库的sql语句时,所述将所述数据请求参数中的语句参数与所述sqlid对应的sql语句进行组合后访问所述实体库表A,获得访问结果,具体包括:确定所述实体库表A所在的实体库类型为B;从所述sqlid映射的sql语句中,确定出与类型B对应的sql语句C作为对所述实体库表A进行操作的sql语句;将所述数据请求参数中的语句参数与所述sql语句C进行组合后访问所述实体库表A,获得访问结果。4.如权利要求3所述的方法,其特征在于,所述sqlid对应的每一条sql语句为针对实体库的单表操作或为针对实体库的多表关联操作。5.如权利要求4中所述的方法,其特征在于,所述根据所述分片字段和所述sqlid,确定虚拟库表标识,具体包括:将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;根据...
【专利技术属性】
技术研发人员:殷舒,刘胜,陈正,祝晓潭,汤成山,任慧玲,
申请(专利权)人:联动优势科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。