CN106375233A - 数据传输方法及数据传输装置 - Google Patents
数据传输方法及数据传输装置 Download PDFInfo
- Publication number
- CN106375233A CN106375233A CN201510758189.5A CN201510758189A CN106375233A CN 106375233 A CN106375233 A CN 106375233A CN 201510758189 A CN201510758189 A CN 201510758189A CN 106375233 A CN106375233 A CN 106375233A
- Authority
- CN
- China
- Prior art keywords
- packet
- packets
- identification information
- content
- data
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请各实施例公开了一种数据传输方法及数据传输装置。所述数据传输方法包括:至少根据第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包;发送所述第二数据包。本申请实施例的方法及装置基于数据包的数据载荷的内容划分第一数据包并实施聚合,在节省网络开销、提高吞吐量的同时,更有利于进行合理的传输配置。
Description
技术领域
本申请涉及通信技术领域,尤其涉及数据传输方法及数据传输装置。
背景技术
包聚合是一种将若干个包按照一定的格式重新封装成单个数据包发送出去的机制。包聚合减少了由数据包头部引起的开销以及数据包的发送数量,能够一定程度上节省带宽,提高系统吞吐量。
发明内容
有鉴于此,本申请实施例的一个目的在于提供一种基于新的包聚合方案的数据传输方案。
为实现上述目的,根据本申请实施例的第一方面,提供了一种数据传输方法,所述方法包括:
至少根据第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包;
发送所述第二数据包。
结合第一方面,在第一种可能的实现方式中,所述方法还包括:
获取所述至少两个第一数据包;
解析所述至少两个第一数据包,获取所述至少两个第一数据包对应的至少两个第一标识信息;
至少基于所述至少两个第一标识信息,确定所述至少两个第一数 据包的数据载荷的内容。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将至少两个第一数据包结合成一个第二数据包包括:
响应于达到预设时间,将所述至少两个第一数据包结合成一个所述第二数据包。
结合第一方面或第一方面的上述任一种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:
缓存所述至少两个第一数据包;
所述将至少两个第一数据包结合成一个第二数据包包括:
响应于缓存的所述至少两个第一数据包占据了预设大小的缓存空间,将所述至少两个第一数据包结合成一个所述第二数据包。
结合第一方面或第一方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述将至少两个第一数据包结合成一个第二数据包包括:
缓存所述至少两个第一数据包;
所述将至少两个第一数据包结合成一个第二数据包包括:
响应于缓存的所述至少两个第一数据包的数量达到预设数量,将所述至少两个第一数据包结合成一个所述第二数据包。
结合第一方面或第一方面的上述任一种可能的实现方式,在第五种可能的实现方式中,所述将至少两个第一数据包结合成一个第二数据包还包括:
至少根据第一数据包的数据载荷的内容以及所述第二数据包的预设长度,确定所述至少两个第一数据包。
结合第一方面或第一方面的上述任一种可能的实现方式,在第六种可能的实现方式中,所述方法还包括:
记录所述至少两个第一数据包各自的传输节点、所述至少两个第 一数据包、以及所述第二数据包之间的对应关系。
结合第一方面或第一方面的上述任一种可能的实现方式,在第七种可能的实现方式中,所述第二数据包包括:所述第二数据包的第二标识信息,至少用于标识所述第二数据包由所述至少两个第一数据包结合构成;
所述方法还包括:
接收对所述第二数据包的第一接收应答,所述第一接收应答包括所述第二数据包的至少部分第二标识信息;
基于所述至少部分第二标识信息以及所述对应关系,生成与所述第二数据包对应的至少两个第一数据包的至少一个第二接收应答;
发送所述至少一个第二接收应答。
结合第一方面或第一方面的上述任一种可能的实现方式,在第八种可能的实现方式中,所述第二数据包对应的至少两个第一数据包来自至少两个传输节点;
所述发送所述至少一个第二接收应答包括:
向所述至少两个传输节点中的至少两个发送一个第二接收应答,且所述第二接收应答中包括所述至少两个传输节点中的所述至少两个的标识信息。
结合第一方面或第一方面的上述任一种可能的实现方式,在第九种可能的实现方式中,所述方法还包括:
记录所述第一接收应答的接收时间;
至少基于所述接收时间、所述第一接收应答对应的第二数据包的第二标识信息、和/或所述第二数据包对应的至少两个第一数据包的数据载荷的内容,确定所述第一接收应答对应的至少一第二接收应答的发送优先级;
所述发送所述至少一个第二接收应答包括:
至少基于所述发送优先级发送所述第二接收应答。
根据本申请实施例的第二方面,提供了一种数据传输方法,所述方法包括:
生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容;
发送所述至少一第一数据包。
结合第二方面,在第一种可能的实现方式中,所述方法还包括:
响应于对所述至少一第一数据包的第二接收应答,释放所述至少一第一数据包对应的缓存。
根据本申请的第三方面,提供了一种数据传输方法,所述方法包括:
接收至少一第二数据包;
发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由所述至少两个第一数据包结合构成。
根据本申请的第四方面,提供了一种数据传输装置,所述装置包括:
一聚合模块,用于至少根据第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包;
一第一发送模块,用于发送所述第二数据包。
结合第四方面,在第一种可能的实现方式中,所述装置还包括:
一获取模块,用于获取所述至少两个第一数据包;
一解析模块,用于解析所述至少两个第一数据包,获取所述至少两个第一数据包对应的至少两个第一标识信息;
一第一确定模块,用于至少基于所述至少两个第一标识信息,确定所述至少两个第一数据包的数据载荷的内容。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可 能的实现方式中,所述第一发送模块用于响应于达到预设时间,将所述至少两个第一数据包结合成一个所述第二数据包。
结合第四方面或第四方面的上述任一种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
一第一缓存模块,用于缓存所述至少两个第一数据包;
所述第一发送模块用于响应于缓存的所述至少两个第一数据包占据了预设大小的缓存空间,将所述至少两个第一数据包结合成一个所述第二数据包。
结合第四方面或第四方面的上述任一种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:
一第一缓存模块,用于缓存所述至少两个第一数据包;
所述第一发送模块用于响应于缓存的所述至少两个第一数据包的数量达到预设数量,将所述至少两个第一数据包结合成一个所述第二数据包。
结合第四方面或第四方面的上述任一种可能的实现方式,在第五种可能的实现方式中,所述第一发送模块用于至少根据第一数据包的数据载荷的内容以及所述第二数据包的预设长度,确定所述至少两个第一数据包。
结合第四方面或第四方面的上述任一种可能的实现方式,在第六种可能的实现方式中,所述装置还包括:
一记录模块,用于记录所述至少两个第一数据包各自的传输节点、所述至少两个第一数据包、以及所述第二数据包之间的对应关系。
结合第四方面或第四方面的上述任一种可能的实现方式,在第七种可能的实现方式中,所述第二数据包包括:所述第二数据包的第二标识信息,至少用于标识所述第二数据包由所述至少两个第一数据包结合构成;
所述装置还包括:
一第一接收模块,用于接收对所述第二数据包的第一接收应答,所述第一接收应答包括所述第二数据包的至少部分第二标识信息;
一第一应答模块,用于基于所述至少部分第二标识信息以及所述对应关系,生成与所述第二数据包对应的至少两个第一数据包的至少一个第二接收应答;
所述第一发送模块还用于发送所述至少一个第二接收应答。
结合第四方面或第四方面的上述任一种可能的实现方式,在第八种可能的实现方式中,所述第二数据包对应的至少两个第一数据包来自至少两个传输节点;
所述第一发送模块用于向所述至少两个传输节点中的至少两个发送一个第二接收应答,且所述第二接收应答中包括所述至少两个传输节点中的所述至少两个的标识信息。
结合第四方面或第四方面的上述任一种可能的实现方式,在第九种可能的实现方式中,所述记录模块还用于记录所述第一接收应答的接收时间;
所述装置还包括:
一第二确定模块,用于至少基于所述接收时间、所述第一接收应答对应的第二数据包的第二标识信息、和/或所述第二数据包对应的至少两个第一数据包的数据载荷的内容,确定所述第一接收应答对应的至少一第二接收应答的发送优先级;
所述第一发送模块用于至少基于所述发送优先级发送所述第二接收应答。
根据本申请的第五方面,提供了一种数据传输装置,所述装置包括:
一生成模块,用于生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容;
一第二发送模块,用于发送所述至少一第一数据包。
结合第四方面或第四方面的上述任一种可能的实现方式,在第十种可能的实现方式中,所述装置还包括:
一第二缓存模块,用于响应于对所述至少一第一数据包的第二接收应答,释放所述至少一第一数据包对应的缓存。
根据本申请的第六方面,提供了一种数据传输装置,所述装置包括:
一第二接收模块,用于接收至少一第二数据包;
一第二应答模块,用于发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由所述至少两个第一数据包结合构成。
根据本申请的第七方面,提供了一种数据传输装置,所述装置包括:
收发器,用于接收第一数据包,以及发送第二数据包;
存储器,用于存放指令;
处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下步骤:
至少根据所述收发器接收的所述第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包;
通过所述收发器发送所述第二数据包。
根据本申请的第八方面,提供了一种数据传输装置,所述装置包括:
收发器,用于发送第一数据包;
存储器,用于存放指令;
处理器,用于执行所述存储器存储的指令,所述指令使得所述处 理器执行以下步骤:
生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容;
通过所述收发器发送所述至少一第一数据包。
根据本申请的第九方面,提供了一种数据传输装置,所述装置包括:
收发器,用于接收至少一第二数据包以及发送至少一接收应答;
存储器,用于存放指令;
处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下步骤:
通过所述收发器接收至少一第二数据包;以及
通过所述收发器发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由所述至少两个第一数据包结合构成。
本申请实施例的方法及装置基于数据包的数据载荷的内容划分第一数据包并实施聚合,在节省网络开销、提高吞吐量的同时,更有利于进行合理的传输配置。
附图说明
图1为一种示例的数据传输场景;
图2(a)为本申请第一种实施例的数据传输方法的一种示例的流程图;
图2(b)为本申请实施例的数据传输方法中的第一数据包的一种示例的逻辑结构示意图;
图2(c)为本申请实施例的数据传输方法中的第一数据包的一种示例的结构示意图;
图2(d)为本申请实施例的数据传输方法中的各数据包的对应关系的一种示例的映射图;
图2(e)为本申请实施例的数据传输方法中的ACK反馈示意图;
图2(f)和图2(g)为本申请实施例的数据传输方法中的第二ACK的两种示例的逻辑结构示意图;
图3为本申请第二种实施例的数据传输方法的一种示例的流程图;
图4为本申请第三种实施例的数据传输方法的一种示例的流程图;
图5(a)至图5(g)为本申请第一种实施例的数据传输装置的多种示例的结构框图;
图6(a)至图6(b)为本申请第二种实施例的数据传输装置的多种示例的结构框图;
图7为本申请第三种实施例的数据传输装置的一种示例的结构框图;
图8为本申请第一种实施例的数据传输装置的另一种示例的结构框图;
图9为本申请第二种实施例的数据传输装置的另一种示例的结构框图;
图10为本申请第三种实施例的数据传输装置的另一种示例的结构框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本领域技术人员可以理解,本申请中的“第一”、“第二”等术语仅用于区别不同设备、模块或参数等,既不代表任何特定技术含义,也 不表示它们之间的必然逻辑顺序。
图1所示为本申请各实施例的方法和装置可使用的一种示例的场景。在图1所示的场景中,无线AP下连接的各智能终端UE会发送包含各种内容的数据载荷的数据包到远端的服务器上(数据中心或监控)。对于大部分的物联网终端设备UE,其发送的数据流大部分都是小数据包,且UE数量巨大,这便会给基站BS带来巨大的负载。并且,远端服务器回复的大量接收应答(ACK)也会给网络带来巨大的负载。本申请各实施例的方法及装置提供了一种新的包聚合机制,基于数据载荷的内容实施包聚合。所述“内容”指的是数据包的数据载荷部分所携带的信息,例如,所述内容可为:电表读数、监控对象的体征/环境信息、视频内容,等等。本申请基于“内容”划分数据包(第一数据包),将两个或多个具有相同或相似内容的第一数据包聚合成一个第二数据包。这里,第一数据包和第二数据包用于区分依照本申请的技术方案聚合前后的数据包,不用于其他限制,例如,不限制数据包的类型,也即具体的物理结构,等等。
图2(a)是依照本申请第一种实施例的数据传输方法的流程图。如图2(a)所示,本实施例的数据传输方法包括:
S220.至少根据第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包。
S240.发送所述第二数据包。
如上所述的,本实施例的方法基于数据包的数据载荷的内容划分第一数据包,通常,具有相同或相似内容的数据包很大的几率意味着相同的目的地、相同的QoS(Quality of Service,服务质量)要求、和/或对传输环境具有相同的要求,对这样的数据包实施聚合,在节省网络开销、提高吞吐量的同时,更有利于针对不同内容的数据包进行合理的传输配置,例如,针对不同内容的数据包的不同的QoS需求分配不同的传输带宽,等等。
需要说明的是,本实施例的方法可由网络中的任一节点实施,这样的节点(也称“聚合装置”)包括:第一数据包的始发节点、第一数据包的传输路径上的任一传输节点(其中,始发节点为传输节点的一种特例)、接入点设备(AP)、独立于上述各节点的第三方设备,等等。对于聚合装置来说,第一数据包来自上一跳传输节点,且为了本实施例的方法的实施,可由上一跳传输节点对第一数据包的数据载荷的内容做标记,以供聚合装置基于该标记识别第一数据包的数据载荷的内容,进而实施本实施例的方法的各步骤,对于不存在这样的标记的数据包,聚合装置不作处理或按照其他现有的处理方式进行处理,在此不做赘述。在这样的实现方式中,本实施例的方法还可包括:
S212.获取所述至少两个第一数据包。所述获取包括接收上一跳传输节点发送的所述至少两个第一数据包。
S214.解析所述至少两个第一数据包,获取所述至少两个第一数据包对应的至少两个第一标识信息。
S216.至少基于所述至少两个第一标识信息,确定所述至少两个第一数据包的数据载荷的内容。
其中,第一标识信息至少用于标识所述第一数据包的数据载荷的内容。在一种可能的实现方式中,第一标识信息可包含在IP数据包的可选字段,在图2(b)中,所示的中间部分为典型的IP数据包的结构;上部分为加入了本实施例的方法中的第一标识信息的IP数据 包的包头部分,阴影所示即为IP数据包的可选字段;下部分中的①为一种可能的第一标识信息的逻辑结构。如图2(b)中所示的,第一标识信息包括用于标识第一数据包的数据载荷的内容的“内容标识符”位。在本实施例的方法中,“内容标识符”可为数据载荷所携带的信息本身、所携带的信息的索引、所携带的信息的摘要、或可用于描述数据载荷的内容的任何其他表达方式。在一种可能的实现方式中,可预先规定好可能的内容对应的索引号,例如,电表读数对应“1”,温度信息对应“2”,监控场景的视频信息对应“3”,等等。除了内容标识符外,本实施例的方法中的第一标识信息还可包括图2(b)中所示的:“标记”、“起始序号”、“包数量”等位。其中,标记位可通过例如“0”表示对应的数据包为第一数据包;“起始序号”用于记录对应的第一数据包中所包含的数据包(例如,(Transmission Control Protocol,TCP)传输控制协议数据包的起始序号;“包数量”记录的是对应的第一数据包中所包含的TCP数据包的数量,这是由于,第一数据包本身可包含多个TCP数据包,也即,来自单一传输节点的第一数据包中可包括同一个TCP链接中多个同样内容的TCP数据包。这样的包括第一标识信息的第一数据包的包结构如图2(c)中的①所示。在本实施例的方法中,聚合装置实施聚合后对第二数据包也可做相应的标记,以供后续传输过程中的其他识别需要,这样的标记在本实施例的方法中称为“第二标识信息”。图2(b)下部分中的②为一种可能的第二标识信息的逻辑结构,与第一标识信息类似的,第二标识信息的“内容标识符”与构成该第二数据包的第一数据包的内容相同,也即,与各第一数据包的内容标识符相同;“标记”位可通过例如“1”表示对应的数据包为第二数据包;“序列号”为聚合装置赋予第二数据包的编号。包括第二标识信息的第二数据包的包结构如图2(c)中的②所示,与①所示不同的,②中的TCP数据包指构成对应的第二数据包的第一数据包。
此外,为了减少因聚合操作花费的时间造成某些传输节点超时重传,步骤S220中可依照不同的规则确定聚合的时机。
在一种可能的实现方式中,可设置合适的阈值时间(本文称为预设时间),该阈值时间可为特定的等待时长,例如,从上一次聚合实施开始等待该预设时长、或从接收到第一个第一数据包开始等待该预设时间后,实施聚合;该阈值时间也可为时间点,例如,每到达预设的时间点即实施聚合。在这样的实现方式中,步骤S220进一步包括:
S222.响应于达到预设时间,将所述至少两个第一数据包结合成一个所述第二数据包。
可基于对不同内容的数据包的历史超时重传的情况的学习,设置合适的预设时间,使得基于该预设时间实施聚合,加上聚合后的第二数据包的后续传输过程所需要的时间,能够尽可能降低出现第一数据包的任一传输节点超时重传的可能。
在另一种可能的实现方式中,本实施例的方法还包括:
S218.缓存所述至少两个第一数据包。
聚合装置获取所述至少两个第一数据包后缓存该至少两个第一数据包,以等待实施聚合。在这样的实现方式中,可设置合适的阈值缓存空间或阈值缓存数量,也即,在缓存的至少两个第一数据包占据了预设大小的缓存空间,或数量达到预设数量时,实施聚合。在这样的实现方式中,步骤S220进一步包括:
S224.响应于缓存的所述至少两个第一数据包占据了预设大小的缓存空间,或数量达到预设数量,将所述至少两个第一数据包结合成一个所述第二数据包。
可基于对不同内容的数据包的历史传输情况的学习,设置合适的预设大小的缓存空间以及所述预设数量,使得基于该大小的缓存空间或所述预设数量实施的聚合,加上聚合后的第二数据包的后续传输过程,能够使得聚合节点具有足够的缓存空间。
在又另一种可能的实现方式中,不同的传输协议规定的数据包的物理结构不同,可基于第二数据包具体结构,也即预设长度,实施聚合。在这样的实现方式中,步骤S220还可包括:
S226.至少根据第一数据包的数据载荷的内容以及所述第二数据包的预设长度,确定所述至少两个第一数据包。也即,一定数量的同类内容的第一数据包的长度聚合后形成的第二数据包已经能够达到预设长度,即可实施聚合。
此外,为了实施数据包完整的传输过程,本实施例的方法还包括:
S260.记录所述至少两个第一数据包各自的传输节点(可为任一或多个传输节点,优选的,上一跳传输节点)、所述至少两个第一数据包、以及所述第二数据包之间的对应关系。
在一种可能的实现方式中,可在聚合装置本地以映射图的方式记录该对应关系。图2(d)示出了一种示例的映射图,其中,序列号对应的是第二数据包的序列号,此处的包数量与图2(b)中的包数量不同,图2(d)中的包数量表示的是构成对应序列号的第二数据包的第一数据包的数量。图2(d)中的映射图还示出了ACK序号,表示聚合装置向第二数据包对应的各传输节点回复的ACK的序号,将在下文中描述。
在上述基于内容的聚合机制的基础上,本实施例的方法还包括针对基于内容聚合形成的第二数据包的ACK回复机制,以减少网络中的ACK的数量,进一步节省传输资源。具体地,本实施例的方法还包括:
S282.接收对所述第二数据包的第一ACK,所述第一ACK包括所述第二数据包至少部分第二标识信息(例如,图2(b)和图2(c)中示出的序列号),使接收到该第一ACK的聚合装置能够基于该部分信息至少确定该第一ACK是针对哪个第二数据包的。
在本实施例的方法中,一个第二数据包对应一个第一ACK。响应 于接收到第一ACK,聚合装置可释放缓存的该第二数据包对应的各第一数据包。
此外,本实施例的方法还提供了一种从聚合装置到传输节点的ACK机制,能够进一步减少网络中ACK的数量并减少传输节点超时重传的次数,具体地,本实施例的方法还可包括:
S284.基于所述第二数据包的至少部分第二标识信息以及所述对应关系,生成与所述第二数据包对应的至少两个第一数据包的至少一个第二接收应答。
S286.发送所述至少一个第二接收应答。
如上所述的,在本实施例的方法中,如图2(e)所示的,一个第二数据包对应一个第一ACK,第一ACK为对聚合的数据包的接收应答。而一个第一ACK可对应于一个或多个第二ACK,第二ACK是对构成第二数据包的两个或多个第一数据包的接收应答,即,从聚合装置向传输节点发送的,传输节点响应于接收到第二ACK,释放对应的第一数据包的缓存,若超时未接收到第二ACK,则需要进行超时重传。
在本实施例的方法中,为了满足相同或相似内容的第一数据包的传输需求,如上所述的,例如,QoS(Quality of Service,服务质量)要求、传输环境要求,可对第二ACK采用组播的传输机制。具体地,在本实施例的方法中,所述第二数据包对应的至少两个第一数据包来自至少两个传输节点,可将该至少两个传输节点算为一个组,可通过一个第二ACK对一组内全部或至少两个传输节点的全部或部分第一数据包作出接收应答。且对于一个传输节点的任一第一数据包,如上所述的,由于第一数据包可能包含同一个TCP连接的多个TCP数据包,针对该传输节点的第二ACK中也可为针对部分TCP数据包作出的接收应答。具体地,步骤S284可进一步包括:
S2842.向所述至少两个传输节点中的至少两个发送一个第二接 收应答,且所述第二接收应答中包括所述至少两个传输节点中的所述至少两个的标识信息。
在一种可能的实现方式中,对于构成一个第二数据包的多个第一数据包对应的多个传输节点,在步骤S286中可仅回复一个第二ACK。如图2(d)中所示的,对于内容标识符为温度的第二数据包16,其由16个第一数据包构成,且对应的传输节点包括A,B,C,聚合装置可向传输节点A,B,C仅回复一个第二ACK。图2(f)是这样的第二ACK的一种示例的逻辑结构,通过标记位表明该第二ACK是针对相同或相似内容的所有传输节点的。移动距离位用于接收到该第二ACK的传输节点释放其缓存,即将其缓存对应的移动窗口向右移动的距离。
在另一种可能的实现方式中,对于构成一个第二数据包的多个第一数据包对应的传输节点,在步骤S286中可回复每个对应于少于传输节点个数的第二ACK,即,每个第二ACK对应部分传输节点,且对于一个传输节点的任一第一数据包,如上所述的,由于第一数据包可能包含同一个TCP连接的多个TCP数据包,针对该传输节点的第二ACK中也可为仅针对部分TCP数据包作出的接收应答。图2(g)是这样的第二ACK的一种示例的逻辑结构,通过标记位表明该第二ACK是针对第二数据包对应的所有传输节点中部分选择的传输节点的。传输节点接收到这样的ACK后会基于标识信息(例如,图2(g)中所示的应答信息1、应答信息2这样的字段中包含的传输节点1、传输节点2这样的标识位,其中,应答信息1、应答信息2这样的字段用于表示针对某一传输节点的具体的应答信息)确定其中是否包含对自己的数据包的接收应答,再根据其中包含的ACK序号,释放其缓存。对于任一传输节点,通过应答信息中包含的ACK序号表示在该序号之前的所有数据包的接收应答,该ACK序号可为图2(b)中所示的起始序号与包数量的和。
此外,本实施例的方法还提供了一种第一ACK的调度机制,即聚合装置处理第一ACK的优先级(Process Priority)。具体地,本实施例的方法还可包括:
S292.记录所述第一接收应答的接收时间,基于接收时间,能够确定第一ACK在聚合装置处理前的等待时间(Wait Time)。
S294.至少基于所述接收时间、所述第一接收应答对应的第二数据包的第二标识信息、和/或所述第二数据包对应的至少两个第一数据包的数据载荷的内容,确定所述第一接收应答对应的至少一第二接收应答的发送优先级。
以考虑接收时间和第二标识信息为例,可依照以下公式确定第一ACK的处理优先级:
Process Priority=Wait Time*ePacket Amount
上面的公式表明,Process Priority的值越大,优先级越高,反之,优先级越低。在构成第二数据包的所有第一数据包的总的TCP数据包的数量相同的情况下,本实施例的方法优先处理等待时间较长的第一ACK,从而防止对应的传输节点出现超时重传的情况。等待时间相同的情况下,优先处理包含的总的TCP数据包角度的第二数据包对应的第一ACK,从而尽量较少超时重传数据包的个数。
在这样的实现方式中,步骤S284中至少基于所述发送优先级发送所述第二接收应答。
综上,本实施例的方法提供了一种新的包聚合机制,能够基于数据包的数据载荷的内容实施聚合,以为相同或相似内容的数据包提供针对性的传输配置提供基础。此外,本实施例的方法还基于这样的包聚合机制提供了对应的接收应答机制,能够减少网络中ACK的数量,并有效的减少超时重传的可能性和超时重传的数据包的数量。
图3所示为本申请第二种实施例的数据传输方法的一种示例的流程图。该方法主要指本申请各实施例的第一数据包的传输,可由任一 传输节点或独立的装置执行。如图3所示,该方法包括:
S320.生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容。
S340.发送所述至少一第一数据包。
在一种可能的实现方式中,本实施例的方法还包括:
S360.响应于对所述至少一第一数据包的第二接收应答,释放所述至少一第一数据包对应的缓存。
本实施例中所涉及的第一数据包、第一标识信息、第二接收应答、以及响应于第二接收应答的缓存释放机制,均可参照如结合图2(a)至图2(g)所描述的。
图4所示为本申请第三种实施例的数据传输方法的一种示例的流程图。该方法主要指本申请各实施例的第一接收应答的传输,可由接收到依照本申请的聚合机制聚合形成的第二数据包的任一装置(例如,像数据中心、监控这样的远端服务器,等等)实施。如图4所示,该方法包括:
S420.接收至少一第二数据包;
S440.发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由所述至少两个第一数据包结合构成。
本实施例的方法中所涉及的第二数据包以及第一接收应答均可参照如结合图2(a)至图2(g)所描述的。
本领域技术人员可以理解,在本申请具体实施方式的上述方法中,各步骤的序号大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请具体实施方式的实施过程构成任何限定。
此外,本申请实施例还提供了一种计算机可读介质,包括在被执行时进行以下操作的计算机可读指令:执行上述图2(a)中所示实施方式中的方法的各步骤的操作。
此外,本申请实施例还提供了一种计算机可读介质,包括在被执行时进行以下操作的计算机可读指令:执行上述图3中所示实施方式中的方法的各步骤的操作。
此外,本申请实施例还提供了一种计算机可读介质,包括在被执行时进行以下操作的计算机可读指令:执行上述图4中所示实施方式中的方法的各步骤的操作。
图5(a)是本申请第一种实施例的数据传输装置的一种示例的结构框图。该装置也称为聚合装置,可为或属于网络中的任一节点,这样的节点包括:第一数据包的始发节点、第一数据包的传输路径上的任一传输节点(始发节点为传输节点的一种特例)、接入点设备(AP)、独立于上述各节点的第三方设备,等等。
如图5(a)所示,本实施例的数据传输装置500包括:
聚合模块520,用于至少根据第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包。
第一发送模块540,用于发送所述第二数据包。
如上所述的,本实施例的装置基于数据包的数据载荷的内容划分第一数据包,通常,具有相同或相似内容的数据包很大的几率意味着相同的目的地、相同的QoS(Quality of Service,服务质量)要求、和/或对传输环境具有相同的要求,对这样的数据包实施聚合,在节省网络开销、提高吞吐量的同时,更有利于针对不同内容的数据包进行合理的传输配置,例如,针对不同内容的数据包的不同的QoS需求分配不同的传输带宽,等等。
需要说明的是,对于本实施例的装置来说,第一数据包来自上一跳传输节点,且为了本实施例的装置实施其功能,上一跳传输节点可对第一数据包的数据载荷的内容做标记,本实施例的装置基于该标记实施其功能,对于不存在这样的标记的数据包,本实施例的装置不作处理或按照其他现有的处理方式进行处理,在此不做赘述。在这样的实现方式中,如图5(b)所示,本实施例的装置500还可包括:
获取模块512,用于获取所述至少两个第一数据包。获取模块512可通过接收上一跳传输节点发送的所述至少两个第一数据包实现所述获取。
解析模块514,用于解析所述至少两个第一数据包,获取所述至少两个第一数据包对应的至少两个第一标识信息。
第一确定模块516,用于至少基于所述至少两个第一标识信息,确定所述至少两个第一数据包的数据载荷的内容。
其中,第一标识信息至少用于标识所述第一数据包的数据载荷的内容。在一种可能的实现方式中,第一标识信息可包含在IP数据包的可选字段,在图2(b)中,所示的中间部分为典型的IP数据包的结构;上部分为加入了本实施例的装置中的第一标识信息的IP数据包的包头部分,阴影所示即为IP数据包的可选字段;下部分中的①为一种可能的第一标识信息的逻辑结构。如图2(b)中所示的,第一标识信息包括用于标识第一数据包的数据载荷的内容的“内容标识符” 位。在本实施例的装置中,“内容标识符”可为数据载荷所携带的信息本身、所携带的信息的索引、所携带的信息的摘要、或可用于描述数据载荷的内容的任何其他表达方式。在一种可能的实现方式中,可预先规定好可能的内容对应的索引号,例如,电表读数对应“1”,温度信息对应“2”,监控场景的视频信息对应“3”,等等。除了内容标识符外,本实施例的装置中的第一标识信息还可包括图2(b)中所示的:“标记”、“起始序号”、“包数量”等位。其中,标记位可通过例如“0”表示对应的数据包为第一数据包;“起始序号”用于记录对应的第一数据包中所包含的数据包(例如,(Transmission Control Protocol,TCP)传输控制协议数据包的起始序号;“包数量”记录的是对应的第一数据包中所包含的TCP数据包的数量,这是由于,第一数据包本身可包含多个TCP数据包,也即,来自单一传输节点的第一数据包中可包括同一个TCP链接中多个同样内容的TCP数据包。这样的包括第一标识信息的第一数据包的包结构如图2(c)中的①所示。在本实施例的装置中,实施聚合后对第二数据包也可做相应的标记,以供后续传输过程中的其他识别需要,这样的标记在本实施例的方法中称为“第二标识信息”。图2(b)下部分中的②为一种可能的第二标识信息的逻辑结构,与第一标识信息类似的,第二标识信息的“内容标识符”与构成该第二数据包的第一数据包的内容相同,也即,与各第一数据包的内容标识符相同;“标记”位可通过例如“1”表示对应的数据包为第二数据包;“序列号”为聚合装置赋予第二数据包的编号。包括第二标识信息的第二数据包的包结构如图2(c)中的②所示,与①所示不同的,②中的TCP数据包指构成对应的第二数据包的第一数据包。
此外,为了减少因聚合操作花费的时间造成某些传输节点超时重传,聚合模块520可依照不同的规则确定聚合的时机。
在一种可能的实现方式中,可设置合适的阈值时间(本文称为预 设时间),该阈值时间可为特定的等待时长,例如,从上一次聚合实施开始等待该预设时长、或从接收到第一个第一数据包开始等待该预设时间后,实施聚合;该阈值时间也可为时间点,例如,每到达预设的时间点即实施聚合。在这样的实现方式中,聚合模块520可用于响应于达到预设时间,将所述至少两个第一数据包结合成一个所述第二数据包。
可基于对不同内容的数据包的历史超时重传的情况的学习,设置合适的预设时间,使得基于该预设时间实施聚合,加上聚合后的第二数据包的后续传输过程所需要的时间,能够尽可能降低出现第一数据包的任一传输节点超时重传的可能。
在另一种可能的实现方式中,如图5(c)所示,本实施例的装置500还包括:
第一缓存模块518,用于缓存所述至少两个第一数据包。
本实施例的装置获取所述至少两个第一数据包后缓存该至少两个第一数据包,以等待实施聚合。在这样的实现方式中,可设置合适的阈值缓存空间或阈值缓存数量,也即,在缓存的至少两个第一数据包占据了预设大小的缓存空间,或数量达到预设数量时,实施聚合。在这样的实现方式中,聚合模块520可用于响应于缓存的所述至少两个第一数据包占据了预设大小的缓存空间,或数量达到预设数量,将所述至少两个第一数据包结合成一个所述第二数据包。
可基于对不同内容的数据包的历史传输情况的学习,设置合适的预设大小的缓存空间以及所述预设数量,使得基于该大小的缓存空间或所述预设数量实施的聚合,加上聚合后的第二数据包的后续传输过程,能够使得聚合节点具有足够的缓存空间。
在又另一种可能的实现方式中,不同的传输协议规定的数据包的物理结构不同,可基于第二数据包具体结构,也即预设长度,实施聚合。在这样的实现方式中,聚合模块520可用于至少根据第一数据包 的数据载荷的内容以及所述第二数据包的预设长度,确定所述至少两个第一数据包。也即,一定数量的同类内容的第一数据包已经能够达到第二数据包的预设长度,即可实施聚合。
此外,为了实施数据包完整的传输过程,如图5(d)所示,本实施例的装置500还可包括:
记录模块560,用于记录所述至少两个第一数据包各自的传输节点(可为任一或多个传输节点,优选的,上一跳传输节点)、所述至少两个第一数据包、以及所述第二数据包之间的对应关系。
在一种可能的实现方式中,可在本实施例的装置500本地以映射图的方式记录该对应关系。图2(d)示出了一种示例的映射图,其中,序列号对应的是第二数据包的序列号,此处的包数量与图2(b)中的包数量不同,图2(d)中的包数量表示的是构成对应序列号的第二数据包的第一数据包的数量。图2(d)中的映射图还示出了ACK的序号,表示远端服务器向聚合装置向第二数据包对应的各传输节点回复的接收应答的序号,将在下文中描述。
在上述基于内容的聚合机制的基础上,本实施例的装置还包括针对基于内容聚合形成的第二数据包的ACK回复机制,以减少网络中的ACK的数量,进一步节省传输资源。具体地,如图5(e)所示,本实施例的装置还包括:
第一接收模块582,用于接收对所述第二数据包的第一ACK,所述第一ACK包括所述第二数据包至少部分第二标识信息(例如,图2(b)和图2(c)中示出的序列号),使本实施例的装置500能够基于该部分信息至少确定该第一ACK是针对哪个第二数据包的。
在本实施例的装置中,一个第二数据包对应一个第一ACK。响应于接收到第一ACK,本实施例的装置500可释放缓存的该第二数据包对应的各第一数据包。
此外,本实施例的装置还提供了一种从聚合装置到传输节点的 ACK机制,能够进一步减少网络中ACK的数量并减少传输节点超时重传的次数,具体地,如图5(f)所示本实施例的装置500还可包括:
第一应答模块584,用于至少部分基于所述第二数据包的第二标识信息以及所述对应关系,生成与所述第二数据包对应的至少两个第一数据包的至少一个第二接收应答。
所述第一发送模块540还用于发送所述至少一个第二接收应答。
如上所述的,在本实施例的装置中,如图2(e)所示的,一个第二数据包对应一个第一ACK,第一ACK为对聚合的数据包的接收应答。而一个第一ACK可对应于两个或多个第二ACK,第二ACK是对构成第二数据包的一个或多个第一数据包的接收应答,即,从聚合装置向传输节点发送的,传输节点响应于接收到第二ACK,释放对应的第一数据包的缓存,若超时未接收到第二ACK,则需要进行超时重传。
在本实施例的装置中,为了满足相同或相似内容的第一数据包的传输需求,如上所述的,例如,QoS(Quality of Service,服务质量)要求、传输环境要求,可对第二ACK采用组播的传输机制。具体地,在本实施例的方法中,所述第二数据包对应的至少两个第一数据包来自至少两个传输节点,可将该至少两个传输节点算为一个组,可通过一个第二ACK对一组内全部或至少两个传输节点的全部或部分第一数据包作出接收应答。且对于一个传输节点的任一第一数据包,如上所述的,由于第一数据包可能包含同一个TCP连接的多个TCP数据包,针对该传输节点的第二ACK中也可为针对部分TCP数据包作出的接收应答。具体地,所述第一发送模块540可向所述至少两个传输节点中的至少两个发送一个第二接收应答,且所述第二接收应答中包括所述至少两个传输节点中的所述至少两个的标识信息。
在一种可能的实现方式中,对于构成一个第二数据包的多个第一数据包对应的多个传输节点,所述第一发送模块540可仅回复一个第 二ACK。如图2(d)中所示的,对于内容标识符为温度的第二数据包16,其由16个第一数据包构成,且对应的传输节点包括A,B,C,聚合装置可向传输节点A,B,C仅回复一个第二ACK。图2(f)是这样的第二ACK的一种示例的逻辑结构,通过标记位表明该第二ACK是针对相同或相似内容的所有传输节点的。移动距离位用于接收到该第二ACK的传输节点释放其缓存,即将其缓存对应的移动窗口向右移动的距离。
在另一种可能的实现方式中,对于构成一个第二数据包的多个第一数据包对应的传输节点,所述第一发送模块540可回复每个对应于少于传输节点个数的第二ACK,即,每个第二ACK对应部分传输节点,且对于一个传输节点的任一第一数据包,如上所述的,由于第一数据包可能包含同一个TCP连接的多个TCP数据包,针对该传输节点的第二ACK中也可为仅针对部分TCP数据包作出的接收应答。如图2(d)中所示的,对于内容标识符为温度的第二数据包16,其由16个第一数据包构成,且对应的传输节点包括A,B,C,聚合装置可向传输节点A,B,C回复两个第二ACK。图2(g)是这样的第二ACK的一种示例的逻辑结构,通过标记位表明该第二ACK是针对第二数据包对应的所有传输节点中部分选择的传输节点的。传输节点接收到这样的ACK后会基于标识信息(例如,图2(g)中所示的应答信息1、应答信息2这样的字段中包含的传输节点1、传输节点2这样的标识位,其中,应答信息1、应答信息2这样的字段用于表示针对某一传输节点的具体的应答信息)确定其中是否包含对自己的数据包的接收应答,再根据其中包含的ACK序号,释放其缓存。对于任一传输节点,通过应答信息中包含的ACK序号未表示在该序号之前的所有数据包的接收应答,该ACK序号可为图2(b)中所示的起始序号与包数量的和。
此外,本实施例的装置还提供了一种第一ACK的调度机制,即 聚合装置处理第一ACK对应的第二ACK的优先级(Process Priority)。具体地,记录模块560还可用于记录所述第一接收应答的接收时间,基于接收时间,能够确定第一ACK在聚合装置处理前的等待时间(Wait Time)。
且如图5(g)所示,本实施例的装置500还可包括:
第二确定模块590,用于至少基于所述接收时间、所述第一接收应答对应的第二数据包的第二标识信息、和/或所述第二数据包对应的至少两个第一数据包的数据载荷的内容,确定所述第一接收应答对应的至少一第二接收应答的发送优先级。
以考虑接收时间和第二标识信息为例,可依照以下公式确定第一ACK的处理优先级:
Process Priority=Wait Time*ePacket Amount
上面的公式表明,Process Priority的值越大,优先级越高,反之,优先级越低。在构成第二数据包的所有第一数据包的总的TCP数据包的数量相同的情况下,本实施例的方法优先处理等待时间较长的第一ACK,从而防止对应的传输节点出现超时重传的情况。等待时间相同的情况下,优先处理包含的总的TCP数据包较多的第二数据包对应的第一ACK,从而尽量较少超时重传数据包的个数。
在这样的实现方式中,第一发送模块540至少基于所述发送优先级发送所述第二接收应答。
综上,本实施例的装置提供了一种新的包聚合机制,能够基于数据包的数据载荷的内容实施聚合,以为相同或相似内容的数据包提供针对性的传输配置提供基础。此外,本实施例的装置还基于这样的包聚合机制提供了对应的接收应答机制,能够减少网络中ACK的数量,并有效的减少超时重传的可能性和超时重传的数据包的数量。
图6(a)所示为本申请第二种实施例的数据传输装置的一种示例的流程图。该装置主要用于传输本申请各实施例的第一数据包,可为 或属于任一传输节点或独立的装置。如图6(a)所示,该装置600包括:
生成模块620,用于生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容。
第二发送模块640,用于发送所述至少一第一数据包。
在一种可能的实现方式中,如图6(b)所示,本实施例的装置600还包括:
第二缓存模块660,用于响应于对所述至少一第一数据包的第二接收应答,释放所述至少一第一数据包对应的缓存。
本实施例中所涉及的第一数据包、第一标识信息、第二接收应答、以及响应于第二接收应答的缓存释放机制,均可参照如结合图5(a)至图5(g)所描述的。
图7所示为本申请第三种实施例的数据传输装置的一种示例的流程图。该装置主要用于传输本申请各实施例的第一接收应答,这样的装置可例如,像数据中心、监控这样的远端服务器,等等。如图7所示,该装置700包括:
第二接收模块720,用于接收至少一第二数据包;
第二应答模块740,用于发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由所述至少两个第一数据包结合构成。
本实施例的装置中所涉及的第二数据包以及第一接收应答均可参照如结合图5(a)至图5(g)所描述的。
图8为本申请第一种实施例提供的数据传输装置的又一种示例的结构示意图,本申请具体实施例并不对数据传输装置的具体实现做 限定。如图8所示,该数据传输装置800可以包括:
处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830、以及通信总线840。其中:
处理器810、通信接口820、以及存储器830通过通信总线840完成相互间的通信。
通信接口820,用于与比如客户端等的网元通信。
处理器810,用于执行程序832,具体可以执行上述方法实施例中的相关步骤。
具体地,程序832可以包括程序代码,所述程序代码包括计算机操作指令。
处理器810可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器830,用于存放程序832。存储器830可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序832具体可以用于使得所述数据接收装置800执行以下步骤:
至少根据第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包;
发送所述第二数据包。
程序832中各步骤的具体实现可以参见上述实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
图9为本申请第二种实施例提供的数据传输装置的又一种示例的结构示意图,本申请具体实施例并不对数据传输装置的具体实现做限定。如图9所示,该数据传输装置900可以包括:
处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930、以及通信总线940。其中:
处理器910、通信接口920、以及存储器930通过通信总线940完成相互间的通信。
通信接口920,用于与比如客户端等的网元通信。
处理器910,用于执行程序932,具体可以执行上述方法实施例中的相关步骤。
具体地,程序932可以包括程序代码,所述程序代码包括计算机操作指令。
处理器910可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器930,用于存放程序932。存储器930可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序932具体可以用于使得所述数据接收装置900执行以下步骤:
生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容;
发送所述至少一第一数据包。
程序932中各步骤的具体实现可以参见上述实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
图10为本申请第三种实施例提供的数据传输装置的又一种示例的结构示意图,本申请具体实施例并不对数据传输装置的具体实现做限定。如图10所示,该数据传输装置1000可以包括:
处理器(processor)1010、通信接口(Communications Interface)1020、 存储器(memory)1030、以及通信总线1040。其中:
处理器1010、通信接口1020、以及存储器1030通过通信总线1040完成相互间的通信。
通信接口1020,用于与比如客户端等的网元通信。
处理器1010,用于执行程序1032,具体可以执行上述方法实施例中的相关步骤。
具体地,程序1032可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1010可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器1030,用于存放程序1032。存储器1030可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1032具体可以用于使得所述数据接收装置1000执行以下步骤:
接收至少一第二数据包;
发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由所述至少两个第一数据包结合构成。
程序1032中各步骤的具体实现可以参见上述实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
尽管此处所述的主题是在结合操作系统和应用程序在计算机系统上的执行而执行的一般上下文中提供的,但本领域技术人员可以认识到,还可结合其他类型的程序模块来执行其他实现。一般而言,程 序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。本领域技术人员可以理解,此处所述的本主题可以使用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等,也可使用在其中任务由通过通信网络连接的远程处理设备执行的分布式计算环境中。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备的两者中。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对原有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的计算机可读取存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方式或技术来实现的物理易失性和非易失性、可移动和不可因东介质。计算机可读取存储介质具体包括,但不限于,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光(Blue-Ray)或其 他光存储设备、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机访问的任何其他介质。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种数据传输方法,其特征在于,所述方法包括:
至少根据第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包;
发送所述第二数据包。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述至少两个第一数据包;
解析所述至少两个第一数据包,获取所述至少两个第一数据包对应的至少两个第一标识信息;
至少基于所述至少两个第一标识信息,确定所述至少两个第一数据包的数据载荷的内容。
3.一种数据传输方法,其特征在于,所述方法包括:
生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容;
发送所述至少一第一数据包。
4.一种数据传输方法,其特征在于,所述方法包括:
接收至少一第二数据包;
发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由至少两个第一数据包结合构成。
5.一种数据传输装置,其特征在于,所述装置包括:
一聚合模块,用于至少根据第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包;
一第一发送模块,用于发送所述第二数据包。
6.一种数据传输装置,其特征在于,所述装置包括:
一生成模块,用于生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容;
一第二发送模块,用于发送所述至少一第一数据包。
7.一种数据传输装置,其特征在于,所述装置包括:
一第二接收模块,用于接收至少一第二数据包;
一第二应答模块,用于发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由所述至少两个第一数据包结合构成。
8.一种数据传输装置,其特征在于,所述装置包括:
收发器,用于接收第一数据包,以及发送第二数据包;
存储器,用于存放指令;
处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下步骤:
至少根据所述收发器接收的所述第一数据包的数据载荷的内容,将至少两个第一数据包结合成一个第二数据包;
通过所述收发器发送所述第二数据包。
9.一种数据传输装置,其特征在于,所述装置包括:
收发器,用于发送至少一第一数据包;
存储器,用于存放指令;
处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下步骤:
生成至少一第一数据包,所述第一数据包包括第一标识信息,所述第一标识信息至少用于标识所述第一数据包的数据载荷的内容;
通过所述收发器发送所述至少一第一数据包。
10.一种数据传输装置,其特征在于,所述装置包括:
收发器,用于接收至少一第二数据包以及发送至少一接收应答;
存储器,用于存放指令;
处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下步骤:
通过所述收发器接收至少一第二数据包;以及
通过所述收发器发送对所述至少一第二数据包的至少一第一接收应答,所述第一接收应答中包括对应的第二数据包的至少部分第二标识信息,所述第二标识信息至少用于标识所述第二数据包是至少根据第一数据包的数据载荷的内容,由所述至少两个第一数据包结合构成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510758189.5A CN106375233B (zh) | 2015-11-09 | 2015-11-09 | 数据传输方法及数据传输装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510758189.5A CN106375233B (zh) | 2015-11-09 | 2015-11-09 | 数据传输方法及数据传输装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106375233A true CN106375233A (zh) | 2017-02-01 |
CN106375233B CN106375233B (zh) | 2019-11-15 |
Family
ID=57880463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510758189.5A Active CN106375233B (zh) | 2015-11-09 | 2015-11-09 | 数据传输方法及数据传输装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106375233B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040786A (zh) * | 2018-09-03 | 2018-12-18 | 锐捷网络股份有限公司 | 摄像头数据的传输方法、装置、系统及存储介质 |
CN110011758A (zh) * | 2019-01-30 | 2019-07-12 | 国家广播电视总局广播电视科学研究院 | 一种多链路下tcp的ack传输优化方法、相关装置及系统 |
CN110366203A (zh) * | 2018-04-09 | 2019-10-22 | 启碁科技股份有限公司 | 提升智能电表至服务器间效能的方法及装置 |
CN110472805A (zh) * | 2018-05-11 | 2019-11-19 | 云丁智能科技(北京)有限公司 | 一种电表数据处理方法及一种电表 |
CN111083208A (zh) * | 2019-12-03 | 2020-04-28 | 华为技术有限公司 | 网络结构、网络中网元之间的报文发送方法及接收方法 |
CN111698336A (zh) * | 2020-06-30 | 2020-09-22 | 深圳市华盛昌科技实业股份有限公司 | 一种物联网信息传输方法、装置及终端 |
CN112585916A (zh) * | 2018-08-08 | 2021-03-30 | 三星电子株式会社 | 用于处理数据包的设备和方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915321A (zh) * | 2011-06-30 | 2013-02-06 | 波音公司 | 用于处理数据的系统和方法 |
CN103118097A (zh) * | 2013-01-25 | 2013-05-22 | 电子科技大学 | 无线传感器网络中的数据传输方法 |
CN104184643A (zh) * | 2013-05-24 | 2014-12-03 | 华为技术有限公司 | 一种数据传输系统及方法 |
-
2015
- 2015-11-09 CN CN201510758189.5A patent/CN106375233B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915321A (zh) * | 2011-06-30 | 2013-02-06 | 波音公司 | 用于处理数据的系统和方法 |
CN103118097A (zh) * | 2013-01-25 | 2013-05-22 | 电子科技大学 | 无线传感器网络中的数据传输方法 |
CN104184643A (zh) * | 2013-05-24 | 2014-12-03 | 华为技术有限公司 | 一种数据传输系统及方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110366203A (zh) * | 2018-04-09 | 2019-10-22 | 启碁科技股份有限公司 | 提升智能电表至服务器间效能的方法及装置 |
CN110472805A (zh) * | 2018-05-11 | 2019-11-19 | 云丁智能科技(北京)有限公司 | 一种电表数据处理方法及一种电表 |
CN110472805B (zh) * | 2018-05-11 | 2022-04-15 | 云丁智能科技(北京)有限公司 | 一种电表数据处理方法及一种电表 |
CN112585916A (zh) * | 2018-08-08 | 2021-03-30 | 三星电子株式会社 | 用于处理数据包的设备和方法 |
US11924114B2 (en) | 2018-08-08 | 2024-03-05 | Samsung Electronics Co., Ltd. | Device and method for processing data packet |
CN109040786A (zh) * | 2018-09-03 | 2018-12-18 | 锐捷网络股份有限公司 | 摄像头数据的传输方法、装置、系统及存储介质 |
CN109040786B (zh) * | 2018-09-03 | 2022-01-11 | 锐捷网络股份有限公司 | 摄像头数据的传输方法、装置、系统及存储介质 |
CN110011758A (zh) * | 2019-01-30 | 2019-07-12 | 国家广播电视总局广播电视科学研究院 | 一种多链路下tcp的ack传输优化方法、相关装置及系统 |
CN110011758B (zh) * | 2019-01-30 | 2021-12-31 | 国家广播电视总局广播电视科学研究院 | 一种多链路下tcp的ack传输优化方法、相关装置及系统 |
CN111083208A (zh) * | 2019-12-03 | 2020-04-28 | 华为技术有限公司 | 网络结构、网络中网元之间的报文发送方法及接收方法 |
WO2021109821A1 (zh) * | 2019-12-03 | 2021-06-10 | 华为技术有限公司 | 网络结构、网络中网元之间的报文发送方法及接收方法 |
CN111698336A (zh) * | 2020-06-30 | 2020-09-22 | 深圳市华盛昌科技实业股份有限公司 | 一种物联网信息传输方法、装置及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN106375233B (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375233A (zh) | 数据传输方法及数据传输装置 | |
US10333779B2 (en) | System and method for providing a software defined protocol stack | |
CN109314662A (zh) | 数据传输方法及装置 | |
CN104704909B (zh) | 用于WiFi卸载的系统和方法 | |
CN100589441C (zh) | 一种应用于端到端链路传输中ip报头压缩的方法 | |
CN100596232C (zh) | 一种服务质量承载建立和映射的实现方法和装置 | |
WO2021227559A1 (zh) | 通信方法、装置及系统 | |
US20120140686A1 (en) | Method and apparatus for sending, receiving, and transmission of data packets (as amended) | |
CN110121867A (zh) | 一种传输数据包的方法、发送设备及接收设备 | |
Long et al. | QoS-aware cross-layer mechanism for multiple instances RPL | |
US20220256390A1 (en) | Quality of service information notification method, device, and system | |
CN104486809A (zh) | 一种无线局域网路由方法 | |
CN111107581B (zh) | Pdcp复制功能的确定、指示方法及装置、基站、终端 | |
WO2020169039A1 (zh) | 一种策略管理的方法及装置 | |
WO2018027674A1 (zh) | 传输状态报告装置、方法以及通信系统 | |
CN108353022A (zh) | 一种数据报文的处理方法、装置及系统 | |
CN105207858B (zh) | 接入装置及其执行的将用户设备接入网络的方法 | |
CN103220228A (zh) | 一种bgp路由的发送方法和设备 | |
CN107786464B (zh) | 一种实现节点间通信的方法及装置 | |
CN107465533A (zh) | 业务功能链中的资源释放方法及装置 | |
WO2023165203A1 (zh) | 感知数据获取方法、上报方法、装置、设备、存储介质及程序产品 | |
US20190342227A1 (en) | Load Sharing Method and Network Device | |
WO2015154393A1 (zh) | 业务节点能力处理方法、装置、业务分类器及业务控制器 | |
KR102179212B1 (ko) | 제어 정보에 대한 송신 방법 및 장치 | |
CN104770000B (zh) | 拥塞上行控制方法和设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |