公司文档库 公司文档库
首页
  • 操作手册
  • 安装部署
  • 操作手册
  • 安装部署
  • 操作手册
  • 安装部署
  • 配置平台API
  • 数据库管理
  • 运维常识
  • 工具包管理
  • BUG反馈
  • 优化建议
  • 经验分享
  • 关于我们
  • 简体中文
  • English
  • 日本語
  • 한국어

tentai

腾泰文档管理系统
首页
  • 操作手册
  • 安装部署
  • 操作手册
  • 安装部署
  • 操作手册
  • 安装部署
  • 配置平台API
  • 数据库管理
  • 运维常识
  • 工具包管理
  • BUG反馈
  • 优化建议
  • 经验分享
  • 关于我们
  • 简体中文
  • English
  • 日本語
  • 한국어
  • 操作手册

    • 数据源管理

    • SPC管理

    • 考核管理

    • 配置平台

    • MSA管理

    • 调度管理

      • 模块介绍
        • 概述
          • 开发目的
          • 调度优势
          • 调度特点
          • 术语
          • 通用应用场景
          • 相关定义
          • 关系图
          • 菜单入口
          • 实际应用场景
        • 操作流程
        • 打包流程
          • 注意事项
          • 更新问题
        • 数据表SQL文件【基础数据】
          • 数据表文件(实时更新)
        • 备注(更新后可能存在的错误)
          • 首次使用出错
      • 控制台管理
      • 任务管理
      • 任务组管理
      • 工作管理
      • 触发器管理
  • 环境部署

  • 桌面端
  • 操作手册
  • 调度管理
tentai
2024-01-04
目录

模块介绍

# 概述

调度是指根据预定的时间表或规则,安排和管理作业(任务)的执行顺序和时间。调度器负责根据设定的优先级、依赖关系和资源可用性等因素,将作业分配给相应的处理器或资源。

# 开发目的

​ 生产调度是执行生产作业控制的职能,根据生产总计划和进度计划,全面地掌握和了解 生产活动的过程,组织和动员各方面为生产提供服务,根据实际情况,灵活地组织日常生产, 迅速及时的处理生产中自定义事件任务,使生产过程中各个环节能相互协调地进行,从而保 证生产任务的完成。

​ 由于之前的调度功能是单独部署,不能很好的跟 MES 平台融合应用,缺少可视化的 界面进行维护,项目现场部署困难,对脚本代码缺少防呆检测,出于此原因有必要对我们的 调度管理移植到 MES 平台,并对其进行重构以至更好的适应生产作业流程,这样 MES 平台可 以对调度管理进行模块化管理, 减少部署的复杂程度。

# 调度优势

  1. 资源优化:调度程序可以有效地分配和管理资源,确保它们被充分利用,并且在需要时能够及时分配给任务或工作。
  2. 提高效率:调度程序可以自动化任务的分配和执行,从而提高工作效率,减少人为错误和减少手动干预的需要。
  3. 时间管理:调度程序可以帮助组织和安排任务的执行顺序和时间表,确保任务按时完成。
  4. 实时监控和控制:调度程序可以实时监控任务执行的进度,并根据需要进行调整和重新分配资源。
  5. 任务优先级处理:调度程序可以根据任务的重要性和紧急程度来分配资源和执行任务,确保关键任务得到优先处理。
  6. 简化管理:调度程序可以集中管理任务和资源的分配,简化管理流程,减少管理成本和复杂性。

# 调度特点

  1. 资源管理和分配:调度程序负责管理和分配系统资源,包括处理器、内存、存储等。它根据任务的需求和系统的状态,动态地分配资源,以实现资源的最大利用。
  2. 任务调度和分配:调度程序根据任务的优先级、时间限制、依赖关系等因素,决定任务的执行顺序和分配方式。它将任务分配给可用的处理器或执行单元,并控制任务的切换和执行。
  3. 多任务管理:调度程序能够同时管理多个任务或进程的执行。它为每个任务分配合适的资源和时间片,确保任务在系统中公平地竞争和执行。这样可以提高系统的吞吐量和并发能力。
  4. 响应时间控制:调度程序可以控制任务的响应时间,确保对于需要及时响应的任务,系统能够及时地分配资源和执行。它根据任务的特性和优先级,优化任务调度策略,提供快速响应的用户体验。
  5. 预防饥饿现象:调度程序通过合理地分配资源和任务执行顺序,避免了系统中的饥饿现象,即某些任务长时间无法得到执行的情况。它确保所有任务都有机会得到执行。
  6. 动态优化:调度程序根据系统的状态和负载情况,动态地优化任务调度策略和资源分配方式。它可以根据系统的变化实时调整调度策略,以适应系统的需求和提高整体性能。

# 术语

  1. 作业(Job):作业是需要调度执行的操作或任务。它们可以是任何代码块或方法,并且需要实现 IJob 接口(由开发人员提供)。
  2. 触发器(Trigger):触发器是用于定义作业执行时间的组件。它们指定何时触发作业的执行。在 平台调度中,有两种类型的触发器可供选择,例如简单触发器、和 Cron 触发器。
    • 简单触发器(Simple Trigger):它允许按照指定的间隔重复触发作业,可以设置重复次数或无限重复。
    • Cron 触发器(Cron Trigger):它基于 Cron 表达式来调度作业执行。Cron 表达式是一种灵活的语法,可以定义非常复杂的调度规则,比如每天的特定时间、每月的特定日期等。

具体可参考 在线Cron表达式生成器 (opens new window)

  1. 调度器(Scheduler):调度器是整个调度框架的核心组件,是用于管理和调度作业的入口点。它可以启动和停止作业调度,也可以管理和调整作业的执行。
  2. 任务(Task):任务是指作业的执行单元。在调度框架中,作业被封装为任务,以便可以通过调度器进行管理和调度。
  3. 任务组(Group): 任务组名是用来对任务进行分组的名称。可以根据业务逻辑或功能将任务分为不同的组,并为每个组指定一个唯一的名称。

# 通用应用场景

  1. 交通调度:交通调度是指根据不同交通工具(如公交车、地铁、航班等)的行程和运行规划,以最优的方式安排车辆和乘客的出行。调度可以包括车辆的发车时间、路线规划、乘客站点的安排等,旨在提供高效便捷的交通服务。
  2. 生产调度:生产调度是指根据产品需求、资源可用性和生产能力等因素,在生产线上合理安排生产任务和订单优先级的过程。通过调度,可以实现生产线的平衡、优化资源利用和提高生产效率。
  3. 餐厅排队调度:餐厅经常需要面对客人排队等待用餐的情况。为了提供更好的服务,餐厅可以使用调度系统来管理排队顺序、估计等待时间并安排桌位。调度可以根据客人数量、座位可用性和预定情况等因素进行决策,以最大程度地减少排队时间。
  4. 医院手术调度:医院手术室通常需要根据医生的可用性、手术类型和病人情况等因素来调度手术。调度系统可以帮助医院合理安排手术时间,尽量缩短等待时间,提高手术室的利用率。
  5. 电力调度:电力系统需要根据电力需求、发电机组可用性和供应稳定性等因素来调度电力生产和分配。调度可以平衡供需关系,确保供电稳定,并在高负荷时合理分配电力资源。

# 相关定义

名称 学习地址
RabbitMQ https://blog.csdn.net/xgy258/article/details/110187735
MongoDB https://zhuanlan.zhihu.com/p/601669117
MQTT https://cloud.tencent.com/developer/article/1943933?areaSource=106000.19&traceId=-PFGHnQq2Fd7OXrOaHHDe
JavaScript https://www.runoob.com/js/js-tutorial.html

RabbitMQ

​ MQ 是消费-生产者模型的一个典型的代表,一端往消息队列中不断的写入消息, 而另一 端则可以读取或者订阅队列中的消息。RabbitMQ 是一个在 AMQP 基础上完整的,可复用的企 业消息系统。他遵循 Mozilla Public License 开源协议。 RabbitMQ 是流行的开源消息队列 系统,用 erlang 语言开发。RabbitMQ 是 AMQP 的标准实现。 RabbitMQ详解 (opens new window)

MongoDB

​ MongoDB 是一个开源、高性能、无模式的文档型数据库,当初的设计就是用于简化开发 和方便扩展,是NoSQL 数据库产品中的一种。是最像关系型数据库(MySQL) 的非关系型数 据库。 它支持的数据结构非常松散,是一种类似于 JSON 的 格式叫 BSON,所以它既可以存储 比较复杂的数据类型,又相当的灵活。 MongoDB 中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结 构。 MongoDB 文档类似于 JSON 对象,即一个文档认为就是一个对象。字段的数据类型是字 符型,它的值除了使用基本的一些类型外,还可以包括其他文档、普通数组和文档数组。 MongoDB详解 (opens new window)

MQTT

​ MQTT(Message Queuing Telemetry Transport, 消息队列遥测传输协议),是一种基于 发布/订阅(publish/subscribe)模式的"轻量级"通讯协议, 该协议构建于 TCP/IP 协议上, 由 IBM 在 1999 年发布。 MQTT 最大优点在于, 可以以极少的代码和有限的带宽,为远程连接 设备提过实时可靠的消息服务,作为一种低开销、低带宽占用的即时通讯协议, 使其在物联 网、小型设备、移动应用等方面有较广泛的应用

MQTT 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT 协议是轻量、简单、开放 和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如: 机器与机器(M2M) 通信和物联网 (loT)。其在, 通过卫星链路通信传感器、偶尔拨号的医疗

设备、智能家居、及一些小型化设备中已广泛使用。

MQTT详解 (opens new window)

JavaScript

JavaScript一种直译式脚本语言 (opens new window),是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器 (opens new window)被称为JavaScript引擎,为浏览器 (opens new window)的一部分,广泛用于客户端 (opens new window)的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

在1995年时,由Netscape公司的Brendan Eich (opens new window),在网景导航者 (opens new window)浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java (opens new window),因此取名为JavaScript。但实际上它的语法风格与Self及Scheme (opens new window)较为接近。

为了取得技术优势,微软 (opens new window)推出了JScript (opens new window),CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容 (opens new window)于ECMA标准,因此也称为ECMAScript (opens new window)。

【不了解的话,可以去学习公司云盘里面的关于javascript的基础培训视频。有关于JavaScript的基础介绍与使用】

# 关系图

image-20231227135608719

# 菜单入口

image-20231227135009828

【调度管理】模块下

# 实际应用场景

  1. 使用调度工作类型中的脚本 查询数据库并同步到另一个库。
  2. 使用调度工作类型中脚本 调用SupOSApi接口查询报警数据,报警历史数据,记录到数据库。
  3. 使用调度工作类型中脚本 请求第三方接口,传递数据信息
  4. 使用调度工作类型中脚本 定时备份数据库信息
  5. 使用调度工作类型中脚本 定时清理数据表的无用数据。
  6. 使用调度工作类型中脚本 实现跨库查询数据并处理这些数据

# 操作流程

调度模块分为 控制台管理、任务管理、工作管理、触发器管理、任务组管理;

大致的操作流程为

1.第一步:要先在控制台管理中打开调度程序的开关,具体可以看 3.1的操作说明;

2.第二步:去任务组管理中创建一个任务组,不创建任务组的话,流程是走不下去的;

3.第三步:可以直接去在工作管理中创建工作;也可以去触发器管理中创建触发器分类,创建完之后再去创建工作内容;

4.第四步:去任务管理中创建任务内容,任务是由触发器与工作相互搭配才能组成。任务管理模块中也可以便捷的设置触发器信息,所有第三步中的触发器管理是可以创建也可以不创建的。

5.第五步:创建完任务后,可以在当前页面查看调度任务信息,也可以回到控制台管理页面去查看任务信息。

【打包完成可能有业务调度菜单,这个菜单为业务相关调度,不需要显示。】

# 打包流程

这是融合环境(即supos系统中的操作流程),如果项目上采用我们的平台可以直接忽视这个操作流程,只需管理员给你开放中间件权限即可使用.

# 注意事项

以上导包流程有时候可能会造成以外问题,一般情况下都是正常的,不排除操作步骤有误或者配置问题无法使用中间件功能,当然你也可以到公司云盘查看相关的培训视频,目前部分视频没有做同步,后期会逐渐完善.

安装完成之后不是直接可以使用,需要在supos系统中分配权限才能使用,supos的权限分配请自己查看supos提供的系统操作文档,中间件因为有数据源的依赖,当你在写自定义代码时需要用到数据源,必须把数据源管理一起导出.

# 更新问题

每次平台有做升级,都会整体更新,更新过程中由于操作不当或者数据库结构问题造成服务启动不起来,或者报错,首先你得会看日志,具体处理方案请在公司文档库http://tentai.cn:6867上搜索关键字 [supos融合 (opens new window)] 即可查看具体解决方案和命令行操作

# 数据表SQL文件【基础数据】

# 数据表文件(实时更新)

具体请查看公司云盘地址

如果没有账号,请向云盘管理员申请一个账号才能登录,基础数据已经共享全体成员,只要有账号都能看到,它的名称叫公司平台基础数据,进入文件夹下找到 调度基础数据,根据数据库类型下载对应的SQL文件

image-20240104111720762

image-20240104111736910

image-20240104111750110

# 备注(更新后可能存在的错误)

# 首次使用出错

image-20231227140705299

添加 工作数据的时候 脚本类型,报错 找到 smart_scheduler_jobscripts表

image-20231227140709338

Path字段取消必填;ScriptContent字段设为 text

上次更新: 2024/02/20, 15:00:57
MSA结果清单
控制台管理

← MSA结果清单 控制台管理→

最近更新
01
Linux操作系统安装部署
10-26
02
业务组件
04-22
03
打印
04-22
更多文章>
Copyright © 2022-2025 浙江腾泰公司所有:浙ICP备18023524号-1
  • 自动模式
  • 浅色模式
  • 深色模式
  • 阅读模式