秦 昳
(西安科技大学 计算机科学与技术学院,陕西 西安710054)
在航天产品可靠性工作开展过程中,建立可靠性数据库是一项非常重要的工作[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 部分组成。
其中服务层的主要功能是负责给客户端提供服务,包括获取数据库连接,返回数据区域节点信息,对整个系统进行配置和监控。系统管理模块的主要功能是用户账号的配置和权限管理,数据区域的映射,多个数据区域节点的并发控制和调度。资源管理模块的主要任务是监测各个数据区域节点的运行情况,一旦发生故障时启动修复程序或屏蔽程序。安全管理模块的主要功能是保障云服务的整体安全性,确认云服务的身份。关系数据库资源模块和各个数据区域节点相连接,它的主要功能是控制动态的增加或减少数据区域节点。
图4 云服务器体系结构图Fig.4 Cloud sever system structure
客户端在进行数据库访问之前,先访问云服务器节点,获得适合与其进行数据交互的某些数据区域节点的信息,产生连接描述符,连接相关的数据区域节点。数据区域节点为客户端提供SQL数据库服务。
综上所述,航天产品可靠性信息数据库平台架构如图5 所示。
如图5 所示,客户端和云服务器之间的传输只有控制流而没有数据,而客户端和各个数据区域节点之间可以直接进行数据传输,并且可以同时访问多个数据区域节点,从而使得整个平台的输入输出操作可以并行执行,整体性能得到提高。另外云服务器可以协调各个数据区域节点同步工作,这样便于进行海量数据的统计和进行数据挖掘工作,提高该平台的资源利用率。
在目前可靠性工作中使用的数据平台架构中,所有的数据集中在一起,随着数据规模的不断变大,数据的备份效率越来越低,数据丢失或错误的风险也会不断变大。而采用文中提出的模型构建可靠性信息数据库平台,当数据量增加到趋于饱和状态时,可以采用分割的方法,将大的数据区域节点分割成小的数据区域节点,整个平台在云服务器的控制下也可以动态增加新的数据区域节点,同时原来的独立备份也可划分为多个小的独立备份。这样可以提供高效可靠的备份机制。
反之,当平台出现处理能力下降或不足的情况时,同样可以采用分割的方式以老换新,提高数据区域节点的处理能力,完成平稳的平台升级。此外,由于各个数据区域节点上的数据库是同构的,所以便于实现各类业务的互通和置换,便于实现数据库高效统一。
1)设计关系型云数据库模型下的数据访问策略,构建航天产品可靠性信息云数据库平台。
2)通过对该云数据库平台架构的分析,验证了构建方法的有效性。为提高当前可靠性信息管理系统的系统扩充,数据备份和恢复,业务部署和安全管理能力提供技术思路。
References
[1] 傅浩杰,王美清.面向航天产品的可靠性信息管理系统研究[J].制造业自动化,2014,36(12):27 -33.FU Hao-jie,WANG Mei-qing.Research on the reliability information management system for aerospace products[J]. Manufacturing Automation,2014,36(12):27 -33.
[2] 苏永芝,陈景鹏.航天发射场地面设施设备可靠性工作研究[J].装备学院学报,2014,25(2):56 -59.SU Yong-zhi,CHEN Jing-peng.Research on the reliability of spaceflight launch site’s facilities and equipment[J].Journal of Equipment Academy,2014,25(2):56 -59.
[3] 卢明章,李云峰,杨志刚,等.基于测试数据的长期贮存装备可靠性评估[J]. 失效分析与预防,2014,9(1):58 -60.LU Ming-zhang,LI Yun-feng,YANG Zhi-gang,et al.Reliability assessment of storage long-term equipment based on testing data[J].Failure Analysis and Prevention,2014,9(1):58 -60.
[4] 陈 炘,刘清菊.分布式数据库同步节点优化方法研究与仿真[J].计算机仿真,2013,30(12):407 -310.CHEN Xin,LIU Qing-ju. Research and simulation of distributed database synchronization node optimization method[J].Computer Simulation,2013,30(12):407 -310.
[5] Pramote Kuachroen. Combination of data masking and data encryption for cloud database[J].Applied Mechanics and Materials,2014,3 253(571):617 -620.
[6] 吴 楠.城市部件信息管理系统数据库的设计[J].西安科技大学学报,2014,34(5):614 -619.WU Nan. Design of municipal component information management system database[J].Journal of Xi’an University of Science and Technology,2014,34(5):614 -619 .
[7] Sherif Sakr. Cloud-hosted database:technologies,challenges and opportunities[J]. Cluster Computing,2014,17(2):487 -502.
[8] Pluzhnik,Evgeniy V,Nikulchev,Evgrny V. Use of dynamical systems modeling to hybrid cloud database[J].International Journal of Communications,Network and System Sciences,2013,6(12):550 -512.
[9] 冀汶莉,李向军,戴 旭. 基于云计算SaaS 模式OA系统的设计与实现[J].西安科技大学学报,2014,34(5):607 -613.JI Wen-li,LI Xiang-jun,DAI Xu.Design and implementation of OA system by SaaS mode based on cloud computing[J]. Journal of Xi’an University of Science and Technology,2014,34(5):607 -613.
[10]青 欣,胥光辉,戢 瑶,等.云数据库应用研究[J].计算机技术与发展,2013,23(5):37 -41,46.QING Xin,XU Guang-hui,JI Yao,et al.Research of application of cloud database[J]. Computer Technology and Development,2013,23(5):37 -41,46.
[11]刘桂兰,王书海.云数据库体系架构研究分析[J].河北省科学院学报,2013,30(2):75 -80.LIU Gui-lan,WANG Shu-hai. Research into the cloud database architecture[J].Journal of the Hebei Academy of Sciences,2013,30(2):75 -80.
[12]马 莉,李树刚,肖 鹏,等.云计算环境下煤矿应急管理数据存储技术[J].西安科技大学学报,2014,34(5):596 -601.MA Li,LI Shu-gang,XIAO Peng,et al.Massive data storing technique of coal mine energy management in cloud computing[J]. Journal of Xi’an University of Science and Technology,2014,34(5):596 -601.
[13]林子雨,赖永炫,林 琛,等.云数据库研究[J].软件学报,2012,23(5):1 148 -1 166.LIN Zi-yu,LAI Yong-xuan,LIN Chen,et al.Research on cloud databases[J].Journal of Software,2012,23(5):1 148 -1 166.
[14]梁亚婷,杨振宏,屈利伟.基于多源异构信息融合的煤矿冒顶事故预报技术[J]. 西安科技大学学报,2013,33(1):78 -83.LIANG Ya-ting,YANG Zhen-hong,QU Li-wei. Mine roof fall prediction technique based on multi-source information fusion[J].Journal of Xi’an University of Science and Technology,2013,33(1):78 -83.
[15]吴天魁,王 波,顾基发,等.基于模糊综合评判与故障树法的震压造型机故障诊断[J].西安科技大学学报,2014,34(3):368 -372.WU Tian-kui,WANG Bo,GU Ji-fa,et al.Fault diagnosis of jolt squeezing machine based on fuzzy comprehensive evaluation and fault tree method[J]. Journal of Xi’an University of Science and Technology,2014,34(3):368-372.