数字城市建设中GIS数据跨服务器无缝漫游

2013-05-15 00:57李治庆商秀玉李成名马照亭
测绘通报 2013年3期
关键词:漫游调度服务器

李治庆,商秀玉,李成名,马照亭

(1.海军航空工程学院,山东烟台264001;2.浙江师范大学,浙江金华321004;3.中国测绘科学研究院,北京100830)

一、引 言

数字城市建设是数字省区、数字中国建设的基础[1],而解决各个城市节点之间的信息孤岛[2]问题是首要任务。目前,当在GIS客户端进入一个城市节点之后,除非手工转入其他地区,通常还不能够做到通过地图漫游的方式自动转入其他城市节点调度数据。尤其是三维GIS中的城市模型数据,由于其数据量大、配置复杂,通常每个服务器都有相应的独立配置以供客户端加载使用[3-4]。虽然通过全局配置可以实现各个地区之间的数据动态调度问题,但是存在维护复杂、客户端一次加载配置数据过于庞大等问题,因此并不是一个理想的解决方案。NewMap GIS作为我国数字城市建设的中坚力量,在数字城市建设中发挥了重要作用,本文将通过其在城市三维场景中对跨服务器数据的动态调度应用来探讨跨地域服务器节点数据的动态调度与无缝漫游的问题。

二、三维场景数据的动态调度

由于数字城市建设中不同地域数据采用分布式部署,即以某地区服务器为入口进入GIS时,首先要加载该服务器上的相关资源配置(或者称为数据源)以实现GIS对该服务器数据的请求调度。因此,若要通过某一服务器资源配置入口无缝漫游到其他服务器并自动调度该服务器上的数据,则首先要让GIS系统能够获取该服务器相关信息。而在每台服务器上都保存一份全国所有城市服务器节点的配置表显然是不现实的,这就要求GIS系统本身具有可以根据数据需求自动获取服务器节点的能力,并且对于每个服务器来说无需知道可能存在的所有服务器节点,进而可以独立配置、独立维护。

基于此,NewMap在设计过程中采用了如下措施:

1.Server Layer(服务器层)的引入

在NewMap GIS中,为实现三维场景中服务器数据请求调度,同样首先要加载该服务器的资源配置信息,而这是一个基于XML的资源置文件。为实现不同服务器间的数据调度,笔者在资源配置中引入了Server Layer这一个概念。当服务器配置数据加载时,首先挂接到该数据所属的Server Layer中,然后将Server Layer作为一个层供GIS调度。通过这种方式,从不同服务器调度的数据在GIS中将会属于不同的Server Layer,进而在不同的服务器之间调度数据时可以便捷地实现数据的统一加载与卸载处理。因此,在服务器资源配置文件中增加一个Sever Layer节点,其基本结构如下

它包含一个本服务器相关的服务器配置文件地址和本级服务器所包含的数据范围,即range段中的内容。如上面例子中指定该服务器所包含的数据为全球影像分割的第3个区域(face),其数据的最低精细度为6级,范围为6级分割的行坐标编号为15~23、列坐标编号为53~61的区域,关于此类区域的编号含义可以参考相关GIS对于地形图影像分割的方法介绍[5]。由于地区的实际包含区域通常不是规则的矩形区域,因此对于不规则的地区可以建立多个range以对其进行详细划分,如图1所示。

图1 跨服务器不规则区域分割配置示例

图1中,A市边界为不规则区域,为尽量减小与其他地区包含区域的重合,在对A市的range区域划分中根据其地区边界特征将整个城市的range范围划分为5个range(实线框A1~A5),同样B市也可分为多个range(虚线框B1~B2)。具体的区域划分相对较为灵活,而对于上述划分可能会存在同一个地域可以因为边界的不规则而被多个服务器区域共同包含,如图1中实线与虚线框相交的部分。当用户漫游到该交叠区域时,数据的加载通常为当前正在使用的数据服务器,即如果当前是从A市漫游至该区域,请求为A的则继续向A发送数据请求,反之则向B请求。

2.Server Tree(服务器节点树)的动态维护

在GIS中对于Server Layer的管理是通过Server Tree实现的。不同的Server Layer在GIS中将依据其服务器配置及行政关系构成一个动态树结构,并随着不同服务器节点被GIS调度,GIS会动态地在Server Tree中维护这些Server Layer节点,进而实现不同服务器之间数据调度时的切换及过时的Server Layer的卸载。每个服务器的 Server Tree结构如图2所示。

图2 多服务器节点树形结构图

对于Server Tree的建立,是依据对Server Layer中指定的ServerConfig.xml配置文件的解析实现的,该文件同样采用XML格式设计。下面以数字滨州的建设为例,该城市有市一级服务器集群(视为一个服务器节点),同时在县一级建设中有博兴县和邹平县率先加入该市的数字城市建设中来,它们分别有自己的独立数据服务器,随着经济的发展该市的其他县区也有可能陆续加入。该市的服务器部署情况如图3所示。

图3 多服务器节点配置示例

ServerConfig中包含了其上级服务器的配置信息与子级服务器的配置信息,它们与当前服务器配置的唯一区别是其指向的是指定服务器的资源配置文件,并用于当GIS判断需要向该服务器请求数据时可以首先动态加载该服务器的资源配置数据,以实现对该服务器的数据调度。Server Tree的建立以该配置为依据,但是其根节点始终为当前加载的Server Layer,子节点为该服务器配置的子服务器信息。因为在地域漫游时只要在该服务器的地域范围内仅仅需要遍历该服务器的子节点即可,从而可以避免大量地遍历整个树结构进行查询。当漫游出该服务器的地域范围时,GIS可根据指定的父服务器查询所需要的服务器节点,同时将树的根节点变换为需要加载的Server Layer,进而达到服务器的动态调度的目的。

在服务器配置文件中对于不存在的服务器可以暂时留空,如前文中的山东省省级服务器,由于数字省区建设还没有启动,一旦拥有了省级服务器平台则在市级服务器上制定相关服务器即可(在留空期间该服务器节点向上属于孤立节点,即不能实现网络中可能存在的与该服务器没有直接行政关系服务器的数据调度,这里可以通过一个由New-Map GIS提供的全局中转服务器实现)。这种方式可以保证在独立的服务器配置时不用过多考虑其他服务器的互联互通问题,而仅仅需要了解其行政上的上下级服务器,即可完成整个互联网络中可以连接到的服务器之间的数据调度。在GIS中则会根据用户已经漫游过的地区维护一个动态服务器节点树,而对新解析到的服务器则会动态地更新到该树中,并对已经过时的服务器进行动态的卸载以减轻负荷。

通过上述配置可以看出,由于数据经过格网分割,且对于行政区域边界来说通常都是不规则的,因此对于一些边界地域可能存在由多个服务器共同包含的问题。而数据往往只存在于一个服务器中,因此会导致在数据调度时不能够完全精准地实现服务器数据的请求。图1中,当从A地区进入A、B交叠区域时(虚实线框交叠部分),尽管可能已经进入B市但是在此区域仍然会向A服务器发出数据请求,反之亦然,即使进入A地区也仍然会向B服务器请求数据。但是这种情况可以通过划分更详细的range来不断精确,不过需要考虑过多的区域划分可能导致计算量加大的问题。

3.服务器的独立维护与自主查询

通过上述机制的引入,在每个服务器配置与维护时可以实现服务器的独立维护与配置,而不需要过多地考虑网络中可能存在的所有服务器的信息。仅仅通过行政关系中指定的上下级服务器,即可实现对网络中可能存在的未知服务器的自主查寻与数据的请求和调度,从而实现GIS中跨服务器动态漫游时的数据无缝调度。

三、效果验证

对于上述设计的试验,同样以数字滨州的建设实现为例,在基于上述的配置中通过GIS精确划定滨州市服务器及其每个子服务器所包含地域范围。在市级服务器中仅包含滨州城区及周边的高分辨率影像和地形数据,而其下属县中博兴和邹平的高分辨率数据则分别存储在两个县的县级服务器中。图4(a)为滨州市与周边城市的数据跨服务器加载,由于周边数字城市建设还没有启动,因此仅有低分辨率的父一级服务器数据;图4(b)为从滨州市区漫游到下属博兴县时跨服务器数据加载的情形,由于在市级服务器中没有更高分辨率的县一级数据,因此在漫游至该县时GIS会自动请求该县一级服务器数据,从而形成分辨率不同的一个明显界限。

图4 跨服务器数据动态加载效果

四、结束语

通过试验证明,上述设计可以良好地解决数字城市建设中基于多节点服务器的数据动态调度与GIS中的跨地域无缝漫游问题,从而为数字城市建设的下一步发展,即数字省区与数字中国建设中的跨节点数据的互联互通问题作好服务。

[1] 中国新闻社.全面加快数字城市建设与应用 倾力夯实数字中国建设基础[EB/OL].[2012-01-16].http:∥www.sbsm.gov.cn/article/mtbd/201011/201011000745 90.shtml.

[2] 百度百科.信息孤岛[EB/OL].[2012-01-16].http:∥baike.baidu.com/view/912383.htm.

[3] Esri.ArcGIS Desktop Help Online[EB/OL].[2012-01-16].http:∥ webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=welcome.

[4] 北京超图软件股份有限公司.SuperMap Deskpro.NET三维场景制作[EB/OL].[2012-01-16].http:∥wenku.baidu.com/view/3cab9a2ded630b1c59eeb544.htm l.

[5] 张新长,马林兵,张青年.地理信息系统数据库[M].2版.北京:科学出版社,2010.

猜你喜欢
漫游调度服务器
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
通信控制服务器(CCS)维护终端的设计与实现
基于强化学习的时间触发通信调度方法
一种基于负载均衡的Kubernetes调度改进算法
虚拟机实时迁移调度算法
霹雳漫游堂
中国服务器市场份额出炉
NASA漫游记
得形忘意的服务器标准
计算机网络安全服务器入侵与防御