CN107391622A - 一种数据访问方法及设备 - Google Patents

一种数据访问方法及设备 Download PDF

Info

Publication number
CN107391622A
CN107391622A CN201710547554.7A CN201710547554A CN107391622A CN 107391622 A CN107391622 A CN 107391622A CN 201710547554 A CN201710547554 A CN 201710547554A CN 107391622 A CN107391622 A CN 107391622A
Authority
CN
China
Prior art keywords
data
access
sqlid
data source
program code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710547554.7A
Other languages
English (en)
Other versions
CN107391622B (zh
Inventor
陈正
殷舒
刘胜
祝晓潭
余兴华
赵树伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Union Mobile Pay Co Ltd
Original Assignee
Union Mobile Pay Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Union Mobile Pay Co Ltd filed Critical Union Mobile Pay Co Ltd
Priority to CN201710547554.7A priority Critical patent/CN107391622B/zh
Publication of CN107391622A publication Critical patent/CN107391622A/zh
Application granted granted Critical
Publication of CN107391622B publication Critical patent/CN107391622B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据访问方法及设备,所述方法包括:获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识;根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中;从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问,所以,能够有效的解决现有技术中,存在的难以支持多种数据源的分片数据访问的技术问题,能够实现对不同数据源的分片数据进行访问的有益效果。

Description

一种数据访问方法及设备
技术领域
本发明涉及电子技术领域,尤其涉及一种数据访问方法及设备。
背景技术
随着互联网业务的发展,交易系统的业务量指数增长。同时,互联网业务经常进行促销活动,会导致某一时间段内交易量激增,出现交易高峰。交易系统目前普遍依赖数据库作为数据持久化的工具,一旦发生交易高峰的情况,数据库操作会成为瓶颈。
因此,分布式数据库的方案普遍被互联网公司使用,将数据库的表横向拆分为多个库的多个表中,以降低每张分片表的处理负载,整体上提升数据库的访问效率,这就需要通过制定分片路由规则以实现分布式架构下数据的访问。
同时,业务数据不只存放在关系型数据库中,还会根据业务需求使用非关系型数据库(Nosql)、缓存、文件、对象存储等方式保存数据。因此,目前针对关系型数据库的分片数据访问方案很难支持其他数据存储方式的数据访问。
所以,现有技术中,存在难以支持多种数据源的分片数据访问的技术问题。
发明内容
本发明实施例提供一种数据访问方法及设备,用于解决现有技术中,存在分片数据访问效率低的技术问题。
本发明实施例提供的具体技术方案如下:
获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识;
根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中;
从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;
根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问。
可选的,所述从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D,具体包括:
确定所述数据源B的类型;
从所述sqlid映射的程序代码标识中,确定出与所述数据源B的类型对应的程序代码标识D作为对数据源B进行操作的程序代码标识。
可选的,所述根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中,具体包括:
将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;
根据所述路由结果确定出需要访问的数据存在数据源B中。
可选的,所述sqlid的字节数小于等于10字节。
可选的,所述根据所述程序代码标识D对应的访问方法,对所述数据源B中需要访问的数据进行访问,具体包括:
确定出所述程序代码标识D对应的类名;
实例化所述类名的代码程序并调用方法,对所述数据源B中需要访问的数据进行访问。
第二方面,本发明实施例提供了一种数据访问设备,包括:
访问控制模块:用于获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识;
分片路由模块:用于根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中;
所述访问控制模块还用于:从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;以及根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问。
可选的,所述访问控制模块,具体用于:
确定所述数据源B的类型;
从所述sqlid映射的程序代码标识中,确定出与所述数据源B的类型对应的程序代码标识D作为对数据源B进行操作的程序代码标识。
可选的,所述分片路由,具体用于:
将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;
根据所述路由结果确定出需要访问的数据存在数据源B中。
可选的,所述sqlid的字节数小于等于10字节。
可选的,所述访问控制模块,具体用于:
确定出所述程序代码标识D对应的类名;
实例化所述类名的代码程序并调用方法,对所述数据源B中需要访问的数据进行访问。
基于上述技术方案,本发明实施例中,采用了获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及逻辑表名,所述sqlid至少映射一种程序代码标识;根据所述分片字段和所述逻辑表名,确定需要访问的数据存在数据源B中;从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问的技术,也即在本发明实施例中,数据访问的请求参数使用sqlid,且sqlid对应着至少一个数据源的程序代码标识,可以通过实例化并执行程序代码标识对应的程序,以实现不同数据源的数据访问(非sql语句执行的方式)的能力,以支持基于非关系型数据库的多种数据源(包含但不限于:Nosql数据库、缓存、文件、对象存储等)的数据分片访问方案,所以,有效的解决了现有技术中,存在难以支持多种数据源的分片数据访问的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例提供的一种数据访问方法的流程图;
图2为本发明实施例提供的数据访问方法中步骤S102的具体实现方式流程图;
图3为本发明实施例提供的数据访问方法中步骤S103的具体实现方式流程图;
图4为本发明实施例提供的数据访问方法中步骤S104的具体实现方式流程图;
图5为本发明实施例提供的一种数据访问设备结构示意图;
图6为本发明实施例提供的另一种数据访问设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本发明文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明技术方案保护的范围。
本发明实施例中,如图1所示,数据访问过程如下:
步骤S101:获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识;
步骤S102:根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中;
步骤S103:从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;
步骤S104:根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问。
在具体实施过程中,数据访问子系统首先执行上述步骤S101,也即获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识。
在实际应用中,在需要对存储在文件中或文件系统中或缓存中等数据源中的数据进行访问时,数据访问子系统就会接收到应用系统发送来的数据访问请求,该访问请求中包括sqlid、分片字段以及数据请求参数,当然,在实际应用中,可以根据需要在访问请求中配置其他的参数,如数据物理地址等,在此就不一一列举。
在本实施例中,数据访问请求中的sqlid作为对数据进行访问的程序代码标识的参数,定义sqlid映射至少映射一种程序代码标识,当然,可以根据实际需要,选择sqlid映射一种程序代码标识,还是映射至少两种程序代码标识。具体的,当sqlid映射一种程序代码标识时,sqlid与程序代码标识为一对一的对应关系,该程序代码标识用于对需要访问的数据进行操作;当sqlid映射至少两种程序代码标识时,至少两种程序代码标识分别用于对存储在不同类型数据源中的需要访问的数据进行操作,此时sqlid与程序代码标识为一对多的对应关系,也即每一个sqlid对应至少两种程序代码标识。
例如,当sqlid映射两种程序代码标识时,可以定义sqlid分别对应数据源类型为Db2的数据源A的程序代码标识,以及对应数据源类型为Redis的数据源B的程序代码标识;当sqlid映射三个不同类型数据源的程序代码标识,可以定义sqlid分别对应数据源类型为Db2的数据源A的程序代码标识,对应数据源类型为Redis的数据源B的程序代码标识,以及对应数据源类型为Es的数据源C的程序代码标识等,在此就不一一列举了。
在本发明实施例中,具体以sqlid分别映射数据源A,数据源B以及数据源C的程序代码标识为例,具体定义sqlid分别对应数据源类型为Db2的数据源A的程序代码标识,对应数据源类型为Redis的数据源B的程序代码标识,以及对应数据源类型为Es的数据源C的程序代码标识,同时设置sqlid的字节数不超过10字节,例如,可以选择sqlid的字节数为10个字节,也可以选择sqlid的字节数为5个字节,在本发明实施例中,具体以sqlid的字节数为10个字节为例。
在实际应用中,在数据访问子系统接收到上述数据访问请求后,数据访问子系统就会执行步骤S102:根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中。
请参考图2,在实际应用中,上述步骤S102还可以按照以下方式实现:
骤S1021:将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;
骤S1022:根据所述路由结果确定出需要访问的数据存在数据源B中。
具体的,数据访问子系统会根据接收到的数据访问请求,确定出该数据访问请求中包含的sqlid、分片字段以及数据请求参数,然后,数据访问子系统就会调用第三方程序,然后将分片字段和sqlid作为参数输入该第三方程序进行路由计算,在实际应用中,第三方程序可以为脚本方法,该脚本方法的处理逻辑通过编写脚本语言实现,并在高级语言的脚本引擎中执行,如在java运行环境中执行JavaScript脚本语言的方式等,脚本语言的执行效率与本地二进制代码效率相当,且更容易进行脚本升级、由于脚本语言是图灵完备的,因此,可以实现数据源的各种路由规则逻辑处理,对分片路由的支持更加广泛。
在本实施例中,具体以第三方程序为脚本方法为例,那么,将分片字段和sqlid作为参数输入到脚本方法对应的程序中进行路由计算,这里假设路由结果包括数据源B,那么,数据访问子系统就可以从路由结果中确定出需要访问的数据存在数据源B中,当然,在实际应用中,上述路由计算获得路由结果除了数据源B以外,还可以包括数据源B的地址,以及数据源B的物理表名等,在此就不一一列举。
在数据访问子系统确定出需要访问数据存在数据源B中之后,本实施例中的方法就会执行步骤S103:从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D。
请参考图3,在实际应用中,步骤S103还可以按照以下方式实现:
步骤S1031:确定所述数据源B的类型;
步骤S1032:从所述sqlid映射的程序代码标识中,确定出与所述数据源B的类型对应的程序代码标识D作为数据源B进行操作的程序代码标识。
具体的,数据访问子系统确定出需要访问的数据存储在数据源B中之后,数据访问子系统就会去确认数据源B的类型,在具体实践中,在数据访问子系统中可以以表一所示的表格形式存储数据源与数据源类型的对应关系:
表一
数据源A Db2
数据源B Redis
数据源C Es
那么,根据表一,数据访问子系统可以确定出数据源B的数据源类型具体为Redis,然后,数据访问子系统就会从sqlid分别映射的数据源A,数据源B以及数据源C的程序代码标识中,确定出与数据源B类型Redis对应的程序代码标识作为对存储在数据源B中的数据进行操作的程序代码标识,这里,假设sqlid分别映射的数据源A,数据源B以及数据源C的程序代码标识配置如下:
sqlid.testId.db2=Dao4DB2
sqlid.testId.redis=Dao4Redis
sqlid.testId.es=Dao4ES
那么,数据访问子系统就会从上述配置中选出数据源类型Redis对应的程序代码标识也即Dao4Redis,作为对存储在数据源B中需要访问的数据进行操作的程序。
在本实施例中的方法执行完步骤S103之后,就会执行步骤S104:根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问。
请参考图4,在实际应用中,上述步骤S104还可以按照以下方式执行:
步骤S1041:确定出所述程序代码标识D对应的类名;
步骤S1042:实例化所述类名的代码程序并调用方法,对所述数据源B中需要访问的数据进行访问。
在具体的实施例中,数据访问子系统确定出与数据源B类型Redis对应的程序代码标识之后,数据访问子系统就会去确定与该程序代码标识对应的一个类名,该类名的文件中存储有对数据进行具体处理的方法对应的程序代码,因此,就可以实例化该类名的代码程序并调用其方法对存储在数据源B中需要访问的数据进行访问,然后将访问结果输出到数据系统中。
所以,通过上述方法,本发明利用数据访问的请求参数使用sqlid,且sqlid对应着至少一个数据源的程序代码标识,可以通过实例化并执行程序代码标识对应的程序,以实现不同数据源的数据访问(非sql语句执行的方式)的能力,以支持基于非关系型数据库的多种数据源(包含但不限于:Nosql数据库、缓存、文件、对象存储等)的数据分片访问方案,所以,有效的解决了现有技术中,存在难以支持多种数据源的分片数据访问的技术问题。
由于本发明实施例使用sqlid的方式对存储在数据源中的数据进行访问,可以按每一条程序代码标识进行权限控制,所以,权限控制力度比传统数据源更细,同时,数据访问的请求参数使用sqlid而不是程序代码标识,这样数据访问请求报文中不会出现数据源中表和字段的信息,也起到了对数据源结构保护的作用。
另外,数据源访问的请求中参数使用sqlid,且sqlid使用不超过10个字节,所以,也节省网络请求的流量。本发明实施例使用脚本方法作为第三方程序,脚本语言在高级语言的运行环境内部执行,分片路由的计算效率更高,所以,进一步提高了分片数据访问的效率。
基于同一发明构思,本发明实施例中提供了一种数据访问设备,该设备数据访问的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图5所示,该设备主要包括:
访问控制模块11:用于获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识;
分片路由模块12:用于根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中;
所述访问控制模块11还用于:从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;以及根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问。
可选的,所述从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D,具体包括:
确定所述数据源B的类型;
从所述sqlid映射的程序代码标识中,确定出与所述数据源B的类型对应的程序代码标识D作为对数据源B进行操作的程序代码标识。
可选的,所述根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中,具体包括:
将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;
根据所述路由结果确定出需要访问的数据存在数据源B中。
可选的,所述sqlid的字节数小于等于10字节。
可选的,所述根据所述程序代码标识D对应的访问方法,对所述数据源B中需要访问的数据进行访问,具体包括:
确定出所述程序代码标识D对应的类名;
实例化所述类名的代码程序并调用方法,对所述数据源B中需要访问的数据进行访问。
除此之外,在本发明实施例中的设备中,其对数据源访问进行统一管理,所有程序代码标识都在访问控制模块集中管理,因此,便于数据源管理员统一管理,更优化数据源访问,路由规则易于修改和扩展,路由规则独立于数据访问模块部署,路由规则修改后不需要数据访问整个模块进行升级。
基于同一发明构思,本发明实施例提供了一种数据访问设备,该设备数据访问的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图6所示,该设备主要包括处理器21和存储器22和,其中,存储器22中保存有预设的程序,处理器21读取存储器22中的程序,按照该程序执行以下过程:
获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识;
根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中;
从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;
根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问。
可选的,所述从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D,具体包括:
确定所述数据源B的类型;
从所述sqlid映射的程序代码标识中,确定出与所述数据源B的类型对应的程序代码标识D作为对数据源B进行操作的程序代码标识。
可选的,所述根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中,具体包括:
将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;
根据所述路由结果确定出需要访问的数据存在数据源B中。
可选的,所述sqlid的字节数小于等于10字节。
可选的,所述根据所述程序代码标识D对应的访问方法,对所述数据源B中需要访问的数据进行访问,具体包括:
确定出所述程序代码标识D对应的类名;
实例化所述类名的代码程序并调用方法,对所述数据源B中需要访问的数据进行访问。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据访问方法,其特征在于,包括:
获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识;
根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中;
从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;
根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问。
2.如权利要求1所述的方法,其特征在于,所述从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D,具体包括:
确定所述数据源B的类型;
从所述sqlid映射的程序代码标识中,确定出与所述数据源B的类型对应的程序代码标识D作为对数据源B进行操作的程序代码标识。
3.如权利要求2中所述的方法,其特征在于,所述根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中,具体包括:
将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;
根据所述路由结果确定出需要访问的数据存在数据源B中。
4.如权利要求3中所述的方法,其特征在于,所述sqlid的字节数小于等于10字节。
5.如权利要求4中所述的方法,其特征在于,所述根据所述程序代码标识D对应的访问方法,对所述数据源B中需要访问的数据进行访问,具体包括:
确定出所述程序代码标识D对应的类名;
实例化所述类名的代码程序并调用方法,对所述数据源B中需要访问的数据进行访问。
6.一种数据访问设备,其特征在于,包括:
访问控制模块:用于获得数据访问请求,所述数据访问请求中包括sqlid、分片字段以及数据请求参数,所述sqlid至少映射一种程序代码标识;
分片路由模块:用于根据所述分片字段和所述sqlid,确定需要访问的数据存在数据源B中;
所述访问控制模块还用于:从所述sqlid映射的程序代码标识中,确定出对所述数据源B进行操作的程序代码标识D;以及根据所述程序代码标识D对应的预设访问方法,对所述数据源B中需要访问的数据进行访问。
7.如权利要求6所述的设备,其特征在于,所述访问控制模块,具体用于:
确定所述数据源B的类型;
从所述sqlid映射的程序代码标识中,确定出与所述数据源B的类型对应的程序代码标识D作为对数据源B进行操作的程序代码标识。
8.如权利要求7中所述的设备,其特征在于,所述分片路由模块,具体用于:
将所述分片字段和所述sqlid作为参数输入到预设的第三方程序进行路由计算,获得路由结果;
根据所述路由结果确定出需要访问的数据存在数据源B中。
9.如权利要求8中所述的设备,其特征在于,所述sqlid的字节数小于等于10字节。
10.如权利要求9中所述的设备,其特征在于,所述访问控制模块,具体用于:
确定出所述程序代码标识D对应的类名;
实例化所述类名的代码程序并调用方法,对所述数据源B中需要访问的数据进行访问。
CN201710547554.7A 2017-07-06 2017-07-06 一种数据访问方法及设备 Active CN107391622B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710547554.7A CN107391622B (zh) 2017-07-06 2017-07-06 一种数据访问方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710547554.7A CN107391622B (zh) 2017-07-06 2017-07-06 一种数据访问方法及设备

Publications (2)

Publication Number Publication Date
CN107391622A true CN107391622A (zh) 2017-11-24
CN107391622B CN107391622B (zh) 2020-12-04

Family

ID=60335529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710547554.7A Active CN107391622B (zh) 2017-07-06 2017-07-06 一种数据访问方法及设备

Country Status (1)

Country Link
CN (1) CN107391622B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019234A (zh) * 2017-12-28 2019-07-16 中国电信股份有限公司 用于分片存储数据的方法和系统
CN111414391A (zh) * 2020-03-25 2020-07-14 平安资产管理有限责任公司 一种访问多数据源的方法及系统
CN113127700A (zh) * 2021-05-12 2021-07-16 中国建设银行股份有限公司 访问数据源的方法、装置、设备和计算机可读介质
CN114138829A (zh) * 2020-09-03 2022-03-04 金篆信科有限责任公司 共享Prepare Statement的方法、系统和网络设备
CN114490826A (zh) * 2022-01-29 2022-05-13 杭州宇信数字科技有限公司 请求响应方法、数据存储方法、装置、服务器及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834287B1 (en) * 2001-03-14 2004-12-21 Trilogy Development Group, Inc. Classification engine for managing attribute-based data
CN101196926A (zh) * 2007-12-29 2008-06-11 中国建设银行股份有限公司 一种数据库访问平台及其访问方法
KR100877156B1 (ko) * 2008-04-17 2009-01-07 (주)아이티엑스퍼트그룹 비정형 질의언어에 대한 사전 성능 분석 시스템 및 방법
CN101958838A (zh) * 2010-10-14 2011-01-26 联动优势科技有限公司 数据访问方法及装置
CN101980213A (zh) * 2010-11-23 2011-02-23 中国科学院软件研究所 一种基于j2ee的数据持久化方法及系统
CN103853718A (zh) * 2012-11-28 2014-06-11 纽海信息技术(上海)有限公司 分片数据库访问方法及数据库系统
CN104166705A (zh) * 2014-08-06 2014-11-26 广州华多网络科技有限公司 数据库的访问方法及装置
CN104598840A (zh) * 2015-02-04 2015-05-06 新余兴邦信息产业有限公司 基于Http协议的多数据源的数据处理方法及系统
CN106294565A (zh) * 2016-07-27 2017-01-04 中国农业银行股份有限公司 一种数据库访问方法及系统
CN106547766A (zh) * 2015-09-18 2017-03-29 华为技术有限公司 一种数据访问方法和装置
CN106802932A (zh) * 2016-12-28 2017-06-06 华为技术有限公司 一种数据库的路由方法、装置及数据库系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834287B1 (en) * 2001-03-14 2004-12-21 Trilogy Development Group, Inc. Classification engine for managing attribute-based data
CN101196926A (zh) * 2007-12-29 2008-06-11 中国建设银行股份有限公司 一种数据库访问平台及其访问方法
KR100877156B1 (ko) * 2008-04-17 2009-01-07 (주)아이티엑스퍼트그룹 비정형 질의언어에 대한 사전 성능 분석 시스템 및 방법
CN101958838A (zh) * 2010-10-14 2011-01-26 联动优势科技有限公司 数据访问方法及装置
CN101980213A (zh) * 2010-11-23 2011-02-23 中国科学院软件研究所 一种基于j2ee的数据持久化方法及系统
CN103853718A (zh) * 2012-11-28 2014-06-11 纽海信息技术(上海)有限公司 分片数据库访问方法及数据库系统
CN104166705A (zh) * 2014-08-06 2014-11-26 广州华多网络科技有限公司 数据库的访问方法及装置
CN104598840A (zh) * 2015-02-04 2015-05-06 新余兴邦信息产业有限公司 基于Http协议的多数据源的数据处理方法及系统
CN106547766A (zh) * 2015-09-18 2017-03-29 华为技术有限公司 一种数据访问方法和装置
CN106294565A (zh) * 2016-07-27 2017-01-04 中国农业银行股份有限公司 一种数据库访问方法及系统
CN106802932A (zh) * 2016-12-28 2017-06-06 华为技术有限公司 一种数据库的路由方法、装置及数据库系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110019234A (zh) * 2017-12-28 2019-07-16 中国电信股份有限公司 用于分片存储数据的方法和系统
CN111414391A (zh) * 2020-03-25 2020-07-14 平安资产管理有限责任公司 一种访问多数据源的方法及系统
CN114138829A (zh) * 2020-09-03 2022-03-04 金篆信科有限责任公司 共享Prepare Statement的方法、系统和网络设备
WO2022048390A1 (zh) * 2020-09-03 2022-03-10 中兴通讯股份有限公司 共享Prepare Statement的方法、系统、网络设备及存储介质
CN113127700A (zh) * 2021-05-12 2021-07-16 中国建设银行股份有限公司 访问数据源的方法、装置、设备和计算机可读介质
CN114490826A (zh) * 2022-01-29 2022-05-13 杭州宇信数字科技有限公司 请求响应方法、数据存储方法、装置、服务器及存储介质
CN114490826B (zh) * 2022-01-29 2023-01-13 杭州宇信数字科技有限公司 请求响应方法、数据存储方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN107391622B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN107391622A (zh) 一种数据访问方法及设备
CN106980669B (zh) 一种数据的存储、获取方法及装置
US20210097043A1 (en) Data processing method, device, and a storage medium
US9703808B2 (en) Data masking setup
CN108737325A (zh) 一种多租户数据隔离方法、装置及系统
CN105100050B (zh) 用户权限管理方法及系统
CN109918472A (zh) 存储和查询数据的方法、装置、设备和介质
CN105335412A (zh) 用于数据转换、数据迁移的方法和装置
CN110019125A (zh) 数据库管理的方法和装置
CN108428104A (zh) 薪资计算方法、应用服务器及计算机可读存储介质
CN107491700A (zh) 一种数据访问方法及设备
CN106951536A (zh) 数据转化方法及系统
CN106899750A (zh) 基于卡片的信息展示方法、信息展示业务的处理方法及装置
CN110781183A (zh) Hive数据库中增量数据的处理方法、装置以及计算机设备
CN107480205A (zh) 一种进行数据分区的方法和装置
CN111310232A (zh) 数据脱敏方法及装置、电子设备、存储介质
CN107506369A (zh) 一种数据访问方法及设备
CN104239412B (zh) 数据存储库中应用至存储库的数据映射及相关方法、系统和计算机可读介质
CN116089535A (zh) 数据同步方法、装置、设备及存储介质
CN105511914B (zh) 应用更新方法、装置和系统
CN107391272A (zh) 多进程数据交互的方法和终端
CN113760242B (zh) 一种数据处理方法、装置、服务器和介质
CN108268512A (zh) 一种标签查询方法及装置
CN113495498A (zh) 用于硬件设备的模拟方法、模拟器、设备和介质
CN113535258A (zh) 一种Pattern文件加载方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant