天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧软件 >> 正文

如何在Windows Azure存储中备份模拟运算表

2010-5-18不详佚名
如果Azure存储以及保存了多个数据副本,那么应用应该在Windows Azure存储中备份数据吗?为了维持商业的连续性,有必要对数据实施保护,使其免受应用错误的干扰,因为这些错误可能会导致数据被错误地修改。

  如果应用层级出现问题,那么这些错误紧随Windows上保存的Azure存储副本。因此,要恢复正确数据,需要保留一个备份。如今,许多应用程序开发员都已经实施了备份策略。而本文涉及的则是模拟运算表备份策略。

  欲备份模拟运算表,应该对运算表进行迭代,然后搜索每个表格以便将实体数据复制到BLOB中或是不同的目的表格中。可对实体组进行处理以加快从Blob中恢复实体数据的进程。注意,本文中的示例是一个运算表的完整备份。

  运算表备份

  这里我们要了解一个简单的完整备份方案。该策略会输入系列表格,每个表格都有一些可分割表格搜索的密钥。这些密钥会被转化为若干范围,而单独备份这些范围可以提供整个表格的备份。将表格备份打乱成一定的排列范围,如此,就可以平行备份表格。TableKeyInfo类也可以纳入拆分密钥的逻辑中,如下所示:

public class TableKeysInfo {     private List<PartitionKeyRange> keyList = new List<PartitionKeyRange>();       /// <summary>     /// The table to backup     /// </summary>     public string TableName { get; set; }       public TableKeysInfo(string tableName, string[] keys)     {         if (tableName == null)         {             throw new ArgumentNullException("tableName");         }           if (keys == null)         {             throw new ArgumentNullException("keys");         }             this.TableName = tableName;         // sort the keys         Array.Sort<string>(keys, StringComparer.InvariantCulture);           // split key list {A, M, X} into {[null-A), [A-M), [M-X), [X-null)}         this.keyList.Add(new PartitionKeyRange(null, keys.Length > 0 ? keys[0] : null));         for (int i = 1; i < keys.Length; i++)         {                 this.keyList.Add(new PartitionKeyRange(keys[i - 1], keys[i]));         }           if (keys.Length > 0)         {             this.keyList.Add(new PartitionKeyRange(keys[keys.Length - 1], null));         }     }         /// <summary>     /// The ranges of keys that will cover the entire table     /// </summary>     internal IEnumerable<PartitionKeyRange> KeyRangeList     {         get         {             return this.keyList.AsEnumerable<PartitionKeyRange>();         }     } }

9 7 3 1 2 3 4 5 6 4 8 :

本文来源:不详 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。文章是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 Email:support@txwb.com,系统开号,技术支持,服务联系微信:_WX_1_本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行