[发明专利]一种基于动态语言的业务逻辑执行系统及方法有效
申请号: | 201811623920.3 | 申请日: | 2018-12-28 |
公开(公告)号: | CN109739482B | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | 张建虎;汪青峰;姜金旺;夏森丽;张桂权;植东梧;王昊;廖瀚文;唐强;曾懿;肖辉春;李佳丽;陈亮;程相凯 | 申请(专利权)人: | 杭州东信北邮信息技术有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310013 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 语言 业务 逻辑 执行 系统 方法 | ||
一种基于动态语言的业务逻辑执行系统及方法,包括多个业务逻辑执行装置,每个业务逻辑执行装置包括调度单元和多个业务虚拟机:调度单元,接收命令请求,并根据业务和虚拟机映射表,将命令请求加入到对应的业务虚拟机的命令请求缓冲区内,每个业务虚拟机包括:业务虚拟机线程,定时查看命令请求缓冲区内是否有新的命令请求,当有新的命令请求、且空闲协程队列中有空闲协程时,从空闲协程队列中提取一个协程对象,然后将新的命令请求数据注入到被提取的协程中;命令请求缓冲区,保存命令请求;空闲协程队列,保存业务虚拟机的空闲协程。本发明属于信息技术领域,能为大规模应用系统提供一个高可靠、高稳定的业务逻辑执行环境。
技术领域
本发明涉及一种基于动态语言的业务逻辑执行系统及方法,属于信息技术领域。
背景技术
随着互联网技术的快速发展,基于动态语言(如Lua语言)的业务逻辑开发已得到广泛的应用,并成为许多大规模业务系统的主流开发模式。为保证业务系统的高可用性、高性能和方便维护,通常需要一个非常稳定的业务逻辑执行环境作为支撑。
如何给业务逻辑层提供一个高可靠稳定的执行环境?目前也有一些简单的实现方法:
首先,将动态语言嵌入到一个特定的虚拟机中动态执行,可以在业务逻辑出错时,重启虚拟机,然后重新加载业务;
其次,在业务中尽量编写简单的逻辑,防止出现与第三方系统之间非常耗时的调用逻辑导致业务请求大量堆积而严重影响系统性能的情况。同时,通过硬件及网络优化等手段,确保与业务逻辑交互的其他系统(数据库等)能够快速的响应业务请求;
最后,通过手工给系统发信号令其重新加载配置的手段,实现被动的业务逻辑升级。
以上这些简单的实现方式对于一般小规模的系统来说是可行的,但是对于大规模(例如上百的开发人员,承载几十甚至几百个复杂业务)的业务逻辑执行环境实现来说还是非常捉襟见肘的。
因此,如何为大规模的应用系统提供一个高可靠、高稳定的业务逻辑执行环境,已成为技术人员急需解决的技术问题。
发明内容
有鉴于此,本发明的目的是提供一种基于动态语言的业务逻辑执行系统及方法,能为大规模的应用系统提供一个高可靠、高稳定的业务逻辑执行环境。
为了达到上述目的,本发明提供了一种基于动态语言的业务逻辑执行系统,包括有多个业务逻辑执行装置,每个业务逻辑执行装置包括有调度单元和多个加载不同业务的业务虚拟机:
调度单元,用于接收外部装置发送来的命令请求,并从命令请求中提取业务名,然后根据业务和虚拟机映射表,将所述命令请求加入到对应的业务虚拟机的命令请求缓冲区内,
每个业务虚拟机内预置若干数量的协程,业务虚拟机进一步包括有:
业务虚拟机线程,用于定时查看自身的命令请求缓冲区内是否有新的命令请求,当命令请求缓冲区内有新的命令请求、且自身的空闲协程队列中有空闲的协程时,从空闲协程队列中提取一个协程对象,然后将新的命令请求数据注入到被提取的协程中,由被提取的协程执行对应的业务逻辑;
命令请求缓冲区,用于保存由调度单元发送过来的命令请求;
空闲协程队列,用于保存业务虚拟机的当前为空闲状态的协程,
业务虚拟机还包括有:
协程,用于执行业务逻辑,在执行业务逻辑过程中向外部装置发送调用消息后,修改自身状态为挂起状态,并加入到挂起协程队列中,再由业务虚拟机线程继续执行其他已就绪的协程;
响应事件缓冲区,用于保存协程在执行业务逻辑处理过程中向外部装置发送调用消息后,外部装置所返回的响应事件消息;
挂起协程队列,用于保存业务虚拟机的当前为挂起状态的协程,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州东信北邮信息技术有限公司,未经杭州东信北邮信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811623920.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:生成交互式应用程序的方法及系统
- 下一篇:用于生成语句的方法和装置