本发明涉及云计算技术领域,尤其涉及一种调度应用服务器的方法和装置。
背景技术:
云计算服务平台是一种以资源共享池的形式向用户提供各类设备处理资源(如存储资源、网络传输资源、应用软件资源)的服务平台,用户可以利用这些设备处理资源开展各类业务,如数据存储/计算、应用安装/运行等业务。
云计算服务平台在向用户提供云计算服务时,云计算服务平台的调度服务器可以基于用户发起的业务请求,随机分配一台应用服务器来处理该业务请求。对于应用类业务请求,如a应用的安装/运行请求,应用服务器可以基于a应用的配置环境,如系统架构、配置文件,来处理a应用的业务请求。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
调度服务器在接收到a应用的业务请求时,随机分配的应用服务器很大概率上没有加载a应用的配置环境,这样,应用服务器需要先花费较多的时间和系统资源加载a应用的配置环境,才能处理a应用的业务请求,导致应用服务器处理业务请求的效率较低。并且,当调度服务器频繁接收到应用a的业务请求时,a应用的业务请求经常被不同的应用服务器处理,使得应用a的配置环境重复被不同的应用服务器加载,造成了系统资源的浪费。
技术实现要素:
为了解决现有技术的问题,本发明实施例提供了一种调度应用服务器的方法和装置。所述技术方案如下:
一方面,提供了一种调度应用服务器的方法,所述方法包括:
当接收到目标应用的业务请求时,调度服务器获取应用服务器和应用服务器加载的配置环境的对应关系;
所述调度服务器在所述对应关系中查找是否存在所述目标应用的配置环境对应的目标应用服务器;
如果存在,所述调度服务器则调度所述目标应用服务器处理所述业务请求,否则随机调度应用服务器处理所述业务请求。
进一步的,所述调度服务器则调度所述目标应用服务器处理所述业务请求之后,还包括:
所述调度服务器在所述对应关系中删除所述目标应用的配置环境与所述目标应用服务器的对应项。
进一步的,所述方法还包括:
当满足预设删除条件时,所述调度服务器指示所述目标应用服务器删除所述目标应用,且在预设保存时长内保留所述目标应用的配置环境;
所述调度服务器在所述对应关系中增加所述目标应用的配置环境与所述目标应用服务器的对应项。
进一步的,所述方法还包括:
如果检测到所述对应项的已存储时长超过预设保存时长,所述调度服务器则在所述对应关系中删除所述对应项,并指示所述目标应用服务器删除所述目标应用的配置环境。
进一步的,所述如果存在,所述调度服务器则调度所述目标应用服务器处理所述业务请求,包括:
如果所述对应关系中存在多个记录有所述目标应用的配置环境的对应项,所述调度服务器则在多个所述对应项中确定已存储时长最短的目标对应项;
所述调度服务器确定所述目标对应项中记录的应用服务器为目标应用服务器,并调度所述目标应用服务器处理所述业务请求。
进一步的,所述如果存在,所述调度服务器则调度所述目标应用服务器处理所述业务请求,包括:
如果所述对应关系中存在多个记录有所述目标应用的配置环境的对应项,所述调度服务器则在多个所述对应项记录的应用服务器中,确定负载最低的应用服务器为所述目标应用服务器,并调度所述目标应用服务器处理所述业务请求。
另一方面,提供了一种调度应用服务器的装置,所述装置包括
获取模块,用于当接收到目标应用的业务请求时,获取应用服务器和应用服务器加载的配置环境的对应关系;
查找模块,用于在所述对应关系中查找是否存在所述目标应用的配置环境对应的目标应用服务器;
调度模块,用于如果存在,则调度所述目标应用服务器处理所述业务请求,否则随机调度应用服务器处理所述业务请求。
进一步的,所述装置还包括:
删除模块,用于所述调度模块调度所述目标应用服务器处理所述业务请求之后,在所述对应关系中删除所述目标应用的配置环境与所述目标应用服务器的对应项。
进一步的,所述装置还包括:
控制模块,用于当满足预设删除条件时,指示所述目标应用服务器删除所述目标应用,且在预设保存时长内保留所述目标应用的配置环境;在所述对应关系中增加所述目标应用的配置环境与所述目标应用服务器的对应项。
进一步的,所述删除模块,具体用于:
如果检测到所述对应项的已存储时长超过预设保存时长,则在所述对应关系中删除所述对应项,并指示所述目标应用服务器删除所述目标应用的配置环境。
进一步的,所述调度模块,具体用于:
如果所述对应关系中存在多个记录有所述目标应用的配置环境的对应项,则在多个所述对应项中确定已存储时长最短的目标对应项;
确定所述目标对应项中记录的应用服务器为目标应用服务器,并调度所述目标应用服务器处理所述业务请求。
进一步的,所述调度模块,还用于:
如果所述对应关系中存在多个记录有所述目标应用的配置环境的对应项,则在多个所述对应项记录的应用服务器中,确定负载最低的应用服务器为所述目标应用服务器,并调度所述目标应用服务器处理所述业务请求。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,当接收到任一应用的业务请求时,调度服务器如果在应用服务器和应用服务器加载的配置环境的对应关系中,查找到加载有该应用的配置环境的应用服务器,调度服务器则可以调度该应用服务器处理该应用的业务请求,这样,该应用服务器可以直接处理该应用的业务请求,无需再次加载该应用的配置环境,从而可以节约系统资源,省去加载配置环境的时间,提高处理业务请求的效率。另外,调度服务器还可以指示应用服务器删除应用并保留该应用的配置环境的信息,在对应关系中以增加相应的配置环境与应用服务器的对应项的方式进行记录,从而可以实现在下一次接收到相同应用的业务请求时,基于历史记录即优先调度已经加载有该应用的配置环境的应用服务器来处理该应用的业务请求。另外,调度服务器还可以在对应项的已存储时长超过预设保存时长时,指示应用服务器删除应用的配置环境,从而可以均衡系统资源的利用率和处理业务请求的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种调度应用服务器的场景示意图;
图2是本发明实施例提供的一种调度应用服务器的方法流程图;
图3是本发明实施例提供的一种调度应用服务器的方法流程图;
图4是本发明实施例提供的一种调度应用服务器的装置结构示意图;
图5是本发明实施例提供的一种调度应用服务器的装置结构示意图;
图6是本发明实施例提供的一种调度应用服务器的装置结构示意图;
图7是本发明实施例提供的一种调度服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种调度应用服务器的方法,该方法的执行主体可以是云计算服务平台中的调度服务器。云计算服务平台可以由调度服务器和应用服务器构成,其中,调度服务器可以在接收到业务请求(如应用安装/运行请求)后,调度相应的应用服务器对该业务请求进行处理,应用服务器可以基于相应的配置环境(如应用的系统架构、配置文件)来处理该业务请求,调度服务器和应用服务器可以由云服务商部署在其管理的机房。具体的应用场景可以如图1所示。上述服务器中均可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的调度应用服务器的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。
下面将结合具体实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
步骤201:当接收到目标应用的业务请求时,调度服务器获取应用服务器和应用服务器加载的配置环境的对应关系。
在实施中,用户为了开展应用服务,如视频应用服务、浏览器应用服务,可以从云服务商处购买服务器、网络带宽等设备处理资源,然后利用这些设备处理资源开展应用服务。以用户开展视频应用服务为例,该视频应用可以是直播应用或点播应用,相应的应用软件可以分为服务端软件和客户端软件,其中,服务端软件由用户进行维护,其可以响应来自客户端软件发起的访问请求,并提供相应的视频应用服务,客户端软件可以运行在观看视频的消费者的终端设备(如智能手机、笔记本电脑)上。用户可以通过云服务商提供的云计算服务平台的通信接口,向云计算服务平台的调度服务器发送上述服务端软件的安装/运行业务请求。这样,调度服务器可以基于上述业务请求,调度相应的应用服务器安装/运行上述服务端软件。
具体的,调度服务器可以维护应用服务器和应用服务器加载的配置环境的对应关系,该对应关系可以以调度记录表的形式实现,在调度记录表中可以记录调度服务器历史调度的应用服务器与应用名称的对应信息,例如编号为001的应用服务器对应应用a。需要说明的是,与某应用名称对应的应用服务器,由于之前其已处理过该应用的业务请求,该应用服务器加载有该应用的配置环境。上述配置环境,可以是应用服务器为了处理某应用的业务请求需要预先加载的系统架构、配置文件,例如,应用服务器在处理视频应用的安装/运行业务请求时,该应用服务器可以通过加载的容器架构及相应的容器镜像文件,以容器的形式安装/运行该视频应用。这样,当调度服务器接收到目标应用(可以是任意应用)的业务请求时,调度服务器可以从本地获取应用服务器和应用服务器加载的配置环境的对应关系。
步骤202:调度服务器在对应关系中查找是否存在目标应用的配置环境对应的目标应用服务器。
在实施中,调度服务器获取到上述对应关系后,可以在对应关系中查找是否存在目标应用的配置环境对应的目标应用服务器,即加载有目标应用的配置环境的目标应用服务器。具体的,查找方式可以是关键词查找,例如在存储对应关系的数据库中以目标应用的名称为关键词进行查找,如果存在,则可以查找到与目标应用对应的目标应用服务器,如果不存在,则查找不到与目标应用对应的目标应用服务器。
步骤203:如果存在,调度服务器则调度目标应用服务器处理业务请求,否则随机调度应用服务器处理业务请求。
在实施中,如果调度服务器在对应关系中查找到与目标应用的配置环境对应的应用服务器,即目标应用服务器,则表明该目标应用服务器加载有目标应用的配置环境。这样,调度服务器可以调度该目标应用服务器来处理目标应用的业务请求,进而,该目标应用服务器可以直接处理目标应用的业务请求,无需再次加载目标应用的配置环境,从而可以节约目标应用服务器的系统资源,省去加载配置环境的时间,提高处理业务请求的效率。
另外,如果调度服务器在对应关系中未查找到与目标应用的配置环境对应的应用服务器,则表明所有的应用服务器均未加载有目标应用的配置环境。这时,调度服务器可以随机调度应用服务器来处理目标应用的业务请求。之后,该随机调度的应用服务器先加载目标应用的配置环境,然后基于配置环境对目标应用的业务请求进行处理。进一步的,调度服务器可以先对所有的应用服务器进行分组,然后在一组应用服务器中随机调度应用服务器来处理目标应用的业务请求。例如,调度服务器可以基于负载的高低将应用服务器分为高负载组和低负载组,然后在低负载组中随机调度一台应用服务器来处理目标应用的业务请求,这样,不仅可以使各应用服务器负载均衡,也可以提高应用服务器处理业务请求的效率。
可选的,为了避免目标应用服务器同时处理目标应用的多个同一业务请求,调度服务器在调度目标应用服务器处理业务请求之后,可以进行如下处理:调度服务器在对应关系中删除目标应用的配置环境与目标应用服务器的对应项。
其中,对应关系中可以包括多个对应项,每一个对应项可以是一条历史调用记录,其可以记录加载有某应用的配置环境的应用服务器。
在实施中,如果调度服务器在较短时间内先后接收到不同用户发出的目标应用的同一业务请求,或者,先后接收到同一用户发出的目标应用的多个同一业务请求,则调度服务器每次在对应关系中查找调度服务器时,均可以查找到相同的目标应用服务器,从而可能在目标应用服务器未处理完当前的目标应用的上述业务请求时,再次调度该目标应用服务器处理目标应用的同一业务请求。为了避免上述情形,调度服务器可以在调度目标应用服务器处理目标应用的业务请求之后,在对应关系中删除目标应用的配置环境与目标应用服务器的对应项,这样,如果调度服务器再次接收到目标应用的同一业务请求,调度服务器在对应关系中将查找不到加载有目标应用的配置环境的应用服务器。在这种情形下,调度服务器可以参照步骤203进行相应处理。
可选的,下面给出一种删除目标应用的处理,具体处理可以如图3所示:
步骤301:当满足预设删除条件时,调度服务器指示目标应用服务器删除目标应用,且在预设保存时长内保留目标应用的配置环境。
其中,预设删除条件可以有多种设定方式。例如,调度服务器接收到目标应用服务器对目标应用的业务请求处理完成的消息,或者,调度服务器检测到用户的购买信息过期。
在实施中,当调度服务器检测到目标应用满足预设删除条件时,调度服务器可以指示目标应用服务器将目标应用进行删除,例如可以通过发送删除指令的方式,向目标应用服务器发送删除指令,以使目标应用服务器对目标应用进行删除。需要说明的是,在上述删除指令中可以携带有以下删除信息:目标应用服务器在删除目标应用时,需要对目标应用的配置环境进行保留。
步骤302:调度服务器在对应关系中增加目标应用的配置环境与目标应用服务器的对应项。
在实施中,调度服务器在指示目标应用服务器删除目标应用后,可以通过在对应关系中增加目标应用的配置环境与目标应用服务器的对应项的方式,记录下目标应用服务器加载有目标应用的配置环境的信息。这样,当调度服务器再次接收到目标应用的业务请求时,调度服务器可以通过目标应用的配置环境与目标应用服务器的对应项,查找到记录的加载有目标应用配置环境的目标应用服务器。由于该目标应用服务器保留了目标应用的配置环境,该目标应用服务器可以无需再次加载目标应用的配置环境,直接处理目标应用的业务请求,从而可以提高处理业务请求的效率。
需要说明的是,当调度服务器随机调度的应用服务器处理完成某应用的业务请求时,也可以参照图3的处理流程进行后续处理。这样,调度服务器在第二次接收到该应用的业务请求时,可以调度加载有该应用的配置环境的应用服务器处理,从而可以提高处理业务请求的效率。
可选的,如果目标应用服务器长期未再次处理目标应用的业务请求时,目标应用服务器可以将保留的配置环境进行删除,相应的处理可以如下:如果检测到对应项的已存储时长超过预设保存时长,调度服务器则在对应关系中删除对应项,并指示目标应用服务器删除目标应用的配置环境。
在实施中,目标应用服务器需要花费一定的系统资源来保留应用的配置环境,如果目标应用服务器在较长时期内未再次处理目标应用的业务请求,继续保留配置环境将降低系统资源的利用率。为了均衡系统资源的利用率和处理业务请求的效率,调度服务器可以对目标应用的配置环境与目标应用服务器的对应项的已存储时长进行检测,当检测到已存储时长超过预设保存时长时,调度服务器可以在对应关系中删除目标应用的配置环境与目标应用服务器的对应项,同时,调度服务器指示目标应用服务器删除目标应用的配置环境。
可选的,如果查找到目标应用的配置环境对应有多个应用服务器,则调度服务器可以从中选取一个应用服务器作为目标应用服务器,相应的,步骤203的部分处理可以如下:如果对应关系中存在多个记录有目标应用的配置环境的对应项,调度服务器则在多个对应项中确定已存储时长最短的目标对应项;调度服务器确定目标对应项中记录的应用服务器为目标应用服务器,并调度目标应用服务器处理业务请求。
在实施中,如果多个应用服务器都处理过目标应用的业务请求,从图3中可以得知,这些应用服务器在删除目标应用后,调度服务器将在对应关系中增加多个记录有目标应用的配置环境的对应项,且这多个对应项分别记录了不同的应用服务器。容易理解的是,加载有最新配置环境(如最新版本的配置文件、系统架构)的应用服务器,可以更好地处理业务请求。那么,调度服务器在查找到多个记录有目标应用的配置环境的对应项后,可以基于对应项的已存储时长,在多个对应项中确定出记录加载有最新配置环境的应用服务器的对应项,即已存储时长最短的目标对应项。需要说明的是,对应项的已存储时长越短,表明调度服务器在对应关系中增加该对应项的时间越晚,那么,该对应项记录的应用服务器进行应用删除的时间也就越晚,则应用服务器在删除应用时保留的配置环境也就越新。调度服务器在确定目标对应项后,可以将目标对应项中记录的应用服务器确定为目标应用服务器,然后调度目标应用服务器处理目标应用的业务请求。
可选的,调度服务器还可以从负载均衡的角度,在目标应用的配置环境对应的多个应用服务器中选取一个作为目标应用服务器,相应的,步骤203的部分处理可以如下:如果对应关系中存在多个记录有目标应用的配置环境的对应项,调度服务器则在多个对应项记录的应用服务器中,确定负载最低的应用服务器为目标应用服务器,并调度目标应用服务器处理业务请求。
在实施中,调度服务器在查找到多个记录有目标应用的配置环境的对应项后,可以检测多个对应项记录的应用服务器各自的负载情况,例如当前可用系统资源比例、剩余存储空间。之后,调度服务器可以将负载最低的应用服务器确定为目标应用服务器,然后调度该目标应用服务器处理目标应用的业务请求。
在本发明实施例中,当接收到任一应用的业务请求时,调度服务器如果在应用服务器和应用服务器加载的配置环境的对应关系中,查找到加载有该应用的配置环境的应用服务器,调度服务器则可以调度该应用服务器处理该应用的业务请求,这样,该应用服务器可以直接处理该应用的业务请求,无需再次加载该应用的配置环境,从而可以节约系统资源,省去加载配置环境的时间,提高处理业务请求的效率。另外,调度服务器还可以指示应用服务器删除应用并保留该应用的配置环境的信息,在对应关系中以增加相应的配置环境与应用服务器的对应项的方式进行记录,从而可以实现在下一次接收到相同应用的业务请求时,基于历史记录即优先调度已经加载有该应用的配置环境的应用服务器来处理该应用的业务请求。另外,调度服务器还可以在对应项的已存储时长超过预设保存时长时,指示应用服务器删除应用的配置环境,从而可以均衡系统资源的利用率和处理业务请求的效率。
基于相同的技术构思,本发明实施例还提供了一种调度应用服务器的装置,如图4所示,所述装置包括:
获取模块401,用于当接收到目标应用的业务请求时,获取应用服务器和应用服务器加载的配置环境的对应关系;
查找模块402,用于在所述对应关系中查找是否存在所述目标应用的配置环境对应的目标应用服务器;
调度模块403,用于如果存在,则调度所述目标应用服务器处理所述业务请求,否则随机调度应用服务器处理所述业务请求。
可选的,如图5所示,所述装置还包括:
删除模块404,用于所述调度模块403调度所述目标应用服务器处理所述业务请求之后,在所述对应关系中删除所述目标应用的配置环境与所述目标应用服务器的对应项。
可选的,如图6所示,所述装置还包括:
控制模块405,用于当满足预设删除条件时,指示所述目标应用服务器删除所述目标应用,且在预设保存时长内保留所述目标应用的配置环境;在所述对应关系中增加所述目标应用的配置环境与所述目标应用服务器的对应项。
可选的,所述删除模块404,具体用于:
如果检测到所述对应项的已存储时长超过预设保存时长,则在所述对应关系中删除所述对应项,并指示所述目标应用服务器删除所述目标应用的配置环境。
可选的,所述调度模块403,具体用于:
如果所述对应关系中存在多个记录有所述目标应用的配置环境的对应项,则在多个所述对应项中确定已存储时长最短的目标对应项;
确定所述目标对应项中记录的应用服务器为目标应用服务器,并调度所述目标应用服务器处理所述业务请求。
可选的,所述调度模块403,还用于:
如果所述对应关系中存在多个记录有所述目标应用的配置环境的对应项,则在多个所述对应项记录的应用服务器中,确定负载最低的应用服务器为所述目标应用服务器,并调度所述目标应用服务器处理所述业务请求。
本发明实施例中,当接收到任一应用的业务请求时,调度服务器如果在应用服务器和应用服务器加载的配置环境的对应关系中,查找到加载有该应用的配置环境的应用服务器,调度服务器则可以调度该应用服务器处理该应用的业务请求,这样,该应用服务器可以直接处理该应用的业务请求,无需再次加载该应用的配置环境,从而可以节约系统资源,省去加载配置环境的时间,提高处理业务请求的效率。另外,调度服务器还可以指示应用服务器删除应用并保留该应用的配置环境的信息,在对应关系中以增加相应的配置环境与应用服务器的对应项的方式进行记录,从而可以实现在下一次接收到相同应用的业务请求时,基于历史记录即优先调度已经加载有该应用的配置环境的应用服务器来处理该应用的业务请求。另外,调度服务器还可以在对应项的已存储时长超过预设保存时长时,指示应用服务器删除应用的配置环境,从而可以均衡系统资源的利用率和处理业务请求的效率。
需要说明的是:上述实施例提供的调度应用服务器的装置在调度应用服务器时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的调度应用服务器的装置与调度应用服务器的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本发明实施例提供的调度服务器的结构示意图。该调度服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示未标出),每个模块可以包括对调度服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在调度服务器700上执行存储介质730中的一系列指令操作。
调度服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,一个或一个以上键盘756,和/或,一个或一个以上操作系统741,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。
调度服务器700可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述调度应用服务器的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。