CN113230658A - 资源分配方法、装置、计算机可读介质及电子设备 - Google Patents

资源分配方法、装置、计算机可读介质及电子设备 Download PDF

Info

Publication number
CN113230658A
CN113230658A CN202110603576.7A CN202110603576A CN113230658A CN 113230658 A CN113230658 A CN 113230658A CN 202110603576 A CN202110603576 A CN 202110603576A CN 113230658 A CN113230658 A CN 113230658A
Authority
CN
China
Prior art keywords
time period
historical
cloud
game
online
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
CN202110603576.7A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110603576.7A priority Critical patent/CN113230658A/zh
Publication of CN113230658A publication Critical patent/CN113230658A/zh
Priority to PCT/CN2022/090113 priority patent/WO2022252895A1/zh
Priority to US17/992,561 priority patent/US20230084784A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/531Server assignment
    • 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/534Features 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 network load management, e.g. bandwidth optimization, latency reduction
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis

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)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请属于云游戏技术领域,具体涉及一种资源分配方法、资源分配装置、计算机可读介质以及电子设备。该资源分配方法包括:采集云游戏在当前时间段的当前在线用户数量,并统计所述云游戏在历史时间周期的在线用户数量,所述历史时间周期包括与所述当前时间段相对应的一个或者多个历史时间段;根据所述当前在线用户数量和所述云游戏在历史时间周期的在线用户数量预测所述云游戏在未来时间段的在线用户变化数量,所述未来时间段是与所述当前时间段具有相同时间长度的时间段;根据所述在线用户变化数量动态调整向所述云游戏分配的用于预加载游戏客户端的云端计算资源。该方法可以减少用户游戏等待时间,避免资源浪费。

Description

资源分配方法、装置、计算机可读介质及电子设备
技术领域
本申请属于云游戏技术领域,具体涉及一种资源分配方法、资源分配装置、计算机可读介质以及电子设备。
背景技术
云游戏是以云计算为基础的游戏方式,把本应在终端设备进行的逻辑计算和画面渲染等操作放在了云端服务器来执行,云端服务器将经过逻辑计算和画面渲染得到的游戏画面以及游戏指令进行压缩后通过网络传送给终端设备,终端设备只需要简单地进行数据解码和画面显示以及对终端设备指令进行交互即可向用户提供游戏体验。
由于主要的计算操作集中在云端服务器,云端服务器对于游戏客户端的资源分配显得尤为重要。如果不能合理地分配计算资源,将导致用户游戏等待时间过长或者资源过度浪费等问题。
发明内容
本申请的目的在于提供一种资源分配方法、资源分配装置、计算机可读介质以及电子设备,至少在一定程度上克服相关技术中存在的资源分配不合理、用户游戏等待时间长、计算资源浪费等技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种资源分配方法,该方法包括:采集云游戏在当前时间段的当前在线用户数量,并统计所述云游戏在历史时间周期的在线用户数量,所述历史时间周期包括与所述当前时间段相对应的一个或者多个历史时间段;根据所述当前在线用户数量和所述云游戏在历史时间周期的在线用户数量预测所述云游戏在未来时间段的在线用户变化数量,所述未来时间段是与所述当前时间段具有相同时间长度的时间段;根据所述在线用户变化数量动态调整向所述云游戏分配的用于预加载游戏客户端的云端计算资源。
根据本申请实施例的一个方面,提供一种资源分配装置,该装置包括:用户数量获取模块,被配置为采集云游戏在当前时间段的当前在线用户数量,并统计所述云游戏在历史时间周期的在线用户数量,所述历史时间周期包括与所述当前时间段相对应的一个或者多个历史时间段;变化数量确定模块,被配置为根据所述当前在线用户数量和所述云游戏在历史时间周期的在线用户数量预测所述云游戏在未来时间段的在线用户变化数量,所述未来时间段是与所述当前时间段具有相同时间长度且时间连续的时间段;资源动态调整模块,被配置为根据所述在线用户变化数量动态调整向所述云游戏分配的用于预加载游戏客户端的云端计算资源。
在本申请的一些实施例中,基于以上技术方案,所述变化数量确定模块包括:取值拟合模块,被配置为根据所述当前在线用户数量拟合所述云游戏在所述当前时间段的在线用户数量变化趋势;数量预测模块,被配置为根据所述在线用户数量变化趋势预测所述云游戏在未来时间段的在线用户变化数量;数值调整模块,被配置为根据所述历史在线用户数量对所述在线用户变化数量进行数值调整。
在本申请的一些实施例中,基于以上技术方案,所述数值调整模块包括:第一时间段选取模块,被配置为从所述历史时间周期中选取与所述当前时间段具有对应起止时间节点的一个或者多个第一同期时间段;第一数量选取模块,被配置为从所述历史在线数量中选取与所述第一同期时间段相对应的第一历史同期数量;第一数值调整模块,被配置为按照预设的数量权重对所述第一历史同期数量和所述在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,所述在线用户变化数量的数量权重大于所述第一历史同期数量的数量权重。
在本申请的一些实施例中,基于以上技术方案,所述数值调整模块还包括:第二时间段选取模块,被配置为从所述历史时间周期中选取与所述未来时间段具有对应起止时间节点的一个或者多个第二同期时间段;第二数量选取模块,被配置为从所述历史在线数量中选取与所述第二同期时间段相对应的第二历史同期数量;其中,第一数值调整模块被配置为按照预设的数量权重对所述第一历史同期数量、所述第二历史同期数量和所述在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,所述第一历史同期数量的数量权重大于所述第二历史同期数量的数量权重。
在本申请的一些实施例中,基于以上技术方案,所述资源分配装置还包括:排队数量获取模块,被配置为采集所述云游戏在当前时间段的当前排队用户数量,并统计所述云游戏在历史时间周期的排队用户数量;第二数值调整模块,被配置为根据所述当前排队用户数量和所述云游戏在历史时间周期的排队用户数量对所述在线用户变化数量进行数值调整。
在本申请的一些实施例中,基于以上技术方案,所述第二数值调整模块被配置为:按照预设的数量权重对所述当前排队用户数量、所述云游戏在历史时间周期的排队用户数量和所述在线用户变化数量进行加权融合,得到数值调整后的在线用户变化数量,所述在线用户变化数量的数量权重大于或等于所述当前排队用户数量的数量权重,所述当前排队用户数量的数量权重大于所述云游戏在历史时间周期的排队用户数量的数量权重。
在本申请的一些实施例中,基于以上技术方案,所述用户数量获取模块包括:周期选取模块,被配置为选取与所述当前时间段具有时间相关性的历史时间周期;数据采样模块,被配置为按照所述当前时间段的时间段长度对所述历史时间周期内的在线用户数量进行数据采样;数量统计模块,被配置为统计数据采样结果得到所述云游戏在所述历史时间周期的在线用户数量。
在本申请的一些实施例中,基于以上技术方案,所述周期选取模块包括:第一周期获取模块,被配置为获取所述当前时间段所在的具有指定时间长度和固定起止时间节点的当前时间周期;第一周期选取模块,被配置为选取与所述当前时间周期具有相同时间长度的一个或者多个历史时间周期。
在本申请的一些实施例中,基于以上技术方案,所述周期选取模块包括:第二周期获取模块,被配置为获取与所述当前时间段同步移动的具有指定时间长度和动态起止时间节点的滑动时间窗口;第二周期选取模块,被配置为根据所述滑动时间窗口选取与所述当前时间段时间连续的历史时间周期。
在本申请的一些实施例中,基于以上技术方案,所述资源动态调整模块包括:需求量确定模块,被配置为获取与所述在线用户变化数量相匹配的游戏客户端预加载数量,并确定与所述游戏客户端预加载数量相匹配的计算资源需求量;剩余容量获取模块,被配置为获取云端服务器集群的剩余资源容量,所述云端服务器集群用于向一个或者多个云游戏分配云端计算资源;需求总量汇总模块,被配置为汇总所述云端服务器集群上运行的一个或者多个云游戏的计算资源需求量,得到所述云端服务器集群的资源需求总量;计算资源分配模块,被配置为根据所述剩余资源容量与所述资源需求总量之间的数值关系动态调整向各个所述云游戏分配的用于预加载游戏客户端的云端计算资源。
在本申请的一些实施例中,基于以上技术方案,所述计算资源分配模块包括:第一资源分配模块,被配置为当所述剩余资源容量大于或等于所述资源需求总量时,按照各个所述云游戏计算资源需求量向各个所述云游戏动态分配用于预加载游戏客户端的云端计算资源;第二资源分配模块,被配置为当所述剩余资源容量小于所述资源需求总量时,获取各个所述云游戏的资源分配比例,并按照所述资源分配比例以及所述剩余资源容量向各个所述云游戏动态分配用于预加载游戏客户端的云端计算资源。
在本申请的一些实施例中,基于以上技术方案,所述第二资源分配模块包括:用户监测模块,被配置为对所述云游戏的运行数据进行数据采样得到对应于多个运行监测维度的运行监测数据;权重获取模块,被配置为获取与各个所述运行监测维度相关联的数据权重;加权融合模块,被配置为按照所述数据权重对所述运行监测数据进行加权融合,得到所述云游戏的资源分配权重;比例确定模块,被配置为根据所述资源分配权重确定各个所述云游戏的资源分配比例。
根据本申请实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的资源分配方法。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的资源分配方法。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的资源分配方法。
在本申请实施例提供的技术方案中,通过获取当前在线用户数量和历史在线用户数量,可以对未来时间段的在线用户变化数量做出预测,并根据预测结果动态调整向云游戏分配的用于预加载游戏客户端的云端计算资源。结合历史统计数据和当前监测数据能够对云端计算资源的分配量进行合理地动态调整,在减少用户游戏等待时间的同时,能够避免资源浪费,减少云游戏的运营成本并降低云游戏的运营复杂度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
图2示意性地示出了本申请一个实施例中的云游戏服务器的整体架构框图。
图3示意性地示出了本申请实施例中的资源分配方法的步骤流程图。
图4示意性地示出了本申请一些实施例中的当前时刻与当前时间段在游戏时间流中的分布关系图。
图5示意性地示出了本申请一个实施例中统计历史在线用户数量的步骤流程图。
图6示意性地示出了本申请一些实施例中的当前时间段与历史时间周期在游戏时间流中的分布关系图。
图7示意性地示出了本申请一个实施例中的预测在线用户变化数量的方法步骤流程图。
图8示意性地示出了本申请一个实施例中动态分配云端计算资源的方法步骤流程图。
图9示意性地示出了本申请实施例在一个应用场景中对各个运行监测维度的权重说明。
图10示意性地示出了本申请实施例在一个应用场景中实现云游戏资源分配的系统框图。
图11示意性地示出了本申请实施例提供的资源分配装置的结构框图。
图12示意性示出了适于用来实现本申请实施例的电子设备的计算机系统结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请实施例提供的技术方案主要涉及云技术,尤其涉及基于云计算实现的云游戏技术。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing)是一种服务的交付和使用模式,具体是指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
图1示意性地示出了应用本申请技术方案的示例性系统架构框图。
如图1所示,系统架构100可以包括终端设备110、网络120和服务器130。终端设备110可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种电子设备。服务器130是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。网络120可以是能够在终端设备110和服务器130之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路或者无线通信链路。
根据实现需要,本申请实施例中的系统架构可以具有任意数目的终端设备、网络和服务器。例如,服务器130可以是由多个服务器设备组成的服务器群组。另外,本申请实施例提供的技术方案主要可以应用于服务器130,或者可以由终端设备110和服务器130共同实施,本申请对此不做特殊限定。
图2示意性地示出了本申请一个实施例中的云游戏服务器的整体架构框图。如图2所示,本申请实施例中的云游戏服务器包括至少一个中心调度服务器210以及与中心调度服务器210进行数据通信的多个跨地域分布的边缘计算集群220,边缘计算集群220是用于向用户提供云游戏服务的服务器集群。中心调度服务器210包括了预测分析模块211和调度下发模块212,预测分析模块211可以实时对在线数据、用户数据进行分析计算,得出各集群各游戏的预拉起数值,调度下发模块212可以将计算结果下发到各个边缘计算集群220以进行实时调整。
云游戏的游戏开始过程包括了调度分配资源、游戏客户端镜像传输、客户端更新拉起等步骤,全部步骤完成一般耗时约几十秒至几分钟不等。对于用户来说等待的时间太长会逐渐消磨用户的耐心,对于云游戏的体验极为不利。
有鉴于此,本申请实施例可以在边缘计算集群220提前将云端计算资源预拉起一定的数量,即预先进行客户端加载,当有新用户进入游戏时,便可以利用预先加载的云端计算资源直接为其提供游戏服务,从而可以减少用户的游戏等待时间。预拉起资源确实可以大大缩减用户接入时间,但同时引入了预拉起的数量最优解的问题。即预拉起太多会导致资源浪费,成本增高,而预拉起太少则导致游戏体验变差。针对相关技术中存在的上述问题,本申请实施例利用云游戏的集群历史周期数据,对本周期的用户在线值进行合理预测,从而对各集群各游戏的预拉起数量进行自动地动态预测和调整,用最小的成本来实现用户等待的最佳体验。
下面结合具体实施方式对本申请提供的资源分配方法、资源分配装置、计算机可读介质以及电子设备等技术方案做出详细说明。
图3示意性地示出了本申请实施例中的资源分配方法的步骤流程图,该资源分配方法可以由图1所示的服务器130执行,或者可以由终端设备110和服务器130共同执行,本申请实施例以服务器130执行的资源分配方法进行说明。如图3所示,该资源分配方法主要可以包括如下的步骤S310至步骤S330。
步骤S310:采集云游戏在当前时间段的当前在线用户数量,并统计云游戏在历史时间周期的在线用户数量,历史时间周期包括与当前时间段相对应的一个或者多个历史时间段。
步骤S320:根据当前在线用户数量和云游戏在历史时间周期的在线用户数量预测云游戏在未来时间段的在线用户变化数量,未来时间段是与当前时间段具有相同时间长度的时间段。
步骤S330:根据在线用户变化数量动态调整向云游戏分配的用于预加载游戏客户端的云端计算资源。
在本申请实施例提供的资源分配方法中,通过获取当前在线用户数量和历史在线用户数量,可以对未来时间段的在线用户变化数量做出预测,并根据预测结果动态调整向云游戏分配的用于预加载游戏客户端的云端计算资源。结合历史统计数据和当前监测数据能够对云端计算资源的分配量进行合理地动态调整,在减少用户游戏等待时间的同时,能够避免资源浪费,减少云游戏的运营成本并降低云游戏的运营复杂度。
下面分别对本申请实施例中资源分配方法的各个方法步骤做详细说明。
在步骤S310中,采集云游戏在当前时间段的当前在线用户数量,并统计云游戏在历史时间周期的在线用户数量,历史时间周期包括与当前时间段相对应的一个或者多个历史时间段。
当前时间段是包含当前时刻在内的一个具有指定时长S的连续时间段。在本申请的一个实施例中,当前时间段可以是对游戏时间流进行连续分段而形成的具有固定起止时间点的时间段;例如,当前时刻为4时14分38秒,指定时长S为5分钟,则当前时间段可以是起止时间点分别为4时10分0秒和4时15分0秒的长度为5分钟的时间段。在本申请的另一个实施例中,当前时间段可以是以当前时刻作为时间截止点的动态变化的时间段;例如,当前时刻为4时14分38秒,指定时长S为5分钟,则当前时间段可以是起止时间点分别为4时9分38秒和4时14分38秒的长度为5分钟的时间段。
图4示意性地示出了本申请一些实施例中的当前时刻与当前时间段在游戏时间流中的分布关系图。如图4上半部分示例的第一游戏时间流410,在本申请的一些实施例中,当前时间段401是以当前时刻402作为时间截止点的动态变化的时间段,随着时间流逝,当前时间段401将跟随当前时刻402一起向前滑动。如图4下半部分示例的第二游戏时间流420,在本申请的一些实施例中,按照指定的时间长度划分了多个具有相同时间长度的时间区间403,当前时刻402所在的时间区间即为当前时间段401。
在本申请的一个实施例中,当前在线用户数量是在当前时间段内对在线游戏用户的用户数量进行实时采集得到的数量序列,以时间间隔T作为数据采样间隔,在当前时间段内可以采集到数量为S/T的随时间变化的用户数量采样点,将这些用户数量采样点按照时间顺序排列即组成表示当前在线用户数量的数量序列。在其他一些可选的实施方式中,当前在线用户数量也可以是在当前时刻对游戏在线用户的数量进行实时采集得到的实时在线用户数量,或者也可以是对当前时间段内对多个用户数量采样点取平均值得到的平均数量。
在本申请的一个实施例中,基于在当前时间段之前的历史时间周期,可以统计得到历史在线用户数量,图5示意性地示出了本申请一个实施例中统计历史在线用户数量的步骤流程图。如图5所示,步骤S310中的统计云游戏在历史时间周期的历史在线用户数量,可以包括如下的步骤S510至步骤S530。
步骤S510:选取与当前时间段具有时间相关性的历史时间周期。
在本申请的一个实施例中,首先可以获取当前时间段所在的具有指定时间长度和固定起止时间节点的当前时间周期,然后选取与当前时间周期具有相同时间长度的一个或者多个历史时间周期。
举例而言,当前时间段是时间长度为5分钟的连续时间段,当前时间周期可以是时间长度为1小时或者24小时的时间周期。以24小时为例,当前时间周期是当天0点至24点,对应选取的历史时间周期可以是前一天的0点至24点或者可以是在当天之前的若干天。
在本申请的一个实施例中,首先可以获取与当前时间段同步移动的具有指定时间长度和动态起止时间节点的滑动时间窗口,然后根据滑动时间窗口选取与当前时间段时间连续的历史时间周期。
举例而言,当前时间段是时间长度为5分钟的连续时间段,滑动时间窗口可以是时间长度为1小时或者24小时的时间窗口。以时间长度为24小时的滑动时间窗口作为示例,当前时间段为4时10分至4时15分之间的时间段,则历史时间周期可以是昨日的4时10分至今日4时10分之间的连续时间周期。
图6示意性地示出了本申请一些实施例中的当前时间段与历史时间周期在游戏时间流中的分布关系图。
如图6上半部分示例的第三游戏时间流610,在本申请的一些实施例中,在时间流中按照固定的时间长度可以划分多个时间周期,当前时间段601所在的时间周期即为当前时间周期602,在当前时间周期602之前分布的各个时间周期为历史时间周期603。
如图6下半部分示例的第四游戏时间流620,在本申请的一些实施例中,基于当前时间段601可以确定一个与之同步移动的滑动时间窗口604,被滑动时间窗口604覆盖在内的时间区间即为历史时间周期603。
步骤S520:按照当前时间段的时间段长度对历史时间周期内的在线用户数量进行数据采样。
在确定的历史时间周期内,按照与当前时间段相同的方式进行数据采样,例如当前时间段的时间长度为5分钟,在对历史时间周期内同样以5分钟作为时间间隔对在线用户数量进行数据采样。
步骤S530:统计数据采样结果得到云游戏在历史时间周期的历史在线用户数量。
在本申请的一个实施例中,当前在线用户数量是当前时间段内的各个用户数量采样点组成的数量序列,历史在线用户数量可以包括多个与之对应的数量序列。
在本申请的一个实施例中,当前在线用户数量是当前时刻的实时在线用户数量,历史在线用户数量可以是在历史时间周期内的每个时间节点记录到的实时在线用户数量。
在本申请的一个实施例中,当前在线用户数量是当前时间段内多个用户数量采样点的平均值,历史在线用户数量可以是在历史时间周期内分别根据各个历史时间段内记录的用户数量采样点进行计算得到的对应于多个历史时间段的多个平均值。
在步骤S320中,根据当前在线用户数量和历史在线用户数量预测云游戏在未来时间段的在线用户变化数量,未来时间段是与当前时间段具有相同时间长度的时间段。
在本申请的一个实施例中,未来时间段是与当前时间段时间连续的时间段。例如当前时间段是当天4时10分至4时15分之间的时间段,对应的未来时间段可以是当天4时15分至4时20分之间的时间段。
在本申请的一个实施例中,未来时间段也可以是与当前时间段间隔指定时间距离的时间段。例如,当前时间段是当天4时10分至4时15分之间的时间段,对应的未来时间段可以是明天4时10分至4时15分之间的时间段。
图7示意性地示出了本申请一个实施例中的预测在线用户变化数量的方法步骤流程图。如图7所示,在以上实施例的基础上,步骤S320中的根据当前在线用户数量和历史在线用户数量预测云游戏在未来时间段的在线用户变化数量,可以包括如下的步骤S710至步骤S750。
步骤S710:根据当前在线用户数量拟合云游戏在当前时间段的在线用户数量变化趋势。
在本申请的一个实施例中,可以对当前在线用户数量进行线性拟合,得到游戏在当前时间段的在线用户数量变化趋势,该在线用户数量变化趋势可以表现为线性拟合模型。例如,当前在线用户数量包括当前时间段内多个实时在线用户数量组成的数量序列,利用最小二乘法或者其他拟合方法对该数量序列进行线性拟合,可以得到表示在线用户数量变化趋势的线性拟合公式。
步骤S720:根据在线用户数量变化趋势预测云游戏在未来时间段的在线用户变化数量。
根据在线用户数量变化趋势可以预测得到云游戏在未来时间段内的在线用户数量的预测值,将该预测值与当前在线用户数量取差值,即可得到未来时间段的在线用户变化数量。在本申请的一个实施例中,可以首先预测得到未来时间段内的多个时间节点上的在线用户数量的预测值,然后根据多个预测值计算确定一个目标在线用户数量,并根据目标在线用户数量与当前在线用户数量之间的差值确定在线用户变化数量。目标在线用户数量例如可以是多个预测值的平均值或者极大值。
步骤S730:根据历史在线用户数量对在线用户变化数量进行数值调整。
在本申请的一个实施例中,可以根据历史在线用户数量对在线用户变化数量进行数值调整,调整方式主要可以包括将历史在线用户数量的数值按照预设权重添加至在线用户变化数量中,用以对其进行修正。
在本申请的一个实施例中,根据历史在线用户数量对在线用户变化数量进行数值调整的方法可以包括:从历史时间周期中选取与当前时间段具有对应起止时间节点的一个或者多个第一同期时间段;从历史在线数量中选取与第一同期时间段相对应的第一历史同期数量;按照预设的数量权重对第一历史同期数量和在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,在线用户变化数量的数量权重大于第一历史同期数量的数量权重。
在本申请的一个实施例中,根据历史在线用户数量对在线用户变化数量进行数值调整的方法,还可以包括:从历史时间周期中选取与未来时间段具有对应起止时间节点的一个或者多个第二同期时间段;从历史在线数量中选取与第二同期时间段相对应的第二历史同期数量。在此基础上,可以按照预设的数量权重对第一历史同期数量、第二历史同期数量和在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,第一历史同期数量的数量权重大于第二历史同期数量的数量权重。
举例而言,当前时间段是当天的4时10分至4时15分之间的时间段,未来时间段可以是在这之后的4时15分至4时20分之间的时间段。在历史时间周期中选取到的与当前时间段相对应的第一同期时间段可以包括前一日、前两日或者前三日等多个日期中的4时10分至4时15分之间的时间段。相应地,在历史时间周期中选取到的与未来时间段相对应的第二同期时间段可以包括前一日、前两日或者前三日等多个日期中的4时15分至4时20分之间的时间段。
相比于第二同期时间段,第一同期时间段对于在线用户数量的影响程度更大,因此可以为第一历史同期数量配置相比于第二历史同期数量更大的数量权重。
步骤S740:采集云游戏在当前时间段的当前排队用户数量,并统计云游戏在历史时间周期的历史排队用户数量。
为避免因大量游戏用户突然涌入游戏服务器的情形,云游戏可以控制部分游戏用户按照先后顺序排队进入游戏,其中当前时间段处于等待进入游戏状态的用户数量即为当前排队用户数量。与之相对应的,在历史时间周期内可以记录各个历史时间段的历史排队用户数量。其中,当前排队用户数量以及历史排队用户数量的获取方式与当前在线用户数量和历史在线用户数量的获取方式相似,此处不再赘述。
步骤S750:根据当前排队用户数量和历史排队用户数量对在线用户变化数量进行数值调整。
在本申请的一个实施例中,可以按照预设的数量权重对当前排队用户数量、历史排队用户数量和在线用户变化数量进行加权融合,得到数值调整后的在线用户变化数量,在线用户变化数量的数量权重大于或等于当前排队用户数量的数量权重,当前排队用户数量的数量权重大于历史排队用户数量的数量权重。
在步骤S330中,根据在线用户变化数量动态调整向云游戏分配的用于预加载游戏客户端的云端计算资源。
图8示意性地示出了本申请一个实施例中动态分配云端计算资源的方法步骤流程图。如图8所示,在以上实施例的基础上,步骤S330中的根据在线用户变化数量动态调整向云游戏分配的用于预加载游戏客户端的云端计算资源,可以包括如下的步骤S810至步骤S840。
步骤S810:获取与在线用户变化数量相匹配的游戏客户端预加载数量,并确定与游戏客户端预加载数量相匹配的计算资源需求量。
在云游戏的应用场景中,每增加一个在线用户,即表明云端服务器需要向一个新增加的游戏客户端分配游戏资源。在此基础上,根据预测得到的在线用户变化数量可以确定与之相匹配的游戏客户端预加载数量。在本申请的一个实施例中,游戏客户端预加载数量可以与在线用户变化数量具有相同的数值。
步骤S820:获取云端服务器集群的剩余资源容量,云端服务器集群用于向一个或者多个云游戏分配云端计算资源。
在云端服务器集群上可以同时运行多个云游戏,并可以根据云游戏的游戏特征以及用户数量特征为各个云游戏动态地分配云端计算资源。在本申请实施例中,可以实时地监测云端服务器集群中的各个服务器设备的资源占用情况,将各个服务器设备的可用资源进行汇总后即得到云端服务器集群的剩余资源容量。
步骤S830:汇总云端服务器集群上运行的一个或者多个云游戏的计算资源需求量,得到云端服务器集群的资源需求总量。
云端服务器集群上运行的每个云游戏均可以对应确定其计算资源需求量,将各个云游戏的计算资源需求量进行汇总可以得到云端服务器集群的资源需求总量。
步骤S840:根据剩余资源容量与资源需求总量之间的数值关系动态调整向各个云游戏分配的用于预加载游戏客户端的云端计算资源。
在本申请的一个实施例中,当剩余资源容量大于或等于资源需求总量时,按照各个云游戏计算资源需求量向各个云游戏动态分配用于预加载游戏客户端的云端计算资源;当剩余资源容量小于资源需求总量时,获取各个云游戏的资源分配比例,并按照资源分配比例以及剩余资源容量向各个云游戏动态分配用于预加载游戏客户端的云端计算资源。
在剩余资源容量充足的情况下,可以直接按照资源需求量为各个云游戏分配云端计算资源。而在剩余资源容量不足的情况下,可以按照资源分配比例为各个云游戏分配云端计算资源,保证各个云游戏能够根据需要进行游戏客户端预加载。
在本申请的一个实施例中,获取各个云游戏的资源分配比例的方法可以包括:对云游戏的运行数据进行数据采样得到对应于多个运行监测维度的运行监测数据;获取与各个运行监测维度相关联的数据权重;按照数据权重对运行监测数据进行加权融合,得到云游戏的资源分配权重;根据资源分配权重确定各个云游戏的资源分配比例。
在本申请的一个实施例中,运行监测维度例如可以包括用户留存比例、用户平均游戏时长、用户平均排队时长以及用户平均收益等维度中的一个或者多个。按照影响程度的高低,可以为各个运行监测维度分配不同的数据权重,并根据加权融合的结果在不同的云游戏之间进行资源分配。
图9示意性地示出了本申请实施例在一个应用场景中对各个运行监测维度的权重说明。在本申请实施例中,运行监测维度可以包括在线人数增长趋势、当前排队人数、历史在线人数、历史排队人数、用户平均排队时长、用户留存比例、用户平均游戏时长、用户平均收益等多个维度。其中,在线人数增长趋势直接影响游戏客户端的预加载数量,可以配置较高的数量权重。当前排队人数与游戏资源分配情况直接相关,如果当前排队人数大于零,表示预加载的游戏客户端数量不足,因此可以为其配置较高的数量权重。历史在线人数和历史排队人数对于预测本周期在线人数、在线增速有重要参考价值,可以为其配置中等的数量权重。用户平均排队时长表示游戏对用户的吸引力,用户留存比例表示游戏的用户粘性,可以分别为其配置较低的数量权重。用户平均游戏时长表示用户是否为重度玩家,用户平均收益用于判断游戏的商业价值,可以为其分别配置中等的数量权重。
图10示意性地示出了本申请实施例在一个应用场景中实现云游戏资源分配的系统框图。
云游戏具有网络要求高、成本高的特点,这决定了云游戏计算集群一般为多地域分布。因此需要各个边缘计算集群1001将集群本身的在线、排队、游戏分布数据实时上报到中心调度服务器1002的集群计算资源监控模块1003。集群计算资源监控模块1003接收到数据后,需要对数据进行预处理,得到按集群、时间、游戏等各维度的最高同时在线人数PCU、日活跃用户数量DAU等数据,并将预处理得到的结果数据以及原始实时数据入库到监控数据库1004。
云游戏的客户端应用程序APP中需要构建包括账号管理、支付管理、游戏管理在内的完整的数据系统1005,在将这些数据进行汇聚关联后入库到经分数据库1006。
预测分析模块1007可以获取监控数据库1004和经分数据库1006中的数据并进行分析,以便根据数据分析结果实现对各集群游戏预拉起数量按需、按趋势的自动管理。通过监控数据可以掌握各个集群的资源使用情况,并对各个集群、游戏的排队情况进行分析预测。通过经分数据,可以获知各游戏的用户留存比例、单用户付费倾向等,配置一定的权重即可计算出各游戏的商业价值比例。
后台管理模块1008,一方面可以对各影响因子的权重比例进行灵活调整,一方面可以对某些游戏的拉起比例或者绝对数量进行配置,用以应对游戏新上线、重大活动等突发事件。
最终综合以上的拉起数量会通过调度下发模块1009实时下发到各边缘计算集群进行游戏客户端的预加载,进而分配云端计算资源。
在本申请实施例中,还可以通过对运营数据进行大数据分析,以获得精确的玩家群体画像,从而可以实现更合理更科学的用户筛选。结合不同边缘计算集群的容量和成本情况,也能给出合理的资源分配策略。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的资源分配方法。图11示意性地示出了本申请实施例提供的资源分配装置的结构框图。如图11所示,资源分配装置1100主要可以包括:用户数量获取模块1110,被配置为采集云游戏在当前时间段的当前在线用户数量,并统计所述云游戏在历史时间周期的在线用户数量,所述历史时间周期包括与所述当前时间段相对应的一个或者多个历史时间段;变化数量确定模块1120,被配置为根据所述当前在线用户数量和所述云游戏在历史时间周期的在线用户数量预测所述云游戏在未来时间段的在线用户变化数量,所述未来时间段是与所述当前时间段具有相同时间长度的时间段;资源动态调整模块1130,被配置为根据所述在线用户变化数量动态调整向所述云游戏分配的用于预加载游戏客户端的云端计算资源。
在本申请的一些实施例中,基于以上各实施例,所述变化数量确定模块1120包括:取值拟合模块,被配置为根据所述当前在线用户数量拟合所述云游戏在所述当前时间段的在线用户数量变化趋势;数量预测模块,被配置为根据所述在线用户数量变化趋势预测所述云游戏在未来时间段的在线用户变化数量;数值调整模块,被配置为根据所述历史在线用户数量对所述在线用户变化数量进行数值调整。
在本申请的一些实施例中,基于以上各实施例,所述数值调整模块包括:第一时间段选取模块,被配置为从所述历史时间周期中选取与所述当前时间段具有对应起止时间节点的一个或者多个第一同期时间段;第一数量选取模块,被配置为从所述历史在线数量中选取与所述第一同期时间段相对应的第一历史同期数量;第一数值调整模块,被配置为按照预设的数量权重对所述第一历史同期数量和所述在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,所述在线用户变化数量的数量权重大于所述第一历史同期数量的数量权重。
在本申请的一些实施例中,基于以上各实施例,所述数值调整模块还包括:第二时间段选取模块,被配置为从所述历史时间周期中选取与所述未来时间段具有对应起止时间节点的一个或者多个第二同期时间段;第二数量选取模块,被配置为从所述历史在线数量中选取与所述第二同期时间段相对应的第二历史同期数量;其中,第一数值调整模块被配置为按照预设的数量权重对所述第一历史同期数量、所述第二历史同期数量和所述在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,所述第一历史同期数量的数量权重大于所述第二历史同期数量的数量权重。
在本申请的一些实施例中,基于以上各实施例,所述资源分配装置还包括:排队数量获取模块,被配置为采集所述云游戏在当前时间段的当前排队用户数量,并统计所述云游戏在历史时间周期的排队用户数量;第二数值调整模块,被配置为根据所述当前排队用户数量和所述云游戏在历史时间周期的排队用户数量对所述在线用户变化数量进行数值调整。
在本申请的一些实施例中,基于以上各实施例,所述第二数值调整模块被配置为:按照预设的数量权重对所述当前排队用户数量、所述云游戏在历史时间周期的排队用户数量和所述在线用户变化数量进行加权融合,得到数值调整后的在线用户变化数量,所述在线用户变化数量的数量权重大于或等于所述当前排队用户数量的数量权重,所述当前排队用户数量的数量权重大于所述云游戏在历史时间周期的排队用户数量的数量权重。
在本申请的一些实施例中,基于以上各实施例,所述用户数量获取模块1110包括:周期选取模块,被配置为选取与所述当前时间段具有时间相关性的历史时间周期;数据采样模块,被配置为按照所述当前时间段的时间段长度对所述历史时间周期内的在线用户数量进行数据采样;数量统计模块,被配置为统计数据采样结果得到所述云游戏在所述历史时间周期的在线用户数量。
在本申请的一些实施例中,基于以上各实施例,所述周期选取模块包括:第一周期获取模块,被配置为获取所述当前时间段所在的具有指定时间长度和固定起止时间节点的当前时间周期;第一周期选取模块,被配置为选取与所述当前时间周期具有相同时间长度的一个或者多个历史时间周期。
在本申请的一些实施例中,基于以上各实施例,所述周期选取模块包括:第二周期获取模块,被配置为获取与所述当前时间段同步移动的具有指定时间长度和动态起止时间节点的滑动时间窗口;第二周期选取模块,被配置为根据所述滑动时间窗口选取与所述当前时间段时间连续的历史时间周期。
在本申请的一些实施例中,基于以上各实施例,所述资源动态调整模块1130包括:需求量确定模块,被配置为获取与所述在线用户变化数量相匹配的游戏客户端预加载数量,并确定与所述游戏客户端预加载数量相匹配的计算资源需求量;剩余容量获取模块,被配置为获取云端服务器集群的剩余资源容量,所述云端服务器集群用于向一个或者多个云游戏分配云端计算资源;需求总量汇总模块,被配置为汇总所述云端服务器集群上运行的一个或者多个云游戏的计算资源需求量,得到所述云端服务器集群的资源需求总量;计算资源分配模块,被配置为根据所述剩余资源容量与所述资源需求总量之间的数值关系动态调整向各个所述云游戏分配的用于预加载游戏客户端的云端计算资源。
在本申请的一些实施例中,基于以上各实施例,所述计算资源分配模块包括:第一资源分配模块,被配置为当所述剩余资源容量大于或等于所述资源需求总量时,按照各个所述云游戏计算资源需求量向各个所述云游戏动态分配用于预加载游戏客户端的云端计算资源;第二资源分配模块,被配置为当所述剩余资源容量小于所述资源需求总量时,获取各个所述云游戏的资源分配比例,并按照所述资源分配比例以及所述剩余资源容量向各个所述云游戏动态分配用于预加载游戏客户端的云端计算资源。
在本申请的一些实施例中,基于以上各实施例,所述第二资源分配模块包括:用户监测模块,被配置为对所述云游戏的运行数据进行数据采样得到对应于多个运行监测维度的运行监测数据;权重获取模块,被配置为获取与各个所述运行监测维度相关联的数据权重;加权融合模块,被配置为按照所述数据权重对所述运行监测数据进行加权融合,得到所述云游戏的资源分配权重;比例确定模块,被配置为根据所述资源分配权重确定各个所述云游戏的资源分配比例。
本申请各实施例中提供的资源分配装置的具体细节已经在对应的方法实施例中进行了详细的描述,此处不再赘述。
图12示意性地示出了用于实现本申请实施例的电子设备的计算机系统结构框图。
需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理器1201(Central Processing Unit,CPU),其可以根据存储在只读存储器1202(Read-Only Memory,ROM)中的程序或者从存储部分1208加载到随机访问存储器1203(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1203中,还存储有系统操作所需的各种程序和数据。中央处理器1201、在只读存储器1202以及随机访问存储器1203通过总线1204彼此相连。输入/输出接口1205(Input/Output接口,即I/O接口)也连接至总线1204。
以下部件连接至输入/输出接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至输入/输出接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理器1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (15)

1.一种资源分配方法,其特征在于,包括:
采集云游戏在当前时间段的当前在线用户数量,并统计所述云游戏在历史时间周期的在线用户数量,所述历史时间周期包括与所述当前时间段相对应的一个或者多个历史时间段;
根据所述当前在线用户数量和所述云游戏在历史时间周期的在线用户数量预测所述云游戏在未来时间段的在线用户变化数量,所述未来时间段是与所述当前时间段具有相同时间长度的时间段;
根据所述在线用户变化数量动态调整向所述云游戏分配的用于预加载游戏客户端的云端计算资源。
2.根据权利要求1所述的资源分配方法,其特征在于,根据所述当前在线用户数量和所述历史在线用户数量预测所述云游戏在未来时间段的在线用户变化数量,包括:
根据所述当前在线用户数量拟合所述云游戏在所述当前时间段的在线用户数量变化趋势;
根据所述在线用户数量变化趋势预测所述云游戏在未来时间段的在线用户变化数量;
根据所述历史在线用户数量对所述在线用户变化数量进行数值调整。
3.根据权利要求2所述的资源分配方法,其特征在于,根据所述历史在线用户数量对所述在线用户变化数量进行数值调整,包括:
从所述历史时间周期中选取与所述当前时间段具有对应起止时间节点的一个或者多个第一同期时间段;
从所述历史在线数量中选取与所述第一同期时间段相对应的第一历史同期数量;
按照预设的数量权重对所述第一历史同期数量和所述在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,所述在线用户变化数量的数量权重大于所述第一历史同期数量的数量权重。
4.根据权利要求3所述的资源分配方法,其特征在于,根据所述历史在线用户数量对所述在线用户变化数量进行数值调整,还包括:
从所述历史时间周期中选取与所述未来时间段具有对应起止时间节点的一个或者多个第二同期时间段;
从所述历史在线数量中选取与所述第二同期时间段相对应的第二历史同期数量;
其中,按照预设的数量权重对所述第一历史同期数量和所述在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,包括:
按照预设的数量权重对所述第一历史同期数量、所述第二历史同期数量和所述在线用户变化数量进行加权融合得到数值调整后的在线用户变化数量,所述第一历史同期数量的数量权重大于所述第二历史同期数量的数量权重。
5.根据权利要求1所述的资源分配方法,其特征在于,在根据所述在线用户变化数量动态调整为所述云游戏分配的用于预加载游戏客户端的云端计算资源之前,所述方法还包括:
采集所述云游戏在当前时间段的当前排队用户数量,并统计所述云游戏在历史时间周期的排队用户数量;
根据所述当前排队用户数量和所述云游戏在历史时间周期的排队用户数量对所述在线用户变化数量进行数值调整。
6.根据权利要求5所述的资源分配方法,其特征在于,根据所述当前排队用户数量和所述历史排队用户数量对所述在线用户变化数量进行数值调整,包括:
按照预设的数量权重对所述当前排队用户数量、所述云游戏在历史时间周期的排队用户数量和所述在线用户变化数量进行加权融合,得到数值调整后的在线用户变化数量,所述在线用户变化数量的数量权重大于或等于所述当前排队用户数量的数量权重,所述当前排队用户数量的数量权重大于所述云游戏在历史时间周期的排队用户数量的数量权重。
7.根据权利要求1所述的资源分配方法,其特征在于,统计所述云游戏在历史时间周期的在线用户数量,包括:
选取与所述当前时间段具有时间相关性的历史时间周期;
按照所述当前时间段的时间段长度对所述历史时间周期内的在线用户数量进行数据采样;
统计数据采样结果得到所述云游戏在所述历史时间周期的在线用户数量。
8.根据权利要求7所述的资源分配方法,其特征在于,选取与所述当前时间段具有时间相关性的历史时间周期,包括:
获取所述当前时间段所在的具有指定时间长度和固定起止时间节点的当前时间周期;
选取与所述当前时间周期具有相同时间长度的一个或者多个历史时间周期。
9.根据权利要求7所述的资源分配方法,其特征在于,选取与所述当前时间段具有时间相关性的历史时间周期,包括:
获取与所述当前时间段同步移动的具有指定时间长度和动态起止时间节点的滑动时间窗口;
根据所述滑动时间窗口选取与所述当前时间段时间连续的历史时间周期。
10.根据权利要求1至9中任意一项所述的资源分配方法,其特征在于,根据所述在线用户变化数量动态调整向所述云游戏分配的用于预加载游戏客户端的云端计算资源,包括:
获取与所述在线用户变化数量相匹配的游戏客户端预加载数量,并确定与所述游戏客户端预加载数量相匹配的计算资源需求量;
获取云端服务器集群的剩余资源容量,所述云端服务器集群用于向一个或者多个云游戏分配云端计算资源;
汇总所述云端服务器集群上运行的一个或者多个云游戏的计算资源需求量,得到所述云端服务器集群的资源需求总量;
根据所述剩余资源容量与所述资源需求总量之间的数值关系动态调整向各个所述云游戏分配的用于预加载游戏客户端的云端计算资源。
11.根据权利要求10所述的资源分配方法,其特征在于,根据所述剩余资源容量与所述资源需求总量之间的数值关系动态调整向各个所述云游戏分配的用于预加载游戏客户端的云端计算资源,包括:
当所述剩余资源容量大于或等于所述资源需求总量时,按照各个所述云游戏计算资源需求量向各个所述云游戏动态分配用于预加载游戏客户端的云端计算资源;
当所述剩余资源容量小于所述资源需求总量时,获取各个所述云游戏的资源分配比例,并按照所述资源分配比例以及所述剩余资源容量向各个所述云游戏动态分配用于预加载游戏客户端的云端计算资源。
12.根据权利要求11所述的资源分配方法,其特征在于,获取各个所述云游戏的资源分配比例,包括:
对所述云游戏的运行数据进行数据采样得到对应于多个运行监测维度的运行监测数据;
获取与各个所述运行监测维度相关联的数据权重;
按照所述数据权重对所述运行监测数据进行加权融合,得到所述云游戏的资源分配权重;
根据所述资源分配权重确定各个所述云游戏的资源分配比例。
13.一种资源分配装置,其特征在于,包括:
用户数量获取模块,被配置为采集云游戏在当前时间段的当前在线用户数量,并统计所述云游戏在历史时间周期的在线用户数量,所述历史时间周期包括与所述当前时间段相对应的一个或者多个历史时间段;
变化数量确定模块,被配置为根据所述当前在线用户数量和所述云游戏在历史时间周期的在线用户数量预测所述云游戏在未来时间段的在线用户变化数量,所述未来时间段是与所述当前时间段具有相同时间长度的时间段;
资源动态调整模块,被配置为根据所述在线用户变化数量动态调整向所述云游戏分配的用于预加载游戏客户端的云端计算资源。
14.一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至12中任意一项所述的资源分配方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12中任意一项所述的资源分配方法。
CN202110603576.7A 2021-05-31 2021-05-31 资源分配方法、装置、计算机可读介质及电子设备 Pending CN113230658A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110603576.7A CN113230658A (zh) 2021-05-31 2021-05-31 资源分配方法、装置、计算机可读介质及电子设备
PCT/CN2022/090113 WO2022252895A1 (zh) 2021-05-31 2022-04-29 资源分配方法、装置、可读介质、电子设备及程序产品
US17/992,561 US20230084784A1 (en) 2021-05-31 2022-11-22 Resource allocation method and apparatus, readable medium, electronic device, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110603576.7A CN113230658A (zh) 2021-05-31 2021-05-31 资源分配方法、装置、计算机可读介质及电子设备

Publications (1)

Publication Number Publication Date
CN113230658A true CN113230658A (zh) 2021-08-10

Family

ID=77135907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110603576.7A Pending CN113230658A (zh) 2021-05-31 2021-05-31 资源分配方法、装置、计算机可读介质及电子设备

Country Status (3)

Country Link
US (1) US20230084784A1 (zh)
CN (1) CN113230658A (zh)
WO (1) WO2022252895A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113904940A (zh) * 2021-09-03 2022-01-07 深圳市雷鸟网络传媒有限公司 资源调整方法、装置、电子设备和计算机可读存储介质
CN114327915A (zh) * 2022-03-08 2022-04-12 北京蚂蚁云金融信息服务有限公司 用于在线资源分配的方法及装置
WO2022252895A1 (zh) * 2021-05-31 2022-12-08 腾讯科技(深圳)有限公司 资源分配方法、装置、可读介质、电子设备及程序产品
US11915174B2 (en) 2018-05-18 2024-02-27 Assurant, Inc. Apparatus and method for resource allocation prediction and modeling, and resource acquisition offer generation, adjustment and approval

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116347608B (zh) * 2023-04-19 2024-03-15 湖南科技学院 一种时分资源自适应调整方法
CN117170821B (zh) * 2023-11-01 2024-02-09 建信金融科技有限责任公司 一种业务处理方法、装置、电子设备及计算机可读介质
CN117710026B (zh) * 2024-02-04 2024-04-30 浙江海亮科技有限公司 一种学生的激励分配方法以及分配系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10043194B2 (en) * 2014-04-04 2018-08-07 International Business Machines Corporation Network demand forecasting
CN106492459B (zh) * 2016-10-17 2020-08-07 腾讯科技(深圳)有限公司 一种数据处理系统、数据处理方法以及数据处理装置
CN107229995A (zh) * 2017-05-24 2017-10-03 腾讯科技(深圳)有限公司 实现游戏业务量预估的方法、装置和计算机可读存储介质
CN109714395B (zh) * 2018-12-10 2021-10-26 平安科技(深圳)有限公司 云平台资源使用预测方法及终端设备
CN111597050A (zh) * 2020-05-20 2020-08-28 赵辛 一种云计算服务器计算资源分配方法
CN112860403B (zh) * 2021-02-22 2023-11-07 中国联合网络通信集团有限公司 集群负载资源调度方法、装置、设备、介质及产品
CN112685187B (zh) * 2021-03-17 2021-06-25 北京海誉动想科技股份有限公司 云游戏资源调度方法与装置
CN113230658A (zh) * 2021-05-31 2021-08-10 腾讯科技(深圳)有限公司 资源分配方法、装置、计算机可读介质及电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11915174B2 (en) 2018-05-18 2024-02-27 Assurant, Inc. Apparatus and method for resource allocation prediction and modeling, and resource acquisition offer generation, adjustment and approval
US11954623B2 (en) * 2018-05-18 2024-04-09 Assurant, Inc. Apparatus and method for resource allocation prediction and modeling, and resource acquisition offer generation, adjustment and approval
WO2022252895A1 (zh) * 2021-05-31 2022-12-08 腾讯科技(深圳)有限公司 资源分配方法、装置、可读介质、电子设备及程序产品
CN113904940A (zh) * 2021-09-03 2022-01-07 深圳市雷鸟网络传媒有限公司 资源调整方法、装置、电子设备和计算机可读存储介质
CN114327915A (zh) * 2022-03-08 2022-04-12 北京蚂蚁云金融信息服务有限公司 用于在线资源分配的方法及装置

Also Published As

Publication number Publication date
WO2022252895A1 (zh) 2022-12-08
US20230084784A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
CN113230658A (zh) 资源分配方法、装置、计算机可读介质及电子设备
CN111711828B (zh) 一种信息处理方法、装置和电子设备
JP2022514134A (ja) 輸送サービスプロバイダを管理する方法、当該方法を実施するための命令を含むコンピュータプログラム、当該方法を実行させる命令を記憶する非一時記憶媒体、及び輸送サービスプロバイダを管理するための装置
CN113434294A (zh) 一种数据处理方法、计算机设备以及可读存储介质
CN109428910B (zh) 一种数据处理方法、装置及系统
CN112055235B (zh) 推送展示对象的方法、装置、电子设备及存储介质
CN112870726A (zh) 图形处理器的资源分配方法、装置和存储介质
US20230014667A1 (en) System and method for moveable cloud cluster functionality usage and location forecasting
CN112714329A (zh) 直播间的显示控制方法、装置、存储介质与电子设备
US20200289925A1 (en) Server load prediction and advanced performance measures
CN117041623A (zh) 一种数字人直播方法和装置
CN111552835A (zh) 文件推荐方法、装置及服务器
Darwich et al. Cost-optimized cloud resource management for video streaming: Arima predictive approach
CN112905879A (zh) 推荐方法、装置、服务器以及存储介质
CN111311015A (zh) 个性化点击率预测方法、设备及可读存储介质
CN110267717B (zh) 在多租户环境中按不同单独租户自动生成自动缩放呼叫规则的方法及装置
CN115589489A (zh) 视频转码方法、装置、设备、存储介质及视频点播系统
KR102259551B1 (ko) 멘토링을 이용한 게임 커뮤니티 운영 서비스 제공 시스템
CN111881353B (zh) 一种展示资源的推送方法、装置、电子设备和存储介质
CN113761343A (zh) 一种信息推送方法、装置、终端设备及存储介质
CN115878839A (zh) 一种视频推荐方法、装置、计算机设备和计算机程序产品
CN112084447A (zh) 一种数据分配方法、装置、介质和电子设备
CN111951011A (zh) 监控系统阈值确定方法及装置
CN115577980B (zh) 电力设备调控方法、装置、电子设备和介质
CN115134639B (zh) 视频档位确定方法、装置、服务器、存储介质和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40052215

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination