An uninterrupted hot update method includes the following steps: static loading application patch libraries for executable files requiring hot patches; repairing executable files; calling the interface of creating patch libraries after repairing executable files, specifying the module where the function to be repaired is located, the offset address of the function relative to the module base address and the new function address; and using patch executable text. The new function in the file replaces the original function in the original file. The method of the invention can also enable some low priority BUGs to be processed in time. With the business function control system, BUG can be repaired online after temporarily closing some functions, and then business can be restored online. The whole process does not need to shut down the server, so as not to interrupt the main game experience.
【技术实现步骤摘要】
一种不停服的热更新方法
本专利技术涉及服务器更新方法,特别是一种不停服的热更新方法。
技术介绍
游戏服务器通常都需要不间断对外提供服务,常规的游戏服务器会有周期性的维护,进行服务器升级以及修复一些优先级较低的BUG,新游戏在进行一定规模测试的阶段,往往存在大量的问题,修复的方式也只能是停服重启。正式的线上环境要修复已知BUG同样只能停服重启,或者任由低优先级BUG存在。重启会影响用户体验,同时也影响游戏的运营数据。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种不停服的热更新方法。本专利技术能够使得一些低优先级的BUG也能够得到及时的处理,配合业务功能控制系统,可以在暂时关闭某些功能后在线修复BUG,然后在线恢复业务,整个过程无须关闭服务器,做到不中断主要的游戏体验。为实现上述目的,本专利技术的一种不停服的热更新方法,包括以下步骤:将需要进行热补丁的可执行文件静态加载应用补丁库;修复可执行文件;修复后的可执行文件调用创建补丁库的接口,指明要修复的函数所在模块、函数相对于模块基地址的偏移地址以及新的函数地址;使用补丁可执行文件中的新的函数替换原文件中的原函数。进一步地,所述将需要进行热补丁的可执行文件静态加载应用补丁库的步骤,进一步包括,加载应用补丁库,生成的可执行文件;所述可执行文件,包括两个预留的内存页,分别为用于存放补丁数据的内存页和用于存放补丁代码的内存页。进一步地,所述修复可执行文件的步骤,进一步包括,在修复可执行文件时,添加一个与原函数签名一致的新的函数,并在新的函数中修改存在的问题,新添加的函数编译后存放在预留的代码内存页中 ...
【技术保护点】
1.一种不停服的热更新方法,包括以下步骤:将需要进行热补丁的可执行文件静态加载应用补丁库;修复可执行文件;修复后的可执行文件调用创建补丁库的接口,指明要修复的函数所在模块、函数相对于模块基地址的偏移地址以及新的函数地址;使用补丁可执行文件中的新的函数替换原文件中的原函数。
【技术特征摘要】
1.一种不停服的热更新方法,包括以下步骤:将需要进行热补丁的可执行文件静态加载应用补丁库;修复可执行文件;修复后的可执行文件调用创建补丁库的接口,指明要修复的函数所在模块、函数相对于模块基地址的偏移地址以及新的函数地址;使用补丁可执行文件中的新的函数替换原文件中的原函数。2.根据权利要求1所述的不停服的热更新方法,其特征在于,所述将需要进行热补丁的可执行文件静态加载应用补丁库的步骤,进一步包括,加载应用补丁库,生成的可执行文件;所述可执行文件,包括两个预留的内存页,分别为用于存放补丁数据的内存页和用于存放补丁代码的内存页。3.根据权利要求1所述的不停服的热更新方法,其特征在于,所述修复可执行文件的步骤,进一步包括,在修复可执行文件时,添加一个与原函数签名一致的新的函数,并在新的函数中修改存在的问题,新添加的函数编译后存放在预留的代码内存页中。4.根据权利要求1所述的不停服的热更新方法,其特征在于,所述修复可执...
【专利技术属性】
技术研发人员:何雪松,
申请(专利权)人:苏州蜗牛数字科技股份有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。