《一种面向大数据的针对可变长度特征提取的自适应并行处理方法.pdf》由会员分享,可在线阅读,更多相关《一种面向大数据的针对可变长度特征提取的自适应并行处理方法.pdf(11页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103543989 A (43)申请公布日 2014.01.29 CN 103543989 A (21)申请号 201310555838.2 (22)申请日 2013.11.11 G06F 9/38(2006.01) G06F 9/50(2006.01) G06T 1/20(2006.01) (71)申请人 镇江中安通信科技有限公司 地址 212009 江苏省镇江市镇江新区丁卯南 纬四路 36 号 (72)发明人 刘镇 焦弘杰 吕超 邢红兵 (54) 发明名称 一种面向大数据的针对可变长度特征提取的 自适应并行处理方法 (57) 摘要 本发明公开了一种面向大数据的针对。
2、可变长 度特征提取的自适应并行处理方法, 该方法是针 对可变长度的特征数据, 采用基于 CUDA 的架构, 利用 GPU 并行计算能力对大数据进行处理。在处 理大数据时, 根据自身硬件特性和特征数据的长 度, 自适应的采用可并行化的矩阵数组处理方式, 对数据进行多线程并发执行处理, 从而加快特征 提取的速度。本发明所采用的自适应调整是根据 硬件自身的处理能力和特征数据的长度, 分批对 数据进行处理, 每次进行一定长度的特征提取, 并 记录匹配结果 ; 等待整个特征提取完成后, 根据 数据采样所允许的容错率, 再处理所有匹配结果, 最后得出符合要求的特征提取结果。该方法利用 矩阵数组具有的良好可。
3、并行性, 针对可变长度的 特征提取, 能够有效、 充分地将数据处理并行化, 特别适用于具有一定容错性的大数据快速特征提 取。 (51)Int.Cl. 权利要求书 2 页 说明书 4 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书4页 附图4页 (10)申请公布号 CN 103543989 A CN 103543989 A 1/2 页 2 1. 一种面向大数据的针对可变长度特征提取的自适应并行处理方法, 其特征在于 : 该 处理方法包含以下步骤 : 步骤 1 : 在处理大数据时, 根据硬件自身处理能力和特征数据的长度, 主机将特征提取 任务分。
4、为 N(N 1) 个子任务执行, 每个子任务对来自大数据中的任务数据并行执行一定 长度的特征提取 ; 步骤 2 : 在 GPU 上为任务数据分配存储空间, 并将其传递至 GPU 中 ; 步骤 3 : 将子任务所需的部分特征数据传递至 GPU 中, 根据所要处理的任务数据和该部 分特征数据, 并行构建一个具有良好并行性的矩阵数组 ; 步骤 4 : 通过采用并行处理矩阵数组的方式, 对矩阵数组进行多线程并发执行特征匹 配, 并将此结果返回给主机, 释放 GPU 中无用的内存空间 ; 步骤 5 : 重复步骤 3、 4, 直到完成该任务数据对第 N 个子任务中部分特征数据的匹配 ; 步骤 6 : 主机。
5、将根据特征数据采样所允许的一定的容错率, 处理上述 N 部分返回结果, 得出符合要求的特征提取结果。 2. 根据权利要求 1 所述的一种面向大数据的针对可变长度特征提取的自适应并行处 理方法, 其特征在于 : 该处理方法是基于CPU+GPU异步体系结构, 即由CPU完成串行工作, 控 制主程序的流程 ; GPU 使用 CUDA 编程架构, 实现数据特征提取的并行计算。 3. 根据权利要求 1 所述的一种面向大数据的针对可变长度特征提取的自适应并行处 理方法, 其特征在于 : 步骤 1 所述的 GPU 硬件自身处理能力, 是指每个子任务进行一定长度 的特征提取时, 此部分特征数据和任务数据形成的。
6、矩阵数组大小必须在 GPU 的硬件处理能 力范围内。 4. 根据权利要求 1 所述的一种面向大数据的针对可变长度特征提取的自适应并行处 理方法, 其特征在于 : 步骤 2 所述的在 GPU 上为任务数据分配存储空间, 是指在 GPU 的全局 存储器中为任务数据分配空间, 并将任务数据从主机 CPU 存储器中传递至设备 GPU 的全局 存储器中 ; 步骤 3 所述的将本次子任务所需的部分特征数据传递至 GPU 中是指将此特征数 据传递至GPU的常量存储器中, 使用GPU的常量内存参与并行运算, 可以减少程序运行时不 断读取特征数据的次数, 进一步提高计算速度。 5. 根据权利要求 1 所述的一种。
7、面向大数据的针对可变长度特征提取的自适应并行处 理方法, 其特征在于 : 步骤 3 所述的并行构建一个具有良好并行性的矩阵数组, 是把任务数 据和子任务特征数据的每个字符依次进行并行匹配, 形成一个有效的 “01” 矩阵数组, 该有 效 “01” 矩阵数组, 是根据任务数据长度 STRLEN 和第 i 个子任务中特征数据的长度 KEYi (1 i N) , 将任务数据和特征数据的每个字符依次进行并行匹配, 相同则记为 “1” , 不同 则记为 “0” , 形成一个 KEYi*STRLEN 的 “01” 矩阵数组。 6. 根据权利要求 1 和 5 所述的一种面向大数据的针对可变长度特征提取的自适。
8、 应并行处理方法, 其特征在于 : 步骤 4 所述的并行处理矩阵数组, 是对步骤 3 中得到的 KEYi*STRLEN 的 “01”矩阵数组, 依次并行处理 (STRLEN-KEYi+1) 个 KEYi*KEYi 的小数组矩阵, 将每个小数组矩阵对角线上的数值相加, 并将其和值依次写入一个长度为 STRLEN 的一维数组中。 7.根据权利要求1和6所述的一种面向大数据的针对可变长度特征提取的自适应并行 处理方法, 其特征在于 : 步骤 4 所述的将匹配结果返回给主机, 是指将保存并行处理矩阵数 权 利 要 求 书 CN 103543989 A 2 2/2 页 3 组结果的长度为 STRLEN 。
9、的一维数组, 从设备 GPU 存储器传递回主机 CPU 存储器中 , 此一维 数组将被存储在一个二维数组sumNSTRLEN的第i行, 该二维数组将记录所有子任务的 返回结果, 然后, 将 GPU 设备中用于并行计算的内存空间释放, 以便进行下一个子任务特征 数据的提取。 8. 根据权利要求 1 和 7 所述的一种面向大数据的针对可变长度特征提取的自适应 并行处理方法, 其特征在于 : 步骤 6 所述的主机将根据数据采样所允许的一定的容错率, 处理 N 部分返回结果, 得出符合要求的特征提取结果, 是待 N 个子任务的特征数据处理全 部完成并返回结果后, 将二维数组 sum 每行对应的数据相加。
10、, 得出 (STRLEN-KEYLEN+1) 个 KEYLEN*KEYLEN(KEYLEN 为特征数据的总长度) 矩阵数组对角线的累加结果 total, 根据系 统容错性能的设置, 若其容错率为 x%, 当 total (1-x%)*KEYLEN 时, 则认定此次特征提取 成功, 记录成功匹配一次。 9. 根据权利要求 8 所述的一种面向大数据的针对可变长度特征提取的自适 应并行处理方法, 其特征在于 : 所述的将二维数组 sum 每行对应的数据相加, 得出 (STRLEN-KEYLEN+1) 个 KEYLEN*KEYLEN 矩阵数组对角线的累加结果 total, 需要考虑各行 偏移量的大小,。
11、 若特征数据分为 N 个子任务处理, 前 N-1 个子任务均处理 m 位特征数据, 第 N 个子任务处理 s 位数据特征 (1 s m) , 则第 k 个 KEYLEN*KEYLEN 矩阵数组的对角线 累加结果 total 的求和公式为 : sum1k+sum21*m+k+sum32*m+k+ sumN (N-1)*m+k。 权 利 要 求 书 CN 103543989 A 3 1/4 页 4 一种面向大数据的针对可变长度特征提取的自适应并行处 理方法 技术领域 0001 本发明属于大数据处理技术领域, 涉及一种特征提取的方法, 更具体是涉及一种 面向大数据的针对可变长度特征提取的自适应并行处。
12、理方法。 技术背景 0002 随着大数据时代的来临, 如何快速处理大数据, 并提取出有效信息已经成为 IT 行 业前沿性的研究热点。 当前, 特征提取技术在图像处理、 模式识别和网络入侵检测等方面的 运用越来越广泛, 尤其在大数据环境下, 对可变长度特征提取的灵活性及效率已经成为制 约快速处理数据能力的瓶颈。 0003 根据对现有专利资料的检索, 目前对大数据进行特征提取的方法主要有两个方 面 : 一方面是提高 CPU 核数量或建立分布式集群系统等 ; 另一方面是利用 GPU 来处理固定 长度的特征数据且没有容错性。但由于 CPU 核的数量有限、 建立分布式集群系统成本较高、 而利用 GPU 。
13、的处理还受到硬件能力的制约, 局限于只能处理固定长度的特征数据, 所以对 大数据环境下特征提取的处理方法和能力仍有待于进一步创新和提高。 0004 发明内容 0005 本发明的目的是针对大数据环境下, 计算机对数据的特征提取主要依靠 CPU 来串 行完成、 利用 GPU 对数据的特征提取局限于只能处理固定长度的两方面现状, 提出一种面 向大数据的针对可变长度特征提取的自适应并行处理方法, 使得计算机对特征提取的处理 能力更强、 灵活性更好且具有一定的容错性。 0006 为了实现上述目的, 本发明解决上述问题的技术方案是一种面向大数据的针对可 变长度特征提取的自适应并行处理方法, 该方法根据自身。
14、硬件特性和特征数据的长度, 自 适应的采用可并行化的矩阵数组处理方式, 分批对特征数据进行处理, 每次进行一定长度 的特征提取, 并行构建一个具有良好并行性的矩阵数组, 对数据进行多线程并发执行处理, 并记录匹配结果 ; 等待整个特征提取完成后, 根据数据采样所允许的容错率, 再处理所有匹 配结果, 最后得出符合要求的特征提取结果。 0007 根据上述的技术方案, 本发明采用并行处理的方法是基于 CPU+GPU 异步体系结 构, 即由 CPU 完成串行工作, 控制主程序的流程 ; GPU 使用 CUDA 编程架构, 实现数据特征提 取的并行计算。 0008 上述的针对可变长度特征提取的自适应并。
15、行处理方法, 在处理大数据时, 根据硬 件自身处理能力和特征数据的长度, 主机将特征提取任务分为 N(N 1) 个子任务执行, 根 据每部分特征数据和所要处理的来自大数据的任务数据, 并行构建一个具有良好并行性的 矩阵数组, 该矩阵数组大小必须在 GPU 处理能力范围内, 每个子任务并行执行一定长度的 特征提取。 说 明 书 CN 103543989 A 4 2/4 页 5 0009 上述的并行处理方法是基于 CPU+GPU 异步体系结构的, 即在 GPU 上为任务数据分 配存储空间, 并将任务数据从主机 CPU 存储器中传递至设备 GPU 的全局存储器中。然后将 本次子任务所需的特征数据传递。
16、至 GPU 的常量存储器中, 常量存储器的访问限制为只读, 在第一次从常量存储器的某个地址上读取特征数据后, 当其他线程请求同一个地址时, 将 直接从缓存中读取特征数据。使用 GPU 的常量内存参与并行运算, 可以减少程序运行时不 断读取特征数据的次数, 从而节省时间, 进一步提高计算速度。 0010 上述的并行构建一个具有良好并行性的矩阵数组, 即把任务数据和子任务中特征 数据的每个字符依次进行并行匹配, 形成一个有效的 “01” 矩阵数组。即根据任务数据长度 STRLEN 和第 i 个子任务中特征数据的长度 KEYi (1 i N) , 将任务数据和特征数据的 每个字符依次进行并行匹配, 。
17、相同则记为 “1” , 不同则记为 “0” , 形成一个 KEYi*STRLEN 的 “01” 矩阵数组。 0011 上述的并行处理矩阵数组, 对数据进行多线程并发执行特征匹配, 即对上述并 行匹配得到的 KEYi*STRLEN 的 “01”矩阵数组, 依次并行处理 (STRLEN-KEYi+1) 个 KEYi*KEYi 的小数组矩阵, 将每个小数组矩阵对角线上的数值相加, 并将其和值依次写 入一个长度为 STRLEN 的一维数组中。 0012 上述的将匹配结果返回给主机, 即把保存并行处理矩阵数组结果的长度为 STRLEN 的一维数组, 从设备 GPU 存储器传递回主机 CPU 存储器中。此。
18、一维数组将被存储在一个二 维数组sumNSTRLEN的第i行, 该二维数组将记录所有子任务的返回结果。 然后, 将GPU 设备中用于并行计算的内存空间释放, 以便进行下一个子任务特征数据的提取。 0013 根据主机对特征数据的划分, 重复以上 GPU 的并行计算和数据传送部分, 直到完 成第 N 个子任务中部分特征数据的匹配。 0014 上述的处理所有部分的匹配结果, 即等待 N 个子任务的特征数据处理全部完 成并返回结果后, 将二维数组 sum 每行对应的数据相加, 得出 (STRLEN-KEYLEN+1) 个 KEYLEN*KEYLEN(KEYLEN 为特征数据的总长度) 矩阵数组对角线的。
19、累加结果 total。 0015 上述的将二维数组 sum 每行对应的数据相加, 得出 (STRLEN-KEYLEN+1) 个 KEYLEN*KEYLEN 矩阵数组对角线的累加结果 total, 需要考虑各行偏移量的大小。若特征数 据分为 N 个子任务处理, 前 N-1 个子任务均处理 m 位特征数据, 第 N 个子任务处理 s 位数据 特征 (1 s m) , 则第 k 个 KEYLEN*KEYLEN 矩阵数组的对角线累加结果 total 的求和公式 为 : sum1k+sum21*m+k+sum32*m+k+ sumN(N-1)*m+k。 0016 上述的数据采样所允许的一定的容错率, 即。
20、指根据系统容错性能的设置, 若其容 错率为 x%, 当 total (1-x%)*KEYLEN 时, 则认定此次特征提取成功, 记录成功匹配一次。 以此为标准, 最终得出所有符合要求的特征提取结果。 0017 附图说明 0018 附图 1 为本发明中针对可变长度的特征数据进行任务划分的结构示意图。 0019 附图 2 为本发明中基于 CPU+GPU 异步体系结构的总体程序流程图。 0020 附图 3 为本发明中每个子任务在 GPU 中进行并行计算的流程图。 0021 附图 4 为本发明中任务数据匹配每一部分特征数据中字符的结构示意图。 说 明 书 CN 103543989 A 5 3/4 页 。
21、6 0022 附图 5 为本发明中利用划分数组的方法, 并行处理每个子任务中 “01” 矩阵数组的 结构示意图。 0023 附图 6 为本发明中汇总处理所有子任务的运算结果并得出最终特征提取结果的 流程图。 0024 具体实施方式 0025 下面结合附图对本发明的内容作进一步的详细介绍。 0026 1. 本发明中涉及的一种面向大数据的针对可变长度特征提取的自适应并行处理 方法的总体流程是 : 根据自身硬件特性和特征数据的长度, 自适应的采用可并行化的矩阵 数组处理方式, 把待提取的特征数据分为 N 个部分 (参见附图 1) , 分批对数据进行处理, 每 次进行一定长度的特征提取, 根据每部分特。
22、征数据和所要处理的来自大数据的任务数据, 并行构建一个具有良好并行性的矩阵数组, 对数据进行多线程并发执行处理, 并记录匹配 结果 ; 等待整个特征提取完成后, 根据数据采样所允许的容错率, 再处理所有匹配结果, 最 后得出符合要求的特征提取结果。 (参见附图 2) 。 0027 2. 设置系统的容错率为 x%。 0028 3. 根据自身硬件特性和特征数据的长度, 把待提取的特征数据分为 N 个部分, 分 批对数据进行处理, 将特征提取流程划分成 N 个子任务。其中前 N-1 个部分中, 每部分均有 m 位特征数据, 最后第 N 部分中有 s 位特征数据 (参见附图 1) 。 0029 4. 。
23、在 GPU 上分配存储空间, 并将任务数据传递至 GPU 的全局存储器 (Global Memory) 中 (参见附图 2) 。 0030 5.从第1部分的特征数据开始处理, 在GPU中执行每个子任务的流程如下 (参见附 图 3) : (1) 将本次子任务所需的特征数据传递至 GPU 的常量存储器 (Constant Memory) 中 (参 见附图 2) ; (2) 根据任务数据长度STRLEN和第i个子任务中特征数据的长度KEYi (1iN) , 将任务数据和特征数据的每个字符依次进行并行匹配, 相同则记为 “1” , 不同则记为 “0” , 形成一个 KEYi*STRLEN 的 “01”。
24、 矩阵数组 (参见附图 4) ; (3)对 (2)中并行匹配得到的 KEYi*STRLEN 的 “01”矩阵数组, 依次并行处理 (STRLEN-KEYi+1) 个 KEYi*KEYi 的小数组矩阵, 将每个小数组矩阵对角线上的数值 相加, 并将其和值依次写入一个长度为 STRLEN 的一维数组 tempSTRLEN 中 (参见附图 5) ; (4) 同步 kernel 中的线程, 确保本次 GPU 的并行运算已全部完成 ; (5) 将 (3) 中得到的一维数组 tempSTRLEN, 从设备 GPU 存储器传递回主机 CPU 存储器 中。此一维数组 tempSTRLEN 的元素被存储在一个二。
25、维数组 sumNSTRLEN 的第 i 行, 该二维数组将记录所有子任务的返回结果 ; (6) 将 GPU 设备中用于并行计算的内存空间释放, 以便处理下一个子任务 ; (7) 判断 N 个子任务是否全部处理完毕, 若 “是” 则退出此循环, 转向步骤 6, 否则提取 下一个部分的特征数据 (i i+1), 重复步骤 5。 0031 6. 将 二 维 数 组 sum 每 行 对 应 的 数 据 相 加,得 出 (STRLEN-KEYLEN+1) 个 说 明 书 CN 103543989 A 6 4/4 页 7 KEYLEN*KEYLEN(KEYLEN 为特征数据的总长度) 矩阵数组对角线的累加。
26、结果 total, 并根据 系统容错率的设置, 判断本次特征提取是否匹配成功。具体判断流程如下 (参见附图 6) : (1) 从第 1 个 KEYLEN*KEYLEN 矩阵数组开始判断, 令 k=1 ; (2)考虑各行偏移量的大小, 第 k 个 KEYLEN*KEYLEN 矩阵数组的对角线累加结果 totalk=sum1k+sum21*m+k+sum32*m+k+ sumN(N-1)*m+k ; (3) 根据系统容错率 x% 的设置, 若 totalk (1-x%)*KEYLEN, 则特征提取匹配成功 一次 ; (4) 判断 (STRLEN-KEYLEN+1) 个 KEYLEN*KEYLEN 。
27、矩阵数组是否全部处理完毕, 若 “是” 则转向步骤 7, 否则 k k+1, 重复步骤 6。 0032 7. 所有数据匹配完成, 显示所有符合要求的特征提取结果。 0033 8. 释放 GPU 中分配的所有内存空间。 说 明 书 CN 103543989 A 7 1/4 页 8 图 1 图 2 说 明 书 附 图 CN 103543989 A 8 2/4 页 9 图 3 图 4 说 明 书 附 图 CN 103543989 A 9 3/4 页 10 图 5 说 明 书 附 图 CN 103543989 A 10 4/4 页 11 图 6 说 明 书 附 图 CN 103543989 A 11 。