【技术实现步骤摘要】
表达式处理方法、电子装置及存储介质
本专利技术涉及数据处理领域,尤其涉及一种表达式处理方法、电子装置及存储介质。
技术介绍
目前,为了满足企业项目中不断变化的功能需求和业务需求,业务数据的计算表达式也越来越复杂,其要求计算的场景越来越多,如果直接对某个场景的计算表达式写具体的代码实现,则本次的计算实现并不能支持其他场景的方案。为了避免多种个性化计算不可扩展,难以维护等问题,急需一种高扩展、灵活且通用的表达式处理方法来解决上述问题。
技术实现思路
鉴于以上内容,本专利技术提供一种表达式处理方法、电子装置及存储介质,其目的在于解决现有技术中计算表达式不可扩展,难以维护的技术问题。为实现上述目的,本专利技术提供一种表达式处理方法,该方法包括:接收步骤:接收用户发出的数据计算请求,获取所述请求中待计算数据的标识,根据所述标识从预设的配置文件中获取待计算数据对应的计算表达式,对所述计算表达式的预定义变量进行顺序标记,基于所述计算表达式的初始数值将标记后的预定义变量转换成中间变量生成中间变量表达式,并将所述预定义变量添加至预设表达式列表;计算步骤:基于所述预设表达式列表解析所述计算表达式的预定义变量,基于该预定义变量的标识从预设数据库分别查找各个预定义变量的计算方式,基于查找到的计算方式对该预定义变量执行计算,得到各个预定义变量的结果值;编译步骤:根据所述顺序标记将预定义变量的结果值赋值给所述中间变量表达式的中间变量,并将赋值后的中间变量表达式编译成表达式字节码;及反馈 ...
【技术保护点】
1.一种表达式处理方法,应用于电子装置,其特征在于,所述方法包括:/n接收步骤:接收用户发出的数据计算请求,获取所述请求中待计算数据的标识,根据所述标识从预设的配置文件中获取待计算数据对应的计算表达式,对所述计算表达式的预定义变量进行顺序标记,基于所述计算表达式的初始数值将标记后的预定义变量转换成中间变量生成中间变量表达式,并将所述预定义变量添加至预设表达式列表;/n计算步骤:基于所述预设表达式列表解析所述计算表达式的预定义变量,基于该预定义变量的标识从预设数据库分别查找各个预定义变量的计算方式,基于查找到的计算方式对该预定义变量执行计算,得到各个预定义变量的结果值;/n编译步骤:根据所述顺序标记将预定义变量的结果值赋值给所述中间变量表达式的中间变量,并将赋值后的中间变量表达式编译成表达式字节码;及/n反馈步骤:根据所述预定义变量的结果值及所述表达式字节码,调用计算引擎执行计算得到目标结果,将所述目标结果反馈至用户。/n
【技术特征摘要】
1.一种表达式处理方法,应用于电子装置,其特征在于,所述方法包括:
接收步骤:接收用户发出的数据计算请求,获取所述请求中待计算数据的标识,根据所述标识从预设的配置文件中获取待计算数据对应的计算表达式,对所述计算表达式的预定义变量进行顺序标记,基于所述计算表达式的初始数值将标记后的预定义变量转换成中间变量生成中间变量表达式,并将所述预定义变量添加至预设表达式列表;
计算步骤:基于所述预设表达式列表解析所述计算表达式的预定义变量,基于该预定义变量的标识从预设数据库分别查找各个预定义变量的计算方式,基于查找到的计算方式对该预定义变量执行计算,得到各个预定义变量的结果值;
编译步骤:根据所述顺序标记将预定义变量的结果值赋值给所述中间变量表达式的中间变量,并将赋值后的中间变量表达式编译成表达式字节码;及
反馈步骤:根据所述预定义变量的结果值及所述表达式字节码,调用计算引擎执行计算得到目标结果,将所述目标结果反馈至用户。
2.如权利要求1所述的表达式处理方法,其特征在于,所述基于查找到的计算方式对该预定义变量执行计算,得到各个预定义变量的结果值包括:
解析所述计算表达式的预定义变量,得到具有执行顺序的多个操作对象。
3.如权利要求2所述的表达式处理方法,其特征在于,所述解析所述计算表达式的预定义变量,得到具有执行顺序的各操作对象包括:
调用表达式解析器对所述表达式的预定义变量进行解析,确定所述表达式的预定义变量的字符串类型;
根据所述字符串类型,调用与所述字符串类型对应的字符串解析器对所述表达式字符串进行解析,得到所述具有执行顺序的多个操作对象,基于所述执行顺序依次执行多个操作对象,得到各所述预定义变量的结果值。
4.如权利要求3所述的表达式处理方法,其特征在于,所述基于所述执行顺序依次执行多个操作对象包括:
判断所述操作对象是否为操作符,当所述操作对象不为操作符时,将所述操作对象对应的操作值存储至预设的栈中;
当所述操作对象为操作符时,从预设函数对象库中调用所述操作符对应的函数对象对从所述预设的栈中获取的操作值进行运算,将运算后的操作值存储至所述预设的栈中。
5.如权利要求1至4所述的表达式处理方法,其特征在于,所述编译步骤包括:
将所述中间表达式编译成表达式字节码后,将所述中间表达式存储至预设内存池。
6.一种电子装置,该电子装置...
【专利技术属性】
技术研发人员:宋和贵,阳灿,
申请(专利权)人:招商局金融科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。