[发明专利]一种业务规则的处理方法及装置有效

专利信息
申请号: 201910503129.7 申请日: 2019-06-11
公开(公告)号: CN112068815B 公开(公告)日: 2022-03-29
发明(设计)人: 阮华斌;刘展宏 申请(专利权)人: 华为技术有限公司
主分类号: G06F8/30 分类号: G06F8/30
代理公司: 北京润泽恒知识产权代理有限公司 11319 代理人: 王洪
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 业务 规则 处理 方法 装置
【说明书】:

本申请提供一种业务规则的处理方法及装置。该方法包括:获得输入的用于表征业务规则的因子表达式;解析因子表达式,生成对应的第一表达式节点链;获得第一表达式节点链中各个节点对应的因子描述文件和操作符函数,其中,因子描述文件为当前程序语言执行环境所对应的可执行脚本,操作符函数为当前程序语言执行环境所对应的可执行函数;遍历第一表达式节点链中各个节点,根据各个节点对应的因子描述文件和操作符函数,计算并输出因子表达式的值,因子表达式的值用于表示业务规则的执行结果。在本申请中,通过采用当前程序语言执行环境下能够执行的脚本和函数来对表征业务规则的因子表达式进行计算,使得业务规则可以实现跨编程语言执行。

技术领域

本申请涉及计算机技术领域,特别涉及一种业务规则的处理方法及装置。

背景技术

现在的互联网应用系统,特别是电信运营领域的客户关系管理(customerrelationship management,CRM)系统,面临着用户量大、硬件成本高、业务功能复杂、人们对服务响应时间的要求越来越高等问题。

通常,CRM系统是基于服务进行开发与部署的,例如采用微服务开发方式,这样,业务功能聚合到不同的服务中,并且由不同的开发团队负责开发或维护。每个服务根据自己承载的功能选择相应的编程语言。由于很多业务规则(比如:校验规则)在后台执行的同时也需要在用户设备执行,而后台和用户设备使用不同的编程语言,这样就使得对于同一个业务规则,需要编写一份可以在用户设备上执行的规则,同时再编写一份或多份可以在后台执行的规则,导致开发或维护的工作量成倍增加,进而无法实现业务规则的跨编程语言执行。

发明内容

本申请提供了一种业务规则的处理方法及装置,以实现业务规则的跨编程语言执行。

第一方面,本申请提供一种业务规则的处理方法,包括:获得输入的用于表征业务规则的因子表达式;解析所述因子表达式,生成对应的第一表达式节点链;获得所述第一表达式节点链中各个节点对应的因子描述文件和操作符函数,其中,所述因子描述文件为当前程序语言执行环境所对应的可执行脚本,所述操作符函数为当前程序语言执行环境所对应的可执行函数;遍历所述第一表达式节点链中各个节点,根据所述各个节点对应的因子描述文件和操作符函数,计算并输出所述因子表达式的值,所述因子表达式的值用于表示所述业务规则的执行结果。

在本申请中,通过采用当前程序语言执行环境下能够执行的脚本和函数来对表征业务规则的因子表达式进行计算,使得业务规则可以实现跨编程语言执行,达到一份业务规则可以在不同的设备上执行的目的,有效降低了开发与维护的工作量。

基于第一方面,在一些可能的实施方式下,所述解析所述因子表达式,生成对应的第一表达式节点链,包括:对所述因子表达式进行词法分析,获得N个单词,N为正整数;遍历所述N个单词,判断所述N个单词中的各个单词是否为预设元素,并根据判断结果,生成所述第一表达式节点链。

在本申请中,表达式节点链为因子表达式引擎内部的数据结构,用来描述因子表达式

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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