CN114020433A - 实例资源调度方法、设备、存储介质及装置 - Google Patents

实例资源调度方法、设备、存储介质及装置 Download PDF

Info

Publication number
CN114020433A
CN114020433A CN202111310540.6A CN202111310540A CN114020433A CN 114020433 A CN114020433 A CN 114020433A CN 202111310540 A CN202111310540 A CN 202111310540A CN 114020433 A CN114020433 A CN 114020433A
Authority
CN
China
Prior art keywords
instance
user group
instances
limit value
users
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.)
Pending
Application number
CN202111310540.6A
Other languages
English (en)
Inventor
李文星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
MIGU Interactive Entertainment Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Interactive Entertainment Co Ltd
MIGU Culture Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, MIGU Interactive Entertainment Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202111310540.6A priority Critical patent/CN114020433A/zh
Publication of CN114020433A publication Critical patent/CN114020433A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及互联网技术领域,公开了一种实例资源调度方法、设备、存储介质及装置,该方法包括:在接收到请求用户发送的实例资源调用请求时,确定请求用户所属的当前用户组,获取当前用户组的配置信息和已用实例数,配置信息基于当前用户组的输入用户数和各实例的服务用户数预先生成,根据配置信息和已用实例数确定当前用户组的可用实例,将请求用户添加至可用实例对应的实例资源队列;由于本发明基于用户组的输入用户数和实例的服务用户数来进行用户配置,从而能够合理设置用户组参数,以满足用户的实例需求,并且由于本发明根据用户组的配置信息和已用实例数来进行实例资源调度,从而能够提高实例资源的利用率。

Description

实例资源调度方法、设备、存储介质及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种实例资源调度方法、设备、存储介质及装置。
背景技术
目前,在实例资源有限的情况下,会出现多个用户组对实例资源争用的情况。现有技术中通常通过运营人员手动调整参数来调度实例资源。但是,人工调度实例资源,无法最大化利用实例资源,从而导致参数设置不合理、实例资源利用率低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种实例资源调度方法、设备、存储介质及装置,旨在解决现有技术中通过运营人员手动调整参数来调度实例资源,无法最大化利用实例资源,从而导致参数设置不合理、实例资源利用率低的技术问题。
为实现上述目的,本发明提供一种实例资源调度方法,所述实例资源调度方法包括以下步骤:
在接收到请求用户发送的实例资源调用请求时,确定所述请求用户所属的当前用户组;
获取所述当前用户组的配置信息和已用实例数,所述配置信息基于所述当前用户组的输入用户数和各实例的服务用户数预先生成;
根据所述配置信息和所述已用实例数确定所述当前用户组的可用实例;
将所述请求用户添加至所述可用实例对应的实例资源队列。
可选地,所述在接收到请求用户发送的实例资源调用请求时,确定所述请求用户所属的当前用户组的步骤之前,还包括:
获取各用户组的输入用户数和各实例的服务用户数;
根据所述各用户组的输入用户数和所述各实例的服务用户数确定所述各用户组的实例上限值和实例下限值;
根据所述各用户组的实例上限值和所述实例下限值生成所述各用户组的配置信息。
可选地,所述根据所述各用户组的输入用户数和所述各实例的服务用户数确定所述各用户组的实例上限值和实例下限值的步骤,包括:
获取各用户组的优先级信息,并根据所述优先级信息确定所述各用户组对应的实例值计算策略;
根据所述各用户组的输入用户数、所述各实例的服务用户数以及所述实例值计算策略确定所述各用户组的实例上限值和实例下限值。
可选地,所述获取各用户组的输入用户数和各实例的服务用户数的步骤,包括:
获取各用户组的单位时间平均输入用户数和各实例的单位时间平均服务用户数;
根据所述单位时间平均输入用户数确定用户变化信息,并根据用户变化信息对预设时间进行分段,获得多个时间周期;
根据所述单位时间平均输入用户数确定各时间周期对应的输入用户数,并根据所述单位时间平均服务用户数确定各时间周期对应的服务用户数。
可选地,所述配置信息包括:实例下限值;所述根据所述配置信息和所述已用实例数确定所述当前用户组的可用实例的步骤,包括:
从所述配置信息中提取所述当前用户组对应的实例下限值;
在所述已用实例数小于所述实例下限值时,将所述当前用户组对应的独享实例作为所述当前用户组的可用实例,所述独享实例为各用户组单独占用的实例。
可选地,所述配置信息还包括:实例上限值;所述从所述配置信息中提取所述当前用户组对应的实例下限值的步骤之后,还包括:
在所述已用实例数大于或等于所述实例下限值时,从所述配置信息中提取所述当前用户组对应的实例上限值;
在所述已用实例数小于所述实例上限值时,将共享实例作为所述当前用户组的可用实例,所述共享实例为各用户组共用的实例。
可选地,所述在所述已用实例数小于所述实例上限值时,将共享实例作为所述当前用户组的可用实例的步骤,包括:
在所述已用实例数小于所述实例上限值时,根据各用户组的实例下限值确定共享实例数;
在所述共享实例数大于预设阈值时,将共享实例作为所述当前用户组的可用实例。
此外,为实现上述目的,本发明还提出一种实例资源调度设备,所述实例资源调度设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的实例资源调度程序,所述实例资源调度程序配置为实现如上文所述的实例资源调度方法。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有实例资源调度程序,所述实例资源调度程序被处理器执行时实现如上文所述的实例资源调度方法。
此外,为实现上述目的,本发明还提出一种实例资源调度装置,所述实例资源调度装置包括:用户组确定模块、信息获取模块、实例确定模块以及用户添加模块;
所述用户组确定模块,用于在接收到请求用户发送的实例资源调用请求时,确定所述请求用户所属的当前用户组;
所述信息获取模块,用于获取所述当前用户组的配置信息和已用实例数,所述配置信息基于所述当前用户组的输入用户数和各实例的服务用户数预先生成;
所述实例确定模块,用于根据所述配置信息和所述已用实例数确定所述当前用户组的可用实例;
所以用户添加模块,用于将所述请求用户添加至所述可用实例对应的实例资源队列。
在本发明中,公开了在接收到请求用户发送的实例资源调用请求时,确定请求用户所属的当前用户组,获取当前用户组的配置信息和已用实例数,配置信息基于当前用户组的输入用户数和各实例的服务用户数预先生成,根据配置信息和已用实例数确定当前用户组的可用实例,将请求用户添加至可用实例对应的实例资源队列;由于本发明基于用户组的输入用户数和实例的服务用户数来进行用户配置,从而能够合理设置用户组参数,以满足用户的实例需求,并且由于本发明根据用户组的配置信息和已用实例数来进行实例资源调度,从而能够提高实例资源的利用率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的实例资源调度设备的结构示意图;
图2为本发明实例资源调度方法第一实施例的流程示意图;
图3为本发明实例资源调度方法第二实施例的流程示意图;
图4为本发明实例资源调度方法第三实施例的流程示意图;
图5为本发明实例资源调度装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的实例资源调度设备结构示意图。
如图1所示,该实例资源调度设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM),也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对实例资源调度设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及实例资源调度程序。
在图1所示的实例资源调度设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述实例资源调度设备通过处理器1001调用存储器1005中存储的实例资源调度程序,并执行本发明实施例提供的实例资源调度方法。
基于上述硬件结构,提出本发明实例资源调度方法的实施例。
参照图2,图2为本发明实例资源调度方法第一实施例的流程示意图,提出本发明实例资源调度方法第一实施例。
步骤S10:在接收到请求用户发送的实例资源调用请求时,确定所述请求用户所属的当前用户组。
应当理解的是,本实施例方法的执行主体可以是具有数据处理、网络通信以及程序运行功能的实例资源调度设备,例如服务器等,或者是其他能够实现相同或相似功能的电子设备。
可以理解的是,目前,云游戏实例是一种稀缺资源,在游戏实例有限的情况下,会出现多个用户组对实例资源争用的情况。现有技术中主要通过以下方式来进行资源调用。
方式一:预先将实例资源划分到各用户组,各用户组独享自己的实例资源。例如一共有10000个实例,共有3个用户组,用户组A配置2000实例,用户组B配置3000实例,用户组C配置5000实例。
方式二:所有用户组共享所有实例,按照用户先到先得原则进行实例分配。
方式三:各用户组预先配置初始实例数,按照配置的实例数进行实例控制。另外启动一个任务,对各用户组已使用实例数进行监控,并定时对实例数配置进行动态调整,调整基于预先的人工配置。
但是,方式一实例无法实现共享,可能存在某用户组实例用完出现排队情况,而其他用户组有剩余实例未被使用,出现实例浪费的情况。方式二可能存在某些用户量较小的用户组获取不到实例的情况。方式三,实例配置动态调整不智能,需预先配置相关调整参数,同时存在实例动态调整不及时的问题。
为了克服上述缺陷,本实施例中基于用户组的输入用户数和实例的服务用户数来进行用户配置,从而能够合理设置用户组参数,以满足用户的实例需求,并且由于本实施例根据用户组的配置信息和已用实例数来进行实例资源调度,从而能够提高实例资源的利用率。
可以理解的是,本实施例应用于云游戏平台实例调度业务场景,为了便于理解,以下进行举例说明,但并不对本方案进行限定,云游戏平台实例调度业务场景如下所示:根据用户来源及用户属性的不同,对游戏实例的需求也不同,将用户输入根据用户来源和属性进行分组,游戏实例在各用户组间实现共享。由于各组用户到达具有随机性,为避免业务高峰期某组用户无法获取到实例,同时为了确保会员用户不排队,可对各组用户设置用户组实例下限值,即该用户组可独占的实例数,各用户组独占实例之外的实例作为共享实例供大家共同使用。为了避免某一组用户实际占用实例过多,可对各用户组设置实例上限值。用户到来时优先使用其所属用户组的独占实例,且其他用户组不得使用该用户组的独占实例,该用户组独占实例使用完后,如还有共享实例,可使用共享实例,该用户组所使用实例总数不得超过该用户组实例上限值。
根据业务需要,如用户组为会员用户,则实例下限值应尽可能满足该用户组需求,不设实例上限值,尽量使该用户组用户不排队;如用户组为非会员用户,则设实例下限值,满足用户实例最低需求,同时设实例上限值,实例上限值应满足该用户组排队平均时长最小化。
如下配置举例,总实例=6000,用户组A、B、C实例下限值和实例上限值如表1所示,可通过后续相关算法动态计算各用户组应分配的实例下限值和实例上限值的合理值,并进行实时调整。
表1实例值表
用户组 实例下限值 实例上限值
用户组A(会员) 1000 6000-500-800
用户组B(非会员) 500 2000
用户组C(非会员) 800 3000
需要说明的是,请求用户用户可以通过启动云游戏来发起实例资源调用请求。
应当理解的是,确定请求用户所属的当前用户组可以是从实例资源调用请求中提取身份标识,并根据身份标识确定请求用户所属的当前用户组。
步骤S20:获取所述当前用户组的配置信息和已用实例数,所述配置信息基于所述当前用户组的输入用户数和各实例的服务用户数预先生成。
需要说明的是,配置信息用于配置用户组的实例上限值和实例下限值。其中,实例上限值可以是用户组可使用的实例总数,实例下限值可以是用户组可独占的实例数。
应当理解的是,获取用户组的已用实例数可以是获取用户组对应的实例资源队列的队列长度,并将队列长度作为已用实例数。在具体实现中,实例资源队列可以是正在游戏中的队列。
可以理解的是,由于配置信息基于用户组的输入用户数和实例的服务用户数生成,因此可以根据实际情况对用户组进行配置,从而提高了配置信息的可靠性。
步骤S30:根据所述配置信息和所述已用实例数确定所述当前用户组的可用实例。
应当理解的是,根据配置信息和已用实例数确定所述当前用户组的可用实例可以是从配置信息中提取实例上限值和实例下限值,并根据实例上限值、实例下限值以及已用实例数确定当前用户组的可用实例。
步骤S40:将所述请求用户添加至所述可用实例对应的实例资源队列。
需要说明的是,实例资源队列可以是正在游戏中的队列。
应当理解的是,将请求用户添加至可用实例对应的实例资源队列可以是将请求用户添加至正在游戏中的队列,以调用可用实例。
进一步地,为了在实例归还时,实时更新共享实例数,所述步骤S40之后,还包括:
在接收到实例资源归还请求时,根据所述实例资源归还请求确定归还实例;
判断所述归还实例是否为共享实例;
若是,则获取所述归还实例的实例信息,并根据所述实例信息对共享实例数进行更新。
需要说明的是,实例资源归还请求可以由用户发起,例如,用户可以通过结束云游戏来发起实例资源归还请求。
应当理解的是,根据实例资源归还请求确定归还实例可以是从实例资源归还请求中提取资源标识,并根据实例资源归还请求确定归还实例。
可以理解的是,判断归还实例是否为共享实例可以是将归还实例的实例标识与共享实例的实例标识进行匹配,在匹配成功时,判定归还实例为共享实例;在匹配失败时,判定归还实例不为共享实例。
需要说明的是,归还实例的实例信息可以是归还实例数量等。
应当理解的是,根据实例信息对共享实例数进行更新可以是将共享实例数加上归还实例数量,以对共享实例数进行更新。
可以理解的是,在归还实例为共享实例时,还可以将用户从实例资源队列中移出。
在第一实施例中,公开了在接收到请求用户发送的实例资源调用请求时,确定请求用户所属的当前用户组,获取当前用户组的配置信息和已用实例数,配置信息基于当前用户组的输入用户数和各实例的服务用户数预先生成,根据配置信息和已用实例数确定当前用户组的可用实例,将请求用户添加至可用实例对应的实例资源队列;由于本实施例基于用户组的输入用户数和实例的服务用户数来进行用户配置,从而能够合理设置用户组参数,以满足用户的实例需求,并且由于本实施例根据用户组的配置信息和已用实例数来进行实例资源调度,从而能够提高实例资源的利用率。
参照图3,图3为本发明实例资源调度方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明实例资源调度方法的第二实施例。
在第二实施例中,所述步骤S10之前,还包括:
步骤S01:获取各用户组的输入用户数和各实例的服务用户数。
需要说明的是,输入用户数可以是各用户组在各时间周期内的用户到达数,服务用户数可以是各实例在各时间周期内的用户服务数。
应当理解的是,输入用户数和服务用户数可以由实例资源调度设备的管理人员预先录入,也可以由实例资源调度设备根据实际情况自行设置,本实施例对此不加以限制。
进一步地,为了能够根据实际情况来确定用户组的输入用户数和实例的服务用户数,所述步骤S01,包括:
获取各用户组的单位时间平均输入用户数和各实例的单位时间平均服务用户数;
根据所述单位时间平均输入用户数确定用户变化信息,并根据用户变化信息对预设时间进行分段,获得多个时间周期;
根据所述单位时间平均输入用户数确定各时间周期对应的输入用户数,并根据所述单位时间平均服务用户数确定各时间周期对应的服务用户数。
需要说明的是,单位时间平均输入用户可以是各用户组一天中各分钟的用户平均到达数,单位时间平均服务用户数可以是各实例一天中各分钟的用户平均服务数。
应当理解的是,根据不同用户来源统计不同来源用户组的用户平均到达数,根据云游戏用户玩游戏时间特点分为三个时间维度来统计,分别为寒暑假、节假日和工作日。单位时间取分钟,分别按三个维度往前统计N天,可计算出一天中各分钟的用户平均到达数,计算公式如下所示:
Figure BDA0003339904630000091
式中,t为一天中的第t分钟,t取1至1440中任一值,CN为第N天该分钟的用户到达数,λt为一天中第t分钟的用户平均到达数,当N大于某一个值时,λt趋向于稳定,λt即取该稳定值。
可以理解的是,同λt的计算方式,取同样的时间维度,统计单台实例平均每个用户的占用时间,再取倒数,即为单位时间服务用户数μt
需要说明的是,用户变化信息可以是相邻分钟之间的用户平均到达数的变化率。
应当理解的是,根据单位时间平均输入用户确定用户变化信息,并根据用户变化信息对预设时间进行分段,获得多个时间周期可以是记一天中第t分钟的用户平均到达数为λt,当第t+1分钟的λt+1与前t分钟的λt相比,变化率低于10%,则将t+1与前t分钟划为同一个时间周期;当第t+1分钟的λt+1与前t分钟的λt相比,变化率高于10%,则将前t分钟划为同一个时间周期,第t+1分钟开始计算下一个时间周期,依次将一天将分段,获得多个时间周期。
可以理解的是,根据单位时间平均输入用户确定各时间周期对应的输入用户数可以是根据单位时间平均输入用户通过预设输入用户数公式计算各时间周期对应的输入用户数。其中,预设输入用户数公式如下所示:
Figure BDA0003339904630000101
式中,n为时间周期对应的起始分钟,i为时间周期的时间长度,λt为一天中第t分钟的用户平均到达数,λ为时间周期对应的输入用户数。
可以理解的是,根据单位时间服务用户数确定各时间周期对应的服务用户数可以是根据单位时间服务用户数通过预设服务用户数公式计算各时间周期对应的服务用户数。其中,预设服务用户数公式如下所示:
Figure BDA0003339904630000102
式中,n为时间周期对应的起始分钟,i为时间周期的时间长度,μt为一天中第t分钟的用户平均服务数,μ为时间周期对应的服务用户数。
步骤S02:根据所述各用户组的输入用户数和所述各实例的服务用户数确定所述各用户组的实例上限值和实例下限值。
应当理解的是,根据各用户组的输入用户数和各实例的服务用户数确定各用户组的实例上限值和实例下限值可以是将输入用户数和服务用户数作为参考信息,在预设实例表中查找参考信息对应的实例值。其中,预设实例表中包含参考信息与实例值的对应关系,实例值包括实例上限值和实例下限值。
进一步地,在实际应用中,用户组还可以分为会员用户组和非会员用户组,不同的用户组对应不同的优先级,不同的优先级对应不同的实例值。因此,为了更加准确地设置用户组的实例上限值和实例下限值,所述步骤S02,包括:
获取各用户组的优先级信息,并根据所述优先级信息确定所述各用户组对应的实例值计算策略;
根据所述各用户组的输入用户数、所述各实例的服务用户数以及所述实例值计算策略确定所述各用户组的实例上限值和实例下限值。
应当理解的是,在实际应用中,各用户组还存在不同的优先级,可以分为会员用户组和非会员用户组。不同的用户组对应不同的实例值计算策略。因此,为了使各用户组的实例上限值和实例下限值更加准确,本实施例中,通过获取各用户组的优先级信息,并根据优先级信息确定各用户组对应的实例值计算策略。
在具体实现中,例如,在单位时间内,即每个参数调整周期内,根据上一步计算出参数λ和μ,同时已知游戏实例总数N,可计算出每个用户组用户即来即玩,不用排队的概率P0,以及用户数大于可服务数的概率,即用户需要排队的概率P(N≥k),以及用户平均排队时长Wq
计算会员用户组的实例下限值:根据业务要求,会员用户应尽量不排队,则应满足P0尽量大,在云游戏平台场景中,取P0>90%,即P0>0.9。
根据计算公式
Figure BDA0003339904630000111
(多实例服务强度ρ*=λ/Sμ),带入实例数S=(1-N)进行计算,满足P0>0.9时的S则为该用户组的实例下限值。
计算非会员用户组的实例下限值:非会员用户最小值应满足实例使用率较充分,不存在实例空闲的情况,即系统中存在的用户数大于实例数的概率足够大,在这里我们取P(N≥k)>0.9。
Figure BDA0003339904630000112
带入k=1-N进行计算,当P(N≥k)>0.9时,k即为非会员用户组的实例下限值。
计算非会员用户组的实例上限值:
(1)人为制造非会员队列,以提升非会员付费转换率,需控制非会员最大实例。同时考虑用户排队体验,可通过控制用户队列队长的方式进行控制,此处可控制用户队列队长和正在游戏的实例数相等,
即排队队长
Figure BDA0003339904630000121
带入S=(1-N)进行计算,得出S值为非会员最大实例数。如果此步骤计算出S大于下面第2种情况计算出的S值,则取较小S值。
(2)在满足∑非会员用户组的实例上限值+∑会员用户组的实例下限值≤N的情况下,应使非会员用户组总排队时长最小化。
即同时满足
Figure BDA0003339904630000122
带入S=(1-N)进行计算,得出∑Wq为最小值时,S则为各非会员用户组的实例上限值。
通过上面的计算,可得出各用户组的实例上限值和实例下限值。
步骤S03:根据所述各用户组的实例上限值和所述实例下限值生成所述各用户组的配置信息。
应当理解的是,根据实例上限值和实例下限值生成各用户组的配置信息可以是将实例上限值和实例下限值作为各用户组的配置信息。
在第二实施例中,公开了获取各用户组的输入用户数和各实例的服务用户数,根据各用户组的输入用户数和各实例的服务用户数确定各用户组的实例上限值和实例下限值,根据实例上限值和实例下限值生成各用户组的配置信息;由于本实施例中能够基于各用户组的输入用户数和实例的服务用户数预先生成各用户组的配置信息,从而能够满足用户的实际需求,提高配置信息的可靠性。
参照图4,图4为本发明实例资源调度方法第三实施例的流程示意图,基于上述图3所示的第二实施例,提出本发明实例资源调度方法的第三实施例。
在第三实施例中,所述步骤S30,包括:
步骤S301:从所述配置信息中提取所述当前用户组对应的实例下限值。
应当理解的是,从配置信息中提取当前用户组对应的实例下限值可以是根据信息标识从配置信息中提取当前用户组对应的实例下限值。其中,信息标识用于表示信息内容。
需要说明的是,当前用户组对应的实例下限值表示当前用户组独占的实例数。
步骤S302:在所述已用实例数小于所述实例下限值时,将所述当前用户组对应的独享实例作为所述当前用户组的可用实例,所述独享实例为各用户组单独占用的实例。
可以理解的是,在已用实例数小于当前用户组对应的实例下限值时,说明当前用户组对应的独享实例未全部使用。因此,可以直接将调用当前用户组对应的独享实例作为当前用户组的可用实例。
进一步地,在实际应用中,还存在当前用户组对应的独享实例已使用完的情况。因此,所述步骤S302,包括:
在所述已用实例数大于或等于所述实例下限值时,从所述配置信息中提取所述当前用户组对应的实例上限值;
在所述已用实例数小于所述实例上限值时,将共享实例作为所述当前用户组的可用实例,所述共享实例为各用户组共用的实例。
需要说明的是,当前用户组对应的实例上限值表示当前用户组可以使用的实例总数,由当前用户组独占的实例数和各用户组的共享实例数组成。
应当理解的是,在已用实例数大于或等于实例下限值时,说明用户组当前用户组对应的独享实例已全部使用,此时,需要判断已用实例数是否小于实例上限值,以确定当前用户组对应的共享实例是否全部使用。
可以理解的是,在已用实例数大于或等于实例下限值,且已用实例数小于实例上限值时,说明当前用户组对应的共享实例未全部使用。因此,可以调用共享实例作为当前用户组的可用实例。
应当理解的是,在已用实例数大于或等于实例上限值时,说明当前用户组可以使用的实例已全部使用。此时,需要将请求用户添加至等待队列,以等待实例资源的释放。
进一步地,在实际应用中,还存在设置不合理导致共享实例被全部占用的情况。为了克服上述缺陷,所述在所述已用实例数小于所述实例上限值时,将共享实例作为所述当前用户组的可用实例,包括:
在所述已用实例数小于所述实例上限值时,根据各用户组的实例下限值确定共享实例数;
在所述共享实例数大于预设阈值时,将共享实例作为所述当前用户组的可用实例。
需要说明的是,预设阈值可以预先设置,例如,可以将预设阈值设置为0。
可以理解的是,除了各用户组独占的实例以外,其他实例都为共享实例。因此,根据各用户组的实例下限值确定共享实例数可以是用总实例数减去各用户组的实例下限值,获得共享实例数。
应当理解的是,在共享实例数大于预设阈值时,说明共享实例未全部使用。因此,可以调用共享实例作为当前用户组的可用实例。
在第三实施例中,公开了从配置信息中提取当前用户组对应的实例下限值,在已用实例数小于实例下限值时,将当前用户组对应的独享实例作为当前用户组的可用实例,独享实例为各用户组单独占用的实例;由于本实施例中引入实例下限值来确定用户组的可用实例,从而提高了可用实例的可靠性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有实例资源调度程序,所述实例资源调度程序被处理器执行时实现如上文所述的实例资源调度方法。
此外,参照图5,本发明实施例还提出一种实例资源调度装置,所述实例资源调度装置包括:用户组确定模块10、信息获取模块20、实例确定模块30以及用户添加模块40;
所述用户组确定模块10,用于在接收到请求用户发送的实例资源调用请求时,确定所述请求用户所属的当前用户组。
可以理解的是,目前,云游戏实例是一种稀缺资源,在游戏实例有限的情况下,会出现多个用户组对实例资源争用的情况。现有技术中主要通过以下方式来进行资源调用。
方式一:预先将实例资源划分到各用户组,各用户组独享自己的实例资源。例如一共有10000个实例,共有3个用户组,用户组A配置2000实例,用户组B配置3000实例,用户组C配置5000实例。
方式二:所有用户组共享所有实例,按照用户先到先得原则进行实例分配。
方式三:各用户组预先配置初始实例数,按照配置的实例数进行实例控制。另外启动一个任务,对各用户组已使用实例数进行监控,并定时对实例数配置进行动态调整,调整基于预先的人工配置。
但是,方式一实例无法实现共享,可能存在某用户组实例用完出现排队情况,而其他用户组有剩余实例未被使用,出现实例浪费的情况。方式二可能存在某些用户量较小的用户组获取不到实例的情况。方式三,实例配置动态调整不智能,需预先配置相关调整参数,同时存在实例动态调整不及时的问题。
为了克服上述缺陷,本实施例中基于用户组的输入用户数和实例的服务用户数来进行用户配置,从而能够合理设置用户组参数,以满足用户的实例需求,并且由于本实施例根据用户组的配置信息和已用实例数来进行实例资源调度,从而能够提高实例资源的利用率。
可以理解的是,本实施例应用于云游戏平台实例调度业务场景,为了便于理解,以下进行举例说明,但并不对本方案进行限定,云游戏平台实例调度业务场景如下所示:根据用户来源及用户属性的不同,对游戏实例的需求也不同,将用户输入根据用户来源和属性进行分组,游戏实例在各用户组间实现共享。由于各组用户到达具有随机性,为避免业务高峰期某组用户无法获取到实例,同时为了确保会员用户不排队,可对各组用户设置用户组实例下限值,即该用户组可独占的实例数,各用户组独占实例之外的实例作为共享实例供大家共同使用。为了避免某一组用户实际占用实例过多,可对各用户组设置实例上限值。用户到来时优先使用其所属用户组的独占实例,且其他用户组不得使用该用户组的独占实例,该用户组独占实例使用完后,如还有共享实例,可使用共享实例,该用户组所使用实例总数不得超过该用户组实例上限值。
根据业务需要,如用户组为会员用户,则实例下限值应尽可能满足该用户组需求,不设实例上限值,尽量使该用户组用户不排队;如用户组为非会员用户,则设实例下限值,满足用户实例最低需求,同时设实例上限值,实例上限值应满足该用户组排队平均时长最小化。
如下配置举例,总实例=6000,用户组A、B、C实例下限值和实例上限值如表1所示,可通过后续相关算法动态计算各用户组应分配的实例下限值和实例上限值的合理值,并进行实时调整。
表1实例值表
用户组 实例下限值 实例上限值
用户组A(会员) 1000 6000-500-800
用户组B(非会员) 500 2000
用户组C(非会员) 800 3000
需要说明的是,请求用户用户可以通过启动云游戏来发起实例资源调用请求。
应当理解的是,确定请求用户所属的当前用户组可以是从实例资源调用请求中提取身份标识,并根据身份标识确定请求用户所属的当前用户组。
所述信息获取模块20,用于获取所述当前用户组的配置信息和已用实例数,所述配置信息基于所述当前用户组的输入用户数和各实例的服务用户数预先生成。
需要说明的是,配置信息用于配置用户组的实例上限值和实例下限值。其中,实例上限值可以是用户组可使用的实例总数,实例下限值可以是用户组可独占的实例数。
应当理解的是,获取用户组的已用实例数可以是获取用户组对应的实例资源队列的队列长度,并将队列长度作为已用实例数。在具体实现中,实例资源队列可以是正在游戏中的队列。
可以理解的是,由于配置信息基于用户组的输入用户数和实例的服务用户数生成,因此可以根据实际情况对用户组进行配置,从而提高了配置信息的可靠性。
所述实例确定模块30,用于根据所述配置信息和所述已用实例数确定所述当前用户组的可用实例。
应当理解的是,根据配置信息和已用实例数确定所述当前用户组的可用实例可以是从配置信息中提取实例上限值和实例下限值,并根据实例上限值、实例下限值以及已用实例数确定当前用户组的可用实例。
所以用户添加模块40,用于将所述请求用户添加至所述可用实例对应的实例资源队列。
需要说明的是,实例资源队列可以是正在游戏中的队列。
应当理解的是,将请求用户添加至可用实例对应的实例资源队列可以是将请求用户添加至正在游戏中的队列,以调用可用实例。
进一步地,为了在实例归还时,实时更新共享实例数,所述实例资源调度装置还包括:
更新模块,用于在接收到实例资源归还请求时,根据所述实例资源归还请求确定归还实例,判断所述归还实例是否为共享实例,若是,则获取所述归还实例的实例信息,并根据所述实例信息对共享实例数进行更新。
需要说明的是,实例资源归还请求可以由用户发起,例如,用户可以通过结束云游戏来发起实例资源归还请求。
应当理解的是,根据实例资源归还请求确定归还实例可以是从实例资源归还请求中提取资源标识,并根据实例资源归还请求确定归还实例。
可以理解的是,判断归还实例是否为共享实例可以是将归还实例的实例标识与共享实例的实例标识进行匹配,在匹配成功时,判定归还实例为共享实例;在匹配失败时,判定归还实例不为共享实例。
需要说明的是,归还实例的实例信息可以是归还实例数量等。
应当理解的是,根据实例信息对共享实例数进行更新可以是将共享实例数加上归还实例数量,以对共享实例数进行更新。
可以理解的是,在归还实例为共享实例时,还可以将用户从实例资源队列中移出。
在本实施例中,公开了在接收到请求用户发送的实例资源调用请求时,确定请求用户所属的当前用户组,获取当前用户组的配置信息和已用实例数,配置信息基于当前用户组的输入用户数和各实例的服务用户数预先生成,根据配置信息和已用实例数确定当前用户组的可用实例,将请求用户添加至可用实例对应的实例资源队列;由于本实施例基于用户组的输入用户数和实例的服务用户数来进行用户配置,从而能够合理设置用户组参数,以满足用户的实例需求,并且由于本实施例根据用户组的配置信息和已用实例数来进行实例资源调度,从而能够提高实例资源的利用率。
本发明所述实例资源调度装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台接入设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种实例资源调度方法,其特征在于,所述实例资源调度方法包括以下步骤:
在接收到请求用户发送的实例资源调用请求时,确定所述请求用户所属的当前用户组;
获取所述当前用户组的配置信息和已用实例数,所述配置信息基于所述当前用户组的输入用户数和各实例的服务用户数预先生成;
根据所述配置信息和所述已用实例数确定所述当前用户组的可用实例;
将所述请求用户添加至所述可用实例对应的实例资源队列。
2.如权利要求1所述的实例资源调度方法,其特征在于,所述在接收到请求用户发送的实例资源调用请求时,确定所述请求用户所属的当前用户组的步骤之前,还包括:
获取各用户组的输入用户数和各实例的服务用户数;
根据所述各用户组的输入用户数和所述各实例的服务用户数确定所述各用户组的实例上限值和实例下限值;
根据所述各用户组的实例上限值和所述实例下限值生成所述各用户组的配置信息。
3.如权利要求2所述的实例资源调度方法,其特征在于,所述根据所述各用户组的输入用户数和所述各实例的服务用户数确定所述各用户组的实例上限值和实例下限值的步骤,包括:
获取各用户组的优先级信息,并根据所述优先级信息确定所述各用户组对应的实例值计算策略;
根据所述各用户组的输入用户数、所述各实例的服务用户数以及所述实例值计算策略确定所述各用户组的实例上限值和实例下限值。
4.如权利要求2所述的实例资源调度方法,其特征在于,所述获取各用户组的输入用户数和各实例的服务用户数的步骤,包括:
获取各用户组的单位时间平均输入用户数和各实例的单位时间平均服务用户数;
根据所述单位时间平均输入用户数确定用户变化信息,并根据用户变化信息对预设时间进行分段,获得多个时间周期;
根据所述单位时间平均输入用户数确定各时间周期对应的输入用户数,并根据所述单位时间平均服务用户数确定各时间周期对应的服务用户数。
5.如权利要求1所述的实例资源调度方法,其特征在于,所述配置信息包括:实例下限值;所述根据所述配置信息和所述已用实例数确定所述当前用户组的可用实例的步骤,包括:
从所述配置信息中提取所述当前用户组对应的实例下限值;
在所述已用实例数小于所述实例下限值时,将所述当前用户组对应的独享实例作为所述当前用户组的可用实例,所述独享实例为各用户组单独占用的实例。
6.如权利要求5所述的实例资源调度方法,其特征在于,所述配置信息还包括:实例上限值;所述从所述配置信息中提取所述当前用户组对应的实例下限值的步骤之后,还包括:
在所述已用实例数大于或等于所述实例下限值时,从所述配置信息中提取所述当前用户组对应的实例上限值;
在所述已用实例数小于所述实例上限值时,将共享实例作为所述当前用户组的可用实例,所述共享实例为各用户组共用的实例。
7.如权利要求6所述的实例资源调度方法,其特征在于,所述在所述已用实例数小于所述实例上限值时,将共享实例作为所述当前用户组的可用实例的步骤,包括:
在所述已用实例数小于所述实例上限值时,根据各用户组的实例下限值确定共享实例数;
在所述共享实例数大于预设阈值时,将共享实例作为所述当前用户组的可用实例。
8.一种实例资源调度设备,其特征在于,所述实例资源调度设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的实例资源调度程序,所述实例资源调度程序被所述处理器执行时实现如权利要求1至7中任一项所述的实例资源调度方法。
9.一种存储介质,其特征在于,所述存储介质上存储有实例资源调度程序,所述实例资源调度程序被处理器执行时实现如权利要求1至7中任一项所述的实例资源调度方法。
10.一种实例资源调度装置,其特征在于,所述实例资源调度装置包括:用户组确定模块、信息获取模块、实例确定模块以及用户添加模块;
所述用户组确定模块,用于在接收到请求用户发送的实例资源调用请求时,确定所述请求用户所属的当前用户组;
所述信息获取模块,用于获取所述当前用户组的配置信息和已用实例数,所述配置信息基于所述当前用户组的输入用户数和各实例的服务用户数预先生成;
所述实例确定模块,用于根据所述配置信息和所述已用实例数确定所述当前用户组的可用实例;
所以用户添加模块,用于将所述请求用户添加至所述可用实例对应的实例资源队列。
CN202111310540.6A 2021-11-05 2021-11-05 实例资源调度方法、设备、存储介质及装置 Pending CN114020433A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111310540.6A CN114020433A (zh) 2021-11-05 2021-11-05 实例资源调度方法、设备、存储介质及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111310540.6A CN114020433A (zh) 2021-11-05 2021-11-05 实例资源调度方法、设备、存储介质及装置

Publications (1)

Publication Number Publication Date
CN114020433A true CN114020433A (zh) 2022-02-08

Family

ID=80062003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111310540.6A Pending CN114020433A (zh) 2021-11-05 2021-11-05 实例资源调度方法、设备、存储介质及装置

Country Status (1)

Country Link
CN (1) CN114020433A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794415A (zh) * 2023-02-01 2023-03-14 知鱼智联科技股份有限公司 一种智能感知云资源实例分配管理方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115794415A (zh) * 2023-02-01 2023-03-14 知鱼智联科技股份有限公司 一种智能感知云资源实例分配管理方法及系统

Similar Documents

Publication Publication Date Title
WO2020181813A1 (zh) 一种基于数据处理的任务调度方法及相关设备
CN107679718B (zh) 名单分配方法、设备以及计算机可读存储介质
CN110287003B (zh) 资源的管理方法和管理系统
CN106294472A (zh) 一种Hadoop数据库HBase的查询方法及装置
TW202034179A (zh) 資源調度方法、設備、系統及中心伺服器
CN114020433A (zh) 实例资源调度方法、设备、存储介质及装置
CN109783236B (zh) 用于输出信息的方法和装置
CN109062683B (zh) 主机资源分配的方法、装置及计算机可读存储介质
CN109388501B (zh) 基于人脸识别请求的通信匹配方法、装置、设备及介质
CN110750350B (zh) 一种大资源调度方法、系统、装置及可读存储介质
CN114896050B (zh) 一种基于集群资源的任务调度方法及系统
CN115766582A (zh) 流量控制方法、装置和系统、介质和计算机设备
CN116010051A (zh) 一种联邦学习多任务调度方法及装置
CN113204433B (zh) 一种集群资源的动态分配方法、装置、设备及存储介质
CN112073498B (zh) 一种资源分配方法及装置
CN114489978A (zh) 资源调度方法、装置、设备及存储介质
CN109062706B (zh) 电子装置及其限制进程间通信的方法、存储介质
Yassein et al. Intelligent randomize round Robin for cloud computing
CN113422877B (zh) 基于业务场景实现号码外呼的方法及装置、电子设备
CN109062707A (zh) 电子装置及其限制进程间通信的方法、存储介质
CN114584625B (zh) 一种消息处理方法、装置、电子设备及存储介质
CN116680086B (zh) 一种基于离线渲染引擎的调度管理系统
CN113204434B (zh) 基于k8s的计划任务执行方法、装置及计算机设备
CN116737348B (zh) 一种多方任务的处理方法、装置及计算机设备、存储介质
CN113157404B (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