CN113312345A - 结合Kubernetes和Ceph的遥感数据存储系统、存储及检索方法 - Google Patents
结合Kubernetes和Ceph的遥感数据存储系统、存储及检索方法 Download PDFInfo
- Publication number
- CN113312345A CN113312345A CN202010126255.8A CN202010126255A CN113312345A CN 113312345 A CN113312345 A CN 113312345A CN 202010126255 A CN202010126255 A CN 202010126255A CN 113312345 A CN113312345 A CN 113312345A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- remote sensing
- storage
- client
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例提供了结合Kubernetes和Ceph的遥感数据存储系统、存储及检索方法。所述存储系统包括交互层用于与客户端进行交互,接收客户端上传的遥感数据和/或根据用户的遥感数据查询请求提供对应的遥感数据;所述遥感数据包括元数据文件和影像文件;服务层用于为客户端上传的遥感数据生成队列并通过数据缓存层分发到数据存储层;和/或根据客户端查询请求在数据缓存层及数据存储层中查询对应的遥感数据;数据缓存层用于缓存所述遥感数据;数据存储层包括用于在MongoDB数据库中存储所述元数据文件以及在Ceph分布式存储系统中存储所述影像文件。以此方式,实现了海量遥感数据的高效存储,共享和备份。
Description
技术领域
本公开的实施例一般涉及存储技术领域,并且更具体地,涉及结合Kubernetes和Ceph的遥感数据存储及检索方法、装置、设备和计算机可读存储介质。
背景技术
随着遥感数据获取能力的日益增强,仅单颗卫星每日获取数据量就以TB级计算,且这些大数据具有空间结构化特性,即为空间数据。空间数据本身具有高密度价值,每一个数据单元都与空间位置关联,反映一定的空间属性。
早期空间数据存储与管理方法是基于关系型数据库建立的极为有效的异构空间数据存储管理体系,但由于关系型数据库对数据的高一致性要求,使其底层存储的可扩展性较弱,存在数据切分与合并难的问题。传统的关系型数据模型和数据组织结构,只是在概念和逻辑层面实现数据组织的完整性,包括序列快照模型、基图修正模型、空间-时间组合体模型和空间-时间立方体模型等,并没有考虑遥感影像数据的存取权重,而且物理实现统一采用本地磁盘存储,导致磁盘I/O成为数据库调度性能的瓶颈,极大地增加了磁盘I/O负荷和数据调度时间。并且存储成本高、扩展性差,数据共享存在瓶颈,对数据安全的控制粒度不够、在线查询缓慢、下载耗时受并发数量影响大。
后期空间数据存储与管理方法优化为使用NoSQL、列存储等类型的数据库,底层通过分布式文件系统实现存储的容错性和可扩展性,且为了解决数据一致性以及空间索引问题,一方面索引被放到大内存或被拆成大量小的索引存储,另一方面采用大量计算节点进行分布式索引计算;但适用的计算模式较为局限。
发明内容
根据本公开的实施例,提供了一种结合Kubernetes和Ceph的遥感数据存储方案。
在本公开的第一方面,提供了一种结合Kubernetes和Ceph的遥感数据存储系统。该系统包括交互层、服务层、数据缓存层和数据存储层;其中,所述交互层用于与客户端进行交互,接收客户端上传的遥感数据和/或根据用户的遥感数据查询请求提供对应的遥感数据;所述遥感数据包括元数据文件和影像文件;所述服务层用于为客户端上传的遥感数据生成队列并通过数据缓存层分发到数据存储层;和/或根据客户端查询请求在数据缓存层及数据存储层中查询对应的遥感数据;所述数据缓存层用于缓存所述遥感数据;所述数据存储层包括用于在MongoDB数据库中存储所述元数据文件以及在Ceph分布式存储系统中存储所述影像文件。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述交互层、所述服务层和所述数据缓存层部署于Kubernetes集群的master节点中;所述数据存储层部署于Kubernetes集群的worker节点中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述MongoDB数据库和所述Ceph分布式存储系统分别部署于Kubernetes集群的worker节点中。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述服务层包括消息队列模块、任务调度模块、遥感元数据解析模块、数据库操作模块和存储操作模块。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述任务调度模块用于根据一致性哈希算法,建立队列数据与worker节点之间的映射关系。
在本公开的第二方面,提供了一种结合Kubernetes和Ceph的遥感数据存储方法。该方法包括:交互层接收客户端通过PUSH方式定义的通用接口提交的遥感数据;所述遥感数据包括元数据文件和影像文件;服务层为所述遥感数据生成队列数据并通过数据缓存层分发到数据存储层;所述队列数据包括元数据文件队列数据和影像文件队列数据;数据缓存层将队列数据缓存在内存型缓存中;数据存储层将所述元数据文件队列数据存储到MongoDB数据库,将所述影像队列数据存储到Ceph分布式存储系统中。
在本公开的第三方面,提供了一种结合Kubernetes和Ceph的遥感数据查询方法。该方法包括:交互层接收客户端通过PULL方式定义的通用接口提交的数据检索请求;服务层接收所述数据检索请求,向缓存层查询所述数据;缓存层根据所述查询请求中给定的键值查询缓存层的内存中是否包含请求所需数据信息;若命中缓存,则将对应的元数据文件或影像文件信息返回给客户端;若未命中,在数据存储层的MongoDB的分布式存储系统和基于Ceph的分布式存储系统中查询所述数据,将获取的所需数据信息返回给客户端。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,将获取的所需数据信息返回给客户端包括:将获取的所需数据信息通过服务层及交互层返回对应的元数据文件或影像文件信息给客户端,并回写至缓存层的内存中。
在本公开的第四方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了能够在其中实现本公开的实施例的示例性运行环境的示意图;
图2示出了根据本公开实施例的存储系统的方框图;
图3示出了根据本公开的实施例的数据存储方法的流程图;
图4示出了根据本公开的实施例的数据查询方法的方框图;
图5示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
术语解释:
Kubernetes:简称k8s,Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
Ceph:一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性,同时支持块存储,对象存储,和分布式文件系统。
MongoDB:一个分布式的、面向列的开源数据库,适合被用来存储海量数据。MongoDB存储的内容是结构松散的类似于JSON结构的BSON格式数据,支持MapReduce功能保证其可以对数据进行复杂的关系和分析。除此之外,MongoDB支持对于地理信息的索引及检索操作。
图1示出了能够在其中实现本公开的实施例的示例性运行环境100的示意图。在运行环境100中包括客户端102、网络104和存储系统106。
图2示出了根据本公开实施例的结合Kubernetes和Ceph的遥感数据存储系统106的方框图;如图2所示,所述存储系统106包括交互层210、服务层220、数据缓存层230和数据存储层240。
交互层210位于存储系统106的最前端,负责与其他系统或客户端102进行交互。
在一些实施例中,交互层210提供了PULL和PUSH的两种集成方式,支持多种传输协议,兼容不同的异构系统。一方面客户端102可以通过PUSH方式定义的通用接口向存储系统106提交数据(遥感数据),另一方面客户端102可以通过PULL方式定义的通用接口获取存储系统106中的数据,便于与其他系统集成。
在一些实施例中,所述遥感数据包括遥感元数据文件、遥感影像文件、高程文件等。交互层210负责为客户端提供元数据文件的格式规范,影像文件以及高程文件的PUSH方式定义的通用接口(上传接口);交互层210将客户端102通过PUSH方式定义的通用接口(上传接口)向存储系统106提交的遥感数据提交给下层的服务层220做进一步的处理。
在一些实施例中,遥感数据(遥感影像)一般都有一个数据头文件描述该影像的信息,其中就包含了建立元数据的基础信息,根据要建立的元数据要素,从中提取出相关字段值作为相应元数据要素的值。客户端根据交互层210提供的格式规范,进行元数据提取,生成元数据文件。
在一些实施例中,交互层210部署于Kubernetes集群的master节点中。所述Kubernetes集群配置有至少两个master主节点和多个worker节点。所述至少两个master主节点互为主备,保证在一个主节点宕机后,由另一个主节点接替,使所述多个worker节点还可以继续访问另一个主节点,进行正常运作。
服务层220为Kubernetes服务层,是存储系统106架构的核心层。用于为客户端上传的数据生成队列并分发;和/或根据客户端查询请求查询对应数据。
在一些实施例中,服务层220主要包括消息队列模块、任务调度模块、遥感元数据解析模块、数据库操作模块和存储操作模块。消息队列模块负责接收交互层210提交的数据,由服务程序实现队列数据的存储,通过队列设计,能够减少数据库的瞬时压力,提高并发能力。在一些实施例中,所述消息队列模块为交互层210提交的元数据文件、影像文件分别建立队列。任务调度模块负责调度和管理系统中的各种任务进程的执行,任务调度模块包含了任务执行、调度器以及触发器等核心模块。任务调度模块与消息队列模块配合共同完成存储数据的分发和负载均衡。数据库操作模块负责将元数据文件队列中的存储任务通过缓存层230写入数据存储层240的MongoDB数据库中。存储操作模块负责将影像文件队列中的存储任务通过缓存层230写入数据存储层240的Ceph分布式存储系统。
在一些实施例中,遥感元数据解析模块用于把不同结构的遥感影像元数据通过解析,实现格式化统一。
在一些实施例中,通过引入一致性哈希算法,建立队列数据与worker节点之间的映射关系,均衡各节点之间的数据数量,减少节点之间的数据迁移次数。具体的,分别建立元数据文件队列数据与部署MongoDB数据库的worker节点之间的映射关系,以及影像文件队列数据与部署Ceph分布式存储系统的worker节点之间的映射关系。在一致性哈希算法中,当节点个数变动时,映射关系失效的对象非常少,迁移成本也非常小。一致性哈希算法对于节点的增减都只需重定位环空间中的一小部分数据,具有较好的容错性和可扩展性。
在一些实施例中,由于不同的系统在元数据内容和应用策略等方面存在差异,因而提供的元数据内容及格式也不尽相同。根据元数据模板生成的元数据文件以XML文件保存。通过分析其中的元数据要素与内容的对应关系,可以找到可转换的实质内容,因此可以设计元数据文件转换程序实现不同元数据文件间的转换。本公开实施例中,将不同结构的遥感影像元数据通过解析,实现格式化统一,生成内容统一的元数据文件。。
在一些实施例中,服务层220部署于Kubernetes集群的master节点中。
缓存层230用于缓存遥感数据,可以使用内存型缓存如Memcache、Redis缓存服务器。
在一些实施例中,通过高速内存型缓存使常用数据常驻内存,提高了数据的访问效率。
在一些实施例中,缓存层230将队列数据缓存在内存型缓存中,再进一步地存储到数据存储层240中。
在一些实施例中缓存层230接收通过服务层220发送的数据获取请求,访问数据;基本步骤如下:
①接收服务层220发送的查询请求,根据所述查询请求中给定的键值查询缓存层230的内存中是否包含请求所需数据信息(元数据或影像文件信息);
②如果命中缓存信息,则直接从缓存层返回所需数据信息;
③如果未命中缓存信息,则进入数据存储层240中的MongoDB数据库或基于Ceph的分布式存储系统获取所需数据信息;
④将获取的所需数据信息通过服务层220及交互层210返回给客户端102,并回写至缓存层230的内存中。
在一些实施例中,缓存层230部署于Kubernetes集群的master节点中。
数据存储层240用于存储系统106的数据存储和备份,将所述队列数据存储到对应的数据库或分布式存储系统中。
在一些实施例中,数据存储层240包括MongoDB数据库以及Ceph分布式存储系统;其中,MongoDB是一个基于分布式文件存储的数据库。
在一些实施例中,MongoDB数据库用于存储非结构化的元数据、Ceph分布式存储系统负责存储大规模的影像文件。
在一些实施例中,数据存储层240部署于Kubernetes集群的worker节点中。所述MongoDB数据库以及Ceph分布式存储系统都部署在Kubernetes集群之上,而不是独立地部署一个Ceph集群,减少了管理难度。由于kubernetes集群中可以支持多个worker节点,例如,数百个,因此,能够支持海量影像文件地存储,而且可以通过添加worker节点非常方便地扩展集群的存储容量。
图3示出了根据本公开实施例的数据存储方法300的流程图。方法300可以由图1中的存储系统106执行。
在框310,交互层210接收客户端102通过PUSH方式定义的通用接口提交的数据(遥感数据);
在一些实施例中,所述遥感数据包括遥感元数据文件、遥感影像文件、高程文件等。交互层210负责为客户端提供元数据的格式规范,影像文件以及高程文件的PUSH方式定义的通用接口(上传接口);交互层210将客户端102通过PUSH方式定义的通用接口(上传接口)向存储系统106提交的遥感数据提交给下层的服务层220做进一步的处理。
在框320,服务层220为所述数据生成队列并通过数据缓存层分发到数据存储层;
在一些实施例中,系统消息队列负责接收交互层210提交的数据,由服务程序实现队列数据的存储,通过队列设计,能够减少数据库的瞬时压力,提高并发能力。任务调度模块负责调度和管理系统中的各种任务进程的执行,任务调度模块包含了任务执行队列、调度器以及触发器等核心模块。任务调度模块与消息队列配合共同完成请求的分发和负载均衡。
所述队列数据包括元数据文件队列数据和影像文件队列数据。
遥感元数据解析模块用于把不同结构的遥感影像元数据通过解析,实现格式化统一。
在一些实施例中,通过引入一致性哈希算法,建立队列数据与worker节点之间的映射关系,均衡各节点之间的数据数量,减少节点之间的数据迁移次数。
在框330,数据缓存层230将队列数据缓存在内存型缓存中,以便进一步地存储到数据存储层240中。
在框340,数据存储层240将所述队列数据存储到对应的数据库或分布式存储系统中。
在一些实施例中,数据存储层240包括MongoDB数据库以及Ceph分布式存储系统;其中,MongoDB是一个基于分布式文件存储的数据库。
在一些实施例中,MongoDB数据库用于存储非结构化的元数据,即元数据文件队列数据;Ceph分布式存储系统负责存储大规模的影像文件,即影像文件队列数据。
图4示出了根据本公开实施例的数据检索方法400的流程图。方法400可以由图1中的存储系统106执行。
在框410,交互层210接收客户端102通过PULL方式定义的通用接口提交的数据检索请求;
在一些实施例中,所述数据检索请求用于获取存储系统106中的数据,便于与其他系统集成。
在框420,服务层220接收所述数据检索请求,向缓存层230查询所述数据;
在框430,缓存层230根据所述查询请求中给定的键值查询缓存层230的内存中是否包含请求所需数据信息;
在框440,若命中缓存,则通过服务层220及交互层210返回对应的元数据文件或影像文件信息给客户端102;
在框450,若未命中在数据存储层240的对应数据库(MongoDB数据库和基于Ceph的分布式存储系统)查询所述数据;将获取的所需数据信息通过服务层220及交互层210返回对应的元数据文件或影像文件信息给客户端102,并回写至缓存层230的内存中。
在一些实施例中,若在数据存储层240的对应数据库中未能查询到所述数据,则通过服务层220及交互层210向客户端102返回查询失败的反馈信息。
根据本公开的实施例,实现了以下技术效果:
通过结合Kubernetes和Ceph的方式实现了海量遥感数据的高效存储,共享和备份。一个集群中支持数百个节点,能够支持海量数据存储,而且可以通过添加节点非常方便地扩展集群的存储容量。以元信息库聚合数据资源,底层面向不同计算(应用)模式搭建异构式存储,有效地将数据分解、将资源聚合,并对外提供统一、标准的服务,通过分布式的存储平台,实现了对于巨量、异构、递增的空间大数据的高效率存储管理。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的方法的具体工作过程,可以参考前述系统实施例中的对应描述,在此不再赘述。
图5示出了可以用来实施本公开的实施例的电子设备500的示意性框图。设备500可以用于实现图1的存储系统106。如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可以存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元501执行上文所描述的各个方法和处理,例如方法300、400。例如,在一些实施例中,方法300、400可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由CPU 501执行时,可以执行上文描述的方法300、400的一个或多个步骤。备选地,在其他实施例中,CPU501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法300、400。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种结合Kubernetes和Ceph的遥感数据存储系统,其特征在于,包括交互层、服务层、数据缓存层和数据存储层;其中,
所述交互层用于与客户端进行交互,接收客户端上传的遥感数据和/或根据用户的遥感数据查询请求提供对应的遥感数据;所述遥感数据包括元数据文件和影像文件;
所述服务层用于为客户端上传的遥感数据生成队列并通过数据缓存层分发到数据存储层;和/或根据客户端查询请求在数据缓存层及数据存储层中查询对应的遥感数据;
所述数据缓存层用于缓存所述遥感数据;
所述数据存储层包括用于在MongoDB数据库中存储所述元数据文件以及在Ceph分布式存储系统中存储所述影像文件。
2.根据权利要求1所述的系统,其特征在于,
所述交互层、所述服务层和所述数据缓存层部署于Kubernetes集群的master节点中;
所述数据存储层部署于Kubernetes集群的worker节点中。
3.根据权利要求2所述的系统,其特征在于,
所述MongoDB数据库和所述Ceph分布式存储系统分别部署于Kubernetes集群的worker节点中。
4.根据权利要求2所述的方法,其特征在于,所述服务层包括消息队列模块、任务调度模块、遥感元数据解析模块、数据库操作模块和存储操作模块。
5.根据权利要求4所述的方法,其特征在于,所述任务调度模块用于根据一致性哈希算法,建立队列数据与worker节点之间的映射关系。
6.一种结合Kubernetes和Ceph的遥感数据存储方法,应用于如权利要求1-5所述的存储系统,其特征在于,包括:
交互层接收客户端通过PUSH方式定义的通用接口提交的遥感数据;所述遥感数据包括元数据文件和影像文件;
服务层为所述遥感数据生成队列数据并通过数据缓存层分发到数据存储层;所述队列数据包括元数据文件队列数据和影像文件队列数据;
数据缓存层将队列数据缓存在内存型缓存中;
数据存储层将所述元数据文件队列数据存储到MongoDB数据库,将所述影像队列数据存储到Ceph分布式存储系统中。
7.一种结合Kubernetes和Ceph的遥感数据查询方法,应用于如权利要求1-5所述的存储系统,其特征在于,包括:
交互层接收客户端通过PULL方式定义的通用接口提交的数据检索请求;
服务层接收所述数据检索请求,向缓存层查询所述数据;
缓存层根据所述查询请求中给定的键值查询缓存层的内存中是否包含请求所需数据信息;若命中缓存,则将对应的元数据文件或影像文件信息返回给客户端;
若未命中,在数据存储层的MongoDB的分布式存储系统和基于Ceph的分布式存储系统中查询所述数据,将获取的所需数据信息返回给客户端。
8.根据权利要求7所述的方法,其特征在于,将获取的所需数据信息返回给客户端包括:
将获取的所需数据信息通过服务层及交互层返回对应的元数据文件或影像文件信息给客户端,并回写至缓存层的内存中。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求6~8中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求6~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010126255.8A CN113312345A (zh) | 2020-02-26 | 2020-02-26 | 结合Kubernetes和Ceph的遥感数据存储系统、存储及检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010126255.8A CN113312345A (zh) | 2020-02-26 | 2020-02-26 | 结合Kubernetes和Ceph的遥感数据存储系统、存储及检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312345A true CN113312345A (zh) | 2021-08-27 |
Family
ID=77370452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010126255.8A Pending CN113312345A (zh) | 2020-02-26 | 2020-02-26 | 结合Kubernetes和Ceph的遥感数据存储系统、存储及检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312345A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114361A (zh) * | 2022-06-25 | 2022-09-27 | 上海道客网络科技有限公司 | 一种基于容器云平台统一接口的资源检索方法和系统 |
CN116303809A (zh) * | 2022-11-29 | 2023-06-23 | 自然资源部国土卫星遥感应用中心 | 一种卫星影像数据管理方法及管理系统 |
-
2020
- 2020-02-26 CN CN202010126255.8A patent/CN113312345A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114361A (zh) * | 2022-06-25 | 2022-09-27 | 上海道客网络科技有限公司 | 一种基于容器云平台统一接口的资源检索方法和系统 |
CN115114361B (zh) * | 2022-06-25 | 2023-07-07 | 上海道客网络科技有限公司 | 一种基于容器云平台统一接口的资源检索方法和系统 |
CN116303809A (zh) * | 2022-11-29 | 2023-06-23 | 自然资源部国土卫星遥感应用中心 | 一种卫星影像数据管理方法及管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157478B2 (en) | Technique of comprehensively support autonomous JSON document object (AJD) cloud service | |
US20200301947A1 (en) | System and method to improve data synchronization and integration of heterogeneous databases distributed across enterprise and cloud using bi-directional transactional bus of asynchronous change data system | |
US10565199B2 (en) | Massively parallel processing database middleware connector | |
JP6416194B2 (ja) | 半構造データのためのスケーラブルな分析プラットフォーム | |
CN100518131C (zh) | 网格数据副本管理系统 | |
US20120011144A1 (en) | Aggregation in parallel computation environments with shared memory | |
US10877810B2 (en) | Object storage system with metadata operation priority processing | |
CN104239572A (zh) | 基于分布式缓存实现元数据分析的系统及方法 | |
CN107066546B (zh) | 一种基于mpp引擎的跨数据中心快速查询方法和系统 | |
EP2469423B1 (en) | Aggregation in parallel computation environments with shared memory | |
Im et al. | Pinot: Realtime olap for 530 million users | |
CN112084206A (zh) | 数据库的事务请求处理方法、相关设备及存储介质 | |
EP3470992B1 (en) | Efficient storage and utilization of a hierarchical data set | |
CN116108057B (zh) | 一种分布式数据库访问方法、装置、设备及存储介质 | |
CN113312345A (zh) | 结合Kubernetes和Ceph的遥感数据存储系统、存储及检索方法 | |
CN111966692A (zh) | 针对数据仓库的数据处理方法、介质、装置和计算设备 | |
CN112181950B (zh) | 一种分布式对象数据库的构建方法 | |
US11609934B2 (en) | Notification framework for document store | |
US20220222080A1 (en) | Queuing System | |
KR101694301B1 (ko) | 스토리지 시스템의 파일 처리 방법 및 그 방법에 따른 데이터 서버 | |
KR101629395B1 (ko) | 데이터 분석 장치, 데이터 분석 방법 및 데이터를 분석하는 프로그램을 저장하는 저장매체 | |
CN113656370A (zh) | 电力量测系统数据处理方法、装置和计算机设备 | |
Marcu et al. | Virtual log-structured storage for high-performance streaming | |
US11995084B1 (en) | Database system for querying time-series data stored in a tiered storage using a cloud platform | |
Huang et al. | Ceds: Center-edge collaborative data service for mobile iot data management |
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 |