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、序列化数据生成模块,用于获取与内存占用量对应的内存空间,将待迁移数据进行序列化处理保存至内存空间,以生成序列化数据;
15、数据迁移模块,用于获取迁移目标端,将序列化数据进行反序列化处理以发送至迁移目标端。
16、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
17、至少一个处理器;以及
18、与所述至少一个处理器通信连接的存储器;其中,
19、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的一种数据迁移方法。
20、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的一种数据迁移方法。
21、本专利技术实施例的技术方案,通过确定待迁移数据对应的总内存占用量申请内存空间,然后根据序列化函数按照变量类型依次选择目标变量进行序列化处理保存至内存空间,再将序列化数据进行反序列化处理以保存至迁移目标端。利用了数据库的表的同一列的数据出现重复数据的概率比较大的特点,让相似数据集中存放,可以提高现有的压缩算法对序列化之后的数据的压缩率,提高了数据迁移效率。
22、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.一种数据迁移方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待迁移数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述确定所述待迁移数据对应的内存占用量,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述待迁移数据进行序列化处理保存至所述内存空间,以生成序列化数据,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标变量类型确定所述目标数据对应的目标存放规则,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述索引行和所述索引列确定所述目标存放规则,包括:
7.根据权利要求6所述的方法,其特征在于,所述将序列化数据进行反序列化处理以发送至迁移目标端,包括:
8.一种数据迁移装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的方法。
【技术特征摘要】
1.一种数据迁移方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待迁移数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述确定所述待迁移数据对应的内存占用量,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述待迁移数据进行序列化处理保存至所述内存空间,以生成序列化数据,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标变量类型确定所述目标数据对应的目标存放规则,包括:
【专利技术属性】
技术研发人员:徐嘉,高志会,陈勇铨,周华,
申请(专利权)人:上海英方软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。