CN115168505A - 一种用于海洋时空数据的管理系统以及方法 - Google Patents
一种用于海洋时空数据的管理系统以及方法 Download PDFInfo
- Publication number
- CN115168505A CN115168505A CN202210703467.7A CN202210703467A CN115168505A CN 115168505 A CN115168505 A CN 115168505A CN 202210703467 A CN202210703467 A CN 202210703467A CN 115168505 A CN115168505 A CN 115168505A
- Authority
- CN
- China
- Prior art keywords
- data
- graph
- ocean
- knowledge
- value storage
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000003860 storage Methods 0.000 claims abstract description 116
- 238000013500 data storage Methods 0.000 claims abstract description 35
- 239000012634 fragment Substances 0.000 claims abstract description 32
- 238000007726 management method Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 40
- 230000015654 memory Effects 0.000 claims description 16
- 238000000926 separation method Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000009193 crawling Effects 0.000 claims description 6
- 238000012800 visualization Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 abstract description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 230000008439 repair process Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- 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/2291—User-Defined Types; Storage management thereof
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
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)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开用于海洋时空数据的管理系统以及方法,包括客户端、图数据计算层和图数据存储层,客户端获取海洋时空数据,图数据计算层从海洋时空数据中提取实体和关系,构建知识图谱;图数据存储层包括多个键值存储引擎,每个键值存储引擎中存储多个数据分片,多个键值存储引擎之间通过Raft构建数据一致性,图数据存储层将知识图谱中不同节点之间的边分割成不同的数据分片并存储于键值存储引擎中。本发明便于构建复杂海洋时空数据关系图谱,能针对不同数据集语义自定义抽象规则,抽取实体、关系和属性,将结构化海洋时空数据转化为知识图谱,表征海洋数据内部联系;使用Raft保证分布式存储一致性,提供高性能高可靠的海洋数据存储服务。
Description
技术领域
本发明涉及海洋时空数据管理技术领域,特别涉及一种用于海洋时空数据的管理系统以及方法。
背景技术
各种传感器和观测平台不断获取超大规模的海洋时空数据(随时间空间变化的三维海洋地理信息数据),对海洋时空数据的管理和利用带来了巨大挑战。为实现对海洋时空数据的快速检索和高效查询,需要探索新的海洋时空数据表达形式和存储方法。
由于海洋时空数据来源多、规模大且结构极其复杂,现有的数据库管理方式在数据汇聚灵活性、存储扩展性、资源协同性方面都存在明显不足,限制了多源海洋时空数据的综合应用。同时,传统方法使用XML作为数据结构存储时空数据,缺乏对海洋时空数据的内在联系探索。
发明内容
本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种用于海洋时空数据的管理系统以及方法,能针对不同数据集语义自定义抽象规则,抽取实体、关系和属性,使用图数据库构建复杂海洋时空数据关系图谱,使用键值对存储信息,实现实体和关系的快速搜索,而且图数据存储层也支持多存储节点部署,并使用Raft实现图数据存储层的一致性。
本发明的第一方面,提供了一种用于海洋时空数据的管理系统,包括:
客户端,用于获取海洋时空数据;
图数据计算层,与所述客户端连接,所述图数据计算层用于根据自定义知识图谱规则从所述海洋时空数据中提取实体和关系,并以有向图存储所述实体、所述关系和属性,构建所述海洋时空数据的知识图谱;其中,所述有向图以节点表示所述实体和所述属性,以有向边表示所述关系;
图数据存储层,与所述图数据计算层连接,所述图数据存储层包括多个键值存储引擎,每个所述键值存储引擎中用于存储多个数据分片,所述多个键值存储引擎之间通过Raft构建数据一致性;所述图数据存储层用于根据边分割法将所述知识图谱中不同节点之间的边分割成不同的所述数据分片并存储于对应的所述键值存储引擎中,其中,将所述知识图谱中同一个节点的所有标签、出边信息和入边信息存储于同一个所述数据分片中。
根据本发明的实施例,至少具有如下技术效果:
1)为了对大规模的海洋时空数据进行高效检索和快速查询,本系统创新地使用了知识图谱表示海洋时空数据,能够针对不同数据集语义自定义抽象规则,抽取实体、关系和属性,将结构化海洋时空数据转化为知识图谱,表征海洋数据内部联系;
2)考虑到海洋时空数据实体与实体之间的复杂关系,为了支持实体关系的快速搜索,本系统利用图数据库的图数据存储层来保存知识图谱,图数据存储层使用键值对存储信息,实现实体和关系的快速搜索。相较于传统关系型数据库等形式,图数据库存储的灵活性更高、支持复杂的图形算法,便于构建复杂海洋时空数据关系图谱。本系统的图数据存储层支持多存储节点部署,并使用Raft实现图数据存储层的一致性,在部分存储节点故障系统依然能够正常运行,同时支持故障存储节点的自动修复;
3)本系统可定制为通用开源海洋时空数据转换、分析、存储平台,为面向海洋时空数据研究的客户和研究部门提供工具支撑。
根据本发明的一些实施例,所述客户端包括如下获取所述海洋时空数据的方式:
根据本地数据接口导入本地的海洋时空数据和/或根据爬虫模块爬取开源的海洋时空数据。
根据本发明的一些实施例,所述管理系统还包括:进程层,所述进程层与所述图数据计算层和所述图数据存储层连接,所述进程层设置有基于所述知识图谱的多项服务进程,且所述多项所述服务进程之间通过Raft构建数据一致性。
根据本发明的一些实施例,所述客户端还用于知识图谱探索和可视化分析。
根据本发明的一些实施例,所述键值存储引擎为键值分离架构,所述键值存储引擎包括log日志和基于日志结构的合并树,所述log日志用于存储所述知识图谱中的值大于阈值的数据,所述基于日志结构的合并树用于存储所述知识图谱中的值小于所述阈值的数据
本发明的第二方面,提供了一种用于海洋时空数据的管理方法,包括如下步骤:
获取海洋时空数据;
根据自定义知识图谱规则从所述海洋时空数据中提取实体和关系,以有向图存储所述实体、所述关系和属性,以构建所述海洋时空数据对应的知识图谱;其中,所述有向图以节点表示所述实体和所述属性,以有向边表示所述关系;
构建多个键值存储引擎,其中,每个所述键值存储引擎用于存储多个数据分片,所述多个键值存储引擎之间通过Raft构建数据一致性;根据边分割法将所述知识图谱中不同节点之间的边分割成不同的所述数据分片并存储于对应的所述键值存储引擎中,其中,将所述知识图谱中同一个节点的所有标签、出边信息和入边信息存储于同一个所述数据分片中。
根据本发明的实施例,至少具有如下技术效果:
1)为了对大规模的海洋时空数据进行高效检索和快速查询,本方法创新地使用了知识图谱表示海洋时空数据,能够针对不同数据集语义自定义抽象规则,抽取实体、关系和属性,将结构化海洋时空数据转化为知识图谱,表征海洋数据内部联系;
2)考虑到海洋时空数据实体与实体之间的复杂关系,为了支持实体关系的快速搜索,本方法利用图数据库保存知识图谱,其中使用键值对存储信息,实现实体和关系的快速搜索。相较于传统关系型数据库等形式,本方法使用的图数据库存储的灵活性更高、支持复杂的图形算法,便于构建复杂海洋时空数据关系图谱。本方法使用的图数据库支持多存储节点部署,并使用Raft实现多个存储节点之间数据的一致性,在部分存储节点故障系统依然能够正常运行,同时支持故障存储节点的自动修复。
根据本发明的一些实施例,所述键值存储引擎为键值分离架构,所述键值存储引擎包括log日志和基于日志结构的合并树,所述log日志用于存储所述知识图谱中的值大于阈值的数据,所述基于日志结构的合并树用于存储所述知识图谱中的值小于所述阈值的数据。
根据本发明的一些实施例,所述管理方法还包括步骤:
基于所述知识图谱构建多项服务进程,所述多项所述服务进程之间通过Raft构建数据一致性。
根据本发明的一些实施例,所述获取海洋时空数据包括步骤:
根据本地数据接口导入本地的海洋时空数据和/或根据爬虫模块爬取开源的海洋时空数据。
本发明的第三方面,提供了一种电子设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行上述的用于海洋时空数据的管理方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一个实施例提供的一种用于海洋时空数据的管理系统的结构示意图;
图2是本发明一个实施例提供的海浪时间序列数据集的知识图谱的示意图;
图3是本发明一个实施例提供的图数据分割的示意图;
图4是本发明一个实施例提供的LSM-Tree的结构示意图;
图5是本发明一个实施例提供的键值分离示意图;
图6是本发明一个实施例提供的点数据和边数据的存储格式示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
由于海洋时空数据来源多、规模大且结构极其复杂,现有的数据库管理方式在数据汇聚灵活性、存储扩展性、资源协同性方面都存在明显不足,限制了多源海洋时空数据的综合应用。同时,传统方法使用XML作为数据结构存储时空数据,缺乏对海洋时空数据的内在联系探索。
参照图1,本发明的一个实施例,提供了一种用于海洋时空数据的管理系统,包括客户端、图数据计算层(图1中使用Graph层表示)和图数据存储层(图1中使用Storage层表示),其中:
客户端用于获取海洋时空数据。在一些实施例中,客户端通过如下方式获取海洋时空数据:
1)根据本地数据接口导入本地的海洋时空数据;2)根据爬虫模块爬取开源的海洋时空数据。
图数据计算层(Graph层)与客户端连接,用于根据自定义知识图谱规则,从海洋时空数据中提取实体和关系,并以有向图存储实体、关系和属性,以构建海洋时空数据对应的知识图谱,图数据计算层包含多个图节点(图节点是指提供图计算服务的进程)。如图2,有向图以节点表示实体和属性,以有向边表示关系。
为了构建海洋时空数据的知识图谱(知识图谱是指用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系),从对应海洋文本数据(海洋时空数据的文本表现形式)中提取实体和关系。以有向图(节点-边-节点)的形式存储实体、关系和属性。其中,用节点表示实体和属性、有向边表示关系,从海洋文本数据中提取的所有实体和关系构成大型网络(即海洋时空数据的知识图谱)。用户可以从海洋文本数据中自定义地抽象和提取实体和关系。在本系统中,提供一系列接口,让用户能够自定义实体、关系和属性的类型,然后,通过在脚本文件中自定义数据规则。
在图数据计算层实现海洋时空数据的抽象转换过程,以海浪时间序列数据集为例:
表1
海浪时间序列数据集记录了1933至2018年期间全球部分海域海浪数据,以csv格式存储包括时间、位置、海浪流速、相对水位等信息(如表1所示)。根据数据集语义设计抽象转化规则:以点存储position和wave_level数据,以边存储time数据,并连接position和wave_level节点,构建形成知识图谱,如图2所示,并存储在图数据存储层中。
图数据存储层(Storage层)与图数据计算层连接,图数据存储层包括多个键值存储引擎,每个键值存储引擎中用于存储多个数据分片,多个键值存储引擎之间通过Raft构建数据一致性;图数据存储层用于根据边分割法将知识图谱中不同节点之间的边分割成不同的数据分片并存储于对应的键值存储引擎中,其中,将知识图谱中同一个节点的所有标签、出边信息和入边信息存储于同一个数据分片中。
如图1,在图数据存储层中,其数据分片(逻辑分片)存储在不同的键值存储引擎中,键值存储引擎位于存储节点(机器)中,键值存储引擎之间通过Raft保证数据强一致性。本实施例中,Raft将复杂数据的一致性问题分解为多个子问题,集群节点在领导者(Leader)、追随者(Follower)和候选人(Candidate)三种状态中切换,将一致性问题转换为Leader的选举问题和Leader与Follower之间的数据同步问题。在本实施例中,同一份数据通常会有多个副本,通过分布式一致性协议Raft保证多个副本之间的一致性,这样即使少数副本发生故障,系统仍可正常运行。
目前,观测平台收集到的超大规模海洋时空数据集可达到PB(petabyte,一种存储单位)级别,在此基础上生成的知识图谱中,点数量可以达到百亿到千亿,边数量达到万亿。如此大规模的数据的存储和管理超过一般单个服务器的最大容量。因此本系统采用了边分割的方式,对知识图谱中不同节点之间的边进行分割,将知识图谱中的图数据分割成不同的数据分片(如图1中分片_a0和分片_a1)中,切分过程如图3所示。
在本实施例中,分片策略采用静态哈希的方式,即对点id进行取模操作,同一个点的所有标签、出边和入边信息都会存储到同一个数据分片,这种方式极大地提升了查询效率。
需要注意的是,当多机集群部署时,分片分布在集群内的不同机器上,分片数量在创建图空间时指定,此后不可更改。这里的多机集群是指分布式的存储集群,集群中包含多个物理的存储节点(机器),键值存储引擎是一个单机版本地存储引擎,提供对本地数据的get、put、scan等操作,被部署在集群中的每一个物理的存储节点(机器)上。因此集群中每一个物理的存储节点(机器)上都具有一个键值存储引擎。在每个存储节点中的图数据,又以分片形式存储。
简单来说,分片是将一个固定的字符串进行哈希计算,转换成数据类型为int64的数字(int64数字的哈希计算结果是数字本身),将数字取模,然后加1。例如有100个分片,点id为1、101和1001的三个点将会存储在相同的分片,分片ID和机器地址之间的映射是随机的,所以不能假定任何两个分片位于同一台机器上。值得说明的是,点id是点数据存储结构的一部分。在图数据库中,存储的主要数据为点和边,采取的存储方式为键值存储(Key-Value),即将点和边的属性信息存储为key,将点和边的属性信息存储在value中。其中,点、边数据的存储格式如图6所示,各字段含义如下表所示:
表2
其中“VertexID”字段即为点id,类型为int。
参照图1,在一些实施例中,本系统还包括:进程层(图1中使用Meta层表示),进程层与图数据计算层和图数据存储层连接,进程层设置有基于知识图谱的多项服务进程,且多项服务进程之间通过Raft构建数据一致性。值得说明的是,图1中Meta层中包括多个不同服务进程,如Meta0、Meta1、Meta2等,多个不同服务进程共同组成Raft集群。
Meta层部署了控制软件各项服务的进程,各个进程通常情况下需要部署在不同的机器上,在进程数量大于1时,需要避免不同机器上进程的数据不一致,因此本系统使用Raft保证所有进程之间的一致性。所有控制进程组成基于Raft的集群,其中一个进程是领导者(Leader),其他进程都是追随者(Follower)。领导者是由多数派选举出来,只有领导者能够对客户端或其他组件提供服务,其他追随者作为候补,如果领导者出现故障,会在所有追随者中选举出新的领导者。
在一些实施例中,图数据存储层的键值存储引擎为键值分离架构,键值存储引擎包括log日志和基于日志结构的合并树(LSM-Tree),log日志用于存储知识图谱中的值大于阈值的数据,基于日志结构的合并树用于存储知识图谱中的值小于阈值的数据。
本系统对键值存储引擎进行重构,即设计键值分离架构,检测需要存储的数据的值的大小,将值较小的数据存储在LSM-Tree结构中,将值较大的数据存在log日志中。以此增强多磁盘系统的并发I/O能力,支持多个不同的海洋时空数据集隔离,为数据集设置不同的分片数和副本数。
传统的图数据库底层使用RocksDB作为键值存储引擎,RocksDB的键和值都存储在LSM-Tree上。但是LSM-Tree这种数据结构存在一个普遍的缺陷,其值往往会比键更大,因此LSM-Tree需要更深的层数来存储数据,而LSM-Tree的读写性能和层数负相关。当数据量过大时,读写将性能严重下降。所以本实施例重构键值存储引擎,重构的核心思想是检测需要存储的数据的值的大小,将值较小的数据存储在基于日志结构的合并树(LSM-Tree)中,将值较大的数据存在日志(log)中,这么做的好处是将值较大的数据分流,可以有效减小LSM-Tree的层数,带来更少的磁盘读取及更好的缓存性能,再通过一次查询多次遍历的放大效应,从而大幅度地提升存储引擎的读写性能。
本系统实施例具备如下有益效果:
1)为了对大规模的海洋时空数据进行高效检索和快速查询,本系统创新地使用了知识图谱表示海洋时空数据,能够针对不同数据集语义自定义抽象规则,抽取实体、关系和属性,将结构化海洋时空数据转化为知识图谱,表征海洋数据内部联系;
2)考虑到海洋时空数据实体与实体之间的复杂关系,为了支持实体关系的快速搜索,本系统利用图数据库(图数据库是以点、边为基础存储单元,以高效存储、查询图数据为设计原理的数据管理系统)的图数据存储层来保存知识图谱,图数据存储层使用键值对存储信息,实现实体和关系的快速搜索。相较于传统关系型数据库等形式,图数据库存储的灵活性更高、支持复杂的图形算法,便于构建复杂海洋时空数据关系图谱。本系统的图数据存储层支持多存储节点(存储节点上具有键值存储引擎)部署,并使用Raft实现图数据存储层的一致性,在部分存储节点故障系统依然能够正常运行,同时支持故障存储节点的自动修复;
3)本系统可定制为通用开源海洋时空数据转换、分析、存储平台,为面向海洋时空数据研究的客户和研究部门提供工具支撑。
本发明的一个实施例,提供了一种用于海洋时空数据的管理方法,包括如下步骤:
步骤S101、获取海洋时空数据。
步骤S102、根据自定义知识图谱规则从海洋时空数据中提取实体和关系,以有向图存储实体、关系和属性,以构建海洋时空数据对应的知识图谱;其中,有向图以节点表示实体和属性,以有向边表示关系。
步骤S103、构建多个键值存储引擎,其中,每个键值存储引擎用于存储多个数据分片,多个键值存储引擎之间通过Raft构建数据一致性;根据边分割法将知识图谱中不同节点之间的边分割成不同的数据分片并存储于对应的键值存储引擎中,其中,将知识图谱中同一个节点的所有标签、出边信息和入边信息存储于同一个数据分片中。键值存储引擎为键值分离架构,键值存储引擎包括log日志和基于日志结构的合并树,log日志用于存储知识图谱中的值大于阈值的数据,基于日志结构的合并树用于存储知识图谱中的值小于阈值的数据。
本方法实施例具备如下有益效果:
1)为了对大规模的海洋时空数据进行高效检索和快速查询,本方法创新地使用了知识图谱表示海洋时空数据,能够针对不同数据集语义自定义抽象规则,抽取实体、关系和属性,将结构化海洋时空数据转化为知识图谱,表征海洋数据内部联系;
2)考虑到海洋时空数据实体与实体之间的复杂关系,为了支持实体关系的快速搜索,本方法利用图数据库保存知识图谱,其中使用键值对存储信息,实现实体和关系的快速搜索。相较于传统关系型数据库等形式,本方法使用的图数据库存储的灵活性更高、支持复杂的图形算法,便于构建复杂海洋时空数据关系图谱。本方法使用的图数据库支持多存储节点部署,并使用Raft实现数据的一致性,在部分存储节点故障系统依然能够正常运行,同时支持故障存储节点的自动修复。
3)本方法重构了键值存储引擎,将值较大的数据分流,可以有效减小LSM-Tree的层数,带来更少的磁盘读取及更好的缓存性能,再通过一次查询多次遍历的放大效应,从而大幅度地提升键值存储引擎的读写性能。
值得说明的是,本方法实施例与上述系统实施例是基于相同的发明构思,因此上述系统实施例的相关内容同样适用于本方法实施例,此处不再赘述。
参照图1,本发明的一个实施例,提供了一种用于海洋时空数据的管理系统,包括客户端、Meta层、Graph层和Storage层。
客户端用于获取海洋时空数据,本系统提供两种获取海洋时空数据的方式,包括:1)手动输入;2)爬虫下载。
在海洋时空数据处理流程中,用户可以指定本地海洋时空数据集路径,输入海洋时空数据集。客户端设计了1个爬虫模块,用于爬取开源的海洋时空数据集。“Python”“Java”是命令行输入接口,指用户可通过pyhon脚本自定义规则,如数据集格式、路径、实体分割规则等信息。
Meta层负责视图操作和用户权限。Meta层部署了控制软件各项服务的进程,各个进程通常情况下需要部署在不同的机器上,在进程数量大于1时,需要避免不同机器上进程的数据不一致,因此使用Raft保证所有进程之间的一致性。所有控制进程组成基于Raft的集群,其中一个进程是领导者(Leader),其他进程都是追随者(Follower)。领导者是由多数派选举出来,只有领导者能够对客户端或其他组件提供服务,其他追随者作为候补,如果领导者出现故障,会在所有追随者中选举出新的领导者。
Graph层提供图计算服务,提供图谱探索、海洋知识数据导入、可视化分析、命令控制台等交互功能。在Graph层中,为了构建海洋时空数据的知识图谱,需要从海洋文本数据中提取实体和关系,以有向图(节点-边-节点)的形式存储实体、关系和属性。其中,用节点表示实体和属性、有向边表示关系,从海洋数据中提取的所有实体和关系构成的大型网络称为知识图谱。用户可以从海洋文本数据中自定义地抽象和提取实体和关系。在系统中提供一系列接口,让用户能够自定义实体、关系和属性的类型。通过在脚本文件中自定义数据规则。
在Graph层实现海洋时空数据的抽象转换过程后,Storage层提供基于图数据库的分布式存储服务。同时,在Storage层重构开源图数据库键值存储引擎,通过Raft算法保证副本强一致性,实现一种海洋时空数据的转换、储存方法。具体的:
Storage层的数据分片存储在不同的键值存储引擎中,通过Raft算法保证数据强一致性。本系统中,基于Raft分布式一致性协议提供高性能和高可靠性的存储服务,保证多副本的一致性。Raft将复杂数据的一致性问题分解为多个子问题,集群节点在领导者(Leader)、追随者(Follower)和候选人(Candidate)三种状态中切换,将一致性问题转换为Leader的选举问题和Leader与Follower之间的数据同步问题。其次,本实施例重构了键值存储引擎,设计键值分离架构,检测需要存储的数据的值的大小,将值较小的数据存储在LSM-Tree结构中,将值较大的数据存在log日志中。以此增强多磁盘系统的并发I/O能力,支持多个不同的海洋时空数据集隔离,为数据集设置不同的分片数和副本数。
参照图4和图5,LSM-Tree这种数据结构存在一个普遍的缺陷,其值往往会比键更大,因此LSM-Tree需要更深的层数来存储数据,而LSM-Tree的读写性能和层数负相关。当数据量过大时,读写将性能严重下降。所以本系统使用WiscKey键值分离算法,其核心思想是检测需要存储的数据的值的大小,将值较小的数据存储在基于日志结构的合并树(LSM-Tree)中,将值较大的数据存在日志(log)中。这么做的好处是将值较大的数据分流,可以有效减小LSM-Tree的层数,带来更少的磁盘读取及更好的缓存性能,再通过一次查询多次遍历的放大效应,从而大幅度地提升存储引擎的读写性能。在设计的实验中,键值分离带来了平均吞吐量、平均时延等各项性能提升。实验结果如下表所示:
表3
本系统实施例具备如下有益效果:
1)为了对大规模的海洋时空数据进行高效检索和快速查询,本系统创新地使用了知识图谱表示海洋时空数据,能够针对不同数据集语义自定义抽象规则,抽取实体、关系和属性,将结构化海洋时空数据转化为知识图谱,表征海洋数据内部联系;
2)考虑到海洋时空数据实体与实体之间的复杂关系,为了支持实体关系的快速搜索,本系统利用图数据库(图数据库是以点、边为基础存储单元,以高效存储、查询图数据为设计原理的数据管理系统)的图数据存储层来保存知识图谱,图数据存储层使用键值对存储信息,实现实体和关系的快速搜索。相较于传统关系型数据库等形式,图数据库存储的灵活性更高、支持复杂的图形算法,便于构建复杂海洋时空数据关系图谱。本系统的图数据存储层支持多存储节点部署,并使用Raft实现图数据存储层的一致性,在部分存储节点故障系统依然能够正常运行,同时支持故障存储节点的自动修复;
3)本系统重构了键值存储引擎,将值较大的数据分流,可以有效减小LSM-Tree的层数,带来更少的磁盘读取及更好的缓存性能,再通过一次查询多次遍历的放大效应,从而大幅度地提升键值存储引擎的读写性能。
4)本系统可定制为通用开源海洋时空数据转换、分析、存储平台,为面向海洋时空数据研究的客户和研究部门提供工具支撑。
本发明的一个实施例,提供了一种用于海洋时空数据的管理设备,该设备可以是任意类型的智能终端,例如手机、平板电脑、个人计算机等。具体地,该设备包括:一个或多个控制处理器和存储器。控制处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的设备对应的程序指令/模块。控制处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行用于海洋时空数据的管理系统的各种功能应用以及数据处理,即实现上述方法实施例的一种用于海洋时空数据的管理方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储用于海洋时空数据的管理系统的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于控制处理器远程设置的存储器,这些远程存储器可以通过网络连接至该设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个控制处理器执行时,执行上述方法实施例中的一种用于海洋时空数据的管理方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,可使得上述一个或多个控制处理器执行上述方法实施例中的一种用于海洋时空数据的管理方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种用于海洋时空数据的管理系统,其特征在于,包括:
客户端,用于获取海洋时空数据;
图数据计算层,与所述客户端连接,所述图数据计算层用于根据自定义知识图谱规则从所述海洋时空数据中提取实体和关系,并以有向图存储所述实体、所述关系和属性,构建所述海洋时空数据的知识图谱;其中,所述有向图以节点表示所述实体和所述属性,以有向边表示所述关系;
图数据存储层,与所述图数据计算层连接,所述图数据存储层包括多个键值存储引擎,每个所述键值存储引擎中用于存储多个数据分片,所述多个键值存储引擎之间通过Raft构建数据一致性;所述图数据存储层用于根据边分割法将所述知识图谱中不同节点之间的边分割成不同的所述数据分片并存储于对应的所述键值存储引擎中,其中,将所述知识图谱中同一个节点的所有标签、出边信息和入边信息存储于同一个所述数据分片中。
2.根据权利要求1所述的用于海洋时空数据的管理系统,其特征在于,所述客户端包括如下获取所述海洋时空数据的方式:
根据本地数据接口导入本地的海洋时空数据和/或根据爬虫模块爬取开源的海洋时空数据。
3.根据权利要求1所述的用于海洋时空数据的管理系统,其特征在于,所述管理系统还包括:进程层,所述进程层与所述图数据计算层和所述图数据存储层连接,所述进程层设置有基于所述知识图谱的多项服务进程,且所述多项所述服务进程之间通过Raft构建数据一致性。
4.根据权利要求3所述的用于海洋时空数据的管理系统,其特征在于,所述客户端还用于知识图谱探索和可视化分析。
5.根据权利要求3所述的用于海洋时空数据的管理系统,其特征在于,所述键值存储引擎为键值分离架构,所述键值存储引擎包括log日志和基于日志结构的合并树,所述log日志用于存储所述知识图谱中的值大于阈值的数据,所述基于日志结构的合并树用于存储所述知识图谱中的值小于所述阈值的数据。
6.一种用于海洋时空数据的管理方法,其特征在于,包括如下步骤:
获取海洋时空数据;
根据自定义知识图谱规则从所述海洋时空数据中提取实体和关系,以有向图存储所述实体、所述关系和属性,以构建所述海洋时空数据对应的知识图谱;其中,所述有向图以节点表示所述实体和所述属性,以有向边表示所述关系;
构建多个键值存储引擎,其中,每个所述键值存储引擎用于存储多个数据分片,所述多个键值存储引擎之间通过Raft构建数据一致性;根据边分割法将所述知识图谱中不同节点之间的边分割成不同的所述数据分片并存储于对应的所述键值存储引擎中,其中,将所述知识图谱中同一个节点的所有标签、出边信息和入边信息存储于同一个所述数据分片中。
7.根据权利要求6所述的用于海洋时空数据的管理方法,其特征在于,所述键值存储引擎为键值分离架构,所述键值存储引擎包括log日志和基于日志结构的合并树,所述log日志用于存储所述知识图谱中的值大于阈值的数据,所述基于日志结构的合并树用于存储所述知识图谱中的值小于所述阈值的数据。
8.根据权利要求7所述的用于海洋时空数据的管理方法,其特征在于,所述管理方法还包括步骤:
基于所述知识图谱构建多项服务进程,所述多项所述服务进程之间通过Raft构建数据一致性。
9.根据权利要求7所述的用于海洋时空数据的管理方法,其特征在于,所述获取海洋时空数据包括步骤:
根据本地数据接口导入本地的海洋时空数据和/或根据爬虫模块爬取开源的海洋时空数据。
10.一种电子设备,其特征在于,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求6至9任一项所述的用于海洋时空数据的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210703467.7A CN115168505A (zh) | 2022-06-21 | 2022-06-21 | 一种用于海洋时空数据的管理系统以及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210703467.7A CN115168505A (zh) | 2022-06-21 | 2022-06-21 | 一种用于海洋时空数据的管理系统以及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115168505A true CN115168505A (zh) | 2022-10-11 |
Family
ID=83487601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210703467.7A Pending CN115168505A (zh) | 2022-06-21 | 2022-06-21 | 一种用于海洋时空数据的管理系统以及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115168505A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226139A (zh) * | 2023-05-09 | 2023-06-06 | 南昌大学 | 一种适用大规模海洋数据的分布式存储和处理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399777A (zh) * | 2020-03-16 | 2020-07-10 | 北京平凯星辰科技发展有限公司 | 一种基于数据值分类的差异化键值数据存储方法 |
US20200364584A1 (en) * | 2015-10-28 | 2020-11-19 | Qomplx, Inc. | Multi-tenant knowledge graph databases with dynamic specification and enforcement of ontological data models |
CN114138776A (zh) * | 2021-11-01 | 2022-03-04 | 杭州欧若数网科技有限公司 | 图结构和图属性分离设计的方法、系统、装置和介质 |
CN114399006A (zh) * | 2022-03-24 | 2022-04-26 | 山东省计算中心(国家超级计算济南中心) | 基于超算的多源异构图数据融合方法及系统 |
CN114443908A (zh) * | 2022-01-07 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 图数据库构建方法、系统、终端及存储介质 |
-
2022
- 2022-06-21 CN CN202210703467.7A patent/CN115168505A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200364584A1 (en) * | 2015-10-28 | 2020-11-19 | Qomplx, Inc. | Multi-tenant knowledge graph databases with dynamic specification and enforcement of ontological data models |
CN111399777A (zh) * | 2020-03-16 | 2020-07-10 | 北京平凯星辰科技发展有限公司 | 一种基于数据值分类的差异化键值数据存储方法 |
CN114138776A (zh) * | 2021-11-01 | 2022-03-04 | 杭州欧若数网科技有限公司 | 图结构和图属性分离设计的方法、系统、装置和介质 |
CN114443908A (zh) * | 2022-01-07 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 图数据库构建方法、系统、终端及存储介质 |
CN114399006A (zh) * | 2022-03-24 | 2022-04-26 | 山东省计算中心(国家超级计算济南中心) | 基于超算的多源异构图数据融合方法及系统 |
Non-Patent Citations (4)
Title |
---|
NEBULAGRAPH: "NebulaGraph Database手册", Retrieved from the Internet <URL:https://docs.nebula-graph.com.cn/2.6.1/1.introduction/3.nebula-graph-architecture/1.architecture-overview/> * |
刘汪根等: "大数据3.0——后Hadoop时代大数据的核心技术", 数据域计算发展前沿, vol. 1, no. 1, pages 141 - 103 * |
李连营: "海洋地图可视化方法的知识图谱构建", 测绘地理信息, vol. 47, no. 1, pages 77 - 80 * |
陈东敏等: "区块链技术原理及底层架构", 北京航空航天大学出版社, pages: 22 - 25 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116226139A (zh) * | 2023-05-09 | 2023-06-06 | 南昌大学 | 一种适用大规模海洋数据的分布式存储和处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110196871B (zh) | 数据入库方法和系统 | |
KR102591421B1 (ko) | 의도 추천 방법, 장치, 기기 및 저장매체 | |
US11741053B2 (en) | Data management system, method, terminal and medium based on hybrid storage | |
US10482122B2 (en) | System and method for multiresolution and multitemporal image search | |
CN109241161B (zh) | 一种气象数据管理方法 | |
US10235376B2 (en) | Merging metadata for database storage regions based on overlapping range values | |
CN104881424B (zh) | 一种基于正则表达式的电力大数据采集、存储及分析方法 | |
US20200057752A1 (en) | Deduplication index enabling scalability | |
Wang et al. | Research and implementation on spatial data storage and operation based on Hadoop platform | |
CN105303456A (zh) | 电力传输设备监控数据处理方法 | |
US11676066B2 (en) | Parallel model deployment for artificial intelligence using a primary storage system | |
CN111680033A (zh) | 一种高性能gis平台 | |
WO2013070185A1 (en) | Cache based key-value store mapping and replication | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
Siddiqui et al. | Pseudo-cache-based IoT small files management framework in HDFS cluster | |
Sheoran et al. | Optimized mapfile based storage of small files in hadoop | |
CN113010476B (zh) | 元数据查找方法、装置、设备及计算机可读存储介质 | |
US11818012B2 (en) | Online restore to different topologies with custom data distribution | |
CN115238015A (zh) | 一种基于微服务的时空大数据平台 | |
CN115827907A (zh) | 基于分布式内存的跨云多源数据立方体发现与集成方法 | |
CN116166191A (zh) | 湖仓一体系统 | |
CN115168505A (zh) | 一种用于海洋时空数据的管理系统以及方法 | |
US11934466B2 (en) | Direct cloud storage intake and upload architecture | |
CN114595302A (zh) | 空间要素的多层级空间关系构建方法、装置、介质及设备 | |
Zhou et al. | Sfmapreduce: An optimized mapreduce framework for small files |
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 |