CN115514682B - 一种数据传输方法、装置、设备及存储介质 - Google Patents
一种数据传输方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115514682B CN115514682B CN202211164929.9A CN202211164929A CN115514682B CN 115514682 B CN115514682 B CN 115514682B CN 202211164929 A CN202211164929 A CN 202211164929A CN 115514682 B CN115514682 B CN 115514682B
- Authority
- CN
- China
- Prior art keywords
- layer data
- transport layer
- data packet
- message
- analysis result
- 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 97
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004458 analytical method Methods 0.000 claims abstract description 83
- 238000012545 processing Methods 0.000 claims abstract description 23
- 239000000872 buffer Substances 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3041—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Abstract
本申请公开了一种数据传输方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:获取服务器的CPU和PCIE设备之间传输的传输层数据包;根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。通过本申请的技术方案,可以分析判断传输层数据包是否出错并实时处理传输层数据报文,实时分析定位问题。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据传输方法、装置、设备及存储介质。
背景技术
随着信息技术的快速发展,服务器在计算、存储和网络等方面广泛应用,服务器需求量日益增多。PCI-Express(peripheral component interconnect express,高速串行计算机扩展总线标准)作为当前服务器与外设IO(Input/Output)设备连接总线,是一种高速串行计算机扩展总线标准。PCIE原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI、PCI-X和AGP总线标准。PCIE属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽。主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(QOS)等功能。PCIE协议复杂,分为事物传输层、数据链路层和物理层,针对PCIE设备的协议相关问题,需要使用PCIE协议分析模块进行分析。
其中,事物传输层会经常出问题。completion机制可以保证事物传输层的数据传输数据可靠。具体为当PCIE设备进行存储器读、I/O读写或者配置读写请求时,首先向目标设备发送数据读写请求TLP(Transaction Layer Packet,传输层数据包);当目标设备收到这些读写请求TLP后,数据和完成信息通过完成报文Completion(Cpl或者CplD)发送给源设备;如果TLP报文出错,则会报出Completion Time Out错误。现有的PCIE协议分析模块中,针对Completion Time Out问题只能在PCIE协议分析模块收集TLP报文后,通过客户端软件进行计算后才能判断出问题。这样存在延时无法实时发现Completion Time Out问题。
综上,如何实时发现Completion Time Out问题是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据传输方法、装置、设备及存储介质,能够实时发现Completion Time Out问题。其具体方案如下:
第一方面,本申请公开了一种数据传输方法,包括:
获取服务器的CPU和PCIE设备之间传输的传输层数据包;
根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;
通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。
可选的,所述获取服务器的CPU和PCIE设备之间传输的传输层数据包,包括:
通过数字信号处理器获取服务器的CPU和PCIE设备之间传输的传输层数据包。
可选的,所述获取服务器的CPU和PCIE设备之间传输的传输层数据包,包括:
将RC连接器与所述服务器的CPU进行连接,以传输发送端发送的请求报文;
将EP连接器与所述PCIE设备进行连接,以传输接收端发送的完成报文;
在所述请求报文和所述完成报文各自的前缀头中添加序号和时间戳,并将所述请求报文和所述完成报文拆分成若干个数据包,以得到传输层数据包。
可选的,所述获取服务器的CPU和PCIE设备之间传输的传输层数据包之后,还包括:
将所述请求报文保存到TX buffer中;
将所述完成报文保存到RX buffer中。
可选的,所述根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果,包括:
根据预设触发条件对所述序号和所述时间戳进行解析,并判断解析后的所述序号和解析后的所述时间戳是否出错,以得到分析结果。
可选的,所述根据预设触发条件对所述传输层数据包进行解析,包括:
当停止收集所述请求报文和所述完成报文后,对所述传输层数据包进行解析;
或,当预先设定的解析指令生效时,对所述传输层数据包进行解析。
可选的,所述的数据传输方法,还包括:
如果所述传输层数据包出错,则暂停所述服务器的CPU和所述PCIE设备之间所述传输层数据包的传输,并向所述客户端发送故障报告。
第二方面,本申请公开了一种数据传输装置,包括:
传输层数据包获取模块,用于获取服务器的CPU和PCIE设备之间传输的传输层数据包;
解析判断模块,用于根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;
数据报文处理模块,用于通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。
第三方面,本申请公开了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如前所述的数据传输方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前所述的数据传输方法。
本申请中,获取服务器的CPU和PCIE设备之间传输的传输层数据包;根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。可见,在服务器的CPU和PCIE设备之间进行传输层数据包的传输时就对传输层数据包进行判断,并且增加触发条件对传输层数据包进行解析,避免了传统技术中通过客户端软件进行计算后才能判断出问题,存在延时无法实时发现传输层数据包出错的问题。实现分析并判断传输层数据包是否出错,实时处理传输层数据报文,方便分析故障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据传输方法流程图;
图2为本申请公开的一种TLP报文格式定义示意图;
图3为本申请公开的一种具体的数据传输方法流程图;
图4为本申请公开的一种现有PCIE协议分析模块架构图;
图5为本申请公开的一种具体的PCIE协议分析模块架构图;
图6为本申请公开的一种数据传输装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,PCIE协议分析模块中,针对Completion Time Out问题只能在PCIE协议分析模块收集TLP报文后,通过客户端软件进行计算后才能判断出问题。这样存在延时无法实时发现Completion Time Out问题。
为此,本申请提供了一种数据传输方案,能够实时发现Completion Time Out问题。
本发明实施例公开了一种数据传输方法,参见图1所示,实施例一包括:
步骤S11:获取服务器的CPU和PCIE设备之间传输的传输层数据包。
本申请实施例中,当事务传输层在进行存储器读、I/O读写或者配置读写请求时,源设备首先向目标设备发送数据读写请求TLP。需要指出的是,在进行数据传输时,将RC(Root Complex,根复合体)连接器与所述服务器的CPU(central processing unit,中央处理器)进行连接,以传输发送端发送的请求报文;将EP(Endpoint Device,端点设备)连接器与所述PCIE设备进行连接,以传输接收端发送的完成报文。
本申请实施例中,请求报文和完成报文均为传输层数据报文,在传输层数据报文的Prefix(前缀头)中添加序号和时间戳,然后将添加了序号和时间戳之后的TLP报文拆分成若干个数据包,以得到传输层数据包。如图2示例性的提供了一种传输层数据报文格式定义示意图。
本申请实施例中,通过数字信号处理器(Digital Signal Processing,DSP)采集发送端和接收端的TLP数据包,也即通过数字信号处理器获取服务器的CPU和PCIE设备之间传输的传输层数据包。进一步的,将传输层数据包存储在各自对应的缓冲器中:将所述请求报文保存到TX buffer中;将所述完成报文保存到RX buffer中。
步骤S12:根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果。
为了解决现有技术中针对完成报文是否出错只能在发送到客户端软件之后判断,存在延时的问题,因此,本申请实施例中预先设定触发条件对预先设置在传输层数据报文Prefix中的序号和时间戳进行处理。在一种具体的实施方式中,预设触发条件可以为当停止收集所述请求报文和所述完成报文后,对所述传输层数据包进行解析;在另一种具体实施方式中,预设触发条件可以为预先设定的解析指令生效时,对所述传输层数据包进行解析。
本申请实施例中,当触发了预设触发条件后,TX buffer和RX buffer中的传输层数据报文会通过自身的数据处理单元处理传输层数据报文中增加的序号和时间戳,同时判读是否Completion Time Out情况出现。可以理解的是,由于传输层数据报文拆分成若干个数据包,并且传输层数据报文中预先添加了序号和时间戳,因此,在对所述序号和所述时间戳进行解析后,可以根据解析后的序号和时间戳判断是否有Completion Time Out问题,以得到分析结果。
步骤S13:通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。
本申请实施例中,通过预设发送接口将所述分析结果发送至客户端,如利用网络接口,通过网络把分析结果发送到客户端软件上,实现实时处理传输层数据报文,分析并判断Completion Time Out的问题。
本申请实施例中,如果在判读过程中,出现所述传输层数据包出错的情况,则暂停所述服务器的CPU和所述PCIE设备之间所述传输层数据包的传输,并向所述客户端发送故障报告。如此一来,方便分析故障,并且不会出现延时情况,可以实时分析判断CompletionTime Out的问题。
本申请中,获取服务器的CPU和PCIE设备之间传输的传输层数据包;根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。可见,在服务器的CPU和PCIE设备之间进行传输层数据包的传输时就对传输层数据包进行判断,并且增加触发条件对传输层数据包进行解析,避免了传统技术中通过客户端软件进行计算后才能判断出问题,存在延时无法实时发现传输层数据包出错的问题。实现分析并判断传输层数据包是否出错,实时处理传输层数据报文,方便分析故障。
本申请实施例公开了一种具体的数据传输方法,参见图3所示,该方法包括:
步骤S21:将RC连接器与所述服务器的CPU进行连接,以传输发送端发送的请求报文;将EP连接器与所述PCIE设备进行连接,以传输接收端发送的完成报文。
本申请实施例中,在进行数据传输时,RC连接器和EP连接器,主要负责PCIE协议分析模块连接服务器的CPU和PCIE设备。将RC连接器与所述服务器的CPU进行连接,以传输发送端发送的请求报文;将EP连接器与所述PCIE设备进行连接,以传输接收端发送的完成报文。其中,请求报文和完成报文均为传输层数据报文。
本申请实施例中,通过数字信号处理器获取服务器的CPU和PCIE设备之间传输的传输层数据包。进一步的,将传输层数据包存储在各自对应的缓冲器中:将所述请求报文保存到TX buffer中;将所述完成报文保存到RX buffer中。
步骤S22:在所述请求报文和所述完成报文各自的前缀头中添加序号和时间戳,并将所述请求报文和所述完成报文拆分成若干个数据包,以得到传输层数据包。
本申请实施例中,在传输层数据报文的Prefix(前缀头)中添加序号和时间戳,然后将添加了序号和时间戳之后的TLP报文拆分成若干个数据包,以得到传输层数据包。通过分析添加的序号和时间戳,按照传输层数据报文原始的传输顺序恢复出来,可以判断出所述传输层数据包是否出错。
步骤S23:根据预设触发条件对所述序号和所述时间戳进行解析,并判断解析后的所述序号和解析后的所述时间戳是否出错,以得到分析结果。
为了解决现有技术中针对完成报文是否出错只能在发送到客户端软件之后判断,存在延时的问题,因此,本申请实施例中预先设定触发条件对预先设置在传输层数据报文Prefix中的序号和时间戳进行处理。在一种具体的实施方式中,预设触发条件可以为当停止收集所述请求报文和所述完成报文后,对所述传输层数据包进行解析;在另一种具体实施方式中,预设触发条件可以为预先设定的解析指令生效时,对所述传输层数据包进行解析。
本申请实施例中,当触发了预设触发条件后,TX buffer和RX buffer中的传输层数据报文会通过自身的数据处理单元处理传输层数据报文中增加的序号和时间戳,同时判读是否Completion Time Out情况出现。可以理解的是,由于传输层数据报文拆分成若干个数据包,并且传输层数据报文中预先添加了序号和时间戳,因此,在对所述序号和所述时间戳进行解析后,可以根据解析后的序号和时间戳判断是否有Completion Time Out问题,以得到分析结果。
步骤S24:通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。
本申请实施例中,通过预设发送接口将所述分析结果发送至客户端,如利用网络接口,通过网络把分析结果发送到客户端软件上,实现实时处理传输层数据报文,分析并判断Completion Time Out的问题。
本申请实施例中,如果在判读过程中,出现所述传输层数据包出错的情况,则暂停所述服务器的CPU和所述PCIE设备之间所述传输层数据包的传输,并向所述客户端发送故障报告。如此一来,方便分析故障,并且不会出现延时情况,可以实时分析判断CompletionTime Out的问题。
本申请中,将RC连接器与所述服务器的CPU进行连接,以传输发送端发送的请求报文;将EP连接器与所述PCIE设备进行连接,以传输接收端发送的完成报文;在所述请求报文和所述完成报文各自的前缀头中添加序号和时间戳,并将所述请求报文和所述完成报文拆分成若干个数据包,以得到传输层数据包。根据预设触发条件对所述序号和所述时间戳进行解析,并判断解析后的所述序号和解析后的所述时间戳是否出错,以得到分析结果;通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。可见,在服务器的CPU和PCIE设备之间进行传输层数据包的传输时就对传输层数据包进行判断,并且增加触发条件对传输层数据包进行解析,避免了传统技术中通过客户端软件进行计算后才能判断出问题,存在延时无法实时发现传输层数据包出错的问题。实现分析并判断传输层数据包是否出错,实时处理传输层数据报文,方便分析故障。
下面开始详细介绍本申请提供的一种数据传输方法实施例,在实施例一的基础上,以实际应用为例对数据传输方法进行详尽说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本申请实施例中具体包括四个功能模块:一、RC连接器和EP连接器;二、DSP和TX/RX buffer模块;三、数据处理单元;四、网络接口;下面分别对各个功能模块进行展开说明。
首先,如图4所示为现有的事务传输层在进行数据传输时,一种PCIE协议分析模块架构。其中RC连接器连接到服务器主板的PCIE连接器上和服务器的CPU连接,EP连接器连接到PCIE设备;当CPU和PCIE设备之间有PCIE数据包传输时,可以通过PCIE协议分析模块进行PCIE协议分析,具体是RC发送端TX的PCIE TLP报文通过DSP模块的处理被缓存在TX buffer中,RC接收EP的RX TLP报文通过DSP处理被缓存在RX buffer;被缓存的发送(TX)和接收(RX)数据通过数据传输单元,利用网络接口传输到客户端进行数据处理。可见,现有技术中,针对Completion Time Out问题只能在协议分析模块收集TLP报文后,通过客户端软件进行计算后才能判断出问题。这样存在延时无法实时发现Completion Time Out问题。
因此,本实施例中,如图5所示对现有技术进行了改进。本实施例中事务传输层在进行数据传输时,PCIE协议分析模块包括4个主要功能模块。一、RC连接器和EP连接器,主要负责PCIE协议分析模块连接服务器的CPU和PCIE设备。二、DSP和TX/RX buffer模块,主要负责将CPU和PCIE设备间的TLP报文增加序列号和时间戳后保存到TX/RX buffer模块中。三、数据处理单元,负责将TX/RX buffer中的TLP报文序号和时间戳解析并分析是否有Completion Time Out问题。四、网络接口,负责通过网络把分析结果发送到客户端软件上。实现实时处理TLP报文,分析并判断Completion Time Out的问题。
另外,该服务器主板测试模块设计方法不仅可以用来分析服务器上的PCIE TLP协议问题,也可以用在其他消费或者企业级产品分析使用。
可见,通过DSP处理TLP报文,在TLP Prefix中增加序列号和时间戳,将处理完的数据存储在TX/RX buffer中;在服务器的CPU和PCIE设备之间进行传输层数据包的传输时就对传输层数据包进行判断,并且增加触发条件对传输层数据包进行解析,避免了传统技术中通过客户端软件进行计算后才能判断出问题,存在延时无法实时发现传输层数据包出错的问题。实现分析并判断传输层数据包是否出错,实时处理传输层数据报文,方便分析故障。
相应的,本申请实施例还公开了一种数据传输装置,参见图6所示,该装置包括:
传输层数据包获取模块11,用于获取服务器的CPU和PCIE设备之间传输的传输层数据包;
解析判断模块12,用于根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;
数据报文处理模块13,用于通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
由此可见,通过本实施例的上述方案,获取服务器的CPU和PCIE设备之间传输的传输层数据包;根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理。可见,在服务器的CPU和PCIE设备之间进行传输层数据包的传输时就对传输层数据包进行判断,并且增加触发条件对传输层数据包进行解析,避免了传统技术中通过客户端软件进行计算后才能判断出问题,存在延时无法实时发现传输层数据包出错的问题。实现分析并判断传输层数据包是否出错,实时处理传输层数据报文,方便分析故障。
在一种具体的实施方式中,所述传输层数据包获取模块11,包括:
传输层数据包获取单元,用于通过数字信号处理器获取服务器的CPU和PCIE设备之间传输的传输层数据包。
在一种具体的实施方式中,所述传输层数据包获取模块11,,包括:
请求报文传输模块,用于将RC连接器与所述服务器的CPU进行连接,以传输发送端发送的请求报文;
完成报文传输模块,用于将EP连接器与所述PCIE设备进行连接,以传输接收端发送的完成报文;
序号和时间戳添加模块,用于在所述请求报文和所述完成报文各自的前缀头中添加序号和时间戳;
数据包拆分模块,用于将所述请求报文和所述完成报文拆分成若干个数据包,以得到传输层数据包。
在一种具体的实施方式中,所述的数据传输装置,还用于:所述获取服务器的CPU和PCIE设备之间传输的传输层数据包之后,将所述请求报文保存到TX buffer中;将所述完成报文保存到RX buffer中。
在一种具体的实施方式中,所述解析判断模块12,包括:
解析判断单元,用于根据预设触发条件根据预设触发条件对所述序号和所述时间戳进行解析,并判断解析后的所述序号和解析后的所述时间戳是否出错,以得到分析结果。
在一种具体的实施方式中,所述解析判断模块12,包括:
第一解析单元,用于当停止收集所述请求报文和所述完成报文后,对所述传输层数据包进行解析;
第二解析单元,用于当预先设定的解析指令生效时,对所述传输层数据包进行解析。
在一种具体的实施方式中,所述的数据传输装置,还包括:
故障报告发送模块,用于如果所述传输层数据包出错,则暂停所述服务器的CPU和所述PCIE设备之间所述传输层数据包的传输,并向所述客户端发送故障报告。
进一步的,本申请实施例还公开了一种电子设备,图7是根据一示例性实施例示出的电子设备20结构图,图中内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的数据传输方法中的相关步骤。另外,本实施例中的电子设备20具体可以为服务器。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,数据223可以包括各种各样的数据。存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的数据传输方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述数据传输方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的数据传输或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种数据传输方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种数据传输方法,其特征在于,包括:
获取服务器的CPU和PCIE设备之间传输的传输层数据包;其中,将RC连接器与所述服务器的CPU进行连接,以传输发送端发送的请求报文;将EP连接器与所述PCIE设备进行连接,以传输接收端发送的完成报文,所述请求报文和所述完成报文均为传输层数据报文;在所述请求报文和所述完成报文各自的前缀头中添加序号和时间戳,并将添加了序号和时间戳之后的请求报文和完成报文拆分成若干个数据包,以得到传输层数据包;
根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;
通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理;
所述根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果,包括:
根据预设触发条件对所述序号和所述时间戳进行解析,并判断解析后的所述序号和解析后的所述时间戳是否出错,以得到分析结果;
所述根据预设触发条件对所述传输层数据包进行解析,包括:
当停止收集所述请求报文和所述完成报文后,对所述传输层数据包进行解析;或,当预先设定的解析指令生效时,对所述传输层数据包进行解析。
2.根据权利要求1所述的数据传输方法,其特征在于,所述获取服务器的CPU和PCIE设备之间传输的传输层数据包,包括:
通过数字信号处理器获取服务器的CPU和PCIE设备之间传输的传输层数据包。
3.根据权利要求1所述的数据传输方法,其特征在于,所述获取服务器的CPU和PCIE设备之间传输的传输层数据包之后,还包括:
将所述请求报文保存到TX buffer中;
将所述完成报文保存到RX buffer中。
4.根据权利要求1至3任一项所述的数据传输方法,其特征在于,还包括:
如果所述传输层数据包出错,则暂停所述服务器的CPU和所述PCIE设备之间所述传输层数据包的传输,并向所述客户端发送故障报告。
5.一种数据传输装置,其特征在于,包括:
传输层数据包获取模块,用于获取服务器的CPU和PCIE设备之间传输的传输层数据包;其中,将RC连接器与所述服务器的CPU进行连接,以传输发送端发送的请求报文;将EP连接器与所述PCIE设备进行连接,以传输接收端发送的完成报文,所述请求报文和所述完成报文均为传输层数据报文;在所述请求报文和所述完成报文各自的前缀头中添加序号和时间戳,并将添加了序号和时间戳之后的请求报文和完成报文拆分成若干个数据包,以得到传输层数据包;
解析判断模块,用于根据预设触发条件对所述传输层数据包进行解析,并判断所述传输层数据包是否出错,以得到分析结果;
数据报文处理模块,用于通过预设发送接口将所述分析结果发送至客户端,以便根据所述分析结果利用所述传输层数据包确定相应的传输层数据报文,并对所述传输层数据报文进行实时处理;
所述解析判断模块,具体用于:
根据预设触发条件对所述序号和所述时间戳进行解析,并判断解析后的所述序号和解析后的所述时间戳是否出错,以得到分析结果;
当停止收集所述请求报文和所述完成报文后,对所述传输层数据包进行解析;或,当预先设定的解析指令生效时,对所述传输层数据包进行解析。
6.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至4任一项所述的数据传输方法。
7.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中所述计算机程序被处理器执行时使得所述处理器实现如权利要求1至4任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211164929.9A CN115514682B (zh) | 2022-09-23 | 2022-09-23 | 一种数据传输方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211164929.9A CN115514682B (zh) | 2022-09-23 | 2022-09-23 | 一种数据传输方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115514682A CN115514682A (zh) | 2022-12-23 |
CN115514682B true CN115514682B (zh) | 2024-03-22 |
Family
ID=84505642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211164929.9A Active CN115514682B (zh) | 2022-09-23 | 2022-09-23 | 一种数据传输方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115514682B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116582471B (zh) * | 2023-07-14 | 2023-09-19 | 珠海星云智联科技有限公司 | Pcie设备、pcie数据捕获系统和服务器 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103098428A (zh) * | 2012-10-27 | 2013-05-08 | 华为技术有限公司 | 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质 |
WO2014135038A1 (zh) * | 2013-03-04 | 2014-09-12 | 华为技术有限公司 | 基于pcie总线的报文传输方法与装置 |
CN105700967A (zh) * | 2016-01-08 | 2016-06-22 | 华为技术有限公司 | 一种外设部件内部互联PCIe设备及其检测方法 |
CN109067796A (zh) * | 2018-09-27 | 2018-12-21 | 北京粉笔未来科技有限公司 | 一种数据传输方法及装置 |
CN112235266A (zh) * | 2020-09-29 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN114968893A (zh) * | 2022-07-27 | 2022-08-30 | 井芯微电子技术(天津)有限公司 | 基于时间戳的PCIe报文队列调度方法、系统及设备 |
-
2022
- 2022-09-23 CN CN202211164929.9A patent/CN115514682B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103098428A (zh) * | 2012-10-27 | 2013-05-08 | 华为技术有限公司 | 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质 |
WO2014135038A1 (zh) * | 2013-03-04 | 2014-09-12 | 华为技术有限公司 | 基于pcie总线的报文传输方法与装置 |
CN105700967A (zh) * | 2016-01-08 | 2016-06-22 | 华为技术有限公司 | 一种外设部件内部互联PCIe设备及其检测方法 |
CN109067796A (zh) * | 2018-09-27 | 2018-12-21 | 北京粉笔未来科技有限公司 | 一种数据传输方法及装置 |
CN112235266A (zh) * | 2020-09-29 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN114968893A (zh) * | 2022-07-27 | 2022-08-30 | 井芯微电子技术(天津)有限公司 | 基于时间戳的PCIe报文队列调度方法、系统及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115514682A (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547589B (zh) | 一种数据采集处理方法以及装置 | |
CN112600926A (zh) | 一种消息推送方法、装置及计算机可读存储介质 | |
KR102167613B1 (ko) | 메시지 푸시 방법 및 장치 | |
US7171464B1 (en) | Method of tracing data traffic on a network | |
CN109656574B (zh) | 交易时延度量方法、装置、计算机设备及存储介质 | |
CN104079571B (zh) | 一种识别Android模拟器的方法及装置 | |
CN115514682B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN112448969A (zh) | 链路追踪方法、装置、系统、设备及可读存储介质 | |
US20230300051A1 (en) | In-band Edge-to-Edge Round-Trip Time Measurement | |
CN112994971A (zh) | 一种基于云服务器的设备离线监测方法及相关装置 | |
CN111181760B (zh) | 网络故障探测方法、装置、计算机可读介质及电子设备 | |
CN111404765A (zh) | 一种报文处理方法、装置、设备及计算机可读存储介质 | |
WO2013078873A1 (zh) | 识别应答报文的方法及设备 | |
CN111404842B (zh) | 数据传输方法、装置及计算机存储介质 | |
EP2560322B1 (en) | Method and apparatus for monitoring network traffic and determining the timing associated with an application | |
CN110300021B (zh) | 一种计算子站录波简报数据处理时间的方法及计算装置 | |
CN113726592B (zh) | 一种边缘服务器的传输延迟测试方法、系统及相关组件 | |
CN112583672B (zh) | 一种基于时间戳的tcp服务端稳定性测试方法 | |
CN106230619B (zh) | 数据发送、接收方法及装置、数据传输方法及系统 | |
CN113242292A (zh) | 报文传输方法、装置、设备、介质及产品 | |
CN109981394B (zh) | 基于增强型can总线协议分析仪的通信方法和装置 | |
CN105025028A (zh) | 基于流量分析的ip黑洞发现方法 | |
CN109586953B (zh) | 基于数学模型虚拟网络的数据通信交互方法与系统 | |
WO2024087692A1 (zh) | 设备管理方法、设备、系统和存储介质 | |
CN115801925A (zh) | 基于列车自动监控ats系统的数据处理方法及装置 |
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 |