CN116414804A - 一种基于树形结构的数据库构建方法、装置及电子设备 - Google Patents
一种基于树形结构的数据库构建方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116414804A CN116414804A CN202310377155.6A CN202310377155A CN116414804A CN 116414804 A CN116414804 A CN 116414804A CN 202310377155 A CN202310377155 A CN 202310377155A CN 116414804 A CN116414804 A CN 116414804A
- Authority
- CN
- China
- Prior art keywords
- data
- tree structure
- structure table
- target
- field
- 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.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000004044 response Effects 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 6
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 19
- 238000004590 computer program Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000010248 power generation Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 125000000484 butyl group Chemical group [H]C([*])([H])C([H])([H])C([H])([H])C([H])([H])[H] 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000002411 adverse Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000013439 planning Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- 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
-
- 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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请关于一种基于树形结构的数据库构建方法、装置及电子设备。具体方案为:获取目标录入数据;基于层级关系信息构建第一树形结构表;基于目标数据构建与第一树形结构表对应的第二树形结构表;构建第一树形结构表的第二树形结构表之间的关联,以使用户基于第一树形结构表查找第二树形结构表中的目标查询数据。本申请从而极大的简化了数据库结构,提高了数据库的查询效率和维护效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于树形结构的数据库构建方法、装置及电子设备。
背景技术
相关技术中,通过数据库存储大量的数据信息,对于数据量较大的数据信息,需要按照一定规则存储在不同的数据表中,由于数据表结构复杂,且数据表和字段逻辑关联性不强,导致对数据的开发、集成、运维困难,且针对不同领域的数据存储兼容性较差。
发明内容
为此,本申请提供一种基于树形结构的数据库构建方法、装置及电子设备。本申请的技术方案如下:
根据本申请实施例的第一方面,提供一种基于树形结构的数据库构建方法,所述方法包括:
获取目标录入数据;其中,所述目标录入数据包括目标数据和所述目标数据之间的层级关系信息;
基于所述层级关系信息构建第一树形结构表;
基于所述目标数据构建与所述第一树形结构表对应的第二树形结构表;
构建所述第一树形结构表的所述第二树形结构表之间的关联,以使用户基于所述第一树形结构表查找第二树形结构表中的目标查询数据。
根据本申请的一个实施例,所述基于所述层级关系信息构建第一树形结构表包括:
基于所述层级关系信息,分别构建资源ID字段、资源层级路径字段、资源名称字段和物主ID字段;其中,所述资源ID字段用于存储目标数据的唯一标识;所述资源层级路径字段用于指示当前目标数据与其他目标数据的层级关系;
将所述构建资源ID字段、资源层级路径字段确定为所述第一树形结构表;
将目标数据各自的层级关系信息以及资源ID录入所述第一树形结构表中。
根据本申请的一个实施例,所述层级关系信息包括多个层级以及多个层级之间的对应关系;所述基于所述目标数据构建与所述第一树形结构表对应的第二树形结构表,包括:
基于所述层级关系信息,分别构建资源生成时间字段、资源生效时间字段以及目标数据字段;其中,所述目标数据字段用于存储所述目标数据;所述目标数据包括所述多个层级各自的历史数据。
根据本申请的一个实施例,所述方法还包括:
基于所述目标录入数据,确定所述目标数据的第一数据类型;
基于所述第一数据类型对所述目标数据进行分类处理,得到分类结果;
基于所述分类结果构建第三树形结构表;
将所述目标数据的第一数据类型录入至所述第三树形结构表中;
构建所述第三树形结构表与所述第一树形结构表之间的关联,以使用户按照目标分类基于所述第三树形结构表确定所述第一树形结构表的目标查询范围。
根据本申请的一个实施例,所述目标录入数据还包括目标数据对应的实体对象的坐标信息,所述方法还包括:
基于所述目标录入数据,获取目标数据的坐标信息;其中,所述坐标信息包括所述实体对象的经纬度和/或海拔;
基于所述坐标信息构建坐标字段;
基于所述层级关系信息,构建资源ID字段;
将所述坐标字段和所述资源ID字段确定为第四树形结构表;
将所述坐标信息录入至所述第四树形结构表中;
构建所述第四树形结构表与所述第一树形结构表之间的关联。
根据本申请的一个实施例,所述数据库通过以下步骤进行查询:
响应于接收到用户的查询指示,基于所述查询指示确定用户的当前目标查询数据以及所述当前目标查询数据的所属层级;
基于所述当前目标查询数据的所属层级,确定所述所属层级与其他层级之间的当前层级关系信息;
基于所述层级关系信息确定所述第一树形结构表中的第一目标数据;其中,所述第一目标数据中包括所述当前层级关系信息和所述第一目标数据与所述第二树形结构表中的至少一个第二目标数据之间的关联关系;
基于所述关联关系,确定第二树形结构表中的至少一个第二目标数据。
根据本申请的一个实施例,所述目标录入数据还包括每个目标数据的第二数据类型,所述第二数据类型包括宿主类型和本体类型;所述第一树形结构表还包括第二数据类型字段,所述方法还包括;
基于所述目标录入数据,确定所述目标数据的第二数据类型;
响应于所述目标数据的第二数据类型为宿主类型,将宿主类型录入所述第二数据类型字段;
响应于所述目标数据的第二数据类型为本体主类型,将本体类型录入所述第二数据类型字段。
根据本申请实施例的第二方面,提供一种基于树形结构的数据库构建装置,所述装置包括:
获取模块,用于获取目标录入数据;其中,所述目标录入数据包括目标数据和所述目标数据之间的层级关系信息;
第一构建模块,用于基于所述层级关系信息构建第一树形结构表;
第二构建模块,用于基于所述目标数据构建与所述第一树形结构表对应的第二树形结构表;
第三构建模块,用于构建所述第一树形结构表的所述第二树形结构表之间的关联,以使用户基于所述第一树形结构表查找第二树形结构表中的目标查询数据。
根据本申请实施例的第三方面,提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
本申请的实施例提供的技术方案至少带来以下有益效果:
通过获取目标录入数据;基于层级关系信息构建第一树形结构表;基于目标数据构建与第一树形结构表对应的第二树形结构表;构建第一树形结构表的第二树形结构表之间的关联,以使用户基于第一树形结构表查找第二树形结构表中的目标查询数据。从而极大的简化了数据库结构,进而提高了数据库的查询效率和维护效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1为本申请实施例中的一种基于树形结构的数据库构建方法的流程图;
图2为本申请实施例中的一种基于树形结构的数据库构建装置的结构框图;
图3为本申请实施例中的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,通过数据库存储大量的数据信息,对于数据量较大的数据信息,需要按照一定规则存储在不同的数据表中,由于数据表结构复杂,且数据表和字段逻辑关联性不强,导致对数据的开发、集成、运维困难,且针对不同领域的数据存储兼容性较差。
基于上述问题,本申请提出了一种基于树形结构的数据库构建方法、装置及电子设备,可以实现通过获取目标录入数据;基于所述层级关系信息构建第一树形结构表;基于所述目标数据构建与所述第一树形结构表对应的第二树形结构表;构建所述第一树形结构表的所述第二树形结构表之间的关联,以使用户基于所述第一树形结构表查找第二树形结构表中的目标查询数据。从而极大简化水文水资源数据库表结构,每个表、字段,从表名、字段名一目了然,字段名无需缩写,直表其意,进而极大的简化了SQL语句的复杂程度,无需为大量不同的表、字段,编写、拼接不同的SQL语句。另外开发系统、集成数据可以使用统一、简单几个典型的SQL语句即可实现数据库增删改查,逻辑上看,树形目录数据表结构的每个节点下的所有节点就相当一个数据表,所以与传统数据表结构对比,无限多的节点就是无限多的表,每一行相当于一个字段,充分发挥扩张行的优势,克服扩展字段带来的不利影响;另外,数据库运行维护中,可以不使用专用的程序系统,直接使用navicat、PLsql等第三方查询工具,直接使用SQL语句即可方便快捷的查询出需要的结果集数据,方便模型研究、方案建模、大数据分析等应用。
图1为本申请实施例中的一种基于树形结构的数据库构建方法的流程图。
如图1所示,该基于树形结构的数据库构建方法包括:
步骤101,获取目标录入数据。
其中,在本申请实施例中,目标录入数据包括目标数据和目标数据之间的层级关系信息。
需要说明的是,上述目标录入数据中包括目标数据和预先设定的目标数据之间的层级关系信息。上述层级关系信息可以是整体与局部的关系,还可以是主从关系,还可以是上下级关系,例如流域上下游水文站、全流域与子流域、水资源调查区域与调查项目、设备整体与构成部分,乃至组织机构单位、部门、员工等之间的相互关系等。
步骤102,基于层级关系信息构建第一树形结构表。
其中,在本申请一些实施例中,步骤102包括:
步骤a1,基于层级关系信息,分别构建资源ID字段、资源层级路径字段、资源名称字段和物主ID字段。
其中,在本申请实施例中,资源ID字段用于存储目标数据的唯一标识;资源层级路径字段用于指示当前目标数据与其他目标数据的层级关系;ResourceName(资源名称),非主键,但不能为空;Owner resource ID(物主ID),通过指定Owner resource ID,用来表述组织关系时,表示本资源从属于上级组织Owner resource ID,用来表示流域时,表示本资源是主流域的一个流域,或者是子流域的一个测站等;用来表示设备时,表示本资源是一个设备的一个部分或者配件。
作为一种可能实施方式的示例,Resource ID字段(资源ID字段)可以作为主键。可选的,Resource ID字段(资源层级路径字段)长度可以为30个字符串,可以沿用目标录入数据的编码规则,也可以使用KKS编码,只要确保不重复即可。
作为又一种可能实施方式的示例,NamePath字段用于存储从当前资源节点至资源树根节点的路径,即当前目标数据至最上层目标数据的路径。举例来说,节点间采用“\”、“;”等进行连接,该字段长1024个字符,按一个资源名称Resource字段长30个字符加1个连接符计算,可以保存33个层级:1024/(30+1),足够表达一个资源的路径地址。
例如:
设备:太阳系\地球\柬埔寨\上丁省\上丁市\上丁水文站\上丁站遥测设备\上丁站水位传感器;设备参数:太阳系\地球\柬埔寨\上丁省\上丁市\上丁水文站\上丁站遥测设备\上丁站水位传感器\上丁站定时报阀值;运维人员:太阳系\地球\柬埔寨\上丁省\上丁市\上丁水文站\阿棉;数据:太阳系\地球\柬埔寨\上丁省\上丁市\上丁水文站\上丁水文站水位。
可以理解的是,通过NamePath字段可以描述需要管理的事物、设备、人员、数据等。NamePath字段可以根据Resource ID字段,逐级递归,找到每个资源ID节点至树根的全部路径节点,然后通过“\”、“;”拼接起来,查询时即可方便的实现各个层级的数据筛选。步骤a2,将构建Resource ID字段、NamePath字段确定为第一树形结构表。
步骤a3,将目标数据各自的层级关系信息以及资源ID录入第一树形结构表中。
在本申请一些实施例中,目标录入数据还包括每个目标数据的第二数据类型,第二数据类型包括宿主类型和本体类型;第一树形结构表还包括第二数据类型字段,该基于树形结构的数据库构建方法还包括;
基于目标录入数据,确定目标数据的第二数据类型;响应于目标数据的第二数据类型为宿主类型,将宿主类型录入第二数据类型字段;响应于目标数据的第二数据类型为本体主类型,将本体类型录入第二数据类型字段。
作为一种可能实施方式的示例,第二数据类型字段用于存放本体节点的资源ID。举例来说,某个水文站有多套设备进行主备监测,可以设置一个资源ID点号来存储其统一对外出口、发布的数据,正常情况,采用主设备的数据,若主用设备故障,那么可以切换至备用设备的数据,如此即可在各类软件系统的图形、报表等画面上,不用做任何修改即可显示正确、连续的水位数据。例如,上丁站水位,可以使用上丁站主用水位计水位,也可以用备用水位计水位,对外统一为上丁站水位。
在本申请另一些实施例中,第一树形结构表还可以包括以下字段:
ResourceDateTime:资源生成时间,用于存储资源点在第一树形结构表中的新增的时间,若资源是人员,可以存储生日,若资源点资源ID表示水文站,则ResourceDateTime可以存储建站时间;
EffectiveDateTime:资源生效时间,一般EffectiveDateTime与ResourceDateTime存储相同的时间值,若需要存储额外的时间可以使用EffectiveDateTime,若资源ID表示一个合同,ResourceDateTime可以用于存储合同签订日期,EffectiveDateTime则可用于存储开工日期,具体情况视不同的资源ID存储的数据点,来确定ResourceDateTime、EffectiveDateTime存储的时间的具体意义和用途;
IDPath:资源ID路径,由于资源名称路径NamePath可能会存在重名的情况,为此引入IDPath,该字段用于存储资源ID的资源树路径;
NumberValue:数字类型的数据值。为统筹兼顾,所有数值型数据均存储在该字段用,以方便统计汇总,若需要保存的数据精度比较高,小数位数可以多设置长一些,若报表、图形上只显示整数的,统一在用户界面进行数据的取整,保留需要的有效数字;
StringValue:字符类型的数据值,例如“图片20210102.MP4”的文件名,或者文件路径;
Memo:备注,保存描述性质的长字符;
Sequence:资源资源ID的排序,若需要对查询出的数据,按自定义的先后顺序进行显示,执行SQL查询时,可以根据此字段进行排序;
ValidState:有效状态,若某个资源ID暂时不显示,或者故障等,可通过设定该字段,在查询时予以过滤;
步骤103,基于目标数据构建与第一树形结构表对应的第二树形结构表。
其中,在本申请一些实施例中,步骤103包括:
基于所述层级关系信息,分别构建资源生成时间字段、资源生效时间字段以及目标数据字段。
其中,在本申请实施例中,所述目标数据字段用于存储所述目标数据。
其中,在本申请实施例中,目标数据包括多个层级各自的历史数据。
作为一种可能实施方式的示例,ResourceDateTime(资源生成时间字段)可以用于存储设备生产日期,作业预报制作时间、发电计划制定日期等数据生成时间;EffectiveDateTime(资源生效时间字段)可以用于存储设备投运时间、作业预报预见期时间、发电计划时间。
作为一种可能实施方式的示例,第二树形结构表还可以包括以下字段:
ResourceDateTime表示入库流量预报、发电计划等制作、发布的时间,EffectiveDateTime则表示预报要素发生的时间;
NumberValue:资源的数据类型值;
StringValue:资源的字符类型值;
Memo:资源长字符串描述备注信息;
RowID:Running_Value表每行记录的唯一标识符,用于记录间进行相互引用,例如:一个记录的Host resource ID字段内存储另外一个记录的RowID,可表示微信、淘宝等APP内,对商品、帖子的收藏、关注;
Account resource ID:用户ID,表示记录由该用户生成;
Host resource ID:宿主ID,见RowID说明;
Owner resource ID:物主ID,从此字段存储其它记录的RowID,可表示类似对帖子的跟帖。
步骤104,构建第一树形结构表的第二树形结构表之间的关联,以使用户基于第一树形结构表查找第二树形结构表中的目标查询数据。
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括建立资源类型关联表Resource_Type,Resource_Type表是resource表(第一树形结构表)、type表(第三树形结构表)的连接表,通过一对多、多对多的关系连接,可以为一个资源制定多个分类,例如:降雨量数据,即可以归类为水文数据、也可归类为气象数据,水位计,可按模拟式、数字式、接触式、非接触式、压阻式、浮子式、气泡式、机械式等进行多类型归类,以方便按不同的类型进行查询、分析、汇总等。
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括建立实时运行数据表running_value,running_value表可以包括以下字段:
ResourceDateTime:资源生成时间,用于存储设备生产日期,作业预报制作时间、发电计划制定日期等数据生成时间;
EffectiveDateTime:资源生效时间,可用于存储设备投运时间、作业预报预见期时间、发电计划时间;
ResourceDateTime表示入库流量预报、发电计划等制作、发布的时间,EffectiveDateTime则表示预报要素发生的时间;
NumberValue:资源的数据类型值;
StringValue:资源的字符类型值;
Memo:资源长字符串描述备注信息;
Rowid:Running_Value表(第二树形结构表)每行记录的唯一标识符,用于记录间相互应用,例如:一个记录的HostResourceID字段内存储另外一个记录的RowID,可表示微信、淘宝等APP内,对商品、帖子的收藏、关注;
AccountResourceID:用户ID,表示记录由该用户生成;
HostResourceID:宿主ID,见RowID说明;
OwnerResourceID:物主ID,从此字段存储其它记录的RowID,可表示类似对帖子的跟帖。
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括建立时段统计数据表Statistic_value,Statistic_value表可以包括以下字段:
IntervalMinutes:统计时段长,可以按分钟存储,小时:60分钟,天:1440分钟,月:43200分钟(统一按30天计),年:518400分钟(统一按365天计)。如此,在进行查询时可根据本字段的值进行小时、天、周、月、年的查询、筛选、过滤;
ResourceDateTime:资源生成时间,可用于存储统计时段开始时间;
EffectiveDateTime:资源生效时间,可用于存储统计时段结束时间。
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括建立用户和数据权限管理表Account_Groups,用于描述账号、角色、分组信息,Account_Groups用于描述账号、角色、分组之间的关联关系。
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括建立系统参数设置表Config,Config表结构与第一树形结构表相同,用于存储服务器地址、离线地图下载包、预定义查询等系统参数、配置信息,每个字段的意义可参考第一树形结构表灵活使用。
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括建立系统日志表Log,Log表用于记录系统运行日志信息,表结构与Resource相同。若系统有手机APP端应用时,可以使用该日志表的Sequence字段标识APP端离线运行的增、删、改SQL语句类型,Memo字段存储SQL语句。可以通过以下4项定义Sequence字段数值:
1、Insert;2、Delete;3、Update;4、Select;
还可以存储APP端与服务端的多媒体文件的互操作数据,可以通过以下4项定义Sequence字段数值:
1、UploadFile,APP端上传文件;
2、DeleteFile,APP端删除服务端文件;
3、UpdateFile,APP端更新服务器端文件,
8、DownloadFile,APP端下载服务器端文件
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括建立外部系统数据点对应表Resource_EDC,Resource_EDC表结构与Resource表相同,可以使用ResourceID、HostResourceID字段来存储电网公司、水利单位等外部系统数据点与电站水情测报系统数据点之间的对应关系。本数据表的表名可根据其他系统的名称来灵活命名,也可以将于其他所有系统通讯时的数据点对应关系全部放在1个表内。
在本申请一些实施例中,通过以上各类数据表的建立,可以通过Jion语句,通过ResourceID、ResourceDateTime、EffectiveDateTime等主键,方便的定义各类视图,简化APP、PC端等各类程序的SQL语句,提高效率,以下列出几个基本的视图:
Resource_View视图将每个资源点最新的经纬度、类型等,关联至一个视图中,方便查询,提高性能,可以表示某个设备当前定置的位置。
typeResourceID字段,关联自Type表,实现不同类型数据的筛选,也可以通过Type表的树形目录实现任意组合的类型筛选。例如:where typeResourID in(’50’,’100’,’201’)。
Sequence字段用于数据资源点的优先级排序。
NamePath字段,用于以字符串的方式筛选不同的数据点。
若Resource表中存储了全国所有的水文站、水位站、雨量站等,那么通过NamePath字段就可以方便高效的查询,全国、省、市、州中水文站有多少个,含某个关键字的水文站、水位站各有多少个等,也可以按流域划分来查。
以上查询,类似户籍管理系统中需要查询全国叫张三的有多少人,如果把张三的所有信息按本专利中的方法进行编码分解,存储于Resource和Running_Value中,那么可以快速、高效的查询张三所有的信息。
经纬度信息Longitude、Latitude、Altitude关联自第四树形结构表(Position表),如果资源点的数据有经纬度信息,则可以方便的在GIS系统中进行查询、显示
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括:
基于第一树形结构表、第二树形结构表、第三树形结构表构建查询视图表,以使用户基于查询视图表查找目标查询数据;查询视图表用于存储第一树形结构表、第二树形结构表、第三树形结构表之间的对应关系。
作为一种可能实施方式的示例,可以将第一树形结构表、第二树形结构表、第三树形结构表中的全部字段或者部分字段进行整合,进而得到查询视图表。
需要说明的是,用户在通过查询语句查找目标查询数据的时候,在有多张表的情况下,需要知道要查询哪一张表,通过将第一树形结构表、第二树形结构表、第三树形结构表整合成为一张查询视图表,可以实现仅通过一张查询视图表即可查询数据库中的全部数据,有效提高了查询效率。
举例来说,查询视图表RunningValue_View中,包括ResourceNamePath、ResourceIDPath字段,关联自Resource表。若在同一个层级范围内,有多个ResourceName相同资源数据点时,即可通过ResourceIDPath加以区分,比如同一个县有很多名字叫“张家营水文站”的,同一个班级有多个名字叫“张三”的,那么就要通过ResourceID、IDPath来进行精确查询。
例如,可以通过以下查询语句查询云南省内,名称含“张家营”,时间段在12月1日~12月2日之间的水位数据:
Select*from RunningValue_view Where ResourceNamePath like‘%云南省%’and ResourceNamePath like‘%张家营%’and typeResourceID=’201’andResourceDateTime>=’2021-12-01 00:00:00’and ResourceDateTime<=’2021-12-0200:00:00’
在本申请一些实施例中,Resource等基础表以ResourceID为主键,Running_Value等运行表以ResourceID、ResourceDateTime、EffectiveDateTime3个字段为联合主键,可灵活制定表间约束、索引、排序。
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括:
步骤b1,基于目标录入数据,确定目标数据的第一数据类型。
需要说明的是,第一数据类型是指用户预先确定的目标数据的数据类型。
步骤b2,基于第一数据类型对目标数据进行分类处理,得到分类结果。
步骤b3,基于分类结果构建第三树形结构表。
作为一种可能实施的示例,第三树形结构表的表结构、字段类型以及各字段的用法可以与第一树形结构表相同。
步骤b4,将目标数据的第一数据类型录入至第三树形结构表中。
步骤b5,构建第三树形结构表与第一树形结构表之间的关联,以使用户按照目标分类基于第三树形结构表确定第一树形结构表的目标查询范围。
可以理解的是,通过对目标录入数据进行分类,可以在查询数据时根据已知的目标数据的分类快速确定查找范围,提高了查询效率。
在本申请一些实施例中,该基于树形结构的数据库构建方法还包括:
步骤c1,基于目标录入数据,获取目标数据的坐标信息。
其中,在本申请实施例中,坐标信息包括实体对象的经纬度和/或海拔。
步骤c2,基于坐标信息构建坐标字段。
步骤c3,基于层级关系信息,构建Resource ID字段。
步骤c4,将坐标字段和Resource ID字段确定为第四树形结构表。
步骤c5,将坐标信息录入至第四树形结构表中。
步骤c6,构建第四树形结构表与第一树形结构表之间的关联。
需要说明的是,若目标录入数据是针对实体对象的相关数据,实体对象大多需要存储具体的坐标信息,由于坐标信息应用较为频繁,因此可以单独建立一张表来进行存储,从而提高对坐标信息的查询效率。
在本申请一些实施例中,该基于树形结构的数据库通过以下步骤进行查询:
步骤d1,响应于接收到用户的查询指示,基于查询指示确定用户的当前目标查询数据以及当前目标查询数据的所属层级。
步骤d2,基于当前目标查询数据的所属层级,确定所属层级与其他层级之间的当前层级关系信息。
步骤d3,基于层级关系信息确定第一树形结构表中的第一目标数据。
其中,第一目标数据中包括当前层级关系信息和第一目标数据与第二树形结构表中的至少一个第二目标数据之间的关联关系。
步骤d4,基于关联关系,确定第二树形结构表中的至少一个第二目标数据。
作为一种可能实施方式的示例,由于每一项目标数据均对应有层级关系信息,因此除通过上述步骤d1-d4进行第二目标数据的查询之外,还可以基于每项目标数据对应的层级关系信息确定某一层级包括的目标数据条数。例如,有3项目标数据的层级关系信息中均包括“太阳系\地球\柬埔寨”,则层级为柬埔寨的目标数据条数为3。
根据本申请实施例的基于树形结构的数据库构建方法,通过获取目标录入数据;基于层级关系信息构建第一树形结构表;基于目标数据构建与第一树形结构表对应的第二树形结构表;构建第一树形结构表的第二树形结构表之间的关联,以使用户基于第一树形结构表查找第二树形结构表中的目标查询数据。从而极大简化水文水资源数据库表结构,每个表、字段,从表名、字段名一目了然,字段名无需缩写,直表其意,进而极大的简化了SQL语句的复杂程度,无需为大量不同的表、字段,编写、拼接不同的SQL语句。另外开发系统、集成数据可以使用统一、简单几个典型的SQL语句即可实现数据库增删改查,逻辑上看,树形目录数据表结构的每个节点下的所有节点就相当一个数据表,所以与传统数据表结构对比,无限多的节点就是无限多的表,每一行相当于一个字段,充分发挥扩张行的优势,克服扩展字段带来的不利影响;另外,数据库运行维护中,可以不使用专用的程序系统,直接使用navicat、PLsql等第三方查询工具,直接使用SQL语句即可方便快捷的查询出需要的结果集数据,方便模型研究、方案建模、大数据分析等应用,通用性强。
图2为本申请实施例中的一种基于树形结构的数据库构建装置的流程图。
如图2所示,该基于树形结构的数据库构建装置包括:
获取模块201,用于获取目标录入数据;其中,目标录入数据包括目标数据和目标数据之间的层级关系信息;
第一构建模块202,用于基于层级关系信息构建第一树形结构表;
第二构建模块203,用于基于目标数据构建与第一树形结构表对应的第二树形结构表;
第三构建模块204,用于构建第一树形结构表的第二树形结构表之间的关联,以使用户基于第一树形结构表查找第二树形结构表中的目标查询数据。
根据本申请实施例的基于树形结构的数据库构建装置,通过获取目标录入数据;基于层级关系信息构建第一树形结构表;基于目标数据构建与第一树形结构表对应的第二树形结构表;构建第一树形结构表的第二树形结构表之间的关联,以使用户基于第一树形结构表查找第二树形结构表中的目标查询数据。从而极大简化水文水资源数据库表结构,每个表、字段,从表名、字段名一目了然,字段名无需缩写,直表其意,进而极大的简化了SQL语句的复杂程度,无需为大量不同的表、字段,编写、拼接不同的SQL语句。另外开发系统、集成数据可以使用统一、简单几个典型的SQL语句即可实现数据库增删改查,逻辑上看,树形目录数据表结构的每个节点下的所有节点就相当一个数据表,所以与传统数据表结构对比,无限多的节点就是无限多的表,每一行相当于一个字段,充分发挥扩张行的优势,克服扩展字段带来的不利影响;另外,数据库运行维护中,可以不使用专用的程序系统,直接使用navicat、PLsql等第三方查询工具,直接使用SQL语句即可方便快捷的查询出需要的结果集数据,方便模型研究、方案建模、大数据分析等应用,通用性强。
图3为本申请实施例中的一种电子设备的框图。如图3所示,该电子设备可以包括:收发器31、处理器32、存储器33。
处理器32执行存储器存储的计算机执行指令,使得处理器32执行上述实施例中的方案。处理器32可以是通用处理器,包括中央处理器CPU、网络处理器(network processor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器33通过系统总线与处理器32连接并完成相互间的通信,存储器33用于存储计算机程序指令。
收发器31可以用于获取待运行任务和待运行任务的配置信息。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。
本申请实施例提供的电子设备,可以是上述实施例的终端设备。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中消息处理方法的技术方案。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例消息处理方法的技术方案。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中消息处理方法的技术方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种基于树形结构的数据库构建方法,其特征在于,所述方法包括:
获取目标录入数据;其中,所述目标录入数据包括目标数据和所述目标数据之间的层级关系信息;
基于所述层级关系信息构建第一树形结构表;
基于所述目标数据构建与所述第一树形结构表对应的第二树形结构表;
构建所述第一树形结构表的所述第二树形结构表之间的关联,以使用户基于所述第一树形结构表查找第二树形结构表中的目标查询数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述层级关系信息构建第一树形结构表包括:
基于所述层级关系信息,分别构建资源ID字段、资源层级路径字段、资源名称字段和物主ID字段;其中,所述资源ID字段用于存储目标数据的唯一标识;所述资源层级路径字段用于指示当前目标数据与其他目标数据的层级关系;
将所述构建资源ID字段、资源层级路径字段确定为所述第一树形结构表;
将目标数据各自的层级关系信息以及资源ID录入所述第一树形结构表中。
3.根据权利要求1所述的方法,其特征在于,所述层级关系信息包括多个层级以及多个层级之间的对应关系;所述基于所述目标数据构建与所述第一树形结构表对应的第二树形结构表,包括:
基于所述层级关系信息,分别构建资源生成时间字段、资源生效时间字段以及目标数据字段;其中,所述目标数据字段用于存储所述目标数据;所述目标数据包括所述多个层级各自的历史数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述目标录入数据,确定所述目标数据的第一数据类型;
基于所述第一数据类型对所述目标数据进行分类处理,得到分类结果;
基于所述分类结果构建第三树形结构表;
将所述目标数据的第一数据类型录入至所述第三树形结构表中;
构建所述第三树形结构表与所述第一树形结构表之间的关联,以使用户按照目标分类基于所述第三树形结构表确定所述第一树形结构表的目标查询范围。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
基于所述第一树形结构表、第二树形结构表、第三树形结构表构建查询视图表,以使用户基于所述查询视图表查找所述目标查询数据;所述查询视图表用于存储所述第一树形结构表、第二树形结构表、第三树形结构表之间的对应关系。
6.根据权利要求1所述的方法,其特征在于,所述目标录入数据还包括目标数据对应的实体对象的坐标信息,所述方法还包括:
基于所述目标录入数据,获取目标数据的坐标信息;其中,所述坐标信息包括所述实体对象的经纬度和/或海拔;
基于所述坐标信息构建坐标字段;
基于所述层级关系信息,构建资源ID字段;
将所述坐标字段和所述资源ID字段确定为第四树形结构表;
将所述坐标信息录入至所述第四树形结构表中;
构建所述第四树形结构表与所述第一树形结构表之间的关联。
7.根据权利要求1所述的方法,其特征在于,所述数据库通过以下步骤进行查询:
响应于接收到用户的查询指示,基于所述查询指示确定用户的当前目标查询数据以及所述当前目标查询数据的所属层级;
基于所述当前目标查询数据的所属层级,确定所述所属层级与其他层级之间的当前层级关系信息;
基于所述层级关系信息确定所述第一树形结构表中的第一目标数据;其中,所述第一目标数据中包括所述当前层级关系信息和所述第一目标数据与所述第二树形结构表中的至少一个第二目标数据之间的关联关系;
基于所述关联关系,确定第二树形结构表中的至少一个第二目标数据。
8.根据权利要求2所述的方法,其特征在于,所述目标录入数据还包括每个目标数据的第二数据类型,所述第二数据类型包括宿主类型和本体类型;所述第一树形结构表还包括第二数据类型字段,所述方法还包括;
基于所述目标录入数据,确定所述目标数据的第二数据类型;
响应于所述目标数据的第二数据类型为宿主类型,将宿主类型录入所述第二数据类型字段;
响应于所述目标数据的第二数据类型为本体主类型,将本体类型录入所述第二数据类型字段。
9.一种基于树形结构的数据库构建装置,其特征在于,所述装置包括:
获取模块,用于获取目标录入数据;其中,所述目标录入数据包括目标数据和所述目标数据之间的层级关系信息;
第一构建模块,用于基于所述层级关系信息构建第一树形结构表;
第二构建模块,用于基于所述目标数据构建与所述第一树形结构表对应的第二树形结构表;
第三构建模块,用于构建所述第一树形结构表的所述第二树形结构表之间的关联,以使用户基于所述第一树形结构表查找第二树形结构表中的目标查询数据。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310377155.6A CN116414804A (zh) | 2023-04-10 | 2023-04-10 | 一种基于树形结构的数据库构建方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310377155.6A CN116414804A (zh) | 2023-04-10 | 2023-04-10 | 一种基于树形结构的数据库构建方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116414804A true CN116414804A (zh) | 2023-07-11 |
Family
ID=87052730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310377155.6A Pending CN116414804A (zh) | 2023-04-10 | 2023-04-10 | 一种基于树形结构的数据库构建方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116414804A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227769A (zh) * | 2016-07-15 | 2016-12-14 | 北京奇虎科技有限公司 | 数据存储方法及装置 |
CN111026753A (zh) * | 2019-12-04 | 2020-04-17 | 北京明略软件系统有限公司 | 基于树形结构的标签存储方法及装置 |
CN112835897A (zh) * | 2021-01-29 | 2021-05-25 | 上海寻梦信息技术有限公司 | 地理区域划分管理方法、数据转换方法及相关设备 |
CN115905628A (zh) * | 2022-10-20 | 2023-04-04 | 武汉达梦数据技术有限公司 | 一种动态的资源目录构建方法、装置、设备和存储介质 |
-
2023
- 2023-04-10 CN CN202310377155.6A patent/CN116414804A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227769A (zh) * | 2016-07-15 | 2016-12-14 | 北京奇虎科技有限公司 | 数据存储方法及装置 |
CN111026753A (zh) * | 2019-12-04 | 2020-04-17 | 北京明略软件系统有限公司 | 基于树形结构的标签存储方法及装置 |
CN112835897A (zh) * | 2021-01-29 | 2021-05-25 | 上海寻梦信息技术有限公司 | 地理区域划分管理方法、数据转换方法及相关设备 |
CN115905628A (zh) * | 2022-10-20 | 2023-04-04 | 武汉达梦数据技术有限公司 | 一种动态的资源目录构建方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021135177A1 (zh) | 一种能源数据仓库系统构建方法及装置 | |
CN108874971B (zh) | 一种应用于海量标签化实体数据存储的工具和方法 | |
CN106294887B (zh) | 基于四维空间的对客观世界存在的物体和事件的描述方法 | |
CN111159191A (zh) | 一种数据处理方法、装置和界面 | |
CN108256088A (zh) | 一种基于键值数据库的时序数据的存储方法及系统 | |
US11960443B2 (en) | Block data storage system in an event historian | |
US9842134B2 (en) | Data query interface system in an event historian | |
CN110275920A (zh) | 数据查询方法、装置、电子设备及计算机可读存储介质 | |
CN108595664A (zh) | 一种hadoop环境下的农业数据监控方法 | |
CN112926852A (zh) | 一种基于数据融合的大气生态环境分析方法 | |
WO2023004881A1 (zh) | 智慧农业aiot分布式大数据存储平台 | |
Ding et al. | Massive heterogeneous sensor data management in the Internet of Things | |
CN112817958A (zh) | 电力规划数据采集方法、装置及智能终端 | |
CN112672370A (zh) | 网元指标数据的自动检测方法及系统、设备和存储介质 | |
CN112100181A (zh) | 一种基于沙盘的数据资源管理方法 | |
CN106407468B (zh) | 一种描述事物空间属性并基于所述描述进行查找的方法 | |
Gad et al. | Hybrid data warehouse model for climate big data analysis | |
CN111159154A (zh) | 一种能源数据仓库系统 | |
CN110502543B (zh) | 设备性能数据存储方法、装置、设备和存储介质 | |
CN116414804A (zh) | 一种基于树形结构的数据库构建方法、装置及电子设备 | |
CN111881126A (zh) | 一种大数据管理系统 | |
US20080027966A1 (en) | Dynamic creation of star-schema database structures and cubes | |
CN115309724A (zh) | 一种用于产业分析的数据仓库设计及数据分析加速系统 | |
CN109359123A (zh) | 一种运行数据查询及分析系统和方法 | |
CN113934796A (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 |