- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实时嵌入式数据库系统高可用性的策略的研究
实时嵌入式数据库系统高可用性的策略的研究
摘要:针对实时嵌入式数据库对高可用性的需求,分析了大型数据库的高可用性解决方案,并依据嵌入式系统的特点,确立了实时嵌入式数据库高可用性策略应遵循的基本思想和关键技术。提出了一种适用于实时嵌入式数据库的高可用性策略,该策略基于集群技术,采用主备模式,通过数据库复制的方式确保主、备数据库实例之间的数据一致性,并对数据库复制过程设置超时机制,使其具备实时性,并对主、备数据库实例的切换方式和高可用性的可移植性进行了设计。
关键词关键词:实时嵌入式数据库;集群技术;高可用性策略
中图分类号:TP391文献标识码:A文章编号文章编号2013)011012403
0引言
实时嵌入式数据库(RealTime Embedded DataBases,以下简称RTEDB)主要用于对可靠性和性能有较高要求的嵌入式系统,如网络通讯系统、工业控制系统、机载飞控与导航系统等。与普通嵌入式数据库相比,RTEDB不仅具有体积小、可移植性好、直接与应用集成等嵌入式数据库的普遍特性,而且为了满足实时性要求,通常采用内存数据库,并且对索引、事务管理等数据处理策略进行了优化。
上述嵌入式系统中的数据库除了要满足实时性要求外,往往还需要具备高可用性(High Availability)。高可用性数据库能够不间断地运行,不因软硬件故障而停止服务或丢失数据。本文依据RTEDB的高可用性需求以及嵌入式系统环境和RTEDB本身的特点,从基本思想和策略设计两个方面对基于RTEDB的高可用性策略进行了研究。
1嵌入式数据库高可用性策略
1.1总体架构
大型数据库系统,如Oracle等,运用了多种技术来保证其高可用性,包括RAID技术、集群技术、数据库复制、硬件复制等。上述方法中,RAID、数据库复制以及硬件复制技术需要大量冗余的硬件和额外的软件服务作为支撑,对于体积和资源都受限的嵌入式系统而言难以接受。相比较而言,集群技术的思想更适合嵌入式系统。高可用性实时嵌入式系统通常由多个计算单元或模块组成,相互之间通过数据总线或网络进行连接。在多个计算单元或模块部署数据库,可以很方便地组成数据库集群,而且不需要额外的硬件和集群管理软件。在此基础上,嵌入式数据库可以自己管理数据库集群,形成多个数据库之间的主备或互为备份的关系,保证数据库服务和数据的高可用性。
1.2配置方案
基于集群的高可用性方案有主备模式、互备模式等多种配置方案。由于实时嵌入式系统通常对并行性的要求较低,为了节省资源,RTEDB可采用主备模式实现高可用性。
在该模式中,一个数据库应用同时具有多个数据库实例,每个数据库实例都拥有相同的功能和数据拷贝。主数据库实例直接为用户提供数据库服务,执行用户提交的数据库事务请求;备份数据库实例在主数据库实例正常的情况下不向用户提供服务,只作为主数据库实例的备份,一个主数据库实例可以同时对应多个备份数据库实例。
主数据库实例和各个备份数据库实例分别部署在不同的物理空间,比如部署在不同的计算单元或模块上,相互之间通过调用内部总线或者网络通信机制进行通信,保持数据一致,互为镜像。当主数据库实例所在的硬件或软件出现故障,造成主数据库实例失效,备份数据库实例可以在短时间内发现主数据库实例失效,并自动取代主数据库实例,继续为用户提供服务。通过以上配置,用户便能够不间断地使用数据库服务,保证了数据库系统的高可用性。
1.3关键技术
高可用性RTEDB的关键问题在于如何保持位于不同计算单元或模块的数据库实例完全一致,并可以相互替代。数据库实例的一致性可以通过数据库复制的方式来实现。数据库复制实际上是对事务的复制,其过程如图1所示,当用户向主数据库实例发起数据库事务T时,主数据库实例收到T后,不仅要自己执行事务T,还要将T复制到所有的备份数据库实例,让所有的备份数据库实例均执行事务T。各个备份数据库实例自己执行事务T并将提交的结果如成功、失败或者超时等反馈给主数据库实例,只有当所有备份数据库实例执行事务T均返回成功时,主数据库实例的事务T才被确认为执行成功并进行提交。这样,通过事务的复制,主数据库实例将自己的更新复制到了所有的备份数据库实例,确保了数据更新在主、备两端同时成功或失败,从而保持了数据库实例的一致性。
图1事务复制过程 在数据库复制过程中,除了要考虑如何保持数据库实例一致,还需要考虑如何保证该过程的实时性。高可用性策略的实时性保证面临的最大挑战是主、备数据库实例间通信延迟的不可预测,这样,需要用相应的超时设置来保证整个数据库复制过程的执行时间可预测,并能够将超时信息及时通知给用户。
本节通过对现有高可用性技术的分析,明确了RTEDB
原创力文档


文档评论(0)