System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及规则解析,具体提供一种用于智能审查要点服务的方法及装置。
技术介绍
1、现有的qlexpress(快速表达式引擎)是一款动态脚本引擎解析工具,虽然可以解析一些复杂表达式,但是需要额外引入依赖,增加了学习成本,且其属于弱类型脚本语言,可能会出现性能瓶颈,而且在处理动态脚本时可能面临安全风险,如表达式注入漏洞等。
技术实现思路
1、本专利技术是针对上述现有技术的不足,提供一种实用性强的用于智能审查要点服务的方法。
2、本专利技术进一步的技术任务是提供一种设计合理,安全适用的用于智能审查要点服务的装置。
3、本专利技术解决其技术问题所采用的技术方案是:
4、一种用于智能审查要点服务的方法,直接使用jdk和spring提供的方法编写规则解析方法,对于规则数值使用属性占位符助手propertyplaceholderhelper来解析;
5、对于智能审查要点规则按照有无关系运算符来区分成两类,一类为关系表达式解析,另一类为非关系表达式解析。
6、进一步的,所述关系表达式解析首先需要定义所支持的关系运算符集合,然后据此从关系表达式字符串中分割以获取到左、右两边的操作数,所述操作数的实际值则需要从上下文或者给定的配置文件中去获取,最后再根据关系操作符去比较操作数的值,从而获取到解析结果。
7、进一步的,获取操作数的值时,操作数需要通过上下文或者配置文件来获取的,spring提供的工具类属性占位符助手propert
8、或通过传递占位符前缀和后缀来构造自定义的占位符形式,properties工具类提供操作数的值域,把应用运行时的上下文环境或者配置文件赋值给properties工具类,最后调用propertyplaceholderhelper工具类的方法解析出操作数具体的值。
9、进一步的,对于自定义的关系运算符集合操作,根据jdk提供的comparable比较类,对获取到的操作数实际值进行比较运算,从而获取关系表达式的解析结果。
10、进一步的,所述非关系表达式解析需要定义所支持的单参数函数集合,然后通过函数名来匹配具体的执行函数,接着从上下文或者给定的配置文件中去获取参数的实际值,最后再去执行单参数函数,获取执行结果即为规则表达式的解析结果。
11、进一步的,使用工具类属性占位符助手propertyplaceholderhelper获取参数的实际值,使用properties工具类提供操作数值域,把上下文或者配置文件赋值给properties工具类,最后调用propertyplaceholderhelper工具类的方法解析出参数表达式具体的值。
12、进一步的,执行单参数函数时,对于自定义的单参数函数,获取到的参数表达式实际值直接做为入参来调用该单参数函数,从而获取非关系表达式的解析结果。
13、一种用于智能审查要点服务的装置,包括:至少一个存储器和至少一个处理器;
14、所述至少一个存储器,用于存储机器可读程序;
15、所述至少一个处理器,用于调用所述机器可读程序,执行一种用于智能审查要点服务的方法。
16、本专利技术的一种用于智能审查要点服务的方法及装置和现有技术相比,具有以下突出的有益效果:
17、本专利技术通过使用jdk和spring提供的原生工具类,实现了将审查要点规则先分成关系表达式和非关系表达式两部分,然后再分别去处理解析得到结果,因而实现快速、简洁易用、性能更好。
本文档来自技高网...【技术保护点】
1.一种用于智能审查要点服务的方法,其特征在于,直接使用JDK和Spring提供的方法编写规则解析方法,对于规则数值使用属性占位符助手PropertyPlaceholderHelper来解析;
2.根据权利要求1所述的一种用于智能审查要点服务的方法,其特征在于,所述关系表达式解析首先需要定义所支持的关系运算符集合,然后据此从关系表达式字符串中分割以获取到左、右两边的操作数,所述操作数的实际值则需要从上下文或者给定的配置文件中去获取,最后再根据关系操作符去比较操作数的值,从而获取到解析结果。
3.根据权利要求2所述的一种用于智能审查要点服务的方法,其特征在于,获取操作数的值时,操作数需要通过上下文或者配置文件来获取的, Spring提供的工具类属性占位符助手PropertyPlaceholderHelper,用于处理包含占位符值的字符串,占位符采用${name}的形式,其中name是占位符的名称;
4.根据权利要求3所述的一种用于智能审查要点服务的方法,其特征在于,对于自定义的关系运算符集合操作,根据JDK提供的Comparable比较类,对获取
5.根据权利要求4所述的一种用于智能审查要点服务的方法,其特征在于,所述非关系表达式解析需要定义所支持的单参数函数集合,然后通过函数名来匹配具体的执行函数,接着从上下文或者给定的配置文件中去获取参数的实际值,最后再去执行单参数函数,获取执行结果即为规则表达式的解析结果。
6.根据权利要求5所述的一种用于智能审查要点服务的方法,其特征在于,使用工具类属性占位符助手PropertyPlaceholderHelper获取参数的实际值,使用Properties工具类提供操作数值域,把上下文或者配置文件赋值给Properties工具类,最后调用PropertyPlaceholderHelper工具类的方法解析出参数表达式具体的值。
7.根据权利要求6所述的一种用于智能审查要点服务的方法,其特征在于,执行单参数函数时,对于自定义的单参数函数,获取到的参数表达式实际值直接做为入参来调用该单参数函数,从而获取非关系表达式的解析结果。
8.一种用于智能审查要点服务的装置,其特征在于,包括:至少一个存储器和至少一个处理器;
...【技术特征摘要】
1.一种用于智能审查要点服务的方法,其特征在于,直接使用jdk和spring提供的方法编写规则解析方法,对于规则数值使用属性占位符助手propertyplaceholderhelper来解析;
2.根据权利要求1所述的一种用于智能审查要点服务的方法,其特征在于,所述关系表达式解析首先需要定义所支持的关系运算符集合,然后据此从关系表达式字符串中分割以获取到左、右两边的操作数,所述操作数的实际值则需要从上下文或者给定的配置文件中去获取,最后再根据关系操作符去比较操作数的值,从而获取到解析结果。
3.根据权利要求2所述的一种用于智能审查要点服务的方法,其特征在于,获取操作数的值时,操作数需要通过上下文或者配置文件来获取的, spring提供的工具类属性占位符助手propertyplaceholderhelper,用于处理包含占位符值的字符串,占位符采用${name}的形式,其中name是占位符的名称;
4.根据权利要求3所述的一种用于智能审查要点服务的方法,其特征在于,对于自定义的关系运算符集合操作,根据jdk提供的comparable比较类,对获取到的操作数实际值...
【专利技术属性】
技术研发人员:李周,李杰,于春晓,迟钰沛,
申请(专利权)人:浪潮软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。