CN109189395A - 一种数据解析方法及装置 - Google Patents
一种数据解析方法及装置 Download PDFInfo
- Publication number
- CN109189395A CN109189395A CN201810920746.2A CN201810920746A CN109189395A CN 109189395 A CN109189395 A CN 109189395A CN 201810920746 A CN201810920746 A CN 201810920746A CN 109189395 A CN109189395 A CN 109189395A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- value pair
- resolved
- configuration information
- 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.)
- Granted
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种数据解析方法及装置,通过配置信息来描述数据的组织结构,即配置信息中配置的是数据嵌套结构。根据该配置信息按照数据嵌套结构由外向内的嵌套顺序逐层进行解析,例如,若解析得到的键值对中的值还需要解析则继续对该值进行解析,重复该解析过程直到解析到最内层。该方法通过嵌套的解析方式对数据嵌套结构进行逐层解析最终能够直接获得结构化的键值对数据,无需分次进行解析,提高了解析效率。此外,该方法通过嵌套解析方式提高了解析逻辑的通用性,使得当数据结构发生变化时,只需修改配置信息,无需修改解析逻辑,减少了重复开发工作量。
Description
技术领域
本申请涉及计算机技术领域,更具体的说是涉及一种数据解析方法及装置。
背景技术
在大数据***中,数据通常以日志形式生成并存储。日志数据通常是半结构化数据,在对其进行分析时需要将其解析为键值对形式的结构化数据。键值(key-value)对是计算机程序的一种数据存储结构,键(key)即存储的数据对应的编号,值(value)即存储的数据,通过键可以快速唯一定位到对应的值。
在大数据***中,所需处理的数据来自不同部门、不同***甚至不同的公司,不同组织对应的数据生成规则可能不同。随着时间的累积、需求变化,以及一些老旧***的设计问题,有些数据并非完全由一种结构化语言来表述。常见的形式是一条数据记录的绝大部分由一种结构化语言表述,但外部包含了数据生成/传输***所做的标记,或内部包含了一小部分来自其它***的由其它语言表述的信息,即,数据是不同数据格式的嵌套。
传统的数据解析方案通常是根据配置文件来设定解析规则,采用统一的规则解析数据,例如,丢弃外部的标记信息,对内部的信息不进行进一步的解析,而是透明的存储下来,待以后用的时候才进行进一步的解析。例如,数据生成***A使用CSV描述数据,采集***B使用JSON描述数据。此时,采集***B通常不对***A的数据进行转换,而是将***A产生的数据作为一个字符串字段存储于***B生成的数据中。传统的数据解析方案只能将***A生成的数据作为一个字符串来存储待后续使用时再解析。即,现有的数据解析无法识别数据格式有嵌套的数据。
发明内容
有鉴于此,本申请提供了一种数据解析方法及装置,已解决传统的数据解析方法无法识别具有嵌套的数据的技术问题。
为解决上述问题,本申请提供如下技术方案:
第一方面,本申请提供了一种数据解析方法,包括:
读取待解析数据;
获取与所述待解析数据对应的配置信息,所述配置信息中配置有所述待解析数据的数据嵌套结构;
根据所述数据嵌套结构中从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析规则逐层解析所述待解析数据。
可选地,所述获取与所述待解析数据对应的配置信息,包括:
获取所述待解析数据包含的标记信息;
确定包含所述标记信息的配置信息为所述待解析数据对应的配置信息。
可选地,根据所述数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析逐层解析所述待解析数据,包括:
根据所述配置信息获取所述待解析数据的最外层数据结构对应的根解析规则;
根据所述根解析规则解析所述待解析数据,得到至少一个键值对;
对于每一所述键值对,执行以下步骤:
根据所述配置信息判断所述键值对是否需要进行进一步解析;
若需要进行进一步解析,则获取所述键值对对应的解析规则,并根据所述解析规则解析所述键值对得到新的键值对;
针对所述新的键值对,返回执行判断所述键值对是否需要进行进一步解析的步骤,直到得到不需要进一步解析的键值对。
可选地,所述方法还包括:
若所述键值对不需要进行进一步解析,则将所述键值对中的键和值分别进行格式化,得到格式化的键值对;
输出所述格式化的键值对。
可选地,根据所述根解析规则解析所述待解析数据,得到至少一个键值对,包括:
调用与所述解析规则相对应的解析程序,利用所述解析程序解析所述待解析数据得到至少一个键值对。
可选地,所述配置文件包括待解析数据所对应的全部解析规则,每一所述数据格式的参数,以及,针对每一层数据格式解析得到的键值对中键的处理规则。
第二方面,本申请还提供了一种数据解析装置,包括:
读取模块,用于读取待解析数据;
获取模块,用于获取与所述待解析数据对应的配置信息,所述配置信息中配置有所述待解析数据的数据嵌套结构;
解析模块,用于根据所述数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析规则逐层解析所述待解析数据。
可选地,所述获取模块包括:
第一获取子模块,用于获取所述待解析数据包含的标记信息;
确定子模块,用于确定包含所述标记信息的配置信息为所述待解析数据对应的配置信息。
可选地,所述解析模块包括:
第二获取子模块,用于根据所述配置信息获取所述待解析数据的最外层数据结构对应的根解析规则;
第一解析子模块,用于根据所述根解析规则解析所述待解析数据,得到至少一个键值对;
判断子模块,用于根据所述配置信息判断所述键值对是否需要进行进一步解析;
第二解析子模块,用于当需要进行进一步解析时,获取所述键值对对应的解析规则,并根据所述解析规则解析所述键值对得到新的键值对;
针对所述新的键值对,由所述判断子模块判断所述键值对是否需要进行进一步解析,直到得到不需要进一步解析的键值对。
可选地,所述装置还包括:
格式化模块,用于当所述键值对不需要进行进一步解析时,将所述键值对中的键和值分别进行格式化,得到格式化的键值对;
输出模块,用于输出所述格式化的键值对。
经由上述的技术方案可知,与现有技术相比,本申请公开提供了一种数据解析方法,通过配置信息来描述数据的组织结构,即配置信息中配置的是数据嵌套结构。根据该配置信息按照数据嵌套结构由外向内的嵌套顺序逐层进行解析,例如,若解析得到的键值对中的值还需要解析则继续对该值进行解析,重复该解析过程直到解析到待解析数据的最内层。该方法通过嵌套的解析方式对数据嵌套结构进行逐层解析,最终能够直接获得结构化的键值对数据;无需分次进行解析,提高了解析效率。此外,该方法通过嵌套解析方式提高了解析逻辑的通用性,当数据结构发生变化时,只需修改配置信息,无需修改解析逻辑,减少了重复开发工作量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请实施例一种数据解析方法的流程图;
图2是本申请实施例另一种数据解析方法的流程图;
图3是本申请实施例一种数据解析装置的框图;
图4是本申请实施例另一种数据解析装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,示出了本申请实施例一种数据解析方法的流程图,该方法应用于计算机中,如图1所示,该方法可以包括以下步骤:
S110,读取待解析数据。
本申请中的待解析数据可以是数据库中的一条数据记录,或者本地文件***中的一行文本,或者分布式文件***中读取出的一行文本,还可以是一条网络通信请求。
待解析数据不仅限于文本数据,还可以是自定义的二进制数据。
S120,获取与待解析数据对应的配置信息,配置信息中配置有待解析数据的数据嵌套结构。
配置信息是开发人员根据该***所使用的数据结构预先配置的信息,该配置信息用于对数据的数据嵌套结构进行描述;配置信息中需要配置解析该数据所用到的所有解析规则,即配置信息中包含该数据的所有数据结构,以及各数据结构之间的嵌套关系,以便计算机根据配置信息中的解析规则调用相应的解析程序来解析相应的数据。
S130,根据数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据解析规则逐层解析所述待解析数据。
根据配置信息中配置的本次需要解析数据的解析规则,逐层解析待解析数据,得到能够直接利用的键值对形式的结构化数据。
当前层可以是待解析数据的嵌套结构中的任意一层,即,当前解析的嵌套层次。
本实施例提供的数据解析方法,通过配置信息来描述数据的组织结构,即配置信息中配置的是数据嵌套结构。根据该配置信息按照数据嵌套结构由外向内的嵌套顺序逐层进行解析,例如,若解析得到的键值对中的值还需要解析则继续对该值进行解析,重复该解析过程直到解析到最内层。该方法通过嵌套的解析方式对数据嵌套结构进行逐层解析最终获得结构化的键值对数据。此外,该方法通过嵌套解析方式提高了解析逻辑的通用性,使得当数据结构发生变化时,只需修改配置信息,无需修改解析逻辑。
请参见图2,示出了本申请实施例另一种数据解析方法的流程图,该方法包括以下步骤:
S210,读取待解析数据。
S220,获取与待解析数据相匹配的配置信息。
在本申请的一个实施例中,配置信息存储在配置文件中,当启动该解析方法程序时,该程序首先去获取配置文件,配置文件中存储有多条配置信息,每一条配置信息对应一种数据嵌套结构。在读取待解析数据后,从配置文件中获取与该待解析数据的数据结构相匹配的配置信息。
从配置文件中获取与待解析数据相匹配的配置信息的过程包括如下过程:
获取待解析数据包含的标记信息;从配置文件中查找包含该标记信息的配置信息,即该待解析数据对应的配置信息。
配置信息所包含的各种解析规则根据待解析数据的数据嵌套结构关系排列,即,可以根据键值对在待解析数据中的嵌套位置确定该键值对中的值对应的处理规则。
S230,根据配置信息获取本次解析对应的解析规则。
如果本次解析是对待解析数据进行第一层解析,则本次解析对应的解析规则是根解析规则,以该根解析规则作为解析入口。根解析规则是数据最外层的数据构成规则。
如果本次解析不是待解析数据的第一层解析,则本次解析对应的解析规则是当前键值对中的值所对应的解析规则。
S240,根据本次解析对应的解析规则解析待解析数据得到至少一个键值对。
如果当前层的数据结构中包括多个同级的数据结构,则利用本次解析对应的解析规则解析数据后得到多个键值对。
如果当前层的数据结构中仅包括一个同级的数据结构,则利用本次解析对应的解析规则解析后得到一个键值对。
根据解析规则调用对应的解析程序解析当前数据。例如,本次解析的解析规则是CSV,则调用能够解析CSV数据格式的程序来解析当前数据。
S250,获取一对键值对。
S260,根据所述解析规则判断该键值对是否需要进行进一步处理;如果需要进行进一步处理,则执行S270;否则,执行S280。
配置信息配置有该数据所用的全部解析规则,且每一种解析规则中需要配置如下内容:
1、本次解析所用到的解析规则(例如,CSV/JSON/定长/其它自定义解析规则);
2、每个解析规则的参数,如分隔符、字段长度等;
3、针对解析出来的键值对序列中的某些键所用的处理规则,包括:
a.根据配置对键/值进行格式化后作为键值对直接输出;
b.将键值对中的值作为一条数据进行进一步解析;
c.使用默认的处理方式进行处理;
根据键值对在待解析数据中的嵌套位置,从解析规则中查找到该键值对对应的嵌套位置的处理规则,根据查找到的处理规则确定是否需要进行进一步处理。
S270,按照解析规则对该键值对的值进行进一步解析处理,得到至少一个键值对,并执行S290。
如果解析规则中配置了某个嵌套位置的键值对需要进行进一步解析,则将该键值对作为一条数据继续利用相匹配的解析规则进行解析,解析结果为至少一个键值对。
例如,根据键值对a在整个待解析数据中的嵌套位置,从配置信息中获取该键值对a对应的解析规则A;利用解析规则A解析键值对a的值后得到键值对a1、a2和a3;然后继续根据配置信息中分别与a1、a2、a3所在嵌套位置对应的处理规则,如果根据处理规则判定需要对a1、a2和a3进行进一步解析,则分别获取对应的解析规则进一步解析a1、a2和a3。反复循环执行上述过程,直到当前键值对中的值无需再进行进一步解析为止。
S280,将该键值对进行格式化得到格式化的键值对并直接输出。
如果解析规则中未配置该键值对需要进行进一步解析,则根据配置将该键值对中的键和值分别进行格式化后,作为键值对直接输出。
S290,判断是否还存在未处理的键值对,如果存在,则返回执行S250,如果不存在,则结束当前流程。
本实施例提供了另一种数据解析方法,利用配置信息描述数据嵌套结构,根据该配置信息所描述的数据嵌套结构逐层解析数据,通过一次解析就能得到所有嵌套的数据,提高了解析效率。而且,该解析方法支持任何已有的数据结构,而且还支持自定义的数据结构,仅需开发自定义的数据结构的解析程序,无需开发已有数据结构的解析程序,减少了重复开发工作量。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
相应于上述的数据解析方法实施例,本申请还提供了数据解析装置实施例。
请参见图3,示出了本申请实施例一种数据解析装置的框图,如图3所示,该装置可以包括:读取模块110、获取模块120和解析模块130。
读取模块110,用于读取待解析数据。
本申请中的待解析数据可以是数据库中的一条数据记录,或者本地文件***中的一行文本,或者分布式文件***中读取出的一行文本,还可以是一条网络通信请求。
待解析数据不仅限于文本数据,还可以是自定义的二进制数据。
获取模块120,用于获取与待解析数据对应的配置信息。
所述配置信息中配置有所述待解析数据的数据嵌套结构。
配置信息是开发人员根据该***所使用的数据结构预先配置的信息,该配置信息用于对数据的数据嵌套结构进行描述;配置信息中需要配置解析该数据所用到的所有解析规则,即配置信息中包含该数据的所有数据结构,以及各数据结构之间的嵌套关系,以便计算机根据配置信息中的解析规则调用相应的解析程序来解析相应的数据。
在本申请的一个实施例中,获取模块120获取与待解析数据对应的配置信息的过程包括:第一获取子模块和确定子模块;
第一获取子模块,用于获取待解析数据包含的标记信息。
待解析数据中包含标记信息,相应的,配置信息中也包含所对应的数据的标记信息。
确定子模块,用于确定包含所述标记信息的配置信息为所述待解析数据对应的配置信息。
通常配置文件中存储有多个配置信息,根据待解析数据的标记信息从配置文件中获取包含该标记信息对应的配置信息
解析模块130,用于根据数据嵌套结构中从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据解析规则逐层解析待解析数据。
根据配置信息中配置的本次需要解析数据的解析规则,逐层解析待解析数据,得到能够直接利用的键值对形式的结构化数据。
本实施例提供的数据解析装置,通过配置信息来描述数据的组织结构,即配置信息中配置的是数据嵌套结构。根据该配置信息按照数据嵌套结构由外向内的嵌套顺序逐层进行解析,例如,若解析得到的键值对中的值还需要解析则继续对该值进行解析,重复该解析过程直到解析到最内层。该装置通过嵌套的解析方式对数据嵌套结构进行逐层解析最终获得结构化的键值对数据。此外,该装置通过嵌套解析方式提高了解析逻辑的通用性,使得当数据结构发生变化时,只需修改配置信息,无需修改解析逻辑。
请参见图4,示出了本申请实施例另一种数据解析装置的框图,
如图4所示,该装置包括读取模块110、获取模块120、第二获取子模131、第一解析子模块132、判断子模块133、第二解析子模块134、格式化模块210、输出模块220。
读取模块110,用于读取待解析数据。
获取模块120,用于获取与待解析数据对应的配置信息。
第二获取子模131,用于根据配置信息获取待解析数据的最外层数据结构对应的根解析规则。
第一解析子模块132,用于根据根解析规则解析所述待解析数据,得到至少一个键值对。
如果当前层的数据结构中包括多个同级的数据结构,则利用本次解析对应的解析规则解析数据后得到多个键值对。
如果当前层的数据结构中仅包括一个同级的数据结构,则利用本次解析对应的解析规则解析后得到一个键值对。
根据解析规则调用对应的解析程序解析当前数据。例如,本次解析的解析规则是CSV,则调用能够解析CSV数据格式的程序来解析当前数据。
判断子模块133,用于根据配置信息判断键值对是否需要进行进一步解析。
根据键值对在待解析数据中的嵌套位置,从解析规则中查找到该键值对对应的嵌套位置的处理规则,根据查找到的处理规则确定是否需要进行进一步处理。
第二解析子模块134,用于当需要进行进一步解析时,获取键值对对应的解析规则,并根据解析规则解析键值对得到新的键值对,针对新的键值对,由判断子模块判断键值对是否需要进行进一步解析,直到得到不需要进一步解析的键值对。
如果解析规则中配置了某个嵌套位置的键值对需要进行进一步解析,则将该键值对作为一条数据继续利用相匹配的解析规则进行解析,解析结果为至少一个键值对。
格式化模块210,用于当键值对不需要进行进一步解析时,将键值对中的键和值分别进行格式化,得到格式化的键值对。
如果解析规则中未配置该键值对需要进行进一步解析,则根据配置将该键值对中的键和值分别进行格式化后,作为键值对直接输出。
输出模块220,用于输出格式化的键值对。
本实施例提供了另一种数据解析装置,利用配置信息描述数据嵌套结构,根据该配置信息所描述的数据嵌套结构逐层解析数据,通过一次解析就能得到所有嵌套的数据,提高了解析效率。该解析装置支持任何已有的数据结构,而且还支持自定义的数据结构,仅需开发自定义的数据结构的解析程序,无需开发已有数据结构的解析程序,减少了重复开发工作量。
上述实施例所述数据解析装置,在实际应用中,可以集成到电子设备中,该电子设备可以为计算机、手机、平板电脑等设备。部署本申请实施例数据解析装置的电子设备,通过一次解析就能获得该数据中嵌套的所有数据,提高了解析效率;支持任何已有的数据结构,以及自定义的数据结构,仅需开发自定义的数据结构的解析程序,无需开发已有数据结构的解析程序,从而减少了重复开发工作量。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据解析方法,其特征在于,包括:
读取待解析数据;
获取与所述待解析数据对应的配置信息,所述配置信息中配置有所述待解析数据的数据嵌套结构;
根据所述数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析规则逐层解析所述待解析数据。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述待解析数据对应的配置信息,包括:
获取所述待解析数据包含的标记信息;
确定包含所述标记信息的配置信息为所述待解析数据对应的配置信息。
3.根据权利要求1所述的方法,其特征在于,根据所述数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析逐层解析所述待解析数据,包括:
根据所述配置信息获取所述待解析数据的最外层数据结构对应的根解析规则;
根据所述根解析规则解析所述待解析数据,得到至少一个键值对;
对于每一所述键值对,执行以下步骤:
根据所述配置信息判断所述键值对是否需要进行进一步解析;
若需要进行进一步解析,则获取所述键值对对应的解析规则,并根据所述解析规则解析所述键值对得到新的键值对;
针对所述新的键值对,返回执行判断所述键值对是否需要进行进一步解析的步骤,直到得到不需要进一步解析的键值对。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述键值对不需要进行进一步解析,则将所述键值对中的键和值分别进行格式化,得到格式化的键值对;
输出所述格式化的键值对。
5.根据权利要3所述的方法,其特征在于,根据所述根解析规则解析所述待解析数据,得到至少一个键值对,包括:
调用与所述解析规则相对应的解析程序,利用所述解析程序解析所述待解析数据得到至少一个键值对。
6.根据权利要求3-5所述的方法,其特征在于,所述配置文件包括待解析数据所对应的全部解析规则,每一所述数据格式的参数,以及,针对每一层数据格式解析得到的键值对中键的处理规则。
7.一种数据解析装置,其特征在于,包括:
读取模块,用于读取待解析数据;
获取模块,用于获取与所述待解析数据对应的配置信息,所述配置信息中配置有所述待解析数据的数据嵌套结构;
解析模块,用于根据所述数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析规则逐层解析所述待解析数据。
8.根据权利要求7所述的装置,其特征在于,所述获取模块包括:
第一获取子模块,用于获取所述待解析数据包含的标记信息;
确定子模块,用于确定包含所述标记信息的配置信息为所述待解析数据对应的配置信息。
9.根据权利要求7所述的装置,其特征在于,所述解析模块包括:
第二获取子模块,用于根据所述配置信息获取所述待解析数据的最外层数据结构对应的根解析规则;
第一解析子模块,用于根据所述根解析规则解析所述待解析数据,得到至少一个键值对;
判断子模块,用于根据所述配置信息判断所述键值对是否需要进行进一步解析;
第二解析子模块,用于当需要进行进一步解析时,获取所述键值对对应的解析规则,并根据所述解析规则解析所述键值对得到新的键值对;
针对所述新的键值对,由所述判断子模块判断所述键值对是否需要进行进一步解析,直到得到不需要进一步解析的键值对。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
格式化模块,用于当所述键值对不需要进行进一步解析时,将所述键值对中的键和值分别进行格式化,得到格式化的键值对;
输出模块,用于输出所述格式化的键值对。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810920746.2A CN109189395B (zh) | 2018-08-14 | 2018-08-14 | 一种数据解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810920746.2A CN109189395B (zh) | 2018-08-14 | 2018-08-14 | 一种数据解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109189395A true CN109189395A (zh) | 2019-01-11 |
CN109189395B CN109189395B (zh) | 2022-03-01 |
Family
ID=64921355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810920746.2A Active CN109189395B (zh) | 2018-08-14 | 2018-08-14 | 一种数据解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109189395B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046171A (zh) * | 2019-04-29 | 2019-07-23 | 北京字节跳动网络技术有限公司 | 用于获取信息的***、方法和装置 |
CN110554877A (zh) * | 2019-09-05 | 2019-12-10 | 北京博睿宏远数据科技股份有限公司 | 一种json数据解析方法、装置、设备及储存介质 |
CN113282609A (zh) * | 2021-06-11 | 2021-08-20 | 东莞市盟大塑化科技有限公司 | 一种基于大数据技术的智能解析数据的方法 |
CN113676437A (zh) * | 2020-05-14 | 2021-11-19 | ***通信集团云南有限公司 | 参数解析方法、参数获取方法、参数设置方法以及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651679A (zh) * | 2009-09-16 | 2010-02-17 | 清华大学 | 一种基于树形结构的数据帧解析和处理***和方法 |
CN104361055A (zh) * | 2014-10-31 | 2015-02-18 | 山东中创软件工程股份有限公司 | 一种解析Apache配置文件的方法及*** |
-
2018
- 2018-08-14 CN CN201810920746.2A patent/CN109189395B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101651679A (zh) * | 2009-09-16 | 2010-02-17 | 清华大学 | 一种基于树形结构的数据帧解析和处理***和方法 |
CN104361055A (zh) * | 2014-10-31 | 2015-02-18 | 山东中创软件工程股份有限公司 | 一种解析Apache配置文件的方法及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110046171A (zh) * | 2019-04-29 | 2019-07-23 | 北京字节跳动网络技术有限公司 | 用于获取信息的***、方法和装置 |
CN110554877A (zh) * | 2019-09-05 | 2019-12-10 | 北京博睿宏远数据科技股份有限公司 | 一种json数据解析方法、装置、设备及储存介质 |
CN113676437A (zh) * | 2020-05-14 | 2021-11-19 | ***通信集团云南有限公司 | 参数解析方法、参数获取方法、参数设置方法以及装置 |
CN113676437B (zh) * | 2020-05-14 | 2023-08-18 | ***通信集团云南有限公司 | 参数获取方法、参数设置方法以及装置 |
CN113282609A (zh) * | 2021-06-11 | 2021-08-20 | 东莞市盟大塑化科技有限公司 | 一种基于大数据技术的智能解析数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109189395B (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189395A (zh) | 一种数据解析方法及装置 | |
US11403286B2 (en) | Bridge from natural language processing engine to database engine | |
US9703830B2 (en) | Translation of a SPARQL query to a SQL query | |
US20170109676A1 (en) | Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process | |
US20160188570A1 (en) | Automated ontology building | |
US20170109668A1 (en) | Model for Linking Between Nonconsecutively Performed Steps in a Business Process | |
CN109902105A (zh) | 用于微服务架构的数据查询***、方法、设备及存储介质 | |
CN110502227B (zh) | 代码补全的方法及装置、存储介质、电子设备 | |
CN105335412A (zh) | 用于数据转换、数据迁移的方法和装置 | |
US20170109667A1 (en) | Automaton-Based Identification of Executions of a Business Process | |
CN109637602B (zh) | 医疗数据存储和查询方法、装置、存储介质及电子设备 | |
US20170109639A1 (en) | General Model for Linking Between Nonconsecutively Performed Steps in Business Processes | |
CN110543356A (zh) | 异常任务检测方法、装置、设备及计算机存储介质 | |
CN113434625B (zh) | 专利检索式的代码化方法、设备和存储介质 | |
US20170109638A1 (en) | Ensemble-Based Identification of Executions of a Business Process | |
CN109783562A (zh) | 一种业务处理方法和装置 | |
EP3945431A1 (en) | Bridge from natural language processing engine to database engine | |
CN116483850A (zh) | 数据处理方法、装置、设备以及介质 | |
US20170109640A1 (en) | Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process | |
CN113987815A (zh) | 一种换流站模型校验方法及*** | |
CN116048478B (zh) | 一种字典转义方法、装置、设备及计算机可读存储介质 | |
US20170109670A1 (en) | Crowd-Based Patterns for Identifying Executions of Business Processes | |
US20170109637A1 (en) | Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process | |
CN114064606A (zh) | 数据库迁移方法、装置、设备、存储介质和*** | |
CN110928896A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |