● 摘要
航天器综合测试会产生大量测试数据,这些数据经网络传输到数据库服务器,通过实时入库系统录入到Oracle10g数据库中。综合测试数据量大,具有时间密集性特征,通常1秒会产生1条或多条数据,年测试数据量通常达到T级。为了及时分析测试结果,在测试进行过程中就要对这些实时产生的数据进行查询。现有的B/S数据查询系统主要面向历史型号的测试数据查询,采用每次查询都去数据库服务器中获取数据的方式。在数据实时传输及实时入库的运行环境中,这种方式极大地消耗了数据库服务器的资源,占用了不必要的网络带宽。此外,分页查询效率低也是当前系统亟需解决的问题。 本文基于航天器综合测试数据特点和用户查询的特征,提出了在应用服务器端开设数据缓存的方法,设计了面向航天器综合测试数据查询的缓存替换算法和分区间分页查询方法,并构建了综合测试数据查询原型系统,具体的研究内容包括:1、分析航天器综合测试数据特点,研究相关数据库表结构特征,分析用户的查询行为,提出了开设Web数据缓存和分区间分页查询的策略,并充分调研了国内外缓存技术研究进展及B/S分页查询方法。2、借鉴Web数据流挖掘的相关思想,基于GDSF(Greedy Dual Size Frequency)算法,设计面向航天器综合测试数据查询的缓存替换算法GDSF-DSM(GDSF-Data Stream Mining),并对其进行充分的实验分析,证明了该算法具有更好的性能。3、根据航天器综合测试数据的特点、存储结构及查询结果集特征,设计适用于航天器综合测试数据查询的分区间分页查询方法,该方法具有良好的用户友好性,占用较少的系统资源,高效且运行稳定。4、基于GDSF-DSM构建Web数据缓存,并结合分区间分页查询方法,设计和实现了综合测试数据查询原型系统QS_CACHE,通过原型系统实验验证了上述方法的有效性。本文研究成果对实时环境中航天器综合测试数据查询处理具有重要意义。