请求处理方法、装置、设备、存储介质及系统与流程

文档序号:33126175发布日期:2023-02-01 05:18阅读:35来源:国知局
请求处理方法、装置、设备、存储介质及系统与流程

1.本公开涉及请求处理技术领域,尤其涉及一种请求处理方法、装置、设备、存储介质及系统。


背景技术:

2.随着计算机和数据传输技术的发展,各行各业使用高性能计算机(high performance computing,hpc)集群中的逻辑资源进行请求处理的集群用户越来越多。
3.目前,使用高性能计算机集群中的逻辑资源进行请求处理还采用传统方式,传统方式为:集群用户通过专用网络在本地计算机使用安全外壳协议(secure shell,ssh)客户端登录高性能计算机集群的特定几个登录节点,然后通过命令行方式使用高性能计算机集群的逻辑资源进行请求处理。
4.然而,使用传统方式进行请求处理的缺点是:集群用户登录特定节点使用统一的逻辑资源,当在特定几个登录节点登录的集群用户很多时,单个登录节点容易出现资源占用高的问题,容易造成资源浪费,并且,单个登录节点上不同集群用户的处理过程数据不能完全隔离,存在数据泄露的风险,如果登录节点故障,需要对集群用户重新授权进行登录节点切换。综上,传统的请求处理方式效果不好,有待改进。


技术实现要素:

5.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种请求处理方法、装置、设备、存储介质及系统。
6.第一方面,本公开提供了一种请求处理方法,应用于微服务管理平台,所述微服务管理平台连接高性能计算机集群上的多个登录节点,每个所述登录节点运行至少一个容器,每个容器对应至少一个登录节点,每个所述容器运行一个微服务,每个所述微服务通过对所述高性能计算机集群中不同集群用户的逻辑资源进行虚拟化封装得到,所述方法包括:获取待处理请求;基于所述待处理请求携带的请求地址,从所述多个登录节点运行的微服务中确定对所述待处理请求进行处理的目标微服务;启动所述目标微服务,并通过成功启动的目标微服务对所述待处理请求进行处理。
7.第二方面,本公开提供了一种请求处理装置,配置于微服务管理平台,所述微服务管理平台连接高性能计算机集群上的多个登录节点,每个所述登录节点运行至少一个容器,每个容器对应至少一个登录节点,每个所述容器运行一个微服务,每个所述微服务通过对所述高性能计算机集群中不同集群用户的逻辑资源进行虚拟化封装得到,所述装置包括:获取模块,用于获取待处理请求;
确定模块,用于基于所述待处理请求携带的请求地址,从所述多个登录节点运行的微服务中确定对所述待处理请求进行处理的目标微服务;请求处理模块,用于启动所述目标微服务,并通过成功启动的目标微服务对所述待处理请求进行处理。
8.第三方面,本公开实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现第一方面所提供的方法。
9.第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面所提供的方法。
10.第五方面,本公开实施例还提供了一种任务处理系统,包括:微服务管理平台和高性能计算机集群,所述微服务管理平台连接高性能计算机集群上的多个登录节点,每个所述登录节点运行至少一个容器,每个容器对应至少一个登录节点,每个所述容器运行一个微服务,每个所述微服务通过对所述高性能计算机集群中不同集群用户的逻辑资源进行虚拟化封装得到。
11.本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例的一种请求处理方法、设备、存储介质及系统,所述方法应用于微服务管理平台,所述方法包括:获取待处理请求;基于待处理请求携带的请求地址,从多个登录节点运行的微服务中确定对待处理请求进行处理的目标微服务;启动目标微服务,并通过成功启动的目标微服务对待处理请求进行处理。由于微服务管理平台连接高性能计算机集群上的多个登录节点,每个登录节点运行至少一个容器,每个容器对应至少一个登录节点,每个容器运行一个微服务,每个微服务通过对高性能计算机集群中的逻辑资源进行虚拟化封装得到。这样,可以将每个集群用户的逻辑资源封装为独立的微服务并运行在登录节点的独立容器中,使得不同集群用户只能在包含其能使用的微服务的登录节点上使用自己的逻辑资源,不会在单个登录节点出现资源竞争和资源拥挤问题,也会将不同集群用户的处理过程数据完全隔离,提高了数据安全性,另外,由于每个微服务运行的容器对应至少一个登录节点,如果某个集群用户当前登录的登录节点发生故障,还可以基于允许该集群用户使用的微服务对应的容器,找到其他登录节点进行登录,实现登录节点动态无感知的迁移和调度。综上,本公开实施例提供的请求处理方法,提高了请求处理方式的安全性和灵活性。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
13.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
14.图1为现有技术提供的一种传统的集群资源使用方法示意图;
图2为本公开实施例提供的一种集群资源使用方法示意图;图3为本公开实施例提供的一种请求处理系统的系统架构图;图4为本公开实施例提供的一种请求处理方法的流程示意图;图5为本公开实施例提供的微服务管理平台的模块示意图;图6为本公开实施例提供的登录接口的模块示意图;图7为本公开实施例提供的微服务调度接口的模块示意图;图8为本公开实施例提供的微服务状态转换流程图;图9为本公开实施例提供的微服务启动顺序示意图;图10为本公开实施例提供的一种请求处理装置的结构示意图;图11为本公开实施例提供的一种请求处理设备的结构示意图。
具体实施方式
15.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
16.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
17.在传统方式中,高性能计算机集群中的逻辑资源是统一的不可分割的逻辑整体,没有基于逻辑资源的功能进行划分,并且,高性能计算机集群配置特定的几个登录节点,不同集群用户可以被授权登录不同的登录节点。当集群用户使用高性能计算机集群中的逻辑资源进行请求处理时,首先通过ssh客户端登录被授权的登录节点,然后输入命令行使用高性能计算机集群中的逻辑资源进行请求处理。
18.为了便于理解,图1示出了一种传统的集群资源使用方法示意图。图1包括高性能计算机集群100和多个集群用户终端110,高性能计算机集群100包括集群1、集群2

集群m,并且对应特定的几个登录节点,分别记为登录节点11、登录节点12,多个集群用户终端110记为集群用户终端111、集群用户终端112

集群用户终端11n。具体的,集群用户终端111、集群用户终端112

集群用户终端11n分别连接登录节点11、登录节点12中的任意一个,使得不同的集群用户被授权登录不同的登录节点。然而,当n数值很大时,单个登录节点上会有很多集群用户登录,容易出现资源占用高、数据泄露以及登录节点故障无法灵活切换等问题。
19.另外,还可能因为无法监控请求处理过程,导致出现异常而无法得到解决的问题,以及因为请求处理过程无法提供标准化的方式,导致开发过程繁琐。
20.综上所述,传统的基于高性能计算机集群的请求处理方式具有如下问题:(1)高性能计算机集群的逻辑资源概念模糊,使用方式单一:传统的集群用户没有逻辑资源的特定概念,高性能计算机集群上的逻辑资源是统一的不可分割的整体,如果集群用户在某个时间段只想进行某一类型的操作(如文件访问),也必须登录到登录节点才能进行文件传输,然而,文件传输、压缩文件又会对该登录节点造成资源使用压力,并且,软件安装时也必须登录到登录节点才能进行软件安装,操作过程不但重复繁琐,还容易出错,同
时也会造成登录节点的资源浪费。
21.(2)大量集群用户统一登录单个登录节点,容易造成单个登录节点出现资源占用高的问题:传统方式中的集群用户共享登录节点,通过linux多用户的方式对资源进行权限限制,但linux系统的资源限制方式有限,可能某个集群用户将一个登录节点的cpu、内存、网络带宽、存储io等占满之后,其他集群用户在使用该登录节点处理请求的时候,就会出现卡顿甚至宕机等问题,造成集群用户之间资源竞争,单个登录节点负载过高的问题。
22.(3)多个集群用户共享登录节点时,不同集群用户的处理过程数据不能完全隔离,若出现系统漏洞还会造成数据访问越界的问题,还会存在数据泄露的风险:传统方式中的集群用户在同一个登录节点上有自己的分布式文件数据目录,但所有用户的文件系统都是在该登录节点上可访问的,只是访问权限由系统管理员做了限制,由于linux系统本身原因,即使限制了数据的读写,但集群用户的目录结构还是能够互相可见,如果登录节点存在系统漏洞,被恶意用户发现还能造成数据访问权限提权,处理过程数据不能得到安全保证。
23.(4)大量集群用户使用同一个登录节点时,容易出现单个登录节点故障问题:传统方式中的集群用户在特定几个登录节点上使用高性能计算机集群的逻辑资源,如图1所示,高性能计算机集群有2个登录节点,为了平衡每个登录节点,0001-1000编号的集群用户只能在登录节点11上登录并处理请求,1001-2000编号的集群用户则只能在登录节点12上登录并处理请求。这时,如果登录节点11因为硬件或者系统故障不能使用,0001-1000编号的集群用户需要在高性能计算机集群的管理员授权之后才能切换到登录节点12重新登录,使得登录节点切换的灵活性较差,给用户造成很大的不便。
24.(5)集群用户使用逻辑资源的过程不可知,无法为集群用户提供可靠的实时服务:传统方式中的集群用户在使用高性能计算机集群中的逻辑资源时,高性能计算机集群的系统管理员基本是无感知的,也就是集群用户出现了资源受限、网络掉线、登录节点掉线等不能使用,或使用出现卡顿问题时,系统管理员不能主动发现,只能通过用户电话、邮件反馈后,或者发现系统报警后询问用户确认等方式才能得到解决,这给用户的使用造成了很大不便。
25.(6)高性能计算机集群中逻辑资源的使用方式单一,没有提供平台化和标准化的资源调用方式:传统方式中的高性能计算机集群只提供了用户的使用入口(即登录节点),使用方式就是集群用户使用ssh客户端在登录节点进行登录,然后通过命令行方式使用高性能计算机集群的逻辑资源,这种方式不能给使用高性能计算机集群的逻辑资源的行业应用平台提供一种标准化的资源调度方式,如果是行业平台调用则需要基于命令行方式自主开发服务,不但需要专业的高性能计算机集群人员和行业平台开发人员共同参与开发,而且使用过程也比较繁琐。
26.为了解决上述问题,本公开实施例提供了一种提高请求处理方式的安全性和灵活性的请求处理方法。图2示出了本公开实施例提供的一种集群资源使用方法示意图。图2包括高性能计算机集群200和多个集群用户终端210,高性能计算机集群200包括集群1、集群2

集群m,并且对应多个登录节点,分别表示为登录节点21和登录节点22。其中,每个登录节点上运行高性能计算机集群200中逻辑资源对应的微服务,微服务分别为:计算资源微服务、存储资源微服务、软件资源微服务、可视化资源微服务、终端资源微服务以及监控资源微服务。
27.具体的,预先将高性能计算机集群200上的逻辑资源进行逻辑抽象,抽象为功能独立的微服务,每个微服务均可以对应登录节点21和登录节点22,并且,不同集群用户只能在包含其能使用的微服务的登录节点上使用自己的逻辑资源,因此,不会在单个登录节点出现资源竞争和资源拥挤问题,提高集群资源的利用率,并将不同集群用户的处理过程数据完全隔离,提高了数据安全性,另外,当使用一个资源微服务时,若登录节点21发生故障,可以动态无感知的迁移和调度到登录节点22继续使用该资源。
28.为了便于理解请求处理的原理,图3示出了本公开实施例提供的一种请求处理系统的系统架构图。如图3所示,该请求处理系统包括:高性能计算机集群300、微服务管理平台310、多个集群用户终端320、微服务调度接口330、监控平台340、服务注册发现平台350和数据库360。
29.其中,高性能计算机集群300对应多个登录节点,分别为登录节点31、登录节点32以及登录节点33,每个登录节点运行多个容器,每个容器可以对应至少一个登录节点,每个容器运行一个微服务,每个微服务通过对高性能计算机集群300中不同集群用户的逻辑资源进行虚拟化封装得到。
30.其中,微服务管理平台310通过微服务调度接口330连接高性能计算机集群300上的多个登录节点。
31.在本实施例中,基于上述请求处理系统,当微服务管理平台310获取到待处理请求时,基于待处理请求携带的请求地址,从多个登录节点运行的微服务中确定对待处理请求进行处理的目标微服务,然后启动目标微服务,并通过成功启动的目标微服务对待处理请求进行处理。
32.由此,单个登录节点不会出现资源竞争和资源拥挤问题,对集群用户来说可以将资源利用率最大化,也提高了数据安全性,还可以在某个登录节点发生故障时,无感的迁移和调度到其他登录节点。
33.在其他实施例中,多个集群用户终端320包括集群用户终端311、集群用户终端312

集群用户终端31n,可以以容器镜像方式表示逻辑资源,并基于集群用户在界面上的操作,生成待处理请求,并将待处理请求发送至微服务管理平台310;微服务管理平台310具体可以对待处理请求进行校验,若校验通过,确定目标微服务;进一步的,微服务管理平台310启动目标微服务,并利用目标微服务进行请求处理。具体的,可以通过白名单、平台用户认证并携带认证有效的令牌方式对请求进行校验,同时,访问微服务的接口都通过传输层安全(transport layer security,tls)加密方式进行加密传输,并且通过网关进行访问控制列表(access control lists,acl)设置。由此,可以从机制、通信流、系统等多方面提高微服务的安全性。
34.在其他实施例中,微服务管理平台310还可以更新集群用户以及微服务。在其他实例中,无论目标微服务成功启动还是未成功启动,微服务管理平台310还可以切换目标微服务的状态。由此,可以控制微服务在使用时启动,不使用时暂停或者关闭。
35.在其他实施例中,微服务管理平台310还可以基于监控平台340和服务注册发现平台350监测容器状态和微服务状态,更新容器状态和/或微服务状态,并将更新后的状态信息存储至数据库360,以及在监控到微服务和/或容器的异常状态时,将异常状态显示在集群用户终端320的界面上。由此,实现对容器和微服务进行全生命周期的状态监控。
36.在其他实施例中,本公开实施例通过采用微服务方式,以网络应用程序的设计风格和开发方式(representational state transfer,restful)标准化和规范化接口对平台进行发布,为高性能计算机集群应用开发平台提供了集群资源的二次开发环境,并大大扩展了集群资源的使用范围以及提高使用效率。
37.综上,本公开实施例提供的请求处理方法,具有如下效果:(1)将高性能计算机集群中的逻辑资源抽象为功能独立且不重复的微服务,集群用户使用的时候,可以根据需求进行动态选择和组合,方便用户使用集群资源。
38.(2)使用容器技术对高性能计算机集群中的逻辑资源进行虚拟化封装,封装后只提供特定的访问接口来调用其相应的逻辑资源,这样就确保了各个逻辑资源的相对独立性,封装形成的微服务运行在高性能计算机集群的登录节点上,每个容器都只提供其封装的微服务访问接口。通过虚拟化技术,对用户来说可以将资源利用率最大化,对系统管理员来说可以更方便的对用户资源进行管理。
39.(3)每个容器内的微服务对集群用户来说是独有专享的,容器内的微服务在集群用户使用时启动,不使用时销毁,避免了多个集群用户竞争单个登录节点的微服务,解决了资源拥挤的问题。
40.(4)高性能计算机集群中的逻辑资源通过容器镜像方式,每个逻辑资源对应一个容器镜像,每个镜像对应一个微服务,可以根据集群、用户、镜像来启动、暂停、关闭用户请求的微服务。
41.(5)微服务管理平台可以对容器和微服务进行全生命周期的状态监控,使得系统管理员可以实时掌握微服务、容器的状态,并在发生异常时,通过声音、短信、微信等多种报警方式进行提醒。
42.(6)使用服务注册发现方式对微服务进行健康检测,并通过失效触发脚本保证微服务可以在其他登录节点重启从而确保微服务自动保活,这样即使有因为系统或人为原因造成部分登录节点失效,只要还有可用登录节点,就可以自动迁移和调度到可用登录节点,使得集群用户继续使用微服务。
43.(7)使用白名单、签名认证、接口加密、微服务网关等多种方式对微服务进行访问保护,确保只能由启动该微服务的集群用户访问,其他任何集群用户不能访问使用,确保了从机制、通信流、系统等多方面确保提高微服务的安全性。
44.(8)给高性能计算机集群应用开发平台提供一种标准化的可对外开放的逻辑资源使用方式,具体是以restful标准化和规范化的接口对平台进行发布,为hpc应用开发平台提供了基于hpc资源的二次开发功能,有利于扩大集群资源的使用范围以及提高使用效率。
45.在上述实施例的基础上,首先结合图4至图9对本公开实施例提供的一种请求处理方法进行说明。
46.图4示出了本公开实施例提供的一种请求处理方法的流程示意图。
47.在本公开实施例中,图4所示的请求处理方法可以由微服务管理平台执行,微服务管理平台可以是电子设备或者服务器。其中,微服务管理平台连接高性能计算机集群上的多个登录节点,每个登录节点运行至少一个容器,每个容器对应至少一个登录节点,每个容器运行一个微服务,每个微服务通过对所述高性能计算机集群中不同集群用户的逻辑资源进行虚拟化封装得到。
48.如图4所示,该请求处理方法可以包括如下步骤。
49.s410、获取待处理请求。
50.在本实施例中,当集群用户想要使用高性能计算机集群中的逻辑资源时,可以通过集群用户终端向微服务管理平台发送使用逻辑资源的待处理请求,使得微服务管理平台调用高性能计算机集群中的逻辑资源进行请求处理。
51.其中,集群用户终端可以理解为微服务管理前端。
52.其中,高性能计算机集群中的逻辑资源是指功能独立的集群资源。
53.可选的,逻辑资源可以包括但不限于以下一种或者多种:计算资源、存储资源、终端资源、可视化应用资源、软件资源、监控资源。其中,计算资源只提供作业管理功能,如提交作业、查看作业、取消作业、机时统计等;存储资源只提供文件访问功能,如文件浏览、上传、下载、打开、删除、回收站等;终端资源提供模拟shell访问;可视化应用资源只提供远程可视化软件服务;软件资源只提供软件的浏览、加载、卸载等;监控资源只提供作业和相关进程的监控信息,如存储的利用率等。
54.在本公开实施例中,可选的,s410具体可以包括如下步骤:s4101、通过集群用户终端的界面显示集群用户控件、微服务镜像控件以及微服务启动控件;s4102、通过集群用户终端,响应于对集群用户控件、微服务镜像控件以及微服务启动控件的触发操作,生成待处理请求。
55.其中,集群用户控件可以理解为选择集群用户的操作控件。具体的,集群用户控件对应的集群用户是预设的集群用户白名单中的合法用户,也就是说,预设的集群用户白名单中的集群用户是允许使用登录节点上运行的微服务的合法用户。
56.其中,微服务镜像控件可以理解为供集群用户选择微服务的操作控件。具体的,微服务镜像控件对应的微服务镜像通过对运行在登录节点上的微服务进行镜像处理得到。微服务镜像可以理解为一种微服务模板。
57.其中,微服务启动控件可以理解为启动登录节点上微服务的操作控件。
58.具体的,当集群用户在集群用户终端的界面上触发集群用户控件、微服务镜像控件以及微服务启动控件之后,集群用户终端响应于上述触发操作,生成待处理请求,则微服务管理平台获取待处理请求。
59.需要说明的是,高性能计算机集群中的逻辑资源可能被开发人员不断变更,使得运行在登录节点上的微服务也相应变更,同时,集群用户也会不断变更,则微服务管理平台需要更新集群用户终端界面上的控件,使得集群用户重新触发相应控件。
60.则在s4102之前,该方法还包括:在集群用户的用户信息发生变更时,基于变更后的集群用户的用户信息,更新集群用户白名单中的合法用户;在微服务的镜像信息发生变更时,基于变更后的微服务的镜像信息,更新微服务镜像;相应的,s4102具体包括:通过集群用户终端,响应于对更新后的集群用户白名单中的集群用户对应的集群用户控件、更新后的微服务镜像对应的微服务镜像控件以及微服务启动控件的触发操作,生成待处理请求。
61.为了便于理解微服务管理平台的功能,图5示出了微服务管理平台的模块示意图。
62.如图5所示,微服务管理平台500包括集群管理模块501、平台管理模块502、微服务
管理模块503以及微服务管理接口504。其中,集群管理模块501包括用户管理单元5011和微服务镜像管理单元5012。
63.具体的,用户管理单元5011用于管理集群用户的用户信息的增删改查,从而变更集群用户的用户信息;微服务镜像管理单元5012用于管理微服务的镜像信息的增删改查,从而变更微服务的镜像信息。进一步的,集群用户终端可以基于更新后的微服务镜像,变更微服务镜像控件。
64.具体的,平台管理模块502用于通过微服务管理模块503和微服务管理接口504进行二次开发的平台信息的增删改查,该平台信息设置了集群用户白名单,使得只有在集群用户白名单的集群用户才能使用对应的微服务。进一步的,集群用户终端可以基于更新后集群用户白名单中的集群用户,变更集群用户控件。
65.具体的,微服务管理模块503用于管理微服务的启动、关闭、暂停,具体调用微服务管理接口504完成微服务的启动、关闭、暂停,当启动微服务时,需要先根据镜像信息读取微服务镜像的地址,然后将微服务镜像的地址发送至微服务管理接口504拉取微服务镜像从而启动微服务。并且,微服务管理模块503将容器状态和微服务状态存储至数据库,并结合监控平台和服务注册发现平台监控到的状态,更新数据库中的容器状态和微服务状态。
66.由此,通过对集群用户终端控件的触发操作,获取待处理请求,当集群用户以及微服务更新时,变更集群用户终端的控件,保证始终获取合法用户使用逻辑资源的请求,并且,保证逻辑资源的调度过程不会出错。
67.s420、基于待处理请求携带的请求地址,从多个登录节点运行的微服务中确定对待处理请求进行处理的目标微服务。
68.在本实施例中,可选的,s420具体包括如下步骤:s4201、从待处理请求中提取用户身份信息,并对用户身份信息进行合法性校验;s4202、若用户身份信息通过合法性校验,则基于待处理请求携带的请求地址,从多个登录节点运行的微服务中确定对待处理请求进行处理的目标微服务。
69.具体的,对用户身份信息进行合法性校验,包括:获取预设的集群用户白名单,其中,预设的集群用户白名单中的集群用户是允许使用所述登录节点上运行的微服务的合法用户;若预设的集群用户白名单中存在与用户身份信息匹配的集群用户信息,则确定用户身份信息通过合法性校验。
70.其中,用户身份信息用于表征集群用户的身份属性,以确定集群用户是否是集群用户白名单中的合法用户。
71.具体的,用户身份信息中可以包括令牌信息,通过令牌信息对用户身份信息进行合法性校验,从而确定集群用户是预设的集群用户白名单中的合法用户。由此,通过白名单方式对用户身份信息进行校验,保证了微服务使用过程的安全性。
72.在本实施例中,可选的,目标微服务的方法包括如下步骤:调用微服务调度接口,访问登录节点上的微服务接口对应的服务地址;将请求地址与服务地址进行匹配;将匹配成功的服务地址对应的微服务作为对待处理请求进行处理的目标微服务。
73.其中,请求地址是指微服务管理平台的数据输入地址和数据输出地址(具体表现可能是不同集群/用户微服务的请求地址和请求参数不同)。可选的,请求地址可以是http格式,请求参数可以包含请求类型以及客户端标识等信息。
74.其中,每个登录节点上运行的不同微服务预先配置一系列登录接口,每个登录接口对应微服务的服务地址。可选的,登录接口可以是包括grpc接口、tcp接口、vnc接口、http接口,并且,这些登录接口都通过ssl加密技术进行加密传输,并且,每个微服务都通过网关进行acl访问设置。
75.可以理解的是,每个登录接口都进行了资源限制,使得通过登录接口访问对应的微服务。示例性的,如图6所示的登录接口的模块示意图,登录节点600的容器1对应的计算资源微服务接口610执行资源调用相关请求,同时连接高性能计算机集群上的集群计算节点630,以便集群用户使用集群计算节点630上的计算资源,登录节点600的容器2对应的存储资源微服务接口620执行文件管理请求,同时连接高性能计算机集群上的集群存储节点640,以便集群用户使用集群存储节点640上的存储资源,并且,计算资源微服务接口610和存储资源微服务接口620连接微服务调度接口650,其中,微服务调度接口650可以理解为统一资源接口。
76.具体的,微服务管理平台调用微服务调度接口,访问登录节点上的微服务接口对应的服务地址,然后将请求地址对应的格式转换成服务地址对应的格式,并将格式转换后的请求地址与服务地址进行匹配,最后将匹配成功的服务地址对应的微服务作为目标微服务。
77.为了便于理解微服务调度接口,图7示出了微服务调度接口的模块示意图。如图7所示,微服务调度接口包括代理接口710和主机接口720。其中,代理接口710封装了容器相关的应用程序编程接口(application programming interface,api),通过grpc服务运行在登录节点上;主机接口720运行在单独的物理主机上,使用http接口提供给微服务管理后台,并且在接收到微服务管理平台传递的待处理请求之后进行格式转换以及地址匹配,最终将匹配成功的微服务,作为目标微服务。
78.由此,通过使用白名单、签名认证、接口加密、微服务网关等多种方式来访问微服务并从而确定目标微服务,确保了从机制、通信流、系统等多方面确保提高微服务的安全性。
79.s430、启动目标微服务,并通过成功启动的目标微服务对待处理请求进行处理。
80.在本实施例中,微服务管理平台确定目标微服务之后,控制目标微服务启动,成功启动的目标微服务处于运行中状态,并使用运行中状态的目标微服务对应的逻辑资源进行请求处理。
81.本公开实施例的一种请求处理方法,所述方法应用于微服务管理平台,所述方法包括:获取待处理请求;基于待处理请求携带的请求地址,从多个登录节点运行的微服务中确定对待处理请求进行处理的目标微服务;启动目标微服务,并通过成功启动的目标微服务对待处理请求进行处理。由于微服务管理平台连接高性能计算机集群上的多个登录节点,每个登录节点运行至少一个容器,每个容器对应至少一个登录节点,每个容器运行一个微服务,每个微服务通过对高性能计算机集群中的逻辑资源进行虚拟化封装得到。这样,可以将每个集群用户的逻辑资源封装为独立的微服务并运行在登录节点的独立容器中,使得不同集群用户只能在包含其能使用的微服务的登录节点上使用自己的逻辑资源,不会在单个登录节点出现资源竞争和资源拥挤问题,也会将不同集群用户的处理过程数据完全隔离,提高了数据安全性,另外,由于每个微服务运行的容器对应至少一个登录节点,如果某
个集群用户当前登录的登录节点发生故障,还可以基于允许该集群用户使用的微服务对应的容器,找到其他登录节点进行登录,实现登录节点动态无感知的迁移和调度。综上,本公开实施例提供的请求处理方法,提高了请求处理方式的安全性和灵活性。
82.在本公开另一种实施方式中,在启动目标微服务之后,无论是否成功启动,都可以基于集群用户后续的请求控制目标微服务的状态;并且,结合监控平台和服务注册发现平台,实时掌握微服务、容器的状态,以及对微服务和容器进行健康检测,还可以在发生异常时显示异常报警信息。
83.在本公开一些实施例中,在执行s430中“启动所述目标微服务”之后,该方法还包括:在目标微服务成功启动或者启动失败之后,确定目标微服务对应的微服务当前状态;获取针对目标微服务的状态切换请求,并基于状态切换请求,将目标微服务对应的微服务当前状态切换为微服务目标状态。
84.可以理解的是,若目标微服务成功启动,则微服务当前状态是运行中状态,也就是说,运行中状态的目标微服务可以进行请求处理;若目标微服务启动失败,则微服务当前状态是服务失效状态,也就是说,服务失效状态的目标微服务不能进行请求处理。
85.其中,状态切换请求用于切换目标微服务的状态。
86.为了便于理解微服务的状态切换过程,图8示出了微服务状态转换流程图。如图8所示,微服务状态转换包括如下过程:启动目标微服务之后,目标微服务处于启动中状态;若目标微服务成功启动,对目标微服务进行服务注册,使得目标微服务处于运行中状态,若目标微服务启动失败,使得目标微服务处于服务失效状态;接着,在目标微服务处于运行中状态,若接收到的状态切换请求是暂停请求,则将目标微服务由运行中状态转换为暂停状态,若接收到的状态切换请求是关闭请求,则将目标微服务由运行中状态转换为关闭状态,在目标微服处于暂停状态之后,若进一步接收到的状态切换请求是关闭请求,则将目标微服务由暂停状态转换为关闭状态,若进一步接收到启动请求,则将目标微服务由暂停状态转换为运行中状态;在目标微服务处于服务失效状态,若接收到的状态切换请求是主动关闭请求,则将目标微服务由服务失效状态转换为关闭状态。
87.由此,在使用时启动微服务,不使用时暂停或者关闭微服务,实现灵活控制目标微服务的状态。
88.在本公开另一些实施例中,在执行“确定目标微服务对应的微服务当前状态”之后,该方法还包括:将微服务当前状态存储到数据库,以及将目标微服务的标识添加至监控平台的监控列表中,以使监控平台调用服务注册发现平台基于监控列表中的标识确定目标微服务的微服务实时监控状态;接收监控平台发送的目标微服务的微服务实时监控状态,并将微服务实时监控状态与数据库中存储的微服务当前状态进行比较;若微服务当前状态与所述微服务实时监控状态不一致,则将微服务当前状态替换为微服务实时监控状态并存储至数据库。
89.具体的,微服务管理平台在进行请求处理过程中,可以将处理过程数据存储到数据库,并且,将目标微服务的服务标识存储到监控平台的监控列表,使得监控平台调用服务注册发现平台获取微服务实时监控状态,在进行微服务状态校验之后,更新数据库中存储
的微服务当前状态。
90.进一步的,在执行“将微服务当前状态替换为微服务实时监控状态并存储至数据库”之后,该方法还包括:确定目标微服务对应的目标容器,并通过预先配置的容器查看接口读取目标容器的容器实时状态,其中,容器实时状态与微服务实时监控状态对应的监控周期相同;若容器实时状态与所述数据库中存储的微服务实时监控状态不满足预设的状态组合条件,将微服务实时监控状态转换为满足预设的状态组合条件的状态,和/或,将容器实时状态转换为满足预设的状态组合条件的状态。
91.其中,整个生命周期中预设的状态组合条件的状态包括:(1)微服务启动中状态且容器启动中状态,此时的容器还在运行中,微服务还未注册到服务注册发现服务;(2)微服务运行中且容器运行中,此时的微服务正常运行在容器中;(3)微服务暂停且容器暂停,此时的容器暂停并且可以随时恢复;(4)微服务关闭且容器关闭,此时的容器彻底删除;(5)微服务失效且容器运行中,此时的微服务出错并且容器还在运行。
92.具体的,监控平台获取目标容器的容器实时状态,在进行容器状态校验之后以及进行微服务状态校验之后,转换微服务状态和/或容器状态,使得转换后的微服务状态和容器状态满足预设的状态组合条件的状态。
93.由此,监控平台和服务注册发现平台,实时掌握微服务、容器的状态,实现对容器和微服务进行全生命周期的状态监控。
94.在本公开又一种实施例中,该方法还包括:在集群用户终端的界面上显示待处理请求的处理过程数据,以及,在目标微服务的状态异常或者在目标微服务对应的目标容器的状态异常时,显示异常报警信息。
95.其中,处理过程数据用于表征请求处理进度,通过将处理过程数据显示在集群用户终端的界面,可以使得集群用户掌握请求处理进度。
96.其中,目标微服务的状态异常或者在目标微服务对应的目标容器的状态异常可以由系统或者人为原因导致。可选的,异常报警信息的形式包括但不限于声音、短信、微信、邮件等多种方式。
97.由此,对微服务和容器进行健康检测,还可以在发生异常时显示异常报警信息,方便快速定位异常原因。
98.进一步的,为了便于理解微服务启动的完整落成,图9示出了微服务启动顺序示意图。
99.如图9所示,步骤1、集群用户触发集群用户终端910的界面上的控件,生成待处理请求,集群用户终端910将待处理请求发送至微服务管理平台920;步骤2、微服务管理平台920基于待处理请求向微服务调度接口930发送调用启动接口请求,使得微服务管理平台920通过调用微服务调度接口930访问登录节点上的微服务接口对应的服务地址,微服务管理平台920基于服务地址以及待处理请求的请求地址,从多个登录节点运行的微服务中确定目标微服务;步骤3、微服务管理平台920启动目标微服务并确定微服务当前状态,并将微服务当前状态存储至数据库940中;步骤4、微服务管理平台920将目标微服务的标识添加至监控平台950的监控列表中;步骤5、监控平台950调用服务注册发现平台960确定微服务实时监控状态;步骤6、微服务管理平台920接收监控平台950发送的微服务实时监控状态以更新微服务状态;步骤7、微服务管理平台920将更新后的微服务状态存储至数据库940中;步
骤8、微服务管理平台920将目标微服务的处理过程数据发送至集群用户终端910的界面进行显示。
100.综上,可以对容器和微服务进行全生命周期的状态监控,掌握微服务以及容器的实时状态,并向用户显示实时状态,以及在发生异常时,进行异常报警。
101.本公开实施例还提供了一种用于实现上述的请求处理方法的请求处理装置,下面结合图10进行说明。在本公开实施例中,该请求处理装置可以配置于微服务管理平台,所述微服务管理平台连接高性能计算机集群上的多个登录节点,每个所述登录节点运行至少一个容器,每个容器对应至少一个登录节点,每个所述容器运行一个微服务,每个所述微服务通过对所述高性能计算机集群中不同集群用户的逻辑资源进行虚拟化封装得到。其中,微服务管理平台可以是电子设备或者服务。
102.图10示出了本公开实施例提供的一种请求处理装置的结构示意图。
103.如图10所示,请求处理装置1000可以包括:获取模块1001,用于获取待处理请求;确定模块1002,用于基于所述待处理请求携带的请求地址,从所述多个登录节点运行的微服务中确定对所述待处理请求进行处理的目标微服务;请求处理模块1003,用于启动所述目标微服务,并通过成功启动的目标微服务对所述待处理请求进行处理。
104.本公开实施例的一种请求处理装置,所述装置配置于微服务管理平台,所述装置包括:获取待处理请求;基于待处理请求携带的请求地址,从多个登录节点运行的微服务中确定对待处理请求进行处理的目标微服务;启动目标微服务,并通过成功启动的目标微服务对待处理请求进行处理。由于微服务管理平台连接高性能计算机集群上的多个登录节点,每个登录节点运行至少一个容器,每个容器对应至少一个登录节点,每个容器运行一个微服务,每个微服务通过对高性能计算机集群中的逻辑资源进行虚拟化封装得到。这样,可以将每个集群用户的逻辑资源封装为独立的微服务并运行在登录节点的独立容器中,使得不同集群用户只能在包含其能使用的微服务的登录节点上使用自己的逻辑资源,不会在单个登录节点出现资源竞争和资源拥挤问题,也会将不同集群用户的处理过程数据完全隔离,提高了数据安全性,另外,由于每个微服务运行的容器对应至少一个登录节点,如果某个集群用户当前登录的登录节点发生故障,还可以基于允许该集群用户使用的微服务对应的容器,找到其他登录节点进行登录,实现登录节点动态无感知的迁移和调度。综上,本公开实施例提供的请求处理装置,提高了请求处理方式的安全性和灵活性。
105.在一些实施例中,获取模块1001具体用于,通过集群用户终端的界面显示集群用户控件、微服务镜像控件以及微服务启动控件;通过所述集群用户终端,响应于对所述集群用户控件、所述微服务镜像控件以及所述微服务启动控件的触发操作,生成所述待处理请求。
106.在一些实施例中,集群用户控件对应的集群用户是预设的集群用户白名单中的合法用户,所述微服务镜像控件对应的微服务镜像通过对运行在所述登录节点上的微服务进行镜像处理得到;则所述装置还包括:第一更新模块,用于在所述集群用户的用户信息发生变更时,基于变更后的集群用户的用户信息,更新所述集群用户白名单;
第二更新模块,用于在所述微服务的镜像信息发生变更时,基于变更后的微服务的镜像信息,更新所述微服务镜像;相应的,获取模块1001具体用于,通过所述集群用户终端,响应于对更新后的集群用户白名单中的集群用户对应的集群用户控件、更新后的微服务镜像对应的微服务镜像控件以及所述微服务启动控件的触发操作,生成所述待处理请求。
107.在一些实施例中,确定模块1002,包括:检验单元,用于从所述待处理请求中提取用户身份信息,并对所述用户身份信息进行合法性校验;第一确定单元,用于若所述用户身份信息通过合法性校验,则基于所述待处理请求携带的请求地址,从所述多个登录节点运行的微服务中确定对所述待处理请求进行处理的目标微服务。
108.在一些实施例中,检验单元具体用于,获取预设的集群用户白名单,其中,所述预设的集群用户白名单中的集群用户是允许使用所述登录节点上运行的微服务的合法用户;若所述预设的集群用户白名单中存在与所述用户身份信息匹配的集群用户信息,则确定所述用户身份信息通过合法性校验。
109.在一些实施例中,确定模块1002,包括:调用单元,用于调用微服务调度接口,访问所述登录节点上的微服务接口对应的服务地址;匹配单元,用于将所述请求地址与所述服务地址进行匹配;第二确定单元,用于将匹配成功的服务地址对应的微服务作为对所述待处理请求进行处理的目标微服务。
110.在一些实施例中,该装置还包括:状态确定模块,用于在所述目标微服务成功启动或者启动失败之后,确定所述目标微服务对应的微服务当前状态;状态切换模块,用于获取针对所述目标微服务的状态切换请求,并基于所述状态切换请求,将所述目标微服务对应的微服务当前状态切换为微服务目标状态。
111.在一些实施例中,该装置还包括:添加模块,用于将所述微服务当前状态存储到数据库,以及将所述目标微服务的标识添加至监控平台的监控列表中,以使所述监控平台调用服务注册发现平台基于所述监控列表中的标识确定所述目标微服务的微服务实时监控状态;比较模块,用于接收所述监控平台发送的所述目标微服务的微服务实时监控状态,并将所述微服务实时监控状态与所述数据库中存储的微服务当前状态进行比较;替换模块,用于若所述微服务当前状态与所述微服务实时监控状态不一致,则将所述微服务当前状态替换为所述微服务实时监控状态并存储至所述数据库。
112.在一些实施例中,该装置还包括:读取模块,用于确定目标微服务对应的目标容器,并通过预先配置的容器查看接口读取所述目标容器的容器实时状态,其中,所述容器实时状态与所述微服务实时监控状态对应的监控周期相同;转换模块,用于若所述容器实时状态与所述数据库中存储的微服务实时监控状态
不满足预设的状态组合条件,将所述微服务实时监控状态转换为满足所述预设的状态组合条件的状态,和/或,将所述容器实时状态转换为满足所述预设的状态组合条件的状态。
113.在一些实施例中,该装置还包括:显示模块,用于在集群用户终端的界面上显示所述待处理请求的处理过程数据,以及,在所述目标微服务的状态异常或者在所述目标微服务对应的目标容器的状态异常时,显示异常报警信息。
114.需要说明的是,图10所示的请求处理装置1000可以执行图4至图9所示的方法实施例中的各个步骤,并且实现图4至图9所示的方法或系统实施例中的各个过程和效果,在此不做赘述。
115.图11示出了本公开实施例提供的一种请求处理设备的结构示意图。
116.如图11所示,该请求处理设备可以包括处理器1101以及存储有计算机程序指令的存储器1102。
117.具体地,上述处理器1101可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
118.存储器1102可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器1102可以包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器1102可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1102可在综合网关设备的内部或外部。在特定实施例中,存储器1102是非易失性固态存储器。在特定实施例中,存储器1102包括只读存储器(read-only memory,rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable rom,prom)、可擦除prom(electrical programmable rom,eprom)、电可擦除prom(electrically erasable programmable rom,eeprom)、电可改写rom(electrically alterable rom,earom)或闪存,或者两个或及其以上这些的组合。
119.处理器1101通过读取并执行存储器1102中存储的计算机程序指令,以执行本公开实施例所提供的请求处理方法的步骤。
120.在一个示例中,该请求处理设备还可包括收发器1103和总线1104。其中,如图11所示,处理器1101、存储器1102和收发器1103通过总线1104连接并完成相互间的通信。
121.总线1104包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(accelerated graphics port,agp)或其他图形总线、增强工业标准架构(extended industry standard architecture,eisa)总线、前端总线(front side bus,fsb)、超传输(hyper transport,ht)互连、工业标准架构(industrial standard architecture,isa)总线、无限带宽互连、低引脚数(low pin count,lpc)总线、存储器总线、微信道架构(micro channel architecture,mca)总线、外围控件互连(peripheral component interconnect,pci)总线、pci-express(pci-x)总线、串行高级技术附件(serial advanced technology attachment,sata)总线、视频电子标准协会局部(video electronics standards association local bus,vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1104可包括一个或多个总线。尽管本技术实施例描述和示出了特定
的总线,但本技术考虑任何合适的总线或互连。
122.以下是本公开实施例提供的计算机可读存储介质的实施例,该计算机可读存储介质与上述各实施例的请求处理方法属于同一个发明构思,在计算机可读存储介质的实施例中未详尽描述的细节内容,可以参考上述请求处理方法的实施例。
123.本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种请求处理方法。
124.当然,本公开实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的方法操作,还可以执行本公开任意实施例所提供的请求处理方法中的相关操作。
125.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本公开可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory, rom)、随机存取存储器(random access memory, ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机云平台(可以是个人计算机,服务器,或者网络云平台等)执行本公开各个实施例所提供的请求处理方法。
126.注意,上述仅为本公开的较佳实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1