一种分隔符格式文件高性能分析的方法及装置

文档序号:38443586发布日期:2024-06-24 14:31阅读:15来源:国知局
一种分隔符格式文件高性能分析的方法及装置

本发明属于信息技术、数据分析,具体涉及一种分隔符格式文件高性能分析的方法及装置。


背景技术:

1、分隔符格式文件(comma separated value,简称csv)解析是数据分析研究领域一项长期具有挑战性的问题,其主要任务是对这类分隔符格式文件高效的解析和分析,从原始文件中查询到用户所需要的信息。因此,实现快速解析与实时分析是研究该问题的重点。分隔符分隔的csv文件作为基本的文件格式越来越多地出现在各种应用程序中。然而,csv文件的固有格式可能会阻碍并行处理,从而导致性能损失和显著的开销。数据提取将csv文件转换为表格结构,常见的处理流程往往限制于块解耦和处理嵌套的分隔符,例如字段或引号内字符,导致串行处理。数据提取和转换过程仍然是资源密集型的开销,成为csv数据分析时的瓶颈。而并行处理能够提升多核系统下cpu的利用率,同时提高csv数据解析与分析的速度。

2、csv并行处理技术是针对csv格式的数据集的高性能方法,可以极大地加速解析和降低成本。与传统的基于串行思路为csv文件构建索引的思路不同,并行技术将csv文件切分为同等大小的块,通过在每个块内各自构建索引,最后将索引进行合并。然而现有的研究工作的可伸缩性和性能仍然依赖于对块的转换和上下文验证。更快和更复杂的硬件架构凸显了整个分析过程中的csv提取和转换瓶颈,特别是在并行处理中。为了适应计算吞吐量的指数级增长,制造商正致力于扩大核的数量,并提高单指令多数据(single instructionmultiple data,simd)的能力。为了充分利用当前硬件并行性的潜力,并从不断增长的核心中获益,最近的csv算法和应用程序需要具有大规模硬件架构下的可伸缩性。


技术实现思路

1、本发明针对上述问题,提供一种分隔符格式文件高性能分析的方法及装置。

2、本发明采用的技术方案如下:

3、一种分隔符格式文件高性能分析的方法,包括以下步骤:

4、通过迭代的方式采样输入文件中的控制字符,确定控制字符的符号状态和逻辑位置;

5、根据控制字符确定有限状态推导器模型中应当选取的字符转换层级,所述字符转换层级包括记录级和字段级;

6、将输入文件切分为相等大小的文本块,并将其放入空闲处理单元中,基于有限状态推导器模型实现并行扫描,并利用simd加速分隔符的识别,生成位图索引,所述位图索引将分隔符的逻辑位置映射到物理位置;

7、基于位图索引进行查询,包括关键字搜索查询模式和文件联合查询模式。

8、进一步地,所述控制字符包括分隔符、双引号、转义字符,所述分隔符包括逗号、换行符,所述控制字符外的部分称为文本字符;所述符号状态是指采样中是否存在;所述逻辑位置是指采样到的控制字符在文本中的相对位置。

9、进一步地,所述通过迭代的方式采样输入文件中的控制字符,包括采用启发式算法检查文件中的控制字符,即只要遇到控制字符中的某控制字符,视为该文件中包含控制字符并停止检查该控制字符,直至包含控制字符中的全部字符或至文件末尾;并且,使用simd指令集快速对csv文件中连续字符串是否包含某类控制字符做出判断,扩大采样范围的同时尽可能维持原先的采样速度。

10、进一步地,所述有限状态推导器是基于状态最小化的有限状态推导器,包括csv格式文件转换的ir、er、iq、eq四种状态及其对应的转换,其中ir表示记录内,er表示记录结束,iq表示引号内,eq表示引号结束。

11、进一步地,所述根据控制字符确定有限状态推导器模型中应当选取的字符转换层级,包括:当采样不存在双引号时,认为能够通过记录级的字符转换确定分隔符所处的位置;当采样存在双引号时,认为需要结合字段级,进行字段级的字符转换以确定分隔符所处的位置。

12、进一步地,对所述位图索引进行处理以简化查询时间,或不对所述位图索引进行处理而直接进行查询。

13、进一步地,所述关键字搜索查询模式,是使用者提供所需要查询的关键字,返回在文件中查找到的所有完全一致的匹配项的行数、列数;所述文件联合查询模式,是使用者提供所需要查询的文件夹名称以及想要查询的关键字,然后读入文件夹目录下的所有csv文件,并返回在文件中查找到的所有完全一致的匹配项的文件名、行数、列数。

14、一种分隔符格式文件高性能分析的方法及装置,包括:

15、控制字符采样模块,用于通过迭代的方式采样输入文件中的控制字符,确定控制字符的符号状态和逻辑位置;

16、转换层级选取模块,用于根据控制字符确定有限状态推导器模型中应当选取的字符转换层级,所述字符转换层级包括记录级和字段级;

17、位图索引生成模块,用于将输入文件切分为相等大小的文本块,并将其放入空闲处理单元中,基于有限状态推导器模型实现并行扫描,并利用simd加速分隔符的识别,生成位图索引,所述位图索引将分隔符的逻辑位置映射到物理位置;

18、查询模块,用于基于位图索引进行查询,包括关键字搜索查询模式和文件联合查询模式。

19、本发明与现有技术相比的优点在于:

20、(1)与其他表格数据的单线程处理方法相比,本发明在线程级与指令级实现了并行处理,解决了面对csv文件处理受制于固有格式(多类行、列分隔符)而只能串行处理的速度瓶颈问题。

21、(2)本发明建立了分层有限状态推导器模型,能够启发式地确定包含不同控制字符的各类csv文件,并从中选取最简状态进行转换,从而提升了处理速度,减小了内存消耗。

22、(3)本发明在不同核心数量测试中可扩展性表现良好,能够适配部署在不同核心数量的环境中,充分利用当前环境实现并行。



技术特征:

1.一种分隔符格式文件高性能分析的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,所述控制字符包括分隔符、双引号、转义字符,所述分隔符包括逗号、换行符,所述控制字符外的部分称为文本字符;所述符号状态是指采样中是否存在;所述逻辑位置是指采样到的控制字符在文本中的相对位置。

3.根据权利要求1所述的方法,其特征在于,所述通过迭代的方式采样输入文件中的控制字符,包括采用启发式算法检查文件中的控制字符,即只要遇到控制字符中的某控制字符,视为该文件中包含控制字符并停止检查该控制字符,直至包含控制字符中的全部字符或至文件末尾;并且,使用simd指令集快速对csv文件中连续字符串是否包含某类控制字符做出判断,扩大采样范围的同时尽可能维持原先的采样速度。

4.根据权利要求1所述的方法,其特征在于,所述有限状态推导器是基于状态最小化的有限状态推导器,包括csv格式文件转换的ir、er、iq、eq四种状态及其对应的转换,其中ir表示记录内,er表示记录结束,iq表示引号内,eq表示引号结束。

5.根据权利要求1所述的方法,其特征在于,所述根据控制字符确定有限状态推导器模型中应当选取的字符转换层级,包括:当采样不存在双引号时,认为能够通过记录级的字符转换确定分隔符所处的位置;当采样存在双引号时,认为需要结合字段级,进行字段级的字符转换以确定分隔符所处的位置。

6.根据权利要求1所述的方法,其特征在于,对所述位图索引进行处理以简化查询时间,或不对所述位图索引进行处理而直接进行查询。

7.根据权利要求1所述的方法,其特征在于,所述关键字搜索查询模式,是使用者提供所需要查询的关键字,返回在文件中查找到的所有完全一致的匹配项的行数、列数;所述文件联合查询模式,是使用者提供所需要查询的文件夹名称以及想要查询的关键字,然后读入文件夹目录下的所有csv文件,并返回在文件中查找到的所有完全一致的匹配项的文件名、行数、列数。

8.一种分隔符格式文件高性能分析的方法及装置,其特征在于,包括:

9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一项所述方法的指令。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一项所述的方法。


技术总结
本发明涉及一种分隔符格式文件高性能分析的方法及装置。该方法包括:通过迭代的方式采样输入文件中的控制字符,确定控制字符的符号状态和逻辑位置;根据控制字符确定有限状态推导器模型中应当选取的字符转换层级,所述字符转换层级包括记录级和字段级;将输入文件切分为相等大小的文本块,并将其放入空闲处理单元中,基于有限状态推导器模型实现并行扫描,并利用SIMD加速分隔符的识别,生成位图索引;基于位图索引进行查询,包括关键字搜索查询模式和文件联合查询模式。本发明在线程级与指令级实现了并行处理,解决了CSV文件处理受制于固有格式而只能串行处理的速度瓶颈问题,并提升了处理速度。

技术研发人员:代培元,张珩,武延军
受保护的技术使用者:中国科学院软件研究所
技术研发日:
技术公布日:2024/6/23
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1