内部服务器部署方法、装置、架构、介质及设备与流程

文档序号:23717893发布日期:2021-01-24 06:22阅读:99来源:国知局
内部服务器部署方法、装置、架构、介质及设备与流程

[0001]
本公开涉及计算机技术领域,具体而言,涉及一种内部服务器部署方法、内部服务器部署装置、云服务器架构和计算机可读存储介质以及电子设备。


背景技术:

[0002]
虚拟化部署服务器实现了在单个物理服务器上运行多个虚拟机的功能,从而可以更好的利用物理服务器中的资源,也使得添加或更新应用程序变得简单。
[0003]
但是,当内部服务器数量较多时使得内部服务器的管理存在一些困难。例如,服务器需要升级运行环境时,服务器管理者需要对所有目标机器进行单独操作,流程繁琐且容易出错。
[0004]
因此,有必要提供一种新的内部服务器部署方法以便于服务器管理者进行内部服务器的部署发布、管理和维护。
[0005]
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

[0006]
本公开的目的在于提供一种内部服务器部署方法、内部服务器部署装置、云服务器架构和计算机可读存储介质以及电子设备,以解决内部服务器数量较多时,存在内部服务器部署发布、管理和维护困难的问题。
[0007]
根据本公开的第一方面,提供一种内部服务器部署方法,包括:
[0008]
服务器中心通过第一接口与多个虚拟化服务器建立通信链路,所述服务器中心被预配置有管理多个虚拟化服务器的权限;
[0009]
所述服务器中心通过第二接口响应来自服务器使用者定制服务器的请求并生成定制服务器所需的配置文件;
[0010]
所述服务器中心通过所述通信链路将所述配置文件发送给所述一个或多个虚拟化服务器以进行配置更新。
[0011]
在本公开的一种示例性实施例中,所述服务器中心通过第一接口与多个虚拟化服务器建立通信链路,包括:
[0012]
所述服务器中心通过http接口与多个虚拟化服务器建立通信链路。
[0013]
在本公开的一种示例性实施例中,所述服务器中心通过第二接口响应来自服务器使用者定制服务器的请求并生成定制服务器所需的配置文件,包括:
[0014]
所述服务器中心通过web接口接收来自服务器使用者定制服务器的请求并根据所述定制服务器内容生成对应表单;
[0015]
将所述表单中的信息执行逻辑脚本转化生成定制服务器所需的配置文件。
[0016]
在本公开的一种示例性实施例中,所述服务器中心通过所述通信链路将所述配置文件发送给所述一个或多个虚拟化服务器以进行配置更新,包括:
[0017]
所述服务器中心通过所述通信链路发起远程调用请求并将所述配置文件通过rpyc协议分发给所述一个或多个虚拟化服务器以将所述配置文件解码以进行配置更新。
[0018]
在本公开的一种示例性实施例中,还包括:
[0019]
所述服务器中心通过远程调用连接接收来自所述一个或多个虚拟化服务器的运行环境升级请求;
[0020]
响应所述运行环境升级请求并根据所述虚拟化服务器所在的目标机器的种类生成对应的升级指令;
[0021]
通过远程调用协议将所述升级指令发送给所述目标机器以升级所述虚拟化服务器的运行环境。
[0022]
在本公开的一种示例性实施例中,还包括:
[0023]
所述服务器中心向服务器开发者提供服务器列表并通过客户端进行展示。
[0024]
根据本公开的第二方面,提供一种内部服务器部署装置,包括:
[0025]
通信建立模块,用于服务器中心通过第一接口与多个虚拟化服务器建立通信链路,所述服务器中心被预配置有管理多个虚拟化服务器的权限;
[0026]
文件生成模块,用于所述服务器中心通过第二接口响应来自服务器使用者定制服务器的请求并生成定制服务器所需的配置文件;
[0027]
文件发送模块,用于所述服务器中心通过所述通信链路将所述配置文件发送给所述一个或多个虚拟化服务器以进行配置更新。
[0028]
根据本公开的第三方面,提供一种云服务器架构,所述云服务器架构包括服务器中心和多个虚拟化服务器,所述服务器中心与所述多个虚拟化服务器相互连接,每个所述虚拟化服务器对应不同的配置文件,其中,
[0029]
所述服务器中心,用于接收来自服务器使用者定制服务器的请求并生成定制服务器所需的配置文件,将所述配置文件发送给所述一个或多个虚拟化服务器以进行配置更新;
[0030]
所述虚拟化服务器,用于接收定制服务器所需的配置文件,将所述配置文件解码以进行配置更新。
[0031]
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述内部服务器部署方法。
[0032]
根据本公开的第五方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述内部服务器部署方法。
[0033]
本公开示例性实施例可以具有以下部分或全部有益效果:
[0034]
在本公开示例实施方式所提供的内部服务器部署方法中,该方法基于虚拟化部署的思想对内部服务器进行部署,并通过新增一个充当服务器管理者角色的服务器中心来对内部服务器进行管理,不但管理更加简单快捷而且成本低廉。在新增服务器中心后,只需要通过修改服务器中心代码便可实现对内部服务器的长期维护,对于服务器管理者来说,管理和维护内部服务器更加方便。同样,通过修改服务器中心代码还可以更新或新建内部服务器,因此,也更加便于服务器管理者对内部服务器进行迅速部署发布。
[0035]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不
能限制本公开。
附图说明
[0036]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0037]
图1示出了可以应用本公开实施例的一种内部服务器部署方法及装置的示例性系统架构的示意图;
[0038]
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图;
[0039]
图3示意性示出了根据本公开的一个实施例的内部服务器部署方法的流程图;
[0040]
图4示意性示出了根据本公开的一个实施例的服务器中心架构示意图;
[0041]
图5示意性示出了根据本公开的一个实施例的内部服务器部署方法的步骤的流程图;
[0042]
图6示意性示出了根据本公开的一个实施例的内部服务器部署方法中的表单示意图;
[0043]
图7示意性示出了根据本公开的一个实施例的内部服务器部署方法的步骤的流程图;
[0044]
图8示意性示出了根据本公开的一个具体实施例的示例性系统架构的示意图;
[0045]
图9示意性示出了根据本公开的一个具体实施例的服务器列表示意图;
[0046]
图10示意性示出了根据本公开的一个具体实施例的又一服务器列表示意图;
[0047]
图11示意性示出了根据本公开的一个具体实施例的又一服务器列表示意图;
[0048]
图12示意性示出了根据本公开的一个实施例的内部服务器部署装置的框图。
具体实施方式
[0049]
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
[0050]
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0051]
图1示出了可以应用本公开实施例的一种内部服务器部署方法及装置的示例性应
用环境的系统架构的示意图。
[0052]
如图1所示,系统架构为云服务器架构,包括服务器中心和多个虚拟化服务器,所述服务器中心与所述多个虚拟化服务器相互连接,每个所述虚拟化服务器对应不同的配置文件。例如,云服务器架构100可以包括服务器101、102、103中的一个或多个,服务器101、102、103可以是虚拟机也可以是物理机。网络104和服务器中心105,同样,服务器中心105可以是虚拟机也可以是物理机。网络104用以在服务器101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。应该理解,图1中的网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目网络和服务器。在一种实施例中可以是包含服务器101、102、103在内的多个服务器组成的服务器集群等。
[0053]
本公开实施例所提供的内部服务器部署方法一般由服务器中心105执行,相应地,内部服务器部署装置一般设置于服务器中心105中。但本领域技术人员容易理解的是,本公开实施例所提供的内部服务器部署方法也可以由服务器101、102、103执行,相应的,内部服务器部署装置也可以设置于服务器101、102、103中,本示例性实施例中对此不做特殊限定。
[0054]
本公开实施例中,所述服务器中心105,用于接收来自服务器使用者定制服务器的请求并生成定制服务器所需的配置文件,将所述配置文件发送给所述一个或多个虚拟化服务器以进行配置更新;
[0055]
所述服务器101、102、103为虚拟化服务器,用于接收定制服务器所需的配置文件,将所述配置文件解码以进行配置更新。
[0056]
图2示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
[0057]
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0058]
如图2所示,计算机系统200包括中央处理单元(cpu)201,其可以根据存储在只读存储器(rom)202中的程序或者从存储部分208加载到随机访问存储器(ram)203中的程序而执行各种适当的动作和处理。在ram 203中,还存储有系统操作所需的各种程序和数据。cpu 201、rom 202以及ram 203通过总线204彼此相连。输入/输出(i/o)接口205也连接至总线204。
[0059]
以下部件连接至i/o接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至i/o接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
[0060]
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(cpu)201执行时,执行本申请的方法和装置中限定的各种功能。
[0061]
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3、图5及图7所示的各个步骤等。
[0062]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0063]
以下对本公开实施例的技术方案进行详细阐述:
[0064]
在物理服务器上同时运行多个应用程序时存在应用程序占用资源大小不同的问题,基于此提出了在不同的物理服务器上运行不同的应用程序。但是,又会出现由于资源利用不足而无法扩展的问题,而且组织维护多个物理服务器的成本高。
[0065]
而虚拟化功能的引入,使得单个物理服务器的cpu上可以运行多个vm(virtual machine,虚拟机)。每个vm是一台完整的计算机,在虚拟化硬件上可以运行所有组件,包括其自己的操作系统。虚拟化功能允许应用程序在vm之间隔离,并提供安全级别,因为一个应用程序的信息不能被另一应用程序自由地访问。另外,虚拟化功能可以轻松地添加或更新应用程序、降低硬件成本等。所以虚拟化功能可以更好地利用物理服务器中的资源,并可以实现更好的可伸缩性。容器与vm类似,具有文件系统、cpu、内存和进程空间等。因此,利用多个容器也可以实现服务器的虚拟化功能。
[0066]
基于虚拟化部署服务器,在升级服务器运行环境时,一种方法是服务器管理者编写集成了运行环境的镜像,通过docker(开源代码软件)的volume(目录或文件)挂载启动依赖挂载,人工单独将容器部署在目标机器上,对服务器使用者提供一个目标机器的ip(internet protocol,网络协议)地址以发布。后续运行环境升级一般需要服务器管理者人工更新编写镜像,而启动依赖变更则可能需要服务器管理者重建容器。另一种方法是服务器管理者编写一套生成启动依赖以及可以更新启动依赖的脚本,直接在目标机器上执行,并在目标机器安装好运行环境,将目标机器变成游戏服务器,对服务器使用者提供一个目标机器的ip地址以发布。后续启动依赖变更仍然需要服务器管理者更新脚本,而运行环境
升级则需要人工去目标机器操作。再一种方法是将容器部署在kubernetes系统(自动部署、扩展和管理“容器化应用程序”的开源系统)中,对服务器使用者提供一系列kubernetes分配的ip地址以发布。后续运行环境升级同样需要服务器管理者重编镜像,启动依赖变更则需要更新kubernetes的相关配置。
[0067]
对于第一种方法,如果需要发布的内部服务器数量较多时,首先,当服务器出现故障时,服务器开发者需要故障服务器所在目标机器的权限才可以进行日志查看等debug行为,但是由于团队人员的流动导致权限难管理。其次,一旦需要运行环境升级,服务器管理者需要对所有目标机器进行人工操作,流程繁琐且容易出错。最后,如果服务器使用者有定制服务器的需求,由于所有内部服务器都不完全相同,对于服务器管理者来说,发布所有内部服务器的时间成本高,而且也不便于后续的管理。对于服务器使用者来说,服务器使用者需要维护所有的ip地址与服务器职能的关系映射,整个系统变得复杂,职能之间难以合作。
[0068]
对于第二种方法,同样面临发布的内部服务器数量较多时不便于对各服务器管理的问题。另外,还可能会出现资源边界问题,污染物理机环境。
[0069]
对于第三种方法,改善了服务器数量较多时存在的管理问题。由于kubernetes系统仅对开发人员开放,对于服务器使用者而言,如果需要定制服务器,仍需要服务器管理者的干涉。并且kubernetes系统庞大且复杂,对于服务器管理者来说有更高的技术要求。
[0070]
基于上述一个或多个问题,本示例实施方式提供了一种内部服务器部署方法,该方法可以应用于上述服务器101、102、103及105中的一个或多个,本示例性实施例中对此不做特殊限定。参考图3所示,该内部服务器部署方法可以包括以下步骤s310至步骤s330:
[0071]
步骤s310.服务器中心通过第一接口与多个虚拟化服务器建立通信链路,所述服务器中心被预配置有管理多个虚拟化服务器的权限。
[0072]
步骤s320.所述服务器中心通过第二接口响应来自服务器使用者定制服务器的请求并生成定制服务器所需的配置文件。
[0073]
步骤s330.所述服务器中心通过所述通信链路将所述配置文件发送给所述一个或多个虚拟化服务器以进行配置更新。
[0074]
在本公开示例实施方式所提供的内部服务器部署方法中,该方法基于虚拟化部署的思想对内部服务器进行部署,并通过新增一个充当服务器管理者角色的服务器中心来对内部服务器进行管理,不但管理更加简单快捷而且成本低廉。在新增服务器中心后,只需要通过修改服务器中心代码便可实现对内部服务器的长期维护,对于服务器管理者来说,管理和维护内部服务器更加方便。同样,通过修改服务器中心代码还可以更新或新建内部服务器,因此,也更加便于服务器管理者对内部服务器进行迅速部署发布。
[0075]
本示例实施方式中,所述内部服务器指不用于生产环境以及不对外发布的服务器,一般用于内部开发和测试使用。所述服务器管理者指管理内部服务器的人员,一般指实施为服务器使用者和服务器开发者部署、发布新服务器的人员,可能与服务器开发者有交集。所述服务器使用者指使用服务器以及除开发职能外的策划和质量保障人员等,所述人员有部署新的服务器的需求,还会有频繁地重启服务器的需求。所述服务器开发者是指开发职能的人员。例如,对于游戏服务器而言,服务器开发者指游戏逻辑代码的维护者,一般也有部署新服务器的需求。
[0076]
下面,对于本示例实施方式的上述步骤进行更加详细的说明。
[0077]
在步骤s310中,服务器中心通过第一接口与多个虚拟化服务器建立通信链路,所述服务器中心被预配置有管理多个虚拟化服务器的权限。
[0078]
本示例实施方式中,首先,可以新增一个充当服务器管理者角色的服务器,在本示例中将该服务器称为服务器中心,即所述服务器中心被预配置有管理多个虚拟化服务器的权限。例如,所述服务器中心可以对所述多个虚拟化服务器的运行环境进行更新,或者根据服务器使用者的需求新建虚拟化服务器。以使得非专业服务器管理人员通过服务器中心就可以实现对内部服务器的部署。相比于通过复杂或是开销昂贵的系统来管理内部服务器,服务器中心管理内部服务器的成本较低。另外,对于服务器管理者来说,维护更加简单,只需要修改较为简单的服务器中心代码即可长期维护。
[0079]
参考图4所示,服务器中心400可以包括401server center(服务器中心)、402heart beat(心跳监测)以及403config generator(配置生成器)三部分。另外,还包括404http(hyper text transfer protocol,超文本传输协议)接口、405rpyc(remote python call,远程调用协议)客户端接口、406restful(representational state transfer,表述性状态转移)接口以及407web(万维网)接口。
[0080]
其中,服务器开发者和服务器使用者分别可以通过restful接口和web接口与server center进行通信连接,进而与heart beat和config generator进行数据传输和属性配置。heart beat部分可以通过网络链路和串口进行,是用来检测是否断线的一种机制,具体是通过每间隔一定时间发送心跳数据,来检测对方是否连接。此外,还可以检测群集中的系统服务,在群集中的节点间转移共享ip地址的所有者等。config generator部分可以对待部署服务器的属性进行配置。服务器中心可以通过http接口和rpyc客户端接口与一个或多个虚拟化服务器进行通信连接,以对虚拟化服务器进一步部署。
[0081]
其次,形成多个虚拟化服务器的目标机器可以是docker。容器是docker中最小的处理单元,即增删改查的对象是容器。容器是一种虚拟化技术,各容器之间是隔离的。docker允许用户将应用单独分割形成更小容器,以提高交付软件的速度。目标机器也可以是kubernetes。kubernetes是自动化容器操作的开源平台,所述操作包括部署、调度和节点集群间扩展。pod是kubernetes的基本操作单元,也是应用运行的载体,一个pod可以包含一个或者多个相关的容器,也即可以包含多个虚拟化服务器。使用kubernetes可以实现自动化容器的部署和复制,随时扩展或收缩容器规模,将容器组织成组,并且提供容器间的负载均衡,便于升级应用程序容器的新版本等。目标机器还可以由多个物理机组成,本实施例对此不做限定。
[0082]
最后,所述第一接口可以是http接口,服务器中心通过http接口与多个虚拟化服务器建立通信链路,即通过超文本传输协议与虚拟化服务器进行通信连接。超文本传输协议是基于tcp(transmission control protocol,传输控制协议)的应用层协议,可以用来规定客户端和服务端的数据传输格式。例如,虚拟化服务器向服务器中心发送http请求,并建立到服务器中心http接口的tcp连接。服务器中心在http接口监听由虚拟化服务器发送的请求。收到请求后,可以向虚拟化服务器发回一个响应消息。建立通信以便于服务器使用者和服务器开发者对内部服务器的使用。
[0083]
一种示例实施方式中,服务器中心还可以通过websocket协议与虚拟化服务器进行通信连接。websocket是一种在单个tcp连接上进行全双工通信的协议,使得客户端和服
务器之间的数据交换变得更加简单,并且,允许服务端主动向客户端推送数据。在websocket api中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
[0084]
在步骤s320中,所述服务器中心通过第二接口响应来自服务器使用者定制服务器的请求并生成定制服务器所需的配置文件,所述第二接口可以是web接口。web接口是一个软件接口,可以使用基于xml(extensible markup language,可扩展标记)语言的协议来描述要执行的操作或者要与另一个web接口交换的数据。通过web接口提供的web服务可以通过internet进行基于http协议的网络应用间的交互。
[0085]
参考图5所示,本示例实施方式中可以通过下述步骤s510以及步骤s520来生成定制服务器所需的配置文件。
[0086]
在步骤s510中,所述服务器中心通过web接口接收来自服务器使用者定制服务器的请求。
[0087]
服务器中心可以对服务器使用者提供交互页面。交互界面是用户和计算机进行信息交换的通道,用户通过交互界面向计算机输入信息、进行操作,计算机则通过交互界面向用户提供信息,以供阅读、分析和判断。
[0088]
在服务器中心为服务器使用者提供的交互页面中,通过该页面可以定制服务器。例如,当服务器使用者有定制服务器的需求时,可以通过web接口与服务器中心进行交互。服务器使用者将需要定制的服务器的内容形成表单,将其上传到服务器中心。
[0089]
表单是页面与web服务器交互过程中的信息来源,其在网页中主要负责数据采集功能,示例性的,可以为html表单,用于搜集不同类型的用户输入。一个完整表单有三个基本组成部分:表单标签:包含处理表单数据所用cgi程序(使网页具有交互功能)的url(uniform resource locator,网页地址)以及数据提交到服务器的方法;表单域:包含文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等;表单按钮:包括提交按钮、复位按钮和一般按钮,用于将数据传送到服务器上的cgi脚本或者取消输入。参考图6所示,为新建服务器的配置模板,即定制新服务器的配置表单,包括配置名称、部署集群、命名空间。其中,命名空间是一种名称的集合,通过一种uri来引用标识,作为元素类型和属性名称,用来解决二义性和名字冲突的问题。另外,表单提交的数据可以以key:value(键值)的方式提交,以便于服务器处理程序。
[0090]
在步骤s520中,响应所述定制服务器请求并执行逻辑脚本转化生成定制服务器所需的配置文件。
[0091]
服务器中心接收到由定制服务器内容生成的表单后,根据表单信息执行逻辑脚本转化,可以将表单中的每部分信息转化为对应的一段代码,以形成启动依赖文件,所述文件格式可以是json格式,也可以是xml格式。启动依赖文件是指服务器启动时需要的配置,包括但不限于服务器主体代码、附属设施代码以及用于连接配套服务的配置。由此可知,只需要修改服务器中心的代码便可持续地集成新的不同种类的游戏服务器,使得服务器扩展更加便捷。
[0092]
在步骤s330中,所述服务器中心通过所述通信链路将所述配置文件发送给所述一个或多个虚拟化服务器以进行配置更新。
[0093]
本示例实施方式中,所述服务器中心可以通过所述通信链路发起远程调用请求,
并将启动依赖文件通过远程协议分发给所述一个或多个虚拟化服务器。所述远程协议可以是rpyc,rpyc是一个python的库,用来实现rpc(remote procedure call,远程过程调用)和分布式计算的工具。rpyc支持同步和异步操作、回调和远程服务以及透明的对象代理,其克服了进程和计算机之间的物理界限,使得操作远程对象类似于操作本地对象。所述虚拟化服务器调用远程调用函数将启动依赖文件进行解码以进行配置更新。
[0094]
一种示例实施方式中,所述远程协议还可以是telnet协议。telent协议是internet远程登录服务的标准协议和主要方式,为用户提供了在本地计算机上完成远程主机工作的能力。例如,在终端使用者的电脑上使用telnet程序并连接到服务器,终端使用者在telnet程序中输入命令时,所述命令会在服务器上运行,类似于直接在服务器的控制台上输入命令。
[0095]
本示例实施方式中,所述服务器中心还可以升级所述一个或多个虚拟化服务器的运行环境。参考图7所示,本示例实施方式中可以通过下述步骤s710至步骤s730来更新服务器。
[0096]
在步骤s710中,所述服务器中心通过远程调用协议接口接收来自所述一个或多个虚拟化服务器的运行环境更新请求。
[0097]
运行环境是指虚拟化服务器运行时依赖的系统及系统中的软件。所述虚拟化服务器的运行环境需要升级时,可以通过rpyc接口与服务器中心建立通信,并接收来自所述一个或多个虚拟化服务器的运行环境更新请求。
[0098]
在步骤s720中,响应所述运行环境升级请求并根据所述虚拟化服务器所在的目标机器的种类生成对应的升级指令。
[0099]
目标机器可以是kubernetes集群,也可以是docker容器,还可以是多个物理机。服务器中心响应所述运行环境升级请求并根据所述虚拟化服务器所在的目标机器的种类生成对应的升级指令。
[0100]
在步骤s730中,通过远程调用协议将所述升级指令发送给所述目标机器以升级所述待部署服务器的运行环境。
[0101]
可以通过rpyc协议将所述升级指令发送给所述目标机器以升级所述待部署服务器的运行环境。
[0102]
一种示例实施方式中,服务器中心还可以向服务器开发者提供虚拟化服务器列表。例如,可以通过heart beat将虚拟化服务器列表上传到server center,接着服务器开发者可以通过restful接口与server center进行通信连接并获取所述虚拟化服务器列表。然后,服务器开发者可以获取所述虚拟化服务器列表并通过客户端进行展示。另外,服务器中心也可以向服务器使用者展示所述虚拟化服务器列表。
[0103]
一种示例实施方式中,服务器使用者还可以通过服务器中心提供的交互页面远程控制虚拟化服务器重新启动。而且,对服务器使用者设置权限,只能重新启动授予重启权限的虚拟化服务器。这样,以便于服务器使用者之间的协作。
[0104]
本示例实施方式中方法的一个具体应用举例,以游戏《非人学园》的内部游戏服务器管理为例。
[0105]
参考图8所示,为部署所述游戏服务器的整体架构图800,包含801server center、802heart beat、803config generator、804http接口、805rpyc接口、806restful接口和
807web接口在内的服务器中心、808虚拟化游戏服务器集群、815服务器开发者以及816服务器使用者。其中,808虚拟化游戏服务器集群包含虚拟化游戏服务器809、810和811,以及rpyc接口812、813和814。同样,所述虚拟化服务器的数目仅仅是示意性的,根据实现需要,可以具有任意数目虚拟化服务器。其它组成部分与参考图4类似,因此此处不再赘述。
[0106]
首先,启动游戏客户端。服务器中心通过804http接口与虚拟化游戏服务器809、810和811建立通信。建立通信后,服务器中心向816服务器使用者展示了可用的服务器列表,参考图9所示,可用的游戏服务器列表中包括游戏服务器ship001、ship002、trunk003以及ship004,属于ship和trunk两种不同分支的游戏服务器。游戏服务器列表中还包括每个游戏服务器的更新时间。另外,游戏服务器ship002的发布区域为h52,而游戏服务器ship004的发布区域为h52ea。因此,本示例实施方式中方法支持对不同分支以及不同发布区域的游戏服务器进行部署。
[0107]
同时,服务器中心通过806restful接口向815服务器开发者提供可用的游戏服务器列表。参考图10所示,815服务器开发者通过get(一种http请求方法)方法读取游戏服务器列表,具体是把参数数据队列添加到提交表单的action属性(规定当提交表单时,向何处发送表单数据)所指的url中,值和表单内各个字段一一对应,并且可以将指定的表单中的输入项转为json(数据交换格式)数据{key:value,key:value},在url中可以看到所述游戏服务器列表。参考图11所示,815服务器开发者将所述游戏服务器列表写入游戏客户端逻辑,并通过客户端进行展示,用户就可以看到上次登录的服务器,全部的可用游戏服务器,以及每个游戏服务器的运行情况(火爆、拥挤还是畅通),这样以便于客户端用户选择适合的游戏服务器,提升用户的游戏体验。
[0108]
另外,服务器中心通过807web接口对816服务器使用者提供交互页面,在交互页面中可以定制游戏服务器和远程控制游戏服务器重新启动。当服务器中心收到定制游戏服务器的请求后,会在内部执行逻辑脚本将定制游戏服务器对应的表单转化为通用启动依赖文件,并通过rpyc连接服务器中心和游戏服务器。其中,服务器中心为805rpyc client端,游戏服务器为814rpyc server端。然后,将启动依赖文件分发给虚拟化游戏服务器811并通知其更新或新建游戏服务器。
[0109]
服务器中心还向816服务器使用者提供了重启游戏服务器的功能。例如,可以将游戏服务器ship001重新启动。除此之外,对816服务器使用者也有权限控制,如果游戏服务器ship002被其他服务器使用者锁定,816服务器使用者将无法重启游戏服务器ship002。这样,便于服务器使用者之间协作。
[0110]
而当运行环境需要升级时,对于kubernetes集群只需由服务器开发者更新镜像文件,并提交到对应的git(远程仓库)仓库,触发git ci(持续集成系统),则会自动同步更新目标机器使用的镜像。然后,服务器中心根据目标机器kubernetes集群通过rpyc批量分发对应的升级指令给目标机器以执行并按需重建就完成了更新操作,更加简单快捷。
[0111]
由于服务器使用者和服务器开发者被服务器中心隔离而无法直接操作游戏服务器,从而可以进行更好的权限控制。游戏服务器也可以为多个物理机,因此支持各种部署环境,对于虚拟化部署或是传统部署方式,都可以通过服务器中心进行统一管理。
[0112]
在本公开示例实施方式所提供的内部服务器部署方法中,该方法基于虚拟化部署的思想对内部服务器进行部署,并通过新增一个充当服务器管理者角色的服务器中心来对
内部服务器进行管理,不但管理更加简单快捷而且成本低廉。在新增服务器中心后,只需要通过修改服务器中心代码便可实现对内部服务器的长期维护,对于服务器管理者来说,管理和维护内部服务器更加方便。同样,通过修改服务器中心代码还可以更新或新建内部服务器,因此,也更加便于服务器管理者对内部服务器进行迅速部署发布。
[0113]
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
[0114]
进一步的,本示例实施方式中,还提供了一种内部服务器部署装置。参考图12所示,该内部服务器部署装置1200可以包括通信建立模块1210、文件生成模块1220以及文件发送模块1230。其中:
[0115]
通信建立模块1210,用于通过第一接口与多个虚拟化服务器建立通信链路,所述服务器中心被预配置有管理多个虚拟化服务器的权限。
[0116]
文件生成模块1220,用于通过第二接口响应来自服务器使用者定制服务器的请求并生成定制服务器所需的配置文件。
[0117]
文件发送模块1230,用于通过所述通信链路将所述配置文件发送给所述一个或多个虚拟化服务器以进行配置更新。
[0118]
一种示例实施方式中,通信建立模块1210被配置为:服务器中心通过http接口与多个虚拟化服务器建立通信链路。
[0119]
文件生成模块1220包括:
[0120]
接收模块,用于通过web接口接收来自服务器使用者定制服务器的请求并根据所述定制服务器内容生成对应表单;
[0121]
转化模块,用于将所述表单中的信息执行逻辑脚本转化生成定制服务器所需的配置文件。
[0122]
文件发送模块1230被配置为:服务器中心通过所述通信链路发起远程调用请求并将所述配置文件通过rpyc协议分发给所述一个或多个虚拟化服务器以将所述配置文件解码以进行配置更新。
[0123]
一种示例实施方式中,内部服务器部署装置1200,还包括运行环境升级模块,服务器中心通过远程调用连接接收来自所述一个或多个虚拟化服务器的运行环境升级请求;响应所述运行环境升级请求并根据所述虚拟化服务器所在的目标机器种类生成对应的升级指令;通过远程调用协议将所述升级指令发送给所述目标机器以升级所述虚拟化服务器的运行环境。
[0124]
一种示例实施方式中,内部服务器部署装置1200,还包括展示模块,服务器中心向服务器开发者提供服务器列表并通过客户端进行展示。
[0125]
上述内部服务器部署装置中各模块的具体细节已经在对应的内部服务器部署方法中进行了详细的描述,因此此处不再赘述。
[0126]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模
块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0127]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1