System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于FM-index算法的分块模式匹配方法及介质组成比例_技高网

基于FM-index算法的分块模式匹配方法及介质组成比例

技术编号:40544247 阅读:2 留言:0更新日期:2024-03-05 19:01
本发明专利技术公开了一种基于FM‑index算法的分块模式匹配方法及介质。通过实时获取待模式匹配的字符文本,并获取目标终端设备的设备描述信息,来计算得到字符串数量,并通过FM‑index算法对待模式匹配的字符文本进行平均分块分配,得到字符文本分配结果,并确定出每个线程分别对应的至少一个索引文件描述信息;通过每个目标线程分别对各索引文件描述信息中的索引文件进行模式匹配处理,得到目标线程处理子结果;通过信号机制同步对各目标线程处理子结果进行汇总处理,得到模式匹配结果,并将其向用户进行反馈操作。解决了字符文本模式匹配的效率低和所需设备内存大的问题,提高了文本字符模式匹配的准确率和效率,减轻了设备的内存压力。

【技术实现步骤摘要】

本专利技术涉及数据处理,尤其涉及一种基于fm-index算法的分块模式匹配方法及介质。


技术介绍

1、在计算机领域中,字符串匹配是十分常见的需要。对于银行或者金融机构的多种业务交互场景时,以报文作为通用的通讯技术手段。长年累记下来,会产生大量报文数据。如果对这些数据有检索或者统计的需求,需要提取报文字段并采用数据库储存、以及建立索引的方式,进行字符串的匹配。

2、专利技术人在实现本专利技术的过程中,发现现有技术存在如下缺陷:目前,常用的字符串匹配方法为kmp(knuth-morris-pratt,字符串查找算法)算法,该算法从头至尾地进行字符串的匹配,时间复杂度为o(n),即匹配时间与被检索的字符串的长度成正比。面临在10gb以上的文件中进行匹配的场景时,匹配时间可能达到数十秒甚至数分钟,并且设备所需要的存储能力也要求比较大。


技术实现思路

1、本专利技术提供了一种基于fm-index算法的分块模式匹配方法及介质,以实现文本字符模式匹配的准确率和效率的提高。

2、根据本专利技术的一方面,提供了一种基于fm-index算法的分块模式匹配方法,其中,包括:

3、实时获取待模式匹配的字符文本,并获取目标终端设备的设备描述信息,来计算得到字符串数量;

4、根据所述字符串数量,通过fm-index算法对所述待模式匹配的字符文本进行平均分块分配,得到字符文本分配结果,并确定出所述字符文本分配结果中每个线程分别对应的至少一个索引文件描述信息;>

5、通过每个所述目标线程,分别对各所述索引文件描述信息中的索引文件进行模式匹配处理,得到目标线程处理子结果;

6、通过预先设置的信号机制同步,对各所述目标线程处理子结果进行汇总处理,得到与所述待模式匹配的字符文本对应的模式匹配结果,并将所述模式匹配结果向用户进行反馈操作。

7、根据本专利技术的另一方面,提供了一种基于fm-index算法的分块模式匹配装置,其中,包括:

8、字符串数量计算模块,用于实时获取待模式匹配的字符文本,并获取目标终端设备的设备描述信息,来计算得到字符串数量;

9、索引文件描述信息确定模块,用于根据所述字符串数量,通过fm-index算法对所述待模式匹配的字符文本进行平均分块分配,得到字符文本分配结果,并确定出所述字符文本分配结果中每个线程分别对应的至少一个索引文件描述信息;

10、目标线程处理子结果确定模块,用于通过每个所述目标线程,分别对各所述索引文件描述信息中的索引文件进行模式匹配处理,得到目标线程处理子结果;

11、模式匹配结果反馈模块,用于通过预先设置的信号机制同步,对各所述目标线程处理子结果进行汇总处理,得到与所述待模式匹配的字符文本对应的模式匹配结果,并将所述模式匹配结果向用户进行反馈操作。

12、根据本专利技术的另一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现本专利技术任一实施例所述的一种基于fm-index算法的分块模式匹配方法。

13、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的一种基于fm-index算法的分块模式匹配方法。

14、本专利技术实施例的技术方案,通过实时获取待模式匹配的字符文本,并获取目标终端设备的设备描述信息,来计算得到字符串数量;根据所述字符串数量,通过fm-index算法对所述待模式匹配的字符文本进行平均分块分配,得到字符文本分配结果,并确定出所述字符文本分配结果中每个线程分别对应的至少一个索引文件描述信息;通过每个所述目标线程,分别对各所述索引文件描述信息中的索引文件进行模式匹配处理,得到目标线程处理子结果;通过预先设置的信号机制同步,对各所述目标线程处理子结果进行汇总处理,得到与所述待模式匹配的字符文本对应的模式匹配结果,并将所述模式匹配结果向用户进行反馈操作。解决了字符文本模式匹配的效率低和所需设备内存大的问题,提高了文本字符模式匹配的准确率和效率,减轻了设备的内存压力。

15、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种基于FM-index算法的分块模式匹配方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述设备描述信息包括:处理器多线程处理信息和当前内存描述信息;

3.根据权利要求2所述的方法,其特征在于,所述根据所述字符串数量,通过FM-index算法对所述待模式匹配的字符文本进行平均分块分配,得到字符文本分配结果,包括:

4.根据权利要求3所述的方法,其特征在于,在所述判断所述待模式匹配的字符文本是否为基因参考文本之后,还包括:

5.根据权利要求4所述的方法,其特征在于,所述索引文件描述信息包括:索引文件和索引文件的数量;

6.根据权利要求5所述的方法,其特征在于,所述通过每个所述目标线程,分别对各所述索引文件描述信息中的索引文件进行模式匹配处理,得到目标线程处理子结果,包括:

7.根据权利要求6所述的方法,其特征在于,所述每个所述目标线程并行地分别对各所述索引文件进行串行模式匹配处理,并分别得到各所述目标线程对应的目标线程处理子结果,包括:

8.一种基于FM-index算法的分块模式匹配装置,其特征在于,包括:

9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的基于FM-index算法的分块模式匹配方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现如权利要求1-7中任一项所述的基于FM-index算法的分块模式匹配方法。

...

【技术特征摘要】

1.一种基于fm-index算法的分块模式匹配方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述设备描述信息包括:处理器多线程处理信息和当前内存描述信息;

3.根据权利要求2所述的方法,其特征在于,所述根据所述字符串数量,通过fm-index算法对所述待模式匹配的字符文本进行平均分块分配,得到字符文本分配结果,包括:

4.根据权利要求3所述的方法,其特征在于,在所述判断所述待模式匹配的字符文本是否为基因参考文本之后,还包括:

5.根据权利要求4所述的方法,其特征在于,所述索引文件描述信息包括:索引文件和索引文件的数量;

6.根据权利要求5所述的方法,其特征在于,所述通过每个所述目标线程,分别对各所述索引文件描述信息中的索引文件进行模式匹...

【专利技术属性】
技术研发人员:马熙弘
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1