数据处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:21913790 阅读:25 留言:0更新日期:2019-08-21 12:22
本发明专利技术实施例公开了一种数据处理方法、装置、设备及可读存储介质。该方法应用于主机中,主机分别与第一存储设备和第二存储设备连接,该包括:接收对第一存储设备的写操作请求或写时拷贝COW快照请求;以顺序存储的方式,将操作请求的日志信息写入预配置的日志存储空间,日志存储空间包括第二存储设备中的指定存储空间,写操作请求的日志信息包括待写入数据和待写入数据的起始存储位置,COW快照请求的日志为快照标签;返回操作请求的操作完成信息;根据日志信息的存储顺序,控制将所存储的日志信息在第一存储设备上依次进行回放,并将回放成功的日志信息从日志存储空间中删除。通过本发明专利技术实施例,能够有效提高COW快照后存储设备的写操作性能。

Data Processing Method, Device, Equipment and Readable Storage Media

【技术实现步骤摘要】
数据处理方法、装置、设备及可读存储介质
本专利技术涉及数据处理
,具体涉及一种数据处理方法、装置、设备及可读存储介质。
技术介绍
全球网络存储工业协会(StorageNetworkingIndustryAssociation,SNIA)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。Snapshot可以是其所表示的数据的一个副本,也可以是数据的一个复制品。Snapshot的一个主要用途是能够进行在线数据备份与恢复,当存储设备发生应用故障或者文件损坏时可以进行快速的数据恢复,将数据恢复某个可用的时间点的状态;另一个主要用途是为存储用户提供了另外一个数据访问通道,当原数据进行在线应用处理时,用户可以访问快照数据,还可以利用快照进行测试等工作。当前实现快照的一种主要方式是写时复制(CopyOnWrite,COW)快照。COW是在某时间点接受存储控制面的快照命令,存储数据面只需要新增快照元数据,因此,COW快照可以瞬间完成。但是COW快照之后,对磁盘的写操作需要特殊处理,对于快照后没写过的区域进行写时,需要先将该区域数据块从磁盘上拷贝到另外的区域存储,在快照元数据中记录原有数据映射记录,然后覆盖写磁盘。可见,采用COW方式实现快照,会导致快照后业务磁盘的写输入/输出(input/output,I/O)性能明显下降。
技术实现思路
本申请提供了一种数据处理方法、装置、设备及可读存储介质,能够有效改善由于COW快照所导致的写操作请求的业务性能下降的问题。第一方面,本申请提供了一种数据处理方法,方法应用于主机中,主机分别与第一存储设备和第二存储设备连接,数据处理方法包括:接收对第一存储设备的操作请求,操作请求为写操作请求或COW快照请求;以顺序存储的方式,将操作请求的日志信息写入预配置的日志存储空间,其中,日志存储空间包括第二存储设备中的指定存储空间,写操作请求的日志信息包括待写入数据、待写入数据的起始存储位置和待写入数据长度,COW快照请求的日志信息为包括快照标识ID的快照标签,起始存储位置为待写入数据在第一存储设备中的起始存储位置;返回操作请求的操作完成信息;在返回操作完成信息后,根据日志存储空间中日志信息的存储顺序,控制将日志存储空间中所存储的日志信息在第一存储设备上依次进行回放,并将回放成功的日志信息从日志存储空间中删除。本申请中,主机在接收到客户端应用程序对存储设备的写操作请求或快照请求时,首先将操作请求的日志信息进行存储,在存储成功后即可向客户端返回操作成功的响应信息,之后可以再根据所存储的日志信息通过后台执行的方式,将日志信息在存储设备上进行回放,完成相应操作请求在存储设备上的持久化。通过该方式,在对存储设备进行COW快照操作时,可以使客户端不感知快照的过程,与现有的COW快照方式相比,改善了因COW快照导致应用程序写I/O性能下降的问题,提高了COW快照后存储设备业务的写I/O性能。结合第一方面,在一种可能的实施方式中,控制将日志存储空间中所存储的日志信息在第一存储设备上依次进行回放,包括:若待回放的日志信息为写操作请求的日志信息,则根据待回放的日志信息生成写操作指令,将写操作指令发送至第一存储设备;若待回放的日志信息为快照标签,则控制对第一存储设备进行COW快照操作。结合第一方面或第一方面的上述实施方式中,在一种可能的实施方式中,日志存储空间还包括主机的内存中的指定内存空间;将操作请求的日志信息写入预配置的日志存储空间,包括:将操作请求的日志信息写入指定存储空间;在将操作请求的日志信息写入指定存储空间之后,将操作请求的日志信息写入指定内存空间;根据日志存储空间中日志信息的存储顺序,控制将日志存储空间中所存储的日志信息在第一存储设备上依次进行回放,包括:根据指定内存空间中日志信息的存储顺序,控制将指定内存空间中所存储的日志信息在第一存储设备上依次进行回放。本申请中,由于内存比第一存储设备的访问速度快,通过操作请求的日志信息存储在指定内存空间,能够有效提高日志信息读取或回放的效率,通过将操作请求信息存储在日志存储空间,则保障了在主机断电或系统崩溃等异常情况发生,导致指定内存空间中的日志信息丢失时,能够根据指定存储空间中所存储的日志信息,将所有日志信息正确的回放到第一存储设备上。结合第一方面或第一方面的上述实施方式中,在一种可能的实施方式中,若操作请求为写操作请求,接收对第一存储设备的操作请求之后,还包括:根据写操作请求的接收顺序,为写操作请求分配操作序号,写操作请求的日志信息还包括写操作请求所对应的操作序号。本申请中,主机接收到读操作请求时,若读操作请求中待读取数据的起始存储位置在日志存储空间中对应的日志信息为两个或两个以上时,可以通过所分配的写操作请求的操作序号,确定出待读取数据所对应的最新的日志信息,从而实现了能够快速的读取到正确的待读取数据。结合第一方面或第一方面的上述实施方式中,在一种可能的实施方式中,指定内存空间包括第一内存空间、第二内存空间和第三内存空间;将操作请求的日志信息写入指定内存空间,包括:若操作请求为写操作请求,则将写操作请求中的待写入数据写入第一内存空间,并生成待写入数据的位置索引;将以待写入数据的起始存储位置为键、以待写入数据的位置索引为值的键值对写入第二内存空间;将以待写入数据所对应的操作序号为键、以待写入数据的位置索引为值的键值对写入第三内存空间;若操作请求为COW快照请求,则将COW快照请求的快照标签写入到第三内存空间。本申请中,采用键值对进行数据存储时,可对所存储的数据没有统一的字段格式要求,数据的存储与读取均是以键值对作为标识进行,采用该方案,能够有效提高数据的读写效率。结合第一方面或第一方面的上述实施方式中,在一种可能的实施方式中,根据指定内存空间中日志信息的存储顺序,控制将指定内存空间中所存储的日志信息在第一存储设备上依次进行回放,包括:顺序读取第三内存空间中所存储的日志信息中的数据;若所读取的数据为键值对,则根据读取的键值对的值在第一内存空间中查找对应的待写入数据,根据读取的键值对的值在第二内存空间中查找对应的起始存储位置;根据查找到的待写入数据和起始存储位置生成写操作指令,将写操作指令发送给第一存储设备;若读取的数据为快照标签,则控制对第一存储设备进行COW快照操作。结合第一方面或第一方面的上述实施方式中,在一种可能的实施方式中,将写操作请求中的待写入数据写入第一内存空间,包括:确定第一内存空间的可用存储空间是否大于设定值;若第一内存空间的可用存储空间大于设定值,则将写操作请求中的待写入数据写入第一内存空间;若第一内存空间的可用存储空间不大于设定值,则获取待写入数据在指定存储空间中的存储位置信息,以待写入数据在指定存储空间中的存储位置信息替代待写入数据,写入到第一内存空间;根据读取的键值对的值在第二内存空间中查找对应的待写入数据,包括:若根据读取的键值对的值在第二内存空间中查找到的为存储位置信息,则根据查找到的存储位置信息在指定存储空间中读取对应的待写入数据。本申请中,由于内存的存储空间相对较小,在第一内存空间的可用存储空间不大于设定值时,可以将待写入数据在指定存储本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,所述方法应用于主机中,所述主机分别与第一存储设备和第二存储设备连接,所述方法包括:接收对所述第一存储设备的操作请求,所述操作请求为写操作请求或写时拷贝COW快照请求;以顺序存储的方式,将所述操作请求的日志信息写入预配置的日志存储空间,其中,所述日志存储空间包括所述第二存储设备中的指定存储空间,写操作请求的日志信息包括待写入数据、待写入数据的起始存储位置和待写入数据长度,COW快照请求的日志信息为包括快照标识ID的快照标签,起始存储位置为待写入数据在所述第一存储设备中的起始存储位置;返回所述操作请求的操作完成信息;在返回所述操作完成信息后,根据所述日志存储空间中日志信息的存储顺序,控制将所述日志存储空间中所存储的日志信息在所述第一存储设备上依次进行回放,并将回放成功的日志信息从所述日志存储空间中删除。

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法应用于主机中,所述主机分别与第一存储设备和第二存储设备连接,所述方法包括:接收对所述第一存储设备的操作请求,所述操作请求为写操作请求或写时拷贝COW快照请求;以顺序存储的方式,将所述操作请求的日志信息写入预配置的日志存储空间,其中,所述日志存储空间包括所述第二存储设备中的指定存储空间,写操作请求的日志信息包括待写入数据、待写入数据的起始存储位置和待写入数据长度,COW快照请求的日志信息为包括快照标识ID的快照标签,起始存储位置为待写入数据在所述第一存储设备中的起始存储位置;返回所述操作请求的操作完成信息;在返回所述操作完成信息后,根据所述日志存储空间中日志信息的存储顺序,控制将所述日志存储空间中所存储的日志信息在所述第一存储设备上依次进行回放,并将回放成功的日志信息从所述日志存储空间中删除。2.根据权利要求1所述的方法,其特征在于,所述控制将所述日志存储空间中所存储的日志信息在所述第一存储设备上依次进行回放,包括:若待回放的日志信息为写操作请求的日志信息,则根据待回放的日志信息生成写操作指令,将写操作指令发送至所述第一存储设备;若待回放的日志信息为快照标签,则控制对所述第一存储设备进行COW快照操作。3.根据权利要求1或2所述的方法,其特征在于,所述日志存储空间还包括所述主机的内存中的指定内存空间;所述将所述操作请求的日志信息写入预配置的日志存储空间,包括:将所述操作请求的日志信息写入所述指定存储空间;在将所述操作请求的日志信息写入所述指定存储空间之后,将所述操作请求的日志信息写入所述指定内存空间;所述根据所述日志存储空间中日志信息的存储顺序,控制将所述日志存储空间中所存储的日志信息在所述第一存储设备上依次进行回放,包括:根据所述指定内存空间中日志信息的存储顺序,控制将所述指定内存空间中所存储的日志信息在所述第一存储设备上依次进行回放。4.根据权利要求3所述的方法,其特征在于,若所述操作请求为写操作请求,所述接收对所述第一存储设备的操作请求之后,还包括:根据写操作请求的接收顺序,为写操作请求分配操作序号,写操作请求的日志信息还包括写操作请求所对应的操作序号。5.根据权利要求4所述的方法,其特征在于,所述指定内存空间包括第一内存空间、第二内存空间和第三内存空间;所述将所述操作请求的日志信息写入所述指定内存空间,包括:若所述操作请求为写操作请求,则将写操作请求中的待写入数据写入所述第一内存空间,并生成待写入数据的位置索引;将以待写入数据的起始存储位置为键、以待写入数据的位置索引为值的键值对写入所述第二内存空间;将以待写入数据所对应的操作序号为键、以待写入数据的位置索引为值的键值对写入所述第三内存空间;若所述操作请求为COW快照请求,则将COW快照请求的快照标签写入到所述第三内存空间。6.根据权利要求5所述的方法,其特征在于,所述根据所述指定内存空间中日志信息的存储顺序,控制将所述指定内存空间中所存储的日志信息在所述第一存储设备上依次进行回放,包括:顺序读取所述第三内存空间中所存储的日志信息中的数据;若所读取的数据为键值对,则根据读取的键值对的值在所述第一内存空间中查找对应的待写入数据,根据读取的键值对的值在所述第二内存空间中查找对应的起始存储位置;根据查找到的待写入数据和起始存储位置生成写操作指令,将写操作指令发送给所述第一存储设备;若读取的数据为快照标签,则控制对所述第一存储设备进行COW快照操作。7.根据权利要求5所述的方法,其特征在于,所述将写操作请求中的待写入数据写入所述第一内存空间,包括:确定所述第一内存空间的可用存储空间是否大于设定值;若所述第一内存空间的可用存储空间大于所述设定值,则将写操作请求中的待写入数据写入所述第一内存空间;若所述第一内存空间的可用存储空间不大于所述设定值,则获取待写入数据在所述指定存储空间中的存储位置信息,以待写入数据在所述指定存储空间中的存储位置信息替代待写入数据,写入到所述第一内存空间;所述根据读取的键值对的值在所述第二内存空间中查找对应的待写入数据,包括:若根据读取的键值对的值在所述第二内存空间中查找到的为存储位置信息,则根据查找到的存储位置信息在所述指定存储空间中读取对应的待写入数据。8.根据权利要求5所述的方法,其特征在于,所述将写操作请求中的待写入数据写入所述第一内存空间,包括:若所述第一内存空间的可用存储空间大于所述设定值,确定写操作请求是否符合预设的存储筛选条件;若写操作请求符合所述存储筛选条件,则将写操作请求的待写入数据写入所述第一内存空间;若写操作请求不符合所述存储筛选条件,则获取待写入数据在所述指定存储空间中的存储位置信息,以待写入数据在所述指定存储空间中的存储位置信息替代待写入数据,写入到所述第一内存空间。9.根据权利要求1至8中任一项所述的方法,其特征在于,若所述操作请求为写操作请求,所述将所述操作请求的日志信息写入预配置的日志存储空间之后,所述方法还包括:通过布隆过滤器记录写操作请求中的起始存储位置的位置标识为第一标识,第一标识用于标识起始存储位置所对应的最新数据存储于所述日志存储空间中;若待回放的日志信息为写操作请求的日志信息,则控制将写操作请求的日志信息在所述第一存储设备上进行回放之后,还包括:通过所述布隆过滤器更新所回放的日志信息中的起始存储位置的位置标识为第二标识,所述第二标识用于标识起始存储位置所对应的最新数据存储在所述第一存储设备中。10.根据权利要求9所述的方法,其特征在于,所述布隆过滤器设置在所述主机中或者设置在所述第一存储设备中。11.根据权利要求9所述的方法,其特征在于,所述方法还包括:接收客户端对所述第一存储设备的读操作请求,所述读操作请求包括待读取数据的起始存储位置和所述待读取数据的第一数据长度;通过所述布隆过滤器确定所述待读取数据的起始存储位置的位置标识;若所述待读取数据的起始存储位置的位置标识为第一标识,则根据所述读操作请求在所述日志存储空间中读取所述待读取数据;若所述待读取数据的起始存储位置的位置标识为第二标识,则根据所述读操作请求在所述第一存储设备中读取所述待读取数据。12.根据权利要求11所述的方法,其特征在于,若所述日志存储空间还包括所述指定内存空间,所述根据所述读操作请求在所述日志存储空间中读取所述待读取数据,包括:根据所述待读取数据的起始存储位置在所述指定内存空间中读取对应的待写入数据。13.根据权利要求11或12所述的方法,其特征在于,所述根据所述读操作请求在所述日志存储空间中读取所述待读取数据,包括:根据所述待读取数据的起始存储位置在所述日志存储空间中查找对应的日志信息;确定查找到的日志信息中的待写入数据的第二数据长度;若所述第二数据长度不小于所述第一数据长度,则从查找到的日志信息中的待写入数据中顺序读取长度等于所述第一数据长度的所述待读取数据;若所述第二数据长度小于所述第一数据长度,则读取查找到的日志信息中的待写入数据,并生成新的读操作请求,将所述新的读操作请求发送至所述第一存储设备,接收所述第一存储设备返回的数据,将所述第一存储设备返回的数据与查找到的待写入数据拼接,得到所述待读取数据;其中,所述新的读操作请求包括新的起始存储位置和新的数据长度,所述新的起始存储位置为所述待读取数据的起始位置与所述第二数据长度之和,所述新的数据长度为所述第一数据长度与所述第二数据长度之差。14.根据权利要求13中任一项所述的方法,其特征在于,写操作请求的日志信息还包括写操作请求所对应的操作序号;若所述待读取数据的起始存储位置在所述日志存储空间中对应的日志信息为至少两条,所述方法还包括:将所述至少两条日志信息中操作序号最大的日志信息确定为所述待读取数据的起始存储位置在所述日志存储空间中对应的日志信息。15.一种数据处理装置,其特征在于,所述装置设置在主机中,所述主机分别与第一存储设备和第二存储设备连接,所述装置包括:操作请求接收模块,用于接收对所述第一存储设备的操作请求,所述操作请求为写操作请求或写时拷贝COW快照请求;操作日志存储模块,用于以顺序存储的方式,将所述操作请求的日志信息写入预配置的日志存储空间,其中,所述日志存储空间包括所述第二存储设备中的指定存储空间,写操作请求的日志...

【专利技术属性】
技术研发人员:吴晶
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1