CN114115838A - 一种基于分布式组件和云平台的数据交互方法及系统 - Google Patents
一种基于分布式组件和云平台的数据交互方法及系统 Download PDFInfo
- Publication number
- CN114115838A CN114115838A CN202111335625.XA CN202111335625A CN114115838A CN 114115838 A CN114115838 A CN 114115838A CN 202111335625 A CN202111335625 A CN 202111335625A CN 114115838 A CN114115838 A CN 114115838A
- Authority
- CN
- China
- Prior art keywords
- pipeline
- component
- data
- configuration
- data interaction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据交互技术领域,公开了一种基于分布式组件和云平台的数据交互方法,包括:在组件库根据组件模板对组件进行开发;对组件进行调试和审核,生成业务套件,绑定时根据业务套件组装逻辑在管理云平台的后台处理业务套件并发布业务套件;实施业务套件时,将业务套件结合运行平台框架生成软件包,将软件包运行并启动运行平台;进行管道的绘制和创建,进行配置;管道配置完成后,对管道进行校验,完成管道的创建,并将管道数据持久化到文件系统;在管道列表查询已创建的管道,并对管道进行操作;管道启动后对数据进行抽取、处理和写入,完成数据的交互。本发明还公开了一种基于分布式组件和云平台的数据交互系统,本发明用于处理各个系统所产生的数据,以及系统和系统之间的数据交互。
Description
技术领域
本发明涉及数据交互技术领域,具体地说,是一种基于分布式组件和云平台的数据交互方法及系统,用于处理各个系统所产生的数据,以及系统和系统之间的数据交互。
背景技术
随着计算机技术的发展,一方面,出现了异构系统、分布式系统等非单体架构的系统,系统的复杂度日益增长;另一方面,系统所产生的数据量越来越大,各个系统之间的数据交互逻辑的复杂度不断提升。目前系统产生的数据需要系统本身完成提取以及相应的处理工作,数据处理和实际业务耦合较严重。系统与系统间的数据流转和交互,需要数据的提供方提供相应的数据接口供数据的处理方/接收方进行数据读取和写入,当一个系统与外部系统的数据交互非常频繁时,定制化的端对端接口会造成系统的臃肿和开发复杂度的上升。由此产生了各式各样的ETL工具。ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL工具或相关脚本可以独立于业务系统运行,在不影响业务系统的架构和功能的前提下,提供有限的数据交互能力。但即使产生了各式各样的ELF工具,传统的数据交互架构依然非常难以管理且非常复杂,并具有以下缺点:
1、数据库、文件和数据仓库之间的处理以批次进行。
2、目前,大多数公司都需要分析并操作实时数据。但是,传统的工具不适合分析日志、传感器数据、测量数据等。
3、非常大的领域数据模型需要全局的结构。
4、传统ETL处理非常慢、非常耗时,而且需要大量资源。
5、传统架构仅关注已有的技术,因此,每次引入新的技术,应用程序和工具都要重新编写。
因此,亟需一种技术,能够解决上述问题,并处理各个系统所产生的数据,以及系统和系统之间的数据交互。
发明内容
本发明的目的在于提供一种基于分布式组件和云平台的数据交互方法,用于处理各个系统所产生的数据,以及系统和系统之间的数据交互。
本发明通过下述技术方案实现:一种基于分布式组件和云平台的数据交互方法,包括以下步骤:
步骤S1.根据组件库中的已有组件判断组件库是否需要进行组件开发,如果是,进入步骤S2,如果否,进入步骤S3;
步骤S2.开发人员在组件库根据组件模板对组件进行开发,开发后对组件进行打包和生成版本号,开发人员通过管理云平台上传打包好的组件包,同时提交代码仓库地址;
步骤S3.平台审核人员对上传的组件包和代码仓库地址进行调试,调试好后对组件库中的组件进行审核,判断审核是否通过,如果是,通过代码仓库提供的API的版本信息创建代码仓库的发布版本信息,并将组件信息和文件信息记录发布在管理云平台中,如果否,返回步骤S2;
步骤S4.在管理云平台中,选择某一版本信息的API和多个组件进行绑定生成业务套件,绑定时,根据业务套件组装逻辑在管理云平台的后台处理业务套件并发布业务套件;
步骤S5.实施业务套件时,将步骤S4中发布的业务套件结合运行平台框架生成软件包,将软件包部署在硬件服务器上运行并启动运行平台;
步骤S6.成功启动运行平台后,通过可视化界面以拖拉拽的方式进行管道的绘制和创建,对管道和管道中多个组件的实例节点进行配置;
步骤S7.管道配置完成后,对管道进行校验,判断是否存在异常配置,如果是,则无法创建管道,提示配置异常,如果否,则完成管道的创建,并将管道数据持久化到文件系统;
步骤S8.在管道列表查询已创建的管道,并对管道进行操作;
步骤S9.管道启动后,根据管道配置对数据进行抽取、处理和写入,完成数据的交互,记录日志并发送预警消息。
在本技术方案中,现代数据处理通常包括实时数据的处理,而且组织也需要对处理过程的实时洞察。系统需要在数据流上执行ETL,不能使用批处理,而且应该能够自动伸缩以处理更高的数据流量。一些单服务器的数据库已经被分布式数据平台(如Cassandra、MongoDB、Elasticsearch、SAAS应用程序等)、消息传递机制(Kafka、ActiveMQ等)和几种其他类型的端点代替。所以系统应该能够以可管理的方式加入额外的数据源或目的地。本技术方案避免了由于“现写现用”的架构导致的重复数据处理。本技术方案改变数据捕获技术的方式,从要求传统ETL与之集成,变成支持传统操作。本技术方案考虑了数据源多样化和新需求的可维护性,令源和目标端点应该与业务逻辑解耦合,并使用数据映射层,将新的源和端点无缝地衔接,而且不影响数据转换过程。
为了更好地实现本发明,进一步地,步骤S2中的组件模板的形式包括代码编辑器的模板功能形式、集成开发环境形式和包管理器形式,根据组件模板的不同形式使用不同的方式进行组件开发;
当使用代码编辑器的模板功能形式和集成开发环境形式和包管理器形式时,需要抽取配置,并在各个开发机上导入抽取的配置以获取组件模板代码;
当使用包管理器的插件包管理器形式时,在开发机安装对应的包管理器,并通过指定的命令获取组件模板代码;
组件模板代码中包括基础的依赖信息和API的版本信息。
为了更好地实现本发明,进一步地,步骤S3包括:
记录审核通过的组件,审核通过的组件可以被下载使用并与数据交互引擎进行任意组合。
为了更好地实现本发明,进一步地,步骤S4中的业务套件组装逻辑包括:
分别下载并解压数据交互引擎和组件的压缩包;
将两个文件夹组合到运行平台文件夹下;
对文件夹进行压缩,并分发成不同类型的压缩包供各个系统使用;
在部署时进行解压,执行运行平台文件夹下的脚本进行启动运行。
为了更好地实现本发明,进一步地,步骤S5中运行平台框架的操作方式包括:
运行平台框架提供一个默认的运行平台模块;
根据运行平台模块提供客制化功能并根据需要被替换或被开发,客制化功能包括用户管理功能、权限管理功能和用于用户操作的UI功能;
将结合后的软件包视为可运行的平台,软件包包括文件目录结构;
在可运行平台内根据数据交互引擎规则进行数据交互。
为了更好地实现本发明,进一步地,数据交互引擎规则包括:
在配置模块判断是否配置正常,如果是,组件加载模块扫描组件路径,如果否,结束加载;
配置正常时,生成加载器记录组件信息,并加载组件判断组件是否加载成功,如果是,启动引擎并结束加载,如果否,结束加载。
为了更好地实现本发明,进一步地,步骤S6包括:
对管道进行配置,包括管道的定时启停配置、管道的异常处理配置、管道是否集群的配置、管道集群节点地址的配置、管道运行间隔时间的配置、管道启动参数的配置和管道邮件通知的配置;
管道中多个组件的实例节点包括数据源节点、数据处理节点和目标节点;
分别对实例节点进行独立配置;
对数据源节点配置管道中的数据来源,数据来源包括文件系统、其他系统提供的数据查询API或数据库系统,数据源节点具有读数据的特征;
对数据处理节点配置处理逻辑,通过远程API、脚本或数据处理节点的组件内置的逻辑对数据处理节点进行处理;
对目标节点配置数据的最终操作,最终操作包括将文件系统、其他系统的数据写入API或数据库系统,目标节点指向数据源节点所配置的数据源,目标节点具有写数据的特征。
为了更好地实现本发明,进一步地,步骤S8中对管道进行操作的方式包括:
启动管道、编辑管道、删除管道和导出管道;
点击启动管道,则按照管道的配置进行运行;
点击编辑管道,则跳转到管道绘制界面,对管道配置和节点配置进行修改;
点击删除管道,则从文件系统、数据库或其他持久化目标中进行删除;
点击导出管道,则将管道配置生成文本格式的文件。
为了更好地实现本发明,进一步地,本发明还提供了一种基于分布式组件和云平台的数据交互系统,系统包括数据交互引擎、组件库、管理云平台和运行平台,其中:
数据交互引擎,用于对管道进行校验,判断是否存在异常配置,如果是,则无法创建管道,提示配置异常,如果否,则完成管道的创建,并将管道数据持久化到文件系统;数据交互引擎包括一组API规范,用于定义组件、管道、片段以及模板的属性和功能;数据交互引擎包括一套可视化界面,可视化界面用于以完成组件的展示以及管道、片段和模板的绘制;
组件库,用于提供组件的开发模板,根据开发末班快速开发出新的组件;组件库与数据交互引擎和运行平台高度解耦,用于独立进行开发和管理;
管理云平台,用于开发阶段,开发人员通过管理云平台上传打包好的组件包,同时提交代码仓库地址;用于管理数据交互引擎的各个版本和组件库,并将各个版本的引擎和多个组件进行绑定形成不同的业务套件;
运行平台,用于实施阶段,将软件包部署在硬件服务器上;运行平台包括在管理云平台生成的业务套件,用于定制化开发业务相关的功能;运行平台包括一组默认的业务功能,默认的业务功能包括账号管理功能、权限管理功能和管道管理功能;运行平台用于通过可视化界面以拖拉拽的方式进行管道的绘制和创建,对管道和管道中多个组件的实例节点进行配置。
为了更好地实现本发明,进一步地,数据交互引擎包括日志模块、预警模块、事件模块、凭据模块、缓存模块、校验模块、Trace模块和调试模块,其中:
日志模块,用于定义一套日志API规范,用于记录组件和管道在运行时的日志信息,用于提供日志操作的默认实现,用于根据API规范定制开发日志的记录逻辑,用于接入外部的日志系统;
配置模块,用于定义引擎的配置项和引擎启动时对配置的加载,配置模块支持本地文件配置和远程配置两种形式;
预警模块,用于提供一组关于消息预警的API规范;用于在管道运行过程中产生异常时进行预警通知;
事件模块,用于提供一组关于事件监听器的API规范,根据API规范可自定义组件或管道的事件监听逻辑,同时事件模块的引擎内置一部分常用的事件监听器;
凭据模块,用于管理管道运行中所产生的凭据信息,并在管道运行时提供相应的凭据供管道中的节点进行验证;
缓存模块,用于提供一组缓存功能的API规范;用于提供默认实现;用于缓存管道配置信息,在引擎启动时加载管道配置信息到缓存中;
校验模块,用于校验管道、片段和模板的配置是否正确;
Trace模块,用于记录并存储管道运行过程中在各个节点产生的数据,用于配置多种存储方式;
调试模块,调试模块内置一个Web服务器用于独立运行;用于在开发阶段对组件、片段和模板功能进行调试。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明使用组件库来解耦数据交互引擎本身的功能和可以提供的数据交互的能力。组件库中的组件是实现一个管道的基础,但组件的开发不依赖于数据交互引擎,可以独立开发,独立部署,数据交互引擎可以通过扫描特定目录下的程序包,动态的加载和卸载组件。使组件拥有相当大的可拓展性。
(2)、本发明提供了一种简单直观的数据处理任务的配置,通过可视化界面,配置数据处理流程,以拖拉拽的方式,灵活地组合多个不同的组件,形成管道配置,该配置可以进行修改或通过片段的升级来更新。
(3)、本发明支持同一组件的多个不同版本同时运行,在引擎启动时,会为每一个组件生成一个加载器,该加载器仅加载自己的组件,不同加载器之间互不影响。
(4)、本发明使用可视化界面发布业务套件用以实施,在管理中心云平台可以查看现有的引擎版本和组件库,可以自由组合引擎和组件形成一个完整的业务套件,同时对特定的业务套件提供基础的可视化界面供用户使用。
(5)、本发明基于工作流思想的数据交互逻辑,通过配置一连串的组件,使数据从数据源经过一系列的有序的处理逻辑,最终流向目标节点。
(6)、本发明独立于业务系统进行开发部署,在提供强大的数据交互能力时,不需要业务系统改变架构或提供额外的接口。
(7)、本发明具有分布式和高可用的特点,可在承载大数据量的处理时仍然保持较高的效率和较低的资源消耗。
(8)、本发明针对工业制造行业的不同需求,通过配置的形式,打包生成行业套件,以适应不同需求。
(9)、本发明支持工业级点到点的详细数据回溯与追踪。
(10)、本发明支持边缘部署,以最小资源占用的方式,从工业设备提前所需数据,以实现物联网下的设备数据交互。
附图说明
本发明结合下面附图和实施例做进一步说明,本发明所有构思创新应视为所公开内容和本发明保护范围。
图1为本发明所提供的一种基于分布式组件和云平台的数据交互方法的流程图。
图2为本发明所提供的数据交互引擎所包含的功能模块的结构示意图。
图3为本发明所提供的数据交互引擎内置的管道绘制界面的结构示意图。
图4为本发明所提供的数据交互引擎启动流程的结构示意图。
图5为本发明所提供的组件开发及应用流程的结构示意图。
图6为本发明所提供的业务套件的组装和使用的结构示意图。
图7为本发明所提供的运行平台文件目录的结构示意图。
图8为本发明所提供的一种基于分布式组件和云平台的数据交互系统的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;也可以是直接相连,也可以是通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1:
本实施例的一种基于分布式组件和云平台的数据交互方法,如图1-6所示,本发明基于工作流思想的数据交互方法和同一组件多版本的加载方法,对组件和数据交互中枢本身高度解耦,可根据提供的API和模板独立开发组件;同时支持组件的可视化安装,支持数据交互引擎和数据交互中枢的架构设计,提供了组件开发管理的流程。
实施例2:
本实施例在实施例1的基础上做进一步优化,本实施例使用组件库的组件模板进行组件开发,在组件库已有组件并不需要新的组件时,开发新的组件是非必须的。组件模板可以以多种形式实现,可以由代码编辑器的模板功能实现,也可配置集成开发环境实现,也可使用包管理器如Maven的原型插件实现。基于不同的实现方式,模板的使用方式也不尽相同,使用代码编辑器或集成开发环境的模板功能时,需要抽取配置,并在各个开发机上导入配置以获取组件模板代码;使用包管理器的插件实现时,需要在开发机安装对应的包管理器,并通过指定的命令来获取模板代码。组件模板代码中包含基础的依赖和引擎API的版本信息,同时提供了各种不同组件的样例代码和说明以帮助开发人员尽快熟悉组件的开发模式。
在本实施例中的包管理器指Maven包管理器,指定的命令如mvnarchetype:generate-DarchetypeGroupId=cec.jiutianDarchetypeArtifactId=data-integration-process-component-archetype-DarchetypeVersion=<version>。上述命令需要通过命令行工具如bash、powershell等进行执行
本实施例的其他部分与实施例1相同,故不再赘述。
实施例3:
本实施例在实施例1的基础上做进一步优化,在本实施例中,开发人员开发完组件后,自行打包,并根据版本命名规范生成版本号。打包后的组件包是压缩包格式,可解压后直接和引擎组合使用,发人员通过管理云平台上传打包好的组件包,同时提交代码仓库地址,以供后续代码审核,平台审核人员将对上传的组件包及代码进行调试和审核,确保组件按照开发规范进行开发。同时使用平台的调试环境,对组件包中的组件进行调试,确保功能正常。审核不通过时,需要返回重新生成组件包,根据审核意见改良或重新对组件进行开发和完善。审核通过时,将通过代码仓库提供的API,创建代码仓库的release信息,同时管理云平台也将记录发布的组件信息和相关的文件资源。审核通过后的组件记录可以被下载使用,与数据交互引擎进行任意组合。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例4:
本实施例在实施例1的基础上做进一步优化,在本实施例中,使用管理云平台选择某一版本的引擎和多个组件进行绑定形成业务套件。绑定时,管理云平台的后台处理逻辑如图6业务套件的组装和使用所示,该业务套件以软件包的形式发布,可在实施阶段使用。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例5:
本实施例在实施例1的基础上做进一步优化,在本实施例实施时,需将之前发布的业务套件和运行平台框架相结合,运行平台框架一般提供一个默认的最小的运行平台模块。该模块包含一部分客制化功能,如用户管理,权限管理等;包含一部分UI用于用户操作前面的客制化功能。同时根据实施需要,该模块可以被替换或在其基础上开发其他功能。结合后的软件包视为可运行的平台,文件目录结构如图7运行平台文件目录结构所示。软件包可部署在硬件服务器上运行,一般为Linux或Windows操作系统。运行平台启动流程如图4数据交互引擎启动流程所示。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例6:
本实施例在实施例5的基础上做进一步优化,在本实施例中,配置模块用于定义引擎的配置项和引擎启动时对配置的加载,支持本地文件配置和远程配置两种形式,所以在配置模块启动引擎配置判断是否配置正常。
本实施例的其他部分与实施例5相同,故不再赘述。
实施例7:
本实施例在实施例1的基础上做进一步优化,本实施例在数据引擎成功启动程序后,可以通过可视化界面,以拖拉拽的方式进行管道的绘制和创建。管道由多个组件的实例节点组成,每个管道至少包含一个数据源节点和一个目标节点,可以包含多个数据源节点,多个数据处理节点和多个目标节点。每一个节点都需要进行独立配置。数据源节点需要配置此管道中的数据来源,可以是文件系统、其他系统提供的数据查询API或是数据库系统等,此类节点具有“读”数据的特征。数据处理节点需要配置处理逻辑,可以通过远程API,脚本或该节点的组件内置的逻辑进行处理。目标节点需要配置数据的最终操作,可以为文件系统、其他系统的数据写入API或是数据库系统等,此节点可指向数据源节点所配置的数据源,此类节点具有“写”数据的特征。
例如数据源节点使用MySQL数据读取组件,需要对MySQL数据库连接信息进行配置,如数据库地址,数据库名称,数据库连接用户和密码,数据库表名,字段名等;需要对读取的行为进行配置,如读取间隔时间,读取的数据量,批处理数量等。
例如数据处理节点使用字符转码组件,可以将字符转化为特定的编码后推送到下一节点。需要对传入的数据格式进行配置,如json格式,xml格式,获取的field名称,数据的原始编码等;需要对传出的数据格式进行配置,如json格式,xml格式,文本格式,数据需要转换的编码等。
例如目标节点使用MySQL数据写入组件,需要对MySQL数据库连接信息进行配置,如数据库地址,数据库名称,数据库连接用户和密码,数据库表名,字段名等;需要对写入的行为进行配置,如写入的数据量,是否批处理,批处理数量等。
以上三个组件的配置可以组成一个简易的MySQL数据编码的转换管道,该示例仅为多种管道绘制情况中的一种。其中数据源节点可以替换为其他的数据源,数据处理节点可以依据业务需求进行增加或减少,目标节点可以替换为其他的写入目标。
除各个节点的配置外,管道本身也需要进行配置。如管道的定时启停,管道异常的处理类,管道是否集群,集群节点地址,管道运行间隔时间,管道启动参数,管道邮件通知等。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例8:
本实施例在实施例1的基础上做进一步优化,管道配置完成后,数据交互引擎中的校验模块将对管道进行校验。若存在异常配置,则无法创建管道,提示配置异常。校验通过则完成创建,管道数据将持久化到文件系统。持久化方式可根据实际情况进行选择或替换,如数据库系统,缓存,消息队列等。在管道列表可以查询已创建的管道,可以对管道进行以下操作:启动管道,编辑管道,删除管道,导出管道。点击启动管道,则按照管道配置的运行规则运行。点击编辑管道,则跳转到管道绘制界面,对管道配置和节点配置进行修改。点击删除管道会从文件系统、数据库或其他持久化目标中进行删除。导出管道将管道配置生成json格式文件。管道启动后,将按照配置进行数据抽取、处理和写入。若接入了日志模块或预警模块,则会进行日志记录或预警消息发送。本实施例中的文件格式可以是任意的文本格式,如.json,.xml,.txt,.doc等,抑或是无后缀的文件。其内的数据格式通常是结构化的字符串,如json字符串,xml字符串等。
本实施例的其他部分与实施例1相同,故不再赘述。
实施例9:
本实施例提供了一种基于分布式组件和云平台的数据交互系统,本实施例的数据交互中枢系统分为四个部分:数据交互引擎,组件库,管理云平台,运行平台。如图8所示,本实施例中的数据交互引擎整体架构如图2所示,数据交互引擎所包含的功能模块在图2所示,包含一组API规范,用以定义组件、管道、片段以及模板的属性和功能。还包含一套UI界面,该界面可以完成组件的展示以及管道、片段和模板的绘制,本实施例中数据交互引擎内置的管道绘制UI如图3所示。
组件库提供了组件的开发模板,可以以此快速开发出新的组件。同时该组件库与数据交互引擎以及运行平台高度解耦,可独立进行开发和管理。组件的底层驱动可由各个厂商进行提供。组件开发可使用已存在的驱动,在此基础之上进行额外的开发。对于不同版本的驱动应编写不同的组件程序。
管理中心云平台应用于开发阶段,可以管理数据交互引擎的各个版本和组件库。可以将各个版本的引擎和多个组件进行绑定形成不同的业务套件,通过发布以用于实施。
运行平台应用于实施阶段,包含在管理云平台生成的业务套件,并可定制化开发业务相关的功能。包含一组默认的业务功能,如账号管理,权限管理,管道管理等,包含一组默认UI供用户操作上述功能。此部分也可根据业务需要进行替换或二次开发。同时该平台不关心数据交互引擎的具体实现,仅调用引擎提供的API即可。本实施例的其他部分与实施例9相同,故不再赘述。
实施例10:
本实施例在实施例9的基础上做进一步优化,数据交互引擎还包含其他功能模块。日志模块定义了一套日志API规范,用来记录组件和管道在运行时的一些日志信息,提供日志操作的默认实现。也可根据API规范定制化开发日志记录逻辑,或者接入外部的日志系统。配置模块用于定义引擎的配置项和引擎启动时对配置的加载。支持本地文件配置和远程配置两种形式。预警模块提供一组关于消息预警的API规范,在管道运行过程中产生异常时可以进行预警通知。事件模块提供一组关于事件监听器的API规范,基于此API可自定义组件或管道的事件监听逻辑。同时引擎内置一部分常用的事件监听器,如管道启动监听器,管道停止监听器。凭据模块负责管理管道运行中所产生的各种各样的凭据信息,并在管道运行时提供相应的凭据供管道中的节点进行验证。缓存模块提供一组缓存功能的API规范,提供默认实现。负责缓存管道配置信息,在引擎启动时加载管道配置信息到缓存中。校验模块负责校验管道、片段以及模板的配置是否正确。Trace模块负责记录并存储管道运行过程中在各个节点产生的数据,可配置多种存储方式,如文件系统和数据库系统。数据交互引擎同时提供一个调试模块,该模块内置一个Web服务器,可以独立运行,用以开发阶段对组件、片段及模板功能进行调试。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (10)
1.一种基于分布式组件和云平台的数据交互方法,其特征在于,包括以下步骤: 步骤S1.根据组件库中的已有组件判断组件库是否需要进行组件开发,如果是,进入步骤S2,如果否,进入步骤S3; 步骤S2.开发人员在组件库根据组件模板对组件进行开发,开发后对组件进行打包和生成版本号,开发人员通过管理云平台上传打包好的组件包,同时提交代码仓库地址;
步骤S3.平台审核人员对上传的组件包和代码仓库地址进行调试,调试好后对组件库中的组件进行审核,判断审核是否通过,如果是,通过代码仓库提供的API的版本信息创建代码仓库的发布版本信息,并将组件信息和文件信息记录发布在管理云平台中,如果否,返回步骤S2; 步骤S4.在管理云平台中,选择某一版本信息的API和多个组件进行绑定生成业务套件,绑定时,根据业务套件组装逻辑在管理云平台的后台处理业务套件并发布业务套件;
步骤S5.实施业务套件时,将步骤S4中发布的业务套件结合运行平台框架生成软件包,将软件包部署在硬件服务器上运行并启动运行平台;
步骤S6.成功启动运行平台后,通过可视化界面以拖拉拽的方式进行管道的绘制和创建,对管道和管道中多个组件的实例节点进行配置;
步骤S7.管道配置完成后,对管道进行校验,判断是否存在异常配置,如果是,则无法创建管道,提示配置异常,如果否,则完成管道的创建,并将管道数据持久化到文件系统;
步骤S8.在管道列表查询已创建的管道,并对管道进行操作; 步骤S9.管道启动后,根据管道配置对数据进行抽取、处理和写入,完成数据的交互,记录日志并发送预警消息。
2.根据权利要求1所述的一种基于分布式组件和云平台的数据交互方法,其特征在于,所述步骤S2中的组件模板的形式包括代码编辑器的模板功能形式、集成开发环境形式和包管理器形式,根据组件模板的不同形式使用不同的方式进行组件开发; 当使用代码编辑器的模板功能形式和集成开发环境形式和包管理器形式时,需要抽取配置,并在各个开发机上导入抽取的配置以获取组件模板代码;
当使用包管理器的插件包管理器形式时,在开发机安装对应的包管理器,并通过指定的命令获取组件模板代码; 所述组件模板代码中包括基础的依赖信息和API的版本信息。
3.根据权利要求1所述的一种基于分布式组件和云平台的数据交互方法,其特征在于,所述步骤S3包括:
记录审核通过的组件,所述审核通过的组件可以被下载使用并与数据交互引擎进行任意组合。
4.根据权利要求1所述的一种基于分布式组件和云平台的数据交互方法,其特征在于,所述步骤S4中的业务套件组装逻辑包括: 分别下载并解压数据交互引擎和组件的压缩包;将两个文件夹组合到运行平台文件夹下; 对文件夹进行压缩,并分发成不同类型的压缩包供各个系统使用; 在部署时进行解压,执行运行平台文件夹下的脚本进行启动运行。
5.根据权利要求1所述的一种基于分布式组件和云平台的数据交互方法,其特征在于,所述步骤S5中运行平台框架的操作方式包括: 运行平台框架提供一个默认的运行平台模块;
根据所述运行平台模块提供客制化功能并根据需要被替换或被开发,所述客制化功能包括用户管理功能、权限管理功能和用于用户操作的UI功能; 将结合后的软件包视为可运行的平台,所述软件包包括文件目录结构;
在所述可运行平台内根据数据交互引擎规则进行数据交互。
6.根据权利要求5所述的一种基于分布式组件和云平台的数据交互方法,其特征在于,所述数据交互引擎规则包括: 在配置模块判断是否配置正常,如果是,组件加载模块扫描组件路径,如果否,结束加载; 配置正常时,生成加载器记录组件信息,并加载组件判断组件是否加载成功,如果是,启动引擎并结束加载,如果否,结束加载。
7.根据权利要求1所述的一种基于分布式组件和云平台的数据交互方法,其特征在于,所述步骤S6包括: 对管道进行配置,包括管道的定时启停配置、管道的异常处理配置、管道是否集群的配置、管道集群节点地址的配置、管道运行间隔时间的配置、管道启动参数的配置和管道邮件通知的配置; 所述管道中多个组件的实例节点包括数据源节点、数据处理节点和目标节点; 分别对实例节点进行独立配置; 对数据源节点配置管道中的数据来源,所述数据来源包括文件系统、其他系统提供的数据查询API或数据库系统,所述数据源节点具有读数据的特征; 对数据处理节点配置处理逻辑,通过远程API、脚本或所述数据处理节点的组件内置的逻辑对数据处理节点进行处理; 对目标节点配置数据的最终操作,所述最终操作包括将文件系统、其他系统的数据写入API或数据库系统,所述目标节点指向数据源节点所配置的数据源,所述目标节点具有写数据的特征。
8.根据权利要求1所述的一种基于分布式组件和云平台的数据交互方法,其特征在于,所述步骤S8中对管道进行操作的方式包括:
启动管道、编辑管道、删除管道和导出管道;
点击启动管道,则按照管道的配置进行运行; 点击编辑管道,则跳转到管道绘制界面,对管道配置和节点配置进行修改; 点击删除管道,则从文件系统、数据库或其他持久化目标中进行删除; 点击导出管道,则将管道配置生成文本格式的文件。
9.一种基于分布式组件和云平台的数据交互系统,其特征在于,所述系统包括数据交互引擎、组件库、管理云平台和运行平台,其中:
数据交互引擎,用于对管道进行校验,判断是否存在异常配置,如果是,则无法创建管道,提示配置异常,如果否,则完成管道的创建,并将管道数据持久化到文件系统;所述数据交互引擎包括一组API规范,用于定义组件、管道、片段以及模板的属性和功能;所述数据交互引擎包括一套可视化界面,所述可视化界面用于以完成组件的展示以及管道、片段和模板的绘制; 组件库,用于提供组件的开发模板,根据开发末班快速开发出新的组件;所述组件库与数据交互引擎和运行平台高度解耦,用于独立进行开发和管理;
管理云平台,用于开发阶段,开发人员通过管理云平台上传打包好的组件包,同时提交代码仓库地址;用于管理数据交互引擎的各个版本和组件库,并将各个版本的引擎和多个组件进行绑定形成不同的业务套件;
运行平台,用于实施阶段,将软件包部署在硬件服务器上;所述运行平台包括在管理云平台生成的业务套件,用于定制化开发业务相关的功能;所述运行平台包括一组默认的业务功能,所述默认的业务功能包括账号管理功能、权限管理功能和管道管理功能;所述运行平台用于通过可视化界面以拖拉拽的方式进行管道的绘制和创建,对管道和管道中多个组件的实例节点进行配置。
10.根据权利要求9所述的一种基于分布式组件和云平台的数据交互系统,其特征在于,所述数据交互引擎包括日志模块、预警模块、事件模块、凭据模块、缓存模块、校验模块、Trace模块和调试模块,其中:
日志模块,用于定义一套日志API规范,用于记录组件和管道在运行时的日志信息,用于提供日志操作的默认实现,用于根据API规范定制开发日志的记录逻辑,用于接入外部的日志系统;
配置模块,用于定义引擎的配置项和引擎启动时对配置的加载,配置模块支持本地文件配置和远程配置两种形式;
预警模块,用于提供一组关于消息预警的API规范;用于在管道运行过程中产生异常时进行预警通知;
事件模块,用于提供一组关于事件监听器的API规范,根据所述API规范可自定义组件或管道的事件监听逻辑,同时事件模块的引擎内置一部分常用的事件监听器;
凭据模块,用于管理管道运行中所产生的凭据信息,并在管道运行时提供相应的凭据供管道中的节点进行验证;
缓存模块,用于提供一组缓存功能的API规范;用于提供默认实现;用于缓存管道配置信息,在引擎启动时加载管道配置信息到缓存中;
校验模块,用于校验管道、片段和模板的配置是否正确;
Trace模块,用于记录并存储管道运行过程中在各个节点产生的数据,用于配置多种存储方式;
调试模块,所述调试模块内置一个Web服务器用于独立运行;用于在开发阶段对组件、片段和模板功能进行调试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111335625.XA CN114115838A (zh) | 2021-11-11 | 2021-11-11 | 一种基于分布式组件和云平台的数据交互方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111335625.XA CN114115838A (zh) | 2021-11-11 | 2021-11-11 | 一种基于分布式组件和云平台的数据交互方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114115838A true CN114115838A (zh) | 2022-03-01 |
Family
ID=80378585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111335625.XA Pending CN114115838A (zh) | 2021-11-11 | 2021-11-11 | 一种基于分布式组件和云平台的数据交互方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115838A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115016781A (zh) * | 2022-07-14 | 2022-09-06 | 北京智芯半导体科技有限公司 | 嵌入式软件开发方法、装置、电子设备及可读存储介质 |
CN115269033A (zh) * | 2022-06-18 | 2022-11-01 | 知学云(北京)科技股份有限公司 | 一种aPaaS平台加载外部业务组件包的方法及系统 |
CN115967607A (zh) * | 2022-12-25 | 2023-04-14 | 西安电子科技大学 | 基于模板的分布式互联网大数据采集系统及方法 |
CN117234760A (zh) * | 2023-11-15 | 2023-12-15 | 中保车服科技服务股份有限公司 | DevOps平台创建方法、系统、存储介质及设备 |
-
2021
- 2021-11-11 CN CN202111335625.XA patent/CN114115838A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115269033A (zh) * | 2022-06-18 | 2022-11-01 | 知学云(北京)科技股份有限公司 | 一种aPaaS平台加载外部业务组件包的方法及系统 |
CN115016781A (zh) * | 2022-07-14 | 2022-09-06 | 北京智芯半导体科技有限公司 | 嵌入式软件开发方法、装置、电子设备及可读存储介质 |
CN115967607A (zh) * | 2022-12-25 | 2023-04-14 | 西安电子科技大学 | 基于模板的分布式互联网大数据采集系统及方法 |
CN117234760A (zh) * | 2023-11-15 | 2023-12-15 | 中保车服科技服务股份有限公司 | DevOps平台创建方法、系统、存储介质及设备 |
CN117234760B (zh) * | 2023-11-15 | 2024-02-27 | 中保车服科技服务股份有限公司 | DevOps平台创建方法、系统、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114115838A (zh) | 一种基于分布式组件和云平台的数据交互方法及系统 | |
US9906622B2 (en) | Automated service interface optimization | |
US10579638B2 (en) | Automating extract, transform, and load job testing | |
CN106156186B (zh) | 一种数据模型管理装置、服务器及数据处理方法 | |
US8589864B2 (en) | Automating the creation of an application provisioning model | |
US7653893B2 (en) | Methods and apparatus for implementing checkin policies in source code control systems | |
US8510712B1 (en) | Testing in-container software objects | |
US8627337B2 (en) | Programmatic modification of a message flow during runtime | |
CN113434158B (zh) | 一种大数据组件的自定义管理方法、装置、设备及介质 | |
US9658842B2 (en) | Application runtime expert for deployment of an application on multiple computer systems | |
CN108196915A (zh) | 基于应用容器引擎的代码处理方法、设备及存储介质 | |
US8806475B2 (en) | Techniques for conditional deployment of application artifacts | |
CN113885849B (zh) | 基于工业互联网平台的应用开发方法、装置及终端设备 | |
US9542173B2 (en) | Dependency handling for software extensions | |
CN110704025A (zh) | 编码规范工具的生成方法和装置、存储介质、电子设备 | |
US20240086239A1 (en) | Services development and deployment for backend system integration | |
CN114328250A (zh) | 软件系统自动自检方法、介质和装置 | |
CN115525534A (zh) | 基于swagger的接口测试的测试用例生成方法、生成平台 | |
CN117667109A (zh) | 一种环境部署方法、装置、电子设备及存储介质 | |
WO2023151397A1 (zh) | 应用程序部署方法、装置、设备及介质 | |
US20130111432A1 (en) | Validation of a system model including an activity diagram | |
US9870257B1 (en) | Automation optimization in a command line interface | |
US20240160559A1 (en) | Automated decoupling of unit tests | |
JP5251197B2 (ja) | メッセージ処理方法、メッセージ処理装置、及びプログラム | |
CN115658099A (zh) | 企业级应用运维方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |