CN112311833B - 数据更新方法和装置 - Google Patents
数据更新方法和装置 Download PDFInfo
- Publication number
- CN112311833B CN112311833B CN201910705990.1A CN201910705990A CN112311833B CN 112311833 B CN112311833 B CN 112311833B CN 201910705990 A CN201910705990 A CN 201910705990A CN 112311833 B CN112311833 B CN 112311833B
- Authority
- CN
- China
- Prior art keywords
- server
- update data
- servers
- data
- update
- 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 47
- 238000012546 transfer Methods 0.000 claims abstract description 130
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000007726 management method Methods 0.000 claims description 35
- 238000007781 pre-processing Methods 0.000 claims description 24
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor 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/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例公开了数据更新方法和装置。该方法的一具体实施方式包括:获取与当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系;根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合;响应于接收到更新数据,使用更新数据对当前服务器进行数据更新;向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。该实施方式有助于节省服务器集群数据更新的时间,以及降低服务器集群数据更新对数据库所造成的压力。
Description
技术领域
本公开的实施例涉及计算机技术领域,具体涉及数据更新方法和装置。
背景技术
随着应用访问量和数据需求量的急速增加,单个服务器已经不能满足应用的需求,需要由多台服务器组成的服务器集群来为数量庞大的用户提供应用服务。
通常,当服务器集群中的各服务器需要获得更新数据时,数据提供设备可以通过FTP(文件传输协议)、SCP(安全复制协议)、或者点到点的传输工具将更新数据依次提供给服务器集群中的各服务器。
发明内容
本公开的实施例提出了一种数据更新方法和装置。
第一方面,本公开的实施例提供了一种数据更新方法,该方法包括:获取与当前服务器对应的更新数据传递关系,其中,更新数据传递关系用于指示当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系,更新数据传递关系中的节点对应于服务器集群中的服务器;根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合;响应于接收到更新数据,使用更新数据对当前服务器进行数据更新;向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在一些实施例中,在获取与当前服务器对应的更新数据传递关系之前,该方法还包括:发送当前服务器的服务器标识至传递关系管理服务器,其中,传递关系管理服务器根据所接收到的各服务器的服务器标识以完全二叉树形式构建各服务器之间的更新数据传递关系。
在一些实施例中,服务器标识包括服务器的IP地址,以及发送当前服务器的服务器标识至传递关系管理服务器,包括:将当前服务器的IP地址进行二进制转化,得到第一预处理IP地址;去除第一预处理IP地址中的分隔符,得到第二预处理IP地址;将第二预处理IP地址进行十进制转化,得到当前服务器的服务器标识;发送服务器标识至传递关系管理服务器。
在一些实施例中,获取与当前服务器对应的更新数据传递关系,包括:获取以当前服务器所对应的节点为根节点的更新数据传递关系。
在一些实施例中,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新,包括:确定第一服务器集合中第一服务器的数量;响应于第一服务器的数量大于0,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在一些实施例中,该方法还包括:响应于第一服务器使用更新数据进行数据更新失败,根据更新数据传递关系确定与第一服务器对应的节点的子节点为第二子节点,以及将第二子节点对应的服务器确定为第二服务器集合;向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。
在一些实施例中,向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新,包括:确定第二服务器集合中第二服务器的数量;响应于第二服务器的数量大于0,向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。
第二方面,本公开的实施例提供了一种数据更新装置,该装置包括:获取单元,被配置成获取与当前服务器对应的更新数据传递关系,其中,更新数据传递关系用于指示当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系,更新数据传递关系中的节点对应于服务器集群中的服务器;第一确定单元,被配置成根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合;更新单元,被配置成响应于接收到更新数据,使用更新数据对当前服务器进行数据更新;第一发送单元,被配置成向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在一些实施例中,该装置还包括第二发送单元,被配置成在获取与当前服务器对应的更新数据传递关系之前,发送当前服务器的服务器标识至传递关系管理服务器,其中,传递关系管理服务器根据所接收到的各服务器的服务器标识以完全二叉树形式构建各服务器之间的更新数据传递关系。
在一些实施例中,服务器标识包括服务器的IP地址,第二发送单元可以通过以下方式实现发送当前服务器的服务器标识至传递关系管理服务器:将当前服务器的IP地址进行二进制转化,得到第一预处理IP地址;去除第一预处理IP地址中的分隔符,得到第二预处理IP地址;将第二预处理IP地址进行十进制转化,得到当前服务器的服务器标识;发送服务器标识至传递关系管理服务器。
在一些实施例中,获取单元进一步被配置成:获取以当前服务器所对应的节点为根节点的更新数据传递关系。
在一些实施例中,第一发送单元进一步被配置成:确定第一服务器集合中第一服务器的数量;响应于第一服务器的数量大于0,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在一些实施例中,该装置还包括:第二确定单元,被配置成响应于第一服务器使用更新数据进行数据更新失败,根据更新数据传递关系确定与第一服务器对应的节点的子节点为第二子节点,以及将第二子节点对应的服务器确定为第二服务器集合;第三发送单元,被配置成向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。
在一些实施例中,第三发送单元进一步被配置成:确定第二服务器集合中第二服务器的数量;响应于第二服务器的数量大于0,向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。
第三方面,本公开的实施例提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实施例描述的数据更新方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实施例描述的数据更新方法。
本公开的实施例提供的数据更新方法和装置,先获取与当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系;之后,根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合;响应于接收到更新数据,使用更新数据对当前服务器进行数据更新;并且,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。该实施方式通过为服务器集群中的服务器配置一个更新数据传递关系,使得各服务器可以根据更新数据传递关系传输更新数据,以及使用接收到的更新数据进行数据更新。相比由数据提供设备将更新数据依次传输给服务器集群中的各服务器,该实施方式可以使多台服务器在同一时刻并行传输数据,有助于节省服务器集群数据更新的时间,并且可以降低服务器集群数据更新对数据库所造成的压力。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本公开的实施例的数据更新方法的一个实施例的流程图;
图3是根据本公开的实施例的数据更新方法的一个应用场景的示意图;
图4是根据本公开的实施例的数据更新方法的又一个实施例的流程图;
图5是根据本公开的实施例的数据更新装置的一个实施例的结构示意图;
图6是适于用来实现本公开的实施例的电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关公开,而非对该公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关公开相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的实施例的数据更新方法或数据更新装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备104、105、106,网络107,归属于同一个服务器集群的服务器101、102、103。网络107用以在终端设备104、105、106与属于同一个服务器集群的服务器101、102、103之间提供通信链路的介质。网络107可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以通过终端设备104、105、106通过网络107与属于同一服务器集群的服务器101、102、103交互,以接收或发送信息等。终端设备104、105、106上可以安装有各种应用,例如数据处理应用、数据分析应用、即时通信工具、社交平台软件、搜索类应用、购物类应用、浏览器类应用等。
终端设备104、105、106可以是硬件,也可以是软件。当终端设备为硬件时,可以是具有显示屏并且支持与服务器通信的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当终端设备为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
服务器101、102、103属于同一个服务器集群,可以是提供各种服务的服务器,例如对与其建立通信连接的终端设备发送的请求进行接收的后台服务器。后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以是为终端设备提供各种服务的各种电子设备。当服务器为软件时,可以实现成为为终端设备提供各种服务的多个软件或软件模块,也可以实现成为为终端设备提供各种服务的单个软件或软件模块。在此不做具体限定。
需要说明的是,本公开的实施例所提供的数据更新方法可以由服务器集群中的服务器101、102、103执行。相应地,数据更新装置设置于服务器101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本公开的数据更新方法的一个实施例的流程200。该数据更新方法应用于服务器集群中的任一服务器,包括以下步骤:
步骤201,获取与当前服务器对应的更新数据传递关系。
在本实施例中,当前服务器是数据更新方法的执行主体,该当前服务器可以是服务器集群中的任一服务器。与当前服务器对应的更新数据传递关可以不是物理连接关系,而是为了方便更新数据在当前服务器与服务器集群中其他服务器之间传递而构建的完全二叉树形式的虚拟的连接关系。与当前服务器对应的更新数据传递关系可以用于指示当前服务器与服务器集群中其他服务器之间的更新数据的传递关系。
在本实施例中,更新数据传递关系中的节点对应于服务器集群中的服务器。更新数据传递关系中的每个节点可以有至多一个父节点和至多两个子节点。若将更新数据传递关系中当前服务器所对应的节点确定为当前节点,则当前节点的父节点所对应的服务器可以向当前服务器传递更新数据,当前节点的子节点所对应的服务器可以接收当前服务器所传递的更新数据。需要说明的是,若当前节点没有父节点,则由数据提供设备将更新数据传递给当前服务器。
在本实施例中,执行主体与服务器集群中的其他服务器可以通过有线连接方式或无线连接方式进行通信连接。执行主体可以先判断其上是否存储有更新数据传递关系。若存储有更新数据传递关系,执行主体可以直接读取并使用。若未存储有更新数据传递关系,执行主体可以在获取到其他服务器的服务器标识和数据传递关系后,构建更新数据传递关系,并将该更新数据传递关系发送至服务器集群中的其他服务器。
在本实施例的一些可选的实现方式中,上述执行主体可以在获取与当前服务器对应的更新数据传递关系之前,发送当前服务器的服务器标识至传递关系管理服务器。
在该可选的实现方式中,传递关系管理服务器可以用于根据所接收到的各服务器的服务器标识以完全二叉树形式构建各服务器之间的更新数据传递关系。
传递关系管理服务器与服务器集群中的各服务器可以通过有线连接方式或无线连接方式进行通信连接。服务器集群中的各服务器可以将服务器标识发送至传递关系管理服务器,也可以从传递关系管理服务器中获取到与其对应的更新数据传递关系。
传递关系管理服务器在接收到服务器集群中各服务器发送的服务器标识后,可以先统计所接收到的服务器标识的数量。然后,传递关系管理服务器可以构建一棵完全二叉树,并且该完全二叉树中节点的数量与所接收到的服务器标识的数量相等。之后,传递关系管理服务器可以建立完全二叉树的节点与所接收到的服务器标识的一一对应关系。接下来,对于完全二叉树中的每个节点,传递关系管理服务器可以使用与其对应的服务器标识作为该节点的节点标识,从而得到完全二叉树形式的更新数据传递关系。
更新数据传递关系中的任一节点所对应的服务器,在接收到该节点的父节点所对应的服务器向其传递的更新数据之后,可以将更新数据传递至该节点的子节点所对应的服务器。在该可选的实现方式中,由传递关系管理服务器构建服务器集群中各服务器之间的更新数据传递关系,相比由服务器集群中的某个服务器构建更新数据传递关系,以及将更新数据传递关系发送给服务器集群中的其他服务器,更有利于维护更新数据传递关系的统一管理和一致性,并且可以减少服务器集群中各服务器之间的数据交互,保证各服务器的服务稳定性。
在本实施例的一些可选的实现方式中,服务器标识包括服务器的IP地址,上述执行主体可以通过以下步骤发送当前服务器的服务器标识至传递关系管理服务器。
第一步,将当前服务器的IP地址进行二进制转化,得到第一预处理IP地址。
在该可选的实现方式中,上述执行主体发送至传递关系管理服务器的服务器标识可以包括上述执行主体的IP地址。
上述执行主体可以将其IP地址进行二进制转化,得到第一预处理IP地址。例如,作为一个示例,上述执行主体的IP地址为10.22.142.12,进行二进制转化后,得到的第一预处理IP地址为00001010.00010110.10001110.00001100。
第二步,去除第一预处理IP地址中的分隔符,得到第二预处理IP地址。
在该可选的实现方式中,上述执行主体可以去除第一步所得到的第一预处理IP地址中的分隔符,得到第二预处理IP地址。例如,作为一个示例,上述执行主体将第一步所得到的第一预处理IP地址00001010.00010110.10001110.00001100中的分隔符去掉之后,得到的第二预处理IP地址为00001010000101101000111000001100。
第三步,将第二预处理IP地址进行十进制转化,得到当前服务器的服务器标识。
在该可选的实现方式中,上述执行主体可以将第二步得到的第二预处理IP地址进行十进制转化,得到可以发送至传递关系管理服务器的服务器标识。例如,作为一个示例,上述执行主体将第二步所得到的第二预处理IP地址00001010000101101000111000001100进行十进制转化,得到可以发送至传递关系管理服务器的服务器标识为169250316。
第四步,发送服务器标识至传递关系管理服务器。
在该可选的实现方式中,上述执行主体可以将第三步所得到的服务器标识发送至传递关系管理服务器。
在该可选的实现方式中,传递关系管理服务器可以根据所接收到的各服务器的服务器标识构建更新数据传递关系。使用各服务器发送的十进制数据形式的服务器标识构建更新数据传递关系,对比使用各服务器发送的带有分隔符的二进制数字串形式的服务器标识构建更新数据传递关系,数据处理过程更简单,有助于节省处理资源。
在本实施例的一些可选的实现方式中,上述执行主体可以获取以当前服务器所对应的节点为根节点的更新数据传递关系。
在该可选的实现方式中,上述执行主体可以从传递关系管理服务器获取以该执行主体所对应的节点为根节点的更新数据传递关系。
在该可选的实现方式中,上述执行主体只获取以该执行主体所对应的节点为根节点的更新数据传递关系。所获得的更新数据传递关系结构简单,可以节省遍历更新数据传递关系查找第一子节点的时间,从而节省数据更新的时间。
步骤202,根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合。
在本实施例中,根据步骤201所获取的更新数据传递关系,上述执行主体可以先查找出与其对应的节点,之后将该节点的子节点确定为第一子节点,以及将服务器集群中与第一子节点对应的服务器确定为第一服务器集合。在这里,由于更新数据传递关系为完全二叉树形式,所以第一子节点的数量不多于两个。
步骤203,响应于接收到更新数据,使用更新数据对当前服务器进行数据更新。
在本实施例中,上述执行主体在接收到更新数据之后,使用更新数据进行数据更新。在这里,更新数据根据具体的业务的不同可以有不同的内容,例如,更新数据可以是推送需求数据、访问控制数据、软件更新数据等。数据提供设备可以按照预设的数据更新周期向服务器集群提供更新数据,服务器集群中的各服务器在接收到更新数据到就可以使用更新数据进行数据更新。
步骤204,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在本实施例中,上述执行主体可以将更新数据发送给步骤202所确定的第一服务器集合中的第一服务器。第一服务在接收到更新数据之后,就可以使用更新数据进行数据更新。
在本实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
第一步,确定第一服务器集合中第一服务器的数量。
在该可选的实现方式中,上述执行主体可以先确定步骤202所得到的第一服务器集合中第一服务器的数量。
第二步,响应于第一服务器的数量大于0,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在该可选的实现方式中,若第一步中所确定的第一服务器集合中第一服务器的数量大于0,上述执行主体则向第一服务器集合中的第一服务器发送更新数据,使得第一服务器可以使用该更新数据进行数据更新。
若第一步中所确定的第一服务器集合中第一服务器的数量为0,上述执行主体则不执行向第一服务器集合中的第一服务器发送更新数据的操作。
为了保证数据传递的可靠性和各服务器之间数据的一致性,通常,在服务器之间通过网络协议进行数据传递之前,需要先进行网络连接确认和较大数据分割。在该可选的实现方式中,上述执行主体在发送更新数据之前先确定第一服务器集合中第一服务器的数量是否大于0,并且,仅在第一服务器的数量大于0时进行更新数据发送。可以避免在第一服务器数量为0时,进行网络连接确认和较大更新数据分割所造成的资源浪费。
继续参考图3,图3是根据本实施例的数据更新方法的一个应用场景的示意图。在图3的应用场景中,当前服务器302先获取到与其对应的更新数据传递关系306。之后,根据更新数据传递关系306确定与当前服务器302对应的节点的子节点为第一子节点307,将第一子节点307对应的服务器确定为第一服务器集合308。响应于当前服务器302接收到由服务器301传输的更新数据305当前服务器302使用更新数据305进行数据更新。然后,当前服务器302向第一服务器集合308中的第一服务器304和第一服务器集合308中的第一服务器304发送更新数据305,以使第一服务器304和第一服务器305使用更新数据305进行数据更新。
本公开的实施例提供的数据更新方法,先获取与当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系;之后,根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合;响应于接收到更新数据,使用更新数据对当前服务器进行数据更新;并且,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。该实施方式通过为服务器集群中的服务器配置一个更新数据传递关系,使得各服务器可以根据更新数据传递关系传输更新数据,以及使用接收到的更新数据进行数据更新。相比由数据提供设备将更新数据依次传输给服务器集群中的各服务器,该实施方式可以使多台服务器在同一时刻并行传输数据,有助于节省服务器集群数据更新的时间,并且可以降低服务器集群数据更新对数据库所造成的压力。
进一步参考图4,根据本公开的数据更新的方法的又一个实施例的流程400。该数据更新的方法应用于服务器集群中的任一服务器,包括以下步骤:
步骤401,获取与当前服务器对应的更新数据传递关系。
步骤402,根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合。
步骤403,响应于接收到更新数据,使用更新数据对当前服务器进行数据更新。
步骤404,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在本实施例中,上述步骤401、步骤402、步骤403和步骤404分别与前述实施例中的步骤201、步骤202、步骤203和步骤204一致,上文针对步骤201至步骤204的描述也适用于步骤401至步骤404,此处不再赘述。
步骤405,响应于第一服务器使用更新数据进行数据更新失败,根据更新数据传递关系确定与第一服务器对应的节点的子节点为第二子节点,以及将第二子节点对应的服务器确定为第二服务器集合。
在本实施例中,第一服务器使用更新数据进行数据更新失败可以包括但不限于以下情况:上述执行主体在向第一服务器发送更新数据之前进行网络连接确认所得到的结果指示第一服务器网络故障,上述执行主体无法将更新数据发送至第一服务器;上述执行主体在将更新数据发送至第一服务器之后,接收到第一服务器返回的数据更新失败消息。
在本实施例,当第一服务器使用更新数据进行数据更新失败时,上述执行主体可以先将更新数据传递关系中第一服务器对应的节点的子节点确定为第二子节点。然后,将服务器集群中与第二子节点对应的服务器确定为第二服务器集合。步骤406,向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。
在本实施例中,上述执行主体可以向第二服务器集合中的第二服务器发送更新数据。第二集合中的第二服务器可以在接收到更新数据后,使用更新数据进行数据更新。
在本实施的一些可选的实现方式中,上述执行主体可以通过以下步骤向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新:
第一步,确定第二服务器集合中第二服务器的数量。
在该可选的实现方式中,上出执行主体可以先确定步骤405所得到的第二服务器集合中第二服务器的数量。
第二步,响应于第二服务器的数量大于0,向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。
在该可选的实现方式中,若第一步中所确定的第二服务器集合中第二服务器的数量大于0,上述执行主体则向第二服务器集合中的第二服务器发送更新数据,使得第二服务器可以使用该更新数据进行数据更新。
若第二步中所确定的第二服务器集合中第二服务器的数量为0,上述执行主体则不执行向第二服务器集合中的第二服务器发送更新数据的操作。
为了保证数据传递的可靠性和各服务器之间数据的一致性,通常,在服务器之间通过网络协议进行数据传递之前,需要先进行网络连接确认和较大数据分割。在该可选的实现方式中,上述执行主体在发送更新数据之前先确定第二服务器集合中第二服务器的数量是否大于0,并且,仅在第二服务器的数量大于0时进行更新数据发送。可以避免在第二服务器数量为0时,进行网络连接确认和较大更新数据分割所造成的资源浪费。
从图4中可以看出,本实施例中的数据更新方法的流程400中,当第一服务器使用更新数据进行数据更新失败时,上述执行主体可以根据更新数据传递关系确定与第一服务器对应的节点的子节点为第二子节点,以及将第二子节点对应的服务器确定为第二服务器集合。并且,上述执行主体还可以向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。由此,本实施例描述的方案有助于提高数据更新的可靠性,维护服务器集群中各服务之间的数据一致性。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种数据更新装置的一个实施例。该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于服务器集群中任一电子设备中。
如图5所示,本实施例的数据更新装置500可以包括:获取单元501、第一确定单元502、更新单元503和第一发送单元504。其中,获取单元501被配置成获取与当前服务器对应的更新数据传递关系,其中,更新数据传递关系用于指示当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系,更新数据传递关系中的节点对应于服务器集群中的服务器;第一确定单元502被配置成根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合;更新单元503被配置成响应于接收到更新数据,使用更新数据对当前服务器进行数据更新;第一发送单元504被配置成向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在本实施例中,数据更新装置500中:获取单元501、第一确定单元502、更新单元503和第一发送单元504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202、步骤203和步骤204相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,该装置还包括第二发送单元(图中未示出),该单元可以被配置成在获取与当前服务器对应的更新数据传递关系之前,发送当前服务器的服务器标识至传递关系管理服务器,其中,传递关系管理服务器根据所接收到的各服务器的服务器标识以完全二叉树形式构建各服务器之间的更新数据传递关系。
在本实施例的一些可选的实现方式中,服务器标识包括服务器的IP地址,第二发送单元可以通过以下方式实现发送当前服务器的服务器标识至传递关系管理服务器:将当前服务器的IP地址进行二进制转化,得到第一预处理IP地址;去除第一预处理IP地址中的分隔符,得到第二预处理IP地址;将第二预处理IP地址进行十进制转化,得到当前服务器的服务器标识;发送服务器标识至传递关系管理服务器。
在本实施例的一些可选的实现方式中,获取单元501可以进一步被配置成:获取以当前服务器所对应的节点为根节点的更新数据传递关系。
在本实施例的一些可选的实现方式中,第一发送单元504可以进一步被配置成:确定第一服务器集合中第一服务器的数量;响应于第一服务器的数量大于0,向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
在本实施例的一些可选的实现方式中,该装置还包括第二确定单元(图中未示出)和第三发送单元(图中未示出)。其中,第二确定单元可以被配置成响应于第一服务器使用更新数据进行数据更新失败,根据更新数据传递关系确定与第一服务器对应的节点的子节点为第二子节点,以及将第二子节点对应的服务器确定为第二服务器集合;第三发送单元可以被配置成向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。
在本实施例的一些可选的实现方式中,第三发送单元可以进一步被配置成:确定第二服务器集合中第二服务器的数量;响应于第二服务器的数量大于0,向第二服务器集合中的第二服务器发送更新数据,以使第二服务器使用更新数据进行数据更新。
本公开的上述实施例提供的装置,先通过获取更新数据传递关系单元获取与当前服务器对应的更新数据传递关系,其中,更新数据传递关系用于指示当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系,更新数据传递关系中的节点对应于服务器集群中的服务器。接下来,确定第一服务器集合单元根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合;数据更新单元响应于接收到更新数据,使用更新数据对当前服务器进行数据更新;第一更新数据发送单元向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。该实施方式通过为服务器集群中的服务器配置一个更新数据传递关系,使得各服务器可以根据更新数据传递关系传输更新数据,以及使用接收到的更新数据进行数据更新。相比由数据提供设备将更新数据依次传输给服务器集群中的各服务器,该实施方式可以使多台服务器在同一时刻并行传输数据,有助于节省服务器集群数据更新的时间,并且可以降低服务器集群数据更新对数据库所造成的压力。
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器)600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的实施例的方法中限定的上述功能。
需要说明的是,本公开的实施例的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:获取更新数据传递关系单元、确定第一服务器集合单元、数据更新单元和第一更新数据发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取更新数据传递关系单元还可以被描述为“获取与当前服务器对应的更新数据传递关系的单元,其中,更新数据传递关系用于指示当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系,更新数据传递关系中的节点对应于服务器集群中的服务器”。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取与当前服务器对应的更新数据传递关系,其中,更新数据传递关系用于指示当前服务器与服务器集群中其他服务器之间的完全二叉树形式的更新数据传递关系,更新数据传递关系中的节点对应于服务器集群中的服务器;根据更新数据传递关系,确定与当前服务器对应的节点的子节点为第一子节点,将第一子节点对应的服务器确定为第一服务器集合;响应于接收到更新数据,使用更新数据对当前服务器进行数据更新;向第一服务器集合中的第一服务器发送更新数据,以使第一服务器使用更新数据进行数据更新。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (9)
1.一种数据更新方法,包括:
获取与服务器集群中当前服务器对应的更新数据传递关系,其中,所述更新数据传递关系用于指示所述当前服务器与所述服务器集群中其他服务器之间的更新数据的传递关系,所述更新数据传递关系为在所述当前服务器与所述其他服务器之间传递更新数据而构建的完全二叉树形式的连接关系,所述更新数据传递关系中的节点对应于所述服务器集群中的服务器;
根据所述更新数据传递关系,确定与所述当前服务器对应的节点的子节点为第一子节点,将所述服务器集群中与所述第一子节点对应的服务器确定为第一服务器集合;
响应于接收到更新数据,使用所述更新数据对所述当前服务器进行数据更新;
确定所述第一服务器集合中第一服务器的数量,响应于所述第一服务器的数量大于0,向所述第一服务器集合中的第一服务器发送所述更新数据,以使所述第一服务器使用所述更新数据进行数据更新。
2.根据权利要求1所述的方法,其中,在所述获取与当前服务器对应的更新数据传递关系之前,所述方法还包括:
发送当前服务器的服务器标识至传递关系管理服务器,其中,所述传递关系管理服务器根据所接收到的各服务器的服务器标识以完全二叉树形式构建各服务器之间的更新数据传递关系。
3.根据权利要求2所述的方法,其中,所述服务器标识包括服务器的IP地址;以及所述发送当前服务器的服务器标识至传递关系管理服务器,包括:
将所述当前服务器的IP地址进行二进制转化,得到第一预处理IP地址;
去除所述第一预处理IP地址中的分隔符,得到第二预处理IP地址;
将所述第二预处理IP地址进行十进制转化,得到所述当前服务器的服务器标识;
发送所述服务器标识至传递关系管理服务器。
4.根据权利要求1所述的方法,其中,所述获取与当前服务器对应的更新数据传递关系,包括:
获取以所述当前服务器所对应的节点为根节点的更新数据传递关系。
5.根据权利要求1所述的方法,其中,所述方法还包括:
响应于所述第一服务器使用所述更新数据进行数据更新失败,根据所述更新数据传递关系确定与所述第一服务器对应的节点的子节点为第二子节点,以及将所述第二子节点对应的服务器确定为第二服务器集合;
向所述第二服务器集合中的第二服务器发送所述更新数据,以使所述第二服务器使用所述更新数据进行数据更新。
6.根据权利要求5所述的方法,其中,所述向所述第二服务器集合中的第二服务器发送所述更新数据,以使所述第二服务器使用所述更新数据进行数据更新,包括:
确定所述第二服务器集合中第二服务器的数量;
响应于所述第二服务器的数量大于0,向所述第二服务器集合中的第二服务器发送所述更新数据,以使所述第二服务器使用所述更新数据进行数据更新。
7.一种数据更新装置,包括:
获取单元,被配置成获取与服务器集群中当前服务器对应的更新数据传递关系,其中,所述更新数据传递关系用于指示所述当前服务器与所述服务器集群中其他服务器之间的更新数据的传递关系,所述更新数据传递关系为在所述当前服务器与所述其他服务器之间传递更新数据而构建的完全二叉树形式的连接关系,所述更新数据传递关系中的节点对应于所述服务器集群中的服务器;
第一确定单元,被配置成根据所述更新数据传递关系,确定与所述当前服务器对应的节点的子节点为第一子节点,将所述服务器集群中与所述第一子节点对应的服务器确定为第一服务器集合;
更新单元,被配置成响应于接收到更新数据,使用所述更新数据对所述当前服务器进行数据更新;
第一发送单元,被配置成确定所述第一服务器集合中第一服务器的数量,响应于所述第一服务器的数量大于0,向所述第一服务器集合中的第一服务器发送所述更新数据,以使所述第一服务器使用所述更新数据进行数据更新。
8.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的方法。
9.一种计算机可读介质,其上存储计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910705990.1A CN112311833B (zh) | 2019-08-01 | 2019-08-01 | 数据更新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910705990.1A CN112311833B (zh) | 2019-08-01 | 2019-08-01 | 数据更新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112311833A CN112311833A (zh) | 2021-02-02 |
CN112311833B true CN112311833B (zh) | 2023-11-07 |
Family
ID=74485777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910705990.1A Active CN112311833B (zh) | 2019-08-01 | 2019-08-01 | 数据更新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112311833B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024094A (zh) * | 2012-11-15 | 2013-04-03 | 中国科学院计算机网络信息中心 | 一种安全可靠的dns区文件信息下发更新方法及系统 |
CN103279718A (zh) * | 2013-05-20 | 2013-09-04 | 电子科技大学 | 一种云存储中基于sbt的数据完整性验证方法 |
CN103501337A (zh) * | 2013-09-29 | 2014-01-08 | 方正国际软件有限公司 | 多级数据节点更新同步系统和方法 |
CN109600447A (zh) * | 2018-12-21 | 2019-04-09 | 北京百度网讯科技有限公司 | 用于处理数据的方法、装置和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9009350B2 (en) * | 2008-04-01 | 2015-04-14 | International Business Machines Corporation | Determining a path for network traffic between nodes in a parallel computer |
-
2019
- 2019-08-01 CN CN201910705990.1A patent/CN112311833B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103024094A (zh) * | 2012-11-15 | 2013-04-03 | 中国科学院计算机网络信息中心 | 一种安全可靠的dns区文件信息下发更新方法及系统 |
CN103279718A (zh) * | 2013-05-20 | 2013-09-04 | 电子科技大学 | 一种云存储中基于sbt的数据完整性验证方法 |
CN103501337A (zh) * | 2013-09-29 | 2014-01-08 | 方正国际软件有限公司 | 多级数据节点更新同步系统和方法 |
CN109600447A (zh) * | 2018-12-21 | 2019-04-09 | 北京百度网讯科技有限公司 | 用于处理数据的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112311833A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291103B (zh) | 接口数据的解析方法、装置、电子设备及存储介质 | |
CN110263277B (zh) | 页面数据的显示方法、更新方法、装置、设备及存储介质 | |
CN110909521B (zh) | 在线文档信息的同步处理方法、装置及电子设备 | |
CN110781373B (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN111460129A (zh) | 标识生成的方法、装置、电子设备和存储介质 | |
CN111857720A (zh) | 用户界面状态信息的生成方法、装置、电子设备及介质 | |
CN112311833B (zh) | 数据更新方法和装置 | |
CN113420400B (zh) | 一种路由关系建立方法、请求处理方法、装置及设备 | |
CN113553206B (zh) | 数据事件执行方法、装置、电子设备和计算机可读介质 | |
CN112507676B (zh) | 能源报表生成方法、装置、电子设备和计算机可读介质 | |
CN115102992A (zh) | 数据发布方法、装置、电子设备和计算机可读介质 | |
CN110830427A (zh) | 一种netty环境下的消息编码、消息解码的方法和装置 | |
CN111460020B (zh) | 用于解析消息的方法、装置、电子设备和介质 | |
CN114490718A (zh) | 数据输出方法、装置、电子设备和计算机可读介质 | |
CN112099841A (zh) | 一种生成配置文件的方法和系统 | |
CN112311840A (zh) | 一种多终端数据同步方法、装置、设备及介质 | |
WO2014176954A1 (zh) | 分布式存储系统的数据的处理方法、装置及系统 | |
CN113472565B (zh) | 服务器功能的扩容方法、装置、设备和计算机可读介质 | |
CN111314457B (zh) | 设置虚拟私有云的方法和装置 | |
CN116820354B (zh) | 数据存储方法、数据存储装置和数据存储系统 | |
CN116319322B (zh) | 电力设备节点通信连接方法、装置、设备和计算机介质 | |
CN115225586B (zh) | 数据包发送方法、装置、设备及计算机可读存储介质 | |
CN117112500B (zh) | 一种资源管理方法、装置、设备和存储介质 | |
CN111062682B (zh) | 一种工单处理方法和装置 | |
CN109388536B (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 |