CN113946572A - 气象数据存储、查询方法及装置 - Google Patents
气象数据存储、查询方法及装置 Download PDFInfo
- Publication number
- CN113946572A CN113946572A CN202010680067.XA CN202010680067A CN113946572A CN 113946572 A CN113946572 A CN 113946572A CN 202010680067 A CN202010680067 A CN 202010680067A CN 113946572 A CN113946572 A CN 113946572A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- weather
- database
- meteorological
- 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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- 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/2264—Multidimensional index structures
-
- 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/2474—Sequence data queries, e.g. querying versioned data
-
- 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/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种气象数据存储、查询方法及装置。该气象数据查询方法包括:获取多项气象服务数据,其中,每项气象服务数据包括时间数据项、空间数据项以及至少一个气象要素;将气象服务数据进行数据项压缩;将数据项压缩后的气象服务数据存入数据库;其中,数据项压缩包括时间压缩或空间压缩。该气象数据查询方法通过采用数据项压缩,将某个时间点或空间点数据压缩成为一条数据存储,通过加长字段长度的方式减少数据库存储条数,极大提高了数据库的读写效率。
Description
技术领域
本发明的实施例涉及一种气象数据存储、查询方法及装置。
背景技术
气象数据是生活中不可缺少的一种数据信息,需要对气象数据进行处理,得到对人们生产生活产生影响的气象数据信息。气象数据不仅在日常生活承担非常重要的作用,也为航空、民生等多个领域提供多种类型气象服务,例如大风预报、台风预报、高空温度预报等。
发明内容
本发明的至少一个实施例提供了一种气象数据存储方法,该方法包括:获取多项气象服务数据,每项所述气象服务数据包括时间数据项、空间数据项以及至少一个气象要素;将所述气象服务数据进行数据项压缩;将数据项压缩后的气象服务数据存入数据库;所述数据项压缩包括时间压缩或空间压缩。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,所述数据库包括用于存储所述气象服务数据的非关系型数据库。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,将所述数据项压缩后的气象服务数据存入所述数据库包括:基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,将所述索引值和所述至少一个气象要素存入所述数据库,所述数据库的索引值包括时间维度数据和空间维度数据,所述空间维度数据基于所述空间数据项,所述时间维度数据基于所述时间数据项。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,所述时间压缩包括:当所述时间数据项包括起报时间时,将所述多项气象服务数据中具有相同空间数据项和相同起报时间的第一数量的气象服务数据合并为同一条新的气象服务数据;当所述时间数据项包括实况时间时,将所述多项气象服务数据中具有相同空间数据项的第一数量的气象服务数据合并为同一条新的气象服务数据;所述第一数量大于1。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,将所述第一数量的气象服务数据合并为同一条新的气象服务数据,包括:按照时间的先后顺序将所述第一数量的气象服务数据的气象要素分别依次进行拼接,以得到所述同一条新的气象服务数据。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,所述数据库索引值中的空间维度数据包括经度和纬度,所述空间数据项包括经度、纬度和高度,所述多项气象服务数据中的第二数量的气象服务数据的气象要素包括第一类气象要素且具有相同经度和纬度、相同时间维度数据,所述第二数量大于1,所述第二数量的气象服务数据的第一类气象要素在所述相同经度和纬度下具有对应不同高度的不同数据,所述空间压缩包括:根据所述第二数量的气象服务数据中每个的所述第一类气象要素,分别创建带有所述不同高度标记的新要素;将所述第二数量的气象服务数据合并为同一条新的气象服务数据数据,其中,合并得到的所述同一条新的气象服务数据包括根据所述第二数量的气象服务数据中每个创建的新要素。
例如,在本发明至少一个实施例提供的一种气象数据存储方法还包括:所述数据项压缩包括所述时间压缩和所述空间压缩。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,包括:将所述空间数据项转换为网格序号,以作为所述数据库索引值中的空间维度数据,所述网格序号包括经度序号、纬度序号和/或高度序号;和/或将所述时间数据项转换为时间序号,以作为所述数据库索引值中的时间维度数据,所述时间序号包括起报时间序号和/或有效时间序号。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,包括:将所述空间数据项转换为空间数值,以作为所述数据库索引值中的空间维度数据,所述空间数值包括经度数值、纬度数值和/或高度数值;和/或将所述时间数据项转换为时间数值,以作为所述数据库索引值中的时间维度数据,所述时间数值包括起报时间数值和/或有效时间数值。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,包括:将所述空间数据项转换为网格序号,以作为所述数据库索引值中的空间维度数据,所述网格序号包括经度序号、纬度序号和/或高度序号;以及,将所述时间数据项转换为时间数值,以作为所述数据库索引值中的时间维度数据,所述时间数值包括起报时间数值和/或有效时间数值;或者将所述空间数据项转换为空间数值,以作为所述数据库索引值中的空间维度数据,其中,所述空间数值包括经度数值、纬度数值和/或高度数值;以及将所述时间数据项转换为时间序号,以作为所述数据库索引值中的时间维度数据,其中,所述时间序号包括起报时间序号和/或有效时间序号。例如,在本公开至少一个实施例提供的一种气象数据存储方法中,基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,包括:将所述时间数据项和所述空间数据项拼接构成位置辨识标签,以作为所述数据库索引值。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,将所述时间数据项和所述空间数据项拼接构成位置辨识标签,包括:将所述时间数据项和所述空间数据项排列组合并用连接字符连接,以构成字符串,由此得到所述位置辨识标签。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,将所述数据项压缩后的气象服务数据存入所述数据库之前,还包括:对所述数据项压缩后的气象服务数据进一步进行数据空间压缩,将所述数据项压缩后的气象服务数据存入数据库包括:将所述数据空间压缩后的气象服务数据被存入所述数据库。
例如,在本公开至少一个实施例提供的一种气象数据存储方法中,所述数据空间压缩包括:将所述气象服务数据中的气象要素压缩为短字符串,存入数据库。
本发明的至少一个实施例还提供了一种气象数据查询方法,该方法包括:接收气象数据查询请求,所述查询请求包括时间请求和/或空间请求;根据所述查询请求以及数据库的索引值类型,生成查询键;根据所述查询键查询所述数据库,从所述数据库获得与所述查询键相对应存储的气象服务数据;所述气象服务数据包括时间数据项、空间数据项以及至少一个气象要素,所述气象服务数据按照数据项压缩后存入所述数据库,所述数据项压缩包括时间压缩或空间压缩。
例如,在本公开至少一个实施例提供的一种气象数据查询方法中,所述数据库的索引值包括时间维度数据和空间维度数据,所述数据库索引值包括序号形式,所述生成查询键包括:当所述数据库索引值的时间维度数据包括时间序号时,查找所述时间请求最邻近时间点对应的时间序号,将所述时间序号作为所述查询键的时间信息,生成对应查询键;或当所述数据库索引值的空间维度数据包括网格序号时,查找所述空间请求最邻近空间点对应的网格序号,将所述网格序号最作为所述查询键的空间信息,生成对应查询键。
例如,在本公开至少一个实施例提供的一种气象数据查询方法中,所述数据库的索引值包括时间维度数据和空间维度数据,所述数据库索引包括数值形式,所述生成查询键包括:当所述数据库索引值的时间维度数据包括时间数值时,将所述时间请求根据所述数据库索引精度处理为预定精度,作为所述查询键的时间信息,生成对应查询键;或当所述数据库索引值的空间维度数据包括空间数值时,将所述空间请求根据所述数据库索引精度处理为预定精度,作为所述查询键的空间信息,生成对应查询键。
例如,在本公开至少一个实施例提供的一种气象数据查询方法中,所述数据库索引为位置辨识标签,所述生成查询键包括:将所述空间请求和/或时间请求排列并用连接字符连接,使用与生成所述位置辨识标签相同的方式拼接构成字符串,以所述字符串生成对应查询键。
例如,在本公开至少一个实施例提供的一种气象数据查询方法中,在所述接收气象数据查询请求后,还包括:根据用于所述数据库的多个接口服务器的用户访问流量,将所述气象数据查询请求分发至所述用户访问流量非最大的数据接口服务器。
例如,在本公开至少一个实施例提供的一种气象数据查询方法中,所述气象服务数据是经数据空间压缩的,所述获得与所述查询键相对应存储的气象服务数据,包括:将数据空间压缩后的气象服务数据解压缩,获得数据空间压缩前的气象服务数据。
本发明的至少一个实施例提供了一种气象数据存储装置,该气象数据存储装置包括处理器和存储器,该存储器上存储有计算机程序,所述计算机程序被所述处理器运行时可以执行根据本发明至少一实施例的气象数据存储方法。
本发明的至少一个实施例提供了一种气象数据查询装置,该气象数据查询装置包括处理器和存储器,该存储器上存储有计算机程序,所述计算机程序被所述处理器运行时可以执行根据本发明至少一实施例的气象数据查询方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。
图1为根据本公开至少一个实施例提供的气象数据存储方法示例流程图;
图2为根据本公开至少一个实施例提供的气象数据时间压缩存储方法的示例流程图;
图3为根据本公开至少一个实施例提供的气象数据空间压缩存储的方法示例流程图;
图4为根据本公开至少一个实施例的水平空间网格序号映射方法的示例图;
图5为本公开至少一个实施例提供的一种气象数据查询方法的示例流程图;
图6示出了本公开至少一实施例提供的一种气象数据存储、查询系统的架构的示意性框图;
图7示出了本公开至少一实施例提供的一种气象数据存储装置的示意性框图;
图8示出了本公开的至少一个实施例提供的气象数据存储、查询系统的示例性的场景图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性连接或信号连接,不管是直接的还是间接的。
以下通过几个示例或实施例对根据本公开的至少一个实施例提供的气象数据存储方法进行非限制性的说明,如下面所描述的,在不相互抵触的情况下这些具体示例或实施例中不同特征可以相互组合,从而得到新的示例或实施例,这些新的示例或实施例也都属于本公开保护的范围。
需要说明的是,本公开的描述中,数据库索引指代数据库的索引结构,数据库索引值指代每条数据库记录中存储的索引数值。例如,数据库索引包括时间维度和空间维度,对应地数据库索引值包括时间维度数据和空间维度数据。
利用气象数据为用户提供服务包括四个处理层:数据采集层、逻辑处理层、IT处理层以及前端应用层。其中,数据采集层通过多种渠道获取气象原始数据,例如原始的预报数据、实况数据、航空专业报文等;逻辑处理层将得到的多种气象原始数据加工处理为适于实用的气象服务数据,例如通过算法加工,将风相关数据加工为颠簸数据,将整层大气的湿度、温度数据按照排布特点加工为对流强度数据等;IT处理层将处理得到的气象服务数据进行存储,并按相应数据接口分发;前端应用层构建相关服务数据载体,为用户提供查询、分析接口,并通过可视化界面进行数据展示。
目前,常用的气象数据存储结构如表1所示。在该数据存储结构中,每条数据具有一个经度、纬度、高度、起报时间以及有效时间,其中经度、纬度、高度、起报时间以及有效时间为数据库索引,表征该条记录为空间中某一点、某一时刻的气象数据;气象数据中的时间信息以及位置信息存入索引值对应位置,气象数据中的一个或多个气象要素存入数据库索引值相对应的值处。例如,该条数据库记录为空间位置为纬度116.24°,经度23.58°,高度1000米,起报时间为2020年5月28日零时,有效时间为2020年5月28日16时的气象服务数据,气象要素包括温度、相对湿度、降水量等。例如,这里高度是指代“海拔高度”,其数值单位可以为米,有时也可以使用气压(例如hPa)等。
表1气象数据在数据库中存储的一种典型存储结构
但是,对于预报数据等气象数据,其表征的是未来不同时间点的数据,且其又是一个网格化的数据集,例如,对于共有10.5亿个数据点的情形,每天更新4次,每日的总数据量在42亿左右。如果按照传统方法存储会导致数据库条数激增,对于数据库的查询和存储都带来了极大的挑战。
本公开至少一个实施例提供一种气象数据存储方法,包括:获取多项气象服务数据,其中,每项所述气象服务数据包括时间数据项、空间数据项以及至少一个气象要素;将所述气象服务数据进行数据项压缩;将数据项压缩的气象服务数据存入数据库;所述数据项压缩包括时间压缩或空间压缩。
本公开至少一实施例还提供对应于上述气象数据存储方法的气象数据存储装置。
本公开上述实施例提供的气象数据存储方法通过对数据进行数据项压缩存储,将某个时间点或空间点数据压缩成为一条数据存储,通过加长字段长度的方式减少数据库存储条数,极大提高了数据库的读写效率。
下面结合附图对本公开的多个实施例进行详细说明。
图1是根据本公开至少一个实施例提供的气象数据存储方法示例流程图。本公开至少一个实施例提供的气象数据存储方法可以应用于航路气象数据存储等场景中,例如,用于航路气象预报。
如图1所示,根据本公开实施例的气象数据存储方法包括步骤S101~S103。
首先,在步骤S101,获取多项气象服务数据。每项气象服务数据包括时间数据项、空间数据项以及至少一个气象要素。
例如,将采集得到的原始气象数据进行处理、解析后生成气象服务数据,该气象服务数据包括预报数据、格点实况数据、航空专业报文、气象卫星数据、气象雷达数据等任一,或这些数据的任意组合所得到的组合数据。例如,航空专业报文包括机场气象报告(METAR)数据、特殊天气报告(SPECI)、终端机场天气预报(TAF)等。
气象服务数据中的空间数据项用于指示所述气象服务数据的空间位置(或地理位置),时间数据项用于指示所述气象服务数据对应的时间。气象要素包括经过加工处理后的大气温度、相对湿度、降水量、风向、风速等数据中一个或多个,本公开的实施例对于气象要素的构成不做限制。
在步骤S102,将气象服务数据进行数据项压缩。所进行的数据项压缩包括时间压缩或空间压缩。
在步骤S103,将数据项压缩后的气象服务数据存入数据库。
例如,在至少一个示例中,将数据项压缩后的气象服务数据存入数据库包括:基于时间数据项和空间数据项,创建气象服务数据在数据库的索引值,将索引值和至少一个气象要素存入数据库。数据库的索引值包括时间维度数据和空间维度数据,时间维度数据基于时间数据项,空间维度数据基于空间数据项。也就是说,将气象服务数据中的时间数据项和空间数据项按照索引类型转换为相应形式存入对应的索引值处。
例如,当气象服务数据为预报数据时,时间维度包括起报时间和有效时间,其中起报时间为预报开始时间,有效时间也称预报时间,即这条气象数据所对应的时间;空间维度为这条气象数据所处基于网格的地理位置信息,包括经度、纬度以及高度。例如,高度为海拔高度,单位为米。
例如,当气象服务数据为实况数据时,空间维度包括经度、纬度以及高度,但因实况数据表征某一时间的天气状况,不含预报属性,因而时间维度仅包括时间。
例如,上述步骤中提到的数据库包括用于存储气象服务数据的非关系型数据库。例如,在本公开一些实施例中,采用MongoDB数据库或其他非关系型数据库,例如Redis、Membase等,以应对大量数据的存储及大规模访问,本公开的实施例对此不作限制。
下面以示例的方式结合附图详细说明本公开所提供的气象数据存储方法。
图2是根据本公开至少一个实施例提供的气象数据时间压缩存储方法的示例流程图,该方法包括步骤S201~S202。
步骤S201,将所述第一数量的气象服务数据的气象要素按时间的先后顺序拼接。
步骤S202,将气象要素拼接后的第一数量的气象服务数据合并为同一条新的气象服务数据。
例如,在本公开的至少一实施例中,气象服务数据为预报数据,数据项压缩采用时间压缩时,设置数据库索引的时间维度为起报时间,不含有效时间。将气象服务数据的空间数据按索引类型转换,以作为数据库索引值的空间维度数据,将时间数据项的起报时间按索引类型转换,以作为数据库索引值的时间维度数据。将相同空间点并且起报时间相同的第一数量的气象服务数据的气象要素按时间的先后顺序拼接,得到一条包含时间维度数据、空间维度数据以及拼接后气象要素的新的气象服务数据。
例如,在本公开的至少一实施例中,气象服务数据为实况数据,既可按照传统数据库存储结构逐条存入实况数据,也可将多条不同时间的实况数据合并存储为一条数据库记录。当对多条实况数据合并存储为一条数据库记录时,设置数据库索引不包含时间维度,将气象服务数据的空间数据按索引类型转换,以作为数据库索引值的空间维度数据。将相同空间点的第一数量的气象服务数据的气象要素按时间的先后顺序拼接,得到一条包含空间维度数据以及拼接后气象要素的新的气象服务数据。也就是说,本公开适用于时间层面压缩的数据集中存发,包括但不限于预报数据。
这里,“第一数量”用于指代要进行时间压缩的气象服务数据的数量。例如,第一数量指代当前被处理的具有相同空间点并且起报时间相同的气象服务数据的数量或具有相同空间点的气象服务数据的数量,该第一数量大于1(如果等于1,那么不需要进行压缩)且小于或等于全部气象服务数据的数量,例如,满足前述时间压缩条件的气象服务数据可以为全部气象服务数据或部分气象服务数据。
可替换的,气象要素拼接方式包括多种多样,例如通过字符串拼接或采用固定方式分隔等,本公开对此不作限制。
通过气象要素拼接使得多条数据库记录合并为一条,生成同一条新的气象服务数据。例如,如果某一个预报数据包括120个有效时间数据,则采用时间压缩存储使得数据条数减少了120倍,极大提升了数据存储效率。
表2为根据本公开实施例的采用时间压缩存储方法的数据库存储结构的一个示例。如表2所示,去除有效时间这个维度,将空间维度数据23.58、116.24和1000分别存入经度、纬度和高度(高度的单位为米)处,时间维度数据2020052800(即2020年05月28日00时)存入起报时间处。将多项气象服务数据中具有相同空间维度数据和相同起报时间的气象服务数据合并为同一条新的气象服务数据,以温度和相对湿度要素为例具体说明。例如,多个有效时间的温度数据分别为10、11、13、25、16、11…,将这些有效时间的温度数据按照时间先后顺序以逗号连接在一起构成数据库记录中的温度要素,也即“温度:10,11,13,25,16,11…”;同理,将多个有效时间的相对湿度数据85、86、83、70…,按照相同的时间顺序以逗号连接在一起构成数据库记录中的相对湿度要素,也即“相对湿度:85,86,83,70…”。
表2采用时间压缩存储方法的数据库存储结构
根据本公开实施例的时间压缩存储方法,通过将预报数据进行时间维度压缩,将某一个空间点上的多个时间点的气象数据压缩成为1条数据进行存储,达到减少数据库存储条数,提高数据库效率的目的。
图3是根据本公开至少一个实施例提供的气象数据空间压缩存储方法的示例流程图,该方法包括步骤S301~S302。
步骤S301,根据第二数量的气象服务数据中每个的第一类气象要素,分别创建带有高度标记的新要素。
例如,在本公开的至少一实施例中,设置数据库索引的空间维度为经度和纬度,但不包含高度。气象服务数据中的气象要素包括第一类气象要素。这里,第一类气象要素涉及在同一经度、同一纬度下存在于不同高度的气象要素,例如积冰等,例如在不同高度层具有不同的数据。也即,在全部气象服务数据中至少部分针对同一经度、同一纬度,但是对应于不同高度,且都具有某个第一类气象要素,那么可以对于这部分气象服务数据进行空间压缩。
这里,“第二数量”用于指代要进行空间压缩的气象服务数据的数量。例如,第二数量指代当前被处理的具有相同经度、纬度以及相同时间维度数据且具有相同第一类气象要素(例如积冰)的气象服务数据的数量,该第二数量大于1(如果等于1,那么不需要进行压缩)且小于或等于全部气象服务数据的数量,例如也即满足前述空间压缩条件的气象服务数据可以为全部气象服务数据或部分气象服务数据。
在一些示例中,以第一类气象要素中的积冰要素为例具体说明新要素创建方法。积冰在不同高度上均有数据,例如600米处积冰数据、900米处积冰数据、1200米处积冰数据等。空间压缩之前,三条气象服务数据分别具有高度分别为600米、900米和1200米的积冰数据,当然这三条气象服务数据还包括其他气象要素,例如风向等,这三条气象服务数据可以被进行空间压缩以合并为同一条新的气象服务数据。空间压缩存储时,将三条气象服务数据分别具有的不同高度的积冰数据取出,并以对应的高度分别标记这三个积冰要素,由此得到三个新要素,例如积冰_600、积冰_900、积冰_1200等。
步骤S302,将第二数量的气象服务数据合并为同一条新的气象服务数据数据,其中合并得到的同一条新的气象服务数据包括根据第二数量的气象服务数据中每个创建的新要素。
例如,在一个示例中,将第二数量的气象服务数据的所有气象要素合并,使用根据第二数量的气象服务数据中每个创建的新要素替代第二数量的气象服务数据中每个的所述第一类气象要素,由此将第二数量的气象服务数据合并为同一条新的气象服务数据数据。
例如,在本公开的至少一实施例中,将创建的以高度标记各个高度的积冰要素,例如积冰_600、积冰_900、积冰_1200等,替代气象服务数据中原有的第一类气象要素积冰,将这些对应不同高度的气象服务数据合并为同一条新的气象服务数据。
例如,气象服务数据还可以包括第二类气象要素,该第二类气象要素包括在同一经度、纬度下对于不同高度(例如部分高度)具有同一个数据的要素,例如降水量等气象要素,其不具备高度属性,也就是在不同高度层仅有一个数据。例如,在至少一个示例中,在进行气象服务数据合并以得到新的气象服务数据时,首先,将被合并的气象服务数据所包括的全部气象要素组合,得到全部气象要素的集合;其次,使用新创建的带有高度标记的新要素,取代原有的第一类气象要素,由此与被合并的气象服务数据分别具有的第二类气象要素组合(以及其他气象要素,如果存在的话),得到合并后同一条新的气象服务数据中的全部气象要素,例如,全部气象要素包括地面温度、降水量、风向、积冰_600、积冰_900、积冰_1200等气象要素。之后,将气象服务数据的空间数据项按索引类型转换作为数据库索引值的空间维度数据,将时间数据项按索引类型转换作为数据库索引值的时间维度数据,从而得到完整的同一条新的气象服务数据。
表3-1为根据本公开至少一个实施例提供的采用空间压缩存储方法的数据库存储结构的一个示例。如表3-1所示,去除高度这个维度,空间维度数据存入经度、纬度处,时间维度数据存入起报时间、有效时间处。将压缩前的不同气象服务数据的不同高度的气象要素增加高度标记且合并,创建为一个新要素,例如积冰_300、积冰_600、积冰_900等,所有新要素连同压缩前的不同气象服务数据的原有的其他气象要素合并,得到如下同一条新的气象服务数据,之后存入数据库的一条记录中。
表3-1采用空间压缩存储方法的数据库存储结构
例如,在另一个示例中,如表3-2所示,第二类气象要素(例如降水量等)在一个预设高度有数据,其他不同的高度(例如部分高度)均为“空”(NA)值。在进行将多条气象服务数据合并以得到同一条新的气象服务数据时,首先,将被合并的多条气象服务数据的全部气象要素合并,得到全部气象要素的集合,此时的气象要素集合中,除第一类气象要素外,还包括气象要素为降水量的三组第二类气象要素,其中一组值为要素值,另两组值为“空”值;其次,使用新创建的带有高度标记的新要素,取代原有的第一类气象要素,例如创建积冰_0、积冰_1以及积冰_2,取代原有的三个第一类气象要素;然后,去除第二类气象要素中值为“空”值的气象要素,由此得到合并后同一条新的气象服务数据中的全部气象要素,例如,该全部气象要素包括降水量、积冰_0、积冰_1、积冰_2等气象要素。之后,将气象服务数据的空间数据项按索引类型转换作为数据库索引值的空间维度数据,将时间数据项按索引类型转换作为数据库索引值的时间维度数据,从而得到完整的同一条新的气象服务数据。
表3-2含有第二类气象要素的气象服务数据存储结构
例如,在另一个实施例中,气象服务数据包括第一类气象要素和第二类气象要素。在进行将多条气象服务数据合并以得到同一条新的气象服务数据时,首先,得到被合并的多个气象服务数据的第一气象要素的集合,该第一气象要素集合仅包括第一类气象要素;其次,使用新创建的带有高度标记的新要素,取代原有的第一类气象要素,得到新要素的结合;然后,将具有真实数值的第二类气象要素合并入新要素的集合,得到合并后同一条新的气象服务数据中的全部气象要素,例如,全部气象要素包括降水量、积冰_0、积冰_1、积冰_2等气象要素。之后,将气象服务数据的空间数据项按索引类型转换作为数据库索引值的空间维度数据,将时间数据项按索引类型转换作为数据库索引值的时间维度数据,从而得到完整的同一条新的气象服务数据。
例如,在再一个实施例中,气象服务数据包括第一类气象要素和第二类气象要素。在进行将多条气象服务数据合并以得到同一条新的气象服务数据时,首先,得到用于被合并的多个气象服务数据的新创建的带有高度标记的新要素的集合;然后,将具有真实数值的第二类气象要素合并入该新要素的集合,得到合并后同一条新的气象服务数据中的全部气象要素,例如,全部气象要素包括降水量、积冰_0、积冰_1、积冰_2等气象要素。之后,将气象服务数据的空间数据项按索引类型转换作为数据库索引值的空间维度数据,将时间数据项按索引类型转换作为数据库索引值的时间维度数据,从而得到完整的同一条新的气象服务数据。
上述空间压缩的各个合并多个气象服务数据以得到同一条新的气象服务数据的方式均是示范性说明,本公开的实施例不限于上述描述。虽然增加了每条数据库记录的气象要素数量,但是减少了数据库存储条数,达到提高数据库读写效率的目的。
需要说明的是,创建的新要素的形式包括各种各样,本公开的实施例对此不作具体限制,可以根据实际情况设置。
根据本公开至少一实施例提供的空间压缩存储方法,通过将预报数据进行高度层压缩,实现数据由三维向二维的转换,将某一个时间点上的所有高度数据压缩成为1条数据进行存储,以达到减少数据库存储条数,提高数据库效率的目的。
表4为根据本公开至少一个实施例提供的同时采用时间、空间压缩存储方法的数据库存储结构的示例。如表4所示,所述气象服务数据为预报数据,空间维度保留经度、纬度,将原三维数据缩减为二维;时间维度保留起报时间,去除有效时间。
表4同时采用时间、空间压缩存储方法的数据库存储结构
例如,对数据进行空间压缩,将不同高度的气象要素创建为带有高度标记的新要素,例如积冰_300、积冰_600等;再对数据进行时间压缩,将不同时间点的气象要素拼接,得到同一条新的气象服务数据,之后存储为一条数据记录。
本公开上述实施例提供的同时采用时间、空间压缩存储方法,通过同时采用时间压缩和空间压缩将索引由五维降为三维,在单一压缩存储的基础上进一步提升数据压缩能力,大幅减少数据记录条数,显著增强数据库读写性能。
需要说明的是,本公开所列举的时间维度、空间维度及气象要素设定仅仅是示例性的,针对不同类型的气象服务数据(例如,预报数据、实况数据等),上述数据库索引可以根据实际情况设置,本公开的实施例对此不作具体限制。
对于时间压缩存储,所有的相同起报时间的预报数据压缩存储为一条,在有效数据个数较多时,例如全球预报系统(Global Forecast System)的预报数据,每次该预报数据更新包括384个预报时次,导致拼接后气象要素字符串过长从而占用存储空间过大。而对于空间压缩由于增加了要素数量,当合并条数较多时,也会导致气象要素字符串过长从而占用存储空间过大。
根据本公开至少一个实施例,将数据项压缩后气象服务数据存入数据库前,对数据项压缩后的气象服务数据进一步进行数据空间压缩,再将数据空间压缩后的气象服务数据存入数据库。这里数据空间压缩方法包括但不限于采用zlib等压缩方式,将长字符串压缩成较短字符串,以达到节省存储空间的目的。
合理建立非关系型数据库的索引,也是提升大量数据存储查询的性能问题的关键。因而需要在使用数据库存储数据前,对数据库索引进行规划设计。下面通过几个示例或实施例对根据本公开的至少一个实施例提供的数据库索引构建方法进行非限制性的说明,如下面所描述的,在不相互抵触的情况下这些具体示例或实施例中不同特征可以相互组合,从而得到新的示例或实施例,这些新的示例或实施例也都属于本公开保护的范围。
表5所示为根据本公开至少一个实施例提供的数据库索引为序号形式的数据库存储结构。例如,预报数据是建立在网格上,由水平方向和垂直方向的多个网格组成,每一个数据都对应着经度、纬度、高度、起报时间、有效时间。
表5数据库索引为序号形式的数据库存储结构
经度序号 | 纬度序号 | 高度序号 | 起报时间序号 | 预报时间(有效时间)序号 |
124 | 256 | 5 | 125 | 21 |
例如,根据本公开至少一个实施例,基于时间数据项和空间数据项,创建气象服务数据在数据库的索引值时,将空间数据项转换为网格序号,以作为数据库索引值中的空间维度数据,其中,网格序号包括经度序号、纬度序号和/或高度序号;或者,将时间数据项转换为时间序号,以作为数据库索引值中的时间维度数据,其中,时间序号包括起报时间序号和/或有效时间序号。在至少一个示例中,也可以同时将空间数据项转换为网格序号以及将时间数据项转换为时间序号。例如,网格序号包括经度序号、纬度序号和高度序号,也即经度、纬度和高度均为序号形式。例如,时间序号包括起报时间序号和有效时间序号,也即起报时间和有效时间均为序号形式。
例如,在本公开至少一个实施例中,获取的气象服务数据的空间数据项为纬度23.8°,经度116.92°,高度1000hPa(或者为高度数据),时间数据项为起报时间2020年5月28日00时,有效时间为2020年5月29日01时,根据自定义方式可以映射为,纬度的序号为124,经度的序号为256,高度的序号为5,起报时间序号为125,预报时间(有效时间)的序号为21,那么就使用124,256,5,125,21的五个数据来建立索引,如表5所示。
图4为根据本公开至少一个实施例的水平空间网格序号映射方法的示例图。如图所示,将网格看作是二维表格,每一列代表不同经度,每一行代表不同纬度,单元格中的数据代表一种气象要素的值,也即该网格表征某一气象要素所处的经度以及纬度。以经度为70.125°,纬度为54.75°的位置为例,其在该映射表格中的经度位置为第二列,纬度位置为第三行,则该位置映射的经度序号为2,维度序号为3。高度序号、时间序号均可按相同或其他方法自定义映射关系。
表6为根据本公开至少一个实施例提供的数据库索引为数值形式的数据库存储结构。
表6数据库索引为数值形式的数据库存储结构
经度 | 纬度 | 高度 | 起报时间 | 预报时间(有效时间) |
116.92 | 23.80 | 1000 | 2020052800 | 2020052901 |
例如,根据本公开至少一个实施例,基于时间数据项和空间数据项,创建气象服务数据在数据库的索引值时,将空间数据项转换为空间数值,以作为数据库索引值中的空间维度数据,其中,空间数值包括经度数值、纬度数值和/或高度数值;或者,可以将时间数据项转换为时间数值,以作为数据库索引值中的时间维度数据,其中,时间数值包括起报时间数值和/或有效时间数值。在至少一个示例中,也可以同时将空间数据项转换为空间数值以及将时间数据项转换为时间数值。例如,空间数值包括经度数值、纬度数值和高度数值,也即经度、纬度和高度均为数值形式。例如,时间数值包括起报时间数值和有效时间数值,也即起报时间和有效时间均为数值形式。
上述实施例中,建立索引的方式与数据库索引为序号形式的方法相同,但不需再对数据库索引映射为序号,直接将具体数值或字符串作为时间维度数据和空间维度数据存入数据库。字符串也可采用其他表征方式,本公开的实施例对此不作具体限制。
表7为根据本公开至少一个实施例提供的数据库索引为数值与序号混合形式的数据库存储结构。
表7数据库索引为数值与序号混合形式的数据库存储结构
经度序号 | 纬度序号 | 高度序号 | 起报时间 | 有效时间 |
124 | 256 | 5 | 2020052800 | 2020052816 |
例如,根据本公开至少一个实施例,基于时间数据项和空间数据项,创建气象服务数据在数据库的索引值时,将空间数据项转换为网格序号,以作为数据库索引值中的空间维度数据,其中,网格序号包括经度序号、纬度序号和高度序号;同时,将时间数据项转换为时间数值,以作为数据库索引值中的时间维度数据,其中,时间数值包括起报时间数值和有效时间数值。由于经度、纬度以及高度数据为浮点型,空间维度数据采用网格序号形式可以减少索引值空间同时增加索引值匹配效率。
在另一个实施例中,基于时间数据项和空间数据项,创建气象服务数据在数据库的索引值时,将空间数据项转换为空间数值,以作为数据库索引值中的空间维度数据,其中,空间数值包括经度数值、纬度数值和/或高度数值;同时,将时间数据项转换为时间序号,以作为数据库索引值中的时间维度数据,其中,时间序号包括起报时间序号和/或有效时间序号。
需要说明的是,数据库索引时间维度及空间维度可以根据需要任意选择序号形式或数值形式,并不需要绝对一致;例如,可以部分索引使用序号形式,也可部分索引使用字符串形式,本公开的实施例对此不作具体限制。
表8为根据本公开至少一个实施例提供的数据库索引为位置辨识标签的数据库存储结构。
表8数据库索引为位置辨识标签的数据库存储结构
索引 | 数据 |
116_92&23.80&1000&2020052800&2020052901 | …… |
由于每一条数据所对应的时间、空间属性都是唯一的,所以可以将时间、空间属性形成一个唯一位置辨识标签,由该位置辨识标签作为唯一索引值替代原有多个索引值,减少查询时的索引匹配数量,从而提升数据库的查询性能。
例如,根据本公开至少一个实施例,将时间数据项和空间数据项排列组合并用连接字符连接,以构成字符串,由此得到位置辨识标签。例如,用字符“&”连接,从而将多个索引值拼接构成字符串,该字符串即为位置辨识标签。位置辨识标签的生成方式可以采用多种形式的索引值拼接,本公开的实施例对此不作具体限制,例如连接字符除了“&”外还可以选用其他不会造成数据误读的字符,例如“$”等,本公开的实施例对此不作限制。
本公开的至少一个实施例还提供了一种气象数据查询方法,该方法例如应用于查询上述实施例在数据库中存储的气象数据同样地,气象服务数据包括时间数据项、空间数据项以及至少一个气象要素,气象服务数据按照数据项压缩后存入数据库,数据项压缩包括时间压缩或空间压缩。
该气象数据查询方法可以部署在客户端,或分布地部署在服务器端(或云端)和个人终端处。例如,可以向服务器端发起查询请求,由服务器端(或云端)连接数据库并执行查询气象数据的操作,再将气象数据传输回个人终端并输出、展示查询结果。再例如,可以在个人终端处发起查询请求并将查询请求发送至服务器端(或云端),由服务器端(或云端)查询气象数据,再将气象数据传输回个人终端并输出、展示查询结果。
图5为本公开至少一个实施例提供的一种气象数据查询方法的示例流程图,该方法包括步骤S501~步骤S503。
步骤S501,接收气象数据查询请求。
上述查询请求包括时间请求和/或空间请求。例如,时间请求包括待查询气象服务数据对应的时间或时间段,空间请求包括待查询气象服务数据的地理位置。
可选的,在至少一个示例中,参考后面要描述的图6所示的实施例,所述系统包括至少一个数据接口服务器,用于将外部的查询请求转换成对数据库的查询键,并将查询的气象服务数据结果返回给用户。当接收到查询请求时,可通过负载均衡方式将数据访问分配到不同的数据接口服务器,也即根据数据接口服务器的用户访问数量,将查询请求分发至用户访问数量非最大的数据接口服务器。不同的数据接口服务器,部署的是相同的数据接口内容,其执行的规则也完全相同。采用负载均衡方式可以实现在用户访问量不同时能够对接口性能进行动态缩放,以免造成资源浪费。
步骤S502,根据查询请求以及数据库的索引类型,生成查询键。
例如,根据本公开至少一个实施例,数据库索引包括时间维度和空间维度,且数据库索引包括序号形式、数值形式等形式。查询请求中的时间请求和空间请求提供了待查询气象服务数据的时间信息和空间信息,根据数据库索引的类型和索引值生成方式的不同,将查询请求中的信息转换生成对应的查询键。
例如,当数据库索引值的时间维度数据包括时间序号时,查找所述时间请求最邻近时间点对应的时间序号,将所述时间序号作为所述查询键的时间信息,生成对应查询键。例如,在一些示例中,数据库索引的时间维度为序号形式。在数据库中,时间维度数据包括起报时间序号。在收到用户请求时,首先查找与用户请求中的时间请求最邻近的时间点,如时间请求为2020年7月3日18时10分,时间维度数据为按整点排列,则时间请求最邻近的整时为2020年7月3日18时;然后获取该最邻近的整时对应的起报时间序号15;最后,将起报时间序号15作为查询键的时间信息,生成对应查询键。
例如,当数据库索引值的空间维度数据包括网格序号时,查找所述空间请求最邻近空间点对应的网格序号,将所述网格序号作为所述查询键的空间信息,生成对应查询键。例如,在一些示例中,数据库索引的空间维度为序号形式。数据库中,空间维度数据包括纬度序号和经度序号,纬度序号和经度序号的映射方法采用水平空间网格映射方法。在收到用户请求时,首先查找与用户请求中的空间请求最邻近的空间点,如空间请求中的经度为23.56876,纬度为116.122456,水平空间网格映射方法中的经度和纬度分别以0.1作为步长,则经过四舍五入,空间请求最邻近的纬度值为23.6,空间请求最邻近的经度值为116.1。然后获取最邻近的经度值和纬度值对应的网格序号,例如经度值116.1所对应序号为124,纬度值23.6所对应序号为21,也即空间请求所对应的网格序号为21和124。最后,将网格序号21和124作为查询键的空间信息,生成对应查询键。例如,当数据库索引值的时间维度数据包括时间数值时,将时间请求根据数据库索引精度处理为预定精度,作为查询键的时间信息,生成对应查询键;
例如,当数据库索引值的空间维度数据包括空间数值时,将空间请求根据数据库索引精度处理为预定精度,作为查询键的空间信息,生成对应查询键。
例如,在一些示例中,数据库索引的时间维度和空间维度均为数值形式,在空间维度上,当数据库中的空间索引在某一精度上是连续的,那么可以通过对用户经纬度进行保留精度的方式进行空间索引。如数据库中,纬度数据为23.56,23.57,23.58……,经度为116.12,116.13,116.14……,高度为1000,2000,3000……;在收到用户的请求时,可以将用户的空间信息归类到对应的精度上,如用户请求的经度为23.56876,纬度为116.122456,高度为1200米,经纬度四舍五入到百分位,为23.57,116.12,高度四舍五入到千位,为1000。在时间维度上,也可以根据用户所需要查询的时间,映射到与数据库一致的时间精度字符串,如数据库中时间精度在小时,那么用户的时间会映射到小时;例如用户时间为2020年5月28日16时38分,可以根据业务特点省去分钟,或者找到距离最近的整时,也即映射之后为2020052816或者2020052817。这样,将空间维度和时间维度转换为完全字符串信息得到查询键,进而在数据库中找到对应的索引完成数据查询。
例如,将空间请求和/或时间请求排列并用连接字符连接,使用与生成所述位置辨识标签相同的方式拼接构成字符串,以所述字符串生成对应查询键。
步骤S503,根据查询键查询数据库,从数据库获得与查询键相对应存储的气象服务数据。
例如,当气象服务数据为经过数据空间压缩后存入的气象服务数据时,需要提取的气象服务数据采用与数据空间压缩相同的方法解压缩为普通字符串,获得数据空间压缩前的气象服务数据。
例如,在一个示例中,数据库索引的空间维度设置为二维,包括经度以及纬度;空间维度数据为网格序号,包括经度序号以及纬度序号。数据索引的时间维度设置包括起报时间;时间维度数据为数值形式,包括起报时间数值。时间维度与空间维度配合建立三维索引,也即索引包括经度、纬度和起报时间。数据项同时采用时间压缩和空间压缩的方式,也即空间上将在不同高度层具有不同数据的气象要素以新创建的带有高度标识的新要素方式表征,时间上将所有有效时间的数据拼接为长字符串进行压缩存储。
在存储前,对数据项压缩后的气象服务数据采用zlib压缩方式进一步进行数据空间压缩,再将数据空间压缩后的气象服务数据存入数据库。
对应地,数据接口查询时,首先根据负载均衡配置,将访问请求分发至户访问流量非最大的数据接口服务器;然后,将查询请求中空间请求中的经纬度信息根据映射方法转换为网格序号,再将时间请求的时间信息转换为字符串;最后,根据三维索引,查找最邻近的索引值作为查询键的空间信息和时间信息,生成对应查询键,提取相应的气象服务数据,并将该气象服务数据采用zlib形式解压缩,获得数据空间压缩前的气象服务数据。
在该示例中,数据库同时采用了时间压缩和空间压缩,将索引由五维降为三维,进一步提升数据压缩能力,大大减少了数据记录条数,显著提升数据库的读写性能。采用负载均衡分配访问请求方式可以实现在用户访问量不同时能够对接口性能进行动态缩放,以免造成资源浪费。此外,对数据项压缩后的气象服务数据进行数据空间压缩,将长字符串压缩成较短字符串,达到节省存储空间的目的。
图6示出了根据本公开至少一实施例提供的一种气象数据存储、查询系统的架构的示意性框图。
例如,在本公开的至少一个实施例中,气象数据存储、查询系统包括气象数据存储、气象数据查询以及数据库。
例如,气象数据存储配置为获取多项气象服务数据,将气象服务数据进行数据项压缩,将数据项压缩后的气象服务数据存入数据库,其中,数据项压缩包括时间压缩或空间压缩。例如,气象数据存储可以实施前述实施例提供的气象数据存储方法,在此不作赘述。
例如,气象数据查询被配置为接收气象数据查询请求,根据查询请求以及数据库的索引值类型,生成查询键,根据查询键查询数据库,从数据库获得与查询键相对应存储的气象服务数据;其中,气象服务数据包括时间数据项、空间数据项以及至少一个气象要素,气象服务数据按照数据项压缩后存入数据库,数据项压缩包括时间压缩或空间压缩。例如,气象数据存储可以实施前述实施例提供的气象数据查询,在此不作赘述。
例如,数据库与气象数据存储、气象数据查询分别信号连接,数据库为非关系型数据库,用于存储气象服务数据。
图7示出了本公开至少一实施例提供的一种气象数据存储装置的示意性框图。例如,如图7所示,该气象数据存储装置1000包括处理器1010和存储器1020。气象数据存储装置可以部署于一个装置上,也可分布于多个装置上,本实施例对此不作限制。
存储器1020包括一个或多个计算机程序模块1021。一个或多个计算机程序模块1021被存储在存储器1020中并被配置为由处理器1010执行,该一个或多个计算机程序模块1021包括用于执行本公开的至少一个实施例提供的任一气象数据存储方法的指令,其被处理器1010执行时,可以执行本公开的至少一个实施例提供的气象数据存储方法中的一个或多个步骤。存储器1020和处理器1010可以通过总线系统和/或其它形式的连接机构(未示出)互连。
例如,存储器1020和处理器1010可以设置在服务器端(或云端),用于执行图1、图2、图3和图5描述的气象数据存储方法中的一个或多个步骤。
例如,处理器1010可以是中央处理单元(CPU)、数字信号处理器(DSP)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元,例如现场可编程门阵列(FPGA)等;例如,中央处理单元(CPU)可以为X86或ARM架构等。处理器1010可以为通用处理器或专用处理器,可以控制装置1000中的其它组件以执行期望的功能。
例如,存储器1020可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块1021,处理器1010可以运行一个或多个计算机程序模块1021,以实现装置1000的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等,例如气象服务数据等。
需要说明的是,为表示清楚、简洁,本公开实施例并没有给出该气象数据存储装置1000的全部组成单元。为实现气象数据存储装置1000的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。例如,气象数据存储装置1000还可以包括总线、无线或有线通信端口、输入/输出装置等。
气象数据查询装置的结构与上述实施例中的气象数据存储装置相同,在此不再赘述。关于不同实施例中的气象数据查询装置的具体功能和技术效果可以参考本公开实施例提供的气象数据查询方法的具体功能和技术效果,这里不再赘述。
图8示出了本公开的至少一个实施例提供的气象数据存储、查询系统的示例性的场景图。如图8所示,该气象数据存储、查询系统300可以包括用户终端310、网络320、服务器330以及数据库340。
例如,用户终端310发起外部访问,提交查询请求。例如,用户310可以是图8中示出的电脑310-1、便携式终端310-2。可以理解的是,用户终端还可以是能够执行数据的接收、处理和显示的任何其他类型的电子设备,其可以包括但不限于台式电脑、笔记本电脑、平板电脑、智能家居设备、可穿戴设备、车载电子设备、医疗电子设备等。
例如,网络320可以是单个网络,或至少两个不同网络的组合。例如,网络320可以包括但不限于局域网、广域网、公用网络、专用网络、因特网、移动通信网络等中的一种或几种的组合。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或补充上述数据通信网络。
例如,服务器330被配置为实施前述实施例提供的气象数据存储方法或气象数据查询方法。服务器330可以为一个单独的服务器(或云端),或者为一个服务器群组(或云端),服务器群组内的各个服务器通过有线网络或无线网络进行连接。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。该一个服务器群组可以是集中式的,例如数据中心,也可以是分布式的。服务器可以是本地的或远程的。例如,该服务器330可以为通用型服务器或专用型服务器,可以为虚拟服务器或云服务器等。
例如,数据库340可用于存储从用户终端310和服务器330工作中所利用、产生和输出的各种数据,例如,气象服务数据。数据库340可以经由网络320与服务器330或服务器330的一部分相互连接或通信,或直接与服务器330相互连接或通信,或者经由上述两种方式的结合实现与服务器330相互连接或通信。在一些实施例中,数据库340可以是独立的设备。在另一些实施例中,数据库340也可以集成在用户终端310和服务器340中的至少一个中。例如,数据库340可以设置在用户终端310上,也可以设置在服务器340上。又例如,数据库340也可以是分布式的,其一部分设置在用户终端310上,另一部分设置在服务器340上。
例如,在一个示例中,首先,用户终端310(例如,用户的手机)可以经由网络320或其它技术(例如,蓝牙通信、红外通信等)将请求数据发送至服务器330。接着,服务器330响应于请求数据,获取当前用户的查询请求,接下来,服务器330基于查询请求,根据数据库索引类型,得到查询键。然后,服务器330基于查询键,将数据库相对应的气象服务数据经由网络320或其它技术(例如,蓝牙通信、红外通信等)发送用户终端310。用户终端310在接收到来自服务器330的气象服务数据之后,进行显示。
在本公开中,术语“多个”指两个或两个以上,除非另有明确的限定。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (22)
1.一种气象数据存储方法,包括:
获取多项气象服务数据,其中,每项所述气象服务数据包括时间数据项、空间数据项以及至少一个气象要素;
将所述气象服务数据进行数据项压缩;
将数据项压缩后的气象服务数据存入数据库;
其中,所述数据项压缩包括时间压缩或空间压缩。
2.根据权利要求1所述的气象数据存储方法,其中,所述数据库包括用于存储所述气象服务数据的非关系型数据库。
3.根据权利要求1所述的气象数据存储方法,其中,将所述数据项压缩后的气象服务数据存入所述数据库包括:
基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,
将所述索引值和所述至少一个气象要素存入所述数据库,
其中,所述数据库的索引值包括时间维度数据和空间维度数据,所述空间维度数据基于所述空间数据项,所述时间维度数据基于所述时间数据项。
4.根据权利要求3所述的气象数据存储方法,
所述时间压缩包括:
当所述时间数据项包括起报时间时,将所述多项气象服务数据中具有相同空间数据项和相同起报时间的第一数量的气象服务数据合并为同一条新的气象服务数据;
当所述时间数据项包括实况时间时,将所述多项气象服务数据中具有相同空间数据项的第一数量的气象服务数据合并为同一条新的气象服务数据;
其中,所述第一数量大于1。
5.根据权利要求4所述的气象数据存储方法,其中,将所述第一数量的气象服务数据合并为同一条新的气象服务数据,包括:
按照时间的先后顺序将所述第一数量的气象服务数据的气象要素分别依次进行拼接,以得到所述同一条新的气象服务数据。
6.根据权利要求3所述的气象数据存储方法,其中,所述数据库索引值中的空间维度数据包括经度和纬度,所述空间数据项包括经度、纬度和高度,所述多项气象服务数据中的第二数量的气象服务数据的气象要素包括第一类气象要素且具有相同经度和纬度、相同时间维度数据,所述第二数量大于1,
所述第二数量的气象服务数据的第一类气象要素在所述相同经度和纬度下分别具有对应不同高度的不同数据,
所述空间压缩包括:
根据所述第二数量的气象服务数据中每个的所述第一类气象要素,分别创建带有所述不同高度标记的新要素;
将所述第二数量的气象服务数据合并为同一条新的气象服务数据数据,其中,合并得到的所述同一条新的气象服务数据包括根据所述第二数量的气象服务数据中每个创建的新要素。
7.根据权利要求3-6任一所述的气象数据存储方法,还包括:
所述数据项压缩包括所述时间压缩和所述空间压缩。
8.根据权利要求3-6任一所述的气象数据存储方法,其中,基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,包括:
将所述空间数据项转换为网格序号,以作为所述数据库索引值中的空间维度数据,其中,所述网格序号包括经度序号、纬度序号和/或高度序号;和/或
将所述时间数据项转换为时间序号,以作为所述数据库索引值中的时间维度数据,其中,所述时间序号包括起报时间序号和/或有效时间序号。
9.根据权利要求3-6任一所述的气象数据存储方法,其中,基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,包括:
将所述空间数据项转换为空间数值,以作为所述数据库索引值中的空间维度数据,其中,所述空间数值包括经度数值、纬度数值和/或高度数值;和/或
将所述时间数据项转换为时间数值,以作为所述数据库索引值中的时间维度数据,其中,所述时间数值包括起报时间数值和/或有效时间数值。
10.根据权利要求3-6任一所述的气象数据存储方法,其中,基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,包括:
将所述空间数据项转换为网格序号,以作为所述数据库索引值中的空间维度数据,其中,所述网格序号包括经度序号、纬度序号和/或高度序号;以及将所述时间数据项转换为时间数值,以作为所述数据库索引值中的时间维度数据,其中,所述时间数值包括起报时间数值和/或有效时间数值;或者
将所述空间数据项转换为空间数值,以作为所述数据库索引值中的空间维度数据,其中,所述空间数值包括经度数值、纬度数值和/或高度数值;以及将所述时间数据项转换为时间序号,以作为所述数据库索引值中的时间维度数据,其中,所述时间序号包括起报时间序号和/或有效时间序号。
11.根据权利要求3-6任一所述的气象数据存储方法,其中,基于所述时间数据项和空间数据项,创建所述气象服务数据在所述数据库的索引值,包括:
将所述时间数据项和所述空间数据项拼接构成位置辨识标签,以作为所述数据库索引值。
12.根据权利要求11所述的气象数据存储方法,其中,将所述时间数据项和所述空间数据项拼接构成位置辨识标签,包括:
将所述时间数据项和所述空间数据项排列组合并用连接字符连接,以构成字符串,由此得到所述位置辨识标签。
13.根据权利要求1-6任一所述的气象数据存储方法,将所述数据项压缩后的气象服务数据存入所述数据库之前,还包括:
对所述数据项压缩后的气象服务数据进一步进行数据空间压缩,
其中,将所述数据项压缩后的气象服务数据存入数据库包括:
将所述数据空间压缩后的气象服务数据被存入所述数据库。
14.根据权利要求13所述的气象数据存储方法,其中,所述数据空间压缩包括:
将所述气象服务数据中的气象要素压缩为短字符串,存入数据库。
15.一种气象数据查询方法,包括以下步骤:
接收气象数据查询请求,其中,所述查询请求包括时间请求和/或空间请求;
根据所述查询请求以及数据库的索引值类型,生成查询键;
根据所述查询键查询所述数据库,从所述数据库获得与所述查询键相对应存储的气象服务数据;
其中,所述气象服务数据包括时间数据项、空间数据项以及至少一个气象要素,所述气象服务数据按照数据项压缩后存入所述数据库,所述数据项压缩包括时间压缩或空间压缩。
16.根据权利要求15所述的气象数据查询方法,其中,所述数据库的索引值包括时间维度数据和空间维度数据,所述数据库索引值包括序号形式,
所述生成查询键包括:
当所述数据库索引值的时间维度数据包括时间序号时,查找所述时间请求最邻近时间点对应的时间序号,将所述时间序号作为所述查询键的时间信息,生成对应查询键;或
当所述数据库索引值的空间维度数据包括网格序号时,查找所述空间请求最邻近空间点对应的网格序号,将所述网格序号作为所述查询键的空间信息,生成对应查询键。
17.根据权利要求15所述的气象数据查询方法,其中,所述数据库的索引值包括时间维度数据和空间维度数据,所述数据库索引包括数值形式,
所述生成查询键包括:
当所述数据库索引值的时间维度数据包括时间数值时,将所述时间请求根据所述数据库索引精度处理为预定精度,作为所述查询键的时间信息,生成对应查询键;或
当所述数据库索引值的空间维度数据包括空间数值时,将所述空间请求根据所述数据库索引精度处理为预定精度,作为所述查询键的空间信息,生成对应查询键。
18.根据权利要求15所述的气象数据查询方法,其中,所述数据库索引为位置辨识标签,
所述生成查询键包括:
将所述空间请求和/或时间请求排列并用连接字符连接,使用与生成所述位置辨识标签相同的方式拼接构成字符串,以所述字符串生成对应查询键。
19.根据权利要求15-18任一所述的气象数据查询方法,在所述接收气象数据查询请求后,还包括:
根据用于所述数据库的多个接口服务器的用户访问流量,将所述气象数据查询请求分发至所述用户访问流量非最大的数据接口服务器。
20.根据权利要求15-18任一所述的气象数据查询方法,其中,所述气象服务数据是经数据空间压缩的,
所述获得与所述查询键相对应存储的气象服务数据,包括:
将数据空间压缩后的气象服务数据解压缩,获得数据空间压缩前的气象服务数据。
21.一种气象数据存储装置,包括:
处理器;
存储器,其上存储计算机程序,所述计算机程序被所述处理器运行时可以执行根据权利要求1-14任一项所述的气象数据存储方法。
22.一种气象数据查询装置,包括:
处理器;
存储器,其上存储有计算机程序,所述计算机程序被所述处理器运行时可以执行根据权利要求15-20任一项所述的气象数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010680067.XA CN113946572A (zh) | 2020-07-15 | 2020-07-15 | 气象数据存储、查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010680067.XA CN113946572A (zh) | 2020-07-15 | 2020-07-15 | 气象数据存储、查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113946572A true CN113946572A (zh) | 2022-01-18 |
Family
ID=79326434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010680067.XA Pending CN113946572A (zh) | 2020-07-15 | 2020-07-15 | 气象数据存储、查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113946572A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840612A (zh) * | 2022-05-09 | 2022-08-02 | 中国人民解放军军事科学院军事医学研究院 | 一种面向海量气象要素数据存储与查询的方法及系统 |
CN115687805A (zh) * | 2022-12-30 | 2023-02-03 | 江西省气象信息中心(江西省气象培训中心、江西省农村经济信息中心) | 一种基于位置的气象数据查询方法及系统 |
CN116683915A (zh) * | 2023-06-14 | 2023-09-01 | 上海海洋中心气象台 | 气象数据压缩方法、系统及介质 |
-
2020
- 2020-07-15 CN CN202010680067.XA patent/CN113946572A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840612A (zh) * | 2022-05-09 | 2022-08-02 | 中国人民解放军军事科学院军事医学研究院 | 一种面向海量气象要素数据存储与查询的方法及系统 |
CN115687805A (zh) * | 2022-12-30 | 2023-02-03 | 江西省气象信息中心(江西省气象培训中心、江西省农村经济信息中心) | 一种基于位置的气象数据查询方法及系统 |
CN116683915A (zh) * | 2023-06-14 | 2023-09-01 | 上海海洋中心气象台 | 气象数据压缩方法、系统及介质 |
CN116683915B (zh) * | 2023-06-14 | 2024-02-13 | 上海海洋中心气象台 | 气象数据压缩方法、系统及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11550826B2 (en) | Method and system for generating a geocode trie and facilitating reverse geocode lookups | |
CN113946572A (zh) | 气象数据存储、查询方法及装置 | |
CN104820714B (zh) | 基于hadoop的海量瓦片小文件存储管理方法 | |
US9730028B2 (en) | Systems and methods to identify home addresses of mobile devices | |
US9719790B2 (en) | Mapping uncertain geometries to graticules | |
Huang et al. | Rapid retrieval strategy for massive remote sensing metadata based on GeoHash coding | |
CN108595511B (zh) | 一种多样化气象水文数据分类存储处理方法和系统 | |
CN109325089A (zh) | 一种非定点对象查询方法、装置、终端设备及存储介质 | |
Fang et al. | Meteorological data analysis using MapReduce | |
CN111914041B (zh) | 一种电网地图矢量数据提供方法 | |
Wei et al. | Discover, visualize, and deliver geospatial data through OGC standards-based WebGIS system | |
CN113272798A (zh) | 地图获取方法、装置、计算机设备和存储介质 | |
CN111125553A (zh) | 一种支持多源数据的城市建成区智能提取方法 | |
CN114706847A (zh) | 一种基于网格集合对象的遥感数据管理方法 | |
CN117082474B (zh) | 一种科考船实时获取海洋环境预报数据的系统 | |
Shao et al. | A comprehensive optimization strategy for real-time spatial feature sharing and visual analytics in cyberinfrastructure | |
CN102103600A (zh) | 地图建立方法及地图系统 | |
CN111475595A (zh) | 地理信息共享系统 | |
Fleury et al. | AMMA information system: an efficient cross‐disciplinary tool and a legacy for forthcoming projects | |
Li et al. | Change analysis of spring vegetation green-up date in Qinba Mountains under the support of spatiotemporal data cube | |
Hamilton et al. | Linking pan-Arctic human and physical data | |
CN206117732U (zh) | 一种地图数据服务器系统 | |
Ningsheng et al. | An address regional tessellation method for spatial subdivision and geocoding in digital earth system | |
US9436715B2 (en) | Data management apparatus and data management method | |
KR100527682B1 (ko) | 3차원 지리정보 처리방법 및 그 장치 |
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 |