CN106445588A - 属性信息的更新方法及装置 - Google Patents
属性信息的更新方法及装置 Download PDFInfo
- Publication number
- CN106445588A CN106445588A CN201610812625.7A CN201610812625A CN106445588A CN 106445588 A CN106445588 A CN 106445588A CN 201610812625 A CN201610812625 A CN 201610812625A CN 106445588 A CN106445588 A CN 106445588A
- Authority
- CN
- China
- Prior art keywords
- attribute information
- virtual objects
- attribute
- information
- mark
- 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.)
- Granted
Links
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种属性信息的更新方法及装置,属于网络技术领域。所述方法包括:对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从该虚拟对象的多个属性信息中确定发生变化的目标属性信息,该目标属性信息包括目标数值属性信息和目标字符串属性信息;将目标数值属性信息通过第一指定协议发送至当前处于该虚拟场景内的多个用户终端,将目标字符串属性信息通过第二指定协议发送至该多个用户终端,以使该多个用户终端对当前显示的该虚拟对象的数值属性信息和字符串属性信息进行更新。本发明通过仅使用两条协议发送属性信息,且仅发送发生变化的属性信息,极大地节省了网络资源,减小了协议的维护难度,简化了属性信息的同步工作。
Description
技术领域
本发明实施例涉及网络技术领域,特别涉及一种属性信息的更新方法及装置。
背景技术
目前的虚拟场景都需要服务器的支持和管理,服务器通常可以存储虚拟场景中各种虚拟对象的属性信息,并对发生变化的属性信息进行更新。例如,对于网络游戏中的游戏场景,场景中的虚拟对象可以为用户角色、怪物、道具、场景物件等。当多个用户终端处于同一游戏场景时,若任一用户终端执行游戏操作,游戏服务器中存储的虚拟对象的属性信息都可能会发生改变,为了使得游戏服务器中存储的虚拟对象的属性信息与在该游戏场景中的各个用户终端显示的虚拟对象的属性信息同步,该游戏服务器还需要根据当前存储的虚拟对象的属性信息,对各个用户终端显示的虚拟对象的属性信息进行更新。
现有技术中,游戏服务器与用户终端之间通常采用基于虚拟对象的各个功能模块的数据更新协议,对虚拟对象的属性信息进行更新的方式。具体地,游戏服务器通常将虚拟对象划分为多个功能模块,例如可以将用户角色对象划分为肢体模块、生命模块、战斗模块等,而且不同的功能模块对应不同的数据更新协议,对于该多个功能模块中的每个功能模块,当该功能模块中的任一属性信息发生改变时,不管该功能模块中的其他属性信息有没有发生改变,该游戏服务器都会将该功能模块的所有属性信息发送给用户终端,且只能通过该功能模块对应的数据更新协议发送给用户终端,以使该用户终端对当前存储的该功能模块的所有属性信息进行更新。
但是上述方法中,每个虚拟对象的属性信息分布在多个功能模块中,属性信息更新过程较为繁琐,而且所发送的功能模块的属性信息中不仅包括发生变化的属性信息,还包括未变化的属性信息,从而会造成网络资源的浪费,另外由于每个功能模块都对应一个数据更新协议,从而大大提高了协议的维护难度。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种属性信息的更新方法及装置。所述技术方案如下:
第一方面,提供了一种属性信息更新方法,所述方法包括:
对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从所述虚拟对象的多个属性信息中确定目标属性信息,所述目标属性信息为在所述虚拟场景的运行过程中发生变化的属性信息,所述目标属性信息包括目标数值属性信息和目标字符串属性信息;
将所述虚拟对象的标识、所述目标数值属性信息和所述目标数值属性信息的标识,通过第一指定协议发送至当前处于所述虚拟场景内的多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的数值属性信息进行更新,所述第一指定协议用于传输数值属性信息;
将所述虚拟对象的标识、所述目标字符串属性信息和所述目标字符串属性信息的标识,通过第二指定协议发送至所述多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的字符串属性信息进行更新,所述第二指定协议用于传输字符串属性信息。
第二方面,提供了一种属性信息的更新装置,所述装置包括:
确定模块,用于对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从所述虚拟对象的多个属性信息中确定目标属性信息,所述目标属性信息为在所述虚拟场景的运行过程中发生变化的属性信息,所述目标属性信息包括目标数值属性信息和目标字符串属性信息;
第一发送模块,用于将所述虚拟对象的标识、所述目标数值属性信息和所述目标数值属性信息的标识,通过第一指定协议发送至当前处于所述虚拟场景内的多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的数值属性信息进行更新,所述第一指定协议用于传输数值属性信息;
第二发送模块,用于将所述虚拟对象的标识、所述目标字符串属性信息和所述目标字符串属性信息的标识,通过第二指定协议发送至所述多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的字符串属性信息进行更新,所述第二指定协议用于传输字符串属性信息。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,服务器可以对应存储虚拟场景中各个虚拟对象的多个属性信息,并可以直接以对象为单位对终端显示的各个虚拟对象的属性进行更新,而非以虚拟对象的各个功能模块为单位进行更新,从而简化了属性信息的更新流程;而且在具体更新过程中,该服务器还可以从该虚拟对象的多个属性信息中确定目标属性信息,该目标属性信息为在该虚拟场景的运行过程中发生变化的属性信息,且该目标属性信息包括目标数值属性信息和目标字符串属性信息,从而该服务器可以将该目标数值属性信息通过第一指定协议发送至当前处于该虚拟场景内的多个用户终端,并可以将该目标字符串属性信息通过第二指定协议发送至该多个用户终端,以使该多个用户终端分别对当前显示的该虚拟对象的数值属性信息和字符串属性信息进行更新,如此该服务器可以仅向各个终端发送发生变化的属性信息,从而极大地节省了网络资源,而且仅需两条协议:用于传输数值属性信息的第一指定协议和用于发送字符串属性信息的第二指定协议,就可完成各个虚拟对象的属性信息的同步工作,从而减小了协议的维护难度,简化了属性信息的同步工作。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例提供的一种网络游戏系统的结构示意图;
图1B是本发明实施例提供的一种属性信息的更新方法流程图;
图2A是本发明实施例提供的另一种属性信息的更新方法流程图;
图2B是本发明实施例提供的一种服务器和指定终端关于同一虚拟对象的数值属性信息的映射示例图;
图2C是本发明实施例提供的一种服务器存储的一个虚拟对象的数值属性信息集合的示例图;
图2D是本发明实施例提供的一种服务器和指定终端关于同一虚拟对象的字符串属性信息的映射示例图;
图2E是本发明实施例提供的一种服务器存储的一个虚拟对象的字符串属性信息集合的示例图;
图2F是本发明实施例提供的一种虚拟对象的属性位图的示意图;
图2G是本发明实施例提供的另一种虚拟对象的属性位图的示意图;
图3是本发明实施例提供的一种属性信息的更新装置的结构示意图;
图4是本发明实施例提供的一种属性信息的更新装置的服务器结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细的解释说明之前,先对本发明实施例的应用场景予以介绍。本发明实施例提供的方法应用于多个用户终端与服务器的虚拟交互系统中,且在该交互系统中,服务器可以提供一个虚拟场景,每个用户终端均可在该虚拟场景中拥有一个虚拟对象,从而多个用户终端即可基于各自的虚拟对象在该虚拟场景中进行交互。另外,在该交互系统中,服务器还需对该虚拟场景中的各个虚拟对象的属性信息进行维护,例如,需要在任一虚拟对象的属性信息发生变化时,对该虚拟对象的属性信息进行更新。具体地,该虚拟交互系统可以为网络游戏系统、网络直播交互系统、AR(增强现实技术)交互系统等,本发明实施例对此不做限定。
以网络游戏系统为例,参见图1A,该网络游戏系统可以包括游戏服务器10和多个用户终端20,且该游戏服务器提供的虚拟场景为游戏场景。其中,该游戏服务器10和各个用户终端20之间可以通过有线网络或者无线网络进行通信,且该多个用户终端20为在该游戏服务器10所提供的网络游戏的游戏场景中的用户终端,该游戏服务器10用于为该多个用户终端20的游戏操作提供支持和管理。例如,该游戏服务器10可以存储该游戏场景中的各个虚拟对象的属性信息,如该游戏场景中的用户角色、怪物、道具、场景物件等虚拟对象的属性信息,而且当任一用户终端20在该游戏场景中执行操作,并使得该游戏服务器中存储的虚拟对象的属性信息发生变化,该游戏服务器10即会对该多个用户终端20显示的虚拟对象的属性信息进行更新,以保证该游戏服务器10中存储的各个虚拟对象的属性信息与该多个用户终端20所显示的各个虚拟对象的属性信息能够保持一致。
图1B是本发明实施例提供的一种属性信息的更新方法流程图,参见图1B,该方法可以包括如下几个步骤:
步骤101:对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从该虚拟对象的多个属性信息中确定目标属性信息,该目标属性信息为在该虚拟场景的运行过程中发生变化的属性信息,该目标属性信息包括目标数值属性信息和目标字符串属性信息。
步骤102:将该虚拟对象的标识、该目标数值属性信息和该目标数值属性信息的标识,通过第一指定协议发送至当前处于该虚拟场景内的多个用户终端,以使该多个用户终端对当前显示的该虚拟对象的数值属性信息进行更新,该第一指定协议用于传输数值属性信息。
步骤103:将该虚拟对象的标识、该目标字符串属性信息和该目标字符串属性信息的标识,通过第二指定协议发送至该多个用户终端,以使该多个用户终端对当前显示的该虚拟对象的字符串属性信息进行更新,该第二指定协议用于传输字符串属性信息。
本发明实施例中,服务器可以对应存储虚拟场景中各个虚拟对象的多个属性信息,并可以直接以对象为单位对终端显示的各个虚拟对象的属性进行更新,而非以虚拟对象的各个功能模块为单位进行更新,从而简化了属性信息的更新流程;而且在具体更新过程中,该服务器还可以从该虚拟对象的多个属性信息中确定目标属性信息,该目标属性信息为在该虚拟场景的运行过程中发生变化的属性信息,且该目标属性信息包括目标数值属性信息和目标字符串属性信息,从而该服务器可以将该目标数值属性信息通过第一指定协议发送至当前处于该虚拟场景内的多个用户终端,并可以将该目标字符串属性信息通过第二指定协议发送至该多个用户终端,以使该多个用户终端分别对当前显示的该虚拟对象的数值属性信息和字符串属性信息进行更新,如此该服务器可以仅向各个终端发送发生变化的属性信息,从而极大地节省了网络资源,而且仅需两条协议:用于传输数值属性信息的第一指定协议和用于发送字符串属性信息的第二指定协议,就可完成各个虚拟对象的属性信息的同步工作,从而减小了协议的维护难度,简化了属性信息的同步工作。
可选地,该从该虚拟对象的多个属性信息中确定目标属性信息之前,还包括:
在该虚拟场景的运行过程中,当检测到该虚拟对象的任一属性信息发生变化时,对发生变化的属性信息进行标记,得到已标记的属性信息;
相应地,该从该虚拟对象的多个属性信息中确定目标属性信息,包括:
从该虚拟对象的多个属性信息中确定已标记的属性信息;
将该已标记的属性信息确定为该目标属性信息;
相应地,该从该虚拟对象的多个属性信息中确定目标属性信息之后,还包括:
取消对该目标属性信息的标记。
可选地,该对发生变化的属性信息进行标记,得到已标记的属性信息,包括:
将该发生变化的属性信息在该虚拟对象的属性位图中的标记值从第一预设数值更改为第二预设数值,以对该发生变化的属性信息进行标记,其中,该属性位图用于指示该虚拟对象的多个属性信息是否发生改变,该第一预设数值用于指示属性信息未发生改变,该第二预设数值用于指示属性信息发生改变;
相应地,该取消对该目标属性信息的标记,包括:
将该目标属性信息在该虚拟对象的属性位图中的标记值从该第二预设数值更改为该第一预设数值。
可选地,该对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从该虚拟对象的多个属性信息中确定目标属性信息之前,还包括:
当接收到指定终端发送的初始化请求时,基于该指定终端登录的用户账号,获取该多个虚拟对象中每个虚拟对象的多个属性信息,每个属性信息包括数值属性信息和字符串属性信息,该指定终端为该多个用户终端中的任一终端;
对于该多个虚拟对象中的每个虚拟对象,将该虚拟对象的标识、该虚拟对象的多个属性信息包括的数值属性信息以及该数值属性信息的标识,通过该第一指定协议发送至该指定终端;
将该虚拟对象的标识、该虚拟对象的多个属性信息包括的字符串属性信息以及该字符串属性信息的标识,通过该第二指定协议发送至该指定终端。
可选地,该方法还包括:
当指定终端退出该虚拟场景时,向该指定终端发送对象销毁请求,该对象销毁请求用于指示该指定终端将存储的该多个虚拟对象的标识和该多个虚拟对象的属性信息进行删除;
将该虚拟场景中指定虚拟对象的标识和该指定虚拟对象的属性信息删除,该指定虚拟对象为该指定终端在该虚拟场景中所拥有的虚拟对象。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图2A是本发明实施例提供的一种属性信息的更新方法流程图,参见图2A,该方法可以包括如下几个步骤:
步骤201:当服务器接收到指定终端发送的初始化请求时,基于该指定终端登录的用户账号,获取该指定终端当前所处虚拟场景包括的多个虚拟对象中每个虚拟对象的多个属性信息,每个属性信息包括数值属性信息和字符串属性信息。其中,该指定终端的初始化请求可以由该指定终端在进入该虚拟场景时触发,用于请求获取该虚拟场景中多个虚拟对象的属性信息,以便根据获取的属性信息,在当前显示界面中显示该虚拟场景中的多个虚拟对象。
其中,该服务器可以为游戏服务器、直播服务器、AR服务器等,相应地,该虚拟场景可以为游戏场景、直播场景、AR场景等,本发明实施例对此不做限定。
例如,当该虚拟场景为游戏服务器提供的游戏场景时,该虚拟场景可以为网络游戏中该指定终端所处的某张游戏地图场景。另外,当该虚拟场景为该指定终端所处的某张游戏地图场景时,该游戏地图场景可以为该指定终端所处的整张游戏地图场景,可以为该整张游戏地图场景中该指定终端所处的部分游戏地图场景,也可以为该整张游戏地图场景中该指定终端当前显示界面中能够显示的部分游戏地图场景等,本发明示例对此不做限定。
本发明实施例中,当服务器接收到指定终端发送的初始化请求时,该服务器首先需要初始化该虚拟场景中包括的多个虚拟对象,也即是,完成各个虚拟对象的属性信息的初始化。具体地,初始化该虚拟场景中包括的多个虚拟对象的过程可以包括:基于该指定终端登录的用户账号,获取该指定终端当前所处虚拟场景包括的多个虚拟对象中每个虚拟对象的多个属性信息。
需要说明的是,本发明实施例中将每个虚拟对象的属性信息归纳为两种类型的属性信息集合,一类是数值属性信息集合,一类是字符串属性信息集合,而且这两种类型的属性信息集合是完全独立的,每个属性信息集合中的属性类型和属性数量均可以独立扩展。因此,该服务器在获取每个虚拟对象的属性信息时,需要分别获取每个虚拟对象的所有数值属性信息和所有字符串属性信息,以完成每个虚拟对象的初始化。
其中,基于该指定终端登录的用户账号,获取该指定终端当前所处虚拟场景包括的多个虚拟对象中每个虚拟对象的多个属性信息的过程可以包括:获取在该指定终端进入该虚拟场景之前,该虚拟场景中包括的各个虚拟对象的属性信息,并根据该指定终端登录的用户账号,从游戏数据库中获取该用户账号所拥有的虚拟对象的属性信息,之后,将该虚拟场景中包括的各个虚拟对象的属性信息与该用户账号所拥有的虚拟对象的属性信息进行组合,得到该指定终端进入该虚拟场景后,该虚拟场景包括的多个虚拟对象的属性信息。
其中,当该虚拟场景为游戏场景时,该用户账号所拥有的虚拟对象可以为该用户账号所拥有的游戏角色等,相应地,该用户账号所拥有的虚拟对象的属性信息可以包括该游戏角色的等级属性信息、装备属性信息、武力属性信息、点券属性信息等等,本发明实施例对此不做限定。
另外,针对该指定终端是否为进入该虚拟场景的第一个用户终端,获取在该指定终端进入该虚拟场景之前,该虚拟场景中包括的各个虚拟对象的属性信息的过程相应不同,具体可以包括以下几种方式:
第一种方式:当该指定终端为进入该虚拟场景的第一个用户终端时,该服务器可以从游戏数据库中获取该指定终端进入该虚拟场景之前,该虚拟场景中各个虚拟对象的属性信息。其中,该游戏数据库存储有多个虚拟场景中每个虚拟场景的各个虚拟对象的属性信息。
也即是,当该指定终端为进入该虚拟场景的第一个用户终端时,在该指定终端进入该虚拟场景之前,该服务器可能还没有建立与该虚拟场景对应的指定属性集合,该指定属性集合用于存储该虚拟场景中各个虚拟对象的属性信息,因此,在该指定终端进入该虚拟场景后,该服务器还需从游戏数据库中获取该虚拟场景中各个虚拟对象的属性信息。
第二种方式:当该指定终端不是进入该虚拟场景的第一个用户终端时,该服务器可以从已建立的与该虚拟场景对应的指定属性集合中,获取该虚拟场景中各个虚拟对象的属性信息,其中,该已建立的指定属性集合存储有该指定终端进入该虚拟场景之前,该虚拟场景中各个虚拟对象的属性信息。
也即是,当该指定终端不是进入该虚拟场景的第一个用户终端时,在该指定终端进入该虚拟场景之前,该服务器可能已建立了与该虚拟场景对应的指定属性集合,从而当该指定终端进入该虚拟场景时,该服务器即可直接从该指定属性集合中获取该虚拟场景中各个虚拟对象的属性信息,而无需从游戏数据库中获取。另外,将该虚拟场景中各个虚拟对象的属性信息与该用户账号所拥有的虚拟对象的属性信息进行组合后,还可以将组合后的信息对应存储在该指定属性集合中,从而得到刷新后的指定属性集合。
需要说明的是,本发明实施例中仅是以将该虚拟场景中的各个虚拟对象的属性信息存储在指定属性集合中为例进行说明,而实际应用中,该虚拟场景中的各个虚拟对象的属性信息也可以存储在列表、数组或者数据库中,本发明实施例对上述属性信息的存储形式不做限定。
步骤202:对于该多个虚拟对象中的每个虚拟对象,将该虚拟对象的标识、该虚拟对象的多个属性信息包括的数值属性信息以及该数值属性信息的标识,通过第一指定协议发送至该指定终端。
其中,该虚拟对象的标识用于唯一指示该虚拟对象,可以为该虚拟对象的名称、ID(Identification,身份标识)等,相应地,该数值属性信息的标识用于唯一指示该数值属性信息所定义的数值属性,可以为该数值属性的名称、ID等,本发明实施例对此也不做限定。
本发明实施例中,得到该虚拟场景中包括的多个虚拟对象中每个虚拟对象的属性信息后,该服务器即可将每个虚拟对象的属性信息发送至该指定终端,以便该指定终端根据每个虚拟对象的属性信息,在当前显示界面中显示该虚拟场景及该虚拟场景中包括的多个虚拟对象。
例如,当该虚拟场景为游戏场景时,根据每个虚拟对象的属性信息,该指定终端可以显示所进入的游戏地图场景,该游戏地图场景可以包括地图背景、怪物、NPC(Non-playable Character,非玩家角色)、其他终端拥有的虚拟对象、该指定终端所拥有的虚拟对象等等。
需要说明的是,本发明实施例中,为了简化处理,该服务器可以将每个虚拟对象的所有数值属性信息和所有字符串属性信息,分别通过不同的协议集中进行发送。也即是,本发明实施例中仅定义了两种传输属性信息的协议:第一指定协议和第二指定协议,其中,第一指定协议用于传输数值属性信息,第二指定协议用于传输字符串属性信息,从而只需通过两种协议即可将该多个虚拟对象的全部属性信息同步至该指定终端,大大简化了属性信息的同步流程,而且,该指定终端也仅需解析两种协议,即可完成虚拟对象的属性信息的同步工作。本发明实施例提供的方法,极大地降低了服务器的协议定义和填充工作,减小了服务器和指定终端之间维护协议和属性信息的难度,也降低了该指定终端解析协议和处理属性信息的工作量,从而减小了协议处理过程中出错的概率。
另外,该指定终端通过该第一指定协议,接收到该虚拟对象的标识、该虚拟对象的多个属性信息包括的数值属性信息以及该数值属性信息的标识之后,即可建立该指定终端与该服务器之间,对于该虚拟对象的各个数值属性信息的一一映射关系。
其中,对于每个虚拟对象的多个数值属性来说,可以预先定义每个数值属性的数值属性信息所占据的指定字节数,该指定字节数可以为4个字节、8个字节等,本发明实施例对此不做限定。而且,每个数值属性的数值属性信息可以为整型,也可以为浮点型,本发明实施例对此不做限定。进一步地,当某个数值属性的数值属性信息占据多个指定字节数时,还可以用多个属性位来表示该数值属性,例如,以该指定字节数为4个字节为例,当某个数值属性的数值属性信息占据8个字节时,则可以用两个属性位来表示该数值属性。
例如,图2B是本发明实施例提供的一种服务器和指定终端关于同一虚拟对象的数值属性信息的映射示例图,参见图2B,服务器存储的数值属性ID和该指定终端存储的数值属性ID一一对应,且每个相同的数值属性ID可以对应存储相同的数值属性信息,从而可以保持数值属性信息的同步,而且每个数值属性的数值属性信息均占据4个字节。
再例如,图2C是本发明实施例提供的一种服务器存储的一个虚拟对象的数值属性信息集合的示例图,参见图2C,每个数值属性ID对应的数值属性信息可以为INT(整型),也可以为FLOAT(单精度浮点型)和DOUBLE(双精度浮点型),当数值属性4的数值属性信息占据2个指定字节数时,则可以用两个属性位来表示该数值属性4,且每个属性位存储该数值属性4的部分数值属性信息,数值属性5同理。
需要说明的是,上述数值属性信息的存储形式可以由该服务器和该指定终端之间预先协商约定,而无需在该第一指定协议里传输,从而节省了网络资源,降低了服务器与该指定终端之间的同步开销。
进一步地,每个数值属性还可以包括多个子属性,并可以将每个数值属性的各个子属性合并在一个数值属性中,例如,当指定字节数为4时,对于1个字节和2个字节的子属性,可以将这两个子属性合并在一个数值属性中。其中,对于每个数值属性中的子属性来说,每个子属性代表的属性类型还需要服务器和指定终端通过其他定义来约定,本发明实施例对此不做限定。另外,对于每个数值属性的子属性,也可以将每个子属性与一个字符串属性对应存储,从而在更新该子属性时,仅需更新该子属性对应的字符串属性即可,本发明实施例对此也不做限定。
进一步地,为了节省网络资源,对于每个虚拟对象的多个数值属性信息,可以先从该多个数值属性信息中确定出不为0的数值属性信息,并仅将该不为0的数值属性信息和该不为0的数值属性信息的标识发送至该指定终端。
进一步地,由于大部分数值属性信息都是1-100万范围内的数字,因此本发明实施例中还可以采用第一预设编码算法对待发送的数值属性信息进行编码,再将编码后的数值属性信息发送给指定终端,而该指定终端在接收到该编码后的数值属性信息后,可以先按照该第一预设编码算法进行解码,再根据解码后的数值属性信息进行处理。如此,可以降低所发送的数值属性信息的字节数,从而节省网络资源。
其中,该第一预设编码算法为该服务器和该指定终端预先约定的编码算法,可以为BASE 128VARIANT(一种编码算法)等,本发明实施例对此不做限定。
步骤203:将该虚拟对象的标识、该虚拟对象的多个属性信息包括的字符串属性信息以及该字符串属性信息的标识,通过第二指定协议发送至该指定终端。
其中,该字符串属性信息的标识用于唯一指示该字符串属性信息所定义的字符串属性,可以为该字符串属性的名称、ID等,本发明实施例对此不做限定。
进一步地,为了节省网络资源,对于每个虚拟对象的多个字符串属性信息,可以先从该多个字符串属性信息中确定出字符串长度不为0的字符串属性信息,并仅将该字符串长度不为0的字符串属性信息和该字符串长度不为0的字符串属性信息的标识发送至该指定终端。
另外,该指定终端通过该第二指定协议,接收到该虚拟对象的标识、该虚拟对象的多个字符串信息包括的字符串属性信息以及该字符串属性信息的标识之后,即可建立该指定终端与该服务器之间,对于该虚拟对象的各个字符串属性信息的一一映射关系。
其中,对于每个虚拟对象的字符串属性,可以预先定义字符串属性信息的存储形式。例如,可以预先定义每个字符串属性信息的最大长度;或者规定每个字符串属性信息的末尾以0结尾,以便指定终端在读取该字符串属性信息时,当读取到0值时确定该字符串属性信息读取完毕;或者规定每个字符串属性信息带有一个长度前缀,以便该指定终端可以根据该长度前缀确定该字符串属性信息的长度,并按照该长度读取该字符串属性信息等,从而可以方便对字符串属性信息进行处理。
例如,图2D是本发明实施例提供的一种服务器和指定终端关于同一虚拟对象的字符串属性信息的映射示例图,参见图2D,服务器存储的字符串属性ID和该指定终端存储的字符串属性ID一一对应,且每个相同的字符串属性ID可以对应存储相同的字符串属性信息,从而可以保持字符串属性信息的同步,而且字符串属性的长度不定,也即是,每个字符串属性信息的长度根据实际发送的字符串属性信息进行确定。
再例如,图2E是本发明实施例提供的一种服务器存储的一个虚拟对象的字符串属性信息集合的示例图,参见图2E,每个字符串属性的字符串属性信息可以包括一个长度前缀,以指示该字符串属性信息的长度。
需要说明的一点是,上述字符串属性信息的存储形式可以由该服务器和该指定终端之间预先协商约定,而无需在该第二指定协议里传输,从而可以节省网络资源,降低服务器与该指定终端之间的同步开销。
需要说明的另一点是,对于该虚拟场景中包括的多个虚拟对象,该服务器和该指定终端之间可以预先协商约定每个虚拟对象的标识所代表的虚拟对象的名称或类型,对于每个虚拟对象的多个数值属性信息和多个字符串属性信息,也可以预先协商约定每个数值属性信息的标识所代表的数值属性的名称或类型,以及每个字符串属性信息的标识所代表的字符串属性的名称或类型,从而可以避免在第一指定协议和第二指定协议里传输上述信息,节省了网络资源。
当然,在另一实施例中,该服务器和该指定终端之间也可以不预先协商约定上述信息,而在向该指定终端全量发送属性信息之前,先把该虚拟场景中的所有虚拟对象的标识、对应的类型等信息发送该指定终端,并把每个虚拟对象的各个属性信息的标识、对应的类型、限定的长度等信息发送给该指定终端,以便该指定终端对接收到的属性信息进行处理。这种方式可以实现协议的通用化,所有的用户终端无需预先与服务器进行协商预定,即可直接对接收到的属性信息进行处理。
需要说明的再一点是,本发明实施例仅是以先向该指定终端发送数值属性信息,再发送字符串属性信息为例进行说明,而实际应用中,也可以先发送字符串属性信息再发送数值属性信息,或者将数值属性信息和字符串属性信息同时发送,本发明实施例对此不做限定。
进一步地,本发明实施例中,还可以将字符串属性进行扩充来传输二进制数据,也即是,字符串属性对应的存储单元中不仅可以存储字符串属性信息,还可以存储二进制数据,本发明实施例对此不做限定。进一步地,对于该二进制数据,可以先采用第二预设编码算法进行编码,编码后再发送给该指定终端,该指定终端接收后再进行解码即可。如此,可以降低所发送的二进制数据的字节数,从而可以节省网络资源。
其中,该第二预设编码算法为该服务器和该指定终端预先约定的编码算法,可以为BASE 64(一种编码算法)等,本发明实施例对此不做限定。
步骤204:对于该虚拟场景包括的多个虚拟对象中的每个虚拟对象,从该虚拟对象的多个属性信息中确定目标属性信息,该目标属性信息为在该虚拟场景的运行过程中发生变化的属性信息,该目标属性信息包括目标数值属性信息和目标字符串属性信息。
在该虚拟场景的运行过程中,随着处于该虚拟场景中的多个用户终端的操作,该虚拟场景中的各个虚拟对象的属性信息可能会发生变化,为了使得该服务器存储的虚拟对象的属性信息与该多个终端显示的虚拟对象的属性信息保持同步,该服务器还需要将发生变化的虚拟对象的属性信息发送至该多个终端,以便该多个终端对当前显示的虚拟对象的属性信息进行更新。
本发明实施例中,为了进一步节省网络资源,可以仅将各个虚拟对象的目标属性信息发送给该指定终端。由于仅将各个虚拟对象中发生变化的属性信息同步给用户终端,而无需将未发生变化的属性信息一起同步给用户终端,从而可以大大节省服务器的下行网络资源,相应地,也避免了用户终端在短时间内接收大量未发生变化的属性信息,以及对大量未发生变化的属性信息的非必要更新处理,简化了用户终端的更新处理工作。
进一步地,为了便于该服务器确定目标属性信息,该服务器还可以在从该虚拟对象的多个属性信息中确定目标属性信息之前,在该虚拟场景的运行过程中,当检测到该虚拟对象的任一属性信息发生变化时,对发生变化的属性信息进行标记,得到已标记的属性信息;相应地,从该虚拟对象的多个属性信息中确定目标属性信息的过程包括:从该虚拟对象的多个属性信息中确定已标记的属性信息;将该已标记的属性信息确定为该目标属性信息;相应地,从该虚拟对象的多个属性信息中确定目标属性信息之后还包括:取消对该目标属性信息的标记。
通过对发生变化的属性信息进行标记,可以使得该服务器可以方便地确定哪些属性信息发生了变化,而哪些属性信息未发生了变化。其中,对发生变化的属性信息进行标记的方式可以有多种,本发明实施例对此不做限定。
在一种可能的实现方式中,对发生变化的属性信息进行标记,得到已标记的属性信息的过程可以包括:将该发生变化的属性信息在该虚拟对象的属性位图中的标记值从第一预设数值更改为第二预设数值,以对该发生变化的属性信息进行标记,其中,该属性位图用于指示该虚拟对象的多个属性信息是否发生改变,该第一预设数值用于指示属性信息未发生改变,该第二预设数值用于指示属性信息发生改变;相应地,该取消对该目标属性信息的标记,包括:将该目标属性信息在该虚拟对象的属性位图中的标记值从该第二预设数值更改为该第一预设数值。
其中,对于每个虚拟对象的属性信息,该服务器可以建立一个与该虚拟对象对应的属性位图,该属性位图中包括多个标记值,各个标记值与该虚拟对象的各个属性信息的标识一一对应,用于指示各个属性信息是否发生变化。该属性位图可以以数组、列表等的形式进行存储,当然也可以以其他形式进行存储,本发明实施例对此不做限定。
其中,该第一预设数值和该第二预设数值为不同的数值,具体数值可以由该服务器默认设置,例如,该服务器可以将该第一预设数值设置为0,并将该第二预设数值设置为1,当然也可以设置为其他数值,本发明实施例对此不做限定。
进一步,在该虚拟场景的运行过程中,对于该虚拟场景包括的多个虚拟对象中的每个虚拟对象,该服务器还可以每隔预设时长,从该虚拟对象的多个属性信息中确定目标属性信息,从而每隔预设时长向该多个用户终端发送目标属性信息。另外,当未检测到目标属性信息时,也就无需向该多个用户终端发送目标属性信息。
其中,该预设时长可以由服务器默认设置,也可以由用户终端与该服务器协商设置,该预设时长可以为50ms、100ms等,本发明实施例对此不做限定。
需要说明的是,该预设时长一般为一个较短的时长,一个属性信息在该预设时长内可能会发生多次变化,但是大部分用户终端并没有在极短的时间内显示中间变量的需求,从而该服务器可以每隔预设时长将最终变化的属性信息同步给该多个用户端,以减少同步的工作量,进而减少网络资源。
进一步地,对于那些要求实时同步的属性信息,该服务器还可以将要求实时同步的属性信息进行标记,一旦这些属性信息发生变化,即将这些属性信息同步给该多个用户终端,从而实现实时同步,本发明实施例对此不做限定。
相应地,该服务器可以每隔预设时长,查询一次该虚拟场景中各个虚拟对象的属性位图,在查询过程中,对于每个虚拟对象的属性位图,该服务器可以确定出标记值为第二预设数值的目标标记值,并获取与目标标记值对应的目标属性信息,以便将该目标属性信息发送给该多个用户终端。
例如,图2F是本发明实施例提供的一种虚拟对象的属性位图的示意图,参见图2F,该属性位图为数组形式,且可以将该属性位图称之为Bit Map,在该Bit Map中,该虚拟对象的每个属性信息都有一个对应的标记值,也称Bit位,用于指示该属性信息是否发生了变化。其中,Bit位的第一预设数值为0,表示属性信息未发生变化,Bit位的第二预设数值为1,表示属性信息发生了变化。从而,当该虚拟对象的任一属性信息发送变化时,该服务器即可在该Bit Map中,将该属性信息对应的Bit位置为1。在该虚拟场景运行的过程中,该服务器可以每隔50ms轮询一次该虚拟对象的Bit Map,并把所有Bit位为1的属性信息和属性信息的索引发送给该多个用户终端,该属性信息的索引可以包括该虚拟对象的标识和该属性信息的标识等。
步骤205:将该虚拟对象的标识、该目标数值属性信息和该目标数值属性信息的标识,通过该第一指定协议发送至当前处于该虚拟场景内的多个用户终端,以使该多个用户终端对当前显示的该虚拟对象的数值属性信息进行更新。
步骤206:将该虚拟对象的标识、该目标字符串属性信息和该目标字符串属性信息的标识,通过该第二指定协议发送至该多个用户终端,以使该多个用户终端对当前显示的该虚拟对象的字符串属性信息进行更新。
本发明实施例中,对于各个虚拟对象的目标属性信息,可以将该目标属性信息中的目标数值属性信息通过第一指定协议发送至该多个用户端,并将该目标属性信息中的目标字符串属性信息通过第二指定协议发送至该多个用户端,从而仅需两条协议,即可实现目标属性信息的同步,大大减少了同步的工作量。
需要说明的是,本发明实施例仅是以先向该多个用户终端发送目标数值属性信息,再发送目标字符串属性信息为例进行说明,而实际应用中,也可以先发送目标字符串属性信息再发送目标数值属性信息,或者将目标数值属性信息和目标字符串属性信息同时发送,本发明实施例对此不做限定。
另外,若对目标属性信息进行了标记,则确定出目标属性信息,并将目标属性信息发送至各个终端后,该目标属性信息的标记将取消,例如,基于步骤204的举例,参见图2G,向各个用户终端发送了目标属性信息后,该属性位图中的各个Bit位将均为0。
进一步地,在向多个用户终端同步属性信息时,该服务器还可以根据每个用户终端登录的用户账号,选择向该用户终端是否发送附加私有属性信息。具体地,该服务器可以先确定每个附加私有属性信息对应的用户账号,并仅将该附加私有属性信息发送至登录该用户账号的用户终端,而不发送给其他用户终端。例如,对于指定终端来说,该附加私有属性信息可以为该指定终端所拥有的虚拟对象的隐私属性信息,如该虚拟对象的点券信息、道具信息等,通常来说该隐私属性信息只能在该指定终端中显示,而其他用户终端将不能显示,因此,只能将该附加私有属性信息发送给该指定终端,而不能发送给其他用户终端。其中,该指定终端为该多个用户终端中的任一用户终端。
进一步地,该服务器还可以对该附件私有属性信息进行压缩和加密,从而可以在保护用户隐私数据的同时,节省网络资源。
步骤207:当指定终端退出该虚拟场景时,向该指定终端发送对象销毁请求,该对象销毁请求用于指示该指定终端将存储的该多个虚拟对象的标识和该多个虚拟对象的属性信息进行删除。
其中,该对象销毁请求可以携带该虚拟场景中该多个虚拟对象的标识,本发明实施例对此不做限定。该指定终端为该多个用户终端中的任一用户终端。
当该指定终端退出该虚拟场景时,表示该指定终端已无需显示该虚拟场景的各个虚拟对象,从而该服务器即可向该指定终端发送对象销毁请求,以断开该服务器与该指定终端之间关于该多个虚拟对象的映射,之后,该服务器也就不会再向该指定终端同步该多个虚拟对象的任何属性信息。
步骤208:将该虚拟场景中指定虚拟对象的标识和该指定虚拟对象的属性信息删除,该指定虚拟对象为该指定终端在该虚拟场景中所拥有的虚拟对象。
当该指定终端退出该虚拟场景时,该虚拟场景中也就不会再显示该指定终端在该虚拟场景中所拥有的虚拟对象,因此,该服务器还需将该虚拟场景中该指定虚拟对象的标识和该指定虚拟对象的属性信息进行删除。
本发明实施例提供的网络游戏系统,可以将服务器和用户终端对应各个虚拟对象的属性信息归纳为数值属性信息和字符串属性信息的集合,然后把这些属性信息在服务器和用户终端之间做一对一的映射。基于这种映射机制,在用户终端进入虚拟场景时,该服务器可以采用统一通知机制,将该虚拟场景中的各个虚拟对象的所有属性信息全量同步给该用户终端,之后在后续的属性信息的更新过程中,该服务器可以记录发生变化的属性信息,而且进行两条协议即可将发生变化的属性信息集中发送给该用户终端。在该网络游戏系统中,可以方便地各个虚拟对象的功能模块进行扩展,从而极大地简化对服务器和用户终端的开发和同步工作,而且因为是把所有功能模块的属性信息一起同步,从而可以方便地对属性信息进行压缩和加密等工作,进而节省了网络资源,保证了属性信息的安全性,进一步降低了服务器与用户终端的同步开销。
本发明实施例提供的方法,一方面可以仅向用户终端同步发生变化的属性信息,一方面仅需两条协议仅可完成属性信息的同步工作,和现有基于功能模块的协议进行同步的方式相比,本发明实施例的方法可以避免大量的无效通知协议,实际应用中,可以减少同步过程中60%以上的网络资源,并可以减少60%以上的工作量,而且极大了简化了服务器的后期维护工作,进而极大地节省了维护费用。
综上所述,本发明实施例中,服务器可以对应存储虚拟场景中各个虚拟对象的多个属性信息,并可以直接以对象为单位对终端显示的各个虚拟对象的属性进行更新,而非以虚拟对象的各个功能模块为单位进行更新,从而简化了属性信息的更新步骤;而且在具体更新过程中,该服务器还可以从该虚拟对象的多个属性信息中确定目标属性信息,该目标属性信息为在该虚拟场景的运行过程中发生变化的属性信息,且该目标属性信息包括目标数值属性信息和目标字符串属性信息,从而该服务器可以将该目标数值属性信息通过第一指定协议发送至当前处于该虚拟场景内的多个用户终端,并可以将该目标字符串属性信息通过第二指定协议发送至该多个用户终端,以使该多个用户终端分别对当前显示的该虚拟对象的数值属性信息和字符串属性信息进行更新,如此该服务器可以仅向各个终端发送发生变化的属性信息,从而极大地节省了网络资源,而且仅需两条协议:用于传输数值属性信息的第一指定协议和用于发送字符串属性信息的第二指定协议,就可完成各个虚拟对象的属性信息的同步工作,从而减小了协议的维护难度,简化了属性信息的同步工作。
图3是本发明实施例提供的一种属性信息的更新装置的结构示意图,参见图3,该装置包括:
确定模块301,用于对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从该虚拟对象的多个属性信息中确定目标属性信息,该目标属性信息为在该虚拟场景的运行过程中发生变化的属性信息,该目标属性信息包括目标数值属性信息和目标字符串属性信息;
第一发送模块302,用于将该虚拟对象的标识、该目标数值属性信息和该目标数值属性信息的标识,通过第一指定协议发送至当前处于该虚拟场景内的多个用户终端,以使该多个用户终端对当前显示的该虚拟对象的数值属性信息进行更新,该第一指定协议用于传输数值属性信息;
第二发送模块303,用于将该虚拟对象的标识、该目标字符串属性信息和该目标字符串属性信息的标识,通过第二指定协议发送至该多个用户终端,以使该多个用户终端对当前显示的该虚拟对象的字符串属性信息进行更新,该第二指定协议用于传输字符串属性信息。
可选地,该装置还包括:
标记模块,用于在该虚拟场景的运行过程中,当检测到该虚拟对象的任一属性信息发生变化时,对发生变化的属性信息进行标记,得到已标记的属性信息;
相应地,该确定模块,包括:
第一确定单元,用于从该虚拟对象的多个属性信息中确定已标记的属性信息;
第二确定单元,用于将该已标记的属性信息确定为该目标属性信息;
相应地,该装置还包括:
取消标记模块,用于取消对该目标属性信息的标记。
可选地,该标记模块用于:
将该发生变化的属性信息在该虚拟对象的属性位图中的标记值从第一预设数值更改为第二预设数值,以对该发生变化的属性信息进行标记,其中,该属性位图用于指示该虚拟对象的多个属性信息是否发生改变,该第一预设数值用于指示属性信息未发生改变,该第二预设数值用于指示属性信息发生改变;
相应地,该取消标记模块用于:
将该目标属性信息在该虚拟对象的属性位图中的标记值从该第二预设数值更改为该第一预设数值。
可选地,该装置还包括:
获取模块,用于当接收到指定终端发送的初始化请求时,基于该指定终端登录的用户账号,获取该多个虚拟对象中每个虚拟对象的多个属性信息,每个属性信息包括数值属性信息和字符串属性信息,该指定终端为该多个用户终端中的任一终端;
第三发送模块,用于对于该多个虚拟对象中的每个虚拟对象,将该虚拟对象的标识、该虚拟对象的多个属性信息包括的数值属性信息以及该数值属性信息的标识,通过该第一指定协议发送至该指定终端;
第四发送模块,用于对于该多个虚拟对象中的每个虚拟对象,将该虚拟对象的标识、该虚拟对象的多个属性信息包括的字符串属性信息以及该字符串属性信息的标识,通过该第二指定协议发送至该指定终端。
可选地,该装置还包括:
第五发送模块,用于当指定终端退出该虚拟场景时,向该指定终端发送对象销毁请求,该对象销毁请求用于指示该指定终端将存储的该多个虚拟对象的标识和该多个虚拟对象的属性信息进行删除;
删除模块,用于将该虚拟场景中指定虚拟对象的标识和该指定虚拟对象的属性信息删除,该指定虚拟对象为该指定终端在该虚拟场景中所拥有的虚拟对象。
本发明实施例中,服务器可以对应存储虚拟场景中各个虚拟对象的多个属性信息,并可以直接以对象为单位对终端显示的各个虚拟对象的属性进行更新,而非以虚拟对象的各个功能模块为单位进行更新,从而简化了属性信息的更新步骤;而且在具体更新过程中,该服务器还可以从该虚拟对象的多个属性信息中确定目标属性信息,该目标属性信息为在该虚拟场景的运行过程中发生变化的属性信息,且该目标属性信息包括目标数值属性信息和目标字符串属性信息,从而该服务器可以将该目标数值属性信息通过第一指定协议发送至当前处于该虚拟场景内的多个用户终端,并可以将该目标字符串属性信息通过第二指定协议发送至该多个用户终端,以使该多个用户终端分别对当前显示的该虚拟对象的数值属性信息和字符串属性信息进行更新,如此该服务器可以仅向各个终端发送发生变化的属性信息,从而极大地节省了网络资源,而且仅需两条协议:用于传输数值属性信息的第一指定协议和用于发送字符串属性信息的第二指定协议,就可完成各个虚拟对象的属性信息的同步工作,从而减小了协议的维护难度,简化了属性信息的同步工作。
需要说明的是:上述实施例提供的属性信息的更新装置在更新属性信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的属性信息的更新装置与属性信息的更新方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的一种属性信息的更新装置的服务器结构示意图。该服务器可以是后台服务器集群中的服务器。具体来讲:
服务器400包括中央处理单元(CPU)401、包括随机存取存储器(RAM)402和只读存储器(ROM)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。服务器400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。
基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。大容量存储设备407及其相关联的计算机可读介质为服务器400提供非易失性存储。也就是说,大容量存储设备407可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。
根据本发明的各种实施例,服务器400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器400可以通过连接在系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本发明实施例提供的如下所述的属性信息的更新方法的指令,包括:
对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从所述虚拟对象的多个属性信息中确定目标属性信息,所述目标属性信息为在所述虚拟场景的运行过程中发生变化的属性信息,所述目标属性信息包括目标数值属性信息和目标字符串属性信息;
将所述虚拟对象的标识、所述目标数值属性信息和所述目标数值属性信息的标识,通过第一指定协议发送至当前处于所述虚拟场景内的多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的数值属性信息进行更新,所述第一指定协议用于传输数值属性信息;
将所述虚拟对象的标识、所述目标字符串属性信息和所述目标字符串属性信息的标识,通过第二指定协议发送至所述多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的字符串属性信息进行更新,所述第二指定协议用于传输字符串属性信息。
可选地,所述从所述虚拟对象的多个属性信息中确定目标属性信息之前,还包括:
在所述虚拟场景的运行过程中,当检测到所述虚拟对象的任一属性信息发生变化时,对发生变化的属性信息进行标记,得到已标记的属性信息;
相应地,所述从所述虚拟对象的多个属性信息中确定目标属性信息,包括:
从所述虚拟对象的多个属性信息中确定已标记的属性信息;
将所述已标记的属性信息确定为所述目标属性信息;
相应地,所述从所述虚拟对象的多个属性信息中确定目标属性信息之后,还包括:
取消对所述目标属性信息的标记。
可选地,所述对发生变化的属性信息进行标记,得到已标记的属性信息,包括:
将所述发生变化的属性信息在所述虚拟对象的属性位图中的标记值从第一预设数值更改为第二预设数值,以对所述发生变化的属性信息进行标记,其中,所述属性位图用于指示所述虚拟对象的多个属性信息是否发生改变,所述第一预设数值用于指示属性信息未发生改变,所述第二预设数值用于指示属性信息发生改变;
相应地,所述取消对所述目标属性信息的标记,包括:
将所述目标属性信息在所述虚拟对象的属性位图中的标记值从所述第二预设数值更改为所述第一预设数值。
可选地,所述对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从所述虚拟对象的多个属性信息中确定目标属性信息之前,还包括:
当接收到指定终端发送的初始化请求时,基于所述指定终端登录的用户账号,获取所述多个虚拟对象中每个虚拟对象的多个属性信息,每个属性信息包括数值属性信息和字符串属性信息,所述指定终端为所述多个用户终端中的任一终端;
对于所述多个虚拟对象中的每个虚拟对象,将所述虚拟对象的标识、所述虚拟对象的多个属性信息包括的数值属性信息以及所述数值属性信息的标识,通过所述第一指定协议发送至所述指定终端;
将所述虚拟对象的标识、所述虚拟对象的多个属性信息包括的字符串属性信息以及所述字符串属性信息的标识,通过所述第二指定协议发送至所述指定终端。
可选地,所述方法还包括:
当指定终端退出所述虚拟场景时,向所述指定终端发送对象销毁请求,所述对象销毁请求用于指示所述指定终端将存储的所述多个虚拟对象的标识和所述多个虚拟对象的属性信息进行删除;
将所述虚拟场景中指定虚拟对象的标识和所述指定虚拟对象的属性信息删除,所述指定虚拟对象为所述指定终端在所述虚拟场景中所拥有的虚拟对象。
本发明实施例中,服务器可以对应存储虚拟场景中各个虚拟对象的多个属性信息,并可以直接以对象为单位对终端显示的各个虚拟对象的属性进行更新,而非以虚拟对象的各个功能模块为单位进行更新,从而简化了属性信息的更新步骤;而且在具体更新过程中,该服务器还可以从该虚拟对象的多个属性信息中确定目标属性信息,该目标属性信息为在该虚拟场景的运行过程中发生变化的属性信息,且该目标属性信息包括目标数值属性信息和目标字符串属性信息,从而该服务器可以将该目标数值属性信息通过第一指定协议发送至当前处于该虚拟场景内的多个用户终端,并可以将该目标字符串属性信息通过第二指定协议发送至该多个用户终端,以使该多个用户终端分别对当前显示的该虚拟对象的数值属性信息和字符串属性信息进行更新,如此该服务器可以仅向各个终端发送发生变化的属性信息,从而极大地节省了网络资源,而且仅需两条协议:用于传输数值属性信息的第一指定协议和用于发送字符串属性信息的第二指定协议,就可完成各个虚拟对象的属性信息的同步工作,从而减小了协议的维护难度,简化了属性信息的同步工作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种属性信息的更新方法,其特征在于,所述方法包括:
对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从所述虚拟对象的多个属性信息中确定目标属性信息,所述目标属性信息为在所述虚拟场景的运行过程中发生变化的属性信息,所述目标属性信息包括目标数值属性信息和目标字符串属性信息;
将所述虚拟对象的标识、所述目标数值属性信息和所述目标数值属性信息的标识,通过第一指定协议发送至当前处于所述虚拟场景内的多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的数值属性信息进行更新,所述第一指定协议用于传输数值属性信息;
将所述虚拟对象的标识、所述目标字符串属性信息和所述目标字符串属性信息的标识,通过第二指定协议发送至所述多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的字符串属性信息进行更新,所述第二指定协议用于传输字符串属性信息。
2.如权利要求1所述的方法,其特征在于,所述从所述虚拟对象的多个属性信息中确定目标属性信息之前,还包括:
在所述虚拟场景的运行过程中,当检测到所述虚拟对象的任一属性信息发生变化时,对发生变化的属性信息进行标记,得到已标记的属性信息;
相应地,所述从所述虚拟对象的多个属性信息中确定目标属性信息,包括:
从所述虚拟对象的多个属性信息中确定已标记的属性信息;
将所述已标记的属性信息确定为所述目标属性信息;
相应地,所述从所述虚拟对象的多个属性信息中确定目标属性信息之后,还包括:
取消对所述目标属性信息的标记。
3.如权利要求2所述的方法,其特征在于,所述对发生变化的属性信息进行标记,得到已标记的属性信息,包括:
将所述发生变化的属性信息在所述虚拟对象的属性位图中的标记值从第一预设数值更改为第二预设数值,以对所述发生变化的属性信息进行标记,其中,所述属性位图用于指示所述虚拟对象的多个属性信息是否发生改变,所述第一预设数值用于指示属性信息未发生改变,所述第二预设数值用于指示属性信息发生改变;
相应地,所述取消对所述目标属性信息的标记,包括:
将所述目标属性信息在所述虚拟对象的属性位图中的标记值从所述第二预设数值更改为所述第一预设数值。
4.如权利要求1所述的方法,其特征在于,所述对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从所述虚拟对象的多个属性信息中确定目标属性信息之前,还包括:
当接收到指定终端发送的初始化请求时,基于所述指定终端登录的用户账号,获取所述多个虚拟对象中每个虚拟对象的多个属性信息,每个属性信息包括数值属性信息和字符串属性信息,所述指定终端为所述多个用户终端中的任一终端;
对于所述多个虚拟对象中的每个虚拟对象,将所述虚拟对象的标识、所述虚拟对象的多个属性信息包括的数值属性信息以及所述数值属性信息的标识,通过所述第一指定协议发送至所述指定终端;
将所述虚拟对象的标识、所述虚拟对象的多个属性信息包括的字符串属性信息以及所述字符串属性信息的标识,通过所述第二指定协议发送至所述指定终端。
5.如权利要求1-4任一所述的方法,其特征在于,所述方法还包括:
当指定终端退出所述虚拟场景时,向所述指定终端发送对象销毁请求,所述对象销毁请求用于指示所述指定终端将存储的所述多个虚拟对象的标识和所述多个虚拟对象的属性信息进行删除;
将所述虚拟场景中指定虚拟对象的标识和所述指定虚拟对象的属性信息删除,所述指定虚拟对象为所述指定终端在所述虚拟场景中所拥有的虚拟对象。
6.一种属性信息的更新装置,其特征在于,所述装置包括:
确定模块,用于对于虚拟场景包括的多个虚拟对象中的每个虚拟对象,从所述虚拟对象的多个属性信息中确定目标属性信息,所述目标属性信息为在所述虚拟场景的运行过程中发生变化的属性信息,所述目标属性信息包括目标数值属性信息和目标字符串属性信息;
第一发送模块,用于将所述虚拟对象的标识、所述目标数值属性信息和所述目标数值属性信息的标识,通过第一指定协议发送至当前处于所述虚拟场景内的多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的数值属性信息进行更新,所述第一指定协议用于传输数值属性信息;
第二发送模块,用于将所述虚拟对象的标识、所述目标字符串属性信息和所述目标字符串属性信息的标识,通过第二指定协议发送至所述多个用户终端,以使所述多个用户终端对当前显示的所述虚拟对象的字符串属性信息进行更新,所述第二指定协议用于传输字符串属性信息。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
标记模块,用于在所述虚拟场景的运行过程中,当检测到所述虚拟对象的任一属性信息发生变化时,对发生变化的属性信息进行标记,得到已标记的属性信息;
相应地,所述确定模块,包括:
第一确定单元,用于从所述虚拟对象的多个属性信息中确定已标记的属性信息;
第二确定单元,用于将所述已标记的属性信息确定为所述目标属性信息;
相应地,所述装置还包括:
取消标记模块,用于取消对所述目标属性信息的标记。
8.如权利要求7所述的装置,其特征在于,所述标记模块用于:
将所述发生变化的属性信息在所述虚拟对象的属性位图中的标记值从第一预设数值更改为第二预设数值,以对所述发生变化的属性信息进行标记,其中,所述属性位图用于指示所述虚拟对象的多个属性信息是否发生改变,所述第一预设数值用于指示属性信息未发生改变,所述第二预设数值用于指示属性信息发生改变;
相应地,所述取消标记模块用于:
将所述目标属性信息在所述虚拟对象的属性位图中的标记值从所述第二预设数值更改为所述第一预设数值。
9.如权利要求6所述的装置,其特征在于,所述装置还包括:
获取模块,用于当接收到指定终端发送的初始化请求时,基于所述指定终端登录的用户账号,获取所述多个虚拟对象中每个虚拟对象的多个属性信息,每个属性信息包括数值属性信息和字符串属性信息,所述指定终端为所述多个用户终端中的任一终端;
第三发送模块,用于对于所述多个虚拟对象中的每个虚拟对象,将所述虚拟对象的标识、所述虚拟对象的多个属性信息包括的数值属性信息以及所述数值属性信息的标识,通过所述第一指定协议发送至所述指定终端;
第四发送模块,用于对于所述多个虚拟对象中的每个虚拟对象,将所述虚拟对象的标识、所述虚拟对象的多个属性信息包括的字符串属性信息以及所述字符串属性信息的标识,通过所述第二指定协议发送至所述指定终端。
10.如权利要求6-9任一所述的装置,其特征在于,所述装置还包括:
第五发送模块,用于当指定终端退出所述虚拟场景时,向所述指定终端发送对象销毁请求,所述对象销毁请求用于指示所述指定终端将存储的所述多个虚拟对象的标识和所述多个虚拟对象的属性信息进行删除;
删除模块,用于将所述虚拟场景中指定虚拟对象的标识和所述指定虚拟对象的属性信息删除,所述指定虚拟对象为所述指定终端在所述虚拟场景中所拥有的虚拟对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610812625.7A CN106445588B (zh) | 2016-09-08 | 2016-09-08 | 属性信息的更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610812625.7A CN106445588B (zh) | 2016-09-08 | 2016-09-08 | 属性信息的更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106445588A true CN106445588A (zh) | 2017-02-22 |
CN106445588B CN106445588B (zh) | 2018-05-04 |
Family
ID=58167491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610812625.7A Active CN106445588B (zh) | 2016-09-08 | 2016-09-08 | 属性信息的更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445588B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107508924A (zh) * | 2017-10-18 | 2017-12-22 | 珠海市魅族科技有限公司 | 数据同步方法及终端、设备、计算机装置、可读存储介质 |
WO2019105352A1 (zh) * | 2017-11-30 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 用于虚拟地图上资源据点的刷新方法、装置及存储介质 |
CN109996219A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种物联网鉴权方法、网络设备及终端 |
WO2019148992A1 (zh) * | 2018-01-30 | 2019-08-08 | 网易(杭州)网络有限公司 | 游戏场景中虚拟资源的处理方法及装置 |
WO2019228030A1 (zh) * | 2018-06-01 | 2019-12-05 | 腾讯科技(深圳)有限公司 | 信息提示方法和装置、存储介质及电子装置 |
CN110694265A (zh) * | 2019-10-22 | 2020-01-17 | 网易(杭州)网络有限公司 | 游戏中数据同步的方法及装置、电子设备、存储介质 |
CN112260923A (zh) * | 2019-07-22 | 2021-01-22 | 中兴通讯股份有限公司 | 一种桥接网络信息通告方法、设备和公共属性管理组件 |
CN113190506A (zh) * | 2021-04-30 | 2021-07-30 | 维沃移动通信有限公司 | 对象属性保存方法及装置 |
WO2021227301A1 (zh) * | 2020-05-15 | 2021-11-18 | 诺领科技(南京)有限公司 | 卫星导航定位辅助星历数据压缩及传输方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693286A (zh) * | 2012-05-10 | 2012-09-26 | 华中科技大学 | 一种对文件内容与元数据进行组织管理的方法 |
CN103377130A (zh) * | 2012-04-13 | 2013-10-30 | 日立(中国)研究开发有限公司 | 数据存储设备以及相应的数据存储方法 |
CN104702703A (zh) * | 2015-03-30 | 2015-06-10 | 北京奇艺世纪科技有限公司 | 一种数据更新方法及装置 |
CN105072050A (zh) * | 2015-08-26 | 2015-11-18 | 联想(北京)有限公司 | 一种数据传输方法及装置 |
CN105159687A (zh) * | 2015-09-29 | 2015-12-16 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、终端及计算机存储介质 |
CN105183172A (zh) * | 2015-09-28 | 2015-12-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105582674A (zh) * | 2015-12-25 | 2016-05-18 | 网易(杭州)网络有限公司 | 游戏中目标的选择方法和装置 |
-
2016
- 2016-09-08 CN CN201610812625.7A patent/CN106445588B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377130A (zh) * | 2012-04-13 | 2013-10-30 | 日立(中国)研究开发有限公司 | 数据存储设备以及相应的数据存储方法 |
CN102693286A (zh) * | 2012-05-10 | 2012-09-26 | 华中科技大学 | 一种对文件内容与元数据进行组织管理的方法 |
CN104702703A (zh) * | 2015-03-30 | 2015-06-10 | 北京奇艺世纪科技有限公司 | 一种数据更新方法及装置 |
CN105072050A (zh) * | 2015-08-26 | 2015-11-18 | 联想(北京)有限公司 | 一种数据传输方法及装置 |
CN105183172A (zh) * | 2015-09-28 | 2015-12-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN105159687A (zh) * | 2015-09-29 | 2015-12-16 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、终端及计算机存储介质 |
CN105582674A (zh) * | 2015-12-25 | 2016-05-18 | 网易(杭州)网络有限公司 | 游戏中目标的选择方法和装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107508924A (zh) * | 2017-10-18 | 2017-12-22 | 珠海市魅族科技有限公司 | 数据同步方法及终端、设备、计算机装置、可读存储介质 |
WO2019105352A1 (zh) * | 2017-11-30 | 2019-06-06 | 腾讯科技(深圳)有限公司 | 用于虚拟地图上资源据点的刷新方法、装置及存储介质 |
CN109996219A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 一种物联网鉴权方法、网络设备及终端 |
CN109996219B (zh) * | 2018-01-02 | 2022-05-06 | 中国移动通信有限公司研究院 | 一种物联网鉴权方法、网络设备及终端 |
US11224814B2 (en) | 2018-01-30 | 2022-01-18 | Netease (Hangzhou) Network Co., Ltd. | Processing method and apparatus for virtual resource in game scene |
WO2019148992A1 (zh) * | 2018-01-30 | 2019-08-08 | 网易(杭州)网络有限公司 | 游戏场景中虚拟资源的处理方法及装置 |
WO2019228030A1 (zh) * | 2018-06-01 | 2019-12-05 | 腾讯科技(深圳)有限公司 | 信息提示方法和装置、存储介质及电子装置 |
US11439906B2 (en) | 2018-06-01 | 2022-09-13 | Tencent Technology (Shenzhen) Company Limited | Information prompting method and apparatus, storage medium, and electronic device |
CN112260923A (zh) * | 2019-07-22 | 2021-01-22 | 中兴通讯股份有限公司 | 一种桥接网络信息通告方法、设备和公共属性管理组件 |
CN112260923B (zh) * | 2019-07-22 | 2023-05-02 | 中兴通讯股份有限公司 | 一种桥接网络信息通告方法和设备 |
CN110694265A (zh) * | 2019-10-22 | 2020-01-17 | 网易(杭州)网络有限公司 | 游戏中数据同步的方法及装置、电子设备、存储介质 |
WO2021227301A1 (zh) * | 2020-05-15 | 2021-11-18 | 诺领科技(南京)有限公司 | 卫星导航定位辅助星历数据压缩及传输方法 |
CN113190506A (zh) * | 2021-04-30 | 2021-07-30 | 维沃移动通信有限公司 | 对象属性保存方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106445588B (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106445588A (zh) | 属性信息的更新方法及装置 | |
CN104054068A (zh) | 用于远程桌面协议的改进的带宽优化 | |
KR101270991B1 (ko) | 계층적 역할 기반 접근 제어를 위한 키 트리 구성 및 키 분배 방법 | |
CN107204986A (zh) | 云端存储加密方法、解密方法及云端存储加密装置 | |
CN114071698B (zh) | 一种具备参数动态配置与状态感知的自组网数据收发方法及装置 | |
CN109493055A (zh) | 基于区块链的入网区块链设备、数据处理方法及装置 | |
CN110704854B (zh) | 针对文本数据保留格式的流式加密方法 | |
CN101094383A (zh) | Iptv认证鉴权方法、服务器及系统 | |
CN107786331A (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN111639080A (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN110244649A (zh) | Plc内部数据采集方法和系统 | |
CN108733802A (zh) | 识别码生成及解析方法、装置、存储介质和电子设备 | |
CN103491120B (zh) | 一种基于云存储的转移用户信息的系统和方法 | |
CN117135626B (zh) | 一种基于高速加密技术的安全物联网控制系统 | |
CN107454456B (zh) | 一种浮层元素的管理控制方法及系统 | |
CN110191178A (zh) | 一种消息推送系统及消息推送方法、终端设备 | |
CN110598427B (zh) | 数据的处理方法、系统和存储介质 | |
CN109639667A (zh) | 基于本地数据解析的数据采集传输方法、装置及设备 | |
CN106682014B (zh) | 游戏展示数据的生成方法和装置 | |
CN105934759A (zh) | 一种数据更新的方法、装置、终端及服务器 | |
CN108365949A (zh) | 客户实名制信息管理方法、装置及系统 | |
CN109598137B (zh) | 一种用于安全处理数据的方法及其系统 | |
CN104283890B (zh) | 一种针对iec61850报告服务数据通讯映射的改进方法 | |
CN111414341B (zh) | 一种物联网环境下的数据归一化描述方法 | |
CN106230694A (zh) | 即时通讯中基于特征的消息群发方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |