CN112860708B - 数据一致性修复方法、系统、装置及设备 - Google Patents
数据一致性修复方法、系统、装置及设备 Download PDFInfo
- Publication number
- CN112860708B CN112860708B CN202110280262.8A CN202110280262A CN112860708B CN 112860708 B CN112860708 B CN 112860708B CN 202110280262 A CN202110280262 A CN 202110280262A CN 112860708 B CN112860708 B CN 112860708B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- name
- version information
- data version
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008439 repair process Effects 0.000 claims abstract description 45
- 230000008859 change Effects 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据一致性修复方法、系统、装置及设备。服务器向多个名称中心发送数据请求,多个名称中心根据数据请求,向服务器发送数据版本信息以及数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态。若多个数据版本信息之间存在不一致,则服务器根据基准名称中心的基准路由信息确定数据修复信息,向待修复名称中心发送数据修复信息。待修复名称中心根据数据修复信息修复路由信息,以使待修复名称中心的路由信息与基准路由信息保持一致。新增第三方服务器对多个名称中心的路由信息进行一致性校验,当信息不一致时,缩短了多个名称中心数据一致性恢复的时间,保证了多个名称中心数据的一致性。
Description
技术领域
本申请涉及通信技术领域,提出了一种数据一致性修复方法、系统、装置及设备。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,消息中间件技术也不例外,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
常见的注册中心有zookeeper、eureka和namesrv。当以namesrv为注册中心时,namesrv是基于AP原则,即可用性(Availability,简称:A)和分区容错性(Partitiontolerance,简称:P)。AP原则保证了注册中心的可用性,但舍弃了数据的一致性。现有技术,一般通过注册中心本身来恢复数据的一致性。
然而,现有技术会导致数据恢复一致性的时间过长,时效性过低,甚至无法恢复数据一致性。
发明内容
本申请提供一种数据一致性修复方法、系统、装置及设备,用以解决现有技术数据一致性恢复时间长、时效性低、甚至无法实现数据一致性的问题。
第一方面,本申请提供一种数据一致性修复方法,应用于服务器,方法包括:
发送数据请求,数据请求用于向多个名称中心请求数据版本信息;
接收多个数据版本信息以及各个数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态;
若多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息,数据修复信息用于修复待修复名称中心的路由信息,待修复名称中心为数据版本信息与基准名称中心的数据版本信息不一致的名称中心;
向多个名称中心发送数据修复信息。
可选地,若多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息,包括:
根据预设原则,从多个名称中心选择一个名称中心作为基准名称中心,预设原则为少数服从多数原则或随机选取原则;
获取基准名称中心的基准路由信息;
根据基准路由信息生成数据修复信息。
可选地,接收多个数据版本信息以及各个数据版本信息所对应的名称中心标识之后,还包括:
建立第一Map数据结构,其中,第一Map数据结构的第一key值为数据版本信息,第一value值为名称中心标识的集合;
将数据版本信息和数据版本信息对应的名称中心标识填入第一Map数据结构,得到数据归类信息;
根据数据归类信息,判断多个数据版本信息之间是否存在不一致。
可选地,方法还包括:
建立第二Map数据结构,其中,第二Map数据结构的第二key值为消息中间件核心地址,第二Map数据结构的第二value值为第一Map数据结构,消息中间件核心地址用于区分不同的消息中间件核心,消息中间件核心用于向多个名称中心发送路由信息,路由信息包括数据版本信息;
将消息中间件核心地址和第一Map数据结构填入第二Map数据结构。
可选地,方法还包括:
获取多个消息中间件核心的上线标志位信息,上线标志位信息用于标识消息中间件核心是否处于在线状态;
根据上线标志位信息,得到处于在线状态的消息中间件核心。
第二方面,本申请提供一种数据一致性修复方法,应用于多个名称中心,方法包括:
接收服务器发送的数据请求,数据请求用于向多个名称中心请求数据版本信息;
根据数据请求,发送数据版本信息以及数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态;
接收服务器发送的数据修复信息,数据修复信息根据基准名称中心的基准路由信息确定,数据修复信息用于修复待修复名称中心的路由信息,待修复名称中心为数据版本信息与基准名称中心的数据版本信息不一致的名称中心;
根据数据修复信息,修复待修复名称中心的路由信息,以使待修复名称中心的路由信息与基准路由信息保持一致。
可选地,方法还包括:
新增数据版本接口,数据版本接口用于拷贝原信息获取接口的数据版本信息,还用于通过数据版本接口发送数据版本信息以及数据版本信息所对应的名称中心标识。
第三方面,本申请提供一种数据一致性修复系统,系统包括消息中间件核心、服务器以及多个名称中心;
消息中间件核心用于发送路由信息,其中,路由信息包括数据版本信息;
服务器用于执行如第一方面及可选方案涉及的数据一致性修复方法;
名称中心用于执行如第二方面及可选方案涉及的数据一致性修复方法。
第四方面,本申请提供一种数据一致性修复装置,应用于服务器,装置包括:
发送模块,用于发送数据请求,数据请求用于向多个名称中心请求数据版本信息;
接收模块,用于接收多个数据版本信息以及各个数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态;
处理模块,用于若多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息,数据修复信息用于修复待修复名称中心的路由信息,待修复名称中心为数据版本信息与基准名称中心的数据版本信息不一致的名称中心;
发送模块,还用于向多个名称中心发送数据修复信息。
第五方面,本申请提供一种数据一致性修复装置,应用于多个名称中心,装置包括:
接收模块,用于接收服务器发送的数据请求,数据请求用于向多个名称中心请求数据版本信息;
发送模块,用于根据数据请求,发送数据版本信息以及数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态;
接收模块,还用于接收服务器发送的数据修复信息,数据修复信息根据基准名称中心的基准路由信息确定,数据修复信息用于修复待修复名称中心的路由信息,待修复名称中心为数据版本信息与基准名称中心的数据版本信息不一致的名称中心;
处理模块,用于根据数据修复信息,修复待修复名称中心的路由信息,以使待修复名称中心的路由信息与基准路由信息保持一致。
第六方面,本申请提供一种电子设备,包括:存储器,处理器;
存储器;用于存储处理器可执行指令的存储器;
处理器,用于根据存储器存储的可执行指令,实现第一方面及可选方案涉及的或者第二方面及可选方案涉及的数据一致性修复方法。
第七方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现第一方面及可选方案涉及的或者第二方面及可选方案涉及的数据一致性修复方法。
第八方面,本申请提供一种计算机程序产品,包括指令,该指令被处理器执行时实现第一方面及可选方案涉及的或者第二方面及可选方案涉及的数据一致性修复方法。
本申请提供一种数据一致性修复方法、系统、装置及设备,服务器向多个名称中心发送数据请求,多个名称中心根据数据请求,向服务器发送数据版本信息以及数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态。若多个数据版本信息之间存在不一致,则服务器根据基准名称中心的基准路由信息确定数据修复信息。服务器向待修复名称中心发送数据修复信息。待修复名称中心根据数据修复信息,修复待修复名称中心的路由信息,以使待修复名称中心的路由信息与基准路由信息保持一致。新增第三方服务器对多个名称中心的路由信息进行一致性校验,当信息不一致时,缩短了多个名称中心数据一致性恢复的时间,保证了多个名称中心数据一致性。
附图说明
图1为本申请根据一示例性实施例示出的数据一致性修复系统的结构示意图;
图2为本申请根据一示例性实施例示出的数据一致性修复方法的流程示意图;
图3为本申请根据另一示例性实施例示出的数据一致性修复方法的流程示意图;
图4为本申请根据一示例性实施例示出的数据一致性修复装置的结构示意图;
图5为本申请根据一示例性实施例示出的数据一致性修复装置的结构示意图;
图6为本申请根据一示例性实施例示出的电子设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
分布式系统是指庞大复杂的应用产品是通过多个程序运行在多台机器上来实现的,而多台机器上运行的多个程序彼此之间进行数据传输工作的是消息中间件。消息中间件是采用异步方式在消息发布者和订阅者间传送消息的系统。
常见的注册中心有zookeeper、eureka和namesrv。当以namesrv为注册中心时,namesrv是基于AP原则,即可用性(Availability,简称:A)和分区容错性(Partitiontolerance,简称:P)。AP原则保证了注册中心的可用性,但舍弃了数据的一致性。现有技术通过注册中心本身来恢复数据的一致性。具体过程为:消息中间件核心broker按照设置好的时间周期向多个namesrv上报路由信息。当namesrv发现当前时间周期接收到的路由信息与上一时间周期不一致时,则利用当前时间周期接收到的路由信息覆盖上一时间周期的路由信息,以使多个namesrv上存储的路由信息保持一致。
然而,现有技术会导致数据恢复一致性的时间过长,时效性过低,若消息中间件核心broker上报路由信息时发生了网络异常,则可能导致一部分namesrv上的路由信息更新,另一部分namesrv上的路由信息未更新,无法恢复数据一致性。
针对上述问题,本申请提出了一种数据一致性修复方法,新增了第三方服务器,服务器部署了sync程序,以第三视角对多个名称中心的路由信息进行一致性校验,当信息不一致时,大大缩短了多个名称中心之间路由信息不一致的时间。能够在消息中间件核心上报路由信息通道异常的情况下,仍对名称中心中的路由信息进行一致性的校验和修复。
图1为本申请根据一示例性实施例示出的数据一致性修复系统的结构示意图。如图1所示,本实施例提供的数据一致性修复系统包括:消息中间件核心110、名称中心120以及服务器130。消息中间件核心110和名称中心120之间通信,名称中心120与服务器130之间通信。消息中间件核心110用于向名称中心120发送路由信息,路由信息包括数据版本信息dataversion。名称中心120用于接收消息中间件核心110发送的路由信息,用于接收服务器130发送的数据请求,用于向服务器130通过数据版本接口发送数据版本信息以及数据版本信息所对应的名称中心标识,用于接收服务器130发送的数据修复信息。服务器130用于向名称中心120发送数据请求,用于接收名称中心120发送的数据版本信息以及数据版本信息所对应的名称中心标识,用于向名称中心120发送数据修复信息。
图2为本申请根据一示例性实施例示出的数据一致性修复方法的流程示意图。如图2所示,本实施例提供的数据一致性修复方法基于图1所示的数据一致性修复系统,该数据一致性修复方法包括如下步骤:
S101、服务器向多个名称中心向服务器发送数据请求,数据请求用于向多个名称中心请求数据版本信息。
更具体地,服务器主动获取所有名称中心中存储的数据版本信息。
S102、多个名称中心根据数据请求,向服务器发送数据版本信息以及数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态,名称中心标识用于区分不同的名称中心。
更具体地,名称中心为消息中间件名称中心namesrv,用于接收消息中间件核心broker发送的路由信息,还用于接收服务器发送的数据请求。消息中间件核心broker上报的路由信息中包括数据版本信息dataversion。当路由信息改变时,数据版本信息dataversion也会改变。服务器是指成为master的sync服务器,位于sync服务器集群中。sync服务器集群中的每一台sync服务器均部署了sync程序。sync程序用于检查消息中间件名称中心namesrv数据的一致性。每个消息中间件名称中心namesrv均有名称中心标识。成为master的sync服务器从所有名称中心获取数据版本信息以及数据版本信息所对应的名称中心标识。
为了让sync服务器集群能够管理多个环境,即实现多个区域的管理,需要在数据库上表现为互斥与隔离,所以,通过数据库来设计一个分布式锁,并且这个分布式锁适用于多环境。设计的数据库锁表主要有以下几个字段:
lockid:每一把锁的唯一标识,不会重复;
client:锁客户端信息,这里用户存储sync服务器的信息;
env_seq:环境编号,用于区别环境信息,通过这个字段来辨别多环境;
expire_time:锁的过期时间,当发现锁信息多久没有更新时,将其标记为不活跃状态;
timestamp:抢锁时间点,当sync程序来获取锁的信息时会更新这个值,长时间不更新会被标记为不活跃的锁;
is_active:表示这个锁是否活跃,不活跃的锁将被释放,释放后,下一个sync服务器将会重新获取到这个锁;
lock_name:锁的名字且唯一。
通过这个数据库锁表的设计,就能保证sync服务器集群能够管理多个环境的消息中间件名称中心namesrv的信息。并且,同一时间数据读取以及数据更新时,sync服务器集群中只有一个sync服务器在工作。只有抢到分布式锁的sync服务器才会进行工作。这里的分布式锁,通过设置过期时间以及sync服务器的唯一id来保证其他sync服务器不会获取到锁,获取到锁的sync服务器成为master,其他未获取到锁的sync服务器成为slave。当mater挂掉之后,通过超时时间来保证锁被清除掉,清除掉后,其他的slave将会来抢夺这个锁,抢夺到这个锁的slave将会升级为master。
S103、若多个数据版本信息之间存在不一致,则服务器根据基准名称中心的基准路由信息确定数据修复信息,数据修复信息用于修复待修复名称中心的路由信息,待修复名称中心为数据版本信息与基准名称中心的数据版本信息不一致的名称中心。
更具体地,服务器接收多个数据版本信息以及各个数据版本信息所对应的名称中心标识,比对多个数据版本信息之间是否存在不一致。若多个数据版本信息之间存在不一致,服务器统计各个数据版本信息dataversion所对应的名称中心标识的个数,根据名称中心标识的个数确定基准名称中心和待修复名称中心。获取基准名称中心的基准路由信息,根据基准路由信息确定数据修复信息。根据数据修复信息以修复待修复名称中心的路由信息。数据修复信息的数据结构与消息中间件核心broker上报路由信息的数据结构一致。
例如,多个名称中心为名称中心1、名称中心2和名称中心3。服务器接收名称中心1的数据版本信息dataversion1和名称中心标识namesrv1,接收名称中心2的数据版本信息dataversion1和名称中心标识namesrv2,接收名称中心3的数据版本信息dataversion2和名称中心标识namesrv3。数据版本信息有dataversion1和dataversion2,存在不一致。服务器统计dataversion1所对应的名称中心标识的个数为2,分别是namesrv1和namesrv2,dataversion2所对应的名称中心标识的个数为1,是namesrv3。由此,采用少数服从多数原则确定基准名称中心为名称中心1或名称中心2中的任意一个,待修复名称中心为名称中心3。获取名称中心1或名称中心2的路由信息作为基准路由信息,根据基准路由信息确定数据修复信息。
S104、服务器向待修复名称中心发送数据修复信息。
例如,待修复名称中心为名称中心3,服务器向名称中心3发送数据修复信息。
S105、待修复名称中心根据数据修复信息,修复待修复名称中心的路由信息,以使待修复名称中心的路由信息与基准路由信息保持一致。
更具体地,待修复名称中心接收服务器发送的数据修复信息。待修复名称中心接收服务器发送的数据修复信息的接口与接收消息中间件核心broker发送的路由信息的接口是相同的。根据数据修复信息,修复待修复名称中心的路由信息。
例如,名称中心3接收数据修复信息,将名称中心3中原本的路由信息更改为数据修复信息中的基准路由信息,以完成待修复名称中心的路由信息修复。
在本实施例提供的方法中,服务器向多个名称中心发送数据请求,多个名称中心根据数据请求,向服务器发送数据版本信息以及数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态。若多个数据版本信息之间存在不一致,则服务器根据基准名称中心的基准路由信息确定数据修复信息。服务器向待修复名称中心发送数据修复信息。待修复名称中心根据数据修复信息,修复待修复名称中心的路由信息,以使待修复名称中心的路由信息与基准路由信息保持一致。新增了第三方服务器,以第三视角对多个名称中心的路由信息进行一致性校验,当信息不一致时,大大缩短了多个名称中心之间路由信息不一致的时间。能够在消息中间件核心上报路由信息通道异常的情况下,仍对名称中心中的路由信息进行一致性的校验和修复。
图3为本申请根据另一示例性实施例示出的数据一致性修复方法的流程示意图。如图3所示,本实施例提供的数据一致性修复方法包括如下步骤:
S201、消息中间件核心向多个名称中心发送路由信息,其中,路由信息包括数据版本信息。
更具体地,消息中间件核心broker中存储了所有的服务信息,broker向所有消息中间件名称中心namesrv发送服务的路由信息,发送的路由信息中包括数据版本信息dataversion。消息中间件名称中心namesrv用于接收消息中间件核心broker上报的路由信息。客户端通过消息中间件名称中心namesrv查询路由信息。
S202、多个名称中心新增数据版本接口,数据版本接口用于拷贝原信息获取接口的数据版本信息,还用于通过数据版本接口发送数据版本信息以及数据版本信息所对应的名称中心标识。
更具体地,在服务器获取数据版本信息dataversion时,消息中间件名称中心namesrv上原信息获取接口会调用数据版本信息dataversion的next方法,这个方法会更新数据版本信息dataversion,造成数据版本信息dataversion原本的计数器和数据版本信息dataversion的更新。更新结果为默认自动设计一个时间戳与一个自然数+1作为数据版本信息dataversion。更新之后会导致消息中间件核心broker上报到消息中间件名称中心namesrv的路由信息被覆盖。消息中间件名称中心namesrv检测到消息中间件核心broker上报的数据版本信息dataversion与本身的数据版本信息dataversion不一致,将会逐个比对消息中间件核心broker上报的路由信息。如果一个消息中间件核心broker上有5000个路由信息,每次服务器获取数据版本信息dataversion都会导致5000次的比对,这就带入了新的问题,背离我们设计sync程序的原则。所以,为了服务器既能够获取到数据版本信息dataversion,又不让原信息获取接口的数据版本信息dataversion进行更新,所有名称中心新增一个数据版本接口。数据版本接口最主要的要求就是当获取数据版本信息dataversion时,不改变数据版本信息dataversion的计数器和数据版本信息dataversion。数据版本信息dataversion在消息中间件名称中心namesrv上的内部类中存储,不能直接通过简单的反射方式来获取。
因此,本申请中,服务器通过namesrv的根对象来获取dataversion对象。dataversion保存在brokerLive对象中,而brokerLive的引用在根对象中,通过根对象能拿到brokerLive的引用,从而获取到dataversion对象。获取到dataversion对象之后,使用深拷贝的方式来获取数据版本信息dataversion的一个副本,副本即新增的数据版本接口。
应当理解,这种设计是为了防止以后在新增的数据版本接口里对数据版本信息dataversion做自定义的修改,而影响到消息中间件名称中心namesrv上本身的数据版本信息dataversion。新增的数据版本接口设计完毕之后,通过数据版本接口获取数据版本信息dataversion,而且不会影响到消息中间件名称中心namesrv本身的运行。
S203、服务器向多个名称中心向服务器发送数据请求,数据请求用于向多个名称中心请求数据版本信息。
S204、多个名称中心根据数据请求,通过数据版本接口向服务器发送数据版本信息以及数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态,名称中心标识用于区分不同的名称中心。
其中,步骤S203至步骤S204与图2实施例中的步骤S101至步骤S102实现方式类似,本实施例此处不再赘述。
S205、服务器获取多个消息中间件核心的上线标志位信息,上线标志位信息用于标识消息中间件核心是否处于在线状态;根据上线标志位信息,得到处于在线状态的消息中间件核心。
更具体地,服务器检查所有消息中间件核心broker的上线标志位信息。当上线标志位信息为off值,表示消息中间件核心broker为离线状态,客户端将获取不到路由信息以及数据版本信息dataversion。如果为离线状态的消息中间件核心broker,将其哈希值设置为0。其他的消息中间件核心broker为在线状态,计算出各自的哈希值。离线状态的消息中间件核心broker将不会参与后续数据版本信息dataversion的比对,以防止离线状态的消息中间件核心broker对在线状态的消息中间件核心broker的数据版本信息dataversion比对造成干扰。
S206、服务器建立第二Map数据结构,其中,第二Map数据结构的第二key值为消息中间件核心地址,第二Map数据结构的第二value值为第一Map数据结构,消息中间件核心地址用于区分不同的消息中间件核心,消息中间件核心用于向多个名称中心发送路由信息,路由信息包括数据版本信息;将消息中间件核心地址和第一Map数据结构填入第二Map数据结构。
S207、服务器建立第一Map数据结构,其中,第一Map数据结构的第一key值为数据版本信息,第一value值为名称中心标识的集合;将数据版本信息和数据版本信息对应的名称中心标识填入第一Map数据结构,得到数据归类信息;根据数据归类信息,判断多个数据版本信息之间是否存在不一致。
更具体地,为了快速比对数据版本信息dataversion是否一致,服务器建立第二Map数据结构和第一Map数据结构用于存储数据版本信息dataversion,表示为Map</*BrokerAddr*/,Map</*DataVersion*/,List</*namesrv*/>>>。第二Map数据结构的第二key值为broker地址,第二value值为以dataversion为第一key值的第一Map数据结构。第一Map数据结构的第一key值为dataversion,第一value值为名称中心标识的集合。
服务器将broker地址、dataversion、名称中心标识添加到第二Map数据结构和第一Map数据结构之后,数据将被自动归类,得到数据归类信息。数据归类后,当broker地址相同时,如果存在不同的dataversion时,第一Map数据结构的数量将不会等于1,第一Map数据结构的dataversion会为名称中心标识自动归类,dataversion相等的名称中心标识会被分到一个集合中。所以,服务器判断所有数据版本信息dataversion是否一致,只需要判断第一Map数据结构的数量是否等于1,只有第一Map数据结构的数量等于1,才表示所有数据版本信息dataversion一致,即所有名称中心的路由信息一致。
例如,消息中间件核心broker1发送路由信息到名称中心1、名称中心2、名称中心3和名称中心4,路由信息包括数据版本信息dataversion1。服务器从名称中心1获取数据版本信息dataversion1、名称中心标识namesrv1和broker1地址,从名称中心2获取数据版本信息dataversion1、名称中心标识namesrv2和broker1地址,从名称中心3获取数据版本信息dataversion1、名称中心标识namesrv3和broker1地址,从名称中心4获取数据版本信息dataversion1、名称中心标识namesrv4和broker1地址。将以上数据添加至第二Map数据结构和第一Map数据结构中,得到的数据归类信息为:第二key值为broker1地址,第一Map数据结构的第一key值为dataversion1,第一value值为(namesrv1,namesrv2,namesrv3,namesrv4)。根据数据归类信息,得到第一Map数据结构的数量等于1,说明四个数据版本信息之间不存在不一致。若多个数据版本信息之间不存在不一致,则根据设置好的数据一致性修复周期,进入下一个数据一致性修复周期。
假设服务器从名称中心1获取数据版本信息dataversion1、名称中心标识namesrv1和broker1地址,从名称中心2获取数据版本信息dataversion1、名称中心标识namesrv2和broker1地址,从名称中心3获取数据版本信息dataversion2、名称中心标识namesrv3和broker1地址,从名称中心4获取数据版本信息dataversion2、名称中心标识namesrv4和broker1地址。将以上数据添加至第二Map数据结构和第一Map数据结构中,得到的数据归类信息为:第二key值为broker1地址,第一Map数据结构的第一key值为dataversion1,第一value值为(namesrv1,namesrv2);另一个第一Map数据结构的第一key值为dataversion2,第一value值为(namesrv3,namesrv4)。根据数据归类信息,得到第一Map数据结构的数量不等于1,说明四个数据版本信息之间存在不一致。
若不使用第二Map数据结构和第一Map数据结构,而是直接每一个名称中心namesrv上的数据版本信息dataversion,然后逐个对每个dataversion进行对比,会加大服务器和名称中心的资源消耗,且对比时间长,时效性也随之降低。因此,服务器将broker地址、dataversion、名称中心标识添加到第二Map数据结构和第一Map数据结构中后,数据将被自动归类。服务器只需要判断各个broker地址对应的第一Map数据结构的数据是否为1,而不需要对每一个名称中心namesrv上的数据版本信息dataversion进行比对来判断dataversion是否一致,节省了运算的同时,也让数据更加直观。
S208、若多个数据版本信息之间存在不一致,根据服务器预设原则,从多个名称中心选择一个名称中心作为基准名称中心,预设原则为少数服从多数原则或随机选取原则;获取基准名称中心的基准路由信息;根据基准路由信息生成数据修复信息。
更具体地,当多个数据版本信息dataversion之间存在不一致时,服务器通过第一Map数据结构的第一value值获取到名称中心标识的集合,采用少数服从多数原则,选择名称中心标识的集合中名称中心标识个数最多的集合,从该集合中选择一个名称中心作为基准名称中心。如果多个名称中心标识的集合中名称中心标识的个数相同,并且多个名称中心标识的集合中名称中心标识的个数是最多的,则随机选择这多个名称中心标识的集合中的一个集合,从该集合中选择一个名称中心作为基准名称中心。获取基准名称中心的路由信息作为基准路由信息,根据基准路由信息生成数据修复信息。
例如,第二Map数据结构和第一Map数据结构中,得到的数据归类信息为:第二key值为broker1地址,第一Map数据结构的第一key值为dataversion1,第一value值为(namesrv1,namesrv2);另一个第一Map数据结构的第一key值为dataversion2,第一value值为namesrv3。dataverion1存在于两个名称中心上,而dataversion2存在于一个名称中心上,得到第一Map数据结构的数量等于2。因此,采用少数服从多数原则,选择namesrv1与namesrv2中任意一个名称中心标识对应的名称中心,作为基准名称中心。namesrv3对应的名称中心作为待修复名称中心。获取基准名称中心的基准路由信息,根据基准路由信息生成数据修复信息。根据数据修复信息去修复待修复名称中心的broker1的路由信息。
例如,第二Map数据结构和第一Map数据结构中,得到的数据归类信息为:第二key值为broker1地址,第一Map数据结构的第一key值为dataversion1,第一value值为(namesrv1,namesrv2);另一个第一Map数据结构的第一key值为dataversion2,第一value值为(namesrv3,namesrv4)。dataversion1与dataversion2对应的名称中心标识的集合中名称中心标识的个数都是2。因此,采用随机选取原则,在这四个名称中心标识中随机选择一个,比如选择到了namesrv1,namesrv1作为基准名称中心。namesrv3与namesrv4对应的名称中心作为待修复名称中心。用namesrv1对应的名称中心的路由信息作为基准路由信息,去修复待修复名称中心的broker1的路由信息。这样设计的好处是,只要存在可用的名称中心节点,就能以其中的一个名称中心节点作为master节点,来同步路由信息。
根据基准路由信息生成数据修复信息时,为了尽量减少数据修复信息对待修复名称中心的影响,服务器采用模拟broker上报路由信息的方式进行路由信息的修复。具体生成过程如下:首先,服务器通过基准名称中心查询到broker上全量的信息,生成一个对象数据结构,这个对象数据结构与broker上报路由信息至名称中心时所用的数据结构一致。对象数据结构中添加一个对象dataversion,值得注意的是,对象dataversion与待修复名称中心中现有的dataversion不同,也不使用基准名称中心上的dataversion。服务器发送对象数据结构至待修复名称中心,待修复名称中心发现对象数据结构中的对象dataversion与本地现存的dataversion不一致,则根据对象数据结构修复本地现存的路由信息。对象dataversion与基准名称中心上的dataversion不同,使待修复名称中心不仅可以通过服务器修复路由信息,也能通过broker自身修复路由信息。当broker上报路由信息时,发现名称中心的dataversion与自身的dataversion不同,也会对名称中心上的路由信息进行修复。双重保障数据被修复完成。生成对象数据结构后,服务器就可以直接调用待修复名称中心接收broker上报路由信息的接口,向该接口发送数据修复信息以完成待修复名称中心的路由信息修复。
S209、服务器向待修复名称中心发送数据修复信息。
S210、待修复名称中心根据数据修复信息,修复待修复名称中心的路由信息,以使待修复名称中心的路由信息与基准路由信息保持一致。
其中,步骤S209至步骤S210与图2实施例中的步骤S104至步骤S105实现方式类似,本实施例此处不再赘述。
在本实施例提供的方法中,主要分为检查阶段和修复阶段。当检查阶段时,若多个数据版本信息之间不存在不一致,将不会进入到修复阶段,这大大的降低了查询名称中心的次数。若多个数据版本信息之间存在不一致,将进入到修复阶段,在修复阶段进行数据的修复更新。
图4为本申请根据一示例性实施例示出的数据一致性修复装置的结构示意图。如图4所示,本申请提供一种数据一致性修复装置30,应用于服务器,装置30包括:
发送模块31,用于发送数据请求,数据请求用于向多个名称中心请求数据版本信息。
接收模块32,用于接收多个数据版本信息以及各个数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态,名称中心标识用于区分不同的名称中心。
处理模块33,用于若多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息,数据修复信息用于修复待修复名称中心的路由信息,待修复名称中心为数据版本信息与基准名称中心的数据版本信息不一致的名称中心。
发送模块31,还用于发送数据修复信息。
具体地,本实施例可以参见上述方法实施例,其原理和技术效果类似,不再赘述。
图5为本申请根据一示例性实施例示出的数据一致性修复装置的结构示意图。如图5所示,本申请提供一种数据一致性修复装置40,应用于多个名称中心,装置40包括:
接收模块41,用于接收数据请求,数据请求用于向多个名称中心请求数据版本信息。
发送模块42,用于根据数据请求,发送数据版本信息以及数据版本信息所对应的名称中心标识,数据版本信息用于标识路由信息的变更状态,名称中心标识用于区分不同的名称中心。
接收模块41,还用于接收数据修复信息,数据修复信息根据基准名称中心的基准路由信息确定,数据修复信息用于修复待修复名称中心的路由信息,待修复名称中心为数据版本信息与基准名称中心的数据版本信息不一致的名称中心。
处理模块43,用于根据数据修复信息,修复待修复名称中心的路由信息,以使待修复名称中心的路由信息与基准路由信息保持一致。
具体地,本实施例可以参见上述方法实施例,其原理和技术效果类似,不再赘述。
图6为本申请根据一示例性实施例示出的电子设备的硬件结构示意图。如图6所示,本实施例的电子设备50包括:处理器51以及存储器52;其中,
存储器52,用于存储处理器可执行指令的存储器。
处理器51,用于根据存储器存储的可执行指令,以实现上述实施例中的数据一致性修复方法。具体可以参见前述方法实施例中的相关描述。
可选地,存储器52既可以是独立的,也可以跟处理器51集成在一起。
当存储器52独立设置时,该电子设备50还包括总线53,用于连接存储器52和处理器51。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,计算机指令被处理器执行时用于实现上述的各种实施方式提供的方法。
其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理器,从而使处理器能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理器的组成部分。处理器和计算机可读存储介质可以位于专用集成电路(Application Specific Integrated Circuits,ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和计算机可读存储介质也可以作为分立组件存在于通信设备中。
上述计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable read-only memory,PROM),只读存储器(Read-OnlyMemory,ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本申请还提供一种计算机程序产品,该程序产品包括执行指令,该执行指令存储在计算机可读存储介质中。设备的至少一个处理器可以从计算机可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (9)
1.一种数据一致性修复方法,其特征在于,应用于服务器,所述方法包括:
发送数据请求,所述数据请求用于向多个名称中心请求数据版本信息;
接收多个数据版本信息以及各个数据版本信息所对应的名称中心标识,所述数据版本信息用于标识路由信息的变更状态;
建立第一Map数据结构,其中,所述第一Map数据结构的第一key值为所述数据版本信息,第一value值为所述名称中心标识的集合;
将所述数据版本信息和所述数据版本信息对应的所述名称中心标识填入所述第一Map数据结构,得到数据归类信息;
根据所述数据归类信息,判断所述多个数据版本信息之间是否存在不一致;
建立第二Map数据结构,其中,所述第二Map数据结构的第二key值为消息中间件核心地址,所述第二Map数据结构的第二value值为所述第一Map数据结构,所述消息中间件核心地址用于区分不同的消息中间件核心,所述消息中间件核心用于向多个名称中心发送路由信息,所述路由信息包括所述数据版本信息;
将所述消息中间件核心地址和所述第一Map数据结构填入所述第二Map数据结构;
若所述多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息,所述数据修复信息用于修复待修复名称中心的路由信息,所述待修复名称中心为数据版本信息与所述基准名称中心的数据版本信息不一致的名称中心;
向所述多个名称中心发送所述数据修复信息。
2.根据权利要求1所述的方法,其特征在于,若所述多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息,包括:
根据预设原则,从所述多个名称中心选择一个名称中心作为所述基准名称中心,所述预设原则为少数服从多数原则或随机选取原则;
获取所述基准名称中心的基准路由信息;
根据所述基准路由信息生成所述数据修复信息。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取多个所述消息中间件核心的上线标志位信息,所述上线标志位信息用于标识所述消息中间件核心是否处于在线状态;
根据所述上线标志位信息,得到处于在线状态的消息中间件核心。
4.一种数据一致性修复方法,其特征在于,应用于多个名称中心,所述方法包括:
接收服务器发送的数据请求,所述数据请求用于向多个名称中心请求数据版本信息;
根据所述数据请求,发送所述数据版本信息以及所述数据版本信息所对应的名称中心标识,所述数据版本信息用于标识路由信息的变更状态;
接收所述服务器发送的数据修复信息,所述数据修复信息根据基准名称中心的基准路由信息确定,所述数据修复信息用于修复待修复名称中心的路由信息,所述待修复名称中心为数据版本信息与所述基准名称中心的数据版本信息不一致的名称中心;
根据所述数据修复信息,修复待修复名称中心的路由信息,以使所述待修复名称中心的路由信息与所述基准路由信息保持一致;
其中,所述数据修复信息的确定方法包括:
建立第一Map数据结构,其中,所述第一Map数据结构的第一key值为所述数据版本信息,第一value值为所述名称中心标识的集合;
将所述数据版本信息和所述数据版本信息对应的所述名称中心标识填入所述第一Map数据结构,得到数据归类信息;
根据所述数据归类信息,判断多个数据版本信息之间是否存在不一致;
建立第二Map数据结构,其中,所述第二Map数据结构的第二key值为消息中间件核心地址,所述第二Map数据结构的第二value值为所述第一Map数据结构,所述消息中间件核心地址用于区分不同的消息中间件核心,所述消息中间件核心用于向多个名称中心发送路由信息,所述路由信息包括所述数据版本信息;
将所述消息中间件核心地址和所述第一Map数据结构填入所述第二Map数据结构;
若所述多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
新增数据版本接口,所述数据版本接口用于拷贝原信息获取接口的数据版本信息,还用于通过所述数据版本接口发送所述数据版本信息以及所述数据版本信息所对应的名称中心标识。
6.一种数据一致性修复系统,其特征在于,所述系统包括消息中间件核心、服务器以及多个名称中心;
所述消息中间件核心用于发送路由信息,其中,所述路由信息包括数据版本信息;
所述服务器用于执行如权利要求1至3中任意一项所述的数据一致性修复方法;
所述名称中心用于执行如权利要求4或5所述的数据一致性修复方法。
7.一种数据一致性修复装置,其特征在于,应用于服务器,所述装置包括:
发送模块,用于发送数据请求,所述数据请求用于向多个名称中心请求数据版本信息;
接收模块,用于接收多个数据版本信息以及各个数据版本信息所对应的名称中心标识,所述数据版本信息用于标识路由信息的变更状态;
处理模块,用于建立第一Map数据结构,其中,所述第一Map数据结构的第一key值为所述数据版本信息,第一value值为所述名称中心标识的集合;将所述数据版本信息和所述数据版本信息对应的所述名称中心标识填入所述第一Map数据结构,得到数据归类信息;根据所述数据归类信息,判断所述多个数据版本信息之间是否存在不一致;建立第二Map数据结构,其中,所述第二Map数据结构的第二key值为消息中间件核心地址,所述第二Map数据结构的第二value值为所述第一Map数据结构,所述消息中间件核心地址用于区分不同的消息中间件核心,所述消息中间件核心用于向多个名称中心发送路由信息,所述路由信息包括所述数据版本信息;将所述消息中间件核心地址和所述第一Map数据结构填入所述第二Map数据结构;若所述多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息,所述数据修复信息用于修复待修复名称中心的路由信息,所述待修复名称中心为数据版本信息与所述基准名称中心的数据版本信息不一致的名称中心;
发送模块,还用于向所述多个名称中心发送所述数据修复信息。
8.一种数据一致性修复装置,其特征在于,应用于多个名称中心,所述装置包括:
接收模块,用于接收服务器发送的数据请求,所述数据请求用于向多个名称中心请求数据版本信息;
发送模块,用于根据所述数据请求,发送所述数据版本信息以及所述数据版本信息所对应的名称中心标识,所述数据版本信息用于标识路由信息的变更状态;
接收模块,还用于接收所述服务器发送的数据修复信息,所述数据修复信息根据基准名称中心的基准路由信息确定,所述数据修复信息用于修复待修复名称中心的路由信息,所述待修复名称中心为数据版本信息与所述基准名称中心的数据版本信息不一致的名称中心;
处理模块,用于根据所述数据修复信息,修复待修复名称中心的路由信息,以使所述待修复名称中心的路由信息与所述基准路由信息保持一致;
其中,所述数据修复信息的确定方法包括:建立第一Map数据结构,其中,所述第一Map数据结构的第一key值为所述数据版本信息,第一value值为所述名称中心标识的集合;将所述数据版本信息和所述数据版本信息对应的所述名称中心标识填入所述第一Map数据结构,得到数据归类信息;根据所述数据归类信息,判断多个数据版本信息之间是否存在不一致;建立第二Map数据结构,其中,所述第二Map数据结构的第二key值为消息中间件核心地址,所述第二Map数据结构的第二value值为所述第一Map数据结构,所述消息中间件核心地址用于区分不同的消息中间件核心,所述消息中间件核心用于向多个名称中心发送路由信息,所述路由信息包括所述数据版本信息;将所述消息中间件核心地址和所述第一Map数据结构填入所述第二Map数据结构;若所述多个数据版本信息之间存在不一致,则根据基准名称中心的基准路由信息确定数据修复信息。
9.一种电子设备,其特征在于,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
处理器,用于根据所述存储器存储的可执行指令,实现如权利要求1至5中任一项所述的数据一致性修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110280262.8A CN112860708B (zh) | 2021-03-16 | 2021-03-16 | 数据一致性修复方法、系统、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110280262.8A CN112860708B (zh) | 2021-03-16 | 2021-03-16 | 数据一致性修复方法、系统、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860708A CN112860708A (zh) | 2021-05-28 |
CN112860708B true CN112860708B (zh) | 2024-05-24 |
Family
ID=75994676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110280262.8A Active CN112860708B (zh) | 2021-03-16 | 2021-03-16 | 数据一致性修复方法、系统、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860708B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010097302A (ja) * | 2008-10-15 | 2010-04-30 | Seiko Epson Corp | ネットワークシステム、サーバ装置、および、プリンタドライバ |
CN105516230A (zh) * | 2014-10-15 | 2016-04-20 | 深圳市腾讯计算机系统有限公司 | 一种数据处理方法及装置 |
CN107357557A (zh) * | 2016-05-09 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 一种信息更新方法及装置 |
CN107809326A (zh) * | 2016-09-09 | 2018-03-16 | 阿里巴巴集团控股有限公司 | 数据一致性的处理方法、装置和设备 |
CN108363744A (zh) * | 2018-01-25 | 2018-08-03 | 昆明电力交易中心有限责任公司 | 基于分级存储和部分复制的电力交易系统一体化对象注册方法 |
CN108712457A (zh) * | 2018-04-03 | 2018-10-26 | 苏宁易购集团股份有限公司 | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 |
CN110109932A (zh) * | 2019-03-25 | 2019-08-09 | 民生科技有限责任公司 | 一种确保分布式环境下主副本数据一致性的方法和系统 |
CN111209032A (zh) * | 2020-01-06 | 2020-05-29 | 中国银联股份有限公司 | 灰度发布方法、配置中心服务器、用户终端、系统及介质 |
CN111447248A (zh) * | 2019-01-16 | 2020-07-24 | 网宿科技股份有限公司 | 一种文件传输的方法及装置 |
CN111726375A (zh) * | 2019-03-19 | 2020-09-29 | 北京数聚鑫云信息技术有限公司 | 一种数据同步方法、装置和计算机设备 |
CN112416459A (zh) * | 2020-11-23 | 2021-02-26 | 杭州当虹科技股份有限公司 | 一种解决微服务之间版本强依赖的系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880725B2 (en) * | 2010-05-26 | 2014-11-04 | Microsoft Corporation | Continuous replication for session initiation protocol based communication systems |
-
2021
- 2021-03-16 CN CN202110280262.8A patent/CN112860708B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010097302A (ja) * | 2008-10-15 | 2010-04-30 | Seiko Epson Corp | ネットワークシステム、サーバ装置、および、プリンタドライバ |
CN105516230A (zh) * | 2014-10-15 | 2016-04-20 | 深圳市腾讯计算机系统有限公司 | 一种数据处理方法及装置 |
CN107357557A (zh) * | 2016-05-09 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 一种信息更新方法及装置 |
CN107809326A (zh) * | 2016-09-09 | 2018-03-16 | 阿里巴巴集团控股有限公司 | 数据一致性的处理方法、装置和设备 |
CN108363744A (zh) * | 2018-01-25 | 2018-08-03 | 昆明电力交易中心有限责任公司 | 基于分级存储和部分复制的电力交易系统一体化对象注册方法 |
CN108712457A (zh) * | 2018-04-03 | 2018-10-26 | 苏宁易购集团股份有限公司 | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 |
CN111447248A (zh) * | 2019-01-16 | 2020-07-24 | 网宿科技股份有限公司 | 一种文件传输的方法及装置 |
CN111726375A (zh) * | 2019-03-19 | 2020-09-29 | 北京数聚鑫云信息技术有限公司 | 一种数据同步方法、装置和计算机设备 |
CN110109932A (zh) * | 2019-03-25 | 2019-08-09 | 民生科技有限责任公司 | 一种确保分布式环境下主副本数据一致性的方法和系统 |
CN111209032A (zh) * | 2020-01-06 | 2020-05-29 | 中国银联股份有限公司 | 灰度发布方法、配置中心服务器、用户终端、系统及介质 |
CN112416459A (zh) * | 2020-11-23 | 2021-02-26 | 杭州当虹科技股份有限公司 | 一种解决微服务之间版本强依赖的系统 |
Non-Patent Citations (2)
Title |
---|
基于Zookeeper的配置管理中心设计与实现;苗凡;阎志远;戴琳琳;;铁路计算机应用;20181025(第10期);全文 * |
基于微服务架构的分布式测距系统的研究与设计;向彬彬;计算机应用与软件;20180531;第35卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112860708A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109688235B (zh) | 虚拟网络业务处理方法、装置和系统,控制器,存储介质 | |
CN110619114B (zh) | 流水号生成方法及系统 | |
CN108234170B (zh) | 一种服务器集群的监控方法和装置 | |
KR20210057149A (ko) | 스마트 계약 기반 데이터 처리 방법, 기기 및 저장 매체 | |
CN110910138A (zh) | 一种区块链数据监管方法、装置 | |
CN110597918B (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
JP2002108728A (ja) | 障害情報の掲載方法およびプロバイダ設備 | |
CN110535654B (zh) | 基于区块链的并行系统部署方法、装置和计算机设备 | |
CN106941420B (zh) | 一种集群应用环境升级方法及装置 | |
CN110289999B (zh) | 一种数据处理方法、系统及装置 | |
CN111163173B (zh) | 集群配置方法、装置、服务器及可读存储介质 | |
CN104486108A (zh) | 基于Zookeeper的节点配置方法和基于Zookeeper的节点配置系统 | |
CN112671928A (zh) | 设备集中管理架构、负载均衡方法、电子设备及存储介质 | |
CN108733477B (zh) | 数据集群化处理的方法、装置及设备 | |
CN110113187B (zh) | 一种配置更新方法、装置、配置服务器及配置系统 | |
CN113127023A (zh) | 业务升级的方法、装置和系统 | |
CN115001974A (zh) | 集群系统一致性检测方法、装置、系统、设备和存储介质 | |
CN108509296B (zh) | 一种处理设备故障的方法和系统 | |
CN113886495A (zh) | 验证区块链数据的方法、装置、电子设备和存储介质 | |
CN112860708B (zh) | 数据一致性修复方法、系统、装置及设备 | |
CN115242687A (zh) | 一种节点探活方法、装置、设备及介质 | |
CN113760519B (zh) | 分布式事务处理方法、装置、系统和电子设备 | |
CN114143330A (zh) | 一种时间服务器的配置方法、装置及系统 | |
CN108882268B (zh) | 一种更新设备配置的方法及设备 | |
CN110995502A (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 |