第三方数据交换平台方案v1.1.4(8)

2019-08-17 13:00

息,获取到任务实例,需要执行的任务脚本方法名。通过一系列预处理,通知任务管理器做下一步的处理。

3.3.2.3 任务管理器

任务管理器是整个任务调度引擎的大脑,由他来初始化未完成的任务、装载任务脚本、监控任务线程池、发出异常警告。

初始化未完成的任务:在服务器宕机或者服务器重启的情况下,JAVA进程关闭,服务器内存中所有的任务线程肯定都会丢失。当下一次平台启动后为了继续之前的任务,任务管理器就提供了一个初始化的功能,从数据库读取出未完成的任务信息,自动化地启动所有任务。

装载任务脚本: 由任务适配器传递过来的任务模型提供了相应的需要执行的任务脚本,这些脚本定义了具体的任务内容,任务管理器就负责把脚本装备进任务驱动核心,由任务驱动核心去驱动一个新的任务线程。

监控任务线程池:任务线程一旦开启就必须有一个良好的管理机制,以便于平台更好的控制任务。这个控制的过程对于用户是不可见的,由系统去处理。但是会暴露响应的控制接口给用户,主要功能设定在交换项目的监控功能中,后文会具体介绍。

发出异常警告:当任务的执行遇到问题,比如第三方数据源的意外关闭,网闸的重启等意外情况导致的不能执行数据采集等情况,任务管理器马上会给平台一个警告信息,通知平台做出相应的处理,比如生成异常日志文件,Web操作界面的通知,Email的通知等等机制。

3.3.2.4 任务驱动核心

任务驱动核心接收到任务管理器的指令后,会根据要求生成一条线程或使一条空闲的线程,去执行任务脚本。它拥有多个任务开启端口,以满足各种执行方式的任务执行,并且是可扩展的,比如这个任务是周期执行还是延迟执行,是任务管理器识别用户任务定制信息后,向任务驱动核心命令需要从哪个端口开启任务线程。

3.3.2.5 任务线程池

任务线程池是整个任务调度引擎的任务清单,上面记载了任务的来源、执行信息等等,并且为每一个任务提供了一个开展作业的场地。每一个任务都将会开启一个线程去执行,所有的线程组就是我们这里所指的任务线程池,任务线程池在概念上分为内存线程池和外存线程池。

内存线程池指的是在服务器内存中的一组队列数据结构,包含了任务线程的先关信息,便于平台程序监控;

外存线程池指的是持久化到数据库的任务执行信息,只有形态上与内存线程池有差别,在逻辑上他们是保持一致的。外存线程池可以用来保证在断电或JAVA进程杀死的情况下保存任务内存信息,以便于系统重启时任务执行状态的恢复。

3.3.3 规则处理引擎

3.3.3.1 概述

数据规则处理引擎是整个数据匹配加工的核心架构。主要由三个部分组成:

规则解析器、规则分发器、规则处理器。

规则解析器:负责把操作员在界面配置的信息,转化成程序可识别的数据描

述语言格式;负责把规则描述数据格式(xml或json格式)转化成操作员可视别的规则参数配置界面。

规则分发器:检查交换项目规则列表的处理器类型,识别出该规则组应该由

哪个规则处理器执行,动态加载对应规则处理器,调用并执行。

规则处理器:是负责数据匹配加工的实际数据操作程序。解析规则描述数据,

针对规则描述的不同,程序自动识别匹配加工条件,完成数据匹配加工处理。

3.3.3.1 处理流程图

规则分发器

规则处理流程图

3.3.3.2 设计原则

从系统平台的稳定、效率、安全、可靠、可维护性的角度出发,设计了一套规则设置和规则处理在功能上完全独立、在业务逻辑上相联系的机制—— “数据规则处理引擎”。

这套机制的主要特点主要体现在:

1. 系统平台对操作员开放的只有规则设置功能和任务时间的设置。所有的

加工匹配规则都有程序自动识别规则处理,减少由于人为操作造成的错误。

2. 操作员对交换项目的设置完成后,只需填写任务引擎的开启时间和周期,

由“任务调度引擎”(详细说明见任务调度引擎说明部分)去调用规则处理引擎,无需等待,不耽误操作员进行平台其他功能的操作。 3. 采用松耦合的设计原则,在以后的项目维护过程中,规则处理器的实现

修改不会影响到前台操作员的操作,同样有新规则需求扩充时,规则解析器和规则处理器都采用策略匹配设计原则,新增规则时,只需针对新规则添加新的解析器和处理器,不需要对原有代码结构做任何调整。

3.3.3.3 规则解析器


第三方数据交换平台方案v1.1.4(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:思八达-运营智慧笔记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: