CN109189395B - 一种数据解析方法及装置 - Google Patents

一种数据解析方法及装置 Download PDF

Info

Publication number
CN109189395B
CN109189395B CN201810920746.2A CN201810920746A CN109189395B CN 109189395 B CN109189395 B CN 109189395B CN 201810920746 A CN201810920746 A CN 201810920746A CN 109189395 B CN109189395 B CN 109189395B
Authority
CN
China
Prior art keywords
data
analysis
analyzed
value pair
layer
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.)
Active
Application number
CN201810920746.2A
Other languages
English (en)
Other versions
CN109189395A (zh
Inventor
王帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN201810920746.2A priority Critical patent/CN109189395B/zh
Publication of CN109189395A publication Critical patent/CN109189395A/zh
Application granted granted Critical
Publication of CN109189395B publication Critical patent/CN109189395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (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 (8)

1.一种数据解析方法,其特征在于,包括:
读取待解析数据;
获取与所述待解析数据对应的配置信息,所述配置信息中配置有所述待解析数据的数据嵌套结构;
根据所述数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析规则逐层解析所述待解析数据;根据所述数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析逐层解析所述待解析数据,包括:
根据所述配置信息获取所述待解析数据的最外层数据结构对应的根解析规则;
根据所述根解析规则解析所述待解析数据,得到至少一个键值对;
对于每一所述键值对,执行以下步骤:
根据所述配置信息判断所述键值对是否需要进行进一步解析;
若需要进行进一步解析,则获取所述键值对对应的解析规则,并根据所述解析规则解析所述键值对得到新的键值对;
针对所述新的键值对,返回执行判断所述键值对是否需要进行进一步解析的步骤,直到得到不需要进一步解析的键值对。
2.根据权利要求1所述的方法,其特征在于,所述获取与所述待解析数据对应的配置信息,包括:
获取所述待解析数据包含的标记信息;
确定包含所述标记信息的配置信息为所述待解析数据对应的配置信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述键值对不需要进行进一步解析,则将所述键值对中的键和值分别进行格式化,得到格式化的键值对;
输出所述格式化的键值对。
4.根据权利要求1所述的方法,其特征在于,根据所述根解析规则解析所述待解析数据,得到至少一个键值对,包括:
调用与所述解析规则相对应的解析程序,利用所述解析程序解析所述待解析数据得到至少一个键值对。
5.根据权利要求3-4任一项所述的方法,其特征在于,所述配置文件包括待解析数据所对应的全部解析规则,每一所述数据格式的参数,以及,针对每一层数据格式解析得到的键值对中键的处理规则。
6.一种数据解析装置,其特征在于,包括:
读取模块,用于读取待解析数据;
获取模块,用于获取与所述待解析数据对应的配置信息,所述配置信息中配置有所述待解析数据的数据嵌套结构;
解析模块,用于根据所述数据嵌套结构从外层到内层的嵌套顺序,逐层获取与当前层数据结构相对应的解析规则,并根据所述解析规则逐层解析所述待解析数据;所述解析模块包括:
第二获取子模块,用于根据所述配置信息获取所述待解析数据的最外层数据结构对应的根解析规则;
第一解析子模块,用于根据所述根解析规则解析所述待解析数据,得到至少一个键值对;
判断子模块,用于根据所述配置信息判断所述键值对是否需要进行进一步解析;
第二解析子模块,用于当需要进行进一步解析时,获取所述键值对对应的解析规则,并根据所述解析规则解析所述键值对得到新的键值对;
针对所述新的键值对,由所述判断子模块判断所述键值对是否需要进行进一步解析,直到得到不需要进一步解析的键值对。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
第一获取子模块,用于获取所述待解析数据包含的标记信息;
确定子模块,用于确定包含所述标记信息的配置信息为所述待解析数据对应的配置信息。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
格式化模块,用于当所述键值对不需要进行进一步解析时,将所述键值对中的键和值分别进行格式化,得到格式化的键值对;
输出模块,用于输出所述格式化的键值对。
CN201810920746.2A 2018-08-14 2018-08-14 一种数据解析方法及装置 Active CN109189395B (zh)

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 CN109189395A (zh) 2019-01-11
CN109189395B true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046171B (zh) * 2019-04-29 2020-08-14 北京字节跳动网络技术有限公司 用于获取信息的系统、方法和装置
CN110554877A (zh) * 2019-09-05 2019-12-10 北京博睿宏远数据科技股份有限公司 一种json数据解析方法、装置、设备及储存介质
CN113676437B (zh) * 2020-05-14 2023-08-18 中国移动通信集团云南有限公司 参数获取方法、参数设置方法以及装置
CN113282609A (zh) * 2021-06-11 2021-08-20 东莞市盟大塑化科技有限公司 一种基于大数据技术的智能解析数据的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651679A (zh) * 2009-09-16 2010-02-17 清华大学 一种基于树形结构的数据帧解析和处理系统和方法
CN104361055B (zh) * 2014-10-31 2017-09-05 山东中创软件工程股份有限公司 一种解析Apache配置文件的方法及系统

Also Published As

Publication number Publication date
CN109189395A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109189395B (zh) 一种数据解析方法及装置
US10691507B2 (en) API learning
CN111522927B (zh) 基于知识图谱的实体查询方法和装置
CN106959976B (zh) 一种搜索处理方法以及装置
US11947976B2 (en) System and method for semantic metadata extensions in API governance using validation rulesets
CN114091426A (zh) 一种处理数据仓库中字段数据的方法和装置
CN112181924A (zh) 文件转换方法、装置、设备及介质
CN110147223B (zh) 组件库的生成方法、装置及设备
CN115221191A (zh) 一种基于数据湖的虚拟列构建方法以及数据查询方法
CN113626558B (zh) 一种基于智能推荐的字段标准化的方法和系统
CN113360300B (zh) 接口调用链路生成方法、装置、设备及可读存储介质
CN115357286B (zh) 一种程序文件对比方法、装置、电子设备及存储介质
CN116467047A (zh) 针对容器配置合规性的检测方法、装置、存储介质及终端
US11893033B2 (en) Automated analysis of unstructured computer text for generation of an enforcement action database using machine learning
CN113435950B (zh) 票据处理方法及装置
CN112181374B (zh) 一种数据整合方法、装置、电子设备及存储介质
CN113987118A (zh) 语料的获取方法、装置、设备及存储介质
CN111597198A (zh) 一种对于异构资源接入的物联网数据查询方法及相关设备
CN110928896A (zh) 一种数据查询方法及装置
CN111930607B (zh) 一种组合Web服务变更测试用例生成方法及系统
CN113297306B (zh) 数据处理方法及装置
CN114764406B (zh) 一种数据库查询方法及相关装置
CN111310414B (zh) Rdf格式文件的解析方法及生成方法
CN116166856A (zh) 一种表格数据的处理方法、装置、设备及存储介质
CN116108112A (zh) 将owl数据转换为图数据的方法、装置及电子设备

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