[发明专利]一种基于参数类型的表达式处理方法、设备及存储介质在审

专利信息
申请号: 202310021452.7 申请日: 2023-01-07
公开(公告)号: CN116070590A 公开(公告)日: 2023-05-05
发明(设计)人: 赵志武;甘云锋;江敏;高雁冰 申请(专利权)人: 杭州数澜科技有限公司
主分类号: G06F40/12 分类号: G06F40/12
代理公司: 杭州天昊专利代理事务所(特殊普通合伙) 33283 代理人: 何碧珩
地址: 311100 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 参数 类型 表达式 处理 方法 设备 存储 介质
【说明书】:

发明涉及信息技术处理技术领域,提供一种基于参数类型的表达式处理方法、设备及存储介质,本发明的表达式解析与表达式计算分步进行,可以自由调整计算范围和计算容忍度,可实现缺失参数值的表达式不参与计算等场景的业务;本发明可支持多种场景,可以同时实现表达式计算和参数替换,不需要在该业务场景下选择多种不同实现或拆分多步骤进行。本发明具有良好的拓展性,基于参数类型的拓展设计,可以自由定制丰富更多支持的参数类型,从而提升技术实现的便利性,降低业务实现技术成本。

技术领域

本发明涉及信息技术处理技术领域,特别涉及一种基于参数类型的表达式处理方法、设备及存储介质。

背景技术

在信息技术处理领域中,表达式是程序处理信号控制、业务逻辑等内容重要的实现方法。在不同的场景中有着各种对应特点的表达式实现,如:JEP、Expression4J、commons-text、EL等,其中JEP、Expression4J专攻数学表达式方面的处理;commons-text则擅长文本表达式的处理;EL则较为综合,既能实现一定程度的数学表达式计算,也能实现文本的格式化处理。

但上述处理方法均有以下弱点:

一、应用场景上较为单一,在表达式计算、参数替换综合性场景无法通过同一个表达式处理实现进行应用,需拆解成多步进行。

二、 容错性较低,执行环境需要备齐所有参与计算的参数值,缺失情况下则会导致失败,且无法自由切换复杂表达式计算的容忍度。

三、拓展性不佳,个性化的参数值以及计算逻辑无法通过拓展的方式予以实现。

发明内容

本发明提供一种基于参数类型的表达式处理方法设备及存储介质,其主要目的在于实现复杂的表达式计算与参数替换的功能,同时能够支持参数类型、运算逻辑的拓展需求。

为了实现上述目的,本发明提供以下技术方案:

本发明提供一种基于参数类型的表达式处理方法,所述处理方法包括:

(1)输入待解析的表达式;

(2)解析表达式,获得表达式对象列表,表达式对象列表以AST树结构描述;

(3)设置全局的参数访问器以及参数计算处理器;为后续的参数值提取和参数逻辑计算提供支持;也可拓展实现配置点,新增的参数类型访问实现、参数计算处理实现都需要在运算前进行配置处理。

(4)外部输入参与运算的全局参数列表,所述全局参数列表也用于参数替换;全局参数列表包括基本类型的数据和复杂类型的参数数据;基本类型的数据包括整数、浮点数、文本等;复杂类型的参数数据包括JavaBean、Map等;

(5)对表达式对象列表循环逐个进行计算处理,计算处理过程包括参数值访问提取和表达式参数计算。

进一步的,所述表达式至少包括字段、运算符、或者函数中的一种或者多种。

进一步的,所述表达式对象AST数据结构以计算符对象、变量替换对象、固定文本其中一种对象作为顶点,以参数对象或计算符对象(表达式嵌套多层结构时)为子节点。变量替换对象、参数对象中存储提取出来的具体变量名。

进一步的,步骤(2)中,所述参数访问器和参数计算处理器与参数值类型对应相关。

进一步的,步骤(5)中具体的操作步骤为:

(51)从表达式对象列表提取单个表达式对象和参数列表;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州数澜科技有限公司,未经杭州数澜科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202310021452.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top