(以上KML文件使用到的各标签的含义请参考附录I,在GE中的显示效果见附录 Ⅳ 附图 Ⅳ.3)。
上述KML文件的包含信息有:
信息所反映的道路的名称(乌山路_东往西01);
开始和结束统计的时间(05 2 2011 1:26PM,05 2 2011 1:27PM);
信息发布的时间(2011/5/2 15:28:20);
道路的服务水平等级和实时通行状况(城市主干道,顺畅);
根据系统可以提供的信息的种类和用户的需求,可以在KML文件中增加其他的信息。
3. 推送式信息发布技术
3.1. 概述
在很多的应用当中,服务器软件需要向客户端主动发送消息或信息,即“服务器发起的消息传递(Server-Initiated Message Delivery)”。因为服务器掌握着系统的主要资源,能够最先获得系统的状态变化和事件的发生。当这些变化发生的时候,服务器需要主动地向客户端实时地发送消息。对于大部分导航来说通过短轮询的方式查询服务器上的交通信息状态会浪费掉大部分网络资源,也会造成不必要的资费消耗,
3.1.1. 服务器推送(Server Push)模型简介
服务器推送(Server Push)推送技术的基础思想是将客户端主动查询信息改为服务器主动发送信息,服务器发送一批数据,客户端处理并显示这些数据,同时保证与服务器的连接。当服务器需要再次发送一批数据时,客户端显示数据并保持连接,以后,服务器仍然可以发送批量信息,客户端继续显示数据,以此类推[14] 。
Google公司也尝试使用Server Push技术让人们能快速的获取信息,于是在Google发布的Android系统中的2.2版本开始支持C2DM(Android Cloud to Device Messaging)技术,并在谷歌地图中尝试使用该技术发布实时路况[16] 。
图 3 1长轮询的服务器推模型和流方式的服务器推模型
3.1.2. 客户端拉拽(Client Pull)模型简介
客户端拉拽(Client Pull)技术中,服务器发送一批数据,在数据的文档标记中插入指令,让客户端在若干时间后“连接某服务器获取数据”,当指定的时间到达后,客户端就按照服务器的指示去做,或者刷新当前数据,或者调入新的数据[14] 。
虽然服务器推送和客户端拉拽这两种技术手段非常不同,但目的几乎一致,都是为了给最终用户方便的提供最新信息。
GE的kml命令中自带有客户端拉拽的方法,可以通过定时器标识可以让GE定时去访问KML发布服务器获取最新的KML交通信息文件。
3.1.3. 基于心跳的服务器推送
在客户端与服务器之间文持一个长连接会为通信带来一些不确定性:因为数据传输是随机的,客户端不知道何时服务器才有数据传送。服务器端需要确保当客户端不再工作时,释放为这个客户端分配的资源,防止内存泄漏。因此需要一种机制使双方知道大家都在正常运行。同时基于心跳的好处还有不用进行信息广播,在传播的数据安全性上更有保障。在实现上:
客户端与服务端产生第一次连接到这个连接被废弃,如果客户端属于合法客户端,则会在服务器端产生一个唯一的ID与客户端产生映射关系。
服务器端在阻塞读时会设置一个时限,超时后阻塞读调用会返回,同时发给客户端没有新数据到达的心跳信息。此时如果客户端已经关闭,服务器往通道写数据会出现异常,服务器端就会及时释放为这个客户端分配的资源。
如果客户端使用的是基于长轮询方式:服务器端返回数据、关闭连接后,经过某个时限没有收到客户端的再次请求,会认为客户端不能正常工作,会释放为这个客户端分配、文护的资源。
如果客户端使用的是监听方式:服务器端向客户端发送App连接后,经过某个时限没有收到该客户端的连接,会认为客户端不能正常工作,会释放为这个客户端分配、文护的资源。
当服务器处理信息出现异常情况,需要发送错误信息通知客户端,同时释放资源、关闭连接[15] 。
客户端在监听模式下会在保持心跳的情况下一直监听来自服务器的推送消息,当服务器接收到信息源发送过来的消息,并且这个消息是发送到某ID上时,就会发送给ID有映射关系的客户端,而客户端收到消息后发起一个Intent broadcast(意图广播),接着跟该 Intent 对应的 App 被激活,再把这个 Intent 转换成相应的新 Intent 并路由到其它 Apps 上面去。
这里有一个富有创意的设计是像 URL 和标题或者小文件这样轻量级的数据会附随在推送消息上,直接从服务器发送到客户端上。推送信息会使用hash编码产生一个 collapse_key 来防止重复发送。对于数据量较大的情况,则选择另外一种推送方式,让服务器只发送简单的推送消息来激活客户端上的 App,然后 App 再访问服务器获得额外的数据[16] 。
上一页 [1] [2] [3] [4] [5] [6] 下一页
GoogleEarth路况信息发布系统设计 第5页下载如图片无法显示或论文不完整,请联系qq752018766