本申请涉及计算机,尤其涉及一种dwg解析数据高效自动入库存储的方法、装置及存储介质。
背景技术:
1、相关技术中,绘图dwg文件解析后的对象为多个图层,由于每个图层所具有的属性个数及属性名各不相同,在将其存入关系型数据库时无法存储在同一张表中,而传统建表方法只能根据给定的字段名创建表结构,无法根据读取的数据自适应创建表结构,建表效率较低,表中的字段名与属性值的适配度较差。
技术实现思路
1、为此,本申请提供一种dwg解析数据高效自动入库存储的方法、装置及存储介质。本申请的技术方案如下:
2、根据本申请实施例的第一方面,提供一种dwg解析数据高效自动入库存储的方法,所述方法包括:
3、响应于接收到图层的图层数据,生成所述图层对应的待创建的属性数据表的表名;所述属性数据表用于在关系型数据库中存储所述图层数据;所述图层数据包括所述图层的属性名和所述图层的属性值;所述图层是通过对绘图dwg文件进行解析得到的;
4、获取所述图层数据中的全部属性名;
5、将所述全部属性名分别确定为所述属性数据表的字段名;
6、基于所述表名、所述字段名和所述全部属性名各自对应的属性值,创建所述属性数据表。
7、根据本申请的一个实施例,所述基于所述表名、所述字段名和所述全部属性名各自对应的属性值,创建所述属性数据表,包括:
8、基于所述表名和所述字段名,生成建表语句;
9、根据所述建表语句生成第一数据表;
10、基于所述属性值以及所述属性值各自对应的字段名,生成插入数据语句;
11、根据所述插入数据语句,将所述全部属性名各自对应的属性值分别插入所述第一数据表中,以创建所述属性数据表。
12、根据本申请的一个实施例,所述图层数据还包括图层名;所述方法还包括:
13、获取所述图层数据中的图层名;
14、将所述图层名和所述属性数据表的表名对应存储至元数据表中,以存储所述图层和所述属性数据表的对应关系。
15、根据本申请的一个实施例,所述响应于接收到图层的图层数据,生成所述图层对应的待创建的属性数据表的表名,包括:
16、响应于接收到所述图层的所述图层数据,随机生成一个唯一标识;
17、基于所述唯一标识,生成所述图层对应的待创建的所述属性数据表的表名。
18、根据本申请的一个实施例,所述图层有多个;所述方法还包括:
19、响应于接收到多个图层各自的图层数据,分别生成所述多个图层各自对应的待创建的属性数据表的表名;
20、分别获取多个图层数据中各自的全部属性名;
21、针对每个图层数据,获取所述图层数据中的全部属性名,将所述全部属性名分别确定为与所述全属性数据表的字段名,基于所述表名、所述字段名和所述全部属性名各自对应的属性值,创建所述属性数据表。
22、根据本申请实施例的第二方面,提供一种dwg解析数据高效自动入库存储的装置,所述装置包括:
23、第一生成模块,用于响应于接收到图层的图层数据,生成所述图层对应的待创建的属性数据表的表名;所述属性数据表用于在关系型数据库中存储所述图层数据;所述图层数据包括所述图层的属性名和所述图层的属性值;所述图层是通过对绘图dwg文件进行解析得到的;
24、第一获取模块,用于获取所述图层数据中的全部属性名;
25、确定模块,用于将所述全部属性名分别确定为所述属性数据表的字段名;
26、第一创建模块,用于基于所述表名、所述字段名和所述全部属性名各自对应的属性值,创建所述属性数据表。
27、根据本申请的一个实施例,所述第一创建模块包括:
28、第一生成子模块,用于基于所述表名和所述字段名,生成建表语句;
29、第二生成子模块,用于根据所述建表语句生成第一数据表;
30、第三生成子模块,用于基于所述属性值以及所述属性值各自对应的字段名,生成插入数据语句;
31、第四生成子模块,用于根据所述插入数据语句,将所述全部属性名各自对应的属性值分别插入所述第一数据表中,以创建所述属性数据表。
32、根据本申请的一个实施例,所述图层数据还包括图层名;所述装置还包括:
33、第二获取模块,用于获取所述图层数据中的图层名;
34、存储模块,用于将所述图层名和所述属性数据表的表名对应存储至元数据表中,以存储所述图层和所述属性数据表的对应关系。
35、根据本申请的一个实施例,所述第一生成模块包括:
36、第五生成子模块,用于响应于接收到所述图层的所述图层数据,随机生成一个唯一标识;
37、第六生成子模块,用于基于所述唯一标识,生成所述图层对应的待创建的所述属性数据表的表名。
38、根据本申请的一个实施例,所述图层有多个;所述装置还包括:
39、第二生成模块,用于响应于接收到多个图层各自的图层数据,分别生成所述多个图层各自对应的待创建的属性数据表的表名;
40、第三获取模块,用于分别获取多个图层数据中各自的全部属性名;
41、第二创建模块,用于针对每个图层数据,获取所述图层数据中的全部属性名,将所述全部属性名分别确定为与所述全属性数据表的字段名,基于所述表名、所述字段名和所述全部属性名各自对应的属性值,创建所述属性数据表。
42、根据本申请实施例的第三方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面中任一项所述的方法。
43、根据本申请实施例的第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面任一项所述的方法。
44、本申请的实施例提供的技术方案至少带来以下有益效果:
45、通过响应于接收到图层的图层数据,生成图层对应的待创建的属性数据表的表名;获取图层数据中的全部属性名;将全部属性名分别确定为属性数据表的字段名;基于表名、字段名和全部属性名各自对应的属性值,创建属性数据表。从而能够根据图层数据确定属性数据表的字段名,将与字段名对应的属性值存入属性数据表,进而实现自动建表,提高了建表效率以及表与属性值的适配度。
46、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种dwg解析数据高效自动入库存储的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于所述表名、所述字段名和所述全部属性名各自对应的属性值,创建所述属性数据表,包括:
3.根据权利要求1所述的方法,其特征在于,所述图层数据还包括图层名;所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述响应于接收到图层的图层数据,生成所述图层对应的待创建的属性数据表的表名,包括:
5.根据权利要求1所述的方法,其特征在于,所述图层有多个;所述方法还包括:
6.一种dwg解析数据高效自动入库存储的装置,其特征在于,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述第一创建模块包括:
8.根据权利要求6所述的装置,其特征在于,所述图层数据还包括图层名;所述装置还包括:
9.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至5中任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的方法。