数据处理方法和装置制造方法及图纸

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

【技术实现步骤摘要】

本专利技术涉及数据处理领域,具体而言,涉及一种数据处理方法和装置
技术介绍
随着互联网技术的迅猛发展,分布式系统的应用越来越广泛,非关系型数据库(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存储数据库中的应用程序结构(Application ProgrammingInterface,简称为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.一种数据处理方法,其特征在于,包括:获取第一预设树型结构,其中,所述第一预设树型结构为用于存储预设数据对象的树型结构;获取第二预设树型结构,其中,所述第二预设树型结构为由请求所述第一预设树型结构中目标节点中的数据对象的路径组成的树型结构;从所述第一预设树型结构中提取出所述第二预设树型结构对应的子树型结构;接收触发信号,其中,所述触发信号为根据所述子树型结构对所述第一预设树型结构中的数据对象进行处理的信号;以及通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理。2.根据权利要求1所述的数据处理方法,其特征在于,所述第一预设树型结构中的节点中包括预设标识符,所述预设标识符用于标识所述第一预设树型结构中的节点,其中,所述第一预设树型结构中的节点的标识方式包括以下任意一种:当所述第一预设树型结构中的节点中包括键值时,所述第一预设树型结构中的节点由所述预设标识符和所述键值标识,其中,所述键值为所述第一预设树型结构中的节点的第一个孩子节点;以及当所述第一预设树型结构中的节点中不包括所述键值时,所述第一预设树型结构中的节点由所述预设标识符标识。3.根据权利要求1所述的数据处理方法,其特征在于,当所述目标节点为所述第一预设树型结构中的叶子节点时,确定所述目标节点在所述第二预设树型结构中类型为整型,其中,所述整型值为1代表请求所述目标节点,所述整型值为0代表不请求所述目标节点;当所述目标节点为所述第一预设树型结构中的非叶子节点时,代表所述目标节点在所述第二预设树型结构中请求的是所述第一预设树型结构中的所述目标节点的所有孩子节点。4.根据权利要求1所述的数据处理方法,其特征在于,从所述第一预设树型结构中提取出所述第二预设树型结构对应的子树型结构包括:遍历所述第二预设树型结构中的节点;判断在所述第一预设树型结构中是否存在第一节点,其中,所述第一节点为标识符与所述第二预设树型结构中的节点的标识符相同的节点;如果判断出在所述第一预设树型结构中存在所述第一节点,判断所述第一节点的键值是否与所述第二预设树型结构中的节点的键值相同;以及如果判断出所述第一节点的键值与所述第二预设树型结构中的节点的键值相同,将所述第一节点添加至所述子树型结构中。5.根据权利要求1所述的数据处理方法,其特征在于,所述触发信号包括以下任意一种或者多种:提取信号,所述提取信号用于从所述第一预设树型结构中提取所述子树型结构中的数据对象;删除信号,所述删除信号用于删除所述第一预设树型结构中与所述子树型结构中的节点相同的数据对象;以及更新信号,所述更新信号用于更新所述第一预设树型结构中的数据对象。6.根据权利要求5所述的数据处理方法,其特征在于,在接收触发信号之后,所述方法还包括:检测所述触发信号的类型;当检测到所述触发信号为所述提取信号时,通过执行所述触发信
\t号对所述第一预设树型结构中的数据对象进行处理包括:获取所述子树型结构中的数据对象;当检测到所述触发信号为所述删除信号时,通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理包括:从所述第一预设树型结构中删除与所述子树型结构中的节点相同的数据对象;当检测到所述触发信号为所述更新信号时,通过执行所述触发信号对所述第一预设树型结构中的数据对象进行处理包括:获取待添加树型结构;确定所述预设深度;根据所述待添加树型结构和所...

【专利技术属性】
技术研发人员:余镇深
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1