CN104991813A - 一种数据处理的方法和装置 - Google Patents
一种数据处理的方法和装置 Download PDFInfo
- Publication number
- CN104991813A CN104991813A CN201510304834.6A CN201510304834A CN104991813A CN 104991813 A CN104991813 A CN 104991813A CN 201510304834 A CN201510304834 A CN 201510304834A CN 104991813 A CN104991813 A CN 104991813A
- Authority
- CN
- China
- Prior art keywords
- data
- dimension
- space
- pending data
- unit
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 claims abstract description 401
- 230000007613 environmental effect Effects 0.000 claims description 18
- 238000009472 formulation Methods 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 230000006870 function Effects 0.000 description 10
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种数据处理方法和装置,建立数据空间,将数据的指针和地址信息存储在所述数据空间;为所述数据空间划分三维以上的空间维度,使计算机的进程运行在所述三维以上的空间维度上,不同空间维度间的进程没有依赖性;该方法的步骤为:通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;将所述待处理数据分配给处于不同空间维度的进程;控制不同空间维度的进程并行处理被分配的所述待处理数据,促进了计算机进程的并行计算。
Description
技术领域
本发明涉及计算机应用领域,特别涉及一种数据处理的方法和装置。
背景技术
随着计算机应用越来越广泛,用户对于其处理数据的速度要求越来越高,那么,多进程并行化的处理数据的方式也就应运而生。
多进程并行化处理数据的方式主要是在二维化的系统中运行,如在以C语言为基础的系统可以通过多个处理器CPU同时运行多个进程来处理海量的数据,例如:计算机将文件A中的数据封装成了资源a、资源b和资源c,当这封装后的资源a、资源b和资源c间不涉及依赖关系时,计算机可同时调用进程1、进程2和进程3同时分别处理资源a、资源b和资源c,即进程1处理资源a、进程2处理资源b和进程3处理资源c,而在数据处理过程中,进程1将对资源a进行加锁保护、进程2对资源b进行加锁保护以及进程3对资源c进行加锁保护,那么,当有新的进程4想要请求或处理文件A中的资源a时,需要等待进程1对资源a解除锁保护后才可以请求或处理资源a。
也就是说,当两个进程间因为请求或处理同一个资源发生冲突,而不得不使其中一个进程暂停运行并进行等待,产生进程互斥的行为,而且随着进程数量的增加,这种进程互斥将更加的明显,一定程度上,阻碍了计算机进程的并行计算。
发明内容
本发明提供一种数据处理的方法和装置,以促进计算机进程的并行计算。
一种数据处理的方法,建立数据空间,将数据的指针和地址信息存储在所述数据空间;为所述数据空间划分三维以上的空间维度,使计算机的进程运行在所述三维以上的空间维度上,不同空间维度间的进程没有依赖性;还包括:
通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;
将所述待处理数据分配给处于不同空间维度的进程;
控制不同空间维度的进程并行处理被分配的所述待处理数据。
优选地,所述空间维度包括五维的空间维度,其中,三个维度用于标记所述待处理数据在空间中的地址,另两个维度包括:权限维度和时间维度;
所述将所述待处理数据分配给处于不同空间维度的进程,包括:通过所述待处理数据在空间中的地址,将所述待处理数据分配给处于不同空间维度的进程;
所述控制不同空间维度的进程并行处理被分配的待处理数据,包括:所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行非重叠的互斥访问。
优选地,所述控制不同空间维度的进程并行处理被分配的待处理数据,包括:所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行高优先级进程已处理的所述待处理数据覆盖低优先级进程已处理的所述待处理数据的进程交错访问。
优选地,所述控制不同空间维度的进程并行处理被分配的待处理数据,包括:所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行时间点靠后的进程已处理的所述待处理数据覆盖时间点靠前的进程已处理的所述待处理数据的进程交错访问。
优选地,该方法进一步包括:为所述三维以上的空间维度中的每一维分别生成对应的所述待处理数据的副本;
所述将待处理数据载入所述数据空间,包括:将生成的所有副本载入所述数据空间;
所述将所述待处理数据分配给处于不同空间维度的进程,包括:将所述所有副本分配给对应的空间维度的进程;
所述控制不同空间维度的进程并行处理被分配的所述待处理数据,包括:控制不同空间维度的进程并行处理该进程所在空间维度对应的副本。
优选地,该方法进一步包括:确定所述数据空间的环境参数,所述环境参数包括数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率中的任意一个或多个;
所述将待处理数据载入所述数据空间,包括:根据所述确定的数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率中的任意一个或多个,将所述待处理数据抽象为所述数据空间中的立体化的几何结构;
在所述将所述待处理数据分配给处于不同空间维度的进程之前,进一步包括:
根据所述几何结构的结构特性,对所述立体化的几何结构进行分割,形成至少两个新的几何结构;
根据所述至少两个新的几何结构的几何特性,设定每一个新的几何结构对应的数据处理方法,并为所述数据处理方法分配进程;
判断为所述数据处理方法分配进程是否处于同一空间维度,如果是,则将所述至少两个新的几何结构中的待处理数据分配给处于同一空间维度的不同进程;否则,执行所述将待处理数据分配给处于不同空间维度的进程。
优选地,在所述对所述立体化的几何结构进行分割,形成至少两个新的几何结构之后,在所述为所述数据处理方法分配进程之前,进一步包括:
获取新的几何结构的个数;
判断所述新的几何结构的个数是否大于等于1且小于处理器个数的两倍, 如果是,则继续执行所述为所述数据处理方法分配进程。
优选地,该方法进一步包括:根据所述计算机的进程运行的环境,定义所述计算机的进程所在的空间维度高低;
设定处于高空间维度的进程可以访问处于低空间维度的进程对应的数据,而处于低空间维度进程不能够访问处于高空间维度进程对应的数据;
所述将所述待处理数据分配给处于不同空间维度的进程,包括:将所述待处理数据分配给处于不同高低维度的进程;
在所述控制不同空间维度的进程并行处理被分配的待处理数据之后,进一步包括:处于高空间维度的进程访问处于低空间维度的进程对应的数据。
一种数据处理装置,包括:
数据空间处理单元,用于建立数据空间,将数据的指针和地址信息存储在所述数据空间;为所述数据空间划分三个以上的空间维度,使计算机的进程运行在所述三个以上的空间维度上,不同空间维度间的进程没有依赖性;
读取单元,用于通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;
第一分配单元,用于将所述待处理数据分配给处于不同空间维度的进程;
数据处理单元,用于控制不同空间维度的进程并行处理被分配的待处理数据。
优选地,所述数据空间处理单元为所述数据空间划分出的空间维度包括五维的空间维度,其中,三个维度用于标记所述待处理数据在空间中的地址,另两个维度包括:权限维度和时间维度;
所述数据处理单元,进一步用于以所述待处理数据为基础,所述权限维度与所述时间维度间的进程进行非重叠的互斥访问。
优选地,所述数据处理单元,进一步用于以所述待处理数据为基础,所述权限维度与所述时间维度间进行高优先级进程已处理的数据覆盖低优先级进程已处理的数据的进程交错访问;
优选地,所述数据处理单元,进一步用于以所述待处理数据为基础,所 述权限维度与所述时间维度间进行时间点靠后的进程处理的数据覆盖时间点靠前的进程处理的数据的进程交错访问。
优选地,上述装置进一步包括:生成单元,其中,
所述生成单元,用于为所述三维以上的空间维度中的每一维分别生成对应的所述待处理数据的副本;
所述读取单元,用于通过存储于所述数据空间中的指针和地址信息,将生成的所有副本载入所述数据空间;
所述第一分配单元,用于将所述所有副本分配给对应的空间维度的进程;
所述数据处理单元,用于控制不同空间维度的进程并行处理该进程所在空间维度对应的副本。
优选地,上述装置进一步包括:确定单元、分割单元、设定单元、第一判断单元以及第二分配单元,其中,
所述确定单元,用于确定所述数据空间的环境参数,所述环境参数包括数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率中的任意一个或多个;
所述读取单元,用于根据所述确定的数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率中的任意一个或多个,将所述待处理数据抽象为所述数据空间中的立体化的几何结构;
所述分割单元,用于根据所述几何结构的结构特性,对所述立体化的几何结构进行分割,形成至少两个新的几何结构;
所述设定单元,用于根据所述至少两个新的几何结构的几何特性,设定每一个新的几何结构对应的数据处理方法,并为所述数据处理方法分配进程;
所述第一判断单元,用于判断为所述数据处理方法分配进程是否处于同一空间维度,如果是,则触发所述第二分配单元,否则,触发所述第一分配单元;
所述第二分配单元,用于接收到所述判断单元触发,将所述至少两个新的几何结构中的待处理数据分配给处于同一空间维度的不同进程。
优选地,上述装置进一步包括:制定单元和控制访问单元,其中,
所述制定单元,用于根据所述计算机的进程运行的环境,定义所述计算机的进程所在的空间维度高低,并设定处于高空间维度的进程可以访问处于低空间维度的进程对应的数据,而处于低空间维度进程不能够访问处于高空间维度进程对应的数据;
所述第一分配单元,用于将所述待处理数据分配给处于不同高低维度的进程;
所述控制访问单元,用于控制处于高空间维度的进程能够访问处于低空间维度的进程对应的数据。
优选地,上述装置进一步包括:获取单元和第二判断单元,其中,
所述获取单元,用于获取新的几何结构的个数;
所述第二判断单元,用于所述新的几何结构的个数大于等于1且小于处理器个数的两倍时,则触发所述设定单元为所述数据处理方法分配进程。
本发明实施例提供了一种数据处理的方法和装置,其可通过建立数据空间,将数据的指针和地址信息存储在所述数据空间;为所述数据空间划分三个以上的空间维度,使计算机的进程运行在所述三个以上的空间维度上,不同空间维度间的进程没有依赖性,从而使得不同空间维度的进程可以并行处理数据;而处理数据的具体过程:通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;将所述待处理数据分配给处于不同空间维度的进程;控制不同空间维度的进程并行处理被分配的待处理数据,促进了计算机进程的并行计算。
附图说明
图1为本发明实施例提供的一种数据处理方法的流程图;
图2为本发明另一实施例提供的一种数据处理方法的流程图;
图3为本发明实施例提供的同一维度中不同进程对几何结构数据的处理;
图4为本发明实施例提供的一种数据处理装置所在架构图;
图5为本发明实施例提供的一种数据处理装置结构示意图;
图6为本发明另一实施例提供的一种数据处理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种数据处理的方法,该方法的具体步骤包括:
步骤101:建立数据空间,将数据的指针和地址信息存储在所述数据空间;
步骤102:为所述数据空间划分三维以上的空间维度,使计算机的进程运行在所述三维以上的空间维度上,不同空间维度间的进程没有依赖性;
步骤103:通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;
步骤104:将所述待处理数据分配给处于不同空间维度的进程;
步骤105:控制不同空间维度的进程并行处理被分配的所述待处理数据。
在本发明一个实施例中,步骤102所提到的三维以上的空间维度中,前三个维度用于标记所述待处理数据在空间中的地址,还包括:权限维度和时间维度;在此基础之上,步骤104的具体实现方式可以为:通过所述待处理数据在空间中的地址,将所述待处理数据分配给处于不同空间维度的进程;步骤105的具体实现方式可以为:所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行非重叠的互斥访问,或者,所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行高优先级进程已处理的待处理数据覆盖低优先级进程已处理的待处理数据的进程交错访问,或者,所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行时间 点靠后的进程处理的待处理数据覆盖时间点靠前的进程处理的待处理数据的进程交错访问。
在本发明一个实施例中,为了更好的避免空间维度间的冲突,本发明实施例,进一步包括:为所述三维以上的空间维度生成对应的所述待处理数据的副本,在此基础之上,步骤103的具体实施方式可以为:将生成的副本载入所述数据空间;步骤104的具体实施方式可以为:将所述副本分配给对应的空间维度的进程;步骤105的具体实施方式可以为:控制不同空间维度的进程并行处理该进程所在空间维度对应的副本。
在本发明一个实施例中,为了进一步加快待处理数据的处理速率,本发明实施例将数据抽象为几何结构,并对几何结构进行了划分,以使进程通过并行处理这些几何结构,达到处理数据的目的,进一步包括:确定所述数据空间的环境参数,所述环境参数包括数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率;步骤103的具体实时方式可以为:根据所述确定的数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率,将所述待处理数据抽象为所述数据空间中的立体化的几何结构;在步骤104之前,进一步包括:根据所述几何结构的结构特性,对所述立体化的几何结构进行分割,形成至少两个新的几何结构;根据所述至少两个新的几何结构的几何特性,设定每一个新的几何结构对应的数据处理方法,并为所述数据处理方法分配进程;判断为所述数据处理方法分配进程是否处于同一空间维度,如果是,则将所述至少两个新的几何结构中的待处理数据分配给处于同一空间维度的不同进程;否则,执行步骤104将待处理数据分配给处于不同空间维度的进程。
在本发明一个实施例中,为了使该多维化处理数据的方法能够最优化的运行于计算机系统中,在所述对所述立体化的几何结构进行分割,形成成至少两个新的几何结构之后,在所述为所述数据处理方法分配进程之前,进一步包括:获取新的几何结构的个数;判断所述待处理数据是否可以进行多维化处理,当所述新的几何结构的个数大于等于1,且小于处理器个数的两倍 时,则继续执行所述为所述数据处理方法分配进程。
在本发明一个实施例中,为了更加明确空间维度间的关系,使不同空间维度间的进程具有不同的权限,本发明实施例进一步包括:根据所述计算机的进程运行的环境,定义所述计算机的进程所在的空间维度高低;设定处于高空间维度的进程可以访问处于低空间维度的进程对应的数据,而处于低空间维度进程不能够访问处于高空间维度进程对应的数据;在此基础之上,步骤103的具体实施方式可以为:将所述待处理数据分配给处于不同高低维度的进程;在步骤105之后,进一步包括:处于高空间维度的进程访问处于低空间维度的进程对应的数据。
如图2所示,以五维的空间维度为例进行说明,本发明另一实施例提供了一种数据处理的方法,该方法可包括步骤如下:
步骤201:建立数据空间,将数据的指针和地址信息存储在所述数据空间;
通过该步骤建立的该数据空间可以使二进制数据多维化,该数据空间的建立相当于为二维度的平面搭建立交桥,同时,为立交桥上和平面上的数据划分在时间维度和权限维度中,从而减少平面以及立交桥上的进程拥挤和冲突,在该步骤中可通过调用函数InitMDDataDispose(),初始化数据空间。该数据空间只存储了数据的指针和地址信息,可以避免数据空间占用过多的内存而给计算机带来过高的负载。
步骤202:为所述数据空间划分五维的空间维度,使计算机的进程运行在空间维度上,不同空间维度间的进程没有依赖性;
该五维的空间维度中,有三个维度用于标记数据在数据空间中的位置,另外两个维度为时间维度和权限维度,例如:当第三维度搭建的立交桥不能够满足进程疏导的需要,可以在该第三维度上增加另外的一个维度如时间维度,使先到的进程可以优先锁定数据中的操作区域;另外在该第三维度上增加权限维度,可以使不同访问权限的进程锁定自己的访问区域,如只读权限的进程只锁定所要读取的数据内容,而拥有读写权限的进程可以更新该数据 的其他内容,又或者可以保持该数据的相关副本,等读书据锁释放后再统一同步数据,另外,也可以设置进程不对数据加锁,使其他维度上的进程可以访问,但不修改该数据。
值得说明的是,可以根据所述计算机的进程运行的环境,定义所述计算机的进程所在的空间维度高低,设定处于高空间维度的进程可以访问处于低空间维度的进程对应的数据,而处于低空间维度进程不能够访问处于高空间维度进程对应的数据;例如:定义权限维度高于时间维度,那么,权限维度上的进程可以访问时间维度上进程的数据,但该权限维度与时间维度所处理的数据间不会存在冲突。但是,时间维度上进程不能访问权限维度进程的数据,从而使得数据尽可能被进程完全处理,又不至于造成进程访问混乱的情况产生。
步骤203:为上述权限维度和时间维度生成对应的所述待处理数据的副本;
例如:文件A中的数据可被分成资源a、资源b、资源c、资源d以及资源e等,其中,资源a和资源b等的数据与时间维度上的进程相关;资源c、资源d以及资源e等的数据与权限维度上的进程相关,那么,可为资源a和资源b生成副本以供时间维度上的进程的访问和处理,可为资源c、资源d以及资源e等生成副本以供权限维度上的进程的访问和处理,最后可将进程对这些副本的修改引入到文件A中,实现对文件A数据的处理。
步骤204:确定所述数据空间的环境参数;
上述数据空间的环境参数包括数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率。
步骤205:通过存储于所述数据空间中的指针和地址信息,根据所述确定的数据空间的环境参数,将待处理数据副本载入所述数据空间;
例如:数据空间中存储的文件A以及该文件A所生成的副本的地址信息,通过指针可以直接跳到该地址信息所对应的硬盘的位置,通过调用函数LoadData()可以将文件A中数据的副本载入到数据空间内。
步骤206:将待处理数据副本抽象为所述数据空间中的立体化的几何结构;
待处理数据副本在数据空间中并不是顺序存在,而是抽象为立体的几何结构如立方体型、球体、不规则几何体等,当几何结构为立方体时,这些数据可以依照设定好的次序填充入立方体的顶点,从宏观来看,该过程可以使进程与待处理数据接触区域更大。
步骤207:根据所述几何结构的结构特性,对所述立体化的几何结构进行分割,形成至少两个新的几何结构;
例如:当几何结构为立方体时,可将该立方体分割为四个大小相同的立方体。
步骤208:获取新的几何结构的个数;
步骤209:判断所述新的几何结构的个数大于等于1,且小于处理器个数的两倍,如果是,则执行步骤210;否则,执行步骤211;
步骤210:待处理数据可以进行多维化处理,为数据处理方法分配进程,结束当前流程;
在该步骤中,可根据所述至少两个新的几何结构的几何特性,设定每一个新的几何结构对应的数据处理方法,并为所述数据处理方法分配进程;
例如:上述立方体几何结构划分为四个小的立方体,则可以为这四个立方体分配数据处理方法,各种数据处理方法均对应着相关的进程。这种数据处理方法还包括了多维化处理方式,如数据解析、进程互斥等。
步骤211:待处理数据不能够进行多维化处理,结束处理进程;
上述步骤209至步骤211主要为了避免过少的并行化数量所带来的资源额外消耗,也可以避免过多的进程数量造成的进程间频繁切换,从而保证了并行化的收益。例如:上述将立方体结构的几何结构分割成4个小的立方体,而当处理器为单核处理器时,该多维化处理运行的进程太多,给处理器造成超负载,则该多维化可能不能加快数据处理速度,为了避免这种状况的发生,本发明实施例进行了步骤209至步骤211的设置,可通过调用函数 CheckMDDisposeModel()判断数据是否可以进行多维化处理,如返回true则进入步骤210,否则进入步骤211结束处理过程。
步骤212:判断为所述数据处理方法分配进程是否处于同一空间维度,如果是,则执行步骤213;否则,执行步骤214;
步骤213:将所述至少两个新的几何结构中的待处理数据分配给处于同一空间维度的不同进程,结束当前流程;
步骤214:将待处理数据分配给处于不同空间维度的进程;
步骤215:控制不同空间维度的进程并行处理被分配的所述待处理数据;
在这一过程中,可以使所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行非重叠的互斥访问,或者,可以使所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行高优先级进程已处理的待处理数据覆盖低优先级进程已处理的待处理数据的进程交错访问,或者,可以使所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行时间点靠后的进程处理的待处理数据覆盖时间点靠前的进程处理的待处理数据的进程交错访问,另外,可以使处于高空间维度的进程访问处于低空间维度的进程对应的数据。通过上述过程可以避免造成进程间的冲突。
步骤216:控制同一空间维度的进程并行处理被分配的所述待处理数据。
如图3所示,待处理数据被抽象为立方体的几何结构,通过上述步骤将立方体分割为4个小的立方体,即区域A、区域B、区域C以及区域D,而图3所示的立方体上的数据被分配在同一维度上,其中,区域A可被进程A处理、区域B可被进程B处理、区域C可被进程C处理、区域D可被进程D处理,这些进程间通过各个区域间的边缘形成互斥访问,使得进程A、进程B、进程C以及进程D可以并行处理。
不同维度的进程对待处理数据的处理过程与上述处理过程类似,在此不再赘述。值得说明的是,高维度的进程可对低维度进程处理的数据进行访问,例如:数据被切分后,区域A中数据被分配到处于时间维度的进程a,而区域C中的数据被分配到处于权限维度的进程c,其中,权限维度高于时间维 度,则,进程c可以访问区域A中的数据,但是,进程a不能访问区域C中的数据。
值得说明的是,在步骤209判断出待处理数据可以进行多维化处理之后,还可以根据待处理数据的量以及数据所在的本地计算机所处的运行环境是否支持分布式处理或云计算,如果是,则可将本地计算机无法承载的计算量分散到网络上的其它计算机中进行同步处理,从而进一步加强了并行化处理的能力,值得说明的是,如果本地计算机所运行的环境支持分布式处理,则需要使用者予以标注,避免判定结果不符合预期,可通过调用函数CheckDistributedSettings(),检测运行环境是否支持分布式处理过程,如返回true则调用函数LoadDistributedSettings(),载入分布式处理的系统配置,并调用函数SetDistributedModel,设置分布式处理所采用的方法,如:云计算方式等,通过调用函数InitDistributedManager(),初始化多维度分布式处理进程。
在本发明实施例中,可通过调用函数LoadSystemInfo(),读取系统环境变量,如CPU核心数等,以便更加合理的设置进程数量,通过调用函数SetMDDisposeModel(),设定多维度数据处理方式;通过调用函数InitDispoeseManager(),初始化多维度并行处理进程。
如图4、图5所示,本发明实施例提供了一种数据处理装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例的数据处理装置所在设备的一种硬件结构图,除了图4所示的CPU、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责维护数据空间的芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的数据处理装置50包括:
数据空间处理单元501,用于建立数据空间,将数据的指针和地址信息存储在所述数据空间;为所述数据空间划分三个以上的空间维度,使计算机 的进程运行在所述三个以上的空间维度上,不同空间维度间的进程没有依赖性;
读取单元502,用于通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;
第一分配单元503,用于将所述待处理数据分配给处于不同空间维度的进程;
数据处理单元504,用于控制不同空间维度的进程并行处理被分配的待处理数据。
在本发明一个实施例中,所述数据空间处理单元501为所述数据空间划分出的三个以上的空间维度中,前三个维度用于标记所述待处理数据在空间中的地址,还包括:权限维度和时间维度;
所述数据处理单元504,进一步用于以所述待处理数据为基础,所述权限维度与所述时间维度间的进程进行非重叠的互斥访问。
在本发明一个实施例中,所述数据处理单元504,进一步用于以所述待处理数据为基础,所述权限维度与所述时间维度间进行高优先级进程已处理的数据覆盖低优先级进程已处理的数据的进程交错访问。
在本发明一个实施例中,所述数据处理单元504,进一步用于以所述待处理数据为基础,所述权限维度与所述时间维度间进行时间点靠后的进程处理的数据覆盖时间点靠前的进程处理的数据的进程交错访问。
如图6所示,本发明另一实施例提供了一种数据处理装置,该装置可进一步包括:生成单元601,其中,
所述生成单元601,用于为所述三维以上的空间维度生成对应的所述待处理数据的副本;
所述读取单元502,用于通过存储于所述数据空间中的指针和地址信息,将生成的副本载入所述数据空间;
所述第一分配单元503,用于将所述副本分配给对应的空间维度的进程;
所述数据处理单元504,用于控制不同空间维度的进程并行处理该进程 所在空间维度对应的副本。
在本发明一个实施例中,上述数据处理装置可进一步包括:确定单元、分割单元、设定单元、第一判断单元以及第二分配单元(图中未示出),其中,
所述确定单元,用于确定所述数据空间的环境参数,所述环境参数包括数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率;
所述读取单元,用于根据所述确定的数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率,将所述待处理数据抽象为所述数据空间中的立体化的几何结构;
所述分割单元,用于根据所述几何结构的结构特性,对所述立体化的几何结构进行分割,形成至少两个新的几何结构;
所述设定单元,用于根据所述至少两个新的几何结构的几何特性,设定每一个新的几何结构对应的数据处理方法,并为所述数据处理方法分配进程;
所述第一判断单元,用于判断为所述数据处理方法分配进程是否处于同一空间维度,如果是,则触发所述第二分配单元,否则,触发所述第一分配单元;
所述第二分配单元,用于接收到所述判断单元触发,将所述至少两个新的几何结构中的待处理数据分配给处于同一空间维度的不同进程。
在本发明一个实施例中,上述数据处理装置可进一步包括:制定单元和控制访问单元(图中未示出),其中,
所述制定单元,用于根据所述计算机的进程运行的环境,定义所述计算机的进程所在的空间维度高低,并设定处于高空间维度的进程可以访问处于低空间维度的进程对应的数据,而处于低空间维度进程不能够访问处于高空间维度进程对应的数据;
所述第一分配单元,用于将所述待处理数据分配给处于不同高低维度的进程;
所述控制访问单元,用于控制处于高空间维度的进程能够访问处于低空间维度的进程对应的数据。
在本发明一个实施例中,上述装置可进一步包括:获取单元和第二判断单元(途中未示出),其中,
所述获取单元,用于获取新的几何结构的个数;
所述第二判断单元,用于判断所述待处理数据是否可以进行多维化处理,当所述新的几何结构的个数大于等于1,且小于处理器个数的两倍时,则触发所述设定单元为所述数据处理方法分配进程。
本发明实施例至少可以达到如下有益效果:
1.可通过建立数据空间,将数据的指针和地址信息存储在所述数据空间;为所述数据空间划分三个以上的空间维度,使计算机的进程运行在所述三个以上的空间维度上,不同空间维度间的进程没有依赖性,从而使得不同空间维度的进程可以并行处理数据;而处理数据的具体过程:通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;将所述待处理数据分配给处于不同空间维度的进程;控制不同空间维度的进程并行处理被分配的待处理数据,促进了计算机进程的并行计算。
2.通过本发明实施例可以进程间进行非重叠的互斥访问,也可以进行高优先级进程已处理的所述待处理数据覆盖低优先级进程已处理的所述待处理数据的进程交错访问,还可以进行时间点靠后的进程已处理的所述待处理数据覆盖时间点靠前的进程已处理的所述待处理数据的进程交错访问,从而使多进程间可以并行处理互不影响,通过上述多进程对待处理数据的并行处理可以大大提高数据的处理速率。
3.通过为不同空间维度上的进程生成对应的待处理数据副本,然后将这些更改的副本更新到原数据从而达到处理数据的目的,通过生成待处理数据副本可以避免进程间竞争或者进程将数据锁定造成其他进程等待,从而更有利于提高进程并行处理数据的速率。
4.通过数据空间的环境参数,可以将待处理数据抽象为立体化的几何结构,该几何结构可以被分割,被分割的各个区域可以同时被进程处理,该进程可以位于同一空间维度,也可以位于不同的空间维度,进一步明确的将待。
Claims (10)
1.一种数据处理的方法,其特征在于,建立数据空间,将数据的指针和地址信息存储在所述数据空间;为所述数据空间划分三维以上的空间维度,使计算机的进程运行在所述三维以上的空间维度上,不同空间维度间的进程没有依赖性;还包括:
通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;
将所述待处理数据分配给处于不同空间维度的进程;
控制不同空间维度的进程并行处理被分配的所述待处理数据。
2.根据权利要求1所述的方法,其特征在于,所述空间维度包括五维的空间维度,其中,三个维度用于标记所述待处理数据在空间中的地址,另两个维度包括:权限维度和时间维度;
所述将所述待处理数据分配给处于不同空间维度的进程,包括:通过所述待处理数据在空间中的地址,将所述待处理数据分配给处于不同空间维度的进程;
所述控制不同空间维度的进程并行处理被分配的待处理数据,包括:所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行非重叠的互斥访问;
或者,
所述控制不同空间维度的进程并行处理被分配的待处理数据,包括:所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行高优先级进程已处理的所述待处理数据覆盖低优先级进程已处理的所述待处理数据的进程交错访问;
或者,
所述控制不同空间维度的进程并行处理被分配的待处理数据,包括:所述权限维度与所述时间维度间的进程以所述待处理数据为基础,进行时间点靠后的进程已处理的所述待处理数据覆盖时间点靠前的进程已处理的所述待处理数据的进程交错访问。
3.根据权利要求1所述的方法,其特征在于,进一步包括:为所述三维以上的空间维度中的每一维分别生成对应的所述待处理数据的副本;
所述将待处理数据载入所述数据空间,包括:将生成的所有副本载入所述数据空间;
所述将所述待处理数据分配给处于不同空间维度的进程,包括:将所述所有副本分配给对应的空间维度的进程;
所述控制不同空间维度的进程并行处理被分配的所述待处理数据,包括:控制不同空间维度的进程并行处理该进程所在空间维度对应的副本。
4.根据权利要求1所述的方法,其特征在于,进一步包括:确定所述数据空间的环境参数,所述环境参数包括数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率中的任意一个或多个;
所述将待处理数据载入所述数据空间,包括:根据所述确定的数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率中的任意一个或多个,将所述待处理数据抽象为所述数据空间中的立体化的几何结构;
在所述将所述待处理数据分配给处于不同空间维度的进程之前,进一步包括:
根据所述几何结构的结构特性,对所述立体化的几何结构进行分割,形成至少两个新的几何结构;
根据所述至少两个新的几何结构的几何特性,设定每一个新的几何结构对应的数据处理方法,并为所述数据处理方法分配进程;
判断为所述数据处理方法分配进程是否处于同一空间维度,如果是,则将所述至少两个新的几何结构中的待处理数据分配给处于同一空间维度的不同进程;否则,执行所述将待处理数据分配给处于不同空间维度的进程。
5.根据权利要求4所述的方法,其特征在于,在所述对所述立体化的几何结构进行分割,形成至少两个新的几何结构之后,在所述为所述数据处理方法分配进程之前,进一步包括:
获取新的几何结构的个数;
判断所述新的几何结构的个数是否大于等于1且小于处理器个数的两倍,如果是,则继续执行所述为所述数据处理方法分配进程。
6.根据权利要求1所述的方法,其特征在于,进一步包括:根据所述计算机的进程运行的环境,定义所述计算机的进程所在的空间维度高低;
设定处于高空间维度的进程可以访问处于低空间维度的进程对应的数据,而处于低空间维度进程不能够访问处于高空间维度进程对应的数据;
所述将所述待处理数据分配给处于不同空间维度的进程,包括:将所述待处理数据分配给处于不同高低维度的进程;
在所述控制不同空间维度的进程并行处理被分配的待处理数据之后,进一步包括:处于高空间维度的进程访问处于低空间维度的进程对应的数据。
7.一种数据处理装置,其特征在于,包括:
数据空间处理单元,用于建立数据空间,将数据的指针和地址信息存储在所述数据空间;为所述数据空间划分三个以上的空间维度,使计算机的进程运行在所述三个以上的空间维度上,不同空间维度间的进程没有依赖性;
读取单元,用于通过存储于所述数据空间中的指针和地址信息,将待处理数据载入所述数据空间;
第一分配单元,用于将所述待处理数据分配给处于不同空间维度的进程;
数据处理单元,用于控制不同空间维度的进程并行处理被分配的待处理数据。
8.根据权利要求7所述的装置,其特征在于,
所述数据空间处理单元为所述数据空间划分出的空间维度包括五维的空间维度,其中,三个维度用于标记所述待处理数据在空间中的地址,另两个维度包括:权限维度和时间维度;
所述数据处理单元,进一步用于以所述待处理数据为基础,所述权限维度与所述时间维度间的进程进行非重叠的互斥访问;
或者,
所述数据处理单元,进一步用于以所述待处理数据为基础,所述权限维度与所述时间维度间进行高优先级进程已处理的数据覆盖低优先级进程已处理的数据的进程交错访问;
或者,
所述数据处理单元,进一步用于以所述待处理数据为基础,所述权限维度与所述时间维度间进行时间点靠后的进程处理的数据覆盖时间点靠前的进程处理的数据的进程交错访问;
和/或,
进一步包括:生成单元,其中,
所述生成单元,用于为所述三维以上的空间维度中的每一维分别生成对应的所述待处理数据的副本;
所述读取单元,用于通过存储于所述数据空间中的指针和地址信息,将生成的所有副本载入所述数据空间;
所述第一分配单元,用于将所述所有副本分配给对应的空间维度的进程;
所述数据处理单元,用于控制不同空间维度的进程并行处理该进程所在空间维度对应的副本。
9.根据权利要求7所述的装置,其特征在于,进一步包括:确定单元、分割单元、设定单元、第一判断单元以及第二分配单元,其中,
所述确定单元,用于确定所述数据空间的环境参数,所述环境参数包括数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率中的任意一个或多个;
所述读取单元,用于根据所述确定的数据空间的大小、初始坐标的位置、空间规则、时间刻度以及空间曲率中的任意一个或多个,将所述待处理数据抽象为所述数据空间中的立体化的几何结构;
所述分割单元,用于根据所述几何结构的结构特性,对所述立体化的几何结构进行分割,形成至少两个新的几何结构;
所述设定单元,用于根据所述至少两个新的几何结构的几何特性,设定每一个新的几何结构对应的数据处理方法,并为所述数据处理方法分配进程;
所述第一判断单元,用于判断为所述数据处理方法分配进程是否处于同一空间维度,如果是,则触发所述第二分配单元,否则,触发所述第一分配单元;
所述第二分配单元,用于接收到所述判断单元触发,将所述至少两个新的几何结构中的待处理数据分配给处于同一空间维度的不同进程;
和/或,
进一步包括:制定单元和控制访问单元,其中,
所述制定单元,用于根据所述计算机的进程运行的环境,定义所述计算机的进程所在的空间维度高低,并设定处于高空间维度的进程可以访问处于低空间维度的进程对应的数据,而处于低空间维度进程不能够访问处于高空间维度进程对应的数据;
所述第一分配单元,用于将所述待处理数据分配给处于不同高低维度的进程;
所述控制访问单元,用于控制处于高空间维度的进程能够访问处于低空间维度的进程对应的数据。
10.根据权利要求9所述的装置,其特征在于,进一步包括:获取单元和第二判断单元,其中,
所述获取单元,用于获取新的几何结构的个数;
所述第二判断单元,用于所述新的几何结构的个数大于等于1且小于处理器个数的两倍时,则触发所述设定单元为所述数据处理方法分配进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510304834.6A CN104991813B (zh) | 2015-06-04 | 2015-06-04 | 一种数据处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510304834.6A CN104991813B (zh) | 2015-06-04 | 2015-06-04 | 一种数据处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104991813A true CN104991813A (zh) | 2015-10-21 |
CN104991813B CN104991813B (zh) | 2018-06-26 |
Family
ID=54303629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510304834.6A Active CN104991813B (zh) | 2015-06-04 | 2015-06-04 | 一种数据处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104991813B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701201A (zh) * | 2016-01-12 | 2016-06-22 | 浪潮通用软件有限公司 | 一种数据处理的方法及装置 |
CN106657384A (zh) * | 2017-01-12 | 2017-05-10 | 浪潮(苏州)金融技术服务有限公司 | 使用多维化技术大幅降低通信数据传输量的方法 |
CN106952163A (zh) * | 2016-01-07 | 2017-07-14 | 平安科技(深圳)有限公司 | 保险数据处理方法及系统 |
CN107193536A (zh) * | 2017-05-18 | 2017-09-22 | 浪潮金融信息技术有限公司 | 一种多维化动态数据的分组处理方法及系统 |
CN107273155A (zh) * | 2017-06-06 | 2017-10-20 | 福州汇思博信息技术有限公司 | 一种apk权限分配方法及系统 |
CN107678979A (zh) * | 2017-10-19 | 2018-02-09 | 浪潮金融信息技术有限公司 | 数据存储方法及装置 |
CN107766491A (zh) * | 2017-10-18 | 2018-03-06 | 浪潮金融信息技术有限公司 | 文件存储方法及装置、计算机可读存储介质、终端 |
CN116166846A (zh) * | 2023-04-13 | 2023-05-26 | 广东广宇科技发展有限公司 | 一种基于云计算的分布式多维数据处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110828A (zh) * | 2007-08-24 | 2008-01-23 | 张建中 | 一种建立进程到进程的通讯的方法和装置以及系统 |
CN101110826A (zh) * | 2007-08-22 | 2008-01-23 | 张建中 | 构建多维地址的方法、装置以及系统 |
CN101282355A (zh) * | 2008-03-17 | 2008-10-08 | 张建中 | 一种本地资源使用远程资源服务的方法和装置以及系统 |
-
2015
- 2015-06-04 CN CN201510304834.6A patent/CN104991813B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110826A (zh) * | 2007-08-22 | 2008-01-23 | 张建中 | 构建多维地址的方法、装置以及系统 |
CN101110828A (zh) * | 2007-08-24 | 2008-01-23 | 张建中 | 一种建立进程到进程的通讯的方法和装置以及系统 |
CN101282355A (zh) * | 2008-03-17 | 2008-10-08 | 张建中 | 一种本地资源使用远程资源服务的方法和装置以及系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106952163A (zh) * | 2016-01-07 | 2017-07-14 | 平安科技(深圳)有限公司 | 保险数据处理方法及系统 |
CN106952163B (zh) * | 2016-01-07 | 2021-04-13 | 平安科技(深圳)有限公司 | 保险数据处理方法及系统 |
CN105701201B (zh) * | 2016-01-12 | 2019-05-07 | 浪潮通用软件有限公司 | 一种数据处理的方法及装置 |
CN105701201A (zh) * | 2016-01-12 | 2016-06-22 | 浪潮通用软件有限公司 | 一种数据处理的方法及装置 |
CN106657384A (zh) * | 2017-01-12 | 2017-05-10 | 浪潮(苏州)金融技术服务有限公司 | 使用多维化技术大幅降低通信数据传输量的方法 |
CN106657384B (zh) * | 2017-01-12 | 2019-11-01 | 浪潮金融信息技术有限公司 | 使用多维化技术大幅降低通信数据传输量的方法 |
CN107193536B (zh) * | 2017-05-18 | 2020-09-01 | 浪潮金融信息技术有限公司 | 一种多维化动态数据的分组处理方法及系统 |
CN107193536A (zh) * | 2017-05-18 | 2017-09-22 | 浪潮金融信息技术有限公司 | 一种多维化动态数据的分组处理方法及系统 |
CN107273155A (zh) * | 2017-06-06 | 2017-10-20 | 福州汇思博信息技术有限公司 | 一种apk权限分配方法及系统 |
CN107273155B (zh) * | 2017-06-06 | 2021-11-09 | 福州汇思博信息技术有限公司 | 一种apk权限分配方法及系统 |
CN107766491A (zh) * | 2017-10-18 | 2018-03-06 | 浪潮金融信息技术有限公司 | 文件存储方法及装置、计算机可读存储介质、终端 |
CN107678979A (zh) * | 2017-10-19 | 2018-02-09 | 浪潮金融信息技术有限公司 | 数据存储方法及装置 |
CN116166846A (zh) * | 2023-04-13 | 2023-05-26 | 广东广宇科技发展有限公司 | 一种基于云计算的分布式多维数据处理方法 |
CN116166846B (zh) * | 2023-04-13 | 2023-08-01 | 广东广宇科技发展有限公司 | 一种基于云计算的分布式多维数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104991813B (zh) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104991813A (zh) | 一种数据处理的方法和装置 | |
Hermann et al. | Multi-GPU and multi-CPU parallelization for interactive physics simulations | |
CN107122490B (zh) | 一种分组查询中聚合函数的数据处理方法及系统 | |
US20150109290A1 (en) | Device and method for removing noise points in point clouds | |
US10248581B2 (en) | Guarded memory access in a multi-thread safe system level modeling simulation | |
US11030095B2 (en) | Virtual space memory bandwidth reduction | |
CN106547627A (zh) | 一种Spark MLlib数据处理加速的方法及系统 | |
CN108074210B (zh) | 一种用于云渲染的对象获取系统和方法 | |
US9075666B2 (en) | Deferred execution in a multi-thread safe system level modeling simulation | |
CN111198739A (zh) | 一种应用视图的渲染方法、装置、设备和存储介质 | |
CN103577308A (zh) | 移动设备的日志文件的获取方法 | |
US20230195310A1 (en) | Fpga board memory data reading method and apparatus, and medium | |
US6343309B1 (en) | Method and apparatus for parallelizing a graphics pipeline | |
CN113010286A (zh) | 并行任务调度方法、装置、计算机设备和存储介质 | |
US20150058854A1 (en) | Direct Memory Interface Access in a Multi-Thread Safe System Level Modeling Simulation | |
CN104516929A (zh) | 用于文件系统的方法和装置 | |
CN105677491A (zh) | 一种数据传输方法及装置 | |
Chen et al. | Dsim: scaling time warp to 1,033 processors | |
US20210374319A1 (en) | Dynamic allocation of computing resources for electronic design automation operations | |
US20140325516A1 (en) | Device for accelerating the execution of a c system simulation | |
US11663372B2 (en) | Spatially-aware detection of trapped support areas in 3D printing | |
US8589475B2 (en) | Modeling a cloud computing system | |
CN111161424A (zh) | 一种三维地图的确定方法及确定装置 | |
EP2141594A2 (en) | Vectorized parallel collision detection pipeline | |
CN113157806A (zh) | 网格数据分布式存储服务系统、方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180523 Address after: 215100 818 Wusong Road, Wusong River Industrial Park, Wuzhong development area, Suzhou, Jiangsu Applicant after: Tide Financial Information Technology Co Ltd Address before: 250100 Ji'nan hi tech Zone No. 2877, Shandong Province Applicant before: Inspur Group Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |