一种数据拷贝方法、设备及存储介质技术

技术编号:38582035 阅读:15 留言:0更新日期:2023-08-26 23:26
本发明专利技术公开了一种数据拷贝方法、设备及存储介质,该方法包括:首先接收待拷贝数据的拷贝请求,将第一拷贝区的待拷贝数据进行拷贝得到第一拷贝数据和第二拷贝数据;接着将第一拷贝数据的拷贝起始点按字节顺序拷贝至第二拷贝区的内存中,然后将第二拷贝数据的拷贝起始点进行移位处理后,再按字节顺序拷贝至第二拷贝区的内存中;最后第一拷贝数据和第二拷贝数据拷贝完成,则第二拷贝区完成待拷贝数据的拷贝。本发明专利技术将待拷贝数据进行分开拷贝得到第一拷贝数据和第二拷贝数据,同时在拷贝至第二拷贝区内存的过程中,对第二拷贝数据的拷贝起始点进行移位处理,使得拷贝不溢出,本发明专利技术整个数据的拷贝速度快,拷贝时间短。拷贝时间短。拷贝时间短。

【技术实现步骤摘要】
一种数据拷贝方法、设备及存储介质


[0001]本专利技术涉及数据存储领域,具体涉及一种数据拷贝方法、设备及存储介质。

技术介绍

[0002]目前,随着各种终端及通信业务的日益增长需求,经常会遇到将一个系统的数据拷贝到另一个系统的情况,在此过程中,最耗费时间的就是数据拷贝。数据拷贝即数据的复制,是指将一段数据从一个存储空间中复制到另一个存储空间中。
[0003]现有的数据拷贝方法比较单一,对于待拷贝数据的的字节长度为非2的整数幂次方时,都是先将待拷贝数据按2
n
进行数据拷贝,然后判断剩下数据的数据字节长度是否为2的整数幂次方,若不是再按2
m
进行数据拷贝,再剩下的数据再判断是否为2的整数幂次方,若不是再按2
p
进行数据拷贝,直至最后剩下的数据字节长度为2的整数幂次方时,整个数据才完全拷贝成功,然后在传输,最终意味着该数据的拷贝成功。
[0004]举例说明:如一个31字节的数据,将被分级拷贝成24=16字节、23=8字节、22=4字节、21=2字节、20=1字节,传输。由此可见,此类数据拷贝过程数据分级拷贝次数较多,导致数据拷贝时拷贝速度较低,拷贝时间较长。

技术实现思路

[0005]专利技术目的:本专利技术目的是提供一种数据拷贝方法、设备及存储介质,解决了现有的数据拷贝过程数据分级拷贝次数较多,导致数据拷贝时拷贝速度较低,拷贝时间较长的问题。
[0006]技术方案:本专利技术一种数据拷贝方法,包括以下步骤:
[0007](1)接收待拷贝数据的拷贝请求,将第一拷贝区的待拷贝数据进行拷贝得到第一拷贝数据和第二拷贝数据;
[0008](2)将第一拷贝数据的拷贝起始点按字节顺序拷贝至第二拷贝区的内存中,然后将第二拷贝数据的拷贝起始点进行移位处理后,再按字节顺序拷贝至第二拷贝区的内存中;
[0009](3)第一拷贝数据和第二拷贝数据拷贝完成,则第二拷贝区完成待拷贝数据的拷贝。
[0010]进一步地,所述第一拷贝数据和第二拷贝数据的字节长度均为2的整数幂次方。
[0011]进一步地,所述将第一拷贝区的待拷贝数据进行拷贝得到第一拷贝数据和第二拷贝数据的具体过程为:
[0012]1)获取待拷贝数据的字节长度记为L,根据字节长度L寻找最近邻的2
n
,且字节长度L≥2
n
,按从前往后的顺序将待拷贝数据中第一字节至第2
n
字节长度的数据从待拷贝数据中拷贝出来得到第一拷贝数据,n为自然数;
[0013]2)对待拷贝数据中除第一拷贝数据之外的剩余数据获取其字节长度记为S,根据字节长度S寻找最近邻的2
m
,且2
m
≥字节长度S,并将2
m
与字节长度S作差得到差数w,按从前
往后的顺序将待拷贝数据中第2
n
+1

w字节至第L字节长度的数据从待拷贝数据中拷贝出来得到第二拷贝数据,m为自然数。
[0014]进一步地,所述将第一拷贝数据的拷贝起始点按字节顺序拷贝至第二拷贝区的内存中,然后将第二拷贝数据的拷贝起始点进行移位处理后,再按字节顺序拷贝至第二拷贝区的内存中的具体过程为:
[0015]a)将第一拷贝数据的拷贝起始点设置在第二拷贝区内存的第一字节位置,根据第一拷贝数据的字节长度,将2
n
字节长度的第一拷贝数据按字节顺序拷贝至第二拷贝区的内存中,此时第二拷贝区内存的第一字节至第2
n
字节存储第一拷贝数据;
[0016]b)将第二拷贝数据的拷贝起始点先设置在第二拷贝区内存的第2
n
+1字节位置,然后向左偏移w字节至第2
n
+1

w字节位置,然后根据第二拷贝数据的字节长度,将第二拷贝数据按字节顺序拷贝至第二拷贝区的内存中,其中位置重复部分的数据由第二拷贝数据进行覆盖,此时第二拷贝区内存的第2
n
+1

w字节至第L字节存储第二拷贝数据。
[0017]进一步地,所述待拷贝数据的字节长度为非2的整数幂次方。
[0018]进一步地,所述第二拷贝区内存的字节长度与待拷贝数据的字节长度相同。
[0019]本专利技术还包括一种计算机设备,所述计算机设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述权利要求中任一所述数据拷贝方法。
[0020]本专利技术还包括一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述权利要求中任一所述数据拷贝方法。
[0021]本专利技术的有益效果:在拷贝内存不溢出的情况下,本专利技术将待拷贝数据进行分开拷贝得到第一拷贝数据和第二拷贝数据,第一拷贝数据和第二拷贝数据的字节长度均为2的整数幂次方,同时在拷贝至第二拷贝区内存的过程中,对第二拷贝数据的拷贝起始点进行移位处理,使得拷贝不溢出。本专利技术将待拷贝数据分为两部分拷贝,相对于现有技术的方法将数据按2的整数幂次方分级多次拷贝,直至最后的数据字节长度为2的整数幂次方,本专利技术整个数据的拷贝速度快,拷贝时间短。
附图说明
[0022]图1为本专利技术流程图;
[0023]图2为待拷贝数据为31字节时,采用本专利技术与现有技术的拷贝方式对比图;
[0024]图3为多个不同字节的待拷贝数据,采用本专利技术方法与现有技术的效果对比图;
[0025]图4为与图3对应的运行日志结果图。
具体实施方式
[0026]下面结合附图和实施例对本专利技术做进一步描述:
[0027]在数据拷贝的过程中,数据的字节长度一般分为2的整数幂次方或非2的整数幂次方,其中字节长度为非2的整数幂次方这类数据占极大多数。由于拷贝至目标内存的过程中数据不能溢出,因此现有的拷贝方法比较单一,就是对于待拷贝数据的的字节长度为非2的整数幂次方时,都是先将待拷贝数据按2
n
进行数据拷贝,然后判断剩下数据的数据字节长度是否为2的整数幂次方,若不是再按2
m
进行数据拷贝,再剩下的数据再判断是否为2的整
数幂次方,若不是再按2
p
进行数据拷贝,直至最后剩下的数据字节长度为2的整数幂次方时,整个数据才完全拷贝成功,然后在传输,最终意味着该数据的拷贝成功。整个过程将待拷贝数据分级多次拷贝,拷贝速度较低,拷贝时间较长。
[0028]如图1所示,本专利技术的数据拷贝方法,将待拷贝数据分为两部分拷贝,然后在拷贝至目标内存时,对第二部分拷贝数据的拷贝起始点进行移位处理,使得拷贝不溢出;这个拷贝过程,既保证了拷贝数据不溢出,也使得分级拷贝次数少,拷贝速度快,拷贝时间短。
[0029]具体的,本专利技术一种数据拷贝方法,包括以下步骤:
[0030](1)接收待拷贝数据的拷贝请求,待拷贝数据的字节长度为非2的整数幂次方,然后将第一拷贝区的待拷贝数据进行拷贝得到第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据拷贝方法,其特征在于,包括以下步骤:(1)接收待拷贝数据的拷贝请求,将第一拷贝区的待拷贝数据进行拷贝得到第一拷贝数据和第二拷贝数据;(2)将第一拷贝数据的拷贝起始点按字节顺序拷贝至第二拷贝区的内存中,然后将第二拷贝数据的拷贝起始点进行移位处理后,再按字节顺序拷贝至第二拷贝区的内存中;(3)第一拷贝数据和第二拷贝数据拷贝完成,则第二拷贝区完成待拷贝数据的拷贝。2.根据权利要求1所述的一种数据拷贝方法,其特征在于:所述第一拷贝数据和第二拷贝数据的字节长度均为2的整数幂次方。3.根据权利要求1所述的一种数据拷贝方法,其特征在于:所述将第一拷贝区的待拷贝数据进行拷贝得到第一拷贝数据和第二拷贝数据的具体过程为:1)获取待拷贝数据的字节长度记为L,根据字节长度L寻找最近邻的2
n
,且字节长度L≥2
n
,按从前往后的顺序将待拷贝数据中第一字节至第2
n
字节长度的数据从待拷贝数据中拷贝出来得到第一拷贝数据,n为自然数;2)对待拷贝数据中除第一拷贝数据之外的剩余数据获取其字节长度记为S,根据字节长度S寻找最近邻的2
m
,且2
m
≥字节长度S,并将2
m
与字节长度S作差得到差数w,按从前往后的顺序将待拷贝数据中第2
n
+1

w字节至第L字节长度的数据从待拷贝数据中拷贝出来得到第二拷贝数据,m为自然数。4.根据权利要求3所述的一种数据拷贝方法,其特征在于:所述将第一拷贝数据的拷贝起始点按字节顺序...

【专利技术属性】
技术研发人员:杨鸽李亦张超李超龙陈琦唐斌
申请(专利权)人:矩阵时光数字科技有限公司
类型:发明
国别省市:

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

1