CN112042229B - 一种数据包传输方法及设备 - Google Patents
一种数据包传输方法及设备 Download PDFInfo
- Publication number
- CN112042229B CN112042229B CN201880092819.1A CN201880092819A CN112042229B CN 112042229 B CN112042229 B CN 112042229B CN 201880092819 A CN201880092819 A CN 201880092819A CN 112042229 B CN112042229 B CN 112042229B
- Authority
- CN
- China
- Prior art keywords
- transmission
- receiving
- node
- receiving node
- data packets
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 591
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000006854 communication Effects 0.000 claims abstract description 27
- 238000004891 communication Methods 0.000 claims abstract description 26
- 238000004590 computer program Methods 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 24
- 238000013461 design Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 230000009365 direct transmission Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- 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/02—Terminal devices
- H04W88/04—Terminal devices adapted for relaying to or from another terminal or user
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种数据包传输方法及设备,用以在多个节点采用短距离无线通信技术进行数据包传输时,提高传输效率。该方法包括:发送节点向至少三个接收节点发送至少三个数据包之前,获取各个接收节点的传输能力信息,根据传输能力信息确定至少一个中间接收节点,并根据各个接收节点的传输能力信息以及发送节点的传输能力信息,确定传输数据包的传输顺序、传输路径和传输方式,采用确定出的传输顺序、传输路径以及传输方式,将至少三个数据包中的一部分数据包发送至需要接收该一部分数据包的接收节点,并将至少三个数据包中的另一部分数据包通过至少一个中间接收节点发送至需要接收该另一部分数据包的接收节点。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及一种数据包传输方法及设备。
背景技术
目前,通过短距离无线通信技术(例如,蓝牙技术以及近场通信(near fieldcommunication,NFC)技术等)实现的数据包传输,传输速度较快,且,数据包仅保存在发送和接收数据包的节点,不会通过因特网上传到第三方应用,从而保障用户隐私,基于上述优点,短距离无线通信技术得到了广泛应用。
现有技术中,采用短距离无线通信技术实现的数据包传输,在同一时刻多个节点与同一节点进行数据包传输时,若多个节点采用相同的传输协议与该同一节点进行数据包传输,则由于受限于协议限制,该同一节点在同一时刻只能采用该相同的协议与其中一个节点建立点对点链路,故,该种情况下多个节点只能串行排队,这样,某些节点可能需要排队等待较长时间才能实现与该同一节点进行数据包传输,导致传输效率较低。
发明内容
本申请实施例提供一种数据包传输方法及设备,用以在多个节点采用短距离无线通信技术进行数据包传输时,提高传输效率。
第一方面提供一种数据包传输方法,在该方法中,发送节点在向至少三个接收节点发送至少三个数据包之前,获取至少三个接收节点的传输能力信息,进而根据获取到的至少三个接收节点的传输能力信息,确定用于转发数据包的至少一个中间接收节点,并根据至少三个接收节点的传输能力信息以及发送节点的传输能力信息,确定发送至少三个数据包中的一部分数据包第一传输顺序和所采用的第一传输方式,并确定通过至少一个中间接收节点发送至少三个数据包中的另一部分数据包的传输路径、第二传输顺序和所采用的第二传输方式,发送节点采用确定出的第一传输顺序、第一传输方式、传输路径、第二传输顺序以及第二传输方式,将至少三个数据包中的一部分数据包发送至需要接收该一部分数据包的接收节点,并将至少三个数据包中的另一部分数据包通过至少一个中间接收节点发送至需要接收该另一部分数据包的接收节点。
其中,接收节点的传输能力信息用于表征接收节点与其它节点之间的通信能力,发送节点的传输能力信息用于表征发送节点与其它节点之间的通信能力,上述至少三个数据包全部相同或者部分相同。
本申请实施例中,至少三个数据包全部相同是指至少三个数据包是完全相同的数据包,例如,同一发送节点向多个接收节点发送相同的照片文件或者视频文件时,发送节点就会向多个接收节点发送相同的数据包。至少三个数据包部分相同是指至少三个数据包中包括的一部分数据包是相同的数据包,例如,当同一发送节点向多个接收节点中的部分接收节点发送照片文件A,向多个接收节点中的另一部分接收节点发送照片文件B时,该发送节点就会向该一部分接收节点发送相同的数据包A,向另一部分接收节点发送相同的数据包B,其中,数据包A和数据包B是不同的数据包。
通过上述方法,发送节点在向部分接收节点发送数据包时,可通过中间接收节点向其它接收节点发送数据包,使得通过中间接收节点接收数据包的该部分接收节点,无需再排队等待发送节点向其发送数据包,进而可提升传输速率。例如,以同一发送节点向多个接收节点通过蓝牙发送照片文件为例,通过现有技术中的方法,多个接收节点只能通过串行排队的方式等待发送节点向其发送照片文件,但是,若采用本申请实施例提供的方法,发送节点可通过获取各个接收节点的传输能力信息,进而根据各个接收节点的传输能力信息确定出能够支持与其它接收节点进行通信的至少一个中间接收节点,假设其中的一个接收节点A可支持与接收节点B通过另一种传输协议(例如,Wi-Fi直连(wireless fIdelitydirect,Wi-Fi Direct))传输数据包,且,接收节点C可支持与接收节点D通过又一种传输协议(例如USB数据线传输协议)传输数据包,则发送节点可将需要发送至接收节点B的照片文件发送至接收节点A,且,将需要发送至接收节点D的照片文件发送至接收节点C,进而由接收节点A向接收节点B发送照片文件,由接收节点C向接收节点D发送照片文件,这样,在接收节点A向接收节点B传输文件以及接收节点C向接收节点D传输文件的过程中,发送节点可向其它接收节点发送照片文件,这样,可减少接收节点B和接收节点D的等待时间,且,可减少发送节点传输所有文件的总时间,进而可提高传输效率。
在一种可能的设计中,发送节点基于传输时间最短的原则确定第一传输顺序、第一传输方式、传输路径、第二传输顺序以及第二传输方式,其中,传输时间是指发送节点完成传输至少三个数据包中包括的全部数据包的传输时间,传输时间最短是指发送节点完成全部数据包的传输所需要的时间最短。
通过上述方法,发送节点可采用传输时间最短的传输顺序、传输路径以及传输方式,向多个接收节点传输数据包。这样,可进一步提升传输速率。
在一种可能的设计中,上述接收节点的传输能力信息可包括:接收节点所支持的与发送节点之间的传输方式;和/或,具备与该接收节点进行通信的能力的其它接收节点的标识信息以及该接收节点所支持的与其它接收节点之间的传输方式。发送节点的传输能力信息可包括发送节点所支持的与各个接收节点之间的传输方式。
可以理解的是,不具备与其它接收节点进行通信的能力的接收节点的传输能力信息中仅包括该接收节点所支持的与该发送节点之间的传输方式。而具备与其它接收节点进行通信能力的接收节点的传输能力信息中可包括接收节点所支持的与发送节点之间的传输方式;和/或,具备与该接收节点进行通信的能力的其它接收节点的标识信息以及该接收节点所支持的与其它接收节点之间的传输方式。
例如,接收节点所支持的与发送节点之间的传输方式、接收节点所支持的与其它接收节点之间的传输方式以及发送节点所支持的与接收节点之间的传输方式,可包括但不限于:Wi-Fi直连传输方式、Wi-Fi软接入点(SoftAp)传输方式、Wi-Fi同网关传输方式、蓝牙传输方式以及USB数据线传输方式等。其中,Wi-Fi直连传输方式是指依赖Wi-Fi Direct协议标准的传输方式,支持无线网络中的设备无需通过路由器或者因特网即可相互连接的传输方式。Wi-Fi SoftAp传输方式是指在数据包传输过程中由其中参与数据包传输的设备充当虚拟路由器,通过该充当虚拟路由器的设备建立传输通道,且支持无线网络中的设备无需通过路由器或者因特网即可相互连接的传输方式。Wi-Fi同网关传输方式是指通过同一路由器建立传输通道,且支持无线网络中的设备无需通过路由器或者因特网即可相互连接的传输方式。
可以理解的是,接收节点所支持的与发送节点之间的传输方式取决于接收节点所支持的传输协议,同样的,发送节点所支持的与接收节点之间的传输方式取决于发送节点所支持的传输协议。每种传输协议相应的对应一种传输方式。
需要说明的是,上述标识信息是指可以唯一标识一个接收节点的信息,例如,接收节点的身份标识(identity,ID)信息。
可以理解的是,上述接收节点的传输能力信息中包括的具备与接收节点进行通信的能力的其它接收节点,即可作为中间接收节点,故发送节点可通过接收节点的传输能力信息中包括的标识信息确定中间接收节点。
在一种可能的设计中,发送节点将至少三个接收节点的传输能力信息中包括的标识信息对应的至少一个接收节点确定为用于转发数据包的至少一个中间接收节点。例如,当有三个接收节点,分别为接收节点1、接收节点2以及接收节点3,同一发送节点向这三个接收节点发送数据包之前,该同一发送节点可分别获取这三个接收节点的传输能力信息,假设接收节点1的传输能力信息中包括接收节点2的标识信息,同样的,接收节点2的传输能力信息中包括接收节点1的标识信息,则发送节点可将接收节点1和/或接收节点2确定为中间接收节点。
通过上述方法,发送节点可较方便快捷地通过获取的接收节点的传输能力信息中包括的标识信息,确定中间接收节点,而无需向可作为中间接收节点的节点发送请求确认消息,请求确认消息用于请求确认接收节点是否可作为中间接收节点。这样,可减少通信交互次数,进而减小发送节点的决策时间,提升决策效率。
本申请实施例中,发送节点或者中间接收节点在向接收节点发送数据包时,可直接发送完整的数据包,当然在数据包比较大时,也可将数据包拆分成子数据包进行发送。
在一种可能的设计中,发送节点可以将至少三个数据包中包括的一部分完整的数据包发送至需要接收一部分数据包的接收节点,并将至少三个数据包中包括的另一部分完整的数据包通过至少一个中间接收节点发送至需要接收另一部分数据包的接收节点。
在另一种可能的设计中,发送节点可以将至少三个数据包中包括的至少一个数据包拆分为多个子数据包,并将拆分后的多个子数据包中的一部分子数据包采用第三传输方式发送至需要接收一部分子数据的接收节点,且将多个子数据包中的另一部分子数据包采用第四传输方式发送至至少一个中间接收节点,并通过至少一个中间接收节点将多个子数据包中的另一部分子数据包转发至需要接收另一部分子数据包的接收节点,其中,第三传输方式与第四传输方式为可以同时使用的传输方式。
通过上述方法,发送节点可通过中间接收节点发送完整数据包或者子数据包,在中间接收节点转发该完整数据包或者子数据包时,发送节点可向其它接收节点发送数据包,进而提升传输效率。
在一种可能的设计中,发送节点可采用如下方式获取至少三个接收节点分别对应的至少三个传输能力信息:发送节点接收至少三个接收节点发送的、与至少三个接收节点分别对应的至少三个传输能力信息。或者,发送节点根据本地预先存储的接收节点的标识信息与传输能力信息的对应关系以及至少三个接收节点的标识信息,确定与至少三个接收节点的标识信息分别对应的至少三个传输能力信息。
通过上述方法,发送节点可根据实际需求灵活选取传输能力信息的方法,以适应相应的场景。
本申请实施例中,接收节点可主动向发送节点上报传输能力信息,当然,也可通过发送节点发送的请求消息被动上报传输能力信息。在一种可能的设计中,发送节点接收至少三个接收节点发送的、与至少三个接收节点分别对应的至少三个传输能力信息之前,还可向至少三个接收节点发送请求信息,请求信息用于请求与至少三个接收节点分别对应的传输能力信息。
通过上述方法,可以在发送节点需要通过某些接收节点转发数据包时,才向接收节点请求传输能力信息,针对某些不需要接收节点上报传输能力信息的场景,可减小信息传输次数,进而节省开销。
第二方面提供一种数据包传输设备,该设备具有实现上述第一方面或第一方面的任意可能的设计中发送节点的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
在一种可能的设计中,该设备包括:处理器、收发器、存储器;该存储器用于存储计算机执行指令,该收发器用于实现该设备与其他通信实体进行通信,该处理器与该存储器通过总线连接,当该设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该设备执行上述第一方面或第一方面的任意可能的设计中的方法。
在另一种可能的设计中,该设备包括:收发单元、处理单元和存储单元,这些单元可以执行上述第一方面或第一方面的任意可能的设计中的方法。
第三方面提供一种计算机可读存储介质,其上存储有一些指令,这些指令被计算机调用执行时,可以使得计算机完成上述第一方面、第一方面的任意一种可能的设计中所涉及的方法。
第四方面提供一种计算机程序产品,该计算机程序产品在被计算机调用执行时可以完成第一方面以及上述第一方面任意可能的设计中所涉及的方法。
附图说明
图1为本申请提供的一种网络架构示意图;
图2为本申请提供的一种数据包传输方法所对应的流程示意图;
图3为本申请提供的另一种网络架构示意图;
图4为本申请提供的一种数据包传输示意图;
图5为本申请提供的又一种网络架构示意图;
图6为本申请提供的另一种数据包传输示意图;
图7为本申请提供的又一种网络架构示意图;
图8为本申请提供的又一种数据包传输示意图;
图9为本申请提供的一种数据包传输设备结构示意图;
图10为本申请提供的另一种数据包传输设备结构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)短距离无线通信技术,是指可实现在通信过程中短距离的无线通信技术,例如,可以包括Wi-Fi直连传输技术、Wi-Fi SoftAp传输技术、Wi-Fi同网关传输技术、蓝牙传输技术以及USB数据线传输技术等。其中,USB数据线传输技术,是指通过USB数据线实现数据传输的技术。每种传输技术相应的会对应一种传输方式,例如,当采用Wi-Fi直连传输技术时对应Wi-Fi直连传输方式,当采用Wi-Fi SoftAp传输技术时对应WI-FI SoftAp传输方式,当采用Wi-Fi同网关传输技术时对应Wi-Fi同网关传输方式,当采用蓝牙传输技术时对应蓝牙传输方式,当采用USB数据线传输技术时对应USB数据线传输方式。其中,Wi-Fi直连传输方式是指依赖Wi-Fi Direct协议标准的传输方式,支持无线网络中的设备无需通过路由器或者因特网即可相互连接的传输方式。Wi-Fi SoftAp传输方式是指在数据包传输过程中由其中参与数据包传输的设备充当虚拟路由器,通过该充当虚拟路由器的设备建立传输通道,且支持无线网络中的设备无需通过路由器或者因特网即可相互连接的传输方式。Wi-Fi同网关传输方式是指通过同一路由器建立传输通道,且支持无线网络中的设备无需通过路由器或者因特网即可相互连接的传输方式。
(2)发送节点、接收节点以及中间接收节点,均可以是指设备,例如,可以是用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT),具有无线连接功能的手持式设备、车载设备等。目前,一些设备的举例可以为:手机(mobilephone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线设备、无人驾驶(self driving)中的无线设备、远程手术(remote medical surgery)中的无线设备、智能电网(smart grid)中的无线设备、运输安全(transportation safety)中的无线设备、智慧城市(smart city)中的无线设备、智慧家庭(smart home)中的无线设备等。
(3)“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“第一”,“第二”,“第三”,及“第四”仅仅用于区分,不表示顺序或先后的意义。
参阅图1所示,其为本申请实施例提供的一种网络架构示意图。如图1所示,该网络架构包括一个发送节点和多个接收节点,图1中仅以一个发送节点和8个接收节点为例进行说明,实际应用中可包括多个发送节点以及更多的接收节点。其中,多个接收节点均可与同一发送节点进行通信,例如,发送节点与接收节点之间可通过短距离无线通信技术实现数据传输。
在图1所示出的网络架构中,若发送节点与多个接收节点之间通过短距离无线通信技术实现点对点的数据包传输,假设,在同一时刻或者在一段时间内,发送节点确定需要采用Wi-Fi直连传输方式向接收节点1、接收节点2以及接收节点3发送数据包,由于发送节点在同一时刻只能与其中一个接收节点建立Wi-Fi直连链路,故,当发送节点向接收节点1发送数据包时,接收节点2和接收节点3只能串行排队等待,这样,接收节点2和接收节点3可能需要排队等待较长时间,才能接收发送节点发送的数据包,导致数据包传输时延较大,进而影响传输效率。上述仅以同一发送节点需要向三个接收节点发送数据包为例进行说明,实际应用中可能存在同一发送节点需要向多个接收节点并行发送数据包的情况,这样将导致接收顺序比较靠后的接收节点等待更久的时间,进而导致更大的传输时延。
基于此,本申请实施例提供一种数据包传输方法,用以在同一发送节点采用短距离无线通信技术向多个接收节点发送数据包时,减小接收节点的等待时间,进而减小传输时延,提升传输效率。
需要说明的是,本申请实施例中的发送节点可以为图1所示系统架构中的发送节点,本申请实施例中的接收节点可以为图1所示系统架构中的接收节点,本申请实施例中的中间接收节点可以为图1所示系统架构中的部分接收节点,以下仅以图1的系统架构示意说明,并不引以为限。
图2为本申请实施例提供的一种数据包传输方法所对应的流程示意图。如图2所示,包括:
S101:发送节点向至少三个接收节点发送至少三个数据包之前,获取至少三个接收节点的传输能力信息。其中,接收节点的传输能力信息用于表征接收节点与其它节点之间的通信能力。
本申请实施例中,至少三个数据包可以全部相同或者部分相同。至少三个数据包全部相同是指至少三个数据包是完全相同的数据包,例如,同一发送节点向多个接收节点发送相同的照片文件或者视频文件时,发送节点向多个接收节点发送相同的数据包。至少三个数据包部分相同是指至少三个数据包中包括的一部分数据包是相同的数据包,例如,当同一发送节点向多个接收节点中的部分接收节点发送照片文件A,向多个接收节点中的另一部分接收节点发送照片文件B时,该发送节点向该一部分接收节点发送相同的数据包A,向另一部分接收节点发送相同的数据包B,其中,数据包A和数据包B是不同的数据包。
在一种可能的设计中,上述接收节点的传输能力信息可包括:接收节点所支持的与发送节点之间的传输方式;和/或,具备与该接收节点进行通信的能力的其它接收节点的标识信息以及该接收节点所支持的与其它接收节点之间的传输方式。可以理解的是,不具备与其它接收节点进行通信的能力的接收节点的传输能力信息中仅包括该接收节点所支持的与该发送节点之间的传输方式。而具备与其它接收节点进行通信能力的接收节点的传输能力信息中可包括接收节点所支持的与发送节点之间的传输方式;和/或,具备与该接收节点进行通信的能力的其它接收节点的标识信息以及该接收节点所支持的与其它接收节点之间的传输方式。
例如,接收节点所支持的与发送节点之间的传输方式,以及,接收节点所支持的与其它接收节点之间的传输方式,可包括但不限于:Wi-Fi直连传输方式、蓝牙传输方式以及USB数据线传输方式等。
需要说明的是,上述标识信息是指可以唯一标识一个接收节点的信息,例如,接收节点的ID信息。
可以理解的是,上述接收节点的传输能力信息中包括的具备与接收节点进行通信的能力的其它接收节点,即可作为中间接收节点,故发送节点可通过接收节点上报的传输能力信息中包括的标识信息确定中间接收节点。
本申请实施例中,发送节点可采用不同的方式获取与接收节点的传输能力信息。下面以两种可能的实现方式为例说明。
一种实现方式中,发送节点根据本地预先存储的接收节点的标识信息与传输能力信息的对应关系以及至少三个接收节点的标识信息,确定与至少三个接收节点的标识信息分别对应的至少三个传输能力信息。
另一种实现方式中,发送节点接收至少三个接收节点发送的、与至少三个接收节点分别对应的至少三个传输能力信息。发送节点可根据实际需求灵活选取传输能力信息的方法,以适应相应的场景。
本申请实施例中,接收节点可主动向发送节点上报传输能力信息,当然,也可通过发送节点发送的请求消息被动上报传输能力信息。在一种实现方式中,发送节点接收至少三个接收节点发送的、与至少三个接收节点分别对应的至少三个传输能力信息之前,还可向至少三个接收节点发送请求信息,请求信息用于请求与至少三个接收节点分别对应的传输能力信息。这样,发送节点可以在需要通过某些接收节点转发数据包时,才向接收节点请求传输能力信息,针对某些不需要接收节点上报传输能力信息的场景,可减小信息传输次数,进而节省开销。
S102:发送节点根据至少三个接收节点的传输能力信息,确定用于转发数据包的至少一个中间接收节点。
发送节点在获取到至少三个接收节点的传输能力信息之后,根据传输能力信息表征的接收节点与其它节点(例如发送节点和接收节点)之间的通信能力,确定能够与该接收节点进行通信的其它接收节点,即,确定能够用于转发数据包的接收节点,本申请实施例中将能够用于转发数据包的接收节点称为中间接收节点。
在一种实现方式中,当接收节点向发送节点发送的传输能力信息中包括具备与该接收节点进行通信的能力的其它接收节点的标识信息时,发送节点可将与标识信息对应的接收节点确定为用于转发数据包的中间接收节点。例如,当有三个接收节点,分别为接收节点1、接收节点2以及接收节点3,同一发送节点向该三个接收节点发送相同的数据包时,该同一发送节点可分别获取该三个接收节点的传输能力信息,假设接收节点1传输能力信息中包括接收节点2的标识信息,同样的,接收节点2的传输能力信息中包括接收节点1的标识信息,则发送节点可将接收节点1和/或接收节点2确定为中间接收节点。
S103:发送节点根据至少三个接收节点的传输能力信息以及发送节点的传输能力信息,确定发送至少三个数据包中的一部分数据包第一传输顺序和所采用的第一传输方式,并确定通过至少一个中间接收节点发送至少三个数据包中的另一部分数据包的传输路径、第二传输顺序和所采用的第二传输方式。例如,假设发送节点向接收节点A、接收节点B、接收节点C和接收节点D发送相同的数据包,发送节点若根据这四个接收节点的传输能力信息将接收节点C确定为可向接收节点D转发数据包的中间接收节点,且,若根据这四个接收节点的传输能力信息以及发送节点的传输能力信息,确定由发送节点直接向接收节点A和接收节点B发送数据包,由中间接收节点C向接收节点D转发数据包,若发送节点确定向接收节点A和接收节点B发送数据包的顺序为,首先采用传输方式A向接收节点A发送数据包,其次采用传输方式B向接收节点B发送数据包,则上述第一传输顺序可理解为:发送节点-接收节点A,发送节点-接收节点B,上述第一传输方式可理解为:传输方式A和传输方式B的集合;若发送节点确定向接收节点C和接收节点D发送数据包的顺序为,首先采用传输方式C向接收节点C发送数据包,其次通过接收节点C采用传输方式D向接收节点D转发数据包,则上述第二传输顺序可理解为:发送节点-接收节点C,发送节点-接收节点D,上述第二传输方式可理解为:传输方式C和传输方式D的集合,上述传输路径可理解为:发送节点-接收节点C-接收节点D。
本申请实施例中,发送节点在获取到至少三个接收节点的传输能力信息之后,还可根据发送节点自身的传输能力信息以及接收节点的传输能力信息,确定传输至少三个数据包的传输路径、传输顺序和所采用的传输方式。发送节点的传输能力信息用于表征发送节点与其它节点之间的通信能力。发送节点的传输能力信息可包括发送节点所支持的与各个接收节点之间的传输方式。例如,发送节点所支持的与各个接收节点之间的传输方式,可包括但不限于:Wi-Fi直连传输方式、蓝牙传输方式以及USB数据线传输方式等。
在一种可能的设计中,发送节点基于传输时间最短的原则确定第一传输顺序、第一传输方式、传输路径、第二传输顺序以及第二传输方式,其中,传输时间是指发送节点完成传输至少三个数据包中包括的全部数据包的传输时间,传输时间最短是指发送节点完成全部数据包的传输所需要的时间最短。
S104:发送节点采用上述确定出的第一传输顺序、第一传输方式、传输路径、第二传输顺序以及第二传输方式,将至少三个数据包中的一部分数据包发送至接收该一部分数据包的接收节点,并将至少三个数据包中的另一部分数据包通过至少一个中间接收节点发送至接收该另一部分数据包的接收节点。
发送节点在确定出传输数据包的第一传输顺序、第一传输方式、传输路径、第二传输顺序以及第二传输方式,以及确定出可以用于转发数据包的中间接收节点之后,可根据第一传输顺序、第一传输方式、传输路径、第二传输顺序以及第二传输方式,将一部分数据包直接发送至需要接收该部分数据包的接收节点,并将另一部分数据包通过中间接收节点转发至需要接收该部分数据包的接收节点。这样,发送节点在向部分接收节点发送数据包时,中间接收节点也可向其它接收节点转发数据包,使得通过中间接收节点接收数据包的该部分接收节点,无需再排队等待发送节点向其发送数据包,进而可提升传输速率。
本申请实施例中,发送节点或者中间接收节点在向接收节点发送数据包时,可直接发送完整的数据包,也可将数据包拆分成子数据包进行发送。
一种实现方式中,发送节点将至少三个数据包中包括的一部分完整的数据包发送至需要接收一部分数据包的接收节点,并将至少三个数据包中包括的另一部分完整的数据包通过至少一个中间接收节点发送至需要接收另一部分数据包的接收节点。
一种场景中,发送节点发送的一些数据包比较大,在该种场景中,若发送节点将完整的数据包直接发送至对应的接收节点,则其它向发送节点请求数据包的接收节点将串行排队比较久的时间,基于此,本申请实施例还提供另一种可能的实现方式。
另一种可能的实现方式中,发送节点可将较大的数据包拆分成多个小的子数据包,并将多个小的子数据包通过不同的路径发送至接收节点,进而减小传输时间。当然,该种实现方式并不限定只能应用于数据包较大的场景,也可采用拆分数据包的方式发送较小的数据包。
例如,发送节点可将至少三个数据包中包括的至少一个数据包拆分为多个子数据包,并将拆分后的多个子数据包中的一部分子数据包采用第三传输方式发送至需要接收一部分子数据的接收节点,且将多个子数据包中的另一部分子数据包采用第四传输方式发送至至少一个中间接收节点,并通过至少一个中间接收节点将多个子数据包中的另一部分子数据包转发至需要接收另一部分子数据包的接收节点,其中,第三传输方式与第四传输方式为可以同时使用的传输方式。这样,发送节点可同时使用第三传输方式和第四传输方式发送同一数据包的子数据包,且,发送节点可通过中间接收节点转发子数据包,在中间接收节点转发该子数据包时,发送节点可向其它接收节点发送数据包,进而提升传输效率。
本申请实施例下面分别以三个特定的应用场景的实例,对本申请实施例中提供的数据包传输方法进行说明。
实例一:
参阅图3所示,其为本申请实施例提供的一种网络架构示意图。如图3所示,假设有四个接收节点,分别为接收节点B1、接收节点B2、接收节点B3以及接收节点B4,发送节点A确定在同一时刻或者一段很短的时间内需要向该四个接收节点发送相同的数据包。且,假设四个接收节点当前处于相同的网络中,且假设发送节点A确定向四个接收节点发送数据包的顺序为,首先发送节点A向接收节点B2发送数据包,其次发送节点A向接收节点B4发送数据包,再次发送节点A向接收节点B3发送数据包,最后发送节点A向接收节点B1发送数据包。发送节点A在向上述四个接收节点发送相同的数据包之前,获取上述四个接收节点的传输能力信息。
假设获取到的接收节点B1的传输能力信息中包括如下内容:
(1)接收节点B1所支持的与发送节点A之间的传输方式,其中该传输方式包括两种:蓝牙传输方式以及USB数据线传输方式,以下为方便描述,将蓝牙传输方式称为B1a传输方式,并将USB数据线传输方式称为B1b传输方式。
(2)具备与接收节点B1进行通信的能力的接收节点B2的标识信息,例如可以是接收节点B2的ID信息。
(3)接收节点B1所支持的与接收节点B2之间的传输方式,其中该传输方式包括两种,分别是B1b传输方式和Wi-Fi直连传输方式,以下为方便描述,将Wi-Fi直连传输方式称为B1c传输方式。
并假设获取到的接收节点B2的传输能力信息中包括如下内容:
(1)接收节点B2所支持的与发送节点A之间的传输方式,其中该传输方式包括三种:分别是B1a传输方式、B1b传输方式以及B1c传输方式。
(2)具备与接收节点B2进行通信的能力的接收节点B1的标识信息,例如可以是接收节点B1的ID信息。
(3)接收节点B2所支持的与接收节点B1之间的传输方式,其中该传输方式包括两种,分别是B1b传输方式和B1c传输方式。
并假设获取到的接收节点B3的传输能力信息中包括如下内容:
(1)接收节点B3不和其它接收节点(接收节点B2、接收节点B3以及接收节点B4)同网关,假设该传输方式仅包括一种B1b传输方式。
并假设获取到的接收节点B4的传输能力信息中包括如下内容:
(1)接收节点B4所支持的与发送节点A之间的传输方式,其中该传输方式包括三种:分别为B1a传输方式、B1b传输方式以及B1c传输方式。
需要说明的是,发送节点A获取的上述四个接收节点的传输能力信息可以是上述接收节点主动上报的,也可以是发送节点A向上述接收节点请求的。例如,当传输能力信息为发送节点A向上述接收节点请求的信息时,发送节点A在接收上述接收节点发送的传输能力信息之前,向上述四个接收节点发送请求信息,请求信息用于请求与四个接收节点分别对应的传输能力信息。
发送节点A在获取到上述四个接收节点的传输能力信息之后,可根据传输能力信息中包括的接收节点B1的标识信息以及接收节点B2的标识信息,将与接收节点B1的标识信息以及接收节点B2的标识信息,对应的至少一个接收节点(例如,接收节点B1和/或接收节点B2)确定为用于转发数据包的至少一个中间接收节点。由于接收节点B3以及接收节点B4不可与其它接收节点建立连接,故,发送节点A可确定需要直接向接收节点B3以及接收节点B4发送数据包,以及接收节点B1的数据包可通过接收节点B2转发,或者接收节点B2的数据包可通过接收节点B1转发,具体采用何种转发方式,发送节点A可进一步考虑自身的传输能力信息,以及接收节点的传输能力信息中的其它内容和/或发送节点A自身已知的一些信息(例如各个接收节点请求数据包的顺序等)。
发送节点A在确定出至少一个中间接收节点之后,可根据与每个接收节点对应的传输能力信息、发送节点A自身的传输能力信息以及发送节点已知的一些信息(例如各个接收节点请求数据包的顺序)等,确定发送一部分数据包的第一传输顺序和所采用的第一传输方式,并确定通过至少一个中间接收节点发送另一部分数据包的传输路径(例如,通过接收节点B1转发接收节点B2的数据包的路径,或者,通过接收节点B2转发接收节点B1的数据包的路径)、第二传输顺序和所采用的第二传输方式(例如,发送节点A可根据接收节点支持的传输方式以及自身支持的传输方式,将发送节点和接收节点同时支持的传输方式确定为发送节点向该接收节点发送数据包时所采用的传输方式)。
上述实例一中由于各个节点之间包括多种传输方式,以及发送节点A可通过多种路径传输数据包,因此,上述实例一中发送节点A可确定出第一传输顺序、第二传输顺序、传输路径、第一传输方式以及第二传输方式的多种组合方式。例如,一种组合方式中,发送节点A可先采用B1a传输方式向接收节点B1发送数据包,并通过接收节点B1向接收节点B2采用B1c传输方式转发数据包,在接收节点B1向接收节点B2转发数据包时,发送节点A采用B1a传输方式向接收节点B4发送数据包,最后发送节点A采用B1b传输方式向接收节点B3发送数据包。又例如,另一种组合方式中,发送节点A可先采用B1a传输方式向接收节点B2发送数据包,并通过接收节点B2采用B1b传输方式向接收节点B1转发数据包,在接收节点B2向接收节点B1转发数据包时,发送节点A采用B1a传输方式向接收节点B4发送数据包,最后发送节点A采用B1b传输方式向接收节点B3发送数据包。
本实例中,发送节点A可基于传输时间最短的策略确定第一传输顺序、第二传输顺序、传输路径、第一传输方式以及第二传输方式的多种组合方式。传输时间是指发送节点A完成传输全部数据包的传输时间。例如,针对图3所示的应用场景,发送节点A可确定出如下传输时间最短的组合方式:发送节点A可先采用B1a传输方式向接收节点B2发送数据包,并通过接收节点B2采用B1c传输方式向接收节点B1转发数据包,在接收节点B2向接收节点B1转发数据包时,发送节点A采用B1a传输方式向接收节点B4发送数据包,最后发送节点A采用B1b传输方式向接收节点B3发送数据包。参阅图4所示,其为发送节点A根据传输时间最短的组合方式传输数据包的示意图,发送节点A向发送节点B1至发送节点B4发送数据包之前,获取各个接收节点的传输能力信息(图4中未示出),并确定传输时间最短的组合方式,进而根据传输时间最短的组合方式建立传输链路,其中图4中示出的空闲态链路可用于发送节点A和接收节点之间的信息交互(例如,接收节点传输能力信息的上报),在建立传输链路之后,发送节点A可根据组合方式中包括的第一传输顺序和第二传输顺序向各个接收节点发送数据包。这样,发送节点A可通过接收节点B2向接收节点B1转发数据包,且在接收节点B2向接收节点B1转发数据包时,发送节点A可向接收节点B4发送数据包,可减小接收节点B1、接收节点B3和接收节点B4的等待时间。
实例二:
一种可能的应用场景中,某些接收节点与发送节点之间的传输链路可能被占用,这样,发送节点需要等到传输链路空闲时才能向这些接收节点传输数据包。针对该种应用场景,本申请实施例提供的数据包传输方法仍然有效,在接收节点与发送节点之间的直接传输链路被占用时,可通过发送节点确定的中间接收节点,将数据包转发至直接传输链路被占用的接收节点,使得该部分传输链路被占用的接收节点无需等待较久的时间即可接收到发送节点传输的数据包。下面以该场景为例,对本申请实施例提供的数据包传输方法进行说明。
参阅图5所示,其为本申请实施例提供的一种网络架构示意图。如图5所示,假设有三个接收节点,分别为接收节点B1、接收节点B2以及接收节点B3,发送节点A确定在同一时刻或者一段很短的时间内需要向该三个接收节点发送数据包,向三个接收节点发送的数据包可以是相同的数据包,也可以是不同的数据包。且,假设三个接收节点当前处于相同的网络中,且假设发送节点发送三个数据包的顺序为,首先发送节点A向接收节点B1发送数据包,其次发送节点A向接收节点B2发送数据包,再次发送节点A向接收节点B3发送数据包。发送节点A在向上述三个接收节点发送数据包之前,获取上述三个接收节点的传输能力信息。
假设获取到的接收节点B1的传输能力信息中包括如下内容:
(1)接收节点B1所支持的与发送节点A之间的传输方式,其中该传输方式包括B1a传输方式和B1b传输方式。
(2)具备与接收节点B1进行通信的能力的接收节点B2的标识信息,例如可以是接收节点B2的ID信息。
(3)接收节点B1所支持的与接收节点B2之间的传输方式,其中该传输方式包括两种,分别是B1b传输方式和B1c传输方式。
并假设获取到的接收节点B2的传输能力信息中包括如下内容:
(1)接收节点B2所支持的与发送节点A之间的传输方式,其中该传输方式包括三种:分别是B1a传输方式、B1b传输方式以及B1c传输方式。
(2)具备与接收节点B2进行通信的能力的接收节点B1的标识信息,例如可以是接收节点B1的ID信息。
(3)接收节点B2所支持的与接收节点B1之间的传输方式,其中该传输方式包括两种,分别是B1b传输方式和B1c传输方式。
并假设获取到的接收节点B3的传输能力信息中包括如下内容:
(1)接收节点B3所支持的与发送节点A之间的传输方式,其中该传输方式包括三种:分别为B1a传输方式、B1b传输方式以及B1c传输方式。
发送节点A在获取到上述三个接收节点的传输能力信息之后,可根据传输能力信息中包括的接收节点B1的标识信息以及接收节点B2的标识信息,将与接收节点B1的标识信息以及接收节点B2的标识信息,对应的至少一个接收节点(例如,接收节点B1和/或接收节点B2)确定为用于转发数据包的至少一个中间接收节点。由于接收节点B3不可与其它接收节点建立连接,故,发送节点A可确定需要直接向接收节点B3发送数据包,以及接收节点B1的数据包可通过接收节点B2转发,或者接收节点B2的数据包可通过接收节点B1转发,具体采用何种转发方式,发送节点A可进一步考虑自身的传输能力信息,以及接收节点的传输能力信息中的其它内容和/或发送节点A自身已知的一些信息(例如各个接收节点请求数据包的顺序以及发送节点已知的接收节点的传输链路被占用的信息等)。
在图5所示的场景中,发送节点A可基于与实例一同样的方法,基于传输时间最短的策略确定第一传输顺序、第二传输顺序、传输路径、第一传输方式以及第二传输方式的多种组合方式。例如,发送节点A可确定出如下传输时间最短的组合方式:发送节点A首先采用B1a传输方式向接收节点B2发送数据包,其次将需要发送至接收节点B1的数据包通过接收节点B2采用B1c传输方式转发至接收节点B1,与此同时,发送节点A可采用B1a传输方式向接收节点B3发送数据包。参阅图6所示,其为发送节点A根据传输时间最短的组合方式传输数据包的示意图,发送节点A向发送节点B1至发送节点B3发送数据包之前,获取各个接收节点的传输能力信息(图6中未示出),并确定传输时间最短的组合方式,进而根据传输时间最短的组合方式建立传输链路,其中图6中示出的空闲态链路与图4中作用相同,此处不再赘述。在建立传输链路之后,发送节点A可根据组合方式中包括的第一传输顺序和第二传输顺序向各个接收节点发送数据包。这样,发送节点A可在与接收节点B1之间的传输链路被占用时,通过接收节点B2向接收节点B1转发数据包,而现有技术中在发送节点A与接收节点B1之间的传输链路被占用时,则无法继续进行数据包传输,通过本申请实施例提供的方法,可在不更改传输链路的情况下,利用各个接收节点之间的链路关系,实现数据包的间接传输。
实例三:
一种可能的应用场景中,发送节点需要发送至接收节点的数据包较大,在该种场景中,若发送节点将完整的数据包直接发送至对应的接收节点,则其它向发送节点请求数据包的接收节点将串行排队比较久的时间,而通过本申请实施例提供的数据包传输方法,发送节点可将较大的数据包拆分成多个小的子数据包,并将多个小的子数据包通过不同的路径(例如不同的中间接收节点)发送至需要接收该部分数据包的接收节点,进而减小传输时间。下面以该场景为例,对本申请实施例提供的方法进行说明。
参阅图7所示,其为本申请实施例提供的一种网络架构示意图。如图7所示,假设有四个接收节点,分别为接收节点B1、接收节点B2、接收节点B3以及接收节点B4,发送节点A确定在同一时刻或者短时间内需要向该四个接收节点发送相同的数据包。且,假设四个接收节点当前处于相同的网络中,且假设发送节点A发送四个数据包的顺序为,首先发送节点A向接收节点B2发送数据包,其次发送节点A向接收节点B3发送数据包,再次发送节点A向接收节点B1发送数据包,最后发送节点A向接收节点B4发送数据包。发送节点A在向上述四个接收节点发送数据包之前,获取上述四个接收节点的传输能力信息。
假设获取到的接收节点B1的传输能力信息中包括如下内容:
(1)接收节点B1所支持的与发送节点A之间的传输方式,其中该传输方式包括B1a传输方式。
(2)具备与接收节点B1进行通信的能力的接收节点B2和接收节点B3的标识信息,例如可以是接收节点B2和接收节点B3的ID信息。
(3)接收节点B1所支持的与接收节点B2之间的传输方式包括B1b传输方式,接收节点B1所支持的与接收节点B3之间的传输方式包括B1c传输方式。
并假设获取到的接收节点B2的传输能力信息中包括如下内容:
(1)接收节点B2所支持的与发送节点A之间的传输方式,其中该传输方式包括B1b传输方式以及B1c传输方式。
(2)具备与接收节点B2进行通信的能力的接收节点B1的标识信息,例如可以是接收节点B1的ID信息。
(3)接收节点B2所支持的与接收节点B1之间的传输方式包括B1b传输方式。
并假设获取到的接收节点B3的传输能力信息中包括如下内容:
(1)接收节点B3所支持的与发送节点A之间的传输方式包括B1c传输方式。
(2)具备与接收节点B3进行通信的能力的接收节点B1的标识信息,例如可以是接收节点B1的ID信息。
(3)接收节点B3所支持的与接收节点B1之间的传输方式包括B1c传输方式。
并假设获取到的接收节点B4的传输能力信息中包括如下内容:
(1)接收节点B4所支持的与发送节点A之间的传输方式,其中该传输方式包括B1a传输方式。
发送节点A在获取到上述四个接收节点的传输能力信息之后,可根据传输能力信息中包括的标识信息,将与标识信息对应的至少一个接收节点(例如,接收节点B1、接收节点B2以及接收节点B3)确定为用于转发数据包的至少一个中间接收节点,假设接收节点B1请求的数据包比较大,若发送节点A和接收节点B1之间的请求任务过重且支持的传输协议速度不高,则接收节点B4会陷入长时间的等待,而通过本申请实施例提供的方法,发送节点A可根据能够与接收节点B1建立传输链路的节点个数决策将数据包拆分为几个子数据包,由于图7所示的网络中,接收节点B1可与发送节点A、接收节点B2以及接收节点B3建立传输链路,故,发送节点A可决策将该数据包拆分为三个子数据包,假设分别为子数据包1、子数据包2以及子数据包3,进而在发送节点A向接收节点B2发送数据包时,可将子数据包1采用B1b传输方式发送至接收节点B2,进而可通过接收节点B2将子数据包1发送至接收节点B1,在发送节点A向接收节点B3发送数据包时,可将子数据包2采用B1c传输方式发送至接收节点B3,进而可通过接收节点B3将子数据包2发送至接收节点B1,发送节点A可采用B1a传输方式将子数据包3直接发送至接收节点B1,接收节点B1在接收到三个子数据包之后,再将三个子数据包合成一个完整的数据包。
可以理解的是,B1a传输方式、B1b传输方式以及B1c传输方式是可以同时使用的传输方式,这样,发送节点A可分别通过三种传输方式同时发送三个子数据包。
在图7所示的场景中,发送节点A可基于与实例一同样的方法,基于传输时间最短的策略确定第一传输顺序、第二传输顺序、传输路径、第一传输方式以及第二传输方式的多种组合方式。例如,发送节点A可确定出如下传输时间最短的组合方式:发送节点A可采用B1b传输方式向接收节点B2发送接收节点B2需要接收的数据包以及子数据包1,并采用B1c传输方式向接收节点B3发送接收节点B3需要接收的数据包以及子数据包2,并采用B1a传输方式向接收节点B1发送子数据包3,最后发送节点A采用B1a传输方式向接收节点B4发送数据包。参阅图8所示,其为发送节点A根据传输时间最短的组合方式传输数据包的示意图,发送节点A向发送节点B1至发送节点B4发送数据包之前,获取各个接收节点的传输能力信息(图8中未示出),并确定传输时间最短的组合方式,进而根据传输时间最短的组合方式建立传输链路,图8中示出的空闲态链路与图4中作用相同,此处不再赘述。在建立传输链路之后,发送节点A可根据组合方式中包括的第一传输顺序和第二传输顺序向各个接收节点发送数据包。其中,B1a传输方式、B1b传输方式以及B1c传输方式三种传输方式互不冲突,即同一节点可在同一时刻与不同的节点建立与上述三种传输方式对应的传输链路,但是,同一节点在同一时刻仅能建立一种传输方式对应的一条传输链路,例如,在T时刻,发送节点A只能与四个接收节点中的其中一个接收节点建立B1a传输链路。这样,发送节点A可充分利用多个中间接收节点以及多种可用传输协议,与中间接收节点(例如接收节点B2和接收节点B3)建立高速可用的传输通道,实现跨节点的多流传输,可避免由于单个节点数据包较大而导致拥塞,使得发送节点发送的子数据包可以重新路由或分流到其他通信流量较小的邻近节点进行间接传输。
基于与方法实施例的同一发明构思,本申请实施例还提供了一种数据包传输设备。可以理解的是,该数据包传输设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在采用集成单元的情况下,图9示出了本申请实施例涉及的数据包传输设备的一种可能的结构示意图。如图9所示,所述数据包传输设备900包括处理单元901、存储单元902以及收发单元903。处理单元901用于对数据包传输设备900的动作进行控制管理,例如,处理单元901可用于执行图2中的S102-S103等技术过程。收发单元903用于支持数据包传输设备900与其他网络实体的通信,例如,可以用于执行图2中的S101和S104等技术过程。数据包传输设备900还可以包括存储单元902,用于存储数据包传输设备900的程序代码和数据。
其中,处理单元901可以是处理器或控制器,例如可以是通用中央处理器(centralprocessing unit,CPU),通用处理器,数字信号处理(digital signal processing,DSP),专用集成电路(application specific integrated circuits,ASIC),现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。收发单元903可以是射频芯片、射频电路等。存储单元902可以是存储器,可以是RAM(random-access memory,随机存取存储器)、ROM(read-only memory,只读存储器)等。
当处理单元901为处理器,收发单元903为收发器,存储单元902为存储器时,本申请实施例所涉及的数据包传输设备900可以为图10所示的设备。
参阅图10所示,为本申请的实施例提供的上述实施例中所涉及的数据包传输设备的一种可能的逻辑结构示意图。如图10所示,该数据包传输设备1000可以包括至少一个处理器1001。在本申请的实施例中,处理器1001用于对该设备的动作进行控制管理,可选的,数据包传输设备1000还可以包括存储器1002以及收发器1003。处理器1001、存储器1002以及收发器1003可以相互连接或通过总线1004相互连接。其中,该存储器1002,用于存储数据包传输设备1000的代码和数据。收发器1003用于支持该数据包传输设备1000与其他网络设备进行通信。
下面对该数据包传输设备1000的各个构成部件进行具体的介绍:
处理器1001是设备的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器1001是一个CPU,也可以是通过ASIC的方式实现,或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个DSP,或,一个或者多个FPGA。
其中,处理器1001可以通过运行或执行存储在存储器1002内的软件程序,以及调用存储在存储器1002内的数据,执行所述数据包传输设备1000的各种功能。
存储器1002可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1002可以是独立存在,通过通信总线1004与处理器1001相连接。存储器1002也可以和处理器1001集成在一起。
收发器1003,用于与其他节点间的通信,例如,网络设备。还可以用于与通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless localarea networks,WLAN)等。
通信总线1004,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部无人机身份识别设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图10中示出的设备结构并不构成对数据包传输设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图10所示的数据包传输设备1000中,处理器1001调用存储器1002中存储的计算机程序并执行,可以通过收发器1003完成上述方法实施例中的各个实施例的具体过程,这里不再一一详述。
基于与上述方法实施例相同构思,本申请实施例中还提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,使所述计算机执行上述提供的方法实施例中的各个实施例的具体过程。本申请实施例中,对所述计算机可读存储介质不做限定,例如,可以是RAM(random-access memory,随机存取存储器)、ROM(read-only memory,只读存储器)等。
基于与上述方法实施例相同构思,本申请实施例中还提供一种计算机程序产品,所述计算机程序产品中存储有指令,当其在计算机上运行时,使得计算机执行上述任意一种可能的设计中提供的方法。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请中一些可能的实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括本申请实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种数据包传输方法,其特征在于,包括:
发送节点向至少三个接收节点发送至少三个数据包之前,获取所述至少三个接收节点的传输能力信息,所述至少三个数据包全部相同或者部分相同,接收节点的传输能力信息用于表征接收节点与其它节点之间的通信能力;
所述发送节点根据所述至少三个接收节点的传输能力信息,确定用于转发数据包的至少一个中间接收节点;
所述发送节点根据所述至少三个接收节点的传输能力信息以及所述发送节点的传输能力信息,确定发送所述至少三个数据包中的一部分数据包的第一传输顺序和所采用的第一传输方式,并确定通过所述至少一个中间接收节点发送所述至少三个数据包中的另一部分数据包的传输路径、第二传输顺序和所采用的第二传输方式,所述发送节点的传输能力信息用于表征所述发送节点与其它节点之间的通信能力;
所述发送节点采用确定出的所述第一传输顺序、所述第一传输方式、所述传输路径、第二传输顺序以及所述第二传输方式,将所述至少三个数据包中的一部分数据包发送至接收所述一部分数据包的接收节点,并将所述至少三个数据包中的另一部分数据包通过所述至少一个中间接收节点发送至接收所述另一部分数据包的接收节点。
2.根据权利要求1所述的方法,其特征在于,所述发送节点基于传输时间最短的原则确定所述第一传输顺序、所述第一传输方式、所述传输路径、所述第二传输顺序以及所述第二传输方式,其中,所述传输时间是指所述发送节点完成传输所述至少三个数据包中包括的全部数据包的传输时间。
3.根据权利要求1所述的方法,其特征在于,所述接收节点的传输能力信息包括:
所述接收节点所支持的与所述发送节点之间的传输方式;和/或,
具备与所述接收节点进行通信的能力的其它接收节点的标识信息,和,所述接收节点所支持的与所述其它接收节点之间的传输方式;
所述发送节点的传输能力信息包括:
所述发送节点所支持的与各个接收节点之间的传输方式。
4.根据权利要求2所述的方法,其特征在于,所述接收节点的传输能力信息包括:
所述接收节点所支持的与所述发送节点之间的传输方式;和/或,
具备与所述接收节点进行通信的能力的其它接收节点的标识信息,和,所述接收节点所支持的与所述其它接收节点之间的传输方式;
所述发送节点的传输能力信息包括:
所述发送节点所支持的与各个接收节点之间的传输方式。
5.根据权利要求3所述的方法,其特征在于,所述发送节点根据所述至少三个接收节点的传输能力信息,确定用于转发数据包的至少一个中间接收节点,包括:
所述发送节点将所述至少三个接收节点的传输能力信息中包括的标识信息对应的至少一个接收节点确定为用于转发数据包的至少一个中间接收节点。
6.根据权利要求4所述的方法,其特征在于,所述发送节点根据所述至少三个接收节点的传输能力信息,确定用于转发数据包的至少一个中间接收节点,包括:
所述发送节点将所述至少三个接收节点的传输能力信息中包括的标识信息对应的至少一个接收节点确定为用于转发数据包的至少一个中间接收节点。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述将所述至少三个数据包中的一部分数据包发送至接收所述一部分数据包的接收节点,并将所述至少三个数据包中的另一部分数据包通过所述至少一个中间接收节点发送至接收所述另一部分数据包的接收节点,包括:
所述发送节点将所述至少三个数据包中包括的一部分完整的数据包发送至接收所述一部分数据包的接收节点,并将所述至少三个数据包中包括的另一部分完整的数据包通过所述至少一个中间接收节点发送至接收所述另一部分数据包的接收节点;
或者,
所述发送节点将所述至少三个数据包中包括的至少一个数据包拆分为多个子数据包,并将拆分后的多个子数据包中的一部分子数据包采用第三传输方式发送至接收所述一部分子数据的接收节点,且将所述多个子数据包中的另一部分子数据包采用第四传输方式发送至所述至少一个中间接收节点,并通过所述至少一个中间接收节点将所述多个子数据包中的另一部分子数据包转发至接收所述另一部分子数据包的接收节点,其中,所述第三传输方式与所述第四传输方式为可以同时使用的传输方式。
8.一种数据包传输设备,其特征在于,包括存储器、收发器以及处理器;
所述存储器存储有计算机程序;
所述处理器用于调用所述存储器中存储的计算机程序执行:
控制所述收发器向至少三个接收节点发送至少三个数据包之前,在所述存储器中获取所述至少三个接收节点的传输能力信息,或者通过所述收发器接收所述至少三个接收节点的传输能力信息,并根据获取到的或者接收到的所述至少三个接收节点的传输能力信息,确定用于转发数据包的至少一个中间接收节点,根据所述至少三个接收节点的传输能力信息以及所述发送节点的传输能力信息,确定发送所述至少三个数据包中的一部分数据包第一传输顺序和所采用的第一传输方式,并确定通过所述至少一个中间接收节点发送所述至少三个数据包中的另一部分数据包的传输路径、第二传输顺序和所采用的第二传输方式,控制所述收发器采用确定出的所述第一传输顺序、所述第一传输方式、所述传输路径、第二传输顺序以及所述第二传输方式,将所述至少三个数据包中的一部分数据包发送至接收所述一部分数据包的接收节点,并将所述至少三个数据包中的另一部分数据包通过所述至少一个中间接收节点发送至接收所述另一部分数据包的接收节点;
其中,所述至少三个数据包全部相同或者部分相同,接收节点的传输能力信息用于表征所述接收节点与其它节点之间的通信能力,所述发送节点的传输能力信息用于表征所述发送节点与其它节点之间的通信能力。
9.根据权利要求8所述的设备,其特征在于,所述处理器基于传输时间最短的原则确定所述第一传输顺序、所述第一传输方式、所述传输路径、所述第二传输顺序以及所述第二传输方式,其中,所述传输时间是指所述发送节点完成传输所述至少三个数据包中包括的全部数据包的传输时间。
10.根据权利要求8所述的设备,其特征在于,所述接收节点的传输能力信息包括:
所述接收节点所支持的与所述发送节点之间的传输方式;和/或,
具备与所述接收节点进行通信的能力的其它接收节点的标识信息,和,所述接收节点所支持的与所述其它接收节点之间的传输方式;
所述发送节点的传输能力信息包括:
所述发送节点所支持的与各个接收节点之间的传输方式。
11.根据权利要求9所述的设备,其特征在于,所述接收节点的传输能力信息包括:
所述接收节点所支持的与所述发送节点之间的传输方式;和/或,
具备与所述接收节点进行通信的能力的其它接收节点的标识信息,和,所述接收节点所支持的与所述其它接收节点之间的传输方式;
所述发送节点的传输能力信息包括:
所述发送节点所支持的与各个接收节点之间的传输方式。
12.根据权利要求10所述的设备,其特征在于,所述处理器采用如下方式根据所述至少三个接收节点的传输能力信息,确定用于转发数据包的至少一个中间接收节点:
将所述至少三个接收节点的传输能力信息中包括的标识信息对应的至少一个接收节点确定为用于转发数据包的至少一个中间接收节点。
13.根据权利要求11所述的设备,其特征在于,所述处理器采用如下方式根据所述至少三个接收节点的传输能力信息,确定用于转发数据包的至少一个中间接收节点:
将所述至少三个接收节点的传输能力信息中包括的标识信息对应的至少一个接收节点确定为用于转发数据包的至少一个中间接收节点。
14.根据权利要求8至13任一项所述的设备,其特征在于,所述处理器具体用于:
控制所述收发器将所述至少三个数据包中包括的一部分完整的数据包发送至接收所述一部分数据包的接收节点,并将所述至少三个数据包中包括的另一部分完整的数据包通过所述至少一个中间接收节点发送至接收所述另一部分数据包的接收节点;
或者,
控制所述收发器将所述至少三个数据包中包括的至少一个数据包拆分为多个子数据包,并将拆分后的多个子数据包中的一部分子数据包采用第三传输方式发送至接收所述一部分子数据的接收节点,且将所述多个子数据包中的另一部分子数据包采用第四传输方式发送至所述至少一个中间接收节点,并通过所述至少一个中间接收节点将所述多个子数据包中的另一部分子数据包转发至接收所述另一部分子数据包的接收节点,其中,所述第三传输方式与所述第四传输方式为可以同时使用的传输方式。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,使所述计算机执行如权利要求1至7任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/086587 WO2019213958A1 (zh) | 2018-05-11 | 2018-05-11 | 一种数据包传输方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112042229A CN112042229A (zh) | 2020-12-04 |
CN112042229B true CN112042229B (zh) | 2022-09-23 |
Family
ID=68467225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880092819.1A Active CN112042229B (zh) | 2018-05-11 | 2018-05-11 | 一种数据包传输方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112042229B (zh) |
WO (1) | WO2019213958A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765222B (zh) * | 2021-04-07 | 2021-07-20 | 暗链科技(深圳)有限公司 | 基于区块链的数据传输方法、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101600215A (zh) * | 2008-06-04 | 2009-12-09 | 大唐移动通信设备有限公司 | 配置中继的方法、装置及系统 |
CN103179575A (zh) * | 2011-12-23 | 2013-06-26 | 中兴通讯股份有限公司 | 一种邻近设备通信的方法和系统、网络侧设备和用户设备 |
CN104581868A (zh) * | 2015-01-15 | 2015-04-29 | 浙江工业大学 | 一种等数据块传输速率下利用d2d协作通信的带有公平性和节能效果的数据分发方法 |
CN105207787A (zh) * | 2015-08-28 | 2015-12-30 | 华为技术有限公司 | 一种业务QoS控制方法及网络设备 |
CN105430633A (zh) * | 2014-08-22 | 2016-03-23 | 电信科学技术研究院 | 一种确定中继节点的方法及设备 |
CN107040973A (zh) * | 2017-05-18 | 2017-08-11 | 陕西师范大学 | 一种基于无线传感器网络的数据采集方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101533691B1 (ko) * | 2009-06-01 | 2015-07-03 | 삼성전자 주식회사 | 블루투스 모듈을 구비한 장치의 연결 시스템 및 방법 |
KR102411651B1 (ko) * | 2014-12-19 | 2022-06-21 | 삼성전자 주식회사 | 디바이스-대-디바이스 통신 시스템에서 릴레이 선택을 제공하는 장치 및 방법 |
-
2018
- 2018-05-11 WO PCT/CN2018/086587 patent/WO2019213958A1/zh active Application Filing
- 2018-05-11 CN CN201880092819.1A patent/CN112042229B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101600215A (zh) * | 2008-06-04 | 2009-12-09 | 大唐移动通信设备有限公司 | 配置中继的方法、装置及系统 |
CN103179575A (zh) * | 2011-12-23 | 2013-06-26 | 中兴通讯股份有限公司 | 一种邻近设备通信的方法和系统、网络侧设备和用户设备 |
CN105430633A (zh) * | 2014-08-22 | 2016-03-23 | 电信科学技术研究院 | 一种确定中继节点的方法及设备 |
CN104581868A (zh) * | 2015-01-15 | 2015-04-29 | 浙江工业大学 | 一种等数据块传输速率下利用d2d协作通信的带有公平性和节能效果的数据分发方法 |
CN105207787A (zh) * | 2015-08-28 | 2015-12-30 | 华为技术有限公司 | 一种业务QoS控制方法及网络设备 |
CN107040973A (zh) * | 2017-05-18 | 2017-08-11 | 陕西师范大学 | 一种基于无线传感器网络的数据采集方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019213958A1 (zh) | 2019-11-14 |
CN112042229A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8885504B2 (en) | Method, apparatus and system for bandwidth aggregation of mobile internet access node | |
CN111866956B (zh) | 一种数据传输方法及对应的设备 | |
JP2016226011A5 (zh) | ||
CN109672708B (zh) | 通信方法及装置、系统 | |
US20210377713A1 (en) | Bluetooth connection method and device | |
WO2017113130A1 (zh) | 一种资源请求方法、设备、网络侧节点及系统 | |
KR20220025006A (ko) | 사이드링크 정보 송신 방법, 수신 방법 및 이를 위한 단말, 제어 노드 | |
CN114979839B (zh) | 一种传输控制协议代理方法及通信装置 | |
CN102369755A (zh) | 一种传输数据的方法、设备与基站 | |
CN104158581A (zh) | 一种中继节点的发现方法及装置 | |
WO2019011076A1 (zh) | 一种数据处理方法、装置、设备及计算机可读存储介质 | |
CN113973399A (zh) | 报文转发方法、装置及系统 | |
CN106027599B (zh) | 一种数据传输通道建立方法、系统和服务器 | |
CN112042229B (zh) | 一种数据包传输方法及设备 | |
CA3066667C (en) | Method for transmission control, device, equipment and storage medium | |
CN109600853B (zh) | 一种上行数据传输方法及装置 | |
CN105847275A (zh) | 一种数据传输通道建立方法、系统和服务器 | |
US11805464B2 (en) | Mobile communication system, method and device | |
US11979230B1 (en) | Method and system for transmitting data over multiple paths | |
JP2020529148A (ja) | データ複製をサポートする方法、送信側デバイスおよび受信側デバイス | |
CN116016025A (zh) | 一种通信方法、设备及存储介质 | |
JP2008520162A (ja) | 無線lanステーション、及び、無線lanステーションをインフラストラクチャ・モードと独立(アドホック)モードで同時に動作させる方法 | |
CN105264858B (zh) | 一种会话处理方法及设备 | |
JP7399175B2 (ja) | 接続管理方法、装置、端末及びシステム | |
TWI489891B (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 |