现在的位置: 首页 > 综合 > 正文

Arcgis server的池化和非池化

2012年05月04日 ⁄ 综合 ⁄ 共 937字 ⁄ 字号 评论关闭

1.ServerObject的池化和非池化模式

 当我们访问一个服务器对象Server Object的时候,这个对象是已经存在的呢?

还是在访问时新建的?都有可能,这取决于我们如何选择。如果我们选择共享池

化模式,则在SOM启动的时候,SOM就建立了几个SO供外界访问,一个SO被A请求访

问后,被释放回共享池中,还可以下次被B访问使用,因此,SO将可以被多个用户

访问。如果是非共享池模式,当一个请求访问时,SOM专门为它新建一个SO。

这样,在池化模式下,访问与SO的比例不是1:1,它支持更多的用户;而非池化

模式就是1:1的,它支持的用户比池化模式少。

SO 放在什么地方,对,它就放在一个Server Context中,即一个进程中。一个访

问连接到SO,是一个例程,这个例程是放置在一个进程中的。而对于这个进程的

特征,我们还需要进一步设置,即进程的孤立性。如果Server Context是高孤立

的(high isolation),那么一个进程中只能放置一个例程,这样保障了安全性;

如果是低孤立的,四个访问连接的例程都可以放置在一个进程中,它的特点是节

约资源。至于如何设置,就有必要考虑我们的硬件设备了。

 

 

2.ArcGIS Server池化和非池化类型服务区别

如果是非池化的服务,服务中的数据可以是注册了版本或者没有注册版本的,如

果是注册了版本的数据,所有的编辑操作是可以进行redo、undo操作,并且有冲

突解决的方案。如果是没有注册版本的数据,就不可以进行redo、undo的操作,

但是可以对编辑内容选择一次的保存和不保存。

      如果是池化的服务,那么服务中的数据就只能是非版本的。这种情况下的

编辑功能是最简单的,编辑的内容一旦完成就进行了保存,没有办法redo、undo

。比如对一个多边形进行了节点移动的操作,一旦操作完成就不可以进行恢复。

3.形象比喻

池化-鱼

“一个水缸里有好多鱼,你想喂鱼。
池化是你任意抓住一条喂,喂了就放回去。
非池化是指定一条鱼让你喂,直到你不想再喂鱼,就把鱼杀了。
以上是我的理解,不知对否,请高手不吝赐教 !”

这个比喻有点意思,但是非池化还不仅是指定一条鱼的问题,事实是这条鱼原本

并不存在,要现生成。所以从非池化获得鱼的速度比池化中从已有的鱼中任意抓

一条要慢

 

抱歉!评论已关闭.