CN117224968A - 对象数据处理方法、装置和存储介质 - Google Patents
对象数据处理方法、装置和存储介质 Download PDFInfo
- Publication number
- CN117224968A CN117224968A CN202210632374.XA CN202210632374A CN117224968A CN 117224968 A CN117224968 A CN 117224968A CN 202210632374 A CN202210632374 A CN 202210632374A CN 117224968 A CN117224968 A CN 117224968A
- Authority
- CN
- China
- Prior art keywords
- data processing
- target
- processing end
- data
- attribute
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 31
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 234
- 238000013507 mapping Methods 0.000 claims abstract description 177
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000000605 extraction Methods 0.000 claims description 28
- 238000005538 encapsulation Methods 0.000 claims description 19
- 230000001360 synchronised effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 239000011800 void material Substances 0.000 description 16
- 230000008569 process Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种对象数据处理方法、装置和存储介质,涉及互联网技术领域,可以应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,应用于对象数据处理系统,包括第一数据处理端和第二数据处理端,方法包括:第一数据处理端接收对象数据更新请求,对象数据更新请求携带有目标成员对象的成员对象标识和成员更新数据,第一数据处理端基于脚本语言构建;第一数据处理端基于目标成员对象的成员对象标识调用第二数据处理端中的目标属性映射对象,第二数据处理端基于面向对象编程语言构建;第二数据处理端根据成员更新数据对目标属性映射对象进行数据更新。本申请能够降低更新资源占用和成本,提高数据同步性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种对象数据处理方法、装置和存储介质。
背景技术
程序运行过程中会产生更新的对象数据,为确保程序任务的正常运行,需在程序的数据服务系统中及时更新对象数据,例如,游戏程序运行时,多个客户端会产生大量的对象更新数据,需要将各客户端的数据更新至数据服务系统,并需要进行多端数据交互。数据服务系统中可能运行有不止一种运行环境,相应的,设置不止一个数据侧,现有的数据更新和同步体系通常针对不同数据侧设置单独的数据更新体系和方案,数据更新成本较高,数据更新的同步性差。
发明内容
本申请提供了一种对象数据处理方法、装置和存储介质,能够解决相关技术中存在的数据更新成本较高和数据更新的同步性差等问题。
一方面,本申请提供了一种对象数据处理方法,应用于数据服务系统,所述数据服务系统包括第一数据处理端和第二数据处理端,所述方法包括:
所述第一数据处理端接收对象数据更新请求,所述对象数据更新请求携带有目标成员对象的成员对象标识和成员更新数据,所述第一数据处理端基于脚本语言构建;
所述第一数据处理端基于所述目标成员对象的成员对象标识调用所述第二数据处理端中的目标属性映射对象,所述第二数据处理端基于面向对象编程语言构建,所述目标属性映射对象是基于目标描述文件对属性映射类进行实例化得到的,所述目标描述文件用于描述至少一个成员对象的建模信息,所述属性映射类表征对所述至少一个成员对象的建模泛化结果,所述至少一个成员对象包括所述目标成员对象;
所述第二数据处理端根据所述成员更新数据对所述目标属性映射对象进行数据更新。
另一方面提供了一种对象数据处理系统,所述系统包括第一数据处理端和第二数据处理端;
所述第一数据处理端用于接收对象数据更新请求,所述对象数据更新请求携带有目标成员对象的成员对象标识和成员更新数据,所述第一数据处理端基于脚本语言构建;基于所述目标成员对象的成员对象标识调用所述第二数据处理端的目标属性映射对象,所述第二数据处理端基于面向对象编程语言构建,所述目标属性映射对象是基于目标描述文件对属性映射类进行实例化得到的,所述目标描述文件用于描述至少一个成员对象的建模信息,所述属性映射类表征对所述至少一个成员对象的建模泛化结果,所述至少一个成员对象包括所述目标成员对象;
所述第二数据处理端用于根据所述成员更新数据对所述目标属性映射对象进行数据更新。
另一方面提供了一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的对象数据处理方法。
另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的对象数据处理方法。
另一方面提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的对象数据处理方法。
另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令被处理器执行时实现如上述的对象数据处理方法。
本申请提供的对象数据处理方法、装置、设备、存储介质、服务器、计算机程序和计算机程序产品,具有如下技术效果:
本申请的技术方案通过第一数据处理端接收对象数据更新请求,对象数据更新请求携带有目标成员对象的成员对象标识和成员更新数据,第一数据处理端基于脚本语言构建;第一数据处理端基于目标成员对象的成员对象标识调用第二数据处理端中的目标属性映射对象,第二数据处理端基于面向对象编程语言构建,目标属性映射对象是基于目标描述文件对属性映射类进行实例化得到的,目标描述文件用于描述至少一个成员对象的建模信息,属性映射类表征对至少一个成员对象的建模泛化结果,至少一个成员对象包括目标成员对象;第二数据处理端根据成员更新数据对目标属性映射对象进行数据更新。如此,第二数据处理端能够通过调用第一数据处理端的属性映射对象即可,通过第二数据处理端实现数据更新,进而实现不同编程语言端侧的数据共享和数据一致性,显著降低更新资源占用和成本,提高数据同步性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种对象数据处理方法的流程示意图;
图3是本申请实施例提供的一种ULM示意图;
图4是本申请实施例提供的另一种对象数据处理方法的流程示意图;
图5是本申请实施例提供的另一种ULM示意图;
图6是本申请实施例提供的另一种对象数据处理方法的流程示意图;
图7是本申请实施例提供的另一种对象数据处理方法的流程示意图;
图8是本申请实施例提供的另一种对象数据处理方法的流程示意图;
图9是本申请实施例提供的另一种对象数据处理方法的流程示意图;
图10是本申请实施例提供的一种对象数据更新的流程示意图;
图11是本申请实施例提供一种对象数据处理系统的框架示意图;
图12是本申请实施例提供的一种对象数据处理方法的电子设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或子模块的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或子模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或子模块。
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,如图1所示,该应用环境可以至少包括终端01和服务器02。在实际应用中,终端01和服务器01可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例中,终端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、智能语音交互设备、智能家电、智能可穿戴设备、车载终端设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。
本申请实施例中,服务器02可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
具体的,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。其中,人工智能云服务,一般也被称作是AIaaS(AI as a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。
具体地,上述涉及的服务器可以包括实体设备,可以具体包括有网络通信子模块、处理器和存储器等等,也可以包括运行于实体设备中的软体,可以具体包括有应用程序等。
本申请实施例中,服务器02端可以运行对象数据处理系统,包括第一数据处理端和第二数据处理端,以提供对象数据处理服务,终端01可以运行目标程序,如游戏应用的客户端,以向服务器02发送对象数据更新请求,和接收服务器02发送的目标同步数据等。
此外,可以理解的是,图1所示的仅仅是一种对象数据处理方法的应用环境,该应用环境可以包括更多或更少的节点,本申请在此不做限制。
本申请实施例涉及的应用环境,或应用环境中的终端01和服务器02等可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、终端)通过网络通信的形式连接形成的分布式系统。分布式系统可以为区块链系统,该区块链系统可以提供上述对象数据处理服务和数据存储服务等。
以下基于上述应用环境介绍本申请的一种对象数据处理方法,本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。请参考图2,图2是本申请实施例提供的一种对象数据处理方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。上述对象数据处理方法应用于对象数据处理系统,对象数据处理系统运行与服务器端,如图2所示,方法可以包括下述步骤S201-S205。
S201:第一数据处理端接收对象数据更新请求。
本申请实施例中,对象数据处理系统包括第一数据处理端和第二数据处理端,第一数据处理端和第二数据处理端可以为目标程序对应的实体设备,也可以是目标程序对应的虚拟机。具体的,第一数据处理端基于脚本语言构建,第二数据处理端基于面向对象编程语言构建,其中,面向对象编程语言包括CPP语言(C++面向对象语言),脚本语言包括LUA语言,相应的,第一数据处理端可以基于LUA语言构建,对应LUA侧,第二数据处理端可以基于CPP语言构建,对应CPP侧。
具体的,对象数据更新请求可以是终端在目标程序在运行过程中,产生目标成员对象的更新数据的情况下生成的,携带有目标成员对象的成员对象标识和成员更新数据。具体的,对象数据处理系统可以通过第一数据处理段和/或第二数据处理端接收终端发送的对象数据更新请求。目标成员对象可以是与目标程序运行过程中的操控对象关联的对象,每一操控对象可以关联一个成员对象组,成员对象组中包括至少一个成员对象,如目标程序为游戏程序时,操控对象可以是游戏角色,目标成员对象可以是与游戏角色关联的对象,如游戏角色的背包物品、角色状态、角色技能和角色任务等。
S203:第一数据处理端基于目标成员对象的成员对象标识调用第二数据处理端中的目标属性映射对象。
具体的,目标属性映射对象是基于目标描述文件对属性映射类进行实例化得到的。其中,目标描述文件是目标程序的建模文件,用于描述至少一个成员对象的建模信息。一些实施例中,目标描述文件可以为XML文件。
一些情况下,目标描述文件可以用于描述一个操控对象关联的至少一个成员对象的建模信息,至少一个成员对象包括目标成员对象。另一些情况下,目标描述文件可以用于描述多个操控对象关联的成员对象的建模信息,属性映射对象与操控对象标识关联,操控对象标识为操控对象的对象名或对象ID等,第一数据处理端基于目标成员对象的成员对象标识确定目标成员对象所属的操控对象,进而调用操控对象标识关联的目标属性映射对象。
目标描述文件用于定义目标成员对象的属性数据格式和数据同步方法等,目标描述文件的建模信息包括但不限于操控对象标识、成员对象标识、成员属性信息、文件描述信息和数据同步信息等,成员对象标识可以为成员对象的对象名或对象ID等,成员属性信息包括但不限于成员对象类型等,数据同步信息包括但不限于数据同步方式、成员对象所属的数据库表名和数据库字段等,数据同步方式可以包括同步客户端方式和同步数据库方式等。
一个实施例中,目标程序为游戏程序,对目标程序对应的游戏世界进行建模,基于XML格式描述建模后的成员对象,得到使用xml格式目标描述文件,目标描述文件描述了成员对象的成员对象类型、成员对象标识、同步客户端方式和同步数据库方式等,结合下述xml格式的代码段介绍目标描述文件的文件描述数据类型,其中,目标描述文件对应的操控对象AvatarProp,第一行为版本信息,第三行为命名空间,这两行主要是meta信息;第五到第九行,描述了Flag信息,该Flag信息为数据同步方式,其中name表明这个Flag的名称,而value表明这个Flag的意义,共支持3种value,分别是OWN_CLIENT、PERSISTENT和OTHER_CLIENTS,分别表示同步至自身的客户端、同步至数据库和同步给数据系统对应的其他客户端,这三种value可以同时使用,比如在第六行中,OWN_PERSISTENT标签的含义是同步至自身的客户端并且同步至数据库。
进一步的,第十一行到第二十八行定义了操控对象AvatarProp的操控对象类型和数据表,多个成员对象的成员对象类型、成员对象标识、数据库字段和数据同步方式等。具体的,class定义了操控对象的对象名为AvatarProp,dbtable指明该操控对象所属的数据库表名,name指明了操控对象的成员对象的对象名,type则指明对象类型,对象类型可以是uint32、uint64、int32、int64或string,也可以为G6PropertyMap等自定义类型,flag指明成员对象的数据同步方式,default则指明了其默认值。对于操控对象类型为自定义类型的成员对象来说,还需要指定成员对象的map信息,包括key和value映射对,其中key为除了自定义类型以外的对象类型,value则可以是上述任意对象类型,如二十四行至二十七行中,均包括key-value映射对。
本申请实施例中,第一数据处理端预存有预定义基类和属性映射类,预定义基类是基础类,定义了多个基础接口,如设置属性名称、描述类名称和描述类类型等,还可以提供预设序列化接口等,属性名称可以赋值为成员对象名称,描述类名称可以赋值为操控对象名称,描述类类型可以赋值为操控对象类型。属性映射类继承自预定义基类,属性映射类表征对至少一个成员对象的建模泛化结果。一些实施例中,属性映射类表征自定义类型的操控对象关联的至少一个成员对象的建模泛化结果,具体描述成员对象的map信息等,属性映射类可以持有多个预定义基类的实例。一些实施例中,第一数据处理端还预存有属性值类,继承自预定义基类,表征非自定义类型的操控对象关联的至少一个成员对象的建模泛化结果,具体描述成员对象的除map信息之外的其它成员属性类型等,属性值类为模板类,模板参数可以为前述的uint32、uint64、int32、int64或string等。
一个实施例中,请参考图3,图3中示出了一个UML(Unified Modeling Language,统一建模语言)图,图中示出了预定义基类(PropBase)、属性映射类(PropMap)和属性值类(PropValue),如图所示,PropBase定义了Property名称(name)和descriptor等基础接口,还提供了序列化接口。PropMap和PropValue继承自PropBase,PropMap用来描述XML描述文件中的Map信息和自定义类型的属性,PropMap里可以持有多个PropBase的实例,记录在items_中。PropValue是一个模板类,用于表示除Map和自定义类型以外的属性,模板参数可以为uint32、uint64、int32、int64或string等。
基于上述部分或全部实施方式,一些实施例中,建模信息还包括文件描述信息,第二数据处理端还预存有预设描述类,相应的,在S203之前,方法还包括文件描述对象的生成步骤,请参考图4,具体包括下述S301-S305。
S301:第二数据处理端基于预设描述类,提取目标描述文件的文件描述信息,得到描述信息提取结果。
S303:第二数据处理端基于预设描述类创建目标描述文件对应的文件描述实例。
S305:第二数据处理端将描述信息提取结果写入文件描述实例,得到文件描述对象。
具体的,预设描述类为属性映射类的反射类,预设描述类可以为单例类,基于该预设描述类读取目标描述文件,以对目标描述文件的建模信息进行文件描述信息提取,得到描述信息提取结果,并创建相应的文件描述实例,基于描述信息提取结果对文件描述实例进行赋值后,得到文件描述对象,以通过文件描述对象来构建数据更新和同步过程中的必要信息。文件描述对象为属性映射类所对应的属性映射对象提供反射信息。
一个实施例中,请参考图5,图5中示出了另一UML示意图,图中示出了预设描述类和继承自预设描述类(PropDescriptorMgr)的文件描述类(PropDescriptor),文件描述对象是文件描述类的实例化对象,是基于PropDescriptorMgr这个单例类生成的。PropDescriptorMgr单例类处理预先定义好的xml描述文件,对该文件进行检查,并将xml描述文件中的文件描述信息提取出来,创建PropDescriptor实例并用前述文件描述信息进行填充,如图所示,PropDescriptorMgr里持有descriptor_(即PropDescriptor)这个属性,它是一个Map,它的key是xml描述文件中的Property类名,如前述代码段第十一行中的“AvatarProp”,value则是PropDescriptor实例。这里的PropDescriptor类相当于xml描述文件的描述类,也相当于属性映射对象的反射类。
一些实施例中,可以将空的属性映射对象与目标映射对象引用进行关联,以实现数据共享,相应的,请参考图6,方法还包括下述步骤S401-S407。
S401:第一数据处理端从第二数据处理端获取文件描述对象。
S403:第一数据处理端基于文件描述对象生成针对第二数据处理端的映射对象创建请求。
S405:第二数据处理端响应于映射对象创建请求,创建空的属性映射对象。
S407:第二数据处理端将空的属性映射对象与目标映射对象引用进行关联。
具体的,获取目标描述文件后,第一数据处理端和第二数据处理端可以分别读取目标描述文件,第一数据处理端无需生成文件描述类,在通过第一数据处理端触发目标属性映射对象创建的情况下,从第二数据处理端获取目标描述文件对应的文件描述对象,并通过映射对象创建请求要求第二数据处理端创建属性映射类对应的空的属性映射对象,同时向第二数据服务端提供目标映射对象引用,以使第二数据服务端实现空的属性映射对象与目标映射对象引用间的关联。这里的目标映射对象引用可以为指针,关联处理可以为将该指针与空的属性映射对象绑定。如此,实现第一数据处理端和第二数据处理端的数据共享,第一数据处理端可以基于目标映射对象引用对属性映射对象进行赋值或数据修改。
实际应用中,目标属性映射对象可以是第一数据处理端赋值得到的,也可以是第二数据处理端赋值得到的。建模信息包括每一成员对象的成员对象标识和成员属性信息,相应的,请参考图7,方法还包括下述步骤S501-S503。
S501:第一数据处理端提取建模信息的成员对象标识和成员属性信息,得到第一属性提取结果。
S503:第一数据处理端通过目标映射对象引用,将提取的第一属性提取结果写入空的属性映射对象,得到目标属性映射对象。
具体的,通过第一数据处理端对目标描述文件进行成员对象标识和成员属性信息提取,并根据提取到的第一属性提取结果,通过目标映射对象引用对空的属性映射对象进行赋值,以生成目标属性映射对象。可以理解的,相当于第一数据端提供数据写入接口,数据写入接口基于目标映射对象引用指向目标属性映射对象,当第一数据处理端接收到对象数据更新请求时,能够请求第二数据处理端进行目标属性映射对象的数据更新。
需要说明的是,将空的属性映射对象与目标映射对象引用绑定后,也可以通过第二数据处理端对目标描述文件进行信息提取,以将提取的属性提取结果对空的属性映射对象进行赋值,以生成目标属性映射对象。
一个实施例中,请参考图10,对象数据更新的流程可以为:第一数据处理端和第二数据处理端分别读取XML描述文件;第一数据处理端创建PropDescriptor对象(文件描述对象);第一数据处理端从第二数据处理端获取PropDescriptor对象;向第二数据处理端发送映射对象创建请求和提供目标映射对象引用;第二数据处理端创建空的PropMap对象(属性映射对象),并将空的PropMap对象与目标映射对象引用绑定;第一数据处理端对空的PropMap对象进行赋值,第一数据处理端将接收的成员更新数据传入PropMap对象,第二数据处理端基于传入的成员更新数据修改PropMap对象。
可以理解的,在该流程中,第一数据处理端会要求第二数据处理端创建PropMap对象,然后第一数据处理端能够引用到第二数据处理端的PropMap对象,当第二数据处理端存在数据更新需求时,会要求第二数据处理端进行PropMap对象修改。第二数据处理端生成的PropDescriptor对象两端共享,且第一数据处理端无需生成PropertyClass封装类,仅提供了接口,数据更新实现在第二数据处理端。
另一些实施例中,可以将目标属性映射对象与目标映射对象引用进行关联,相应的,在S203之前,请参考图8,方法还包括下述步骤S601-S603。
S601:第二数据处理端基于属性映射类,提取目标描述文件中的成员对象标识和成员属性信息,得到第二属性提取结果。
S603:第二数据处理端根据第二属性提取结果对属性映射类进行实例化,得到目标属性映射对象。
S605:第二数据处理端将目标属性映射对象与第一数据处理端的目标映射对象引用进行关联。
具体的,第二数据处理端可以基于目标描述文件创建属性映射类对应的空的属性映射对象,然后将从目标描述文件中提取到的包括成员对象标识和成员属性信息等的第二属性提取结果,对空的属性映射对象进行赋值,进而得到目标属性映射对象。然后,将赋值的目标属性映射对象与目标映射对象引用进行关联,以实现数据共享。
具体的,第一数据处理端可以通过第二数据处理端的属性映射对象实现成员对象的数据更新,在获取目标描述文件后,第一数据处理端通过读取目标描述文件,创建目标描述文件对应的目标映射对象引用,并将目标映射对象引用传入第一数据处理端,以使第一数据处理端绑定目标属性映射对象和目标映射对象引用,进而使第一数据处理端和第二数据处理端共享目标属性映射对象中存储的成员对象数据,以及能够共同对成员对象数据进行更新。
S205:第二数据处理端根据成员更新数据对目标属性映射对象进行数据更新。
本申请实施例中,第一数据处理端通过上述目标映射对象引用调用第二数据处理端的目标属性映射对象,并基于目标映射对象引用将成员更新数据传入第二数据处理端,以使第二数据处理端将成员更新数据写入目标属性映射对象。
综上,第二数据处理端能够通过调用第一数据处理端的属性映射对象即可,通过第二数据处理端实现数据更新,进而实现不同编程语言端侧的数据共享和数据一致性,显著降低更新资源占用和成本,提高数据同步性。
实际应用中,方法还包括S701:第一数据处理端对目标描述文件中的建模信息进行封装和对象化处理,得到属性封装类。
具体的,属性封装类继承自属性映射类,用于定义至少一个成员对象的对象数据缓存接口。对象数据缓存接口可以与成员对象一一对应设置,通过对象数据缓存接口可以直接读取相应成员对象在缓存中存储的对象数据,而无需进行数据遍历查找,实现数据存储的快速访问,优化数据查询和更新性能。
可以理解的,成员对象的对象数据仍然存储在属性映射对象中,属性封装类定义了每一成员对象的对象数据所对应的缓存接口,而不存储数据。具体的,可以通过预设代码生成工具执行上述S701,属性封装类是目标描述文件格式到面向对象编程语言的映射,包括了目标描述文件里定义的字段。通过预设代码生成工具逐行遍历目标描述文件,进行字段提取和赋值。
如此,通过目标描述文件,如XML格式的文件描述数据类型,对成员对象的成员类型信息、成员对象名称、数据同步方式等进行描述,实现程序运行环境的数据建模,如对游戏世界进行建模,然后通过对目标描述文件进行实例化和数据封装处理,以生成对应的文件描述对象和属性映射对象,供多端调用,实现数据存储、数据更新和数据同步,不仅支持单端的开发和数据处理,如CPP端或Lua端,还能够支持多端(如CPP端/Lua端)的混合开发和数据处理方案,有利于多端程序开发和运行,降低开发成本和运行过程中的数据处理成本,提高数据处理效率,尤其适用于倾向使用Lua和CPP等语言共同开发的游戏程序。
一个实施例中,预设代码生成工具读到xml描述文件Property class字段后生成CPP类名,当读到Member name字段后将生成成员对象名,接下来读到tpye字段则生成相应的对象类型,至完成整个xml描述文件的读取,从而生成属性封装类;若读到default字段则会给该成员对象赋初值,如果读到flag字段则会生成对应的数据同步接口。
一个实施例中,第二数据处理端基于CPP语言构建,以前述的XML描述文件代码段为例,预设代码生成工具基于该代码段生成了“AvatarProp”的属性封装类,该类提供了Get_XXX及Set_XXX的方法,以设置封装类示例的各属性值。具体的,“AvatarProp”的属性封装类的部分代码段如下所示。
class AvatarProp:public g6::game::PropMap{
public:
AvatarProp());
virtual~AvatarProp(){}
static g6::game::PropPtr Create();
uint32_t Get envid(){return envid_->GetValue();}
void Set envid(uint32_t);
uint64 t Get customid0){return customid->GetValueO;}
void Set customid(uint64 t);
uint64 t Get id(){return id->GetValue();}
void Set_id(uint64_t);
int32 t Get level(){return level->GetValue();}
void Set level(int32_t);
int32_t Get_sex(){return sex_->GetValue();}
void Set_sex(int32_t);
int32_t Get race(){return race->GetValue();}
void Set_race(int32_t);
int32_t Get_career(){return career_->GetValue();}
void Set_career(int32_t);
int32_t Get_exp(){return exp_->GetValue();}
void Set_exp(int32_t);
int32_t Get_hp(){return hp_->GetValue();}
void Set_hp(int32_t);
int32_t Get_mp(){return mp_->GetValue();}
void Set_mp(int32_t);
std::string Get name(){return name_->GetValue();}
void Set_nane(std::string);
int32_t Get state(){return state->GetValue();}
void Set_state(int32_t);
std::shared_ptr<g6::game::PropMap>Get aistate map(){return aistatemap;}
int32 t Get aistate map(int32 t):
void Set aistate map(int32 t,int32 t);
void Del_aistate_map(int32_t);
std::shared_ptr<g6::game::PropMap>Get_bag(){return bag_;}
std::shared ptr<itemProp>Get bag(uint64_t);
void Set bag(uint64_t,std::shared_ptr<ItemProp>);
void Del bag(uint64_t);
std::shared_ptr<g6::game::PropMap>Get_attribute_map(){returnattribute_map_;}
int32_t Get attribute map(int32_t);
一个实施例中,请参考图,ULM图中还示出了属性封装类(PropertyClass),是基于预设代码生成工具生成的,其中,xml_item1和xml_item2为定义的对象数据缓存接口,提供了缓存数据的快速访问,对象数据还是存在PropMap中,提升了数据查询性能。PropertyClass类是由代码生成工具生成的一个封装类,它的对象数据和方法依然由它的父类PropMap提供。
具体的,预设描述类可以为属性封装类的反射类,为属性封装对象提供反射信息,以通过属性封装类和预设描述类的文件描述实例来操纵整个对象数据处理系统。一个实施例中,请参考图5,图中用AbstractPropClass类来指代指代PropertyClass类,PropertyClass类持有PropDescriptor类的实例。
基于上述技术方案,使用基于属性的数据更新和同步方案,其底层实现方式支持protobuf的序列化和反序列化,能够保证同步的高性能和较小的空间消耗,其上层则是属性映射对象,该对象是通过XML等格式的描述文件产生的,便于开发人员建模。对于属性映射对象同步,其既能够在CPP端等使用,同时能够在Lua端等使用,更贴近程序开发场景,如游戏程序开发场景,有利于降低开发成本。本方案能够快速移植到任意游戏引擎,或是软件系统,大大拓展了对象数据处理系统的适用范围。此外,本方案还支持对象数据的自动同步,如Map数据类型的同步、客户端同步和数据库同步等,同步方式灵活,成本低。
基于上述部分或全部方式,本申请实施例中,方法还包括数据同步方案,相应的,目标描述文件还包括数据同步配置信息;在S205之后,请参考图9,方法还包括下述S801-S803。
S801:第二数据处理端调用序列化接口对成员更新数据进行序列化处理,得到目标同步数据。
S803:第二数据处理端基于数据同步配置信息将目标同步数据发送至数据同步端。
实际应用中,数据同步端可以包括但不限于数据库端、自身客户端和其它客户端等,数据同步配置信息中包括目标成员对象的数据同步端。在基于成员更新数据对目标属性映射类进行赋值和修改后,自动调用预设的序列化接口对成员更新数据进行序列化,并根据数据同步配置信息的设置,可以将目标同步数据发送至数据同步队列,进而定期同步至数据库端或客户端,或响应于数据同步端的同步请求,将数据同步队列中的目标同步数据发送数据同步端。
可以理解的,在第二数据处理端接收到对象数据更新请求的情况下,第二数据处理端可以直接对目标属性映射对象中的对象数据进行更新。
此外,第一数据处理端也可以创建对应的属性映射对象,并无需创建文件描述对象和属性封装类。具体的,第一数据处理端基于预存的属性映射类创建目标描述文件对应的空的属性映射对象,并基于提取的属性结果数据对空的属性映射对象进行赋值,得到目标属性映射对象,并且,第一数据处理端通过目标映射对象引用绑定自身侧的目标属性映射对象和第二数据处理端的目标属性映射对象,两端的目标属性映射对象的生命期相同,实现对象数据共享。一个实施例中,第一数据处理端为Lua端,第二数据处理端为CPP端,CPP端创建属性映射对象后,会主动调用函数并传入CPP对象引用来执行Lua方法,在Lua端获得该CPP对象引用后,将Lua映射对象引用与CPP侧传进来的CPP对象引用绑定,从而使得CPP和Lua两边引用相同的属性映射对象,从而使两端的对象数据一致。
一个实施例中,第一数据处理端为LUA端,LUA端自身生成的属性映射对象的代码段如下所示。
G6Log.LogDebug("=========test property begin=============")
self:G6InitProperty(PropMap("AvatarProp"))
self.prop=self:G6GetProps()
self.prop.customid=201;
self.prop.id=100;
self.prop.level=100;
self.prop.hp=120;
self.prop.state=221;
self.prop::SetOwner(self);
基于代码段所示,通过对self.prop赋值即可对LUA端的属性映射对象进行赋值,其数据更新和数据同步的操作方式基于XML描述文件定义的规则执行。与CPP端的引用绑定可以通过在lua侧使用SetOwner实现两端属性映射对象的绑定,从而让两端共享属性映射对象的数据。
综上,本方案可以作为插件引入各种程序的数据处理系统,如应用在任意游戏种类上,能够快速接入,配置和部署方便,不需要依赖其他外部系统或特定引擎。同时,本方案使用简单,学习成本低,性能优越,能够满足大量客户端及大量成员对象的数据同步需求,节省硬件资源。除此之外,本方案小巧轻量,在游戏开发场景下,能够快速移植到任意游戏开发系统,拓展了数据处理系统的使用边界。举例来说,对于开发一款大型游戏,相比于使用UE,使用本方案的接入成本很低,仅仅通过引入头文件后进行编译即可,没有繁琐的配置或者其他依赖系统,使用简单,且数据处理性能优异,能够满足多人大世界游戏品类的数据同步需求。
本申请实施例还提供了一种对象数据处理系统800,如图11所示,系统包括第一数据处理端10和第二数据处理端20。
第一数据处理端用于接收对象数据更新请求,对象数据更新请求携带有目标成员对象的成员对象标识和成员更新数据,第一数据处理端基于脚本语言构建;以及用于基于目标成员对象的成员对象标识调用第二数据处理端中的目标属性映射对象,第二数据处理端基于面向对象编程语言构建,目标属性映射对象是基于目标描述文件对属性映射类进行实例化得到的,目标描述文件用于描述至少一个成员对象的建模信息,属性映射类表征对至少一个成员对象的建模泛化结果,至少一个成员对象包括目标成员对象;
第二数据处理端用于根据成员更新数据对目标属性映射对象进行数据更新。
一些实施例中,第一数据处理端还用于:对目标描述文件中的建模信息进行封装和对象化处理,得到属性封装类,属性封装类继承自属性映射类,用于定义至少一个成员对象的对象数据缓存接口。
一些实施例中,建模信息还包括文件描述信息,第二数据处理端还用于:第一数据处理端基于目标成员对象的成员对象标识调用第二数据处理端的目标属性映射对象之前,基于预设描述类,提取目标描述文件的文件描述信息,得到描述信息提取结果,预设描述类为属性映射类的反射类;基于预设描述类创建目标描述文件对应的文件描述实例;以及将描述信息提取结果写入文件描述实例,得到文件描述对象。
一些实施例中,第一数据处理端还用于从第二数据处理端获取目标描述文件对应的文件描述对象,基于文件描述对象生成针对第二数据处理端的映射对象创建请求,以及基于建模信息生成目标描述文件对应的目标映射对象引用;
相应的,第二数据处理端还用于响应于映射对象创建请求,创建属性映射类对应的空的属性映射对象;以及将空的属性映射对象与目标映射对象引用进行关联。
一些实施例中,目标描述文件还包括成员对象标识和成员属性信息;第一数据处理端用于提取建模信息的成员对象标识和成员属性信息,得到第一属性提取结果;以及通过目标映射对象引用,将提取的第一属性提取结果写入空的属性映射对象,得到目标属性映射对象。
一些实施例中,建模信息包括每一成员对象的成员对象标识和成员属性信息;第二数据处理端还用于在第一数据处理端基于目标成员对象的成员对象标识调用第二数据处理端的目标属性映射对象之前,基于属性映射类,提取目标描述文件中的成员对象标识和成员属性信息,得到第二属性提取结果;以及用于根据第二属性提取结果对属性映射类进行实例化,得到目标属性映射对象。
一些实施例中,第二数据处理端还用于:在第二数据处理端根据第二属性提取结果对属性映射类进行实例化,得到目标属性映射对象之后,将目标属性映射对象与第一数据处理端的目标映射对象引用进行关联,目标映射对象引用为第一数据处理端基于建模信息生成的与目标描述文件对应的引用。
一些实施例中,目标描述文件还包括数据同步配置信息;第二数据处理端还用于在根据成员更新数据对目标属性映射对象进行数据更新之后,调用序列化接口对成员更新数据进行序列化处理,得到目标同步数据;以及基于数据同步配置信息将目标同步数据发送至数据同步端。
一些实施例中,面向对象编程语言包括CPP语言,脚本语言包括LUA语言。
需要说明的是,上述系统实施例与方法实施例基于相同的实施方式。
本申请实施例提供了一种对象数据处理设备,该识别设备可以为终端或服务器,该对象数据处理设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的对象数据处理方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置等电子设备中执行。图12是本申请实施例提供的一种对象数据处理方法的电子设备的硬件结构框图。如图12所示,该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)910(处理器910可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在电子设备900上执行存储介质920中的一系列指令操作。电子设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图12所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备900还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。
本申请的实施例还提供了一种计算机可读存储介质,存储介质可设置于电子设备之中以保存用于实现方法实施例中一种对象数据处理方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的对象数据处理方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
由上述本申请提供的对象数据处理方法、装置、设备、服务器、终端存储介质和程序产品的实施例可见,本申请的技术方案通过第一数据处理端接收对象数据更新请求,对象数据更新请求携带有目标成员对象的成员对象标识和成员更新数据,第一数据处理端基于脚本语言构建;第一数据处理端基于目标成员对象的成员对象标识调用第二数据处理端中的目标属性映射对象,第二数据处理端基于面向对象编程语言构建,目标属性映射对象是基于目标描述文件对属性映射类进行实例化得到的,目标描述文件用于描述至少一个成员对象的建模信息,属性映射类表征对至少一个成员对象的建模泛化结果,至少一个成员对象包括目标成员对象;第二数据处理端根据成员更新数据对目标属性映射对象进行数据更新。如此,第二数据处理端能够通过调用第一数据处理端的属性映射对象即可,通过第二数据处理端实现数据更新,进而实现不同编程语言端侧的数据共享和数据一致性,显著降低更新资源占用和成本,提高数据同步性。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种对象数据处理方法,应用于对象数据处理系统,所述对象数据处理系统包括第一数据处理端和第二数据处理端,其特征在于,所述方法包括:
所述第一数据处理端接收对象数据更新请求,所述对象数据更新请求携带有目标成员对象的成员对象标识和成员更新数据,所述第一数据处理端基于脚本语言构建;
所述第一数据处理端基于所述目标成员对象的成员对象标识调用所述第二数据处理端中的目标属性映射对象,所述第二数据处理端基于面向对象编程语言构建,所述目标属性映射对象是基于目标描述文件对属性映射类进行实例化得到的,所述目标描述文件用于描述至少一个成员对象的建模信息,所述属性映射类表征对所述至少一个成员对象的建模泛化结果,所述至少一个成员对象包括所述目标成员对象;
所述第二数据处理端根据所述成员更新数据对所述目标属性映射对象进行数据更新。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一数据处理端对所述目标描述文件中的建模信息进行封装和对象化处理,得到属性封装类,所述属性封装类继承自所述属性映射类,用于定义所述至少一个成员对象的对象数据缓存接口。
3.根据权利要求1所述的方法,其特征在于,所述建模信息还包括文件描述信息,在所述第一数据处理端基于所述目标成员对象的成员对象标识调用所述第二数据处理端的目标属性映射对象之前,所述方法还包括:
所述第二数据处理端基于预设描述类,提取所述目标描述文件的文件描述信息,得到描述信息提取结果,所述预设描述类为所述属性映射类的反射类;
所述第二数据处理端基于所述预设描述类创建所述目标描述文件对应的文件描述实例;
所述第二数据处理端将所述描述信息提取结果写入所述文件描述实例,得到文件描述对象。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述第一数据处理端从所述第二数据处理端获取所述目标描述文件对应的文件描述对象;
所述第一数据处理端基于所述文件描述对象生成针对所述第二数据处理端的映射对象创建请求;
所述第一数据处理端基于所述建模信息生成所述目标描述文件对应的目标映射对象引用;
所述第二数据处理端响应于所述映射对象创建请求,创建所述属性映射类对应的空的属性映射对象;
所述第二数据处理端将所述空的属性映射对象与所述目标映射对象引用进行关联。
5.根据权利要求4所述的方法,其特征在于,所述建模信息包括每一成员对象的成员对象标识和成员属性信息;所述方法还包括:
所述第一数据处理端提取所述建模信息的成员对象标识和成员属性信息,得到第一属性提取结果;
所述第一数据处理端通过所述目标映射对象引用,将提取的第一属性提取结果写入所述空的属性映射对象,得到所述目标属性映射对象。
6.根据权利要求1所述的方法,其特征在于,所述建模信息包括每一成员对象的成员对象标识和成员属性信息;在所述第一数据处理端基于所述目标成员对象的成员对象标识调用所述第二数据处理端的目标属性映射对象之前,所述方法还包括:
所述第二数据处理端基于所述属性映射类,提取所述目标描述文件中的成员对象标识和成员属性信息,得到第二属性提取结果;
所述第二数据处理端根据所述第二属性提取结果对所述属性映射类进行实例化,得到所述目标属性映射对象。
7.根据权利要求6所述的方法,其特征在于,在所述第二数据处理端根据所述第二属性提取结果对所述属性映射类进行实例化,得到所述目标属性映射对象之后,所述方法还包括:
所述第二数据处理端将所述目标属性映射对象与所述第一数据处理端的目标映射对象引用进行关联,所述目标映射对象引用为所述第一数据处理端基于所述建模信息生成的与所述目标描述文件对应的引用。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述目标描述文件还包括数据同步配置信息;在所述第二数据处理端根据所述成员更新数据对所述目标属性映射对象进行数据更新之后,所述方法还包括:
所述第二数据处理端调用序列化接口对所述成员更新数据进行序列化处理,得到目标同步数据;
所述第二数据处理端基于所述数据同步配置信息将所述目标同步数据发送至数据同步端。
9.一种对象数据处理系统,其特征在于,所述系统包括第一数据处理端和第二数据处理端;
所述第一数据处理端用于接收对象数据更新请求,所述对象数据更新请求携带有目标成员对象的成员对象标识和成员更新数据,所述第一数据处理端基于脚本语言构建;以及用于基于所述目标成员对象的成员对象标识调用所述第二数据处理端中的目标属性映射对象,所述第二数据处理端基于面向对象编程语言构建,所述目标属性映射对象是基于目标描述文件对属性映射类进行实例化得到的,所述目标描述文件用于描述至少一个成员对象的建模信息,所述属性映射类表征对所述至少一个成员对象的建模泛化结果,所述至少一个成员对象包括所述目标成员对象;
所述第二数据处理端用于根据所述成员更新数据对所述目标属性映射对象进行数据更新。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8中任一项所述的对象数据处理方法。
11.一种计算机设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-8中任一项所述的音频数据处理方法。
12.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1-8中任一项所述的音频数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210632374.XA CN117224968A (zh) | 2022-06-06 | 2022-06-06 | 对象数据处理方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210632374.XA CN117224968A (zh) | 2022-06-06 | 2022-06-06 | 对象数据处理方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117224968A true CN117224968A (zh) | 2023-12-15 |
Family
ID=89091694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210632374.XA Pending CN117224968A (zh) | 2022-06-06 | 2022-06-06 | 对象数据处理方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117224968A (zh) |
-
2022
- 2022-06-06 CN CN202210632374.XA patent/CN117224968A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109308224B (zh) | 跨平台数据通信、跨平台数据处理的方法、装置及系统 | |
CN111324571B (zh) | 一种容器集群管理方法、装置及系统 | |
US11016785B2 (en) | Method and system for mirror image package preparation and application operation | |
WO2018072626A1 (zh) | 组件调用的方法和装置、组件数据处理的方法和装置 | |
US20150169302A1 (en) | System and method for pervasive software platform-based model driven architecture transaction aware application generator | |
CN112199164A (zh) | 一种保证容器镜像一致性的方法 | |
CN103716346A (zh) | 一种安卓手机客户端上应用的管理方法和装置 | |
WO2024082930A1 (zh) | 一种云计算实例创建方法及装置 | |
CN111736835A (zh) | 一种表单处理的方法、装置及存储介质 | |
CN116931910A (zh) | 基于协议框架的开发方法、装置、电子设备及存储介质 | |
CN114840310A (zh) | 容器创建方法、装置、电子设备和计算机可读存储介质 | |
CN112698930B (zh) | 一种获取服务器标识的方法、装置、设备及介质 | |
WO2024041035A1 (zh) | 机器学习模型的管理方法、装置、管理平台和存储介质 | |
CN117389647A (zh) | 插件生成方法、应用程序开发方法、装置、设备及介质 | |
CN116932147A (zh) | 流式作业处理方法、装置、电子设备及介质 | |
CN117224968A (zh) | 对象数据处理方法、装置和存储介质 | |
CN115361382B (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN108595160B (zh) | Js调用原生对象的方法、存储介质 | |
EP4318236A1 (en) | Management method and system for computing node | |
CN115794400A (zh) | 深度学习模型的内存管理方法、装置、设备及存储介质 | |
CN111651146B (zh) | 一种函数生成方法、装置、设备和介质 | |
CN116774910A (zh) | 网络数据处理方法、装置、设备、存储介质及程序产品 | |
CN117112500B (zh) | 一种资源管理方法、装置、设备和存储介质 | |
CN118502965B (zh) | 加速卡分配方法、装置和人工智能平台 | |
CN110719303A (zh) | 一种容器化nrf的方法及系统 |
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 |