2.3云服务REST方法介绍
目前云服务提供的API有以下两种不同的类型:
a. Simple Object Access Protocol(简单对象访问协议,SOAP),SOAP是一种基于XML的协议,总是使用HTTP post动词,它包含了大量企业级开发功能,SOAP注重对远程对象的操作和虚拟方法的调用。它大量使用XML命名空间,通常被认为过于复杂。
b. Representation state Transfer(表征状态转移,REST),REST[4]是一种基于XML或json的协议,它尽可能的遵循了HTTP协议标准。REST注重资源并限制对这些资源的操作。REST还使用标准的HTTP状态代码和缓存。与SOAP相比,REST要简单很多。
REST 方法运用起来方便,目前已普遍地取代了基于WSDL和SOAP的接口设计。
2.4本章小结
本小节主要讨论了移动云计算的概念,特点,优势以及其使用方法,这些特定在后面都将一一使用,比如为何使用云来为移动应用增加功能,第三方中间件系统提供REST方法供开发者使用等。
3 移动云推送调研
3.1移动云推送介绍
从字面上来说,移动云推送是一种基于移动云计算的应用,它提供了一种推送(push)机制,这种机制可以使服务器能够快速有效地主动将特定信息传递给特定的用户,以满足其特定需求或偏好。
这种推送机制与传统的客户端主动请求拉取(poll)所需数据,服务端接受调用有着明显不同,它是将主动权置于服务端的。采取“推送”方式,意着服务器可以主动将客户端可能需要的数据直接发给客户端,而在此过程中,客户端只需保持一个后台进程就可以,无需进行任何操作(主动获取)。
3.2消息推送方法介绍
3.2.1轮询法
a.轮询法简介:
轮询指的是客户端在后台设定一个定时器,隔一定时间间隔向服务器发送一个询问请求,以确定服务器有无更新或推送信息。这个时间间隔可以设置为相同(定期轮询)的也可以设置为不同(非定期轮询),可以根据需求调整。当服务端(云端)有通知消息更新,在收到客户端的轮询请求时会返回消息通知,将信息推送过去,当服务端无更新时可以不返回或者返回没有更新回复信息。不管请求有没有内容返回,客户端在隔一定时间间隔后又会发送轮询请求。
b.轮询法的优劣:
优点:采用轮询法,实现简单,只需在客户端设置定时器,在隔一定时间间隔发送有无更新请求。而服务端在有更新的情况会对客户端请求作出回复,返回信息,在无更新时可以忽视或者返回无更新。
劣势:多个客户端不断采取轮询,当服务器信息更新速度较慢时,将会产生大量无用询问请求,尤其是轮询间隔过短的情况,将给服务器端不仅仅在带宽上而且在进程上产生大量负担,服务器会消耗很多内存和带宽来处理一些根本无用的请求,造成服务效果下降。同时,客户端在不断的轮询过程中也会造成资源(如数据流量,电量,内存)的无用损耗,对用户产生不良影响。
c.什么时候适合采取轮询法:
由于轮询法在隔一定时间就发送请求包,如果系统更新很快,轮询有效率很高,无疑会降低无用请求的比例。因此当轮询请求与更新频率较为一致时,适合采用轮询法。
一般针对服务器准时更新的情况下,设置客户端定时发送请求包,比较适合采用轮询法。常见的例子就是视频网站更新,尤其是电视剧节目的稳定更新,采取轮询法是十分合适的。
3.2.2长连接法
a.长连接法简介:
长连接法是系统在服务器程序和客户端程序之间建立并文持一个TCP长连接,平时处于挂起状态,当服务器端有新的消息通知或者有更新的时候,服务器端才会通过这个TCP连接主动联系客户端,将推送信息实时精确的地发送到客户端。在一次推送过程中,用户不需主动向消息服务端发出询问数据包。而推送结束后,这个长连接依旧被保持,留待下一次使用。 智能云信息推送系统设计+文献综述(3):http://www.751com.cn/jisuanji/lunwen_10436.html