一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

气象数据的查询方法和装置与流程

2022-04-25 01:22:08 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域中的地图技术和大数据,尤其涉及一种气象数据的查询方法和装置。


背景技术:

2.气象数据是用于反映天气的数据,是支撑道路数据团队业务线产品建设的重要基础数据之一,能够广泛应用于包括恶劣天气积水阻断的挖掘、众源采集的路段避让、恶劣天气阻断的情报预警等使用场景。
3.在相关技术中,气象数据通常按照时间分区,并根据要素如气温数据和降水数据等以不同文件保存在分布式文件系统中,而在对气象数据进行查询时,需要对某个滑动时间窗口内的气象数据进行全量遍历,导致查询时间偏长,效率偏低的技术问题。


技术实现要素:

4.本公开提供了一种用于提高气象数据的查询的效率的气象数据的查询方法和装置。
5.根据本公开的第一方面,提供了一种气象数据的查询方法,包括:
6.接收查询请求,其中,所述查询请求用于查询目标地理位置的气象数据;
7.确定预设网格中所述目标地理位置所属的网格,所述预设网格具有网格标识,并根据所述目标地理位置对应的网格标识从内存的索引结构中,确定并输出与所述查询请求对应的气象数据;
8.其中,所述索引结构为键值对的数据结构,所述键值对中的键包括网格标识,所述键值对中的数据值包括气象数据,所述预设网格为对预设范围区域进行网格切割处理得到。
9.根据本公开的第二方面,提供了一种气象数据的查询装置,包括:
10.接收单元,用于接收查询请求,其中,所述查询请求用于查询目标地理位置的气象数据;
11.第一确定单元,用于确定预设网格中所述目标地理位置所属的网格,所述预设网格具有网格标识;
12.第二确定单元,用于根据所述目标地理位置对应的网格标识从内存的索引结构中,确定并输出与所述查询请求对应的气象数据;
13.其中,所述索引结构为键值对的数据结构,所述键值对中的键包括网格标识,所述键值对中的数据值包括气象数据,所述预设网格为对预设范围区域进行网格切割处理得到。
14.根据本公开的第三方面,提供了一种电子设备,包括:
15.至少一个处理器;以及
16.与所述至少一个处理器通信连接的存储器;其中,
17.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
18.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据第一方面所述的方法。
19.根据本公开的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备执行第一方面所述的方法。
20.本公开实施例的气象数据的查询方法和装置,通过在内存中构建数据结构为键值对的索引结构,键值对中的键包括网格标识,键值对中的数据值包括气象数据,以结合目标地理位置对应的网格标识,从键值对中获取并输出与查询请求对应的气象数据的技术特征,避免了采用分布式文件系统对气象数据进行查询时,造成的遍历时间较长、效率偏低的弊端,提高了查询的效率,且通过在内存中查询气象数据,可以避免采用分布式文件系统造成的资源浪费的弊端,提高了节约资源,且节约存储成本的技术效果。
21.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
22.附图用于更好地理解本方案,不构成对本公开的限定。其中:
23.图1是根据本公开第一实施例的示意图;
24.图2是根据本公开第二实施例的示意图;
25.图3是根据本公开实施例的网格的示意图;
26.图4是根据本公开第三实施例的示意图;
27.图5是根据本公开实施例的堆结构的示意图;
28.图6是根据本公开第四实施例的示意图;
29.图7是根据本公开第五实施例的示意图;
30.图8是根据本公开第六实施例的示意图;
31.图9是用来实现本公开实施例的气象数据的查询方法的电子设备的框图。
具体实施方式
32.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
33.气象数据是反映天气的一组数据,气象数据可分为气候资料和天气资料。其中,气候资料是指,用常规气象仪器和专业气象器材所观测到各种原始资料的集合以及加工、整理、整编所形成的各种资料。天气资料是指,天气分析和预报服务的一种实时性很强的气象资料。
34.相对而言,天气资料随着时间的推移转化为气候资料,而气候资料的内容比天气
资料要广泛得多,气候资料是长时间序列的资料,而天气资料是短时间内的资料。
35.本实施例中的气象数据可以为气候资料,也可以为天气资料,也可以为气候资料和天气资料,本实施例不做限定。
36.不管是从生产活动方面,还是从人们出行方面,气象数据都起着尤其重要的作用。以生产活动为例,且具体以道路建设为例,气象数据是支撑道路数据团队业务线产品建设的重要基础数据之一,能够广泛应用于包括恶劣天气积水阻断的挖掘、众源采集的路段避让、恶劣天气阻断的情报预警等使用场景。以人们出行为例,人们可以根据气象数据选择出行的时间和/或地点,以提高出行的安全性。
37.气象数据的查询为对气象数据加以利用的重要内容,在相关技术中,通常采用的气象数据的查询方法包括:
38.基于时间对气象数据进行分区处理,以得到不同时间分区的气象数据,并根据天气要素如气温数据和降数据水等,将不同时间分区的气象数据以不同的文件保存在分布式文件系统中,如将气象数据中的气温数据以相对于降水数据独立的文件保存在分布式文件系统中,同立,将气象数据中的降水数据以相对于气温数据独立的文件保存在分布式文件系统,以便从分布式文件系统中对气象数据进行查询。
39.例如,当需要查询气象数据时,通过滑动时间窗口的方式对滑动时间窗口内的气象数据进行全量遍历,如对分布式文件系统中所有的气温数据的文件进行遍历,并对对分布式文件系统中所有的降水数据的文件进行遍历,从而得到相应的气象数据。
40.然而,采用上述方法进行气象数据查询时,需要对某个滑动时间窗口内的气象数据进行全量遍历,导致查询时间偏长,效率偏低,且通过分布式文件系统的方式对气象数据进行存储,相对而言,消耗的存储空间较大,即存在消耗资源,成本偏高的技术问题。
41.为了避免上述技术问题中的至少一种,本公开的发明人经过创造性的劳动,得到了本公开的发明构思:在内存中构建为键值对的数据结构的索引结构,键值对中的键包括网格标识,键值对中的数据值包括气象数据,以当在接收到查询请求时,基于查询请求所指示的查询位置对应的网格标识,确定并输出与查询请求对应的气象数据。
42.基于上述发明构思,本公开提供一种气象数据的查询方法和装置,应用于数据处理技术领域中的地图技术和大数据。
43.图1是根据本公开第一实施例的示意图,如图1所示,本公开实施例的气象数据的查询方法,包括:
44.s101:接收查询请求。
45.其中,查询请求用于查询目标地理位置的气象数据。目标地理位置可以为一个或多个区域,也可以为一个或多个坐标。
46.示例性的,本实施例的执行主体为气象数据的查询装置(下文简称为查询装置)。其中,查询装置可以为服务器(如云端服务器,或者,本地服务器),也可以为计算机,也可以为终端设备,也可以为处理器,也可以为芯片等,本实施例不做限定。
47.关于接收查询请求可以采用下述示例实现:
48.一个示例中,查询装置可以包括显示装置,查询装置可以控制该显示装置输出查询框,相应的,用户可以在该查询框输入查询请求。
49.另一个示例中,查询装置可以与显示装置连接,并通过该显示装置输出查询框,相
应的,用户可以在该查询框输入查询请求。
50.也就是说,查询装置与显示装置可以为一体集成的装置,也可以为两个独立的装置,本实施例不做限定。且用户可以通过如鼠标或者键盘等输入装置在查询框中输入查询请求。
51.再一个示例中,查询装置可以包括语音处理装置,用户可以通过语音的方式发起查询请求,相应的,语音处理装置在接收到语音格式的查询请求进行语音识别处理,并将处理后的查询请求传输给查询装置。
52.同理,查询装置与语音处理装置可以为一体集成的装置,也可以为两个独立的装置,本实施例不做限定。
53.值得说明的是,上述示例只是用于示范性地说明,查询装置可能接收查询请求的方式,而不能理解为对接收查询请求的限定。
54.s102:确定预设网格中目标地理位置所属的网格。其中,预设网格具有网格标识。
55.s103:根据目标地理位置对应的网格标识从内存的索引结构中,确定并输出与查询请求对应的气象数据。
56.其中,索引结构为键值对的数据结构,键值对中的键包括网格标识,键值对中的数据值包括气象数据,预设网格为对预设范围区域进行网格切割处理得到。
57.预设范围区域可以基于需求、历史记录、以及试验等方式进行设置,本实施例不做限定。例如,预设范围区域可以为全球范围内的区域,也可以为全国范围内的区域,也可以为省范围内的区域等。
58.网格切割处理是指,对预设范围区域进行网格化处理,以得到预设范围区域的各个网格,且每一网格具有唯一标识id(即网格标识)。
59.示例性的,网格切割处理可以采用于空间索引算法(如分治算法,具体可以为s2算法)实现,以基于空间索引算法确定预设范围区域的各个网格,以及每一个网格对应的网格标识。
60.在本实施例中,将气象数据以键值对(key-value)中的值存储于内存中,而非如相关技术中的分布式文件系统中,且将网格标识作为键值对中的键,以通过网格标识确定相应的气象数据。
61.值得说明的是,通过在内存中存储键值对,而键值对中的数据值可以表征气象数据,相对于将气象数据存储于分布式文件系统而言,可以减少存储空间,即可以实现节约存储资源的技术效果,且通过将气象数据存储为键值对中的数据值,可以提高对气象数据查询的效率、节约查询资源的技术效果。
62.示例性的,可以从预设网格中,确定目标地理位置所属的网格,预设网格具有网格标识,因此,目标地理位置所属的网格也具有网格标识,则可以确定出与目标地理位置对应的网格标识。
63.由于气象数据被存储于内存中的键值对中,因此,可以直接从内存中确定气象数据,且具体为从内存中的键值对中获取与查询请求对应的气象数据。
64.基于上述分析可知,本公开实施例提供了一种气象数据的查询方法,包括:接收查询请求,其中,查询请求用于查询目标地理位置的气象数据,确定预设网格中目标地理位置所属的网格,预设网格具有网格标识,根据目标地理位置对应的网格标识从内存的索引结
构中,确定并输出与查询请求对应的气象数据,其中,索引结构为键值对的数据结构,键值对中的键包括网格标识,键值对中的数据值包括气象数据,预设网格为对预设范围区域进行网格切割处理得到,在本实施例中,通过在内存中构建数据结构为键值对的索引结构,键值对中的键包括网格标识,键值对中的数据值包括气象数据,以结合目标地理位置对应的网格标识,从键值对中获取并输出与查询请求对应的气象数据的技术特征,避免了采用分布式文件系统对气象数据进行查询时,造成的遍历时间较长、效率偏低的弊端,提高了查询的效率,且通过在内存中查询气象数据,可以避免采用分布式文件系统造成的资源浪费的弊端,提高了节约资源,且节约存储成本的技术效果。
65.图2是根据本公开第二实施例的示意图,如图2所示,本公开实施例的气象数据的查询方法,包括:
66.s201:对获取到的预设范围区域的数据文件进行解析处理,得到坐标和气象数据。
67.可以理解的是,为了避免冗余的阐述,关于本实施例与上述实施例相同的技术特征,本实施例不再赘述。
68.数据文件中包括与气象数据相关的信息,如气象数据,以及气象数据对应的坐标。数据文件的格式可以为netcdf文件格式。
69.例如,该步骤可以理解为:获取预设范围区域内netcdf文件格式的数据文件,该数据文件中包括气象数据、以及与气象数据对应的坐标,对该数据文件进行解析处理,以从该数据文件中提取得到气象数据、以及气象数据对应的坐标。
70.在一些实施例中,在对数据文件进行解析处理之后,可以对解析得到的气象数据进行预处理,如对解析得到的气象数据进行异常值过滤处理、精度截取处理、以及编码处理中的至少一种。
71.其中,异常值过滤处理是指,从解析得到的气象数据中剔除异常的气象数据,且关于异常值的确定本实施例不做限定。
72.一个示例中,可以预先确定正常值区间(同理,正常值区间可以基于经验或者历史记录等进行确定),并将解析得到的气象数据中,不属于正常值区间的气象数据确定为异常值,并将该异常值剔除。
73.另一个示例中,也可以将为0的气象数据确定为异常值,以将为0的气象数据进行剔除处理。
74.通过异常值过滤处理,一方面,可以过滤掉不真实的气象数据,以使得被保留下的气象数据具有较高的可靠性和准确性;另一方面,可以减少对异常值的存储空间,即节约内存的存储资源;再一方面,可以避免输出的与查询请求的气象数据被异常值的干扰,从而提高输出的与查询请求的气象数据的准确性和可靠性;还一方面,可以减少查询时的时间,提高查询的效率。
75.精度截取处理是指,对解析得到的气象数据的数据位数进行适应性的调整,以避免繁琐复杂的表示。例如,将降水量0.12345(毫米)精度截取处理为0.123(毫米)。
76.通过精度截取处理,一方面,可以避免数据位数过多而造成的数据表示较为繁琐的弊端;另一方面,相对可以减少存储空间,从而实现节约存储资源的技术效果;再一方面,可以使得处理后的气象数据具有统一性。
77.编码处理是指,基于预设位整数对解析得到的气象数据进行处理。例如,基于32位
整数(int32)对解析得到的气象数据进行处理。通过编码处理,可以相对减少气象数据被存储于内存的存储空间,从而实现节约存储资源,提高查询效率。
78.在本实施例中,通过上述方式中的一种或多种对解析得到的气象数据进行预处理,可以避免数据的冗余、提高对数据处理的效率的技术效果。
79.其中,可以依次对对解析得到的气象数据进行异常值过滤处理、精度截取处理、以及编码处理。
80.s202:对预设范围区域进行网格切割处理,得到预设范围区域的各网格标识,并根据解析得到的坐标,确定解析得到的气象数据与预设范围区域的各网格标识之间的映射关系。
81.示例性的,可以采用上述实施例中所述的空间索引算法对预设范围区域进行网格切割处理,以将预设范围区域划分为多个网格,如图3所示,且每一网格具有网格标识。
82.例如,可以基于预设的切割等级对预设范围区域进行网格切割处理,切割等级可以基于需求、历史记录、以及试验等方式进行确定,本实施例不做限定。如切割等级为13级,基于该切割等级将预设范围区域划分为大约1km*1km大小的一系列的网格。
83.可以解析得到的坐标为映射基础,将气象数据映射至各网格标识,以构建映射关系。
84.在一些实施例中,根据解析得到的坐标,确定解析得到的气象数据与预设范围区域的各网格标识之间的映射关系,包括如下步骤:
85.第一步骤:根据预设时间间隔对解析得到的坐标、以及解析得到的气象数据进行区间分割处理,得到各时间区间的坐标和各时间区间的气象数据。
86.同理,时间间隔可以基于需求、历史记录、以及试验等方式进行确定,本实施例不做限定。例如,时间间隔可以为5分钟,则时间区间可以通过【t,t 5】(单位为分钟)表示。
87.例如,数据文件可以包括以当前时间为基准,当前时间之前的24小时内的数据文件,以及以当前时间为基准,未来72小时的数据文件。则可以5分钟为时间间隔,将96(72 24)小时划分为不同的时间区间,从而得到各时间区间的坐标(如经纬度坐标,可以通过[lat,lng]表征,lat为纬度,lng为经度)和各时间区间的气象数据。
[0088]
第二步骤:以时间区间为单位,根据每一时间区间内的坐标,确定每一时间区间内的气象数据与预设范围区域的各网格标识之间的映射关系。
[0089]
示例性的,结合上述实施例,时间区间的数量=(96*60)/5=1142,即共有1142个时间区间。则针对每一时间区间,以该时间区间内的经纬度坐标为基准,确定该时间区间内的气象数据与各网格标识之间的映射关系。
[0090]
在本实施例中,通过结合时间间隔确定时间区间,以便以时间区间为单位确定映射关系,可以提高确定映射关系的效率,且可以提高确定出的映射关系具有较高的准确性和可靠性的技术效果。
[0091]
s203:根据解析得到的坐标、解析得到的气象数据、映射关系、以及预设范围区域的各网格标识,在内存中构建数据结构为键值对的索引结构。
[0092]
也就是说,内存中存储有索引结构,该索引结构的数据结构为键值对,且该键值对可以用于表征坐标、气象数据、以及网格标识。
[0093]
值得说明的是,在本实施例中,通过结合解析得到的坐标、解析得到的气象数据、
映射关系、以及预设范围区域的各网格标识,构建键值对,可以使得键值对可以充分表征如坐标与气象数据之间,网格标识与气象数据之间的对应关系,进而当基于键值对确定与查询请求对应的气象数据时,可以使得确定出的与查询请求对应的气象数据具有较高的准确性和可靠性的技术效果。
[0094]
结合上述分析可知,可以基于时间间隔确定映射关系,相应的,可以进一步结合时间区间构建键值对。示例性,在一些实施例中,根据解析得到的坐标、解析得到的气象数据、映射关系、以及预设范围区域的各网格标识,构建键值对,包括如下步骤:
[0095]
第一步骤:将每一时间区间的最大时间确定每一时间区间的时间戳。
[0096]
例如,结合上述实施例,时间区间为【t,t 5】,则最大时间为t 5,相应的,t 5为时间区间的时间戳。
[0097]
第二步骤:根据解析得到的坐标、解析得到的气象数据、映射关系、各时间戳、以及预设范围区域的各网格标识,构建键值对。
[0098]
也就是说,在本实施例中,键值对在表征坐标、气象数据、以及网格标识的基础上,还可以进一步表征与时间相关的信息,即时间戳,而通过键值对对更为丰富的内容的表征,可以使得键值对具有较高的可靠性、多样性、以及灵活性,从而当结合键值对确定查询请求对应的气象数据时,可以提高确定查询请求对应的气象数据的效率,即可以提高气象数据查询的效率的技术效果。
[0099]
当然,在另一些实施例中,也可以将每一时间区间的最小时间确定每一时间区间的时间戳,如将t确定为时间戳。
[0100]
在一些实施例中,第二步骤可以包括如下子步骤:
[0101]
第一子步骤:将解析得到的坐标、预设范围区域的各网格标识、以及各时间戳构建为键值对中的键。
[0102]
第二子步骤:根据映射关系和预设范围区域的各网格标识,将解析得到的气象数据构建为键值对中的数据值。
[0103]
示例性的,键值对包括两部分内容,一部分内容为键、一部分内容为数据值,在本实施例中,键值对中的键可以包括三个维度的内容,分别为解析得到的坐标、网格标识、以及时间戳,键值对中的数据值包括解析得到的气象数据。
[0104]
其中,键值对的数据结构可以通过如下方式表征:
[0105]
map《cellid,map《coordinate,map《time,weatherdata》》》。
[0106]
其中,cellid为网格标识,coordinate为解析得到的坐标,time为时间戳,weatherdata为解析得到的气象数据。
[0107]
在本实施例中,通过将网格标识、时间戳、以及解析得到的坐标确定为键值对中的键,将解析得到的气象数据确定为键值对中的数据值,可以使得从不同的维度查询得到相应的气象数据,从而提高查询的灵活性和多样性的技术效果。
[0108]
在一些实施例中,在上述构建得到索引结构之后,若获取到新的数据文件,即获取到新增的气象数据,则可以基于新增的气象数据对索引结构进行更新处理,且更新处理可以包括如下步骤:
[0109]
第一步骤:对索引结构进行深拷贝,得到备份数据。
[0110]
其中,深拷贝是指,源对象(即索引结构)与拷贝对象(即备份数据)互相独立,其中
任何一个对象的改动都不会对另外一个对象造成影响。即索引结构和备份数据为两个相互独立的对象,对备份数据的处理不会影响索引结构,对索引结构的处理也不会影响备份数据。
[0111]
第一步骤:并将备份数据与新增的气象数据进行合并处理,得到更新后的索引结构。其中,更新后的索引结构用于后续的气象数据的查询。
[0112]
示例性的,合并处理的方法可以理解为对键值对中的键和数据值进行合并的过程,如增加新的键和数据值,具体的实现方法可以参见上述构建键值对的原理,此处不再赘述。
[0113]
在本实施例中,通过深拷贝和合并处理的方式对索引结构进行更新,可以实现在前的索引结构与在后的索引结构之间的独立性,避免在前的索引结构与在后的索引结构之间的数据干扰,从而提高更新的可靠性和准确性,且当基于更新后的索引结构实现气象数据的查询时,可以提高查询的可靠性和有效性的技术效果。
[0114]
在一些实施例中,可以基于存储的气象数据的时间恒定的方式得到更新后的索引结构,即更新前后的索引结构中存储的气象数据的时间相同,如均为96小时。
[0115]
例如,确定新增的气象数据对应的时长,以该时长和当前时间确定剔除时间区间,剔除时间区间中的时间距离当前时间最长,从备份数据中剔除该剔除时间区间内的键和数据值。
[0116]
在一些实施例中,在得到更新后的索引结构之后,可以将更新前的索引结构从内存中删除,以释放存储空间,提高查询效率。
[0117]
结合上述分析可知,气象数据是随时间变化的过程,因此,可以基于时间段获取数据文件,以当基于在前时间段的数据文件构建键值对之后,基于在后时间段的数据文件对该键值对进行更新,以此类推。
[0118]
在一些实施例中,可以在内存中配置用于表征气象数据的进度相关的进度数据,且具体可以基于时间复杂度实现。以在对在前的键值对进行更新时,对进度数据进行相应的更新处理。
[0119]
s204:接收查询请求。
[0120]
其中,查询请求用于查询目标地理位置的气象数据。
[0121]
s205:确定预设网格中目标地理位置所属的网格,预设网格具有网格标识。
[0122]
s206:根据目标地理位置对应的网格标识从内存的索引结构中,确定并输出与查询请求对应的气象数据。
[0123]
值得说明的是,在一些实施例中,可以结合时间复杂度实现气象数据的查询,即在一个常数时间范围内实现气象数据的查询,如果在该常数时间范围内完成了气象数据的查询,即在该常数时间范围内,确定出了与查询请求对应的气象数据,则输出该与查询请求对应的气象如果;反之,如果在该常数时间范围内,没有查询得到与查询请求对应的气象数据,则可以输出查询失败的提示消息,以避免查询时间过长影响用户查询体验的弊端,且可以避免因反复查询造成的查询资源浪费的弊端。
[0124]
应该理解的是,上述构建键值对的实施例可以为独立的实施例,上述对键值对的更新也可以为独立的实施例,也可以相互结合得到新的实施例,本公开不做限定。
[0125]
图4是根据本公开第三实施例的示意图,如图4所示,本公开实施例的气象数据的
查询方法,包括:
[0126]
s401:接收查询请求。
[0127]
其中,查询请求用于查询目标地理位置的气象数据。
[0128]
同理,为了避免冗余的阐述,关于本实施例与上述实施例相同的技术特征,本实施例不再赘述。
[0129]
s402:确定预设网格中目标地理位置所属的网格,预设网格具有网格标识。
[0130]
其中,预设网格为对预设范围区域进行网格切割处理得到。
[0131]
s403:从键值对的各网格标识中,确定与目标地理位置对应的网格标识相同的网格标识。
[0132]
其中,内存中包括索引结构,索引结构为键值对的数据结构,键值对中的键包括网格标识,键值对中的数据值包括气象数据。
[0133]
该步骤可以理解为,在键值对中确定与目标地理位置对应的网格标识对应的键。
[0134]
s404:从键值对中获取与确定出的相同的网格标识对应的气象数据,根据获取到的气象数据确定与查询请求对应的气象数据。
[0135]
在本实施例中,通过结合键值对中的表征网格标识的键,确定与该键对应的数据值(即气象数据),可以提高查询效率。
[0136]
在一些实施例中,键值对中的键还包括气象数据对应的坐标,相应的,根据获取到的气象数据确定与查询请求对应的气象数据,包括如下步骤:
[0137]
第一步骤:从键值对的各坐标中,获取与确定出的相同的网格标识所覆盖的区域所包括的各坐标。
[0138]
结合上述实施例可知,网格标识为一个区域的标识,区域内可能包括多个坐标,因此,在该步骤中,可以从表征键值对中的值的各坐标中,确定相同的网格标识所覆盖区域所包括的各坐标,即确定目标地理位置所属的网格中的各坐标。
[0139]
第二步骤:从获取到的各坐标中,确定与目标地理位置最近的坐标,并从获取到的气象数据中,提取与目标地理位置最近的坐标对应的气象数据。
[0140]
其中,提取出的气象数据为与查询请求对应的气象数据。
[0141]
结合上述分析,考虑坐标是经过解析得到的,可能存在划分精度的差异,可能存在小数位,也可能存在一定的误差等,键值对中的坐标可能无法与目标地理位置对应的坐标完全相同,则可以从键值对中的各坐标中,确定相对而言,距离目标地理位置最近的坐标,并基于该坐标从键值对中确定与之对应的数据值(即气象数据),以使得确定出的气象数据具有较高的准确性和可靠性的技术效果。
[0142]
结合上述实施例可知,键值对中的键还可以包括时间戳,相应的,若查询请求中携带查询时间,则可以结合时间戳和查询时间确定与查询请求对应的气象数据,示例性的,可以通过如下步骤实现:
[0143]
第一步骤:确定键值对中与查询时间对应的时间戳。
[0144]
示例性的,可以基于上述时间区间的划分方式确定查询时间对应的时间区间,并将该时间区间对应的最大时间值确定为查询时间对应于键值对中的时间戳。
[0145]
第二步骤:从获取到的气象数据中,提取与查询时间对应的时间戳的气象数据。
[0146]
其中,提取出的气象数据确定为与查询请求对应的气象数据。
[0147]
在本实施例中,通过结合查询时间和时间戳,确定与查询请求对应的气象数据,实现提高查询效率的技术效果。且可以理解的是,本实施例与上述结合坐标的方式对气象数据的查询可以为独立的实施例,也可以组合得到新的实施例,以提高查询的灵活性和多样性的技术效果。
[0148]
值得说明的是,上述采用时间戳的查询方式可以理解为“时间查询方式”,采用坐标的查询方式可以理解为“点查询方式”,在另一些实施例中,还可以通过“空间查询方式”和“top n查询方式”。
[0149]
关于“空间查询方式”地阐述如下:
[0150]“空间查询方式”也可以称为“区域查询方式”,即相对于对某个具体位置点(如具体坐标)的“点查询方式”而言,“空间查询方式”是针对某一个区域范围的气象数据的查询。
[0151]
示例性的,目标地理位置包括至少两个传入坐标,根据各传入坐标生成查询区域,并从预设网格中确定查询区域所属的网格;确定该网格对应的网格标识,并从键值对中确定与该网格标识相同的网格标识,以从键值对中的数据值中确定与该相同的网格标识对应的气象数据。
[0152]
在本实施例,通过基于多个传入坐标确定查询区域,以确定查询区域对应的网格标识,从而将键值对中与查询区域对应的网格标识的数据值确定为与查询请求对应的气象数据,从而实现对气象数据的查询,可以实现查询的灵活性和多样性的技术效果。
[0153]
同理,本实施例也可以结合时间戳组成新的实施例。
[0154]
在一些实施例中,每一传入坐标为查询区域对应的多边形的顶点坐标。
[0155]
也就是说,可以将一个传入坐标确定为顶点坐标,从而得到多个顶点,并根据多个顶点确定一个多边形,该多边形围成的区域即为查询区域,以提高确定查询区域的可靠性和效率的技术效果。
[0156]
关于“top n查询方式”地阐述如下:
[0157]“top n查询方式”是指,目标地理位置为满足气象数据需求的前n(n为大于1的正整数)个区域的气象数据的查询。
[0158]
其中,气象数据需求可以为降水数据需求,如查询降水量最多的10个区域;气象数据需求也可以为气温数据需求等,如查询气温最高的10个区域,其中,气温数据的单位可以为摄氏度(℃),气象数据需求也可以是其他的与气象数据相关的需求,此处不再一一列举。
[0159]
示例性的,查询装置可以基于气象数据需求在内存中构建堆结构或者树结构,依次从键值对中选取数据值对堆结构或树结构进行遍历处理,得到满足气象数据的键值对中的数据值;并将满足气象数据的键值对中的数据值确定为与查询请求对应的气象数据。
[0160]
其中,堆结构可以为小顶堆结构,也可以为大顶堆结构,本实施例不做限定。关于堆结构和树结构的构建原理,可以参见相关技术中地描述,此处不再赘述。
[0161]
现以小顶堆结构和降水数据为例,结合图5对如何确定与查询请求对应的气象数据进行示范性地阐述如下:
[0162]
结合上述实施例可知,降水数据可以表征降水量,且降水量的单位可以为毫米,相应的,若气象数据需求可以为降水量最多的7个区域,则在内存中构建如图5所示的堆数量为7的小顶堆,每个堆中的数据为降水量(单位为毫米)。
[0163]
如图5所示,一个圆圈代表一个堆,堆中的数值即为降水数据,如堆中的0.1表征降
水量为0.1毫米,以此类推,此处不再一一列举。
[0164]
遍历键值对中的数据值(即气象数据,且具体为气象数据中的降水量),且当降水量大于任一堆中的降水量时,则将各堆中最小的降水量替换为遍历到的将水量,以此类推,直至得到降水量最多的7个堆,并确定该7个堆中的降水量各自对应的区域,从而得到降水量最多的7个区域。
[0165]
如图5所示,在键值对中遍历得到的降水量为0.9毫米,则将该0.9毫米的降水量替换掉降水量为0.1毫米的堆。
[0166]
在本实施例中,通过构建堆结构或者树结构,确定与查询请求对应的气象数据,可以实现基于气象数据需求快速获取到与之对应的气象数据,从而提高查询的效率和可靠性的技术效果。
[0167]
基于上述分析可知,在本公开提供的技术方案中,可以支持不同的查询方式,从而使得对气象数据的查询具有灵活性和多样性,提高了多类查询方式的适配性和时效性的技术效果。
[0168]
s405:输出与查询请求对应的气象数据。
[0169]
在一些实施例中,若与查询请求对应的气象数据为数组或者序列表,则s405可以包括:遍历数组或者序列表,以将数组或者序列表转换为数据流,并基于数据流的方式输出与查询请求对应的气象数据。
[0170]
在本实施例中,通过数据流(stream)的方式输出与查询请求对应的气象数据,一方面,可以实现输出与查询请求对应的气象数据的多样性和灵活性,另一方面,也可以避免传输的数据量过大造成的传输速度偏低的弊端,从而提高传输与查询请求对应的气象数据的效率的技术效果。
[0171]
示例性的,可以先确定与查询请求对应的气象数据的数据量,并将该数据量与预设的数据量阈值进行比对,如果数据量达到(即大于或等于)数据量阈值,则可以数据流的方式输出与查询请求对应的气象数据;反之,如果数据量未达到(即小于)数据量阈值,则可直接输出与查询请求对应的气象数据。
[0172]
同理,数据量阈值可以基于需求、历史记录、以及试验等方式进行确定,本实施例不做限定。
[0173]
在本实施例中,通过与查询请求对应的气象数据的数据量的大小确定是否采用数据流的方式进行与查询请求对应的气象数据的传输,可以尽可能的确保数据传输的有效性和可靠性的技术效果。
[0174]
图6是根据本公开第四实施例的示意图,如图6所示,本公开实施例的气象数据的查询装置600,包括:
[0175]
接收单元601,用于接收查询请求,其中,查询请求用于查询目标地理位置的气象数据。
[0176]
第一确定单元602,用于确定预设网格中目标地理位置所属的网格,所述预设网格具有网格标识。
[0177]
第二确定单元603,用于根据目标地理位置对应的网格标识从内存的索引结构中,确定与查询请求对应的气象数据。
[0178]
输出单元604,用于输出与查询请求对应的气象数据。
[0179]
其中,索引结构为键值对的数据结构,键值对中的键包括网格标识,键值对中的数据值包括气象数据,预设网格为对预设范围区域进行网格切割处理得到。
[0180]
图7是根据本公开第五实施例的示意图,如图7所示,本公开实施例的气象数据的查询装置700,包括:
[0181]
解析单元701,用于对获取到的所述预设范围区域的数据文件进行解析处理,得到坐标和气象数据。
[0182]
处理单元702,用于对解析得到的气象数据进行异常值过滤处理、精度截取处理、以及编码处理中的至少一种。
[0183]
切割单元703,用于对预设范围区域进行网格切割处理,得到预设范围区域的各网格标识。
[0184]
第三确定单元704,用于根据解析得到的坐标,确定解析得到的气象数据与预设范围区域的各网格标识之间的映射关系。
[0185]
结合图7可知,在一些实施例中,第三确定单元704,包括:
[0186]
分割子单元7041,用于根据预设时间间隔对解析得到的坐标、以及解析得到的气象数据进行区间分割处理,得到各时间区间的坐标和各时间区间的气象数据。
[0187]
第四确定子单元7042,用于以时间区间为单位,根据每一时间区间内的坐标,确定每一时间区间内的气象数据与预设范围区域的各网格标识之间的映射关系。
[0188]
第一构建单元705,用于根据解析得到的坐标、解析得到的气象数据、映射关系、以及预设范围区域的各网格标识,构建键值对。
[0189]
结合图7可知,在一些实施例中,第一构建单元705,包括:
[0190]
第五确定子单元7051,用于将每一时间区间的最大时间确定每一时间区间的时间戳。
[0191]
构建子单元7052,用于根据解析得到的坐标、解析得到的气象数据、映射关系、各时间戳、以及预设范围区域的各网格标识,构建键值对。
[0192]
在一些实施例中,构建子单元7052,包括:
[0193]
第一构建模块,用于将解析得到的坐标、预设范围区域的各网格标识、以及各时间戳构建为键值对中的键。
[0194]
第二构建模块,用于根据映射关系和预设范围区域的各网格标识,将解析得到的气象数据构建为键值对中的数据值。
[0195]
获取单元706,用于获取新增的气象数据。
[0196]
拷贝单元707,用于对索引结构进行深拷贝,得到备份数据。
[0197]
合并单元708,用于将备份数据与新增的气象数据进行合并处理,得到更新后的索引结构。
[0198]
接收单元709,用于接收查询请求,其中,查询请求用于查询目标地理位置的气象数据。
[0199]
第一确定单元710,用于确定预设网格中目标地理位置所属的网格,所述预设网格具有网格标识。
[0200]
结合图7可知,在一些实施例中,目标地理位置包括至少两个传入坐标;第一确定单元710,包括:
[0201]
生成子单元7101,用于根据各传入坐标生成查询区域。
[0202]
第三确定子单元7102,用于从预设网格中确定查询区域所属的网格。
[0203]
在一些实施例中,每一传入坐标为查询区域对应的多边形的顶点坐标。
[0204]
第二确定单元711,用于根据目标地理位置对应的网格标识从内存的索引结构中,确定与查询请求对应的气象数据。
[0205]
其中,索引结构为键值对的数据结构,键值对中的键包括网格标识,键值对中的数据值包括气象数据,预设网格为对预设范围区域进行网格切割处理得到。
[0206]
结合图7可知,在一些实施例中,第二确定单元711,包括:
[0207]
第一确定子单元7111,用于从键值对的各网格标识中,确定与目标地理位置对应的网格标识相同的网格标识。
[0208]
获取子单元7112,用于从键值对中获取与确定出的相同的网格标识对应的气象数据。
[0209]
第二确定子单元7113,用于根据获取到的气象数据确定与查询请求对应的气象数据。
[0210]
在一些实施例中,键值对中的键还包括气象数据对应的坐标;第二确定子单元7113,包括:
[0211]
获取模块,用于从键值对的各坐标中,获取与确定出的相同的网格标识所覆盖的区域所包括的各坐标。
[0212]
第一确定模块,用于从获取到的各坐标中,确定与目标地理位置最近的坐标。
[0213]
第一提取模块,用于从获取到的气象数据中,提取与目标地理位置最近的坐标对应的气象数据,其中,提取出的气象数据为与查询请求对应的气象数据。
[0214]
在一些实施例中,键值对中的键还包括气象数据对应的时间戳;查询请求中携带查询时间;第二确定子单元7113,包括:
[0215]
第二确定模块,用于确定键值对中与查询时间对应的时间戳。
[0216]
第二提取模块,用于从获取到的气象数据中,提取与查询时间对应的时间戳的气象数据,其中,提取出的气象数据确定为与查询请求对应的气象数据。
[0217]
输出单元712,用于输出与查询请求对应的气象数据。
[0218]
结合图7可知,在一些实施例中,若与所述查询请求对应的气象数据为数组或者序列表,输出单元712,包括:
[0219]
第六确定子单元7121,用于确定与查询请求对应的气象数据的数据量。
[0220]
转换子单元7122,用于若数据量达到预设的数据量阈值,则遍历数组或者序列表,以将数组或者序列表转换为数据流。
[0221]
输出子单元7123,用于基于数据流的方式输出与查询请求对应的气象数据。
[0222]
在一些实施例中,目标地理位置为满足气象数据需求的前n个区域,n为大于1的正整数;装置700还包括:
[0223]
第二构建单元713,用于基于气象数据需求在内存中构建堆结构或者树结构。
[0224]
遍历单元714,用于依次从键值对中选取数据值对堆结构或树结构进行遍历处理,得到满足气象数据的键值对中的数据值。
[0225]
第四确定单元715,用于将满足气象数据的键值对中的数据值确定为与查询请求
对应的气象数据。
[0226]
图8是根据本公开第六实施例的示意图,如图8所示,本公开中的电子设备800可以包括:处理器801和存储器802。
[0227]
存储器802,用于存储程序;存储器802,可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram),如静态随机存取存储器(英文:static random-access memory,缩写:sram),双倍数据率同步动态随机存取存储器(英文:double data rate synchronous dynamic random access memory,缩写:ddr sdram)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器802用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器802中。并且上述的计算机程序、计算机指令、数据等可以被处理器801调用。
[0228]
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器802中。并且上述的计算机程序、计算机指据等可以被处理器801调用。
[0229]
处理器801,用于执行存储器802存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。
[0230]
具体可以参见前面方法实施例中的相关描述。
[0231]
处理器801和存储器802可以是独立结构,也可以是集成在一起的集成结构。当处理器801和存储器802是独立结构时,存储器802、处理器801可以通过总线803耦合连接。
[0232]
本实施例的电子设备可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
[0233]
本公开的技术方案中,所涉及的用户个人信息(如查询请求中的位置相关信息等)的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
[0234]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0235]
根据本公开的实施例,本公开还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
[0236]
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0237]
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至
总线904。
[0238]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0239]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如气象数据的查询方法。例如,在一些实施例中,气象数据的查询方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的气象数据的查询方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行气象数据的查询方法。
[0240]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0241]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0242]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0243]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0244]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0245]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0246]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0247]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献