数据读写方法及数据读写装置的制造方法_3

文档序号:8922586阅读:来源:国知局
求23对应的业务迁移状态为迁移中,如与在线业务请求23相关的所有迁移数据均为未迁移的数据,则该在线业务请求23对应的业务迁移状态为迁移前,如与在线业务请求23相关的所有迁移数据均为已迁移的数据,则该在线业务请求23对应的业务迁移状态为迁移后。然后迁移状态获取模块21将在线业务请求23对应的业务迁移状态发送至读写操作模块22。随后转到步骤S303。
[0074]在步骤S303中,如在线业务请求23的业务操作类型为写操作,则读写操作模块22对与在线业务请求23相关的迁移前状态的迁移数据在第一存储系统25进行写操作,对与在线业务请求23相关的迁移中状态的迁移数据在第二存储系统26进行写操作,对与在线业务请求23相关的迁移后状态的迁移数据在第二存储系统26进行写操作。
[0075]由于迁移前状态的迁移数据会在后续操作中迁移至第二存储系统26中,因此在第一存储系统25中进行写操作不会影响将来第二存储系统26中的迁移数据的准确性。对迁移中状态的迁移数据在第二存储系统26进行写操作,由于写操作数据与迁移操作的数据均在第二存储系统26上,不会影响到正在进行中的迁移操作,只需要设定迁移操作不能修改写操作已经操作过的数据。对迁移后状态的迁移数据,当然是直接在第二存储系统26中进行写操作的效率最高。
[0076]如在线业务请求23的业务操作类型为删除操作,则读写操作模块22对与在线业务请求23相关的迁移前状态的迁移数据在第一存储系统25进行删除操作,对与在线业务请求23相关的迁移中状态的迁移数据在第二存储系统26进行删除标记写操作,对与在线业务请求23相关的迁移后状态的迁移数据在第二存储系统26进行删除操作。
[0077]由于迁移前状态的迁移数据会在后续操作中迁移至第二存储系统26中,因此在第一存储系统25中进行删除操作不会影响将来第二存储系统26中迁移数据的准确性。对迁移中状态的迁移数据在第二存储系统26进行写入删除标记操作,由于删除标记与迁移操作的数据均在第二存储系统26上,不会影响到正在进行中的迁移操作,但需要设定读写操作模块22对删除标记对应的迁移数据不会进行其他的修改业务操作(如写操作以及删除操作,应允许读操作)。即进行业务操作时会判断该迁移数据是不存在还是被业务操作标记了删除标记,如为标记了删除标记,则读写操作模块22直接返回数据不存在,否则读写操作模块22正常进行相应的业务操作。对迁移后状态的迁移数据,当然是直接在第二存储系统26中进行删除操作的效率最高。
[0078]优选的,当数据迁移全部完成后,可通过该标记删除模块将删除标记全部删除(如内部滚动数据过滤的方法),以保证第二存储系统26中数据的准确性。
[0079]如在线业务请求23的业务操作类型为读操作,则读写操作模块22对与在线业务请求23相关的迁移前状态的迁移数据在第一存储系统25进行读操作;对与在线业务请求23相关的迁移中状态的迁移数据依次在第二存储系统26和第一存储系统25进行读操作;对与在线业务请求23相关的迁移后状态的迁移数据在第二存储系统26进行读操作。
[0080]迁移前状态的迁移数据在第一存储系统25中进行读操作,迁移后状态的迁移数据在第二存储系统26中进行读操作可保证读取数据的准确性。对迁移中状态的迁移数据则首先在第二存储系统26进行读操作,如该迁移数据已经迁移至第二存储系统26,则该读操作成功,读写操作模块22可继续进行其他业务操作;如该迁移数据还未迁移至第二存储系统26,则该读操作失败,读写操作模块22会继续在第一存储系统25继续进行读操作,以读取到该迁移中状态的迁移数据。
[0081]这样即完成了本优选实施例的数据读写方法的数据读写过程。
[0082]本优选实施例的数据读写方法针对在线业务请求的业务操作类型和业务迁移状态在线进行相应的数据处理,保证了数据处理的准确性以及实时性。
[0083]请参照图4,图4为本发明的数据读写装置的第二优选实施例的结构示意图。本优选实施例的数据读写装置40可设置在上述的电子设备112中,用于在将迁移数据从第一存储系统45迁移至第二存储系统46的过程中,对迁移数据进行读写操作。本优选实施例的数据读写装置40包括接收模块410、迁移状态获取模块41、读写操作模块42、分类模块47、任务组生成模块48以及迁移模块49。接收模块410,用于在将迁移数据从第一存储系统迁移到第二存储系统的过程中,接收在线业务请求;迁移状态获取模块41用于获取在线业务请求的业务迁移状态;读写操作模块42用于根据在线业务请求43的业务操作类型以及在线业务请求43对应的业务迁移状态,对与在线业务请求43相关的迁移数据进行读写操作。分类模块47用于将第一存储系统45和第二存储系统46以硬盘为单位进行分类,得到第一存储系统45的数据单元以及第二存储系统46的数据单元;任务组生成模块48用于根据并发任务数量、第一存储系统45的数据单元以及第二存储系统46的数据单元,生成迁移调度平台44中的数据迁移任务组441 (即全部迁移数据中的迁移中数据);迁移模块49用于根据数据迁移任务组441,将迁移数据从第一存储系统45迁移到第二存储系统46。
[0084]请参照图5,图5为本发明的数据读写装置的第二优选实施例的任务组生成模块的具体结构示意图。该任务组生成模块48包括均衡任务获取单元482、任务组生成单元483以及任务删除单元481。均衡任务获取单元482用于根据所有空闲的任务、所有空闲的第一存储系统45的数据单元以及所有空闲的第二存储系统46的数据单元,获取空闲的任务中的均衡任务;任务组生成单元483用于将均衡任务从空闲的任务中去除,并将均衡任务加入数据迁移任务组441。任务删除单元481用于将已经完成的任务从数据迁移任务组441中删除。
[0085]请参照图6,图6为本发明的数据读写装置的第二优选实施例的均衡任务获取单元的具体结构示意图。该均衡任务获取单元482包括最大入度数据单元设定子单元4821、最大出度数据单元获取子单元4822以及均衡任务设定子单元4823。最大入度数据单元设定子单元4821用于设定对应空闲的任务的数量最多的空闲的第二存储系统46的数据单元为最大入度数据单元;最大出度数据单元获取子单元4822用于根据最大入度数据单元对应的所有的空闲的任务,获取空闲的第一存储系统45的最大出度数据单元,其中最大出度数据单元对应最大入度数据单元具有最大空闲的任务的数量;均衡任务设定子单元4823用于将同时对应最大入度数据单元与最大出度数据单元的任一空闲的任务设定为均衡任务。
[0086]本优选实施例的数据读写装置40的接收模块410、迁移状态获取模块41和读写操作模块42的工作原理与上述的数据读写装置20的第一优选实施例中的描述相同,具体请参见上述数据读写装置20的第一优选实施例中的描述。
[0087]本优选实施例的数据读写装置40还包括迁移调度平台44、分类模块47、任务组生成模块48以及迁移模块49,以提高迁移数据从第一存储系统45迁移到第二存储系统46的迁移速度。
[0088]本优选实施例的数据读写装置40进行数据迁移时,首先分类模块47将第一存储系统45和第二存储系统46以硬盘为单位进行分类,得到第一存储系统45的数据单元以及第二存储系统46的数据单元,即将第一存储系统45和第二存储系统46中的硬盘作为迁移的基本单元,具体的迁移任务一定落在某个第一存储系统45的数据单元和某个第二存储系统46的数据单元上。
[0089]随后任务组生成模块48根据预设的并发任务数量、第一存储系统45的数据单元以及第二存储系统46的数据单元,生成迁移调度平台44中的数据迁移任务组441。
[0090]具体为首先任务组生成模块48的任务删除单元481将已经完成的任务从数据迁移任务组441中删除,如数据迁移任务组441中没有任务则自动跳过该步骤(一旦有任务完成,即触发该任务删除单元481将该任务删除)。随后任务组生成模块48的均衡任务获取单元482根据所有空闲的任务、所有空闲的第一存储系统45的数据单元以及所有空闲的第二存储系统46的数据单元,获取空闲的任务中的均衡任务。其中空闲的任务是指还未进行的数据迁移任务,空闲的第一存储系统45的数据单元为未进行数据迁移的第一存储系统45的数据单元,空闲的第二存储系统46的数据单元为未进行数据迁移的第二存储系统46的数据单元。已完成自身数据迁移的第一存储系统45的数据单元不属于空闲的第一存储系统45的数据单元,已完成自身数据迁移的第二存储系统46的数据单元也不属于第二存储系统46的数据单元。具体如何获取均衡任务在下面有详细描述。然后任务组生成模块48的任务组生成单元483将均衡任务从空闲的任务中去除,并将均衡任务加入到数据迁移任务组441中。
[0091]之后均衡任务获取单元482继续获取均衡任务,任务组生成单元483继续将其他的均衡任务加入到数据迁移任务组441中,直至数据迁移任务组441中的任务数量达到预设的并发任务数量。
[0092]由于第二存储系统46和第一存储系统45上的硬盘(即数据单元)提供固定的读写能力,如果同时在同一数据单元上进行多个迁移任务,会使得迁移速度受限,数据单元上存在局部热点。因此为了保证迁移任务进行的效率,数据迁移任务组441中的任一任务对应的第一存储系统45的数据单元均不同,数据迁移任务组441中的任一任务对应的第二存储系统46的数据单元也均不同,这样当空闲的第一存储系统45的数据单元的数量为零(即所有的第一存储系统45的数据单元均在迁移数据)或空闲的第二存储系统46的数据单元的数量为零(即所有的第二存储系统46的数据单元均在迁移数据)时,任务组生成单元483也停止将任务加入到数据迁移任务组441中,以保证迁移任务的高效进行。因此数据迁移任务组441中的迁移任务一直处于动态变化中,完成的任务会被移出数据迁移任务组441,同时新的任务又会及时地移入数据迁移任务组441。
[0093]最后迁移模块49并行执行数据迁移任务组441中的所有任务,将迁移数据从第一存储系统45迁移至第二存储系统46。
[0094]下面详细说明均衡任务获取单元482如何获取均衡任务。其中均衡任务获取单元482包括最大入度数据单元设定子单元4821、最大出度数据单元设定子单元4822以及均衡任务设定子单元4823。最大入度数据单元设定子单元4821用于设定对应空闲的任务的数量最多的空闲的第二存储系统46的数据单元为最大入度数据单元;最大出度数据单元获取子单元4822用于根据最大入度数据单元对应的所有的空闲的任务,获取空闲的第一存储系统45的最大出度数据单元,其中对应最大入度数据单元的最大出度数据单元具有最大空闲的任务的数量。均衡任务设定子单元4823用于将同时对应最大入度
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1