一种脚本热更新方法和系统的制作方法

文档序号:9452913阅读:1081来源:国知局
一种脚本热更新方法和系统的制作方法
【技术领域】
[0001]本申请涉及计算机服务器技术领域,具体地说,涉及一种脚本热更新方法和系统。
【背景技术】
[0002]当前,我们在实际开发项目的过程中,会经常遇到服务器的更新维护,以及配合运营进行服务器玩法的动态调整,但往往由于服务器众多,造成维护服务器的过程时间过长,而且还容易犯错。传统的服务器更新一次服务模块相当于重启一遍服务程序。
[0003]服务程序通常运行在很多机器上,一个物理机上可能会运行一个或多个进程,若干个物理机形成整个可用的云服务器。当物理机器数量非常多的时候,更新一个服务,就相当于把所有相关的服务程序都停掉再启动,整个过程耗时又费力。
[0004]为了简化运营和维护更新的步骤,我们设计研发了一套基于脚本的热更新机制,当服务器有逻辑变动的时候,只需要将相关脚本进行更新即可。整个过程将不需要重启服务器,并能达到实时更新的效果。

【发明内容】

[0005]有鉴于此,本申请所要解决的技术问题是提供了一种脚本热更新方法和系统,解决了现有技术中服务器运营以及维护更新的问题。
[0006]为了解决上述技术问题,本申请有如下技术方案:
[0007]一种脚本热更新方法,其特征在于,包括:将N个服务器注册到ZooK^per集群中,在所述ZooKeeper集群中设置Iua脚本资源节点,所有注册到所述ZooKeeper集群中的服务器将监视所述ZooKeeper集群中的所述Iua脚本资源节点;通过后台将Iua脚本上传到文件服务器中;后台上传Iua脚本成功后,更新所述Iua脚本资源节点;判断所述Iua脚本资源节点是否有更新,若有更新,则通知N个服务器;N个服务器收到更新的Iua脚本资源节点后,从所述ZooK^per集群上取得更新信息;N个服务器从所述文件服务器下载Iua脚本资源到本地,其中N 3 1,且N为整数。
[0008]—种脚本热更新系统,其特征在于,包括ZooKeeper集群、Iua脚本资源节点存储器、文件服务器和服务器I?N,其中:所述ZooK^per集群,与所述Iua脚本资源节点存储器和N个服务器耦接,用于接收所述N个服务器的注册,并在所述ZooK^per集群中设置Iua脚本资源节点,当判断Iua脚本资源节点有更新时,通知所述N个服务器;所述Iua脚本资源节点存储器,与所述ZooKeeper集群親接,用于存储所述Iua脚本资源节点;所述文件服务器,与所述N个服务器耦接,用于接收后台传输的Iua脚本,并在后台上传Iua脚本成功后,更新所述Iua脚本资源节点;所述N个服务器,与所述ZooK^per集群和所述文件服务器親接,用于监视所述ZooKeeper集群中的所述Iua脚本资源节点,接收更新的Iua脚本资源节点后,从所述ZooK^per集群上取得更新信息,并从所述文件服务器下载Iua脚本资源到本地,其中N 3 1,且N为整数。
[0009]与现有技术相比,本申请所述的方法和系统,达到了如下效果:
[0010]第一、本发明的技术方案使得脚本更新时,不会再需要运营商去更新服务程序然后重启,这个过程非常冗长而且容易犯错。
[0011]第二、本发明配合运营需要,有时会频繁的进行脚本更新,可以借助这套系统很快的调整服务器的运营策略,例如进行玩法数值调整,可以通过本发明快速调整服务器以及玩法的运营策略。
【附图说明】
[0012]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0013]图1为本发明的所述一种脚本热更新方法的流程图;
[0014]图2为本发明的所述一种脚本热更新系统的实施例图。
【具体实施方式】
[0015]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
[0016]为方便对本发明作更清楚的说明,现对其中的术语作如下解释:
[0017]Iua脚本是一个小巧的脚本语言。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Iua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数。Iua提供了非常易于使用的扩展接口和机制,几乎在N个操作系统和平台上都可以编译和运行。
[0018]ZooKeeper集群是一个分布式的,开放源码的分布式应用程序协调服务,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper集群的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
[0019]实施例1
[0020]参见图1所示为本申请所述脚本热更新方法的具体实施例,本实施例中所述方法包括以下步骤:
[0021]步骤101:将N个服务器注册到ZooKeeper集群中,在所述ZooKeeper集群中设置Iua脚本资源节点,所有注册到所述ZooK^per集群中的服务器将监视所述ZooK^per集群中的所述Iua脚本资源节点;
[0022]步骤102:通过后台将Iua脚本上传到文件服务器中;
[0023]步骤103:后台上传Iua脚本成功后,更新所述Iua脚本资源节点;
[0024]步骤104:判断所述Iua脚本资源节点是否有更新,若有更新,则进入步骤105
[0025]步骤105:通知N个服务器Iua脚本资源节点有更新;
[0026]步骤106:N个服务器收到更新的Iua脚本资源节点后,从所述ZooKe印er集群上取得更新信息;
[0027]步骤107:N个服务器从所述文件服务器下载Iua脚本资源到本地,
[0028]其中NS 1,且N为整数。
[0029]其中,当所述ZooKeeper集群监控所述Iua脚本资源节点没有更新时,则继续进行监控。
[0030]其中,下载Iua脚本资源到本地后,服务器将正运行结束的Iua虚拟机全部销毁并创建新的Iua虚拟机。
[0031]其中,下载Iua脚本资源到本地后,服务器将正在运行的虚拟机将会被置为待销毁标记,并在运行结束的时候,将被销毁。
[0032]其中,所述更新信息包括下载地址和/或版本号。
[0033]例如,当玩法模块有更新时,我们在服务程序开发过程中结合了脚本系统,使用嵌入式的Iua语言来开发所有的玩法模块,当服务器更新的时候,可在执行文件本身不变化的情况下,只更新玩法脚本就能实时的实现服务器逻辑更新。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1