交通出行是人类最基本的需要之一,然而目前中国城市交通量不断地增长,交通拥挤和堵塞现象日趋严重,正越来越引起社会的普遍关注。交通参与者不能获得实时的交通信息,选择出行路线具有盲目性,是造成高峰期城市出行难的重要原因。如何将可靠的实时交通信息在规定的时间发送到规定的地点,并且在保证消息安全性的同时,增强消息的多样性,是当前智能交通系统的研究热点之一。
传统的交通信息发布系统一般都是基于请求/应答的点对点的同步通信,根本不能满足大规模的动态分布式应用环境,而订阅/发布通信模式实现了时间、空间和同步关系3个方面的完全解耦合,使得它在分布式系统中的应用越来越广泛。通过中间件来进行数据的传输和消息的共享已广泛实施和部署在分布式系统中。通过利用网络通信引擎( Internet Communication Engine ,ICE) 中间件很好地解决了交通信息发布在分布式系统中缺乏实时性的问题。
1. ICE 中间件
ICE 是由 ZeroC 公司推出的中间件产品,是一种面向对象的中间件平台,为构建面向对象的客户-服务器应用提供了工具、API 和库支持。ICE 应用适合在异种环境中使用,ICE 定义了自己的规范语言Slice,用于使对象接口与其实现相分离的基础性抽象机制。ICE 的客户和服务器可以用不同的编程语言编写,可以运行在不同的操作系统和机器构架上,并且可以使用多种网络技术进行通信。ICE 公开源码,并且无论部署环境如何,这些应用的源码都是可以移植的。ICE 核心为分布式应用开发提供了一个完善的客户——服务平台,ICE 还提供了一系列服务为现实应用提供 ICE 核心不能提供的特性。
IceStorm 是 ICE 的一个服务,是一种发布-订阅服务,它能很好的解除客户与服务器的耦合。发布者把事件发给这个服务,然后由 IceStorm 发给其他多个订阅者。事件按照主题分类,订阅者会指定他们感兴趣的主题。基于 ICE 中间件的订阅发布模型能使得消息的发布端和订阅端专注于自己的应用,减少订阅管理上的应用开销。该模型主要分为发布端,中间件和订阅者端。基于ICE 的订阅发布模型如图 1 所示。

IceGrid 是 ICE 定位服务的一个实现,是 ICE 面向分布式开发提出的解决方案,利用 IceGrid 提供的若干基本服务,可以简化复杂的分布式应用和开发部署。例如它可以使应用客户端能够定位他们的服务器。IceGrid 会在请求到来的时候将服务器激活,响应客户端的请求。
IceGrid用于支持分布式网络服务应用,一个IceGrid域由一个注册表(Registry)和任何数目的节点(Node)构成。注册表(Registry)和节点(Node)一起合作管理一些信息以及包含一些应用(Application)的服务进程。每项应用(Application)被指定在特定节点上的服务。这个注册表(Registry)持久记录了这些信息,而节点(Node)负责启动和监测其指定的服务器进程。对于一个典型的配置,一个节点(Node)运行在一台计算机(称之为Ice服务器主机)。注册表(Registry)并不消耗很多处理器时间,所以它常常是和一个节点(Node)运行在同一台计算机上的,注册表(Registry)还可以和一个节点(Node)可以运行在同一进程中.如果需要容错,注册表(Registry)还可以用主从式的设计支持复制(Replication)。注册表(Registry)的主要责任,是解决作为Ice定位服务的间接代理问题,当客户端第一次尝试使用一种间接代理,客户端Ice run time首先连接注册表(registry),注册表将间接代理的符号信息转化为直接代理的endpoint,然后客户端和直接代理建立一个连接。通过适配器复制,同名适配器可以分布在多个节点上,间接代理可以映射到多个节点上的直接代理,在运行时由注册表服务根据负载均衡自动选择一个直接代理给客户端。 Glacier 是 ICE 的防火墙服务,它能使 IceStorm 穿越防火墙进行消息发布和订阅,不局限于局域网内部。
2. 基于 ICE 的交通信息发布系统的设计
交通信息发布系统可以从城市交通信息平台的路况数据库中获取路况参数。此外,还以对获得的路况信息进行分类处理,将处理后的交通信息分为多个类别,比如交通事故信息,最优交通路线信息,停车位信息和最新交通新闻。然后,将简单分类处理过的路况信息进行发布。在 IceStorm 中,上述各类信息可以分别定义为不同的主题,出行者可以进行对上述主题的订阅,实时接收交通路况中的各类信息。运用 ICE 中间可用来进行实时交通信息的传输与共享,同时为用户展现一个简单的开发和部署平台。交通信息发布系统的系统结构如图2 所示。

基于ICE 的交通信息发布系统主要使用 ICE 中间件的 IceStorm 服务,同时还使用 Glacier 服务来解决 IceStorm 不能穿越防火墙进行消息传输的缺点。这样可以让客户与服务器通过防火墙安全的通信,将 IceStorm 和 IceGrid、Glacier 结合设计的交通信息发布系统如图3 所示。

交通信息发布系统可以作为图3中的发布端,用户则为各类交通信息的订阅端。将 Glacier 和 IceStorm 服务结合放在同一台计算机上。基于 ICE 的实时交通系统首先由发布端发布消息主题,即交通信息发布系统发布各类信息主体到IceStorm中形成主题列表。然后,订阅端使用 Glacier 和 IceGrid 通过防火墙并定位找到激活 ICE 服务所在计算机,并根据自身需要订阅的相应的主题信息并将订阅请求发送给 ICE 服务。IceStorm 能够管理订阅者的增加和删除,维护相关主题的信息,同时将发布端发布的相关消息通过防火墙发送给订阅端。它可以解除订阅端和发布端的耦合,还允许每个订阅者制定自己的服务质量参数。
3.结语
随着我国交通信息系统的建立与完善,交通信息服务也逐渐成为一项便民的服务。文中在研究订阅发布模型以及 ICE 的基础上,提出并设计了一种基于 ICE 的交通信息发布系统,保证实时消息在分布式系统中安全有效地传输到目的地。此外,ICE 在架构上提供的优点也使得该系统具有极其广泛的应用前景。例如,该系统可以使运营商便捷地向订阅客户发布各类信息服务,也可用于企事业内部事件通知等服务。
转载,请注明出处为“智能交通网”(http://www.21its.com)
传统的交通信息发布系统一般都是基于请求/应答的点对点的同步通信,根本不能满足大规模的动态分布式应用环境,而订阅/发布通信模式实现了时间、空间和同步关系3个方面的完全解耦合,使得它在分布式系统中的应用越来越广泛。通过中间件来进行数据的传输和消息的共享已广泛实施和部署在分布式系统中。通过利用网络通信引擎( Internet Communication Engine ,ICE) 中间件很好地解决了交通信息发布在分布式系统中缺乏实时性的问题。
1. ICE 中间件
ICE 是由 ZeroC 公司推出的中间件产品,是一种面向对象的中间件平台,为构建面向对象的客户-服务器应用提供了工具、API 和库支持。ICE 应用适合在异种环境中使用,ICE 定义了自己的规范语言Slice,用于使对象接口与其实现相分离的基础性抽象机制。ICE 的客户和服务器可以用不同的编程语言编写,可以运行在不同的操作系统和机器构架上,并且可以使用多种网络技术进行通信。ICE 公开源码,并且无论部署环境如何,这些应用的源码都是可以移植的。ICE 核心为分布式应用开发提供了一个完善的客户——服务平台,ICE 还提供了一系列服务为现实应用提供 ICE 核心不能提供的特性。
IceStorm 是 ICE 的一个服务,是一种发布-订阅服务,它能很好的解除客户与服务器的耦合。发布者把事件发给这个服务,然后由 IceStorm 发给其他多个订阅者。事件按照主题分类,订阅者会指定他们感兴趣的主题。基于 ICE 中间件的订阅发布模型能使得消息的发布端和订阅端专注于自己的应用,减少订阅管理上的应用开销。该模型主要分为发布端,中间件和订阅者端。基于ICE 的订阅发布模型如图 1 所示。

IceGrid 是 ICE 定位服务的一个实现,是 ICE 面向分布式开发提出的解决方案,利用 IceGrid 提供的若干基本服务,可以简化复杂的分布式应用和开发部署。例如它可以使应用客户端能够定位他们的服务器。IceGrid 会在请求到来的时候将服务器激活,响应客户端的请求。
IceGrid用于支持分布式网络服务应用,一个IceGrid域由一个注册表(Registry)和任何数目的节点(Node)构成。注册表(Registry)和节点(Node)一起合作管理一些信息以及包含一些应用(Application)的服务进程。每项应用(Application)被指定在特定节点上的服务。这个注册表(Registry)持久记录了这些信息,而节点(Node)负责启动和监测其指定的服务器进程。对于一个典型的配置,一个节点(Node)运行在一台计算机(称之为Ice服务器主机)。注册表(Registry)并不消耗很多处理器时间,所以它常常是和一个节点(Node)运行在同一台计算机上的,注册表(Registry)还可以和一个节点(Node)可以运行在同一进程中.如果需要容错,注册表(Registry)还可以用主从式的设计支持复制(Replication)。注册表(Registry)的主要责任,是解决作为Ice定位服务的间接代理问题,当客户端第一次尝试使用一种间接代理,客户端Ice run time首先连接注册表(registry),注册表将间接代理的符号信息转化为直接代理的endpoint,然后客户端和直接代理建立一个连接。通过适配器复制,同名适配器可以分布在多个节点上,间接代理可以映射到多个节点上的直接代理,在运行时由注册表服务根据负载均衡自动选择一个直接代理给客户端。 Glacier 是 ICE 的防火墙服务,它能使 IceStorm 穿越防火墙进行消息发布和订阅,不局限于局域网内部。
2. 基于 ICE 的交通信息发布系统的设计
交通信息发布系统可以从城市交通信息平台的路况数据库中获取路况参数。此外,还以对获得的路况信息进行分类处理,将处理后的交通信息分为多个类别,比如交通事故信息,最优交通路线信息,停车位信息和最新交通新闻。然后,将简单分类处理过的路况信息进行发布。在 IceStorm 中,上述各类信息可以分别定义为不同的主题,出行者可以进行对上述主题的订阅,实时接收交通路况中的各类信息。运用 ICE 中间可用来进行实时交通信息的传输与共享,同时为用户展现一个简单的开发和部署平台。交通信息发布系统的系统结构如图2 所示。

基于ICE 的交通信息发布系统主要使用 ICE 中间件的 IceStorm 服务,同时还使用 Glacier 服务来解决 IceStorm 不能穿越防火墙进行消息传输的缺点。这样可以让客户与服务器通过防火墙安全的通信,将 IceStorm 和 IceGrid、Glacier 结合设计的交通信息发布系统如图3 所示。

交通信息发布系统可以作为图3中的发布端,用户则为各类交通信息的订阅端。将 Glacier 和 IceStorm 服务结合放在同一台计算机上。基于 ICE 的实时交通系统首先由发布端发布消息主题,即交通信息发布系统发布各类信息主体到IceStorm中形成主题列表。然后,订阅端使用 Glacier 和 IceGrid 通过防火墙并定位找到激活 ICE 服务所在计算机,并根据自身需要订阅的相应的主题信息并将订阅请求发送给 ICE 服务。IceStorm 能够管理订阅者的增加和删除,维护相关主题的信息,同时将发布端发布的相关消息通过防火墙发送给订阅端。它可以解除订阅端和发布端的耦合,还允许每个订阅者制定自己的服务质量参数。
3.结语
随着我国交通信息系统的建立与完善,交通信息服务也逐渐成为一项便民的服务。文中在研究订阅发布模型以及 ICE 的基础上,提出并设计了一种基于 ICE 的交通信息发布系统,保证实时消息在分布式系统中安全有效地传输到目的地。此外,ICE 在架构上提供的优点也使得该系统具有极其广泛的应用前景。例如,该系统可以使运营商便捷地向订阅客户发布各类信息服务,也可用于企事业内部事件通知等服务。
转载,请注明出处为“智能交通网”(http://www.21its.com)