System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,更具体地涉及一种数据导入方法、装置及设备。
技术介绍
1、当前大数据时代,对于数据库系统,存储在其中的数据日益庞大。当数据库管理员需要对数据库进行管理操作或者进行数据备份恢复操作时,会涉及对海量数据进行导入的操作。
2、相关技术中,往往需要先将待导入的数据转换为结构化语句,再构建数据表,或是经过数据库的查询处理器处理后,再导入数据库,此外,上述处理操作无法实现多条数据并行导入,效率低的同时,对系统的资源耗费较大。
技术实现思路
1、鉴于上述问题,本专利技术提供了一种数据导入方法、装置及设备。
2、根据本专利技术的第一个方面,提供了一种数据导入方法,包括:响应于数据导入指令,将待导入数据与目标数据库建立连接关系,待导入数据包括多种格式类型,待导入数据包括多个行数据,多个行数据中的至少两个与同一个格式类型相关联;根据与格式类型相对应的读写控制标识,更新待导入数据的多个行数据的读写属性,得到更新后的源数据,并将源数据写入共享内存队列;利用并行解析线程对共享内存队列中的源数据进行解析,得到与源数据对应的元组;将元组写入目标数据库的目标文件。
3、根据本专利技术的实施例,读写控制标识包括起始标识、结束标识和跳过标识;根据与格式类型相对应的读写控制标识,更新待导入数据的多个行数据的读写属性,得到更新后的源数据,并将源数据写入共享内存队列,包括:在待导入数据的格式类型为文本格式类型的情况下,遍历待导入数据的每个行数据对应的换行符信息,换
4、根据本专利技术的实施例,根据与格式类型相对应的读写控制标识,更新待导入数据的多个行数据的读写属性,得到更新后的源数据,并将源数据写入共享内存队列,还包括:在待导入数据的格式类型为非文本格式类型的情况下,对待导入数据的多个行数据进行读取操作,得到源数据;其中,在读取操作过程中,识别到跳过标识对应的换行符的情况下,跳过与跳过标识对应的行数据;将源数据写入共享内存队列。
5、根据本专利技术的实施例,共享内存队列包括多个;将源数据写入共享内存队列,包括:获取每个共享内存队列对应的权重;根据共享内存队列对应的权重,对多个共享内存队列进行排序;根据多个共享内存队列的排序,将源数据写入共享内存队列。
6、根据本专利技术的实施例,源数据包括多个分隔符;利用并行解析线程对共享内存队列中的源数据进行解析,得到与源数据对应的元组,包括:基于多个分隔符,对源数据进行拆分处理,得到多个列数据;获取目标数据库的目标数据表,确定目标数据表的列数;对列数据的数量与目标数据表的列数进行比对,得到比对结果;在比对结果为比对一致的情况下,基于目标数据表,构建与源数据对应的元组。
7、根据本专利技术的实施例,基于目标数据表,构建与源数据对应的元组,包括:确定目标数据表的属性信息,属性信息包括目标数据表的目标表结构和目标格式;根据目标格式,对列数据进行格式转换,得到目标源数据;构建与目标表结构对应的初始表结构;利用目标源数据,更新初始表结构,得到元组。
8、根据本专利技术的实施例,利用并行解析线程对共享内存队列中的源数据进行解析,得到与源数据对应的元组,还包括:在比对结果为比对不一致的情况下,将源数据对应的多个列数据存入目标数据库中的异常数据文件;对与异常数据文件关联的日志进行分析,在多个列数据中确定目标异常数据;推送目标异常数据。
9、根据本专利技术的实施例,响应于数据导入指令,将待导入数据与目标数据库建立连接关系,包括:响应于数据导入指令,从待导入数据中获取连接参数信息;将待导入数据与连接参数信息对应的目标数据库构建连接关系;利用目标数据库的排序组件接收待导入数据。
10、本专利技术的第二方面提供了一种数据导入装置,包括:建立模块,用于响应于数据导入指令,将待导入数据与目标数据库建立连接关系,待导入数据包括多种格式类型,待导入数据包括多个行数据,多个行数据中的至少两个与同一个格式类型相关联;更新模块,用于根据与格式类型相对应的读写控制标识,更新待导入数据的多个行数据的读写属性,得到更新后的源数据,并将源数据写入共享内存队列;解析模块,用于利用并行解析线程对共享内存队列中的源数据进行解析,得到与源数据对应的元组;以及写入模块,用于将元组写入目标数据库的目标文件。
11、本专利技术的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,其中,上述一个或多个处理器执行上述一个或多个计算机程序以实现上述方法的步骤。
12、本专利技术的第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
13、本专利技术的第五方面还提供了一种计算机程序产品,包括计算机程序或指令,上述计算机程序或指令被处理器执行时实现上述方法的步骤。
14、根据本专利技术的实施例,响应于数据导入指令,将待导入数据与目标数据库建立连接关系,待导入数据包括多种格式类型,待导入数据包括多个行数据,多个行数据中的至少两个与同一个格式类型相关联;根据与格式类型相对应的读写控制标识,更新待导入数据的多个行数据的读写属性,得到更新后的源数据,并将源数据写入共享内存队列;利用并行解析线程对共享内存队列中的源数据进行解析,得到与源数据对应的元组;将元组写入目标数据库的目标文件。由于采用了对多种格式类型的待导入数据的读写属性进行更新,并利用并行解析线程对待导入数据进行解析得到相应的元组的技术手段,避免了在导入数据库之前还需要由相关处理器进行结构化处理,无法适应多条数据并行导入的问题,进而实现了对于不同格式类型的待导入数据直接写入数据库,提升了读写效率的同时,实现多条待导入数据的并行写入,减少系统的资源开销。
本文档来自技高网...【技术保护点】
1.一种数据导入方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述读写控制标识包括起始标识、结束标识和跳过标识;
3.根据权利要求2所述的方法,其特征在于,所述根据与所述格式类型相对应的读写控制标识,更新所述待导入数据的多个行数据的读写属性,得到更新后的源数据,并将所述源数据写入共享内存队列,还包括:
4.根据权利要求3所述的方法,其特征在于,所述共享内存队列包括多个;
5.根据权利要求1所述的方法,其特征在于,所述源数据包括多个分隔符;
6.根据权利要求5所述的方法,其特征在于,所述基于所述目标数据表,构建与所述源数据对应的所述元组,包括:
7.根据权利要求5所述的方法,其特征在于,所述利用并行解析线程对所述共享内存队列中的所述源数据进行解析,得到与所述源数据对应的元组,还包括:
8.根据权利要求1所述的方法,其特征在于,所述响应于数据导入指令,将待导入数据与目标数据库建立连接关系,包括:
9.一种数据导入装置,其特征在于,所述装置包括:
1
...【技术特征摘要】
1.一种数据导入方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述读写控制标识包括起始标识、结束标识和跳过标识;
3.根据权利要求2所述的方法,其特征在于,所述根据与所述格式类型相对应的读写控制标识,更新所述待导入数据的多个行数据的读写属性,得到更新后的源数据,并将所述源数据写入共享内存队列,还包括:
4.根据权利要求3所述的方法,其特征在于,所述共享内存队列包括多个;
5.根据权利要求1所述的方法,其特征在于,所述源数据包括多个分隔符;<...
【专利技术属性】
技术研发人员:张超,
申请(专利权)人:苏州吉呗思数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。