一种数组解析方法、装置、设备及介质制造方法及图纸

技术编号:38810882 阅读:11 留言:0更新日期:2023-09-15 19:49
本发明专利技术公开了一种数组解析方法、装置、设备及介质。该方法包括:获取输入数组,并通过结构化查询语言SQL对输入数组进行规范化处理,得到待解析字符串;根据待解析字符串中包括的分隔符号,确定各分隔符号对应的分割层级信息及各分隔符号之间的数据所占的内存空间信息;按照各分割层级信息及对应的内存空间信息,对待解析字符串进行解析,得到输出数组。通过对输入数组进行规范化处理,将规范化后的待解析字符串按照层级动态分配存储空间,并对每一层级进行解析,进而得到输出数组。实现了对输入数组的自动解析,提高了数组解析的效率,提高了解析方法的灵活性,可以适配任何类型数组的解析。解析。解析。

【技术实现步骤摘要】
一种数组解析方法、装置、设备及介质


[0001]本专利技术涉及数据库
,尤其涉及一种数组解析方法、装置、设备及介质。

技术介绍

[0002]在数据库中,数组输入是无法回避的功能。在部分情况下,数组可以通过SQL语句实现处理,然而,对于那些无法回避,必须将数组内容输入后台程序进行运算的情况,则需要对数组进行解析并获取其中数据。
[0003]现有技术通常采用字符串匹配方法,代码编写方式简单,当数组仅为简单一维数组(即int数组、double数组等)时,可通过字符串匹配的方法遍历数组中的每个字节以获取其中内容。
[0004]但此方法对于二维、三维或者结构体数组而言计算时间会较长。

技术实现思路

[0005]本专利技术提供了一种数组解析方法、装置、设备及介质,以实现对不同结构体数组的快速解析。
[0006]根据本专利技术的第一方面,提供了一种数组解析方法,包括:
[0007]获取输入数组,并通过结构化查询语言SQL对所述输入数组进行规范化处理,得到待解析字符串;
[0008]根据所述待解析字符串中包括的分隔符号,确定各所述分隔符号对应的分割层级信息及各所述分隔符号之间的数据所占的内存空间信息;
[0009]按照各所述分割层级信息及对应的所述内存空间信息,对所述待解析字符串进行解析,得到输出数组。
[0010]根据本专利技术的第二方面,提供了一种数组解析装置,包括:
[0011]字符串确定模块,用于获取输入数组,并通过结构化查询语言SQL对所述输入数组进行规范化处理,得到待解析字符串;
[0012]信息确定模块,用于根据所述待解析字符串中包括的分隔符号,确定各所述分隔符号对应的分割层级信息及各所述分隔符号之间的数据所占的内存空间信息;
[0013]数组确定模块,用于按照各所述分割层级信息及对应的所述内存空间信息,对所述待解析字符串进行解析,得到输出数组。
[0014]根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
[0015]至少一个处理器;以及
[0016]与所述至少一个处理器通信连接的存储器;其中,
[0017]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的数组解析方法。
[0018]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储
介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的数组解析方法。
[0019]本专利技术实施例的技术方案,通过获取输入数组,并通过结构化查询语言SQL对输入数组进行规范化处理,得到待解析字符串;根据待解析字符串中包括的分隔符号,确定各分隔符号对应的分割层级信息及各分隔符号之间的数据所占的内存空间信息;按照各分割层级信息及对应的内存空间信息,对待解析字符串进行解析,得到输出数组。通过对输入数组进行规范化处理,将规范化后的待解析字符串按照层级动态分配存储空间,并对每一层级进行解析,进而得到输出数组。实现了对输入数组的自动解析,提高了数组解析的效率,提高了解析方法的灵活性,可以适配任何类型数组的解析。
[0020]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0021]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是根据本专利技术实施例一提供的一种数组解析方法的流程图;
[0023]图2是根据本专利技术实施例二提供的一种数组解析方法的流程图;
[0024]图3是根据本专利技术实施例三提供的一种数组解析装置的结构示意图;
[0025]图4是实现本专利技术实施例的电子设备的结构示意图。
具体实施方式
[0026]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0027]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0028]实施例一
[0029]图1为本专利技术实施例一提供了一种数组解析方法的流程图,本实施例可适用于对不同结构体数组进行解析的情况,该方法可以由数组解析装置来执行,该数组解析装置可以采用硬件和/或软件的形式实现,该数组解析装置可配置于电子设备中。如图1所示,该方
法包括:
[0030]S110、获取输入数组,并通过结构化查询语言SQL对输入数组进行规范化处理,得到待解析字符串。
[0031]在本实施例中,输入数组可以理解为用户输入数据库的数组。待解析字符串可以理解为将输入数据转换为进行数据处理所需的字符串形式。
[0032]具体的,处理器可以获取用户输入的输入数组,并通过SQL对输入数组进行规范化改写,将输入数组中不同层级或不同维度使用不同的符号进行改写,得到待解析字符串。
[0033]S120、根据待解析字符串中包括的分隔符号,确定各分隔符号对应的分割层级信息及各分隔符号之间的数据所占的内存空间信息。
[0034]在本实施例中,分隔符号可以理解为用于区分数组不同维度或不同层级的符号,如“[]”、“()”及“,”等。分割层级信息可以理解为分割符号间数据所对应的层级,如“[]”可以为2维数组。内存空间信息可以理解为数据所占的内存。
[0035]具体的,处理器可以将待解析字符串输入C语言中实施后续步骤,处理器可以解析出待解析字符串中包括的分隔符号,每种分隔符号均对应着一个层级,则可以根据分隔符号所对应的预设层级确定出各分隔符号对应的分割层级信息。为了能够节省运行时所需的物理空间,所以采用动态分配空间的方法为数组分配空间。因此需要先行计算最终输出数组所需要的空间,而此方法每经过一次运算都会破坏原有的字符串,所以需要在进行运算前复制一份数据用于计算空间,从而得到复制待本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数组解析方法,其特征在于,包括:获取输入数组,并通过结构化查询语言SQL对所述输入数组进行规范化处理,得到待解析字符串;根据所述待解析字符串中包括的分隔符号,确定各所述分隔符号对应的分割层级信息及各所述分隔符号之间的数据所占的内存空间信息;按照各所述分割层级信息及对应的所述内存空间信息,对所述待解析字符串进行解析,得到输出数组。2.根据权利要求1所述的方法,其特征在于,所述通过SQL对所述输入数组进行规范化处理,得到待解析字符串,包括:获取所述输入数组中每一层级所用到的分隔符号;当不同层级对应的所述分隔符号相同时,确定出错误的分隔符号作为异常分隔符号;通过所述SQL对所述异常分隔符号进行修正,得到待解析字符串。3.根据权利要求1所述的方法,其特征在于,所述根据所述待解析字符串中包括的分隔符号,确定各所述分隔符号对应的分割层级信息及各所述分隔符号之间的数据所占的内存空间信息,包括:对所述待解析字符串进行复制,得到复制字符串;确定所述复制字符串中包括的各所述分隔符号的符号类别;根据各所述符号类别,确定各所述分隔符号所属的层级并生成各所述分割层级信息;基于各所述分隔符号对所述复制字符串进行分割,确定在各所述层级下对应的分割次数;根据各所述分割次数及单个数据所占空间,确定各所述分隔符号之间的数据所占的内存空间信息。4.根据权利要求3所述的方法,其特征在于,所述基于各所述分隔符号对所述复制字符串进行分割,确定在各所述层级下对应的分割次数,包括:针对每个所述分隔符号,基于所述分隔符号对所述复制字符串进行分割,得到分割后的当前中间字符串;若所述当前中间字符串不为空值,则基于所述分隔符号对所述当前中间字符串进行再次分割,得到下一中间字符串,并对分割次数进行计数;将所述下一中间字符串作为新的当前中间字符串,返回重新执行分割次数的计数操作,直至所述当前中间字符串为空值,得到所述分割次数。5.根据权利要求1所述的方法,其特征在于,所述按照各所述分割层级信息及对应的所述内存空间信息,对所述待解析字符串进行解析,得到输出数组,包括:针对每个所述分割层级信息,提取所述分割层级信息中的目标分隔符号及目标层级;...

【专利技术属性】
技术研发人员:谢一帆陈琦宁亮
申请(专利权)人:武汉达梦数据库股份有限公司
类型:发明
国别省市:

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

1