CN114827258B - 服务器的管理控制方法、装置和电子设备 - Google Patents
服务器的管理控制方法、装置和电子设备 Download PDFInfo
- Publication number
- CN114827258B CN114827258B CN202210195638.XA CN202210195638A CN114827258B CN 114827258 B CN114827258 B CN 114827258B CN 202210195638 A CN202210195638 A CN 202210195638A CN 114827258 B CN114827258 B CN 114827258B
- Authority
- CN
- China
- Prior art keywords
- access
- container
- server
- service
- access request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 198
- 230000008569 process Effects 0.000 claims abstract description 131
- 230000006870 function Effects 0.000 claims description 63
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000012360 testing method Methods 0.000 abstract description 26
- 238000011161 development Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000008602 contraction Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种服务器的管理控制方法、装置和电子设备,该方法应用于运行有容器的设备;容器中的服务器代理组件用于执行:接收来自外部服务的针对容器中虚拟服务进程的访问请求;确定外部服务的身份合法,且访问请求的访问操作合法;执行访问请求对应的访问操作,得到访问结果,向外部服务返回访问结果。该方式中,通过在容器中设置服务器代理组件,可以对外部服务提供访问功能,还可以接收外部服务的访问请求,在确定合法性后直接在容器内执行访问请求对应的访问操作,尤其在服务进程发生更新时,无需重新构建镜像,直接在容器中按需进行更新,减少了计算资源,提高了管理和开发效率,通用性较好,满足了服务器的测试需求。
Description
技术领域
本发明涉及服务器管理技术领域,尤其是涉及一种服务器的管理控制方法、装置和电子设备。
背景技术
游戏测试环境的服务进程管理,是指将程序或策划的改动快速构建测试环境,以进行游戏服务进程的测试和管理。针对成熟游戏现有的物理服务器构架,在管理少量游戏服务进程的场景中,测试环境管理和开发效率较高,管理平台只需管理本物理服务器上的文件夹和游戏服务进程,管理平台开发相对简便。但是,随着游戏服务进程需求的增多,现有的物理服务器构架中,物理机容量较小,每台物理机运行的游戏服务进程较少,新增物理机需要手动处理,操作繁琐。因此为了保证游戏测试环境的可持续化,可以针对现有的物理服务器构架进行改进。
相关技术中,通常采用以下两种方式,方式一,通过在物理机上执行Docker指令,创建或释放Docker容器,容器支持运行在物理机中,但是,该方式中的容器是建立在管理多台物理机的模式下,扩缩容非常局限,不利于后续的管理;游戏服务进程共用相同IP,需要使用端口做区分,与正式环境存在差异。方式二,当游戏内容发生变更时,触发镜像的自动构建和更新服务,游戏服务进程使用最新的镜像创建出最新的测试环境。但是,该方式是基于云模式进行设计的,如果直接应用到现有的基于服务器的设计上,会存在兼容、计算资源浪费、人力成本等问题。
发明内容
有鉴于此,本发明的目的在于提供一种服务器的管理控制方法、装置和电子设备,以减少计算资源,提高管理和开发效率,具有较好的通用性,可以满足服务器的测试需求。
第一方面,本发明实施例提供了一种服务器的管理控制方法,该方法应用于运行有容器的设备;容器中包括服务器代理组件和虚拟服务进程;在初始阶段,服务器代理组件用于初始化虚拟服务进程的运行环境,并向外部服务注册容器和虚拟服务进程,以使虚拟服务进程对外部服务提供访问功能;通过服务器代理组件执行下述操作步骤:接收来自外部服务的针对虚拟服务进程的访问请求;确定外部服务的身份合法,且访问请求的访问操作合法;执行访问请求对应的访问操作,得到访问结果;向外部服务返回访问结果。
进一步的,访问请求携带有访问令牌;确定外部服务的身份合法的步骤,包括:对访问令牌进行解析,得到解析结果;其中,解析结果包括账号签名、账号信息和时间戳;如果账号信息与预设的账号信息一致,且时间戳指示账号签名有效,确定外部服务的身份合法。
进一步的,访问请求携带有访问标识;确定访问请求的访问操作合法的步骤,包括:根据访问标识遍历预设的指令集,如果预设的指令集中存在访问标识对应的操作指令,确定访问请求的访问操作合法;如果预设的指令集中不存在访问标识对应的操作指令,根据访问标识遍历预设的函数表,如果预设的函数表中存在访问标识对应的目标函数,确定访问请求的访问操作合法。
进一步的,确定访问请求的访问操作合法的步骤,包括:如果访问请求是针对文件内容或文件夹的操作,确定访问请求的访问操作合法。
进一步的,执行访问请求对应的访问操作,得到访问结果的步骤,包括:如果访问请求为指令操作,从预设的指令集中获取访问请求对应的操作指令,执行操作指令,得到访问结果;如果访问请求为函数操作,从预设的函数表中调用访问请求对应的目标函数,执行目标函数,得到访问结果;如果访问请求为文件操作,根据访问请求对访问请求指示的文件进行增加、删除、修改或查询的操作,得到访问结果。
进一步的,通过服务器代理组件向外部服务注册容器和虚拟服务进程的步骤,包括:通过容器预先配置的接口,获取容器的相关信息;相关信息包括:容器的IP地址,容器的端口地址和容器中虚拟服务进程的进程标识符;将相关信息保存至外部服务的服务管理文件,以使外部服务根据服务管理文件获取容器的IP地址或端口地址,通过服务器代理组件访问容器中的虚拟服务进程。
进一步的,通过容器预先配置的接口,获取容器的相关信息的步骤之后,方法还包括:将相关信息更新至外部服务的列表管理文件;其中,列表管理文件包括客户端列表文件和服务端列表文件,以使外部服务根据客户端列表文件中的容器IP地址或端口地址,登录容器中的虚拟服务进程,以及使容器,根据服务端列表文件中的容器IP地址或端口地址,将各个容器中的虚拟服务进程相互连接。
进一步的,方法还包括:如果容器的相关信息更新,将更新后的容器的相关信息更新至服务管理文件和列表管理文件。
进一步的,外部服务包括服务器管理平台和人员管理服务;服务器管理平台用于:通过人员管理服务验证登录账号;接收来自外部服务的针对虚拟服务进程的访问请求的步骤之前,通过服务器代理组件还执行下述操作步骤:接收来自服务器管理平台服务端的目标账号的账号签名获取请求;如果预先配置的IP地址表单中包括服务器管理平台服务端的IP地址,将目标账号的账号签名返回至目标账号;其中,账号签名设置有有效期限。
进一步的,服务器管理平台还用于:控制底层容器服务针对容器进行调度操作;调度操作包括:创建、释放和重建操作。
进一步的,通过服务器代理组件还执行下述操作步骤:定时执行预设的编译检查脚本,解析检查结果,并将检查结果返回至外部服务。
进一步的,服务器代理组件还包括管理服务;通过管理服务执行下述操作步骤:定时接收服务器管理组件发送的心跳信号,如果在预设时间内未接收到服务器代理组件发送的心跳信号,控制服务器代理组件下线。
第二方面,本发明实施例提供了一种服务器的管理控制装置,装置设置于运行有容器的设备;容器中包括服务器代理组件和虚拟服务进程;在初始阶段,服务器代理组件用于初始化虚拟服务进程的运行环境,并向外部服务注册容器和虚拟服务进程,以使虚拟服务进程对外部服务提供访问功能;通过服务器代理组件包括:接收模块,用于接收来自外部服务的针对虚拟服务进程的访问请求;确定模块,用于确定外部服务的身份合法,且访问请求的访问操作合法;执行模块,用于执行访问请求对应的访问操作,得到访问结果;向外部服务返回访问结果。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面任一项的服务器的管理控制方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面任一项的服务器的管理控制方法。
本发明实施例带来了以下有益效果:
本发明提供了一种服务器的管理控制方法、装置和电子设备,该方法应用于运行有容器的设备;容器中的服务器代理组件用于执行:接收来自外部服务的针对容器中虚拟服务进程的访问请求;确定外部服务的身份合法,且访问请求的访问操作合法;执行访问请求对应的访问操作,得到访问结果,向外部服务返回访问结果。该方式中,通过在容器中设置服务器代理组件,可以对外部服务提供访问功能,还可以接收外部服务的访问请求,在确定合法性后直接在容器内执行访问请求对应的访问操作,尤其在服务进程发生更新时,无需重新构建镜像,直接在容器中按需进行更新,减少了计算资源,提高了管理和开发效率,通用性较好,满足了服务器的测试需求。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种服务器的管理方案的物理服务器模式的结构示意图;
图2为本发明实施例提供的一种服务器的管理方案的容器模式的结构示意图;
图3为本发明实施例提供的一种服务器的管理方案的云模式的结构示意图;
图4为本发明实施例提供的一种服务器的管理控制方法中初始化流程示意图;
图5为本发明实施例提供的一种服务器的管理控制方法的示意图;
图6为本发明实施例提供的一种服务器的管理控制方法中容器的结构示意图;
图7为本发明实施例提供的另一种服务器的管理控制方法中容器的结构示意图;
图8为本发明实施例提供的一种服务器的管理控制装置的结构示意图;
图9为本发明实施例提供的一种服务器的管理控制装置的结构式示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
游戏测试环境的服务进程管理,是指将程序或策划的改动快速构建测试环境,以进行游戏服务进程的测试和管理。流程中比较重要的点是“高效性”和“一致性”,高效性体现在构建时间上,而一致性则是硬性要求,测试环境与正式环境必须高度一致,才能更好地保证测试结果的合理性和正确性。针对成熟游戏现有的物理服务器构架,如图1所示,该构架中关键信息介绍,本地文件夹:可以从svn(是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理)仓库拉取代码、表格、配置文件,以及表格预编译、配置本地化定制等文件,每个游戏服对应一个本地文件夹。游戏服进程:本地文件夹中代码编译后运行的程序,物理服上可同时存在多个游戏服进程。游戏服输出:数据和日志均存储在本地文件夹中。内存:公用物理服务器内存。网络:共用物理服务器网卡。物理机:包含游戏服管理平台和多个游戏服,游戏服数据通过文件夹、进程、输出目录作区分,游戏服管理平台可管理当前物理机上的游戏服;多物理机:如果需要更多的游戏服,可通过手动增加物理机的方式进行扩展。
这种物理服架构在管理少量游戏服的场景中,环境管理和开发效率较高,可以直接从svn仓库拉取代码、重新加载,代码和表格更新快捷;管理平台只需管理本物理服上的文件夹和游戏服进程,管理平台开发相对简便。但是,随着游戏服务进程需求的增多,现有的物理服务器构架中,物理机容量较小,每台物理机运行的游戏服务进程较少,新增物理机需要手动处理,操作繁琐。且,游戏服管理平台维护困难,多台物理机需要维护多个管理平台实例,平台升级需要登陆到对应的每个物理机上手动操作,耗费大量人力。且,管理平台与游戏服务器强耦合,难以通用化。游戏服共享内存技术的使用,在同一物理机上的游戏服共用同一份共享内存,会存在数据冲突的情况,影响测试结果的准确性。按目录划分游戏服的方式,与外服正式环境差异较大,启动脚本等也存在相同问题。因此为了保证游戏测试环境的可持续化,可以针对现有的物理服务器构架进行改进。
相关技术中,通常采用以下两种方式,方式一,如图2所示,通过在物理机上执行Docker指令,创建或释放Docker容器,容器支持运行在物理机中。游戏内的操作通过shell指令集合定义,docker指令调用对应的shell指令即可完成游戏服更新、启停等关键操作。游戏数据与旧模式类似,存储在svn仓库上,通过svn指令更新到本地。数据持久化可以通过挂载的方式,挂到物理机上。但是,自建容器还是建立在管理多台物理机的模式下,扩缩容非常局限,不利于后续的管理;游戏服共用相同IP,需要使用端口做区分,与正式环境存在差异。虽然自建容器模式,是旧模式的升级版本,可以解决一部分问题,但是未能达到要求。
方式二,如图3所示,当游戏内容发生变更时,触发镜像的自动构建和更新服务,游戏服务进程使用最新的镜像创建出最新的测试环境。游戏服内部管理同样是需要预定义不同操作的shell指令集合,实时调用对应的shell指令,完成游戏服启停等操作;日志和数据查看,可以通过日志收集工具进行查看;性能参数的查看,使用monitor等工具可以满足需求。但是,该方式是基于云模式进行设计的,如果直接应用到现有的基于服务器的设计上,会存在兼容、改动较大、计算资源浪费、人力成本等问题。
基于此,本发明实施例提供的一种服务器的管理控制方法、装置和电子设备,该技术可以应用于运行有容器的设备。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种服务器的管理控制方法进行详细介绍,该方法应用于运行有容器的设备;容器中包括服务器代理组件和虚拟服务进程;在初始阶段,服务器代理组件用于初始化虚拟服务进程的运行环境,并向外部服务注册容器和虚拟服务进程,以使虚拟服务进程对外部服务提供访问功能;其中的容器可以是游戏服务器通常是指游戏测试服务器。上述服务器代理(Server Agent)组件用于代理服务运行在容器内;虚拟服务进程用于提供虚拟服务,比如游戏服务等,其中通常包括游戏服务进程。上述初始阶段可以是创建容器的阶段,在该初始阶段,会启动服务器代理组件的代理服务,为虚拟服务进程初始化运行环境,也可以是测试环境。其中包括:svn初始化、代码初始化、环境初始化等操作。
具体的,如图4所示,通过镜像仓库-基准镜像配置容器,然后使用镜像启动容器,通过容器内的服务器代理组件初始化基础环境,然后初始化容器内服务器环境;最后通过提交代码、表格、更新配置以及其他变更为游戏服进行基础操作。同时,在初始阶段向外部服务注册容器和虚拟服务进程,将容器和虚拟服务进程注册到外部服务中,可以是外部服务能够根据注册信息找到容器和虚拟服务进程并进行访问操作等。
如图5所示,通过服务器代理组件具体执行下述操作步骤:
步骤S502,接收来自外部服务的针对虚拟服务进程的访问请求;
上述访问请求通常包括启动虚拟服务进程,关闭虚拟服务进程,增加、删除、修改或查询文件内容,新建、读取或删除文件夹,更新虚拟服务进程版本相关数据,和查看日志、数据、协议或代码等,主要用于测试容器以及虚拟服务进程的功能。上述虚拟服务进程通常是指游戏服进程,具体为游戏服代码运行起来的一个进程,用于为游戏服务端提供处理逻辑。
上述外部服务可以运行在运行有上述容器的设备中,也可以运行在运行有其他容器的设备中,其中包括服务器管理平台,用于管理多个容器以及容器中的虚拟服务进程。具体的,外部服务的服务器管理平台通过终端设备提供一图形用户界面,响应针对虚拟服务进程访问操作,外部服务的服务器管理平台生成针对虚拟服务进程的访问请求,并根据服务注册信息中的容器和虚拟服务进程信息,将该访问请求发送至对应的容器中的服务器代理组件,以使服务器代理组件将外部服务与容器内的虚拟服务进程;连接,完成外部服务的访问操作。可以理解是的,外部服务中的服务器管理平台可以管理多个容器,不同容器中的服务器代理组件都可能会接收到外部服务发送的访问请求。
另外,本实施例支持多个浏览器或多个终端设备访问同一台运行有容器的设备。即本实施例支持多个会话分布式访问。
步骤S504,确定外部服务的身份合法,且访问请求的访问操作合法;
为了避免非法的外部服务以及非法的请求侵入,导致数据泄露的安全性问题,服务器代理组件设置有访问限制功能。在接收到外部服务的访问请求后,首先根据访问请求中携带的身份信息,比如发送访问请求的用户的用户信息等,确定发送访问请求的用户身份是否合法,然后根据访问请求中携带的操作信息,比如更新进程的访问操作信息等,确定访问请求的访问操作是否合法。
具体的,可以根据预设的验证信息,验证外部服务的身份是否合法,如果接收到的信息与预设的验证信息一致且有效,则确定外部服务的身份是否合法。可以根据预设的访问操作,确定访问请求的访问操作合法,如果接收到的访问请求的访问操作属于预设的访问操作,确定访问请求的访问操作合法。
步骤S506,执行访问请求对应的访问操作,得到访问结果;向外部服务返回访问结果。
上述访问操作包括指令操作、函数调用操作、以及其他操作。上述访问结果通常根据访问请求确定,比如,获取目标信息的访问操作,访问结果通常为需要获取的目标信息;再如,执行更新代码的访问操作,访问记过通常为更新是否完成;还如,启动或者停止进程的访问操作,访问结果通常为是否完成启动或停止等。
举例说明,当访问请求为启动虚拟服务进程,服务器代理组件则需要向外部服务的引擎编译服务中获取虚拟服务进程的引擎,根据引擎启动虚拟服务进程,如果启动成功,将启动成功的访问结果返回至外部服务提供的图形用户界面,以使管理人员查看。当访问请求为更新虚拟服务进程版本相关数据,通过服务器代理组件更新本地文件夹中的代码,表格等配置信息,如果更新成功,将相关信息更新成功的访问结果返回至外部服务提供的图形用户界面,以使管理人员查看。当访问请求是查看日志、数据、协议或代码等,通过服务器代理组件获取日志信息、数据库数据、中层数据、服务端代码等,将获取的信息返回至外部服务提供的图形用户界面,以使管理人员查看。
本发明提供了一种服务器的管理控制方法,该方法应用于运行有容器的设备;容器中的服务器代理组件用于执行:接收来自外部服务的针对容器中虚拟服务进程的访问请求;确定外部服务的身份合法,且,访问请求的访问操作合法;执行访问请求对应的访问操作,得到访问结果,向外部服务返回访问结果。该方式中,通过在容器中设置服务器代理组件,可以对外部服务提供访问功能,还可以接收外部服务的访问请求,在确定合法性后直接在容器内执行访问请求对应的访问操作,尤其在服务进程发生更新时,无需重新构建镜像,直接在容器中按需进行更新,减少了计算资源,提高了管理和开发效率,通用性较好,满足了服务器的测试需求。
上述访问请求携带有访问令牌;上述确定外部服务的身份合法的步骤,一种可能的实施方式:对访问令牌进行解析,得到解析结果;其中,解析结果包括账号签名、账号信息和时间戳;如果账号信息与预设的账号信息一致,且时间戳指示账号签名有效,确定外部服务的身份合法。
上述访问令牌可以是Token,该访问令牌是通过服务器管理平台服务端,根据当前登录账号,也即发送访问请求的用户的账号签名,账号信息以及时间戳合并后通过SHA256算法确定的。其中的时间戳为生成账号签名的时间,且上述账号签名通常也是有有效期限的。
具体的,在服务器代理组件接收到访问请求后,首先会根据SHA256算法对访问令牌进行解析验证,具有先确定账号信息是都与预设的账号信息是否一致,如果是,则再去根据时间戳确定账号签名是都过期。如果当前时间相对于时间戳指示的时间超过了账号签名的有效期限,则确定账号签名过期。如果当前时间相对于时间戳指示的时间未超过了账号签名的有效期限,则确定账号签名有效,确定外部服务的身份合法。
另外,如果服务器代理组件确定账号签名过期,则外部服务的服务器管理平台后端服务会向服务器代理组件请求账号签名。
上述方式中,为了避免非法的外部服务入侵容器,导致数据泄露等安全性问题。通过服务器代理组件的访问限制功能验证账号签名、账号信息和时间戳,保障了服务器管理控制的安全性。
上述访问请求携带有访问标识;上述确定访问请求的访问操作合法的步骤,一种可能的实施方式:
(1)根据访问标识遍历预设的指令集,如果预设的指令集中存在访问标识对应的操作指令,确定访问请求的访问操作合法;
为了保证虚拟服务进程的安全,预先将所有指令设置为一个指令集,通过访问标识,即指定ID对应的指令在预设的指令集中定义过,才允许执行,即确定访问请求的访问操作合法。上述预设的指令集可以分为两大类,系统指令和虚拟服务进程指令;在执行数量上看,单次可执行1条指令,也可以执行多条混合指令;执行模式分同步执行和异步执行两种;
(2)如果预设的指令集中不存在访问标识对应的操作指令,根据访问标识遍历预设的函数表,如果预设的函数表中存在访问标识对应的目标函数,确定访问请求的访问操作合法。
预设的函数表为自定义的函数,用于无法完成的复杂的访问请求,需要通过调用函数执行的访问操作,例如权限判断、动态计算等。自定义函数也有个函数定义表,即上述预设的函数表,由函数ID与对应的函数一一对应,只能调用定义了函数ID的函数,支持参数传送。
另外,如果访问请求就是针对文件内容或文件夹的操作,可以直接确定访问请求的访问操作合法。
上述方式中,为了避免非法操作对容器和虚拟服务进程进行操作,导致数据泄露等安全性问题。通过服务器代理组件的访问限制功能验证访问请求的访问操作,确定访问操作是否为预设的操作,保障了服务器管理控制的安全性。
下面描述执行访问请求对应的访问操作,得到访问结果的步骤,一种可能的实施方式:
(1)如果访问请求为指令操作,从预设的指令集中获取访问请求对应的操作指令,执行操作指令,得到访问结果;
具体的,指令操作包括同步无参数指令,同步带参数指令以及异步指令。针对同步无参数指令,根据访问标识,即指令ID,查询预设的指令集,获取指令ID的完整操作指令,然后执行该完整操作指令,得到执行结果。针对同步带参数指令,根据访问标识,即指令ID,查询预设的指令集,获取指令ID的完整操作指令,合并指令参数,然后执行合并后的完整操作指令,得到执行结果。针对异步指令,根据访问标识,即指令ID,查询预设的指令集,获取指令ID的完整操作指令,合并指令参数,然后执行合并后的完整操作指令,输出日志,返回日志文件路径,查询日志文件获取执行结果。
另外,如果是操作指令集合,根据指令ID查询预设的指令集,如果有指令赋值,则可以进行指令赋值,然后串行执行指令输出日志,返回日志路径,查询日志获取执行结果。
(2)如果访问请求为函数操作,从预设的函数表中调用访问请求对应的目标函数,执行目标函数,得到访问结果;
上述函数操作通常是才参数的函数,根据访问标识,即函数ID,从预设的函数表中确定函数ID对应的目标函数,解析参数后调用目标函数并传递参数执行该函数操作,得到访问结果。
(3)如果访问请求为文件操作,根据访问请求对访问请求指示的文件进行增加、删除、修改或查询的操作,得到访问结果。
上述文件操作包括文件内容操作和文件目录操作;比如,针对文件内容操作中的文件内容读取(即上述查询)操作,具体为获取文件内容或文件属性(比如文件类型、大小、编码、创建时间、MD5等),返回获取到信息。针对文件内容操作中的文件内容写入(即上述增加)操作,判断文件是否存在,如果存在覆盖写入或者后面添加写入;如果不存在,则新建文件,在新建文件中写入内容。针对文件内容操作中的文件内容删除操作,则可以直接删除文件中的内容。
上述方式中,通过服务器代理组件可以直接处理容器中的虚拟服务进程,可以达到与物理服务器一样的代码更新效率,容器化隔离后,虚拟服务进程的目录结构可完整模拟外部服务,启动脚本等都直接复用外部服务,达到非常高的内外服一致性;类似物理服的svn同步模式,巫师指令、工具配套等通过细微调整就可以完美适配;自研发的中间件,在开发上有较大的自由度,并且可以很好地控制访问权限,安全性上有保障。
另外,服务器代理组件直接管理,省去了每次变更都重新构建镜像的计算资源投入,可以更精确地更新对应内容,例如指定分支的代码、表格、引擎、巫师指令等;在更新效率上,直接从svn仓库拉取最新内容,比容器构建效率更高。
下面描述通过服务器代理组件向外部服务注册容器和虚拟服务进程的步骤,一种可能的实施方式:通过容器预先配置的接口,获取容器的相关信息;相关信息包括:容器的IP地址,容器的端口地址和容器中虚拟服务进程的进程标识符;将相关信息保存至外部服务的服务管理文件,以使外部服务根据服务管理文件获取容器的IP地址或端口地址,通过服务器代理组件访问容器中的虚拟服务进程。
首先需要说明,本实施例中,为了更好地使用接口服务,还提供了ServerBridgeAPI(Application Programming Interfac0,应用程序编程接口)即上述预先配置的接口,用于简单快速调用服务器代理组件的接口,调用方式与本地方法一致,底层使用HTTP(Hypertext Transfer Protocol,超文本传输协议)连接方式。
下面描述使用HTTP连接方式相比RPC(Remote Procedure Call,远程过程调用)的好处。相比速度来说,RPC更快,但是开发难度和灵活性都是HTTP更简单更灵活。如果对效率要求更高,并且开发过程使用统一的技术栈,那么用RPC还是不错的;但是想要快速开发,并且有更好的灵活性,则使用HTTP。在实际应用上来看,本实施例采用HTTP的方式做服务交互,性能上是可以满足需求的,RESTful(Representational State Transfer,一种网络应用程序的设计风格和开发方式)风格的API设计也让我们在多个微服务交互开发上达到很高的效率。
上述向外部服务注册容器和虚拟服务进程的步骤,可以理解为服务注册,如图6所所示的服务管理即上述外部服务中的服务管理文件,用于为所有容器提供服务管理,包括服务器管理平台连接调用对应容器服务器代理组件,支持容器IP地址动态变更,通过虚拟服务进程的进程标识符可以检索到对应的容器。另外,参见图7所示,服务器管理平台与容器是1对多关系。
实际实现时,在创建容器后启动服务器代理组件,通过容器预先配置的接口,获取容器的IP地址,容器的端口地址和容器中虚拟服务进程的进程标识符(或称为进程ID);将容器的IP地址,容器的端口地址和容器中虚拟服务进程的进程标识符保存至外部服务的服务管理文件,完成服务注册流程。通常在服务器管理平台后端可以通过虚拟服务进程的进程标识符查询服务管理文件,获取容器的IP地址和容器的端口地址,连接容器内的服务器代理组件,向服务器代理组件获取访问令牌。
另外,通过容器预先配置的接口,获取容器的相关信息的步骤之后,上述方法还包括:将相关信息更新至外部服务的列表管理文件;其中,列表管理文件包括客户端列表文件和服务端列表文件,以使外部服务根据客户端列表文件中的容器IP地址或端口地址,登录容器中的虚拟服务进程,以及使容器,根据服务端列表文件中的容器IP地址或端口地址,将各个容器中的虚拟服务进程相互连接。
上述列表管理文件为客户端去连接调用对应容器服务器代理组件提供服务,同时为各个容器中虚拟服务进程相互连接提供服务。如图7所示,外部服务包括列表管理,即上述列表管理文件。实际实现时,在创建容器后启动服务器代理组件,通过容器预先配置的接口,获取容器的IP地址,容器的端口地址和容器中虚拟服务进程的进程标识符(或称为进程ID);通过组件中的列表服务(包括客户端列表管理服务和服务端列表管理服务两种),将容器的IP地址,容器的端口地址和容器中虚拟服务进程的进程标识符更新至外部服务的客户端列表文件和服务端列表文件。
上述方式中,通过服务器代理组件可以向外部服务进行服务注册,以使外部服务能够根据服务管理文件获取容器的地址,进而与服务器代理组件连接,进行访问操作。同时通过服务器代理组件可以向外部服务进行列表注册,以使外部服务能够根据服务管理文件获取容器的地址,进而使客户端与服务器代理组件连接,以及各个容器的虚拟服务进程连接。
另外,本实施例中的外部服务是微服务的模式,具有松耦合,避免重复开发,开发效率高的优点。
为了保证外部服务的服务管理文件和列表管理文件的实时性:如果容器的相关信息更新,将更新后的容器的相关信息更新至服务管理文件和列表管理文件。
具体的,可以是当容器的相关信息更新,将更新消息发送至服务器代理组件,以使服务器代理组件再次获取更新后的容器的相关信息,将更新后的容器的相关信息更新至服务管理文件和列表管理文件。还可以是服务器代理组件实时监测容器的相关信息,如果发生变更将变更后的容器的相关信息更新至服务管理文件和列表管理文件。该方式中,通过更新服务管理文件和列表管理文件,可以保证外部服务的一致性和实时性。
如图7所示,上述外部服务包括服务器管理平台和人员管理服务;服务器管理平台用于:通过人员管理服务验证登录账号;图7中的人员管理即人员管理服务。
具体用户登录服务器管理平台后,通过获取人员管理服务中的用户信息验证该用户的身份是否合法。如果合法则允许该用户登录服务器管理平台。另外,上述服务器管理平台为前端一站式的管理平台,在前端,可以通过服务器管理平台,整合了人员身份验证、容器调度、服务器代理组件交互、实时协议查看等功能。人员身份验证结合外部服务的人员管理服务,认证访问人员是否为本组成员,容器管理包括容器查询和调度,容器调度包括后端的容器创建、释放和重建操作,测试人员在管理平台上一站式管理,避免在多个网站之间来回切换的割裂式体验,同时在用户体验上也更接近之前的模式。服务器代理组件交互是指前端与容器和虚拟服务进程之间的操作交互,例如重启更新、分支切换、引擎更新、配置修改、热更新、代码修改、日志查看、数据查看、等等,都集合到了前端,服务器代理组件是无用户感知的,操作远端容器与操作本地服务器体验一致。工具前端还包含了用户登陆、协议查看、模板号管理、客户端代码运行、协议测试、战斗测试、性能管理、外服账号管理、时间管理、patch构建、node管理等功能。
下面描述接收来自外部服务的针对虚拟服务进程的访问请求的步骤之前,通过服务器代理组件还执行下述操作步骤:接收来自服务器管理平台服务端的目标账号的账号签名获取请求;如果预先配置的IP地址表单中包括服务器管理平台服务端的IP地址,将目标账号的账号签名返回至目标账号;其中,账号签名设置有有效期限。
如果服务器管理平台想要发送访问请求,需要携带有访问令牌,该访问令牌需要服务器管理平台服务端预先向服务器代理组件获取,具体的,服务器管理平台服务端验证了登录账号身份合法后,会向容器的服务器代理组件发送账号签名(sign)获取请求,服务器代理组件接收到账号签名获取请求后,首先需要验证服务器管理平台服务端的IP地址,如果该IP地址不在预先配置的IP地址表单,则不会返回账号签名,如果该IP地址在预先配置的IP地址表单,将目标账号的账号签名返回至目标账号,账号签名设置有有效期限,该有效期限可以是24小时。如果账号签名过期,则服务器管理平台服务端,会再次向账号签名获取请求账号签名。
另外,本实施例中支持分布式会话,会话session中会判断是否存在有效签名,如果没有,则会通过上述步骤获取,因此本构架中可以支持多个session分布式访问。包括多浏览器、多终端设备访问同一台容器服务器。
上述方式中,账号签名获取请求由服务器管理平台的服务端发起,通过服务器代理组件确定只能使预先配置的IP地址表单的服务器才可以获取,避免了非法请求导致签名泄漏。
上述服务器管理平台还用于:控制底层容器服务针对容器进行调度操作;调度操作包括:创建、释放和重建操作。
如图7所示的AtlasX集群管理即上述底层容器服务,具体为AtlasX集群管理工具提供的服务,AtlasX提供了底层的容器编排服务,通过API进行容器的创建、释放、重建等操作,可自定义容器资源占用、环境变量等。该方式中,通过服务器管理平台控制底层容器服务,可以实现容器的创建、释放和重建操作,更加稳定高效,且实现了资源可伸缩性,支持自动扩缩容。
上述通过服务器代理组件还执行下述操作步骤:定时执行预设的编译检查脚本,解析检查结果,并将检查结果返回至外部服务。
具体的,可以在代理服务组件中预先设置编译检查脚本,实现自动化检查:服务器代理组件定时执行编译检查脚本,解析检查结果,即判断代码逻辑写法是否正确,检查结果显示到管理平台上。
上述服务器代理组件还包括管理服务;通过管理服务执行下述操作步骤:定时接收服务器管理组件发送的心跳信号,如果在预设时间内未接收到服务器代理组件发送的心跳信号,控制服务器代理组件下线。
为了保证服务器代理组件能够实时为容器提供代理服务,通过服务器代理组件中的管理服务,监控服务器代理组件的状态,具体的,定时接收服务器管理组件发送的心跳信号,如果在预设时间内未接收到服务器代理组件发送的心跳信号,控制服务器代理组件下线,同时可以让其他工具实时获取容器服务的状态。
上述方式中,通过服务器代理组件可以在容器内直接更新代码,重启更新流程更高效,开发有更高的自由度,安全性有保障,节省了计算资源,虚拟服务进程按需更新,无需每次提交都重新构建最新镜像。服务器管理平台集成的模式,用户体验有非常大的提升,一体式化测试平台,进一步提升测试效率。另外,通用性更好,只要容器部署的游戏服都可以复用,不限制游戏服引擎。
对应上述的方法实施例,本发明实施例还提供了一种服务器的管理控制装置,该装置设置于运行有容器的设备;容器中包括服务器代理组件和虚拟服务进程;在初始阶段,服务器代理组件用于初始化虚拟服务进程的运行环境,并向外部服务注册容器和虚拟服务进程,以使虚拟服务进程对外部服务提供访问功能;如图8所示,该装置中的服务器代理组件包括:
接收模块81,用于接收来自外部服务的针对虚拟服务进程的访问请求;
确定模块82,用于确定外部服务的身份合法,且访问请求的访问操作合法;
执行模块83,用于执行访问请求对应的访问操作,得到访问结果;向外部服务返回访问结果。
本发明提供了一种服务器的管理控制装置,该装置设置于运行有容器的设备;容器中的服务器代理组件用于执行:接收来自外部服务的针对容器中虚拟服务进程的访问请求;确定外部服务的身份合法,且访问请求的访问操作合法;执行访问请求对应的访问操作,得到访问结果,向外部服务返回访问结果。该方式中,通过在容器中设置服务器代理组件,可以对外部服务提供访问功能,还可以接收外部服务的访问请求,在确定合法性后直接在容器内执行访问请求对应的访问操作,尤其在服务进程发生更新时,无需重新构建镜像,直接在容器中按需进行更新,减少了计算资源,提高了管理和开发效率,通用性较好,满足了服务器的测试需求。
进一步的,上述访问请求携带有访问令牌;上述确定模块还用于:对访问令牌进行解析,得到解析结果;其中,解析结果包括账号签名、账号信息和时间戳;如果账号信息与预设的账号信息一致,且时间戳指示账号签名有效,确定外部服务的身份合法。
进一步的,上述访问请求携带有访问标识;上述确定模块还用于:根据访问标识遍历预设的指令集,如果预设的指令集中存在访问标识对应的操作指令,确定访问请求的访问操作合法;如果预设的指令集中不存在访问标识对应的操作指令,根据访问标识遍历预设的函数表,如果预设的函数表中存在访问标识对应的目标函数,确定访问请求的访问操作合法。
进一步的,上述确定模块还用于:如果访问请求是针对文件内容或文件夹的操作,确定访问请求的访问操作合法。
进一步的,上述执行模块还用于:如果访问请求为指令操作,从预设的指令集中获取访问请求对应的操作指令,执行操作指令,得到访问结果;如果访问请求为函数操作,从预设的函数表中调用访问请求对应的目标函数,执行目标函数,得到访问结果;如果访问请求为文件操作,根据访问请求对访问请求指示的文件进行增加、删除、修改或查询的操作,得到访问结果。
进一步的,所述服务器代理组件还有用于:通过容器预先配置的接口,获取容器的相关信息;相关信息包括:容器的IP地址,容器的端口地址和容器中虚拟服务进程的进程标识符;将相关信息保存至外部服务的服务管理文件,以使外部服务根据服务管理文件获取容器的IP地址或端口地址,通过服务器代理组件访问容器中的虚拟服务进程。
进一步的,所述服务器代理组件还有用于::将相关信息更新至外部服务的列表管理文件;其中,列表管理文件包括客户端列表文件和服务端列表文件,以使外部服务根据客户端列表文件中的容器IP地址或端口地址,登录容器中的虚拟服务进程,以及使容器,根据服务端列表文件中的容器IP地址或端口地址,将各个容器中的虚拟服务进程相互连接。
进一步的,所述服务器代理组件还有用于:如果容器的相关信息更新,将更新后的容器的相关信息更新至服务管理文件和列表管理文件。
进一步的,上述外部服务包括服务器管理平台和人员管理服务;上述服务器管理平台用于:通过人员管理服务验证登录账号;上述服务器代理组件用于:接收来自服务器管理平台服务端的目标账号的账号签名获取请求;如果预先配置的IP地址表单中包括服务器管理平台服务端的IP地址,将目标账号的账号签名返回至目标账号;其中,账号签名设置有有效期限。
进一步的,上述服务器管理平台还用于:控制底层容器服务针对容器进行调度操作;调度操作包括:创建、释放和重建操作。
进一步的,上述装置还用于:定时执行预设的编译检查脚本,解析检查结果,并将检查结果返回至外部服务。
进一步的,上述服务器代理组件还包括管理服务;上述装置还用于:定时接收服务器管理组件发送的心跳信号,如果在预设时间内未接收到服务器代理组件发送的心跳信号,控制服务器代理组件下线。
本发明实施例提供的服务器的管理控制装置,与上述实施例提供的服务器的管理控制方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述服务器的管理控制方法。该电子设备可以是服务器,也可以是终端设备。
参见图9所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述服务器的管理控制方法。
进一步地,图9所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述服务器的管理控制方法。
本发明实施例所提供的服务器的管理控制方法、装置、电子设备以及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种服务器的管理控制方法,其特征在于,所述方法应用于运行有容器的设备;所述容器中包括服务器代理组件和虚拟服务进程;在初始阶段,所述服务器代理组件用于初始化所述虚拟服务进程的运行环境,并向外部服务注册所述容器和所述虚拟服务进程,以使所述虚拟服务进程对所述外部服务提供访问功能;通过所述服务器代理组件执行下述操作步骤:
接收来自所述外部服务的针对所述虚拟服务进程的访问请求;
确定所述外部服务的身份合法,且所述访问请求的访问操作合法;
执行所述访问请求对应的访问操作,得到访问结果;向所述外部服务返回所述访问结果。
2.根据权利要求1所述的方法,其特征在于,所述访问请求携带有访问令牌;
确定所述外部服务的身份合法的步骤,包括:
对所述访问令牌进行解析,得到解析结果;其中,所述解析结果包括账号签名、账号信息和时间戳;
如果所述账号信息与预设的账号信息一致,且所述时间戳指示所述账号签名有效,确定所述外部服务的身份合法。
3.根据权利要求1所述的方法,其特征在于,所述访问请求携带有访问标识;
确定所述访问请求的访问操作合法的步骤,包括:
根据所述访问标识遍历预设的指令集,如果所述预设的指令集中存在所述访问标识对应的操作指令,确定所述访问请求的访问操作合法;
如果所述预设的指令集中不存在所述访问标识对应的操作指令,根据所述访问标识遍历预设的函数表,如果所述预设的函数表中存在所述访问标识对应的目标函数,确定所述访问请求的访问操作合法。
4.根据权利要求1所述的方法,其特征在于,确定所述访问请求的访问操作合法的步骤,包括:
如果所述访问请求是针对文件内容或文件夹的操作,确定所述访问请求的访问操作合法。
5.根据权利要求1所述的方法,其特征在于,执行所述访问请求对应的访问操作,得到访问结果的步骤,包括:
如果所述访问请求为指令操作,从预设的指令集中获取所述访问请求对应的操作指令,执行所述操作指令,得到访问结果;
如果所述访问请求为函数操作,从预设的函数表中调用所述访问请求对应的目标函数,执行所述目标函数,得到访问结果;
如果所述访问请求为文件操作,根据所述访问请求对所述访问请求指示的文件进行增加、删除、修改或查询的操作,得到访问结果。
6.根据权利要求1所述的方法,其特征在于,通过所述服务器代理组件向外部服务注册所述容器和所述虚拟服务进程的步骤,包括:
通过所述容器预先配置的接口,获取所述容器的相关信息;所述相关信息包括:所述容器的IP地址,所述容器的端口地址和所述容器中虚拟服务进程的进程标识符;
将所述相关信息保存至所述外部服务的服务管理文件,以使所述外部服务根据所述服务管理文件获取所述容器的IP地址或端口地址,通过所述服务器代理组件访问所述容器中的虚拟服务进程。
7.根据权利要求6所述的方法,其特征在于,通过所述容器预先配置的接口,获取所述容器的相关信息的步骤之后,所述方法还包括:
将所述相关信息更新至所述外部服务的列表管理文件;其中,所述列表管理文件包括客户端列表文件和服务端列表文件,以使所述外部服务根据所述客户端列表文件中的容器IP地址或端口地址,登录所述容器中的虚拟服务进程,以及使所述容器,根据所述服务端列表文件中的容器IP地址或端口地址,将各个容器中的虚拟服务进程相互连接。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
如果所述容器的相关信息更新,将更新后的所述容器的相关信息更新至所述服务管理文件和列表管理文件。
9.根据权利要求1所述的方法,其特征在于,所述外部服务包括服务器管理平台和人员管理服务;所述服务器管理平台用于:通过所述人员管理服务验证登录账号;
接收来自所述外部服务的针对所述虚拟服务进程的访问请求的步骤之前,通过所述服务器代理组件还执行下述操作步骤:
接收来自所述服务器管理平台服务端的目标账号的账号签名获取请求;
如果预先配置的IP地址表单中包括所述服务器管理平台服务端的IP地址,将所述目标账号的账号签名返回至所述目标账号;其中,所述账号签名设置有有效期限。
10.根据权利要求9所述的方法,其特征在于,所述服务器管理平台还用于:控制底层容器服务针对所述容器进行调度操作;所述调度操作包括:创建、释放和重建操作。
11.根据权利要求1所述的方法,其特征在于,通过所述服务器代理组件还执行下述操作步骤:
定时执行预设的编译检查脚本,解析检查结果,并将所述检查结果返回至所述外部服务。
12.根据权利要求1所述的方法,其特征在于,所述服务器代理组件还包括管理服务;通过所述管理服务执行下述操作步骤:
定时接收所述服务器管理组件发送的心跳信号,如果在预设时间内未接收到所述服务器代理组件发送的心跳信号,控制所述服务器代理组件下线。
13.一种服务器的管理控制装置,其特征在于,所述装置设置于运行有容器的设备;所述容器中包括服务器代理组件和虚拟服务进程;在初始阶段,所述服务器代理组件用于初始化所述虚拟服务进程的运行环境,并向外部服务注册所述容器和所述虚拟服务进程,以使所述虚拟服务进程对所述外部服务提供访问功能;所述装置中的服务器代理组件包括:
接收模块,用于接收来自所述外部服务的针对所述虚拟服务进程的访问请求;
确定模块,用于确定所述外部服务的身份合法,且所述访问请求的访问操作合法;
执行模块,用于执行所述访问请求对应的访问操作,得到访问结果;向所述外部服务返回所述访问结果。
14.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-12任一项所述的服务器的管理控制方法。
15.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-12任一项所述的服务器的管理控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210195638.XA CN114827258B (zh) | 2022-03-01 | 2022-03-01 | 服务器的管理控制方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210195638.XA CN114827258B (zh) | 2022-03-01 | 2022-03-01 | 服务器的管理控制方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827258A CN114827258A (zh) | 2022-07-29 |
CN114827258B true CN114827258B (zh) | 2024-03-22 |
Family
ID=82528292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210195638.XA Active CN114827258B (zh) | 2022-03-01 | 2022-03-01 | 服务器的管理控制方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827258B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366240B1 (en) * | 2017-01-25 | 2019-07-30 | Intuit Inc. | Authorization to access a server in the cloud without obtaining an initial secret |
CN110213121A (zh) * | 2019-04-28 | 2019-09-06 | 山石网科通信技术股份有限公司 | 虚拟通信产品的测试平台、测试方法和测试装置 |
CN113574845A (zh) * | 2019-04-26 | 2021-10-29 | 国际商业机器公司 | 内部和外部调试 |
CN113760733A (zh) * | 2021-02-02 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种单元测试方法和装置 |
US11200157B1 (en) * | 2019-09-17 | 2021-12-14 | Amazon Technologies, Inc. | Automated execution reporting for container builds |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10152211B2 (en) * | 2014-11-11 | 2018-12-11 | Amazon Technologies, Inc. | Application delivery agents on virtual desktop instances |
US11157242B2 (en) * | 2019-09-30 | 2021-10-26 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for local web components development within a cloud based computing environment |
-
2022
- 2022-03-01 CN CN202210195638.XA patent/CN114827258B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366240B1 (en) * | 2017-01-25 | 2019-07-30 | Intuit Inc. | Authorization to access a server in the cloud without obtaining an initial secret |
CN113574845A (zh) * | 2019-04-26 | 2021-10-29 | 国际商业机器公司 | 内部和外部调试 |
CN110213121A (zh) * | 2019-04-28 | 2019-09-06 | 山石网科通信技术股份有限公司 | 虚拟通信产品的测试平台、测试方法和测试装置 |
US11200157B1 (en) * | 2019-09-17 | 2021-12-14 | Amazon Technologies, Inc. | Automated execution reporting for container builds |
CN113760733A (zh) * | 2021-02-02 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种单元测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114827258A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111641675A (zh) | 多租户访问服务实现方法、装置、设备及存储介质 | |
JP2013522794A (ja) | 仮想化及び認証を用いた電子ネットワークにおける複数のクライアントの遠隔保守のためのシステム及び方法 | |
WO2016197609A1 (zh) | 一种应用的用户信息管理的方法、设备及系统 | |
CN114780569B (zh) | 一种拟态redis数据库的输入输出代理方法和装置 | |
CN113076502A (zh) | 一种基于请求标识的参数控制方法与系统 | |
CN112491948A (zh) | 非侵入式的单体应用微服务化方法、装置及计算机设备 | |
CN112073374B (zh) | 信息拦截方法、装置及设备 | |
CN111177703B (zh) | 操作系统数据完整性的确定方法及装置 | |
CN111414191A (zh) | 一种小程序的灰度发布方法及装置 | |
CN112256351B (zh) | Feign组件的实现方法、微服务调用方法及装置 | |
US20120271881A1 (en) | Systems and methods for updating computer memory and file locations within virtual computing environments | |
CN114827258B (zh) | 服务器的管理控制方法、装置和电子设备 | |
CN112527669A (zh) | 本地服务的自测方法及系统 | |
CN110798504B (zh) | 跨区域共享服务的方法、装置、管理设备及存储介质 | |
US9367512B2 (en) | Systems and methods for dynamically updating virtual desktops or virtual applications in a standard computing environment | |
CN116166383A (zh) | 访问方法、访问系统、计算设备及计算机存储介质 | |
CN111190637B (zh) | 一种版本文件发布的管理方法、装置以及系统 | |
CN112311716A (zh) | 一种基于openstack的数据访问控制方法、装置及服务器 | |
KR102086088B1 (ko) | 접속점 이름을 변경하는 단말 장치, 디바이스 매니저 어플리케이션 및 서비스 어플리케이션 | |
KR20150109233A (ko) | 애플리케이션에 대한 로그인을 수행하는 방법 및 이를 위한 서버 | |
CN113271320B (zh) | 一种终端认证方法、装置、系统、介质及设备 | |
US12034647B2 (en) | Data plane techniques for substrate managed containers | |
EP4375850A1 (en) | Multi-blockchain data processing method and apparatus, and device, system and medium | |
US20240080277A1 (en) | Data plane techniques for substrate managed containers | |
CN110290429B (zh) | 一种栏目下发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |