CN117061535A - 多活构架数据同步方法、装置、计算机设备和存储介质 - Google Patents
多活构架数据同步方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117061535A CN117061535A CN202311023968.1A CN202311023968A CN117061535A CN 117061535 A CN117061535 A CN 117061535A CN 202311023968 A CN202311023968 A CN 202311023968A CN 117061535 A CN117061535 A CN 117061535A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- server
- cloud platform
- cache area
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000000694 effects Effects 0.000 title claims abstract description 33
- 230000001360 synchronised effect Effects 0.000 claims abstract description 189
- 238000004590 computer program Methods 0.000 claims abstract description 32
- 230000005856 abnormality Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- 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)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请涉及一种多活构架数据同步方法、装置、计算机设备、存储介质和计算机程序产品。该方法包括:获取需要进行同步的多活架构数据,以形成待同步数据,其中,待同步数据来自于第一服务器,第一服务器为形成待同步数据的服务器,第二服务器为接收待同步数据的服务器;将待同步数据发送至云平台暂存;基于云平台暂存的待同步数据,更新第二服务器的数据。采用本方法能够降低多活架构内数据同步的延时性,提升数据同步的安全性和稳定性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种多活构架数据同步方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着互联网技术的发展,分布式多活数据中心通过各服务器之间协同工作,并行的为业务访问提供服务,实现了资源的充分利用,避免备份中心处于闲置状态,造成资源与投资浪费,通过资源整合,多活数据中心的服务能力往往远高于主备数据中心模式。
然而,目前多活架构数据在同步时,由于网络等硬件条件的限制,导致服务器之间常会出现同步延时的情况。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少数据同步延时性的多活构架数据同步方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种多活构架数据同步方法。多活架构包括第一服务器和第二服务器,该方法包括:
获取需要进行同步的多活架构数据,以形成待同步数据;其中,待同步数据来自于第一服务器,第一服务器为形成待同步数据的服务器,第二服务器为接收待同步数据的服务器;
将待同步数据发送至云平台暂存;
基于云平台暂存的待同步数据,更新第二服务器的数据。
在其中一个实施例中,多活构架数据同步方法还包括:
根据终端所在地域划分终端地域单元,基于终端地域单元确定终端能够访问的服务器。
在其中一个实施例中,将待同步数据发送至云平台暂存包括:
通过优先级匹配方法将待同步数据匹配至对应的云平台;
在被分发的云平台存在异常的情况下,按照优先级匹配方法重新匹配分发至另一云平台,去除存在异常的云平台。
在其中一个实施例中,基于云平台暂存的待同步数据,更新第二服务器的数据包括:
基于云平台暂存的待同步数据,将待同步数据分发至第二服务器中,在分发过程中若出现异常,则自动重试,直至成功。
在其中一个实施例中,服务器中包括缓存区域,基于云平台暂存的待同步数据,将待同步数据分发至第二服务器中,在分发过程中若出现异常,则自动重试,直至成功包括:
基于云平台暂存的待同步数据,将待同步数据分发至缓存区域;
在待同步数据写入缓存区域失败的情况下,找回云平台分发的待同步数据,重新写入缓存区域;
在缓存区域内待同步数据完全更新的情况下,将待同步数据写入第二服务器,清除缓存区域内容。
在其中一个实施例中,在缓存区域内待同步数据完全更新的情况下,将待同步数据写入第二服务器,清除缓存区域内容包括:
在缓存区域内待同步数据完全更新的情况下,在终端访问第二服务器时,缓存区域的待同步数据会代替第二服务器中原有数据被访问;
监视终端和第二服务器的响应状态;
在终端访问缓存区域的待同步数据后无故障,且第二服务器响应正常的情况下,将待同步数据写入第二服务器。
第二方面,本申请还提供了一种多活架构数据同步装置。该装置包括:
数据获取单元,用于获取需要进行同步的多活架构数据,以形成待同步数据;其中,待同步数据来自于第一服务器,第一服务器为形成待同步数据的服务器,第二服务器为接收待同步数据的服务器;
暂存单元,用于将待同步数据暂存于云平台;
更新单元,用于基于云平台暂存的待同步数据,更新第二服务器的数据。
第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取需要进行同步的多活架构数据,以形成待同步数据;其中,待同步数据来自于第一服务器,第一服务器为形成待同步数据的服务器,第二服务器为接收待同步数据的服务器;
将待同步数据发送至云平台暂存;
基于云平台暂存的待同步数据,更新第二服务器的数据。
第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取需要进行同步的多活架构数据,以形成待同步数据;其中,待同步数据来自于第一服务器,第一服务器为形成待同步数据的服务器,第二服务器为接收待同步数据的服务器;
将待同步数据发送至云平台暂存;
基于云平台暂存的待同步数据,更新第二服务器的数据。
第五方面,本申请还提供了一种计算机程序产品。该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取需要进行同步的多活架构数据,以形成待同步数据;其中,待同步数据来自于第一服务器,第一服务器为形成待同步数据的服务器,第二服务器为接收待同步数据的服务器;
将待同步数据发送至云平台暂存;
基于云平台暂存的待同步数据,更新第二服务器的数据。
上述多活构架数据同步方法、装置、计算机设备、存储介质和计算机程序产品,终端访问第一服务器产生新的数据并更新至第一服务器,此时第一服务器与第二服务器的接收数据不同,获取待同步数据,将待同步数据发送至云平台进行暂存,云平台将数据传输至第二服务器中,第二服务器相应更新数据,避免了服务器中直接传输数据所造成的网络拥堵,或者是由于距离问题导致的数据传输过程中的严重延时。
附图说明
图1为一个实施例中多活构架数据同步方法的应用环境图;
图2为一个实施例中多活构架数据同步方法的流程示意图;
图3为一个实施例中云平台接收及筛选步骤的流程示意图;
图4为一个实施例中服务器接收待同步数据的流程示意图;
图5为一个实施例中缓存区域对数据安全性检测的流程示意图;
图6为另一个实施例中多活构架数据同步方法的流程示意图;
图7为一个实施例中多活构架数据同步装置的结构框图;
图8为一个实施例中计算机设备的内部结构图;
图9为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的多活构架数据同步方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储***可以存储服务器104需要处理的数据。数据存储***可以集成在服务器104上,也可以放在云上或其他网络服务器上。
终端发送访问数据至服务器104上,服务器104将数据形成待同步数据,待同步数据发送至云平台,通过云平台将待同步数据发送至其他服务器,其他服务器接收到待同步数据后进行写入,更新服务器104的数据。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种多活构架数据同步方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,获取需要进行同步的多活架构数据,以形成待同步数据;其中,待同步数据来自于第一服务器。第一服务器为形成待同步数据的服务器。第二服务器为接收待同步数据的服务器。
具体地,采用canal(一种同步增量的工具)技术监听多活架构中的关系型数据库管理***(mysql)的二进制日志(binlog)获取需要进行同步的多活架构数据,以形成待同步数据。使用canal数据库同步工具进行数据同步至其他服务器来确保数据一致;canal是通过模拟成为关系型数据库管理***的从服务器(slave)的方式,监听关系型数据库管理***的二进制日志来获取数据,二进制日志设置为行模式(row)以后,不仅能获取到执行的每一个增删改的脚本,同时还能获取到修改前和修改后的数据,基于这个特性,canal就能高性能的获取到关系型数据库管理***数据的变更。
终端访问第一服务器并更新第一服务器中的数据,此时第一服务器中的数据与第二服务器中的数据不同,将第一服务器中的数据形成待同步数据。例如,多活架构包括若干个服务器,每个服务器可以供给不同的终端进行访问,当其中一个服务器接收的数据是a,其他服务器接收的数据是b,则表明该服务器接收的数据与其他服务器接收的数据不同,不同的数据内容构成待同步数据,也就是需要将每个服务器的数据同步为a+b。
步骤204,将待同步数据发送至云平台暂存。
具体地,将云平台作为待同步数据传输的中间件,避免服务器中直接传输数据所造成的网络拥塞,或者是由于距离的问题导致数据传输过程中的严重延时。
步骤206,基于云平台暂存的待同步数据,更新第二服务器的数据。
具体的,暂存于云平台中的待同步数据,由云平台广播至多活构架中的其余服务器中,并更新数据。
上述多活构架数据同步方法中,终端访问第一服务器产生新的数据并更新至第一服务器,此时第一服务器与第二服务器的接收数据不同,获取待同步数据,将待同步数据发送至云平台进行暂存,云平台将数据分发至第二服务器,第二服务器更新相应数据,避免了服务器中直接传输数据所造成的网络拥堵,或者是由于距离问题导致的数据传输过程中的严重延时。
在一个实施例中,多活构架数据同步方法还包括:根据终端所在地域划分终端地域单元,基于终端地域单元确定终端能够访问的服务器包括:
利用对终端所访问的服务器进行固定,即使终端处于不同的区域,也是一直访问同一个固定的服务器,如果在当前服务器出现故障时,需要访问其他服务器,需要具备一定的条件,且需要进行服务器之间调度,不会轻易进行跨服务器的访问,从而降低用户对数据同步的延时性的感知。
具体地,当终端首次进行访问服务时,根据终端首次所在的地址进行划分其所在的区域,确定该区域对应的服务器,供给终端进行访问,此时终端保留该单元的信息,也就是服务器的互联网国际地址(Internet Protocol,简称IP)等,如果在其他地域访问服务,访问中便带有该信息,直接访问对应的服务器,而不是根据所在区域进行服务器的确定。
为了避免因为计算机程序漏洞导致终端可访问两个服务器的情况发生,除了生成单元的信息,还会记录第一次访问服务器时的数据归属地,也就是在哪个地区发起的访问服务。当出现两个服务器都可访问的情况时,还会从两个服务器中调取或者在记录访问链路的服务器中调取与该终端识别号(Identity Document,简称ID)相关的第一次访问信息,由此确定数据归属地,进而确定对应的服务器,为了防止后续再出现两个服务器的可访问,可以在终端后续的访问信息中携带数据归属地,并不一定会用到,但是可以起到杜绝跨服务器访问的情况发生。
在一个实施例中,如图3所示,将待同步数据发送至云平台暂存包括:
步骤302,通过优先级匹配方法将待同步数据匹配至对应的云平台。
步骤304,在被分发的云平台存在异常的情况下,按照优先级匹配方法重新匹配分发至另一云平台,去除存在异常的云平台。
具体地,通过Nginx(一个高性能的HTTP和反向代理web服务器)配置的转发规则将待同步数据暂存于云平台上。Nginx可以根据不同的正则匹配,采取不同的转发策略,在此过程中,需要设置多个云平台,对云平台采用优先等级进行划分,可以按照当前的空闲程度作为优先等级,由比较空闲的云平台优先接收来自该数据,还可以是采用成功率作为优先级,或者是距离等作为优先级,进而确定接收数据的云平台。如果被分发的云平台存在异常,他可以将请求重新转发给另外一台云平台,然后自动去除异常云平台,提高云平台可用性。
可选的,对于选择哪一个云平台接收该数据,还可以是采用成功率作为优先级,或者距离等作为优先级,进而确定接收数据的云平台。
本实施例中,通过设置这种多个云平台进行布局的方式,避免了出现宕机的情况,提升了数据同步的稳定性,通过优先级匹配方法选择云平台进行数据暂存,提高了云平台的可用性,避免出现云平台断联、传输距离过远导致的数据同步延迟高等问题。
在一个实施例中,基于云平台暂存的待同步数据,更新第二服务器的数据包括:基于云平台暂存的所述待同步数据,将待同步数据分发至第二服务器中,在分发过程中若出现异常,则自动重试,直至成功。
示例性的,采用任播(Anycast)技术利用云平台暂存的数据广播至多活架构中的其余服务器中。
具体地,指以任播的方式进行数据广播,不同客户端将访问不同目的主机,此过程对客户端透明,从而实现了目的主机的负载均衡。当任意目的主机接入的网络出现故障,导致该目的主机不可达时,客户端请求可以在无人为干预的情况下自动被路由到目前可达的最近目的主机,在一定程度上为目标主机提供了冗余性。当目的主机受到拒绝服务攻击(Denial of Service,简称DoS)而无法到达时,由于网络不可到达,终端请求也将路由到其它目的服务器上。而在分布式拒绝服务攻击(Distributed Denial of Service,简称DDoS)时,由于任播的负载均衡效应,避免了单台目的主机承受所有攻击流量,因此在一定程度上为目的服务器提高了安全性。因为任播利用路由度量到最近的目的主机,提高了客户端响应速度。
进一步的,基于云平台暂存的待同步数据,将待同步数据分发至第二服务器中,在分发过程中若出现异常,则自动重试,直至成功。例如,在数据分发过程中,服务器专线出现问题,云平台可以自动重试,直到成功,达到数据最终一致,还可以通过设计其他手段确保云平台可以顺利将数据广播至其他的服务器。
本实施例中,通过任播技术将云平台暂存的数据任播至第二服务器,在客户端访问时,利用路由度量到最近的目的主机,提高了响应速度,解决了专线故障导致的数据同步异常的问题。
在一个实施例中,第二服务器接收待同步数据包括:采用中继日志的模式进行数据同步。
具体地,获取到数据后并不是直接更新到其他的服务器,而且先在云平台进行暂存后,在其他服务器设置一个中继日志模块,当云平台一边广播数据时,服务器可以一边接收一边利用中继日志模块将数据并行写入。
在本实施例中,通过中继日志模块将数据并行写入服务器中,不必等待上一次数据同步执行完成,就可接收下一个待同步数据
提高了数据的写入速度,有效的降低了数据同步的延时性。
在一个实施例中,如图4所示,服务器中包括缓存区域,基于云平台暂存的待同步数据,将待同步数据分发至第二服务器中,在分发过程中若出现异常,则自动重试,直至成功包括:
步骤402,基于云平台暂存的待同步数据,将待同步数据分发至缓存区域;
步骤404,在待同步数据写入缓存区域失败的情况下,找回云平台分发的待同步数据,重新写入缓存区域;
步骤406,在缓存区域内待同步数据完全更新的情况下,将待同步数据写入第二服务器,清除缓存区域内容。
具体地,当云平台一边广播数据时,服务器可以一边接收数据一边将数据并行写入,提升数据同步的性能,当中继日志模块并没有将数据成功写入到服务器内时,可以设计成使得中继日志模块写入的数据并不会直接到服务器内的数据库,而是在一个缓存区域。缓存区域只有数据完全更新,也就是接收的数据完整写入后才会清除内容。
本实施例中,设置的缓存区域可以保证接收数据的完整性,即使出现传输异常也不会出现数据错误导致的终端访问异常的问题,提高了数据同步的稳定性。
在一个实施例中,如图5所示,在缓存区域内待同步数据完全更新的情况下,将待同步数据写入第二服务器,清除缓存区域内容包括:
步骤502,在缓存区域内待同步数据完全更新的情况下,在终端访问第二服务器时,缓存区域的待同步数据会代替第二服务器中原有数据被访问;
步骤504,监视终端和第二服务器的响应状态;
步骤506,在终端在访问缓存区域的待同步数据后无故障,且第二服务器响应正常的情况下,将待同步数据写入第二服务器。
具体地,缓存区域内的数据并不会立刻更新到服务器,在写入数据之后,终端访问服务器时,依旧可以访问。此时以往的数据与缓存区域内的数据并无差异,都可以访问,但是此时服务器会做多一个动作,即会实时监测访问缓存区域的数据后的终端的响应情况,以及服务器自身是否出现故障的问题,考量这两方面以确定数据是否可以写入到服务器的数据库内,以避免因为数据不安全而导致服务器的崩盘。
当终端访问缓存区数据后,服务器监视到终端在访问后,出现故障,或服务器在进行数据传输后,第二服务器出现故障,则认为更新的数据不是安全数据,存在病毒等问题;则拒绝将待同步数据写入第二服务器中,并作出对应的应急措施。
本实施例中,接收到待同步数据后,将数据暂存于缓存区域,终端可以直接访问缓存区域的数据,避免服务器写入时出现异常导致数据不完整或写入失败导致的情况,终端在访问服务器时,仍可以访问缓存区域内的数据,减少了数据写入的拥堵导致的同步延时。通过监测访问缓存单元的终端响应情况,保证数据的安全性,确保避免因数据不安全而导致服务器的崩盘。
在另一个实施例中,如图6所示,提供了一种多活架构数据同步方法,多活架构包括第一服务器和第二服务器,该方法包括以下步骤:
步骤602,根据终端所在地域划分终端地域单元,基于终端地域单元确定终端能够访问的服务器。
步骤604,获取需要进行同步的多活架构数据,以形成待同步数据;其中,待同步数据来自于第一服务器,第一服务器为形成待同步数据的服务器,第二服务器为接收待同步数据的服务器。
步骤606,通过优先级匹配方法将待同步数据匹配至对应的云平台。
步骤608,在被分发的云平台存在异常的情况下,按照优先级匹配方法重新匹配分发至另一云平台,去除存在异常的云平台。
步骤610,服务器中包括缓存区域,基于云平台暂存的待同步数据,将待同步数据分发至缓存区域。
步骤612,在待同步数据写入缓存区域失败的情况下,找回云平台分发的待同步数据,重新写入缓存区域。
步骤614,在缓存区域内待同步数据完全更新的情况下,在终端访问第二服务器时,缓存区域的待同步数据会代替第二服务器中原有数据被访问。
步骤616,监视终端和第二服务器的响应状态。
步骤618,在终端在访问缓存区域的待同步数据后无故障,且第二服务器响应正常的情况下,将待同步数据写入第二服务器。
步骤620,将待同步数据写入第二服务器,清除缓存区域内容。
在本实施例中,通过云平台作为中间件,对多活构架内的数据进行同步,避免了服务器之间数据直接传输所造成的网络拥塞,或者是传输距离导致的严重延时,云平台作为分发数据提升了数据同步的性能,为数据丢失、传输中断等问题提供了解决方案。对中断地域单元的划分,减少了终端跨服务器的访问,避免服务器未进行同步而导致用户对延时性的感知,服务器中缓存单元保证了待同步数据写入的完整性和安全性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于云平台的多活构架数据同步方法的基于云平台的多活构架数据同步装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于云平台的多活构架数据同步装置实施例中的具体限定可以参见上文中对于基于云平台的多活构架数据同步方法的限定,在此不再赘述。
在一个实施例中,提供了一种多活构架数据同步装置,多活架构包括第一服务器和第二服务器,该装置包括:数据获取单元702、暂存单元704和更新单元706,其中:
数据获取单元,用于获取需要进行同步的多活架构数据,以形成待同步数据;其中,待同步数据来自于第一服务器,第一服务器为形成待同步数据的服务器,第二服务器为接收待同步数据的服务器。
暂存单元,用于将待同步数据暂存于云平台。
更新单元,用于基于云平台暂存的待同步数据,更新第二服务器的数据。
在一个实施例中,更新单元包括分发单元,分发单元用基于云平台暂存的待同步数据,将待同步数据分发至第二服务器中,在分发过程中若出现异常,则自动重试,直至成功。
在一个实施例中,服务器中包括缓存区域,分发单元包括:
分发子单元,用于基于云平台暂存的待同步数据,将待同步数据分发至缓存区域。
找回重写单元,用于在待同步数据写入缓存区域失败的情况下,找回云平台分发的待同步数据,重新写入缓存区域。
写入单元,在缓存区域内待同步数据完全更新的情况下,将待同步数据写入第二服务器,清除缓存区域内容。
在一个实施例中,服务器中包括更新单元,更新单元包括:
广播子单元,基于云平台暂存的待同步数据,将待同步数据分发至缓存区域。
写入子单元,在终端在访问缓存区域的待同步数据后无故障,且第二服务器响应正常的情况下,将待同步数据写入第二服务器。
在一实施例中,还包括划分单元。
划分单元,根据终端所在地域划分终端地域单元,基于终端地域单元确定终端能够访问的服务器。
在一实施例中,划分单元,用于当终端首次进行访问服务时,根据终端首次所在的地址进行划分其所在的区域,确定该区域对应的服务器,供给终端进行访问,此时终端保留该单元的信息,也就是服务器的互联网地址等,如果在其他地域访问服务,访问中便带有该信息,直接访问对应的服务器,而不是根据所在区域进行服务器的确定。
上述基于云平台的多活构架数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储终端访问数据和待同步数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于云平台的多活构架数据同步方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在另一个实施例中,提供了一种计算机设备,该计算机设备900可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群,其内部结构如图9所示。该计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
该计算机设备900包括通过***总线901连接的处理器902、存储器和网络接口905,其中,存储器可以包括非易失性存储介质903和内存储器904。;
该非易失性存储介质903可存储操作***9031和计算机程序9032。该计算机程序9032包括程序指令,该程序指令被执行时,可使得处理器902执行一种基于云平台的多活架构数据同步方法。;
该处理器902用于提供计算和控制能力,以支撑整个计算机设备900的运行;
该内存储器904为非易失性存储介质903中的计算机程序9032的运行提供环境,该计算机程序9032被处理器902执行时,可使得处理器902执行一种基于云平台的多活架构数据同步方法;
该网络接口905用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备900的限定,具体的计算机设备900可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,处理器902用于运行存储在存储器中的计算机程序9032,以实现上述方法项对应的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种多活架构数据同步方法,其特征在于,所述多活架构包括第一服务器和第二服务器;所述方法包括:
获取需要进行同步的多活架构数据,以形成待同步数据;其中,所述待同步数据来自于所述第一服务器,所述第一服务器为形成待同步数据的服务器,所述第二服务器为接收所述待同步数据的服务器;
将所述待同步数据发送至云平台暂存;
基于所述云平台暂存的所述待同步数据,更新所述第二服务器的数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据终端所在地域划分终端地域单元,基于所述终端地域单元确定所述终端能够访问的服务器。
3.根据权利要求1所述的方法,其特征在于,将所述待同步数据发送至云平台暂存,包括:
通过优先级匹配方法将所述待同步数据匹配至对应的云平台;
在被分发的云平台存在异常的情况下,按照所述优先级匹配方法重新匹配分发至另一云平台,去除存在异常的云平台。
4.根据权利要求1所述的方法,其特征在于,所述基于所述云平台暂存的所述待同步数据,更新所述第二服务器的数据包括:
基于所述云平台暂存的所述待同步数据,将所述待同步数据分发至所述第二服务器中,在分发过程中若出现异常,则自动重试,直至成功。
5.根据权利要求4所述的方法,其特征在于,所述服务器中包括缓存区域,所述基于所述云平台暂存的所述待同步数据,将所述待同步数据分发至所述第二服务器中,在分发过程中若出现异常,则自动重试,直至成功包括:
基于所述云平台暂存的所述待同步数据,将所述待同步数据分发至所述缓存区域;
在所述待同步数据写入所述缓存区域失败的情况下,找回云平台分发的所述待同步数据,重新写入所述缓存区域;
在所述缓存区域内所述待同步数据完全更新的情况下,将所述待同步数据写入所述第二服务器,清除所述缓存区域内容。
6.根据权利要求5所述的方法,其特征在于,在所述缓存区域内所述待同步数据完全更新的情况下,将所述待同步数据写入所述第二服务器,清除所述缓存区域内容包括:
在所述缓存区域内所述待同步数据完全更新的情况下,在终端访问所述第二服务器时,所述缓存区域的所述待同步数据会代替所述第二服务器中原有数据被访问;
监视终端和所述第二服务器的响应状态;
在所述终端在访问所述缓存区域的所述待同步数据后无故障,且第二服务器响应正常的情况下,将所述待同步数据写入所述第二服务器。
7.一种多活架构数据同步装置,其特征在于,所述多活架构包括第一服务器和第二服务器,所述装置包括:
数据获取单元,用于获取需要进行同步的多活架构数据,以形成待同步数据;其中,所述待同步数据来自于所述第一服务器,所述第一服务器为形成待同步数据的服务器,所述第二服务器为接收所述待同步数据的服务器;
暂存单元,用于将所述待同步数据暂存于云平台;
更新单元,用于基于所述云平台暂存的所述待同步数据,更新至所述第二服务器的数据中。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311023968.1A CN117061535A (zh) | 2023-08-14 | 2023-08-14 | 多活构架数据同步方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311023968.1A CN117061535A (zh) | 2023-08-14 | 2023-08-14 | 多活构架数据同步方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117061535A true CN117061535A (zh) | 2023-11-14 |
Family
ID=88652951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311023968.1A Pending CN117061535A (zh) | 2023-08-14 | 2023-08-14 | 多活构架数据同步方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117061535A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473019A (zh) * | 2023-12-25 | 2024-01-30 | 阿里云计算有限公司 | 一种数据同步方法、***、计算机设备以及存储介质 |
-
2023
- 2023-08-14 CN CN202311023968.1A patent/CN117061535A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117473019A (zh) * | 2023-12-25 | 2024-01-30 | 阿里云计算有限公司 | 一种数据同步方法、***、计算机设备以及存储介质 |
CN117473019B (zh) * | 2023-12-25 | 2024-03-22 | 阿里云计算有限公司 | 一种数据同步方法、***、计算机设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10735509B2 (en) | Systems and methods for synchronizing microservice data stores | |
CN109842651B (zh) | 一种业务不间断的负载均衡方法和*** | |
US20190235979A1 (en) | Systems and methods for performing computing cluster node switchover | |
US20150201036A1 (en) | Gateway device, file server system, and file distribution method | |
KR101871383B1 (ko) | 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템 | |
US10783121B2 (en) | Techniques for optimizing data flows in hybrid cloud storage systems | |
WO2019210580A1 (zh) | 访问请求处理方法、装置、计算机设备和存储介质 | |
KR101983208B1 (ko) | 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템 | |
US20200125473A1 (en) | Hybrid log viewer with thin memory usage | |
WO2022174735A1 (zh) | 基于分布式存储的数据处理方法、装置、设备以及介质 | |
CN109739435B (zh) | 文件存储和更新方法及装置 | |
CN117061535A (zh) | 多活构架数据同步方法、装置、计算机设备和存储介质 | |
CN107920101B (zh) | 一种文件访问方法、装置、***及电子设备 | |
CN111600794B (zh) | 服务器切换方法、终端、服务器及存储介质 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
US20240205292A1 (en) | Data processing method and apparatus, computer device, and computer-readable storage medium | |
CN110909030A (zh) | 一种信息处理方法及服务器集群 | |
CN112468317A (zh) | 一种集群拓扑更新方法、***、设备及计算机存储介质 | |
CN113051428A (zh) | 一种摄像机前端存储备份的方法及装置 | |
JP2008282070A (ja) | ネットワーク機器およびネットワークシステム | |
CN113630317B (zh) | 一种数据传输方法、装置、非易失性存储介质及电子装置 | |
CN113391759B (zh) | 一种通信方法和设备 | |
JP2024514467A (ja) | 地理的に分散されたハイブリッドクラウドクラスタ | |
CN112350921A (zh) | 消息处理方法、终端及存储介质 | |
CN116760850B (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 |