[自研开源] MyData 数据集成之任务调度模式 v0.7

这篇具有很好参考价值的文章主要介绍了[自研开源] MyData 数据集成之任务调度模式 v0.7。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开源地址:gitee | github

详细介绍:MyData 基于 Web API 的数据集成平台

部署文档:用 Docker 部署 MyData

使用手册:MyData 使用手册

试用体验:http://demo.mydata.work

交流 Q 群:430089673

概述

本篇基于 数据集成之任务流程 介绍任务调度模式的使用场景和配置操作。

任务调度模式

mydata 使用 API 方式集成、无 SDK 侵入,当业务系统与 mydata 集成时,不同业务数据的同步频率存在差异,因此对 API 的调用频率需要贴合业务场景;

集成任务的调度模式如下图:

[自研开源] MyData 数据集成之任务调度模式 v0.7,MyData,开源,数据仓库

  1. 从 API 获取数据 即提供数据类型的任务目前只有定时周期方式,配置方式如下图:
    [自研开源] MyData 数据集成之任务调度模式 v0.7,MyData,开源,数据仓库

  2. 向 API 发送数据 即消费数据类型的任务 可选择是否订阅

    • 选择订阅 表示当数据发送变化时 才向 API 推送数据,其他时间不会调用;
      [自研开源] MyData 数据集成之任务调度模式 v0.7,MyData,开源,数据仓库

    • 选择不订阅 则采用前面相同的定时周期模式,需要选择周期;
      [自研开源] MyData 数据集成之任务调度模式 v0.7,MyData,开源,数据仓库

使用场景

根据采集周期间隔长短推送是否订阅可以组合成 4 种模式:短周期采集 + 订阅推送短周期采集 + 长周期推送长周期采集 + 订阅推送长周期采集 + 长周期推送

注:以下示例仅供参考

  1. 短周期采集 + 订阅推送,适用于实时性较高的场景;

    例如:订单与仓储,用户在线下单后“立即”同步到仓储系统,以便仓库出货;

    [自研开源] MyData 数据集成之任务调度模式 v0.7,MyData,开源,数据仓库

    1. 用户在商城平台下单购买商品;
    2. 订单系统生成订单记录,包括商品信息、收货地址的等;
    3. MyData 每分钟采集任务 从订单系统 API 获取订单记录;
    4. MyData 向订阅订单数据的仓储系统 API 推送本次获取的数据;
  2. 短周期采集 + 长周期推送,适用于集中采集、批量推送的场景;

    例如:仓储与物流,仓储完成一部分出货打包后 批量同步到物流系统,以便物流上门取货;

    [自研开源] MyData 数据集成之任务调度模式 v0.7,MyData,开源,数据仓库

  3. 长周期采集 + 订阅推送,适用于阶段性采集汇总并立即推送的场景;

    例如:商品销量统计与热门商品,每隔数小时 获取商品销量统计数据,立即同步到商城更新热门商品数据;

    [自研开源] MyData 数据集成之任务调度模式 v0.7,MyData,开源,数据仓库

  4. 长周期采集 + 长周期推送,适用于周期性汇总统计,长周期推送的场景;

    例如:商家统计与数据分析,每隔 1 天 获取商家统计数据,再每个 2 天 将统计数据同步到数据分析系统;
    [自研开源] MyData 数据集成之任务调度模式 v0.7,MyData,开源,数据仓库文章来源地址https://www.toymoban.com/news/detail-847461.html

执行订阅任务

  1. 根据提供数据任务的数据项,查询订阅相同数据项的任务;
  2. 批量执行,并传入业务数据;
/**
 * 执行订阅任务
 *
 * @param taskInfo 当前执行的任务
 */
public void executeSubscribedTask(TaskInfo taskInfo) {
    // 当前任务不是 提供数据,则结束
    if (MdConstant.DATA_PRODUCER != taskInfo.getOpType()) {
        return;
    }

    List<Map> produceDataList = taskInfo.getProduceDataList();
    if (CollUtil.isEmpty(produceDataList)) {
        return;
    }
    // 查询相同数据的订阅任务
    List<Task> subTasks = taskService.listRunningSubTasks(taskInfo.getDataId());
    subTasks.forEach(task -> {
        TaskInfo subTaskInfo = build(task);
        // 订阅任务现在执行
        subTaskInfo.setStartTime(new Date());
        // 向订阅任务传入数据
        subTaskInfo.setConsumeDataList(produceDataList);
        // 指定订阅任务,调用接口发送数据
        executeJob(subTaskInfo);
    });
}

到了这里,关于[自研开源] MyData 数据集成之任务调度模式 v0.7的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • XXL-Job:提升任务调度效率的开源利器

    XXL-Job是由知名技术公司XXL-Tech团队开发和维护的,经过多年的发展和应用实践,已在众多企业和项目中获得广泛认可。它的特性和功能旨在简化任务调度的管理和执行,提高开发效率。 在本文中,我们将探讨XXL-Job的关键特点,包括其分布式任务调度能力、任务监控和管理功

    2024年02月13日
    浏览(69)
  • 使用Docker部署开源分布式任务调度系统DolphinScheduler

    🔥 博客主页 : 小羊失眠啦. 🎥 系列专栏 : 《C语言》 《数据结构》 《Linux》 《Cpolar》 ❤️ 感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 本篇教程和大家分享一下DolphinSc

    2024年02月05日
    浏览(60)
  • 【c#】Quartz开源任务调度框架学习及练习Demo

    Quartz是一个开源的任务调度框架,作用是支持开发人员可以定时处理业务,比如定时发布邮件等定时操作。 Quartz大致可以分为四部分,但是按功能分的话三部分就可以:schedule(调度器是schedule的一个调度单元)、job(任务)、Trigger(触发器) scedule功能:统筹任务调度, JOB:实现

    2024年02月08日
    浏览(31)
  • 开源分布式任务调度系统DolphinScheduler本地部署与远程访问

    本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内网穿透工具实现公网访问DolphinScheduler内网并进行远程办公,帮助开发人员进行远程任务调度及管理,提高工作效率。 DolphinScheduler是一款开源的分布式任务调度系统,它可以帮助开发人员更加方

    2024年02月03日
    浏览(49)
  • 如何本地搭建开源分布式任务调度系统DolphinScheduler并远程访问

    本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内网穿透工具实现公网访问DolphinScheduler内网并进行远程办公,帮助开发人员进行远程任务调度及管理,提高工作效率。 DolphinScheduler是一款开源的分布式任务调度系统,它可以帮助开发人员更加方

    2024年02月05日
    浏览(46)
  • Quartz:老而弥坚的开源任务调度框架,用起来够丝滑

    大家好,我是二哥呀。定时任务的应用场景其实蛮常见的,比如说: 数据备份 订单未支付则自动取消 定时爬取数据 定时推送信息 定时发布文章 等等(想不出来了,只能等等来凑,😆,反正只要等的都需要定时,怎么样,这波圆场可以吧) 编程喵🐱实战项目里需要做一个

    2023年04月13日
    浏览(51)
  • Docker部署开源分布式任务调度平台DolphinScheduler并实现远程访问办公

    本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问,结合内网穿透工具实现公网访问DolphinScheduler内网并进行远程办公,帮助开发人员进行远程任务调度及管理,提高工作效率。 DolphinScheduler是一款开源的分布式任务调度系统,它可以帮助开发人员更加方

    2024年02月05日
    浏览(47)
  • 高效的实现金蝶云星空ERP与自研MES系统数据集成

    随着企业数字化转型的不断深入,数据集成变得愈发重要。金蝶云星空ERP与自研MES系统之间的数据集成是企业提高管理效率、降低运营成本的关键。为了实现这一目标,企业选择了轻易云数据集成平台进行数据集成。 低耦合、高内聚的设计思路:我们在设计数据集成方案时,

    2024年02月11日
    浏览(111)
  • 【开源框架】Golang DAG 任务调度框架 Goflow 全解析——源代码模型、使用示例等

    Simply way to control goroutines execution order based on dependencies.

    2024年02月06日
    浏览(55)
  • Sqoop作业调度:自动化数据传输任务

    自动化数据传输任务是大数据处理中的一个重要方面,可以定期执行Sqoop作业,确保数据在不同系统之间的同步。本文将深入探讨如何使用Sqoop作业调度来自动化数据传输任务,并提供详细的示例代码和全面的内容,以帮助大家更好地理解和应用这一技术。 在大数据环境中,

    2024年01月19日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包