CN117611343A - 风险业务确定方法、装置、存储介质及电子设备 - Google Patents
风险业务确定方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117611343A CN117611343A CN202311435435.4A CN202311435435A CN117611343A CN 117611343 A CN117611343 A CN 117611343A CN 202311435435 A CN202311435435 A CN 202311435435A CN 117611343 A CN117611343 A CN 117611343A
- Authority
- CN
- China
- Prior art keywords
- expression
- grammar
- risk
- conversion
- service
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000014509 gene expression Effects 0.000 claims abstract description 220
- 238000006243 chemical reaction Methods 0.000 claims abstract description 79
- 230000006870 function Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 8
- 239000000243 solution Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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/06—Asset management; Financial planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Operations Research (AREA)
- Technology Law (AREA)
- Human Resources & Organizations (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种风险业务确定方法、装置、存储介质及电子设备,其中方法包括:获取识别风险业务的决策引擎的第一表达式;基于第一表达式的各个语法单元构建语法树;基于当前版本的第二表达式的语法规则,分别对语法树上的各个语法单元进行语法转换;第二表达式与第一表达式的编程语言类型不同;基于转换后的语法单元的运算符和预设的运算符连接规则对转换后的各个语法单元进行合并,得到决策引擎的第二表达式,第二表达式用于对待识别的业务数据进行风险判定。本申请提供的方法和装置,可以将不同编程语言的决策引擎表达式通过语法转换后执行,从而确定风险业务,可以支持多语言环境和多样化的用户需求,提升了用户体验感。
Description
技术领域
本申请涉及编程语言转换技术领域,具体而言,涉及一种风险业务确定方法、装置、存储介质及电子设备。
背景技术
决策引擎是一系列风控规则的集合,用于识别风险业务。为了完成决策引擎识别风险业务的功能,可以运行决策引擎的表达式,得到表达式的结果,根据结果来确定风险业务。决策引擎的表达式是在后端运行的,后端是通过Python实现决策引擎的功能,而前端决策引擎表达式是JavaScript格式,所以前端的表达式无法直接通过后端来运行。
因此,如何将前端决策引擎的表达式转换成后端能够运行的表达式,从而完成决策引擎识别风险业务的功能成为业界亟待解决的技术问题。
发明内容
本申请提供一种风险业务确定方法、装置、存储介质及电子设备,用以解决现有技术中如何将前端决策引擎的表达式转换成后端能够运行的表达式,从而完成决策引擎识别风险业务的功能的技术问题。
第一方面,本申请提供了一种风险业务确定方法,包括:
获取识别风险业务的决策引擎的第一表达式;
基于所述第一表达式的各个语法单元构建语法树;
基于当前版本的第二表达式的语法规则,分别对所述语法树上的各个语法单元进行语法转换;所述第二表达式与所述第一表达式的编程语言类型不同;
基于转换后的语法单元的运算符和预设的运算符连接规则对转换后的各个语法单元进行合并,得到所述决策引擎的第二表达式,所述第二表达式用于对待识别的业务数据进行风险判定。
在一些实施例中,所述基于所述第一表达式的各个语法单元构建语法树,包括:
对所述第一表达式进行解析;
基于解析结果将所述第一表达式进行拆解,得到所述第一表达式的各个语法单元;
以各个语法单元为节点构建所述语法树。
在一些实施例中,所述对所述语法树上的各个语法单元进行语法转换,包括:
基于预设的递归函数确定所述语法单元的语法类型;
基于所述语法类型确定所述语法规则中所述语法单元对应的语法转换规则;
基于所述语法转换规则将所述语法单元进行语法转换,所述语法转换包括语法结构转换和数据类型转换。
在一些实施例中,所述对待识别的业务数据进行风险判定,包括:
基于所述业务数据运行所述第二表达式,得到所述业务数据对应业务的风险评分;
在所述风险评分大于第二阈值的情况下,确定所述业务为风险业务。
在一些实施例中,所述获取识别风险业务的决策引擎的第一表达式,包括:
基于前端界面获取所述决策引擎的初始第一表达式;
基于设定的检验条件对所述初始第一表达式进行过滤处理,得到所述决策引擎的第一表达式;
其中,所述检验条件包括:
所述第一表达式的字符类型属于预设的字符类型;
所述第一表达式的字符长度小于或等于第一阈值;
所述第一表达式的字符与设定的危险字符不匹配。
在一些实施例中,所述获取识别风险业务的决策引擎的第一表达式之前,还包括:
基于当前用户填写的身份信息,确定所述当前用户的表达式访问权限;
基于所述表达式访问权限确定所述当前用户访问所述第一表达式的访问范围。
在一些实施例中,在任一语法单元语法转换失败的情况下,获取转换失败的语法单元和失败原因;
基于所述转换失败的语法单元和所述失败原因生成告警信息;
将所述告警信息发送至告警处理平台。
第二方面,本申请提供了一种风险业务确定装置,包括:
获取模块,用于获取识别风险业务的决策引擎的第一表达式;
构建模块,用于基于所述第一表达式的各个语法单元构建语法树;
转换模块,用于基于当前版本的第二表达式的语法规则,分别对所述语法树上的各个语法单元进行语法转换;所述第二表达式与所述第一表达式的编程语言类型不同;
合并模块,用于基于转换后的语法单元的运算符和预设的运算符连接规则对转换后的各个语法单元进行合并,得到所述决策引擎的第二表达式,所述第二表达式用于对待识别的业务数据进行风险判定。
第三方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。
第四方面,本申请提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述程序时实现上述的方法。
本申请提供的风险业务确定方法、装置、存储介质及电子设备,通过语法树和当前版本的第二表达式的语法规则,将第一表达式转换成后端可以运行的第二表达式,从而完成决策引擎识别风险业务的功能,实现了跨语言的兼容性,使得不同编程语言的决策引擎表达式,均可以通过语法转换后在后端执行,可以支持多语言环境和多样化的用户需求,提升了用户体验感,提高了风险业务的确定效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的风险业务确定方法的流程示意图;
图2为本申请实施例提供的决策引擎管理系统的展示界面示意图;
图3为本申请实施例提供的风险业务确定装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。
本申请实施例提供的风险业务确定方法适用于终端,终端可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于服务器、智能手机、平板电脑、膝上型便携计算机和台式计算机等。
在本申请的技术方案中,所涉及的个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
图1为本申请实施例提供的风险业务确定方法的流程示意图,如图1所示,该方法包括步骤110、步骤120、步骤130和步骤140。该方法流程步骤仅仅作为本申请一个可能的实现方式。
步骤110、获取识别风险业务的决策引擎的第一表达式。
具体地,本申请实施例提供的风险业务确定方法的执行主体为风险业务确定装置,该装置可以为终端中独立设置的硬件设备,也可以为运行在终端中的软件程序。例如,当终端为手机时,风险业务确定装置可以体现为手机中的风险确定软件等应用程序。
风险业务是指金融机构在经营过程中面临的各类风险以及与之相关的业务活动。风险业务包括金融市场风险、信用风险、操作风险、流动性风险和法律风险等不同类型的风险相关的业务。
决策引擎是一种技术工具或系统,用于自动化和优化决策过程。它基于规则、逻辑和数据,通过评估条件和执行操作来生成决策结果。决策引擎可以根据业务数据和预定义的业务规则和参数对业务风险进行评估和分析,并生成相应的决策结果。
对于风险度极高的业务,决策结果可以为“拒绝”,可以将该类业务定义为绝对风险的业务;对于具有相对风险的业务,决策引擎可以有两种决策结果:一类是风险评分,用于衡量业务风险大小,风险评分越高,风险越大;一类是信用评分,用于衡量业务信用资质,信用评分越高,资质越好。
在决策引擎中,表达式是用于描述和计算规则、条件以及业务逻辑的一种形式。通过运行决策引擎的表达式可以实现决策引擎识别风险业务的功能。
前端可以收集用户输入的决策引擎的第一表达式。用户可以为决策引擎管理系统的管理员,也可以为使用决策引擎管理系统的人员。第一表达式可以为JavaScript表达式。
步骤120、基于第一表达式的各个语法单元构建语法树。
具体地,前端决策引擎的第一表达式一般为JavaScript表达式,本申请实施例决策引擎的表达式是通过后端执行的,后端的运行环境一般适用于Python表达式。
JavaScript和Python是两种不同的编程语言,它们在表达式的语法和特性上具有一些差异,例如在语法结构、数据类型、字符串处理方式、存储方式和函数调用方式等都存在差异。因此需要对第一表达式的编程语言进行转换。
可以对第一表达式进行解析;基于解析结果将第一表达式进行拆解,得到第一表达式的各个语法单元;以各个语法单元为节点构建语法树。
例如,前端可以通过异步的JavaScript与XML技术(Asynchronous JavaScriptand XML,AJAX)或Fetch API等方式将收集到的JavaScript表达式通过网络请求发送给前端后台。网络请求可以为遵循超文本传输协议(Hypertext Transfer Protocol,HTTP)的请求。前端后台通过springboot接收JavaScript表达式,使用词法分析器和语法分析器,例如使用Esprima对接收到的JavaScript表达式进行解析,并根据解析结果将JavaScript表达式进行拆解,得到JavaScript表达式的各个语法单元,以各个语法单元为节点构建抽象语法树(Abstract Syntax Tree,AST)。本申请实施例将抽象语法树简称为语法树。
语法单元可以为组成第一表达式的最小单元,可以包括字面量、标识符、运算符、表达式组合和数组等。
步骤130、基于当前版本的第二表达式的语法规则,分别对语法树上的各个语法单元进行语法转换;第二表达式与第一表达式的编程语言类型不同。
具体地,为了使决策引擎的表达式可以成功在服务器后端运行,需要获取当前版本的第二表达式的语法规则。第二表达式可以为Python表达式。
可以通过后端表达式的运行环境,确定后端支持运行的第二表达式的当前版本。获取当前版本第二表达式的语法规则,通过该语法规则可以将第一表达式转换为能够在后端运行的第二表达式。
第二表达式的语法规则可以为第二表达式的标识符、字面量、运算符、函数调用和成员访问等的设置规则或处理规则。
根据当前版本的第二表达式的语法规则,遍历语法树上的各个节点,分别对构建的语法树上是各个节点进行语法转换,即分别对各个语法单元进行语法转换。
语法转换包括对第一表达式的标识符、字面量、运算符、函数调用和成员访问等的映射和转换。
步骤140、基于转换后的语法单元的运算符和预设的运算符连接规则对转换后的各个语法单元进行合并,得到决策引擎的第二表达式,第二表达式用于对待识别的业务数据进行风险判定。
具体地,转换后的语法单元可以为Python代码片段,为了得到能够运行的第二表达式,即得到完整的Python代码,需要对这些代码片段进行组合。
转换后的语法单元的运算符为Python运算符。可以获取包括Python运算符连接规则的解析表,根据解析表和转换后的语法单元的运算符将语法单元进行连接,得到第二表达式。
因为将第一表达式转换至第二表达式的过程中,进行了变量命名规则的转换、函数调用方式的转换和运算符的转换等,为了确定转换过程的准确无误,可以进行转换过程和转换结果的测试和验证,在测试和验证成功后再运行第二表达式。
业务数据为进行业务交易时产生的数据。
得到第二表达式后,前端可以将第二表达式通过HTTP请求发送至后端的应用程序编程接口(Application Programming Interface,API),后端可以通过springboot调用Python解释器去执行第二表达式,并根据业务数据返回决策结果给前端,根据决策结果可以确定当前的业务是否为风险业务。Python解释器可以为CPython。
通过运行第二表达式可以对待识别的业务数据进行风险判定,从而确定该业务数据对应的业务是否为风险业务。
可以通过运行第二表达式将设定的风险条件与待识别的业务数据进行匹配,根据匹配结果确定该业务数据对应的业务是否为风险业务。
例如,在匹配成功的情况下,确定待识别业务数据对应的业务为风险业务;在匹配失败的情况下,确定待识别业务数据对应的业务不是风险业务。还可以根据匹配结果对该业务数据对应的业务进行评分,根据该业务的分数大小确定该业务数据对应的业务是否为风险业务。
需要说明的是,可以在前端将第一表达式转换成第二表达式;也可以在后端将第一表达式转换成第二表达式。第二表达式是在后端运行的。
本申请实施例提供的风险业务确定方法,通过语法树和当前版本的第二表达式的语法规则,将第一表达式转换成后端可以运行的第二表达式,从而完成决策引擎识别风险业务的功能,实现了跨语言的兼容性,使得不同编程语言的决策引擎表达式,均可以通过语法转换后在后端执行,可以支持多语言环境和多样化的用户需求,提升了用户体验感,提高了风险业务的确定效率。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,步骤130包括:
基于预设的递归函数确定语法单元的语法类型;
基于语法类型确定语法规则中语法单元对应的语法转换规则;
基于语法转换规则将语法单元进行语法转换,语法转换包括语法结构转换和数据类型转换。
具体地,语法类型可以包括字面量、标识符、运算符、表达式组合和数组等。
不同语法类型的语法单元对应的语法转换规则不同,可以根据编写的递归函数或使用访问者模式来确定语法单元的语法类型,根据语法类型确定语法规则中语法单元对应的语法转换规则,然后将语法单元进行语法结构转换和数据类型转换。
语法结构转换包括对不同的语法元素,例如变量、函数和运算符等进行映射和转换。
JavaScript和Python在数据类型和数据处理方面存在差异,因此还需要进行数据类型转换。例如将JavaScript的字符串转换为Python的字符串,将JavaScript的数组转换为Python的列表等。此外,还需要处理函数的映射,将JavaScript中的函数映射到Python中的相应函数。对于第一表达式的运算符,也需要进行转换和适配,以确保表达式在Python环境中能够正常的运行。
在进行语法结构转换和数据类型转换时,需要设置出现异常时的处理方式,以及监控表达式转换后的兼容性。
例如,前端生成的JavaScript表达式包含Python不支持的语法或功能,则需要发出告警或对JavaScript表达式处理后再进行转换。此外,还需要考虑不同版本的JavaScript和Python之间的兼容性,即获取的语法规则需为当前版本的第二表达式的语法规则。
本申请实施例提供的风险业务确定方法,通过语法单元的语法类型和各个语法类型对应的语法转换规则,将各个语法单元进行转换,提高了转换效率,提高了风险业务的确定效率。
在一些实施例中,步骤140包括:
基于业务数据运行第二表达式,得到业务数据对应业务的风险评分;
在风险评分大于第一阈值的情况下,确定业务为风险业务。
具体地,获取了可以直接在后端运行的第二表达式后,可以根据业务数据执行第二表达式,得到该业务数据对应业务的风险评分。风险评分越高,该业务是风险业务的概率越大,可以将风险评分与第一阈值进行比较。
在风险评分大于第一阈值的情况下,确定该业务为风险业务;在风险评分小于或等于第一阈值的情况下,确定该业务的风险较低,可以对该业务进行持续关注或者进一步的分析。第一阈值的大小可以根据实际情况进行限定。
本申请实施例提供的风险业务确定方法,通过执行第二表达式,得到风险评分,根据风险评分和设定的阈值的大小,可以快速确定风险业务,提高了风险业务的确定效率。
在一些实施例中,步骤110包括:
基于前端界面获取决策引擎的初始第一表达式;
基于设定的检验条件对初始第一表达式进行过滤处理,得到决策引擎的第一表达式;
其中,检验条件包括:
第一表达式的字符类型属于预设的字符类型;
第一表达式的字符长度小于或等于第二阈值;
第一表达式的字符与设定的危险字符不匹配。
具体地,图2为本申请实施例提供的决策引擎管理系统的展示界面示意图,如图2所示,决策引擎管理系统的展示界面展示了决策流、参数池和管理员姓名等信息。
初始第一表达式为用户正在输入的表达式。可以根据设定的检验条件对初始第一表达式进行过滤处理,得到决策引擎的第一表达式。
检验条件限定了第一表达式的字符长度、字符集和危险字符等,通过检验条件可以拒绝或过滤掉不符合要求的初始第一表达式,从而防止恶意代码注入和其他安全问题的出现。危险字符可以通过历史存储的风险字符来确定。
前端可以通过决策引擎管理系统的展示界面的表单、输入框或其他交互方式,收集第一表达式。
可选的,前端后台接收到第一表达式后,可以使用安全性扫描工具或编写自定义的安全性检查逻辑对第一表达式进行安全性检查和验证,包括检查输入的第一表达式是否包括危险字符或潜在的安全漏洞,从而提高第一表达式的安全性。
本申请实施例提供的风险业务确定方法,通过对初始第一表达式进行过滤处理,可以得到有效的第一表达式,同时提高了风险业务确定装置的安全性。
在一些实施例中,步骤110之前,还包括:
基于当前用户填写的身份信息,确定当前用户的表达式访问权限;
基于表达式访问权限确定当前用户访问第一表达式的访问范围。
具体地,为了提高决策引擎管理系统的安全性以及风险业务确定装置的安全性,可以通过身份验证和授权机制确保只有经过授权的用户才可以访问和使用决策引擎管理系统。
可以根据当前用户填写的身份信息,确定当前用户的表达式访问权限,根据该表达式访问权限限制对决策引擎的第一表达式的访问权限和操作权限,限制当前用户访问第一表达式的访问范围。
本申请实施例提供的风险业务确定方法,通过用户身份限制用户的表达式访问权限,提高了决策引擎管理系统的安全性,提高了风险业务确定装置的安全性。
在一些实施例中,在任一语法单元的语法转换失败的情况下,获取转换失败的语法单元和失败原因;
基于转换失败的语法单元和失败原因生成告警信息;
将告警信息发送至告警处理平台。
具体地,在语法单元的语法转换过程中,以及第二表达式的执行过程中,可以会存在异常情况,例如出现语法转换失败的情况。因此需要实时监控和处理这些异常情况。
可以获取转换失败的语法单元和失败原因,根据转换失败的语法单元和失败原因生成告警信息,并将告警信息发送至告警处理平台。管理人员通过告警处理平台上的告警信息可以对异常情况进行调试和修复。
本申请实施例提供的风险业务确定方法,在出现异常情况时,及时生成告警信息至告警处理平台,使异常情况可以得到快速处理,提高了风险业务的确定效率,提升了用户体验感。
可选的,还可以使用缓存机制、优化算法、减少不必要的计算和网络开销等对语法转换和表达式执行过程进行性能优化,提高风险业务确定装置的响应速度和效率。
在一些实施例中,风险业务确定方法包括如下步骤:
步骤1、前端收集用户输入的JavaScript表达式。
步骤2、将JavaScript表达式发送给前端后台。
步骤3、前端后台接收JavaScript表达式。
步骤4、前端后台使用JavaScript解析器对接收到的JavaScript表达式进行解析,将其转换为AST。
步骤5、前端后台遍历AST,将每个节点转换为相应的Python代码片段。
步骤6、前端后台将Python代码片段组合成完整的Python代码。
步骤7、服务器后端根据业务数据执行完整的Python代码。
步骤8、服务器后端输出Python代码的执行结果,确定风险业务,并将执行结果发送至前端展示。
本申请实施例提供的风险业务确定方法,通过将JavaScript表达式转换为Python格式,可以实现跨语言兼容性,可以支持多语言环境和多样化的用户需求;通过将JavaScript表达式转换为Python格式,可以利用Python强大的生态系统和丰富的库来处理和执行表达式。Python具有广泛的第三方库和工具,可以提供各种功能和扩展功能,从而增强风险业务确定装置的灵活性和扩展性;通过在后端执行转换后的Python代码,可以提供更好的安全性和隔离性,后端可以实施严格的安全措施,限制对Python执行环境的访问和操作权限,从而减少潜在的安全风险;此外,Python的执行环境可以在独立的沙盒中运行,以隔离用户代码的影响,提高风险业务的确定效率和准确度。
下面对本申请实施例提供的风险业务确定装置进行描述,下文描述的风险业务确定装置与上文描述的风险业务确定方法可相互对应参照。
图3为本申请实施例提供的风险业务确定装置的结构示意图,如图3所示,该装置包括获取模块310、构建块320、转换模块330和合并模块340。
获取模块,用于获取识别风险业务的决策引擎的第一表达式;
构建模块,用于基于第一表达式的各个语法单元构建语法树;
转换模块,用于基于当前版本的第二表达式的语法规则,分别对语法树上的各个语法单元进行语法转换;第二表达式与第一表达式的编程语言类型不同;
合并模块,用于基于转换后的语法单元的运算符和预设的运算符连接规则对转换后的各个语法单元进行合并,得到决策引擎的第二表达式,第二表达式用于对待识别的业务数据进行风险判定。
具体地,根据本申请的实施例,获取模块、构建模块、转换模块和合并模块中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。
或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本申请的实施例,获取模块、构建模块、转换模块和合并模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。
或者,获取模块、构建模块、转换模块和合并模块中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本申请实施例提供的风险业务确定装置,通过语法树和当前版本的第二表达式的语法规则,将第一表达式转换成后端可以运行的第二表达式,从而完成决策引擎识别风险业务的功能,实现了跨语言的兼容性,使得不同编程语言的决策引擎表达式,均可以通过语法转换后在后端执行,可以支持多语言环境和多样化的用户需求,提升了用户体验感,提高了风险业务的确定效率。
在一些实施例中,构建模块具体用于:
对第一表达式进行解析;
基于解析结果将第一表达式进行拆解,得到第一表达式的各个语法单元;
以各个语法单元为节点构建语法树。
在一些实施例中,转换模块具体用于:
基于预设的递归函数确定语法单元的语法类型;
基于语法类型确定语法规则中语法单元对应的语法转换规则;
基于语法转换规则将语法单元进行语法转换,语法转换包括语法结构转换和数据类型转换。
在一些实施例中,风险业务确定装置还包括确定模块,确定模块具体用于:
基于业务数据运行第二表达式,得到业务数据对应业务的风险评分;
在风险评分大于第二阈值的情况下,确定业务为风险业务。
在一些实施例中,获取模块具体用于:
基于前端界面获取决策引擎的初始第一表达式;
基于设定的检验条件对初始第一表达式进行过滤处理,得到决策引擎的第一表达式;
其中,检验条件包括:
第一表达式的字符类型属于预设的字符类型;
第一表达式的字符长度小于或等于第一阈值;
第一表达式的字符与设定的危险字符不匹配。
在一些实施例中,风险业务确定装置还包括权限模块,权限模块用于:
基于当前用户填写的身份信息,确定当前用户的表达式访问权限;
基于表达式访问权限确定当前用户访问第一表达式的访问范围。
在一些实施例中,风险业务确定装置还包括告警模块,告警模块用于:
在任一语法单元语法转换失败的情况下,获取转换失败的语法单元和失败原因;
基于转换失败的语法单元和失败原因生成告警信息;
将告警信息发送至告警处理平台。
在此需要说明的是,本申请实施例提供的风险业务确定装置,能够实现上述风险业务确定方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图4为本申请实施例提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(Processor)410、通信接口(Communications Interface)420、存储器(Memory)430和通信总线(Communications Bus)440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑命令,以执行上述方法,该方法包括:
获取识别风险业务的决策引擎的第一表达式;
基于第一表达式的各个语法单元构建语法树;
基于当前版本的第二表达式的语法规则,分别对语法树上的各个语法单元进行语法转换;第二表达式与第一表达式的编程语言类型不同;
基于转换后的语法单元的运算符和预设的运算符连接规则对转换后的各个语法单元进行合并,得到决策引擎的第二表达式,第二表达式用于对待识别的业务数据进行风险判定。
此外,上述的存储器中的逻辑命令可以通过软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例还提供一种非暂态计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种风险业务确定方法,其特征在于,包括:
获取识别风险业务的决策引擎的第一表达式;
基于所述第一表达式的各个语法单元构建语法树;
基于当前版本的第二表达式的语法规则,分别对所述语法树上的各个语法单元进行语法转换;所述第二表达式与所述第一表达式的编程语言类型不同;
基于转换后的语法单元的运算符和预设的运算符连接规则对转换后的各个语法单元进行合并,得到所述决策引擎的第二表达式,所述第二表达式用于对待识别的业务数据进行风险判定。
2.根据权利要求1所述的风险业务确定方法,其特征在于,所述基于所述第一表达式的各个语法单元构建语法树,包括:
对所述第一表达式进行解析;
基于解析结果将所述第一表达式进行拆解,得到所述第一表达式的各个语法单元;
以各个语法单元为节点构建所述语法树。
3.根据权利要求1所述的风险业务确定方法,其特征在于,所述对所述语法树上的各个语法单元进行语法转换,包括:
基于预设的递归函数确定所述语法单元的语法类型;
基于所述语法类型确定所述语法规则中所述语法单元对应的语法转换规则;
基于所述语法转换规则将所述语法单元进行语法转换,所述语法转换包括语法结构转换和数据类型转换。
4.根据权利要求1至3任一项所述的风险业务确定方法,其特征在于,所述对待识别的业务数据进行风险判定,包括:
基于所述业务数据运行所述第二表达式,得到所述业务数据对应业务的风险评分;
在所述风险评分大于第一阈值的情况下,确定所述业务为风险业务。
5.根据权利要求1所述的风险业务确定方法,其特征在于,所述获取识别风险业务的决策引擎的第一表达式,包括:
基于前端界面获取所述决策引擎的初始第一表达式;
基于设定的检验条件对所述初始第一表达式进行过滤处理,得到所述决策引擎的第一表达式;
其中,所述检验条件包括:
所述第一表达式的字符类型属于预设的字符类型;
所述第一表达式的字符长度小于或等于第二阈值;
所述第一表达式的字符与设定的危险字符不匹配。
6.根据权利要求1所述的风险业务确定方法,其特征在于,所述获取识别风险业务的决策引擎的第一表达式之前,还包括:
基于当前用户填写的身份信息,确定所述当前用户的表达式访问权限;
基于所述表达式访问权限确定所述当前用户访问所述第一表达式的访问范围。
7.根据权利要求1所述的风险业务确定方法,其特征在于,在任一语法单元语法转换失败的情况下,获取转换失败的语法单元和失败原因;
基于所述转换失败的语法单元和所述失败原因生成告警信息;
将所述告警信息发送至告警处理平台。
8.一种风险业务确定装置,其特征在于,包括:
获取模块,用于获取识别风险业务的决策引擎的第一表达式;
构建模块,用于基于所述第一表达式的各个语法单元构建语法树;
转换模块,用于基于当前版本的第二表达式的语法规则,分别对所述语法树上的各个语法单元进行语法转换;所述第二表达式与所述第一表达式的编程语言类型不同;
合并模块,用于基于转换后的语法单元的运算符和预设的运算符连接规则对转换后的各个语法单元进行合并,得到所述决策引擎的第二表达式,所述第二表达式用于对待识别的业务数据进行风险判定。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的风险业务确定方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至7任一项所述的风险业务确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311435435.4A CN117611343A (zh) | 2023-10-31 | 2023-10-31 | 风险业务确定方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311435435.4A CN117611343A (zh) | 2023-10-31 | 2023-10-31 | 风险业务确定方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117611343A true CN117611343A (zh) | 2024-02-27 |
Family
ID=89958690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311435435.4A Pending CN117611343A (zh) | 2023-10-31 | 2023-10-31 | 风险业务确定方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117611343A (zh) |
-
2023
- 2023-10-31 CN CN202311435435.4A patent/CN117611343A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404584B (zh) | Lpc静态代码检查方法、装置和系统 | |
EP3534263A1 (en) | Systems and methods for web analytics testing and web development | |
US9529662B1 (en) | Dynamic rule-based automatic crash dump analyzer | |
KR101143999B1 (ko) | Api 기반 어플리케이션 분석 장치 및 방법 | |
US9229844B2 (en) | System and method for monitoring web service | |
CN112019401B (zh) | 一种车联网应用安全测试方法、装置、系统和电子设备 | |
CN107145784B (zh) | 一种漏洞扫描的方法、装置及计算机可读介质 | |
CN111258832B (zh) | 一种接口参数校验方法、装置、设备及介质 | |
CN104980421A (zh) | 一种批量请求处理方法及系统 | |
CN111404937A (zh) | 一种服务器漏洞的检测方法和装置 | |
CN104318162A (zh) | 源代码泄露检测方法及装置 | |
CN112688966A (zh) | webshell检测方法、装置、介质和设备 | |
CN114036526A (zh) | 漏洞测试方法、装置、计算机设备和存储介质 | |
CN117289926A (zh) | 一种业务处理方法和装置 | |
US11907365B2 (en) | Information processing device and information processing program | |
CN110032872A (zh) | 一种业务逻辑漏洞检测方法及装置 | |
CN117611343A (zh) | 风险业务确定方法、装置、存储介质及电子设备 | |
CN116361793A (zh) | 代码检测方法、装置、电子设备及存储介质 | |
CN115082009A (zh) | 一种应用在政务服务业务中审查要点核验的方法 | |
CN114238898A (zh) | 信用信息处理方法、虚拟服务器及相关装置 | |
CN113032836A (zh) | 数据脱敏方法和装置 | |
CN110659260A (zh) | 基于四聚理念的大数据生态系统构建方法以及装置 | |
CN117528431B (zh) | 一种通信平台的数据监控方法、装置和终端设备 | |
US20190130492A1 (en) | Systems and methods for detecting fraudulent healthcare claim activity | |
CN117454383A (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 |