CN109766337A - 树形结构数据的存储方法、电子设备、存储介质及系统 - Google Patents
树形结构数据的存储方法、电子设备、存储介质及系统 Download PDFInfo
- Publication number
- CN109766337A CN109766337A CN201811433674.5A CN201811433674A CN109766337A CN 109766337 A CN109766337 A CN 109766337A CN 201811433674 A CN201811433674 A CN 201811433674A CN 109766337 A CN109766337 A CN 109766337A
- Authority
- CN
- China
- Prior art keywords
- node
- tree structure
- data
- treepaths
- default
- 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
-
- 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
Abstract
本发明提供的树形结构数据的存储方法,包括获取含有树形结构关系的树形结构数据,其中,树形结构数据包括若干个节点和若干节点数据,每个节点与每个节点数据对应;根据树形结构关系将节点中具有关联关系的两个节点作为节点对,将节点对存储在预设treepaths表中,其中,关联关系为祖先和后代;将每个节点对中节点对应的节点数据与预设treepaths表建立映射关系;将预设treepaths表、映射关系以及节点数据存储在数据库中,得到树形结构数据库。本发明的树形结构数据的存储方法,可以同时查询到节点对应的所有后代的关联节点的数据,通过空间换时间的方案,减少了在查询数据过程中由冗余的计算所造成的消耗。
Description
技术领域
本发明涉及数据存储领域,尤其涉及树形结构数据的存储方法、电子设备、存储介质及系统。
背景技术
目前随着计算机技术的高速发展,大数据的研究成为行业的趋势,大数据的研究离不开对基础数据的研究;目前都是通过树形结构将具有关联关系的数据进行关联,目前对于树形结构的数据都是通过邻接表的方式将其存储,现有的使用邻接表的方式并不能满足所有的需求,邻接表的方式只是存储了所有节点的父子之间的关系,当不确定层级的情况时,如果需要查询一个节点的所有后代,查询复杂且自信性能低效。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供树形结构数据的存储方法,其能解决现有的使用邻接表的方式并不能满足所有的需求,邻接表的方式只是存储了所有节点的父子之间的关系,当不确定层级的情况时,如果需要查询一个节点的所有后代,查询复杂且自信性能低效的问题。
本发明的目的之二在于提供一种电子设备,其能解决现有的使用邻接表的方式并不能满足所有的需求,邻接表的方式只是存储了所有节点的父子之间的关系,当不确定层级的情况时,如果需要查询一个节点的所有后代,查询复杂且自信性能低效的问题。
本发明的目的之三在于提供一种计算机可读存储介质,其能解决现有的使用邻接表的方式并不能满足所有的需求,邻接表的方式只是存储了所有节点的父子之间的关系,当不确定层级的情况时,如果需要查询一个节点的所有后代,查询复杂且自信性能低效的问题。
本发明的目的之四在于提供树形结构数据的存储系统,其能解决现有的使用邻接表的方式并不能满足所有的需求,邻接表的方式只是存储了所有节点的父子之间的关系,当不确定层级的情况时,如果需要查询一个节点的所有后代,查询复杂且自信性能低效的问题。
本发明提供目的之一采用以下技术方案实现:
S1、获取含有树形结构的树形结构关系数据,其中,所述树形结构数据包括若干个节点和若干节点数据,每个所述节点与每个所述节点数据对应;
S2、根据所述树形结构关系将所述节点中具有关联关系的两个节点作为节点对,将所述节点对存储在预设treepaths表中,其中,所述关联关系为祖先和后代;
S3、将每个所述节点对中所述节点对应的节点数据与所述预设treepaths表建立映射关系;
S4、将所述预设treepaths表、所述映射关系以及所述节点数据存储在数据库中,得到树形结构数据库。
进一步地,所述树形结构关系由若干父子关系组成。
进一步地,所述S2还包括:在所述预设treepaths表为每个所述节点增加一自身节点对,所述自身节点对包括两个相同的所述节点。
进一步地,所述将所述节点对存储在预设treepaths表中具体为:将所述节点对存储为预设treepaths表的一行。
进一步地,所述节点对中包括祖先节点和后代节点,所述后代节点为所述祖先节点的后代,所述祖先节点与所述后代节点位于预设treepaths表的同一行。
本发明提供目的之二采用以下技术方案实现:
一种电子设备,包括:处理器;
存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行本申请的树形结构数据的存储方法。
本发明提供目的之三采用以下技术方案实现:
一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行本申请的树形结构数据的存储方法。
本发明提供目的之四采用以下技术方案实现:
树形结构数据的存储系统,包括:
获取模块,所述获取模块用于获取含有树形结构关系的树形结构数据,其中,所述树形结构数据包括若干个节点和若干节点数据,每个所述节点与每个所述节点数据对应;
节点对存储模块,所述节点对存储模块用于根据所述树形结构关系将所述节点中具有关联关系的两个节点作为节点对,将所述节点对存储在预设treepaths表中,其中,所述关联关系为祖先和后代;
映射模块,所述映射模块用于将每个所述节点对中所述节点对应的节点数据与所述预设treepaths表建立映射关系;
数据库构建模块,所述数据库构建模块用于将所述预设treepaths表、所述映射关系以及所述节点数据存储在数据库中,得到树形结构数据库。
进一步地,所述节点对存储模块包括节点对定义单元和存储单元,所述节点对定义单元用于根据所述树形结构将所述节点中具有关联关系的两个节点作为节点对,所述存储单元用于将所述节点对存储在预设treepaths表中,其中,所述关联关系为祖先和后代。
进一步地,所述节点对中包括祖先节点和后代节点,所述后代节点为所述祖先节点的后代,所述祖先节点与所述后代节点位于预设treepaths表的同一行。
相比现有技术,本发明的有益效果在于:本发明的树形结构数据的存储方法,包括获取含有树形结构关系的树形结构数据,其中,所述树形结构数据包括若干个节点和若干节点数据,每个所述节点与每个所述节点数据对应;根据所述树形结构关系将所述节点中具有关联关系的两个节点作为节点对,将所述节点对存储在预设treepaths表中,其中,所述关联关系为祖先和后代;将每个所述节点对中所述节点对应的节点数据与所述预设treepaths表建立映射关系;将所述预设treepaths表、所述映射关系以及所述节点数据存储在数据库中,得到树形结构数据库。通过将所有含有祖先和后代关系的节点相互关联得到节点对,再将节点度存储到treepaths表中,并将对应的节点数据与其建立映射关系,即可以同时查询到祖先节点对应的所有后代的节点的数据,通过空间换时间的方案,减少了在查询数据过程中由冗余的计算所造成的消耗。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的树形结构数据的存储方法的流程示意图;
图2为本发明的树形结构数据的存储系统的框架图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
如图1所示的树形结构数据的存储系统,包括以下步骤:
S1、获取含有树形结构关系的树形结构数据,其中,树形结构数据包括若干个节点和若干节点数据,每个节点与每个节点数据对应。在本实施例中,树形结构关系由若干父子关系组成,具体为树形结构关系包括若干父子关系,多个父子关系构成了树形结构关系,即树形结构数据中的节点数据之间的存在上述的父子关系。
S2、根据树形结构关系将节点中具有关联关系的两个节点作为节点对,将节点对存储在预设treepaths表中,其中,关联关系为祖先和后代,节点对中包括祖先节点和后代节点,后代节点为祖先节点的后代,祖先节点与后代节点位于预设treepaths表的同一行。在本实施例中,treepaths表即为树桩表,是为了存储节点对的表。在本实施例中还包括在预设treepaths表为每个节点增加一自身节点对,自身节点对包括两个相同的节点。根据步骤S1中的树形结构关系中的父子关系,可得到不同的节点之间可能存储祖先和后代的关系,例如A节点为B节点的父节点,B节点为C节点的父节点,则A节点为C节点的祖先节点,A节点与C节点之间的关系为祖先和后代的关系,A节点与B节点的关系也为祖先和后代的关系。则B节点和C节点都为A节点的后代。将上述的所有节点中具有祖先和后代关系的两节点作为节点对,可得到若干节点对,将节点对存储在treepaths表中,将节点对中的两节点存储在treepaths表的同一行。treepaths表具体如下表1所示,
表1 treepaths表
以下对表1进行详细说明,表1为将节点对存储后treepaths表,上述的表1中1、2、3、4、5、6、7均表示不同的节点,则表中的节点对分别为节点1和节点1,节点1和节点2,节点1和节点3,节点1和节点4,节点1和节点5,节点1和节点6,节点1和节点7,节点2和节点2,节点2和节点3,节点3和节点3,节点4和节点4,节点4和节点5,节点4和节点6,节点4和节点7,节点5和节点5,节点5和节点6,节点5和节点7,节点6和节点6,节点7和节点7。上述的节点1和节点1,节点2和节点2,节点3和节点3,节点4和节点4,节点5和节点5,节点6和节点6,节点7和节点7即为自身节点对。从上表可以看出,根据后代节点5便可从上述表1中匹配到对应的所有祖先节点,即为节点1、节点4,以及自身节点5。
S3、将每个节点对中节点对应的节点数据与预设treepaths表建立映射关系;即将每个节点数据与对应的节点建立映射关系。
S4、将预设treepaths表、映射关系以及节点数据存储在数据库中,得到树形结构数据库。则可根据已知的节点可在树形结构数据库匹配出对应的所有有关联的节点,从而匹配出对应的节点数据。
本发明提供了一种电子设备,其特征在于包括:处理器;
存储器;以及程序,其中程序被存储在存储器中,并且被配置成由处理器执行,程序包括用于执行本申请的树形结构数据的存储方法。
本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:计算机程序被处理器执行本申请的树形结构数据的存储方法。
如图2所示,本发明提供了树形结构数据的存储系统,包括:获取模块,获取模块用于获取含有树形结构的树形结构数据,其中,树形结构数据包括若干个节点和若干节点数据,每个节点与每个节点数据对应;节点对存储模块,节点对存储模块用于根据树形结构将节点中具有关联关系的两个节点作为节点对,将节点对存储在预设treepaths表中,其中,关联关系为祖先和后代;映射模块,映射模块用于将每个节点对中节点对应的节点数据与预设treepaths表建立映射关系;数据库构建模块,数据库构建模块用于将预设treepaths表、映射关系以及节点数据存储在数据库中,得到树形结构数据库。节点对存储模块包括节点对定义单元和存储单元,节点对定义单元用于根据树形结构将节点中具有关联关系的两个节点作为节点对,存储单元用于将节点对存储在预设treepaths表中,其中,关联关系为祖先和后代。节点对中包括祖先节点和后代节点,后代节点为祖先节点的后代,祖先节点与后代节点位于预设treepaths表的同一行。
本发明的树形结构数据的存储方法,包括获取含有树形结构关系的树形结构数据,其中,树形结构数据包括若干个节点和若干节点数据,每个节点与每个节点数据对应;根据树形结构关系将节点中具有关联关系的两个节点作为节点对,将节点对存储在预设treepaths表中,其中,关联关系为祖先和后代;将每个节点对中节点对应的节点数据与预设treepaths表建立映射关系;将预设treepaths表、映射关系以及节点数据存储在数据库中,得到树形结构数据库。通过将所有含有祖先和后代关系的节点相互关联得到节点对,再将节点度存储到treepaths表中,并将对应的节点数据与其建立映射关系,即可以同时查询到祖先节点对应的所有后代的节点的数据,通过空间换时间的方案,减少了在查询数据过程中由冗余的计算所造成的消耗。
以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。
Claims (10)
1.树形结构数据的存储方法,其特征在于,包括以下步骤:
S1、获取含有树形结构关系的树形结构数据,其中,所述树形结构数据包括若干个节点和若干节点数据,每个所述节点与每个所述节点数据对应;
S2、根据所述树形结构关系将所述节点中具有关联关系的两个节点作为节点对,将所述节点对存储在预设treepaths表中,其中,所述关联关系为祖先和后代;
S3、将每个所述节点对中所述节点对应的节点数据与所述预设treepaths表建立映射关系;
S4、将所述预设treepaths表、所述映射关系以及所述节点数据存储在数据库中,得到树形结构数据库。
2.如权利要求1所述的树形结构数据的存储方法,其特征在于:所述树形结构关系由若干父子关系组成。
3.如权利要求1所述的树形结构数据的存储方法,其特征在于:所述S2还包括:在所述预设treepaths表为每个所述节点增加一自身节点对,所述自身节点对包括两个相同的所述节点。
4.如权利要求1所述的树形结构数据的存储方法,其特征在于:所述将所述节点对存储在预设treepaths表中具体为:将所述节点对存储为预设treepaths表的一行。
5.如权利要求4所述的树形结构数据的存储方法,其特征在于:所述节点对中包括祖先节点和后代节点,所述后代节点为所述祖先节点的后代,所述祖先节点与所述后代节点位于预设treepaths表的同一行。
6.一种电子设备,其特征在于包括:处理器;
存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行权利要求1-5任意一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行如权利要求1-5任意一项所述的方法。
8.树形结构数据的存储系统,其特征在于,包括:
获取模块,所述获取模块用于获取含有树形结构关系的树形结构数据,其中,所述树形结构数据包括若干个节点和若干节点数据,每个所述节点与每个所述节点数据对应;
节点对存储模块,所述节点对存储模块用于根据所述树形结构关系将所述节点中具有关联关系的两个节点作为节点对,将所述节点对存储在预设treepaths表中,其中,所述关联关系为祖先和后代;
映射模块,所述映射模块用于将每个所述节点对中所述节点对应的节点数据与所述预设treepaths表建立映射关系;
数据库构建模块,所述数据库构建模块用于将所述预设treepaths表、所述映射关系以及所述节点数据存储在数据库中,得到树形结构数据库。
9.如权利要求8所述的树形结构数据的存储系统,其特征在于:所述节点对存储模块包括节点对定义单元和存储单元,所述节点对定义单元用于根据所述树形结构将所述节点中具有关联关系的两个节点作为节点对,所述存储单元用于将所述节点对存储在预设treepaths表中,其中,所述关联关系为祖先和后代。
10.如权利要求8所述的树形结构数据的存储系统,其特征在于:所述节点对中包括祖先节点和后代节点,所述后代节点为所述祖先节点的后代,所述祖先节点与所述后代节点位于预设treepaths表的同一行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811433674.5A CN109766337B (zh) | 2018-11-28 | 2018-11-28 | 树形结构数据的存储方法、电子设备、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811433674.5A CN109766337B (zh) | 2018-11-28 | 2018-11-28 | 树形结构数据的存储方法、电子设备、存储介质及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766337A true CN109766337A (zh) | 2019-05-17 |
CN109766337B CN109766337B (zh) | 2023-05-09 |
Family
ID=66450206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811433674.5A Active CN109766337B (zh) | 2018-11-28 | 2018-11-28 | 树形结构数据的存储方法、电子设备、存储介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766337B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377565A (zh) * | 2019-07-24 | 2019-10-25 | 东软集团股份有限公司 | 一种多媒体数据库的同步方法及车机 |
CN111475511A (zh) * | 2020-04-03 | 2020-07-31 | 弦子科技(北京)有限公司 | 基于树状结构的数据存储方法、访问方法、装置及设备 |
CN111882264A (zh) * | 2020-06-11 | 2020-11-03 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 铁路用地管理部门模型建立方法及装置 |
TWI720528B (zh) * | 2019-07-03 | 2021-03-01 | 神雲科技股份有限公司 | 用於擴充硬碟擴充單元的叢集式儲存系統 |
CN112800283A (zh) * | 2021-01-29 | 2021-05-14 | 重庆恒真维实医药科技有限公司 | 一种基于药代动力学的医学数据库的建立方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047185A1 (en) * | 2006-01-25 | 2011-02-24 | At&T Corp. | Meta-data indexing for xpath location steps |
CN104484478A (zh) * | 2014-12-31 | 2015-04-01 | 中国农业银行股份有限公司 | 一种关联聚类数据瘦身方法及系统 |
US20160179883A1 (en) * | 2014-12-19 | 2016-06-23 | Microsoft Technology Licensing, Llc | Graph processing in database |
CN107092659A (zh) * | 2017-03-28 | 2017-08-25 | 成都优易数据有限公司 | 一种通用的树形结构存储解析方法 |
CN107102999A (zh) * | 2016-02-22 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 关联分析方法和装置 |
-
2018
- 2018-11-28 CN CN201811433674.5A patent/CN109766337B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110047185A1 (en) * | 2006-01-25 | 2011-02-24 | At&T Corp. | Meta-data indexing for xpath location steps |
US20160179883A1 (en) * | 2014-12-19 | 2016-06-23 | Microsoft Technology Licensing, Llc | Graph processing in database |
CN104484478A (zh) * | 2014-12-31 | 2015-04-01 | 中国农业银行股份有限公司 | 一种关联聚类数据瘦身方法及系统 |
CN107102999A (zh) * | 2016-02-22 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 关联分析方法和装置 |
CN107092659A (zh) * | 2017-03-28 | 2017-08-25 | 成都优易数据有限公司 | 一种通用的树形结构存储解析方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI720528B (zh) * | 2019-07-03 | 2021-03-01 | 神雲科技股份有限公司 | 用於擴充硬碟擴充單元的叢集式儲存系統 |
CN110377565A (zh) * | 2019-07-24 | 2019-10-25 | 东软集团股份有限公司 | 一种多媒体数据库的同步方法及车机 |
CN111475511A (zh) * | 2020-04-03 | 2020-07-31 | 弦子科技(北京)有限公司 | 基于树状结构的数据存储方法、访问方法、装置及设备 |
CN111882264A (zh) * | 2020-06-11 | 2020-11-03 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 铁路用地管理部门模型建立方法及装置 |
CN112800283A (zh) * | 2021-01-29 | 2021-05-14 | 重庆恒真维实医药科技有限公司 | 一种基于药代动力学的医学数据库的建立方法 |
CN112800283B (zh) * | 2021-01-29 | 2023-03-14 | 重庆恒真维实医药科技有限公司 | 一种基于药代动力学的医学数据库的建立方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109766337B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109766337A (zh) | 树形结构数据的存储方法、电子设备、存储介质及系统 | |
Jardine et al. | A model for taxonomy | |
CN105790279B (zh) | 基于谱聚类的无功电压分区方法 | |
CN104218673B (zh) | 电网自动化智能分区方法 | |
CN103227778B (zh) | 内存访问方法、设备和系统 | |
CN106095977A (zh) | 一种数据库的分布式处理方法及系统 | |
DE112012005533T5 (de) | Unterstützende Abfrage und ein Abfragen | |
CN103345508A (zh) | 一种适用于社会网络图的数据存储方法及系统 | |
CN114202027B (zh) | 执行配置信息的生成方法、模型训练方法和装置 | |
CN107870949A (zh) | 数据分析作业依赖关系生成方法和系统 | |
CN110290166A (zh) | 跨集群数据交互方法、系统、装置及可读存储介质 | |
CN107491621A (zh) | 基于社区和结构洞联合分析的大电网分割方法、存储介质 | |
Zeng et al. | Parallel modularity-based community detection on large-scale graphs | |
CN104102699A (zh) | 一种聚簇图集合中的子图检索方法 | |
US10289723B1 (en) | Distributed union all queries | |
CN110059797A (zh) | 一种计算装置及相关产品 | |
CN108874532A (zh) | 内存分配方法及设备 | |
Zhang et al. | A GPU-accelerated framework for processing trajectory queries | |
CN106649328A (zh) | 分时租赁系统数据访问层接口构建方法 | |
CN109409411A (zh) | 基于运维管理的问题定位方法、装置及存储介质 | |
CN102801638B (zh) | 一种交换芯片的端口转发状态的管理与控制方法 | |
CN107239515A (zh) | 一种基于四维索引的大规模图的可达查询方法和系统 | |
CN104391866A (zh) | 一种基于高维数据过滤器的近似成员查询方法 | |
CN105139435A (zh) | 一种处理多边形多重包含关系的边界一笔画方法 | |
CN105553723B (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 |