数据解析方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35749856 阅读:27 留言:0更新日期:2022-11-26 18:55
本申请提供一种数据解析方法、装置、电子设备及存储介质;该方法包括:对获取的每个字符串,通过调用预置的所述第一枚举类,解析出所述字符串中的全部指令;通过调用预置的所述第二枚举类,解析出所述字符串中的全部数据代码;对所述字符串进行语法解析,确定各个指令与各个数据代码之间的执行逻辑;按照所述各个数据代码中的字段确定该数据代码指向的数据源,并确定该数据源的数据结构;令所述各个指令按照所述执行逻辑调用所述数据代码,根据所述数据代码指向的数据结构进行数据加载,得到目标数据。可见,能够跨数据源,并跨数据类型来进行目标数据的加载。进行目标数据的加载。进行目标数据的加载。

【技术实现步骤摘要】
数据解析方法、装置、电子设备及存储介质


[0001]本申请的实施例涉及数据处理
,尤其涉及一种数据解析方法、装置、电子设备及存储介质。

技术介绍

[0002]在实际数据应用过程中,对数据进行加载时,经常会出现基于一个语句的指令,需要在加载不同数据源的数据,并且各个数据源之间的数据类型往往也不相同。
[0003]但是,在相关的数据解析技术中,对于一个语句的指令往往难以跨不同的数据源,或者跨不同的数据类型进行加载,也就是说,在对该语句进行解析时,针对不同数据类型和数据源的要求,往往难以解析出对应的数据加载方式,这使得跨数据源加载数据,以及,跨数据类型来加载数据十分困难。
[0004]基于此,需要一种能够实现可以跨不同数据源,并跨不同数据类型来进行数据解析的方案。

技术实现思路

[0005]有鉴于此,本申请的目的在于提出一种数据解析方法、装置、电子设备及存储介质。
[0006]基于上述目的,本申请提供了数据解析方法,包括:
[0007]对获取的每个字符串,通过调用预置的所述第一枚举类,解析出所述字符串中的全部指令;通过调用预置的所述第二枚举类,解析出所述字符串中的全部数据代码;
[0008]对所述字符串进行语法解析,确定各个指令与各个数据代码之间的执行逻辑;
[0009]按照所述各个数据代码中的字段确定该数据代码指向的数据源,并确定该数据源的数据结构;
[0010]令所述各个指令按照所述执行逻辑调用所述数据代码,根据所述数据代码指向的数据结构进行数据加载,得到目标数据。
[0011]进一步地,通过以下方法确定所述第一枚举类和所述第二枚举类:
[0012]将多个指令各自均作为所述第一枚举类中的一个第一对象,并对各个第一对象进行定义;
[0013]将多个数据源各自的数据类型作为所述第二枚举类中的第二对象,并对各个第二对象进行定义。
[0014]进一步地,通过调用预置的所述第一枚举类,解析出所述字符串中的全部指令,包括:
[0015]按照所述字符串中各个字符的表述顺序,依次确定代表所述各个指令的字符,并查询出所述各个指令在所述第一枚举类中的定义。
[0016]进一步地,通过调用预置的所述第二枚举类,解析出所述字符串中的全部数据代码,包括:
[0017]按照所述字符串中各个字符的表述顺序,依次确定代表所述各个数据源的数据代码,并查询出所述各个数据代码对应的数据源在所述第二枚举类中的定义。
[0018]进一步地,按照所述各个数据代码中的字段确定该数据代码指向的数据源,并确定该数据源的数据结构,包括:
[0019]对于所述各个数据代码,确定该数据代码中指向所述数据源的类型的第一字段,并确定该数据代码中指向所述数据源的名称的第二字段;
[0020]根据所述第一字段,通过查询所述第二对象的定义,确定所述数据源的所述数据结构为所述结构化数据和所述半结构化数据中的一种;
[0021]根据所述第二字段,通过查询预置的映射类确定所述数据源的名称。
[0022]进一步地,令所述各个指令按照所述执行逻辑调用所述数据代码之前,还包括:
[0023]根据所述第一对象的定义,将所述全部指令区分为命令指令、连接指令和条件指令;
[0024]按照所述字符串中所述各个指令和所述各个数据代码的表述顺序,将所述字符串中的所述各个指令和所述各个数据代码构建为语法树。
[0025]进一步地,根据所述数据代码指向的数据结构进行数据加载,得到目标数据,包括:
[0026]响应于确定所述数据代码指向的数据源为结构化数据,从对应的数据源加载对应的目标数据;
[0027]响应于确定所述数据代码指向的数据源为半结构化数据,通过对所述半结构化数据进行解析得到对应的目标数据。
[0028]进一步地,通过对所述半结构化数据进行解析得到对应的目标数据,包括:
[0029]根据所述半结构化数据的数据类型,调用预置的对应该数据类型的解析器;
[0030]通过利用对应的所述解析器对所述半结构化数据的脚本文件进行解析,确定所述第二字段所指向的目标数据;
[0031]基于确定出的所述目标数据,对所述目标数据进行加载。
[0032]基于同一专利技术构思,本申请还提供了一种数据解析方法装置,包括:词法解析模块、语法解析模块、数据结构确定模块和数据加载模块;
[0033]其中,所述词法解析模块,被配置为,对获取的每个字符串,通过调用预置的所述第一枚举类,解析出所述字符串中的全部指令;通过调用预置的所述第二枚举类,解析出所述字符串中的全部数据代码;
[0034]所述语法解析模块,被配置为,对所述字符串进行语法解析,确定各个指令与各个数据代码之间的执行逻辑;
[0035]所述数据结构确定模块,被配置为,按照所述各个数据代码中的字段确定该数据代码指向的数据源,并确定该数据源的数据结构;
[0036]所述数据加载模块,被配置为,令所述各个指令按照所述执行逻辑调用所述数据代码,根据所述数据代码指向的数据结构进行数据加载,得到目标数据。
[0037]基于同一专利技术构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的数据解析方法。
[0038]基于同一专利技术构思,本申请还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述数据解析方法。
[0039]从上面所述可以看出,本申请提供的数据解析方法、装置、电子设备及存储介质,基于定义的第一枚举类和第二枚举类,将字符串中可能出现的指令和数据源分别进行了归类,使得在对字符串的解析过程中,可以依据该第一枚举类和第二枚举类分别对指令相关的字符和数据源相关的字符分别进行解析;同时,本方法中加入的语法解析可以有效地解析出指令和数据代码之间的执行逻辑。
[0040]进一步地,在综合考虑了结构化数据和半结构化数据后,通过数据代码来确定其具体所指向的数据类型,并在调用数据代码时,能够区分出不同的数据源,并区分出不同的数据类型,以实现对不同的数据类型使用不同的方式来进行目标数据的加载,使得在一个字符串中出现不同的数据源时,以及,各个数据源为不同数据类型时,能够跨数据源,并跨数据类型来进行目标数据的加载。
附图说明
[0041]为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]图1为本申请实施例的数据解析方法的流程图;
[0043]图2为本申请实施例的抽象语法树的逻辑示意图;
[0044]图3为本申请实施例的数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据解析方法,其特征在于,包括:对获取的每个字符串,通过调用预置的所述第一枚举类,解析出所述字符串中的全部指令;通过调用预置的所述第二枚举类,解析出所述字符串中的全部数据代码;对所述字符串进行语法解析,确定各个指令与各个数据代码之间的执行逻辑;按照所述各个数据代码中的字段确定该数据代码指向的数据源,并确定该数据源的数据结构;令所述各个指令按照所述执行逻辑调用所述数据代码,根据所述数据代码指向的数据结构进行数据加载,得到目标数据。2.根据权利要求1所述的方法,其特征在于,通过以下方法确定所述第一枚举类和所述第二枚举类:将多个指令各自均作为所述第一枚举类中的一个第一对象,并对各个第一对象进行定义;将多个数据源各自的数据类型作为所述第二枚举类中的第二对象,并对各个第二对象进行定义。3.根据权利要求1所述的方法,其特征在于,所述通过调用预置的所述第一枚举类,解析出所述字符串中的全部指令,包括:按照所述字符串中各个字符的表述顺序,依次确定代表所述各个指令的字符,并查询出所述各个指令在所述第一枚举类中的定义。4.根据权利要求1所述的方法,其特征在于,所述通过调用预置的所述第二枚举类,解析出所述字符串中的全部数据代码,包括:按照所述字符串中各个字符的表述顺序,依次确定代表所述各个数据源的数据代码,并查询出所述各个数据代码对应的数据源在所述第二枚举类中的定义。5.根据权利要求2所述的方法,其特征在于,所述按照所述各个数据代码中的字段确定该数据代码指向的数据源,并确定该数据源的数据结构,包括:对于所述各个数据代码,确定该数据代码中指向所述数据源的类型的第一字段,并确定该数据代码中指向所述数据源的名称的第二字段;根据所述第一字段,通过查询所述第二对象的定义,确定所述数据源的所述数据结构为所述结构化数据和所述半结构化数据中的一种;根据所述第二字段,通过查询预置的映射类确定所述数据源的名称。6.根据权利要求2所述的方法,其特征在于,所述令所述各个指令按照所述执行逻辑调用所述数据代码之前,还包括:根据所述第一对象的定义,将所述全部指令...

【专利技术属性】
技术研发人员:何文
申请(专利权)人:京东方科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1