CN108694219A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN108694219A CN108694219A CN201710236887.8A CN201710236887A CN108694219A CN 108694219 A CN108694219 A CN 108694219A CN 201710236887 A CN201710236887 A CN 201710236887A CN 108694219 A CN108694219 A CN 108694219A
- Authority
- CN
- China
- Prior art keywords
- node
- buffer
- stored
- database
- tree data
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据处理方法及装置。一方面,本发明实施例通过在数据库中利用一条记录存储所述树状结构数据;一条记录中包含M个字段,M等于树状结构数据中节点总数,每个字段包含树状结构数据中的一个节点以及该节点最近的父节点信息;然后,根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息;从而,在分布式存储系统中,将各节点作为关键字进行存储,以及,将每个节点各自对应的父子节点信息作为关键字对应的数值进行存储。本发明实施例提供的技术方案用以解决现有技术中通过数据库直接读取树状结构数据时读取性能比较低的问题。
Description
【技术领域】
本发明涉及计算机技术领域,尤其涉及一种数据处理方法及装置。
【背景技术】
即时通讯工具是一种终端服务,允许两个或者多个用户通过网络即时传递文字、档案、语音和视频。一般的,即时通讯工具按照使用用途可以分为企业版和个人版,按照终端上装载的对象又可以分为手机版和电脑版。
现有技术中,企业版的即时通讯工具往往需要在客户端上展现企业的组织架构信息,该组织架构信息是一种树状结构数据,存储在即时通讯工具提供者的数据库中,客户端可以直接从数据库中拉取所需要的组织架构信息,然后将组织架构信息展现给用户。然而,通过数据库直接读取这种树状结构数据,其读取性能比较低(约每秒2000次),影响即时通讯工具的服务能力。
【发明内容】
有鉴于此,本发明实施例提供了一种数据处理方法及装置,用以解决现有技术中通过数据库直接读取树状结构数据时读取性能比较低的问题。
一方面,本发明实施例提供了一种数据处理方法,包括:
在数据库中利用一条记录存储树状结构数据;所述一条记录中包含M个字段,M等于所述树状结构数据中节点总数,每个字段包含所述树状结构数据中的一个节点以及该节点最近的父节点信息;
根据所述数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息;
在分布式存储系统中,将各节点作为关键字进行存储,以及,将每个节点各自对应的父子节点信息作为关键字对应的数值进行存储。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
在所述分布式存储系统中,将所述树状结构数据的节点列表作为关键字进行存储,以及,将各节点组成的节点序列作为该关键字对应的数值进行存储。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息之前,所述方法还包括:
判断所述数据库所存储的指定记录所表达的树状结构是否符合指定条件;
若所述数据库所存储的指定记录所表达的树状结构符合指定条件,执行根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息的步骤。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述指定条件包括:
所述数据库所存储的所述指定记录所表达的树状结构的数目等于1;以及,
所述数据库所存储的所述指定记录所表达的树状结构不存在闭环结构。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分布式存储系统包括至少两个缓存器;所述方法还包括:
接收更新请求,所述更新请求携带第一指定关键字和对应的数值;
响应于所述更新请求,确定当前可更新的缓存器;
基于所述第一指定关键字和对应的数值,对当前可更新的缓存器进行更新;
更新完成后,将缓存器指针设置为指向该缓存器。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述响应于所述更新请求,确定当前可更新的缓存器,包括:
响应于所述更新请求,获取与所述第一指定关键字对应的缓存器指针;
根据所述缓存器指针,确定当前可更新的缓存器。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述方法还包括:
接收客户端发送的查询请求,所述查询请求携带第二指定关键字;
响应于所述查询请求,确定当前可提供服务的缓存器;
根据所述第二指定关键字,从当前可提供服务的缓存器中获取与所述第二指定关键字对应的数值;
向所述客户端返回与所述第二指定关键字对应的数值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述响应于所述查询请求,确定当前可提供服务的缓存器,包括:
响应于所述查询请求,获取与所述第二指定关键字对应的缓存器指针;
将所述缓存器指针所指向的缓存器作为当前可提供服务的缓存器。
另一方面,本发明实施例提供了一种数据处理装置,包括:
信息存储单元,用于在数据库中利用一条记录存储树状结构数据;所述一条记录中包含M个字段,M等于所述树状结构数据中节点总数,每个字段包含所述树状结构数据中的一个节点以及该节点最近的父节点信息;
信息提取单元,用于根据所述数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息;
信息处理单元,用于在分布式存储系统中,将各节点作为关键字进行存储,以及,将每个节点各自对应的父子节点信息作为关键字对应的数值进行存储。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述信息处理单元,还用于在所述分布式存储系统中,将所述树状结构数据的节点列表作为关键字进行存储,以及,将各节点组成的节点序列作为该关键字对应的数值进行存储。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括:
判断单元,用于判断所述数据库所存储的指定记录所表达的树状结构是否符合指定条件;若所述数据库所存储的指定记录所表达的树状结构符合指定条件,还用于触发所述信息提取单元根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述分布式存储系统包括至少两个缓存器;所述装置还包括:
接收单元,用于接收更新请求,所述更新请求携带第一指定关键字和对应的数值;
请求处理单元,用于响应于所述更新请求,确定当前可更新的缓存器;以及,基于所述第一指定关键字和对应的数值,对当前可更新的缓存器进行更新;以及,更新完成后,将缓存器指针设置为指向该缓存器。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述请求处理单元,具体用于:
响应于所述更新请求,获取与所述第一指定关键字对应的缓存器指针;
根据所述缓存器指针,确定当前可更新的缓存器。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述接收单元,还用于接收客户端发送的查询请求,所述查询请求携带第二指定关键字;
所述请求处理单元,还用于响应于所述查询请求,确定当前可提供服务的缓存器;以及,根据所述第二指定关键字,从当前可提供服务的缓存器中获取与所述第二指定关键字对应的数值;
所述装置还包括:发送单元,用于向所述客户端返回与所述第二指定关键字对应的数值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述请求处理单元,具体用于:
响应于所述查询请求,获取与所述第二指定关键字对应的缓存器指针;
将所述缓存器指针所指向的缓存器作为当前可提供服务的缓存器。
上述技术方案中的一个技术方案具有如下有益效果:
本发明实施例中,利用基于关键字-数值的分布式存储系统来存储树状结构数据中的各节点以及各节点的相关信息,基于存储的这些信息向客户端提供数据读取服务时,客户端能够快速查找和定位树状结构数据(如企业的组织架构信息),实现了树状结构数据的高速访问,访问速度每秒可达100000次,是数据库的50倍。与现有技术中这些信息利用数据库进行存储的技术方案相比,提高了数据读取性能,如果应用于即时通讯工具,可提升即时通讯工具的服务能力,从而提升用户体验。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例所提供的数据处理方法的一种流程示意图;
图2是本发明实施例所提供的数据处理方法的另一种流程示意图;
图3是本发明实施例所提供的数据处理方法的另一种流程示意图;
图4是本发明实施例所提供的在数据库中利用一条记录存储一个树状结构数据的示例图;
图5是现有技术中所提供的在数据库中利用多条记录存储一个树状结构数据的示例图;
图6是本发明实施例所提供的将数据库所存储的指定记录中的树状结构数据存入基于关键字-数值的分布式存储系统的示例图;
图7是本发明实施例所提供的数据处理方法的另一流程示意图;
图8是本发明实施例所提供的数据处理方法的另一流程示意图;
图9(a)~图9(b)是本发明实施例所提供的基于两个缓存器实现数据处理方法的示例图;
图10是本发明实施例所提供的数据处理装置的一种功能方块图;
图11是本发明实施例所提供的数据处理装置的另一种功能方块图;
图12是本发明实施例所提供的数据处理装置的另一种功能方块图;
图13是本发明实施例所提供的数据处理装置的另一种功能方块图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述指定关键字,但这些指定关键字不应限于这些术语。这些术语仅用来将指定关键字彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一指定关键字也可以被称为第二指定关键字,类似地,第二指定关键字也可以被称为第一指定关键字。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
针对现有技术中客户端直接从数据库中拉取所需要的树状结构数据时,读取性能比较低的这一类问题,本发明实施例提供了相应的解决思路:将数据库中所存储的树状结构数据进行一定处理后再存储到基于关键字-数值(Key-Value)的分布式存储系统中。
在该思路的引导下,本发明实施例提供了一种可行的实施方案,该实现方案提供的数据处理方法的流程如图1所示,包括:
100、在数据库中利用一条记录存储所述树状结构数据;一条记录中包含M个字段,M等于树状结构数据中节点总数,每个字段包含树状结构数据中的一个节点以及该节点最近的父节点信息。
101、根据数据库所存储的指定记录中的树状结构数据,得到该树状结构数据中的各节点以及每个节点各自的父子节点信息。
102、在分布式存储系统中,将各节点作为关键字进行存储,以及,将每个节点各自对应的父子节点信息作为关键字对应的数值进行存储。
数据库所存储的指定记录包含了一棵完整树的所有信息,但是基于这种数据存储方式,不能够快速的获取某一节点的所有父子节点信息,因此本发明实施例中对数据库所存储的指定记录中的树状结构数据进行步骤101和步骤102的处理,存入基于关键字-数值(Key-Value)的分布式存储系统。
在一种可行的实现方案中,数据库所存储的指定记录中的树状结构数据可以包含各节点以及每个节点各自的父子节点信息,因此可以对指定记录进行遍历,得到该树状结构数据中的各节点,以及每个节点各自的父子节点信息。其中,该父子节点信息可以包括节点的父节点信息和子节点信息中至少一个。
需要说明的是,基于关键字-数值的分布式存储系统中包含若干条记录,每条记录中包含两部分信息,一部分信息是关键字,另一部分信息是该关键字对应的数值。本发明实施例中,在得到该树状结构数据中的各节点以及每个节点各自的父子节点信息之后,需要将得到的这些信息存储至分布式存储系统。在分布式存储系统中,将各节点作为关键字进行存储,以及,将每个节点各自对应的父子节点信息作为关键字对应的数值进行存储。
在一种可行的实现方案中,所涉及的树状结构数据可以为企业的组织架构信息,如即时通讯工具中企业的组织架构信息。
请参考图2,其为本发明实施例所提供的数据处理方法的另一种流程示意图,如图2所示,在一种可行的实现方案中,在步骤100至步骤102的基础上,还可以包括以下步骤:
103、在分布式存储系统中,将树状结构数据的节点列表作为关键字进行存储,以及,将各节点组成的节点序列作为该关键字对应的数值进行存储。
需要说明的是,本发明实施例在包含步骤103的前提下,步骤102和步骤103可以同时执行,或者,也可以先执行步骤102,后执行步骤103,或者,还可以先执行步骤103,后执行步骤102,图2中仅为示例,不用于限定步骤102与步骤103之间的执行顺序。
在一种可行的实现方案中,在上述基于关键字-数值的分布式存储系统中,还可以增加一条记录,该记录中将树状结构数据的节点列表作为关键字进行存储,且该记录中将各节点组成的节点序列作为该关键字对应的数值进行存储。
在一个具体的实现方案中,由于通过对数据库所存储的指定记录中的树状结构数据进行遍历可以得到各节点以及每个节点各自对应的父子节点信息,因此可以获得各节点以及节点之间的父子关系,根据节点之间的父子关系生成上述节点序列。例如,节点序列中节点的排序可以按照父节点—子节点的顺序进行排列,也就是说,在各节点组成的树中,按照从上往下的顺序排列各节点,得到节点序列。其中,属于同一层的节点可以按照由左到右的顺序进行排列。
上述分布式存储系统中存储的各节点、每个节点各自的父子节点信息、节点索引以及节点序列,可以用于形成树状结构数据,例如即时通讯工具中企业的组织架构信息,因此,上述分布式存储系统可以基于这些信息向客户端提供组织架构信息的读取服务。
基于关键字-数值的分布式存储系统的查询速度快、存放数据量大、支持高并发,具有查询性能高的特点。本发明实施例中,利用基于关键字-数值的分布式存储系统来存储树状结构数据中的各节点以及各节点的相关信息(如节点序列和父子节点信息),还可以进一步基于存储的这些信息向客户端提供数据读取服务,客户端能够快速查找和定位树状结构数据(如企业的组织架构信息),实现了树状结构数据的高速访问,访问速度每秒可达100000次,是数据库的50倍。与现有技术中这些信息利用数据库进行存储的技术方案相比,提高了数据读取性能,如果应用于即时通讯工具,可提升即时通讯工具的服务能力,从而提升用户体验。
请参考图3,其为本发明实施例所提供的数据处理方法的另一种流程示意图,如图3所示,在一种可行的实现方案中,在步骤100至步骤102的基础上,或者,在步骤100、步骤101、步骤102和步骤103的基础上(本发明实施例中以包含步骤103为例进行举例说明),在步骤101之前还可以包括以下步骤:
101’、判断数据库所存储的指定记录所表达的树状结构是否符合指定条件;若数据库所存储的指定记录所表达的树状结构符合指定条件,执行根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息的步骤(即步骤101)。
在一种可行的实现方案中,上述指定条件可以包括:
数据库所存储的所述指定记录所表达的树状结构的数目等于1;以及,
所述数据库所存储的所述指定记录所表达的树状结构不存在闭环结构。
需要说明的是,本发明实施例中,当数据库所存储的指定记录所表达的树状结构同时满足上述两个条件时,执行根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息的步骤(即步骤101)。
可以理解的是,为了保证分布式存储系统中不同树状结构数据之间的相互独立以及每个树状结构数据的完整性和准确性,当需要根据数据库所存储的指定记录中的树状结构数据,得到树状结构数据中的各节点和每个节点各自的父子节点信息时,要求该指定记录中所表达的树状结构是一棵完整的树,且各节点之间关系不存在错误。
当数据库所存储的所述指定记录所表达的树状结构的数目大于1,即存在多棵树时,说明该指定记录所表达的树状结构可能包含了多棵树,也可能包含了一棵完整树中的部分节点,即不是一棵完整的树,因此本发明实施例中要求数据库所存储的所述指定记录所表达的树状结构的数目等于1。
另外,如果数据库所存储的所述指定记录所表达的树状结构存在闭环结构,如节点A是节点B的父节点,但节点B的子节点还包括节点A,则说明存在闭环结构,说明该树状结构中存在错误的节点关系,不能执行根据数据库所存储的指定记录中的树状结构数据,得到树状结构数据中的各节点和每个节点各自的父子节点信息的步骤。
另外,若数据库所存储的指定记录所表达的树状结构不符合指定条件,即数据库所存储的指定记录所表达的树状结构没有同时满足上述指定条件中的两个条件,可以结束当前流程,还可以进一步调整需要处理的指定记录或者对数据库所存储的指定记录中的树状结构数据进行修改,待调整或者修改完毕后,还可以重新执行步骤101’~步骤103。
针对步骤100,本发明实施例中提供了一种可行的实现方案。
需要说明的是,在数据库中可以利用一条记录来存储一个树状结构数据,该一条记录所表达的树状结构为一棵完整的树,也即,对于每个树状结构数据,在数据库中都可以利用一条记录进行存储。
进一步的,一条记录中可以包含M个字段,每个字段包含树状结构数据中的一个节点以及该节点最近的父节点信息。其中,字段可以按照由左到由的顺序依次存储树状结构中由上到下且由左到右的各个节点以及每个节点各自最近的父节点信息。
在一种可行的实现方案中,每个字段可以占8个字节,其中节点占4个字节,该节点最近的父节点信息占4个字节。
例如,请参考图4,其为本发明实施例所提供的在数据库中利用一条记录存储一个树状结构数据的示例图,如图4所示,树状结构中包括节点A、节点B和节点C,共三个节点。其中节点A是节点B和节点C的父节点,也即,节点B和节点C都是节点A的子节点。数据库中利用一条记录存储该树状结构数据,该记录中包含三个字段,第1个字段包含该树状结构数据中的节点A以及节点A的父节点信息,由于节点A就是树状结构数据中的根节点,因此其没有父节点,则在该字段中用“0”表示节点A的父节点信息;第2个字段包含该树状结构数据中的节点B以及节点B的父节点信息—节点A;第3个字段包含该树状结构数据中的节点C以及节点C的父节点信息—节点A。其中,由于树状结构数据中节点B位于节点C的左侧,因此在数据库存储的记录中节点B所在字段位于节点C所在字段的前面。
请参考图5,其为现有技术中所提供的在数据库中利用多条记录存储一个树状结构数据的示例图,如图5所示,现有技术中存储与图4相同的树状结构,需要使用与树状结构中节点总数相等的数目记录,来存储一个完整的树状结构,图4所示的树状结构中存在三个节点,如图5所示,如果利用现有技术中数据库的存储方式,数据库需要使用三条记录来存储树状结构数据。其中,第1条记录包含树状结构数据中的节点A以及子节点信息—节点B和节点C,表示节点B和节点C是节点A的子节点;第2条记录包含树状结构数据中的节点B以及子节点信息,由于节点B不存在子节点,因此在该记录中节点B的子节点信息为空;同理,第3条记录包含树状结构数据中的节点C以及子节点信息,由于节点C不存在子节点,因此在该记录中节点C的子节点信息为空。
现有技术中,对于一个完整的树状结构,如果在数据库中利用多条记录进行存储,对树状结构数据进行的一次修改往往需要涉及数据库中的多条记录,一旦其中任何一条记录写入失败,容易导致出现脏数据。例如,如图5所示,如果需要将节点C修改成节点B的子节点,则需要先将第2条和第3条记录删除,然后重新写第2条记录,在需要重新写入的第2条记录中增加节点C的信息,如果删除操作成功,但是由于网络等原因导致写入操作失败,此时该树状结构在数据库中存储将出现不完整,出现了脏数据。如果树状结构信息是企业的组织架构信息,客户端将获取到不完整的组织架构信息,从而客户端无法展现给用户完整的组织架构信息。另外,数据库中对于同一个树状结构数据往往会保存至少两份,如果每份都涉及多条记录,如其中一份中的一条或多条记录写入失败,将导致数据库中各份数据之间的不一致。
如果利用本发明实施例中使用一条记录存储一个完整的树状结构数据,当需要对某树状结构数据进行修改时,涉及数据库中的一条记录,如果这条记录写入成功,数据库中存储的树状结构数据是完整的,如果这条记录写入失败,数据库中没有该树状结构数据,然后重写即可,避免了现有技术中数据库中存在树状结构数据中有部分存在部分不存在的情况,以及数据库中各份数据之间的不一致的问题,从而能够保证树状结构在数据库中存储的完整性和一致性,避免脏数据出现。
可以理解的是,本发明实施例中,上述步骤101中所使用的数据库存储的指定记录中的树状结构数据,可以是上述利用一条记录存储树状结构数据的存储方式,或者,也可以是上述利用多条记录存储树状结构数据的存储方式,本发明实施例对此不进行特别限定。需要说明的是,当利用一条记录存储一个树状结构数据时,相应的,上述数据库所存储的指定记录指的是该数据库中存储的一条记录。当利用多条记录存储一个树状结构数据时,相应的,上述数据库所存储的指定记录指的是该数据库中存储的该树状结构数据的多条记录。
下面以步骤101中所使用的数据库存储的指定记录中的树状结构数据,利用一条记录进行存储的存储方式为例,对将数据库所存储的指定记录中的树状结构数据存入基于关键字-数值的分布式存储系统进行举例说明。
请参考图6,其为本发明实施例所提供的将数据库所存储的指定记录中的树状结构数据存入基于关键字-数值的分布式存储系统的示例图,如图6所示,对图6所示的数据库所存储的一条记录中的树状结构数据进行遍历,获取树状结构数据中的各节点—节点A、节点B和节点C,以及每个节点各自的父子节点信息—节点A没有父节点、节点B的父节点是节点A,节点C的父节点是节点A。
如图6所示,在分布式存储系统中,将节点A、节点B和节点C都作为关键字进行存储,以及,将每节点A对应的父子节点信息(没有父节点,用“0”表示,子节点包括节点B和节点C)作为节点A对应的数值进行存储;以及,将每节点B对应的父子节点信息(父节点包括节点A,没有子节点,用“0”表示)作为节点B对应的数值进行存储;以及,将每节点C对应的父子节点信息(父节点包括节点A,没有子节点,用“0”表示)作为节点C对应的数值进行存储。
此外,如图6所示,还可以在分布式存储系统中,将树状结构数据的节点列表作为关键字(如图6中关键字“TreeNodeList”)进行存储,该节点列表可以作为该树状结构数据的所有节点索引信息,以及,将各节点组成的节点序列作为该关键字对应的数值(如图6中的数值“ABC”)进行存储。这样,当客户端需要查询树状结构数据中包含哪些节点时,可以携带关键字“TreeNodeList”,从而可以在该关键字-数值中快速查询到该节点列表对应的数值,该数值就是树状结构数据中的所有节点。
需要说明的是,本发明实施例所提供的上述数据处理方法的执行主体可以为数据处理装置,该数据处理装置可以位于上述数据库中,或者也可以位于上述分布式存储系统中,或者,还可以位于独立于数据库和分布式存储系统中以外的设备中,本发明实施例对此不进行特别限定。
基于上述技术方案,数据库所存储的一条记录中的树状结构数据,在分布式存储系统中将存储对应的多条记录。在进行数据更新时,是数据先更新到数据库,然后再从数据库同步到分布式存储系统中,因此在从数据库将树状结构数据同步到分布式存储系统中时,多条记录是逐条进行更新的,因此在更新过程中数据的新旧程度是不一致的,也就是数据是不完整的。但是,在更新过程中,分布式存储系统有可能需要向客户端提供数据查询服务,且提供数据查询服务时需要数据保持完整且一致。基于上述技术方案,本发明实施例为了解决这个问题,在分布式存储系统中使用多缓存器机制。在多缓存器机制下,实现数据更新和查询功能,本发明实施例提供了下述可行的实施方案。
需要说明的是,向客户端提供查询和更新服务的执行主体可以为数据处理装置,该数据处理装置可以位于上述分布式存储系统中,或者,还可以位于独立于分布式存储系统中以外的设备中,本发明实施例对此不进行特别限定。
请参考图7,其为本发明实施例所提供的数据处理方法的另一流程示意图,当分布式存储系统包括至少两个缓存器时,以执行主体位于分布式存储系统为例进行举例说明,该数据处理方法可以包括:
701、接收更新请求,该更新请求携带第一指定关键字和对应的数值。
在一种可行的实现方案中,该更新请求可以是由客户端发送的,例如,客户端可以分别向数据库和分布式存储系统发送更新请求。或者,在另一种可行的实现方案中,该更新请求也可以是由数据库发送的,例如,客户端向数据库发送更新请求,数据库更新完成后再向分布式存储系统发送。
702、响应于更新请求,确定当前可更新的缓存器。
在一个具体的实现方案中,当分布式存储系统中存在多个缓存器时,在分布式存储系统中,针对每个树状结构数据可以增加相应的记录,该记录中,将缓存器指针作为关键字(Key),将缓存器指针的值信息作为与该关键字对应的数值(Value),该缓存器指针的值信息用于指示当前可提供服务的缓存器,当前可提供服务的缓存器也是当前不可更新的缓存器,也即,缓存器指针可以指向当前可提供服务的缓存器。
当接收到更新请求时,可以响应于所述更新请求,先获取与第一指定关键字对应的缓存器指针;然后根据缓存器指针,确定当前可更新的缓存器。
例如,以分布式存储系统中存在两个缓存器为例,根据缓存器指针的值信息,可以确定当前可提供服务的缓存器,也即可以确定当前不可更新的缓存器,因此可以获取当前可更新的缓存器为两个缓存器中除当前不可更新的缓存器以外的另一个缓存器,该另一个缓存器就是当前可更新的缓存器。
以树状结构数据是企业的组织架构信息为例,第一指定关键字一般是代表该企业的唯一标识,如用户标识码(User Identification Number,UIN),分布式存储系统中可以维护用户识别码与缓存器指针之间的映射关系,这样就可以根据第一指定关键字获取到对应的缓存器指针。或者,也可以将缓存器指针存储至对应的缓存器中,这样,可以根据第一指定关键字先查询到包含该第一指定关键字的缓存器,然后从缓存器中查询缓存器指针。本领域技术人员可以理解,上述是获取与第一指定关键字对应的缓存器指针的两种可行的实现方案,仅为举例说明,不用于限定其实现方案。
703、基于第一指定关键字和对应的数值,对当前可更新的缓存器进行更新。
在一种可行的实现方案中,在确定当前可更新的缓存器之后,可以根据该第一指定关键字在该缓存器中删除其当前对应的数值,然后再写入更新请求中携带的数值,从而实现在当前可更新的缓存器中对第一指定关键字对应的数值的更新,实现了当前可更新的缓存器的数据更新。
704、更新完成后,将缓存器指针设置为指向该缓存器。
需要说明的是,更新完成后,将缓存器指针设置为指向该存在数据更新的缓存器之后,该缓存器中存储的数据是最新的,用以向客户端提供查询服务,因此,可以通过该缓存器指针的值信息来表示该存在数据更新的缓存器当前可提供服务的缓存器,也就是当前不可更新的缓存器。由于该缓存器中存储的数据是最新的,因此需要向客户端提供查询服务,因此如果下一次接收到更新请求时,不能对该缓存器进行更新,而是对另一缓存器进行更新。也即,以两个缓存器为例,其中缓存器A用于进行数据更新,缓存器B用于在数据更新过程中向客户端提供数据查询服务,一旦缓存器A的数据更新完成,缓存器指针指向该缓存器A,缓存器A的数据与缓存器B的数据相比,缓存器A的数据时最新的,因此由该缓存器A提供数据查询服务,由于缓存器A需要提供数据查询服务,因此如果又收到一个更新请求,则需要对缓存器B进行更新。因此,数据更新是在两个缓存器之间交叉进行的,既可以满足查询功能,还可以顺利完成数据更新。
请参考图8,其为本发明实施例所提供的数据处理方法的另一流程示意图,当分布式存储系统包括至少两个缓存器时,以执行主体位于分布式存储系统为例进行举例说明,该数据处理方法可以包括:
801、接收客户端发送的查询请求,该查询请求携带第二指定关键字。
802、响应于查询请求,确定当前可提供服务的缓存器。
当接收到客户端发送的查询请求时,响应于查询请求,先获取与第二指定关键字对应的缓存器指针;将缓存器指针所指向的缓存器作为当前可提供服务的缓存器。
例如,分布式存储系统中存在两个缓存器时,由于缓存器指针的值信息用于指示当前可提供服务的缓存器,因此,可以根据缓存器指针的值信息,可以确定当前可提供服务的缓存器。
803、根据第二指定关键字,从当前可提供服务的缓存器中获取与第二指定关键字对应的数值。
在一个可行的实现方案中,在确定当前可提供服务的缓存器之后,可以根据该第二指定关键字在该当前可提供服务的缓存器中查询并获取与第二指定关键字对应的数值。
804、向客户端返回与第二指定关键字对应的数值。
在一种可行的实现方案中,可以向客户端返回查询响应,并通过该查询响应携带获取到的与第二指定关键字对应的数值,如此,客户端可以通过第二指定关键字,在分布式存储系统中查询到其对应的数值。
下面以分布式存储系统中具有两个缓存器为例对上述数据更新和查询功能进行举例说明。
请参考图9(a)~图9(b),其为本发明实施例所提供的基于两个缓存器实现数据处理方法的示例图,如图9(a)所示,初始时,对于数据库中存储的一条记录可以在分布式存储系统的两个缓存器(缓存器0和缓存器1)中分别存储一份,且缓存器指针(TreeBufNo)的数值设置为0,即指向缓存器0。
如图9(b)所示,若接收到客户端的更新请求,其中携带关键字—节点C和对应的数值—节点B,表示需要在分布式存储系统中对节点C的父节点信息进行更新,将其父节点由节点A更新为节点B。根据该关键字,确定其对应的缓存器指针,然后查询到该缓存器指针的数值为0,表示当前可提供服务的缓存器是缓存器0,也即,当前可更新的缓存器是缓存器1,因此,对缓存器1中关键字—节点C对应的数值进行更新,在缓存器1中,将节点C以及对应的数值—节点A所在的这条记录删除,然后在分布式存储系统中将节点C作为关键字,将节点B作为该关键字对应的数值进行存储,表示节点B作为节点C的父节点,至此完成更新。更新完成后,将缓存器指针的数值设置为1,即指向缓存器1。
如图9(b)所示,在缓存器1完成更新后,若接收到客户端的查询请求,其中携带关键字—节点C,表示需要在分布式存储系统中查询关键字节点C对应的数值。根据该关键字,确定其对应的缓存器指针,然后查询到该缓存器指针的数值为1,表示当前可提供服务的缓存器是缓存器1,因此,基于关键字节点C在缓存器1中进行查询,得到数值节点B,然后将节点B通过查询响应返回给客户端。
可以理解的是,在缓存器1更新完成之前,分布式存储系统对外提供服务采用缓存器0中的完整数据。在缓存器1更新完成之后,分布式存储系统对外提供服务采用缓存器1中的完整且最新的数据。这种多缓存机制下,既能够实现分布式存储系统中的更新,还能够在更新过程中能够提供完整的数据,以满足对外提供服务的需求。
本发明实施例进一步给出实现上述方法实施例中各步骤及方法的装置实施例。
请参考图10,其为本发明实施例所提供的数据处理装置的一种功能方块图。如图所示,该装置包括:
信息存储单元30,用于在所述数据库中利用一条记录存储所述树状结构数据;其中,所述一条记录中包含M个字段,M等于所述树状结构数据中节点总数,每个字段包含所述树状结构数据中的一个节点以及该节点最近的父节点信息;
信息提取单元10,用于根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息;
信息处理单元20,用于在分布式存储系统中,将各节点作为关键字进行存储,以及,将每个节点各自对应的父子节点信息作为关键字对应的数值进行存储。
在一种可行的实现方案中,如图10所示,所述信息处理单元20,还用于在所述分布式存储系统中,将所述树状结构数据的节点列表作为关键字进行存储,以及,将各节点组成的节点序列作为该关键字对应的数值进行存储。
在一种可行的实现方案中,如图11所示,所述装置还包括:
判断单元40,用于判断所述数据库所存储的指定记录所表达的树状结构是否符合指定条件;若所述数据库所存储的指定记录所表达的树状结构符合指定条件,还用于触发所述信息提取单元根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息。
在一个具体的实现方案中,所述指定条件包括:
所述数据库所存储的所述指定记录所表达的树状结构的数目等于1;以及,
所述数据库所存储的所述指定记录所表达的树状结构不存在闭环结构。
在一种可行的实现方案中,所述分布式存储系统包括至少两个缓存器;如图12所示,所述装置还包括:
接收单元50,用于接收更新请求,所述更新请求携带第一指定关键字和对应的数值;
请求处理单元60,用于响应于所述更新请求,确定当前可更新的缓存器;以及,基于所述第一指定关键字和对应的数值,对当前可更新的缓存器进行更新;以及,更新完成后,将缓存器指针设置为指向该缓存器。
在一个具体的实现方案中,所述请求处理单元60,具体用于:
响应于所述更新请求,获取与所述第一指定关键字对应的缓存器指针;
根据所述缓存器指针,确定当前可更新的缓存器。
在另一个可行的实现方案中,如图13所示,所述接收单元50,还用于接收客户端发送的查询请求,所述查询请求携带第二指定关键字;
所述请求处理单元60,还用于响应于所述查询请求,确定当前可提供服务的缓存器;以及,根据所述第二指定关键字,从当前可提供服务的缓存器中获取与所述第二指定关键字对应的数值;
所述装置还包括:发送单元70,用于向所述客户端返回与所述第二指定关键字对应的数值。
在一个具体的实现方案中,所述请求处理单元60,具体用于:
响应于所述查询请求,获取与所述第二指定关键字对应的缓存器指针;
将所述缓存器指针所指向的缓存器作为当前可提供服务的缓存器。
由于本实施例中的各单元能够执行图1~图9所示的方法,本实施例未详细描述的部分,可参考对图1~图9的相关说明。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (15)
1.一种数据处理方法,其特征在于,包括:
在数据库中利用一条记录存储树状结构数据;所述一条记录中包含M个字段,M等于所述树状结构数据中节点总数,每个字段包含所述树状结构数据中的一个节点以及该节点最近的父节点信息;
根据所述数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息;
在分布式存储系统中,将各节点作为关键字进行存储,以及,将每个节点各自对应的父子节点信息作为关键字对应的数值进行存储。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述分布式存储系统中,将所述树状结构数据的节点列表作为关键字进行存储,以及,将各节点组成的节点序列作为该关键字对应的数值进行存储。
3.根据权利要求1或2所述的方法,其特征在于,所述根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息之前,所述方法还包括:
判断所述数据库所存储的指定记录所表达的树状结构是否符合指定条件;
若所述数据库所存储的指定记录所表达的树状结构符合指定条件,执行根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息的步骤。
4.根据权利要求3所述的方法,其特征在于,所述指定条件包括:
所述数据库所存储的所述指定记录所表达的树状结构的数目等于1;以及,
所述数据库所存储的所述指定记录所表达的树状结构不存在闭环结构。
5.根据权利要求1所述的方法,其特征在于,所述分布式存储系统包括至少两个缓存器;所述方法还包括:
接收更新请求,所述更新请求携带第一指定关键字和对应的数值;
响应于所述更新请求,确定当前可更新的缓存器;
基于所述第一指定关键字和对应的数值,对当前可更新的缓存器进行更新;
更新完成后,将缓存器指针设置为指向该缓存器。
6.根据权利要求5所述的方法,其特征在于,所述响应于所述更新请求,确定当前可更新的缓存器,包括:
响应于所述更新请求,获取与所述第一指定关键字对应的缓存器指针;
根据所述缓存器指针,确定当前可更新的缓存器。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
接收客户端发送的查询请求,所述查询请求携带第二指定关键字;
响应于所述查询请求,确定当前可提供服务的缓存器;
根据所述第二指定关键字,从当前可提供服务的缓存器中获取与所述第二指定关键字对应的数值;
向所述客户端返回与所述第二指定关键字对应的数值。
8.根据权利要求7所述的方法,其特征在于,所述响应于所述查询请求,确定当前可提供服务的缓存器,包括:
响应于所述查询请求,获取与所述第二指定关键字对应的缓存器指针;
将所述缓存器指针所指向的缓存器作为当前可提供服务的缓存器。
9.一种数据处理装置,其特征在于,包括:
信息存储单元,用于在数据库中利用一条记录存储树状结构数据;所述一条记录中包含M个字段,M等于所述树状结构数据中节点总数,每个字段包含所述树状结构数据中的一个节点以及该节点最近的父节点信息;
信息提取单元,用于根据所述数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息;
信息处理单元,用于在分布式存储系统中,将各节点作为关键字进行存储,以及,将每个节点各自对应的父子节点信息作为关键字对应的数值进行存储。
10.根据权利要求9所述的装置,其特征在于,所述信息处理单元,还用于在所述分布式存储系统中,将所述树状结构数据的节点列表作为关键字进行存储,以及,将各节点组成的节点序列作为该关键字对应的数值进行存储。
11.根据权利要求9或10所述的装置,其特征在于,所述装置还包括:
判断单元,用于判断所述数据库所存储的指定记录所表达的树状结构是否符合指定条件;若所述数据库所存储的指定记录所表达的树状结构符合指定条件,还用于触发所述信息提取单元根据数据库所存储的指定记录中的树状结构数据,得到所述树状结构数据中的各节点以及每个节点各自的父子节点信息。
12.根据权利要求9所述的装置,其特征在于,所述分布式存储系统包括至少两个缓存器;所述装置还包括:
接收单元,用于接收更新请求,所述更新请求携带第一指定关键字和对应的数值;
请求处理单元,用于响应于所述更新请求,确定当前可更新的缓存器;以及,基于所述第一指定关键字和对应的数值,对当前可更新的缓存器进行更新;以及,更新完成后,将缓存器指针设置为指向该缓存器。
13.根据权利要求12所述的装置,其特征在于,所述请求处理单元,具体用于:
响应于所述更新请求,获取与所述第一指定关键字对应的缓存器指针;
根据所述缓存器指针,确定当前可更新的缓存器。
14.根据权利要求12或13所述的装置,其特征在于,
所述接收单元,还用于接收客户端发送的查询请求,所述查询请求携带第二指定关键字;
所述请求处理单元,还用于响应于所述查询请求,确定当前可提供服务的缓存器;以及,根据所述第二指定关键字,从当前可提供服务的缓存器中获取与所述第二指定关键字对应的数值;
所述装置还包括:发送单元,用于向所述客户端返回与所述第二指定关键字对应的数值。
15.根据权利要求14所述的装置,其特征在于,所述请求处理单元,具体用于:
响应于所述查询请求,获取与所述第二指定关键字对应的缓存器指针;
将所述缓存器指针所指向的缓存器作为当前可提供服务的缓存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710236887.8A CN108694219B (zh) | 2017-04-12 | 2017-04-12 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710236887.8A CN108694219B (zh) | 2017-04-12 | 2017-04-12 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694219A true CN108694219A (zh) | 2018-10-23 |
CN108694219B CN108694219B (zh) | 2023-05-19 |
Family
ID=63843864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710236887.8A Active CN108694219B (zh) | 2017-04-12 | 2017-04-12 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108694219B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051336A (zh) * | 2019-12-27 | 2021-06-29 | 上海莉莉丝科技股份有限公司 | 可视化的数据操作方法、系统、设备和介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020143521A1 (en) * | 2000-12-15 | 2002-10-03 | Call Charles G. | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers |
US20030229627A1 (en) * | 2002-06-07 | 2003-12-11 | International Business Machines Corporation | Object-oriented query execution data structure |
US20050201278A1 (en) * | 2004-03-11 | 2005-09-15 | Sujata Banerjee | Reconfiguring a multicast tree |
US20060074953A1 (en) * | 2004-09-30 | 2006-04-06 | International Business Machines Corporation | Metadata management for a data abstraction model |
US20070162477A1 (en) * | 2006-01-03 | 2007-07-12 | Mu Chai | Real-time construction of a selection representation for items in tree structures |
US20090037500A1 (en) * | 2007-07-31 | 2009-02-05 | Kirshenbaum Evan R | Storing nodes representing respective chunks of files in a data store |
CN102135972A (zh) * | 2010-07-30 | 2011-07-27 | 华为软件技术有限公司 | 业务树数据处理方法、系统、客户端和服务器 |
CN102402602A (zh) * | 2011-11-18 | 2012-04-04 | 航天科工深圳(集团)有限公司 | 一种实时数据库的b+树索引方法及装置 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
CN103518364A (zh) * | 2013-03-19 | 2014-01-15 | 华为技术有限公司 | 分布式存储系统的数据更新方法及服务器 |
CN104145472A (zh) * | 2012-02-29 | 2014-11-12 | 瑞典爱立信有限公司 | 存储数据记录的方法和装置 |
CN105022791A (zh) * | 2015-06-19 | 2015-11-04 | 华南理工大学 | 一种新型的kv分布式数据存储方法 |
CN106407303A (zh) * | 2016-08-30 | 2017-02-15 | 北京深思数盾科技股份有限公司 | 数据存储、查询方法及装置 |
-
2017
- 2017-04-12 CN CN201710236887.8A patent/CN108694219B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020143521A1 (en) * | 2000-12-15 | 2002-10-03 | Call Charles G. | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers |
US20030229627A1 (en) * | 2002-06-07 | 2003-12-11 | International Business Machines Corporation | Object-oriented query execution data structure |
US20050201278A1 (en) * | 2004-03-11 | 2005-09-15 | Sujata Banerjee | Reconfiguring a multicast tree |
US20060074953A1 (en) * | 2004-09-30 | 2006-04-06 | International Business Machines Corporation | Metadata management for a data abstraction model |
US20070162477A1 (en) * | 2006-01-03 | 2007-07-12 | Mu Chai | Real-time construction of a selection representation for items in tree structures |
US20090037500A1 (en) * | 2007-07-31 | 2009-02-05 | Kirshenbaum Evan R | Storing nodes representing respective chunks of files in a data store |
CN102135972A (zh) * | 2010-07-30 | 2011-07-27 | 华为软件技术有限公司 | 业务树数据处理方法、系统、客户端和服务器 |
CN102402602A (zh) * | 2011-11-18 | 2012-04-04 | 航天科工深圳(集团)有限公司 | 一种实时数据库的b+树索引方法及装置 |
CN104145472A (zh) * | 2012-02-29 | 2014-11-12 | 瑞典爱立信有限公司 | 存储数据记录的方法和装置 |
CN103518364A (zh) * | 2013-03-19 | 2014-01-15 | 华为技术有限公司 | 分布式存储系统的数据更新方法及服务器 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
CN105022791A (zh) * | 2015-06-19 | 2015-11-04 | 华南理工大学 | 一种新型的kv分布式数据存储方法 |
CN106407303A (zh) * | 2016-08-30 | 2017-02-15 | 北京深思数盾科技股份有限公司 | 数据存储、查询方法及装置 |
Non-Patent Citations (2)
Title |
---|
严皓亮: "移动互联网环境下树型大数据存储方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
施志林: "时空数据分布式存储研究", 《中国优秀硕士学位论文全文数据库基础科学辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051336A (zh) * | 2019-12-27 | 2021-06-29 | 上海莉莉丝科技股份有限公司 | 可视化的数据操作方法、系统、设备和介质 |
CN113051336B (zh) * | 2019-12-27 | 2023-05-26 | 上海莉莉丝科技股份有限公司 | 可视化的数据操作方法、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108694219B (zh) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8190573B2 (en) | File storage service system, file management device, file management method, ID denotative NAS server and file reading method | |
JP4340226B2 (ja) | データ項目の使用可能バージョンの提供 | |
US11296940B2 (en) | Centralized configuration data in a distributed file system | |
CN106569783B (zh) | 一种执行任务脚本的方法和装置 | |
CN108733713A (zh) | 数据仓库中的数据查询方法及装置 | |
US20110145209A1 (en) | Atomic deletion of database data categories | |
US7313572B2 (en) | Attribute partitioning for user extensibility | |
CN107026876B (zh) | 一种文件数据访问系统及方法 | |
US11768883B2 (en) | System and method for in-place record content management | |
CN110019112A (zh) | 数据事务处理方法、装置以及电子设备 | |
CN111400334B (zh) | 数据处理方法、装置、存储介质及电子装置 | |
US20100153346A1 (en) | Data integrity in a database environment through background synchronization | |
CN113360456B (zh) | 数据归档方法、装置、设备以及存储介质 | |
CN104423982A (zh) | 请求的处理方法和处理设备 | |
CN107832448A (zh) | 数据库操作方法、装置及设备 | |
US20210365430A1 (en) | Technique for replication of database | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
US10860534B2 (en) | Executing a conditional command on an object stored in a storage system | |
CN108694219A (zh) | 一种数据处理方法及装置 | |
KR102247247B1 (ko) | 데이터베이스 관리 방법 | |
CN107168900B (zh) | 一种配置acl表项的方法和装置 | |
US20050188380A1 (en) | Cache control device, and method and computer program for the same | |
US11580128B2 (en) | Preventing DBMS deadlock by eliminating shared locking | |
US7213020B1 (en) | Methods and system for facilitating updating of data in a database by a data access system | |
CN112685557A (zh) | 可视化信息资源管理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230915 Address after: 100190 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |