论文部分内容阅读
进入21世纪,全球范围内的数据量呈爆炸性增长。分析调研机构IDC发布的报告显示,全球的数据总量每两年就会增加一倍。到2015年,数据量预计将会达到8000EB。 海量数据中,流数据是一种非常重要的数据类型,它广泛地出现在各行各业的应用中。流数据可以被看成是一种随着时间动态增长的数据集合。在流数据处理过程中,存在一种多应用共享流数据的场景。因为流数据规模巨大和增长迅速的特点,导致广泛的多应用共享流数据的需求。如果流数据无法被及时处理,就需要将这些数据进行存储。当不同应用需要访问流数据时,都需要从存储系统中进行读取。这样不但降低了流数据的处理效率而且增加了存储负载和I/O开销。如何能在为不同应用类型提供高效流数据服务的同时,提升流数据的处理响应速度,减小空间开销成为一个迫切需要解决的问题。本文从在线流数据服务框架、数据管理算法和在线流数据服务系统三个层面对这个问题进行讨论和解决。 首先,本文提出了一个在线流数据服务框架。通过对多应用共享流数据场景进行分析和抽象,设计了具有数据层、管理层和接口层的在线流数据服务框架。框架将流数据管理划分为索引建立、注册器、匹配器和内存清理四个组成部分,并且通过一个专用的数据管理引擎对流数据进行管理。框架的提出为多应用流数据共享场景提供了一种统一管理流数据的方案。 其次,本文研究了基于倒排索引的数据管理算法。多应用共享流数据问题可以直观地建模为以数据为顶点以共享关系为边的图模型。但是这个图模型的顶点数目多,难于计算。我们首先通过研究该图模型的对偶形式,建立了对偶图模型。通过对对偶图中的边的数目进行压缩,大大简化了对偶图模型。然后以对偶图模型的顶点表为基础,建立一种倒排索引结构。在倒排索引结构上设计了应用注册、数据查询和内存清理等算法。基于倒排索引的数据管理算法,为在线服务框架提供一种高效的数据管理方式。 最后,本文设计实现了一个在线流数据服务系统SkyAvenue。SkyAvenue系统以在线流数据服务框架为基础,提供索引建立、应用注册、数据查询和内存清理等功能。并且在测试环境和实际环境中对SkyAvenue进行了实验,实验结果表明,SkyAvenue系统在多应用流数据共享场景写有着良好的读写性能和稳定的空间开销。 本文从多应用共享流数据场景的实际需求出发,首先从抽象层面进行分析,提出一种在线流数据服务框架,然后重点研究了一种基于倒排索引的快速数据管理算法,最后设计实现了一个在线流数据服务系统SkyAvenue。提出一种为不同应用提供高效流数据服务的同时,提升流数据的处理响应速度,减小空间开销的整体解决方案。