CN114253718A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114253718A CN114253718A CN202111523062.7A CN202111523062A CN114253718A CN 114253718 A CN114253718 A CN 114253718A CN 202111523062 A CN202111523062 A CN 202111523062A CN 114253718 A CN114253718 A CN 114253718A
- Authority
- CN
- China
- Prior art keywords
- data
- identification information
- return
- read
- returned
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据处理方法、装置、电子设备及存储介质,涉及网络通信技术领域。该方法包括:基于读取的返回数据确定对应的读操作数据包,以及读操作数据包对应的验证标识信息,其中,返回数据为被并行读取的数据流;基于验证标识信息,读取返回数据的返回标识信息;基于返回标识信息对返回数据进行重组,得到目标数据。本申请能够对多种混合的返回数据流进行并行读取,并根据读取到的数据流返回给处理器的返回标识信息对数据流进行重组,得到分流后的目标数据,以对多种不同类型的数据进行并行地重组和传输,减少传输数据流的额外数据类型标志位等开销的传输压力,节省传输成本,提高了数据传输的效率,优化了数据传输的性能。
Description
技术领域
本申请涉及网络通信技术领域,具体而言,涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
DMA(Direct Memory Access,直接存储器访问)控制器是PCI-e(PCI-Express,一种通用总线规格)总线通信中关键模块,它将系统内部和外部存储器连接起来的控制器。随着多核CPU(central processing unit,中央处理器)的技术发展,系统与外设之间通过PCI-e总线进行DMA传输数据性能、效率要求越高。同时,随着DPDK(Data PlaneDevelopment Kit,数据平面开发套件)、虚拟化等技术的发展,原来传输的数据类型由单一格式变成多样化类型。
PCI-e总线传输数据过程由于信号质量、外部干扰的缘故,可能出现数据差错、分片、重传等情况,因此在设计DMA控制器接收数据时需要对数据进行重组、排序等操作。如果数据类型为单一类型,数据重组、排序设计比较容易实现;如果数据类型为多种类型,则数据重组、排序设计变得复杂,导致数据传输的效率较低,性能较差。
发明内容
有鉴于此,本申请实施例的目的在于提供一种数据处理方法、装置、电子设备及存储介质,以改善现有技术中存在的数据传输效率较低的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种数据处理方法,包括:
基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息,其中,所述返回数据为被并行读取的数据流;
基于所述验证标识信息,读取所述返回数据的返回标识信息;
基于所述返回标识信息对所述返回数据进行重组,得到目标数据。
在上述实现方式中,通过对被并行读取的数据流的读操作数据包和验证标识信息进行获取,能够基于验证标识信息,减少读操作读取返回数据时的溢出和返回数据的覆盖情况。在减小并行读操作溢出的情况下,由于返回数据中会出现乱片、乱序返回等多种情况,需要对返回数据进行重组处理,以得到目标数据,再对目标数据进行分发,进行后续处理,可以通过对返回数据返回给处理器的返回标识信息进行读取,基于返回标识信息中包含的信息,对返回数据流进行重组,得到重组后的目标数据,实现对多种不同类型的数据进行并行地重组和传输,减少传输数据流的额外数据类型标志位等开销的传输压力,节省传输成本,提高了数据传输的效率,优化了数据传输的性能。
可选地,所述返回标识信息中包括所述返回数据的数据类型、数据序列号和重组序列号;所述基于所述返回标识信息对所述返回数据进行重组,得到目标数据,包括:
识别所述返回数据的写入状态;
基于所述数据类型和所述写入状态,将所述返回数据存储到对应的目标分区中;
基于所述数据序列号和所述重组序列号,判断所述返回数据是否完整写入所述目标分区;
在所述返回数据完整写入所述目标分区时,得到所述返回数据的完整标识信息;
基于所述完整标识信息和所述数据类型对所述返回数据进行分流,以对所述返回数据进行重组,得到对应的所述目标数据。
在上述实现方式中,返回数据返回给处理器的返回标识信息中包括返回数据的数据类型、数据序列号和重组序列号。在读取的数据类型的基础上,对返回数据进行写入,能够对返回数据进行分区存储。在读取的数据序列号和重组序列号的基础上,对返回数据写入目标分区时的完整性进行识别,能够对返回数据的写入操作进行监控,以在返回数据完整写入时,生成对应的完整标识信息,在检测到返回数据具有对应的完整标识信息时,基于完整标识信息和数据类型,对返回数据进行分流,实现对返回数据的重组,得到重组后的目标数据,以对目标数据进行分发处理,实现对多种类型的目标数据的并行处理。
可选地,所述基于所述数据序列号和所述重组序列号,判断所述返回数据是否完整写入所述目标分区,包括:
在所述返回数据写入所述目标分区时,基于所述重组序列号确定所述返回数据的前置状态,将所述数据序列号作为所述前置状态的写入地址;
获取所述返回数据写入所述目标分区后的后置状态;
基于所述前置状态和后置状态,判断所述返回数据是否完整写入所述目标分区,其中,所述前置状态与所述后置状态不一致时,则所述返回数据完整写入所述目标分区。
在上述实现方式中,在对返回数据写入目标分区时的完整性进行判断时,能够基于返回数据写入目标分区时的前置状态以及写入目标分区后的后置状态进行对比,以对完整性进行判断。通过对重组序列号进行写入,写入的地址为数据序列号,得到返回数据的前置状态。在前置状态与后置状态不一致时,则返回数据流完整写入目标分区。能够对返回数据是否完整地写入目标分区进行快速、准确地判断,为返回数据的重组操作提供基础。
可选地,所述基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息之后,所述方法还包括:
基于所述验证标识信息,确定保存地址;
基于所述保存地址,将所述返回数据的返回标识信息保存到对应的读取标识缓冲区域。
在上述实现方式中,在获取返回数据包以及对应的验证标识信息之后,由于读取的返回数据的种类较多,且能够包含多种混合数据流,为了对混合的数据流进行区分识别,可以通过读操作数据包的验证标识信息,确定对应的保存地址,以保存地址作为地址对返回数据的返回标识信息进行保存,将返回标识信息缓存到对应的读取标识缓冲区域中,对返回数据进行读操作时返回给处理器的返回标识信息进行缓存,对多个返回数据的并行的读操作进行区分识别,减小总线的传输压力。
可选地,所述基于所述验证标识信息,读取所述返回数据的返回标识信息,包括:
基于所述验证标识信息,提取读取地址;
基于所述读取地址,对所述读取标识缓冲区域进行读取,得到对应的所述返回标识信息。
在上述实现方式中,在对返回数据进行重组之前,可以提取读操作数据包的验证标识信息,得到读取地址,以读取地址作为读地址,对读取标识缓冲区域进行读取,获取对应的返回标识信息。在数据重组之前对缓存的返回标识信息进行读取,以获取对应的返回数据和返回标识信息,为数据的重组与分流提供数据源。
可选地,所述基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息,包括:
获取所述返回数据进行读取时的读取请求;
基于所述读取请求,确定所述返回数据对应的所述读操作数据包;
基于所述读取请求,得到所述读操作数据包对应的所述验证标识信息。
在上述实现方式中,由于返回数据为被并行读取的数据流,在对返回数据进行读操作时,通过对返回数据进行读取时的读取请求进行获取,能够根据读取请求,生成与返回数据对应的扩展总线标准的总线传输协议的读操作数据包,还能够根据读取请求的请求次数,得到读操作数据包对应的验证标识信息,其中,验证标识信息为连续、循环使用的标识信息,用于减少并行的读操作的溢出情况。
可选地,所述基于所述读取请求,得到所述读操作数据包对应的所述验证标识信息,包括:
获取所述读操作数据包的初始验证标识信息,所述初始验证标识信息用于判断所述返回数据是否被覆盖;
基于读取请求对所述初始验证标识信息进行更新,得到所述验证标识信息。
在上述实现方式中,当扩展总线标准的总线信号质量差的情况下,链路层在数据传输时,可能存在反复重传的现象。由于验证标识信息是循环使用的,在前一个验证标识信息未完全提取时,如果采用相同的验证标识信息进行读操作,会导致读操作溢出。因此,通过获取返回数据的初始验证标识信息,能够在初始验证标识信息的基础上,对标识信息是否完全被提取进行判断,从而对未返回的返回数据是否被提前读取进行判断,以对返回数据是否会在重组操作中被覆盖进行判断,基于读取请求对初始验证标识信息进行更新,能够对初始标识信息进行重置,以得到验证标识信息,有效地减少了读操作溢出和返回数据被覆盖的重复情况,提高了数据传输的准确性。
第二方面,本申请实施例还提供了一种数据处理装置,所述装置包括:
并行模块,用于基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息,其中,所述返回数据为被并行读取的数据流;
读取模块,用于基于所述验证标识信息,读取所述返回数据的返回标识信息;
重组模块,用于基于所述返回标识信息对所述返回数据进行重组,得到目标数据。
在上述实现方式中,通过并行模块对一个或多个返回数据进行并行读取,获取返回数据对应的读操作数据包和验证标识信息,减少读操作读取返回数据时的溢出和返回数据的覆盖情况;通过读取模块在验证标识信息的基础上进行读取,得到返回数据返回的返回标识信息;由于返回数据中会出现乱片、乱序返回等多种情况,通过重组模块在返回标识信息的基础上对返回数据进行分流重组,得到用于分发处理的目标数据。能够对多种不同类型的数据进行并行地重组和传输,减少传输数据流的额外数据类型标志位等开销的传输压力,节省传输成本,提高了数据传输的效率,优化了数据传输的性能。
第三方面,本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述数据处理方法中任一实现方式中的步骤。
第四方面,本申请实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述数据处理方法中任一实现方式中的步骤。
综上所述,本申请提供了一种数据处理方法、装置、电子设备及存储介质,能够对多种混合的返回数据流进行并行读取,并根据读取到的数据流返回给处理器的返回标识信息对数据流进行重组,得到分流后的目标数据,以对多种不同类型的数据进行并行地重组和传输,减少传输数据流的额外数据类型标志位等开销的传输压力,节省传输成本,提高了数据传输的效率,优化了数据传输的性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种数据处理方法的流程示意图;
图2为本申请实施例提供的一种步骤S3的详细流程示意图;
图3为本申请实施例提供的一种步骤S33的详细流程示意图;
图4为本申请实施例提供的另一种数据处理方法的流程示意图;
图5为本申请实施例提供的一种步骤S2的详细流程示意图;
图6为本申请实施例提供的一种步骤S1的详细流程示意图;
图7为本申请实施例提供的一种步骤S13的详细流程示意图;
图8为本申请实施例提供的一种数据处理装置的模块结构示意图。
图标:400-数据处理装置;410-并行模块;420-读取模块;430-重组模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请实施例的一部分实施例,而不是全部的实施例。基于本申请实施例的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
DMA(Direct Memory Access,直接存储器访问)控制器需要支持多种不同运算数据操作或数据流传输,例如以太网报文传输、各种加解密数据、压缩解压缩数据、AI(Artificial Intelligence,人工智能)运算数据等,要在一个DMA控制器支持多种类型数据操作,现有的设计技术是在数据流的头部增加数据类型字段用来识别、分类操作,占用数据流的传输带宽。
在现有的一些DMA控制器设计方案中,为了处理众多AHB(Advanced HighPerformance Bus,高级高性能总线)从设备的数据访问,需要设计多个DMA控制器分类处理AHB从设备。多个DMA控制器之间采用请求仲裁、设计优先级、中断相应等方式处理,其中一个DMA控制器一旦获取控制权,则接管总线,完成数据的传输后再释放总线。
现有技术中,通常采用独占式处理每个业务的DMA数据访问,依靠优先级响应请求,利用中断方式通知CPU(central processing unit,中央处理器)响应DMA数据处理,各个DMA通道数据访问以串行方式进行、各个DMA通道需设计各自数据缓存区,独立接收各自通道的数据、各个DMA负责各自类型的数据报文,不能进行统一处理,在数据类型较多的情况下,无法对混合流量的数据进行有效地重组,导致数据传输的效率较低,性能较差。
因此,本申请实施例提供了一种数据处理方法,应用于DMA控制器,DMA控制器可以设置于为服务器、个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)等具有逻辑计算功能的电子设备中,能够对多种混合的返回数据流进行并行处理和有效重组,得到能够分发处理的目标数据。
可选地,电子设备中可以包括存储器、存储控制器、处理器、外设接口、输入输出单元等。电子设备的组件和结构可以根据实际情况进行设置。
上述的存储器、存储控制器、处理器、外设接口、输入输出单元各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器用于执行存储器中存储的可执行模块。
其中,存储器可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器用于存储程序,处理器在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备所执行的方法可以应用于处理器中,或者由处理器实现。
上述的处理器可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括CPU、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signal processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的外设接口将各种输入/输出装置耦合至处理器以及存储器。在一些实施例中,外设接口,处理器以及存储控制器可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
本实施例中的电子设备可以用于执行本申请实施例提供的各个数据处理方法中的各个步骤。下面通过几个实施例详细描述数据处理方法的实现过程。
请参阅图1,图1为本申请实施例提供的一种数据处理方法的流程示意图,该方法可以包括以下步骤:
步骤S1,基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息。
其中,返回数据为被并行读取的数据流,在对返回数据进行读取时,可以同时对多个返回数据申请DMA读操作,以对多种混合类型的数据流进行并行地读取,提高数据流的处理效率。在对返回数据进行读取时,能够生成对应的扩展总线标准的总线传输协议的读操作数据包,即PCI-e MRd TLP(Transaction Layer Packet,事务层数据包)读操作数据包中具有的验证标识信息。
可选地,验证标识信息能够定义为8bit位宽的数据,验证标识信息为能够连续、循环使用的标识信息,每生成一个读操作数据包,即为该读操作数据包分配下一个连续的验证标识信息。验证标识信息的TAG值可以设置为32或64,以进行循环使用,用于减少并行的读操作的溢出情况。
可选地,在对返回数据进行读操作时,可以根据返回数据的数据类型、读操作的序号等对返回数据的读操作进行分别读取,以实现混合类型数据流的并行读操作。
步骤S2,基于所述验证标识信息,读取所述返回数据的返回标识信息。
其中,根据获取的验证标识信息,对返回数据返回给处理器的返回标识信息进行读取,以对返回数据的相关数据进行获取,在此基础上实现对返回数据的重组操作。
可选地,返回标识信息中包括数据类型(data type)、数据序列号(read seqnumber)和重组序列号(restruct number)等多种数据,返回标识信息的定义格式可以为:data type[7:0]、read seq number[n:0]和restruct number[m:0]等。其中,数据类型用于对返回数据的数据流类型进行分类,数据类型中可以同时对256个返回数据的数据流类型进行分类和确定;数据序列号可以作为返回数据的缓存基地址,并对返回数据进行编号,数据序列号的大小可以根据缓存的区域的大小决定;重组序列号用于对返回数据的重组操作进行检测,重组序列号能够随着验证标识信息的循环进行更新,在验证标识信息进行循环时,重组序列号可以对应地加1,可以将重组序列号设置为16次循环,则对应地更新,即将m设置为3,还可以对m值以及更新的周期进行修改和调整。
步骤S3,基于所述返回标识信息对所述返回数据进行重组,得到目标数据。
其中,由于返回数据中会出现乱片、乱序返回等多种情况,在CPU响应读操作时,能够在获取的返回标识信息的基础上,对返回数据进行重组,减小乱片、乱序返回等情况,不需要增加数据类型操作的标识就能够实现返回数据的重组,不会增加数据的传输压力和传输的带宽开销,在很合数据流与多核CPU之间实现高效地数据传输。
在图1所示的实施例中,能够对多种不同类型的数据进行并行地重组和传输,减少传输数据流的额外数据类型标志位等开销的传输压力,节省传输成本,提高了数据传输的效率,优化了数据传输的性能。
可选地,请参阅图2,图2为本申请实施例提供的一种步骤S3的详细流程示意图,步骤S3还可以包括步骤S31-S35。
步骤S31,识别所述返回数据的写入状态。
其中,在对读取的返回数据进行重组时,能够对接收的返回数据的写入状态进行识别,获取返回数据的写入状态。
示例地,返回数据在写入时,针对不同类型的返回数据,每种类型的返回数据的写入地址可以采用waddr=read seq number+lower Address模式进行获取,其中,lowerAddress为写入完成时的完成数据包中包含的下位地址。
步骤S32,基于所述数据类型和所述写入状态,将所述返回数据存储到对应的目标分区中。
其中,根据识别得到的接受返回数据的写入状态,在返回数据的数据类型的基础上,能够对返回数据进行分区存储,将返回数据存储到对应的目标分区中,以将多种不同类型的混合数据流进行区分存储。
步骤S33,基于所述数据序列号和所述重组序列号,判断所述返回数据是否完整写入所述目标分区。
其中,通过数据序列号和重组序列号,能够对返回数据写入目标分区时的写入完整性进行判断,能够对返回数据的写入操作进行监控。
步骤S34,在所述返回数据完整写入所述目标分区时,得到所述返回数据的完整标识信息。
其中,在判断返回数据完整写入目标分区时,则生成代表返回数据完整写入的完整标识信息,以对返回数据的写入状态为完整写入操作进行反馈。
步骤S35,基于所述完整标识信息和所述数据类型对所述返回数据进行分流,以对所述返回数据进行重组,得到对应的所述目标数据。
其中,在检测到返回数据具有对应的完整标识信息时,可以基于完整标识信息对返回数据进行重组操作,在返回数据的数据类型的基础上,对返回数据进行分流,实现对返回数据的重组,得到重组后的一个或多个目标数据。
值得说明的是,在对返回数据进行分流时,可以根据数据类型,将返回数据划分为多种用于不同处理的目标数据,还可以将目标数据分别分发给对应的实际处理模块进行处理,以对多种类型的数据流进行并行运行地单独处理。
在图2所示的实施例中,可以在数据类型、数据序列号和重组序列号的基础上,对返回数据进行分流和重组,得到对应的目标数据。
可选地,请参阅图3,图3为本申请实施例提供的一种步骤S33的详细流程示意图,步骤S33还可以包括步骤S331-S333。
步骤S331,在所述返回数据写入所述目标分区时,基于所述重组序列号确定所述返回数据的前置状态,将所述数据序列号作为所述前置状态的写入地址。
其中,在对返回数据写入目标分区时的完整性进行判断时,可以在返回数据写入目标区域时,先对返回数据的前置状态进行获取。对返回数据的写操作、写地址等状态进行识别,在返回数据写入目标区域时,将返回数据的重组序列号写入前置状态,并将数据序列号作为重组序列号写入前置状态的写入地址,以获取对应的前置状态。
步骤S332,获取所述返回数据写入所述目标分区后的后置状态。
其中,在返回数据写入目标分区以后,能够基于返回数据的写操作、写地址等状态,以及目标分区中写入的数据流,对返回数据写入目标分区后的后置状态进行获取。
步骤S333,基于所述前置状态和后置状态,判断所述返回数据是否完整写入所述目标分区。
其中,通过对获取的前置状态和后置状态进行对比,能够判断返回数据是否完整写入目标分区,在前置状态与所述后置状态不一致时,则返回数据完整写入目标分区,在前置状态与后置状态一致时,则返回数据未完整写入目标分区。基于对返回数据流写入状态的前置状态和数据流写入后的后置状态进行监控和比较,能够减少数据重组操作的难度,还能够支持多种不同类型的混合数据进行重组。
可选地,由于具有多个返回数据,或者返回数据中包括多种混合的数据流,因此还可以设前置状态表和后置状态表,将获取的多个前置状态和对应的多个后置状态分别添加到对应的前置状态表和后置状态表中,以在两个表格中对每个前置状态和对应的后置状态进行对比,提高了对比的针对性和准确性,还能够在两个表格中,按照多个返回数据的数据序列号的序列顺序,依次对多个前置状态与对应的后置状态进行对比,提高了对比的有序性。
值得说明的是,在对返回数据是否完整写入目标分区进行判断之后,还可以对后置状态表中多个后置状态进行更新,以前置状态表中对应的多个前置状态对后置状态进行更新,以将前置状态表和后置状态表进行统一。能够从两个表格对返回数据输出是否完成进行获取,在前置状态表和后置状态表一致时,则返回数据输出完成,可以进行重组操作,提高了返回数据的输出状态的获取效率和准确性。
在图3所示的实施例中,能够对返回数据是否完整地写入目标分区进行快速、准确地监控和判断,为返回数据的重组操作提供基础。
可选地,请参阅图4,图4为本申请实施例提供的另一种数据处理方法的流程示意图,在步骤S1之后,该方法还可以包括步骤Sa-Sb。
步骤Sa,基于所述验证标识信息,确定保存地址。
其中,在获取返回数据包以及对应的验证标识信息之后,由于读取的返回数据的种类较多,且能够包含多种混合数据流,为了对混合的数据流进行区分识别,可以在检测到读操作生成对应的读操作数据包时,根据读操作数据包对应的验证标识信息,作为对应的保存地址。
步骤Sb,基于所述保存地址,将所述返回数据的返回标识信息保存到对应的读取标识缓冲区域。
其中,可以在获取的保持地址的基础上,对返回数据的返回给处理器,能够对读操作类型进行标识的返回标识信息进行缓存,以将其保存到对应的读取标识缓冲区域中。能够通过读取标识缓冲区域中的返回标识信息,对混合数据流的读操作进行区分和识别,有效地减小了扩展总线标准的总线传输开销。
可选地,返回标识信息中可以包括返回数据的数据类型、数据序列号和重组序列号等多种数据。
在图4所示的实施例中,能够对返回数据进行读操作时返回给处理器的返回标识信息进行缓存,对多个返回数据的并行的读操作进行区分识别,减小总线的传输压力。
可选地,请参阅图5,图5为本申请实施例提供的一种步骤S2的详细流程示意图,步骤S2还可以包括步骤S21-S22。
步骤S21,基于所述验证标识信息,提取读取地址。
其中,在需要对返回数据进行重组之前,可以提取读操作数据包的验证标识信息中的TAG值,得到读取地址,以读取地址作为读地址。
步骤S22,基于所述读取地址,对所述读取标识缓冲区域进行读取,得到对应的所述返回标识信息。
其中,基于读取地址在读取标识缓冲区域中进行读取,能够对缓存在读取标识缓冲区域中的返回标识信息进行读取,以获取返回数据的数据类型、数据序列号和重组序列号等多种数据,以支持多种类型复杂的数据的重组操作。
在图5所示的实施例中,能够在数据重组之前对缓存的返回标识信息进行读取,以获取对应的返回数据和返回标识信息,为数据的重组与分流提供数据源。
可选地,请参阅图6,图6为本申请实施例提供的一种步骤S1的详细流程示意图,步骤S1还可以包括步骤S11-S13。
步骤S11,获取所述返回数据进行读取时的读取请求。
其中,在对返回数据进行并行的读操作时,为了获取对应的读取数据包和验证标识信息,可以获取返回数据被读取的读取请求,基于读取请求对返回数据进行并行地读操作,提高了数据读操作的效率。
步骤S12,基于所述读取请求,确定所述返回数据对应的所述读操作数据包。
其中,在检测到返回数据的读取请求时,能够生成与返回数据对应的读操作数据包,读操作数据包中包括扩展总线标准的总线传输协议中进行读操作时的相关数据。
步骤S13,基于所述读取请求,得到所述读操作数据包对应的所述验证标识信息。
其中,在获取对应的读操作数据包后,基于读取请求,还可以对读操作数据包对应的验证标识信息进行获取。
在图6所示的实施例中,能够对多种混合数据类型的返回数据进行并行地读操作,以根据读操作获取对应读操作数据包和验证标识信息。
可选地,请参阅图7,图7为本申请实施例提供的一种步骤S13的详细流程示意图,步骤S13还可以包括步骤S131-S132。
步骤S131,获取所述读操作数据包的初始验证标识信息。
其中,当扩展总线标准的总线信号质量差的情况下,链路层在数据传输时,可能存在反复重传的现象。由于验证标识信息是循环使用的,在前一个验证标识信息未完全提取时,如果采用相同的验证标识信息进行读操作,会导致读操作溢出。为了减少读操作的溢出情况,可以线对读操作数据包的初始验证标识信息进行获取。初始验证标识信息用于判断返回数据是否被覆盖,判断过程可以包括:初始验证标识信息可以对标识信息是否完全被提取进行判断,从而对未返回的返回数据是否被提前读取进行判断,以对返回数据是否会在重组操作中被覆盖进行判断。
步骤S132,基于读取请求对所述初始验证标识信息进行更新,得到所述验证标识信息。
其中,为了减少读操作的溢出情况导致的返回数据在重组排序时被覆盖的情况,可以在初始验证标识信息的基础上进行更新。由于读取请求中可以包括多个请求次数,因此,可以在请求次数的基础上,对初始验证标识信息的TAG值进行重置,得到验证标识信息,能有效地减少数据传输的重复情况。
可选地,在获取验证标识信息之后,还可以将验证标识信息反馈给并行读操作的DMA中,以判断是否使用该验证标识信息重新匹配对应的读操作数据包。
在图7所示的实施例中,基于读取请求对初始验证标识信息进行更新,能够对初始标识信息进行重置,以得到验证标识信息,有效地减少了读操作溢出和返回数据被覆盖的重复情况,提高了数据传输的准确性。
请参阅图8,图8为本申请实施例提供的一种数据处理装置的模块结构示意图,数据处理装置400可以包括:
并行模块410,用于基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息,其中,所述返回数据为被并行读取的数据流;
读取模块420,用于基于所述验证标识信息,读取所述返回数据的返回标识信息;
重组模块430,用于基于所述返回标识信息对所述返回数据进行重组,得到目标数据。
在一可选的实施方式中,重组模块430中还可以包括分区存储子模块、判断子模块和分流子模块;
分区存储子模块,用于识别所述返回数据的写入状态;基于所述数据类型和所述写入状态,将所述返回数据存储到对应的目标分区中;
判断子模块,用于基于所述数据序列号和所述重组序列号,判断所述返回数据是否完整写入所述目标分区;在所述返回数据完整写入所述目标分区时,得到所述返回数据的完整标识信息;
分流子模块,用于基于所述完整标识信息和所述数据类型对所述返回数据进行分流,以对所述返回数据进行重组,得到对应的所述目标数据。
在一可选的实施方式中,判断子模块中还可以包括前置单元、后置单元和比较单元;
前置单元,用于在所述返回数据写入所述目标分区时,基于所述重组序列号确定所述返回数据的前置状态,将所述数据序列号作为所述前置状态的写入地址;
后置单元,用于获取所述返回数据写入所述目标分区后的后置状态;
比较单元,用于基于所述前置状态和后置状态,判断所述返回数据是否完整写入所述目标分区,其中,所述前置状态与所述后置状态不一致时,则所述返回数据完整写入所述目标分区。
在一可选的实施方式中,数据处理装置400中还可以包括缓存模块,用于基于所述验证标识信息,确定保存地址;基于所述保存地址,将所述返回数据的返回标识信息保存到对应的读取标识缓冲区域。
在一可选的实施方式中,读取模块420中还可以包括提取子模块和读取子模块;
提取子模块,用于基于所述验证标识信息,提取读取地址;
读取子模块,用于基于所述读取地址,对所述读取标识缓冲区域进行读取,得到对应的所述返回标识信息。
在一可选的实施方式中,并行模块410中还可以包括请求子模块和读操作子模块;
请求子模块,用于获取所述返回数据进行读取时的读取请求;
读操作子模块,用于基于所述读取请求,确定所述返回数据对应的所述读操作数据包;基于所述读取请求,得到所述读操作数据包对应的所述验证标识信息。
在一可选的实施方式中,读操作子模块还包括初始单元和更新单元;
初始单元,用于获取所述读操作数据包的初始验证标识信息,所述初始验证标识信息用于判断所述返回数据是否被覆盖;
更新单元,用于基于读取请求对所述初始验证标识信息进行更新,得到所述验证标识信息。
由于本申请实施例中的装置解决问题的原理与前述的数据处理方法的实施例相似,因此本实施例中的数据处理装置400的实施可以参见上述数据处理方法的实施例中的描述,重复之处不再赘述。
本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行本实施例提供的数据处理方法中任一项所述方法中的步骤。
应当理解是,该电子设备可以是个人电脑、平板电脑、智能手机、个人数字助理等具有逻辑计算功能的电子设备。
本申请实施例还提供了一种计算机可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本实施例提供的数据处理方法中任一项所述方法中的步骤。
综上所述,本申请实施例提供了一种数据处理方法、装置、电子设备及存储介质,能够对多种混合的返回数据流进行并行读取,并根据读取到的数据流返回给处理器的返回标识信息对数据流进行重组,得到分流后的目标数据,以对多种不同类型的数据进行并行地重组和传输,减少传输数据流的额外数据类型标志位等开销的传输压力,节省传输成本,提高了数据传输的效率,优化了数据传输的性能。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。因此本实施例还提供了一种可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行区块数据存储方法中任一项所述方法中的步骤。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RanDom Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息,其中,所述返回数据为被并行读取的数据流;
基于所述验证标识信息,读取所述返回数据的返回标识信息;
基于所述返回标识信息对所述返回数据进行重组,得到目标数据。
2.根据权利要求1所述的方法,其特征在于,所述返回标识信息中包括所述返回数据的数据类型、数据序列号和重组序列号;所述基于所述返回标识信息对所述返回数据进行重组,得到目标数据,包括:
识别所述返回数据的写入状态;
基于所述数据类型和所述写入状态,将所述返回数据存储到对应的目标分区中;
基于所述数据序列号和所述重组序列号,判断所述返回数据是否完整写入所述目标分区;
在所述返回数据完整写入所述目标分区时,得到所述返回数据的完整标识信息;
基于所述完整标识信息和所述数据类型对所述返回数据进行分流,以对所述返回数据进行重组,得到对应的所述目标数据。
3.根据权利要求2所述的方法,其特征在于,所述基于所述数据序列号和所述重组序列号,判断所述返回数据是否完整写入所述目标分区,包括:
在所述返回数据写入所述目标分区时,基于所述重组序列号确定所述返回数据的前置状态,将所述数据序列号作为所述前置状态的写入地址;
获取所述返回数据写入所述目标分区后的后置状态;
基于所述前置状态和后置状态,判断所述返回数据是否完整写入所述目标分区,其中,所述前置状态与所述后置状态不一致时,则所述返回数据完整写入所述目标分区。
4.根据权利要求1所述的方法,其特征在于,所述基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息之后,所述方法还包括:
基于所述验证标识信息,确定保存地址;
基于所述保存地址,将所述返回数据的返回标识信息保存到对应的读取标识缓冲区域。
5.根据权利要求4所述的方法,其特征在于,所述基于所述验证标识信息,读取所述返回数据的返回标识信息,包括:
基于所述验证标识信息,提取读取地址;
基于所述读取地址,对所述读取标识缓冲区域进行读取,得到对应的所述返回标识信息。
6.根据权利要求1所述的方法,其特征在于,所述基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息,包括:
获取所述返回数据进行读取时的读取请求;
基于所述读取请求,确定所述返回数据对应的所述读操作数据包;
基于所述读取请求,得到所述读操作数据包对应的所述验证标识信息。
7.根据权利要求6所述的方法,其特征在于,所述基于所述读取请求,得到所述读操作数据包对应的所述验证标识信息,包括:
获取所述读操作数据包的初始验证标识信息,所述初始验证标识信息用于判断所述返回数据是否被覆盖;
基于读取请求对所述初始验证标识信息进行更新,得到所述验证标识信息。
8.一种数据处理装置,其特征在于,所述装置包括:
并行模块,用于基于读取的返回数据确定对应的读操作数据包,以及所述读操作数据包对应的验证标识信息,其中,所述返回数据为被并行读取的数据流;
读取模块,用于基于所述验证标识信息,读取所述返回数据的返回标识信息;
重组模块,用于基于所述返回标识信息对所述返回数据进行重组,得到目标数据。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1-7中任一项所述方法中的步骤。
10.一种计算机可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1-7任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111523062.7A CN114253718A (zh) | 2021-12-13 | 2021-12-13 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111523062.7A CN114253718A (zh) | 2021-12-13 | 2021-12-13 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114253718A true CN114253718A (zh) | 2022-03-29 |
Family
ID=80792133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111523062.7A Pending CN114253718A (zh) | 2021-12-13 | 2021-12-13 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253718A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817100A (zh) * | 2022-04-08 | 2022-07-29 | 武汉光迅电子技术有限公司 | 一种用于单板的数据读取方法和装置 |
CN118368293A (zh) * | 2024-06-19 | 2024-07-19 | 深圳星云智联科技有限公司 | 一种数据传输方法、计算机设备及介质 |
-
2021
- 2021-12-13 CN CN202111523062.7A patent/CN114253718A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114817100A (zh) * | 2022-04-08 | 2022-07-29 | 武汉光迅电子技术有限公司 | 一种用于单板的数据读取方法和装置 |
CN114817100B (zh) * | 2022-04-08 | 2023-09-29 | 武汉光迅电子技术有限公司 | 一种用于单板的数据读取方法和装置 |
CN118368293A (zh) * | 2024-06-19 | 2024-07-19 | 深圳星云智联科技有限公司 | 一种数据传输方法、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110750341B (zh) | 任务调度方法、装置、系统、终端设备及存储介质 | |
CN114253718A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110875850B (zh) | 一种固件升级方法、系统、可读存储介质及终端设备 | |
CN105637524B (zh) | 硬件平台中的资产管理设备和方法 | |
CN110290166B (zh) | 跨集群数据交互方法、系统、装置及可读存储介质 | |
US20060150023A1 (en) | Debugging apparatus | |
US20170085653A1 (en) | Method, device and system for message distribution | |
US20090182798A1 (en) | Method and apparatus to improve the effectiveness of system logging | |
CN115509844A (zh) | 基于AMD平台的NVMe硬盘性能优化方法、系统、装置及介质 | |
US9053092B2 (en) | System authorizing direct data transfers between memories of several components of that system | |
CN111414339B (zh) | 一种文件的处理方法、系统、装置、设备及介质 | |
CN112671878A (zh) | 一种区块链的信息订阅方法、装置、服务器和存储介质 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN115629951A (zh) | 一种任务全链路追踪方法、第一节点、链路系统及介质 | |
CN116192776A (zh) | 可自修复的报文保序方法、装置、终端及存储介质 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
CN111444129B (zh) | Mdb数据传输的方法及终端设备 | |
CN106940684B (zh) | 一种按比特写数据的方法及装置 | |
CN114218000A (zh) | 日志管理方法、装置、电子设备及计算机可读存储介质 | |
JP2797760B2 (ja) | 並列処理コンピュータシステム | |
IL193912A (en) | Apparatus, method and computer program product for generating trace data | |
CN111984202A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN113050976A (zh) | 基于PCIe总线的FPGA并行升级方法、装置、介质及电子设备 | |
CN111639936A (zh) | 交易信息的获取方法、装置、电子设备及可读存储介质 | |
CN110781182A (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 |