CN111813759A - 小包数据并行处理装置和方法 - Google Patents
小包数据并行处理装置和方法 Download PDFInfo
- Publication number
- CN111813759A CN111813759A CN202010670061.4A CN202010670061A CN111813759A CN 111813759 A CN111813759 A CN 111813759A CN 202010670061 A CN202010670061 A CN 202010670061A CN 111813759 A CN111813759 A CN 111813759A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- packet data
- packet
- processing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013500 data storage Methods 0.000 claims abstract description 113
- 238000003672 processing method Methods 0.000 claims description 10
- 230000010354 integration Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 14
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1858—Parallel file systems, i.e. file systems supporting multiple processors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了小包数据并行处理装置和方法,该装置包括:用于存储第一小包数据的输入数据存储模块,数据调度控制模块在检测到存在空置的输入缓冲模块时,将输入数据存储模块存储的第一小包数据转移至输入缓冲模块,处理调度控制模块在检测到存在空闲的数据处理模块时,将输入缓冲模块中缓存的第一小包数据转移至空闲的数据处理模块,数据处理模块对接收到的第一小包数据进行处理获得第二小包数据,处理调度控制模块在检测到存在空置的输出缓冲模块时,将第二小包数据转移至空置的输出缓冲模块,数据调度控制模块在检测到输出缓冲模块中缓存有第二小包数据时,将输出缓冲模块缓存的第二小包数据转移至输出数据存储模块。本方案能够提资源利用率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及小包数据并行处理装置和方法。
背景技术
随着Hadoop(Apache基金会所开发的分布式系统基础架构)生态圈的成熟和分布式文件系统的广泛应用,目前已经有许多关于海量数据的处理方案,但实际这些方案更适用于单个文件较大的数据,对小数据并未进行优化。然而实际应用中海量小包的数据形式特别常见,海量小包数据的数据个数多,但每包数据量小,因此需要对每个小包数据单独处理,从而造成资源利用率较低。
目前针对海量小包的处理技术,利用Hadoop分布式文件系统可以实现海量小包数据处理,但由于Hadoop擅长存储大文件,一般该系统的文件块大小为64MB,在单个文件较小时读写性能较差,因此导致资源利用率较低。
发明内容
本发明提供了小包数据并行处理装置和方法,能够提高资源利用率。
第一方面,本发明实施例提供了小包数据并行处理装置,包括:输入数据存储模块、输出数据存储模块、数据调度控制模块、处理调度控制模块、至少两个输入缓冲模块、至少两个输出缓冲模块和至少两个数据处理模块;
所述输入数据存储模块,用于存储待处理的第一大包数据,其中,所述第一大包数据包括至少两个第一小包数据,每个所述第一小包数据的数据量不大于一个所述输入缓冲模块的容量;
所述数据调度控制模块,用于在检测到所述至少两个输入缓冲模块中存在空置的所述输入缓冲模块时,将所述输入数据存储模块中存储的所述第一小包数据转移至所述输入缓冲模块,其中,每一个所述输入缓冲模块同时仅能够缓存一个所述第一小包数据;
所述处理调度控制模块,用于在检测到所述至少两个数据处理模块中存在空闲的所述数据处理模块,且检测到存在缓存有所述第一小包数据的所述输入缓冲模块时,将所述输入缓冲模块中缓存的所述第一小包数据转移至空闲的所述数据处理模块,其中,每一个所述数据处理模块同时仅能够存储一个所述第一小包数据;
所述数据处理模块,用于对接收到的所述第一小包数据进行处理,获得第二小包数据;
所述处理调度控制模块,还用于在检测到存在已获得所述第二小包数据的所述数据处理模块,并检测到所述至少两个输出缓冲模块中存在空置的所述输出缓冲模块时,将所述数据处理模块中的所述第二小包数据转移至空置的所述输出缓冲模块;
所述数据调度控制模块,还用于在检测到所述至少两个输出缓冲模块中缓存有所述第二小包数据时,将所述输出缓冲模块中缓存的所述第二小包数据转移至所述输出数据存储模块。
可选地,该小包数据并行处理装置进一步包括:数据接口模块和数据信息存储模块;
所述数据接口模块,用于接收来自外部处理器的所述第一大包数据和数据信息,并将接收到的所述第一大包数据存储到所述输入数据存储模块,以及将所述数据信息存储到所述数据信息存储模块,其中,不同的所述第一小包数据对应不同的所述数据信息,所述数据信息用于描述所述第一小包数据的属性;
所述数据调度控制模块,还用于在从所述输出缓冲模块中读取到一个所述第二小包数据之后,将所述数据信息存储模块中存储的与该第二小包数据相对应的所述数据信息与该第二小包数据进行整合,并将整合后的该第二小包数据与相对应的所述数据信息存储到所述输出数据存储模块中;
所述输出数据存储模块,还用于对所述输出数据存储模块中各个整合后的所述第二小包数据和相对应的所述数据信息进行进一步合并,获得第二大包数据,并将所述第二大包数据发送给所述数据接口模块;
所述数据接口模块,还用于将所述第二大包数据输出。
可选地,该小包数据并行处理装置进一步包括:第一寄存器;
所述第一寄存器,用于存储数据调度规则和数据处理规则,其中,所述数据调度规则和所述数据处理规则由所述数据信息存储模块中所存储的所述数据信息而确定;
所述数据调度控制模块,用于根据所述数据调度规则,在一个所述输入缓冲模块处于空置状态时,将所述输入数据存储模块中的一个目标第一小包数据转移至该输入缓冲模块,其中,所述目标第一小包数据的数据处理需求与该输入缓冲模块相对应;
所述处理调度控制模块,用于根据所述数据调度规则,在一个所述数据处理模块处于空闲状态时,将一个目标输入缓冲模块中的所述第一小包数据转移至该数据处理模块,其中,所述目标输入缓冲模块中的所述第一小包数据的数据处理需求与该数据处理模块相对应;
所述数据处理模块,用于按照所接收到的所述第一小包数据的数据处理需求,根据所述第一寄存器中存储的所述数据处理规则,对所述接收到的所述第一小包数据进行数据处理。
可选地,该小包数据并行处理装置进一步包括:第二寄存器;
所述第二寄存器,用于存储数据调度规则和数据处理规则,其中,所述数据调度规则和所述数据处理规则由所述数据信息存储模块中所存储的所述数据信息而确定;
所述数据调度控制模块,还用于根据所述数据调度规则,在一个所述输入缓冲模块处于空置状态时,将所述输入数据存储模块中的一个目标第二小包数据转移至该输入缓冲模块;
所述处理调度控制模块,还用于根据所述数据调度规则,在一个所述数据处理模块处于空闲状态时,将一个目标输入缓冲模块中的所述目标第二小包数据转移至该数据处理模块;
所述数据处理模块,还用于在接收到所述目标第二小包数据时,根据所述第二寄存器中存储的所述数据处理规则写入与该目标第二小包数据的处理需求相对应的处理程序,并通过所写入的处理程序对该目标第二小包数据进行数据处理,获得相对应的所述第二小包数据。
可选地,该小包数据并行处理装置进一步包括:统计模块;
所述统计模块,用于统计由所述数据调度控制模块转移至所述输出数据存储模块中的所述第二小包数据的数量,根据所述输出数据存储模块中所述第二小包数据的数量和所述第一小包数据的总个数,确定数据处理进度信息,并将所述数据处理进度信息输出,其中,所述数据处理进度信息用于表征对所述第一大包数据进行数据处理的进度。
第二方面,本发明实施例还提供了基于上述第一方面或第一方面的任一可能的实现方式所提供小包数据并行处理装置的小包数据并行处理方法,包括:
利用所述输入数据存储模块存储待处理的第一大包数据,其中,所述第一大包数据包括至少两个第一小包数据,每个所述第一小包数据的数据量不大于一个所述输入缓冲模块的容量;
在检测到所述至少两个输入缓冲模块中存在空置的所述输入缓冲模块时,利用所述数据调度控制模块将所述输入数据存储模块中存储的所述第一小包数据转移至所述输入缓冲模块,其中,每一个所述输入缓冲模块同时仅能够缓存一个所述第一小包数据;
在检测到所述至少两个数据处理模块中存在空闲的所述数据处理模块,且检测到存在缓存有所述第一小包数据的所述输入缓冲模块时,利用所述处理调度控制模块将所述输入缓冲模块中缓存的所述第一小包数据转移至空闲的所述数据处理模块,其中,每一个所述数据处理模块同时仅能够存储一个所述第一小包数据;
利用所述数据处理模块处理其接收到的所述第一小包数据,获得第二小包数据;
在检测到存在已获得所述第二小包数据的所述数据处理模块,并检测到所述至少两个输出缓冲模块中存在空置的所述输出缓冲模块时,利用所述处理调度控制模块将所述数据处理模块中的所述第二小包数据转移至空置的所述输出缓冲模块;
在检测到所述至少两个输出缓冲模块中缓存有所述第二小包数据时,利用所述数据调度控制模块将所述输出缓冲模块中缓存的所述第二小包数据转移至所述输出数据存储模块。
可选地,当所述小包数据并行处理装置包括有数据接口模块和数据信息存储模块时,
所述利用所述输入数据存储模块存储待处理的第一大包数据,包括:
利用所述数据接口模块接收来自外部处理器的所述第一大包数据和数据信息,并将接收到的所述第一大包数据存储到所述输入数据存储模块,以及将所述数据信息存储到所述数据信息存储模块,其中,不同的所述第一小包数据对应有不同的所述数据信息,所述数据信息用于描述相应所述第一小包数据的属性;
在所述利用所述数据调度控制模块将所述输出缓冲模块中缓存的所述第二小包数据转移至所述输出数据存储模块之前,进一步包括:
利用所述数据调度控制模块在从所述输出缓冲模块中读取到一个所述第二小包数据,并将所述数据信息存储模块中存储的与该第二小包数据相对应的所述数据信息与该第二小包数据进行整合,以及将整合的该第二小包数据和相对应的所述数据信息存储到所述输出数据存储模块中;
在所述利用所述数据调度控制模块将所述输出缓冲模块中缓存的所述第二小包数据转移至所述输出数据存储模块之后,进一步包括:
利用所述输出数据存储模块对所述输出数据存储模块中各个整合后的所述第二小包数据和相对应的所述数据信息进行进一步合并,获得第二大包数据,并通过所述数据接口模块将所述第二大包数据输出。
可选地,当所述小包数据并行处理装置包括第一寄存器时,
所述利用所述数据调度控制模块将所述输入数据存储模块中存储的所述第一小包数据转移至所述输入缓冲模块,包括:
根据所述第一寄存器中存储的所述数据调度规则,在一个所述输入缓冲模块处于空置状态时,利用所述数据调度控制模块将所述输入数据存储模块中的一个目标第一小包数据转移至该输入缓冲模块,其中,所述目标第一小包数据的数据处理需求与该输入缓冲模块相对应;
所述利用所述处理调度控制模块将所述输入缓冲模块中缓存的所述第一小包数据转移至空闲的所述数据处理模块,包括:
根据所述第一寄存器中存储的所述数据调度规则,在一个所述数据处理模块处于空闲状态时,利用所述处理调度控制模块将一个目标输入缓冲模块中的所述第一小包数据转移至该数据处理模块,其中,所述目标输入缓冲模块中的所述第一小包数据的数据处理需求与该数据处理模块相对应;
所述对接收到的所述第一小包数据进行处理获得第二小包数据,包括:
按照所述接收到的所述第一小包数据的数据处理需求,根据所述第一寄存器中存储的数据处理规则,对所接收到的所述第一小包数据进行数据处理。
可选地,当所述小包数据并行处理装置包括第二寄存器时,
所述利用所述数据调度控制模块将所述输入数据存储模块中存储的所述第一小包数据转移至所述输入缓冲模块,包括:
根据所述第二寄存器中存储的所述数据调度规则,在一个所述输入缓冲模块处于空置状态时,利用所述数据调度控制模块将所述输入数据存储模块中的一个目标第二小包数据转移至该输入缓冲模块;
所述利用所述处理调度控制模块将所述输入缓冲模块中缓存的所述第一小包数据转移至空闲的所述数据处理模块,包括:
根据所述第二寄存器中存储的所述数据调度规则,在一个所述数据处理模块处于空闲状态时,利用所述处理调度控制模块将一个目标输入缓冲模块中的所述目标第二小包数据转移至该数据处理模块;
所述对接收到的所述第一小包数据进行处理获得第二小包数据,包括:
根据所述第二寄存器中存储的数据处理规则写入与该目标第二小包数据的处理需求相对应的处理程序,并通过所写入的处理程序对该目标第二小包数据进行数据处理,获得相对应的所述第二小包数据。
可选地,当所述小包数据并行处理装置包括有统计模块时,进一步包括:
利用所述统计模块统计由所述数据调度控制模块转移至所述输出数据存储模块的中所述第二小包数据的数量,根据所述输出数据存储模块中所述第二小包数据的数量和所述第一小包数据的总个数,确定数据处理进度信息,并将所述数据处理进度信息输出,其中,所述数据处理进度信息用于表征对所述第一大包数据进行数据处理的进度。
本发明实施例提供的小包数据并行处理装置和方法,输入数据存储模块存储有包括至少两个第一小包数据的第一大包数据,通过数据调度控制模块将输入数据存储模块中的一个第一小包数据转移到一个空置的输入缓冲模块,然后处理调度控制模块将该输入缓冲模块缓存的该第一小包数据转移到一个空闲的数据处理模块,由该数据处理模块处理该第一小包数据,处理后得到第二小包数据,再由处理调度控制模块将该第二小包数据转移至一个空置的输出缓冲模块后,数据调度控制模块将该缓冲模块的第二数据包转移至输出数据存储模块。由此可见,首先每一个小包数据分别缓存至每个输入缓冲模块,经由处理调度控制模块转移至每个处理模块中,如此各个处理模块可以在同一时刻同时执行对小包数据的处理过程,实现并行处理,最大限度地利用各模块资源,从而提高了资源的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种小包数据并行处理装置的示意图;
图2是本发明一个实施例提供的一种包括数据接口模块的小包数据并行处理装置的示意图;
图3是本发明一个实施例提供的另一种小包数据并行处理装置的示意图;
图4是本发明一个实施例提供的又一种小包数据并行处理装置的示意图;
图5是本发明一个实施例提供的再一种小包数据并行处理装置的示意图;
图6是本发明一个实施例提供的一种小包数据并行处理方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明一个实施例提供了一种小包数据并行处理装置,该装置包括:输入数据存储模块101、数据调度控制模块102、至少两个输入缓冲模块103、处理调度控制模块104、至少两个数据处理模块105、至少两个输出缓冲模块106和输出数据存储模块107;
输入数据存储模块101,用于存储待处理的第一大包数据,其中,第一大包数据包括至少两个第一小包数据,每个第一小包数据的数据量不大于一个输入缓冲模块103的容量;
数据调度控制模块102,用于在检测到至少两个输入缓冲模块103中存在空置的输入缓冲模块103时,将输入数据存储模块101中存储的第一小包数据转移至输入缓冲模块103,其中,每一个输入缓冲模块103同时仅能够缓存一个第一小包数据;
处理调度控制模块104,用于在检测到至少两个数据处理模块105中存在空闲的数据处理模块,且检测到存在缓存有第一小包数据的输入缓冲模块103时,将输入缓冲模块103中缓存的第一小包数据转移至空闲的数据处理模块105,其中,每一个数据处理模块105同时仅能够存储一个第一小包数据;
数据处理模块105,用于对接收到的第一小包数据进行处理,获得第二小包数据;
处理调度控制模块104,还用于在检测到存在已获得第二小包数据的数据处理模块105,并检测到至少两个输出缓冲模块106中存在空置的输出缓冲模块106时,将数据处理模块105中的第二小包数据转移至空置的输出缓冲模块106;
数据调度控制模块102,还用于在检测到至少两个输出缓冲模块106中缓存有第二小包数据时,将输出缓冲模块106中缓存的第二小包数据转移至输出数据存储模块107。
本发明实施例提供的小包数据并行处理装置,首先输入数据存储模块存储有包括至少两个第一小包数据的第一大包数据,通过数据调度控制模块将输入数据存储模块中的一个第一小包数据转移到一个空置的输入缓冲模块,然后处理调度控制模块将该输入缓冲模块缓存的该第一小包数据转移到一个空闲的数据处理模块,由该数据处理模块处理该第一小包数据,处理后得到第二小包数据,再由处理调度控制模块将该第二小包数据转移至一个空置的输出缓冲模块后,数据调度控制模块将该缓冲模块的第二数据包转移至输出数据存储模块。由此可见,首先每一个小包数据分别缓存至每个输入缓冲模块,经由处理调度控制模块转移至每个处理模块中,如此各个处理模块可以在同一时刻同时执行对小包数据的处理过程,实现并行处理,最大限度地利用各模块资源,从而提高了资源的利用率。
在本发明的实施例中,输入数据存储模块中存储的待处理的第一大包数据包括多个第一小包数据,其中,在数据处理的前端就已经将各小包数据整合成大包数据,以大包数据的形式一次性将小包数据进行传输,避免以传统方式依次对每个小包数据进行传输,从而提高小包数据传输至输入数据存储模块的传输速度。
在本发明的实施例中,数据调度控制模块负责将第一小包数据转移至空置的输入缓冲模块中,以使每个第一小包数据都对应一个输入缓冲模块,其中,输入缓冲模块拥有不同的存储空间、且空间较小,因此数据调度控制模块能够合理分配每个第一小包数据保证其数据量不大于该输入缓冲模块的容量,因此能够充分利用该输入缓冲模块的存储空间,提高资源利用率。
在本发明的实施例中,数据调度控制模块负责将第一小包数据转移至空置的输入缓冲模块中,以使每个第一小包数据都对应一个输入缓冲模块,处理调度控制模块负责将每个输入缓冲模块中的第一小包数据再转移至空闲的数据处理模块,如此经过两次调度后,每个第一小包数据分别对应一个数据处理模块,使得多个输入缓冲模块、多个数据处理模块能够同时运行,减少单个任务的等待时间,通过多处理器结构实现处理器级的并行,充分利用各模块资源,从而提高资源利用率。
在本发明的实施例中,将每个第一小包数据转移至不同的输入缓冲模块,再将输入缓冲模块中的第一小包数据转移至数据处理模块,可以避免数据处理模块访问相同的资源而导致频繁的交互,保证数据处理模块只接收来自输入缓冲模块中的小包数据,从而提高数据处理的运行效率。
在本发明的实施例中,处理调度控制模块将数据处理模块中已获得第二小包数据转移至空置的输出缓冲模块,多个输出缓冲模块并行实现对不同第二小包数据的缓存,最终经数据调度控制模块的调度,将所有输出缓冲模块中缓存有的第二小包数据转移至输出数据存储模块,从而提高了资源利用率。
可选地,在图1所示小包数据并行处理装置的基础上,如图2所示,该装置进一步包括:数据接口模块108和数据信息存储模块109;
数据接口模块108,用于接收来自外部处理器的第一大包数据和数据信息,并将接收到的第一大包数据存储到输入数据存储模块101,以及将数据信息存储到数据信息存储模块109,其中,不同的第一小包数据对应不同的数据信息,数据信息用于描述第一小包数据的属性;
数据调度控制模块102,还用于在从输出缓冲模块106中读取到一个第二小包数据之后,将数据信息存储模块109中存储的与该第二小包数据相对应的数据信息与该第二小包数据进行整合,并将整合后的该第二小包数据与相对应的数据信息存储到输出数据存储模块107中;
输出数据存储模块107,还用于对输出数据存储模块107中各个整合后的第二小包数据和相对应的数据信息进行进一步合并,获得第二大包数据,并将第二大包数据发送给数据接口模块108;
数据接口模块108,还用于将第二大包数据输出。
具体地,数据接口模块108负责数据的交互,用于通过标准的软硬件接口(如PCIE、USB等协议)或者自定义的接口协议来接收来自外部处理器的第一大包数据和数据信息,其中,第一大包数据包括多个第一小包数据,数据信息包括该第一大包数据总大小、第一小包数据的总个数、每个第一小包数据的存储地址,每个第一小包数据的大小等。通过数据接口模块108将第一大包数据存储到输入数据存储模块101,以及将数据信息存储到数据信息存储模块109。
数据调度控制模块102在读取到输出缓冲模块106中缓存的第二小包数据后,将数据信息存储模块109中存储与之相对应的数据信息与该第二小包整合在一起,并存储到输出数据存储模块107中,输出数据存储模块107将存储的所有整合后的第二小包数据和相对应的数据信息进一步合并,获得第二大包数据,即处理后的第一大包数据,最后将该第二大包数据发送给数据接口模块108。
在本发明实施例中,输出数据存储模块将所有第二小包数据和与之相对应的数据信息进行进一步合并,整合成第二大包数据,以大包数据的形式一次性将所有小包数据进行传输,避免以传统方式依次对每个小包数据进行传输,从而提高小包数据传输至数据接口模块的传输速度。
可选地,在图2所示小包数据并行处理装置的基础上,如图3所示,该装置进一步包括:第一寄存器110;
第一寄存器110,用于存储数据调度规则和数据处理规则,其中,数据调度规则和数据处理规则由数据信息存储模块109中所存储的数据信息而确定;
数据调度控制模块102,用于根据数据调度规则,在一个输入缓冲模块103处于空置状态时,将输入数据存储模块101中的一个目标第一小包数据转移至该输入缓冲模块103,其中,目标第一小包数据的数据处理需求与该输入缓冲模块103相对应;
处理调度控制模块104,用于根据数据调度规则,在一个数据处理模块105处于空闲状态时,将一个目标输入缓冲模块103中的第一小包数据转移至该数据处理模块105,其中,目标输入缓冲模块103中的第一小包数据的数据处理需求与该数据处理模块105相对应;
数据处理模块105,用于按照所接收到的第一小包数据的数据处理需求,根据第一寄存器110中存储的数据处理规则,对接收到的第一小包数据进行数据处理。
具体地,由数据信息存储模块109中的数据信息可以确定第一寄存器110存储的数据调度规则和数据处理规则,其中,第一寄存器110可以包括状态寄存器、中断寄存器、中断屏蔽寄存器、输入数据长度寄存器、单包数据长度寄存器、输入包数寄存器、数据包标志寄存器、读数据地址寄存器、错误寄存器和控制寄存器,根据数据信息可以确定选用的寄存器种类。
数据调度控制模块102,根据数据调度规则,将一个第一小包数据转移至处于空置状态的且与该第一小包数据的数据处理需求相对应的一个输入缓冲模块103中,同理,处理调度控制模块104,根据该数据调度规则,将该输入缓冲模块103中的第一小包数据转移至与之对应的一个空闲的数据处理模块105,该输入缓冲模块103的数据处理需求与该数据处理模块105的数据处理需求一致,最终由数据处理模块105根据第一寄存器110的数据处理规则,按照第一小包数据的数据处理需求进行数据处理。
例如,第一大包数据包括20个第一小包数据,该小包数据并行处理装置中包括有4个输入缓冲模块(输入缓冲模块0、输入缓冲模块1...)、4个数据处理模块(数据处理模块0、数据处理模块1...)、4个输出缓冲模块(输出缓冲模块0、输出缓冲模块1...),其中该第一大包数据包括有两个数据处理需求,编号0-9的第一小包数据为第一数据处理需求,编号10-19的第一小包数据为第二数据处理需求。数据处理模块根据第一大包数据,通过接口写入对应数据处理需求的处理程序,确定数据处理模块0和数据处理模块1写入第一数据处理需求的程序,数据处理模块2和数据处理模块3写入第二数据处理需求的程序,输入缓冲模块与数据处理模块一一对应,因此输入缓冲模块0和输入缓冲模块1对应缓存编号0-9的第一小包数据,输入缓冲模块2和输入缓冲模块3对应缓存编号10-19的第一小包数据,数据调度控制单元根据第一寄存器中存储的数据调度规则,将编号0、1的第一小包数据分别转移至输入缓冲模块0和输入缓冲模块1,编号10、11的第一小包数据分别转移至输入缓冲模块2和输入缓冲模块3,然后处理调度控制模块再分别将编号0、1、10、11的第一小包数据分别转移至数据处理模块0、1、2、3中进行处理,由于输出缓冲模块与输入缓冲模块一一对应,所以处理完成后获得编号0、1、10、11的第二小包数据,经处理调度控制模块将编号0、1、10、11的第二小包数据转移至输出缓冲模块0、1、2、3中。而且在输入缓冲模块中的小包数据转移出去后,当输入缓冲模块处于空置状态时,就可以继续缓存相应的第一小包数据,如此循环,直至将该20个第一小包数据全部处理完,而且第二次向输入缓冲模块转移第一小包数据与第一次的数据处理模块的数据处理同时进行,互不影响,进一步提高了小包数据处理的资源利用率。
在本发明的实施例中,第一寄存器对数据信息存储模块中的数据信息采用一次存入的方式进行存储,与现有的分多次存入数据信息不同,仅需要一个时钟脉冲就可以完成存入,提高数据信息的传输速度,进而提高小包数据处理的工作速度。
在本发明的实施例中,输入缓冲模块的数据缓存、数据处理模块中的数据处理与输出缓冲模块的数据缓存可以同时进行,提升了数据处理的效率,更进一步提高了小包数据处理的资源利用率。
在本发明的实施例中,不同数据处理模块之间完全并行,用于对不同的第一小包数据进行处理,不同数据处理模块的具体处理功能不同,可以根据大包数据的数据处理需求进行定制。
可选地,在图2所示小包数据并行处理装置的基础上,如图4所示,该装置进一步包括:第二寄存器111;
第二寄存器111,用于存储数据调度规则和数据处理规则,其中,数据调度规则和数据处理规则由数据信息存储模块109中所存储的数据信息而确定;
数据调度控制模块102,还用于根据数据调度规则,在一个输入缓冲模块103处于空置状态时,将输入数据存储模块101中的一个目标第二小包数据转移至该输入缓冲模块103;
处理调度控制模块104,还用于根据数据调度规则,在一个数据处理模块105处于空闲状态时,将一个目标输入缓冲模块103中的目标第二小包数据转移至该数据处理模块105;
数据处理模块105,还用于在接收到目标第二小包数据时,根据第二寄存器111中存储的数据处理规则写入与该目标第二小包数据的处理需求相对应的处理程序,并通过所写入的处理程序对该目标第二小包数据进行数据处理,获得相对应的第二小包数据。
具体地,由数据信息存储模块109中的数据信息可以确定第二寄存器111存储的数据调度规则和数据处理规则,其中,第二寄存器111可以包括状态寄存器、中断寄存器、中断屏蔽寄存器、输入数据长度寄存器、单包数据长度寄存器、输入包数寄存器、数据包标志寄存器、读数据地址寄存器、错误寄存器和控制寄存器,根据数据信息可以确定选用的寄存器种类。
数据调度控制模块102,根据数据调度规则,将一个目标第二小包数据转移至处于空置状态的一个输入缓冲模块103中,同理,处理调度控制模块104,根据该数据调度规则,将该输入缓冲模块103中的目标第二小包数据转移至一个空闲的数据处理模块105,最终由数据处理模块105根据第二寄存器111的数据处理规则写入与该目标第二小包数据的处理需求相对应的处理程序,并通过该处理程序对该目标第二小包数据进行数据处理,处理后获得相对应的第二小包数据。
可选地,在图3所示小包数据并行处理装置的基础上,如图5所示,该装置进一步包括:统计模块112;
统计模块112,用于统计由数据调度控制模块转移至输出数据存储模块107中的第二小包数据的数量,根据输出数据存储模块107中第二小包数据的数量和第一小包数据的总个数,确定数据处理进度信息,并将数据处理进度信息输出,其中,数据处理进度信息用于表征对第一大包数据进行数据处理的进度。
具体地,统计模块112可以配置在第一寄存器或第二寄存器中,利用该统计模块112统计由数据调度控制模块转移至输出数据存储模块107中的第二小包数据的数量,根据所统计的该数量与第一小包数据的总个数,可以确定数据处理进度信息,将该数据处理进度信息进行输出,以使用户确定数据处理的进度。
例如,统计模块统计到数据调度模块转移至输出数据存储模块中的第二小包数据为10个,第一小包数据的总个数为20个,则此次数据处理进度为50%。
可以理解的是,本发明实施例示意的结构并不构成对小包数据并行处理装置的具体限定。在本发明的另一些实施例中,小包数据并行处理装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
如图6所示,本发明一个实施例提供了基于上述任意一个实施例所提供的小包数据并行处理装置的小包数据并行处理方法,包括:
步骤601:利用输入数据存储模块存储待处理的第一大包数据,其中,第一大包数据包括至少两个第一小包数据,每个第一小包数据的数据量不大于一个输入缓冲模块的容量;
步骤602:在检测到至少两个输入缓冲模块中存在空置的输入缓冲模块时,利用数据调度控制模块将输入数据存储模块中存储的第一小包数据转移至输入缓冲模块,其中,每一个输入缓冲模块同时仅能够缓存一个第一小包数据;
步骤603:在检测到至少两个数据处理模块中存在空闲的数据处理模块,且检测到存在缓存有第一小包数据的输入缓冲模块时,利用处理调度控制模块将输入缓冲模块中缓存的第一小包数据转移至空闲的数据处理模块,其中,每一个数据处理模块同时仅能够存储一个第一小包数据;
步骤604:利用数据处理模块处理其接收到的第一小包数据,获得第二小包数据;
步骤605:在检测到存在已获得第二小包数据的数据处理模块,并检测到至少两个输出缓冲模块中存在空置的输出缓冲模块时,利用处理调度控制模块将数据处理模块中的第二小包数据转移至空置的输出缓冲模块;
步骤606:在检测到至少两个输出缓冲模块中缓存有第二小包数据时,利用数据调度控制模块将输出缓冲模块中缓存的第二小包数据转移至输出数据存储模块。
在本发明的实施例中,小包数据并行处理方法利用输入数据存储模块存储包括至少两个第一小包数据的第一大包数据,再利用数据调度控制模块将输入数据存储模块中的一个第一小包数据转移到一个空置的输入缓冲模块,然后处理调度控制模块将该输入缓冲模块缓存的该第一小包数据转移到一个空闲的数据处理模块,由该数据处理模块处理该第一小包数据,处理后得到第二小包数据,再由处理调度控制模块将该第二小包数据转移至一个空置的输出缓冲模块后,数据调度控制模块将该缓冲模块的第二数据包转移至输出数据存储模块。由此可见,首先每一个小包数据分别缓存至每个输入缓冲模块,减少了数据的频繁交互,再经由处理调度控制模块转移至每个处理模块中,如此每个处理模块可以在同一时刻同时执行对小包数据的处理过程,实现并行处理,最大限度地利用各模块的资源,从而提高了资源的利用率。
可选地,在图6所示小包数据并行处理方法的基础上,当小包数据并行处理装置包括有数据接口模块和数据信息存储模块时,
在步骤601利用输入数据存储模块存储待处理的第一大包数据时,可以利用数据接口模块接收来自外部处理器的第一大包数据和数据信息,并将接收到的第一大包数据存储到输入数据存储模块,以及将数据信息存储到数据信息存储模块,其中,不同的第一小包数据对应有不同的数据信息,数据信息用于描述相应第一小包数据的属性;
在步骤606在利用数据调度控制模块将输出缓冲模块中缓存的第二小包数据转移至输出数据存储模块之前,可以进一步利用数据调度控制模块在从输出缓冲模块中读取到一个第二小包数据,并将数据信息存储模块中存储的与该第二小包数据相对应的数据信息与该第二小包数据进行整合,以及将整合的该第二小包数据和相对应的数据信息存储到输出数据存储模块中;
在步骤606在利用数据调度控制模块将输出缓冲模块中缓存的第二小包数据转移至输出数据存储模块之后,可以进一步利用输出数据存储模块对输出数据存储模块中各个整合后的第二小包数据和相对应的数据信息进行进一步合并,获得第二大包数据,并通过数据接口模块将第二大包数据输出。
可选地,在图6所示小包数据并行处理方法的基础上,当小包数据并行处理装置包括第一寄存器时,在步骤602利用数据调度控制模块将输入数据存储模块中存储的第一小包数据转移至输入缓冲模块时,可以根据第一寄存器中存储的数据调度规则,在一个输入缓冲模块处于空置状态时,利用数据调度控制模块将输入数据存储模块中的一个目标第一小包数据转移至该输入缓冲模块,其中,目标第一小包数据的数据处理需求与该输入缓冲模块相对应;
在步骤603利用处理调度控制模块将输入缓冲模块中缓存的第一小包数据转移至空闲的数据处理模块,可以进一步包括根据第一寄存器中存储的数据调度规则,在一个数据处理模块处于空闲状态时,利用处理调度控制模块将一个目标输入缓冲模块中的第一小包数据转移至该数据处理模块,其中,目标输入缓冲模块中的第一小包数据的数据处理需求与该数据处理模块相对应;
在步骤604对接收到的第一小包数据进行处理获得第二小包数据,可以按照接收到的第一小包数据的数据处理需求,根据第一寄存器中存储的数据处理规则,对所接收到的第一小包数据进行数据处理。
可选地,在图6所示小包数据并行处理方法的基础上,当小包数据并行处理装置包括第二寄存器时,在步骤602利用数据调度控制模块将输入数据存储模块中存储的第一小包数据转移至输入缓冲模块,可以进一步根据第二寄存器中存储的数据调度规则,在一个输入缓冲模块处于空置状态时,利用数据调度控制模块将输入数据存储模块中的一个目标第二小包数据转移至该输入缓冲模块;
在步骤603利用处理调度控制模块将输入缓冲模块中缓存的第一小包数据转移至空闲的数据处理模块,可以进一步根据第二寄存器中存储的数据调度规则,在一个数据处理模块处于空闲状态时,利用处理调度控制模块将一个目标输入缓冲模块中的目标第二小包数据转移至该数据处理模块;
在步骤604对接收到的第一小包数据进行处理获得第二小包数据时,可以进一步根据第二寄存器中存储的数据处理规则写入与该目标第二小包数据的处理需求相对应的处理程序,并通过所写入的处理程序对该目标第二小包数据进行数据处理,获得相对应的第二小包数据。
可选地,在图6所示小包数据并行处理方法的基础上,当小包数据并行处理装置包括有统计模块时,可以进一步利用统计模块统计由数据调度控制模块转移至输出数据存储模块中的第二小包数据的数量,根据输出数据存储模块中所述第二小包数据的数量和第一小包数据的总个数,确定数据处理进度信息,并将数据处理进度信息输出,其中,数据处理进度信息用于表征对第一大包数据进行数据处理的进度。
综上所述,本发明各个所述所提供的小包数据并行处理装置和方法,至少具有如下有益效果:
1、在本发明实施例中,首先输入数据存储模块存储有包括至少两个第一小包数据的第一大包数据,通过数据调度控制模块将输入数据存储模块中的一个第一小包数据转移到一个空置的输入缓冲模块,然后处理调度控制模块将该输入缓冲模块缓存的该第一小包数据转移到一个空闲的数据处理模块,由该数据处理模块处理该第一小包数据,处理后得到第二小包数据,再由处理调度控制模块将该第二小包数据转移至一个空置的输出缓冲模块后,数据调度控制模块将该缓冲模块的第二数据包转移至输出数据存储模块。由此可见,首先每一个小包数据分别缓存至每个输入缓冲模块,经由处理调度控制模块转移至每个处理模块中,如此每个处理模块可以在同一时刻同时执行对小包数据的处理过程,实现并行处理,最大限度地利用各模块资源,从而提高了资源的利用率。
2、在本发明的实施例中,输入数据存储模块中存储的待处理的第一大包数据包括多个第一小包数据,其中,在数据处理的前端就已经将各小包数据整合成大包数据,以大包数据的形式一次性将小包数据进行传输,避免以传统方式依次对每个小包数据进行传输,从而提高小包数据传输至输入数据存储模块的传输速度。
3、在本发明的实施例中,数据调度控制模块负责将第一小包数据转移至空置的输入缓冲模块中,以使每个第一小包数据都对应一个输入缓冲模块,其中,输入缓冲模块拥有不同的存储空间、且空间较小,因此数据调度控制模块能够合理分配每个第一小包数据保证其数据量不大于该输入缓冲模块的容量,因此能够充分利用该输入缓冲模块的存储空间,提高资源利用率。
4、在本发明的实施例中,数据调度控制模块负责将第一小包数据转移至空置的输入缓冲模块中,以使每个第一小包数据都对应一个输入缓冲模块,处理调度控制模块负责将每个输入缓冲模块中的第一小包数据再转移至空闲的数据处理模块,如此经过两次调度后,每个第一小包数据分别对应一个数据处理模块,使得多个输入缓冲模块、多个数据处理模块能够同时运行,减少单个任务的等待时间,通过多处理器结构实现处理器级的并行,充分利用各模块资源,从而提高资源利用率。
5、在本发明的实施例中,将每个第一小包数据转移至不同的输入缓冲模块,再将输入缓冲模块中的第一小包数据转移至数据处理模块,可以避免数据处理模块访问相同的资源而导致频繁的交互,保证数据处理模块只接收来自输入缓冲模块中的小包数据,从而提高数据处理的运行效率。
6、在本发明的实施例中,第一寄存器对数据信息存储模块中的数据信息采用一次存入的方式进行存储,与现有的分多次存入数据信息不同,仅需要一个时钟脉冲就可以完成存入,提高数据信息的传输速度,进而提高小包数据处理的工作速度。输入缓冲模块的数据缓存、数据处理模块中的数据处理和输出缓冲模块的数据缓存可以同时进行,提升了数据处理的效率,更进一步提高了小包数据处理的资源利用率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.小包数据并行处理装置,其特征在于,包括:输入数据存储模块、输出数据存储模块、数据调度控制模块、处理调度控制模块、至少两个输入缓冲模块、至少两个输出缓冲模块和至少两个数据处理模块;
所述输入数据存储模块,用于存储待处理的第一大包数据,其中,所述第一大包数据包括至少两个第一小包数据,每个所述第一小包数据的数据量不大于一个所述输入缓冲模块的容量;
所述数据调度控制模块,用于在检测到所述至少两个输入缓冲模块中存在空置的所述输入缓冲模块时,将所述输入数据存储模块中存储的所述第一小包数据转移至所述输入缓冲模块,其中,每一个所述输入缓冲模块同时仅能够缓存一个所述第一小包数据;
所述处理调度控制模块,用于在检测到所述至少两个数据处理模块中存在空闲的所述数据处理模块,且检测到存在缓存有所述第一小包数据的所述输入缓冲模块时,将所述输入缓冲模块中缓存的所述第一小包数据转移至空闲的所述数据处理模块,其中,每一个所述数据处理模块同时仅能够存储一个所述第一小包数据;
所述数据处理模块,用于对接收到的所述第一小包数据进行处理,获得第二小包数据;
所述处理调度控制模块,还用于在检测到存在已获得所述第二小包数据的所述数据处理模块,并检测到所述至少两个输出缓冲模块中存在空置的所述输出缓冲模块时,将所述数据处理模块中的所述第二小包数据转移至空置的所述输出缓冲模块;
所述数据调度控制模块,还用于在检测到所述至少两个输出缓冲模块中缓存有所述第二小包数据时,将所述输出缓冲模块中缓存的所述第二小包数据转移至所述输出数据存储模块。
2.根据权利要求1所述的装置,其特征在于,进一步包括:数据接口模块和数据信息存储模块;
所述数据接口模块,用于接收来自外部处理器的所述第一大包数据和数据信息,并将接收到的所述第一大包数据存储到所述输入数据存储模块,以及将所述数据信息存储到所述数据信息存储模块,其中,不同的所述第一小包数据对应不同的所述数据信息,所述数据信息用于描述所述第一小包数据的属性;
所述数据调度控制模块,还用于在从所述输出缓冲模块中读取到一个所述第二小包数据之后,将所述数据信息存储模块中存储的与该第二小包数据相对应的所述数据信息与该第二小包数据进行整合,并将整合后的该第二小包数据与相对应的所述数据信息存储到所述输出数据存储模块中;
所述输出数据存储模块,还用于对所述输出数据存储模块中各个整合后的所述第二小包数据和相对应的所述数据信息进行进一步合并,获得第二大包数据,并将所述第二大包数据发送给所述数据接口模块;
所述数据接口模块,还用于将所述第二大包数据输出。
3.根据权利要求2所述的装置,其特征在于,进一步包括:第一寄存器;
所述第一寄存器,用于存储数据调度规则和数据处理规则,其中,所述数据调度规则和所述数据处理规则由所述数据信息存储模块中所存储的所述数据信息而确定;
所述数据调度控制模块,用于根据所述数据调度规则,在一个所述输入缓冲模块处于空置状态时,将所述输入数据存储模块中的一个目标第一小包数据转移至该输入缓冲模块,其中,所述目标第一小包数据的数据处理需求与该输入缓冲模块相对应;
所述处理调度控制模块,用于根据所述数据调度规则,在一个所述数据处理模块处于空闲状态时,将一个目标输入缓冲模块中的所述第一小包数据转移至该数据处理模块,其中,所述目标输入缓冲模块中的所述第一小包数据的数据处理需求与该数据处理模块相对应;
所述数据处理模块,用于按照所接收到的所述第一小包数据的数据处理需求,根据所述第一寄存器中存储的所述数据处理规则,对所述接收到的所述第一小包数据进行数据处理。
4.根据权利要求2所述的装置,其特征在于,进一步包括:第二寄存器;
所述第二寄存器,用于存储数据调度规则和数据处理规则,其中,所述数据调度规则和所述数据处理规则由所述数据信息存储模块中所存储的所述数据信息而确定;
所述数据调度控制模块,还用于根据所述数据调度规则,在一个所述输入缓冲模块处于空置状态时,将所述输入数据存储模块中的一个目标第二小包数据转移至该输入缓冲模块;
所述处理调度控制模块,还用于根据所述数据调度规则,在一个所述数据处理模块处于空闲状态时,将一个目标输入缓冲模块中的所述目标第二小包数据转移至该数据处理模块;
所述数据处理模块,还用于在接收到所述目标第二小包数据时,根据所述第二寄存器中存储的所述数据处理规则写入与该目标第二小包数据的处理需求相对应的处理程序,并通过所写入的处理程序对该目标第二小包数据进行数据处理,获得相对应的所述第二小包数据。
5.根据权利要求1至4中任一所述的装置,其特征在于,进一步包括:统计模块;
所述统计模块,用于统计由所述数据调度控制模块转移至所述输出数据存储模块中的所述第二小包数据的数量,根据所述输出数据存储模块中所述第二小包数据的数量和所述第一小包数据的总个数,确定数据处理进度信息,并将所述数据处理进度信息输出,其中,所述数据处理进度信息用于表征对所述第一大包数据进行数据处理的进度。
6.根据权利要求1至5中任一所述的小包数据并行处理装置的小包数据并行处理方法,其特征在于,包括:
利用所述输入数据存储模块存储待处理的第一大包数据,其中,所述第一大包数据包括至少两个第一小包数据,每个所述第一小包数据的数据量不大于一个所述输入缓冲模块的容量;
在检测到所述至少两个输入缓冲模块中存在空置的所述输入缓冲模块时,利用所述数据调度控制模块将所述输入数据存储模块中存储的所述第一小包数据转移至所述输入缓冲模块,其中,每一个所述输入缓冲模块同时仅能够缓存一个所述第一小包数据;
在检测到所述至少两个数据处理模块中存在空闲的所述数据处理模块,且检测到存在缓存有所述第一小包数据的所述输入缓冲模块时,利用所述处理调度控制模块将所述输入缓冲模块中缓存的所述第一小包数据转移至空闲的所述数据处理模块,其中,每一个所述数据处理模块同时仅能够存储一个所述第一小包数据;
利用所述数据处理模块处理其接收到的所述第一小包数据,获得第二小包数据;
在检测到存在已获得所述第二小包数据的所述数据处理模块,并检测到所述至少两个输出缓冲模块中存在空置的所述输出缓冲模块时,利用所述处理调度控制模块将所述数据处理模块中的所述第二小包数据转移至空置的所述输出缓冲模块;
在检测到所述至少两个输出缓冲模块中缓存有所述第二小包数据时,利用所述数据调度控制模块将所述输出缓冲模块中缓存的所述第二小包数据转移至所述输出数据存储模块。
7.根据权利要求6所述的方法,其特征在于,当所述小包数据并行处理装置包括有数据接口模块和数据信息存储模块时,
所述利用所述输入数据存储模块存储待处理的第一大包数据,包括:
利用所述数据接口模块接收来自外部处理器的所述第一大包数据和数据信息,并将接收到的所述第一大包数据存储到所述输入数据存储模块,以及将所述数据信息存储到所述数据信息存储模块,其中,不同的所述第一小包数据对应有不同的所述数据信息,所述数据信息用于描述相应所述第一小包数据的属性;
在所述利用所述数据调度控制模块将所述输出缓冲模块中缓存的所述第二小包数据转移至所述输出数据存储模块之前,进一步包括:
利用所述数据调度控制模块在从所述输出缓冲模块中读取到一个所述第二小包数据,并将所述数据信息存储模块中存储的与该第二小包数据相对应的所述数据信息与该第二小包数据进行整合,以及将整合的该第二小包数据和相对应的所述数据信息存储到所述输出数据存储模块中;
在所述利用所述数据调度控制模块将所述输出缓冲模块中缓存的所述第二小包数据转移至所述输出数据存储模块之后,进一步包括:
利用所述输出数据存储模块对所述输出数据存储模块中各个整合后的所述第二小包数据和相对应的所述数据信息进行进一步合并,获得第二大包数据,并通过所述数据接口模块将所述第二大包数据输出。
8.根据权利要求7所述的方法,其特征在于,当所述小包数据并行处理装置包括第一寄存器时,
所述利用所述数据调度控制模块将所述输入数据存储模块中存储的所述第一小包数据转移至所述输入缓冲模块,包括:
根据所述第一寄存器中存储的所述数据调度规则,在一个所述输入缓冲模块处于空置状态时,利用所述数据调度控制模块将所述输入数据存储模块中的一个目标第一小包数据转移至该输入缓冲模块,其中,所述目标第一小包数据的数据处理需求与该输入缓冲模块相对应;
所述利用所述处理调度控制模块将所述输入缓冲模块中缓存的所述第一小包数据转移至空闲的所述数据处理模块,包括:
根据所述第一寄存器中存储的所述数据调度规则,在一个所述数据处理模块处于空闲状态时,利用所述处理调度控制模块将一个目标输入缓冲模块中的所述第一小包数据转移至该数据处理模块,其中,所述目标输入缓冲模块中的所述第一小包数据的数据处理需求与该数据处理模块相对应;
所述对接收到的所述第一小包数据进行处理获得第二小包数据,包括:
按照所述接收到的所述第一小包数据的数据处理需求,根据所述第一寄存器中存储的数据处理规则,对所接收到的所述第一小包数据进行数据处理。
9.根据权利要求7所述的方法,其特征在于,当所述小包数据并行处理装置包括第二寄存器时,
所述利用所述数据调度控制模块将所述输入数据存储模块中存储的所述第一小包数据转移至所述输入缓冲模块,包括:
根据所述第二寄存器中存储的所述数据调度规则,在一个所述输入缓冲模块处于空置状态时,利用所述数据调度控制模块将所述输入数据存储模块中的一个目标第二小包数据转移至该输入缓冲模块;
所述利用所述处理调度控制模块将所述输入缓冲模块中缓存的所述第一小包数据转移至空闲的所述数据处理模块,包括:
根据所述第二寄存器中存储的所述数据调度规则,在一个所述数据处理模块处于空闲状态时,利用所述处理调度控制模块将一个目标输入缓冲模块中的所述目标第二小包数据转移至该数据处理模块;
所述对接收到的所述第一小包数据进行处理获得第二小包数据,包括:
根据所述第二寄存器中存储的数据处理规则写入与该目标第二小包数据的处理需求相对应的处理程序,并通过所写入的处理程序对该目标第二小包数据进行数据处理,获得相对应的所述第二小包数据。
10.根据权利要求6至9中任一所述的方法,其特征在于,当所述小包数据并行处理装置包括有统计模块时,进一步包括:
利用所述统计模块统计由所述数据调度控制模块转移至所述输出数据存储模块中的所述第二小包数据的数量,根据所述输出数据存储模块中所述第二小包数据的数量和所述第一小包数据的总个数,确定数据处理进度信息,并将所述数据处理进度信息输出,其中,所述数据处理进度信息用于表征对所述第一大包数据进行数据处理的进度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010670061.4A CN111813759A (zh) | 2020-07-13 | 2020-07-13 | 小包数据并行处理装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010670061.4A CN111813759A (zh) | 2020-07-13 | 2020-07-13 | 小包数据并行处理装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111813759A true CN111813759A (zh) | 2020-10-23 |
Family
ID=72841808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010670061.4A Pending CN111813759A (zh) | 2020-07-13 | 2020-07-13 | 小包数据并行处理装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111813759A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655440A (zh) * | 2011-03-03 | 2012-09-05 | 中兴通讯股份有限公司 | 对多套Turbo译码器进行调度的方法和装置 |
CN104965799A (zh) * | 2015-07-13 | 2015-10-07 | 福州瑞芯微电子有限公司 | 一种数据缓存装置及方法 |
CN106886498A (zh) * | 2017-02-28 | 2017-06-23 | 华为技术有限公司 | 数据处理装置和终端 |
CN108366111A (zh) * | 2018-02-06 | 2018-08-03 | 西安电子科技大学 | 一种用于交换设备的数据包低时延缓存装置与方法 |
CN108536526A (zh) * | 2017-03-02 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种基于可编程硬件的资源管理方法以及装置 |
CN109766296A (zh) * | 2019-01-08 | 2019-05-17 | 郑州云海信息技术有限公司 | 一种数据处理方法、装置、系统和dma控制器 |
CN109992205A (zh) * | 2019-03-27 | 2019-07-09 | 无锡海斯凯尔医学技术有限公司 | 数据存储的装置、方法及可读存储介质 |
CN111104399A (zh) * | 2019-12-19 | 2020-05-05 | 国网安徽省电力有限公司信息通信分公司 | 一种海量电网数据管理存储系统 |
-
2020
- 2020-07-13 CN CN202010670061.4A patent/CN111813759A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655440A (zh) * | 2011-03-03 | 2012-09-05 | 中兴通讯股份有限公司 | 对多套Turbo译码器进行调度的方法和装置 |
CN104965799A (zh) * | 2015-07-13 | 2015-10-07 | 福州瑞芯微电子有限公司 | 一种数据缓存装置及方法 |
CN106886498A (zh) * | 2017-02-28 | 2017-06-23 | 华为技术有限公司 | 数据处理装置和终端 |
CN108536526A (zh) * | 2017-03-02 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种基于可编程硬件的资源管理方法以及装置 |
CN108366111A (zh) * | 2018-02-06 | 2018-08-03 | 西安电子科技大学 | 一种用于交换设备的数据包低时延缓存装置与方法 |
CN109766296A (zh) * | 2019-01-08 | 2019-05-17 | 郑州云海信息技术有限公司 | 一种数据处理方法、装置、系统和dma控制器 |
CN109992205A (zh) * | 2019-03-27 | 2019-07-09 | 无锡海斯凯尔医学技术有限公司 | 数据存储的装置、方法及可读存储介质 |
CN111104399A (zh) * | 2019-12-19 | 2020-05-05 | 国网安徽省电力有限公司信息通信分公司 | 一种海量电网数据管理存储系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2463648C2 (ru) | Выборочное использование множества различающихся ячеек твердотельного запоминающего устройства | |
CN101277272A (zh) | 一种海量广播数据入库的实现方法 | |
CN105573711B (zh) | 一种数据缓存方法及装置 | |
CN109564502B (zh) | 应用于存储设备中的访问请求的处理方法和装置 | |
US7373467B2 (en) | Storage device flow control | |
CN115080455B (zh) | 一种计算机芯片、计算机板卡、存储空间分配方法及装置 | |
CN102841871A (zh) | 基于高速串行总线的DMA结构的pipeline读写方法 | |
CN112948293A (zh) | 一种多用户接口的ddr仲裁器及ddr控制器芯片 | |
CN109800558B (zh) | 密码服务板卡以及密码服务装置 | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
WO2023040399A1 (zh) | 一种业务持久化方法及装置 | |
CN116483441B (zh) | 基于移位缓冲的输出时序优化系统、方法及相关设备 | |
CN102841870A (zh) | 基于高速串行总线的通用dma结构及预读方法 | |
CN115129621B (zh) | 一种内存管理方法、设备、介质及内存管理模块 | |
CN113590512A (zh) | 可直连外设设备的自启动dma装置及应用 | |
CN116955247B (zh) | 一种缓存描述符管理装置及其方法、介质、芯片 | |
CN100557584C (zh) | 用于对网络和存储器进行耦合的存储器控制器和方法 | |
WO2024027140A1 (zh) | 一种数据处理方法、装置、设备、系统及可读存储介质 | |
CN111813759A (zh) | 小包数据并行处理装置和方法 | |
US11941440B2 (en) | System and method for queuing commands in a deep learning processor | |
CN102420749A (zh) | 一种网卡发包功能的实现装置和方法 | |
CN114610231A (zh) | 大位宽数据总线分段存储的控制方法、系统、设备及介质 | |
KR102338872B1 (ko) | 다수의 클라이언트 데이터를 처리하는 저장 장치 및 방법 | |
CN111126584B (zh) | 数据回写系统 | |
CN111435332B (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 |