掌桥专利:专业的专利平台
掌桥专利
首页

数据同步方法、系统、介质、程序产品和电子设备

文献发布时间:2024-04-18 19:58:53


数据同步方法、系统、介质、程序产品和电子设备

技术领域

本申请涉及数据处理领域,特别涉及一种数据同步方法、系统、介质、程序产品和电子设备。

背景技术

随着用户持有的电子设备数量和种类的增加,经常需要在各电子设备之间进行数据同步,例如在各电子设备间进行联系人、短信、邮件、备忘录、即时消息(InstantMessaging,IM)等数据的同步。

目前,在某一电子设备和另一电子设备进行过数据的同步后,若用户修改了其中一个电子设备中的数据,该两个电子设备再次进行同步时,需要将所有的数据传送给另一个电子设备来进行同步,耗时长、效率低,影响用户体验。

发明内容

有鉴于此,本申请实施例提供了一种数据同步方法、系统、介质、程序产品和电子设备,可以减少电子设备间非首次进行数据同步时同步的数据量,有利于提高同步效率、提升用户体验。

第一方面,本申请提供了一种数据同步方法,应用于第一电子设备,该方法包括:从第二电子设备接收到数据同步消息,其中,数据同步消息包括M个校验码,校验码用于标识所对应的数据分组的数据内容,并且M≥1;将M个校验码与第一电子设备上存储的N个数据分组的N个校验码进行对比,确定出不同的校验码,其中N≥1;基于确定出的不同的校验码,将第一电子设备上存储的N个数据分组更新为M个校验码所标识的M个数据分组。

在本申请实施例中,第一电子设备(目标电子设备)和第二电子设备(源电子设备)在非首次进行数据同步时,第一电子设备可以根据从第二电子设备接收的校验码,确定出第一电子设备和第二电子设备中,包括的数据内容不同的数据分组(即不同的校验码对应的分组,例如下文中的差异数据分组),从而只需要对该包括的数据内容不同的数据分组中的数据进行同步,减少了第一电子设备从第二电子设备中同步数据的数据量,有利于提高同步效率、提升用户体验。

在上述第一方面的一种可能实现中,M等于N,并且M个校验码与N个校验码存在一一对应的关系;并且上述基于确定出的不同的校验码,将第一电子设备上存储的N个数据分组更新为M个校验码所标识的M个数据分组,包括:在N个校验码中存在第一校验码,并且M个校验码中与第一校验码对应的第二校验码与第一校验码不同的情况下,将第一电子设备上存储的与第一校验码对应的第一数据分组更新为,与第二校验码对应的第二数据分组。

也就是说,第一电子设备将第一电子设备中第一数据分组的校验码,和第二电子设备中与该数据分组对应的第二数据分组的校验码进行对比,如果不同,则说明第一数据分组与第二数据分组中的数据内容不同,第一电子设备将第一数据分组中的内容更新为第二数据分组中的内容。

在上述第一方面的一种可能实现中,上述基于确定出的不同的校验码,将第一电子设备上存储的N个数据分组更新为M个校验码所标识的M个数据分组,包括:在N个校验码中存在第三校验码,而M个校验码中不存在第三校验码的情况下,删除第一电子设备上存储的与第三校验码对应的第三数据分组;或者在M个校验码中存在第四校验码,而N个校验码中不存在第四校验码的情况下,在第一电子设备上存储与第四校验码对应的第四数据分组。

在本申请实施例中,第一电子设备中和第二电子设备中只存储有数据的分组,可以减少第一电子设备和第二电子设备中存储的数据的量,有利于节省第一电子设备和第二电子设备的存储空间。

在上述第一方面的一种可能实现中,数据分组的校验码由数据分组中各数据的消息摘要确定。

在上述第一方面的一种可能实现中,上述数据分组的校验码由数据分组中各数据的消息摘要确定,包括:数据分组的校验码由数据分组中各数据的消息摘要逐个进行异或运算得到。

在上述第一方面的一种可能实现中,各数据所属的数据分组是根据数据中预设字段的字符确定的。

也就是说,根据各数据的预设字段的字符来确定各个数据所在的分组。

在上述第一方面的一种可能实现中,上述预设字段包括以下字段中的至少一种:在数据包括联系人信息的情况下,预设字段包括联系人的电话号码;在数据包括短信的情况下,预设字段包括短信的收件人或发件人的号码;在数据包括备忘录的情况下,预设字段包括备忘录的创建时间;在数据包括邮件的情况下,预设字段包括发件人或收件人信息,其中发件人或收件人信息包括电子邮箱地址和/或姓名;在数据即时消息的情况下,预设字段包括即时消息的发送或接收时间。

通过上述预设字段来确定各数据的分组,由于各字段包括内容较简单,计算速度快,有利于快速确定各数据的分组。

在上述第一方面的一种可能实现中,上述数据分组中的数据内容包括以下数据中的至少一种:联系人信息、短信、备忘录、邮件、即时消息。

在上述第一方面的一种可能实现中,第一电子设备和第二电子设备中都安装有第一应用或第一服务;并且由第一电子设备中安装的第一应用或第一服务从第一电子设备中安装的第一应用或第一服务接收数据同步消息;由第一电子设备中的第一应用或第一服务将M个校验码与第一电子设备上存储的N个数据分组的N个校验码进行对比,确定出不同的校验码;由第一电子设备中的第一应用或第一服务确定出的不同的校验码,将第一电子设备上存储的N个数据分组更新为M个校验码所标识的M个数据分组。

也就是说,第一电子设备和第二电子设备可以基于相同的第一应用实现本申请各实施例的数据同步方法,也可以基于第一服务来实现本申请各实施例的数据同步方法。

在上述第一方面的一种可能实现中,上述第一应用包括以下应用中的一种:联系人应用、备忘录应用、短信应用、邮件应用、即时通信应用。

第二方面,本申请提供了一种数据同步方法,应用于第二电子设备,其特征在于,包括:获取P个校验码,该校验码用于标识所对应的数据分组的数据内容,P≥1;向第一电子设备发送数据同步消息,该数据同步消息包括P个校验码,并且,P个校验码用于确定P个校验码所对应的P个数据分组中,待同步到第一电子设备的数据分组。

在本申请实施例中,第二电子设备在向第一电子设备同步数据时,可以只对第一电子设备和第二电子设备中,包括的数据内容不同的数据分组(例如下文中的差异数据分组)进行同步,减少了同步的数据量,提高了同步效率,提升了用户体验。

在上述第二方面的一种可能实现中,上述方法还包括:基于数据分组中存储的各数据的消息摘要确定数据分组的校验码。

也就是说,P个校验码是根据各数据分组中的各数据的消息摘要确定的。

在上述第二方面的一种可能实现中,上述基于数据分组中存储的各数据的消息摘要确定数据分组的校验码,包括:将数据分组中各数据的消息摘要逐个进行异或运算,得到数据分组的校验码。

也就是说,P个校验码是根据各数据分组中的各数据的消息摘要逐个进行异或运算得到的。

在上述第二方面的一种可能实现中,基于数据分组中存储的各数据的消息摘要确定数据分组的校验码,还包括:在检测到第五数据分组中的第一数据被删除的情况下,将第五数据分组的校验码更新为第一数据的信息摘要与第五数据分组当前校验码的异或运算结果,其中,第五数据分组为P个校验码对应的数据分组中的一个;或者在检测到第六数据分组中新增第二数据的情况下,将第六数据分组的校验码更新为第二数据的信息摘要与第六数据分组当前校验码的异或运算结果,其中,第六数据分组为P个校验码对应的数据分组中的一个;或者在检测到第七数据分组中的第三数据被修改为第四数据的情况下,将第七数据分组的校验码更新为第三数据的信息摘要、第四数据的信息摘要、第七数据分组当前校验码逐个进行异或运算结果,其中,第七数据分组为P个校验码对应的数据分组中的一个。

在本申请实施例中,第二电子设备更新各数据分组的校验码时,只需要根据有变化的数据的消息摘要和各数据分组的当前校验码间的异或运算,即可进行校验码的更新,而无需基于各数据的消息摘要来重新计算,有利于提高校验码的更新速度。

在上述第二方面的一种可能实现中,各数据所属的数据分组是根据数据中预设字段的字符确定的。

在上述第二方面的一种可能实现中,上述预设字段包括以下字段中的至少一种:在数据包括联系人信息的情况下,预设字段包括联系人的电话号码;在数据包括短信的情况下,预设字段包括短信的收件人或发件人的号码;在数据包括备忘录的情况下,预设字段包括备忘录的创建时间;在数据包括邮件的情况下,预设字段包括发件人或收件人信息,其中发件人或收件人信息包括电子邮箱地址和/或姓名;在数据即时消息的情况下,预设字段包括即时的消息的发送或接收时间。

第三方面,本申请提供了一种数据同步系统,该数据同步系统包括第一电子设备和第二电子设备;并且第二电子设备用于向第一电子设备发送数据同步消息,其中,数据同步消息包括R个校验码,校验码用于标识所对应的数据分组的数据内容,并且R≥1;第一电子设备用于接收数据同步消息,将R个校验码与第一电子设备上存储的S个数据分组的S个校验码进行对比,确定出不同的校验码,并基于确定出的不同的校验码,将第一电子设备上存储的S个数据分组更新为R个校验码所标识的R个数据分组,其中,S≥1。

在本申请实施例中,第一电子设备(目标电子设备)和第二电子设备(源电子设备)在非首次进行数据同步时,第一电子设备可以根据从第二电子设备接收的校验码,确定出第一电子设备和第二电子设备中,包括的数据内容不同的数据分组(即不同的校验码对应的分组,例如下文中的差异数据分组),从而只需要对该包括的数据内容不同的数据分组中的数据进行同步,减少了第一电子设备从第二电子设备中同步数据的数据量,有利于提高同步效率、提升用户体验。

在上述第三方面的一种可能实现中,数据分组的校验码由数据分组中各数据的消息摘要逐个进行异或运算得到。

在上述第三方面的一种可能实现中,第二电子设备还用于:在检测到第八数据分组中的第五数据被删除的情况下,将第八数据分组的校验码更新为第五数据的信息摘要与第八数据分组当前校验码的异或运算结果,其中,第八数据分组为R个校验码对应的数据分组中的一个;或者在检测到第九数据分组中新增第六数据的情况下,将第九数据分组的校验码更新为第六数据的信息摘要与第九数据分组当前校验码的异或运算结果,其中,第九数据分组为R个校验码对应的数据分组中的一个;或者在检测到第十数据分组中的第七数据被修改为第八数据的情况下,将第十数据分组的校验码更新为第七数据的信息摘要、第八数据的信息摘要、第十数据分组当前校验码逐个进行异或运算结果,其中第十数据分组为R个校验码对应的数据分组中的一个。

在上述第三方面的一种可能实现中,第一电子设备和第二电子设备为终端设备,或者第一电子设备为终端设备、第二电子设备为服务器。

在上述第三方面的一种可能实现中,该数据同步系统还包括第三电子设备,第三电子设备用于从第二电子设备接收数据同步消息,并将数据同步消息发送给第一电子设备。

在本申请实施例中,第二电子设备可以将数据分组和数据分组的校验码发送给第三电子设备,并由第三电子设备向第一电子设备同步数据。从而第三电子设备可以向多台第一电子设备进行数据同步。

在上述第三方面的一种可能实现中,第一电子设备和第二电子设备为终端设备,第三电子设备为服务器。

在上述第三方面的一种可能实现中,终端设备包括手机、车机、可穿戴设备、平板电脑中的任意一种。

第四方面,本申请提供了一种可读存储介质,该可读存储介质上存储有指令,指令在电子设备上执行时使电子设备实现上述第一方面和上述第二方面提供的任意一种数据同步方法。

第五方面,本申请提供了一种电子设备,该电子设备包括:存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及处理器,是电子设备的处理器之一,用于执行存储器中存储的指令以实现上述第一方面和上述第二方面提供的任意一种数据同步方法。

第六方面,本申请提供了一种计算机程序产品,该计算机程序产品包括指令,指令在电子设备上执行时使电子设备实现上述第一方面和上述第二方面提供的任意一种数据同步方法。

附图说明

图1A根据本申请的一些实施例,示出了一种手机10对联系人信息进行分组存储的示意图;

图1B根据本申请的一些实施例,示出了一种智能手表20首次从手机10同步联系人信息的场景示意图;

图2A根据本申请的一些实施例,示出了一种智能手表20非首次从手机10同步联系人信息的场景示意图;

图2B根据本申请的一些实施例,示出了一种智能手表20非首次从手机10同步联系人信息的过程示意图;

图3A根据本申请的一些实施例,示出了一种联系人信息的分组存储示意图;

图3B根据本申请的一些实施例,示出了一种对联系人进行分区存储的示意图;

图4A根据本申请的一些实施例,示出了一种备忘录的分组存储示意图;

图4B根据本申请的一些实施例,示出了一种邮件的分组存储示意图;

图4C根据本申请的一些实施例,示出了一种短信的分组存储示意图;

图5根据本申请的一些实施例,示出了一种对数据进行分组存储的流程示意图;

图6根据本申请的一些实施例,示出了一种分组校验码的更新方法流程示意图;

图7A根据本申请的一些实施例,示出一种手机10中显示的畅连

图7B根据本申请的一些实施例,示出一种手机10中显示的在畅连

图7C根据本申请的一些实施例,示出一种手机10中显示的畅连

图7D根据本申请的一些实施例,示出一种手机10中显示的畅连

图8根据本申请的一些实施例,示出了一种数据同步方法的交互流程示意图;

图9A根据本申请的一些实施例,示出一种手机10中的下拉菜单栏的界面示意图;

图9B根据本申请的一些实施例,示出一种手机10中的下拉菜单栏中的蓝牙配对界面示意图;

图10根据本申请的一些实施例,示出了一种数据同步的场景示意图;

图11根据本申请的一些实施例,示出了又一种数据同步方法的交互流程示意图;

图12A根据本申请的一些实施例,示出了一种车机41首次与服务器30进行联系人同步的示意图;

图12B根据本申请的一些实施例,示出了一种车机41再次与服务器30进行联系人同步的示意图;

图13根据本申请的一些实施例,示出了一种分布式系统中对备忘录进行同步的场景示意图;

图14根据本申请的一些实施例,示出了一种手机10的软件架构示意图;

图15根据本申请的一些实施例,示出了一种通过分布式软总线041将手机10与其他电子设备进行耦接的示意图;

图16根据本申请的一些实施例,示出了一种手机10的结构示意图。

具体实施方式

本申请的说明性实施例包括但不限于数据同步方法、系统、介质、程序产品和电子设备。

下面结合附图详细说明本申请实施例提供的技术方案的具体实现过程。

如前所述,目前在某一电子设备和另一电子设备之间进行过数据的同步后,若用户修改了其中一个电子设备中的数据,则两电子设备之间再次进行数据同步时,仍需将全部数据发送给另一个电子设备来完成同步,这种数据同步的过程耗时长、效率低,用户体验较差。例如,手机10中存储有10000条联系人信息,并且该10000条联系人信息已经同步至智能手表20,当用户修改了手机10中的其中一条联系人信息后,手机10再一次向智能手表20同步联系人信息时,仍需要将包含该修改后联系人信息的10000条联系人信息再次发送给智能手表20,如此存在耗时长、效率低的问题。

为了提高电子设备之间数据同步效率,在一些实施例中,可以由手机10记录与其他电子设备之间进行数据同步的日志,并记录手机10在上一次与其他电子设备之间同步数据之后,由于用户的修改、删除、新增等操作而导致发生变化的数据内容,从而在下一次与其他电子设备同步数据时可以仅对有变化的数据进行同步,减少了同步的数据量,进而提高数据同步效率。但是,这种同步数据的方式,需要占用手机10的存储空间来存储与各个电子设备进行同步的日志以及上述有变化的数据,数据存储结构复杂,并且在记录的日志或有变化的数据被清理后,仍需将手机10中存储的全部数据同步至智能手表20,耗时长、效率低,影响用户体验。

为了便于描述,在本申请实施例中,同步数据时向外发送数据的电子设备,例如上述手机10,以下可以称之为源电子设备,同步数据时接收源电子设备发来的同步数据的电子设备,可以称为目标电子设备。

为了解决上述数据同步过程中耗时长、效率低的问题,本申请实施例提供了一种数据同步方法。具体地,该方法中源电子设备通过对存储的各条数据进行分组,并为每个分组确定一个校验码,该校验码可以基于分组中的各条数据来确定,分组中的数据的内容不同,则分组的校验码也不同。基于此,目标电子设备从源电子设备中再次同步数据时,目标电子设备只需要获取源电子设备中各分组的校验码,并将获取的源电子设备中各分组的校验码与目标电子设备中已同步的对应分组的校验码进行对比,从而确定出校验码不同的差异分组,即所包括的数据存在差异的分组。进而,目标电子设备可以从源电子设备获取差异分组的数据,完成数据同步。

如此,目标电子设备只需要从源电子设备同步差异分组的数据,可以在减少同步数据的数量、提高同步效率的同时,不会增加源电子设备的额外开销,例如,源电子设备不需要记录电子设备与各个目标电子设备的同步日志,也不需要记录电子设备上一次与各目标电子设备进行同步后,源电子设备中有变化的数据。

可以理解,在一些实施例中,源电子设备对存储的各条数据进行分组,可以是对各条数据进行分组存储,例如为每条数据增加一个分组标识,该分组标识用于指示每条数据的分组,又例如在源电子设备的存储器中设置多个存储区域,每个存储区域中的数据为一个分组等。在另一些实施例中,源电子设备对存储的各条数据进行分组也可以是预设一个分组规则,而不对各条数据进行分组存储,源电子设备在确定某一分组的校验码时,可以先根据该分组规则从各条数据中筛选出该分组的数据,并基于筛选出的数据来确定该分组的校验码。为便于描述,以下以“源电子设备对存储的各条数据进行分组存储”进行介绍。

可以理解,各分组的校验码可以基于各分组中各条数据的具体内容来确定,用于唯一标识一个分组中存储的数据,分组中存储的数据的内容不同,则分组的校验码不同。例如,在一些实施例中,各分组的校验码可以由分组中的各条数据的消息摘要进行逻辑和/或算术运算来确定,例如由各条数据的消息摘要逐个进行异或运算来确定。假设某一分组中包括三条数据,该三条数据的消息摘要为X1、X2、X3,则该分组的校验码可以由X1与X2进行异或运算的结果再与X3进行异或运算得到。其中异或运算是指,进行运算的两个数据具有相同的二进制数位数,按照二进制数的位数逐位比较,某一位相同则输入数据的该位为0,某一位不同则输出数据的该位为1,例如X1=0101与X2=1001的异或运算的结果为1100。需要说明的是,多个数据异或运算的运算结果与各个数据进行运算的顺序无关,从而上述分组的校验码也可以由X1和X3进行异或的运算结果再与X2异或运算得到,还可由X2和X3进行异或的运算结果再与X1异或运算得到。

可以理解,源电子设备在检测到某一个分组中的数据发生变化后,例如源电子设备响应于用户的维护操作(例如新增、删除、修改等),在该分组中新增、删除或修改一条数据时,可以基于发生变化的数据来更新该分组的校验码,使得该分组的校验码可以与该分组中存储的发生变化后的数据的内容相对应。从而目标电子设备在从源电子设备中同步数据时,可以获取到更新后的校验码并确定出该分组为差异分组,以对该分组的数据进行同步。

例如,假设该分组的校验码是由分组中的各条数据的消息摘要逐个进行异或运算来确定的,则源电子设备在检测到对某一条数据的新增或删除操作后,可以将该分组的校验码更新为该条数据的消息摘要与该分组当前的校验码的异或运算结果。又例如,源电子设备在检测到对该分组中的一条数据的修改操作后,可以将该分组的校验码更新为:该条数据修改前的消息摘要、该条数据修改后的消息摘要、该分组当前的校验码逐个进行异或运算的结果。再例如,源电子设备在检测到由于用户修改某一分组中的一条数据,使得该条数据的分组变更为另一分组的情况下,可以将该分组的校验码更新为该条数据修改前的消息摘要与该分组当前的校验码的异或运算结果、将该另一分组的校验码更新为该条数据修改后的消息摘要与该另一分组当前的校验码的异或运算结果。具体将在下文进行详细介绍,在此不做赘述。

可以理解,各条数据的消息摘要(Message Digest,MD)可根据各条数据的具体内容得到,用于唯一标识一条数据,也就是说包括不同具体内容的数据,该数据的消息摘要也不同。例如,在一些实施例中,各条数据的消息摘要可以是利用消息摘要算法,例如MD4算法(由Ronald L.Rivest在1990年设计的消息摘要算法,对于一条数据,得到的消息摘要包括128位的二进制数)、MD5算法(由Rivest在1991年对MD4的改进版本。对于一条数据,得到的消息摘要包括128位的二进制数)、安全散列算法(Secure Hash Algorithm,SHA)算法1(由NIST NSA设计的MD算法,对于一条数据,得到的消息摘要包括160位的二进制数)、SHA224、SHA256、SHA384、SHA512等来计算得到。为便于描述,以下各实施例中以通过MD5算法来得到各条数据的消息摘要为例进行介绍。

可以理解,源电子设备和目标电子设备可以是任意电子设备,包括但不限于膝上型计算机、智能电视、智能音箱、平板计算机、服务器、可穿戴设备(例如智能手表、智能手环、智能眼镜等)、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备等,本申请实施例不做限定。下面以源电子设备为手机10,目标电子设备为智能手表20为例进行介绍。

具体地,图1A根据本申请的一些实施例,示出了一种手机10对联系人信息进行分组存储的示意图;图1B根据本申请的一些实施例,示出了一种智能手表20首次从手机10同步联系人信息的场景示意图;图2A根据本申请的一些实施例,示出了一种智能手表20非首次从手机10同步联系人信息的场景示意图;图2B根据本申请的一些实施例,示出了一种智能手表20非首次从手机10同步联系人信息的过程示意图。

参考图1A,手机10中存储有10000条联系人信息,手机10可以根据联系人信息中的电话号码的后两位,将该10000条联系人信息分为100组,即分组00组到分组99,再根据每个分组的具体内容为各个分组确定一个校验码,例如通过将一个分组中的各条联系人信息的信息摘要进行异或运算来确定该分组的校验码,即校验码00至校验码99。从而参考图1B,智能手表20首次从手机10同步联系人信息时,可以从手机1获取10000条联系人信息,采用和手机10相同的方式对该10000条联系人信息进行分组存储,并同时存储各个分组的校验码。

图2A根据本申请的一些实施例,示出了一种智能手表20再次从手机10同步联系人信息的场景示意图。

参考图2A,智能手表20再次从手机10同步联系人信息时,主要包括如下步骤:S21智能手表20可以先从手机10中获取各分组的校验码,并将各分组的校验码和智能手表20中相对应的分组的校验码进行对比,确定出校验码不同的差异分组;S22:智能手表20将差异分组的分组标识发送给手机10;S23:手机10响应于接收到的差异分组的分组标识,将差异分组的联系人信息发送给智能手表20,智能手表20将获取的联系人存储在智能手表20中,完成联系人信息同步。例如,参考图2B,假设手机10的分组01的校验码由于分组01中的联系人信息发生变动,例如用户操作手机10修改、删除或新增联系人信息,由校验码01变更为校验码01',从而智能手表20在从手机10同步联系人信息时,获取到的分组01的校验码为校验码01',而智能手表20中分组01的校验码为校验码01,两者不同,进而确定出分组01为差异分组。智能手表20只需从手机10中获取分组01中的数据,即可完成联系人的同步,而无需对其他99个分组的联系人进行同步,提升了同步效率。

可以理解,源电子设备向目标电子设备同步的数据例如可以是能够便于分组的任意数据,例如条目式数据。其中,条目式数据可以是按条进行存储的任意数据,条目数据可以包括至少一个字段,每条数据中至少一个字段包括具体内容,条目式数据包括但不限于联系人、短信、邮件、备忘录、即时消息等。具体地例如,假设联系人信息包括姓名、电话号码、工作单位,则联系人信息包括三个字段,即姓名、电话号码和工作单位,对于一条联系人信息,姓名、电话号码和工作单位三个字段可以都有具体内容,也可以只是其中部分字段有具体内容。为便于描述,以下以同步的数据为条目式数据为例进行介绍。

为便于理解,首先介绍对条目式数据进行分组的技术方案。

如前所述,条目式数据中单条数据包括至少一个字段,因此,手机10可以以其中任意一个字段作为该条目式数据的分组字段,并根据每条数据的分组字段的至少部分内容来确定各条数据的分组。一般地,可以以采用每条数据都有具体内容的字段作为分组字段或通常不会进行修改的字段作为分组字段。例如,在条目式数据为联系人的情况下,分组字段可以是电话号码、姓名等;在条目式数据为短信的情况下,分组字段可以是收信人或发信人的号码;在条目式数据为邮件的情况下,分组字段可以是发件人或收件人的邮箱、姓名等;在条目式数据为备忘录的情况下,分组字段可以是备忘录的创建时间;在条目式数据为即时消息的情况下,分组字段可以是各条消息的发送或接收时间等。电子设备可以利用预设的分组规则,根据分组字段中的至少部分内容来确定各条数据的分组。

具体地,图3A根据本申请的一些实施例,示出了一种联系人信息的分组存储示意图。如图3A所示,联系人信息的字段至少包括电话号码和姓名,手机10可以根据电话号码来确定各条联系人信息的分组,例如将电话号码的后两位作为各条联系人信息的分组,将手机10中存储的联系人信息分为100组(分组00至分组99)。在一些实施例中,手机10可以为每条联系人信息增加一个分组标识,用于指示各条联系人信息所在的分组,从而手机10中各条联系人信息可以按照任意的顺序存储在存储器中,手机10根据各条联系人信息的分组标识即可确定其所在分组,进而手机10无需更改存储联系人信息的数据结构。在另一些实施例中,手机10也可以将联系人信息进行分区存储,即将一个分组的数据存储于存储器中相邻的区域来提高同一个分组中的数据的访问速度。例如,参考图3B,手机10在存储图3A所示的联系人信息时,可以在存储器中设置100个存储分区,并将同一个分组的联系人信息存储到同一存储分区中,从而手机10可以更快地从存储器中读取同一分组的数据时,提升数据同步的效率。

可以理解,在一些实施例中,手机10也可以不先对联系人信息进行分组存储,只是利用联系人信息的分组字段确定出分组00至分组99的校验码,从而手机10可以不对手机10存储的联系人信息的数据结构进行调整,例如为每条联系人信息增加分组标识或将同一分组的联系人信息存储于存储器中的相邻区域,只用维护不同分组的校验码,即可通过本申请各实施例提供的数据同步方法和其他电子设备按分组进行数据同步。

可以理解,在另一些实施例中,也可以使用电话号码字段的其他位来确定联系人信息的分组,还可以使用联系人信息的其他字段来确定联系人信息的分组,在此不做限定。

又例如,图4A示出了一种备忘录的分组存储示意图。参考图4A,备忘录至少包括创建时间和备忘录内容两个字段,手机10可以以备忘录的创建时间为分组字段,确定各条备忘录的分组,例如根据各条备忘录的创建时间对应的秒来确定各条备忘录的分组,将备忘录分为60组。或者,将各条备忘录创建时间对应的毫秒数对10取余数,将备忘录分为100组。

可以理解,在另一些实施例中,也可以使用创建时间的其他位来确定备忘录的分组,还可以使用备忘录的其他字段来确定备忘录的分组,在此不做限定。

又例如,图4B示出了一种邮件的分组存储示意图。参考图4B,邮件至少包括发件人/收件人和内容两个字段,电子设备以发件人/收件人为分组字段,确定各封邮件的分组,例如根据发件人或收件人的电子邮件地址的首字母对应的美国信息交换标准代码(American Standard Code for Information Interchange,ASCII)的后两位,将各封邮件分为100组。

可以理解,在另一些实施例中,也可以使用发件人/收件人字段的其他位来确定邮件的分组,还可以使用邮件的其他字段来确定邮件的分组,在此不做限定。

再例如,图4C示出了一种短信的分组存储示意图。参考图4C,短信至少包括发信人/收信人号码、内容两个字段,手机10可以以短信的发信人/收信人号码字段为分组字段,确定各条短信的分组,例如将发信人/收信人号码字段中的后两位作为分组,将短信为100组。

可以理解,在另一些实施例中,也可以使用发信人/收信人字段的其他位来确定短信的分组,还可以使用短信的其他字段来确定短信的分组,在此不做限定。

可以理解,以上各类条目式数据的分组字段和根据分组字段进行分组的方式只是一种示例,在另一些实施例中,也可以采用其他分组字段以其他方式对各类条目式数据进行分组,在此不做限定。

为便于理解,下面先介绍手机10对条目式数据进行分组存储、生成及更新各分组的校验码的技术方案。

具体地,图5根据本申请的一些实施例,示出了一种对数据进行分组存储的流程示意图。该流程的执行主体为手机10,例如手机10中的至少一个应用程序或服务,如图5所示,该流程包括如下步骤。

S501:获取条目式数据。

示例性地,手机10中的应用程序,例如联系人应用、短信就用、邮件应用、备忘录应用、即时通信应用(例如畅连

S502:确定条目式数据中各条数据的分组。

示例性地,手机10根据获取的条目式数据,确定出条目式数据的分组字段,并基于确定出的分组字段得到各条数据的分组。

例如,参考图3A,对于联系人信息,手机10可以将电话号码字段作为分组字段,并将电话号码的后2位作为各条数据的分组,将联系人信息分为100组;又例如,参考图4A,对于备忘录,可以以备忘录的创建时间为分组字段,将备忘录的创建时间的秒位作为各条备忘录的分组字段,将备忘录分为60组;又例如,参考图4B,对于邮件,可以将邮件的发件人/收件人的电子邮件地址的首字母的ASCII码的后2位作为分组字段,将邮件分为100组;再例如,参考图4C,对于短信,可以以发信人/收信人号码为分组字段,以发信人/收信人号码的后两位作为分组,将短信分为100组。

可以理解,在另一些实施例中,也可以采用其他字段对各类条目式数据进行分组,在此不做限定。

可以理解,手机10在确定出各条数据的分组后,可以对各条数据进行分组存储,例如,参考图3A,手机10可以为各条联系人信息增加一个分组标识,用于指示各条联系人数据的分组,从而不需要对存储的各条联系人信息的存储位置和结构进行调整;又例如,参考图3B,手机10可以在存储器中设置多个存储分区,并将属于同一分组的联系人信息存储器在同一个存储分区中,从而可以提高手机10从存储器中读取同一分组的数据的速度,提升手机10向其他电子设备发送同一分组中的数据的速度。

S503:确定各分组中各条数据的消息摘要。

示例性地,手机10可以通过前述MD4、MD5、SHA-1等消息摘要算法确定各条数据的消息摘要,该消息摘要可以用于确定各分组的校验码。

例如,对于前述图3A所示的联系人信息中,利用MD5算法得到的第1条联系人信息“123456798LILY”的消息摘要为32位的16进制数“0FA340B963445F53D9EFC042E39AB3AA”(32位16进制数对应于128位二进制数),利用MD5算法得到第1001条联系人信息“123457698RALPH”的息摘要为32位的16进制数“EF93E986151D6912858BF5BE101E4029”。

S504:根据各分组中各条数据的消息摘要,确定各分组的校验码。

示例性地,手机10可以根据步骤S503确定出的各条数据的消息摘要,将各条数据的消息摘要进行逻辑运算(例如与、或、非、异或等)或算术运算(例如加、减、乘、除等),得到各个分组的校验码。

在一些实施例中,手机10可以将一个分组中的各条数据的消息摘要逐个进行异或运算,来得到各分组的校验码。例如,假设某个分组中包括n条数据,第i条数据的消息摘要为Hash

可以理解,在另一些实施例中,也可以通过其他方式来确定各分组的校验码,在此不做限定。

可以理解,在一些实施例中,手机10可以维护一个数据用于存储各分组的校验码,例如可以用一个包括k个元素的向量,来存储各分组的校验码,其中k为分组的数量,从而该向量中的一个元素可以对应于一个分组的校验码。

可以理解,手机10在首次对条目式数据进行分组存储时,可以通过前述步骤S501至步骤S504来得到各条数据的分组及各分组的校验码,并在首次将分组存储的条目式数据同步给其他电子设备,例如前述智能手表20时,将各分组中的数据及各分组的校验码发送给智能手表20。

可以理解,前述步骤S501至步骤S504的执行顺序只是一种示例,在另一些实施例中,可以调整部分步骤的执行顺序,也可以拆分或组合部分步骤,在此不做限定。例如前述步骤S502和步骤S503的顺序可以交换、前述步骤S503和步骤504可以合并等。

下面介绍手机10在对条目式数据进行维护时,更新各分组的校验码的技术方案。

具体地,图6根据本申请的一些实施例,示出了一种分组校验码的更新方法流程示意图。该流程的执行主体为手机10,例如手机10中的至少一个应用程序或服务,如图6所示,该流程包括如下步骤。

S601:检测到对条目式数据的维护操作。

示例性地,手机10可以在检测到用户对条目式数据的维护操作的情况下,通过执行以下步骤S602至步骤S606来更新各个分组的校验码。

可以理解,对条目式数据的维护操作包括但不限于新增、删除、修改。

例如,图7A示出手机10中显示的畅连

又例如,用户可以在图7A所示的联系人界面中查看一个联系人的详细信息,例如通过点击JIM的头像,进入到图7C所示的JIM的联系人详情界面,用户可以通过对“选项”控件72的点击操作,进入图7D所示的选项界面,该选项界面中包括选项菜单73;用户可通过对“编辑联系人”控件731的操作来编辑JIM的联系人信息、通过对“删除联系人”控件732的操作来删除JIM的联系人信息。从而手机10在检测到用户“对编辑联系人”控件731或“删除联系人”控件732的操作后,可以检测到对条目式数据的维护操作。

可以理解,以上所示手机10检测到对条目式数据的维护操作的情况只是一种示例,在另一些实施例中,针对不同的条目式数据,不同的应用程序或服务,手机10也可以在其他情形下检测到对条目式数据的维护操作,在此不做限定。

S602:确定维护操作的类型。

示例性地,手机10检测到用户对条目式数据的维护操作后,可以确定出维护操作的类型。在确定出维护操作为新增或删除的情况下,转至步骤S603;在确定出维护操作为修改的情况下,转至步骤S605。

可以理解,维护操作的类型可以包括新增、删除和修改,针对不同类型的维护操作,手机10可以采用不同的方式来更新维护操作对应的目标分组的校验码。

S603:确定新增或删除的目标数据所对应的目标分组。

示例性地,手机10可以根据用户新增的目标数据中的分组字段,确定新增的目标数据对应的目标分组,或者根据用户删除的目标数据的分组标识确定删除操作的目标数据对应的目标分组。

例如,手机10在新增一个联系人信息时,可以根据用户输入的新增的联系人信息的电话号码的后两位确定目标分组,例如,假设新增的联系人的电话号码为“123684798”,新增的联系人信息对应的目标分组为分组98,又例如,假设用户删除的联系人信息为LILY的联系人信息,则参考图3A可知LILY的联系人信息对应的目标分组为分组98。

S604:确定目标数据的消息摘要,并基于目标数据的消息摘要更新目标分组的校验码。

手机10根据用户新增的数据或删除的数据的具体内容,确定出目标数据的消息摘要,并基于该消息摘要更新目标分组的校验码。

例如,假设用户新增的联系人信息为“123684798KATE”(即新增的联系人的姓名为KATE,电话号码为123684798),则利用MD5算法得到的目标数据的消息摘要为:2566590C52CB05017DB7A3E3A102C392;又例如,假设用户删除的联系人信息为LILY的联系人信息,则利用MD5算法得到的目标数据的消息摘要为:0FA340B963445F53D9EFC042E39AB3AA。

可以理解,手机10在更新分组的校验码过程中确定目标数据的消息摘要的方法,与手机10首次生成分组存储的条目式数据各分组的校验码采用的计算各条数据的消息摘要的方法应当相同。

在确定出目标数据的消息摘要后,手机10可以将目标数据的消息摘要和目标分组的校验码进行异或运算,并将运算结果作为目标分组的新校验码。例如,在维护操作为删除LILY的联系人信息的情况下,手机10可以将前述目标数据的消息摘要0FA340B963445F53D9EFC042E39AB3AA与前述步骤S504中得到的分组98的校验码D11EEB639BC9B20AE321AF1CF384F383进行异或运算,得到新的校验码EF93E986151D6912858BF5BE101E4029;又例如,在维护操作为新增KATE的联系人信息的情况下,手机10可以将前述目标数据的消息摘要2566590C52CB05017DB7A3E3A102C392与前述步骤S504中得到的分组98的校验码D11EEB639BC9B20AE321AF1CF384F383进行异或运算,得到新的校验码D3488EF35EE50808184EE10752863011。如此,对于一条数据的新增或删除,手机10通过一次异或运算即可更新目标分组的校验码,运算量少,更新速度快。

可以理解,在另一些实施例中,手机10也可以通过其他方式来更新校验码,例如将目标分组中的各条数据的消息摘要进行异或来重新计算目标分组的校验码,具体可以参考前述步骤S504,在此不做赘述。

S605:确定进行修改操作的目标数据对应的目标分组。

示例性地,手机10根据用户进行修改操作目标数据的分组标识,确定进行修改操作的目标数据对应的目标分组。

例如,手机10在确定修改操作对应的字段不是分组字段的情况下,可以根据修改操作对应的联系人信息的分组标识来确定目标分组。例如用户修改的联系人信息为LILY的联系人信息,则参考图3A可知LILY的联系人信息对应的目标分组为分组98。

又例如,手机10在确定修改操作对应的字段是分组字段的情况下,目标分组可以包括两个分组:一个是修改操作对应的联系人信息的分组标识对应的分组(以下称为第一目标分组),另一个是根据修改后的分组字段确定的分组(以下称为第二目标分组)。具体地,参考图3A,假设修改操作将LILY的联系人信息中的电话号码由123456798修改为123654720,则第一目标分组可以是LILY的联系人信息中的分组标识对应分组98、第二目标分组可以是修改后的电话号码123654720对应的分组20。

S606:确定目标数据在修改前和修改后的消息摘要,并基于目标数据在修改前和修改后的消息摘要更新目标分组的校验码。

示例性地,手机10确定目标数据在修改前和修改后的消息摘要,并基于目标数据在修改前和修改后的消息摘要更新目标分组校验码。

例如,手机10在修改操作对应的字段不是分组字段的情况下,可以先将目标数据在修改前的消息摘要与目标分组的校验码进行异或运算,再将运算结果与目标数据在修改后的消息摘要进行异或运算,得到目标分组的新校验码。如此,对于一条数据的修改,手机10通过两次异或运算即可更新目标分组的校验码,运算量少,更新速度快。

具体地,假设目标数据为LILY的联系人信息,目标分组为前述分组98,LILY的联系人信息修改后为“123456798135654525LILY”(即新增一个电话号码135654525),则利用MD5算法可以得到目标数据修改后的消息摘要为7E327F6E3E117847411E52B2D9B0B3CE。从而手机10可以先将前述目标数据修改前的消息摘要0FA340B963445F53D9EFC042E39AB3AA与前述分组98的校验码D11EEB639BC9B20AE321AF1CF384F383进行异或运算,得到运算结果EF93E986151D6912858BF5BE101E4029,再将该运算结果与修改后的消息摘要7E327F6E3E117847411E52B2D9B0B3CE进行异或运算,得到目标分组的新校验码F01F765D9A99AE06AB98C210C9AEF3E7。

又例如,手机10在修改操作对应的字段是分组字段的情况下,修改操作实际可以分解为在第一目标分组中的删除操作和在第二目标分组中的新增操作,从而手机10可以将第一目标分组的校验码更新为目标数据修改前的消息摘要和第一目标分组的当前校验码的异或运算结果、将第二目标分组的校验码更新为目标数据修改后的消息摘要和第二目标分组的当前校验码的异或运算结果。

具体地,假设目标数据为LILY的联系人信息,修改操作为将LILY的电话号码由123456798修改为123654720,则目标数据修改后的消息摘要为:利用MD5算法得到的“123654720LILY”对应的消息摘要:613AC4F4E14A19583B05EACD3EF51357。手机10可以将前述目标数据修改前的消息摘要0FA340B963445F53D9EFC042E39AB3AA与分组98的当前校验码D11EEB639BC9B20AE321AF1CF384F383做异或运算,得到分组98的新校验码EF93E986151D6912858BF5BE101E4029。手机10还可以将目标数据修改后的消息摘要613AC4F4E14A19583B05EACD3EF51357,与分组20当前的校验码9123674BA490B1E6CB5F45536BC8DEE2做异或运算,得到分组20的新校验码F019A3BF45DAA8BEF05AAF9E553DCDB5。可以理解,在另一些实施例中,手机10也可以通过其他方式来更新目标分组的校验码,例如将进行维护操作后的目标数据中的各条数据的消息摘要逐个进行异或运算来更新目标分组的校验码,在此不做限定。

下面结合具体的应用场景介绍本申请的技术方案。

在前述图2A所示的场景中,智能手表20在非首次从手机10同步联系人信息时,可以从手机10中获取各分组的校验码,然后将获取的分组校验码与智能手表20中对应分组的校验码进行对比,确定出手机10中与智能手表20联系人信息有差异的差异分组,再从手机10中获取差异分组的联系人信息,并将差异分组的联系人信息存储在智能手表20中的对应分组中、将该对应分组的校验码更新为手机10中的差异分组的校验码。如此,智能手表20只需和手机10对差异分组的联系人信息进行同步,提高了同步效率。

具体地,图8根据本申请的一些实施例,示出了一种数据同步方法的交互流程示意图。该流程的包括如下步骤。

S801:手机10检测到与智能手表20进行蓝牙配对的操作。

示例性地,手机10检测到用户在手机10上与智能手表20进行蓝牙配对的操作后,触发本申请实施例的数据同步方法。

例如,参考图9A,用户可以通过对手机10的下拉菜单栏中的蓝牙控件901的点击操作,触发图9B所示的蓝牙配对界面902,手机10在检测到用户对智能手表20的选择控件903的点击操作后,可以检测到与智能手表20进行蓝牙配对的操作。

可以理解,在另一些实施例中,用户也可以通过其他手机10的操作系统提供的方式触发与智能手表20进行蓝牙配对的指令,在此不做限定。

S802:手机10和智能手表20建立蓝牙通信连接。

示例性地,手机10和智能手表20建立蓝牙通信连接,以用于进行联系人的同步。

可以理解,在另一些实施例中,手机10和智能手表建立的用于进行联系人同步的连接也可以是其他连接,例如近场通信、无线局域网等,本申请对手机10和智能手表20间的通信连接方式不做限定。

S803:智能手表20向手机10发送联系人同步请求。

示例性地,智能手表20在和手机10建立蓝牙通信连接后,向手机10发送联系人同步请求。

在一些实施例中,在智能手表20中未存储有联系人信息的情况下,也即是智能手表20首次与手机10进行联系人同步的情况下,智能手表20发送的联系人同步请求中还可以包括首次同步的标识,以便于手机10根据该标识采用首次同步的同步方法。

可以理解,在一些实施例中,智能手表20中用于进行数据同步的系统服务,可以在和其他电子设备建立通信连接后,向其他电子设备发起数据同步请求。在另一些实施例中,也可以由智能手表20中的应用程序来发起数据同步请求,例如由联系人应用向手机10发起对通讯录中的联系人的同步请求,由畅连

可以理解,在一些实施例中,手机10针对首次同步和非首次同步设置有不同的调用接口,以便于其他电子设备可以通过不同的调用接口,与手机10进行首次或非首次联系人信息的同步。例如,手机10可以针对首次同步设置全量同步接口,从而智能手表20可以通过该全量同步接口,来从手机10中同步所有的联系人信息。又例如,手机10可以针对非首次同步设置分组同步接口,从而智能手表20可以通过该分组同步接口,来从手机10中同步至少一个分组的联系人信息。

S804:手机10响应于联系人同步请求,向智能手表20发送分组存储的联系人信息。

示例性地,手机10在确定出智能手表20是首次和手机10进行联系人同步的情况下,向智能手表20发送分组存储的联系人信息,该分组存储的联系人信息中包括了各分组的校验码。

例如,手机10可以将如前述图3A或图3B所示的分组存储的联系人信息发送给智能手表20。

S805:智能手表20分组存储联系人信息。

示例性地,智能手表20将接收到的分组存储的联系人信息也进行分组存储,并同时存储各分组的校验码。

前述步骤S801至步骤S805介绍了智能手表20首次从手机10中同步联系数据的技术方案,以下介绍用户在手机10中对联系人信息进行维护后,智能手表20再次和手机10进行联系人同步的技术方案。

S806:根据联系人信息维护操作更新分组数据和校验码。

示例性地,手机10在检测到用户对手机10中的联系数据的维护操作后,可以根据联系人信息维护操作更新各分组的数据及校验码,具体的更新方式可以参考前述图6所示实施例的相关描述,在此不做赘述。

S807:手机10和智能手表20建立蓝牙通信连接。

示例性地,手机10和智能手机20建立用于同步联系人信息的蓝牙通信连接,具体可以参考前述步骤S801至步骤S802的相关描述,在此不做赘述。

S808:智能手表20向手机10发送联系人同步请求。

示例性地,智能手表20在确定和手机10已经建立通信连接的情况下,向手机10发送联系人同步请求。

S809:响应于联系人同步请求,向智能手表20发送各分组的校验码。

示例性地,手机10在确定出智能手表20不是首次和手机10进行联系人同步的情况下,向智能手表20发送各分组的校验码。例如,手机10可以在接收到的联系人同步请求中不包括首次同步的标识的情况下,确定智能手表20不是首次和手机10进行联系人同步,向智能手表20发送手机10中各分组的校验码。

S810:智能手表20基于手机10中各分组的校验码和智能手表20中各分组的较验标识,确定差异分组。

示例性地,在一些实施例中,智能手表20中的分组与手机10中的分组数量相同,并且智能手表20中的分组与手机10中的分组存在一一对应关系。智能手表20在接收到手机10中的各分组的校验码后,将获取的各分组的校验码和智能手表20中对应的分组的校验码进行对比,将校验码不一致的分组确定为差异分组。例如,参考前述图2B,智能手表20可以获取手机10中分组00至分组99对应的校验码,再将智能手表20中与分组00至分组99对应的分组校验码与获取的校验码进行对比,确定出校验码01与校验码01'不同,也即是手机10中的分组01为差异分组。

可以理解,在一些实施例中,手机10和智能手表20中不包括联系人信息的分组可以不存储在各自的存储器中,从而可以节省手机10和智能手表20中的存储空间。在手机10和智能手表20中,不包括联系人信息的分组可以不存储在各自的存储器的情况下,智能手表20和手机10中存储的数据分组的数量可以不同,也即是智能手表20接收到的手机10发送的校验码的数量和智能手表20中的校验码的数量可以不同,不存在一一对应关系。从而智能手表20确定出的差异分组包括:

第一类差异分组,即手机10中存在的分组,但智能手表20中不存在的分组,智能手表20可以在智能手表20中各校验码对应的分组的分组标识中,不存在接收到的校验码X对应的分组的分组标识的情况下,确定校验码X对应的分组为第一类差异分组。例如,假设智能手表20接收到的校验码X的分组标识为98,而智能手表20中没有分组标识为98的分组,则分组98为第一类差异分组。

第二类差异分组,即手机10中不存在,但智能手表20中存在的分组,,智能手表20可以在智能手表20中某一校验码X对应的分组的分组标识,不存在于接收到的各校验码对应的分组标识中的情况下,确定校验码X对应的分组为第二类差异分组。例如,假设智能手表20有分组标识为98的分组,但接收到的手机10发送的各个校验码对应的分组的分组标识没有98,则说明分组98是第二类差异分组。

第三类差异分组,手机10和智能手表20中都存在、但校验码不同的分组,智能手表20可以在智能手表20中存在校验码为Y的分组的分组标识,与接收到的校验码X对应的分组的分组标识相同,但该校验码X与校验码Y不同的情况下,确定校验码X对应的分组为第三类差异分组。例如,假设智能手表20接收到的校验码F019A3BF45DAA8BEF05AAF9E553DCDB5对应的分组的分组标识为98,而智能手表20中分组标识为98的分组的校验码为D11EEB639BC9B20AE321AF1CF384F383,则分组98为第三类差异分组。

可以理解,智能手表20确定出的差异分组可以是一个或多个,在此不做限定。

S811:智能手表20获取并存储手机10中各差异分组的联系人信息和校验码。

示例性地,智能手表20在确定出差异分组后,从手机10中获取各差异分组的联系人信息和校验码,并将获取的差异分组的联系人信息和校验码存储到智能手表20对应的分组中。例如,智能手表20在确定出手机10中分组01为差异分组的情况下,可以向手机10发送获取分组01的联系人信息和校验码的请求,手机10在收到该请求后,将分组01中的联系人信息和校验码01'发送给智能手表20,智能手表20接收到分组01中的联系人信息后和校验码01'后,将接收到的联系人信息存储到分组01中,并将分组01的校验码更新为校验码01'。

可以理解,在一些实施例中,智能手表20可以在确定出差异分组后,通过上述分组同步接口,以从手机10中获取差异分组中的联系人信息。

可以理解,在一些实施例中,在差异分组包括前述步骤S810中的第一类差异分组、第二类差异分组、第三类差异分组的情况下,针对第一类差异分组,智能手表20可以新增一个分组,从手机10中获取第一类差异分组中的联系人信息,并将获取的联系人信息存储在该新增的分组中;针对第二类差异分组,智能手表20可以从智能手表中删除第二类差异分组中的联系人信息;针对第三类差异分组,智能手表20可以从手机10中获取第三差异分组的联系人信息,并用获取的联系人信息替换第三类差异分组在智能手表20中的联系人信息。

可以理解,在另一些实施例中,在对差异分组的联系人信息进行同步的过程中,也可以先通过对智能手表20和手机10中差异分组的联系人信息进行比对,确定出有差异的联系人信息,从而只对有差异的联系人信息进行同步,进一步减小同步的数据量,提高同步效率。

通过本申请实施例提供的方法,手机10和智能手表20在非首次进行联系人同步的过程中,无需对所有的联系人信息进行同步,只需要对差异分组的联系人信息进行同步,减少了同步的数据量,提高了同步效率,同时,手机10也无需记录与其他电子设备进行同步的日志以及与其他电子设备上一次同步后,有变化的联系人信息,提升了用户体验。

以上实施例中介绍了两个电子设备直接进行数据同步的场景,下面介绍两个电子设备通过第三电子设备作为中间设备进行数据同步的场景。

图10根据本申请的一些实施例,示出了一种数据同步的场景示意图。

如图10所示,手机10和汽车40的车机41中安装有相同的应用程序(例如畅连

具体地,图11根据本申请的一些实施例,示出了又一种数据同步方法的交互流程示意图。如图11所示,该流程包括如下步骤。

S1101:手机10和服务器30建立通信连接。

示例性地,手机10通过应用程序或服务和服务器建立通信连接。

例如,手机10可以通过移动网络或无线网络等接入因特网,从而手机10中的应用程序或服务,例如畅连

S1102:手机10将分组存储的联系人信息及各分组的校验码上传到服务器30。

示例性地,手机10和服务器30建立通信连接后,可以将手机中分组存储的联系人信息和各分组的校验码上传到服务器30,以便于使用与手机10相同的用户账号连接到服务器30的其他电子设备可以从服务器30中同步手机10中的联系人信息。

S1103:车机41和服务器30建立通信连接。

示例性地,车机41可以通过移动网络、无线网络、有线网络等接入因特网,从而车机41中的应用程序或服务,例如畅连

S1104:车机41向服务器30发送数据同步请求。

示例性地,车机41在和服务器30建立通信连接后,向服务器30发送数据同步请求。

可以理解,车机41在首次向服务器30发送的数据同步请求时,可以包括首次数据同步的标识,以便于服务器30可以根据该标识采用相应的方式响应数据同步请求。

可以理解,本实施例中以联系人信息的同步进行介绍只是一种示例,对于不同的应用程序或服务,发送的数据同步请求可以不同,需要同步的数据也可以不同。

可以理解,在一些实施例中,服务器30针对首次同步和非首次同步设置有不同的调用接口,以便于其他电子设备可以通过不同的调用接口,与服务器30进行首次或非首次联系人信息的同步。例如,服务器30可以针对首次同步设置全量同步接口,从而车机41可以通过该全量同步接口,来从服务器30中同步所有的联系人信息。又例如,服务器30可以针对非首次同步设置分组同步接口,从而车机41可以通过该分组同步接口,来从服务器30中同步至少一个分组的联系人信息。

S1105:服务器30响应于数据同步请求,向车机41发送分组存储的联系人信息及各分组的校验码。

示例性地,服务器30在确定车机41是首次和服务器30进行联系人信息同步的情况下,向车机41发送分组存储的联系人信息及各分组的校验码。例如,服务器30可以在数据同步请求中包括首次同步的标识的情况下,确定车机41是首次和服务器30进行联系人信息同步,向车机41发送分组存储的联系人信息及各分组的校验码。

S1106:车机41分组存储接收到的联系人信息及各分组的校验码。

示例性地,车机41接收服务器30发送的分组存储的联系人信息及各分组的校验码,并将联系人信息及各分组的校验码存储到车机41中。

例如,参考图12A,车机41首次和服务器30进行联系人同步后,车机41中存储的各分组中的联系人信息和各分组的校验码相同。示例性地,对于分组98,包括2条联系信息,即LILY的联系人信息和RALPH的联系人信息,分组98的对应校验码98为D11EEB639BC9B20AE321AF1CF384F38。

前述步骤S1101至步骤S1106介绍了车机41首次同步手机10中的联系人信息的技术方案,以下介绍手机10维护联系人信息的技术方案。

S1107:手机10根据数据维护操作更新对应分组的联系人信息及校验码。

示例性地,手机10在检测到用户对联系人信息的数据维护操作后,可以根据数据维护操作更新对应分组的联系人信息及校验码,具体可以参考前述步骤S601至步骤S606的相关描述,在此不做赘述。

S1108:手机10将数据维护操作对应的分组中数据及校验码上传到服务器30。

示例性地,手机10在根据数据维护操作更新对应分组的联系人信息及校验码后,可以将数据维护操作对应的分组中数据及校验码上传到服务器30,以便于与手机10采用相同的用户账号连接服务器30的其他电子设备可以及时进行同步。

可以理解,在一些实施例中,若手机10在根据数据维护操作更新对应分组的联系人信息及校验码时连接到了服务器30,手机10可以将数据维护操作对应的分组中数据及校验码上述到服务器30。在另一些实施例中,若手机10在根据数据维护操作更新对应分组的联系人信息及校验码时未连接到服务器30,则手机10可以记录数据维护操作更新对应分组的联系人信息及校验码,并在手机10连接到服务器30后将记录的数据维护操作更新对应分组的联系人信息及校验码上传到服务器30。

S1109:服务器30更新分组存储的数据。

示例性地,服务器30在接收到手机10上传的数据维护操作对应的分组中数据及校验码后,将该分组的数据和校验码更新到对应的分组中。

上述步骤S1107至步骤S1109介绍了手机10在用户维护联系人信息后的数据同步到服务器30的技术方案,以下介绍车机41非首次从服务器30同步联系人信息的技术方案。

S1110:车机41向服务器30发送数据同步请求。

示例性地,车机41在和服务器30建立通信连接后,可以向服务器30发送数据同步请求。

可以理解,车机41在并非首次和服务器30进行数据同步的情况下,车机41发送的数据同步请求中不包括首次同步标识。

车机41和服务器30建立通信连接的方式可以参考前述步骤S1103中车机41与服务器30之间建立通信连接的方式描述,在此不做赘述。

S1111:服务器30响应于数据同步请求,向车机41发送各分组的校验码。

示例性地,服务器30接收到车机41发送的数据同步请求后,确定出车机41不是首次和服务器30进行数据同步的情况下,向车机41发送服务器30中存储的各分组的校验码。

S1112:车机41基于车机41中各分组的校验码和服务器30中各分组的较验标识,确定差异分组。

示例性地,车机41接收到服务器30中各分组的校验码后,将各分组的校验码与车机41中对应的分组的校验码进行对比,确定出校验码不同的差异分组。

例如,参考图12B,假设车机41在步骤S1106中获取到的联系人信息为图3A所示的联系人信息,其中,车机41中的分组98包括两条联系人信息,即LILY和RALPH的联系人信息,对应的校验码98为D11EEB639BC9B20AE321AF1CF384F38。而在前述步骤S1107至步骤S1109中,用户通过手机11增加了KATE的联系人信息,从而手机10和服务器30存储的联系人信息中,分组98中包括三条联系人信息,即LILY、RALPH和KATE的联系人信息,对应的校验码98为D3488EF35EE50808184EE10752863011。车机41接收到服务器30发送的分组98对应的校验码'(即98D3488EF35EE50808184EE10752863011)后,与车机41中对应的校验码98(即D11EEB639BC9B20AE321AF1CF384F38进行对比),确定出校验码98'与校验码98不同,从而确定出服务器30中的分组98为差异分组。

S1113:车机41获取并存储服务器30中各差异分组的联系人信息和校验码。

示例性地,车机41根据差异分组的分组标识,从服务器30中获取并存储差异分组的联系人信息及差异分组的校验码。

例如,参考图12B,车机41可以从服务器30中获取LILY、RALPH和KATE的联系人信息,并将获取的联系人信息存储到车机41的分组98中,再将分组98的校验码更新为D3488EF35EE50808184EE10752863011。

可以理解,在一些实施例中,车机41可以在确定出差异分组后,可以通过上述分组同步接口,从服务器30中获取差异分组中的联系人信息。

通过本申请实施例提供的方法,车机41从服务器30中同步手机10中的联系人信息过程中,无需每次都同步全部的联系人信息,只需要对差异分组中的联系人信息进行同步,减少了同步的数据量,提高同步效率,并且车机41或服务器30只需维护各分组的校验码,而无需其他的额外开销,提升了用户体验。

可以理解,以上各实施例中以条目式数据为联系人信息介绍了本申请的技术方案只是一种示例,上述各实施例的技术方案也适用于对其他任意类型的条目式数据进行同步的场景,例如短信、备忘录、邮件、即时通信应用的消息等,在此不做限定。

进一步,本申请实施例的技术方案还使用于分布式系统中,从设备和主设备间进行数据同步的场景。

例如,图13根据本申请的一些实施例,示出了一种分布式系统中对备忘录进行同步的场景示意图。

图13所示的场景中,分布式系统包括主设备手机10,从设备智能手表20、平板电脑50和智能电视60,手机10通过分布式软总线与其他从设备建立通信连接,并且手机10、智能手表20、平板电脑50、智能电视60中都安装有备忘录应用或服务。其中,手机10中分组存储有备忘录信息,各条备忘录信息的分组字段可以参考前述图4A的相关描述。

参考图13,智能手表20、平板电脑50、智能电视60从手机10中同步备忘录信息可以包括如下步骤:S131:智能手表20/平板电脑50/智能电视60中安装的备忘录应用或服务在检测到和手机10建立通信连接后,通过分布式软总线获取手机10中各分组的校验码;S132:智能手表20/平板电脑50/智能电视60中安装的备忘录应用或服务将获取的分组标识与各自对应的分组中的校验码进行对比,确定出各设备对应的差异分组,例如智能手表20可以确定出差异分组1、平板电脑50可以确定出差异分组2、智能电视60可以确定出差异分组3,再将各设备的差异分组和设备标识发送给手机10,例如智能手表20可以发送差异分组1的分组标识、平板电脑50可以发送差异分组2的分组标识、智能电视3可以发送差异分组3的分组标识;S133:手机10根据各设备发送的差异分组的分组标识和设备标识,通过分布式软总线将各设备对应的差异分组(例如前述差异分组1/2/3)的备忘录信息和校验码发送到各设备,从而各设备中安装的备忘录应用或服务可以根据接收到的差异分组的备忘录信息和校验码来更新各设备中的备忘录信息,实现分布式系统中备忘录信息的同步。

可以理解,分布式软总线是由电子设备的操作系统提供的、将多个电子设备通过相同或不同的通信方式进行耦接的技术,具体将在下文介绍电子设备的软件架构时进行介绍,在此不做赘述。

可以理解,智能手表20、平板电脑50、智能电视60确定差异分组的方式可以参考前述各实施例中智能手表20、车机41差异分组的方法,在此不做赘述。

通过本申请实施例提供的方法,无论与手机10建立过通信连接的从设备有多少个,手机10都可以快速与分布式系统中的其他电子设备进行数据同步,由于只需要对差异分组中的数据进行同步,减少了同步的数据量,提升了同步效率。

可以理解,上述图13所示的电子设备间通过分布式软总线耦接的分布式系统只是一种示例,分布式软总线只是作为各个电子设备进行通信的载体,本申请的技术方案可以应用于其他任意分布式系统,在此不做限定。

可以理解,上述手机10等电子设备所使用的操作系统可以是安卓

图14根据本申请的一些实施例,示出了一种手机10的软件架构示意图。如图14所示,手机10的软件架构主要包括:

应用层02可以包括系统应用021和扩展应用022(或第三方应用)。其中,系统应用021可以包括桌面备忘录0211、设置、相机、短信、邮件等等;扩展应用022可以包括畅连

框架层03为应用层提供多语言框架,包括界面(User Interface,UI)框架031、用户程序框架032和能力框架033等。其中,UI框架031包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等,在此不做赘述。用户程序框架032和能力框架033可为应用程序提供应用所需的各能力部件的能力,例如运算能力(可以包括CPU算力、图形处理器(Graphics Processing Unit,GPU)算力、图像信号处理器(Image SignalProcessor,ISP)算力等)、拾音能力(可以包括麦克风拾音能力、语音识别能力等)、设备安全防护方面的安全能力(可以包括可信任运行环境安全等级等)、显示能力(可以包括屏幕分辨率、屏幕尺寸等)、播放能力(包括扩音能力、立体声效能力等、以及存储能力(可以包括设备的内存能力、随机存取存储器(random access memory,RAM)能力等)等,在此不做限制。

系统服务层04是手机10软件系统的核心,可以通过框架层03对应用层02的应用程序提供服务。系统服务层04包括分布式软总线041、分布式数据管理模块042、数据同步服务043等。其中:

分布式软总线041用于将手机10与其他电子设备进行耦接,构成分布式系统。例如,图15根据本申请的一些实施例,示出了一种通过分布式软总线041将手机10与其他电子设备进行耦接的示意图。如图15所示,手机10、智能手表20、平板电脑50、智能电视60通过分布式软总线041耦接,分布式软总线041包括总线中枢0411、任务和数据总线0412、设备信息0413、基础通信0414等。其中:

总线中枢0411用于对手机10应用层02发布的命令进行解析、对设备的发现与连接等,包括数据与计算中心、决策中心、互联管理中心等。例如,在图13所示的场景中,总线中枢0411可以用于发现与手机10安装有相同的应用程序或服务(例如备忘录)的电子设备;

任务和数据总线0412用于手机10与其他电子设备间的任务和数据的传送。例如,在一些实施例中,任务和数据总线0412可以用于传输各分组的校验码、差异分组的标识、差异分组的备忘录信息、差异分组的校验码等;

设备信息0413用于获取和管理手机10及其他电子设备的信息,例如在一些实施中,设备信息模块0413可以用于获取向手机10发送差异分组的电子设备的设备标识;

基础通信0414用于通过无线、蓝牙、近场通信、局域网等有线和/或无线的方式建立手机10与其他电子设备的通信连接,并通过协议栈和软硬协同屏蔽电子设备间协议的差别。

分布式数据管理042基于分布式软总线,实现应用程序数据和用户数据的分布式管理。例如,在一些实施例中,手机10可以通过分布式数据管理042将差异分组的备忘录信息发送给相应的电子设备。

数据同步服务043用于根据本申请实施例提供的数据同步方法进行数据同步。例如,对应未嵌入本申请实施例提供的数据同步方法的指令的应用程序,可以通过数据同步服务043来对应用程序中的条目式数据进行分组存储,并基于数据同步服务043和其他电子设备进行数据同步。

内核层05包括内核子系统051和驱动子系统052。内核子系统051通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。驱动子系统052包括硬件驱动框架,硬件驱动框架可以为手机10提供统一外设访问能力和管理框架。

可以理解,图14所示的手机10的软件架构和图15所示的手机10与其他电子设备之间的连接方式,只是一种示例,在其他的实施例中,手机10也可以采用不同于上述图14的其他软件架构,或者通过不同于图15所示的其他连接方式与其他电子设备之间连接形成分布式系统,本申请实施例不做限定。

可以理解,本申请实施例中的各电子设备可以采用和手机10相同或相似的软件架构,也可以采用不同的软件架构,在此不做限定。

可以理解的是,上述以手机10、智能手表20、服务器30、汽车40的车机41、平板电脑50、智能电视60等介绍本申请的技术方案只是一种示例,本申请实施例的技术方案可以应用于能够与其他电子设备进行数据交换的任意电子设备,包括但不限于膝上型计算机、智能电视、智能音箱、平板计算机、服务器、可穿戴设备(例如智能手表、智能手环、智能眼镜等)、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备等,本申请实施例不做限定。

以下以手机10的硬件结构为例,说明本申请实施例适用的电子设备的结构。

具体地,图16根据本申请的一些实施例,示出了一种手机10的结构示意图。如图16所示,手机10可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。

处理器110可以包括一个或多个处理单元,例如,可以包括中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)、数字信号处理器(Digital Signal Processor,DSP)、微处理器(Micro-programmed Control Unit,MCU)、人工智能(Artificial Intelligence,AI)处理器或可编程逻辑器件(Field ProgrammableGate Array,FPGA)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。例如,处理器110可以用于本申请实施例提供的数据同步方法的指令。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse codemodulation,PCM)接口,串行外设接口(Serial Peripheral Interface,SPI),通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。

PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。

UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。在一些实施例中,处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能,例如通过蓝牙和其他电子设备建立通信连接,以通过蓝牙向其他电子设备发送各分组的校验码、各分组的数据,通过蓝牙获取数据同步请求、接收异常分组等。

MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现手机10的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现手机10的显示功能。

GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。

外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机10的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将分类存储的条目式数据如联系人、短信、备忘录、邮件等保存在外部存储卡中。

内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括程序存储区和数据存储区。其中,程序存储区可存储操作系统,至少一个功能所需的应用程序(比如前述畅连

USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机10充电,也可以用于手机10与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。

充电管理模块140用于从充电器接收充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为手机10供电。

电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。手机10的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。

移动通信模块150可以提供应用在手机10上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。

无线通信模块160可以提供应用在手机10上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

在一些实施例中,手机10可以利用移动通信模块150或移动通信模块提供的无线通信解决方案,与其他电子设备建立通信连接,并基于建立的通信连接通过本申请各实施例提供的数据同步方法与其他电子设备进行数据同步。

手机10可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。

扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。

受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。

麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。

耳机接口170D用于连接有线耳机。

压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。手机10根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,手机10根据压力传感器180A检测所述触摸操作强度。手机10也可以根据压力传感器180A的检测信号计算触摸的位置。

加速度传感器180E可检测手机10在各个方向上(一般为三轴)加速度的大小。当手机10静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。

环境光传感器180L用于感知环境光亮度。手机10可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测手机10是否在口袋里,以防误触。

指纹传感器180H用于采集指纹。手机10可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。

触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机10的表面,与显示屏194所处的位置不同。

骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。

按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机10可以接收按键输入,产生与手机10的用户设置以及功能控制有关的键信号输入。

马达191可以产生振动提示。

指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,手机10可以包括1个或N个摄像头193,N为大于1的正整数。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Mini-LED,Micro-LED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机10可以包括1个或N个显示屏194,N为大于1的正整数。

手机10可以通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

SIM卡接口195用于连接SIM卡。

可以理解,本申请实施例示出的手机10的结构并不构成对手机10的具体限定。在本申请另一些实施例中,手机10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

可以理解,本申请各实施例提供的数据同步方法适用的电子设备可以和手机10具有相同或相似的结构,也可包括比手机10更多或更少的模块,在此不做限定。

本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。

可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。

程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。

在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。

在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。

需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。

需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

相关技术
  • 数据同步方法、系统、电子设备及计算机可读存储介质
  • 实时数据库同步方法、装置、电子设备及存储介质
  • 产品数据的数据同步方法、装置、计算机设备及存储介质
  • 产品数据同步方法、装置、计算机设备及存储介质
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 移动终端及应用于该移动终端的显示方法
  • 数据库数据同步方法、电子设备、存储介质和程序产品
技术分类

06120116514378