基金项目:陕西省教育厅科研计划项目资助(14JK1469)
通讯作者:秦 昳(1978-),女,陕西西安人,讲师,E-mail:Qiny@xust.edu.cn
(College of Computer Science and Engineering,Xi'an University of Science and Technology,Xi'an 710054,China)
cloud database; cloud sever; sever mode:reliability information; multiple sources
DOI: 10.13800/j.cnki.xakjdxxb.2015.0623
为了解决航天产品可靠性设计与评估工作中数据备份和恢复操作效率低,无法快速有效地获得准确数据,整个数据的监控和安全机制无法统一调度等方面的缺陷,文中以关系型云数据库为着眼点,分析可靠性信息云数据库平台的系统架构,设计该模型下的数据访问策略,进行了海量数据存储、访问、分析和管理方面的研究。最后构建一种适应航天产品可靠性信息复杂性、海量性和多源性特点的数据库体系架构。为未来可靠性信息云数据库平台支持系统扩展、信息安全管理、海量数据存储和恢复备份研究提供思路。
In order to solve the defects in the aerospace products reliability design and evaluation,such as lowing efficiency in data backup and recovery operation,unable to obtain accurate data quickly and efficiently,unable to unified scheduling the whole data monitoring and security mechanism,the paper,based on relational database of cloud,analyze the reliability information cloud database platform system architecture,designs the model of data access strategy,and studies how to apply cloud computing technology into mass data storage,access,analysis and management.Finally,the paper builds a kind of architecture to adapt the characteristics of the reliability information.Reliability information cloud database platform supports research ideas for the future extension,information security management,mass data storage backup and restore.
在航天产品可靠性工作开展过程中,建立可靠性数据库是一项非常重要的工作[1],但却没有得到足够的重视。可靠性数据库,是为了满足可靠性研究和可靠性设计工作所必需的各种数据资料的集合体,是可靠性工程师进行准确可靠性设计的必要条件[2-3]。在方案论证阶段,系统工程师和可靠性工程师要借助于数据库全面研究现有的同类产品或类似产品的可靠性、维修性、总结规律性,为研制产品提供可靠性模型,选定适当的可靠性量度,建立可靠性指标。在设计阶段,可靠性工程师要利用数据库全面了解有关材料,零件、元件和部件的可靠性情况,进行可靠性指标分配,把系统的可靠性指标变成分系统、部件、器件、元件和零件的可靠性指标。在设计评审、生产以及产品改进中,同样要利用数据库去保持或提高产品的可靠性[4]。可靠性数据库应该包括以下3个方面的内容[5]:第一,来自科研单位的论文和研究报告; 涉及到可靠性数学建模方法,可靠性设计和评审方法等方面; 第二,来自实验室和外场基地的; 涉及到元件、部件和整机的试验数据报告和鉴定数据报告; 第三,来自使用部队及使用方,产品设计研究所和产品生产方的故障分析报告; 涉及故障率,有效度、故障模式、维修性等方面。
然而在目前的实际工作中,由于数据的多样性和多源性,各方面的数据都是采用各自独立的一套系统软件和数据库软件以及相应的服务器和存储器[6-7]。这种工作模式势必会产生诸如数据备份和恢复操作效率低,无法快速有效的获得准确数据,整个数据的监控和安全机制无法统一调度等方面的缺陷[8]。
因此,文中以关系型云数据库为着眼点,研究一种新的数据库体系架构来适应航天产品可靠性信息的复杂性,海量性和多源性特点。
云数据库的设计可以根据不同的应用要求选择不同的数据模型,主要包括:键/值模型和关系模型[9-10]。关系型云数据库模型引入行组和表组等相关概念。每个表仍然表示一个逻辑关系,但每个表都新增加一个分区键列用来对本表进行区分。具有相同分区键类型的多个表的集合称为表组,在同一表组中分区键值相同的行的集合称为行组[11]。如图1所示,表1和表2各自有一个分区键列并且数据类型相同,所以表1和表2属于同一个表组。在表1和表2中分区键值为25的行共有三行,属于同一个行组。图1还显示了表组有不同的数据分区,但同一行组都在一个分区中。
在上述关系型云数据库模型中,不论行属于哪一个表,只要这些行属于同一个行组就会被分配到同一个数据节点上,同时每个表组包括一个或多个行组,这些行组会分配到不同的数据节点上[12-13]。而数据分区通常是按照分区键值的范围进行划分,并且每个数据分区含有多个行组,所以每个数据节点都将存储相应分区键值区间内的所有行。图2描述了关系型云数据库的数据访问方法。当客户端有数据请求时,先向云数据管理服务器请求一段分区的映射,服务器应答向客户端返回; 客户端得到服务器的应答之后根据分区键值匹配正确的数据存储位置,同时向对应的数据节点发出数据请求,数据节点收到客户端的请求之后应答将数据提供给客户端。
在可靠性信息数据收集的过程中,数据具有区域性的特点,结合上述关系型云数据库模型特点和存储方法,文中将按照分区管理的思路构建可靠性信息数据库架构。
根据图2描述的数据存储方法,将整个可靠性信息数据库平台的处理过程也分为3个部分:客户端,云服务器和若干数据区域。下面分别构造每个节点的工作流程。
每个数据区域包含多个数据库节点,每一个数据库节点都是一个虚拟机,一个数据区域可以看做一个包含许多虚拟机的虚拟机组,这样每个数据区域都可以根据各自的数据量来动态改变虚拟机的数量。通常一个数据区域节点上的数据库会被分散到若干个数据库节点(虚拟机)中,因此还需要给每个虚拟机上安装相应的管理服务,负责交换和监控每个数据库节点上的数据信息。对于数据区域来说,每个数据区域节点都独立向外提供SQL服务,可以不依赖于任何一个其他数据区域节点而存在于平台中。结构如图3所示。
在整个架构中,每个数据区域节点都具有故障转移,数据备份的能力,同时它们的软件结构和运行的数据业务是相同的,是同质的,只是物理结构可以不同[14-15]。这样的设计可以保证当云服务器增加一个新的业务时,只要有一个数据区域节点可以运行,那么所有的数据区域节点都可以运行。
如图4所示,整个可靠性信息平台中的云服务器由服务层、系统管理模块、资源管理模块、安全管理模块、关系数据库资源模块5部分组成。
其中服务层的主要功能是负责给客户端提供服务,包括获取数据库连接,返回数据区域节点信息,对整个系统进行配置和监控。系统管理模块的主要功能是用户账号的配置和权限管理,数据区域的映射,多个数据区域节点的并发控制和调度。资源管理模块的主要任务是监测各个数据区域节点的运行情况,一旦发生故障时启动修复程序或屏蔽程序。安全管理模块的主要功能是保障云服务的整体安全性,确认云服务的身份。关系数据库资源模块和各个数据区域节点相连接,它的主要功能是控制动态的增加或减少数据区域节点。
客户端在进行数据库访问之前,先访问云服务器节点,获得适合与其进行数据交互的某些数据区域节点的信息,产生连接描述符,连接相关的数据区域节点。数据区域节点为客户端提供SQL数据库服务。
综上所述,航天产品可靠性信息数据库平台架构如图5所示。
如图5所示,客户端和云服务器之间的传输只有控制流而没有数据,而客户端和各个数据区域节点之间可以直接进行数据传输,并且可以同时访问多个数据区域节点,从而使得整个平台的输入输出操作可以并行执行,整体性能得到提高。另外云服务器可以协调各个数据区域节点同步工作,这样便于进行海量数据的统计和进行数据挖掘工作,提高该平台的资源利用率。
在目前可靠性工作中使用的数据平台架构中,所有的数据集中在一起,随着数据规模的不断变大,数据的备份效率越来越低,数据丢失或错误的风险也会不断变大。而采用文中提出的模型构建可靠性信息数据库平台,当数据量增加到趋于饱和状态时,可以采用分割的方法,将大的数据区域节点分割成小的数据区域节点,整个平台在云服务器的控制下也可以动态增加新的数据区域节点,同时原来的独立备份也可划分为多个小的独立备份。这样可以提供高效可靠的备份机制。
反之,当平台出现处理能力下降或不足的情况时,同样可以采用分割的方式以老换新,提高数据区域节点的处理能力,完成平稳的平台升级。此外,由于各个数据区域节点上的数据库是同构的,所以便于实现各类业务的互通和置换,便于实现数据库高效统一。
1)设计关系型云数据库模型下的数据访问策略,构建航天产品可靠性信息云数据库平台。
2)通过对该云数据库平台架构的分析,验证了构建方法的有效性。为提高当前可靠性信息管理系统的系统扩充,数据备份和恢复,业务部署和安全管理能力提供技术思路。