一种数据处理方法、装置、设备以及介质
文献发布时间:2023-06-19 13:46:35
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备以及介质。
背景技术
云游戏的运维发布是指对云游戏服务端进行更新版本操作,运维成功后玩家能够得到更好的游戏体验。在传统的云游戏维护方案中,游戏官网会每周通知维护内容,随后会在维护时间内关闭玩家的登录,此时服务器停止对玩家提供云游戏服务,然后运维人员对服务器进行维护、发布版本等操作,完成之后再统一对外提供相应的云游戏服务。
然而,现有的云游戏维护方案会无差别地关闭所有服务器进行维护,以至于游戏维护和对外服务难以共存,此外,当服务端版本变更频繁时,这势必会导致服务关停时间过长,进而会导致运维期间服务器的服务效率低下。此外,由于运维过程需要运维人员频繁介入进行相关操作,这意味着整个运维过程会消耗大量的人力,以至于会降低运维效率。
发明内容
本申请实施例提供了一种数据处理方法、装置、设备以及介质,可以提供无需停服的云游戏环境,且提升运维期间服务器的服务效率以及运维效率。
本申请实施例一方面提供了一种数据处理方法,该方法由中心服务器执行,包括:
在扫描到与云游戏相关联的管理任务时,从与云游戏相关联的服务器集群中获取用于执行管理任务的第一服务器;第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的;目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接;
基于管理任务将第一服务器配置为待管理服务器,以使待管理服务器在获取到与管理任务相关联的业务数据更新包时,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果;
接收待管理服务器基于任务执行结果所返回的任务反馈信息。
本申请实施例一方面提供了一种数据处理方法,该方法由待管理服务器执行,包括:
获取与管理任务相关联的业务数据更新包,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果;管理任务用于指示中心服务器将第一服务器配置为待管理服务器;管理任务与云游戏相关联;第一服务器是由中心服务器在扫描到管理任务时,从与云游戏相关联的服务器集群中获取到的服务器;第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的;目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接;
基于任务执行结果生成任务反馈信息,将任务反馈信息返回至中心服务器。
本申请实施例一方面提供了一种数据处理装置,装置运行在中心服务器上,包括:
服务器获取模块,用于在扫描到与云游戏相关联的管理任务时,从与云游戏相关联的服务器集群中获取用于执行管理任务的第一服务器;第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的;目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接;
状态配置模块,用于基于管理任务将第一服务器配置为待管理服务器,以使待管理服务器在获取到与管理任务相关联的业务数据更新包时,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果;
信息接收模块,用于接收待管理服务器基于任务执行结果所返回的任务反馈信息。
其中,服务器获取模块包括:
第一任务扫描单元,用于获取与云游戏相关联的任务列表,对任务列表进行任务扫描,在扫描到任务状态为待执行状态的任务时,将具有待执行状态的任务作为管理任务;
第一获取单元,用于获取与云游戏相关联的服务器集群所上报的服务信息集合,在服务信息集合所包含的关键词中对目标关键词进行检测;若检测到与目标关键词相匹配的关键词,则在服务器集群中将与目标关键词相匹配的关键词所映射的服务器作为第二服务器,将服务器集群中除了第二服务器之外的服务器作为第一服务器。
其中,服务器获取模块包括:
第二任务扫描单元,用于获取与云游戏相关联的任务列表,对任务列表进行任务扫描,在扫描到任务状态为待执行状态的任务时,将具有待执行状态的任务作为管理任务;
第二获取单元,用于获取与云游戏相关联的服务器集群相关联的服务信息集合,将服务信息集合所包含的关键词作为目标关键词,在服务器集群中将目标关键词所映射的服务器作为第二服务器,将服务器集群中除了第二服务器之外的服务器作为第一服务器。
其中,第一任务扫描单元或第二任务扫描单元,具体用于通过任务中心服务组件获取与云游戏相关联的任务列表,基于任务列表中每个任务的任务顺序,调用定时器定期对每个任务的任务状态进行轮询检测,当检测到任务列表中存在任务状态为待执行状态的任务时,将具有待执行状态的任务作为管理任务。
其中,中心服务器包括任务中心服务组件和调度中心服务组件;
状态配置模块,具体用于基于管理任务,通过任务中心服务组件生成状态配置指令,将状态配置指令发送至调度中心服务组件,以使调度中心服务组件基于状态配置指令将第一服务器的业务状态配置为待维护状态;将具有待维护状态的第一服务器作为待管理服务器。
其中,该装置还包括:
更新标记模块,用于基于任务反馈信息,对第一服务器的业务状态进行更新,且接收更新业务状态后的第一服务器所返回的状态回写指令,基于状态回写指令对管理任务进行标记。
其中,更新标记模块包括:
第一状态变更单元,用于若任务反馈信息指示成功执行管理任务,则将第一服务器的业务状态由待维护状态变更为维护成功状态,以使具有维护成功状态的第一服务器生成与维护成功状态相关联的第一状态回写指令;
第一状态回写单元,用于接收具有维护成功状态的第一服务器返回的第一状态回写指令,基于第一状态回写指令将第一服务器所具备的维护成功状态回写至管理任务对应的任务列表;
该装置还包括:
优先级调整模块,用于调整具有维护成功状态的第一服务器的调度优先级,以使调整调度优先级后的第一服务器为游戏设备提供用于运行云游戏的优化游戏服务。
其中,更新标记模块包括:
第二状态变更单元,用于若任务反馈信息指示未成功执行管理任务,则将第一服务器的业务状态由待维护状态变更为维护失败状态,以使具有维护失败状态的第一服务器在停止为游戏设备提供用于运行云游戏的游戏服务时,生成与维护失败状态相关联的第二状态回写指令;
第二状态回写单元,用于接收具有维护失败状态的第一服务器返回的第二状态回写指令,基于第二状态回写指令将第一服务器所具备的维护失败状态回写至管理任务对应的任务列表。
本申请实施例一方面提供了一种数据处理装置,装置运行在待管理服务器上,包括:
任务执行模块,用于获取与管理任务相关联的业务数据更新包,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果;管理任务用于指示中心服务器将第一服务器配置为待管理服务器;管理任务与云游戏相关联;第一服务器是由中心服务器在扫描到管理任务时,从与云游戏相关联的服务器集群中获取到的服务器;第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的;目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接;
信息反馈模块,用于基于任务执行结果生成任务反馈信息,将任务反馈信息返回至中心服务器。
其中,信息反馈模块包括:
校验单元,用于获取与管理任务相关联的输入版本号,且获取任务执行结果中的待验证版本号,将输入版本号与待验证版本号进行比对,得到版本校验结果;
生成单元,用于基于版本校验结果生成任务反馈信息,将任务反馈信息返回至中心服务器。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,中心服务器在扫描到与云游戏相关联的管理任务时,可以从与云游戏相关联的服务器集群中获取用于执行该管理任务的第一服务器。进一步,可以基于该管理任务将第一服务器配置为待管理服务器,以使待管理服务器在获取到与管理任务相关联的业务数据更新包时,可以基于该业务数据更新包执行管理任务,从而得到管理任务对应的任务执行结果,进而可以接收待管理服务器基于该任务执行结果所返回的任务反馈信息。其中,第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的,该目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接。由此可见,本申请实施例在运维过程中不需要关闭服务器集群中的所有服务器,而是可以基于目标关键词,快速地从服务器集群中选取出与游戏设备之间存在服务连接的服务器作为第二服务器,进而可以基于第二服务器,选取出与游戏设备之间不存在服务连接的服务器作为当前适于进行游戏维护的第一服务器,随后可以将第一服务器配置为待管理服务器,以使待管理服务器可以自动执行相应的管理任务,以最终实现对该第一服务器的维护,可以理解,在此期间,第二服务器仍然可以对外提供云游戏服务,也就是说,本申请实施例提供的是一种玩家用户无感知的运维方案,可以通过有序的调度为玩家用户提供无需停服的云游戏环境,此外,待管理服务器可以自动执行预先编排好的任务,而无需频繁进行人工干预,基于此,本申请实施例可以提升运维期间服务器的服务效率以及运维效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种数据处理的场景示意图;
图3是本申请实施例提供的一种数据处理方法的流程示意图;
图4是本申请实施例提供的一种数据处理方法的流程示意图;
图5是本申请实施例提供的一种基于云游戏的数据交互示意图;
图6是本申请实施例提供的一种数据处理方法的交互流程示意图;
图7是本申请实施例提供的一种无感知运维的逻辑示意图;
图8是本申请实施例提供的一种无感知运维过程的交互示意图;
图9是本申请实施例提供的一种数据处理装置的结构示意图;
图10是本申请实施例提供的一种数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图;
图12是本申请实施例提供的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及云技术(cloud technology),云计算(cloud computing)和云游戏(cloud gaming)。其中,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台),在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
云游戏又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云游戏服务器中运行,并由云游戏服务器连接渲染服务器,通过渲染服务器将游戏场景渲染为音视频流,并通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云游戏服务器的能力即可。
具体的,请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括中心服务器100、服务器集群以及游戏设备集群。其中,游戏设备集群具体可以包括一个或者多个游戏设备,这里将不对游戏设备集群中的游戏设备的数量进行限定。如图1所示,多个游戏设备具体可以包括游戏设备200a、游戏设备200b、游戏设备200c、…、游戏设备200n,游戏设备200a、游戏设备200b、游戏设备200c、…、游戏设备200n可以分别与中心服务器100通过有线或无线通信方式进行直接或间接地网络连接,以便于每个游戏设备均可以通过该网络连接与中心服务器100之间进行数据交互。
在一些可选的实施方式中,中心服务器100可以是独立于服务器集群的服务器。
在另一些可选的实施方式中,中心服务器100还可以是属于服务器集群的服务器。本申请实施例对中心服务器100与服务器集群之间的关系不进行限定。
其中,如图1所示的中心服务器100可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的服务器。
其中,服务器集群具体可以包括一个或者多个服务器,这里将不对服务器集群中的服务器的数量进行限定。如图1所示,多个服务器具体可以包括服务器300a、服务器300b、…、服务器300m,服务器300a、服务器300b、…、服务器300m可以分别与中心服务器100通过有线或无线通信方式进行直接或间接地网络连接,以便于服务器集群中的每个服务器均可以通过该网络连接与中心服务器100之间进行数据交互。
其中,如图1所示的服务器集群可能包括中心服务器(例如,中心服务器100),该服务器集群中的每个服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的服务器。
其中,游戏设备(即玩家游戏终端)是指用于连接云游戏客户端的设备,可支持游戏画面显示、游戏音频的播放以及玩家用户对游戏角色操作的输入、语音对讲等功能。为便于理解,本申请实施例可以在图1所示的多个游戏设备中选择一个游戏设备作为目标游戏设备,这里的目标游戏设备可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能家居、可穿戴设备、车载终端、游戏手柄、TV(television)盒子等具有数据处理功能的智能终端设备。例如,本申请实施例可以将图1所示的游戏设备200a作为目标游戏设备。此时,该目标游戏设备可以与中心服务器100之间实现数据交互。
应当理解,目标游戏设备可以为云游戏(例如,目标云游戏)中的玩家用户对应的玩家游戏终端,这里的玩家用户可以是指已经体验过云游戏或请求体验云游戏的用户;中心服务器100可以为目标游戏设备对应的中心服务器(例如云游戏后台),这里的中心服务器可以记录需要服务器集群中的服务器执行的任务,且可以为目标游戏设备实现对服务器集群中的服务器的调度。在本申请实施例中,可以将服务器集群中的服务器划分为第一服务器和第二服务器,其中,第一服务器是指与游戏设备之间不存在服务连接的服务器,第二服务器是指与游戏设备之间存在服务连接的服务器,因此第二服务器可以为与其连接的游戏设备提供游戏服务。例如,本申请实施例可以将图1所示的服务器300a作为第一服务器,此时包括目标游戏设备在内的任何一个游戏设备和第一服务器之间均不存在服务连接;又例如,本申请实施例可以将图1所示的服务器300b作为第二服务器,此时目标游戏设备和第二服务器可以进行服务连接,以实现目标云游戏的处理流程。
其中,这里的目标云游戏可以包含但不限于竞技类游戏、跑酷类游戏、射击类游戏以及棋牌类游戏等。为便于理解,本申请实施例可以将某个玩家用户(例如,用户Y)在目标游戏设备中所选择的贴合自己兴趣的云游戏统称为目标云游戏。
可以理解的是,云游戏的处理流程可以包括:(1)在目标游戏设备侧所执行的云游戏的处理流程。一方面,目标游戏设备通过与第二服务器进行交互,获取云游戏相关的各种页面,此处的页面例如包括云服务页面、云游戏视频的页面、云游戏的游戏页面及云剪辑页面等等;并向玩家用户展示这些页面。另一方面,目标游戏设备可以响应玩家用户在这些页面中的各种操作,该操作例如包括请求体验云游戏的操作、针对云游戏执行的云试玩操作、云剪辑操作等等;并将这些操作所对应的业务请求发送至第二服务器。例如,此处的业务请求可以包括页面获取请求、操作请求等等。(2)在第二服务器侧所执行的云游戏的处理流程。第二服务器通过与目标游戏设备进行交互,接收目标游戏设备的各种业务请求为玩家用户提供相应的云服务。例如,该第二服务器所提供的云服务可以包括为目标游戏设备提供所需的云游戏相关的各种页面,云剪辑服务,对云试玩视频的管理服务,云评论服务等等。
可以理解的是,目标云游戏对应的玩家用户可以为多个,当多个玩家用户(例如,用户Y
应当理解,本申请实施例可以提供一种基于云游戏的无感知运维方法,如图1所示,中心服务器100在扫描到与云游戏相关联的管理任务时,可以从与云游戏相关联的服务器集群(例如,由服务器300a、服务器300b、…、服务器300m所组成的服务器集群)中获取用于执行该管理任务的第一服务器。进一步,可以基于该管理任务将第一服务器配置为待管理服务器,以使待管理服务器在获取到与管理任务相关联的业务数据更新包时,可以基于该业务数据更新包执行管理任务,从而得到管理任务对应的任务执行结果,进而可以接收待管理服务器基于该任务执行结果所返回的任务反馈信息。其中,第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的,该目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接,待管理服务器是指具有待维护状态的第一服务器。例如,假设中心服务器100基于目标关键词检测到服务器300a分别与游戏设备200a、游戏设备200b之间存在服务连接,服务器300b分别与游戏设备200c、游戏设备200n之间存在服务连接,只有服务器300m与任何一个游戏设备均不存在服务连接,则此时可以将服务器300m作为第一服务器,随后可基于管理任务对服务器300m进行配置和维护,在此期间,服务器300a、服务器300b仍可以为与之存在服务连接的游戏设备提供相应的云游戏服务。由此可见,本申请实施例在运维过程中不需要关闭服务器集群中的所有服务器,而是可以通过有序的调度为玩家用户提供无需停服的云游戏环境,此外,进入待维护状态后,服务器可以自动执行预先编排好的任务,而无需频繁进行人工干预,从而可以提升运维期间服务器的服务效率以及运维效率。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种数据处理的场景示意图。如图2的中心服务器20A可以为上述图1所对应实施例中的中心服务器100,如图2所示的服务器集群20B可以是上述图1所对应实施例中的服务器集群,服务器201B则可以是上述图1所对应实施例的服务器集群中的任意一个与游戏设备不存在服务连接的服务器,例如,服务器300a。其中,中心服务器20A可以是独立于服务器集群20B的服务器,也可以是属于服务器集群20B的服务器。本申请实施例以中心服务器20A是独立于服务器集群20B的服务器为例进行说明。
可以理解的是,运维人员可以提前将用于进行游戏维护的任务上传到中心服务器20A,该任务与云游戏相关联,任务的数量可以为一个或多个,本申请实施例对任务的具体数量不进行限定。如图2所示,中心服务器20A可以将运维人员创建的任务以任务列表的形式进行存储和记录,例如,当前存储在中心服务器20A中的任务列表T总共包括10个任务,分别为任务T1、任务T2、任务T3、…、任务T10,其中,每个任务可用于维护不同的内容,且每个任务的执行顺序可以根据实际需求进行编排或调整,本申请实施例对此不做限定。
进一步,如图2所示,中心服务器20A可以定期对任务列表T进行任务扫描,以检测该任务列表T中是否存在待执行的任务(即具有待执行状态的管理任务),当在该任务列表T中扫描到管理任务(例如,任务3)时,中心服务器20A可以从与云游戏相关联的服务器集群(例如,服务器集群20B)中获取用于执行该管理任务的第一服务器。其中,第一服务器是指与云游戏相关联的游戏设备之间不存在服务连接的服务器,第二服务器是指与游戏设备之间存在服务连接的服务器,也就是说,空闲的服务器(即第一服务器)可以优先执行管理任务,其余服务器(即第二服务器)则继续为游戏设备提供游戏服务。需要说明的是,可选的,服务器集群中的每个服务器均可以定时上报该服务器是否与游戏设备存在服务连接(即监测是否有玩家用户登录到该服务器上),并可以将存在服务连接的信息以关键词的形式写入与服务器集群相关联的服务信息集合中。在本申请实施例中,可以将用于表征第二服务器与游戏设备之间存在服务连接的关键词统称为目标关键词,应当理解,目标关键词可以为第二服务器对应的服务器标识(例如,服务器名称、服务器地址等)或其他可用于指代第二服务器的数据。
基于此,中心服务器20A可以基于目标关键词,先在服务器集群中确定第二服务器,进而可以基于第二服务器确定第一服务器,即将服务器集群中除了第二服务器之外的服务器作为第一服务器。如图2所示,例如,服务器集群20B可以包括多个(例如,20个)服务器,这多个服务器具体可以为服务器201B、服务器202B、…、服务器220B。在一种可选的实施方式中,中心服务器20A可以先判断与服务器集群20B相关联的服务信息集合中是否存在目标关键词,如果存在,则可以在服务器集群20B中将该目标关键词所映射的服务器作为第二服务器,并将服务器集群20B中除了第二服务器之外的服务器作为第一服务器。例如,假设服务器202B、…、服务器220B分别与不同的游戏设备存在服务连接,而服务器201B没有与任何游戏设备存在服务连接,因此,相关联的服务信息集合中会记录有服务器202B、…、服务器220B分别对应的关键词(即目标关键词),中心服务器20A则可以在检测到该目标关键词时,将服务器202B、…、服务器220B作为第二服务器,服务器集群20B中其余的服务器(即服务器201B)则作为第二服务器。
如图2所示,中心服务器20A可以基于管理任务(例如,任务3)将第一服务器(例如,服务器201B)的业务状态配置为待维护状态,进而可以将具有待维护状态的第一服务器作为待管理服务器,其中,待维护状态可用于表征服务器进入维护状态,此时该服务器会停止对外提供游戏服务。例如,如图2所示,中心服务器20A可以将服务器201B的业务状态配置为待维护状态,此时具有待维护状态的服务器201B即可作为待管理服务器。进一步,具有待维护状态的服务器201B在获取到与上述管理任务相关联的业务数据更新包时,可以基于业务数据更新包执行该管理任务(例如,任务3),从而得到该管理任务对应的任务执行结果。随后,具有待维护状态的服务器201B可以基于任务执行结果生成任务反馈信息,并将该任务反馈信息返回至中心服务器20A,后续中心服务器20A可以基于接收到的任务反馈信息对服务器201B的业务状态进行更新,可以理解,若任务反馈信息指示成功执行管理任务,则可以将服务器201B的业务状态更新为维护成功状态,表示此时服务器201B已经成功实现了该管理任务所指示的游戏维护,因此具有维护成功状态的服务器201B可以为游戏设备提供用于运行云游戏的优化游戏服务(即升级后的游戏服务)。
上述可知,与传统的运维方案不同,本申请实施例在运维过程中可以不必关闭服务器集群中的所有服务器,而是可以基于目标关键词,快速地从服务器集群中选取出与游戏设备之间存在服务连接的服务器作为第二服务器,进而可以基于第二服务器,选取出与游戏设备之间不存在服务连接的服务器作为当前适于进行游戏维护的第一服务器,随后可以将第一服务器的业务状态配置为待维护状态,以使具有待维护状态的第一服务器可以自动执行相应的管理任务,以最终实现对该第一服务器的维护,可以理解,在此期间,第二服务器仍然可以对外提供云游戏服务,也就是说,本申请实施例提供的是一种玩家用户无感知的运维方案,可以通过有序的调度为玩家用户提供无需停服的云游戏环境,此外,进入待维护状态后,服务器可以自动执行预先编排好的任务,而无需频繁进行人工干预,因此,本申请实施例可以提升运维期间服务器的服务效率以及运维效率。
其中,中心服务器和待管理服务器进行数据交互的具体实现方式,可以参见图3-图8所对应实施例中的描述。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法可以由中心服务器执行,该中心服务器可以为上述图1所对应实施例中的中心服务器100,该方法至少可以包括以下步骤S101-步骤S103:
步骤S101,在扫描到与云游戏相关联的管理任务时,从与云游戏相关联的服务器集群中获取用于执行管理任务的第一服务器;第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的;目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接;
具体的,中心服务器可以将由运维人员创建的、需要服务器集群中的服务器执行的任务进行记录,这些任务可以是用于进行版本发布、更新或维护的任务,可选的,这些任务可以采用列表、文件或其他形式存储到与中心服务器相关联的数据库中。例如,任务列表可以包括一个或多个任务,每个任务可对应于不同的维护内容,运维人员可以基于产品需求提前将这些任务进行编排,从而得到一个任务顺序清晰明确的任务列表,这样做的好处是,后续服务端在执行这些任务的过程中,无需运维人员人工干预,从而可以减轻运维人员日常工作负担,提高运维效率,且通过减少人工操作,可以降低运维出错概率。
应当理解,任务列表中的每个任务对于不同的服务器均具有相应的任务状态,这里的任务状态可以包括待执行状态、执行状态成功状态、执行失败状态。例如,假设任务列表T包括任务T1和任务T2,服务器J1成功执行了任务T1和任务T2,则任务T1和任务T2对应于服务器J1的任务状态均为执行成功状态;而服务器J2执行任务T1失败,且未执行任务T2,则任务T1对应于服务器J2的任务状态为执行失败状态,任务T2对应于服务器J2的任务状态为待执行状态。
基于此,中心服务器可以获取与云游戏相关联的任务列表,并对该任务列表进行任务扫描,在扫描到任务状态为待执行状态的任务时,可以将具有该待执行状态的任务作为管理任务。
可选的,中心服务器可以包括任务中心服务组件和定时器,这里的任务中心服务组件可以存储与云游戏相关联的任务列表,且可以标记或修改任务列表中的每个任务对应的任务状态;定时器可用于对任务列表中的任务定时进行轮询检查,以检测出具有待执行状态的任务(即管理任务)。需要说明的是,任务中心服务组件和定时器可以是两个彼此独立的组件,或者,任务中心服务组件和定时器可以集成在同一个组件中,本申请实施例对此不进行限定。基于此,中心服务器可以通过任务中心服务组件和定时器对任务列表进行任务扫描,具体过程可以为:通过任务中心服务组件获取与云游戏相关联的任务列表,进而可以基于任务列表中每个任务的任务顺序,调用定时器定期对每个任务的任务状态进行轮询检测,当检测到任务列表中存在任务状态为待执行状态的任务时,可以将具有该待执行状态的任务作为管理任务。其中,每个任务的任务顺序可以由运维人员根据实际需求确定。
进一步,在扫描到管理任务时,中心服务器可以从与云游戏相关联的服务器集群中获取用于执行管理任务的第一服务器。其中,第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的,这里的目标关键词用于表征第二服务器与游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接,也就说是,当任务列表中存在任务状态为待执行状态的任务时,中心服务器可以基于目标关键词,从服务器集群中获取没有玩家用户登录的服务器作为第一服务器。
可选的,中心服务器可以获取与云游戏相关联的服务器集群所上报的服务信息集合,该服务信息集合可包括一个或多个关键词,一个关键词对应于服务器集群中的一个服务器,可用于表征该服务器与游戏设备之间是否存在服务连接,也就是说,这里的服务信息集合可以存储所有服务器的相关信息。应当理解,本申请实施例对关键词所采用的具体形式不进行限定。可选的,服务信息集合中的关键词可采用键值对(Key-Value Pairs)的形式进行记录,其中,key(键)可以作为索引来实现数据的存储、修改、查询和删除,本申请实施例对关键词的具体内容不进行限定。例如,在一个关键词中,key可以用于表征某个服务器,如可以为该服务器对应的服务器标识或其他可用于指代该服务器的数据,这里的服务器标识包括但不限于服务器名称、服务器地址、服务器序号等;相应的,value(值)则可用于表征该服务器与游戏设备之间是否存在服务连接,若存在服务连接,则value可用已连接标识表示,反之,若不存在服务连接,则value可用未连接标识表示,其中,已连接标识与未连接标识是不同的标识(如数字、字母、文字等),例如,已连接标识可以为数字“1”,未连接标识可以为数字“0”。可选的,value还可以包括其他内容,例如服务器所连接的游戏设备的数量,本申请实施例将不对value的具体内容进行限定。又例如,在一个关键词中,key可以为已连接标识或未连接标识,而value则可以为相关服务器对应的服务器标识,例如,假设关键词同一采用(key:value)的形式进行表示,则关键词X0:(“1”:J3,J4)可以表示具有已连接标识(例如,数字“1”)的服务器包括服务器J3和服务器J4,也就是说,服务器J3和服务器J4与游戏设备之间存在服务连接。
基于此,中心服务器可以快速地在服务信息集合中检测出服务器是否存在服务连接,具体过程可以为:中心服务器可以在服务信息集合所包含的关键词中对目标关键词进行检测,若检测到与目标关键词相匹配的关键词,则可以在服务器集群中将与目标关键词相匹配的关键词所映射的服务器作为第二服务器,进而可以将服务器集群中除了第二服务器之外的服务器作为第一服务器。例如,假设服务器集群包括服务器Q1、服务器Q2,服务器Q1与游戏设备K1存在服务连接,则服务器Q1可以上报其当前存在服务连接,进而可以基于该服务连接将服务器Q1映射至关键词X1:(“1.1.1”:1),并将关键词X1写入服务信息集合,其中,关键词X1的key中,“1.1.1”为服务器Q1对应的服务器标识。同理,服务器Q2与任何一个游戏设备均不存在服务连接,则服务器Q2也可以上报其当前不存在服务连接,进而可以基于不存在服务连接的信息将服务器Q2映射至关键词X2:(“1.1.2”:0),并将关键词X2写入服务信息集合,其中,关键词X2的key中,“1.1.2”为服务器Q2对应的服务器标识。此时,目标关键词可以为已连接标识,即数字“1”,中心服务器可以在关键词X1和关键词X2分别包含的value中检测是否存在该已连接标识,例如,关键词X1的value中存在数字“1”,则可以将该value所关联的关键词X1(即与目标关键词相匹配的关键词)中的key(即“1.1.1”)所映射的服务器Q1作为第二服务器,而关键词X2的value中不存在数字“1”,因此关键词X2中的key(即“1.1.2”)所映射的服务器Q2即可作为第一服务器。
可选的,中心服务器可以获取与云游戏相关联的服务器集群相关联的服务信息集合,该服务信息集合可包括一个或多个关键词,一个关键词与服务器集群中的一个服务器唯一对应,可用于表征该服务器与游戏设备之间不存在服务连接,也就是说,这里的服务信息集合只存储存在服务连接的服务器的相关信息。其中,服务信息集合中的关键词可采用键值对的形式或其他形式进行记录,本申请实施例对此不进行限定。以键值对为例进行说明,与上述可选实施方式类似,一个关键词可以包括一个key以及相应的value,key可以用于表征存在玩家用户的服务器(即与游戏设备之间存在服务连接的服务器),具体可以为该服务器对应的服务器标识或其他可用于指代该服务器的数据,包括但不限于服务器名称、服务器地址、服务器序号等;而对应的value则可以为任意值,例如,可以为该服务器所连接的游戏设备的数量或该游戏设备对应的设备标识、玩家用户的登录时间或登录时长等等,这里将不对value的具体内容进行限定。
基于此,中心服务器可以快速地在服务信息集合中检测出服务器是否存在服务连接,具体过程可以为:中心服务器可以将服务信息集合所包含的关键词作为目标关键词,进而可以在服务器集群中将目标关键词所映射的服务器作为第二服务器,将服务器集群中除了第二服务器之外的服务器作为第一服务器。例如,假设服务器集群包括服务器Q3、服务器Q4,服务器Q3与游戏设备K2、游戏设备K3均存在服务连接,则服务器Q3可以上报其当前存在服务连接,进而可以基于该服务连接将服务器Q3映射至关键词X3:(“1.1.3”:2),并将关键词X3写入服务信息集合,其中,关键词X3的key中的“1.1.3”为服务器Q3对应的服务器标识,关键词X3的value中的“2”则表示服务器Q3当前连接的游戏设备有两个。同时,服务器Q4与任何一个游戏设备均不存在服务连接,则服务器Q4可以上报其当前不存在服务连接,或者,不存在服务连接时可以不进行上报,此时服务信息集合将不会写入与服务器Q4相关的信息。因此,中心服务器可以将在服务信息集合中检测到的关键词X3作为目标关键词,并将关键词X3所映射的服务器(即服务器Q3)作为第二服务器,未在该服务信息集合中检测到关键词的服务器(即服务器Q4)则作为第一服务器。
其中,服务信息集合可以存储在Redis(一个完全开源免费的、遵守BSD(BerkeleySoftware Distribution)协议的高性能key-value数据库)中,或者存储在Memcached(一种易于使用的高性能内存数据存储,能够实现亚毫秒级响应时间,可用作缓存或会话存储)、etcd(一种用于共享配置和服务发现的分布式、一致性的KV(即Key-Value)存储系统)、Zookeeper(一个高性能、集中化、分布式应用程序协调服务)等KV存储数据库中。
应当理解,不同于现有运维方案中一次性无差别地关闭所有服务器,在本申请实施例中,随着服务器的连接状态发生变化,服务信息集合中相应的关键词也会随之更新,从而可以在下一轮扫描到管理任务时,重新获取新的第一服务器来执行管理任务,在这个过程中,第二服务器仍可以连接游戏设备,正常对玩家用户提供游戏服务,最终可以在不停服的情况下,分批次实现对服务器集群中的每个服务器的维护,以使玩家用户无需等待即可体验到新版本的游戏服务或功能。其中,关键词更新的具体过程可以参见下述图8所对应的实施例。
步骤S102,基于管理任务将第一服务器配置为为待管理服务器,以使待管理服务器在获取到与管理任务相关联的业务数据更新包时,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果;
具体的,中心服务器获取到第一服务器后,需要对第一服务器进行维护,因此,可以先基于管理任务将第一服务器的业务状态配置为待维护状态,以示第一服务器进入运维阶段,将暂停对外提供游戏服务,此时中心服务器不会将玩家用户调度到具有待维护状态的第一服务器中,即不会将游戏设备连接到具有待维护状态的第一服务器上。为便于理解和区分,本申请实施例可以将具有待维护状态的第一服务器作为待管理服务器,后续待管理服务器可以在获取到与管理任务相关联的业务数据更新包时,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果,具体过程可以参见后续图6所对应实施例中的步骤S304。
可选的,中心服务器可以包括任务中心服务组件和调度中心服务组件,其中,调度中心服务组件可以记录整个服务器集群的分布情况、地域信息等,可用于为每个游戏设备分配服务器资源。需要说明的是,任务中心服务组件和调度中心服务组件可以是同一个中心服务器中两个彼此独立的组件。或者,可选的,任务中心服务组件和调度中心服务组件还可以分别集成在不同的中心服务器上。基于此,中心服务器可以通过任务中心服务组件和调度中心服务组件为第一服务器配置待维护状态,具体过程可以为:任务中心服务组件扫描到管理任务后,可以基于该管理任务,生成状态配置指令,进而可以将该状态配置指令发送至调度中心服务组件,调度中心服务组件成功接收该状态配置指令后,可以基于该状态配置指令将第一服务器的业务状态配置为待维护状态。随后,可以将具有待维护状态的第一服务器作为待管理服务器。
步骤S103,接收待管理服务器基于任务执行结果所返回的任务反馈信息。
具体的,待管理服务器可以基于任务执行结果生成任务反馈信息,并将该任务反馈信息返回至中心服务器,因此中心服务器可以接收该任务反馈信息,后续还可以基于该任务反馈信息,对第一服务器进行相应的调整,具体过程可以参见下述图4所对应实施例中的步骤S204。
随后,中心服务器可以开启下一轮任务扫描,最终可以在不停服的情况下,分批次实现对服务器集群中的每个服务器的维护。
由此可见,本申请实施例在运维过程中不需要关闭服务器集群中的所有服务器,而是可以基于目标关键词,快速地从服务器集群中选取出与游戏设备之间存在服务连接的服务器作为第二服务器,随后,可以基于第二服务器,获取不存在服务连接的服务器作为当前适于进行游戏维护的第一服务器,进一步,可以将第一服务器的业务状态配置为待维护状态,以使具有待维护状态的第一服务器可以自动执行相应的管理任务,以最终实现对该第一服务器的维护,可以理解,在此期间,第二服务器仍然可以对外提供云游戏服务,也就是说,本申请实施例提供的是一种玩家用户无感知的运维方案,可以通过有序的调度为玩家用户提供无需停服的云游戏环境,此外,进入待维护状态后,服务器可以自动执行预先编排好的任务,而无需频繁进行人工干预,基于此,本申请实施例可以提升运维期间服务器的服务效率以及运维效率。
进一步地,请参见图4,图4是本申请实施例提供的一种数据处理方法的流程示意图。如图4所示,该方法可以由中心服务器执行,该中心服务器可以为上述图1所对应实施例中的中心服务器100,该方法至少可以包括以下步骤:
步骤S201,在扫描到与云游戏相关联的管理任务时,从与云游戏相关联的服务器集群中获取用于执行管理任务的第一服务器;
具体的,中心服务器可以先获取与云游戏相关联的任务列表,进而可以对任务列表进行任务扫描,并可将任务列表中具有待执行状态的任务作为管理任务,进而可以基于目标关键词,在与云游戏相关联的服务器集群中确定与游戏设备之间存在服务连接的第二服务器,进而可以基于第二服务器确定用于执行管理任务的第一服务器,具体过程可以参见上述图3所对应实施例中的步骤S101。
应当理解,服务器集群中的服务器可以为游戏设备提供与云游戏相关联的游戏服务,按照服务类型进行划分,可以将服务器集群中的服务器划分为云游戏服务器和渲染服务器,每类服务器的数量均可以为一个或多个,本申请实施例对云游戏服务器和渲染服务器的具体数量不进行限定。其中,云游戏服务器主要用于提供与云游戏相关的游戏资源服务,例如,对游戏角色进行操控,对游戏内容进行优化,如对游戏角色或角色技能进行更新。而渲染服务器主要用于为云游戏提供渲染服务,一个渲染服务器可以承载多个GPU(graphics processing unit)设备,可用于图形化计算。这里的GPU即图形处理器,是指用于执行图像和图形相关的运算工作的微处理器。可选的,服务器集群中的服务器还可以同时集成有云游戏服务器的功能和渲染服务器的功能。
应当理解,中心服务器可以为独立于云游戏服务器和渲染服务器的服务器,或者,中心服务器可以属于云游戏服务器;或者,中心服务器可以属于渲染服务器;又或者,中心服务器还可以是集成有云游戏服务器功能和渲染服务器功能的服务器,本申请实施例对此不进行限定。
请一并参见图5,图5是本申请实施例提供的一种基于云游戏的数据交互示意图。如图5所示,游戏设备集群可以包括一个或者多个游戏设备,这里将不对游戏设备集群中的游戏设备的数量进行限定。这里的游戏设备具体可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、可穿戴设备、车载终端等具有数据处理功能的智能终端。本申请实施例可以在图5所示的多个游戏设备中选择一个游戏设备作为目标游戏设备,该目标游戏设备可以为云游戏中的玩家用户所使用的游戏设备。当目标游戏设备对应的玩家用户需要在该目标游戏设备中启动目标云游戏时,可以针对目标云游戏执行触发操作,这样,目标游戏设备在响应于玩家用户针对目标云游戏所执行的触发操作时,可以向中心服务器发送服务器调度请求,这里的中心服务器可以是上述图1所对应实施例中的中心服务器100。进而中心服务器可以基于该服务器调度请求为目标游戏设备分配合适的云游戏服务器和渲染服务器。可选的,这个资源分配的操作可以由中心服务器中的调度中心服务组件执行。在玩家用户体验目标云游戏的过程中,目标游戏设备可以将玩家用户在目标游戏设备上的操作以指令的形式(即控制流)传送到云游戏服务器,以使云游戏服务器对该指令进行解析以实现相关的操作。其中,云游戏服务器和渲染服务器之间存在数据连接,一个云游戏服务器可以连接一个或多个渲染服务器,这里的云游戏服务器可以是上述图1所对应实施例中的任意一个服务器,例如,服务器300a,同理,渲染服务器可以是图1所对应实施例中除了云游戏服务器之外的任意一个服务器,例如,服务器300b和服务器300m。应当理解,云游戏服务器主要提供游戏资源服务,例如,可以将玩家用户在目标游戏设备上的操作指令解析为相应的游戏资源数据,进而可以将游戏资源数据发送至渲染服务器。渲染服务器接收到该游戏资源数据后,可以对该游戏资源数据进行图像渲染,从而得到相应的音视频流,并可以将该音视频流通过某种协议传输到目标游戏设备中,最终目标游戏设备可以对该音视频流进行解码,得到可播放的音视频数据,从而玩家用户可以体验到游戏角色的动作行为表现。
应当理解,可选的,在需要优化的游戏服务为游戏资源服务的场景下,第一服务器可以为云游戏服务器,此时第一服务器需要执行的管理任务可以为与云游戏逻辑或内容相关的任务,即该管理任务可用于对相关的云游戏(例如,目标云游戏)进行维护更新,例如,在目标云游戏中新增游戏角色、删减游戏角色、新增游戏场景或新增角色技能等,以使任务执行成功后的第一服务器可以为玩家用户提供更新后的目标云游戏。
可选的,在需要优化的游戏服务为渲染服务的场景下,第一服务器可以为渲染服务器,此时第一服务器需要执行的管理任务可以为与渲染相关的任务,即该管理任务可用于对渲染相关的内容进行维护更新,例如,优化图像渲染程序中的某个帧率或码率,以使任务执行成功后的第一服务器可以为玩家用户提供更优质的音视频流。
步骤S202,基于管理任务将第一服务器的业务状态配置为待维护状态,将具有待维护状态的第一服务器作为待管理服务器;
该步骤的具体实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。
步骤S203,接收待管理服务器基于任务执行结果所返回的任务反馈信息;
该步骤的具体实现方式可以参见上述图3所对应实施例中的步骤S103,这里不再进行赘述。
步骤S204,基于任务反馈信息,对第一服务器的业务状态进行更新,且接收更新业务状态后的第一服务器所返回的状态回写指令,基于状态回写指令对管理任务进行标记。
具体的,中心服务器可以对任务反馈信息进行分析,若任务反馈信息指示成功执行管理任务,则可以将第一服务器的业务状态由待维护状态变更为维护成功状态,以使具有维护成功状态的第一服务器生成与维护成功状态相关联的第一状态回写指令。进一步,中心服务器可以接收具有维护成功状态的第一服务器返回的第一状态回写指令,且可以基于第一状态回写指令将第一服务器所具备的维护成功状态回写至管理任务对应的任务列表。此外,中心服务器可以调整具有维护成功状态的第一服务器的调度优先级,以使调整调度优先级后的第一服务器可以为游戏设备提供用于运行云游戏的优化游戏服务。应当理解,调整调度优先级后的第一服务器的调度优先级要高于第二服务器中未执行管理任务的服务器的调度优先级,也就是说,某个服务器完成升级后,会被中心服务器优先调度,以为玩家用户提供相应的优化游戏服务。结合上述步骤S201,这里的优化游戏服务可以包括优化游戏资源服务(即游戏内容层面的优化服务),以及优化渲染服务(即图像渲染层面的优化服务),本申请实施例对此不进行限定。
应当理解,每当一个服务器升级成功后,该服务器都会获得相应的版本号,因此,中心服务器可以基于第一服务器所拥有的版本号来调整第一服务器的调度优先级,也就是说,具有高版本号的服务器会优先提供优化游戏服务,而具有低版本号的服务器可以被释放出来,以进行相应的更新和升级,即具有低版本号的服务器会优先执行管理任务。
可选的,若任务反馈信息指示未成功执行管理任务,则中心服务器可以将第一服务器的业务状态由待维护状态变更为维护失败状态,以使具有维护失败状态的第一服务器在停止为游戏设备提供用于运行云游戏的游戏服务时,可以生成与维护失败状态相关联的第二状态回写指令。也就是说,中心服务器会对具有维护失败状态的第一服务器进行下线处理,此时,具有维护失败状态的第一服务器不能对外提供相应的游戏服务。进一步,中心服务器可以接收具有维护失败状态的第一服务器返回的第二状态回写指令,并可以基于第二状态回写指令将第一服务器所具备的维护失败状态回写至管理任务对应的任务列表。
其中,上述状态回写的具体实现方式可以指在任务列表中对该管理任务进行突出标记,例如,成功执行管理任务时,可以将该管理任务标记为第一颜色(例如,绿色),未成功执行管理任务时,可以将该管理任务标记为第二颜色(例如,红色);或者,也可以基于状态回写指令生成相关的任务执行记录(也可称为任务状态记录),并关联添加至任务列表,该任务执行记录可以显示在任务列表中,例如显示在该管理任务所在位置附近的区域。完成状态回写后,后续运维人员能够很直观地从任务列表中排查出执行异常的任务,便于问题回溯。
进一步地,请参见图6,图6是本申请实施例提供的一种数据处理方法的交互流程示意图。如图6所示,该方法可以由中心服务器和待管理服务器共同执行,该中心服务器可以为上述图1所对应实施例中的中心服务器100,该待管理服务器可以为上述图1所对应实施例中的服务器集群中的任意一个服务器,例如,服务器300a。该方法至少可以包括以下步骤:
步骤S301,中心服务器对与云游戏相关联的任务列表进行任务扫描,在扫描到任务状态为待执行状态的任务时,将具有待执行状态的任务作为管理任务;
该步骤的具体实现方式可以参见上述图3所对应实施例中的步骤S101,这里不再进行赘述。
步骤S302,中心服务器从与云游戏相关联的服务器集群中获取用于执行管理任务的第一服务器;
该步骤的具体实现方式可以参见上述图3所对应实施例中的步骤S101,这里不再进行赘述。
步骤S303,中心服务器基于管理任务将第一服务器配置为待管理服务器;
该步骤的具体实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。
步骤S304,待管理服务器获取与管理任务相关联的业务数据更新包,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果;
具体的,待管理服务器可以从内容分发网络(Content Delivery Network,CDN)中获取与管理任务相关联的业务数据更新包,进而可以基于业务数据更新包执行该管理任务,从而得到该管理任务对应的任务执行结果。
应当理解,内容分发网络是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,可以使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。因此,将业务数据更新包存放在内容分发网络中,可以保证业务数据更新包的下载速度,从而提升运维效率。
步骤S305,待管理服务器基于任务执行结果生成任务反馈信息;
具体的,待管理服务器执行完管理任务后,需要验证得到的任务执行结果是否是期望的结果,例如,可以进行版本校验,即验证运维人员输入的版本号与执行管理任务后得到的版本号是否一致,以确保升级的完整性。具体来说,待管理服务器可以获取与管理任务相关联的输入版本号,且可以获取任务执行结果中所包含的待验证版本号,进而可以将输入版本号与待验证版本号进行比对,得到版本校验结果,最终可以基于版本校验结果生成任务反馈信息。
可选的,若版本校验结果指示输入版本号与待验证版本号相同,即表示版本校验通过,此时生成的任务反馈信息会指示成功执行管理任务;反之,可选的,若版本校验结果指示输入版本号与待验证版本号不相同,即表示版本校验未通过,此时生成的任务反馈信息会指示未成功执行管理任务。
步骤S306,待管理服务器将任务反馈信息返回至中心服务器;
步骤S307,中心服务器接收待管理服务器基于任务执行结果所返回的任务反馈信息,基于任务反馈信息,对第一服务器的业务状态进行更新;
该步骤的具体实现方式可以参见上述图4所对应实施例中的步骤S203-步骤S204,这里不再进行赘述。
步骤S308,中心服务器接收更新业务状态后的第一服务器所返回的状态回写指令,基于状态回写指令对管理任务进行标记。
该步骤的具体实现方式可以参见上述图4所对应实施例中的步骤S204,这里不再进行赘述。
上述可知,本申请实施例可以在预先设置好的任务列表中轮询检测是否有待执行的任务(即管理任务),当检测到待执行的任务时,可以进一步判断服务器集群中的服务器是否存在玩家用户,当检测到某个服务器(即第一服务器)上不存在玩家用户时,可以通知调度中心服务组件(也可称为调度系统)将该服务器设置为待维护状态(也可称为不可用状态),进而具有该待维护状态的第一服务器可以执行该管理任务,执行成功后可以通知调度中心服务组件对外开放该第一服务器,在此期间,第二服务器仍正常提供游戏服务。由此可见,整个运维过程不需要人工干预,且无需关闭所有服务器进行维护,因此可以真正做到运维发布对玩家无感知。因此,本申请实施例可以提升运维期间服务器的服务效率以及运维效率。此外,由于本申请实施例不会长时间关闭所有服务器,导致服务器的人均成本上升,且让玩家用户长时间等待,以至于导致玩家用户的游戏体验差,因此可以降低整体运维成本,提升云游戏体验及口碑。
进一步,请参见图7,图7是本申请实施例提供的一种无感知运维的逻辑示意图。如图7所示的运维过程中主要涉及到任务中心服务组件(也可称为任务系统)以及调度中心服务组件(也可称为调度系统),这两个组件彼此独立,但均可以集成同一个中心服务器中,例如,图1所对应实施例中的中心服务器100。可选的,这两个组件也可以分别集成在不同的中心服务器中。本申请实施例以任务中心服务组件和调度中心服务组件集成在同一个中心服务器为例进行说明。
如图7所示,调度中心服务组件可以将服务器集群中的服务器对应的业务状态分为三类,具体如下:
(1)升级完成状态:也可称为维护成功状态,表示服务器完成升级,可以优先调度为玩家用户提供优化游戏服务;
(2)下线状态:也可称为维护失败状态,表示服务器升级异常或出现故障,不能为玩家用户提供游戏服务;
(3)未升级状态:表示服务器为旧版本,在资源充足的情况下不会被调度,可优先执行升级任务(例如,管理任务)。
如图7所示,运维人员可以提前创建需要执行的任务,并可将需要执行的任务编排写入任务中心服务组件,进而定时器会定期扫描任务中心服务组件中是否存在具有待执行状态的任务(即管理任务)。如果存在管理任务,则任务中心服务组件可以实时获取服务器集群中的服务器的玩家用户状态,并判断服务器是否可用于更新,也就是说,任务中心服务组件可以从服务器集群中获取无玩家用户(简称玩家)登录且具有未升级状态的服务器,即用于执行管理任务的第一服务器,具体过程可以参见上述图3所对应实施例中的步骤S101。
进一步,当任务中心服务组件获取到第一服务器后,可以通知调度中心服务组件将第一服务器设置为待维护状态,即对第一服务器进行暂时下线处理,表示此时的第一服务器进入运维阶段,暂时不对玩家用户提供游戏服务,进而具有待维护状态的第一服务器(即待管理服务器)可以执行编排好的管理任务,得到管理任务对应的任务执行结果,且可以基于该任务执行结果生成任务反馈信息,并可以将该任务反馈信息返回至调度中心服务组件。其中,任务执行结束后,具有待维护状态的第一服务器可以自动进行验证(例如,版本校验),得到验证结果(例如,版本校验结果),进而可以基于验证结果生成任务反馈信息。
随后,调度中心服务组件可以基于该任务反馈信息,对第一服务器的业务状态进行更新。具体来说,若任务反馈信息指示第一服务器成功执行了管理任务,则调度中心服务组件可以将第一服务器的业务状态由待维护状态变更为维护成功状态(即升级完成状态),并对第一服务器进行重新上线处理,表示此时的第一服务器完成升级,可以为玩家用户提供更新后的游戏服务(即优化游戏服务);反之,若任务反馈信息指示第一服务器执行管理任务失败,则调度中心服务组件可以将第一服务器的业务状态由待维护状态变更为维护失败状态(即下线状态),并对第一服务器进行下线处理,表示此时的第一服务器出现升级异常或故障,不能为玩家用户提供游戏服务。同时,任务中心服务组件会将执行失败的任务自动进行记录,便于后续运维人员进行问题回溯。
如图7所示,具有维护成功状态的服务器可以优先被调度中心服务组件调度,具有未升级状态的服务器可以由调度中心服务组件基于普通的调度规则(例如,基于网络质量、服务器容量、服务器与游戏设备之间的距离等因素组成的规则)进行调度,而具有维护失败状态的服务器则不会被调度中心服务组件调度,也就是说,具有维护成功状态的服务器的调度优先级高于具有未升级状态的服务器的调度优先级。
基于此,本申请实施例可以通过调度中心服务组件的协助,实现对服务器的合理调度,通过上述流程,最终服务器集群中的所有服务器均可实现升级。例如,在服务高峰期,每个服务器的资源均会被调度中心服务组件分配给相应的游戏设备,这种情况下,每个服务器均要为与其连接的游戏设备提供游戏服务,此时不会进行维护。当进入服务低峰期时,服务器资源充足,这种情况下,一定会有服务器空闲出来,例如,调度中心服务组件会优先调度高版本的服务器(即具有维护成功状态的服务器),后续接入的玩家用户均可以调到该服务器去体验新版本的游戏服务,那么低版本的服务器资源就会被释放,然后可以对该服务器进行更新。例如,假设服务器集群中共有5台服务器,分别为服务器P1、服务器P2、服务器P3、服务器P4以及服务器P5,在服务高峰期,这5台服务器均需要提供游戏服务。假设在某个服务低峰期,只有服务器P1和服务器P2完成了升级,则进入下一个低峰期时,可以从剩下的3台服务器(即服务器P3、服务器P4以及服务器P5)中选择空闲的服务器进行升级(即重新选取新的第一服务器执行管理任务)。依此类推,最终,这5台服务器可以分批次实现升级维护。
上述可知,本申请实施例实施的是无感知运维方案,取消了传统运维模式中的停服过程,因此玩家用户无需等待即可体验云游戏的新功能。
进一步,请参见图8,图8是本申请实施例提供的一种无感知运维过程的交互示意图。如图8所示的运维过程中主要涉及到定时器、任务中心服务组件(即任务系统)以及调度中心服务组件(即调度系统),这三者彼此独立,但均可以集成在如图1所对应实施例中的中心服务器100中,或者,分别集成在不同的中心服务器中。本申请实施例以定时器、任务中心服务组件以及调度中心服务组件分别集成在同一个中心服务器为例进行说明。此外,本申请实施例还会涉及到上报管理组件(即上报管理模块),上报管理组件可以集成在服务器集群中的服务器上。
应当理解,服务器集群中的每个服务器均可以集成有上报管理组件,每个服务器均可以通过相应的上报管理组件定时上报(例如,每30秒上报一次)该服务器的连接状态,即上报该服务器是否与游戏设备存在服务连接,进而上报管理组件可以基于该服务器所上报的连接状态,对服务信息集合中与该服务器相关联的关键词进行更新。
可选的,结合上述图3所对应实施例中的步骤S101的相关描述,对于存储有所有服务器的相关信息的服务信息集合,上报管理组件可以基于每个服务器所上报的连接状态分别对每个服务器相关联的关键词进行更新。例如,当上述图3所对应实施例中的游戏设备K1断开与服务器Q1的连接,且没有其他游戏设备接入时,服务器Q1通过上报管理组件上报的连接状态会指示当前服务器Q1与游戏设备不存在服务连接,则该上报管理组件可以将关键词X1由此前的(“1.1.1”:1)更新为(“1.1.1”:0)。
可选的,结合上述图3所对应实施例中的步骤S101的相关描述,对于仅存储有存在服务连接的服务器的相关信息的服务信息集合,上报管理组件可以为服务信息集合中的每个关键词均设置有效周期(即过期时间,例如30秒),在有效周期内,若该关键词所映射的服务器上报的连接状态仍指示该服务器与游戏设备存在服务连接,则上报管理组件可以基于该连接状态对该关键词进行更新,此时会从当前的更新时间戳开始重新计算更新后的关键词的存在时长,可以理解,更新前后的关键词有可能是一样的;反之,若该关键词所映射的服务器上报的连接状态指示该服务器与游戏设备已经不存在服务连接,则上报管理组件不会对该关键词进行更新,若此时该关键词在服务信息集合中的存在时长达到了有效周期,则该关键词失效,因此上报管理组件会自动将该关键词从服务信息集合中删除,直到下次该服务器与游戏设备进行连接后,再将相应的关键词重新写入服务信息集合。例如,在有效周期内(例如,30秒内),当上述图3所对应实施例中的游戏设备K2断开与服务器Q3的连接时,服务器Q3通过上报管理组件上报的连接状态会指示当前服务器Q3与游戏设备K3存在服务连接,则该上报管理组件可以将关键词X3由此前的(“1.1.3”:2)更新为(“1.1.3”:1)。而当游戏设备K2和游戏设备K3与服务器Q3均断开连接,且关键词X3在有效周期内未发生更新时,关键词X3失效,该上报管理组件会将关键词X3删除。本申请实施例对有效周期的具体时长不进行限定。
如图8所示,在一种实施方式中,运维人员可以创建服务器集群中的服务器需要执行的任务方案,并记录在任务列表中。进一步,上报管理组件可以定时上报这些服务器中玩家用户的状态,如果存在玩家用户(即玩家在线),则会在与该服务器相关联的数据库(例如,Redis数据库,用于存储服务信息集合)中写入键值对形式的关键词,可选的,还可以为该关键词设置有效周期;反之,若不存在玩家用户,则上报管理组件不会存储该服务器的信息。
进一步,如图8所示,定时器可以定时轮询扫描任务列表中是否有需要执行的任务(即管理任务),例如,每分钟扫描一次。如果检测到任务列表中存在管理任务,则任务中心服务组件会进一步判断Redis数据库中是否存在用于表征服务器连接状态的键值对(即目标关键词)。若检测到目标关键词,则可以在服务器集群中将目标关键词所映射的服务器作为第二服务器,进而可以将服务器集群中除了第二服务器之外的服务器作为第一服务器。也就是说,对于采用键值对形式存储的关键词,其中的key可以用于表征存在玩家用户的服务器(即与游戏设备之间存在服务连接的第二服务器),因此,当在Redis数据库中未检测到相应的key时,可以将Redis数据库中没有记录的key所对应的服务器作为用于执行管理任务的第一服务器。具体过程可以参见上述图3所对应实施例中的步骤S101,这里不再进行赘述。
进一步,如图8所示,当任务中心服务组件通过Redis数据库检测到第一服务器后,可以通知调度中心服务组件将第一服务器的业务状态设置为灰度状态(即待维护状态),此时玩家用户不会被调度中心服务组件调度到具有灰度状态的第一服务器(即待管理服务器)中。进一步,具有灰度状态的第一服务器可以执行管理任务,可选的,为了保证更新程序的下载速度,所有的服务端更新程序(即业务数据更新包或升级包)均可以存放在内容分发网络中,因此,具有灰度状态的第一服务器可以从内容分发网络下载与管理任务相关联的服务端更新程序,进而可以执行该服务端更新程序。其中,服务端更新程序会涉及到版本号验证(即版本校验),其目的是为了避免人为地将版本号输入错误,造成服务端的异常。因此,执行完服务端更新程序后,具有灰度状态的第一服务器会进行版本校验,以确保升级的完整性。具体过程可以参见上述图6所对应实施例中的步骤S304-步骤S305,这里不再进行赘述。
进一步,当升级成功(即成功执行管理任务)后,调度中心服务组件可以将第一服务器的业务状态由灰度状态变更为维护成功状态,此时玩家用户可以通过第一服务器正常使用优化游戏服务;反之,若升级失败(即未成功执行管理任务),则调度中心服务组件可以将第一服务器的业务状态由灰度状态变更为下线状态(即维护失败状态),后续运维人员可以介入排查问题。与此同时,可以将第一服务器当前的业务状态(维护成功状态或维护失败状态)回写至任务中心服务组件中的任务状态记录中,该任务状态记录与任务列表相关联,下次定时器在轮询检测任务列表的过程中,可以基于任务状态记录自动判断当前检测到的不存在玩家用户的服务器(即新的第一服务器)是否需要执行相应的任务。
此外,调度中心服务组件在分配服务器时,会优先分配已经升级成功的服务器给玩家用户使用,也就是说,具有维护成功状态的服务器的调度优先级要高于具有未升级状态的服务器的调度优先级,从而可以确保预留出空闲的服务器给任务中心服务组件使用,以最终实现所有服务器的升级。
可以理解,本申请实施例通过获取玩家用户在服务器的实时状态,并结合调度中心服务组件,可以在不停服的情况下执行任务,提高运维期间服务器的服务效率,且减少了运维带来的压力,同时,可以让玩家用户不需要长时间等待即可体验到新版本的服务。也就是说,本申请实施例提供的是一种玩家用户无感知的运维方案,可以通过有序的调度为玩家用户提供无需停服的云游戏环境,此外,进入待维护状态后,服务器可以自动执行预先编排好的任务,而无需频繁进行人工干预,基于此,本申请实施例可以提升运维期间服务器的服务效率以及运维效率。
进一步地,请参见图9,图9是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置1为一个应用软件;该数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该数据处理装置1可以运行于中心服务器,该中心服务器可以为上述图1所对应实施例中的中心服务器100。该数据处理装置1可以包括:服务器获取模块11、状态配置模块12、信息接收模块13、更新标记模块14、优先级调整模块15;
服务器获取模块11,用于在扫描到与云游戏相关联的管理任务时,从与云游戏相关联的服务器集群中获取用于执行管理任务的第一服务器;第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的;目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接。
其中,服务器获取模块11可以包括:第一任务扫描单元111、第一获取单元112、第二任务扫描单元113、第二获取单元114;
第一任务扫描单元111,用于获取与云游戏相关联的任务列表,对任务列表进行任务扫描,在扫描到任务状态为待执行状态的任务时,将具有待执行状态的任务作为管理任务;
第一任务扫描单元111,具体用于通过任务中心服务组件获取与云游戏相关联的任务列表,基于任务列表中每个任务的任务顺序,调用定时器定期对每个任务的任务状态进行轮询检测,当检测到任务列表中存在任务状态为待执行状态的任务时,将具有待执行状态的任务作为管理任务;
第一获取单元112,用于获取与云游戏相关联的服务器集群所上报的服务信息集合,在服务信息集合所包含的关键词中对目标关键词进行检测;若检测到与目标关键词相匹配的关键词,则在服务器集群中将与目标关键词相匹配的关键词所映射的服务器作为第二服务器,将服务器集群中除了第二服务器之外的服务器作为第一服务器。
第二任务扫描单元113,用于获取与云游戏相关联的任务列表,对任务列表进行任务扫描,在扫描到任务状态为待执行状态的任务时,将具有待执行状态的任务作为管理任务;
第二任务扫描单元113,具体用于通过任务中心服务组件获取与云游戏相关联的任务列表,基于任务列表中每个任务的任务顺序,调用定时器定期对每个任务的任务状态进行轮询检测,当检测到任务列表中存在任务状态为待执行状态的任务时,将具有待执行状态的任务作为管理任务;
第二获取单元114,用于获取与云游戏相关联的服务器集群相关联的服务信息集合,将服务信息集合所包含的关键词作为目标关键词,在服务器集群中将目标关键词所映射的服务器作为第二服务器,将服务器集群中除了第二服务器之外的服务器作为第一服务器。
其中,第一任务扫描单元111、第一获取单元112、第二任务扫描单元113以及第二获取单元114的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
状态配置模块12,用于基于管理任务将第一服务器配置为待管理服务器,以使待管理服务器在获取到与管理任务相关联的业务数据更新包时,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果。
其中,中心服务器包括任务中心服务组件和调度中心服务组件;
状态配置模块12,具体用于基于管理任务,通过任务中心服务组件生成状态配置指令,将状态配置指令发送至调度中心服务组件,以使调度中心服务组件基于状态配置指令将第一服务器的业务状态配置为待维护状态;将具有待维护状态的第一服务器作为待管理服务器。
信息接收模块13,用于接收待管理服务器基于任务执行结果所返回的任务反馈信息。
更新标记模块14,用于基于任务反馈信息,对第一服务器的业务状态进行更新,且接收更新业务状态后的第一服务器所返回的状态回写指令,基于状态回写指令对管理任务进行标记。
其中,更新标记模块14可以包括:第一状态变更单元141、第一状态回写单元142、第二状态变更单元143、第二状态回写单元144;
第一状态变更单元141,用于若任务反馈信息指示成功执行管理任务,则将第一服务器的业务状态由待维护状态变更为维护成功状态,以使具有维护成功状态的第一服务器生成与维护成功状态相关联的第一状态回写指令;
第一状态回写单元142,用于接收具有维护成功状态的第一服务器返回的第一状态回写指令,基于第一状态回写指令将第一服务器所具备的维护成功状态回写至管理任务对应的任务列表;
第二状态变更单元143,用于若任务反馈信息指示未成功执行管理任务,则将第一服务器的业务状态由待维护状态变更为维护失败状态,以使具有维护失败状态的第一服务器在停止为游戏设备提供用于运行云游戏的游戏服务时,生成与维护失败状态相关联的第二状态回写指令;
第二状态回写单元144,用于接收具有维护失败状态的第一服务器返回的第二状态回写指令,基于第二状态回写指令将第一服务器所具备的维护失败状态回写至管理任务对应的任务列表。
其中,第一状态变更单元141、第一状态回写单元142、第二状态变更单元143以及第二状态回写单元144的具体实现方式可以参见上述图4所对应实施例中对步骤S204的描述,这里将不再继续进行赘述。
优先级调整模块15,用于调整具有维护成功状态的第一服务器的调度优先级,以使调整调度优先级后的第一服务器为游戏设备提供用于运行云游戏的优化游戏服务。
其中,该服务器获取模块11、状态配置模块12、信息接收模块13、更新标记模块14以及优先级调整模块15的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。
上述可知,本申请实施例在运维过程中不需要关闭服务器集群中的所有服务器,而是可以基于目标关键词,快速地从服务器集群中选取出与游戏设备之间存在服务连接的服务器作为第二服务器,进而可以基于第二服务器,选取出与游戏设备之间不存在服务连接的服务器作为当前适于进行游戏维护的第一服务器,随后可以将第一服务器的业务状态配置为待维护状态,以使具有待维护状态的第一服务器可以自动执行相应的管理任务,以最终实现对该第一服务器的维护,可以理解,在此期间,第二服务器仍然可以对外提供云游戏服务,也就是说,本申请实施例提供的是一种玩家用户无感知的运维方案,可以通过有序的调度为玩家用户提供无需停服的云游戏环境,此外,进入待维护状态后,服务器可以自动执行预先编排好的任务,而无需频繁进行人工干预,基于此,本申请实施例可以提升运维期间服务器的服务效率以及运维效率。
进一步地,请参见图10,图10是本申请实施例提供的一种数据处理装置的结构示意图。该数据处理装置2可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该数据处理装置2为一个应用软件;该数据处理装置2可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该数据处理装置2可以运行于待管理服务器,该待管理服务器可以为上述图1所对应实施例的服务器集群中与游戏设备之间不存在服务连接的任意一个服务器,例如,服务器300a。该数据处理装置2可以包括:任务执行模块21、信息反馈模块22;
任务执行模块21,用于获取与管理任务相关联的业务数据更新包,基于业务数据更新包执行管理任务,得到管理任务对应的任务执行结果;管理任务用于指示中心服务器将第一服务器配置为待管理服务器;管理任务与云游戏相关联;第一服务器是由中心服务器在扫描到管理任务时,从与云游戏相关联的服务器集群中获取到的服务器;第一服务器是由服务器集群中具有目标关键词的第二服务器所确定的;目标关键词用于表征第二服务器与云游戏相关联的游戏设备之间存在服务连接,且第一服务器与游戏设备之间不存在服务连接;
信息反馈模块22,用于基于任务执行结果生成任务反馈信息,将任务反馈信息返回至中心服务器。
其中,信息反馈模块22可以包括:校验单元221、生成单元222;
校验单元221,用于获取与管理任务相关联的输入版本号,且获取任务执行结果中的待验证版本号,将输入版本号与待验证版本号进行比对,得到版本校验结果;
生成单元222,用于基于版本校验结果生成任务反馈信息,将任务反馈信息返回至中心服务器。
其中,校验单元221、生成单元222的具体实现方式可以参见上述图6所对应实施例中对步骤S305的描述,这里将不再继续进行赘述。
其中,该任务执行模块21以及信息反馈模块22的具体实现方式可以参见上述图6所对应实施例中对步骤S304-步骤S305的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。可选的,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3、图4或图6所对应实施例中对数据处理方法的描述,也可执行前文图9或图10所对应实施例中对数据处理装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1和数据处理装置2所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3、图4或图6所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3、图4或图6所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
进一步的,请参见图12,图12是本申请实施例提供的一种数据处理系统的结构示意图。该数据处理系统3可以包括数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图9所对应实施例中的数据处理装置1,可以理解的是,该数据处理装置1a可以集成在上述图2所对应实施例中的中心服务器20A,因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图10所对应实施例中的数据处理装置2,可以理解的是,该数据处理装置2a可以集成在上述图2所对应实施例中的服务器20C,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包括。例如包括了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
- 一种缓存设备的数据处理方法、装置、设备及介质
- 多介质预刻画数据处理方法、装置、电子设备及存储介质