一种联系人信息的同步方法和装置的制造方法

文档序号:10555690阅读:172来源:国知局
一种联系人信息的同步方法和装置的制造方法
【专利摘要】本发明实施例提供了一种联系人信息的同步方法和装置,该方法包括:在服务器中从所述移动设备中获取第一目标联系人信息,所述第一目标联系人信息为在所述第一同步时间戳之后更新的第一联系人信息;查找第二目标联系人信息,所述第二目标联系人信息为在所述第一同步时间戳之后更新的第二联系人信息;比较所述第一同步时间戳和所述第二同步时间戳,获得第一比较结果;根据所述第一比较结果对所述第一目标联系人信息和所述第二目标联系人信息进行同步。本发明实施例实现了差异化地同步联系人信息,避免将全部联系人信息上传到服务器,减少了上传的数据量,从而减少流量的耗费,同时,减少了对比的数据量,从而减少了同步的耗时。
【专利说明】
一种联系人信息的同步方法和装置
技术领域
[0001] 本发明涉及计算机处理的技术领域,特别是涉及一种联系人信息的同步方法和一 种联系人信息的同步装置。
【背景技术】
[0002] 随着通信科技的发展,诸如手机、手表等移动设备在人们的工作、学习、日常交流 等各方面的使用率也越来越高。
[0003] 用户通过移动设备与他人进行通话、短信联系的频率较高,使得移动设备累积了 较多的联系人信息。
[0004] 当用户更换移动设备或者移动设备遇到故障时,联系人信息可能会遗失,因此,通 常会将联系人信息在云端进行备份。
[0005] 为保持移动设备与云端的一致性,两者在一定的条件下会进行同步。
[0006] 大多数移动设备在同步时把本地联系人信息全部上传到服务器,通过在服务器端 进行对比的方式,把变化的联系人信息下发到客户端。
[0007] 由于每次同步都需要把本地的联系人信息全部上传到服务器,传输的数量量较 大,会耗费较多的流量,同时,对比的数据量较多,同步的耗时较长。

【发明内容】

[0008] 鉴于上述问题,为了解决上述联系人信息同步耗费较多流量、同步时间较长的问 题,本发明实施例提出了一种联系人信息的同步方法和相应的一种联系人信息的同步装 置。
[0009] 为了解决上述问题,本发明实施例公开了一种联系人信息的同步方法,在移动设 备中存储有第一联系人信息、第一同步时间戳,在服务器中存储有第二联系人信息、第二同 步时间戳,所述方法包括:
[0010] 在服务器中从所述移动设备中获取第一目标联系人信息,所述第一目标联系人信 息为在所述第一同步时间戳之后更新的第一联系人信息;
[0011] 查找第二目标联系人信息,所述第二目标联系人信息为在所述第一同步时间戳之 后更新的第二联系人信息;
[0012] 比较所述第一同步时间戳和所述第二同步时间戳,获得第一比较结果;
[0013] 根据所述第一比较结果对所述第一目标联系人信息和所述第二目标联系人信息 进行同步。
[0014] 优选地,所述根据所述第一比较结果对所述第一目标联系人信息和所述第二目标 联系人信息进行同步的步骤包括:
[0015] 当所述第一同步时间戳与所述第二同步时间戳相等时,采用所述第一目标联系人 信息更新所述第二目标联系人信息。
[0016] 优选地,所述第一联系人信息具有第一更新类型信息、第一更新时间戳、所述第二 联系人信息具有第二更新类型信息、第二更新时间戳;
[0017] 所述第一更新类型信息包括第一删除信息和/或第一修改信息,所述第二更新信 息包括第二删除信息和/或第一修改信息;
[0018] 所述采用所述第一目标联系人信息更新所述第二目标联系人信息的步骤包括:
[0019] 当所述第一删除信息被标记时,将所述第二删除信息进行标记;
[0020] 将所述第一更新时间戳的值赋给所述第二更新时间戳;
[0021] 或者,
[0022] 当所述第一修改信息被标记、且查找到相应的第二目标联系人信息时,将所述第 一目标联系人信息的内容覆盖所述第二目标联系人信息的内容;
[0023]将所述第二修改信息进行标记;
[0024] 将所述第一更新时间戳的值赋给所述第二更新时间戳;
[0025] 或者,
[0026] 当所述第一修改信息被标记、且未查找到相应的第二目标联系人信息时,存储所 述第一目标联系人信息的内容至新的第二联系人信息;
[0027]将所述第二修改信息进行标记;
[0028]将所述第一更新时间戳的值赋给所述第二更新时间戳。
[0029]优选地,所述第一联系人信息具有对应的第一更新时间戳、所述第二联系人信息 具有对应的第二更新时间戳;
[0030] 所述根据所述第一比较结果对所述第一目标联系人信息和所述第二目标联系人 信息进行同步的步骤包括:
[0031] 当所述第一同步时间戳小于所述第二同步时间戳时,比较所述第一目标联系人信 息和所述第二目标联系人信息;
[0032] 当所述第一目标联系人信息与所述第二目标联系人信息相同时,忽略所述第一目 标联系人信息;
[0033] 当所述第一目标联系人信息与所述第二目标联系人信息不相同时,比较所述第一 更新时间戳和所述第二更新时间戳,获得第二比较结果;
[0034]按照所述第二比较结果对所述第一目标联系人信息和所述第二目标联系人信息 进行同步。
[0035]优选地,所述按照所述第二比较结果对所述第一目标联系人信息和所述第二目标 联系人信息进行同步的步骤包括:
[0036] 当所述第一更新时间戳大于所述第二更新时间戳时,采用所述第一目标联系人信 息更新所述第二目标联系人信息;
[0037] 或者,
[0038] 当所述第一更新时间戳小于所述第二时间戳时,将所述第二目标联系人信息发送 至移动设备,以更新所述第一目标联系人信息。
[0039] 优选地,还包括:
[0040] 记录同步完成时的时间信息;
[0041] 采用所述时间信息更新所述第一同步时间戳和所述第二同步时间戳。
[0042] 本发明实施例还公开了一种联系人信息的同步装置,在移动设备中存储有第一联 系人信息、第一同步时间戳,在服务器中存储有第二联系人信息、第二同步时间戳,所述装 置包括:
[0043] 第一目标联系人信息获取模块,用于在服务器中从所述移动设备中获取第一目标 联系人信息,所述第一目标联系人信息为在所述第一同步时间戳之后更新的第一联系人信 息;
[0044] 第二目标联系人信息查找模块,用于查找第二目标联系人信息,所述第二目标联 系人信息为在所述第一同步时间戳之后更新的第二联系人信息;
[0045] 同步时间戳比较模块,用于比较所述第一同步时间戳和所述第二同步时间戳,获 得第一比较结果;
[0046] 联系人信息同步模块,用于根据所述第一比较结果对所述第一目标联系人信息和 所述第二目标联系人信息进行同步。
[0047] 优选地,所述联系人信息同步模块包括:
[0048] 联系人信息更新子模块,用于在所述第一同步时间戳与所述第二同步时间戳相等 时,采用所述第一目标联系人信息更新所述第二目标联系人信息。
[0049] 优选地,所述第一联系人信息具有第一更新类型信息、第一更新时间戳、所述第二 联系人信息具有第二更新类型信息、第二更新时间戳;
[0050] 所述第一更新类型信息包括第一删除信息和/或第一修改信息,所述第二更新信 息包括第二删除信息和/或第一修改信息;
[0051] 所述联系人信息更新子模块包括:
[0052] 第一标记单元,用于在所述第一删除信息被标记时,将所述第二删除信息进行标 记;
[0053] 第一赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳;
[0054] 或者,
[0055] 第一覆盖单元,用于在所述第一修改信息被标记、且查找到相应的第二目标联系 人信息时,将所述第一目标联系人信息的内容覆盖所述第二目标联系人信息的内容;
[0056] 第二标记单元,用于将所述第二修改信息进行标记;
[0057] 第二赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳;
[0058] 或者,
[0059] 存储单元,用于在所述第一修改信息被标记、且未查找到相应的第二目标联系人 信息时,存储所述第一目标联系人信息的内容至新的第二联系人信息;
[0060] 第三标记单元,用于将所述第二修改信息进行标记;
[0061] 第三赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳。
[0062] 优选地,所述第一联系人信息具有对应的第一更新时间戳、所述第二联系人信息 具有对应的第二更新时间戳;
[0063]所述联系人信息同步模块包括:
[0064] 目标联系人信息比较子模块,用于在所述第一同步时间戳小于所述第二同步时间 戳时,比较所述第一目标联系人信息和所述第二目标联系人信息;
[0065] 目标联系人信息忽略子模块,用于在所述第一目标联系人信息与所述第二目标联 系人信息相同时,忽略所述第一目标联系人信息;
[0066] 更新时间戳比较子模块,用于在所述第一目标联系人信息与所述第二目标联系人 信息不相同时,比较所述第一更新时间戳和所述第二更新时间戳,获得第二比较结果;
[0067] 比较同步子模块,用于按照所述第二比较结果对所述第一目标联系人信息和所述 第二目标联系人信息进行同步。
[0068] 优选地,所述比较同步子模块包括:
[0069] 服务器更新单元,用于在所述第一更新时间戳大于所述第二更新时间戳时,采用 所述第一目标联系人信息更新所述第二目标联系人信息;
[0070] 或者,
[0071]移动设备更新单元,用于在所述第一更新时间戳小于所述第二时间戳时,将所述 第二目标联系人信息发送至移动设备,以更新所述第一目标联系人信息。
[0072]本发明实施例包括以下优点:
[0073] 本发明实施例的联系人同步涉及移动设备与服务器之间的通信,在移动设备中存 储有第一联系人信息、第一同步时间戳,在服务器中存储有第二联系人信息、第二同步时间 戳。
[0074] 移动设备可以从第一联系人信息中选择在第一同步时间戳之后更新的第一目标 联系人信息,即选择出可能与服务器产生差异的联系人信息,发送至服务器,服务器则依据 第一同步时间戳和第二同步时间戳之间的比较结果,反映出移动设备与服务器之间的同步 进度差异,进而采用第一目标联系人信息按照对第一联系人信息和第二联系人信息进行同 步,由于第一目标联系人信息一般为部分的联系人信息,因此,本发明实施例实现了差异化 地同步联系人信息,避免将全部联系人信息上传到服务器,减少了上传的数据量,从而减少 流量的耗费,同时,减少了对比的数据量,从而减少了同步的耗时。
【附图说明】
[0075] 图1是本发明的一种联系人信息的同步方法实施例1的步骤流程图;
[0076] 图2A-图2C是本发明实施例的一种联系人信息的同步示例图;
[0077] 图3是本发明的一种联系人信息的同步方法实施例2的步骤流程图;
[0078] 图4是本发明的一种联系人信息的同步装置实施例1的结构框图;
[0079] 图5是本发明的一种联系人信息的同步装置实施例2的结构框图。
【具体实施方式】
[0080] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0081] 参照图1,示出了本发明的一种联系人信息的同步方法实施例1的步骤流程图,具 体可以包括如下步骤:
[0082] 步骤101,在服务器中从所述移动设备中获取第一目标联系人信息;
[0083] 在具体实现中,移动设备可以包括手机、平板电脑、个人数字助理、穿戴设备(如眼 镜、手表等)等等。
[0084] 这些移动通信终端的操作系统可以包括Android(安卓)、I0S、Windows Phone、 Windows 等等。
[0085] 为使本领域技术人员更好地理解本发明实施例,在本说明书中,将Android作为操 作系统的一种示例进行说明。
[0086] 这些移动设备可以通过蜂窝网络等方式与其他用户进行通话、发送或接收短信、 发送或接收彩信等通信操作。
[0087] 为与其他用户进行通信操作,用户一般会在移动设备中输入其他用户的联系人信 息,例如,联系人的姓名、电话、家庭地址、电邮地址、公司等等,并存储在通讯录中。
[0088] 该通讯录可以为移动设备的系统通讯录,也可以是第三方应用的通讯录,本发明 实施例对此不加以限制。
[0089] 用户可以在移动设备中登录账号,将移动设备中存储的联系人信息发送至服务器 进行备份,则服务器也存储有联系人信息。
[0090] 为了区分移动设备与服务器,在本发明实施例中,可以将移动设备中存储的联系 人信息称为第一联系人信息、将服务器中存储的联系人信息称为第二联系人信息,但是其 实质为联系人信息,并且,为了方便进行同步,两者的数据结构一般相同。
[0091 ] 以Andord系统为例,系统一般携带的一个ContentProvider应用,通过该 ContentProvider应用可以对通讯录(如contacts2.db文件)进行访问,对联系人信息的操 作。
[0092] -方面,可以包括增加联系人信息、修改联系人信息、删除联系人信息等写(更新) 操作。
[0093] 另一方面,可以包括查询联系人信息的读操作。
[0094]例如,若移动设备采用SQL i t e数据库存储联系人信息,则可以使用标准SQL (Structured Query Language,结构化查询语言)语句进行查询。
[0095] ContactsContact是基于一个三层的数据模型进行存储的,其包括三个主要的数 据库,分别为:
[0096] IN ContactsContact. Data;
[0097] Data表是存储具体的联系人信息,包括邮件、电话号码等等。
[0098] 2 N ContactsContact.RawContacts;
[00"] RawContacts表是联系人的数据集合,指定用户账号和类型。
[0100] 3、ContactsContact·Contacts 〇
[0101 ] Contacts表包含了不同的联系人的记录。
[0102] 在本发明实施例中,可以对通讯录的结构进行修改,在每一条联系人信息中为联 系人信息增加更新时间戳、更新类型信息。
[0103] 其中,更新类型信息包括删除信息、修改信息。
[0104] 进一步而言,更新时间戳为对某条联系人信息的记录进行更新(如增加、修改、删 除等)时记录的时间信息。
[0105] 由于更新时间戳在每次更新时会覆盖上一次记录的更新时间戳,因此,更新时间 戳为记录某条联系人信息的记录的最新更新时间。
[0106] 删除信息为对联系人信息标记是否删除的信息、修改信息为对联系人信息标记是 否修改的信息。
[0107] -般的修改为修改已有联系人信息的某个字段,而在本发明实施例中,增加联系 人信息也属于修改。
[0108] 则在本发明实施例中,联系人信息的数据的示例可以如表1所示:
[0109] 弄1
[0111] 其中,_id字段为当前记录的ID;
[0112] Accoun t_id 字段为账户 ID;
[0113] Contact_id 为联系人 ID;
[0m] Display_name字段为联系人的姓名;
[0115] Latest_update_timestamp 为更新时间戮;
[0116] Delete为删除信息,默认为0,联系人信息删除时标记为1;
[0117] Dirty为修改信息,默认为0,联系人信息修改时标记为1;
[0118] 需要说明的是,由于通讯录中通常有很多表,每个表中字段通常很多,在本示例中 是摘取RawContacts表中的部分关键字段,并不表示通讯录中仅仅具有这些字段。
[0119] 为了区分移动设备与服务器,在本发明实施例中,可以将移动设备中存储的更新 时间戳称为第一更新时间戳、将服务器中存储的更新时间戳称为第二更新时间戳,但是其 实质为更新时间戳,并且,为了方便进行同步,两者的数据结构一般相同。
[0120] 以及,可以将移动设备中存储的更新类型信息(删除信息、修改信息)称为第一更 新类型信息(第一删除信息、第一修改信息)、将服务器中存储的更新类型信息(删除信息、 修改信息)称为第二更新类型信息(第二删除信息、第二修改信息),但是其实质为更新类型 信息(删除信息、修改信息),并且,为了方便进行同步,两者的数据结构一般相同。
[0121] 此外,由于一个用户可以拥有多个移动设备或是其他终端(例如电视),因此,这些 终端都可能与移动设备进行同步。
[0122] 为了区分移动设备和服务器的同步进度,移动设备中可以存储第一同步时间戳, 表示服务器与当前移动设备上一次进行联系人信息同步的时间。
[0123] 服务器中可以存储第二同步时间戳,表示服务器与终端上一次进行联系人信息同 步的时间,这个终端可能是当前的移动设备,也可能是其他移动设备,还可能是其他终端。
[0124] 在本发明实施例中,在检测到用户触发的同步请求,或者,到达指定时间(如每天0 时)等条件下,移动设备与服务器进行联系人信息的同步操作。
[0125] 移动设备可以从第一联系人信息中选择时间戳之后更新的第一联系人信息作为 第一目标联系人信息,发送至服务器。
[0126] 例如,如应用表1所示的数据结构,则第一目标联系人信息为第一更新时间戳 latest_update_timestamp大于第一同步时间戳的第一联系人信息。
[0127] 若第一联系人信息的在第一同步时间戳之前更新,已与服务器进行同步,与服务 器存储的第二联系人信息不存在差异。
[0128] 反之,第一目标联系人信息为在第一同步时间戳之后更新的第一联系人信息,未 与服务器进行同步,可能与服务器存储的第二联系人信息存在差异。
[0129] 需要说明的是,由于联系人信息字段很多,一般不选择使用key/value形式进行传 输,而是把有变化的联系人信息以自定义格式(类似于vcard文件的形式)写入到文件中,使 用HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,超文本传输协议 HTTP的安全版)等协议进行通信,将此文件传输至服务器。
[0130] 例如,一个含有两个变化了的联系人的文件的示例如下:
[0131] BEGiNiVCARD BEGIN:CONTACTS FLAG:De!ete NAME: Tom TFX;WORK;VOICE: 13298789000 TEL;HOME;VOICE:053286754211 ADR;WORK;;; 100 Waters Edge;Baytown;LA;30314;Uiiited States of America EMAlL;PREF;rNTERNET:tom@example.coni END: CONTACTS BEGIN: CONTACTS FLAG: Dirty NAME: Jack TEL;WORK;VOICE: 18698789999 TEL;HOME;VOICE: 053286754200 ADR;WORK.:;;100 Waters Edge;Baytowri;L/\;30314;LTiiited Si:ate:s of America EMAIL;PREF;INTERTsTET:jacki(4examplexom END: CONTACTS END: VCA RD
[0132] 步骤102,查找第二目标联系人信息;
[0133] 其中,第二目标联系人信息为在第一同步时间戳之后更新的第二联系人信息。
[0134] 例如,如应用表1所示的数据结构,则第二目标联系人信息为第二更新时间戳 latest_update_timestamp大于第一同步时间戳的第二联系人信息。
[0135] 步骤103,比较所述第一同步时间戳和所述第二同步时间戳,获得第一比较结果;
[0136] 在一种比较的方式中,移动设备可以将第一同步时间戳发送至服务器,服务器将 接收的第一同步时间戳与本地存储的第二同步时间戳进行比较,获得第一比较结果。
[0137] 以Android系统为例,第一同步时间戳可以记录在sharedpreference中,利用 HTTPS等协议进行安全通信,以key/value等形式将该第一同步时间戳传输至服务器。
[0138] 在另一种比较的方式中,服务器可以将第二同步时间戳发送至移动设备,移动设 备将本地存储的第一同步时间戳与接收的第二同步时间戳进行比较,将获得的第一比较结 果返回服务器。
[0139] 在具体实现中,第一比较结果包括两种情形:
[0140] -种情况是,第一同步时间戳与第二同步时间戳相等;
[0141] 另一种情况是,第一同步时间戳小于第二同步时间戳。
[0142] 步骤104,根据所述第一比较结果对所述第一目标联系人信息和所述第二目标联 系人?目息进行同步。
[0143] 在具体实现中,第一比较结果可以反映出移动设备与服务器的同步进度,基于该 同步进度,可以采用可能存在差异的第一目标联系人信息对第一联系人信息和第二联系人 ?目息进行同步。
[0144] 在本发明的一个实施例中,步骤104可以包括如下子步骤:
[0145] 子步骤Sll,当所述第一同步时间戳与所述第二同步时间戳相等时,采用所述第一 目标联系人信息更新所述第二目标联系人信息。
[0146] 若第一同步时间戳与第二同步时间戳相等,表示移动设备与服务器之间的联系人 信息的同步进度相同。
[0147] 因此,对联系人信息的修改以移动设备的第一目标联系人为准,对服务器相应的 第二目标联系人信息进行修改。
[0148] 本发明实施例中所谓相应,是指第一目标联系人信息与第二目标联系人信息均属 于同一联系人信息。
[0149] 例如,如应用表1所示的数据结构,则第一目标联系人信息与第二目标联系人信息 的 Contact_id 相同。
[0150] 在具体实现中,第一联系人信息具有第一更新类型信息、第一更新时间戳、第二联 系人信息具有第二更新类型信息、第二更新时间戳。
[0151] 其中,第一更新类型信息包括第一删除信息和/或第一修改信息,第二更新信息包 括第二删除信息和/或第一修改信息。
[0152] 在一个示例中,当第一删除信息被标记(如delete的值为1)时,将第二删除信息进 行标记(如delete的值为1)。
[0153] 将第一更新时间戳的值赋给第二更新时间戳。
[0154] 或者,
[0155] 在另一个示例中,当第一修改信息被标记(如dirty的值为1)、且查找到相应的第 二目标联系人信息时,将第一目标联系人信息的内容(如姓名、电话、E-mail等)覆盖第二目 标联系人信息的内容(如姓名、电话、E-ma i 1等)。
[0156]将该第二修改信息进行标记(如dirty的值为1)。
[0157] 将第一更新时间戳的值赋给第二更新时间戳。
[0158] 或者,
[0159] 在另一个示例中,当第一修改信息被标记(如dirty的值为1)、且未查找到相应的 第二目标联系人信息时,存储第一目标联系人信息的内容(如姓名、电话、E-mail等)至新的 第二联系人信息;
[0160]将第二修改信息进行标记(如dirty的值为1);
[0161 ]将第一更新时间戳的值赋给第二更新时间戳。
[0162] 当然,上述同步的方式只是作为示例,在实施本发明实施例时,可以根据实际情况 设置其他同步的方式,本发明实施例对此不加以限制。另外,除了上述同步的方式外,本领 域技术人员还可以根据实际需要采用其它同步的方式,本发明实施例对此也不加以限制。
[0163] 在本发明的另一个实施例中,步骤104可以包括如下子步骤:
[0164] 子步骤S21,当所述第一同步时间戳小于所述第二同步时间戳时,比较所述第一目 标联系人信息和所述第二目标联系人信息;
[0165] 若第一同步时间戳小于第二同步时间戳,表示移动设备与服务器之间的联系人信 息的同步进度不相同。
[0166] 在当前的移动设备与服务器进行同步之后,服务器还与其他移动设备或其他终端 进行了同步。
[0167] 在本发明实施例中,可以将第一目标联系人和相应的第二目标联系人中相同字段 (如电话号码、联系人等)的值进行比较。
[0168] 本发明实施例中所谓相应,是指第一目标联系人信息与第二目标联系人信息均属 于同一联系人信息。
[0169] 例如,如应用表1所示的数据结构,则第一目标联系人信息与第二目标联系人信息 的 Contact_id 相同。
[0170]需要说明的是,在当前的移动设备新增第一联系人信息等情况下,服务器并未存 储有相应的第二联系人信息,即某些第一目标联系人信息可能没有对应的第二目标联系人 信息。
[0171]此外,在其他终端新增联系人信息并同步到服务器作为第二联系人信息等情况 下,当前的移动设备并未存储有相应的第一联系人信息,即某些第二目标联系人信息可能 没有对应的第一目标联系人信息。
[0172] 子步骤S22,当所述第一目标联系人信息与所述第二目标联系人信息相同时,忽略 所述第一目标联系人信息;
[0173] 若第一目标联系人信息与第二目标联系人信息相同,则可以忽略第一目标联系人 信息,不对第二目标联系人信息进行修改。
[0174] 子步骤S23,当所述第一目标联系人信息与所述第二目标联系人信息不相同时,比 较所述第一更新时间戳和所述第二更新时间戳,获得第二比较结果;
[0175] 子步骤S24,按照所述第二比较结果对所述第一目标联系人信息和所述第二目标 联系人信息进行同步。
[0176] 在本发明实施例中,第一联系人信息具有对应的第一更新时间戳、第二联系人信 息具有对应的第二更新时间戳。
[0177] 若第一目标联系人信息与第二目标联系人信息不相同,则可以进一步比较第一更 新时间戳与第二更新时间戳,获知第一目标联系人信息与第二目标联系人信息的修改进 度,从而对第一联系人信息和第二联系人信息进行同步。
[0178]在一种情况中,当第一更新时间戳大于第二更新时间戳时,即第一目标联系人信 息比第二目标联系人信息的修改要新,以移动设备的第一目标联系人信息为准,对服务器 的第二联系人信息进行修改。
[0179]即采用第一目标联系人信息更新第二目标联系人信息。
[0180] 具体而言,当第一删除信息被标记时,将第二删除信息进行标记;
[0181] 将第一更新时间戳的值赋给第二更新时间戳;
[0182] 或者,
[0183] 当第一修改信息被标记、且查找到第二目标联系人信息时,将第一目标联系人信 息的内容覆盖第二目标联系人信息的内容;
[0184] 将第二修改信息进行标记;
[0185] 将第一更新时间戳的值赋给第二更新时间戳;
[0186] 或者,
[0187] 当第一修改信息被标记、且未查找到相应的第二目标联系人信息时,存储第一目 标联系人信息的内容至新的第二联系人信息;
[0188]将第二修改信息进行标记;
[0189] 将第一更新时间戳的值赋给第二更新时间戳。
[0190] 在另一种情况中,当所述第一更新时间戳小于所述第二时间戳时,即第一目标联 系人信息比第二目标联系人信息的修改要旧,以服务器的第二联系人信息为准,对移动设 备的第一目标联系人信息进行修改。
[0191 ]即将第二目标联系人信息发送至移动设备,以更新第一目标联系人信息。
[0192] 具体而言,当第二删除信息被标记时,将第一删除信息进行标记;
[0193] 将第二更新时间戳的值赋给第一更新时间戳;
[0194] 或者,
[0195] 当第二修改信息被标记、且查找到第一目标联系人信息时,将第二目标联系人信 息的内容覆盖第一目标联系人信息的内容;
[0196] 将第一修改信息进行标记;
[0197] 将第二更新时间戳的值赋给第一更新时间戳;
[0198] 或者,
[0199] 当第二修改信息被标记、且未查找到相应的第一目标联系人信息时,存储第二目 标联系人信息的内容至新的第一联系人信息;
[0200] 将第一修改信息进行标记;
[0201] 将第二更新时间戳的值赋给第一更新时间戳。
[0202] 当然,上述同步的方式只是作为示例,在实施本发明实施例时,可以根据实际情况 设置其他同步的方式,本发明实施例对此不加以限制。另外,除了上述同步的方式外,本领 域技术人员还可以根据实际需要采用其它同步的方式,本发明实施例对此也不加以限制。
[0203] 本发明实施例的联系人同步涉及移动设备与服务器之间的通信,在移动设备中存 储有第一联系人信息、第一同步时间戳,在服务器中存储有第二联系人信息、第二同步时间 戳。
[0204] 移动设备可以从第一联系人信息中选择在第一同步时间戳之后更新的第一目标 联系人信息,即选择出可能与服务器产生差异的联系人信息,发送至服务器,服务器则依据 第一同步时间戳和第二同步时间戳之间的比较结果,反映出移动设备与服务器之间的同步 进度差异,进而采用第一目标联系人信息按照对第一联系人信息和第二联系人信息进行同 步,由于第一目标联系人信息一般为部分的联系人信息,因此,本发明实施例实现了差异化 地同步联系人信息,避免将全部联系人信息上传到服务器,减少了上传的数据量,从而减少 流量的耗费,同时,减少了对比的数据量,从而减少了同步的耗时。
[0205]为使本领域技术人员更好地理解本发明实施例,以下通过具体的示例来说明本发 明实施例中联系人信息的同步方法。
[0206]参见图2A,移动设备本地存储有A、B、C三个联系人信息,与云端(服务器)进行同 步,使得云端也存储有A、B、C三个联系人信息。
[0207] 移动设备本地的第一同步时间戳与云端的第二同步时间戳相等。
[0208] 参见图2B,用户在移动设备本地删除了联系人信息A、联系人信息C、新增了联系人 fg 息D。
[0209] 用户在其他终端中删除了联系人信息C,新增了联系人信息E,并同步到云端。
[0210] 此时,云端的第二同步时间戳进行更新。
[0211] 参见图2C,若当前的移动设备与服务器进行同步,移动设备将联系人信息A、联系 人信息C、联系人信息D作为第一目标联系人信息上传至云端。
[0212]由于当前的移动设备的第一同步时间戳小于云端的第二同步时间戳,因此,云端 中以联系人信息C、联系人信息E作为第二目标联系人信息。
[0213] 联系人信息A以移动设备的为主,对云端的联系人信息A标记删除。
[0214] 移动设备和云端的联系人信息C的内容一致,忽略联系人信息C。
[0215] 联系人信息D以移动设备的为主,在云端新增联系人信息D。
[0216] 联系人信息E以移动设备的为主,在移动设备新增联系人信息E。
[0217] 参照图3,示出了本发明的一种联系人信息的同步方法实施例2的步骤流程图,在 移动设备中存储有第一联系人信息、第一同步时间戳,在服务器中存储有第二联系人信息、 第二同步时间戳,该方法具体可以包括如下步骤:
[0218] 步骤301,在服务器中从所述移动设备中获取第一目标联系人信息,
[0219] 其中,第一目标联系人信息为在所述第一同步时间戳之后更新的第一联系人信 息;
[0220] 步骤302,比较所述第一同步时间戳和所述第二同步时间戳;
[0221] 步骤303,采用所述第一目标联系人信息按照比较的结果对所述第一联系人信息 和所述第二联系人信息进行同步;
[0222] 步骤304,记录同步完成时的时间信息;
[0223] 步骤305,采用所述时间信息更新所述第一同步时间戳和所述第二同步时间戳。
[0224] 在本发明实施例中,若移动设备与服务器对联系人信息进行同步的操作执行完 成,即可以记录同步完成时的时间信息。
[0225] 在具体实现中,由于移动设备与服务器均可能进行联系人信息的修改,因此,移动 设备可以记录一个完成时间、服务器可以记录另一个完成时间。
[0226] 这两个时间在移动设备或者服务器中进行比较,以最新(即最大)的完成时间为 准,更新移动设备的第一同步时间戳和服务器的第二同步时间戳,使得两者保持一致。
[0227] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组 合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依 据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该 知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施 例所必须的。
[0228] 参照图4,示出了本发明的一种联系人信息的同步装置实施例1的结构框图,在移 动设备中存储有第一联系人信息、第一同步时间戳,在服务器中存储有第二联系人信息、第 二同步时间戳,所述装置包括:具体可以包括如下模块:
[0229] 第一目标联系人信息获取模块401,用于在服务器中从所述移动设备中获取第一 目标联系人信息,所述第一目标联系人信息为在所述第一同步时间戳之后更新的第一联系 人ig息;
[0230] 第二目标联系人信息查找模块402,用于查找第二目标联系人信息,所述第二目标 联系人信息为在所述第一同步时间戳之后更新的第二联系人信息;
[0231] 同步时间戳比较模块403,用于比较所述第一同步时间戳和所述第二同步时间戳, 获得第一比较结果;
[0232] 联系人信息同步模块404,用于根据所述第一比较结果对所述第一目标联系人信 息和所述第二目标联系人信息进行同步。
[0233] 在本发明的一个实施例中,所述联系人信息同步模块404可以包括如下子模块:
[0234] 联系人信息更新子模块,用于在所述第一同步时间戳与所述第二同步时间戳相等 时,采用所述第一目标联系人信息更新所述第二目标联系人信息。
[0235] 在本发明实施例的一个示例中,所述第一联系人信息具有第一更新类型信息、第 一更新时间戳、所述第二联系人信息具有第二更新类型信息、第二更新时间戳;
[0236] 所述第一更新类型信息包括第一删除信息和/或第一修改信息,所述第二更新信 息包括第二删除信息和/或第一修改信息;
[0237] 所述联系人信息更新子模块可以包括如下单元:
[0238] 第一标记单元,用于在所述第一删除信息被标记时,将所述第二删除信息进行标 记;
[0239] 第一赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳;
[0240] 或者,
[0241 ]第一覆盖单元,用于在所述第一修改信息被标记、且查找到相应的第二目标联系 人信息时,将所述第一目标联系人信息的内容覆盖所述第二目标联系人信息的内容;
[0242] 第二标记单元,用于将所述第二修改信息进行标记;
[0243] 第二赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳;
[0244] 或者,
[0245] 存储单元,用于在所述第一修改信息被标记、且未查找到相应的第二目标联系人 信息时,存储所述第一目标联系人信息的内容至新的第二联系人信息;
[0246]第三标记单元,用于将所述第二修改信息进行标记;
[0247]第三赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳。
[0248] 在本发明的一个实施例中,所述第一联系人信息具有对应的第一更新时间戳、所 述第二联系人信息具有对应的第二更新时间戳;
[0249] 所述联系人信息同步模块404可以包括如下子模块:
[0250] 目标联系人信息比较子模块,用于在所述第一同步时间戳小于所述第二同步时间 戳时,比较所述第一目标联系人信息和所述第二目标联系人信息;
[0251 ]目标联系人信息忽略子模块,用于在所述第一目标联系人信息与所述第二目标联 系人信息相同时,忽略所述第一目标联系人信息;
[0252] 更新时间戳比较子模块,用于在所述第一目标联系人信息与所述第二目标联系人 信息不相同时,比较所述第一更新时间戳和所述第二更新时间戳,获得第二比较结果;
[0253] 比较同步子模块,用于按照所述第二比较结果对所述第一目标联系人信息和所述 第二目标联系人信息进行同步。
[0254] 在本发明的一个实施例中,所述比较同步子模块可以包括如下单元:
[0255] 服务器更新单元,用于在所述第一更新时间戳大于所述第二更新时间戳时,采用 所述第一目标联系人信息更新所述第二目标联系人信息;
[0256] 或者,
[0257] 移动设备更新单元,用于在所述第一更新时间戳小于所述第二时间戳时,将所述 第二目标联系人信息发送至移动设备,以更新所述第一目标联系人信息。
[0258] 参照图5,示出了本发明的一种联系人信息的同步装置实施例2的结构框图,在移 动设备中存储有第一联系人信息、第一同步时间戳,在服务器中存储有第二联系人信息、第 二同步时间戳,所述装置包括:具体可以包括如下模块:
[0259] 第一目标联系人信息获取模块501,用于在服务器中从所述移动设备中获取第一 目标联系人信息,所述第一目标联系人信息为在所述第一同步时间戳之后更新的第一联系 人ig息;
[0260]第二目标联系人信息查找模块502,用于查找第二目标联系人信息,所述第二目标 联系人信息为在所述第一同步时间戳之后更新的第二联系人信息;
[0261] 同步时间戳比较模块503,用于比较所述第一同步时间戳和所述第二同步时间戳, 获得第一比较结果;
[0262] 联系人信息同步模块504,用于根据所述第一比较结果对所述第一目标联系人信 息和所述第二目标联系人信息进行同步;
[0263] 时间信息记录模块505,用于记录同步完成时的时间信息;
[0264] 同步时间戳更新模块506,用于采用所述时间信息更新所述第一同步时间戳和所 述第二同步时间戳。
[0265] 对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关 之处参见方法实施例的部分说明即可。
[0266] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0267] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算 机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和 硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可 用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上 实施的计算机程序产品的形式。
[0268] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序 产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图 中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设 备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执 行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中 指定的功能的装置。
[0269] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能。
[0270] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得 在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在 计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的步骤。
[0271]尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为 包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0272] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包 括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品 或者终端设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要 素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0273] 以上对本发明所提供的一种联系人信息的同步方法和一种联系人信息的同步装 置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上 实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技 术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本 说明书内容不应理解为对本发明的限制。
【主权项】
1. 一种联系人信息的同步方法,其特征在于,在移动设备中存储有第一联系人信息、第 一同步时间戳,在服务器中存储有第二联系人信息、第二同步时间戳,所述方法包括: 在服务器中从所述移动设备中获取第一目标联系人信息,所述第一目标联系人信息为 在所述第一同步时间戳之后更新的第一联系人信息; 查找第二目标联系人信息,所述第二目标联系人信息为在所述第一同步时间戳之后更 新的第二联系人信息; 比较所述第一同步时间戳和所述第二同步时间戳,获得第一比较结果; 根据所述第一比较结果对所述第一目标联系人信息和所述第二目标联系人信息进行 同步。2. 根据权利要求1所述的方法,其特征在于,所述根据所述第一比较结果对所述第一目 标联系人信息和所述第二目标联系人信息进行同步的步骤包括: 当所述第一同步时间戳与所述第二同步时间戳相等时,采用所述第一目标联系人信息 更新所述第二目标联系人信息。3. 根据权利要求2所述的方法,其特征在于, 所述第一联系人信息具有第一更新类型信息、第一更新时间戳、所述第二联系人信息 具有第二更新类型信息、第二更新时间戳; 所述第一更新类型信息包括第一删除信息和/或第一修改信息,所述第二更新信息包 括第二删除信息和/或第一修改信息; 所述采用所述第一目标联系人信息更新所述第二目标联系人信息的步骤包括: 当所述第一删除信息被标记时,将所述第二删除信息进行标记; 将所述第一更新时间戳的值赋给所述第二更新时间戳; 或者, 当所述第一修改信息被标记、且查找到相应的第二目标联系人信息时,将所述第一目 标联系人信息的内容覆盖所述第二目标联系人信息的内容; 将所述第二修改信息进行标记; 将所述第一更新时间戳的值赋给所述第二更新时间戳; 或者, 当所述第一修改信息被标记、且未查找到相应的第二目标联系人信息时,存储所述第 一目标联系人信息的内容至新的第二联系人信息; 将所述第二修改信息进行标记; 将所述第一更新时间戳的值赋给所述第二更新时间戳。4. 根据权利要求1所述的方法,其特征在于,所述第一联系人信息具有对应的第一更新 时间戳、所述第二联系人信息具有对应的第二更新时间戳; 所述根据所述第一比较结果对所述第一目标联系人信息和所述第二目标联系人信息 进行同步的步骤包括: 当所述第一同步时间戳小于所述第二同步时间戳时,比较所述第一目标联系人信息和 所述第二目标联系人信息; 当所述第一目标联系人信息与所述第二目标联系人信息相同时,忽略所述第一目标联 系人信息; 当所述第一目标联系人信息与所述第二目标联系人信息不相同时,比较所述第一更新 时间戳和所述第二更新时间戳,获得第二比较结果; 按照所述第二比较结果对所述第一目标联系人信息和所述第二目标联系人信息进行 同步。5. 根据权利要求4所述的方法,其特征在于,所述按照所述第二比较结果对所述第一目 标联系人信息和所述第二目标联系人信息进行同步的步骤包括: 当所述第一更新时间戳大于所述第二更新时间戳时,采用所述第一目标联系人信息更 新所述第二目标联系人信息; 或者, 当所述第一更新时间戳小于所述第二时间戳时,将所述第二目标联系人信息发送至移 动设备,以更新所述第一目标联系人信息。6. 根据权利要求1或2或3或4或5所述的方法,其特征在于,还包括: 记录同步完成时的时间信息; 采用所述时间信息更新所述第一同步时间戳和所述第二同步时间戳。7. -种联系人信息的同步装置,其特征在于,在移动设备中存储有第一联系人信息、第 一同步时间戳,在服务器中存储有第二联系人信息、第二同步时间戳,所述装置包括: 第一目标联系人信息获取模块,用于在服务器中从所述移动设备中获取第一目标联系 人信息,所述第一目标联系人信息为在所述第一同步时间戳之后更新的第一联系人信息; 第二目标联系人信息查找模块,用于查找第二目标联系人信息,所述第二目标联系人 信息为在所述第一同步时间戳之后更新的第二联系人信息; 同步时间戳比较模块,用于比较所述第一同步时间戳和所述第二同步时间戳,获得第 一比较结果; 联系人信息同步模块,用于根据所述第一比较结果对所述第一目标联系人信息和所述 第二目标联系人信息进行同步。8. 根据权利要求7所述的装置,其特征在于,所述联系人信息同步模块包括: 联系人信息更新子模块,用于在所述第一同步时间戳与所述第二同步时间戳相等时, 采用所述第一目标联系人信息更新所述第二目标联系人信息。9. 根据权利要求8所述的装置,其特征在于, 所述第一联系人信息具有第一更新类型信息、第一更新时间戳、所述第二联系人信息 具有第二更新类型信息、第二更新时间戳; 所述第一更新类型信息包括第一删除信息和/或第一修改信息,所述第二更新信息包 括第二删除信息和/或第一修改信息; 所述联系人信息更新子模块包括: 第一标记单元,用于在所述第一删除信息被标记时,将所述第二删除信息进行标记; 第一赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳; 或者, 第一覆盖单元,用于在所述第一修改信息被标记、且查找到相应的第二目标联系人信 息时,将所述第一目标联系人信息的内容覆盖所述第二目标联系人信息的内容; 第二标记单元,用于将所述第二修改信息进行标记; 第二赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳; 或者, 存储单元,用于在所述第一修改信息被标记、且未查找到相应的第二目标联系人信息 时,存储所述第一目标联系人信息的内容至新的第二联系人信息; 第三标记单元,用于将所述第二修改信息进行标记; 第三赋值单元,用于将所述第一更新时间戳的值赋给所述第二更新时间戳。10.根据权利要求7所述的装置,其特征在于,所述第一联系人信息具有对应的第一更 新时间戳、所述第二联系人信息具有对应的第二更新时间戳; 所述联系人信息同步模块包括: 目标联系人信息比较子模块,用于在所述第一同步时间戳小于所述第二同步时间戳 时,比较所述第一目标联系人信息和所述第二目标联系人信息; 目标联系人信息忽略子模块,用于在所述第一目标联系人信息与所述第二目标联系人 信息相同时,忽略所述第一目标联系人信息; 更新时间戳比较子模块,用于在所述第一目标联系人信息与所述第二目标联系人信息 不相同时,比较所述第一更新时间戳和所述第二更新时间戳,获得第二比较结果; 比较同步子模块,用于按照所述第二比较结果对所述第一目标联系人信息和所述第二 目标联系人信息进行同步。
【文档编号】H04L29/08GK105915636SQ201610395683
【公开日】2016年8月31日
【申请日】2016年6月3日
【发明人】赵娜
【申请人】青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1