数据同步方法及装置与流程

文档序号:30141377发布日期:2022-05-24 07:55阅读:167来源:国知局
数据同步方法及装置与流程

本申请涉及数据同步领域,尤其涉及一种数据同步方法及装置。

背景技术

目前,设备与设备之间可以进行数据的同步,以共享数据。例如,手机将最新的快递信息同步给电视,或者电视将最新的剧集观看记录同步给手机。

但是,设备与设备之间在进行数据的同步时,设备的应用处理器(application processor,AP)必须处于工作状态(即唤醒状态)下,才能实现数据的同步。这会导致在进行数据的同步时,设备消耗大量时间频繁地唤醒AP、建立设备之间的通信连接。因此,现有的数据同步技术存在着效率低下、设备功耗高的问题。



技术实现要素:

本申请实施例提供一种数据同步方法及装置,能够解决现有的数据同步技术效率低下、设备功耗高的问题,从而提高数据同步效率、降低设备功耗。

为达到上述目的,本申请采用如下技术方案:

第一方面,提供一种数据同步方法。该方法应用于第一设备。其中,第一设备包括第一数据同步器和第一处理器。该方法包括:第一数据同步器接收来自第二设备的同步数据,并向第一处理器发送同步数据。

基于第一方面和下述第二方面所述的数据同步方法,第一设备的数据同步功能可以由第一数据同步器来完成,第二设备的数据同步功能可以由第二数据同步器来完成,即数据同步功能可以由数据同步器完成,且不需要处理器参与。如此,可以实现即使第一处理器处于休眠状态,第一数据同步器也可以从第二数据同步器实时地接收同步数据,并且即使第二处理器处于进入休眠状态,第二数据同步器也可以向第一设备发送同步数据。进而,本申请可以降低第一设备和第二设备的功耗,且提高数据同步效率。

一种可能的设计方案中,上述第一数据同步器接收来自第二设备的同步数据,并向第一处理器发送同步数据,可以包括:在第一处理器处于休眠状态下,第一数据同步器接收来自第二设备的同步数据,并在第一处理器处于工作状态下向第一处理器发送同步数据。第一设备在接收第二设备发送的同步数据过程中,在第一处理器处于休眠状态下,由第一数据同步器接收来自第二设备的同步数据。如此,更能够降低设备的功耗,延长设备的使用时间,提升用户体验。

可选地,上述第一数据同步器向第一处理器发送同步数据,可以包括:若第一数据同步器检测到第一处理器处于工作状态,则第一数据同步器向第一处理器发送同步数据。如此,在第一处理器唤醒时,第一数据同步器可以及时将同步数据发送给第一处理器,减少数据同步时间,进一步提高数据同步效率。

或者,可选地,上述第一数据同步器向第一处理器发送同步数据,可以包括:第一数据同步器接收来自第一处理器的同步指令,并根据同步指令向第一处理器发送同步数据。其中,同步指令用于获取来自第二设备的同步数据。如此,第一处理器可以向第一数据同步器发送同步指令,进而主动地从第一数据同步器处获取到来自第二设备的同步数据,提高数据同步的可靠性。

另一种可能的设计方案中,在上述第一数据同步器向第一处理器发送同步数据之前,第一方面所述的方法还可以包括:若第一数据同步器检测到第一处理器处于休眠状态,则第一数据同步器主动唤醒第一处理器。如此,在第一处理器休眠时,第一数据同步器可以主动唤醒第一处理器,并向第一处理器快速及时地发送同步数据,从而进一步提高数据同步效率。

又一种可能的设计方案中,第一方面所述的方法还可以包括:第一数据同步器接收来自第一处理器的订阅参数,并向第二设备发送订阅参数。其中,订阅参数用于第一设备获取来自第二设备的同步数据。如此,第二设备可以根据第一设备的需求提供同步数据,即第一设备可以定制同步数据,以减少不必要的数据同步操作,从而进一步提高数据同步效率。

再一种可能的设计方案中,第一方面所述的方法还可以包括:第一处理器输出同步数据,如此,第一设备可以提醒用户查看第一处理器输出的同步数据,以便用户根据同步数据确定下一步操作,进而提升用户体验。例如,第一处理器可以控制第一设备的显示器显示同步数据,或者控制第一设备的扬声器播放同步数据。

第二方面,提供一种数据同步方法。该方法应用于第二设备。其中,第二设备包括第二数据同步器和第二处理器。该方法包括:第二数据同步器接收来自第二处理器的同步数据,并向第一设备发送同步数据。

一种可能的设计方案中,上述第二数据同步器向第一设备发送同步数据,可以包括:在第二处理器处于休眠状态下,第二数据同步器向第一设备发送同步数据。第二设备在将同步数据发送给第一设备的过程中,第二处理器将同步数据发送给第二数据同步器后即可进入休眠状态,并在第二处理器处于休眠状态下,由第二数据同步器向第一设备发送同步数据。如此,更能够降低设备的功耗,延长设备的使用时间,提升用户体验。

可选地,上述第二数据同步器向第一设备发送同步数据,可以包括:第二数据同步器根据订阅参数向第一设备发送同步数据。其中,订阅参数用于第一设备获取来自第二设备的同步数据。

进一步地,在第二数据同步器根据订阅参数向第一设备发送同步数据之前,第二方面所述的方法还可以包括:第二数据同步器接收来自第一设备的订阅参数。

进一步地,在第二数据同步器接收来自第一设备的订阅参数之后,第二方面所述的方法还可以包括:第二数据同步器向第二处理器发送订阅参数。

进一步地,在第二数据同步器向第二处理器发送订阅参数之前,第二方面所述的方法还可以包括:若第二数据同步器存储有同步数据,第二数据同步器根据订阅参数向第一设备发送同步数据。如此,第二数据同步器可以及时将同步数据发送给第一设备,减少数据同步时间,进一步提高数据同步效率。

进一步地,在第二数据同步器向第二处理器发送订阅参数之前,第二方面所述的方法还可以包括如下之一:若第二处理器处于休眠状态,则第二数据同步器唤醒第二处理器;或者,若第二处理器处于休眠状态,则第二数据同步器等待第二处理器唤醒。如此,若第二数据同步器主动唤醒第二处理器,则第二数据同步器可以及时将订阅参数发送给第二处理器,以使得第二设备及时地将同步数据反馈给第一设备,进一步提高数据同步效率。若第二数据同步器等待第二处理器唤醒,则可以减少第二处理器的唤醒频率,进一步降低设备功耗。

另一种可能的设计方案中,第二方面所述的方法还可以包括:第二处理器接收到来自第二数据同步器的订阅参数,并根据订阅参数获取应用程序生成的同步数据,以及向第二数据同步器发送同步数据。如此,第二设备可以及时将应用程序生成的同步数据发送给第一设备,以进一步提高数据同步效率。

此外,第二方面所述的数据同步方法的技术效果可以参考第一方面所述的数据同步方法的技术效果,此处不再赘述。

第三方面,提供一种通信装置。该装置包括第一数据同步器和第一处理器。其中,第一数据同步器,用于接收来自第二设备的同步数据,并向第一处理器发送同步数据。

一种可能的设计方案中,第一数据同步器,用于在第一处理器处于休眠状态下接收来自第二设备的同步数据,并在第一处理器处于工作状态下向第一处理器发送同步数据。

可选地,第一数据同步器,用于若检测到第一处理器处于工作状态,则向第一处理器发送同步数据。

或者,可选地,第一数据同步器,用于接收来自第一处理器的同步指令,并根据同步指令向第一处理器发送同步数据。其中,同步指令用于获取来自第二设备的同步数据。

另一种可能的设计方案中,第一数据同步器,还用于在向第一处理器发送同步数据之前,若检测到第一处理器处于休眠状态,则主动唤醒第一处理器。

又一种可能的设计方案中,第一数据同步器,还用于接收来自第一处理器的订阅参数,并向第二设备发送订阅参数。其中,订阅参数用于第三方面所述的通信装置获取来自第二设备的同步数据。

再一种可能的设计方案中,第一处理器,还用于输出同步数据。

可选地,上述第一数据同步器可以包括接收器和发送器。其中,第一数据同步器用于实现第三方面所述的通信装置的发送功能和接收功能。

可选地,第三方面所述的通信装置还可以包括存储器,该存储器存储有程序或指令。当第一数据同步器、第一处理器执行该程序或指令时,使得第三方面所述的通信装置可以执行第一方面所述的数据同步方法。

需要说明的是,第三方面所述的通信装置可以是终端设备或网络设备,也可以是可设置于终端设备或网络设备中的芯片(系统)或其他部件或组件,还可以是包含终端设备或网络设备的装置,本申请对此不做限定。

此外,第三方面所述的通信装置的技术效果可以参考第一方面所述的数据同步方法的技术效果,此处不再赘述。

第四方面,提供一种通信装置。该装置包括第二数据同步器和第二处理器。其中,第二数据同步器,用于接收来自第二处理器的同步数据,并向第一设备发送同步数据。

一种可能的设计方案中,第二数据同步器,用于在第二处理器处于休眠状态下,向第一设备发送同步数据。

可选地,第二数据同步器,用于根据订阅参数向第一设备发送同步数据。其中,订阅参数用于第一设备获取来自第四方面所述的通信装置的同步数据。

进一步地,第二数据同步器,还用于在根据订阅参数向第一设备发送同步数据之前,接收来自第一设备的订阅参数。

进一步地,第二数据同步器,还用于在接收来自第一设备的订阅参数之后,向第二处理器发送订阅参数。

进一步地,第二数据同步器,还用于在向第二处理器发送订阅参数之前,若存储有同步数据,则根据订阅参数向第一设备发送同步数据。

进一步地,第二数据同步器,还用于在向第二处理器发送订阅参数之前,若第二处理器处于休眠状态,则唤醒第二处理器;或者,第二数据同步器,还用于在向第二处理器发送订阅参数之前,若第二处理器处于休眠状态,则等待第二处理器唤醒。

另一种可能的设计方案中,第二处理器,还用于接收到来自第二数据同步器的订阅参数,并根据订阅参数获取应用程序生成的同步数据,以及向第二数据同步器发送同步数据。

可选地,上述第二数据同步器也可以称为收发器。该收发器可以包括接收器和发送器。其中,收发器用于实现第四方面所述的通信装置的发送功能和接收功能。

可选地,第四方面所述的通信装置还可以包括存储器,该存储器存储有程序或指令。当第二数据同步器、第二处理器执行该程序或指令时,使得第四方面所述的通信装置可以执行第二方面所述的数据同步方法。

需要说明的是,第四方面所述的通信装置可以是终端设备或网络设备,也可以是可设置于终端设备或网络设备中的芯片(系统)或其他部件或组件,还可以是包含终端设备或网络设备的装置,本申请对此不做限定。

此外,第四方面所述的通信装置的技术效果可以参考第二方面所述的数据同步方法的技术效果,此处不再赘述。

第五方面,提供一种通信装置。该通信装置用于执行第一方面至第二方面中任意一种实现方式所述的数据同步方法。

在本申请中,第五方面所述的通信装置可以为第一方面中所述的第一设备或第二方面中所述的第二设备,或者可设置于该第一设备或第二设备中的芯片(系统)或其他部件或组件,或者包含该第一设备或第二设备的装置。

应理解,第五方面所述的通信装置包括实现上述第一方面,第二方面中任一方面所述的数据同步方法相应的模块、单元、或手段(means),该模块、单元、或手段可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个用于执行上述数据同步方法所涉及的功能的模块或单元。

此外,第五方面所述的通信装置的技术效果可以参考第一方面至第二方面中任一方面所述的数据同步方法的技术效果,此处不再赘述。

第六方面,提供一种通信装置。该通信装置包括:处理器,该处理器用于执行第一方面至第二方面中任意一种可能的实现方式所述的数据同步方法。

在一种可能的设计方案中,第六方面所述的通信装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第六方面所述的通信装置与其他通信装置通信。

在一种可能的设计方案中,第六方面所述的通信装置还可以包括存储器。该存储器可以与处理器集成在一起,也可以分开设置。该存储器可以用于存储第一方面至第二方面中任一方面所述的数据同步方法所涉及的计算机程序和/或数据。

在本申请中,第六方面所述的通信装置可以为第一方面中的第一设备或第二方面中的第二设备,或者可设置于该第一设备或第二设备中的芯片(系统)或其他部件或组件,或者包含该第一设备或第二设备的装置。

此外,第六方面所述的通信装置的技术效果可以参考第一方面至第二方面中任意一种实现方式所述的数据同步方法的技术效果,此处不再赘述。

第七方面,提供一种通信装置。该通信装置包括:处理器,该处理器与存储器耦合,该处理器用于执行存储器中存储的计算机程序,以使得该通信装置执行第一方面至第二方面中任意一种可能的实现方式所述的数据同步方法。

在一种可能的设计方案中,第七方面所述的通信装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第七方面所述的通信装置与其他通信装置通信。

在本申请中,第七方面所述的通信装置可以为第一方面中的第一设备或第二方面中的第二设备,或者可设置于该第一设备或第二设备中的芯片(系统)或其他部件或组件,或者包含该第一设备或第二设备的装置。

此外,第七方面所述的通信装置的技术效果可以参考第一方面至第二方面中任意一种实现方式所述的数据同步方法的技术效果,此处不再赘述。

第八方面,提供了一种通信装置,包括:处理器和存储器;该存储器用于存储计算机程序,当该处理器执行该计算机程序时,以使该通信装置执行第一方面至第二方面中的任意一种实现方式所述的数据同步方法。

在一种可能的设计方案中,第八方面所述的通信装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第八方面所述的通信装置与其他通信装置通信。

在本申请中,第八方面所述的通信装置可以为第一方面中的第一设备或第二方面中的第二设备,或者可设置于该第一设备或第二设备中的芯片(系统)或其他部件或组件,或者包含该第一设备或第二设备的装置。

此外,第八方面所述的通信装置的技术效果可以参考第一方面至第二方面中任意一种实现方式所述的数据同步方法的技术效果,此处不再赘述。

第九方面,提供了一种通信装置,包括:处理器;所述处理器用于与存储器耦合,并读取存储器中的计算机程序之后,根据该计算机程序执行如第一方面至第二方面中的任意一种实现方式所述的数据同步方法。

在一种可能的设计方案中,第九方面所述的通信装置还可以包括收发器。该收发器可以为收发电路或接口电路。该收发器可以用于第九方面所述的通信装置与其他通信装置通信。

在本申请中,第九方面所述的通信装置可以为第一方面中的第一设备或第二方面中的第二设备,或者可设置于该第一设备或第二设备中的芯片(系统)或其他部件或组件,或者包含该第一设备或第二设备的装置。

此外,第九方面所述的通信装置的技术效果可以参考第一方面至第二方面中任意一种实现方式所述的数据同步方法的技术效果,此处不再赘述。

第十方面,提供一种处理器。其中,处理器用于执行第一方面至第二方面中任意一种可能的实现方式所述的数据同步方法。

第十一方面,提供一种无线通信系统。该无线通信系统包括上述第一设备和第二设备。

第十二方面,提供一种计算机可读存储介质,包括:计算机程序或指令;当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面至第二方面中任意一种可能的实现方式所述的数据同步方法。

第十三方面,提供一种计算机程序产品,包括计算机程序或指令,当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面至第二方面中任意一种可能的实现方式所述的数据同步方法。

附图说明

图1为现有数据同步技术的应用场景及流程示意图;

图2为本申请实施例提供的一种无线通信系统的架构示意图;

图3为本申请实施例提供的一种设备系统架构的框图;

图4为本申请实施例提供的一种设备的业务框架示意图;

图5为本申请实施例提供的数据同步方法的流程示意图一;

图6为本申请实施例提供的数据同步方法的流程示意图二;

图7为本申请实施例提供的通信装置的结构示意图一;

图8为本申请实施例提供的通信装置的结构示意图二;

图9为本申请实施例提供的通信装置的结构示意图三。

具体实施方式

首先,介绍本申请实施例所涉及的技术术语。

传感器控制中心(SensorHub),是一种微控制单元(microcontroller unit,MCU),可以在设备的CPU休眠状态下,实时控制设备的传感器,以及处理来自各种传感器的数据。

低功耗蓝牙(bluetooth low energy,BLE),是一种低成本、短距离、可互操作的无线通信技术。

应用处理器,可以处理设备的订阅服务的数据更新监控、数据分发处理及数据呈现。

在实现本申请实施例的过程中,本申请发明人发现:

以图1所示的应用场景为例,手机包括第一AP和通信模块,电视包括第二AP和通信模块。第一AP中包括快递程序、日程程序、第一内容服务、第一分发服务、第一显示模块等程序,第二AP中包括视频程序、第二内容服务、第二分发服务、第二显示模块等程序。

在图1所示的应用场景中,电视可以将最新的剧集观看记录同步给手机(参考图1中的步骤1-步骤7),或者手机也可以将最新的快递信息同步给电视(参考图1中的步骤①-步骤⑦),步骤①-步骤⑦可以对应参考步骤1-步骤7,下面仅对图中的步骤1-步骤7作具体介绍。

步骤1,第二分发服务程序通过通信模块向手机发送可提供视频服务信息(该信息表示电视可以发送视频程序生成的同步数据)。

步骤2,第一分发服务程序接收来自电视的可提供视频服务信息,并向电视发送订阅视频服务信息。

步骤3,电视在接收到来自手机的订阅视频服务信息后,若视频程序生成了新的视频数据(如视频观看进度、用户收藏的剧集等),则将这些数据作为同步数据发送给第二内容服务程序。

步骤4,第二内容服务程序接收到来自视频程序的同步数据后,则向第二分发服务程序发送该同步数据。

步骤5,第二分发服务程序通过通信模块向手机发送同步数据。

步骤6,第一分发服务程序接收来自电视的同步数据。

步骤7,第一分发服务程序向第一显示模块发送同步数据,以使第一显示模块显示该同步数据。

应理解,在步骤6中,手机必须处于工作状态(即唤醒状态,例如,用户使用手机唤醒第一AP)下,第一分发服务程序才能接收来自电视的同步数据,实现数据的同步。也即是说,手机与电视之间在进行数据的同步时,手机、电视的AP必须处于工作状态(即唤醒状态)下,才能实现数据的同步。

进而可以理解,现有的数据同步技术实时性较差,通常需要用户使用设备,唤醒设备后,设备才能进行数据同步。并且,由于设备在唤醒后,设备与设备之间还需要重新建立通信连接,传输数据,因此传输速度较慢。以及,若设备与设备之间经常同步数据,还会频繁地唤醒AP,设备功耗高。

为了解决现有的数据同步技术存在着数据同步效率低下、设备功耗高的问题,本申请实施例提供了一种数据同步方法及装置,以提高数据同步效率、降低设备功耗。需要说明的是,上述现有技术中的技术方案所存在的种种缺陷,均是发明人经过仔细实践研究后得出的结果。因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应是发明人在实现本申请过程中对本申请做出的贡献。

下面将结合附图,对本申请中的技术方案进行描述。

本申请实施例的技术方案可以应用于各种无线通信系统,例如低功耗蓝牙通信系统,无线保真(wireless fidelity,WiFi)系统,第4代(4th generation,4G)移动通信系统,如长期演进(long term evolution,LTE)系统,全球互联微波接入(worldwide interoperability for microwave access,WiMAX)通信系统,第五代(5th generation,5G)移动通信系统,如新空口(new radio,NR)系统,以及未来的通信系统,如第六代(6th generation,6G)移动通信系统,车到任意物体(vehicle to everything,V2X)通信系统,设备间(device-todevie,D2D)通信系统,车联网通信系统等。

本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。

另外,在本申请实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。

本申请实施例中,“信息(information)”,“信号(signal)”,“消息(message)”,“信道(channel)”、“信令(singaling)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。

本申请实施例中,有时候下标如W1可能会笔误为非下标的形式如W1,在不强调其区别时,其所要表达的含义是一致的。

本申请实施例描述的系统架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。

为便于理解本申请实施例,首先以图2中示出的无线通信系统为例详细说明适用于本申请实施例的无线通信系统。示例性地,图2为本申请实施例提供的数据同步方法所适用的一种无线通信系统的架构示意图。

如图2所示,该无线通信系统可以包括第一设备和第二设备,第一设备和第二设备之间存在通信连接。

其中,第一设备和第二设备均可以为具有无线收发功能的终端或可设置于该终端的芯片或芯片系统。在实际应用中,第一设备和第二设备可以是:手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、车载终端、具有终端功能的路侧单元(road side unit,RSU)等。进而,上述的第一设备和第二设备也可以称为用户装置、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、或用户代理。

由于上述的第一设备和第二设备均可以为具有无线收发功能的终端或可设置于该终端的芯片或芯片系统,因此,上述的第一处理器和第二处理器可以是:ARM(advanced RISC machines)处理器、X86处理器、或者应用处理器等。例如,当第一设备为手机,第二设备为电视时,上述的第一处理器和第二处理器均可以是AP。

上述的第一数据同步器和第二数据同步器可以是:MCU、通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、协处理器等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。例如,当第一设备为手机,第二设备为电视时,上述的第一数据同步器和第二数据同步器均可以是SensorHub。

进一步地,在图2所示的无线通信系统的基础上,当上述的第一处理器是AP,且第一数据同步器是SensorHub时,对于第一设备的系统架构,本申请实施例还提供了一种可行的实施方式,请参照图3,图3为本申请实施例提供的一种设备系统架构的框图。该设备系统架构可以包括如下一个或多个模块:AP、SensorHub、或蓝牙芯片(bluetooth chip,BT chip)。

其中,AP可以包括如下一个或多个层:应用程序层(applications,APPs)、应用框架层(application framework)、硬件抽象层(hardware abstraction layer,HAL)、或内核层(kernel)。

SensorHub可以包括如下一个或多个模块:订阅服务、蓝牙应用程序(bluetooth application,BT APP)、或蓝牙驱动(bluetooth driver,BT driver)。

蓝牙芯片可以包括如下一个或多个模块:转换(translation switch)模块、或扫描滤波器(scan filter)模块。转换模块、扫描滤波器模块的具体实现可以参照现有的蓝牙技术,在此不作赘述。

AP与蓝牙芯片之间可以通过通用异步收发传输器(universal asynchronous receiver transmitter,UART)进行数据通信。SensorHub与蓝牙芯片之间可以通过内置集成电路(inter integrated circuit,I2C)进行数据通信,或者可以通过改进型内部集成电路(improved inter integrated circuit,I3C)进行数据通信。

具体地,应用程序层中可以包括如下一个或多个程序:总线服务、智慧生活、快递、或视频等。

应用框架层中可以包括如下一个或多个框架模块:蓝牙框架(bluetooth framework,BT FW)、WiFi框架(WiFi framework,WiFi FW)、或传感器框架(sensor framework,Sensor FW)等。

硬件抽象层中可以包括如下一个或多个硬件抽象模块:蓝牙硬件抽象(bluetooth hardware abstraction layer,BT HAL)、WiFi硬件抽象(WiFi hardware abstraction layer,WiFi HAL)、或传感器硬件抽象(sensor hardware abstraction layer,Sensor HAL)等。

内核层中可以包括如下一个或多个驱动模块:蓝牙驱动(bluetooth driver,BT driver)、WiFi驱动(WiFi driver)、或传感器驱动(Sensor driver)等。

在本申请实施例中,AP中的程序可以生成各种同步数据,例如,快递程序可以生成包括快递派送时间、快递派送地址、快递派送人等数据的同步数据,视频程序可以生成包括剧集名称、剧集进度、视频等数据的同步数据。总线服务可以获取AP中的程序所生成的同步数据。

总线服务还可以与SensorHub进行数据通信。例如,当总线服务需要向SensorHub发送同步数据时,总线服务可以通过依次调用Sensor Driver、Sensor HAL、Sensor FW,以向SensorHub发送该同步数据。或者例如,当SensorHub需要向总线服务发送同步数据时,SensorHub可以通过依次调用Sensor Driver、Sensor HAL、Sensor FW,以向总线服务发送该同步数据,进而实现总线服务与SensorHub进行数据通信的目的。

上述SensorHub在接收到来自AP的数据后,可以向其他设备发送该数据。例如,当SensorHub接收到来自AP的同步数据时,SensorHub可以控制蓝牙芯片进行BLE扫描和BLE广播,发现第二设备。在发现第二设备后,第一设备可以与第二设备建立通信连接(该通信连接的方式可以包括:WiFi连接、蓝牙连接等),然后向第二设备发送该同步数据。另外,上述SensorHub也可以接收来自其他设备的数据,并向AP发送该数据。例如,当SensorHub接收到来自第二设备的同步数据时,SensorHub可以向AP发送该同步数据。也即是说,SensorHub通过控制蓝牙芯片可以与其他设备进行数据通信。

基于上述总线服务、SensorHub的功能描述,可以理解,为了实现向其他设备发送该同步数据的功能,总线服务在获取到AP中的程序所生成的同步数据后,可以向SensorHub发送该同步数据,然后由SensorHub向其他设备发送该同步数据。类似地,为了实现接收来自其他设备的同步数据的功能,SensorHub可以接收来自其他设备的同步数据,然后转发给AP。

可选地,当SensorHub接收到来自AP的数据时,上述订阅服务可以保存该数据。当SensorHub接收到来自其他设备的数据时,上述订阅服务也可以保存该数据。

在一些可能的实施例中,订阅服务还可以存储下述订阅参数。其中,该订阅参数可以参照下述方法实施例中S402-3的解释说明,在此不作赘述。

需要说明的是,上述实施例提供的设备系统架构可以是图2所示无线通信系统中第一设备的设备系统架构,也可以是第二设备的设备系统架构,本申请实施例对此不作限定。

可选地,基于上述图3所示的设备系统架构,本申请实施例还提供了一种设备的业务框架示意图,请参照图4。该业务框架可以包括如下一个或多个模块:AP、SensorHub、或蓝牙芯片。

其中,AP中可以包括如下一个或多个程序:快递、视频、智慧生活、或总线服务等。具体地,智慧生活中可以包括如下子模块:用户体验(user experience,UX)显示模块、内容服务(content service,CS)模块、分发服务(distribute service,DS)模块。

SensorHub中可以包括如下一个或多个模块:应用管理模块、通信管理(communication management)模块、或板级支持包(Board Support Package,BSP)模块。具体地,应用管理模块中可以包括如下子模块:通知(Notify)模块、数据更新(data update)模块。

本申请实施例中,内容服务模块可以用于检测并获取AP中的程序所生成的同步数据,以及还可以用于向分发服务模块发送该同步数据。分发服务模块在接收到来自内容服务模块的同步数据后,可以向总线服务发送该同步数据。

通信管理模块中可以封装有通信协议,可以用于控制蓝牙芯片进行BLE扫描和BLE广播,进而实现向其他设备发送数据或接受来自其他设备的数据。

数据更新模块可以用于存储来自其他设备的同步数据,以及可以用于存储来自AP的同步数据。通知模块可以用于向其他设备发送同步数据,以及可以用于向AP发送接收到的同步数据。示例性地,当SensorHub接收到来自总线服务的同步数据时,可以将该同步数据存储至数据更新模块,然后由通知模块调用通信管理模块和板级支持包模块,向第二设备发送该同步数据。当SensorHub接收到来自第二设备的同步数据时,也可以将该同步数据存储至数据更新模块,然后由通知模块调用通信管理模块和板级支持包模块,向总线服务发送该同步数据。

可选地,AP在接收到来自SensorHub的数据后,还可以输出该数据。例如,用户体验显示模块可以控制第一设备的显示器显示该数据(如在显示界面弹出通知栏),或者控制第一设备的扬声器播放该数据。

需要说明的是,第一设备与第二设备之间的通信连接方式不限于蓝牙连接,还可以是WiFi连接、第4代移动通信连接、第5代移动通信连接等,本申请实施例对此不作限定。另外,第一设备和第二设备内部的连接方式也不仅限于UART、I2C或I3C,本申请实施例对此不作限定。

还需要说明的是,本实施例中的业务框架未提及的部分,可参考上述设备系统架构实施例中相应内容,在此不作赘述。

还需要说明的是,本申请实施例提供的下述数据同步方法,在一些可能的实施例中,第一设备所执行的步骤可由第二设备执行,第二设备执行的步骤可由第一设备执行,即本申请实施例中的第一设备和第二设备地位相同,两者在执行本实施例提供的方法时可以互换执行。示例性地,第一设备可以接收第二设备发送的同步数据,也可以向第二设备发送同步数据。

应当指出的是,本申请实施例中的方案还可以应用于其他通信系统中,相应的名称也可以用其他通信系统中的对应功能的名称进行替代。

应理解,图2仅为便于理解而示例的简化示意图,该无线通信系统中还可以包括其他网络设备,和/或,其他终端设备,图2中未予以画出。

下面将结合图5-图6对本申请实施例提供的数据同步方法进行具体阐述。

图5为本申请实施例提供的数据同步方法的流程示意图一。该方法应用于第一设备和第二设备。其中,第一设备包括第一数据同步器和第一处理器,第二设备包括第二数据同步器和第二处理器。

如图5所示,该方法包括如下步骤S501-S503:

S501,第二处理器向第二数据同步器发送同步数据,第二数据同步器接收来自第二处理器的同步数据。

其中,同步数据可以包括如下一项或多项:日程数据、行程数据、快递数据、视频数据、音乐数据、相册数据、或待阅读数据等。

示例性地,日程数据可以包括日程时间、日程内容等。行程数据可以包括行程内容、行程时间、行程建议等。快递数据可以包括快递派送时间、快递派送地址、快递派送人等。视频数据可以包括剧集名称、剧集进度、视频等。音乐数据可以包括音乐应用程序的播放记录、音乐等。相册数据可以包括相册预览、最近拍摄的图像等。待阅读数据可以包括待阅读的简介、待阅读的链接等。

另外,上述日程数据、行程数据、快递数据、视频数据、音乐数据、相册数据、或待阅读数据均还可以包括设备标识码。例如,该设备标识码可以包括如下一项或多项:设备的媒体访问控制(media access control,MAC)地址、互联网协议(internet protocol,IP)地址、或设备名称等。应理解,在同步数据中设置设备标识码,可以使得第一设备输出该同步数据时,能够提醒用户是哪个设备发送了该同步数据,以便用户确定下一操作,进而提升用户体验。

需要说明的是,本申请实施例对于日程数据、行程数据、快递数据、视频数据、音乐数据、相册数据、或待阅读数据等均不作具体限定。

S502,第二数据同步器向第一数据同步器发送同步数据,第一数据同步器接收来自第二数据同步器的同步数据。

具体地,在第二数据同步器接收到来自第二处理器的同步数据后,第二数据同步器可以立即或稍后向第一数据同步器发送同步数据。因此,第二处理器不必实时地向第一设备发送同步数据。进而,在第二数据同步器向第一数据同步器发送同步数据的过程中,第二处理器可以处于休眠状态,也可以处于工作状态。如此,在第二数据同步器向第一数据同步器发送同步数据的过程中,第二处理器可以选择进入休眠状态以降低设备功耗,或者处理其他数据,以提高设备的运行效率。

为了达到降低设备功耗的目的,可选地,在上述S502中,第二数据同步器向第一数据同步器发送同步数据,可以包括如下步骤:

S502-1,在第二处理器处于休眠状态下,第二数据同步器向第一数据同步器发送同步数据。

其中,休眠状态可以是第二处理器处于低功耗运行状态,例如,第二处理器处于待机、休眠、或睡眠等状态。也即是说,上述的休眠状态可以包括:待机、休眠、或睡眠等。

在第二数据同步器接收到来自第二处理器的同步数据后,第二数据同步器可以首先确认第二处理器是否处于休眠状态。第二数据同步器在确认第二处理器处于休眠状态时,即向第一数据同步器发送同步数据。

其中,第二数据同步器确认第二处理器的状态的方式可以是:第二数据同步器在接收到来自第二处理器的同步数据并达到第一时间段后(例如,5秒),确认第二处理器处于休眠状态;或者,第二数据同步器在接收到来自第二处理器的休眠消息时,即可确认第二处理器处于休眠状态;或者,第二数据同步器在接收到来自第二处理器的同步数据后,向第二处理器发送启动休眠信息(用于指示第二处理器进入休眠状态),并确认第二处理器处于休眠状态。

需要说明的是,第二处理器进入休眠状态的方式可以是:在向第二数据同步器发送同步数据第二时间段后,第二处理器进入休眠状态;或者在接收到第二数据处理器发送的启动休眠信息后,第二处理器进入休眠状态。可以理解,本申请实施例对于第二处理器进入休眠状态的方式不作具体限定。

应理解,第二设备在向第一设备发送同步数据的过程中,第二处理器向第二数据同步器发送同步数据后即可进入休眠状态,然后由第二数据同步器向第一数据同步器发送同步数据。如此,更能够降低设备的功耗,延长设备的待机时间,减少设备的电量消耗,提升用户体验。

另外,在一些可能的实施例中,为了进一步降低设备的功耗,第二数据同步器还可以在第二处理器处于关闭状态下,向第一数据同步器发送同步数据。也即是说,在第二处理器处于休眠状态或关闭状态下,第二数据同步器向第一数据同步器发送同步数据。

类似地,第一设备在接收第二设备发送的同步数据过程中,由于是由第一数据同步器接收来自第二数据同步器的同步数据的,因此,第一处理器也不必实时地接收第二设备发送的同步数据。进而,在第一数据同步器接收来自第二数据同步器的同步数据的过程中,第一处理器可以处于休眠状态,也可以处于工作状态。如此,在第一数据同步器接收来自第二数据同步器的同步数据的过程中,第一处理器可以选择进入休眠状态以降低设备功耗,或者处理其他数据,以提高设备的运行效率。

进而可选地,为了达到降低设备功耗的目的,在上述S502中,第一数据同步器接收来自第二数据同步器的同步数据,可以包括如下子步骤:

S502-2,在第一处理器处于休眠状态下,第一数据同步器接收来自第二数据同步器的同步数据。

与S502-1类似,上述的休眠状态可以是指第一处理器处于低功耗运行状态,例如,第一处理器处于待机、休眠、或睡眠等状态。也即是说,上述的休眠状态可以包括:待机、休眠、或睡眠等。

应理解,第一设备在接收第二设备发送的同步数据过程中,在第一处理器处于休眠状态下,由第一数据同步器接收来自第二数据同步器的同步数据。如此,更能够降低设备的功耗,延长设备的待机时间,减少设备的电量消耗,提升用户体验。

另外需要补充的是,在一些可能的实施例中,为了进一步降低设备的功耗,还可以在第一处理器处于关闭状态下,第一数据同步器接收来自第二数据同步器的同步数据。也即是说,在第一处理器处于休眠状态或关闭状态下,第一数据同步器接收来自第二数据同步器的同步数据。

基于上述S502所示的步骤,还应理解,第一设备在接收第二设备发送的同步数据过程中,第一处理器只需接收第一数据同步器发送的同步数据,第二处理器也只需将同步数据发送给第二数据同步器,从而两个处理器均不必频繁地处于工作状态,也不必频繁地建立通信连接,并且本地数据传送速度更快。如此,本申请实施例还能够提高设备与设备之间数据同步效率。

可选地,在上述S502中,第二数据同步器向第一设备发送同步数据,可以包括如下子步骤:

S502-3,第二数据同步器根据订阅参数向第一设备发送同步数据。

其中,订阅参数用于第一设备获取来自第二设备的同步数据。

上述订阅参数可以包括如下一项或多项:第一设备标识码、第二设备标识码、或同步数据的订阅信息。

上述第一设备标识码、第二设备标识码可以参照S501中对于设备标识码的解释说明,在此不作赘述。

上述同步数据的订阅信息用于指示需要获取的同步数据。例如,该同步数据的订阅信息可以是指示需要获取如下一项或多项数据:日程数据、行程数据、快递数据、视频数据、音乐数据、相册数据、或待阅读数据等,本申请实施例对此不作具体限定。其中,日程数据、行程数据、快递数据、视频数据、音乐数据、相册数据、或待阅读数据等的具体解释说明可以参照上述S501中相应记载,在此不作赘述。

在第一设备请求第二设备发送同步数据的过程中,示例性地,假设订阅参数中包括有第一设备标识码和同步数据的订阅信息,且该同步数据的订阅信息用于指示需要获取视频数据,则第二数据同步器可以根据该订阅参数向第一设备发送视频数据(例如,用户观看视频的剧集名称、剧集进度等)。

可以理解,设备与设备之间在进行数据同步的过程中,首先需要建立互相之间的订阅关系。以第一设备需要获取第二设备的同步数据为例,首先,第一设备向第二设备发送用于指示第二设备反馈同步数据的指示信息。然后,第二设备根据该指示信息向第一设备发送同步数据。其中,该指示信息可理解为上述的订阅参数。

也即是说,设备与设备建立互相之间的订阅关系的过程可以是:请求同步数据的设备向被请求同步数据的设备发送订阅参数。示例性地,在第一设备请求第二设备发送同步数据的过程中,第一设备可以理解为请求同步数据的设备,第二设备可以理解为被请求同步数据的设备。由此,第一设备与第二设备建立订阅关系的过程是:第一设备向第二设备发送订阅参数,第二设备接收订阅参数。

进而可选地,在S502-3,第二数据同步器根据订阅参数向第一设备发送同步数据之前,图5所示的数据同步方法还可以包括如下子步骤:

S502-4,第二数据同步器接收来自第一设备的订阅参数。

可选地,在S502-4,第二数据同步器接收来自第一设备的订阅参数之后,图5所示的数据同步方法还可以包括如下子步骤:

S502-5,第二数据同步器向第二处理器发送订阅参数。

应理解,S502-4,S502-5这两个步骤对应第一设备与第二设备建立订阅关系的过程。

可选地,在S502-5,第二数据同步器向第二处理器发送订阅参数之前,图5所示的数据同步方法还可以包括如下子步骤:

S502-6,若第二数据同步器存储有同步数据,第二数据同步器根据订阅参数向第一设备发送第二数据同步器存储的同步数据。

示例性地,假设订阅参数中的同步数据的订阅信息指示需要获取视频数据,而在第二数据同步器中正好存储有视频数据。在此情况下,第二数据同步器在向第二处理器发送订阅参数之前,可以根据该订阅参数先向第一设备发送该视频数据。

应理解,这可以使得第二数据同步器在已经存储有同步数据的情况下,及时将同步数据发送给第一设备,减少数据同步时间,以进一步提高数据同步效率。

可选地,在S502-5,第二数据同步器向第二处理器发送订阅参数之前,图5所示的数据同步方法还可以包括如下子步骤S502-7,S502-8之一:

S502-7,若第二处理器处于休眠状态,则第二数据同步器唤醒第二处理器。

S502-8,若第二处理器处于休眠状态,则第二数据同步器等待第二处理器唤醒。

如此,若第二数据同步器主动唤醒第二处理器,则第二数据同步器可以及时将订阅参数发送给第二处理器,以使得第二设备及时地将同步数据反馈给第一设备,进一步提高数据同步效率。

还应理解,若第二数据同步器等待第二处理器唤醒,则在等待第二处理器唤醒的过程中,第二数据同步器可以尽可能多地接收同步数据,以提高同步数据的数据量和完整程度。另外,也可以减少第二处理器的唤醒频率,从而减少第二处理器接收同步数据的次数,以节省第二处理器的计算资源,进一步降低设备功耗,提高设备运行的总体效率。

需要说明的是,为了进一步提高数据同步效率,可选地,图5所示的数据同步方法还可以包括如下子步骤:

S502-9,第二处理器接收到来自第二数据同步器的订阅参数,并根据订阅参数获取应用程序生成的同步数据,以及向第二数据同步器发送同步数据。

示例性地,假设订阅参数中的同步数据的订阅信息指示需要获取视频数据,则第二处理器在接收到该订阅参数后可以监控视频应用程序是否生成新的视频数据。若视频应用程序生成了新的视频数据,则第二处理器获取该视频数据,并作为同步数据发送给第二数据同步器。

如此,第二设备可以及时向第一设备发送应用程序生成的同步数据,进一步提高数据同步效率。

在本申请实施例中,关于上述S502-3,S502-4,S502-5,S502-6,S502-7,S502-8,S502-9中基于订阅参数建立订阅关系的流程的实现,可以参照下述S604-S609,在此不作赘述。

其中,需要说明的是,上述S502-6可以在S502-7和S502-8之前执行,也可以在S502-7和S502-8之后执行,本申请实施例对此不作限定。

S503,第一数据同步器向第一处理器发送同步数据,第一处理器接收来自第一数据同步器的同步数据。

由于在第一数据同步器接收来自第二数据同步器的同步数据的过程中,第一处理器可以处于休眠状态,也可以处于工作状态。因此,当第一数据同步器向第一处理器发送同步数据时,第一处理器可能处于休眠状态,也可能处于工作状态。

需要说明的是,第一处理器处于工作状态时才能接收到来自第一数据同步器的同步数据。因此,第一数据同步器可以首先检测第一处理器是否处于工作状态,在第一处理器处于工作状态下向第一处理器发送同步数据。

在一种可能的设计中,为了进一步提高数据同步效率,上述S503中,第一数据同步器向第一处理器发送同步数据,可以包括如下子步骤:

S503-1,若第一数据同步器检测到第一处理器处于工作状态,则第一数据同步器向第一处理器发送同步数据。

应理解,在第一处理器唤醒(包括主动唤醒和被动唤醒)时,第一数据同步器可以及时将同步数据发送给第一处理器,减少数据同步时间,进而提高了数据同步效率。

在另一种可能的设计中,为了解决数据同步过程中的可靠性问题,上述S503中,第一数据同步器向第一处理器发送同步数据,可以包括如下子步骤:

S503-2,第一数据同步器接收来自第一处理器的同步指令,并根据同步指令向第一处理器发送同步数据。

其中,同步指令用于获取来自第二设备的同步数据。

在第一设备请求第二设备发送同步数据的过程中,由于第一处理器并不直接感知第一数据同步器是否已经接收到了来自第二设备的同步数据,因此,为了确保第一设备可靠稳定地接收第二设备的同步数据,第一处理器可以生成同步指令(指示第一数据同步器反馈第二设备的同步数据的指令),并向第一数据同步器发送同步指令,以便及时接收到第一数据同步器反馈的同步数据,尽快完成数据同步过程。

需要说明的是,第一处理器生成同步指令的方式可以是,在每次唤醒时,生成同步指令。或者是,在工作状态时,间隔第三时间段生成同步指令。本申请实施例对此不作限定。

此外,上述第一时间段、第二时间段和第三时间段的长度可以相同,也可以不同,本申请实施例对此不作限定。

可以理解,第一处理器可以向第一数据同步器发送同步指令,进而主动地从第一数据同步器处获取到来自第二设备的同步数据,提高数据同步的可靠性。

其中,需要说明的是,上述S503-1可以在S503-2之前执行,也可以在S503-2之后执行,本申请实施例对此不作限定。

可选地,在S503之前,图5所示的数据同步方法还可以包括如下步骤:

S503-3,若第一数据同步器检测到第一处理器处于休眠状态,则第一数据同步器主动唤醒第一处理器。

应理解,在第一处理器休眠时,第一数据同步器可以主动将其唤醒,并将同步数据快速及时地发送给第一处理器,进一步提高数据同步效率。

可选地,图5所示的数据同步方法还可以包括如下步骤:

S503-4,第一数据同步器接收来自第一处理器的订阅参数,并向第二设备发送订阅参数。

其中,订阅参数用于第一设备获取来自第二设备的同步数据。

应理解,第二设备可以根据第一设备的需求提供同步数据,即第一设备可以定制同步数据,以减少不必要的数据同步操作,从而进一步提高数据同步效率。

在本申请实施例中,关于上述S503-4中,基于订阅参数建立订阅关系的流程的实现,可以参照下述S601-S603,在此不作赘述。

可选地,图5所示的数据同步方法还可以包括如下步骤:

S503-5,第一处理器输出同步数据。

示例性地,第一处理器可以控制第一设备的显示器显示同步数据,或者控制第一设备的扬声器播放同步数据。如此,第一设备可以提醒用户查看上述第一处理器输出的同步数据,以便用户确定下一操作,从而提升用户体验。

下面,以图2中所示出的无线通信系统为例,详细说明本申请实施例提供的数据同步方法在实际应用中的实现过程。

其中,第一设备和第二设备的系统架构均可以是图3中所示的设备系统架构,具体地,第一设备中的第一处理器可以是第一AP,第一数据同步器可以是第一SensorHub,第二设备中的第二处理器可以是第二AP,第二数据同步器可以是第二SensorHub。第一AP中可以包括第一应用程序和第一总线服务,第二AP中可以包括第二应用程序和第二总线服务。其中,第一应用程序可以是第一AP的应用程序层中的一个程序(如,智慧生活、同步程序等),第二应用程序可以是第二AP的应用程序层中的一个程序(如,快递、视频、行程等),本申请实施例对此不作限定。

示例性地,图6为本申请实施例提供的数据同步方法的流程示意图二。该数据同步方法可以适用于图2中所示出的无线通信系统中,可以实现图5中所示出的数据同步方法。

如图6所示,该数据同步方法包括基于订阅参数建立订阅关系的流程和同步数据的同步流程,分别参考下述S601-S609和S610-S616:

S601,第一应用程序向第一总线服务发送订阅参数。

其中,订阅参数用于第一设备获取来自第二设备的同步数据。

本申请实施例中,第一应用程序可以生成订阅参数,并向第一总线服务发送该订阅参数。第一应用程序生成订阅参数的方式可以如下:

首先,第二设备向第一设备发送可订阅程序信息。该可订阅程序信息可以表征第二设备中的一个或多个可生成同步数据的应用程序。例如,若第二设备中有如下几个可生成同步数据的应用程序,分别为:视频、行程、快递,则第二设备可以向第一设备发送表征“第二设备中可生成同步数据的应用程序包括:视频、行程、快递”的信息(即可订阅程序信息)。

然后,第一设备在接收到来自第二设备的可订阅程序数据后,第一应用程序可以输出该可订阅程序数据。示例性地,若可订阅程序信息表征“第二设备中可生成同步数据的应用程序包括:视频、行程、快递”,则第一应用程序可以控制第一设备的显示器显示文字信息“请选择订阅的第二设备的程序:A.视频、B.行程、C.快递”,或者控制第一设备的扬声器播放声音信息“请回答需要订阅的第二设备的程序:视频、行程、快递”。

最后,第一应用程序可以响应用户操作,根据用户操作确定用户选定的应用程序,并根据用户选定的应用程序生成订阅参数。例如,若可订阅程序信息表征“第二设备中可生成同步数据的应用程序包括:视频、行程、快递”,且用户选定的应用程序为“视频”,则第一应用程序可以生成包括“第二设备标识码、指示订阅视频的信息”的信息。指示订阅视频的信息表示第一设备需要获取第二设备的视频数据,即指示订阅视频的信息也可理解为上述的同步数据的订阅信息。

如此,第二设备可以将能够提供同步数据的应用程序发送给第一设备,第一设备可以输出第二设备的服务能力(即可订阅程序信息),以便用户根据需求对第二设备反馈的同步数据进行定制,以减少不必要的数据同步操作,从而进一步提高数据同步效率。

S602,第一总线服务接收来自第一应用程序的订阅参数,并向第一SensorHub发送该订阅参数。

可选地,第一总线服务在接收到订阅参数后,可以保存该订阅参数。如此,在后续的数据同步过程中,第一总线服务可以根据该订阅参数向第一SensorHub发送同步指令,以主动从第一SensorHub获取同步数据。例如,在工作状态下,第一总线服务可以周期性地向第一SensorHub发送同步指令,以周期性地从第一SensorHub获取同步数据。

可选地,第一总线服务在向第一SensorHub发送该订阅参数后,第一AP可以进入休眠状态。

S603,第一SensorHub接收来自第一总线服务的订阅参数,并向第二SensorHub发送该订阅参数。

可选地,第一SensorHub在接收到订阅参数后,可以保存该订阅参数。

S604,若第二SensorHub存储有同步数据,则第二SensorHub根据订阅参数向第一SensorHub发送该同步数据。

可选地,第二SensorHub在接收到订阅参数后,可以保存该订阅参数。如此,在后续的数据同步过程中,若第二SensorHub接收到新的需要发送给第一设备的同步数据,则可以直接根据该订阅参数向第一SensorHub发送该同步数据,而不必再次由第一设备发送订阅参数,进而减少数据同步的步骤,提高同步效率。

S605,若第二AP处于休眠状态,则第二SensorHub等待第二AP唤醒。

S606,若第二AP处于休眠状态,则第二SensorHub向第二AP发送唤醒指令,以主动唤醒第二AP。

S607,在第二AP处于工作状态时,第二SensorHub向第二总线服务发送订阅参数。

S608,第二总线服务接收来自第二SensorHub的订阅参数,并向第二应用程序发送该订阅参数。

S609,第二应用程序根据订阅参数获取第二应用程序生成的同步数据。

可选地,第二总线服务在接收到订阅参数后,可以保存该订阅参数。如此,在后续的数据同步过程中,第二总线服务可以根据该订阅参数向第二应用程序发送获取指令(用于指示获取第二应用程序生成的同步数据),以主动从第二应用程序获取同步数据。例如,在工作状态下,第二总线服务可以周期性地向第二应用程序发送获取指令,以周期性地从第二应用程序获取同步数据。

上述S601-S609为基于订阅参数建立订阅关系的流程,下面详细说明同步数据的同步流程。

如图6所示,同步数据的同步流程可以包括如下S610-S616:

S610,第二应用程序向第二总线服务发送同步数据。

可选地,第二应用程序在第二总线服务发送同步数据后,可以在生成新的同步数据时,主动向第二总线服务发送新的同步数据,如此能够将新生成的同步数据及时反馈给第一设备,提高数据同步效率。

S611,第二总线服务接收来自第二应用程序的同步数据,并向第二SensorHub发送该同步数据。

可选地,第二总线服务在向第二SensorHub发送同步数据后,第二AP可以进入休眠状态。

S612,第二SensorHub接收来自第二总线服务的同步数据,并向第一SensorHub发送该同步数据。

S613,第一总线服务向第一SensorHub发送同步指令。

其中,同步指令用于获取来自第二设备的同步数据。

进而可选地,若第一SensorHub接收到来自第一总线服务的同步指令,则可以根据该同步指令向第一处理器发送同步数据。

S614,若第一SensorHub检测到第一AP处于工作状态,则第一SensorHub向第一总线服务发送同步数据。

S615,第一总线服务接收来自第一SensorHub的同步数据,并向第一应用程序发送该同步数据。

S616,第一应用程序输出该同步数据。

可以理解,在执行完上述S601-S609后,由于第二SensorHub、第二总线服务和第二应用程序均接收到了来自第一设备的订阅参数,第二设备后续再有同步数据生成时,可以直接根据该订阅参数反馈给第一设备,即第一设备与第二设备之间已经基于订阅参数建立了订阅关系。也即是说,第一设备和第二设备之间在进行数据同步时,首先执行上述S601-S609,建立完第一设备和第二设备之间订阅关系后,后续第二设备的第二应用程序若有新的同步数据生成时,可直接执行S610-S616(不必再次执行S601-S609),以高效地进行数据的同步。

需要说明的是,图6示出的数据同步方法实施例中未提及的部分,可参考上述图5示出的数据同步方法实施例中相应内容,例如,S604可以参照S502-6,S605可以参照S502-8,S606可以参照S502-7,S609可以参照S502-9,S613可以参照S503-2,S614可以参照S503-1等等,在此不作赘述。

下面结合实际应用场景对上述方法实施例的有益效果作进一步阐述。

如下表1所示,表1示出了在实验室中,手机在不同场景、不同模块的同一测试过程的功耗。其中,表1采集自广播周期1秒,扫描占空比为10%(2.3毫安)的某品牌手机,该某品牌手机的测试时间10分钟,平均6秒收到一个广播,一次广播平均唤醒AP时间3.5秒。

表1

其中可以看到,在不同的运行场景下,“AP功耗增量”的功耗值均远远大于“SensorHub功耗增量”的功耗值。例如,在“手机1秒一个广播”的场景下,手机的测试时间为10分钟,平均6秒收到一个广播,一次广播平均唤醒AP时间3.5秒,期间“整机功耗”为34毫安,而“AP功耗增量”的功耗值为24.35毫安,“SensorHub功耗增量”的功耗值仅为0.008毫安。

显然,“使用数据同步器完成数据同步功能,不需要处理器参与”的方式可以极大地降低设备功耗,且设备不需频繁地唤醒AP,即,本申请实施例提供的数据同步方法可以降低设备与设备之间在进行数据的同步时的功耗。并且,由于设备与设备之间不需要重新建立通信连接,且AP与SensorHub之间的数据传输速度很快,因此,本申请实施例提供的方法还能够提高数据同步效率。

另外,SensorHub的电池端电流值的计算可以参照如下公式:

其中,在实际应用场景下,SensorHub工作电压可以为0.75V(伏特),SensorHub工作电流可以为11毫安,电池电压可以为3.8V,传输损失率的经验值可以为0.58。

因此,根据上述公式可以计算出SensorHub的电池端电流值为3.74毫安,而现有的数据同步技术需要的工作电流为49毫安。

进而,在实际应用中,由于SensorHub处理一次广播数据约2ms(毫秒),如果按10min(分钟)处理100次广播计算,则通过应用SensorHub实时地接收/发送同步数据(即应用上述图5或图6所示的方法实施例),设备增加的功耗约为:3.74*(0.002*100/600)=0.001毫安。

而若应用现有的数据同步技术来进行数据同步,由于现有的数据同步技术需要的工作电流为49毫安,则应用现有的数据同步技术时,设备增加的功耗约为:49*3.74*(0.002*100/600)=0.016毫安。

显然,相较于现有的数据同步技术,本申请实施例可以降低第一设备和第二设备的功耗,且提高数据同步效率。

应理解,基于图5-图6中任一项所示出的数据同步方法,第一设备的数据同步功能可以由第一数据同步器来完成,第二设备的数据同步功能可以由第二数据同步器来完成,即数据同步功能可以由数据同步器完成,且不需要处理器参与。如此,可以实现即使第一处理器处于休眠状态,第一数据同步器也可以从第二数据同步器实时地接收同步数据,并且即使第二处理器处于进入休眠状态,第二数据同步器也可以向第一设备发送同步数据。进而,本申请实施例可以降低第一设备和第二设备的功耗,且提高数据同步效率。

以上结合图5-图6详细说明了本申请实施例提供的数据同步方法。以下结合图7-图9详细说明用于执行本申请实施例提供的数据同步方法的通信装置。

示例性地,图7是本申请实施例提供的通信装置的结构示意图一。如图7所示,通信装置700包括:第一处理器701和第一数据同步器702。为了便于说明,图7仅示出了该通信装置的主要部件。

一些实施例中,通信装置700可适用于图2中所示出的无线通信系统中,执行图5或图6中所示出的数据同步方法中第一设备的功能。

其中,第一数据同步器702,用于接收来自第二设备的同步数据,并向第一处理器701发送同步数据。

一种可能的设计方案中,第一数据同步器702,用于在第一处理器701处于休眠状态下接收来自第二设备的同步数据,并在第一处理器701处于工作状态下向第一处理器701发送同步数据。

可选地,第一数据同步器702,用于若检测到第一处理器701处于工作状态,则向第一处理器701发送同步数据。

或者,可选地,第一数据同步器702,用于接收来自第一处理器701的同步指令,并根据同步指令向第一处理器701发送同步数据。其中,同步指令用于获取来自第二设备的同步数据。

另一种可能的设计方案中,第一数据同步器702,还用于在向第一处理器701发送同步数据之前,若检测到第一处理器701处于休眠状态,则主动唤醒第一处理器701。

又一种可能的设计方案中,第一数据同步器702,还用于接收来自第一处理器701的订阅参数,并向第二设备发送订阅参数。其中,订阅参数用于通信装置700获取来自第二设备的同步数据。

再一种可能的设计方案中,第一处理器701,还用于输出同步数据。

可选地,第一数据同步器702可以包括接收器和发送器(图7中未示出)。其中,第一数据同步器702用于实现通信装置700的发送功能和接收功能。

可选地,通信装置700还可以包括存储器(图7中未示出),该存储器存储有程序或指令。当第一处理器701、第一数据同步器702执行该程序或指令时,使得该通信装置700可以执行图5-图6中任一项所示出的数据同步方法中第一设备的功能。

应理解,通信装置700中涉及的第一处理器701可以由处理器或处理器相关电路组件实现,可以为处理器或处理单元;第一数据同步器702可以由收发器或收发器相关电路组件实现,可以为收发器或收发单元。

需要说明的是,通信装置700可以是终端设备或网络设备,也可以是可设置于终端设备或网络设备的芯片(系统)或其他部件或组件,还可以是包含终端设备或网络设备的装置,本申请对此不做限定。

此外,通信装置700的技术效果可以参考图5-图6中任一项所示出的数据同步方法的技术效果,此处不再赘述。

示例性地,图8是本申请实施例提供的通信装置的结构示意图二。如图8所示,通信装置800包括:第二处理器801和第二数据同步器802。为了便于说明,图8仅示出了通信装置800的主要部件。

一些实施例中,通信装置800可适用于图2中所示出的无线通信系统中,执行图5或图6中所示出的数据同步方法中第二设备的功能。

其中,第二数据同步器802,用于接收来自第二处理器801的同步数据,并向第一设备发送同步数据。

一种可能的设计方案中,第二数据同步器802,用于在第二处理器801处于休眠状态下,向第一设备发送同步数据。

可选地,第二数据同步器802,用于根据订阅参数向第一设备发送同步数据。其中,订阅参数用于第一设备获取来自通信装置800的同步数据。

进一步地,第二数据同步器802,还用于在根据订阅参数向第一设备发送同步数据之前,接收来自第一设备的订阅参数。

进一步地,第二数据同步器802,还用于在接收来自第一设备的订阅参数之后,向第二处理器801发送订阅参数。

进一步地,第二数据同步器802,还用于在向第二处理器801发送订阅参数之前,若存储有同步数据,则根据订阅参数向第一设备发送同步数据。

进一步地,第二数据同步器802,还用于在向第二处理器801发送订阅参数之前,若第二处理器801处于休眠状态,则唤醒第二处理器801;或者,第二数据同步器802,还用于在向第二处理器801发送订阅参数之前,若第二处理器801处于休眠状态,则等待第二处理器801唤醒。

另一种可能的设计方案中,第二处理器801,还用于接收到来自第二数据同步器802的订阅参数,并根据订阅参数获取应用程序生成的同步数据,以及向第二数据同步器802发送同步数据。

可选地,第二数据同步器802也可以称为收发器。该收发器可以包括接收器和发送器(图8中未示出)。其中,收发器用于实现通信装置800的发送功能和接收功能。

可选地,通信装置800还可以包括存储器(图8中未示出),该存储器存储有程序或指令。当第二处理器801、第二数据同步器802执行该程序或指令时,使得该通信装置800可以执行图5-图6中任一项所示出的数据同步方法中第二设备的功能。

应理解,通信装置800中涉及的第二处理器801可以由处理器或处理器相关电路组件实现,可以为处理器或处理单元;第二数据同步器802可以由收发器或收发器相关电路组件实现,可以为收发器或收发单元。

需要说明的是,通信装置800可以是终端设备或网络设备,也可以是可设置于终端设备或网络设备的芯片(系统)或其他部件或组件,还可以是包含终端设备或网络设备的装置,本申请对此不做限定。

此外,通信装置800的技术效果可以参考图5-图6中任一项所示出的数据同步方法的技术效果,此处不再赘述。

示例性地,图9为本申请实施例提供的通信装置的结构示意图三。该通信装置可以是终端设备或网络设备,也可以是可设置于终端设备或网络设备的芯片(系统)或其他部件或组件。如图9所示,通信装置900可以包括处理器901。可选地,通信装置900还可以包括存储器902和/或收发器903。其中,处理器901与存储器902和收发器903耦合,如可以通过通信总线连接。

下面结合图9对通信装置900的各个构成部件进行具体的介绍:

其中,处理器901是通信装置900的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器901是一个或多个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)。

可选地,处理器901可以通过运行或执行存储在存储器902内的软件程序,以及调用存储在存储器902内的数据,执行通信装置900的各种功能。

在具体的实现中,作为一种实施例,处理器901可以包括一个或多个CPU,例如图9中所示出的CPU0和CPU1。

在具体实现中,作为一种实施例,通信装置900也可以包括多个处理器,例如图9中所示的处理器901和处理器904。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。

其中,所述存储器902用于存储执行本申请方案的软件程序,并由处理器901来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。

可选地,存储器902可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器902可以和处理器901集成在一起,也可以独立存在,并通过通信装置900的接口电路(图9中未示出)与处理器901耦合,本申请实施例对此不作具体限定。

收发器903,用于与其他通信装置之间的通信。例如,通信装置900为终端设备,收发器903可以用于与网络设备通信,或者与另一个终端设备通信。又例如,通信装置900为网络设备,收发器903可以用于与终端设备通信,或者与另一个网络设备通信。

可选地,收发器903可以包括接收器和发送器(图9中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。

可选地,收发器903可以和处理器901集成在一起,也可以独立存在,并通过通信装置900的接口电路(图9中未示出)与处理器901耦合,本申请实施例对此不作具体限定。

需要说明的是,图9中示出的通信装置900的结构并不构成对该通信装置的限定,实际的通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

此外,通信装置900的技术效果可以参考上述方法实施例所述的数据同步方法的技术效果,此处不再赘述。

本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。

可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。

可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。

示例性的,该芯片系统可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。

本申请实施例提供一种通信系统。该通信系统包括上述第一设备和第二设备。

应理解,在本申请实施例中的处理器可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。

应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1