System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理方法,更具体地说是指正则匹配死亡轮询处理方法、装置、计算机设备及存储介质。
技术介绍
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.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法。
...【技术特征摘要】
1.正则匹配死亡轮询处理方法,其特征在于,包括:
2.根据权利要求1所述的正则匹配死亡轮询处理方法,其特征在于,所述获取待解析数据之后,还包括:
3.根据权利要求1所述的正则匹配死亡轮询处理方法,其特征在于,所述记录解析的相关数据,包括:
4.根据权利要求1所述的正则匹配死亡轮询处理方法,其特征在于,所述对所述待解析数据进行正则匹配,包括:
5.根据权利要求1所述的正则匹配死亡轮询处理方法,其特征在于,所述构建监听线程,利用所述监听线程监听正则匹配过程,当正则匹配过程出现异常情况,中断正则匹配过程,当正则匹配过程未出现异常情况,生成匹配结果,包括:
...
【专利技术属性】
技术研发人员:董超,王贤龙,杨文燕,
申请(专利权)人:浙江乾冠信息安全研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。