CN114143127B - 数据广播方法、装置和电子设备 - Google Patents

数据广播方法、装置和电子设备 Download PDF

Info

Publication number
CN114143127B
CN114143127B CN202111438961.7A CN202111438961A CN114143127B CN 114143127 B CN114143127 B CN 114143127B CN 202111438961 A CN202111438961 A CN 202111438961A CN 114143127 B CN114143127 B CN 114143127B
Authority
CN
China
Prior art keywords
node
data
function
node device
target data
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
Application number
CN202111438961.7A
Other languages
English (en)
Other versions
CN114143127A (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202111438961.7A priority Critical patent/CN114143127B/zh
Publication of CN114143127A publication Critical patent/CN114143127A/zh
Application granted granted Critical
Publication of CN114143127B publication Critical patent/CN114143127B/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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供了一种数据广播方法、装置和电子设备,接收来自客户端的携带有第一回调函数的数据广播请求,以在多个节点设备中广播目标数据;向除第一节点设备以外的每个第二节点设备同步目标数据;当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数;当第二指定函数被每个第二节点设备调用,确定目标数据广播完毕,通过第一回调函数调用客户端中的第一指定函数。该方式中,多个节点设备中的任一节点设备都可以作为第一节点设备接收来自客户端的数据广播请求,并将数据广播请求中的目标数据同步至其他节点设备,如果第一节点设备出现故障,不会影响对其他节点设备的数据广播,从而可以保证整个广播系统的正常运行。

Description

数据广播方法、装置和电子设备
技术领域
本发明涉及通信技术领域,尤其是涉及一种数据广播方法、装置和电子设备。
背景技术
RPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的调用方式。在一些场景中,有时需要进行RPC广播,例如,需要对全服务器进行RPC广播等,相关技术中,通常需要提供一个初始节点作为RPC广播的接口,该初始节点需要与被广播的其他服务器节点相连接,从初始节点传入RPC广播的消息,并由初始节点向所连接的其他服务器节点进行广播,如果需要被广播的其他服务器数量较多,还可以采用分层广播节点的设计,即初始节点可以与多个次节点连接,每个次节点再分别与需要被广播的其他服务器节点连接,从初始节点传入RPC广播的消息,通过次节点将RPC广播的消息转发至其他服务器节点,上述相关技术中的方式都需要通过专门设置的初始节点传入RPC广播的消息,如果该初始节点出现故障,会导致整个广播系统无法正常运行。
发明内容
本发明的目的在于提供一种数据广播方法、装置和电子设备,以保证整个广播系统的正常运行。
本发明提供的一种数据广播方法,方法应用于多个节点设备中的第一节点设备,方法包括:接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数;向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数;当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。
进一步的,接收来自客户端的数据广播请求的步骤之后,方法还包括:将数据广播请求所请求广播的目标数据保存至第一节点设备中第一关键字对应的存储空间。
进一步的,每个节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,每个第一模块预设有心跳协议;向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据的步骤包括:通过每个第一模块中预设的心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据,以在每个第二节点设备中第一关键字对应的存储空间,保存目标数据。
进一步的,目标数据包括:第二指定函数的函数名称和输入参数;通过第二回调函数调用第一节点设备的第二指定函数的步骤包括:触发第一节点设备中的第二回调函数,以根据第二指定函数的函数名称调用第一节点设备中的第二指定函数;根据输入参数,运行第二指定函数,得到第一返回数据;将第一节点设备的标识信息保存至第一节点设备的第二关键字对应的存储空间;其中,第二关键字与数据广播请求的次数相关联;触发第二关键字对应的第三回调函数,将第一返回数据保存至第二关键字对应的存储空间。
进一步的,每个节点设备中预先注册有第二回调函数;目标数据包括:第二指定函数的函数名称和输入参数;当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕的步骤之后,方法还包括:针对每个第二节点设备,将该第二节点设备的标识信息保存至第一节点设备的第二关键字对应的存储空间;触发第一节点设备的第二关键字对应的第三回调函数,将该第二节点设备对应的第二返回数据保存至第一节点设备的第二关键字对应的存储空间;其中,第二返回数据通过以下方式确定:针对每个第二节点设备,通过该第二节点设备触发该第二节点设备中的第二回调函数,以根据第二指定函数的函数名称调用该第二节点设备的第二指定函数,根据输入参数,运行第二指定函数,得到第二返回数据。
进一步的,每个节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,每个第一模块预设有心跳协议;触发第一节点设备的第二关键字对应的第三回调函数,将该第二节点设备对应的第二返回数据保存至第一节点设备的第二关键字对应的存储空间的步骤之后,方法还包括:通过每个第一模块中预设的心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据,以在每个第二节点设备的第二关键字对应的存储空间中保存第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据。
进一步的,通过第一回调函数调用客户端中的第一指定函数的步骤之后,方法还包括:向客户端返回提示信息;其中,提示信息用于提示:目标数据在多个节点设备之间广播完毕。
本发明提供的一种数据广播装置,装置设置于多个节点设备中的第一节点设备,装置包括:接收模块,用于接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数;同步模块,用于向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数;调用模块,用于当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。
本发明提供的一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述任一项的数据广播方法。
本发明提供的一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述任一项的数据广播方法。
本发明提供的数据广播方法、装置和电子设备,应用于多个节点设备中的第一节点设备,首先,接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数;向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数;当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。该方式中,多个节点设备中的任一节点设备都可以作为第一节点设备接收来自客户端的数据广播请求,并将数据广播请求中的目标数据同步至其他节点设备,如果第一节点设备出现故障,不会影响对其他节点设备的数据广播,从而可以保证整个广播系统的正常运行。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据广播系统的结构示意图;
图2为本发明实施例提供的一种数据广播系统的结构示意图;
图3为本发明实施例提供的一种数据广播方法的流程图;
图4为本发明实施例提供的一种节点设备的结构示意图;
图5为本发明实施例提供的一种节点设备的存储空间示意图;
图6为本发明实施例提供的一种执行完RPC之后的写入操作示意图;
图7为本发明实施例提供的一种节点设备的存储空间示意图;
图8为本发明实施例提供的一种数据广播装置的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一些场景中,比如,在一些游戏场景中,经常需要进行RPC广播,例如,需要对全服务器进行RPC广播等。相关技术中,参见图1所示的一种数据广播系统的结构示意图,在基础的数据广播系统中,通常需要提供一个初始节点作为RPC广播的接口,该初始节点与需要被广播的其他服务器节点相连接,RPC广播的消息从该初始节点传入,并由该初始节点向所连接的其他服务器节点进行广播。如果需要被广播的其他服务器数量较多,由于一个初始节点所能建立的连接数有限,后续出现了分层广播节点的设计,参见图2所示的一种数据广播系统的结构示意图,初始节点本身可以与多个次节点连接,而每个次节点再分别与需要被广播的其他服务器节点连接,RPC广播的消息依旧从初始节点流入,通过次节点将RPC广播的消息转发至其他服务器节点。
上述相关技术中的方式存在以下几个问题,首先,初始节点在广播系统中占据这很重要的地位,如果初始节点出现故障,会导致整个广播系统无法正常运行;其次,在RPC广播过程中,需要经过多次网络连接,由于网络可能存在不稳定的问题,如果因为网络不稳定导致某些网络连接失效,那么对于重要的RPC广播来说,会出现广播失败的问题;再次,在节点之间进行网络通信时,如果广播失败,通常采用的处理方案是重传,那么在连续的广播请求下,单次传输失败后的重传,可能导致某个节点收到RPC广播的顺序与其他节点不一致,这在某些场景下容易导致出现其他通信问题等。由于服务器数量日益增加导致的广播开销增加,以及网络的不稳定性等种种因素使设计出一个可靠的消息广播协议有许多需要考量的地方。
基于此,本发明实施例提供了一种数据广播方法、装置和电子设备,该技术可以应用于需要在多个节点设备之间进行数据广播的场景中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据广播方法进行详细介绍;方法应用于多个节点设备中的第一节点设备,该节点设备也可以称为消息节点,可以是服务器等电子设备,第一节点设备可以是多个节点设备中的任一节点设备;如图3所示,该方法包括如下步骤:
步骤S302,接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数。
上述目标数据通常是用户需要在多个节点设备中广播的信息,比如,如果用户发起数据广播请求,希望使各个节点设备远程调用某个函数,则该目标数据可以是需要远程调用的该函数的函数名称和/或输入参数等;上述第一指定函数通常预先存储在客户端中;在实际实现时,用户可以通过客户端向第一节点设备发送数据广播请求,该数据广播请求通常携带有需要广播的目标数据以及第一回调函数,第一节点设备接收到该数据广播请求后,通常会在第一节点设备本地保存该第一回调函数,例如将第一回调函数作为变量保存在第一节点设备中等,用户可以根据实际需求设置该第一回调函数,目标数据在多个节点设备之间广播完毕后,第一节点设备可以通过该第一回调函数调用客户端中的第一指定函数,比如,通过调用该第一指定函数,可以向客户端返回各个节点设备执行完数据广播请求的相关处理结果等。
步骤S304,向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数。
上述第二回调函数和第二指定函数通常预先注册在第一节点设备中,触发该第二回调函数后,可以调用第一节点设备的第二指定函数;在实际实现时,当第一节点设备接收到来自客户端的数据广播请求后,可以向多个节点设备中除第一节点设备以外的每个第二节点设备同步需要广播的目标数据,以使每个第二节点设备接收并保存该目标数据,实现数据同步,当每个第二节点设备接收到该目标数据后,可以通过第二回调函数调用第一节点设备的第二指定函数。
步骤S306,当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。
每个第二节点设备接收到目标数据后,都可以通过第二回调函数调用第二指定函数,当第二指定函数被每个第二节点设备调用后,可以认为目标数据在多个节点设备中广播完毕,这时,第一节点设备可以触发所保存的第一回调函数,通过该第一回调函数调用客户端中的第一指定函数,以向客户端返回相应的数据广播结果,比如,可以向客户端返回目标数据在多个节点设备之间广播完毕的提示信息等。
上述数据广播方法,应用于多个节点设备中的第一节点设备,首先,接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数;向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数;当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。该方式中,多个节点设备中的每个节点设备身份相同,任一节点设备都可以作为第一节点设备接收来自客户端的数据广播请求,并将数据广播请求中的目标数据同步至其他节点设备,如果第一节点设备出现故障,不会影响对其他节点设备的数据广播,从而可以保证整个广播系统的正常运行。
在一可选的实施方式中,该方法在上述实施例方法的基础上实现;该方法重点描述向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据的具体过程,该方法中,每个节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,每个第一模块预设有心跳协议;该第一模块可以是分布式的一致性协议模块,其中,一致性协议通常是分布式领域用于在多个节点中对特定提案达成一致性决议的协议,常见的一致性协议有paxos,raft等;每个第一模块中预设有心跳协议,各个第一模块可以通过不断发送心跳包来达到各个节点设备之间的信息同步;该方法包括如下步骤:
步骤402,接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数。
步骤404,将数据广播请求所请求广播的目标数据保存至第一节点设备中第一关键字对应的存储空间。
在实际实现时,上述第一节点设备中除了设置有第一模块,通常还设置有存储模块;上述第一关键字可以是存储模块中的一指定关键字,比如,该第一关键字可以是/method等;在实际实现时,如果第一节点设备接收到来自客户端的数据广播请求,第一节点设备通常会发起将所请求广播的目标数据写入到存储模块中第一关键字对应的存储空间中的请求,以将该目标数据保存至该第一关键字对应的存储空间。
步骤406,通过每个第一模块中预设的心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据,以在每个第二节点设备中第一关键字对应的存储空间,保存目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数。
上述每个第二节点设备中除了设置有第一模块,通常也设置有存储模块;当第一节点设备将目标数据保存至第一节点设备中第一关键字对应的存储空间后,每个节点设备中所设置的第一模块通常会通过心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据,具体的,各个第一模块可以通过不断发送心跳包向每个第二节点设备同步目标数据,以在每个第二节点设备的存储模块中第一关键字对应的存储空间,保存目标数据,比如,如果第一关键字为/method,则在同步处理后,每个第二节点设备的存储模块中的/method这个key对应的内容最终会与第一节点设备的存储模块中的/method这个key对应的内容相同。
步骤408,当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。
上述数据广播方法,接收来自客户端的数据广播请求;将数据广播请求所请求广播的目标数据保存至第一节点设备中第一关键字对应的存储空间。通过每个第一模块中预设的心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据,以在每个第二节点设备中第一关键字对应的存储空间,保存目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数。当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。该方式中,由于每个节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,并且每个第一模块预设有心跳协议,各个节点设备之间可以通过相互发送心跳同步目标数据,从而使所有节点设备中都存储有相同的目标数据,保证了所有节点设备中所存储内容的完整性。
在一可选的实施方式中,该方法在上述实施例方法的基础上实现;该方法重点描述通过第二回调函数调用第一节点设备的第二指定函数的具体过程,该方法中,目标数据包括:第二指定函数的函数名称和输入参数;在实际实现时,如果数据广播请求为RPC广播请求,即远程过程调用请求,则在目标数据中通常包括需要远程调用的第二指定函数的函数名称,以及执行该第二指定函数所需要传入的输入参数等;该方法包括如下步骤:
步骤502,接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数。
步骤504,向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,触发第一节点设备中的第二回调函数,以根据第二指定函数的函数名称调用第一节点设备中的第二指定函数。
当第一节点设备向每个第二节点设备同步目标数据,第二节点设备接收到目标数据后,通常会触发第一节点设备中所预先注册的第二回调函数,在该第二回调函数中,将根据第二指定函数的函数名称从第一节点设备中查询到对应的第二指定函数,以调用该第二指定函数;比如,如果目标数据存储至每个节点设备的存储模块中/method这个key对应的存储空间,该第二回调函数通常是/method这个key所对应的回调函数,触发/method所对应的回调函数,可以根据第二指定函数的函数名称调用对应的第二指定函数。
步骤506,根据输入参数,运行第二指定函数,得到第一返回数据。
第一节点设备将目标数据中所包含的输入参数输入至第二指定函数中,以执行该第二指定函数,得到第一节点设备执行该第二指定函数所对应的第一返回数据。
步骤508,将第一节点设备的标识信息保存至第一节点设备的第二关键字对应的存储空间;其中,第二关键字与数据广播请求的次数相关联。
上述标识信息可以以ID(Identity document,身份标识)等表示;上述第二关键字通常是第一节点设备的存储模块中的另一指定关键字,比如,该第二关键字可以是/barrier/X等,其中,X的值与数据广播请求的次数相关联,每次数据广播请求所对应的X的值通常不同;各个节点设备的存储模块中通常包括多个关键字,每个关键字被写入一次,该关键字对应的写入计数会增加一,可以理解为,每次数据广播请求都会对应于唯一的一个写入计数;在实际实现时,第一节点设备接收到目标数据后,比如在第一节点设备的存储模块中第一关键字对应的存储空间写入目标数据后,可以获取到第一关键字对应的写入计数,监听该计数对应的第二关键字,比如,该第二关键字可以是/barrier/X等,将该第一节点设备的标识信息,写入第一节点设备的第二关键字对应的存储空间,例如,第一节点设备的标识信息为A,可以将该标识信息A补充在第二关键字之后,即/barrier/X/A等。
步骤510,触发第二关键字对应的第三回调函数,将第一返回数据保存至第二关键字对应的存储空间。
上述第三回调函数通常预先存储在第一节点设备中,比如,如果第二关键字为/barrier/X,则第三回调函数即为/barrier/X对应的回调函数;在实际实现时,第一节点设备监听第二关键字,每当有一个节点设备的标识信息被写入,该第三回调函数就会被触发一次,因此,当第一节点设备的标识信息被写入第二关键字对应的存储空间后,会触发该第三回调函数,以将第一节点设备执行该第二指定函数所对应的第一返回数据保存至第二关键字对应的存储空间;比如,如果第一节点设备的标识信息为A,并将该标识信息A补充在了第二关键字之后,即/barrier/X/A,则该第一返回数据可以作为该关键字的具体值保存在第二关键字对应的存储空间中,例如第一返回数据为None,则可以表示为/barrier/X/A=None等。
步骤512,当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。
上述数据广播方法,接收来自客户端的数据广播请求;向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,触发第一节点设备中的第二回调函数,以根据第二指定函数的函数名称调用第一节点设备中的第二指定函数。根据输入参数,运行第二指定函数,得到第一返回数据。将第一节点设备的标识信息保存至第一节点设备的第二关键字对应的存储空间;其中,第二关键字与数据广播请求的次数相关联。触发第二关键字对应的第三回调函数,将第一返回数据保存至第二关键字对应的存储空间。当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。该方式将第一节点设备的标识信息和运行第二指定函数得到的第一返回数据保存至第二关键字对应的存储空间中,更便于第一节点设备进行监听和统计,从而避免丢失相关的广播数据。
在一可选的实施方式中,该方法在上述实施例方法的基础上实现;该方法中,每个节点设备中预先注册有第二回调函数;目标数据包括:第二指定函数的函数名称和输入参数;每个节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,每个第一模块预设有心跳协议;该方法包括如下步骤:
步骤602,接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数。
步骤604,向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数。
步骤606,当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕。
步骤608,针对每个第二节点设备,将该第二节点设备的标识信息保存至第一节点设备的第二关键字对应的存储空间。
在实际实现时,当确定目标数据在多个节点设备中广播完毕后,可以将每个第二节点设备的标识信息依次写入第一节点设备中存储模块的第二关键字对应的存储空间,比如,有两个第二节点设备,标识信息分别为B和C,可以将该标识信息B和C分别补充在第一节点设备中存储模块的第二关键字之后,如/barrier/X/B、/barrier/X/C等。
步骤610,触发第一节点设备的第二关键字对应的第三回调函数,将该第二节点设备对应的第二返回数据保存至第一节点设备的第二关键字对应的存储空间;其中,第二返回数据通过以下方式确定:针对每个第二节点设备,通过该第二节点设备触发该第二节点设备中的第二回调函数,以根据第二指定函数的函数名称调用该第二节点设备的第二指定函数,根据输入参数,运行第二指定函数,得到第二返回数据。
在实际实现时,每个第二节点设备中通常预先存储有上述第一关键字,如/method、该第一关键字对应的第二回调函数,以及第二指定函数,对于每个第二节点设备来说,当该第二节点设备接收到目标数据后,比如,将目标数据写入该第二节点设备的存储模块中/method这个key对应的存储空间后,该第二节点设备可以触发该/method对应的第二回调函数,可以根据第二指定函数的函数名称调用该第二节点设备中所存储的第二指定函数,再将输入参数输入至该第二指定函数中,以执行该第二指定函数,得到该第二节点设备执行该第二指定函数所对应的第二返回数据。当第二节点设备的ID被写入第一节点设备的第二关键字对应的存储空间后,会触发该第三回调函数,以将第二节点设备执行该第二指定函数所对应的第二返回数据保存至第一节点设备的存储模块中第二关键字对应的存储空间,比如,如果第二节点设备的标识信息为B,并将该标识信息B补充在了第二关键字之后,即/barrier/X/B,则该第二返回数据可以作为该关键字的具体值保存在第二关键字对应的存储空间中,例如第二返回数据为None,则可以表示为/barrier/X/B=None等。
步骤612,通过每个第一模块中预设的心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据,以在每个第二节点设备的第二关键字对应的存储空间中保存第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据。
当第一节点设备的第二关键字对应的存储空间中保存有第一节点设备对应的第一返回数据,以及每个第二节点设备对应的第二返回数据后,每个节点设备中所设置的第一模块通常会通过心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步该第一返回数据以及每个第二返回数据,具体的,各个第一模块可以通过不断发送心跳包向每个第二节点设备同步第一返回数据以及每个第二返回数据,以在每个第二节点设备的存储模块中第二关键字对应的存储空间,保存第一返回数据以及每个第二返回数据,比如,如果第二关键字为/barrier/X,则每个第二节点设备的存储模块中的/barrier/X对应的内容最终会与第一节点设备的存储模块中的/barrier/X对应的内容相同。
步骤614,通过第一回调函数调用客户端中的第一指定函数。
步骤616,向客户端返回提示信息;其中,提示信息用于提示:目标数据在多个节点设备之间广播完毕。
当第一节点设备判断第一节点设备的第二关键字对应的存储空间中写入了所有节点设备的返回数据后,代表目标数据在多个节点设备之间广播完毕,此次数据广播请求已被所有节点设备执行,这时可以通过触发第一回调函数,调用客户端中的第一指定函数,以向客户端返回相应的提示信息。
上述数据广播方法,针对每个第二节点设备,将该第二节点设备的标识信息保存至第一节点设备的第二关键字对应的存储空间。触发第一节点设备的第二关键字对应的第三回调函数,将该第二节点设备对应的第二返回数据保存至第一节点设备的第二关键字对应的存储空间。通过每个第一模块中预设的心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据,以在每个第二节点设备的第二关键字对应的存储空间中保存第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据。通过第一回调函数调用客户端中的第一指定函数。向客户端返回提示信息;其中,提示信息用于提示:目标数据在多个节点设备之间广播完毕。该方式中,当目标数据在多个节点设备之间广播完毕后,可以在第一节点设备的第二关键字对应的存储空间中存储各个第二节点设备的标识信息和第二返回数据,并且可以通过各个第一模块中的心跳协议,向各个第二节点设备同步这些返回数据,保证了所有节点设备中存储的数据相同,另外,还可以向客户端返回提示信息,从而可以使用户及时获取到数据广播的处理结果,改善了用户体验。
为进一步理解上述实施例,下面提供通过带回调函数的RPC广播流程对上述实施方式进行说明。假设场景中存在A、B、C三个节点设备,参见图4所示的一种节点设备的结构示意图,每个节点设备都配有一致性协议模块和存储模块,所有节点设备都在存储模块中监听/method这个key(对应上述第一关键字)。由于节点设备A、节点设备B和节点设备C的身份相同,因此,节点设备A、节点设备B或节点设备C都可以作为RPC广播需求的传入节点,下面以节点设备A作为RPC广播需求的传入节点为例进行说明。
RPC广播需求从节点设备A(对应上述第一节点设备)传入,节点设备A发起将RPC的函数名和参数(对应上述目标数据)写入到存储模块中/method对应的空间中的请求,并在本地保存回调函数(对应上述第一回调函数);写入成功后,各个节点设备的分布式的一致性协议模块会通过心跳协议进行同步,参见图5所示的一种节点设备的存储空间示意图,节点设备B和节点设备C各自的存储模块中的/method对应的内容最终会与节点设备A的/method对应的内容相同。
当节点设备A、节点设备B和节点设备C的/method被写入,这时会触发各自节点设备中所注册的回调函数(对应上述第二回调函数),在该回调函数中,将根据函数名找到对应的函数执行(对应上述第二指定函数)。
节点设备的存储模块中,每一个key被写入一次,它的写入计数就会加一,也就是每一次的RPC调用都会对应于唯一的一个写入计数;需要说明的是,对于每个节点设备来说,该节点设备的存储模块中可能有多个key,不同key之间是单独计数的。
节点设备A、节点设备B和节点设备C节点在执行了RPC之后,此时/method的计数在三个节点设备中是相同的,节点设备A开始监听这个计数对应的key,假定为/barrier/X(对应上述第二关键字),参见图6所示的一种执行完RPC之后的写入操作示意图,A、B、C三个节点设备分别开始向/barrier/X写入各自的ID;其中,X对应在/method写入时的计数,如版本号等,属于/method的一个属性,将/method的属性和/barrier相结合,组成一个新的键值,即/barrier/X,每个键值对应一个属性。
一般在节点设备A将RPC的函数名和参数写入到存储模块中/method对应的空间中后,节点设备A就开始监听节点设备A的存储模块中/barrier/X这个key,在/barrier/X中等待其他节点设备执行完的返回值,每当一个节点设备的ID被写入/barrier/X,/barrier/X所对应的回调函数(对应上述第三回调函数)都会被触发一次,比如,节点设备A的/barrier/X中被写入节点设备B的ID,就会触发一次/barrier/X所对应的回调函数。当节点设备A判断/barrier/X这个key下有A、B、C三个节点设备写入了之后,代表该次广播RPC已被所有节点设备执行,可以执行发起者的回调函数(对应上述第一回调函数)了,执行完这个回调函数后,就可以向发起者返回此次RPC广播的处理结果。需要说明的是,RPC广播需求从哪个节点设备传入,通常就由哪个节点设备执行监听和判断/barrier/X对应的存储空间的过程,本实施例是从节点设备A传入RPC广播需求,因此,由节点设备A执行该监听和判断过程;参见图7所示的一种节点设备的存储空间示意图,其他节点设备B和节点设备C中的存储模块中的/barrier/X在同步处理之后,都和节点设备A的存储模块中的/barrier/X的存储内容是一样的,即在同步之后,每个节点设备的存储模块中的/barrier/X的存储空间中包含了所有节点设备的返回值。
上述方式提供了一套基于分布式一致性协议的可靠性RPC广播协议,其中包括节点设备,分布式的一致性协议模块和分布式的存储模块,其中,所有的节点设备身份相同,不存在初始节点这一设定,每个节点设备都可以发起广播或者被广播RPC。一致性协议模块位于节点设备中,根据一致性协议的原理,各个节点设备会相互发送心跳同步信息,从而使所有节点设备的存储模块的内容相同。存储模块是一个类似于key-value的字典,节点设备可以监听存储模块上特定的key,如果这个key对应的value发生变动,便执行节点设备在这个key上注册的回调函数。
当需要将RPC的函数名和参数广播到所有节点设备时,可以使所有节点设备都监听某一个特殊的key,当某一个节点设备收到同步请求时,该节点设备就会将函数名和参数写入到这个key对应的空间中。随着一致性协议运作,所有节点设备的存储模块的对应于这个key的空间都会被写入函数名和参数,并触发所注册该key对应的回调函数,在回调函数中可以根据函数名和参数完成这一次RPC的调用。
上述数据广播方法,所有节点设备的一致性协议可以维护一个全局唯一的操作日志队列,因此通过一致性协议广播的消息,即使在网络糟糕的环境下,也不会出现顺序不一致的情况,保证了RPC顺序的全局唯一性,解决了相关技术中存在的无法保证全局广播顺序的问题;在该广播系统中所有节点设备的身份都相同,不再存在特殊节点,每个节点设备都有发出广播和接收广播的功能,因此,其中任何节点设备意外下线都不会影响本系统的运作,可以解决相关技术中单节点负载过大、广播系统健壮性不足的问题,提高了广播系统的健壮性。
另外,按照传统的方案,由于网络问题导致消息无法传达的时候,通常采用忽略或多次重试的方式,但终究没有真正解决问题,如果期间网络坏掉,这条RPC终究会丢失。在本发明提出的方案中,由于一致性协议的特性,所有节点设备都会维护一个相同的操作日志队列,即使某个节点设备因为网络原因没有收到广播信息,但只要网络一恢复,它就会从其他节点设备同步操作日志,最终接收到RPC,从而可以避免RPC丢失的问题。此外,在某些场景中,有时需要在所有节点设备执行完RPC后,在发送节点执行回调,这在传统的广播系统是无法实现的,在本发明的提出的广播系统中,可以通过让节点设备执行完RPC后,再在特定的key中写入自己的ID,传入RPC广播请求的节点设备统计到ID数量为全局节点设备的数量时代表广播完成,此时可以执行完成回调。
本发明实施例提供了一种数据广播装置,装置设置于多个节点设备中的第一节点设备,如图8所示,该装置包括:接收模块80,用于接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数;同步模块81,用于向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数;调用模块82,用于当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。
上述数据广播装置,应用于多个节点设备中的第一节点设备,首先,接收来自客户端的数据广播请求;其中,数据广播请求用于在多个节点设备中广播目标数据;数据广播请求中携带有第一回调函数,第一回调函数用于:目标数据在多个节点设备之间广播完毕后,调用客户端中的第一指定函数;向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据;其中,当第二节点设备接收到目标数据后,通过第二回调函数调用第一节点设备的第二指定函数;当第二指定函数被每个第二节点设备调用,确定目标数据在多个节点设备中广播完毕,通过第一回调函数调用客户端中的第一指定函数。该装置中,多个节点设备中的任一节点设备都可以作为第一节点设备接收来自客户端的数据广播请求,并将数据广播请求中的目标数据同步至其他节点设备,如果第一节点设备出现故障,不会影响对其他节点设备的数据广播,从而可以保证整个广播系统的正常运行。
在一可选的实施方式中,该装置还用于:将数据广播请求所请求广播的目标数据保存至第一节点设备中第一关键字对应的存储空间。
在一可选的实施方式中,每个节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,每个第一模块预设有心跳协议;同步模块81还用于:通过每个第一模块中预设的心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步目标数据,以在每个第二节点设备中第一关键字对应的存储空间,保存目标数据。
在一可选的实施方式中,目标数据包括:第二指定函数的函数名称和输入参数;同步模块81还用于:触发第一节点设备中的第二回调函数,以根据第二指定函数的函数名称调用第一节点设备中的第二指定函数;根据输入参数,运行第二指定函数,得到第一返回数据;将第一节点设备的标识信息保存至第一节点设备的第二关键字对应的存储空间;其中,第二关键字与数据广播请求的次数相关联;触发第二关键字对应的第三回调函数,将第一返回数据保存至第二关键字对应的存储空间。
在一可选的实施方式中,每个节点设备中预先注册有第二回调函数;目标数据包括:第二指定函数的函数名称和输入参数;该装置还用于:针对每个第二节点设备,将该第二节点设备的标识信息保存至第一节点设备的第二关键字对应的存储空间;触发第一节点设备的第二关键字对应的第三回调函数,将该第二节点设备对应的第二返回数据保存至第一节点设备的第二关键字对应的存储空间;其中,第二返回数据通过以下方式确定:针对每个第二节点设备,通过该第二节点设备触发该第二节点设备中的第二回调函数,以根据第二指定函数的函数名称调用该第二节点设备的第二指定函数,根据输入参数,运行第二指定函数,得到第二返回数据。
在一可选的实施方式中,每个节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,每个第一模块预设有心跳协议;该装置还用于:通过每个第一模块中预设的心跳协议,向多个节点设备中除第一节点设备以外的每个第二节点设备同步第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据,以在每个第二节点设备的第二关键字对应的存储空间中保存第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据。
在一可选的实施方式中,该装置还用于:向客户端返回提示信息;其中,提示信息用于提示:目标数据在多个节点设备之间广播完毕。
本发明实施例所提供的数据广播装置,其实现原理及产生的技术效果和前述数据广播方法实施例相同,为简要描述,数据广播装置实施例部分未提及之处,可参考前述数据广播方法实施例中相应内容。
本发明实施例还提供了一种电子设备,参见图9所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现上述数据广播方法。
进一步地,图9所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
其中,存储器131可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述数据广播方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的数据广播方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种数据广播方法,其特征在于,所述方法应用于多个节点设备中的第一节点设备,所述方法包括:
接收来自客户端的数据广播请求;其中,所述数据广播请求用于在所述多个节点设备中广播目标数据;所述数据广播请求中携带有第一回调函数,所述第一回调函数用于:所述目标数据在所述多个节点设备之间广播完毕后,调用所述客户端中的第一指定函数;
向多个所述节点设备中除所述第一节点设备以外的每个第二节点设备同步所述目标数据;其中,当所述第二节点设备接收到所述目标数据后,通过第二回调函数调用所述第一节点设备的第二指定函数;
当所述第二指定函数被每个所述第二节点设备调用,确定所述目标数据在多个所述节点设备中广播完毕,通过所述第一回调函数调用所述客户端中的所述第一指定函数。
2.根据权利要求1所述的方法,其特征在于,所述接收来自客户端的数据广播请求的步骤之后,所述方法还包括:
将所述数据广播请求所请求广播的所述目标数据保存至所述第一节点设备中第一关键字对应的存储空间。
3.根据权利要求1所述的方法,其特征在于,每个所述节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,每个所述第一模块预设有心跳协议;
所述向多个所述节点设备中除所述第一节点设备以外的每个第二节点设备同步所述目标数据的步骤包括:
通过每个所述第一模块中预设的所述心跳协议,向多个所述节点设备中除所述第一节点设备以外的每个第二节点设备同步所述目标数据,以在每个第二节点设备中第一关键字对应的存储空间,保存所述目标数据。
4.根据权利要求1所述的方法,其特征在于,所述目标数据包括:所述第二指定函数的函数名称和输入参数;所述通过第二回调函数调用所述第一节点设备的第二指定函数的步骤包括:
触发所述第一节点设备中的所述第二回调函数,以根据所述第二指定函数的函数名称调用所述第一节点设备中的所述第二指定函数;
根据所述输入参数,运行所述第二指定函数,得到第一返回数据;
将所述第一节点设备的标识信息保存至所述第一节点设备的第二关键字对应的存储空间;其中,所述第二关键字与所述数据广播请求的次数相关联;
触发所述第二关键字对应的第三回调函数,将所述第一返回数据保存至所述第二关键字对应的存储空间。
5.根据权利要求1所述的方法,其特征在于,每个所述节点设备中预先注册有所述第二回调函数;所述目标数据包括:所述第二指定函数的函数名称和输入参数;所述当所述第二指定函数被每个所述第二节点设备调用,确定所述目标数据在多个所述节点设备中广播完毕的步骤之后,所述方法还包括:
针对每个所述第二节点设备,将该第二节点设备的标识信息保存至所述第一节点设备的第二关键字对应的存储空间;
触发所述第一节点设备的第二关键字对应的第三回调函数,将该第二节点设备对应的第二返回数据保存至所述第一节点设备的第二关键字对应的存储空间;其中,所述第二返回数据通过以下方式确定:针对每个第二节点设备,通过该第二节点设备触发所述该第二节点设备中的所述第二回调函数,以根据所述第二指定函数的函数名称调用该第二节点设备的所述第二指定函数,根据所述输入参数,运行所述第二指定函数,得到第二返回数据。
6.根据权利要求5所述的方法,其特征在于,每个所述节点设备中包括用于维护各个节点设备中的数据一致性的第一模块,每个所述第一模块预设有心跳协议;所述触发所述第一节点设备的第二关键字对应的第三回调函数,将该第二节点设备对应的第二返回数据保存至所述第一节点设备的第二关键字对应的存储空间的步骤之后,所述方法还包括:
通过每个所述第一模块中预设的所述心跳协议,向多个所述节点设备中除所述第一节点设备以外的每个第二节点设备同步所述第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据,以在每个所述第二节点设备的第二关键字对应的存储空间中保存所述第一节点设备的第一返回数据,以及每个第二节点设备的第二返回数据。
7.根据权利要求1所述的方法,其特征在于,所述通过所述第一回调函数调用所述客户端中的所述第一指定函数的步骤之后,所述方法还包括:
向所述客户端返回提示信息;其中,所述提示信息用于提示:所述目标数据在所述多个节点设备之间广播完毕。
8.一种数据广播装置,其特征在于,所述装置设置于多个节点设备中的第一节点设备,所述装置包括:
接收模块,用于接收来自客户端的数据广播请求;其中,所述数据广播请求用于在所述多个节点设备中广播目标数据;所述数据广播请求中携带有第一回调函数,所述第一回调函数用于:所述目标数据在所述多个节点设备之间广播完毕后,调用所述客户端中的第一指定函数;
同步模块,用于向多个所述节点设备中除所述第一节点设备以外的每个第二节点设备同步所述目标数据;其中,当所述第二节点设备接收到所述目标数据后,通过第二回调函数调用所述第一节点设备的第二指定函数;
调用模块,用于当所述第二指定函数被每个所述第二节点设备调用,确定所述目标数据在多个所述节点设备中广播完毕,通过所述第一回调函数调用所述客户端中的所述第一指定函数。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-7任一项所述的数据广播方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-7任一项所述的数据广播方法。
CN202111438961.7A 2021-11-29 2021-11-29 数据广播方法、装置和电子设备 Active CN114143127B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111438961.7A CN114143127B (zh) 2021-11-29 2021-11-29 数据广播方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111438961.7A CN114143127B (zh) 2021-11-29 2021-11-29 数据广播方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN114143127A CN114143127A (zh) 2022-03-04
CN114143127B true CN114143127B (zh) 2023-10-20

Family

ID=80389646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111438961.7A Active CN114143127B (zh) 2021-11-29 2021-11-29 数据广播方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114143127B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555297B1 (en) * 2008-09-29 2013-10-08 Emc Corporation Techniques for performing a remote procedure call using remote procedure call configuration information
CN110677611A (zh) * 2019-08-16 2020-01-10 厦门亿联网络技术股份有限公司 一种多设备录音同步方法、系统及会议系统
CN111258822A (zh) * 2020-01-15 2020-06-09 广州虎牙科技有限公司 数据处理方法、服务器和计算机可读存储介质
CN112118322A (zh) * 2020-09-24 2020-12-22 杭州海康威视数字技术股份有限公司 一种网络设备的数据同步方法、网络设备及系统
CN112437142A (zh) * 2020-11-13 2021-03-02 杭州米络星科技(集团)有限公司 多个数据中心的数据同步系统和方法
CN112788104A (zh) * 2020-12-25 2021-05-11 珠海金山网络游戏科技有限公司 一种远程过程调用方法及装置
CN113220485A (zh) * 2021-05-25 2021-08-06 金蝶软件(中国)有限公司 远程过程调用服务的处理方法、装置和可读存储介质
CN113535391A (zh) * 2021-06-28 2021-10-22 北京东方国信科技股份有限公司 跨域大数据平台的分布式集群状态信息管理方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10362106B2 (en) * 2015-07-21 2019-07-23 Cisco Technology, Inc. Adaptive gossip protocol
RU2632418C1 (ru) * 2016-04-04 2017-10-04 Общество С Ограниченной Ответственностью "Яндекс" Способ и система передачи данных между нодами без лидера
US10721335B2 (en) * 2018-08-01 2020-07-21 Hewlett Packard Enterprise Development Lp Remote procedure call using quorum state store

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8555297B1 (en) * 2008-09-29 2013-10-08 Emc Corporation Techniques for performing a remote procedure call using remote procedure call configuration information
CN110677611A (zh) * 2019-08-16 2020-01-10 厦门亿联网络技术股份有限公司 一种多设备录音同步方法、系统及会议系统
CN111258822A (zh) * 2020-01-15 2020-06-09 广州虎牙科技有限公司 数据处理方法、服务器和计算机可读存储介质
CN112118322A (zh) * 2020-09-24 2020-12-22 杭州海康威视数字技术股份有限公司 一种网络设备的数据同步方法、网络设备及系统
CN112437142A (zh) * 2020-11-13 2021-03-02 杭州米络星科技(集团)有限公司 多个数据中心的数据同步系统和方法
CN112788104A (zh) * 2020-12-25 2021-05-11 珠海金山网络游戏科技有限公司 一种远程过程调用方法及装置
CN113220485A (zh) * 2021-05-25 2021-08-06 金蝶软件(中国)有限公司 远程过程调用服务的处理方法、装置和可读存储介质
CN113535391A (zh) * 2021-06-28 2021-10-22 北京东方国信科技股份有限公司 跨域大数据平台的分布式集群状态信息管理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于异步数据广播技术的移动数据库缓存策略;罗军;陈洪波;;计算机工程(第24期);全文 *

Also Published As

Publication number Publication date
CN114143127A (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN107295080B (zh) 应用于分布式服务器集群的数据存储方法和服务器
US10020980B2 (en) Arbitration processing method after cluster brain split, quorum storage apparatus, and system
AU2021200535B2 (en) Exactly-once transaction semantics for fault tolerant FPGA based transaction systems
JP2020512708A5 (zh)
CN112118315A (zh) 数据处理系统、方法、装置、电子设备和存储介质
KR102631618B1 (ko) 메쉬 네트워크
CN110633168A (zh) 一种分布式存储系统的数据备份方法和系统
CN112214441A (zh) 基于串行总线轮询协议的通信切换方法、设备和系统
WO2021226781A1 (zh) 防火墙规则的更新方法、装置、服务器及存储介质
US10135939B2 (en) Method and apparatus for sending delivery notification of network application-related product
CN113452770B (zh) 数据同步方法、装置、计算机设备及存储介质
US20180262418A1 (en) Method and apparatus for communication in virtual network
CN114143127B (zh) 数据广播方法、装置和电子设备
CN112131014B (zh) 决策引擎系统及其业务处理方法
WO2016154921A1 (zh) 一种数据业务的数据传输方法及装置
US11063859B2 (en) Packet processing method and network device
CN111092956A (zh) 资源同步方法、装置、存储介质及设备
CN111416851A (zh) 在多个负载均衡器之间进行会话同步的方法和负载均衡器
CN115002195B (zh) 自适应对等模式的服务注册发现方法、系统及介质
WO2020037607A1 (zh) 一种传输数据的方法和装置
CN106302077B (zh) 一种容灾倒回方法及设备
CN114866395A (zh) 多组分布式一致性协议集群心跳通讯方法及装置
CN112367373B (zh) 分布式系统的节点确定方法和装置及存储介质
CN113890817A (zh) 一种通信优化方法和装置
CN112532436A (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