[发明专利]一种数据流的调度方法、装置、电子设备、介质及产品有效
| 申请号: | 202210327782.4 | 申请日: | 2022-03-31 |
| 公开(公告)号: | CN114490780B | 公开(公告)日: | 2022-07-22 |
| 发明(设计)人: | 张健;张雁飞;王吟 | 申请(专利权)人: | 北京数变科技有限公司 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/2457;G06F16/28;G06F9/48;G06F9/50 |
| 代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 康欢欢 |
| 地址: | 100089 北京市朝阳*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据流 调度 方法 装置 电子设备 介质 产品 | ||
1.一种数据流的调度方法,其特征在于,所述方法包括:
将用户提交的SQL进行映射得到多个执行计划,所述多个执行计划分别由与其对应的查询处理器执行;
在查询处理器执行所述执行计划时,通过基于事件驱动的机制为所述查询处理器提供多种负载工作的数据流混合调度;
其中,所述基于事件驱动的机制包括将在调度过程中产生影响的端口所指向的查询处理器加入任务队列作为下次调度的节点;在调度的过程中根据节点的不同,选择对应的查询处理方法完成调度。
2.根据权利要求1所述的方法,其特征在于,所述查询处理器包括至少一个输入端口以及至少一个输出端口,用于通过所述输入端口拉取数据以及通过所述输出端口推送数据,所述数据为所述SQL处理的数据;所述端口与事件队列相连,用于向所述事件队列推送待调度事件;所述事件队列与任务队列相连,用于将所述待调度事件转换为任务后推送到所述任务队列中。
3.根据权利要求1所述的方法,其特征在于,所述数据流混合调度包括单线程调度和多线程调度,单线程包括一个执行计划对应一个查询处理器,多线程包括一个执行计划对应多个查询处理器。
4.根据权利要求3所述的方法,其特征在于,所述单线程调度包括:
通过所述查询处理器的有向无环图查找本次调度的目标节点,所述目标节点为输入端口拉取的数据为预设数值或所述查询处理器的输出端口推送的数据为所述预设数值的查询处理器;
将所述目标节点作为初始调度节点;
通过调用所述初始调度节点的事件方法得到本次调度的事件;
将所述事件转化为任务,并将所述任务放入任务队列中的线程任务队列,所述任务队列包括全局任务队列和线程任务队列,每个线程独享一个线程任务队列;
通过所述任务队列,根据所述事件的类型选择对应的查询处理方法完成计算。
5.根据权利要求4所述的方法,其特征在于,还包括:
将在所述单线程调度过程中产生影响的边以及所述产生影响的边指向的节点加入到所述有向无环图中,以完成对所述有向无环图的动态更新;
其中,在有向无环图中,边表示端口,节点表示查询处理器。
6.根据权利要求4所述的方法,其特征在于,在单线程调度过程中,通过所述线程任务队列将所述目标节点的相邻节点作为增量加入到所述任务队列中,将所述任务队列的增量中的第一个元素放入所述线程任务队列中,将所述任务队列的增量中的除所述第一个元素以外的其他元素放入所述全局任务队列中。
7.根据权利要求4所述的方法,其特征在于,单线程独享一个所述线程任务队列,多线程共享所述全局任务队列。
8.一种数据流的调度装置,其特征在于,所述装置包括:
映射模块,用于将用户提交的SQL进行映射得到多个执行计划,所述多个执行计划分别由与其对应的查询处理器执行;
调度模块,用于在查询处理器执行所述执行计划时,通过基于事件驱动的机制为所述查询处理器提供多种负载工作的数据流混合调度;
其中,所述基于事件驱动的机制包括将在调度过程中产生影响的端口所指向的查询处理器加入任务队列作为下次调度的节点;在调度的过程中根据节点的不同,选择对应的查询处理方法完成调度。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的数据流的调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据流的调度方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的数据流的调度方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数变科技有限公司,未经北京数变科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210327782.4/1.html,转载请声明来源钻瓜专利网。





