基于.NET Remoting的CoGIS研究

2011-08-10 04:46:50王忠波
城市勘测 2011年4期
关键词:协同工作序列化接收器

王忠波

(嘉兴市国土资源局,浙江 嘉兴 314000)

1 引言

协同地理信息系统(Cooperative Geographic Information System)又名CoGIS是构建于地理信息系统上的协同工作平台,为地域分散的群体用户提供协调与协作完成特定任务的环境。本文讨论了CoGIS的概念,然后基于 Microsoft.Net Remoting技术,利用 Arc-GIS Engine开发组件以及Visual Studio 2005开发平台,初步实现了CoGIS功能。

2 CoGIS概念

面向群体用户,CoGIS提供一个工作平台,群体用户以此平台进行空间信息编辑、加工、会商、分析、决策,共同完成一项复杂的工作,它可访问共享的多种信息,这种新型的地理信息系统我们可以统称其为协同地理信息系统(Cooperative GIS,简称CoGIS)。CoGIS技术的目的和实质是:利用通信技术和计算机技术建立一个基于GIS的协同工作环境,在此环境中人们可以共同工作、互相合作,一起致力于一个项目或一个研究领域,或解决一个学术上的难题等[1]。于是CoGIS可以定义为:一组或多组异地的用户,借助计算机及其网络技术,基于地理信息共同协调与合作来完成一项任务[2]。此外,有文献讲 GIS与 CSCW(Computer Supported Cooperative Work)的结合便产生CoGIS(Collaborative GIS)简称 CoGIS[3]。

CoGIS形式是合作,关键是协调,要求多点实时通讯,是一种支持人们在共享环境下共同完成同一件涉及GIS的群体工作的计算机应用系统[4],CoGIS从技术和理论上研究和解决人们是如何基于地理信息进行群体协作的;应提供什么样的技术手段以帮助人们进行基于地理信息的合作。

3 .NET Remoting概述

CoGIS要求各个客户端之间能够自由通信,交流工作信息,Microsoft.NET Remoting提供了一种允许对象通过应用程序域与另一对象进行交互的框架,.NET Remoting的体系结构主要元素有:远程对象、信道、消息、格式标识符、格式标识符提供程序、代理对象、消息接收器、RemotingConfiguration类以及ChannelServices类。

透明代理对象上的方法当客户机调用远程对象上的方法时实际上被调用。然后,透明代理对象调用真实代理对象。真实的代理对象负责把消息发送到信道中去。真实代理对象的默认执行方式是查找特使接收器的集合,并把消息传递给第一个特使接收器。特使接收器可以截取和改变消息[5]。

最后一个特使接收器把消息发送到信道中。.NET Framework 2.0提供了二进制格式标识符和SOAP格式标识符。信道负责发送已格式化的数据,或者负责连接到服务器的监听网络接口上。仅需执行代码来定制信道的功能,就可以完成把数据传输到另一端的必要工作。服务器端的消息传送如图1所示:

图1 服务器端的消息传送

信道接收来自客户机的已格式化消息,并且使用格式标识符解开消息中的SOAP或二进制数据。然后,信道调用服务器环境接收器。服务器环境接收器是一个接收器链,链中的最后一个接收器继续调用对象环境接收器链[5]。最后一个对象环境接收器调用远程对象上的方法。

4 基于.NET Remoting的CoGIS设计及实现

4.1 CoGIS总体框架设计

CoGIS总体框架如图2所示:

图2 CoGIS总体框架图

协同服务器主要对整个CoGIS进行管理,包含用户管理、文件管理、标绘管理、语音通信、文字交流、协同控制6个模块,下面重点介绍用户管理和协同管理两个模块。

用户管理:可以设置用户信息、指定用户密码、允许或禁止用户参加协同等;对用户身份按首级用户、次级用户、三级用户进行分级,并且对次级用户的优先顺序进行排序;对用户的权限进行控制。

协同控制:负责启动和结束协同工作,当用户方出现故障时,协助用户方进行数据恢复,并对后加入的用户进行管理,使其快速融入协同工作。

协同客户端主要负责对具体事件的分析处理,在结合综合情况的基础上给出本部门对事件的处理意见,并把意见及时传达给指挥中心。协同客户端包括标绘管理、语音管理、文字交流、协同控制、地图管理五个公共模块,另外还有一个根据各个部门的职能设置的模块,其中地图标注和地图管理这两个模块。介绍如下:

地图标注:指多个决策指挥机构或者人员在同一幅地图上标绘决策指挥信息,以借助地图来完成应急协同工作。多个远程客户端连接都同一个服务器端以后,可以进行协同标绘,同步显示所有标绘内容,实现所有客户端的协同作业。

地图管理:系统地图数据分为两部分:第一部分是本地地图,地图数据源和地图文档都放在客户端机器上,作为系统底图使用,内容包括基础行政区划图、影像和DEM等,用于确定地理位置和范围等。第二部分为网络地图,以网络地图服务的形式存在,客户端只有mxd地图文档、lyr图层文件或WMS图层连接字符串,客户端不能获取真实地图数据,只能得到图层绘制出来的图片。地图管理重点针对第二部分,以解决数据的保密问题,保证数据的安全性。

协同服务器和协同客户端都具有数据库,来存储管理协同工作的信息。对于涉及地理信息的数据,引入ArcSDE(空间数据库引擎)来辅助数据的管理。

4.2 CoGIS的实现

(1)服务器端和客户端实现

CoGIS的实现包括服务器端实现和客户端实现两部分。其中服务器端实现包括注册通道和注册远程对象。通道是跨越应用程序域进行通信的基础。Remoting提供了包含TcpChannel和包含HttpChannel两种类型的通道的 IChannel接口。TcpChannel和 HttpChannel除了性能和序列化数据的格式不同外实现的方式完全一致。

当通道完成注册时,如果想激活远程对象,必须在通道中注册该对象。注册对象的方法根据激活模式的不同分为SingleCall模式和SingleTon模式,系统采用SingleTon模式注册。如果要关闭Remoting的服务,可以关闭对通道的监听,也可以注销通道。

客户端实现包括注册通道,获得远程对象两部分。客户端首先要注册通道,因为Remoting中服务器端和客户端都必须使用通道来传递消息,以获得远程对象。与服务器端相同,不同的激活模式决定了客户端的实现方式也将不同。这个区别仅仅是WellKnown激活模式和客户端激活模式之间的区别,而对于SingleTon和SingleCall模式,客户端的实现完全相同。

(2)Element信息的传递

Element是一个非常庞大复杂的对象集合,可以在地图中标识重要信息、范围、传达和地理信息相关的重要信息[6]。所以关于解决 Element传递问题非常必要。因为Element具有类型、名字、长度、颜色等属性。不能直接进行传递,需要序列化后才可以通过信道传递。Element序列化的方法可以分为两种,一种是序列化为Xml文档,另一种方法是序列化字符流。如图3所示。

图3 Element序列化方法图

Element信息的传递分为三个步骤,第一步,判断是否本地计算机出发的Element信息的添加、删除、更新事件;第二步,对Element操作信息进行标识以及序列化;第三步,将本机的添加、删除与更新操作以及信息发送到服务器,服务器及时将操作信息发送给各个参与协同工作的客户端;如下图所示:第四步,及时执行接收到的Element操作信息。依据以上原理和思路构建的CoGIS原型系统,其客户端运行结果如图4所示:

图4 原型系统运行图

当在一个客户端标注绿色箭头和红色警戒区域时,其他异地的客户端会实时的显示出这个标注,异地客户端可以添加标注,或者删除标注,其操作,也会在其他客户端实时表现出来。

5 结论

基于.NET Remoting的CoGIS可以实时的传递元素Element信息,能达到不同地域的专家、协同工作的参与者实时的交换信息共同完成一项任务的目的,其应用将有效的解决不同地域专家的协同会商,不同部门如公安、消防、卫生、电力等部门间的协作救援,将极大地改善指挥中心与应急现场的信息沟通,为制定科学的应急方案,进行快速的救援,减少人民生命财产安全所用;其缺点是协同功能添加在每个独立GIS终端上,当用户较多时,实现起来比较困难。

[1]李人厚,郑庆华,鲍家元.CSCW 的概念_结构_理论与应用[J].计算机工程与应用,1997,2:28~32

[2]胡雪莲,程承旗,孙永军等.CoGIS_CoGIS概念初探[J].中国图像图形学报,2003,8(6):715~720

[3]崔修涛,熊云被,顾君忠等.基于T.120的CoGIS研究[J].计算机工程,2006,32(6):100 ~102

[4]程承旗,胡雪莲,马蔼乃.COGIS概念及体系结构研究[J].地理信息世界,2003,1(1):23~29

[5]Christian Nagel,Bill Evjen,Jay Glynn.C#高级编程[M].北京:清华大学出版社,2008

[6]刘仁义,刘南.ArcGIS开发宝典-从入门到精通[M].北京:科学出版社,2006

猜你喜欢
协同工作序列化接收器
如何建构序列化阅读教学
甘肃教育(2020年14期)2020-09-11 07:58:36
JXG-50S型相敏轨道电路接收器自动测试台
埃及
Java 反序列化漏洞研究
EVA业绩评价模式下业财融合协同工作模式对企业价值管理的重要性
ZPW-2000A轨道电路接收器冗余电路存在问题分析及对策
作文训练微格化、序列化初探
语文知识(2015年12期)2015-02-28 22:02:15
地理信息系统与勘探开发协同工作平台建设方案
IDT推出超紧凑型无线电源接收器,可节省70%板面积
第二届“BIM技术在设计、施工及房地产企业协同工作中的应用”国际技术交流会在北京成功举办