CN105488056B - 一种对象处理方法与设备 - Google Patents
一种对象处理方法与设备 Download PDFInfo
- Publication number
- CN105488056B CN105488056B CN201410476211.2A CN201410476211A CN105488056B CN 105488056 B CN105488056 B CN 105488056B CN 201410476211 A CN201410476211 A CN 201410476211A CN 105488056 B CN105488056 B CN 105488056B
- Authority
- CN
- China
- Prior art keywords
- markup information
- node
- object instance
- mapping
- field
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的目的是提供一种对象处理方法及设备。与现有技术相比,本申请通过获取关于对象实例的映射标注信息;再根据所述映射标注信息将所述对象实例映射至对应应用的节点树。与现有技术相比,本申请通过在对象实例中附带映射标注信息的方式来将对象实例映射至与节点树相映射,以实现对象实例在树形存储结构中的持久化存储,提高了对对象实例的操作效率;同时,由于对象实例和映射标注信息均以面向对象程序设计思想进行设计,对于研发人员来说,能够有效简化编程。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种对象处理技术。
背景技术
面向对象编程(OOP)因其封装、继承等技术优势被应用于越来越多的系统;而且,在实际应用中,对象实例往往还需要被持久化,例如通过将该对象实例映射至关系型数据库实现该对象实例在该关系型数据库中持久存储,以便后续访问该对象实例的相关数据。
随着分布式系统技术的发展,开始涌现基于其他结构的存储组织,例如ZooKeeper等树形存储结构。ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。对于一些数据量不大,单个数据较小,数据一致性要求较高的场景,可以考虑使用zookeeper进行一些关键数据的持久化,比如配置文件,系统的元信息等。由于树形存储结构与关系型数据库的不同存储结构,现有技术无法实现对象实例至树形存储结构的映射。
申请内容
本申请的目的是提供一种对象处理方法及设备。
根据本申请的一个方面,提供了一种对象处理方法,包括:
获取关于对象实例的映射标注信息;
根据所述映射标注信息将所述对象实例映射至对应应用的节点树。
根据本申请的另一方面,还提供了一种对象处理设备,包括:
第一装置,用于获取关于对象实例的映射标注信息;
第二装置,用于根据所述映射标注信息将所述对象实例映射至对应应用的节点树。
与现有技术相比,本申请通过在对象实例中附带映射标注信息的方式来将对象实例映射至与节点树相映射,以实现对象实例在树形存储结构中的持久化存储,提高了对对象实例的操作效率;同时,由于对象实例和映射标注信息均以面向对象程序设计思想进行设计,对于研发人员来说,能够有效简化编程。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种对象处理设备示意图;
图2示出根据本申请一个优选实施例所得到的节点树的结构示意图图;
图3示出根据本申请一个优选实施例的一种对象处理设备示意图;
图4示出根据本申请另一个方面的一种对象处理方法流程图;
图5示出根据本申请一个优选实施例的一种对象处理方法流程图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
图1示出根据本申请一个方面的一种对象处理设备。所述对象处理设备1包括:第一装置11和第二装置12。具体地,所述第一装置11用于获取关于对象实例的映射标注信息。所述第二装置12用于根据所述映射标注信息将所述对象实例映射至对应应用的节点树。
在此,所述对象处理设备1可由网络主机、单个网络服务器、多个网络服务器集或个人计算机等实现。本领域技术人员应能理解上述对象处理设备1仅为举例,其他现有的或今后可能出现的对象处理设备1如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在此,所述对象处理设备1包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,在面向对象的程序运行中,所述第一装置11从对象实例中所携带的注解中获取关于所述对象实例的映射标注信息,并将所述映射标注信息提供给所述第二装置12。接着,所述第二装置12根据所述映射标注信息中所提供的信息来确定相应应用的节点树,并将所述对象实例与所述节点树相映射。
例如,所述第一装置11从一对象实例中的@Node注解类中获得的映射标注信息中包括“/Consumer”,并将所述映射标注信息和所述对象实例提供给所述第二装置12,则所述第二装置12根据所接收的映射标注信息确定根节点为Consumer的节点树,并将所述对象实施例与该节点树相映射。其中,所述第二装置12可以根据所述映射标注信息中的其他标注信息从该节点树中确定一个节点来对应所述对象实例的属性。
在此,所述对象实例包括任何用于直接参与实现某具体功能的、基于面向对象编程思想所构建的对象实例,而非抽象类。其包括但不限于:Pojo(Plain Old Java Object,简单的Java对象)对象等。
在此,所述应用的节点树是指以树形数据结构形式来对应某一应用中所暂存或持久保存的数据的方式,其包括但不限于:用于映射存储在缓存(cache)或内存中数据的树形结构。例如,/Consumer/test的节点树中的Consumer既为根节点也对应该应用,test为Consumer根节点下的一个子节点,该子节点映射一个对象实例的属性。
在此,所述映射标注信息包括任何用于表示对象实例所对应的节点树及节点属性的信息。其包括但不限于以下至少任一项:类标注信息、字段标注信息。其中,所述字段标注信息包括:1)用于将对象实例的属性持久化于对应节点路径的字段标注信息。例如,节点树的根节点为“Consumer”,与所述根节点相连的节点A1的名称为“test”,类似于目录的格式,则所述字段标注信息中表示节点A1的方式为“/Consumer/test”,所述第二装置12可根据该字段标注信息能够找到对象实例所要映射的“/Consumer”节点树中的“/Consumer/test”节点树。
2)用于将对象实例的属性持久化于顺序节点所生成的递增数值的字段标注信息。具体地,节点树中的每个节点按照建立顺序设置ID数值,则所述第二装置12可根据所接收的ID数值来确定相应的节点树中的分支,并建立所确定的节点树中的节点与对象实例的属性的映射关系。例如,在注解类中标注设置如下代码,则当所述第二装置在节点数中添加节点时,节点的ID数值由0开始自动加1。
3)用于将对象实例的属性映射为对应节点下的独立节点的字段标注信息。具体地,在一个节点下存有一个对象实例的多个属性,每个属性由独立的字段来标注,当所述映射标注信息中包含该字段标注信息时,则所述第二装置12据此在所对应的节点树中的节点中来映射一个对象实例的某一或多个属性。例如,所述第二装置12执行如下代码时,节点树将呈现图2所示结构。具体地,当所述name参数赋值为topicB、且第二装置12接收到包含/topics/topicB节点树及topicB节点下的taskCoftopicB字段标注信息的映射标注信息时,则将对象实例的属性与taskCoftopicB字段标注信息相映射。
优选地,所述映射标注信息还可包括子节点引用信息“@SubNode”,来引用当前节点的子节点来定义该当前节点的字段。例如若当前节点仅包括一个子节点,假设子节点的类型为Task,则可以使用如下表述:
又如,若当前节点包括多个子节点时,可使用“List”关键字来引用多个字段。接前段示例,对应于Topic类的对象实例的节点“name”,引用其多个类型为partition的子节点来定义该节点中的相关字段;对应于partition类的对象实例的节点“name”,引用其多个类型为task的子节点来定义该节点中的相关字段。在此,该等由子节点标注的字段被视为节点树中的一个节点,并通过递归的方式被序列化或去序列化。
当所述映射标注信息包括多个所述字段标注信息时,优选地,相邻的所述字段标注信息通过定界符来间隔。
具体地,当@NodeName有多个,或者@NodeName和@NodeSeq同时出现时,它们都会出现在节点路径的名称里,为了从路径里解析出对应的字段,字段需要有定界符来分割。
例如,所述映射标注信息中的字段标注信息为“/consumer/Cc-Dd”,所述第二装置12预设的定界符为'-',则所述第二装置12根据下述Consumer类的定义解析所述字段标注信息,得到:Cc为firstName,Dd为lastName。
则所述第二装置12在consumer节点树中的firstName为Cc、lastName为Dd的节点处得到所映射的password属性。
在此,所述类标注信息包括但不限于:类名等。例如,节点树中的每个节点以一个对象实例的类名来命名。则当所述映射标注信息包含类标注信息时,所述第二装置12还根据所述类标注信息将所述对象实例映射为对应应用的节点树。
例如,所述第一装置11从Test类的对象实例中的注解类中获取映射标注信息包括:“/Consumer/Test”,则所述第二装置12从根节点为Consumer的节点树中找到“/Consumer/Test”的节点树,并建立所述Test类的对象实例的属性与Test节点之间的映射关系。
作为一种优选方案,所述第一装置11还对对象实例执行对象操作处理,并对处理后的所述对象实例添加映射标注信息。
具体地,所述第一装置11按照程序设定对对象实例进行增删改等操作处理,当操作完成后按照设计要求需要将对象实例与节点树中的某一节点进行映射时,所述第一装置11按照所述对象实例所对应的应用的节点树的设置规则,将处理后的所述对象实例添加映射标注信息。
例如,所述第一装置11中预设了各应用的节点树中各节点的设置规则,其中包括:按照应用B1中各类的类名+序号的方式来为每个节点命名。所述第一装置11按照创建指令新增应用B1中的对象实例b1,在创建完成后按照预设的设置规则将对象实例b1添加“/应用B1的名称/对象实例b1所在类的类名+顺序编号”的映射标注信息。
需要说明的是,本领域技术人员应该理解,上述对对象实例进行对象操作处理的方式、以及添加映射标注信息的方式仅为举例,其他现有的或今后可能出现的对对象实例进行对象操作处理的方式、以及添加映射标注信息的的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述第一装置11还根据对象操作指令对对象实例执行对象操作处理,其中,处理后的所述对象实例包括与所述对象操作指令相对应的映射标注信息。在此,所述对象操作指令包括但不限于:增删改对象实例的属性的操作指令、增删改对象实例所对应的映射标注信息的操作指令。
例如,所述第一装置11通过执行如下代码来获取consumer对象实例的映射标注信息及对象实例的属性。
当所述第一装置11执行mapper.save(new Consumer("test","123456"))的对象操作指令时,不但创建了一个对象实例,所述对象实例包含“/consumers/test”的映射标注信息,还在consumer节点树中建立test节点。
需要说明的是,本领域技术人员应该理解,上述根据对象操作指令对对象实例执行对象操作处理仅为举例,其他现有的或今后可能出现的根据对象操作指令对对象实例执行对象操作处理如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图3示出了根据本申请的又一种对象处理设备1。所述对象处理设备1包括:第一装置11、第二装置12及第三装置13。具体地,当所述对象处理设备1所处理的对象实例需要与相应应用的节点树相映射时,所述第一装置11获取关于对象实例的映射标注信息,再由所述第二装置12根据所述映射标注信息将所述对象实例映射至对应应用的节点树中的节点。反过来,当所述对象处理设备1需要通过节点查询对象实例时,所述第三装置13根据所述映射标注信息,对所述节点树进行匹配查询,确定一个或多个被映射至所述节点树的对象实例。
例如,所要查询的映射标注信息包括:“parent:/consumer/test”,则所述第三装置13通过查询consumer节点树,将父节点为test下的所有节点所对应的对象实例以List类的方式予以反馈。
又如,所述第三装置13通过执行包含如Condition where(Object key,Op op,Object value)的条件语句,来查询相应节点树中的节点,并将所找到的节点所对应的对象实例予以反馈。需要说明的是,本领域技术人员应该理解,上述根据所述映射标注信息,对所述节点树进行匹配查询的方式仅为举例,其他现有的或今后可能出现的根据所述映射标注信息,对所述节点树进行匹配查询的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图4示出根据本申请一个方面的一种对象处理方法。其中,所述对象处理方法主要由对象处理设备来执行。所述对象处理设备在此,所述对象处理设备可由网络主机、单个网络服务器、多个网络服务器集或个人计算机等实现。本领域技术人员应能理解上述对象处理设备仅为举例,其他现有的或今后可能出现的对象处理设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在此,所述对象处理设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,在步骤S1中,所述对象处理设备获取关于对象实例的映射标注信息。接着,在步骤S2中,所述对象处理设备根据所述映射标注信息将所述对象实例映射至对应应用的节点树。
具体地,在面向对象的程序运行中,所述对象处理设备从对象实例中所携带的注解中获取关于所述对象实例的映射标注信息。接着,所述对象处理设备根据所述映射标注信息中所提供的信息来确定相应应用的节点树,并将所述对象实例与所述节点树相映射。
例如,所述对象处理设备从一对象实例中的@Node注解类中获得的映射标注信息中包括“/Consumer”,接着,所述对象处理设备根据所述映射标注信息确定根节点为Consumer的节点树,并将所述对象实施例与该节点树相映射。其中,所述对象处理设备可以根据所述映射标注信息中的其他标注信息从该节点树中确定一个节点来对应所述对象实例的属性。
在此,所述对象实例包括任何用于直接参与实现某具体功能的、基于面向对象编程思想所构建的对象实例,而非抽象类。其包括但不限于:Pojo对象等。
在此,所述应用的节点树是指以树形数据结构形式来对应某一应用中所暂存或持久保存的数据的方式,其包括但不限于:用于映射存储在cache、或内存中数据的树形结构。例如,/Consumer/test的节点树中的Consumer既为根节点也对应该应用,test为Consumer根节点下的一个子节点,该子节点映射一个对象实例的属性。
在此,所述映射标注信息包括任何用于表示对象实例所对应的节点树及节点属性的信息。其包括但不限于以下至少任一项:类标注信息、字段标注信息。其中,所述字段标注信息包括:1)用于将对象实例的属性持久化于对应节点路径的字段标注信息。例如,节点树的根节点为“Consumer”,与所述根节点相连的节点A1的名称为“test”,类似于目录的格式,则所述字段标注信息中表示节点A1的方式为“/Consumer/test”,所述对象处理设备可根据该字段标注信息能够找到对象实例所要映射的“/Consumer”节点树中的“/Consumer/test”节点树。
2)用于将对象实例的属性持久化于顺序节点所生成的递增数值的字段标注信息。具体地,节点树中的每个节点按照建立顺序设置ID数值,则所述对象处理设备可根据所接收的ID数值来确定相应的节点树中的分支,并建立所确定的节点树中的节点与对象实例的属性的映射关系。例如,在注解类中标注设置如下代码,则当所述对象处理设备在节点数中添加节点时,节点的ID数值由0开始自动加1。
3)用于将对象实例的属性映射为对应节点下的独立节点的字段标注信息。具体地,在一个节点下存有一个对象实例的多个属性,每个属性由独立的字段来标注,当所述映射标注信息中包含该字段标注信息时,则所述对象处理设备据此在所对应的节点树中的节点中来映射一个对象实例的某一或多个属性。例如,所述对象处理设备执行如下代码时,节点树将呈现图2所示结构。具体地,当所述name参数赋值为topicB、且该对象处理设备接收到包含/topics/topicB节点树及topicB节点下的taskCoftopicB字段标注信息的映射标注信息时,则将对象实例的属性与taskCoftopicB字段标注信息相映射。
优选地,所述映射标注信息还可包括子节点引用信息“@SubNode”,来引用当前节点的子节点来定义该当前节点的字段。例如若当前节点仅包括一个子节点,假设子节点的类型为Task,则可以使用如下表述:
又如,若当前节点包括多个子节点时,可使用“List”关键字来引用多个字段。接前段示例,对应于Topic类的对象实例的节点“name”,引用其多个类型为partition的子节点来定义该节点中的相关字段;对应于partition类的对象实例的节点“name”,引用其多个类型为task的子节点来定义该节点中的相关字段。在此,该等由子节点标注的字段被视为节点树中的一个节点,并通过递归的方式被序列化或去序列化。
当所述映射标注信息包括多个所述字段标注信息时,优选地,相邻的所述字段标注信息通过定界符来间隔。
具体地,当@NodeName有多个,或者@NodeName和@NodeSeq同时出现时,它们都会出现在节点路径的名称里,为了从路径里解析出对应的字段,字段需要有定界符来分割。
例如,所述映射标注信息中的字段标注信息为“/consumer/Cc-Dd”,所述对象处理设备预设的定界符为'-',则所述对象处理设备根据下述Consumer类的定义解析所述字段标注信息,得到:Cc为firstName,Dd为lastName。
则所述对象处理设备在consumer节点树中的firstName为Cc、lastName为Dd的节点处得到所映射的password属性。
在此,所述类标注信息包括但不限于:类名等。例如,节点树中的每个节点以一个对象实例的类名来命名。则当所述映射标注信息包含类标注信息时,所述对象处理设备还根据所述类标注信息将所述对象实例映射为对应应用的节点树。
例如,所述对象处理设备从Test类的对象实例中的注解类中获取映射标注信息包括:“/Consumer/Test”,并从根节点为Consumer的节点树中找到“/Consumer/Test”的节点树,并建立所述Test类的对象实例的属性与Test节点之间的映射关系。
作为一种优选方案,所述步骤S1还包括:所述对象处理设备还对对象实例执行对象操作处理,并对处理后的所述对象实例添加映射标注信息。
具体地,所述对象处理设备按照程序设定对对象实例进行增删改等操作处理,当操作完成后按照设计要求需要将对象实例与节点树中的某一节点进行映射时,所述对象处理设备按照所述对象实例所对应的应用的节点树的设置规则,将处理后的所述对象实例添加映射标注信息。
例如,所述对象处理设备中预设了各应用的节点树中各节点的设置规则,其中包括:按照应用B1中各类的类名+序号的方式来为每个节点命名。所述对象处理设备按照创建指令新增应用B1中的对象实例b1,在创建完成后按照预设的设置规则将对象实例b1添加“/应用B1的名称/对象实例b1所在类的类名+顺序编号”的映射标注信息。
需要说明的是,本领域技术人员应该理解,上述对对象实例进行对象操作处理的方式、以及添加映射标注信息的方式仅为举例,其他现有的或今后可能出现的对对象实例进行对象操作处理的方式、以及添加映射标注信息的的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
优选地,所述步骤S1还包括:所述对象处理设备根据对象操作指令对对象实例执行对象操作处理,其中,处理后的所述对象实例包括与所述对象操作指令相对应的映射标注信息。在此,所述对象操作指令包括但不限于:增删改对象实例的属性的操作指令、增删改对象实例所对应的映射标注信息的操作指令。
例如,所述对象处理设备通过执行如下代码来获取consumer对象实例的映射标注信息及对象实例的属性。
当所述对象处理设备执行mapper.save(new Consumer("test","123456"))的对象操作指令时,不但创建了一个对象实例,所述对象实例包含“/consumers/test”的映射标注信息,还在consumer节点树中建立test节点。
需要说明的是,本领域技术人员应该理解,上述根据对象操作指令对对象实例执行对象操作处理仅为举例,其他现有的或今后可能出现的根据对象操作指令对对象实例执行对象操作处理如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
图5示出了根据本申请的又一种对象处理方法。所述对象处理方法包括:步骤S1、S2和S3。在此,所述对象处理方法的步骤S1和S2与图3中对象处理方法中的步骤S1和S2的内容相同或基本相同,为简明期间,故在此不再赘述,并以引用的方式包含于此。
具体地,当所述对象处理设备所处理的对象实例需要与相应应用的节点树相映射时,所述对象处理设备执行步骤S1:获取关于对象实例的映射标注信息,再执行步骤S2,即根据所述映射标注信息将所述对象实例映射至对应应用的节点树中的节点。反过来,当所述对象处理设备需要通过节点查询对象实例时,所述对象处理设备执行步骤S3,即根据所述映射标注信息,对所述节点树进行匹配查询,确定一个或多个被映射至所述节点树的对象实例。
例如,所要查询的映射标注信息包括:“parent:/consumer/test”,则所述对象处理设备通过查询consumer节点树,将父节点为test下的所有节点所对应的对象实例以List类的方式予以反馈。
又如,所述对象处理设备通过执行包含如Condition where(Object key,Op op,Object value)的条件语句,来查询相应节点树中的节点,并将所找到的节点所对应的对象实例予以反馈。
需要说明的是,本领域技术人员应该理解,上述根据所述映射标注信息,对所述节点树进行匹配查询的方式仅为举例,其他现有的或今后可能出现的根据所述映射标注信息,对所述节点树进行匹配查询的方式如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
综上所述,本申请的一种对象处理方法与设备,通过在对象实例中附带映射标注信息的方式来将对象实例与节点树相映射,相比于通过配置文件进行映射的方式,本申请由于无需手动设置,故而能够更灵活的设置节点树与对象实例;同时,由于对象实例和映射标注信息均以面向对象程序设计思想进行设计,对于研发人员来说,能够有效简化编程;还有,本申请利用节点树的特点来查找对象实例,能有效提高查询效率。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (16)
1.一种对象处理方法,包括:
获取关于对象实例的映射标注信息;
根据所述映射标注信息将所述对象实例映射至对应应用的节点树,其中,所述映射标注信息包括字段标注信息,所述字段标注信息包括以下至少任一项:
用于将对象实例的属性持久化于对应节点路径的字段标注信息;
用于将对象实例的属性持久化于顺序节点所生成的递增数值的字段注信息;
用于将对象实例的属性映射为对应节点下的独立节点的字段标注信息。
2.根据权利要求1所述的方法,其中,所述获取关于对象实例的映射标注信息包括:
对对象实例执行对象操作处理,并对处理后的所述对象实例添加映射标注信息。
3.根据权利要求1所述的方法,其中,所述获取关于对象实例的映射标注信息包括:
根据对象操作指令对对象实例执行对象操作处理,其中,处理后的所述对象实例包括与所述对象操作指令相对应的映射标注信息。
4.根据权利要求1至3中任一项所述的方法,其中,该方法还包括:
通过对所述节点树匹配查询确定一个或多个被映射至所述节点树的对象实例。
5.根据权利要求1所述的方法,其中,所述映射标注信息还包括:
类标注信息。
6.根据权利要求5所述的方法,其中,所述映射标注信息包括类标注信息;
其中,所述根据所述映射标注信息将所述对象实例映射至对应应用的节点树包括:
根据所述类标注信息将所述对象实例映射为对应应用的节点树中的节点。
7.根据权利要求5或6所述的方法,其中,所述字段标注信息还包括:
用于表述所述对象实例所对应节点的存储路径的参数;或
用于指示所述对象实例所对应节点在所述节点树中的父节点的参数。
8.根据权利要求1所述的方法,其中,所述映射标注信息包括多个所述字段标注信息,其中,相邻的所述字段标注信息通过定界符来间隔。
9.一种对象处理设备,包括:
第一装置,用于获取关于对象实例的映射标注信息;
第二装置,用于根据所述映射标注信息将所述对象实例映射至对应应用的节点树,其中,所述映射标注信息包括字段标注信息,所述字段标注信息包括以下至少任一项:
用于将对象实例的属性持久化于对应节点路径的字段标注信息;
用于将对象实例的属性持久化于顺序节点所生成的递增数值的字段注信息;
用于将对象实例的属性映射为对应节点下的独立节点的字段标注信息。
10.根据权利要求9所述的设备,其中,所述第一装置用于:
对对象实例执行对象操作处理,并对处理后的所述对象实例添加映射标注信息。
11.根据权利要求9所述的设备,其中,所述第一装置用于:
根据对象操作指令对对象实例执行对象操作处理,其中,处理后的所述对象实例包括与所述对象操作指令相对应的映射标注信息。
12.根据权利要求9至11中任一项所述的设备,其中,该设备方法还包括:
第三装置,用于通过对所述节点树匹配查询确定一个或多个被映射至所述节点树的对象实例。
13.根据权利要求9所述的设备,其中,所述映射标注信息还包括:
类标注信息。
14.根据权利要求13所述的设备,其中,所述映射标注信息包括类标注信息;
其中,所述第二装置用于:
根据所述类标注信息将所述对象实例映射为对应应用的节点树中的节点。
15.根据权利要求14所述的设备,其中,所述字段标注信息还包括:
用于表述所述对象实例所对应节点的存储路径的参数;或
用于指示所述对象实例所对应节点在所述节点树中的父节点的参数。
16.根据权利要求9所述的设备,其中,所述映射标注信息包括多个所述字段标注信息,其中,相邻的所述字段标注信息通过定界符来间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410476211.2A CN105488056B (zh) | 2014-09-17 | 2014-09-17 | 一种对象处理方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410476211.2A CN105488056B (zh) | 2014-09-17 | 2014-09-17 | 一种对象处理方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105488056A CN105488056A (zh) | 2016-04-13 |
CN105488056B true CN105488056B (zh) | 2019-04-09 |
Family
ID=55675036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410476211.2A Active CN105488056B (zh) | 2014-09-17 | 2014-09-17 | 一种对象处理方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105488056B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357933B (zh) * | 2017-08-04 | 2020-08-21 | 刘应波 | 一种用于多源异构科技信息资源的标签描述方法和装置 |
CN112698819A (zh) * | 2019-10-22 | 2021-04-23 | 北京信普飞科科技有限公司 | 面向树化对象编程程序设计方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1251929A (zh) * | 1998-10-17 | 2000-05-03 | Lg情报通信株式会社 | 类层过滤:管理信息树中被管理对象的新选择方法 |
US7840610B2 (en) * | 2005-05-11 | 2010-11-23 | International Business Machines Corporation | Apparatus, system, and method for map definition generation |
CN101980213A (zh) * | 2010-11-23 | 2011-02-23 | 中国科学院软件研究所 | 一种基于j2ee的数据持久化方法及系统 |
CN102385593A (zh) * | 2010-09-03 | 2012-03-21 | 金蝶软件(中国)有限公司 | 一种操作应用树的方法、装置及业务系统 |
CN102609255A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算机网络信息中心 | 一种Spring IOC配置文件的生成方法 |
-
2014
- 2014-09-17 CN CN201410476211.2A patent/CN105488056B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1251929A (zh) * | 1998-10-17 | 2000-05-03 | Lg情报通信株式会社 | 类层过滤:管理信息树中被管理对象的新选择方法 |
US7840610B2 (en) * | 2005-05-11 | 2010-11-23 | International Business Machines Corporation | Apparatus, system, and method for map definition generation |
CN102385593A (zh) * | 2010-09-03 | 2012-03-21 | 金蝶软件(中国)有限公司 | 一种操作应用树的方法、装置及业务系统 |
CN101980213A (zh) * | 2010-11-23 | 2011-02-23 | 中国科学院软件研究所 | 一种基于j2ee的数据持久化方法及系统 |
CN102609255A (zh) * | 2012-01-19 | 2012-07-25 | 中国科学院计算机网络信息中心 | 一种Spring IOC配置文件的生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105488056A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3098731B1 (en) | System for linking diverse data systems | |
CN103338135B (zh) | 一种集群存储容量的实时监控方法 | |
CN106611037A (zh) | 用于分布式图计算的方法与设备 | |
JP6469878B2 (ja) | データ系統図のフィルタリング | |
US8782597B2 (en) | Ontology updating apparatus, method and system | |
US9201700B2 (en) | Provisioning computer resources on a network | |
JP2018511106A (ja) | データ系統図のフィルタリング | |
Sellami et al. | Supporting multi data stores applications in cloud environments | |
CN102985922A (zh) | 在计算空间中管理分布计算的方法和装置 | |
US11334567B2 (en) | Efficient SQL-based graph random walk | |
CN108037967A (zh) | 一种基于多父子结构的菜单加载方法以及电子设备 | |
CN104135507A (zh) | 一种防盗链的方法和装置 | |
Chung et al. | Cloud computing system based on wireless sensor network | |
CN109408699A (zh) | 一种同步缓存zTree树实现树节点快速检索的方法 | |
CN107203532A (zh) | 索引系统的构建方法、搜索的实现方法及装置 | |
US20150074043A1 (en) | Distributed and open schema interactions management system and method | |
CN110399387A (zh) | 基于表关联关系动态生成查询sql的方法及装置 | |
Zhuge et al. | Basic operations, completeness and dynamicity of cyber physical socio semantic link network CPSocio‐SLN | |
US9477780B2 (en) | Target tree generation | |
CN105488056B (zh) | 一种对象处理方法与设备 | |
CN108154024A (zh) | 一种数据检索方法、装置及电子设备 | |
KR20150136734A (ko) | 데이터 병렬 추론 방법 및 장치 | |
CN114003775A (zh) | 图数据处理、查询方法及其系统 | |
CN108304555A (zh) | 分布式地图数据处理方法 | |
CN113361716B (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 |