一种通讯录同步方法及装置的制造方法

文档序号:10492269阅读:285来源:国知局
一种通讯录同步方法及装置的制造方法
【专利摘要】本发明公开了一种通讯录同步方法及装置,该方法包括:接收移动终端上传的移动终端中的本地通讯录的更新数据,根据更新数据,更新云端通讯录;获取数据更新后的云端通讯录中更新时间晚于本地通讯录的最后更新时间的同步数据并发送给移动终端,同步数据用以将移动终端中的本地通讯录与数据更新后的云端通讯录进行同步。本发明通过在同步时先上传更新数据再下载同步数据,可避免因多个终端共用一个用户账号导致的同步出错的问题,提高同步的准确性。
【专利说明】
一种通讯录同步方法及装置
技术领域
[0001]本发明属于移动终端及通信技术领域,尤其涉及一种通讯录同步方法及装置。
【背景技术】
[0002]现有技术中的通讯录云同步一般采用的都是简单覆盖的方式,例如,把手机中的通讯录删除,再点击同步,就会直接把云服务器上的通讯录复制下来,但这样的同步方式在多个终端共用一个用户账号时会出现无法正确同步的问题。比如当两台手机共同使用同一个用户账号时,假设第一台手机修改了通讯录中联系人A的电话号码,但是没有修改联系人B的电话号码,而第二台手机修改了通讯录中联系人B的电话号码,但是没有修改联系人A的电话号码,则按照现有的同步方式,由于是直接复制,则无论通过云服务器怎么同步,最终被修改的也只是联系人A的电话号码或者联系人B的电话号码中的一个。

【发明内容】

[0003]本发明提供一种通讯录同步方法及装置,旨在解决现有技术中存在的多个终端共用一个用户账号时会出现无法正确同步的问题,通过在同步时先上传更新数据再下载同步数据,可避免因多个终端共用一个用户账号导致的同步出错的问题,提高同步的准确性。
[0004]本发明实施例提供一种通讯录同步方法,包括:接收移动终端上传的所述移动终端中的本地通讯录的更新数据,根据所述更新数据,更新云端通讯录;获取数据更新后的云端通讯录中更新时间晚于所述本地通讯录的最后更新时间的同步数据并发送给所述移动终端,所述同步数据用以将所述移动终端中的本地通讯录与所述数据更新后的云端通讯录进行同步。
[0005]本发明实施例提供一种通讯录同步装置,包括:接收模块,用于接收移动终端上传的所述移动终端中的本地通讯录的更新数据;更新模块,用于根据所述更新数据,更新云端通讯录;获取模块,用于获取数据更新后的云端通讯录中更新时间晚于所述本地通讯录的最后更新时间的同步数据;发送模块,用于将所述同步数据发送给所述移动终端,所述同步数据用以将所述移动终端中的本地通讯录与所述数据更新后的云端通讯录进行同步。
[0006]从上述本发明实施例可知,通过服务器根据移动终端发送的移动终端的本地通讯录的更新数据更新云端通讯录,然后再将数据更新后的云端通讯录的同步数据发送给移动终端,可有效避免因多个终端共用一个用户账号导致的同步出错的问题,提高同步的准确性。
【附图说明】
[0007]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0008]图1是本发明第一实施例提供的一种通讯录同步方法的实现流程示意图;
[0009]图2是本发明第二实施例提供的一种通讯录同步方法的实现流程示意图;
[0010]图3是本发明第三实施例提供的一种通讯录同步装置的结构示意图;
[0011]图4是本发明第四实施例提供的一种通讯录同步装置的结构示意图;
[0012]图5是本发明第五实施例提供的一种通讯录同步装置的结构示意图;
[0013]图6是本发明第六实施例提供的一种通讯录同步装置的结构示意图。
【具体实施方式】
[0014]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0015]请参阅图1,图1为本发明第一实施例提供的一种通讯录同步方法的实现流程示意图。本实施例提供的通讯录同步方法可应用于具有通讯录功能的智能手机、平板电脑、智能穿戴设备等移动终端,本实施例是从移动终端一侧进行的说明,如图1所示,该方法主要包括以下步骤:
[0016]S101、获取本地通讯录的更新数据,并将更新数据上传至服务器,更新数据用以更新服务器中的云端通讯录;
[0017]可以理解地,移动终端中预装有客户端程序,用于在移动终端的控制下执行本实施例中涉及的各个操作。当检测到同步任务被触发时,获取当前时间点与上次执行云端与本地通讯录的同步操作的时间点之间本地通讯录中发生变化的更新数据,并将该更新数据上传至服务器,使得服务器根据更新数据更新云端通讯录。
[0018]作为本发明另一实施例,在移动终端配置第三方通讯录数据库表以及系统通讯录数据库表。
[0019]系统通讯录数据库表是由系统通讯录生成,用于记录用户输入的各条通讯录信息及相关数据。系统通讯录数据库表可以但不限于包括以下字段:contact_id字段、vers1n字段以及用于记录通讯录中各条通讯录信息的字段。
[°02°] 其中,contact_id是每条通讯录信息的唯一的本地身份标识符(Identity,ID),由系统通讯录提供,同一条通讯录数据在不同的客户端中,其对应的本地ID不唯一。
[0021 ] Vers1n是每一条通讯录数据的修改版本号,每次修改都会自增,由系统通讯录提供。
[0022]通讯录信息可以但不限于包括:联系人名称、联系电话以及联系地址等等,将同一个联系人的所有相关联系信息视为一条通讯录信息。
[0023]当用户修改通讯录中的通讯录信息时,系统通讯录根据用户的修改操作,更新系统通讯录数据库表中该修改操作指向的数据,如:在系统通讯录数据库表中增加、修改、删除对应的通讯录信息,更新对应的vers i on字段的值等等。
[0024]第三方通讯录数据库表属于中间表,通过第三方通讯录数据库表在服务器中的云通讯录数据与移动终端本地的系统通讯录数据之间建立关联关系。第三方通讯录数据库表(contact_data表)可以但不限于包括以下字段:contact_id字段、vers 1n字段、cloud_id字段、data_status字段以及用于记录通讯录中各条通讯录信息的字段。
[0025]其中,Cl0Ud_id是每条通讯录数据全网唯一的云ID,由服务器提供,同一条通讯录数据即使是在不同客户端中,其对应的云ID也是唯一的。
[0026]data_status是更新类型标示符,也即数据增删改标识,例如,当data_status = I时,表示对应数据的更新类型(或同步类型)为新增;data_status = _1时,表示对应数据的更新类型为删除;当data_status = 0时,表示对应数据的更新类型为修改。
[0027]第三方通讯录数据库表中的contact_id、vers1n与系统通讯录数据库表中的
contact_id、vers1n--对应,为避免混淆,以下将第三方通讯录数据库表中的字段
contact_id及 vers1r^^:5^1ocal_contact_ic^local_vers1n0
[0028]具体地,获取本地通讯录的更新数据的实现过程可以包括:以系统通讯录数据库表为基准,将系统通讯录数据库表与第三方通讯录数据库表进行比较,通过系统通讯录数据库表与第三方通讯录数据库表之间的差异数据得到更新数据。
[0029]移动终端将第三方通讯录数据库表与系统通讯录数据库表存入集合进行对比,若contact_id存在,local_contact_id不存在,则对应的通讯录数据为系统通讯录数据库表中新增的数据;若contact_id存在,local_contact_id存在,vers1n>local_vers1n,则对应的通讯录数据为经过修改的数据;若contact_id不存在,local_contact_id存在,则对应的通讯录数据已被从系统通讯录数据库表中删除。
[0030]具体地,将更新数据上传至服务器的实现过程可以包括以下步骤:
[0031]步骤一、将差异数据同步至第三方通讯录数据库表;
[0032]移动终端通过对比,获取上述新增、修改、或者删除的通讯录数据,并同步至第三方通讯录数据库表中,具体可包括:将上述新增或者修改的通讯录信息写入第三方通讯录数据库表中,并按照上述新增或者修改的通讯录数据的contact_id、vers1n修改对应的local_contact_id、local_vers1n,使得第三方通讯录数据库表中的相关数据与系统通讯录数据库表中对应的相关数据保持一致,同时在第三方通讯录数据库表中修改对应的data_status为0(修改)或1(新增);将上述删除的通讯录信息从第三方通讯录数据库表中删除,同时在第三方通讯录数据库表中修改对应的data_status为_1(删除)。
[0033]步骤二、若同步方式为修改或删除数据,则将第一同步数据发送给服务器,第一同步数据包括:第三方通讯录数据库表中本次修改或删除的通讯录信息、各条修改或删除的通讯录信息对应的云标识信息以及更新类型标示符,云标识信息及更新类型标志符用以将修改或删除的通讯录信息同步至云端通讯录;
[0034]步骤三、若同步方式为新增数据,则将第二同步数据发送给服务器,第二同步数据包括:第三方通讯录数据库表中本次新增的通讯录信息,第二同步数据用以将新增的通讯录信息同步至云端通讯录;
[0035]步骤四、接收所述服务器返回的所述第二同步数据的云标识信息,并将所述第二同步数据的云标识信息写入所述第三方通讯录数据库表。
[0036]服务器根据同步数据中是否包括云ID,以及同步数据中的data_status的值确定同步方式,其中第一同步数据包括云ID,第二同步数据不包括云ID。若移动终端发送的同步数据中不包括云ID,则确定同步方式为新增数据;若该同步数据中包括云ID且data_status=0,则确定同步方式为修改数据;若该同步数据中包括云ID且data_status = _l;则确定同步方式为删除数据。
[0037]具体地,若同步方式为新增数据,则将对应的移动终端发送的第三方通讯录数据库表中新增的通讯录信息增加在云通讯录数据库表中,并在云通讯录数据库表中将该新增的通讯录数据的data_status修改为I,同时为该新增的通讯录数据生成对应的云ID,并将该云ID记录在云通讯录数据库表的对应位置,同时下发给移动终端。
[0038]若同步方式为修改数据,则按照对应的移动终端发送的第三方通讯录数据库表中修改的通讯录信息,修改云通讯录数据库表中的相关数据,并在云通讯录数据库表中将该修改的通讯录数据的data_s tatus修改为O。
[0039]若同步方式为删除数据,则在云通讯录数据库表中将对应的移动终端发送的第三方通讯录数据库表中被删除的通讯录数据的data_status修改为0,可以理解地,删除数据并没有真正删除掉,只是修改标示符,用于别的客户端来判断为删除。
[0040]服务器中还配置有更新时间表,包括用于记录每一条通讯录数据的最后更新时间的item_last_update_time字段。服务器在进行每一条通讯录数据更新时,将更新的服务器的时间记录在item_last_update_time字段中。
[0041]S102、将服务器中更新时间晚于本地通讯录的最后更新时间的同步数据下载,并根据同步数据对本地通讯录进行同步。
[0042]具体地,将本地通讯录中各条通讯录信息的最后更新时间发送给服务器,使得服务器根据该最后更新时间,从数据更新后的云端通讯录中确定更新时间晚于该最后更新时间的同步数据;接收服务器返回的同步数据,并根据同步数据对本地通讯录进行同步。
[0043]作为本发明另一实施例,移动终端将第三方通讯录数据库表中各条通讯录数据的最后更新时间发送给服务器,使得服务器根据最后更新时间,从数据更新后的云端通讯录中确定更新时间晚于最后更新时间的同步数据。
[0044]服务器将第三方通讯录数据库表中存储的各条通讯录数据的最后更新时间(last_update_time)与数据更新后的云端通讯录对应的云通讯录数据库表中存储的各条通讯录数据的最后更新时间(item_last_update_time)进行比较,通过利用last_update_time〈item_last_update_time作为检索条件,来检索出来需要下发给移动终端的同步数据。该同步数据包括:云通讯录数据库表中满足last_update_time〈item_last_update_time条件的通讯录信息、该通讯录信息对应的cloud_id和data_status以及在服务器的最后更新时间。优选地,为了提高比较结果的准确性,本发明中涉及的所有时间均以服务器的系统时间为准。
[0045]移动终端接收服务器返回的同步数据,根据同步数据,同步系统通讯录数据库表与数据更新后的云端通讯录;基于第三方通讯录数据库表中的本地标识信息与系统通讯录数据库表中的本地标识信息的一一对应关系,将第三方通讯录数据库表与同步后的系统通讯录数据库表进行同步。
[0046]具体地,首先将同步数据中的通讯录信息逐条与系统通讯录数据库表中的通讯录信息进行匹配,若有相匹配的数据,则按照同步数据中的通讯录信息,修改系统通讯录数据库表中的通讯录信息;若无相匹配的数据,则将同步数据中的通讯录信息增加到系统通讯录数据库表中,同时为新增加的通讯录信息生成contact_id及vers1n。
[0047]然后,根据系统通讯录数据库表中发生变化的通讯录信息的contact_id,在第三方通讯录数据库表中查找具有相同contact_id的通讯录信息,若查找到具有相同contact_id的通讯录信息,则按照系统通讯录数据库表中该contact_id对应的通讯录信息,修改第三方通讯录数据库表中该contact_id对应的通讯录信息;若未查找到具有相同contact_id的通讯录信息,则将该contact_id及其对应的通讯录信息、vers1n增加到第三方通讯录数据库表中。
[0048]进一步地,在同步操作的最后,优选地,根据同步数据中包含的各条通讯录信息在数据更新后的云端通讯录中最后更新的服务器时间,更新系统通讯录数据库表及第三方通讯录数据库表中对应的通讯录数据。
[0049]需要说明的是,在其他实施例中,也可先根据同步数据,同步第三方通讯录数据库表与数据更新后的云端通讯录,然后再基于第三方通讯录数据库表中的本地标识信息与系统通讯录数据库表中的本地标识信息的一一对应关系,将系统通讯录数据库表与同步后的第三方通讯录数据库表进行同步。
[0050]具体地,移动终端通过(:1011(1_丨(1、(301^3(31:_丨(1、(^七3_8七31:118来进行数据的更新。首先,更新第三方通讯录数据库表中的数据,根据服务器下发的同步数据中的cloud_id在第三方通讯录数据库表中查找相同的cloud_id及对应的待修改的数据,若未在第三方通讯录数据库表中查找到相同的cloud_id,则将同步数据增加到第三方通讯录数据库表中,此时对应的vers1n字段的值为空;若在第三方通讯录数据库表中查找到相同的cloud_id,且data_status = 0,则按照同步数据中的通讯录信息,修改第三方通讯录数据库表中具有相同cloud_id的通讯录信息、更新对应的vers1n字段的值;若在第三方通讯录数据库表中查找到cloud_id,且data_status = _l,贝Ij删除第三方通讯录数据库表中具有相同cloud_id的通讯录信息及其他相关数据。并在更新完第三方通讯录数据库表中的数据后,按照服务器发送的最后更新时间更新last_update_time0
[0051]接着,基于第三方通讯录数据库表中的c0ntact_id与系统通讯录数据库表中的
contact_id的--对应关系以及第三方通讯录数据库表中data_status字段的值,根据更新后的第三方通讯录数据库表更新系统通讯录数据库表中的数据。具体地,根据更新后的第三方通讯录数据库表的contact_id在系统通讯录数据库表中查找相同的contact_id及对应的待修改的数据,若在系统通讯录数据库表中查找到相同的contact_id,且data_status =。,则按照更新后的第三方通讯录数据库表中的通讯录信息,修改系统通讯录数据库表中具有相同contact_id的通讯录信息以及更新对应的vers1n字段的值;若在系统通讯录数据库表中查找到相同的contact_id,且data_status = _l,贝Ij删除系统通讯录数据库表中具有相同contact_id的通讯录信息及其他相关数据;将第三方通讯录数据库表中无contact_id的通讯录信息,增加到系统通讯录数据库表,此时,系统通讯录还为系统通讯录数据库表中新增加的通讯录信息生成对应的contact_id及vers1n的值,移动终端控制上述客户端程序获取系统通讯录生成的contact_id及vers1n的值,并写入第三方通讯录数据库表中对应的位置。
[0052]从而最终完成移动终端本地的第三方通讯录数据库表、系统通讯录数据库表与服务器中的云通讯录数据库表的同步。
[0053]经过验证,在现有的同步方式中,假设手机I:号码A为123、号码B为1234;手机2:号码A为123、号码B为1234;云服务器:号码A为123号码B为1234。若手机I的用户修改号码A为321,手机2的用户修改号码B为4321,则手机I用户进行同步时,云服务器中的号码A变为321,号码B变为1234,此时若手机2的用户再进行同步,要么手机2和云服务器中的号码A都变为321,号码B变为1234,或者手机2和云服务器中的号码A都变成为123,号码B变为4321,而实际上此时需要的是将号码A变为321,将号码B变为4321。
[0054]而使用本实施例提供的通讯录同步方法进行同步,相同条件下,若手机I用户进行同步,则云服务器变号码A为321,号码B为1234,此时若手机2的用户再进行同步,由于修改后的内容会先被同步至云服务器,所以此时云服务器中的号码B被修改为4321,然后手机2再从云服务器下载同步数据,此时手机2的号码A被修改为321,号码B仍然为4321,云服务器中的号码A为321,号码B为4321,从而避免了因多个终端共用一个用户账号导致的同步出错的问题。
[0055]作为本发明另一实施例,在步骤SlOl之前,还包括以下步骤:
[0056]S201、在本地构建第三方通讯录数据库表,将系统通讯录数据库表中的通讯录数据导入第三方通讯录数据库表中,并将导入的通讯录数据发送给服务器,使得服务器根据接收的通讯录数据,构建云端通讯录;
[0057]S202、接收服务器返回的各条通讯录数据的云标识信息,并写入第三方通讯录数据库表。
[0058]具体地,移动终端在本地构建第三方通讯录数据库表,第三方通讯录数据库表包括:本地ID字段、修改版本号字段、云ID字段、更新类型标示符字段以及用于记录通讯录中各条通讯录信息的字段;将系统通讯录数据导入第三方通讯录数据库表中,并将数据导入后的第三方通讯录数据库表中的通讯录数据发送给服务器;由于是首次同步,服务器会为移动终端发送的各条通讯录数据生成对应的ID并下发给移动终端,移动终端接收服务器返回的各条通讯录数据对应的云ID,并写入第三方通讯录数据库表中的云ID字段。
[°°59] 需要说明的是,移动终端中还配置有同步更新时间表Contact_update_time,包括表字段:last_update_time,用于记录各条通信数据最后同步或更新的时间。移动终端将系统通讯录数据中更新的通讯录数据同步至第三方通讯录数据库表后,将本次同步更新的时间记录在last_update_time中,然后将记录的同步更新的时间以及本次同步的数据一并发送给服务器。同步的数据包括:本次同步中新增、修改、或者删除的通讯信息、对应的云ID(local_contact_id)以及更新类型标不符(data_status)。
[0060]本发明实施例提供的一种通讯录同步方法,通过移动终端在同步本地通讯录时首先将本地通讯录的更新数据上传至服务器,使得服务器根据更新数据更新云端通讯录,然后从服务器下载数据更新后的云端通讯录的同步数据,根据同步数据将本地通讯录与数据更新后的云端通讯录进行同步,可有效避免因多个终端共用一个用户账号导致的同步出错的问题,提高同步的准确性。
[0061]请参阅图2,图2为本发明第二实施例提供的一种通讯录同步方法的实现流程示意图。本实施例提供的通讯录同步方法可应用于服务器中,本实施例是从服务器侧进行的说明,如图2所示,该方法主要包括以下步骤:
[0062]S301、接收移动终端上传的移动终端中的本地通讯录的更新数据,根据更新数据,更新云端通讯录;
[0063]移动终端在检测到同步任务被触发时,获取当前时间点与上次执行云端与本地通讯录的同步操作的时间点之间本地通讯录中发生变化的更新数据,并将该更新数据发送给服务器,服务器根据该更新数据,更新云端通讯录。
[0064]进一步地,移动终端中配置有第三方通讯录数据库表及系统通讯录数据库表,移动终端在执行同步操作时,先将第三方通讯录数据库表与系统通讯录数据库表进行同步,以保持二者相关数据的一致性,然后将同步时更新在第三方通讯录数据库表中的数据发送给服务器。具体更新方式可参考上述图1所示第一实施例中的相应内容,此处不再赘述。
[0065]移动终端将同步到第三方通讯录数据库表中的数据以及该数据的最后同步更新时间发送给服务器。其中,根据同步方式的不同,当同步方式为修改或删除数据时,同步数据包括:修改或删除的通讯录信息、各条修改或删除的通讯录信息对应的云标识信息ID以及更新类型标示符data_status;当同步方式为新增数据时,同步数据包括:新增的通讯录信息。由于云ID是由服务器生成,所以当某条数据移动终端中有而服务器中没有时,该条数据在移动终端中是没有对应的云ID的。
[0066]作为本发明另一实施例,步骤S301具体包括:
[0067]S3011、接收移动终端发送的更新数据;
[0068]S3012、若更新数据为第一同步数据,则基于第一同步数据中的云标识信息及更新类型标志符,将第一同步数据中的通讯录信息以修改或删除的方式,同步至云端通讯录;
[0069]S3013、若更新数据为第二同步数据,则将第二同步数据中的通讯录信息以新增的方式,同步至云端通讯录,并为新增的通讯录信息生成对应的云标识信息,将云标识信息发送给移动终端,以及将云标识信息记录在云端通讯录中。
[0070]具体地,服务器根据移动终端发送的更新数据是否包括云ID以及同步数据中的data_status的值确定同步方式。若该更新数据为第一同步数据,贝Ij包括云ID。若该更新数据为第二同步数据,则不包括云ID。若移动终端发送的更新数据中不包括云ID,则确定同步方式为新增数据;若该更新数据中包括云ID且data_status = 0,则确定同步方式为修改数据;若该更新数据中包括云ID且data_status = _l;则确定同步方式为删除数据。
[0071]若同步方式为新增数据,则将对应的移动终端发送的第三方通讯录数据库表中新增的通讯录信息增加在云通讯录数据库表中,并在云通讯录数据库表中将该新增的通讯录数据的data_status修改为I,同时为该新增的通讯录数据生成对应的云ID,并将该云ID记录在云通讯录数据库表的对应位置,同时下发给移动终端,使得移动终端将该云ID记录在第三方通讯录数据库表中,以便下一次同步时使用。
[0072]若同步方式为修改数据,则按照对应的移动终端发送的第三方通讯录数据库表中修改的通讯录信息,修改云通讯录数据库表中的相关数据,并在云通讯录数据库表中将该修改的通讯录数据的data_s tatus修改为O。
[0073]若同步方式为删除数据,则在云通讯录数据库表中将对应的移动终端发送的第三方通讯录数据库表中被删除的通讯录数据的data_status修改为0,可以理解地,删除数据并没有真正删除掉,只是修改标示符,用于别的客户端来判断为删除。
[0074]服务器中还配置有更新时间表,包括用于记录每一条通讯录数据的最后更新时间的item_last_update_time字段。服务器在进行每一条通讯录数据更新时,将更新的服务器的时间记录在item_last_update_time字段中。
[0075]S302、获取数据更新后的云端通讯录中更新时间晚于本地通讯录的最后更新时间的同步数据并发送给移动终端,同步数据用以将移动终端中的本地通讯录与数据更新后的云端通讯录进行同步。
[0076]获取数据更新后的云端通讯录的同步数据具体包括:接收移动终端发送的本地通讯录中各条通讯录信息的最后更新时间;根据最后更新时间从数据更新后的云端通讯录中确定更新时间晚于最后更新时间的同步数据。其中云端通讯录中的数据可存储于云通讯录数据库表中。
[0077]具体地,服务器将移动终端上传的第三方通讯录数据库表中存储的各条通讯录数据的最后更新时间(last_update_time)与数据更新后的云通讯录数据库表中存储的各条通讯录数据的最后更新时间(item_last_update_time)进行比较,通过利用last_update_time〈item_last_update_time作为检索条件,来检索出来需要下发给移动终端的同步数据。该同步数据包括:云通讯录数据库表中满足last_update_time〈item_last_update_time条件的目标通讯录信息、该目标通讯录信息对应的cloud_id和data_status以及最后更新时间。服务器将检索出的同步数据发送给移动终端,使得移动终端根据该同步数据更新第三方通讯录数据库表及系统通讯录数据库表。移动终端根据该同步数据更新第三方通讯录数据库表及系统通讯录数据库表的过程具体可参考图1所示第一实施例中的相应内容,此处不再赘述。
[0078]作为本发明另一实施例,在步骤S301之前,还包括以下步骤:
[0079]S401、接收移动终端发送的通讯录数据,构建云端通讯录的云端通讯录,并将通讯录数据写入云端通讯录;
[0080]S402、为写入的各条通讯录数据生成对应的云标识信息,并将云标识信息发送给移动终端以及将云标识信息记录在云端通讯录。
[0081]具体地,服务器接收移动终端发送的新构建的第三方通讯录数据库表中的通讯录数据,构建对应的云通讯录数据库,即构建云端通讯录,并将该通讯录数据写入云通讯录数据库表中,该通讯录数据包括移动终端首次从系统通讯录数据库表导入第三方通讯录数据库表的通讯录信息,该云通讯录数据库表包括:云ID(cloud_id)字段、更新类型标示符(data_status)字段以及用于记录各条通讯录信息的字段;为各条通讯录数据生成对应的云ID,并将云ID发送给移动终端,以及将该云ID记录在该云ID字段中。
[0082]同时,服务器为写入云通讯录数据库表的各条通讯录数据生成对应的全网唯一的云ID,将生成的云ID记录在云通讯录数据库表中cloud_id字段的相应位置,同时将生成的云ID发送给移动终端,使得移动终端将各云ID记录在第三方通讯录数据库表中cloud_id字段的相应位置。
[0083]本发明实施例提供的一种通讯录同步方法,通过服务器根据移动终端发送的移动终端的本地通讯录的更新数据更新云端通讯录,然后再将数据更新后的云端通讯录的同步数据发送给移动终端,可有效避免因多个终端共用一个用户账号导致的同步出错的问题,提尚同步的准确性。
[0084]请参阅图3,图3是本发明第三实施例提供的一种通讯录同步装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图3示例的通讯录同步装置可以是前述第一实施例提供的一种通讯录同步方法的执行主体,其可以是移动终端或者移动终端中的一个功能模块。图3示例的通讯录同步装置,主要包括:获取模块501、发送模块502、下载模块503以及同步模块504。各功能模块详细说明如下:
[0085]获取模块501,用于获取本地通讯录的更新数据;
[0086]发送模块502,用于将该更新数据上传至服务器,该更新数据用以更新服务器中的云端通讯录;
[0087]下载模块503,用于将该服务器中更新时间晚于本地通讯录的最后更新时间的同步数据下载;
[0088]同步模块504,用于根据该同步数据,对该本地通讯录进行同步。
[0089]上述模块实现各自功能的具体过程可参考图1所示第一实施例的相关内容,此处不再赘述。
[0090]需要说明的是,上述图3示例的通讯录同步装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将该装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成(本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述)。
[0091]本发明实施例提供的一种通讯录同步装置,通过移动终端在同步本地通讯录时首先将本地通讯录的更新数据上传至服务器,使得服务器根据更新数据更新云端通讯录,然后从服务器下载数据更新后的云端通讯录的同步数据,根据同步数据将本地通讯录与数据更新后的云端通讯录进行同步,可有效避免因多个终端共用一个用户账号导致的同步出错的问题,提高同步的准确性。
[0092]请参阅图4,图4是本发明第四实施例提供的一种通讯录同步装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。与图3所示本发明第三实施例提供的一种通讯录同步装置不同的是,在本实施例中:
[0093]进一步地,获取模块501,还用于以系统通讯录数据库表为基准,将该系统通讯录数据库表与第三方通讯录数据库表进行比较,通过该系统通讯录数据库表与该第三方通讯录数据库表之间的差异数据得到该更新数据。
[0094]进一步地,同步模块504,还用于将该差异数据同步至该第三方通讯录数据库表;
[0095]发送模块502,还用于若同步方式为修改或删除数据,则将第一同步数据发送给服务器,该第一同步数据包括:该第三方通讯录数据库表中本次修改或删除的通讯录信息、各条修改或删除的通讯录信息对应的云标识信息以及更新类型标示符,该云标识信息及该更新类型标志符用以将该修改或删除的通讯录信息同步至该云端通讯录;
[0096]发送模块502,还用于若该同步方式为新增数据,则将第二同步数据发送给该服务器,该第二同步数据包括:该第三方通讯录数据库表中本次新增的通讯录信息,该第二同步数据用以将该新增的通讯录信息同步至该云端通讯录。
[0097]该装置还包括:
[0098]接收模块601,用于接收该服务器返回的该第二同步数据的云标识信息;
[0099]写入模块602,用于将该第二同步数据的云标识信息写入该第三方通讯录数据库表。
[0100]进一步地,同步模块504,还用于根据该同步数据,同步该系统通讯录数据库表与该数据更新后的云端通讯录;以及基于该第三方通讯录数据库表中的本地标识信息与该系统通讯录数据库表中的本地标识信息的一一对应关系,将该第三方通讯录数据库表与同步后的该系统通讯录数据库表进行同步。
[0101 ] 进一步地,该装置还包括:
[0102]构建模块603,用于在本地构建第三方通讯录数据库表,将系统通讯录数据库表中的通讯录数据导入该第三方通讯录数据库表中;
[0103]发送模块502,还用于将导入的通讯录数据发送给该服务器,使得该服务器根据接收的通讯录数据,构建该云端通讯录;
[0104]接收模块601,还用于接收该服务器返回的各条通讯录数据的云标识信息;
[0105]写入模块602,还用于写入该第三方通讯录数据库表。
[0106]上述模块实现各自功能的具体过程可参考图1所示第一实施例的相关内容,此处不再赘述。
[0107]本发明实施例提供的一种通讯录同步装置,通过移动终端在同步本地通讯录时首先将本地通讯录的更新数据上传至服务器,使得服务器根据更新数据更新云端通讯录,然后从服务器下载数据更新后的云端通讯录的同步数据,根据同步数据将本地通讯录与数据更新后的云端通讯录进行同步,可有效避免因多个终端共用一个用户账号导致的同步出错的问题,提高同步的准确性。
[0108]请参阅图5,图5是本发明第五实施例提供的一种通讯录同步装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图5示例的通讯录同步装置可以是前述第二实施例提供的一种通讯录同步方法的执行主体,其可以是服务器或者服务器中的一个功能模块。图5示例的通讯录同步装置,主要包括:接收模块701、更新模块702、获取模块703以及发送模块704 ο各功能模块详细说明如下:
[0109]接收模块701,用于接收移动终端上传的该移动终端中的本地通讯录的更新数据;
[0110]更新模块702,用于根据该更新数据,更新云端通讯录;
[0111]获取模块703,用于获取数据更新后的云端通讯录中更新时间晚于本地通讯录的最后更新时间的同步数据;
[0112]发送模块704,用于将该同步数据发送给该移动终端,该同步数据用以将该移动终端中的本地通讯录与该数据更新后的云端通讯录进行同步。
[0113]上述模块实现各自功能的具体过程可参考图2所示第二实施例的相关内容,此处不再赘述。
[0114]本发明实施例提供的一种通讯录同步装置,通过服务器根据移动终端发送的移动终端的本地通讯录的更新数据更新云端通讯录,然后再将数据更新后的云端通讯录的同步数据发送给移动终端,可有效避免因多个终端共用一个用户账号导致的同步出错的问题,提尚同步的准确性。
[0115]请参阅图6,图6是本发明第六实施例提供的一种通讯录同步装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。与图5所示本发明第五实施例提供的一种通讯录同步装置不同的是,在本实施例中:
[0116]进一步地,更新模块702,还用于若该更新数据为第一同步数据,则基于该第一同步数据中的云标识信息及更新类型标志符,将该第一同步数据中的通讯录信息以修改或删除的方式,同步至云端通讯录;
[0117]更新模块702,还用于若该更新数据为第二同步数据,则将该第二同步数据中的通讯录信息以新增的方式,同步至该云端通讯录;
[0118]该装置还包括:
[0119]生成模块801,用于为该新增的通讯录信息生成对应的云标识信息;
[0120]发送模块704,还用于将该云标识信息发送给该移动终端;
[0121 ] 记录模块802,用于将该云标识信息记录在该云端通讯录中。
[0122]进一步地,接收模块701,还用于接收该移动终端发送的通讯录数据;
[0123]该装置还包括:
[0124]构建模块803,用于构建该云端通讯录,并将该通讯录数据写入该云端通讯录;
[0125]生成模块801,还用于为写入的各条通讯录数据生成对应的云标识信息;
[0126]发送模块704,还用于将该云标识信息发送给该移动终端;
[0127]记录模块802,还用于将该云标识信息记录在该云端通讯录。
[0128]上述模块实现各自功能的具体过程可参考图2所示第二实施例的相关内容,此处不再赘述。
[0129]本发明实施例提供的一种通讯录同步装置,通过服务器根据移动终端发送的移动终端的本地通讯录的更新数据更新云端通讯录,然后再将数据更新后的云端通讯录的同步数据发送给移动终端,可有效避免因多个终端共用一个用户账号导致的同步出错的问题,提尚同步的准确性。
[0130]在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0131]所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0132]另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0133]所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0134]需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
[0135]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
[0136]以上为对本发明所提供的一种通讯录同步方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在【具体实施方式】及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种通讯录同步方法,其特征在于,所述方法包括: 接收移动终端上传的所述移动终端中的本地通讯录的更新数据,根据所述更新数据,更新云端通讯录; 获取数据更新后的云端通讯录中更新时间晚于所述本地通讯录的最后更新时间的同步数据并发送给所述移动终端,所述同步数据用以将所述移动终端中的本地通讯录与所述数据更新后的云端通讯录进行同步。2.根据权利要求1所述的方法,其特征在于,所述根据所述更新数据,更新云端通讯录包括:若所述更新数据为第一同步数据,则基于所述第一同步数据中的云标识信息及更新类型标志符,将所述第一同步数据中的通讯录信息以修改或删除的方式,同步至云端通讯录;若所述更新数据为第二同步数据,则将所述第二同步数据中的通讯录信息以新增的方式,同步至所述云端通讯录,并为所述新增的通讯录信息生成对应的云标识信息,将所述云标识信息发送给所述移动终端,以及将所述云标识信息记录在所述云端通讯录中。3.根据权利要求1所述的方法,其特征在于,所述接收移动终端上传的所述移动终端中的本地通讯录的更新数据之前包括: 接收所述移动终端发送的通讯录数据,构建所述云端通讯录的云端通讯录,并将所述通讯录数据写入所述云端通讯录; 为写入的各条通讯录数据生成对应的云标识信息,并将所述云标识信息发送给所述移动终端以及将所述云标识信息记录在所述云端通讯录。4.一种通讯录同步装置,其特征在于,所述装置包括: 接收模块,用于接收移动终端上传的所述移动终端中的本地通讯录的更新数据; 更新模块,用于根据所述更新数据,更新云端通讯录; 获取模块,用于获取数据更新后的云端通讯录中更新时间晚于所述本地通讯录的最后更新时间的同步数据; 发送模块,用于将所述同步数据发送给所述移动终端,所述同步数据用以将所述移动终端中的本地通讯录与所述数据更新后的云端通讯录进行同步。5.根据权利要求4所述的装置,其特征在于, 所述更新模块,还用于若所述更新数据为第一同步数据,则基于所述第一同步数据中的云标识信息及更新类型标志符,将所述第一同步数据中的通讯录信息以修改或删除的方式,同步至云端通讯录; 所述更新模块,还用于若所述更新数据为第二同步数据,则将所述第二同步数据中的通讯录信息以新增的方式,同步至所述云端通讯录; 所述装置还包括: 生成模块,用于为所述新增的通讯录信息生成对应的云标识信息; 所述发送模块,还用于将所述云标识信息发送给所述移动终端; 记录模块,用于将所述云标识信息记录在所述云端通讯录中。6.根据权利要求5所述的装置,其特征在于, 所述接收模块,还用于接收所述移动终端发送的通讯录数据; 所述装置还包括:构建模块,用于构建所述云端通讯录,并将所述通讯录数据写入所述云端通讯录;所述生成模块,还用于为写入的各条通讯录数据生成对应的云标识信息;所述发送模块,还用于将所述云标识信息发送给所述移动终端;所述记录模块,还用于将所述云标识信息记录在所述云端通讯录。
【文档编号】H04M1/2745GK105847336SQ201610156325
【公开日】2016年8月10日
【申请日】2016年3月18日
【发明人】周奇, 梁豹新
【申请人】周奇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1