一种可验证数据执行路径选择方法、程序产品、电子设备与流程
本技术涉及数据处理,尤其涉及一种可验证数据执行路径选择方法、程序产品、电子设备。
背景技术:
1、当前对待处理数据(比如,数据库)执行数据任务(例如数据库查询场景)时,数据处理系统涵盖扫描、关联、过滤、转换、聚合等处理环节。系统接收数据任务以及待处理数据后,根据待处理数据以及数据任务进行解析,并映射生成对应的扫描算子、关联算子、过滤算子、转换算子、聚合算子;各类算子按照数据流传递次序串联形成完整执行路径,依托该路径完成数据处理。
2、目前,行业主流优化方案基于固定规则的查询重写、基于传统代价模型的执行路径筛选、基于运行时统计指标的自适应动态调优方式,来调整算子之间的整体执行时排布次序,也可更换单个算子内部的执行逻辑以生成优化后的目标执行路径并交付执行,以节省任务处理的计算机资源。
3、但是,只经过固定规则匹配或者代价比较所得到的优化后的目标执行路径,仅考虑了节省资源,缺乏可验证的语义等价证明机制,无法保证根据目标执行路径执行与使用优化前的路径执行所得到的结果一致,导致直接采用优化后的目标执行路径执行数据任务时,会大幅提升输出数据结果出错的概率。
技术实现思路
1、本技术提供一种可验证数据执行路径选择方法、程序产品、电子设备,用以解决无法保证根据目标执行路径执行与使用优化前的路径执行所得到的结果一致,导致直接采用优化后的目标执行路径执行数据任务时,大幅提升输出数据结果出错概率的问题。
2、第一方面,提供了一种可验证数据执行路径选择方法,方法包括:
3、获取待处理数据以及针对待处理数据的数据任务;
4、根据待处理数据以及数据任务进行解析得到的关联规则、聚合规则、转换规则、过滤条件、输出字段和输出一致性约束,确定出对应的语义算子,并根据语义算子之间的数据依赖关系构建语义算子图,语义算子图中的节点表示语义算子,边表示相邻算子之间的数据依赖关系,语义算子包括以下至少一种:关联算子、过滤算子、转换算子、聚合算子、输出约束算子;数据依赖关系包括以下至少一种:字段依赖、键映射依赖、聚合依赖、转换依赖和输出空间依赖;
5、根据预设的执行路径类型,从语义算子图中生成多个候选执行路径;
6、从候选执行路径中确定出通过语义约束验证的候选执行路径,得到初筛执行路径,其中,语义约束验证包括对以下语义约束项的验证:字段依赖保持的约束验证、键映射一致性的约束验证、聚合可组合性的约束验证、转换一致性的约束验证、过滤谓词保持的约束验证以及输出空间一致性的约束验证;
7、根据各个初筛执行路径在当前执行环境下的资源预算状态、执行代价以及语义约束情况,从再次通过当前执行环境下的语义约束验证的初筛执行路径中选择出与当前执行环境资源适配最优的目标执行路径;
8、基于目标执行路径对待处理数据进行任务处理,并基于执行过程中的执行状态信息生成可验证执行等价证明。
9、可以理解的,语义算子图可以表征各算子之间的关系,从而根据语义算子图生成所需的候选执行路径。即生成的候选执行路径为针对数据任务与预设执行路径类型所对应的潜在的可能进行替换的执行路径。并且,初筛执行路径是从候选执行路径中确定出通过语义约束验证的路径,此时,得到的初筛执行路径就可以均满足所需的语义逻辑约束,以保证后续执行过程中的执行路径尽可能满足语义逻辑。在执行过程中,计算机资源其实是动态变化的,从再次通过当前执行环境下的语义约束验证的初筛执行路径中选择出与当前执行环境资源适配最优的目标执行路径,即最终确定的目标执行路径经过了2次语义约束验证,从而保证利用目标执行路径执行时得到的输出结果正确。并且,选择出的目标执行路径是与当前执行环境资源适配最优的路径,使得计算机资源利用效率较高。此外 在执行时生成可验证执行等价证明,该可验证执行等价证明可以用于证明目标执行路径相对于原始执行路径保持输出语义等价。此时,基于目标执行路径对待处理数据进行任务处理时,可能保证基于执行路径执行所得到的输出结果为正确结果。即,在语义约束成立的前提下,选择能够节省计算机资源的执行路径,从而使得基于目标执行路径执行不仅可以节省资源,也可以输出正确结果。
10、在上述第一方面的一种可能实现中,执行路径类型包括以下至少两种:预聚合路径、延迟关联路径、字典化转换路径、分块执行路径、列式中间表示路径、最小状态物化路径和保守回退路径。
11、在上述第一方面的一种可能实现中,从候选执行路径中确定出通过语义约束验证的候选执行路径,得到初筛执行路径,包括:
12、根据语义约束项得到约束传播图,约束传播图用于检查关系;
13、将每个候选执行路径与约束传播图进行绑定,并对每条候选执行路径,执行以下操作:
14、直接从数据任务的输出约束作为起点沿着候选执行路径的算子链路反向回溯,检查每一步中间运算节点是否破坏约束传播图中的约束关系,其中,输出约束是基于数据任务的任务目标按照预设规范生成的;
15、在任意一步均没有破坏约束传播图中的约束关系的情况下,确定候选执行路径通过语义约束验证。
16、在上述第一方面的一种可能实现中,资源预算状态包括对以下资源状态参数的预算:
17、当前内存预算,当前 cpu预算,当前 i/o 预算,缓存预算,键宽预算,选择性预算、中间结果增长膨胀预算。
18、在上述第一方面的一种可能实现中,根据各个初筛执行路径在当前执行环境下的资源预算状态、执行代价以及语义约束情况,从再次通过当前执行环境下的语义约束验证的初筛执行路径中选择出与当前执行环境资源适配最优的目标执行路径,包括:
19、根据各初筛执行路径在当前执行环境下的资源预算状态、执行代价,以及语义约束情况,按照预设评分规则进行联合评分,得到各初筛执行路径的评分结果,将评分结果最大的作为目标执行路径。
20、在上述第一方面的一种可能实现中,所述预设评分规则包括:
21、,
22、表示对第i个初筛执行路径的评分结果,表示第i个初筛执行路径;表示第i个初筛执行路径在当前执行环境下的执行代价;表示基于当前执行环境下的资源预算状态和执行代价计算得到的资源适配评分;表示第i个初筛执行路径在当前执行环境下的语义约束情况;表示当前执行环境下的语义约束情况的映射函数;
23、并且,当第i个初筛执行路径通过当前执行环境下的语义约束验证的,则的值为1,不通过,则值为0;第i个初筛执行路径的资源适配评分基于第i个初筛执行路径执行时各资源状态参数的预计降低比例进行加权求和计算得到的。
24、在上述第一方面的一种可能实现中,基于目标执行路径对待处理数据进行任务处理,包括:
25、依据目标执行路径从待处理数据中划分出多个执行数据块,目标执行路径对应相应资源消耗;
26、对各执行数据块进行与目标执行路径的算子链路所匹配的分块语义执行操作,其中,分块语义执行操作包括以下至少一种:局部聚合、关联摘要生成、转换索引生成和最小状态持久化。
27、在上述第一方面的一种可能实现中,方法还包括:利用语义切片状态表示每个执行数据块在执行过程中的中间状态,用于支持中间结果恢复、执行等价验证和路径回退,
28、语义切片状态保存内容包括以下至少一种:
29、算子执行状态信息、算子上下文元数据以及数据流传递控制信息。
30、在上述第一方面的一种可能实现中,可验证执行等价证明,包括:等价约束、输入特征签名、变换链、资源预算快照、语义传播轨迹、回退条件以及输出约束摘要。
31、在上述第一方面的一种可能实现中,方法还包括:
32、当执行反馈显示真实代价高于预测代价、语义约束验证抽检不通过、可验证执行等价证明生成失败或输出一致性风险升高时,将目标执行路径回退至保守执行路径或重新选择目标执行路径。
33、第二方面,提供了一种电子设备,包括处理器,存储器,存储器存储有计算机程序/指令,当存储器中的计算机程序/指令被处理器执行时,实现如上述第一方面以及第一方面的各种可能实现中任一项的可验证数据执行路径选择方法。
34、第三方面,提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时,实现如上述第一方面以及第一方面的各种可能实现中任一项的可验证数据执行路径选择方法。
35、第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,指令在计算机上执行时使得计算机执行时实现如上述第二方面的可验证数据执行路径选择方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com