CN114024786B - 消息广播方法、装置、计算机设备和存储介质 - Google Patents
消息广播方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114024786B CN114024786B CN202210000955.1A CN202210000955A CN114024786B CN 114024786 B CN114024786 B CN 114024786B CN 202210000955 A CN202210000955 A CN 202210000955A CN 114024786 B CN114024786 B CN 114024786B
- Authority
- CN
- China
- Prior art keywords
- broadcast
- message
- node
- broadcasting
- broadcast 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种消息广播方法、装置、计算机设备和存储介质,其中方法包括:接收广播消息;根据所述广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;将所述广播消息广播至所述目标节点;本发明实施例可选择消息广播的范围,以及支持按照不同的节点选取条件选择广播节点,通过广播范围以及节点选取条件,确定待广播的目标节点,使消息体不随着节点数量的增加而增加;并且通过广播范围以及节点选取条件,确定待广播的目标节点,将消息广播到网络中目标节点,不从消息中携带的已收到此消息的节点来选择其他节点,降低网络中单个节点的网络问题对消息广播链的影响,提高消息广播的可靠性。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种消息广播方法、装置、计算机设备和存储介质。
背景技术
网络中的节点收到广播消息和产生广播消息时,根据消息中携带的已收到此消息的节点来选择其他节点进行广播,将消息发送给选择的节点时,将选择的节点放入消息中携带的已接受此消息的节点中,最终消息中携带的已接受此消息的节点会包含网络中的所有节点。当网络中的节点数量较多时,随着消息中携带的已接受此消息的节点的数量增加,使得广播的消息体越来越大;并且当出现网络原因时,使得认为已收到消息的节点实际并未收到,导致消息广播链断裂,从而无法让其他节点收到广播消息,使得消息广播可靠性低。
发明内容
本发明实施例提供一种消息广播方法、装置、计算机设备和存储介质,以解决现有根据消息中携带的已收到此消息的节点来选择其他节点进行广播的方式可靠性低的问题。
一方面,本发明提供一种消息广播方法,所述方法包括:
接收广播消息;
根据所述广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;
将所述广播消息广播至所述目标节点。
在本发明一些实施例中,所述根据所述广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点包括:
获取所述广播消息中的配置信息,以及获取所述配置信息中的广播范围;
判断所述配置信息中是否存在节点选取条件;
若所述配置信息中存在所述节点选取条件,则根据所述节点选取条件对所述广播范围中的可广播节点进行选取,得到待广播的目标节点;
若所述配置信息中不存在所述节点选取条件,则获取所述广播消息对应的历史广播记录,根据所述历史广播记录对所述广播范围中的可广播节点进行选取,得到待广播的目标节点。
在本发明一些实施例中,所述根据所述历史广播记录对所述广播范围中的可广播节点进行选取,得到待广播的目标节点包括:
提取所述历史广播记录中的记录节点,将所述广播范围中除所述记录节点之外的可广播节点,设置为待广播的目标节点。
在本发明一些实施例中,所述接收广播消息之后,所述方法包括:
根据所述广播消息的关键信息和版本信息,确定是否存在所述广播消息的广播记录;
若存在所述广播消息的广播记录,则获取所述关键信息对应的已有版本信息;
将所述已有版本信息与所述版本信息进行比较;
若所述已有版本信息与所述版本信息不匹配,则根据所述已有版本信息和所述版本信息获取缺失广播消息;
若所述已有版本信息与所述版本信息匹配,则执行根据所述广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点步骤。
在本发明一些实施例中,所述根据所述已有版本信息和所述版本信息获取缺失广播消息包括:
根据所述版本信息与所述已有版本信息之间的差值,得到缺失版本信息;
访问相邻节点,从所述关键信息对应的历史广播消息中获取所述缺失版本信息对应的缺失广播消息,所述历史广播消息是所述相邻节点已完成广播的消息。
在本发明一些实施例中,所述若存在所述广播消息的广播记录,则获取所述关键信息对应的已有版本信息包括:
若存在所述广播消息的广播记录,则判断预设广播列表中是否存在所述关键信息;
若存在所述关键信息,则执行根据所述广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点步骤;
若不存在所述关键信息,则获取所述关键信息对应的已有版本信息。
在本发明一些实施例中,所述接收广播消息步骤之后,所述方法包括:
获取预设广播列表中的消息数量;
若所述预设广播列表中的消息数量达到预设消息量阈值,则丢弃所述广播消息;
若所述预设广播列表中的消息数量未达到预设消息量阈值,则将所述广播消息写入所述预设广播列表,并执行所述根据所述广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点操作。
在本发明一些实施例中,所述的消息广播方法还包括:
间隔预设时长遍历预设广播列表,获取目标广播消息以及所述各目标广播消息对应的目标关键信息;
获取各所述目标关键信息对应的等待时长;
若所述等待时长大于预设等待时长,则将所述目标关键信息对应的所述目标广播消息从所述预设广播列表中移除。
在本发明一些实施例中,所述将所述广播消息广播至所述目标节点之后,所述方法包括:
获取所述广播消息的期望广播次数;
更新所述广播消息的广播次数,判断更新后的发送次数是否足够;
若所述更新后的发送次数足够,则更新预设广播列表中所述广播消息的实际广播次数,根据更新后的实际广播次数判断是否完成对所述广播消息的广播;
若完成对所述广播消息的广播,则将所述广播消息从所述预设广播列表中移除,并更新所述广播消息对应的已有版本信息。
另一方面,本发明实施例提供一种消息广播装置,所述装置包括:
广播消息接收模块,用于接收广播消息;
广播节点确定模块,用于根据所述广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;
广播模块,用于将所述广播消息广播至所述目标节点。
另一方面,本发明实施例提供一种计算机设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行所述的消息广播方法中的操作。
另一方面,本发明实施例提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行所述的消息广播方法中的步骤。
本发明实施例接收广播消息;根据所述广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;将所述广播消息广播至所述目标节点;本发明实施例可选择消息广播的范围,以及支持按照不同的节点选取条件选择广播节点,通过广播范围以及节点选取条件,确定待广播的目标节点,使消息体不随着节点数量的增加而增加;并且通过广播范围以及节点选取条件,确定待广播的目标节点,将消息广播到网络中目标节点,不从消息中携带的已收到此消息的节点来选择其他节点,降低网络中单个节点的网络问题对消息广播链的影响,提高消息广播的可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供消息广播方法的应用环境的一个示意图;
图2是本发明实施例提供的消息广播方法中接收广播消息的一个应用场景示意;
图3是本发明实施例提供的消息广播方法中处理广播消息的一个应用场景示意图;
图4是本发明实施例提供的消息广播方法中广播消息的一个应用场景示意图;
图5是本发明实施例提供的消息广播装置的一个实施例结构示意图;
图6是本发明实施例提供的计算机设备的一个实施例结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种消息广播方法、装置、计算机设备和存储介质。根据本发明实施例提供的消息广播方法的实施例,需要说明的是,附图的流程示意图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且虽然在流程示意图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的执行顺序执行所描述或所示出的步骤。
本发明实施例提供的消息广播方法如图1所示,图1是本发明实施例提供的消息广播方法的一个实施例流程示意图,在本发明一些实施例中,所示的消息广播方法可以基于区块链上实现,在本发明一些实施例中所示的消息广播方法可以基于网络上实现。在本发明一些实施例中,以网络或区块链中的一个节点作为执行主体进行说明,在本发明一些实施例中,该节点可以是源节点,也可以是中间节点;在本发明一些实施例中,该节点可以是设备,也可以是安装在设备上的客户端。所示的消息广播方法包括步骤101~103:
101,接收广播消息。
广播消息可以是该节点产生的需要广播的消息,也可以是该节点接收到的与该节点连接的其他节点发送的消息。其中,其他节点发送的消息可以是其他节点产生的需要广播的消息,也可以网络或区块链中需要定期广播的消息;其他节点可以是与该节点直接连接的节点,也可以是与该节点间接连接的节点。
在本发明一些实施例中,定期广播的消息指的是网络或区块链中间隔预设时间段需要重复广播的消息。
在本发明一些实施例中,广播消息包括配置信息和消息体。其中,配置信息包括期望广播次数、广播范围、节点选取条件和版本信息中的至少一种;消息体包括关键信息和消息内容。在本发明一些实施例中,广播范围用于指示该广播消息传输范围;节点选取条件用于在广播范围中选择该广播消息的可广播节点,其中,可广播节点指的是与该节点连接的满足节点选取条件的其他节点;版本信息指的是广播消息的版本,其中,版本信息可以是数字,也可以是二进制字符、十六进制字符、八进制字符中的任意一种;期望广播次数指的是该节点广播该广播消息的次数。关键信息指的是消息的关键词或关键字。
在本发明一些实施例中,当广播消息是该节点产生的需要广播的消息时,可以根据消息内容组装广播消息的关键信息,设置配置信息,具体地包括:当广播消息是该节点产生的需要广播的消息时,根据消息内容获取需要广播的消息的类型,根据类型组装广播消息的关键信息;根据关键信息生成广播消息的版本信息,获取期望广播次数、以及预设广播范围和预设节点选取条件,将版本信息、期望广播次数、以及预设广播范围和预设节点选取条件封装为配置信息。
在本发明一些实施例中,根据关键信息生成广播消息的版本信息可以是根据关键信息获取该节点中该关键信息对应的历史广播记录,根据历史广播记录生成广播消息的版本信息。具体地,包括:查询该节点是否存在该关键信息对应的历史广播记录;如果存在该关键信息对应的历史广播记录,则获取历史广播记录中数值最大的已有版本信息,将该已有版本信息+1作为该广播消息的版本信息,例如版本信息是数字时,当获取历史广播记录中数值最大的已有版本信息为008时,将009作为该广播消息的版本信息;如果不存在该关键信息对应的历史广播记录,说明该节点是首次产生该关键信息对应的广播消息,则将初始版本信息作为该广播消息的版本信息,例如版本信息是数字时,将001作为该广播消息的版本信息。其中,历史广播记录指的是该节点在当前时刻之前已广播过的消息的记录;已有版本信息指的是已广播过的消息对应的版本信息;在本发明一些实施例中,历史广播记录包括但不限于已广播消息以及各已广播消息对应的关键信息、广播时间和版本信息。在本发明一些实施例中,当前时刻可以是该节点产生需要广播的消息的时刻,也可以是该节点查询该节点是否存在该关键信息对应的历史广播记录的时刻。
在本发明一些实施例中,当广播消息是其他节点发送的消息时,解析该广播消息获取广播范围、节点选取条件、期望广播次数和版本信息。
102,根据广播消息对应的广播范围和节点选取条件,确定待广播的目标节点。
待广播的目标节点指的是广播消息需要传输的节点。
在本发明一些实施例中,可以根据节点选取条件对广播范围中可广播节点进行选取,得到待广播的目标节点。在本发明一些实施例中,节点选取条件可以是基于节点类型,也可以是基于节点连接方式,还可以是基于节点标识。
在本发明一些实施例中,节点类型可以是网络或区块链中的节点对应设备的类型、设备中客户端的类型和设备中通信系统的通信类型中一种或多种。其中,节点对应设备的类型包括但不限于计算机设备和移动终端,例如根据节点类型从广播范围中可广播节点中选取节点类型为移动终端的待广播的目标节点;设备中客户端的类型可以是客户端的版本,其中版本用于指示客户端的类别以及客户端的更新状态,在本发明一些实施例中,可以根据客户端的版本序列号选择客户端的类型,例如根据节点类型从广播范围中可广播节点中选取客户端的版本序列号为V8.0.15的待广播的目标节点;通信系统的通信类型指的是通信方式,在本发明一些实施例中,通信系统的通信类型包括但不限于WIFI、蓝牙、现场总线、光纤和蜂窝,例如根据节点类型从广播范围的可广播节点中选取通信系统的通信类型为WIFI的待广播的目标节点。
在本发明一些实施例中,节点连接方式可以是与该节点直接连接,也可以是与该节点间接连接。例如根据节点连接方式从广播范围中选择与该节点直接连接的可广播节点作为待广播节点。
在本发明一些实施例中,节点标识可以用于指示节点名称,其中节点标识可以是字符或字符串,例如当节点标识可以是数字时,根据节点标识从广播范围中选择节点标识为“3”和节点标识为“2”的可广播节点作为待广播节点。
需要说明的是,上述待广播的目标节点的选取方式仅为示例性说明,本发明实施例可以根据实际应用场景中对广播范围中的可广播节点进行选取,示例性的,可以根据节点类型、节点连接方式和节点标识作为选取条件,对广播范围中可广播节点进行选取,得到待广播的目标节点中,例如可以根据节点类型、节点连接方式和节点标识,从广播范围选取客户端的版本序列号为V8.0.15、与该节点直接连接并且节点标识为“2”的可广播节点作为待广播的目标节点。
103,将广播消息广播至目标节点。
在本发明一些实施例中,为了提高消息广播的方法的便捷性,便于消息的广播和管理,减少广播次数的遗漏或增加广播次数,该节点可以创建预设广播列表,将广播消息写入预设广播列表中,在将广播消息广播至目标节点之后,记录广播消息的广播次数,当广播消息的广播次数达到期望广播次数时,将广播消息从预设广播列表中移除。其中,预设广播列表用于存放该节点需要广播的消息,示例性的,如表一所示,表一是本发明实施例提供的预设广播列表的一个示意,其中,预设广播列表中包括需要广播的消息的关键信息、版本信息、期望广播次数和实际广播次数。
在本发明一些实施例中,可以在完成一次消息广播时,更新预设广播列表中的数据。具体地,更新预设广播列表的方法包括步骤a1~a4:
表一预设广播列表
关键信息 | 版本信息 | 期望广播次数 | 实际广播次数 |
A001 | 002 | 3 | 1 |
A002 | 010 | 4 | 3 |
A003 | 010 | 4 | 3 |
A004 | 020 | 2 | 1 |
需要说明的是,表一中示出的预设广播列表仅为示例性说明,本发明实施例对预设广播列表中关键信息、版本信息、期望广播次数和实际广播次数不作限定。
a1,获取广播消息的期望广播次数。
在本发明一些实施例中,可以通过遍历预设广播列表,根据关键信息从预设广播列表中读取关键信息对应的广播消息的期望广播次数;还可以从广播消息的配置信息中读取广播消息的期望广播次数。
在本发明一些实施例中,期望广播次数可以是广播消息需要广播的次数,例如,当广播消息对应的目标节点为节点A和节点B,广播消息需要广播三次时,则期望广播次数为三次。
在本发明一些实施例中,可以从待广播列表中读取关键信息对应的广播消息的期望广播次数,其中待广播列表用于存放该节点需要广播的消息。在本发明一些实施例中,为了便于消息广播方法中对消息的管理,可以创建待广播列表,该节点将生成的需要广播的消息以及接收到的消息放入待广播列表中,遍历待广播列表,将待广播列表中待广播消息进行广播,并将该待广播消息写入预设广播列表中,通过待广播列表和预设广播列表便于管理该节点需要广播的消息和正在广播的消息。示例性的,如表二所示,表二是本发明实施例提供的待广播列表的一个示意,所示的待广播列表中包括广播的消息的关键信息、版本信息、预设发送次数和发送次数。其中,预设发送次数指的是广播消息每次广播时需要发送的次数,在本发明一些实施例中,可以从广播消息的配置信息中获取预设发送次数,例如,当广播消息的配置信息为广播3次、每次广播发送2次、每次发送选择2个节点发送、该节点的广播范围中可发送节点有8个时,即每次广播该广播消息时需要在该节点的8个可发送节点中选择2个节点进行发送,期望广播次数为3次,每次广播的预设发送次数为2次。
表二待广播列表
关键信息 | 版本信息 | 预设发送次数 | 发送次数 |
A001 | 002 | 3 | 2 |
A001 | 002 | 3 | 1 |
A001 | 002 | 3 | 2 |
A002 | 010 | 3 | 1 |
需要说明的是,表二中示出的待广播列表仅为示例性说明,本发明实施例对待广播列表中关键信息、版本信息、预设发送次数和发送次数不作限定。
a2,更新广播消息的发送次数,判断更新后的发送次数是否足够。
在本发明一些实施例中,步骤a2包括:将广播消息广播至目标节点后,通过将广播消息的发送次数增加一次对广播次数进行更新,将更新后的发送次数与预设发送次数进行比较;如果更新后的发送次数小于预设发送次数,则判定更新后的发送次数不足;如果更新后的发送次数大于或等于预设发送次数,则判定更新后的发送次数足够。
在本发明一些实施例中,若更新后的发送次数不足,则遍历待广播列表,将广播消息广播至目标节点。
a3,若更新后的发送次数足够,则更新预设广播列表中广播消息的实际广播次数,根据更新后的实际广播次数判断是否完成对广播消息的广播。
在本发明一些实施例中,当更新后的发送次数足够时,说明该广播消息的一次广播完成,则更新预设广播列表中广播消息的实际广播次数;将更新后的实际广播次数与期望广播次数进行比较;如果实际广播次数等于期望广播次数,则判定完成对广播消息的广播;如果实际广播次数小于期望广播次数,则判定未完成对广播消息的广播。
在本发明一些实施例中,若更新后的发送次数足够,说明该广播消息的一次广播完成,则将广播消息的此次广播数据从待广播列表中移除。
在本发明一些实施例中,若未完成对广播消息的广播,则遍历待广播列表,获取广播消息对应的预设发送次数以及目标节点,将广播消息广播至目标节点,记录发送次数,并执行步骤a2。
a4,若完成对广播消息的广播,则将广播消息从预设广播列表中移除,并更新广播消息对应的已有版本信息。
在本发明一些实施例中,若完成对广播消息的广播,则将广播消息从预设广播列表中移除,并更新广播消息对应的已有版本信息,记录已有版本信息的更新时间。
本发明实施例创建预设广播列表,将广播消息写入预设广播列表中,在将广播消息广播至目标节点之后,记录广播消息的广播次数,当广播消息的广播次数达到期望广播次数时,将广播消息从预设广播列表中移除,提高消息广播的方法的便捷性,便于消息的广播和管理,减少广播次数的遗漏或增加广播次数。
本发明实施例可选择消息广播的范围,以及支持按照不同的节点选取条件选择广播节点,通过广播范围以及节点选取条件,确定待广播的目标节点,使消息体不随着节点数量的增加而增加;并且通过广播范围以及节点选取条件,确定待广播的目标节点,将消息广播到网络中目标节点,不从消息中携带的已收到此消息的节点来选择待广播的目标节点进行消息广播,降低了网络中单个节点的网络问题对消息广播链的影响,提高消息广播的可靠性,避免了在消息广播中由于单个节点出现网络问题使得认为已收到消息的节点实际并未收到,导致消息广播链断裂,从而无法让其他节点收到广播消息。示例性的,以广播消息的期望广播次数为3次、每次广播的预设发送次数为2次、待广播的目标节点为2号节点和3号节点为例进行说明,当本节点第一次在向2号和3号节点发送广播消息时,由于2号节点由于网络不稳定等原因,2号节点没有收到这次发送的广播消息,3号节点收到了,3号节点在广播发送这个消息时,也选择了2号节点发送,此时2号节点网络恢复,正常收到了3号节点发送的消息。
在本发明一些实施例中,在步骤101之后,可以在接收到需要广播的消息时,将需要广播的消息写入预设广播列表中,进一步提高消息广播的便捷性;并且为了提高节点的消息广播的效率,在将广播消息写入预设广播列表之前,通过检测预设广播列表中正在广播的消息数量,确定该节点是否存在消息堆积,在该节点存在消息堆积时,丢弃广播消息,缓解由于正在广播的消息堆积造成的广播堵塞,以及降低节点由于长时间进行消息广播造成的能耗增加。具体地,确定消息堆积的方法包括步骤b1~b3:
b1,获取预设广播列表中的消息数量。
在本发明一些实施例中,预设广播列表中的消息数量可以通过遍历预设广播列表,读取预设广播列表中广播中的消息条数作为消息数量,也可以读取预设广播列表的字节数量作为消息数量。在本发明一些实施例中,为了降低消息的堆积,释放预设广播列表的内存资源,定时检查预设广播列表中是否存在长时间没有收到关于某一个关键信息的消息,如果存在,则将其从预设广播列表中移除,释放资源。具体地,释放内存资源的方法包括:间隔预设时长遍历预设广播列表,获取目标广播消息以及各目标待广播消息对应的目标关键信息;获取各目标关键信息对应的等待时长;若等待时长大于预设等待时长,则将目标关键信息对应的目标广播消息从预设广播列表中移除。其中,目标广播消息指的是该节点正在广播中的消息。在本发明一些实施例中,可以间隔预设时长遍历预设广播列表,获取目标广播消息以及各目标待广播消息对应的目标关键信息。等待时长指的是预设广播列表中消息的更新间隔时长。在本发明一些实施例中,节点在接收到广播消息时,将该广播消息写入预设广播列表中,并进行等待时长统计。在本申请一些实施例中,为了降低预设广播列表中的信息量,统计接收到该广播消息的次数,如果接收到该广播消息的次数大于该广播消息的期望广播次数,则对该广播消息不做处理,即不将该广播消息写入预设广播列表和待广播列表。
为了提高消息广播的可靠性,获取该广播消息的等待时长,如果该广播消息的等待时长超过预设时长,则将该广播消息从预设广播列表中移除。因此本发明实施例获取目标关键信息对应的目标广播消息的等待时长,将等待时长与预设等待时长进行比较。
在本发明一些实施例中,可以解析接收到的广播消息的配置信息,获取对应的期望广播次数,将该广播消息写入预设广播列表中,并根据接收到该广播消息的次数,对该广播消息进行广播;如果接收到该广播消息的次数等于期望广播次数,则将目标关键信息对应的目标广播消息从预设广播列表中移除;如果接收到该广播消息的次数小于期望广播次数,则获取目标关键信息对应的等待时长;若等待时长大于预设等待时长,则将目标关键信息对应的目标广播消息从预设广播列表中移除。在本发明一些实施例中,为了缓解该节点的内存资源,定时检查该节点保存的历史广播记录,获取历史广播记录中各目标关键信息对应的已有版本信息的更新时间,计算更新时间与当前时间之间的时间差;如果时间差大于预设时间差阈值,说明已经停止或中断该目标关键信息对应的广播消息,则将标关键信息对应的目标历史广播记录从该节点中移除。
b2,若预设广播列表中的消息数量达到预设消息量阈值,则丢弃广播消息。
在本发明一些实施例中,若预设广播列表中的消息数量达到预设消息量阈值,说明该节点可能由于网络原因造成了消息堆积,需要等堆积的消息广播玩后再接收广播消息进行广播,则丢弃广播消息。
b3,若预设广播列表中的消息数量未达到预设消息量阈值,则将广播消息写入预设广播列表,并执行根据广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点操作。
本发明实施例在接收到需要广播的消息时,将需要广播的消息写入预设广播列表中,进一步提高消息广播的便捷性;并且为了提高节点的消息广播的效率,在将广播消息写入预设广播列表之前,通过检测预设广播列表中正在广播的消息数量,确定该节点是否存在消息堆积,在该节点存在消息堆积时,丢弃广播消息,缓解由于正在广播的消息堆积造成的广播堵塞,以及降低节点由于长时间进行消息广播造成的能耗增加。
在本发明一些实施例中,为了待广播的目标节点选取的灵活性,进而提高消息广播方法的适用性,在步骤102中,可以通过判断配置信息中是否存在节点选取条件,在不存在节点选取条件时,可以通过根据广播消息的历史广播记录选取目标节点,具体地,选取目标节点的方法包括步骤c1~c4:
c1,获取广播消息中的配置信息,以及获取配置信息中的广播范围。
在本发明一些实施例中,可以从配置信息中获取广播范围,也可以根据与该节点连接的其他节点获取广播范围。具体地,判断配置信息中是否存在广播范围;如果配置信息中存在广播范围,则根据广播范围选择该节点连接的可广播节点;如果配置信息中不存在广播范围,则将该节点连接的所有节点作为可广播节点。例如,当与该节点连接的其他节点有A类节点和B类节点时;如果配置信息存在广播范围,并且广播范围为在A类节点中广播,则根据广播范围选择该节点连接的所有A类节点作为可广播节点;如果配置信息不存在广播范围,则将与该节点连接的所有A类节点和所有B类节点作为可广播节点。
c2,判断配置信息中是否存在节点选取条件。
在本发明一些实施例中,可以通过判断配置信息是否存在目标字段确定配置信息中是否存在节点选取条件,如果配置信息存在目标字段,则判定配置信息中存在节点选取条件,如果配置信息不存在目标字段,则判定配置信息中不存在节点选取条件。其中目标字段指的是节点选取条件的起始符,例如,如果配置信息中存在目标字段“xuanqu:”,则判定配置信息中存在节点选取条件,并且读取“:”后的字段作为节点选取条件。需要说明的是,上述判断配置信息中是否存在节点选取条件仅为示例性说明,本发明实施例对判断配置信息中是否存在节点选取条件的方式不作限定,例如还可以通过判断配置信息是否存在对应的节点选取程序判断是否存在节点选取条件,或根据配置信息中节点选取字段的读取返回值判断是否存在节点选取条件。
c3,若配置信息中存在节点选取条件,则根据节点选取条件对广播范围中的可广播节点进行选取,得到待广播的目标节点。
在本发明一些实施例中,根据节点选取条件对广播范围中的可广播节点进行选取,得到待广播的目标节点的方式与步骤102中根据节点选取条件对广播范围中可广播节点进行选取,得到待广播的目标节点的方式相似,此处不再赘述。
c4,若配置信息中不存在节点选取条件,则获取广播消息对应的历史广播记录,根据历史广播记录对广播范围中的可广播节点进行选取,得到待广播的目标节点。
在本发明一些实施例中,步骤c4包括:若配置信息中不存在节点选取条件,则获取广播消息的历史广播记录;提取历史广播记录中的记录节点,将广播范围中除记录节点之外的可广播节点,设置为待广播的目标节点。其中,记录节点包括向该节点发送过该广播消息的前向节点,以及该节点发送过该广播消息的后续节点。
在本发明一些实施例中,若配置信息中不存在节点选取条件,则获取广播消息的关键信息,获取关键信息对应的历史广播记录,其中历史广播记录可以是与广播消息的版本信息一致的历史广播记录。
在本发明一些实施例中,提取历史广播记录中的记录节点,获取前向节点和后续节点,将广播范围中除记录节点之外的可广播节点,设置为待广播的目标节点,例如,与该节点连接的可广播节点有4个:2号节点、3号节点、4号节点和5号节点,其中,2号节点向该节点发送过该广播消息,则2号节点为前向节点;该节点向3号节点发送了该广播消息,则3号节点为后续节点;则将4号节点和5号节点作为此次广播的待广播的目标节点。
在本发明一些实施例中,在根据节点选取条件或根据历史广播记录得到待广播的目标节点之后,还可以判断待广播的目标节点的数量,在目标节点的数量低于预设发送次数时,提取历史广播记录中的记录节点,从记录节点中选择目标记录节点对待广播的目标节点进行扩充,例如,可以从记录节点中选择后续节点和/或前向节点,对待广播的目标节点进行扩充,将扩充后的目标节点作为最终的目标节点。
在本发明一些实施例中,为了提高消息广播方法的可靠性,在接收到广播消息之后,判断接收到的广播消息是否存在遗漏消息,当存在遗漏消息时,从与该节点连接的其他节点拉取遗漏消息。具体地,处理广播消息的方法包括步骤d1~d5:
步骤d1,根据广播消息的关键信息和版本信息,确定是否存在广播消息的广播记录。
其中广播记录用于指示广播消息是否已完成广播,以及节点是否广播或接收过该关键信息对应的消息。
在本发明一些实施例中,可以根据广播消息的关键信息查询预设广播列表中是否存在关键信息对应的目标消息;如果预设广播列表中不存在关键信息对应的目标消息,则获取该关键信息对应的已有版本信息;将已有版本信息与广播消息的版本信息进行比较;如果已有版本信息与广播消息的版本信息一致,说明已完成广播消息的广播,则判定不存在广播消息的广播记录;如果已有版本信息与广播消息的版本信息不一致,说明正在广播该广播消息,则存在广播消息的广播记录;如果预设广播列表中存在关键信息对应的目标消息,则将广播消息的版本信息与目标消息的目标版本信息进行比较;如果广播消息的版本信息与目标消息的目标版本信息一致,说明正在广播该广播消息,则判定存在广播消息的广播记录;如果广播消息的版本信息与目标消息的目标版本信息不一致,说明已完成广播消息的广播,则判定不存在广播消息的广播记录。
在本发明一些实施例中,可以根据广播消息的关键信息获取该关键信息对应的已有版本信息;将已有版本信息与广播消息的版本信息进行比较;如果已有版本信息与广播消息的版本信息一致,说明已完成广播消息的广播,则判定不存在广播消息的广播记录;如果已有版本信息与广播消息的版本信息不一致,说明正在广播该广播消息,则判定存在广播消息的广播记录。
d2,若存在广播消息的广播记录,则获取关键信息对应的已有版本信息。
在本发明一些实施例中,若存在广播消息的广播记录,为了提高广播消息处理的效率,仅在第一次收到该广播消息时判断是否存在消息遗漏,其中,可以根据预设广播列表中是否存在关键信息确定是否是第一次收到该广播消息,具体地包括:若未完成广播消息的广播,则判断预设广播列表中是否存在关键信息;若存在关键信息,说明不是第一次接收到该广播消息,则执行根据广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点步骤;若不存在关键信息,说明是第一次接收到该广播消息,则获取关键信息对应的已有版本信息。
在本发明一些实施例中,如果不是第一次接收到该广播消息,则更新预设广播列表中该广播消息的期望广播次数。
d3,将已有版本信息与版本信息进行比较。
在本发明一些实施例中,通过版本信息中数值减去已有版本信息中数值,计算已有版本信息中数值与版本信息中数值之间的差值;如果差值大于1,说明该节点存在遗漏的没有接收到的广播消息,则判定已有版本信息与版本信息不匹配;如果差值小于或等于1,说明该节点不存在遗漏的没有接收到的广播消息,则判定已有版本信息与版本信息匹配。
在本发明一些实施例中,当已有版本信息与版本信息匹配,则获取预设广播列表中的消息数量,确定是否存在消息堆积,如果存在消息堆积时,则丢弃该广播消息。
d4,若已有版本信息与版本信息不匹配,则根据已有版本信息和版本信息获取缺失广播消息。
在本发明一些实施例中,可以根据已有版本信息和版本信息之间的差值,得到缺失版本信息,访问相邻节点或发送该广播消息的节点,获取缺失版本信息对应的缺失广播消息,其中缺失版本信息指的是该节点没有接收到的版本信息,例如当广播消息的已有版本信息为007,广播消息的版本信息为009时,即该节点没有接收到版本信息为008的消息,则缺失版本信息为008。具体地,若已有版本信息与版本信息不匹配,则根据版本信息与已有版本信息之间的差值,得到缺失版本信息;访问相邻节点,从关键信息对应的历史广播消息中获取缺失版本信息对应的缺失广播消息。其中,历史广播消息是相邻节点已完成广播的消息。
d5,若已有版本信息与版本信息匹配,则执行根据广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点步骤。
本发明实施例在接收到广播消息之后,判断接收到的广播消息是否存在遗漏消息,当存在遗漏消息时,从与该节点连接的其他节点拉取遗漏消息,进一步为了提高消息广播方法的可靠性。
在本发明一些实施例中,为了更好说明本发明实施例提供的消息广播方法,以接收该节点产生的需要广播的消息为例,提供一种消息广播方法的应用场景,如图2所示,图2是本发明实施例提供的消息广播方法中接收广播消息的一个应用场景示意,所示的应用场景示意中,包括步骤e1~e5:
e1,根据该节点产生的广播消息中广播范围选择该节点连接的可广播节点。
e2,根据消息类型组装广播消息的关键信息。
e3,判断该节点的预设广播列表中消息数量是否达到预设消息数量阈值,如果达到预设消息数量阈值,则丢弃该广播消息,如果未达到预设消息数量阈值,则执行步骤e4。
e4,根据广播消息的关键信息获取该关键信息对应的已有版本信息,将已有版本信息+1作为该广播消息的版本信息。
e5,将该广播消息写入预设广播列表中,并将该广播消息的每次广播的预设发送次数写入待广播列表中。
本发明实施例根据该节点产生的广播消息中广播范围选择该节点连接的可广播节点,提供广播范围选择功能,并且消息体不根据节点数量的增多而增大。
在本发明一些实施例中,为了更好说明本发明实施例提供的消息广播方法,以处理接收到的其他节点发送的消息为例,提供一种消息广播方法的应用场景,如图3所示,图3是本发明实施例提供的消息广播方法中处理广播消息的另一个应用场景示意,所示的应用场景示意中,包括步骤f1~f9:
f1,根据广播消息的关键信息,以及该关键信息对应的已有版本信息判断是否已完成广播消息的广播,如果已完成广播消息的广播,则丢弃该广播消息,如果未完成该广播消息,则执行步骤f2。
f2,根据消息中指定的广播范围选择本节点连接的可广播节点。
f3,根据预设广播列表中的消息和已完成广播的消息判断是否是第一次收到该广播消息;如果是第一次接收到该广播消息,则执行步骤f4,如果不是第一次接收到该广播消息,则执行步骤f7。
f4,判断在该广播消息之前是否有消息遗漏了,如果有则向广播消息的发送方拉取遗漏的消息。
f5,判断预设广播列表中的消息量是否达到预设消息量阈值,如果达到预设消息量阈值,则忽略该广播消息,如果未达到预设消息量阈值,则执行步骤f6。
f6,将广播消息添加到预设广播列表中。
f7,若不是第一次接收到该广播消息,则将预设广播列表中该广播消息的期望广播次数+1。
f8,将给本节点发送该广播消息的节点记录下来,并记录收到该广播消息的最新时间。
f9,将该广播消息的每次广播的预设发送次数写入待广播列表中。
例如,网络中有10个节点,1号节点有消息要广播到所有节点,通过消息广播方法,网络中其他9个节点也会收到这个消息。如果在这个消息广播的过程中某一节点,例如7号节点网络异常,无法与其他节点通信,但是1号节点还会定期的广播其产生的最新的消息,7号节点网络恢复后会收到1号节点定期广播的消息,从而知道在自身节点网络异常的这段时间中1号节点广播到了哪个版本信息对应的广播消息,后续7号节点可以向其他节点拉取遗漏的消息,最终也能收到所有的广播消息。
本发明实施例在接收到其他节点发送的广播消息时,判断是否存在遗漏消息,如果存在遗漏消息,则将广播消息的发送方拉取遗漏消息,提高消息广播的可靠性。
在本发明一些实施例中,为了更好说明本发明实施例提供的消息广播方法,以广播该广播消息为例,提供一种消息广播方法的应用场景,如图4所示,图4是本发明实施例提供的消息广播方法中广播消息的另一个应用场景示意,所示的应用场景示意中,包括步骤g1~g10:
g1,遍历待广播列表中的消息,如果遍历完则结束此处广播,没有则继续遍历,对于遍历出来的广播消息,执行步骤g2~g10。
g2,判断是否设置了广播范围,如果没有则认为可以向所有节点广播,则将本节点连接的所有节点作为可广播节点。
g3,判断待广播消息中是否设定了节点选取条件,如果没有设定,则执行步骤g4,如果设定,则根据节点选取条件从可广播节点选择目标节点,并执行步骤g6。
g4,根据记录的向其发送过该广播消息的节点以及给本节点发送该广播消息的节点,选择出没有向其发送过、也没有给本节点发送过该广播消息的节点作为目标节点。
g5,判断目标节点数量是否足够,如果节点数量不足,则从向其发送过该广播消息的节点和给本节点发送过该广播消息的节点中补足,如果节点数量足够,则执行步骤g6。
g6,构造消息,将该广播消息发送给目标节点。
g7,记录向其发送过该广播消息的节点,更新消息的发送次数。
g8,判断对于此次广播,消息的发送次数是否足够,如果不足则继续遍历,否则执行步骤g9。
g9,从待广播列表中移除此消息,并更新预设广播列表中对应消息的实际广播次数。
g10,判断预设广播列表中对应消息的实际广播次数是否足够,足够则将对应消息从预设广播列表中移除,并更新广播消息对应的已有版本信息。
为了更好实施本发明实施例提供的消息广播方法,在消息广播方法基础上,提供一种消息广播装置,如图5所示,图5是本发明实施例提供的消息广播装置的一个实施例结构示意图,所示的消息广播装置包括:
广播消息接收模块501,用于接收广播消息;
广播节点确定模块502,用于根据广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;
广播模块503,用于将广播消息广播至目标节点。
在本发明一些实施例中,广播节点确定模块502包括:
获取单元,用于获取广播消息中的配置信息,以及获取配置信息中的广播范围;
判断单元,用于判断配置信息中是否存在节点选取条件;
第一节点确定单元,用于若配置信息中存在节点选取条件,则根据节点选取条件对广播范围中的可广播节点进行选取,得到待广播的目标节点;
第二确定单元,用于若配置信息中不存在节点选取条件,则获取广播消息对应的历史广播记录,根据历史广播记录对广播范围中的可广播节点进行选取,得到待广播的目标节点。
在本发明一些实施例中,第二确定单元还用于:若配置信息中不存在节点选取条件,则获取广播消息的历史广播记录;提取历史广播记录中的记录节点,将广播范围中除记录节点之外的可广播节点,设置为待广播的目标节点。
在本发明一些实施例中,消息广播装置还包括:
广播消息处理模块504,用于根据广播消息的关键信息和版本信息,确定是否存在广播消息的广播记录;若存在广播消息的广播记录,则获取关键信息对应的已有版本信息;将已有版本信息与版本信息进行比较;若已有版本信息与版本信息不匹配,则根据已有版本信息和版本信息获取缺失广播消息;若已有版本信息与版本信息匹配,则执行根据广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点步骤。
在本发明一些实施例中,广播消息处理模块504还用于:若已有版本信息与版本信息不匹配,则根据版本信息与已有版本信息之间的差值,得到缺失版本信息;访问相邻节点,从关键信息对应的历史广播消息中获取缺失版本信息对应的缺失广播消息,历史广播消息是相邻节点已完成广播的消息。
在本发明一些实施例中,广播消息处理模块504还用于:若存在广播消息的广播记录,则判断预设广播列表中是否存在关键信息;若存在关键信息,则执行根据广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点步骤;若不存在关键信息,则获取关键信息对应的已有版本信息。
在本发明一些实施例中,消息广播装置还包括:
消息判断模块505,用于获取预设广播列表中的消息数量;若预设广播列表中的消息数量达到预设消息量阈值,则丢弃广播消息;若预设广播列表中的消息数量未达到预设消息量阈值,则将广播消息写入预设广播列表,并执行根据广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点操作。
在本发明一些实施例中,消息判断模块505还用于:间隔预设时长遍历预设广播列表,获取目标广播消息以及各目标广播消息对应的目标关键信息;获取各目标关键信息对应的等待时长;若等待时长大于预设等待时长,则将目标关键信息对应的目标广播消息从预设广播列表中移除。
在本发明一些实施例中,消息广播装置还包括:
更新模块506,用于获取广播消息的期望广播次数;更新广播消息的广播次数,判断更新后的发送次数是否足够将更新后的广播次数与期望广播次数进行比较;若所示更新后的发送次数足够,若更新后的广播次数达到期望广播次数,则更新预设待广播列表,并根据更新后的广播次数更新预设广播列表中广播消息的实际广播次数,根据更新后的实际广播次数判断是否完成对广播消息的广播;根据更新后的实际广播次数判断是否完成对广播消息的广播;若完成对广播消息的广播,则将广播消息从预设广播列表中移除,并更新广播消息对应的已有版本信息。
本发明实施例可选择消息广播的范围,以及支持按照不同的节点选取条件选择广播节点,通过广播范围以及节点选取条件,确定待广播的目标节点,使消息体不随着节点数量的增加而增加;并且通过广播范围以及节点选取条件,确定待广播的目标节点,将消息广播到网络中目标节点,不从消息中携带的已收到此消息的节点来选择其他节点,降低网络中单个节点的网络问题对消息广播链的影响,提高消息广播的可靠性。
本发明实施例还提供一种计算机设备,如图6所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
接收广播消息;
根据广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;
将广播消息广播至目标节点。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种消息广播方法中的步骤。例如,该指令可以执行如下步骤:
接收广播消息;
根据广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;
将广播消息广播至目标节点。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种消息广播方法中的步骤,因此,可以实现本发明实施例所提供的任一种消息广播方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种消息广播方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种消息广播方法,其特征在于,所述方法包括:
接收广播消息;
根据所述广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;
将所述广播消息广播至所述目标节点;
所述根据所述广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点包括:
获取所述广播消息中的配置信息,以及获取所述配置信息中的广播范围;所述配置信息由产生所述广播消息的节点设置;
判断所述配置信息中是否存在节点选取条件;
若所述配置信息中存在所述节点选取条件,则根据所述节点选取条件对所述广播范围中的可广播节点进行选取,得到待广播的目标节点;
若所述配置信息中不存在所述节点选取条件,则获取所述广播消息对应的历史广播记录,根据所述历史广播记录对所述广播范围中的可广播节点进行选取,得到待广播的目标节点。
2.如权利要求1所述的消息广播方法,其特征在于,所述根据所述历史广播记录对所述广播范围中的可广播节点进行选取,得到待广播的目标节点包括:
提取所述历史广播记录中的记录节点,将所述广播范围中除所述记录节点之外的可广播节点,设置为待广播的目标节点。
3.如权利要求1所述的消息广播方法,其特征在于,所述接收广播消息之后,所述方法包括:
根据所述广播消息的关键信息和版本信息,确定是否存在所述广播消息的广播记录;
若存在所述广播消息的广播记录,则获取所述关键信息对应的已有版本信息;
将所述已有版本信息与所述版本信息进行比较;
若所述已有版本信息与所述版本信息不匹配,则根据所述已有版本信息和所述版本信息获取缺失广播消息;
若所述已有版本信息与所述版本信息匹配,则执行根据所述广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点步骤。
4.如权利要求3所述的消息广播方法,其特征在于,所述根据所述已有版本信息和所述版本信息获取缺失广播消息包括:
根据所述版本信息与所述已有版本信息之间的差值,得到缺失版本信息;
访问相邻节点,从所述关键信息对应的历史广播消息中获取所述缺失版本信息对应的缺失广播消息,所述历史广播消息是所述相邻节点已完成广播的消息。
5.如权利要求3所述的消息广播方法,其特征在于,所述若存在所述广播消息的广播,则获取所述关键信息对应的已有版本信息包括:
若存在所述广播消息的广播记录,则判断预设广播列表中是否存在所述关键信息;
若存在所述关键信息,则执行根据所述广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点步骤;
若不存在所述关键信息,则获取所述关键信息对应的已有版本信息。
6.如权利要求1所述的消息广播方法,其特征在于,所述接收广播消息步骤之后,所述方法包括:
获取预设广播列表中的消息数量;
若所述预设广播列表中的消息数量达到预设消息量阈值,则丢弃所述广播消息;
若所述预设广播列表中的消息数量未达到预设消息量阈值,则将所述广播消息写入所述预设广播列表,并执行所述根据所述广播消息对应的广播范围和节点选取条件,确定得到待广播的目标节点操作。
7.如权利要求1所述的消息广播方法,其特征在于,所述的消息广播方法还包括:
间隔预设时长遍历预设广播列表,获取目标广播消息以及所述各目标广播消息对应的目标关键信息;
获取各所述目标关键信息对应的等待时长;
若所述等待时长大于预设等待时长,则将所述目标关键信息对应的所述目标广播消息从所述预设广播列表中移除。
8.如权利要求1至7任一项所述的消息广播方法,其特征在于,所述将所述广播消息广播至所述目标节点之后,所述方法包括:
获取所述广播消息的期望广播次数;
更新所述广播消息的广播次数,判断更新后的发送次数是否足够;
若所述更新后的发送次数足够,则更新预设广播列表中所述广播消息的实际广播次数,根据更新后的实际广播次数判断是否完成对所述广播消息的广播;
若完成对所述广播消息的广播,则将所述广播消息从所述预设广播列表中移除,并更新所述广播消息对应的已有版本信息。
9.一种消息广播装置,其特征在于,所述装置包括:
广播消息接收模块,用于接收广播消息;
广播节点确定模块,用于根据所述广播消息对应的广播范围和节点选取条件,确定待广播的目标节点;
广播模块,用于将所述广播消息广播至所述目标节点;
所述广播节点确定模块,用于获取所述广播消息中的配置信息,以及获取所述配置信息中的广播范围;
判断所述配置信息中是否存在节点选取条件;
若所述配置信息中存在所述节点选取条件,则根据所述节点选取条件对所述广播范围中的可广播节点进行选取,得到待广播的目标节点;
若所述配置信息中不存在所述节点选取条件,则获取所述广播消息对应的历史广播记录,根据所述历史广播记录对所述广播范围中的可广播节点进行选取,得到待广播的目标节点。
10.一种计算机设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至8任一项所述的消息广播方法中的操作。
11.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至8任一项所述的消息广播方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210000955.1A CN114024786B (zh) | 2022-01-04 | 2022-01-04 | 消息广播方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210000955.1A CN114024786B (zh) | 2022-01-04 | 2022-01-04 | 消息广播方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114024786A CN114024786A (zh) | 2022-02-08 |
CN114024786B true CN114024786B (zh) | 2022-04-08 |
Family
ID=80069535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210000955.1A Active CN114024786B (zh) | 2022-01-04 | 2022-01-04 | 消息广播方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114024786B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115296943B (zh) * | 2022-07-18 | 2024-04-16 | 杭州趣链科技有限公司 | 一种消息广播方法、装置、服务器和存储介质 |
CN118101360A (zh) * | 2024-03-21 | 2024-05-28 | 杭州高新区(滨江)区块链与数据安全研究院 | 数据交互方法、节点、终端设备及可读介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1983694A1 (en) * | 2006-07-14 | 2008-10-22 | Huawei Technologies Co Ltd | Method and device for transmitting packet in resilient packet intersect ring |
CN103532922A (zh) * | 2012-09-29 | 2014-01-22 | 深圳市友讯达科技发展有限公司 | 一种软件版本升级方法、装置及系统 |
EP2816445A1 (en) * | 2013-06-21 | 2014-12-24 | BlackBerry Limited | Devices and methods for establishing a communicative coupling in response to a gesture |
CN104837108A (zh) * | 2014-02-07 | 2015-08-12 | 中兴通讯股份有限公司 | 一种设备到设备广播通信的方法和用户设备 |
CN106254435A (zh) * | 2016-07-28 | 2016-12-21 | 努比亚技术有限公司 | 消息推送系统及方法 |
CN106454756A (zh) * | 2016-08-17 | 2017-02-22 | 东软集团股份有限公司 | 车载自组织网络中广播消息的方法、装置及系统 |
CN107135086A (zh) * | 2017-05-26 | 2017-09-05 | 努比亚技术有限公司 | 一种广播推送方法及设备、计算机可读存储介质 |
CN107196859A (zh) * | 2017-07-19 | 2017-09-22 | 西安奇妙电子科技有限公司 | 消息转发方法、广播方法、消息应答方法及通信设备 |
CN109067724A (zh) * | 2018-07-24 | 2018-12-21 | 中国联合网络通信集团有限公司 | 区块链数据交易方法、装置、设备及存储介质 |
CN109121096A (zh) * | 2017-06-23 | 2019-01-01 | 华为技术有限公司 | 用于确定网状网络中的广播节点的方法和装置 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005079849A (ja) * | 2003-08-29 | 2005-03-24 | Toshiba Corp | 情報処理装置、接続先選択方法および接続先選択プログラム |
US20100027478A1 (en) * | 2008-07-31 | 2010-02-04 | Motorola, Inc. | Method for channel selection in a multi-hop wireless mesh network |
CN101394410B (zh) * | 2008-10-29 | 2012-01-04 | 北京邮电大学 | 一种无线自组织网络中的通信方法 |
WO2011043824A1 (en) * | 2009-10-08 | 2011-04-14 | University Of Maryland, College Park | Novel topology selection and broadcast method for rule-based link state routing |
JP2013516929A (ja) * | 2010-01-08 | 2013-05-13 | インターデイジタル パテント ホールディングス インコーポレイテッド | 選択されたインターネットプロトコルトラフィックオフロードのサポートをブロードキャストするための方法および装置 |
CN104956606B (zh) * | 2013-01-25 | 2019-11-05 | 交互数字专利控股公司 | 用于确定资源的方法和无线发射/接收单元 |
CN104009913B (zh) * | 2014-04-10 | 2017-01-25 | 浙江工商大学 | 移动AdHoc网络中基于距离和能量均衡的广播方法 |
WO2015165035A1 (zh) * | 2014-04-29 | 2015-11-05 | 华为技术有限公司 | 一种网络节点及频谱资源的使用方法 |
CN106454752A (zh) * | 2015-08-06 | 2017-02-22 | 北京信威通信技术股份有限公司 | 一种3gpp v2x通信中的广播消息传输方法 |
CN105515853B (zh) * | 2015-12-03 | 2019-01-11 | 泰凌微电子(上海)有限公司 | 无线网络的节点及其状态更新方法 |
CN105704678B (zh) * | 2016-01-20 | 2019-03-29 | 浙江工商大学 | 移动自组织网络中基于邻居成功广播率的广播方法 |
US11696216B2 (en) * | 2016-02-18 | 2023-07-04 | Comcast Cable Communications, Llc | SSID broadcast management to support priority of broadcast |
CN107071854B (zh) * | 2017-04-25 | 2019-11-26 | 西安电子科技大学 | 基于车联网最大化中继转发概率的分布式多跳广播方法 |
CN107395428A (zh) * | 2017-08-11 | 2017-11-24 | 杭州迪普科技股份有限公司 | 版本文件升级方法、装置、服务器及客户端设备 |
CN109450664B (zh) * | 2018-10-09 | 2022-07-12 | 北京医拍智能科技有限公司 | 一种基于区块链p2p网络的数据协同处理方法及装置 |
CN110784549A (zh) * | 2019-11-01 | 2020-02-11 | 深圳市网心科技有限公司 | 网络节点选择方法、装置、第一网络节点及存储介质 |
CN112422302B (zh) * | 2021-01-25 | 2021-04-06 | 恒生电子股份有限公司 | 消息的广播方法、装置、网络节点及计算机存储介质 |
-
2022
- 2022-01-04 CN CN202210000955.1A patent/CN114024786B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1983694A1 (en) * | 2006-07-14 | 2008-10-22 | Huawei Technologies Co Ltd | Method and device for transmitting packet in resilient packet intersect ring |
CN103532922A (zh) * | 2012-09-29 | 2014-01-22 | 深圳市友讯达科技发展有限公司 | 一种软件版本升级方法、装置及系统 |
EP2816445A1 (en) * | 2013-06-21 | 2014-12-24 | BlackBerry Limited | Devices and methods for establishing a communicative coupling in response to a gesture |
CN104837108A (zh) * | 2014-02-07 | 2015-08-12 | 中兴通讯股份有限公司 | 一种设备到设备广播通信的方法和用户设备 |
CN106254435A (zh) * | 2016-07-28 | 2016-12-21 | 努比亚技术有限公司 | 消息推送系统及方法 |
CN106454756A (zh) * | 2016-08-17 | 2017-02-22 | 东软集团股份有限公司 | 车载自组织网络中广播消息的方法、装置及系统 |
CN107135086A (zh) * | 2017-05-26 | 2017-09-05 | 努比亚技术有限公司 | 一种广播推送方法及设备、计算机可读存储介质 |
CN109121096A (zh) * | 2017-06-23 | 2019-01-01 | 华为技术有限公司 | 用于确定网状网络中的广播节点的方法和装置 |
CN107196859A (zh) * | 2017-07-19 | 2017-09-22 | 西安奇妙电子科技有限公司 | 消息转发方法、广播方法、消息应答方法及通信设备 |
CN109067724A (zh) * | 2018-07-24 | 2018-12-21 | 中国联合网络通信集团有限公司 | 区块链数据交易方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114024786A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114024786B (zh) | 消息广播方法、装置、计算机设备和存储介质 | |
US8191061B2 (en) | Method for managing internal software of terminal through device management server | |
EP3125501A1 (en) | File synchronization method, server, and terminal | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN109788027A (zh) | 数据同步方法、装置、服务器及计算机存储介质 | |
CN103841562B (zh) | 一种时隙资源占用处理方法及装置 | |
CN112468317A (zh) | 一种集群拓扑更新方法、系统、设备及计算机存储介质 | |
CN117874033A (zh) | 数据库分表方法、装置、电子设备及存储介质 | |
CN108829735B (zh) | 并行执行计划的同步方法、装置、服务器及存储介质 | |
CN103714059A (zh) | 一种更新数据的方法及装置 | |
CN116389505A (zh) | 基于can总线的组网方法及计算机设备 | |
CN115328520A (zh) | 远程升级方法、装置、电子设备和存储介质 | |
CN114841519A (zh) | 电力工作票构建方法和装置 | |
CN104735097A (zh) | 信息的收集方法和系统 | |
CN112416946A (zh) | 播放内容管理方法、装置、设备和介质 | |
CN111782489A (zh) | 数据表监控方法及装置 | |
CN104869171A (zh) | 一种信息处理方法及智能家居设备 | |
CN115686583B (zh) | 海量物联网设备升级方法、装置、电子设备和存储介质 | |
CN114385081B (zh) | 针对kafka集群的磁盘保护方法及相关设备 | |
CN118175362B (zh) | 一种rom空间回收方法、装置、存储介质和机顶盒 | |
CN112486781B (zh) | 一种集群设备告警方法和系统 | |
CN116009949B (zh) | 一种数值获取方法、装置、设备及存储介质 | |
CN112818059B (zh) | 一种基于容器发布平台的信息实时同步方法及装置 | |
CN118802839A (zh) | 一种多电池模组的地址分配方法、电池包及储能系统 | |
CN118820260A (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 |