WEB开发网
开发学院服务器云计算 保护模拟运算表并使其不受应用错误的影响 阅读

保护模拟运算表并使其不受应用错误的影响

 2010-06-21 00:00:00 来源:WEB开发网   
核心提示:如果Azure存储以及保存了多个数据副本,那么应用应该在Windows Azure存储中备份数据吗?为了维持商业的连续性,保护模拟运算表并使其不受应用错误的影响,有必要对数据实施保护,使其免受应用错误的干扰,如此,就可以平行备份表格,因为这些错误可能会导致数据被错误地修改, 如果应用层级出现问题

如果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>();
        }
    }
}

1 2 3 4 5 6  下一页

Tags:保护 模拟 运算

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接