报文传输方法及装置与流程

文档序号:14635977发布日期:2018-06-08 19:42阅读:123来源:国知局
报文传输方法及装置与流程
本发明涉及通信
技术领域
,特别涉及一种报文传输方法及装置。
背景技术
:随着通信技术的发展,共享介质网络的应用越来越广泛。常见的共享介质网络包括无线传感器网络(英文:wirelesssensornetwork;简称:WSN)和电力线通信(英文:powerlinecommunication;简称:PLC)网络等。在共享介质网络中,网络节点主要以广播的形式发送报文,网络节点既可以作为目的端节点接收报文,也可以作为中继节点转发报文,例如,当第一中继节点将报文转发给第二中继节点时,第二中继节点可能会将该报文再次转发给第一中继节点,因此单个中继节点可能会接收到大量的重复报文,导致一个报文被重复处理多次,增加了网络开销。在现有的无线传感器网络中,网络节点通常根据报文头中的序列号来判断接收到的报文是否为重复报文。具体的,每个中继节点中都设置有一个表项,表项的条目为<源地址,序列号>,其中,源地址为源端节点的地址。表项有两种记录方式,一种是,表项中依次记录着中继节点接收到的每个新的报文的源地址和序列号,当中继节点接收到一个报文时,通过检测该报文的源地址和序列号可以判断该报文是否为重复报文;另一种是,表项中记录着网络中所有网络节点的源地址和每个源端节点发送的报文的最新序列号,当中继节点接收到一个报文时,可以将表项中与该报文的源地址相同的序列号和该报文的序列号进行比较,当该报文的序列号小于或等于表项中与该报文的源地址相同的序列号时,确定该报文为重复报文。但是,对于无线传感器网络和电力线通信网络等共享介质网络而言,其特点是组网规模大,网络节点数量多,并且网络节点的存储能力有限,当网络通信比较频繁且网络节点过多时,无论是第一种表项记录方式还是第二种表项记录方式,中继节点中的表项都很容易存满溢出,无法继续判断后续的报文是否为重复报文,导致在大规模的组网中,根据该两种记录方式的表项判断重复报文的可靠性较低。技术实现要素:为了解决现有技术在大规模的组网中判断重复报文的可靠性较低的问题,本申请提供了一种报文传输方法及装置。所述技术方案如下:本申请提供了一种共享介质网络,该共享介质网络可以包括多个网络节点,该多个网络节点中各个网络节点在进行报文传输时功能不同,通常可以将生成并发送报文的网络节点称为源端节点,可以将接收并转发该报文的网络节点称为中继节点,可以将该报文所传输的目的网络节点称为目的端节点,在实际应用中,在不同报文传输场景中,一个网络节点既可以做源端节点,也可以做中继节点,还可以做目的端节点。第一方面,本申请提供了一种报文传输方法,用于共享介质网络中的第一网络节点,该共享介质网络包括至少两个广播域,该至少两个广播域中每个广播域包括至少两个网络节点,第一广播域中所有网络节点用于标识报文的报文身份标识(英文:Identity;简称:ID)号在同一时刻相同,且与其他广播域中的网络节点用于标识报文的报文ID号不同,该第一广播域为共享介质网络中的任一广播域,该第一网络节点为该第一广播域中的任一网络节点;在第一广播域中广播第一ID发送请求,该第一ID发送请求包括第一ID号,该第一ID号是当前时刻的第一广播域中每个网络节点用于标识报文的报文ID号;在预设时间段内没有接收到其他网络节点发送的ID发送请求时,向第二网络节点发送第一报文,该第一报文包括第一ID号,其他网络节点为第一广播域中除第一网络节点之外的节点;在向第二网络节点发送所述第一报文后,与第一广播域中其他网络节点同步更新ID号,得到第二ID号,该第二ID号与第一ID号满足预设的变化规则,该变化规则为单调递增规则或单调递减规则。需要说明的是,当在预设时间段内没有接收到其他网络节点发送的ID发送请求时,说明当前时间段第一广播域中的其他网络节点没有发送报文的需求,第一网络节点可以向第二网络节点发送第一报文,这样可以保证同一广播域在同一时间段内只有一个报文发出。本申请所示的方案,可以保证在预设时间段内第一广播域内只有一个网络节点发送报文,避免同一广播域内不同网络节点发送的报文的报文ID冲突;中继节点无需为共享介质网络中的每个网络节点记录缓存表项,只需为一个广播域记录一个缓存表项,降低了中继节点的功耗,解决了中继节点存储能力受限的问题。可选的,该第一ID发送请求用于请求发送指定信息,该报文传输方法还包括:在预设时间段内接收到其他网络节点发送的ID发送请求时,比较第一网络节点与其他网络节点的发送优先级;当第一网络节点的发送优先级大于其他网络节点的发送优先级时,向第二网络节点发送第一报文;当第一网络节点的发送优先级小于其他网络节点的发送优先级时,在经过预设退避时间段后,广播第二ID发送请求,该第二ID发送请求用于请求发送该指定信息,该第二ID发送请求包括第二ID号,该第二ID号为其他网络节点发送报文后第一网络节点同步更新的ID号。需要说明的是,在经过预设退避时间段后,上一时刻优先级较高的其他网络节点已经发送报文,其他网络节点在发送报文之后更新ID号,第一网络节点监听到其他网络节点发送报文后,更新自身的报文ID号,当第一网络节点广播第二ID发送请求时,第二ID发送请求中的报文ID号为其他网络节点发送报文后第一网络节点同步更新的第二ID号,因此可以保证第一广播域中的所有网络节点发送的报文中不存在报文ID号相同的报文。可选的,在第一广播域中广播第一ID发送请求,可以包括:重复k次在第一广播域中广播第一ID发送请求,k为预设值,且大于或等于2。需要说明的是,第一网络节点重复多次在第一广播域中广播第一ID发送请求,是为了避免第一ID发送请求在传输过程中的丢包导致其他网络节点未接收到第一ID发送请求的情况,确保第一广播域中的其他网络节点都接收到第一网络节点即将发送报文的信号。可选的,每个ID发送请求包括请求次数,比较第一网络节点与其他网络节点的发送优先级,包括:比较第一请求次数与第二请求次数的大小,该第一请求次数为其他网络节点广播的ID发送请求中的请求次数,该第二请求次数为第一网络节点广播的ID发送请求中的请求次数;当第一请求次数大于第二请求次数时,确定第一网络节点的发送优先级小于其他网络节点的发送优先级;当第一请求次数小于第二请求次数时,确定第一网络节点的发送优先级大于其他网络节点的发送优先级。可选的,每个ID发送请求还可以包括媒体访问控制媒体访问控制(英文:MediaAccessControl;简称:MAC)地址,比较第一网络节点与其他网络节点的发送优先级,还包括:当第一请求次数等于第二请求次数时,比较其他网络节点的MAC地址与第一网络节点的MAC地址的数值大小;当其他网络节点的MAC地址的数值大小满足预设比较规则时,确定第一网络节点的发送优先级小于其他网络节点的发送优先级;当其他网络节点的MAC地址的数值大小不满足预设比较规则时,确定第一网络节点的发送优先级大于其他网络节点的发送优先级;其中,预设比较规则包括:其他网络节点的MAC地址的数值大于第一网络节点的MAC地址的数值,或者,其他网络节点的MAC地址的数值小于第一网络节点的MAC地址的数值。需要说明的是,网络节点在广播域中广播ID发送请求时,针对同一报文的ID发送请求,网络节点每经过一个退避时间段需要更新一次ID发送请求中的请求次数。示例的,当第一网络节点需要发送第一报文时,在第一广播域中广播第一ID发送请求,该第一ID发送请求为第一网络节点第一次广播的ID发送请求,该第一ID发送请求中包括的请求次数为1;假设第六网络节点(第六网络节点为其他网络节点中的任一网络节点)在预设时间段内需要发送第二报文,在第一广播域中广播第三ID发送请求,该第三ID发送请求中包括的请求次数为2,说明第六网络节点上一时刻在第一广播域中广播过发送第二报文的ID发送请求,因此第六网络节点的发送优先级大于第一网络节点的发送优先级。第一网络节点在经过预设退避时间段后,在第一广播域中广播第二ID发送请求,则第二ID发送请求中包括的发送第一报文的请求次数为2。可选的,该报文传输方法还包括:每个网络节点的报文ID号包括用于唯一标识网络节点所在广播域的区域号和可变的报文序列号;与所述第一广播域中其他网络节点同步更新ID号,得到第二ID号,包括:改变所述第一ID号中的报文序列号得到第二ID号,使得改变后的报文序列号与改变前的报文序列号满足变化规则,该第二ID号包括第一区域号和改变后的报文序列号。需要说明的是,每个广播域中包括一个主节点,该主节点用于管理主节点所在广播域中的节点;在第一广播域中广播ID发送请求之前,该方法还包括:接收第一主节点发送的ID初始化指令,该ID初始化指令包括第一区域号和初始序列号,该第一主节点为第一广播域中的主节点;根据ID初始化指令,将第一网络节点的报文序列号设置为初始序列号,并生成初始ID号,所述初始ID号包括第一区域号和初始序列号;在初始ID号生成时刻,开始倒计时;在倒计时结束时,将第一网络节点的报文序列号重置为初始序列号。需要说明的是,第一网络节点在初始ID号的生成时刻,开始倒计时,在倒计时结束时,将第一网络节点的报文序列号重置为初始序列号,并重新开始倒计时,也即是倒计时的时长为报文ID的一个生存周期。示例的,可以在第一网络节点中设置一个生存计时器,该生存计时器的生存时间可以为一分钟,当该生存计时器的生存时间到期时,将第一网络节点的报文序列号重置为初始序列号,并再次启动该生存计时器,完成报文序列号的定期更新,防止报文序列号的溢出。需要说明的是,共享介质网络中的所有网络节点都是同步更新报文序列号的,在网络节点更新报文序列号的同时,清空所有网络节点的缓存表项中的内容。可选的,该初始序列号为0,该变化规则可以为单调递增规则,改变后的报文序列号等于改变前的报文序列号加x,其中,x大于或等于1;或者,初始序列号为M,该变化规则可以为单调递减规则,改变后的报文序列号等于改变前的报文序列号减x,其中,x大于或等于1。在另一报文传输场景中,第一网络节点还可以做中继节点。可选的,当变化规则为单调递增规则时,该方法还包括:接收第三网络节点发送的第三报文,第三报文的报文ID号包括第三区域号和第三报文序列号;当第一网络节点的缓冲表项中记录有第三区域号时,获取缓冲表项中与第三区域号对应的目标报文序列号,该缓冲表项中记录了最新报文的报文ID号,该最新报文为第一网络节点接收的来自多个广播域的报文中,来自每个广播域的最新的报文;判断第三报文序列号是否大于目标报文序列号;当第三报文序列号不大于目标报文序列号时,确定第三报文为重复报文,并丢弃该第三报文;当第三报文的报文序列号大于目标报文序列号时,转发该第三报文,采用第三报文序列号更新缓冲表项中的目标报文序列号。可选的,当变化规则为单调递减规则时,该方法还包括:接收第三网络节点发送的第三报文,该第三报文的报文ID号包括第三区域号第三报文序列号;当第一网络节点的缓冲表项中记录有第三区域号时,获取该缓冲表项中与第三区域号对应的目标报文序列号,该缓冲表项中记录了最新报文的报文ID号,该最新报文为第一网络节点接收的来自多个广播域的报文中,来自每个广播域的最新的报文;判断第三报文序列号是否小于目标报文序列号;当第三报文序列号不小于目标报文序列号时,确定该第三报文为重复报文,并丢弃第三报文;当第三报文的报文序列号小于目标报文序列号时,转发第三报文,采用第三报文序列号更新缓冲表项中的目标报文序列号。可选的,每个广播域包括一个跨域中继节点,该跨域中继节点位于至少两个广播域中,在第一广播域中广播ID发送请求之前,该方法还包括:确定第一广播域中的主节点和跨域中继节点。第二方面,本申请提供了一种报文传输装置,用于执行上述第一方面提供的报文传输方法。上述第二方面提供的报文传输装置可以包括:处理器和网络接口。处理器包括一个或者一个以上处理核心。处理器通过运行软件程序以及单元,从而执行各种功能应用以及数据处理。网络接口可以为多个,该网络接口用于与其它存储设备或者网络设备进行通信。可选的,网络设备还包括存储器、总线等部件。其中,存储器与网络接口分别通过总线与处理器相连。存储器可用于存储软件程序以及单元。具体的,存储器可存储操作系统、至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(RealTimeeXecutive,RTX)、LINUX、UNIX、WINDOWS或OSX之类的操作系统。处理器用于执行程序代码,以实现上述第一方面所述的方法。上述第二方面所获得的技术效果与第一方面对应的技术手段获得的技术效果近似,在这里不做赘述。本申请提供的技术方案带来的有益效果是:本申请提供的报文传输方法及装置,当第一广播域中的第一网络节点需要发送第一报文时,第一网络节点先广播ID发送请求,当未接收到其它网络节点广播的ID发送请求时,向第二网络节点发送第一报文,并更新第一广播域中的所有网络节点的报文ID,保证在预设时间段内第一广播域中只有一个网络节点可以发送一个报文,避免了同一广播域内不同网络节点同时发送的报文中携带的报文ID相同而无法进行判断的现象;同时,由于共享介质网络包括至少两个广播域,且在一个报文生存周期内,同一广播域中的网络节点发送的报文的报文ID都不同,与现有技术中,中继节点需要为共享介质网络中的每个网络节点建立一个表项相比,本发明实施例中的中继节点最多只需建立每个广播域对应的表项,减小了缓存表项所需占用的内存,降低了中继节点的功耗,提高了判断重复报文的可靠性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1-1是本发明实施例提供的一种报文传输方法所涉及的一种共享介质网络的结构示意图;图1-2是本发明实施例提供的一种报文传输方法所涉及的另一种共享介质网络的结构示意图;图2-1是本发明实施例提供的一种报文传输方法的流程图;图2-2是本发明实施例提供的一种网络节点进行ID初始化的方法流程图;图2-3是本发明实施例提供的一种网络节点进行报文转发的方法流程图;图2-4是本发明实施例提供的一种判断报文序列号是否满足预设比较条件的方法流程图;图2-5是本发明实施例提供的另一种判断报文序列号是否满足预设比较条件的方法流程图;图2-6是本发明实施例提供的一种比较网络节点优先级的方法流程图;图2-7是本发明实施例提供的一种报文传输方法所涉及的又一种共享介质网络的结构示意图;图3是本发明实施例提供的一种网络节点进行报文转发的方法流程图;图4是本发明实施例提供的一种新的网络节点加入广播域的方法流程图;图5-1是本发明实施例提供的一种报文传输装置的结构示意图;图5-2是本发明实施例提供的另一种报文传输装置的结构示意图;图5-3是本发明实施例提供的一种比较模块的结构示意图;图5-4是本发明实施例提供的另一种比较模块的结构示意图;图5-5是本发明实施例提供的又一种报文传输装置的结构示意图;图5-6是本发明另一实施例提供的一种报文传输装置的结构示意图;图5-7是本发明另一实施例提供的另一种报文传输装置的结构示意图;图5-8是本发明另一实施例提供的又一种报文传输装置的结构示意图;图6-1是图1-2所示实施例涉及的一种网络设备的结构示意图;图6-2是图1-2所示实施例涉及的第一种应用程序单元的示意图;图6-3是图1-2所示实施例涉及的第二种应用程序单元的示意图;图6-4是图1-2所示实施例涉及的第三种应用程序单元的示意图;图6-5是图1-2所示实施例涉及的第四种应用程序单元的示意图;图6-6是图1-2所示实施例涉及的第五种应用程序单元的示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。图1-1是本发明实施例提供的一种报文传输方法所涉及的共享介质网络10的结构示意图,参见图1-1,该共享介质网络10可以包括多个网络节点101,该多个网络节点中各个网络节点在进行报文传输时功能不同,通常可以将生成并发送报文的网络节点称为源端节点,可以将接收并转发该报文的网络节点称为中继节点,可以将该报文所传输的目的网络节点称为目的端节点,在实际应用中,在不同报文传输场景中,一个网络节点既可以做源端节点,也可以做中继节点,还可以做目的端节点。在本发明实施例中,该共享介质网络10可以包括至少两个广播域101,每个广播域101包括至少两个网络节点,该至少两个网络节点可以包括主节点1011和跨域中继节点1012。示例的,本发明实施例提供的共享介质网络可以是无线传感器网络,相应的,网络节点可以是无线传感器网络中的无线传感器;共享介质网络还可以是电力线通信网络,相应的,网络节点可以是电力线通信网络中的电表等。可选的,如图1-2所示,本发明实施例提供的共享介质网络10还可以包括一个管理节点102,该管理节点102是该共享介质网络10中用于进行节点集中管理的独立节点,不属于任一广播域101中。管理节点102主要进行各个节点的网络配置和网络管理,例如,当共享介质网络10为无线传感器网络时,管理节点可以是无线传感器网络中的管理器;当共享介质网络10为电力线通信网络时,管理节点可以是电力线通信网络中的数据集中器等。需要说明的是,在本发明实施例中,共享介质网络中的广播域均为一跳广播域(英文:One-hopbroadcastdomain),也即是,同一广播域内的任意两个网络节点之间在传输报文时均可以一跳到达。具体的,每个网络节点可以通过监听邻居网络节点(邻居网络节点也即是该网络节点在传输报文时报文可以一跳到达的一网络节点),自行组成若干一跳广播域,因此,共享介质网络可以通过各个网络节点的邻居发现形成多个广播域。需要说明的是,本发明实施例提供的每个网络节点中均设置有两张表,分别如表1和表2所示,其中,表1为每个网络节点用于标识报文的ID号的示意表,该报文ID号包括唯一标识该网络节点所在广播域的区域号n和可变的报文序列号m。表1区域号报文序列号nm表2为每个网络节点的缓存表项示意表,该缓存表项中记录有最新报文的报文ID号,该最新报文为该网络节点接收的来自多个广播域的报文中,来自每个广播域的最新的报文,假设该共享介质网络中存在N个广播域,则每个网络节点的缓存表项中至多存储N个表项,其中,如表2所示,假设1至N为各个广播域对应的区域号,m1至mN则为当前时刻该网络节点接收到的来自各个广播域的最新的报文的报文序列号。假设第一广播域对应的区域号为1,目标网络节点为共享介质网络中的任一网络节点,上一时刻该目标网络节点中存储第一广播域中的网络节点发送的报文的报文序列号为n1,当前时刻该目标网络节点接收到第一广播域中的网络节点发送的报文时,假设该报文的报文序列号为m1,则该目标网络节点将缓存表项中区域号1对应的报文序列号n1更改为m1。表2区域号报文序列号1m12m2……NmN可选的,区域号和报文序列号最多可以各占网络节点两个字节的内存,网络节点只需要为一个广播域记录一个表项,而无需为共享介质网络中的每个网络节点记录一个表项,可以减少网络节点中2至3个数量级的占用内存,解决了网络节点的存储能力受限的问题。本发明实施例以报文传输方法用于共享介质网络中的第一网络节点为例进行说明,假设该共享介质网络可以包括至少两个广播域,该至少两个广播域中的每个广播域包括至少两个网络节点,第一广播域中所有网络节点用于标识报文的报文ID号在同一时刻相同,且与其他广播域中的网络节点用于标识报文的报文ID号不同,其中,该第一广播域为共享介质网络中的任一广播域,该第一网络节点为该第一广播域中的任一网络节点,可选的,该共享介质网络还可以包括管理节点。相应的,图2-1是本发明实施例提供的一种报文传输方法的流程图,如图2-1所示,该报文传输方法应用于如图1-2所示的共享介质网络中,本发明实施例假设第一网络节点通过第四网络节点将报文转发至第二网络节点,该报文传输方法包括以下步骤:在步骤201中,第一网络节点进行ID初始化,并生成初始ID号,该初始ID号包括第一区域号和初始序列号。具体的,第一网络节点进行ID初始化的过程,如图2-2所示,包括:在步骤2011中,管理节点确定第一广播域中的第一主节点和跨域中继节点。可选的,管理节点可以在获取整网网络拓扑结构之后,按照预设选取规则为第一广播域选取一个第一主节点(例如随机选取一主节点或者选取第一广播域中信号最强的网络节点作为主节点),可选的,该第一主节点可以是该第一广播域中信号最强的一个网络节点,该主节点用于管理第一广播域中的网络节点。第一广播域中包括至少一个跨域网络节点,跨域网络节点位于至少两个广播域中。管理节点可以按照预设指定规则指定(例如随机指定)该至少一个跨域网络节点中的某一跨域网络节点作为跨域中继节点,该跨域中继节点是第一广播域中的网络节点与该至少两个广播域中除该第一广播域之外的广播域中的网络节点进行报文传输时的唯一跨域中继节点,示例的,假设管理节点将位于第一广播域和第二广播域的某一跨域网络节设定为第一广播域和第二广播域的跨域中继节点,当第一广播域中的网络节点与第二广播域中的网络节点进行报文传输时,该某一跨域网络节点为报文传输过程中的唯一跨域中继节点,也即是,第一广播域中的网络节点与第二广播域中的网络节点之间所有的报文传输路径上都设置有该某一跨域网络节点。需要说明的是,在报文传输过程中,当原有的第一主节点出现故障退出第一广播域时,管理节点可以在第一广播域中按照预设更新规则选取一个新的网络节点作为第一主节点;当原有的跨域中继节点出现故障退出第一广播域时,若存在另一跨域网络节点,则管理节点可以选取该跨域网络节点作为新的跨域中继节点。在步骤2012中,第一主节点向第一网络节点发送ID初始化指令,该ID初始化指令包括第一区域号和初始序列号。示例的,管理节点可以在确定第一广播域中的第一主节点之后,将第一区域号发送至第一主节点,该第一主节点向第一网络节点发送ID初始化指令。需要说明的是,当第一广播域中的网络节点发送报文时,第一网络节点的报文ID中的报文序列号是根据预设的变化规则变化的,可选的,该变化规则可以为单调递增规则或单调递减规则,当该变化规则为单调递增规则时,初始序列号可以设置为0,当该变化规则为单调递减规则时,初始序列号可以设置为M,其中,M为一数值较大的正整数,例如M可以为105。在步骤2013中、第一网络节点根据ID初始化指令,将第一网络节点的报文序列号设置为初始序列号,并生成初始ID号,该初始ID号包括第一区域号和初始序列号。需要说明的是,第一网络节点在初始ID号的生成时刻,开始倒计时,在倒计时结束时,将第一网络节点的报文序列号重置为初始序列号,并重新开始倒计时,也即是倒计时的时长为报文ID的一个生存周期。示例的,可以在第一网络节点中设置一个生存计时器,该生存计时器的生存时间可以为一分钟,当该生存计时器的生存时间到期时,将第一网络节点的报文序列号重置为初始序列号,并再次启动该生存计时器,完成报文序列号的定期更新,防止报文序列号的溢出。需要说明的是,共享介质网络中的所有网络节点都是同步更新报文序列号的,在网络节点更新报文序列号的同时,清空所有网络节点的缓存表项中的内容。在步骤202中,第一网络节点在第一广播域中广播第一ID发送请求,该第一ID发送请求包括第一ID号,该第一ID号是当前时刻的第一广播域中每个网络节点用于标识报文的报文ID号。需要说明的是,第一网络节点在发送第一报文之前,需要在第一广播域中广播第一ID发送请求,该第一ID发送请求用于请求发送指定信息,例如,第一网络节点需要发送第一报文,该第一ID发送请求中包括发送第一报文的请求次数。该第一ID发送请求可以包括第一ID号,可选的,第一ID发送请求还可以包括第一网络节点的MAC地址等。本发明实施例对第一网络节点广播第一ID发送请求的次数不做限定,至少保证第一网络节点在第一广播域中广播一次第一ID发送请求即可。可选的,第一网络节点可以重复k次在第一广播域中广播第一ID发送请求,其中k为预设值且k≥2,第一网络节点重复多次在第一广播域中广播第一ID发送请求,是为了避免第一ID发送请求在传输过程中的丢包导致其他网络节点未接收到第一ID发送请求的情况,确保第一广播域中的其他网络节点都接收到第一网络节点即将发送报文的信号。示例的,第一网络节点在重复进行第一ID发送请求的广播时,可以在预设时间段内每隔5ms(毫秒)在第一广播域内广播一次ID发送请求。在步骤203中、第一网络节点判断第一网络节点在预设时间段内是否接收到其他网络节点发送的ID发送请求;当在预设时间段内没有接收到其他网络节点发送的ID发送请求时,执行步骤204;当在预设时间段内接收到其他网络节点发送的ID发送请求时,执行步骤205。在本发明实施例中,其他网络节点为第一广播域中除第一网络节点之外的节点。可选的,预设时间段的时长t可以满足:10ms≤t≤40ms,该预设时间段的起始时刻为第一网络节点完成ID发送请求广播的时刻,示例的,假设t=30ms,则第一网络节点在完成ID发送请求广播后的30ms内未收到其他网络节点发送的ID发送请求时,执行步骤204,第一网络节点在完成ID发送请求广播后的30ms内收到其他网络节点发送的ID发送请求时,执行步骤205。在步骤204中,第一网络节点向第二网络节点发送第一报文,该第一报文包括第一ID号。需要说明的是,当在预设时间段内没有接收到其他网络节点发送的ID发送请求时,说明当前时间段第一广播域中的其他网络节点没有发送报文的需求,第一网络节点可以向第二网络节点发送第一报文,这样可以保证同一广播域在同一时间段内只有一个报文发出。可选的,该第二网络节点可以是第一广播域中的网络节点,也可以是除第一广播域以外的其他广播域中的网络节点,当该第二网络节点为第一广播域中的网络节点时,由于本发明实施例提供的广播域均为一跳广播域,第一网络节点向第二网络节点发送第一报文时,不需要中继节点进行第一报文的转发;当该第二网络节点为其他广播域中的网络节点时,第一网络节点向该第二网络节点发送第一报文时,可选的,第一网络节点可以通过第四网络节点将报文转发至第二网络节点。具体的,图2-3为第四网络节点进行报文转发的过程,如图2-3所示,包括:在步骤2041中,第四网络节点判断第四网络节点的缓冲表项中是否记录有第一区域号;当第四网络节点的缓冲表项中记录有第一区域号时,执行步骤2042;当第四网络节点的缓冲表项中未记录有第一区域号时,执行步骤2045。需要说明的是,该第四网络节点为第一网络节点和第二网络节点之间的一个中继节点,第四网络节点的缓存表项中记录有最新报文的报文ID号,该最新报文为第四网络节点接收的来自多个广播域的报文中,来自每个广播域的最新的报文。检测第四网络节点的缓冲表项中是否记录有第一区域号,也即是检测第四网络节点是否接收到来自第一广播域中的网络节点发送的报文。在步骤2042中,第四网络节点获取缓冲表项中与第一区域号对应的目标报文序列号。示例的,假设表2为第四网络节点的缓冲表项的示意表,参照表2,第一区域号对应的目标序列号为m1,也即是,截至目前,第四网络节点接收到的来自第一广播域中的网络节点发送的最新的报文的报文序列号为m1。在步骤2043中,第四网络节点判断第一报文序列号是否满足预设比较条件;当第一报文序列号不满足预设比较条件时,执行步骤2044;当第一报文序列号满足预设比较条件时,执行步骤2045。一方面,当报文序列号的变化规则为单调递增规则时,第四网络节点判断第一报文序列号是否满足预设比较条件的过程,如图2-4所示,包括:在步骤31a中,第四网络节点判断第一报文序列号是否大于目标报文序列号;当第一报文序列号不大于目标报文序列号时,执行步骤32a;当第一报文序列号大于目标报文序列号时,执行步骤33a。可选的,该单调递增规则可以是线性单调递增规则,也可以是非线性单调递增规则。需要说明的是,当报文序列号的变化规则为线性单调递增规则时,第一广播域中的网络节点在上一时刻发送一个报文之后,第一广播域中的所有网络节点的报文ID号中的可变的报文序列号会增加x,该x为固定值,也即是当前时刻第一网络节点发送的第一报文的报文序列号大于上一时刻第一广播域中的网络节点发送的报文的报文序列号,所以第四网络节点可以通过判断第一报文的报文序列号是否大于第四网络节点的缓存表项中记录的目标报文序列来确定该第一报文是否为重复报文。示例的,假设上一时刻第一网络节点的报文序列号为6,令x=2,当前时刻第一广播域的网络节点发送一个报文后,第一广播域中的所有网络节点的报文序列号都增加2,第一网络节点的报文序列号变为8。在步骤32a中,第四网络节点确定第一报文序列号不满足预设比较条件。在步骤33a中,第四网络节点确定第一报文序列号满足预设比较条件。另一方面,当报文序列号的变化规则为单调递减规则时,第四网络节点判断第一报文序列号是否满足预设比较条件的过程,如图2-5所示,包括:在步骤31b中,第四网络节点判断第一报文序列号是否小于目标报文序列号;当第一报文序列号不小于目标报文序列号时,执行步骤32b;当第一报文序列号小于目标报文序列号时,执行步骤33b。可选的,该单调递减规则可以是线性单调递减规则,也可以是非线性单调递减规则。需要说明的是,当报文序列号的变化规则为线性单调递减规则时,第一广播域中的网络节点在上一时刻发送一个报文之后,第一广播域中的所有网络节点的报文ID号中的可变的报文序列号会减小x,该x为固定值,也即是当前时刻第一网络节点发送的第一报文的报文序列号小于上一时刻第一广播域中的网络节点发送的报文的报文序列号,所以第四网络节点可以通过判断第一报文的报文序列号是否小于第四网络节点的缓存表项中记录的目标报文序列来确定该第一报文是否为重复报文。示例的,假设上一时刻第一网络节点的报文序列号为156,令x=2,当前时刻第一广播域的网络节点发送一个报文后,第一广播域中的所有网络节点的报文序列号都减小2,第一网络节点的报文序列号变为154。在步骤32b中,第四网络节点确定第一报文序列号不满足预设比较条件。在步骤33b中,第四网络节点确定第一报文序列号满足预设比较条件。在步骤2044中,第四网络节点确定第一报文为重复报文,并丢弃第一报文。在步骤2045中,第四网络节点向第二网络节点转发第一报文,并采用第一报文序列号更新缓冲表项中的目标报文序列号。需要说明的是,第一网络节点发送的第一报文中携带有目的端节点的MAC地址,第四网络节点可以通过第一报文判断自己是否为目的端节点,由于第一报文中携带的目的端节点的MAC地址为第二网络节点的MAC地址,所以第四网络节点确定自己不是目的端节点,向第二网络节点转发第一报文。可选的,当第四网络节点的缓冲表项中记录有第一广播域对应的第一区域号时,将第一区域号对应的目标报文序列号更改为第一报文序列号。可选的,当第四网络节点的缓冲表项中未记录有第一区域号所对应的表项时,获取第一区域号和第一报文序列号,并在缓存表项中插入一个新的表项,该表项中记录第一区域号和第一报文序列号。在步骤205中,第一网络节点比较第一网络节点与其他网络节点的发送优先级。可选的,每个ID发送请求包括请求次数,本发明实施例提供的比较第一网络节点与其他网络节点的发送优先级的方法,如图2-6所示,包括:在步骤2051中,第一网络节点比较第一请求次数与第二请求次数的大小。其中,该第一请求次数为其他网络节点广播的ID发送请求中的请求次数,该第二请求次数为第一网络节点广播的ID发送请求中的请求次数。需要说明的是,网络节点在广播域中广播ID发送请求时,针对同一报文的ID发送请求,网络节点每经过一个退避时间段需要更新一次ID发送请求中的请求次数。在步骤2052中,当第一请求次数大于第二请求次数时,第一网络节点确定第一网络节点的发送优先级小于其他网络节点的发送优先级。在步骤2053中,当第一请求次数小于第二请求次数时,第一网络节点确定第一网络节点的发送优先级大于其他网络节点的发送优先级。示例的,当第一网络节点需要发送第一报文时,在第一广播域中广播第一ID发送请求,该第一ID发送请求为第一网络节点第一次广播的ID发送请求,该第一ID发送请求中包括的请求次数为1;假设第六网络节点(第六网络节点为其他网络节点中的任一网络节点)在预设时间段内需要发送第二报文,在第一广播域中广播第三ID发送请求,该第三ID发送请求中包括的请求次数为2,说明第六网络节点上一时刻在第一广播域中广播过发送第二报文的ID发送请求,因此第六网络节点的发送优先级大于第一网络节点的发送优先级。第一网络节点在经过预设退避时间段后,在第一广播域中广播第二ID发送请求,则第二ID发送请求中包括的发送第一报文的请求次数为2。在步骤2054中,当第一请求次数等于第二请求次数时,第一网络节点比较其他网络节点的MAC地址与第一网络节点的MAC地址的数值大小。需要说明的是,由于网络节点发送的ID发送请求中可以包括该网络节点的MAC地址,因此可以比较广播ID发送请求的其他网络节点的MAC地址与广播ID发送请求的第一网络节点的MAC地址的数值大小。在步骤2055中,当其他网络节点的MAC地址的数值大小满足预设比较规则时,第一网络节点确定第一网络节点的发送优先级小于其他网络节点的发送优先级。在步骤2056中,当其他网络节点的MAC地址的数值大小不满足预设比较规则时,第一网络节点确定第一网络节点的发送优先级大于其他网络节点的发送优先级。可选的,预设比较规则可以包括:其他网络节点的MAC地址的数值大于第一网络节点的MAC地址的数值,或者,其他网络节点的MAC地址的数值小于第一网络节点的MAC地址的数值。其中,网络节点的MAC地址可以采用12位16进制数字表示。示例的,当第一请求次数等于第二请求次数时,通过比较其他网络节点的MAC地址和第一网络节点的MAC地址的数值大小来确定其他网络节点与第一网络节点的优先级关系,假设第六网络节点(第六网络节点为其他网络节点中的任一网络节点)广播的第三ID发送请求中包括的请求次数为1,第一网络节点广播的第一ID发送请求中包括的请求次数也为1,则可以比较第一网络节点的MAC地址和第六网络节点的MAC地址的数值,假设第一网络节点的MAC地址为E87A-28B3-5A2D,第二网络节点的MAC地址为E87A-28B3-5B3C,则第一网络节点的MAC地址的数值小于第二网络节点的MAC地址的数值,可以根据预设比较规则比较第一网络节点的优先级和其他网络节点的优先级关系。在步骤206中,当第一网络节点的发送优先级大于其他网络节点的发送优先级时,第一网络节点向第二网络节点发送第一报文。可选的,该第二网络节点可以是第一广播域中的网络节点,也可以是除第一广播域以外的其他广播域中的网络节点,当该第二网络节点为第一广播域中的网络节点时,由于本发明实施例提供的广播域均为一跳广播域,第一网络节点向第二网络节点发送第一报文时,不需要中继节点进行第一报文的转发;当该第二网络节点为其他广播域中的网络节点时,第一网络节点向该第二网络节点发送第一报文时,可选的,第一网络节点可以通过第四网络节点将报文转发至第二网络节点。具体的,第四网络节点进行报文转发的过程可以参考上述步骤204,本发明实施例在此不做赘述。在步骤207中,第一网络节点在向第二网络节点发送第一报文后,与第一广播域中其他网络节点同步更新ID号,得到第二ID号,该第二ID号与第一ID号满足预设的变化规则。可选的,该变化规则可以为单调递增规则或单调递减规则。需要说明的是,第一网络节点与第一广播域中其他网络节点同步更新ID号,得到第二ID号,也即是,改变第一ID号中的报文序列号得到第二ID号,使得改变后的报文序列号与改变前的报文序列号满足该变化规则,该第二ID号由第一区域号与改变后的报文序列号组成。在第一网络节点向第二网络节点发送第一报文后,第一网络节点更新本地的报文ID号,由于第一广播域为一跳广播域,第一广播域中的其它网络节点可以监听到第一网络节点的报文ID号,当第一广播域中的其他网络节点监听到第一网络节点的报文ID号更新时,便会更新本地的报文ID号,使更新后的报文ID号与第一网络节点更新后的报文ID号相等。可选的,该单调递增规则可以是线性单调递增规则,也可以是非线性单调递增规则。可选的,当变化规则为线性单调递增规则时,第一主节点可以将初始序列号设置为0,则改变后的报文序列号等于改变前的报文序列号加x,其中,x为固定值,x大于或等于1。示例的,参考步骤31a,假设第一ID号中的报文序列号为6,令x=2,则更新后的报文序列号为8,也即是第二ID号中的报文序列号为8。可选的,该单调递减规则可以是线性单调递减规则,也可以是非线性单调递减规则。可选的,当变化规则为线性单调递减规则时,第一主节点可以将初始序列号设置为正整数M,改变后的报文序列号等于改变前的报文序列号减x,其中,x为固定值,x大于或等于1。示例的,参考步骤31b,假设第一ID号中的报文序列号为156,令x=2,则更新后的报文序列号为154,也即是第二ID号中的报文序列号为154。需要说明的是,当变化规则为单调递减规则时,设置的M值需要足够大,以保证在倒计时结束时,改变后的报文序列号大于0。在步骤208中,当第一网络节点的发送优先级小于其他网络节点的发送优先级时,在经过预设退避时间段后,第一网络节点广播第二ID发送请求;执行步骤203。其中,该第二ID发送请求用于请求发送该指定信息(也即是第一报文),该第二ID发送请求包括第二ID号,该第二ID号为其他网络节点发送报文后第一网络节点同步更新的ID号。需要说明的是,本发明实施例对预设退避时间段的时长不做限定,可选的,该预设退避时间段的时长可以等于上述步骤203中的预设时间段的时长,目的是在其他网络节点发送报文之后,第一网络节点广播第二ID发送请求。在经过预设退避时间段后,上一时刻优先级较高的其他网络节点已经发送报文,其他网络节点在发送报文之后更新ID号,第一网络节点监听到其他网络节点发送报文后,更新自身的报文ID号,当第一网络节点广播第二ID发送请求时,第二ID发送请求中的第二ID号为更新后的报文ID号,因此可以保证第一广播域中的所有网络节点发送的报文中不存在报文ID号相同的报文。在步骤209中,当第二网络节点确定第一报文不是重复报文时,接收第一报文。需要说明的是,第一网络节点发送的第一报文中携带有目的端节点的MAC地址,第二网络节点可以通过第一报文判断自己是否为目的端节点,由于第一报文中携带的目的端节点的MAC地址为第二网络节点的MAC地址,所以第二网络节点在确定自己为目的端节点后,接收第一报文。可选的,在第二网络节点接收到第四网络节点转发的第一报文时,可以判断第一报文是否为重复报文,具体判断方法可以参考上述步骤2041至2044,本发明实施例在此不做赘述。实际应用中,第一网络节点和第二网络节点之间可能存在不只一个中继节点,当第一网络节点和第二网络节点之间存在除第四网络节点以外的其他中继节点时,其他中继节点中的每个中继节点重复执行上述步骤2041至2045;当第一网络节点和第二网络节点之间不存在中继节点时,在步骤204结束后直接执行步骤209。示例的,本发明实施例以共享介质网络包括三个广播域且报文序列号的变化规则为单调递增规则为例进行说明,如图2-7所示,三个广播域分别为第一广播域A、第二广播域B和第三广播域C,第一广播域A和第二广播域B的跨域中继节点为第一跨域中继节点01,第二广播域B和第三广播域C的跨域中继节点为第二跨域中继节点02。假设第一广播域的区域号为1,第一报文的报文序列号为6,第一跨域中继节点01的缓存表项中区域号为1的对应的第一目标报文序列号为4,第二跨域中继节点02的缓存表项中区域号为1的对应的第二目标报文序列号为4,当第一广播域A中的第一网络节点03向第三广播域C中的第二网络节点04发送第一报文时,首先第一报文到达第一跨域中继节点01,第一跨域中继节点01根据第一报文中携带的目的端节点的MAC地址,可以确定自己不是目的端节点,第一跨域中继节点01获取第一报文的报文ID号,将第一报文的报文序列号与第一目标报文序列号进行比较,由于报文序列号的变化规则满足单调递增规则,第一跨域中继节点01确定第一报文的报文序列号大于第一目标报文序列号,可以确定该第一报文不是重复报文,以第一报文的报文序列号更新第一目标报文序列号,更新后的第一目标报文序列号为6,第一跨域中继节点01向第二跨域中继节点02转发该第一报文;第二跨域中继节点02根据第一报文中携带的目的端节点的MAC地址,可以确定自己不是目的端节点,第二跨域中继节点02获取第一报文的报文ID号,将第一报文的报文序列号与第二目标报文序列号进行比较,由于报文序列号的变化规则满足单调递增规则,第二跨域中继节点02确定第一报文的报文序列号大于第二目标报文序列号,可以确定该第一报文不是重复报文,以第一报文的报文序列号更新第二目标报文序列号,更新后的第二目标报文序列号为6,向第二网络节点04转发该第一报文;第二网络节点04根据第一报文中携带的目的端节点的MAC地址,可以确定自己是目的端节点,接收第一报文。需要说明的是,第二跨域中继节点02在向第二网络节点04转发第一报文的同时,也可能会给第一跨域中继节点01转发该第一报文,第一跨域中继节点01在接收到第二跨域中继节点02转发的第一报文后,获取第一报文的报文ID号,将第一报文的报文序列号与更新后的第一目标报文序列号进行比较,由于报文序列号的变化规则满足单调递增规则,而第一报文的报文序列号为6,等于更新后的第一目标报文序列号,第一跨域中继节点01可以确定该第一报文为重复报文,丢弃该第一报文。在上述的本发明实施例所涉及的同一报文传输场景中,第一网络节点为源端节点,第二网络节点为目的端节点,第四网络节点为中继节点,在实际应用中,在不同的报文传输场景中,一个网络节点既可以做源端节点,也可以做中继节点,还可以做目的端节点。示例的,在本发明实施例所涉及的另一个报文传输场景中,第一网络节点可以做中继节点,如图3所示,假设第一网络节点接收并转发第三网络节点发送的报文,该报文传输方法可以包括:在步骤301中,第一网络节点接收第三网络节点发送的第三报文,该第三报文的报文ID号包括第三区域号和第三报文序列号。需要说明的是,第三网络节点为共享介质网络中除第一网络节点以外的任一网络节点。在步骤302中,第一网络节点判断第一网络节点的缓冲表项中是否记录有第三区域号;当第一网络节点的缓冲表项中记录有第三区域号时,执行步骤303;当第四网络节点的缓冲表项中未记录有第一区域号时,执行步骤306。在步骤303中,第一网络节点获取缓冲表项中与第三区域号对应的目标报文序列号。在步骤304中,第一网络节点判断第三报文序列号是否满足预设比较条件;当第三报文序列号不满足预设比较条件时,执行步骤305;当第三报文序列号满足预设比较条件时,执行步骤306。需要说明的是,本步骤的具体解释可参考上述步骤2043,在此不做赘述。在步骤305中,第一网络节点确定第三报文为重复报文,并丢弃第三报文。在步骤306中,第一网络节点转发第一报文,并采用第三报文序列号更新缓冲表项中的目标报文序列号。可选的,步骤301至步骤306的具体实施过程可以参考上述步骤2041至步骤2045,在本报文传输场景中,第一网络节点可以执行上述报文传输场景中第四网络节点的功能,本发明实施例在此不做赘述。需要说明的是,在报文传输过程中,可能会存在新上电的网络节点需要加入共享介质网络中,进行报文的发送、转发或接收,假设一个新上电的网络节点为第五网络节点,该第五网络节点可以加入第一广播域,其中,第一广播域中的主节点为第一主节点,则该第五网络节点加入广播域的过程如图4所示,可以包括:在步骤401中,第五网络节点向第一主节点发送入域请求消息。可选的,当第五网络节点可以监听到第一广播域中的所有网络节点时,可以请求加入第一广播域,组成一个新的一跳广播域。可选的,如果第五网络节点可以与多个广播域组成新的一跳广播域,则第五网络节点可以向多个广播域的主节点发送入域请求消息。在步骤402中,第一主节点根据该入域请求消息,向第五网络节点发送入域许可消息,该入域许可消息包括当前时刻第一广播域中的网络节点用于标识报文的报文ID和报文ID的生存周期。需要说明的是,向第五网络节点发送的入域许可消息中还包括报文ID当前生存周期的剩余时长,可以保证第五网络节点可以与共享介质网络中的其他网络节点同步更新报文序列号。在步骤403中,第五网络节点根据该入域许可消息,更新第五网络节点的报文ID和报文ID的生存周期。可选的,当第五网络节点接收到多个广播域中的主节点发送的入域许可消息时,可以将最早接收到的入域许可消息作为目标入域许可消息,根据该目标入域许可消息更新报文ID和报文ID的生存周期。在步骤404中,第五网络节点向第一主节点发送确认入域消息。在步骤405中,第一主节点接收到该确认入域消息,确定第五网络节点加入第一广播域。需要说明的是,当某些网络节点无法维护现有的一跳广播域的关系时,例如网络节点出现故障或者网络节点监听当前广播域中的其他网络节点时,发现监听到的信号较弱甚至无法监听到时,该网络节点可以自动退出当前广播域,加入一个新的广播域,加入过程可参考上述步骤401至405。综上所述,本发明实施例提供的报文传输方法,当第一广播域中的第一网络节点需要发送第一报文时,第一网络节点先广播ID发送请求,当未接收到其它网络节点广播的ID发送请求时,向第二网络节点发送第一报文,并更新第一广播域中的所有网络节点的报文ID,保证在预设时间段内第一广播域中只有一个网络节点可以发送一个报文,避免了同一广播域内不同网络节点同时发送的报文中携带的报文ID相同而无法进行判断的现象;同时,由于共享介质网络包括至少两个广播域,且在一个报文生存周期内,同一广播域中的网络节点发送的报文的报文ID都不同,与现有技术中,中继节点需要为共享介质网络中的每个网络节点建立一个表项相比,本发明实施例中的中继节点最多只需建立每个广播域对应的表项,减小了缓存表项所需占用的内存,降低了中继节点的功耗,提高了判断重复报文的可靠性。上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。需要说明的是,本发明实施例提供的报文传输方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,例如,步骤207中,第一网络节点与第一广播域中其他网络节点同步更新ID号,更新ID号也可以是在步骤209中在第二网络节点接收第一报文后执行的。任何熟悉本
技术领域
的技术人员在本公开揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本公开的保护范围之内,因此不再赘述。图5-1是本发明实施例提供的一种报文传输装置50的结构示意图,如图5-1所示,该报文传输装置50用于共享介质网络中的第一网络节点,该共享介质网络包括至少两个广播域,至少两个广播域中每个广播域包括至少两个网络节点,第一广播域中所有网络节点用于标识报文的报文身份标识ID号在同一时刻相同,且与其他广播域中的网络节点用于标识报文的报文ID号不同,该第一广播域为共享介质网络中的任一广播域,该第一网络节点为第一广播域中的任一网络节点,该报文传输装置50可以包括:第一广播模块501、第一发送模块502和更新模块503。该第一广播模块501,用于在第一广播域中广播第一ID发送请求,该第一ID发送请求包括第一ID号,该第一ID号是当前时刻的第一广播域中每个网络节点用于标识报文的报文ID号。该第一发送模块502,用于在预设时间段内没有接收到其他网络节点发送的ID发送请求时,向第二网络节点发送第一报文,该第一报文包括第一ID号,其他网络节点为第一广播域中除第一网络节点之外的节点。该更新模块503,用于在向第二网络节点发送第一报文后,与第一广播域中其他网络节点同步更新ID号,得到第二ID号,该第二ID号与第一ID号满足预设的变化规则,该变化规则为单调递增规则或单调递减规则。可选的,该第一ID发送请求用于请求发送指定信息,如图5-2所示,该报文传输装置50还可以包括:比较模块504、第二发送模块505和第二广播模块506。该比较模块504,用于在预设时间段内接收到其他网络节点发送的ID发送请求时,比较第一网络节点与其他网络节点的发送优先级。该第二发送模块505,用于当第一网络节点的发送优先级大于其他网络节点的发送优先级时,向第二网络节点发送第一报文。该第二广播模块506,用于当第一网络节点的发送优先级小于其他网络节点的发送优先级时,在经过预设退避时间段后,广播第二ID发送请求,该第二ID发送请求用于请求发送该指定信息,该第二ID发送请求包括第二ID号,第二ID号为其他网络节点发送报文后第一网络节点同步更新的ID号。可选的,该第一广播模块501,用于:重复k次在第一广播域中广播第一ID发送请求,k为预设值,且大于或等于2。可选的,每个ID发送请求包括请求次数,如图5-3所示,该比较模块504可以包括:第一比较子模块5041、第一确定子模块5042和第二确定子模块5043。该第一比较子模块5041,用于比较第一请求次数与第二请求次数的大小,该第一请求次数为其他网络节点广播的ID发送请求中的请求次数,该第二请求次数为第一网络节点广播的ID发送请求中的请求次数。该第一确定子模块5042,用于当第一请求次数大于第二请求次数时,确定第一网络节点的发送优先级小于其他网络节点的发送优先级。该第二确定子模块5043,用于当第一请求次数小于第二请求次数时,确定第一网络节点的发送优先级大于其他网络节点的发送优先级。可选的,每个ID发送请求还可以包括媒体访问控制MAC地址,如图5-4所示,该比较模块504还可以包括:第二比较子模块5044、第三确定子模块5045和第四确定子模块5046。该第二比较子模块5044,用于当第一请求次数等于第二请求次数时,比较其他网络节点的MAC地址与第一网络节点的MAC地址的数值大小。该第三确定子模块5045,用于当其他网络节点的MAC地址的数值大小满足预设比较规则时,确定第一网络节点的发送优先级小于其他网络节点的发送优先级。该第四确定子模块5046,用于当其他网络节点的MAC地址的数值大小不满足预设比较规则时,确定第一网络节点的发送优先级大于其他网络节点的发送优先级。其中,预设比较规则包括:其他网络节点的MAC地址的数值大于第一网络节点的MAC地址的数值,或者,其他网络节点的MAC地址的数值小于第一网络节点的MAC地址的数值。可选的,每个网络节点的报文ID号包括用于唯一标识该网络节点所在广播域的区域号和可变的报文序列号。可选的,该更新模块503,用于:改变第一ID号中的报文序列号得到第二ID号,使得改变后的报文序列号与改变前的报文序列号满足变化规则,该第二ID号包括第一区域号和改变后的报文序列号。可选的,每个广播域中可以包括一个主节点,该主节点用于管理该主节点所在广播域中的网络节点;如图5-5所示,该报文传输装置50还可以包括:第一接收模块507、生成模块508、计时模块509和重置模块510。该第一接收模块507,用于接收第一主节点发送的ID初始化指令,该ID初始化指令包括第一区域号和初始序列号,该第一主节点为第一广播域中的主节点。该生成模块508,用于根据ID初始化指令,将第一网络节点的报文序列号设置为初始序列号,并生成初始ID号,该初始ID号包括第一区域号和初始序列号。该计时模块509,用于在初始ID号生成时刻,开始倒计时。该重置模块510,用于在倒计时结束时,将第一网络节点的报文序列号重置为初始序列号。可选的,该初始序列号可以为0,该变化规则为单调递增规则,改变后的报文序列号等于改变前的报文序列号加x,x大于或等于1;或者,该初始序列号可以为M,该变化规则为单调递减规则,改变后的报文序列号等于改变前的报文序列号减x,x大于或等于1。可选的,当该变化规则为单调递增规则时,如图5-6所示,该报文传输装置50可以包括:第二接收模块511、第一获取模块512、第一判断模块513、第一丢弃模块514和第一转发模块515。该第二接收模块511,用于接收第三网络节点发送的第三报文,该第三报文的报文ID号包括第三区域号和第三报文序列号。该第一获取模块512,用于当第一网络节点的缓冲表项中记录有第三区域号时,获取缓冲表项中与第三区域号对应的目标报文序列号,该缓冲表项中记录了最新报文的报文ID号,该最新报文为第一网络节点接收的来自多个广播域的报文中,来自每个广播域的最新的报文。该第一判断模块513,用于判断第三报文序列号是否大于目标报文序列号。该第一丢弃模块514,用于当第三报文序列号不大于目标报文序列号时,确定该第三报文为重复报文,并丢弃该第三报文。该第一转发模块515,用于当第三报文的报文序列号大于目标报文序列号时,转发该第三报文,采用第三报文序列号更新缓冲表项中的目标报文序列号。可选的,当该变化规则为单调递减规则时,如图5-7所示,该报文传输装置50可以包括:第三接收模块516、第二获取模块517、第二判断模块518、第二丢弃模块519和第二转发模块520。该第三接收模块516,用于接收第三网络节点发送的第三报文,该第三报文的报文ID号包括第三区域号第三报文序列号。该第二获取模块517,用于当第一网络节点的缓冲表项中记录有第三区域号时,获取该缓冲表项中与第三区域号对应的目标报文序列号,该缓冲表项中记录了最新报文的报文ID号,该最新报文为第一网络节点接收的来自多个广播域的报文中,来自每个广播域的最新的报文。该第二判断模块518,用于判断第三报文序列号是否小于目标报文序列号。该第二丢弃模块519,用于当第三报文序列号不小于目标报文序列号时,确定该第三报文为重复报文,并丢弃该第三报文。该第二转发模块520,用于当第三报文的报文序列号小于目标报文序列号时,转发该第三报文,采用第三报文序列号更新缓冲表项中的目标报文序列号。可选的,每个广播域可以包括一个跨域中继节点,该跨域中继节点位于至少两个广播域中,如图5-8所示,该报文传输装置50还可以包括:确定模块521。该确定模块521,用于确定第一广播域中的主节点和跨域中继节点。综上所述,本发明实施例提供的报文传输装置,当第一广播域中的第一网络节点需要发送第一报文时,第一网络节点通过第一广播模块先广播ID发送请求,当未接收到其它网络节点广播的ID发送请求时,通过第一发送模块向第二网络节点发送第一报文,并通过更新模块更新第一广播域中的所有网络节点的报文ID,保证在预设时间段内第一广播域中只有一个网络节点可以发送一个报文,避免了同一广播域内不同网络节点同时发送的报文中携带的报文ID相同而无法进行判断的现象;同时,由于共享介质网络包括至少两个广播域,且在一个报文生存周期内,同一广播域中的网络节点发送的报文的报文ID都不同,与现有技术中,中继节点需要为共享介质网络中的每个网络节点建立一个表项相比,本发明实施例中的中继节点最多只需建立每个广播域对应的表项,减小了缓存表项所需占用的内存,降低了中继节点的功耗,提高了判断重复报文的可靠性。图6-1是图1-2所示实施例涉及的一种网络设备的结构示意图,如图6-1所示,该网络设备100可以是上述源端节点或者中继节点或者目的端节点,该网络设备100包括:处理器12和网络接口14。处理器12包括一个或者一个以上处理核心。处理器12通过运行软件程序以及单元,从而执行各种功能应用以及数据处理。网络接口14可以为多个,该网络接口14用于与其它存储设备或者网络设备进行通信。可选的,网络设备100还包括存储器16、总线18等部件。其中,存储器16与网络接口14分别通过总线18与处理器12相连。存储器16可用于存储软件程序以及单元。具体的,存储器16可存储操作系统162、至少一个功能所需的应用程序单元164。操作系统162可以是实时操作系统(RealTimeeXecutive,RTX)、LINUX、UNIX、WINDOWS或OSX之类的操作系统。图6-2是图1-2所示实施例涉及的第一种应用程序单元的示意图,如图6-2所示,当网络设备100是一个源端节点时,该应用程序单元164可以是第一广播单元164a、第一发送单元164b和更新单元164c。第一广播单元164a,具有与第一广播模块501相同或相似的功能。第一发送单元164b,具有与第一发送模块502相同或相似的功能。更新单元164c,具有与更新模块503相同或相似的功能。图6-3是图1-2所示实施例涉及的第二种应用程序单元的示意图,如图6-3所示,当网络设备100是一个源端节点时,该应用程序单元164还可以是第一广播单元164a、第一发送单元164b、更新单元164c、比较单元164d、第二发送单元164e和第二广播单元164f。第一广播单元164a,具有与第一广播模块501相同或相似的功能。第一发送单元164b,具有与第一发送模块502相同或相似的功能。更新单元164c,具有与更新模块503相同或相似的功能。比较单元164d,具有与比较模块504相同或相似的功能。第二发送单元164e,具有与第二发送模块505相同或相似的功能。第二广播单元164f,具有与第二广播模块506相同或相似的功能。图6-4是图1-2所示实施例涉及的第三种应用程序单元的示意图,如图6-4所示,当网络设备100是一个源端节点时,该应用程序单元164还可以是第一广播单元164a、第一发送单元164b、更新单元164c、第一接收单元164g、生成单元164h、计时单元164i和重置单元164j。第一广播单元164a,具有与第一广播模块501相同或相似的功能。第一发送单元164b,具有与第一发送模块502相同或相似的功能。更新单元164c,具有与更新模块503相同或相似的功能。第一接收单元164g,具有与第一接收模块507相同或相似的功能。生成单元164h,具有与生成模块508相同或相似的功能。计时单元164i,具有与计时模块509相同或相似的功能。重置单元164j,具有与重置模块510相同或相似的功能。图6-5是图1-2所示实施例涉及的第四种应用程序单元的示意图,如图6-5所示,当网络设备100是一个中继节点时,该应用程序单元164还可以是第二接收单元164k、第一获取单元164l、第一判断单元164m、第一丢弃单元164n和第一转发单元164o。第二接收单元164k,具有与第二接收模块511相同或相似的功能。第一获取单元164l,具有与第一获取模块512相同或相似的功能。第一判断单元164m,具有与第一判断模块513相同或相似的功能。第一丢弃单元164n,具有与第一丢弃模块514相同或相似的功能。第一转发单元164o,具有与第一转发模块515相同或相似的功能。图6-6是图1-2所示实施例涉及的第五种应用程序单元的示意图,如图6-6所示,当网络设备100是一个中继节点时,该应用程序单元164还可以是第三接收单元164p、第二获取单元164q、第二判断单元164r、第二丢弃单元164s和第二转发单元164t。第三接收单元164p,具有与第三接收模块516相同或相似的功能。第二获取单元164q,具有与第二获取模块517相同或相似的功能。第二判断单元164r,具有与第二判断模块518相同或相似的功能。第二丢弃单元164s,具有与第二丢弃模块519相同或相似的功能。第二转发单元164t,具有与第二转发模块520相同或相似的功能。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1