1.本发明属于数据解析领域,具体涉及一种可配置的自动化解析方法和装置。
背景技术:
2.针对医疗行业等数据集成平台,需要接收并解析来自各医疗机构提供的医疗相关数据,但是医疗机构通常以db接口以及webservice接口和http接口方式提供医疗相关数据。这样数据集成平台面临一个问题,即各类接口返回各种类型数据,需要采用多种多样的解析方式。针对数据集成平台,可以定制化开发解析方式来适配一种类型的医疗机构数据接口。当医疗机构提供的数据接口类型多时,定制化的开发解析方式显然并不适用,因此,亟需一种可同时满足各种数据借楼类型的数据解析方式。
3.现有技术中,针对不同业务场景的数据解析任务,通过对计算引擎进行不同代码开发以构建解析算法,如果针对一些简单、且重复性较高的业务场景,相同模块需要重新开发,造成人力资源和时间成本的浪费。
4.针对解析算法的开发,现有市场没有快捷方便的成熟可靠技术方案,都是依靠人工书写,面临这繁琐,通用性差,工作量大以及效率低的问题。
5.专利文献cn109240998a公开了一种可配置的文件解析方法,包括:接收原文件,确定所述原文件的文件类型信息;根据所述文件类型信息对应的文件解析规则获取所述原文件包含的原始数据;根据所述文件类型信息对应的数据运算规则对所述原始数据进行计算,得到更新数据;通过预设的文件输出规则、所述原始数据和所述更新数据生成新文件。该方法是利用预定义的文件解析规则进行文件解析的,并不具有通用性和灵活性。
6.专利文献cn109788346a公开了一种视频文件配置解析方法,利用视频文件配置解析系统来解析视频文件,其中,视频文件配置解析系统包括:现场显示设备,用于在接收到所述儿童剧识别信号时,显示与所述儿童剧识别信号对应的红色文字;视频存储设备,用于预先存储视频文件数据库,所述视频文件数据库保存了各个视频文件夹,每一个视频文件夹内放置有包括视频内容的单个目标文件以及与所述目标文件对应的配置文件。该方法是利用与单个目标文件对应的配置文件来实现解析,同样并不具有通用性和灵活性。
技术实现要素:
7.鉴于上述,本发明的目的是提供一种可配置的自动化解析方法和装置,通过自定义配置生成适配各种数据接口的数据解析命令并执行,降低生成数据解析命令的工作量,提高生成数据解析命令的效率高。
8.为实现上述发明目的,本发明一个实施例提供了一种可配置的自动化解析方法,包括:
9.将形成数据接入工作流的数据读取步骤、数据解析步骤以及数据写入步骤节点化,形成数据读取节点、数据解析节点以及数据写入节点;
10.提供包括数据读取节点、数据解析节点以及数据写入节点的配置文件;
11.根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;
12.以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。
13.在一个实施例中,在进行数据的自动化解析时,通过akka actor消息作为节点的配置参数的加载驱动,依次加载读取节点、解析节点以及写入节点的配置参数,实现数据的自动化解析。
14.在一个实施例中,通过akka actor消息作为节点的配置参数的加载驱动时,根据当前节点的akka actor消息反馈的配置参数情况,驱动加载后续节点的配置参数;
15.当akka actor消息反馈的配置参数情况为成功时,驱动加载后续节点的配置参数;
16.当akka actor消息反馈的配置参数情况为错误时,停止驱动加载后续节点的配置参数。
17.在一个实施例中,所述数据读取节点的配置文件包括webservice接口数据接入参数、http接口数据接入参数、db接口数据接入参数、kafka数据接入参数、游标数据接入参数、文件接入参数、存储过程数据接入参数,后续新增接入接口,只要在配置文件中增加新增接入参数,即可以通过选择配置参数,完成开发功能。
18.在一个实施例中,所述数据解析节点的配置文件包括xml解析工具、json解析工具、hl7解析工具以及字段映射解析工具,如有后续新增通用解析工具,只需在配置文件中新增数据解析工具,即可完成开发功能。
19.在一个实施例中,所述数据写入节点的配置文件包括oracle数据库、csv文件类型、console数据测试,有后续新增写入接口,只要在配置文件中增加新增数据接入接口类参数,即可以通过选择配置参数,完成开发功能。
20.为实现上述目的,本发明另一个实施例还提供了一种可配置的自动化解析装置,包括:
21.节点化模块,用于将形成数据接入工作流的数据读取步骤、数据解析步骤以及数据写入步骤节点化,形成数据读取节点、数据解析节点以及数据写入节点;
22.配置文件模块,用于提供包括数据读取节点、数据解析节点以及数据写入节点的配置文件;
23.配置模块,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;
24.解析模块,用于以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。
25.为实现上述发明目的,本发明另一实施例还提供了一种可配置的自动化解析装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上执行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
26.步骤1,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数
据解析节点以及数据写入节点的配置参数;
27.所述配置文件包括数据读取节点、数据解析节点以及数据写入节点的配置参数;
28.步骤2,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;
29.步骤3,以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。
30.与现有技术相比,本发明具有的有益效果至少包括:
31.本发明实施例提供的可配置的自动化解析方法和装置,通过将数据接入工作流节点化,即根据配置文件参数信息去自动化组装数据读取节点、数据解析节点以及数据写入节点,组装为一个低耦合、插槽式、节点化开发的可配置的数据接入工作流,并为每个节点提供配置文件,应用时,根据不同的业务逻辑,从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;然后将选择的配置参数分别记载到数据读取节点、数据解析节点以及数据写入节点,这样通过高度解耦的方式实现了数据接入工作流的自由配置生成,能够满足各类数据源的快速接入和处理,具有普适性。再者,在资源受限的情况下,实现了不需要部署集群,也可满足多种多样的数据接入。
32.本发明实施例提供的可配置的自动化解析方法和装置中,包括多个数据解析节点,数据读取节点可实现通过预设规则的过滤及映射等,如果出现节点功能不支持情况,只需实现相关解析节点接口类即可,实现多功能解析的需求,且只需要配置多个数据解析节点就能实现多功能开发,满足敏捷开发需求。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
34.图1是实施例提供的可配置的自动化解析方法的流程图;
35.图2是实施例提供的可配置的自动化解析装置的流程图。
具体实施方式
36.为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
37.针对现有的解析方法都具有固定性,适用范围窄,在开发解析方法时,都是依靠人工书写,对开发人员的要求高,且面临这繁琐,通用性差,工作量大以及效率低的问题。为解决上述问题,实施例提供了一种可配置的自动化解析方法和装置,以提升自动化解析方法的普适性、且提高开发效率。
38.图1是实施例提供的可配置的自动化解析方法的流程图。如图1所示,实施例提供的自动化解析方法,包括以下步骤:
39.步骤1,将形成数据接入工作流的数据读取步骤、数据解析步骤以及数据写入步骤节点化,形成数据读取节点、数据解析节点以及数据写入节点。
40.经研究发现,利用akka actor的消息驱动模型结合spark计算引擎特性,可以将实现解析的数据接入工作流进行高度解耦,抽象成三层节点,即数据读取节点(reader)、数据解析节点(pipe)以及数据写入节点(writer),形成的数据接入工作流的数据读取步骤、数据解析步骤以及数据写入步骤均以单独节点化的方式存在,这样可以通过随意组装各个节点不同的类型,三个节点对应的内容形成的数据解析流程具有随意配置生成性,且配置生成过程简单,极大提升接入效率,只需组装不同参数即可完成不同的数据解析流程,任何人都可以操作。
41.实施例中,数据解析节点可以有多个,针对不能的解析需求,提供不同的解析方式,可实现通过预设规则的过滤、映射等。
42.步骤2,提供包括数据读取节点、数据解析节点以及数据写入节点的配置文件。
43.实施例中,分别为数据读取节点、数据解析节点以及数据写入节点提供了配置文件,其中,配置文件包含的读取数据类型参数对应数据读取节点,配置文件包含的解析工具对应数据解析节点,配置文件包含的写入文件类型参数对应数据写入节点。
44.数据读取节点对应的读取数据类型主要是适配待解析数据源的传输接口,以实现对各类数据接口数据的读取。其中,读取数据类型包括webservice接口数据类型、http接口数据类型、db接口数据类型、usb接口数据类型、hl7接口数据类型等,这些类数据类型参数均被维护在配置文件中,在生成数据接入工作流,被选择的数据类型参数会被配置到数据读取节点中。
45.数据解析节点对应的解析工具主要是实现对获取数据的解析。其中,解析工具包括xml解析工具、json解析工具、hl7解析工具以及字段映射解析工具等。xml解析工具主要对webservice接口数据进行解析,不同客户端提供接口数据格式不同,所需字段内容不同,提出通用xml解析工具,以应对不同位置和不同组合的解析需求,主要提取字段或者属性的位置不同,常规字段解析,调用常规方式就可以,当字段位置杂乱时,就可以通过一个xpath表达式对应一个字段名称进行解析。json解析工具主要对http接口数据进行解析,不同客户端提供接口数据格式不同,所需字段内容不同,提出通用json解析工具。hl7解析工具主要对hl7协议格式数据进行解析。在调用不同解析工具解析不同类型接口数据之后,在数据入库之前还可以采用字段映射解析工具对解析后的数据再进行一层数据字段转换,将字段转换成所需字段名称。这些解析工具均被维护在配置文件中,在生成数据接入工作流,被选择的解析工具会被配置到解析节点中,这样在解析操作时,就会调用被选择的解析工具进行数据解析。
46.数据写入节点对应写入文件类型参数主要用于约束写入数据类型。其中写入文件类型参数包括oracle数据库、csv文件类型、console数据测试类型。这些文件类型被维护在配置文件中,在生成数据接入工作流,被选择的写入文件类型会被配置到写入节点中,这样在执行写入操作时,就会形成被配置的文件类型,存入数据库。
47.步骤3,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数。
48.实施例中,步骤1划分的节点和步骤2准备的配置文件进行自动化解析的数据接入
工作流的自由配置生成。具体地,每类节点对应的配置文件会以列表的形式提供给用户,用户根据数据源的类型,选择适配的读取数据类型参数、解析工具以及写入文件类型参数,然后从配置文件中加载读取数据类型、解析工具以及写入文件类型并配置到读取节点、解析节点以及写入节点,形成自动化解析的数据接入工作流,这样即实现了一条自定义自的数据接入工作流的生成。
49.实施例中,借助vue和dolphinscheduler构建前端调度页面,该调度页面会提供每类节点对应的配置文件以供用户选择配置参数,构建数据接入工作流。
50.由于节点的高度结构,且每个节点对应的配置文件的随意选取,提升了自动化解析命令的多样性,可以适配各种类型的数据源。再者,在生成数据接入工作流时,只需要选择每个节点对应的适配配置文件即可,不需要人工书写代码,提升了数据接入工作流的生成效率,降低了对生成自动化解析命令的人员的专业要求。
51.步骤4,以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。
52.实施例中,数据接入工作流的节点化和配置生成均是基于spark计算引擎的特性,基于此,数据接入工作流的执行也是通过spark计算引擎。形成数据接入工作流每个节点的配置参数按照数据读取节点、数据解析节点以及数据写入节点属性被维护到一个列表中,在执行时通过akka actor消息作为节点的配置参数的加载驱动,依次加载读取节点、解析节点以及写入节点的配置参数,实现数据的自动化解析。具体地,当akka actor消息反馈的配置参数情况为成功时,驱动加载后续节点的配置参数;当akka actor消息反馈的配置参数情况为错误时,停止驱动加载后续节点的配置参数。
53.上述步骤1-步骤4提供的可配置的自动化解析方法,具有高度的适用性强,能够顾满足客户端各种数据源的快速接入和处理,还具有高度的解耦性,实现了以文件蓝图信息为驱动,spark为技术支撑,akka为消息通信,读取、解析以及写入操作高度解耦和自由组合的数据解析命令,且还具有一键运行解析功能。
54.图2是实施例提供的可配置的自动化解析装置的流程图。如图2所示,实施例提供的可配置的自动化解析装置,包括:
55.节点化模块,用于将形成数据接入工作流的数据读取步骤、数据解析步骤以及数据写入步骤节点化,形成数据读取节点、数据解析节点以及数据写入节点;
56.配置文件模块,用于提供包括数据读取节点、数据解析节点以及数据写入节点的配置文件;
57.配置模块,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;
58.解析模块,用于以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。
59.需要说明的是,上述实施例提供的可配置的自动化解析装置在进行家数据自动化解析时,应以上述各功能模块的划分进行举例说明,可以根据需要将上述功能分配由不同的功能模块完成,即在终端或服务器的内部结构划分成不同的功能模块,以完成以上描述
的全部或者部分功能。另外,上述实施例提供的可配置的自动化解析装置可配置的自动化解析方法实施例属于同一构思,其具体实现过程详见可配置的自动化解析方法实施例,这里不再赘述。
60.实施例还提供了一种可配置的自动化解析装置,包括存储器、处理器以及存储在存储器中并可在所述处理器上执行的计算机程序,处理器执行所述计算机程序时实现以下步骤:
61.步骤1,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;
62.所述配置文件包括数据读取节点、数据解析节点以及数据写入节点的配置参数;
63.步骤2,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;
64.步骤3,以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。
65.实施例提供的可配置的自动化解析方法和装置,通过将数据接入工作流节点化,即根据配置文件参数信息去自动化组装数据读取节点、数据解析节点以及数据写入节点,组装为一个低耦合、插槽式、节点化开发的可配置的数据接入工作流,并为每个节点提供配置文件,应用时,根据不同的业务逻辑,从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;然后将选择的配置参数分别记载到数据读取节点、数据解析节点以及数据写入节点,这样通过高度解耦的方式实现了数据接入工作流的自由配置生成,能够满足各类数据源的快速接入和处理,具有普适性。再者,在资源受限的情况下,实现了不需要部署集群,也可满足多种多样的数据接入。
66.上述实施例提供的可配置的自动化解析方法和装置中,由于包括多个数据解析节点,数据读取节点可实现通过预设规则的过滤及映射等,这样可以满足不同的解析需求,实现xml解析+字段映射+预设规则的映射和/或过滤多功能的组合解析,且只需要配置多个数据解析节点就能实现多功能开发,满足敏捷开发需求。
67.以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
技术特征:
1.一种可配置的自动化解析方法,其特征在于,包括:将形成数据接入工作流的数据读取步骤、数据解析步骤以及数据写入步骤节点化,形成数据读取节点、数据解析节点以及数据写入节点;提供包括数据读取节点、数据解析节点以及数据写入节点的配置文件;根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。2.根据权利要求1所述的可配置的自动化解析方法,其特征在于,在进行数据的自动化解析时,通过akka actor消息作为节点的配置参数的加载驱动,依次加载读取节点、解析节点以及写入节点的配置参数,实现数据的自动化解析。3.根据权利要求2所述的可配置的自动化解析方法,其特征在于,通过akka actor消息作为节点的配置参数的加载驱动时,根据当前节点的akka actor消息反馈的配置参数情况,驱动加载后续节点的配置参数;当akka actor消息反馈的配置参数情况为成功时,驱动加载后续节点的配置参数;当akka actor消息反馈的配置参数情况为错误时,停止驱动加载后续节点的配置参数。4.根据权利要求1所述的可配置的自动化解析方法,其特征在于,所述数据读取节点的配置文件包括webservice接口数据接入参数、http接口数据接入参数、db接口数据接入参数、kafka数据接入参数、游标数据接入参数、文件接入参数、存储过程数据接入参数。5.根据权利要求1所述的可配置的自动化解析方法,其特征在于,所述数据解析节点的配置文件包括xml解析工具、json解析工具、hl7解析工具以及字段映射解析工具。6.根据权利要求1所述的可配置的自动化解析方法,其特征在于,所述数据写入节点的配置文件包括oracle数据库、csv文件类型、console数据测试。7.一种可配置的自动化解析装置,其特征在于,包括:节点化模块,用于将形成数据接入工作流的数据读取步骤、数据解析步骤以及数据写入步骤节点化,形成数据读取节点、数据解析节点以及数据写入节点;配置文件模块,用于提供包括数据读取节点、数据解析节点以及数据写入节点的配置文件;配置模块,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;解析模块,用于以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。8.根据权利要求7所述的可配置的自动化解析装置,其特征在于,解析模块中,在进行数据的自动化解析时,通过akka actor消息作为节点的配置参数的加载驱动,依次加载读取节点、解析节点以及写入节点的配置参数,实现数据的自动化解析。9.一种可配置的自动化解析装置,包括存储器、处理器以及存储在所述存储器中并可
在所述处理器上执行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:步骤1,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;所述配置文件包括数据读取节点、数据解析节点以及数据写入节点的配置参数;步骤2,根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;步骤3,以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。
技术总结
本发明公开了一种可配置的自动化解析方法和装置,包括:将形成数据接入工作流的数据读取步骤、数据解析步骤以及数据写入步骤节点化,形成数据读取节点、数据解析节点以及数据写入节点;提供包括数据读取节点、数据解析节点以及数据写入节点的配置文件;根据数据类型从配置文件中选择适配数据类型和需求的数据读取节点、数据解析节点以及数据写入节点的配置参数;以spark计算引擎为基础,根据选择分别从配置文件中加载数据读取节点、数据解析节点以及数据写入节点的配置参数,并结合数据接入工作流的内在逻辑图参数,实现数据的自动化解析。该方法和装置能够满足各类数据源的快速接入和处理,具有普适性。具有普适性。具有普适性。
技术研发人员:杨晓晨
受保护的技术使用者:杭州火树科技有限公司
技术研发日:2022.01.29
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-24741.html