分布式数据集成与智能调度方法及系统与流程

摘要: 本技术涉及分布式数据处理,特别是涉及一种分布式数据集成与智能调度方法、系统、计算机设备及存储介质。背景技术:1、在分布式数据处理领域,任务调度与执行状态管理是保...
分布式数据集成与智能调度方法及系统与流程

本技术涉及分布式数据处理,特别是涉及一种分布式数据集成与智能调度方法、系统、计算机设备及存储介质。

背景技术:

1、在分布式数据处理领域,任务调度与执行状态管理是保障系统高可用与高性能的关键。现有技术通常采用调度器向执行节点直接推送任务的控制流模式,并将任务执行的中间状态(如检查点)存储在执行节点的本地磁盘中。这种架构导致控制流与状态流均与特定物理节点强绑定:一方面,推送式调度要求调度器维护与所有执行节点的长连接并实时感知节点负载,当集群规模扩大时,调度器易成为性能瓶颈,且执行节点无法根据自身实际资源状况按需接收任务,容易导致资源过载或闲置,限制了系统的弹性扩缩容能力;另一方面,本地存储的检查点数据随节点故障而丢失,当执行节点发生宕机时,其他节点无法获取故障节点的执行进度,只能从头重新执行任务,造成大量计算资源浪费且恢复时间漫长。因此,亟需一种能够解耦控制流与状态流、支持执行节点无状态化及跨节点无缝故障恢复的分布式数据集成与智能调度方案。

技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够实现执行节点的无状态化调度与跨节点断点接力恢复的分布式数据集成与智能调度方法、系统、计算机设备及存储介质。

2、第一方面,本技术提供了一种分布式数据集成与智能调度方法。所述方法包括:

3、响应于接收到用户定义的数据处理任务,对所述数据处理任务进行解析,生成具有依赖关系的多个子任务;

4、将所述多个子任务发布至异步消息通道;

5、任务执行节点基于自身的资源状态,从所述异步消息通道拉取目标子任务并执行,所述目标子任务为所述多个子任务中的至少一个;

6、在执行所述目标子任务的过程中,将所述目标子任务的多级执行状态检查点写入独立于执行节点的共享存储;

7、响应于检测到执行所述目标子任务的执行节点发生异常,接力执行节点从所述共享存储加载所述多级执行状态检查点,并接力执行未完成的所述目标子任务。

8、在其中一个实施例中,所述多级执行状态检查点包括任务级检查点、节点级检查点和分片级检查点;

9、所述任务级检查点记录所述数据处理任务的全局执行视图和子任务处理进度摘要;

10、所述节点级检查点记录执行节点的内部运行状态和数据源交互状态;

11、所述分片级检查点记录数据分片的处理进度偏移量;

12、生成所述多级执行状态检查点采用定时触发与事件触发相结合的混合策略,所述事件触发包括检测到内存使用率超过预设阈值、任务执行进度达到预设里程碑或检测到节点会话超时。

13、在其中一个实施例中,所述将所述目标子任务的多级执行状态检查点写入独立于执行节点的共享存储,包括:

14、获取所述数据处理任务的总数据量,当所述总数据量小于预设数据规模阈值时,采用全量检查点模式生成并写入全量状态快照;当所述总数据量大于或等于所述预设数据规模阈值时,采用增量检查点模式,记录自上一个检查点以来的状态变化数据,并通过链式引用关联多个增量检查点;

15、按照预设时间周期或预设增量次数阈值,对所述链式引用关联的多个增量检查点进行压缩合并,生成新的全量检查点以截断增量链;

16、在将所述全量状态快照或所述状态变化数据写入所述共享存储时,执行原子写入策略:首先在所述共享存储的临时目录中创建临时文件并写入检查点数据,在数据写入完成且校验通过后,将所述临时文件原子重命名至目标检查点路径,以保障检查点数据在写入过程中的完整性与一致性。

17、在其中一个实施例中,所述响应于检测到执行所述目标子任务的执行节点发生异常,接力执行节点从所述共享存储加载所述多级执行状态检查点,并接力执行未完成的所述目标子任务,包括:

18、响应于检测到执行所述目标子任务的任务执行节点心跳超时,将未完成的所述目标子任务标记为待恢复状态;

19、将处于所述待恢复状态的所述目标子任务重新封装为恢复任务消息,并发布至所述异步消息通道;

20、所述接力执行节点从所述异步消息通道拉取所述恢复任务消息,并根据所述恢复任务消息中携带的检查点存储路径,从所述共享存储加载最新有效的所述多级执行状态检查点;

21、所述接力执行节点基于加载的所述多级执行状态检查点,从断点位置恢复数据读取与处理操作。

22、在其中一个实施例中,所述接力执行节点基于加载的所述多级执行状态检查点,从断点位置恢复数据读取与处理操作,包括:

23、获取当前所述数据处理任务的管道定义版本号,并与所述多级执行状态检查点中记录的历史管道定义版本号进行一致性校验;

24、若校验结果为不一致,则解析发生变更的管道节点,从所述共享存储加载未发生变更的管道节点对应的多级执行状态检查点,并对已变更的管道节点执行状态重新初始化;

25、在从所述断点位置恢复向目的端数据源的数据写入操作时,提取所述多级执行状态检查点中记录的最后成功提交的全局事务标识;

26、基于所述全局事务标识和当前数据分片信息,生成后续数据处理操作的唯一事务标识;

27、将携带所述唯一事务标识的写入请求发送至所述目的端数据源,以触发所述目的端数据源的幂等写入机制进行去重校验,确保断点接力恢复过程中的数据不丢失且不重复。

28、在其中一个实施例中,对所述数据处理任务进行解析,生成具有依赖关系的多个子任务,包括:

29、对所述数据处理任务涉及的源数据进行数据特征采样,获取数据分布特征;

30、基于所述数据分布特征计算数据量方差和键值分布偏度,以评估数据倾斜度;

31、响应于所述数据倾斜度超过预设倾斜阈值,在范围分区策略、哈希分区策略和混合分区策略中,自适应选择目标分区策略;

32、基于所述目标分区策略对所述源数据进行数据分片,生成所述多个子任务。

33、在其中一个实施例中,所述任务执行节点基于自身的资源状态,从所述异步消息通道拉取目标子任务并执行,包括:

34、所述任务执行节点在拉取任务前,评估自身的多维资源向量,所述多维资源向量包括计算资源、存储资源、网络带宽资源及连接池资源;

35、响应于所述多维资源向量满足所述目标子任务声明的资源需求,所述任务执行节点认领并拉取所述目标子任务;

36、所述异步消息通道采用优先级多队列模型,所述任务执行节点采用加权轮询策略从不同优先级的队列中拉取任务,其中高优先级队列的拉取权重高于低优先级队列。

37、第二方面,本技术还提供了一种分布式数据集成与智能调度系统。所述系统包括:

38、任务解析模块,用于响应于接收到用户定义的数据处理任务,对所述数据处理任务进行解析,生成具有依赖关系的多个子任务;

39、消息发布模块,用于将所述多个子任务发布至异步消息通道;

40、任务执行模块,用于任务执行节点基于自身的资源状态,从所述异步消息通道拉取目标子任务并执行,所述目标子任务为所述多个子任务中的至少一个;

41、检查点管理模块,用于在执行所述目标子任务的过程中,将所述目标子任务的多级执行状态检查点写入独立于执行节点的共享存储;

42、异常处理模块,用于响应于检测到执行所述目标子任务的执行节点发生异常,接力执行节点从所述共享存储加载所述多级执行状态检查点,并接力执行未完成的所述目标子任务。

43、第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述分布式数据集成与智能调度方法。

44、第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述分布式数据集成与智能调度方法。

45、上述分布式数据集成与智能调度方法、系统、计算机设备及存储介质,通过引入异步消息通道作为任务分发媒介,将传统的调度器推送模式转变为执行节点基于自身资源状态的主动拉取模式,解耦了调度控制与任务执行的生命周期,使执行节点具备无状态特性,从而支持秒级弹性扩缩容与天然的负载均衡;同时,通过将多级执行状态检查点持久化至独立于执行节点的共享存储,解除了执行状态与特定物理节点的绑定关系,使得任意可用节点均可在故障发生时加载检查点并接力执行未完成任务,实现了跨节点的无缝故障恢复,降低了大规模数据处理场景下的故障恢复时间与计算资源浪费;进一步地,结合自适应数据分区与运行时动态调整机制,解决了数据倾斜导致的长尾任务问题,提升了整体数据处理吞吐量与资源利用率。