CN111342936B - 无线骨干网的网络编码方法及系统 - Google Patents
无线骨干网的网络编码方法及系统 Download PDFInfo
- Publication number
- CN111342936B CN111342936B CN202010143663.4A CN202010143663A CN111342936B CN 111342936 B CN111342936 B CN 111342936B CN 202010143663 A CN202010143663 A CN 202010143663A CN 111342936 B CN111342936 B CN 111342936B
- Authority
- CN
- China
- Prior art keywords
- node
- downstream
- data stream
- backbone
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
- H04L1/0077—Cooperative coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/14—Backbone network devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供一种无线骨干网的网络编码方法及系统,本发明实施例通过第一数据流与第二数据流传输路径中共同的骨干节点发送用于咨询的数据包至第一下游节点和第二下游节点,并由第一下游节点和第二下游节点分别判断自身是否位于对方上游节点的一跳或两跳以内,并在确定自身位于对方上游节点的两跳以内时,确定一个能够连接自身与对方上游节点的中间邻节点,并将确定好的中间邻节点发送给骨干节点,使得骨干节点能够将中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,从而实现了允许处于用户报文传输路径两跳范围内的节点获取用户报文,突破了传统一跳范围的限制。
Description
技术领域
本发明涉及无线通信网络技术领域,尤其涉及一种无线骨干网的网络编码方法及系统。
背景技术
在无线多跳网络中,通过选取部分节点以形成骨干网络,不但可以使得节点间的数据通信或路由变得简单,而且其形成的节点间的层次关系可便于网络的管理。然而,由于骨干网络为所有用户节点之间提供连接,承担着网络中大部分用户数据的路由和转发,因此,为其设计一种高效的数据转发技术至关重要。网络编码技术便是一大关键技术:当骨干网络中的某一节点对不同用户的数据进行转发时,通过对这些不同用户的数据包进行编码,可减少所要转发的数据包数目,从而提升骨干网络的数据转发效率以及吞吐量。
在网络编码中,对于不同用户数据包进行编码(比如使用异或操作)而产生的每一个新数据包,均包含了不同用户的数据,需通过剔除其他用户的数据来提取某一用户的原始数据,这便是译码的过程。因此,使用网络编码需满足:在用户数据的后续转发路径上,须保证能够获得其他用户参与编码的原始数据,以便实现译码。无线信道是广播信道,通过侦听可获取其他用户发送的数据:在用户原始数据的传输路径上,邻近节点可侦听到这些数据从而直接获取这些数据。无线网络中,现在大多数网络编码的使用均将侦听作为一大支撑技术。
无线信号的接收功率随着传输距离的增加而减少,相应地,接收误码率随着距离增加而增加。为实现对于某一用户数据的可靠侦听,侦听节点必须位于用户数据转发路径的邻近区域或者一跳范围内,否则,将无法准确获取用户数据,进而导致网络编码将无法使用以及骨干网转发效率变低。因此,侦听的局限性也使得网络编码在骨干网中的使用受到限制。
发明内容
针对现有技术中的缺陷,本发明实施例提供一种无线骨干网的网络编码方法及系统。
第一方面,本发明实施例提供一种无线骨干网的网络编码方法,包括:
骨干节点向第一数据流的所有第一下游节点发送用于咨询的第一数据包;
骨干节点向第二数据流的所有第二下游节点发送用于咨询的第二数据包;
其中,所述骨干节点为网络中同时负责转发第一数据流和第二数据流的节点;所述第一数据包中携带有所述第二数据流的所有第二上游节点信息,用于咨询所述第一数据流的第一下游节点是否位于第二数据流的第二上游节点的一跳或两跳以内;所述第二数据包中携带有所述第一数据流的所有第一上游节点信息,用于咨询所述第二数据流的第二下游节点是否位于第一数据流的第一上游节点的一跳或两跳以内;
第一下游节点在接收到所述第一数据包后,若判断自身位于第二上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第一回复消息,若判断自身同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身只位于第二上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第一中间邻节点信息的第一回复消息;其中,所述第一中间邻节点为能够连接第一下游节点与第二上游节点的中间节点;
第二下游节点在接收到所述第二数据包后,若判断自身位于第一上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第二回复消息,若判断自身同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第二回复消息;若判断自身只位于第一上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第二中间邻节点信息的第二回复消息;其中,所述第二中间邻节点为能够连接第二下游节点与第一上游节点的中间节点;
骨干节点判断是否接收到第一回复消息和第二回复消息,若是,则判断接收到的所有第一回复消息是否均为包含第二标识以及第一中间邻节点信息的第一回复消息,若是,则向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
以及,判断接收到的所有第二回复消息是否均为包含第二标识以及第二中间邻节点信息的第二回复消息,若是,则向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
第一下游节点在接收到第一指定消息后,发送第一广播消息,所述第一广播消息中包括进行译码操作时需要的数据包以及第一中间邻节点;
第一中间邻节点在接收到所述第一广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第一下游节点;
第二下游节点在接收到第二指定消息后,发送第二广播消息,所述第二广播消息中包括进行译码操作时需要的数据包以及第二中间邻节点;
第二中间邻节点在接收到所述第二广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第二下游节点。
优选地,所述向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第一下游节点发送第一指定消息,用于将所有第一中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
相应地,向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第二下游节点发送第二指定消息,用于将所有第二中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点。
优选地,所述无线骨干网的网络编码方法,还包括:
骨干节点若判断获知接收到的所有第一回复消息中存在包含第一标识的第一回复消息,则由发送包含第一标识的第一回复消息的第一下游节点负责第一数据流和第二数据流的编码数据包的译码操作;
骨干节点若判断获知接收到的所有第二回复消息中存在包含第一标识的第二回复消息,则由发送包含第一标识的第二回复消息的第二下游节点负责第一数据流和第二数据流的编码数据包的译码操作。
优选地,所述无线骨干网的网络编码方法,还包括:
网络中的每个节点监测自身的信道利用率,并周期性发送包含自身的信道利用率和自身的所有一跳邻节点的广播消息。
优选地,所述无线骨干网的网络编码方法,还包括:
网络中的每个节点在检测到网络中存在数据流建立时,记录该数据流的ID、源节点、目的节点和转发路径上所有转发节点信息。
第二方面,本发明实施例提供一种无线骨干网的网络编码系统,包括:
骨干节点向第一数据流的所有第一下游节点发送用于咨询的第一数据包;
骨干节点向第二数据流的所有第二下游节点发送用于咨询的第二数据包;
其中,所述骨干节点为网络中同时负责转发第一数据流和第二数据流的节点;所述第一数据包中携带有所述第二数据流的所有第二上游节点信息,用于咨询所述第一数据流的第一下游节点是否位于第二数据流的第二上游节点的一跳或两跳以内;所述第二数据包中携带有所述第一数据流的所有第一上游节点信息,用于咨询所述第二数据流的第二下游节点是否位于第一数据流的第一上游节点的一跳或两跳以内;
第一下游节点在接收到所述第一数据包后,若判断自身位于第二上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第一回复消息,若判断自身同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身只位于第二上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第一回复消息,若判断自身位于第二上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第一中间邻节点信息的第一回复消息;若判断自身同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;其中,所述第一中间邻节点为能够连接第一下游节点与第二上游节点的中间节点;
第二下游节点在接收到所述第二数据包后,若判断自身位于第一上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第二回复消息,若判断自身同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第二回复消息;若判断自身只位于第一上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第二回复消息,若判断自身位于第一上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第二中间邻节点信息的第二回复消息,若判断自身同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第二回复消息;其中,所述第二中间邻节点为能够连接第二下游节点与第一上游节点的中间节点;
骨干节点判断是否接收到第一回复消息和第二回复消息,若是,则判断接收到的所有第一回复消息是否均为包含第二标识以及第一中间邻节点信息的第一回复消息,若是,则向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
以及,判断接收到的所有第二回复消息是否均为包含第二标识以及第二中间邻节点信息的第二回复消息,若是,则向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
第一下游节点在接收到第一指定消息后,发送第一广播消息,所述第一广播消息中包括进行译码操作时需要的数据包以及第一中间邻节点;
第一中间邻节点在接收到所述第一广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第一下游节点;
第二下游节点在接收到第二指定消息后,发送第二广播消息,所述第二广播消息中包括进行译码操作时需要的数据包以及第二中间邻节点;
第二中间邻节点在接收到所述第二广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第二下游节点。
优选地,所述向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第一下游节点发送第一指定消息,用于将所有第一中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
相应地,向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第二下游节点发送第二指定消息,用于将所有第二中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点。
优选地,所述无线骨干网的网络编码系统,还包括:
骨干节点若判断获知接收到的所有第一回复消息中存在包含第一标识的第一回复消息,则由发送包含第一标识的第一回复消息的第一下游节点负责第一数据流和第二数据流的编码数据包的译码操作;
骨干节点若判断获知接收到的所有第二回复消息中存在包含第一标识的第二回复消息,则由发送包含第一标识的第二回复消息的第二下游节点负责第一数据流和第二数据流的编码数据包的译码操作。
优选地,所述无线骨干网的网络编码系统,还包括:
网络中的每个节点监测自身的信道利用率,并周期性发送包含自身的信道利用率和自身的所有一跳邻节点的广播消息。
优选地,所述无线骨干网的网络编码系统,还包括:
网络中的每个节点在检测到网络中存在数据流建立时,记录该数据流的ID、源节点、目的节点和转发路径上所有转发节点信息。
本发明实施例提供的无线骨干网的网络编码方法及系统,通过第一数据流与第二数据流传输路径中共同的骨干节点发送用于咨询的数据包至第一下游节点和第二下游节点,并由第一下游节点和第二下游节点分别判断自身是否位于对方上游节点的一跳或两跳以内,并在确定自身位于对方上游节点的两跳以内时,确定一个能够连接自身与对方上游节点的中间邻节点,并将确定好的中间邻节点发送给骨干节点,使得骨干节点能够将中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,从而实现了允许处于用户报文传输路径两跳范围内的节点获取用户报文,突破了传统一跳范围的限制,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中无线骨干网的网络编码方法的流程示意图;
图2为本发明实施例中无线骨干网实施网络编码的条件示意图;
图3为本发明实施例中无线骨干网的网络编码系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例中无线骨干网的网络编码方法的流程示意图,如图1所示,本发明实施例提供的一种无线骨干网的网络编码方法,包括:
步骤110、骨干节点向第一数据流的所有第一下游节点发送用于咨询的第一数据包;骨干节点向第二数据流的所有第二下游节点发送用于咨询的第二数据包;
其中,所述骨干节点为网络中同时负责转发第一数据流和第二数据流的节点;所述第一数据包中携带有所述第二数据流的所有第二上游节点信息,用于咨询所述第一数据流的第一下游节点是否位于第二数据流的第二上游节点的一跳或两跳以内;所述第二数据包中携带有所述第一数据流的所有第一上游节点信息,用于咨询所述第二数据流的第二下游节点是否位于第一数据流的第一上游节点的一跳或两跳以内。
具体地,当网络中有数据流建立后,骨干节点首先判断自身是否同时负责转发两个不同的数据流,若只负责转发一条或不负责转发任何数据流数据,则该骨干节点周期性执行“判断自身是否同时负责转发两个不同的数据流”这一步骤。
若骨干节点判断自身同时负责转发两个不同的数据流,即骨干节点同时负责转发第一数据流和第二数据流,骨干节点向第一数据流的所有第一下游节点发送第一数据包,其中,所述第一数据包中包含第二数据流的所有上游节点信息,用于咨询第一数据流的所有第一下游节点,是否位于第二数据流的第二上游节点的一跳或两跳以内,所述第一下游节点指第一数据流传输路径中接收数据的终端节点,所述第二上游节点指第二数据流传输路径中发送数据的原始节点。同时,骨干节点向第二数据流的所有第二下游节点发送第二数据包,其中,所述第二数据包中包含第一数据流的所有上游节点信息,用于咨询第二数据流的所有第二下游节点,是否位于第一数据流的第一上游节点的一跳或两跳以内,所述第二下游节点指第二数据流传输路径中接收数据的终端节点,所述第一上游节点指第一数据流传输路径中发送数据的原始节点。
其中,一跳是指数据从一个节点跳到另一个节点,也就是数据从一个节点N1转发到另一个节点N2,只进行了一次数据转发,也就是节点N2位于节点N1一跳以内;相对地,两跳是指数据从一个节点N1转发至节点N2,再由节点N2转发到另一个节点N3,也就是数据经由一个中间邻节点N2,总共进行了两次数据转发,也就是节点N3节点N1两跳以内,节点N2位于节点N1一跳以内。
无线骨干网络中的两用户数据流实施网络编码,需满足以下条件:
(1)两数据流的数据路由或转发路径交叉于一个骨干节点,即存在一个骨干节点共同转发两数据流的数据包;
(2)视以上所述骨干节点为参考节点,两数据流的下游或者后续转发节点中,均存在一节点位于对方数据流上游节点的两跳范围内。
以上两条件如图2所示,图2为本发明实施例中无线骨干网实施网络编码的条件示意图:第一数据流F1和第二数据流F2的转发路径分别为1->A->C->E->2和3->B->C->D->4,其中数字代表用户,字母代表骨干节点,每个用户归属于一个骨干节点;F1和F2由一共同的骨干节点C转发数据;F1的下游节点E处于F2的上游节点3的一跳范围内,可直接侦听到其发送的数据包;F2的下游节点D处于F1的上游节点1和A的两跳范围内,即D与用户1隔着用户5,与A隔着骨干节点F,我们称用户5和骨干节点F为‘中间邻节点’,此时D不可直接侦听到F1的数据包。也就是在图2中,传统网络编码将无法使用。
下面结合图2所示来说明本发明实施例的技术方案,如图2所示,第一数据流F1和第二数据流F2的传输路径经由多个节点进行转发,第一数据流F1的传输路径和第二数据流F2的传输路径交叉于一个共同的骨干节点C。其中,节点1和A为第一数据流F1的上游节点,节点E和2为第一数据流F2的下游节点;同理,节点3和B为第二数据流F2的上游节点,节点D和4为第二数据流F2的下游节点。
骨干节点C向节点E和2发送第一数据包,所述第一数据包中携带有节点3和B的信息,并用于咨询节点E和2是否位于节点3和B的一跳或两跳范围以内;骨干节点C向节点D和4发送第二数据包,所述第二数据包中携带有节点1和A的信息,并用于咨询节点D和4是否位于节点1和A的一跳或两跳范围以内。
步骤120、第一下游节点在接收到所述第一数据包后,若判断自身位于第二上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身只位于第二上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第一中间邻节点信息的第一回复消息;其中,所述第一中间邻节点为能够连接第一下游节点与第二上游节点的中间节点;
第二下游节点在接收到所述第二数据包后,若判断自身位于第一上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第二回复消息,若判断自身同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第二回复消息;若判断自身只位于第一上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第二中间邻节点信息的第二回复消息;其中,所述第二中间邻节点为能够连接第二下游节点与第一上游节点的中间节点。
具体地,第一下游节点在接收到第一数据包后,若判断只位于第二上游节点的一跳以内,则会向骨干节点发送第一回复信息,所述第一回复信息包含第一标识如“YES1”;若判断同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则会向骨干节点发送第一回复信息,所述第一回复信息包含第一标识如“YES1”;若判断只位于第二上游节点的两跳以内,则会向骨干节点发送第一回复信息,所述第一回复信息包含第二标识如“YES2”以及第一中间邻节点信息;若判断既不位于第二上游节点的一跳以内,也不位于第二上游节点的两跳以内,则不需回复。其中,所述第一中间邻节点是连接第一下游节点与第二上游节点的中间节点,也就是所述第一中间邻节点位于所述第二上游节点的一跳以内,所述第一下游节点位于所述第一中间邻节点的一跳以内。
同样地,第二下游节点在接收到第二数据包后,若判断只位于第一上游节点的一跳以内,则会向骨干节点发送第二回复信息,所述第二回复信息包含第一标识如“YES1”;若判断同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则会向骨干节点发送第二回复信息,所述第二回复信息包含第一标识如“YES1”;若判断只位于第一上游节点的两跳以内,则会向骨干节点发送第二回复信息,所述第二回复信息包含第二标识如“YES2”以及第二中间邻节点信息;若判断既不位于第一上游节点的一跳以内,也不位于第一上游节点的两跳以内,则不需回复。其中,所述第二中间邻节点是连接第二下游节点与第一上游节点的中间节点,也就是所述第二中间邻节点位于所述第一上游节点的一跳以内,所述第二下游节点位于所述第二中间邻节点的一跳以内。
如图2所示,第一数据流F1的下游节点E和2接收到第一数据包后,判断节点E不仅位于节点3的一跳以内,也位于节点B的两跳以内,则节点E会向骨干节点C发送“YES1”,而节点2不回复消息。
同样地,第二数据流F2的下游节点D和4接收到第二数据包后,判断节点D均位于节点1和A的两跳以内,而节点4既没有位于节点1和A的一跳以内,也没有位于节点1和A的两跳以内,因此则节点D会向骨干节点C发送“YES2”以及中间邻节点5和F的信息,节点4不会向骨干节点C发送回复消息。
步骤130、骨干节点判断是否接收到第一回复消息和第二回复消息,若是,则判断接收到的所有第一回复消息是否均为包含第二标识以及第一中间邻节点信息的第一回复消息,若是,则向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
以及,判断接收到的所有第二回复消息是否均为包含第二标识以及第二中间邻节点信息的第二回复消息,若是,则向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点。
具体地,骨干节点通过一定时长内接收到第一回复消息和第二回复消息,若在给定时间内只接收到其中一个回复消息或者没有接收到任何回复消息,则重复执行步骤110和120;若在所述给定时间内成功接收到第一回复消息和第二回复消息,代表实施网络编码的条件已经形成。
骨干节点接收到第一回复消息和第二回复消息后,需要判断所要实施网络编码的类型。具体为:判断第一回复消息中是否均是只包含第二标识如“YES2”和第一中间邻节点信息,若是,则向发送第一回复消息的第一下游节点发送第一指定消息,用于指定第一下游节点对应的第一中间邻节点作为译码协作处理的节点,负责为第一数据流和第二数据流的编码数据包进行译码协作处理。
同样地,判断第二回复消息中是否均是只包含第二标识如“YES2”和第二中间邻节点信息,若是,则向发送第二回复消息的第二下游节点发送第二指定消息,用于指定第二下游节点对应的第二中间邻节点作为译码协作处理的节点,负责为第一数据流和第二数据流的编码数据包进行译码协作处理。之后,骨干节点启动对第一数据流和第二数据流的数据包进行异或编码。
如图2所示,骨干节点C在短时间内成功接收到第一数据流F1的下游节点为E发送的回复消息包含“YES1”,以及第二数据流F2的下游节点D向发送的回复消息包含“YES2”以及中间邻节点5和F的信息。
骨干节点C根据接收到的回复消息可判断第一数据流F1下游节点E可以独立完成译码,但是第二数据流F2所有下游节点无法独立完成译码,因此,传统网络编码不能实施。然而,如果第二数据流F2下游节点D借助其一“中间邻节点”,可实现译码,因此,骨干节点C发送“译码指定”消息给节点D,通知节点D将负责对第一数据流F1和第二数据流F2的异或编码数据包进行译码,并启动对第一数据流F1和第二数据流F2的数据包进行网络编码。
步骤140、第一下游节点在接收到第一指定消息后,发送第一广播消息,所述第一广播消息中包括进行译码操作时需要的数据包以及第一中间邻节点;
第一中间邻节点在接收到所述第一广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第一下游节点;
第二下游节点在接收到第二指定消息后,发送第二广播消息,所述第二广播消息中包括进行译码操作时需要的数据包以及第二中间邻节点;
第二中间邻节点在接收到所述第二广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第二下游节点。
具体地,发送第一回复消息的第一下游节点,在接收到骨干节点发送的第一指定消息后,会向外发送第一广播消息,其中所述第一广播消息包括进行译码操作时需要的第二数据流的用户数据包以及所述第一下游节点对应的第一中间邻节点。第一中间邻节点在接收到第一广播消息后,从中读取所要帮忙转发的第二数据流的用户数据包,然后从缓存中找到对应的数据包转发至第一下游节点。
同样地,发送第二回复消息的第二下游节点,在接收到骨干节点发送的第二指定消息后,会向外发送第二广播消息,其中所述第人广播消息包括进行译码操作时需要的第一数据流的用户数据包以及所述第二下游节点对应的第二中间邻节点。第二中间邻节点在接收到第二广播消息后,从中读取所要帮忙转发的第一数据流的用户数据包,然后从缓存中找到对应的数据包转发至第二下游节点。
需要说明的是,第一中间邻节点和第二中间邻节点将侦听到的用户数据放入缓存,若缓存溢出,可先丢弃最早侦听到的数据包;所述第一广播消息和第二广播消息可以设置成以一定周期向外发送消息,还可以根据具体情况进行设置,本发明实施例对此不作具体限定。
如图2所示,第二数据流F2中节点D在接收到骨干节点C的“译码指定”消息后,首先判断出节点5或F可帮助转发第一数据流F1的用户数据包来帮助其实现译码,之后,若节点D接收到第一数据流F1和第二数据流F2的编码数据包,将向外发送广播消息如“Hello”消息,并在Hello消息中添加节点5或F以及译码所需的第一数据流F1的用户数据包。
节点5或F在接收到来自节点D的Hello消息后,判断其需要为该Hello消息的发送者节点D传递译码所需数据包,从而读取所要帮忙转发的第一数据流F1的用户数据包,然后从侦听缓存中找到这些数据包转发给节点D。
本发明实施例提供的无线骨干网的网络编码方法,通过第一数据流与第二数据流传输路径中共同的骨干节点发送用于咨询的数据包至第一下游节点和第二下游节点,并由第一下游节点和第二下游节点分别判断自身是否位于对方上游节点的一跳或两跳以内,并在确定自身位于对方上游节点的两跳以内时,确定一个能够连接自身与对方上游节点的中间邻节点,并将确定好的中间邻节点发送给骨干节点,使得骨干节点能够将中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,从而实现了允许处于用户报文传输路径两跳范围内的节点获取用户报文,突破了传统一跳范围的限制,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
基于上述实施例的内容,作为一种可选实施例,所述向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第一下游节点发送第一指定消息,用于将所有第一中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
相应地,向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第二下游节点发送第二指定消息,用于将所有第二中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点。
具体地,第一下游节点向骨干节点发送的第一回复信息中,会包含一个或多个中间邻节点信息;若只包含一个中间邻节点信息,则将第一指定消息发送至第一下游节点,指定该中间邻节点作为译码辅助节点;若包含多个中间邻节点信息,骨干节点从第一回复信息中找出包含最低信道利用率的回复,将第一指定消息发送至第一下游节点,将信道利用率最低的中间邻节点指定为译码辅助节点,并告之第一下游节点由其负责为第一数据流和第二数据流的编码数据包进行译码,其中,所述第一下游节点为发送第一回复信息中包含信道利用率最低的中间邻节点对应的节点。
同样地,第二下游节点向骨干节点发送的第二回复信息中,会包含一个或多个中间邻节点信息;若只包含一个中间邻节点信息,则将第二指定消息发送至第二下游节点,指定该中间邻节点作为译码辅助节点;若包含多个中间邻节点信息,骨干节点从第一回复信息中找出包含最低信道利用率的回复,将第二指定消息发送至第二下游节点,将信道利用率最低的中间邻节点指定为译码辅助节点,并告之第二下游节点由其负责为第一数据流和第二数据流的编码数据包进行译码,其中,所述第二下游节点为发送第二回复信息中包含信道利用率最低的中间邻节点对应的节点。
如图2所示,第二数据流F2中,节点D向骨干节点C发送的回复信息中,包含“YES2”,以及节点5和F两个中间邻节点信息,并且会将节点5和F的信道利用率中较低值包含在回复消息中(假设节点5的信道利用率较低),那么骨干节点C会向节点D发送译码指定消息,用于指定节点5作为译码辅助节点,负责为第一数据流F1和第二数据流F2的编码数据包进行译码。
本发明实施例提供的无线骨干网的网络编码方法,通过选取信道利用率最低的中间邻节点作为译码辅助节点,使用网络中未被充分利用的资源(即信道占有率较低的节点),来换取骨干节点处更多使用网络编码的机会,以此减轻骨干节点的数据转发压力;它事实上是一种流量均衡机制,通过在网络低流量部分引入额外开销,来换取网络核心部分(即骨干节点)的高效数据转发,能有效避免网络出现瓶颈现象,从而提高骨干网络的吞吐量。
基于上述实施例的内容,作为一种可选实施例,所述无线骨干网的网络编码方法,还包括:
骨干节点若判断获知接收到的所有第一回复消息中存在包含第一标识的第一回复消息,则由发送包含第一标识的第一回复消息的第一下游节点负责第一数据流和第二数据流的编码数据包的译码操作;
骨干节点若判断获知接收到的所有第二回复消息中存在包含第一标识的第二回复消息,则由发送包含第一标识的第二回复消息的第二下游节点负责第一数据流和第二数据流的编码数据包的译码操作。
具体地,骨干节点接收到第一回复消息后,则判断第一回复消息中是否存在包含第一标识如“YES1”的消息,若是,则向发送第一回复消息的第一下游节点发送第一指定消息,用于指定第一下游节点作为译码节点,负责为第一数据流和第二数据流的编码数据包进行译码操作。
同样地,判断判断第二回复消息中是否存在包含第一标识如“YES1”的消息,若是,则向发送第二回复消息的第二下游节点发送第二指定消息,用于指定第二下游节点作为译码节点,负责为第一数据流和第二数据流的编码数据包进行译码操作。
如图2所示,第一数据流F1的下游节点E向骨干节点C发送的回复消息包含“YES1”,判断节点E可独立完成译码,因此,骨干节点C向节点E发送指定消息,指定节点E作为译码节点,负责为第一数据流和第二数据流的编码数据包进行译码操作。
骨干节点接收回复消息后,判断所要实施网络编码的类型,判断结果如下:
(1)来自第一数据流F1和第二数据流F2下游节点的回复均包含“YES1”。此情形下,将启用传统网络编码,即骨干节点对第一数据流F1和第二数据流F2的数据包进行异或编码,编码后的数据包将在那些回复“YES1”的下游节点处译码。
(2)某一数据流(假设第一数据流F1)下游节点的回复中包含“YES1”,而另一数据流(假设第二数据流F2)下游节点的回复中只包含“YES2”。此情形下,骨干节点从来自第二数据流F2下游节点的所有回复中找出包含最低信道利用率的回复,并通过发送消息(以下称为‘译码指定’消息)告诉该回复的发送者,来自第一数据流F1和第二数据流F2的编码数据包将由其负责译码。之后,骨干节点启动对第一数据流F1和第二数据流F2的数据包进行异或编码。对于第一数据流F1而言,编码后的数据包可在任何回复“YES1”的节点处译码。
(3)来自第一数据流F1和F2下游节点的回复均只包含“YES2”。此情形下,骨干节点分别从来自第一数据流F1和第二数据流F2下游节点的所有回复中找出包含最低信道利用率的回复,并通过发送‘译码指定’消息分别告诉以上两回复的发送者,来自第一数据流F1和第二数据流F2的编码数据包将由它们负责译码。之后,骨干节点启动对第一数据流F1和第二数据流F2的数据包进行异或编码。
本发明实施例提供的无线骨干网的网络编码方法,通过选取位于对方数据流上游节点的一跳内的节点作为译码节点,该译码节点可以独立完成译码,不需要译码辅助节点,减轻骨干节点的数据转发压力,能有效避免网络出现瓶颈现象,从而提高骨干网络的吞吐量,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
基于上述实施例的内容,作为一种可选实施例,所述无线骨干网的网络编码方法,还包括
网络中的每个节点监测自身的信道利用率,并周期性发送包含自身的信道利用率和自身的所有一跳邻节点的广播消息。
具体地,网络中的每个节点会记录并周期性更新及广播信道利用率。每个节点监测其信道的忙碌状况,即在一定时长内信道被占用的比例,该信息将通过广播消息进行周期性广播。每个广播消息中包含其所有一跳邻节点以及信道利用率。该消息的广播旨在为其他节点获取一跳和两跳邻节点信息。首先,接收广播消息如Hello消息的节点能获取并记录发送该Hello消息的节点,即其一跳邻节点,同时,也获取该邻节点的信道忙碌状况;其次,由于Hello消息中包含了发送节点的一跳邻节点信息,接收该Hello消息的节点将能够获取并记录其两跳邻节点信息。
本发明实施例提供的无线骨干网的网络编码方法,通过每个节点监测其自身的信道利用率,并以广播消息发送自身信道利用率和每个节点的所有一跳邻节点信息,使每个节点获取一跳和两跳邻节点信息,为判断网络编码条件提供数据,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
基于上述实施例的内容,作为一种可选实施例,所述无线骨干网的网络编码方法,还包括:
网络中的每个节点在检测到网络中存在数据流建立时,记录该数据流的ID、源节点、目的节点和转发路径上所有转发节点信息。
具体地,骨干网络中的每个节点检测到网络中存在数据流建立时,数据流上的每一个节点记录该数据流信息,包括数据流的ID、源节点、目的节点、转发路径上所有转发节点。通过记录以上信息,数据流上的每个节点将获取该数据流的上游和下游节点信息。
本发明实施例提供的无线骨干网的网络编码方法,通过每个节点记录数据流的ID,源节点、目的节点和转发路径上所有转发节点信息,使数据流上每个节点能够获取该数据流的上游和下游节点信息,为判断网络编码条件提供数据,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
图3为本发明实施例中无线骨干网的网络编码系统的结构示意图,如图3所示,本发明实施例提供的一种无线骨干网的网络编码系统,包括:
骨干节点向第一数据流的所有第一下游节点发送用于咨询的第一数据包;骨干节点向第二数据流的所有第二下游节点发送用于咨询的第二数据包;
其中,所述骨干节点为网络中同时负责转发第一数据流和第二数据流的节点;所述第一数据包中携带有所述第二数据流的所有第二上游节点信息,用于咨询所述第一数据流的第一下游节点是否位于第二数据流的第二上游节点的一跳或两跳以内;所述第二数据包中携带有所述第一数据流的所有第一上游节点信息,用于咨询所述第二数据流的第二下游节点是否位于第一数据流的第一上游节点的一跳或两跳以内。
具体地,当网络中有数据流建立后,骨干节点首先判断自身是否同时负责转发两个不同的数据流,若只负责转发一条或不负责转发任何数据流数据,则该骨干节点周期性执行“判断自身是否同时负责转发两个不同的数据流”这一步骤。
若骨干节点判断自身同时负责转发两个不同的数据流,即骨干节点同时负责转发第一数据流和第二数据流,骨干节点向第一数据流的所有第一下游节点发送第一数据包,其中,所述第一数据包中包含第二数据流的所有上游节点信息,用于咨询第一数据流的所有第一下游节点,是否位于第二数据流的第二上游节点的一跳或两跳以内,所述第一下游节点指第一数据流传输路径中接收数据的终端节点,所述第二上游节点指第二数据流传输路径中发送数据的原始节点。同时,骨干节点向第二数据流的所有第二下游节点发送第二数据包,其中,所述第二数据包中包含第一数据流的所有上游节点信息,用于咨询第二数据流的所有第二下游节点,是否位于第一数据流的第一上游节点的一跳或两跳以内,所述第二下游节点指第二数据流传输路径中接收数据的终端节点,所述第一上游节点指第一数据流传输路径中发送数据的原始节点。
其中,一跳是指数据从一个节点跳到另一个节点,也就是数据从一个节点N1转发到另一个节点N2,只进行了一次数据转发,也就是节点N2位于节点N1一跳以内;相对地,两跳是指数据从一个节点N1转发至节点N2,再由节点N2转发到另一个节点N3,也就是数据经由一个中间邻节点N2,总共进行了两次数据转发,也就是节点N3节点N1两跳以内,节点N2位于节点N1一跳以内。
第一下游节点在接收到所述第一数据包后,若判断自身位于第二上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身只位于第二上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第一中间邻节点信息的第一回复消息;其中,所述第一中间邻节点为能够连接第一下游节点与第二上游节点的中间节点;
第二下游节点在接收到所述第二数据包后,若判断自身位于第一上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第二回复消息,若判断自身同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第二回复消息;若判断自身只位于第一上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第二中间邻节点信息的第二回复消息;其中,所述第二中间邻节点为能够连接第二下游节点与第一上游节点的中间节点。
具体地,第一下游节点在接收到第一数据包后,若判断只位于第二上游节点的一跳以内,则会向骨干节点发送第一回复信息,所述第一回复信息包含第一标识如“YES1”;若判断同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则会向骨干节点发送第一回复信息,所述第一回复信息包含第一标识如“YES1”;若判断只位于第二上游节点的两跳以内,则会向骨干节点发送第一回复信息,所述第一回复信息包含第二标识如“YES2”以及第一中间邻节点信息;若判断既不位于第二上游节点的一跳以内,也不位于第二上游节点的两跳以内,则不需回复。其中,所述第一中间邻节点是连接第一下游节点与第二上游节点的中间节点,也就是所述第一中间邻节点位于所述第二上游节点的一跳以内,所述第一下游节点位于所述第一中间邻节点的一跳以内。
同样地,第二下游节点在接收到第二数据包后,若判断只位于第一上游节点的一跳以内,则会向骨干节点发送第二回复信息,所述第二回复信息包含第一标识如“YES1”;若判断同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则会向骨干节点发送第二回复信息,所述第二回复信息包含第一标识如“YES1”;若判断只位于第一上游节点的两跳以内,则会向骨干节点发送第二回复信息,所述第二回复信息包含第二标识如“YES2”以及第二中间邻节点信息;若判断既不位于第一上游节点的一跳以内,也不位于第一上游节点的两跳以内,则不需回复。其中,所述第二中间邻节点是连接第二下游节点与第一上游节点的中间节点,也就是所述第二中间邻节点位于所述第一上游节点的一跳以内,所述第二下游节点位于所述第二中间邻节点的一跳以内。
骨干节点判断是否接收到第一回复消息和第二回复消息,若是,则判断接收到的所有第一回复消息是否均为包含第二标识以及第一中间邻节点信息的第一回复消息,若是,则向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
以及,判断接收到的所有第二回复消息是否均为包含第二标识以及第二中间邻节点信息的第二回复消息,若是,则向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点。
具体地,骨干节点通过一定时长内接收到第一回复消息和第二回复消息,若在给定时间内只接收到其中一个回复消息或者没有接收到任何回复消息,则重复执行步骤110和120;若在所述给定时间内成功接收到第一回复消息和第二回复消息,代表实施网络编码的条件已经形成。
骨干节点接收到第一回复消息和第二回复消息后,需要判断所要实施网络编码的类型。具体为:判断第一回复消息中是否均是只包含第二标识如“YES2”和第一中间邻节点信息,若是,则向发送第一回复消息的第一下游节点发送第一指定消息,用于指定第一下游节点对应的第一中间邻节点作为译码协作处理的节点,负责为第一数据流和第二数据流的编码数据包进行译码协作处理。
同样地,判断第二回复消息中是否均是只包含第二标识如“YES2”和第二中间邻节点信息,若是,则向发送第二回复消息的第二下游节点发送第二指定消息,用于指定第二下游节点对应的第二中间邻节点作为译码协作处理的节点,负责为第一数据流和第二数据流的编码数据包进行译码协作处理。之后,骨干节点启动对第一数据流和第二数据流的数据包进行异或编码。
第一下游节点在接收到第一指定消息后,发送第一广播消息,所述第一广播消息中包括进行译码操作时需要的数据包以及第一中间邻节点;
第一中间邻节点在接收到所述第一广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第一下游节点;
第二下游节点在接收到第二指定消息后,发送第二广播消息,所述第二广播消息中包括进行译码操作时需要的数据包以及第二中间邻节点;
第二中间邻节点在接收到所述第二广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第二下游节点。
具体地,发送第一回复消息的第一下游节点,在接收到骨干节点发送的第一指定消息后,会向外发送第一广播消息,其中所述第一广播消息包括进行译码操作时需要的第二数据流的用户数据包以及所述第一下游节点对应的第一中间邻节点。第一中间邻节点在接收到第一广播消息后,从中读取所要帮忙转发的第二数据流的用户数据包,然后从缓存中找到对应的数据包转发至第一下游节点。
同样地,发送第二回复消息的第二下游节点,在接收到骨干节点发送的第二指定消息后,会向外发送第二广播消息,其中所述第人广播消息包括进行译码操作时需要的第一数据流的用户数据包以及所述第二下游节点对应的第二中间邻节点。第二中间邻节点在接收到第二广播消息后,从中读取所要帮忙转发的第一数据流的用户数据包,然后从缓存中找到对应的数据包转发至第二下游节点。
需要说明的是,第一中间邻节点和第二中间邻节点将侦听到的用户数据放入缓存,若缓存溢出,可先丢弃最早侦听到的数据包;所述第一广播消息和第二广播消息可以设置成以一定周期向外发送消息,还可以根据具体情况进行设置,本发明实施例对此不作具体限定。
本发明实施例提供的无线骨干网的网络编码系统用于执行上述无线骨干网的网络编码方法,其具体的实施方式与方法实施方式一致,此处不再赘述。
本发明实施例提供的无线骨干网的网络编码系统,通过第一数据流与第二数据流传输路径中共同的骨干节点发送用于咨询的数据包至第一下游节点和第二下游节点,并由第一下游节点和第二下游节点分别判断自身是否位于对方上游节点的一跳或两跳以内,并在确定自身位于对方上游节点的两跳以内时,确定一个能够连接自身与对方上游节点的中间邻节点,并将确定好的中间邻节点发送给骨干节点,使得骨干节点能够将中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,从而实现了允许处于用户报文传输路径两跳范围内的节点获取用户报文,突破了传统一跳范围的限制,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
基于上述实施例的内容,作为一种可选实施例,所述向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第一下游节点发送第一指定消息,用于将所有第一中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
相应地,向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第二下游节点发送第二指定消息,用于将所有第二中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点。
具体地,第一下游节点向骨干节点发送的第一回复信息中,会包含一个或多个中间邻节点信息;若只包含一个中间邻节点信息,则将第一指定消息发送至第一下游节点,指定该中间邻节点作为译码辅助节点;若包含多个中间邻节点信息,骨干节点从第一回复信息中找出包含最低信道利用率的回复,将第一指定消息发送至第一下游节点,将信道利用率最低的中间邻节点指定为译码辅助节点,并告之第一下游节点由其负责为第一数据流和第二数据流的编码数据包进行译码,其中,所述第一下游节点为发送第一回复信息中包含信道利用率最低的中间邻节点对应的节点。
同样地,第二下游节点向骨干节点发送的第二回复信息中,会包含一个或多个中间邻节点信息;若只包含一个中间邻节点信息,则将第二指定消息发送至第二下游节点,指定该中间邻节点作为译码辅助节点;若包含多个中间邻节点信息,骨干节点从第一回复信息中找出包含最低信道利用率的回复,将第二指定消息发送至第二下游节点,将信道利用率最低的中间邻节点指定为译码辅助节点,并告之第二下游节点由其负责为第一数据流和第二数据流的编码数据包进行译码,其中,所述第二下游节点为发送第二回复信息中包含信道利用率最低的中间邻节点对应的节点。
本发明实施例提供的无线骨干网的网络编码系统用于执行上述无线骨干网的网络编码方法,其具体的实施方式与方法实施方式一致,此处不再赘述。
本发明实施例提供的无线骨干网的网络编码系统,通过选取信道利用率最低的中间邻节点作为译码辅助节点,使用网络中未被充分利用的资源(即信道占有率较低的节点),来换取骨干节点处更多使用网络编码的机会,以此减轻骨干节点的数据转发压力;它事实上是一种流量均衡机制,通过在网络低流量部分引入额外开销,来换取网络核心部分(即骨干节点)的高效数据转发,能有效避免网络出现瓶颈现象,从而提高骨干网络的吞吐量。
基于上述实施例的内容,作为一种可选实施例,所述无线骨干网的网络编码系统,还包括:
骨干节点若判断获知接收到的所有第一回复消息中存在包含第一标识的第一回复消息,则由发送包含第一标识的第一回复消息的第一下游节点负责第一数据流和第二数据流的编码数据包的译码操作;
骨干节点若判断获知接收到的所有第二回复消息中存在包含第一标识的第二回复消息,则由发送包含第一标识的第二回复消息的第二下游节点负责第一数据流和第二数据流的编码数据包的译码操作。
具体地,骨干节点接收到第一回复消息后,则判断第一回复消息中是否存在包含第一标识如“YES1”的消息,若是,则向发送第一回复消息的第一下游节点发送第一指定消息,用于指定第一下游节点作为译码节点,负责为第一数据流和第二数据流的编码数据包进行译码操作。
同样地,判断判断第二回复消息中是否存在包含第一标识如“YES1”的消息,若是,则向发送第二回复消息的第二下游节点发送第二指定消息,用于指定第二下游节点作为译码节点,负责为第一数据流和第二数据流的编码数据包进行译码操作。
本发明实施例提供的无线骨干网的网络编码系统用于执行上述无线骨干网的网络编码方法,其具体的实施方式与方法实施方式一致,此处不再赘述。
本发明实施例提供的无线骨干网的网络编码系统,通过选取位于对方数据流上游节点的一跳内的节点作为译码节点,该译码节点可以独立完成译码,不需要译码辅助节点,减轻骨干节点的数据转发压力,能有效避免网络出现瓶颈现象,从而提高骨干网络的吞吐量,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
基于上述实施例的内容,作为一种可选实施例,所述无线骨干网的网络编码系统,还包括:
网络中的每个节点监测自身的信道利用率,并周期性发送包含自身的信道利用率和自身的所有一跳邻节点的广播消息。
具体地,网络中的每个节点会记录并周期性更新及广播信道利用率。每个节点监测其信道的忙碌状况,即在一定时长内信道被占用的比例,该信息将通过广播消息进行周期性广播。每个广播消息中包含其所有一跳邻节点以及信道利用率。该消息的广播旨在为其他节点获取一跳和两跳邻节点信息。首先,接收广播消息如Hello消息的节点能获取并记录发送该Hello消息的节点,即其一跳邻节点,同时,也获取该邻节点的信道忙碌状况;其次,由于Hello消息中包含了发送节点的一跳邻节点信息,接收该Hello消息的节点将能够获取并记录其两跳邻节点信息。
本发明实施例提供的无线骨干网的网络编码系统用于执行上述无线骨干网的网络编码方法,其具体的实施方式与方法实施方式一致,此处不再赘述。
本发明实施例提供的无线骨干网的网络编码系统,通过每个节点监测其自身的信道利用率,并以广播消息发送自身信道利用率和每个节点的所有一跳邻节点信息,使每个节点获取一跳和两跳邻节点信息,为判断网络编码条件提供数据,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
基于上述实施例的内容,作为一种可选实施例,所述无线骨干网的网络编码系统,还包括:
网络中的每个节点在检测到网络中存在数据流建立时,记录该数据流的ID、源节点、目的节点和转发路径上所有转发节点信息。
具体地,骨干网络中的每个节点检测到网络中存在数据流建立时,数据流上的每一个节点记录该数据流信息,包括数据流的ID、源节点、目的节点、转发路径上所有转发节点。通过记录以上信息,数据流上的每个节点将获取该数据流的上游和下游节点信息。
本发明实施例提供的无线骨干网的网络编码系统用于执行上述无线骨干网的网络编码方法,其具体的实施方式与方法实施方式一致,此处不再赘述。
本发明实施例提供的无线骨干网的网络编码系统,通过每个节点记录数据流的ID,源节点、目的节点和转发路径上所有转发节点信息,使数据流上每个节点能够获取该数据流的上游和下游节点信息,为判断网络编码条件提供数据,从而使得骨干节点能够在更多条件下使用网络编码进行高效数据转发。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种无线骨干网的网络编码方法,其特征在于,包括:
骨干节点向第一数据流的所有第一下游节点发送用于咨询的第一数据包;
骨干节点向第二数据流的所有第二下游节点发送用于咨询的第二数据包;
其中,所述骨干节点为网络中同时负责转发第一数据流和第二数据流的节点;所述第一数据包中携带有所述第二数据流的所有第二上游节点信息,用于咨询所述第一数据流的第一下游节点是否位于第二数据流的第二上游节点的一跳或两跳以内;所述第二数据包中携带有所述第一数据流的所有第一上游节点信息,用于咨询所述第二数据流的第二下游节点是否位于第一数据流的第一上游节点的一跳或两跳以内;
第一下游节点在接收到所述第一数据包后,若判断自身位于第二上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身只位于第二上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第一中间邻节点信息的第一回复消息;其中,所述第一中间邻节点为能够连接第一下游节点与第二上游节点的中间节点;
第二下游节点在接收到所述第二数据包后,若判断自身位于第一上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第二回复消息,若判断自身同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第二回复消息;若判断自身只位于第一上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第二中间邻节点信息的第二回复消息;其中,所述第二中间邻节点为能够连接第二下游节点与第一上游节点的中间节点;
骨干节点判断是否接收到第一回复消息和第二回复消息,若是,则判断接收到的所有第一回复消息是否均为包含第二标识以及第一中间邻节点信息的第一回复消息,若是,则向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
以及,判断接收到的所有第二回复消息是否均为包含第二标识以及第二中间邻节点信息的第二回复消息,若是,则向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
第一下游节点在接收到第一指定消息后,发送第一广播消息,所述第一广播消息中包括进行译码操作时需要的数据包以及第一中间邻节点;
第一中间邻节点在接收到所述第一广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第一下游节点;
第二下游节点在接收到第二指定消息后,发送第二广播消息,所述第二广播消息中包括进行译码操作时需要的数据包以及第二中间邻节点;
第二中间邻节点在接收到所述第二广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第二下游节点。
2.根据权利要求1所述的无线骨干网的网络编码方法,其特征在于,所述向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第一下游节点发送第一指定消息,用于将所有第一中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
相应地,向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第二下游节点发送第二指定消息,用于将所有第二中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点。
3.根据权利要求1所述的无线骨干网的网络编码方法,其特征在于,还包括:
骨干节点若判断获知接收到的所有第一回复消息中存在包含第一标识的第一回复消息,则由发送包含第一标识的第一回复消息的第一下游节点负责第一数据流和第二数据流的编码数据包的译码操作;
骨干节点若判断获知接收到的所有第二回复消息中存在包含第一标识的第二回复消息,则由发送包含第一标识的第二回复消息的第二下游节点负责第一数据流和第二数据流的编码数据包的译码操作。
4.根据权利要求1所述的无线骨干网的网络编码方法,其特征在于,还包括:
网络中的每个节点监测自身的信道利用率,并周期性发送包含自身的信道利用率和自身的所有一跳邻节点的广播消息。
5.根据权利要求1所述的无线骨干网的网络编码方法,其特征在于,还包括:
网络中的每个节点在检测到网络中存在数据流建立时,记录该数据流的ID、源节点、目的节点和转发路径上所有转发节点信息。
6.一种无线骨干网的网络编码系统,其特征在于,包括:
骨干节点向第一数据流的所有第一下游节点发送用于咨询的第一数据包;
骨干节点向第二数据流的所有第二下游节点发送用于咨询的第二数据包;
其中,所述骨干节点为网络中同时负责转发第一数据流和第二数据流的节点;所述第一数据包中携带有所述第二数据流的所有第二上游节点信息,用于咨询所述第一数据流的第一下游节点是否位于第二数据流的第二上游节点的一跳或两跳以内;所述第二数据包中携带有所述第一数据流的所有第一上游节点信息,用于咨询所述第二数据流的第二下游节点是否位于第一数据流的第一上游节点的一跳或两跳以内;
第一下游节点在接收到所述第一数据包后,若判断自身位于第二上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第一回复消息,若判断自身同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;若判断自身只位于第二上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第一回复消息,若判断自身位于第二上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第一中间邻节点信息的第一回复消息;若判断自身同时位于第二上游节点的一跳以内又位于第二上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第一回复消息;其中,所述第一中间邻节点为能够连接第一下游节点与第二上游节点的中间节点;
第二下游节点在接收到所述第二数据包后,若判断自身位于第一上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第二回复消息,若判断自身同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第二回复消息;若判断自身只位于第一上游节点的一跳以内,则向所述骨干节点回复包含第一标识的第二回复消息,若判断自身位于第一上游节点的两跳以内,则向所述骨干节点回复包含第二标识以及第二中间邻节点信息的第二回复消息,若判断自身同时位于第一上游节点的一跳以内又位于第一上游节点的两跳以内,则向所述骨干节点回复包含第一标识的第二回复消息;其中,所述第二中间邻节点为能够连接第二下游节点与第一上游节点的中间节点;
骨干节点判断是否接收到第一回复消息和第二回复消息,若是,则判断接收到的所有第一回复消息是否均为包含第二标识以及第一中间邻节点信息的第一回复消息,若是,则向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
以及,判断接收到的所有第二回复消息是否均为包含第二标识以及第二中间邻节点信息的第二回复消息,若是,则向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
第一下游节点在接收到第一指定消息后,发送第一广播消息,所述第一广播消息中包括进行译码操作时需要的数据包以及第一中间邻节点;
第一中间邻节点在接收到所述第一广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第一下游节点;
第二下游节点在接收到第二指定消息后,发送第二广播消息,所述第二广播消息中包括进行译码操作时需要的数据包以及第二中间邻节点;
第二中间邻节点在接收到所述第二广播消息后,从自身缓存中查询所述进行译码操作时需要的数据包,并将查询得到的数据包转发至所述第二下游节点。
7.根据权利要求6所述的无线骨干网的网络编码系统,其特征在于,所述向第一下游节点发送第一指定消息,用于将第一中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第一下游节点发送第一指定消息,用于将所有第一中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点;
相应地,向第二下游节点发送第二指定消息,用于将第二中间邻节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点,具体包括:
向第二下游节点发送第二指定消息,用于将所有第二中间邻节点中信道利用率最低的节点指定为负责为第一数据流和第二数据流的编码数据包进行译码协作处理的节点。
8.根据权利要求6所述的无线骨干网的网络编码系统,其特征在于,还包括:
骨干节点若判断获知接收到的所有第一回复消息中存在包含第一标识的第一回复消息,则由发送包含第一标识的第一回复消息的第一下游节点负责第一数据流和第二数据流的编码数据包的译码操作;
骨干节点若判断获知接收到的所有第二回复消息中存在包含第一标识的第二回复消息,则由发送包含第一标识的第二回复消息的第二下游节点负责第一数据流和第二数据流的编码数据包的译码操作。
9.根据权利要求6所述的无线骨干网的网络编码系统,其特征在于,还包括:
网络中的每个节点监测自身的信道利用率,并周期性发送包含自身的信道利用率和自身的所有一跳邻节点的广播消息。
10.根据权利要求6所述的无线骨干网的网络编码系统,其特征在于,还包括:
网络中的每个节点在检测到网络中存在数据流建立时,记录该数据流的ID、源节点、目的节点和转发路径上所有转发节点信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010143663.4A CN111342936B (zh) | 2020-03-04 | 2020-03-04 | 无线骨干网的网络编码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010143663.4A CN111342936B (zh) | 2020-03-04 | 2020-03-04 | 无线骨干网的网络编码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111342936A CN111342936A (zh) | 2020-06-26 |
CN111342936B true CN111342936B (zh) | 2022-04-22 |
Family
ID=71187291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010143663.4A Active CN111342936B (zh) | 2020-03-04 | 2020-03-04 | 无线骨干网的网络编码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111342936B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436997A (zh) * | 2008-12-05 | 2009-05-20 | 西安交通大学 | 一种基于aodv以及链路故障类型的路由修复方法 |
CN102726097A (zh) * | 2010-01-28 | 2012-10-10 | 高通股份有限公司 | 用于根据回程链路来偏置切换决策的方法和装置 |
CN103108372A (zh) * | 2013-01-21 | 2013-05-15 | 南京邮电大学 | 基于节点发送和接收能力的干扰感知跨层路由方法 |
CN105187326A (zh) * | 2015-08-25 | 2015-12-23 | 湖南大学 | 一种两跳无线网络拓扑结构中的网络编码侦听管理方法 |
WO2017112744A1 (en) * | 2015-12-21 | 2017-06-29 | University Of Florida Research Foundation, Incorporated | Improved joint fountain coding and network coding for loss-tolerant information spreading |
CN110809304A (zh) * | 2019-11-01 | 2020-02-18 | 北京星河亮点技术股份有限公司 | 一种网络中数据流报文转发方法及网络系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130058276A1 (en) * | 2011-09-07 | 2013-03-07 | Qualcomm Incorporated | Method and apparatus for signaling side information for network coding in a wireless communication network |
-
2020
- 2020-03-04 CN CN202010143663.4A patent/CN111342936B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436997A (zh) * | 2008-12-05 | 2009-05-20 | 西安交通大学 | 一种基于aodv以及链路故障类型的路由修复方法 |
CN102726097A (zh) * | 2010-01-28 | 2012-10-10 | 高通股份有限公司 | 用于根据回程链路来偏置切换决策的方法和装置 |
CN103108372A (zh) * | 2013-01-21 | 2013-05-15 | 南京邮电大学 | 基于节点发送和接收能力的干扰感知跨层路由方法 |
CN105187326A (zh) * | 2015-08-25 | 2015-12-23 | 湖南大学 | 一种两跳无线网络拓扑结构中的网络编码侦听管理方法 |
WO2017112744A1 (en) * | 2015-12-21 | 2017-06-29 | University Of Florida Research Foundation, Incorporated | Improved joint fountain coding and network coding for loss-tolerant information spreading |
CN110809304A (zh) * | 2019-11-01 | 2020-02-18 | 北京星河亮点技术股份有限公司 | 一种网络中数据流报文转发方法及网络系统 |
Non-Patent Citations (3)
Title |
---|
joint inter-flow network coding and opportunistic routing in muilti-hop wireless mesh networks:a comprehensive survey;somayeh kafaie;《IEEE》;20180123;全文 * |
基于数据速率匹配的编码感知多路径路由协议;姚玉坤等;《中国科技论文》;20180423(第08期);全文 * |
基于缓存管理和链路状态的网络编码中继传输算法;李方敏等;《通信学报》;20170325(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111342936A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7697516B2 (en) | Method and apparatus for pre-admitting a node to a mesh network | |
KR101193284B1 (ko) | 다중-레이트 피어 발견 방법들 및 장치들 | |
CN109068367B (zh) | 一种无线令牌传递方法、装置、设备及可读存储介质 | |
EP2938144B1 (en) | Service announcement message transmission method and device | |
WO2006029563A1 (fr) | Procede de multidiffusion de messages courts | |
WO2015175118A2 (en) | Reducing broadcast duplication in hybrid wireless mesh protocol routing | |
JP2007215179A (ja) | 無線メッシュネットワークにおいてステーション情報を伝達する方法及び装置 | |
CN113596739A (zh) | 一种数据传输方法、装置及设备 | |
US8848546B2 (en) | Channel allocation method in wireless mesh network and communication device using the method | |
CN110662258A (zh) | 一种报文的转发方法、装置及介质 | |
CN112422302B (zh) | 消息的广播方法、装置、网络节点及计算机存储介质 | |
JP2006505186A (ja) | アドホック・モードwlanシステムで使用するための方法 | |
CN111342936B (zh) | 无线骨干网的网络编码方法及系统 | |
CN110381563B (zh) | 一种自组织接力转发网络的上行通信资源分配方法 | |
US20230209439A1 (en) | Route discovery in a mesh network | |
CN109787903B (zh) | 集中式网络中无碰撞的组播数据反馈方法 | |
CN101330664B (zh) | 多媒体业务的实现方法、系统和装置 | |
CN101635882A (zh) | 一种在多跳Ad Hoc电台网络中实现全网广播话音的方法 | |
CN102123010B (zh) | 一种无线局域网中mac层的数据传输方法 | |
Kannan et al. | Cross layer routing for multihop cellular networks | |
CN110809304B (zh) | 一种网络中数据流报文转发方法及网络系统 | |
KR101381807B1 (ko) | 무선 애드혹 네트워크 시스템 및 다중 경로 설정 방법 | |
CN113170375B (zh) | 检测蓝牙网格网络中的关键链路 | |
JP2010081314A (ja) | データ配送方法及び無線通信システム | |
KR20080073972A (ko) | 단말의 상태 또는 응용 서비스의 특성에 기초한 라우팅경로 설정 방법 및 그 장치 |
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 |