一种基于球面网格遥感数据文件集的键值存储方法及装置与流程

文档序号:18739426发布日期:2019-09-21 01:36阅读:167来源:国知局
一种基于球面网格遥感数据文件集的键值存储方法及装置与流程

本发明涉及数据处理技术领域,具体涉及一种基于球面网格遥感数据文件集的键值存储方法及装置。



背景技术:

遥感技术在国民经济、国防军事以及生态保护等很多领域获得了广泛的应用,例如气象观测、地图测绘、军事侦查和生态状况评估等。

随着遥感技术的广泛应用,利用遥感卫星、飞机等飞行器获得了大量的遥感数量,且遥感数据种类繁多且格式不统一。现有技术中,对接收到的遥感数据直接存储,由于单个遥感数据的源文件较大,导致存储效率低下。此外,遥感数据的源文件经过分析后,通常是根据遥感数据的通道和遥感数据产生的时间对存储的遥感数据文件进行命名,并且将该文件名用做遥感数据查询过程的关键字段,不利于对遥感数据的计算和分析时对遥感数据的访问。

因此,如何提出一种遥感数据存储方法,能够快速进行遥感数据的存储,以提高遥感数据的存储效率成为业界亟待解决的重要课题。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种基于球面网格遥感数据文件集的键值存储方法及装置。

一方面,本发明提出一种基于球面网格遥感数据文件集的键值存储方法,包括:

获取每个遥感数据源文件的文件名和文件大小,并根据所述文件名确定所述遥感数据源文件的数据格式;

根据所述数据格式调用与所述数据格式对应的剖分处理函数解析所述遥感数据源文件中的遥感数据;

若判断获知所述文件大小大于阈值,则根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中。

进一步地,所述方法还包括,若判断获知所述文件大小小于等于阈值,则将解析后的所述遥感数据源文件的遥感数据按照预设存储格式存储到数据库中。

进一步地,所述根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中包括:

根据正多面体球面网格剖分方法将所述遥感数据源文件的遥感数据拆分成多个分块遥感数据,多个所述分块遥感数据连续存放,且每个所述分块遥感数据与所述遥感数据源文件的部分连续的遥感数据对应,每个所述分块遥感数据的大小不超过预设值。

进一步地,所述方法还包括,利用填充曲线编码对所述分块遥感数据进行编码,使每个所述分块遥感数据获得唯一的编码,以所述分块遥感数据的编码作为所述分块遥感数据的访问标识,各个所述分块遥感数据的访问标识构成索引;其中,以所述索引作为键,以所述分块遥感数据的访问标识作为值,将所述键和所述值储存到所述数据库中。

进一步地,所述方法还包括,接收对遥感数据的访问请求,所述访问请求包括至少一个所述索引字段;

根据所述索引字段在所述索引中查找到与所述索引字段对应的分块遥感数据的访问标识;其中,所述索引字段与所述访问标识的对应关系是预设的;

根据各个所述分块遥感数据的访问标识,获取所述索引字段对应的遥感数据。

进一步地,所述方法还包括,在接收所述遥感数据源文件时,建立所述遥感数据源文件的接收时刻表。

另一方面,本发明提供一种基于球面网格遥感数据文件集的键值存储装置,包括:

获取单元,用于获取每个遥感数据源文件的文件名和文件大小,并根据所述文件名确定所述遥感数据源文件的数据格式;

调用单元,用于根据所述数据格式调用与所述数据格式对应的剖分处理函数解析所述遥感数据源文件中的遥感数据;

第一存储单元,用于若判断获知所述文件大小大于阈值,则根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中。

进一步地,所述装置还包括,第二存储单元,用于若判断获知所述文件大小小于等于阈值,则将解析后的所述遥感数据源文件的遥感数据按照预设存储格式存储到数据库中。

再一方面,本发明提供一种电子设备,包括:处理器、存储器和通信总线,其中:

所述处理器和所述存储器通过所述通信总线完成相互间的通信;

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述各实施例提供的基于球面网格遥感数据文件集的键值存储方法。

又一方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如上述各实施例提供的基于球面网格遥感数据文件集的键值存储方法。

本发明提供的基于球面网格遥感数据文件集的键值存储方法及装置,由于能够获取每个遥感数据源文件的文件名和文件大小,并根据文件名确定遥感数据源文件的数据格式,然后根据数据格式调用与数据格式对应的剖分处理函数解析遥感数据源文件中的遥感数据,在判断获知文件大小大于阈值之后,根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中,提高了遥感数据的存储效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例基于球面网格遥感数据文件集的键值存储方法的流程示意图;

图2为本发明另一实施例基于球面网格遥感数据文件集的键值存储方法的流程示意图;

图3为本发明一实施例基于球面网格遥感数据文件集的键值存储装置的结构示意图;

图4为本发明另一实施例基于球面网格遥感数据文件集的键值存储装置的结构示意图;

图5为本发明一实施例电子设备的实体结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明一实施例基于球面网格遥感数据文件集的键值存储方法的流程示意图,如图1所示,本发明提供的基于球面网格遥感数据文件集的键值存储方法,包括:

S101、获取每个遥感数据源文件的文件名和文件大小,并根据所述文件名确定所述遥感数据源文件的数据格式;

具体地,基于球面网格遥感数据文件集的键值存储装置(以下简称存储装置)在接收来自遥感卫星、飞机等飞行器的遥感数据时,可以获得每个遥感数据源文件的文件名和文件大小。所述存储装置通过解析所述文件名,可以获得所述遥感数据源文件的数据格式。

S102、根据所述数据格式调用与所述数据格式对应的剖分处理函数解析所述遥感数据源文件中的遥感数据;

具体地,所述存储装置在获得所述遥感数据源文件的数据格式之后,根据所述数据格式调用与所述数据格式对应的剖分处理函数,对所述遥感数据源文件中的遥感数据进行解析。其中,所述剖分处理函数是预设的。

S103、若判断获知所述文件大小大于阈值,则根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中。

具体地,所述存储装置将所述文件大小与所述阈值进行比较,如果所述文件大小大于所述阈值,那么根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据进行拆分,然后按照预设存储格式存储到数据库中,最终所述文件大小大于所述阈值的每个所述遥感数据源文件中的遥感数据都被拆分成分块遥感数据,并且每个所述分块遥感数据都有对应的访问标识。

其中,所述预设存储格式根据实际经验进行设置,本发明实施例不做限定。

其中,所述数据库可以是对等分布式数据库,所述对等分布式数据库是采用P2P网络的分布式数据库,因为其没有主节点与从节点的区别,因此具有可靠性高、存取效率高的特点。

本发明提供的基于球面网格遥感数据文件集的键值存储方法,由于能够获取每个遥感数据源文件的文件名和文件大小,并根据文件名确定遥感数据源文件的数据格式,然后根据数据格式调用与数据格式对应的剖分处理函数解析遥感数据源文件中的遥感数据,在判断获知文件大小大于阈值之后,根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中,提高了遥感数据的存储效率。

在上述各实施例的基础上,进一步地,本发明提供的基于球面网格遥感数据文件集的键值存储方法还包括:

若判断获知所述文件大小小于等于阈值,则将解析后的所述遥感数据源文件的遥感数据按照所述预设存储格式存储到所述数据库中。

具体地,所述存储装置将所述文件大小与所述阈值进行比较,如果所述文件大小小于等于所述阈值,那么所述存储装置将解析所述遥感数据源文件后获得的遥感数据按照所述预设存储格式存储到数据库中,而无需将所述遥感数据源文件进行拆分。

在上述各实施例的基础上,进一步地,所述根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分成数据块存储到数据库中包括:

根据正多面体球面网格剖分方法将所述遥感数据源文件的遥感数据拆分成多个分块遥感数据,多个所述分块遥感数据连续存放,且每个所述分块遥感数据与所述遥感数据源文件的部分连续的遥感数据对应,每个所述分块遥感数据的大小不超过预设值。

具体地,网格剖分是采用统一的方法从粗粒度的父网格产生一组细粒度的子网格,形成网格间的树形层级结构,从而将多面体表面划分为多分辨率的离散网格集合。本发明实施例采用的正多面体球面网格剖分方法,例如为HTM球面分层三角网格剖分方法,采用四叉树的思想对球面网格不断四分,并用大圆弧连接形成了多分辨率的层次三角网格结构,每次剖分过程中尽量保持了三角网格单元的面积和形状的不变性,并且递归性的多分辨率结构使得HTM球面三角网格能够支持不均匀分布数据的统一组织。

所述存储装置根据正多面体球面网格剖分方法,可以将所述遥感数据源文件的遥感数据拆分成多个分块遥感数据。在储存各个所述分块遥感数据时,将各个所述分块遥感数据连续存放,并且每个所述分块遥感数据都是连续的数据,即所述分块遥感数据是来自于所述遥感数据源文件中的部分连续的遥感数据,所述分块遥感数据与所述遥感数据源文件的所述部分连续的遥感数据对应,每个所述分块遥感数据的大小不超过预设值。其中,所述预设值根据实际经验进行设置,本发明实施例不做限定。

在上述各实施例的基础上,进一步地,本发明提供的基于球面网格遥感数据文件集的键值存储方法还包括:

利用填充曲线编码对所述分块遥感数据进行编码,使每个所述分块遥感数据获得唯一的编码,以所述分块遥感数据的编码作为所述分块遥感数据的访问标识,各个所述分块遥感数据的访问标识构成索引;其中,以所述索引作为键,以所述分块遥感数据的访问标识作为值,将所述键和所述值储存到所述数据库中。

具体地,所述存储装置在获得所述分块遥感数据之后,利用填充曲线编码,例如Hilbert曲线编码,对所述分块遥感数据进行编码,经过编码之后,每个所述分块遥感数据获得唯一的编码,即所述分块遥感数据与所述编码一一对应,并以所述分块遥感数据的编码作为所述分块遥感数据的访问标识,各个所述分块遥感数据的访问标识构成索引。其中,以所述索引作为键,以所述分块遥感数据的访问标识作为值,将所述键和所述值储存到所述数据库中。

图2为本发明另一实施例基于球面网格遥感数据文件集的键值存储方法的流程示意图,如图2所示,在上述各实施例的基础上,进一步地,本发明提供的基于球面网格遥感数据文件集的键值存储方法还包括:

S201、接收对遥感数据的访问请求,所述访问请求包括至少一个所述索引字段;

具体地,服务器可以向所述存储装置发送对遥感数据的访问请求,所述存储装置可以接收所述访问请求,所述访问请求包括至少一个所述索引字段。其中,所述索引字段包括但不限于名称、编号和标识等。

S202、根据所述索引字段在所述索引中查找到与所述索引字段对应的分块遥感数据的访问标识;其中,所述索引字段与所述访问标识的对应关系是预设的;

具体地,所述存储装置在接收到所述访问请求之后,根据所述索引字段在所述索引中查找所述索引字段,并查找到与所述索引字段对应的分块遥感数据的访问标识。其中,所述索引字段与所述访问标识的对应关系是预设。

S203、根据各个所述分块遥感数据的访问标识,获取所述索引字段对应的遥感数据。

具体地,所述存储装置在获得所述索引字段对应的分块遥感数据的访问标识之后,根据各个所述分块遥感数据的访问标识可以查找到各自对应所述分块遥感数据,查找到的各个所述分块遥感数据即所述索引字段对应的遥感数据。所述存储装置可以获取所述索引字段对应的遥感数据,并将所述索引字段对应的遥感数据发送给所述服务器。其中,所述索引字段与所述访问标识的对应关系是预设。

在上述各实施例的基础上,进一步地,在上述各实施例的基础上,进一步地,本发明提供的基于球面网格遥感数据文件集的键值存储方法还包括:

在接收所述遥感数据源文件时,建立所述遥感数据源文件的接收时刻表。

具体地,所述存储装置在接收所述遥感数据源文件时,可以记录接收到的每个所述遥感数据源文件的时刻,上述时刻即接收时刻,将每个所述遥感数据源文件的文件名与其接收时刻对应储存。所述存储装置根据各个所述遥感数据源文件的文件名与各自对应的接收时刻建立所述遥感数据源文件的接收时刻表。

图3为本发明一实施例基于球面网格遥感数据文件集的键值存储装置的结构示意图,如图3所示,本发明提供的基于球面网格遥感数据文件集的键值存储装置包括获取单元301、调用单元302和第一存储单元303,其中:

获取单元301用于获取每个遥感数据源文件的文件名和文件大小,并根据所述文件名确定所述遥感数据源文件的数据格式;调用单元302用于根据所述数据格式调用与所述数据格式对应的剖分处理函数解析所述遥感数据源文件中的遥感数据;第一存储单元303用于若判断获知所述文件大小大于阈值,则根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中。

具体地,获取单元301在接收来自遥感卫星、飞机等飞行器的遥感数据时,可以获得每个遥感数据源文件的文件名和文件大小。获取单元301通过解析所述文件名,可以获得所述遥感数据源文件的数据格式。

调用单元302在获得所述遥感数据源文件的数据格式之后,根据所述数据格式调用与所述数据格式对应的剖分处理函数,对所述遥感数据源文件中的遥感数据进行解析。其中,所述剖分处理函数是预设的。

第一存储单元303将所述文件大小与所述阈值进行比较,如果所述文件大小大于所述阈值,那么第一存储单元303将根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据拆分,然后按照预设存储格式存储到数据库中,最终所述文件大小大于所述阈值的每个所述遥感数据源文件中的遥感数据都被拆分成分块遥感数据,并且每个所述分块遥感数据都有对应的访问标识。其中,所述预设存储格式根据实际经验进行设置,本发明实施例不做限定。其中,所述数据库可以是对等分布式数据库。

本发明提供的基于球面网格遥感数据文件集的键值存储装置,由于能够获取每个遥感数据源文件的文件名和文件大小,并根据文件名确定遥感数据源文件的数据格式,然后根据数据格式调用与数据格式对应的剖分处理函数解析遥感数据源文件中的遥感数据,在判断获知文件大小大于阈值之后,根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中,提高了遥感数据的存储效率。

图4为本发明另一实施例基于球面网格遥感数据文件集的键值存储装置的结构示意图,如图4所示,本发明提供的基于球面网格遥感数据文件集的键值存储装置还包括第二存储单元304,其中:

第二存储单元304用于若判断获知所述文件大小小于等于阈值,则将解析后的所述遥感数据源文件的遥感数据按照预设存储格式存储到数据库中。

具体地,第二存储单元304将所述文件大小与所述阈值进行比较,如果所述文件大小小于等于所述阈值,那么第二存储单元304将解析所述遥感数据源文件后获得的遥感数据按照所述预设存储格式存储到数据库中,而无需将所述遥感数据源文件进行拆分。

本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

图5为本发明一实施例电子设备的实体结构示意图,如图5所示,所述电子设备包括处理器(processor)501、存储器(memory)502和通信总线503;

其中,处理器501、存储器502通过通信总线503完成相互间的通信;

处理器501用于调用存储器502中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取每个遥感数据源文件的文件名和文件大小,并根据所述文件名确定所述遥感数据源文件的数据格式;根据所述数据格式调用与所述数据格式对应的剖分处理函数解析所述遥感数据源文件中的遥感数据;若判断获知所述文件大小大于阈值,则根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取每个遥感数据源文件的文件名和文件大小,并根据所述文件名确定所述遥感数据源文件的数据格式;根据所述数据格式调用与所述数据格式对应的剖分处理函数解析所述遥感数据源文件中的遥感数据;若判断获知所述文件大小大于阈值,则根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取每个遥感数据源文件的文件名和文件大小,并根据所述文件名确定所述遥感数据源文件的数据格式;根据所述数据格式调用与所述数据格式对应的剖分处理函数解析所述遥感数据源文件中的遥感数据;若判断获知所述文件大小大于阈值,则根据正多面体球面网格剖分方法将解析后的所述遥感数据源文件的遥感数据按照预设存储格式拆分存储到数据库中。

此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,装置,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1