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

算子执行方法、装置、电子设备及存储介质与流程

2022-10-13 05:03:50 来源:中国专利 TAG:

技术特征:
1.一种算子执行方法,其特征在于,所述方法包括:确定待处理的目标数据表以及待执行的目标算子;将所述目标数据表进行分区,得到多个表数据分区;针对每个所述表数据分区,启动至少一个第一线程,其中,每个所述第一线程启动多个第一协程交替执行预设的数据项处理操作,以得到所述表数据分区对应的哈希表,每个所述第一协程利用单指令多数据流执行所述数据项处理操作;基于每个所述表数据分区的所述哈希表执行所述目标算子。2.根据权利要求1所述的方法,其特征在于,所述将所述目标数据表进行分区,得到多个表数据分区,包括:根据数据项key值的比特位数以及设定的数据容量阈值对所述目标数据表进行分区,得到多个表数据分区,其中,每个所述表数据分区中的数据容量不超过所述数据容量阈值且同一所述表数据分区中数据项key值的比特位数相同。3.根据权利要求2所述的方法,其特征在于,所述数据容量阈值通过以下方式设定:根据所述目标算子的算子类型、页表缓存器tlb对应的数据容量,以及末级高速缓存llc对应的数据容量,确定所述数据容量阈值。4.根据权利要求1所述的方法,其特征在于,所述启动至少一个第一线程,包括:根据所述目标算子的算子类型,确定目标线程数量,所述目标线程数量为不小于1的整数;按照所述目标线程数量启动第一线程。5.根据权利要求4所述的方法,其特征在于,所述根据所述目标算子的算子类型,确定目标线程数量,包括:在所述目标算子为第一类型算子的情况下,确定所述目标线程数量为一个,其中,所述第一类型算子的执行过程包括两个或两个以上执行阶段;在所述目标算子为第二类型算子的情况下,确定所述目标线程数量为两个或两个以上,其中,所述第二类型算子的执行过程包括一个执行阶段。6.根据权利要求5所述的方法,其特征在于,所述基于每个所述表数据分区的所述哈希表执行所述目标算子,包括:在所述目标算子为第二类型算子的情况下,将两个或者两个以上所述第一线程执行时得到的所述哈希表进行合并,得到合并哈希表;基于所述合并哈希表执行所述目标算子。7.根据权利要求1所述的方法,其特征在于,所述数据项处理操作包括两个或两个以上数据项处理子操作,所述第一线程通过以下方式实现启动多个第一协程交替执行所述数据项处理操作:创建多个第一协程;顺次针对每个所述数据项处理子操作,轮询所述多个第一协程,通过轮询到的所述第一协程执行所述数据项处理子操作。8.根据权利要求7所述的方法,其特征在于,所述通过轮询到的所述第一协程执行所述数据项处理子操作,包括:从表数据分区中选取n个未处理的数据项,所述n为预设的正整数;
通过轮询到的所述第一协程对所述n个未处理的数据项执行所述数据项处理子操作。9.根据权利要求1所述的方法,其特征在于,所述基于每个所述表数据分区的所述哈希表执行所述目标算子,包括:基于每个所述表数据分区的所述哈希表,利用单指令多数据流执行所述目标算子。10.根据权利要求1所述的方法,其特征在于,在所述目标算子为哈希连接算子的情况下,所述目标数据表包括第一数据表和第二数据表,所述将所述目标数据表进行分区,得到多个表数据分区,包括:将所述第一数据表进行分区,得到多个第一表数据分区,以及将所述第二数据表进行分区,得到多个第二表数据分区;所述基于每个所述表数据分区的所述哈希表,利用单指令多数据流执行所述目标算子,包括:针对每个所述第二表数据分区的第二哈希表,启动一个第二线程,其中,所述第二线程启动多个第二协程交替执行预设的算子执行操作,每个所述第二协程利用单指令多数据流执行所述算子执行操作。11.根据权利要求10所述的方法,其特征在于,所述第二协程利用单指令多数据流执行所述算子执行操作,包括:从所述第二哈希表中选取m个第二哈希值;针对所述m个第二哈希值中的每个第二哈希值,从满足预设条件的第一哈希表中查找与所述第二哈希值相匹配的目标第一哈希值;在从所述第一哈希表中查找到所述目标第一哈希值的情况下,将所述目标第一哈希值对应的数据项与所述第二哈希值对应的数据项连接。12.一种算子执行装置,其特征在于,所述装置包括:确定模块,用于确定待处理的目标数据表以及待执行的目标算子;分区模块,用于将所述目标数据表进行分区,得到多个表数据分区;启动模块,用于针对每个所述表数据分区,启动至少一个第一线程,其中,每个所述第一线程启动多个第一协程交替执行预设的数据项处理操作,以得到所述表数据分区对应的哈希表,每个所述第一协程利用单指令多数据流执行所述数据项处理操作;执行模块,用于基于每个所述表数据分区的所述哈希表执行所述目标算子。13.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的算子执行程序,以实现权利要求1~11中任一项所述的算子执行方法。14.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~11中任一项所述的算子执行方法。

技术总结
本发明实施例涉及计算机技术领域,为解决现有技术中无法提升数据库算子执行速度的技术问题,本发明实施例涉及一种算子执行方法、装置、电子设备及存储介质,所述方法包括:确定待处理的目标数据表以及待执行的目标算子;将所述目标数据表进行分区,得到多个表数据分区;针对每个所述表数据分区,启动至少一个第一线程,其中,每个所述第一线程启动多个第一协程交替执行预设的数据项处理操作,以得到所述表数据分区对应的哈希表,每个所述第一协程利用单指令多数据流执行所述数据项处理操作;基于每个所述表数据分区的所述哈希表执行所述目标算子。由此,能够实现提高数据库算子的执行性能。执行性能。执行性能。


技术研发人员:方祝和
受保护的技术使用者:北京镜舟科技有限公司
技术研发日:2022.09.07
技术公布日:2022/10/11
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献