CN114553508B - 一种数据访问方法及装置 - Google Patents
一种数据访问方法及装置 Download PDFInfo
- Publication number
- CN114553508B CN114553508B CN202210130904.0A CN202210130904A CN114553508B CN 114553508 B CN114553508 B CN 114553508B CN 202210130904 A CN202210130904 A CN 202210130904A CN 114553508 B CN114553508 B CN 114553508B
- Authority
- CN
- China
- Prior art keywords
- data center
- accessed
- request
- identification
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据访问方法及装置,包括:请求端在第i次启动应用程序时,确定应用程序的第i启动时间段;请求端在确定第i启动时间段小于第n粘滞期时间阈值时,根据第n待访问数据中心的标识生成访问请求,并将访问请求发送至业务端;第n待访问数据中心的标识和第n粘滞期时间阈值是由业务端在第j次启动应用程序时确定并发送至请求端的;第n待访问数据中心的标识用于指示业务端将访问请求分发至第n待访问数据中心;第n粘滞期时间阈值是业务端根据第n待访问数据中心的同步数据丢失率确定的;j小于i。以此保证应用程序的数据一致性,提升应用程序中数据的实时性、准确性及安全性。
Description
技术领域
本发明涉及金融科技(Fintech)领域,尤其涉及一种数据访问方法及装置。
背景技术
目前,各互联网企业大多采用多数据中心的部署方式来保证数据的高可用。具体的,业界存在各式各样的异地多活处理方法;其中,异地多活是指在多个城市部署独立的数据中心,异地是指地理位置上的不同地点,多活是指不同地点均部署能够独立支撑业务的数据中心,进而实现数据的高可用。
然而,现有技术中,在进行跨数据中心访问数据时,存在数据不一致的问题,即无法保证数据的一致性,跨数据中心访问数据时存在安全隐患。例如,用户在客户端使用某一APP时,访问数据中心A1,将用户名由U1修改为U2,然后退出该APP。当该用户再次启用该APP时,发生跨数据中心操作,访问数据中心A2,此时若因为同步数据丢失率导致数据中心A1与数据中心A2的数据未同步,此时该APP的用户名仍为U1,而非U2,导致客户端上该APP的数据不一致,数据的安全性存在隐患。
发明内容
本发明实施例提供一种数据访问方法及装置,用于保证应用程序的数据一致性;进而提升应用程序中数据的实时性、准确性及安全性。
第一方面,本发明实施例提供一种数据访问方法,包括:
请求端在第i次启动应用程序时,确定所述应用程序的第i启动时间段;所述第i启动时间段为所述应用程序第i-1次启动后的结束时刻至第i次启动时刻的时间段;
所述请求端在确定所述第i启动时间段小于第n粘滞期时间阈值时,根据第n待访问数据中心的标识生成访问请求,并将所述访问请求发送至业务端;
所述第n待访问数据中心的标识和所述第n粘滞期时间阈值是由所述业务端在第j次启动应用程序时确定并发送至所述请求端的;所述第n待访问数据中心的标识用于指示所述业务端将所述访问请求分发至第n待访问数据中心;所述第n粘滞期时间阈值是所述业务端根据第n待访问数据中心的同步数据丢失率确定的;j小于i。
上述技术方案中,第n粘滞期时间阈值不大于第n待访问数据中心的同步数据丢失率,进而通过粘滞期时间阈值来确定是否允许请求端跨数据中心进行访问数据;也就是说,在确定第i启动时间段小于第n粘滞期时间阈值时,证明第n待访问数据中心未完成数据同步,因此不允许第i次启动的应用程序跨数据中心访问数据,保证了应用程序的数据一致性;进而提升了应用程序中数据的实时性、准确性及安全性。
可选的,所述方法还包括:
所述请求端在确定所述第i启动时间段不小于第n粘滞期时间阈值时,向所述业务端发送所述请求端的终端标识和/或地理位置信息;所述请求端的终端标识和/或地理位置信息用于所述业务端为所述请求端确定第m待访问数据中心和第m粘滞期时间阈值;
所述请求端接收并存储所述业务端发送的所述第m待访问数据中心的标识和所述第m粘滞期时间阈值。
上述技术方案中,在确定第i启动时间段不小于第n粘滞期时间阈值时,证明第n待访问数据中心已完成数据同步,允许第i次启动的应用程序跨数据中心访问数据,即可以访问第m待访问数据中心,保证了跨数据中心访问时应用程序的数据一致性。
可选的,所述方法还包括:
所述请求端在所述应用程序第i次启动后的结束时刻之前,均基于所述第n待访问数据中心与所述业务端进行交互。
上述技术方案中,应用程序在启动过程中,不进行跨数据中心访问数据,以此保证应用程序的数据访问准确性。
可选的,所述方法还包括:
所述请求端在登录应用程序时,向所述业务端发送所述请求端的用户标识;
所述请求端获取所述业务端发送的第k待访问数据中心的标识;所述第k待访问数据中心的标识是所述业务端根据所述请求端的用户标识确定的;
所述请求端基于所述第k待访问数据中心,与所述业务端进行交互。
上述技术方案中,用户在请求端登录应用程序时(如登录账号密码),可以由业务端指定请求端待访问的数据中心,以此避免用户在进行数据访问时发生跨数据中心操作,避免应用程序出现数据不一致的情况,保证应用程序的数据一致性,进而提升应用程序中数据的准确性及安全性。
可选的,与所述业务端进行交互之前,还包括:
所述请求端若确定自身存储的待访问数据中心的标识与所述第k待访问数据中心的标识不一致,则将所述第k待访问数据中心的标识覆盖自身存储的待访问数据中心的标识。
可选的,各待访问数据中心的数据同步是根据moray工具实现的;任一待访问数据中心的粘滞期时间阈值是根据moray工具的监控规则确定的。
可选的,所述moray工具的监控规则包括以下至少一项:
各待访问数据中心之间的同步数据丢失率、数据同步成功率、平均同步数据丢失率。
第二方面,本发明实施例提供一种数据访问方法,包括:
业务端获取请求端发送的数据中心请求,所述数据中心请求包括所述请求端的终端标识和/或地理位置信息;
所述业务端根据所述请求端的终端标识和/或地理位置信息确定待访问数据中心;
所述业务端根据所述待访问数据中心的同步数据丢失率确定粘滞期时间阈值,并将所述待访问数据中心的标识及所述粘滞期时间阈值发送至所述请求端。
上述技术方案中,粘滞期时间阈值不大于对应的待访问数据中心的同步数据丢失率,进而通过粘滞期时间阈值来确定是否允许请求端跨数据中心进行访问数据,以此保证应用程序的数据一致性,提升应用程序中数据的实时性、准确性及安全性。
可选的,还包括:
所述业务端获取所述请求端法发送的访问请求;所述访问请求是所述请求端根据所述待访问数据中心的标识生成的;
所述业务端根据所述待访问数据中心的标识将所述访问请求分发至所述待访问数据中心。
可选的,所述业务端根据所述待访问数据中心的标识将所述访问请求分发至所述待访问数据中心,包括:
所述业务端根据所述待访问数据中心的标识,通过网络组件的脚本将所述访问请求分发至所述待访问数据中心。
第三方面,本发明实施例提供一种数据访问装置,包括:
确定模块,用于在第i次启动应用程序时,确定所述应用程序的第i启动时间段;所述第i启动时间段为所述应用程序第i-1次启动后的结束时刻至第i次启动时刻的时间段;
处理模块,用于在确定所述第i启动时间段小于第n粘滞期时间阈值时,根据第n待访问数据中心的标识生成访问请求,并将所述访问请求发送至业务端;
所述第n待访问数据中心的标识和所述第n粘滞期时间阈值是由所述业务端在第j次启动应用程序时确定并发送至所述请求端的;所述第n待访问数据中心的标识用于指示所述业务端将所述访问请求分发至第n待访问数据中心;所述第n粘滞期时间阈值是所述业务端根据第n待访问数据中心的同步数据丢失率确定的;j小于i。
可选的,所述处理模块还用于:
在确定所述第i启动时间段不小于第n粘滞期时间阈值时,向所述业务端发送所述请求端的终端标识和/或地理位置信息;所述请求端的终端标识和/或地理位置信息用于所述业务端为所述请求端确定第m待访问数据中心和第m粘滞期时间阈值;
接收并存储所述业务端发送的所述第m待访问数据中心的标识和所述第m粘滞期时间阈值。
可选的,所述处理模块还用于:
在所述应用程序第i次启动后的结束时刻之前,均基于所述第n待访问数据中心与所述业务端进行交互。
可选的,所述处理模块还用于:
在登录应用程序时,向所述业务端发送所述请求端的用户标识;
获取所述业务端发送的第k待访问数据中心的标识;所述第k待访问数据中心的标识是所述业务端根据所述请求端的用户标识确定的;
基于所述第k待访问数据中心,与所述业务端进行交互。
可选的,所述处理模块还用于:
若确定自身存储的待访问数据中心的标识与所述第k待访问数据中心的标识不一致,则将所述第k待访问数据中心的标识覆盖自身存储的待访问数据中心的标识。
可选的,各待访问数据中心的数据同步是根据moray工具实现的;任一待访问数据中心的粘滞期时间阈值是根据moray工具的监控规则确定的。
可选的,所述moray工具的监控规则包括以下至少一项:
各待访问数据中心之间的同步数据丢失率、数据同步成功率、平均同步数据丢失率。
第四方面,本发明实施例提供一种数据访问装置,包括:
获取模块,用于获取请求端发送的数据中心请求,所述数据中心请求包括所述请求端的终端标识和/或地理位置信息;
响应模块,用于根据所述请求端的终端标识和/或地理位置信息确定待访问数据中心;
所述业务端根据所述待访问数据中心的同步数据丢失率确定粘滞期时间阈值,并将所述待访问数据中心的标识及所述粘滞期时间阈值发送至所述请求端。
可选的,所述获取模块还用于:
获取所述请求端法发送的访问请求;所述访问请求是所述请求端根据所述待访问数据中心的标识生成的;
所述响应模块还用于:
根据所述待访问数据中心的标识将所述访问请求分发至所述待访问数据中心。
可选的,所述响应模块具体用于:
根据所述待访问数据中心的标识,通过网络组件的脚本将所述访问请求分发至所述待访问数据中心。
第五方面,本发明实施例还提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述数据访问方法。
第六方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述数据访问方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构示意图;
图2为本发明实施例提供的一种业务端的系统结构示意图;
图3为本发明实施例提供的一种数据访问方法的流程示意图;
图4为本发明实施例提供的一种数据访问方法的流程示意图;
图5为本发明实施例提供的一种数据访问装置的结构示意图;
图6为本发明实施例提供的一种数据访问装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
目前,业界存在各式各样的异地多活处理方法;其中,异地多活是指在多个城市部署独立的数据中心,异地是指地理位置上的不同地点,多活是指不同地点均部署了能够独立支撑业务的数据中心。
进一步地,异地多活的场景中各数据中心实现业务的高可用和数据一致性一般包括以下几种方式:
方式一:中心城市的数据中心作为热备份,异地(即非中心城市)的数据中心作为冷备份。当热备份出现宕机或者其他故障时,将流量切到异地的冷备份。
方式二、指定用户所访问的数据中心;例如指定A1区域的用户仅访问数据中心B1,指定A2区域的用户仅访问数据中心B2等。
方式三、按照访问请求的类型指定所访问的数据中心;例如访问请求的类型包括读操作和写操作,则将读操作类型的访问请求指定访问数据中心B1,将写操作类型的访问请求指定访问数据中心B2。
但是,上述方式一中,冷备份的维护成本过高;另外,因为数据同步延时的问题,无法保证冷备份的数据与热备份的数据一致。
在上述方式二中,对于任一用户,无法实现跨数据中心的操作,无法实现业务的高可用。
在上述方式三中,对于既有读操作又有写操作的访问请求(如登陆请求,包括读操作的登录验证以及写操作的保存用户状态)无法实现。
基于上述描述,在一些跨数据中心的场景中,容易发生数据不一致的情况,如下述数据不一致的情况。
情况1、应用程序(如某一APP)第一次启动且用户未登录时,若将应用程序结束,然后再次启动并更换数据中心,因为同步数据丢失率问题,会导致再次启动的应用程序读取不到第一次启动时产生的正向数据;
情况2、应用程序启动且用户登录时,若将应用程序结束,然后再次启动并更换数据中心,因为同步数据丢失率问题,会导致再次启动的应用程序为未登录,即读取不到用户登录时产生的正向数据;
情况3、应用程序启动且用户退出登录时,若将应用程序结束,然后再次启动并更换数据中心,因为同步数据丢失率问题,会导致再次启动的应用程序仍处于登录状态,即读取不到用户退出登录时产生的正向数据;
情况4、用户在两终端设备上先后启动应用程序并登陆,且两终端设备所访问的数据中心不同时,后启动的应用程序与在前启动的应用程序中数据不一致。
情况5、用户同时在两终端设备同时登录,两终端设备所访问的数据中心不同,导致同时更新正向和反向数据的用户信息不一致;
情形6、用户在A终端设备上启动应用程序并登录,在B终端设备上退出登录,若再次启动A终端设备时访问B终端设备对应的数据中心,则导致A终端设备启动的应用程序为登录状态;
情况7、用户在A终端设备上启动应用程序并登录,将B终端设备上登录的应用程序踢出,导致同时更新正向和反向数据的用户信息不一致。
因此,先亟需一种数据访问方法,来保证应用程序的数据一致性;进而提升应用程序中数据的实时性、准确性及安全性。
图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构包括请求端110、业务端120和数据中心130。
其中,请求端110用于上送请求端的终端标识和/或地理位置信息;其中,请求端110可以为客户端,如DSN客户端、web客户端等,终端如手机、电脑等。
并获取业务端120反馈的待访问数据中心以及粘滞期时间阈值,根据粘滞期时间阈值确定是否向待访问数据中心进行数据访问。
业务端120,用于根据请求端110的终端标识和/或地理位置信息确定请求端110的待访问数据中心以及粘滞期时间阈值;并在获取请求端110发送的访问请求时,将访问请求路由到对应的数据中心。
数据中心130,用于提供请求端110发起的访问请求对应的数据。
进一步地,业务端120包括多个模块;图2为本发明实施例示例性示出的一种业务端的系统结构示意图,如图2所示,业务端120包括数据中心分流模块210、网络组件分发请求模块220、预路由模块230以及数据同步模块240。
其中,数据中心分流模块210用于根据请求端110的终端标识和/或地理位置信息确定请求端110的待访问数据中心以及粘滞期时间阈值。
网络组件分发请求模块220,用于对请求端110发起的访问请求进行分发。
预路由模块230,用于在用户登录应用程序时,向请求端发送指定的待访问数据中心。
数据同步模块240,用于使各数据中心的数据双向同步。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图3示例性的示出了本发明实施例提供的一种数据访问方法的流程示意图,该流程可由数据访问装置执行。
如图3所示,该流程具体包括:
步骤310,请求端在第i次启动应用程序时,确定所述应用程序的第i启动时间段。
本发明实施例中,第i启动时间段为应用程序第i-1结束时刻至第i启动时刻的时间段,i大于1;例如,第二次启动应用程序的第2启动时间段,为第1次应用程序的进程结束时刻(如18:10:42)至第2次应用程序的进程启动时刻(如18:10:53)的时间段,则第2启动时间段为11秒。
步骤320,所述请求端在确定所述第i启动时间段小于第n粘滞期时间阈值时,根据第n待访问数据中心的标识生成访问请求,并将所述访问请求发送至业务端。
本发明实施例中,第n待访问数据中心的标识和第n粘滞期时间阈值是由业务端在第j次启动应用程序时确定并发送至请求端的;其中,j小于i。
例如,j=2时,即第2次启动应用程序时,请求端获取了第n粘滞期时间阈值以及第n待访问数据中心的标识;在第3次启动应用程序时,即i=3,通过第2次启动应用程序时的粘滞期时间阈值来进行确定是否允许第3次启动应用程序是跨数据中心访问数据,以此保证应用程序的数据一致性。
第n待访问数据中心的标识用于指示业务端将访问请求分发至第n待访问数据中心;第n粘滞期时间阈值是业务端根据第n待访问数据中心的同步数据丢失率确定的;且第n粘滞期时间阈值不大于第n待访问数据中心的同步数据丢失率。假设第n待访问数据中心的同步数据丢失率为1分钟,可以设置第n粘滞期时间阈值为2分钟。
示例性的,存在第i启动时间段不小于第n粘滞期时间阈值时的应用场景,因此在本发明实施例中,在确定第i启动时间段不小于第n粘滞期时间阈值时,向业务端发送请求端的终端标识和/或地理位置信息;其中,请求端的终端标识和/或地理位置信息用于业务端为请求端确定第m待访问数据中心和第m粘滞期时间阈值;请求端接收并存储业务端发送的第m待访问数据中心的标识和第m粘滞期时间阈值。
也就是说,在确定第i启动时间段不小于第n粘滞期时间阈值时,允许应用程序跨数据中心访问数据;基于上述实例举例来说,在第3次启动应用程序时,第3启动时间段为5分钟,即用户在第2次使用应用程序并结束后5分钟再次启动应用程序;因为第3启动时间段为5分钟大于2分钟(第n粘滞期时间阈值),因此请求端可以重新请求第3次启动应用程序的待访问数据中心,即第m待访问数据中心;示例性的,第m待访问数据中心与第n待访问数据中心可以为同一个待访问数据中心。
为了更好的阐述上述业务端生成待访问数据中心和粘滞期时间阈值的技术方案,图4为本发明实施例示例性示出的一种数据访问方法的流程示意图,如图4所示,包括:
步骤410,业务端获取请求端发送的数据中心请求。
其中,数据中心请求包括所述请求端的终端标识和/或地理位置信息;例如,请求端的终端标识为某终端品牌及型号,请求端的地理位置信息为上海浦东新区。
步骤420,所述业务端根据所述请求端的终端标识和/或地理位置信息确定待访问数据中心。
例如,业务端根据地理位置信息为上海浦东新区,将上海的数据中心确定为请求端的待访问数据中心。
步骤430,所述业务端根据所述待访问数据中心的同步数据丢失率确定粘滞期时间阈值,并将所述待访问数据中心的标识及所述粘滞期时间阈值发送至所述请求端。
本发明实施例中,针对任一数据中心,业务端可以根据moray工具确定数据中心的同步数据丢失率,任一数据中心的粘滞期时间阈值是根据moray工具的监控规则确定的;其中,moray工具的监控规则包括以下至少一项:各数据中心之间的同步数据丢失率、数据同步成功率、平均同步数据丢失率。
在一种可实施的方式中,各数据中心的粘滞期时间阈值是基于自身的同步数据丢失率确定的,即各数据中心的粘滞期时间阈值是不同的;如数据中心A的粘滞期时间阈值为1分钟,数据中心B的粘滞期时间阈值为2分钟。
示例性的,针对任一数据中心,根据该数据中心与其他数据中心之间的数据同步数据丢失率的最大值确定为该数据中心的粘滞期时间阈值。
例如,数据中心共包括数据中心A、数据中心B和数据中心C,数据中心A与数据中心B和数据中心C的同步数据丢失率分别为1分钟、3分钟,因此可以将数据中心A的粘滞期时间阈值确定为3分钟。
在另一种可实施的方式中,各数据中心的粘滞期时间阈值可以是统一的,例如,根据各数据中心之间的同步数据丢失率、数据同步成功率、平均同步数据丢失率确定出统一的粘滞期时间阈值为2分钟。
为了保证应用程序在使用过程中的数据保持一致,请求端在应用程序第i次启动后的结束时刻之前,均基于第n待访问数据中心与业务端进行交互。
在本发明实施例中,针对启动后的应用程序登录的应用场景,通过业务方指定的待访问数据进行交互,以保证应用程序所访问数据的准确性和一致性。
具体的,请求端在登录应用程序时,向业务端发送请求端的用户标识;请求端获取业务端发送的第k待访问数据中心的标识;第k待访问数据中心的标识是业务端根据请求端的用户标识确定的;请求端基于第k待访问数据中心,与业务端进行交互。
其中,用户标识为请求端的唯一标识,如应用程序的账号等,在此不做限定。
举例来说,数据中心共包括“北京”、“上海A”和“上海B”,将各请求端的用户标识进行哈希运算,得到各哈希值,将哈希值的尾数与各数据中心的预设值相匹配;如“北京”的预设值为1、2、3、“上海A”的预设值为4、5、6、7、“上海B”的预设值为8、9、0;将哈希值尾数为1、2、3的请求端的待访问数据中心确定为“北京”、将哈希值尾数为4、5、6、7的请求端的待访问数据中心确定为“上海A”,将哈希值尾数为8、9、0的请求端的待访问数据中心确定为“上海B”;以此实现通过请求端的唯一标识对请求端指定待访问数据中心。
请求端在得到待访问数据中心的标识之后,根据待访问数据中心的标识与业务端进行交互之前,会对待访问数据中心的标识进行存储。
具体的,请求端若确定自身存储的待访问数据中心的标识第k待访问数据中心的标识不一致,则将第k待访问数据中心的标识覆盖自身存储的待访问数据中心的标识。
举例来说,在应用程序非第1次启动时(因为应用程序第一次启动时自身为存储有待访问数据中心),自身存储的待访问数据中心的标识为数据中心A,而业务端发送的待访问数据中心的标识为数据中心B,则将数据中心B覆盖数据中心A,即将数据中心B更新为自身存储的待访问数据中心的标识。
本发明实施例中,请求端在得到待访问数据中心的标识之后,请求端会根据待访问数据中心的标识生成访问请求,然后根据访问请求与业务端进行交互。
例如,请求端在访问信息中添加DC标记(即待访问数据中心的标记,如A),生成访问请求;然后将访问请求发送至业务端。
业务端用于针对DC标记对访问请求进行分发,以此实现请求端访问到对应的数据中心。
具体的,业务端获取请求端法发送的访问请求;然后根据待访问数据中心的标识将访问请求分发至待访问数据中心;其中,访问请求是请求端根据待访问数据中心的标识生成的。
进一步地,业务端根据待访问数据中心的标识,通过网络组件的脚本将访问请求分发至待访问数据中心。
举例来说,网络组件的脚本为nginx插件的lua脚本;例如,访问请求的DC标记为A,业务端根据nginx插件的lua脚本将该访问请求路由分发至待访问数据中心A。
本发明实施例中,根据请求端的地理位置信息和/或终端标识计算请求端的待访问数据中心以及粘滞期时间阈值,在粘滞期时间阈值内的访问请求都在当前的数据中心进行。如果超过粘滞期时间阈值,则请求端重新发起获取待访问数据中心,实现请求端在数据一致的数据中心进行访问数据,保证应用程序的数据一致性,提升应用程序中数据的实时性、准确性及安全性。
另外,在用户登录前,业务端根据请求端的用户ID进行路由,指定请求端的待访问数据中心,用户在登录应用程序成功后,所有的读写操作都在该待访问数据中心进行,保证应用程序的数据一致性。
基于相同的技术构思,图5示例性的示出了本发明实施例提供的一种数据访问装置的结构示意图,该装置可以执行数据访问方法的流程。
如图5所示,该装置具体包括:
确定模块510,用于在第i次启动应用程序时,确定所述应用程序的第i启动时间段;所述第i启动时间段为所述应用程序第i-1次启动后的结束时刻至第i次启动时刻的时间段;
处理模块520,用于在确定所述第i启动时间段小于第n粘滞期时间阈值时,根据第n待访问数据中心的标识生成访问请求,并将所述访问请求发送至业务端;
所述第n待访问数据中心的标识和所述第n粘滞期时间阈值是由所述业务端在第j次启动应用程序时确定并发送至所述请求端的;所述第n待访问数据中心的标识用于指示所述业务端将所述访问请求分发至第n待访问数据中心;所述第n粘滞期时间阈值是所述业务端根据第n待访问数据中心的同步数据丢失率确定的;j小于i。
可选的,所述处理模块520还用于:
在确定所述第i启动时间段不小于第n粘滞期时间阈值时,向所述业务端发送所述请求端的终端标识和/或地理位置信息;所述请求端的终端标识和/或地理位置信息用于所述业务端为所述请求端确定第m待访问数据中心和第m粘滞期时间阈值;
接收并存储所述业务端发送的所述第m待访问数据中心的标识和所述第m粘滞期时间阈值。
可选的,所述处理模块520还用于:
在所述应用程序第i次启动后的结束时刻之前,均基于所述第n待访问数据中心与所述业务端进行交互。
可选的,所述处理模块520还用于:
在登录应用程序时,向所述业务端发送所述请求端的用户标识;
获取所述业务端发送的第k待访问数据中心的标识;所述第k待访问数据中心的标识是所述业务端根据所述请求端的用户标识确定的;
基于所述第k待访问数据中心,与所述业务端进行交互。
可选的,所述处理模块520还用于:
若确定自身存储的待访问数据中心的标识与所述第k待访问数据中心的标识不一致,则将所述第k待访问数据中心的标识覆盖自身存储的待访问数据中心的标识。
可选的,各待访问数据中心的数据同步是根据moray工具实现的;任一待访问数据中心的粘滞期时间阈值是根据moray工具的监控规则确定的。
可选的,所述moray工具的监控规则包括以下至少一项:
各待访问数据中心之间的同步数据丢失率、数据同步成功率、平均同步数据丢失率。
图6为本发明实施例示例性示出的一种数据访问装置的结构示意图,该装置可以执行数据访问方法的流程。
如图6所示,该装置具体包括:
获取模块610,用于获取请求端发送的数据中心请求,所述数据中心请求包括所述请求端的终端标识和/或地理位置信息;
响应模块620,用于根据所述请求端的终端标识和/或地理位置信息确定待访问数据中心;
所述业务端根据所述待访问数据中心的同步数据丢失率确定粘滞期时间阈值,并将所述待访问数据中心的标识及所述粘滞期时间阈值发送至所述请求端。
可选的,所述获取模块610还用于:
获取所述请求端法发送的访问请求;所述访问请求是所述请求端根据所述待访问数据中心的标识生成的;
所述响应模块620还用于:
根据所述待访问数据中心的标识将所述访问请求分发至所述待访问数据中心。
可选的,所述响应模块620具体用于:
根据所述待访问数据中心的标识,通过网络组件的脚本将所述访问请求分发至所述待访问数据中心。
基于相同的技术构思,本发明实施例还提供一种计算机设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述数据访问方法。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述数据访问方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种数据访问方法,其特征在于,包括:
请求端在第i次启动应用程序时,确定所述应用程序的第i启动时间段;所述第i启动时间段为所述应用程序第i-1次启动后的结束时刻至第i次启动时刻的时间段;
所述请求端在确定所述第i启动时间段小于第n粘滞期时间阈值时,根据第n待访问数据中心的标识生成访问请求,并将所述访问请求发送至业务端;所述第n待访问数据中心的标识和所述第n粘滞期时间阈值是由所述业务端在第j次启动应用程序时确定并发送至所述请求端的;所述第n待访问数据中心的标识用于指示所述业务端将所述访问请求分发至第n待访问数据中心,以此实现所述请求端访问到所述第n待访问数据中心;所述第n粘滞期时间阈值是所述业务端根据第n待访问数据中心的同步数据丢失率确定的,j小于i;
所述请求端在确定所述第i启动时间段不小于第n粘滞期时间阈值时,向所述业务端发送所述请求端的终端标识和/或地理位置信息;所述请求端的终端标识和/或地理位置信息用于所述业务端为所述请求端确定第m待访问数据中心和第m粘滞期时间阈值;
所述请求端接收并存储所述业务端发送的所述第m待访问数据中心的标识和所述第m粘滞期时间阈值,以此实现所述请求端访问到所述第m待访问数据中心。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述请求端在所述应用程序第i次启动后的结束时刻之前,均基于所述第n待访问数据中心与所述业务端进行交互。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述请求端在登录应用程序时,向所述业务端发送所述请求端的用户标识;
所述请求端获取所述业务端发送的第k待访问数据中心的标识;所述第k待访问数据中心的标识是所述业务端根据所述请求端的用户标识确定的;
所述请求端基于所述第k待访问数据中心,与所述业务端进行交互。
4.如权利要求3所述的方法,其特征在于,与所述业务端进行交互之前,还包括:
所述请求端若确定自身存储的待访问数据中心的标识与所述第k待访问数据中心的标识不一致,则将所述第k待访问数据中心的标识覆盖自身存储的待访问数据中心的标识。
5.如权利要求1所述的方法,其特征在于,各待访问数据中心的数据同步是根据moray工具实现的;任一待访问数据中心的粘滞期时间阈值是根据moray工具的监控规则确定的。
6.如权利要求5所述的方法,其特征在于,所述moray工具的监控规则包括以下至少一项:
各待访问数据中心之间的同步数据丢失率、数据同步成功率、平均同步数据丢失率。
7.一种数据访问方法,其特征在于,包括:
业务端获取请求端发送的数据中心请求,所述数据中心请求包括所述请求端的终端标识和/或地理位置信息;
所述业务端根据所述请求端的终端标识和/或地理位置信息确定待访问数据中心;
所述业务端根据所述待访问数据中心的同步数据丢失率确定粘滞期时间阈值,并将所述待访问数据中心的标识及所述粘滞期时间阈值发送至所述请求端;
所述业务端获取所述请求端发送的访问请求;所述访问请求是所述请求端根据所述待访问数据中心的标识生成的;
所述业务端根据所述待访问数据中心的标识将所述访问请求分发至所述待访问数据中心,以此实现所述请求端访问到所述待访问数据中心。
8.如权利要求7所述的方法,其特征在于,所述业务端根据所述待访问数据中心的标识将所述访问请求分发至所述待访问数据中心,包括:
所述业务端根据所述待访问数据中心的标识,通过网络组件的脚本将所述访问请求分发至所述待访问数据中心。
9.一种数据访问装置,其特征在于,包括:
确定模块,用于在第i次启动应用程序时,确定所述应用程序的第i启动时间段;所述第i启动时间段为所述应用程序第i-1次启动后的结束时刻至第i次启动时刻的时间段;
处理模块,用于在确定所述第i启动时间段小于第n粘滞期时间阈值时,根据第n待访问数据中心的标识生成访问请求,并将所述访问请求发送至业务端;所述第n待访问数据中心的标识和所述第n粘滞期时间阈值是由所述业务端在第j次启动应用程序时确定并发送至请求端的;所述第n待访问数据中心的标识用于指示所述业务端将所述访问请求分发至第n待访问数据中心,以此实现所述请求端访问到所述第n待访问数据中心;所述第n粘滞期时间阈值是所述业务端根据第n待访问数据中心的同步数据丢失率确定的,j小于i;
在确定所述第i启动时间段不小于第n粘滞期时间阈值时,向所述业务端发送所述请求端的终端标识和/或地理位置信息;所述请求端的终端标识和/或地理位置信息用于所述业务端为所述请求端确定第m待访问数据中心和第m粘滞期时间阈值;
接收并存储所述业务端发送的所述第m待访问数据中心的标识和所述第m粘滞期时间阈值,以此实现所述请求端访问到所述第m待访问数据中心。
10.一种数据访问装置,其特征在于,包括:
获取模块,用于获取请求端发送的数据中心请求,所述数据中心请求包括所述请求端的终端标识和/或地理位置信息;
响应模块,用于根据所述请求端的终端标识和/或地理位置信息确定待访问数据中心;
业务端根据所述待访问数据中心的同步数据丢失率确定粘滞期时间阈值,并将所述待访问数据中心的标识及所述粘滞期时间阈值发送至所述请求端;
所述获取模块还用于获取所述请求端发送的访问请求;所述访问请求是所述请求端根据所述待访问数据中心的标识生成的;
所述响应模块还用于根据所述待访问数据中心的标识将所述访问请求分发至所述待访问数据中心,以此实现所述请求端访问到所述待访问数据中心。
11.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至6任一或7至8任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至6任一或7至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130904.0A CN114553508B (zh) | 2022-02-12 | 2022-02-12 | 一种数据访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130904.0A CN114553508B (zh) | 2022-02-12 | 2022-02-12 | 一种数据访问方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553508A CN114553508A (zh) | 2022-05-27 |
CN114553508B true CN114553508B (zh) | 2023-06-30 |
Family
ID=81673141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210130904.0A Active CN114553508B (zh) | 2022-02-12 | 2022-02-12 | 一种数据访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553508B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970834A (zh) * | 2014-04-02 | 2014-08-06 | 浙江大学 | 一种异构数据库同步系统中增量数据同步故障的恢复方法 |
CN112187738A (zh) * | 2020-09-11 | 2021-01-05 | 中国银联股份有限公司 | 业务数据访问控制方法、装置及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4585213B2 (ja) * | 2004-03-24 | 2010-11-24 | 株式会社日立製作所 | データ保護方法及び認証方法並びにプログラム |
US9553867B2 (en) * | 2013-08-01 | 2017-01-24 | Bitglass, Inc. | Secure application access system |
CN110430064B (zh) * | 2017-03-30 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 区块链系统、消息处理方法及存储介质 |
US11113307B2 (en) * | 2017-05-15 | 2021-09-07 | Oracle International Corporation | Entity identifier synchronization across data centers |
US11212238B2 (en) * | 2019-08-27 | 2021-12-28 | Vmware, Inc. | Providing recommendations for implementing virtual networks |
-
2022
- 2022-02-12 CN CN202210130904.0A patent/CN114553508B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970834A (zh) * | 2014-04-02 | 2014-08-06 | 浙江大学 | 一种异构数据库同步系统中增量数据同步故障的恢复方法 |
CN112187738A (zh) * | 2020-09-11 | 2021-01-05 | 中国银联股份有限公司 | 业务数据访问控制方法、装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
数据中心标识管理;孙峰;郑明;;智能建筑与智慧城市(第01期);第72-77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114553508A (zh) | 2022-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107483627B (zh) | 一种文件分发、下载方法、分发服务器、客户端及系统 | |
CN110765744B (zh) | 多人协同文档编辑方法及系统 | |
CN102857484B (zh) | 一种实现单点登录的方法、系统及装置 | |
CN106209948A (zh) | 一种数据推送方法及装置 | |
CN106101290B (zh) | 一种服务器集群管理的方法及系统 | |
CN105447046A (zh) | 一种分布式系统数据一致性处理方法、装置和系统 | |
CN111510474A (zh) | 基于消息中间件的数据传输方法及相关设备 | |
CN105208058A (zh) | 基于web会话共享的信息交互系统 | |
CN117714532A (zh) | 一种基于Timeline模型的数据信息推送方法、网关及相关设备 | |
CN108521342B (zh) | 一种集群的管理方法及装置 | |
CN114553508B (zh) | 一种数据访问方法及装置 | |
CN105897826A (zh) | 云平台服务创建方法及系统 | |
CN111935242A (zh) | 数据传输方法、装置、服务器以及存储介质 | |
CN110555040A (zh) | 一种数据缓存方法、装置及服务器 | |
CN111698281A (zh) | 一种资源下载方法、装置、电子设备及存储介质 | |
CN110971669B (zh) | 消息通知方法、装置、服务器、电子设备及可读存储介质 | |
CN115292166A (zh) | 一种多人协同的测试用例管理方法、装置、设备及介质 | |
CN107203915B (zh) | 数据存储方法及装置 | |
CN112231408B (zh) | 数据集成方法及装置、电子设备、存储介质 | |
CN114116889A (zh) | 物料数据的同步方法、装置、计算机设备和存储介质 | |
CN111586438B (zh) | 一种业务数据的处理方法、装置及系统 | |
CN114579665A (zh) | 多云多活数据同步方法以及相关设备 | |
CN114979234A (zh) | 分布式集群系统中会话控制共享方法及系统 | |
CN115713317A (zh) | 一种会议实现方法、系统及存储介质和终端设备 | |
CN105791350B (zh) | 项目数据处理方法和系统 |
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 |