◆杨贻宏
面向嵌入式实时数据库系统的并发控制策略的探讨
◆杨贻宏
(上海飞旗网络技术有限公司 上海 201203)
近年来,嵌入式数据库(RTDBS)被广泛应用在各种嵌入式产品之中。作为一种重要的计算机信息处理手段,嵌入式数据库系统能够实现数据的最佳性能的储存和恢复功能。同时,嵌入式实时数据库系统在进行运作时,系统能够依据环境实时反应,为用户分析提供最新最佳的数据。由此可见,实时性嵌入系统对电子信息市场进行了有效地改革。本文对嵌入式实时数据库系统的并发控制策略进行了探讨,希望能为嵌入式系统更好服务信息领域提供理论依据。
嵌入式数据库;并发控制策略;探讨;理论依据
随着企业数据库的不断深化,传统的企业数据库如Oracle、Sybase已经不能满足企业嵌入式使用要求。常见的嵌入实时数据库如BerkeleyDB、LevelDB、SQLite能够为用户提供高速、高量的信息数据处理功能。在传统的数据基础上,嵌入实时数据库能保障数据精准、可靠、符合逻辑。兼并实时数据处理和嵌入式数据系库的特征,嵌入式实时数据库还具备实时嵌入、主动分析等功能。因此也被广泛应用在我国军事、航天、工业制造、人工智能、电气家用和智能建筑中。可见,对嵌入式实时数据库系统的研究分析是当代信息技术行业的发展重点。
和传统的数据库有着明显的不同,实时数据库对数据库中的“一致性”要求各有利弊。传统数据库重点是实现可串行化,实时数据库系统并发控制目的是保持数据一致逻辑性,具有着ACID的特性。在并发控制计算中,受到数据库执行的影响,事务往往会出现阻碍或者无期限的延迟。这是因为可串行化标准过于严格而实时数据库系统有需要满足数据时态一致性。为了减少数据迟缓对效率的影响,可以采取通过改编方式放宽可串行化的标准,让更多的事务通过并满足满足截止期,兼顾可串行化编制和时态一致性的要求。这种方式利用了实时数据在特殊时间间隔的刷新,在此背景下,并发引入的一致性在数据库中被弱化,因而数据内容不会存在过于明显的不一致偏差。利用这个特征,借助局外不一致性的补仓技术可以进行补救,让其尽快恢复一致。
根据企业发展模式,东软集团开发了如Open BASE Lite嵌入式数据库产品。它能实现标准的SQL语法、ACID事务特性,为企业数据分析提供了标准化开发JDBC、ODBC接口,能有利于实时数据库并发控制。
通过分析嵌入式实时数据库的并发特征可知,并发控制的过程利用了传统非实时数据库作为媒介从而实现控制目的。实际上,要实现嵌入式实时数据的并发控制,对数据库的软件环境和应用场景有着重要要求。
随着近年来我国科研的不断突破,我国在嵌入式实时数据库方面已经取得了大量的理论研究成果。并提出了基于锁、时间戳等实时数据库并发控制方法。本文针对正确性标准和传统并发控制协议两个方面的实时性改造,同时分析事务替代特征的并发控制,做出了以下探讨。
2.2.1时标排序形式的并发控制
此类并发控制又被简称为TO。他的处理方式是将每一事务Ti均给予一个时标ts(Ti)。如在进程中出现事务Ti的操作请求指令与已在处理的事务Tj发生冲突。也存在且ts(Tj)>ts(Ti)的情况。就按照设置判定Ti夭折。同时,当发生夭折事务时,更大的时标将会覆盖当前,程序重新开始。
2.2.2锁式方式的并发控制
传统的2PL锁式协议不能满足实时数据库的需求。面对更为高级的“优先级颠倒”和“死锁”,需要采取正确的并发控制策略。
(1)对TR优先级处理:通过提高“占有”和“请求”的TR优先级顺序,能够解锁优先级顺序颠倒,让TH适应环境执行命令直到结束。不过,可能TR的阻塞无期限延时。
(2)改变夭折顺序:通过选择夭折的先后顺序,对高优先级TR进行执行,对低优先级的TH进行夭折,这是优先级颠倒的一个处理方式。不过可能会造成系统出现导致循环夭折情况。
(3)指定置顶优先级:要实现一个事务对一个数据锁的获取,需要让其优先级高于数据库内所有的优先级事务。不然不能获取数据锁还会造成数据的堵塞。通过指定置顶优先级,采用一种设置数据优先级的方法获取顺序,可以实现动态的指定每一数据优先获取数据所有事务存读的优先级,将其他被锁住的数据优先级考虑除外。实现“优先置顶”,降低数据堵塞风险。
(4)共享数据:为了保障可串行化的执行,一种特殊的“共享数据”模式的锁间关系保障了事务读取的流畅性。在实施时,事务Tj在获取Ti事务的共享数据的锁后,需要等待直到Ti结束后才能执行对应的Tj信息提交和对应数据操作。
“乐观”并发控制又被业内称之为(OCC),它发生的情况比较特殊。如在可串行化要求下,是不能在提交时分析超低冲突发生率的事务在无障碍运行的环境下冲突发生的过程。因为,提交过程不具备分析冲突能力,只能判断通过与否,事务若通过检验就会被提交,若没有就不提交。
为此可以采取分段事务执行的方式。将事务执行拆分为读、验证、写三个阶段。三段在通过事务判断时候能够进行分别验证,能够对冲突发生的阶段进行分析和读取。
“散度控制”是ε类型的可串行化并发控制的特征,此种方式的关系是对允许度的不一致性控制。常见的方式有乐观散度控制法、两段锁散度控制、时标排序散度控制等。
Quas类型的可串行化并发控制有着准一致可串行化的特征。存在于事务集中单一事务提交状态和精确串行调度要求差距允许数据范围内。
传统并发控制的策略核心是通过提高实时事务的优先级并减低资源可控度从而保护硬性实时事务。然而这种策略一定程度上只是将事务外部进行了处理,对内部事务的成因没有进行探讨。当系统中真实发生硬性实时事务冲突现象,这些策略不能保全优先级较低的事务,这些缺乏安全保护的事务会不断出现夭折;与此同时,优先级事务资源区域也会发生更加严重的冲突,严重情况下会导致系统崩溃。可见,传统的开发控制策略需要改进。而采取功能替代性的方式能够让事务实现多路径执行。它的特点是若存在路径失败,可以有选择地用另一台进行替代,这提高了事务通过的成功率。
在推动嵌入式数据库和实时信息不断发展的同时,人们对事务处理的速度、数据加密锁的建设加大关注。嵌入式设备的广泛应用对实时数据系统的建设也提出了高难度要求。本文通过对嵌入式实时数据系统的并发控制探讨,对现有的控制方法和使用问题进行了一定分析,对事务冲突处理中存在的数据并发控制、可串行化、优先级问题进行了探讨,希望能为相关工作人员有所帮助。
[1]王晓燕.基于嵌入式实时数据库的事务模型及处理技术的探讨[J].办公自动化,2014.
[2]徐艇.嵌入式实时数据库存取机制研究[J].科技风,2010.
[3]戴华珍.嵌入式实时数据库面向方面的QoS探讨[J].科技信息,2011.
[4]自动化技术、计算机技术[J].中国无线电电子学文摘,2011.
[5]刘云生,夏家莉,许贵平.嵌入式数据库系统的事务调度[J].软件学报,2002.