CN113807975A - 一种校验信息的方法、装置、计算机设备及存储介质 - Google Patents
一种校验信息的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113807975A CN113807975A CN202111086852.3A CN202111086852A CN113807975A CN 113807975 A CN113807975 A CN 113807975A CN 202111086852 A CN202111086852 A CN 202111086852A CN 113807975 A CN113807975 A CN 113807975A
- Authority
- CN
- China
- Prior art keywords
- expression
- verification
- verification result
- inverse
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000014509 gene expression Effects 0.000 claims abstract description 232
- 238000012795 verification Methods 0.000 claims abstract description 149
- IWEDIXLBFLAXBO-UHFFFAOYSA-N dicamba Chemical compound COC1=C(Cl)C=CC(Cl)=C1C(O)=O IWEDIXLBFLAXBO-UHFFFAOYSA-N 0.000 claims abstract description 56
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- AZFKQCNGMSSWDS-UHFFFAOYSA-N MCPA-thioethyl Chemical compound CCSC(=O)COC1=CC=C(Cl)C=C1C AZFKQCNGMSSWDS-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种校验信息的方法、装置、计算机设备及存储介质,本发明涉及人工智能技术,该方法包括:接收由用户端发送的针对目标商品的购买请求信息;从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果;利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果;根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果;本发明能够提高信息校验的效率和准确性。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种校验信息的方法、装置、计算机设备及存储介质。
背景技术
随着保险行业和电商行业的不断发展,极大丰富了保险类商品的销售渠道。同时,各种保险类商品对应的购买规则也不尽相同,需要同时对用户年龄、用户社保情况、用户证件类型、用户生日等信息进行校验。因此,只有当用户的上述身份信息满足目标商品的购买规则时,才能触发投保功能。
在现有技术中,当用户购买保险类商品时,往往使用人工校验或按照商品规则编写复杂的代码的方式进行信息校验,这两种方法都离不开人工提取用户信息的方式,会浪费工作人员大量的时间,并且在处理复杂的购买规则校验时,可能会出现校验错误的情况,影响用户购物体验;因此,在现有技术中存在无法做到自动化校验复杂信息、保证校验结果快速准确的技术问题。
发明内容
本发明的目的在于提供一种校验信息的方法、装置、计算机设备及存储介质,解决了自动化校验复杂信息,并保证校验结果精准的技术问题,达到了提高信息校验的准确性和效率的技术效果。
根据本发明的一个方面,提供了一种校验信息的方法,该方法包括如下步骤:
接收由用户端发送的针对目标商品的购买请求信息;其中,所述购买请求信息包括:商品标识、销售平台标识和用户身份信息;
从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;其中,所述规则表达式集合包括:多条规则表达式;
利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果;
利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果;
根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果。
可选的,所述利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,具体包括:
将所述规则表达式编译为Java字节码语句;其中,所述Java字节码语句至少包括以下之一:变量参数项、变量参数参考值、运算符;
从所述Java字节码语句中提取出变量参数项,并从所述用户身份信息中获取与所述变量参数项对应的变量参数值;
将所述变量参数值替换所述Java字节码语句中对应的变量参数项,并通过Java虚拟机执行所述Java字节码语句以得到校验结果;其中,所述校验结果为:校验成功或校验失败。
可选的,所述根据每条规则表达式的校验结果形成Aviator校验结果,具体包括:
将所有规则表达式的校验结果形成决策集;
判断在所述决策集中是否存在校验失败;若是,则将Aviator校验结果设置为校验失败,若否,则将Aviator校验结果设置为校验成功。
可选的,所述利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,具体包括:
利用预设逻辑运算符将所述规则表达式集合中的所有规则表达式拼接成合并表达式;其中,所述合并表达式至少包括以下一种对象:变量参数项、变量参数参考值、运算符;
利用逆波兰算法将所述合并表达式编译为逆波兰表达式。
可选的,所述校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果,具体包括:
从所述逆波兰表达式中提取出变量参数项,并从所述用户身份信息中获取与所述变量参数项对应的变量参数值;
将所述变量参数值替换所述逆波兰表达式中对应的变量参数项,形成新的逆波兰表达式;
执行所述新的逆波兰表达式以得到逆波兰校验结果;其中,所述逆波兰校验结果为:校验成功或校验失败。
可选的,所述根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果,具体包括:
判断所述Aviator校验结果和所述逆波兰校验结果是否均为校验成功;
若是,则将所述最终校验结果设置为验证成功,若否,则将所述用户身份信息和所述规则表达式集合发送至人工校验平台。
为了实现上述目的,本发明还提供一种校验信息的方法的装置,该装置具体包括以下组成部分:
信息接收模块,用于接收由用户端发送的针对目标商品的购买请求信息;其中,所述购买请求信息包括:商品标识、销售平台标识和用户身份信息;
规则查找模块,用于从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;其中,所述规则表达式集合包括:多条规则表达式;
第一校验模块,用于利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果;
第二校验模块,用于利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果;
最终校验模块,用于根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果。
可选的,所述最终校验模块,具体用于:
判断所述Aviator校验结果和所述逆波兰校验结果是否均为校验成功;若是,则将所述最终校验结果设置为验证成功,若否,则将所述用户身份信息和所述规则表达式集合发送至人工校验平台。
为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的校验信息的方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的校验信息的方法的步骤。
本发明提供的校验信息的方法、装置、运算机设备及存储介质,同时使用Aviator表达式引擎和逆波兰表达式来校验用户的用户身份信息是否符合对应的商品规则,只有当二者校验结果一致时才允许用户购买商品。由于Aviator表达式引擎和逆波兰表达式是两种不同的用于运算规则表达式的方式,通过同时使用这两种方式可以最大程度校验购买请求信息和商品规则是否匹配,从而返回准确的校验结果,提高了信息校验的准确性;此外,通过将为不同商品在各种销售平台配置的商品规则保存在规则库中,便于对商品规则的管理及重复使用,提高了信息校验的工作效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为实例一提供的校验信息的方法的一种可选的流程示意图;
图2为实例二提供的校验信息的装置的一种可选的程序模块示意图;
图3为实例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
本申请实施例提供了一种校验信息的方法,应用于服务器,如图1所示,该方法具体包括以下步骤:
步骤S101:接收由用户端发送的针对目标商品的购买请求信息;其中,所述购买请求信息包括:商品标识、销售平台标识、用户身份信息和购买数量。
在用户购买保险商品的场景中,商品标识是用于唯一标识保险商品的信息,由于同一保险商品可在不同销售平台销售,所以还为不同的销售平台设置用于唯一标识的销售平台标识;此外,当用户登录一销售平台预购买一保险商品时,需要用户填写用户身份信息,其中,所述用户身份信息包括:用户属性项和对应的用户属性值,例如,用户身份信息中的用户属性项包括:用户年龄、用户社保情况、用户性别、用户生日等。
步骤S102:从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;其中,所述规则表达式集合包括:多条规则表达式。
在本实施例中,所述预设的规则库中包括多个商品分组,且一个商品分组对应一种商品;在一个商品分组中包括多个平台属性信息,且一个平台属性信息对应一个销售平台;所述平台属性信息包括:规则表达式集合和目标商品在对应销售平台的可售库存量。
所述规则表达式用于表征目标商品在对应销售平台的销售规则,只有当用户身份信息满足对应的规则表达式时,用户才可购买目标商品。例如,规则表达式为:({Age>=18}&&{Age<=50}),该规则表达式限定了用户的年龄需在18岁至50岁,由此可见,规则表达式至少包括以下之一:变量参数项(例如,Age)、变量参数参考值(例如,18、50)、运算符(例如,>=、&&)。
具体的,步骤S102,包括:
从所述规则库中查找到与所述商品标识对应的商品分组;
从所述商品分组中确定出与所述销售平台标识对应的平属性信息;其中,所述平台属性信息包括:规则表达式集合和目标商品在对应销售平台的可售库存量。
在本实施例中,所述规则库的存储结构为层级结构,第一层级对应目标商品的商品标识,第二层级对应所述目标商品从属的销售平台标识,第三层级对应所述目标商品在目标销售平台的平台属性信息。
步骤S103:利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果。
优选的,所述表达式引擎Aviator是一种用来自动运算多条表达式的人工智能算法,通过编译表达式和使用变量参数值对表达式进行赋值,自动完成对表达式的运算。所述表达式引擎Aviator可以通过模型学习的方法,使用模型学习大量表达式的运算方法,最终实现自动化将规则表达式编译成为Java字节码语句和对表达式进行赋值操作,并自动执行Java字节码语句的运算的功能,得到表达式校验结果。
具体的,步骤S103,包括:
步骤A1:将所述规则表达式编译为Java字节码语句;其中,所述Java字节码语句至少包括以下之一:变量参数项、变量参数参考值、运算符;
需要说明的是,由于Aviator就具备将规则表达式编译为Java字节码语句(JavaByte Code)的功能,所以具体的编译过程不再赘述。
步骤A2:从所述Java字节码语句中提取出变量参数项,并从所述用户身份信息中获取与所述变量参数项对应的变量参数值;
具体的,步骤A2,包括:
步骤A21:判断所述Java字节码语句中的各个字节码是否出现在预设的映射表中,并将出现在所述映射表中的字节码作为变量参数项;
步骤A22:根据所述映射表查找到与所述变量参数项具有映射关系的用户属性项;
其中,由于用户身份信息中的用户属性项为中文或英文语句,所以需要通过映射表事先建立字节码与用户属性项的映射关系;
步骤A23:从所述用户身份信息中获取与所述用户属性项对应的用户属性值,并将所述用户属性值设置为与所述变量参数项对应的变量参数值。
步骤A3:将所述变量参数值替换所述Java字节码语句中对应的变量参数项,并通过Java虚拟机执行所述Java字节码语句以得到校验结果;其中,所述校验结果为:校验成功或校验失败。
步骤A4:将所有规则表达式的校验结果形成决策集。
步骤A5:判断在所述决策集中是否存在校验失败;若是,则将Aviator校验结果设置为校验失败,若否,则将Aviator校验结果设置为校验成功。
进一步的,若Aviator校验结果为校验成功,则表征所述用户身份信息均满足所述规则表达式集合中的所有规则表达式;若Aviator校验结果为校验失败,则表征所述用户身份信息不满足所述规则表达式集合中的所有规则表达式。
步骤S104:利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果。
具体的,步骤S104,包括:
步骤B1:利用预设逻辑运算符将所述规则表达式集合中的所有规则表达式拼接成合并表达式;其中,所述合并表达式至少包括以下一种对象:变量参数项、变量参数参考值、运算符。
在本实施例中,将所述所有规则表达式拼接成合并表达式,可以简化规则表达式的表现形式和计算过程。使用逆波兰表达式同时计算所述目标商品对应的所有规则表达式,有利于提高规则表达式的计算速度,提升了对规则表达式的执行效率。
步骤B2:利用逆波兰算法将所述合并表达式编译为逆波兰表达式。
具体的,步骤B2,包括:
步骤B21:依次遍历所述合并表达式中的每个对象,并判断所述对象是否为运算符;若是,则执行步骤B22,若否,则执行步骤B29;
步骤B22:将所述运算符作为待入栈运算符,并判断预设的第一堆栈是否为空栈,若是,则执行步骤B23,若否,则执行步骤B24;
步骤B23:将所述待入栈运算符添加所述第一堆栈,并执行步骤B210;
步骤B24:判断所述待入栈运算符是否为左括号或右括号,若是,则执行步骤B25,若否,则执行步骤B26;
步骤B25:当所述待入栈运算符是左括号时,将所述待入栈运算符添加所述第一堆栈,或者,当所述待入栈运算符是右括号时,从所述第一堆栈的栈顶开始按照先入后出的顺序依次将运算符出栈并添加到预设的第二堆栈中直至遇到与所述右括号相匹配的左括号,并将相匹配的左括号从所述第一堆栈中删除;
步骤B26:获取位于所述第一堆栈的栈顶的运算符,并判断所述待入栈运算符的优先级是否低于栈顶的运算符的优先级;若是,则执行步骤B27,若否,则执行步骤B28;
步骤B27:将栈顶的运算符出栈并添加到所述第二堆栈中,并重新执行步骤B26;
步骤B28:将所述待入栈运算符添加所述第一堆栈,并执行步骤B210;
步骤B29:将所述对象添加到所述第二堆栈中,并执行步骤B210;
步骤B210:重新执行步骤B21,直至遍历完所述合并表达式中的所有对象;
步骤B211:判断所述第一堆栈内是否存有运算符,若是,则将存有的运算符按照先入后出的顺序逐一添加到所述第二堆栈中;
步骤B212:按照先入先出的顺序依次将所述第二堆栈中的对象输出,以形成所述逆波兰表达式。
步骤B3:从所述逆波兰表达式中提取出变量参数项,并从所述用户身份信息中获取与所述变量参数项对应的变量参数值;
步骤B4:将所述变量参数值替换所述逆波兰表达式中对应的变量参数项,形成新的逆波兰表达式;
步骤B5:执行所述新的逆波兰表达式以得到逆波兰校验结果;其中,所述逆波兰校验结果为:校验成功或校验失败。
具体的,步骤B5,包括:
步骤B51:依次遍历所述新的逆波兰表达式中的每个对象,并判断所述对象是否为运算符,若是,则执行步骤B53,若否,则执行步骤B52;
步骤B52:将所述对象压入预设的第三堆栈中,并执行步骤B54:
步骤B53:从所述第三堆栈中按照先入后出的顺序依次获取与所述运算符对应的关联对象,根据所述运算符对所述关联对象进行运算,并将运算结果压入所述第三堆栈中,并执行步骤B54;
进一步的,每一个运算符所对应的关联对象为已知值,例如运算符“÷”对应的关联对象为2个。通过获取所述运算符,便可获取与所述运算符对应的关联对象,从而确定出需要从所述第三堆栈中获取关联对象的个数。对所述关联对象进行运算,将运算结果压入所述第三堆栈。
步骤B54:重新执行步骤B51,直至遍历完所述新的逆波兰表达式中的所有对象;
步骤B55:获取所述第三堆栈中最终剩余的对象作为所述新的逆波兰表达式的校验结果。
在本实施例中,逆波兰表达式是一种用来自动运算多条表达式的人工智能算法,通过将逆波兰表达式对象进行压栈和出栈操作,自动完成对表达式的运算。所述逆波兰表达式可以通过模型学习的方法,使用模型学习大量表达式的逆波兰生成方法和运算方法,最终实现自动化将规则表达式生成逆波兰表达式,并自动执行逆波兰表达式的运算的功能。
步骤S105:根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果。
具体的,步骤S105,包括:
判断所述Aviator校验结果和所述逆波兰校验结果是否均为校验成功;
若是,则将所述最终校验结果设置为验证成功,并执行步骤S106,若否,则将所述用户身份信息和所述规则表达式集合发送至人工校验平台。
进一步的,在所述将所述最终校验结果设置为验证成功之后,所述方法还包括:
判断存储在规则库中的所述目标商品的可售库存量是否大于购买数量;
若是,则执行购买并返回用户端购买成功的提醒,并扣减对应所述目标商品可售库存量;
若否,则返回购买失败的结果。
进一步的,所述方法还包括:
根据预设时间间隔,获取规则库中的全部商品的可售库存量,逐个判断每一商品的可售库存量是否大于零,若是,则通过校验,若否,则停止对该商品的销售活动。
在本实施例中,同时使用Aviator表达式引擎和逆波兰表达式来校验用户的购买请求信息是否符合对应的商品规则,只有当二者校验结果一直时才允许用户购买商品。由于Aviator表达式引擎和逆波兰表达式是两种不同的用于运算规则表达式的方式,Aviator表达式引擎可以通过同时使用这两种方式可以最大程度校验购买请求信息和商品规则是否匹配,从而返回准确的校验结果,提高了信息校验的准确性;此外,通过将为不同商品在各种销售平台配置的商品规则保存在规则库中,便于对商品规则的管理及重复使用,提高了信息校验的工作效率。
实施例二
基于上述实施例一中提供的校验信息的方法,本实施例中提供一种校验信息的装置,具体地,图2示出了该校验信息的装置的可选的结构框图,该校验信息的装置被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述校验信息的装置在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图2所示,所述校验信息的装置,具体包括以下组成部分:
信息接收模块201,用于接收由用户端发送的针对目标商品的购买请求信息;其中,所述购买请求信息包括:商品标识、销售平台标识和用户身份信息;
规则查找模块202,用于从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;其中,所述规则表达式集合包括:多条规则表达式;
第一校验模块203,用于利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果;
第二校验模块204,用于利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果;
最终校验模块205,用于根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果。
具体的,第一校验模块203,包括:
第一编译单元,用于将所述规则表达式编译为Java字节码语句;其中,所述Java字节码语句至少包括以下之一:变量参数项、变量参数参考值、运算符;
第一提取单元,用于从所述Java字节码语句中提取出变量参数项,并从所述用户身份信息中获取与所述变量参数项对应的变量参数值;
第一执行单元,用于将所述变量参数值替换所述Java字节码语句中对应的变量参数项,并通过Java虚拟机执行所述Java字节码语句以得到校验结果;其中,所述校验结果为:校验成功或校验失败。
进一步的,第一校验模块203,还包括:
判断单元,用于将所有规则表达式的校验结果形成决策集;判断在所述决策集中是否存在校验失败;若是,则将Aviator校验结果设置为校验失败,若否,则将Aviator校验结果设置为校验成功。
具体的,第二校验模块204,包括:
拼接单元,用于利用预设逻辑运算符将所述规则表达式集合中的所有规则表达式拼接成合并表达式;其中,所述合并表达式至少包括以下一种对象:变量参数项、变量参数参考值、运算符;
第二编译单元,用于利用逆波兰算法将所述合并表达式编译为逆波兰表达式。
更进一步的,所述第二编译单元,具体用于:
步骤B21:依次遍历所述合并表达式中的每个对象,并判断所述对象是否为运算符;若是,则执行步骤B22,若否,则执行步骤B29;
步骤B22:将所述运算符作为待入栈运算符,并判断预设的第一堆栈是否为空栈,若是,则执行步骤B23,若否,则执行步骤B24;
步骤B23:将所述待入栈运算符添加所述第一堆栈,并执行步骤B210;
步骤B24:判断所述待入栈运算符是否为左括号或右括号,若是,则执行步骤B25,若否,则执行步骤B26;
步骤B25:当所述待入栈运算符是左括号时,将所述待入栈运算符添加所述第一堆栈,或者,当所述待入栈运算符是右括号时,从所述第一堆栈的栈顶开始按照先入后出的顺序依次将运算符出栈并添加到预设的第二堆栈中直至遇到与所述右括号相匹配的左括号,并将相匹配的左括号从所述第一堆栈中删除;
步骤B26:获取位于所述第一堆栈的栈顶的运算符,并判断所述待入栈运算符的优先级是否低于栈顶的运算符的优先级;若是,则执行步骤B27,若否,则执行步骤B28;
步骤B27:将栈顶的运算符出栈并添加到所述第二堆栈中,并重新执行步骤B26;
步骤B28:将所述待入栈运算符添加所述第一堆栈,并执行步骤B210;
步骤B29:将所述对象添加到所述第二堆栈中,并执行步骤B210;
步骤B210:重新执行步骤B21,直至遍历完所述合并表达式中的所有对象;
步骤B211:判断所述第一堆栈内是否存有运算符,若是,则将存有的运算符按照先入后出的顺序逐一添加到所述第二堆栈中;
步骤B212:按照先入先出的顺序依次将所述第二堆栈中的对象输出,以形成所述逆波兰表达式。
进一步的,第二校验模块204,还包括:
第二提取单元,用于从所述逆波兰表达式中提取出变量参数项,并从所述用户身份信息中获取与所述变量参数项对应的变量参数值;
替换单元,用于将所述变量参数值替换所述逆波兰表达式中对应的变量参数项,形成新的逆波兰表达式;
第二执行单元,用于执行所述新的逆波兰表达式以得到逆波兰校验结果;其中,所述逆波兰校验结果为:校验成功或校验失败。
更进一步的,所述第二执行单元,具体用于:
步骤B51:依次遍历所述新的逆波兰表达式中的每个对象,并判断所述对象是否为运算符,若是,则执行步骤B53,若否,则执行步骤B52;
步骤B52:将所述对象压入预设的第三堆栈中,并执行步骤B54:
步骤B53:从所述第三堆栈中按照先入后出的顺序依次获取与所述运算符对应的关联对象,根据所述运算符对所述关联对象进行运算,并将运算结果压入所述第三堆栈中,并执行步骤B54;
步骤B54:重新执行步骤B51,直至遍历完所述新的逆波兰表达式中的所有对象;
步骤B55:获取所述第三堆栈中最终剩余的对象作为所述新的逆波兰表达式的校验结果。
具体的,最终校验模块205,用于:
判断所述Aviator校验结果和所述逆波兰校验结果是否均为校验成功;
若是,则将所述最终校验结果设置为验证成功,若否,则将所述用户身份信息和所述规则表达式集合发送至人工校验平台。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图3所示,本实施例的计算机设备30至少包括但不限于:可通过系统总线相互通信连接的存储器301、处理器302。需要指出的是,图3仅示出了具有组件301-302的计算机设备30,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器301(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器301可以是计算机设备30的内部存储单元,例如该计算机设备30的硬盘或内存。在另一些实施例中,存储器301也可以是计算机设备30的外部存储设备,例如该计算机设备30上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器301还可以既包括计算机设备30的内部存储单元也包括其外部存储设备。在本实施例中,存储器301通常用于存储安装于计算机设备30的操作系统和各类应用软件,例如实施例二的校验信息的方法的装置的程序代码等。此外,存储器301还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器302在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器302通常用于控制计算机设备30的总体操作。
具体的,在本实施例中,处理器302用于执行存储器301中存储的校验信息的方法的程序,所述校验信息的方法的程序被执行时实现如下步骤:
接收由用户端发送的针对目标商品的购买请求信息;其中,所述购买请求信息包括:商品标识、销售平台标识和用户身份信息;
从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;其中,所述规则表达式集合包括:多条规则表达式;
利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果;
利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果;
根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
接收由用户端发送的针对目标商品的购买请求信息;其中,所述购买请求信息包括:商品标识、销售平台标识和用户身份信息;
从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;其中,所述规则表达式集合包括:多条规则表达式;
利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果;
利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果;
根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种校验信息的方法,其特征在于,所述方法包括:
接收由用户端发送的针对目标商品的购买请求信息;其中,所述购买请求信息包括:商品标识、销售平台标识和用户身份信息;
从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;其中,所述规则表达式集合包括:多条规则表达式;
利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果;
利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果;
根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果。
2.根据权利要求1所述校验信息的方法,其特征在于,所述利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,具体包括:
将所述规则表达式编译为Java字节码语句;其中,所述Java字节码语句至少包括以下之一:变量参数项、变量参数参考值、运算符;
从所述Java字节码语句中提取出变量参数项,并从所述用户身份信息中获取与所述变量参数项对应的变量参数值;
将所述变量参数值替换所述Java字节码语句中对应的变量参数项,并通过Java虚拟机执行所述Java字节码语句以得到校验结果;其中,所述校验结果为:校验成功或校验失败。
3.根据权利要求2所述校验信息的方法,其特征在于,所述根据每条规则表达式的校验结果形成Aviator校验结果,具体包括:
将所有规则表达式的校验结果形成决策集;
判断在所述决策集中是否存在校验失败;若是,则将Aviator校验结果设置为校验失败,若否,则将Aviator校验结果设置为校验成功。
4.根据权利要求1所述校验信息的方法,其特征在于,所述利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,具体包括:
利用预设逻辑运算符将所述规则表达式集合中的所有规则表达式拼接成合并表达式;其中,所述合并表达式至少包括以下一种对象:变量参数项、变量参数参考值、运算符;
利用逆波兰算法将所述合并表达式编译为逆波兰表达式。
5.根据权利要求4所述校验信息的方法,其特征在于,所述校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果,具体包括:
从所述逆波兰表达式中提取出变量参数项,并从所述用户身份信息中获取与所述变量参数项对应的变量参数值;
将所述变量参数值替换所述逆波兰表达式中对应的变量参数项,形成新的逆波兰表达式;
执行所述新的逆波兰表达式以得到逆波兰校验结果;其中,所述逆波兰校验结果为:校验成功或校验失败。
6.根据权利要求1至5中任一项所述校验信息的方法,其特征在于,所述根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果,具体包括:
判断所述Aviator校验结果和所述逆波兰校验结果是否均为校验成功;
若是,则将所述最终校验结果设置为验证成功,若否,则将所述用户身份信息和所述规则表达式集合发送至人工校验平台。
7.一种校验信息的方法的装置,其特征在于,所述装置包括:
信息接收模块,用于接收由用户端发送的针对目标商品的购买请求信息;其中,所述购买请求信息包括:商品标识、销售平台标识和用户身份信息;
规则查找模块,用于从预设的规则库中查找同时与所述商品标识和所述销售平台标识对应的规则表达式集合;其中,所述规则表达式集合包括:多条规则表达式;
第一校验模块,用于利用表达式引擎Aviator依次校验所述用户身份信息是否符合所述规则表达式集合中的每条规则表达式,并根据每条规则表达式的校验结果形成Aviator校验结果;
第二校验模块,用于利用逆波兰算法将所述规则表达式集合中的所有规则表达式形成逆波兰表达式,并校验所述用户身份信息是否符合所述逆波兰表达式以得到逆波兰校验结果;
最终校验模块,用于根据所述Aviator校验结果和所述到逆波兰校验结果确定出最终校验结果。
8.根据权利要求7所述校验信息的装置,其特征在于,所述最终校验模块,具体用于:
判断所述Aviator校验结果和所述逆波兰校验结果是否均为校验成功;若是,则将所述最终校验结果设置为验证成功,若否,则将所述用户身份信息和所述规则表达式集合发送至人工校验平台。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111086852.3A CN113807975B (zh) | 2021-09-16 | 2021-09-16 | 一种校验信息的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111086852.3A CN113807975B (zh) | 2021-09-16 | 2021-09-16 | 一种校验信息的方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113807975A true CN113807975A (zh) | 2021-12-17 |
CN113807975B CN113807975B (zh) | 2024-06-04 |
Family
ID=78941270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111086852.3A Active CN113807975B (zh) | 2021-09-16 | 2021-09-16 | 一种校验信息的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113807975B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114298766A (zh) * | 2021-12-31 | 2022-04-08 | 广州零世纪信息科技有限公司 | 营销系统的派奖数据处理方法、装置和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698158B1 (en) * | 2000-10-24 | 2010-04-13 | Theinsuranceadvisor Technologies, Inc. | Life insurance policy evaluation method |
CN105677528A (zh) * | 2016-01-06 | 2016-06-15 | 长园共创电力安全技术股份有限公司 | 通过逆波兰表达式对五防逻辑表达式进行校验的方法 |
CN110321696A (zh) * | 2019-07-01 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 基于小程序的账户安全保护方法及系统 |
CN111400380A (zh) * | 2020-02-22 | 2020-07-10 | 中国平安财产保险股份有限公司 | 表格数据的校验方法、电子装置及存储介质 |
CN112561485A (zh) * | 2020-12-21 | 2021-03-26 | 深圳市链融科技股份有限公司 | 保理产品规则判定方法、装置、计算机设备及存储介质 |
CN112750028A (zh) * | 2020-12-30 | 2021-05-04 | 北京知因智慧科技有限公司 | 基于实体抽取的事件文本的风险预警方法和装置 |
-
2021
- 2021-09-16 CN CN202111086852.3A patent/CN113807975B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698158B1 (en) * | 2000-10-24 | 2010-04-13 | Theinsuranceadvisor Technologies, Inc. | Life insurance policy evaluation method |
CN105677528A (zh) * | 2016-01-06 | 2016-06-15 | 长园共创电力安全技术股份有限公司 | 通过逆波兰表达式对五防逻辑表达式进行校验的方法 |
CN110321696A (zh) * | 2019-07-01 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 基于小程序的账户安全保护方法及系统 |
CN111400380A (zh) * | 2020-02-22 | 2020-07-10 | 中国平安财产保险股份有限公司 | 表格数据的校验方法、电子装置及存储介质 |
CN112561485A (zh) * | 2020-12-21 | 2021-03-26 | 深圳市链融科技股份有限公司 | 保理产品规则判定方法、装置、计算机设备及存储介质 |
CN112750028A (zh) * | 2020-12-30 | 2021-05-04 | 北京知因智慧科技有限公司 | 基于实体抽取的事件文本的风险预警方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114298766A (zh) * | 2021-12-31 | 2022-04-08 | 广州零世纪信息科技有限公司 | 营销系统的派奖数据处理方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113807975B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681854B (zh) | 一种信息校验方法、装置及系统 | |
CN109299177A (zh) | 数据抽取方法、装置、存储介质及电子设备 | |
CN110825363B (zh) | 智能合约获取方法、装置、电子设备及存储介质 | |
CN109657177A (zh) | 升级后页面的生成方法、装置、存储介质及计算机设备 | |
CN110941488A (zh) | 一种任务处理方法、装置、设备和存储介质 | |
CN111258799A (zh) | 报错信息处理方法、电子装置及计算机可读存储介质 | |
CN111435367A (zh) | 知识图谱的构建方法、系统、设备及存储介质 | |
CN113627168A (zh) | 一种元器件封装冲突的检查方法、装置、介质及设备 | |
CN113485889A (zh) | 埋点数据校验方法、装置、电子设备及存储介质 | |
CN113807975B (zh) | 一种校验信息的方法、装置、计算机设备及存储介质 | |
CN114661423A (zh) | 集群配置检测方法、装置、计算机设备及存储介质 | |
CN111460021A (zh) | 数据导出方法及装置 | |
CN114547696A (zh) | 文件脱敏方法、装置、电子设备及存储介质 | |
CN111444368B (zh) | 构建用户画像的方法、装置、计算机设备及存储介质 | |
CN109254791A (zh) | 开发数据的管理方法、计算机可读存储介质和终端设备 | |
CN117036115A (zh) | 合同数据的核验方法、装置和服务器 | |
CN112069808A (zh) | 融资风控方法、装置、计算机设备及存储介质 | |
EP3285179A1 (en) | Data transfer method and device | |
CN113703753B (zh) | 用于产品开发的方法、装置和产品开发系统 | |
CN110083823A (zh) | 词典表建立方法及装置、计算机装置、及存储介质 | |
CN114637636A (zh) | 基于人工智能的ui界面校验方法、装置、设备及介质 | |
US12039266B2 (en) | Methods and system for the extraction of properties of variables using automatically detected variable semantics and other resources | |
CN111080209B (zh) | 一种bom的验证方法、系统、设备以及存储介质 | |
CN114169306A (zh) | 一种生成电子回执单的方法、装置、设备及可读存储介质 | |
CN103761247B (zh) | 一种出错文件的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |