文档介绍:基于数据段优先级分区重装策略
梁平1,2,刘云生1
(,湖北武汉,430074;,湖北武汉,430081)
摘要:提出一种基于数据段优先级分区重装策略PRS-DSP,其考虑数据特征及与之相关的事务特点,根据数据段优先级对数据库进行分区,并为每个分区设置相应重装频率,故障恢复时按照数据分区的重装频率来分区重装数据库,系统恢复服务后,根据新事务对数据的请求及数据分区重装频率来设置剩余分区的重装优先级。模拟实验结果表明,该分区重装策略降低了系统事务超截止期比率,其重装性能明显优于完全重装策略。
关键词:嵌入式实时内存数据库;故障恢复;分区重装;数据段优先级
有效的故障恢复机制对于嵌入式实时内存数据库系统(Embedded Real-Time Main MemoryDatabase Systems,ERTMMDBS)性能具有决定性的作用,重装作为ERTMMDBS恢复机制的重要方面,其效率的高低直接影响系统整体性能的优劣。有效的重装策略不仅能减少系统重启时间,还能满足更多数据的时间有效性和事务截止期。完全重装和部分重装是目前内存数据库常用的两种重装策略。完全重装[1]会严重阻塞事务执行,不适合有时限性要求的ERTMMDBS;部分重装策略[2]将数据库部分装入内存便开始运行,减少了超截止期事务和数据量,适合于ERTMMD-BS的重装。文献[3]和文献[4]分别给出了支持实时内存数据库以页作为重装粒度的部分重装策略及基于数据库分区的部分重装策略;文献[5]分析了实时事务、数据特征对数据重装的影响,构造了数据相亲度及相亲矩阵,提出了基于装入数据选择函数的数据装入算法。然而上述诸策略均未考虑嵌入式环境下恢复的特殊需求。为满足ERTMMDBS的重装需求及提高恢复过程系统的可用性,本文提出一种考虑数据特征及与之相关事务特点的基于数据段优先级分区重装策略。
1 基于数据段优先级的分区方法
根据嵌入式实时数据所具有的不同特征(实时性、存取频率、关键性和持久性等),综合考虑ERTMMDBS的故障恢复。对于重装策略,故障恢复时数据装入需要考虑以下几方面:
①有效期较短的数据尽快装入内存;
②关键数据优先装入内存;
③更新频率高的数据优先装入内存;
④被高优先级事务存取的数据优先装入内存。基于内存数据库区段式内存组织方式[6]考虑,重装策略以数据段为单位,按上述几方面综合考虑包含在数据段中数据的不同特征,为每一个数据段设置一个优先级,该优先级表示了数据段在重装时装入内存的优先次序。
设嵌入式实时内存数据库DB由n个数据段组成,Si为其中的第i个数据段,即DB={Si|1≤i≤n},数据段Si的重装优先级为
式(1)表明,数据段中包含的数据的有效期越短,数据段的重装优先级越高;数据段中数据的更新频率越高,数据段的重装优先级越高;数据段中数据的关键程度越高,数据段的重装优先级越高;存取数据段中数据的事务的优先级越高,数据段的重装优先级越高。按数据段重装优先级,将数据库分为n个分区,每一分区长度均为H,在分区Si被更新后,利用式(1)计算出分区Si的重装优先级SP(Si),再根据下列条件生成Si所属的分区号j:若SP(Si)/H <n,则j =SP(Si)/H;若SP(Si)/H ≥n,则j