CN108881379B - 一种服务器集群间数据同步的方法和装置 - Google Patents
一种服务器集群间数据同步的方法和装置 Download PDFInfo
- Publication number
- CN108881379B CN108881379B CN201810414297.4A CN201810414297A CN108881379B CN 108881379 B CN108881379 B CN 108881379B CN 201810414297 A CN201810414297 A CN 201810414297A CN 108881379 B CN108881379 B CN 108881379B
- Authority
- CN
- China
- Prior art keywords
- data
- server cluster
- server
- type
- clusters
- 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.)
- Expired - Fee Related
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
- 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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种服务器集群间数据同步的方法和装置,涉及集群存储技术领域,该方法包括:监测各服务器集群从第一数据源设备中获取第一类数据时的数据传输状态以及各服务器集群自身的健康程度,然后根据各服务器集群的数据传输状态和健康程度确定第一备份服务器集群,最后控制第一备份服务器集群将获取的第一类数据同步至第一备份服务器集群之外的其他服务器集群。由于根据各服务器集群的数据传输状态和健康程度确定备份服务器集群,故备份服务器集群从数据源设备获取的数据为完整的数据,从而保证了同步后各服务器集群数据的完整性。其次,通过将备份服务器集群获取的数据同步至其他服务器集群,从而实现了服务器集群之间数据的一致性。
Description
技术领域
本发明实施例涉及集群存储技术领域,尤其涉及一种服务器集群间数据同步的方法和装置。
背景技术
随着我国进入大数据时代,对数据管理和存储的需求也不断增加。为了满足对大规模的数据进行存储和管理,近几年来出现了搭建服务器集群对数据进行管理和存储的方案。现有技术中,为了防止因为机房问题、主干网问题等导致服务器集群不可用的问题,通常设置多个服务器集群获取同一数据源的数据进行存储和管理。然而,在用户向服务器集群请求数据的过程中,若从一个服务器集群切换至另一个服务器集群,会出现请求的数据不一致或者不连贯的情况,从而影响用户体验。
发明内容
本发明实施例提供一种服务器集群间数据同步的方法和装置,用于解决现有技术中服务器集群之间数据不一致的问题。
一方面,本发明实施例提供了一种服务器集群间数据同步的方法,包括:
监测各服务器集群从第一数据源设备中获取第一类数据时的数据传输状态以及所述各服务器集群自身的健康程度,然后从所述各服务器集群中确定出数据传输状态正常且健康程度满足预设条件的服务器集群,之后再从所述数据传输状态正常且健康程度满足预设条件的服务器集群中确定出第一备份服务器集群,最后控制所述第一备份服务器集群将获取的第一类数据同步至所述各服务器集群中除所述第一备份服务器集群之外的其他服务器集群。通过监测各服务器集群获取第一类数据时的数据传输状态以及各服务器集群的健康程度确定第一备份服务器集群,故用于备份的服务器集群从数据源设备获取的数据为完整的数据,从而保证了同步后各服务器集群数据的完整性。其次,通过将第一备份服务器集群获取的数据同步至其他服务器集群,从而实现了服务器集群之间数据的一致性。
可选地,所述从所述数据传输状态正常且健康程度满足预设条件的服务器集群中确定出第一备份服务器集群,包括:将数据传输状态正常且健康程度满足预设条件的服务器集群中优先级最高的服务器集群确定为第一备份服务器集群。由于优先级越高的服务器集群对应的数据传输链路越稳定,健康程度也较好,故在数据传输状态正常且健康程度满足预设条件的服务器集群中选取优先级最高的服务器集群作为第一备份服务器集群,提高了第一备份服务器集群中的数据的完整性。
可选地,获取所述各服务器集群中保存的第二类数据,所述第二类数据是从第二数据源设备中获取的。在确定所述各服务器集群中保存的第二类数据不一致时,根据所述各服务器集群获取所述第二类数据时的数据传输状态和所述各服务器集群自身的健康程度确定第二备份服务器集群,然后控制所述第二备份服务器集群将保存的第二类数据同步至所述各服务器集群中除所述第二备份服务器集群之外的其他服务器集群。通过将服务器集群保存的数据进行比较,故在服务器集群中数据出现不一致时,能及时将第二备份服务器集群的数据同步至其他服务器集群,从而保证了服务器集群之间数据的一致性。其次,根据服务器集群获取第二类数据时的数据传输状态和各服务器集群自身的健康程度确定第二备份服务器集群,从而保证了第二备份服务器集群从数据源设备中获取的数据的完整性。
可选地,针对所述各服务器集群中的任意一个服务器集群,所述服务器集群接收用户终端发送的第一数据请求,所述第一数据请求用于请求获取第一类数据,然后判断是否保存了从第一备份服务器集群同步的第一类数据;若是,则将从所述第一备份服务器集群同步的第一类数据发送至所述用户终端;否则将从第一数据源设备中获取的第一类数据发送至所述用户终端。由于服务器集群在接收到用户终端的数据请求后,先判断是否保存的了同步的数据,若有,则发送同步数据至用户终端,保证了用户终端从各服务器集群中获取的数据的一致性和连贯性,否则发送从数据源设备中获取的数据,保证了在数据同步前服务器集群也能给用户终端提供数据。
可选地,还包括:所述服务器集群接收所述用户终端发送的第二数据请求,所述第二数据请求用于请求获取第二类数据,将保存的第二类数据发送至所述用户终端,所述服务器集群保存的第二类数据是从所述第二数据源设备中获取的或从所述第二备份服务器集群中获取的。针对第二类数据,通过将同步的数据直接覆盖服务器集群从数据源设备中获取的数据,故在用户终端请求数据时,服务器集群直接将本集群保存的数据发送至用户终端,不需要判断,从而一方面提高响应用户终端数据请求的速率,另一方面节约了服务器集群的存储空间。
一方面,本发明实施例提供了一种服务器集群间数据同步的装置,包括监控模块、第一处理模块以及同步模块,其中监控模块,用于监测各服务器集群从第一数据源设备中获取第一类数据时的数据传输状态以及所述各服务器集群自身的健康程度;第一处理模块,用于从所述各服务器集群中确定出数据传输状态正常且健康程度满足预设条件的服务器集群;从所述数据传输状态正常且健康程度满足预设条件的服务器集群中确定出第一备份服务器集群;同步模块,用于控制所述第一备份服务器集群将获取的第一类数据同步至所述各服务器集群中除所述第一备份服务器集群之外的其他服务器集群。
可选地,所述第一处理模块具体用于:将数据传输状态正常且健康程度满足预设条件的服务器集群中优先级最高的服务器集群确定为第一备份服务器集群。
可选地,服务器集群数据同步装置还包括查询模块,所述查询模块用于获取所述各服务器集群中保存的第二类数据,所述第二类数据是从第二数据源设备中获取的;所述第一处理模块还用于在确定所述各服务器集群中保存的第二类数据不一致时,根据所述各服务器集群获取所述第二类数据时的数据传输状态和所述各服务器集群自身的健康程度确定第二备份服务器集群;所述同步模块还用于控制所述第二备份服务器集群将保存的第二类数据同步至所述各服务器集群中除所述第二备份服务器集群之外的其他服务器集群。
可选地,还包括:接收模块、第二处理模块,其中,接收模块,用于接收用户终端发送的第一数据请求,所述第一数据请求用于请求获取第一类数据;第二处理模块,用于判断是否保存了从第一备份服务器集群同步的第一类数据;若是,则将从所述第一备份服务器集群同步的第一类数据发送至所述用户终端;否则将从第一数据源设备中获取的第一类数据发送至所述用户终端。
可选地,所述接收模块还用于接收所述用户终端发送的第二数据请求,所述第二数据请求用于请求获取第二类数据;所述第二处理模块还用于将保存的第二类数据发送至所述用户终端,所述服务器集群保存的第二类数据是从所述第二数据源设备中获取的或从所述第二备份服务器集群中获取的。
另一方面,本发明实施例提供了一种终端设备,包括至少一个处理单元、显示单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行上述任一项所述方法的步骤。
又一方面,本发明实施例提供了一种计算机可读存储介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行上述任一项所述方法的步骤。
本发明实施例提供的技术方案,通过监测各服务器集群获取数据时的数据传输状态和各服务器集群自身的健康程度,将数据传输状态正常且健康程度满足预设条件的服务器集群中优先级最高的服务器集群确定为备份服务器集群,故相较于其他服务器集群,备份服务器集群从数据源设备中获取的数据为更完整的数据,将备份服务器集群的数据同步至其他服务器集群,保证了同步后各服务器集群数据的完整性。其次,通过将备份服务器集群获取的数据同步至其他服务器集群,实现了服务器集群之间数据的一致性,故用户在向服务器集群请求数据,就算遇到集群切换的情况,也能保证所请求的数据的一致性和连贯性,从而提升用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种***架构图;
图2为本发明实施例提供的一种服务器集群间数据同步的方法的流程示意图;
图3为本发明实施例提供的一种服务器集群间数据同步的方法的流程示意图;
图4为本发明实施例提供的一种服务器集群间数据同步的方法的流程示意图;
图5为本发明实施例提供的一种服务器集群间数据同步的方法的流程示意图;
图6为本发明实施例提供的一种服务器集群的结构示意图;
图7为本发明实施例提供的一种服务器集群的结构示意图;
图8为本发明实施例提供的一种服务器集群间数据同步的装置的结构示意图;
图9为本发明实施例提供的一种终端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。为了方便理解,下面对本发明实施例中涉及的名词进行解释。
服务器集群:多个服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个服务器坏了整个***还是能正常运行。
图1示例性示出了本发明实施例适用的一种***架构示意图,如图1所示,本发明实施例适用的***架构包括用户终端110、数据源设备120、至少两个服务器集群130、控制中心140。控制中心140可以为独立服务器,可以是集成在服务器集群130或集成于现有CDN网络中的其他设备上。
用户终端110具体网络通信能力的电子设备,该电子设备是智能手机、平板电脑或便携式个人计算机等等。用户终端110与服务器集群130和控制中心140之间通过无线网络相连。
数据源设备120为服务器集群130提供原始数据,数据格式可以是文字、图片、视频、网页、http信息等等。数据源设备120与服务器集群130和控制中心140之间通过无线网络相连。
服务器集群130从数据源设备120中获取数据并保存,同时在接收到用户终端110的数据请求后,响应数据请求为用户终端110提供数据。
控制中心140通过监测设备监控各服务器集群130从数据源设备120获取数据时的数据传输状态以及各服务器集群130自身的健康程度后,从数据传输状态正常且健康程度满足预设条件的服务器集群130中确定出备份服务器集群,之后再控制备份服务器集群将获取的第一类数据同步至各服务器集群130中除备份服务器集群之外的其他服务器集群130,故保证了各服务器集群之间数据的一致性。当用户终端110向服务器集群130请求数据时,先向控制中心140发送数据请求,然后由控制中心140根据各服务器集群130的负载情况为用户终端110分配一个服务器集群130,用户终端110从分配的服务器集群130中请求数据。当为用户终端110提供数据的服务器集群130出现故障时,控制中心140控制将用户终端110切换至另一个服务器集群130,由另一个服务器集群130继续为用户终端110提供数据。控制中心140是一台服务器或若干台服务器组成的服务器集群或云计算中心。
可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。
基于图1所述的***架构图,本发明实施例提供了一种服务器集群间数据同步的方法,该方法的流程可以由服务器集群间数据同步的装置执行,如图2所示,包括以下步骤:
步骤S201,监测各服务器集群从第一数据源设备中获取第一类数据时的数据传输状态以及各服务器集群自身的健康程度。
在一种可能的实施方式中,第一类数据为重要数据,重要数据根据具体业务需求进行判定,第一数据源设备为提供重要数据的设备,需要说的是,第一类数据源设备可以只产生重要数据,也可以同时产生重要数据和非重要数据。
在另一种可能的实施方式中,第一类数据实时数据,即用户会实时从服务器集群中请求的数据,比如在直播过程中,看客需要实时获取主播的视频,那么主播作为数据源发送至服务器集群的数据即为第一类数据。第一数据源设备为提供实时数据的设备,第一数据源设备产生第一类数据后会发送至各个服务器集群,需要说的是,第一类数据源设备可以只产生实时数据,也可以同时产生实时数据和非实时数据,对此,本发明实施例不做具体限定。各服务器集群在接收第一数据源设备发送的第一类数据后进行保存。监测设备实时监测各服务器集群获取第一类数据时的数据传输状态以及各服务器集群自身的健康程度,数据传输状态包括但不限于网络传输状态、传输组件状态、机器宕机等突发故障,影响服务器集群自身的健康程度的因素包括但不限于:硬盘、内存、中央处理器(CentralProcessing Unit,简称CPU)、主板、I/O板以及电源。
步骤S202,从各服务器集群中确定出数据传输状态正常且健康程度满足预设条件的服务器集群。
步骤S203,从数据传输状态正常且健康程度满足预设条件的服务器集群中确定出第一备份服务器集群。
在一种可能的实施方式中,当各服务集群中只有一个服务器集群的数据传输状态正常且健康程度满足预设条件,则将该服务器集群确定为第一备份服务器集群。
在另一中可能的实施方式中,当各服务集群中至少两个服务器集群的数据传输状态正常且健康程度满足预设条件时,则按照服务器集群的优先级确定第一备份服务集群,比如,将数据传输状态正常且健康程度满足预设条件的服务器集群中优先级最高的服务器集群确定为第一备份服务器集群。由于优先级越高的服务器集群对应的数据传输链路越稳定,健康程度也较好,故在数据传输状态正常且健康程度满足预设条件的服务器集群中选取优先级最高的服务器集群作为第一备份服务器集群,提高了第一备份服务器集群中的数据的完整性。
步骤S204,控制第一备份服务器集群将获取的第一类数据同步至各服务器集群中除第一备份服务器集群之外的其他服务器集群。
第一备份服务器集群将获取的第一类数据分发至其他服务器集群,其他服务器集群在接收到第一备份服务器集群分发的第一类数据后保存在本地,故各服务器集群之间的数据是一致的,当用户从一个服务器集群切换至另一个服务器集群中,也能保证用户请求的数据的一致性和连贯性,从而提升用户体验。另外,其他服务器集群保存了第一备份服务器集群分发的第一类数据,同时也保存了从第一数据源设备中获取的第一类数据,故就算在第一备份服务器集群没有将第一类数据分发结束,其他服务器集群接收到用户终端的数据请求时,也可以先将从第一数据源设备中获取的第一类数据发送至用户终端,便于用户实时获取第一类数据。其次,若第一备份服务器集群没有将第一类数据分发完时出现故障,也可以重新从其他服务器集群中确定备份服务器集群,并将从第一数据源设备中获取的第一类数据发送至其他服务器集群,提高了数据备份的稳定性。
基于图1所述的***架构图,本发明实施例还提供了一种服务器集群间数据同步的方法,该方法的流程可以由服务器集群间数据同步的装置执行,如图3所示,包括以下步骤:
步骤S301,获取各服务器集群中保存的第二类数据,第二类数据是从第二数据源设备中获取的。
在一种可能的实施方式中,第二类数据为非重要数据,非重要数据根据具体业务需求进行判定,第二数据源设备为提供非重要数据的设备,需要说的是,第二类数据源设备可以只产生非重要数据,也可以同时产生重要数据和非重要数据。另外,第一数据源设备和第二数据源设备可以为同一数据源设备,也可以是不同的数据源设备。
在另一种可能的实施方式中,第二类数据为非实时数据,即服务器集群定期更新的数据,并且用户预先知晓该类数据定期更新,比如第二类数据为每天更新的数据,第二类数据源设备将当天的第二类数据发送至服务器集群后,若用户需要查询当天的第二类数据,需要一天后才能查询。第二数据源设备为提供非实时数据的设备,第二数据源设备产生非实时数据后会发送至各个服务器集群。需要说的是,第二类数据源设备可以只产生非实时数据,也可以同时产生实时数据和非实时数据,对此,本发明实施例不做具体限定。监测设备实时监测各服务器集群获取第二类数据时的数据传输状态以及各服务器集群自身的健康程度并将数据传输状态和健康程度进行保存,各服务器集群在接收第二数据源设备发送的第二类数据后直接进行保存,不需要实时判断数据传输状态并进行数据同步。之后再查询各个服务器集群在同一时段内获取并保存的第二类数据,查询的方式可以是用户手动查询,也可以是定期自动查询,然后将查询获取的各个服务器集群的第二数据进行用户界面(User Interface,简称UI)展示并比较,判断各服务器集群在同一时段内获取并保存的数据是否一致。
步骤S302,在确定各服务器集群中保存的第二类数据不一致时,根据各服务器集群获取第二类数据时的数据传输状态和各服务器集群自身的健康程度确定第二备份服务器集群。
由于各服务器集群在获取第二类数据时,监测设备实时监测了各服务器集群获取第二类数据时的数据传输状态以及各服务器集群自身的健康程度,故在比较后确定各服务器集群在同一时段内获取并保存的第二类数据不一致时,可以获取监测设备在该时段内监测得到的各服务器集群获取第二类数据时的数据传输状态以及各服务器集群自身的健康程度,然后从数据传输状态正常且健康程度满足预设条件的服务器集群中确定第二备份服务器集群。从数据传输状态正常且健康程度满足预设条件的各服务器集群中确定第二备份服务器集群的方法与从数据传输状态正常且健康程度满足预设条件的各服务器集群中确定第一备份服务器集群的方法相同,此处不再赘述。
步骤S303,控制第二备份服务器集群将保存的第二类数据同步至各服务器集群中除第二备份服务器集群之外的其他服务器集群。
第二备份服务器集群将保存的第二类数据分发至其他服务器集群,其他服务器集群将接收到第二类数据保存,同时将从第二类数据源设备中获取的第二类数据删除。通过将服务器集群保存的数据进行比较,故在服务器集群中数据出现不一致时,能及时将第二备份服务器集群的数据同步至其他服务器集群,从而保证了服务器集群之间数据的一致性。需要说明的是,针对各服务器集群中的第一类数据,同样适用于本发明实施例提供的方案,即定期查询并比较数据是否一致,若不一致,则进行数据同步,不过在同步时不会将从第一数据源设备中获取的第一类数据进行覆盖。
基于图1所述的***架构图,本发明实施例还提供了一种服务器集群间数据同步的方法,该方法的流程可以由各服务器集群中的任意一个服务器集群执行,如图4所示,包括以下步骤:
步骤S401,服务器集群接收用户终端发送的第一数据请求,第一数据请求用于请求获取第一类数据。
服务器集群同时保存了从第一类数据源设备获取的第一类数据以及第一备份服务器集群分发的第一类数据,两者保存在不同的分布式数据库中。需要说明的是,若服务器集群为第一备份服务器集群时,只需要保存从第一类数据源设备获取的第一类数据。
步骤S402,服务器集群判断是否保存了从第一备份服务器集群同步的第一类数据。
步骤S403,若是,则将从第一备份服务器集群同步的第一类数据发送至用户终端。
步骤S404,否则将从第一数据源设备中获取的第一类数据发送至用户终端。
服务器集群实时接收用户终端发送的第一数据请求,此时,可能出现第一备份服务器集群没有完全将第一类数据备份至其他服务服务器集群,故服务器集群在接收到第一数据请求时,先判断是否保存了从第一备份服务器集群同步的第一类数据,即第一备份服务器是否将第一类数据分发结束,若是,则将从第一备份服务器集群同步的第一类数据发送至用户终端,否则将从第一数据源设备中获取的第一类数据发送至用户终端,从而既保证了用户终端从各服务器集群中获取的数据的一致性和连贯性,又保证了实时响应用户终端的数据请求。
基于图1所述的***架构图,本发明实施例还提供了一种服务器集群间数据同步的方法,该方法的流程可以由各服务器集群中的任意一个服务器集群执行,如图5所示,包括以下步骤:
步骤S501,服务器集群接收用户终端发送的第二数据请求,第二数据请求用于请求获取第二类数据。
服务器集群保存了从第二类数据源设备获取的第二类数据或第二备份服务器集群分发的第二类数据。
步骤S502,服务器集群将保存的第二类数据发送至用户终端。
服务器集群保存的第二类数据是从第二数据源设备中获取的或从第二备份服务器集群中获取的。针对第二类数据,由于用户终端非实时请求数据,故将同步的数据直接覆盖服务器集群从数据源设备中获取的数据,在用户终端请求数据时,服务器集群直接将保存的数据发送至用户终端,不需要判断,从而一方面提高响应用户终端数据请求的速率,另一方面节约了服务器集群的存储空间。
为了更好的解释本发明实施例,下面通过具体的实施场景描述本发明实施例提供的一种服务器集群间数据同步的方法,如图6所述,针对第一类数据,设定服务器集群1、服务器集群2以及服务器集群3从第一数据源设备中获取第一类数据,服务器集群1包括接收模块、处理模块、缓存模块、分发模块、存储模块和查询模块,服务器集群2和服务器集群3的结构以及工作过程与服务器集群1相同。首先通过接收模块接收第一数据源设备发送的第一类数据,数据格式可具有多样性,可以是文件、http信息等。然后对第一类数据进行接入处理,可以将第一类数据发向不同的目的地,比如将第一类数据发送到kafka进行处理,为了数据修复及校验,接收模块会同时将第一类数据存一份到分布式文件***。之后接收模块将第一类数据发送至处理模块,处理模块在数据入库之前将第一类数据进行抽取(extract)、转换(transform)、加载(load)或聚合等操作,使用的处理引擎有JSTORM、SPARKSTREAMING等,处理逻辑根据业务需求或者自定义。缓存模块将处理模块的结果进行缓存供入库,防止入库堆积等现象,可以采用CODIS或Aerospike等存储***。服务器集群1的分发模块若接收到控制中心发送的分发指令,则从缓存模块中捞取第一类数据,分发到服务器集群2和服务器集群3。服务器集群1的分发模块若没有接收到控制中心发送的分发指令,则接收服务器集群2或服务器集群3分发的第一类数据并保存。图6示例性示出了服务器集群1的分发模块分发第一类数据的过程。为了一致性以及可靠性,控制中心在一个时间段只会向第一备份服务器集群发送分发指令,进而控制第一备份服务器集群将从第一类数据源设备获取的第一类数据同步至其他服务器集群。可选地,服务器集群1的分发模块也可以从控制中心的监测设备中获取各服务器集群获取第一类数据时的数据传输状态以及各服务器集群自身的健康程度,然后根据各服务器集群的数据传输状态、健康程度以及优先级判断自身是否为第一备份服务器,若是,则从缓存模块中捞取第一类数据,分发到服务器集群2和服务器集群3,否则接收服务器集群2或服务器集群3分发的第一类数据并保存。存储模块,用于存储从第一类数据源设备获取的第一类数据和第一备份服务器集群分发的第一类数据,存储模块一般为分布式数据库,可以为phoenix、hbase、mongodb等等,具体的选择根据业务场景确定。查询模块,供外部查询数据时使用。
如图7所述,针对第二类数据,设定服务器集群1、服务器集群2以及服务器集群3从第二数据源设备中获取第二类数据并将数据保存在存储模块中。控制中心通过服务器集群的查询模块定期从各服务器集群的存储模块中获取第二类数据进行UI展示并比较,判断服务器集群1、服务器集群2以及服务器集群3中保存的第二类数据是否一致,若是,则直接结束,否则根据各服务器集群获取第二类数据时的数据传输状态和各服务器集群自身的健康程度确定第二备份服务器集群,发送同步指令至第二备份服务器集群以使第二备份服务器集群将保存的第二类数据同步至其它服务器集群,第二备份服务器集群为服务器集群1、服务器集群2和服务器集群3中的一个服务器集群。
本发明实施例提供的技术方案,通过监测各服务器集群获取数据时的数据传输状态以及各服务器集群自身的健康程度,将数据传输状态正常且健康程度满足预设条件的服务器集群中优先级最高的服务器集群确定为备份服务器集群,故相较于其他服务器集群,备份服务器集群从数据源设备中获取的数据为更完整的数据,将备份服务器集群的数据同步至其他服务器集群,保证了同步后各服务器集群数据的完整性。其次,通过将备份服务器集群获取的数据同步至其他服务器集群,实现了服务器集群之间数据的一致性,故用户在向服务器集群请求数据,就算遇到集群切换的情况,也能保证所请求的数据的一致性和连贯性,从而提升用户体验。
基于相同的技术构思,本发明实施例还提供了一种服务器集群间数据同步的装置,如图8所示,该装置800包括监控模块801、第一处理模块802以及同步模块803,其中监控模块801,用于监测各服务器集群从第一数据源设备中获取第一类数据时的数据传输状态以及所述各服务器集群自身的健康程度;第一处理模块802,用于从所述各服务器集群中确定出数据传输状态正常且健康程度满足预设条件的服务器集群;从所述数据传输状态正常且健康程度满足预设条件的服务器集群中确定出第一备份服务器集群;同步模块803,用于控制所述第一备份服务器集群将获取的第一类数据同步至所述各服务器集群中除所述第一备份服务器集群之外的其他服务器集群。
可选地,所述第一处理模块802具体用于:将数据传输状态正常且健康程度满足预设条件的服务器集群中优先级最高的服务器集群确定为第一备份服务器集群。
可选地,服务器集群数据同步装置还包括查询模块804,所述查询模块804用于获取所述各服务器集群中保存的第二类数据,所述第二类数据是从第二数据源设备中获取的;所述第一处理模块802还用于在确定所述各服务器集群中保存的第二类数据不一致时,根据所述各服务器集群获取所述第二类数据时的数据传输状态和所述各服务器集群自身的健康程度确定第二备份服务器集群;所述同步模块803还用于控制所述第二备份服务器集群将保存的第二类数据同步至所述各服务器集群中除所述第二备份服务器集群之外的其他服务器集群。
可选地,还包括接收模块805,用于接收用户终端发送的第一数据请求,所述第一数据请求用于请求获取第一类数据;第二处理模块806,用于判断是否保存了从第一备份服务器集群同步的第一类数据;若是,则将从所述第一备份服务器集群同步的第一类数据发送至所述用户终端;否则将从第一数据源设备中获取的第一类数据发送至所述用户终端。
可选地,所述接收模块805还用于接收所述用户终端发送的第二数据请求,所述第二数据请求用于请求获取第二类数据;所述第二处理模块806还用于将保存的第二类数据发送至所述用户终端,所述服务器集群保存的第二类数据是从所述第二数据源设备中获取的或从所述第二备份服务器集群中获取的。
本发明实施例提供了一种终端设备,包括至少一个处理单元以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行服务器集群间数据同步的方法的步骤。如图9所示,为本发明实施例中所述的终端设备的硬件结构示意图,该终端设备具体可以为台式计算机、便携式计算机、智能手机、平板电脑等。具体地,该终端设备可以包括存储器901、处理器902及存储在存储器上的计算机程序,所述处理器902执行所述程序时实现上述实施例中的任一服务器集群间数据同步的方法的步骤。其中,存储器901可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器902提供存储器901中存储的程序指令和数据。
进一步地,本申请实施例中所述的终端设备还可以包括输入装置903以及输出装置904等。输入装置903可以包括键盘、鼠标、触摸屏等;输出装置904可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT),触摸屏等。存储器901,处理器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。处理器902调用存储器901存储的程序指令并按照获得的程序指令执行上述实施例提供的服务器集群间数据同步的方法。
本发明实施例还提供了一种计算机可读存储介质,其存储有可由终端设备执行的计算机程序,当所述程序在终端设备上运行时,使得所述终端设备执行服务器集群间数据同步的方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种服务器集群间数据同步的方法,其特征在于,包括:
控制中心监测各服务器集群从第一数据源设备中获取第一类数据时的数据传输状态以及所述各服务器集群自身的健康程度;
从所述各服务器集群中确定出数据传输状态正常且健康程度满足预设条件的服务器集群;
从所述数据传输状态正常且健康程度满足预设条件的服务器集群中确定出第一备份服务器集群;
控制所述第一备份服务器集群将获取的第一类数据同步至所述各服务器集群中除所述第一备份服务器集群之外的其他服务器集群;
在接收用户终端发送的数据请求时,根据所述各个服务器集群的负载情况,从所述各个服务器集群中确定出为所述用户终端提供数据的目标服务器集群,以使所述用户终端从所述目标服务器集群中请求数据。
2.如权利要求1所述的方法,其特征在于,从所述数据传输状态正常且健康程度满足预设条件的服务器集群中确定出第一备份服务器集群,包括:
将数据传输状态正常且健康程度满足预设条件的服务器集群中优先级最高的服务器集群确定为第一备份服务器集群。
3.如权利要求1所述的方法,其特征在于,还包括:
获取所述各服务器集群中保存的第二类数据,所述第二类数据是从第二数据源设备中获取的;
在确定所述各服务器集群中保存的第二类数据不一致时,根据所述各服务器集群获取所述第二类数据时的数据传输状态和所述各服务器集群自身的健康程度确定第二备份服务器集群;
控制所述第二备份服务器集群将保存的第二类数据同步至所述各服务器集群中除所述第二备份服务器集群之外的其他服务器集群。
4.如权利要求1所述的方法,其特征在于,还包括:
针对所述各服务器集群中的任意一个服务器集群,所述服务器集群接收用户终端发送的第一数据请求,所述第一数据请求用于请求获取第一类数据;
所述服务器集群判断是否保存了从所述第一备份服务器集群同步的第一类数据;
若是,则将从所述第一备份服务器集群同步的第一类数据发送至所述用户终端;
否则将从所述第一数据源设备中获取的第一类数据发送至所述用户终端。
5.如权利要求4所述的方法,其特征在于,还包括:
所述服务器集群接收所述用户终端发送的第二数据请求,所述第二数据请求用于请求获取第二类数据;
所述服务器集群将保存的第二类数据发送至所述用户终端,所述服务器集群保存的第二类数据是从所述第二数据源设备中获取的或从所述第二备份服务器集群中获取的。
6.一种服务器集群间数据同步的装置,其特征在于,包括:
监控模块,用于监测各服务器集群从第一数据源设备中获取第一类数据时的数据传输状态以及所述各服务器集群自身的健康程度;
第一处理模块,用于从所述各服务器集群中确定出数据传输状态正常且健康程度满足预设条件的服务器集群;从所述数据传输状态正常且健康程度满足预设条件的服务器集群中确定出第一备份服务器集群;
同步模块,用于控制所述第一备份服务器集群将获取的第一类数据同步至所述各服务器集群中除所述第一备份服务器集群之外的其他服务器集群;在接收用户终端发送的数据请求时,根据所述各个服务器集群的负载情况,从所述各个服务器集群中确定出为所述用户终端提供数据的目标服务器集群,以使所述用户终端从所述目标服务器集群中请求数据。
7.如权利要求6所述的装置,其特征在于,所述第一处理模块具体用于:
将数据传输状态正常且健康程度满足预设条件的服务器集群中优先级最高的服务器集群确定为第一备份服务器集群。
8.如权利要求6所述的装置,其特征在于,还包括查询模块;
所述查询模块用于获取所述各服务器集群中保存的第二类数据,所述第二类数据是从第二数据源设备中获取的;
所述第一处理模块还用于在确定所述各服务器集群中保存的第二类数据不一致时,根据所述各服务器集群获取所述第二类数据时的数据传输状态和所述各服务器集群自身的健康程度确定第二备份服务器集群;
所述同步模块还用于控制所述第二备份服务器集群将保存的第二类数据同步至所述各服务器集群中除所述第二备份服务器集群之外的其他服务器集群。
9.如权利要求6所述的装置,其特征在于,还包括:
接收模块,用于接收用户终端发送的第一数据请求,所述第一数据请求用于请求获取第一类数据;
第二处理模块,用于判断是否保存了从第一备份服务器集群同步的第一类数据;
若是,则将从所述第一备份服务器集群同步的第一类数据发送至所述用户终端;
否则将从第一数据源设备中获取的第一类数据发送至所述用户终端。
10.如权利要求9所述的装置,其特征在于,所述接收模块还用于接收所述用户终端发送的第二数据请求,所述第二数据请求用于请求获取第二类数据;
所述第二处理模块还用于将保存的第二类数据发送至所述用户终端,所述服务器集群保存的第二类数据是从所述第二数据源设备中获取的或从所述第二备份服务器集群中获取的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810414297.4A CN108881379B (zh) | 2018-05-03 | 2018-05-03 | 一种服务器集群间数据同步的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810414297.4A CN108881379B (zh) | 2018-05-03 | 2018-05-03 | 一种服务器集群间数据同步的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108881379A CN108881379A (zh) | 2018-11-23 |
CN108881379B true CN108881379B (zh) | 2021-04-16 |
Family
ID=64327362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810414297.4A Expired - Fee Related CN108881379B (zh) | 2018-05-03 | 2018-05-03 | 一种服务器集群间数据同步的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108881379B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614271B (zh) * | 2018-12-14 | 2023-06-13 | 深圳前海微众银行股份有限公司 | 多个集群数据一致性的控制方法、装置、设备及存储介质 |
CN109660560A (zh) * | 2019-01-23 | 2019-04-19 | 视联动力信息技术股份有限公司 | 一种数据同步方法和*** |
CN111371900B (zh) * | 2020-03-13 | 2022-07-12 | 北京奇艺世纪科技有限公司 | 一种监测同步链路健康状态的方法及*** |
CN111901389B (zh) * | 2020-07-03 | 2023-07-04 | 北京达佳互联信息技术有限公司 | 数据更新方法、装置、服务器及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682117A (zh) * | 2012-05-15 | 2012-09-19 | 浪潮电子信息产业股份有限公司 | 一种数据库集群数据快速复制的方法 |
CN103391299A (zh) * | 2012-05-08 | 2013-11-13 | 深圳市腾讯计算机***有限公司 | 负载均衡方法和负载均衡*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102025630A (zh) * | 2010-12-14 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 负载均衡方法及负载均衡*** |
US8949828B2 (en) * | 2011-01-11 | 2015-02-03 | International Business Machines Corporation | Single point, scalable data synchronization for management of a virtual input/output server cluster |
CN104536971A (zh) * | 2014-12-02 | 2015-04-22 | 北京锐安科技有限公司 | 一种具备高可用性的数据库 |
CN104462483A (zh) * | 2014-12-18 | 2015-03-25 | 北京奇虎科技有限公司 | 数据同步方法、装置及*** |
CN106888245B (zh) * | 2016-06-07 | 2020-04-24 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及*** |
CN105915646A (zh) * | 2016-06-20 | 2016-08-31 | 飞天诚信科技股份有限公司 | 一种分散服务器负载的方法及装置 |
-
2018
- 2018-05-03 CN CN201810414297.4A patent/CN108881379B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103391299A (zh) * | 2012-05-08 | 2013-11-13 | 深圳市腾讯计算机***有限公司 | 负载均衡方法和负载均衡*** |
CN102682117A (zh) * | 2012-05-15 | 2012-09-19 | 浪潮电子信息产业股份有限公司 | 一种数据库集群数据快速复制的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108881379A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108881379B (zh) | 一种服务器集群间数据同步的方法和装置 | |
EP2904763B1 (en) | Load-balancing access to replicated databases | |
CN108418900B (zh) | 一种服务器集群***中的缓存方法、写入点客户端和读客户端 | |
CN111078147B (zh) | 一种缓存数据的处理方法、装置、设备及存储介质 | |
CN110427284B (zh) | 数据处理方法、分布式***、计算机***和介质 | |
CN103559072A (zh) | 虚拟机双向自动伸缩服务实现方法及其*** | |
CN102694868A (zh) | 一种集群***实现及任务动态分配方法 | |
CN109783151B (zh) | 规则变更的方法和装置 | |
CN112199427A (zh) | 一种数据处理方法和*** | |
CN105069152B (zh) | 数据处理方法及装置 | |
CN110784498B (zh) | 一种个性化数据容灾方法及装置 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
US20160234129A1 (en) | Communication system, queue management server, and communication method | |
CN104750757A (zh) | 一种基于HBase的数据存储方法和设备 | |
CN115309497A (zh) | 请求调度方法、装置、设备以及存储介质 | |
CN111726388A (zh) | 一种跨集群高可用的实现方法、装置、***及设备 | |
CN107566470B (zh) | 云数据***中管理虚拟机的方法和装置 | |
CN112181942A (zh) | 时序数据库***和数据处理方法及装置 | |
KR20150007698A (ko) | 가상 데스크탑 서비스를 위한 부하 분산 시스템 | |
CN106570006B (zh) | 多媒体文件推荐***和投放信息存储方法 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
CN112631756A (zh) | 一种应用于航天测控软件的分布式调控方法及装置 | |
US10375161B1 (en) | Distributed computing task management system and method | |
CN113742254A (zh) | 内存碎片治理方法、装置和*** | |
CN103685359A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210416 |