CN105594164B - 一种数据包的传输方法和传输设备 - Google Patents
一种数据包的传输方法和传输设备 Download PDFInfo
- Publication number
- CN105594164B CN105594164B CN201480000006.7A CN201480000006A CN105594164B CN 105594164 B CN105594164 B CN 105594164B CN 201480000006 A CN201480000006 A CN 201480000006A CN 105594164 B CN105594164 B CN 105594164B
- Authority
- CN
- China
- Prior art keywords
- subdata
- coding
- node
- packet
- package
- 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
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/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/02—Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
- H04B7/04—Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
- H04B7/0413—MIMO systems
- H04B7/0456—Selection of precoding matrices or codebooks, e.g. using matrices antenna weighting
-
- 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/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种数据包的传输方法和传输设备,在数据包的分流发送过程中,由前端节点将发送给目的节点的数据包划分为多个子数据包后,按照一定的组合编码方式对子数据包进行包间的组合编码,并得到的编码后的子数据包组发送给目的节点。即使传输路径的信道状态突然恶化,由于目的节点无需等待接收所有的编码后的子数据包组,只要接收到的编码后的子数据包组中的内容结合相对应的解码方式足以解析出原始的数据包即可,因此,目的节点接收数据包的过程受网络突发情况的影响较小,传输效率不会受到明显影响。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据包的传输方法和传输设备。
背景技术
在数据包发送的过程中,数据包从源节点发送到目的节点时,会经过不同的中间节点或者会有不同的传输路径,如果在数据包的发送过程中对数据包进行分流,使数据包分别通过不同的中间节点转发或者流经不同的传输路径,可以有效地提高数据包发送的可靠性以及提高数据包发送的速度。
目前所采用的方法是依据已知的节点状况或者传输路径的状态,将数据包预先进行划分,然后由各节点转发或由各传输路径来发送,例如,当源节点为数据包的各部分确定传输路径后,或当中间节点之间协商确定各自待发送的部分数据包后,数据包的发送过程就确定下来,每条传输路径上发送的数据包或每个中间节点发送的数据包是不能随意更改的,如果在数据包发送完毕之前传输路径的信道状态发生变化,或中间节点的网络状况发生变化时,数据包的实际发送过程与预先估计的发送过程不一致,目的节点将无法快速接收到数据包的每一部分,会降低数据包的发送效率。
发明内容
本发明实施例提供了一种数据包的传输方法和传输设备,用以解决现有技术中存在的数据包发送效率低的问题。
第一方面,提供了一种数据包的传输方法,所述方法包括:
前端节点获取划分后的多个子数据包;
所述前端节点对所述多个子数据包进行包间组合编码,得到多个编码后的子数据包组;其中,一个编码后的子数据包组中包含至少一个编码后的子数据包;
所述前端节点将所述多个编码后的子数据包组分别通过至少两条传输路径发送给目的节点。
结合第一方面,在第一种可能的实现方式中,所述前端节点包括至少两个中间节点,所述前端节点获取划分后的多个子数据包包括:
所述至少两个中间节点分别接收来自源节点的数据包;
所述至少两个中间节点将接收到的数据包划分为多个子数据包。
结合第一方面,在第二种可能的实现方式中,所述前端节点为源节点,所述前端节点获取划分后的多个子数据包包括:
所述源节点将数据包划分为多个子数据包。
结合第一方面,在第三种可能的实现方式中,所述前端节点包括至少两个中间节点,所述前端节点获取划分后的多个子数据包包括:
至少两个中间节点接收源节点发送的多个子数据包,所述多个子数据包为源节点将数据包划分后得到的。
结合第一方面,在第四种可能的实现方式中,所述前端节点包括源节点和至少一个中间节点,所述前端节点获取划分后的多个子数据包包括:
所述至少一个中间节点接收来自源节点的数据包;
所述源节点和所述至少一个中间节点分别将所述数据包划分为多个子数据包。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述前端节点对所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组,包括:
所述前端节点按照与目的节点预先协商确定的组合编码方式,将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组;或者,
所述前端节点按照自身确定的组合编码方式将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组后,通知所述目的节点所使用的组合编码方式。
结合第一方面的第五种可能的实现方式,在第六种可能的实现方式中,所述前端节点按照与所述目的节点预先协商确定的组合编码方式或所述前端节点自身确定的组合编码方式,将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组,包括:
所述前端节点按照与所述目的节点预先协商确定的线性组合方式或者所述前端节点自身确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码,获取编码后的子数据包组。
结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述前端节点包含至少两个中间节点时,所述前端节点按照与所述目的节点预先协商确定的线性组合方式或者所述前端节点自身确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码包括:
各中间节点按照与所述目的节点预先协商确定的线性组合方式或者所述自身确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行线性组合方式正交,使得任意两个中间节点得到的编码后的子数据包组的内容不同。
结合第一方面的第六种可能的实现方式,在第八种可能的实现方式中,所述前端节点为源节点时,所述前端节点将所述多个编码后的子数据包组分别通过至少两条传输路径发送给所述目的节点,包括:
所述源节点将所述多个编码后的子数据包组通过所述至少两条传输路径发送给所述目的节点,所述传输路径上发送的编码后的子数据包组的线性组合方式正交,使得任意两条传输路径上发送的编码后的子数据包组的内容不同。
结合第一方面的第五种可能的实现方式,在第九种可能的实现方式中,所述前端节点按照与所述目的节点预先协商确定的组合编码方式或自身确定的组合编码方式,将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组,包括:
所述前端节点采用预先协商确定的或者自身确定的度分布函数,确定组合编码的度数;
所述前端节点从所述子数据包中随机选取数量不大于所述度数的子数据包,并将每次选取的子数据包组合为一个编码后的子数据包组;或者,
所述前端节点采用预先协商确定的或者自身确定的生成矩阵,将所述子数据包组合编码生成编码后的子数据包组。
结合第一方面、第一方面的第一种可能的实现方式、第一方面的第二种可能的实现方式、第一方面的第三种可能的实现方式、第一方面的第四种可能的实现方式、第一方面的第五种可能的实现方式、第一方面的第六种可能的实现方式、第一方面的第七种可能的实现方式、第一方面的第八种可能的实现方式或第一方面的第九种可能的实现方式,在第十种可能的实现方式中,所述方法还包括:
所述前端节点判断是否接收到所述目的节点返回的停止指示,或发送的编码后的子数据包组的个数是否达到最大发送次数;
若接收到所述停止指示或发送的编码后的子数据包组的个数达到最大发送次数,则停止向目的节点发送编码后的子数据包组,所述停止指示是目的节点解析出所述数据包后返回的。
第二方面,提供一种数据包的传输方法,所述方法包括:
目的节点接收前端节点经过多条传输路径发送的编码后的子数据包组;
所述目的节点根据接收到的所述编码后的子数据包组和获得的组合编码方式解析出所述数据包。
结合第二方面,在第一种可能的实现方式中,所述目的节点根据接收到的所述编码后的子数据包组和获得的组合编码方式解析出所述数据包包括:
所述目的节点根据接收到的所述编码后的子数据包组和与所述前端节点预先协商的组合编码方式解析出所述数据包;或者
所述目的节点从通知消息或所述子数据包组的包头中获得所述组合编码方式,根据接收到的所述编码后的子数据包组和所述获得的所述前端节点确定的组合编码方式解析出所述数据包。
结合第二方面,在第二种可能的实现方式中,所述目的节点接收所述前端节点经过多条传输路径发送的编码后的数据包组包括:
当所述前端节点为至少两个中间节点时,接收所述至少两个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
当所述前端节点为源节点和至少一个中间节点时,接收源节点和至少一个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
当所述前端节点为源节点时,接收所述源节点经过至少两条传输路径发送的编码后的子数据包组;
其中,每个编码后的子数据包组是至少一个子数据包进行包间的组合编码后得到的,且所述子数据包是发送给目的节点的数据包划分得到的。
结合第二方面,在第三种可能的实现方式中,所述目的节点根据接收到的所述编码后的子数据包和获得的组合编码方式解析出所述数据包,包括:
所述目的节点根据已接收到的编码后的子数据包组和预先协商的组合编码的方式,或者,所述目的节点根据已接收到的编码后的子数据包组和从通知消息或子数据包组的包头中获得的组合编码方式,判断是否能够解析出所述数据包;若是,则返回停止指示;否则,继续接收编码后的子数据包组,直至解析出所述数据包,或接收不到编码后的子数据包组为止。
第三方面,提供一种数据包的传输设备,所述设备包括:
获取模块,用于获取划分后的多个子数据包;
编码模块,用于对所述获取模块获取的多个子数据包进行包间组合编码,得到多个编码后的子数据包组;其中,一个编码后的子数据包组中包含至少一个编码后的子数据包;
发送模块,用于将所述编码模块得到的多个子数据包组分别通过至少两条传输路径发送给目的节点。
结合第三方面,在第一种可能的实现方式中,所述设备为中间节点时,所述获取模块,具体用于接收来自源节点的数据包,以及将接收到的数据包划分为多个子数据包。
结合第三方面,在第二种可能的实现方式中,所述设备为源节点时,所述获取模块,具体用于将数据包划分为多个子数据包。
结合第三方面,在第三种可能的实现方式中,所述设备为中间节点时,所述获取模块,具体用于接收源节点发送的多个子数据包,所述多个子数据包为源节点将数据包划分后得到的。
结合第三方面、第三方面的第一种可能的实现方式、第三方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述编码模块,具体包括:
确定编码方式子模块,用于与目的节点预先协商确定组合编码方式,或自身确定组合编码方式,通知所述目的节点所使用的组合编码方式;
组合编码子模块,用于将所述多个子数据包按照所述确定编码方式子模块确定的组合编码方式进行包间的组合编码,得到多个编码后的子数据包组。
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,所述确定编码方式子模块确定的组合编码方式是线性组合方式;
所述组合编码子模块,具体用于按照所述确定编码方式子模块确定的所述线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码,获取编码后的子数据包组。
结合第三方面的第五种可能的实现方式,在第六种可能的实现方式中,所述设备为中间节点时,
所述组合编码子模块,具体用于按照所述确定编码方式子模块确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行线性组合方式正交,使得任意两个中间节点得到的编码后的子数据包组的内容不同。
结合第三方面的第五种可能的实现方式,在第七种可能的实现方式中,所述设备为源节点时,所述发送模块,具体用于将所述多个编码后的子数据包组通过所述至少两条传输路径发送给所述目的节点,所述传输路径上发送的编码后的子数据包组的线性组合方式正交,使得所述两条传输路径上发送的编码后的子数据包组的内容不同。
结合第三方面的第五种可能的实现方式,在第八种可能的实现方式中,所述组合编码子模块,具体用于采用所述确定编码方式子模块确定的度分布函数,确定组合编码的度数,从所述子数据包中随机选取数量不大于所述度数的子数据包,并将每次选取的子数据包组合为一个编码后的子数据包组;或者用于采用所述确定编码方式子模块确定的生成矩阵,将所述子数据包组合编码生成编码后的子数据包组。
结合第三方面、第三方面的第一种可能的实现方式、第三方面的第二种可能的实现方式、第三方面的第三种可能的实现方式、第三方面的第四种可能的实现方式、第三方面的第五种可能的实现方式、第三方面的第六种可能的实现方式、第三方面的第七种可能的实现方式或第三方面的第八种可能的实现方式,在第九种可能的实现方式中,所述设备还包括:
确认模块,用于判断是否接收到所述目的节点返回的停止指示,或发送的编码后的子数据包组的个数是否达到最大发送次数;
指示模块,用于当确认模块确认收到所述停止指示,或者确认模块确认发送的编码后的子数据包组的个数达到最大发送次数,则停止向目的节点发送编码后的子数据包组,所述停止指示是目的节点解析出所述数据包后返回的。
第四方面,提供一种数据包的传输设备,所述设备包括:
处理器,用于获取划分后的多个子数据包,并对获取的多个子数据包进行包间组合编码,得到多个编码后的子数据包组;其中,一个编码后的子数据包组中包含至少一个编码后的子数据包;
发射器,用于将所述处理器得到的多个子数据包组分别通过至少两条传输路径发送给目的节点。
结合第四方面,在第一种可能的实现方式中,所述设备为中间节点时,所述处理器,具体用于接收来自源节点的数据包,以及将接收到的数据包划分为多个子数据包。
结合第四方面,在第二种可能的实现方式中,所述设备为源节点时,所述处理器,具体用于将数据包划分为多个子数据包。
结合第四方面,在第三种可能的实现方式中,所述设备为中间节点时,所述处理器,具体用于接收源节点发送的多个子数据包,所述多个子数据包为源节点将数据包划分后得到的。
结合第四方面、第四方面的第一种可能的实现方式、第四方面的第二种可能的实现方式或第四方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器,具体用于与目的节点预先协商确定组合编码方式,或自身确定组合编码方式,通知所述目的节点所使用的组合编码方式,以及将所述多个子数据包按照确定的组合编码方式进行包间的组合编码,得到多个编码后的子数据包组。
结合第四方面的第四种可能的实现方式,在第五种可能的实现方式中,所述处理器,用于确定的组合编码方式是线性组合方式,按照确定的所述线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码,获取编码后的子数据包组。
结合第四方面的第五种可能的实现方式,在第六种可能的实现方式中,所述设备为中间节点时,
所述处理器,具体用于按照确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行线性组合方式正交,使得任意两个中间节点得到的编码后的子数据包组的内容不同。
结合第四方面的第五种可能的实现方式,在第七种可能的实现方式中,所述设备为源节点时,所述发射器,具体用于将所述多个编码后的子数据包组通过所述至少两条传输路径发送给所述目的节点,所述传输路径上发送的编码后的子数据包组的线性组合方式正交,使得所述两条传输路径上发送的编码后的子数据包组的内容不同。
结合第四方面的第五种可能的实现方式,在第八种可能的实现方式中,所述处理器,具体用于采用确定的度分布函数,确定组合编码的度数,从所述子数据包中随机选取数量不大于所述度数的子数据包,并将每次选取的子数据包组合为一个编码后的子数据包组;或者用于采用确定的生成矩阵,将所述子数据包组合编码生成编码后的子数据包组。
结合第四方面、第四方面的第一种可能的实现方式、第四方面的第二种可能的实现方式、第四方面的第三种可能的实现方式、第四方面的第四种可能的实现方式、第四方面的第五种可能的实现方式、第四方面的第六种可能的实现方式、第四方面的第七种可能的实现方式或第四方面的第八种可能的实现方式,在第九种可能的实现方式中,所述处理器,还用于判断是否接收到所述目的节点返回的停止指示,或发送的编码后的子数据包组的个数是否达到最大发送次数,当确认收到所述停止指示,或者确认发送的编码后的子数据包组的个数达到最大发送次数,则触发所述发射器停止向目的节点发送编码后的子数据包组,所述停止指示是目的节点解析出所述数据包后返回的。
第五方面,提供一种数据包的传输设备,所述设备包括:
接收模块,用于接收前端节点经过多条传输路径发送的编码后的子数据包组;
解析模块,用于根据所述接收模块接收到的所述编码后的子数据包和获得的组合编码方式解析出所述数据包。
结合第五方面,在第一种可能的实现方式中,所述解析模块,具体用于根据所述接收模块接收到的所述编码后的子数据包组和与所述前端节点预先协商的组合编码方式解析出所述数据包;或者
从通知消息或所述子数据包组的包头中获得所述组合编码方式,根据所述接收模块接收到的所述编码后的子数据包组和所述获得的组合编码方式解析出所述数据包。
结合第五方面,在第二种可能的实现方式中,所述接收模块,具体用于当所述前端节点为至少两个中间节点时,接收所述至少两个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
当所述前端节点为源节点和至少一个中间节点时,接收源节点和至少一个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
当所述前端节点为源节点时,接收所述源节点经过至少两条传输路径发送的编码后的子数据包组;
其中,每个编码后的子数据包组是至少一个子数据包进行包间的组合编码后得到的,且所述子数据包是发送给目的节点的数据包划分得到的。
结合第五方面,在第三种可能的实现方式中,所述解析模块,还用于根据已接收到的编码后的子数据包组和预先协商的组合编码的方式,或者,根据已接收到的编码后的子数据包组和从通知消息或子数据包组的包头中获得的组合编码方式,判断是否能够解析出所述数据包;若是,则返回停止指示;否则,继续接收编码后的子数据包组,直至解析出所述数据包,或接收不到编码后的子数据包组为止。
第六方面,提供一种数据包的传输设备,所述设备包括:
接收器,用于接收前端节点经过多条传输路径发送的编码后的子数据包组;
处理器,用于根据所述接收器接收到的所述编码后的子数据包和获得的组合编码方式解析出所述数据包。
结合第六方面,在第一种可能的实现方式中,所述处理器,具体用于根据所述接收模块接收到的所述编码后的子数据包组和与所述前端节点预先协商的组合编码方式解析出所述数据包;或者
从通知消息或所述子数据包组的包头中获得所述组合编码方式,根据所述接收模块接收到的所述编码后的子数据包组和所述获得的组合编码方式解析出所述数据包。
结合第六方面,在第二种可能的实现方式中,所述接收器,具体用于当所述前端节点为至少两个中间节点时,接收所述至少两个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
当所述前端节点为源节点和至少一个中间节点时,接收源节点和至少一个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
当所述前端节点为源节点时,接收所述源节点经过至少两条传输路径发送的编码后的子数据包组;
其中,每个编码后的子数据包组是至少一个子数据包进行包间的组合编码后得到的,且所述子数据包是发送给目的节点的数据包划分得到的。
结合第六方面,在第三种可能的实现方式中,所述处理器,还用于根据已接收到的编码后的子数据包组和预先协商的组合编码的方式,或者,根据已接收到的编码后的子数据包组和从通知消息或子数据包组的包头中获得的组合编码方式,判断是否能够解析出所述数据包;若是,则返回停止指示;否则,继续接收编码后的子数据包组,直至解析出所述数据包,或接收不到编码后的子数据包组为止。
本发明实施例在数据包的分流发送过程中,由前端节点对子数据包进行包间的组合编码后分别通过多条传输路径向目的节点发送编码后的子数据包组,目的节点根据所述编码后的子数据包组以及所述编码后的子数据包组的组合编码方式就可以解析出数据包。当某些传输路径的信道状态或某些中间节点的网络状况突然恶化时,目的节点还可以获取其他传输路径上的编码后的子数据包组,目的节点仍可以根据接收到的编码后的子数据包组和相应的组合编码方式来解析出原始的数据包,避免现有技术中,目的节点需要等待接收所有的传输路径发来的数据包才能解析出原始数据包的问题,从而提高了数据包的发送效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种数据包的传输方法步骤流程示意图;
图2为本发明实施例中另一种数据包的传输方法步骤流程示意图;
图3本发明实施例中一种发送场景示意图;
图4(a)和图4(b)分别为本发明实施例中一种数据包发送流程示意图;
图5为本发明实施例中一种采用度分布函数的组合编码示意图;
图6(a)和图6(b)分别为本发明实施例中一种数据包接收流程示意图;
图7为本发明实施例中以LTE网络架构为例的发送场景示意图;
图8为本发明实施例中另一种发送场景示意图;
图9(a)和图9(b)分别为本发明实施例中另一种数据包发送流程示意图;
图10为本发明实施例中另一种发送场景示意图;
图11(a)和图11(b)分别为本发明实施例中另一种数据包发送流程示意图;
图12为本发明实施例中另一种数据包接收流程示意图;
图13和图14为本发明实施例中以LTE网络架构为例的两种发送场景示意图;
图15为本发明实施例中第四种发送场景示意图;
图16(a)和图16(b)分别为本发明实施例中第四种数据包发送流程示意图;
图17为本发明实施例中以LTE网络架构为例的发送场景示意图;
图18(a)~图18(c)分别为本发明实施例中一种数据包的传输设备结构示意图;
图19为本发明实施例中另一种数据包的传输设备的结构示意图;
图20为本发明实施例中第三种数据包的传输设备的结构示意图;
图21为本发明实施例中第四种数据包的传输设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
为了提高数据包的发送效率,本发明实施例在数据包的分流发送过程中,对前端节点的功能进行扩展,数据包不再是简单划分后直接分流发送,而是由前端节点将发送给目的节点的数据包划分为多个子数据包后,对子数据包进行包间的组合编码,并将得到的编码后的子数据包组发送给目的节点,以便于目的节点根据接收到的编码后的子数据包组和相应的组合编码方式来解析出原始的数据包。在此过程中,即使某些传输路径的信道状态突然恶化,由于目的节点无需等待接收所有传输路径发来的编码后的子数据包组,只要接收到的编码后的子数据包组中的内容足以解析出原始的数据包即可,因此,目的节点接收数据包的过程受网络突发情况的影响较小,数据包的传输过程不会因为部分传输路径的发送状态变化造成明显时延,数据包的传输效率不会受到影响。
下面结合说明书附图对本发明实施例的方案进行详细描述,但本发明方案并不局限于以下实施例。
如图1所示,为本发明实施例中一种数据包的传输方法步骤流程示意图,所述传输过程包括以下步骤:
步骤11:前端节点获取划分后的多个子数据包。
本发明实施例中的前端节点可以为对子数据进行组合编码的节点,该前端节点可以是源节点,也可以是中间节点,也可以是源节点与中间节点的组合,本发明包括并不限于此。
步骤12:所述前端节点对所述多个子数据包进行包间组合编码,得到多个编码后的子数据包组;其中,一个编码后的子数据包组中包含至少一个编码后的子数据包。
步骤13:所述前端节点将所述多个编码后的子数据包组分别通过至少两条传输路径发送给目的节点。
当所述前端节点将编码后的子数据包组发送给目的节点后,目的节点需接收所述编码后的子数据包组并解析出原始的数据包,具体的步骤流程示意图如图2所示,包括以下步骤:
步骤21:目的节点接收前端节点经过多条传输路径发送的编码后的子数据包组。
步骤22:所述目的节点根据接收到的所述编码后的子数据包组和获得的组合编码方式解析出所述数据包。其中,每个编码后的子数据包组是至少一个子数据包进行包间的组合编码后得到的,且所述子数据包是发送给目的节点的数据包划分得到的。
通过图1和图2所示的方法可实现数据包从前端节点传输到目的节点的过程,下面分别针对不同的分流场景,对图1和图2所示的方法进行详细描述。
图3描述了一种数据包分流场景的实施例,本实施例中的所述前端节点以至少两个中间节点为例进行说明,但是本发明包括并不限于此,在图3所示的数据包分流场景下,由源节点将数据包分流给至少两个中间节点,由所述至少两个中间节点对数据包进行处理后再分别发送给目的节点,具体的发送过程如图4所示,包括以下步骤:
步骤101:源节点将需发送给目的节点的数据包分别发送给至少两个中间节点。
例如,假设源节点为S,目的节点为D,所述中间节点为A和B,源节点S需要发送给目的节点D的数据包为M,则本步骤101的具体执行过程为:源节点S分别将数据包M发送给中间节点A和中间节点B,使得中间节点A接收到数据包M,中间节点B接收到数据包M。
步骤102:所述至少两个中间节点将接收到的数据包划分为多个子数据包。
优选地,为了便于后续子数据包的组合编码以及发送,本步骤102中,中间节点可将接收到的数据包划分为相同大小的多个子数据包。
本步骤102的具体执行过程为:中间节点A将数据包M划分为相同大小的n(n为大于1的正整数)个子数据包,类似地,中间节点B也将数据包M划分为相同大小的n个子数据包。
优选地,中间节点划分出子数据包后,可以以通知消息的形式通知目的节点所述数据包的划分方式以及划分得到的各子数据包的标识。
本发明实施例所涉及的划分方式可以是原始数据包一共被划分为多少个子数据包的信息,而每个子数据包的标识可用划分得到的各子数据包在原始数据包中的顺序编号,即序号表示,将划分方式和子数据包的标识通知目的节点,是为了使目的节点在译码恢复出子数据包时,可按照顺序将各子数据包组合成原始数据包。
步骤103:所述至少两个中间节点将所述多个子数据包进行组合编码,得到多个编码后的子数据包组。步骤103通过如下方式实现:
步骤103a:所述至少两个中间节点按照与目的节点预先协商确定的组合编码方式,将所述多个子数据包进行组合编码,得到多个编码后的子数据包组;或者
步骤103b:所述至少两个中间节点按照自身确定的组合编码方式将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组后,通知所述目的节点所使用的组合编码方式。
其中,一个编码后的子数据包组中包含至少一个子数据包。
所述包间组合编码可以为:将多个数据包进行组合,重新编码。
在本步骤103中,中间节点所使用的组合编码方式可以是自身确定的组合编码方式,该组合编码方式需要让目的节点获知,以便于目的节点能够采用相应的解码方式进行数据包的解析。因此,中间节点在对子数据包进行组合编码得到编码子数据包组后,需将自身所使用的组合编码方式通知给目的节点。具体地,中间节点可以在步骤103中使用自身确定的组合编码方式进行包间的组合编码之后,以通知消息的形式,向目的节点通知各子数据包组的组合编码方式。
可选的,也可以在之后的步骤104中,在发送给目的节点的子数据包组中设置包头,在所述包头中携带该子数据包组的组合编码方式。
中间节点除了使用自身确定的组合编码方式对子数据包进行包间的组合编码外,还可以采用与目的节点预先协商确定的组合编码方式对子数据包进行包间的组合编码,由于此时中间节点采用的组合编码方式是目的节点已知晓的组合编码方式,因此,无需由中间节点额外通知目的节点所使用的组合编码方式。
在本步骤103中,中间节点可按照任何可用的包间编码方式对子数据包进行组合编码,如采用线性组合方式进行编码,本发明实施例以以下三种组合编码方式为例,对本步骤103的具体执行过程进行详细描述,这种组合编码方式仅是本发明举的一个例子,本发明包括并不限于此。
组合编码方式一:
中间节点直接从所述多个子数据包中选取至少一个子数据包组合为编码后的子数据包组。
例如,假设中间节点A将数据包M划分为三个子数据包,分别为子数据包a、子数据包b和子数据包c,中间节点B也按照与中间节点A相同的方式,将数据包M划分为子数据包a、子数据包b和子数据包c,则中间节点A和中间节点B分别可采用7种线性组合方式组合编码得到7个编码后的子数据包组,这7个编码后的子数据包组的内容分别为:子数据包a、子数据包b、子数据包c、子数据包a+b、子数据包a+c、子数据包b+c、子数据包a+b+c。
优选地,各中间节点可各自采用不同的方式来对子数据包进行组合编码,即各中间节点采用的线性组合方式正交,这样做可使得任意两个中间节点组合得到的编码后的子数据包组的内容不同,中间节点将各自得到的编码后的子数据包组发送给目的节点时,不会出现多个中间节点向目的节点发送相同的编码后的子数据包组的情况,避免了内容相同的编码后的子数据包组的重复发送,减少了编码后的子数据包组的发送量。
仍以上述数据包M被划分为子数据包a、子数据包b和子数据包c为例,中间节点A可以采用以下两种线性组合方式进行组合编码,这两种线性组合方式可以包括:只选取一个子数据包的线性组合方式和选取所有的子数据包的线性组合方式,中间节点A采用上述两种线性组合方式组合编码得到4个编码后的子数据包组,其内容分别为:子数据包a、子数据包b、子数据包c和子数据包a+b+c。中间节点B选取部分子数据包(但选取的子数据包大于1)的线性组合方式,组合编码后得到3个编码后的子数据包组,其内容分别为:子数据包a+b、子数据包a+c、子数据包b+c,此时,中间节点A和中间节点B采用的编码方式正交,得到的编码后的子数据包组的内容不同。
组合编码方式二:
中间节点采用预设的度分布函数来进行组合编码,具体过程为:
首先,中间节点采用预设的度分布函数进行随机试验,确定组合编码的度数d。其中,所述度数d表示编码后的子数据包组中,包含的子数据包个数的最大值。
所述预设的度分布函数可以为源节点通知中间节点的,或者可以为中间节点自身确认的,或者可以为源节点与中间节点之间协商确认的,或者可以为中间节点与目的节点之间进行协商确认的。
其次,中间节点从所述子数据包中随机选取不大于所述度数d个子数据包,将每次选取的子数据包组合为一个编码后的子数据包组,具体情况如下所述:
例如,假设数据包M被中间节点A划分为七个子数据包,被中间节点B按照与中间节点A相同的方式也划分为七个子数据包,分别为子数据包S1~子数据包S7,确定的度数d为3,则中间节点A可随机选取3个子数据包或少于3个子数据包组合为编码后的子数据包组。如图5所示,为中间节点A组合得到的9个编码后的子数据包组的示意图。中间节点B可按照与中间节点A相同的方式得到多个编码后的子数据包组,此处不再赘述,当然中间节点A和中间节点B采用的编码方式也可以正交。
组合编码方式三:
中间节点采用预先与目的节点协商的或者自身确认的的生成矩阵,将所述子数据包组合编码生成编码后的子数据包组,本方式三可视为方式一的一种实现方式,即:以生成矩阵的形式来反映各子数据包的组合方式,进而进行组数据包的组合。
例如,生成矩阵的过程如下所示,本实施例以发送x1,x2,x3三个数据包为例进行说明:
C=P*X
其中的X是原始数据包组,里面包含三个原始的子数据包,分别是x1,x2,x3;P为生成矩阵,其中的行表示每个编码子数据包的生成方式,列表示生成编码子数据包的个数;C就是编码完成之后的子数据包组。
例如,如下所述,X可以为原始数据包,P可以为与目的节点协商确定的或者中间节点自己确定的生成矩阵,通过C=P*X,获取的子数据包C为:x1,x2,x3,x1+x3,x1+x2+x3。
以上三种组合编码方式仅是本发明举的例子,本发明包括并不限于此。
步骤104:所述至少两个中间节点将所述多个编码后的子数据包组发送给目的节点。进一步,目的节点根据接收到的编码后的子数据包组和所述子数据包组的组合编码方式解析出所述数据包。
优选地,中间节点可以在编码后的子数据包组的包头中携带该编码后的子数据包组中各组数据包的标识。目的节点根据所述标识识别出接收到的编码后的子数据包组中包含哪些子数据包。
优选地,如果中间节点发送给目的节点的编码后的子数据包组的包头中携带该编码后的子数据包组中各子数据包的标识。目的节点可以根据子数据包组中各子数据包的标识识别出接收到的编码后的子数据包组中包含哪些子数据包,进而确定如何恢复出原始的数据包。
中间节点将编码后的子数据包组发送给目的节点后,数据包的发送过程结束。
图6为本发明实施例中一种数据包接收流程示意图,该实施例可以与图4所示的实施例组合使用,也可以单独使用,参见图6,该实施例包括以下步骤:
步骤201:目的节点接收至少两个中间节点经过至少两条传输路径发送的编码后的子数据包组。
本步骤201中接收到的编码后的子数据包组可以是按照步骤101至步骤103的方案对数据包处理后再通过步骤104发送的编码后的子数据包组,此处不再赘述。
步骤202:所述目的节点根据接收到的所述编码后的子数据包组和获得的组合编码方式解析出所述数据包。步骤202具体可以通过以下两种方式实现:
步骤202a:在接收到的编码后的子数据包组的组合编码方式是中间节点与目的节点预先协商确定的组合编码方式时,所述目的节点根据接收到的所述编码后的子数据包组和所述预先协商的组合编码方式解析出所述数据包;或者
步骤202b:在接收到的编码后的子数据包组的组合编码方式是中间节点自身确定的组合编码方式时,所述目的节点根据接收到的所述编码后的子数据包组和已获知的所述中间节点确定的组合编码方式解析出所述数据包。
如果在步骤103的方案中,一般情况下,目的节点可以通过额外的通知消息获知目的节点所使用的组合编码方式,或者目的节点可以在接收到的编码后的子数据包组的包头中获得组合编码方式;否则,目的节点可以确定接收到的编码后的子数据包组的组合编码方式为预先协商确定的组合编码方式。在本步骤202中,目的节点可采用与编码时所使用的预先协商确定的组合编码方式相对应的解码方式对接收到的编码后的子数据包组进行解析,得到原始数据包。
如果在步骤103的方案中,中间节点采用自身确定的组合编码方式来得到编码后的子数据包组,则中间节点可预先以通知消息的形式告知目的节点所使用的组合编码方式,或是在发送的编码后的子数据包组的包头中携带所使用的组合编码方式,因此,目的节点可在本步骤202中,根据已获知的组合编码方式确定采用的解码方式,并对接收到的编码后的子数据包组进行解析,得到原始数据包。
下面对步骤104、步骤201和步骤202的具体实现过程举例说明,详情如下:
假设中间节点A和中间节点B采用与目的节点D预先协商的组合编码方式一得到多个编码后的子数据包组,则在步骤104中,中间节点A和中间节点B可分别向目的节点D发送编码后的子数据包组,例如:中间节点A的网络状况较好,在时间段T内向目的节点D发送了两个编码后的子数据包组,其内容分别为:子数据包a和子数据包a+b;中间节点B的网络状况较差,在时间段T内只向目的节点D发送了一个编码后的子数据包组,其内容为:子数据包b+c。在步骤201中,目的节点D接收到中间节点A和中间节点B发送的三个编码后的子数据包组,对子数据包a和子数据包a+b采用异或的运算方式后,可解析出子数据包b,再对子数据包b和子数据包b+c采用异或的运算方式后,可解析出子数据包c,此时,目的节点D恢复出了子数据包a、子数据包b和子数据包c,即解析出了原始的数据包M。
需要说明的是,如果目的节点D当前已接收到的编码后的子数据包组还不足以恢复出原始的数据包,则需继续接收更多的编码后的子数据包组,以恢复出原始的数据包,具体情况如下所述:
例如:中间节点A和中间节点B按照组合编码方式一得到多个编码后的子数据包组,中间节点A在时间段T内向目的节点D发送了两个编码后的子数据包组,其内容为:子数据包a、子数据包b+c,中间节点B在时间段T内向目的节点D发送了一个编码后的子数据包组,其内容为:子数据包a+b+c,此时,目的节点D通过异或的方式只能恢复出子数据包a,无法恢复出子数据包b和子数据包c,也就无法解析出原始的数据包M,只能继续接收中间节点A和中间节点B发送的编码后的子数据包组来尝试恢复出子数据包b和子数据包c。
再例如:中间节点A和中间节点B按照组合编码方式二得到多个编码后的子数据包组,中间节点A在时间段T内向目的节点D发送了三个编码后的子数据包组,其内容分别为:子数据包S1+S2、子数据包S1、子数据包S1+S3;中间节点B在时间段T内也向目的节点D发送了三个编码后的子数据包组,其内容分别为:子数据包S1+S4、子数据包S2+S3、子数据包S4+S7,当目的节点D接收到这6个编码后的子数据包组后,只能恢复出子数据包S1、子数据包S2、子数据包S3、子数据包S4和子数据包S7,无法恢复出子数据包S5和子数据包S6,因此,目的节点D需继续接收中间节点A和中间节点B发送的编码后的子数据包组。
优选地,在步骤202中,当目的节点解析出所述数据包后,可向中间节点返回停止指示,要求中间节点停止向目的节点发送编码后的子数据包组。
其中,目的节点向多个中间节点分别返回所述停止指示的具体做法可以为:目的节点可与各中间节点之间维护共享信道,目的节点可将所述停止指示通过所述共享信道分别返回给各中间节点。当中间节点接收到所述停止指示后,停止向所述目的节点发送编码后的子数据包组,完成本次数据包的发送过程。
由于目的节点只在解析出所述数据包后才向中间节点返回停止指示,在数据包还未解析出之前不做处理,因此,可减少指示消息的发送数量,进一步节约网络资源。
但是,在实际的发送过程中,中间节点的网络状况和目的节点的接收状况都是不可预知的,为了避免中间节点无限制的向目的节点发送编码后的子数据包组,中间节点可根据自身的网络状况确定向目的节点发送编码后的子数据包组的最大发送次数:中间节点的网络状况越好,确定的最大发送次数越大。如果中间节点向目的节点发送的编码后的子数据包组的数量达到本地确定的最大发送次数时还未接收到目的节点返回的所述停止指示,则中间节点停止向目的节点发送编码后的子数据包组,并可通过向源节点发送事件消息的方式,告知本次数据包发送失败。
在本发明实施例的方法中,所述中间节点可以是基站(eNodeB)、无线访问节点(Access Point,AP)、网关等网络设备,还可以是服务GPRS支持节点(Serving GPRSSupport Node,SGSN)、分组数据网网关(P-GW)、服务网关(S-GW)等核心网中的网络设备,本发明包括并不限于此。
以LTE网络架构下实现本发明实施例的情况为例,如图7所示,假设源节点S、中间节点A、中间节点B分别是服务器、eNodeB1和eNodeB2,目的节点是UE,则中间节点A和中间节点B在分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)层之上可具有组合编码能力,可执行实施例中步骤102至步骤104的功能,然后将编码后的子数据包组分别经过本地的PDCP层、无线链路控制(Radio Link Control,RLC)层、媒体接入控制(MediaAccess Control,MAC)层和物理(PHY)层发送给目的节点。目的节点PDCP层之上可具有组合解码能力,用于执行实施例中步骤201和步骤202的功能,编码后的子数据包组分别经过目的节点内的PHY层、MAC层、RLC层、PDCP层后,进行解析得到原始的数据包。
参见图8,本发明实施例还描述了一种基于图8所示的场景进行数据包发送的方法,与图3所示的情况区别在于:所述前端节点包括至少两个中间节点,由源节点将需发送给目的节点的数据包划分为多个子数据包后,将划分出的多个子数据包分别发送给至少两个中间节点,所述至少两个中间节点按照步骤103和步骤104相同的方式对子数据包进行处理后发送给目的节点,具体的发送过程如图9所示,包括以下步骤:
步骤301:源节点将需发送给目的节点的数据包划分为多个子数据包。
优选地,为了便于后续子数据包的组合编码以及发送组合编码后的数据包,源节点可将所述数据包划分为相同大小的多个子数据包。
步骤302:源节点将划分出的多个子数据包分别发送给至少两个中间节点。
步骤303:所述至少两个中间节点将所述多个子数据包进行组合编码,得到多个编码后的子数据包组。步骤303可以具体包括两种方式:
步骤303a:所述至少两个中间节点按照与目的节点预先协商确定的组合编码方式,将所述多个子数据包进行组合编码,得到多个编码后的子数据包组;或者
步骤303b:所述至少两个中间节点按照自身确定的组合编码方式将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组后,通知所述目的节点所使用的组合编码方式。
其中,一个编码后的子数据包组中包含至少一个子数据包。
本步骤303的具体实现方式与步骤103中相同,此处不再赘述。
步骤304:所述至少两个中间节点将所述多个编码后的子数据包组发送给目的节点。
本步骤304的具体实现方式与步骤104中相同,此处不再赘述。
所述至少两个中间节点将编码后的子数据包组发送给目的节点后,数据包的发送过程结束。进一步,该实施例还可以包括数据包的接收流程,也就是说,数据包的发送流程、数据包括接收流程可以单独使用,也可以组合使用,本发明包括并不限于上述举例。本实施例中目的节点接收编码后的子数据包组并解析出数据包的过程与步骤201和步骤202相同,此处不再赘述。
参见图10,本发明实施例还描述了一种基于图10所示的场景进行数据包发送的实施例,与图3和图8所示的情况区别在于:所述前端节点为源节点,由源节点对划分后的子数据包进行组合编码处理后再分别通过多条传输路径发送给目的节点,具体的发送过程如图11所示,包括以下步骤:
步骤401:源节点将需发送给目的节点的数据包划分为多个子数据包。
优选地,为了便于后续子数据包的组合编码以及发送给合编码后的数据包,本步骤401中,源节点可将接收到的数据包划分为相同大小的多个子数据包。
例如,假设源节点为S,目的节点为D,源节点S需发送给目的节点D的数据包为M,则本步骤401的具体执行过程为:源节点S将数据包M划分为n个相同大小的子数据包。
步骤402:源节点将所述多个子数据包进行组合编码,得到多个编码后的子数据包组。步骤402可以包括两种方式:
步骤402a:所述源节点按照与目的节点预先协商确定的组合编码方式,将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组;或者
步骤402b:所述源节点按照自身确定的组合编码方式将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组后,通知所述目的节点所使用的组合编码方式。
其中,一个编码后的子数据包组中包含至少一个子数据包。
在本步骤402中,源节点所使用的组合编码方式可以是自身确定的组合编码方式,该组合编码方式需要让目的节点获知,以便于目的节点能够采用相应的解码方式进行数据包的解析。因此,源节点在对子数据包进行组合编码得到编码子数据包组后,需将自身所使用的组合编码方式通知给目的节点。具体地,中间节点可以在步骤402中使用自身确定的组合编码方式进行包间的组合编码之后,以通知消息的形式,向目的节点通知各子数据包组的组合编码方式,也可以在之后的步骤403中,在发送给目的节点的子数据包组中设置包头,在所述包头中携带该子数据包组的组合编码方式。
源节点除了使用自身确定的组合编码方式对子数据包进行包间的组合编码外,还可以采用与目的节点预先协商确定的组合编码方式对子数据包进行包间的组合编码,由于此时源节点采用的组合编码方式是目的节点已知晓的组合编码方式,因此,无需由中间节点额外通知目的节点所使用的组合编码方式。
源节点可按照步骤103中所描述的三种组合编码方式进行组合编码。
步骤403:源节点将所述多个编码后的子数据包组分别通过多条传输路径发送给目的节点。在传输过程中,中间节点转发经源节点组合编码过的子数据包组,不需再对子数据包进行组合编码。
优选地,如果源节点发送给目的节点的编码后的子数据包组的包头中携带该编码后的子数据包组中各子数据包的标识,则目的节点可识别出接收到的编码后的子数据包组中包含哪些子数据包,进而确定如何恢复出原始的数据包。
图12为本发明实施例中一种数据包接收流程示意图,该实施例可以与图11所示的实施例组合使用,也可以单独使用,参见图12,该实施例包括以下步骤:
步骤501:目的节点接收源节点通过至少两条路径发送的编码后的子数据包组。
步骤502:所述目的节点根据接收到的所述编码后的子数据包组和获得的的组合编码方式解析出所述数据包。
如果在步骤402的方案中,一般情况下,目的节点可以通过额外的通知消息获知目的节点所使用的组合编码方式,或者目的节点可以在接收到的编码后的子数据包组的包头中获得组合编码方式;否则,目的节点如果没有通过额外的通知消息获知组合编码方式,也没有在接收到的编码后的子数据包组的包头中获得组合编码方式,即可确定接收到的编码后的子数据包组采用的是预先协商确定的组合编码方式。在本步骤502中,目的节点可采用与所述预先协商确定的组合编码方式相对应的解码方式对接收到的编码后的子数据包组进行解析,得到原始数据包。
如果在步骤402的方案中,源节点采用自身确定的组合编码方式来得到编码后的子数据包组,则源节点可预先以通知消息的形式告知目的节点所使用的组合编码方式,或是在发送的编码后的子数据包组的包头中携带所使用的组合编码方式,因此,目的节点可在本步骤502中,采用与已获知的组合编码方式相对应的解码方式对接收到的编码后的子数据包组进行解析,得到原始数据包。
下面对步骤403和步骤501、步骤502的具体实现过程举例说明:
假设源节点S采用与目的节点D预先协商的组合编码方式一得到多个编码后的子数据包组,可在步骤403中将各编码后的子数据包组分别通过两条传输路径(称之为传输路径1和传输路径2)发送给目的节点。具体地,源节点S可根据每条传输路径的信道状态,将得到的编码后的子数据包组按照一定比例分配给每条传输路径,如信道状态较好的传输路径上将会承载较多的编码后的子数据包组,信道状态较差的传输路径上将会承载较少的编码后的子数据包组。
优选地,在步骤403中,源节点将所述多个编码后的子数据包组通过多条传输路径发送给目的节点时,可在不同的传输路径上分别发送不同的编码后的子数据包组,即任意两条传输路径上发送的编码后的子数据包组的线性组合方式正交,这样做的好处是:由于任意两条传输路径上发送的编码后的子数据包组的内容不同,不会出现通过多条传输路径向目的节点发送相同的编码后的子数据包组的情况,避免了内容相同的编码后的子数据包组的重复发送,减少了编码后的子数据包组的发送量。
优选地,在本步骤502中,当目的节点解析出所述数据包后,可向源节点返回停止指示,要求源节点停止向目的节点发送编码后的子数据包组,当源节点接收到所述停止指示后,停止向所述目的节点发送编码后的子数据包组,完成本次数据包的发送过程。
优选地,源节点可根据自身的网络状况确定向目的节点发送编码后的子数据包组的最大发送次数:源节点的网络状况越好,确定的最大发送次数越大。如果源节点向目的节点发送的编码后的子数据包组的数量达到最大发送次数时,还未接收到目的节点返回的所述停止指示,则源节点停止向目的节点发送编码后的子数据包组,确定本次数据包发送失败。
在本发明实施例的方法中,所述源节点可以是eNodeB、AP、网关等网络设备,还可以是SGSN、P-GW、S-GW等核心网中的网络设备。用于发送编码后的子数据包组的传输路径上可包含实施例中所涉及的中间节点,但在本实施例的方案中,中间节点只用于编码后的子数据包组的转发,而不对编码后的子数据包组进行组合编码处理。
以LTE网络架构下实现本发明实施例的情况为例,如图13所示,假设源节点是eNodeB1,目的节点是UE,用于发送编码后的子数据包组的两条传输路径上分别有eNodeB2和eNodeB3,此时eNodeB2和eNodeB3不做额外处理,仅用作转发。目的节点PDCP层之上可具有组合解码能力,用于执行实施例中步骤501和步骤502的功能,编码后的子数据包组分别经过目的节点内的PHY层、MAC层、RLC层、PDCP层后,进行解析得到原始的数据包。
再如图14所示,假设源节点是eNodeB1,UE1是中间节点,目的节点是UE2,用于发送编码后的子数据包组的两条传输路径分别为:源节点直接将子数据包组发送给目的节点UE2,以及,源节点将子数据包组通过中间节点UE1发送给目的节点UE2(UE1和UE2之间可通过蓝牙、zigbee等短距离通信技术进行子数据包组的转发)。图14所示的业务可应用在MUCC场景下,即eNodeB1如果不能直接与UE2通信的话,可通过UE1实现eNodeB1与UE2的间接通信。
参见图15,本发明实施例还描述了一种基于图15所示的场景进行数据包发送的实施例,与图3、图8和图10所示的情况区别在于:所述前端节点为源节点和至少一个中间节点,由源节点和至少一个中间节点分别对划分后的子数据包进行组合编码处理后再分别发送给目的节点,具体的发送过程如图16所示,包括以下步骤:
步骤601:源节点向至少一个中间节点发送数据包。
步骤602:所述源节点和所述至少一个中间节点分别将所述数据包划分为多个子数据包。
步骤603:所述源节点和所述至少一个中间节点分别对所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组。具体包括两种方式:
步骤603a:所述源节点和所述至少一个中间节点分别与目的节点预先协商确定的组合编码方式,将所述多个子数据包进行组合编码,得到多个编码后的子数据包组。
步骤603b:所述源节点和所述至少一个中间节点分别按照自身确定的组合编码方式将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组后,通知所述目的节点所使用的组合编码方式。
其中,一个编码后的子数据包组中包含至少一个编码后的子数据包。
具体地,所述源节点可按照步骤402描述的方式对子数据包进行包间的组合编码,所述至少一个中间节点可按照步骤103描述的方式对子数据包进行包间的组合编码。
所述源节点和所述至少一个中间节点可分别按照步骤103中所涉及的三种组合编码方式进行组合编码操作。
步骤604:所述源节点和所述至少一个中间节点分别将自身得到的多个编码后的子数据包组发送给目的节点,使得目的节点根据接收到的编码后的子数据包组和所述子数据包组的组合编码方式解析出所述数据包。
中间节点和源节点各自将编码后的子数据包组发送给目的节点后,数据包的发送过程结束,接下来将执行数据包的接收流程,该流程与图12所示的实施例类似,在此不再赘述。
上述图16所示的方案可应用在多用户协同技术(Multi-User CooperativeCommunication,MUCC)中,由网络侧为受益UE(B-UE,即本实施例中的源节点)选择一个支撑用户(S-UE,即本实施例中的中间节点)为其转发一部分数据的时候,可以在MUCC层采用本发明实施例的方法。如图17所示,假设源节点是B-UE,中间节点是S-UE,目的节点是eNodeB,源节点B-UE和中间节点S-UE分别对子数据包进行编码后得到编码后的子数据包组,并各自发送给目的节点eNodeB。
本发明实施例描述了一种数据包的传输设备,所述设备可实现图1所示的步骤11至步骤13中前端节点的功能,说明如下:
参见图18(a),所述设备包括获取模块11、与所述获取模块11连接的编码模块12以及与所述编码模块12连接的发送模块13,其中:
所述获取模块11,用于获取划分后的多个子数据包;
所述编码模块12,用于对所述获取模块11获取的多个子数据包进行包间组合编码,得到多个编码后的子数据包组;其中,一个编码后的子数据包组中包含至少一个编码后的子数据包;
所述发送模块13,用于将所述编码模块12得到的多个子数据包组分别通过至少两条传输路径发送给目的节点。
作为前端节点的所述设备可以是源节点,也可以是中间节点,也可以是源节点与中间节点的组合,当然,这几种设备仅是本发明举的例子,本发明包括并不限于此。下面分别以所述前端节点为源节点、中间节点或源节点与中间节点的组合三种情况为例进行说明。
所述设备为中间节点时,如果所述设备实现的是图4所示的步骤101至步骤104中中间节点的功能或图16所示的步骤601至步骤604中中间节点的功能,所述获取模块11,具体用于接收来自源节点的数据包,以及将接收到的数据包划分为多个子数据包。如果所述设备实现的是图9所示的步骤301至步骤304中中间节点的功能,所述获取模块11,具体用于接收源节点发送的多个子数据包,所述多个子数据包为源节点将数据包划分后得到的。
所述设备为源节点时,即所述设备可实现图11所示的步骤401至步骤403中源节点的功能时,所述获取模块11,具体用于将数据包划分为多个子数据包。
进一步,参见图18(b),所述编码模块12具体包括确定编码方式子模块12a和组合编码子模块12b,其中:
所述确定编码方式子模块12a,用于与目的节点预先协商确定组合编码方式,或自身确定组合编码方式,通知所述目的节点所使用的组合编码方式;
所述组合编码子模块12b,用于将所述多个子数据包按照所述确定编码方式子模块12a确定的组合编码方式进行包间的组合编码,得到多个编码后的子数据包组。
进一步,所述确定编码方式子模块12a确定的组合编码方式是线性组合方式;
所述组合编码子模块12b,具体用于按照所述确定编码方式子模块12a确定的所述线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码,获取编码后的子数据包组。
进一步,所述组合编码子模块12b,具体用于采用所述确定编码方式子模块12a确定的度分布函数,确定组合编码的度数,从所述子数据包中随机选取数量不大于所述度数的子数据包,并将每次选取的子数据包组合为一个编码后的子数据包组;或者用于采用所述确定编码方式子模块12a确定的生成矩阵,将所述子数据包组合编码生成编码后的子数据包组。
进一步,所述设备为图4、图9或图16所示的步骤中的中间节点时,所述组合编码子模块12b,具体用于按照所述确定编码方式子模块12a确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行线性组合方式正交,使得任意两个中间节点得到的编码后的子数据包组的内容不同。
进一步,所述设备为图11所示步骤中的源节点时,所述发送模块13,具体用于将所述多个编码后的子数据包组通过所述至少两条传输路径发送给所述目的节点,所述传输路径上发送的编码后的子数据包组的线性组合方式正交,使得所述两条传输路径上发送的编码后的子数据包组的内容不同。
进一步,参见图18(c),所述设备还包括确认模块14和指示模块15,其中:
所述确认模块14,用于判断是否接收到所述目的节点返回的停止指示,或发送的编码后的子数据包组的个数是否达到最大发送次数;
所述指示模块15,用于当所述确认模块14确认收到所述停止指示,或者所述确认模块14确认发送的编码后的子数据包组的个数达到最大发送次数,则停止向目的节点发送编码后的子数据包组,所述停止指示是目的节点解析出所述数据包后返回的。
参见图19,所述设备的另一种结构包括处理器21和发射器22,其中:
所述处理器21,用于获取划分后的多个子数据包,并对获取的多个子数据包进行包间组合编码,得到多个编码后的子数据包组;其中,一个编码后的子数据包组中包含至少一个编码后的子数据包;
所述发射器22,用于将所述处理器21得到的多个子数据包组分别通过至少两条传输路径发送给目的节点。
所述设备为中间节点时,如果所述设备实现的是图4所示的步骤101至步骤104中中间节点的功能或图16所示的步骤601至步骤604中中间节点的功能,所述处理器21,具体用于接收来自源节点的数据包,以及将接收到的数据包划分为多个子数据包。如果所述设备实现的是图9所示的步骤301至步骤304中中间节点的功能,所述处理器21,具体用于接收源节点发送的多个子数据包,所述多个子数据包为源节点将数据包划分后得到的。
所述设备为源节点时,即所述设备可实现图11所示的步骤401至步骤403中源节点的功能时,所述处理器21,具体用于将数据包划分为多个子数据包。
进一步,所述处理器21,具体用于与目的节点预先协商确定组合编码方式,或自身确定组合编码方式,通知所述目的节点所使用的组合编码方式,以及将所述多个子数据包按照确定的组合编码方式进行包间的组合编码,得到多个编码后的子数据包组。
进一步,所述处理器21确定的组合编码方式是线性组合方式,具体用于按照确定的所述线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码,获取编码后的子数据包组。
进一步,所述处理器21,具体用于采用确定的度分布函数,确定组合编码的度数,从所述子数据包中随机选取数量不大于所述度数的子数据包,并将每次选取的子数据包组合为一个编码后的子数据包组;或者用于采用确定的生成矩阵,将所述子数据包组合编码生成编码后的子数据包组。
进一步,所述设备为图4、图9或图16所示的步骤中的中间节点时,所述处理器21,具体用于按照确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行线性组合方式正交,使得任意两个中间节点得到的编码后的子数据包组的内容不同。
进一步,所述设备为图11所示步骤中的源节点时,所述发射器22,具体用于将所述多个编码后的子数据包组通过所述至少两条传输路径发送给所述目的节点,所述传输路径上发送的编码后的子数据包组的线性组合方式正交,使得所述两条传输路径上发送的编码后的子数据包组的内容不同。
进一步,所述处理器21,还用于判断是否接收到所述目的节点返回的停止指示,或发送的编码后的子数据包组的个数是否达到最大发送次数,当确认收到所述停止指示,或者确认发送的编码后的子数据包组的个数达到最大发送次数,则触发所述发射器22停止向目的节点发送编码后的子数据包组,所述停止指示是目的节点解析出所述数据包后返回的。
本发明实施例还描述了另一种数据包的传输设备,所述设备可实现图2所示的步骤21至步骤22中目的节点的功能,说明如下:
参见图20,所述设备包括接收模块31和解析模块32,其中:
所述接收模块31,用于接收前端节点经过多条传输路径发送的编码后的子数据包组;
所述解析模块32,用于根据所述接收模块31接收到的所述编码后的子数据包和获得的组合编码方式解析出所述数据包。
进一步,根据图18(a)~图18(c)所描述的所述前端节点的不同,所述接收模块31的功能也有所不同,分别说明如下:
当所述前端节点为至少两个中间节点时,所述接收模块31,具体用于接收所述至少两个中间节点经过至少两条传输路径发送的编码后的子数据包组。
当所述前端节点为源节点和至少一个中间节点时,所述接收模块31,具体用于接收源节点和至少一个中间节点经过至少两条传输路径发送的编码后的子数据包组。
当所述前端节点为源节点时,所述接收模块31,具体用于接收所述源节点经过至少两条传输路径发送的编码后的子数据包组。
其中,每个编码后的子数据包组是至少一个子数据包进行包间的组合编码后得到的,且所述子数据包是发送给目的节点的数据包划分得到的。
进一步,所述解析模块32,具体用于根据所述接收模块31接收到的所述编码后的子数据包组和与所述前端节点预先协商的组合编码方式解析出所述数据包;或者
从通知消息或所述子数据包组的包头中获得所述组合编码方式,根据所述接收模块接收到的所述编码后的子数据包组和所述获得的组合编码方式解析出所述数据包。
进一步,所述解析模块32,还用于根据已接收到的编码后的子数据包组和预先协商的组合编码的方式,或者,根据已接收到的编码后的子数据包组和从通知消息或子数据包组的包头中获得的组合编码方式,判断是否能够解析出所述数据包;若是,则返回停止指示;否则,继续接收编码后的子数据包组,直至解析出所述数据包,或接收不到编码后的子数据包组为止。
参见图21,所述设备的另一种结构包括接收器41和与所述接收器41连接的处理器42,其中:
所述接收器41,用于接收前端节点经过多条传输路径发送的编码后的子数据包组;
所述处理器42,用于根据所述接收器41接收到的所述编码后的子数据包和获得的组合编码方式解析出所述数据包。
进一步,根据图19所描述的所述前端节点的不同,所述接收器41的功能也有所不同,分别说明如下:
当所述前端节点为至少两个中间节点时,所述接收器41,具体用于接收所述至少两个中间节点经过至少两条传输路径发送的编码后的子数据包组。
当所述前端节点为源节点和至少一个中间节点时,所述接收器41,具体用于接收源节点和至少一个中间节点经过至少两条传输路径发送的编码后的子数据包组。
当所述前端节点为源节点时,所述接收器41,具体用于接收所述源节点经过至少两条传输路径发送的编码后的子数据包组。
其中,每个编码后的子数据包组是至少一个子数据包进行包间的组合编码后得到的,且所述子数据包是发送给目的节点的数据包划分得到的。
进一步,所述处理器42,具体用于根据所述接收器41接收到的所述编码后的子数据包组和与所述前端节点预先协商的组合编码方式解析出所述数据包;或者
从通知消息或所述子数据包组的包头中获得所述组合编码方式,根据所述接收模块接收到的所述编码后的子数据包组和所述获得的组合编码方式解析出所述数据包。
进一步,所述处理器42,还用于根据已接收到的编码后的子数据包组和预先协商的组合编码的方式,或者,根据已接收到的编码后的子数据包组和从通知消息或子数据包组的包头中获得的组合编码方式,判断是否能够解析出所述数据包;若是,则返回停止指示;否则,继续接收编码后的子数据包组,直至解析出所述数据包,或接收不到编码后的子数据包组为止。
本发明实施例描述了一种数据包的传输系统,所述传输系统中包括前端节点和目的节点,其中,所述前端节点中各逻辑部件之间的连接关系和功能参见图18(a)~图18(c)以及图19的描述,所述目的节点中各逻辑部件之间的连接关系和功能参见图20和图21的描述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (20)
1.一种数据包的传输方法,其特征在于,所述方法包括:
前端节点获取划分后的多个子数据包;
所述前端节点对所述多个子数据包进行包间组合编码,得到多个编码后的子数据包组;其中,一个编码后的子数据包组中包含至少一个编码后的子数据包;
所述前端节点将所述多个编码后的子数据包组分别通过至少两条传输路径发送给目的节点;
其中,所述前端节点包括至少两个中间节点,所述前端节点获取划分后的多个子数据包包括:所述至少两个中间节点分别接收来自源节点的数据包;所述至少两个中间节点将接收到的数据包划分为多个子数据包;或者
所述前端节点包括至少两个中间节点,所述前端节点获取划分后的多个子数据包包括:至少两个中间节点接收源节点发送的多个子数据包,所述多个子数据包为源节点将数据包划分后得到的;或者
所述前端节点包括源节点和至少一个中间节点,所述前端节点获取划分后的多个子数据包包括:所述至少一个中间节点接收来自源节点的数据包;所述源节点和所述至少一个中间节点分别将所述数据包划分为多个子数据包。
2.根据权利要求1所述的方法,其特征在于,所述前端节点对所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组,包括:
所述前端节点按照与目的节点预先协商确定的组合编码方式,将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组;或者,
所述前端节点按照自身确定的组合编码方式将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组后,通知所述目的节点所使用的组合编码方式。
3.根据权利要求2所述的方法,其特征在于,所述前端节点按照与所述目的节点预先协商确定的组合编码方式或所述前端节点自身确定的组合编码方式,将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组,包括:
所述前端节点按照与所述目的节点预先协商确定的线性组合方式或者所述前端节点自身确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码,获取编码后的子数据包组。
4.根据权利要求3所述的方法,其特征在于,所述前端节点包含至少两个中间节点时,所述前端节点按照与所述目的节点预先协商确定的线性组合方式或者所述前端节点自身确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码包括:
各中间节点按照与所述目的节点预先协商确定的线性组合方式或者所述自身确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行线性组合方式正交,使得任意两个中间节点得到的编码后的子数据包组的内容不同。
5.根据权利要求3所述的方法,其特征在于,所述前端节点为源节点时,所述前端节点将所述多个编码后的子数据包组分别通过至少两条传输路径发送给所述目的节点,包括:
所述源节点将所述多个编码后的子数据包组通过所述至少两条传输路径发送给所述目的节点,所述传输路径上发送的编码后的子数据包组的线性组合方式正交,使得任意两条传输路径上发送的编码后的子数据包组的内容不同。
6.根据权利要求2所述的方法,其特征在于,所述前端节点按照与所述目的节点预先协商确定的组合编码方式或自身确定的组合编码方式,将所述多个子数据包进行包间的组合编码,得到多个编码后的子数据包组,包括:
所述前端节点采用预先协商确定的或者自身确定的度分布函数,确定组合编码的度数;
所述前端节点从所述子数据包中随机选取数量不大于所述度数的子数据包,并将每次选取的子数据包组合为一个编码后的子数据包组;或者,
所述前端节点采用预先协商确定的或者自身确定的生成矩阵,将所述子数据包组合编码生成编码后的子数据包组。
7.根据权利要求1~6任一所述的方法,其特征在于,所述方法还包括:
所述前端节点判断是否接收到所述目的节点返回的停止指示,或发送的编码后的子数据包组的个数是否达到最大发送次数;
若接收到所述停止指示或发送的编码后的子数据包组的个数达到最大发送次数,则停止向目的节点发送编码后的子数据包组,所述停止指示是目的节点解析出所述数据包后返回的。
8.一种数据包的传输方法,其特征在于,所述方法包括:
目的节点接收前端节点经过多条传输路径发送的编码后的子数据包组;
所述目的节点根据接收到的所述编码后的子数据包组和获得的组合编码方式解析出所述数据包;
其中,所述目的节点接收所述前端节点经过多条传输路径发送的编码后的数据包组包括:
当所述前端节点为至少两个中间节点时,接收所述至少两个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
当所述前端节点为源节点和至少一个中间节点时,接收源节点和至少一个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
其中,每个编码后的子数据包组是至少一个子数据包进行包间的组合编码后得到的,且所述子数据包是发送给目的节点的数据包划分得到的。
9.根据权利要求8所述的方法,其特征在于,所述目的节点根据接收到的所述编码后的子数据包组和获得的组合编码方式解析出所述数据包包括:
所述目的节点根据接收到的所述编码后的子数据包组和与所述前端节点预先协商的组合编码方式解析出所述数据包;或者
所述目的节点从通知消息或所述子数据包组的包头中获得所述组合编码方式,根据接收到的所述编码后的子数据包组和所述获得的所述前端节点确定的组合编码方式解析出所述数据包。
10.根据权利要求8所述的方法,其特征在于,所述目的节点根据接收到的所述编码后的子数据包和获得的组合编码方式解析出所述数据包,包括:
所述目的节点根据已接收到的编码后的子数据包组和预先协商的组合编码的方式,或者,所述目的节点根据已接收到的编码后的子数据包组和从通知消息或子数据包组的包头中获得的组合编码方式,判断是否能够解析出所述数据包;若是,则返回停止指示;否则,继续接收编码后的子数据包组,直至解析出所述数据包,或接收不到编码后的子数据包组为止。
11.一种数据包的传输设备,其特征在于,所述设备包括:
获取模块,用于获取划分后的多个子数据包;
编码模块,用于对所述获取模块获取的多个子数据包进行包间组合编码,得到多个编码后的子数据包组;其中,一个编码后的子数据包组中包含至少一个编码后的子数据包;
发送模块,用于将所述编码模块得到的多个子数据包组分别通过至少两条传输路径发送给目的节点;
其中,所述设备为中间节点时,所述获取模块,具体用于接收来自源节点的数据包,以及将接收到的数据包划分为多个子数据包;或者
所述设备为中间节点时,所述获取模块,具体用于接收源节点发送的多个子数据包,所述多个子数据包为源节点将数据包划分后得到的。
12.根据权利要求11所述的设备,其特征在于,所述编码模块,具体包括:
确定编码方式子模块,用于与目的节点预先协商确定组合编码方式,或自身确定组合编码方式,通知所述目的节点所使用的组合编码方式;
组合编码子模块,用于将所述多个子数据包按照所述确定编码方式子模块确定的组合编码方式进行包间的组合编码,得到多个编码后的子数据包组。
13.根据权利要求12所述的设备,其特征在于,
所述确定编码方式子模块确定的组合编码方式是线性组合方式;
所述组合编码子模块,具体用于按照所述确定编码方式子模块确定的所述线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行组合编码,获取编码后的子数据包组。
14.根据权利要求13所述的设备,其特征在于,所述设备为中间节点时,
所述组合编码子模块,具体用于按照所述确定编码方式子模块确定的线性组合方式,分别从所述多个子数据包中选取至少一个子数据包进行线性组合方式正交,使得任意两个中间节点得到的编码后的子数据包组的内容不同。
15.根据权利要求13所述的设备,其特征在于,所述设备为源节点时,所述发送模块,具体用于将所述多个编码后的子数据包组通过所述至少两条传输路径发送给所述目的节点,所述传输路径上发送的编码后的子数据包组的线性组合方式正交,使得所述两条传输路径上发送的编码后的子数据包组的内容不同。
16.根据权利要求13所述的设备,其特征在于,
所述组合编码子模块,具体用于采用所述确定编码方式子模块确定的度分布函数,确定组合编码的度数,从所述子数据包中随机选取数量不大于所述度数的子数据包,并将每次选取的子数据包组合为一个编码后的子数据包组;或者用于采用所述确定编码方式子模块确定的生成矩阵,将所述子数据包组合编码生成编码后的子数据包组。
17.根据权利要求11~16任一权利要求所述的设备,其特征在于,所述设备还包括:
确认模块,用于判断是否接收到所述目的节点返回的停止指示,或发送的编码后的子数据包组的个数是否达到最大发送次数;
指示模块,用于当确认模块确认收到所述停止指示,或者确认模块确认发送的编码后的子数据包组的个数达到最大发送次数,则停止向目的节点发送编码后的子数据包组,所述停止指示是目的节点解析出所述数据包后返回的。
18.一种数据包的传输设备,其特征在于,所述设备包括:
接收模块,用于接收前端节点经过多条传输路径发送的编码后的子数据包组;
解析模块,用于根据所述接收模块接收到的所述编码后的子数据包和获得的组合编码方式解析出所述数据包;
其中,所述接收模块,具体用于当所述前端节点为至少两个中间节点时,接收所述至少两个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
当所述前端节点为源节点和至少一个中间节点时,接收源节点和至少一个中间节点经过至少两条传输路径发送的编码后的子数据包组;或
其中,每个编码后的子数据包组是至少一个子数据包进行包间的组合编码后得到的,且所述子数据包是发送给目的节点的数据包划分得到的。
19.根据权利要求18所述的设备,其特征在于,所述解析模块,具体用于根据所述接收模块接收到的所述编码后的子数据包组和与所述前端节点预先协商的组合编码方式解析出所述数据包;或者
从通知消息或所述子数据包组的包头中获得所述组合编码方式,根据所述接收模块接收到的所述编码后的子数据包组和所述获得的组合编码方式解析出所述数据包。
20.根据权利要求18所述的设备,其特征在于,所述解析模块,还用于根据已接收到的编码后的子数据包组和预先协商的组合编码的方式,或者,根据已接收到的编码后的子数据包组和从通知消息或子数据包组的包头中获得的组合编码方式,判断是否能够解析出所述数据包;若是,则返回停止指示;否则,继续接收编码后的子数据包组,直至解析出所述数据包,或接收不到编码后的子数据包组为止。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/070823 WO2015106444A1 (zh) | 2014-01-17 | 2014-01-17 | 一种数据包的传输方法和传输设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105594164A CN105594164A (zh) | 2016-05-18 |
CN105594164B true CN105594164B (zh) | 2019-05-10 |
Family
ID=53542311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480000006.7A Active CN105594164B (zh) | 2014-01-17 | 2014-01-17 | 一种数据包的传输方法和传输设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10110344B2 (zh) |
EP (1) | EP3086515B1 (zh) |
CN (1) | CN105594164B (zh) |
WO (1) | WO2015106444A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667559B (zh) * | 2017-03-31 | 2020-12-15 | 华为技术有限公司 | 一种通信方法及设备 |
CN109714613A (zh) * | 2018-11-28 | 2019-05-03 | 视联动力信息技术股份有限公司 | 一种基于视联网的视频数据发送方法及装置 |
CN112804711B (zh) * | 2021-01-04 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
CN113965294A (zh) * | 2021-10-22 | 2022-01-21 | 北京灵汐科技有限公司 | 数据包编码方法、数据包解码方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2020791A1 (en) * | 2007-07-30 | 2009-02-04 | Siemens Aktiengesellschaft | Methods and devices for sending of data packets and methods and devices for reconstructing data packets |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8009696B2 (en) * | 2004-08-06 | 2011-08-30 | Ipeak Networks Incorporated | System and method for achieving accelerated throughput |
CN102685562B (zh) * | 2005-03-14 | 2016-06-08 | 尼尔逊媒介研究股份有限公司 | 用于媒体信号的压缩域编码设备和方法 |
JP2006311464A (ja) * | 2005-04-01 | 2006-11-09 | Ntt Docomo Inc | Ipパケットマッピング方法 |
CN100571217C (zh) * | 2007-09-19 | 2009-12-16 | 腾讯科技(深圳)有限公司 | 一种在数据传输过程中抵抗丢包的方法、收发装置及系统 |
CN101136722B (zh) * | 2007-10-15 | 2010-08-11 | 北京交通大学 | 一种适用于高速移动终端的数据发送方法及传输设备 |
US8248944B2 (en) * | 2010-03-04 | 2012-08-21 | Microsoft Corporation | Selectively disabling reliability mechanisms on a network connection |
US8665722B2 (en) * | 2010-03-29 | 2014-03-04 | Ted Szymanski | Method to achieve bounded buffer sizes and quality of service guarantees in the internet network |
US8416785B2 (en) * | 2010-04-21 | 2013-04-09 | International Business Machines Corporation | Implementing ghost packet removal within a reliable meshed network |
FR2960725B1 (fr) * | 2010-05-27 | 2015-06-26 | Canon Kk | Procede et dispositif de configuration d'un schema d'encodage/decodage global dans un reseau de communication, produit programme d'ordinateur et moyen de stockage correspondants |
US8863256B1 (en) * | 2011-01-14 | 2014-10-14 | Cisco Technology, Inc. | System and method for enabling secure transactions using flexible identity management in a vehicular environment |
CN102684856B (zh) * | 2011-01-25 | 2016-09-28 | 西安电子科技大学 | 一种数据重传方法及装置 |
US9537759B2 (en) * | 2012-01-31 | 2017-01-03 | Massachusetts Institute Of Technology | Multi-path data transfer using network coding |
EP2834931B1 (en) * | 2012-04-03 | 2021-12-01 | Nevion Europe AS | Signal protection |
-
2014
- 2014-01-17 WO PCT/CN2014/070823 patent/WO2015106444A1/zh active Application Filing
- 2014-01-17 EP EP14879085.0A patent/EP3086515B1/en active Active
- 2014-01-17 CN CN201480000006.7A patent/CN105594164B/zh active Active
-
2016
- 2016-07-15 US US15/211,516 patent/US10110344B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2020791A1 (en) * | 2007-07-30 | 2009-02-04 | Siemens Aktiengesellschaft | Methods and devices for sending of data packets and methods and devices for reconstructing data packets |
Also Published As
Publication number | Publication date |
---|---|
EP3086515B1 (en) | 2019-03-13 |
CN105594164A (zh) | 2016-05-18 |
EP3086515A4 (en) | 2016-12-21 |
US20160323065A1 (en) | 2016-11-03 |
US10110344B2 (en) | 2018-10-23 |
WO2015106444A1 (zh) | 2015-07-23 |
EP3086515A1 (en) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105830377B (zh) | 用于提供对网络流量进行动态编码的方法和装置 | |
Paramanathan et al. | Lean and mean: network coding for commercial devices | |
CN104982006B (zh) | 用于提供软件定义协议栈的系统和方法 | |
CN105027516B (zh) | 实时数据的冗余传输 | |
CN106878138B (zh) | 一种报文传输方法和装置 | |
CN105634689B (zh) | 一种harq确认信息的反馈方法及装置 | |
CN110463112A (zh) | 用于pusch的早期终止信号和harq-ack反馈的设计 | |
WO2017189743A1 (en) | Generating packets in a reverse direction of a service function chain | |
CN108990125A (zh) | 数据传输的方法、终端设备和网络设备 | |
CN105594164B (zh) | 一种数据包的传输方法和传输设备 | |
CN109548085A (zh) | 传输数据的方法、接入网设备和终端设备 | |
TWI396398B (zh) | 管理傳輸時間間隔集束傳輸之方法及通訊裝置 | |
CN103650431B (zh) | 视频数据传输方法及装置 | |
CN107968750A (zh) | 报文传输方法、装置及节点 | |
CN103974325A (zh) | 多制式网络融合的方法、设备及系统 | |
CN103703829A (zh) | 一种数据传输方法和装置 | |
CN110099448A (zh) | 通信的方法和装置 | |
CN110351007A (zh) | 一种上行控制信息发送和接收方法及装置 | |
CN109417533A (zh) | 发送数据的方法和转发设备 | |
CN103906165A (zh) | 一种基于编码感知的在线机会式路由方法 | |
CN109672513A (zh) | 传输路径配置方法、装置及设备 | |
CN106454414A (zh) | 一种多径网络实时视频传输方法 | |
CN106130696A (zh) | 一种前向纠错的方法、装置及电子设备 | |
CN104579579B (zh) | 一种大数据包传输方法和系统 | |
CN107210843A (zh) | 使用喷泉编码的实时视频通信的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |