资产数据流处理服务组件动态扩展的方法和装置与流程

文档序号:27138532发布日期:2021-10-29 23:59阅读:93来源:国知局
资产数据流处理服务组件动态扩展的方法和装置与流程

1.本公开涉及计算机技术领域,尤其涉及一种资产数据流处理服务组件动态扩展的方法和装置。


背景技术:

2.在现有的资产证券化过程中,接入不同类型的资产需要对表模型进行修改,以便来达到适配对应资产类型的业务逻辑以及管理资产,当现有的系统功能满足不了时就需要开发代码来适配然后部署上线。
3.现有技术中,当需要接入新的资产时需要考虑当前系统的整体流程是否适配,并对其做出相应的开发适配,在对资产管理的生命周期里面流程固定不灵活,当系统功能满足不了时需要对相应的功能进行改造适配,这样模式开发效率低,如果测试不完全还有影响到已有的功能的风险。


技术实现要素:

4.本公开提供一种资产数据流处理服务组件动态扩展的方法和装置,用以解决现有技术中开发效率低,可能给现有功能带来危害的缺陷,实现高效配置各种组件,无需重启系统减小重启带来的风险。
5.第一方面,本公开提供一种资产数据流处理服务组件动态扩展的方法,包括:
6.根据预设的业务规则确定与目标业务对应的多个流程节点,其中,每个所述流程节点对应一个任务容器;
7.确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;
8.将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。
9.根据本公开提供的一种资产数据流处理服务组件动态扩展的方法,其特征在于,所述通过组件管理器根据所述待扩展组件的格式创建具体的组件实例,包括:
10.判断本地磁盘中是否存在待扩展组件;
11.若存在,则将所述待扩展组件的存储路径添加入组件管理器中;
12.若不存在,则从组件数据库中查找到所述待扩展组件的组件存放地址,根据所述组件存放地址下载所述待扩展组件并缓存到所述本地磁盘,再将所述待扩展组件在所述本地磁盘中的存储路径添加入所述组件管理器中。
13.根据本公开提供的一种资产数据流处理服务组件动态扩展的方法,其特征在于,所述流程节点包括数据采集和数据分发;
14.或,
15.所述流程节点包括数据采集、数据转换以及数据分发;
16.或,
17.所述流程节点包括数据采集、数据计算以及数据分发;
18.或,
19.所述流程节点包括数据采集、数据转换、数据计算以及数据分发。
20.根据本公开提供的一种资产数据流处理服务组件动态扩展的方法,其特征在于,所述组件管理器根据组件的格式通过加载组件来创建具体的组件实例,具体包括:
21.判断所述组件的格式为第一组件格式还是第二组件格式;
22.若所述组件的格式为第一组件格式,则采用第一组件类加载器获取组件实例的类别并创建第一组件实例;
23.若所述组件的格式为第二组件格式,则采用第二组件类加载器获取组件实例的类别并创建第二组件实例。
24.根据本公开提供的一种资产数据流处理服务组件动态扩展的方法,其特征在于,所述方法还包括:
25.构建包括所述业务规则所需组件的所述组件数据库;
26.将所述组件数据库中的组件的相关信息添加在系统组件管理页面上。
27.第二方面,本公开提供一种资产数据流处理服务组件动态扩展的装置,包括:
28.第一处理模块,用于根据预设的业务规则确定与目标业务对应的多个流程节点,其中,每个所述流程节点对应一个任务容器;
29.第二处理模块,用于确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;
30.第三处理模块,用于将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。
31.根据本公开提供的一种资产数据流处理服务组件动态扩展的装置,所述装置还包括第四处理模块,用于:
32.判断本地磁盘中是否存在待扩展组件;
33.若存在,则将所述待扩展组件的存储路径添加入组件管理器中;
34.若不存在,则从组件数据库中查找到所述待扩展组件的组件存放地址,从所述组件存放地址下载所述待扩展组件并缓存到所述本地磁盘,再将所述待扩展组件在所述本地磁盘中的存储路径添加入所述组件管理器中。
35.根据本公开提供的一种资产数据流处理服务组件动态扩展的装置,其特征在于,所述流程节点包括数据采集和数据分发;
36.或,
37.所述流程节点包括数据采集、数据转换以及数据分发;
38.或,
39.所述流程节点包括数据采集、数据计算以及数据分发;
40.或,
41.所述流程节点包括数据采集、数据转换、数据计算以及数据分发。
42.本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述资产数据流处理服务组件动态扩展的方法的步骤。
43.本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述资产数据流处理服务组件动态扩展的方法的步骤。
44.本公开提供的资产数据流处理服务组件动态扩展的方法和装置,通过根据预设的业务规则确定不同的目标任务所需要的流程节点,进而确定流程节点对应的待扩展组件的格式,通过组件管理器根据待扩展组件的格式创建具体的组件实例,将组件实例添加入对应的任务容器包含的组件列表中,实现对组件列表的扩展,实现动态地配置各类资产的接入和管理的组件,无需重启系统,减小了重启带来的风险,提高了对不同资产数据处理的流程的适应性和处理的效率。
附图说明
45.为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1是本公开提供的资产数据流处理服务组件动态扩展的方法的流程示意图之一;
47.图2是本公开提供的资产数据流处理服务组件动态扩展的方法的流程示意图之二;
48.图3是本公开提供的资产数据流处理服务的流程图;
49.图4是本公开提供以abs资产数据流为例说明资产数据流处理服务组件动态扩展的过程示意图;
50.图5是本公开提供的资产数据流处理服务组件动态扩展的装置的结构示意图;
51.图6是本公开提供的电子设备的结构示意图。
具体实施方式
52.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
53.下面参考图1

图2描述本公开实施例的一种资产数据流处理服务组件动态扩展的方法,包括:
54.步骤100:根据预设的业务规则确定与目标业务对应的多个流程节点,其中,每个所述流程节点对应一个任务容器;
55.具体地,在abs系统的资产数据流处理中,主要分为数据采集、数据转换、数据计算和数据分发这4个流程,这些流程分别对应的组件大类为:组件readerplugin、组件transformplugin、组件computeplugin、组件writerplugin。这些组件统计实现了pluginable接口并通过pluginmanager来管理组件的初始化和销毁等工作。但是对于不同
的业务中需要处理的流程并非固定。比如在每天凌晨时从贷款单表中读取配置好对应的数据库和表,则只需要两个流程即数据采集流程和数据分发流程即可。而再比如,将筛选出来的贷款条目以满足用来做abs即资产证券化筛选出贷款为赊销类的贷款,则需要将采集到的数据进行筛选,并将筛选出来的数据按照对应的金额和条数存入统计表,则需要三个流程节点即数据采集、数据计算和数据分发三个节点。
56.在整个业务(job)中里面的节点是任务(task),并维护了一个任务链(taskchains),即任务链是具有顺序的流程节点所形成的。其中任务链的顶层是数据采集,它的子任务可以是一个或多个,从上到下如同树的根系一般发散开直到末梢结束。并且,每一个节点的任务可以是多个,每一个节点中的任务存放在一个任务容器中,用于对该节点中所对应的任务进行处理。
57.步骤200:确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;
58.具体地,在确定不同流程节点所对应的任务之后,由于每一个任务操作是由一个组件完成。其中,组件与任务操作是一一对应的关系。对于一个固定的业务而言,需要进行处理的任务操作是固定的,其中每一个节点所进行的任务操作也是固定的。每一个节点可以包含多个组件,并且在同一个节点中组件之间既可以是并列关系也可以是承继关系,也可以是并列与承继关系的相互穿插运用。而对于一个新的业务,其中对应的任务处理要求可能与现有的业务所要求的流程以及节点中的任务不相同,因此,根据其实际需要确定对应的流程节点以及不同流程节点中的不同任务确定不同的流程节点对应的任务管理中的组件。因此,需要将某一个节点中所需要的组件添加进流程节点中。在本公开中是通过组件管理器将所需要的组件进行实例化,实例化后的组件能够直接进行相应的任务处理。
59.步骤300:将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。
60.具体地,在通过组件管理器对所需要的组件进行实例化之后,将得到的组件实例添加到每个流程节点对应的任务容器中,又由于每个任务容器中包含一个组件列表,每个组件列表是其对应的流程所需要的任务。通过将组件列表加入组件列表实现了对组件列表的扩展,从而实现了对不同业务类型的处理,即实现灵活地对不同业务进行处理,避免重复开发代码适配的麻烦。
61.本公开提供的资产数据流处理服务组件动态扩展的方法,通过根据预设的业务规则确定与目标业务对应的多个流程节点,即针对不同的业务确定任务所需要的流程节点,其中每个节点对应的任务的数量可能不止一个,将这些任务置于所在流程中的任务容器中。继而,确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;在确定不同节点所对应的具体操作之后,将操作所对应的组件调用出来,并将调用的组件进行实例化,能过对所述操作进行相应地处理。然后,将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。即将实例化的组件添加入组件列表中,实现对组件列表的扩展。
62.本公开同时可以实现对相应的资产数据处理的模式化,便于重复利用。本公开依据不同的任务确定任务所需要的流程,进而在每个流程节点上都可以动态的添加或修改组件,并通过配置的组件参数来处理数据,实现动态地配置各类资产的接入和管理的组件,无
需重启系统,减小了重启带来的风险,提高了对不同资产数据处理的流程的适应性和处理的效率。
63.根据本公开实施例提供的一种资产数据流处理服务组件动态扩展的方法,其中,在所述通过组件管理器根据所述待扩展组件的格式创建具体的组件实例之前,包括:
64.判断本地磁盘中是否存在待扩展组件;
65.若存在,则将所述待扩展组件的存储路径添加入组件管理器中;
66.若不存在,则从组件数据库中查找到所述待扩展组件的组件存放地址,根据所述组件存放地址下载所述待扩展组件并缓存到所述本地磁盘,再将所述待扩展组件在所述本地磁盘中的存储路径添加入所述组件管理器中。
67.具体地,在由于每个业务所对应的任务是固定的,在出现新的业务的情况下,则新的业务所需要的任务可能发生变化,那么与任务对应的组件也会存在差别。因此,就可能存在两种情形,一种是某一个组件被调用过,即已经存储自本地磁盘中,则只需要从该组件在本地磁盘中的存储地址添加入组件管理器中即可。
68.另一种情形是,新的业务对应的某项任务是新的任务,之前并没有被调用过,则在本地磁盘中并不存在该任务对应的组件。那么,需要从预先构建的组件数据库中下载该组件,并将该组件存储本地磁盘中,然后将存储的地址添加去组件管理器中以备调用。
69.根据本公开实施例提供的一种资产数据流处理服务组件动态扩展的方法,其中,所述流程节点包括数据采集和数据分发;
70.或,
71.所述流程节点包括数据采集、数据转换以及数据分发;
72.或,
73.所述流程节点包括数据采集、数据计算以及数据分发;
74.或,
75.所述流程节点包括数据采集、数据转换、数据计算以及数据分发。
76.具体地,结合图3所示,在资产数据流处理中,主要分为数据采集、数据转换、数据计算和数据分发这4个流程,这些流程分别对应的组件大类为:组件readerplugin、组件transformplugin、组件computeplugin、组件writerplugin。其中组件readerplugin类包括sql采集、文件采集、接口采集、消息采集等组件;数据转换组件即组件transformplugin类包括数据规则转换、业务规则转换、动态脚本转换等组件;数据计算组件即组件computeplugin类包括过渡、关联、分组、统计、计数等组件;数据分发组件即组件writerplugin类包括接口服务、消息服务、文件存储、数据库存储和缓存存储等组件。
77.同时,对于一项业务并不一定需要经过上述四个流程节点,对于每个流程节点,也并不一定需要流程中所有的组件。
78.但是,由于在系统里面配置数据接入触发流程,可以是主动的采集(文件、数据库等)和被动的采集(mq消息、http接口等),触发流程后根据数据采集配置信息到指定的地方采集数据;数据采集作为起始节点通过配置的readerplugin具体组件来采集数据。
79.数据流从数据采集(readerrunner)开始节点,数据流向数据转换节点后根据配置的transformplugin实现数转换功能;然后下一个数据计算通过配置的computeplugin组件计算出结果,最后数据分发节点通过配置writerplugin组件结束数据流。即数据分发
(writerrunner)作为结束节点。而,根据业务不同可知数据采集和数据分发这两个流程节点作为必须具有的节点,而数据转换(transformrunner)、数据计算(computerunner)这两个节点作为选择节点,不一定具备,同时也不一定同时具备。作业触发后,数据采集任务开始采集数据直到所有数据分发任务完毕后作业流程结束。
80.根据本公开实施例提供的一种资产数据流处理服务组件动态扩展的方法,其中,所述通过组件管理器根据所述待扩展组件的格式创建具体的组件实例,具体包括:
81.判断所述组件的格式为第一组件格式还是第二组件格式;
82.若所述组件的格式为第一组件格式,则采用第一组件类加载器获取组件实例的类别并创建第一组件实例;
83.若所述组件的格式为第二组件格式,则采用第二组件类加载器获取组件实例的类别并创建第二组件实例。
84.具体地,参考图2所示,对于不同的组件格式采用不同的方式进行加载,其中对于组件格式为压缩包格式的组件,在pluginmanager调用loadplugin方法根据plugin_format组件格式来创建具体的组件对象时,对于是zip、jar组件格式的组件则直接通过pluginclassloader组件类加载器调用loadclass方法获取plugin_class并创建组件实例。
85.而对于组件格式为脚本格式的组件,比如是java、groovy脚本类型的,则用groovyclassloader调用parseclass方法解析脚本代码得到plugin_class并创建组件实例。
86.根据本公开实施例提供的一种资产数据流处理服务组件动态扩展的方法,其中,所述方法还包括:
87.构建包括所述业务规则所需组件的所述组件数据库;
88.将所述组件数据库中的组件的相关信息添加在系统组件管理页面上。
89.具体地,上文中记载了对不同的任务进行处理的组件,对不存在与之相对应的现有组件的任务,可以通过编程的方式重新编写代码。然后对这一代码进行抽象化,将代码转化为针对具有通用性的模块形式,可以依据不同的参数针对具体的任务进行处理。在本公开中对抽象化的代码进行提取,形成组件的模式。
90.因此,构建一个针对不同业务所需要的组件数据库,并在系统组件管理页面上添加组件,填写组件类型、名称、版本、实现类、格式、存储路径和备注说明。内容如下表1:
91.表1
92.[0093][0094]
维护的组件在数据处理流程节点上根据类型的不同而选择,数据采集对应reader,数据转换对应transform、数据计算对应compute和数据分发对应writer。
[0095]
结合图4所示,对上文的内容予以解释如下:以下是对abs资产数据流的示例,从r1.数据采集(reader)开始使用mysqlreader从数据库读取贷款单数据,采集的数据传个t1.数据转换(transform)使用两个组件filtertf筛选abs的贷款单、substrtf截取需要的内容,后续分为两个分支w1.数据分发(writer)使用mysqlwriter将资产数据存到abs资产表,和c1.数据计算compute)使用两个组件sumcompute统计贷款金额、countcompute统计贷款单条数,最后w2.数据分发使用mysqlwriter将c1计算的结果记录到统计表中,到此数据流处理结束。
[0096]
其中数据采集是顶层下面可以配置一个或多个子任务流程,同理数据转换和数据计算后面也可以配置一个或多个到数据分发一条任务分支结束,所有的数据分发里面的组件执行完毕后整个流程就结束了。不同的资产类型只要配置出不同的任务链分支和配好对应的插件列表就可以完成对应的业务流程每个节点都是可以动态的修改或者添加。
[0097]
结合图5,本公开实施例的一种资产数据流处理服务组件动态扩展的方装置,包括:
[0098]
第一处理模块51,用于根据预设的业务规则确定与目标业务对应的多个流程节点,其中,每个所述流程节点对应一个任务容器;
[0099]
第二处理模块52,用于确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;
[0100]
第三处理模块53,用于将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。
[0101]
其中,第一处理模块51具体用于:
[0102]
具体地,在abs系统的资产数据流处理中,主要分为数据采集、数据转换、数据计算和数据分发这4个流程,这些流程分别对应的组件大类为:组件readerplugin、组件transformplugin、组件computeplugin、组件writerplugin。这些组件统计实现了pluginable接口并通过pluginmanager来管理组件的初始化和销毁等工作。但是对于不同的业务中需要处理的流程并非固定。比如在每天凌晨时从贷款单表中读取配置好对应的数据库和表,则只需要两个流程即数据采集流程和数据分发流程即可。而再比如,将筛选出来的贷款条目以满足用来做abs即资产证券化筛选出贷款为赊销类的贷款,则需要将采集到的数据进行筛选,并将筛选出来的数据按照对应的金额和条数存入统计表,则需要三个流程节点即数据采集、数据计算和数据分发三个节点。
[0103]
在整个业务(job)中里面的节点是任务(task),并维护了一个任务链(taskchains),即任务链是具有顺序的流程节点所形成的。其中任务链的顶层是数据采集,
它的子任务可以是一个或多个,从上到下如同树的根系一般发散开直到末梢结束。并且,每一个节点的任务可以是多个,每一个节点中的任务存放在一个任务容器中,用于对该节点中所对应的任务进行处理。
[0104]
第二处理模块52具体用于:
[0105]
具体地,在确定不同流程节点所对应的任务之后,由于每一个任务操作是由一个组件完成。其中,组件与任务操作是一一对应的关系。对于一个固定的业务而言,需要进行处理的任务操作是固定的,其中每一个节点所进行的任务操作也是固定的。每一个节点可以包含多个组件,并且在同一个节点中组件之间既可以是并列关系也可以是承继关系,也可以是并列与承继关系的相互穿插运用。而对于一个新的业务,其中对应的任务处理要求可能与现有的业务所要求的流程以及节点中的任务不相同,因此,根据其实际需要确定对应的流程节点以及不同流程节点中的不同任务确定不同的流程节点对应的任务管理中的组件。因此,需要将某一个节点中所需要的组件添加进流程节点中。在本公开中是通过组件管理器将所需要的组件进行实例化,实例化后的组件能够直接进行相应的任务处理。
[0106]
第三处理模块53具体用于:
[0107]
具体地,在通过组件管理器对所需要的组件进行实例化之后,将得到的组件实例添加到每个流程节点对应的任务容器中,又由于每个任务容器中包含一个组件列表,每个组件列表是其对应的流程所需要的任务。通过将组件列表加入组件列表实现了对组件列表的扩展,从而实现了对不同业务类型的处理,即实现灵活地对不同业务进行处理,避免重复开发代码适配的麻烦。
[0108]
本公开提供的资产数据流处理服务组件动态扩展的装置,通过根据预设的业务规则确定与目标业务对应的多个流程节点,即针对不同的业务确定任务所需要的流程节点,其中每个节点对应的任务的数量可能不止一个,将这些任务置于所在流程中的任务容器中。继而,确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;在确定不同节点所对应的具体操作之后,将操作所对应的组件调用出来,并将调用的组件进行实例化,能过对所述操作进行相应地处理。然后,将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。即将实例化的组件添加入组件列表中,实现对组件列表的扩展。
[0109]
本公开同时可以实现对相应的资产数据处理的模式化,便于重复利用。本公开依据不同的任务确定任务所需要的流程,进而在每个流程节点上都可以动态的添加或修改组件,并通过配置的组件参数来处理数据,实现动态地配置各类资产的接入和管理的组件,无需重启系统,减小了重启带来的风险,提高了对不同资产数据处理的流程的适应性和处理的效率。
[0110]
根据本公开实施例提供的一种资产数据流处理服务组件动态扩展的装置,其中,所述装置还包括第四处理模块,用于:
[0111]
判断本地磁盘中是否存在待扩展组件;
[0112]
若存在,则将所述待扩展组件的存储路径添加入组件管理器中;
[0113]
若不存在,则从组件数据库中查找到所述待扩展组件的组件存放地址,根据所述组件存放地址下载所述待扩展组件并缓存到所述本地磁盘,再将所述待扩展组件在所述本地磁盘中的存储路径添加入所述组件管理器中。
[0114]
具体地,在由于每个业务所对应的任务是固定的,在出现新的业务的情况下,则新的业务所需要的任务可能发生变化,那么与任务对应的组件也会存在差别。因此,就可能存在两种情形,一种是某一个组件被调用过,即已经存储自本地磁盘中,则只需要从该组件在本地磁盘中的存储地址添加入组件管理器中即可。
[0115]
另一种情形是,新的业务对应的某项任务是新的任务,之前并没有被调用过,则在本地磁盘中并不存在该任务对应的组件。那么,需要从预先构建的组件数据库中下载该组件,并将该组件存储本地磁盘中,然后将存储的地址添加去组件管理器中以备调用。
[0116]
根据本公开实施例提供的一种资产数据流处理服务组件动态扩展的装置,其中,所述流程节点包括数据采集和数据分发;
[0117]
或,
[0118]
所述流程节点包括数据采集、数据转换以及数据分发;
[0119]
或,
[0120]
所述流程节点包括数据采集、数据计算以及数据分发;
[0121]
或,
[0122]
所述流程节点包括数据采集、数据转换、数据计算以及数据分发。
[0123]
具体地,结合图3所示,在资产数据流处理中,主要分为数据采集、数据转换、数据计算和数据分发这4个流程,这些流程分别对应的组件大类为:组件readerplugin、组件transformplugin、组件computeplugin、组件writerplugin。其中组件readerplugin类包括sql采集、文件采集、接口采集、消息采集等组件;数据转换组件即组件transformplugin类包括数据规则转换、业务规则转换、动态脚本转换等组件;数据计算组件即组件computeplugin类包括过渡、关联、分组、统计、计数等组件;数据分发组件即组件writerplugin类包括接口服务、消息服务、文件存储、数据库存储和缓存存储等组件。
[0124]
同时,对于一项业务并不一定需要经过上述四个流程节点,对于每个流程节点,也并不一定需要流程中所有的组件。
[0125]
但是,由于在系统里面配置数据接入触发流程,可以是主动的采集(文件、数据库等)和被动的采集(mq消息、http接口等),触发流程后根据数据采集配置信息到指定的地方采集数据;数据采集作为起始节点通过配置的readerplugin具体组件来采集数据。
[0126]
数据流从数据采集(readerrunner)开始节点,数据流向数据转换节点后根据配置的transformplugin实现数转换功能;然后下一个数据计算通过配置的computeplugin组件计算出结果,最后数据分发节点通过配置writerplugin组件结束数据流。即数据分发(writerrunner)作为结束节点。而,根据业务不同可知数据采集和数据分发这两个流程节点作为必须具有的节点,而数据转换(transformrunner)、数据计算(computerunner)这两个节点作为选择节点,不一定具备,同时也不一定同时具备。作业触发后,数据采集任务开始采集数据直到所有数据分发任务完毕后作业流程结束。
[0127]
根据本公开实施例提供的一种资产数据流处理服务组件动态扩展的装置,其中,所述第二处理模块52,还用于:
[0128]
判断所述组件的格式为第一组件格式还是第二组件格式;
[0129]
若所述组件的格式为第一组件格式,则采用第一组件类加载器获取组件实例的类别并创建第一组件实例;
[0130]
若所述组件的格式为第二组件格式,则采用第二组件类加载器获取组件实例的类别并创建第二组件实例。
[0131]
具体地,参考图2所示,对于不同的组件格式采用不同的方式进行加载,其中对于组件格式为压缩包格式的组件,在pluginmanager调用loadplugin方法根据plugin_format组件格式来创建具体的组件对象时,对于是zip、jar组件格式的组件则直接通过pluginclassloader组件类加载器调用loadclass方法获取plugin_class并创建组件实例。
[0132]
而对于组件格式为脚本格式的组件,比如是java、groovy脚本类型的,则用groovyclassloader调用parseclass方法解析脚本代码得到plugin_class并创建组件实例。
[0133]
根据本公开实施例提供的一种资产数据流处理服务组件动态扩展的装置,其中,所述装置的第四处理模块,还用于:
[0134]
构建包括所述业务规则所需组件的所述组件数据库;
[0135]
将所述组件数据库中的组件的相关信息添加在系统组件管理页面上。
[0136]
具体地,上文中记载了对不同的任务进行处理的组件,对不存在与之相对应的现有组件的任务,可以通过编程的方式重新编写代码。然后对这一代码进行抽象化,将代码转化为针对具有通用性的模块形式,可以依据不同的参数针对具体的任务进行处理。在本公开中对抽象化的代码进行提取,形成组件的模式。
[0137]
因此,构建一个针对不同业务所需要的组件数据库,并在系统组件管理页面上添加组件,填写组件类型、名称、版本、实现类、格式、存储路径和备注说明。内容如下表1:
[0138]
表1
[0139][0140]
维护的组件在数据处理流程节点上根据类型的不同而选择,数据采集对应reader,数据转换对应transform、数据计算对应compute和数据分发对应writer。
[0141]
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(communications interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通
信。处理器610可以调用存储器630中的逻辑指令,以执行资产数据流处理服务组件动态扩展的方法,该方法包括:根据预设的业务规则确定与目标业务对应的多个流程节点,其中,每个所述流程节点对应一个任务容器;确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。
[0142]
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0143]
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的资产数据流处理服务组件动态扩展的方法,该方法包括:根据预设的业务规则确定与目标业务对应的多个流程节点,其中,每个所述流程节点对应一个任务容器;确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。
[0144]
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的资产数据流处理服务组件动态扩展的方法,该方法包括:根据预设的业务规则确定与目标业务对应的多个流程节点,其中,每个所述流程节点对应一个任务容器;确定所述流程节点对应的待扩展组件的格式,通过组件管理器根据所述待扩展组件的格式创建具体的组件实例;将所述组件实例添加入对应的所述任务容器包含的组件列表中,得到扩展后的组件列表。
[0145]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0146]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0147]
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1