CN116847145A - 休眠唤醒方法及电子设备 - Google Patents
休眠唤醒方法及电子设备 Download PDFInfo
- Publication number
- CN116847145A CN116847145A CN202210299929.3A CN202210299929A CN116847145A CN 116847145 A CN116847145 A CN 116847145A CN 202210299929 A CN202210299929 A CN 202210299929A CN 116847145 A CN116847145 A CN 116847145A
- Authority
- CN
- China
- Prior art keywords
- service
- data
- state
- sleep
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000005059 dormancy Effects 0.000 title claims abstract description 61
- 230000007958 sleep Effects 0.000 claims description 321
- 238000004891 communication Methods 0.000 claims description 55
- 230000005540 biological transmission Effects 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000872 buffer Substances 0.000 description 69
- 238000007726 management method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000010295 mobile communication Methods 0.000 description 12
- 230000003993 interaction Effects 0.000 description 11
- 230000003139 buffering effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 206010062519 Poor quality sleep Diseases 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000004622 sleep time Effects 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 210000000988 bone and bone Anatomy 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000008454 sleep-wake cycle Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
- H04N21/43637—Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video stream to a specific local network, e.g. a Bluetooth® network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4432—Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请实施例提供一种休眠唤醒方法及电子设备,该方法包括:第一设备根据第一业务的业务特征生成第一休眠唤醒信息,第一休眠唤醒信息用于指示第一设备在休眠唤醒周期中的各个时间片上的休眠唤醒情况,第一休眠唤醒信息指示第一设备在休眠唤醒周期中的第一时间片处于唤醒状态;在第一时间片的预设时刻检测是否缓存了第一业务的数据;当检测到缓存了第一业务的第一数据时,在唤醒状态下向第二设备发送第一数据;当检测到未缓存第一业务的数据时,进入或保持休眠状态。采用本申请实施例能够让第一设备及时有效地休眠,降低设备功耗。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种休眠唤醒方法及电子设备。
背景技术
无线投屏技术的应用越来越广泛。例如,智能手机和智能电视通过无线保真(wireless fidelity,Wi-Fi)等无线通信方式连接时,用户可以将智能手机上的内容投屏至智能电视上显示。
无线投屏等业务场景中,智能手机等电子设备可以在没有待传输的数据时进行休眠,以降低设备功耗。但是,目前电子设备仍然无法有效休眠,例如,点对点(point topoint,P2P)技术的主要思想是群组拥有者(group owner,GO)缓存下行数据,群组访问者(group client,GC)休眠结束后会主动向GO发送请求来触发GO向GC发送下行数据。GO完全不休眠,GC基于信标(beacon)周期(即100毫秒)小概率休眠,导致设备功耗依然较高。
发明内容
本申请实施例公开了一种休眠唤醒方法及电子设备,可以避免没有待传输的数据时设备无法休眠的情况,即让设备及时有效地休眠,降低设备功耗。
第一方面,本申请实施例提供了一种休眠唤醒方法,应用于第一设备,该方法包括:根据第一业务的业务特征生成第一休眠唤醒信息,所述第一休眠唤醒信息用于指示所述第一设备在休眠唤醒周期中的各个时间片上的休眠唤醒情况,所述第一休眠唤醒信息指示所述第一设备在所述休眠唤醒周期中的第一时间片处于唤醒状态;在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据;当检测到缓存了所述第一业务的第一数据时,在所述唤醒状态下向第二设备发送所述第一数据;当检测到未缓存所述第一业务的数据时,进入或保持休眠状态。
在上述方法中,即使第一休眠唤醒信息指示在第一时间片处于唤醒状态,第一设备也可以在第一时间片的预设时刻,基于第一业务的数据缓存情况判断处于休眠状态或唤醒状态,也就是说,不局限于第一休眠唤醒信息的指示,第一设备可以结合第一业务的实际情况动态调整休眠唤醒情况,避免没有进行数据传输但仍然处于唤醒状态的情况,让第一设备得到及时有效的休眠,大大降低了第一设备的功耗。
在一种可能的实现方式中,该方法还包括:向所述第二设备发送所述第一数据之后,进入所述休眠状态。
在上述方法中,第一设备在唤醒状态下向第二设备发送第一数据之后,就可以进入休眠状态,进一步增加第一设备的休眠时长,降低第一设备的功耗。
在一种可能的实现方式中,所述第一时间片的预设时刻为所述第一时间片的起始时刻。
在上述方法中,第一设备可以在第一时间片的起始时刻,基于第一业务的数据缓存情况确定在第一时间片处于休眠状态或唤醒状态,也就是说,第一设备可以基于原有的时间维度动态调整休眠唤醒情况,降低处理难度,减少处理资源,从而进一步降低第一设备的功耗。
在一种可能的实现方式中,所述第一时间片包括多个子时间片,所述第一时间片的预设时刻为所述第一时间片中的第一子时间片的起始时刻,所述第一子时间片为所述多个子时间片中的任意一个子时间片。
在上述方法中,第一设备可以将第一时间片划分为多个子时间片,并在每个子时间片的起始时刻,基于第一业务的数据缓存情况确定在该子时间片处于休眠状态或唤醒状态。这样细化了休眠唤醒调度的颗粒度,能更好地适应于第一业务和链路的变化,并且增大了第一设备休眠的概率,进一步降低第一设备的功耗。
在一种可能的实现方式中,所述第一设备包括通信模块;所述唤醒状态是所述通信模块可以发送数据和接收数据的状态;所述休眠状态是所述通信模块无法发送数据和无法接收数据的状态,或者,所述休眠状态是所述通信模块可以接收数据但无法发送数据的状态。
例如,所述通信模块为无线保真Wi-Fi的系统级芯片SoC,所述唤醒状态为Wi-FiSoC的工作状态,所述休眠状态为Wi-Fi SoC的深睡状态(即所述通信模块无法发送数据和无法接收数据的状态)或浅睡状态(即所述通信模块可以接收数据但无法发送数据的状态)。
在一种可能的实现方式中,所述休眠状态是所述通信模块可以接收数据但无法发送数据的状态,所述方法还包括:当处于所述休眠状态时,接收到所述第二设备发送的第一信息;进入所述唤醒状态,并在所述唤醒状态下和所述第二设备进行数据传输。
在上述方法中,第一设备可以进入只收不发的休眠状态(例如Wi-Fi SoC的浅睡状态),在这种休眠状态下,第一设备可以在接收到第二设备发送的第一信息后快速唤醒,并在唤醒状态下和第二设备进行数据传输,也就是说,即使为了降低功耗进入休眠状态,第一设备也可以随时唤醒以传输数据,兼顾了业务的低时延和设备的低功耗,能更好地适应于第一业务和链路交互的变化,产品可用性更高。
在一种可能的实现方式中,所述休眠状态是所述通信模块可以接收数据但无法发送数据的状态,所述方法还包括:当处于所述休眠状态时,检测到所述第一业务的第二数据到达所述第一设备的缓存区;进入所述唤醒状态,并在所述唤醒状态下向所述第二设备发送所述第二数据。
在上述方法中,第一设备可以进入只收不发的休眠状态(例如Wi-Fi SoC的浅睡状态),在这种休眠状态下,第一设备可以在检测到第一业务的数据到达后快速唤醒,并在唤醒状态下向第二设备发送第一业务的数据,也就是说,即使为了降低功耗进入休眠状态,第一设备也可以随时唤醒以传输数据,兼顾了业务的低时延和设备的低功耗,能更好地适应于第一业务和链路交互的变化,产品可用性更高。
在一种可能的实现方式中,所述休眠唤醒周期包括N个时间片,N为大于2的整数,所述第一休眠唤醒信息包括第二时间片的第一指示信息,所述第二时间片为所述N个时间片中的任意一个时间片,所述第一指示信息用于指示所述第一设备在所述第二时间片处于所述唤醒状态或所述休眠状态。
在一种可能的实现方式中,所述第一休眠唤醒信息为位图bitmap,所述第一指示信息为所述第一休眠唤醒信息包括的比特bit。
在一种可能的实现方式中,所述在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据,包括:当所述第一业务为预设业务时,在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据,所述预设业务是业务数据以固定的周期到达所述第一设备的缓存区的业务;该方法还包括:当所述第一业务不为所述预设业务时,在所述第一时间片的起始时刻,进入或保持所述唤醒状态。
在上述方法中,针对业务数据以固定的周期到达第一设备的缓存区的预设业务,第一设备可以不局限于第一休眠唤醒信息的指示,结合第一业务的实际情况进行休眠唤醒的调度。而对于其他业务,第一设备可以直接基于第一休眠唤醒信息的指示进行休眠唤醒的调度。可以理解为是根据业务情况选择更适合当前业务的休眠唤醒方案,提供更优的整体性能,产品可用性更高。
第二方面,本申请提供了一种电子设备,包括:一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,该一个或多个存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,当该一个或多个处理器在执行该计算机指令时,使得该电子设备执行本申请实施例第一方面的任意一种实现方式提供的休眠唤醒方法。
第三方面,本申请提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得该电子设备执行本申请实施例第一方面的任意一种实现方式提供的休眠唤醒方法。
第四方面,本申请提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得该电子设备执行本申请实施例第一方面的任意一种实现方式提供的休眠唤醒方法。
第五方面,本申请提供了一种电子设备,包括一个或多个功能模块;该一个或多个功能模块用于执行本申请实施例第一方面的任意一种实现方式提供的休眠唤醒方法。
第六方面,本申请实施例提供一种电子设备,该电子设备包括执行本申请任一实施例所介绍的方法或装置。该电子设备例如为芯片。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
以下对本申请实施例用到的附图进行介绍。
图1A是本申请实施例提供的一种分布式系统的架构示意图;
图1B是本申请实施例提供的又一种分布式系统的架构示意图;
图2是本申请实施例提供的一种休眠唤醒调度表的示意图;
图3是本申请实施例提供的一种休眠唤醒的时域示意图;
图4是本申请实施例提供的一种电子设备的硬件结构示意图;
图5是本申请实施例提供的一种电子设备的软件架构示意图;
图6是本申请实施例提供的一种休眠唤醒方法的流程示意图;
图7是本申请实施例提供的又一种休眠唤醒的时域示意图;
图8是本申请实施例提供的一种休眠唤醒方法的流程示意图;
图9是本申请实施例提供的又一种休眠唤醒的时域示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
随着物联网技术的发展,越来越多的业务或应用希望通过多个设备协同工作实现。例如,为了提高用户的体验,提供了多屏协同功能(也可称为多设备协同功能),从而可支持多设备协同工作的应用与业务,例如多屏协同、信息共享等。示例性地,在多屏协同功能下,用户可以将智能手机上的内容投屏至智能电视的屏幕上显示,其中,智能手机和智能电视可以通过无线保真(wireless fidelity,Wi-Fi)等无线通信方式连接和传输视频流,可以简称为无线投屏。智能手机是无线投屏的源端,智能电视是无线投屏的接收端。无线投屏可以随时布置、无需穿孔布线、用户使用方便。
为了便于描述,在本申请实施例中,将依赖多设备协同工作的应用或业务统称为分布式业务。应理解,支撑分布式业务需要将手机、显示屏、平板电脑等多个电子设备连接在一起,实现多个设备间的一对一连接或一对多连接,甚至多对多连接,即多设备互联,从而使分布式业务在多个电子设备中协同运行。分布式业务例如但不限于包括无线投屏、扩展现实(extended reality,XR)等,其中,XR业务可以包括虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)和混合现实(mixed reality,MR)等。
进行分布式业务的数据传输(如无线投屏的视频流传输)时,电子设备可以在没有待传输的数据时进行休眠,以降低设备功耗。例如,点对点(point to point,P2P)技术的主要思想是接入点(access point,AP)缓存下行数据,站点(station,STA)休眠结束后会主动向AP发送请求来触发AP向STA发送下行数据。在802.11协议中的具体实施方案可以包括:AP在信标(beacon)帧中周期性广播AP的缓存区的情况。STA按照监听间隔(listen interval)在固定的beacon帧的起始时刻唤醒,来监听AP广播的beacon帧。如果STA监听到beacon帧,并从该beacon帧中确定AP缓存了该STA的数据,则可以向AP发送请求,否则休眠。AP接收到请求后可以向STA发送下行数据。基于P2P进行无线投屏时,AP和STA可以周期性(周期例如为16.7毫秒(ms))进行视频帧(例如I帧/P帧)的交互。
上述P2P技术可以理解为是基于中心节点的调度方式,其中,由AP作为中心节点来维护多个STA的连接。AP可以称为群组拥有者(group owner,GO),STA可以称为群组访问者(group client,GC)。可以理解地,P2P技术并不适用于多对多的网络拓扑,并且,GO完全不休眠,GC基于Beacon周期(例如100ms)小概率休眠,导致设备功耗依然较高。
本申请实施例提供了一种休眠唤醒方法,可以应用于分布式系统中的任意一个电子设备,能在不影响正常业务交互的前提下,尽可能节省该设备的功耗。
在一些实施例中,分布式系统可以是一对一连接或一对多连接的系统,例如基于P2P建立的分布式系统,具体示例可参见图1A。
图1A示例性示出了一种分布式系统的架构示意图。
如图1A所示,分布式系统10可以包括电子设备101、电子设备102和电子设备103,图1A以电子设备101和电子设备102为手机,电子设备103为平板电脑为例进行说明。电子设备101、电子设备102和电子设备103初始建链之后,电子设备103可以是GO,电子设备101和电子设备102均为GC。可以理解地,在基于P2P建立的分布式系统中,一个GO可对应一个GC,也可以对应多个GC,即GO和GC之间可以是一对一的关系,也可以是一对多的关系。例如,如图1A所示,电子设备103可以和电子设备101进行分布式业务,也可以和电子设备102进行分布式业务。
如果分布式业务存在于互联的任意两个GC之间,由于GC与GC之间不能互相通信,因此无法进行分布式业务。例如,如图1A所示,假设需要在电子设备101和电子设备102之间实现信息共享,但是由于电子设备101和电子设备102均为GC,那么受电子设备101和电子设备102充当的角色限制,需要断开电子设备102和电子设备103之间的连接,对电子设备101和电子设备102重新建链,以使得电子设备101为GO,从而实现与电子设备102之间的分布式业务,否则无法实现该分布式业务。可以理解地,一个设备的角色可以随着建链的变化而变化,例如,电子设备101在初始建链之后,角色为GC,再之后重新建链之后,角色为GO。
在另一些实施例中,分布式系统可以是一对一连接、或一对多连接、或多对多连接的系统。例如,设备间基于蓝牙、Wi-Fi等无线通信方式互相发现,并与发现的设备建立连接,再通过建立的通信通道协商彼此建立Wi-Fi直连通信的链路信息,基于该链路信息实现设备间的Wi-Fi直连通信,从而组成分布式系统。在这种分布式系统中,无需为各个设备分配具体的角色。设备间可以是一对一的关系,也可以是一对多的关系,还可以是多对多的关系,所建立的分布式系统中各个设备的角色对等。这样分布式业务可在任意设备间协同,不会因角色问题而使得分布式业务受限。分布式系统的示例可参见图1B。
图1B示例性示出了又一种分布式系统的架构示意图。
如图1B所示,分布式系统10可以包括电子设备104、电子设备105和电子设备106。图1B以电子设备104为手机、电子设备105为显示屏、电子设备106为智能眼镜为例进行说明。电子设备104、电子设备105和电子设备106中任意两个设备可以通过无线通信方式进行连接和通信,无线通信方式例如但不限于包括蓝牙、Wi-Fi、近距离无线通信技术(nearfield communication,NFC)、超宽带(ultra wide band,UWB)、红外技术(infrared,IR)、蜂窝通信网络等,蜂窝通信网络例如但不限于包括2G、3G、4G、5G、6G等。分布式业务可在任意设备间协同,如图1B所示,电子设备104、电子设备105和电子设备106中任意两个设备之间可以进行分布式业务,例如,电子设备104和电子设备105之间进行无线投屏,电子设备104和电子设备106之间进行XR业务,电子设备105和电子设备106之间进行信息共享,即不受角色冲突。
以电子设备104为例,电子设备104可通过蓝牙信道广播发现消息,该发现消息用于发现一个或多个设备,例如电子设备105和/或电子设备106。例如,电子设备105接收到该发现消息,可向电子设备104发送针对该发现消息的响应消息。电子设备104接收到该响应消息,可根据该响应消息与电子设备105建立蓝牙连接。依次类推,其他设备也可以与电子设备104建立蓝牙连接。电子设备104与各个设备建立蓝牙连接之后,可协商建立Wi-Fi直连通信的链路信息,并基于该链路信息彼此建立Wi-Fi直连通信,从而组成分布式系统10。
可以理解地,任意两个进行分布式业务的设备中,一个设备为提供业务数据的源端,也可称为源STA(source STA),另一个设备为接收业务数据的接收端,也可称为接收STA(sink STA)。
本申请实施例提供的休眠唤醒方法可以应用于多种场景,例如但不限于以下场景:
场景一,也称为保活场景,即互联的多个设备间没有业务数据的交互。例如,多个设备建立了连接,形成分布式系统。但是当前该分布式系统中的设备都没有需要进行的业务,自然无需设备间的数据交互。这种情况下,分布式系统中的任意设备都可以处于休眠状态,以尽量节约功耗。应理解,即使设备处于休眠状态,但是设备间的链路保持连接状态,以使得设备间可以保持一些数据(也就是保活的数据)的交互,例如小流量时延不敏感数据的交互,不会影响设备间正常工作。
场景二,也称为业务场景,即互联的多个设备间有业务数据的交互。例如智能手机为无线投屏的源端,智能电视为无线投屏的接收端,智能手机可以向智能电视投屏或者分享文件。这种情况下,可根据分布式系统中的各个设备的具体业务的形态,例如正在进行,或不进行等对各个设备独立地进行调度,以在不影响业务时延吞吐的前提下,使得各个设备尽可能多进入休眠,节约功耗。
场景三,也称为业务突发场景,即互联的多个设备间有突然业务产生。这种情况下,可灵活地调度分布式系统中的各个设备,使得突发业务的数据尽量较快地传输,且尽量不影响分布式系统整体的休眠。
可以理解地,在各种应用场景中,为了在不影响正常业务交互的前提下,尽可能节省设备的功耗,本申请实施例可以在时间维度上定义最小休眠唤醒时间(单位),例如以16ms的一个时隙(本申请中时隙也可称为时间片)为最小休眠唤醒时间,并以N个最小休眠唤醒时间作为休眠唤醒周期,其中,N为大于2的整数。本申请实施例还可以建立休眠唤醒调度表(本申请中休眠唤醒调度表也可称为休眠唤醒信息),休眠唤醒调度表可用于指示分布式系统中任意一个设备的休眠唤醒时间,例如,休眠唤醒调度表为1*N大小的位图(bitmap),N为休眠唤醒周期包括的时隙的个数。休眠唤醒调度表的应用示例如下所述:
建立数据传输链路的双方设备,可以根据分布式业务的流量特征,动态协商休眠唤醒调度表,具体流程可以包括:首先,分布式系统中的多个设备可以进行时间同步,例如,以多个设备中的主(master)设备的时间为基准进行同步,并将时间轴设置为以16ms为最小单位的时间片序列,其中,该时间片序列包括多个时间片,一个时间片的长度为最小单位的16ms,本申请中的时间片即为上述时隙。然后,每个设备可以根据连接和业务状态独立调度自身的休眠唤醒策略,并以bitmap的形式来标识在每个时间片是休眠状态或者工作状态(本申请中工作状态也可称为唤醒状态),可以理解为是,每个设备可以独立建立自身的休眠唤醒调度表,并在每个时间片上选择处于休眠状态或工作状态。基于休眠唤醒调度表主动进行分布式业务(数据的传输),无需事先发送请求以触发对方发送数据,相较于上述P2P来说,可减少设备间的信令开销,提高数据传输的效率,并且设备休眠的概率更高,从而降低设备的功耗。
以下实施例以休眠唤醒调度表指示进行分布式业务的源端(source STA)的休眠唤醒时间为例进行说明。
请参见图2,图2示例性示出一种休眠唤醒调度表的示意图。图2以休眠唤醒调度表为bitmap为例进行说明。
如图2所示,假设N为32,即一个休眠唤醒周期可以包括32个时隙(slot):slot1、slot2、…、slot32,其中,每个时隙为16ms。bitmap可以包括32个比特(bit),这32个bit在时间轴上分别对应上述32个时隙。bitmap中的任意一个bit存在一个取值(value),当取值为1时,指示source STA在该bit对应的时隙处于工作状态,可以正常收发数据;当取值为0时,指示source STA在该bit对应的时隙处于休眠状态,无法发送数据。例如,slot1至slot4对应的bit的value均为1,因此source STA在slot1至slot4均处于工作状态。slot5至slot32对应的bit的value均为0,因此source STA在slot5至slot32均处于休眠状态。
本申请中,电子设备处于工作状态时,可以正常收发数据;电子设备处于休眠状态时,无法发送数据,可选地也无法接收数据。在一些实施例中,上述工作状态或休眠状态为用于进行数据传输(例如分布式业务)的无线通信模块的状态。例如,电子设备的Wi-Fi芯片(如系统级芯片(system on chip,SoC))包括三种电源状态:工作状态(电流约为80毫安(milliampere,mA))、浅睡状态(电流约为16mA)和深睡状态(电流约为1mA)。其中,Wi-Fi芯片的工作状态即为上述电子设备的工作状态,Wi-Fi芯片的浅睡状态和深睡状态属于上述电子设备的休眠状态,电子设备处于浅睡状态时,可以接收数据但无法发送数据;电子设备处于深睡状态时,无法收发数据。
请参见图3,图3示例性示出一种休眠唤醒的时域示意图。图3以休眠唤醒调度表为图2所示的bitmap为例进行说明。图3以分布式业务的数据到达周期为16.67ms为例进行说明,其中,数据到达周期是分布式业务的数据包到达源端的缓存区(buffer)的周期。图3以休眠唤醒周期和数据到达周期的起始时刻相同为例进行说明。
如图3所示,分布式业务的数据到达周期为16.67ms,即从起始时刻t0开始,每隔16.67ms会有分布式业务的数据到达source STA的buffer。例如,在t0和t3时,分布式业务的数据包到达source STA的buffer,t3和t0的差值为16.67ms。
如图3所示,由于进行分布式业务的source STA的bitmap中,对应slot1的bit的取值为1,因此在slot1的起始时刻t0,source STA唤醒以处于工作状态,由于t0时buffer中有待传输的数据,因此source STA可以传输数据。在t1时,source STA传输数据结束。由于bitmap中对应slot2的bit的取值为1,因此在slot2的起始时刻t2,source STA仍然处于工作状态。在t3时,分布式业务的数据包到达source STA的buffer,处于工作状态的sourceSTA可以传输数据。在t4时,source STA传输数据结束。
图3示例了休眠唤醒周期中的slot1和slot2,以及分布式业务的一个数据到达周期,后续情况类似,不再赘述。
如图3所示,t1到t3之间,虽然source STA没有进行数据传输但仍然处于工作状态,没有及时有效地休眠,功耗依然较高。
本申请实施例提供了一种休眠唤醒方法,可以应用于分布式系统中任意一个电子设备,该电子设备可以在预设的唤醒时隙内的预设时刻检测buffer中是否有待传输的数据。若有待传输的数据,电子设备可以进行数据传输(处于工作状态),数据传输结束时进入休眠状态;若没有待传输的数据,电子设备可以进入休眠状态。电子设备可以在不影响正常业务交互的前提下,及时有效地休眠,从而尽可能节省分布式系统中任意一个设备的功耗。
其中,电子设备的buffer可以用于存储待传输的分布式业务的数据,例如但不限于无线投屏中的视频流、扩展现实(extended reality,XR)中的视频流等。在一些实施例中,buffer可以设置在电子设备的存储器内,在另一些实施例中,buffer可以独立于电子设备的存储器。
本申请实施例中涉及的电子设备可以是手机、平板电脑、手持计算机、个人数字助理(Personal Digital Assistant,PDA)等移动终端,智能电视、智能摄像头等智能家居设备,智能手环、智能手表、智能眼镜等可穿戴设备,或其他桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本、智慧屏等设备。本申请实施例对电子设备100的具体类型不作特殊限制。
接下来介绍本申请实施例中提供的示例性的电子设备,该电子设备可以是分布式系统中的任意一个电子设备。
请参见图4,图4示出了一种电子设备100的硬件结构示意图。
下面以电子设备100为例对实施例进行具体说明。应该理解的是,图4所示的电子设备100仅是一个范例,并且电子设备100可以具有比图4中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图4中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括处理器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等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现,例如用于和分布式系统中的其他电子设备进行连接和通信。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。
视频编解码器用于对数字视频压缩或解压缩。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。耳机接口170D用于连接有线耳机。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。陀螺仪传感器180B可以用于确定电子设备100的运动姿态。气压传感器180C用于测量气压。磁传感器180D可以用于检测翻盖皮套的开合。加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小,例如用于识别电子设备姿态。距离传感器180F,用于测量距离。环境光传感器180L用于感知环境光亮度。指纹传感器180H用于采集指纹,例如实现指纹解锁等。温度传感器180J用于检测温度。触摸传感器180K用于检测作用于其上或附近的触摸操作。骨传导传感器180M可以获取振动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。例如,分层架构的软件系统可以是安卓(Android)系统,也可以是鸿蒙(harmony)操作系统(operating system,OS)。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图5示例性示出一种电子设备100的软件架构示意图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,硬件抽象层、内核层和固件层。
应用程序层可以包括一系列应用程序包。应用程序包可以但不限于包括相机,日历,地图,音乐,短信息,图库,通话,视频,蓝牙,投屏应用等应用程序。图5示例性示出了投屏应用,其他应用程序未示出。
如图5所示,硬件抽象层可以包括场景识别模块和调度模块,可以用于实现应用场景/分布式业务的识别,以及本设备的休眠唤醒调度表的确定。场景识别模块可以提供解析应用程序层的命令的能力。应用程序层的应用程序(例如投屏应用)通过命令对场景/业务进行设置,场景识别模块可以通过解析该命令来确定当前的场景/业务。场景识别模块可以将解析结果(即确定的场景/业务)通知给调度模块。调度模块可以接收来自场景识别模块的用于指示场景/业务的信息,并基于该信息生成电子设备100的基本休眠唤醒情况(例如为休眠唤醒调度表)。调度模块可以将生成的基本休眠唤醒情况告知内核层的功耗管理模块。
如图5所示,内核层可以包括数据缓存模块和功耗管理模块。数据缓存模块可以用于管理缓存数据,例如,在休眠状态下,数据缓存模块可以缓存到达的数据。数据缓存模块还可以将特定场景/业务(例如为场景识别模块确定的场景/业务)的数据缓存情况告知功耗管理模块,在一些实施例中,数据缓存模块可以主动告知功耗管理模块对应的数据缓存情况,例如,有数据新到达数据缓存模块时,数据缓存模块主动告知功耗管理模块对应的数据缓存情况,又例如,数据缓存模块每隔预设时长主动告知功耗管理模块对应的数据缓存情况。在另一些实施例中,功耗管理模块可以主动查询数据缓存模块的数据缓存情况,数据缓存模块响应于该查询告知功耗管理模块对应的数据缓存情况。功耗管理模块可以用于管理电子设备100的休眠唤醒信息,例如,负责休眠唤醒信息的生成、更新和维护。功耗管理模块还可以为固件层的休眠唤醒模块提供休眠唤醒信息。
如图5所示,固件层可以包括休眠唤醒模块。休眠唤醒模块可以接收功耗管理模块发送的休眠唤醒信息,根据休眠唤醒信息来控制电子设备100的睡醒情况。其中,休眠唤醒信息可以包括休眠指令和/或唤醒指令,休眠唤醒模块可以根据休眠指令控制电子设备处于休眠状态,休眠唤醒模块可以根据唤醒指令控制电子设备处于工作状态。
接下来介绍本申请提供的休眠唤醒方法。该方法可以应用于图1A所示的分布式系统10中的任意一个电子设备。该方法可以应用于图1B所示的分布式系统10中的任意一个电子设备。该方法可以应用于图4所示的电子设备100。该方法可以应用于图5所示的电子设备100。
请参见图6,图6是本申请实施例提供的一种休眠唤醒方法的流程示意图。该方法包括但不限于如下步骤:
S101:第一设备识别第一业务,以得到业务识别结果。
在一些实施例中,第一业务为第一设备和第二设备间的分布式业务,例如但不限于为多屏协同、信息共享等。其中,第一设备和第二设备为分布式系统中的任意两个设备,可以通过无线通信方式连接和通信,无线通信方式例如但不限于包括蓝牙、Wi-Fi、NFC、UWB、IR、蜂窝通信网络等。第一设备和第二设备进行第一业务时,可以进行数据传输,例如无线投屏的视频流传输、XR的视频流传输等。其中,第一设备是提供第一业务的业务数据的源端,第二设备是接收第一业务的业务数据的接收端。
在一些实施例中,触发执行第一业务后,第一设备可以识别当前进行的第一业务(也可称为是识别当前的业务场景)。例如,第一设备为智能手机,智能手机播放视频时,可以接收针对投屏控件的用户操作,响应于该用户操作,将该视频投屏至智能电视(即上述第二设备)的屏幕上显示,并且,智能手机可以识别当前进行的无线投屏的业务。
在一些实施例中,第一设备为图5所示的电子设备100。触发执行第一业务后,应用程序层的应用可以通过约定的接口将第一业务的场景信息通知给场景识别模块,场景识别模块可以基于该场景信息进行识别,并将得到的业务识别结果通知给调度模块。在一些实施例中,若业务识别结果发生变化,例如,第一业务的场景信息发生变化导致业务识别结果发生变化,场景识别模块可以将最新的业务识别结果通知给调度模块。
在一些实施例中,第一设备可以预置场景模型,通过场景模型识别当前进行的第一业务,例如,将第一业务的场景信息作为场景模型的输入,得到输出的业务识别结果。
在一些实施例中,业务识别结果例如但不限于包括以下至少一项:第二设备的通讯地址(如蓝牙地址)、第一业务的数据到达周期、每秒传输的帧数、频率、业务类型、音频类型、视频类型、文件类型等。在一些实施例中,业务识别结果可以包括第一业务的业务特征。
S102:第一设备根据业务识别结果生成第一休眠唤醒调度表。
在一些实施例中,第一设备可以根据业务识别结果,对第一设备的休眠唤醒情况进行初步估计,以得到第一休眠唤醒调度表。例如,第一设备可以预先设置不同业务和休眠唤醒调度表的对应关系,基于该对应关系,确定和第一业务对应的第一休眠唤醒调度表。
在一些实施例中,当S103的判断结果为是时,即当第一业务为预设业务时,第一设备可以基于S102生成的第一休眠唤醒调度表执行S104。在另一些实施例中,当S103的判断结果为否时,即当第一业务不为预设业务时,第一设备可以基于S102生成的第一休眠唤醒调度表执行S112。
在一些实施例中,第一设备为图5所示的电子设备100。调度模块可以将第一休眠唤醒调度表作为链路的基本休眠唤醒时间片,发送至功耗管理模块。
在一些实施例中,第一休眠唤醒调度表也可称为第一休眠唤醒信息,第一休眠唤醒调度表用于指示第一设备在休眠唤醒周期中的各个时间片上的休眠唤醒情况(即处于唤醒状态或休眠状态),唤醒状态即为以上实施例所述的工作状态。其中,唤醒状态和休眠状态为第一设备中用于进行数据传输的通信模块的状态,例如,第一设备通过Wi-Fi芯片和第二设备进行第一业务,Wi-Fi芯片包括三种电源状态:工作状态(电流约为80mA)、浅睡状态(电流约为16mA)和深睡状态(电流约为1mA),其中,Wi-Fi芯片的工作状态即为上述第一设备的工作状态,Wi-Fi芯片的浅睡状态和深睡状态属于上述第一设备的休眠状态。
在一些实施例中,第一设备处于唤醒状态时,可以收发数据。第一设备处于休眠状态时,可以接收数据但无法发送数据,此时该休眠状态例如为上述浅睡状态;或者,第一设备处于休眠状态时,无法收发数据,此时该休眠状态例如为上述深睡状态。
在一些实施例中,第一休眠唤醒调度表的数据结构为一个bitmap,该bitmap包括N个bit,N为休眠唤醒周期包括的时隙的个数,N为大于2的整数。其中,第一休眠唤醒调度表对应休眠唤醒周期,可以包括:该bitmap中的每个bit对应休眠唤醒周期中的一个时隙,该bit可以用于指示第一设备在该时隙的休眠唤醒状态。例如,当该bit的值为1时,可以指示第一设备在该时隙进行唤醒(处于唤醒状态),该时隙可以称为唤醒时隙。当该bit的值为0时,可以指示第一设备在该时隙进行休眠(处于休眠状态),该时隙可以称为休眠时隙。本申请以休眠唤醒周期中的每个时隙为16ms为例进行说明。第一休眠唤醒调度表的示例可参见图2所示的休眠唤醒调度表。本申请以上述示例的bit为例进行说明,但可以理解的是,bit指示的意义也可以反过来,即bit的值为1时对应休眠时隙,bit的值为0时对应唤醒时隙。bit的值也可以不是0或1,例如bit的值是true或false。本申请对bit的取值和指示的意义不作限定。
S103:第一设备判断第一业务是否为预设业务。
在一些实施例中,预设业务是业务数据以固定的周期达到第一设备的buffer的业务,即预设业务是有固定的数据到达周期的业务,例如但不限于无线投屏,XR等。例如,无线投屏中,每秒传输视频帧的帧数为60帧时,数据到达周期为1000/60=16.67ms。例如,XR的数据包以60赫兹(Hz)的频率到达第一设备的buffer时,数据到达周期为1000/60=16.67ms。
在一些实施例中,当第一业务为预设业务时,第一设备可以同步休眠唤醒周期和第一业务的数据到达周期,即执行S104。在另一些实施例中,当第一业务不为预设业务时,第一设备可以直接基于第一休眠唤醒调度表进行休眠和唤醒的控制,即执行S112。
其中,S102和S103的顺序不作限定,例如可以是同时执行的。
S104:第一设备同步休眠唤醒周期和第一业务的数据到达周期。
在一些实施例中,第一业务为预设业务的情况下,第一设备可以将休眠唤醒周期的起始时刻设置为第一业务的数据到达周期中的第一数据到达时刻,数据到达时刻为第一业务的数据包到达第一设备的buffer的时刻。可选地,第一数据到达时刻可以是数据到达周期中距离第一设备执行S104的时刻最近的数据到达时刻,其中,第一数据到达时刻晚于或等于第一设备执行S104的时刻。例如,图3所示的时域示意图中,休眠唤醒周期中的第一个时隙(即slot1)的起始时刻t0,即为分布式业务的数据到达周期中的第一个数据到达时刻。
S105:第一设备判断当前是否处于休眠唤醒周期中的时隙的起始时刻。
在一些实施例中,第一设备进行第一业务时,可以在时间维度上基于休眠唤醒周期来进行休眠和唤醒的控制。第一设备可以判断当前是否处于休眠唤醒周期中的时隙的起始时刻,若判断结果为是,第一设备可以基于第一休眠唤醒调度表和第一业务的数据缓存情况进行休眠和唤醒的控制,具体可参见S106-S111的说明,否则继续判断。
S106:处于唤醒时隙的起始时刻时,第一设备判断缓存区(buffer)中是否有第一业务的数据。
在一些实施例中,若第一休眠唤醒调度表中对应当前时隙的bit指示该时隙为唤醒时隙,例如该bit的值为1,第一设备可以在该时隙的起始时刻判断buffer中是否有待传输的第一业务的数据。在一种情况下,若buffer中有待传输的第一业务的数据,第一设备可以处于唤醒状态,即执行S107。在另一种情况下,若buffer中没有待传输的第一业务的数据,第一设备可以处于休眠状态,即执行S110。
S107:第一设备进入或保持唤醒状态。
在一些实施例中,当第一设备处于唤醒时隙的起始时刻,并且buffer中有待传输的第一业务的数据时,第一设备可以进入或保持唤醒状态,以在唤醒状态下传输第一业务的数据。
在一些实施例中,若唤醒时隙的起始时刻之前第一设备处于休眠状态,则第一设备可以下发唤醒指令,以进入唤醒状态。在一些实施例中,第一设备为图5所示的电子设备100。功耗管理模块可以下发唤醒指令至休眠唤醒模块,休眠唤醒模块可以根据该唤醒指令控制第一设备处于唤醒状态,以使第一设备可以传输第一业务的数据。
S108:第一设备传输数据。
在一些实施例中,处于唤醒状态的第一设备可以在唤醒时隙内传输buffer中的第一业务的第一数据,例如,第一设备向第二设备发送第一业务的视频流。
S109:数据传输结束时,第一设备进入休眠状态。
在一些实施例中,当第一业务的第一数据传输完毕时,第一设备可以下发休眠指令,以进入休眠状态,避免没有进行数据传输但仍然处于唤醒状态的情况,及时有效地休眠,节省功耗。
S110:第一设备进入或保持休眠状态。
在一些实施例中,虽然第一设备处于唤醒时隙,但由于buffer中没有待传输的第一业务的数据,因此,第一设备可以进入或保持休眠状态而非唤醒状态,避免没有进行数据传输但仍然处于唤醒状态的情况,及时有效地休眠,节省功耗。可选地,可以理解为是根据第一业务的数据缓存情况,动态地调整第一休眠唤醒调度表。
在一些实施例中,若唤醒时隙的起始时刻之前第一设备处于唤醒状态,则第一设备可以下发休眠指令,以进入休眠状态。
S111:处于休眠时隙的起始时刻时,第一设备进入或保持休眠状态。
在一些实施例中,若第一休眠唤醒调度表中对应当前时隙的bit指示该时隙为休眠时隙,例如该bit的值为0,第一设备可以在该时隙的起始时刻进入或保持休眠状态。
在一些实施例中,若休眠时隙的起始时刻之前第一设备处于唤醒状态,则第一设备可以下发休眠指令,以进入休眠状态。
在一些实施例中,第一设备为图5所示的电子设备100。S109、S110和S111中的下发休眠指令可以包括:功耗管理模块可以下发休眠指令至休眠唤醒模块,休眠唤醒模块可以根据该休眠指令控制第一设备处于休眠状态,以节省功耗。
在一些实施例中,上述休眠状态为深睡状态或浅睡状态,深睡状态下第一设备无法收发数据,浅睡状态下第一设备可以接收数据但无法发送数据。上述休眠状态例如但不限于包括以下四种情况:
情况一,S109、S110和S111中的休眠状态均为深睡状态。
情况二,S109和S110中的休眠状态为浅睡状态,S111中的休眠状态为深睡状态。
情况三,S109中的休眠状态为浅睡状态,S110和S111中的休眠状态为深睡状态。
情况四,S110中的休眠状态为浅睡状态,S109和S111中的休眠状态为深睡状态。
在一些实施例中,第一设备处于浅睡状态时可以接收第二设备发送的信息。在一种情况下,第一设备接收到第二设备发送的信息后处于休眠状态,例如,第二设备接收到用于结束第一业务的用户操作时,向第一设备发送指示第一业务结束的信息。第一设备接收到第二设备发送的指示第一业务结束的信息时,仍然保持浅睡状态或进入深睡状态。在另一种情况下,第一设备接收到第二设备发送的信息后,下发唤醒指令,在唤醒状态下和第二设备传输数据,例如,第二设备检测到和第一设备之间的连接不稳定时,可以向第一设备发送请求信息,该请求信息用于请求获取第一设备的配置信息(例如包括第一设备支持的信道)。第一设备接收到第二设备发送的请求信息时,下发唤醒指令,在唤醒状态下向第二设备发送第一设备的配置信息,第二设备可以基于第一设备的配置信息切换和第一设备之间的通信信道。可选地,第一设备和第二设备传输数据结束时,第一设备可以下发休眠指令,进入浅睡状态或深睡状态。
在一些实施例中,第一设备处于浅睡状态时,可以检测到buffer中是否有待传输的第一业务的数据。在一种情况下,当第一设备检测到buffer中有待传输的第一业务的数据时,第一设备可以下发唤醒指令,在唤醒状态下向第二设备发送第一业务的数据。可选地,当第一业务的数据传输完毕时,第一设备可以下发休眠指令,进入浅睡状态或深睡状态。在另一种情况下,当第一设备检测到buffer中没有传输的第一业务的数据时,第一设备可以保持浅睡状态。
可以理解地,第一设备处于浅睡状态时下发唤醒指令,可以快速进入唤醒状态,即第一设备从浅睡状态切换为唤醒状态的速度比从深睡状态切换为唤醒状态的速度快,效率更高。
可以理解地,上述S106-S111为休眠唤醒周期中的一个时隙的休眠唤醒方法,因此S109、S110或者S111之后,第一设备可以继续判断是否到达下一个时隙的起始时刻,即执行S105,以继续进行下一个时隙的休眠唤醒方法。
S112:第一设备基于第一休眠唤醒调度表进行休眠和唤醒的控制。
在一些实施例中,第一业务不为预设业务时,第一设备可以直接按照第一休眠唤醒调度表的指示,下发休眠指令或唤醒指令。第一设备在唤醒时隙处于唤醒状态,在休眠时隙处于休眠状态,具体示例和图3所示实施例类似。
在一些实施例中,当第一业务结束时,例如第一设备接收到用于停止第一业务的用户操作时,第一设备可以停止执行图6所示的休眠唤醒方法。
本申请中,第二设备和第一设备进行第一业务时,可以根据第一业务的业务特征生成第二休眠唤醒调度表,并基于第二休眠唤醒调度表进行休眠和唤醒的控制,具体说明和图6的S101-S102和S112类似,不再赘述。
在图6所示的方法中,针对有固定的数据到达周期的第一业务,第一设备可以基于第一休眠唤醒调度表和第一业务的数据缓存情况,自适应地下发休眠指令和唤醒指令,不局限于第一休眠唤醒调度表的指示,而是结合实际业务情况动态进行调整,避免没有进行数据传输但仍然处于唤醒状态的情况,让第一设备及时有效地休眠,提供较优的整体性能。
接下来示例性介绍图6所示的方法的传输示例,具体可参见图7。
图7示例性示出又一种休眠唤醒的时域示意图。图7以第一休眠唤醒调度表为图2所示的bitmap为例进行说明。图7以第一业务的数据到达周期为16.67ms为例进行说明。
如图7所示,第一业务的数据包在时刻t0和t3到达第一设备的buffer,假设第一设备在时刻t0确定第一业务为预设业务,则可以将休眠唤醒周期的起始时刻设置为:距离当前时刻最近的数据到达时刻,即t0,以实现休眠唤醒周期和第一业务的数据到达周期的同步。
如图7所示,当第一设备处于休眠唤醒周期中的第一个时隙(slot1)的起始时刻t0时,根据第一设备的bitmap中对应slot1的bit的值(即1),确定slot1为唤醒时隙,因此,在该时隙的起始时刻t0时,第一设备可以监测buffer中是否有待传输的第一业务的数据,由于此时第一业务的数据包已经到达buffer(即buffer中有待传输的第一业务的数据),因此第一设备可以唤醒以处于工作状态,并且在工作状态下传输buffer中的第一业务的数据。在t1时,第一设备传输数据结束,可以休眠。t1至休眠唤醒周期中的第二个时隙(slot2)的起始时刻t2之间,第一设备可以处于休眠状态。
如图7所示,当第一设备处于休眠唤醒周期中的第二个时隙(slot2)的起始时刻t2时,根据bitmap中对应slot2的bit的值(即1),确定slot2为唤醒时隙,此时可以根据buffer的监测结果(即当前buffer中没有第一业务的数据)确定休眠。slot2内(即t2至t4之间),第一设备可以处于休眠状态。
如图7所示,当第一设备处于休眠唤醒周期中的第三个时隙(slot3)的起始时刻t4时,根据bitmap中对应slot3的bit的值(即1),确定slot3为唤醒时隙,此时可以根据buffer的监测结果(即当前buffer中有第一业务的数据)确定唤醒以处于工作状态,并且在工作状态下传输buffer中的第一业务的数据。在t5时,第一设备传输数据结束,可以休眠。
图7示例了休眠唤醒周期中的slot1、slot2和部分slot3,以及分布式业务的一个数据到达周期,后续情况类似,不再赘述。
在图7所示的时域示意图中,在唤醒时隙内,第一设备传输数据结束后就可以休眠,并且,在唤醒时隙的起始时刻确定buffer中没有第一业务的数据时,第一设备就可以在唤醒时隙内休眠,这样可以避免例如图3所示的t1到t3之间虽然source STA没有进行数据传输但仍然处于工作状态的情况,让第一设备及时有效地休眠,降低功耗。
请参见图8,图8是本申请实施例提供的又一种休眠唤醒方法的流程示意图。该方法包括但不限于如下步骤:
S201:第一设备识别第一业务,以得到业务识别结果。
S201和图6所示的S101类似,具体可参见图6所示的S101的说明。
S202:第一设备根据业务识别结果生成第一休眠唤醒调度表。
S202和图6所示的S102类似,具体可参见图6所示的S102的说明。
S203:第一设备判断第一业务是否为预设业务。
在一些实施例中,当第一业务为预设业务时,第一设备可以同步休眠唤醒周期和第一业务的数据到达周期,即执行S204。在另一些实施例中,当第一业务不为预设业务时,第一设备可以直接基于第一休眠唤醒调度表进行休眠和唤醒的控制,即执行S213。预设业务的说明可参见图6的S103中的预设业务的说明。
其中,S202和S203的顺序不作限定,例如可以是同时执行的。
S204:第一设备同步休眠唤醒周期和第一业务的数据到达周期。
S204和图6所示的S104类似,具体可参见图6所示的S104的说明。
S205:第一设备将休眠唤醒周期中的每个唤醒时隙划分为多个子唤醒时隙。
在一些实施例中,唤醒时隙是第一休眠唤醒调度表指示的第一设备处于唤醒状态的时隙,例如,第一休眠唤醒表中对应该时隙的bit的值为1时,该时隙为唤醒时隙。第一设备可以将休眠唤醒周期中的每个唤醒时隙划分为多个子时隙(可称为子唤醒时隙),例如,一个16ms的唤醒时隙划分为4个4ms的子唤醒时隙。本申请中的子时隙也可称为子时间片。
S206:第一设备判断是否处于休眠唤醒周期中的时隙或子时隙的起始时刻。
在一些实施例中,第一设备进行第一业务时,可以在时间维度上基于休眠唤醒周期来进行休眠和唤醒的控制。第一设备可以判断当前是否处于休眠唤醒周期中的时隙或子时隙的起始时刻,若判断结果为是,第一设备可以基于第一休眠唤醒调度表和第一业务的数据缓存情况进行休眠和唤醒的控制,具体可参见S207-S212,否则继续判断。
S207:处于子唤醒时隙的起始时刻时,第一设备判断缓存区(buffer)是否有第一业务的数据。
在一些实施例中,若第一休眠唤醒调度表中对应当前子时隙的bit指示该子时隙为子唤醒时隙,例如该bit的值为1,第一设备可以在该子唤醒时隙的起始时刻判断buffer中是否有待传输的第一业务的数据。其中,上述对应当前子时隙的bit可以为:包括该子时隙的时隙对应的bit。在一种情况下,若buffer中有待传输的第一业务的数据,第一设备可以处于唤醒状态,即执行S208。在另一种情况下,若buffer中没有待传输的第一业务的数据,第一设备可以处于休眠状态,即执行S211。
在一些实施例中,第一设备可以在处于任意一个子时隙的起始时刻时,根据该子时隙对应的bit判断该子时隙是否为子唤醒时隙,也就是说,对于一个时隙内的每个子时隙,均会判断是否为子唤醒时隙。不限于此,在另一些实施例中,第一设备可以在任意一个时隙的第一个子时隙的起始时刻(即该时隙的起始时刻)时,根据该时隙对应的bit,判断该时隙包括的子时隙是否均为子唤醒时隙,也就是说,对于一个时隙内的多个子时隙而言,只判断一次是否为子唤醒时隙。
S208:第一设备进入或保持唤醒状态。
在一些实施例中,当第一设备处于子唤醒时隙的起始时刻,并且buffer中有待传输的第一业务的数据时,第一设备可以进入或保持唤醒状态,以在唤醒状态下传输第一业务的数据。
在一些实施例中,若子唤醒时隙的起始时刻之前第一设备处于休眠状态,则第一设备可以下发唤醒指令,以进入唤醒状态。
S209:第一设备传输数据。
在一些实施例中,处于唤醒状态的第一设备可以在子唤醒时隙内传输buffer中的第一业务的第二数据,例如,第一设备向第二设备发送第一业务的视频流。
S210:数据传输结束时,第一设备进入休眠状态。
在一些实施例中,当第一业务的第二数据传输完毕时,第一设备可以下发休眠指令,以进入休眠状态,避免没有进行数据传输但仍然处于唤醒状态的情况,及时有效地休眠,节省功耗。
S211:第一设备进入或保持休眠状态。
在一些实施例中,虽然第一设备处于子唤醒时隙,但由于buffer中没有待传输的第一业务的数据,因此,第一设备可以进入或保持休眠状态而非唤醒状态,避免没有进行数据传输但仍然处于唤醒状态的情况,及时有效地休眠,节省功耗。可选地,可以理解为是根据第一业务的数据缓存情况,动态地调整第一休眠唤醒调度表。
在一些实施例中,若子唤醒时隙的起始时刻之前第一设备处于唤醒状态,则第一设备可以下发休眠指令,以进入休眠状态。
S212:处于休眠时隙的起始时刻时,第一设备进入或保持休眠状态。
在一些实施例中,若第一休眠唤醒调度表中对应当前时隙的bit指示该时隙为休眠时隙,例如该bit的值为0,第一设备可以在该时隙的起始时刻进入或保持休眠状态。
在一些实施例中,若休眠时隙的起始时刻之前第一设备处于唤醒状态,则第一设备可以下发休眠指令,以进入休眠状态。
在一些实施例中,第一设备为图5所示的电子设备100,S210、S211和S212中的下发休眠指令可以包括:功耗管理模块可以下发休眠指令至休眠唤醒模块,休眠唤醒模块可以根据该休眠指令控制第一设备处于休眠状态,以节省功耗。
在一些实施例中,上述休眠状态为深睡状态或浅睡状态,深睡状态下第一设备无法收发数据,浅睡状态下第一设备可以接收数据但无法发送数据。上述休眠状态例如但不限于包括以下四种情况:
情况一,S210、S211和S212中的休眠状态均为深睡状态。
情况二,S210和S211中的休眠状态为深睡状态,S212中的休眠状态为浅睡状态。
情况三,S211中的休眠状态为浅睡状态,S210和S212中的休眠状态为深睡状态。
情况四,S210中的休眠状态为浅睡状态,S211和S212中的休眠状态为深睡状态。
其中,浅睡状态的相关说明可参见图6中的浅睡状态的说明。
可以理解地,上述S207-S112为休眠唤醒周期中的一个时隙的休眠唤醒方法,因此S210、S211或者S212之后,第一设备可以继续判断是否到达下一个时隙或子时隙的起始时刻,即执行S206,以继续进行下一个时隙或子时隙的休眠唤醒方法。
S213:第一设备基于第一休眠唤醒调度表进行休眠和唤醒的控制。
S213和图6的S112类似,具体可参见图6的S112的说明。
在一些实施例中,当第一业务结束时,例如第一设备接收到用于停止第一业务的用户操作时,第一设备可以停止执行图8所示的休眠唤醒方法。
在图8所示的方法中,针对有固定的数据到达周期的第一业务,第一设备可以将休眠唤醒周期中的唤醒时隙划分为多个子唤醒时隙,在每个子唤醒时隙的起始时刻,基于第一业务的数据缓存情况,自适应地下发休眠指令和唤醒指令,细化了休眠唤醒调控的颗粒度,增大了休眠的概率,较好地适应于第一业务和链路交互的变化。
并且,第一设备下发休眠指令后可以进入只收不发的休眠状态(即浅睡状态),当接收到第二设备发送的数据时可以快速唤醒,以和第二设备进行数据交互。
接下来示例性介绍图8所示的方法的传输示例,具体可参见图9。
图9示例性示出又一种休眠唤醒的时域示意图。图9以第一休眠唤醒调度表为图2所示的bitmap为例进行说明。图9以第一业务的数据到达周期为16.67ms为例进行说明。
如图9所示,第一业务的数据包在时刻t0和t3到达第一设备的buffer,假设第一设备在时刻t0确定第一业务为预设业务,则可以将休眠唤醒周期的起始时刻设置为:距离当前时刻最近的数据到达时刻,即t0,以实现休眠唤醒周期和第一业务的数据到达周期的同步。
如图9所示,当第一设备处于休眠唤醒周期中的第一个时隙(slot1)的起始时刻t0时,根据第一设备的bitmap中对应slot1的bit的值(即1),确定slot1为唤醒时隙。在slot1内,当第一设备处于第一个子时隙(即子唤醒时隙1)的起始时刻t0时,可以监测buffer中是否有待传输的第一业务的数据,由于此时第一业务的数据包已经到达buffer,因此第一设备可以唤醒以处于工作状态,并且在工作状态下传输buffer中的第一业务的数据。在t1时,第一设备传输数据结束,可以休眠。t1至第二个子时隙(即子唤醒时隙2)的起始时刻t6之间,第一设备可以处于休眠状态。
如图9所示,在slot1内,当第一设备处于子唤醒时隙2的起始时刻t6时,可以根据buffer的监测结果(即当前buffer中没有第一业务的数据)确定休眠。在slot1内,当第一设备处于第三个子时隙(即子唤醒时隙3)的起始时刻t7时,可以根据buffer的监测结果(即当前buffer中没有第一业务的数据)确定休眠。因此,子唤醒时隙2和子唤醒时隙3内(即t6至t8之间),第一设备可以处于休眠状态。
如图9所示,在slot1内,当第一设备处于第四个子时隙(即子唤醒时隙4)的起始时刻t8时,可以根据buffer的监测结果(即当前buffer中没有第一业务的数据)确定休眠,假设此时休眠后所处的状态为浅睡状态。处于浅睡状态的第一设备在时刻t9接收到第二设备发送的数据(例如请求信息),可以快速唤醒,并处于工作状态下和第二设备传输数据(例如响应于第二设备的请求向第二设备发送数据)。在t10时,第一设备传输数据结束,可以休眠。t10至休眠唤醒周期中的第二个时隙(slot2)的起始时刻t2之间,第一设备可以处于休眠状态。
如图9所示,当第一设备处于slot2的起始时刻t2时,根据bitmap中对应slot2的bit的值(即1),确定slot2为唤醒时隙。在slot2内,当第一设备处于第一个子时隙(即子唤醒时隙5)的起始时刻t2时,可以根据buffer的监测结果(即当前buffer中没有第一业务的数据)确定休眠。因此,子唤醒时隙5内(即t2至t11之间),第一设备可以处于休眠状态。
如图9所示,在slot2内,当第一设备处于第二个子时隙(即子唤醒时隙6)的起始时刻t11时,可以根据buffer的监测结果(即当前buffer中有第一业务的数据)确定唤醒,并处于工作状态下传输数据。在t12时,第一设备传输数据结束,可以休眠。
图9示例了休眠唤醒周期中的slot1和部分slot2,以及分布式业务的一个数据到达周期,后续情况类似,不再赘述。
在图9所示的时域示意图中,在子唤醒时隙内,第一设备传输数据结束后就可以休眠,并且,在子唤醒时隙的起始时刻确定buffer中没有第一业务的数据时,第一设备就可以在子唤醒时隙内休眠,这样可以避免例如图3所示的t1到t3之间虽然source STA没有进行数据传输但仍然处于工作状态的情况,让第一设备及时有效地休眠,降低功耗。在图9所示的时域示意图中,t3到达的数据包在t11就传输了,业务时延(t11-3)大约为一个子唤醒时隙(4ms),而在图7中,t3到达的数据包在t4才传输,业务时延(t4-3)大约为一个时隙(16ms)。也就是说,在时间维度上以子唤醒时隙为单位来进行休眠唤醒的控制,可以在保证设备及时有效休眠的同时,降低业务时延,产品可用性更高。在图9所示的时域示意图中,在子唤醒时隙4内,t8至t9之间,第一设备处于浅睡状态,在t9接收到第二设备发送的数据后可以快速唤醒以传输数据,无需等到下一个子唤醒时隙5才传输数据,进一步降低了业务时延。
不限于上述示例的情况,图9所示的子唤醒时隙5内,第一设备也可以处于浅睡状态,当第一业务的数据包在t3到达时,第一设备也可以快速唤醒以传输数据,无需等到下一个子唤醒时隙6才传输数据,进一步降低了业务时延。
本申请各实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DWD)、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD)等。以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (20)
1.一种休眠唤醒方法,其特征在于,应用于第一设备,所述方法包括:
根据第一业务的业务特征生成第一休眠唤醒信息,所述第一休眠唤醒信息用于指示所述第一设备在休眠唤醒周期中的各个时间片上的休眠唤醒情况,所述第一休眠唤醒信息指示所述第一设备在所述休眠唤醒周期中的第一时间片处于唤醒状态;
在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据;
当检测到缓存了所述第一业务的第一数据时,在所述唤醒状态下向第二设备发送所述第一数据;
当检测到未缓存所述第一业务的数据时,进入或保持休眠状态。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
向所述第二设备发送所述第一数据之后,进入所述休眠状态。
3.如权利要求1所述的方法,其特征在于,所述第一时间片的预设时刻为所述第一时间片的起始时刻。
4.如权利要求1所述的方法,其特征在于,所述第一时间片包括多个子时间片,所述第一时间片的预设时刻为所述第一时间片中的第一子时间片的起始时刻,所述第一子时间片为所述多个子时间片中的任意一个子时间片。
5.如权利要求1-4任一项所述的方法,其特征在于,所述第一设备包括通信模块;所述唤醒状态是所述通信模块可以发送数据和接收数据的状态;所述休眠状态是所述通信模块无法发送数据和无法接收数据的状态,或者,所述休眠状态是所述通信模块可以接收数据但无法发送数据的状态。
6.如权利要求5所述的方法,其特征在于,所述休眠状态是所述通信模块可以接收数据但无法发送数据的状态,所述方法还包括:
当处于所述休眠状态时,接收到所述第二设备发送的第一信息;
进入所述唤醒状态,并在所述唤醒状态下和所述第二设备进行数据传输。
7.如权利要求1-4任一项所述的方法,其特征在于,所述休眠唤醒周期包括N个时间片,N为大于2的整数,所述第一休眠唤醒信息包括第二时间片的第一指示信息,所述第二时间片为所述N个时间片中的任意一个时间片,所述第一指示信息用于指示所述第一设备在所述第二时间片处于所述唤醒状态或所述休眠状态。
8.如权利要求7所述的方法,其特征在于,所述第一休眠唤醒信息为位图bitmap,所述第一指示信息为所述第一休眠唤醒信息包括的比特bit。
9.如权利要求1-4任一项所述的方法,其特征在于,所述在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据,包括:
当所述第一业务为预设业务时,在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据,所述预设业务是业务数据以固定的周期到达所述第一设备的缓存区的业务;
所述方法还包括:
当所述第一业务不为所述预设业务时,在所述第一时间片的起始时刻,进入或保持所述唤醒状态。
10.一种第一设备,其特征在于,包括一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器在执行所述计算机指令时,使得所述第一设备执行:
根据第一业务的业务特征生成第一休眠唤醒信息,所述第一休眠唤醒信息用于指示所述第一设备在休眠唤醒周期中的各个时间片上的休眠唤醒情况,所述第一休眠唤醒信息指示所述第一设备在所述休眠唤醒周期中的第一时间片处于唤醒状态;
在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据;
当检测到缓存了所述第一业务的第一数据时,在所述唤醒状态下向第二设备发送所述第一数据;
当检测到未缓存所述第一业务的数据时,进入或保持休眠状态。
11.如权利要求10所述的第一设备,其特征在于,所述第一设备还执行:
向所述第二设备发送所述第一数据之后,进入所述休眠状态。
12.如权利要求10所述的方法,其特征在于,所述第一时间片的预设时刻为所述第一时间片的起始时刻。
13.如权利要求10所述的方法,其特征在于,所述第一时间片包括多个子时间片,所述第一时间片的预设时刻为所述第一时间片中的第一子时间片的起始时刻,所述第一子时间片为所述多个子时间片中的任意一个子时间片。
14.如权利要求10-13任一项所述的方法,其特征在于,所述第一设备包括通信模块;所述唤醒状态是所述通信模块可以发送数据和接收数据的状态;所述休眠状态是所述通信模块无法发送数据和无法接收数据的状态,或者,所述休眠状态是所述通信模块可以接收数据但无法发送数据的状态。
15.如权利要求14所述的方法,其特征在于,所述休眠状态是所述通信模块可以接收数据但无法发送数据的状态;所述第一设备还执行:
当处于所述休眠状态时,接收到所述第二设备发送的第一信息;
进入所述唤醒状态,并在所述唤醒状态下和所述第二设备进行数据传输。
16.如权利要求10-13任一项所述的方法,其特征在于,所述休眠唤醒周期包括N个时间片,N为大于2的整数,所述第一休眠唤醒信息包括第二时间片的第一指示信息,所述第二时间片为所述N个时间片中的任意一个时间片,所述第一指示信息用于指示所述第一设备在所述第二时间片处于所述唤醒状态或所述休眠状态。
17.如权利要求10-13任一项所述的方法,其特征在于,所述第一休眠唤醒信息为位图bitmap,所述第一指示信息为所述第一休眠唤醒信息包括的比特bit。
18.如权利要求10-13任一项所述的方法,其特征在于,所述在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据,包括:
当所述第一业务为预设业务时,在所述第一时间片的预设时刻,检测是否缓存了所述第一业务的数据,所述预设业务是业务数据以固定的周期到达所述第一设备的缓存区的业务;
所述第一设备还执行:
当所述第一业务不为所述预设业务时,在所述第一时间片的起始时刻,进入或保持所述唤醒状态。
19.一种分布式系统,其特征在于,包括多个电子设备,多个电子设备中任意一个电子设备用于执行如权利要求1-9任一项所述的方法。
20.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210299929.3A CN116847145A (zh) | 2022-03-25 | 2022-03-25 | 休眠唤醒方法及电子设备 |
PCT/CN2023/083477 WO2023179731A1 (zh) | 2022-03-25 | 2023-03-23 | 休眠唤醒方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210299929.3A CN116847145A (zh) | 2022-03-25 | 2022-03-25 | 休眠唤醒方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116847145A true CN116847145A (zh) | 2023-10-03 |
Family
ID=88100070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210299929.3A Pending CN116847145A (zh) | 2022-03-25 | 2022-03-25 | 休眠唤醒方法及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116847145A (zh) |
WO (1) | WO2023179731A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117007136B (zh) * | 2023-10-07 | 2023-12-26 | 深圳市千岩科技有限公司 | 环境感知数据检测方法、装置及设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356561B2 (en) * | 2003-05-01 | 2008-04-08 | Lucent Technologies Inc. | Adaptive sleeping and awakening protocol for an energy-efficient adhoc network |
CN101404602B (zh) * | 2008-11-04 | 2010-12-15 | 南京航空航天大学 | 一种适用于多跳ad hoc网络的DCF协议节点自适应休眠方法 |
CN111246549B (zh) * | 2018-11-29 | 2023-01-24 | 航天信息股份有限公司 | 一种节点休眠、唤醒时间提供的方法及装置 |
CN113534939A (zh) * | 2020-04-21 | 2021-10-22 | 华为技术有限公司 | 一种数据接口的休眠和唤醒方法,相关装置以及系统 |
-
2022
- 2022-03-25 CN CN202210299929.3A patent/CN116847145A/zh active Pending
-
2023
- 2023-03-23 WO PCT/CN2023/083477 patent/WO2023179731A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023179731A1 (zh) | 2023-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021185141A1 (zh) | Wi-Fi Aware的建链方法、系统、电子设备和存储介质 | |
WO2021052245A1 (zh) | 一种数据收发方法、电子设备与计算机可读存储介质 | |
WO2021143314A1 (zh) | 一种降低移动终端功耗的方法及移动终端 | |
CN112954819B (zh) | 一种设备组网方法、电子设备及系统 | |
WO2021063189A1 (zh) | 一种多设备之间的信息同步方法、系统及电子设备 | |
WO2022228085A1 (zh) | 一种休眠调度方法及设备 | |
WO2022017474A1 (zh) | 任务处理方法及相关装置 | |
WO2022222754A1 (zh) | Wifi链路休眠唤醒方法、电子设备及系统 | |
WO2021238387A1 (zh) | 一种执行应用的方法及装置 | |
CN113676339A (zh) | 组播方法、装置、终端设备及计算机可读存储介质 | |
WO2023179731A1 (zh) | 休眠唤醒方法及电子设备 | |
JP2024516668A (ja) | デバイスネットワーキング方法、電子デバイス、及び記憶媒体 | |
WO2021043250A1 (zh) | 一种蓝牙通信方法及相关装置 | |
WO2023083068A1 (zh) | 唤醒对齐方法、系统及相关装置 | |
CN115220881A (zh) | 进程管理方法、电子设备、进程管理系统以及存储介质 | |
CN113453327A (zh) | 一种发送功率控制方法、终端、芯片系统与系统 | |
WO2024109623A1 (zh) | 一种待机方法及装置 | |
CN114173317B (zh) | 传输数据的方法和电子设备 | |
WO2023226645A9 (zh) | 通信方法、通信系统及电子设备 | |
CN114666444B (zh) | 设备控制方法、装置和电子设备 | |
WO2024099212A1 (zh) | 空间位置确定方法、系统及其设备 | |
WO2024012443A1 (zh) | 控制设备功耗的方法、系统和电子设备 | |
CN117692466A (zh) | 一种数据同步方法及相关装置、系统 | |
CN118102424A (zh) | 一种远程控制的方法及装置 | |
CN117666453A (zh) | 链路控制方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |