用于对数据安全存档的方法和系统的制作方法_3

文档序号:8339919阅读:来源:国知局
储存档数据。目标数据库135可以是加速器服务器系 统(未示出)的一部分。例如,加速器服务器系统可以由IBM Netezza系统实现,其与IBM DB2集成以用于z/OS并且用作IBM DB2分析加速器(IDAA)。在用至少只读方式访问存档 数据时,加速器服务器系统可以提供优异的查询性能。可以例如经由SQL直接查询存储在 目标数据库135中的数据。
[0094] 源数据库127可以是计算机系统101的内部资源,而目标数据库135可以是计算 机系统101的外部和/或独立资源。
[0095] 存储器系统105被配置用于存储在处理器103上可执行的应用。例如,存储器系 统105可以包括操作系统以及应用程序。例如,应用程序包括备份模块129、存档模块131 和删除模块133。
[0096] 备份模块129使用存储设备111作为备份存储设备。存储设备111可以是计算机 系统101的内部或外部资源,或两者的组合。备份模块129可以使用任何数目的本地和/ 或外部存储设备以用于存储备份数据。
[0097] 存档模块131可以使用例如高速缓存139的内容,以确定哪些存储在源数据库127 中的数据可以被存档在目标数据库135中。存档模块131可以将所述数据存档在目标数据 库135中。
[0098] 删除模块133可以从源数据库127中删除过时的和/或不频繁使用的数据。
[0099] 备份、存档和删除模块可以是所实现的数据库管理系统的一部分。
[0100] 将参照图2至图4详细描述数据库系统100的操作。
[0101] 图2是根据本公开的用于存档数据的示例性方法的流程图。图2将源数据库127 示出为包含数据表201。数据表201可以包括例如其可以用于数据库系统100上的后续操 作的操作数据。数据表201包括部分203A。
[0102] 为了描述简单起见,仅描述了一个简单的表和该表的单个部分;然而,本领域技术 人员将容易理解,本方法可推广到不止一个表和每个表的不止一个部分。
[0103] 表的部分203A可以包括过时的数据和/或不频繁使用的数据。表的部分203A 可以由数据库系统100的用户来定义,该用户希望将表的部分203A存档到目标数据库135 中。为此,计算机系统101可以例如经由I/O接口 115从用户接收对表的部分203A的选 择。备选地,通过使用例如访问(由单个或多个用户)表的部分203A的频率和/或表的部 分203A的最后修改日期,计算机系统101可自动选择表的部分203A。例如,如果访问表的 部分203A的频率低于预定义阈值,则计算机系统101可以做出对表的部分203A存档的决 定。
[0104] 在步骤211中,备份模块129可以创建表的部分203A的第一备份副本203B。第 一备份副本203B可以被存储在存储设备111中。存储设备111可以包括具有不同性能特 性的多个存储层。性能特性可以是例如I/O响应时间和/或I/O吞吐量和/或它们的组 合。基于存储层的性能特性,存储层可以被分级或分类。例如,第一级存储层可以具有最低 的I/O响应时间。在第一时间段(例如,在创建第一备份副本203B之后的一周)期间,第 一备份副本203B可以被存储在第一级存储层中。在跟随第一时间段之后的第二时间段期 间,第一备份副本203B可以被存储在第二级存储层中。这可以是有利的,因为第一备份副 本203B可能在第一时间段期间比在第二时间段中被更频繁地使用,并且因此,在第一时间 段期间可能需要更好性能的存储层。备选地,可以用较慢的硬盘存储来实现存储设备111。 这可以是有利的,因为它可以提供可用的较便宜的存储设备,特别是在访问第一备份副本 203B的频率小的时候。备份模块129可以包括标识算法,其中该标识算法可以向第一备份 副本203B指配第一标识符。该第一标识符可以包括第一备份副本203B的唯一名称和/或 创建第一备份副本203B的时间戳。可以对第一备份副本203B进行时间戳标记,以指定其 被存储在存储设备111中的时间顺序。
[0105] 在步骤213中,可以向表的部分203A指配访问状态标志。访问状态标志可以被存 储在源数据库127中。例如,根据本公开,这可以通过将元数据添加到存储访问状态标志的 表205来完成。元数据可以指示表的部分203A以及关联的访问状态标志的状态。例如,访 问状态标志可以是例如布尔(boolean)标志的二进制标志,并且访问状态标志的状态可以 是真状态或假状态。备选地,访问状态标志可以包括多个比特。每个比特可以被指配到访 问状态标志的状态。例如,设置多个比特的第一比特(例如,设置为值1)可以防止修改表 的部分203A的现有备份副本,并且用于防止对表的部分203A的进一步的备份操作。设置 多个比特的第二比特(例如,设置为值1)可以防止修改表的部分203A。
[0106] 其它的数据库标志可以用于控制对表的部分的访问(平行于访问状态标志)。那 些其它标志可以是"只允许实用(Utility)操作"、"只读"、"需要的实用操作"、"推荐的实用 操作"标志。在这种情况下,可以由访问状态标志保护第一备份副本203B,同时使用其它数 据库标志和访问状态标志保护表的部分20 3A。
[0107] 访问状态标志可以被集成在使用表的部分203A的受影响的数据库操作中。例如, 假如计算机系统101正在实施SQL数据库管理系统,INSERT、UPDATE或MERGE SQL语句可 以被配置用于在访问表的部分203A时考虑访问状态标志。
[0108] 在另一示例中,假如计算机系统101正在实施DB2数据库管理系统,对源数据库 127中的表的部分203A的物理表示进行操作的像REORG、COPY、RUNSTATS和RESTORE那样 的各种实用功能可以被配置用于考虑访问状态标志。例如,RUNSTATS可以在作为只读数据 的表的部分203A上工作,并且在设置了访问状态标志时,收集统计信息。在访问表的部分 203A时,REORG可能会失败,因为在设置了访问设置标志时并且在访问状态标志用于防止 修改表的部分203A时,可能不允许改变表的部分203A。同样地,将新数据加载到表的部分 203A中可能会失败。
[0109] 在步骤215中,例如通过在表205中将布尔状态设置为"真"(或者将第一比特设 置为1),可以对访问状态标志进行设置。在设置为"真"时,备份模块129可以使用访问状 态标志的状态,以用于防止修改表的部分203A的现有备份副本并且防止对表的部分203A 的进一步的备份操作。
[0110] 例如,备份模块129可以被配置用于执行步骤211至215作为原子操作。
[0111] 在步骤215之后,备份模块129可以确定(或检查)是否在设置访问状态标志之 前创建了具有第二标识符(即,具有最近的时间戳)的表的部分203A的第二备份副本。使 用第二标识算法确定第二标识符。并且,假如存在第二备份副本,则创建表的部分的第三备 份副本并且向创建的第三备份副本指配第三标识符。可以使用第一标识算法来确定第三标 识符。第一标识算法可以是全局唯一标识符(GUID)算法。第一标识算法可以使用预定义 的命名方案,以用于标识第一备份副本203B。例如,第一标识算法可以使用包含创建第一备 份副本203B的时间戳和只用于存档数据的唯一前缀的名称来标识第一备份副本203B。所 述预定义的命名方案可以用于标识第三备份副本。这可以防止其可以与第一备份副本不同 的第二备份副本的无意使用(例如,通过使用不同标识算法)。
[0112] 在步骤217中,存档模块131可以将表的部分203A存档到目标数据库135中,从 而产生表的部分203A的存档副本203C。
[0113] 将数据集插入到存档副本203C中的任何企图都可能会失败,在该情况下具有相 应错误消息。然而,计算机系统101仍然可以查询存档副本203C,使得例如表扫描不会失 败。
[0114] 在步骤219中,删除模块133可以删除表的部分203A的内容,而保留访问状态标 志。例如,假如访问状态标志还用于防止修改表的部分203A(即,在设置了访问状态标志 时,禁止修改表的部分203A),删除模块133可以删除表的部分203A而不管是否设置了访问 状态标志(即,在存档过程期间,删除模块可以被配置为忽略访问状态标志的状态)。
[0115] 如果设置了访问状态标志,则对表的部分203A的新备份的请求可以被忽略或失 败,在该情况下存在错误。这是因为,具有现在存档的数据(203C)的第一备份副本203B仍 然存在且有效,即它保持数据以用于恢复的目的。新的备份将是空的,并且因此将是无用 的。
[0116] 在删除步骤219之后,确定表的部分203A在创建步骤211之后没有被除删除步骤 f)之外的操作修改,并且如果第一备份副本203B仍然有效,则该方法成功地结束。有效备 份副本可以是未损坏的备份副本,它是为表的部分203A创建的最后的备份副本。
[0117] 与防止创建新的备份映像同样重要的是要求保留包含存档数据的备份映像。基于 一些准则,数据库系统可以管理所有的备份映像并且例如隐式地或显式地删除旧的备份映 像。对此负责的算法可以被配置为考虑访问状态标志。如果发现该访问状态标志,则可以 不删除最后的备份映像(或者最后的"η"个备份映像)。
[0118] 图3是用于存档表的部分203Α的示例性方法的流程图。在该示例性方法中,访问 状态标志也用于防止修改表的部分203Α。
[0119] 在步骤301中,执行步骤211至217。在步骤303中,在步骤305中执行的删除步 骤219之前,复位访问状态标志(例如通过在表205中将访问状态标志状态切换到"假"或 者将第一比特的值设置为0)。在步骤307中,重置访问状态标志。
[0120] 在步骤309中,确定是否表的部分203Α在步骤211之后被除删除步骤f)之外的 操作修改。这可以通过使用例如历史数据来完成(例如,通过使用运行记录),以确定是否 在被删除之前,新数据已被
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1