CN117632015A - 数据分区方法、装置、计算机存储介质及加速卡 - Google Patents
数据分区方法、装置、计算机存储介质及加速卡 Download PDFInfo
- Publication number
- CN117632015A CN117632015A CN202311605050.8A CN202311605050A CN117632015A CN 117632015 A CN117632015 A CN 117632015A CN 202311605050 A CN202311605050 A CN 202311605050A CN 117632015 A CN117632015 A CN 117632015A
- Authority
- CN
- China
- Prior art keywords
- data
- partition
- sub
- area
- partitioned
- 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
- 238000000638 solvent extraction Methods 0.000 title claims abstract description 101
- 230000001133 acceleration Effects 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000005192 partition Methods 0.000 claims abstract description 408
- 239000000872 buffer Substances 0.000 claims description 80
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000013500 data storage Methods 0.000 description 8
- 239000000306 component Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据分区方法、装置、计算机存储介质及加速卡,数据分区方法用于与主计算设备连接的加速卡,加速卡中包括存储区和加速核,存储区包括第一存储区和第二缓存区,通过接收主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入第一存储区;通过加速核,根据分区参数和分区基准数据,确定每个待分区数据对应的区域信息,并按照区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果;通过加速核从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。本实施例的整个数据分区过程在加速卡中完成,主计算设备只需发送数据以及读取结果。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据分区方法、装置、计算机存储介质及加速卡。
背景技术
数据分区是大数据应用中的一个重要策略,通过对数据进行数据分区,可以便于提高用户进行数据查询的效率以及优化数据存储。
现有技术中通常是通过主计算设备执行数据处理函数实现数据分区功能,而由于主计算设备的算力有限,并且需要执行多个数据处理任务,从而导致主计算设备的算力不足,从而使得针对数据分区的处理效率低。
发明内容
有鉴于此,本申请实施例提供一种数据分区方法、装置、计算机存储介质及电子设备,以至少部分解决上述问题。
根据本申请实施例的第一方面,提供了一种数据分区方法,用于与主计算设备连接的加速卡,加速卡中包括存储区和加速核,存储区包括第一存储区和第二缓存区,该数据分区方法包括:接收主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入第一存储区,其中,多个待分区数据和多个分区基准数据一一对应,分区参数包括分区数量和对应的区域位宽;通过加速核,从第一存储区中读取待分区数据、分区基准数据和分区参数,根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,并按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果,其中,各子缓存区是根据分区数量和对应的区域位宽确定的;通过加速核,从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。
根据本申请实施例的第二方面,提供了一种数据分区装置,用于与主计算设备连接的加速卡,加速卡中包括存储区和加速核,存储区包括第一存储区和第二缓存区,该数据分区装置包括数据接收模块、数据分区模块和结果合并模块,其中,数据接收模块用于接收主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入第一存储区,其中,多个待分区数据和多个分区基准数据一一对应,分区参数包括分区数量和对应的区域位宽;数据分区模块用于通过加速核,从第一存储区中读取待分区数据、分区基准数据和分区参数,根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,并按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果,其中,各子缓存区是根据分区数量和对应的区域位宽确定的;结果合并模块用于通过加速核,从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。
根据本申请实施例的第三方面,提供了一种加速卡,包括存储区和加速核,其中,存储区包括第一存储区和第二缓存区,第一存储区用于存储从主计算设备接收的多个待分区数据、多个分区基准数据和分区参数,其中,多个待分区数据和多个分区基准数据一一对应,分区参数包括分区数量和对应的区域位宽;加速核用于从第一存储区中读取待分区数据、分区基准数据和分区参数,根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,并按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果,其中,各子缓存区是根据分区数量和对应的区域位宽确定的;以及从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。
根据本申请实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
本申请实施例的数据分区方法、装置、计算机存储介质及加速卡,其中,数据分区方法用于与主计算设备连接的加速卡,加速卡中包括存储区和加速核,存储区包括第一存储区和第二缓存区,该数据分区方法包括:接收主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入第一存储区,其中,多个待分区数据和多个分区基准数据一一对应,分区参数包括分区数量和对应的区域位宽;通过加速核,从第一存储区中读取待分区数据、分区基准数据和分区参数,根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,并按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果,其中,各子缓存区是根据分区数量和对应的区域位宽确定的;通过加速核,从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。本实施例的整个数据分区过程是在加速卡中完成的,而主计算设备只需发送数据以及读取处理结果即可,从而减少了数据分区处理对主计算设备的算力的占用,且避免了主计算设备中执行的其他任务影响数据分区处理的效率,从而提高了处理效率。另外,由于子分区结果的数据量小于或等于子缓存区的区域位宽,即第二缓存区中的各子分区结果是分散存储的,不利于主计算设备直接读取处理结果,因此,将分布在各子缓存区的子分区结果重新读取进行合并得到分区结果,以便于主计算设备可以直接读取分区结果,进一步提高了整个处理过程的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本申请示例性实施例的一种数据分区方法的应用场景示意图;
图2为根据本申请示例性实施例的另一种数据分区方法的应用场景示意图;
图3为根据本申请示例性实施例的一种数据分区方法的步骤流程图;
图4为根据本申请另一示例性实施例的数据分区方法的步骤流程图;
图5A至5E为根据本申请示例性实施例的数据分区方法的处理过程示意图;
图6为根据本申请示例性实施例的一种数据分区装置的结构框图。
具体实施方式
为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。
在对本申请实施例的数据分区方法进行说明之前,先对数据分区方法的应用场景进行简略说明,以便于理解。
首先,数据分区在大数据应用中是一个常用的策略,通过对数据进行分区,可以帮助用户提高数据查询效率,同时优化数据存储和简化数据管理。以电商平台的销售数据分析为例,电商平台每天都有大量的交易发生,为了进行销售分析、用户行为分析和其他各种报表功能,所有的交易数据都被存储在一个大数据存储系统中,例如Hadoop HDFS、AmazonS3等。假设每条交易数据可能包含以下字段:交易ID、用户ID、商品ID、购买数量、购买时间、支付方式、发货地址等。当需要分析某一月份的销售数据时,如果在存储的时候没有将交易数据进行分区,则需要扫描所有存储的数据以查询到目标月份的销售数据,导致查询效率低。
为了解决上述问题,可以在存储时根据交易数据中的购买时间字段对交易数据进行分区,将每个月的交易数据存储在一个单独的分区中。这样,当需要查询目标月份的交易数据时,只需查询目标月份对应的分区,而无需遍历存储的交易数据。另外,还可以进一步细化数据分区的策略,例如,进一步根据交易数据中的发货地址进行地区子分区。这样,当需要查询目标月份在目标地区的交易数据,只需直接定位到目标月份的目标地区子分区,从而提高了查询效率。
在现有技术中,通常是通过主计算设备执行数据处理函数实现数据分区功能,而由于主计算设备的算力有限,并且需要执行多个数据处理任务,从而导致主计算设备的算力不足,从而使得针对数据分区的处理效率低。因此,本申请实施例提供了一种数据分区方法、装置、计算机存储介质及电子设备,以至少部分解决上述问题。
参照图1,图1为根据本申请示例性实施例的一种数据分区方法的应用场景示意图。本实施例的数据分区方法可以用于与主计算设备连接的加速卡中。
其中,主计算设备是执行数据分区所在的任务的设备,加速卡是插接到主计算设备上的、用于提高主计算设备在某一方面的处理速度的附属设备。例如,加速卡具有标准的PCIE接口,可以通过PCIE插槽插接在主计算设备上,PCIE是指PCI-Express,是一种总线和接口标准,加速卡与主计算设备可以通过PCIE传输通道进行数据传输.在本实施例中,加速卡用于提高主计算设备数据处理的速度。
主计算设备可以是客户端,也可以是服务器。它可以体现为桌面计算机、膝上型计算机、手机、PDA、专用终端,也可以体现为若干终端组成的集群,另外,它还可以是一台终端上划分出来的一部分,如虚拟机。加速卡可以为附属设备,例如插接在卡槽上的卡,也可以为与主计算设备通过接口连接的另一台独立的设备。本实施例对此不进行限制。
本实施例中,主计算设备执行任务。当任务的一部分需要进行数据分区处理时,将与进行数据分区处理相关的数据传输到加速卡,由加速卡获得数据分区的分区结果后,可以返回处理完成信息给主计算设备,主计算设备收到处理完成信息后,从加速卡中读取分区结果,从而减轻主计算设备进行数据分区处理的算力占用,避免了主计算设备中执行的其他任务影响数据分区处理的效率,从而提高了数据分区处理的效率。
如图1所示,主计算设备包括处理器(Central Processing Unit,CPU)和内存。处理器是用于执行主计算设备的任务的核心部件。内存是存储主计算设备的任务需要的数据、以及主计算设备执行任务产生的中间结果和最终结果的部件。例如,本实施例中的多个待分区数据、多个分区基准数据和分区参数也是存储在内存中。在需要执行数据分区处理时,处理器将多个待分区数据、多个分区基准数据和分区参数从内存调出,通过主计算设备和加速卡之间的传输通道发送到加速卡。
加速卡包括加速核和存储区。加速核是加速卡中用于对数据进行分区处理的处理单元。存储区是加速卡中用于存储数据的区域,如存储区可以是双倍速率同步动态随机存储器(Double Data Rate,DDR)。由于加速卡中具有加速核和存储区,因此,它在进行数据处理时,可以一次性接收需要进行数据处理的相关数据,不用多次与主计算设备进行数据传输,从而减少了数据传输开销。
参照图2,本实施例中的存储区可以包括第一存储区和第二缓存区,其中,第一存储区用于存储从主计算设备接收到的数据,例如本实施例中的多个待分区数据、多个分区基准数据和分区参数;第一存储区还用于存储主计算设备读取的数据处理结果,例如本实施例中的分区结果。第二缓存区用于对数据处理过程中的过程数据进行缓存,例如本实施例中的子分区结果。
参照图3,示出了根据本申请示例性实施例的一种数据分区方法的步骤流程图。
本实施例的数据分区方法用于与主计算设备连接的加速卡,加速卡中包括存储区和加速核,存储区包括第一存储区和第二缓存区,数据分区方法具体包括以下步骤:
S102、接收所述主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入所述第一存储区。
其中,多个待分区数据和多个分区基准数据一一对应,分区参数包括分区数量和对应的区域位宽。
示例性地,多个待分区数据是要进行数据分区的数据,多个待分区数据和多个分区基准数据一一对应,分区基准数据用于指示对应的待分区数据所属的区域,即分区基准数据是待分区数据进行分区的分区依据。待分区数据和分区基准数据的数据类型可以相同,也可以不同,例如,待分区数据和分区基准数据的数据类型可以是INT32、INT64、UINT32、UINT64、Decimal32、Decimal64、DATE等之中的一种,其中,分区基准数据的数据类型可以是固定的UINT32,本实施例对此不进行限制。
下面是对上述的数据类型的解释和在加速卡的第一存储区中存储形式的说明:
(1)INT32、UINT32分别是指有符号的32位整型数据和无符号的32位整型数据,类似C语言中的int型,此类型的数据存储占用内存为4个字节,即32bit;
(2)INT64和UINT64分别是指有符号的64位整型数据和无符号的64位整型数据,此类型的数据存储占用内存为8个字节,即64bit;
(3)DATE是指日期类型的数据,此类型的数据存储占用内存为4个字节,即32bit;
(4)Decimal32和Decimal64是定点类型数据,可以表示固定精度的数据,例如小数99.8,Decimal32类型的数据存储占用内存为4个字节,即32bit;Decimal64类型的数据存储占用内存为8个字节,即64bit。
分区参数是在数据分区时所用的参数,可以包括分区数量和对应的区域位宽。其中,分区数量是指将多个待分区数据划分到多少个区域,区域位宽是指每个区域能够存储的数据量,分区数量和对应的区域位宽可由本领域技术人员根据实际情况灵活设置,本实施例对此不进行限制。另外,每个区域对应的区域位宽可以相同,也可以不同,本实施例对此不进行限制。分区参数还可以包括待分区数据和分区基准数据的数据类型,以及加速卡接收到的待分区数据和分区基准数据的输入数量。例如,待分区数据和分区基准数据的输入数量分别为100个数据。
S104、通过加速核,从第一存储区中读取待分区数据、分区基准数据和分区参数,根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,并按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果。
其中,各子缓存区是根据分区数量和对应的区域位宽确定的。
示例性地,第二缓存区的各子缓存区是根据分区数量和对应的区域位宽确定的,此处,第二缓存区的存储空间需大于或等于各子缓存区的区域位宽的总和,以保证第二缓存区的数据不会溢出。若各子缓存区的区域位宽相等,则各子缓存区的区域位宽的总和=分区数量*区域位宽。例如,可以设定分区参数中的分区数量为5,分区大小为100字节。
参照图5A,通过加速核,从第一存储区中分别读取5个待分区数据、5个分区基准数据和分区参数(以上述示例的分区参数为例),可以根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,例如,可以基于分区数量对每个分区数据进行取余运算,将得到的余数作为每个待分区数据对应的区域信息。参照图5B和图5C,按照每个待分区数据对应的区域信息,将待分区数据依次写入第二缓存区中的各子缓存区,直到将所有待分区数据处理完成,将每个子缓存区中累计写入的待分区数据作为每个子缓存区对应的子分区结果。根据各子缓存区的区域位宽,可以确定每个子分区结果在第二缓存区中对应的起始地址信息,根据每个子缓存区中累计写入的待分区数据的个数,可以确定每个子分区结果在第二缓存区中对应的数据量信息。
此处,参照图5C,可以发现各子分区结果在存储区中是分散存储的,若存在子分区结果的数据量小于子缓存区的区域位宽,则该子缓存区中包含无效数据,例如,某一子缓存区的区域位宽为100字节,对应的子分区结果的数据量为70字节,则该子缓存区包含70字节的有效数据和30字节的无效数据。若此时主计算设备直接读取数据分区结果,则需要遍历每个子缓存区进行依次读取,以剔除无效数据,导致读取结果的效率低。
在一种可选实现方式中,加速核还包括第三缓存区,按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果,包括:根据每个待分区数据对应的区域信息,将待分区数据进行分区,得到初步分区结果;将初步分区结果依次缓存至第三缓存区,若第三缓存区中缓存的初步分区结果达到预设缓存数据量,则将第三缓存区内的初步分区结果写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果。
示例性地,加速核中还可以包括第三缓存区,第三缓存区的存储空间大小可由本领域技术人员根据实际情况灵活设置,例如,第三缓存区的存储空间大小可以为4096bit,本实施例对此不进行限制。预设缓存数据量可以根据第三缓存区的存储空间大小确定,预设缓存数据量小于或等于第三缓存区的存储空间大小,可由本领域技术人员根据实际情况灵活设置,本实施例对此不进行限制。通过加速核,按照每个待分区数据对应的区域信息,将待分区数据进行分区得到初步分区结果,其中,初步分区结果包括每个区域信息对应的待分区数据集。将初步分区结果依次缓存至第三缓存区,若第三缓存区中缓存的初步分区结果达到预设缓存数据量,将第三缓存区内的初步分区结果按照对应的区域信息写入第二缓存区中的各子缓存区,直至将所有待分区数据处理完成,得到子缓存区对应的子分区结果。
本实现方式中,通过在加速核上设置第三缓存区,可以将加速核对待分区数据进行分区得到的初步分区结果先缓存至第三缓存区,直至达到第三缓存区的预设缓存数据量,再将初步分区结果按照对应的区域信息写入第二缓存区中,避免了实时或频繁的对存储区进行写入操作,降低了数据写入存储区的频率,从而减少了加速核和存储区之间数据传输的开销。
在一种可选实现方式中,将初步分区结果依次缓存至第三缓存区,若第三缓存区中缓存的初步分区结果达到预设缓存数据量,则将第三缓存区内的初步分区结果写入第三缓存区中的各子缓存区,包括:根据分区数量将第三缓存区分为多个子区域,将初步分区结果依次缓存至对应的子区域;若子区域的缓存数据量达到第一缓存数据量,则通过加速核向第二缓存区发送子区域对应的写入请求,第一缓存数据量根据预设缓存数据量和分区数量确定;第二缓存区响应于写入请求,将子区域中缓存的初步分区结果写入第三缓存区中对应于子区域的子缓存区。
示例性地,根据分区数量和预先设置的第三缓存区的存储空间(或预设缓存数量),将第三缓存区划分为多个子区域,各子区域与第二缓存区的各子缓存区相对应。各子区域的缓存空间大小即第一缓存数据量可以根据预设缓存数据量和分区数量确定,例如,第一缓存数据量可以是预设缓存数据量和分区数量的比值。根据区域信息将初步分区结果依次缓存至对应的子区域。若某一子区域的缓存数据量达到第一缓存数据量,则通过加速核向第二缓存区发送子区域对应的写入请求,通过第二缓存区响应于写入请求,将子区域中缓存的初步分区结果以突发方式写入第三缓存区中对应于子区域的子缓存区。
本实现方式中,通过将第三缓存区划分为多个子区域,从而当子区域的缓存数据量达到第一缓存数据量后,再向第二缓存区发出写入请求,将该子区域缓存的初步分区结果写入对应的子缓存区。可以使得各子区域的数据可以有序写入对应的子缓存区,进一步提高了加速核和第二缓存区之间数据传输的效率。
S106、通过加速核,从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。
示例性地,参照图5E,通过加速核,从各子缓存区(图5E中的Bucket1、Bucket2、Bucket3、Bucket4、Bucket5)中读取子分区结果,可以按子分区结果对应的区域信息对子分区结果进行顺序合并,得到分区结果,同时,根据各子分区结果的数据量,例如、图5E中的Bucket1对应的60、Bucket2对应的50、Bucket3对应的70、Bucket4对应的30、Bucket5对应的20,可以得到分区结果中各子分区结果的起始地址信息(参照图5E中的Offset)和数据量信息(参照图5E中的Length)。
在一种可选实现方式中,通过加速核,从各子缓存区中读取子分区结果进行合并,得到分区结果,包括:通过加速核,从各子缓存区中读取子分区结果,并获取每个子分区结果的数据量信息和对应的区域信息;按照每个子分区结果对应的区域信息,对子分区结果进行拼接,得到每个子分区结果对应的起始地址信息;根据各子分区结果、每个子分区结果对应的数据量信息和起始地址信息,确定分区结果。
示例性地,参照图5D,通过加速核,从各子缓存区中读取子分区结果,同时可以得到每个子分区结果的数据量信息和对应的区域信息。按照每个子分区结果对应的区域信息,按区域信息的排列顺序对子分区结果进行拼接,可以得到分区结果,分区结果中可以包括各子分区结果、每个子分区结果对应的数据量信息和起始地址信息。
本实现方式中,通过从各子缓存区中读取子分区结果,并获取每个子分区结果的数据量信息和对应的区域信息;按照每个子分区结果对应的区域信息,对子分区结果进行拼接,得到分区结果。从而将分散存储的各子分区结果进行合并,使得最终的分区结果更便于主计算设备进行读取。
在一种可选实现方式中,本实施例的数据分区方法还包括:将分区结果写入第一存储区,分区结果包括结果数据和读取信息;结果数据包括各子分区结果,读取信息包括每个子分区结果对应的起始地址信息和数据量信息;返回处理完成信息至主计算设备,以使主计算设备从第一存储区读取分区结果,其中,主计算设备读取读取信息,根据读取信息读取结果数据。
示例性地,加速核在得到分区结果后,再将分区结果写入第一存储区,并且向主计算设备返回处理完成信息,例如,加速核可以在将分区结果写入第一存储区时,同时向主计算设备返回处理完成信息;或者,可以在将分区结果写入第一存储区后,再向主计算设备返回处理完成信息,本实施例对此不进行限制。另外,第一存储区中可以包括多个区域,已分别存储待分区数据、分区基准数据、分区参数、读取信息和结果数据等。主计算设备接收到处理完成信息后,由处理器从第一存储区读取分区结果,处理器可以先读取分区结果中的读取信息,再根据读取信息中的每个子分区结果对应的起始地址信息和数据量信息,读取每个子分区结果,以传输至内存中对应的区域进行存储。也可以直接读取分区结果,再通过处理器根据分区结果中的读取信息,将每个子分区结果传输至内存中对应的区域进行存储。
本实现方式中,通过加速核将分区结果写入第一存储区,再返回处理完成信息至主计算设备,以使主计算设备从第一存储区读取分区结果,并且,主计算设备可以先读取分区结果中的读取信息,再根据读取信息读取分区结果中的结果数据,以提高主计算设备从加速卡中读回数据的效率。
本申请实施例的数据分区方法用于与主计算设备连接的加速卡,加速卡中包括存储区和加速核,存储区包括第一存储区和第二缓存区,该数据分区方法包括:接收主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入第一存储区,其中,多个待分区数据和多个分区基准数据一一对应,分区参数包括分区数量和对应的区域位宽;通过加速核,从第一存储区中读取待分区数据、分区基准数据和分区参数,根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,并按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果,其中,各子缓存区是根据分区数量和对应的区域位宽确定的;通过加速核,从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。本实施例的整个数据分区过程是在加速卡中完成的,而主计算设备只需发送数据以及读取处理结果即可,从而减少了数据分区处理对主计算设备的算力的占用,且避免了主计算设备中执行的其他任务影响数据分区处理的效率,从而提高了处理效率。另外,由于子分区结果的数据量小于或等于子缓存区的区域位宽,即第二缓存区中的各子分区结果是分散存储的,不利于主计算设备直接读取处理结果,因此,将分布在各子缓存区的子分区结果重新读取进行合并得到分区结果,以便于主计算设备可以直接读取分区结果,进一步提高了整个处理过程的效率。
参照图4,示出了根据本申请另一示例性实施例的数据分区方法的步骤流程图,如图所示,本实施例主要示出了上述实施例的步骤S104的一种示例性实施方案,本实施例主要包括以下步骤:
S202、接收所述主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入所述第一存储区。
需要说明的是,步骤S202可参照上述步骤S102的具体实施方式进行实施,在此不进行赘述。
S204、通过加速核从第一存储区读取分区参数。
S206、基于单次传输位宽信息,从第一存储区中存储的待分区数据中分批次读取多个待分区数据组,并对应地从分区基准数据中分批次读取多个分区基准数据组,直至将待分区数据和分区基准数据读取完成。
示例性地,单次传输位宽信息是指加速核每次进行数据分区时从第一存储区读取的数据量,本实施例对单次传输位宽信息与待分区数据和分区基准数据的数据量的大小关系不进行限制,可以大于、小于或等于。例如,第一存储区中存储有100个待分区数据和100个分区基准数据,待分区数据和分区基准数据的数据类型为INT32,假设单次传输位宽信息为512bit,则加速核每次从第一存储区中的待分区数据和分区基准数据中分别读取512bit,即16个数据,直至将待分区数据和分区基准数据读取完成,最终分别得到7个待分区数据组和7个分区基准数据组。通过设置单次传输位宽信息,可以分批次从第一存储区读取待分区数据组和分区基准数据组,直至将待分区数据和分区基准数据读取完成。从而在待分区数据和分区基准数据的输入数量过大的情况下,可以避免加速核的算力无法一次性运算所有数据,但一次性读取了所有数据,因此导致加速核的处理效率降低。
此处,可以通过分区参数中的待分区数据和分区基准数据的输入数量判断是否已将待分区数据和分区基准数据读取完成。也可以通过预先计算的加速核的总执行周期进行确定,加速核的总执行周期计算如下:假设待分区数据的数据类型为INT32,单次传输位宽信息为512bit(即16个数据),输入数量为N,那么总执行周期=(N+15)/16,其中“+15”是为实现不满16的进一。加速核每批次读取16个待分区数据和分区基准数据,同时对累计执行周期加一,直到累计执行周期大于或等于总执行周期,则确定已将待分区数据和分区基准数据读取完成。
需要说明的是,由于待分区数据和分区基准数据的输入数量可能不是单次传输位宽信息的整数倍,因此最后一个待分区数据组和分区基准数据组中包含部分无效数据,在对待分区数据组和分区基准数据组进行处理时,只处理有效数据,不对无效数据进行处理。
S208、针对每一批次对应的待分区数据组和分区基准数据组,根据分区数量和分区基准数据组,确定待分区数据组中各待分区数据对应的区域信息。
S210、按照待分区数据对应的区域信息,将待分区数据组中各待分区数据对应的分别写入第二缓存区中的各子缓存区,得到各子缓存区对应的每一批次的第一子分区结果。
S212、对子缓存区对应的每一批次的第一子分区结果进行整合,得到各子缓存区对应的子分区结果。
示例性地,分别针对每一批次的待分区数据组和对应的分区基准数据组进行分区处理,分别根据分区数量和每一批次的分区基准数据组,确定每一批次的待分区数据组中各待分区数据对应的区域信息。再按照每一批次得到的区域信息,将对应的待分区数据组中各待分区数据分别写入各子缓存区,得到各子缓存区对应的每一批次的第一子分区结果。将子缓存区对应的每一批次的第一子分区结果进行累计,直至完成总执行周期,则可以得到各子缓存区对应的子分区结果。
S214、通过加速核,从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。
需要说明的是,步骤S216可参照上述步骤S106的具体实施方式进行实施,在此不进行赘述。
本实施例中,通过分批次从第一存储区读取待分区数据组和分区基准数据组,直至将待分区数据和分区基准数据读取完成,进而加速核可以分批次的对待分区数据组和分区基准数据组进行分区处理,再将各子缓存区对应的所有批次的运算结果进行整合,得到各子分区结果。本实施例可以使得加速核每次进行数据处理的数据量能够更适配加速核的算力,能够使得加速卡的数据处理性能达到最佳,从而可以提高数据分区处理的效率。
参照图6,示出了根据本申请示例性实施例的一种数据分区装置的结构框图。
本实施例的数据分区装置用于与主计算设备连接的加速卡,存储区包括第一存储区和第二缓存区,该数据分区装置包括数据接收模块602、数据分区模块604和结果合并模块606。
其中,数据接收模块602用于接收主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入第一存储区,其中,多个待分区数据和多个分区基准数据一一对应,分区参数包括分区数量和对应的区域位宽;数据分区模块604用于通过加速核,从第一存储区中读取待分区数据、分区基准数据和分区参数,根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,并按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果,其中,各子缓存区是根据分区数量和对应的区域位宽确定的;结果合并模块606用于通过加速核,从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。
在一种可选实现方式中,数据分区模块604还用于:通过加速核从第一存储区读取分区参数;基于单次传输位宽信息,从第一存储区中存储的待分区数据中分批次读取多个待分区数据组,并对应地从分区基准数据中分批次读取多个分区基准数据组,直至将待分区数据和分区基准数据读取完成。
在一种可选实现方式中,数据分区模块604还用于:针对每一批次对应的待分区数据组和分区基准数据组,根据分区数量和分区基准数据组,确定待分区数据组中各待分区数据对应的区域信息;按照待分区数据对应的区域信息,将待分区数据组中各待分区数据对应的分别写入第二缓存区中的各子缓存区,得到各子缓存区对应的每一批次的第一子分区结果;对子缓存区对应的每一批次的第一子分区结果进行整合,得到各子缓存区对应的子分区结果。
在一种可选实现方式中,加速核还包括第三缓存区,数据分区模块604还用于:根据每个待分区数据对应的区域信息,将待分区数据进行分区,得到初步分区结果;将初步分区结果依次缓存至第三缓存区,若第三缓存区中缓存的初步分区结果达到预设缓存数据量,则将第三缓存区内的初步分区结果写入第三缓存区中的各子缓存区,得到子缓存区对应的子分区结果。
在一种可选实现方式中,数据分区模块604还用于:根据分区数量将第三缓存区分为多个子区域,将初步分区结果依次缓存至对应的子区域;若子区域的缓存数据量达到第一缓存数据量,则通过加速核向第二缓存区发送子区域对应的写入请求,第一缓存数据量根据预设缓存数据量和分区数量确定;第二缓存区响应于写入请求,将子区域中缓存的初步分区结果写入第三缓存区中对应于子区域的子缓存区。
在一种可选实现方式中,结果合并模块606还用于:通过加速核,从各子缓存区中读取子分区结果,并获取每个子分区结果的数据量信息和对应的区域信息;按照每个子分区结果对应的区域信息,对子分区结果进行拼接,得到每个子分区结果对应的起始地址信息;根据各子分区结果、每个子分区结果对应的数据量信息和起始地址信息,确定分区结果。
在一种可选实现方式中,结果合并模块606还用于:将分区结果写入第一存储区,分区结果包括结果数据和读取信息;结果数据包括各子分区结果,读取信息包括每个子分区结果对应的起始地址信息和数据量信息;返回处理完成信息至主计算设备,以使主计算设备从第一存储区读取分区结果,其中,主计算设备读取读取信息,根据读取信息读取结果数据。
本实施例的数据分区装置用于实现前述多个方法实施例中相应的数据分区方法,并具有相应的方法实施例的有益效果,在此不再赘述。此外,本实施例的数据分区装置中的各个模块的功能实现均可参照前述方法实施例中的相应部分的描述,在此亦不再赘述。
本申请实施例还提供了一种加速卡,加速卡包括存储区和加速核,存储区包括第一存储区和第二缓存区。
其中,第一存储区用于:存储从主计算设备接收的多个待分区数据、多个分区基准数据和分区参数,其中,多个待分区数据和多个分区基准数据一一对应,分区参数包括分区数量和对应的区域位宽。
加速核用于:从第一存储区中读取待分区数据、分区基准数据和分区参数,根据分区数量和分区基准数据,确定每个待分区数据对应的区域信息,并按照每个待分区数据对应的区域信息,将待分区数据分别写入第二缓存区中的各子缓存区,得到子缓存区对应的子分区结果,其中,各子缓存区是根据分区数量和对应的区域位宽确定的;以及从各子缓存区中读取子分区结果进行合并,得到分区结果,以使主计算设备读取分区结果。
本申请实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述多个方法实施例中任一实施例所描述的数据分区方法。
本申请实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中任一实施例所描述的数据分区方法对应的操作。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
以上实施方式仅用于说明本申请实施例,而并非对本申请实施例的限制,有关技术领域的普通技术人员,在不脱离本申请实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本申请实施例的范畴,本申请实施例的专利保护范围应由权利要求限定。
Claims (10)
1.一种数据分区方法,其特征在于,用于与主计算设备连接的加速卡,所述加速卡中包括存储区和加速核,所述存储区包括第一存储区和第二缓存区,所述数据分区方法包括:
接收所述主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入所述第一存储区,其中,多个所述待分区数据和多个所述分区基准数据一一对应,所述分区参数包括分区数量和对应的区域位宽;
通过所述加速核,从所述第一存储区中读取所述待分区数据、所述分区基准数据和所述分区参数,根据所述分区数量和所述分区基准数据,确定每个所述待分区数据对应的区域信息,并按照每个所述待分区数据对应的所述区域信息,将所述待分区数据分别写入所述第二缓存区中的各子缓存区,得到所述子缓存区对应的子分区结果,其中,各所述子缓存区是根据所述分区数量和对应的所述区域位宽确定的;
通过所述加速核,从各所述子缓存区中读取所述子分区结果进行合并,得到分区结果,以使所述主计算设备读取所述分区结果。
2.根据权利要求1所述的数据分区方法,其特征在于,所述通过所述加速核,从所述第一存储区中读取所述待分区数据、所述分区基准数据和所述分区参数,包括:
通过所述加速核从所述第一存储区读取所述分区参数;
基于单次传输位宽信息,从所述第一存储区中存储的所述待分区数据中分批次读取多个待分区数据组,并对应地从所述分区基准数据中分批次读取多个分区基准数据组,直至将所述待分区数据和所述分区基准数据读取完成。
3.根据权利要求2所述的数据分区方法,其特征在于,所述根据所述分区数量和所述分区基准数据,确定每个所述待分区数据对应的区域信息,并按照每个所述待分区数据对应的所述区域信息,将所述待分区数据分别写入所述第二缓存区中的各子缓存区,得到所述子缓存区对应的子分区结果,包括:
针对每一批次对应的所述待分区数据组和所述分区基准数据组,根据所述分区数量和所述分区基准数据组,确定所述待分区数据组中各所述待分区数据对应的所述区域信息;
按照所述待分区数据对应的所述区域信息,将所述待分区数据组中各所述待分区数据对应的分别写入所述第二缓存区中的各子缓存区,得到各所述子缓存区对应的所述每一批次的第一子分区结果;
对所述子缓存区对应的所述每一批次的所述第一子分区结果进行整合,得到各所述子缓存区对应的子分区结果。
4.根据权利要求1所述的数据分区方法,其特征在于,所述加速核还包括第三缓存区,所述按照每个所述待分区数据对应的所述区域信息,将所述待分区数据分别写入所述第二缓存区中的各子缓存区,得到所述子缓存区对应的子分区结果,包括:
根据每个所述待分区数据对应的所述区域信息,将所述待分区数据进行分区,得到初步分区结果;
将所述初步分区结果依次缓存至所述第三缓存区,若所述第三缓存区中缓存的所述初步分区结果达到预设缓存数据量,则将所述第三缓存区内的所述初步分区结果写入所述第二缓存区中的各子缓存区,得到所述子缓存区对应的子分区结果。
5.根据权利要求4所述的数据分区方法,其特征在于,所述将所述初步分区结果依次缓存至所述第三缓存区,若所述第三缓存区中缓存的所述初步分区结果达到预设缓存数据量,则将所述第三缓存区内的所述初步分区结果写入所述第二缓存区中的各子缓存区,包括:
根据所述分区数量将所述第三缓存区分为多个子区域,将所述初步分区结果依次缓存至对应的所述子区域;
若所述子区域的缓存数据量达到第一缓存数据量,则通过所述加速核向所述第二缓存区发送所述子区域对应的写入请求,所述第一缓存数据量根据所述预设缓存数据量和所述分区数量确定;
所述第二缓存区响应于所述写入请求,将所述子区域中缓存的所述初步分区结果写入所述第二缓存区中对应于所述子区域的子缓存区。
6.根据权利要求1所述的数据分区方法,其特征在于,通过所述加速核,从各所述子缓存区中读取所述子分区结果进行合并,得到分区结果,包括:
通过所述加速核,从各所述子缓存区中读取所述子分区结果,并获取每个所述子分区结果的数据量信息和对应的所述区域信息;
按照每个所述子分区结果对应的所述区域信息,对所述子分区结果进行拼接,得到每个子分区结果对应的起始地址信息;
根据各所述子分区结果、每个所述子分区结果对应的所述数据量信息和所述起始地址信息,确定所述分区结果。
7.根据权利要求1-5中任一项所述的数据分区方法,其特征在于,所述方法还包括:
将所述分区结果写入所述第一存储区,所述分区结果包括结果数据和读取信息;所述结果数据包括各所述子分区结果,所述读取信息包括每个所述子分区结果对应的起始地址信息和数据量信息;
返回处理完成信息至所述主计算设备,以使所述主计算设备从所述第一存储区读取所述分区结果,其中,所述主计算设备读取所述读取信息,根据所述读取信息读取所述结果数据。
8.一种数据分区装置,其特征在于,用于与主计算设备连接的加速卡,所述加速卡中包括存储区和加速核,所述存储区包括第一存储区和第二缓存区,所述数据分区装置包括:
数据接收模块,用于接收所述主计算设备发送的多个待分区数据、多个分区基准数据和分区参数,并存入所述第一存储区,其中,多个所述待分区数据和多个所述分区基准数据一一对应,所述分区参数包括分区数量和对应的区域位宽;
数据分区模块,用于通过所述加速核,从所述第一存储区中读取所述待分区数据、所述分区基准数据和所述分区参数,根据所述分区数量和所述分区基准数据,确定每个所述待分区数据对应的区域信息,并按照每个所述待分区数据对应的所述区域信息,将所述待分区数据分别写入所述第二缓存区中的各子缓存区,得到所述子缓存区对应的子分区结果,其中,各所述子缓存区是根据所述分区数量和对应的所述区域位宽确定的;
结果合并模块,用于通过所述加速核,从各所述子缓存区中读取所述子分区结果进行合并,得到分区结果,以使所述主计算设备读取所述分区结果。
9.一种加速卡,其特征在于,包括:
存储区,包括第一存储区和第二缓存区,所述第一存储区用于存储从所述主计算设备接收的多个待分区数据、多个分区基准数据和分区参数,其中,多个所述待分区数据和多个所述分区基准数据一一对应,所述分区参数包括分区数量和对应的区域位宽;
加速核,用于从所述第一存储区中读取所述待分区数据、所述分区基准数据和所述分区参数,根据所述分区数量和所述分区基准数据,确定每个所述待分区数据对应的区域信息,并按照每个所述待分区数据对应的所述区域信息,将所述待分区数据分别写入所述第二缓存区中的各子缓存区,得到所述子缓存区对应的子分区结果,其中,各所述子缓存区是根据所述分区数量和对应的所述区域位宽确定的;以及从各所述子缓存区中读取所述子分区结果进行合并,得到分区结果,以使所述主计算设备读取所述分区结果。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311605050.8A CN117632015A (zh) | 2023-11-28 | 2023-11-28 | 数据分区方法、装置、计算机存储介质及加速卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311605050.8A CN117632015A (zh) | 2023-11-28 | 2023-11-28 | 数据分区方法、装置、计算机存储介质及加速卡 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117632015A true CN117632015A (zh) | 2024-03-01 |
Family
ID=90019414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311605050.8A Pending CN117632015A (zh) | 2023-11-28 | 2023-11-28 | 数据分区方法、装置、计算机存储介质及加速卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117632015A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306124A (zh) * | 2011-08-01 | 2012-01-04 | 深圳市文鼎创数据科技有限公司 | Nand Flash芯片硬件驱动层的实现方法 |
CN106682047A (zh) * | 2015-11-11 | 2017-05-17 | 杭州华为数字技术有限公司 | 一种数据导入方法以及相关装置 |
CN111143272A (zh) * | 2019-12-28 | 2020-05-12 | 浪潮(北京)电子信息产业有限公司 | 异构计算平台的数据处理方法、装置及可读存储介质 |
CN116048393A (zh) * | 2022-12-28 | 2023-05-02 | 超聚变数字技术有限公司 | 一种数据的处理方法、装置及存储介质 |
CN116561051A (zh) * | 2023-04-10 | 2023-08-08 | 中科驭数(北京)科技有限公司 | 一种硬件加速卡和异构计算系统 |
CN116579358A (zh) * | 2023-04-26 | 2023-08-11 | 广州番禺电缆集团有限公司 | 一种电力系统中rfid标签的数据分区读写装置、方法及设备 |
-
2023
- 2023-11-28 CN CN202311605050.8A patent/CN117632015A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306124A (zh) * | 2011-08-01 | 2012-01-04 | 深圳市文鼎创数据科技有限公司 | Nand Flash芯片硬件驱动层的实现方法 |
CN106682047A (zh) * | 2015-11-11 | 2017-05-17 | 杭州华为数字技术有限公司 | 一种数据导入方法以及相关装置 |
CN111143272A (zh) * | 2019-12-28 | 2020-05-12 | 浪潮(北京)电子信息产业有限公司 | 异构计算平台的数据处理方法、装置及可读存储介质 |
CN116048393A (zh) * | 2022-12-28 | 2023-05-02 | 超聚变数字技术有限公司 | 一种数据的处理方法、装置及存储介质 |
CN116561051A (zh) * | 2023-04-10 | 2023-08-08 | 中科驭数(北京)科技有限公司 | 一种硬件加速卡和异构计算系统 |
CN116579358A (zh) * | 2023-04-26 | 2023-08-11 | 广州番禺电缆集团有限公司 | 一种电力系统中rfid标签的数据分区读写装置、方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427705B (zh) | 电子装置、分布式系统日志查询方法及存储介质 | |
CN109240946A (zh) | 数据的多级缓存方法及终端设备 | |
CN109977129A (zh) | 多级数据缓存方法及设备 | |
CN109213774B (zh) | 数据的存储方法及装置、存储介质、终端 | |
CN112579321A (zh) | 业务数据的下载方法、装置及设备 | |
CN111857574A (zh) | 一种写请求数据压缩方法、系统、终端及存储介质 | |
CN108492109B (zh) | 电子装置、动态码请求的处理方法及存储介质 | |
CN111949681A (zh) | 数据的聚合处理装置、方法和存储介质 | |
CN115225094A (zh) | 数据压缩方法、电子设备和计算机程序产品 | |
CN113129150A (zh) | 交易数据的处理方法、装置、终端设备及可读存储介质 | |
CN110222046B (zh) | 列表数据的处理方法、装置、服务器和存储介质 | |
CN111124314A (zh) | 映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 | |
CN114448972A (zh) | 分布式存储日志压缩下载方法、系统、终端及存储介质 | |
CN111708715B (zh) | 内存分配方法、内存分配装置及终端设备 | |
CN117632015A (zh) | 数据分区方法、装置、计算机存储介质及加速卡 | |
CN116680295A (zh) | 多数据库处理数据的方法、系统及装置 | |
CN110866201A (zh) | 缓存处理方法、装置、计算机设备以及存储介质 | |
CN110674086A (zh) | 数据合并方法、装置、电子设备及存储介质 | |
CN113076268B (zh) | 一种批量采集从机设备数据的方法 | |
CN111352868B (zh) | 串口访问方法、装置、终端设备及存储介质 | |
CN111680014B (zh) | 共享文件的获取方法、装置、电子设备及存储介质 | |
CN114490719A (zh) | 一种数据查询方法、装置、电子设备以及存储介质 | |
CN113419792A (zh) | 一种事件处理方法、装置、终端设备和存储介质 | |
CN112182085A (zh) | 数据导出方法、装置、设备及存储介质 | |
CN111752919A (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 |