首页 / 专利库 / 电信 / 输出节点 / 一种热扩展数据集成引擎系统及方法

一种热扩展数据集成引擎系统及方法

阅读:1发布:2021-04-04

专利汇可以提供一种热扩展数据集成引擎系统及方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种热扩展数据集成引擎系统及方法,本发明包括驱动子系统、 插件 子系统和工具子系统;所述驱动子系统接收外部作业提交,解析作业逻辑,驱动插件运行,并处理引擎异常;所述插件子系统由插件集合与插件加载器组成,插件加载器负责插件的加载和热扩展,插件负责执行具体的 数据处理 逻辑;所述工具子系统提供作业运行所需的共性服务 支撑 。本发明可以满足所有潜在的场景,适用于异构数据源的适配、复杂的 数据治理 逻辑等场景,保证了所有作业的正常运行,本发明还具有应对所有复杂数据集成场景的功能扩展能 力 。,下面是一种热扩展数据集成引擎系统及方法专利的具体信息内容。

1.一种热扩展数据集成引擎系统,其特征在于,包括:驱动子系统、插件子系统、工具子系统;所述的驱动子系统接收外部作业提交,解析作业逻辑,驱动插件运行,并处理引擎异常;所述的插件子系统由插件集合与插件加载器组成,插件加载器负责插件的加载和热扩展,插件负责执行具体的数据处理逻辑;所述的工具子系统提供作业运行所需的共性服务支撑
2.根据权利要求1所述的一种热扩展数据集成引擎系统,其特征在于:所述的驱动子系统包括作业解析模、作业驱动模块、异常处理模块;所述的作业解析模块接收外部提交的作业元数据信息,并将该信息解析成插件与消息流转路径组成的有向图;所述的作业驱动模块驱动插件执行和消息在路由中的流转;所述的异常处理模块用于处理作业或是插件运行过程中抛出的无法处理的异常。
3.根据权利要求2所述的一种热扩展数据集成引擎系统,其特征在于:所述的作业驱动模块包括输入驱动、输出驱动、处理驱动、路由驱动、过滤驱动、汇聚驱动;所述输入驱动调用某个输入插件,从特定数据源获取到具体的数据封装成消息;所述输出驱动调用某个输出插件将消息输出到目标源;所述处理驱动负责调用处理插件实现消息的转换;所述路由驱动调用路由插件实现消息在不同插件之间的流转;所述过滤驱动调用过滤插件判断当前消息是否需要继续在路由中进行流转;所述汇聚驱动调用汇聚插件将多条路由的消息汇聚到一条路由中并触发流转。
4.根据权利要求2所述的一种热扩展数据集成引擎系统,其特征在于:所述的异常处理模块处理异常时分为三个异常层次,插件运行出现的异常可向异常分支输出,也可向路由层次抛出;路由运行出现的异常可向引擎层次抛出;引擎层次的异常向外部输出。
5.根据权利要求1所述的一种热扩展数据集成引擎系统,其特征在于:所述的插件为具备数据流转或数据处理的模块;所述的插件加载器通过实时监听插件目录,识别插件更新与插件新增,保证作业驱动模块能够调用最新的插件集合,从而达到插件系统热扩展的目的;所述的插件集合包括输入插件、输出插件、处理插件、过滤插件、路由插件、汇聚插件。
6.根据权利要求1所述的一种热扩展数据集成引擎系统,其特征在于:所述的工具子系统包括状态存储模块、幂等性存储模块、表达式引擎、日志服务模块、线程池、事件中心;插件子系统的插件可以调用工具子系统中的工具模块进行消息的处理;所述的状态存储模块用于提供有状态的插件实例的状态存储功能;所述的幂等性存储模块被插件调用,保证同一条消息仅被流转一次;所述的日志服务模块被插件调用,记录插件运行过程中的消息日志;所述线程池为一个作业进程的不同插件提供运行线程;所述的表达式引擎,用于解析并运行数据转换插件中的消息处理表达式;所述事件中心监听作业执行中的事件信息,其中所述的事件包括消息的创建、消息流入某个组件、消息流出某组件、消息流转发生异常、引擎的开启和关闭、路由的开启与关闭,通过基于事件中心的开发可实现某些功能扩展。
7.一种热扩展数据集成引擎系统的工作方法,其特征在于,在整个数据集成过程中,数据流以消息的形式进行流转和处理,具体为:驱动子系统接收外部提交的作业元数据信息,解析作业逻辑并将其封装成消息的形式并流转至插件子系统,由驱动子系统驱动插件子系统中的插件进行处理,拥有不同业务逻辑的插件通过不同的排列组合实现灵活、可配置的数据集成需求,且插件之间的处理工作相互独立;插件子系统可调用工具子系统中与业务逻辑相对应的工具模块进行消息的处理。
8.根据权利要求7所述的工作方法,其特征在于:所述的消息由消息编号、消息源、消息头、消息体、监视器组成;所述消息编号由分布式系统中唯一编号表示;所述消息源表示消息的来源,可以是数据库中的表名,或者消息队列的队列名;所述消息头是消息源的额外描述信息,为消息来源的网络地址;所述消息体为承载的具体数据,为结构化数据、无模式数据、json、XML、二进制流中的任意一种;所述监视器是指在消息流经某个插件时,运行插件向消息中植入监听程序。
9.根据权利要求7所述的工作方法,其特征在于:所述的驱动子系统解析得到的作业逻辑体现为一张由组件插件组成的有向图,其中在有向图中,图的节点代表插件,有向连线表示消息的流转方向。
10.根据权利要求7所述的工作方法,其特征在于:所述插件子系统中的插件加载器在作业运行过程中会实时监听插件目录变化,并根据监听到的变化识别插件更新与插件扩展,从而使得驱动子系统随时感知插件子系统的变化,并调用最新的插件执行程序包。

说明书全文

一种热扩展数据集成引擎系统及方法

技术领域

[0001] 本发明涉及大数据基础技术领域,尤其涉及一种热扩展数据集成引擎系统及方法。

背景技术

[0002] 随着数字经济的演进,众多行业的业务数字化已得到充分发展,数字业务化逐渐成为新的重心。然而,由于业务数字化派生了大量数据孤岛,成为实现数字业务化的共性痛点,各行业迫切需要数据集成,打通并规避数据孤岛,整合与治理数据资源,从而有效开发数据间的关联价值。
[0003] 数据集成经常面临异构数据源的适配、复杂的数据治理逻辑等,现有产品很难有一款数据集成引擎可以满足所有潜在的场景,常常会面临特殊的异构数据源需要适配或适配模升级、或者特殊的处理逻辑需要定制扩展。然而,升级扩展可能带来运行中作业的中断或重启,使得原本正常的其他作业停滞,带来不可容忍的损失,数据集成系统是否易于扩展、插件系统是否能热扩展至关重要。现有的Kettle、Apache Camel等技术均不能支持数据集成引擎的热扩展。
[0004] 中国发明专利201510623882.1公开了“一种数据的存储方法和装置”,仅针对数据集成中的数据同步问题提出了一套固定的实现方法,体系架构上不易扩展,插件系统未体现热扩展特征,进一步的功能扩展可能需要较大的改动。中国发明专利201711156334.8公开了“一种松散耦合的业务流程管理系统”,其中有数据处理插件加载功能,但并未实现热扩展加载能,以及应对所有复杂数据集成场景的功能扩展能力,而是一套面向地震勘探特定应用场景的定制化系统。

发明内容

[0005] 本发明为克服上述的不足之处,目的在于提供一种热扩展数据集成引擎系统及方法,本发明包括驱动子系统、插件子系统和工具子系统;所述驱动子系统接收外部作业提交,解析作业逻辑,驱动插件运行,并处理引擎异常;所述插件子系统由插件集合与插件加载器组成,插件加载器负责插件的加载和热扩展,插件负责执行具体的数据处理逻辑;所述工具子系统提供作业运行所需的共性服务支撑。本发明可以满足所有潜在的场景,适用于异构数据源的适配、复杂的数据治理逻辑等场景,保证了所有作业的正常运行,本发明还具有应对所有复杂数据集成场景的功能扩展能力。
[0006] 本发明是通过以下技术方案达到上述目的:一种热扩展数据集成引擎系统,包括:驱动子系统、插件子系统、工具子系统;所述的驱动子系统接收外部作业提交,解析作业逻辑,驱动插件运行,并处理引擎异常;所述的插件子系统由插件集合与插件加载器组成,插件加载器负责插件的加载和热扩展,插件负责执行具体的数据处理逻辑;所述的工具子系统提供作业运行所需的共性服务支撑。
[0007] 作为优选,所述的驱动子系统包括作业解析模块、作业驱动模块、异常处理模块;所述的作业解析模块接收外部提交的作业元数据信息,并将该信息解析成插件与消息流转路径组成的有向图;所述的作业驱动模块驱动插件执行和消息在路由中的流转;所述的异常处理模块用于处理作业或是插件运行过程中抛出的无法处理的异常。
[0008] 作为优选,所述的作业驱动模块包括输入驱动、输出驱动、处理驱动、路由驱动、过滤驱动、汇聚驱动;所述输入驱动调用某个输入插件,从特定数据源获取到具体的数据封装成消息;所述输出驱动调用某个输出插件将消息输出到目标源;所述处理驱动负责调用处理插件实现消息的转换;所述路由驱动调用路由插件实现消息在不同插件之间的流转;所述过滤驱动调用过滤插件判断当前消息是否需要继续在路由中进行流转;所述汇聚驱动调用汇聚插件将多条路由的消息汇聚到一条路由中并触发流转。
[0009] 作为优选,所述的异常处理模块处理异常时分为三个异常层次,插件运行出现的异常可向异常分支输出,也可向路由层次抛出;路由运行出现的异常可向引擎层次抛出;引擎层次的异常向外部输出。
[0010] 作为优选,所述的插件为具备数据流转或数据处理的模块;所述的插件加载器通过实时监听插件目录,识别插件更新与插件新增,保证作业驱动模块能够调用最新的插件集合,从而达到插件系统热扩展的目的;所述的插件集合包括输入插件、输出插件、处理插件、过滤插件、路由插件、汇聚插件。
[0011] 作为优选,所述的工具子系统包括状态存储模块、幂等性存储模块、表达式引擎、日志服务模块、线程池、事件中心;插件子系统的插件可以调用工具子系统中的工具模块进行消息的处理;所述的状态存储模块用于提供有状态的插件实例的状态存储功能;所述的幂等性存储模块被插件调用,保证同一条消息仅被流转一次;所述的日志服务模块被插件调用,记录插件运行过程中的消息日志;所述线程池为一个作业进程的不同插件提供运行线程;所述的表达式引擎,用于解析并运行数据转换插件中的消息处理表达式;所述事件中心监听作业执行中的事件信息,其中所述的事件包括消息的创建、消息流入某个组件、消息流出某组件、消息流转发生异常、引擎的开启和关闭、路由的开启与关闭,通过基于事件中心的开发可实现某些功能扩展。
[0012] 一种热扩展数据集成引擎系统的工作方法,在整个数据集成过程中,数据流以消息的形式进行流转和处理,具体为:驱动子系统接收外部提交的作业元数据信息,解析作业逻辑并将其封装成消息的形式并流转至插件子系统,由驱动子系统驱动插件子系统中的插件进行处理,拥有不同业务逻辑的插件通过不同的排列组合实现灵活、可配置的数据集成需求,且插件之间的处理工作相互独立;插件子系统可调用工具子系统中与业务逻辑相对应的工具模块进行消息的处理。
[0013] 作为优选,所述的消息由消息编号、消息源、消息头、消息体、监视器组成;所述消息编号由分布式系统中唯一编号表示;所述消息源表示消息的来源,可以是数据库中的表名,或者消息队列的队列名;所述消息头是消息源的额外描述信息,为消息来源的网络地址;所述消息体为承载的具体数据,为结构化数据、无模式数据、json、XML、二进制流中的任意一种;所述监视器是指在消息流经某个插件时,运行插件向消息中植入监听程序。
[0014] 作为优选,所述的驱动子系统解析得到的作业逻辑体现为一张由组件插件组成的有向图,其中在有向图中,图的节点代表插件,有向连线表示消息的流转方向。
[0015] 作为优选,所述插件子系统中的插件加载器在作业运行过程中会实时监听插件目录变化,并根据监听到的变化识别插件更新与插件扩展,从而使得驱动子系统随时感知插件子系统的变化,并调用最新的插件执行程序包。
[0016] 本发明的有益效果在于:本发明可以满足所有潜在的场景,适用于异构数据源的适配、复杂的数据治理逻辑等场景,保证了所有作业的正常运行,本发明还具有应对所有复杂数据集成场景的功能扩展能力。附图说明
[0017] 图1是本发明的系统示意图;
[0018] 图2是本发明系统的驱动子系统示意图;
[0019] 图3是本发明系统的工具子系统示意图;
[0020] 图4是本发明处理的异常层次示意图;
[0021] 图5是本发明的消息组成示意图;
[0022] 图6是本发明实施例中的有向图示意图;
[0023] 图7是本发明实施例中驱动子系统驱动插件子系统的流程示意图。

具体实施方式

[0024] 下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:
[0025] 实施例:如图1所示,一种热扩展数据集成引擎系统由驱动子系统、插件子系统、工具子系统组成。所述的驱动子系统接收外部作业提交,解析作业逻辑,驱动插件运行,并处理引擎异常;所述的插件子系统由插件集合与插件加载器组成,插件加载器负责插件的加载和热扩展,插件负责执行具体的数据处理逻辑;所述的插件指的是具备数据流转或数据处理的模块;所述的插件加载器通过实时监听插件目录,识别插件更新与插件新增,保证作业驱动模块能够调用最新的插件集合,从而达到插件系统热扩展的目的。所述插件集合包括输入插件、输出插件、处理插件、过滤插件、路由插件、汇聚插件等。所述的工具子系统提供作业运行所需的共性服务支撑。
[0026] 如图2所示,驱动子系统由作业解析模块、作业驱动模块、异常处理模块组成,所述作业解析模块接收外部提交的作业元数据信息,并将该信息解析成插件与消息流转路径组成的有向图;所述作业驱动模块驱动插件执行和消息在路由中的流转;所述异常处理模块用于处理作业或是插件运行过程中抛出的无法处理的异常。所述的作业驱动模块由输入驱动、输出驱动、处理驱动、路由驱动、过滤驱动、汇聚驱动组成;所述输入驱动调用某个输入插件,从特定数据源获取到具体的数据封装成消息;所述输出驱动调用某个输出插件将消息输出到数据库、文件系统等目标源;所述处理驱动负责调用处理插件实现消息的转换;所述路由驱动调用路由插件实现消息在不同插件之间的流转;所述过滤驱动调用过滤插件判断当前消息是否需要继续在路由中进行流转;所述汇聚驱动调用汇聚插件将多条路由的消息汇聚到一条路由中并触发流转。
[0027] 如图3所示,所述的工具子系统包括状态存储模块、幂等性存储模块、表达式引擎、日志服务模块、线程池、事件中心6个组成部分,插件子系统的插件可以调用这些工具模块进行消息的处理。所述状态存储模块,主要提供有状态的插件实例的状态存储功能;所述幂等性存储器被插件调用,保证同一条消息仅被流转一次;所述日志服务模块被插件调用,记录插件运行过程中的消息日志;所述线程池为一个作业进程的不同插件提供运行线程;所述表达式引擎,用于解析并运行数据转换插件中的消息处理表达式;所述事件中心监听作业执行中的事件信息,所述事件包括消息的创建、消息流入某个组件、消息流出某组件、消息流转发生异常、引擎的开启和关闭、路由的开启与关闭等,通过基于事件中心的开发可实现某些功能扩展。
[0028] 如图4所示,所述的异常处理模块处理的异常分为三个异常层次,插件运行出现的异常可向异常分支输出,也可向路由层次抛出;路由运行出现的异常可向引擎层次抛出;引擎层次的异常向外部输出。
[0029] 一种热扩展数据集成引擎系统的工作方法,在整个数据集成过程中,数据流以消息的形式进行流转和处理,具体为:驱动子系统接收外部提交的作业元数据信息,解析作业逻辑并将其封装成消息的形式并流转至插件子系统,由驱动子系统驱动插件子系统中的插件进行处理,拥有不同业务逻辑的插件通过不同的排列组合实现灵活、可配置的数据集成需求,且插件之间的处理工作相互独立;插件子系统可调用工具子系统中与业务逻辑相对应的工具模块进行消息的处理。如图5所示,所述的消息由消息编号、消息源、消息头、消息体、监视器组成。所述消息编号由分布式系统中唯一编号表示;所述消息源表示消息的来源,可以是数据库中的表名,或者消息队列的队列名;所述消息头是消息源的额外描述信息,指的是消息来源的网络地址;所述消息体是指承载的具体数据,可以是结构化数据、无模式数据、json、XML、二进制流;所述监视器是指在消息流经某个插件时,运行插件向消息中植入监听程序。
[0030] 在上述方法中,具体地:在数据集成引擎中,任何数据均被封装成了消息并由驱动子系统在路由串联的各种类型的消息插件之间进行流转。拥有不同业务逻辑的消息插件通过不同的排列组合能够实现灵活、可配置的数据集成需求,且消息插件之间并不了解彼此的存在。
[0031] 在本实施例中,数据集成引擎通过一系列消息插件的编排实现历史用户表迁移+增量用户数据同步的需求。输入插件作为路由的起始点,可通过定制化SQL语句从待整合系统中查询指定的用户表数据集,并将每一条用户数据转换成数据集成引擎提供的某种负载类型(当前情况下,应该使用结构化数据负载)。然后将数据负载放置在图4所示的消息体中形成一条待路由消息交给驱动子系统触发消息在路由中的流转。路由插件接收到消息,判定消息中用户数据是否需要进行一些清洗处理。若此消息完全满足需求,将被路由插件导向至第一条分支中并交由输出插件插入到目标用户表中。若消息需要条件筛选,则被路由插件导向至第二条分支中并交由过滤插件进行判定,将不符合条件的消息丢弃。若消息的格式不满足需求,那么将被路由插件导向至第三条分支进行数据格式转换处理。最后第二条分支和第三条分支这两条分支的数据将会被汇聚插件进行路由分支合并然后交由输出插件插入到目标用户表中。
[0032] 驱动子系统接收外部作业配置提交,并解析配置成如图6所示的由组件插件组成的有向图。图的节点是消息插件实例而有向连线代表消息能够流向哪些目标插件实例。作业配置提供了运行作业所需的所有组件插件集合和组件插件的连线关系。每个插件都包含了描述插件的元数据信息和插件配置。如图7所示,驱动子系统使用插件元数据告知插件子系统的插件加载器在指定插件目录下加载插件包的已编译好的执行代码。而插件配置能够实例化一个具体运行的插件实例,执行代码根据指定配置完成指定的业务逻辑。例如在本实施例中提到的输入插件需要配置定制化SQL语句就可以在插件配置中获取。待所有配置的插件实例化完成后,数据集成引擎将驱动它们执行数据集成任务。
[0033] 在本实施例中,若数据源发生了改变导致转换处理插件和过滤插件的业务逻辑发生变化。正常的作法需要停止正在运行的引擎并替换新版本插件包或是重新编排一个作业替换之前正在运行的作业。上述的作法都会影响到原有作业的运行并给实施人员带来不便。热扩展的数据集成引擎系统在不停止原有集成作业的情况下,通过重新部署带有新业务逻辑的插件包到插件目录下解决这类问题。插件加载器在作业运行过程中会实时监听插件目录变化,并根据监听到的变化识别插件更新与插件扩展。使得驱动子系统随时感知插件子系统的变化,并调用最新的插件执行程序包。
[0034] 驱动子系统在工具子系统中封装了大量的复杂的工具模块用于协助消息插件能够完成更为复杂和灵活的业务逻辑并简化了消息插件开发。在本实施例中,输入插件可以通过使用状态存储器模块达到增量数据抽取的效果。例如,源系统的用户表中有增量字段(自增序列或是时间戳字段),输入插件能够在每一条用户消息添加一个消息监听器,在消息完成流转这个时间点上将用户数据中的增量字段值更新到状态存储器中。消息监听器由驱动子系统在消息流转结束或是发生异常时触发通知添加监听器的插件。若此时引擎因为某些外部因素(服务器宕机、人为杀死进程)停止,那么输入插件在下次作业启动时只需要从状态存储器中获取到上次数据读取到的偏移量值,并读取此偏移量值之后的增量数据即可。
[0035] 以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈