CN110391923B - 组播报文处理的方法以及网络设备 - Google Patents
组播报文处理的方法以及网络设备 Download PDFInfo
- Publication number
- CN110391923B CN110391923B CN201810349912.8A CN201810349912A CN110391923B CN 110391923 B CN110391923 B CN 110391923B CN 201810349912 A CN201810349912 A CN 201810349912A CN 110391923 B CN110391923 B CN 110391923B
- Authority
- CN
- China
- Prior art keywords
- network node
- multicast
- trickle
- multicast message
- equal
- 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
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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
-
- 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/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/08—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on transmission power
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种组播报文处理的方法。本申请实施例方法包括:第一网络节点接收第一组播报文,第一网络节点启动第一组播报文对应的涓流计时器;第一网络节点确定在发送时刻T1之前,第一涓流周期内接收的第一组播报文的数量Z1是否小于或等于第一冗余常量K1,若Z1小于或等于K1,则第一网络节点广播第一组播报文;第二涓流周期内接收的第一组播报文的数量Z2是否大于或等于第二冗余常量K2,K2为等于邻居网络节点数量的整数;若Z2大于或等于K2,则第一网络节点在第二涓流周期停止广播第一组播报文;本申请将冗余常量设置为大于或等于邻居网络节点数量的整数,节约了网络资源。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种组播报文处理的方法以及网络设备。
背景技术
低功耗有损网络(low Power and lossy networks,LLN)是物联网(internet ofthings,IoT)的一种,由于物联网连接万物的特性,所以LLN中网络节点的数量众多。
当前LLN的组播协议(multicast protocol for LLN,MPL)是基于受控洪泛(Flood)实现组播报文的处理;该处理过程可以是LLN中的网络节点接收到组播报文之后,为组播报文建立一个独立的涓流计时器,并启动该涓流计时器,涓流计时器中可以设置多个涓流周期,例如设置e个涓流周期。在每个涓流周期内都会选择一个时刻作为组播报文的发送时刻T,在每个涓流周期的发送时刻T之前,网络节点会统计邻居网络节点发送的组播报文的总次数c;当到达发送时刻T时,网络节点对总次数c与冗余常量k进行比较,以此来推断相邻网络节点是否都已经接收到该组播报文;如果c>=k则推断相邻网络节点都已经收到过组播报文,网络节点不再需要发送该组播报文,从而完成发送抑制。如果c<k则推断还存在没有收到该组播报文的相邻网络节点,该网络节点会对该组播报文进行广播。
由于LLN中停止广播组播报文或者继续广播组播报文都采用相同的冗余常量来做判断,经常会出现判断不准确的情况,所以经常发生需要广播组播报文时停止广播,需要停止广播组时还在不停的广播,导致了组播报文得不到准确广播,以及浪费网络资源的问题。
发明内容
本申请实施例提供了一种组播报文处理的方法以及网络设备,用于根据第一网络节点的邻居网络节点的数量设置冗余常量和优化第一组播报文对应的涓流计时器的涓流周期,节省网络资源。
本申请实施例第一方面提供一种组播报文处理的方法,包括:
在LLN中,当第二网络节点向第一网络节点发送第一组播报文时,第一网络节点接收第二网络节点发送的第一组播报文,所述第二网络节点为所述第一网络节点的任一邻居网络节点,所述邻居网络节点是与所述第一网络节点相连的网络节点;所述第一网络节点接收到所述第一组播报文之后,建立所述第一组播报文对应的涓流计时器,并启动所述涓流计时器,执行所述涓流计时器的e个涓流周期中的第一涓流周期,所述e为大于或等于2的整数;在执行第一涓流周期的过程中,所述第一网络节点确定在发送时刻T1之前,第一涓流周期内接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1,所述K1为大于所述邻居网络节点数量的整数,所述T1为所述第一涓流周期中的预设时刻;若所述Z1小于或等于所述K1,则所述第一网络节点广播所述第一组播报文;在第一涓流周期结束之后,第一网络节点继续执行第二涓流周期,然后确定在发送时刻T2之前,第二涓流周期内接收的所述第一组播报文的数量Z2是否大于或等于第二冗余常量K2,所述K2为等于所述邻居网络节点数量的整数,所述T2为所述第二涓流周期中的预设时刻;若所述Z2大于或等于所述K2,则所述第一网络节点在第二涓流周期停止广播所述第一组播报文并执行下一个涓流周期;若所述Z2小于所述K2,则所述第一网络节点广播所述第一组播报文。由第一方面可见,第一网络节点可以根据邻居网络节点的数量灵活设置冗余常量,提升了第一网络节点广播第一组播报文的精确度,从而节省网络资源。
基于本申请实施例第一方面,本申请实施例第一方面的第一种实现方式中,所述组播报文处理的方法还包括:当所述e大于或等于3时,所述第一网络节点执行第三涓流周期至第e涓流周期对应的涓流算法,其中,所述第三涓流周期至第e涓流周期中每个涓流周期分别对应的冗余常量等于所述邻居网络节点数量的整数。由第一方面的第一种实现方式可见,第一网络节点将第三涓流周期至第e涓流周期中每个涓流周期分别对应的冗余常量设置为所述邻居网络节点数量的整数,使得在执行第三涓流周期至第e涓流周期的过程中,第一网络节点可以根据冗余常量准确的确定每个邻居网络节点是否都收到第一组播报文,提升了第一网络节点广播第一组播报文的精确度。
基于本申请实施例第一方面以及第一方面的第一种实现方式,本申请实施例第一方面的第二种实现方式中,第一网络节点接收第二网络节点发送的第一组播报文,所述第一组播报文包含用于表征所述第二网络节点第i次发送所述第一组播报文的次数信息,所述i为大于0的整数;所述第一网络节点确定在发送时刻T1之前,接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1,包括:所述第一网络节点根据在所述T1之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量;若所述第i次发送的所述第一组播报文的数量小于或等于K1,则所述第一网络节点确定Z1小于或等于所述K1,由第一方面的第二种实现方式可见,第一网络节点在T1到达时,将发送次数相同的第一组播报文的数量与K1进行比较,在实际应用中,第一网络节点可以根据比较结果准确地确定是否所有的邻居网络节点都接收到第一组播报文。
基于本申请实施例第一方面以及第一方面的第一种实现方式至第一方面的第二种实现方式中的任一项,本申请实施例第一方面的第三种实现方式中,所述第一网络节点确定在发送时刻T2之前,第二涓流周期内接收的所述第一组播报文的数量Z2是否等于第二冗余常量K2,包括:所述第一网络节点根据在所述T2之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量;若所述第i次发送的所述第一组播报文的数量等于所述K2,则所述第一网络节点确定所述第一组播报文的数量Z2等于所述K2;对应地,当所述Z2等于所述K2时,所述第一网络节点停止广播所述第一组播报文之后;所述第一网络节点停止所述第一组播报文对应的所述涓流计时器,并停止执行涓流算法。若所述第i次发送的所述第一组播报文的数量小于所述K2,则所述第一网络节点确定所述第一组播报文的数量Z2小于所述K2。由第一方面的第三种实现方式可见,第一网络节点在第二涓流周期中将发送次数相同的第一组播报文的数量与K2进行比较,在实际应用中,第一网络节点可以根据比较结果准确的确定是否所有的邻居网络节点都接收到第一组播报文,在确定所有的邻居网络节点都接收到第一组播报文之后,停止第一组播报文对应的涓流计时器,节省了网络资源。
基于本申请实施例第一方面以及第一方面的第一种实现方式至第一方面的第三种实现方式中的任一项,本申请实施例第一方面的第四种实现方式中,所述第一网络节点广播所述第一组播报文,包括:所述第一网络节点向邻居网络节点广播所述第一组播报文,所述第一组播报文包含用于表征所述第一网络节点第j次发送所述第一组播报文的次数信息,所述j为大于0的整数。由第一方面的第四种实现方式可见,第一网络节点在广播的第一组播报文中增加次数信息,使得接收到包含次数信息的第一组播报文的邻居网络节点可以根据次数信息统计第一组播报文的数量。
基于本申请实施例第一方面以及第一方面的第一种实现方式至第一方面的第四种实现方式中的任一项,本申请实施例第一方面的第五种实现方式中,所述第一网络节点根据在所述T1之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量,包括:所述第一网络节点根据次数信息确定在所述T1之前接收的所述第一组播报文是否为第i次发送的,并将第i次发送的所述第一组播报文的数量叠加到第i次对应的涓流计数器counter(i)中;所述第一网络节点确定所述counter(i)的数量为所述第i次发送的所述第一组播报文的数量。由第一方面的第五种实现方式可见,在第一组播报文中增加次数信息,可以使得第一网络节点根据次数信息将发送次数相同的第一组播报文统计在涓流计数器counter(i)中,即每个涓流计数器中统计的第一组播报文的发送次数都相同。
基于本申请实施例第一方面以及第一方面的第一种实现方式至第一方面的第五种实现方式中的任一项,本申请实施例第一方面的第六种实现方式中,所述第一网络节点根据在所述T2之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量,包括:所述第一网络节点根据次数信息确定在所述T2之前接收的所述第一组播报文是否为第i次发送的,并将第i次发送的所述第一组播报文的数量叠加到所述第i次对应的涓流计数器counter(i)中;所述第一网络节点确定所述counter(i)的数量为所述第i次发送的所述第一组播报文的数量,由第一方面的第六种实现方式可见,在第一组播报文中增加次数信息,可以使得第一网络节点根据次数信息统计将发送次数相同的第一组播报文统计在涓流计数器counter(i)中,即每个涓流计数器中统计的第一组播报文的发送次数都相同。
基于本申请实施例第一方面以及第一方面的第一种实现方式至第一方面的第六种实现方式中的任一项,本申请实施例第一方面的第七种实现方式中,在所述第一网络节点确定在发送时刻T1之前,第一涓流周期内接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1之前,所述方法还包括:所述第一网络节点获取所述邻居网络节点的数量并根据所述邻居网络节点设置所述K1或所述K2,由第一方面的第七种实现方式可见,第一网络节点根据所述邻居网络节点的数量设置所述K1或所述K2,使得所述K1或所述K2更加精确。
基于本申请实施例第一方面以及第一方面的第一种实现方式至第一方面的第七种实现方式中的任一项,本申请实施例第一方面的第八种实现方式中,所述第一网络节点获取所述邻居网络节点的数量,包括:所述第一网络节点向邻居网络节点广播N个第二组播报文,其中,所述N个第二组播报文中的每个第二组播报文不同,所述第二组播报文包含指示信息,所述指示信息用于指示收到所述第二组播报文的第二网络节点广播所述第二组播报文一次,N为大于或等于1的整数;接收到第二组播报文的邻居网络节点都会广播第一组播报文一次,然后所述第一网络节点分别接收邻居网络节点发送的所述N个第二组播报文中的每个第二组播报文;将N个第二组播报文中相同的第二组播报文进行统计,确定所述N个第二组播报文中的每个第二组播报文的数量;将每个第二组播报文中数量最多的第二组播报文的个数作为所述邻居网络节点的数量,由第一方面的第八种实现方式可知,第一网络节点通过发第二组播报文的方式获取邻居网络节点的数量,当第一网络节点为动态网络节点时,本方案获取的邻居网络节点的数量更加精确。
基于本申请实施例第一方面以及第一方面的第一种实现方式至第一方面的第八种实现方式中的任一项,本申请实施例第一方面的第九种实现方式中,所述第一网络节点停止发送所述组播报文之后,所述方法还包括:所述第一网络节点服务器或者物联网网关发送的接收控制报文,所述控制报文包含控制指令,所述控制指令用于指示所述第一网络节点重启所述涓流计时器;所述第一网络节点根据所述控制指令重启所述涓流计时器并重新执行所述涓流计数器对应的涓流周期,当停止第一组播报文的涓流计时器之后,第一网络节点接收控制报文重启涓流计时器,使得没有接收到第一组播报文的邻居网络节点,可以接收到第一组播报文。
本申请实施例第二方面提供一种网络设备,所述网络设备可以是第一网络节点,所述网络设备包括:接收单元、处理单元和广播单元,该接收单元用于执行上述第一方面以及任一可能的实现方式中涉及到接收操作的步骤;该处理单元用于执行上述第一方面以及任一可能的实现方式中涉及到处理操作的步骤;该广播单元用于执行上述第一方面以及任一可能的实现方式中涉及到广播操作的步骤。
本申请实施例第三方面提供一种网络设备,所述网络设备可以是第一网络节点,所述网络设备包括:存储器、收发器和至少一个处理器,所述存储器中存储有指令;所述存储器、所述收发器和所述至少一个处理器通过线路连接;
所述至少一个处理器调用所述指令,执行第一方面在所述第一网络节点侧进行的消息处理或控制操作。
本申请第四方面提供一种包含指令的计算机程序产品,当该指令在计算机上运行时,执行上述第一方面或第一方面任一可能的实现方式的方法。
本申请实施例第五方面提供了一种计算机存储介质,其上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行上述第一方面或第一方面任一可能的实现方式的方法。
本申请第六方面提供一种芯片系统,所述芯片系统包括至少一个处理器和通信接口,该芯片系统中还可以包括存储器,所述存储器、所通信接口和所述至少一个处理器通过线路连接,所述至少一个存储器中存储有指令;所述指令被所述处理器执行,以执行第一方面或第一方面任一可能的实现方式的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本实施例中,第一网络节点在第一涓流周期将涓流算法中的冗余常量设置为大于邻居网络节点数量的数值确保第一网络节点在首次接收到第一组播报文之后,向所有的邻居网络节点广播第一组播报文,使得邻居网络节点可以接收第一组播报文,并且能够降低邻居网络节点接收第一组播报文的时延;第一网络节点在第二涓流周期至第e涓流周期将涓流算法中的冗余常量设置为等于邻居网络节点数量的数值,在第二涓流周期至第e涓流周期中的每一个涓流周期中,根据接收到的第一组播报文的数量和冗余常量的比较结果,确定是否广播第一组播报文。由于冗余常量是根据第一网络节点的邻居网络节点的数量灵活设置的,可以提升第一网络节点广播第一组播报文的精确度,从而节省网络资源。
附图说明
图1为本申请实施例提供的一个应用场景示意图;
图2为本申请实施例提供的一种组播报文处理方法的示意性流程图;
图3为本申请实施例提供的另一个应用场景示意图;
图4为本申请实施例提供的另一个应用场景示意图;
图5为本申请实施例提供的另一个应用场景示意图;
图6为本申请实施例提供的另一个应用场景示意图;
图7为本申请实施例提供的另一种组播报文处理方法的示意性流程图;
图8为本申请实施例提供的组播报文的帧格式示意图;
图9为本申请实施例提供的另一个应用场景示意图;
图10为本申请实施例提供的另一个应用场景示意图;
图11为本申请实施例提供的另一种组播报文处理方法的示意性流程图;
图12为本申请实施例提供的另一个应用场景示意图;
图13为本申请实施例提供的另一个应用场景示意图;
图14为本申请实施例提供的一种网络设备的示意性框图;
图15为本申请实施例提供的一种网络设备的硬件结构示意图;
图16为本申请实施例提供的一种芯片系统的硬件结构示意图。
具体实施方式
下面结合附图,对本申请中的技术方案进行描述。
本申请实施例提供了一种组播报文处理的方法以及网络设备,用于根据第一网络节点的邻居网络节点的数量设置冗余常量和优化第一组播报文对应的涓流计时器的涓流周期,节省网络资源。
请参考图1,图1为本申请实施例提供的物联网领域的LLN的应用场景示意图,该应用场景示意图包括网络节点101-104和物联网网关105,其中物联网网关105与每个网络节点建立连接,该连接可以是无线连接,也可以是有线连接,网络节点与网络节点之间也建立无线或有线的连接。
本申请实施例中,网络节点101-104可以是产生组播报文的根节点,也可以是负责转发组播报文的转发节点。在LLN下的组播协议(Multicast Protocol for LLN,MPL)中,产生组播报文的根节点称为seed节点,负责转发组播报文的转发节点称为forwarder节点。在实际应用中,网络节点101-104可以是具备路由功能的节点。例如,可以是路由器,也可以是交换机,此处不做具体限定。
本申请实施例中所涉及到的物联网网关105可以实现感知网络与通信网络之间的协议互换,以及不同类型感知网络之间的协议转换。既可以实现广域互联,也可以实现局域互联。此外物联网网关105还具备设备管理功能,运营商通过物联网网关105可以管理网络节点101-104,了解网络节点101-104的相关信息,并实现远程控制。
需要说明的是,本申请实施例可以应用于智能路灯,也可以应用于智能电网、智慧城市或智能楼宇等各种物联网领域。
在MPL协议中,网络节点采用涓流算法计算网络节点的邻居网络节点所发送的组播报文的个数,涓流算法(RFC6206)的主要工作原理是让网络中的网络节点监听在一段时间周期内收到某个组播报文的总次数,该一段时间周期可以称为涓流周期。然后在该涓流周期内的预设时刻T对总次数进行判断,该预设时刻T设定时可以选择该涓流周期中的任意时刻。如果总次数超过某个阈值则判断网络节点与邻居网络节点接收组播报文的状况是一致的,即网络节点与邻居网络节点都已经收到过这个组播报文,否则则判断网络节点与网路中的邻居网络节点接收组播报文的状况并不一致,即还有邻居网络节点没有收到该组播报文。当网络节点判断为一致时,网络节点不需要再向外广播该组播报文,但如果不一致,则需要和邻居网络节点进行数据的更新动作,以使得网络节点与邻居网络节点接收组播报文的状况达到一致。
涓流算法在MPL组播中的参数如表1-1所示:
表1-1.涓流算法参数
上面介绍了网络节点、物联网网关以及网络节点在MPL协议中执行的涓流算法,下面结合附图对本申请实施例中的组播报文处理的方法进行描述。
请参考图2,图2为本申请实施例提供的一种组播报文处理方法的示意性流程图。如图2所示,组播报文处理方法包括以下步骤。
201、第一网络节点接收第二网络节点发送的第一组播报文。
在LLN中,当第二网络节点获取第一组播报文之后,第二网络节点会向第一网络节点发送第一组播报文。此时,第一网络节点通过接收设备接收第二网络节点发送的第一组播报文。其中,第二网络节点为第一网络节点的邻居网络节点,第一网络节点的邻居网络节点是与第一网络节点相连的网络节点。需要说明的是,第一网络节点的邻居网络节点可以是与第一网络节点采用有线连接的网络节点,也可以是与第一网络节点采用无线连接的网络节点,其中采用无线连接的邻居网络节点可以是第一网络节点无线信号覆盖范围之内的网络节点,此处不做具体限定。
202、第一网络节点获取邻居网络节点的数量。
在建立第一组播报文对应的涓流计时器之前,第一网络节点获取邻居网络节点的数量。具体地,第一网络节点向无线信号覆盖范围之内的所有邻居网络节点广播N个第二组播报文,该N个第二组播报文中的每个第二组播报文不同,第二组播报文包含指示信息,该指示信息用于指示收到第二组播报文的所有邻居网络节点广播第二组播报文一次,N为大于或等于1的整数。
邻居网络节点接收到N个第二组播报文之后,邻居网络节点根据指示信息广播N个第二组播报文中的每个第二组播报文一次。
第一网络节点接收邻居网络节点广播的N个第二组播报文中的每个第二组播报文;并确定N个第二组播报文中数量最多的第二组播报文的数量为邻居网络节点的数量。
下面以第一网络节点向其所有邻居网络节点广播5个第二组播报文为例进行说明。
具体地,第一网络节点将5个第二组播报文分别进行标记,例如将第1个第二组播报文标记为1,第2个第二组播报文标记为2,…,第5个第二组播报文标记为5。然后第一网络节点分别将进行标记的5个第二组播报文按照预设规则向所有邻居网络节点广播,该预设规则可以是按照一定的时间间隔广播这5个第二组播报文,例如,第一网络节点每间隔2ms广播一个第二组播报文。需要说明的是,本实施例中还可以按照其他的规则分别广播携带标记的5个第二组播报文,本实施例中对于预设规则不做限定。
邻居网络节点接收到第二组播报文之后,由于每个第二组播报文都包含指示信息,邻居网络节点根据该指示信息将第二组播报文广播一次,也就是说邻居网络节点只要接收到包含指示信息的任意一个第二组播报文中,邻居网络节点都广播该第二组播报文而且仅广播一次。
邻居网络节点广播第二组播报文之后,第一网络节点接收邻居网络节点广播的第二组播报文,第一网络节点分别统计这5个第二组播报文的数量。例如,将标记为1的第二组播报文统计到计数器counter(1)中,将标记为2的第二组播报文统计到计数器counter(2)中,…,将标记为5的第二组播报文统计到计数器counter(5)中。然后将counter(1),counter(2),…,counter(5)中数值最大的计数器的数值作为邻居网络节点的数量,例如,当counter(1)=3,counter(2)=1,counter(3)=4,counter(4)=2,counter(5)=3,可以看出,标记为3的第二组播报文的数量最多,则第一网络节点确定其邻居网络节点的数量为4。
需要说明的是,上述列举的通过counter(1)至counter(5)统计第二组播报文的数量是示例性的,在实际应用中,以counter具体的数值确定邻居网络节点的数量。
需要说明的是,在实际应用中,第一网络节点除了上述通过发送第二组播报文的方式获取邻居网络节点的数量之外,还可以将第一网络节点的邻居网络节点数量预设于第一网络节点中,此处不做限定。
203、第一网络节点启动第一组播报文对应的涓流计时器,并执行涓流计时器的e个涓流周期中的第一涓流周期。
第一网络节点接收到第二网络节点发送的第一组播报文之后,第一网络节点为第一组播报文建立一个独立的涓流计时器,并启动该涓流计时器,执行该涓流计时器的涓流算法,进入该涓流算法中的e个涓流周期中的第一涓流周期,其中,e为大于或等于2的整数。
需要说明的是,第一网络节点在建立该涓流计时器的过程中,第一网络节点将该涓流计时器执行的第一涓流周期的第一冗余常量设置为K1,其中,K1为大于第一网络节点的邻居网络节点数量的整数,将第二涓流周期的第二冗余常量设置为K2,其中,K2为等于第一网络节点的邻居网络节点数量的整数。
需要说明的是,在实际应用中,第一网络节点还可以将涓流计时器的e个涓流周期中的任意一个涓流周期的冗余常量设置K1,而将剩下的涓流周期的冗余常量设置为K2,即在实际应用中,第一网络节点还可以将第一涓流周期至第e涓流周期中任意一个涓流周期的冗余常量设置为K1,而把设置为K1的涓流周期之外的涓流周期的冗余常量设置为K2。
本实施例仅以第一网络节点将该涓流计时器执行的第一涓流周期的第一冗余常量设置为K1,将第二涓流周期的第二冗余常量设置为K2进行举例说明。
204、第一网络节点确定在发送时刻T1之前,第一涓流周期内接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1,若是,则第一网络节点广播该组播报文。
第一网络节点启动涓流计时器后,在执行第一涓流周期的过程中,第一网络节点还可能接收到其他邻居网络节点发送的第一组播报文。第一网络节点在第一涓流周期的发送时刻T1到达时,统计在T1之前,第一涓流周期内接收的第一组播报文的数量Z1。然后将Z1与第一冗余常量K1进行比较。若Z1小于或等于K1,则第一网络节点向所有的邻居网络节点广播第一组播报文,并在第一涓流周期结束之后继续执行第二涓流周期,其中,T1为第一涓流周期中的预设时刻,该预设时刻可以是第一涓流周期的任意时刻。
具体地,请参考图3以及图4,图3中网络节点TX为第一网络节点;RX1、RX2、RX3以及RX4为第一网络的邻居网络节点,即K1大于4,TX在T1之前接收到RX1以及RX4分别发送的第一组播报文。图4为TX建立的涓流计时器对应的第一涓流周期,其中T1为第一涓流周期的发送时刻。在到达T1时,TX统计自身接收到的第一组播报文的数量Z1,根据图4可知,TX在T1之前接收到RX1以及RX4分别发送的第一组播报文,即Z1=2。第一网络节点将Z1与K1进行比较,可以看出,Z1小于K1,因此,TX确定有至少一个邻居网络节点没有接收到第一组播报文,则TX在T1时刻向所有的邻居网络节点广播第一组播报文。
需要说明的是,本实施例以及后续实施例中第一网络节点在每个涓流周期所统计的组播报文的数量均为第一组播报文的数量。
205、第一网络节点确定在发送时刻T2之前,第二涓流周期内接收的第一组播报文的数量Z2是否大于或等于第二冗余常量K2,若是,则执行步骤206。
在第一网络节点执行第二涓流周期的过程中,第一网络节点接收邻居网络节点发送的第一组播报文。在到达第二涓流周期的发送时刻T2时,第一网络节点统计第二涓流周期内,接收到第一组播报文的数量Z2。然后将Z2与第二冗余常量K2进行比较,若Z2大于或等于K2,则第一网络节点确定所有的邻居网络节点都接收到第一组播报文,在第二涓流周期中,第一网络节点停止广播第一组播报文。若Z2小于K2,第一网络节点向所有的邻居网络节点广播第一组播报文,并在第二涓流周期结束之后,继续执行第三涓流周期。
具体地,请参考图5以及图6,图5中网络节点TX为第一网络节点;RX1、RX2、RX3以及RX4为第一网络的邻居网络节点,即K2=4,TX在第二涓流周期的发送时刻T2之前接收RX1、RX2、RX3以及RX4分别发送的第一组播报文。图6为TX建立的涓流计时器的e个涓流周期,TX在T1之前接收RX1以及RX4分别发送的第一组播报文,TX在T2之前接收RX1、RX2、RX3以及RX4分别发送的第一组播报文,T2为第二涓流周期的发送时刻,T2为第二涓流周期中的预设时刻,Te为第e涓流周期的发送时刻,Te为第e涓流周期中的预设时刻。
在到达T2时,TX统计第二涓流周期内接收到的第一组播报文的数量Z2,根据图6可知,TX在第二涓流周期内且在T2之前,接收到RX1、RX2、RX3以及RX4分别发送的第一组播报文,即Z2=4。第一网络节点将Z2与K2进行比较,可以看出,Z2等于K2,因此,第一网络节点确定所有的邻居网络节点都接收到第一组播报文,则第一网络节点在T2时刻停止广播第一组播报文。另外,如果该涓流算法中的e为大于2时,第一网络节点在第二涓流周期结束之后,继续执行下一周期。
需要说明的是,图5以及图6所描述的内容是示例性的,在实际应用中,具体以TX接收的组播报文的数量决定是否广播或停止广播第一组播报文。
206、第一网络节点执行第三涓流周期至第e涓流周期对应的涓流算法。
在第一网络节点建立第一组播报文对应的涓流计时器时,若该涓流计时器的涓流算法中的e大于或等于3,则第一网络节点在第二涓流周期结束之后,第一网络节点继续执行第三涓流周期至第e涓流周期,并将第三涓流周期至第e涓流周期中分别对应的冗余常量K设置为第一网络节点的邻居网络节点的数量。在执行第三涓流周期至第e涓流周期的过程中,第一网络节点将第三涓流周期至第e涓流周期中每个涓流周期所接收的第一组播报文的数量与冗余常量K进行比较,若接收的第一组播报文的数量大于或等于冗余常量K,则在对应的涓流周期停止广播第一组播报文,若接收的第一组播报文的数量小于冗余常量K,则在对应的涓流周期的发送时刻T,向每个邻居网络节点广播组播报文,直到执行完该涓流算法中的每个涓流周期。
本实施例中,第一网络节点在第一涓流周期将涓流算法中的冗余常量设置为大于邻居网络节点数量的数值确保第一网络节点在首次接收到第一组播报文之后,向所有的邻居网络节点广播第一组播报文,使得邻居网络节点可以接收第一组播报文,并且能够降低邻居网络节点接收第一组播报文的时延;第一网络节点在第二涓流周期至第e涓流周期将涓流算法中的冗余常量设置为等于邻居网络节点数量的数值,在第二涓流周期至第e涓流周期中的每一个涓流周期中,根据接收到的第一组播报文的数量和冗余常量的比较结果,确定是否广播第一组播报文。由于冗余常量是根据第一网络节点的邻居网络节点的数量灵活设置的,可以提升第一网络节点广播第一组播报文的精确度,从而节省网络资源。
请参考图7,图7为本申请实施例提供的另一种组播报文处理方法的示意性流程图。如图7所示,组播报文处理方法包括以下步骤。
701、第一网络节点接收第二网络节点发送的第一组播报文。
在LLN中,当第二网络节点获取到第一组播报文之后,第二网络节点向第一网络节点发送第一组播报文。此时,第一网络节点通过接收设备接收第二网络节点发送的第一组播报文,其中,第一组播报文包含用于表征所述第二网络节点第i次发送所述第一组播报文的次数信息,i为大于0的整数。
具体地,对于第一组播报文包含的次数信息,请参考图8,图8为MPL中第一组播报文的帧格式,其中,S、M、V是用于标记不同的特征字段,保留(reserved,rsv)字段在LLN中为一个保留字段,即rsv字段在标准组织中暂时不使用;组播报文的序列号(sequence)字段用于表征第一组播报文顺序;组播源的标识(Seed-id)字段用于表征发送第一组播报文的组播源设备,Seed-id字段是可选字段,在实际应用中可以存在,也可以不存在,组播报文的报文类型(Option Type)字段和组播报文的长度(Opt Data len)字段为IPv6组播报文帧的字段,用于表示第一组播报文属于IPv6Hop by Hop的扩展报文,其中,Option Type字段用于表示第一组播报文的报文类型,Opt Data len字段用于表示第一组播报文的长度。
本实施例中,第二网络节点使用rsv字段标识第一组播报文的次数信息。在具体实现过程中,可以对rsv字段赋予不同的数值,以表征第二网络节点是第几次发送第一组播报文。例如,rsv字段赋值为1时,表征第二网络节点是第1次发送第一组播报文,rsv字段赋值为2时,表征第二网络节点是第2次发送第一组播报文,以此类推。
需要说明的是,本实施例中,还可以用新增字段或其他字段标识第一组播报文的次数信息。
702、第一网络节点启动第一组播报文对应的涓流计时器,并执行涓流计时器的e个涓流周期中的第一涓流周期。
第一网络节点接收到第二网络节点发送的第一组播报文之后,第一网络节点为第一组播报文建立一个独立的涓流计时器,并启动该涓流计时器,执行该涓流计时器的涓流算法,进入该涓流算法中的e个涓流周期中的第一涓流周期,其中,e为大于或等于2的整数。
703、第一网络节点根据T1之前接收的第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量。
第一网络节点在执行第一涓流周期的过程中,第一网络节点根据次数信息确定第一组播报文为第二网络节点第i次向第一网络节点发送之后,在第i次对应的涓流计数器中叠加第一组播报文的数量。然后第一网络节点根据涓流计数器的数值确定第i次发送的第一组播报文的数量。
具体地,第一网络节点通过提取第一组播报文的rsv字段的数值进行统计;例如,若第一网络节点收到的第一组播报文的rsv字段标记为1,则说明这是第二网络节点第1次向第一网络节点发送第一组播报文,第一网络节点在计数器(counter(1))中增加1,记录到结果(sum(1))中。若第一网络节点收到的第一组播报文的rsv字段标记为2,则说明这是第二网络节点第2次向第一网络节点发送第一组播报文,并在第一网络节点的counter(2)中增加1,记录到sum(2)中。以此类推,若第一网络节点收到的第一组播报文的rsv字段标记为i,则说明这是第二网络节点第i次向第一网络节点发送第一组播报文,则第一网络节点在counter(i)中增加1,记录到sum(i)中,即sum(i)的值为第i次发送的第一组播报文的数量。
在第一涓流周期中,第一网路节点将第一组播报文统计到计数器counter(i)中之后,第一网络节点将统计结果sum(1)、sum(2),…,sum(i)分别对应的数值与冗余常量K进行比较,若sum(1)、sum(2),…,sum(i)分别对应的数值中有至少一个大于冗余常量K,则表示每个邻居网络节点都接收到第一组播报文。在T1时刻,第一网络节点停止广播第一组播报文,并停止执行该涓流计时器,不再执行该涓流算法中的第二涓流周期至第e涓流周期。若sum(1)、sum(2),…,sum(i)分别对应的数值都不大于冗余常量K,则表示有至少一个邻居网络节点没有接收到第一组播报文,第一网络节点在T1时刻向所有的邻居网络节点广播第一组播报文,并执行该涓流算法的第二涓流周期。
具体地,请参考图9,图9为第一涓流周期对应的场景示意图,图9中,TX分别接收RX1、RX2以及RX3发送的第一组播报文。第一网络节点通过提取RX1发送的第一组播报文的rsv字段来识别该第一组播报文,若第一组播报文为RX1第一次向TX节点发送,则第一网络节点在counter(1)中增加1,记录到sum(1)中,此时,sum(1)=1。第一网络节点通过提取RX2发送的第一组播报文的rsv字段来识别该第一组播报文,若第一组播报文为RX2第一次向TX节点发送,则在第一网络节点在counter(1)中增加1,记录到sum(1)中,sum(1)=2。第一网络节点通过提取RX3发送的第一组播报文的rsv字段来识别该第一组播报文,若第一组播报文为RX3第一次向TX节点发送,则在第一网络节点在counter(1)中增加1,记录到sum(1)中,sum(1)=3。第一网络节点在T1时刻将sum(1)的值与冗余常量K进行比较。若sum(1)小于冗余常量K,则第一网络节点广播第一组播报文行并继续执行第二涓流周期,若sum(1)的值等于冗余常量K,则第一网络节点停止广播第一网络节点并停止该涓流计时器,不再执行后续的涓流周期。
需要说明的是,本实施例中的冗余常量k可以根据邻居网络节的数量设置,具体请参考图2对应的实施例,也可以根据网络拓扑和跳数等多种因素设置,其中,根据网络拓扑和跳数等多种因素设置冗余常量k的方法与标准的处理流程类似,此处不再赘述。
704、第一网络节点根据T2之前接收的第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量。
当第一网络节点确定第一涓流周期有至少一个邻居网络节点没有接收到第一组播报文之后,第一网络节点继续执行第二涓流周期,并接收邻居网络节点的第一组播报文。在到达T2时,第一网络节点将发送时刻T2之前所接收的第一组播报文进行统计。具体地,第一网络节点根据第一组播报文包含的次数信息确定第一组播报文为第二网络节点第i次发送的,则在第i次对应的涓流计数器中叠加第一组播报文的数量,第一网络节点根据涓流计数器的数值确定第i次发送的第一组播报文的数量。
具体地,请参考图10,图10为第二涓流周期对应的场景示意图,图10中TX分别接收RX1、RX2以及RX4发送的第一组播报文。第一网络节点通过提取RX1发送的第一组播报文的rsv字段来识别该第一组播报文,若第一组播报文为RX1第2次向TX节点发送,则在第一网络节点在counter(2)中增加1,记录到sum(2)中,此时,sum(2)=1。第一网络节点通过提取RX2发送的第一组播报文的rsv字段来识别该第一组播报文,若第一组播报文为RX2第2次向TX节点发送,则第一网络节点在counter(2)中增加1,记录到sum(2)中,此时,sum(2)=2。第一网络节点通过提取RX4发送的第一组播报文的rsv字段来识别该第一组播报文,若第一组播报文为RX4第1次向TX节点发送,则第一网络节点在counter(1)中增加1,记录到sum(1)中,sum(1)=4(在步骤703中已经记录到sum(1)=3)。在到达T2时刻时,TX将sum(1)以及sum(2)分别对应的值与冗余常量K进行比较。若sum(1)以及sum(2)分别对应的值都小于冗余常量K,则第一网络节点在T2时刻,广播第一组播报文,并在第二涓流周期结束之后,执行第三涓流周期。若sum(1)以及sum(2)分别对应的值有至少一个等于冗余常量K,则第一网络节点停止向广播第一组播报文,并停止该涓流计时器,不再执行该涓流算法中后续的涓流周期。
需要说明的是,本实施例中,sum(i)的值是在第一涓流周期的基础上,将第二涓流周期中包含第i次的第一组播报文的数量叠加到sum(i)中,也就说sum(i)的值包括第一涓流周期所统计的第一组播报文的数量。
705、第一网络节点广播第一组播报文。
当第一网络节点确定至少有一个邻居网络节点没有接收到第一组播报文时,第一网络节点向所有邻居网络节点广播第一组播报文,广播的第一组播报文包含用于表征所述第一网络节点第j次发送所述第一组播报文的次数信息,所述j为大于0的整数。
本实施例中,第一网络节点向所有邻居网络节点广播的第一组播报文所述包含次数信息,其具体实现过程在上文步骤701中已经有详细的描述,此处不再赘述。
本实施例中,第一网络节点通过第一组播报文包含的次数信息确定第一组播报文为第二网络节点第i次发送的,并将第i次发送的第一组播报文记录到到sum(i)中,然后将sum(i)的值与冗余常量K进行比较,根据比较结果确定是否广播第一组播报文。由于第一组播报文中包含次数信息,所以sum(i)所记录的第一组播报文的数量都是不同的第二网络节点发送的。因此,第一网络节点可以根据sum(i)的值精确地确定所有的邻居网络节点是否都接收到第一组播报文,从而提升了第一网络节点广播第一组播报文的精确度,节省了网络资源。
请参考图11,图11为本申请实施例提供的另一种组播报文处理方法的示意性流程图。如图11所示,组播报文处理方法包括以下步骤。
1101、第一网络节点接收第二网络节点发送的第一组播报文。
本实施例中,步骤1101与前述图7中的步骤701类似,此处不再赘述。
1102、第一网络节点启动第一组播报文对应的涓流计时器,并执行涓流计时器的e个涓流周期中的第一涓流周期。
1103、第一网络节点获取邻居网络节点的数量。
本实施例中,步骤1102至步骤1103与前述图2中的步骤202至步骤203类似,此处不再赘述。
1104、第一网络节点根据在T1之前接收的第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量。
第一网络节点在执行第一涓流周期的过程中,第一网络节点根据次数信息确定第一组播报文为第二网络节点第i次向第一网络节点发送的,则在第i次对应的涓流计数器中叠加第一组播报文的数量。第一网络节点根据涓流计数器确定的数值确定第i次发送的第一组播报文的数量。
具体地,第一网络节点通过提取第一组播报文的rsv字段的数值进行统计;例如,如果第一网络节点收到的第一组播报文的rsv字段标记为1,则说明这是第二网络节点第1次向第一网络节点发送第一组播报文,第一网络节点在counter(1)中增加1,记录到sum(1)中。如果第一网络节点收到的第一组播报文的rsv字段标记为2,则说明这是第二网络节点第2次向第一网络节点发送第一组播报文,并在第一网络节点的counter(2)中增加1,记录到sum(2)中。以此类推,若第一网络节点收到的第一组播报文的rsv字段标记为i,则说明这是第二网络节点第i次向第一网络节点发送第一组播报文,则第一网络节点在counter(i)中增加1,记录到sum(i)中,即sum(i)的数值为第i次发送的第一组播报文的数量。
下面结合附图,对第一网络节点根据在T1之前接收的第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量进行详细描述:
请参考12,图12为第一涓流周期对应的场景示意图,图12中网络节点TX为第一网络节点,RX1、RX2、RX3以及RX4为第一网络的邻居网络节点,即K1大于4,TX在T1之前接收到RX3以及RX4分别发送的第一组播报文。第一网络节点通过提取RX3发送的第一组播报文的rsv字段来识别第一组播报文,若第一组播报文为RX3第1次向TX节点发送,则在第一网络节点在counter(1)中增加1,记录到sum(1)中,此时,sum(1)=1。第一网络节点通过提取RX4发送的第一组播报文的rsv字段来识别该第一组播报文,若第一组播报文为RX4第1次向TX节点发送,则在第一网络节点在counter(1)中增加1,记录到sum(1)中,此时,sum(1)=2。
1105、第一网络节点确定第i次发送的所述第一组播报文的数量是否小于或等于K1,若是,则执行步骤1106,若否则执行步骤1111。
在第一涓流周期中,当第一网路节点将在T1之前接收的第一组播报文对统计到计数器counter(i)中之后,第一网络节点将统计结果sum(1)、sum(2),…,sum(i)分别对应的数值与K1进行比较,若sum(1)、sum(2),…,sum(i)分别对应的数值中有至少一个大于K1,则表示每个邻居网络节点都接收到第一组播报文,在T1时刻,第一网络节点停止广播第一组播报文,并停止执行该涓流计时器,不再执行该涓流算法中的第二涓流周期至第e涓流周期。若sum(1)、sum(2),…,sum(i)分别对应的数值都小于或等于K1,则表示有至少一个邻居网络节点没有接收到第一组播报文,第一网络节点在T1时刻向所有的邻居网络节点广播第一组播报文,并执行该涓流算法的第二涓流周期。
具体地,TX将sum(1)的值与K1进行比较,由步骤1104可知,sum(1)=2,可以看出,sum(1)的值小于K1。则在到达T1时,TX向RX1、RX2RX3以及RX4广播第一组播报文,并在第一涓流周期结束之后,进入第二涓流周期。
1106、第一网络节点广播第一组播报文。
当第一网络节点确定至少有一个邻居网络节点没有接收到第一组播报文时,第一网络节点向所有网络邻居网络节点广播第一组播报文,广播的第一组播报文包含次数信息,次数信息用于表征第一网络节点第1次发送第一组播报文。
本实施例中,第一网络节点向所有邻居网络节点广播的第一组播报文所述包含次数信息,其具体实现过程在上文步骤701中已经有详细的描述,此处不再赘述。
1107、第一网络节点根据在T2之前接收的第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量。
当第一网络节点确定第一涓流周期有至少一个邻居网络节点没有接收到第一组播报文之后,第一网络节点继续执行第二涓流周期,并接收邻居网络节点的第一组播报文。在到达T2时,第一网络节点将在T2之前所述接收的第一组播报文进行统计。具体地,第一网络节点根据第一组播报文包含的次数信息确定第一组播报文为第二网络节点第i次发送的,则在第i次对应的涓流计数器中叠加第一组播报文的数量。第一网络节点根据涓流计数器的数值确定第i次发送的第一组播报文的数量。
具体请参考图13,图13为第二涓流周期对应的场景示意图,图13中网络节点TX为第一网络节点,RX1、RX2、RX3以及RX4为第一网络的邻居网络节点,即K2等于4。TX在T2之前接收RX1、RX2以及RX3分别发送的第一组播报文。第一网络节点通过提取RX1发送的第一组播报文的rsv字段来识别该第一组播报文,若第一组播报文为RX1第1次向TX节点发送,则第一网络节点在counter(1)中增加1,记录到sum(1)中,此时,sum(1)=3(在步骤1104中已经记录到sum(1)=2)。第一网络节点通过提取RX2发送的第一组播报文的rsv字段来识别第一组播报文,若第一组播报文为RX4第1次向TX节点发送,则第一网络节点在counter(1)中增加1,记录到sum(1)中,此时,sum(1)=4。第一网络节点通过提取RX3发送的第一组播报文的rsv字段来识别第一组播报文,若第一组播报文为RX4第2次向TX节点发送,则第一网络节点在counter(2)中增加1,记录到sum(2)中,此时,sum(2)=1。
需要说明的是,本实施例中,sum(i)的数量是在第一涓流周期的基础上,将第二涓流周期中包含第i次的第一组播报文的数量叠加到sum(i)的中,也就说sum(i)的值包括第一涓流周期所统计的第一组播报文。
1108、第一网络节点确定第i次发送的所述第一组播报文的数量是否等于K2,若否,则执行步骤1109,若是,则执行步骤1111。
当第一网络节点将第一组播报文统计到涓流计数器之后,第一网络节点将涓流计数器的sum(i)的值与K2进行比较进行比较。具体地,第一网络节点将sum(1)、sum(2),…,sum(i)分别对应的数值与K2进行比较,若sum(1)、sum(2),…,sum(i)分别对应的数值中有至少一个等于K2,则表示每个邻居网络节点都接收到第一组播报文,在T2时刻,第一网络节点停止广播第一组播报文,并停止执行该涓流计时器,不再执行该涓流算法中的第二涓流周期至第e涓流周期。若sum(1)、sum(2),…,sum(i)分别对应的数值都小于K2,则表示有至少一个邻居网络节点没有接收到第一组播报文,第一网络节点在T2时刻向所有的邻居网络节点广播第一组播报文,并执行该涓流算法的下一个涓流周期。
具体地,在到达T2时刻时,TX将sum(1)以及sum(2)分别对应的值与K2进行比较,可以看出,sum(2)小于K2,sum(1)等于K2,因此,TX确定RX1、RX2、RX3以及RX4都接收到第一组播报文,则TX停止广播该组播报文,并停止第一组播报文对应的涓流计时器,不再执行该涓流计时器中后续的涓流周期。
1109、第一网络节点广播第一组播报文。
当第一网络节点确定至少有一个邻居网络节点没有接收到第一组播报文时,第一网络节点向所有邻居网络节点广播第一组播报文,广播的第一组播报文包含次数信息,次数信息用于表征第一网络节点第2次发送第一组播报文。
本实施例中,第一网络节点向所有邻居网络节点广播的第一组播报文所述包含次数信息,其具体实现过程在上文步骤701中已经有详细的描述,此处不再赘述。
1110、第一网络节点执行第三涓流周期至第e涓流周期对应的涓流算法。
当e大于或等于3时,且在第二涓流周期中,第一网络节点确定sum(1)、sum(2),…,sum(i)分别对应的数值都小于K2时,第一网络节点执行第三涓流周期至第e涓流周期,并将第三涓流周期至第e涓流周期中分别对应的冗余常量K设置为第一网络节点的邻居网络节点的数量。在执行第三涓流周期至第e涓流周期的过程中,第一网络节点根据次数信息将在发送时刻T之前所接收到的第一组播报文增加到sum(i)中,然后将sum(i)的值与冗余常量K进行比较,若sum(i)的值等于冗余常量K,则在对应的涓流周期停止广播第一组播报文,若sum(i)的值小于冗余常量K,则在对应的涓流周期的发送时刻T,向每个邻居网络节点广播组播报文。
需要说明的是,第一网络节点在执行第三涓流周期至第e涓流周期的过程中,只要其中任意一个涓流周期停止广播第一组播报文之后,第一网络节点就停止第一组播报文对应的涓流计时器,不再执行后续的涓流周期。
另外,第一网络节点在执行第三涓流周期至第e涓流周期的过程中,只要其中任意一个涓流周期广播第一组播报文,第一网络节点都在广播的第二组播报文增加次数信息,该次数信息用于表征第一网络节点第j次发送第一组播报文。
本实施例中,第一网络节点广播的第一组播报文所述包含次数信息,其具体实现过程在上文步骤701中已经有详细的描述,此处不再赘述。
1111、第一网络节点停止广播第一组播报文,并停止涓流计时器。
当第一网络节点确定所有的邻居网络节点都接收到第一组播报文时,第一网络节点停止广播第一组播报文,并停止第一组播报文对应的涓流计时器,不再执行该涓流算法后续的涓流周期。
1112、第一网络节点接收控制报文。
当第一网络节点停止第一组播报文对应的涓流计时器之后,第一网络节点接收控制报文,该控制报文包含控制指令,该控制指令用于指示第一网络节点重启涓流计时器。
需要说明的是,该控制报文可以是物联网网关向第一网络节点发送的,也可以是服务器向第一网络节点发送的,此处不做限定。
1113、第一网络节点重启涓流计时器。
第一网络节点接收到控制报文之后,第一网络节点根据控制报文中的控制指令重启第一组播报文对应的涓流计时器并重新执行涓流计数器对应的涓流算法。
需要说明的是,第一网络节点重启第一组播报文对应的涓流计时器之后,第一网络节点将第一涓流周期的冗余常量设置为大于邻居网络节点数量的整数;将第二涓流周期至第e涓流周期分别对应的冗余常量设置为等于邻居网络节点的整数。
本实施例中,第一网络节点通过第一组播报文包含的次数信息确定第一组播报文为第二网络节点第i次发送的,并将第i次发送的第一组播报文记录到到sum(i)中,保证了sum(i)所记录的第一组播报文的数量都是不同的第二网络节点发送的。第一网络节点在第一涓流周期将涓流算法中的冗余常量设置为大于邻居网络节点数量的数值确保第一网络节点在首次接收到第一组播报文之后,向所有的邻居网络节点广播第一组播报文,使得邻居网络节点可以接收第一组播报文,并且能够降低邻居网络节点接收第一组播报文的时延;第一网络节点在第二涓流周期至第e涓流周期将涓流算法中的冗余常量设置为等于邻居网络节点数量的数值,在第二涓流周期至第e涓流周期中的每一个涓流周期中,根据sum(i)的值和冗余常量的比较结果,确定是否广播第一组播报文。因此,第一网络节点可以根据sum(i)的值和灵活设置的冗余常量精确地确定所有的邻居网络节点是否都接收到第一组播报文,可以提升第一网络节点广播第一组播报文的精确度,从而节省网络资源。
以上对本申请实施例的组播报文处理方法进行了描述,下面结合附图对本申请实施例的网络设备进行描述。本申请实施例中的网络设备可以是第一网络节点,也可以是芯片系统,在不同角色下其功能不同,需要说明的是,该网络设备在本申请实施例以及后续实施例中仅以第一网络节点作为例子进行说明。
请参考图14,图14为本申请实施例提供的一种网络设备示意性框图,所述网路设备可以是第一网络节点,所述网络设备140包括:
接收单元1401,用于接收第二网络节点发送的第一组播报文,所述第二网络节点为所述第一网络节点的任一邻居网络节点,所述邻居网络节点是与所述第一网络节点相连的网络节点。
处理单元1402用于:
启动所述第一组播报文对应的涓流计时器,并执行所述涓流计时器的e个涓流周期中的第一涓流周期,所述e为大于或等于2的整数。
确定在发送时刻T1之前,第一涓流周期内接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1,所述K1为大于所述邻居网络节点数量的整数,所述T1为所述第一涓流周期中的预设时刻。
广播单元1403用于:当所述Z1小于或等于所述K1时,广播所述第一组播报文。
所述处理单元1402还用于:确定在发送时刻T2之前,第二涓流周期内接收的所述第一组播报文的数量Z2是否大于或等于第二冗余常量K2,所述K2为等于所述邻居网络节点数量的整数,所述T2为所述第二涓流周期中的预设时刻;当所述Z2大于或等于所述K2,停止广播所述第一组播报文。
所述广播单元1403还用于:当所述Z2小于所述K2时,广播所述第一组播报文。
本实施例中,所述处理单元1402还用于:当所述e大于或等于3时,执行第三涓流周期至第e涓流周期对应的涓流算法,其中,所述第三涓流周期至第e涓流周期中每个涓流周期分别对应的冗余常量等于所述邻居网络节点数量的整数。
本实施例中,所述第一组播报文用于表征所述第二网络节点第i次发送所述第一组播报文的次数信息,所述i为大于0的整数;所述处理单元1402具体用于:根据在所述T1之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量。
当所述第i次发送的所述第一组播报文的数量小于或等于K1时,确定Z1小于或等于所述K1。
本实施例中,所述处理单元1402具体用于:
根据在所述T2之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量;
当所述第i次发送的所述第一组播报文的数量等于所述K2时,确定所述第一组播报文的数量Z2等于所述K2;
当所述第i次发送的所述第一组播报文的数量小于所述K2时,确定所述第一组播报文的数量Z2小于所述K2;
所述处理单元1402还用于:当所述Z2等于所述K2时,停止所述第一组播报文对应的所述涓流计时器。
本实施例中,所述广播单元1403还用于:广播所述第一组播报文,所述第一组播报文中包含用于表征所述第一网络节点第j次发送所述第一组播报文的次数信息,所述j为大于0的整数。
本实施例中,所述处理单元1402具体用于:
确定在所述T1之前接收的所述第一组播报文是否为第i次发送的,并将第i次发送的所述第一组播报文的数量叠加到所述第i次对应的涓流计数器counter(i)中;
确定所述counter(i)的数量为所述第i次发送的所述第一组播报文的数量。
本实施例中,所述处理单元1402具体用于:
确定在所述T2之前接收的所述第一组播报文是否为第i次发送的,并将第i次发送的所述第一组播报文的数量叠加到所述第i次对应的涓流计数器counter(i)中;
确定所述counter(i)的数量为所述第i次发送的所述第一组播报文的数量。
本实施例中,所述处理单元1402还用于:获取所述邻居网络节点的数量并根据所述邻居网络节点设置所述K1或所述K2。
本实施例中,所述广播单元1403还用于:
广播N个第二组播报文,所述N个第二组播报文中的每个第二组播报文不同,所述第二组播报文包含指示信息,所述指示信息用于指示收到所述第二组播报文的第二网络节点广播所述第二组播报文一次,N为大于或等于1的整数;
所述接收单元1401还用于:接收所述N个第二组播报文中的每个第二组播报文;
所述处理单元1402还用于:
确定所述N个第二组播报文中的每个第二组播报的数量;
确定每个第二组播报文中数量最多的第二组播报文的个数为所述邻居网络节点的数量。
本实施例中,处理单元1402通过第一组播报文包含的次数信息确定第一组播报文为第二网络节点第i次发送的,并将第i次发送的第一组播报文记录到到sum(i)中,保证了sum(i)所记录的第一组播报文的数量都是不同的第二网络节点发送的。处理单元1402在第一涓流周期将涓流算法中的冗余常量设置为大于邻居网络节点数量的数值确保第一网络节点在首次接收到第一组播报文之后,广播单元1403向所有的邻居网络节点广播第一组播报文,使得邻居网络节点可以接收第一组播报文;处理单元1402在第二涓流周期至第e涓流周期将涓流算法中的冗余常量设置为等于邻居网络节点数量的数值,在第二涓流周期至第e涓流周期中的每一个涓流周期中,根据sum(i)的值和冗余常量的比较结果,确定是否广播第一组播报文。因此,第一网络节点可以根据sum(i)的值和灵活设置的冗余常量精确的确定所有的邻居网络节点是否都接收到第一组播报文,可以提升第一网络节点广播第一组播报文的精确度,从而节省网络资源。
请参考图15,图15为本申请实施例提供的一种网络设备的硬件结构示意图,该网络设备150可以是第一网络节点,所述网络设备150包括至少一个处理器1510、存储器1550和收发器1530。该收发器可包括接收机和发射机,该存储器1550可以包括只读存储器和/或随机存取存储器,并向处理器1510提供操作指令和数据。存储器1550的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器1550存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本申请实施例中,通过调用存储器1550存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。处理器1510控制网络设备150的操作,处理器1510还可以称为CPU(Central Processing Unit,中央处理单元)。存储器1550可以包括只读存储器和随机存取存储器,并向处理器1510提供指令和数据。存储器1550的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中网络设备150的各个组件通过总线系统1520耦合在一起,其中总线系统1520除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1520。
上述本申请实施例揭示的方法可以应用于处理器1510中,或者由处理器1510实现。处理器1510可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1510中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1510可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1550,该存储器1550可以是物理上独立的单元,也可以是与处理器1510集成在一起的,处理器1510读取存储器1550中的信息,结合其硬件完成上述方法的步骤。
可选地,本实施例中的收发器1530可以用于执行图2对应的实施例的步骤201以及步骤202所描述的内容所描述的收发内容,也可以执行图7对应的实施例的步骤701和步骤705所述描述的收发内容,还可以执行图11对应的实施例的步骤1101、步骤1103、步骤1106、1109以及步骤1112所述描述的收发内容,或其他可选实施例中的第一网络节点的消息发送以及接收的步骤。
处理器1510可以用于执行图2对应的实施例的步骤203、步骤204以及步骤205分别所描述的内容,也可以用于执行图7对应的实施例的步骤702、步骤703以及步骤704分别所述描述的内容,还可以用于执行图11对应的实施例的步骤1102、步骤1104、步骤1105、步骤1107、步骤1108、步骤1110、步骤1111、以及步骤1112分别所述描述的内容。或其他可选实施例中的第一网络节点的数据处理的步骤。
请参考图16,图16为本申请实施例提供的一种芯片系统的硬件结构示意图。芯片系统160包括至少一个处理器1610、存储器1650和通信接口1630,存储器1650可以包括只读存储器和随机存取存储器,并向处理器1610提供操作指令和数据。存储器1650的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器1650存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
在本申请实施例中,通过调用存储器1650存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
一种可能的实现方式为:芯片系统和网络设备所用的芯片系统的结构类似,但不同的装置使用不同的芯片系统以实现各自的功能。
处理器1610控制芯片系统的操作,处理器1610还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器1650可以包括只读存储器和随机存取存储器,并向处理器1610提供指令和数据。存储器1650的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中芯片系统160的各个组件通过总线系统1620耦合在一起,其中总线系统1620除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1620。
上述本申请实施例揭示的方法可以应用于处理器1610中,或者由处理器1610实现。处理器1610可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1610中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1610可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1650,该存储器1650可以是物理上独立的单元,也可以是与处理器1610集成在一起的,处理器1610读取存储器1650中的信息,结合其硬件完成上述方法的步骤。
可选地,本实施例中的收发器1630可以用于执行图2对应的实施例的步骤201以及步骤202所描述的内容所描述的收发内容,也可以执行图7对应的实施例的步骤701和步骤705所述描述的收发内容,还可以执行图11对应的实施例的步骤1101、步骤1103、步骤1106、1109以及步骤1112所述描述的收发内容,或其他可选实施例中的第一网络节点的消息发送以及接收的步骤。
处理器1610可以用于执行图2对应的实施例的步骤203、步骤204以及步骤205分别所描述的内容,也可以用于执行图7对应的实施例的步骤702、步骤703以及步骤704分别所述描述的内容,还可以用于执行图11对应的实施例的步骤1102、步骤1104、步骤1105、步骤1107、步骤1108、步骤1110、步骤1111、以及步骤1112分别所述描述的内容。或其他可选实施例中的第一网络节点的数据处理的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本申请实施例所提供的数据传输的方法、设备、计算机可读存储介质以及芯片系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (19)
1.一种组播报文处理的方法,其特征在于,包括:
第一网络节点接收第二网络节点发送的第一组播报文,所述第二网络节点为所述第一网络节点的任一邻居网络节点,所述邻居网络节点是与所述第一网络节点相连的网络节点;
所述第一网络节点启动所述第一组播报文对应的涓流计时器,并执行所述涓流计时器的e个涓流周期中的第一涓流周期,所述e为大于或等于2的整数;
所述第一网络节点确定在发送时刻T1之前,第一涓流周期内接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1,所述K1为大于所述邻居网络节点数量的整数,所述T1为所述第一涓流周期中的预设时刻;
若所述Z1小于或等于所述K1,则所述第一网络节点广播所述第一组播报文;
所述第一网络节点确定在发送时刻T2之前,第二涓流周期内接收的所述第一组播报文的数量Z2是否大于或等于第二冗余常量K2,所述K2为等于所述邻居网络节点数量的整数,所述T2为所述第二涓流周期中的预设时刻;
若所述Z2大于或等于所述K2,则所述第一网络节点在第二涓流周期停止广播所述第一组播报文;
若所述Z2小于所述K2,则所述第一网络节点广播所述第一组播报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述e大于或等于3时,所述第一网络节点执行第三涓流周期至第e涓流周期对应的涓流算法,其中,所述第三涓流周期至第e涓流周期中每个涓流周期分别对应的冗余常量等于所述邻居网络节点数量。
3.根据权利要求2所述的方法,其特征在于,所述第一组播报文包含用于表征所述第二网络节点第i次发送所述第一组播报文的次数信息,所述i为大于0的整数;
所述第一网络节点确定在发送时刻T1之前,第一涓流周期内接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1,包括:
所述第一网络节点根据在所述T1之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量;
若所述第i次发送的所述第一组播报文的数量小于或等于K1,则所述第一网络节点确定Z1小于或等于所述K1。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一网络节点确定在发送时刻T2之前,第二涓流周期内接收的所述第一组播报文的数量Z2是否等于第二冗余常量K2,包括:
所述第一网络节点根据在所述T2之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量;
若所述第i次发送的所述第一组播报文的数量等于所述K2,则所述第一网络节点确定所述第一组播报文的数量Z2等于所述K2;
若所述第i次发送的所述第一组播报文的数量小于所述K2,则所述第一网络节点确定所述第一组播报文的数量Z2小于所述K2;
当所述Z2等于所述K2,则所述第一网络节点在第二涓流周期停止广播所述第一组播报文之后,所述方法还包括:
所述第一网络节点停止所述第一组播报文对应的所述涓流计时器。
5.根据权利要求3所述的方法,其特征在于,所述第一网络节点广播所述第一组播报文,包括:
所述第一网络节点广播所述第一组播报文,所述第一组播报文中包含用于表征所述第一网络节点第j次发送所述第一组播报文的次数信息,所述j为大于0的整数。
6.根据权利要求3所述的方法,其特征在于,所述第一网络节点根据在所述T1之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量,包括:
所述第一网络节点确定在所述T1之前接收的所述第一组播报文是否为第i次发送的,并将第i次发送的所述第一组播报文的数量叠加到所述第i次对应的涓流计数器counter(i)中;
所述第一网络节点确定所述counter(i)的数量为所述第i次发送的所述第一组播报文的数量。
7.根据权利要求4所述的方法,其特征在于,所述第一网络节点根据在所述T2之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量,包括:
所述第一网络节点确定在所述T2之前接收的所述第一组播报文是否为第i次发送的,并将第i次发送的所述第一组播报文的数量叠加到所述第i次对应的涓流计数器counter(i)中;
所述第一网络节点确定所述counter(i)的数量为所述第i次发送的所述第一组播报文的数量。
8.根据权利要求1所述的方法,其特征在于,在所述第一网络节点确定在发送时刻T1之前,第一涓流周期内接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1之前,所述方法还包括:
所述第一网络节点获取所述邻居网络节点的数量并根据所述邻居网络节点设置所述K1或所述K2。
9.根据权利要求8所述的方法,其特征在于,所述第一网络节点获取所述邻居网络节点的数量,包括:
所述第一网络节点广播N个第二组播报文,所述N个第二组播报文中的每个第二组播报文不同,所述第二组播报文包含指示信息,所述指示信息用于指示收到所述第二组播报文的所述第二网络节点广播所述第二组播报文一次,N为大于或等于1的整数;
所述第一网络节点分别接收所述N个第二组播报文中的每个第二组播报文;
所述第一网络节点确定所述N个第二组播报文中的每个第二组播报文的数量;
所述第一网络节点确定每个第二组播报文中数量最多的第二组播报文的个数为所述邻居网络节点的数量。
10.一种网络设备,其特征在于,所述网络设备为第一网络节点,所述网络设备包括:
接收单元,用于接收第二网络节点发送的第一组播报文,所述第二网络节点为所述第一网络节点的任一邻居网络节点,所述邻居网络节点是与所述第一网络节点相连的网络节点;
处理单元用于:
启动所述第一组播报文对应的涓流计时器,并执行所述涓流计时器的e个涓流周期中的第一涓流周期,所述e为大于或等于2的整数;
确定在发送时刻T1之前,第一涓流周期内接收的所述第一组播报文的数量Z1是否小于或等于第一冗余常量K1,所述K1为大于所述邻居网络节点数量的整数,所述T1为所述第一涓流周期中的预设时刻;
广播单元用于:
当所述Z1小于或等于所述K1,广播所述第一组播报文;
所述处理单元还用于:
确定在发送时刻T2之前,第二涓流周期内接收的所述第一组播报文的数量Z2是否大于或等于第二冗余常量K2,所述K2为等于所述邻居网络节点数量的整数,所述T2为所述第二涓流周期中的预设时刻;
当所述Z2大于或等于所述K2,停止广播所述第一组播报文;
所述广播单元还用于:
当所述Z2小于所述K2,广播所述第一组播报文。
11.根据权利要求10所述的网络设备,其特征在于,所述处理单元还用于:当所述e大于或等于3时,执行第三涓流周期至第e涓流周期对应的涓流算法,其中,所述第三涓流周期至第e涓流周期中每个涓流周期分别对应的冗余常量等于所述邻居网络节点数量的整数。
12.根据权利要求11所述的网络设备,其特征在于,所述第一组播报文包含用于表征所述第二网络节点第i次发送所述第一组播报文的次数信息,所述i为大于0的整数;
所述处理单元具体用于:
根据在所述T1之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量;
当所述第i次发送的所述第一组播报文的数量小于或等于K1,确定Z1小于或等于所述K1。
13.根据权利要求10至12任一项所述的网络设备,其特征在于,所述处理单元具体用于:
根据在所述T2之前接收的所述第一组播报文所包含的次数信息确定第i次发送的所述第一组播报文的数量;
当所述第i次发送的所述第一组播报文的数量等于所述K2时,确定所述第一组播报文的数量Z2等于所述K2;
当所述第i次发送的所述第一组播报文的数量小于所述K2时,确定所述第一组播报文的数量Z2小于所述K2;
所述处理单元还用于:当所述Z2等于所述K2时,停止所述第一组播报文对应的所述涓流计时器。
14.根据权利要求12所述的网络设备,其特征在于,所述广播单元还用于:广播所述第一组播报文,所述第一组播报文中包含用于表征所述第一网络节点第j次发送所述第一组播报文的次数信息,所述j为大于0的整数。
15.根据权利要求12所述的网络设备,其特征在于,所述处理单元具体用于:
确定在所述T1之前接收的所述第一组播报文是否为第i次发送的,并将第i次发送的所述第一组播报文的数量叠加到所述第i次对应的涓流计数器counter(i)中;
确定所述counter(i)的数量为所述第i次发送的所述第一组播报文的数量。
16.根据权利要求13所述的网络设备,其特征在于,所述处理单元具体用于:
确定在所述T2之前接收的所述第一组播报文是否为第i次发送的,并将第i次发送的所述第一组播报文的数量叠加到所述第i次对应的涓流计数器counter(i)中;
确定所述counter(i)的数量为所述第i次发送的所述第一组播报文的数量。
17.根据权利要求10所述的网络设备,其特征在于,所述处理单元还用于:获取所述邻居网络节点的数量并根据所述邻居网络节点设置所述K1或所述K2。
18.根据权利要求17所述的网络设备,其特征在于,所述广播单元还用于:广播N个第二组播报文,所述N个第二组播报文中的每个第二组播报文不同,所述第二组播报文包含指示信息,所述指示信息用于指示收到所述第二组播报文的第二网络节点广播所述第二组播报文一次,N为大于或等于1的整数;
所述接收单元还用于:接收所述N个第二组播报文中的每个第二组播报文;
所述处理单元还用于:
确定所述N个第二组播报文中的每个第二组播报的数量;
确定每个第二组播报文中数量最多的第二组播报文的个数为所述邻居网络节点的数量。
19.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行权利要求1至9中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810349912.8A CN110391923B (zh) | 2018-04-18 | 2018-04-18 | 组播报文处理的方法以及网络设备 |
PCT/CN2019/081707 WO2019201106A1 (zh) | 2018-04-18 | 2019-04-08 | 组播报文处理的方法以及网络设备 |
JP2020557309A JP7116190B2 (ja) | 2018-04-18 | 2019-04-08 | マルチキャストパケット処理方法およびネットワークデバイス |
EP19787965.3A EP3771151B1 (en) | 2018-04-18 | 2019-04-08 | Multicast message processing method and network device |
KR1020207032976A KR102481403B1 (ko) | 2018-04-18 | 2019-04-08 | 멀티캐스트 패킷 처리 방법 및 네트워크 디바이스 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810349912.8A CN110391923B (zh) | 2018-04-18 | 2018-04-18 | 组播报文处理的方法以及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110391923A CN110391923A (zh) | 2019-10-29 |
CN110391923B true CN110391923B (zh) | 2021-03-30 |
Family
ID=68238809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810349912.8A Active CN110391923B (zh) | 2018-04-18 | 2018-04-18 | 组播报文处理的方法以及网络设备 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3771151B1 (zh) |
JP (1) | JP7116190B2 (zh) |
KR (1) | KR102481403B1 (zh) |
CN (1) | CN110391923B (zh) |
WO (1) | WO2019201106A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023055853A2 (en) * | 2021-09-28 | 2023-04-06 | Semitech Semiconductor Pty Ltd | Improved routing for trickle algorithm |
US20230155629A1 (en) * | 2021-11-16 | 2023-05-18 | Stmicroelectronics S.R.L. | Apparatus and methods for mesh communication networks with broadcast messages |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588225A (zh) * | 2009-06-25 | 2009-11-25 | 杭州再灵电子科技有限公司 | 一种基于分组交换网络的快速重传技术 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10038617B2 (en) * | 2013-06-18 | 2018-07-31 | Cisco Technology, Inc. | Asynchronous broadcast communication based on time-based events in channel-hopping networks |
JP6201669B2 (ja) * | 2013-11-15 | 2017-09-27 | 富士通株式会社 | 通信方法、通信装置、通信プログラム、および、通信システム |
JP6516105B2 (ja) * | 2014-03-13 | 2019-05-22 | シグニファイ ホールディング ビー ヴィ | ノードデバイスを構成する方法、及びデバイス |
US20150373735A1 (en) * | 2014-06-19 | 2015-12-24 | Cisco Technology, Inc. | Topology-independent dissemination of alarm data above network priority |
JP2016082303A (ja) * | 2014-10-10 | 2016-05-16 | 株式会社東芝 | 送信キャンセル方法及び送信方法 |
CN105763457B (zh) * | 2014-12-15 | 2019-05-07 | 华为技术有限公司 | 组播报文处理方法和网络设备 |
US9893981B2 (en) * | 2016-03-14 | 2018-02-13 | Mitsubishi Electric Research Laboratories, Inc. | Resource aware multi-task routing in multi-hop heterogeneous wireless networks |
US9900079B2 (en) * | 2016-03-21 | 2018-02-20 | Cisco Technology, Inc. | Reliable connectionless low power coverage extension |
-
2018
- 2018-04-18 CN CN201810349912.8A patent/CN110391923B/zh active Active
-
2019
- 2019-04-08 KR KR1020207032976A patent/KR102481403B1/ko active IP Right Grant
- 2019-04-08 WO PCT/CN2019/081707 patent/WO2019201106A1/zh unknown
- 2019-04-08 JP JP2020557309A patent/JP7116190B2/ja active Active
- 2019-04-08 EP EP19787965.3A patent/EP3771151B1/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588225A (zh) * | 2009-06-25 | 2009-11-25 | 杭州再灵电子科技有限公司 | 一种基于分组交换网络的快速重传技术 |
Also Published As
Publication number | Publication date |
---|---|
EP3771151A4 (en) | 2021-05-19 |
WO2019201106A1 (zh) | 2019-10-24 |
KR20210002548A (ko) | 2021-01-08 |
JP2021519562A (ja) | 2021-08-10 |
EP3771151B1 (en) | 2023-05-24 |
EP3771151A1 (en) | 2021-01-27 |
CN110391923A (zh) | 2019-10-29 |
KR102481403B1 (ko) | 2022-12-27 |
JP7116190B2 (ja) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9801010B2 (en) | ZIGBEE network-based data transmission method, apparatus, and system | |
EP4027587A1 (en) | Oam method and apparatus for network | |
CN109842868B (zh) | 一种帧聚合、网络设置帧发送方法及设备 | |
KR101665416B1 (ko) | 스테이션과 액세스 포인트 간의 연합을 구축하는 방법, 및 장치 | |
US20230261962A1 (en) | Method for Detecting Multicast Service Flow and Related Apparatus | |
EP3979577B1 (en) | Queue congestion control method, device and storage medium | |
CN110391923B (zh) | 组播报文处理的方法以及网络设备 | |
WO2017157065A1 (zh) | 管理表计设备地址的方法、采集终端和表计设备 | |
CN117202261A (zh) | 电力物联网的无线组网方法及终端 | |
CN106879004B (zh) | 空闲信道评估方法、节点、站点及接入点 | |
WO2016154918A1 (zh) | 一种数据处理方法、装置及设备 | |
CN111050356A (zh) | 数据传输的处理方法及装置、存储介质、电子装置 | |
CN111464965A (zh) | 资源周期的配置,链路的处理、建立方法及装置 | |
JP6781272B2 (ja) | 情報下り送信方法、データ送信方法、装置及びシステム | |
CN111480364A (zh) | 接入控制方法、装置和可读存储介质 | |
KR20160082684A (ko) | 최대 어웨이 지속기간 | |
US9203718B2 (en) | Frame loss measurement device, communication device, communication system and performance measurement method | |
CN112702218A (zh) | 数据传输质量的检测方法、系统、网络设备及存储介质 | |
CN117061440B (zh) | 一种网络泛洪控制方法、装置、设备、系统及存储介质 | |
CN117793841B (zh) | 基于电力设备体域网的深度覆盖通信方法、装置及系统 | |
CN113708861B (zh) | 一种ue基带合并预测方法、系统、设备及存储介质 | |
CN114760719B (zh) | 发现和连接到软接入设备的方法、装置、设备及存储介质 | |
US10856346B2 (en) | Neighboring network devices | |
WO2022004830A1 (ja) | サーバ装置、センサ装置、可視化システム、監視方法、収集方法、及び非一時的なコンピュータ可読媒体 | |
CN111050357B (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 |