存储快照创建方法和装置的制作方法

文档序号:6399055阅读:177来源:国知局
专利名称:存储快照创建方法和装置的制作方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种存储快照创建方法和装置。
背景技术
存储设备发生应用故障或者文件损坏时,使用快照可以及时进行数据恢复,将数据恢复成快照产生时间点时的状态。现有的快照并不能保证存储快照与应用时刻数据的一致性,如数据库有一个交易,最优的应该是发生交易的时刻做快照,而现有技术中的快照一般定时或手工控制创建,无法满足数据库交易不定时发生和实时数据存储的需要。这样,如果需要进行数据恢复,也无法得到数据库交易时刻的数据。此外,在前端有读写操作时,有一部分数据还在前端缓存中,此部分数据也无法加入快照,影响了快照存储数据与实时数据的一致性。

发明内容
本发明提供了一种存储快照创建方法和装置,解决了快照数据与实时数据不一致的问题。一种存储快照创建方法,包括:将缓存中的数据刷写入磁盘;在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建。优选的,所述将缓存中的数据刷写入磁盘的步骤之前,还包括:服务器识别数据库事务;在识别到某一应用时刻的数据库事件时,触发客户端的缓存数据刷写操作,将该数据库事件的客户端的数据写入磁盘缓存。优选的,所述服务器识别数据库事务具体为:所述服务器与数据库智能联动,识别数据库的操作,每个对数据库的操作即对应一个数据库事务。优选的,所述触发客户端的缓存数据刷写操作具体为:服务器向客户端发送缓存数据刷写的指令。本发明还提供了一种存储快照创建装置,包括:刷写模块,用于将缓存中的数据刷写入磁盘;快照创建模块,用于在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建。优选的,上述存储快照创建装置还包括:监测模块,用于识别数据库事务;刷写触发模块,用于在识别到某一应用时刻的数据库事件时,触发客户端的缓存数据刷写操作,将该数据库事件的客户端的数据写入磁盘缓存。本发明提供了一种存储快照创建方法和装置,将缓存中的数据刷写入磁盘,在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建,在数据写入磁盘后实时创建快照,实现了保证数据一致性的快照创建机制,解决了快照数据与实时数据不一致的问题。


图1是本发明的实施例一提供的一种存储快照创建方法的流程图;图2是本发明的实施例二提供的一种存储快照创建装置的结构示意图;图3是本发明的实施例三提供的一种存储快照创建装置的结构示意图。
具体实施例方式现有的快照并不能保证存储快照与应用时刻数据的一致性,如数据库有一个交易,最优的应该是发生交易的时刻做快照,而现有技术中的快照一般定时或手工控制创建,无法满足数据库交易不定时发生和实时数据存储的需要。这样,如果需要进行数据恢复,也无法得到数据库交易时刻的数据。此外,在前端有读写操作时,有一部分数据还在前端缓存中,此部分数据也无法加入快照,影响了快照存储数据与实时数据的一致性。为了解决上述问题,本发明的实施例提供了一种存储快照创建方法和装置。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。首先结合附图,对本发明的实施例一进行说明。本发明实施例提供了一种存储快照创建方法,使用该方法完成存储快照创建的流程如图1所示,包括:步骤101、服务器识别数据库事务;本步骤中,服务器上可装载有应用感知代理程序,以保证数据的完整性。服务器与数据库智能联动,对数据库事务进行感知,具体的,可检测对数据库的操作,以确保能正确识别到某一个应用时刻(应用时刻是指具体的一个事务点的发生时间)的数据事务。步骤102、在识别到某一应用时刻的数据库事件时,触发客户端的缓存数据刷写操作,将该数据库事件的客户端的数据写入磁盘缓存;本步骤中,当服务器检测到数据库事件时,服务器向客户端发送一个指令,指示将该数据库事件的客户端的数据写入磁盘缓存。步骤103、将缓存中的数据刷写入磁盘;本步骤中,将缓存中的数据刷写到磁盘,避免快照创建时缺乏对缓存数据的保护。通常数据在写入磁盘时,先将数据写入缓存中,再在后来某个时刻异步写入磁盘。步骤104、在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建。下面结合附图,对本发明的实施例二进行说明。本发明实施例提供了一种存储快照创建装置,其结构如图2所示,包括:刷写模块201,用于将缓存中的数据刷写入磁盘;快照创建模块202,用于在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建。优选的,所述存储快照创建装置还包括:
监测模块203,用于识别数据库事务;刷写触发模块204,用于在识别到某一应用时刻的数据库事件时,触发客户端的缓存数据刷写操作,将该数据库事件的客户端的数据写入磁盘缓存。上述存储快照创建装置可集成于服务器中,由服务器完成相应功能。下面结合附图,对本发明的实施例三进行说明。本发明实施例提供了一种存储快照创建装置,其结构如图3所示,包括:应用感知模块301,与数据库应用智能联动,对事务进行感知,以确保能正确识别到某一个应用时刻的数据库事务。缓存刷新程序模块302,通常对数据的写会采用延迟写,写数据时首先将数据写入缓存中,刷新程序模块触发缓存写入后端磁盘操作,将数据写入后端磁盘。快照创建模块303,在缓存数据写入磁盘后,进行创建快照。所述应用感知模块301,与数据库应用相连,用以感知数据库事务操作,可以确保回到应用的某一时刻。所述缓存刷新程序模块302,与所述应用感知模块301相连,用于处理将缓存中的数据刷写到后端磁盘。所述快照创建模块303,用于在缓存中的数据刷写到后端后,创建快照。本发明的实施例提供了一种存储快照创建方法和装置,将缓存中的数据刷写入磁盘,在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建,在数据写入磁盘后实时创建快照,实现了保证数据一致性的快照创建机制,解决了快照数据与实时数据不一致的问题。本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之
一或其组合。可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
1.一种存储快照创建方法,其特征在于,包括: 将缓存中的数据刷写入磁盘; 在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建。
2.根据权利要求1所述的存储快照创建方法,其特征在于,所述将缓存中的数据刷写入磁盘的步骤之前,还包括: 服务器识别数据库事务; 在识别到某一应用时刻的数据库事件时,触发客户端的缓存数据刷写操作,将该数据库事件的客户端的数据写入磁盘缓存。
3.根据权利要求2所述的存储快照创建方法,其特征在于,所述服务器识别数据库事务具体为: 所述服务器与数据库智能联动,识别数据库的操作,每个对数据库的操作即对应一个数据库事务。
4.根据权利要求2所述的存储快照创建方法,其特征在于,所述触发客户端的缓存数据刷写操作具体为: 服务器向客户端发送缓存数据刷写的指令。
5.一种存储快照创建装置,其特征在于,包括: 刷写模块,用于将缓存中的数据刷写入磁盘; 快照创建模块,用于在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建。
6.根据权利要求5所述的存储快照创建装置,其特征在于,该装置还包括: 监测模块,用于识别数据库事务; 刷写触发模块,用于在识别到某一应用时刻的数据库事件时,触发客户端的缓存数据刷写操作,将该数据库事件的客户端的数据写入磁盘缓存。
全文摘要
本发明提供了一种存储快照创建方法和装置。涉及计算机应用领域;解决了快照数据与实时数据不一致的问题。该方法包括将缓存中的数据刷写入磁盘;在数据刷写入磁盘完成后,对刷写至所述磁盘的数据进行快照创建。本发明提供的技术方案适用于存储设备数据恢复,实现了保证数据一致性的快照创建机制。
文档编号G06F11/14GK103150232SQ20131004281
公开日2013年6月12日 申请日期2013年2月1日 优先权日2013年2月1日
发明者吕烁 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1