CN113543206A - 数据传输的方法、***和装置 - Google Patents
数据传输的方法、***和装置 Download PDFInfo
- Publication number
- CN113543206A CN113543206A CN202010316063.3A CN202010316063A CN113543206A CN 113543206 A CN113543206 A CN 113543206A CN 202010316063 A CN202010316063 A CN 202010316063A CN 113543206 A CN113543206 A CN 113543206A
- Authority
- CN
- China
- Prior art keywords
- node
- transmission
- transmission path
- packet
- paths
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 474
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012545 processing Methods 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 31
- 238000011084 recovery Methods 0.000 claims description 27
- 230000001934 delay Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 27
- 239000011159 matrix material Substances 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 9
- 238000009826 distribution Methods 0.000 description 8
- 241000288673 Chiroptera Species 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000002131 composite material Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002779 inactivation Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/20—Negotiating bandwidth
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据传输的方法、***和装置,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。该方法包括:在当前传输路径出现拥塞的情况下,第一节点确定至少两条候选传输路径,该至少两条候选传输路径均以该第一节点为起点、以目的节点为终点;该第一节点基于编码数据包的剩余时延、编码数据包的接收带宽以及该至少两条候选传输路径的信息,从该至少两条候选传输路径中确定至少一条传输路径;该第一节点在该至少一条传输路径上发送编码数据包。
Description
技术领域
本申请涉及通信领域,更具体地,涉及通信领域中一种数据传输的方法、***和装置。
背景技术
信道编码技术可以在传输过程中将源码和根据源码产生的纠错码一起从源端发送到接收端,在传输过程中,会产生信息丢失或错误,例如,无线空口由于电磁干扰会产生比特丢失或错误,或者在因特网上,由于负责转发的路由器设备出现拥塞或闪断,造成数据包丢失等。接收端接收到经过信道编码技术处理的一部分源码以及纠错码时,可以根据收到的信息尝试恢复源码,但是,由于信道编码技术的差异,接收端可以恢复不同程度的传输损伤。
分批稀疏编码(batched sparse codes,BATS codes)是针对网络中存在丢包现象而设计的编码方案。BATS结合了传统编码技术的优点,通过结合低密度奇偶校验码(lowdensity parity check,LDPC)和行程长度编码(run-length encoding,RNLC)两种编码技术,可以以较为经济的冗余带宽和计算难度恢复多跳网络中的传输损伤。但是,分批稀疏编码在网络中传输时,可能遇到带宽受限的场景,例如拥塞、丢包等,导致编码数据传输失败。
发明内容
本申请提供一种数据传输的方法、***和装置,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。
第一方面,提供了一种数据传输的方法,包括:在当前传输路径出现拥塞的情况下,第一节点确定至少两条候选传输路径,所述至少两条候选传输路径均以所述第一节点为起点、以目的节点为终点;所述第一节点基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径;所述第一节点在所述至少一条传输路径上发送所述编码数据包。
本申请实施例的数据传输的方法,通过第一节点确定当前传输路径出现拥塞之后,基于编码数据包的剩余时延、编码数据包的接收带宽以及至少两条候选传输路径的信息,重新选择传输路径,通过新的传输路径进行数据传输,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。
应理解,上述第一节点可以是源节点,也可以是当前传输路径上的中间节点,本申请实施例对此不作限定。
上述当前传输路径出现拥塞可以是带宽受限的场景,例如拥塞、丢包、或者拥塞和丢包并存,即当前传输路径存在瓶颈,不能通过增加冗余来抵抗丢包损伤,导致编码数据传输失败。示例性地,上述当前传输路径出现拥塞可以是指:当前传输路径的带宽受限,编码数据包按照原来的传输矩阵H发送,在目的节点无法收到数量大于或等于秩rank(GH)的编码数据包,导致解码失败。在这种情况下,即第一节点确定当前传输路径拥塞,或者说处于带宽受限状态,该第一节点可以采用本申请实施例的方法重新选择传输路径,使得编码数据包成功传输至目的节点。
结合第一方面,在第一方面的某些实现方式中,所述至少两条候选传输路径的信息包括下列信息中的至少一个:所述至少两条候选传输路径中每条候选传输路径上的节点之间的传输时延;所述每条候选传输路径上的节点的再编码时延;所述每条候选传输路径的可用带宽;或,所述每条候选传输路径上的节点之间的丢包率。
应理解,本申请实施例的第一节点可以基于上述传输时延、再编码时延、可用带宽以及丢包率等信息中的至少一个从上述至少两条候选传输路径中选择上述至少一条传输路径。上述信息可以统称为传输路径的信息、或者路径信息、或者其他名称,此处不作限定。上述信息可以是第一节点预先获取的。示例性地,在网络拓扑建立之后,第一节点可以获取与该第一节点相关联的所有传输路径中的路径信息,例如包括节点列表、节点之间的传输时延、节点之间的丢包率等等。
结合第一方面,在第一方面的某些实现方式中,所述至少一条传输路径包括第一传输路径,所述第一传输路径满足如下条件:所述第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;所述第一传输路径的可用带宽大于或等于所述编码数据包的接收带宽;所述第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率。
传输时延可以包括转发时延,也可以包括转发时延和再编码时延,本申请实施例对此不作限定。若传输时延仅包括转发时延,则上述条件“所述第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延”可以替换为第一传输路径上的节点之间的传输时延、再编码时延之和小于或等于所述编码数据包的剩余时延。上述“第一传输路径的可用带宽”可以替换为该第一传输路径上的节点之间的可用带宽的最小值。上述“第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率”可以替换为第一传输路径上的节点之间的丢包率的最大值小于或等于编码丢包恢复率。待传输的编码数据包包括原始数据包和冗余数据包,本申请实施例中的编码丢包恢复率是指待传输的冗余数据包的数量与原始数据包的数量之比。例如,原始数据包的数量为10个,为了抵抗丢包损伤,待传输的编码数据包的数量为15个,此时编码丢包恢复率即为50%。
在本申请实施例中,第一节点由于带宽受限而无法发送足够的编码数据包给下一节点,导致目的节点不能获得足够的编码数据包完成解码,在这种情况下,第一节点可以重新选择传输路径,新传输路径的总时延小于或等于编码数据包在第一节点的剩余时延,节点之间的丢包率小于或等于编码丢包恢复率,并且可用带宽大于或等于编码数据包的接收端带宽。此外,可以设置部分节点为非编码节点,即单纯的转发节点,新传输路径的节点按照编码数据包中指示的路径信息和节点的处理类型完成编码数据包的转发和再编码。通过以上处理,可以在满足时延要求的前提下,用更小的带宽完成编码包的传输,从而解决原始路径上无法传输编码数据包的问题。换句话说,本申请实施例结合了BATS编码的原理,利用牺牲时延(仍可满足业务要求)来获得一定的带宽增益,从而解决带宽受限的问题。
结合第一方面,在第一方面的某些实现方式中,所述至少一条传输路径包括至少两条第二传输路径,所述至少两条第二传输路径满足如下条件:所述至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;所述至少两条第二路径的可用带宽之和大于或等于所述编码数据包的接收带宽;所述至少两条第二路径中的节点之间的丢包率均小于或等于编码丢包恢复率。
应理解,传输时延可以包括转发时延,也可以包括转发时延和再编码时延,本申请实施例对此不作限定。若传输时延仅包括转发时延,则上述条件“所述至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延”可以替换为至少两条第二传输路径上的节点之间的传输时延、再编码时延之和小于或等于所述编码数据包的剩余时延。上述“至少两条第二传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率”可以替换为至少两条第二传输路径上的节点之间的丢包率的最大值小于或等于编码丢包恢复率。待传输的编码数据包可以包括原始数据包和冗余数据包,本申请实施例中的编码丢包恢复率是指待传输的冗余数据包的数量与原始数据包的数量之比。
结合第一方面,在第一方面的某些实现方式中,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:所述第一节点按照所述至少两条第二传输路径中每条第二传输路径的可用带宽和所述每条第二传输路径上的节点之间的传输时延,为所述至少两条第二传输路径分配所述编码数据包;所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:所述第一节点分别在所述至少两条第二传输路径上发送所述编码数据包。
进一步地,第一节点也可以将上述至少两条第二传输路径的丢包率作为在路径间分配编码数据包的参数。
本申请实施例通过复合路径的选取,解决了原路径不能支持编码包的传输的问题,以及其他单条传输路径也不能满足传输要求,但存在复合路径满足编码包传输的场景,提高了数据传输的灵活性。
结合第一方面,在第一方面的某些实现方式中,所述至少一条传输路径为所述至少两条候选传输路径中满足所述条件的路径中、节点数量最多的路径。
在至少一条传输路径包括一条传输路径(即第一传输路径)的情况下,示例性地,第一节点可以将包括的节点数目最多的一条候选传输路径确定为上述第一传输路径。这样能够获得较大的带宽,保证编码数据包的传输可靠性。示例性地,第一节点可以将包括的节点数目最少的一条候选传输路径确定为上述第一传输路径。这样能够获得较小的传输时延,从而提高数据传输的效率。
在至少一条传输路径包括至少两条传输路径的情况下,第一节点可以对至少两条候选传输路径中的所有候选传输路径分别进行判断,将满足条件的至少两条候选传输路径的组合筛选出来。示例性地,第一节点可以将包括的节点数目最多的一组候选传输路径确定为上述至少两条传输路径。这样能够获得较大的带宽,保证编码数据包的传输可靠性。示例性地,第一节点可以将包括的节点数目最少的一组候选传输路径确定为上述至少两条传输路径。这样能够获得较小的传输时延,从而提高数据传输的效率。
结合第一方面,在第一方面的某些实现方式中,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:所述第一节点根据所述至少一条传输路径的信息,确定所述至少一条传输路径上的节点的处理类型,所述处理类型包括转发、再编码、或解码中的至少一项;所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:所述第一节点在所述至少一条传输路径上发送所述编码数据包,所述编码数据包携带所述至少一条传输路径上的节点的处理类型。
示例性地,为了进一步提高数据传输的效率,第一节点可以在选择上述至少一条传输路径之后,确定该至少一条传输路径上的节点的处理类型。例如,第一节点可以根据至少一条传输路径上的时延、丢包率、可用带宽等信息,来确定至少一条传输路径上的节点所承担的角色,并设定在编码数据包中每个节点的处理类型(handle type),即确定节点的处理类型。
结合第一方面,在第一方面的某些实现方式中,所述编码数据包携带下列信息中的至少一个:业务要求信息,用于指示本次数据传输的时延要求;所述至少一条传输路径的信息,用于指示所述至少一条传输路径上的节点;处理类型,用于指示接收到所述编码数据包的下一跳节点对所述编码数据包执行转发、再编码、或解码中的至少一项处理。
第二方面,提供了一种数据传输的装置,用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面中任一种可能的实现方式中的方法的单元。
第三方面,提供了另一种数据传输的装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
在一种实现方式中,该数据传输的装置为传输节点。当该数据传输的装置为传输节点时,通信接口可以是收发器,或,输入/输出接口。
在另一种实现方式中,该数据传输的装置为配置于传输节点中的芯片。当该数据传输的装置为配置于传输节点中的芯片时,通信接口可以是输入/输出接口。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第八方面,提供了一种通信***,包括前述的第一节点和目的节点。
附图说明
图1示出了本申请实施例的通信***的示意图。
图2示出了分批稀疏编码的编码传输过程的示意图。
图3示出了本申请实施例的数据传输的方法的示意性流程图。
图4示出了本申请实施例的另一数据传输的方法的示意性流程图。
图5示出了本申请实施例的数据传输的装置的示意性框图。
图6示出了本申请实施例的另一数据传输的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信***,例如:全球移动通信(globalsystem for mobile communications,GSM)***、码分多址(code division multipleaccess,CDMA)***、宽带码分多址(wideband code division multiple access,WCDMA)***、通用分组无线业务(general packet radio service,GPRS)、长期演进(long termevolution,LTE)***、LTE频分双工(frequency division duplex,FDD)***、LTE时分双工(time division duplex,TDD)、通用移动通信***(universal mobiletelecommunication system,UMTS)、全球互联微波接入(worldwide interoperabilityfor microwave access,WiMAX)通信***、未来的第五代(5th generation,5G)***或新无线(new radio,NR)等。
还应理解,本申请实施例的技术方案还可以应用于各种基于非正交多址接入技术的通信***,例如稀疏码多址接入(sparse code multiple access,SCMA)***,当然SCMA在通信领域也可以被称为其他名称;进一步地,本申请实施例的技术方案可以应用于采用非正交多址接入技术的多载波传输***,例如采用非正交多址接入技术正交频分复用(orthogonal frequency division multiplexing,OFDM)、滤波器组多载波(filter bankmulti-carrier,FBMC)、通用频分复用(generalized frequency division multiplexing,GFDM)、滤波正交频分复用(filtered-OFDM,F-OFDM)***等。
本申请实施例的技术方案还可以广泛应用于卫星通信网络、无线传感网络和物联网(internet of things,IoT)***等。
本申请实施例中的节点(包括源节点、中间节点和目的节点)可以为终端设备,也可以为网络设备。
上述终端设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digitalassistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
上述网络设备可以是用于与终端设备通信的设备,该网络设备可以是全球移动通信(global system for mobile communications,GSM)***或码分多址(code divisionmultiple access,CDMA)中的基站(base transceiver station,BTS),也可以是宽带码分多址(wideband code division multiple access,WCDMA)***中的基站(NodeB,NB),还可以是LTE***中的演进型基站(evoled NodeB,eNB或eNodeB),还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来5G网络中的网络设备或者未来演进的PLMN网络中的网络设备等,本申请实施例并不限定。
在本申请实施例中,终端设备或网络设备包括硬件层、运行在硬件层之上的操作***层,以及运行在操作***层上的应用层。该硬件层包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作***可以是任意一种或多种通过进程(process)实现业务处理的计算机操作***,例如,Linux操作***、Unix操作***、Android操作***、iOS操作***或windows操作***等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是终端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
为便于理解本申请实施例,首先结合图1详细说明适用于本申请实施例的通信***。图1示出了适用于本申请实施例的通信***的示意图。如图1所示,该通信***100可以包括源节点、目的节点以及中间节点,其中,节点1~节点6均为中间节点。在本申请中,源节点也可以称为发送节点或发送端,目的节点也可以称为接收节点或接收端。
应理解,图1示例性地示出了8个节点,可选地,该网络架构100可以包括其他数量的节点(节点的数量可以大于8,或者小于8),且这些节点之间还可以具有其他网络拓扑结构,本申请实施例对此不作限定。
在图1所示的通信***中,针对一个源节点和一个目的节点,存在多条候选传输路径。具体而言,源节点与目的节点间存在中间节点(节点1、节点2、节点3、节点4、节点5、节点6),这些节点组成了从源节点到目的节点的如下多条路径:
路径1:源节点—>中间节点1—>目的节点;
路径2:源节点—>中间节点1—>中间节点2—>中间节点3—>目的节点;
路径3:源节点—>中间节点1—>中间节点3—>目的节点;
路径4:源节点—>中间节点2—>中间节点3—>目的节点;
路径5:源节点—>中间节点6—>中间节点5—>中间节点4—>目的节点;
路径6:源节点—>中间节点6—>中间节点2—>中间节点5—>中间节点3—>中间节点4—>目的节点。
上述6条路径仅仅是示例性说明,图1所示的源节点到目的节点之间还存在其他路径,此处不再一一列举。
为便于理解,下面先介绍本申请实施例涉及的分批稀疏编码。
分批稀疏编码(batched sparse codes,BATS codes)是针对网络中存在丢包现象而设计的编码方案。BATS码结合了喷泉码无需反馈、网络编码允许中间节点参与数据处理的优势,且降低了组合系数向量的开销。相比于一般的线性网络编码方案,BATS码具有较小的编解码复杂度,数据包头较小,网络中间节点所需缓存较少。相比于低复杂性的随机线性网络编码,如EC码、Gamma码、L-chunked码,BATS码具有更高的传输速率且是***率的。
下面先介绍分批稀疏编码的编解码原理。分批稀疏编码包括发送端编码、中间节点再编码和接收端解码三个过程。图2示出了分批稀疏编码的示意图。
1、编码
BATS编解码中所有符号和运算均在有限域Fq(q一般为256)上进行。假设待编码的数据包的数量为K,分批(batch)数量为n,每个batch包含M个编码数据包。待编码数据包(即原始数据包)编号为1~K,集合B=(1,…,K)表示所有数据包的集合,集合Bi[],B,i=1,…,n表示部分数据包的集合。编码后得到n个batch为X1,X2,…,Xn,其表示为:
Xi=BiGi
其中,令di=|Bi|,即Bi中包含di个原始数据包,称di是batch Xi的度,i=1,…,n,度di是独立同分布的随机变量,称其分布Ψ=(Ψ1,…,Ψk)为度分布(degreedistribution),即Pr{di=k}=Ψk。Gi是di×M的随机矩阵,称为生成矩阵。理论上,编码后的batch数目n可以是无限的。
BATS编码传输过程可以如图2所示,生成矩阵Gi处的虚线框表示生成的batch,虚线框内的实心方块表示每个batch内的M个编码数据包。
2、传输
源节点或中间节点在传输数据包时,由于存在丢包现象,每个batch到达中间节点的数据包的数量可能少于M,中间节点可以对属于同一batch的数据包使用网络编码,重新产生M个数据包,并转发给下一节点,如图2所示。到达目的节点的第i个batch可以表示为:
Yi=XiHi=BiGiHi
这里,Hi是一个M行的随机矩阵,称为传输矩阵。Hi的列数等于第i个batch到达目的节点的数据包的数目,对于不同的分组,该值不一定相同,但一定小于M。对传输矩阵H,令hk∈Pr{rank(H)=k},称h=(h0,…,hM)为传输矩阵的秩分布,简称为秩分布,秩分布可以反映出网络的丢包特性。
3、解码
BATS常用的解码方法是置信传输(belief propagation,BP)解码和置活(inactivation)解码。经过编码和传输之后,接收端收到的信息是:n个batch Yi,i=1,…,n,数据包头信息中包含的传输矩阵H,通过收发端协商得到的生成矩阵G。于是,解码器可以使用的解码信息是(Yi,GiHi),i=1,…,n,即相当于求解线性方程组。对于一个batch,其生成矩阵G和传输矩阵H,rank(GH)等于这个batch包含的原始数据包数目时,该batch可解。可解的batch中包含的原始数据包,称为可解的数据包。
BP解码包含多次迭代,每次迭代时,可以选择一个可解的数据包,将其带入与之关联且不可解的batch中。带入后,该数据包被标记已解,此时不可解的batch可能会变得可解。然后进入下一次迭代。当没有任何可解的数据包时,解码结束。
当BP解码无法进行下去时,还可通过高斯消元法对剩余的batch进行解码,但高斯消元法的解码复杂度过高。置活解码是一种基于BP解码的计算复杂度较低的解码方式。其解码过程为,当BP解码无法进行下去时,随机选择一个尚未解出来的数据包,将其作为可解的数据包,称为“置活”,与之有关联的数据包用该数据包表示。之后继续进行BP解码迭代,直到所有的原始数据包均已解或置活。最后,再使用高斯消元法对置活的数据包进行解码。置活解码时,置活的数据包数目可以被称为置活数。置活数越多时,越多的数据包难以解出,使用高斯消元法带来的计算量也越大。
示例性地,表一列出了上述编码数据包所携带的信息,其中包括源节点IP地址(source IP address)、目的节点IP地址(destination IP address)、下一跳节点IP地址(next hop IP address)、源包长度(packet size)、源包编号(packet ID)、编码包编号(batch ID)、每个batch内编码包的个数M、包的个数K、传输矩阵向量(vector)以及编码包的有效载荷(payload)等信息。
表一
分批稀疏编码的编码包在网络中传输时,可能遇到带宽受限的场景,例如拥塞、丢包、或者拥塞和丢包并存,即当前传输路径存在瓶颈,不能通过增加冗余来抵抗丢包损伤,导致编码数据传输失败。例如,在上述图1所示的通信***中,假设源节点选择路径1进行传输,当节点1与目的节点之间出现了拥塞,不能满足编码所需带宽,即目的节点接收到的编码包的数量小于rank(GH),则无法继续在路径1执行编码传输,传输失败。
有鉴于此,本申请提出了一种数据传输的方法、***和装置,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。
在介绍本申请实施例提供的方法之前,先做出以下几点说明。
第一,在下文示出的实施例中,各术语及英文缩略语,如编码数据包的接收带宽、编码丢包恢复率等,均为方便描述而给出的示例性举例,不应对本申请构成任何限定。本申请并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,区分不同的节点、区分不同的传输路径等。
第三,“至少一个”是指一个或者多个,“至少两个”和“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
下面将结合附图详细说明本申请提供的数据传输的方法、***和装置。
图3示出了本申请实施例提供的数据传输的方法300的示意性流程图。该方法可以应用于图1所示的通信***中,但本申请实施例对此不作限定。该方法300包括:
S310,在当前传输路径出现拥塞的情况下,第一节点确定至少两条候选传输路径,所述至少两条候选传输路径均以所述第一节点为起点、以目的节点为终点。
S320,所述第一节点基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径。
S330,所述第一节点在所述至少一条传输路径上发送所述编码数据包。
示例性地,在本申请实施例中,至少一条传输路径包括第一传输路径,第一节点在该第一传输路径上的下一跳节点为中间节点1,因此,第一节点向中间节点1发送编码数据包,对应地,中间节点1接收该编码数据包。
本申请实施例的数据传输的方法,通过第一节点确定当前传输路径出现拥塞之后,基于编码数据包的剩余时延、编码数据包的接收带宽以及至少两条候选传输路径的信息,重新选择传输路径,通过新的传输路径进行数据传输,有利于提高编码数据包的传输成功率,降低编码数据包的传输时延。
应理解,上述第一节点可以是源节点,也可以是当前传输路径上的中间节点,本申请实施例对此不作限定。
上述当前传输路径出现拥塞可以是带宽受限的场景,例如拥塞、丢包、或者拥塞和丢包并存,即当前传输路径存在瓶颈,不能通过增加冗余来抵抗丢包损伤,导致编码数据传输失败。示例性地,上述当前传输路径出现拥塞可以是指:当前传输路径的带宽受限,编码数据包按照原来的传输矩阵H发送,在目的节点无法收到数量大于或等于rank(GH)的编码数据包,导致解码失败。在这种情况下,即第一节点确定当前传输路径拥塞,或者说处于带宽受限状态,该第一节点可以采用本申请实施例的方法重新选择传输路径,使得编码数据包成功传输至目的节点。
上述剩余时延可以是第一节点根据本次数据传输的业务要求计算出来的,示例性地,本次数据传输的业务要求信息携带了本次数据传输的时延,第一节点可以基于该时延以及第一节点之前的传输过程中已经消耗的时延,计算出编码数据包的剩余时延。应理解,若第一节点为源节点,则编码数据包的剩余时延等于本次数据传输的时延。
上述编码数据包的接收带宽是指编码数据包在到达目的节点时,该目的节点所能接收到的编码数据包的带宽。与上述本次数据传输的时延类似,编码数据包的接收带宽也可以携带在本次数据传输的业务要求信息中,但本申请实施例对此不作限定。
在确定了至少一条传输路径之后,第一节点可以生成携带下列信息的编码数据包,并向至少一条传输路径上的下一跳节点发送该编码数据包。可选地,编码数据包携带下列信息中的至少一个:
业务要求信息,用于指示本次数据传输的时延要求;
所述至少一条传输路径的信息,用于指示所述至少一条传输路径上的节点;
处理类型,用于指示接收到所述编码数据包的下一跳节点对所述编码数据包执行转发、再编码、或解码中的至少一项处理。
表二列出了本申请实施例的编码数据包所携带的信息,其中包括源节点IP地址(source IP address)、目的节点IP地址(destination IP address)、源包编号(packetID)、源包长度(packet size)、编码包编号(batch ID)、每个batch内编码包的个数M、包的个数K、编码信息、节点数量、处理类型(handle type)、节点ID、传输矩阵向量(vector)以及编码包的有效载荷(payload)等信息。
表二
其中,IP地址还可以替换成媒体访问控制(media access control,MAC)地址、或者其他地址,编码信息可以包括编码数据吧的初试时间戳、端到端的时延要求、带宽要求等信息,节点数量指所选择的传输路径(即至少一条传输路径)上的后续节点的数量,处理类型至少包括转发、再编码、解码等处理操作。节点ID指至少一条传输路径上的节点的标识,例如可以是节点编号。
上述至少两条候选传输路径可以是第一节点到目的节点的传输路径,可以包括当前传输路径。示例性地,至少两条候选传输路径的信息可以是第一节点到目的节点的路径表,包括传输路径上每个节点的下一跳节点的信息。
以图1为例,若第一节点为源节点,则至少两条候选传输路径可以包括下列路径:
路径1:源节点—>中间节点1—>目的节点;
路径2:源节点—>中间节点1—>中间节点2—>中间节点3—>目的节点;
路径3:源节点—>中间节点1—>中间节点3—>目的节点;
路径4:源节点—>中间节点2—>中间节点3—>目的节点;
路径5:源节点—>中间节点6—>中间节点5—>中间节点4—>目的节点;
路径6:源节点—>中间节点6—>中间节点2—>中间节点5—>中间节点3—>中间节点4—>目的节点。
若当前传输路径为源节点—>中间节点1—>目的节点,上述第一节点可以为中间节点1,则至少两条候选传输路径可以包括下列路径:
路径1:中间节点1—>目的节点;
路径2:中间节点1—>中间节点3—>目的节点;
路径3:中间节点1—>中间节点3—>中间节点4—>目的节点。
应理解,第一节点还可以是其他中间节点,例如节点2、节点3等,这取决于当前传输路径,此处不再赘述。
作为一个可选的实施例,所述至少两条候选传输路径的信息包括下列信息中的至少一个:
所述至少两条候选传输路径中每条候选传输路径上的节点之间的传输时延;
所述每条候选传输路径上的节点的再编码时延;
所述每条候选传输路径的可用带宽;或,
所述每条候选传输路径上的节点之间的丢包率。
应理解,本申请实施例的第一节点可以基于上述传输时延、再编码时延、可用带宽以及丢包率等信息中的至少一个从上述至少两条候选传输路径中选择上述至少一条传输路径。上述信息可以统称为传输路径的信息、或者路径信息、或者其他名称,此处不作限定。上述信息可以是第一节点预先获取的。示例性地,在网络拓扑建立之后,第一节点可以获取与该第一节点相关联的所有传输路径中的路径信息,例如包括节点列表、节点之间的传输时延、节点之间的丢包率等等。
在本申请实施例中,第一节点所选择的至少一条传输路径可以为一条传输路径,也可以为多条传输路径(或者称为复合传输路径),本申请实施例对此不作限定。下面,分情况对上述至少一条传输路径进行说明。
情况一、至少一条传输路径包括一条传输路径,称为第一传输路径。
在这种情况下,可选地,该第一传输路径满足如下条件:
1、第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;
2、第一传输路径的可用带宽大于或等于所述编码数据包的接收带宽;
3、第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率。
传输时延可以包括转发时延,也可以包括转发时延和再编码时延,本申请实施例对此不作限定。若传输时延仅包括转发时延,则上述条件1可以替换为第一传输路径上的节点之间的传输时延、再编码时延之和小于或等于所述编码数据包的剩余时延。上述“第一传输路径的可用带宽”可以替换为该第一传输路径上的节点之间的可用带宽的最小值。上述“第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率”可以替换为第一传输路径上的节点之间的丢包率的最大值小于或等于编码丢包恢复率。待传输的编码数据包包括原始数据包和冗余数据包,本申请实施例中的编码丢包恢复率是指待传输的冗余数据包的数量与原始数据包的数量之比。例如,原始数据包的数量为10个,为了抵抗丢包损伤,待传输的编码数据包的数量为15个,此时编码丢包恢复率即为50%。
具体而言,第一节点可以从已确定的至少两条候选传输路径中进行筛选,选择出满足上述条件的第一传输路径。在一种可能的实现方式中,第一节点可以逐条进行判断,一旦确定出满足上述条件的一条候选传输路径,即将该候选传输路径确定为第一传输路径。在另一种可能的实现方式中,第一节点可以对至少两条候选传输路径中的所有候选传输路径分别进行判断,将满足上述条件的候选传输路径筛选出来,若存在一条满足上述条件的候选传输路径,则第一节点可以将该候选传输路径确定为第一传输路径;若存在多条满足上述条件的候选传输路径,则第一节点可以从该多条满足条件的候选传输路径中选择一条候选传输路径,将其作为第一传输路径。示例性地,第一节点可以将包括的节点数目最多的一条候选传输路径确定为第一传输路径。这样能够获得较大的带宽,保证编码数据包的传输可靠性。示例性地,第一节点可以将包括的节点数目最少的一条候选传输路径确定为第一传输路径。这样能够获得较小的传输时延,从而提高数据传输的效率。
示例性地,假设上述第一节点为图1所示的通信***中的源节点,上述第一传输路径为源节点—>中间节点1—>中间节点3—>目的节点。中间节点1为转发节点,即不对接收到的编码数据包进行再编码,直接转发接收到的编码数据包。中间节点2为编码节点,可以对接收到的编码数据包进行再编码,补偿之前的丢包,再进行转发。该第一传输路径满足上述条件,即源节点至中间节点1的传输时延、中间节点1至中间节点3的传输时延、中间节点3的再编码时延、中间节点3至目的节点的传输时延之和小于或等于编码数据包的剩余时延,该传输路径的可用带宽大于或等于编码数据包的接收带宽,源节点至中间节点1的丢包率、中间节点1至中间节点3的丢包率、中间节点3至目的节点的丢包率均小于编码丢包恢复率。
可选地,该方法还可以包括下列步骤:
S340,中间节点1直接转发编码数据包至中间节点3;对应地,中间节点3接收该编码数据包。
示例性地,中间节点1接收到编码数据包,该编码数据包中的处理类型指示“转发”,即中间节点1为转发节点,中间节点1可以根据上述表二所示的信息,确定中间节点1在第一传输路径上的下一跳节点(即中间节点3)的IP地址,向该下一跳节点(即中间节点3)转发编码数据包。
可选地,中间节点1需要更新如表二所示的编码数据包中的节点信息,例如删除该中间节点1的处理类型和ID、将节点数量减1,再向中间节点3发送更新后的编码数据包。
S350,中间节点3对编码数据包进行再编码,获得新的编码数据包。
示例性地,中间节点3接收到编码数据包,该编码数据包中的处理类型指示“再编码+转发”,即中间节点3为编码节点,中间节点3可以根据中间节点3与目的节点之间的丢包率,选择传输矩阵对接收到的数据包进行再编码。中间节点3可以根据上述表二所示的信息,确定中间节点3在第一传输路径上的下一跳节点(即目的节点)的IP地址,向该下一跳节点(即目的节点)转发再编码后的数据包。
可选地,中间节点3需要更新如表二所示的编码数据包中的节点信息,例如删除该中间节点3的处理类型和ID、将节点数量减1,再向目的节点发送更新后的编码数据包。
S360,中间节点3向目的节点发送新的编码数据包,对应地,目的节点接收该新的编码数据包。
S370,目的节点对该新的编码数据包进行解码处理。
具体而言,接收节点收到编码数据包,可以根据处理类型指示的“解码”,尝试解码,当收到大于或等于rank(GH)的编码数据包时,目的节点可以解码成功。
在本申请实施例中,第一节点由于带宽受限而无法发送足够的编码数据包给下一节点,导致目的节点不能获得足够的编码数据包完成解码,在这种情况下,第一节点可以重新选择传输路径,新传输路径的总时延小于或等于编码数据包在第一节点的剩余时延,节点之间的丢包率小于或等于编码丢包恢复率,并且可用带宽大于或等于编码数据包的接收端带宽。此外,可以设置部分节点为非编码节点,即单纯的转发节点,新传输路径的节点按照编码数据包中指示的路径信息和节点的处理类型完成编码数据包的转发和再编码。通过以上处理,可以在满足时延要求的前提下,用更小的带宽完成编码包的传输,从而解决原始路径上无法传输编码数据包的问题。换句话说,本申请实施例结合了BATS编码的原理,利用牺牲时延(仍可满足业务要求)来获得一定的带宽增益,从而解决带宽受限的问题。
情况二、至少一条传输路径包括多条传输路径,称为至少两条第二传输路径。
在这种情况下,可选地,上述至少一条传输路径包括至少两条第二传输路径,该至少两条第二传输路径满足如下条件:
1、至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;
2、至少两条第二路径的可用带宽之和大于或等于所述编码数据包的接收带宽;
3、至少两条第二路径中的节点之间的丢包率均小于或等于编码丢包恢复率。
传输时延可以包括转发时延,也可以包括转发时延和再编码时延,本申请实施例对此不作限定。若传输时延仅包括转发时延,则上述条件1可以替换为至少两条第二传输路径上的节点之间的传输时延、再编码时延之和小于或等于所述编码数据包的剩余时延。上述“至少两条第二传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率”可以替换为至少两条第二传输路径上的节点之间的丢包率的最大值小于或等于编码丢包恢复率。待传输的编码数据包包括原始数据包和冗余数据包,本申请实施例中的编码丢包恢复率是指待传输的冗余数据包的数量与原始数据包的数量之比。
具体而言,第一节点可以从已确定的至少两条候选传输路径中进行筛选,选择出满足上述条件的至少两条第二传输路径,该至少两条第二传输路径可以称为一组传输路径。在一种可能的实现方式中,第一节点可以逐条进行判断,一旦确定出满足上述条件的一组候选传输路径,即将该组候选传输路径确定为至少两条第二传输路径。在另一种可能的实现方式中,第一节点可以对至少两条候选传输路径中的所有候选传输路径分别进行判断,将满足上述条件的至少两条候选传输路径的组合筛选出来,若存在一组满足上述条件的候选传输路径,则第一节点可以将该组候选传输路径确定为至少两条第二传输路径;若存在多组满足上述条件的候选传输路径,则第一节点可以从该多组满足条件的候选传输路径中选择一组候选传输路径,将其作为至少两条第二传输路径。示例性地,第一节点可以将包括的节点数目最多的一组候选传输路径确定为至少两条第二传输路径。这样能够获得较大的带宽,保证编码数据包的传输可靠性。示例性地,第一节点可以将包括的节点数目最少的一组候选传输路径确定为至少两条第二传输路径。这样能够获得较小的传输时延,从而提高数据传输的效率。
示例性地,假设上述第一节点为图1所示的通信***中的中间节点1,图4示出了本申请实施例的另一种数据传输方法的示意性流程图。S410-S420与上述S310-S320相同,此处不再赘述。
在图4中,上述至少两条第二传输路径可以包括下列两条传输路径:
路径1:中间节点1—>目的节点;
路径2:中间节点1—>中间节点3—>目的节点。
在这种情况下,中间节点1的编码节点,具有路径重选功能,可以按照上述方法300所示的流程重新选择传输路径。上述路径1和路径2的可用带宽之和大于或等于编码数据包的接收带宽,且路径1和路径2的传输时延与再编码时延之和小于或等于编码数据包的剩余时延,路径1和路径2的节点之间的丢包率均小于或等于编码丢包恢复率。
可选地,该方法还可以包括下列步骤:
S430,中间节点1向目的节点发送一部分编码数据包;对应地,目的节点接收该编码数据包。
S440,中间节点1向中间节点3发送另一部分编码数据包;对应地,中间节点3接收该编码数据包。
作为一个可选的实施例,中间节点1可以按照上述至少两条第二传输路径中每条第二传输路径的可用带宽和每条第二传输路径上的节点之间的传输时延,为至少两条第二传输路径分配所述编码数据包;中间节点1分别在至少两条第二传输路径上发送编码数据包。
示例性地,中间节点1对需要传输的编码数据包在路径1和路径2之间实现按可用带宽之比以及传输时延反比进行分配,例如路径1的可用带宽:路径2的可用带宽=3:2,路径1的传输时延:路径2的传输时延=3:4,则路径1和路径2的编码数据包可以按照3/3:2/4进行分配,即按照2:1的方式分配。中间节点1对编码数据包进行再编码,将再编码的编码数据包按照2:1的比例分配给路径1和路径2。
进一步地,也可以将上述至少两条第二传输路径的丢包率作为在路径间分配编码数据包的参数。示例性地,中间节点1可以考虑丢包率与分配编码数据包成正比,同时满足其他的条件。假设上述路径1的丢包率是20%,可用带宽是10,路径2的丢包率10%,可用带宽是10,编码数据包的接收带宽为15。按照丢包率在路径1和路径2需要将编码数据包按照2:1的分配,而可用带宽又限制了分配的额度,综合考虑上述约束条件,中间节点1可以在路径1发10个编码数据包,目的节点能够接收到8个编码数据包,在路径2发8个编码数据包,目的节点能够接收到7个编码数据包,这样,总接收带宽能够达到15个。
S450,中间节点3对编码数据包进行再编码,获得新的编码数据包。
示例性地,中间节点3接收到编码数据包,该编码数据包中的处理类型指示“再编码+转发”,即中间节点3为编码节点,中间节点3可以根据中间节点3与目的节点之间的丢包率,选择传输矩阵对接收到的数据包进行再编码。中间节点3可以根据上述表二所示的信息,确定中间节点3在路径2上的下一跳节点(即目的节点)的IP地址,向该下一跳节点(即目的节点)转发再编码后的数据包。
可选地,中间节点3需要更新如表二所示的编码数据包中的节点信息,例如删除该中间节点3的处理类型和ID、将节点数量减1,再向目的节点发送更新后的编码数据包。
S460,中间节点3向目的节点发送新的编码数据包,对应地,目的节点接收该新的编码数据包。
S470,目的节点对该新的编码数据包进行解码处理。
具体而言,接收节点通过上述多条传输路径接收到编码数据包,可以对接收到的编码数据包进行汇总,可以根据处理类型指示的“解码”,尝试解码,当收到大于或等于rank(GH)的编码数据包时,目的节点可以解码成功。
应理解,上述情况一中的第一节点为源节点,情况二中的第一节点为中间节点1,仅仅为便于理解的示例性说明,在其他实现方式中,第一节点还可以是其他中间节点,本申请实施例对此不作限定。
在一种可能的实现方式中,第一节点可以先判断是否存在满足情况一的条件的一条传输路径,若不存在满足情况一的条件一条传输路径,该第一节点再确定是否存在满足情况二的条件的至少两条传输路径。
本申请实施例通过复合路径的选取,解决了原路径不能支持编码包的传输的问题,以及其他单条传输路径也不能满足传输要求,但存在复合路径满足编码包传输的场景,提高了数据传输的灵活性。
作为一个可选的实施例,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:
所述第一节点根据所述至少一条传输路径的信息,确定所述至少一条传输路径上的节点的处理类型,所述处理类型包括转发、再编码、或解码中的至少一项;
所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:
所述第一节点在所述至少一条传输路径上发送所述编码数据包,所述编码数据包携带所述至少一条传输路径上的节点的处理类型。
示例性地,为了进一步提高数据传输的效率,第一节点可以在选择上述至少一条传输路径之后,确定该至少一条传输路径上的节点的处理类型。例如,第一节点可以根据至少一条传输路径上的时延、丢包率、可用带宽等信息,来确定至少一条传输路径上的节点所承担的角色,并设定在编码数据包中每个节点的处理类型(handle type),即确定上述表二中的节点的处理类型。假设至少一条传输路径是一条传输路径,由源节点—>中间节点1—>中间节点3—>目的节点组成,源节点—>中间节点1的可用带宽是k bps,丢包率是10%,中间节点1—>中间节点3的可用带宽是m bps,丢包率是30%,中间节点3—>目的节点的可用带宽是k bps,丢包率是10%,中间节点1和中间节点3的再编码时延是5ms,转发时延是1ms。因此,第一节点需要考虑要抵抗30%的丢包,需要编码带宽为n bps,n<k且n<m。若编码数据包的剩余时延不超过20ms,第一节点可以设置中间节点1和中间节点3都为再编码节点,因为总时延满足要求;若编码数据包的剩余时延不超过10ms,第一节点可以选择让中间节点1再编码,中间节点3仅转发,或者,让中间节点1仅转发,中间节点3再编码,使得总时延满足要求。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合图1至图4,详细描述了根据本申请实施例的数据传输的方法,下面将结合图5和图6,详细描述根据本申请实施例的数据传输的装置。
图5示出了本申请实施例提供的数据传输的装置500。在一种设计中,该装置500可以是上述第一节点,也可以是第一节点中的芯片。该装置500包括:处理单元510和收发单元520。
在一种可能的实现方式中,装置500用于执行上述方法实施例中第一节点对应的各个流程和步骤。
该处理单元510用于:在当前传输路径出现拥塞的情况下,确定至少两条候选传输路径,所述至少两条候选传输路径均以所述装置为起点、以目的节点为终点;以及,基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径;该收发单元520用于:在所述至少一条传输路径上发送所述编码数据包。
可选地,所述至少两条候选传输路径的信息包括下列信息中的至少一个:所述至少两条候选传输路径中每条候选传输路径上的节点之间的传输时延;所述每条候选传输路径上的节点的再编码时延;所述每条候选传输路径的可用带宽;或,所述每条候选传输路径上的节点之间的丢包率。
可选地,所述至少一条传输路径包括第一传输路径,所述第一传输路径满足如下条件:所述第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;所述第一传输路径的可用带宽大于或等于所述编码数据包的接收带宽;所述第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率。
可选地,所述至少一条传输路径包括至少两条第二传输路径,所述至少两条第二传输路径满足如下条件:所述至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;所述至少两条第二路径的可用带宽之和大于或等于所述编码数据包的接收带宽;所述至少两条第二路径中的节点之间的丢包率均小于或等于编码丢包恢复率。
可选地,所述处理单元510具体用于:按照所述至少两条第二传输路径中每条第二传输路径的可用带宽和所述每条第二传输路径上的节点之间的传输时延,为所述至少两条第二传输路径分配所述编码数据包;所述收发单元520具体用于:分别在所述至少两条第二传输路径上发送所述编码数据包。
可选地,所述至少一条传输路径为所述至少两条候选传输路径中满足所述条件的路径中、节点数量最多的路径。
可选地,所述处理单元510还用于:根据所述至少一条传输路径的信息,确定所述至少一条传输路径上的节点的处理类型,所述处理类型包括转发、再编码、或解码中的至少一项;所述收发单元520用于:在所述至少一条传输路径上发送所述编码数据包,所述编码数据包携带所述至少一条传输路径上的节点的处理类型。
可选地,所述编码数据包携带下列信息中的至少一个:业务要求信息,用于指示本次数据传输的时延要求;所述至少一条传输路径的信息,用于指示所述至少一条传输路径上的节点;处理类型,用于指示接收到所述编码数据包的下一跳节点对所述编码数据包执行转发、再编码、或解码中的至少一项处理。
应理解,这里的装置500以功能单元的形式体现。这里的术语“单元”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置500可以具体为上述实施例中的第一节点,装置500可以用于执行上述方法实施例中与第一节点对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述各个方案的装置500具有实现上述方法中第一节点执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。例如,上述收发单元510可以包括发送单元和接收单元,该发送单元可以用于实现上述收发单元对应的用于执行发送动作的各个步骤和/或流程,该接收单元可以用于实现上述收发单元对应的用于执行接收动作的各个步骤和/或流程。该发送单元可以由发射器替代,该接收单元可以由接收器替代,分别执行各个方法实施例中的收发操作以及相关的处理操作。
在本申请的实施例,图5中的装置500也可以是芯片或者芯片***,例如:片上***(system on chip,SoC)。对应的,收发单元510可以是该芯片的收发电路,在此不做限定。
图6示出了本申请实施例提供的另一数据传输的装置600。该装置600包括处理器610、收发器620和存储器630。其中,处理器610、收发器620和存储器630通过内部连接通路互相通信,该存储器630用于存储指令,该处理器610用于执行该存储器630存储的指令,以控制该收发器620发送信号和/或接收信号。
其中,该处理器610用于:在当前传输路径出现拥塞的情况下,确定至少两条候选传输路径,所述至少两条候选传输路径均以所述装置为起点、以目的节点为终点;以及,基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径;该收发器620用于:在所述至少一条传输路径上发送所述编码数据包。
应理解,装置600可以具体为上述实施例中的第一节点,并且可以用于执行上述方法实施例中与第一节点对应的各个步骤和/或流程。可选地,该存储器630可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器610可以用于执行存储器中存储的指令,并且当该处理器610执行存储器中存储的指令时,该处理器610用于执行上述与该终端设备或网络设备对应的方法实施例的各个步骤和/或流程。该收发器620可以包括发射器和接收器,该发射器可以用于实现上述收发器对应的用于执行发送动作的各个步骤和/或流程,该接收器可以用于实现上述收发器对应的用于执行接收动作的各个步骤和/或流程。
应理解,在本申请实施例中,上述装置的处理器可以是中央处理单元(centralprocessing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种数据传输的方法,其特征在于,包括:
在当前传输路径出现拥塞的情况下,第一节点确定至少两条候选传输路径,所述至少两条候选传输路径均以所述第一节点为起点、以目的节点为终点;
所述第一节点基于编码数据包的剩余时延、编码数据包的接收带宽以及所述至少两条候选传输路径的信息,从所述至少两条候选传输路径中确定至少一条传输路径;
所述第一节点在所述至少一条传输路径上发送所述编码数据包。
2.根据权利要求1所述的方法,其特征在于,所述至少两条候选传输路径的信息包括下列信息中的至少一个:
所述至少两条候选传输路径中每条候选传输路径上的节点之间的传输时延;
所述每条候选传输路径上的节点的再编码时延;
所述每条候选传输路径的可用带宽;或,
所述每条候选传输路径上的节点之间的丢包率。
3.根据权利要求2所述的方法,其特征在于,所述至少一条传输路径包括第一传输路径,所述第一传输路径满足如下条件:
所述第一传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;
所述第一传输路径的可用带宽大于或等于所述编码数据包的接收带宽;
所述第一传输路径上的节点之间的丢包率均小于或等于编码丢包恢复率。
4.根据权利要求2所述的方法,其特征在于,所述至少一条传输路径包括至少两条第二传输路径,所述至少两条第二传输路径满足如下条件:
所述至少两条第二传输路径上的节点之间的传输时延之和小于或等于所述编码数据包的剩余时延;
所述至少两条第二路径的可用带宽之和大于或等于所述编码数据包的接收带宽;
所述至少两条第二路径中的节点之间的丢包率均小于或等于编码丢包恢复率。
5.根据权利要求4所述的方法,其特征在于,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:
所述第一节点按照所述至少两条第二传输路径中每条第二传输路径的可用带宽和所述每条第二传输路径上的节点之间的传输时延,为所述至少两条第二传输路径分配所述编码数据包;
所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:
所述第一节点分别在所述至少两条第二传输路径上发送所述编码数据包。
6.根据权利要求3至5中任一项所述的方法,其特征在于,所述至少一条传输路径为所述至少两条候选传输路径中满足所述条件的路径中、节点数量最多的路径。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述第一节点在所述至少一条传输路径上发送所述编码数据包之前,所述方法还包括:
所述第一节点根据所述至少一条传输路径的信息,确定所述至少一条传输路径上的节点的处理类型,所述处理类型包括转发、再编码、或解码中的至少一项;
所述第一节点在所述至少一条传输路径上发送所述编码数据包,包括:
所述第一节点在所述至少一条传输路径上发送所述编码数据包,所述编码数据包携带所述至少一条传输路径上的节点的处理类型。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述编码数据包携带下列信息中的至少一个:
业务要求信息,用于指示本次数据传输的时延要求;
所述至少一条传输路径的信息,用于指示所述至少一条传输路径上的节点;
处理类型,用于指示接收到所述编码数据包的下一跳节点对所述编码数据包执行转发、再编码、或解码中的至少一项处理。
9.一种数据传输的装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序,当所述程序被所述处理器执行时,使得所述装置执行上述权利要求1至8中任一项所述的方法。
10.一种数据传输的***,其特征在于,包括:如权利要求9所述的装置和目的节点。
11.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求1至8中任一项所述的方法的指令。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010316063.3A CN113543206B (zh) | 2020-04-21 | 2020-04-21 | 数据传输的方法、***和装置 |
PCT/CN2021/087213 WO2021213227A1 (zh) | 2020-04-21 | 2021-04-14 | 数据传输的方法、***和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010316063.3A CN113543206B (zh) | 2020-04-21 | 2020-04-21 | 数据传输的方法、***和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113543206A true CN113543206A (zh) | 2021-10-22 |
CN113543206B CN113543206B (zh) | 2023-08-22 |
Family
ID=78123786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010316063.3A Active CN113543206B (zh) | 2020-04-21 | 2020-04-21 | 数据传输的方法、***和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113543206B (zh) |
WO (1) | WO2021213227A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023155599A1 (zh) * | 2022-02-16 | 2023-08-24 | 华为技术有限公司 | 一种数据传输方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745750A (zh) * | 2022-03-29 | 2022-07-12 | 国网河南省电力公司 | 网络切片下拥塞链路检测方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150046558A1 (en) * | 2013-03-15 | 2015-02-12 | Google Inc. | System and method for choosing lowest latency path |
CN105357068A (zh) * | 2015-11-03 | 2016-02-24 | 华中科技大学 | 一种面向应用QoS保障的OpenFlow网络流量控制方法 |
CN106533960A (zh) * | 2016-12-23 | 2017-03-22 | 重庆邮电大学 | 一种基于Fat‑Tree结构的数据中心网络路由方法 |
WO2018082655A1 (zh) * | 2016-11-04 | 2018-05-11 | 华为技术有限公司 | 一种确定数据传输路径的方法、装置 |
CN109802889A (zh) * | 2017-11-17 | 2019-05-24 | 华为技术有限公司 | 一种信息传输方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105099908B (zh) * | 2014-05-08 | 2019-02-05 | 华为技术有限公司 | 路径计算的方法、消息响应的方法以及相关设备 |
CN109039897B (zh) * | 2018-07-20 | 2020-12-01 | 南京邮电大学 | 一种基于业务感知的软件定义回程网络路由方法 |
-
2020
- 2020-04-21 CN CN202010316063.3A patent/CN113543206B/zh active Active
-
2021
- 2021-04-14 WO PCT/CN2021/087213 patent/WO2021213227A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150046558A1 (en) * | 2013-03-15 | 2015-02-12 | Google Inc. | System and method for choosing lowest latency path |
CN105357068A (zh) * | 2015-11-03 | 2016-02-24 | 华中科技大学 | 一种面向应用QoS保障的OpenFlow网络流量控制方法 |
WO2018082655A1 (zh) * | 2016-11-04 | 2018-05-11 | 华为技术有限公司 | 一种确定数据传输路径的方法、装置 |
CN106533960A (zh) * | 2016-12-23 | 2017-03-22 | 重庆邮电大学 | 一种基于Fat‑Tree结构的数据中心网络路由方法 |
CN109802889A (zh) * | 2017-11-17 | 2019-05-24 | 华为技术有限公司 | 一种信息传输方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023155599A1 (zh) * | 2022-02-16 | 2023-08-24 | 华为技术有限公司 | 一种数据传输方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113543206B (zh) | 2023-08-22 |
WO2021213227A1 (zh) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10523368B2 (en) | Polar code processing method and communications device | |
US9762352B2 (en) | Decoding method and receiving apparatus in wireless communication system | |
CN108462554B (zh) | 一种极性码的传输方法和装置 | |
US10484137B2 (en) | Polar code hybrid automatic repeat request method and apparatus | |
KR20170102173A (ko) | 데이터 전송 방법 및 디바이스 | |
CN107800510B (zh) | 极化Polar码编码的方法及装置 | |
WO2016141544A1 (zh) | 传输信息的方法和通信设备 | |
CN113543206B (zh) | 数据传输的方法、***和装置 | |
JP2018503291A (ja) | 情報伝送方法、装置、及びデバイス | |
JP2020511051A (ja) | データ処理方法およびデバイス | |
US11190213B2 (en) | Coding method, wireless device, and chip | |
EP3602797B1 (en) | Puncturing of polar codes with complementary sequences | |
WO2019037782A1 (zh) | 极化码的译码方法和译码器 | |
US11044046B2 (en) | Data processing method and apparatus | |
WO2016172937A1 (zh) | 一种利用多元极化码进行数据传输的方法、装置 | |
CN114070457A (zh) | 数据传输方法、***和装置 | |
US11296724B2 (en) | Encoding method and apparatus | |
WO2023236128A1 (en) | Apparatus and methods for source coding and channel coding of low entropy signals | |
EP4277133A2 (en) | Channel encoding method and apparatus | |
Wyrembelski et al. | On the capacity of bidirectional relaying with unknown varying channels | |
CN115242254A (zh) | 一种编译码方法和装置 | |
CN116074891A (zh) | 通信方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240722 Address after: No. 127, Jinye Road, high tech Zone, Xi'an, Shaanxi 710075 Patentee after: Huawei Technologies Co.,Ltd, Xi'an Country or region after: China Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. Country or region before: China |