一种多维时空数据的查询优化方法、系统及存储介质与流程
本发明涉及计算机数据处理,尤其涉及一种多维时空数据的查询优化方法、系统及存储介质。
背景技术:
1、在户外媒体资源管理、共享设备调度等应用场景中,大量物理资源同时具有地理空间位置属性和随时间动态变化的可用性状态,用户经常需要根据多维时空条件进行资源检索。
2、早期方案采用离线匹配方式,仅支持按名称查询,无法按地理位置范围检索,且只能统计楼盘级的总数,无法锁定具体点位。随着业务发展,现有技术方案逐渐采用支持地理空间索引的通用搜索引擎来管理此类时空数据,为每个物理资源建立索引文档,文档中包含地理坐标字段和时间可用性字段。查询时,搜索引擎对全部候选文档逐一执行精确的地理距离计算和时间区间比对。
3、该现有技术方案存在两个主要问题:其一,查询时需对全部候选文档逐一执行计算密集型的地理距离计算和逐一时间比对,数据量大或高并发时,cpu负载高、响应延迟大;其二,物理资源状态变更频繁,每次变更都需更新索引文档,导致搜索引擎内部频繁触发索引合并操作,造成严重的“写放大”问题,进一步拖累系统性能。
技术实现思路
1、针对现有技术的不足,本发明的目的在于提供一种多维时空数据的查询优化方法,显著降低查询的cpu负载和响应延迟。
2、本发明的目的采用以下技术方案实现:
3、一种多维时空数据的查询优化方法,由具有处理器和存储器的计算系统执行,包括以下步骤:
4、s1:获取查询请求,所述查询请求携带空间范围条件、时间周期条件及至少一项资源属性过滤条件;
5、s2:获取预先生成的时空离散数据块,所述时空离散数据块是将物理资源按预设时间粒度拆分为独立单元后,聚合生成的元数据记录,每条所述元数据记录至少携带有空间覆盖范围标识和时间区间标识;
6、s3:基于所述空间范围条件和所述时间周期条件,优先对所述时空离散数据块进行检索;
7、s4:响应于所述空间范围条件完全包含一个或多个所述时空离散数据块的空间覆盖范围,且所述时间周期条件完全覆盖对应的时间区间,直接命中该时空离散数据块的标识,作为直接命中的结果,并跳过对所述时空离散数据块所关联物理资源的空间匹配运算与时间匹配运算;
8、s5:对于不满足所述完全包含条件的剩余候选物理资源,执行所述空间匹配运算与时间匹配运算;
9、s6:合并所述直接命中的结果与所述空间匹配运算与时间匹配运算的结果,作为查询结果返回。
10、在其中一个实施例中,所述步骤s2中获取预先生成的时空离散数据块,包括:
11、通过部署于数据源系统的实时数据采集模块,监听物理资源的变更事件,所述变更事件至少包括有效期变更、占用状态变更及维护状态变更;
12、将所述变更事件推送至消息中间件,由流处理引擎消费所述变更事件;
13、所述流处理引擎按照所述物理资源的有效时间区间,将可用时间轴离散化为多个连续、互不重叠的时间周期,并为每个时间周期生成一条独立的元数据记录;
14、将生成的所述元数据记录写入搜索引擎的索引中,以形成所述时空离散数据块。
15、在其中一个实施例中,所述流处理引擎采用窗口计算机制,将落入同一预设时间窗口内的、针对同一物理资源的多次变更事件,在内存中聚合为一个最终状态,并在所述时间窗口关闭后,将所述最终状态批量写入所述搜索引擎的索引中。
16、在其中一个实施例中,所述搜索引擎支持地理空间索引;
17、所述为每个时间周期生成一条独立的元数据记录,还包括:根据所述物理资源的地理坐标,计算对应的地理哈希编码,并将所述地理哈希编码作为所述空间覆盖范围标识写入所述元数据记录;
18、所述步骤s3中优先对所述时空离散数据块进行检索,包括:将所述查询请求中的空间范围条件转换为对所述地理哈希编码的前缀匹配查询。
19、在其中一个实施例中,所述方法还包括:
20、接收针对所述资源属性过滤条件之外的新增筛选逻辑;
21、将所述新增筛选逻辑编译为所述搜索引擎原生支持的过滤脚本;
22、在查询请求执行的文档评分阶段,动态加载并执行所述过滤脚本,以对候选结果集进行二次过滤,并在不重启所述计算系统的情况下使所述新增筛选逻辑生效。
23、在其中一个实施例中,所述预设时间粒度为周或者天。
24、在其中一个实施例中,所述空间覆盖范围标识为所述物理资源所在社区或者小区的标识编码;
25、所述时间区间标识为周次编码或者日期区间编码。
26、在其中一个实施例中,每个所述时空离散数据块还携带有库存数据属性,所述库存数量属性根据所述物理资源的容纳能力配置为大于或等于1的整数。
27、一种计算系统,包括处理器和存储器,所述存储器中存储有计算机程序指令,当所述指令被所述处理器执行时,使得所述系统执行所述的多维时空数据的查询优化方法。
28、一种计算机可读存储介质,其上存储有计算机程序指令,当所述指令被处理器执行时,实现所述的多维时空数据的查询优化方法。
29、与现有技术相比,本发明的有益效果至少包括:
30、本申请提供了一种多维时空数据的查询优化方法,通过预先生成同时内化空间和时间属性的时空离散数据块,并构建基于该数据块的两级查询机制--第一级对时空范围被查询条件完全包含的数据块直接通过倒排索引命中并跳过精确计算,第二级仅对查询边界处的少量剩余资源执行精确运算,将查询的精确计算复杂度从与数据总量相关转变为仅与查询边界所触及的部分数据块相关,从而显著降低查询的cpu负载和响应延迟。
31、该方法通过流处理引擎的窗口计算机制,将高频状态变更聚合后批量写入搜索引擎,有效抑制了频繁索引更新导致的“写放大”问题,保障了索引写入性能的稳定。
32、该方法通过地理哈希编码的前缀匹配查询,将空间范围查询转化为对字符串前缀的倒排索引精确命中,进一步降低了空间维度的计算复杂度。
33、该方法通过搜索引擎原生过滤脚本的动态加载机制,实现了筛选逻辑的热插拔,无需重启系统即可扩展筛选功能。
34、该方法通过库存数量属性的引入,使方案能够同时适用于独占性和共享性两种资源管理模式,增强了技术方案的通用性和适用范围。
1.一种多维时空数据的查询优化方法,其特征在于,由具有处理器和存储器的计算系统执行,包括以下步骤:
2.如权利要求1所述的多维时空数据的查询优化方法,其特征在于,所述步骤s2中获取预先生成的时空离散数据块,包括:
3.如权利要求2所述的多维时空数据的查询优化方法,其特征在于,所述流处理引擎采用窗口计算机制,将落入同一预设时间窗口内的、针对同一物理资源的多次变更事件,在内存中聚合为一个最终状态,并在所述时间窗口关闭后,将所述最终状态批量写入所述搜索引擎的索引中。
4.如权利要求2所述的多维时空数据的查询优化方法,其特征在于,所述搜索引擎支持地理空间索引;
5.如权利要求2所述的多维时空数据的查询优化方法,其特征在于,还包括:
6.如权利要求1所述的多维时空数据的查询优化方法,其特征在于,所述预设时间粒度为周或者天。
7.如权利要求1所述的多维时空数据的查询优化方法,其特征在于,所述空间覆盖范围标识为所述物理资源所在社区或者小区的标识编码;
8.如权利要求1所述的多维时空数据的查询优化方法,其特征在于,每个所述时空离散数据块还携带有库存数据属性,所述库存数量属性根据所述物理资源的容纳能力配置为大于或等于1的整数。
9.一种计算系统,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序指令,当所述指令被所述处理器执行时,使得所述系统执行如权利要求1至8中任一项所述的多维时空数据的查询优化方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述指令被处理器执行时,实现如权利要求1至8中任一项所述的多维时空数据的查询优化方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com