CN108092745A - 点对点设备的数据传输方法、装置、设备及存储介质 - Google Patents
点对点设备的数据传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN108092745A CN108092745A CN201711404903.6A CN201711404903A CN108092745A CN 108092745 A CN108092745 A CN 108092745A CN 201711404903 A CN201711404903 A CN 201711404903A CN 108092745 A CN108092745 A CN 108092745A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- packet
- mark
- bag
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000000903 blocking effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000009432 framing Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 2
- 208000032370 Secondary transmission Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 201000002266 mite infestation Diseases 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
-
- 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
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- 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
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本发明实施例公开了一种点对点设备的数据传输方法、装置、设备及存储介质,其中该方法包括:确定待发送的第一数据包的优先级高于当前正在发送的第二数据包的优先级;确定第二数据包满足预设截断条件;截断第二数据包,得到第一截断数据包和第二截断数据包;按照预设帧结构分别在第一数据包和第二截断数据包中添加头部标签;发送第一截断数据包后,依次发送添加头部标签后的第一数据包和第二截断数据包。本发明实施例中,当有优先级高的数据包需要传送时,可以截断当前正在发送的长数据包,优先传输重要数据,以断包续传的方式保证重要数据的低延时传输;并且接收端可以将数据包的接收状态反馈给发送端,支持丢包重传,保证数据传输的可靠性。
Description
技术领域
本发明实施例涉及数据传输技术,尤其涉及一种点对点设备的数据传输方法、装置、设备及存储介质。
背景技术
现有以太网技术按帧进行数据传输,由于以太网报文的传输延时抖动,点对点设备(如交换机、路由器等)之间的数据传输,在千兆以太网下的最大延时为12μs,在百兆以太网下的最大延时为120μs,无法满足特殊场景对低延时的需求。上述延时导致报文承载的指令到达目的设备的时间存在较大的不确定性,降低目的设备执行的精度。
发明内容
本发明实施例提供一种点对点设备的数据传输方法、装置、设备及存储介质,以实现重要数据的低延时传输。
第一方面,本发明实施例提供了一种点对点设备的数据传输方法,包括:
确定待发送的第一数据包的优先级高于当前正在发送的第二数据包的优先级;
确定所述第二数据包满足预设截断条件;
截断所述第二数据包,得到第一截断数据包和第二截断数据包;
按照预设帧结构分别在所述第一数据包和所述第二截断数据包中添加头部标签;
发送所述第一截断数据包后,依次发送添加头部标签后的第一数据包和第二截断数据包。
进一步的,确定所述第二数据包满足预设截断条件,包括:
比较所述第二数据包中已发送数据的长度与预设长度,以及比较所述第二数据包中未发送数据的长度与所述预设长度;
如果所述已发送数据的长度和所述未发送数据的长度均超过所述预设长度,则确定所述第二数据包满足所述预设截断条件;
如果所述已发送数据的长度未超过所述预设长度且所述未发送数据的长度超过所述预设长度,则等待所述已发送数据的长度达到所述预设长度之后,判断所述未发送数据的长度是否超过所述预设长度;
如果所述未发送数据的长度未超过所述预设长度,则确定所述第二数据包不满足所述预设截断条件。
进一步的,所述头部标签包括:帧类型、截断标识、续传标识、重传标识、支持丢包重传标识、当前数据包序号、反馈序号及丢包标识;
其中,所述截断标识用于表示上一数据包是否被截断,所述续传标识用于表示当前数据包是否是续传报文,所述重传标识用于表示当前数据包是否是重传报文,所述反馈序号用于反馈接收到的来自对端设备的数据包序号,所述丢包标识用于表示来自所述对端设备的数据包是否有丢包。
进一步的,发送添加标签后的第一数据包,包括:
如果有数据包的优先级高于所述第一数据包的优先级,则在所述第一数据包满足所述预设截断条件的前提下,截断所述第一数据包。
进一步的,在发送数据包之后,还包括:
接收对端设备发送的第三数据包;
解析所述第三数据包的头部标签,根据所述头部标签中的反馈序号及丢包标识,确定发送给所述对端设备的数据包的接收状态;
若数据包丢失,则对丢失的数据包的头部标签中的重传标识进行设置,并重新发送所述丢失的数据包。
进一步的,在接收对端设备发送的第三数据包之后,还包括:
向所述对端设备反馈所述第三数据包的接收状态。
进一步的,在接收对端设备发送的第三数据包之后,还包括:
如果所述第三数据包的帧类型是数据帧,根据所述第三数据包的下一个数据包的头部标签中的截断标识确定所述第三数据包是否被截断;
如果所述第三数据包被截断,接收到所述第三数据包的续传数据包之后,合并所述第三数据包与所述续传数据包。
进一步的,在接收对端设备发送的第三数据包之后,还包括:
如果根据接收的数据包序号确定有数据包丢失,等待所述对端设备重传丢失的数据包,直到满足预设的放弃等待重传的条件中任一条件则停止等待重传;
其中,所述放弃等待重传的条件包括:
接收到重传的数据包;
等待时间超过预设时间;以及
等待重传的数据包个数超过预设个数。
第二方面,本发明实施例还提供了一种点对点设备的数据传输装置,包括:
优先级确定模块,用于确定待发送的第一数据包比当前正在发送的第二数据包优先级高;
截断确定模块,用于确定所述第二数据包满足预设截断条件;
数据截断模块,用于截断所述第二数据包,得到第一截断数据包和第二截断数据包;
标签添加模块,用于按照预设帧结构分别在所述第一数据包和所述第二截断数据包中添加头部标签;
数据发送模块,用于发送所述第一截断数据包后,依次发送添加头部标签后的第一数据包和第二截断数据包。
进一步的,所述头部标签包括:帧类型、截断标识、续传标识、重传标识、支持丢包重传标识、当前数据包序号、反馈序号及丢包标识;
其中,所述截断标识用于表示上一数据包是否被截断,所述续传标识用于表示当前数据包是否是续传报文,所述重传标识用于表示当前数据包是否是重传报文,所述反馈序号用于反馈接收到的来自对端设备的数据包序号,所述丢包标识用于表示来自所述对端设备的数据包是否有丢包。
进一步的,所述装置还包括:
数据接收模块,用于在发送数据包之后,接收对端设备发送的第三数据包;
标签解析模块,用于解析所述第三数据包的头部标签,根据所述头部标签中的反馈序号及丢包标识,确定发送给所述对端设备的数据包的接收状态;
数据重传模块,用于在数据包丢失的情况下,对丢失的数据包的头部标签中的重传标识进行设置,并重新发送所述丢失的数据包。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的点对点设备的数据传输方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的点对点设备的数据传输方法。
本发明实施例的技术方案,当有优先级高的数据包需要传送时,可以截断当前正在发送的长数据包,优先传输重要数据,以断包续传的方式保证重要数据的低延时传输;另外,本发明实施例中接收端将数据包的接收状态反馈给发送端,支持丢包重传,保证数据传输的可靠性。
附图说明
图1是本发明实施例一提供的点对点设备的数据传输方法的流程图;
图2是本发明实施例一提供的数据帧结构的示意图;
图3是本发明实施例三提供的点对点设备之间数据传输的示意图;
图4是本发明实施例三提供的点对点设备的结构示意图;
图5是本发明实施例四提供的点对点设备的数据传输装置的结构示意图;
图6是本发明实施例四提供的点对点设备的数据传输装置的另一结构示意图;
图7是本发明实施例五提供的设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的点对点设备的数据传输方法的流程图,本实施例可适用于点对点设备间的低延时数据传输的情况,该方法可以由数据传输装置来执行,该装置可以通过软件和/或硬件实现,该装置可集成在点对点设备中。如图1所示,该方法具体包括如下步骤:
步骤110,确定待发送的第一数据包的优先级高于当前正在发送的第二数据包的优先级。
其中,数据包的优先级可以根据发送请求确定,本发明实施例对此不进行详细描述和限定。
步骤120,确定所述第二数据包满足预设截断条件。
其中,预设截断条件用于确定当前正在发送的第二数据包是否为长数据包,本发明实施例支持对长数据包的截断,以及时传输优先级高的数据包,保证重要数据的低延时传输。如果第二数据包不满足预设截断条件,表示第二数据包不是长数据包,等待第二数据包发送完毕,再发送高优先级的第一数据包。
步骤130,截断所述第二数据包,得到第一截断数据包和第二截断数据包。
步骤140,按照预设帧结构分别在所述第一数据包和所述第二截断数据包中添加头部标签。
其中,头部标签包括数据包序号和用于表示数据包截断状态的字段,使得对端设备能够获知接收的数据包是否完整,以进行数据包的合并或者其他处理。需要说明的是,本发明实施例中,发送设备在向对端设备发送数据包之前,会在其发送的每一个数据包中均添加头部标签。
步骤150,发送所述第一截断数据包后,依次发送添加头部标签后的第一数据包和第二截断数据包。
其中,第二数据包作为长数据包,被截断为两部分,第一截断数据包是正在发送的那部分数据,当第一截断数据包发送完毕后,先发送高优先级的第一数据包,然后再继续发送第二截断数据包,由此可以保证重要数据的低延时传输。
本实施例的技术方案,当有优先级高的数据包需要传送时,可以截断当前正在发送的长数据包,优先传输重要数据,以断包续传的方式保证重要数据的低延时传输。
在上述技术方案的基础上,预设截断条件包括:数据包中已发送数据的长度是否超过预设长度,以及数据包中未发送数据的长度是否超过预设长度。其中,预设长度可以根据实际需求进行设置,例如,设置为以太网的最小帧长度64字节。
具体的,步骤120包括:
比较所述第二数据包中已发送数据的长度与预设长度,以及比较所述第二数据包中未发送数据的长度与所述预设长度;
如果所述已发送数据的长度和所述未发送数据的长度均超过所述预设长度,则确定所述第二数据包满足所述预设截断条件;
如果所述已发送数据的长度未超过所述预设长度且所述未发送数据的长度超过所述预设长度,则等待所述已发送数据的长度达到所述预设长度之后,判断所述未发送数据的长度是否超过所述预设长度;
如果所述未发送数据的长度未超过所述预设长度,则确定所述第二数据包不满足所述预设截断条件。
通过上述预设截断条件的判断,能够保证截断的数据包满足以太网要求,从而保证数据包能够正常传输。
进一步的,上述头部标签包括:帧类型、截断标识、续传标识、重传标识、支持丢包重传标识、当前数据包序号、反馈序号及丢包标识。其中,所述截断标识用于表示上一数据包是否被截断,所述续传标识用于表示当前数据包是否是续传报文,所述重传标识用于表示当前数据包是否是重传报文,所述反馈序号用于反馈接收到的来自对端设备的数据包序号,所述丢包标识用于表示来自所述对端设备的数据包是否有丢包。截断标识和续传标识用于表示数据包截断状态。反馈序号和丢包标识用于向对端设备反馈对端设备所发送的数据包的接收状态。对一个设备来说,其发送的数据包序号可以一直累加。
图2是本发明实施例一提供的数据帧结构的示意图,如图2所示,该帧结构与现有以太网帧结构相比,新增字段包括:长度为1字节(Byte)的head_sign、长度为2字节的Sequence Number以及长度为1字节的Confirm Number。新增字段用于数据包的头部(可称为头部标签),head_sign字段中8个比特位的含义如下:
Bit7:Frame_type表示帧类型,即管理帧或数据帧;
Bit6:Preframe表示上一个数据包是否被截断;
Bit5:Thisframe表示本数据包是否为续传报文;
Bit4:Re_send表示本数据包是否为重传报文;
Bit3:Confirm_en表示是否支持丢包重传功能;
Bit2:Confirm_loss表示Comfirm Number为未收到的数据包序号还是已收到的数据包序号;示例性的,取值为1,表示Comfirm Number为未收到的序号;取值为0,表示Comfirm Number为已经收到的序号;
Bit1和Bit0为保留比特。
Sequence Number表示本数据包序号。
Confirm Number表示向对端设备反馈的数据包序号,具体可以使用对端设备发送的数据包中Sequence Number的低位字节。
Ethernet Frame Data without FCS32表示数据帧的数据。
Mange Information Data表示管理帧的数据,管理帧的长度为64字节,它是在发送完或接收完一个正常以太网数据包后,如果没有其它数据包发送请求,则需要插入这样一个管理帧。
FCS32(Frame Check Sequence,帧校验序列)用于对端设备校验接收到的数据包是否正确。图2所示帧结构中的前两个字段为现有字段,本实施例对其长度及功能不进行详细描述。
在上述技术方案的基础上,截断数据包之后,再次发送的数据包可能被更高优先级的数据包截断,即嵌套截断传输。具体的,发送添加标签后的第一数据包,包括:如果有数据包的优先级高于所述第一数据包的优先级,则在所述第一数据包满足所述预设截断条件的前提下,截断所述第一数据包。
实施例二
在上述实施例的基础上,本实施例提供了接收端将数据包的接收状态反馈给发送端的实施方式,以支持丢包重传,保证数据传输的可靠性。上述实施例针对点对点设备发送数据包的过程进行描述,本实施例将针对点对点设备接收数据包的过程进行说明。与上述实施例相同或相应的术语解释,本实施例不再赘述。
具体的,在发送数据包(如第一截断数据包、第一数据包或第二截断数据包)之后,上述方法还包括:接收对端设备发送的第三数据包;解析所述第三数据包的头部标签,根据所述头部标签中的反馈序号及丢包标识,确定发送给所述对端设备的数据包的接收状态。如果数据包丢失,则对丢失的数据包的头部标签中的重传标识进行设置,并重新发送所述丢失的数据包。
其中,第三数据包的帧类型可以是管理帧,也可以是数据帧。对端设备每接收一个数据包,均会反馈该数据包的接收状态给源设备。如果对端设备正好有数据包需要发送给源设备,则在该数据包的头部标签中携带确认信息,以节省带宽,例如,在该数据包头部标签的Confirm Number中写入需要反馈接收状态的数据包序号,并相应设置Confirm_loss);如果对端设备没有数据包需要发送,则使用管理帧反馈接收状态,即向源设备发送一管理帧,在管理帧的头部标签中携带确认信息。
同样的,接收到对端设备发送的第三数据包之后,需要向对端设备反馈第三数据包的接收状态。如果第三数据包的帧类型是数据帧,除了反馈接收状态,还需要根据数据包头部标签对数据包进行处理或合并,具体的,根据所述第三数据包的下一个数据包的头部标签中的截断标识确定所述第三数据包是否被截断;如果所述第三数据包被截断,接收到所述第三数据包的续传数据包之后,合并所述第三数据包与所述续传数据包。由此得到了完整的数据包。
在实际应用中,接收到第三数据包之后,可以等待预设时长,如果超过该预设时长还未接收到下一个数据包,则默认第三数据包是完整的。该预设时长可以按约定设置,例如,最大为30个字节时间。
在上述技术方案的基础上,如果有数据包丢失,则需要等待对端设备重传丢失的数据包,以保证数据传输的可靠性。具体的,在接收对端设备发送的第三数据包之后,还包括:如果根据接收的数据包序号确定有数据包丢失,等待所述对端设备重传丢失的数据包,直到满足预设的放弃等待重传的条件中任一条件则停止等待重传。
其中,放弃等待重传的条件包括:接收到重传的数据包;等待时间超过预设时间;以及等待重传的数据包个数超过预设个数。其中,若等待重传的数据包个数较多,表示多个数据包均没有收到,可能是网络异常,则放弃等待重传。本实施方式中,根据放弃等待重传的条件及时放弃等待重传,以免占用过多资源。
实施例三
图3是本发明实施例三提供的点对点设备之间数据传输的示意图,如图3所示,设备A有三个端口a1、a2和b,设备B包括端口c,设备A向设备B发送数据包。设备A在端口b为每个数据包的帧头增加头部标签,该头部标签包括数据包序号,用于标识数据包的传输次序。
端口a1和a2分别向端口b传输数据包,当从端口a1和a2发送的数据包同时到达端口b时,设备A会根据优先级来选择数据包通过端口b的先后顺序。如果端口a1和a2发送的数据包不是同时达到端口b,则先到的先传输,例如端口a1的数据包S1先传输到端口b,则端口b开始传输数据包S1;如果后到达端口b的数据包S2(来源于端口a2)为高优先级数据包,同时正在发送的数据包S1中已发送数据长度和未发送数据长度均超过64字节,则截断正在发送的数据包S1,截断为S1_1和S1_2两段数据包。端口b传输完数据包S1_1后,开始传输来自端口a2的高优先级数据包S2,然后再传输数据包S1_2。每一个数据包(S1_1、S1_2、S2)都会在帧头添加头部标签,用于指示自身的序号、自身状态与上一个数据包状态。
数据包S2的帧头会添加标识(Preframe,用于表示上一数据包S1_1是否被截断,1表示被截断,0表示没有被截断),用于通知设备B上一数据包的截断状态,设备B会根据该标识存储上一帧接收到的数据包S1_1,当接收到数据包S1_2后,设备B重组数据包S1_1和S1_2。其中,设备B接收到一个数据包就向设备A反馈接收状态。
需要说明的是,交换机有多个端口多种优先级,存在截断数据包后,再次发送的数据包可能被更高优先级的数据包截断。在发送侧和接收侧,每个端口可以使用多个队列来支持这种嵌套截断传输。
下面结合图4对设备的具体实现结构进行说明。图4是本发明实施例三提供的点对点设备的结构示意图,如图4所示,点对点设备的发送端口包括:发送仲裁模块、出口队列和组帧模块,接收端口包括:帧解析模块、入口队列和接收组装模块。图4中,Send_req和Tx_req均表示发送请求,Tx_Data表示发送的数据,Ethernet_tx表示发送以太网数据包,Ethernet_rx表示接收以太网数据包,Rx_info表示接收的数据包中的帧信息,Rx_Data表示接收的数据,Receive表示接收,Confirm_info表示确认信息。
基于图4所示的结构,数据包的发送过程如下:
发送仲裁模块根据多个发送请求,将发送数据写入到出口队列中;同时,发送仲裁模块根据请求的优先级、出口队列中的数据以及来自接收端口的确认信息,输出发送请求到组帧模块。组帧模块根据发送请求对出口队列中的数据添加头部标签,并发送。
其中,由发送仲裁模块对当前正在发送的数据包进行截断条件判断,同时满足以下条件则产生截断:当前正在发送的数据包中已发送数据的长度大于64字节,若不到64字节,则等待满足本条件;当前正在发送的数据包中未发送数据的长度大于64字节。
当接收到的确认信息里有Confirm_loss标识时,根据Confirm Number去出口队列里找到对应的数据包,进行重传。重传时使用原有序号并标志该数据包为重传帧。其中出口队列中的数据可以定期删除,以支持数据包的重传。
基于图4所示的结构,数据包的接收过程如下:
帧解析模块对接收到的数据包的头部标签进行解析,并将数据包写入到入口队列中。接收一个数据包后,如果该数据包的帧类型是数据帧,则需要根据其下一个数据包的头部标签来确定数据包是否完整,此处可以设置等待时间,例如,最大为30个字节时间,以等待下一个数据包的头部标签。
接收组装模块根据帧解析模块解析得到的帧信息,判断入口队列的数据包是否完整(具体根据Preframe和Thisframe字段进行判断),并从入口队列中获取完整的数据包。
如果接收组帧模块判断某个序号的数据包丢弃时(例如,Confirm_loss取值为0,表示Confirm Number所示的数据包发生丢包),则等待重传。满足以下任一条件,则放弃等待重传:(1)收到了重传帧;(2)等待时间超时;(3)等待的数据包个数超过指定个数。
实施例四
图5是本发明实施例四提供的点对点设备的数据传输装置的结构示意图,如图5所示,该装置包括:
优先级确定模块510,用于确定待发送的第一数据包比当前正在发送的第二数据包优先级高;
截断确定模块520,用于确定所述第二数据包满足预设截断条件;
数据截断模块530,用于截断所述第二数据包,得到第一截断数据包和第二截断数据包;
标签添加模块540,用于按照预设帧结构分别在所述第一数据包和所述第二截断数据包中添加头部标签;
数据发送模块550,用于发送所述第一截断数据包后,依次发送添加头部标签后的第一数据包和第二截断数据包。
进一步的,截断确定模块520包括:
长度比较单元,用于比较所述第二数据包中已发送数据的长度与预设长度,以及比较所述第二数据包中未发送数据的长度与所述预设长度;
截断确定单元,用于:
在所述已发送数据的长度和所述未发送数据的长度均超过所述预设长度的情况下,确定所述第二数据包满足所述预设截断条件;
在所述已发送数据的长度未超过所述预设长度且所述未发送数据的长度超过所述预设长度的情况下,等待所述已发送数据的长度达到所述预设长度之后,判断所述未发送数据的长度是否超过所述预设长度;以及
在所述未发送数据的长度未超过所述预设长度的情况下,确定所述第二数据包不满足所述预设截断条件。
可选的,所述头部标签包括:帧类型、截断标识、续传标识、重传标识、支持丢包重传标识、当前数据包序号、反馈序号及丢包标识;其中,所述截断标识用于表示上一数据包是否被截断,所述续传标识用于表示当前数据包是否是续传报文,所述重传标识用于表示当前数据包是否是重传报文,所述反馈序号用于反馈接收到的来自对端设备的数据包序号,所述丢包标识用于表示来自所述对端设备的数据包是否有丢包。
进一步的,所述数据发送模块550还用于:在有数据包的优先级高于所述第一数据包的优先级的情况下,在所述第一数据包满足所述预设截断条件的前提下,截断所述第一数据包。
可选的,如图6所示,上述装置500还包括:
数据接收模块560,用于在发送数据包之后,接收对端设备发送的第三数据包;
标签解析模块570,用于解析所述第三数据包的头部标签,根据所述头部标签中的反馈序号及丢包标识,确定发送给所述对端设备的数据包的接收状态;
数据重传模块580,用于在数据包丢失的情况下,对丢失的数据包的头部标签中的重传标识进行设置,并重新发送所述丢失的数据包。
进一步的,上述装置还包括:
状态反馈模块,用于在接收对端设备发送的第三数据包之后,向所述对端设备反馈所述第三数据包的接收状态。
进一步的,上述装置还包括:
截断判断模块,用于在接收对端设备发送的第三数据包之后,在所述第三数据包的帧类型是数据帧的情况下,根据所述第三数据包的下一个数据包的头部标签中的截断标识确定所述第三数据包是否被截断;
数据合并模块,用于在所述第三数据包被截断的情况下,接收到所述第三数据包的续传数据包之后,合并所述第三数据包与所述续传数据包。
进一步的,上述装置还包括:等待重传模块,用于在接收对端设备发送的第三数据包之后,如果根据接收的数据包序号确定有数据包丢失,等待所述对端设备重传丢失的数据包,直到满足预设的放弃等待重传的条件中任一条件则停止等待重传;其中,所述放弃等待重传的条件包括:接收到重传的数据包;等待时间超过预设时间;以及等待重传的数据包个数超过预设个数。
本发明实施例所提供的点对点设备的数据传输装置可执行本发明任意实施例所提供的点对点设备的数据传输方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的点对点设备的数据传输方法。需要说明的是,上述点对点设备的数据传输装置可以基于现场可编程逻辑器件((FieldProgrammable Gate Array,FPGA)实现。
实施例五
本实施例提供了一种设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所述的点对点设备的数据传输方法。
图7是本发明实施例五提供的设备的结构示意图。图7示出了适于用来实现本发明实施方式的示例性设备12的框图。图7显示的设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,设备12以通用计算设备的形式表现。设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,队列管理系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”),实现数据包的写入和读取。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该设备12交互的设备通信,和/或与使得该设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口22和/或网络适配器20进行。设备12可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与设备12的其它模块通信。应当明白,尽管图中未示出,可以结合设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的点对点设备的数据传输方法。
实施例六
本发明实施例六提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的点对点设备的数据传输方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以使用现场可编程逻辑器件(FPGA)实现本发明实施例的点对点设备的数据传输方法,或者以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (13)
1.一种点对点设备的数据传输方法,其特征在于,包括:
确定待发送的第一数据包的优先级高于当前正在发送的第二数据包的优先级;
确定所述第二数据包满足预设截断条件;
截断所述第二数据包,得到第一截断数据包和第二截断数据包;
按照预设帧结构分别在所述第一数据包和所述第二截断数据包中添加头部标签;
发送所述第一截断数据包后,依次发送添加头部标签后的第一数据包和第二截断数据包。
2.根据权利要求1所述的方法,其特征在于,确定所述第二数据包满足预设截断条件,包括:
比较所述第二数据包中已发送数据的长度与预设长度,以及比较所述第二数据包中未发送数据的长度与所述预设长度;
如果所述已发送数据的长度和所述未发送数据的长度均超过所述预设长度,则确定所述第二数据包满足所述预设截断条件;
如果所述已发送数据的长度未超过所述预设长度且所述未发送数据的长度超过所述预设长度,则等待所述已发送数据的长度达到所述预设长度之后,判断所述未发送数据的长度是否超过所述预设长度;
如果所述未发送数据的长度未超过所述预设长度,则确定所述第二数据包不满足所述预设截断条件。
3.根据权利要求1所述的方法,其特征在于,所述头部标签包括:帧类型、截断标识、续传标识、重传标识、支持丢包重传标识、当前数据包序号、反馈序号及丢包标识;
其中,所述截断标识用于表示上一数据包是否被截断,所述续传标识用于表示当前数据包是否是续传报文,所述重传标识用于表示当前数据包是否是重传报文,所述反馈序号用于反馈接收到的来自对端设备的数据包序号,所述丢包标识用于表示来自所述对端设备的数据包是否有丢包。
4.根据权利要求1所述的方法,其特征在于,发送添加标签后的第一数据包,包括:
如果有数据包的优先级高于所述第一数据包的优先级,则在所述第一数据包满足所述预设截断条件的前提下,截断所述第一数据包。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在发送数据包之后,还包括:
接收对端设备发送的第三数据包;
解析所述第三数据包的头部标签,根据所述头部标签中的反馈序号及丢包标识,确定发送给所述对端设备的数据包的接收状态;
若数据包丢失,则对丢失的数据包的头部标签中的重传标识进行设置,并重新发送所述丢失的数据包。
6.根据权利要求5所述的方法,其特征在于,在接收对端设备发送的第三数据包之后,还包括:
向所述对端设备反馈所述第三数据包的接收状态。
7.根据权利要求5所述的方法,其特征在于,在接收对端设备发送的第三数据包之后,还包括:
如果所述第三数据包的帧类型是数据帧,根据所述第三数据包的下一个数据包的头部标签中的截断标识确定所述第三数据包是否被截断;
如果所述第三数据包被截断,接收到所述第三数据包的续传数据包之后,合并所述第三数据包与所述续传数据包。
8.根据权利要求5所述的方法,其特征在于,在接收对端设备发送的第三数据包之后,还包括:
如果根据接收的数据包序号确定有数据包丢失,等待所述对端设备重传丢失的数据包,直到满足预设的放弃等待重传的条件中任一条件则停止等待重传;
其中,所述放弃等待重传的条件包括:
接收到重传的数据包;
等待时间超过预设时间;以及
等待重传的数据包个数超过预设个数。
9.一种点对点设备的数据传输装置,其特征在于,包括:
优先级确定模块,用于确定待发送的第一数据包比当前正在发送的第二数据包优先级高;
截断确定模块,用于确定所述第二数据包满足预设截断条件;
数据截断模块,用于截断所述第二数据包,得到第一截断数据包和第二截断数据包;
标签添加模块,用于按照预设帧结构分别在所述第一数据包和所述第二截断数据包中添加头部标签;
数据发送模块,用于发送所述第一截断数据包后,依次发送添加头部标签后的第一数据包和第二截断数据包。
10.根据权利要求9所述的装置,其特征在于,所述头部标签包括:帧类型、截断标识、续传标识、重传标识、支持丢包重传标识、当前数据包序号、反馈序号及丢包标识;
其中,所述截断标识用于表示上一数据包是否被截断,所述续传标识用于表示当前数据包是否是续传报文,所述重传标识用于表示当前数据包是否是重传报文,所述反馈序号用于反馈接收到的来自对端设备的数据包序号,所述丢包标识用于表示来自所述对端设备的数据包是否有丢包。
11.根据权利要求9或10所述的装置,其特征在于,所述装置还包括:
数据接收模块,用于在发送数据包之后,接收对端设备发送的第三数据包;
标签解析模块,用于解析所述第三数据包的头部标签,根据所述头部标签中的反馈序号及丢包标识,确定发送给所述对端设备的数据包的接收状态;
数据重传模块,用于在数据包丢失的情况下,对丢失的数据包的头部标签中的重传标识进行设置,并重新发送所述丢失的数据包。
12.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的点对点设备的数据传输方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述的点对点设备的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711404903.6A CN108092745A (zh) | 2017-12-22 | 2017-12-22 | 点对点设备的数据传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711404903.6A CN108092745A (zh) | 2017-12-22 | 2017-12-22 | 点对点设备的数据传输方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108092745A true CN108092745A (zh) | 2018-05-29 |
Family
ID=62178611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711404903.6A Pending CN108092745A (zh) | 2017-12-22 | 2017-12-22 | 点对点设备的数据传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108092745A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933532A (zh) * | 2019-10-24 | 2020-03-27 | 北京邮电大学 | 基于帧抢占的tdm-pon移动前传光网络数据传输方法及装置 |
CN111277319A (zh) * | 2020-01-20 | 2020-06-12 | 中国电子科技集团公司电子科学研究院 | 星地间数据传输方法及装置 |
CN113301535A (zh) * | 2020-02-24 | 2021-08-24 | 荣耀终端有限公司 | 一种数据传输方法、装置及系统 |
CN114884937A (zh) * | 2022-05-27 | 2022-08-09 | 宁夏中宁县京能新能源有限公司 | 一种新能源集控系统数据断点续传方法 |
CN116155831A (zh) * | 2022-12-28 | 2023-05-23 | 河南辉煌科技股份有限公司 | 一种用于铁路生产管理系统的数据传输方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1264234A (zh) * | 1999-01-27 | 2000-08-23 | 摩托罗拉公司 | 优先级增强型消息传送装置及其方法 |
CN1351439A (zh) * | 2000-10-26 | 2002-05-29 | 摩托罗拉公司 | 在分组数据系统中传递分组的方法和设备 |
CN1705295A (zh) * | 2004-05-29 | 2005-12-07 | 华为技术有限公司 | 具有优先级的包传输系统及其方法 |
WO2006111788A1 (en) * | 2005-04-21 | 2006-10-26 | Intel Corporation | Interrupting transmission of low priority ethernet packets |
CN103929371A (zh) * | 2013-01-15 | 2014-07-16 | 欧姆龙株式会社 | 控制装置及控制方法 |
CN107147481A (zh) * | 2017-07-19 | 2017-09-08 | 北京数码视讯科技股份有限公司 | 丢包重传方法、装置及电子设备 |
CN107258076A (zh) * | 2015-02-26 | 2017-10-17 | 西门子公司 | 通信网络中的数据传输 |
-
2017
- 2017-12-22 CN CN201711404903.6A patent/CN108092745A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1264234A (zh) * | 1999-01-27 | 2000-08-23 | 摩托罗拉公司 | 优先级增强型消息传送装置及其方法 |
CN1351439A (zh) * | 2000-10-26 | 2002-05-29 | 摩托罗拉公司 | 在分组数据系统中传递分组的方法和设备 |
CN1705295A (zh) * | 2004-05-29 | 2005-12-07 | 华为技术有限公司 | 具有优先级的包传输系统及其方法 |
WO2006111788A1 (en) * | 2005-04-21 | 2006-10-26 | Intel Corporation | Interrupting transmission of low priority ethernet packets |
CN103929371A (zh) * | 2013-01-15 | 2014-07-16 | 欧姆龙株式会社 | 控制装置及控制方法 |
CN107258076A (zh) * | 2015-02-26 | 2017-10-17 | 西门子公司 | 通信网络中的数据传输 |
CN107147481A (zh) * | 2017-07-19 | 2017-09-08 | 北京数码视讯科技股份有限公司 | 丢包重传方法、装置及电子设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933532A (zh) * | 2019-10-24 | 2020-03-27 | 北京邮电大学 | 基于帧抢占的tdm-pon移动前传光网络数据传输方法及装置 |
CN111277319A (zh) * | 2020-01-20 | 2020-06-12 | 中国电子科技集团公司电子科学研究院 | 星地间数据传输方法及装置 |
CN113301535A (zh) * | 2020-02-24 | 2021-08-24 | 荣耀终端有限公司 | 一种数据传输方法、装置及系统 |
CN113301535B (zh) * | 2020-02-24 | 2022-08-02 | 荣耀终端有限公司 | 一种数据传输方法、装置及系统 |
CN114884937A (zh) * | 2022-05-27 | 2022-08-09 | 宁夏中宁县京能新能源有限公司 | 一种新能源集控系统数据断点续传方法 |
CN114884937B (zh) * | 2022-05-27 | 2024-01-09 | 宁夏中宁县京能新能源有限公司 | 一种新能源集控系统数据断点续传方法 |
CN116155831A (zh) * | 2022-12-28 | 2023-05-23 | 河南辉煌科技股份有限公司 | 一种用于铁路生产管理系统的数据传输方法和系统 |
CN116155831B (zh) * | 2022-12-28 | 2024-05-03 | 河南辉煌科技股份有限公司 | 一种用于铁路生产管理系统的数据传输方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108092745A (zh) | 点对点设备的数据传输方法、装置、设备及存储介质 | |
EP1155370B1 (en) | Method and apparatus for extending the range of the universal serial bus protocol | |
US9985749B2 (en) | Method and system for improving wireless link efficiency | |
EP1472145B1 (en) | Method and apparatus for concatenating and piggybacking data packets | |
US7907631B2 (en) | Access control method and system | |
CN101309210A (zh) | 无线通信系统设定分组表头的方法及其相关装置 | |
CN111669835B (zh) | 通信的方法、装置及系统 | |
US8144733B2 (en) | Partitioned medium access control implementation | |
CN106788916A (zh) | 用于总线的数据传输方法及数据传输装置 | |
EP2660726A1 (en) | Method and device for emulating a bus system | |
CN110048865A (zh) | 一种总线数据传输方法、装置、电子设备及存储介质 | |
WO2019015487A1 (zh) | 一种数据重传处理方法、rlc实体和mac实体 | |
CN114765874A (zh) | 一种上行信道处理方法及装置 | |
US20250106884A1 (en) | Fine ranging slot scheduler | |
JP3148733B2 (ja) | 信号処理装置及び信号処理システム | |
US9661110B2 (en) | System and method for enabling channel access enhancements in existing communication networks | |
US20240137805A1 (en) | Method and apparatus for reporting buffered data | |
WO2024152920A1 (zh) | 通信方法及装置 | |
WO2021140960A1 (ja) | 通信装置、及び通信方法 | |
CN117041378A (zh) | 一种数据处理方法、装置及设备 | |
CN118054889A (zh) | 重传窗口的确定方法、装置及存储介质 | |
EP4473724A1 (en) | Fine ranging link layer control | |
WO2023217009A1 (zh) | 数据传输方法、装置及通信设备 | |
KR930004096B1 (ko) | 통계적 다중장치 및 방법 | |
JPS58147259A (ja) | マルチアクセス方式 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180529 |