业务系统分析方法和装置与流程

文档序号:17950585发布日期:2019-06-18 23:59阅读:160来源:国知局
业务系统分析方法和装置与流程

本公开涉及数据分析技术领域,尤其涉及一种业务系统分析方法和装置。



背景技术:

企业通常具有多个业务系统,分别涉及企业各个方面的业务。对于企业而言,通过对各业务系统进行分析,能够对企业找到经济增长点及优化运营策略提供可靠参考依据。

目前,业务系统分析的方法通常是通过分别对每个抽取-转换-装载(extract-transform-load,etl)作业进行分析,即,对单个etl作业中的多任务间逻辑关系、数据源、目标源、字段处理规则、数据治理规则等元数据进行提取和分析,得到各etl作业分别对应的分析结果。

但是,随着企业所涉及的业务越来越复杂,业务系统也越来越多,采用上述现有的业务系统分析方法时,只能分析得到各etl作业的分析结果,无法综合分析出各业务系统之间的关联关系,从而导致无法满足企业日益复杂的业务系统分析要求。



技术实现要素:

本公开提供一种业务系统分析方法和装置,用于解决现有技术中存在的无法综合分析出各业务系统之间的关联关系,从而导致无法满足企业日益复杂的业务系统分析要求的技术问题。

为实现上述目的,本公开实施例第一方面提供一种业务系统分析方法,所述方法包括:

获取各业务系统分别对应的各etl作业的技术元数据和业务元数据;通过有向无环图dag工作流作业调度系统,提取各etl作业之间的依赖元数据,所述依赖元数据包括各etl作业间的执行逻辑关系;根据技术元数据、业务元数据和依赖元数据,分析业务系统之间的关联关系。

第二方面,本公开实施例提供一种业务系统分析装置,包括:获取模块、提取模块和分析模块;获取模块,用于获取各业务系统分别对应的各etl作业的技术元数据和业务元数据;提取模块,用于通过有向无环图dag工作流作业调度系统,提取各etl作业之间的依赖元数据,所述依赖元数据包括各etl作业间的执行逻辑关系;分析模块,用于根据技术元数据、业务元数据和依赖元数据,分析业务系统之间的关联关系。

第三方面,本公开实施例提供一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面所述的业务系统分析方法。

第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面所述的业务系统分析方法。

基于上述任一方面,本公开实施例具有以下有益效果:

本公开实施例中,通过获取各业务系统分别对应的各etl作业的技术元数据和业务元数据,以及通过dag工作流作业调度系统提取各etl作业之间的依赖元数据,所述依赖元数据包括各etl作业间的执行逻辑关系,并根据技术元数据、业务元数据和依赖元数据,分析业务系统之间的关联关系,使得对企业业务系统进行分析,能够基于不同业务系统对应的各etl作业间的执行逻辑关系,对业务系统之间的关联关系进行分析,以满足对随着企业业务系统增多和业务数据增长所带来的日益复杂的业务系统分析要求。

附图说明

图1示出了本公开实施例提供的现有业务系统关联关系的示意图;

图2为本公开实施例提供的业务系统分析方法的流程示意图;

图3为本公开实施例提供的业务系统分析方法的另一流程示意图;

图4为本公开实施例提供的业务系统分析方法的又一流程示意图;

图5为本公开实施例提供的业务系统关联关系的示意图;

图6为本公开实施例提供的业务系统分析方法的又一流程示意图;

图7为本公开实施例提供的业务系统分析装置的结构示意图;

图8为本公开实施例提供的业务系统分析装置的另一结构示意图;

图9为本公开实施例提供的业务系统分析装置的又一结构示意图;

图10为本公开实施例提供的电子设备的结构示意图。

本公开目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。

对于企业而言,可以对来自不同业务系统的业务数据进行分析,得到分析结果,并能够根据分析结果为用户提供更好的服务和/或为企业自身制定更优的运营策略。

通常企业会涉及多个业务系统,而每个业务系统可能会涉及多个etl作业,即,针对一个业务系统而言,可以采用不同的etl作业对该一个业务系统对应的不同类型的业务数据(源数据)分别进行相应的etl处理,而每个etl作业中会包含一种或多种etl任务。其中,一个etl作业中的一种或多种etl任务可以按照转换规则、字段处理规则和数据治理规则等对该etl作业对应的数据源中的数据进行处理。而对于一个企业而言,业务系统分析通常是指通过对该企业的多个业务系统对应的多个etl作业分别进行分析,即,分别对单个etl作业中的多任务间逻辑关系、数据源、目标源、字段处理规则、数据治理规则等元数据进行提取和分析,最终得到各个etl作业分别对应的分析结果,组成该企业的业务系统分析结果。其中,元数据(metadata)被定义为关于数据的数据,在企业的数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据。

图1示出了本公开实施例提供的现有业务系统关联关系的示意图。

例如,假设一个企业中存在三个业务系统,分别为业务系统1、业务系统2和业务系统3,其中,业务系统1涉及的etl作业为etl作业1,涉及到的数据源为数据库1和数据库2(即可以理解为,etl作业1的数据源为数据库1和数据库2),业务系统1的数据仓库为业务库1(即可以理解为,etl作业1的目标源为业务库1);业务系统2涉及的etl作业为etl作业2,涉及到的数据源为数据库3和业务库1,业务系统2的数据仓库为业务库2;业务系统3涉及的etl作业为etl作业3和etl作业4,涉及到的数据源为数据库3和数据库4,业务系统3的数据仓库为业务库3。如图1所示,该企业的作业调度系统中包含有上述3个业务系统所涉及的4个etl作业:etl作业1、etl作业2、etl作业3和etl作业4,根据现有的元数据管理系统对该企业业务系统分析如下:

1)etl作业1中的多个etl任务分别按照数据质量规则对数据库1和数据2中的数据进行处理,即etl作业1的数据源为数据库1和数据库2;经过etl作业1处理后的数据进入到业务库1,即etl作业1的目标源为业务库1。其中,数据质量规则是指为保证数据质量而对数据的处理规则,例如,对etl作业1中的某个etl任务,其对应的数据质量规则可以是一种或多种数据清洗规则,能够对数据库1和数据库2中的数据进行数据清洗,将错误数据和垃圾数据进行清理,以保证数据的质量。

2)etl作业2中的多个etl任务分别按照字段替换规则、数据校验规则等对业务库1和数据库3中的数据进行处理,即etl作业2的数据源为业务库1和数据库3。例如,etl作业2中的etl任务1按照字段替换规则对数据库3种的数据进行处理,可以是按照字段替换规则将数据库3中的不规则字段替换为规则字段,使得数据规范化。etl任务n2按照数据校验规则对业务库1中的数据进行处理,可以是按照数据校验规则对业务库1中的文件名、报文头、账户记录等进行数据校验。经过etl作业2处理后的数据进入到业务库2,即etl作业2的目标源为业务库2。

3)etl作业3中的多个etl任务分别按照数据过滤规则、数据质量规则等对数据库3和数据库4中的数据进行处理,即etl作业3的数据源为数据库3和数据库4。例如,etl作业3中的etl任务1按照数据过滤规则对数据库3中的数据进行处理,可以是按照数据过滤规则将数据库3中不符合规则的相关数据进行过滤,如,数据库3中若存在一组不等长的字段,数据过滤规则可以为“字段长度小于a的字段进行过滤”等。etl任务n3按照数据质量规则对数据库4中的数据进行处理,可参考前述etl作业1中所述内容。经过etl作业3处理后的数据进入到业务库3,即etl作业3的目标源为业务库3。

4)etl作业4中的多个etl任务分别按照字段处理规则、数据治理规则等对数据库3和数据库4中的数据进行处理,即etl作业4的数据源为数据库3和数据库4。例如,etl作业4中的etl任务1按照字段处理规则对数据库3种的数据进行处理,可以是按照字段处理规则将数据库3中相关字段进行填充或删减,如,数据库3中若存在一组身份信息为“xx省xx市xx县xx乡xx村”,字段处理规则要求将身份信息处理为“xx省xx市”的格式,则etl任务1可根据字段处理规则将该身份信息中的“xx县xx乡xx村”进行删除。etl任务n4按照数据治理规则对数据库4中的数据进行处理,可以是将数据库4中的一些零散数据变为统一主数据,将其从具有很少或没有组织和流程治理到企业范围内井井有条的数据等。经过etl作业4处理后的数据进入到业务库3,即etl作业4的目标源为业务库3。

由上可知,基于现有元数据管理系统对业务系统进行分析时,只对单个etl作业的多任务间逻辑关系、数据源、目标源、字段处理规则、数据治理规则等元数据进行提取和分析,而多个etl作业的分析彼此孤立。但是,随着大数据时代的到来,一个企业的元数据管理系统中所涉及的业务系统越来越复杂,现有的业务系统分析方法对于企业而言存在越来越多的局限性,无法综合分析出各业务系统之间的关联关系,从而导致无法满足企业日益复杂的业务系统分析要求。

基于此,本公开实施例提供一种业务系统分析方法,以解决现有技术中存在的无法综合分析出各业务系统之间的关联关系,从而无法满足企业日益复杂的业务系统分析要求的技术问题。

该方法可以应用于具有通信和计算能力的计算设备。该计算设备可以是服务器、工作站,也可以是桌面计算机、笔记本计算机等配置的个人计算机等,本公开对此不作限定。

图2为本公开实施例提供的业务系统分析方法的流程示意图。

如图2所示,该业务系统分析方法包括:

s201、获取各业务系统分别对应的各etl作业的技术元数据和业务元数据。

对于一个企业而言,通常可能具有多个业务系统,而一个业务系统通常对应多个etl作业。通过从各业务系统中获取到各业务系统对应的各etl作业的元数据,可以对企业业务系统进行分析。

例如,假设企业包括业务系统1,业务系统2和业务系统3,业务系统1对应的etl作业为etl作业1,业务系统2对应的etl作业为etl作业2,业务系统3对应的etl作业为etl作业3和etl作业4,那么,可以理解为,业务系统1,业务系统2和业务系统3对应的etl作业为etl作业1,etl作业2,etl作业3和etl作业4。

具体地,元数据是指描述企业数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分为两类:技术元数据(technicalmetadata)和业务元数据(businessmetadata)。其中,技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,它主要包括以下信息:数据仓库结构的描述,包括仓库模式、视图、维、层次结构和导出数据的定义,以及数据集市的位置和内容;业务系统、数据仓库和数据集市的体系结构和模式汇总用的算法,包括度量和维定义算法,数据粒度、主题领域、聚集、汇总、预定义的查询与报告;由操作环境到数据仓库环境的映射,包括源数据和它们的内容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全。业务元数据则从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。业务元数据主要包括以下信息:使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据的来源;系统所提供的分析方法以及公式和报表的信息等。

如上所述,对于单个etl作业而言,所对应的技术元数据和业务元数据可以是指:单个etl作业中多etl任务间逻辑关系、数据源、目标源、字段处理规则和数据治理规则等元数据。例如,所获取的技术元数据可以是字段名称、字段长度、数据库表结构等,而业务元数据可以是业务名称、业务定义或业务描述等,对于技术元数据和业务元数据的具体类型,本公开在此不作限定。

s202、通过有向无环图dag工作流作业调度系统,提取各etl作业之间的依赖元数据,依赖元数据包括各etl作业间的执行逻辑关系。

企业会涉及多个业务系统,而每个业务系统会涉及一个或多个etl作业,而每个etl作业中会包含一种或多种etl任务,其中,对于多个etl作业间可能具有相互依赖的关联关系,即,各etl作业之间的执行逻辑关系,例如,对于etl作业1和etl作业2而言,若etl作业1必须在到达特定的时间才可以触发执行,则其为时间触发作业;若etl作业2必须在etl作业1完成后才可触发执行,则etl作业2和etl作业1之间为依赖触发作业的关系。

对企业而言,作业调度系统能够保证企业的业务系统在正确的时间点启动正确的etl作业,确保etl作业按照正确的依赖关系及时准确的执行。有向无环图(directedacyclicgraph,dag)是有向图的一种,特点是图中没有环,可以被用来表示etl作业之间的执行逻辑关系,管理业务系统中etl作业的调度。而基于dag的工作流作业调度系统能够实现多种依赖触发的dag工作流作业调度方式,以满足复杂业务系统etl作业间的执行逻辑关系关系,如:时间触发作业,依赖触发作业,混合触发作业等。

可选地,可通过dag工作流作业调度系统,提取上述各业务系统中各etl作业之间的执行逻辑关系,从而得到各etl作业之间的依赖元数据。

以上述存在依赖触发作业关系的etl作业1和etl作业2为例,若通过dag工作流作业调度系统所提取的etl作业1和etl作业2的执行逻辑关系为“etl作业1完成,才可执行etl作业2”,则可将该执行逻辑关系作为etl作业1和etl作业2之间对应的依赖元数据。

s203、根据技术元数据、业务元数据和依赖元数据,分析业务系统之间的关联关系。

具体地,可以通过对所获取的各业务系统对应的各etl作业的业务元数据(如:业务名称、业务定义或业务描述等)和技术元数据(如:字段名称、字段长度、数据库表结构等),以及各etl作业间的依赖元数据(如:etl作业1与etl作业2的执行逻辑关系“etl作业1完成,才可执行etl作业2”等)进行综合分析,确定不同etl作业间的关联关系和影响关系(如:etl作业1与etl作业2有强关联关系,etl作业1的etl任务或数据源中数据的变更对etl作业2的影响较大等)。

进一步,可根据不同业务系统所对应的etl作业间的关联关系和影响关系,分析得到业务系统与业务系统之间的关联关系和影响关系(如:业务系统1与业务系统2有强关联关系,业务系统1数据变更对业务系统2的影响比较大等),从而实现企业业务系统分析,使得分析结果更加准确和全面,为企业制定运营策略和更好地服务用户提供更可靠的依据。

由上所述,本公开实施例提供的该业务系统分析方法,通过获取各业务系统分别对应的各etl作业的技术元数据和业务元数据,以及通过dag工作流作业调度系统提取各etl作业之间的依赖元数据,并根据技术元数据、业务元数据和依赖元数据,分析业务系统之间的关联关系,使得对企业业务系统进行分析时,能够基于不同业务系统对应的各etl作业间的执行逻辑关系,对业务系统之间的关联关系进行分析,以满足随着企业业务系统增多和业务数据增长所带来的日益复杂的业务系统分析要求。

需要说明的是,本公开实施例所提供的该业务系统分析方法中,步骤s201和步骤s202的执行顺序并不局限于前述实施例中所述,也可以是先通过dag工作流作业调度系统提取各业务系统分别对应的各etl作业之间的依赖元数据,再获取各etl作业的技术元数据和业务元数据;还可以将步骤s201和步骤s202作为并行执行步骤,本公开对此不作任何限定。

图3为本公开实施例提供的业务系统分析方法的另一流程示意图。

可选地,如图3所示,上述提取各etl作业之间的依赖元数据,包括:

s301、获取各etl作业的作业执行信息,其中,作业执行信息包括各etl作业的执行时间和执行条件。

可选地,可以通过获取各etl作业的作业执行信息,并分析各etl作业间的执行逻辑关系,从而得到各etl作业之间的依赖元数据。如:可以根据各etl作业的作业执行信息,分析提取到各etl作业的执行时间和执行条件,也即各etl作业间的执行逻辑关系,从而可以作为各etl作业之间的依赖元数据。例如,对于某个业务系统中的etl作业a,若etl作业a的执行时间为2019年1月31日12:00,且要求必须到达该时间才可执行etl作业a,则所获取到etl作业a的作业执行信息包括:执行时间为“2019年1月31日12:00”,执行条件为“到达执行时间开启”。

s302、根据各etl作业的执行时间和执行条件,生成各etl作业对应的静态执行列表。

具体的,可以根据各etl作业间的执行时间和执行条件,可以得到各etl作业的执行逻辑关系,通过静态执行列表来描述出来,通常静态执行列表是指一个etl作业的具体执行实例,是根据etl作业计划提前计算并生成的执行逻辑关系列表,然后调度系统按照这个提前生成的执行逻辑关系列表去执行。

可选地,可根据上述所获取的各业务系统分别对应的各etl作业之间的执行时间和执行条件,生成各etl作业对应的静态执行列表,从而将该静态执行列表作为业务系统分析过程中依赖元数据的来源,以能够随时根据业务系统中etl作业间依赖元数据的变化对其进行更新管理,其中,更新管理包括:将静态执行列表中etl作业的执行时间或执行条件变更为最新状态,以及根据不同etl作业间新的执行逻辑关系更新对应的依赖元数据等。

举例说明,若对于某企业业务系统中的etl作业a和etl作业b,所获取到etl作业a的作业执行信息包括:执行时间为“2019年1月31日12:00”,执行条件为“到达执行时间开启”;etl作业b的作业执行信息包括:执行时间为“空”,执行条件为“作业a执行完成”,即etl作业a是etl作业b的父作业;则所生成的关于etl作业a和etl作业b的静态执行列表如下表1所示。

表1

图4为本公开实施例提供的业务系统分析方法的又一流程示意图。

可选地,如图4所示,上述根据技术元数据、业务元数据和依赖元数据,分析业务系统之间的关联关系,包括:

s401、将业务元数据、技术元数据和静态执行列表的数据格式转换为相同的标准文本格式。

可选地,在本公开部分实施例中,业务元数据采用(openinformationmodel,oim)标准,技术元数据采用公共仓库模型(commonwarehousemodel,cwm)标准,依赖元数据也符合cwm标准。由于在进行业务系统分析时,业务元数据、技术元数据和依赖元数据通常需要发生数据交换或数据通信,所以,在该业务系统分析方法中,可以先将业务元数据、技术元数据和静态执行列表的数据格式转换为相同的标准文本格式,以简化对上述数据的管理,并提高分析过程中发生数据交换或数据通信时的数据处理速度。

在本公开其他实施例中,也可以无需对业务元数据、技术元数据和依赖元数据进行格式转换,而直接通过其他公共类型数据作中间数据进行数据交换或数据通信,本公开对此不作限定。

s402、根据具有相同标准文本格式的业务元数据、技术元数据和静态执行列表,构建各业务系统之间的关系视图。

如上所述,通过对具有相同标准文本格式的业务元数据、技术元数据和静态执行列表进行综合分析,可以确定不同etl作业间的关联关系和影响关系,进一步可得到业务系统与业务系统之间的关联关系和影响关系。可选地,可以根据对各业务系统的综合分析结果,构建各业务系统之间的关系视图。其中,该关系视图能够将业务系统中每个etl作业间的执行逻辑关系、不同etl作业间的关联关系和影响关系,以及不同业务系统间的关联关系和影响关系进行直观的展示。

可选地,在部分实施方式中,上述标准文本格式为可扩展标记语言(extensiblemarkuplanguage,xml)。可将业务元数据、技术元数据和静态执行列表的数据格式转换为xml格式,进而根据同为xml格式的业务元数据、技术元数据和静态执行列表对业务系统数据进行分析。

可选地,在本公开实施例中,上述根据各etl作业的执行时间和执行条件,生成各etl作业对应的静态执行列表之后,该方法还包括:

按照预设更新规则更新静态执行列表。

具体地,该业务系统分析方法中,还可以根据业务系统对应的各etl作业的作业执行信息的变更、etl作业间执行逻辑关系的变化等,按照预设更新规则对静态执行列表进行更新,以保证业务系统分析过程中依赖元数据的准确性。

可选地,上述预设更新规则可以包括:按照预设更新周期进行更新或获取用户的更新触发指令进行更新。其中,当预设更新规则为按照预设更新周期进行更新时,预设更新周期可以为一天、一周、一个月等,每当满足一个预设更新周期时,对静态执行列表进行更新;当预设更新规则为获取用户的更新触发指令进行更新时,可以在接收到用户发出的更新触发指令时,对静态执行列表进行更新,否则,仍保持原静态执行列表不变。

需要说明的是,在本公开部分实施方式中,预设更新规则除上述设置方式外,还可以是根据实际需求,仅更新etl作业间执行逻辑关系、仅更新etl作业执行时间、或按照预设更新周期仅更新etl作业间执行逻辑关系或etl作业执行时间等,对于预设更新规则的设置可在应用本公开实施例所公开的该业务系统分析方法时,针对不同企业、不同业务系统或不同etl作业类型等进行相应地设置,本公开在此不作限定。

为使本领域技术人员能够更直接明了的理解本公开前述实施例中所述的业务系统分析方法,本公开将以下述业务系统为例,对前述业务系统分析方法作更加完整的说明。

图5为本公开实施例提供的业务系统关联关系的示意图。

例如,同样假设一个企业中存在三个业务系统,分别为业务系统1、业务系统2和业务系统3,其中,业务系统1涉及的etl作业为etl作业1,涉及到的数据源为数据库1和数据库2,业务系统1的数据仓库为业务库1;业务系统2涉及的etl作业为etl作业2,涉及到的数据源为数据库3和业务库1,业务系统2的数据仓库为业务库2;业务系统3涉及的etl作业为etl作业3和etl作业4,涉及到的数据源为数据库3和数据库4,业务系统3的数据仓库为业务库3。

如图5所示,该企业的作业调度系统中包含有上述3个业务系统所涉及的4个etl作业:etl作业1、etl作业2、etl作业3和etl作业4,其中,etl作业1中多个任务包括任务1…任务n1,etl作业2中多个任务包括任务1…任务n2,etl作业3中多个任务包括任务1…任务n3,etl作业4中多个任务包括任务1…任务n4,基于本公开实施例提供的业务系统分析方法,对该企业业务系统分析如下:

1)etl作业1中的多个etl任务分别按照数据质量规则对数据库1和数据库2中的数据进行处理,即etl作业1的数据源为数据库1和数据库2;经过etl作业1处理后的数据进入到业务库1,即etl作业1的目标源为业务库1。其中,数据质量规则是指为保证数据质量而对数据的处理规则,例如,对etl作业1中的某个etl任务,其对应的数据质量规则可以是一种或多种数据清洗规则,能够对数据库1和数据库2中的数据进行数据清洗,将错误数据和垃圾数据进行清理,以保证数据的质量。

2)etl作业2中的多个etl任务分别按照字段替换规则、数据校验规则等对业务库1和数据库3中的数据进行处理,即etl作业2的数据源为业务库1和数据库3。例如,etl作业2中的etl任务1按照字段替换规则对数据库3种的数据进行处理,可以是按照字段替换规则将数据库3中的不规则字段替换为规则字段,使得数据规范化。etl任务n2按照数据校验规则对业务库1中的数据进行处理,可以是按照数据校验规则对业务库1中的文件名、报文头、账户记录等进行数据校验。经过etl作业2处理后的数据进入到业务库2,即etl作业2的目标源为业务库2。

3)根据作业间调度结合etl作业1和etl作业2分析,业务库1的数据是etl作业1经过规则或计算处理后的数据,而etl作业2中的部分etl任务需要对业务库1中的数据进行处理,所以,etl作业2依赖于业务库1,从而可以确定etl作业2和etl作业1存在依赖关系,即etl作业1执行完成才能执行etl作业2。

4)etl作业3中的多个etl任务分别按照数据过滤规则、数据质量规则等对数据库3和数据库4中的数据进行处理,即etl作业3的数据源为数据库3和数据库4。例如,etl作业3中的etl任务1按照数据过滤规则对数据库3种的数据进行处理,可以是按照数据过滤规则将数据库3中不符合规则的相关数据进行过滤,如,数据库3中若存在一组不等长的字段,数据过滤规则可以为“字段长度小于a的字段进行过滤”等。etl任务n3按照数据质量规则对数据库4中的数据进行处理,可参考前述etl作业1中所述内容。经过etl作业3处理后的数据进入到业务库3,即etl作业3的目标源为业务库3。数据进行了相关处理,经过多种数据规则处理后的数据到达业务系统3。

5)etl作业4中的多个etl任务分别按照字段处理规则、数据治理规则等对数据库3和数据库4中的数据进行处理,即etl作业4的数据源为数据库3和数据库4。例如,etl作业4中的etl任务1按照字段处理规则对数据库3种的数据进行处理,可以是按照字段处理规则将数据库3中相关字段进行填充或删减,如,数据库3中若存在一组身份信息为“xx省xx市xx县xx乡xx村”,字段处理规则要求将身份信息处理为“xx省xx市”的格式,则etl任务1可根据字段处理规则将该身份信息中的“xx县xx乡xx村”进行删除。etl任务n4按照数据治理规则对数据库4中的数据进行处理,可以是将数据库4中的一些零散数据变为统一主数据,将其从具有很少或没有组织和流程治理到企业范围内井井有条的数据等。经过etl作业4处理后的数据进入到业务库3,即etl作业4的目标源为业务库3。

6)根据作业间调度结合etl作业3和etl作业4分析,etl作业3的目标源是业务库3,etl作业4的目标源也是业务库3,但是etl作业3中的部分etl任务执行依赖于etl作业4中治理或其他规则处理的数据。所以,由etl作业3中的etl任务执行依赖于etl作业4,可以确定etl作业3与etl作业4之间存在执行逻辑关系,即,etl作业4执行完成才能执行etl作业3。

基于上述分析,则对业务系统之间的关联关系的具体分析过程如下:

etl作业2、etl作业3、etl作业4都使用数据库3作为数据源,而etl作业2将业务库2作为目标源,etl作业3和etl作业4将业务库3作为目标源,那么数据库3中数据的变更对业务库2和业务库3将会产生影响,也即,会对业务系统2和业务系统3产生影响。

etl作业2还使用了业务库1作为数据源,而业务库1为etl作业1的目标源,数据库1为etl作业1的数据源,所以数据库1、etl作业1中的etl任务和业务库1的变更,会对业务库2产生影响,也即,会对业务系统2产生影响。

由上所述,业务系统2与业务系统1之间存在强关联,业务系统1中的数据变更对业务系统2影响较大。

以上述企业业务系统为例,本公开实施例还提供一种业务系统分析方法。

图6示出了本公开实施例提供的业务系统分析方法的又一流程示意图。

如图6所示,该业务系统分析方法包括:

s601、获取各业务系统分别对应的各etl作业的技术元数据和业务元数据。

以上述图5所示的业务系统为例,可以获取到etl作业1、etl作业2、etl作业3和etl作业4的技术元数据和业务元数据。

s602、通过dag工作流作业调度系统,获取各etl作业的作业执行信息,其中,作业执行信息包括各etl作业的执行时间和执行条件。具体地,还能够通过dag工作流作业调度系统获取上述4个etl作业的作业执行信息,如:每个etl作业的执行时间、执行条件等。

可选地,上述作业调度系统开启的执行时间为“2018.8.31-00:00:00”,执行条件为“到达执行时间开启”,作业调度系统关闭的执行条件为“各etl作业执行完成”,上述4个etl作业分别对应的执行时间和执行条件如下:

etl作业1:执行时间为“2018.8.31-02:00:00”,执行条件为“调度系统开启和执行时间同时满足”;

etl作业2:执行时间为“空”,执行条件为“etl作业1执行完成”,即etl作业1是etl作业2的etl父作业;

etl作业3:执行时间为“空”,执行条件为“etl作业4执行完成”,即etl作业4是etl作业3的etl父作业;

etl作业4:执行时间为“2018.8.31-04:00:00”,执行条件为“调度系统开启和执行时间同时满足”。s603、根据各etl作业的执行时间和执行条件,生成各etl作业对应的静态执行列表。

可选地,以上述4个etl作业分别对应的执行时间和执行条件为例,所生成的静态执行列表如下表2所示:

表2

如表2所示,当到达执行时间时,调度系统开启,并根据各etl作业的执行条件和执行时间分别执行etl作业1、etl作业2、etl作业3和etl作业4,当各etl作业执行完成后,调度系统关闭。

s604、将业务元数据、技术元数据和静态执行列表的数据格式转换为xml格式。

可选地,以上述静态执行列表为例,将上述静态执行列表转换为xml格式后,静态执行列表对应的xml文档如下:

<execution_plan>

<job>

<id>0</id>

<name>start</name>

<exec_time>00:00:00</exec_time>

</job>

<job>

<id>1</id>

<name>作业1</name>

<exec_time>02:00:00</exec_time>

<depend_job>0</depend_job>

</job>

<job>

<id>2</id>

<name>作业2</name>

<depend_job>1</depend_job>

</job>

<job>

<id>4</id>

<name>作业4</name>

<exec_time>04:00:00</exec_time>

<depend_job>0</depend_job>

</job>

<job>

<id>3</id>

<name>作业3</name>

<exec_time>02:00:00</exec_time>

<depend_job>4</depend_job>

</job>

<job>

<id>-1</id>

<name>end</name>

<depend_job>[2、3]</depend_job>

</job>

<execution_plan>

s605、根据均为xml格式的业务元数据、技术元数据和静态执行列表,构建各业务系统之间的关系视图。

上述可选实施方式中,该业务系统分析方法所具备的有益效果,均已在前述方法实施例中作以描述,本公开在此不再赘述。

图7为本公开实施例提供的业务系统分析装置的结构示意图。

如图7所示,该业务系统分析装置,包括:获取模块701,用于获取各业务系统分别对应的各etl作业的技术元数据和业务元数据;提取模块702,用于通过有向无环图dag工作流作业调度系统,提取各etl作业之间的依赖元数据,依赖元数据包括各etl作业间的执行逻辑关系;分析模块703,用于根据技术元数据、业务元数据和依赖元数据,分析业务系统之间的关联关系。

图8为本公开实施例提供的业务系统分析装置的另一结构示意图。

可选地,如图8所示,上述业务系统分析装置中,提取模块702包括:获取子模块801,用于获取各etl作业的作业执行信息,其中,作业执行信息包括各etl作业的执行时间和执行条件;生成子模块802,用于根据各etl作业的执行时间和执行条件,生成各etl作业对应的静态执行列表。

图9为本公开实施例提供的业务系统分析装置的又一结构示意图。

如图9所示,上述业务系统分析装置中,分析模块703包括:转换子模块901,用于将业务元数据、技术元数据和静态执行列表的数据格式转换为相同的标准文本格式;构建子模块902,用于根据具有相同标准文本格式的业务元数据、技术元数据和静态执行列表,构建各业务系统之间的关系视图。

可选地,上述标准文本格式为可扩展标记语言xml。

可选地,上述生成子模块802还用于按照预设更新规则更新静态执行列表。

上述装置用于执行前述方法实施例,可以集成于服务器、计算机等计算设备,其实现原理和技术效果可以参照前述方法实施例,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图10为本公开实施例提供的电子设备的结构示意图。

如图10所示,该电子设备包括存储器1002、处理器1001,存储器1002中存储有可在处理器1001上运行的计算机程序,处理器1001执行计算机程序时实现上述业务系统分析方法的步骤。具体实现方式和技术效果类似,这里不再赘述。

可选地,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述业务系统分析方法的步骤。

在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本公开各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上仅为本公开的优选实施例,并非因此限制本公开的专利范围,凡是利用本公开说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1