CN105843809B - 数据处理方法和装置 - Google Patents

数据处理方法和装置 Download PDF

Info

Publication number
CN105843809B
CN105843809B CN201510016449.1A CN201510016449A CN105843809B CN 105843809 B CN105843809 B CN 105843809B CN 201510016449 A CN201510016449 A CN 201510016449A CN 105843809 B CN105843809 B CN 105843809B
Authority
CN
China
Prior art keywords
tree structure
preset
node
preset tree
nodes
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
Application number
CN201510016449.1A
Other languages
English (en)
Other versions
CN105843809A (zh
Inventor
余镇深
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510016449.1A priority Critical patent/CN105843809B/zh
Publication of CN105843809A publication Critical patent/CN105843809A/zh
Application granted granted Critical
Publication of CN105843809B publication Critical patent/CN105843809B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种数据处理方法和装置。其中,该数据处理方法包括:获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构;获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;从第一预设树型结构中提取出第二预设树型结构对应的子树型结构;接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号;通过执行触发信号对第一预设树型结构中的数据对象进行处理。通过本发明,解决了键值Key‑Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题。

Description

数据处理方法和装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据处理方法和装置。
背景技术
随着互联网技术的迅猛发展,分布式系统的应用越来越广泛,非关系型数据库(Not Only SQL,简称为NoSQL)逐渐取代结构化查询语言(Structured Query Language,简称为SQL)成为新一代支持分布式计算的网络存储架构。NoSQL分为四类,分别为键值(Key-Value)存储数据库、列存储数据库、文档型数据库以及图形数据库,其中,基于Key-Value存储数据库的数据存储方式应用最为广泛。
Key-Value存储数据库中的每个数据对象由键Key唯一标识并索引,客户端通过指定Key请求访问相对应的值Value。该Key-Value存储数据库具有以下优点:易于分布式分片存储。在分布式存储系统中,多个客户端的数据对象被分片存储到不同的服务器上,Key-Value存储数据库提供了一种按Key进行划分的分片方法,该分片方法相较于依赖客户端数据的模式定义的数据库管理系统(Datebase Management System,简称为DBMS)简化了客户端数据对象的分片存储;高度与客户端数据对象解耦。DBMS在进行数据存储时需要对客户端数据对象进行建模,数据对象的模式建立之后,重构的代价将会很大,甚至不可能重构。Key-Value存储数据库将数据对象的建模交由数据库开发人员完成,Key-Value存储数据库不再关心数据对象的具体格式,使得数据对象的存储与解析完全解耦,这样客户端可以随时扩展数据结构而不改变存储数据库,客户端可以同时存储多个版本的数据对象,还可以将不同应用的数据对象混合存储等。
但是,由于Key-Value存储数据库将数据对象混合存储,使得读取或者写入该Key-Value存储数据库中的部分数据对象时需要将整个Key-Value存储数据库中的数据对象读取之后进行操作,比如,数据库中存储了三个版本的数据对象,当操作其中任意一个版本的数据对象时,需要使用Key-Value存储数据库中的应用程序结构(ApplicationProgramming Interface,简称为API)将数据库中的三个版本的数据对象全部读取到本地服务器,然后再从中提取出客户端所需要的版本数据对象,这样将会浪费存储空间和网络资源。此外,对于只写入部分数据对象的应用,需要业务侧独立实现乐观锁,即先读取Value,对其进行部分修改,再更新整个Value,其中,更新过程中需要循环检测Value是否被重新修改,如果检测到被重新修改,则需要重新更新整个Value。Key-Value存储数据库在读取或者写入部分数据对象时需要将全部数据对象读取到客户端进行处理,不利于大规模数据的处理。
针对上述Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法和装置,以至少解决Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构;获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;从第一预设树型结构中提取出第二预设树型结构对应的子树型结构;接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号;通过执行触发信号对第一预设树型结构中的数据对象进行处理。
根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:第一获取模块,用于获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构;第二获取模块,用于获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;提取模块,用于从第一预设树型结构中提取出第二预设树型结构对应的子树型结构;接收模块,用于接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号;处理模块,用于通过执行触发信号对第一预设树型结构中的数据对象进行处理。
在本发明实施例中,将数据对象以树型结构进行存储,并支持该树型结构的无限展开,通过在第一预设树型结构中提取与第二预设树型结构对应的子树型结构,实现从全部数据对象中获取需要处理的部分数据对象,其中,第一预设树型结构为用于存储预设数据对象的树型结构,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构,根据子树型结构对第一预设树型结构中的一个或者多个叶子节点进行处理,实现了对获取到的部分数据对象进行处理,而不影响数据库中存储的其他数据对象,达到了降低数据对象访问开销的目的,进而解决了Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题,从而实现了节约存储空间和网络资源,提高数据处理效率的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种硬件环境的示意图;
图2是根据本发明实施例的数据处理方法的流程图;
图3是根据本发明实施例的数据处理方法中的第一预设树型结构的示意图;
图4是根据本发明实施例的数据处理方法中的第二预设树型结构的示意图;
图5是根据本发明实施例的数据处理方法的子树型结构的提取流程图;
图6是根据本发明实施例的数据处理方法中的子树型结构的示意图;
图7是根据本发明实施例的数据处理方法中的第二预设树型结构中根节点的匹配示意图;
图8是根据本发明实施例的数据处理方法中请求叶子节点的匹配示意图;
图9是根据本发明实施例的数据处理方法中请求非叶子节点的匹配示意图;
图10是根据本发明实施例的数据处理方法的更新第一预设树型结构中数据对象的流程图;
图11是根据本发明实施例的数据处理方法中待添加树型结构的示意图;
图12是根据本发明实施例的数据处理方法的预设深度为0时的请求树型结构示意图;
图13是根据本发明实施例的数据处理方法的预设深度为1时的请求树型结构示意图;
图14是根据本发明实施例的数据处理方法的预设深度为2时的请求树型结构示意图;
图15是根据本发明实施例的数据处理方法的请求树型结构在第一预设树型结构进行匹配后得到的树型结构的示意图;
图16是根据本发明实施例的数据处理方法的删除后的第一预设树型结构的示意图;
图17是根据本发明实施例的数据处理方法的更新后的第一预设树型结构的示意图;
图18是根据本发明实施例的数据处理装置的示意图;以及
图19是根据本发明实施例的数据处理系统的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种数据处理方法。
可选地,在本实施例中,上述的数据处理方法可以应用于如图1所示的服务器102和终端104所构成的硬件环境中。如图1所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的数据处理方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的数据处理方法也可以是由安装在其上的客户端来执行。
图2是根据本发明实施例的数据处理方法的流程图。如图2所示,该消息的处理方法包括以下步骤:
步骤S202,获取第一预设树型结构。
该实施例的数据处理方法优选地将数据对象以树型结构进行存储,且该实施例的数据处理方法是基于树型协议实现的,比如协议缓存(Protocol Buffers简称为PB),JavaScript对象表示法(JavaScript Object Notation,简称为JSON),可扩展标记语言(Extensible Markup Language,简称为XML),抽象语言标记(Abstract Syntax NotationOne,简称为ASN.1)以及支持嵌套的类型长度值(Type Length Value,简称为TLV)等。树型协议可以支持数据对象无限嵌套,客户端可以自定义深度和广度,同时树型协议的数据对象存储模式自由,无需知道数据结构定义,就可以把数据对象分解出最基本的元素,此外基于树型协议存储的数据部分包含部分或者全部自我描述信息,比如,XML是完全自描述的,PB是半自描述的,没有.proto文件,只能知道字段的类型,无法知道具体含义。
该实施例的数据处理方法中的第一预设树型结构为用于存储预设数据对象的树型结构,该第一预设树型结构在普通树型协议,比如PB、JSON、XML、ASN.1、TLV等,添加了限制条件,目的是为了适合嵌套Key的处理。其中,限制条件包括:
(1)如果第一预设树型结构中的节点中有键值Key,那么Key即为该节点的第一个孩子节点,并且拥有特殊的标识符。比如,如果第一预设树型结构是基于XML实现的,那么可以预留标识符“Key”给Key使用,即<Key>shaneyu</Key>。如果第一预设树型结构是基于PB实现的,则标识tag值为1的节点为父节点的Key。
(2)系统将会预留一些特殊的标识符,供第一预设树型结构内部使用,这些特殊的标识符称之为Meta,其中,客户端自定义的标识符不能与Meta同名。比如,第一预设树型结构是基于PB实现时,tag1-10预留给Meta使用,用户自定义的数据必须从tag11开始编码。
(3)第一预设树型结构中的节点由标识符和Key唯一标识,如果节点中没有Key,则由标识符唯一标识。比如,第一预设树型结构是基于PB实现时,节点由tag和Key唯一标识,其中tag是该节点中的父节点中的tag;如果节点中没有Key,则该节点由tag唯一标识。
图3是根据本发明实施例的数据处理方法中的第一预设树型结构的示意图,如图3所示,该第一预设树型结构是基于PB实现的,该第一预设树型结构中的节点中均包括一个tag值,其中,根节点是只包含一个字段的PB信息中的该字段。根节点的tag为11,其值是一个包含有一个Key(该Key是根节点的第一个孩子节点,其tag为1,值为123)和三个孩子节点的信息。与图3中所示的第一预设树型结构对应的PB信息Message如下所示:
Figure BDA0000655579270000071
Figure BDA0000655579270000081
优选地,该实施例的数据处理方法中的第一预设树型结构中的节点中包括预设标识符,预设标识符用于标识第一预设树型结构中的节点,其中,第一预设树型结构中的节点的标识方式包括以下任意一种:当第一预设树型结构中的节点中包括键值时,第一预设树型结构中的节点由预设标识符和键值标识,其中,键值为第一预设树型结构中的节点的第一个孩子节点;当第一预设树型结构中的节点中不包括键值时,第一预设树型结构中的节点由预设标识符标识。该实施例的数据处理方法中的第一预设树型结构支持无限嵌套,允许将Value部分不限嵌套展开到客户端数据定义的最小粒度,从而使得客户端能够每次只处理最小粒度的数据,解决了Key-Value中Value部分无法深度解开的问题,而且第一预设树型结构中的数据对象可以是任意类型,客户端可以自定义适合需求业务的数据结构。
步骤S204,获取第二预设树型结构。
该实施例的数据处理方法中的第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构。其中,该目标节点可以是第一预设树型结构中的任意一个或者多个节点,比如,图3中的100:str=shane或者11:Key=alice。该实施例中的第二预设树型结构实质与第一预设树型结构相同,只是在第一预设树型结构的基础上增加了限制条件。该限制条件取决于客户端请求的目标节点在第一预设树型结构中的位置。
当客户端请求的目标节点为第一预设树型结构中的叶子节点时,确定目标节点在第二预设树型结构中类型为整型int,且int只能取两个值,分别为0和1,其中,整型值为1代表请求目标节点,整型值为0代表不请求目标节点;当客户端请求的目标节点为第一预设树型结构中的非叶子节点时,代表目标节点在第二预设树型结构中请求的是第一预设树型结构中的目标节点的所有孩子节点。这样做是为了处理请求第一预设树型结构中的一个子Key下的所有属性,因为子Key中一定有tag为1的孩子节点,不能直接把节点变为整型。
可选地,当客户端请求的目标节点为第一预设树型结构中的非叶子节点中的内容时,根据客户端的请求消息生成第二预设树型结构有以下两种方式:
(1)将第二预设树型结构中对应的节点变为整型,其值设置为1,其中,代表所有tag相同的节点都会被请求。
(2)将第二预设树型结构中对应的节点写成非叶子节点类型,但不指定孩子节点。
图4是根据本发明实施例的数据处理方法中的第二预设树型结构的示意图,如图4所示,客户端请求的目标节点分别为第一预设树型结构中的100:str=shane和11:Key=alice,其中,100:str=shane为叶子节点,在第二预设树型结构中直接将100:str=shane对应的节点变为整型,值设置为1;11:Key=alice为非叶子节点,在第二预设树型结构中将11:Key=alice对应的节点写成非叶子类型,代表请求第一预设树型结构中的11:Key=alice的所有孩子节点,即200:date=20010710和201:str=爱丽丝。
该实施例的数据处理方法将客户端对第一预设树型结构中的节点中的数据对象的请求转化为树型结构,利用第一树型结构的无限嵌套的特点,使得客户端的请求也具有与第一树型结构相同的特点,有利于快速从第一预设树型结构中获取与客户端请求相对应的树型结构,即第二预设树型结构,使得客户端可以明确表明待处理的数据对象,而无需知道具体的客户端数据的类型和含义。该实施例的数据处理方法通过将客户端的请求转化为与第一预设树型结构对应的第二预设树型结构,实现了一种模式自由的通用数据处理方法,提高了数据处理效率。
步骤S206,从第一预设树型结构中提取出第二预设树型结构对应的子树型结构。
该实施例的数据处理方法中的从第一预设树型结构中提取出第二预设树型结构对应的子树型结构的过程,是指根据第二预设树型结构匹配第一预设树型结构的过程。
优选地,该实施例的数据处理方法中从第一预设树型结构中提取出第二预设树型结构对应的子树型结构的流程如图5所示,其中,图5是根据本发明实施例的数据处理方法的子树型结构的提取流程图。具体地,步骤S206从第一预设树型结构中提取出第二预设树型结构对应的子树型结构的提取流程包括以下步骤:
步骤S502,遍历第二预设树型结构中的节点。
该实施例的数据处理方法中的根据第二预设树型结构匹配第一预设树型结构,从而从第一预设树型结构中提取出与第二预设树型结构相对应的子树型结构,该提取子树型结构的过程中需要遍历第二预设树型结构中的每个节点,对第二预设树型结构中的每个节点与第一预设树型结构中的节点进行匹配。首先从第二预设树型结构中的根节点开始进行匹配,然后展开该根节点,逐个对该根节点的孩子节点进行匹配,循环该过程,直至对第二预设树型结构中的每个节点都进行匹配完。由于节点中包含标识符,所以节点的匹配包括节点中标识符的匹配;当节点中包含Key时,节点的匹配过程还要包括Key的匹配。对于第二预设树型结构中的每个节点的匹配过程都可以由节点的标识符的匹配或者节点的标识符的匹配和节点的Key的匹配完成。
步骤S504,判断在第一预设树型结构中是否存在第一节点。
步骤S506,如果判断出在第一预设树型结构中存在第一节点,判断第一节点的键值是否与第二预设树型结构中的节点的键值相同。
该实施例的数据处理方法中的第一节点为标识符与第二预设树型结构中的节点的标识符相同的节点。由于第二预设树型结构中的节点中都会包括标识符,对第二预设树型结构中的节点在第一预设树型结构中的匹配必须包括第二预设树型结构中的节点的标识符的匹配。如果该第一节点中包括键值Key,在判断出第一预设树型结构中存在第一节点之后,继续判断第一节点的键值是否与第二预设树型结构中的节点的键值相同;如果该第一节点中不包括键值Key,则将该第一节点直接添加至子树型结构中,并将根节点至第一节点的请求路径中添加至子树型结构中。
步骤S508,如果判断出第一节点的键值与第二预设树型结构中的节点的键值相同,将第一节点添加至子树型结构中,并将根节点至第一节点的请求路径中添加至子树型结构中。
如果第一节点中包括键值Key,在判断第一节点的键值是否与第二预设树型结构中的节点的键值相同之后,当判断出第一节点的键值与第二预设树型结构中的节点的键值相同时,则将第一节点添加至子树型结构,并将根节点至第一节点的请求路径中添加至子树型结构中。
该实施例的数据处理方法中将第二预设树型结构中的节点在第一预设树型结构中的匹配过程分为该节点的标识符的匹配或者该节点的标识符的匹配和该节点的键值Key的匹配,提高了节点匹配结果的准确性。
例如,从图3中所示的第一预设树型结构中提取与图4中所示的第二预设树型结构对应的子树型结构如图6所示,其中,图6是根据本发明实施例的数据处理方法中的子树型结构的示意图。具体的匹配过程如下:
(1)图7是根据本发明实施例的数据处理方法中的第二预设树型结构中根节点的匹配示意图,如图7所示,根节点的匹配过程包括根节点的标识符的匹配和键值Key的匹配,即判断第二预设树型结构中的根节点11:Key=123的标识符tag11与键值Key=123是否与第一预设树型结构中的根节点的标识符和键值相同,经过判断第一预设树型结构中的根节点的标识符tag11和键值Key=123与第二预设树型结构中的根节点的标识符tag11和键值Key=123相同,证明第二预设树型结构中的根节点匹配成功。
(2)展开根节点,深度遍历第二预设树型结构,对第二预设树型结构中的节点在第一预设树型结构中查找匹配的标识符和键值Key,如果查找成功,证明该节点在第一预设树型结构中匹配成功,如果没有查找到,证明该节点在第一预设树型结构中没有匹配成功,则继续进行下一个节点的匹配。
具体地,图8是根据本发明实施例的数据处理方法中请求叶子节点的匹配示意图,如图8所示,当客户端请求的目标节点为叶子节点100:str=shane时,目标节点的请求路径包括中间节点11:Key=null和叶子节点100:int=1,则需要对中间节点11: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。
图9是根据本发明实施例的数据处理方法中请求非叶子节点的匹配示意图,如图9所示,第二预设树型结构中的叶子节点11:Key=alice没有指定孩子节点,代表客户端的请求的目标节点为第一预设树型结构中的11:Key=alice和该节点11:Key=alice的所有孩子节点,即200:date=20010710和201:str=爱丽丝。节点11:Key=alice的请求路径中包括中间节点12:Key=null,对节点11:Key=alice的匹配包括对中间节点12:Key=null的匹配和对节点11:Key=alice的匹配。经过判断得到,中间节点12:Key=null在第一预设树型结构中匹配得到的节点为12(friends),节点11:Key=alice匹配到的节点为11:Key=alice和该节点11:Key=alice的所有孩子节点,即200:date=20010710和201:str=爱丽丝。
优选地,对第二预设树型结构中的节点匹配完成后,会生成两个树型结构,其中一个为子树型结构,即匹配到的树型结构,当第一预设树型结构中的节点全部匹配成功时,得到的子树型结构时第一预设树型结构;其中一个为匹配失败节点组成的树型结构,当第二预设树型结构中的节点全部匹配失败时,得到的匹配失败节点组成的树型结构为第二预设树型结构。
该实施例中的数据处理方法提供了一种树型结构匹配机制,使得客户端可以明确具体需要处理的部分数据,而不需要知道具体的数据定义类型和含义,即提供了一种模式自由的通用的数据处理方法,极大地提高了数据处理的效率,同时,降低了存储空间和网络资源的消耗。
步骤S208,接收触发信号。
该实施例的数据处理方法中的触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号。
优选地,触发信号包括以下任意一种或者多种:提取信号,提取信号用于从第一预设树型结构中提取子树型结构中的数据对象;删除信号,删除信号用于删除第一预设树型结构中与子树型结构中的节点相同的数据对象;更新信号,更新信号用于更新第一预设树型结构中的数据对象。其中,提取信号对应从第一预设树型结构中提取子树型结构的操作,删除信号对应从第一预设树型结构中删除子树型结构对应的节点中的数据对象的操作,更新信号对应更新第一预设树型结构中的数据对象的操作。提取信号和删除信号对应的操作实质为根据第二预设树型结构在第一预设树型结构中进行匹配,得到子树型结构的过程,而更新信号对应的操作中必须包含一个待添加树型结构,并且指定当前操作的最大深度,根据待添加树型结构和最大深度生成一个新的树型结构,然后从第一预设树型结构中删除该新的树型结构中对应的树型结构,最后将待添加树型结构添加至第一预设树型结构中,实现对第一预设树型结构的更新。
步骤S210,通过执行触发信号对第一预设树型结构中的数据对象进行处理。
该实施例的数据处理方法在接收到触发信号之后,首先对接收到的触发信号的类型进行检测,当检测到的触发信号为提取信号时,则执行提取信号对应的操作,即从第一预设树型结构中提取子树型结构。由于子树型结构是根据第二预设树型结构在第一预设树型结构中进行匹配得到的树型结构,所以,执行从第一预设树型结构中提取子树型结构的操作实质是根据第二预设树型结构在第一预设树型结构进行节点匹配的过程。在步骤S206中已经详细的介绍了根据第二预设树型结构从第一预设树型结构中提取子树型结构的过程,此处不再进行详细地介绍。当获取子树型结构之后,获取子树型结构中的数据对象。
当检测到的触发信号为删除信号时,则执行删除信号对应的操作,即从第一预设树型结构中删除子树型结构对应的节点中的数据对象。删除第一预设树型结构中子树型结构对应的节点中的数据对象,也需要先从第一预设树型结构中提取子树型结构,即根据第二预设树型结构从第一预设树型结构中提取子树型结构,与步骤S206中的匹配过程相同。当从第一预设树型结构中提取到子树型结构后,在第一预设树型结构中删除子树型结构对应数据对象。
当检测到触发信号为更新信号时,执行更新信号对应的操作,即更新第一预设树型结构中的数据对象。图10是根据本发明实施例的数据处理方法的更新第一预设树型结构中数据对象的流程图,如图10所示,该实施例的数据处理方法中更新第一预设树型结构中的数据对象具体包括以下步骤:
步骤S1002,获取待添加树型结构。
步骤S1004,确定预设深度。
该实施例的数据处理方法中的待添加树型结构可以是任意深度的树型结构,预设深度的取值根据客户端的需求任意设定。该实施例可以根据待添加树型结构和预设深度生成一个新的树型结构。
步骤S1006,根据待添加树型结构和预设深度生成请求树型结构。
优选地,步骤S1006中根据待添加树型结构和预设深度生成请求树型结构可以包括:获取待添加树型结构中深度为预设深度的节点;将待添加树型结构中深度为预设深度的节点中的键值删除,并将节点的类型值设置为1;以及将待添加树型结构中的深度小于等于预设深度的节点添加至请求树型结构中。
比如,待添加树型结构如图11所示,其中,图11是根据本发明实施例的数据处理方法中待添加树型结构的示意图。当预设深度为0时,请求树型结构如图12所示,待添加树型结构中的根节点转化为请求树型结构中的节点,此时,客户端希望把整个待添加树型结构都匹配到,其中,图12是根据本发明实施例的数据处理方法的预设深度为0时的请求树型结构示意图。当预设深度为1时,代表客户端希望请求键值Key=123下面的所有孩子节点中的全部数据对象,此时,请求树型结构如图13所示,其中,图13是根据本发明实施例的数据处理方法的预设深度为1时的请求树型结构示意图。当预设深度为2时,请求树型结构如图14所示,图14是根据本发明实施例的数据处理方法的预设深度为2时的请求树型结构示意图,标识符tag为12的friends下的好友列表的标识符tag为11,且tag为11的好友有两个,分别为lili和kate,当该friends节点变为请求树型结构中的节点时,其中,tag为11的两个节点变为一个节点。当预设深度大于等于3时的情况用递归方法类推得到,此处不再描述。
该实施例的数据处理方法的根据待添加树型结构和预设深度生成请求树型结构时,待添加树型结构中的相同深度的节点变为请求树型结构中的节点后,必须能够匹配到所有标识符相同的节点,而不需考虑Key的值,因此,请求树型结构中叶子节点一定是没有Key的整型,即int类型。根据待添加树型结构和预设深度生成请求树型结构也可以理解为把深度小于预设深度的待添加树型结构中的叶子节点变成请求树型结构中对应的节点,把深度大于预设深度的待添加树型结构中的树型结构变成请求树型结构中的叶子节点,该叶子节点没有Key,且类型为int类型。
该实施例的数据处理方法中的根据待添加树型结构和预设深度生成请求树型结构可以应用很多场景,比如,一个热点cache系统,每个节点都有一个有效生命周期,当一个树型结构中有多个节点超过有效生命周期,需要重新回填的时候,就需要根据超过有效生命周期的数据对应的树型结构来生成一个新的树型结构,用这个新的树型结构进行回填。
步骤S1008,从第一预设树型结构中删除与请求树型结构中的节点相同的数据对象,得到删除后的第一预设树型结构。
从第一预设树型结构中删除与请求树型结构中的节点相同的数据对象与从第一预设树型结构中删除与子树型结构中的节点相同的数据对象的过程相同,首先根据请求树型结构在第一预设树型结构中进行节点匹配,然后将匹配成功的节点组成的树型结构在第一预设树型结构中删除。比如,如图14所示的请求树型结构,在请求属性结构在第一预设树型结构中进行匹配得到的树型结构如图15所示,然后将第一预设树型结构中的图15所示的树型结构删除,得到删除后的第一预设树型结构,如图16所示。其中,图15是根据本发明实施例的数据处理方法的请求树型结构在第一预设树型结构进行匹配后得到的树型结构的示意图,图16是根据本发明实施例的数据处理方法的删除后的第一预设树型结构的示意图。
步骤S1010,以及将待添加树型结构中的数据对象添加至删除后的第一预设树型结构。
将待添加树型结构与步骤S1008中得到的删除后的第一预设树型结构合并,实现对第一预设树型结构的更新操作。比如,如图11所示的待添加树型结构,图16所示的删除后的第一预设树型结构,将其进行合并得到更新后的第一预设树型结构如图17所示。其中,图17是根据本发明实施例的数据处理方法的更新后的第一预设树型结构的示意图。
该实施例的数据处理方法通过将客户端的请求信号转化为与第一预设树型结构特征相同的树型结构,以树型结构匹配的方式从第一预设树型结构中获取待处理的部分数据对象,实现对部分数据对象的提取、删除、或者更新,而且并不对第一预设树型结构中的其他数据对象造成影响,解决了Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题,从而实现了节约存储空间和网络资源,提高数据处理效率的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,可选地,在本实施例中,该数据处理装置可以应用于如图1所示的服务器102和终端104所构成的硬件环境中。本发明实施例的数据处理装置可以由服务器102来实现,也可以由终端104来实现,还可以是由服务器102和终端104共同实现。
图18是根据本发明实施例的数据处理装置的示意图,如图18所示,该数据处理装置包括:第一获取模块10,第二获取模块20,提取模块30,接收模块40和处理模块50。
第一获取模块10用于获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构。
该实施例的数据处理装置中的第一获取模块10获取的第一预设树型结构中包括预设标识符,预设标识符用于标识第一预设树型结构中的节点。第一预设树型结构中的节点可以包括键值Key,也可以不包括Key。当第一预设树型结构中的节点包括键值Key时,该节点由标识符和Key唯一标识,当当第一预设树型结构中的节点不包括Key时,该节点由标识符唯一标识。
第二获取模块20用于获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构。
该实施例的数据处理装置中的第二获取模块20用于获取第二预设树型结构,客户端的请求消息中包含有客户端希望请求的第一预设树型结构中的节点,即目标节点,在第一预设树型结构中存在请求目标节点的请求路径,即从根节点到目标节点的路径,该路径中可以包含有中间节点,也可以不包含中间节点。由客户端的请求消息中包含的目标节点在第一预设树型结构中的请求路径可以得到第二预设树型结构。
提取模块30用于从第一预设树型结构中提取出第二预设树型结构对应的子树型结构。
优选地,该实施例的数据处理装置中的提取模块30可以包括:遍历模块,用于遍历第二预设树型结构中的节点;第一判断模块,用于判断在第一预设树型结构中是否存在第一节点,其中,第一节点为标识符与第二预设树型结构中的节点的标识符相同的节点;第二判断模块,用于当判断出在第一预设树型结构中存在第一节点时,判断第一节点的键值是否与第二预设树型结构中的节点的键值相同;添加模块,用于当判断出第一节点的键值与第二预设树型结构中的节点的键值相同时,将第一节点添加至子树型结构中。
通过该实施例的数据处理装置中的提取模块30,可以从第一预设树型结构中获取与第二预设树型结构相应的子树型结构,从而实现从第一预设树型结构中存储的预设数据对象中获取客户端所需的待处理的部分数据,而不对第一预设树型结构中的其他数据造成影响,有效地解决了Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题。
接收模块40用于接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号。
该实施例的数据处理装置中的接收模块40中接收的触发信号可以分为三类,提取信号、删除信号以及更新信号。提取信号,提取信号用于从第一预设树型结构中提取子树型结构中的数据对象;删除信号,删除信号用于删除第一预设树型结构中与子树型结构中的节点相同的数据对象;更新信号,更新信号用于更新第一预设树型结构中的数据对象。其中,提取信号对应从第一预设树型结构中提取子树型结构的操作,删除信号对应从第一预设树型结构中删除子树型结构对应的节点中的数据对象的操作,更新信号对应更新第一预设树型结构中的数据对象的操作。
处理模块50用于通过执行触发信号对第一预设树型结构中的数据对象进行处理。
优选地,该数据处理装置还包括检测模块,用于检测触发信号的类型。当检测模块检测到的触发信号为提取信号时,处理模块50包括:第一获取子模块,用于获取子树型结构中的数据对象,从而实现对第一预设树型结构中与子树型结构对应的数据对象的提取操作。当检测模块检测到的触发信号为删除信号时,处理模块50还包括:删除模块,用于从第一预设树型结构中删除与子树型结构中的节点相同的数据对象,从而实现对第一预设树型结构中与子树型结构对应的数据对象的删除操作。
优选地,当检测模块检测到的触发信号为更新信号时,处理模块50还包括:第二获取子模块,用于获取待添加树型结构;第一确定子模块,用于确定预设深度;生成模块,用于根据待添加树型结构和预设深度生成请求树型结构;第一删除子模块,用于从第一预设树型结构中删除与请求树型结构中的节点相同的数据对象,得到删除后的第一预设树型结构;第一添加子模块,用于将待添加树型结构中的数据对象添加至删除后的第一预设树型结构。
具体地,生成模块包括:第三获取子模块,用于获取待添加树型结构中深度为预设深度的节点;第二删除子模块,用于将待添加树型结构中深度为预设深度的节点中的键值删除,并将节点的类型值设置为1;第二添加子模块,用于将待添加树型结构中的深度小于等于预设深度的节点添加至请求树型结构中。该实施例的数据处理装置通过生成模块实现了根据待添加树型结构和预设深度生成请求树型结构的过程,进而通过匹配请求树型结构在第一预设树型结构中的节点,将第一预设树型结构中与请求树型结构相应的树型结构替换为待添加树型结构,实现对第一预设树型结构中的数据对象的更新操作。
通过本发明实施例的数据处理装置,通过第一获取模块获取第一预设树型结构,通过第二获取模块获取第二预设树型结构,通过提取模块实现从第一预设树型结构中提取与第二预设树型结构匹配的子树型结构,最后通过处理模块对第一预设树型结构中的与子树型结构对应的数据对象执行接收模块接收到的触发信号。通过该发明实施例的数据处理装置实现了对获取到的部分数据对象进行处理,而不影响数据库中存储的其他数据对象,达到了降低数据对象访问开销的目的,进而解决了Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题,从而实现了节约存储空间和网络资源,提高数据处理效率的技术效果。
实施例3
根据本发明实施例,还提供了一种用于实施上述数据处理方法和数据处理装置的数据处理系统,该数据处理系统包括服务器100和客户端200,如图19所示,其中,图19是根据本发明实施例的数据处理系统的示意图。具体地,服务器100包括:处理器102、存储器104和网络接口106。本发明实施例的数据处理系统可以由服务器100来实现,也可以由客户端200来实现,还可以是由服务器100和客户端200共同实现。
该数据处理系统可以用于执行以下步骤:
步骤S31,获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构。
步骤S33,获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构。
步骤S35,从第一预设树型结构中提取出第二预设树型结构对应的子树型结构。
步骤S37,接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号。
步骤S39,通过执行触发信号对第一预设树型结构中的数据对象进行处理。
其中,以服务器100中的处理器102来执行上述步骤为例,处理器102读取的数据可以是从存储器104中读取。在执行触发信号得到处理后的树型结构之后,可以利用网络接口106将该处理后的树型结构发送至客户端200,在客户端200的显示界面上显示该处理后的树型结构。
根据本发明实施例,通过获取第一预设树型结构和第二预设树型结构,在第一预设树型结构中提取与第二预设树型结构对应的子树型结构,实现从全部数据对象中获取需要处理的部分数据对象,接收触发信号,根据触发信号的类型和子树型结构对应的在第一预设树型结构中的一个或者多个叶子节点中的数据对象进行处理,实现了对获取到的部分数据对象进行处理,而不影响数据库中存储的其他数据对象,达到了降低数据对象访问开销的目的,进而解决了Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题,从而实现了节约存储空间和网络资源,提高数据处理效率的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以存储用于执行本发明实施例的消息的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于本发明实施例3中的处理系统上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
步骤S41,获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构。
步骤S43,获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构。
步骤S45,从第一预设树型结构中提取出第二预设树型结构对应的子树型结构。
步骤S47,接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号。
步骤S49,通过执行触发信号对第一预设树型结构中的数据对象进行处理。
根据本发明实施例,通过获取第一预设树型结构,其中,第一预设树型结构为用于存储预设数据对象的树型结构;获取第二预设树型结构,其中,第二预设树型结构为由请求第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;从第一预设树型结构中提取出第二预设树型结构对应的子树型结构;接收触发信号,其中,触发信号为根据子树型结构对第一预设树型结构中的数据对象进行处理的信号;通过执行触发信号对第一预设树型结构中的数据对象进行处理,解决了Key-Value存储数据库读取或者写入部分数据对象需要对全部数据对象进行处理的技术问题,达到了降低数据对象访问开销的目的,实现了节约存储空间和网络资源,提高数据处理效率的技术效果。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行本发明实施例1中的数据处理方法的程序代码。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种数据处理方法,其特征在于,包括:
获取第一预设树型结构,其中,所述第一预设树型结构为用于存储预设数据对象的树型结构;
获取第二预设树型结构,其中,所述第二预设树型结构为由请求所述第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;
从所述第一预设树型结构中提取出所述第二预设树型结构对应的子树型结构,包括:遍历所述第二预设树型结构中的节点;判断在所述第一预设树型结构中是否存在第一节点,其中,所述第一节点为标识符与所述第二预设树型结构中的节点的标识符相同的节点;如果判断出在所述第一预设树型结构中存在所述第一节点,判断所述第一节点的键值是否与所述第二预设树型结构中的节点的键值相同;以及如果判断出所述第一节点的键值与所述第二预设树型结构中的节点的键值相同,将所述第一节点添加至所述子树型结构中;
接收触发信号,其中,所述触发信号为根据所述子树型结构对所述第一预设树型结构中的数据对象进行处理的信号;以及
通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理。
2.根据权利要求1所述的数据处理方法,其特征在于,所述第一预设树型结构中的节点中包括预设标识符,所述预设标识符用于标识所述第一预设树型结构中的节点,其中,所述第一预设树型结构中的节点的标识方式包括以下任意一种:
当所述第一预设树型结构中的节点中包括键值时,所述第一预设树型结构中的节点由所述预设标识符和所述键值标识,其中,所述键值为所述第一预设树型结构中的节点的第一个孩子节点;以及
当所述第一预设树型结构中的节点中不包括所述键值时,所述第一预设树型结构中的节点由所述预设标识符标识。
3.根据权利要求1所述的数据处理方法,其特征在于,
当所述目标节点为所述第一预设树型结构中的叶子节点时,确定所述目标节点在所述第二预设树型结构中类型为整型,其中,所述整型值为1代表请求所述目标节点,所述整型值为0代表不请求所述目标节点;
当所述目标节点为所述第一预设树型结构中的非叶子节点时,代表所述目标节点在所述第二预设树型结构中请求的是所述第一预设树型结构中的所述目标节点的所有孩子节点。
4.根据权利要求1所述的数据处理方法,其特征在于,所述触发信号包括以下任意一种或者多种:
提取信号,所述提取信号用于从所述第一预设树型结构中提取所述子树型结构中的数据对象;
删除信号,所述删除信号用于删除所述第一预设树型结构中与所述子树型结构中的节点相同的数据对象;以及
更新信号,所述更新信号用于更新所述第一预设树型结构中的数据对象。
5.根据权利要求4所述的数据处理方法,其特征在于,在接收触发信号之后,所述方法还包括:
检测所述触发信号的类型;
当检测到所述触发信号为所述提取信号时,通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理包括:获取所述子树型结构中的数据对象;
当检测到所述触发信号为所述删除信号时,通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理包括:从所述第一预设树型结构中删除与所述子树型结构中的节点相同的数据对象;
当检测到所述触发信号为所述更新信号时,通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理包括:
获取待添加树型结构;
确定预设深度;
根据所述待添加树型结构和所述预设深度生成请求树型结构;
从所述第一预设树型结构中删除与所述请求树型结构中的节点相同的数据对象,得到删除后的第一预设树型结构;以及
将所述待添加树型结构中的数据对象添加至所述删除后的第一预设树型结构。
6.根据权利要求5所述的数据处理方法,其特征在于,根据所述待添加树型结构和所述预设深度生成请求树型结构包括:
获取所述待添加树型结构中深度为所述预设深度的节点;
将所述待添加树型结构中深度为所述预设深度的节点中的键值删除,并将所述节点的类型值设置为1;以及
将所述待添加树型结构中的深度小于等于所述预设深度的节点添加至所述请求树型结构中。
7.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取第一预设树型结构,其中,所述第一预设树型结构为用于存储预设数据对象的树型结构;
第二获取模块,用于获取第二预设树型结构,其中,所述第二预设树型结构为由请求所述第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;
提取模块,用于从所述第一预设树型结构中提取出所述第二预设树型结构对应的子树型结构,所述提取模块包括:遍历模块,用于遍历所述第二预设树型结构中的节点;第一判断模块,用于判断在所述第一预设树型结构中是否存在第一节点,其中,所述第一节点为标识符与所述第二预设树型结构中的节点的标识符相同的节点;第二判断模块,用于当判断出在所述第一预设树型结构中存在所述第一节点时,判断所述第一节点的键值是否与所述第二预设树型结构中的节点的键值相同;以及添加模块,用于当判断出所述第一节点的键值与所述第二预设树型结构中的节点的键值相同时,将所述第一节点添加至所述子树型结构中;
接收模块,用于接收触发信号,其中,所述触发信号为根据所述子树型结构对所述第一预设树型结构中的数据对象进行处理的信号;以及
处理模块,用于通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理。
8.根据权利要求7所述的数据处理装置,其特征在于,所述装置还包括:
检测模块,用于检测所述触发信号的类型,
其中,当所述检测模块检测到的所述触发信号为提取信号时,所述处理模块包括:第一获取子模块,用于获取所述子树型结构中的数据对象;
当所述检测模块检测到的所述触发信号为删除信号时,所述处理模块包括:删除模块,用于从所述第一预设树型结构中删除与所述子树型结构中的节点相同的数据对象;
当所述检测模块检测到的所述触发信号为更新信号时,所述处理模块包括:
第二获取子模块,用于获取待添加树型结构;
第一确定子模块,用于确定预设深度;
生成模块,用于根据所述待添加树型结构和所述预设深度生成请求树型结构;
第一删除子模块,用于从所述第一预设树型结构中删除与所述请求树型结构中的节点相同的数据对象,得到删除后的第一预设树型结构;以及
第一添加子模块,用于将所述待添加树型结构中的数据对象添加至所述删除后的第一预设树型结构。
9.根据权利要求8所述的数据处理装置,其特征在于,所述生成模块包括:
第三获取子模块,用于获取所述待添加树型结构中深度为所述预设深度的节点;
第二删除子模块,用于将所述待添加树型结构中深度为所述预设深度的节点中的键值删除,并将所述节点的类型值设置为1;以及
第二添加子模块,用于将所述待添加树型结构中的深度小于等于所述预设深度的节点添加至所述请求树型结构中。
CN201510016449.1A 2015-01-13 2015-01-13 数据处理方法和装置 Active CN105843809B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510016449.1A CN105843809B (zh) 2015-01-13 2015-01-13 数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510016449.1A CN105843809B (zh) 2015-01-13 2015-01-13 数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN105843809A CN105843809A (zh) 2016-08-10
CN105843809B true CN105843809B (zh) 2020-04-28

Family

ID=56579751

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510016449.1A Active CN105843809B (zh) 2015-01-13 2015-01-13 数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN105843809B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180205994A1 (en) * 2017-01-17 2018-07-19 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd Collection and processing method for information as to viewing of videos by user and device and server using the same
CN108737487B (zh) * 2018-03-21 2020-09-29 腾讯科技(深圳)有限公司 数据同步方法和装置、存储介质及电子装置
CN112559448B (zh) * 2021-02-19 2021-05-18 腾讯科技(深圳)有限公司 数据状态迁移方法、装置、计算机设备和存储介质
CN114282074B (zh) * 2022-03-04 2022-08-16 阿里云计算有限公司 数据库操作方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470727A (zh) * 2007-12-24 2009-07-01 新奥特(北京)视频技术有限公司 一种树形数据编辑处理的方法及系统
CN102243660A (zh) * 2011-07-18 2011-11-16 中兴通讯股份有限公司 一种数据访问方法及设备
CN105302842A (zh) * 2014-07-31 2016-02-03 北大方正集团有限公司 一种数据处理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3870144B2 (ja) * 2002-09-27 2007-01-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 木構造文書送受システム、木構造文書送信装置、木構造文書受信装置、木構造文書送受方法、木構造文書送信方法、木構造文書受信方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470727A (zh) * 2007-12-24 2009-07-01 新奥特(北京)视频技术有限公司 一种树形数据编辑处理的方法及系统
CN102243660A (zh) * 2011-07-18 2011-11-16 中兴通讯股份有限公司 一种数据访问方法及设备
CN105302842A (zh) * 2014-07-31 2016-02-03 北大方正集团有限公司 一种数据处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
路径存储法在生成树形结构中的应用研究;唐青松;《计算机与现代化》;20040430(第4期);178—181 *

Also Published As

Publication number Publication date
CN105843809A (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN111259006B (zh) 一种通用的分布式异构数据一体化物理汇聚、组织、发布与服务方法及系统
KR102133951B1 (ko) 짧은 링크 처리 방법, 디바이스, 및 서버
US9646030B2 (en) Computer-readable medium storing program and version control method
CN107526777B (zh) 一种基于版本号对文件进行处理的方法及设备
CN111046034B (zh) 管理内存数据及在内存中维护数据的方法和系统
CN107977396B (zh) 一种KeyValue数据库的数据表的更新方法与表数据更新装置
CN105488050B (zh) 一种数据库多索引方法、装置及系统
CN106599111B (zh) 一种数据管理方法及存储系统
CN110851209B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN104239511B (zh) 一种面向MongoDB的用户空间文件系统实现方法
CN107103011B (zh) 终端数据搜索的实现方法和装置
CN105843809B (zh) 数据处理方法和装置
CN113010476B (zh) 元数据查找方法、装置、设备及计算机可读存储介质
CN110020272B (zh) 缓存方法、装置以及计算机存储介质
CN113392068A (zh) 数据处理方法、装置和系统
CN113434506B (zh) 数据管理及检索方法、装置、计算机设备及可读存储介质
CN112559913B (zh) 一种数据处理方法、装置、计算设备及可读存储介质
CN115705313A (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
CN111176901A (zh) 一种hdfs删除文件恢复方法、终端设备及存储介质
US20150347402A1 (en) System and method for enabling a client system to generate file system operations on a file system data set using a virtual namespace
CN107291875B (zh) 一种基于元数据图的元数据组织管理方法和系统
CN115185997A (zh) 一种主机信息处理方法、装置、电子设备及存储介质
US10114864B1 (en) List element query support and processing
CN114048219A (zh) 图数据库更新方法及装置
CN117009430A (zh) 数据管理方法、装置和存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant