CN111930434A - 一种云应用的启动方法、装置、可读存储介质及设备 - Google Patents
一种云应用的启动方法、装置、可读存储介质及设备 Download PDFInfo
- Publication number
- CN111930434A CN111930434A CN202010478103.4A CN202010478103A CN111930434A CN 111930434 A CN111930434 A CN 111930434A CN 202010478103 A CN202010478103 A CN 202010478103A CN 111930434 A CN111930434 A CN 111930434A
- Authority
- CN
- China
- Prior art keywords
- queuing
- cloud application
- client
- target sub
- sub
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013468 resource allocation Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/70—Game security or game management aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种云应用的启动方法、装置、存储介质及设备。其中,方法包括:接收客户端在启动云应用时发送的云应用排队请求;根据所述云应用排队请求和获取的各分前端的信息,从所述各分前端中选取待请求为所述云应用分配资源的目标分前端;若所述目标分前端的排队队列的长度为0,则向所述目标分前端请求为所述云应用分配资源;若所述目标分前端的排队队列的长度不为0,则将排队请求信息添加至所述目标分前端的排队队列,在检测到向所述目标分前端请求为所述云应用分配资源的触发事件后,向所述目标分前端请求为所述云应用分配资源。如此可以提高云应用的进入效率,并提高了用户体验。
Description
技术领域
本公开涉及资源分配技术领域,具体而言,涉及一种云应用的启动方法、装置、可读存储介质及设备。
背景技术
在云游戏的运行模式下,游戏应用运行于云服务器上,终端(手机、电脑、平板电脑等)用于实现人机交互,实时将对游戏的操控指令上传至云服务器的游戏应用,游戏应用响应该操控指令生成游戏场景数据,云服务器根据游戏场景数据渲染生成游戏画面,云服务器采集游戏运行所产生的音频数据和渲染生成的游戏画面进行编码,并实时发送至终端进行解码显示。进而云游戏的运行模式能在很大程度上减小对于承载游戏的终端的性能要求。
相关技术中,用户在启动一路云游戏时,用户在客户端侧一般首先选择进入自己所在的地区,客户端向该地区所对应的分前端发送云游戏的启动请求,若该地区所对应的分前端没有足够资源启动该路云游戏,则在返回无资源的信息至客户端以后,用户会再次选择其他可进入的地区进行向该地区的分前端请求资源分配,直到用户所选的地区的分前端具备足够的资源能够启动该路云游戏;该过程中需要用户进行自主的去选择和切换地区以寻找资源足够的分前端启动云游戏,效率较低,影响用户体验,并且会增加分前端的数据并发量,对分前端的工作产生一定的影响。
发明内容
有鉴于此,本公开提供一种云应用的启动方法、装置、可读存储介质及设备,以至少提高云应用进入的效率,提高用户体验。
具体地,本公开是通过如下技术方案实现的:
第一方面,本公开实施例中提供了一种云应用的启动方法,所述方法应用于服务器,所述方法包括:
接收客户端在启动云应用时发送的云应用排队请求;
根据所述云应用排队请求和获取的各分前端的信息,从所述客户端所属地区所对应的分前端中选取待请求为所述云应用分配资源的目标分前端;
若所述目标分前端的排队队列的长度为0,则向所述目标分前端请求为所述云应用分配资源;
若所述目标分前端的排队队列的长度不为0,则将排队请求信息添加至所述目标分前端的排队队列,在检测到向所述目标分前端请求为所述云应用分配资源的触发事件后,向所述目标分前端请求为所述云应用分配资源;其中,所述目标分前端用于在成功为所述云应用分配资源后告知所述客户端拉起所述云应用,并告知所述服务器将所述排队请求信息从所述目标分前端的排队队列中删除。
第二方面,本公开实施例提供了一种云应用的启动装置,所述装置应用于服务器,所述装置包括:
接收模块,用于接收客户端在启动云应用时发送的云应用排队请求;
选取模块,用于根据所述云应用排队请求和获取的各分前端的信息,从所述客户端所属地区所对应的分前端中选取待请求为所述云应用分配资源的目标分前端;
第一请求模块,用于若所述目标分前端的排队队列的长度为0,则向所述目标分前端请求为所述云应用分配资源;
第二请求模块,用于若所述目标分前端的排队队列的长度不为0,则将排队请求信息添加至所述目标分前端的排队队列,在检测到向所述目标分前端请求为所述云应用分配资源的触发事件后,向所述目标分前端请求为所述云应用分配资源;其中,所述目标分前端用于在成功为所述云应用分配资源后告知所述客户端拉起所述云应用,并告知所述服务器将所述排队请求信息从所述目标分前端的排队队列中删除。
第三方面,本公开实施例提供了一种机器可读存储介质,机器可读存储介质上存储有若干计算机指令,计算机指令被执行时实现如第一方面所述的方法。
第四方面,本公开实施例提供了一种电子设备,包括:机器可读存储介质和处理器,机器可读存储介质:存储指令代码,处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中的指令代码,实现如第一方面所述的方法。
本公开实施例中提供的一种云应用的启动方法、装置、存储介质及电子设备,服务器接收客户端发送的云应用排队请求以后,根据该云应用排队请求和各分前端的信息从系统的分前端中选取目标分前端用于请求为该云应用分配资源,如果目标分前端的排队队列长度为0,则直接向该目标分前端请求为客户端分配资源,如果目标分前端的排队队列长度不为0,则将该用户添加至目标分前端的排队队列,在检测到向目标分前端请求为该云应用分配资源的触发事件后,向目标分前端请求为该云应用分配启动资源,如果目标分前端成功为该云应用分配资源则告知客户端拉起该云应用,并告知服务器将该云应用的排队请求信息从目标分前端的排队队列中删除。本实施例中,通过在客户端启动一路云应用时发起排队请求,由服务器基于该排队请求从分前端列表中选择目标分前端为该路云应用分配资源,进而无需由用户通过在客户端不断选择不同地区的方式来选取能够启动该云应用的分前端,提高了云应用的进入效率,并提高了用户体验。
附图说明
图1是本公开一示例性实施例示出的一种云应用的启动方法的应用场景示意图;
图2是本公开一示例性实施例示出的一种云应用的启动方法的流程示意图;
图3是本公开一示例性实施例示出的一种云应用的启动方法中选取目标分前端的流程示意图;
图4是本公开一示例性实施例示出的一种分前端的排队队列的示意图;
图5是本公开一示例性实施例示出的一种服务器将用户加入目标分前端排队队列的示意图;
图6是本公开一示例性实施例示出的一种云应用的排队队列的示意图;
图7是本公开一示例性实施例示出的客户端显示的用户排队信息的窗口示意图;
图8是本公开一示例性实施例示出的一种云应用的启动装置的结构示意图;
图9是本公开一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
由于相关技术中用户在启动一路云应用时,比如云游戏应用、云VR应用等,需要用户在客户端选择需要进入的地区请求接入该地区的分前端以启动云应用,若该地区的分前端不具备启动该云应用的条件,则向客户端进行反馈,然后用户再次尝试选择其他地区的分前端以启动云应用,该方式中需要用户选择不同的地区的分前端进入应用,效率较低;基于此,本申请实施例中提供了一种云应用的启动方法、装置、可读存储介质及设备。
图1是本公开一示例性实施例示出的一种云应用的启动方法的应用场景示意图;参照图1所示,本实施例中,云应用部署于云服务器上,一个分前端可以包含有多路云服务器;客户端在请求启动一路云应用时,向排队服务发送排队请求,该排队服务从中心节点获取各个分前端的信息,然后根据该排队请求和系统中各个分前端的信息从各分前端中选取目标分前端用于为该路云应用分配资源,在确定目标分前端以后,如果目标分前端的排队队列长度为0则直接向该目标分前端请求为该云应用分配资源,若排队队列长度不为0,则将该排队请求信息(比如用户标识、客户端标识,云应用标识等)添加至该目标分前端的排队队列,在到达向目标分前端请求分配资源的时机后向该目标分前端请求为该云应用的分配资源。
本申请实施例中,上述的排队服务的执行主体是服务器,该服务器可以是系统内的中心节点的服务器,也可以是独立设置的服务器;该服务器可以是单独的服务器,也可以是服务器集群的模式,本申请对此不做限定。
图2是本公开一示例性实施例示出的一种云应用的启动方法的流程示意图;参照图2所示,本实施例所提供的一种云应用的启动方法,应用于服务器,该方法包括如下步骤S10-S40:
S10、服务器接收客户端在启动云应用时发送的云应用排队请求。
本申请实施例中客户端在启动一路云应用时向服务器发送排队请求,该排队请求中携带有用户标识、云应用标识和客户端IP地址等信息。
S20、根据所述云应用排队请求和获取的各分前端的信息,从所述各分前端中选取待请求为所述云应用分配资源的目标分前端。
服务器接收到客户端发送的云应用排队请求以后,根据获取的各分前端的信息和排队请求中携带的信息,从系统的各分前端中选取用于为该应用分配资源的目标分前端。
本申请一可能的实施例中,上述各分前端的信息包括:分前端与地区的映射关系、分前端所部署的所有应用的应用列表和分前端的黑名单信息,该黑名单信息中设置了该分前端被禁止接入的用户的信息。
图3是本公开一示例性实施例示出的一种云应用的启动方法的流程示意图;参照图3所示,本实施例中,上述步骤S20中,根据所述云应用排队请求和获取的各分前端的信息,从所述各分前端中选取待请求为所述云应用分配资源的目标分前端,具体包括如下步骤S201-S204:
S201、根据所述云应用排队请求中的客户端IP地址和各分前端与地区的映射关系,确定所述客户端所属地区对应的地区分前端。
示例性地,各分前端与地区的映射关系参见以下映射关系表1所示,若系统中存在天津1分前端、天津2分前端、上海分前端、南京分前端、佛山分前端、济南分前端六个分前端,该六个分前端与地区的映射关系如下表1所示,
地区 | 地区分前端 |
北京、天津、河北 | {[天津1、天津2]、[济南]} |
江苏 | {[南京]、[上海、济南]} |
广州、广西 | {[佛山]} |
表1
其中,以北京地区为例,北京地区的客户端所能够接入的地区分前端有天津1分前端、天津2分前端和济南分前端。
S202、若所述地区分前端的数量为一个,则将所述地区分前端作为所述目标分前端。
示例性地,如果客户端的IP地址属于广州地区,则将该广州地区对应的佛山分前端作为目标分前端,由该佛山分前端为该客户端所请求启动的云应用进行分配资源。
S203、若所述地区分前端的数量为多个,则根据所述用户标识、所述云应用标识和所述地区分前端的配置信息,从所述地区分前端中选取所述客户端能够接入的待选地区分前端。
参照上述表1所示,如果客户端IP地址属于北京地区,则该客户端所接入的地区分前端,首选为天津1分前端、天津2分前端,其次为济南分前端。
上述表1中,按照分前端组的排列顺序,排列顺序在前的首选地区分前端组中包含的分前端的客户端接入优先级高于排列在其后面的备选地区分前端组中的分前端,并且每个分前端组内的分前端,排列顺序在前的分前端的客户端接入优先级高于顺序在后的分前端的优先级;比如上述表1中,针对北京地区、天津地区和河北地区的客户端,天津1分前端和天津2分前端的客户端接入优先级高于济南分前端的客户端接入优先级,并且天津1分前端的客户端接入优先级大于天津2分前端的客户端接入优先级。
服务器根据客户端的IP地址确定客户端所属的地区,根据客户端所属地区和各分前端与地区的映射关系初步确定客户端可接入的地区分前端,进一步根据各地区分前端上所部署应用的应用列表筛选出部署有该云应用的地区分前端,然后根据该地区分前端的黑名单信息进一步确认上述用户的信息(比如用户标识)是否在黑名单信息里面,进而最终得到该客户端能够接入的待选地区分前端,若最终得到的待选地区分前端的数量为1个,则将该待选地区分前端作为目标分前端。
如果经过上述过程最终确定该客户端能够接入的待选地区分前端的数量为0,则表明该客户端目前没有能够接入的地区分前端,则向客户端返回无可用资源的提示信息。
若最终得到的待选地区分前端的数量为多个,则服务器需从该多个待选地区分前端中选取出该客户端所能够接入的目标地区分前端。
S204、若所述待选地区分前端的数量为多个且本地存储有所述客户端与各所述待选地区分前端之间的时延数据,则依据所述时延数据、各所述待选地区分前端的当前排队情况和所请求分配的资源的部署情况,从所述待选地区分前端中选取出目标分前端。
本实施例中,如果待选地区分前端的数量为多个,则服务器继续查找本地是否存储有该客户端与各待选地区分前端之间的时延数据。
示例性地,云应用启动过程中客户端在通过一个后台进程定时向系统中包含的各分前端或者是客户端所属地区对应的各分前端发送时延探测指令,进行探测与各分前端之间的数据传输时延,并将探测得到的时延数据上传至上述服务器。
上述服务器若是首次接收到该客户端上传的时延数据,则存储该时延数据;若是非首次接收到该客户端上传的时延数据,则使用最新接收到的时延数据覆盖原有的时延数据。
可选地,上述客户端上传时延数据至服务器之前,客户端将传输时延大于指定值的分前端进行过滤,进而只将传输时延小于指定值的分前端的时延数据上传至服务器。
本实施例中,服务器在获取客户端与各待选地区分前端之间的时延数据后,将待选地区分前端在首选地区分前端组和备选地区分前端组中分别按照时延数据从小到大的顺序进行排序得到待选地区分前端的排序列表,从待选地区分前端的排序列表中按照顺序依次查找能更快被分配到所需资源的待选地区分前端,将查找到的首个待选地区分前端作为目标分前端。
比如,按照时延数据从小到大的顺序依次查找排队队列长度最短的待选地区分前端,将查找到的首个排队队列长度最短的待选地区分前端作为目标分前端。
再比如,本申请另一实施例中,设置用于表征能更快被分配到所需资源的可能性的参数δ,该参数δ是根据分前端的排队队列中与客户端请求分配相同类型资源的用户数量和该分前端所部署的该类型资源的总数确定的,比如,待选地区分前端A的排队队列中请求获取相同资源的用户数量为10,所部署的该类型资源的路数为100,则当前参数δ的值为:待选地区分前端B的排队队列中请求获取相同资源的用户数量为5,所部署的客户端上部署的所请求资源的路数为40,则当前参数δ的值为:此时表明待选地区分前端A可能会更快分配客户端所需资源。按照时延数据从小到大的顺序依次查找参数δ的值最大的待选地区分前端,将查找到的首个参数δ的值最大(可能会有多个参数δ的值并列最大的情况)的待选地区分前端作为目标分前端。该方式能够显著提高用户进入云应用的效率。
上述客户端上传至服务器的时延数据中也可以是包含有上述客户端与各分前端之间的传输时延数据,此时则客户端不对时延数据进行过滤。
本实施例中,服务器在获取客户端与各待选地区分前端之间的时延数据后,将待选地区分前端按照时延数据从小到大的顺序进行排序得到待选地区分前端的排序列表,并按照时延数据从小到大的顺序依次查找能更快被分配到所需资源且传输时延小于指定值的待选地区分前端,将查找到的首个能更快被分配到所需资源且传输时延小于指定值的待选地区分前端作为目标分前端。
继续参照图3所示的实施例,上述方法还包括如下步骤S205:
S205、若所述待选地区分前端的数量为多个且本地未存储有所述客户端与各所述待选地区分前端之间的时延数据,则依据各所述待选地区分前端的接入优先级、当前的排队情况和所请求分配的资源的部署情况,从所述待选分前端中确定出目标分前端。
示例性的,本实施例中,将待选地区分前端按照接入优先级进行排序得到待选地区分前端的排序列表,并按照接入优先级从高到低的顺序依次查找能最快被分配到所需资源的待选地区分前端,将查找到的首个待选地区分前端作为目标分前端。
比如,按照接入优先级从高到低的顺序依次查找排队队列长度最短的待选地区分前端,将查找到的首个排队队列长度最短的待选地区分前端作为目标分前端。
再比如,按照时延数据从小到大的顺序依次查找参数δ的值最大的待选地区分前端,将查找到的首个参数δ的值最大(比如有多个参数δ的值并列最大的情况下)的待选地区分前端作为目标分前端。该参数δ的值的计算方式可以参见以上的描述。
若上述待选地区分前端中查找到排队队列长度为0的待选地区分前端,则直接将该待选地区作为目标分前端。
S30、若所述目标分前端的排队队列的长度为0,则向所述目标分前端请求为所述云应用分配资源。
如果目标分前端的排队队列内不包含有排队的用户,则该排队队列的长度为0,此时服务器直接向该目标分前端发送请求为云应用分配资源。若该目标分前端成功为该云应用分配资源,则告知客户端已成功分配资源,提示客户端启动该云应用,目标分前端将为该云应用分配的资源进行锁定预设时间;若目标分前端不能成功为该云游分配资源,则告知服务器,服务器将该客户端的排队请求信息添加至该目标客户端的排队队列等待下一次进行资源请求周期的到来。
S40、若所述目标分前端的排队队列的长度不为0,则将排队请求信息添加至所述目标分前端的排队队列,在检测到向所述目标分前端请求为所述云应用分配资源的触发事件后,向所述目标分前端请求为所述云应用分配资源;其中,所述目标分前端用于在成功为所述云应用分配资源后告知所述客户端拉起所述云应用,并告知所述服务器将所述排队请求信息从所述目标分前端的排队队列中删除。
图4是本公开一示例性实施例示出的一种分前端的排队队列的示意图;参照图4所示的实施例,服务器基于用户发起排队请求的时间先后顺序和用户等级大小生成该目标分前端的排队队列,该排队队列的长度为7;示例性地,用户等级越高在队列中的排序越靠前,在相同等级对应的子队列中的用户按照进入该子队列的时间先后顺序进行排列。比如,图4中所示,用户等级分为:等级5、等级4、等级3、等级2和等级1,其中,等级5为最高等级,等级1为最低等级,等级5的子队列中,用户6(usr6)先进入排队,用户7(usr7)后进入排队,则用户6(usr6)的排列顺序在用户7(usr7)之前。
本实施例中,上述目标分前端排队队列的长度不为0的情况下,服务器按照用户的等级信息和发起排队请求的时间先后顺序将该用户的排队请求信息(可以是包含有用户标识和应用标识)添加至目标分前端的排队队列。
图5是本公开一示例性实施例示出的一种服务器将用户加入目标分前端排队队列的示意图;参照图5所示,假设在将用户加入目标分前端的排队队列前目标分前端的排队队列为第一排队队列,该用户的用户标识为usr8,用户等级为等级3,在按照上述的排队规则将该用户加入该目标分前端的第一排队队列后得到图示的第二排队队列。
可选地,服务器定时向目标服务器发送资源请求,在检测到到达向目标分前端发送资源分配请求的周期后,向目标分前端发送资源分配请求。若该目标分前端的排队队列中包含有不同类型的云应用排队请求信息,则服务器携带包含该排队请求信息在内的指定数量的排队请求信息向目标分前端请求进行资源分配。
本实施例中在目标分前端的排队队列中包含有不同类型的云应用排队请求信息的情况下,服务器可以一次为目标分前端排队队列中的多个用户向目标分前端请求分配资源,该多个用户中如果有的用户被成功分配资源,则将该用户从目标分前端的排队队列中删除,剩余未被成功分配资源的用户仍在排队队列中进行等待。进而本实施例中使得目标分前端能够根据各云应用的所需资源类型的不同和当前剩余资源的情况灵活的进行资源分配,提高了资源分配的效率。
本申请一实施例中,服务器将用户插入目标分前端的排队队列以后,向客户端反馈用户的排队信息,该排队信息包括用户在目标分前端的排队队列的位置信息。
本申请另一可能的实施例中,上述的排队信息也可以包括用户在所请求启动的云应用的排队队列中的位置信息。
图6是本公开一示例性实施例示出的一种分前端的应用的排队队列的示意图;参照图6所示,应用1的排队队列包括usr6、usr2、usr4、usr1、usr3;应用2的排队队列包括usr7、usr8、usr5。
本实施例中,目标分前端在向客户端反馈用户的排队信息以后,客户端通过排队信息显示窗口向用户显示排队的情况。
图7是本公开一示例性实施例示出的客户端显示的用户排队信息显示窗口的示意图;参照图7所示,该用户排队信息显示窗口设置有排队信息查询接口和取消排队接口。用户通过排队信息查询接口和取消排队接口向服务器发起排队查询请求和取消排队请求。
若服务器若接收到客户端发送的排队查询请求,则获取用户当前的排队信息返回至客户端。
或者上述服务器设置有排队查询周期,在到达查询周期以后,服务器主动查询用户当前的排队情况,并将用户当前的排队情况信息返回至客户端,客户端将排队信息更新至排队信息显示窗口。再或者,服务器在目标客户端的排队队列的长度发生变化的情况下主动查询用户当前的排队情况,并将用户当前的排队情况信息返回至客户端。
本申请实施例中若服务器接收到客户端发送的取消排队请求,则将用户从该目标分前端的排队队列中删除,并重新调整目标分前端排队队列中的其他用户的排队顺序。
上述的取消排队请求在排队超时的情况下客户端生成的,或者是在用户出发了排队信息显示窗口中的取消排队入口的情况下生成的。
本申请另一可能的实施例中,服务器统计每个分前端的排队情况,比如分前端上每个应用的申请排队次数,每个分前端的排队队列的长度,每个分前端的排队队列中用户的平均排队时长,以及排队时长超过预设时间的用户数量,以及排队时长最大的指定数量的用户信息,以及用户的排队成功的情况(包含该用户申请排队所使用的时间以及排队时长等)。上述根据统计的内容不同,设置有不同的统计周期。服务器将统计的每个分前端的排队情况的结果进行输出至数据处理系统以向工作人员呈现。
本实施例中服务器对各分前端的排队情况进行统计和输出以便于工作人员进行监控各分前端的工作情况,为各分前端的负载均衡和问题定位等提供参考。
图8是本公开一示例性实施例示出的一种云应用的启动装置的结构示意图;参照图8所示,本公开实施例中提供的一种云应用的启动装置800包括:
接收模块801,用于接收客户端在启动云应用时发送的云应用排队请求;
选取模块802,用于根据所述云应用排队请求和获取的各分前端的信息,从所述各分前端中选取待请求为所述云应用分配资源的目标分前端;
第一请求模块803,用于若所述目标分前端的排队队列的长度为0,则向所述目标分前端请求为所述云应用分配资源;
第二请求模块804,用于若所述目标分前端的排队队列的长度不为0,则将排队请求信息添加至所述目标分前端的排队队列,在检测到向所述目标分前端请求为所述云应用分配资源的触发事件后,向所述目标分前端请求为所述云应用分配资源;其中,所述目标分前端用于在成功为所述云应用分配资源后告知所述客户端拉起所述云应用,并告知所述服务器将所述排队请求信息从所述目标分前端的排队队列中删除。
可选地,所述云应用排队请求中携带有用户标识、云应用标识和客户端IP地址;
所述选取模块802,具体用于:
根据所述云应用排队请求中的客户端IP地址和各分前端与地区的映射关系,确定所述客户端所属地区对应的地区分前端;
若所述地区分前端的数量为一个,则将所述地区分前端确定为所述目标分前端;
若所述地区分前端的数量为多个,则根据所述用户标识、所述云应用标识和所述地区分前端的配置信息,从所述地区分前端中选取所述客户端能够接入的待选地区分前端;
若所述待选地区分前端的数量为多个且本地存储有所述客户端与各所述待选地区分前端之间的时延数据,则依据所述时延数据、各所述待选地区分前端的当前排队情况和所请求分配的资源的部署情况,从所述待选地区分前端中选取出目标分前端。
可选地,上述选取模块802,还用于:
若所述待选地区分前端的数量为多个且本地未存储有所述客户端与各所述待选地区分前端之间的时延数据,则依据各所述待选地区分前端的接入优先级、当的排队情况和所请求分配的资源的部署情况,从所述待选分前端中确定出目标分前端。
可选地,上述选取模块802,还用于:
接收所述客户端发送的所述客户端与各分前端之间的时延数据,存储所述客户端与所述各分前端之间的时延数据。
可选地,上述第二请求模块804,具体用于:
在检测到到达向所述目标分前端发送资源分配请求的周期后,若所述目标分前端的排队队列中包含有不同类型的云应用排队请求信息,则携带包含所述排队请求信息在内的指定数量的排队请求信息向所述目标分前端请求进行资源分配。
可选地,上述装置800,还包括:
发送模块(图中未示出),用于在接收到所述客户端发送的排队查询请求或者到达排队查询周期的情况下,获取所述用户当前的排队信息,将所述排队信息发送至所述客户端。
可选地,上述装置800,还包括:
删除模块(图中未示出),用于在接收到所述客户端发送的取消排队请求的情况下,若所述排队请求信息还在所述目标分前端的排队队列内,则将所述用户从所述目标分前端的排队队列中删除。
可选地,上述装置800,还包括:
统计模块(图中未示出),用于统计每个所述分前端的排队情况,并输出所述每个分前端排队情况的统计结果。
本公开另一实施例中还提供了一种机器可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的任一实施例所述的云应用的启动方法的步骤。以实现通过在客户端启动一路云应用时发起排队请求,由服务器基于该排队请求从分前端列表中选择目标分前端为该路云应用分配资源,进而无需由用户通过在客户端不断选择不同地区的方式来选取能够启动该云应用的分前端,提高了云应用的进入效率,并提高了用户体验。
图9是本公开本公开实施例示出的一种电子设备的结构示意图。参照图9所示,该电子设备500,至少包括存储器(机器可读存储介质)502和处理器501;所述存储器502通过通信总线503和所述处理器501连接,用于存储所述处理器501可执行的指令代码;所述处理器501用于从所述存储器502读取和执行指令代码以实现上述任一实施例中所述的云应用的启动方法的步骤。以实现通过在客户端启动一路云应用时发起排队请求,由服务器基于该排队请求从分前端列表中选择目标分前端为该路云应用分配资源,进而无需由用户通过在客户端不断选择不同地区的方式来选取能够启动该云应用的分前端,提高了云应用的进入效率,并提高了用户体验。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (11)
1.一种云应用的启动方法,其特征在于,所述方法应用于服务器,所述方法包括:
接收客户端在启动云应用时发送的云应用排队请求;
根据所述云应用排队请求和获取的各分前端的信息,从所述各分前端中选取待请求为所述云应用分配资源的目标分前端;
若所述目标分前端的排队队列的长度为0,则向所述目标分前端请求为所述云应用分配资源;
若所述目标分前端的排队队列的长度不为0,则将排队请求信息添加至所述目标分前端的排队队列,在检测到向所述目标分前端请求为所述云应用分配资源的触发事件后,向所述目标分前端请求为所述云应用分配资源;其中,所述目标分前端用于在成功为所述云应用分配资源后告知所述客户端拉起所述云应用,并告知所述服务器将所述排队请求信息从所述目标分前端的排队队列中删除。
2.根据权利要求1所述的方法,其特征在于,所述云应用排队请求中携带有用户标识、云应用标识和客户端IP地址;
所述根据所述云应用排队请求和获取的各分前端的信息,从所述各分前端中选取待请求为所述云应用分配资源的目标分前端,包括:
根据所述云应用排队请求中的客户端IP地址和各分前端与地区的映射关系,确定所述客户端所属地区对应的地区分前端;
若所述地区分前端的数量为一个,则将所述地区分前端作为所述目标分前端;
若所述地区分前端的数量为多个,则根据所述用户标识、所述云应用标识和所述地区分前端的配置信息,从所述地区分前端中选取所述客户端能够接入的待选地区分前端;
若所述待选地区分前端的数量为多个且本地存储有所述客户端与各所述待选地区分前端之间的时延数据,则依据所述时延数据、各所述待选地区分前端的当前排队情况和所请求分配的资源的部署情况,从所述待选地区分前端中选取出目标分前端。
3.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
若所述待选地区分前端的数量为多个且本地未存储有所述客户端与各所述待选地区分前端之间的时延数据,则依据各所述待选地区分前端的接入优先级、当前的排队情况和所请求分配的资源的部署情况,从所述待选分前端中确定出目标分前端。
4.根据权利要求2所述的方法,其特征在于,在所述获取所述客户端与各所述待选分前端之间的时延数据之前,所述方法,还包括:
接收所述客户端发送的所述客户端与各分前端之间的时延数据,存储所述客户端与所述各分前端之间的时延数据。
5.根据权利要求1-4任一所述方法,其特征在于,所述在检测到向所述目标分前端请求为所述云应用分配资源的触发事件后,向所述目标分前端请求为所述云应用分配资源,包括:
在检测到到达向所述目标分前端发送资源分配请求的周期后,若所述目标分前端的排队队列中包含有不同类型的云应用排队请求信息,则携带包含所述排队请求信息在内的指定数量的排队请求信息向所述目标分前端请求进行资源分配。
6.根据权利要求1-4任一所述方法,其特征在于,所述方法,还包括:
在接收到所述客户端发送的排队查询请求或者到达排队查询周期的情况下,获取所述用户当前的排队信息,将所述排队信息发送至所述客户端。
7.根据权利要求1-4任一所述的方法,其特征在于,所述方法,还包括:
在接收到所述客户端发送的取消排队请求的情况下,若所述排队请求信息还在所述目标分前端的排队队列内,则将所述用户从所述目标分前端的排队队列中删除。
8.根据权利要求1-4任一所述的方法,其特征在于,所述方法,还包括:
统计每个所述分前端的排队情况,并输出所述每个分前端排队情况的统计结果。
9.一种云应用的启动装置,其特征在于,所述装置应用于服务器,所述装置包括:
接收模块,用于接收客户端在启动云应用时发送的云应用排队请求;
选取模块,用于根据所述云应用排队请求和获取的各分前端的信息,从所述各分前端中选取待请求为所述云应用分配资源的目标分前端;
第一请求模块,用于若所述目标分前端的排队队列的长度为0,则向所述目标分前端请求为所述云应用分配资源;
第二请求模块,用于若所述目标分前端的排队队列的长度不为0,则将排队请求信息添加至所述目标分前端的排队队列,在检测到向所述目标分前端请求为所述云应用分配资源的触发事件后,向所述目标分前端请求为所述云应用分配资源;其中,所述目标分前端用于在成功为所述云应用分配资源后告知所述客户端拉起所述云应用,并告知所述服务器将所述排队请求信息从所述目标分前端的排队队列中删除。
10.一种机器可读存储介质,其特征在于,机器可读存储介质上存储有若干计算机指令,计算机指令被执行时执行如权利要求1-8任一所述的方法。
11.一种电子设备,其特征在于,包括:机器可读存储介质和处理器,机器可读存储介质:存储指令代码;处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中的指令代码,实现如权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478103.4A CN111930434B (zh) | 2020-05-29 | 2020-05-29 | 一种云应用的启动方法、装置、可读存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010478103.4A CN111930434B (zh) | 2020-05-29 | 2020-05-29 | 一种云应用的启动方法、装置、可读存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930434A true CN111930434A (zh) | 2020-11-13 |
CN111930434B CN111930434B (zh) | 2024-04-16 |
Family
ID=73316456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010478103.4A Active CN111930434B (zh) | 2020-05-29 | 2020-05-29 | 一种云应用的启动方法、装置、可读存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930434B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113368494A (zh) * | 2021-06-30 | 2021-09-10 | 北京爱奇艺科技有限公司 | 云设备分配方法、装置、电子设备及存储介质 |
CN113395291A (zh) * | 2021-06-30 | 2021-09-14 | 北京爱奇艺科技有限公司 | 流量控制方法、装置、电子设备及存储介质 |
CN115695317A (zh) * | 2022-12-23 | 2023-02-03 | 海马云(天津)信息技术有限公司 | 接入请求的排队和出队方法与装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888485A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 云计算资源的分配方法、装置及系统 |
CN104954468A (zh) * | 2015-06-18 | 2015-09-30 | 小米科技有限责任公司 | 资源的分配方法及装置 |
CN107018091A (zh) * | 2016-02-29 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 资源请求的调度方法和装置 |
CN107888660A (zh) * | 2017-10-13 | 2018-04-06 | 杭州朗和科技有限公司 | 云服务资源调配方法、介质、装置和计算设备 |
CN108965480A (zh) * | 2018-09-07 | 2018-12-07 | 平安科技(深圳)有限公司 | 云桌面登录管控方法、装置及计算机可读存储介质 |
CN110727499A (zh) * | 2019-09-18 | 2020-01-24 | 平安科技(深圳)有限公司 | 资源数据获取的方法、装置、计算机设备和存储介质 |
CN110784506A (zh) * | 2019-09-05 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种云资源分配方法、装置及系统 |
CN111061560A (zh) * | 2019-11-18 | 2020-04-24 | 北京视博云科技有限公司 | 云渲染资源调度方法、装置、电子设备及存储介质 |
CN111084983A (zh) * | 2019-11-25 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 一种云游戏服务方法、装置、设备及存储介质 |
CN111135586A (zh) * | 2019-12-24 | 2020-05-12 | 网易(杭州)网络有限公司 | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 |
-
2020
- 2020-05-29 CN CN202010478103.4A patent/CN111930434B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888485A (zh) * | 2012-12-19 | 2014-06-25 | 华为技术有限公司 | 云计算资源的分配方法、装置及系统 |
CN104954468A (zh) * | 2015-06-18 | 2015-09-30 | 小米科技有限责任公司 | 资源的分配方法及装置 |
CN107018091A (zh) * | 2016-02-29 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 资源请求的调度方法和装置 |
CN107888660A (zh) * | 2017-10-13 | 2018-04-06 | 杭州朗和科技有限公司 | 云服务资源调配方法、介质、装置和计算设备 |
CN108965480A (zh) * | 2018-09-07 | 2018-12-07 | 平安科技(深圳)有限公司 | 云桌面登录管控方法、装置及计算机可读存储介质 |
CN110784506A (zh) * | 2019-09-05 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种云资源分配方法、装置及系统 |
CN110727499A (zh) * | 2019-09-18 | 2020-01-24 | 平安科技(深圳)有限公司 | 资源数据获取的方法、装置、计算机设备和存储介质 |
CN111061560A (zh) * | 2019-11-18 | 2020-04-24 | 北京视博云科技有限公司 | 云渲染资源调度方法、装置、电子设备及存储介质 |
CN111084983A (zh) * | 2019-11-25 | 2020-05-01 | 腾讯科技(深圳)有限公司 | 一种云游戏服务方法、装置、设备及存储介质 |
CN111135586A (zh) * | 2019-12-24 | 2020-05-12 | 网易(杭州)网络有限公司 | 游戏匹配方法、游戏匹配装置、存储介质与电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113368494A (zh) * | 2021-06-30 | 2021-09-10 | 北京爱奇艺科技有限公司 | 云设备分配方法、装置、电子设备及存储介质 |
CN113395291A (zh) * | 2021-06-30 | 2021-09-14 | 北京爱奇艺科技有限公司 | 流量控制方法、装置、电子设备及存储介质 |
CN115695317A (zh) * | 2022-12-23 | 2023-02-03 | 海马云(天津)信息技术有限公司 | 接入请求的排队和出队方法与装置、电子设备及存储介质 |
CN115695317B (zh) * | 2022-12-23 | 2023-04-07 | 海马云(天津)信息技术有限公司 | 接入请求的排队和出队方法与装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111930434B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111930434B (zh) | 一种云应用的启动方法、装置、可读存储介质及设备 | |
CN107837532B (zh) | 用户匹配方法、装置、服务器以及存储介质 | |
CN107800768B (zh) | 开放平台控制方法和系统 | |
US9069956B2 (en) | Method for scanning file, client and server thereof | |
CN106878415B (zh) | 数据消费的负载均衡方法及装置 | |
US20130254261A1 (en) | System and Method of Managing Servers for Streaming Desktop Applications | |
RU2596988C2 (ru) | Система анонимной связи и способ осуществления передачи посредством блока передаваемой информации в системе анонимной связи | |
CN110428124A (zh) | 任务分配方法、任务分配装置、存储介质及计算机设备 | |
CN110738479B (zh) | 基于多人点单的订单管理方法及系统 | |
JP6557361B2 (ja) | 近距離オブジェクトを照会するための方法およびデバイス | |
CN103562890A (zh) | 在发布/订阅消息系统中管理消息订阅 | |
CN110311959B (zh) | 消息推送与页面更新的方法、装置及数据处理系统 | |
CN109802895B (zh) | 数据处理系统、方法及令牌管理方法 | |
CN110688215A (zh) | 虚拟资源的分配方法、服务器和计算机可读存储介质 | |
CN110581784A (zh) | 一种节点健康检查方法、装置及设备 | |
CN115858180B (zh) | 一种时间切片方法、装置及电子设备 | |
US8924481B2 (en) | Apparatus for routing requests | |
CN117234732A (zh) | 共享资源的分配方法、装置、设备及介质 | |
US11294962B2 (en) | Method for processing random interaction data, network server and intelligent dialog system | |
CN103299298B (zh) | 处理业务的方法和系统 | |
CN111309769B (zh) | 一种处理基于多星搜索的目标信息以进行成像任务规划的方法、装置及计算机存储介质 | |
CN114911602A (zh) | 一种服务器集群的负载均衡方法、装置、设备和存储介质 | |
US20120166648A1 (en) | Apparatus and method for providing a service through sharing solution providing unit in cloud computing environment | |
CN104092735A (zh) | 一种基于二叉树的云计算数据访问方法及系统 | |
CN103366014B (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 |