论文部分内容阅读
随着互联网规模的不断扩大,服务器托管作为互联网产业重要业务正面临日趋激烈的竞争。为提高市场竞争力,四川IDC数据中心计划向其托管网站提供用户行为分析服务,主要包括网站的点击次数、停留时间、流向地域等。该数据中心托管的网站超过千家,对其所有用户提供该服务,对数据的存储与处理提出极高要求,系统必然面临海量数据问题。本文针对流量测量中的海量数据问题,分析研究了当前用于网络流量测量的数据存储系统,根据FastBit使用的WAH压缩算法的特点提出一种基于列基数聚集存储方法,应用于该海量数据处理系统。主要内容包括:
⑴系统框架设计。在分析数据中心需求的基础上,给出系统的总体结构和各子系统的设计。系统整体分成数据处理子系统和数据存储子系统。
⑵数据处理子系统的详细设计与实现。该部分包括三个功能模块:数据清洗模块、数据流聚合模块、访问者地域模块。数据清洗模块完成脏数据的过滤;数据流聚合模块针对一段时间内同一访问者的多条访问记录进行合并操作,有效控制系统总数据规模;访问者地域模块完成访问者IP完到访问者所在地域的转换。
⑶数据存储子系统的详细设计与实现。该模块包括四个主要模块:数据存储结构设计模块、数据表聚合模块、基数聚集数据存储方法的设计与实现模块和索引优化模块。存储结构设计中设计了详细数据表和汇总数据表两类,分别用于存储用户详细访问状况和概要访问状况;数据表聚合模块通过对查询过程中FastBit所用到的bundle内存结构的使用,完成详细表到聚合表的数据按条件聚合;基数聚集数据存储方法模块中,在对WAH压缩算法进行研究的基础上,提出一种基于基数聚集的数据存储方法,该方法不仅能够有效降低索引存储空间,具有较高的空间效率,而且能够提高数据查询效率;在索引优化模块中采用索引优化理论结合系统实际需要设计适合需要的索引方法。
⑷实际网络环境下的测试与分析。给出了系统性能分析,并详细分析了基于基数聚集存储后索引占用存储空间和数据查询效率的对比,由测试结果可知本系统达到设计目标。本文设计实现的系统完成了IDC数据中心海量用户行为数据所需的海量数据存储与处理工作,能够提供每个网站的访问者IP、点击、停留时间以及流向等访问信息。