[发明专利]业务执行方法、服务器和计算机系统有效
申请号: | 201210156203.0 | 申请日: | 2012-05-18 |
公开(公告)号: | CN102681854A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | 李祥 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务 执行 方法 服务器 计算机系统 | ||
技术领域
本发明涉及通信技术,尤其涉及一种业务执行方法、服务器和计算机系统。
背景技术
随着软件规模的增大,软件系统的复杂性在增大,其内部的各个业务组件或者模块之间的耦合日益严重,成为了制约软件发展的阻力,这一阻力使得软件系统的维护成本不断上升,不利于软件系统的健康成长。
引入规则引擎可以使得业务的逻辑控制的代码不再固化在组件的代码中,而是使用业务规则来代替,规则引擎(Rules Engine;以下简称:RE)通过对业务规则(Business Rules;以下简称:BR)的解析和执行来调度每个组件的运行,原本每个业务组件提供的业务功能的逻辑控制代码迁移到业务规则中实现,在BR中完成对各个业务组件的应用程序接口(Application Programming Interface;以下简称:API)调用,而原先提供这个功能的业务组件只需要完成自身的业务接口,不再依赖其他业务组件的接口实现。整个业务逻辑的调度和运行由RE来负责,使得各个组件在开发的时候不再有依赖关系,只在运行时有业务依赖。
现有技术中,BR脚本都是符合Java规范请求94(Java Specification Requests 94;以下简称:JSR94)的规则脚本,换言之,即业务规则脚本不通用,因此在对异构编程语言的软件系统进行集成时有很大的障碍,例如:难以集成基于超级文本预处理语言(Hypertext Preprocessor;以下简称:PHP)、python、JavaScript、ruby等脚本开发的软件系统,以及C/C++等开发的二进制代码。
发明内容
本发明实施例提供一种业务执行方法、服务器和计算机系统,以实现在异构的编程语言环境下进行业务的快速集成。
本发明实施例一方面提供一种业务执行方法,包括:
接收客户端发送的业务请求;
在匹配规则集合中查找到所述业务请求对应的匹配规则条件之后,根据所述匹配规则条件获得与所述匹配规则条件对应的业务规则脚本,所述业务规则脚本包括至少两个业务逻辑子脚本,所述至少两个业务逻辑子脚本分别对应不同的脚本类型,所述脚本类型表示实现业务逻辑子脚本的编程语言;
根据所述至少两个业务逻辑子脚本中待处理的业务逻辑子脚本中的脚本类型指示信息确定所述待处理的业务逻辑子脚本的类型,将所述待处理的业务逻辑子脚本传递给至少两个脚本执行引擎中与所述待处理的业务逻辑子脚本的类型对应的脚本执行引擎,使得所述对应的脚本执行引擎执行所述待处理的业务逻辑子脚本得到需要调用的业务组件的应用程序接口;
接收所述对应的脚本执行引擎传递的所述需要调用的业务组件的应用程序接口和所述需要调用的业务组件的类型,通过所述需要调用的业务组件的类型对应的执行引擎调用所述需要调用的业务组件的应用程序接口,向所述对应的脚本执行引擎返回所述需要调用的业务组件的应用程序接口的调用结果。
本发明实施例另一方面提供一种服务器,包括:引擎控制器、规则引擎、至少两个脚本执行引擎和执行引擎;
所述规则引擎,用于接收客户端发送的业务请求,在匹配规则集合中查找与所述业务请求对应的匹配规则条件,根据所述匹配规则条件获得与所述匹配规则条件对应的业务规则脚本,并将所述业务规则脚本传递给所述引擎控制器;所述业务规则脚本包括至少两个业务逻辑子脚本,所述至少两个业务逻辑子脚本分别对应不同的脚本类型,所述脚本类型表示实现业务逻辑子脚本的编程语言;
所述引擎控制器,用于根据所述至少两个业务逻辑子脚本中待处理的业务逻辑子脚本中的脚本类型指示信息确定所述待处理的业务逻辑子脚本的类型,将所述待处理的业务逻辑子脚本传递给所述至少两个脚本执行引擎中与所述待处理的业务逻辑子脚本的类型对应的脚本执行引擎;以及接收所述对应的脚本执行引擎传递的需要调用的业务组件的应用程序接口和所述需要调用的业务组件的类型,通过所述需要调用的业务组件的类型对应的执行引擎调用所述需要调用的业务组件的应用程序接口,向所述对应的脚本执行引擎返回所述需要调用的业务组件的应用程序接口的调用结果;
所述至少两个脚本执行引擎中与所述待处理的业务逻辑子脚本的类型对应的脚本执行引擎,用于接收所述引擎控制器传递的所述待处理的业务逻辑子脚本,执行所述待处理的业务逻辑子脚本得到需要调用的业务组件的应用程序接口,将所述需要调用的业务组件的应用程序接口和所述需要调用的业务组件的类型传递给所述引擎控制器,以及接收所述引擎控制器返回的所述需要调用的业务组件的应用程序接口的调用结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210156203.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:空调室内机的面板
- 下一篇:一种飞机辅助动力装置排气引射系统