一种面向大数据的特征提取并行处理方法

文档序号:6515691阅读:1004来源:国知局
一种面向大数据的特征提取并行处理方法
【专利摘要】本发明公开了一种面向大数据的特征提取并行处理方法,该方法基于CUDA架构利用GPU并行计算能力对大数据进行处理。在处理大数据时,通过采用可并行化的矩阵数组处理方法,对数据进行多线程并发执行处理,从而大大加快特征提取的速度。本发明所采用的可并行化的矩阵数组处理方法是将任务数据与特征数据的每位特征字符依次进行并行匹配,形成一个“01”矩阵,然后根据特征数据的长度,对此“01”矩阵进行并行处理,从而得到正确匹配的结果。该方法利用矩阵数组的特点,具有很好的并行性,能够有效、充分地将数据处理并行化,特别适用于大数据的快速特征提取。
【专利说明】一种面向大数据的特征提取并行处理方法
【技术领域】
[0001]本发明属于大数据处理【技术领域】,涉及一种特征提取的方法,更具体是涉及一种面向大数据的特征提取并行处理方法。
技术背景
[0002]随着大数据时代的来临,如何快速处理大数据,并提取出有效信息已经成为IT行业前沿性的研究热点。“大数据”是指一个体量特别大,数据类别多且要求处理速度足够快的数据集,并且这样的数据集无法用传统数据库工具对其内容进行提取和管理。
[0003]根据对现有专利资料的检索,目前对大数据的处理方法主要有:提高CPU核数量、建立分布式集群系统和优化并行算法等方面。但由于这些方法都仅局限于依赖CPU的运算处理能力,加之CPU核的数量有限、建立分布式集群系统成本较高等因素的制约,对大数据的处理方法和能力仍有待于进一步创新和提闻。
[0004]当前,特征提取技术在图像处理、模式识别和网络入侵检测等方面的运用越来越广泛,尤其在大数据环境下特征提取的效率已经成为制约快速处理数据能力的瓶颈。

【发明内容】

[0005]本发明的目的是针对大数据环境下,传统的计算机对数据的特征提取主要依靠(PU来串行完成的现状,提出一种面向大数据的特征提取并行处理方法,使得计算机对特征提取数据处理的速度更快,处理能力更强。
[0006]为了实现上述目的, 本发明解决上述问题的技术方案是一种面向大数据的特征提取并行处理方法,该方法在硬件允许处理范围内处理大数据时,根据所要处理的任务数据和特征数据,构建一个可并行化操作的矩阵数组,通过采用并行处理数组的方式,对数据进行多线程并发执行特征匹配,提取出符合特征的数据,并统计成功提取数据的次数。
[0007]根据上述的技术方案,本发明采用并行处理的方法是基于CUDA的架构,利用GPU并行计算能力实现的。
[0008]上述的任务数据需要从CPU传递到GPU的存储单元中,以便使用GPU进行并行运

o
[0009]针对上述在大数据环境下的并行计算,实时对缓存区中的数据进行特征提取的速率大于或等于数据流的发送速率,并且根据数据流的发送速率自适应的调整特征提取的并发宽度,保证动态数据流处理的可并发控制。
[0010]上述的特征提取并行处理方法,结合GPU硬件特性,在其处理能力的范围内,匹配算法采取的利用可并行化矩阵数组处理数据的方法包含以下两个步骤,且均并行执行。
[0011]步骤1:将任务数据和特征数据每个字符依次进行并行匹配,形成一个有效的矩阵数组。
[0012]步骤2:根据特征数据的长度,并行处理有效数组,得出正确匹配的结果,即成功特征匹配的次数。[0013]上述的特征数据的提取过程,为减少程序运行时不断读取特征数据的次数,进一步提高运算速度,将使用常量内存来存储特征数据key,所述的特征数据需要从CPU传递到GI3U的常量内存中。常量内存的访问限制为只读,在第一次从常量内存的某个地址上读取特征数据后,当其他线程请求同一个地址时,将直接从缓存中读取特征数据,从而节省时间。
[0014]将上述的任务数据和特征数据每个字符依次进行并行匹配,形成一个有效的矩阵数组,即根据任务数据长度STRLEN和特征数据长度KEYLEN,将任务数据和特征数据的每个字符依次进行并行匹配,形成一个KEYLEN*STRLEN的“01”矩阵数组,即用矩阵数组的第i行分别与特征数据第i个字符作比较,相同则记为“1”,不同则记为“O”。
[0015]根据上述的特征数据长度KEYLEN,对有效数组的并行处理的方法为:依次并行处理(STRLEN-KEYLEN+1)个KEYLEN*KEYLEN的小数组矩阵,判断它的对角线数值是否全为“1”,即先判断小数组矩阵对角线的第一位数值是否为“1”,如果不是“I”(而是“0”),则不用继续判断下一位数值,直接转向判断下一个小数组矩阵;如果是“1”,则继续判断对角线上的下一位数值是否为“ 1”,直到对角线数值全部为“ 1”,则有一个成功的特征提取,记录成功匹配一次。
【专利附图】

【附图说明】
[0016]附图1为本发明中针对大数据环境的特征数据提取算法的流程图。
[0017]附图2为本发明中针对大数据环境的特征数据提取算法【具体实施方式】流程图。
[0018]附图3为本发明中任务数据匹配特征数据中字符的结构示意图。
[0019]附图4为本发明中利用划分数组的方法,并行处理“01”矩阵数组的结构示意图。
[0020]附图5为本发明中并行处理矩阵数组的算法流程图。
【具体实施方式】
[0021]下面结合附图对本发明的内容作进一步的详细介绍。
[0022]1.本发明中涉及的一种面向大数据的特征提取并行处理方法的总体流程是:面向大数据时,在硬件处理能力范围内,根据所要处理的任务数据和特征数据,构建一个可并行化操作的矩阵数组,通过采用并行处理数组的方式,对数据进行多线程并发执行特征匹配,提取出符合特征的数据,并统计正确特征提取的次数(参见附图1)。
[0023]2.将已知的特征数据和任务数据分别从CPU传递到GPU的存储空间中,其中特征数据存储在常量存储器(Constant Memory)中,任务数据存储在全局存储器(GlobalMemory)中(参见附图2)。
[0024]3.调用CUDA架构下的GPU核函数kernel执行并行运算,具体过程如下:
[0025](I)将任务数据和特征数据每个字符依次进行并行匹配,形成一个有效的矩阵数组,即根据任务数据长度STRLEN和特征数据长度KEYLEN,将任务数据和特征数据的每个字符依次进行并行匹配,形成一个KEYLEN*STRLEN的“01”矩阵数组,即用矩阵数组的第i行分别与特征数据第i个字符作比较,相同则记为“1”,不同则记为“0”(参见附图3)。
[0026](2)根据特征数据长度KEYLEN,依次并行处理(STRLEN-KEYLEN+1)个KEYLEN*KEYLEN的小数组矩阵(参见附图4),判断它的对角线数值是否全为“I”。判断方法为(参见附图5):[0027]①提取小数组矩阵对角线的第一位数值;
[0028]②判断该值是否为“ I ”,若是“ I ”则转向第③步,否则转向第⑥步。
[0029]③判断该位是否为此小数组矩阵对角线上的最后一位,若是最后一位则转向第⑤步,否则转向④步。
[0030]④提取对角线上的下一位数值,转向第②步;
[0031 ] ⑤匹配成功,计数变量sum加I。
[0032]⑥判断下一个小数组矩阵。
[0033]该情况可根据编译器的特性,利用一个判断语句完成上述处理步骤,从而节省时间,提高加速比。例如特征数据有3个字符,记为3[0],&[1],&[2],此时只需判断是否符合条件((a[0]==l)&&(a[l]==l)&&(a[2]==l)),就可判断出此次是否匹配成功。
[0034]4.同步kernel中的线程,确保GPU的并行运算全部完成后,将GPU运算得到的结果传递回主机内存上(参见附图2)。
[0035]5.释放GPU上为任务数据和特征数据分配的内存空间,并在主机上显示特征提取的计算结果(参见附图2)。
【权利要求】
1.一种面向大数据的特征提取并行处理方法,其特征在于:在硬件处理能力的范围内,该处理方法包含以下步骤: 步骤1:在GPU上为任务数据和特征数据分配存储空间; 步骤2:在处理大数据时,根据所要处理的任务数据和特征数据,并行构建一个具有良好并行性的矩阵数组; 步骤3:通过采用并行处理矩阵数组的方法,对数据进行多线程并发执行特征匹配; 步骤4:提取出符合特征的数据,并统计成功提取数据的次数。
2.根据权利要求1所述的一种面向大数据的特征提取并行处理方法,其特征在于:所述的采用并行处理矩阵数组的方法是基于CUDA的架构,利用GPU并行计算能力实现的。
3.根据权利要求1所述的一种面向大数据的特征提取并行处理方法,其特征在于:所述的任务数据需要从CPU传递到GPU的存储单元中,以便使用GPU进行并行运算。
4.根据权利要求1所述的一种面向大数据的特征提取并行处理方法,其特征在于:所述的提取出符合特征的数据,在大数据环境下,实时对缓存区中的数据进行特征提取的速率大于或等于数据流的发送速率,并且根据数据流的发送速率自适应的调整特征提取的并发宽度,保证动态数据流处理的可并发控制。
5.根据权利要求1所述的一种面向大数据的特征提取并行处理方法,其特征在于:所述的对数据进行多线程并发执行特征匹配,结合GPU硬件特性,在其处理能力的范围内,匹配算法采取的利用可并行化矩阵数组处理数据的方法包含以下两个步骤,且均并行执行: 步骤1:将任务数据和特征数据每个字符依次进行并行匹配,形成一个有效的矩阵数组; 步骤2:根据特征数据的长度,并行处理有效数组,得出正确匹配的结果,即成功特征匹配的次数。
6.根据权利要求1和5所述的面向大数据的特征提取并行处理方法,其特征在于:所述的特征数据需要从CPU传递到GPU的常量内存中,使用常量内存来存储特征数据key,常量内存的访问限制为只读,在第一次从常量内存的某个地址上读取特征数据后,当其他线程请求同一个地址时,将直接从缓存中读取特征数据。
7.根据权利要求5所述的一种面向大数据的特征提取并行处理方法,其特征在于:所述的步骤I的并行匹配是,根据任务数据长度STRLEN和特征数据长度KEYLEN,将任务数据和特征数据的每个字符依次进行并行匹配,形成一个KEYLEN*STRLEN的“01”矩阵数组,即用矩阵数组的第i行分别与特征数据第i个字符作比较,相同则记为“1”,不同则记为“O”。
8.根据权利要求5所述的一种面向大数据的特征提取并行处理方法,其特征在于:所述的依次并行匹配时根据特征数据长度KEYLEN,依次并行处理(STRLEN-KEYLEN+1)个KEYLEN*KEYLEN的小数组矩阵,判断它的对角线数值是否全为“ I ”,即先判断小数组矩阵对角线的第一位数值是否为“1”,如果不是“I”(而是“0”),则不用继续判断下一位数值,直接转向判断下一个小数组矩阵;如果是“1”,则继续判断对角线上的下一位数值是否为“1”,直到对角线数值全部为“ I ”,则有一个成功的特征提取,记录成功匹配一次。
【文档编号】G06F9/38GK103577160SQ201310487250
【公开日】2014年2月12日 申请日期:2013年10月17日 优先权日:2013年10月17日
【发明者】刘镇, 焦弘杰, 吕超, 钱萍 申请人:江苏科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1