CN113230661A - 数据同步方法、装置、计算机可读介质及电子设备 - Google Patents
数据同步方法、装置、计算机可读介质及电子设备 Download PDFInfo
- Publication number
- CN113230661A CN113230661A CN202110665749.8A CN202110665749A CN113230661A CN 113230661 A CN113230661 A CN 113230661A CN 202110665749 A CN202110665749 A CN 202110665749A CN 113230661 A CN113230661 A CN 113230661A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- information
- node
- receiving node
- 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
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating 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
- A63F13/69—Generating 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 by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
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)
- Information Transfer Between Computers (AREA)
Abstract
本申请的实施例提供了一种数据同步方法、装置、计算机可读介质及电子设备。该数据同步方法包括:接收任务分发方发送的任务分配信息;根据所述任务分配信息生成数据同步任务,该数据同步任务用于指示指定数据接收节点从指定数据提供节点处同步目标数据,该目标数据包括云游戏更新数据包;将数据同步任务至少发送给指定数据接收节点,并获取数据同步任务的执行结果;若执行结果表示指定数据接收节点对目标数据同步成功,则向任务分发方返回更新信息,该更新信息用于指示将指定数据接收节点变更为数据提供节点,以使任务分发方根据更新后的信息再次发送任务分配信息。本申请实施例的技术方案可以提高云游戏更新效率,极大地缩短了云游戏更新时长。
Description
技术领域
本申请涉及计算机及通信技术领域,具体而言,涉及一种数据同步方法、装置、计算机可读介质及电子设备。
背景技术
在相关技术中,云游戏的更新方案通常是在服务端通过一台服务器作为源机,监听游戏客户端是否有更新,在监听到游戏客户端需要更新时,源机将游戏更新包下发给各个游戏客户端,在这段时间内云游戏处于停服阶段,等所有客户端更新完成之后才能开服。然而,这种更新方案的更新时间较长,无法确保云游戏的“即点即玩”,影响了游戏玩家的体验。
发明内容
本申请的实施例提供了一种数据同步方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以有效提高云游戏的更新效率,极大地缩短了数据同步的时长。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种应用于云游戏的数据同步方法,包括:接收任务分发方发送的任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;根据所述任务分配信息生成数据同步任务,所述数据同步任务用于指示指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;将所述数据同步任务至少发送给所述指定数据接收节点,并获取所述数据同步任务的执行结果;若所述执行结果表示所述指定数据接收节点对所述目标数据同步成功,则向所述任务分发方返回更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点,以使所述任务分发方根据更新后的信息再次发送所述任务分配信息。
根据本申请实施例的一个方面,提供了一种应用于云游戏的数据同步方法,包括:生成任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;将所述任务分配信息发送给任务管理组件,以使所述任务管理组件根据所述任务分配信息生成数据同步任务并发送给指定数据接收节点,所述数据同步任务用于指示所述指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;接收所述任务管理组件返回的更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点;在将所述指定数据接收节点变更为数据提供节点之后,若还存在数据接收节点,则再次生成所述任务分配信息。
根据本申请实施例的一个方面,提供了一种应用于云游戏的数据同步装置,包括:第一接收单元,配置为接收任务分发方发送的任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;第一生成单元,配置为根据所述任务分配信息生成数据同步任务,所述数据同步任务用于指示指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;第一发送单元,配置为将所述数据同步任务至少发送给所述指定数据接收节点,并获取所述数据同步任务的执行结果;第一处理单元,配置为若所述执行结果表示所述指定数据接收节点对所述目标数据同步成功,则向所述任务分发方返回更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点,以使所述任务分发方根据更新后的信息再次发送所述任务分配信息。
在本申请的一些实施例中,基于前述方案,所述第一生成单元配置为:解析所述任务分配信息,得到所述数据提供节点的信息和所述数据接收节点的信息;根据所述数据提供节点的信息和所述数据接收节点的信息,以及预配置的任务模板,生成所述数据同步任务。
在本申请的一些实施例中,基于前述方案,所述预配置的任务模板包括任务类型信息;所述第一生成单元配置为:将所述任务模板中的任务类型信息设置为数据同步类型,并根据所述指定数据接收节点的信息和所述指定数据提供节点的信息,生成所述数据同步任务。
在本申请的一些实施例中,基于前述方案,所述第一发送单元配置为:将所述数据同步任务发送至任务发布订阅平台,以使所述指定数据接收节点通过监听所述任务发布订阅平台获取所述数据同步任务。
在本申请的一些实施例中,基于前述方案,所述数据同步装置还包括:获取单元,配置为从所述任务发布订阅平台中获取数据提供节点的状态信息和数据接收节点的状态信息,所述状态信息用于表征是否处于在线状态;所述第一发送单元还配置为:将所述数据提供节点的状态信息和所述数据接收节点的状态信息返回给所述任务分发方。
在本申请的一些实施例中,基于前述方案,所述第一生成单元还配置为:生成待执行任务,所述待执行任务中包含有以下至少一种:任务类型信息、任务触发条件信息、任务执行目标信息、任务执行状态信息;所述第一发送单元还配置为:将所述待执行任务发送至所述任务发布订阅平台,以使所述数据提供节点和所述数据接收节点中的指定节点通过监听所述任务发布订阅平台获取所述待执行任务进行处理。
在本申请的一些实施例中,基于前述方案,所述数据同步装置还包括:测试单元,配置为若检测到完成数据同步的节点数量达到设定数量,则调用完成数据同步的目标节点基于同步后的数据进行模拟运行;抓取所述目标节点进行模拟运行时的云游戏界面;若所述云游戏界面与设定的游戏界面相匹配,则基于完成数据同步的节点提供云游戏服务。
在本申请的一些实施例中,基于前述方案,所述数据提供节点和所述数据接收节点包括云游戏渲染服务器节点。
根据本申请实施例的一个方面,提供了一种应用于云游戏的数据同步装置,包括:第二生成单元,配置为生成任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;第二发送单元,配置为将所述任务分配信息发送给任务管理组件,以使所述任务管理组件根据所述任务分配信息生成数据同步任务并发送给指定数据接收节点,所述数据同步任务用于指示所述指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;第二接收单元,配置为接收所述任务管理组件返回的更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点;第二处理单元,配置为在将所述指定数据接收节点变更为数据提供节点之后,若还存在数据接收节点,则再次生成所述任务分配信息。
在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:从指定数据库中获取数据提供节点的信息和数据接收节点的信息,所述指定数据库中包含第一列表和第二列表,所述第一列表用于存储所述数据提供节点的信息,所述第二列表用于存储所述数据接收节点的信息;通过将所述第二列表中的指定数据接收节点的信息移动至所述第一列表中,以将所述指定数据接收节点变更为数据提供节点。
在本申请的一些实施例中,基于前述方案,所述第二生成单元配置为:在检测到云游戏的数据包发生更新时,生成所述任务分配信息;或者在到达设定的更新时间时,生成所述任务分配信息。
根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的应用于云游戏的数据同步方法。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的应用于云游戏的数据同步方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的应用于云游戏的数据同步方法。
在本申请的一些实施例所提供的技术方案中,通过根据任务分配信息生成数据同步任务,以指示指定数据接收节点从指定数据提供节点处同步目标数据,然后将数据同步任务至少发送给指定数据接收节点,并获取数据同步任务的执行结果,并在该执行结果表示指定数据接收节点对目标数据同步成功时,向任务分发方返回更新信息,以指示将指定数据接收节点变更为数据提供节点,使得任务分发方可以根据更新后的信息再次发送任务分配信息,进而使得更新后的节点能够作为数据提供节点向其它节点进行同步,有效提高了云游戏的更新效率,极大地缩短了数据同步的时长。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了云游戏的架构图;
图2示出了可以应用本申请实施例的技术方案的示例性***架构的示意图;
图3示出了根据本申请的一个实施例的数据同步方法的流程图;
图4示出了根据本申请的一个实施例的数据同步方法的流程图;
图5示出了根据本申请的一个实施例的云游戏的更新流程图;
图6示出了根据本申请实施例的一个云游戏更新的示意图;
图7示出了根据本申请实施例的TaskFlow与TaskWorker的交互示意图;
图8示出了根据本申请的一个实施例的数据同步装置的框图;
图9示出了根据本申请的一个实施例的数据同步装置的框图;
图10示出了适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算是云技术的重要支撑,云计算技术的后台***需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏客户端并不运行在用户设备中,而是运行在云端服务器,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给用户设备。用户设备无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
具体而言,在图1所示的应用场景中,游戏服务器用于存储游戏玩家的账号信息和游戏后端的服务等,其用于与渲染服务器进行交互。游戏资源服务器用于存储游戏的资源数据,比如游戏图片信息、游戏视频信息等。渲染服务器即为前述的云端服务器,游戏客户端运行在渲染服务器中,渲染服务器将游戏场景渲染为音视频流,然后通过网络传输给用户设备,用户设备显示这些视音频流,并将用户的操作指令通过控制流发送给渲染服务器,以实现对游戏角色的操控。
图1所示的各个服务器都可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。用户设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。用户设备与渲染服务器之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
相关技术中提出的云游戏更新方案通常是在服务端通过一台服务器作为源机,监听游戏客户端是否有更新,在监听到游戏客户端需要更新时,源机将游戏更新包下发给各个游戏客户端,在这段时间内云游戏处于停服阶段,等所有客户端更新完成之后才能开服。然而,这种更新方案的更新时间较长,无法确保云游戏的“即点即玩”,影响了游戏玩家的体验。基于此,本申请的实施例提出了一种可以应用于云游戏更新的数据同步方案,可以有效提高数据同步的效率,进而可以缩短云游戏更新的时长,减少了游戏玩家等待开服的时间,有利于提升游戏玩家的体验。以下对本申请实施例的技术方案进行详细说明:
如图2所示,在本申请实施例的一个示例性***架构中,可以包括任务分发方201、任务管理组件202和节点集203。其中,节点集203中包含有多个节点,这些节点是用于进行数据同步的节点,在云游戏场景中,比如可以是云游戏客户端所运行的节点,即渲染服务器节点。任务分发方201与任务管理组件202可以运行在同一个物理实体中,也可以运行在不同的物理实体中,比如可以通过不同的服务器来实现。
任务分发方201在检测到有数据需要进行更新时,比如云游戏客户端需要进行更新,可以生成任务分配信息,该任务分配信息中包含有数据提供节点的信息和数据接收节点的信息。其中的数据提供节点是已经包含了需要同步的目标数据(如游戏客户端的更新包等)的节点,数据接收节点是需要同步该目标数据的节点。比如节点2031中已经包含了需要同步的目标数据,而节点2032和其它节点是需要同步该目标数据的节点,那么节点2031是数据提供节点,节点2032和其它节点是数据接收节点。
任务分发方201在生成任务分配信息之后,可以将任务分配信息发送给任务管理组件202,任务管理组件202会根据该任务分配信息生成数据同步任务,该数据同步任务用于指示指定数据接收节点从指定数据提供节点处同步目标数据,比如指示节点2032和其它节点从节点2031中同步该目标数据。
任务管理组件202在生成数据同步任务之后,可以将该数据同步任务至少发送给指定数据接收节点,以指示该指定数据接收节点从指定数据提供节点处同步目标数据。当然,任务管理组件202还可以将数据同步任务一并发送给指定数据提供节点,以指示该指定数据提供节点向指定数据接收节点提供需要同步的目标数据。
任务管理组件202在获取到数据同步任务的执行结果之后,如果该执行结果表示指定数据接收节点对目标数据同步成功,则任务管理组件202可以向任务分发方201返回更新信息,以指示将指定数据接收节点变更为数据提供节点,比如若节点2032同步目标数据成功,那么可以将节点2032变更为数据提供节点。
如果任务分发方201确定还存在数据接收节点,则可以再次生成任务分配信息,当再次生成任务分配信息时,由于数据提供节点的数量更加了,因此能够通过更多数量的数据提供节点来向数据接收节点同步目标数据,进而有效提高了数据同步的效率,极大地缩短了数据同步的时长。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图3示出了根据本申请的一个实施例的数据同步方法的流程图,该数据同步方法可以由图2中所示的任务管理组件202来执行,该任务管理组件202可以以一个服务的形式运行在服务器中。参照图3所示,该数据同步方法至少包括步骤S310至步骤S340,详细介绍如下:
在步骤S310中,接收任务分发方发送的任务分配信息,该任务分配信息中包含有数据提供节点的信息和数据接收节点的信息。可选地,该数据提供节点和数据接收节点可以是用于进行云游戏更新的。
在本申请的一个实施例中,数据提供节点是已经包含了需要同步的目标数据(如游戏客户端的更新包等)的节点,数据接收节点是需要同步该目标数据的节点。在本申请的实施例中,当数据接收节点同步完目标数据之后,数据接收节点的角色转变为数据提供节点。可选地,数据提供节点的信息可以是数据提供节点的标识信息、网络地址等。类似地,数据接收节点的信息可以是数据接收节点的标识信息、网络地址等。
在本申请的一个实施例中,如果需要同步的目标数据是云游戏更新数据,那么数据提供节点和数据接收节点可以是云游戏渲染服务器节点,当云游戏渲染服务器节点完成云游戏更新数据的同步之后,可以提供云游戏服务。
可选地,任务分配信息中包含的数据提供节点的信息和数据接收节点的信息可以是针对同一个区域而言的,比如有多个区域内的节点需要进行数据同步,那么每个区域内的节点可以单独按照本申请实施例的数据同步方案来进行数据同步处理。
在步骤S320中,根据任务分配信息生成数据同步任务,该数据同步任务用于指示指定数据接收节点从指定数据提供节点处同步目标数据。
在本申请的一个实施例中,根据任务分配信息生成数据同步任务的过程可以是解析任务分配信息,得到数据提供节点的信息和数据接收节点的信息,然后根据数据提供节点的信息和数据接收节点的信息,以及预配置的任务模板,生成数据同步任务。比如可以将数据提供节点的信息和数据接收节点的信息填入任务模板中来生成数据同步任务。
可选地,预配置的任务模板中可以包括任务类型信息,那么在生成数据同步任务时,可以将任务模板中的任务类型信息设置为数据同步类型,然后根据指定数据接收节点的信息和指定数据提供节点的信息,生成数据同步任务。
需要说明的是,如果任务分配信息中已经包含了哪些数据提供节点向哪些数据接收节点提供目标数据,那么在生成任务分配信息时,可以直接根据这些信息来生成任务分配信息。如果任务分配信息中只是包含了数据提供节点的信息和数据接收节点的信息,并未指定哪些数据提供节点向哪些数据接收节点提供目标数据,那么任务管理组件可以根据数据提供节点的信息和数据接收节点的信息来进行分配。比如可以根据数据提供节点与数据接收节点之间的距离、通信状态进行分配,以保证数据同步的效率。
在步骤S330中,将数据同步任务至少发送给指定数据接收节点,并获取数据同步任务的执行结果。
在该步骤中,将该数据同步任务至少发送给指定数据接收节点,可以指示指定数据接收节点从指定数据提供节点处同步目标数据。当然,任务管理组件还可以将数据同步任务一并发送给指定数据提供节点,以指示该指定数据提供节点向指定数据接收节点提供需要同步的目标数据。
可选地,在本申请的一个实施例中,任务管理组件可以将数据同步任务发送至任务发布订阅平台,进而指定数据接收节点(和指定数据提供节点)可以通过监听任务发布订阅平台来获取数据同步任务。该任务发布订阅平台可以是Kafka平台,Kafka是一种高吞吐量的分布式发布订阅消息***,其可以处理消费者在网站中的所有动作流数据。
在本申请的一个实施例中,任务管理组件还可以从任务发布订阅平台中获取数据提供节点的状态信息和数据接收节点的状态信息,该状态信息用于表征是否处于在线状态,然后任务管理组件可以将数据提供节点的状态信息和数据接收节点的状态信息返回给任务分发方。具体而言,数据提供节点和数据接收节点可以自主上报心跳状态到任务发布订阅平台,进而任务管理组件可以根据心跳状态的上报时间来确定节点是否处于在线状态,比如若某个节点上报的心跳状态的时间距离当前时间过长,那么可以确定该节点处于离线状态。
继续参照图3所示,在步骤S340中,若该执行结果表示指定数据接收节点对目标数据同步成功,则向任务分发方返回更新信息,该更新信息用于指示将指定数据接收节点变更为数据提供节点,以使任务分发方根据更新后的信息再次发送任务分配信息。
具体而言,任务分发方在接收到该更新信息之后,可以确定是否还存在数据接收节点,如果还存在数据接收节点,那么可以再次生成任务分配信息,而当再次生成任务分配信息时,由于数据提供节点的数量更加了,因此能够通过更多数量的数据提供节点来向数据接收节点同步目标数据,进而有效提高了数据同步的效率,极大地缩短了数据同步的时长。
在本申请的一个实施例中,任务管理组件除了可以将数据同步任务发送至任务发布订阅平台之外,还可以生成其它的待执行任务,该待执行任务中包含有以下至少一种:任务类型信息、任务触发条件信息、任务执行目标信息、任务执行状态信息。然后任务管理组件可以将生成的待执行任务发送至任务发布订阅平台,以使数据提供节点和数据接收节点中的指定节点通过监听任务发布订阅平台获取待执行任务进行处理。
可选地,任务类型信息比如可以是数据修改任务、数据删除任务、数据发送任务等;任务触发条件信息用于表示任务在哪种条件下触发,比如在执行设定的操作之后触发等;任务执行目标信息用于表示执行任务所期望达到的目标;任务执行状态信息用于表示任务的执行状态,比如未执行、已执行、执行失败等。
在本申请的一个实施例中,如果任务管理组件检测到完成数据同步的节点数量达到设定数量,则可以调用完成数据同步的目标节点基于同步后的数据进行模拟运行,然后抓取目标节点进行模拟运行时的界面,基于该界面与设定的界面进行比对,如果该界面与设定的界面相匹配,则基于完成数据同步的节点提供业务访问服务。该实施例的技术方案可以在数据同步之后实现自动测试,而且可以无需等待所有节点都同步完成之后再对外提供业务访问服务,减少了等待服务的时间。
比如,对于云游戏而言,当某个地区的渲染服务器中有超过一半的渲染服务器完成了云游戏客户端的更新之后,可以调用这些渲染服务器模拟运行云游戏客户端,并抓取模拟过程中的界面(如云游戏节点,具体可以是进入游戏的界面),当该界面与设定的界面相匹配时,那么就可以通过这些渲染服务器来提供云游戏服务,无需等待所有渲染服务器都完成更新之后再进行开服,减少了云游戏的等待时长。
图4示出了根据本申请的一个实施例的数据同步方法的流程图,该数据同步方法可以由图2中所示的任务分发方201来执行,该任务分发方201可以以一个服务的形式运行在服务器中。参照图4所示,该数据同步方法至少包括步骤S410至步骤S440,详细介绍如下:
在步骤S410中,生成任务分配信息,该任务分配信息中包含有数据提供节点的信息和数据接收节点的信息。可选地,该数据提供节点和数据接收节点可以是用于进行云游戏更新的。
在本申请的一个实施例中,可以在检测到数据源发生更新时,生成任务分配信息。或者也可以在到达设定的更新时间时,生成任务分配信息。即任务分发方可以通过检测数据源是否发生更新来触发任务分配操作,或者也可以按照设定的时间来触发任务分配操作。比如根据事先获取到的信息确定云游戏客户端会在某个时间点进行更新,那么可以在该时间点触发任务分配操作。
在本申请的一个实施例中,数据提供节点是已经包含了需要同步的目标数据(如游戏客户端的更新包等)的节点,数据接收节点是需要同步该目标数据的节点。在本申请的实施例中,当数据接收节点同步完目标数据之后,数据接收节点的角色转变为数据提供节点。可选地,数据提供节点的信息可以是数据提供节点的标识信息、网络地址等。类似地,数据接收节点的信息可以是数据接收节点的标识信息、网络地址等。
在步骤S420中,将任务分配信息发送给任务管理组件,以使任务管理组件根据任务分配信息生成数据同步任务并发送给指定数据接收节点,该数据同步任务用于指示指定数据接收节点从指定数据提供节点处同步目标数据。
可选地,任务管理组件根据任务分配信息生成数据同步任务并发送给指定数据接收节点的过程可以参照前述实施例的技术方案,不再赘述。
在步骤S430中,接收任务管理组件返回的更新信息,该更新信息用于指示将指定数据接收节点变更为数据提供节点。
在本申请的一个实施例中,任务管理组件在可以在接收到数据同步任务的执行结果之后,根据该执行结果确定该指定数据接收节点对目标数据是否同步成功,如果同步成功,则向任务分发方返回更新信息。
在步骤S440中,在将指定数据接收节点变更为数据提供节点之后,若还存在数据接收节点,则再次生成任务分配信息。
具体而言,任务分发方在接收到该更新信息之后,可以确定是否还存在数据接收节点,如果还存在数据接收节点,那么可以再次生成任务分配信息,而当再次生成任务分配信息时,由于数据提供节点的数量增加了,因此能够通过更多数量的数据提供节点来向数据接收节点同步目标数据,进而有效提高了数据同步的效率,比如提高了云游戏的更新效率,极大地缩短了数据同步的时长。
在本申请的一个实施例中,任务分发方可以从指定数据库中获取数据提供节点的信息和数据接收节点的信息,该指定数据库中包含第一列表和第二列表,第一列表用于存储数据提供节点的信息,第二列表用于存储数据接收节点的信息,然后通过将第二列表中的指定数据接收节点的信息移动至第一列表中,以将指定数据接收节点变更为数据提供节点。该指定数据库可以是Redis数据库、MySQL数据库等。
以上分别从任务管理组件和任务分发方的角度对本申请实施例的技术方案的实现细节进行了阐述,以下以云游戏的应用场景对本申请实施例的技术方案进行详细说明:
如图5所示,根据本申请的一个实施例的云游戏的更新流程,包括如下步骤:
步骤S501,获取云游戏维护公告。可选地,云游戏维护公告可以是游戏运维方发布的云游戏更新信息或云游戏维护信息,其中包含了云游戏进行更新或维护的时间信息。
步骤S502,设置定时维护。可选地,可以根据云游戏维护公告中包含的更新或维护时间信息来设置定时维护的时间。
步骤S503,项目组推送游戏更新。可选地,项目组可以是游戏运维方,项目组推送游戏更新即为发布游戏更新包或者游戏维护数据等。
步骤S504,触发源机更新。可选地,源机可以是选择出的第一台接收游戏更新包的服务器,比如各个区域设置一个源机,每个区域的源机用来接收对该区域内的服务器进行升级的游戏更新包或者游戏维护数据。
步骤S505,分发文件。可选地,分发文件即为同步游戏更新包或者游戏维护数据,在分发文件时,可以采用本申请前述实施例中的数据同步方案来提高数据同步的效率,缩短云游戏更新的时长。
步骤S506,游戏自动化测试。可选地,游戏自动化测试也可以采用本申请前述实施例中的测试方案,即通过模拟运行的方式来抓取运行界面,通过将运行界面与设定界面之间进行对比来确定是否更新成功。
步骤S507,游戏开服。可选地,对于云游戏而言,比如某个地区的渲染服务器中有超过一半的渲染服务器完成了更新、且测试通过,那么就可以通过这些渲染服务器来提供云游戏服务,无需等待所有渲染服务器都完成更新之后再进行开服,减少了云游戏的等待时长。
图6示出了根据本申请实施例的一个云游戏更新的示意图。具体地,云游戏可以部署于多个区域(比如区域1、区域2、…、区域n等),各个区域可以设置有分发源机,该分发源机用于获取游戏更新包。在每个区域内,流主机适配器用于监听云游戏客户端是否要进行更新,如果需要进行更新,则调用流主机(即分发源机)来获取游戏更新包,并进行自更新操作,然后触发初始化分配资源的服务601。
在初始化分配资源的服务601中,通过更新平台游戏配置,业务架构可以是服务器(如云游戏的渲染服务器)的部署架构等,比如部署了支持哪些运营商的服务器,以及这些服务器的部署位置、部署数量等。初始化资源列表包含了需要更新的文件,以及需要更新的服务器列表信息等。分配状态写入Redis即为将服务器的角色写入Redis,比如服务器还未进行更新时,服务器的角色可以是被同步端(即需要从其它服务器来获取游戏更新包),如果服务器已经进行了更新,那么可以将该服务器的角色设置为同步端(即可以向其它服务器提供游戏更新包)。
初始化分配资源的服务601可以对同步端与被同步端之间的任务关系(如哪些被同步端从哪些同步端获取游戏更新包)发送给TaskFlow(其可以以服务的形式存在),以进行任务触发操作。TaskFlow可以将任务关系进行解析,生成数据同步任务,并且分发给每个区域运行在渲染服务器中的TaskWorker,然后各渲染服务器中的TaskWorker可以根据该数据同步任务来进行游戏更新包的同步操作。
当TaskWorker对数据同步任务执行完成之后,可以将结果上报给TaskFlow,TaskFlow可以进行结果回调,调整更新进度,并进行任务状态的变更,即将已完成更新的渲染服务器的角色转化为同步端(即可以向其它服务器提供游戏更新包),然后写入Redis中。
Redis中可以包含有同步端的列表和被同步端的列表,如果被同步端的列表中还包含有渲染服务器的信息,那么说明还有渲染服务器没有完成更新操作,此时初始化分配资源的服务601可以触发下一轮的同步任务,直到被同步端的列表中不再包含渲染服务器。
同时,当某个区域内完成同步的渲染服务器达到一定数量(如半数以上),那么TaskFlow可以调用游戏自动化测试,当测试结果表明测试无误后可以自动上线服务器,为游戏玩家提供服务,不必等待所有渲染服务器同步完成。在进行自动化测试时,可以通过模拟运行的方式来抓取游戏画面,通过图像识别判断游戏是否正常拉起(如抓取的游戏画面与预期的画面是否一致),测试无误后自动化开服,整个过程中无需人工干预,真正实现自动化。
可选地,初始化分配资源的服务601与TaskFlow可以设置于同一台物理实体(如服务器)中,也可以设置在不同的物理实体中。
在本申请的一个实施例中,如图7所示,TaskFlow与TaskWorker之间的任务下发可以通过中间组件Kafka来实现。具体而言,Taskflow端可以由运维人员来创建任务模板,在任务模板中可以进行任务类型选择、设置触发器信息、设置任务执行目标信息并进行状态写入。可选地,任务类型信息比如可以是数据修改任务、数据删除任务、数据发送任务等;触发器信息可以是任务触发条件信息,用于表示任务在哪种条件下触发,比如在执行设定的操作之后触发等;任务执行目标信息用于表示执行任务所期望达到的目标;状态写入用于表示任务的执行状态,比如未执行、已执行、执行失败等。
对于数据同步任务而言,TaskFlow端在生成游戏更新任务之后将任务推送到kafka队列中。Taskworker端实时监听kafka队列中的任务消息,如有,则消费任务,即解析实际执行命令,并且在渲染服务器中运行。当渲染服务器运行命令完成之后,通过任务回调将执行结果消息回传给TaskFlow端,TaskFlow端将任务状态改写为完成。
同时,Taskworker端可以自主上报心跳状态,TaskFlow根据上报时间判断渲染服务器是否离线,如果离线,则在下发任务的时候会跳过出问题的渲染服务器。
本申请实施例的游戏更新方案使得能够提高云游戏的更新效率,极大地缩短了云游戏的更新时长。当然,本申请实施例的数据同步方案也可以适用于其它数据同步的应用场景中。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据同步方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的数据同步方法的实施例。
图8示出了根据本申请的一个实施例的应用于云游戏的数据同步装置的框图,该数据同步装置可以设置在图2中所示的任务管理组件202内,该任务管理组件202可以以一个服务的形式运行在服务器中。
参照图8所示,根据本申请的一个实施例的应用于云游戏的数据同步装置800,包括:第一接收单元802、第一生成单元804、第一发送单元806和第一处理单元808。
其中,第一接收单元802配置为接收任务分发方发送的任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;第一生成单元804配置为根据所述任务分配信息生成数据同步任务,所述数据同步任务用于指示指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;第一发送单元806配置为将所述数据同步任务至少发送给所述指定数据接收节点,并获取所述数据同步任务的执行结果;第一处理单元808配置为若所述执行结果表示所述指定数据接收节点对所述目标数据同步成功,则向所述任务分发方返回更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点,以使所述任务分发方根据更新后的信息再次发送所述任务分配信息。
在本申请的一些实施例中,基于前述方案,所述第一生成单元804配置为:解析所述任务分配信息,得到所述数据提供节点的信息和所述数据接收节点的信息;根据所述数据提供节点的信息和所述数据接收节点的信息,以及预配置的任务模板,生成所述数据同步任务。
在本申请的一些实施例中,基于前述方案,所述预配置的任务模板包括任务类型信息;所述第一生成单元804配置为:将所述任务模板中的任务类型信息设置为数据同步类型,并根据所述指定数据接收节点的信息和所述指定数据提供节点的信息,生成所述数据同步任务。
在本申请的一些实施例中,基于前述方案,所述第一发送单元806配置为:将所述数据同步任务发送至任务发布订阅平台,以使所述指定数据接收节点通过监听所述任务发布订阅平台获取所述数据同步任务。
在本申请的一些实施例中,基于前述方案,所述数据同步装置800还包括:获取单元,配置为从所述任务发布订阅平台中获取数据提供节点的状态信息和数据接收节点的状态信息,所述状态信息用于表征是否处于在线状态;所述第一发送单元806还配置为:将所述数据提供节点的状态信息和所述数据接收节点的状态信息返回给所述任务分发方。
在本申请的一些实施例中,基于前述方案,所述第一生成单元804还配置为:生成待执行任务,所述待执行任务中包含有以下至少一种:任务类型信息、任务触发条件信息、任务执行目标信息、任务执行状态信息;所述第一发送单元806还配置为:将所述待执行任务发送至所述任务发布订阅平台,以使所述数据提供节点和所述数据接收节点中的指定节点通过监听所述任务发布订阅平台获取所述待执行任务进行处理。
在本申请的一些实施例中,基于前述方案,所述数据同步装置800还包括:测试单元,配置为若检测到完成数据同步的节点数量达到设定数量,则调用完成数据同步的目标节点基于同步后的数据进行模拟运行;抓取所述目标节点进行模拟运行时的云游戏界面;若所述云游戏界面与设定的游戏界面相匹配,则基于完成数据同步的节点提供云游戏服务。
在本申请的一些实施例中,基于前述方案,所述数据提供节点和所述数据接收节点包括云游戏渲染服务器节点。
图9示出了根据本申请的一个实施例的应用于云游戏的数据同步装置的框图,该数据同步装置可以设置在图2中所示的任务分发方201内,该任务分发方201可以以一个服务的形式运行在服务器中。
参照图9所示,根据本申请的一个实施例的应用于云游戏的数据同步装置900,包括:第二生成单元902、第二发送单元904、第二接收单元906和第二处理单元908。
其中,第二生成单元902配置为生成任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;第二发送单元904配置为将所述任务分配信息发送给任务管理组件,以使所述任务管理组件根据所述任务分配信息生成数据同步任务并发送给指定数据接收节点,所述数据同步任务用于指示所述指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;第二接收单元906配置为接收所述任务管理组件返回的更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点;第二处理单元908配置为在将所述指定数据接收节点变更为数据提供节点之后,若还存在数据接收节点,则再次生成所述任务分配信息。
在本申请的一些实施例中,基于前述方案,所述第二处理单元908还配置为:从指定数据库中获取数据提供节点的信息和数据接收节点的信息,所述指定数据库中包含第一列表和第二列表,所述第一列表用于存储所述数据提供节点的信息,所述第二列表用于存储所述数据接收节点的信息;通过将所述第二列表中的指定数据接收节点的信息移动至所述第一列表中,以将所述指定数据接收节点变更为数据提供节点。
在本申请的一些实施例中,基于前述方案,所述第二生成单元902配置为:在检测到云游戏的数据包发生更新时,生成所述任务分配信息;或者在到达设定的更新时间时,生成所述任务分配信息。
图10示出了适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
需要说明的是,图10示出的电子设备的计算机***1000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机***1000包括中央处理单元(Central Processing Unit,CPU)1001,其可以根据存储在只读存储器(Read-Only Memory,ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(Random Access Memory,RAM)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1003中,还存储有***操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(Input/Output,I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(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.根据权利要求1所述的数据同步方法,其特征在于,将所述数据同步任务至少发送给所述指定数据接收节点,包括:
将所述数据同步任务发送至任务发布订阅平台,以使所述指定数据接收节点通过监听所述任务发布订阅平台获取所述数据同步任务。
5.根据权利要求4所述的数据同步方法,其特征在于,所述数据同步方法还包括:
从所述任务发布订阅平台中获取数据提供节点的状态信息和数据接收节点的状态信息,所述状态信息用于表征是否处于在线状态;
将所述数据提供节点的状态信息和所述数据接收节点的状态信息返回给所述任务分发方。
6.根据权利要求4所述的数据同步方法,其特征在于,所述数据同步方法还包括:
生成待执行任务,所述待执行任务中包含有以下至少一种:任务类型信息、任务触发条件信息、任务执行目标信息、任务执行状态信息;
将所述待执行任务发送至所述任务发布订阅平台,以使所述数据提供节点和所述数据接收节点中的指定节点通过监听所述任务发布订阅平台获取所述待执行任务进行处理。
7.根据权利要求1所述的数据同步方法,其特征在于,所述数据同步方法还包括:
若检测到完成数据同步的节点数量达到设定数量,则调用完成数据同步的目标节点基于同步后的数据进行模拟运行;
抓取所述目标节点进行模拟运行时的云游戏界面;
若所述云游戏界面与设定的游戏界面相匹配,则基于完成数据同步的节点提供云游戏服务。
8.根据权利要求1至7中任一项所述的数据同步方法,其特征在于,所述数据提供节点和所述数据接收节点包括云游戏渲染服务器节点。
9.一种应用于云游戏的数据同步方法,其特征在于,包括:
生成任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;
将所述任务分配信息发送给任务管理组件,以使所述任务管理组件根据所述任务分配信息生成数据同步任务并发送给指定数据接收节点,所述数据同步任务用于指示所述指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;
接收所述任务管理组件返回的更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点;
在将所述指定数据接收节点变更为数据提供节点之后,若还存在数据接收节点,则再次生成所述任务分配信息。
10.根据权利要求9所述的数据同步方法,其特征在于,所述数据同步方法还包括:
从指定数据库中获取数据提供节点的信息和数据接收节点的信息,所述指定数据库中包含第一列表和第二列表,所述第一列表用于存储所述数据提供节点的信息,所述第二列表用于存储所述数据接收节点的信息;
通过将所述第二列表中的指定数据接收节点的信息移动至所述第一列表中,以将所述指定数据接收节点变更为数据提供节点。
11.根据权利要求9或10所述的数据同步方法,其特征在于,生成任务分配信息,包括:
在检测到云游戏的数据包发生更新时,生成所述任务分配信息;或者
在到达设定的更新时间时,生成所述任务分配信息。
12.一种应用于云游戏的数据同步装置,其特征在于,包括:
第一接收单元,配置为接收任务分发方发送的任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;
第一生成单元,配置为根据所述任务分配信息生成数据同步任务,所述数据同步任务用于指示指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;
第一发送单元,配置为将所述数据同步任务至少发送给所述指定数据接收节点,并获取所述数据同步任务的执行结果;
第一处理单元,配置为若所述执行结果表示所述指定数据接收节点对所述目标数据同步成功,则向所述任务分发方返回更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点,以使所述任务分发方根据更新后的信息再次发送所述任务分配信息。
13.一种应用于云游戏的数据同步装置,其特征在于,包括:
第二生成单元,配置为生成任务分配信息,所述任务分配信息中包含有用于进行云游戏更新的数据提供节点的信息和数据接收节点的信息;
第二发送单元,配置为将所述任务分配信息发送给任务管理组件,以使所述任务管理组件根据所述任务分配信息生成数据同步任务并发送给指定数据接收节点,所述数据同步任务用于指示所述指定数据接收节点从指定数据提供节点处同步目标数据,所述目标数据包括云游戏更新数据包;
第二接收单元,配置为接收所述任务管理组件返回的更新信息,所述更新信息用于指示将所述指定数据接收节点变更为数据提供节点;
第二处理单元,配置为在将所述指定数据接收节点变更为数据提供节点之后,若还存在数据接收节点,则再次生成所述任务分配信息。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的应用于云游戏的数据同步方法,或实现如权利要求9至11中任一项所述的应用于云游戏的数据同步方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至至8中任一项所述的应用于云游戏的数据同步方法,或实现如权利要求9至11中任一项所述的应用于云游戏的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110665749.8A CN113230661A (zh) | 2021-06-16 | 2021-06-16 | 数据同步方法、装置、计算机可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110665749.8A CN113230661A (zh) | 2021-06-16 | 2021-06-16 | 数据同步方法、装置、计算机可读介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113230661A true CN113230661A (zh) | 2021-08-10 |
Family
ID=77140012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110665749.8A Pending CN113230661A (zh) | 2021-06-16 | 2021-06-16 | 数据同步方法、装置、计算机可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113230661A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500571A (zh) * | 2022-02-16 | 2022-05-13 | 科来网络技术股份有限公司 | 任务同步方法、装置、计算机设备及存储介质 |
-
2021
- 2021-06-16 CN CN202110665749.8A patent/CN113230661A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500571A (zh) * | 2022-02-16 | 2022-05-13 | 科来网络技术股份有限公司 | 任务同步方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7112919B2 (ja) | スマート装置のタスク処理方法および装置 | |
JP2021103571A (ja) | エッジコンピューティングテスト方法、装置、機器及び読み取り可能な記憶媒体 | |
CN107018191B (zh) | 一种控制游戏的方法和装置 | |
CN111541913A (zh) | 一种拼接屏的视频播放方法、装置、计算机设备和介质 | |
CN111552550A (zh) | 一种基于图形处理器gpu资源的任务调度方法、设备及介质 | |
CN111159046A (zh) | 测试方法、装置、电子设备、***和存储介质 | |
CN111125057A (zh) | 一种业务请求的处理方法、装置及计算机*** | |
Yadav et al. | Adaptive GPU resource scheduling on virtualized servers in cloud gaming | |
CN112379963A (zh) | 远程应用窗口控制方法、装置及计算机设备 | |
CN111259066A (zh) | 服务器集群数据同步方法及装置 | |
CN113230661A (zh) | 数据同步方法、装置、计算机可读介质及电子设备 | |
CN113204425B (zh) | 供进程管理内部线程的方法、装置、电子设备及存储介质 | |
CN111258902B (zh) | 基于SockJS服务器的性能测试方法和性能测试*** | |
CN111506393B (zh) | 一种基于arm的虚拟化装置及其使用方法 | |
CN112044061A (zh) | 游戏画面处理方法、装置、电子设备以及存储介质 | |
CN113099247B (zh) | 虚拟资源处理方法、装置、服务器、存储介质及程序产品 | |
CN112138372B (zh) | 分布式***中的数据同步方法及相关设备 | |
CN112802478B (zh) | 混合云融合调度方法和装置 | |
CN114139731A (zh) | 纵向联邦学习建模优化方法、设备、介质及程序产品 | |
CN113368506A (zh) | 游戏组队控制方法、装置、电子设备及介质 | |
CN113117340A (zh) | 游戏运行方法、装置、存储介质及电子设备 | |
CN115129323B (zh) | 数据资源包的处理方法、装置、设备和存储介质 | |
CN113434384A (zh) | 一种压力测试方法和装置 | |
CN115065866B (zh) | 一种视频生成方法、装置、设备及存储介质 | |
CN113656268B (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: 40052214 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |