CN114579490A - 一种数据传输方法、装置、电子设备和存储介质 - Google Patents

一种数据传输方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114579490A
CN114579490A CN202011380696.7A CN202011380696A CN114579490A CN 114579490 A CN114579490 A CN 114579490A CN 202011380696 A CN202011380696 A CN 202011380696A CN 114579490 A CN114579490 A CN 114579490A
Authority
CN
China
Prior art keywords
transaction layer
packet
layer data
information
data packet
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
Application number
CN202011380696.7A
Other languages
English (en)
Inventor
于鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN202011380696.7A priority Critical patent/CN114579490A/zh
Priority to PCT/CN2021/130704 priority patent/WO2022111326A1/zh
Publication of CN114579490A publication Critical patent/CN114579490A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Abstract

本申请实施例提供了一种数据传输方法、装置、电子设备和存储介质,其中,该方法包括:确定预设包头字段具有相同信息的至少一个事务层数据包组,其中,所述事务层数据包组包括至少一个事务层数据包;根据负载限制处理各所述事务层数据包组对应的包头,以降低所述预设包头字段的重复次数;依次传输各所述事务层数据包组内的事务层数据包到接收端。本申请实施例通过对事务层数据包中重复出现的预设包头字段进行处理,降低重复次数,实现传输过程非内容占比的减少,减少了额外传输开销,提高了数据传输效率。

Description

一种数据传输方法、装置、电子设备和存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法、装置、电子设备和存储介质。
背景技术
高速串行计算机拓展总线(Peripheral Component Interconnect Express,PCIE)标准是一种应用广泛的具有高可靠性高速的通信协议,PCIE属于高速串行点对点双通道高带宽传输。PCIE传输协议中,每笔传输的数据都会包含负荷以及部分非数据传输内容,这些非数据传输内容增加了传输的额外开销,导致传输效率的下降。为了提高PCIE协议传输的速度,PCIE相比原有标准提高了系统总线吞吐量,采用更低的输入输出引脚数量和更小的物理尺寸,使得数据传输速度得到了重大升级。然而,目前提高PCIE的通信带宽的方式主要是通过提高物理接口的速率实现,然而随着物理接口速率的提高越来越困难,PCIE传输速率的提高进入瓶颈时期。
发明内容
本申请实施例的主要目的在于提出一种数据传输方法、装置、电子设备和存储介质,旨在实现高传输速度的数据传输,有效降低非数据内容的传输占比,减少额外传输开销,提高数据的传输效率。
为了实现上述目的,本申请实施提供了一种数据传输方法,该方法应用于发送端,该方法包括以下步骤:确定预设包头字段具有相同信息的至少一个事务层数据包组,其中,所述事务层数据包组包括至少一个事务层数据包;根据负载限制处理各所述事务层数据包组对应的包头,以降低所述预设包头字段的重复次数;依次传输各所述事务层数据包组内的事务层数据包到接收端。
为了实现上述目的,本申请实施例还提供了一种数据传输方法,该方法应用于接收端,该方法包括如下步骤:
接收发送端传输的事务层数据包;根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包。
为了实现上述目的,本申请实施例还提供了一种数据传输装置,该装置应用于发送端,该装置包括:
信息分组模块,用于确定预设包头字段具有相同信息的至少一个事务层数据包组,其中,所述事务层数据包组包括至少一个事务层数据包;
信息压缩模块,用于根据负载限制处理各所述事务层数据包组对应的包头,以降低所述预设包头字段的重复次数;
信息传输模块,用于依次传输各所述事务层数据包组内的事务层数据包到接收端。
为了实现上述目的,本申请实施例还提供了一种数据传输装置,该装置应用于接收端,该装置包括:
信息接收模块,用于接收发送端传输的事务层数据包;
信息处理模块,用于根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包。
为了实现上述目的,本申请实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如申请实施例中任一所述的数据传输方法。
为了实现上述目的,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本申请实施例中任一所述的数据传输方法。
本申请实施例,通过按照预设包头字段的信息将接收到的事务层数据包分别划分到不同的事务层数据包组,基于负载限制对事务层数据包组对应的包头进行处理,降低各事务层数据包组内预设包头字段的重复次数,将处理后的各事务层数据包组依次发送到接收端,实现了数据的快速传输,降低了非数据内容的传输占比,可减少额外传输开销,提高数据的传输效率。
附图说明
图1是本申请实施例提供的一种数据传输方法的流程图;
图2a是本申请实施例提供的一种事务层数据包的结构示意图;
图2b是本申请实施例提供的一种事务层数据包的结构示意图;
图3是本申请实施例提供的一种数据传输方法的流程图;
图4是本申请实施例提供的一种事务层数据包发送的示例图;
图5a是本申请实施例提供的一种事务层数据包包头的结构示意图;
图5b是本申请实施例提供的一种事务层数据包包头的结构示意图;
图6a是本申请实施例提供的一种事务层数据包包头的结构示意图;
图6b是本申请实施例提供的一种事务层数据包包头的结构示意图
图7是本申请实施例提供的一种事务层数据包发送的示例图;
图8是本申请实施例提供的另一种事务层数据包发送的示例图;
图9是本申请实施例提供的一种数据传输方法的流程图;
图10是本申请实施例提供的一种数据传输装置的结构示意图;
图11是本申请实施例提供的另一种数据传输装置的结构示意图;
图12是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
在PCIE的数据传输过程中,每批数据传输都包含有事务层包(Transaction LayerPacker,TLP)包头、载荷Payload、校验位等部分组成,而不同的数据传输中TLP包头的内容会有所不同,但TLP包头的大部分内容在数据传输中是重复发送的,针对PCIE传输的特点,可以通过压缩PCIE事务层数据包重复性内容的方式进行压缩,可以有效降低非数据内容的比例,降低额外开销,从而达到提高PCIE传输效率的目的。
图1是本申请实施例提供的一种数据传输方法的流程图,本申请实施例可以用于PCIE数据传输的情况,该方法可以由本申请实施例中的数据传输装置来执行,该装置可以通过软件和/或硬件的方法实现,并一般可以集成在发送端中,本申请实施例提供的方法具体包括如下步骤:
步骤110、确定预设包头字段具有相同信息的至少一个事务层数据包组,其中,事务层数据包组包括至少一个事务层数据包。
其中,预设包头字段可以数据传输过程中重复较多的数据包字段,例如,PCIE的TLP包头中的存在固定的用于指示传输属性的字段。事务层数据包组可以包括至少一个事务层数据包,不同的事务层数据包对应的预先包头字段中的信息可以不同,事务层数据包可以当处理器或者其他PCIE设备访问PCIE设备时传送的数据报文通过事务层封装的数据包,事务层数据包可以在PCIE总线的各个层次发送。
具体的,对于生成的事务层数据包,可以比较各事务层数据包的预设包头字段中的信息,可以将具有相同信息的事务层数据包分配到一个事务层数据包组中,每个事务层数据包组包括的事务层数据包的预设包头字段中的信息相同。可以理解的是,事务层数据包组可以是物理意义上的分组,也可以是逻辑意义上的分组,例如,可以将事务层数据包分组存储在相同存储区域,或者,预设包头字段具有相同信息的事务层数据包即属于事务层数据包组。
步骤120、根据负载限制处理各事务层数据包组对应的包头,以降低预设包头字段的重复次数。
其中,负载限制可以是事务层数据包发送的负载限制,可以包括有效载荷的大小或者发送事务层数据包的数量等,例如,在PCIE数据传输过程中的最大拼接包数量和有效载荷大小等,包头可以是事务层数据包的包头,可以是被附加到用于控制信息的运载和传输的特殊保留字段,在本申请实施例中,事务层数据包组中的事务层数据包分别存在各自的包头,相同事务层数据包组的包头中的预设包头字段的信息相同。重复次数可以是一个事务层数据包组中预先包头字段的重复出现的次数,重复次数越大,发送事务层数据包时重复的数据可以越多。
具体的,可以通过负载限制在各事务层数据包组中确定出需要包含完整包头信息的包头的数量,由于在相同事务层数据包组中预先包头字段内的信息相同,可以根据负载限制确定的数量对事务层数据包的包头进行处理,删除其中的预设包头字段,使得各事务层数据包中的预先包头字段的重复次数减少,实现数据传输过程中的冗余数据的降低。
步骤130、依次传输各事务层数据包组内的事务层数据包到接收端。
在本申请实施例中,在对各事务层数据包组进行处理后,可以针对各事务层数据包组,分别发送其中的事务层数据包到对应的接收端,可以理解的是,各事务层数据包组对应的接收端可以相同也可以不同。
本申请实施例,通过按照预设包头字段的信息将接收到的事务层数据包分别划分到不同的事务层数据包组,基于负载限制对事务层数据包组对应的包头进行处理,降低各事务层数据包组内预设包头字段的重复次数,将处理后的各事务层数据包组依次发送到接收端,实现了数据的快速传输,降低了非数据内容的传输占比,可减少额外传输开销,提高数据的传输效率。
进一步的,在上述申请实施例的基础上,所述预设包头字段至少包括:版本Format字段、类型Type字段、保留Reserved字段、传输优先级Traffic Class字段、TD字段、EP字段和长度Length字段中一种。
在本申请实施例中,事务层数据包具体可以为3DW格式的PCIE TLP或者4DW格式的PCIE TLP,图2a和图2b分别是本申请实施例提供的一种事务层数据包的结构示意图,在PCIE的TLP中可以看到每个TLP header的O~3字节位置包含了Fmt、Type、TC、Attr、Length等信息,这些信息在PCIE传输时变化很小,可以将预设包头字段设置为版本Format字段、类型Type字段、保留Reserved字段、传输优先级Traffic Class字段、TD字段、EP字段和长度Length字段中一种的或者多种,可以通过对预设包头字段的处理实现非数据内容的传输占比降低。
图3是本申请实施例提供的一种数据传输方法的流程图,本申请实施例是在上述申请实施例的基础上的具体化,参见图3,本申请实施例提供的方法,具体包括如下步骤:
步骤210、按照预设包头字段分别提取各事务层数据包的包头中的字段信息。
其中,字段信息可以是预设包头字段中的具体取值。
在本申请实施例中,在获取到事务层数据包时,可以对事务层数据包包头中的字段信息进行提取,可以理解的是,在数据发送时,发送端可以同时生成多个事务层数据包,可以对该批事务层数据包中预设包头字段的字段信息进行提取。
步骤220、按照各字段信息的取值将对应的事务层数据包划分到不同的事务层数据包组。
具体的,各事务层数据包存在自己对应的字段信息,可以按照字段信息的取值将事务层数据包分为多组,每组中字段信息的取值可以相同,可以将具有相同字段信息取值的事务层数据包分组的作为事务层数据包组。可以理解的是,事务层数据包组可以是物理上的分组,例如,可以将每组具有相同字段信息取值的事务层数据包存储到相同位置,事务层数据包组也可以是逻辑上的分组,确定出事务数据包具有相同字段信息取值,可以认为事务数据包属于相同的事务层数据包组。
步骤230、针对各事务层数据包组,按照负载限制将事务层数据包组内的事务层数据包划分到至少一个拼接包组。
在本申请实施例中,由于事务层数据包的发送需要遵循负载限制的要求,例如,在PCIE中对事务层数据包进行拼接发送的过程中需要满足credit以及Max payload size的要求,可以将各事务层数据包组按照负载限制进行处理,若事务层数据包组包括的事务层数据包的大小或者数量超过负载限制,则可以将该事务层数据包组划分为多个拼接包组,每个拼接包组中事务层数据包的大小或者数量满足负载限制要求,若事务层数据包包的事务层数据包的大小或者数量满足负载限制的要求,则可以直接将事务层数据包组作为一个拼接包组。
步骤240、在各拼接包组内,保留位于发送首位的事务层数据包的预设包头字段并删除其他的事务层数据包的预设包头字段。
具体的,拼接包组中事务层数据包中的预设包头字段的字段信息相同,预设包头字段具有重复信息,可以对拼接包组中的事务层数据包中的预设包头字段进行处理,删除重复的预设包头字段,可以保留拼接包组中处于发送首位的事务层数据包的预设包头字段,将拼接包中其他的事务层数据包的预设包头字段删除。
步骤250、针对各事务层数据包组,按照拼接包组将包括的事务层数据包的包头和负载分别发送到对应的接收端。
在本申请实施例中,可以将各事务层数据包组中的事务层数据包的包头和负载分别发送到接收端,其中,在发送过程中包头和负载可以分别发送,例如,多个事务层数据包的包头可以先发送后,再将对应的负载发送。图4是本申请实施例提供的一种事务层数据包发送的示例图,参见图4,可以先批量发送事务层数据包的包头,然后再将对应的负载发送,其中,首先发送的事务层数据包的包头中包括有预设包头字段,而后续发送的事务层数据包的包头可以共用该预先包头字段的字段信息,在相同拼接包组中发送的包头中不包括预设包头字段。
步骤260、提取事务层数据包内预设保留字段的校验方式信息,按照校验方式信息生成包头和负载的校验信息,并将校验信息发送到对应的接收端。
其中,预设保留字段可以是事务层数据包内未被占用的字段,可以使用该预设保留字段标识事务层数据包的校验方式,校验方式可以包括不同事务层数据包校验的方式,例如,对每个事务层数据包进行校验或者对整个拼接包组进行校验等。校验信息可以是通过一个或者多个事务层数据包的包头和负载生成的校验码信息,例如,链路循环冗余校验(Link Cyclic Redundancy Check,LCRC)生成的校验码。
在本申请实施例中,由于不同的校验方式可以对应不同的事务层数据包发送效率,例如,基于事务层数据包的校验,校验出错时,重传的额外时间开销较小,但是事务层数据包的数据存储开销较大;基于拼接包组的校验,校验出错时,重传的额外时间开销较大,但是事务层数据包数据存储开销较小。可以通过预设保留字段对事务层数据包的校验方式进行标识,用户或者管理员根据需要选择对应的校验方式,并在事务层数据包的预设保留字段进行标识,生成对应的校验方式信息,在发送端生成校验信息时,可以提取事务层数据包中预设保留字段的校验方式信息,按照该校验方式信息处理事务层数据包的包头和负载,生成对应的校验信息,发送端可以将校验信息发送到事务层数据包对应的接收端。
本申请实施例,通过将提取到的事务层数据包预设包头字段中的字段信息划分到不同的事务层数据包组,按照负载限制将各事务层数据包组划分为拼接包组,针对拼接包组删除非发送首位的事务层数据包中的预先包头字段,在处理后分别将事务层数据包组的事务层数据包的包头和负载分别发送到接收端,按照各事务层数据包中预先保留字段的校验方式生成对应的校验信息并发送,实现了事务层数据包的快速发送,降低了数据包中非数据内容的传输占比,降低传输开销,提高事务层数据包的传输效率。
进一步的,在上述申请实施例的基础上,所述拼接包组内的事务层数据包对应的接收端的设备地址相同。
具体的,在本申请实施例中,进行处理的事务层数据包可以对应相同设备地址的接收端,删除重复的预设包头字段后,拼接包组中的事务层数据包仍能发送到对应的接收端。可以理解的是,由于事务层数据包是在事务层通过数据报文生成的数据包,需要发送的事务层数据包对应相同的数据报文,对应的接收端的设备地址相同。
进一步的,在上述申请实施例的基础上,所述按照负载限制将所述事务层数据包组内的事务层数据包划分到至少一个拼接包组,包括:获取负载限制对应的最大拼接包数量;按照所述最大拼接包数量将各事务层数据包组内的事务层数据包划分到至少一个拼接包组;对属于各所述拼接包组的事务层数据包的预设保留字段进行标识以区分所述事务层数据包在对应拼接包组的发送位置。
其中,最大拼接包数量可以是一个拼接包组包括的事务层数据包最多的数量,最大拼接包数量可以与事务层数据包的大小以及负载限制对应的大小相关联。
在本申请实施例中,可以根据负载限制对应的数据大小以及各事务层数据包的大小确定出拼接包组可以包含事务层数据包的最大数量,在各事务层数据包组内按照发送顺序将事务层数据包进行排列依次,可以按照该排序依次选择最大数量的事务层数据包分别作为拼接包,可以理解的是,当事务层数据包组内事务层数据包的数量小于该最大数量时,可以将该事务层数据包组整体作为拼接包组。由于需要拼接包组中使用相同的预设包头字段的字段信息,需要确定出各事务层数据包组在拼接包组中的发送位置,可以通过标识各事务层数据包包头中预留字段形式,区分各事务层数据包在拼接包组中的位置,图5a和图5b分别是本申请实施例提供的一种事务层数据包包头的结构示意图,参见图5a和图5b,在包头的预设保留字段增加一个C标识位,该C标识位为1时表示新的拼接包的开始,该C标识位为0时表示不为新的拼接包的开始。
进一步的,在上述申请实施例的基础上,所述根据所述事务层数据包内预设校验字段内的校验方式信息根据所述包头和所述负载生成校验信息并发送对应的接收端,包括:
提取所述事务层数据包内的预设校验字段的校验信息,其中,所述预设校验字段位于包头的保留字段;若所述校验信息标识第一校验方式,则基于所述事务层数据包对应的拼接包组生成校验信息并发送到对应的接收端;若所述校验信息标识第二校验方式,则基于所述事务层数据包生成校验信息并发送到对应的接收端。
在本申请实施例中,可以将事务层数据包内的预留字段作为预设校验字段,参见图6a和图6b,当预设校验字段L中的校验信息为0时,可以确定该校验方式为第一校验方式,可以按照每个事务层数据包对应的拼接包组生成校验信息,例如,参见图7,可以对拼接包组中包含的事务层数据包生成一个的LCRC校验位,并随着拼接包中最后发送的事务层数据包发送。当预设校验字段L中的校验信息为1时,可以确定该校验方式为第二校验方式,可以为每个事务层数据包生成校验信息,例如,参见图8,可以为每个事务层数据包生成LCRC校验位,该校验位随着对应的事务层数据包发送。进一步的,两种校验方式可以方便用户灵活选择策略,在最大延迟latency、访问效率、可靠性之间寻找最优的平衡点。例如在延迟latency方面,相对于单包负载+LCRC传输方式,多包负载+LCRC传输只使用一个LCRC校验位,没有LCRC问题时,效率要高于前者,但是如果LCRC问题时会导致的重传,多包传输会导致额外的时间开销,造成访问此次传输的延迟latency下降,但是从系统层面看,如果LCRC校验问题发生的概率很低,访问效率还是要优于payload较小的传输。
图9是本申请实施例提供的一种数据传输方法的流程图,本申请实施例可以用于PCIE数据传输的情况,该方法可以由本申请实施例中的数据传输装置来执行,该装置可以通过软件和/或硬件的方法实现,并一般可以集成在接收端中,本申请实施例提供的方法具体包括如下步骤:
步骤310、接收发送端传输的事务层数据包。
在本申请实施例中,接收端可以获取到发送端传输的事务层数据包,接收到的数量可以一个或者多个。
步骤320、根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包。
具体的,可以对接收到的事务层数据包的包头进行处理,若包头中包含由标识信息或者包头具有完整的包头结构,可以确定该事务层数据包位于拼接包组中,对于属于相同拼接包组的事务层数据包,可以使用对应的预设包头字段的信息处理该事务层数据包,可以理解的是,相同拼接包组的预设包头字的信息可以来源于该拼接包组中的事务层数据包,例如,第一个发送到接收端的事务层数据包。本申请实施例,通过获取发送端传输的事务层数据包,根据事务层数据包的包头确定所属的拼接包组,并按照拼接包组的预先包头字段处理对应的事务层数据包,实现事务层数据包的高效传输,降低传输过程的非数据内容占比,提高数据传输效率。
进一步的,在上述申请实施例的基础上,所述根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包,包括:
根据所述事务层数据包的包头中的预设保留字段的标识信息确定所述事务层数据包在拼接包组中的发送位置;确定所述事务层数据包的发送位置为首位,则提取所述包头的预设包头字段的信息作为拼接包组对应的预设包头字段的信息,并根据所述信息处理所述事务层数据包;确定所述事务层数据包的发送位置为非首位,则获取拼接包组对应的预设包头字段的信息对所述事务层数据包进行处理。进一步的,若根据包头确定事务层数据包不属于拼接包组,则使用现有事务层数据包处理方法进行处理。例如,若包头中标记位C=0,则确定数据包不属于拼接包组,可以直接包头信息处理对应的事务层数据包,若包头中标记位C=1,则确定事务层数据包属于拼接包组,需要使用对应拼接包组的预设包头字段的信息处理该事务层数据包。
在本申请实施例中,可以对包头中预先保留字段进行提取获取到对应的标识信息,可以通过标识信息判断出对应的事务层数据包在拼接包组中的发送位置,例如,若标识信息L=1,则确定该事务层数据包为拼接包组的发送首位,若标识信息L=0,则确定该事务层数据包在拼接包组中不为发送首位。对于处于发送位置为首位的事务层数据包,则包头的预设包头字段中的信息可以为对应拼接包组的预设包头字段中的信息,可以使用包头的信息直接对事务层数据包进行处理,获取到数据内容。对于处于发送位置为非首位的事务层数据包,该事务层数据包缺少预设包头字段,可以使用拼接包组对应的预设包头字段中的信息对该事务层数据包进行处理获取到数据内容,可以理解的是,拼接包组的预设包头字段的信息可以来发送位置为首位的事务层数据包。
进一步的,在上述申请实施例的基础上,所述拼接包组对应的预设包头字段的信息存储于预设存储位置。
在本申请实施例中,在处理事务层数据包时,可以拼接包组中发送位置为首位的事务层数据包组预设包头字段的信息存储在预设存储位置,该拼接包组后续的事务层数据包可以直接使用该预设存储位置的信息进行处理。可以理解的是,预设存储位置具体可以为随机存取存储器的存储区域。
图10是本申请实施例提供的一种数据传输装置的结构示意图,可执行本申请任意实施例所提供的数据传输方法,具备执行方法相应的功能模块和有益效果。该装置可有由软件和/或硬件实现,一般集成在发送端,本申请实施例提供的装置具体包括:信息分组模块410、信息压缩模块420和信息传输模块430。
信息分组模块410,用于确定预设包头字段具有相同信息的至少一个事务层数据包组,其中,所述事务层数据包组包括至少一个事务层数据包。
信息压缩模块420,用于根据负载限制处理各所述事务层数据包组对应的包头,以降低所述预设包头字段的重复次数。
信息传输模块430,用于依次传输各所述事务层数据包组内的事务层数据包到接收端。
本申请实施例,通过信息分组模块按照预设包头字段的信息将接收到的事务层数据包分别划分到不同的事务层数据包组,信息压缩模块基于负载限制对事务层数据包组对应的包头进行处理,降低各事务层数据包组内预设包头字段的重复次数,信息传输模块将处理后的各事务层数据包组依次发送到接收端,实现了数据的快速传输,降低了非数据内容的传输占比,可减少额外传输开销,提高数据的传输效率。
进一步的,在上述申请实施例的基础上,所述信息分组模块410中的预设包头字段至少包括:版本Format字段、类型Type字段、保留Reserved字段、传输优先级Traffic Class字段、TD字段、EP字段和长度Length字段中一种。
进一步的,在上述申请实施例的基础上,所述信息分组模块410包括:
信息提取单元,用于按照所述预设包头字段分别提取各事务层数据包的包头中的字段信息。
分组单元,用于按照各所述字段信息的取值将对应的所述事务层数据包划分到不同的事务层数据包组。
进一步的,在上述申请实施例的基础上,所述拼接包组内的事务层数据包对应接收端的设备地址相同。
进一步的,在上述申请实施例的基础上,所述信息压缩模块420包括:
数量确定单元,用于获取负载限制对应的最大拼接包数量。
分组执行单元,用于按照所述最大拼接包数量将各事务层数据包组内的事务层数据包划分到至少一个拼接包组。
位置标识单元,用于对属于各所述拼接包组的事务层数据包的预设保留字段进行标识以区分所述事务层数据包在对应拼接包组的发送位置。
进一步的,在上述申请实施例的基础上,所述信息传输模块430包括:
数据包发送单元,用于针对各所述事务层数据包组,按照拼接包组将包括的事务层数据包的包头和负载分别发送到对应的接收端。
校验发送单元,用于提取所述事务层数据包内预设保留字段的校验方式信息,按照所述校验方式信息生成所述包头和所述负载的校验信息,并将所述校验信息发送到对应的接收端。
进一步的,在上述申请实施例的基础上,所述校验发送单元,包括:
校验提取单元,用于提取所述事务层数据包内的预设校验字段的校验信息,其中,所述预设校验字段位于包头的保留字段。
第一校验单元,用于若所述校验信息标识第一校验方式,则基于所述事务层数据包对应的拼接包组生成校验信息并发送到对应的接收端。
第二校验单元,用于若所述校验信息标识第二校验方式,则基于所述事务层数据包生成校验信息并发送到对应的接收端。
图11是本申请实施例提供的另一种数据传输装置的结构示意图,可执行本申请任意实施例所提供的数据传输方法,具备执行方法相应的功能模块和有益效果。该装置可有由软件和/或硬件实现,一般集成在接收端,本申请实施例提供的装置具体包括:信息接收模块510和信息处理模块520。
信息接收模块510,用于接收发送端传输的事务层数据包。
信息处理模块520,用于根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包。
本申请实施例,通过信息接收模块获取发送端传输的事务层数据包,信息处理模块根据事务层数据包的包头确定所属的拼接包组,并按照拼接包组的预先包头字段处理对应的事务层数据包,实现事务层数据包的高效传输,降低传输过程的非数据内容占比,提高数据传输效率。
进一步的,在上述申请实施例的基础上,所述信息处理模块520包括:
位置确定单元,用于根据所述事务层数据包的包头中的预设保留字段的标识信息确定所述事务层数据包在拼接包组中的发送位置。
第一处理单元,用于确定所述事务层数据包的发送位置为首位,则提取所述包头的预设包头字段的信息作为拼接包组对应的预设包头字段的信息,并根据所述信息处理所述事务层数据包。
第二处理单元,用于确定所述事务层数据包的发送位置为非首位,则获取拼接包组对应的预设包头字段的信息对所述事务层数据包进行处理。
进一步的,在上述申请实施例的基础上,所述信息处理模块520中的拼接包组对应的预设包头字段的信息存储于预设存储位置。
图12是本申请实施例提供的一种电子设备的结构示意图,如图12所示,该设备包括处理器60、存储器61、输入装置62和输出装置63;设备中处理器60的数量可以是一个或多个,图12中以一个处理器60为例;设备处理器60、存储器61、输入装置62和输出装置63可以通过总线或其他方式连接,图12中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中数据传输装置对应的模块(信息分组模块410、信息压缩模块420和信息传输模块430,或者,信息接收模块510和信息处理模块520)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据传输方法。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置62可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置63可包括显示屏等显示设备。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据传输方法,该方法包括:
确定预设包头字段具有相同信息的至少一个事务层数据包组,其中,所述事务层数据包组包括至少一个事务层数据包;
根据负载限制处理各所述事务层数据包组对应的包头,以降低所述预设包头字段的重复次数;
依次传输各所述事务层数据包组内的事务层数据包到接收端。和/或,
接收发送端传输的事务层数据包;
根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的数据传输方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据传输装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

Claims (15)

1.一种数据传输方法,其特征在于,应用于发送端,该方法包括:
确定预设包头字段具有相同信息的至少一个事务层数据包组,其中,所述事务层数据包组包括至少一个事务层数据包;
根据负载限制处理各所述事务层数据包组对应的包头,以降低所述预设包头字段的重复次数;
依次传输各所述事务层数据包组内的事务层数据包到接收端。
2.根据权利要求1所述的方法,其特征在于,所述预设包头字段至少包括:版本Format字段、类型Type字段、保留Reserved字段、传输优先级Traffic Class字段、TD字段、EP字段和长度Length字段中一种。
3.根据权利要求1所述的方法,其特征在于,所述确定预设包头字段具有相同信息的至少一个事务层数据包组,包括:
按照所述预设包头字段分别提取各事务层数据包的包头中的字段信息;
按照各所述字段信息的取值将对应的所述事务层数据包划分到不同的事务层数据包组。
4.根据权利要求1所述的方法,其特征在于,所述根据负载限制处理各所述事务层数据包组对应的包头,以降低所述预设包头字段的重复次数,包括:
针对各所述事务层数据包组,按照负载限制将所述事务层数据包组内的事务层数据包划分到至少一个拼接包组;
在各拼接包组内,保留位于发送首位的事务层数据包的预设包头字段并删除其他的事务层数据包的预设包头字段。
5.根据权利要求4所述的方法,其特征在于,所述拼接包组内的事务层数据包对应接收端的设备地址相同。
6.根据权利要求4所述的方法,其特征在于,所述按照负载限制将所述事务层数据包组内的事务层数据包划分到至少一个拼接包组,包括:
获取负载限制对应的最大拼接包数量;
按照所述最大拼接包数量将各事务层数据包组内的事务层数据包划分到至少一个拼接包组;
对属于各所述拼接包组的事务层数据包的预设保留字段进行标识以区分所述事务层数据包在对应拼接包组的发送位置。
7.根据权利要求4所述的方法,其特征在于,所述依次传输各所述事务层数据包组内的事务层数据包到接收端,包括:
针对各所述事务层数据包组,按照拼接包组将包括的事务层数据包的包头和负载分别发送到对应的接收端;
提取所述事务层数据包内预设保留字段的校验方式信息,按照所述校验方式信息生成所述包头和所述负载的校验信息,并将所述校验信息发送到对应的接收端。
8.根据权利要求7所述的方法,其特征在于,所述根据所述事务层数据包内预设校验字段内的校验方式信息根据所述包头和所述负载生成校验信息并发送对应的接收端,包括:
提取所述事务层数据包内的预设校验字段的校验信息,其中,所述预设校验字段位于包头的保留字段;
若所述校验信息标识第一校验方式,则基于所述事务层数据包对应的拼接包组生成校验信息并发送到对应的接收端;
若所述校验信息标识第二校验方式,则基于所述事务层数据包生成校验信息并发送到对应的接收端。
9.一种数据传输方法,其特征在于,应用接收端,该方法包括:
接收发送端传输的事务层数据包;
根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包。
10.根据权利要求9所述的方法,其特征在于,所述根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包,包括:
根据所述事务层数据包的包头中的预设保留字段的标识信息确定所述事务层数据包在拼接包组中的发送位置;
确定所述事务层数据包的发送位置为首位,则提取所述包头的预设包头字段的信息作为拼接包组对应的预设包头字段的信息,并根据所述信息处理所述事务层数据包;
确定所述事务层数据包的发送位置为非首位,则获取拼接包组对应的预设包头字段的信息对所述事务层数据包进行处理。
11.根据权利要求9所述的方法,其特征在于,所述拼接包组对应的预设包头字段的信息存储于预设存储位置。
12.一种数据传输装置,其特征在于,应用于发送端,该装置包括:
信息分组模块,用于确定预设包头字段具有相同信息的至少一个事务层数据包组,其中,所述事务层数据包组包括至少一个事务层数据包;
信息压缩模块,用于根据负载限制处理各所述事务层数据包组对应的包头,以降低所述预设包头字段的重复次数;
信息传输模块,用于依次传输各所述事务层数据包组内的事务层数据包到接收端。
13.一种数据传输装置,其特征在于,应用于接收端,该装置包括:
信息接收模块,用于接收发送端传输的事务层数据包;
信息处理模块,用于根据包头确定所述事务层数据包属于拼接包组,则根据所述拼接包组对应的预设包头字段的信息处理所述事务层数据包。
14.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8或9-11中任一所述的数据传输方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8或9-11中任一所述的数据传输方法。
CN202011380696.7A 2020-11-30 2020-11-30 一种数据传输方法、装置、电子设备和存储介质 Pending CN114579490A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011380696.7A CN114579490A (zh) 2020-11-30 2020-11-30 一种数据传输方法、装置、电子设备和存储介质
PCT/CN2021/130704 WO2022111326A1 (zh) 2020-11-30 2021-11-15 一种数据传输方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011380696.7A CN114579490A (zh) 2020-11-30 2020-11-30 一种数据传输方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN114579490A true CN114579490A (zh) 2022-06-03

Family

ID=81753980

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011380696.7A Pending CN114579490A (zh) 2020-11-30 2020-11-30 一种数据传输方法、装置、电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN114579490A (zh)
WO (1) WO2022111326A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297198B (zh) * 2022-09-21 2023-01-13 中昊芯英(杭州)科技有限公司 数据处理方法、电路、介质和计算设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104038450B (zh) * 2013-03-04 2017-09-19 华为技术有限公司 基于pcie总线的报文传输方法与装置
CN103532807B (zh) * 2013-10-12 2017-10-03 丁贤根 一种用于pcie数据服务质量管理的方法
CN108199864A (zh) * 2017-12-06 2018-06-22 中国航空工业集团公司西安航空计算技术研究所 一种基于PCIe事务层数据传输的带宽分配方法
US11477049B2 (en) * 2018-08-02 2022-10-18 Xilinx, Inc. Logical transport over a fixed PCIE physical transport network

Also Published As

Publication number Publication date
WO2022111326A9 (zh) 2022-10-20
WO2022111326A1 (zh) 2022-06-02

Similar Documents

Publication Publication Date Title
US6697366B1 (en) Ethernet memory management system and methods for operation thereof
WO2014135038A1 (zh) 基于pcie总线的报文传输方法与装置
US11023412B2 (en) RDMA data sending and receiving methods, electronic device, and readable storage medium
CN111343148A (zh) 一种fgpa通信数据的处理方法、系统及装置
WO2023124098A1 (zh) 用于在ieee 802.15.4网络中生成和发送应答帧的方法及通信装置
CN111769915B (zh) 数据传输方法及相关设备
CN110765059A (zh) 一种pcie数据优先级管理方法和装置
CN109688208B (zh) 一种基于fc-ae-asm消息的数据加载方法
CN116594948A (zh) Usb数据传输方法、装置、计算机设备及存储介质
CN114579490A (zh) 一种数据传输方法、装置、电子设备和存储介质
CN113676386B (zh) 一种fc-ae-1553总线协议报文通讯系统
CN111147597B (zh) 文件传输方法、终端、电子设备及存储介质
CN110113100B (zh) 一种用于以太网数据传输的可见光通信装置及方法
CN113973091A (zh) 一种报文处理方法、网络设备以及相关设备
CN113259490B (zh) 基于udp传输协议的多级节点网络数据传输方法
CN112003796B (zh) 一种广播报文处理方法、系统、设备及计算机存储介质
CN114116574A (zh) 一种数据传输的方法、装置、电子设备及存储介质
WO2020103420A1 (zh) 一种数据传输方法、接收方法、装置及系统
CN115904488A (zh) 数据传输方法、系统、装置及设备
WO2023097903A1 (zh) 报文传输方法、装置、电子设备和存储介质
CN111935834B (zh) 一种数据发送方法、装置、计算机设备及存储介质
US9942895B2 (en) Burst grouping with reduced overhead
CN116112456B (zh) 一种基于bap协议的数据缓存方法、装置、设备及介质
CN108733598B (zh) 一种数据传输方法和数据传输装置
CN116112581A (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