一只笨笨的驴

IrMC规范学习笔记(三)

    IrMC(Infrared Mobile Communications 红外移动设备通讯)规范1.1 是由红外数据协会(www.irda.org)制订的,用于无线红外设备的信息传输。目前由于工作需要进行移动电话电话簿的同步开发,对该规范进行了初步的了解和学习,以后我会把IrMC相关规范的中文译文和自己的一些心得发布上来,这也是我现在每天的工作内容。希望有共同兴趣和爱好的朋友一起来交流学习。由于重点是电话簿的同步,所以主要是关于电话簿的内容,而像日历卡片,消息和记事本等内容暂时跳过。

 

 

同步操作

 

    同步最基本的含义就是比较和分析两个对象库并对其进行修改达到完全一致的操作过程。在IrMC中,就是指在两个IrMC设备之间进行同步,但是未必要求两个设备的对象库完全一致。例如,一部移动电话中的对象库是不要求和一台电脑上的数据库结构完全一致的,这是由他们各自的存储和操作能力决定的。这和上面提到的同步的概念并不矛盾,因为在电脑上会驻留一个同步引擎,保证这两个IrMC设备对象库逻辑上的一致性,这也是为什么IrMC客户需要一个同步引擎的原因。

    同步操作在对象库中的对象具有唯一标识的时候是最有效的,所以要求支持同步操作的IrMC设备必须能够支持信息交换级别4和使用唯一索引。

    同步操作有两种基本的同步类型:快速同步(Fast Sync)完全同步(Slow Sync),前面也曾提到过这两种类型的定义,下面简要描述一下两种类型同步的实现过程。

 

    完全同步实现过程

  • IrMC客户通过同步引擎执行级别2 OBEX的GET操作从服务器获取所要求的整个对象库。
  • IrMC客户对收到的数据进行分析处理,并根据分析结果同步其自身数据库。
  • IrMC客户通过同步引擎将其对象库的变更使用级别4/2 OBEX的PUT操作写入IrMC设备(服务器)。

    快速同步实现过程

  • IrMC客户通过同步引擎请求变更日志对象,或得自从上次同步以来的同步锚点。
  • IrMC客户使用级别4 OBEX的GET操作获取变更日志中记录的已经发生变更的对象
  • IrMC客户对自身对象库进行分析处理,得到自从上次同步以来自身发生变更的对象。
  • 将第三步获取的对象使用级别4 OBEX的PUT操作写入IrMC设备。

    下面将对同步操作过程中涉及的一些对象和概念作详细描述。

 

    同步锚点(Sync Anchor)

    前面已经提到过,主要包括两种类型:变更计数器和时间标签。IrMC规范要求客户端必须能够同时支持这两种类型,而对于服务器则不要求。通常建议服务器能够支持变更计数器类型,而对于某些特定对象库,在无法使用计数器类型时候才使用时间标签类型锚点。

 

    今天就写这么多吧,去打篮球去,身体是革命的本钱,不能因为搞计算机把身体搞垮了。这也算我对同行的一个忠告吧。

2:04 PM - Mar. 26, 2005 - post comment


Last Page Next Page
描述
在IT行业混了6年,转身却发现自己一无所有。虽然我贪玩,虽然我懒惰,但是还想挣扎着从头再来。我不太清楚Blog的概念,但是我想n年后即使我依然一无所有,至少有这份记录。
首页
个人档案
存档
最近发布
- blogs updated
- 头晕了
- 搬家也搬不动
- 准备搬家了
- Forumer Contest (Win an Apple IPOD mini)


Free phpBB Hosting