CN113656438B - 数据树的数据查询方法及装置 - Google Patents
数据树的数据查询方法及装置 Download PDFInfo
- Publication number
- CN113656438B CN113656438B CN202110904535.1A CN202110904535A CN113656438B CN 113656438 B CN113656438 B CN 113656438B CN 202110904535 A CN202110904535 A CN 202110904535A CN 113656438 B CN113656438 B CN 113656438B
- Authority
- CN
- China
- Prior art keywords
- node
- target
- relation
- query
- class
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000005520 cutting process Methods 0.000 claims abstract description 22
- 238000003860 storage Methods 0.000 claims description 19
- 238000000547 structure data Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24535—Query rewriting; Transformation of sub-queries or views
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据树的数据查询方法及装置。其中,该方法包括:接收对数据树的目标节点的查询请求,其中,查询请求包括查询条件;根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到目标节点到目标对象的关系链;获取关系链中所有的关系,得到关系列表,其中,关系为数据树中两个相连接点之间的逻辑关系;根据关系列表,查找符合查询条件的目标对象。本发明解决了相关技术中属性结构数据在查询数据时,往往需要遍历整个属性结构,查询满足要求的数据,存在效率低的技术问题。
Description
技术领域
本发明涉及数据查询领域,具体而言,涉及一种数据树的数据查询方法及装置。
背景技术
在基于模型的管理信息系统中,通过树形结构去展现数据,如图1所示,图1是现有技术中的数据树结构的示意图。在管理信息系统中,用户会有一种查询需求,想要查询某一类对象的树形结构下是否有符合条件的另一种类对象,例如查询某个产品下是否包含名称等于“说明书”的文档。现有技术,对于这种查询往往比较复杂,需要遍历整个属性结构,查询满足要求的数据,存在效率低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据树的数据查询方法及装置,以至少解决相关技术中属性结构数据在查询数据时,往往需要遍历整个属性结构,查询满足要求的数据,存在效率低的技术问题。
根据本发明实施例的一个方面,提供了一种数据树的数据查询方法,包括:接收对数据树的目标节点的查询请求,其中,所述查询请求包括查询条件;根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链;获取所述关系链中所有的关系,得到关系列表,其中,所述关系为所述数据树中两个相连接点之间的逻辑关系;根据所述关系列表,查找符合所述查询条件的目标对象。
可选的,根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链包括:在所述数据树中,将所述目标节点内的树形结构进行剪裁,得到所述目标节点的目标结构;对所述目标结构进行遍历,确定所述目标节点到所述第二类所有对象的子树形结构;将所述子树形结构作为所述关系链。
可选的,获取所述关系链中所有的关系,得到关系列表包括:对所述关系链的子树形结构进行遍历,得到多个关系,其中,所述关系包括第一节点,以及所述第一节点通过所述关系指向的第二节点,所述第二节点的类属于所述第一节点的类;将多个所述关系存储在列表中,得到所述关系列表。
可选的,根据所述关系列表,查找符合所述查询条件的目标对象包括:从第一节点为目标节点的关系开始,遍历所述关系列表,确定所述关系列表中关系的第二节点;对所述第二节点进行缓存;根据所述关系的第一节点和已缓存的第二节点,建立查询树;遍历所述查询树,在所述查询树的对象中查找满足所述查询条件的对象,为所述目标对象。
可选的,对所述第二节点进行缓存包括:确定所述第二节点与已缓存的所述第二节点所属类的其他关系的第二节点是否存在重复;在所述第二节点与已缓存的其他关系的第二节点不重复的情况下,对所述第二节点进行缓存;在所述第二节点与已缓存的其他关系的第二节点重复的情况下,继续遍历所述关系列表。
可选的,遍历所述查询树,在所述查询树的对象中查找满足所述查询条件的对象,为所述目标对象之后,还包括:获取所述目标对象的存储路径;响应所述查询请求,将所述目标对象以及所述目标对象的存储路径进行发送。
可选的,所述目标节点为多个,根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链包括:分别根据目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到多个目标节点分别到所述目标对象的多个关系链;获取所述关系链中所有的关系,得到关系列表包括:将多个目标节点的多个关系链进行遍历,将得到的多个关系链的所有关系存储在一个关系列表中。
根据本发明实施例的另一方面,还提供了一种数据树的数据查询装置,包括:接收模块,用于接收对数据树的目标节点的查询请求,其中,所述查询请求包括查询条件;裁剪模块,用于根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链;获取模块,用于获取所述关系链中所有的关系,得到关系列表,其中,所述关系为所述数据树中两个相连接点之间的逻辑关系;查找模块,用于根据所述关系列表,查找符合所述查询条件的目标对象。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的数据树的数据查询方法。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行上述中任意一项所述的数据树的数据查询方法。
在本发明实施例中,采用接收对数据树的目标节点的查询请求,其中,查询请求包括查询条件;根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到目标节点到目标对象的关系链;获取关系链中所有的关系,得到关系列表,其中,关系为数据树中两个相连接点之间的逻辑关系;根据关系列表,查找符合查询条件的目标对象的方式,通过对需要查找的部分进行裁剪,避免不必要的查找,达到了根据查询需求在数据树中,快速有效查找目标对象的目的,实现了提高目标对象的查询效率的技术效果,进而解决了相关技术中属性结构数据在查询数据时,往往需要遍历整个属性结构,查询满足要求的数据,存在效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中的数据树结构的示意图;
图2是根据本发明实施例的一种数据树的数据查询方法的流程图;
图3是根据本发明实施方式的X32泵的文件结构的示意图;
图4是根据本发明实施方式的X32泵的文件的数据树的示意图;
图5是根据本发明实施方式的名称包含“X32泵”的文档的查询方式的流程图;
图6是根据本发明实施方式的对数据树裁剪得到的关系链的示意图;
图7是根据本发明实施方式的关系列表查询的流程图;
图8是根据本发明实施方式的关系列表查询后得到的数据树的示意图;
图9是根据本发明实施例的一种数据树的数据查询装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本实施例涉及到的专业术语进行解释说明:
管理信息系统:如PLM、EDM、DNC、CAPP等企业管理生产物料等信息的系统;
类:管理信息系统中对于数据的抽象,例如产品、零件、图纸等;
关系:管理信息系统中对于数据类之间关联关系的抽象、例如产品下面挂零件、零件下面挂图纸等;
关系链:通过类和关系的组合,构建出的树结构,例如产品-零件-图纸;
类对象:类的实例,例如,产品类下的具体产品X32泵。
根据本发明实施例,提供了一种数据树的数据查询方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的一种数据树的数据查询方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,接收对数据树的目标节点的查询请求,其中,查询请求包括查询条件;
步骤S204,根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到目标节点到目标对象的关系链;
步骤S206,获取关系链中所有的关系,得到关系列表,其中,关系为数据树中两个相连接点之间的逻辑关系;
步骤S208,根据关系列表,查找符合查询条件的目标对象。
通过上述步骤,采用接收对数据树的目标节点的查询请求,其中,查询请求包括查询条件;根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到目标节点到目标对象的关系链;获取关系链中所有的关系,得到关系列表,其中,关系为数据树中两个相连接点之间的逻辑关系;根据关系列表,查找符合查询条件的目标对象的方式,通过对需要查找的部分进行裁剪,避免不必要的查找,达到了根据查询需求在数据树中,快速有效查找目标对象的目的,实现了提高目标对象的查询效率的技术效果,进而解决了相关技术中属性结构数据在查询数据时,往往需要遍历整个属性结构,查询满足要求的数据,存在效率低的技术问题。
上述步骤的执行主体可以为管理信息系统,或者管理信息系统中的处理器。如图1所示,在管理信息系统中,通过数据树来展现数据,具体的,可以包括多个产品大类,在每个产品大类中,可以包括多个产品,每个产品可以包括总装,零件,图纸文档等产品相关数据,还可以包括具体的格式的文档,产品文件夹等。上述多个产品大类可以为一个类,具体的一个产品大类,为该类中的一个具体的对象。多个产品可以为另一个类,具体的一个产品,为该类中的一个具体的对象,需要说明的是,此处的多个产品不局限于同一个产品大类,也可以是整个管理信息系统中所有的产品大类下的产品,统一为一个类。以此类推,产品的总装也可以为一个类,总装的零件可以为一个类,产品的文档可以为一个类,总装的文档可以为一个类,零件的文档可以为一个类,在另一些实施方式中,由具体的文档通常是数据的最小单位,产品,总装和零件等其他各类对象下的文档,统一为一个类。
上述数据树由多个具体的对象,通过对象之间的关系连接而成,一个具体的对象在数据树中作为数据树的节点。上述目标节点可以为上述数据树中的任一节点。该目标节点下可以包括多个其他的节点,也即是需要查询的对象。
上述查询请求可以由管理新系统的用户端发出,该用户端可以为个人用户或者企业用户,上述查询条件可以为需要查找的一个或多个的文件的筛选条件,例如,需要查找名称包括“X32泵”的文档,其查询条件为名称包括“X32泵”,以及格式为文档格式。其对应的对象可以为多个,例如,名称为“X32泵.exb”的文档,名称为“X32泵.txt”的文档等,都是符合查询条件的对象。
上述目标节点的第一类,也即是目标节点的对象所述的类,上述查询条件指示的目标对象的第二类,也即是目标对象所属的类。根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,也就是将数据树中第一类到第二类之间的节点和关系提取出来。第一类对应的对象,也即是上述目标节点作为查询的起点,目标节点中还包括很多的下一级的节点,下一级的节点还可以包括更下一级的节点,上述第二类对应的对象也即是上述目标对象,是在目标节点中包括的,但是目标对象也可能由很多的下一级的节点,在目标对象的下一级节点中还可能包括由其他的目标对象,此时目标对象就为多个,在裁剪数据树时,要保证每一个目标对象都能被裁剪到。
上述关系链也可以用部分数据树的形式来表示,具体的,上述关系链的起始节点为上述目标节点,上述关系链的终止节点可以为上述目标对象对应的节点,在上述目标对象为多个的情况下,上述关系链的终止节点可以为多个。
上述关系链中的关系,包括关系两端的节点,以及关系的指向。例如,总装下包括零件1和零件2,其关系就有两条,一条是从总装指向零件1,另一条是从总装指向零件2。也即是说该关系可以表明上一级的对象以及下一级的对象。
通过关系列表就可以确定出关系指向的下一级的对象。上述中目标对象在关系链中为终止节点,在目标对象为多个的情况下,目标对象也可能为起始节点到终止节点中间的节点,但是起始节点到终止节点之间的多个节点均是通过不同的而关系连接,因此,可以认为起始节点到终止节点之间的节点可以包括在关系的上一级对象中,也可以包括在关系的下一级对象中。考虑到终止节点的目标对象只存在关系的下一级对象中。因此,在查找关系列表时,只查找各个关系的下一级对象,就可以将所有的目标对象查找到。
由于根据第一类和第二类对数据树进行裁剪,可以将很多没有目标对象的数据树结构部分进行删除,在查找时也不用遍历整个数据树,可以有效提高数据查找的效率。
可选的,根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到目标节点到目标对象的关系链包括:在数据树中,将目标节点内的树形结构进行剪裁,得到目标节点的目标结构;对目标结构进行遍历,确定目标节点到第二类所有对象的子树形结构;将子树形结构作为关系链。
需要说明的是,上述通过的一类和第二类对数据树进行裁剪之后,得到的是数据树结构的关系链,因此在裁剪过程中,顺便生成子树形结构,作为上述关系链。
具体的,在裁剪时,从目标节点开始遍历,根据目标节点的关系,查找其对应的类,是否满足目标对象的类,若不满足则继续向下查找,并在子树形结构中添加对应的关系和节点,若满足则停止向下查找。从而有效对数据树的有效部分进行有效剪裁。
可选的,获取关系链中所有的关系,得到关系列表包括:对关系链的子树形结构进行遍历,得到多个关系,其中,关系包括第一节点,以及第一节点通过关系指向的第二节点,第二节点的类属于第一节点的类;将多个关系存储在列表中,得到关系列表。将得到的多个关系存储在关系列表中,以便后续对关系中的对象进行查找。
需要说明的是,上述关系列表中的关系可以不按照其节点先后顺序,主要目的是将多个关系给统计起来,不限于关系的顺序。
可选的,根据关系列表,查找符合查询条件的目标对象包括:从第一节点为目标节点的关系开始,遍历关系列表,确定关系列表中关系的第二节点;对第二节点进行缓存;根据关系的第一节点和已缓存的第二节点,建立查询树;遍历查询树,在查询树的对象中查找满足查询条件的对象,为目标对象。
在查找关系列表中,选择第一节点为目标节点的关系开始,遍历关系列表,直至所有的关系的第二节点进行缓存。由于部分节点是从其他的节点中借用的,存在重复的情况,因此,通过查找建立查询树,将关系链中重复的无效的节点进行筛除,得到上述查询树,上述查询树的生成与上述关系链的生成类似,在查找关系的同时,若该关系中的第二节点没有重复缓存过,则在查询书中建立该节点。
在查询书中查找上述目标对象,可以通过现有的遍历数据树的方式,结合上述查询条件进行查找,得到满足查询条件的对象,作为目标对象。
具体的,对第二节点进行缓存包括:确定第二节点与已缓存的第二节点所属类的其他关系的第二节点是否存在重复;在第二节点与已缓存的其他关系的第二节点不重复的情况下,对第二节点进行缓存;在第二节点与已缓存的其他关系的第二节点重复的情况下,继续遍历关系列表。
可选的,遍历查询树,在查询树的对象中查找满足查询条件的对象,为目标对象之后,还包括:获取目标对象的存储路径;响应查询请求,将目标对象以及目标对象的存储路径进行发送。
在查找到目标对象之后,将目标对象及其存储路径发送给发出查询请求的请求端。
可选的,目标节点为多个,根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到目标节点到目标对象的关系链包括:分别根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到多个目标节点分别到目标对象的多个关系链;获取关系链中所有的关系,得到关系列表包括:将多个目标节点的多个关系链进行遍历,将得到的多个关系链的所有关系存储在一个关系列表中。
上述查询请求也可以为多个,多个查询请求分别根据其对应的目标节点和目标对象对数据树进行剪裁,得到多个查询请求分别对应的多个关系链,将多个关系链的关系可以存储在同一个关系列表中进行遍历,分别的到关系链对应的查询树,接人根据查询树,对多个查询请求的目标对象进行查找。从而满足同时对多个目标节点同时进行查找,以提高查询效率。
需要说明的是,本实施例还提供了一种可选的实施方式,下面对该实施方式进行详细说明。
本实施方式提供了一种应用于地面移动智能体的基于多级高度信息的可通行地图构建方法,
图3是根据本发明实施方式的X32泵的文件结构的示意图,如图3所示,为一套X32泵的文件的结构。图4是根据本发明实施方式的X32泵的文件的数据树的示意图,如图4所示,为X32泵的文件的结构的数据模型。
图5是根据本发明实施方式的名称包含“X32泵”的文档的查询方式的流程图,如图5所示,本实施方式中,用户查询总装下面名称包含“x32泵”的文档,具体的查询流程图如下:
1)查询模型配置:
根据查询的起始的类对象对应的类型,找到它在树形结构里的节点,结合目标类型的节点,裁剪树形组合,构造查询的关系链。
如前文提到,用户需要查询总装下面名称包含“x32泵”的文档,裁剪树形组合结构就是总装->零件,总装->文档,零件->零件,零件->文档。
图6是根据本发明实施方式的对数据树裁剪得到的关系链的示意图,如图6所示,为其数据树结构。具体其数据格式如下:
[{
“ClassA”:“Assembly”,
“ClassB”:“Part”,
“link”:“Assembly Partlink”
},{
“ClassA”:“Assembly”,
“ClassB”:“Document”,
“link”:“Assembly Document link”
},{
“ClassA”:“Part”,
“ClassB”:“Part”,
“link”:“Part Part link”
},{
“ClassA”:“Part”,
“ClassB”:“Document”,
“link”:“Part Document link”
}]
2)查询路径获取逻辑:
图7是根据本发明实施方式的关系列表查询的流程图,如图7所示,查询路径获取逻辑即通过起始的类对象的对象ID,通过关系查找到路径下该类对象的关系另一侧的对象,再递归通过另一侧的对象查询它的关系另一侧的对象,直到查询到所有的目标类型的类对象。
图8是根据本发明实施方式的关系列表查询后得到的数据树的示意图,如图8所示,为组织成具体的树形结构。其数据格式如下:
3)查询结果筛选逻辑:
找出类型是目标类型(Document)的类对象,并进行查询条件的匹配(名称包含“x32泵”。找到这些符合条件的类对象,并连带着它所在路径一起返回。
具体如下:
另外,本实施方式还可以通过组合的形式,传入多个目标的类对象,来进行查找。即第2步获取查询路径获取逻辑中支持多个目标对象,按照类别进行分类后,分别遍历。
图9是根据本发明实施例的一种数据树的数据查询装置的示意图,如图9所示,根据本发明实施例的另一方面,还提供了一种数据树的数据查询装置,包括:接收模块92,裁剪模块94,获取模块96和查找模块98,下面对该装置进行详细说明。
接收模块92,用于接收对数据树的目标节点的查询请求,其中,查询请求包括查询条件;裁剪模块94,与上述接收模块92相连,用于根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到目标节点到目标对象的关系链;获取模块96,与上述裁剪模块94相连,用于获取关系链中所有的关系,得到关系列表,其中,关系为数据树中两个相连接点之间的逻辑关系;查找模块98,与上述获取模块96相连,用于根据关系列表,查找符合查询条件的目标对象。
通过上述装置,采用接收对数据树的目标节点的查询请求,其中,查询请求包括查询条件;根据目标节点的第一类,以及查询条件指示的目标对象的第二类,对数据树进行裁剪,得到目标节点到目标对象的关系链;获取关系链中所有的关系,得到关系列表,其中,关系为数据树中两个相连接点之间的逻辑关系;根据关系列表,查找符合查询条件的目标对象的方式,通过对需要查找的部分进行裁剪,避免不必要的查找,达到了根据查询需求在数据树中,快速有效查找目标对象的目的,实现了提高目标对象的查询效率的技术效果,进而解决了相关技术中属性结构数据在查询数据时,往往需要遍历整个属性结构,查询满足要求的数据,存在效率低的技术问题。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项的数据树的数据查询方法。
根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质包括存储的程序,其中,在程序运行时控制计算机存储介质所在设备执行上述中任意一项的数据树的数据查询方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种数据树的数据查询方法,其特征在于,包括:
接收对数据树的目标节点的查询请求,其中,所述查询请求包括查询条件;
根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链;
获取所述关系链中所有的关系,得到关系列表,其中,所述关系为所述数据树中两个相连接点之间的逻辑关系;
根据所述关系列表,查找符合所述查询条件的目标对象;
其中,所述数据树为树形结构的数据;
根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链包括:
在所述数据树中,将所述目标节点内的树形结构进行剪裁,得到所述目标节点的目标结构;对所述目标结构进行遍历,确定所述目标节点到所述第二类所有对象的子树形结构;将所述子树形结构作为所述关系链;
获取所述关系链中所有的关系,得到关系列表包括:对所述关系链的子树形结构进行遍历,得到多个关系,其中,所述关系包括第一节点,以及所述第一节点通过所述关系指向的第二节点,所述第二节点的类属于所述第一节点的类;将多个所述关系存储在列表中,得到所述关系列表;
根据所述关系列表,查找符合所述查询条件的目标对象包括:
从第一节点为目标节点的关系开始,遍历所述关系列表,确定所述关系列表中关系的第二节点;对所述第二节点进行缓存;根据所述关系的第一节点和已缓存的第二节点,建立查询树;遍历所述查询树,在所述查询树的对象中查找满足所述查询条件的对象,为所述目标对象。
2.根据权利要求1所述的方法,其特征在于,对所述第二节点进行缓存包括:
确定所述第二节点与已缓存的所述第二节点所属类的其他关系的第二节点是否存在重复;
在所述第二节点与已缓存的其他关系的第二节点不重复的情况下,对所述第二节点进行缓存;
在所述第二节点与已缓存的其他关系的第二节点重复的情况下,继续遍历所述关系列表。
3.根据权利要求1所述的方法,其特征在于,遍历所述查询树,在所述查询树的对象中查找满足所述查询条件的对象,为所述目标对象之后,还包括:
获取所述目标对象的存储路径;
响应所述查询请求,将所述目标对象以及所述目标对象的存储路径进行发送。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述目标节点为多个,根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链包括:
分别根据目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到多个目标节点分别到所述目标对象的多个关系链;
获取所述关系链中所有的关系,得到关系列表包括:
将多个目标节点的多个关系链进行遍历,将得到的多个关系链的所有关系存储在一个关系列表中。
5.一种数据树的数据查询装置,其特征在于,包括:
接收模块,用于接收对数据树的目标节点的查询请求,其中,所述查询请求包括查询条件;
裁剪模块,用于根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链;
获取模块,用于获取所述关系链中所有的关系,得到关系列表,其中,所述关系为所述数据树中两个相连接点之间的逻辑关系;
查找模块,用于根据所述关系列表,查找符合所述查询条件的目标对象;
其中,所述数据树为树形结构的数据;
所述装置还用于根据所述目标节点的第一类,以及所述查询条件指示的目标对象的第二类,对所述数据树进行裁剪,得到所述目标节点到所述目标对象的关系链包括:
在所述数据树中,将所述目标节点内的树形结构进行剪裁,得到所述目标节点的目标结构;对所述目标结构进行遍历,确定所述目标节点到所述第二类所有对象的子树形结构;将所述子树形结构作为所述关系链;
获取所述关系链中所有的关系,得到关系列表包括:对所述关系链的子树形结构进行遍历,得到多个关系,其中,所述关系包括第一节点,以及所述第一节点通过所述关系指向的第二节点,所述第二节点的类属于所述第一节点的类;将多个所述关系存储在列表中,得到所述关系列表;
根据所述关系列表,查找符合所述查询条件的目标对象包括:
从第一节点为目标节点的关系开始,遍历所述关系列表,确定所述关系列表中关系的第二节点;对所述第二节点进行缓存;根据所述关系的第一节点和已缓存的第二节点,建立查询树;遍历所述查询树,在所述查询树的对象中查找满足所述查询条件的对象,为所述目标对象。
6.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的数据树的数据查询方法。
7.一种计算机存储介质,其特征在于,所述计算机存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机存储介质所在设备执行权利要求1至4中任意一项所述的数据树的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110904535.1A CN113656438B (zh) | 2021-08-06 | 2021-08-06 | 数据树的数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110904535.1A CN113656438B (zh) | 2021-08-06 | 2021-08-06 | 数据树的数据查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656438A CN113656438A (zh) | 2021-11-16 |
CN113656438B true CN113656438B (zh) | 2023-12-12 |
Family
ID=78479117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110904535.1A Active CN113656438B (zh) | 2021-08-06 | 2021-08-06 | 数据树的数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656438B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114564854B (zh) * | 2022-04-29 | 2022-07-26 | 希维科技(广州)有限公司 | 支持fmea双向关系树的数据节点的操作方法及设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186401A (ja) * | 2007-01-31 | 2008-08-14 | Tokyo Metropolis | データベース管理システムおよびデータベース管理方法 |
CN101290625A (zh) * | 2008-06-11 | 2008-10-22 | 华东师范大学 | 一种xml文档的存储和检索方法 |
CN101996257A (zh) * | 2010-11-30 | 2011-03-30 | 中国人民解放军信息工程大学 | 可重构路由交换平台构件的检索方法 |
CN102841892A (zh) * | 2011-06-21 | 2012-12-26 | 中国科学院计算技术研究所 | 一种关系数据的服务封装系统和方法 |
CN105677683A (zh) * | 2014-11-21 | 2016-06-15 | 华为技术有限公司 | 批量数据查询方法和装置 |
CN105677740A (zh) * | 2015-12-29 | 2016-06-15 | 中国民用航空上海航空器适航审定中心 | 基于实体的文本数据与xml文档的匹配方法 |
CN106021339A (zh) * | 2016-05-09 | 2016-10-12 | 中国联合网络通信集团有限公司 | 面向资源树的语义查询方法及系统 |
CN107256217A (zh) * | 2017-04-19 | 2017-10-17 | 江苏师范大学 | 一种xml数据的快速查询方法 |
CN110321456A (zh) * | 2019-07-17 | 2019-10-11 | 哈尔滨工业大学 | 一种海量不确定xml近似查询方法 |
CN110889022A (zh) * | 2018-08-17 | 2020-03-17 | 迈普通信技术股份有限公司 | 数据查询方法、装置及电子设备 |
CN112583761A (zh) * | 2019-09-27 | 2021-03-30 | 奇安信科技集团股份有限公司 | 安全实体的管理方法、装置、计算机设备和存储介质 |
CN112835638A (zh) * | 2021-01-28 | 2021-05-25 | 广州致远电子有限公司 | 一种基于嵌入式应用程序的配置信息管理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10134229A1 (de) * | 2000-08-17 | 2002-02-28 | Ibm | Verfahren und System zum Ermitteln von Abweichungen in Datentabellen |
US9436780B2 (en) * | 2012-07-10 | 2016-09-06 | Seiko Epson Corporation | Constructing incremental tree model for vein image recognition and authentication |
-
2021
- 2021-08-06 CN CN202110904535.1A patent/CN113656438B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186401A (ja) * | 2007-01-31 | 2008-08-14 | Tokyo Metropolis | データベース管理システムおよびデータベース管理方法 |
CN101290625A (zh) * | 2008-06-11 | 2008-10-22 | 华东师范大学 | 一种xml文档的存储和检索方法 |
CN101996257A (zh) * | 2010-11-30 | 2011-03-30 | 中国人民解放军信息工程大学 | 可重构路由交换平台构件的检索方法 |
CN102841892A (zh) * | 2011-06-21 | 2012-12-26 | 中国科学院计算技术研究所 | 一种关系数据的服务封装系统和方法 |
CN105677683A (zh) * | 2014-11-21 | 2016-06-15 | 华为技术有限公司 | 批量数据查询方法和装置 |
CN105677740A (zh) * | 2015-12-29 | 2016-06-15 | 中国民用航空上海航空器适航审定中心 | 基于实体的文本数据与xml文档的匹配方法 |
CN106021339A (zh) * | 2016-05-09 | 2016-10-12 | 中国联合网络通信集团有限公司 | 面向资源树的语义查询方法及系统 |
CN107256217A (zh) * | 2017-04-19 | 2017-10-17 | 江苏师范大学 | 一种xml数据的快速查询方法 |
CN110889022A (zh) * | 2018-08-17 | 2020-03-17 | 迈普通信技术股份有限公司 | 数据查询方法、装置及电子设备 |
CN110321456A (zh) * | 2019-07-17 | 2019-10-11 | 哈尔滨工业大学 | 一种海量不确定xml近似查询方法 |
CN112583761A (zh) * | 2019-09-27 | 2021-03-30 | 奇安信科技集团股份有限公司 | 安全实体的管理方法、装置、计算机设备和存储介质 |
CN112835638A (zh) * | 2021-01-28 | 2021-05-25 | 广州致远电子有限公司 | 一种基于嵌入式应用程序的配置信息管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113656438A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107943951B (zh) | 一种区块链业务信息的检索方法及系统 | |
CN101640613B (zh) | 一种网络资源关联管理的方法及装置 | |
US20160253322A1 (en) | Method and apparatus for data storage and retrieval | |
CN108241615A (zh) | 数据去重方法和装置 | |
CN108509524A (zh) | 数据处理的方法、服务器及数据处理的系统 | |
CN104320312A (zh) | 网络应用安全测试工具及模糊测试用例生成方法和系统 | |
CN112800287A (zh) | 基于图数据库的全文索引方法和系统 | |
CN113656438B (zh) | 数据树的数据查询方法及装置 | |
CN106161193B (zh) | 一种邮件处理方法、装置和系统 | |
CN115039090A (zh) | 数据查询方法、装置、服务器及存储介质 | |
CN113032465B (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN109165217A (zh) | 一种时序数据的高效存储方法 | |
CN112527824B (zh) | 分页查询方法、装置、电子设备和计算机可读存储介质 | |
CN109992708B (zh) | 一种元数据查询的方法、装置、设备以及存储介质 | |
CN104536785A (zh) | 实时系统更新方法及装置 | |
CN116775712A (zh) | 联表查询方法、装置、电子设备、分布式系统和存储介质 | |
CN115983965A (zh) | 一种实现银行风险策略血缘分析的方法和系统 | |
CN110765073A (zh) | 分布式存储系统的文件管理方法、介质、设备及装置 | |
CN112579709B (zh) | 一种数据表识别方法、装置、存储介质及电子设备 | |
CN109542913A (zh) | 一种复杂环境下的网络资产安全管理方法 | |
CN115935020A (zh) | 一种图数据存储方法和装置 | |
CN115185997A (zh) | 一种主机信息处理方法、装置、电子设备及存储介质 | |
CN110389966B (zh) | 一种信息处理方法及装置 | |
CN110688201B (zh) | 一种日志管理方法及相关设备 | |
CN113779068A (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 |