[发明专利]用于标识表达式计算路径的方法在审
申请号: | 202210849773.1 | 申请日: | 2022-07-19 |
公开(公告)号: | CN115169290A | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 汪宏斌;杨敏健;陈述;贾浩;陈美秋 | 申请(专利权)人: | 上海中汇亿达金融信息技术有限公司 |
主分类号: | G06F40/143 | 分类号: | G06F40/143;G06F40/117 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 亓云;顾嘉运 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 标识 表达式 计算 路径 方法 | ||
本申请公开了一种用于标识表达式计算路径的方法,该方法包括:获取Fel引擎表达式规范的表达式;从该表达式中提取一个或多个变量,并获取该变量的定义值和当前值;基于该表达式、该定义值和该当前值来计算并输出表达式树;若该计算结果为真,则遍历该表达式树以生成具有业务含义且具有标识的表达式树的文字描述;以及若该计算结果为假,则继续获取下一表达式,并重复上述步骤。
技术领域
本申请涉及带流程条件的流程审批控制领域,并且更为具体地,涉及一种用于标识表达式计算路径的方法。
背景技术
如众所周知的,Fel轻量级高效的表达式计算引擎。Fel源自于企业项目,其设计目的是为了满足不断变化的功能需求和性能需求。Fel是开放的,其引擎执行中的多个模块都可以扩展或替换。Fel的执行主要是通过函数实现运算符(例如,+、-等都是Fel函数)。所有这些函数都是可以替换的,扩展函数也非常简单。
Fel具有双引擎,同时支持解释执行和编译执行。可以根据性能要求选择执行方式。编译执行就是将表达式编译成字节码(生成java代码和编译模块都是可以扩展和替换的)。
在流程控制中,后台根据流程条件对流程中输入的变量进行计算。如果满足流程条件,即可进入审批流程的下一阶段。用户界面用于向用户展示进入此审批阶段的原因(即,流程条件表达式)。表达式中满足设置条件的部分被高亮展示,以向用户做出提示。
然而,现有技术只能满足得到整个表达式的计算结果,却无法精细化地得到表达式树的各个节点的计算结果。因此,在冗长的表达式计算中不能看到表达式的各段的计算结果,从而无法判断究竟是哪些变量不满足当前条件。
因此,本领域中急需一种能够对表达式的计算路径进行显式标识,从而能够使用户根据标识结果对不符合要求的变量进行修改,以使表达式顺利通过的方法。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在标识出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以作为稍后给出的更加详细的描述之序。
如上,现有技术无法满足向客户展示业务含义的表达式的各个节点的结果的需求。为了解决上述问题,本申请提出了一种用于标识表达式的计算路径的方法。该方法能够通过遍历Fel计算引擎返回的表达式树节点,对计算结果为T(真)的节点,通过增加HTML来增加颜色标识,从而能够实现表达式的关键节点的高亮显示。基于此,用户就能够确认究竟是表达式中哪些变量出现了问题导致无法满足表达式,从而进行相应的适配,以保证审批流程的正常进行。
根据一示例,描述了一种用于标识表达式计算路径的方法。
该方法包括:获取Fel引擎表达式规范的表达式;
从该表达式中提取一个或多个变量,并获取该变量的定义值和当前值;
基于该表达式、该定义值和该当前值来计算并输出表达式树;
若该计算结果为真,则遍历该表达式树以生成具有业务含义且具有标识的表达式树的文字描述;以及
若该计算结果为假,则继续获取下一表达式,并重复上述步骤。
根据本申请的优选实施例,该表达式树具有各节点的计算结果。
根据本申请的优选实施例,该标识基于该表达式树的节点计算结果。
根据本申请的优选实施例,该标识用于区分计算结果为真的节点和计算结果为假的节点。
根据本申请的优选实施例,通过增加HTML来增加该表达式树的颜色标识以区分该表达式树的关键节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海中汇亿达金融信息技术有限公司,未经上海中汇亿达金融信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210849773.1/2.html,转载请声明来源钻瓜专利网。