CN110166562A - 数据同步的方法、装置、存储介质和电子设备 - Google Patents

数据同步的方法、装置、存储介质和电子设备 Download PDF

Info

Publication number
CN110166562A
CN110166562A CN201910441877.7A CN201910441877A CN110166562A CN 110166562 A CN110166562 A CN 110166562A CN 201910441877 A CN201910441877 A CN 201910441877A CN 110166562 A CN110166562 A CN 110166562A
Authority
CN
China
Prior art keywords
client
synchronized
server
implementing result
instruction message
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.)
Granted
Application number
CN201910441877.7A
Other languages
English (en)
Other versions
CN110166562B (zh
Inventor
陈勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201910441877.7A priority Critical patent/CN110166562B/zh
Publication of CN110166562A publication Critical patent/CN110166562A/zh
Application granted granted Critical
Publication of CN110166562B publication Critical patent/CN110166562B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication 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)
  • Hardware Redundancy (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开涉及一种数据同步的方法、装置、存储介质和电子设备,涉及无线通信技术领域,该方法应用于服务端,服务端通过ZeroMQ与目标客户端进行数据传输,包括:若服务端与目标客户端之间网络连接的连接状态由异常状态转换为正常状态,接收目标客户端发送的连接指示消息,连接指示消息用于指示连接状态由异常状态转换为正常状态,响应于接收到连接指示消息,确定待同步客户端,向待同步客户端发送结果获取指令,以便待同步客户端根据结果获取指令确定本地存储的待同步执行结果,待同步执行结果表示待同步客户端对服务端发送的任务指令的执行结果,接收待同步客户端发送的待同步执行结果,并同步待同步执行结果。能够提高管理***的可靠性。

Description

数据同步的方法、装置、存储介质和电子设备
技术领域
本公开涉及无线通信技术领域,具体地,涉及一种数据同步的方法、装置、存储介质和电子设备。
背景技术
随着无线通信技术的不断发展,越来越多的技术领域开始采用运维管理***,通过服务端向多个客户端统一发送任务指令,来实现对集群的业务管理。例如,SaltStack管理***,服务端与多个客户端之间通过ZeroMQ(英文:Zero Message Queue)进行数据传输,能够实现集中化配置管理、远程执行、监控等功能,从而有效提高运维人员的工作效率。然而,ZeroMQ是一种轻量级消息队列,不支持持久化机制,当服务端与客户端之间的网络连接出现异常时,会导致服务端无法获知客户端对任务指令的执行结果,即服务端与客户端之间的执行结果不一致,使得服务端无法确定后续对客户端的操作。
发明内容
本公开的目的是提供一种数据同步的方法、装置、存储介质和电子设备,用以解决现有技术中存在的服务端与客户端之间的执行结果不一致的问题。
为了实现上述目的,根据本公开实施例的第一方面,提供一种数据同步的方法,应用于服务端,所述服务端通过ZeroMQ与目标客户端进行数据传输,所述方法包括:
若所述服务端与所述目标客户端之间网络连接的连接状态由异常状态转换为正常状态,接收所述目标客户端发送的连接指示消息,所述连接指示消息用于指示所述连接状态由异常状态转换为正常状态;
响应于接收到所述连接指示消息,确定待同步客户端;
向所述待同步客户端发送结果获取指令,以便所述待同步客户端根据所述结果获取指令确定本地存储的待同步执行结果,所述待同步执行结果表示所述待同步客户端对所述服务端发送的任务指令的执行结果;
接收所述待同步客户端发送的所述待同步执行结果,并同步所述待同步执行结果。
可选地,所述确定待同步客户端包括:
确定与所述服务端连接的候选客户端;
确定是否存储有每个所述候选客户端对应的目标执行结果,所述目标执行结果表示所述候选客户端对所述任务指令的执行结果;
将所述目标执行结果未被存储的所述候选客户端作为所述待同步客户端。
可选地,所述确定待同步客户端包括:
将所述目标客户端,作为所述待同步客户端。
可选地,所述待同步执行结果包括所述任务指令的任务标识;所述同步所述待同步执行结果包括:
将所述待同步执行结果,存储为所述任务标识指示的所述任务指令对应的执行结果。
根据本公开实施例的第二方面,提供一种数据同步的方法,应用于客户端,所述客户端通过服务端的ZeroMQ与所述服务端进行数据传输,所述方法包括:
执行所述服务端发送的任务指令,得到待同步执行结果;
若所述服务端与所述客户端之间网络连接的连接状态为异常状态,将所述待同步执行结果进行本地存储;
若所述连接状态由异常状态转换为正常状态,向所述服务端发送连接指示消息,所述连接指示消息用于指示所述连接状态由异常状态转换为正常状态,以便所述服务端响应于接收到所述连接指示消息,与所述客户端进行所述待同步执行结果的同步。
可选地,在所述向所述服务端发送连接指示消息后,所述方法还包括:
接收所述服务端根据所述连接指示消息发送的结果获取指令,所述结果获取指令包括所述任务指令的任务标识;
根据所述任务标识确定本地存储的所述待同步执行结果,并将所述待同步执行结果发送至所述服务端。
根据本公开实施例的第三方面,提供一种数据同步的装置,应用于服务端,所述服务端通过ZeroMQ与目标客户端进行数据传输,所述装置包括:
接收模块,用于若所述服务端与所述目标客户端之间网络连接的连接状态由异常状态转换为正常状态,接收所述目标客户端发送的连接指示消息,所述连接指示消息用于指示所述连接状态由异常状态转换为正常状态;
确定模块,用于响应于接收到所述连接指示消息,确定待同步客户端;
发送模块,用于向所述待同步客户端发送结果获取指令,以便所述待同步客户端根据所述结果获取指令确定本地存储的待同步执行结果,所述待同步执行结果表示所述待同步客户端对所述服务端发送的任务指令的执行结果;
同步模块,用于接收所述待同步客户端发送的所述待同步执行结果,并同步所述待同步执行结果。
可选地,所述确定模块包括:
第一确定子模块,用于确定与所述服务端连接的候选客户端;
第二确定子模块,用于确定是否存储有每个所述候选客户端对应的目标执行结果,所述目标执行结果表示所述候选客户端对所述任务指令的执行结果;
第三确定子模块,用于将所述目标执行结果未被存储的所述候选客户端作为所述待同步客户端。
可选地,所述确定模块用于:
将所述目标客户端,作为所述待同步客户端。
可选地,所述待同步执行结果包括所述任务指令的任务标识;所述同步模块用于:
将所述待同步执行结果,存储为所述任务标识指示的所述任务指令对应的执行结果。
根据本公开实施例的第四方面,提供一种数据同步的装置,应用于客户端,所述客户端通过服务端的ZeroMQ与所述服务端进行数据传输,所述装置包括:
执行模块,用于执行所述服务端发送的任务指令,得到待同步执行结果;
存储模块,用于若所述服务端与所述客户端之间网络连接的连接状态为异常状态,将所述待同步执行结果进行本地存储;
发送模块,用于若所述连接状态由异常状态转换为正常状态,向所述服务端发送连接指示消息,所述连接指示消息用于指示所述连接状态由异常状态转换为正常状态,以便所述服务端响应于接收到所述连接指示消息,与所述客户端进行所述待同步执行结果的同步。
可选地,所述装置还包括:
接收模块,用于在所述向所述服务端发送连接指示消息后,接收所述服务端根据所述连接指示消息发送的结果获取指令,所述结果获取指令包括所述任务指令的任务标识;
所述发送模块,还用于根据所述任务标识确定本地存储的所述待同步执行结果,并将所述待同步执行结果发送至所述服务端。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面提供的数据同步的方法的步骤。
根据本公开实施例的第六方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面提供的数据同步的方法的步骤。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面提供的数据同步的方法的步骤。
根据本公开实施例的第八方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第二方面提供的数据同步的方法的步骤。
通过上述技术方案,本公开在服务端与目标客户端之间网络连接的连接状态由异常状态转换为正常状态时,目标客户端向服务端发送用于指示连接状态转换为正常状态的连接指示消息。服务端接收连接指示消息后,确定待同步客户端,再向待同步客户端发送结果获取指令。待同步客户端根据接收到的结果获取指令来确定本地存储的待同步执行结果,并将待同步执行结果发送至服务端。服务端接收待同步执行结果,并将待同步执行结果进行同步。能够同步服务端与客户端之间的执行结果,提高管理***的可靠性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种数据同步的方法的流程图;
图2是根据一示例性实施例示出的另一种数据同步的方法的流程图;
图3是根据一示例性实施例示出的一种数据同步的方法的流程图;
图4是根据一示例性实施例示出的另一种数据同步的方法的流程图;
图5是根据一示例性实施例示出的一种数据同步的装置的框图;
图6是根据一示例性实施例示出的另一种数据同步的装置的框图;
图7是根据一示例性实施例示出的一种数据同步的装置的框图;
图8是根据一示例性实施例示出的另一种数据同步的装置的框图;
图9是根据一示例性实施例示出的一种电子设备的框图;
图10是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开提供的数据同步的方法、装置、存储介质和电子设备之前,首先对本公开各个实施例所涉及应用场景进行介绍。该应用场景可以为SaltStack管理***,SaltStack管理***采用C/S(英文:Client/Server,中文:客户/服务器)模式,服务端(Server)是master,客户端(client)是minion,服务端通过ZeroMQ与目标客户端进行数据传输,由于ZeroMQ中数据的输入和输出是异步的,因此不支持持久化机制。其中,服务端能够向多个客户端统一发送任务指令,以集中管理多个客户端。
图1是根据一示例性实施例示出的一种数据同步的方法的流程图,如图1所示,该方法应用于服务端,服务端通过ZeroMQ与目标客户端进行数据传输,该方法包括:
步骤101,若服务端与目标客户端之间网络连接的连接状态由异常状态转换为正常状态,接收目标客户端发送的连接指示消息,连接指示消息用于指示连接状态由异常状态转换为正常状态。
举例来说,在SaltStack管理***中,服务端与多个客户端之间均通过ZeroMQ进行数据传输,目标客户端可以是多个客户端中的任一个客户端。由于外界干扰、设备受损等原因,服务端与客户端之间网络连接的连接状态有可能为异常状态(例如:网络波动、断网、服务端异常、服务端相关服务停止等场景)。若连接状态为异常状态发生在服务端向客户端发送任务指令之前,那么服务端发送任务指令将会失败(即服务端能够获知任务指令发送失败),因此,可以在连接状态转换为正常状态时,重新发送任务指令。若连接状态为异常状态发生在服务端向客户端发送任务指令后,那么服务端将无法获知客户端执行任务指令的执行结果,即客户端向服务端发送任务指令对应的执行结果将会失败。此时,客户端可以按照预设周期(例如:2s)循环检测连接状态,当连接状态由异常状态转换为正常状态时,向服务端发送连接指示消息。服务端根据接收到的连接指示消息,能够获知连接状态由异常状态转换为正常状态。
步骤102,响应于接收到连接指示消息,确定待同步客户端。
示例的,由于服务端能够集中管理多个客户端,若服务端与目标客户端之间网络连接的连接状态为异常状态,服务端与除目标客户端之外的其他客户端之间网络连接的连接状态也可能为异常状态,即可能有多个客户端执行任务指令的执行结果没有同步至服务端。因此在接收到连接指示消息后,可以确定需要进行同步的待同步客户端,待同步客户端可以是一个或多个客户端。确定待同步客户端的策略可以为:将目标客户端作为待同步客户端,或者在服务端确定没有收到哪些客户端的任务指令的执行结果,将这些客户端作为待同步客户端,还可以将所有与服务端连接的客户端作为待同步客户端。
步骤103,向待同步客户端发送结果获取指令,以便待同步客户端根据结果获取指令确定本地存储的待同步执行结果,待同步执行结果表示待同步客户端对服务端发送的任务指令的执行结果。
步骤104,接收待同步客户端发送的待同步执行结果,并同步待同步执行结果。
示例的,确定了待同步客户端之后,服务端向待同步客户端(一个或多个客户端)统一发送结果获取指令,结果获取指令用于指示待同步客户端将待同步执行结果发送至服务端。待同步客户端在收到结果获取指令后,在本地存储中查找待同步执行结果,并将待同步执行结果发送至服务端。服务端在接收到待同步执行结果后,对待同步执行结果进行同步,可以理解为将待同步执行结果进行存储,以便确认后续对客户端的管理操作。其中,待同步执行结果为服务端向待同步客户端发送任务指令,待同步客户端执行任务指令的执行结果,执行结果例如可以是JSON(英文:Java Script Object Notation)格式,可以包括任务指令是否执行成功,也可以包括任务指令指示的任务的具体结果,以任务指令为获取CPU使用率为例,执行结果可以包括:指令执行成功或指令执行失败,若指令执行成功,还可以包括客户端当前CPU使用率。
需要说明的是,根据SaltStack管理***的实现机制,本公开所提供的实施例中,服务端与客户端之间进行数据传输都是通过4505和4506两个端口。其中,服务端通过4505端口将数据(例如:结果获取指令)Push到ZeroMQ中,以便客户端从ZeroMQ中获取该数据,同样的,客户端通过4506端口将数据(例如:连接指示消息、待同步执行结果)Push到ZeroMQ中,以便服务端从ZeroMQ中获取该数据。进一步的服务端通过4505端口接收由客户端发送的数据,可以是按照预设算法(例如:AES加密算法)进行加密后的数据。
综上所述,本公开中的服务端,在服务端与目标客户端之间网络连接的连接状态由异常状态转换为正常状态时,接收目标客户端发送的用于指示连接状态转换为正常状态的连接指示消息,之后响应连接指示消息,确定待同步客户端,再向待同步客户端发送结果获取指令,最后接收待同步客户端发送的本地存储的待同步执行结果,并将待同步执行结果进行同步。能够同步服务端与客户端之间的执行结果,提高管理***的可靠性。
图2是根据一示例性实施例示出的另一种数据同步的方法的流程图,如图2所示,步骤102可以通过以下步骤来实现:
步骤1021,确定与服务端连接的候选客户端。
步骤1022,确定是否存储有每个候选客户端对应的目标执行结果,目标执行结果表示候选客户端对任务指令的执行结果。
步骤1023,将目标执行结果未被存储的候选客户端作为待同步客户端。
具体的,要确定待同步客户端,可以先确定与服务端连接的候选客户端,候选客户端可以理解为与服务端建立了网络连接的全部客户端,还可以是服务端发送了任务指令的客户端。如果服务端与客户端之间网络连接的连接状态一直为正常状态,那么服务端上会存储有每个候选客户端对任务指令的执行结果。因此可以通过查找每个候选客户端对应的目标执行结果,若某一候选客户端对应的目标执行结果未被存储,那么将该候选客户端作为待同步客户端。其中,待同步客户端可以是一个或多个,可以包括目标客户端,也可以不包括目标客户端。
在另一种实现方式中,可以直接将目标客户端作为待同步客户端。进一步的,也可以将每个候选客户端作为待同步客户端。
可选地,待同步执行结果包括任务指令的任务标识。步骤103的实现方式可以包括:
将待同步执行结果,存储为任务标识指示的任务指令对应的执行结果。
举例来说,服务端在向客户端发送任务指令时,会生成一个能够唯一标识任务指令的任务标识(jid),并将任务标识与任务指令一起发送给客户端。客户端在接收到任务指令后,会派生出一个新的进程来执行任务指令,任务指令执行完成后,待同步执行结果可以包含有任务标识,还可以包含有能够唯一标识客户端的客户端标识。服务端可以预先建立一个任务执行情况模型,任务执行情况模型中会记录各个客户端执行任务指令的执行结果,可以将任务执行情况模型理解为一个表格,包含了三列数据:第一列记录客户端标识、第二列记录任务标识,第三列记录执行结果,每一行数据表示某一客户端在执行某一任务指令的执行结果。服务端可以在任务执行情况模型中,根据客户端标识查找哪些候选客户端没有对应的执行结果。
服务端在获取待同步执行结果后,将待同步执行结果存储在任务执行情况模型,包含有对应任务标识和客户端标识的记录中,作为待同步客户端执行任务指令对应的执行结果。进一步的,服务端在同步待同步执行结果之后,还可以将任务执行结果模型同步到SaltStack管理***中任务指令的执行历史情况模型中,以使服务端可以根据执行历史情况模型确认后续对客户端的管理操作。
综上所述,本公开中的服务端,在服务端与目标客户端之间网络连接的连接状态由异常状态转换为正常状态时,接收目标客户端发送的用于指示连接状态转换为正常状态的连接指示消息,之后响应连接指示消息,确定待同步客户端,再向待同步客户端发送结果获取指令,最后接收待同步客户端发送的本地存储的待同步执行结果,并将待同步执行结果进行同步。能够同步服务端与客户端之间的执行结果,提高管理***的可靠性。
图3是根据一示例性实施例示出的一种数据同步的方法的流程图,如图3所示,该方法应用于客户端,客户端通过服务端的ZeroMQ与服务端进行数据传输,该方法包括:
步骤201,执行服务端发送的任务指令,得到待同步执行结果。
步骤202,若服务端与客户端之间网络连接的连接状态为异常状态,将待同步执行结果进行本地存储。
步骤203,若连接状态由异常状态转换为正常状态,向服务端发送连接指示消息,连接指示消息用于指示连接状态由异常状态转换为正常状态,以便服务端响应于接收到连接指示消息,与客户端进行待同步执行结果的同步。
举例来说,SaltStack管理***中,服务端向客户端通过ZeroMQ发送任务指令,客户端接收到任务指令后,派生出一个新的进程来执行任务指令,任务执行完成之后,会得到待同步执行结果,即需要发送至服务端的执行结果。此时,根据客户端与服务端之间网络连接的连接状态的不同,对待同步执行结果的处理方式也不相同。
若连接状态为异常状态,此时如果客户端向服务端发送待同步执行结果,服务端无法收到待同步执行结果,即服务端同步失败。因此可以先将待同步执行结果进行本地存储,例如将待同步执行结果存储在本地日志文件中。之后,客户端可以按照预设周期循环检测连接状态,直至连接状态由异常状态转换为正常状态,向服务端发送连接指示消息,以告知服务端连接状态由异常状态转换为正常状态。使得服务端在接收到连接指示消息后,对待同步执行结果进行同步。服务端对待同步执行结果同步的实现方式,可以包括:客户端发送连接指示消息之后,继续向服务端发送待同步执行结果,以使服务端将待同步执行结果作为待同步客户端执行任务指令对应的执行结果。也可以是服务端先发送结果获取指令,客户端在接收到结果获取指令之后,再将待同步执行结果发送至服务端,以使服务端将待同步执行结果作为待同步客户端执行任务指令对应的执行结果。
图4是根据一示例性实施例示出的另一种数据同步的方法的流程图,如图4所示,在步骤203之后,该方法还包括:
步骤204,接收服务端根据连接指示消息发送的结果获取指令,结果获取指令包括任务指令的任务标识。
步骤205,根据任务标识确定本地存储的待同步执行结果,并将待同步执行结果发送至服务端。
示例的,由于服务端管理了多个客户端,如果服务端与某一客户端之间的网络连接状态为异常状态,服务端与其他客户端之间的网络连接状态也可能为异常,因此服务端可能需要同步多个客户端(可以包括发送连接指示消息的客户端,也可以不包括发送连接指示消息的客户端)执行任务指令的待同步执行结果。因此,可以由服务端选择向需要同步的客户端发送结果获取指令,其中,结果获取指令包括了能够唯一标识任务指令的任务标识,该任务标识可以是服务端在向客户端发送任务指令时生成的。客户端在接收到结果获取指令后,根据任务标识查找存储在本地的待同步执行结果,并将待同步执行结果发送至服务端,以便服务端将待同步执行结果作为待同步客户端执行任务指令对应的执行结果。
综上所述,本公开中的客户端,首先执行服务端发送的任务指令,得到待同步执行结果,在服务端与客户端之间网络连接的连接状态为异常状态时,对待同步执行结果进行本地存储,在连接状态转换为正常状态时,向服务端发送用于指示连接状态转换为正常状态的连接指示消息。以使服务端根据连接指示消息,与客户端进行待同步执行结果的同步。能够同步服务端与客户端之间的执行结果,提高管理***的可靠性。
图5是根据一示例性实施例示出的一种数据同步的装置的框图,如图5所示,该装置300应用于服务端,服务端通过ZeroMQ与目标客户端进行数据传输,包括:
接收模块301,用于若服务端与目标客户端之间网络连接的连接状态由异常状态转换为正常状态,接收目标客户端发送的连接指示消息,连接指示消息用于指示连接状态由异常状态转换为正常状态。
确定模块302,用于响应于接收到连接指示消息,确定待同步客户端。
发送模块303,用于向待同步客户端发送结果获取指令,以便待同步客户端根据结果获取指令确定本地存储的待同步执行结果,待同步执行结果表示待同步客户端对服务端发送的任务指令的执行结果。
同步模块304,用于接收待同步客户端发送的待同步执行结果,并同步待同步执行结果。
图6是根据一示例性实施例示出的另一种数据同步的装置的框图,如图6所示,确定模块302包括:
第一确定子模块3021,用于确定与服务端连接的候选客户端。
第二确定子模块3022,用于确定是否存储有每个候选客户端对应的目标执行结果,目标执行结果表示候选客户端对任务指令的执行结果。
第三确定子模块3023,用于将目标执行结果未被存储的候选客户端作为待同步客户端。
可选地,确定模块302还可以用于将目标客户端,作为待同步客户端。
可选地,待同步执行结果包括任务指令的任务标识,同步模块304用于:
将待同步执行结果,存储为任务标识指示的任务指令对应的执行结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开中的服务端,在服务端与目标客户端之间网络连接的连接状态由异常状态转换为正常状态时,接收目标客户端发送的用于指示连接状态转换为正常状态的连接指示消息,之后响应连接指示消息,确定待同步客户端,再向待同步客户端发送结果获取指令,最后接收待同步客户端发送的本地存储的待同步执行结果,并将待同步执行结果进行同步。能够同步服务端与客户端之间的执行结果,提高管理***的可靠性。
图7是根据一示例性实施例示出的一种数据同步的装置的框图,该装置400应用于客户端,客户端通过服务端的ZeroMQ与服务端进行数据传输,包括:
执行模块401,用于执行服务端发送的任务指令,得到待同步执行结果。
存储模块402,用于若服务端与客户端之间网络连接的连接状态为异常状态,将待同步执行结果进行本地存储。
发送模块403,用于若连接状态由异常状态转换为正常状态,向服务端发送连接指示消息,连接指示消息用于指示连接状态由异常状态转换为正常状态,以便服务端响应于接收到连接指示消息,与客户端进行待同步执行结果的同步。
图8是根据一示例性实施例示出的另一种数据同步的装置的框图,该装置400还包括:
接收模块404,用于在向服务端发送连接指示消息后,接收服务端根据连接指示消息发送的结果获取指令,结果获取指令包括任务指令的任务标识。
发送模块403,还用于根据任务标识确定本地存储的待同步执行结果,并将待同步执行结果发送至服务端。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开中的客户端,首先执行服务端发送的任务指令,得到待同步执行结果,在服务端与客户端之间网络连接的连接状态为异常状态时,对待同步执行结果进行本地存储,在连接状态转换为正常状态时,向服务端发送用于指示连接状态转换为正常状态的连接指示消息。以使服务端根据连接指示消息,与客户端进行待同步执行结果的同步。能够同步服务端与客户端之间的执行结果,提高管理***的可靠性。
图9是根据一示例性实施例示出的一种电子设备500的框图。如图9所示,该电子设备500可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,处理器501用于控制该电子设备500的整体操作,以完成上述的图3和图4所示的数据同步的方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图3和图4所示的数据同步的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图3和图4所示的数据同步的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的图3和图4所示的数据同步的方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由所述可编程的装置执行时用于执行上述图3和图4所示的数据同步的方法的代码部分。
综上所述,本公开中的客户端,首先执行服务端发送的任务指令,得到待同步执行结果,在服务端与客户端之间网络连接的连接状态为异常状态时,对待同步执行结果进行本地存储,在连接状态转换为正常状态时,向服务端发送用于指示连接状态转换为正常状态的连接指示消息。以使服务端根据连接指示消息,与客户端进行待同步执行结果的同步。能够同步服务端与客户端之间的执行结果,提高管理***的可靠性。
图10是根据一示例性实施例示出的一种电子设备600的框图。例如,电子设备600可以被提供为一服务器。参照图10,电子设备600包括处理器622,其数量可以为一个或多个,以及存储器632,用于存储可由处理器622执行的计算机程序。存储器632中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器622可以被配置为执行该计算机程序,以执行上述的图1和图2所示的数据同步的方法。
另外,电子设备600还可以包括电源组件626和通信组件650,该电源组件626可以被配置为执行电子设备600的电源管理,该通信组件650可以被配置为实现电子设备600的通信,例如,有线或无线通信。此外,该电子设备600还可以包括输入/输出(I/O)接口658。电子设备600可以操作基于存储在存储器632的操作***,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图1和图2所示的数据同步的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器632,上述程序指令可由电子设备600的处理器622执行以完成上述的图1和图2所示的数据同步的方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由所述可编程的装置执行时用于执行上述图1和图2所示的数据同步的方法的代码部分。
综上所述,本公开中的服务端,在服务端与目标客户端之间网络连接的连接状态由异常状态转换为正常状态时,接收目标客户端发送的用于指示连接状态转换为正常状态的连接指示消息,之后响应连接指示消息,确定待同步客户端,再向待同步客户端发送结果获取指令,最后接收待同步客户端发送的本地存储的待同步执行结果,并将待同步执行结果进行同步。能够同步服务端与客户端之间的执行结果,提高管理***的可靠性。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种数据同步的方法,其特征在于,应用于服务端,所述服务端通过ZeroMQ与目标客户端进行数据传输,所述方法包括:
若所述服务端与所述目标客户端之间网络连接的连接状态由异常状态转换为正常状态,接收所述目标客户端发送的连接指示消息,所述连接指示消息用于指示所述连接状态由异常状态转换为正常状态;
响应于接收到所述连接指示消息,确定待同步客户端;
向所述待同步客户端发送结果获取指令,以便所述待同步客户端根据所述结果获取指令确定本地存储的待同步执行结果,所述待同步执行结果表示所述待同步客户端对所述服务端发送的任务指令的执行结果;
接收所述待同步客户端发送的所述待同步执行结果,并同步所述待同步执行结果。
2.根据权利要求1所述的方法,其特征在于,所述确定待同步客户端包括:
确定与所述服务端连接的候选客户端;
确定是否存储有每个所述候选客户端对应的目标执行结果,所述目标执行结果表示所述候选客户端对所述任务指令的执行结果;
将所述目标执行结果未被存储的所述候选客户端作为所述待同步客户端。
3.一种数据同步的方法,其特征在于,应用于客户端,所述客户端通过服务端的ZeroMQ与所述服务端进行数据传输,所述方法包括:
执行所述服务端发送的任务指令,得到待同步执行结果;
若所述服务端与所述客户端之间网络连接的连接状态为异常状态,将所述待同步执行结果进行本地存储;
若所述连接状态由异常状态转换为正常状态,向所述服务端发送连接指示消息,所述连接指示消息用于指示所述连接状态由异常状态转换为正常状态,以便所述服务端响应于接收到所述连接指示消息,与所述客户端进行所述待同步执行结果的同步。
4.根据权利要求3所述的方法,其特征在于,在所述向所述服务端发送连接指示消息后,所述方法还包括:
接收所述服务端根据所述连接指示消息发送的结果获取指令,所述结果获取指令包括所述任务指令的任务标识;
根据所述任务标识确定本地存储的所述待同步执行结果,并将所述待同步执行结果发送至所述服务端。
5.一种数据同步的装置,其特征在于,应用于服务端,所述服务端通过ZeroMQ与目标客户端进行数据传输,所述装置包括:
接收模块,用于若所述服务端与所述目标客户端之间网络连接的连接状态由异常状态转换为正常状态,接收所述目标客户端发送的连接指示消息,所述连接指示消息用于指示所述连接状态由异常状态转换为正常状态;
确定模块,用于响应于接收到所述连接指示消息,确定待同步客户端;
发送模块,用于向所述待同步客户端发送结果获取指令,以便所述待同步客户端根据所述结果获取指令确定本地存储的待同步执行结果,所述待同步执行结果表示所述待同步客户端对所述服务端发送的任务指令的执行结果;
同步模块,用于接收所述待同步客户端发送的所述待同步执行结果,并同步所述待同步执行结果。
6.一种数据同步的装置,其特征在于,应用于客户端,所述客户端通过服务端的ZeroMQ与所述服务端进行数据传输,所述装置包括:
执行模块,用于执行所述服务端发送的任务指令,得到待同步执行结果;
存储模块,用于若所述服务端与所述客户端之间网络连接的连接状态为异常状态,将所述待同步执行结果进行本地存储;
发送模块,用于若所述连接状态由异常状态转换为正常状态,向所述服务端发送连接指示消息,所述连接指示消息用于指示所述连接状态由异常状态转换为正常状态,以便所述服务端响应于接收到所述连接指示消息,与所述客户端进行所述待同步执行结果的同步。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1或2所述方法的步骤。
8.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1或2所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求3或4所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求3或4所述方法的步骤。
CN201910441877.7A 2019-05-24 2019-05-24 数据同步的方法、装置、存储介质和电子设备 Active CN110166562B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910441877.7A CN110166562B (zh) 2019-05-24 2019-05-24 数据同步的方法、装置、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910441877.7A CN110166562B (zh) 2019-05-24 2019-05-24 数据同步的方法、装置、存储介质和电子设备

Publications (2)

Publication Number Publication Date
CN110166562A true CN110166562A (zh) 2019-08-23
CN110166562B CN110166562B (zh) 2022-04-05

Family

ID=67632943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910441877.7A Active CN110166562B (zh) 2019-05-24 2019-05-24 数据同步的方法、装置、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN110166562B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800659A (zh) * 2020-06-03 2020-10-20 深圳市灰度科技有限公司 节目同步的方法、装置、显示终端和存储介质
CN111901341A (zh) * 2020-07-28 2020-11-06 北京字节跳动网络技术有限公司 状态同步方法及设备
CN111949422A (zh) * 2020-08-26 2020-11-17 南京云灿信息科技有限公司 基于mq和异步io的数据多级缓存与高速传输记录方法
CN112395142A (zh) * 2020-11-30 2021-02-23 重庆紫光华山智安科技有限公司 数据管理方法、装置、电子设备及存储介质
CN113746931A (zh) * 2021-09-10 2021-12-03 联想(北京)有限公司 数据同步方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140081912A1 (en) * 2012-09-18 2014-03-20 Inventec Corporation Data synchronizing system and method thereof
CN105359466A (zh) * 2013-03-15 2016-02-24 华为技术有限公司 用于小组用户间进行信息自动共享、同步和协同的***和方法
CN107040610A (zh) * 2017-05-27 2017-08-11 广东欧珀移动通信有限公司 数据同步方法、装置、存储介质、终端以及服务器
CN107741857A (zh) * 2017-10-26 2018-02-27 顺丰科技有限公司 一种***批量安装方法
CN108833047A (zh) * 2018-08-13 2018-11-16 东软集团股份有限公司 时间同步方法、装置、可读存储介质和电子设备
CN109413118A (zh) * 2017-08-15 2019-03-01 东软集团股份有限公司 一种实现会话同步的方法、装置及存储介质、程序产品

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140081912A1 (en) * 2012-09-18 2014-03-20 Inventec Corporation Data synchronizing system and method thereof
CN105359466A (zh) * 2013-03-15 2016-02-24 华为技术有限公司 用于小组用户间进行信息自动共享、同步和协同的***和方法
CN107040610A (zh) * 2017-05-27 2017-08-11 广东欧珀移动通信有限公司 数据同步方法、装置、存储介质、终端以及服务器
CN109413118A (zh) * 2017-08-15 2019-03-01 东软集团股份有限公司 一种实现会话同步的方法、装置及存储介质、程序产品
CN107741857A (zh) * 2017-10-26 2018-02-27 顺丰科技有限公司 一种***批量安装方法
CN108833047A (zh) * 2018-08-13 2018-11-16 东软集团股份有限公司 时间同步方法、装置、可读存储介质和电子设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800659A (zh) * 2020-06-03 2020-10-20 深圳市灰度科技有限公司 节目同步的方法、装置、显示终端和存储介质
CN111901341A (zh) * 2020-07-28 2020-11-06 北京字节跳动网络技术有限公司 状态同步方法及设备
CN111901341B (zh) * 2020-07-28 2022-05-24 北京字节跳动网络技术有限公司 状态同步方法及设备
CN111949422A (zh) * 2020-08-26 2020-11-17 南京云灿信息科技有限公司 基于mq和异步io的数据多级缓存与高速传输记录方法
CN111949422B (zh) * 2020-08-26 2024-04-16 南京云灿信息科技有限公司 基于mq和异步io的数据多级缓存与高速传输记录方法
CN112395142A (zh) * 2020-11-30 2021-02-23 重庆紫光华山智安科技有限公司 数据管理方法、装置、电子设备及存储介质
CN112395142B (zh) * 2020-11-30 2023-05-26 重庆紫光华山智安科技有限公司 数据管理方法、装置、电子设备及存储介质
CN113746931A (zh) * 2021-09-10 2021-12-03 联想(北京)有限公司 数据同步方法及装置

Also Published As

Publication number Publication date
CN110166562B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
CN110166562A (zh) 数据同步的方法、装置、存储介质和电子设备
CN107733708B (zh) 设备参数配置方法、装置、计算机设备和存储介质
CN107800565B (zh) 巡检方法、装置、***、计算机设备和存储介质
CN108429740A (zh) 一种获得设备标识的方法及装置
CN109101381A (zh) 配置文件更新方法、***、电子设备及存储介质
CN109656778A (zh) 数据获取方法、装置、计算机设备和存储介质
CN108139964A (zh) 云服务配置方法、装置、存储介质及云服务***
CN108390885A (zh) 一种获得设备标识的方法及装置
CN110324115A (zh) 一种数据传输方法、装置、存储介质及终端设备
CN110289685A (zh) 配电网资源的巡检方法、终端设备和存储介质
CN106411517A (zh) 一种密码重置方法及装置
JP2017118489A (ja) 通信ネットワークを試験するための、マシン可読コードを利用するシステム及び方法
CN110263565A (zh) 用于调用服务的方法和装置
CN112367680A (zh) 基于智能电表的外部通信测试方法、装置和计算机设备
CN109828840A (zh) 资源编排方法、装置、存储介质及电子设备
CN106455042B (zh) 一种节点间时间同步方法、无线传感网络及其节点
CN116028331A (zh) 用于中间件测试的配置文件生成方法以及框架构建方法
CN110276191A (zh) 一种设备配置方法、装置及电子设备
FI20215764A1 (en) Control and terminal device for charging electric vehicles
CN110417567A (zh) 一种物联网设备的配置方法和装置
CN110868341B (zh) 就地化保护智能管理单元测试方法及装置
CN108713199A (zh) 权限管理方法、***、移动终端、共享充电设备及服务器
WO2020255272A1 (ja) 電子装置及び方法
CN111026503A (zh) 一种基于虚拟化的遥感卫星地面站监控方法和***
CN116150273A (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