CN114461219A - 数据解析方法、装置、计算机设备和存储介质 - Google Patents
数据解析方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114461219A CN114461219A CN202111641836.6A CN202111641836A CN114461219A CN 114461219 A CN114461219 A CN 114461219A CN 202111641836 A CN202111641836 A CN 202111641836A CN 114461219 A CN114461219 A CN 114461219A
- Authority
- CN
- China
- Prior art keywords
- data
- field information
- target
- resolver
- processed
- 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/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- 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/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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)
- Automatic Analysis And Handling Materials Therefor (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据解析方法、装置、计算机设备和存储介质,所述方法包括:识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息;获取数据源的待处理数据;通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。上述方法能够在任务业务开发的上游将数据解析从任务业务开发的代码中分离出来,解决了数据解析与业务逻辑耦合性高的问题,从而提高了任务业务开发的代码的维护和管理。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据解析方法、装置、计算机设备和存储介质。
背景技术
现有批流计算任务的数据解析主要针对单个任务开发一套个性化的解析器,一般解析逻辑嵌入在任务业务开发的代码中,耦合性高,实现的步骤相对繁琐,测试验证的链路较长,且解析器不具备复用的功能,不便于维护和管理。
发明内容
基于此,有必要针对上述技术问题,提供一种数据解析方法、装置、计算机设备和存储介质,能够在任务业务开发的上游将数据解析从任务业务开发的代码中分离出来,解决了数据解析与业务逻辑耦合性高的问题,从而提高了任务业务开发的代码的维护和管理。
一种数据解析方法,包括:识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息;获取数据源的待处理数据;通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。
在其中一个实施例中,识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,包括:获取数据源的配置信息,根据数据源的配置信息识别数据源的第一数据类型;获取目标解析器的配置信息,根据目标解析器的配置信息确定目标解析器对应的第二数据类型;当第二数据类型和第一数据类型相同时,获取目标解析器。
在其中一个实施例中,目标解析器的配置信息包含表征数据类型的类型字段,根据目标解析器的配置信息确定目标解析器对应的第二数据类型,包括:从目标解析器的配置信息中读取类型字段;根据类型字段确定第二数据类型。
在其中一个实施例中,配置信息中包含第一字段信息,根据数据源的第一数据类型获取目标解析器的步骤之前,一种数据解析方法还包括:获取待配置的解析器;根据配置信息配置待配置的解析器,配置结束后的待配置的解析器作为目标解析器。
在其中一个实施例中,根据配置信息配置待配置的解析器的步骤之后,一种数据解析方法还包括:在目标解析器中配置容错处理方法,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时控制目标解析器继续执行第一字段信息与第二字段信息的匹配操作,或,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时终止第一字段信息与第二字段信息的匹配操作。
在其中一个实施例中,根据配置信息配置待配置的解析器的步骤之后,一种数据解析方法还包括:调用测试类方法;接收入参数据,入参数据包括目标解析器的标识信息;将入参数据输入测试类方法;运行测试类方法,以使得测试类方法根据目标解析器的标识信息获取待处理数据的第二字段信息以及第一字段信息,并将第一字段信息和第二字段信息输出。
在其中一个实施例中,通过目标解析器从待处理数据中获取待处理数据的第二字段信息的步骤之后,还包括:获取预先设置的数据格式;根据数据格式将第二字段信息转换为目标数据。
一种数据解析装置,包括:第一获取模块,用于识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息;第二获取模块,用于获取数据源的待处理数据;第三获取模块,用于通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
上述数据解析方法、装置、计算机设备和存储介质,识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息;获取数据源的待处理数据;通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。因此,在任务业务开发对接的上游数据源处,通过目标解析器对任务开发对应待处理数据进行数据解析,得到待处理数据中的第二字段信息,从而无需在任务业务开发的代码中的设置对应的数据解析代码,将数据解析和业务逻辑进行分离,解决了数据解析与业务逻辑耦合性高的问题,从而提高了任务业务开发的代码的维护和管理。
附图说明
图1为一个实施例中一种数据解析方法的应用环境图;
图2为一个实施例中一种数据解析方法的流程示意图;
图3为一个具体实施场景中一种数据解析方法应用于批流计算平台的操作流程图;
图4为一个实施例中一种数据解析方法应用于批流计算平台时的数据解析流程示意图;
图5为一个实施例中一种数据解析装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种数据解析方法,应用于如图1所示的应用环境中。如图1所示,数据库102为提供待处理数据的数据源。服务器集群106从数据库102中获取待处理数据,并基于任务业务开发代码,使用开发的代码处理待处理数据。服务器104用于执行本申请的一种数据解析方法。具体地,服务器104识别数据库102中数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息。其中,目标解析器预先基于数据源的第一数据类型配置,且内部包含第一字段信息。进而,获取数据源的待处理数据,通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。因此,在任务业务开发对接的上游数据源处,即服务器集群106对接的上游数据库102处,通过目标解析器对任务开发对应待处理数据进行数据解析,得到待处理数据中的第二字段信息,从而无需在服务器集群106的任务业务开发的代码中的设置对应的数据解析代码,将数据解析和业务逻辑进行分离,解决了数据解析与业务逻辑耦合性高的问题,从而提高了服务器集群106的任务业务开发的代码的维护和管理。
在一个实施例中,如图2所示,提供了一种数据解析方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
S202,识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息。
本实施例中,预先配置数据源的第一数据类型,第一数据类型用于标识来源于数据源的数据的类型。同时,预先配置多个解析器,各解析器分别对应相同或不同的数据源。各解析器中包含对应的配置信息,配置信息包括字段信息。其中,字段信息与对应的数据源的数据结构对应。例如,字段信息包括字段名称、字段类型以及字段顺序,字段信息中每个元素与数据源的数据结构一一对应。本实施例中,通过数据源的第一数据类型从多个解析器中识别出目标解析器,目标解析器中的字段信息为第一字段信息。
具体地,多个解析器的开发需要依赖Flink的相关jar包,为了便于用户快速的搭建环境,开发了一个示例Demo,该Demo为Maven(项目对象模型)的project,可在此基础上进行开发。用户通过继承AbstractMsgParser实现类,重写parseMsg方法,以使用业务解析逻辑实现数据解析,达到将任意格式的多源异构数据解析成统一的格式。具体地,在resource目录下设置配置文件FieldInfo.txt。FieldInfo.txt里配置需解析的字段的schema信息,利用schema信息获取到字段名、字段类型、字段描述、数据格式以及字段切分逻辑,从而达到数据解析。例如,resource目录下设置每种数据类型对应的配置文件,名字叫FieldInfo.txt配置,文件里定义对应数据结构,比如字段名称、msgType字段、字段类型、字段顺序,每个元素需要与数据源的数据结构保持一一对应关系。其中msgType字段表示出解析器对应的数据类型。
因此,通过集成Flink相关依赖jar包,对代码进行封装,实现了数据解析和业务逻辑的解耦,使数据解析独立出来。Flink任务提交运行的时候通过追加参数的方式引用解析器,方便维护和管理。通过配置文件配置解析字段的schema信息,可以将多源异构数据统一解析成Json或者avro格式的数据,拓展了原生Flink支持的数据格式。
S204,获取数据源的待处理数据。
本实施例中,数据源输出待处理数据,待处理数据可以是指定任务业务需要处理的对象数据。服务器获取数据源输出的待处理数据。其中,待处理数据的数据类型为第一数据类型,待处理数据中包含第二字段信息,第二字段信息与待处理数据的数据结构对应。例如,第二字段信息包括字段名称、字段类型以及字段顺序,第二字段信息中每个元素与数据源的数据结构一一对应。
S206,通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。
本实施例中,目标解析器解析待处理数据中的第二字段信息,并将第二字段信息与内置的第一字段信息进行匹配的方式,获取匹配成功时的第二字段信息。在一个示例中,第一字段信息包括多个字段,第二字段信息中包括多个字段,将第一字段信息中的多个字段与第二字段信息的多个字段进行对比匹配,当对比匹配成功时,获取匹配成功时的第二字段信息。因此,可从待处理数据中解析出第二字段信息,无需在下游服务器集群的指定任务业务中开发对应的代码以进行数据解析。
上述数据解析方法,识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息;获取数据源的待处理数据;通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。因此,在任务业务开发对接的上游数据源处,通过目标解析器对任务开发对应待处理数据进行数据解析,得到待处理数据中的第二字段信息,从而无需在任务业务开发的代码中的设置对应的数据解析代码,将数据解析和业务逻辑进行分离,解决了数据解析与业务逻辑耦合性高的问题,从而提高了任务业务开发的代码的维护和管理。
在一个实施中,上述识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,包括:获取数据源的配置信息,根据数据源的配置信息识别数据源的第一数据类型;获取目标解析器的配置信息,根据目标解析器的配置信息确定目标解析器对应的第二数据类型;当第二数据类型和第一数据类型相同时,获取目标解析器。
该实施例中,分别配置数据源和目标解析器,将数据源和目标解析器进行绑定。数据源和目标解析器两者之间没有业务逻辑上的关系,只需进行配置其绑定关系即可。数据源的配置信息中包含数据源的数据结构和字段信息,根据数据源的配置信息可识别出数据源的第一数据类型。如,数据源的字段信息中包含第一数据类型的字段,根据第一数据类型的字段可识别出数据源的第一数据类型。目标解析器的配置文件中包含其配置信息,其配置信息包含对应的数据结构和字段信息,根据目标解析器的配置信息确定目标解析器对应的第二数据类型。如,目标解析器的字段信息中包含第二数据类型的字段,根据第二数据类型的字段可识别第二数据类型。可以是,当第二数据类型和第一数据类型相同时,获取目标解析器。因此,可识别出数据源对应的目标解析器。
在一个实施例中,上述目标解析器的配置信息包含表征数据类型的类型字段,上述根据目标解析器的配置信息确定目标解析器对应的第二数据类型,包括:从目标解析器的配置信息中读取类型字段;根据类型字段确定第二数据类型。
该实施例中,目标解析器的配置信息来源于预先设置的配置文件中。配置文件可以是FieldInfo.txt。FieldInfo.txt文件中包含类型字段,类型字段设置为msgType字段。通过识别msgType字段可确定第二数据类型。进而可确定目标解析器对应的数据源。
在一个实施例中,上述配置信息中包含第一字段信息,上述根据数据源的第一数据类型获取目标解析器的步骤之前,上述数据解析方法还包括:获取待配置的解析器;根据配置信息配置待配置的解析器,配置结束后的待配置的解析器作为目标解析器。
该实施例中,对待配置的解析器进行配置,使得配置后解析器能够应用于数据源的数据解析,即配置后的待配置的解析器为目标解析器。具体地,配置文件包含配置信息,配置信息包含上述第一字段信息。通过配置文件对待配置的解析器进行配置,得到目标解析器。
例如,配置文件的名字叫FieldInfo.txt,FieldInfo.txt文件里定义对应数据结构和字段信息,字段信息包括字段名称、字段类型、字段顺序等,FieldInfo.txt文件中每个元素需要与数据源的数据结构保持一一对应关系。
因此,可得到适用于数据源的目标解析器。
在一个实施例中,上述根据配置信息配置待配置的解析器的步骤之后,上述数据解析方法还包括:在目标解析器中配置容错处理方法,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时控制目标解析器继续执行第一字段信息与第二字段信息的匹配操作,或,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时终止第一字段信息与第二字段信息的匹配操作。
该实施例中,在目标解析器中设置容错处理机制。具体地,目标解析器的parseMsg方法中使用try catch类对异常情况进行处理。提供了两套容错处理机制:一是忽略跳过错误数据,任务不受影响继续运行;二是提示报错信息,任务失败终止运行。用户可根据需要自由配置。
在一个实施例中,上述根据配置信息配置待配置的解析器的步骤之后,上述数据解析方法还包括:调用测试类方法;接收入参数据,入参数据包括目标解析器的标识信息;将入参数据输入测试类方法;运行测试类方法,以使得测试类方法根据目标解析器的标识信息获取待处理数据的第二字段信息以及第一字段信息,并将第一字段信息和第二字段信息输出。
该实施例中,对目标解析器进行数据测试校验。具体地,调用ExtractFieldInfoMain测试类,在ExtractFieldInfoMain测试类的main方法输入入参数据,利用反射拿到目标解析器中的入参数据进行预解析,解析后得到第二字段信息,以及从配置文件里的schema信息获取第一字段信息,将第一字段信息和第二字段信息进行输出。用户可以将两者进行对比,若配置文件信息中的第一字段信息是第二字段信息的子集,则说明数据解析正确,反之则解析异常。
因此,解析器提供在线测试校验的功能,通过数据入参,解析结果直接和配置文件信息进行比对,缩短了验证周期。
在一个实施例中,上述通过目标解析器从待处理数据中获取待处理数据的第二字段信息的步骤之后,还包括:获取预先设置的数据格式;根据数据格式将第二字段信息转换为目标数据。
该实施例中,预先设置的数据格式,数据格式可以是Json或avro格式。将获取到的第二字段信息转换为具备该数据格式的目标数据进行存储。因此,当对接其他数据类型的数据源时,也可以将其他数据类型的数据解析成满足该数据格式的数据进行存储。尤其是应用到多源异构数据中,可将任一数据结构的数据解析为同一数据格式的数据进行存储。
针对上述一种数据解析方法,以下给出一具体实施场景:
如图3所示,本地开发解析器代码打包后上传到批流计算平台,新建解析器版本,填写解析器功能描述,输入解析器路径名,检测解析器在平台配置是否正确之后上传到HDFS(Hadoop分布式文件系统),平台同时支持在线测试功能。用户配置任务的时候从HDFS上加载解析器,使source数据源与解析器绑定。
其中,本地开发解析器需要依赖Flink的相关jar包,为了便于用户快速的搭建环境,开发了一个Demo,该Demo为Maven的project,可在此基础上进行开发。用户通过继承AbstractMsgParser实现类,重写parseMsg方法,基于业务解析逻辑实现数据解析。其中,parseMsg方法中定义了2个方法:write()负责序列化,read()负责反序列化。read()方法的基本思路如下:a、读取配置文件FieldInfo.txt里的数据类型msgType字段;b、根据msgType字段判断对应的数据类型;c、根据该数据类型获取解析该类型的解析器;d、交给对应类型的解析器解析。write()方法直接交给对应类型的解析器进行序列化。也即是,通过read()方法识别出配置文件FieldInfo.txt里对应的数据类型,通过write()方法将解析得到的字段信息,如上述第二字段信息,转换为统一数据格式的数据。在配置解析器时,通过加载配置文件的信息对解析器进行配置,从而使得解析器与对应的数据源进行关联。因此,通过配置文件,可将数据源和解析器进行绑定关联。
将开发的解析器上传到HDFS平台后,批流计算平台执行本申请的一种数据解析方法,具体参见图4所示。
其中,配置的数据源必须绑定一个解析器,两者之间没有业务逻辑上的关系,只需要配置即可,但不可不配;数据源对应有数据结构和字段信息,解析器里面配置文件也有对应的数据结构和字段信息。数据源与字段校验过程,实质是将数据源和解析器中的数据结构进行对比以及字段信息进行对比,一一匹配则校验通过,否则不通过。
可以是,展示的字段信息从数据源那里获取。由于数据源和解析器里的字段已经校验通过,从哪获取字段信息均可,从数据源获取更加方便。
综上,本申请通过配置数据源和解析器的关联关系并采用对应的解析器对对应的数据源的数据进行解析,可以为基于批流计算提供多源异构数据解析方案。同时,提供统一的数据格式,将解析到的字段信息转换为统一数据格式的数据进行存储,如将多源异构数据统一转换成Json或avro格式的方法,同时给用户预留接口实现自定义解析,拓展了原生Flink支持的数据格式。
通过对代码的封装实现了数据解析和业务逻辑的分离,把数据解析逻辑独立出来。Flink任务在提交运行时通过追加参数的方式引用解析器。这样的好处是便于管理和维护。多个Flink任务也可以复用解析器,避免了重复的工作量,提高了开发效率,同时也节省了存储资源。
解析器的容错处理提供了忽略跳过和报错两种解决方案,用户可针对自身需求合理使用,提高了解析器的兼容性。
本案例的思路及实现方式也可适用于其他应用开发场景,比如批计算处理引擎spark,流计算处理引擎storm和spark streaming,以及其他使用到数据源解析的应用开发场景等。
本申请为多源异构数据解析提供了一套完善的解决方案,主要解决现阶段以下几个重要问题:
数据格式多样性:批流计算处理的业务场景是多样的,数据格式也是多样的,支持将java bean,元组,Pojo,Json Object,Arrays,Lists,Map,String等复杂类型的数据结构解析成统一的json或avro格式。
解析数据快速校验:对解析数据进行格式校验,在加载解析器之前将解析规则和数据进行测试校验,判断解析逻辑和预期结果是否匹配。
解析器与业务逻辑解耦:传统的解析器大多嵌入在业务逻辑代码中,耦合性高,不具备通用性,不利于维护和管理。
容错处理:实际生产环境的数据可能来自不同的地方,这就可能会出现数据不规则的情况,而在数据传输的过程中也可能出现数据丢失的情况,而对于计算引擎,某个字段的缺失就可能会造成引擎的宕机或重启,都会影响执行效率。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请还提供一种数据解析装置,如图5所示,该装置包括第一获取模块502、第二获取模块504和第三获取模块506。第一获取模块502,用于识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息;第二获取模块504,用于获取数据源的待处理数据;第三获取模块506,用于通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。
在其中一个实施例中,上述识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,包括:获取数据源的配置信息,根据数据源的配置信息识别数据源的第一数据类型;获取目标解析器的配置信息,根据目标解析器的配置信息确定目标解析器对应的第二数据类型;当第二数据类型和第一数据类型相同时,获取目标解析器。
在其中一个实施例中,上述目标解析器的配置信息包含表征数据类型的类型字段,上述根据目标解析器的配置信息确定目标解析器对应的第二数据类型,包括:从目标解析器的配置信息中读取类型字段;根据类型字段确定第二数据类型。
在其中一个实施例中,上述配置信息中包含第一字段信息,上述根据数据源的第一数据类型获取目标解析器的步骤之前,还包括:获取待配置的解析器;根据配置信息配置待配置的解析器,配置结束后的待配置的解析器作为目标解析器。
在其中一个实施例中,上述根据配置信息配置待配置的解析器的步骤之后,还包括:在目标解析器中配置容错处理方法,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时控制目标解析器继续执行第一字段信息与第二字段信息的匹配操作,或,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时终止第一字段信息与第二字段信息的匹配操作。
在其中一个实施例中,上述根据配置信息配置待配置的解析器的步骤之后,还包括:调用测试类方法;接收入参数据,入参数据包括目标解析器的标识信息;将入参数据输入测试类方法;运行测试类方法,以使得测试类方法根据目标解析器的标识信息获取待处理数据的第二字段信息以及第一字段信息,并将第一字段信息和第二字段信息输出。
在其中一个实施例中,上述通过目标解析器从待处理数据中获取待处理数据的第二字段信息的步骤之后,还包括:获取预先设置的数据格式;根据数据格式将第二字段信息转换为目标数据。
关于一种数据解析装置的具体限定可以参见上文中对于一种数据解析方法的限定,在此不再赘述。上述一种数据解析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与数据源连接,以数据源的待处理数据。该计算机程序被处理器执行时以实现一种数据解析方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息;获取数据源的待处理数据;通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:获取数据源的配置信息,根据数据源的配置信息识别数据源的第一数据类型;获取目标解析器的配置信息,根据目标解析器的配置信息确定目标解析器对应的第二数据类型;当第二数据类型和第一数据类型相同时,获取目标解析器。
在其中一个实施例中,上述目标解析器的配置信息包含表征数据类型的类型字段,处理器执行计算机程序实现上述的根据目标解析器的配置信息确定目标解析器对应的第二数据类型的步骤时,具体实现以下步骤:从目标解析器的配置信息中读取类型字段;根据类型字段确定第二数据类型。
在其中一个实施例中,上述配置信息中包含第一字段信息,处理器执行计算机程序时还实现以下步骤:获取待配置的解析器;根据配置信息配置待配置的解析器,配置结束后的待配置的解析器作为目标解析器。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:在目标解析器中配置容错处理方法,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时控制目标解析器继续执行第一字段信息与第二字段信息的匹配操作,或,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时终止第一字段信息与第二字段信息的匹配操作。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:调用测试类方法;接收入参数据,入参数据包括目标解析器的标识信息;将入参数据输入测试类方法;运行测试类方法,以使得测试类方法根据目标解析器的标识信息获取待处理数据的第二字段信息以及第一字段信息,并将第一字段信息和第二字段信息输出。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预先设置的数据格式;根据数据格式将第二字段信息转换为目标数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:识别数据源的第一数据类型,根据数据源的第一数据类型获取目标解析器,目标解析器中包含第一字段信息;获取数据源的待处理数据;通过目标解析器从待处理数据中获取待处理数据的第二字段信息;其中,目标解析器通过将第一字段信息与待处理数据的第二字段信息进行匹配,在匹配成功时获取待处理数据的第二字段信息。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取数据源的配置信息,根据数据源的配置信息识别数据源的第一数据类型;获取目标解析器的配置信息,根据目标解析器的配置信息确定目标解析器对应的第二数据类型;当第二数据类型和第一数据类型相同时,获取目标解析器。
在其中一个实施例中,上述目标解析器的配置信息包含表征数据类型的类型字段,计算机程序被处理器执行实现上述的根据目标解析器的配置信息确定目标解析器对应的第二数据类型的步骤时,具体实现以下步骤:从目标解析器的配置信息中读取类型字段;根据类型字段确定第二数据类型。
在其中一个实施例中,上述配置信息中包含第一字段信息,计算机程序被处理器执行时还实现以下步骤:获取待配置的解析器;根据配置信息配置待配置的解析器,配置结束后的待配置的解析器作为目标解析器。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:在目标解析器中配置容错处理方法,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时控制目标解析器继续执行第一字段信息与第二字段信息的匹配操作,或,容错处理方法用于在第一字段信息与第二字段信息的匹配过程中出现预先规定的数据错误时终止第一字段信息与第二字段信息的匹配操作。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:调用测试类方法;接收入参数据,入参数据包括目标解析器的标识信息;将入参数据输入测试类方法;运行测试类方法,以使得测试类方法根据目标解析器的标识信息获取待处理数据的第二字段信息以及第一字段信息,并将第一字段信息和第二字段信息输出。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预先设置的数据格式;根据数据格式将第二字段信息转换为目标数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据解析方法,所述方法包括:
识别数据源的第一数据类型,根据所述数据源的第一数据类型获取目标解析器,所述目标解析器中包含第一字段信息;
获取所述数据源的待处理数据;
通过所述目标解析器从所述待处理数据中获取所述待处理数据的第二字段信息;
其中,所述目标解析器通过将所述第一字段信息与所述待处理数据的第二字段信息进行匹配,在匹配成功时获取所述待处理数据的第二字段信息。
2.根据权利要求1所述方法,其特征在于,所述识别数据源的第一数据类型,根据所述数据源的第一数据类型获取目标解析器,包括:
获取所述数据源的配置信息,根据所述数据源的配置信息识别所述数据源的第一数据类型;
获取所述目标解析器的配置信息,根据所述目标解析器的配置信息确定所述目标解析器对应的第二数据类型;
当所述第二数据类型和所述第一数据类型相同时,获取所述目标解析器。
3.根据权利要求2所述方法,其特征在于,所述目标解析器的配置信息包含表征数据类型的类型字段,所述根据所述目标解析器的配置信息确定所述目标解析器对应的第二数据类型,包括:
从所述目标解析器的配置信息中读取所述类型字段;
根据所述类型字段确定所述第二数据类型。
4.根据权利要求2所述方法,其特征在于,所述配置信息中包含所述第一字段信息,所述根据所述数据源的第一数据类型获取目标解析器的步骤之前,所述方法还包括:
获取待配置的解析器;
根据所述配置信息配置所述待配置的解析器,配置结束后的所述待配置的解析器作为所述目标解析器。
5.根据权利要求4所述方法,其特征在于,所述根据所述配置信息配置所述待配置的解析器的步骤之后,所述方法还包括:
在所述目标解析器中配置容错处理方法,所述容错处理方法用于在所述第一字段信息与所述第二字段信息的匹配过程中出现预先规定的数据错误时控制所述目标解析器继续执行所述第一字段信息与所述第二字段信息的匹配操作,或,所述容错处理方法用于在所述第一字段信息与所述第二字段信息的匹配过程中出现预先规定的数据错误时终止所述第一字段信息与所述第二字段信息的匹配操作。
6.根据权利要求4所述方法,其特征在于,所述根据所述配置信息配置所述待配置的解析器的步骤之后,所述方法还包括:
调用测试类方法;
接收入参数据,所述入参数据包括所述目标解析器的标识信息;
将所述入参数据输入所述测试类方法;
运行所述测试类方法,以使得所述测试类方法根据所述目标解析器的标识信息获取所述待处理数据的第二字段信息以及所述第一字段信息,并将所述第一字段信息和所述第二字段信息输出。
7.根据权利要求1所述方法,其特征在于,所述通过所述目标解析器从所述待处理数据中获取所述待处理数据的第二字段信息的步骤之后,还包括:
获取预先设置的数据格式;
根据所述数据格式将所述第二字段信息转换为目标数据。
8.一种数据解析装置,其特征在于,所述装置包括:
第一获取模块,用于识别数据源的第一数据类型,根据所述数据源的第一数据类型获取目标解析器,所述目标解析器中包含第一字段信息;
第二获取模块,用于获取所述数据源的待处理数据;
第三获取模块,用于通过所述目标解析器从所述待处理数据中获取所述待处理数据的第二字段信息;
其中,所述目标解析器通过将所述第一字段信息与所述待处理数据的第二字段信息进行匹配,在匹配成功时获取所述待处理数据的第二字段信息。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111641836.6A CN114461219A (zh) | 2021-12-29 | 2021-12-29 | 数据解析方法、装置、计算机设备和存储介质 |
CA3184892A CA3184892A1 (en) | 2021-12-29 | 2022-12-23 | Data parsing method and device, computer equipment and storage medium for batch stream computing tasks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111641836.6A CN114461219A (zh) | 2021-12-29 | 2021-12-29 | 数据解析方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114461219A true CN114461219A (zh) | 2022-05-10 |
Family
ID=81407456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111641836.6A Pending CN114461219A (zh) | 2021-12-29 | 2021-12-29 | 数据解析方法、装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114461219A (zh) |
CA (1) | CA3184892A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840599A (zh) * | 2022-07-05 | 2022-08-02 | 杭州广立微电子股份有限公司 | 半导体源数据解析方法、etl系统、计算机设备和产品 |
-
2021
- 2021-12-29 CN CN202111641836.6A patent/CN114461219A/zh active Pending
-
2022
- 2022-12-23 CA CA3184892A patent/CA3184892A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840599A (zh) * | 2022-07-05 | 2022-08-02 | 杭州广立微电子股份有限公司 | 半导体源数据解析方法、etl系统、计算机设备和产品 |
Also Published As
Publication number | Publication date |
---|---|
CA3184892A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287694B (zh) | 应用程序构建方法、系统、计算机设备和存储介质 | |
US10409587B2 (en) | Method for programming vehicle electronic control modules | |
US10769228B2 (en) | Systems and methods for web analytics testing and web development | |
US20180322037A1 (en) | Impersonation in test automation | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN110633160A (zh) | 接口调用方法、装置、计算机设备和存储介质 | |
CN112395202B (zh) | 接口自动化测试方法、装置、计算机设备和存储介质 | |
CN108965375B (zh) | 服务调用代理控制系统、方法、服务器及可读存储介质 | |
CN109597618B (zh) | 程序开发方法、装置、计算机设备及存储介质 | |
US11966773B2 (en) | Automated pipeline for generating rules for a migration engine | |
CN109254765B (zh) | 定时任务管理方法、装置、计算机设备及存储介质 | |
US20130031532A1 (en) | Method, computer, and device for validating execution of tasks in adaptable computer systems | |
CN112732231A (zh) | 计算机实现的微服务开发平台的系统和提供微服务的方法 | |
WO2019062132A1 (zh) | 业务规则管理方法、装置、存储介质和计算机设备 | |
CN111459509A (zh) | 容器镜像的构建方法、装置和服务器 | |
CN114461219A (zh) | 数据解析方法、装置、计算机设备和存储介质 | |
CN111078553A (zh) | 数据开发任务测试方法、装置、计算机设备和存储介质 | |
CN112765246B (zh) | 任务处理方法、装置、电子设备和存储介质 | |
CN116599881A (zh) | 云平台租户建模测试的方法、装置、设备及存储介质 | |
CN116483899A (zh) | 融合服务接口的调用方法及其装置、电子设备及存储介质 | |
CN113703739A (zh) | 基于omiga引擎的跨语言融合计算方法、系统及终端 | |
CN109240906B (zh) | 数据库配置信息适配方法、装置、计算机设备和存储介质 | |
CN116911406B (zh) | 风控模型部署方法、装置、计算机设备和存储介质 | |
CN110727475A (zh) | 基于配置化智能服务调用方法 | |
CN112149951A (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 |