基于元数据关联特征的交互式数据快速查询
2021-11-17陈会平李凯勇
邓 斌,陈会平,李凯勇
(1. 四川工业科技学院电子信息与计算机工程学院,四川 德阳 618500;2. 青海民族大学物理与电子信息工程学院,青海 西宁 810007)
1 引言
网络通信技术的成熟让数据传输技术获得较大提升,现阶段数据传输容量与速率均有明显改进,但人们对数据传输准确度和效率也有了更高要求[1]。在数据传输方面呈现出的绝对优势,逐步得到市场青睐,在大数据领域中同样得到有效的应用。当前生活的诸多方面都依赖实时应用,如利用社交软件更新动态、在线购物等,所以提升大数据分析和查询效果、加强查询性能与速率相当重要。在服务器软件和数据库配置等条件固定状况下,传统查询模式伴随数据量持续增多,查询效率不容乐观,响应时间也越来越长[2],设计一种对不同数据源处理大数据且交互式关联查询数据方法是十分必要的。
关于数据查询问题,文献[3]提出一种数据统计查询自适应加权方法。在数据集特征二值化前得到统计信息,采用查询向量的哈希特征替代二值编码计算权重值。利用数据集统计信息、查询向量和数据库二值编码计算权重值,防止由二值化引发的原始数据信息大量丢失,保留查询图像差异。但该方法计算权重值消耗时间较长,无法完成高效率查询任务。文献[4]设计一种海量数据上有效的top-k Skyline查询方法。首先对表执行预排序操作,保证预排序表的元组按照对有序列表的round-robin扫描的顺序排列,并利用对预排序表的顺序扫描来获得候选元组,最后计算候选元组的支配分数并返回结果,完成数据查询。但该方法在数据查询时没有充分考虑数据库中的异常数据,导致计算结果精度较低,降低了查准率。
以上方面均存在不同程度缺陷,为此本文提出一种基于元数据关联特征的交互式数据快速查询方法。在探究大数据交互式过程前提下,运用并行抽样算法分析元数据关联性,采用差分累积函数在相空间重构中组建高维相空间,得到元数据关联差分累积函数特征,实现精准有效的交互式数据快速查询。
2 交互式数据预处理过程
大数据条件下,人们总是面临信息过载的难题,数据挖掘是在海量数据内获得所需知识的有效途径,但传统数据挖掘架构是将机器当作中心,知识经验丰富的数据科学家仅能局限地加入模型建立过程[5]。另外,传统方法的数据挖掘模式不能快速回馈中间结果给用户,参变量调整速率较慢,造成不必要的资源耗费。传统数据挖掘架构如图1所示。
图1 传统数据挖掘架构图
为了让用户可以更为方便高效的参加数据挖掘过程,增强良好使用体验,设计一种交互式数据挖掘架构,具体参见图2。所提方案在数据预处理、模型训练和结果获取三个阶段都提供了交互支持。用户能够根据自身需求选择是否加入数据挖掘过程,如果用户选择不加入,此架构和传统数据挖掘过程是相同的。
图2 交互式数据挖掘架构图
交互式数据挖掘使用分布式设计理念,把数据集分割成多个小数据片,按照用户设置的数据处理行为,对各个数据片都装载处理逻辑,以便很好的完成处理任务。为提升交互式数据处理速率,并节约计算资源,在程序碰到不能处理的异常数据时,处理节点会把异常数据传输到异常数据收集节点中,再继续处理后续数据。在真实操作中,按照业务需求差异[6],异常数据有可能被丢弃或修改,架构会产生两个结果集:只包含正常交互式数据的结果集和异常数据被修改后的结果集,如图3所示。
图3 异常数据预处理结构
交互式数据完成预处理后可获得特征矢量集合,用户选择待运行算法同时设定模型观测点。架构把用户设定变换成代码片引入算法内,将整理后的算法文件传输到每个节点。当节点运行到观测点时,将中间结果进行抽样得到的观测集展现于用户界面中。在大数据背景下,储存算法各个步骤的中间结果会耗费大量资源,架构使用按需规划方法,在用户无法设置观测点的状况下,架构不会保存中间结果。
初始数据属性是按照用户对业务的理解获得的,是用户比较熟悉的架构,算法内的数据集是对初始数据采取一系列处理所组建的,其数据维度要远高于初始数据属性,是用户无法观测的架构。在算法生成的结果集合内,对用户兴趣结果进行溯源,便于用户明确初始数据和结果的相对关联,对数据理解更加透彻。为完成此类溯源模式,要保存记录级别的依附关联[7]。操作数据过程中,将操作输入与输出依次当作唯一标记,同时储存成输入输出标识表。溯源仅需把每个阶段的标识表连接即能得到初始数据。
3 基于并行抽样的元数据关联性分析
以上交互式数据预处理过程可提供给用户良好操作体验,同时获得准确的元数据关联分析结果,首先使用Map Reduce编程模型对元数据进行操作处理,明确元数据间隐含关系。
Map Reduce编程模型利用分布式思路,将元数据集分发至一个主节点管理下的每个分节点内,令其一起完成处理任务,合并每个分节点的中间结果,获取最终处理结果[8],具体处理结构如图4所示。
图4 Map Reduce处理元数据集
该模型具备两个关键函数,通过用户进行编写,也就是map与reduce。map可以把任务化解为多个任务,reduce将每个任务处理成果进行融合。关于并行编程内的其余问题,例如分布式储存、工作调度、负载均衡等,都是通过Map Reduce架构进行实现。
利用传统方法处理元数据过程中,由于内存问题,不能容纳元数据对某个规模项集合进行计数需要的空间,如若要算出全部集合就要进行k次扫描,可使用元数据抽样样本替代全部集合进行运算。但在真实操作中,预先明确所需处理的元数据涵盖的记录个数是比较困难的,当元数据量较大时,扫描一次的代码代价十分高昂。本文提出一种在不了解元数据记录个数的情况下,单次扫描就能完成随机抽样,同时获得样本数据记录个数的并行算法,很好地解决以上难题,确保后续关联性分析支持度的结果精度。设计过程为:
预先存储前k个因子(k即为样本记录个数),将第k+1个因子当作初始点,用1/i的几率挑选第i个因子,同时任意替换一个已经存储的记录,那么遍历一个就能获得k个因子,保障随机选择完整性。
在n=k的状况下,将前k个因子安置在蓄水池中可知,各个样本取出概率都是相同的,表示为k/k=1。若此刻样本编号是n,各个取出样本的概率都相同,即k/n,就要验证此类状况同样适用于n+1,验证过程如下:
用k/(n+1)判断是否将n+1放在蓄水池内。n+1出现于蓄水池内的几率是k/(n+1),设定前n个因子内的随机因子为m(k+1≤m≤n),则m在蓄水池内出现的几率是
(1)
从式(1)中可知,关于n+1各个样本取出几率均相同,也就得到k/(n+1)。想要完成上述并行抽样计算,仅需在Map Reduce架构内编写mapper即可。在map函数内,用户描述一个数组保存选择的k个元素,等扫描全部因子之后,在析构函数内把数组元数据传输至磁盘内部。
通过并行抽样法算法,在得到的样本内挖掘频繁项集,即元数据间的关联性结果。使用基于Map Reduce编程架构完成的并行频繁项集,能够找出大数据内相互关联的元数据。
把并行抽样算法内获取的结果放置于分布式文件系统内,这里使用Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)。采用Map Reduce架构能达到样本自主分块目标,也就是HDFS的block是一个map任务输入,完成多个map并行运行。Map函数输入是一条记录,输出是{key:项集,value:1}。因为在map内会生成数量众多的项集key-value,致使reduce任务通信负载过重。
为提升元数据关联分析效率,在map流程中加入combine流程,预先对各个map任务采取相等key的value值融合,降低通信负载数量。在reduce内规范约束此类键值,输出支持度需高于最小支持度临界值项集,也就是频繁项集。
处理reduce输出结果,获得k+1项集,并将其当作下一次Map Reduce中map任务的样本数据,输入至map内持续推算频繁k+1项集,最终得到准确的元数据关联结果。具体过程如图5所示。
图5 元数据并行关联计算过程
4 基于元数据关联特征的交互式数据快速查询
对交互式数据快速查询的第一步是构建关联元数据模型,使用分布式激振模式将元数据保存在数据库内,要对元数据关联进行状态评估,就要获得数据库访问输出
(2)
使用相空间重构与非线性时间序列分析手段研究数据库内元数据关联特征,如果数据库振动信号时间序列是{x1,x2,…,xN},嵌入维数是b,元数据关联后验概率估计是p(x0),由此获得以下公式
(3)
其中,lj(k)是编号j的第k个元数据的关联概率,ηij(k)表示均衡概率。
考虑数据库中元数据关联特征参变量,得到
(4)
使用轨迹协方差矩阵XTX特征值当作观察时间序列的特征值,利用预先得到的数据库信息,计算出实体关联知识库,并使用表征关联知识完成交互式大数据资源整合,获得元数据关联提取解析式为
(5)
其中,Yq×u是关联维度矩阵,Wu×u是关联均衡概率。通过上式可知,数据库中元数据关联特征个数较多,运算复杂度很高,不能对数据库关联元数据采取及时挖掘。要剔除大数据内冗余元数据与非关联元数据干扰,减少查询计算难度。
xn=[xn,xn-τ,…,xn-(b-1)τ]
(6)
其中,τ是对变量序列数。
将元数据关联的相空间重构轨迹定义为
X=[x(t0),x(t0+Δt),…,x(t0+(K-1)Δt)]
(7)
其中,x(t)是元数据关联嵌入在相空间内的一组空间形态向量,Δt是抽样时间间隔。
在高维相空间内,计算元数据关联差分累计函数特征,即能获取数据库差分累积函数特征,记作
(8)
其中,a0,a1,…,aM是差分累积矢量,ai、ci均为差分累积函数特征指数。
运用差分累积函数特征与相空间重构,完成交互式关联查询,将元数据关联特征矩阵X实施奇异值分解
X=UDVT
(9)
其中,U∈Rm×n为正交矩阵,V∈RM×N,并保证UT=U-1。
元数据关联特征提取过程为
(10)
其中,yl为关联特征系数。
求解出l个特征值λ1,λ2,…,λl及特征矢量矩阵Y=[y1,y2,…,yl],并将元数据关联特征估计描述成
(11)
其中,Xk是元数据关联统计数值,oi是元数据关联特征最高值。
在交互式关联查询中,查询追踪轨迹对角线位置线段关联近似点的确定性特征是
(12)
其中,l是追踪轨迹对角线位置线段长度,Rij表示查询中的特征值,Nl是涵盖在和查询追踪轨迹对角线平行线段内的关联近似点数量。将元数据关联路径定义为
(13)
经过以上分析,获得元数据关联查询查准系数的表达式为:
(14)
根据上述过程,完成交互式数据快速查询,在最大限度满足用户使用需求的同时,节省用户搜索数据的时间与精力,令其及时快速获得所需信息。
5 仿真结果与分析
为了验证基于元数据关联特征的交互式数据快速查询方法在实际应用中的性能,进行一次仿真。仿真中,创建一组涵盖1300组搜寻数据属性分布集的交互式关联查询模型,探究数据关联查询精度与抗干扰性。特征数据查询节点数量是53个,数据采集容量是15Git,数据初始采样频度是130kHz,数据库内保存了120TB的资源信息,每个分割间隔是2MB。
依据以上仿真环境与参变量设定,完成交互式数据快速查询验证。初始数据采样时长为0~60ms,采用本文提出的基于元数据关联特征的交互式数据快速查询方法、文献[3]方法和文献[4]方法,测验三种方法下关联查询的查准率,比较结果如图6所示。
图6 查准率结果示意图
从图6中可知,本文提出的基于元数据关联特征的交互式数据快速查询方法的查准率和文献[3]方法相差不多,但略高于文献[3]方法,却远远优于文献[4]方法。出现此种现象的原因在于本文方法采用交互式理论,充分融合用户喜好需求,让用户切实参与关联查询过程,关联查询结果更贴合用户实际需求,查准率随之提高。
为了进一步验证本文方法的有效性,对本文提出的基于元数据关联特征的交互式数据快速查询方法、文献[3]方法和文献[4]方法的关联查询时间开销进行对比分析,对比结果如图7所示。
图7 时间开销结果示意图
分析图7可以看出,伴随待查询数据规模的增多,计算时间开销均呈现上升态势,但本文方法总时间开销均低于两种文献方法。这是因为本文方法使用并行抽样算法,得到精准的数据关联性结果,能够增强数据关联查询效率,有效缩短查询时间。
6 结论
为提升大数据查询性能,提出一种基于元数据关联特征的交互式数据快速查询方法。所提方法能够快速有效完成数据关联查询,并且为用户提供优质的交互体验。但该方法在关联性分析方面,仅在元数据集内完成关联计算,并不能确保会生成全部数据频繁项集,或许会影响查询时效性,后续工作会对此方面进行深入探究。