Lua脚本热更新方法及系统技术方案

技术编号:6603562 阅读:1760 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开一种Lua脚本热更新方法及系统,以提高系统的运行稳定性。其方法包括:Lua脚本管理器加载Lua脚本,并通过Lua虚拟机链接及解释Lua脚本,在加载Lua脚本时将需要的数据结构初始化并将初始数据保存在全局数据管理器中,以及在lua虚拟机中命名Lua脚本的第一模块名;当Lua脚本出现故障时,Lua脚本管理器将该故障Lua脚本相应的第一模块名置为空,并卸载该故障Lua脚本;在该故障Lua脚本的业务逻辑修复后,使令Lua脚本管理器重新加载Lua脚本,Lua脚本管理器在lua虚拟机先前置空的第一模块名中重新写入该Lua脚本的模块名。该方法及系统可以广泛地应用于电话语音等各种大型的娱乐社区中。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种Lua脚本热更新的方法及系统。
技术介绍
为了打造大型的电话语音娱乐社区,提供高质量的服务,我们需要的是一个7* 小时不间断工作的系统。但是在以前的实际应用中在出现业务流程的错误后必须重新编译整个程序进行更换,比如某个菜单按1号键和按2号键进入的对应板块错误,那么程序员需要先修改由C++编写的程序,然后经过长时间的编译后进行测试,测试无误以后再进行发布,发布更换程序的过程中需要中断服务程序导致用户终止使用、被迫下线直至程序启动完毕,使得用户的体验大打折扣,处理问题实时性下降。另一方面,电话语音娱乐社区是个需求多变的娱乐平台,在用户和设计人员不断提出新的需求时,如何在不间断对用户服务的基础上更新系统,也是一个急需解决的问题。
技术实现思路
本专利技术的主要目的在于公开一种Lua脚本热更新方法及系统,以提高电话语音等各种大型的娱乐社区系统的运行稳定性,打造成为高质量的娱乐社区平台。为达上述目的,本专利技术公开一种Lua脚本热更新方法,包括以下步骤启动主程序,所述主程序中嵌入有Lua脚本管理器和Lua虚拟机,并在所述Lua虚拟机中建立一个全局数据本文档来自技高网...

【技术保护点】
1.一种Lua脚本热更新方法,其特征在于,包括以下步骤:启动主程序,所述主程序中嵌入有Lua脚本管理器和Lua虚拟机,并在所述Lua虚拟机中建立一个全局数据管理器;所述Lua脚本管理器加载Lua脚本,并通过所述Lua虚拟机链接及解释所述Lua脚本,在加载Lua脚本时将需要的数据结构初始化并将初始数据保存在所述全局数据管理器中,以及在所述lua虚拟机中命名所述Lua脚本的第一模块名;运行中,各个lua脚本直接引用所述全局数据管理器中的数据结构存放运行数据;当Lua脚本出现故障时,所述Lua脚本管理器将该故障Lua脚本相应的第一模块名置为空,并卸载该故障Lua脚本;在该故障Lua脚本的业务逻辑修复...

【技术特征摘要】
1.一种Lua脚本热更新方法,其特征在于,包括以下步骤启动主程序,所述主程序中嵌入有Lua脚本管理器和Lua虚拟机,并在所述Lua虚拟机中建立一个全局数据管理器;所述Lua脚本管理器加载Lua脚本,并通过所述Lua虚拟机链接及解释所述Lua脚本, 在加载Lua脚本时将需要的数据结构初始化并将初始数据保存在所述全局数据管理器中, 以及在所述Iua虚拟机中命名所述Lua脚本的第一模块名;运行中,各个Iua脚本直接引用所述全局数据管理器中的数据结构存放运行数据;当Lua脚本出现故障时,所述Lua脚本管理器将该故障Lua脚本相应的第一模块名置为空,并卸载该故障Lua脚本;在该故障Lua脚本的业务逻辑修复后,使令所述Lua脚本管理器重新加载所述Lua脚本,所述Lua脚本管理器在所述Iua虚拟机先前置空的第一模块名中重新写入该Lua脚本的模块名;业务逻辑故障修复后的Lua脚本从所述全局数据管理器中将相关数据引用为局部变量恢复使用。2.根据权利要求1所述的Lua脚本热更新方法,其特征在于,所述全局数据管理器记录有各Lua脚本的第二模块名,以作为索引供业务逻辑故障修复后的Lua脚本引用相关数据;其中,所述Lua脚本管理器在所述Iua虚拟机中首次命名所述Lua脚本的第一模块名时,也在所述全局数据管理器中同步命名该Lua脚本的第二模块名;且后续所述Lua脚本管理器在升级或故障维护该Lua脚本时,继续保留该Lua脚本对应的第二模块名。3.根据权利要求1或2所述的Lua脚本热更新方法,其特征在于,业务逻辑故障修复后的Lua脚本从所述全局数据管理器中将相关数据引用为局部变量恢复使用之前还包括运维人员检查所述全局数据管理器中对应该Lua脚本的数据的有效性,如果已经失效,则重新对该Lua脚本失效的数据进行初始化并存放在全局数据管理器中。4.一种Lu...

【专利技术属性】
技术研发人员:王伟黄国宏潘年华李晓鹏周平王海晏利平胡海李锐曾精石杨晓东向万里
申请(专利权)人:贵阳朗玛信息技术股份有限公司
类型:发明
国别省市:52

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1