智慧城市大数据处理应用中包括很多对流式数据的计算处理,例如智慧邻里社 交应用中的即时通信消息处理和舆情监控、智慧楼宇应用中的楼宇状态信息监测、车联网应用中的城市交通路线规划等等。这些面向智慧城市大数据处理的流式计算 应用大多采用云基础设施和分布式系统架构,涉及流式数据分析、复杂事件处理和 业务规则处理等多种模式,对应用开发人员的技术能力要求高。因此,如何在云基 础设施服务 (IaaS,Infrastructure as a Service)的基础上,为面向智慧城市大数据处 理的流式计算应用 开 发 及 运 行 提 供 统 一 的通用平台服务 (P a a S,Platform as a Service),以方便应用开发人员专注于应用业务逻辑、提高开发效率,是亟待解决的 实际应用问题。 针对上述问题,本文以实验室承担的“智慧邻里社区服务软件系统研发”实际项 目为背景,在对流式计算、复杂事件处理、规则引擎等相关技术和Storm、Esper、 Drools等开源框架深入分析研究的基础上,结合实际需求,提出了一个统一的流式 计算服务 (Stream Computing Service,以下简称S C S ) 模型,并基于该模型和Storm 等开源框架设计并实现了一个流式计算服务系统。该系统解决了 S t o r m中应用执行 实体并行度不能动态调整的问题,可以为面向智慧城市大数据处理的流式计算应用 提 供 P a a S平台服务,应用开发者仅需定义S C S 应用描述文件并开发相关业务处理 逻辑代码即可构建完整应用。本文基于该系统进一步开发了一个智慧邻里社区服务 系统中的邻里社交即时消息处理应用实例。测试情况表明,该系统是可行及有效的。 本文的工作要点主要有: 1 ) 流式计算服务系统以S C S 模 型 和 Storm开源框架为基础,但 Storm应用执 行实体的并行度不能动态调整,导 致 S C S 应用在大数据量时处理能力难以 扩展等问题。本文在深入分析Storm源码的基础上,提出了一种可对Storm 应用执行实体的并行度进行动态调整的P D C 算法,并基于该算法设计实现 I 万方数据J??o Tong Univ^rtity 智慧城市大数据平台的流式计算服务系统 了并行度 动 态调整(P D C M ) 模 块 。测试及应用实例情况表明,该模块可 动 态 调 整 Storm应用执行实体的并行度及执行实体间的并行度比例关系。 2) 基于云基础设施和分布式系统架构的流式计算应用对应用开发者的技术能 力要求高。为了在平台服务的基础上支持对流式计算应用的开发,本文提 出一种统一的S C S 模型,基于该模型设计并实现了 S C S 应用定义工具,使 得开发者仅需要通过定义S C S 服务描述文件并实现关键处理逻辑便可生成 一个可运行于S C S 系统的流式计算应用。测试及应用实例情况表明,该工 具是可行及有效的。 3 ) 基 于 S C S 模型的流式计算应用可由S C S 应用描述文件定义并构建,应用的 运 行 需 由 S C S 执行引擎来实现,本文基于开源框架Storm、Esper和 Drools 设计并实现了一个基于S C S 模 型 的 S C S 执行引擎。该执行引擎将基于Esper 的复杂事件处理和基于Drools的业务规则处理作为统一的Storm处理节点, 并以一致的方式利用S t o r m的分布式机制来解决其可扩展性问题。该执行 引擎还实现了 S C S 模型中具有并发和分流关系的节点间数据分发机制。测 试及应用实例情况表明,该 S C S 执行引擎是可行及有效的。