一种基于语义影响域的流式维表一致性控制方法与流程
本申请涉及数据处理的,具体涉及一种基于语义影响域的流式维表一致性控制方法。
背景技术:
1、随着实时风控、在线监测、实时分析等业务对数据处理时效性的要求不断提高,流式计算系统通常需要将持续到达的流数据与外部数据库中的维表数据进行关联,以补充业务属性或者完成条件判断。
2、现有流式计算系统通常将维表数据加载至内存缓存,以降低外部数据库查询延迟和访问压力。在涉及not in、not exists或left join结合is null等非存在性判断时,部分缓存发生未命中时难以区分维表记录实际不存在还是尚未加载,容易导致判断结果偏差;而全量缓存又会增加内存占用、初始化时间和维护压力。同时,维表数据持续新增、修改或删除,也容易造成缓存范围与实际关联需求不一致。
3、因此,如何根据流式sql作业实际涉及的关联条件和过滤条件确定需要重点保持完整的维表记录范围,并在维表数据发生变化时及时调整对应缓存内容及其完整状态,从而在控制缓存资源占用的同时提高维表关联和非存在性判断的准确性,成为现有流式计算维表关联过程中需要解决的技术问题。
技术实现思路
1、本申请提供了一种基于语义影响域的流式维表一致性控制方法,便于根据流式sql作业实际涉及的关联条件和过滤条件确定需要重点保持完整的维表记录范围,并在维表数据发生变化时及时调整对应缓存内容及其完整状态,从而在控制缓存资源占用的同时提高维表关联和非存在性判断的准确性。
2、在本申请的第一方面提供了一种基于语义影响域的流式维表一致性控制方法,所述方法包括:解析流式sql作业的关联操作、过滤操作和非存在性判断条件,形成sql条件关联关系;通过所述sql条件关联关系确定查询语义影响范围,并对维表记录进行分类,得到分类结果;依据所述分类结果确定目标维表记录,建立重点缓存;根据所述重点缓存的数据加载状态确定数据完整状态,并控制流数据执行维表关联和非存在性判断;获取维表的增量变更数据,根据所述查询语义影响范围更新缓存数据,得到查询执行结果;基于所述查询执行结果调整所述查询语义影响范围和数据完整状态。
3、在本申请的第二方面提供了一种基于语义影响域的流式维表一致性控制装置,所述装置包括获取模块和处理模块,其中,所述获取模块,用于解析流式sql作业的关联操作、过滤操作和非存在性判断条件,形成sql条件关联关系;所述处理模块,用于通过所述sql条件关联关系确定查询语义影响范围,并对维表记录进行分类,得到分类结果;所述处理模块,还用于依据所述分类结果确定目标维表记录,建立重点缓存;所述处理模块,还用于根据所述重点缓存的数据加载状态确定数据完整状态,并控制流数据执行维表关联和非存在性判断;所述处理模块,还用于获取维表的增量变更数据,根据所述查询语义影响范围更新缓存数据,得到查询执行结果;所述处理模块,还用于基于所述查询执行结果调整所述查询语义影响范围和数据完整状态。
4、在本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;所述存储器有存储计算机程序,其中,所述计算机程序在被所述处理器执行时实现如上所述的一种基于语义影响域的流式维表一致性控制方法。
5、在本申请的第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有指令,当所述指令被执行时,执行如上所述的一种基于语义影响域的流式维表一致性控制方法。
6、综上所述,本申请中提供的一个或多个技术方案,至少具有如下技术效果或优点:
7、通过解析流式sql作业中的关联操作、过滤操作和非存在性判断条件,将原本分散在不同处理环节中的条件关系进行关联,能够明确哪些维表记录会实际影响当前查询结果,从而避免仅依据固定缓存策略处理全部维表数据,提高维表关联处理与实际sql查询需求之间的匹配程度。通过所述sql条件关联关系进一步确定查询语义影响范围,并按照维表记录对查询结果的影响程度进行分类,可以将真正影响非存在性判断结果的维表记录与一般关联记录、无关记录区分开,使后续缓存资源集中用于需要保持完整性的目标维表记录。相比直接对整个维表建立全量缓存,该方式能够减少不必要的缓存数据量,降低内存占用、缓存初始化时间以及缓存维护压力。
8、依据分类结果建立重点缓存,并结合重点缓存的数据加载状态确定数据完整状态,使系统在执行维表关联和非存在性判断之前能够先确认相关维表记录是否已经完整加载。这样可以避免将“缓存中未查到记录”直接解释为“维表中不存在记录”,降低因缓存尚未完成加载而产生的错误保留或错误过滤,提高not in、not exists以及left join结合isnull等非存在性判断的准确性和稳定性。通过获取维表的增量变更数据,并根据查询语义影响范围有针对性地更新缓存数据,可以使重点缓存及时响应维表记录的新增、修改和删除,同时减少与当前查询无关的数据变更对缓存处理造成的影响,从而在保持缓存数据及时性的同时降低无效更新次数以及外部数据访问压力。
9、利用查询执行结果动态调整查询语义影响范围和数据完整状态,可以使缓存控制方式随实际流数据分布、维表变化以及查询执行情况进行持续修正,避免初始确定的查询语义影响范围长期固定后与实际运行状态产生偏差,从而提高长时间运行情况下缓存范围与实际查询需求之间的一致性。因此,该技术方案能够在不过度依赖整表全量缓存的情况下,使影响查询结果的维表记录保持较高的数据完整性,并通过增量更新和动态调整持续维护该完整性,从而兼顾流式sql维表关联的判断准确性、处理实时性、内存利用效率和缓存维护效率,尤其能够降低非存在性判断场景下因缓存不完整造成的查询结果偏差。
1.一种基于语义影响域的流式维表一致性控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于语义影响域的流式维表一致性控制方法,其特征在于,所述解析流式sql作业的关联操作、过滤操作和非存在性判断条件,形成sql条件关联关系,具体包括:
3.根据权利要求1所述的基于语义影响域的流式维表一致性控制方法,其特征在于,所述通过所述sql条件关联关系确定查询语义影响范围,并对维表记录进行分类,得到分类结果,具体包括:
4.根据权利要求1所述的基于语义影响域的流式维表一致性控制方法,其特征在于,所述依据所述分类结果确定目标维表记录,建立重点缓存,具体包括:
5.根据权利要求1所述的基于语义影响域的流式维表一致性控制方法,其特征在于,所述获取维表的增量变更数据,根据所述查询语义影响范围更新缓存数据,得到查询执行结果,具体包括:
6.根据权利要求1所述的基于语义影响域的流式维表一致性控制方法,其特征在于,所述基于所述查询执行结果调整所述查询语义影响范围和数据完整状态,具体包括:
7.根据权利要求1所述的基于语义影响域的流式维表一致性控制方法,其特征在于,所述方法还包括:
8.一种基于语义影响域的流式维表一致性控制装置,其特征在于,所述装置用于执行如权利要求1至7任意一项所述的基于语义影响域的流式维表一致性控制方法,所述装置包括获取模块和处理模块,其中,
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;所述存储器有存储计算机程序,其中,所述计算机程序在被所述处理器执行时实现如权利要求1至7中任意一项所述的一种基于语义影响域的流式维表一致性控制方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储有指令,当所述指令被执行时,执行如权利要求1至7任意一项所述的一种基于语义影响域的流式维表一致性控制方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com