最新消息:

手机客户端网络加速技术方案实现思考 — 设备能力交换

技术 admin 2258浏览 0评论

正如在手机客户端网络加速技术方案实现思考–数据压缩技术 中提到的,制约手机客户端实现的因素包括:手机CPU频率及处理性能;手机RAM、ROM、Flash内存等。因此即使在不考虑服务器并发处理性能、网络带宽及运营商资费等其他因素的情况下,充分发挥客户端的最大计算能力,让客户端尽快完成服务器端响应报文的接收和处理,也成为提升手机客户端网络处理速度的重要手段之一。

从原理来说,如果我们能够提升每一次请求-响应的传输性能,那么我们能够在更短的时间内提供客户端展现及业务处理所需要的数据,同时如果客户端充分发挥其计算能力很快完成数据的处理及展现,则对于加速客户端响应速度从而提升用户体验是大有益处的。但受限于与终端的CPU、内存等因素,客户端并不能无限制地接受数据并处理,于是乎问题的核心关键就归结为:终端设备的数据处理能力有多大?

这一点,OMA Data Synchronization、Device Management 的Device capabilities Exchange实现机制是很值得借鉴的,将Syncml协议的实现机制摘录如下:

SyncML协议通过一个初始化设置可以使不同性能的客户端设备和服务器端进行信息的交换.任意一个设备(客户端或服务端)都能请求信息交换,只要客户端设备性能和服务端能协同工作,他们就能让一个同步会话继续下去.

有两种类型的信息在设备和服务器端进行交换:

(1)设备信息:包括设备类型,数据模块和制造厂商信息。

(2)服务器信息:描述了客户端或服务器端支持的数据对象的特性.如果客户端支持vCard version 2.1数据格式和慢同步及双向同步,那么服务器就必须具有这样的能力,否则,同步就不能继续下去.

同步的客户端必须在第一次同步或者在设备的静态的信息更新后的时候发送设备信息到服务端。同时,当服务器端请求客户端设备信息的时候,客户端应将自身的设备信息发送到服务端。而一个同步服务器应具备接受和处理设备信息的能力,不论它是否接受过客户端的设备信息或是通过自己请求过客户端设备信息。

Device capabilities

也即,客户端与服务器端首先进行设备信息的交换,从而让服务器端了解客户端的处理性能,以采用最佳的处理机制来完成相关业务逻辑的处理。

从客户端开发角度而言,对于客户端的能力我们主要关注如下一些方面:

  • 屏幕分辨率
  • 屏幕亮度
  • 电池电量
  • 操作系统
  • 机型信息(包括j2me、user_agent、wap push、streaming、wap、mms、sms、flash lite、camera等支持情况,可以参考wurfl项目所提供的各种机型的相关信息)
  • 网络信号强度
  • CPU频率及处理性能
  • RAM、ROM、Flash内存等
  • wlan支持

获取了客户端的计算能力后,从网络加速角度,我们至少可以:

  • 确定数据分块传输的最佳大小
  • 确定数据分页显示每页最佳的条数
  • 确定客户端程序进程分配的内存、缓存大小
  • 确定选择最佳的网络连接方式,有wi-fi那肯定用wi-fi
  • 确定最佳的压缩方式
  • 在信号弱的情况网络可靠传输机制处理
  • 确定是多线程并发处理机制

转载请注明:出家如初,成佛有余 » 手机客户端网络加速技术方案实现思考 — 设备能力交换

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (0)