文|李英
层次化通信网络数据库拥有海量多维数据,但进行层次化通信网络数据库容灾备份的过程中没有删除重复数据,导致数据冗长占据空间,使RPO值与RTO值过高针对该问题提出基于链式描述符的层次化通信网络数据库容灾备份方法。通过写入链式描述符,优化传输过程;删除重复数据,精简备份对象;根据压缩算法,为通信网络数据库设计容灾备份方案。实验结果:所研究的备份方法进行数据备份恢复的模拟实验中,测试值比RPO目标值及RTO目标值分别快出10.3min及10h,获得较佳的数据库容灾备份效果。
由于现代社会的网络技术和通信技术正在迅猛发展中,信息化程度越来越高,对数据的依赖程度逐渐增加,数据丢失带来的影响和损失也越来越大。如何削弱灾难发生带来的影响并有效地保护数据和信息,大量研究者及相关工作人员,针对层次化通信网络数据库,研究了不同类型的容灾备案方法。目前,国内的主要技术分为镜像复制、快照及互联技术。学者沈刚、陈斌等人引入粒子群算法,架构数据储存备份框架,准确高效对数据信息进行更新备份,提高通信网络数据的安全性,为层次化通信网络数据库容灾备份开辟了新的发展思路。此次研究在大量先进的网络通信技术及方法的基础上,结合传统方法存在的问题引入链式描述符的处理方法,进一步优化备份方法。
与传统的DMA不同,链式描述符最大的优势在于可以轻松处理CPU中指向地址不连续的大量数据模块的搬移。传统模式中,每发起一次数据搬移请求,DMA就会执行一次操作,但写入链式描述符后,CPU在发起请求前就已经存在多个数据段,提供下一个描述符的地址,同时包含此次操作的必要信息,当收到发起的请求后,DMA读取并解析内存中的描述符,然后通过数据段中包含的下一个描述符的指向自动进行下一次的数据传输操作,这个过程只需要发起一次请求,就能令数据块实现非连续性的搬移。控制字段是描述符的核心部分,指明控制器应该如何完成当次搬移操作;描述符还包括状态字段,代表着描述符的完成状态。链式描述符的传输方式首先是通过软件将准备好的描述符写入CPU,接下来通过链式DMA将下一个描述符的内存地址写入,并设置对接。当搬移操作开始时,DMA控制器首先读取第一个描述符进行解析执行并更新描述符状态,再读取下一个需要执行操作的描述符,直至最后一个才停止操作。基于链式描述符的网络通信数据信息传输模式,可以解决大量数据传输中地址指针不连续带来的问题,从而减轻整个过程中处理器承载的巨大负担,与此同时释放了本地内存的储存空间,缓解了本地处理器的传输压力,为更加便捷高效的层次化通信网络数据库容灾备份方法提供了技术前提和发展方向。
上一节运用链式描述符的优势后,针对通信网络数据海量且多维的特点,要依靠提取和计算数据超级指纹,定位和判断备份数据库中大量的重复数据信息,并进行筛选和删除操作,进一步优化容灾备份方法。也有学者提出在同一个数据库中不可避免地存在大量重复数据,如果能够定位这些相同或相似的文件,并对它们进行只储存一次的操作,将极大地提高备份数据传输的效率,同时降低传输过程的成本。超级指纹(Super-fingerprint,也称为超级特征值)的技术是通过对数据库中的信息提取多个特征,并组合起来形成代表特征,如果两个数据块代表特征相同或相似,则可确定重复数据的存在。假设数据块的长度为,则可根据以下公式计算指纹:
公式中a和 b分别是预先设定好的随机数,通过计算对a和b之间数据块的指纹集合,经过哈希算法(mod)处理后,再总体提取最大值,n个特征值组合起来形成超级指纹,计算公式如下:
公式中组合了个指纹,即为给定数据块的超级指纹,要判断数据块之间是否重复,就需要对比数据块的超级指纹。
对于重复数据的处理流程如图1所示,相似的部分越多,代表数据块之间相似的可能性越大,越容易形成重复数据。
图1 比对删除重复数据流程
RPO(Recovery Point Object)和RTO(Recovery Time Object)两个指标通常用于测量容灾备份方法是否有效。RPO指标是数据恢复点目标,即恢复的数据库信息与灾难发生前的差异量,它代表容忍通信数据库信息丢失的最大限度。RTO指标是故障后到恢复正常运行所需的时间,也就是从宕机到正常运行为止最大的时间限度。备份方法可行与否,在于能不能根据具体资源,找到最优的RPO和RTO。为了应用上述的容灾备份方法,选取通信网络数据库A模拟部分数据丢失,通过实际的操作,验证此方案具体效果如何。
测试阶段将数据库A作为研究对象,模拟数据丢失,记录RPO和RTO的实际测试值,与数据库RPO和RTO目标值进行比较,备份方法的效果直观明确。为了确保测试结果的说服力,本次实验共进行了10次,表1为本次测试阶段实验结果。
表1 数据库A的RPO及RTO目标值与测试值对比表
根据表1记录的数据可知,RPO的测试值都在60s之内,RTO的测试值都少于60m。计算RPO目标值和测试值的平均值分别为10.9min和40.5s;RTO目标值和测试值的平均数分别为10.5h和30.8min。观察两项数据的对比不难发现,运用此方案得到的RPO测试值快于目标值10m14s,RTO测试值快于目标值10h。
此次研究实验在明确传统数据库灾备方法的缺点后,针对性地利用写入链式描述符的技术,为数据备份方案提供了更加有效快速选择。但根据文中阐述的方法过程可以看出,此次备份方法较为核心的步骤是需要在数据库中定位、筛选和删除重复冗余的数据信息,这个过程中计算比较复杂,且数据块与数据块之间的相似性有高有低,较难区分,因此容易出现误差,影响后续备份的操作进行。今后可以逐步强化数据块之间相似性比对算法,并进行大量验证,将误差尽量缩小,控制在最佳范围内,优化层次化通信网络数据库的容灾备份方法。