CN108261762B - 数据同步方法和装置、存储介质及电子装置 - Google Patents
数据同步方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN108261762B CN108261762B CN201711370712.2A CN201711370712A CN108261762B CN 108261762 B CN108261762 B CN 108261762B CN 201711370712 A CN201711370712 A CN 201711370712A CN 108261762 B CN108261762 B CN 108261762B
- Authority
- CN
- China
- Prior art keywords
- client
- virtual
- server
- engine
- behavioral parameters
- 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
Links
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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
-
- 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/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- 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
- A63F2300/00—Features 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/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/407—Data transfer via internet
-
- 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
- A63F2300/00—Features 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/50—Features 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/53—Features 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
-
- 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
- A63F2300/00—Features 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/50—Features 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/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种数据同步方法和装置、存储介质及电子装置。其中,该方法包括:获取第一客户端发送的数据处理请求,其中,数据处理请求中携带有第一客户端在执行虚拟任务的过程中所产生的虚拟行为参数;响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数,其中,第一引擎为与第一客户端中运行的第二引擎匹配的引擎;将处理后的虚拟行为参数同步发送给多个客户端。本发明解决了由于相关技术中无法实现完全同步所导致的数据处理效率较低的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据同步方法和装置、存储介质及电子装置。
背景技术
为了保证运行的流畅性,很多独立运作的单机游戏应运而生。然而,随着互联网技术的发展,如今的互联网已经可以满足游戏玩家在线实时完成游戏进程的要求,从而实现通过互联网的支持,达到与互联网上其他游戏玩家联机对战的效果。
目前,常用的方式是将联机所需要的功能模块抽取出来,并以插件的方式组装整合进游戏服务器中,达到游戏联机的效果。然而,由于只能对整合进游戏服务器中的各个插件进行单独调试和单独维护,这样将难以使游戏服务器的运行逻辑,与游戏第一客户端的运行逻辑保持完全一致。也就是说,由于游戏服务器与游戏客户端之间无法实现完全同步,从而导致数据处理效率较低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种数据同步方法和装置、存储介质及电子装置,以至少解决由于相关技术中无法实现完全同步所导致的数据处理效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种数据同步方法,包括:获取第一客户端发送的数据处理请求,其中,数据处理请求中携带有第一客户端在执行虚拟任务的过程中所产生的虚拟行为参数;响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数,其中,第一引擎为与第一客户端中运行的第二引擎匹配的引擎;将处理后的虚拟行为参数同步发送给多个客户端。
根据本发明实施例的另一方面,还提供了一种数据同步装置,包括:第一获取单元,用于获取第一客户端发送的数据处理请求,其中,数据处理请求中携带有第一客户端在执行虚拟任务的过程中所产生的虚拟行为参数;响应单元,用于响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数,其中,第一引擎为与第一客户端中运行的第二引擎匹配的引擎;同步单元,用于将处理后的虚拟行为参数同步发送给多个客户端。
根据本发明实施例的又一方面,还提供了一种存储介质,上述存储介质包括存储的计算机程序,其中,上述计算机程序运行时执行上述数据同步方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器通过上述计算机程序执行上述数据同步方法。
在本发明实施例中,获取第一客户端发送的数据处理请求,并响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数;并将处理后的虚拟行为参数同步发送给多个客户端,以达到对第一客户端上报的运行数据进行准确处理的目的,进而解决了由于相关技术中无法实现完全同步所导致的数据处理效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据同步方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的数据同步方法的流程图;
图3是根据本发明实施例的一种可选的数据同步方法的示意图;
图4是根据本发明实施例的另一种可选的数据同步方法的示意图;
图5是根据本发明实施例的又一种可选的数据同步方法的示意图;
图6是根据本发明实施例的又一种可选的数据同步方法的示意图;
图7是根据本发明实施例的又一种可选的数据同步方法的示意图;
图8是根据本发明实施例的又一种可选的数据同步方法的示意图;
图9是根据本发明实施例的又一种可选的数据同步方法的示意图;
图10是根据本发明实施例的一种可选的数据同步装置的结构框图;
图11是根据本发明实施例的一种可选的电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种数据同步方法,可选地,上述数据同步方法可以但不限于应用于如图1所示的应用环境中。服务器106获取第一客户端102发送的数据处理请求,其中,数据处理请求中携带有第一客户端102在执行虚拟任务的过程中所产生的虚拟行为参数;服务器106响应数据处理请求,通过服务器106中运行的第一引擎获取处理后的虚拟行为参数,其中,第一引擎为与第一客户端中运行的第二引擎匹配的引擎;服务器106将处理后的虚拟行为参数同步发送给多个客户端。
在本实施例中,当第一客户端向服务器发送数据处理请求时,服务器通过服务器中运行的第一引擎中启动服务器进程,接收第一客户端的虚拟行为参数,并在服务器进程中与第一客户端同步执行虚拟任务。由于相关技术中是将一部分功能模块抽取出来,并以插件的方式组合进服务器。而上述方法很难对整合进服务器的各个插件进行单独调试和单独维护。无法保持第一客户端与服务器的运行逻辑一致性。而由于第一客户端与服务器的运行逻辑不一致,此时很难对第一客户端上报的虚拟行为参数进行同步处理。而通过本实施例中的方法,通过使服务器同步运行第一客户端中运行的虚拟任务,以保证第一客户端与服务器的逻辑一致性。并通过将第一客户端上报的虚拟行为参数同步发送给多个客户端,从而实现了第一客户端与多个客户端数据同步的目的。可选地,在本实施例中,上述终端可以包括但不限于以下至少之一:手机、平板电脑、笔记本电脑等。上述网络可以包括但不限于无线网络,其中,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以包括但不限于以下至少之一:笔记本电脑、PC机及其他用于计算服务的设备。上述只是一种示例,本实施例对此不做任何限定。
根据本发明实施例,如图2所示,上述数据同步方法包括:
S202,获取第一客户端发送的数据处理请求,其中,数据处理请求中携带有第一客户端在执行虚拟任务的过程中所产生的虚拟行为参数;
S204,响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数,其中,第一引擎为与第一客户端中运行的第二引擎匹配的引擎;
S206,将处理后的虚拟行为参数同步发送给多个客户端。
可选地,在本实施例中,上述数据同步方法可以但不限于应用于游戏应用场景中。例如,该游戏应用可以但不限于为多人联机在线竞技游戏(Multiplayer Online BattleArena Games,简称MOBA)。也就是说,本实施例中提供的数据同步方法中,上述第一客户端可以但不限于为MOBA游戏应用中使用用户账号登录的第一客户端。换言之,本实施例中所提供的与服务器进行交互以完成数据处理过程的第一客户端,可以包括但不限于使用不同账号登录的多个第一客户端。上述多个第一客户端分别与服务器进行交互,通过共同执行虚拟任务,以达到多人联机游戏的目的。本实施例中对此不做任何限定。
以游戏的应用场景为例,如图3所示:当第一客户端302启动一局游戏时,向服务器304发送数据处理请求,服务器304收到数据处理请求后,向第一引擎306发送命令,由第一引擎306启动服务器进程,用于运行游戏。当服务器进程成功启动后,第一引擎306向服务器304发送进程成功启动的消息,并将进程标识信息发送给服务器304。服务器304将接收到的进程标识信息发送给第一客户端302,第一客户端302凭借进程标识信息与第一引擎306建立连接,并将自身游戏数据发送给第一引擎306。第一引擎306接收到第一客户端302发送的游戏数据后,在游戏服务器进程中运行游戏数据,与第一客户端的游戏数据保持一致,同步运行游戏。
需要说明的是,在本发明实施例中,由于在第一客户端运行游戏的同时,在第一引擎中也启动了服务器进程,而第一引擎为与第一客户端中运行的第二引擎匹配的引擎,因此第一引擎能够像第一客户端一样运行游戏。第一客户端将游戏数据发送给第一引擎,第一引擎通过在服务器进程中与第一客户端同步运行游戏,因此,保证了第一客户端与服务器进程中的游戏运行的一致性。由于第一客户端中运行的游戏与服务器进程中运行的游戏充分保持了一致,因此,服务器可以接收第一客户端的虚拟行为参数,并对上述虚拟行为参数进行处理,并将处理后的虚拟行为参数同步发送给多个客户端,从而保证了第一客户端与其他客户端同步进行游戏。
可选地,上述与第一客户端中运行的第二引擎匹配的引擎可以但不限于为与第二引擎具有相同或相似的功能模块,如去除第二引擎中的部分功能,从而得到服务器中运行的第一引擎。其中,上述被去除的部分功能可以但不限于为服务器中运行的第一引擎在运行虚拟任务过程中非必要的功能。其中,非必要的功能可以包括但不限于:播放控制功能。这里播放控制功能可以包括但不限于:图像显示控制和/或音频播放控制。例如,上述第二引擎可以为游戏引擎Unity,第一引擎可以为去除播放控制功能的Unity引擎。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述虚拟行为参数可以是游戏中的游戏数据,游戏数据中可以包括但不限于:游戏人物等级、游戏环境、游戏角色道具数据等,例如游戏人物的奔跑数据,跳跃数据,攻击行为数据,防御数据等。根据不同的游戏类型,虚拟行为参数代表不同的参数内容。对于具体虚拟行为参数的内容,本实施例在此不做限定。可选地,在本实施例中,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数包括:S1,通过第一引擎启动服务器进程对虚拟行为参数进行校验,得到处理后的虚拟行为参数,其中,服务器进程用于控制多个客户端共同执行虚拟任务,多个客户端包括第一客户端;S2,在虚拟行为参数的校验结果不满足校验条件的情况下,将虚拟行为参数调整为目标行为参数,其中,目标行为参数满足校验条件。
可选地,在本实施例中,可以预先设置校验条件,或者由服务器根据游戏进程自动配置校验条件。
可选地,当校验结果不满足校验条件的情况下,可以将虚拟行为参数调整为目标行为参数,其中,目标行为参数满足校验条件。可选地,可以根据参数阈值范围确定目标行为参数。例如,当服务器接收到的第一客户端发送的虚拟行为参数不满足校验条件时,服务器从虚拟行为参数的正常取值范围中随机抽取出一个虚拟行为参数发送给第一客户端,替换掉第一客户端发送的不正常的虚拟行为参数。或者取虚拟行为参数的正常取值范围的平均值,将虚拟行为参数的正常取值范围的平均值发送给第一客户端,替换掉第一客户端的不正常的虚拟行为参数。
上述只是一种可选的实例,在此不做具体限定。
可选地,在本实施例中,在响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数之前,还包括:S1,向第一客户端发送通知消息,其中,通知消息用于通知被启动的服务器进程的标识信息;S2,获取第一客户端根据服务器进程的标识信息所建立的通信链路,其中,通信链路用于在与第一客户端同步执行虚拟任务的过程中进行数据传输。
可选地,可以通过使用网络通信协议来完成第一客户端与服务器之间的数据传输。例如,无连接的传输层协议(User Datagram Protocol,简称Udp协议)等。
需要说明的是,在本实施例中,上述标识信息可以但不限于服务器预先为服务器进程所分配的标识信息,可选地,当第一客户端发送通知消息请求游戏时,服务器启动第一引擎中的服务器进程,可以为上述进程编号。
可选地,在本实施例中,服务器可以根据用户提前配置的编号规则为上述服务器进程编号,或者可以在需要为上述服务器进程编号时,自动生成编号规则。本实施例对此不做具体限定。
可选地,服务器可以预存服务器进程的标识信息,当服务器将某一服务器进程的标识信息发送给第一客户端后,第一客户端根据上述标识信息向服务器发送建立通信链路的请求。服务器在收到上述请求后,在第一客户端与第一客户端中的标识信息对应的服务器进程之间建立通信链路。
可选地,服务器可以采用数据库的方式预存上述服务器进程的标识信息。
例如,在服务器接收到第一客户端发送的游戏请求后,在第一引擎中启动服务器进程,并为该服务器进程编号,将编号存入数据库中,并将服务器进程编号发送给第一客户端。当第一客户端执行虚拟任务前,根据上述进程编号,与服务器中数据库中的进程编号配对,找到与上述进程编号匹配的服务器进程,并与匹配到的服务器进程建立通信链路。通信链路建立后,第一客户端与服务器进程之间可以实现数据传输。
可选地,在本实施例中,将校验结果不满足预定条件的虚拟行为参数,调整为目标行为参数,并发送给第一客户端包括:S1,获取为虚拟行为参数所对应的虚拟行为配置的参数阈值范围;S2,在虚拟行为参数超出参数阈值范围的情况下,确定虚拟行为参数的校验结果不满足预定条件,并将虚拟行为参数调整为目标行为参数,其中,目标行为参数根据参数阈值范围确定。
需要说明的是,上述为虚拟行为参数所对应的虚拟行为配置的参数阈值范围可以由用户根据实际情况进行配置,也可以由服务器根据游戏的类型自动配置。
例如,服务器在接收到第一客户端发送的游戏请求时,根据游戏请求所请求的游戏类型,根据预设的游戏类型与参数阈值范围的对应表,设定该游戏的虚拟行为参数所对应的虚拟行为的参数阈值范围。
可选地,上述虚拟行为参数所对应的虚拟行为的参数阈值范围可以为固定值,也可以根据游戏的推进进行更改。
例如,当游戏中的虚拟任务中的虚拟行为发生变化时,可以对应修改参数阈值范围,以免参数阈值范围与虚拟行为参数不匹配。
可选地,在本实施例中,还包括:S1,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之前,还包括:在服务器中加载与第一客户端所执行的虚拟任务相匹配的虚拟资源;S2,在在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之后,还包括:获取第一客户端所发送的用于结束虚拟任务的结束请求;响应结束请求释放虚拟资源,并重置服务器进程。
需要说明的是,服务器可以获取第一客户端发送的用于结束虚拟任务的结束请求,响应结束请求释放游戏资源,或者是在预设时间内,没有收到第一客户端发送的结束请求,则自动释放游戏资源,并重置服务器进程。
可选地,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数的过程中,还包括:S1,获取第一客户端所在网络的网络环境参数;在网络环境参数未达到第二阈值的情况下,通过状态模型获取虚拟任务的目标状态,其中,状态模型用于获取第一客户端在预定时间段之后的操作状态;向第一客户端发送目标状态。
例如,第二阈值为流畅运行该游戏任务的网络环境参数最小值。当进行游戏任务时,检测到当前网络环境参数小于第二阈值时,获取该游戏任务下一时刻的预测状态,并向第一客户端发送预测状态,以免第一客户端因为网络问题而卡顿。
需要说明的是,第二阈值也可以为用户预先设定的其他数值,在此不做具体限定。
可选地,在获取第一客户端发送的游戏请求之前,还包括:从第二引擎中至少去除播放控制功能,得到第一引擎,其中,播放控制功能用于在第一客户端上进行图像显示控制和/或音频播放控制;将第一引擎嵌入服务器。
需要说明的是,上述播放控制功能可以但不限于包括渲染功能和音效功能。
可选地,在本实施例中,服务器中的第一引擎至少包括数值校验功能,用于对第一客户端上报的运行数据进行强制校验。
通过本申请提供的实施例,根据在第一引擎中启动服务器进程,与第一客户端同步运行虚拟任务,实现了第一客户端与服务器的任务的完全同步,从而解决了相关技术中无法实现完全同步导致的难以对数据进行准确处理的问题。
作为一种可选的实施方案,通过服务器中运行的第一引擎获取处理后的虚拟行为参数包括:
S1,通过第一引擎启动服务器进程对虚拟行为参数进行校验,得到处理后的虚拟行为参数,其中,服务器进程用于控制多个客户端共同执行虚拟任务,多个客户端包括第一客户端;
S2,在虚拟行为参数的校验结果不满足校验条件的情况下,将虚拟行为参数调整为目标行为参数,其中,目标行为参数满足校验条件。
其中,在虚拟行为参数的校验结果不满足校验条件的情况下,将虚拟行为参数调整为目标行为参数包括:
S21,获取为与虚拟行为参数所属行为类型配置的参数阈值范围;
S22,在虚拟行为参数超出参数阈值范围的情况下,确定虚拟行为参数的校验结果不满足校验条件,并将虚拟行为参数调整为目标行为参数。
可选地,在本实施例中,上述虚拟行为参数可以是游戏中的游戏数据,游戏数据中可以包括但不限于:游戏人物等级、游戏环境、游戏角色道具数据等,例如游戏人物的奔跑数据,跳跃数据,攻击行为数据,防御数据等。根据不同的游戏类型,虚拟行为参数代表不同的参数内容。对于具体虚拟行为参数的内容,本实施例在此不做限定。
例如,以图4为例进行说明,当图4中的右侧人物做出踢击动作,击中左侧的人物时,第一引擎根据服务器进程中的右侧人物与左侧人物的属性、装备以及环境因素确定右侧人物所能踢出的伤害范围为15-20。而第一客户端发送给服务器进程的右侧人物踢出的伤害为17,在第一引擎计算的伤害范围之内,则不对该数值进行调整。如果,第一客户端发送的伤害为25,超过了第一引擎计算的伤害范围,则该伤害为异常伤害,是不合理的。因此,第一引擎将该伤害值调整到15-20之间,并发送给第一客户端。
通过本申请实施例,在第一客户端的虚拟行为参数不满足预定条件时,对虚拟行为参数值进行调整,调整为符合预定条件的目标行为参数,从而达到了对第一客户端上报的运行数据进行准确处理的目的,确保了第一客户端的数据正常,同时防止了用户使用插件或其他非常规手段对游戏数据进行修改,维护了游戏的平衡性。
作为一种可选的实施方案,在响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数之前,还包括:
S1,向第一客户端发送通知消息,其中,通知消息中携带有服务器进程的标识信息;
S2,获取第一客户端根据服务器进程的标识信息所建立的通信链路,其中,通信链路用于传输处理后的虚拟行为参数。
可选地,在本实施例中,可以但不限于使用UDP协议来进行处理后的虚拟行为参数的传输。例如,服务器根据UDP协议向客户端发送服务器进程的标识信息,客户端在收到服务器进程的标识信息后通过UDP协议连接服务器进程,并通过UDP协议向服务器进程发送虚拟行为参数,服务器进程将处理后的虚拟行为参数下发给客户端。
可选地,在本实施例中,上述标识信息可以包括但不限于:为服务器进程配置的IP地址与端口。在第一客户端获取到服务器进程的IP地址与端口后,可以以使用UDP协议的通信方式,通过上述IP地址与端口连接服务器中的服务器进程,从而实现数据同步过程。
继续结合图3进行说明,以横版联机游戏应用为例,当第一客户端向服务器发送数据处理请求之后,该数据处理请求用于请求启动一局游戏(也可称作一次虚拟任务),服务器将响应该数据处理请求通过第一引擎启动一局游戏的服务器进程,其中,该服务器进程用于拉起多个客户端共同执行该局游戏,这里多个客户端包括第一客户端。此外,服务器将把获得的该服务器进程的IP地址与端口发送给第一客户端。当第一客户端接收到上述服务器进程的IP地址与端口以后,会再向服务器发送建立通信链路的请求。从而实现连接服务器中对应的服务器进程,以实现数据的同步传输。
本实施例提供了一种可选的建立通信链路的方法,如图5所示:游戏客户端506、游戏客户端508、游戏客户端506向服务器502发送游戏请求时,服务器502在第一引擎504中启动服务器进程,并为服务器进程编号,为进程101、进程102、进程103,并将游戏客户端与服务器进程编号的对应关系预存到数据库中。当游戏客户端506接收到服务器返回的服务器进程的编号后,游戏客户端可以向第一引擎504发送请求,请求建立通信链路,第一引擎504在预存的数据库中找到服务器进程101,并在游戏客户端506与服务器进程101之间建立通信链路。
通过本申请实施例,通过在第一客户端与服务器进程之间建立通讯链路,可以将不满足预定条件的虚拟行为参数调整为目标行为参数并发送给第一客户端,保证了第一客户端与服务器的运行逻辑保持完全同步。
作为一种可选的实施方案,在获取第一客户端根据服务器进程的标识信息所建立的通信链路之后,还包括以下至少之一:
(1)通过通信链路接收在虚拟任务中第一客户端所发送的虚拟行为参数;
(2)通过通信链路向第一客户端发送标准行为参数;
(3)通过通信链路定期向第一客户端发送服务器执行虚拟任务的状态。
例如,继续以游戏应用为例。当进行一局游戏时,游戏第一客户端与服务器进程之间建立通信链路之后,第一客户端可以向服务器进程发送第一客户端的游戏数据。如图4所示,当进行一局格斗游戏时,图4中的左侧人物受到右侧人物的踢击,受到17点伤害,则第一客户端将左侧人物所受到的17点伤害通过数据通信链路传输给第一引擎。
或者,继续以图4进行说明,当图4中的左侧人物受到右侧人物的踢击时,第一引擎根据右侧人物与左侧人物的属性、装备、环境等因素做出本次踢击能够打出的伤害,将本次能够打出的伤害值通过数据通信链路传输给第一客户端。
或者,继续以图4进行说明,当因为图中右侧人物的踢击,产生两个人物的肢体碰撞后,第一引擎将肢体碰撞前后两个人物的状态发送给第一客户端。
通过本申请实施例,通过在数据链路中进行第一客户端与服务器进程之间的即时通信,不满足预定条件的虚拟行为参数调整为目标行为参数并发送给第一客户端,使得第一客户端与服务器的运行逻辑保持完全同步,从而实现了通过在第一客户端与服务器之间进行数据同步。
作为一种可选的实施方案,上述数据同步方法还包括:
S1,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之前,还包括:在服务器中加载与第一客户端所执行的虚拟任务相匹配的虚拟资源;
S2,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之后,还包括:获取第一客户端所发送的用于结束虚拟任务的结束请求;响应结束请求释放虚拟资源,并重置服务器进程。
例如,继续以游戏应用为例,在进行一局游戏之前,当第一客户端与服务器进程之间建立通信链路之后,第一客户端将第一客户端的游戏的游戏数据:例如游戏人物的等级、属性、装备类型、装备属性、游戏场景类型等内容发送给服务器进程。服务器进程在接收到第一客户端发送的游戏数据后,与第一客户端同步执行该游戏,保持第一客户端与服务器进程之间的游戏同步。
以及,第一客户端的游戏运行结束后,获取第一客户端发送的游戏结束的结束请求,服务器进程接收到第一客户端发送到的游戏结束的结束请求之后,结束在服务器进程中运行的游戏。将服务器进程中的游戏数据发送给第一客户端后,重置该服务器进程,将该服务器进程恢复到与第一客户端建立通信链路之前的状态,准备随时进行下一场游戏。
通过本申请实施例,通过在虚拟任务开始之前同步第一客户端与服务器进程的资源,实现了在第一客户端与服务器之间进行数据同步。在虚拟任务结束之后,通过重置服务器进程,释放了服务器进程资源,避免了资源的浪费。
作为一种可选的实施方案,重置服务器进程包括:
S1,获取服务器进程被使用的使用次数;
S2,在使用次数未达到第一阈值的情况下,变更服务器进程的进程状态为闲置状态;
S3,在使用次数达到第一阈值的情况下,关闭服务器进程。
例如,继续以游戏应用为例,当某一局游戏结束后,重置服务器进程。判断该服务器进程的使用次数,如果该服务器进程的使用次数超过了提前设定的阈值,则表示该服务器进程已经工作过足够多的次数,如果继续使用可能会产生错误,于是关闭这个服务器进程,由服务器启动新的服务器进程来运行游戏。若是服务器进程的使用次数没有超过阈值,则表示该服务器进程可以正常运行,则重置该服务器进程的状态为初始状态,并且将该服务器进程的使用次数加一。
通过本申请实施例,通过对服务器进程的状态进行判断,避免了服务器进程使用次数过多而产生问题,保护了游戏运行环境,提高了游戏运行的稳定性。
作为一种可选的实施方案,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数的过程中,还包括:
S1,监测第一客户端所在网络的网络环境参数;
S2,在网络环境参数未达到第二阈值的情况下,通过状态模型获取虚拟任务的目标状态,其中,状态模型用于获取第一客户端在预定时间段之后的操作状态;
S3,向第一客户端发送目标状态。
例如继续以游戏应用为例,如图6所示为一局游戏。在游戏过程中,状态模型实时地获取网络环境的环境参数,当在某一时刻的网络环境参数低于了预先设置的游戏流畅运行所需要的网络环境参数时,则服务器通过状态模型预测游戏的后续发展进程,例如,状态模型预测游戏中人物在下一时间段未跨过障碍物,左上角的生命值扣光,则此时人物死亡,游戏结束;服务器将游戏人物已经死亡的游戏运行状态发送给第一客户端。若状态模型预测游戏中人物在下一时间段跨过了障碍物,则游戏能够继续进行。服务器将正常运行的游戏状态发送给第一客户端。虽然第一客户端的网络环境参数低于了网络环境参数阈值,无法流畅运行游戏,但是第一客户端可以根据服务器发送的游戏运行状态继续预测游戏进程,并在第一客户端显示游戏状态。
通过本申请实施例,在网络环境参数低于第二阈值的情况下,第一客户端可以通过服务器发送的游戏数据继续预测游戏进程,从而保证了游戏的正常运行,避免了游戏卡顿的现象,提高了用户的使用体验。
作为一种可选的实施方案,在获取第一客户端发送的数据处理请求之前,还包括:
S1,从第二引擎中至少去除播放控制功能,得到第一引擎,其中,播放控制功能用于在第一客户端上进行图像显示控制和/或音频播放控制;
S2,将第一引擎嵌入服务器。
在本实施例中结合图7与图8进行说明。继续以游戏应用为例,再一局游戏中,图7为第一客户端所显示的游戏状态,图8为服务器运行过程中的服务器游戏状态。当图7中的左侧人物做出防御姿态,承受右侧人物所发出的四个远程攻击技能时,在图8服务器侧仅以一个元素表示左侧的人物,而用状态A表示人物正处于格挡状态。而右侧人物与右侧人物发出的远程技能同样是用元素的形式在服务器端进行表示。图7中的人物生命槽有颜色的区分,表示生命值的高低,而在图8的服务器侧,仅以数值表示当前人物的生命值。
由上述图7与图8所示出的,当第一客户端与服务器端同时进行游戏时,显示在第一客户端的游戏带有需要渲染出的特效或者图案,而在服务器侧的游戏中仅有基本元素的碰撞与数据的计算,并不会对游戏进行界面的渲染。
根据本申请实施例,通过从第二引擎中至少去除播放控制功能,得到第一引擎,从而减少了第一引擎中游戏的数据计算量,简化了计算的过程,提高了第一引擎的计算效率。
作为一种可选的实施方案,在将第一引擎嵌入服务器之后,还包括:
S1,在第二客户端显示第一引擎的调试界面。
例如,继续以游戏应用进行说明,如图9所示,图9为第二客户端显示的游戏,用户点击右侧的调试按钮时,游戏会暂停,并且在游戏界面上弹出一个窗口,在该窗口上显示由该游戏的代码,用户可以通过修改代码,对第一引擎进行调试。当调试完成后,用户再次点击调试按钮,该调试窗口会关闭,并且代码会保存。第一客户端上将会显示游戏界面,用户可以对游戏进行操作。
需要说明的是,图9中所示的代码仅仅是为了方便对本方案进行理解,并不够成对本方案的限定。此外,在本实施例中,上述第二客户端可以但不限于运行在与第一客户端所在终端不同的终端上,也可以但不限于运行在与第一客户端所在终端不同的终端上。也就是说,本实施例中提供的第一客户端所在终端可以显示游戏应用,也可以显示游戏的调试过程。本实施例中对此不做任何限定。
通过本申请实施例,通过在第二客户端中直观地显示对服务器的调试界面,以便于快速及时获取调试中出现的问题,从而达到提高调试效率的目的。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例的另一方面,还提供用于实施上述数据同步方法的数据同步装置。如图10所示,该装置包括:
(1)第一获取单元1002,用于获取第一客户端发送的数据处理请求,其中,数据处理请求中携带有第一客户端在执行虚拟任务的过程中所产生的虚拟行为参数;
(2)响应单元1004,用于响应数据处理请求,通过服务器中运行的第一引擎所启动的服务器进程对虚拟行为参数进行处理,其中,第一引擎为对第一客户端中运行的第二引擎裁剪后得到的引擎,服务器进程用于控制多个客户端共同执行虚拟任务,多个客户端包括第一客户端;
(3)同步单元1006,用于将处理后的虚拟行为参数同步发送给多个客户端。
可选地,在本实施例中,上述数据同步装置可以但不限于应用于游戏应用场景中。例如,该游戏应用可以但不限于为多人联机在线竞技游戏(Multiplayer Online BattleArena Games,简称MOBA)。也就是说,本实施例中提供的数据同步装置中,上述第一客户端可以但不限于为MOBA游戏应用中使用用户账号登录的第一客户端。换言之,本实施例中所提供的与服务器进行交互以完成数据处理过程的第一客户端,可以包括但不限于使用不同账号登录的多个第一客户端。上述多个第一客户端分别与服务器进行交互,通过共同执行虚拟任务,以达到多人联机游戏的目的。本实施例中对此不做任何限定。
以游戏的应用场景为例,如图3所示:当第一客户端302启动一局游戏时,向服务器304发送数据处理请求,服务器304收到数据处理请求后,向第一引擎306发送命令,由第一引擎306启动服务器进程,用于运行游戏。当服务器进程成功启动后,第一引擎306向服务器304发送进程成功启动的消息,并将进程标识信息发送给服务器304。服务器304将接收到的进程标识信息发送给第一客户端302,第一客户端302凭借进程标识信息与第一引擎306建立连接,并将自身游戏数据发送给第一引擎306。第一引擎306接收到第一客户端302发送的游戏数据后,在游戏服务器进程中运行游戏数据,与第一客户端的游戏数据保持一致,同步运行游戏。
需要说明的是,在本发明实施例中,由于在第一客户端运行游戏的同时,在第一引擎中也启动了服务器进程,而第一引擎为与第一客户端中运行的第二引擎匹配的引擎,因此第一引擎能够像第一客户端一样运行游戏。第一客户端将游戏数据发送给第一引擎,第一引擎通过在服务器进程中与第一客户端同步运行游戏,因此,保证了第一客户端与服务器进程中的游戏运行的一致性。由于第一客户端中运行的游戏与服务器进程中运行的游戏充分保持了一致,因此,服务器可以接收第一客户端的虚拟行为参数,并对上述虚拟行为参数进行处理,并将处理后的虚拟行为参数同步发送给多个客户端,从而保证了第一客户端与其他客户端同步进行游戏。
可选地,上述与第一客户端中运行的第二引擎匹配的引擎可以但不限于为与第二引擎具有相同或相似的功能模块,如去除第二引擎中的部分功能,从而得到服务器中运行的第一引擎。其中,上述被去除的部分功能可以但不限于为服务器中运行的第一引擎在运行虚拟任务过程中非必要的功能。其中,非必要的功能可以包括但不限于:播放控制功能。这里播放控制功能可以包括但不限于:图像显示控制和/或音频播放控制。例如,上述第二引擎可以为游戏引擎Unity,第一引擎可以为去除播放控制功能的Unity引擎。上述仅是一种示例,本实施例中对此不做任何限定。
可选地,在本实施例中,上述虚拟行为参数可以是游戏中的游戏数据,游戏数据中可以包括但不限于:游戏人物等级、游戏环境、游戏角色道具数据等,例如游戏人物的奔跑数据,跳跃数据,攻击行为数据,防御数据等。根据不同的游戏类型,虚拟行为参数代表不同的参数内容。对于具体虚拟行为参数的内容,本实施例在此不做限定。可选地,在本实施例中,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数包括:S1,通过第一引擎启动服务器进程对虚拟行为参数进行校验,得到处理后的虚拟行为参数,其中,服务器进程用于控制多个客户端共同执行虚拟任务,多个客户端包括第一客户端;S2,在虚拟行为参数的校验结果不满足校验条件的情况下,将虚拟行为参数调整为目标行为参数,其中,目标行为参数满足校验条件。
可选地,在本实施例中,可以预先设置校验条件,或者由服务器根据游戏进程自动配置校验条件。
可选地,当校验结果不满足校验条件的情况下,可以将虚拟行为参数调整为目标行为参数,其中,目标行为参数满足校验条件。可选地,可以根据参数阈值范围确定目标行为参数。例如,当服务器接收到的第一客户端发送的虚拟行为参数不满足校验条件时,服务器从虚拟行为参数的正常取值范围中随机抽取出一个虚拟行为参数发送给第一客户端,替换掉第一客户端发送的不正常的虚拟行为参数。或者取虚拟行为参数的正常取值范围的平均值,将虚拟行为参数的正常取值范围的平均值发送给第一客户端,替换掉第一客户端的不正常的虚拟行为参数。
上述只是一种可选的实例,在此不做具体限定。
可选地,在本实施例中,在响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数之前,还包括:S1,向第一客户端发送通知消息,其中,通知消息用于通知被启动的服务器进程的标识信息;S2,获取第一客户端根据服务器进程的标识信息所建立的通信链路,其中,通信链路用于在与第一客户端同步执行虚拟任务的过程中进行数据传输。
可选地,可以通过使用网络通信协议来完成第一客户端与服务器之间的数据传输。例如,无连接的传输层协议(User Datagram Protocol,简称Udp协议)等。
需要说明的是,在本实施例中,上述标识信息可以但不限于服务器预先为服务器进程所分配的标识信息,可选地,当第一客户端发送通知消息请求游戏时,服务器启动第一引擎中的服务器进程,可以为上述进程编号。
可选地,在本实施例中,服务器可以根据用户提前配置的编号规则为上述服务器进程编号,或者可以在需要为上述服务器进程编号时,自动生成编号规则。本实施例对此不做具体限定。
可选地,服务器可以预存服务器进程的标识信息,当服务器将某一服务器进程的标识信息发送给第一客户端后,第一客户端根据上述标识信息向服务器发送建立通信链路的请求。服务器在收到上述请求后,在第一客户端与第一客户端中的标识信息对应的服务器进程之间建立通信链路。
可选地,服务器可以采用数据库的方式预存上述服务器进程的标识信息。
例如,在服务器接收到第一客户端发送的游戏请求后,在第一引擎中启动服务器进程,并为该服务器进程编号,将编号存入数据库中,并将服务器进程编号发送给第一客户端。当第一客户端执行虚拟任务前,根据上述进程编号,与服务器中数据库中的进程编号配对,找到与上述进程编号匹配的服务器进程,并与匹配到的服务器进程建立通信链路。通信链路建立后,第一客户端与服务器进程之间可以实现数据传输。
可选地,在本实施例中,将校验结果不满足预定条件的虚拟行为参数,调整为目标行为参数,并发送给第一客户端包括:S1,获取为虚拟行为参数所对应的虚拟行为配置的参数阈值范围;S2,在虚拟行为参数超出参数阈值范围的情况下,确定虚拟行为参数的校验结果不满足预定条件,并将虚拟行为参数调整为目标行为参数,其中,目标行为参数根据参数阈值范围确定。
需要说明的是,上述为虚拟行为参数所对应的虚拟行为配置的参数阈值范围可以由用户根据实际情况进行配置,也可以由服务器根据游戏的类型自动配置。
例如,服务器在接收到第一客户端发送的游戏请求时,根据游戏请求所请求的游戏类型,根据预设的游戏类型与参数阈值范围的对应表,设定该游戏的虚拟行为参数所对应的虚拟行为的参数阈值范围。
可选地,上述虚拟行为参数所对应的虚拟行为的参数阈值范围可以为固定值,也可以根据游戏的推进进行更改。
例如,当游戏中的虚拟任务中的虚拟行为发生变化时,可以对应修改参数阈值范围,以免参数阈值范围与虚拟行为参数不匹配。
可选地,在本实施例中,还包括:S1,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之前,还包括:在服务器中加载与第一客户端所执行的虚拟任务相匹配的虚拟资源;S2,在在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之后,还包括:获取第一客户端所发送的用于结束虚拟任务的结束请求;响应结束请求释放虚拟资源,并重置服务器进程。
需要说明的是,服务器可以获取第一客户端发送的用于结束虚拟任务的结束请求,响应结束请求释放游戏资源,或者是在预设时间内,没有收到第一客户端发送的结束请求,则自动释放游戏资源,并重置服务器进程。
可选地,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数的过程中,还包括:S1,获取第一客户端所在网络的网络环境参数;在网络环境参数未达到第二阈值的情况下,通过状态模型获取虚拟任务的目标状态,其中,状态模型用于获取第一客户端在预定时间段之后的操作状态;向第一客户端发送目标状态。
例如,第二阈值为流畅运行该游戏任务的网络环境参数最小值。当进行游戏任务时,检测到当前网络环境参数小于第二阈值时,获取该游戏任务下一时刻的预测状态,并向第一客户端发送预测状态,以免第一客户端因为网络问题而卡顿。
需要说明的是,第二阈值也可以为用户预先设定的其他数值,在此不做具体限定。
可选地,在获取第一客户端发送的游戏请求之前,还包括:从第二引擎中至少去除播放控制功能,得到第一引擎,其中,播放控制功能用于在第一客户端上进行图像显示控制和/或音频播放控制;将第一引擎嵌入服务器。
需要说明的是,上述播放控制功能可以但不限于包括渲染功能和音效功能。
可选地,在本实施例中,服务器中的第一引擎至少包括数值校验功能,用于对第一客户端上报的运行数据进行强制校验。
通过本申请提供的实施例,根据在第一引擎中启动服务器进程,与第一客户端同步运行虚拟任务,实现了第一客户端与服务器的任务的完全同步,从而解决了相关技术中无法实现完全同步导致的难以对数据进行准确处理的问题。
作为一种可选的实施方案,响应单元还包括:
(1)校验模块,用于通过第一引擎启动服务器进程对虚拟行为参数进行校验,得到处理后的虚拟行为参数,其中,服务器进程用于控制多个客户端共同执行虚拟任务,多个客户端包括第一客户端;
(2)调整模块,用于在虚拟行为参数的校验结果不满足校验条件的情况下,将虚拟行为参数调整为目标行为参数,其中,目标行为参数满足校验条件。
其中,调整模块还包括:
(1)获取子模块,用于获取为与虚拟行为参数所属行为类型配置的参数阈值范围;
(2)调整子模块,用于在虚拟行为参数超出参数阈值范围的情况下,确定虚拟行为参数的校验结果不满足校验条件,并将虚拟行为参数调整为目标行为参数。
可选地,在本实施例中,上述虚拟行为参数可以是游戏中的游戏数据,游戏数据中可以包括但不限于:游戏人物等级、游戏环境、游戏角色道具数据等,例如游戏人物的奔跑数据,跳跃数据,攻击行为数据,防御数据等。根据不同的游戏类型,虚拟行为参数代表不同的参数内容。对于具体虚拟行为参数的内容,本实施例在此不做限定。
例如,以图4为例进行说明,当图4中的右侧人物做出踢击动作,击中左侧的人物时,第一引擎根据服务器进程中的右侧人物与左侧人物的属性、装备以及环境因素确定右侧人物所能踢出的伤害范围为15-20。而第一客户端发送给服务器进程的右侧人物踢出的伤害为17,在第一引擎计算的伤害范围之内,则不对该数值进行调整。如果,第一客户端发送的伤害为25,超过了第一引擎计算的伤害范围,则该伤害为异常伤害,是不合理的。因此,第一引擎将该伤害值调整到15-20之间,并发送给第一客户端。
通过本申请实施例,在第一客户端的虚拟行为参数不满足预定条件时,对虚拟行为参数值进行调整,调整为符合预定条件的目标行为参数,从而达到了对第一客户端上报的运行数据进行准确处理的目的,确保了第一客户端的数据正常,同时防止了用户使用插件或其他非常规手段对游戏数据进行修改,维护了游戏的平衡性。
作为一种可选的实施方案,数据同步装置还包括:
(1)发送单元,用于向第一客户端发送通知消息,其中,通知消息中携带有启动的服务器进程的标识信息;
(2)第二获取单元,用于获取第一客户端根据服务器进程的标识信息所建立的通信链路,其中,通信链路用于传输处理后的虚拟行为参数。
可选地,在本实施例中,可以但不限于使用UDP协议来进行处理后的虚拟行为参数的传输。例如,服务器根据UDP协议向客户端发送服务器进程的标识信息,客户端在收到服务器进程的标识信息后通过UDP协议连接服务器进程,并通过UDP协议向服务器进程发送虚拟行为参数,服务器进程将处理后的虚拟行为参数下发给客户端。
可选地,在本实施例中,上述标识信息可以包括但不限于:为服务器进程配置的IP地址与端口。在第一客户端获取到服务器进程的IP地址与端口后,可以以使用UDP协议的通信方式,通过上述IP地址与端口连接服务器中的服务器进程,从而实现数据同步过程。
继续结合图3进行说明,以横版联机游戏应用为例,当第一客户端向服务器发送数据处理请求之后,该数据处理请求用于请求启动一局游戏(也可称作一次虚拟任务),服务器将响应该数据处理请求通过第一引擎启动一局游戏的服务器进程,其中,该服务器进程用于拉起多个客户端共同执行该局游戏,这里多个客户端包括第一客户端。此外,服务器将把获得的该服务器进程的IP地址与端口发送给第一客户端。当第一客户端接收到上述服务器进程的IP地址与端口以后,会再向服务器发送建立通信链路的请求。从而实现连接服务器中对应的服务器进程,以实现数据的同步传输。
本实施例提供了一种可选的建立通信链路的方法,如图5所示:游戏客户端506、游戏客户端508、游戏客户端506向服务器502发送游戏请求时,服务器502在第一引擎504中启动服务器进程,并为服务器进程编号,为进程101、进程102、进程103,并将游戏客户端与服务器进程编号的对应关系预存到数据库中。当游戏客户端506接收到服务器返回的服务器进程的编号后,游戏客户端可以向第一引擎504发送请求,请求建立通信链路,第一引擎504在预存的数据库中找到服务器进程101,并在游戏客户端506与服务器进程101之间建立通信链路。
通过本申请实施例,通过在第一客户端与服务器进程之间建立通讯链路,可以将不满足预定条件的虚拟行为参数调整为目标行为参数并发送给第一客户端,保证了第一客户端与服务器的运行逻辑保持完全同步。
作为一种可选的实施方案,第二获取单元包括以下至少之一:
(1)第一发送模块,用于通过通信链路接收第一客户端所发送的虚拟行为参数;
(2)第二发送模块,用于通过通信链路向第一客户端发送与虚拟行为参数所属行为类型匹配的标准行为参数;
(3)第三发送模块,用于通过通信链路定期向第一客户端发送服务器在虚拟任务中的操作状态。
例如,继续以游戏应用为例。当进行一局游戏时,游戏第一客户端与服务器进程之间建立通信链路之后,第一客户端可以向服务器进程发送第一客户端的游戏数据。如图4所示,当进行一局格斗游戏时,图4中的左侧人物受到右侧人物的踢击,受到17点伤害,则第一客户端将左侧人物所受到的17点伤害通过数据通信链路传输给第一引擎。
或者,继续以图4进行说明,当图4中的左侧人物受到右侧人物的踢击时,第一引擎根据右侧人物与左侧人物的属性、装备、环境等因素做出本次踢击能够打出的伤害,将本次能够打出的伤害值通过数据通信链路传输给第一客户端。
或者,继续以图4进行说明,当因为图中右侧人物的踢击,产生两个人物的肢体碰撞后,第一引擎将肢体碰撞前后两个人物的状态发送给第一客户端。
通过本申请实施例,通过在数据链路中进行第一客户端与服务器进程之间的即时通信,不满足预定条件的虚拟行为参数调整为目标行为参数并发送给第一客户端,使得第一客户端与服务器的运行逻辑保持完全同步,从而实现了通过在第一客户端与服务器之间进行数据同步。
作为一种可选的实施方案,上述数据同步装置还包括:
(1)加载单元,用于在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之前,还包括:在服务器中加载与第一客户端所执行的虚拟任务相匹配的虚拟资源;
(2)第三获取单元,用于在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之后,还包括:获取第一客户端所发送的用于结束虚拟任务的结束请求;响应结束请求释放虚拟资源,并重置服务器进程。
例如,继续以游戏应用为例,在进行一局游戏之前,当第一客户端与服务器进程之间建立通信链路之后,第一客户端将第一客户端的游戏的游戏数据:例如游戏人物的等级、属性、装备类型、装备属性、游戏场景类型等内容发送给服务器进程。服务器进程在接收到第一客户端发送的游戏数据后,与第一客户端同步执行该游戏,保持第一客户端与服务器进程之间的游戏同步。
以及,第一客户端的游戏运行结束后,获取第一客户端发送的游戏结束的结束请求,服务器进程接收到第一客户端发送到的游戏结束的结束请求之后,结束在服务器进程中运行的游戏。将服务器进程中的游戏数据发送给第一客户端后,重置该服务器进程,将该服务器进程恢复到与第一客户端建立通信链路之前的状态,准备随时进行下一场游戏。
通过本申请实施例,通过在虚拟任务开始之前同步第一客户端与服务器进程的资源,实现了在第一客户端与服务器之间进行数据同步。在虚拟任务结束之后,通过重置服务器进程,释放了服务器进程资源,避免了资源的浪费。
作为一种可选的实施方案,第三获取单元还包括:
(1)获取模块,用于获取服务器进程被使用的使用次数;
(2)变更模块,用于在使用次数未达到第一阈值的情况下,变更服务器进程的进程状态为闲置状态;
(3)关闭模块,用于在使用次数达到第一阈值的情况下,关闭服务器进程。
例如,继续以游戏应用为例,当某一局游戏结束后,重置服务器进程。判断该服务器进程的使用次数,如果该服务器进程的使用次数超过了提前设定的阈值,则表示该服务器进程已经工作过足够多的次数,如果继续使用可能会产生错误,于是关闭这个服务器进程,由服务器启动新的服务器进程来运行游戏。若是服务器进程的使用次数没有超过阈值,则表示该服务器进程可以正常运行,则重置该服务器进程的状态为初始状态,并且将该服务器进程的使用次数加一。
通过本申请实施例,通过对服务器进程的状态进行判断,避免了服务器进程使用次数过多而产生问题,保护了游戏运行环境,提高了游戏运行的稳定性。
作为一种可选的实施方案,响应单元还包括:
(1)检测模块,用于监测第一客户端所在网络的网络环境参数;
(2)第二获取模块,用于在网络环境参数未达到第二阈值的情况下,通过状态模型获取虚拟任务的目标状态,其中,状态模型用于获取第一客户端在预定时间段之后的操作状态;
(3)第四发送模块,用于向第一客户端发送目标状态。
例如继续以游戏应用为例,如图6所示为一局游戏。在游戏过程中,状态模型实时地获取网络环境的环境参数,当在某一时刻的网络环境参数低于了预先设置的游戏流畅运行所需要的网络环境参数时,则服务器通过状态模型预测游戏的后续发展进程,例如,状态模型预测游戏中人物在下一时间段未跨过障碍物,左上角的生命值扣光,则此时人物死亡,游戏结束;服务器将游戏人物已经死亡的游戏运行状态发送给第一客户端。若状态模型预测游戏中人物在下一时间段跨过了障碍物,则游戏能够继续进行。服务器将正常运行的游戏状态发送给第一客户端。虽然第一客户端的网络环境参数低于了网络环境参数阈值,无法流畅运行游戏,但是第一客户端可以根据服务器发送的游戏运行状态继续预测游戏进程,并在第一客户端显示游戏状态。
通过本申请实施例,在网络环境参数低于第二阈值的情况下,第一客户端可以通过服务器发送的游戏数据继续预测游戏进程,从而保证了游戏的正常运行,避免了游戏卡顿的现象,提高了用户的使用体验。
作为一种可选的实施方案,数据同步装置还包括:
(1)处理单元,用于从第二引擎中至少去除播放控制功能,得到第一引擎,其中,播放控制功能用于在第一客户端上进行图像显示控制和/或音频播放控制;
(2)嵌入单元,用于将第一引擎嵌入服务器
在本实施例中结合图7与图8进行说明。继续以游戏应用为例,再一局游戏中,图7为第一客户端所显示的游戏状态,图8为服务器运行过程中的服务器游戏状态。当图7中的左侧人物做出防御姿态,承受右侧人物所发出的四个远程攻击技能时,在图8服务器侧仅以一个元素表示左侧的人物,而用状态A表示人物正处于格挡状态。而右侧人物与右侧人物发出的远程技能同样是用元素的形式在服务器端进行表示。图7中的人物生命槽有颜色的区分,表示生命值的高低,而在图8的服务器侧,仅以数值表示当前人物的生命值。
由上述图7与图8所示出的,当第一客户端与服务器端同时进行游戏时,显示在第一客户端的游戏带有需要渲染出的特效或者图案,而在服务器侧的游戏中仅有基本元素的碰撞与数据的计算,并不会对游戏进行界面的渲染。
根据本申请实施例,通过从第二引擎中至少裁剪掉播放控制功能,得到第一引擎,从而减少了第一引擎中游戏的数据计算量,简化了计算的过程,提高了第一引擎的计算效率。
作为一种可选的实施方案,嵌入单元还包括:
(1)显示模块,用于在第二客户端显示第一引擎的调试界面。
例如,继续以横版联机游戏应用进行说明,如图9所示,图9为第二客户端显示的游戏,用户点击右侧的调试按钮时,游戏会暂停,并且在游戏界面上弹出一个窗口,在该窗口上显示由该游戏的代码,用户可以通过修改代码,对第一引擎进行调试。当调试完成后,用户再次点击调试按钮,该调试窗口会关闭,并且代码会保存。第一客户端上将会显示游戏界面,用户可以对游戏进行操作。
需要说明的是,图9中所示的代码仅仅是为了方便对本方案进行理解,并不够成对本方案的限定。此外,在本实施例中,上述第二客户端可以但不限于运行在与第一客户端所在终端不同的终端上,也可以但不限于运行在与第一客户端所在终端不同的终端上。也就是说,本实施例中提供的第一客户端所在终端可以显示游戏应用,也可以显示游戏的调试过程。本实施例中对此不做任何限定。
通过本申请实施例,通过在第二客户端中直观地显示对服务器的调试界面,以便于快速及时获取调试中出现的问题,从而达到提高调试效率的目的。
在本发明实施例中,还提供了还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,获取第一客户端发送的数据处理请求,其中,数据处理请求中携带有第一客户端在执行虚拟任务的过程中所产生的虚拟行为参数;
S2,响应数据处理请求,通过服务器中运行的第一引擎获取处理后的虚拟行为参数,其中,第一引擎为与第一客户端中运行的第二引擎匹配的引擎;
S3,将处理后的虚拟行为参数同步发送给多个客户端。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,通过第一引擎启动服务器进程对虚拟行为参数进行校验,得到处理后的虚拟行为参数,其中,服务器进程用于控制多个客户端共同执行虚拟任务,多个客户端包括第一客户端;
S2,在虚拟行为参数的校验结果不满足校验条件的情况下,将虚拟行为参数调整为目标行为参数,其中,目标行为参数满足校验条件。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,向第一客户端发送通知消息,其中,通知消息中携带有服务器进程的标识信息;
S2,获取第一客户端根据服务器进程的标识信息所建立的通信链路,其中,通信链路用于传输处理后的虚拟行为参数。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
(1)通过通信链路接收第一客户端所发送的虚拟行为参数;
(2)通过通信链路向第一客户端发送与虚拟行为参数所属行为类型匹配的标准行为参数;
(3)通过通信链路定期向第一客户端发送服务器在虚拟任务中的操作状态。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,获取为与虚拟行为参数所属行为类型配置的参数阈值范围;
S2,在虚拟行为参数超出参数阈值范围的情况下,确定虚拟行为参数的校验结果不满足校验条件,并将虚拟行为参数调整为目标行为参数。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之前,还包括:在服务器中加载与第一客户端所执行的虚拟任务相匹配的虚拟资源;
S2,在通过服务器中运行的第一引擎获取处理后的虚拟行为参数之后,还包括:获取第一客户端所发送的用于结束虚拟任务的结束请求;响应结束请求释放虚拟资源,并重置服务器进程。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,获取服务器进程被使用的使用次数;
S2,在使用次数未达到第一阈值的情况下,变更服务器进程的进程状态为闲置状态;
S3,在使用次数达到第一阈值的情况下,关闭服务器进程。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,监测第一客户端所在网络的网络环境参数;
S2,在网络环境参数未达到第二阈值的情况下,通过状态模型获取虚拟任务的目标状态,其中,状态模型用于获取第一客户端在预定时间段之后的操作状态;
S3,向第一客户端发送目标状态。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,从第二引擎中至少去除播放控制功能,得到第一引擎,其中,播放控制功能用于在第一客户端上进行图像显示控制和/或音频播放控制;
S2,将第一引擎嵌入服务器。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的计算机程序:
S1,在第二客户端显示第一引擎的调试界面。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
根据本发明实施例的又一方面,还提供了一种用于实施上述数据同步方法的电子装置,如图11所示,该电子装置包括:
1)显示器1102,2)传感器1104,3)处理器1106,4)通讯接口1108,5)存储器1110,6)用户接口1112。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
其中,存储器1110可用于存储软件程序以及模块,如本发明实施例中的数据同步方法和装置对应的程序指令/模块,处理器1106通过运行存储在存储器1110内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据同步方法。存储器1110可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1110可进一步包括相对于处理器1106远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的通讯接口1108用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,通讯接口1108包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,通讯接口1108为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (18)
1.一种数据同步方法,其特征在于,包括:
获取第一客户端发送的数据处理请求,其中,所述数据处理请求中携带有所述第一客户端在执行虚拟任务的过程中所产生的虚拟行为参数;
响应所述数据处理请求,通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数,其中,所述第一引擎为与所述第一客户端中运行的第二引擎匹配的引擎;
将处理后的所述虚拟行为参数同步发送给多个客户端;
其中,所述通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数包括:通过所述第一引擎启动服务器进程对所述虚拟行为参数进行校验,得到处理后的所述虚拟行为参数,其中,所述服务器进程用于控制多个客户端共同执行所述虚拟任务,所述多个客户端包括所述第一客户端;在所述虚拟行为参数的校验结果不满足校验条件的情况下,将所述虚拟行为参数调整为目标行为参数,其中,所述目标行为参数满足所述校验条件;
其中,在所述获取第一客户端发送的数据处理请求之前,还包括:从所述第二引擎中至少去除播放控制功能,得到所述第一引擎,其中,所述播放控制功能用于在所述第一客户端上进行图像显示控制和/或音频播放控制;将所述第一引擎嵌入所述服务器。
2.根据权利要求1所述的方法,其特征在于,在响应所述数据处理请求,通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数之前,还包括:
向所述第一客户端发送通知消息,其中,所述通知消息中携带有所述服务器进程的标识信息;
获取所述第一客户端根据所述服务器进程的所述标识信息所建立的通信链路,其中,所述通信链路用于传输处理后的所述虚拟行为参数。
3.根据权利要求2所述的方法,其特征在于,在所述获取所述第一客户端根据所述服务器进程的所述标识信息所建立的通信链路之后,还包括以下至少之一:
通过所述通信链路接收所述第一客户端所发送的所述虚拟行为参数;
通过所述通信链路向所述第一客户端发送与所述虚拟行为参数所属行为类型匹配的标准行为参数;
通过所述通信链路定期向所述第一客户端发送所述服务器在所述虚拟任务中的操作状态。
4.根据权利要求1所述的方法,其特征在于,所述在所述虚拟行为参数的校验结果不满足校验条件的情况下,将所述虚拟行为参数调整为目标行为参数包括:
获取为与所述虚拟行为参数所属行为类型配置的参数阈值范围;
在所述虚拟行为参数超出所述参数阈值范围的情况下,确定所述虚拟行为参数的所述校验结果不满足所述校验条件,并将所述虚拟行为参数调整为所述目标行为参数。
5.根据权利要求1所述的方法,其特征在于,
在所述通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数之前,还包括:在所述服务器中加载与所述第一客户端所执行的所述虚拟任务相匹配的虚拟资源;
在所述通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数之后,还包括:获取所述第一客户端所发送的用于结束所述虚拟任务的结束请求;响应所述结束请求释放所述虚拟资源,并重置所述服务器进程。
6.根据权利要求5所述的方法,其特征在于,所述重置所述服务器进程包括:
获取所述服务器进程被使用的使用次数;
在所述使用次数未达到第一阈值的情况下,变更所述服务器进程的进程状态为闲置状态;
在所述使用次数达到所述第一阈值的情况下,关闭所述服务器进程。
7.根据权利要求1所述的方法,其特征在于,在所述通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数的过程中,还包括:
获取所述第一客户端所在网络的网络环境参数;
在所述网络环境参数未达到第二阈值的情况下,通过状态模型获取所述虚拟任务的目标状态,其中,所述状态模型用于获取所述第一客户端在预定时间段之后的操作状态;
向所述第一客户端发送所述目标状态。
8.根据权利要求1所述的方法,其特征在于,在将所述第一引擎嵌入所述服务器之后,还包括:
在第二客户端显示所述第一引擎的调试界面。
9.一种数据同步装置,其特征在于,包括:
第一获取单元,用于获取第一客户端发送的数据处理请求,其中,所述数据处理请求中携带有所述第一客户端在执行虚拟任务的过程中所产生的虚拟行为参数;
响应单元,用于响应所述数据处理请求,通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数,其中,所述第一引擎为与所述第一客户端中运行的第二引擎匹配的引擎;
同步单元,用于将处理后的所述虚拟行为参数同步发送给多个客户端;
其中,所述响应单元还包括:校验模块,用于通过所述第一引擎启动服务器进程对所述虚拟行为参数进行校验,得到处理后的所述虚拟行为参数,其中,所述服务器进程用于控制多个客户端共同执行所述虚拟任务,所述多个客户端包括所述第一客户端;调整模块,用于在所述虚拟行为参数的校验结果不满足校验条件的情况下,将所述虚拟行为参数调整为目标行为参数,其中,所述目标行为参数满足所述校验条件;
其中,所述数据同步装置还包括:处理单元,用于从所述第二引擎中至少去除播放控制功能,得到所述第一引擎,其中,所述播放控制功能用于在所述第一客户端上进行图像显示控制和/或音频播放控制;嵌入单元,用于将所述第一引擎嵌入所述服务器。
10.根据权利要求9所述的装置,其特征在于,所述数据同步装置还包括:
发送单元,用于向所述第一客户端发送通知消息,其中,所述通知消息中携带有服务器进程的标识信息;
第二获取单元,用于获取所述第一客户端根据所述服务器进程的所述标识信息所建立的通信链路,其中,所述通信链路用于传输处理后的所述虚拟行为参数。
11.根据权利要求10所述的装置,其特征在于,所述第二获取单元包括以下至少之一:
第一发送模块,用于通过所述通信链路接收所述第一客户端所发送的所述虚拟行为参数;
第二发送模块,用于通过所述通信链路向所述第一客户端发送与所述虚拟行为参数所属行为类型匹配的标准行为参数;
第三发送模块,用于通过所述通信链路定期向所述第一客户端发送所述服务器在所述虚拟任务中的操作状态。
12.根据权利要求9所述的装置,其特征在于,所述调整模块还包括:
获取子模块,用于获取为与所述虚拟行为参数所属行为类型配置的参数阈值范围;
调整子模块,用于在所述虚拟行为参数超出所述参数阈值范围的情况下,确定所述虚拟行为参数的所述校验结果不满足所述校验条件,并将所述虚拟行为参数调整为所述目标行为参数。
13.根据权利要求9所述的装置,其特征在于,还包括:
加载单元,用于在所述通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数之前,还包括:在所述服务器中加载与所述第一客户端所执行的所述虚拟任务相匹配的虚拟资源;
第三获取单元,用于在所述通过服务器中运行的第一引擎获取处理后的所述虚拟行为参数之后,还包括:获取所述第一客户端所发送的用于结束所述虚拟任务的结束请求;响应所述结束请求释放所述虚拟资源,并重置所述服务器进程。
14.根据权利要求13所述的装置,其特征在于,所述第三获取单元还包括:
获取模块,用于获取所述服务器进程被使用的使用次数;
变更模块,用于在所述使用次数未达到第一阈值的情况下,变更所述服务器进程的进程状态为闲置状态;
关闭模块,用于在所述使用次数达到所述第一阈值的情况下,关闭所述服务器进程。
15.根据权利要求9所述的装置,其特征在于,所述响应单元还包括:
第二获取模块,用于获取所述第一客户端所在网络的网络环境参数;
第三获取模块,用于在所述网络环境参数未达到第二阈值的情况下,通过状态模型获取所述虚拟任务的目标状态,其中,所述状态模型用于获取所述第一客户端在预定时间段之后的操作状态;
第四发送模块,用于向所述第一客户端发送所述目标状态。
16.根据权利要求9所述的装置,其特征在于,所述嵌入单元还包括:
显示模块,用于在第二客户端显示所述第一引擎的调试界面。
17.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。
18.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711370712.2A CN108261762B (zh) | 2017-12-18 | 2017-12-18 | 数据同步方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711370712.2A CN108261762B (zh) | 2017-12-18 | 2017-12-18 | 数据同步方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108261762A CN108261762A (zh) | 2018-07-10 |
CN108261762B true CN108261762B (zh) | 2019-09-20 |
Family
ID=62772172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711370712.2A Active CN108261762B (zh) | 2017-12-18 | 2017-12-18 | 数据同步方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108261762B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110947177B (zh) * | 2019-11-14 | 2023-10-17 | 咪咕互动娱乐有限公司 | 云游戏教学互动的方法、系统、设备及其计算机可读存储介质 |
CN111125127B (zh) * | 2019-12-06 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 数据同步方法和装置、存储介质及电子装置 |
CN111309445B (zh) * | 2020-03-09 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 程序运行方法和装置及存储介质 |
CN116208623B (zh) * | 2023-05-04 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 信息同步方法、装置、引擎服务器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130908A (zh) * | 2011-01-30 | 2011-07-20 | 上海盈游网络技术有限公司 | 延时敏感型网络游戏中异步计算同步回朔方法及系统 |
CN104009969A (zh) * | 2013-09-17 | 2014-08-27 | 宁波公众信息产业有限公司 | 一种网络游戏系统的通讯方法 |
CN105214310A (zh) * | 2015-10-13 | 2016-01-06 | 网易(杭州)网络有限公司 | 一种游戏战斗校验方法、系统及服务端 |
CN105376244A (zh) * | 2015-11-27 | 2016-03-02 | 深圳市望尘科技有限公司 | 一种以基于云端服务器进行人工智能和物理仿真计算的网络游戏实现方法 |
-
2017
- 2017-12-18 CN CN201711370712.2A patent/CN108261762B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130908A (zh) * | 2011-01-30 | 2011-07-20 | 上海盈游网络技术有限公司 | 延时敏感型网络游戏中异步计算同步回朔方法及系统 |
CN104009969A (zh) * | 2013-09-17 | 2014-08-27 | 宁波公众信息产业有限公司 | 一种网络游戏系统的通讯方法 |
CN105214310A (zh) * | 2015-10-13 | 2016-01-06 | 网易(杭州)网络有限公司 | 一种游戏战斗校验方法、系统及服务端 |
CN105376244A (zh) * | 2015-11-27 | 2016-03-02 | 深圳市望尘科技有限公司 | 一种以基于云端服务器进行人工智能和物理仿真计算的网络游戏实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108261762A (zh) | 2018-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108261762B (zh) | 数据同步方法和装置、存储介质及电子装置 | |
CN107423015B (zh) | 游戏内容的同步显示方法和装置 | |
CN107302707A (zh) | 场景动画的播放方法、装置及系统 | |
WO2020106650A1 (en) | Distributed ledger tracking of event data | |
CN107404514A (zh) | 数据处理方法和装置 | |
US20200384364A1 (en) | Incentivizing players to engage in competitive gameplay | |
US11361128B2 (en) | Simulation method and system for real-time broadcasting | |
CN109692480B (zh) | 一种网络游戏内观战方法和装置 | |
CN109672918B (zh) | 动画的同步播放方法和装置 | |
CN108310771A (zh) | 任务的执行方法和装置、存储介质、电子装置 | |
CN112619158B (zh) | 虚拟事件的匹配方法及装置、存储介质、电子装置 | |
CN109731330B (zh) | 画面的显示方法和装置、存储介质、电子装置 | |
CN105498210B (zh) | 用于游戏应用的安全校验方法和装置及系统 | |
CN106606865B (zh) | 游戏中数据互通的方法、系统及其终端和服务器 | |
CN109005424A (zh) | 对象的控制方法、装置及系统、存储介质、电子装置 | |
CN109460361A (zh) | 性能测试方法和装置、存储介质及电子装置 | |
CN108465239A (zh) | 一种游戏的控制方法及装置 | |
CN109529355A (zh) | 虚拟现实场景的信息同步方法、装置、处理器及服务器 | |
CN111803954A (zh) | 基于云手机的游戏直播方法、电子设备、存储介质 | |
CN111228805B (zh) | 虚拟操作对象的控制方法和装置、存储介质及电子装置 | |
CN108310774A (zh) | 运行结果的传输方法、装置、存储介质及电子装置 | |
CN108744499A (zh) | 对象的处理方法、装置、存储介质和电子装置 | |
CN106861192A (zh) | 事件执行方法和装置 | |
CN105617656B (zh) | 一种防止网络游戏用户作弊的方法 | |
KR20140032541A (ko) | 온라인 모바일 게임에서 통신장애시 게임인공지능으로 전환하는 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |