CN111880929B - 一种实例管理方法及装置、计算机设备 - Google Patents

一种实例管理方法及装置、计算机设备 Download PDF

Info

Publication number
CN111880929B
CN111880929B CN202010645060.4A CN202010645060A CN111880929B CN 111880929 B CN111880929 B CN 111880929B CN 202010645060 A CN202010645060 A CN 202010645060A CN 111880929 B CN111880929 B CN 111880929B
Authority
CN
China
Prior art keywords
instance
service instance
management
current
stateful
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.)
Active
Application number
CN202010645060.4A
Other languages
English (en)
Other versions
CN111880929A (zh
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 CN202010645060.4A priority Critical patent/CN111880929B/zh
Publication of CN111880929A publication Critical patent/CN111880929A/zh
Application granted granted Critical
Publication of CN111880929B publication Critical patent/CN111880929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 load
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/51Server architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种实例管理方法及装置、计算机设备,用于管理云应用的有状态服务实例,该方法在监测到实例管理信息之后,首先根据监测到的当前实例管理信息的信息源确定当前实例管理信息对应的管理操作类别,然后根据管理操作类别以及当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例,之后对目标有状态服务实例执行管理操作目标对应的操作内容直至得到满足管理操作目标对应管理需求的待管理有状态服务实例,最后对待管理有状态服务实例执行管理操作目标对应的操作动作;即本申请实现了对云应用中有状态服务实例的管理,避免了现有技术中有状态服务与无状态服务采用相同管理方式所导致的各种问题。

Description

一种实例管理方法及装置、计算机设备
技术领域
本申请涉及云技术领域,具体涉及一种实例管理方法及装置、计算机设备。
背景技术
随着云技术的发展,业务服务方越来越多通过云应用实现业务服务,例如云游戏、云web服务等。在为用户提供业务服务时,根据服务是否根据中间状态的数据进行后续判断,将服务分为有状态服务和无状态服务;有状态服务会缓存中间状态的数据,请求需要根据当前状态做相应的处理;无状态服务没有中间状态,每次请求的结果或者丢弃或者回写到后端的服务。
当前云服务提供了无状态服务的弹性伸缩管理,例如根据时间或者简单的负载指标,例如CPU、内存、网络的使用情况作为依据,进行无状态服务的扩容缩容操作;有状态服务的伸缩管理也采用相同的管理方式,该方式存在以下问题:在负载较低需要销毁有状态服务实例时,直接销毁确定的有状态服务,会导致这些被销毁的有状态服务实例内各业务的中间状态数据丢失,进而影响这些业务的后续实现等。
同样的,当前云服务提供了无状态服务的更新方式,例如在需要更新无状态服务时,新增新版本无状态服务,删除老版本无状态服务;有状态服务的更新管理也采用相同的管理方式,该方式存在以下问题:当老版本的有状态服务有业务时,立即停止当前服务会对用户体验造成不良影响。
申请内容
本申请实施例提供一种实例管理方法及装置、计算机设备,以实现对云应用中有状态服务实例的管理。
为解决上述技术问题,本申请实施例提供以下技术方案:
本申请实施例提供一种实例管理方法,用于管理云应用的有状态服务实例,其包括:
监测实例管理信息,所述实例管理信息用于触发管理云应用的有状态服务实例;
根据监测到的当前实例管理信息的信息源,确定所述当前实例管理信息对应的管理操作类别;
根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例;
对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例;
对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作。
同时,本申请实施例提供一种实例管理装置,用于管理云应用中的有状态服务实例,其包括:
检测模块,用于监测实例管理信息,所述实例管理信息用于触发管理云应用的有状态服务实例;
类型识别模块,用于根据监测到的当前实例管理信息的信息源,确定所述当前实例管理信息对应的管理操作类别;
目标识别模块,用于根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例;
预处理模块,用于对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例;
管理模块,用于对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作。
本申请实施例提供一种计算机设备,其包括处理器和存储器,存储器存储有多条指令,指令适于处理器进行加载,以执行上述方法中的步骤。
本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行上述方法中的步骤。
本申请实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法中的步骤。
本申请实施例提供了一种新的实例管理方法及装置、计算机设备,该方法在监测到实例管理信息之后,首先根据监测到的当前实例管理信息的信息源确定所述当前实例管理信息对应的管理操作类别,然后根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例,之后对所述目标有状态服务实例执行所述管理操作目标对应的操作内容直至得到满足所述管理操作目标对应管理需求的待管理有状态服务实例,最后对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作;例如在需要销毁或者更新某个有状态服务实例时,先停止向该实例分配业务直至该实例上的业务全部执行完毕,然后才销毁或者更新该实例,这样与现有直接销毁或者停止有状态服务的方式相比,不会导致业务中间状态数据的丢失,即本申请实现了对云应用中有状态服务实例的管理,避免了现有技术中有状态服务与无状态服务采用相同管理方式所导致的各种问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的云网络的组网示意图。
图1b是本申请实施例提供的实例管理系统的组网示意图。
图2是本申请实施例提供的实例管理方法的第一种流程示意图。
图3a至图3g是本申请实施例提供的云游戏场景相关的示意图。
图4是本申请实施例提供的有状态服务的生存示意图。
图5是本申请实施例提供的实例管理装置的结构示意图。
图6是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请涉及云技术(Cloud technology),其是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
具体的,本申请涉及云游戏和云社交等需要中间状态数据的云应用。
云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
云社交(Cloud Social)是一种物联网、云计算和移动互联网交互应用的虚拟社交应用模式,包括但不局限于金融、支付、商城、交易等应用场景,以建立著名的“资源分享关系图谱”为目的,进而开展网络社交,云社交的主要特征,就是把大量的社会资源统一整合和评测,构成一个资源有效池向用户按需提供服务。参与分享的用户越多,能够创造的利用价值就越大。
请参阅图1a,图1b为本申请实施例所提供的云网络的场景示意图,其可以包括用户侧设备以及服务侧设备,用户侧设备与服务侧设备通过各种网关组成的互联网等方式连接,不再赘述,其中,用户侧设备包括多个终端11,服务侧设备包括多个服务器12;其中:
终端11可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此,在本申请中,终端11为用户提供服务接口以及服务界面;
服务器12可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制;在本申请中,服务器12作为云网络中的计算资源以实现各种云服务。
如图1b所示,本申请涉及的实例管理系统包括:
有状态服务实例21,包括常驻有状态服务实例21a和扩容有状态服务实例21b,其中,常驻有状态服务实例21a是指云网络为某业务配置的固定的有状态服务实例21,这些常驻有状态服务实例21a不会被自动伸缩管理,扩容有状态服务实例21b是在常驻有状态服务实例21a无法满足业务负载时,扩容形成的有状态服务实例21,这些扩容有状态服务实例21b可以被自动伸缩管理。当前常驻有状态服务实例是指当前存活的常驻有状态服务实例,当前扩容常驻有状态服务实例是指当前存活的扩容有状态服务实例,当前有状态服务实例是指当前存活的所有的有状态服务实例;
业务分配实例22,用于根据各有状态服务实例21的负载,将来自终端11的业务分配到负载较低的有状态服务实例;
后台控制服务23,用于后台维护人员使用维护终端进行服务配置的更新、常驻有状态服务实例的增加或者销毁等;
实例管理装置24,由一个或者多个服务器12实现,是本申请的核心,具体用于在监测到实例管理信息之后,首先根据监测到的当前实例管理信息的信息源确定所述当前实例管理信息对应的管理操作类别,然后根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例,之后对所述目标有状态服务实例执行所述管理操作目标对应的操作内容直至得到满足所述管理操作目标对应管理需求的待管理有状态服务实例,最后对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作。
为了更清楚的说明本申请,本申请涉及的实例管理信息的信息源、管理操作类别、信息内容、管理操作目标、管理操作目标对应的操作内容、管理操作目标对应的操作动作等之间的关系如下表1所示:
表1
需要说明的是,图1a以及图1b所示的系统场景示意图仅仅是一个示例,本申请实施例描述的服务器以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下文将结合附图对本申请提供的用于管理云应用中的有状态服务实例的实例管理方法以及装置进行详细说明。
图2是本申请实施例提供的实例管理方法的第一种流程示意图,请参阅图2,该实例管理方法包括以下步骤:
201:监测实例管理信息。
在一种实施例中,实例管理装置24主动或者被动的从业务分配服务实例22或者后台控制服务实例24获取实例管理信息,实例管理信息用于触发管理云应用的有状态服务实例,例如消息有状态服务实例、更新实例等。
202:根据监测到的当前实例管理信息的信息源,确定所述当前实例管理信息对应的管理操作类别。
在一种实施例中,来自不同信息源的实例管理信息的作用不同,后续处理流程也不尽相同,本步骤可以基于表1实现。
在一种实施例中,本步骤包括:解析所述当前实例管理信息,得到所述当前实例管理信息对应信息源的信息源标识;在所述信息源标识表征所述当前实例管理信息来自业务分配服务时,确定所述当前实例管理信息对应的管理操作类别为伸缩控制;在所述信息源标识表征所述当前实例管理信息来自后台控制服务时,确定所述当前实例管理信息对应的管理操作类别为后台控制。例如,实例管理装置24在被动接收实例管理信息时,对接收到的实例管理信息的数据包包头进行解析,可以得到数据源的IP地址等标识信息,根据这些标识信息以及预存的信息源标识以及信息源的对应关系,可以确定实例管理信息的信息源,进而可以确定对应的管理操作类别。
203:根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例。
204:对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例。
205:对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作。
在不同场景需求中,步骤203至步骤205的内容各不相同,为了便于理解,下文将这3个步骤合并说明。
在一种实施例中,在所述管理操作类别为伸缩控制时,步骤203包括:在所述管理操作类别为伸缩控制时,解析所述当前实例管理信息的信息内容,得到当前有状态服务实例对应的总负载信息;根据所述当前有状态服务实例对应的总负载信息、以及预审的伸缩触发条件,确定伸缩操作;在所述伸缩操作为扩容时,确定所述管理操作目标为扩容当前扩容有状态服务实例,以及确定所述目标有状态服务实例为新扩容有状态服务实例;在所述伸缩操作为缩容时,确定所述管理操作目标为缩容当前扩容有状态服务实例,以及确定所述目标有状态服务实例为当前扩容有状态服务实例中的一个。本实施例中的伸缩触发条件可以是当前的总负载与当前所有的有状态服务实例可以提供的总支持量的占比范围,例如伸缩触发条件可以设置为负载比小于20%进行缩容,负载比大于80%进行扩容,当前所有的有状态服务实例可以提供的总支持量为100万局,若当前的总负载为10万,负载比为10%,触发的伸缩操作为缩容,若当前的总负载为90万,负载比为90%,触发的伸缩操作为扩容;当然,在其他实施例中伸缩触发条件可以是各种各样的,可以任意选择设置。
在一种实施例中,在所述管理操作类别为伸缩控制时,步骤204包括:在所述管理操作目标为扩容当前扩容有状态服务实例时,新建扩容有状态服务实例作为新扩容有状态服务实例;对所述新扩容有状态服务实例进行连通性测试,并在测试通过时得到通过测试的新有状态服务实例,即所述待管理有状态服务实例。或者,步骤204包括:在所述管理操作目标为缩容当前扩容有状态服务实例时,触发停止向所述目标扩容有状态服务实例分配业务;对所述目标扩容有状态服务实例进行负载监控,并在负载为零时得到没有负载的不对外提供业务的有状态服务实例,即所述待管理有状态服务实例,下文将结合实施例进行详细说明。
在一种实施例中,在所述管理操作类别为伸缩控制时,步骤203中的在所述伸缩操作为缩容时,确定所述目标有状态服务实例为当前扩容有状态服务实例中的一个包括:获取当前扩容有状态服务实例中各扩容有状态服务实例的负载信息;根据所述各扩容有状态服务实例的负载信息,从当前扩容有状态服务实例中选择一个确定为所述目标有状态服务实例。例如选择负载最小的一个或者几个扩容有状态服务实例作为目标有状态服务实例,当然也可以是其他的选择方式。
在一种实施例中,在所述管理操作类别为伸缩控制时,步骤205包括:在所述管理操作目标为扩容当前扩容有状态服务实例时,触发开始向所述待管理有状态服务实例分配业务,即开始向新建的完成连通性测试的扩容有状态服务实例分配业务,以完成扩容有状态服务实例的扩容;或者,在所述管理操作目标为缩容当前扩容有状态服务实例时,销毁所述待管理有状态服务实例,即销毁没有负载的不对外提供业务的扩容有状态服务实例,以完成扩容有状态服务实例的缩容。
在一种实施例中,在所述管理操作类别为后台控制时,步骤203包括:解析所述当前实例管理信息的信息内容,得到所述管理操作目标,所述管理操作目标包括扩容常驻有状态服务实例、缩容常驻有状态服务实例或者更新当前有状态服务实例中的一种;在所述管理操作目标为扩容常驻有状态服务实例时,确定所述目标有状态服务实例为新常驻有状态服务实例,即新增加的常驻有状态服务实例;在所述管理操作目标为缩容常驻有状态服务实例时,确定所述目标有状态服务实例为当前常驻有状态服务实例中的一个,例如实时业务负载最小的常驻有状态服务实例;在所述管理操作目标为更新当前有状态服务实例时,确定所述目标有状态服务实例为当前有状态服务实例中的至少一个,即所有需要更新的当前有状态服务实例。
在一种实施例中,在所述管理操作类别为后台控制时,步骤204包括:在所述管理操作目标为扩容常驻有状态服务实例时,新建常驻有状态服务实例作为新常驻有状态服务实例;对所述新常驻有状态服务实例进行连通性测试,并在测试通过时得到的通过连通性测试的新常驻有状态服务实例,作为所述待管理有状态服务实例。或者步骤204包括:在所述管理操作目标为缩容当前常驻有状态服务实例时,触发停止向所述目标常驻有状态服务实例分配业务;对所述目标常驻有状态服务实例进行负载监控,并在负载为零时得到业务负载为0且停止对外服务的常驻有状态服务实例,作为所述待管理有状态服务实例。或者步骤204包括:在所述管理操作目标为更新当前有状态服务实例时,向所述目标有状态服务实例发送所述待更新文件,得到下载有新配置文件的待重启的当前有状态服务实例,所述待管理有状态服务实例。
在一种实施例中,在所述管理操作类别为后台控制时,步骤203中的在所述管理操作目标为缩容常驻有状态服务实例时,确定所述目标有状态服务实例为当前常驻有状态服务实例中的一个包括:获取当前常驻有状态服务实例中各常驻有状态服务实例的负载信息;根据所述各常驻有状态服务实例的负载信息,从当前常驻有状态服务实例中选择一个确定为所述目标有状态服务实例。例如将用户指定销毁的常驻有状态服务实例作为目标有状态服务实例,或者选择一个或者几个负载最小的常驻有状态服务实例作为目标有状态服务实例。
在一种实施例中,在所述管理操作类别为后台控制时,步骤203中的在所述管理操作目标为更新当前有状态服务实例时,确定所述目标有状态服务实例为当前有状态服务实例中的至少一个包括:解析所述当前实例管理信息的信息内容,得到待更新文件;获取当前有状态服务实例中各有状态服务实例的配置信息;根据所述各有状态服务实例的配置信息以及待更新文件,从当前有状态服务实例中选择至少一个或者所有的需要更新的有状态服务实例,确定为所述目标有状态服务实例。
在一种实施例中,在所述管理操作类别为后台控制时,步骤205包括:在所述管理操作目标为扩容常驻有状态服务实例时,触发开始向所述待管理有状态服务实例分配业务,即开始向新建的完成连通性测试的常驻有状态服务实例分配业务,以完成常驻有状态服务实例的扩容;或者,在所述管理操作目标为缩容当前常驻有状态服务实例时,销毁所述待管理有状态服务实例,即销毁没有负载的不对外提供业务的常驻有状态服务实例,以完成常驻有状态服务实例的删减缩容;或者,在所述管理操作目标为更新当前有状态服务实例时,触发停止向需要更新的有状态服务实例分配业务,对所述需要更新的当前有状态服务实例进行负载监控,并在负载为零时重启所述待管理有状态服务实例,即重启需要更新的当前有状态服务实例,整个过程不需要进行有状态服务的销毁和新建,并且不会影响正常的用户业务。
基于本申请提供的有状态服务实例更新方法,不关闭当前实例,也不需要关闭当前实例,可以更加快速的做到更新,减少因更新导致的扩容、缩容操作;同时与固定实例采用同样的管理方式(启停服务),保证系统管理的一致性。
本实施例提供了一种实例管理方法,实现了对云应用中有状态服务实例的管理,避免了现有技术中有状态服务与无状态服务采用相同管理方式所导致的各种问题。
下文以对战游戏作为云游戏对本申请进行说明。
如图3a所示,某对战类云游戏的系统架构包括:大区服务实例、对战服务实例、匹配服务实例、公共服务实例、进程管理实例。
其中,对战服务实例中的pvpsvr(即上文中的有状态服务实例)负责对局逻辑,Pvpsvr为有状态服务,对局开始前会加载玩家的数据,进行对局时,由于玩家会频繁操作,而且不同玩家会交互,为了避免频繁的加载玩家数据,pvpsvr会缓存对局的数据,在对局结束结算后才会将该对局的数据回写到数据库中。
Tconnd服务实例用于接入用户终端,为用户提供对应的数据转发、身份鉴权等功能。
公共服务实例至少包括Lobbysvr、Astools等进程实例,Lobbysvr(即上文中的业务分配服务)扮演了负载均衡的角色,当玩家发起匹配请求,匹配服务实例中的matchsvr会将玩家撮合在一起,并将撮合的玩家发往lobbsvr,Lobbysvr负责将该对局分配到对应的pvpsvr中,对局分配策略为随机分配,可以使对局均匀的分布在各个pvpsvr中;Astools用于对服务启停进行统一操作,以保证固定服务和扩容出来的服务都可以被管理到;内部服务通信中间件可以为tbuspp,除了可以在不同服务间发送接收消息外,tbuspp还提供基于名字的服务注册与服务发现功能,可以在服务扩容和缩容是方便的通知与之相关的服务;。
进程管理实例中的tcm作为后台控制服务,为后台维护人员提供固定对战服务实例的伸缩管理以及所有对战服务实例的配置更新等操作界面,以完成云应用的维护。
如图3b所示,本申请为了实现有状态服务的弹性伸缩,需要主动控制负载;Pvpsvr会上报负载到Lobbysvr,Lobbysvr提供接口可以开启或者暂停将对局分配到指定的pvpsvr。pvpsvr和lobbysvr是m对n的关系,各pvpsvr会把当前负载、最大负载、idc(Internet Data Center,互联网数据中心)的位置广播到所有lobbysvr,因此lobbysvr就有了所有pvpsvr的负载信息。同时,本申请增加了Ascenter和Asagent两个服务,Ascetner位于公共服务实例中,负责做出扩容缩容决策,与云交互申请释放计算资源、自动化测试、更新扩容的服务等功能,Asagent位于对照服务实例中,运行在扩容出来机器中,负责上报当前扩容服务的状态,根据Ascenter下发的指令进行相应的操作,其中Ascenter对应于上文中的实例管理装置。
如图3c所示,针对扩容pvpsvr的扩容场景,使用云(cloud)的API(服务接口)获取计算资源时,会得到一个全新的机器。
如图3c所示,包括以下步骤:
步骤301至步骤302:pvpsvr(包括常驻pvpsvr和扩容pvpsvr)上报各自的负载信息到lobbysvr,lobbysvr就可以得到总负载信息,然后上报给Ascenter,Ascenter分析之后确定需要扩容。
步骤303至步骤305:Ascenter从云获取计算资源,完成新的扩容有状态服务实例的建立。
其中,伸缩组是指遵循相同规则、面向同一场景的云服务器实例的集合,伸缩组定义了组内CVM(虚拟机)实例数的最大值、最小值及其相关联的负载均衡实例等属性。查询伸缩组信息的步骤所涉及查询的信息包括当前伸缩组设定的最大值和当前值,以及当前伸缩组已实例化机器的状态、ip地址等信息,以判断当前是否有可用的伸缩机器,以及保护不会因恶意请求拉高复杂导致的非预期扩容。
为了简化扩容时的初始化机器的操作,本申请提前制作机器镜像,在扩容时只要将镜像实例化就可以完成基本的初始化操作,以生产环境的机器为模板获取pvpsvr服务机器的镜像,包括系统盘镜像和数据盘镜像,然后用这两个镜像实例化一台cvm,用这台cvm来配置需要的镜像,下文称它为镜像机。由于镜像机上已经有包含了pvpsvr服务正常运行的所有程序和配置,其中包括tbuspp Asagent(tbuspp的服务)、logAsagent(日志服务)、tconnd(网关)、pvpsvr和游戏策划配置,这些会分为两部分,一部分是基础服务,tbusppAsagent、logAsagent、tconnd和tconnd使用的tbus通道,这些会配置成开机自动拉起,另一部分是pvpsvr和策划配置,这部分在镜像实例化时由Asagent更新并拉起。Asagent是本申请需要加入额外加入的程序,同样需要在镜像机中配置成开机自动拉起。配置好镜像机后,就用镜像机生成生产环境需要系统盘和数据盘镜像,当需要扩容时,Ascenter就可以调用云的API获取最接近生产环境的机器。
步骤306至步骤315:在生成新的扩容有状态服务实例后,Ascenter自动拉起的程序启动,Ascenter会向lobbysvr发送请求,主动控制lobbysvr不要分配对局到新的扩容pvpsvr。虽然使用了生产环境的pvpsvr机器作为镜像实例化新的机器,但是每个扩容pvpsvr有各自的差异化的配置,因此在获取到计算资源后,Ascenter会通过Asagent下发每个扩容pvpsvr的差异化配置,同时将最新的pvpsvr的程序和游戏策划配置同步到新扩容pvpsvr机器中,然后拉起pvpsvr。
Pvpsvr启动后,本申请会对每一个对外服务端口进行连通性的自动化测试,由于tconnd是需要鉴权的,测试工具并不能伪造鉴权信息,本申请配置了另外一份关闭鉴权的tconnd配置,启动时先用无鉴权启动,使用测试工具发送pvpsvr的测试请求,获得其回包,以进行连通性测试。自动化测试完成,确认服务的连通性和正确性后,Ascenter开启tconnd鉴权。
在该步骤中,Asagent状态包括:该机器IP地址、CPU等基础信息,应用在该机器的状态,包括不需要更新的部分和需要更新的部分,不需要更新的部分,如tconnd网关、日志服务的启停状态。需要更新的部分,是业务相关的部分,如pvpsvr的启停状态和pvpsvr、pvpsvr所使用的配置文件的文件md5;Asagent启动后就会立即上报状,并且随后周期性的都会随心跳上报状态,ascenter通过Asagent的上报,判断机器是否扩容成功,以及判断机器上应用的程序文件和配置文件是否需要更新。
在该步骤中,Pvpsvr的二进制是pvpsvr的程序文件,Pvpsvr的配置是文本文件,pvpsvr启动时读取相关内容以执行正确的业务逻辑。
在该步骤中,ascenter通过设置CLB(可配置逻辑模块,Configurable LogicBlock)完成有状态服务实例生成的整个过程。
步骤316:连通性测试之后,Ascenter会向lobbysvr发送请求,主动控制lobbysvr开始分配对局到新的扩容pvpsvr,完成整个扩容流程。
如图3d所示,针对扩容pvpsvr的缩容场景,包括以下步骤:
步骤317至步骤318:Pvpsvr随着心跳信息上报各自的负载信息到lobbysvr,lobbysvr就可以得到总负载信息,然后上报给Ascenter,Ascenter分析之后确定需要缩容。
步骤319至步骤321:Ascenter从扩容pvpsvr选择一个作为缩容目标pvpsvr,通知lobbysvr停止向该pvpsvr分配新的对局,直至该扩容pvpsvr的负载降为0,然后通知该pvpsvr对应的Asagent下发缩容通知,关闭该扩容pvpsvr。
步骤322:关闭目标pvpsvr之后,Ascenter通知云销毁对应的CVM,完成整个缩容流程。
如图3e所示,针对常驻pvpsvr的扩容场景,使用云(cloud)的API(服务接口)获取计算资源时,会得到一个全新的机器,并标记为常驻pvpsvr,优先分配对局任务。常驻pvpsvr的创建与扩容pvpsvr的创建相似,不再赘述。
如图3e所示:
步骤323:人工使用tcm通过Astoolss工具给Ascenter发送常驻pvpsvr扩容的消息,Ascenter分析之后以确定是否需要扩容常驻pvpsvr,在本步骤中,Ascenter确定需要扩容常驻pvpsvr。
步骤324至步骤326:Ascenter从云获取计算资源,完成新常驻pvpsvr实例的建立,本步骤可以参见步骤306至步骤315。
步骤327至步骤336:在生成新的常驻有状态服务实例后,Ascenter自动拉起的程序启动,Ascenter会向lobbysvr发送请求,主动控制lobbysvr不要分配对局到新的常驻pvpsvr。虽然使用了生产环境的常驻pvpsvr机器作为镜像实例化新的机器,但是每个常驻pvpsvr有各自的差异化的配置,因此在获取到计算资源后,Ascenter会通过Asagent下发每个常驻pvpsvr的差异化配置,同时将最新的常驻pvpsvr的程序和游戏策划配置同步到新机器中,然后拉起pvpsvr。Pvpsvr启动后,本申请会对每一个对外服务端口进行连通性的自动化测试,由于tconnd是需要鉴权的,测试工具并不能伪造鉴权信息,本申请配置了另外一份关闭鉴权的tconnd配置,启动时先用无鉴权启动,使用测试工具发送pvpsvr的测试请求,获得其回包,以进行连通性测试。自动化测试完成,确认服务的连通性和正确性后,Ascenter开启tconnd鉴权。
步骤337:连通性测试之后,Ascenter会向lobbysvr发送请求,主动控制lobbysvr开始分配对局到新的常驻pvpsvr,完成整个扩容流程。
如图3f所示,针对常驻pvpsvr的缩容场景,包括以下步骤:
步骤338:人工使用tcm通过Astools工具给Ascenter发送常驻pvpsvr缩容的消息,Ascenter分析之后以确定是否需要缩容常驻pvpsvr;在本步骤中,Ascente确定需要缩容常驻pvpsvr。
步骤339至步骤341:Ascenter从常驻pvpsvr选择一个作为缩容目标pvpsvr,通知lobbysvr停止向该常驻pvpsvr分配新的对局,直至该常驻pvpsvr的负载降为0,然后通知该pvpsvr对应的Asagent下发缩容通知,关闭该常驻pvpsvr。
步骤342:关闭目标pvpsvr之后,Ascenter通知云销毁对应的CVM,完成整个缩容流程。
如图3g所示,针对pvpsvr的更新场景,包括以下步骤:
步骤343至步骤346:当新的pvpsvr程序或者游戏策划配置需要更新时,后台人员会将更新包传输到Ascenter对应的机器上;具体的,人工使用tcm调用Astools,例如在管理机器上tcm程序本地调用Astool程序,之后Astools发送请求给Ascenter,例如Astools程序发送网络更新请求到Ascenter通知其需要更新,Ascenter在准备之后,新pvpsvr被拷贝到Ascenter,完成更新的前期准备,例如后台人员在开发环境中配置新pvpsvr实例或者新的游戏策划配置,然后通过云石(是内部一个分发程序的组件)等工作从开发环境把新pvpsvr拷贝到生产环境的ascenter,完成新pvpsvr到Ascenter的分发,Ascenter分析之后确定需要对pvpsvr(包括常驻pvpsvr和扩容pvpsvr)进行更新。
在本步骤中,Asagent通过心跳等消息上报对应的pvpsvr信息到Ascenter,Ascenter确定需要更新的pvpsvr,并通过更新通知向对应的Asagent发送更新文件以及文件对应的MD5,以便Asagent对更新文件进行验证,并在验证之后更新pvpsvr。
在本步骤中,Ascenter通过计算每个文件更新的最后时间得出一个最新的修改时间。将这个时间与Asagent上报的最后更新时间做对比,如果这个时间比Asagent上报的最后更新时间大,则启动更新,Ascenter会将大于Asagent上的最后更新时间的文件传输到扩容的机器上。
步骤347至步骤349:人工使用tcm通过Astools发送重启请求给Ascenter,Ascenter发送重启通知给Asagent,Asagent重启pvpsvr完成整个热更新流程。
在本步骤中,把新的pvpsvr更新到ascenter的步骤是指扩容机器上的应用程序需要先传输的ascenter所在的机器上。因为整个系统只有ascenter知道扩容出来的机器地址。通过ascenter,可以把需要更新的文件更新到扩容出来的机器上。
在本步骤中,随心跳上报pvpsvr文件信息的步骤是考虑到全量文件量比较大,而且Ascenter会与多台扩容机器相连,因此采取增加更新的方式,对比新旧文件(旧文件指的是扩容出来的机器上的文件,这部分文件信息由扩容机器上的Asagent上报过来),将新文件传输的到扩容机器上。
在本步骤中,更新程序通知、下发更新文件和MD5的步骤是指Asagent接收ascenter推送过来的新文件,并将机器上对应的文件更新。
在本步骤中,重启pvpsvr的步骤为:pvpsvr与客户端通信,有版本号控制,pvpsvr更新后,持有旧版本号的客户端将无法服务,需要更新客户端才能正常服务,因此会要求pvpsvr同时更新。因为pvpsvr在固定的机器和扩容出来的机器上,所以需要有统一的指令告诉pvpsvr重启,固定机器的pvpsvr由原来的系统控制,扩容出来的pvpsvr会由原来的系统使用(调用)Astools通知重启。
在本步骤中,发送重启请求的步骤为ascenter与所有扩容出来的Asagent连接,通过这个连接,可以通知Asagent重启机器上的pvpsvr。
一个扩容pvpsvr的生存周期如图4所示,该pvpsvr在t1时刻生成,但是由于没有完成连通性测试,不会分配对局任务,负载为0,直至t2时刻该pvpsvr完成连通性测试之后,开始分配对局任务,负载逐渐增加;在t3时刻,该pvpsvr被作为缩容目标,停止分配对局任务,随着对局结束,负载逐渐减小,直至t4时刻,该pvpsvr的负载降低为0,关闭对局服务,在t5时刻,该pvpsvr被销毁,完成一个生成周期。
本实施例针对有状态服务的云对局游戏的实现进行了描述,在扩容之后,首先进行连通性等测试,然后才会分配对局任务,避免了现有技术在扩容时,缺少自动化测试,扩容的服务无法正常对外服务,不仅给用户带来不好的体验,而且浪费的扩容的机器;在缩容时,需要等到对应有状态服务的负载降低为0,避免了现有技术在缩容时,由于只使用了时间、机器负载等简单的第三方指标作为缩容依据,缩容操作简单暴力,会中断当前服务,导致数据丢失、用户体验差;在更新时可以直接对实例的文件进行更新,避免了现有技术在更新时,缺少有效的更新手段,只能停止当前服务,启动另外一个更新后的服务。当服务有状态时,不能和其他服务同时更新,或者立即停止当前服务都会对用户体验造成不良影响。
上文以对战游戏为例对本申请进行了说明,在其他有状态服务的业务场景,例如云购物等云社交场景下,有状态服务实例用于提供商品信息展示、用户付款信息存储等中间状态数据的存储,其与图3a的区别仅仅是提供有状态服务的pvpsvr的功能不同、以及是否存在大区服务实例等,其管理实现可以参见上文描述。
相应的,图5是本申请实施例提供的实例管理装置的结构示意图,请参阅图5,该实例管理装置包括以下模块:
检测模块501,用于监测实例管理信息,所述实例管理信息用于触发管理云应用的有状态服务实例;
类型识别模块502,用于根据监测到的当前实例管理信息的信息源,确定所述当前实例管理信息对应的管理操作类别;
目标识别模块503,用于根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例;
预处理模块504,用于对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例;
管理模块505,用于对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作。
在一种实施例中,所述类型识别模块502具体用于:解析所述当前实例管理信息,得到所述当前实例管理信息对应信息源的信息源标识;在所述信息源标识表征所述当前实例管理信息来自业务分配服务时,确定所述当前实例管理信息对应的管理操作类别为伸缩控制;在所述信息源标识表征所述当前实例管理信息来自后台控制服务时,确定所述当前实例管理信息对应的管理操作类别为后台控制。
在一种实施例中,所述目标识别模块503具体用于:在所述管理操作类别为伸缩控制时,解析所述当前实例管理信息的信息内容,得到当前有状态服务实例对应的总负载信息;根据所述当前有状态服务实例对应的总负载信息、以及预审的伸缩触发条件,确定伸缩操作;在所述伸缩操作为扩容时,确定所述管理操作目标为扩容当前扩容有状态服务实例,以及确定所述目标有状态服务实例为新扩容有状态服务实例;在所述伸缩操作为缩容时,确定所述管理操作目标为缩容当前扩容有状态服务实例,以及确定所述目标有状态服务实例为当前扩容有状态服务实例中的一个。
在一种实施例中,所述目标识别模块503具体用于:在所述管理操作目标为扩容当前扩容有状态服务实例时,新建扩容有状态服务实例作为新扩容有状态服务实例;对所述新扩容有状态服务实例进行连通性测试,并在测试通过时得到所述待管理有状态服务实例。
在一种实施例中,所述目标识别模块503具体用于:获取当前扩容有状态服务实例中各扩容有状态服务实例的负载信息;根据所述各扩容有状态服务实例的负载信息,从当前扩容有状态服务实例中选择一个确定为所述目标有状态服务实例。
在一种实施例中,所述目标识别模块503具体用于:在所述管理操作目标为缩容当前扩容有状态服务实例时,触发停止向所述目标扩容有状态服务实例分配业务;对所述目标扩容有状态服务实例进行负载监控,并在负载为零时得到所述待管理有状态服务实例。
在一种实施例中,所述目标识别模块503具体用于:在所述管理操作类别为后台控制时,解析所述当前实例管理信息的信息内容,得到所述管理操作目标,所述管理操作目标包括扩容常驻有状态服务实例、缩容常驻有状态服务实例或者更新当前有状态服务实例中的一种;在所述管理操作目标为扩容常驻有状态服务实例时,确定所述目标有状态服务实例为新常驻有状态服务实例;在所述管理操作目标为缩容常驻有状态服务实例时,确定所述目标有状态服务实例为当前常驻有状态服务实例中的一个;在所述管理操作目标为更新当前有状态服务实例时,确定所述目标有状态服务实例为当前有状态服务实例中的至少一个。
在一种实施例中,所述目标识别模块503具体用于:在所述管理操作目标为扩容常驻有状态服务实例时,新建常驻有状态服务实例作为新常驻有状态服务实例;对所述新常驻有状态服务实例进行连通性测试,并在测试通过时得到所述待管理有状态服务实例。
在一种实施例中,所述目标识别模块503具体用于:获取当前常驻有状态服务实例中各常驻有状态服务实例的负载信息;根据所述各常驻有状态服务实例的负载信息,从当前常驻有状态服务实例中选择一个确定为所述目标有状态服务实例。
在一种实施例中,所述目标识别模块503具体用于:在所述管理操作目标为缩容当前常驻有状态服务实例时,触发停止向所述目标常驻有状态服务实例分配业务;对所述目标常驻有状态服务实例进行负载监控,并在负载为零时得到所述待管理有状态服务实例。
在一种实施例中,所述目标识别模块503具体用于:解析所述当前实例管理信息的信息内容,得到待更新文件;获取当前有状态服务实例中各有状态服务实例的配置信息;根据所述各有状态服务实例的配置信息以及待更新文件,从当前有状态服务实例中选择至少一个确定为所述目标有状态服务实例。
在一种实施例中,所述目标识别模块503具体用于:在所述管理操作目标为更新当前有状态服务实例时,向所述目标有状态服务实例发送所述待更新文件,得到所述待管理有状态服务实例。
在一种实施例中,所述预处理模块504具体用于:在所述管理操作目标为扩容当前扩容有状态服务实例时,触发开始向所述待管理有状态服务实例分配业务;或者,在所述管理操作目标为缩容当前扩容有状态服务实例时,销毁所述待管理有状态服务实例;或者,在所述管理操作目标为扩容常驻有状态服务实例时,触发开始向所述待管理有状态服务实例分配业务;或者,在所述管理操作目标为缩容当前常驻有状态服务实例时,销毁所述待管理有状态服务实例;或者,在所述管理操作目标为更新当前有状态服务实例时,重启所述待管理有状态服务实例。
相应的,本申请实施例还提供一种计算机设备,该计算机设备包括服务器或者终端等。
如图6所示,该计算机设备可以包括射频(RF,Radio Frequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(WiFi,Wireless Fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
计算机设备还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。音频电路606包括扬声器,传声器可提供用户与计算机设备之间的音频接口。
WiFi属于短距离无线传输技术,计算机设备通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块607,但是可以理解的是,其并不属于计算机设备的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器608是计算机设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对手机进行整体监控。
计算机设备还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,计算机设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,计算机设备中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现以下功能:
监测实例管理信息;所述实例管理信息用于触发管理云应用中的有状态服务实例;
根据监测到的当前实例管理信息的信息源,确定所述当前实例管理信息对应的管理操作类别;
根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例;
对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例;
对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:
监测实例管理信息;所述实例管理信息用于触发管理云应用中的有状态服务实例;
根据监测到的当前实例管理信息的信息源,确定所述当前实例管理信息对应的管理操作类别;
根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例;
对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例;
对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
为此,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种实例管理方法及装置、计算机设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (13)

1.一种实例管理方法,用于管理云应用的有状态服务实例,其特征在于,包括:
监测实例管理信息,所述实例管理信息用于触发管理云应用的有状态服务实例;
根据监测到的当前实例管理信息的信息源,确定所述当前实例管理信息对应的管理操作类别,包括:解析所述当前实例管理信息,得到所述当前实例管理信息对应信息源的信息源标识;在所述信息源标识表征所述当前实例管理信息来自业务分配服务时,确定所述当前实例管理信息对应的管理操作类别为伸缩控制;在所述信息源标识表征所述当前实例管理信息来自后台控制服务时,确定所述当前实例管理信息对应的管理操作类别为后台控制;
根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例;
对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例,包括:在所述管理操作类别为伸缩控制时,且在所述管理操作目标为缩容当前扩容有状态服务实例时,触发停止向目标扩容有状态服务实例分配业务;对所述目标扩容有状态服务实例进行负载监控,并在负载为零时得到没有负载的不对外提供业务的有状态服务实例,作为待管理有状态服务实例;或者,在所述管理操作类别为后台控制时,且在所述管理操作目标为更新当前有状态服务实例时,向目标有状态服务实例发送待更新文件,得到下载有新配置文件的待重启的当前有状态服务实例,作为待管理有状态服务实例;
对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作,包括:在所述管理操作目标为缩容当前扩容有状态服务实例时,销毁所述待管理有状态服务实例,以完成扩容有状态服务实例的缩容;或者,在所述管理操作目标为更新当前有状态服务实例时,触发停止向需要更新的有状态服务实例分配业务,对所述需要更新的当前有状态服务实例进行负载监控,并在负载为零时重启所述待管理有状态服务实例。
2.根据权利要求1所述的实例管理方法,其特征在于,所述根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例的步骤,包括:
在所述管理操作类别为伸缩控制时,解析所述当前实例管理信息的信息内容,得到当前有状态服务实例对应的总负载信息;
根据所述当前有状态服务实例对应的总负载信息、以及预审的伸缩触发条件,确定伸缩操作;
在所述伸缩操作为扩容时,确定所述管理操作目标为扩容当前扩容有状态服务实例,以及确定所述目标有状态服务实例为新扩容有状态服务实例;
在所述伸缩操作为缩容时,确定所述管理操作目标为缩容当前扩容有状态服务实例,以及确定所述目标有状态服务实例为当前扩容有状态服务实例中的一个。
3.根据权利要求2所述的实例管理方法,其特征在于,所述对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例的步骤,还包括:
在所述管理操作目标为扩容当前扩容有状态服务实例时,新建扩容有状态服务实例作为新扩容有状态服务实例;
对所述新扩容有状态服务实例进行连通性测试,并在测试通过时得到所述待管理有状态服务实例。
4.根据权利要求2所述的实例管理方法,其特征在于,所述在所述伸缩操作为缩容时,确定所述目标有状态服务实例为当前扩容有状态服务实例中的一个的步骤,包括:
获取当前扩容有状态服务实例中各扩容有状态服务实例的负载信息;
根据所述各扩容有状态服务实例的负载信息,从当前扩容有状态服务实例中选择一个确定为所述目标有状态服务实例。
5.根据权利要求1所述的实例管理方法,其特征在于,所述根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例的步骤,包括:
在所述管理操作类别为后台控制时,解析所述当前实例管理信息的信息内容,得到所述管理操作目标,所述管理操作目标包括扩容常驻有状态服务实例、缩容常驻有状态服务实例或者更新当前有状态服务实例;
在所述管理操作目标为扩容常驻有状态服务实例时,确定所述目标有状态服务实例为新常驻有状态服务实例;
在所述管理操作目标为缩容常驻有状态服务实例时,确定所述目标有状态服务实例为当前常驻有状态服务实例中的一个;
在所述管理操作目标为更新当前有状态服务实例时,确定所述目标有状态服务实例为当前有状态服务实例中的至少一个。
6.根据权利要求5所述的实例管理方法,其特征在于,所述对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例的步骤,还包括:
在所述管理操作目标为扩容常驻有状态服务实例时,新建常驻有状态服务实例作为新常驻有状态服务实例;
对所述新常驻有状态服务实例进行连通性测试,并在测试通过时得到所述待管理有状态服务实例。
7.根据权利要求5所述的实例管理方法,其特征在于,所述在所述管理操作目标为缩容常驻有状态服务实例时,确定所述目标有状态服务实例为当前常驻有状态服务实例中的一个的步骤,包括:
获取当前常驻有状态服务实例中各常驻有状态服务实例的负载信息;
根据所述各常驻有状态服务实例的负载信息,从当前常驻有状态服务实例中选择一个确定为所述目标有状态服务实例。
8.根据权利要求5所述的实例管理方法,其特征在于,所述对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例的步骤,还包括:
在所述管理操作目标为缩容当前常驻有状态服务实例时,触发停止向所述目标有状态服务实例分配业务;
对所述目标有状态服务实例进行负载监控,并在负载为零时得到所述待管理有状态服务实例。
9.根据权利要求5所述的实例管理方法,其特征在于,所述在所述管理操作目标为更新当前有状态服务实例时,确定所述目标有状态服务实例为当前有状态服务实例中的至少一个的步骤,包括:
解析所述当前实例管理信息的信息内容,得到待更新文件;
获取当前有状态服务实例中各有状态服务实例的配置信息;
根据所述各有状态服务实例的配置信息以及待更新文件,从当前有状态服务实例中选择至少一个确定为所述目标有状态服务实例。
10.根据权利要求1至9任一项所述的实例管理方法,其特征在于,所述对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作的步骤,包括:
在所述管理操作目标为扩容当前扩容有状态服务实例时,触发开始向所述待管理有状态服务实例分配业务;
或者,在所述管理操作目标为扩容常驻有状态服务实例时,触发开始向所述待管理有状态服务实例分配业务;
或者,在所述管理操作目标为缩容当前常驻有状态服务实例时,销毁所述待管理有状态服务实例。
11.一种实例管理装置,用于管理云应用的有状态服务实例,其特征在于,包括:
检测模块,用于监测实例管理信息,所述实例管理信息用于触发管理云应用的有状态服务实例;
类型识别模块,用于根据监测到的当前实例管理信息的信息源,确定所述当前实例管理信息对应的管理操作类别,包括:解析所述当前实例管理信息,得到所述当前实例管理信息对应信息源的信息源标识;在所述信息源标识表征所述当前实例管理信息来自业务分配服务时,确定所述当前实例管理信息对应的管理操作类别为伸缩控制;在所述信息源标识表征所述当前实例管理信息来自后台控制服务时,确定所述当前实例管理信息对应的管理操作类别为后台控制;
目标识别模块,用于根据所述管理操作类别以及所述当前实例管理信息的信息内容,确定管理操作目标以及目标有状态服务实例;
预处理模块,用于对所述目标有状态服务实例执行所述管理操作目标对应的操作内容,得到满足所述管理操作目标对应管理需求的待管理有状态服务实例,包括:在所述管理操作类别为伸缩控制时,且在所述管理操作目标为缩容当前扩容有状态服务实例时,触发停止向目标扩容有状态服务实例分配业务;对所述目标扩容有状态服务实例进行负载监控,并在负载为零时得到没有负载的不对外提供业务的有状态服务实例,作为待管理有状态服务实例;或者,在所述管理操作类别为后台控制时,且在所述管理操作目标为更新当前有状态服务实例时,向目标有状态服务实例发送待更新文件,得到下载有新配置文件的待重启的当前有状态服务实例,作为待管理有状态服务实例;
管理模块,用于对所述待管理有状态服务实例执行所述管理操作目标对应的操作动作,包括:在所述管理操作目标为缩容当前扩容有状态服务实例时,销毁所述待管理有状态服务实例,以完成扩容有状态服务实例的缩容;或者,在所述管理操作目标为更新当前有状态服务实例时,触发停止向需要更新的有状态服务实例分配业务,对所述需要更新的当前有状态服务实例进行负载监控,并在负载为零时重启所述待管理有状态服务实例。
12.一种计算机设备,其包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行程序时实现如权利要求1至10任一项所述方法中的步骤。
13.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行如权利要求1至10任一项所述方法中的步骤。
CN202010645060.4A 2020-07-07 2020-07-07 一种实例管理方法及装置、计算机设备 Active CN111880929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010645060.4A CN111880929B (zh) 2020-07-07 2020-07-07 一种实例管理方法及装置、计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010645060.4A CN111880929B (zh) 2020-07-07 2020-07-07 一种实例管理方法及装置、计算机设备

Publications (2)

Publication Number Publication Date
CN111880929A CN111880929A (zh) 2020-11-03
CN111880929B true CN111880929B (zh) 2024-02-02

Family

ID=73150301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010645060.4A Active CN111880929B (zh) 2020-07-07 2020-07-07 一种实例管理方法及装置、计算机设备

Country Status (1)

Country Link
CN (1) CN111880929B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654532B (zh) * 2020-05-08 2023-08-01 国云科技股份有限公司 一种配置文件集中管理系统、方法及装置
CN114844906A (zh) * 2021-02-01 2022-08-02 华为云计算技术有限公司 多个数据流的处理方法及相关系统
CN113254159B (zh) * 2021-06-16 2022-10-21 腾讯科技(成都)有限公司 有状态服务的迁移方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018077079A1 (zh) * 2016-10-31 2018-05-03 阿里巴巴集团控股有限公司 一种应用的扩容方法、装置和系统
CN108628613A (zh) * 2018-05-02 2018-10-09 山东汇贸电子口岸有限公司 基于国产cpu和os的容器集群有状态服务的实现方法
CN109614226A (zh) * 2018-11-20 2019-04-12 武汉烽火信息集成技术有限公司 一种基于Kubernetes的有状态应用存储管理方法
CN111177160A (zh) * 2019-11-06 2020-05-19 腾讯云计算(北京)有限责任公司 服务更新方法、装置、服务器及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018077079A1 (zh) * 2016-10-31 2018-05-03 阿里巴巴集团控股有限公司 一种应用的扩容方法、装置和系统
CN108628613A (zh) * 2018-05-02 2018-10-09 山东汇贸电子口岸有限公司 基于国产cpu和os的容器集群有状态服务的实现方法
CN109614226A (zh) * 2018-11-20 2019-04-12 武汉烽火信息集成技术有限公司 一种基于Kubernetes的有状态应用存储管理方法
CN111177160A (zh) * 2019-11-06 2020-05-19 腾讯云计算(北京)有限责任公司 服务更新方法、装置、服务器及介质

Also Published As

Publication number Publication date
CN111880929A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111880929B (zh) 一种实例管理方法及装置、计算机设备
KR102578623B1 (ko) 통신 접속 방법 및 장치, 컴퓨터 디바이스, 및 저장 매체
WO2019174595A1 (zh) 资源配置方法、装置、终端及存储介质
US9686329B2 (en) Method and apparatus for displaying webcast rooms
KR102140636B1 (ko) Nfv를 통한 풀 기반 m2m 서비스 계층 구축
US10664314B2 (en) Container deployment method and apparatus
US20230300203A1 (en) Data processing method and system, related device, storage medium, and product
US11432137B2 (en) Service notification method for mobile edge host and apparatus
WO2015113234A1 (zh) 网络功能虚拟化的方法及装置
WO2021051747A1 (zh) 数据更新方法、系统、装置、电子设备及计算机存储介质
CN111314714B (zh) 一种游戏直播方法和装置
Liu et al. Socialize spontaneously with mobile applications
WO2020216038A1 (zh) 数据管理方法、lepm和mepm
CN112245904A (zh) 支持跨服游戏的方法、系统、存储介质及计算机设备
US11954396B2 (en) Screen projection status determining method and apparatus
WO2023165429A1 (zh) 一种会话状态管理方法、系统、装置、设备及存储介质
CN111064626A (zh) 配置更新方法、装置、服务器及可读存储介质
WO2021169264A1 (zh) 数据库接入层中间件的自动调度方法和装置
CN115794139A (zh) 镜像数据处理方法、装置、设备以及介质
Du et al. ML-SLD: A message-level stateless design for cloud-native 5G core network
WO2022116849A1 (zh) 服务分配方法、装置、电子设备及存储介质
CN104104701A (zh) 在线服务的配置更新的方法和系统
CN114221985A (zh) 设备控制方法、装置、电子设备和计算机可读存储介质
CN113596197A (zh) 一种地址切换方法、装置、电子设备及存储介质
CN113746909A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40030736

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant