【技术实现步骤摘要】
一种基于面向数据的热更新方法和装置
[0001]本申请涉及计算机
,特别涉及一种基于面向数据的热更新方法、装置、计算设备和计算机可读存储介质。
技术介绍
[0002]现有技术中,网络游戏是一种实时性要求很强的应用,有大量的客户端实时连接至服务器上。为了减少因为功能修改而造成的服务器进程重启,通常采用不停服更新的机制,如滚动更新、无状态服务、脚本更新等技术。但这些方案都有相应的限制,比如只能针对短连接业务,或者房间类业务等实时交互要求较弱的服务,例如通过脚本更新的方案是采用Lua等脚本语言开发逻辑业务,通过底层框架更新脚本进而更新业务功能。但是脚本语言不支持多线程运行,或者无法像静态语言那样获得优异的编辑器支持。因此亟需一种热更新方法,用来减少大型项目开发中的bug,提高开发效率。
技术实现思路
[0003]有鉴于此,本申请例提供了一种基于面向数据的热更新方法、装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
[0004]根据本申请实施例的第一方面,提供了一种基于面向数据的热更
【技术保护点】
【技术特征摘要】
1.一种基于面向数据的热更新方法,其特征在于,包括:将业务逻辑划分为状态,组件以及组件代理;其中,所述状态仅包括与业务逻辑相关的数据;加载所述状态、组件代理到进程的内核层,加载所述组件到所述进程的热更新层;其中,所述内核层和热更新层分别属于所述进程内的两个独立内存空间;动态加载新组件到所述热更新层中,将所述热更新层中的旧组件替换为所述新组件。2.根据权利要求1的方法,其中,所述状态提供了各种数据类型的访问方法。3.根据权利要求1的方法,其中,所述组件是与状态相关的逻辑处理单元;所述组件中还包括组件代理的实例。4.根据权利要求1所述的方法,其中,所述组件代理与组件一一对应,所述组件代理包括访问状态实例的方法以及获取与之对应的组件实例的方法。5.根据权利要求4所述的方法,其中,所述获取与之对应的组件实例的方法包括:所述组件代理从热更新层中的组件缓存中获取与之对应的组件实例。6.根据权利要求5所述的方法,其中,所述将所述热更新层中的旧组件替换为所述新组件包括:对所述热更新层中待替换的旧组件实例进行卸载后,动态加载所述新组件到所述热更新层;进而在所述热更新层...
【专利技术属性】
技术研发人员:扈红柯,李建良,郭子文,乐坚强,何雨泉,林逸,杨利华,袁冠鹏,
申请(专利权)人:北京云游互动网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。