CN117615429A - 一种数据传输方法和电子设备 - Google Patents
一种数据传输方法和电子设备 Download PDFInfo
- Publication number
- CN117615429A CN117615429A CN202211007767.8A CN202211007767A CN117615429A CN 117615429 A CN117615429 A CN 117615429A CN 202211007767 A CN202211007767 A CN 202211007767A CN 117615429 A CN117615429 A CN 117615429A
- Authority
- CN
- China
- Prior art keywords
- data
- retransmission
- electronic device
- electronic equipment
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000007958 sleep Effects 0.000 claims description 80
- 238000009825 accumulation Methods 0.000 claims description 31
- 238000001514 detection method Methods 0.000 claims description 14
- 230000005059 dormancy Effects 0.000 claims 2
- 239000010410 layer Substances 0.000 description 37
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Human Computer Interaction (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种数据传输方法和电子设备,该方法通过在电子设备上的应用发送完数据之后,电子设备检测电子设备进入休眠状态或限网状态的发生时间。当电子设备检测到电子设备进入休眠状态或限网状态的发生时间,及重传队列中存在待重传的所述数据时,在发生时间到来之前,电子设备对数据执行预重传操作。这样,即便电子设备在发送完数据之后进入休眠状态或限网状态,电子设备依然可以在进入休眠状态或限网状态之前,提前执行数据重传的操作,有效避免电子设备无法触发重传操作,或无法将重传的数据发送出去的现象发生。
Description
技术领域
本申请实施例涉及电子设备技术领域,尤其涉及一种数据传输方法和电子设备。
背景技术
目前,为了降低电子设备的功耗,电子设备通常会在电子设备的屏幕熄灭、电子设备上的应用从前台运行切换到后台运行、电子设备上的应用连续一段时间处于空闲状态、电子设备上的应用进行休眠(或称为该应用不持有休眠锁)等情况下进入低功耗模式或休眠模式。在上述模式下,电子设备会冻结应用进程或限制应用联网功能。其中,电子设备限制应用联网功能或称电子设备的应用处于限网状态(如通过防火墙拦截应用的数据包)。假设电子设备作为数据发送方,如果电子设备在发送完数据之后进入休眠状态或限网状态,则电子设备的重传定时器也会停止,这样,电子设备无法触发重传流程,或者,电子设备无法将重传的数据发送出去,从而无法保证对端能够收到数据或能够及时收到数据。可见,在保障电子设备低功耗的同时,无法保障数据传输的可靠性和时效性。
发明内容
本申请实施例提供的一种数据传输方法和电子设备,在保障电子设备低功耗的同时,保障数据传输的可靠性和时效性。
为达到上述目的,本申请实施例采用如下技术方案。
第一方面,本申请实施例提供的一种数据传输方法,该方法的执行主体可以是电子设备,也可以是位于电子设备中的部件(例如,芯片,芯片系统或处理器等),下面以执行主体是电子设备为例进行描述。该方法包括:在电子设备上的应用发送完数据之后,电子设备检测电子设备进入休眠状态或限网状态的发生时间。当检测到发生时间,及重传队列中存在待重传的数据时,在发生时间到来之前,电子设备对数据执行预重传操作。
本申请实施例中,即便电子设备在发送完数据之后进入休眠状态或限网状态,电子设备依然可以在进入休眠状态或限网状态之前,提前执行数据重传的操作,有效避免电子设备无法触发重传操作,或无法将重传的数据发送出去的现象发生。
在一种具体可实现方式中,在电子设备上的应用发送完数据之后,电子设备检测电子设备进入休眠状态或限网状态的发生时间,具体可以为:在电子设备上的应用发送完数据之后,电子设备检测数据的重传次数。当检测到数据存在重传次数时,电子设备检测电子设备进入休眠状态或限网状态的发生时间。
本申请实施例中,在电子设备检测到电子设备发送的数据可以进行重复发送时,电子设备再进行休眠状态或限网状态的检测,这样无需要时刻进行休眠状态或限网状态的检测,可以避免无谓的资源损耗,有效提高可靠性。
在一种具体可实现方式中,当检测到发生时间,及重传队列中存在待重传的数据时,在发生时间到来之前,电子设备对数据执行预重传操作,具体可以为:电子设备确定数据的重传次数、重传累计时间和重传间隔时间。当发生时间、重传累计时间和重传间隔时间满足第一条件时,电子设备根据数据的重传次数对数据执行预重传操作。
本申请实施例中,通过电子设备确定数据的重传次数、重传累计时间和重传间隔时间,并结合发生时间、重传累计时间和重传间隔时间之间的关系,对数据执行预重传操作。这样,有效避免电子设备发送数据之后,无法对数据进行重传的现象发生,有效保障数据传输的可靠性和时效性。
在一些可实现方式中,第一条件包括以下任意一项:发生时间小于等于最低的重传间隔时间;发生时间大于最低的重传间隔时间,且小于等于最高的重传累计时间。
在一些可实现方式中,本申请实施例提供的一种数据传输方法还可以包括:当未检测到发生时间时,电子设备检测电子设备进入休眠状态或限网状态的发生事件。当检测到发生事件,电子设备对数据执行预重传操作。
本申请实施例中,在电子设备未检测到电子设备进入休眠状态或限网状态的发生时间时,电子设备可以通过检测电子设备进入休眠状态或限网状态的发生事件。当该发生事件发生时,电子设备对数据执行预重传操作。这样,可以全方位的保障数据的传输,进一步确保数据传输的可靠性和时效性。
在一些可实现方式中,发生事件包括以下至少一项:电子设备的应用释放休眠锁;电子设备的防火墙拦截应用的数据包的操作;电子设备的应用从前台运行切换到后台运行的操作;电子设备的屏幕熄灭的操作。
在一种具体可实现方式中,当检测到发生事件,电子设备对数据执行预重传操作,具体可以为:当检测到发生事件,电子设备获取数据的重传队列。电子设备确定数据的重传队列中存在重传数据。电子设备检测电子设备进入休眠状态或限网状态的发生时间。当检测到发生时间,且在发生时间到来之前,电子设备对数据执行预重传操作。
第二方面,本申请实施例提供的一种电子设备,该电子设备可以包括:检测单元,用于在电子设备上的应用发送完数据之后,检测电子设备进入休眠状态或限网状态的发生时间。执行单元,用于当检测到发生时间,及重传队列中存在待重传的数据时,在发生时间到来之前,对数据执行预重传操作。
本申请实施例中,即便电子设备在发送完数据之后进入休眠状态或限网状态,电子设备依然可以在进入休眠状态或限网状态之前,提前执行数据重传的操作,有效避免电子设备无法触发重传操作,或无法将重传的数据发送出去的现象发生。
在一种具体可实现方式中,检测单元还用于:在电子设备上的应用发送完数据之后,检测数据的重传次数;当检测到数据存在重传次数时,检测电子设备进入休眠状态或限网状态的发生时间。
本申请实施例中,在电子设备检测到电子设备发送的数据可以进行重复发送时,电子设备再进行休眠状态或限网状态的检测,这样无需要时刻进行休眠状态或限网状态的检测,可以避免无谓的资源损耗,有效提高可靠性。
在一种具体可实现方式中,执行单元还用于:确定数据的重传次数、重传累计时间和重传间隔时间;当发生时间、重传累计时间和重传间隔时间满足第一条件时,根据数据的重传次数对数据执行预重传操作。
本申请实施例中,通过电子设备确定数据的重传次数、重传累计时间和重传间隔时间,并结合发生时间、重传累计时间和重传间隔时间之间的关系,对数据执行预重传操作。这样,有效避免电子设备发送数据之后,无法对数据进行重传的现象发生,有效保障数据传输的可靠性和时效性。
在一种具体可实现方式中,第一条件包括以下任意一项:发生时间小于等于最低的重传间隔时间;发生时间大于最低的重传间隔时间,且小于等于最高的重传累计时间。
在一种具体可实现方式中,检测单元还用于:当未检测到发生时间时,检测电子设备进入休眠状态或限网状态的发生事件。执行单元还用于:当检测到发生事件,对数据执行预重传操作。
本申请实施例中,在电子设备未检测到电子设备进入休眠状态或限网状态的发生时间时,电子设备可以通过检测电子设备进入休眠状态或限网状态的发生事件。当该发生事件发生时,电子设备对数据执行预重传操作。这样,可以全方位的保障数据的传输,进一步确保数据传输的可靠性和时效性。
在一种具体可实现方式中,发生事件包括以下至少一项:电子设备的应用释放休眠锁;电子设备的防火墙拦截应用的数据包的操作;电子设备的应用从前台运行切换到后台运行的操作;电子设备的屏幕熄灭的操作。
在一种具体可实现方式中,执行单元还用于:当检测到发生事件,获取数据的重传队列;确定数据的重传队列中存在重传数据;检测电子设备进入休眠状态或限网状态的发生时间;当检测到发生时间,且在发生时间到来之前,对数据执行预重传操作。
第三方面,本申请实施例提供的一种电子设备,该电子设备可以包括:一个或多个处理器;以及存储器,存储器中存储有代码;当代码被所述处理器执行时,使得电子设备执行如第一方面所述的方法。
第四方面,本申请实施例提供的一种计算机可读存储介质,其包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行如第一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序,当所述程序被处理器调用时,第一方面的方法被执行。
第六方面,本申请实施例提供一种芯片系统,包括一个或多个处理器,当所述一个或多个处理器执行指令时,所述一个或多个处理器执行第一方面的方法。
其中,上述第二方面至第六方面中各个实施例的具体实施方式及对应的技术效果可以参见上述第一方面的具体实施方式及技术效果。
附图说明
图1为本申请实施例提供的一种电子设备的硬件结构示意图;
图2A为本申请实施例提供的电子设备的软件架构图一;
图2B为本申请实施例提供的电子设备的软件架构图二;
图2C为本申请实施例提供的电子设备的软件架构图三;
图2D为本申请实施例提供的电子设备的软件架构图四;
图2E为本申请实施例提供的电子设备的软件架构图五;
图2F为本申请实施例提供的电子设备的软件架构图六;
图2G为本申请实施例提供的电子设备的软件架构图七;
图3A为本申请实施例提供的数据传输方法的流程示意图一;
图3B为本申请实施例提供的数据传输方法的流程示意图二;
图3C为本申请实施例提供的数据传输方法中电子设备对数据执行预重传操作的流程示意图一;
图3D为本申请实施例提供的数据传输方法的一种应用场景的流程示意图一;
图3E为本申请实施例提供的数据传输方法中电子设备对数据执行预重传操作的流程示意图二;
图3F为本申请实施例提供的数据传输方法的一种应用场景的流程示意图二;
图4A为本申请实施例提供的数据传输方法的流程示意图三;
图4B为本申请实施例提供的数据传输方法的流程示意图四;
图4C为本申请实施例提供的数据传输方法中电子设备对数据执行预重传操作的流程示意图三;
图4D为本申请实施例提供的数据传输方法的一种应用场景的流程示意图一;
图4E为本申请实施例提供的数据传输方法中电子设备对数据执行预重传操作的流程示意图四;
图4F为本申请实施例提供的数据传输方法的一种应用场景的流程示意图二;
图5为本申请实施例提供的又一种电子设备的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在一种情形下,在休眠状态或限网状态下,电子设备的重传定时器会停止。假设,电子设备作为数据发送方,如果电子设备在发送完数据之后进入休眠状态或限网状态,则电子设备的重传定时器也会停止,这样,电子设备无法触发重传流程,或者,电子设备无法将重传的报文发送出去,从而无法保证对端能够收到数据或能够及时收到数据。
示例1,假设上述应用为社交类应用,当电子设备处于灭屏状态(即屏幕熄灭)时,该应用收到消息,此时,电子设备被唤醒,该应用给该应用的服务器反馈一个响应消息。之后,电子设备进入休眠状态。但是,上述响应消息在网络侧丢包了,致使服务器未收到该响应消息。而此时,电子设备在休眠状态下无法进行重传。在服务器向应用发送消息之后的15s内,服务器未收到上述响应消息,服务器就会发送断开消息给该应用,且断开了与该应用的消息通道,后续电子设备不会收到服务器发送的新的消息。
示例2,假设上述应用为浏览类应用,当电子设备上的该应用切换到后台运行时,该应用发送一个传输控制协议(transmission control protocol,TCP)的(finish,FIN)报文,用以结束TCP连接。但是,该TCP FIN报文在网络侧丢包了,致使服务器未收到该TCP FIN报文。而此时,该应用在后台被限制联网,使得TCP FIN重传报文被防火墙拦截,而服务器侧认为与该应用的连接并未关闭,这样,服务器会继续向该应用发送报文,使电子设备收到额外报文,会产生额外功耗。
综上,基于常规技术,电子设备在保障电子设备低功耗的同时,无法保障数据传输的可靠性和时效性。
为了在保障电子设备低功耗的同时,保障数据传输的可靠性和时效性,本申请实施例提供了一种数据传输方法,该数据传输方法可以应用于电子设备。该方法包括:在电子设备上的应用发送完数据之后,电子设备检测电子设备进入休眠状态或限网状态的发生时间。当电子设备检测到电子设备进入休眠状态或限网状态的发生时间时,在发生时间到来之前,电子设备对数据执行预重传操作。这样,即便电子设备在发送完数据之后进入休眠状态或限网状态,电子设备依然可以在进入休眠状态或限网状态之前,提前执行数据重传的操作,有效避免电子设备无法触发重传操作,或无法将重传的数据发送出去的现象发生。
以下对上述的电子设备的硬件结构进行介绍,图1示出了电子设备100的结构示意图。如图1所示,电子设备100可以包括处理器110,存储器120,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,显示屏170等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备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的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如增强现实(augmented reality,AR)设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,存储器120,显示屏170,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备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的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。
电子设备100通过GPU,显示屏170,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏170和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏170用于显示图像,视频等。显示屏170包括显示面板。显示面板可以采用液晶显示屏(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个显示屏170,N为大于1的正整数。
存储器120可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在存储器120的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
当然,电子设备还可以包括其他功能单元,本申请实施例对此不进行限定。
此外,本申请的各实施例之间涉及的动作,术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。
参见图2A-图2F,图2A-图2F是本申请实施例提供的电子设备的软件结构框图。
如图2A-图2F所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些可行的实施方式中,可将安卓系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图2A-图2F所示,应用程序包可以包括视频应用,浏览应用、音乐、设置、蓝牙,设备管理应用(具备设备管理功能的应用),导航,备忘录,WLAN,短消息,图库,照相机,日历,通话等应用程序(application,APP)。
应用程序框架层为应用程序层的应用程序提供应用编程接口和编程框架。应用程序框架层包括一些预先定义的函数。
如图2A-图2F所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。应用程序框架层还可以包括:协议管理模块,网络管理模块。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定显示屏,截取显示屏等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。上述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话界面形式出现在显示屏上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
协议管理模块用于应用内或用户空间的预重传决策和执行。
网络管理模块用于管理在归属网络设备的数据传输。示例性的,设备的防火墙拦截应用的数据包。
核心库包含两部分:一部分是编程语言(如java语言)需要调用的功能函数,另一部分是操作系统(如安卓)的核心库。
示例性的,以操作系统是安卓为例,应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库还可以包括其他功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。内核层还可以包括传输控制协议(transmission control protocol,TCP)模块(或简称TCP模块)、用户数据报协议(user datagram protocol,UDP)模块和休眠状态管理模块。
TCP模块用于驱动设备执行预重传决策、控制报文和数据报文的传输。
休眠状态管理模块用于驱动设备上的应用的休眠状态,及应用是否持有休眠锁,该休眠锁是定时锁还是非定时锁。
UDP模块用于传输基于UDP协议的数据,例如,音视频类数据。
可见,预重传决策和执行等功能可以是应用框架层中的协议管理模块实现,也可以是内核层中的传输控制协议(TCP)模块实现,还可以是应用框架层中的协议管理模块和内核层中的传输控制协议(TCP)模块共同实现。以下进行详细说明:
第一,预重传决策和执行等功能可以是应用框架层中的协议管理模块实现。
以通讯类应用为例,在一种具体实现方式中,示例性的,如图2A所示,在S201中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的协议管理模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S202、电子设备100的协议管理模块向网络管理模块请求检测电子设备进入限网状态的发生时间。S203、电子设备100的网络管理模块根据请求,将检测到的电子设备进入限网状态的发生时间发送给协议管理模块。S204、当上述数据为基于UDP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的UDP,并对该数据执行预重传操作。S205、当上述数据为基于TCP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的TCP模块,以对该数据执行预重传操作。
在另一种具体实现方式中,示例性的,如图2B所示,在S201中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的协议管理模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S206、电子设备100的协议管理模块向休眠状态管理模块请求检测电子设备进入休眠状态的发生时间。S207、电子设备100的休眠状态管理模块根据请求,检测电子设备进入休眠状态的发生时间,并将检测到的电子设备进入休眠状态的发生时间发送给协议管理模块。S204、当上述数据为基于UDP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的UDP,并对该数据执行预重传操作。S205、当上述数据为基于TCP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的TCP模块,以对该数据执行预重传操作。
第二,预重传决策和执行等功能可以是内核层中的传输控制协议(TCP)模块实现。
以通讯类应用为例,在一种具体实现方式中,示例性的,如图2C所示,在S208中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的传输控制协议(TCP)模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S209、电子设备100的传输控制协议(TCP)模块向网络管理模块请求检测电子设备进入限网状态的发生时间。S210、电子设备100的网络管理模块根据请求,将检测到的电子设备进入限网状态的发生时间发送给传输控制协议(TCP)模块。当上述数据为基于TCP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的TCP模块,并对该数据执行预重传操作。
在另一种具体实现方式中,示例性的,如图2D所示,在S208中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的传输控制协议(TCP)模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S212、电子设备100的传输控制协议(TCP)模块向休眠状态管理模块请求检测电子设备进入休眠状态的发生时间。S213、电子设备100的休眠状态管理模块根据请求,检测电子设备进入休眠状态的发生时间,并将检测到的电子设备进入休眠状态的发生时间发送给传输控制协议(TCP)模块。当上述数据为基于TCP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的TCP模块,并对该数据执行预重传操作。
第三,预重传决策和执行,及数据重传队列等功能可以是应用框架层中的协议管理模块和内核层中的传输控制协议(TCP)模块共同实现。
以通讯类应用为例,在一种具体实现方式中,示例性的,如图2E所示,在S214中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的协议管理模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S215、电子设备100的协议管理模块向网络管理模块请求检测电子设备进入限网状态的发生时间。S216、电子设备100的网络管理模块根据请求,将检测到的电子设备进入限网状态的发生时间发送给协议管理模块。S217、当上述数据为基于UDP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的UDP,并对该数据执行预重传操作。
同理,在S214’中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的传输控制协议(TCP)模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S215’、电子设备100的传输控制协议(TCP)模块向网络管理模块请求检测电子设备进入限网状态的发生时间。S216’、电子设备100的网络管理模块根据请求,将检测到的电子设备进入限网状态的发生时间发送给传输控制协议(TCP)模块。当上述数据为基于TCP协议的数据时,在发生时间到来之前,电子设备的传输控制协议(TCP)模块将该数据传输,并对该数据执行预重传操作。
在另一种具体实现方式中,示例性的,如图2F所示,在S214中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的协议管理模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S218、电子设备100的协议管理模块向休眠状态管理模块请求检测电子设备进入休眠状态的发生时间。S219、电子设备100的休眠状态管理模块根据请求,检测电子设备进入休眠状态的发生时间,并将检测到的电子设备进入休眠状态的发生时间发送给协议管理模块。S220、当上述数据为基于UDP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的UDP,并对该数据执行预重传操作。
同理,在S214’中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的传输控制协议(TCP)模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S218’、电子设备100的传输控制协议(TCP)模块向休眠状态管理模块请求检测电子设备进入休眠状态的发生时间。S219’、电子设备100的休眠状态管理模块根据请求,检测电子设备进入休眠状态的发生时间,并将检测到的电子设备进入休眠状态的发生时间发送给传输控制协议(TCP)模块。当上述数据为基于TCP协议的数据时,在发生时间到来之前,电子设备的传输控制协议(TCP)模块将该数据传输,并对该数据执行预重传操作。
在另一些实现方式中,上述图2A与图2B可以进行组合,图2C与图2D可以进行组合,图2E与图2F进行组合,本申请实施例不在一一说明。具体的,以图2E和图2F的组合为例进行详细说明,具体如下:
示例性的,在另一种实现方式中,如图2G所示,在S221中,电子设备100的应用发送数据。在电子设备100发送数据之后,电子设备100的协议管理模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S222、电子设备100的协议管理模块向休眠状态管理模块请求检测电子设备进入休眠状态的发生时间。S223、电子设备100的休眠状态管理模块根据请求,未检测到电子设备进入休眠状态的发生时间。具体的,休眠状态管理模块根据请求查找休眠锁列表,未查找到电子设备进入休眠状态的发生时间。之后,休眠状态管理模块将检测结果发送给协议管理模块。S224、电子设备100的协议管理模块向网络管理模块请求检测电子设备进入限网状态的发生事件。S225、电子设备100的网络管理模块根据请求,将检测到的电子设备进入限网状态的发生事件发送给协议管理模块。电子设备100重复执行S222-S223,直至电子设备100获取到电子设备进入休眠状态的发生时间。S226、当上述数据为基于UDP协议的数据时,在发生时间到来之前,电子设备的协议管理模块将该数据传输给内核层的UDP,并对该数据执行预重传操作。
同理,在S221’中,电子设备100的应用发送数据。在电子设备100发送数据(如数据报文)之后,电子设备100的传输控制协议(TCP)模块确定该数据的重传策略,并在重传队列中查找该数据是否存在重传次数。如果电子设备100确定该数据存在重传次数,则S222’、电子设备100的传输控制协议(TCP)模块向休眠状态管理模块请求检测电子设备进入休眠状态的发生时间。S223’、电子设备100的休眠状态管理模块根据请求,未检测到电子设备进入休眠状态的发生时间,并将检测结果发送给传输控制协议(TCP)模块。S224’、电子设备100的传输控制协议(TCP)模块向网络管理模块请求检测电子设备进入限网状态的发生事件。S225’、电子设备100的网络管理模块根据请求,将检测到的电子设备进入限网状态的发生事件发送给传输控制协议(TCP)模块。电子设备100重复执行S222’-S223’,直至电子设备100获取到电子设备进入休眠状态的发生时间。当上述数据为基于TCP协议的数据时,在发生时间到来之前,电子设备的传输控制协议(TCP)模块将该数据传输,并对该数据执行预重传操作。
上述电子设备100可以为手机、平板电脑、膝上型、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)、可穿戴电子设备等设备,本申请实施例中对电子设备的具体形式不做特殊限制。
图3A为本申请实施例提供的一种数据传输方法的流程示意图。如图3A所示,该方法可以包括:
S301、在电子设备上的应用发送完数据之后,电子设备检测电子设备进入休眠状态的发生时间。
电子设备上的应用持有休眠锁。当电子设备的应用释放了最后一个休眠锁时,电子设备即可进入休眠状态。故,电子设备进入休眠状态的发生时间为最晚的放锁时间。
休眠锁可以包括定时锁和非定时锁。定时锁顾名思义是在特定时间可释放;非定时锁顾名思义是没有指定释放时间。如果电子设备上的应用均持有的是定时锁,则电子设备释放了最后一个定时锁时电子设备进入休眠状态。这样,电子进入休眠状态的发生时间为最晚的放锁时间。如果电子设备上的应用持有非定时锁,则电子设备无法检测电子设备进入休眠状态的发生时间。
具体的,S301的实现如图2B中所示的S207,或如图2D中所示的S213,或如图2F中所示的S219和S219’,或如图2G中所示的S221和S221’。
S302、当电子设备检测到电子设备进入休眠状态的发生时间(以下简称“发生时间”),及重传队列中存在待重传的所述数据时,在发生时间到来之前,电子设备对数据执行预重传操作。
就是说,在S301中检测到电子设备进入休眠状态的发生时间且重传队列中存在待重传的该数据。在此情形下,电子设备对数据发送或重传。
本申请实施例中,即便电子设备在发送完数据之后进入休眠状态,电子设备依然可以在进入休眠状态之前,提前执行数据重传的操作,有效避免电子设备无法触发重传操作,或无法将重传的数据发送出去的现象发生。
在一些实施例中,如图3B所示,在执行S301之后,本申请实施例提供的数据传输方法还可以包括:
S303、在电子设备上的应用发送完数据之后,电子设备检测数据的重传次数。当电子设备检测到数据存在重传次数时,执行S301;当电子设备检测到不存在重传次数时,执行结束。
具体的,S303的实现如图2B中所示的S201,或如图2D中所示的S208,或如图2F中所示的S214和S214’,或如图2G中所示的S221和S221’。
电子设备发送的数据具有相应的重传策略。示例性的,电子设备发送的数据可以进行重复发送预设次数。也就是说,在电子设备发送数据之后,电子设备确定还可以重复发送该数据,此时电子设备可以执行S301。
本申请实施例中,在电子设备检测到电子设备发送的数据可以进行重复发送时,电子设备再进行休眠状态的检测,这样无需要时刻进行休眠状态的检测,可以避免无谓的资源损耗,有效提高可靠性。
在一些实施例中,图3C为本申请实施例提供的数据传输方法中电子设备对数据执行预重传操作的流程示意图。如图3C所示,S302包括:S3021和S3022。S3021和S3022具体可实现为:
S3021、电子设备确定数据的重传次数、重传累计时间和重传间隔时间。
电子设备发送数据之后,电子设备可以确定数据的重传次数和重传间隔时间。电子设备可以根据数据的重传次数和重传时间确定数据的重传累计时间。例如,如表1所示,针对不同的数据可重传的策略不同。
表1
表中,TCP ACK、TCP RESET这种控制报文,默认没有重传策略。本申请实施例中仍对其实施重传发送的可靠性策略予以保障。
S3022、当发生时间、重传累计时间和重传间隔时间满足第一条件时,电子设备根据数据的重传次数对数据执行预重传操作。
其中,第一条件可以包括:发生时间T小于等于最低的重传间隔时间RTOmin;发生时间T大于最低的重传间隔时间RTOmin,且小于等于最高的重传累计时间RTOmax;发生时间T大于最高的重传累计时间RTOmax。
当发生时间T小于等于最低的重传间隔时间RTOmin时,表明电子设备在发送数据之后,且在电子设备进入休眠状态之前,电子设备没有重传数据的机会。为了确保数据传输的可靠性和时效性,电子设备按照表1的策略对数据执行预重传操作。
当发生时间T大于最低的重传间隔时间RTOmin,且小于等于最高的重传累计时间RTOmax时,表明电子设备在发送数据之后,且在电子设备进入休眠状态之前,电子设备具备部分重传数据的机会。就是说,电子设备可以有几次重传数据的机会。那么,电子设备可以在发生时间内按照表1的策略对数据执行预重传操作;或者,电子设备可以根据数据的重传次数、重传累计时间和发生时间,确定重传间隔时间。电子设备在发生时间内根据数据的重传次数对数据执行预重传操作。
当发生时间T大于最高的重传累计时间RTOmax时,表明电子设备在发送数据之后,且在电子设备进入休眠状态之前,电子设备具备全部重传数据的机会。那么,电子设备不需要执行预重传操作。
本申请实施例中,通过电子设备确定数据的重传次数、重传累计时间和重传间隔时间,并结合发生时间、重传累计时间和重传间隔时间之间的关系,对数据执行预重传操作。这样,有效避免电子设备发送数据之后,无法对数据进行重传的现象发生,有效保障数据传输的可靠性和时效性。
在一种应用场景中,图3D为本申请实施例提供的数据传输方法的一种应用场景的流程示意图,如图3D所示,在S301’、电子设备上的应用发送数据。
S302’、电子设备检测重传队列中是否存在该数据。若重传队列中存在该数据,则执行S303’;若重传队列中不存在该数据,则执行结束操作。
具体的,S302’的具体实现可参见上述S303,在此不再赘述。
S303’、电子设备获取休眠锁列表。
在一种实现方式中,该休眠锁列表可以存储在如图2G所示的休眠状态管理模块中。该休眠锁列表中包括定时锁和非定时锁。该定时锁和非定时锁的相关描述可参数上述相关内容,在此不再赘述。
S304’、电子设备根据休眠锁列表,确定是否存在最晚的放锁时间T。如果存在定时锁并确定最晚的放锁时间T,则执行S305’;如果存在非定时锁,并无法确实放锁时间,则等待放锁。
该最晚的放锁时间T(T≥0),即为上述发生时间。
具体的,S303’-S304’的具体实现可参见上述S301,在此不再赘述。
S305’、在最晚的放锁时间T到来之前,电子设备对数据执行预重传操作。
具体的,S305’的具体实现可参见上述S302,在此不再赘述。
在一些实施例中,本申请实施例提供的数据传输方法还可以包括:
S304、当电子设备未检测到电子设备进入休眠状态的发生时间时,电子设备检测电子设备进入休眠状态的发生事件。
在一种具体可实现方式中,S304具体可实现为:电子设备进入休眠状态的发生事件可以包括电子设备的应用释放休眠锁。具体的,当电子设备未检测到电子设备进入休眠状态的发生时间时,电子设备检测到电子设备的应用释放休眠锁的操作。示例性的,电子设备检测到电子设备的应用释放非定时锁的操作。
在另一种具体可实现方式中,S304具体可实现为:电子设备检测到电子设备的应用从前台运行切换到后台运行的操作。
在另一种具体可实现方式中,S304具体可实现为:电子设备检测到电子设备的屏幕熄灭的操作。
S305、当电子设备检测到电子设备进入休眠状态的发生事件,电子设备对数据执行预重传操作。
具体的,图3E为本申请实施例提供的数据传输方法中电子设备对数据执行预重传操作的流程示意图。如图3E所示,S305包括:S3051、S3052、S3053和S3054。S3051、S3052、S3053和S3054具体可实现为:
S3051、当电子设备检测到电子设备进入休眠状态的发生事件,电子设备获取数据的重传队列。S3052、电子设备确定数据的重传队列中存在重传数据。S3053、电子设备获取电子设备进入休眠状态的发生时间。S3053的具体实现可以参见S301中的相关描述,在此不再赘述。S3054、当电子设备检测到电子设备进入休眠状态的发生时间,且在发生时间到来之前,电子设备对数据执行预重传操作。S3054的具体实现可以参见S302中的相关描述,在此不再赘述。
本申请实施例中,在电子设备未检测到电子设备进入休眠状态的发生时间时,电子设备可以通过检测电子设备进入休眠状态的发生事件。当该发生事件发生时,电子设备对数据执行预重传操作。这样,可以全方位的保障数据的传输,进一步确保数据传输的可靠性和时效性。
在另一种应用场景中,图3F为本申请实施例提供的数据传输方法的一种应用场景的流程示意图,如图3F所示,在S301’、电子设备上的应用发送数据。
S302’、电子设备检测重传队列中是否存在该数据。若重传队列中存在该数据,则执行S303’;若重传队列中不存在该数据,则执行结束操作。
具体的,S302’的具体实现可参见上述S303,在此不再赘述。
S303’、电子设备获取休眠锁列表。
在一种实现方式中,该休眠锁列表可以存储在如图2G所示的休眠状态管理模块中。该休眠锁列表中包括定时锁和非定时锁。该定时锁和非定时锁的相关描述可参数上述相关内容,在此不再赘述。
S304’、电子设备根据休眠锁列表,确定是否存在最晚的放锁时间T。如果存在定时锁并确定最晚的放锁时间T,则执行S305’;如果存在非定时锁,并无法确实放锁时间,则执行S306’。
该最晚的放锁时间T,即为上述发生时间。
具体的,S303’-S304’的具体实现可参见上述S301,在此不再赘述。
S305’、在最晚的放锁时间T到来之前,电子设备对数据执行预重传操作。
具体的,S305’的具体实现可参见上述S302,在此不再赘述。
S306’、电子设备释放非定时锁。
S307’、电子设备检测重传队列中是否存在该数据。若重传队列中存在该数据,则执行S308’;若重传队列中不存在该数据,则执行结束操作。
具体的,S307’的具体实现可参见上述S303,在此不再赘述。
S308’、电子设备获取休眠锁列表,电子设备根据休眠锁列表,确定是否存在最晚的放锁时间T。如果存在定时锁并确定最晚的放锁时间T,则执行S309’;如果存在非定时锁,并无法确实放锁时间,则执行S306’。
在休眠锁列表中所有的非定时锁均释放完毕之后,电子设备记录最晚的放锁时间T,并触发用于进入休眠状态的发生事件。
S309’、当电子设备检测到电子设备进入休眠状态的发生事件,且在最晚的放锁时间T到来之前,电子设备对数据执行预重传操作。
具体的,S309’的具体实现可参见上述S302,在此不再赘述。
图4A为本申请实施例提供的另一种数据传输方法的流程示意图。如图4A所示,该方法可以包括:
S401、在电子设备上的应用发送完数据之后,电子设备检测电子设备进入限网状态的发生时间。
具体的,S401的实现如图2A中所示的S203,或如图2C中所示的S206,或如图2E中所示的S216和S216’。
电子设备上的应用均具备限网策略和限网时间。当电子设备上的一个应用处于限网状态时,电子设备处于限网状态。故,电子设备进入限网状态的发生时间为最早的限网时间。其中,限网时间可以是事件触发时刻与延时时间之和。示例性的,以应用从前台运行切换至后台运行(或电子设备的息屏)为例,限网时间可以为应用从前台运行切换至后台运行的触发时刻与延时时间之和。例如,延时时间可以为0s、3s等。
S402、当电子设备检测到电子设备进入限网状态的发生时间,且在发生时间到来之前,电子设备对数据执行预重传操作。
就是说,在S401中检测到电子设备进入限网状态的发生时间。在此情形下,电子设备对数据发送或重传。
本申请实施例中,即便电子设备在发送完数据之后进入限网状态,电子设备依然可以在进入限网状态之前,提前执行数据重传的操作,有效避免电子设备无法触发重传操作,或无法将重传的数据发送出去的现象发生。
在一些实施例中,如图4B所示,在执行S401之后,本申请实施例提供的数据传输方法还可以包括:
S403、在电子设备上的应用发送完数据之后,电子设备检测数据的重传次数。当电子设备检测到数据存在重传次数时,执行S401;当电子设备检测到不存在重传次数时,执行结束。
具体的,S403的实现如图2A中所示的S201,或如图2C中所示的S208,或如图2E中所示的S214和S214’。
也就是说,在电子设备发送数据之后,电子设备确定还可以重复发送该数据,此时电子设备可以执行S401。
本申请实施例中,在电子设备检测到电子设备发送的数据可以进行重复发送时,电子设备再进行限网状态的检测,这样无需要时刻进行限网状态的检测,可以避免无谓的资源损耗,有效提高可靠性。
在一些实施例中,图4C为本申请实施例提供的数据传输方法中电子设备对数据执行预重传操作的流程示意图。如图4C所示,S402包括:S4021和S4022。S4021和S4022具体可实现为:
S4021、电子设备确定数据的重传次数、重传累计时间和重传间隔时间。
S4021的具体实现可以参见S2021中的相关描述,在此不再赘述。
S4022、当发生时间、重传累计时间和重传间隔时间满足第一条件时,电子设备根据数据的重传次数对数据执行预重传操作。
S4022的具体实现可以参见S2022中的相关描述,在此不再赘述。
本申请实施例中,通过电子设备确定数据的重传次数、重传累计时间和重传间隔时间,并结合发生时间、重传累计时间和重传间隔时间之间的关系,对数据执行预重传操作。这样,有效避免电子设备发送数据之后,无法对数据进行重传的现象发生,有效保障数据传输的可靠性和时效性。
在一种应用场景中,图4D为本申请实施例提供的数据传输方法的一种应用场景的流程示意图,如图4D所示,在S401’、电子设备上的应用发送数据。
S402’、电子设备检测重传队列中是否存在该数据。若重传队列中存在该数据,则执行S403’;若重传队列中不存在该数据,则执行结束操作。
具体的,S402’的具体实现可参见上述S403,在此不再赘述。
S403’、电子设备获取应用的限网时间。
在一种实现方式中,该应用的限网时间可以存储在如图2G所示的网络管理模块中。该网络管理模块中存储了各个应用的限网定时。
S404’、电子设备根据限网时间,确定是否存在最早的限网时间T。如果存在最早的限网时间T,则执行S405’;如果不存在最早的限网时间,则等待限网或发生可引起限网的事件。
该最早的限网时间T(T≥0),即为上述发生时间。
具体的,S403’-S404’的具体实现可参见上述S401,在此不再赘述。
S405’、在最早的限网时间T到来之前,电子设备对数据执行预重传操作。
具体的,S405’的具体实现可参见上述S402,在此不再赘述。
在一些实施例中,本申请实施例提供的数据传输方法还可以包括:
S404、当电子设备未检测到电子设备进入限网状态的发生时间时,电子设备检测电子设备进入限网状态的发生事件。
在一种具体可实现方式中,S404具体可实现为:当电子设备未检测到电子设备进入限网状态的发生时间时,电子设备检测到电子设备进入限网状态的发生事件。示例性的,电子设备检测到电子设备的防火墙拦截应用的数据包的操作。
在另一种具体可实现方式中,S404具体可实现为:电子设备检测到电子设备的应用从前台运行切换到后台运行的操作。
在另一种具体可实现方式中,S404具体可实现为:电子设备检测到电子设备的屏幕熄灭的操作。
S405、当电子设备检测到电子设备进入限网状态的发生事件,电子设备对数据执行预重传操作。
具体的,图4E为本申请实施例提供的数据传输方法中电子设备对数据执行预重传操作的流程示意图。如图4E所示,S405包括:S4051、S4052、S4053和S4054。S4051、S4052、S4053和S4054具体可实现为:
S4051、当电子设备检测到电子设备进入限网状态的发生事件,电子设备获取数据的重传队列。S4052、电子设备确定数据的重传队列中存在重传数据。S4053、电子设备获取电子设备进入限网状态的发生时间。S4053的具体实现可以参见S401中的相关描述,在此不再赘述。S4054、当电子设备检测到电子设备进入限网状态的发生时间,且在发生时间到来之前,电子设备对数据执行预重传操作。S4054的具体实现可以参见S402中的相关描述,在此不再赘述。
本申请实施例中,在电子设备未检测到电子设备进入限网状态的发生时间时,电子设备可以通过检测电子设备进入限网状态的发生事件。当该发生事件发生时,电子设备对数据执行预重传操作。这样,可以全方位的保障数据的传输,进一步确保数据传输的可靠性和时效性。
在另一种应用场景中,图4F为本申请实施例提供的数据传输方法的一种应用场景的流程示意图,如图4F所示,在S401’、电子设备上的应用发送数据。
S402’、电子设备检测重传队列中是否存在该数据。若重传队列中存在该数据,则执行S403’;若重传队列中不存在该数据,则执行结束操作。
具体的,S402’的具体实现可参见上述S403,在此不再赘述。
S403’、电子设备获取应用的限网时间。
在一种实现方式中,该应用的限网时间可以存储在如图2G所示的网络管理模块中。该网络管理模块中存储了各个应用的限网定时。
S404’、电子设备根据限网时间,确定是否存在最早的限网时间T。如果存在最早的限网时间T,则执行S405’;如果不存在最早的限网时间,则执行S406’。
该最早的限网时间T(T≥0),即为上述发生时间。
具体的,S403’-S404’的具体实现可参见上述S401,在此不再赘述。
S405’、在最早的限网时间T到来之前,电子设备对数据执行预重传操作。
具体的,S405’的具体实现可参见上述S402,在此不再赘述。
S406’、电子设备等待限网或发生可引起限网的事件。
具体的,S406’具体实现可参见S404,在此不再赘述。
S407’、电子设备检测重传队列中是否存在该数据。若重传队列中存在该数据,则执行S408’;若重传队列中不存在该数据,则执行结束操作。
具体的,S407’的具体实现可参见上述S403,在此不再赘述。
S408’、电子设备获取应用的限网时间,并根据限网时间,确定是否存在最早的限网时间T。如果存在最早的限网时间T,则执行S405’;如果不存在最早的限网时间,则执行S406’。
当电子设备获取到所有的应用限网时间时,电子设备记录最早的限网时间T,并根据最早的限网时间T触发用于进入限网状态的发生事件。
S409’、当电子设备检测到电子设备进入限网状态的发生事件,且在最早的限网时间T到来之前,电子设备对数据执行预重传操作。
具体的,S409’的具体实现可参见上述S402,在此不再赘述。
本申请实施例的具体实现方式详见上述相关内容,本申请实施例不再赘述。
本申请上述实施例中的各个方案在不矛盾的前提下,均可以进行结合。
本申请实施例还提供用于实现以上任一种方法的电子设备,例如,提供一种电子设备包括用以实现以上任一种方法中的各步骤的手段。
例如,请参考图5,其为本申请实施例提供的一种电子设备的示意图,该电子设备500可以包括:检测单元501和执行单元502,其中:
检测单元501用于在电子设备上的应用发送完数据之后,检测电子设备进入休眠状态或限网状态的发生时间;示例性的,检测单元501可以执行上述S301或上述401的步骤。
执行单元502用于当检测到发生时间,及重传队列中存在待重传的数据时,在发生时间到来之前,对数据执行预重传操作。示例性的,执行单元502可以执行上述S302或上述S402的步骤。
在一种具体可实现方式中,检测单元501还用于:在电子设备上的应用发送完数据之后,检测数据的重传次数;当检测到数据存在重传次数时,检测电子设备进入休眠状态或限网状态的发生时间。示例性的,检测单元501可以执行上述S303或上述403的步骤。
在一种具体可实现方式中,执行单元502还用于:确定数据的重传次数、重传累计时间和重传间隔时间;当发生时间、重传累计时间和重传间隔时间满足第一条件时,根据数据的重传次数对数据执行预重传操作。示例性的,执行单元502可以执行上述S3021-S3022,或上述S4021-S4022的步骤。
在一种具体可实现方式中,第一条件包括以下任意一项:发生时间小于等于最低的重传间隔时间;发生时间大于最低的重传间隔时间,且小于等于最高的重传累计时间。
在一种具体可实现方式中,检测单元501还用于:当未检测到发生时间时,检测电子设备进入休眠状态或限网状态的发生事件;示例性的,检测单元501可以执行上述S304或上述404的步骤。
执行单元502还用于:当检测到发生事件,对数据执行预重传操作。示例性的,执行单元502可以执行上述S305或上述S405的步骤。
在一种具体可实现方式中,发生事件包括以下至少一项:电子设备的应用释放休眠锁;电子设备的防火墙拦截应用的数据包的操作;电子设备的应用从前台运行切换到后台运行的操作;电子设备的屏幕熄灭的操作。
在一种具体可实现方式中,执行单元502还用于:当检测到发生事件,获取数据的重传队列;确定数据的重传队列中存在重传数据;检测电子设备进入休眠状态或限网状态的发生时间;当检测到发生时间,且在发生时间到来之前,对数据执行预重传操作。示例性的,执行单元502可以执行上述S3051-S3054,或上述S4051-S4054的步骤。
可以理解的是,为了实现上述功能,电子设备包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个电子设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种数据传输方法,其特征在于,所述方法包括:
在电子设备上的应用发送完数据之后,检测所述电子设备进入休眠状态或限网状态的发生时间;
当检测到所述发生时间,及重传队列中存在待重传的所述数据时,在所述发生时间到来之前,对所述数据执行预重传操作。
2.根据权利要求1所述的方法,其特征在于,在电子设备上的应用发送完数据之后,检测所述电子设备进入休眠状态或限网状态的发生时间,包括:
在所述电子设备上的应用发送完数据之后,检测所述数据的重传次数;
当检测到所述数据存在重传次数时,检测所述电子设备进入休眠状态或限网状态的发生时间。
3.根据权利要求1或2所述的方法,其特征在于,当检测到所述发生时间,及重传队列中存在待重传的所述数据时,在所述发生时间到来之前,对所述数据执行预重传操作,包括:
确定所述数据的重传次数、重传累计时间和重传间隔时间;
当所述发生时间、所述重传累计时间和所述重传间隔时间满足第一条件时,根据所述数据的重传次数对数据执行预重传操作。
4.根据权利要求3所述的方法,其特征在于,所述第一条件包括以下任意一项:
所述发生时间小于等于最低的重传间隔时间;
所述发生时间大于最低的重传间隔时间,且小于等于最高的重传累计时间。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
当未检测到所述发生时间时,检测所述电子设备进入休眠状态或限网状态的发生事件;
当检测到所述发生事件,对所述数据执行预重传操作。
6.根据权利要求5所述的方法,其特征在于,所述发生事件包括以下至少一项:
所述电子设备的应用释放休眠锁;
所述电子设备的防火墙拦截应用的数据包的操作;
所述电子设备的应用从前台运行切换到后台运行的操作;
所述电子设备的屏幕熄灭的操作。
7.根据权利要求5所述的方法,其特征在于,当检测到所述发生事件,对所述数据执行预重传操作,包括:
当检测到所述发生事件,获取所述数据的重传队列;
确定数据的重传队列中存在重传数据;
检测所述电子设备进入休眠状态或限网状态的发生时间;
当检测到所述发生时间,且在所述发生时间到来之前,对数据执行预重传操作。
8.一种电子设备,其特征在于,所述电子设备包括:
检测单元,用于在电子设备上的应用发送完数据之后,检测所述电子设备进入休眠状态或限网状态的发生时间;
执行单元,用于当检测到所述发生时间,及重传队列中存在待重传的所述数据时,在所述发生时间到来之前,对所述数据执行预重传操作。
9.根据权利要求8所述的电子设备,其特征在于,所述检测单元还用于:
在所述电子设备上的应用发送完数据之后,检测所述数据的重传次数;
当检测到所述数据存在重传次数时,检测所述电子设备进入休眠状态或限网状态的发生时间。
10.根据权利要求8或9所述的电子设备,其特征在于,所述执行单元还用于:
确定所述数据的重传次数、重传累计时间和重传间隔时间;
当所述发生时间、所述重传累计时间和所述重传间隔时间满足第一条件时,根据所述数据的重传次数对数据执行预重传操作。
11.根据权利要求10所述的电子设备,其特征在于,所述第一条件包括以下任意一项:
所述发生时间小于等于最低的重传间隔时间;
所述发生时间大于最低的重传间隔时间,且小于等于最高的重传累计时间。
12.根据权利要求8-11中任一项所述的电子设备,其特征在于,
所述检测单元还用于:当未检测到所述发生时间时,检测所述电子设备进入休眠状态或限网状态的发生事件;
所述执行单元还用于:当检测到所述发生事件,对所述数据执行预重传操作。
13.根据权利要求12所述的电子设备,其特征在于,所述发生事件包括以下至少一项:
所述电子设备的应用释放休眠锁;
所述电子设备的防火墙拦截应用的数据包的操作;
所述电子设备的应用从前台运行切换到后台运行的操作;
所述电子设备的屏幕熄灭的操作。
14.根据权利要求12所述的电子设备,其特征在于,所述执行单元还用于:
当检测到所述发生事件,获取所述数据的重传队列;
确定数据的重传队列中存在重传数据;
检测所述电子设备进入休眠状态或限网状态的发生时间;
当检测到所述发生时间,且在所述发生时间到来之前,对数据执行预重传操作。
15.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;以及存储器,所述存储器中存储有代码;当所述代码被所述处理器执行时,使得所述电子设备执行如权利要求1-7任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211007767.8A CN117615429A (zh) | 2022-08-22 | 2022-08-22 | 一种数据传输方法和电子设备 |
PCT/CN2023/111975 WO2024041384A1 (zh) | 2022-08-22 | 2023-08-09 | 一种数据传输方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211007767.8A CN117615429A (zh) | 2022-08-22 | 2022-08-22 | 一种数据传输方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117615429A true CN117615429A (zh) | 2024-02-27 |
Family
ID=89942981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211007767.8A Pending CN117615429A (zh) | 2022-08-22 | 2022-08-22 | 一种数据传输方法和电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117615429A (zh) |
WO (1) | WO2024041384A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9439142B2 (en) * | 2013-03-15 | 2016-09-06 | Samsung Electronics Co., Ltd. | Power saving for low latency deterministic networks in wireless personal area networks |
US10198059B2 (en) * | 2016-04-20 | 2019-02-05 | Microsoft Technology Licensing, Llc | Adaptive doze to hibernate |
US11405271B2 (en) * | 2017-12-06 | 2022-08-02 | Honor Device Co., Ltd. | Method for reducing power consumption and device |
US11330519B1 (en) * | 2020-02-13 | 2022-05-10 | Amazon Technologies, Inc. | Device power management transitions in wireless networks |
CN113709852B (zh) * | 2020-05-22 | 2024-03-05 | 华为技术有限公司 | 一种通信传输的方法、装置及系统 |
CN113766614B (zh) * | 2021-06-10 | 2023-04-18 | 荣耀终端有限公司 | 降低终端设备功耗的方法和终端设备 |
-
2022
- 2022-08-22 CN CN202211007767.8A patent/CN117615429A/zh active Pending
-
2023
- 2023-08-09 WO PCT/CN2023/111975 patent/WO2024041384A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024041384A1 (zh) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4145286A1 (en) | Memory management method and electronic device | |
US20220350602A1 (en) | Multi-Thread Synchronization Method and Electronic Device | |
WO2021223539A1 (zh) | 射频资源分配方法及装置 | |
WO2022199509A1 (zh) | 应用执行绘制操作的方法及电子设备 | |
EP4106366A1 (en) | Bluetooth device identifier display method and electronic device | |
WO2023005282A1 (zh) | 一种消息推送方法及装置 | |
CN107678876A (zh) | 冻屏监测与解决方法、移动终端及计算机可读存储介质 | |
WO2023202429A1 (zh) | 垃圾回收的方法及电子设备 | |
WO2021244175A1 (zh) | 射频切换方法及装置 | |
CN112732434A (zh) | 一种应用管理方法及装置 | |
CN113645608B (zh) | 数据传输方法和数据传输装置 | |
WO2019128586A1 (zh) | 应用程序处理方法、电子设备、计算机可读存储介质 | |
CN111381996B (zh) | 内存异常处理方法及装置 | |
WO2021037228A1 (zh) | 一种系统应用的管理方法及装置 | |
CN117615429A (zh) | 一种数据传输方法和电子设备 | |
CN109992363B (zh) | 应用程序处理方法和装置、电子设备、计算机可读存储介质 | |
CN115016631B (zh) | 进程调度方法和终端设备 | |
CN111858084B (zh) | 一种数据发送方法、装置、电子设备及存储介质 | |
CN114024878A (zh) | 数据传输方法、装置、介质和设备 | |
WO2023071382A1 (zh) | 确定nat穿越策略的方法及设备 | |
CN115767602B (zh) | 设备协议子系统异常自动纠错方法和电子设备 | |
CN113542315B (zh) | 通信框架、业务事件处理方法及装置 | |
CN116048829B (zh) | 接口调用方法、设备及存储介质 | |
CN116048646B (zh) | 进程处理方法及电子设备 | |
WO2024083133A1 (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 |