基于分布式实时数据库的事务调度策略分析与改进-analysis and improvement of transaction scheduling strategy based on distributed real-time database.docxVIP

  • 3
  • 0
  • 约3.48万字
  • 约 47页
  • 2018-05-18 发布于上海
  • 举报

基于分布式实时数据库的事务调度策略分析与改进-analysis and improvement of transaction scheduling strategy based on distributed real-time database.docx

基于分布式实时数据库的事务调度策略分析与改进-analysis and improvement of transaction scheduling strategy based on distributed real-time database

1 引言1.1选题背景以及意义随着IT技术的不断演进,带动了诸如电力、石油、石化、交通、物流等传统行业的信息化,如电力行业在2008年用于信息化建设的总投资就超过128.40亿元[1]。特别是国家近年来出台的一系列发展指导方针,进一步加快了发展的步伐。在这些行业信息化过程中,系统的安全监控智能化是及其重要的方面[2][3]。通过系统智能处理各种突发安全问题,以达到减轻人工作业的强度的目的。而通过监视系统各部分的运行情况,实时对当前系统状态进行评估,快速定位可能发生故障的原因并及时进行处理的预防性的安全管理措施已经成为提高系统可靠性、避免大规模安全事故的有效手段。这部分工作正是由监控预警系统完成的。监控预警系统工作机制是通过搜集各监控节点的实时数据,实时对其进行风险评估,根据评估结果,或交由调度员进行人工干预,或者转由系统进行自动处理。而由于系统对数据处理和反馈需要在规定的时间内获得处理结果,同时系统本身的架构也随着技术发展逐渐复杂化,监控节点的增多引起了需要评估的数据量成几何倍数增长,传统的集中式数据库系统从性能上已经无法胜任要求。基于这样的应用背景,采用分布式的实时数据库取代传统集中式数据库已成为发展趋势。在监控预警系统中各监控节点在本地采集的实时数据分散存放在各实时数据库中,通过这种数据分布化存储的手段降低了系统对硬件性能的要求。同时分布式数据库还具有灵活的扩展性能,可随时根据需求灵活增删节点,这种优势也是传统集中式不具备的。最重要的是分布式实时数据库强调实时性,按照事务的优先级顺序依次处理,并尽量确保事务在规定截止期内完成,保证了系统对紧急事件的快速处理能力。分布式系统中,由于数据的物理位置是分散的,一个事务在执行过程中可能涉及多个节点上的数据,因而事务需要分解为若干子事务,分布在各相关节点上执行,这是与传统集中式事务处理最大的不同。为此如何将这些子事务合理的分配到各个并行处理节点上,同时保证事务执行的完整性,并发性、安全性是需要解决的问题。这种合理分配的机制就是调度策略,良好的调度能够提升系统的并发处理能力,提高系统吞吐量,均衡利用系统中每一个分布式节点的处理能力,避免有的节点负载过重,而其他节点负载过轻甚至空闲的可能性,使得总的执行时间得到缩减。因此如何设计对事务的调度策略就是研究分布式实时数据库应用需要解决的关键点。虽然现在已有大量的基于分布式环境的调度策略的研究,但是这些理论研究都是研究如何将分解的各子事务高效、省时的调度到合理的节点上,以及如何将该子事务调度到合适的节点上保证系统各节点的负载均衡。但是实际应用中,由于各子事务包含的操作数不同而导致分解的各个子事务大小并不均等,从而造成有的节点因为需要频繁处理较为复杂的子事务而导致忙碌,有的节点因为处理的子事务操作较为简单而存在较多的空闲时间。但是从负载平衡处理角度上来看由于忙碌节点中运行的子事务粒度较大,对其从整体上进行调度达不到使各节点负载均衡化的目的。基于以上原因,为了实现分布式环境下各处理节点均衡化处理,保证分布式事务的一致性,提高分布式实时数据库的执行性能和效率,进而提高监控预警系统处理海量数据的性能,需要我们对分布式事务的调度进行研究,提出一套可靠可行的调度策略。1.2当前研究现状对于调度研究环境主要经历了三个阶段:单节点单CPU(单核心)的传统集中式调度、单节点多CPU(多核心)的内部事务调度以及多节点的多CPU的外部事务间分布式调度。在单CPU(单核心)的使用环境下,调度的策略相对比较简单,也有大量的经典调度方案:先到先服务,最短作业优先,基于优先级的调度,多级队列的调度,基于轮转法的调度等方式。对于多CPU的使用环境来说,相对的调度策略要复杂许多。目前使用较多的是基于OpenMP技术的多核并行处理共享内存数据[4]。在分布式环境下,主要是分为同构分布式和异构分布式两种[5]。对于同构系统,现有的研究是按照多核调度的思想进行优化。对于异构的分布式系统,由于软件、硬件的多样性导致调度策略差异化明显。现有的调度策略主要分为以下四个方向:基于表调度的策略,基于事务复制的调度方法,基于簇的调度策略以及有指导的随机搜索调度策略[6][7]。表调度方法主要是计算各个节点之间的优先级别,从高到低进行排序,从中始终选取优先级最高进行执行直到所有的事务都被调度完毕。在异构环境下的表调度策略主要有FLB-f算法[8]、FCP算法[8]、 MH算法[9]、CPOP算法[10]、以及HCPT算法[11]。近年也提出了基于顺序动态变化的混合式表调度算法ILS算法[12],通过动态调整来提高调度的质量。表调度具有操作相对简单复杂度低的优点,但是其也只能做到局部最优。基于事务复制的调度算法通过增加空间冗余度减少处理等待的时间开销。不同的算法对需要复制的事务的选择策略不同。有的只

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档