在线计价方法、装置、设备及存储介质制造方法及图纸

技术编号:32858069 阅读:16 留言:0更新日期:2022-03-30 19:32
本申请是关于一种在线计价方法、装置、设备及存储介质,具体涉及金融计算领域。所述方法包括:获取目标交易数据与目标公式语句;当检测到缓存中存在目标公式语句的JAVA类时,调用目标公式语句所对应的JAVA类,对目标交易数据进行处理以获得目标计价结果,目标公式语句所对应的JAVA类为加载目标公式语句对应的JAVA字节码文件得到的;JAVA字节码文件是基于目标公式语句的逆波兰表达式中,运算符以及运算分量的排列顺序生成的。上述方案将编译过程以及计算过程分开,避免计算机设备解释一句再执行一句的繁琐操作,简化了计算逻辑,提高了在线计价的运算速度。在线计价的运算速度。在线计价的运算速度。

【技术实现步骤摘要】
在线计价方法、装置、设备及存储介质


[0001]本专利技术涉及金融计算领域,具体涉及一种在线计价方法、装置、设备及存储介质。

技术介绍

[0002]在线计价是采用互联网技术将计价过程搬到线上进行操作,具有一次操作各处都能查看的特点,支持对计价文件进行协同修改等优点。
[0003]在线计价计算过程中,除了固定的计算逻辑,在费用组成、费用汇总等业务还涉及到对特定的公式进行结果的计算。目前,为了实现在线计价,可以通过解释执行的计算引擎对公式进行计算并得到计算结果。解释执行不依赖于平台,因为编译器会根据不同的平台进行解析,它将源语言直接作为源程序输入,解释执行解释一句后就提交计算机执行一句,并不形成目标程序。
[0004]上述方案中,通过解释执行的计算引擎对公式进行计算,计算逻辑复杂,运行速度较慢。

技术实现思路

[0005]本申请提供了一种在线计价方法、装置、设备及存储介质,提高了在线计价的运算速度,该技术方案如下。
[0006]一方面,提供了一种在线计价方法,所述方法包括:
[0007]获取目标交易数据与目标公式语句;
[0008]当检测到缓存中存在所述目标公式语句的JAVA类时,调用所述目标公式语句所对应的JAVA类,对所述目标交易数据进行处理以获得目标计价结果;
[0009]其中,所述目标公式语句所对应的JAVA类为加载所述目标公式语句对应的JAVA字节码文件得到的;所述JAVA字节码文件是基于所述目标公式语句的逆波兰表达式中,运算符以及运算分量的排列顺序生成的。
[0010]又一方面,提供了一种在线计价装置,所述装置包括:
[0011]公式获取模块,用于获取目标交易数据与目标公式语句;
[0012]类调用模块,用于当检测到缓存中存在所述目标公式语句的JAVA类时,调用所述目标公式语句所对应的JAVA类,对所述目标交易数据进行处理以获得目标计价结果;
[0013]其中,所述目标公式语句所对应的JAVA类为加载所述目标公式语句对应的JAVA字节码文件得到的;所述JAVA字节码文件是基于所述目标公式语句的逆波兰表达式中,运算符以及运算分量的排列顺序生成的。
[0014]在一种可能的实现方式中,所述装置还包括:
[0015]表达式获取模块,用于当检测到所述缓存中不存在所述目标公式语句对应的JAVA类时,对所述目标公式语句中的运算分量与运算符进行标注,获得所述目标公式语句的逆波兰表达式;
[0016]字节码文件生成模块,用于按照所述逆波兰表达式中运算分量与运算符的排列顺
序,生成所述JAVA字节码文件,并对应加载为所述目标公式语句所对应的JAVA类。
[0017]在一种可能的实现方式中,所述字节码文件生成模块,还用于,
[0018]遍历所述逆波兰表达式,当遍历到目标运算分量时,将所述运算分量封装为JAVA字节码置于JAVA字节码暂存列表;
[0019]当遍历到目标运算符时,在所述JAVA字节码暂存列表中对应取出JAVA字节码,与所述目标运算符的JAVA字节码进行拼接,并将拼接后的JAVA字节码置于JAVA字节码暂存列表;
[0020]基于遍历所述逆波兰表达式得到的所述JAVA字节码暂存列表中的JAVA字节码,生成所述JAVA字节码文件。
[0021]在一种可能的实现方式中,所述逆波兰表达式中还包括目标函数;
[0022]所述字节码文件生成模块,还用于,
[0023]当遍历到目标函数时,根据所述目标函数名称,在所述JAVA字节码暂存列表中对应取出JAVA字节码,并与所述调用所述目标函数的JAVA字节码拼接为调用函数格式的JAVA字节码;
[0024]将所述调用函数格式的JAVA字节码置于所述JAVA字节码暂存列表。
[0025]在一种可能的实现方式中,所述装置还包括:
[0026]逆波兰表达式读取模块,用于获取所述逆波兰表达式中的目标运算符,以及所述目标操作符所对应的运算分量;
[0027]第一检测模块,用于检测所述运算分量的数据类型,与所述目标运算符的执行数据类型是否匹配,若不匹配则生成第一错误消息。
[0028]在一种可能的实现方式中,所述装置还包括:
[0029]第二检测模块,用于当所述逆波兰表达式中存在目标函数时,检测所述目标函数的函数名是否存在,若不存在则生成第二错误消息。
[0030]在一种可能的实现方式中,所述装置还包括:
[0031]函数参数分析模块,用于获取所述目标函数的参数定义数量,以及所述目标函数的参数调用数量;
[0032]第三检测模块,用于当所述目标函数的参数定义数量与参数调用数量不相同时,则生成第三错误消息。
[0033]再一方面,提供了一种计算机设备,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述在线计价方法。
[0034]又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的在线计价方法。
[0035]再一方面,提供了一种计算机程序产品还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的在线计价方法。
[0036]本申请提供的技术方案可以包括以下有益效果:
[0037]在进行在线计价前,计算机设备构建目标公式语句的逆波兰表达式,从而表征出
目标公式语句的运算顺序;计算机设备再根据逆波兰表达式中的运算顺序,编译并封装为JAVA字节码文件,并对应的生成JAVA类以保存在计算机设备的缓存中,此时计算机设备需要对目标交易数据进行计算时,可以直接调用该JAVA类对目标交易数据进行数据计算,将编译过程以及计算过程分开,避免计算机设备解释一句再执行一句的繁琐操作,简化了计算逻辑,提高了在线计价的运算速度。
附图说明
[0038]为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1是根据一示例性实施例示出的一种在线计价系统的结构示意图。
[0040]图2是根据一示例性实施例示出的在线计价方法的方法流程图。
[0041]图3是根据一示例性实施例示出的在线计价方法的方法流程图。
[0042]图4示出了一种逆波兰表达式的转换流程图。
[0043]图5示出了本申请实施例涉及的一种在线计价方法的流程方框图。...

【技术保护点】

【技术特征摘要】
1.一种在线计价方法,其特征在于,所述方法包括:获取目标交易数据与目标公式语句;当检测到缓存中存在所述目标公式语句的JAVA类时,调用所述目标公式语句所对应的JAVA类,对所述目标交易数据进行处理以获得目标计价结果;其中,所述目标公式语句所对应的JAVA类为加载所述目标公式语句对应的JAVA字节码文件得到的;所述JAVA字节码文件是基于所述目标公式语句的逆波兰表达式中,运算符以及运算分量的排列顺序生成的。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:当检测到所述缓存中不存在所述目标公式语句对应的JAVA类时,对所述目标公式语句中的运算分量与运算符进行标注,获得所述目标公式语句的逆波兰表达式;按照所述逆波兰表达式中运算分量与运算符的排列顺序,生成所述JAVA字节码文件,并对应加载为所述目标公式语句所对应的JAVA类。3.根据权利要求2所述的方法,其特征在于,所述按照所述逆波兰表达式中运算分量与运算符的排列顺序,生成所述JAVA字节码文件,包括:遍历所述逆波兰表达式,当遍历到目标运算分量时,将所述运算分量封装为JAVA字节码置于JAVA字节码暂存列表;当遍历到目标运算符时,在所述JAVA字节码暂存列表中对应取出JAVA字节码,与所述目标运算符的JAVA字节码进行拼接,并将拼接后的JAVA字节码置于JAVA字节码暂存列表;基于遍历所述逆波兰表达式得到的所述JAVA字节码暂存列表中的JAVA字节码,生成所述JAVA字节码文件。4.根据权利要求3所述的方法,其特征在于,所述逆波兰表达式中还包括目标函数;所述生成所述JAVA字节码文件之前,还包括:当遍历到目标函数时,根据所述目标函数名称,在所述JAVA字节码暂存列表中对应取出JAVA字节码,并与所述调用所述目标函数的JAVA字节码拼接为调用函数格式的JAVA字节码;将所述调用函数格式的JAVA字节码置于所述JAVA字节码暂存列表...

【专利技术属性】
技术研发人员:王洪岐
申请(专利权)人:广联达科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1