正则匹配死亡轮询处理方法、装置、计算机设备及存储介质与流程

文档序号:37217379发布日期:2024-03-05 15:08阅读:16来源:国知局
正则匹配死亡轮询处理方法、装置、计算机设备及存储介质与流程

本发明涉及数据处理方法,更具体地说是指正则匹配死亡轮询处理方法、装置、计算机设备及存储介质。


背景技术:

1、正则表达式是对字符串和特殊字符操作的一种逻辑公式,是用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑,正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串,因此,其在海量的大数据中提取有效信息方面有着举足轻重的地位。

2、jdk(java开发工具包,java development kit)提供的工具类java.util.regex.pattern工具类,对正则和待解析数据进行匹配;现在jdk提供的匹配方式,在遇到不规范的正则表达式死亡循环问题时,代码无法自动结束或跳出循环,无限循环的java代码会导致服务器当前线程对应cpu直接处于拉满状态,资源达到99.9%,导致服务器异常。

3、因此,有必要设计一种新的方法,实现防止jdk在解析过程中进入死亡轮训。


技术实现思路

1、本发明的目的在于克服现有技术的缺陷,提供正则匹配死亡轮询处理方法、装置、计算机设备及存储介质。

2、为实现上述目的,本发明采用以下技术方案:正则匹配死亡轮询处理方法,包括:

3、获取待解析数据;

4、记录解析的相关数据;

5、对所述待解析数据进行正则匹配;

6、构建监听线程,利用所述监听线程监听正则匹配过程,当正则匹配过程出现异常情况,中断正则匹配过程,当正则匹配过程未出现异常情况,生成匹配结果。

7、其进一步技术方案为:所述获取待解析数据之后,还包括:

8、获取解析规则。

9、其进一步技术方案为:所述记录解析的相关数据,包括:

10、采用线程安全的集合记录执行线程信息、正则、待解析数据以及时间戳。

11、其进一步技术方案为:所述对所述待解析数据进行正则匹配,包括:

12、采用jdk工具类对正则以及所述待解析数据进行匹配。

13、其进一步技术方案为:所述构建监听线程,利用所述监听线程监听正则匹配过程,当正则匹配过程出现异常情况,中断正则匹配过程,当正则匹配过程未出现异常情况,生成匹配结果,包括:

14、构建监听线程,利用所述监听线程监听正则匹配过程;

15、当所述集合中的待解析数据的正则匹配时长超过设定阈值,则确定所述正则匹配过程出现异常情况,中断当前的正则匹配过程,记录出现异常情况所对应的待解析数据以及对应的正则,并移除所述集合中记录的数据;当正则匹配过程未出现异常情况,移除所述集合中记录的数据,并生成匹配结果。

16、本发明还提供了正则匹配死亡轮询处理装置,包括:

17、数据获取单元,用于获取待解析数据;

18、记录单元,用于记录解析的相关数据;

19、匹配单元,用于对所述待解析数据进行正则匹配;

20、监听单元,用于构建监听线程,利用所述监听线程监听正则匹配过程,当正则匹配过程出现异常情况,中断正则匹配过程,当正则匹配过程未出现异常情况,生成匹配结果。

21、其进一步技术方案为:还包括:

22、规则获取单元,用于获取解析规则。

23、其进一步技术方案为:所述记录单元,用于采用线程安全的集合记录执行线程信息、正则、待解析数据以及时间戳。

24、本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。

25、本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。

26、本发明与现有技术相比的有益效果是:本发明通过对待解析数据进行正则匹配时,构建监听线程,并利用该监听线程实时监听整个正则匹配过程,当出现异常情况时,及时中断正则匹配过程,实现防止jdk在解析过程中进入死亡轮训。

27、下面结合附图和具体实施例对本发明作进一步描述。



技术特征:

1.正则匹配死亡轮询处理方法,其特征在于,包括:

2.根据权利要求1所述的正则匹配死亡轮询处理方法,其特征在于,所述获取待解析数据之后,还包括:

3.根据权利要求1所述的正则匹配死亡轮询处理方法,其特征在于,所述记录解析的相关数据,包括:

4.根据权利要求1所述的正则匹配死亡轮询处理方法,其特征在于,所述对所述待解析数据进行正则匹配,包括:

5.根据权利要求1所述的正则匹配死亡轮询处理方法,其特征在于,所述构建监听线程,利用所述监听线程监听正则匹配过程,当正则匹配过程出现异常情况,中断正则匹配过程,当正则匹配过程未出现异常情况,生成匹配结果,包括:

6.正则匹配死亡轮询处理装置,其特征在于,包括:

7.根据权利要求6所述的正则匹配死亡轮询处理装置,其特征在于,还包括:

8.根据权利要求6所述的正则匹配死亡轮询处理装置,其特征在于,所述记录单元,用于采用线程安全的集合记录执行线程信息、正则、待解析数据以及时间戳。

9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的方法。

10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法。


技术总结
本发明实施例公开了正则匹配死亡轮询处理方法、装置、计算机设备及存储介质。所述方法包括:获取待解析数据;记录解析的相关数据;对所述待解析数据进行正则匹配;构建监听线程,利用所述监听线程监听正则匹配过程,当正则匹配过程出现异常情况,中断正则匹配过程,当正则匹配过程未出现异常情况,生成匹配结果。通过实施本发明实施例的方法可实现防止JDK在解析过程中进入死亡轮训。

技术研发人员:董超,王贤龙,杨文燕
受保护的技术使用者:浙江乾冠信息安全研究院有限公司
技术研发日:
技术公布日:2024/3/4
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1