联系人信息的同步方法、装置及云服务器
技术领域
本申请涉及互联网技术领域,特别涉及联系人信息在移动设备和云服务器之间的同步方法、同步装置和云服务器。
背景技术
在实际应用中,随着生活水平的提高,同一个用户使用多个智能设备的情况也越来越普遍。为了防止智能设备突然发生死机等其他情况导致智能设备上存储的数据(例如联系人或记事本)丢失,一般情况下用户可以选择将智能设备的联系人信息同步至云服务器,在手机丢失数据的时候可以再从云服务器上下载。
在现有技术中有一种联系人信息的同步方法,假设用户小明在使用智能设备A的时候,将智能设备A的联系人信息同步至云服务器了,而云服务器则会将该智能设备A的联系人信息进行存储。后续用户小明在使用智能设备B的时候,就可以将云服务器上存储的智能设备A的联系人信息下载至智能设备B上使用,不过为了保证智能设备B的数据在丢失时造成不便,小明还会把智能设备B的数据再同步至云服务器。
发明内容
但是发明人在研究过程中发现,因为云服务器在进行联系人信息存储的时候,针对不同的移动设备其采用复制的方式进行存储,即,用户使用智能设备A同步联系人信息时,云服务器会直接将智能设备A的全部联系人信息都复制下来存储至云服务器中,而用户使用智能设备B再往云服务器同步联系人信息时,云服务器又会直接将智能设备B的全部联系人信息复制下来并存储至云服务器中。假设后续用户小明又换了智能设备C,那么小明如果需要将云服务器的联系人信息同步至自己的智能设备C中,则云服务器将会将智能设备A和智能设备B的全部联系人信息都推送给智能设备C。
而因为小明在使用智能设备A、B和C的时候,即便联系人信息有更新,也可能仅仅是很少一部分的更新,而上述同步方式必然会导致在云服务器端会重复存储多份相同的联系人信息,而且也必然会导致小明在使用智能设备C的时候,从云服务器同步下来的联系人信息会重复有多份。因此,现有技术的这种同步方式势必会造成联系人资源的重复存储和传送,不仅浪费了云服务器和智能设备的存储资源,还浪费了云服务器与智能设备之间的通信资源。进一步的,这种不够智能的同步方式,很显然也会使得用户的感受变差。
本申请所要解决的技术问题是提供一种联系人信息的同步方法,用以尽量避免在云服务器和智能设备中存储了多份相同联系人信息的现在,从而尽量解决浪费存储资源以及通信资源的问题,进一步的,也提升用户使用云服务器存储联系人信息的使用感受。
本申请还提供了联系人信息的同步装置及云服务器,用以保证上述方法在实际中的实现及应用。
为了解决上述问题,本申请公开了一种联系人信息的同步方法,该方法应用于云服务器上,包括:
响应于当前用户触发的第一同步请求,从当前智能设备上获取待同步的第一联系人信息;其中,所述第一同步请求表示将所述第一联系人信息从当前智能设备同步至云服务器上;
将所述第一联系人信息与第二联系人信息分别按照联系人模型进行比对;其中,所述第二联系人信息为所述云服务器上存储的且与所述当前用户对应的联系人信息,所述第二联系人信息采用所述联系人模型存储;
按照所述比对的结果和预设的联系人同步策略,将所述待同步的第一联系人信息存储至所述云服务器。
本申请公开了另一种联系人信息的同步方法,该方法应用于云服务器上,该方法应用于云服务器上,包括:
响应于当前用户触发的第二同步请求,从当前智能终端上获取所述当前用户的第三联系人信息;其中,所述第二同步请求表示将云服务器存储的所述当前用户的第四联系人信息同步至所述当前智能设备上;
将所述第三联系人信息与第四联系人信息分别按照联系人模型进行比对;其中,所述第四联系人信息采用所述联系人模型存储;
按照所述比对的结果和预设的联系人同步策略,将所述待同步的第四联系人信息同步至所述当前智能设备。
本申请公开了一种联系人信息的同步装置,包括:
第一获取模块,用于响应于当前用户触发的第一同步请求,从当前智能设备上获取待同步的第一联系人信息;其中,所述第一同步请求表示将第一联系人信息从当前智能设备同步至云服务器上;
第一比对模块,用于将所述第一联系人信息与第二联系人信息分别按照联系人模型进行比对;其中,所述第二联系人信息为所述云服务器上存储的且与所述当前用户对应的联系人信息,所述第二联系人信息采用所述联系人模型进行存储;
存储模块,用于按照所述比对的结果和预设的联系人同步策略,将所述待同步的第一联系人信息存储至所述云服务器。
本申请公开了另一种联系人信息的同步装置,包括:
第二获取模块,用于响应于当前用户触发的第二同步请求,从当前智能终端上获取所述当前用户的第三联系人信息;其中,所述第二同步请求表示将云服务器存储的所述当前用户的第四联系人信息同步至所述当前智能设备上;
第二比对模块,用于将所述第三联系人信息与第四联系人信息分别按照联系人模型进行比对;其中,所述第四联系人信息采用所述联系人模型进行存储;
同步模块,用于按照所述比对的结果和预设的联系人同步策略,将所述待同步的第四联系人信息同步至所述当前智能设备。
本申请公开了一种云服务器,包括:前述的任一项装置。
与现有技术相比,本申请包括以下优点:
在本申请实施例中,在用户需要将智能设备中的联系人信息同步至云服务器的时候,云服务器会将自己存储的联系人信息与智能设备上存储的联系人信息分别按照相同的联系人模型进行比对,并在比对后根据比对的结果,以及预设的联系人同步策略来将联系人信息存储至云服务器。因为联系人信息在云服务器和智能终端上都采用了相同的联系人模型进行存储,那么出现相同的联系人时就可以直接将最新的联系人信息替换旧的联系人信息,或者将两个联系人信息直接合并为一份进行存储,从而可以实现在云服务器只存储一份联系人信息的目的,从而节省了那些存储多份相同联系人信息的存储资源,进而也节省了联系人信息在云服务器和智能设备之间传输时的通信资源,也提升了用户在使用云服务器存储联系人信息的使用感受。
同理,用户在需要将云服务器的联系人信息同步至自己的智能设备的时候,云服务器也会对自己存储的联系人信息和智能设备上的联系人基于相同的联系人模型进行比对,进而在比对后根据比对的结果,以及预设的联系人同步策略来将联系人信息同步至智能设备。因为联系人信息在云服务器和智能终端上都采用了相同的联系人模型进行存储,那么如果智能设备没有该联系人就直接将联系人信息添加至智能设备中,而如果出现相同的联系人时就直接将最新的联系人信息替换旧的联系人信息,或者将两个联系人信息合并为一份进行存储,从而可以实现在智能设备中只存储一份联系人信息的目的,从而节省了那些存储多份相同联系人信息的存储资源,进而也节省了联系人信息在云服务器和智能设备之间传输时的通信资源,也提升了用户在使用云服务器存储联系人信息的使用感受。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的联系人信息的同步方法实施例1的流程图;
图2是本申请的方法实施例在实际应用中的场景示意图;
图3是本申请的联系人信息的同步方法实施例2的流程图;
图4是本申请的联系人信息的同步装置实施例2的结构示意图;
图5为本申请的联系人信息的同步装置实施例2的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
参考图1,示出了本申请一种联系人信息的同步方法实施例1的流程图,本实施例可以应用于云服务器上,本实施例可以包括以下步骤:
步骤101:响应于当前用户触发的第一同步请求,从当前智能设备上获取待同步的第一联系人信息。
本实施例的方法可以应用于云服务器上,其中的智能设备例如用户的智能手机或者智能平板电脑等可以存储联系人信息、能与云服务器进行通信的设备,在本实施例中以智能手机为例进行说明。当前用户如果希望将其所拥有的智能手机上的第一联系人信息同步至云服务器的时候,则在智能手机上触发同步请求,该同步请求用于请求将第一联系人信息从当前智能手机同步至云服务器上,在这种情况下,云服务器会从当前智能手机获取其中存储的待同步的第一联系人信息。参考图2所示,为本实施例在实际应用场景中云服务器和智能设备的应用场景图。云服务器可以连接某一个用户的多个智能设备,或者多个用户的多个智能设备。用户与云服务器进行通信的时候可以在云服务器注册一个云账户,该云账号可以唯一标识一个用户,该一个用户下如果存在多个智能设备,则都可以通过唯一的云账号和云服务器通信。
在本实施例中,云服务器上存储的联系人信息的联系人模型可以包括:基础信息和扩展信息,其中,基础信息可以包括:联系人标识和联系人更新时间,而联系人标识可以包括:联系人姓名和/或联系人号码,联系人号码可以是移动电话,联系人姓名可以是真实姓名,也可以是昵称等;其中,扩展信息可以包括除了基础信息之外的其他联系人信息,例如,家庭住址或者公司名称等与用户有关的身份信息。
在本申请实施例中,云服务器的第二联系人信息在进行存储的时候,其联系人模型在实际应用中一个可能的例子可以如表1所示。
表1
在表1的联系人模型中,联系人信息可以包括:“移动电话”、“联系人姓名”、“工作电话”、“邮件地址”、“家庭地址”、“生日”、“个人资料”、“头像”、“备注”和“其他”字段,其中,“其他”字段的内容作为扩展信息,可以采用XML或者json格式存储,在“其他”字段中可以存储一切自定义的属性信息,例如博客网址、传真等。
可以将“移动电话”字段作为联系人信息同步时的业务主键,这种方式大多数情况下都会比较准确,但是也有一种特殊的情况是,同一个手机号码在亲人或者朋友之间转用,那可能就会出现虽然是同一个移动电话但是对应了不同的用户的情况。
在表1的联系人模型中,也可以将“联系人姓名”字段作为联系人信息同步时的业务主键,一般情况下,同一个用户的同名同姓的联系人的情况比较少见,但是也因为可能出现同名同姓的情况而不够准确。
在表1的联系人模型中,还可以同时将“联系人姓名”和“移动电话”作为联系人信息同步时的业务主键。在这种情况下,可以使本申请实施例的同步效果比前两种方式更好。
步骤102:将所述第一联系人信息与第二联系人信息分别按照联系人模型进行比对。
可以理解的是,在本实施例中,由云服务器从智能手机侧获取到智能手机存储的第一联系人信息,从而再与自己存储的第二联系人信息进行比对。其中,第二联系人信息为云服务器上存储的且该当前用户曾经同步成功的联系人信息,并且所述第一联系人信息和第二联系人信息可以采用相同的联系人模型存储。当然,智能设备上的第一联系人信息如果未采用联系人模型进行存储,那么可以将智能设备上的联系人信息的各个字段与第二联系人信息一一匹配之后进行比对即可。
其中,根据联系人模型的业务主键的选择不同,例如,将第一联系人信息与第二联系人信息分别按照联系人模型中的基础信息进行比对。那么本步骤实施时可以有三种不同实现方式,第一种实现方式为:将第一联系人姓名和第一联系人更新时间分别与第二联系人姓名和第二联系人更新时间进行比对。第二种实现方式为:将第一联系人号码和第一联系人更新时间分别与第二联系人号码和第二联系人更新时间进行比对。第三种实现方式为:将第一联系人号码、第一联系人姓名和第一联系人更新时间分别与第二联系人号码、第二联系人姓名和第二联系人更新时间进行比对。
其中,在比对完第一联系人信息和第二联系人信息之后,将第一联系人姓名与第二联系人姓名不同作为第一比对结果;将第一联系人姓名与第二联系人姓名相同,且第一联系人更新时间晚于第二联系人更新时间作为第二比对结果;将第一联系人号码与第二联系人号码不同作为第三比对结果;将所述第一联系人号码与第二联系人号码相同,且第一联系人更新时间晚于第二联系人更新时间作为第四比对结果;将第一联系人姓名与第二联系人姓名相同,且第一联系人号码与第二联系人号码相同,且第一联系人更新时间晚于第二联系人更新时间作为第五比对结果;将第一联系人姓名与第二联系人姓名不同,且第一联系人号码与第二联系人号码不同作为第六比对结果;将第一联系人姓名与第二联系人姓名不同,且第一联系人号码与第二联系人号码相同,且第一联系人更新时间晚于第二联系人更新时间,作为第七比对结果。
步骤103:按照所述比对的结果和预设的联系人同步策略,将所述待同步的第一联系人信息存储至所述云服务器。
在步骤103中,根据步骤102的各种不同的比对结果,在进行同步时可以采用不同的同步方式。具体的,在符合第一比对结果、第三比对结果或第六比对结果的情况下,可以说明第一联系人信息并未在云服务器中进行存储,那么可以直接将第一联系人的基础信息和扩展信息添加至云服务器,以实现第一联系人信息同步至云服务器的目的。
而在符合第二比对结果、第四比对结果、第五比对结果或第七比对结果的情况下,则可以说明同一个第一联系人信息曾经在云服务器中存储了相应的内容,那么,将第一联系人的基础信息和扩展信息合并存储至云服务器。
其中,将第一联系人的基础信息和扩展信息合并存储至所述云服务器,具体又分为以下几种情况:
在符合第二比对结果的情况下,即,第一联系人姓名和第二联系人姓名相同说明两者属于同一个联系人,并且第一联系人更新时间晚于第二联系人更新时间,说明第一联系人信息是真实的,那么直接将第一联系人信息中除了联系人姓名之外的基础信息和扩展信息,对应替换第二联系人信息中除了联系人姓名之外的基础信息和扩展信息。
在符合第四比对结果的情况下,即第一联系人号码与第二联系人号码相同也说明属于同一个联系人,而第一联系人更新时间晚于第二联系人更新时间则说明第一联系人信息是真实的,此时也将第一联系人信息中除了联系人号码之外的基础信息和扩展信息,对应替换第二联系人信息中除了联系人号码之外的基础信息和扩展信息。
在符合第五比对结果的情况下,而第一联系人姓名的号码均与第二联系人姓名和号码相同,则毫无疑义可以确定第一联系人和第二联系人同属于一人,同时第一联系人更新时间晚于第二联系人更新时间则说明第一联系人信息是真实的,在这种情况下也直接将第一联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息,对应替换第二联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息。
同理,在符合第七比对结果的情况下,说明第一联系人和第二联系人是同一个人,该联系人号码没有变但是其在当前用户的智能设备中的姓名变了,例如云服务器中的第二联系人姓名是“张三”,而当前智能手机中存储的第一联系人姓名是“张总”,此时则将“张三”和“张总”合并存储在云服务器中,例如“张三(张总)”。并且,再将第一联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息,例如,“张总”对应的家庭地址和邮件地址,对应替换第二联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息。
为了方便本领域技术人员对本申请实施例有更详细的了解,下面举一个具体的例子来说明。假设对于用户小明,在其智能手机1上存储的联系人信息如表2所示。
表2
而曾经小明使用智能手机2的时候,已经同步至云端服务器的联系人信息则如表3所示。
表3
那么,将表2和表3的内容进行合并之后,则其智能手机1同步至云服务器之后,在云服务器存储的联系人信息则可以如表4所示。
表4
在表4中,智能手机1的联系人名称“安红”和智能手机2的联系人名称“baby”进行了合并,合并之后存储在云服务器,而智能手机1的联系人名称“小军”并未在云服务器进行过同步,那么直接将该联系人信息添加至云服务器即可。
可选的,在不同的实施例中,所述步骤103之后还可以包括:
步骤104:将同步结果返回至所述当前智能设备以在所述当前智能设备上展示给用户。
为了使得当前用户对同步结果有更清楚的了解,则在将联系人信息同步至云服务器之后,还可以选择性的将同步结果展示给用户。例如,在将第一联系人信息和第二联系人信息合并存储之后,将合并存储的结果展示给用户,或者在第一联系人信息替换第二联系人信息之后,将替换结果显示给用户。
在本实施例中,在用户需要将智能设备中的联系人信息同步至云服务器的时候,云服务器会先获取到智能设备上存储的联系人信息与云服务器上存储的联系人信息,基于相同的联系人模型进行比对,并在比对后根据比对的结果,以及预设的联系人同步策略来将联系人信息同步至云服务器。例如出现相同的联系人时就将最新的联系人信息替换旧的联系人信息,或者将两个联系人信息合并为一份进行存储,从而可以实现在云服务器只存储一份联系人信息的目的,从而节省了那些存储多份相同联系人信息的存储资源,进而也节省了联系人信息在云服务器和智能设备之间传输时的通信资源,也提升了用户在使用云服务器存储联系人信息的使用感受。
参考图3,示出了本申请一种联系人信息的同步方法实施例2的流程图,本实施例可以应用于云服务器上,本实施例可以包括以下步骤:
步骤301:响应于当前用户触发的第二同步请求,从当前智能终端上获取所述当前用户待同步的第三联系人信息。
在本实施例中,第二同步请求可以表示将云服务器存储的所述当前用户的第四联系人信息从云服务器同步至当前智能设备上,而第四联系人信息的联系人模型可以包括基础信息和扩展信息,基础信息可以包括:联系人标识和联系人更新时间,所述联系人标识可以包括:联系人姓名和/或联系人号码,所述扩展信息可以包括除了基础信息之外的其他联系人信息。
本实施例与实施例1的不同之处在于本实施例的同步方向是云服务器同步至智能设备。其他未尽之处参考实施例1即可。
步骤302:将所述第三联系人信息与第四联系人信息分别按照联系人模型进行比对。
其中,第三联系人信息和第四联系人信息也可以采用了相同的联系人模型进行存储,当然,第三联系人信息如果未采用相同的联系人模型进行存储,那么可以将智能设备上的联系人信息的各个字段与第二联系人信息一一匹配之后进行比对即可。在本实施例中,根据业务主键的不同,可以将所述第一联系人信息与第二联系人信息分别按照联系人模型中的基础信息进行比对。那么,本步骤中将所述第三联系人信息与第四联系人信息进行比对,也可以有三种比对方式,其中第一种比对方式为:将第三联系人姓名和第三联系人更新时间分别与第四联系人姓名和第四联系人更新时间进行比对。第二种比对方式为:将第三联系人号码和第三联系人更新时间分别与第四联系人号码和第四联系人更新时间进行比对。第三种比对方式为:将第三联系人号码、第三联系人姓名和第三联系人更新时间分别与第四联系人号码、第四联系人姓名和第四联系人更新时间进行比对。
其中,第三联系人姓名与第四联系人姓名不同为第一比对结果;所述第三联系人姓名与第四联系人姓名相同,且第四联系人更新时间晚于第三联系人更新时间为第二比对结果;所述第三联系人号码与第四联系人号码不同为第三比对结果;所述第三联系人号码与第四联系人号码相同,且第四联系人更新时间晚于第三联系人更新时间为第四比对结果;所述第三联系人姓名与第四联系人姓名相同,且第三联系人号码与第四联系人号码相同,且第四联系人更新时间晚于第三联系人更新时间为第五比对结果;所述第三联系人姓名与第四联系人姓名不同,且第三联系人号码与第四联系人号码不同为第六比对结果;所述第三联系人姓名与第四联系人姓名不同,且第三联系人号码与第四联系人号码相同,且第四联系人更新时间晚于第三联系人更新时间,为第七比对结果。
步骤303:按照所述比对的结果和预设的联系人同步策略,将所述待同步的第四联系人信息同步至所述当前智能设备。
相应的,根据步骤302的比对结果,进行同步的过程,又可以包括以下两种情况:第一种情况为符合第一比对结果、第三比对结果或第六比对结果的情况,将第四联系人的基础信息和扩展信息发送至所述当前智能设备;第二种情况未符合第二比对结果、第四比对结果、第五比对结果或第七比对结果的情况,则将第四联系人的基础信息和扩展信息合并之后发送至所述当前智能设备。
其中,将第三联系人的基础信息和扩展信息合并之后发送至所述当前智能设备,又可以包括以下几种情况:
在符合第二比对结果的情况下,将第四联系人信息中除了联系人姓名之外的基础信息和扩展信息,对应替换第三联系人信息中除了联系人姓名之外的基础信息和扩展信息。
在符合第四比对结果的情况下,将第四联系人信息中除了联系人号码之外的基础信息和扩展信息,对应替换第三联系人信息中除了联系人号码之外的基础信息和扩展信息。
在符合第五比对结果的情况下,将第四联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息,对应替换第三联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息。
在符合第七比对结果的情况下,将所述第三联系人姓名和第四联系人姓名合并存储在云服务器中,并且,将第四联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息,对应替换第三联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息。
可选的,在不同实施例中,在步骤103之后,还可以包括:
步骤304:将同步结果发送给所述当前智能设备以便在所述当前智能设备上展示给用户。
在本实施例中,云服务器还可以选择将同步结果发送给当前智能设备,以便在其上展示给用户,当然,云服务器也可以不发送。
在本实施例中,用户在需要将云服务器的联系人信息同步至自己的智能设备的时候,云服务器也会对自己存储的联系人信息和智能设备上的联系人基于相同的联系人模型进行比对,进而在比对后根据比对的结果,以及预设的联系人同步策略来将联系人信息同步至智能设备上。例如,如果云服务器通过比对得知智能设备没有该联系人就直接将联系人信息添加至智能设备中,而如果出现相同的联系人时就将最新的联系人信息替换旧的联系人信息,或者将两个联系人信息合并为一份进行存储,从而可以实现在智能设备中只存储一份联系人信息的目的,从而节省了那些存储多份相同联系人信息的存储资源,进而也节省了联系人信息在云服务器和智能设备之间传输时的通信资源,也提升了用户在使用云服务器存储联系人信息的使用感受。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述本申请一种联系人信息的同步方法实施例所提供的方法实施例1相对应,参见图4,本申请还提供了一种联系人信息的同步装置实施例,在本实施例中,该装置可以包括:
第一获取模块401,用于响应于当前用户触发的第一同步请求,从当前智能设备上获取待同步的第一联系人信息;其中,所述第一同步请求表示将第一联系人信息从当前智能设备同步至云服务器上。
第一比对模块402,用于将所述第一联系人信息与第二联系人信息分别按照联系人模型进行比对;其中,所述第二联系人信息为所述云服务器上存储的且与所述当前用户对应的联系人信息,所述第二联系人信息采用所述联系人模型进行存储。
其中,联系人信息可以包括基础信息和扩展信息,基础信息包括:联系人标识和联系人更新时间,所述联系人标识包括:联系人姓名和/或联系人号码,所述扩展信息包括除了基础信息之外的其他联系人信息;所述第一比对模块包括:第一比对子模块,用于将第一联系人姓名和第一联系人更新时间分别与第二联系人姓名和第二联系人更新时间进行比对;第二比对子模块,用于将第一联系人号码和第一联系人更新时间分别与第二联系人号码和第二联系人更新时间进行比对;和,第三比对子模块,用于将第一联系人号码、第一联系人姓名和第一联系人更新时间分别与第二联系人号码、第二联系人姓名和第二联系人更新时间进行比对。
存储模块403,用于按照所述比对的结果和预设的联系人同步策略,将所述待同步的第一联系人信息同步至所述云服务器。
所述第一联系人姓名与第二联系人姓名不同为第一比对结果;所述第一联系人姓名与第二联系人姓名相同,且第一联系人更新时间晚于第二联系人更新时间为第二比对结果;所述第一联系人号码与第二联系人号码不同为第三比对结果;所述第一联系人号码与第二联系人号码相同,且第一联系人更新时间晚于第二联系人更新时间为第四比对结果;所述第一联系人姓名与第二联系人姓名相同,且第一联系人号码与第二联系人号码相同,且第一联系人更新时间晚于第二联系人更新时间为第五比对结果;所述第一联系人姓名与第二联系人姓名不同,且第一联系人号码与第二联系人号码不同为第六比对结果;所述第一联系人姓名与第二联系人姓名不同,且第一联系人号码与第二联系人号码相同,且第一联系人更新时间晚于第二联系人更新时间,为第七比对结果;
相应的,所述存储模块403可以包括:
第一添加模块,用于在符合第一比对结果、第三比对结果或第六比对结果的情况下,将第一联系人的基础信息和扩展信息添加至所述云服务器;第一合并模块,用于在符合第二比对结果、第四比对结果、第五比对结果或第七比对结果的情况下,则将第一联系人的基础信息和扩展信息合并存储至所述云服务器。
其中,所述第一合并模块具体可以包括:
第一替换子模块,用于在符合第二比对结果的情况下,将第一联系人信息中除了联系人姓名之外的基础信息和扩展信息,对应替换第二联系人信息中除了联系人姓名之外的基础信息和扩展信息;第二替换子模块,用于在符合第四比对结果的情况下,将第一联系人信息中除了联系人号码之外的基础信息和扩展信息,对应替换第二联系人信息中除了联系人号码之外的基础信息和扩展信息;第三替换子模块,用于在符合第五比对结果的情况下,将第一联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息,对应替换第二联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息;第四替换子模块,用于在符合第七比对结果的情况下,并且,将第一联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息,对应替换第二联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息;以及,第一合并子模块,用于将所述第一联系人姓名和第二联系人姓名合并存储在云服务器中。
可选的,在其他实施例,该装置还可以包括:
展示模块404,用于将同步结果返回至所述当前智能设备以在所述当前智能设备上展示给用户。
在本实施例中,在用户需要将智能设备中的联系人信息同步至云服务器的时候,云服务器会将自己存储的联系人信息与智能设备上存储的联系人信息分别按照相同的联系人模型进行比对,并在比对后根据比对的结果,以及预设的联系人同步策略来将联系人信息存储至云服务器。因为联系人信息在云服务器和智能终端上都采用了相同的联系人模型进行存储,那么出现相同的联系人时就将最新的联系人信息替换旧的联系人信息,或者将两个联系人信息直接合并为一份进行存储,从而可以实现在云服务器只存储一份联系人信息的目的,从而节省了那些存储多份相同联系人信息的存储资源,进而也节省了联系人信息在云服务器和智能设备之间传输时的通信资源,也提升了用户在使用云服务器存储联系人信息的使用感受。
与上述本申请一种联系人信息的同步方法实施例所提供的方法实施例2相对应,参见图5,本申请还提供了一种联系人信息的同步装置实施例,在本实施例中,该装置可以包括:
第二获取模块501,用于响应于当前用户触发的第二同步请求,从当前智能终端上获取所述当前用户的第三联系人信息;其中,所述第二同步请求表示将云服务器存储的所述当前用户的第四联系人信息同步至所述当前智能设备上。
第二比对模块502,用于将所述第三联系人信息与第四联系人信息分别按照联系人模型进行比对;其中,所述第四联系人信息采用所述联系人模型进行存储。
同步模块503,用于按照所述比对的结果和预设的联系人同步策略,将所述待同步的第四联系人信息同步至所述当前智能设备。
其中,所述联系人信息的联系人模型包括:基础信息和扩展信息,所述基础信息包括:联系人标识和联系人更新时间,所述联系人标识包括:联系人姓名和/或联系人号码,所述扩展信息包括除了基础信息之外的其他联系人信息;所述第二比对模块包括:
第四比对子模块,用于将第三联系人姓名和第三联系人更新时间分别与第四联系人姓名和第四联系人更新时间进行比对;第五比对子模块,用于将第三联系人号码和第三联系人更新时间分别与第四联系人号码和第四联系人更新时间进行比对;和,第六比对子模块,用于将第三联系人号码、第三联系人姓名和第三联系人更新时间分别与第四联系人号码、第四联系人姓名和第四联系人更新时间进行比对。
其中,所述第三联系人姓名与第四联系人姓名不同为第一比对结果;所述第三联系人姓名与第四联系人姓名相同,且第四联系人更新时间晚于第三联系人更新时间为第二比对结果;所述第三联系人号码与第四联系人号码不同为第三比对结果;所述第三联系人号码与第四联系人号码相同,且第四联系人更新时间晚于第三联系人更新时间为第四比对结果;所述第三联系人姓名与第四联系人姓名相同,且第三联系人号码与第四联系人号码相同,且第四联系人更新时间晚于第三联系人更新时间为第五比对结果;所述第三联系人姓名与第四联系人姓名不同,且第三联系人号码与第四联系人号码不同为第六比对结果;所述第三联系人姓名与第四联系人姓名不同,且第三联系人号码与第四联系人号码相同,且第四联系人更新时间晚于第三联系人更新时间,为第七比对结果。
相应的,所述第二同步模块,具体可以包括:
第二添加模块,用于在符合第一比对结果、第三比对结果或第六比对结果的情况下,将第四联系人的基础信息和扩展信息添加至所述当前智能设备;和,第二合并模块,用于在符合第二比对结果、第四比对结果、第五比对结果或第七比对结果的情况下,则将第四联系人的基础信息和扩展信息合并存储至所述当前智能设备。
可选的,其中,所述第二合并模块具体可以包括:
第五替换子模块,用于在符合第二比对结果的情况下,将第四联系人信息中除了联系人姓名之外的基础信息和扩展信息,对应替换第三联系人信息中除了联系人姓名之外的基础信息和扩展信息;第六替换子模块,用于在符合第四比对结果的情况下,将第四联系人信息中除了联系人号码之外的基础信息和扩展信息,对应替换第三联系人信息中除了联系人号码之外的基础信息和扩展信息;第七替换子模块,用于在符合第五比对结果的情况下,将第四联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息,对应替换第三联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息;第八替换子模块,用于在符合第七比对结果的情况下,将第四联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息,对应替换第三联系人信息中除了联系人号码和联系人姓名之外的基础信息和扩展信息;和,第二合并子模块,用于在符合第七比对结果的情况下,将所述第三联系人姓名和第四联系人姓名合并存储在云服务器中。
可选的,在本实施例中,还可以包括:
发送模块505,用于将同步结果发送给所述当前智能设备以便在所述当前智能设备上展示给用户。
在本实施例中,用户在需要将云服务器的联系人信息同步至自己的智能设备的时候,云服务器也会对自己存储的联系人信息和智能设备上的联系人基于相同的联系人模型进行比对,进而在比对后根据比对的结果,以及预设的联系人同步策略来将联系人信息同步至智能设备。因为联系人信息在云服务器和智能终端上都采用了相同的联系人模型进行存储,那么如果智能设备没有该联系人就直接将联系人信息添加至智能设备中,而如果出现相同的联系人时就直接将最新的联系人信息替换旧的联系人信息,或者将两个联系人信息合并为一份进行存储,从而可以实现在智能设备中只存储一份联系人信息的目的,从而节省了那些存储多份相同联系人信息的存储资源,进而也节省了联系人信息在云服务器和智能设备之间传输时的通信资源,也提升了用户在使用云服务器存储联系人信息的使用感受。
本申请实施例还提供了一种云服务器,该云服务器可以包括图4或者图5所公开的装置。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的联系人信息的同步的方法、装置和云服务器进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。