论文部分内容阅读
日益发展的新一代无线网络对于实时数据流处理也提出了新的要求。射频标签(RFID)使得每个物品都可以接入网络,微传感器无时无刻不在检测着环境信息并传送给主控节点,这对主控节点的处理能力提出了严峻挑战。这就需要一种数据处理机制实时而精确的对数据流进行分类和计算,使其在实用价值消失之前尽可能转变成收益,因此流计算技术应运而生。流计算的主要目的是从实时的原始数据流中提取出各应用感兴趣的信息,完成一系列操作后输出给用户。该技术最大的特点是自数据流出现,就在其不断变化的过程中进行分析并从中获取有用信息传递给用户。本文通过分析数据流,建立复杂事件的处理模板,从而对复杂事件进行数据驱动的计算和推理,并对数据流进行动态的分布式控制,实时调度各种任务,正确、高效地将不同类型的任务分配给不同的任务处理器,提升系统性能。最后设计Socket通信接口,提升其应对大量连接请求的能力。本文的主要贡献包括:(1)针对数据元组以乱序的形式到达时可能会造成匹配错误的问题,提出了实时模板匹配(Real-time Query Matching, RQM)算法,把新事件组成的有序集合与模板进行对比,根据有序集中缺失事件的类型和个数判断该集合能否在未来成功匹配,丢弃匹配概率较小的子集节省空间,提高匹配速度。(2)针对数据流量较大时传统调度算法效率较低的问题,提出一种面向流计算的动态分配调度(DynamicAssignment Scheduling, DAS)算法,设立多个逻辑主机,每个逻辑主机又设立多个操作器,并行处理数据流。通过将总的调度问题转化为每个操作器的公共子问题,减少了调度开销。同时缩减了调度算法的执行间隔,提升了调度精度。(3)为使得流计算服务器通信层在大量数据流来临时仍然保持稳定的效率,使用线程池技术构建了流计算服务器,设计了系统运行支撑方案,并计算了动态线程池在面临超过其容量的请求时的开销,提出使用缓冲池存储超量连接请求而不是动态生成额外线程的方案,然后对总体设计进行优化,应对常见的突发情况。