数据处理方法和装置的制造方法

文档序号:10488936阅读:134来源:国知局
数据处理方法和装置的制造方法
【专利摘要】本发明公开了一种数据处理方法和装置。其中,该数据处理方法包括:获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构;获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;从第一预设树型结构中提取出第二预设树型结构对应的子树型结构;接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号;通过执行触发信号对第一预设树型结构中的数据对象进行处理。通过本发明,解决了键值Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题。
【专利说明】
数据处理方法和装置
技术领域
[0001] 本发明涉及数据处理领域,具体而言,涉及一种数据处理方法和装置。
【背景技术】
[0002] 随着互联网技术的迅猛发展,分布式系统的应用越来越广泛,非关系型数据库 (Not Only SQL,简称为 NoSQL)逐渐取代结构化查询语言(Structured Query Language, 简称为SQL)成为新一代支持分布式计算的网络存储架构。NoSQL分为四类,分别为键 值(Key-Value)存储数据库、列存储数据库、文档型数据库以及图形数据库,其中,基于 Key-Value存储数据库的数据存储方式应用最为广泛。
[0003] Key-Value存储数据库中的每个数据对象由键Key唯一标识并索引,客户端通过 指定Key请求访问相对应的值Value。该Key-Value存储数据库具有以下优点:易于分布 式分片存储。在分布式存储系统中,多个客户端的数据对象被分片存储到不同的服务器上, Key-Value存储数据库提供了一种按Key进行划分的分片方法,该分片方法相较于依赖客 户端数据的模式定义的数据库管理系统(Datebase Management System,简称为DBMS)简化 了客户端数据对象的分片存储;高度与客户端数据对象解耦。DBMS在进行数据存储时需要 对客户端数据对象进行建模,数据对象的模式建立之后,重构的代价将会很大,甚至不可能 重构。Key-Value存储数据库将数据对象的建模交由数据库开发人员完成,Key-Value存储 数据库不再关心数据对象的具体格式,使得数据对象的存储与解析完全解耦,这样客户端 可以随时扩展数据结构而不改变存储数据库,客户端可以同时存储多个版本的数据对象, 还可以将不同应用的数据对象混合存储等。
[0004] 但是,由于Key-Value存储数据库将数据对象混合存储,使得读取或者写入该 Key-Value存储数据库中的部分数据对象时需要将整个Key-Value存储数据库中的数据 对象读取之后进行操作,比如,数据库中存储了三个版本的数据对象,当操作其中任意一 个版本的数据对象时,需要使用Key-Value存储数据库中的应用程序结构(Application Programming Interface,简称为API)将数据库中的三个版本的数据对象全部读取到本 地服务器,然后再从中提取出客户端所需要的版本数据对象,这样将会浪费存储空间和网 络资源。此外,对于只写入部分数据对象的应用,需要业务侧独立实现乐观锁,即先读取 Value,对其进行部分修改,再更新整个Value,其中,更新过程中需要循环检测Value是否 被重新修改,如果检测到被重新修改,则需要重新更新整个Value。Key-Value存储数据库 在读取或者写入部分数据对象时需要将全部数据对象读取到客户端进行处理,不利于大规 模数据的处理。
[0005] 针对上述Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对 象进行处理的问题,目前尚未提出有效的解决方案。

【发明内容】

[0006] 本发明实施例提供了一种数据处理方法和装置,以至少解决Key-Value存储数据 库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题。
[0007] 根据本发明实施例的一个方面,提供了一种数据处理方法,包括:获取第一预设树 型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构;获取第二预设树型 结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路 径组成的树型结构;从第一预设树型结构中提取出第二预设树型结构对应的子树型结构; 接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行 处理的信号;通过执行触发信号对第一预设树型结构中的数据对象进行处理。
[0008] 根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:第一获取模 块,用于获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型 结构;第二获取模块,用于获取第二预设树型结构,其中,第二预设树型结构为由请求第一 预设树型结构中目标节点中的数据对象的路径组成的树型结构;提取模块,用于从第一预 设树型结构中提取出第二预设树型结构对应的子树型结构;接收模块,用于接收触发信号, 其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号;处 理模块,用于通过执行触发信号对第一预设树型结构中的数据对象进行处理。
[0009] 在本发明实施例中,将数据对象以树型结构进行存储,并支持该树型结构的无限 展开,通过在第一预设树型结构中提取与第二预设树型结构对应的子树型结构,实现从全 部数据对象中获取需要处理的部分数据对象,其中,第一预设树型结构为用于存储预设数 据对象的树型结构,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对 象的路径组成的树型结构,根据子树型结构对第一预设树型结构中的一个或者多个叶子节 点进行处理,实现了对获取到的部分数据对象进行处理,而不影响数据库中存储的其他数 据对象,达到了降低数据对象访问开销的目的,进而解决了 Key-Value存储数据库读取或 者写入部分数据对象需要对全部数据对象进行处理的技术问题,从而实现了节约存储空间 和网络资源,提高数据处理效率的技术效果。
【附图说明】
[0010] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0011] 图1是根据本发明实施例的一种硬件环境的示意图;
[0012] 图2是根据本发明实施例的数据处理方法的流程图;
[0013] 图3是根据本发明实施例的数据处理方法中的第一预设树型结构的示意图;
[0014] 图4是根据本发明实施例的数据处理方法中的第二预设树型结构的示意图;
[0015] 图5是根据本发明实施例的数据处理方法的子树型结构的提取流程图;
[0016] 图6是根据本发明实施例的数据处理方法中的子树型结构的示意图;
[0017] 图7是根据本发明实施例的数据处理方法中的第二预设树型结构中根节点的匹 配示意图;
[0018] 图8是根据本发明实施例的数据处理方法中请求叶子节点的匹配示意图;
[0019] 图9是根据本发明实施例的数据处理方法中请求非叶子节点的匹配示意图;
[0020] 图10是根据本发明实施例的数据处理方法的更新第一预设树型结构中数据对象 的流程图;
[0021] 图11是根据本发明实施例的数据处理方法中待添加树型结构的示意图;
[0022] 图12是根据本发明实施例的数据处理方法的预设深度为0时的请求树型结构示 意图;
[0023] 图13是根据本发明实施例的数据处理方法的预设深度为1时的请求树型结构示 意图;
[0024] 图14是根据本发明实施例的数据处理方法的预设深度为2时的请求树型结构示 意图;
[0025] 图15是根据本发明实施例的数据处理方法的请求树型结构在第一预设树型结构 进行匹配后得到的树型结构的示意图;
[0026] 图16是根据本发明实施例的数据处理方法的删除后的第一预设树型结构的示意 图;
[0027] 图17是根据本发明实施例的数据处理方法的更新后的第一预设树型结构的示意 图;
[0028] 图18是根据本发明实施例的数据处理装置的示意图;以及
[0029] 图19是根据本发明实施例的数据处理系统的示意图。
【具体实施方式】
[0030] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范 围。
[0031] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。此外,术语"包括"和"具有"以及他们的任何变形,意图在于 覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限 于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产 品或设备固有的其它步骤或单元。
[0032] 实施例1
[0033] 根据本发明实施例,提供了 一种数据处理方法。
[0034] 可选地,在本实施例中,上述的数据处理方法可以应用于如图1所示的服务器102 和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接, 上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑 等。本发明实施例的数据处理方法可以由服务器102来执行,也可以由终端104来执行,还 可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的数据处理 方法也可以是由安装在其上的客户端来执行。
[0035] 图2是根据本发明实施例的数据处理方法的流程图。如图2所示,该消息的处理 方法包括以下步骤:
[0036] 步骤S202,获取第一预设树型结构。
[0037] 该实施例的数据处理方法优选地将数据对象以树型结构进行存储,且该实施例 的数据处理方法是基于树型协议实现的,比如协议缓存(Protocol Buffers简称为PB), JavaScript对象表示法(JavaScript Object Notation,简称为JS0N),可扩展标记语言 (Extensible Markup Language,简称为 XML),抽象语言标记(Abstract Syntax Notation One,简称为ASN. 1)以及支持嵌套的类型长度值(Type Length Value,简称为TLV)等。树 型协议可以支持数据对象无限嵌套,客户端可以自定义深度和广度,同时树型协议的数据 对象存储模式自由,无需知道数据结构定义,就可以把数据对象分解出最基本的元素,此外 基于树型协议存储的数据部分包含部分或者全部自我描述信息,比如,XML是完全自描述 的,PB是半自描述的,没有.proto文件,只能知道字段的类型,无法知道具体含义。
[0038] 该实施例的数据处理方法中的第一预设树型结构为用于存储预设数据对象的树 型结构,该第一预设树型结构在普通树型协议,比如PB、JS0N、XML、ASN. I、TLV等,添加了限 制条件,目的是为了适合嵌套Key的处理。其中,限制条件包括:
[0039] (1)如果第一预设树型结构中的节点中有键值Key,那么Key即为该节点的第一个 孩子节点,并且拥有特殊的标识符。比如,如果第一预设树型结构是基于XML实现的,那么 可以预留标识符"Key"给Key使用,即<Key>shaneyu〈/Key>。如果第一预设树型结构是基 于PB实现的,则标识tag值为1的节点为父节点的Key。
[0040] (2)系统将会预留一些特殊的标识符,供第一预设树型结构内部使用,这些特殊的 标识符称之为Meta,其中,客户端自定义的标识符不能与Meta同名。比如,第一预设树型 结构是基于PB实现时,tagl-10预留给Meta使用,用户自定义的数据必须从tagll开始编 码。
[0041] (3)第一预设树型结构中的节点由标识符和Key唯一标识,如果节点中没有Key, 则由标识符唯一标识。比如,第一预设树型结构是基于PB实现时,节点由tag和Key唯一 标识,其中tag是该节点中的父节点中的tag ;如果节点中没有Key,则该节点由tag唯一标 识。
[0042] 图3是根据本发明实施例的数据处理方法中的第一预设树型结构的示意图,如图 3所示,该第一预设树型结构是基于PB实现的,该第一预设树型结构中的节点中均包括一 个tag值,其中,根节点是只包含一个字段的PB信息中的该字段。根节点的tag为11,其值 是一个包含有一个Key (该Key是根节点的第一个孩子节点,其tag为1,值为123)和三个 孩子节点的信息。与图3中所示的第一预设树型结构对应的PB信息Message如下所示:
[0043] Message { I i (Root): /./ 丨 I 是 tag, Root 是.proto 中的 Message 名称 { I (Key): 123 // Key 的 tag 是:1,: Key 是 Root 中的第一个孩子 13点 11 (profile): // tag= 11的予Message,孩子节点里面没有 Iag=I的节点,所以没有Key, profile是Root中的第二个孩子节点
[0044] I OO(Nick): slmne IOl(Gender): boy ) 12(fttemls):// Mends:是Root中的第三个孩子节点 ( I i (friend): { I (Key): alice 200(Birthday): 20010710 201 (Remark):爱丽丝 } II (friend): I (Key): bob } } n(group)://' group是Root中的第四个孩子节点 C ) } }
[0045] 优选地,该实施例的数据处理方法中的第一预设树型结构中的节点中包括预设标 识符,预设标识符用于标识第一预设树型结构中的节点,其中,第一预设树型结构中的节点 的标识方式包括以下任意一种:当第一预设树型结构中的节点中包括键值时,第一预设树 型结构中的节点由预设标识符和键值标识,其中,键值为第一预设树型结构中的节点的第 一个孩子节点;当第一预设树型结构中的节点中不包括键值时,第一预设树型结构中的节 点由预设标识符标识。该实施例的数据处理方法中的第一预设树型结构支持无限嵌套,允 许将Value部分不限嵌套展开到客户端数据定义的最小粒度,从而使得客户端能够每次只 处理最小粒度的数据,解决了 Key-Value中Value部分无法深度解开的问题,而且第一预设 树型结构中的数据对象可以是任意类型,客户端可以自定义适合需求业务的数据结构。
[0046] 步骤S204,获取第二预设树型结构。
[0047] 该实施例的数据处理方法中的第二预设树型结构为由请求第一预设树型结构中 目标节点中的数据对象的路径组成的树型结构。其中,该目标节点可以是第一预设树型结 构中的任意一个或者多个节点,比如,图3中的100: str = shane或者11 :Key = alice。该 实施例中的第二预设树型结构实质与第一预设树型结构相同,只是在第一预设树型结构的 基础上增加了限制条件。该限制条件取决于客户端请求的目标节点在第一预设树型结构中 的位置。
[0048] 当客户端请求的目标节点为第一预设树型结构中的叶子节点时,确定目标节点在 第二预设树型结构中类型为整型int,且int只能取两个值,分别为0和1,其中,整型值为 1代表请求目标节点,整型值为〇代表不请求目标节点;当客户端请求的目标节点为第一预 设树型结构中的非叶子节点时,代表目标节点在第二预设树型结构中请求的是第一预设树 型结构中的目标节点的所有孩子节点。这样做是为了处理请求第一预设树型结构中的一个 子Key下的所有属性,因为子Key中一定有tag为1的孩子节点,不能直接把节点变为整型。
[0049] 可选地,当客户端请求的目标节点为第一预设树型结构中的非叶子节点中的内容 时,根据客户端的请求消息生成第二预设树型结构有以下两种方式:
[0050] (1)将第二预设树型结构中对应的节点变为整型,其值设置为1,其中,代表所有 tag相同的节点都会被请求。
[0051] (2)将第二预设树型结构中对应的节点写成非叶子节点类型,但不指定孩子节点。
[0052] 图4是根据本发明实施例的数据处理方法中的第二预设树型结构的示意图,如图 4所示,客户端请求的目标节点分别为第一预设树型结构中的100: str = shane和11 :Key =alice,其中,100: str = shane为叶子节点,在第二预设树型结构中直接将100: str = shane对应的节点变为整型,值设置为I ;ll:Key = alice为非叶子节点,在第二预设树型 结构中将11 :Key = alice对应的节点写成非叶子类型,代表请求第一预设树型结构中的 11 :Key = alice 的所有孩子节点,即 200: date = 20010710 和 201: str =愛而丝。
[0053] 该实施例的数据处理方法将客户端对第一预设树型结构中的节点中的数据对象 的请求转化为树型结构,利用第一树型结构的无限嵌套的特点,使得客户端的请求也具有 与第一树型结构相同的特点,有利于快速从第一预设树型结构中获取与客户端请求相对应 的树型结构,即第二预设树型结构,使得客户端可以明确表明待处理的数据对象,而无需知 道具体的客户端数据的类型和含义。该实施例的数据处理方法通过将客户端的请求转化 为与第一预设树型结构对应的第二预设树型结构,实现了一种模式自由的通用数据处理方 法,提高了数据处理效率。
[0054] 步骤S206,从第一预设树型结构中提取出第二预设树型结构对应的子树型结构。
[0055] 该实施例的数据处理方法中的从第一预设树型结构中提取出第二预设树型结构 对应的子树型结构的过程,是指根据第二预设树型结构匹配第一预设树型结构的过程。
[0056] 优选地,该实施例的数据处理方法中从第一预设树型结构中提取出第二预设树型 结构对应的子树型结构的流程如图5所示,其中,图5是根据本发明实施例的数据处理方法 的子树型结构的提取流程图。具体地,步骤S206从第一预设树型结构中提取出第二预设树 型结构对应的子树型结构的提取流程包括以下步骤:
[0057] 步骤S502,遍历第二预设树型结构中的节点。
[0058] 该实施例的数据处理方法中的根据第二预设树型结构匹配第一预设树型结构,从 而从第一预设树型结构中提取出与第二预设树型结构相对应的子树型结构,该提取子树型 结构的过程中需要遍历第二预设树型结构中的每个节点,对第二预设树型结构中的每个节 点与第一预设树型结构中的节点进行匹配。首先从第二预设树型结构中的根节点开始进行 匹配,然后展开该根节点,逐个对该根节点的孩子节点进行匹配,循环该过程,直至对第二 预设树型结构中的每个节点都进行匹配完。由于节点中包含标识符,所以节点的匹配包括 节点中标识符的匹配;当节点中包含Key时,节点的匹配过程还要包括Key的匹配。对于第 二预设树型结构中的每个节点的匹配过程都可以由节点的标识符的匹配或者节点的标识 符的匹配和节点的Key的匹配完成。
[0059] 步骤S504,判断在第一预设树型结构中是否存在第一节点。
[0060] 步骤S506,如果判断出在第一预设树型结构中存在第一节点,判断第一节点的键 值是否与第二预设树型结构中的节点的键值相同。
[0061] 该实施例的数据处理方法中的第一节点为标识符与第二预设树型结构中的节点 的标识符相同的节点。由于第二预设树型结构中的节点中都会包括标识符,对第二预设树 型结构中的节点在第一预设树型结构中的匹配必须包括第二预设树型结构中的节点的标 识符的匹配。如果该第一节点中包括键值Key,在判断出第一预设树型结构中存在第一节点 之后,继续判断第一节点的键值是否与第二预设树型结构中的节点的键值相同;如果该第 一节点中不包括键值Key,则将该第一节点直接添加至子树型结构中,并将根节点至第一节 点的请求路径中添加至子树型结构中。
[0062] 步骤S508,如果判断出第一节点的键值与第二预设树型结构中的节点的键值相 同,将第一节点添加至子树型结构中,并将根节点至第一节点的请求路径中添加至子树型 结构中。
[0063] 如果第一节点中包括键值Key,在判断第一节点的键值是否与第二预设树型结构 中的节点的键值相同之后,当判断出第一节点的键值与第二预设树型结构中的节点的键值 相同时,则将第一节点添加至子树型结构,并将根节点至第一节点的请求路径中添加至子 树型结构中。
[0064] 该实施例的数据处理方法中将第二预设树型结构中的节点在第一预设树型结构 中的匹配过程分为该节点的标识符的匹配或者该节点的标识符的匹配和该节点的键值Key 的匹配,提高了节点匹配结果的准确性。
[0065] 例如,从图3中所示的第一预设树型结构中提取与图4中所示的第二预设树型结 构对应的子树型结构如图6所示,其中,图6是根据本发明实施例的数据处理方法中的子树 型结构的示意图。具体的匹配过程如下:
[0066] (1)图7是根据本发明实施例的数据处理方法中的第二预设树型结构中根节点 的匹配示意图,如图7所示,根节点的匹配过程包括根节点的标识符的匹配和键值Key的 匹配,即判断第二预设树型结构中的根节点ll:Key = 123的标识符tagll与键值Key = 123是否与第一预设树型结构中的根节点的标识符和键值相同,经过判断第一预设树型结 构中的根节点的标识符tagll和键值Key = 123与第二预设树型结构中的根节点的标识符 tagll和键值Key = 123相同,证明第二预设树型结构中的根节点匹配成功。
[0067] (2)展开根节点,深度遍历第二预设树型结构,对第二预设树型结构中的节点在第 一预设树型结构中查找匹配的标识符和键值Key,如果查找成功,证明该节点在第一预设树 型结构中匹配成功,如果没有查找到,证明该节点在第一预设树型结构中没有匹配成功,则 继续进行下一个节点的匹配。
[0068] 具体地,图8是根据本发明实施例的数据处理方法中请求叶子节点的匹配示意 图,如图8所示,当客户端请求的目标节点为叶子节点100:str = shane时,目标节点的请 求路径包括中间节点ll:Key = null和叶子节点100:int = 1,则需要对中间节点ll:Key =null和叶子节点100: int = 1分别进行匹配,经过判断得到,第二预设树型结构中的中 间节点11 :Key = null与第一预设树型结构中的11 (profile) :Key = null的标识符相同, tag都为11 ;键值相同,Key都为null,所以,中间节点11 :Key = null匹配成功。叶子节 点100: int = 1与第一预设树型结构中标识符tag为100的节点进行匹配,因为叶子节点 100: int = 1中int = 1代表请求第一预设树型结构中标识符tag为100的全部节点,即 100:str = shane,所以叶子节点 100:int = 1 匹配的节点为 100:str = shane。
[0069] 图9是根据本发明实施例的数据处理方法中请求非叶子节点的匹配示意图,如图 9所示,第二预设树型结构中的叶子节点11 :Key = alice没有指定孩子节点,代表客户端 的请求的目标节点为第一预设树型结构中的ll:Key = alice和该节点ll:Key = alice的 所有孩子节点,即200: date = 20010710和201: str =愛而丝。节点11 :Key = alice的 请求路径中包括中间节点12:Key = null,对节点ll:Key = alice的匹配包括对中间节点 12:Key = null的匹配和对节点11 :Key = alice的匹配。经过判断得到,中间节点12:Key =null在第一预设树型结构中匹配得到的节点为12(friends),节点ll:Key = alice匹 配到的节点为ll:Key = alice和该节点ll:Key = alice的所有孩子节点,即200:date = 20010710 和 201: str =爱丽丝。
[0070] 优选地,对第二预设树型结构中的节点匹配完成后,会生成两个树型结构,其中一 个为子树型结构,即匹配到的树型结构,当第一预设树型结构中的节点全部匹配成功时,得 到的子树型结构时第一预设树型结构;其中一个为匹配失败节点组成的树型结构,当第二 预设树型结构中的节点全部匹配失败时,得到的匹配失败节点组成的树型结构为第二预设 树型结构。
[0071] 该实施例中的数据处理方法提供了一种树型结构匹配机制,使得客户端可以明确 具体需要处理的部分数据,而不需要知道具体的数据定义类型和含义,即提供了一种模式 自由的通用的数据处理方法,极大地提高了数据处理的效率,同时,降低了存储空间和网络 资源的消耗。
[0072] 步骤S208,接收触发信号。
[0073] 该实施例的数据处理方法中的触发信号为根据子树型结构对第一预设树型结构 中的数据对象进行处理的信号。
[0074] 优选地,触发信号包括以下任意一种或者多种:提取信号,提取信号用于从第一预 设树型结构中提取子树型结构中的数据对象;删除信号,删除信号用于删除第一预设树型 结构中与子树型结构中的节点相同的数据对象;更新信号,更新信号用于更新第一预设树 型结构中的数据对象。其中,提取信号对应从第一预设树型结构中提取子树型结构的操作, 删除信号对应从第一预设树型结构中删除子树型结构对应的节点中的数据对象的操作,更 新信号对应更新第一预设树型结构中的数据对象的操作。提取信号和删除信号对应的操作 实质为根据第二预设树型结构在第一预设树型结构中进行匹配,得到子树型结构的过程, 而更新信号对应的操作中必须包含一个待添加树型结构,并且指定当前操作的最大深度, 根据待添加树型结构和最大深度生成一个新的树型结构,然后从第一预设树型结构中删除 该新的树型结构中对应的树型结构,最后将待添加树型结构添加至第一预设树型结构中, 实现对第一预设树型结构的更新。
[0075] 步骤S210,通过执行触发信号对第一预设树型结构中的数据对象进行处理。
[0076] 该实施例的数据处理方法在接收到触发信号之后,首先对接收到的触发信号的类 型进行检测,当检测到的触发信号为提取信号时,则执行提取信号对应的操作,即从第一预 设树型结构中提取子树型结构。由于子树型结构是根据第二预设树型结构在第一预设树型 结构中进行匹配得到的树型结构,所以,执行从第一预设树型结构中提取子树型结构的操 作实质是根据第二预设树型结构在第一预设树型结构进行节点匹配的过程。在步骤S206 中已经详细的介绍了根据第二预设树型结构从第一预设树型结构中提取子树型结构的过 程,此处不再进行详细地介绍。当获取子树型结构之后,获取子树型结构中的数据对象。
[0077] 当检测到的触发信号为删除信号时,则执行删除信号对应的操作,即从第一预设 树型结构中删除子树型结构对应的节点中的数据对象。删除第一预设树型结构中子树型结 构对应的节点中的数据对象,也需要先从第一预设树型结构中提取子树型结构,即根据第 二预设树型结构从第一预设树型结构中提取子树型结构,与步骤S206中的匹配过程相同。 当从第一预设树型结构中提取到子树型结构后,在第一预设树型结构中删除子树型结构对 应数据对象。
[0078] 当检测到触发信号为更新信号时,执行更新信号对应的操作,即更新第一预设树 型结构中的数据对象。图10是根据本发明实施例的数据处理方法的更新第一预设树型结 构中数据对象的流程图,如图10所示,该实施例的数据处理方法中更新第一预设树型结构 中的数据对象具体包括以下步骤:
[0079] 步骤S1002,获取待添加树型结构。
[0080] 步骤S1004,确定预设深度。
[0081] 该实施例的数据处理方法中的待添加树型结构可以是任意深度的树型结构,预设 深度的取值根据客户端的需求任意设定。该实施例可以根据待添加树型结构和预设深度生 成一个新的树型结构。
[0082] 步骤S1006,根据待添加树型结构和预设深度生成请求树型结构。
[0083] 优选地,步骤S1006中根据待添加树型结构和预设深度生成请求树型结构可以包 括:获取待添加树型结构中深度为预设深度的节点;将待添加树型结构中深度为预设深度 的节点中的键值删除,并将节点的类型值设置为1 ;以及将待添加树型结构中的深度小于 等于预设深度的节点添加至请求树型结构中。
[0084] 如,待添加树型结构如图11所示,其中,图11是根据本发明实施例的数据处理 方法中待添加树型结构的示意图。当预设深度为0时,请求树型结构如图12所示,待添加 树型结构中的根节点转化为请求树型结构中的节点,此时,客户端希望把整个待添加树型 结构都匹配到,其中,图12是根据本发明实施例的数据处理方法的预设深度为0时的请求 树型结构示意图。当预设深度为1时,代表客户端希望请求键值Key = 123下面的所有孩 子节点中的全部数据对象,此时,请求树型结构如图13所示,其中,图13是根据本发明实施 例的数据处理方法的预设深度为1时的请求树型结构示意图。当预设深度为2时,请求树 型结构如图14所示,图14是根据本发明实施例的数据处理方法的预设深度为2时的请求 树型结构示意图,标识符tag为12的friends下的好友列表的标识符tag为11,且tag为 11的好友有两个,分别为Iili和kate,当该friends节点变为请求树型结构中的节点时, 其中,tag为11的两个节点变为一个节点。当预设深度大于等于3时的情况用递归方法类 推得到,此处不再描述。
[0085] 该实施例的数据处理方法的根据待添加树型结构和预设深度生成请求树型结构 时,待添加树型结构中的相同深度的节点变为请求树型结构中的节点后,必须能够匹配到 所有标识符相同的节点,而不需考虑Key的值,因此,请求树型结构中叶子节点一定是没有 Key的整型,即int类型。根据待添加树型结构和预设深度生成请求树型结构也可以理解为 把深度小于预设深度的待添加树型结构中的叶子节点变成请求树型结构中对应的节点,把 深度大于预设深度的待添加树型结构中的树型结构变成请求树型结构中的叶子节点,该叶 子节点没有Key,且类型为int类型。
[0086] 该实施例的数据处理方法中的根据待添加树型结构和预设深度生成请求树型结 构可以应用很多场景,比如,一个热点cache系统,每个节点都有一个有效生命周期,当一 个树型结构中有多个节点超过有效生命周期,需要重新回填的时候,就需要根据超过有效 生命周期的数据对应的树型结构来生成一个新的树型结构,用这个新的树型结构进行回 填。
[0087] 步骤S1008,从第一预设树型结构中删除与请求树型结构中的节点相同的数据对 象,得到删除后的第一预设树型结构。
[0088] 从第一预设树型结构中删除与请求树型结构中的节点相同的数据对象与从第一 预设树型结构中删除与子树型结构中的节点相同的数据对象的过程相同,首先根据请求树 型结构在第一预设树型结构中进行节点匹配,然后将匹配成功的节点组成的树型结构在第 一预设树型结构中删除。比如,如图14所示的请求树型结构,在请求属性结构在第一预设 树型结构中进行匹配得到的树型结构如图15所示,然后将第一预设树型结构中的图15所 示的树型结构删除,得到删除后的第一预设树型结构,如图16所示。其中,图15是根据本 发明实施例的数据处理方法的请求树型结构在第一预设树型结构进行匹配后得到的树型 结构的示意图,图16是根据本发明实施例的数据处理方法的删除后的第一预设树型结构 的示意图。
[0089] 步骤S1010,以及将待添加树型结构中的数据对象添加至删除后的第一预设树型 结构。
[0090] 将待添加树型结构与步骤S1008中得到的删除后的第一预设树型结构合并,实现 对第一预设树型结构的更新操作。比如,如图11所示的待添加树型结构,图16所示的删除 后的第一预设树型结构,将其进行合并得到更新后的第一预设树型结构如图17所示。其 中,图17是根据本发明实施例的数据处理方法的更新后的第一预设树型结构的示意图。
[0091] 该实施例的数据处理方法通过将客户端的请求信号转化为与第一预设树型结构 特征相同的树型结构,以树型结构匹配的方式从第一预设树型结构中获取待处理的部分数 据对象,实现对部分数据对象的提取、删除、或者更新,而且并不对第一预设树型结构中的 其他数据对象造成影响,解决了 Key-Value存储数据库读取或者写入部分数据对象需要对 全部数据对象进行处理的技术问题,从而实现了节约存储空间和网络资源,提高数据处理 效率的技术效果。
[0092] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为 依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明 所必须的。
[0093] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施 例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多 情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有 技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计 算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0094] 实施例2
[0095] 根据本发明实施例,还提供了一种用于实施上述数据处理方法的数据处理装置, 可选地,在本实施例中,该数据处理装置可以应用于如图1所示的服务器102和终端104所 构成的硬件环境中。本发明实施例的数据处理装置可以由服务器102来实现,也可以由终 端104来实现,还可以是由服务器102和终端104共同实现。
[0096] 图18是根据本发明实施例的数据处理装置的示意图,如图18所示,该数据处理装 置包括:第一获取模块10,第二获取模块20,提取模块30,接收模块40和处理模块50。
[0097] 第一获取模块10用于获取第一预设树型结构,其中,第一预设树型结构为用于存 储预设数据对象的树型结构。
[0098] 该实施例的数据处理装置中的第一获取模块10获取的第一预设树型结构中包括 预设标识符,预设标识符用于标识第一预设树型结构中的节点。第一预设树型结构中的节 点可以包括键值Key,也可以不包括Key。当第一预设树型结构中的节点包括键值Key时, 该节点由标识符和Key唯一标识,当当第一预设树型结构中的节点不包括Key时,该节点由 标识符唯一标识。
[0099] 第二获取模块20用于获取第二预设树型结构,其中,第二预设树型结构为由请求 第一预设树型结构中目标节点中的数据对象的路径组成的树型结构。
[0100] 该实施例的数据处理装置中的第二获取模块20用于获取第二预设树型结构,客 户端的请求消息中包含有客户端希望请求的第一预设树型结构中的节点,即目标节点,在 第一预设树型结构中存在请求目标节点的请求路径,即从根节点到目标节点的路径,该路 径中可以包含有中间节点,也可以不包含中间节点。由客户端的请求消息中包含的目标节 点在第一预设树型结构中的请求路径可以得到第二预设树型结构。
[0101] 提取模块30用于从第一预设树型结构中提取出第二预设树型结构对应的子树型 结构。
[0102] 优选地,该实施例的数据处理装置中的提取模块30可以包括:遍历模块,用于遍 历第二预设树型结构中的节点;第一判断模块,用于判断在第一预设树型结构中是否存在 第一节点,其中,第一节点为标识符与第二预设树型结构中的节点的标识符相同的节点;第 二判断模块,用于当判断出在第一预设树型结构中存在第一节点时,判断第一节点的键值 是否与第二预设树型结构中的节点的键值相同;添加模块,用于当判断出第一节点的键值 与第二预设树型结构中的节点的键值相同时,将第一节点添加至子树型结构中。
[0103] 通过该实施例的数据处理装置中的提取模块30,可以从第一预设树型结构中获取 与第二预设树型结构相应的子树型结构,从而实现从第一预设树型结构中存储的预设数据 对象中获取客户端所需的待处理的部分数据,而不对第一预设树型结构中的其他数据造成 影响,有效地解决了 Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对 象进行处理的技术问题。
[0104] 接收模块40用于接收触发信号,其中,触发信号为根据子树型结构对第一预设树 型结构中的数据对象进行处理的信号。
[0105] 该实施例的数据处理装置中的接收模块40中接收的触发信号可以分为三类,提 取信号、删除信号以及更新信号。提取信号,提取信号用于从第一预设树型结构中提取子树 型结构中的数据对象;删除信号,删除信号用于删除第一预设树型结构中与子树型结构中 的节点相同的数据对象;更新信号,更新信号用于更新第一预设树型结构中的数据对象。其 中,提取信号对应从第一预设树型结构中提取子树型结构的操作,删除信号对应从第一预 设树型结构中删除子树型结构对应的节点中的数据对象的操作,更新信号对应更新第一预 设树型结构中的数据对象的操作。
[0106] 处理模块50用于通过执行触发信号对第一预设树型结构中的数据对象进行处 理。
[0107] 优选地,该数据处理装置还包括检测模块,用于检测触发信号的类型。当检测模块 检测到的触发信号为提取信号时,处理模块50包括:第一获取子模块,用于获取子树型结 构中的数据对象,从而实现对第一预设树型结构中与子树型结构对应的数据对象的提取操 作。当检测模块检测到的触发信号为删除信号时,处理模块50还包括:删除模块,用于从第 一预设树型结构中删除与子树型结构中的节点相同的数据对象,从而实现对第一预设树型 结构中与子树型结构对应的数据对象的删除操作。
[0108] 优选地,当检测模块检测到的触发信号为更新信号时,处理模块50还包括:第二 获取子模块,用于获取待添加树型结构;第一确定子模块,用于确定预设深度;生成模块, 用于根据待添加树型结构和预设深度生成请求树型结构;第一删除子模块,用于从第一预 设树型结构中删除与请求树型结构中的节点相同的数据对象,得到删除后的第一预设树型 结构;第一添加子模块,用于将待添加树型结构中的数据对象添加至删除后的第一预设树 型结构。
[0109] 具体地,生成模块包括:第三获取子模块,用于获取待添加树型结构中深度为预设 深度的节点;第二删除子模块,用于将待添加树型结构中深度为预设深度的节点中的键值 删除,并将节点的类型值设置为I;第二添加子模块,用于将待添加树型结构中的深度小于 等于预设深度的节点添加至请求树型结构中。该实施例的数据处理装置通过生成模块实现 了根据待添加树型结构和预设深度生成请求树型结构的过程,进而通过匹配请求树型结构 在第一预设树型结构中的节点,将第一预设树型结构中与请求树型结构相应的树型结构替 换为待添加树型结构,实现对第一预设树型结构中的数据对象的更新操作。
[0110] 通过本发明实施例的数据处理装置,通过第一获取模块获取第一预设树型结构, 通过第二获取模块获取第二预设树型结构,通过提取模块实现从第一预设树型结构中提取 与第二预设树型结构匹配的子树型结构,最后通过处理模块对第一预设树型结构中的与子 树型结构对应的数据对象执行接收模块接收到的触发信号。通过该发明实施例的数据处理 装置实现了对获取到的部分数据对象进行处理,而不影响数据库中存储的其他数据对象, 达到了降低数据对象访问开销的目的,进而解决了 Key-Value存储数据库读取或者写入部 分数据对象需要对全部数据对象进行处理的技术问题,从而实现了节约存储空间和网络资 源,提高数据处理效率的技术效果。
[0111] 实施例3
[0112] 根据本发明实施例,还提供了一种用于实施上述数据处理方法和数据处理装置的 数据处理系统,该数据处理系统包括服务器100和客户端200,如图19所示,其中,图19是 根据本发明实施例的数据处理系统的示意图。具体地,服务器100包括:处理器102、存储 器104和网络接口 106。本发明实施例的数据处理系统可以由服务器100来实现,也可以由 客户端200来实现,还可以是由服务器100和客户端200共同实现。
[0113] 该数据处理系统可以用于执行以下步骤:
[0114] 步骤S31,获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据 对象的树型结构。
[0115] 步骤S33,获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树 型结构中目标节点中的数据对象的路径组成的树型结构。
[0116] 步骤S35,从第一预设树型结构中提取出第二预设树型结构对应的子树型结构。
[0117] 步骤S37,接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构 中的数据对象进行处理的信号。
[0118] 步骤S39,通过执行触发信号对第一预设树型结构中的数据对象进行处理。
[0119] 其中,以服务器100中的处理器102来执行上述步骤为例,处理器102读取的数据 可以是从存储器104中读取。在执行触发信号得到处理后的树型结构之后,可以利用网络 接口 106将该处理后的树型结构发送至客户端200,在客户端200的显示界面上显示该处理 后的树型结构。
[0120] 根据本发明实施例,通过获取第一预设树型结构和第二预设树型结构,在第一预 设树型结构中提取与第二预设树型结构对应的子树型结构,实现从全部数据对象中获取需 要处理的部分数据对象,接收触发信号,根据触发信号的类型和子树型结构对应的在第一 预设树型结构中的一个或者多个叶子节点中的数据对象进行处理,实现了对获取到的部分 数据对象进行处理,而不影响数据库中存储的其他数据对象,达到了降低数据对象访问开 销的目的,进而解决了 Key-Value存储数据库读取或者写入部分数据对象需要对全部数据 对象进行处理的技术问题,从而实现了节约存储空间和网络资源,提高数据处理效率的技 术效果。
[0121] 可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示 例,本实施例在此不再赘述。
[0122] 实施例4
[0123] 本发明的实施例还提供了 一种存储介质。可选地,在本实施例中,上述存储介质可 以存储用于执行本发明实施例的消息的处理方法的程序代码。
[0124] 可选地,在本实施例中,上述存储介质可以位于本发明实施例3中的处理系统上。
[0125] 可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
[0126] 步骤S41,获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据 对象的树型结构。
[0127] 步骤S43,获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树 型结构中目标节点中的数据对象的路径组成的树型结构。
[0128] 步骤S45,从第一预设树型结构中提取出第二预设树型结构对应的子树型结构。
[0129] 步骤S47,接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构 中的数据对象进行处理的信号。
[0130] 步骤S49,通过执行触发信号对第一预设树型结构中的数据对象进行处理。
[0131] 根据本发明实施例,通过获取第一预设树型结构,其中,第一预设树型结构为用于 存储预设数据对象的树型结构;获取第二预设树型结构,其中,第二预设树型结构为由请求 第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;从第一预设树型结构 中提取出第二预设树型结构对应的子树型结构;接收触发信号,其中,触发信号为根据子树 型结构对第一预设树型结构中的数据对象进行处理的信号;通过执行触发信号对第一预设 树型结构中的数据对象进行处理,解决了 Key-Value存储数据库读取或者写入部分数据对 象需要对全部数据对象进行处理的技术问题,达到了降低数据对象访问开销的目的,实现 了节约存储空间和网络资源,提高数据处理效率的技术效果。
[0132] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(R0M, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、移动硬盘、磁碟或者 光盘等各种可以存储程序代码的介质。
[0133] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行本发明实 施例1中的数据处理方法的程序代码。
[0134] 可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示 例,本实施例在此不再赘述。
[0135] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0136] 上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品 销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软 件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一 台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例 所述方法的全部或部分步骤。
[0137] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有 详述的部分,可以参见其他实施例的相关描述。
[0138] 在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方 式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一 种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者 可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之 间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连 接,可以是电性或其它的形式。
[0139] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0140] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0141] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【主权项】
1. 一种数据处理方法,其特征在于,包括: 获取第一预设树型结构,其中,所述第一预设树型结构为用于存储预设数据对象的树 型结构; 获取第二预设树型结构,其中,所述第二预设树型结构为由请求所述第一预设树型结 构中目标节点中的数据对象的路径组成的树型结构; 从所述第一预设树型结构中提取出所述第二预设树型结构对应的子树型结构; 接收触发信号,其中,所述触发信号为根据所述子树型结构对所述第一预设树型结构 中的数据对象进行处理的信号;以及 通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理。2. 根据权利要求1所述的数据处理方法,其特征在于,所述第一预设树型结构中的节 点中包括预设标识符,所述预设标识符用于标识所述第一预设树型结构中的节点,其中,所 述第一预设树型结构中的节点的标识方式包括以下任意一种: 当所述第一预设树型结构中的节点中包括键值时,所述第一预设树型结构中的节点由 所述预设标识符和所述键值标识,其中,所述键值为所述第一预设树型结构中的节点的第 一个孩子节点;以及 当所述第一预设树型结构中的节点中不包括所述键值时,所述第一预设树型结构中的 节点由所述预设标识符标识。3. 根据权利要求1所述的数据处理方法,其特征在于, 当所述目标节点为所述第一预设树型结构中的叶子节点时,确定所述目标节点在所述 第二预设树型结构中类型为整型,其中,所述整型值为1代表请求所述目标节点,所述整型 值为〇代表不请求所述目标节点; 当所述目标节点为所述第一预设树型结构中的非叶子节点时,代表所述目标节点在所 述第二预设树型结构中请求的是所述第一预设树型结构中的所述目标节点的所有孩子节 点。4. 根据权利要求1所述的数据处理方法,其特征在于,从所述第一预设树型结构中提 取出所述第二预设树型结构对应的子树型结构包括: 遍历所述第二预设树型结构中的节点; 判断在所述第一预设树型结构中是否存在第一节点,其中,所述第一节点为标识符与 所述第二预设树型结构中的节点的标识符相同的节点; 如果判断出在所述第一预设树型结构中存在所述第一节点,判断所述第一节点的键值 是否与所述第二预设树型结构中的节点的键值相同;以及 如果判断出所述第一节点的键值与所述第二预设树型结构中的节点的键值相同,将所 述第一节点添加至所述子树型结构中。5. 根据权利要求1所述的数据处理方法,其特征在于,所述触发信号包括以下任意一 种或者多种: 提取信号,所述提取信号用于从所述第一预设树型结构中提取所述子树型结构中的数 据对象; 删除信号,所述删除信号用于删除所述第一预设树型结构中与所述子树型结构中的节 点相同的数据对象;以及 更新信号,所述更新信号用于更新所述第一预设树型结构中的数据对象。6. 根据权利要求5所述的数据处理方法,其特征在于,在接收触发信号之后,所述方法 还包括: 检测所述触发信号的类型; 当检测到所述触发信号为所述提取信号时,通过执行所述触发信号对所述第一预设树 型结构中的数据对象进行处理包括:获取所述子树型结构中的数据对象; 当检测到所述触发信号为所述删除信号时,通过执行所述触发信号对所述第一预设树 型结构中的数据对象进行处理包括:从所述第一预设树型结构中删除与所述子树型结构中 的节点相同的数据对象; 当检测到所述触发信号为所述更新信号时,通过执行所述触发信号对所述第一预设树 型结构中的数据对象进行处理包括: 获取待添加树型结构; 确定所述预设深度; 根据所述待添加树型结构和所述预设深度生成请求树型结构; 从所述第一预设树型结构中删除与所述请求树型结构中的节点相同的数据对象,得到 删除后的第一预设树型结构;以及 将所述待添加树型结构中的数据对象添加至所述删除后的第一预设树型结构。7. 根据权利要求6所述的数据处理方法,其特征在于,根据所述待添加树型结构和所 述预设深度生成请求树型结构包括: 获取所述待添加树型结构中深度为所述预设深度的节点; 将所述待添加树型结构中深度为所述预设深度的节点中的键值删除,并将所述节点的 类型值设置为1 ;以及 将所述待添加树型结构中的深度小于等于所述预设深度的节点添加至所述请求树型 结构中。8. -种数据处理装置,其特征在于,包括: 第一获取模块,用于获取第一预设树型结构,其中,所述第一预设树型结构为用于存储 预设数据对象的树型结构; 第二获取模块,用于获取第二预设树型结构,其中,所述第二预设树型结构为由请求所 述第一预设树型结构中目标节点中的数据对象的路径组成的树型结构; 提取模块,用于从所述第一预设树型结构中提取出所述第二预设树型结构对应的子树 型结构; 接收模块,用于接收触发信号,其中,所述触发信号为根据所述子树型结构对所述第一 预设树型结构中的数据对象进行处理的信号;以及 处理模块,用于通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处 理。9. 根据权利要求8所述的数据处理装置,其特征在于,所述提取模块包括: 遍历模块,用于遍历所述第二预设树型结构中的节点; 第一判断模块,用于判断在所述第一预设树型结构中是否存在第一节点,其中,所述第 一节点为标识符与所述第二预设树型结构中的节点的标识符相同的节点; 第二判断模块,用于当判断出在所述第一预设树型结构中存在所述第一节点时,判断 所述第一节点的键值是否与所述第二预设树型结构中的节点的键值相同;以及 添加模块,用于当判断出所述第一节点的键值与所述第二预设树型结构中的节点的键 值相同时,将所述第一节点添加至所述子树型结构中。10. 根据权利要求8所述的数据处理装置,其特征在于,所述装置还包括: 检测模块,用于检测所述触发信号的类型, 其中,当所述检测模块检测到的所述触发信号为提取信号时,所述处理模块包括:第一 获取子模块,用于获取所述子树型结构中的数据对象; 当所述检测模块检测到的所述触发信号为删除信号时,所述处理模块包括:删除模块, 用于从所述第一预设树型结构中删除与所述子树型结构中的节点相同的数据对象; 当所述检测模块检测到的所述触发信号为更新信号时,所述处理模块包括: 第二获取子模块,用于获取待添加树型结构; 第一确定子模块,用于确定所述预设深度; 生成模块,用于根据所述待添加树型结构和所述预设深度生成请求树型结构; 第一删除子模块,用于从所述第一预设树型结构中删除与所述请求树型结构中的节点 相同的数据对象,得到删除后的第一预设树型结构;以及 第一添加子模块,用于将所述待添加树型结构中的数据对象添加至所述删除后的第一 预设树型结构。11. 根据权利要求10所述的数据处理装置,其特征在于,所述生成模块包括: 第三获取子模块,用于获取所述待添加树型结构中深度为所述预设深度的节点; 第二删除子模块,用于将所述待添加树型结构中深度为所述预设深度的节点中的键值 删除,并将所述节点的类型值设置为1 ;以及 第二添加子模块,用于将所述待添加树型结构中的深度小于等于所述预设深度的节点 添加至所述请求树型结构中。
【文档编号】G06F17/30GK105843809SQ201510016449
【公开日】2016年8月10日
【申请日】2015年1月13日
【发明人】余镇深
【申请人】腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1