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

技术编号:16755720 阅读:25 留言:0更新日期:2017-12-09 02:10
本发明专利技术公开了一种数据访问方法及设备,用于提高数据访问的成功率。其中的数据访问方法包括:接收终端发送的数据访问请求;其中,所述数据访问请求用于请求访问第一数据,所述第一数据分割成的多个分片分散存储在多个主数据库,所述多个主数据库对应多个备份数据库,所述备份数据库用于对所述主数据库的数据进行备份;根据所述数据访问请求计算路由结果;其中,所述路由结果用于指示存储所述第一数据所包括的多个分片的至少一个主数据库,及至少一个备份数据库;在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库失败时,访问所述至少一个备份数据库中与访问失败的主数据库对应的备份数据库,获得所述第一数据。

A data access method and equipment

The invention discloses a data access method and device for improving the success rate of data access. Including the data access method in which the receiving terminal sends a data access request; wherein, the data access request for requesting access to the first data, the first data is divided into a plurality of pieces stored in multiple databases, the primary database corresponding to multiple backup database, backup database for the the main database backup; according to the data access request routing calculation results; among them, the routing results indicating the first data storage includes a plurality of pieces of at least one of the main data base, and at least one backup database; according to the routing results in access to the at least one of the main parts in the database or all database fails, the backup data accessing the at least one backup database and database access failed corresponding Library, obtain the first data.

【技术实现步骤摘要】
一种数据访问方法及设备
本专利技术涉及数据库
,特别涉及一种数据访问方法及设备。
技术介绍
随着计算机和网络应用的日益广泛以及不同领域的业务种类的日益丰富,网络应用系统的数据量越来越大,数据的种类也越来越多,网络应用系统对数据的访问也越来越频繁。由于数据库的数据经常被用于备份或数据统计等操作,那么就无法保证数据库在任何时刻都是可以提供服务的,例如,在数据库发生故障,网络发生故障,系统发生故障,例如磁盘满等的情况下,数据库就无法提供服务,那么终端就无法成功访问第一数据,从而导致数据访问的成功率较低。
技术实现思路
本专利技术实施例提供一种数据访问方法及设备,用于提高数据访问的成功率。第一方面,本专利技术一实施例提供了一种数据访问方法,所述数据访问方法包括:接收终端发送的数据访问请求;其中,所述数据访问请求用于请求访问第一数据,所述第一数据分割成的多个分片分散存储在多个数据库,所述多个主数据库对应多个备份数据库,所述备份数据库用于对所述主数据库的数据进行备份;根据所述数据访问请求计算路由结果;其中,所述路由结果用于指示存储所述第一数据所包括的多个分片的至少一个主数据库,及至少一个备份数据库;在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库失败时,访问所述至少一个备份数据库中与访问失败的主数据库对应的备份数据库,获得所述第一数据。可选的,还包括:在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库失败时,将访问失败的主数据库上报给其他设备,以维护所述访问失败的主数据库。可选的,根据所述数据访问请求计算路由结果,包括:将所述数据访问请求携带的请求访问参数输入设定的第三方程序,并接收所述第三方程序输出的路由结果;其中,所述第三方程序通过运行脚本文件的方式实现。可选的,所述第三方程序是根据分片规则进行编辑的程序;其中,所述分片规则为所述第一数据分割成多个分片所依据的规则。可选的,在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库之前,还包括:检测所述至少一个主数据库中的每个数据库是否有效,对有效的数据库进行访问。可选的,检测所述至少一个数据库中的每个数据库是否有效,包括:检测所述路由结果中包括的至少一个主数据库中的每个数据库是否有效;或,周期性地检测所述多个数据库中的每个数据库是否有效。第二方面,本专利技术一实施例提供了一种数据访问设备,所述数据访问设备包括:接收模块,用于接收终端发送的数据访问请求;其中,所述数据访问请求用于请求访问第一数据,所述第一数据分割成的多个分片分散存储在多个主数据库,所述多个主数据库对应多个备份数据库,所述备份数据库用于对所述主数据库的数据进行备份;计算模块,用于根据所述数据访问请求计算路由结果;其中,所述路由结果用于指示存储所述第一数据所包括的多个分片的至少一个主数据库,及至少一个备份数据库;访问模块,用于在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库失败时,访问所述至少一个备份数据库中与访问失败的主数据库对应的备份数据库,获得所述第一数据。可选的,还包括发送模块,所述发送模块用于:在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库失败时,将访问失败的主数据库上报给其他设备,以维护所述访问失败的主数据库。可选的,所述计算模块根据所述数据访问请求计算路由结果,包括:将所述数据访问请求携带的请求访问参数输入设定的第三方程序,并接收所述第三方程序输出的路由结果;其中,所述第三方程序通过运行脚本文件的方式实现。可选的,所述第三方程序是根据分片规则进行编辑的程序;其中,所述分片规则为所述第一数据分割成多个分片所依据的规则。可选的,还包括检测模块,所述检测模块用于:在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库之前,检测所述至少一个主数据库中的每个数据库是否有效,对有效的数据库进行访问。可选的,所述检测模块用于检测所述至少一个主数据库中的每个数据库是否有效,包括:检测所述路由结果中包括的至少一个主数据库中的每个数据库是否有效;或,周期性地检测所述多个主数据库中的每个数据库是否有效。本专利技术实施例提供一种数据访问方法,可以将第一数据分割成的多个分片所在的多个主数据库进行备份,即设置了备份数据库,在对第一数据进行访问时,首先访问主数据库,如果访问失败,那么有可能主数据库发生了故障,此时可以访问备份数据库,以获得第一数据,从而提高了数据访问的成功率。附图说明图1是本专利技术实施例提供的数据访问方法流程图;图2为本专利技术实施例提供的数据访问设备的一种结构示意图;图3为本专利技术实施例提供的数据访问设备的一种结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。下面结合说明书附图介绍本专利技术实施例提供的技术方案。请参见图1,本专利技术实施例提供一种数据访问方法,该方法的流程描述如下:S101:接收终端发送的数据访问请求;其中,数据访问请求用于请求访问第一数据,第一数据分割成的多个分片分散存储在多个主数据库,多个主数据库对应多个备份数据库,备份数据库用于对所述主数据库的数据进行备份;S102:根据数据访问请求计算路由结果;其中,路由结果用于指示存储第一数据所包括的多个分片的至少一个主数据库,及至少一个备份数据库;S103:在根据路由结果访问至少一个主数据库中的部分或全部数据库失败时,访问至少一个备份数据库中与访问失败数据库对应的备份数据库,获得第一数据。本专利技术实施例中,第一数据可以理解为待访问的数据,通常情况下,第一数据以数据表的形式存储,该数据表存储在数据库,数据库存储在服务器上。如果第一数据都存储在一张数据表,对第一数据访问时就需要对整张数据表进行操作,如果第一数据的数据量较大,这样显然会增加数据库的负担。为了减轻数据库的负担,通常将第一数据的数据库总表按照一定的分片规则进行分片,分割成多个分片,再将多个分片分散存储在多个数据库。例如,针对一年的订单数据表,可以按照时间规则,例如以月为单位将该订单数据表进行分割,可以分割成12个子订单数据表,其中的子订单数据表可以称为数据库。多个数据库可以存储在一台服务器上,也可以存储在多台服务器上。本专利技术实施例中,第一数据分割成的多个分片所在的多个数据库称为主数据库。对第一数据进行访问,就是对一台或多台服务器上的多个主数据库中的数据进行访。在访问之前,可以通过分片路由按照与分片规则对应的路由规则计算出第一数据所在的主数据库有哪些,从而对计算出的主数据库进行访问,获得第一数据。由于数据库有时可能发生故障,那么就无法保证数据库在任何时刻都是可以提供服务的,例如,数据库发生故障,网络发生故障,系统发生故障,磁盘满等,导致的数据库无法提供服务,在这种情况下,终端就无法成功访问第一数据,从而造成数据访问的成功率较低。鉴于此,本专利技术实施例在初始时,对每个主数据库进行备份,每个主数据库都相应设置一份或多份备份数据库,对主数据库进行备份获得的数据库称为备份数据库。其中备份数据库中的数据可以通过数据复制工具实现与主数据库中的数据一致。用户可以通过终端访问第一数据,终端要访问第一数据,就需要知道第一数据存储在哪张数据表,这张数据表存本文档来自技高网...
一种数据访问方法及设备

【技术保护点】
一种数据访问方法,其特征在于,包括:接收终端发送的数据访问请求;其中,所述数据访问请求用于请求访问第一数据,所述第一数据分割成的多个分片分散存储在多个主数据库,所述多个主数据库对应多个备份数据库,所述备份数据库用于对所述主数据库的数据进行备份;根据所述数据访问请求计算路由结果;其中,所述路由结果用于指示存储所述第一数据所包括的多个分片的至少一个主数据库,及至少一个备份数据库;在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库失败时,访问所述至少一个备份数据库中与访问失败的主数据库对应的备份数据库,获得所述第一数据。

【技术特征摘要】
1.一种数据访问方法,其特征在于,包括:接收终端发送的数据访问请求;其中,所述数据访问请求用于请求访问第一数据,所述第一数据分割成的多个分片分散存储在多个主数据库,所述多个主数据库对应多个备份数据库,所述备份数据库用于对所述主数据库的数据进行备份;根据所述数据访问请求计算路由结果;其中,所述路由结果用于指示存储所述第一数据所包括的多个分片的至少一个主数据库,及至少一个备份数据库;在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库失败时,访问所述至少一个备份数据库中与访问失败的主数据库对应的备份数据库,获得所述第一数据。2.如权利要求1所述的方法,其特征在于,还包括:在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库失败时,将访问失败的主数据库上报给其他设备,以维护所述访问失败的主数据库。3.如权利要求1所述的方法,其特征在于,根据所述数据访问请求计算路由结果,包括:将所述数据访问请求携带的请求访问参数输入设定的第三方程序,并接收所述第三方程序输出的路由结果;其中,所述第三方程序通过运行脚本文件的方式实现。4.如权利要求2所述的方法,其特征在于,所述第三方程序是根据分片规则进行编辑的程序;其中,所述分片规则为所述第一数据分割成多个分片所依据的规则。5.如权利要求1-3任一所述的方法,其特征在于,在根据所述路由结果访问所述至少一个主数据库中的部分或全部数据库之前,还包括:检测所述至少一个主数据库中的每个主数据库是否有效,对有效的主数据库进行访问。6.如权利要求5所述的方法,其特征在于,检测所述至少一个数据库中的每个主数据库是否有效,包括:检测所述路由结果中包括的至少一个主数据库中的每个主数据库是否有效;或,周期性地检测所述多个主数据库中的每个主数据库是否有效。7.一种数据访问设备,其特征在于,包括:接收模块,用于接收终端发送...

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

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

1