CN115098271B - 一种多线程数据处理方法、装置、设备及介质 - Google Patents
一种多线程数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115098271B CN115098271B CN202211026008.6A CN202211026008A CN115098271B CN 115098271 B CN115098271 B CN 115098271B CN 202211026008 A CN202211026008 A CN 202211026008A CN 115098271 B CN115098271 B CN 115098271B
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- processing thread
- interval
- thread
- 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
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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开一种多线程数据处理方法、装置、设备及介质,多线程数据处理方法包括:获取原始数据集合;将原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作;对该数据处理线程对应的数据区间执行预设数据处理操作包括:确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址;对各数据区间执行预设数据处理操作后,将各数据处理线程对应的存储地址中的数据组成目标数据集合。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种多线程数据处理方法、装置、设备及介质。
背景技术
在将原始数据存入到原始数据表时,出于对存储的及时性的考虑,往往会忽略原始数据的存储形式。造成原始数据表中会存储有重复无用的数据,或者数据在原始数据表中的排列较为稀疏等问题。现有技术中,直接以原始数据表的原始数据为基础进行处理,得到所需要的结果。但由于原始数据表中存在大量的重复数据、或者排列较为稀疏,导致原始数据占用的存储空间较多,在对原始数据进行处理得到所需要的结果的过程中,所耗费的时间较长,处理效率较低。
例如对三维点云数据的下采样处理,三维点云数据对应于某个坐标系的点的三维坐标(x,y,z)。三维点云数据可以通过使用三维测量机器对目标物体进行测量得到,或通过使用三维扫描机器对目标物体进行扫描得到。在对三维点云数据采集的同时,将采集到的三维点云数据存储到原始数据表中。原始数据表中的三维点云数据中会有重复的数据,且三维点云数据排列较为稀疏。现有技术中直接针对原始数据表中的三维点云数据进行下采样,耗费时间较长,处理效率低,且容易造成下采样结果的不精确。
因此,如何对存储于数据表的原始数据进行快速地预处理,以便在以数据表为基础进行各种场景下的进一步数据处理时,处理效率变高,成为本领域人员亟需解决的问题。
发明内容
本说明书实施例提供一种多线程数据处理方法、装置、设备及介质,用以解决如何更高效地进行数据处理的技术问题。
为解决上述技术问题,本说明书实施例提供如下技术方案:
本说明书实施例提供一种多线程数据处理方法,包括:
获取原始数据集合;
生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成;
其中,生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成,包括:
将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作;对该数据处理线程对应的数据区间执行预设数据处理操作包括:确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址;
对各数据区间执行所述预设数据处理操作后,将各数据处理线程对应的存储地址中的数据组成目标数据集合。
本说明书实施例提供一种多线程数据处理装置,包括:
准备模块,用于获取原始数据集合;
处理模块,用于生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成;
其中,生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成,包括:
将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作;对该数据处理线程对应的数据区间执行预设数据处理操作包括:确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址;
对各数据区间执行所述预设数据处理操作后,将各数据处理线程对应的存储地址中的数据组成目标数据集合。
本说明书实施例提供一种多线程数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述的多线程数据处理方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述的多线程数据处理方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
上述技术方案中,通过多线程对原始数据集合进行预设数据处理操作,能够有效提高数据处理效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面介绍的附图仅仅是本说明书中记载的实施例可能涉及的部分附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书第一个实施例中的多线程数据处理方法的执行主体示意图。
图2是本说明书第一个实施例中的多线程数据处理方法的流程示意图。
图3是本说明书第二个实施例中的多线程数据处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例的附图,对本说明书实施例的技术方案清楚、完整地进行描述。显然,本说明书所描述的实施例仅仅是本申请的部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
现有技术中,可能需要对原始的数据进行各种处理或操作,以便在原始数据基础上获得所需要的数据。故如何提高对数据进行处理或操作的效率,是一个重要课题。
本说明书第一个实施例(以下简称“实施例一”)提供了一种多线程数据处理方法,实施例一的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者操作系统或者应用程序或者多线程数据处理平台或者多线程数据处理系统等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行实施例一。例如图1所示,可以由服务器来执行实施例一中的多线程数据处理方法,并且可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息处理,从而辅助服务器执行实施例一中的多线程数据处理方法。
如图2所示,实施例一提供的多线程数据处理方法包括:
S101:(执行主体)获取原始数据集合;
实施例一中,实施例一的执行主体可以根据用户的设置,确定哪些数据为原始数据,进而获取所述原始数据,并可以将单次或多次获取的原始数据作为一个原始数据集合,或者将所获取的预设数量的原始数据(无论是单次或多次获取)作为一个原始数据集合。
实施例一中,实施例一的执行主体可以通过合适的方式获取原始数据。例如用户可以将原始数据导入实施例一的执行主体,或者实施例一的执行主体可以根据用户操作从自身存储的数据中选择部分数据作为原始数据,或者实施例一的执行主体可以根据用户操作从其他主体处获取原始数据,或者用户可以通过其他主体将原始数据发送给实施例一的执行主体。
例如,所述原始数据可以是三维点云数据,所述三维点云数据可以是用于表征三维模型的点云数据。所述三维点云数据包括但不限于下列形式的数据:
0 0 0
0 0 1
0 1 1
0 1 0
1 0 0
1 0 1
1 1 1
1 1 0
3 0 1 2
3 0 1 4
3 0 2 3
3 1 4 5
3 0 3 4
3 2 3 6
3 1 5 2
3 4 5 6
3 3 4 7
3 3 6 7
3 2 5 6
3 4 6 7
上面的三维点云数据中,前8行中每一行的数据都代表点的坐标,故前8行的数据代表0-7(仅为示例)这8个点的坐标。第9至20每一行都代表由点构成的面,其中,每一行首位的数字3代表由三个点构成的面,即三角面片;每一行的后三位数字代表构成面的三个点的索引。例如“3 0 1 2”代表由点0、1、2构成的面,“3 0 1 4”代表由点0、1、4构成的面,以此类推。
所述三维点云数据可以通过多种方式获取,例如可以通过使用三维测量机器对目标物体进行测量得到,或通过使用三维扫描机器对目标物体进行扫描得到。三维点云数据可以对应于某个坐标系的点的三维坐标(x,y,z),三维点云数据也可以包含更丰富的内容,例如三维点云数据还可以包含点的颜色信息。
原始数据可以有基本的单位,例如以条或组为单位,例如上面的每一行三维点云数据可以作为一个单位的数据。具体如何划分数据的单位,以及每单位的数据所包含的数据内容,实施例一不作具体限定。以下将一单位的原始数据简称为“一个原始数据”。
上述的三维模型包括但不限于工业产品三维模型或人体三维模型,工业产品三维模型例如车辆、飞行工具等交通工具三维模型或工业机械三维模型、机床三维模型或其他通过工业生产得到的产品的三维模型。
S103:(执行主体)生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成;其中,生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成,包括:将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作;对该数据处理线程对应的数据区间执行预设数据处理操作包括:确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址;对各数据区间执行所述预设数据处理操作后,将各数据处理线程对应的存储地址中的数据组成目标数据集合。
实施例一的执行主体可以基于所述原始数据集合生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成。下面详细说明如何生成目标数据集合:
将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程;
实施例一的执行主体获取一个原始数据集合(不妨称为原始数据集合A,意指任一个原始数据集合)后,可以将原始数据集合A划分成若干不重合的数据区间。其中,可以将原始数据集合A随机分成若干个不重合的数据区间。所述数据区间可以是开区间、闭区间或半开半闭区间。
实施例一的执行主体可以生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作。其中,对该数据处理线程对应的数据区间执行预设数据处理操作可以包括:确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址。也就是说,对任一数据区间,该数据区间对应的数据处理线程确定该数据区间中的可用数据,并将该数据区间中的可用数据,移动到“该数据区间对应的数据处理线程”对应的存储地址。
实施例一中,可以按序对各个数据区间执行预设数据处理操作,例如1.1或1.2所述(实施例一不限于1.1或1.2):
1.1、确定各数据处理线程的执行顺序,以使各数据处理线程按照所述执行顺序执行所述预设数据处理操作。
实施例一的执行主体可以先生成与各数据区间一一对应的数据处理线程,然后确定各数据处理线程的执行顺序(各数据处理线程的执行顺序以下称为“线程执行顺序”)。其中,确定各数据处理线程的执行顺序可以包括:根据各数据处理线程对应的数据区间的数据量,确定各数据处理线程的执行顺序。具体的,数据量越多的数据区间,其对应的数据处理线程的执行顺序可以越靠后。
确定各数据处理线程的执行顺序后,对任一数据处理线程T,使数据处理线程T对其对应的数据区间执行预设数据处理操作后,按照线程执行顺序,使数据处理线程T的下一个数据处理线程对“数据处理线程T的下一个数据处理线程对应的数据区间”执行预设数据处理操作。
1.2、将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程;并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作,可以包括:根据各数据区间的数据量,确定各数据区间执行预设数据处理操作的顺序(具体的,数据量越多的数据区间,其执行预设处理操作的顺序可以越靠后。各数据区间执行预设数据处理操作的顺序以下称为“区间顺序”);对任一数据区间,生成该数据区间对应的数据处理线程,并在使该数据区间对应的数据处理线程对该数据区间执行预设数据处理操作后,(按照所述区间顺序)生成下一数据区间对应的数据处理线程,使所述下一数据区间对应的数据处理线程,对所述下一数据区间执行所述预设数据处理操作。
实际上,1.1中,确定了各数据处理线程的执行顺序,也就相当于确定了对各数据区间执行预设数据处理操作的顺序。1.1和1.2的主要区别在于,1.1先生成各个数据处理线程,再依次使各数据处理线程执行预设数据处理操作;1.2先确定区间顺序,再按区间顺序依次对各个数据区间执行预设数据处理操作。
实施例一中,对任一数据处理线程,确定该数据处理线程对应的数据区间中的可用数据的方式可以包括2.1或2.2所述方式(实施例一不限于2.1或2.2):
2.1、根据该数据处理线程对应的数据区间中各数据的状态或类型,确定该数据处理线程对应的数据区间中的可用数据;
即,对任一数据区间,根据该数据区间中各数据的状态或类型,确定该数据区间中的可用数据。例如,原始数据集合A中部分数据可能已被标记为“删除”状态,但尚未被实际删除,故对任一数据区间,可以将该数据区间中标记为“未删除”状态的数据确定为可用数据,也就是将该数据区间中标记为“删除”状态的数据确定为非可用数据。
2.2、将该数据处理线程对应的数据区间中的非重复数据确定为可用数据;
即,对任一数据区间,若该数据区间中某个数据不与该数据区间中其他数据重复,则该数据为可用数据;若该数据区间中存在重复的多个数据,则只将这重复的多个数据中的一个数据确定为可用数据。
用户可以自由设置“确定何种数据为可用数据”,各数据处理线程根据用户设置确定可用数据,实施例一不作限定。
实施例一中,每个数据处理线程可以有其对应的存储地址,从而对任一数据处理线程,确定该数据处理线程对应的数据区间中的可用数据后,该数据处理线程可将“该数据处理线程对应的数据区间中的可用数据”移动到该数据处理线程对应的存储地址。其中,对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作后,可以根据该数据处理线程对应的存储地址确定下一数据处理线程对应的存储地址。
具体的,实施例一的执行主体可以预先构建存储地址指针。则根据该数据处理线程对应的存储地址确定下一数据处理线程对应的存储地址,可以包括:该数据处理线程对该数据处理线程对应的数据区间执行所述预设数据处理操作后,更新所述存储地址指针;根据更新后的所述存储地址指针确定下一数据处理线程对应的存储地址。
例如实施例一的执行主体可以构建数据表,所述数据表可以有多个存储位置,每个存储位置用于存储数据,则每个数据处理线程都对应所述数据表中的一个或多个存储位置。假设执行顺序第i的数据处理线程确定其对应的数据区间中的可用数据为xi个,则执行顺序第1的数据处理线程确定其对应的数据区间中的可用数据为x1个,该数据处理线程对应的存储地址就可以是该数据表的前x1位,从而该数据处理线程将其对应的数据区间中的x1个可用数据存储至该数据表的前x1位(存储地址指针可以指向数据表的第x1位);执行顺序第2的数据处理线程确定其对应的数据区间中的可用数据为x2个,该数据处理线程对应的存储地址就可以是该数据表的第(x1+1)位至第(x1+x2)位,从而该数据处理线程将其对应的数据区间中的x2个可用数据存储至该数据表的第(x1+1)位至第(x1+x2)位(存储地址指针可以指向数据表的第(x1+x2)位);以此类推,执行顺序第i的数据处理线程确定其对应的数据区间中的可用数据为xi个,该数据处理线程对应的存储地址就可以是该数据表的第(x1+x2+……+x(i-1)+1)位至第(x1+x2+……+x(i-1)+xi)位,从而该数据处理线程将其对应的数据区间中的xi个可用数据存储至该数据表的第(x1+x2+……+x(i-1)+1)位至第(x1+x2+……+x(i-1)+xi)位(存储地址指针可以指向数据表的第(x1+x2+……+x(i-1)+xi)位)。
对(由原始数据集合A划分得到的)各数据区间均执行所述预设数据处理操作后,实施例一的执行主体可以将(各数据区间对应的)各数据处理线程对应的存储地址中的(可用)数据组成目标数据集合,且所述目标数据集合由所述原始数据集合中的可用数据组成。所述目标数据集合是基于原始数据集合生成的,符合要求的数据集合。例如若可用数据是标记为“未删除”状态的数据,则目标数据集合就是符合“未删除”要求的数据集合;若可用数据是数值类型的数据,则目标数据集合就是符合数值类型要求的数据集合。这说明,目标数据集合可以是将原始数据集合中,满足预设状态或预设类型的数据所组成的集合。
下面给出一个具体示例:
原始数据集合A可以是数据表(以下称为“第一数据表”),第一数据表中可以存在多个存储位置,所述存储位置用于存储原始数据。在第一数据表中,各个原始数据可能是稀疏排列的,即所述数据表中可能有的存储位置存储有原始数据,有的存储位置未存储原始数据。其中,第一数据表中存储有原始数据的存储位置可以称为非空存储位置,第一数据表中未存储有原始数据的存储位置可以称为空存储位置,各个原始数据稀疏排列意味着非空存储位置之间存在空存储位置。一般的,非空存储位置之间存在的空存储位置越多,各个原始数据排列越稀疏。例如,第一数据表可以是散列表,散列表中的数据可以是原始数据,而且通常散列表中的数据就是稀疏排列的。
实施例一的执行主体可以将第一数据表分成若干不重合的数据区间,例如将第一数据表等分为若干不重合的数据区间,每个数据区间由若干存储位置组成。若第一数据表不能等份,则其中一个数据区间中的存储位置数量可以比其他数据区间中的存储位置数量多或少,以使其他数据区间中的存储位置相同。
实施例一的执行主体可以生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对“该数据处理线程对应的数据区间”执行预设数据处理操作,也就是确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址。例如,对任一数据区间,将该数据区间中非空存储位置上的原始数据作为可用数据。
实施例一的执行主体可以构建第二数据表,第二数据表可以有多个存储位置,每个存储位置用于存储数据,则每个数据处理线程都对应所述数据表中的一个或多个存储位置。
假设执行顺序第i的数据处理线程确定其对应的数据区间中的可用数据为xi个,即执行顺序第i的数据处理线程确定其对应的数据区间中有xi个存储位置非空。则执行顺序第1的数据处理线程确定其对应的数据区间中的可用数据为x1个,该数据处理线程对应的存储地址就可以是该数据表的前x1位,从而该数据处理线程将其对应的数据区间中的x1个可用数据存储至该数据表的前x1位;执行顺序第2的数据处理线程确定其对应的数据区间中的可用数据为x2个,该数据处理线程对应的存储地址就可以是该数据表的第(x1+1)位至第(x1+x2)位,从而该数据处理线程将其对应的数据区间中的x2个可用数据存储至该数据表的第(x1+1)位至第(x1+x2)位;以此类推,执行顺序第i的数据处理线程确定其对应的数据区间中的可用数据为xi个,该数据处理线程对应的存储地址就可以是该数据表的第(x1+x2+……+x(i-1)+1)位至第(x1+x2+……+x(i-1)+xi)位,从而该数据处理线程将其对应的数据区间中的xi个可用数据存储至该数据表的第(x1+x2+……+x(i-1)+1)位至第(x1+x2+……+x(i-1)+xi)位。
上述示例实际上就把第一数据表进行了数据筛选或数据紧凑,将第一数据表中非空存储位置上的原始数据筛选出来并全部移动到了第二数据表中,并且第二数据表中各个可用数据相邻排列,即稠密排列,从而使得原来在第一数据表中稀疏排列的原始数据变为在第二数据表中稠密排列的可用数据,即第二数据表时符合稠密性要求的数据集合。由于第二数据表中数据稠密排列,将第二数据表用于各种数据处理场景,能够取得比第一数据表更高的数据处理效率。例如下采样场景下,对数据表进行下采样时,需要查找数据表中的数据。由于第二数据表中数据稠密排列,第一数据表中数据稀疏排列,则对第二数据表进行数据查找的速度,明显优于对第一数据表进行数据查找的速度,从而第二数据表的下采样效率优于第一数据表的下采样效率。
以上示例用于进一步说明实施例一,不用于限定实施例一。
或者,实施例一中,对(由原始数据集合A划分得到的)各数据区间执行所述预设数据处理操作后,实施例一的执行主体可以释放原始数据集合A占用的内存,被释放的内存用于容纳其他待进行所述预设数据处理操作的数据。也就是说,对(由原始数据集合A划分得到的)各数据区间执行所述预设数据处理操作后,原始数据集合A占用的内存被释放,被释放的内存用于容纳其他待进行所述预设数据处理操作的数据,所述“其他待进行所述预设数据处理操作的数据”成为新的原始数据集合,并执行上述的多线程数据处理过程。
下面说明如何释放原始数据集合A占用的内存:
如上,每个数据区间对应一个数据处理线程,则实施例一的执行主体可以构建包含若干计数位的辅助空间,对任一数据处理线程,该数据处理线程对应一个计数位,该数据处理线程对应的数据空间也对应该计数位,各个数据处理线程对应的计数位不重复。每个计数位的初始值可以为第一预设值,例如第一预设值可以为0。
对任一数据处理线程,若该数据处理线程完成对其对应的数据区间的预设处理操作,则将该数据处理线程对应的计数位设置为第二预设值(例如第二预设值可以为1),代表该数据处理线程对应的数据区间已经可以容纳其他数据。则对(由原始数据集合A划分得到的)各数据区间均执行所述预设数据处理操作后,各数据处理线程对应的计数位都设置为第二预设值,从而可以释放原始数据集合A占用的内存。
实施例一中,若实施例一的执行主体是计算机,则所述原始数据集合可能存储于所述计算机的GPU,任一数据处理线程对应的存储地址可以是该线程的缓冲区,则对(由原始数据集合A划分得到的)各数据区间均执行所述预设数据处理操作后,可能还需要将各数据处理线程对应的存储地址上的目标数据移动至GPU,以便对目标数据集合进行后续操作(例如下采样操作)。具体的,对任一所述数据处理线程,该数据处理线程将其对应的存储地址上的可用数据移动至GPU,从而实现将目标数据集合移动至GPU。
如上,可以确定各数据处理线程的线程执行顺序,则可以按照所述线程执行顺序,各数据处理线程依次将其对应的存储地址上的可用数据移动至GPU。
沿用上例,假设执行顺序第i的数据处理线程对应的存储地址上的可用数据xi个,则执行顺序第1的数据处理线程将其对应的存储地址上的x1个可用数据移动至GPU;执行顺序第2的数据处理线程将其对应的存储地址上的x2个可用数据移动至GPU;以此类推,执行顺序第i的数据处理线程将其对应的存储地址上的xi个可用数据移动至GPU。
特别的,各个数据处理线程对应的存储地址上的可用数据在GPU中可以按序排列,即执行顺序第2的数据处理线程将其对应的存储地址上的x2个可用数据移动至GPU,并存储在“执行顺序第1的数据处理线程已移动至GPU的x1个可用数据”之后,执行顺序第3的数据处理线程将其对应的存储地址上的x3个可用数据移动至GPU,并存储在“执行顺序第2的数据处理线程已移动至GPU的x2个可用数据”之后,以此类推,执行顺序第i的数据处理线程将其对应的存储地址上的xi个可用数据移动至GPU,并存储在“执行顺序第(i-1)的数据处理线程已移动至GPU的x(i-1)个可用数据”之后。对任一数据处理线程,其对应的存储地址上的可用数据在被移入GPU后的排列顺序,与这些可用数据在其对应的存储地址上的排列顺序相同。这样一来,各可用数据在GPU中的排列顺序与各可用数据在目标数据集合中的排列顺序相同,便于定位和查找可用数据。
实施例一中,将原始数据集合分成多个数据区间,通过多线程对这多个数据区间分别进行预设数据处理操作,生成符合要求的目标数据集合,能够有效提高数据处理效率。由于实施例一实现了多线程对这多个数据区间分别进行预设数据处理操作,从而特别适用于GPU的并行计算环境,即实施例一特别适用于在GPU中执行,即实施例一的执行主体可以是GPU或计算机。
如图3所示,本说明书第二个实施例提供一种与实施例一所述多线程数据处理方法对应的多线程数据处理装置,包括:
准备模块202,用于获取原始数据集合;
处理模块204,用于生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成;
其中,生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成,包括:
将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作;对该数据处理线程对应的数据区间执行预设数据处理操作包括:确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址;
对各数据区间执行所述预设数据处理操作后,将各数据处理线程对应的存储地址中的数据组成目标数据集合。
可选的,所述处理模块204,用于确定各数据处理线程的执行顺序,以使各数据处理线程按照所述执行顺序执行所述预设数据处理操作。
可选的,确定各数据处理线程的执行顺序,包括:
根据各数据处理线程对应的数据区间的数据量,确定各数据处理线程的执行顺序。
可选的,将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作,包括:
根据各数据区间的数据量,确定各数据区间执行预设数据处理操作的顺序;
对任一数据区间,生成该数据区间对应的数据处理线程,并在使该数据区间对应的数据处理线程对该数据区间执行预设数据处理操作后,生成下一数据区间对应的数据处理线程,使所述下一数据区间对应的数据处理线程,对所述下一数据区间执行所述预设数据处理操作。
可选的,所述处理模块204,用于对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作后,根据该数据处理线程对应的存储地址确定下一数据处理线程对应的存储地址。
可选的,所述处理模块204,用于构建存储地址指针;
根据该数据处理线程对应的存储地址确定下一数据处理线程对应的存储地址,包括:
该数据处理线程对该数据处理线程对应的数据区间执行所述预设数据处理操作后,更新所述存储地址指针;
根据更新后的所述存储地址指针确定下一数据处理线程对应的存储地址。
可选的,确定该数据处理线程对应的数据区间中的可用数据,包括:
根据该数据处理线程对应的数据区间中各数据的状态或类型,确定该数据处理线程对应的数据区间中的可用数据;
或,
将该数据处理线程对应的数据区间中的非重复数据确定为可用数据;
或,
所述处理模块204,用于对各数据区间执行所述预设数据处理操作后,释放所述原始数据集合占用的内存,被释放的内存用于容纳其他待进行所述预设数据处理操作的数据。
本说明书第三个实施例提供一种多线程数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行实施例一所述的多线程数据处理方法。
本说明书第四个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现实施例一所述的多线程数据处理方法。
上述各实施例可以结合使用,不同实施例之间或同一实施例内的名称相同的模块可以是相同或不同的模块。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种多线程数据处理方法,其特征是,包括:
获取原始数据集合;
生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成;
其中,生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成,包括:
将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作;对该数据处理线程对应的数据区间执行预设数据处理操作包括:确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址;
对各数据区间执行所述预设数据处理操作后,将各数据处理线程对应的存储地址中的数据组成目标数据集合;
构建包含若干计数位的辅助空间,对任一所述数据处理线程,该数据处理线程对应一个所述计数位,该数据处理线程对应的数据空间也对应该计数位,每个所述计数位的初始值为第一预设值,对任一所述数据处理线程,若该数据处理线程完成对其对应的数据区间的预设处理操作,则将该数据处理线程对应的计数位设置为第二预设值,当各所述数据处理线程对应的计数位都设置为第二预设值时,释放原始数据集合占用的内存;
其中,所述原始数据存储于计算机的GPU,所述数据处理线程对应的存储地址为该数据处理线程的缓冲区,所述对各数据区间执行所述预设数据处理操作后,将各数据处理线程对应的存储地址上的可用数据移动至GPU,以便对目标数据集合进行后续处理。
2.如权利要求1所述的方法,其特征是,所述方法还包括:
确定各数据处理线程的执行顺序,以使各数据处理线程按照所述执行顺序执行所述预设数据处理操作。
3.如权利要求2所述的方法,其特征是,确定各数据处理线程的执行顺序,包括:
根据各数据处理线程对应的数据区间的数据量,确定各数据处理线程的执行顺序。
4.如权利要求1所述的方法,其特征是,将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作,包括:
根据各数据区间的数据量,确定各数据区间执行预设数据处理操作的顺序;
对任一数据区间,生成该数据区间对应的数据处理线程,并在使该数据区间对应的数据处理线程对该数据区间执行预设数据处理操作后,生成下一数据区间对应的数据处理线程,使所述下一数据区间对应的数据处理线程,对所述下一数据区间执行所述预设数据处理操作。
5.如权利要求2至4中任一项所述的方法,其特征是,所述方法还包括:
对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作后,根据该数据处理线程对应的存储地址确定下一数据处理线程对应的存储地址。
6.如权利要求5所述的方法,其特征是,所述方法还包括:
构建存储地址指针;
根据该数据处理线程对应的存储地址确定下一数据处理线程对应的存储地址,包括:
该数据处理线程对该数据处理线程对应的数据区间执行所述预设数据处理操作后,更新所述存储地址指针;
根据更新后的所述存储地址指针确定下一数据处理线程对应的存储地址。
7.如权利要求1所述的方法,其特征是,确定该数据处理线程对应的数据区间中的可用数据,包括:
根据该数据处理线程对应的数据区间中各数据的状态或类型,确定该数据处理线程对应的数据区间中的可用数据;或,将该数据处理线程对应的数据区间中的非重复数据确定为可用数据;
或,
对各数据区间执行所述预设数据处理操作后,所述方法还包括:
释放所述原始数据集合占用的内存,被释放的内存用于容纳其他待进行所述预设数据处理操作的数据。
8.一种多线程数据处理装置,其特征是,包括:
准备模块,用于获取原始数据集合;
处理模块,用于生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成;
其中,生成目标数据集合,所述目标数据集合由所述原始数据集合中的可用数据组成,包括:
将所述原始数据集合划分成若干不重合的数据区间,生成与各数据区间一一对应的数据处理线程,并且对任一数据处理线程,使该数据处理线程对该数据处理线程对应的数据区间执行预设数据处理操作;对该数据处理线程对应的数据区间执行预设数据处理操作包括:确定该数据处理线程对应的数据区间中的可用数据,并将该数据处理线程对应的数据区间中的可用数据,移动到该数据处理线程对应的存储地址;
对各数据区间执行所述预设数据处理操作后,将各数据处理线程对应的存储地址中的数据组成目标数据集合;
其中,所述原始数据存储于计算机的GPU,所述数据处理线程对应的存储地址为该数据处理线程的缓冲区,所述对各数据区间执行所述预设数据处理操作后,将各数据处理线程对应的存储地址上的可用数据移动至GPU,以便对目标数据集合进行后续处理。
9.一种多线程数据处理设备,其特征是,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行权利要求1至7中任一项所述的多线程数据处理方法。
10.一种计算机可读存储介质,其特征是,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求1至7中任一项所述的多线程数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211026008.6A CN115098271B (zh) | 2022-08-25 | 2022-08-25 | 一种多线程数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211026008.6A CN115098271B (zh) | 2022-08-25 | 2022-08-25 | 一种多线程数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115098271A CN115098271A (zh) | 2022-09-23 |
CN115098271B true CN115098271B (zh) | 2022-12-02 |
Family
ID=83300681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211026008.6A Active CN115098271B (zh) | 2022-08-25 | 2022-08-25 | 一种多线程数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098271B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113344104A (zh) * | 2021-06-23 | 2021-09-03 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062636A (zh) * | 2018-07-20 | 2018-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种数据处理方法、装置、设备及介质 |
US11068268B2 (en) * | 2019-08-05 | 2021-07-20 | Arm Limited | Data structure processing |
CN111177237B (zh) * | 2019-12-10 | 2024-02-13 | 腾讯科技(深圳)有限公司 | 一种数据处理系统、方法及装置 |
CN111241351A (zh) * | 2020-01-08 | 2020-06-05 | 第四范式(北京)技术有限公司 | 数据处理方法、装置及系统 |
CN113886376A (zh) * | 2021-10-18 | 2022-01-04 | 税友信息技术有限公司 | 一种数据清理方法、装置、电子设备及介质 |
-
2022
- 2022-08-25 CN CN202211026008.6A patent/CN115098271B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113344104A (zh) * | 2021-06-23 | 2021-09-03 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115098271A (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6793838B2 (ja) | ブロックチェーンベースのデータ処理方法および装置 | |
KR102125177B1 (ko) | 블록체인 기반 데이터 처리 방법 및 장치 | |
CN107577697B (zh) | 一种数据处理方法、装置及设备 | |
CN108073687B (zh) | 随机游走、基于集群的随机游走方法、装置以及设备 | |
CN112036236B (zh) | 一种基于GhostNet的图像检测方法、设备及介质 | |
CN109947643B (zh) | 一种基于a/b测试的实验方案的配置方法、装置及设备 | |
CN110635962B (zh) | 用于分布式系统的异常分析方法及装置 | |
CN110263050B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN110781016B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN109033127A (zh) | 一种同步数据校验方法、装置以及设备 | |
CN116932175B (zh) | 一种基于序列生成的异构芯片任务调度方法以及装置 | |
CN115098271B (zh) | 一种多线程数据处理方法、装置、设备及介质 | |
CN110019975B (zh) | 随机游走、基于集群的随机游走方法、装置以及设备 | |
CN109658094B (zh) | 随机游走、基于集群的随机游走方法、装置以及设备 | |
CN113641872B (zh) | 一种散列方法、装置、设备及介质 | |
CN116107728A (zh) | 一种任务执行方法、装置、存储介质及电子设备 | |
CN108829790A (zh) | 一种数据批处理方法、装置及系统 | |
CN113641871B (zh) | 一种无锁散列方法、装置、设备及介质 | |
CN116126750B (zh) | 一种基于硬件特性的数据处理的方法及装置 | |
CN110851416B (zh) | 数据存储性能分析方法和装置、宿主机确定方法和装置 | |
CN107015792B (zh) | 一种图表统一动画的实现方法以及设备 | |
CN116232919A (zh) | 一种密态数据统计的方法、装置、存储介质及电子设备 | |
CN116340004A (zh) | 一种任务执行的方法、装置、存储介质及电子设备 | |
CN114387358A (zh) | 一种八叉树处理方法、装置、设备及介质 | |
CN115392479A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |