CN115134404A - 管理推送连接的方法和电子设备 - Google Patents
管理推送连接的方法和电子设备 Download PDFInfo
- Publication number
- CN115134404A CN115134404A CN202110316752.9A CN202110316752A CN115134404A CN 115134404 A CN115134404 A CN 115134404A CN 202110316752 A CN202110316752 A CN 202110316752A CN 115134404 A CN115134404 A CN 115134404A
- Authority
- CN
- China
- Prior art keywords
- pushing
- push
- message
- connection
- server
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000015654 memory Effects 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 17
- 230000003111 delayed effect Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 48
- 238000004891 communication Methods 0.000 description 46
- 230000006854 communication Effects 0.000 description 46
- 238000007726 management method Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 28
- 230000005540 biological transmission Effects 0.000 description 27
- 230000008569 process Effects 0.000 description 18
- 238000010295 mobile communication Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种管理推送连接的方法和电子设备。该方法包括:服务端从客户端接收请求消息,所述请求消息用于获取第一推送时刻,所述第一推送时刻为所述客户端和所述服务端建立的推送连接下一次发送推送消息的推送时间;所述服务端向所述客户端发送所述第一推送时刻,以便于所述客户端根据所述第一推送时刻在所述第一推送时刻之前重建或维持所述推送连接。推送消息是服务端生成的,服务端能够预测未来发送推送消息的时刻。客户端获取第一推送时刻后,可以在第一推送时刻到来前重建或者维持该推送连接,从而可以避免推送消息产生较大的延迟或者传输失败。
Description
技术领域
本申请涉及电子技术领域,具体涉及一种管理推送连接的方法和电子设备。
背景技术
推送是终端设备上安装的应用程序(application,APP)与APP服务器之间传递信息的一种方式。例如,游戏APP的服务器会定时地或者不定时地向终端设备发送信息,这种传递信息的方式即推送,承载该信息的消息即推送消息。
推送消息可以通过推送连接传输,但是,维持一条推送连接需要占用端口等通信资源,还会增大终端设备和APP服务器的能耗,因此,有必要对推送连接的管理方式进行优化。
一种管理推送连接的方法是确定推送消息的传输频率,在传输频率较高时维持推送连接,在传输频率较低时断开推送连接,从而节省了通信资源和能耗。但是,传输频率并不能反映准确的传输时刻,推送连接断开后,终端设备不确定下一个推送消息的传输时刻,无法及时重建推送连接,从而导致推送消息产生较大的延迟甚至传输失败。
发明内容
本申请提供了一种管理推送连接的方法、电子设备、计算机程序产品和计算机可读存储介质,能够避免推送消息产生较大的延迟或者传输失败。
第一方面,提供了一种管理推送连接的方法,包括:电子设备向服务端发送请求消息,所述请求消息用于获取第一推送时刻,所述第一推送时刻为下一次发送推送消息的推送时间,所述推送消息通过所述电子设备和所述服务端之间的第一推送连接进行发送;所述服务端从所述电子设备接收所述请求消息;所述服务端根据所述请求消息,向所述电子设备发送第一消息,所述第一消息包括所述第一推送时刻,以便于所述电子设备根据所述第一推送时刻在所述第一推送时刻之前断开或维持所述第一推送连接;所述电子设备从所述服务端接收所述第一消息;所述电子设备根据所述第一消息及预设规则,断开或维持所述第一推送连接。
推送消息是服务端生成的,服务端能够预测未来发送推送消息的时刻。服务端将第一推送时刻发送给客户端后,若客户端确定在第一推送时刻有推送消息将通过推送连接传输,可以在第一推送时刻到来前重建该推送连接或者维持该推送连接,从而可以避免推送消息产生较大的延迟或者传输失败。
可选地,所述方法还包括:所述服务端根据所述请求消息,向所述电子设备发送所述第一消息,所述第一消息包括第一推送时刻,包括:所述服务端根据所述历史数据预测所述第一推送时刻,所述第一推送时刻为所述第一推送连接下一次发送推送消息的推送时间。
历史数据反映了推送消息在过去一段时间内的传输规律,因此,服务端可以根据历史数据预测未来一段时间内的推送时刻,并根据客户端的请求将第一推送时刻发送给客户端,以便于客户端在第一推送时刻之前重建或维持所述推送连接。
可选地,所述历史数据包括所述第一推送连接对应的终端设备标识、应用程序标识和用户标识,所述服务端根据所述请求消息,向所述电子设备发送所述第一消息,包括:所述服务端根据所述请求消息,获取所述第一推送连接相关的终端设备标识、应用程序标识和用户标识;所述服务端根据所述第一推送连接对应的终端设备标识、应用程序标识、用户标识以及所述历史数据预测所述第一推送时刻。
推送连接的标识(identifier,ID)对于推送时刻的预测精度来说非常重要,若推送连接的ID选取不够精确,会导致推送时刻的预测精度下降,从而给用户带来糟糕的体验。在实际推送场景中,终端设备接入网络的接入方式会经常变换,这会导致推送连接的互联网协议(internet protocol,IP)地址经常变化;此外,一个终端设备上的多个APP接收各自的推送消息时会使用相同的IP地址,不同用户可能会使用同一个终端设备上相同的APP接收推送消息;这些情况对于推送连接的ID的选取造成了较大的困难。本实施例通过终端设备ID、APP ID和用户ID来标识一个推送连接,相比于通过IP地址标识推送连接预测推送时刻,本实施例能够精确标识一条推送连接,提高推送时刻的预测精度。
可选地,在所述电子设备向服务端发送请求消息之前,所述方法还包括:所述服务端向所述电子设备发送第一推送消息,所述第一推送消息的发送时间为第二推送时刻;其中,所述第二推送时刻与所述第一推送时刻为两个相邻的推送时刻,所述第二推送时刻位于所述第一推送时刻之前,所述电子设备根据所述第一消息及预设规则,断开或维持所述第一推送连接,包括:若所述第二推送时刻与所述第一推送时刻的间隔小于时间阈值时,所述电子设备维持所述第一推送连接;若所述第二推送时刻与所述第一推送时刻的间隔大于或等于时间阈值时,所述电子设备断开所述第一推送连接;所述电子设备在所述第一推送时刻重新建立与所述服务端的第二推送连接。
推送连接的建立和维持均需要消耗一定的资源(如信令资源和能源),若第一推送时刻与第二推送时刻的间隔较短,则重建推送连接比维持推送连接要消耗更多的资源,客户端和服务端可以在第二推送时刻的推送消息传输完成后维持推送连接;若第一推送时刻与第二推送时刻的间隔较长,则维持推送连接比重建推送连接要消耗更多的资源,客户端和服务端可以在第二推送时刻的推送消息传输完成后断开推送连接,并在第一推送时刻到达前重建推送连接。上述实施例可以在保证推送消息及时传输的同时降低推送消息的资源消耗。
可选地,所述电子设备在所述第一推送时刻重新建立与所述服务端的第二推送连接,包括:所述电子设备获取路由信息;所述电子设备根据所述路由信息重新建立与所述服务端的第二推送连接。
可选地,在所述第二推送时刻之后,所述第二推送连接与所述第一推送连接为相同的推送连接。
可选地,所述方法还包括:
在所述第一推送时刻之后,服务端向电子设备发送第二推送消息,所述第二推送消息通过所述第二推送连接发送;
所述电子设备通过所述第二推送连接从所述服务端接收所述第二推送消息。
可选地,所述第二推送消息包括以下几种消息中的一种或多种:新闻消息,软件更新消息,提醒消息。
可选地,所述第一消息为心跳响应消息。
若发送第一推送时刻前,服务端与客户端之间的推送连接处于维持状态,则服务端可以通过心跳响应消息向终端设备发送第一推送时刻,相比于独立传输的第一推送时刻,本实施例可以节约资源。
第二方面,提供了另一种管理推送连接的方法,包括:电子设备向服务端发送请求消息,所述请求消息用于获取第一推送时刻,所述第一推送时刻为下一次发送推送消息的推送时间,所述推送消息通过所述电子设备和所述服务端之间的第一推送连接进行发送;所述电子设备从所述服务端接收第一消息,所述第一消息包括所述第一推送时刻;所述电子设备根据所述第一消息及预设规则,断开或维持所述第一推送连接。
历史数据反映了推送消息在过去一段时间内的传输规律,因此,服务端可以根据历史数据预测未来一段时间内的推送时刻,并根据客户端的请求将第一推送时刻发送给客户端。若客户端确定在第一推送时刻有推送消息将通过推送连接传输,可以在第一推送时刻到来前重建该推送连接或者维持该推送连接,从而可以避免推送消息产生较大的延迟或者传输失败。
可选地,在所述电子设备向服务端发送请求消息之前,所述方法还包括:所述电子设备从所述服务端接收第一推送消息,所述第一推送消息的发送时间为第二推送时刻;其中,所述第二推送时刻与所述第一推送时刻为两个相邻的推送时刻,所述第二推送时刻位于所述第一推送时刻之前;所述电子设备根据所述第一消息及预设规则,断开或维持所述第一推送连接,包括:若所述第二推送时刻与所述第一推送时刻的间隔小于时间阈值时,所述电子设备维持所述第一推送连接;若所述第二推送时刻与所述第一推送时刻的间隔大于或等于时间阈值时,所述电子设备断开所述第一推送连接;所述电子设备在所述第一推送时刻重新建立与所述服务端的第二推送连接。
推送连接的建立和维持均需要消耗一定的资源(如信令资源和能源),若第一推送时刻与第二推送时刻的间隔较短,则重建推送连接比维持推送连接要消耗更多的资源,客户端和服务端可以在第二推送时刻的推送消息传输完成后维持推送连接;若第一推送时刻与第二推送时刻的间隔较长,则维持推送连接比重建推送连接要消耗更多的资源,客户端和服务端可以在第二推送时刻的推送消息传输完成后断开推送连接,并在第一推送时刻到达前重建推送连接。上述实施例可以在保证推送消息及时传输的同时降低推送消息的资源消耗。
可选地,所述电子设备在所述第一推送时刻重新建立与所述服务端的第二推送连接,包括:所述电子设备获取路由信息;所述电子设备根据所述路由信息重新建立与所述服务端的第二推送连接。
可选地,在所述第一推送时刻之后,所述第二推送连接与所述第一推送连接为相同的推送连接。
可选地,所述方法还包括:在所述第一推送时刻之后,所述电子设备通过所述第二推送连接从所述服务端接收第二推送消息。
可选地,所述第二推送消息包括以下几种消息中的一种或多种:新闻消息,软件更新消息,提醒消息。
可选地,所述第一消息为心跳响应消息。
若发送第一推送时刻前,客户端和服务端之间的推送连接处于维持状态,则服务端可以通过心跳响应消息向终端设备发送第一推送时刻,相比于独立传输的第一推送时刻,本实施例可以节约资源。
第三方面,提供了一种管理推送连接的装置,包括用于执行第一方面中任一种方法的单元。该装置可以是服务器,也可以是芯片。该装置可以包括输入单元和处理单元。
当该装置是服务器时,该处理单元可以是处理器,该输入单元可以是通信接口或其它输入设备;该服务器还可以包括存储器,该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该服务器执行第一方面中的任一种方法。
当该装置是芯片时,该处理单元可以是芯片内部的处理单元,该输入单元可以是输入/输出接口、管脚或电路等;该芯片还可以包括存储器,该存储器可以是该芯片内的存储器(例如,寄存器、缓存等),也可以是位于该芯片外部的存储器(例如,只读存储器、随机存取存储器等);该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该芯片执行第一方面中的任一种方法。
第四方面,提供了一种管理推送连接的装置,包括用于执行第二方面中任一种方法的单元。该装置可以是终端设备,也可以是芯片。该装置可以包括输入单元和处理单元。
当该装置是终端设备时,该处理单元可以是处理器,该输入单元可以是通信接口或其它输入设备;该终端设备还可以包括存储器,该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该终端设备执行第二方面中的任一种方法。
当该装置是芯片时,该处理单元可以是芯片内部的处理单元,该输入单元可以是输入/输出接口、管脚或电路等;该芯片还可以包括存储器,该存储器可以是该芯片内的存储器(例如,寄存器、缓存等),也可以是位于该芯片外部的存储器(例如,只读存储器、随机存取存储器等);该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该芯片执行第二方面中的任一种方法。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被管理推送连接的装置运行时,使得该装置执行第一方面中的任一种方法。
第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被管理推送连接的装置运行时,使得该装置执行第二方面中的任一种方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被管理推送连接的装置运行时,使得该装置执行第一方面中的任一种方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被管理推送连接的装置运行时,使得该装置执行第二方面中的任一种方法。
附图说明
图1是本申请提供的一种终端设备的硬件系统的示意图;
图2是本申请提供的一种推送方法的示意图;
图3是本身请提供的第一推送消息的一个示例;
图4是本身请提供的第二推送消息的一个示例;
图5是本申请提供的另一种推送方法的示意图;
图6是本申请提供的推送时间计算模块的工作流程示意图;
图7是本申请提供的再一种管理推送连接的方法的示意图;
图8是本申请提供的一种管理推送连接的装置的示意图;
图9是本申请提供的另一种管理推送连接的装置的示意图;
图10是本申请提供的一种管理推送连接的电子设备的示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
图1示出了一种适用于本申请的装置的硬件结构。
装置100可以是手机、智慧屏、平板电脑、可穿戴电子设备、车载电子设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、投影仪等等,本申请实施例对装置100的具体类型不作任何限制。
装置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等。
需要说明的是,图1所示的结构并不构成对装置100的具体限定。在本申请另一些实施例中,装置100可以包括比图1所示的部件更多或更少的部件,或者,装置100可以包括图1所示的部件中某些部件的组合,或者,装置100可以包括图1所示的部件中某些部件的子部件。图1示的部件可以以硬件、软件、或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如,处理器110可以包括以下处理单元中的至少一个:应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器、神经网络处理器(neural-network processing unit,NPU)。其中,不同的处理单元可以是独立的器件,也可以是集成的器件。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。例如,处理器110可以包括以下接口中的至少一个:内部集成电路(inter-integrated circuit,I2C)接口、内部集成电路音频(inter-integrated circuit sound,I2S)接口、脉冲编码调制(pulse codemodulation,PCM)接口、通用异步接收传输器(universal asynchronous receiver/transmitter,UART)接口、移动产业处理器接口(mobile industry processor interface,MIPI)、通用输入输出(general-purpose input/output,GPIO)接口、SIM接口、USB接口。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDL)和一根串行时钟线(serial clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K、充电器、闪光灯、摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现装置100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194和摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI)、显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现装置100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现装置100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号接口,也可被配置为数据信号接口。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194、无线通信模块160、音频模块170和传感器模块180。GPIO接口还可以被配置为I2C接口、I2S接口、UART接口或MIPI接口。
USB接口130是符合USB标准规范的接口,例如可以是迷你(Mini)USB接口、微型(Micro)USB接口或C型USB(USB Type C)接口。USB接口130可以用于连接充电器为装置100充电,也可以用于装置100与外围设备之间传输数据,还可以用于连接耳机以通过耳机播放音频。USB接口130还可以用于连接其他装置100,例如AR设备。
图1所示的各模块间的连接关系只是示意性说明,并不构成对装置100的各模块间的连接关系的限定。可选地,装置100的各模块也可以采用上述实施例中多种连接方式的组合。
充电管理模块140用于从充电器接收电力。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的电流。在一些无线充电的实施例中,充电管理模块140可以通过装置100的无线充电线圈接收电磁波(电流路径如虚线所示)。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为装置100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量、电池循环次数和电池健康状态(例如,漏电、阻抗)等参数。可选地,电源管理模块141可以设置于处理器110中,或者,电源管理模块141和充电管理模块140可以设置于同一个器件中。
装置100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等器件实现。
天线1和天线2用于发射和接收电磁波信号。装置100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在装置100上的无线通信的解决方案,例如下列方案中的至少一个:第二代(2th generation,2G)移动通信解决方案、第三代(3thgeneration,3G)移动通信解决方案、第四代(4th generation,5G)移动通信解决方案、第五代(5th generation,5G)移动通信解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波和放大等处理,随后传送至调制解调处理器进行解调。移动通信模块150还可以放大经调制解调处理器调制后的信号,放大后的该信号经天线1转变为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(例如,扬声器170A、受话器170B)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
与移动通信模块150类似,无线通信模块160也可以提供应用在装置100上的无线通信解决方案,例如下列方案中的至少一个:无线局域网(wireless local areanetworks,WLAN)、蓝牙(bluetooth,BT)、全球导航卫星系统(global navigationsatellite system,GNSS)、调频(frequency modulation,FM)、近场通信(near fieldcommunication,NFC)、红外(infrared,IR)。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,并将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频和放大,该信号经天线2转变为电磁波辐射出去。
在一些实施例中,装置100的天线1和移动通信模块150耦合,装置100的天线2和无线通信模块160耦合。
装置100可以通过GPU、显示屏194以及应用处理器实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194可以用于显示图像或视频。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)、有源矩阵有机发光二极体(active-matrix organic light-emitting diode,AMOLED)、柔性发光二极管(flex light-emitting diode,FLED)、迷你发光二极管(mini light-emitting diode,Mini LED)、微型发光二极管(micro light-emitting diode,Micro LED)、微型OLED(Micro OLED)或量子点发光二极管(quantum dotlight emitting 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将数字图像信号转换成标准的红绿蓝(red green blue,RGB),YUV等格式的图像信号。在一些实施例中,装置100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当装置100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。装置100可以支持一种或多种视频编解码器。这样,装置100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3和MPEG4。
NPU是一种借鉴生物神经网络结构的处理器,例如借鉴人脑神经元之间传递模式对输入信息快速处理,还可以不断地自学习。通过NPU可以实现装置100的智能认知等功能,例如:图像识别、人脸识别、语音识别和文本理解。
外部存储器接口120可以用于连接外部存储卡,例如安全数码(secure digital,SD)卡,实现扩展装置100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能(例如,声音播放功能和图像播放功能)所需的应用程序。存储数据区可存储装置100使用过程中所创建的数据(例如,音频数据和电话本)。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如:至少一个磁盘存储器件、闪存器件和通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令和/或存储在设置于处理器中的存储器的指令,执行装置100的各种处理方法。
装置100可以通过音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D以及应用处理器等实现音频功能,例如,音乐播放和录音。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也可以用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170或者音频模块170的部分功能模块可以设置于处理器110中。
扬声器170A,也称为喇叭,用于将音频电信号转换为声音信号。装置100可以通过扬声器170A收听音乐或免提通话。
受话器170B,也称为听筒,用于将音频电信号转换成声音信号。当用户使用装置100接听电话或语音信息时,可以通过将受话器170B靠近耳朵接听语音。
麦克风170C,也称为话筒或传声器,用于将声音信号转换为电信号。当用户拨打电话或发送语音信息时,可以通过靠近麦克风170C发声将声音信号输入麦克风170C。装置100可以设置至少一个麦克风170C。在另一些实施例中,装置100可以设置两个麦克风170C,以实现降噪功能。在另一些实施例中,装置100还可以设置三个、四个或更多麦克风170C,以实现识别声音来源和定向录音等功能。处理器110可以对麦克风170C输出的电信号进行处理,例如,音频模块170与无线通信模块160可以通过PCM接口耦合,麦克风170C将环境声音转换为电信号(如PCM信号)后,通过PCM接口将该电信号传输至处理器110;从处理器110对该电信号进行音量分析和频率分析,确定环境声音的音量和频率。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动装置100平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,例如可以是电阻式压力传感器、电感式压力传感器或电容式压力传感器。电容式压力传感器可以是包括至少两个具有导电材料的平行板,当力作用于压力传感器180A,电极之间的电容改变,装置100根据电容的变化确定压力的强度。当触摸操作作用于显示屏194时,装置100根据压力传感器180A检测所述触摸操作。装置100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令;当触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定装置100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定装置100围绕三个轴(即,x轴、y轴和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。例如,当快门被按下时,陀螺仪传感器180B检测装置100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消装置100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航和体感游戏等场景。
气压传感器180C用于测量气压。在一些实施例中,装置100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。装置100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当装置100是翻盖机时,装置100可以根据磁传感器180D检测翻盖的开合。装置100可以根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测装置100在各个方向上(一般为x轴、y轴和z轴)加速度的大小。当装置100静止时可检测出重力的大小及方向。加速度传感器180E还可以用于识别装置100的姿态,作为横竖屏切换和计步器等应用程序的输入参数。
距离传感器180F用于测量距离。装置100可以通过红外或激光测量距离。在一些实施例中,例如在拍摄场景中,装置100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(light-emitting diode,LED)和光检测器,例如,光电二极管。LED可以是红外LED。装置100通过LED向外发射红外光。装置100使用光电二极管检测来自附近物体的红外反射光。当检测到反射光时,装置100可以确定附近存在物体。当检测不到反射光时,装置100可以确定附近没有物体。装置100可以利用接近光传感器180G检测用户是否手持装置100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式或口袋模式的自动解锁与自动锁屏。
环境光传感器180L用于感知环境光亮度。装置100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测装置100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。装置100可以利用采集的指纹特性实现解锁、访问应用锁、拍照和接听来电等功能。
温度传感器180J用于检测温度。在一些实施例中,装置100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,装置100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,装置100对电池142加热,以避免低温导致装置100异常关机。在其他一些实施例中,当温度低于又一阈值时,装置100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称为触控器件。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,触摸屏也称为触控屏。触摸传感器180K用于检测作用于其上或其附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于装置100的表面,并且与显示屏194设置于不同的位置。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键和音量键。按键190可以是机械按键,也可以是触摸式按键。装置100可以接收按键输入信号,实现于案件输入信号相关的功能。
马达191可以产生振动。马达191可以用于来电提示,也可以用于触摸反馈。马达191可以对作用于不同应用程序的触摸操作产生不同的振动反馈效果。对于作用于显示屏194的不同区域的触摸操作,马达191也可产生不同的振动反馈效果。不同的应用场景(例如,时间提醒、接收信息、闹钟和游戏)可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态和电量变化,也可以用于指示消息、未接来电和通知。
SIM卡接口195用于连接SIM卡。SIM卡可以插入SIM卡接口195实现与装置100的接触,也可以从SIM卡接口195拔出实现与装置100的分离。装置100可以支持1个或N个SIM卡接口,N为大于1的正整数。同一个SIM卡接口195可以同时插入多张卡,所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容外部存储卡。装置100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,装置100采用嵌入式SIM(embedded-SIM,eSIM)卡,eSIM卡可以嵌在装置100中,不能和装置100分离。
上文详细描述了装置100的硬件系统,下面介绍装置100的软件系统。软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构,本申请以微服务架构为例,示例性地描述装置100的软件系统。
如图2所示,采用微服务架构的软件系统可以按粗粒度分成两个模块,即,客户端和服务端,客户端例如是图1所示的装置100,服务端例如是应用程序编程接口(application programming interface,API)网关,用于为客户端提供统一的接入服务;在本申请中,服务端可以包括推送时间计算模块。下面分别介绍客户端、服务端和推送时间计算模块的具体功能。
S201,创建推送连接。客户端可以向服务端发送推送连接建立请求,请求建立推送连接,该请求消息可以携带客户端的相关信息,如终端设备ID、APP ID和用户ID。服务端收到推送连接建立请求后可以为客户端分配通信资源(如监听端口),并将包含通信资源的响应消息发送给客户端,从而完成推送连接的创建。
S202,发送第一推送消息。客户端与服务端之间创建推送连接(如WebSocket连接)后,服务端可以向客户端发送第一推送消息,第一推送消息可以是广告,也可以APP内部的通知消息,本申请对第一推送消息的具体内容不做限定。
图3是本申请提供的第一推送消息的一个示例。用户在客户端的音乐APP上充值后,服务端通过推送连接向客户端返回充值结果,该充值结果即第一推送消息。
S203,采集历史数据。服务端的推送时间计算模块用于从多种消息中采集历史数据,例如,推送时间计算模块可以从推送连接建立请求中采集终端设备ID、APP ID和用户ID,这三种信息的组合可以作为推送连接的ID;推送时间计算模块还可以获取第一推送消息的发送时刻,该发送时刻用于推送时间计算模块预测该推送连接下次发送推送消息的时刻。
历史数据还可以包括服务端的地址信息,如服务端的IP地址和监听端口,当客户端需要重连至先前连接的服务端时,可以依据该地址信息进行重连。
S204,预测推送连接的推送时间。推送时间计算模块获取历史数据后,基于历史数据预测推送连接在未来一段时间内的推送时间。下文会详细介绍推送时间计算模块的工作流程。
客户端和服务端建立通信连接后,通过心跳机制维持该推送连接,即,客户端向服务端发送一个心跳消息,服务端向客户端回复一个心跳响应消息。可选地,客户端可以利用心跳消息请求获取推送连接的下一个推送时间,如S206所示。
S205,客户端的第一心跳消息处理模块生成并发送心跳消息,该心跳消息可以包含推送连接的ID,以便于服务端查询该ID对应的推送连接的下一个推送时间。
S206,服务端的第二心跳消息处理模块收到心跳消息后,从心跳消息中解析出推送连接的ID,并向推送时间获取模块查询该ID对应的推送连接的下一个推送时间。
S207,推送时间计算模块可以以推送连接的ID为查询条件查询该推送连接下一次发送推送消息的推送时间,并将该推送时间发送给第二心跳消息处理模块。
S208,服务端的第二心跳消息处理模块向客户端发送推送连接的推送时间和路由信息。
服务端的第二心跳消息处理模块将推送时间和推送连接的ID打包到心跳响应消息中,以便于客户端做出管理该推送连接的决策。可选地,对于一些具有会话状态的推送连接,服务端保存了客户端所需的会话信息,客户端重建推送连接时需要重连至先前连接的服务端,因此,心跳响应消息还可以包含其它与推送连接相关的信息,如服务端的地址信息,以便于客户端与先前连接的服务端重新建立推送连接。
心跳响应消息格式的一个示例如下所示。
上述推送连接ID可以是终端设备ID、APP ID和用户ID,上述服务端地址可以是IP地址和端口,下次推送时间可以是相对时间(即,相邻两次推送时间的时间差),也可以是绝对时间(即,下次推送的具体时间)。
客户端收到心跳响应消息后,通过第一心跳消息处理模块解析出推送连接ID、下次推送时间以及路由信息,随后,执行S209和S210。
S209,客户端的第一心跳消息处理模块将推送连接ID和路由信息发送至推送路由管理模块,由推送路由管理模块缓存该路由信息。
S210,客户端的第一心跳消息处理模块将推送连接ID和推送时间发送至客户端的第一推送连接管理模块,以便于第一推送连接管理模块做决策。
第一推送连接管理模块根据推送连接的下次推送时间对该推送连接进行管理,确定维持或重建推送连接。
例如,当下次推送时间距离当前时刻较远时,客户端和服务端可以断开推送连接,客户端可以设置一个定时器,在定时器超时时发起推送连接的重建过程。当下次推送时间距离当前时刻较近时,客户端和服务端可以通过心跳机制维持当前的推送连接,等待下次推送时间的到来。
当推送连接管理模块选择重建推送连接时,可以执行S211~S213。
S211,客户端的第一推送连接管理模块断开推送连接。例如,第一推送连接管理模块可以向服务端发送指示信息,指示服务端断开推送连接;服务端收到指示信息后,即可断开该推送连接,释放该推送连接的端口等通信资源。
S212,客户端的第一推送连接管理模块读取路由信息。客户端的第一推送连接管理模块可以从推送路由管理模块中读取路由信息。在一些可选的实施例中,客户端无需重连前一次的连接的服务器,则S208无需返回路由信息,客户端可以从可用的路由信息中选择一个作为重建推送连接的路由信息。
S213,客户端的第一推送连接管理模块根据路由信息重建推送连接,重建过程与S201相同。
S214,推送连接重建完成后,客户端即在下次推送时间可从服务端接收第二推送消息。
第二推送消息的一个示例如图4所示,服务端通过推送连接向客户端发送新歌上架消息,该新歌上架消息为广告消息,也是第二推送消息的一个示例。可选地,第二推送消息还可以是新闻、还款提醒等定时触发的推送消息。
当推送连接管理模块选择维持推送连接时,可以执行图5所示的方法。
图5中,S501~S510与S201~S210相同,即,S501与S201相同,S502与S202相同,…,S510与S210相同,不再赘述。
S511,客户端的第一推送连接管理模块可以通过心跳响应机制维持推送连接。
S512,在下次推送时间,客户端从服务端接收第二推送消息。
应理解,上述各个步骤的先后顺序由其内在逻辑决定,步骤的编号与步骤的先后顺序之间不存在关联关系。
上文详细介绍了客户端和服务端管理推送连接的流程,下面介绍推送时间的预测过程。
如图6所示,推送时间计算模块包括历史数据处理模块、推送时间预测模块和推送时间管理模块。
历史数据处理模块从历史数据采集模块获取历史数据后,对历史数据进行过滤、清洗和汇总等预处理,并保存到大数据系统(如HBase)中。
下面简要介绍上述预处理过程。
历史数据例如是携带推送连接ID(ConnectID)字段的关键绩效指标(keyperformance indicator,KPI)数据。
由于历史数据采集模块收集的KPI数据可能包含一些无效数据,需要对这些无效数据进行过滤处理,以提高推送时刻的预测精度。
例如,由于网络超时的原因,相同的KPI数据可能被传输多次,历史数据处理模块需要去除这些重复的KPI数据;还有一些KPI数据可能不包含ConnectID字段,这些KPI数据无法用来预测推送时刻,属于非法数据,历史数据处理模块也需要去除这些KPI数据。
此外,历史数据采集模块收集的KPI数据通常是一些无序的数据的集合,为了便于推送时间预测模块使用这些KPI数据,需要对历史数据采集模块收集的KPI数据进行清洗处理。清洗处理可以包括分类处理和格式化处理。
例如,历史数据处理模块可以将具有相同ConnectID字段的多个KPI数据存储在相同位置,即,对KPI数据进行分类处理,这样,推送时间预测模块可以快速获取KPI数据,提高推送时刻的预测速率;若多个KPI数据的时间字段的格式不同,历史数据处理模块还可以将KPI数据的时间字段转换相同的格式(如,年/月/日),从而可以提高预测精度。
历史数据处理模块可以先对历史数据进行过滤,再对过滤后的历史数据进行清洗;也可以先对历史数据进行清洗,再对历史数据进行过滤。本申请对过滤和清洗的先后顺序不做限定。
历史数据处理模块可以对过滤和清洗后的历史数据进行汇总。例如,可以按月对历史数据进行汇总,也可以按天对历史数据进行汇总,即,将每月或每天的历史数据储存在相同的位置,以便于推送时间预测模块进行预测。
经过上述预处理后,历史数据能够更加准确地反映推送消息的传输规律,随后,推送时间预测模块可以从大数据系统获取预处理后的历史数据,通过预测模型处理该历史数据,得到推送连接未来发送推送消息的推送时间。上述预测模型例如是自回归积分滑动平均(autoregressive integrated moving average,ARIMA)模型或神经网络模型。
推送时间管理模块用于存储推送时间,存储形式可以是键值(key value,KV)形式,其中,推送连接ID为K,推送时间为V。推送时间管理模块向外提供查询接口。
推送时间管理模块保存的推送时间的数据结构如下所示(示例而非限定)。
Map connectMap=new HashMap<connectId,T>()
查询接口Rest API的一个示例如下所示。
当推送时间获取模块调用推送时间管理模块的查询接口时,推送时间管理模块根据推送连接的ID将查到的推送时间返回给推送时间获取模块。
下面,将详细介绍本申请提供的管理推送连接的方法700。
方法700如图7所示,可以由APP服务器执行。方法700可以包括如下步骤中的全部或部分。
S710,获取推送连接的历史数据,所述历史数据用于指示所述推送连接在多个历史周期内的推送时刻;
S720,根据所述历史数据预测所述推送连接在当前周期内的第一推送时刻,所述第一推送时刻为所述推送连接在当前周期内的下次推送时间;
S730,从客户端接收请求消息,所述请求消息用于请求获取所述推送连接的下次推送时间;
S740,向所述客户端发送所述第一推送时刻,以便于所述客户端在所述第一推送时刻之前重建或维持所述推送连接。
上述历史数据可以是已发送的多个推送消息,由于该多个推送消息包含发送时间戳,因此,该多个推送消息能够指示推送时刻。历史数据也可以是记录推送时刻的日志文件,本申请对历史数据的具体形式不做限定。
可选地,在获取足够的历史数据前,终端设备和APP服务器可以不依赖历史数据管理推送连接,待积累了足够的历史数据后再实施方法700。例如,在获取足够的历史数据前,终端设备和APP服务器可以在推送连接的当前空闲时间大于最大空闲时间时断开推送连接,或者,终端设备和APP服务器可以在推送连接的当前推送次数超过最大推送次数时断开推送连接。本申请对获取足够的历史数据前的推送连接管理方法不做限定。
方法700中,多个历史周期可以是过去的时间中的至少两个自然日、至少两个周或者至少两个月,本申请对一个周期的具体时长不做限定。历史数据反映了推送消息在过去一段时间内的传输规律,因此,终端设备或者APP服务器可以通过ARIMA模型或神经网络模型从上述历史数据中发现该传输规律,并基于该传输规律预测当前周期内的推送时刻。
确定当前周期内的第一推送时刻后,终端设备可以在第一推送时刻前维持推送连接,也可以在第一推送时刻前先断开推送连接再重建该推送连接,保证该推送连接在第一推送时刻能够传输推送消息,从而可以避免推送消息产生较大的延迟或者传输失败。
例如,用户A经常在21:00—22:00之间玩游戏,游戏服务器需要将游戏相关的数据通过推送消息发送给用户A,其中,21:00—21:30之间的推送消息的发送数量为10,21:30—22:00之间的推送消息的发送数量为1。按照传统的推送连接管理方法,游戏服务器发现21:00—21:30之间推送消息的发送频率较高,则在21:00—21:30之间维持推送连接;随后,游戏服务器确定21:30—22:00之间推送消息的发送频率较低,则会在21:30之后断开推送连接,从而导致21:30—22:00之间的推送消息无法被及时推送给用户,给用户带来糟糕的体验。
应用方法700后,终端设备能够预测21:30之后的推送时刻,若该推送时刻为21:33,并且该推送时刻举例上一次推送时刻的间隔为4分钟,说明两次推送之间的间隔较短,终端设备可以维持推送连接,直至21:33的推送消息接收完成后再断开推送连接,从而可以使得用户及时获取推送消息;若21:30之后的推送时刻为21:51,并且该推送时刻举例上一次推送时刻的间隔为32分钟,说明两次推送之间的间隔较长,终端设备可以在21:30断开推送连接,并且在21:50重建推送连接,从而可以在节约资源的同时保证用户及时获取推送消息。
推送连接的建立和维持均需要消耗一定的资源(如信令资源和能源),在管理推送连接时可以考虑相邻的两个推送时刻的间隔与时间阈值的大小关系。以第一推送时刻T1和相邻的第二推送时刻T2为例(T2位于T1之前),若T1与T2的间隔较短,则重建推送连接比维持推送连接要消耗更多的资源,终端设备和APP服务器可以在T2的推送消息传输完成后维持推送连接;若T1与T2的间隔较长,则维持推送连接比重建推送连接要消耗更多的资源,终端设备和APP服务器可以在T2的推送消息传输完成后断开推送连接,并在T1到达前重建推送连接。因此,基于相邻两个推送时刻的间隔管理推送连接可以在保证推送消息及时传输的同时降低推送消息的资源消耗。
例如,终端设备从心跳响应消息中解析出下次推送时刻T1,时间阈值为5分钟,若T2与T1的间隔为3分钟,说明相邻两次推送消息的传输时刻较短,终端设备可以维持推送连接;若T2与T1的间隔为7分钟,说明相邻两次推送消息的传输时刻较长,则终端设备可以在T2处的推送消息接收完成后断开推送连接,释放连接资源,并在T1到达之前重建推送连接,其中,终端设备可以在断开推送连接时启动定时器,并将定时器设定为在T1到达前的1分钟超时,从而可以在T1准时接收推送消息。
若发送T1前,APP服务器与终端设备之间的推送连接处于维持状态,则APP服务器可以通过心跳响应消息向终端设备发送T1,相比于独立传输的T1,本实施例可以节约资源。
上述实施例中,T2可以是终端设备或APP服务器基于历史数据预测的当前周期内的一个推送时刻,也可以是突发消息的推送时刻。
上文详细介绍了本申请提供的管理推送连接的方法700,需要说明的是,方法700的有益效果与推送时刻的预测精度密切相关,若推送时刻的预测精度较高,则应用方法700能够取得的较明显的有益效果;若推送时刻的预测精度较低,则应用方法700的有益效果可能不够明显。
提高预测精度的惯用技术手段是提高预测模型的性能,但是,推送连接的ID对于推送时刻的预测精度来说也非常重要,若推送连接的ID选取不够精确,会导致推送时刻的预测精度下降。
在实际推送场景中,终端设备接入网络的接入方式会经常变换,这会导致推送连接的IP地址经常变化。
例如,终端设备在办公室接入Wi-Fi网络时使用的IP地址和在户外接入蜂窝网络时使用的IP地址通常不同;一个终端设备上的多个APP接收各自的推送消息时会使用相同的IP地址,而不同的APP的推送规律不同。若使用IP地址标识推送连接会导致无法找到准确的推送规律。
此外,不同用户可能会使用同一个终端设备上相同的APP接收推送消息。这些情况对于推送连接的ID的选取造成了较大的困难。
一种可选的实施方式是通过终端设备ID、APP ID和用户ID来标识一个推送连接。
例如,用户A使用自己的华为手机访问华为音乐APP时,通常会登录自己的华为账号,则华为手机的介质访问控制(media access control,MAC)地址可以作为终端设备ID,华为音乐APP的版本名称(versionName)和版本号(versionCode)可以作为APP ID,用户A的华为账号可以作为用户ID。
又例如,用户A使用自己的华为手机访问即时通讯APP时,可以登录该即时通讯APP的账号,此时,该华为手机的MAC地址可以作为终端设备ID,即时通讯APP的版本名称和版本号可以作为APP ID,用户A的即时通讯APP账号可以作为用户ID。
相比于通过IP地址标识推送连接预测推送时刻,本实施例可以精确标识一条推送连接,提高推送时刻的预测精度。
上文详细介绍了本申请提供的管理推送连接的方法的示例。可以理解的是,相应的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请可以根据上述方法示例对管理推送连接的装置进行功能单元的划分,例如,可以将各个功能划分为各个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图8是本申请提供的一种管理推送连接的装置的结构示意图。该装置800包括处理单元810和输入单元820和输出单元830,其中,输入单元820能够在处理单元810的控制下执行获取步骤或接收步骤,输出单元830能够在处理单元810的控制下执行发送步骤。例如:
所述输入单元820用于:获取推送连接的历史数据,所述历史数据用于指示所述推送连接在多个历史周期内的推送时刻;
所述处理单元810用于:根据所述历史数据预测所述推送连接在当前周期内的第一推送时刻,所述第一推送时刻为所述推送连接在当前周期内的下次推送时间;
所述输入单元820还用于:从客户端接收请求消息,所述请求消息用于请求获取所述推送连接的下次推送时间;
所述输出单元830用于:在所述第一推送时刻之前重建或维持所述推送连接。
可选地,所述处理单元810具体用于:
当第二推送时刻与所述第一推送时刻的间隔小于时间阈值时,在所述第一推送时刻之前维持所述推送连接;或者,
当第二推送时刻与所述第一推送时刻的间隔大于或等于时间阈值时,在所述第一推送时刻之前重建所述推送连接;
其中,所述第二推送时刻与所述第一推送时刻为两个相邻的推送时刻,所述第二推送时刻位于所述第一推送时刻之前。
可选地,所述第一推送时刻承载于心跳响应消息中。
可选地,所述历史数据包括所述推送连接对应的终端设备标识、应用程序标识和用户标识。
装置800执行管理推送连接的方法的具体方式以及产生的有益效果可以参见方法实施例中的相关描述。
图9是本申请提供的另一种管理推送连接的装置的结构示意图。该装置900包括处理单元910和输入单元920和输出单元930,其中,输入单元920能够在处理单元910的控制下执行接收步骤,输出单元930能够在处理单元910的控制下执行发送步骤。例如:
处理单元910用于:与服务端创建推送连接;
输出单元930用于:向所述服务端发送请求消息,所述请求消息用于请求获取所述推送连接的下次推送时间;
输入单元920用于:从所述服务端接收第一推送时刻,所述第一推送时刻为所述推送连接在当前周期内的下次推送时间;
处理单元910还用于:在所述第一推送时刻之前重建或维持所述推送连接。
可选地,所述处理单元910具体用于:
当第二推送时刻与所述第一推送时刻的间隔小于时间阈值时,在所述第一推送时刻之前维持所述推送连接;或者,
当第二推送时刻与所述第一推送时刻的间隔大于或等于时间阈值时,在所述第一推送时刻之前重建所述推送连接;
其中,所述第二推送时刻与所述第一推送时刻为两个相邻的推送时刻,所述第二推送时刻位于所述第一推送时刻之前。
可选地,所述第一推送时刻承载于心跳响应消息中。
可选地,所述历史数据包括所述推送连接对应的终端设备标识、应用程序标识和用户标识。
装置900执行管理推送连接的方法的具体方式以及产生的有益效果可以参见方法实施例中的相关描述。
图10示出了本申请提供的一种电子设备的结构示意图。图10中的虚线表示该单元或该模块为可选的。设备1000可用于实现上述方法实施例中描述的方法。设备1000可以是终端设备或服务器或芯片。
设备1000包括一个或多个处理器1001,该一个或多个处理器1001可支持设备1000实现方法实施例中的方法。处理器1001可以是通用处理器或者专用处理器。例如,处理器1001可以是中央处理器(central processing unit,CPU)、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件,如分立门、晶体管逻辑器件或分立硬件组件。
处理器1001可以用于对设备1000进行控制,执行软件程序,处理软件程序的数据。设备1000还可以包括通信单元1005,用以实现信号的输入(接收)和输出(发送)。
例如,设备1000可以是芯片,通信单元1005可以是该芯片的输入和/或输出电路,或者,通信单元1005可以是该芯片的通信接口,该芯片可以作为终端设备或服务器或其它电子设备的组成部分。
又例如,设备1000可以是终端设备或服务器,通信单元1005可以是该终端设备或该服务器的收发器,或者,通信单元1005可以是该终端设备或该服务器的收发电路。
设备1000中可以包括一个或多个存储器1002,其上存有程序1004,程序1004可被处理器1001运行,生成指令1003,使得处理器1001根据指令1003执行上述方法实施例中描述的方法。可选地,存储器1002中还可以存储有数据(如第一推送时刻)。可选地,处理器1001还可以读取存储器1002中存储的数据,该数据可以与程序1004存储在相同的存储地址,该数据也可以与程序1004存储在不同的存储地址。
处理器1001和存储器1002可以单独设置,也可以集成在一起,例如,集成在终端设备的系统级芯片(system on chip,SOC)上。
设备1000还可以包括天线1006。通信单元1005用于通过天线1006实现设备1000的收发功能(如发送或接收心跳响应消息)。
本申请还提供了一种计算机程序产品,该计算机程序产品被处理器1001执行时实现本申请中任一方法实施例所述的方法。
该计算机程序产品可以存储在存储器1002中,例如是程序1004,程序1004经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器1001执行的可执行目标文件。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。
该计算机可读存储介质例如是存储器1002。存储器1002可以是易失性存储器或非易失性存储器,或者,存储器1002可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和设备的具体工作过程以及产生的技术效果,可以参考前述方法实施例中对应的过程和技术效果,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种管理推送连接的方法,其特征在于,包括:
电子设备向服务端发送请求消息,所述请求消息用于获取第一推送时刻,所述第一推送时刻为下一次发送推送消息的推送时间,所述推送消息通过所述电子设备和所述服务端之间的第一推送连接进行发送;
所述服务端从所述电子设备接收所述请求消息;
所述服务端根据所述请求消息,向所述电子设备发送第一消息,所述第一消息包括所述第一推送时刻,以便于所述电子设备根据所述第一推送时刻在所述第一推送时刻之前断开或维持所述第一推送连接;
所述电子设备从所述服务端接收所述第一消息;
所述电子设备根据所述第一消息及预设规则,断开或维持所述第一推送连接。
2.根据权利要求1所述的方法,其特征在于,所述服务端根据所述请求消息,向所述电子设备发送所述第一消息,所述第一消息包括第一推送时刻,包括:
所述服务端根据所述历史数据预测所述第一推送时刻,所述第一推送时刻为所述第一推送连接下一次发送推送消息的推送时间。
3.根据权利要求2所述的方法,其特征在于,所述历史数据包括所述第一推送连接对应的终端设备标识、应用程序标识和用户标识,所述服务端根据所述请求消息,向所述电子设备发送所述第一消息,包括:
所述服务端根据所述请求消息,获取所述第一推送连接相关的终端设备标识、应用程序标识和用户标识;
所述服务端根据所述第一推送连接对应的终端设备标识、应用程序标识、用户标识以及所述历史数据预测所述第一推送时刻。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在所述电子设备向服务端发送请求消息之前,所述方法还包括:
所述服务端向所述电子设备发送第一推送消息,所述第一推送消息的发送时间为第二推送时刻;
其中,所述第二推送时刻与所述第一推送时刻为两个相邻的推送时刻,所述第二推送时刻位于所述第一推送时刻之前;
所述电子设备根据所述第一消息及预设规则,断开或维持所述第一推送连接,包括:
若所述第二推送时刻与所述第一推送时刻的间隔小于时间阈值时,所述电子设备维持所述第一推送连接;
若所述第二推送时刻与所述第一推送时刻的间隔大于或等于时间阈值时,所述电子设备断开所述第一推送连接;
所述电子设备在所述第一推送时刻重新建立与所述服务端的第二推送连接。
5.根据权利要求4所述的方法,其特征在于,所述电子设备在所述第一推送时刻重新建立与所述服务端的第二推送连接,包括:
所述电子设备获取路由信息;
所述电子设备根据所述路由信息重新建立与所述服务端的第二推送连接。
6.根据权利要求4或5所述的方法,其特征在于,在所述第二推送时刻之后,所述第二推送连接与所述第一推送连接为相同的推送连接。
7.根据权利要求4至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一推送时刻之后,服务端向电子设备发送第二推送消息,所述第二推送消息通过所述第二推送连接发送;
所述电子设备通过所述第二推送连接从所述服务端接收所述第二推送消息。
8.根据权利要求7所述的方法,其特征在于,所述第二推送消息包括以下几种消息中的一种或多种:
新闻消息,软件更新消息,提醒消息。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述第一消息为心跳响应消息。
10.一种管理推送连接的方法,其特征在于,包括:
电子设备向服务端发送请求消息,所述请求消息用于获取第一推送时刻,所述第一推送时刻为下一次发送推送消息的推送时间,所述推送消息通过所述电子设备和所述服务端之间的第一推送连接进行发送;
所述电子设备从所述服务端接收第一消息,所述第一消息包括所述第一推送时刻;
所述电子设备根据所述第一消息及预设规则,断开或维持所述第一推送连接。
11.根据权利要求10所述的方法,其特征在于,在所述电子设备向服务端发送请求消息之前,所述方法还包括:
所述电子设备从所述服务端接收第一推送消息,所述第一推送消息的发送时间为第二推送时刻;
其中,所述第二推送时刻与所述第一推送时刻为两个相邻的推送时刻,所述第二推送时刻位于所述第一推送时刻之前;
所述电子设备根据所述第一消息及预设规则,断开或维持所述第一推送连接,包括:
若所述第二推送时刻与所述第一推送时刻的间隔小于时间阈值时,所述电子设备维持所述第一推送连接;
若所述第二推送时刻与所述第一推送时刻的间隔大于或等于时间阈值时,所述电子设备断开所述第一推送连接;
所述电子设备在所述第一推送时刻重新建立与所述服务端的第二推送连接。
12.根据权利要求11所述的方法,其特征在于,所述电子设备在所述第一推送时刻重新建立与所述服务端的第二推送连接,包括:
所述电子设备获取路由信息;
所述电子设备根据所述路由信息重新建立与所述服务端的第二推送连接。
13.根据权利要求11或12所述的方法,其特征在于,在所述第一推送时刻之后,所述第二推送连接与所述第一推送连接为相同的推送连接。
14.根据权利要求11至13中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一推送时刻之后,所述电子设备通过所述第二推送连接从所述服务端接收第二推送消息。
15.根据权利要求14所述的方法,其特征在于,所述第二推送消息包括以下几种消息中的一种或多种:
新闻消息,软件更新消息,提醒消息。
16.根据权利要求10至15中任一项所述的方法,其特征在于,所述第一消息为心跳响应消息。
17.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器耦合,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行权利要求10至16中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求10至16中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110316752.9A CN115134404B (zh) | 2021-03-22 | 2021-03-22 | 管理推送连接的方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110316752.9A CN115134404B (zh) | 2021-03-22 | 2021-03-22 | 管理推送连接的方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115134404A true CN115134404A (zh) | 2022-09-30 |
CN115134404B CN115134404B (zh) | 2024-01-30 |
Family
ID=83374785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110316752.9A Active CN115134404B (zh) | 2021-03-22 | 2021-03-22 | 管理推送连接的方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134404B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115568036A (zh) * | 2022-10-14 | 2023-01-03 | 荣耀终端有限公司 | 一种应用连接方法及电子设备 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010042733A1 (en) * | 2008-10-08 | 2010-04-15 | Citrix Systems, Inc. | Systems and methods for connection management for asynchronous messaging over http |
CN102523178A (zh) * | 2011-12-20 | 2012-06-27 | 华为技术有限公司 | 一种基于推送的心跳消息发送方法和终端 |
WO2014030426A1 (ja) * | 2012-08-20 | 2014-02-27 | 富士通株式会社 | シームレスプッシュシステム及びその方法 |
WO2014068879A1 (ja) * | 2012-10-31 | 2014-05-08 | 日本電気株式会社 | 配信装置、通信システム、負荷分散方法および負荷分散プログラム |
US20140189015A1 (en) * | 2012-10-02 | 2014-07-03 | Nextbit Systems Inc. | Pushing notifications based on location proximity |
US20140378176A1 (en) * | 2013-06-09 | 2014-12-25 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for short message-based information push and mobile client supporting the same |
WO2015077961A1 (zh) * | 2013-11-28 | 2015-06-04 | 华为终端有限公司 | 一种发送心跳消息的方法及移动终端 |
CN104703146A (zh) * | 2013-12-09 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 信息推送方法、客户端及系统 |
WO2015149471A1 (zh) * | 2014-04-04 | 2015-10-08 | 中兴通讯股份有限公司 | 一种信息推送方法、系统、设备及计算机存储介质 |
EP2930911A1 (en) * | 2013-04-26 | 2015-10-14 | Huawei Technologies Co., Ltd. | Method and apparatus for controlling sending of heartbeat signal |
CN107040576A (zh) * | 2016-12-08 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 信息推送方法及装置、通讯系统 |
CN107395767A (zh) * | 2017-08-31 | 2017-11-24 | 北京奇虎科技有限公司 | 基于长连接的消息推送系统及方法 |
CN108040116A (zh) * | 2017-12-22 | 2018-05-15 | 努比亚技术有限公司 | 消息推送方法、路由器及计算机可读存储介质 |
WO2018233491A1 (zh) * | 2017-06-21 | 2018-12-27 | Oppo广东移动通信有限公司 | 推送消息管理方法及相关产品 |
CN109547511A (zh) * | 2017-09-22 | 2019-03-29 | 中国移动通信集团浙江有限公司 | 一种web消息实时推送方法、服务器、客户端及系统 |
CN111030990A (zh) * | 2019-11-05 | 2020-04-17 | 华为技术有限公司 | 一种建立通信连接的方法及客户端、服务端 |
-
2021
- 2021-03-22 CN CN202110316752.9A patent/CN115134404B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010042733A1 (en) * | 2008-10-08 | 2010-04-15 | Citrix Systems, Inc. | Systems and methods for connection management for asynchronous messaging over http |
CN102523178A (zh) * | 2011-12-20 | 2012-06-27 | 华为技术有限公司 | 一种基于推送的心跳消息发送方法和终端 |
WO2014030426A1 (ja) * | 2012-08-20 | 2014-02-27 | 富士通株式会社 | シームレスプッシュシステム及びその方法 |
US20140189015A1 (en) * | 2012-10-02 | 2014-07-03 | Nextbit Systems Inc. | Pushing notifications based on location proximity |
WO2014068879A1 (ja) * | 2012-10-31 | 2014-05-08 | 日本電気株式会社 | 配信装置、通信システム、負荷分散方法および負荷分散プログラム |
EP2930911A1 (en) * | 2013-04-26 | 2015-10-14 | Huawei Technologies Co., Ltd. | Method and apparatus for controlling sending of heartbeat signal |
US20140378176A1 (en) * | 2013-06-09 | 2014-12-25 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for short message-based information push and mobile client supporting the same |
WO2015077961A1 (zh) * | 2013-11-28 | 2015-06-04 | 华为终端有限公司 | 一种发送心跳消息的方法及移动终端 |
TW201524235A (zh) * | 2013-12-09 | 2015-06-16 | Tencent Tech Shenzhen Co Ltd | 資訊推送方法、客戶端裝置及其系統 |
CN104703146A (zh) * | 2013-12-09 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 信息推送方法、客户端及系统 |
WO2015149471A1 (zh) * | 2014-04-04 | 2015-10-08 | 中兴通讯股份有限公司 | 一种信息推送方法、系统、设备及计算机存储介质 |
CN107040576A (zh) * | 2016-12-08 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 信息推送方法及装置、通讯系统 |
WO2018233491A1 (zh) * | 2017-06-21 | 2018-12-27 | Oppo广东移动通信有限公司 | 推送消息管理方法及相关产品 |
CN107395767A (zh) * | 2017-08-31 | 2017-11-24 | 北京奇虎科技有限公司 | 基于长连接的消息推送系统及方法 |
CN109547511A (zh) * | 2017-09-22 | 2019-03-29 | 中国移动通信集团浙江有限公司 | 一种web消息实时推送方法、服务器、客户端及系统 |
CN108040116A (zh) * | 2017-12-22 | 2018-05-15 | 努比亚技术有限公司 | 消息推送方法、路由器及计算机可读存储介质 |
CN111030990A (zh) * | 2019-11-05 | 2020-04-17 | 华为技术有限公司 | 一种建立通信连接的方法及客户端、服务端 |
Non-Patent Citations (2)
Title |
---|
BENG HEE EU: "Speed Up Git (5x to 50x)", 《HTTP://INTERROBENG.COM/2013/08/25/SPEED-UP-GIT-5X-TO-50X/》 * |
翟成彤: "基于长连接的分布式消息推送系统设计与实现", 《中国优秀硕士论文全文数据库(电子期刊)》, no. 09 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115568036A (zh) * | 2022-10-14 | 2023-01-03 | 荣耀终端有限公司 | 一种应用连接方法及电子设备 |
CN115568036B (zh) * | 2022-10-14 | 2023-10-20 | 荣耀终端有限公司 | 一种应用连接方法、电子设备、芯片及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115134404B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11736224B2 (en) | Data transmission method and electronic device | |
EP4110004A1 (en) | Wi-fi aware link establishment method and system, electronic device, and storage medium | |
CN113329047B (zh) | 一种分布式服务调度方法及相关装置 | |
CN114615423B (zh) | 一种回调流的处理方法及设备 | |
WO2021175300A1 (zh) | 数据传输方法、装置、电子设备和可读存储介质 | |
WO2021043045A1 (zh) | 一种网络配置信息的配置方法及设备 | |
WO2020216098A1 (zh) | 一种跨电子设备转接服务的方法、设备以及系统 | |
CN112651510B (zh) | 模型更新方法、工作节点及模型更新系统 | |
CN113676339B (zh) | 组播方法、装置、终端设备及计算机可读存储介质 | |
CN113645571A (zh) | 数据传输方法及电子设备 | |
JP2022501968A (ja) | ファイル転送方法および電子デバイス | |
CN113810451B (zh) | 点对点链路的建立方法、装置、第一终端设备和存储介质 | |
CN115134404B (zh) | 管理推送连接的方法和电子设备 | |
CN115119336B (zh) | 耳机连接系统、方法、耳机、电子设备及可读存储介质 | |
WO2022143158A1 (zh) | 一种数据备份方法、电子设备、数据备份系统及芯片系统 | |
CN117425227A (zh) | 建立基于WiFi直接连接的会话的方法和装置 | |
WO2021110117A1 (zh) | 事件订阅方法及电子设备 | |
CN112929854B (zh) | 事件订阅方法及电子设备 | |
CN114116610A (zh) | 获取存储信息的方法、装置、电子设备和介质 | |
CN117135683B (zh) | 数据通信方法、电子设备及计算机可读存储介质 | |
CN114258044B (zh) | 待机方法、系统及终端设备 | |
CN115734323B (zh) | 功耗优化方法和装置 | |
CN114363820A (zh) | 一种电子设备的查找方法和电子设备 | |
CN113590884A (zh) | 一种分布式数据搜索方法和索引文件的共享方法 | |
CN116528337A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |