镜像过程处理方法和装置的制造方法

文档序号:9417304阅读:376来源:国知局
镜像过程处理方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机应用领域,尤其涉及一种镜像过程处理方法和装置。
【背景技术】
[0002]随着计算机技术的快速发展,数字化信息已经逐步取代纸媒数据,呈现日均指数级增长。海量数据催生了云计算、大数据和海量存储系统的发展,对存储设备和存储应用的需求也越来越高。政府行业、银行系统、电力企业等对数据的安全性和业务连续性有着较高的要求,必须提供在线的数据保护。其中常用的方法为在块设备下发1时将此1数据镜像到其他存储介质中,实现数据的实时保护。
[0003]块设备的1dnputOutput,输入输出)类型主要分为读和写两类,1镜像处理能力远低于CPU处理能力,因此在1镜像时对同一地址进行读写时就会产生冲突。用户有可能在同一时间对同一逻辑块进行读写操作,此时默认只能进行一个操作,只有当前的操作进行完成后,才能够进行后续的操作,否则会导致对同一逻辑块的1混乱,即后写的数据先落盘,导致某一时刻的数据不一致。另外如果采用对每个1都要等上一个1完成后再进行处理,对于不同逻辑块的1操作又会降低读写效率。

【发明内容】

[0004]本发明提供了一种镜像过程处理方法和装置,解决了
[0005]本发明提供了一种镜像过程处理方法,包括:
[0006]优选的,根据接收到1请求的前后次序将1请求所请求操作的1数据排列到主1队列中具体为:
[0007]将新接收到的1请求对应的1数据添加到所述主1队列的末尾。
[0008]优选的,在依据所述主1队列对1请求依次进行处理时,按照先进先出原则对所述主1队列中的1请求进行处理。
[0009]优选的,根据接收到1请求的前后次序将1请求所请求操作的1数据排列到主1队列中的步骤之前还包括:
[0010]在拷贝1数据之前,将所述1数据添加到pending队列中。
[0011]优选的,所述依据所述主1队列对1请求依次进行处理包括:
[0012]从所述主1队列中取出一个待拷贝1数据作为第一 1数据;
[0013]针对所述第一 1数据,对所述pending队列进行遍历;
[0014]对所述pending队列中目的地址与所述第一 1数据相同的一个或多个第二 1数据暂停提交操作;
[0015]在所述第一 1数据拷贝完成后,将所述第二 1数据自所述pending队列中取出并加入所述主1队列末尾。
[0016]本发明还提供了一种镜像过程处理装置,包括:
[0017]请求接收模块,用于接收1请求;
[0018]管理模块,用于根据接收到1请求的前后次序将1请求所请求操作的1数据排列到主1队列中;
[0019]数据处理模块,用于依据所述主1队列对1数据依次进行处理。
[0020]优选的,所述管理模块还用于在拷贝1数据之前,将所述1数据添加到pending队列中。
[0021]优选的,所述管理模块包括:
[0022]主队列管理单元,用于从所述主1队列中取出一个待拷贝1数据作为第一 1数据,将第二 1数据自所述pending队列中取出并加入所述主1队列末尾;
[0023]pending队列管理单元,用于针对所述第一 1数据,对所述pending队列进行遍历,对所述pending队列中目的地址与所述第一 1数据相同的一个或多个第二 1数据暂停提交操作,在所述第一 1数据拷贝完成后,将所述第二 1数据自所述pending队列中取出。
[0024]本发明提供了一种镜像过程处理方法和装置,接收1请求,在拷贝1数据之前,将所述1数据添加到pending队列中,根据接收到1请求的前后次序将1请求所请求操作的1数据排列到主1队列中,依据所述主1队列对1数据依次进行处理。实现了高效可靠的1操作,解决了读写操作产生1混乱导致数据不一致的问题。
【附图说明】
[0025]图1为本发明的实施例一中主1队列入队流程的示意图;
[0026]图2为本发明的实施例一中后台1处理工作队列的流程示意图;
[0027]图3为本发明的实施例一中拷贝完成后1处理的流程图;
[0028]图4为本发明的实施例二提供的一种镜像过程处理方法的流程图;
[0029]图5为本发明的实施例三提供的一种镜像过程处理装置的结构示意图。
【具体实施方式】
[0030]1镜像处理能力远低于CPU处理能力,因此在1镜像时对同一地址进行读写时就会产生冲突。用户有可能在同一时间对同一逻辑块进行读写操作,此时默认只能进行一个操作,只有当前的操作进行完成后,才能够进行后续的操作,否则会导致对同一逻辑块的1混乱,即后写的数据先落盘,导致某一时刻的数据不一致。另外如果采用对每个1都要等上一个1完成后再进行处理,对于不同逻辑块的1操作又会降低读写效率。
[0031]为了解决上述问题,本发明的实施例提供了一种镜像过程处理方法和装置。下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
[0032]需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0033]通常在1处理过程中,传统的数据冲突方法为使用任务队列和加锁,但这种处理方式牺牲了 1处理的效率。本发明中,采用主1队列与pending 1队列的方式,提高了1处理效率,也保证了数据处理的正确性。
[0034]本发明的实施例中涉及的镜像系统,每个镜像关系包括拷贝的源卷和镜像卷,源卷和镜像卷的大小相同。
[0035]本发明的实施例中,将源卷与镜像卷逻辑上划分为大小相同的数据块。
[0036]首先结合附图,对本发明的实施例一进行说明。
[0037]当镜像1时,根据1读写的起始位置和终止位置,将1内容对齐到数据块。数据块的范围从起始位置所在的数据块到终止位置所在的数据块
[0038]如图1所示,此为主1队列入队操作,此步骤没有其他操作以保证下发的1能够及时入队。
[0039]当镜像系统收到1时,将1直接添加到主1队列中,唤醒工作队列处理主1队列上的10。
[0040]图2是工作队列处理1的流程图,工作队列被唤醒之后需要从主队列中取出10,首先遍历pending队列,查找是否有等待1操作的逻辑块与所处理的1逻辑块相同,如果找到则直接将取出的1入队到pending队列上即可;如果未找到,则判断此1是否拷贝过,如果拷贝过则直接提交此10,如果未拷贝过则将此1入队到pending队列中,然后执行镜像操作。
[0041]图3为镜像操作后的1处理流程图,遍历pending队列,对于操作相同逻辑块的1进行出队操作,并将1重新入队到主队列中。
[0042]工作队列从主1队列中出队10,将1操作的逻辑块与pending队列上的每个1要操作的逻辑块进行对比,如果存在对同一逻辑块的操作,则将出队1入队到pending队列中;如果不存在对同一个逻辑块的操作,则判断此1是否已经拷贝过,如果拷贝过则直接提交此10,如果未拷贝过则将此1入队pending队列中,然后进行拷贝操作。
[0043]本发明实施
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1