CN115696520B - 数据通信方法及装置 - Google Patents

数据通信方法及装置 Download PDF

Info

Publication number
CN115696520B
CN115696520B CN202110874954.5A CN202110874954A CN115696520B CN 115696520 B CN115696520 B CN 115696520B CN 202110874954 A CN202110874954 A CN 202110874954A CN 115696520 B CN115696520 B CN 115696520B
Authority
CN
China
Prior art keywords
data packet
target
application
application processor
communication chip
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.)
Active
Application number
CN202110874954.5A
Other languages
English (en)
Other versions
CN115696520A (zh
Inventor
黄文�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202110874954.5A priority Critical patent/CN115696520B/zh
Priority to PCT/CN2022/092428 priority patent/WO2023005343A1/zh
Priority to EP22798225.3A priority patent/EP4149176A1/en
Publication of CN115696520A publication Critical patent/CN115696520A/zh
Application granted granted Critical
Publication of CN115696520B publication Critical patent/CN115696520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • H04W52/0258Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity controlling an operation mode according to history or models of usage information, e.g. activity schedule or time of day

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供一种数据通信方法及装置,由终端设备的通信芯片接收待处理数据包,并获取待识别进程,然后确定待识别进程是否存在于预设的过滤规则中,当待识别进程存在于过滤规则中时,通信芯片不向应用处理器转发待处理数据包。通过本申请实施例公开的方法,当终端设备处于灭屏且进入休眠状态时,通信芯片在接收到云端服务器发送的数据包时,不立刻唤醒应用处理器,而是先进行识别,判断该数据包是否需要被过滤,即判断该数据包要发往的应用程序进程是否被限制与云端服务器之间的数据交互,若被限制,则通信芯片直接将该数据包丢弃,不用唤醒应用处理器,如此可有效减少终端设备的休眠状态被中断的次数,减小终端设备的功耗。

Description

数据通信方法及装置
技术领域
本申请涉及通信技术领域,尤其涉及数据通信方法及装置。
背景技术
终端设备上的应用程序在运行过程中,会和云端服务器建立TCP连接或UDP连接进行通信,以实现数据交互。当云端服务器向终端设备中的应用程序发送数据包时,该数据包首先会达到通信芯片,然后由通信芯片转发至应用处理器。
通常一个应用程序在运行过程中至少对应一个进程,当应用程序退至后台运行时,其进程仍会在后台继续与云端服务器保持数据交互,也就是说云端服务器可能会一直向应用程序发送数据包。若终端设备处于灭屏的休眠状态,那么通信芯片每次将接收到的数据包发送至应用处理器时,都会唤醒应用处理器,导致终端设备的休眠状态被频繁中断。休眠状态被频繁中断,则会增加终端设备的功耗。
发明内容
为了防止终端设备处于灭屏且休眠状态下,应用处理器由于云端服务器发送的数据包被频繁唤醒,本申请公开一种数据通信方法及装置。
第一方面,本申请实施例公开了一种数据通信方法,包括:
终端设备的通信芯片接收待处理数据包,所述待处理数据包为云端服务器发送的数据包;
所述通信芯片获取待识别进程,所述待识别进程为所述待处理数据包对应的进程;
所述通信芯片确定所述待识别进程是否存在于预设的过滤规则中,所述过滤规则包括至少一个被限制与云端服务器通信的进程;
当所述待识别进程存在于所述过滤规则中时,所述通信芯片不向所述终端设备的应用处理器转发所述待处理数据包。
通过上述方案,当终端设备处于灭屏且进入休眠状态时,通信芯片在接收到云端服务器发送的数据包时,不立刻唤醒应用处理器,而是先进行识别,判断该数据包是否需要被过滤,即判断该数据包要发往的应用程序进程是否被限制与云端服务器之间的数据交互,若被限制,则通信芯片直接将该数据包丢弃,不用唤醒应用处理器,如此可有效减少终端设备的休眠状态被中断的次数,减小终端设备的功耗。
一种实现方式中,所述通信芯片获取待识别进程,包括:
所述通信芯片获取所述待处理数据包的目的端口号和协议号;
所述通信芯片根据所述待处理数据包的目的端口号和协议号,获取所述待识别进程。
通过上述方案,通信芯片对数据包进行解析,通过解析得到的目的端口号和协议号,能够准确定位该数据包要发往哪个应用程序进程,得到待识别进程。
一种实现方式中,所述通信芯片确定所述待识别进程是否存在于预设的过滤规则中,包括:
所述通信芯片确定所述待处理数据包的目的端口号和协议号是否存在于预设的过滤规则中,其中,所述过滤规则中包括多组端口号及协议号,每组端口号及协议号对应一个被限制与云端服务器通信的进程。
一种实现方式中,所述方法还包括:
当所述待识别进程不存在于所述过滤规则中时,所述通信芯片向所述应用处理器转发所述待处理数据包。
通过上述方案,只有在待识别进程被允许与云端服务器之间进行数据交互,对应的待处理数据包允许被通过的情况下,通信芯片才将数据包转发至应用处理器,以进行后续处理。
一种实现方式中,所述方法还包括:
所述通信芯片接收所述应用处理器发送的至少一个目标数据组,每个所述目标数据组包括一个目标进程的端口号及协议号,所述目标进程为在后台运行的应用程序中,需被限制与云端服务器通信的进程;
所述通信芯片将所述目标数据组添加至所述过滤规则中。
一种实现方式中,所述方法还包括:
所述通信芯片接收所述应用处理器发送的至少一个目标数据组,每个所述目标数据组包括一个目标进程的端口号及协议号,所述目标进程为从前台退至后台运行的应用程序中,需被限制与云端服务器进行数据交互的进程;
所述通信芯片将所述目标数据组添加至所述过滤规则中。
通过上述方案,实现通信芯片中过滤规则的预存以及更新,确保通信芯片执行数据包过滤操作的准确率。
一种实现方式中,在所述通信芯片接收所述应用处理器发送的至少一个目标数据组之前,所述方法还包括:
所述应用处理器确定是否存在应用程序退至后台运行;
当存在应用程序退至后台运行时,所述应用处理器获取目标进程;
所述应用处理器根据所述目标进程获取目标数据组,所述目标数据组包括所述目标进程的端口号和协议号;
所述应用处理器将所述目标数据组发送至所述通信芯片。
通过上述方案,一旦应用程序进入后台运行,应用处理器便针对该应用程序的所有进程,判断是否执行过滤,一旦该应用程序的所有进程或某些进程被判定要被过滤,便将这些进程对应的目标数据组发送至通信芯片,使得通信芯片将该目标数据组加入过滤规则中,实现过滤规则的更新,并按照更新后的过滤规则对目标进程对应的数据包执行过滤操作,后续只要接收到云端服务器发送过来的数据包,便直接丢弃,不再转发至应用处理器,如此在终端设备进入灭屏的休眠状态时,能够有效减少终端设备休眠状态的中断次数,降低终端设备的功耗。
一种实现方式中,所述应用处理器获取目标进程,包括:
所述应用处理器确定退至后台运行的应用程序是否进入冷冻状态;
当确定所述退至后台运行的应用程序进入冷冻状态时,所述应用处理器确定是否接收到目标数据包,所述目标数据包为云端服务器针对进入冷冻状态的应用程序发送的数据包;
当确定接收到所述目标数据包时,所述应用处理器获取所述目标进程。
通过上述方案,应用处理器可以仅针对冷冻的应用程序进行监测,将仍存在活跃行为的进程设为目标进程,然后获取每个目标进程的目标数据组发送至通信芯片的过滤规则中,如此可以减小过滤规则中所要存储的端口号及协议号数量,在确保优先对冷冻应用程序的数据包进行过滤的基础上,有效提高通信芯片的数据包过滤效率。
一种实现方式中,所述应用处理器获取所述目标进程,包括:
所述应用处理器获取所述目标数据包的目的端口号;
所述应用处理器根据所述目标数据包的目的端口号,获取所述目标进程。
一种实现方式中,所述应用处理器根据所述目标进程获取目标数据组,包括:
所述应用处理器根据所述目标进程获取套接字信息,所述套接字信息包括所述目标进程的端口号及协议号;
所述应用处理器根据所述套接字信息,获取所述目标数据组。
通过上述方案,利用目标进程的套接字信息,能够获取进程的源端口号和协议号,进而得到每个目标进程的目标数据组。
一种实现方式中,所述通信芯片包括微控制芯片及数据收发芯片;
所述数据收发芯片包括调制解调芯片和/或无线保真芯片。
通过上述方案,每当调制解调芯片或无线保真芯片接收到数据包,便转发给微控制芯片,通过微控制芯片接管调制解调芯片或无线保真芯片接收到的数据包,并执行数据包的过滤操作,如此可以提高数据包过滤的执行效率。
第二方面,本申请实施例公开了一种数据通信芯片,包括收发电路和处理电路;
其中,所述收发电路用于:
接收待处理数据包,所述待处理数据包为云端服务器发送的数据包;
所述处理电路用于:
获取待识别进程,所述待识别进程为所述待处理数据包对应的进程;
确定所述待识别进程是否存在于预设的过滤规则中,所述过滤规则包括至少一个被限制与云端服务器通信的进程;
当所述待识别进程存在于所述过滤规则中时,不向应用处理器转发所述待处理数据包。
一种实现方式中,所述处理电路在获取待识别进程时,用于:
获取所述待处理数据包的目的端口号和协议号;
根据所述待处理数据包的目的端口号和协议号,获取所述待识别进程。
一种实现方式中,所述处理电路在确定所述待识别进程是否存在于预设的过滤规则中时,用于:
确定所述待处理数据包的目的端口号和协议号是否存在于预设的过滤规则中,其中,所述过滤规则中包括多组端口号及协议号,每组端口号及协议号对应一个被限制与云端服务器通信的进程。
一种实现方式中,所述处理电路还用于:
当所述待识别进程不存在于所述过滤规则中时,向所述应用处理器转发所述待处理数据包。
一种实现方式中,所述处理电路还用于:
接收所述应用处理器发送的至少一个目标数据组,每个所述目标数据组包括一个目标进程的端口号及协议号,所述目标进程为在后台运行的应用程序中,需被限制与云端服务器通信的进程;
将所述目标数据组添加至所述过滤规则中。
一种实现方式中,所述处理电路还用于:
接收所述应用处理器发送的至少一个目标数据组,每个所述目标数据组包括一个目标进程的端口号及协议号,所述目标进程为从前台退至后台运行的应用程序中,需被限制与云端服务器通信的进程;
将所述目标数据组添加至所述过滤规则中。
一种实现方式中,所述处理电路为微控制芯片。
第三方面,本申请实施例公开了一种数据通信装置,包括如第二方面所述的数据通信芯片及应用处理器;
所述应用处理器用于:
在处理电路接收所述应用处理器发送的至少一个目标数据组之前,确定是否存在应用程序退至后台运行;
当存在应用程序退至后台运行时,获取目标进程;
根据所述目标进程获取目标数据组,所述目标数据组包括所述目标进程的端口号和协议号;
将所述目标数据组发送至所述处理电路。
一种实现方式中,所述应用处理器在获取目标进程时,用于:
确定退至后台运行的应用程序是否进入冷冻状态;
当确定所述退至后台运行的应用程序进入冷冻状态时,确定是否接收到目标数据包,所述目标数据包为云端服务器针对进入冷冻状态的应用程序发送的数据包;
当确定接收到所述目标数据包时,获取所述目标进程。
一种实现方式中,所述应用处理器在获取所述目标进程时,用于:
获取所述目标数据包的目的端口号;
根据所述目标数据包的目的端口号,获取所述目标进程。
一种实现方式中,所述应用处理器在根据所述目标进程获取目标数据组时,用于:
根据所述目标进程获取套接字信息,所述套接字信息包括所述目标进程的端口号及协议号;
根据所述套接字信息,获取所述目标数据组。
第四方面,本申请实施例公开了一种终端设备,包括如第三方面所述的数据通信装置。
第五方面,本申请实施例公开了一种终端设备,包括:
至少一个如第三方面所述的数据通信装置和存储器;
所述存储器,用于存储程序指令;
所述数据通信装置,用于调用并执行所述存储器中存储的程序指令,以使所述终端设备执行如第一方面所述的数据通信方法。
第六方面,本申请实施例公开了一种终端设备,包括:
至少一个处理器和存储器;
所述存储器,用于存储程序指令;
所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端设备执行如第一方面所述的数据通信方法。
第七方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行第一方面所述的数据通信方法。
第八方面,本申请实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如第一方面所述的数据通信方法。
本申请实施例提供一种数据通信方法及装置,由终端设备的通信芯片接收待处理数据包,并获取待识别进程,然后确定待识别进程是否存在于预设的过滤规则中,当待识别进程存在于过滤规则中时,通信芯片不向应用处理器转发待处理数据包。通过本申请实施例公开的方法,当终端设备处于灭屏且进入休眠状态时,通信芯片在接收到云端服务器发送的数据包时,不立刻唤醒应用处理器,而是先进行识别,判断该数据包是否需要被过滤,即判断该数据包要发往的应用程序进程是否被限制与云端服务器之间的数据交互,若被限制,则通信芯片直接将该数据包丢弃,不用唤醒应用处理器,如此可有效减少终端设备的休眠状态被中断的次数,减小终端设备的功耗。
附图说明
图1为本申请实施例公开的一种终端设备的结构示意图;
图2本申请实施例公开的一种终端设备与云端服务器的结构示意图;
图3为本申请实施例公开的通信芯片的一种结构示意图;
图4为本申请实施例公开的通信芯片的又一种结构示意图;
图5为本申请实施例公开的一种数据通信方法的工作流程示意图;
图6为本申请实施例公开的一种过滤规则生成方法的工作流程示意图;
图7为本申请实施例公开的又一种过滤规则生成方法的工作流程示意图;
图8为本申请实施例公开的一种数据通信芯片的结构示意图;
图9为本申请实施例公开的一种数据通信装置的结构示意图;
图10为本申请实施例公开的一种终端设备的结构示意图;
图11为本申请实施例公开的又一种数据通信芯片的结构示意图;
图12为本申请实施例公开的又一种数据通信装置的结构示意图;
图13为本申请实施例公开的又一种终端设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供一种数据通信方法,该方法应用于终端设备,所述终端设备可为手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、手持计算机、上网本、个人数字助理(personal digital assistant,PDA)、智能可穿戴设备和虚拟现实设备等终端设备,本申请实施例对此不做任何限制。
图1示出了终端设备的结构示意图。
终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器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)接口等。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端设备上的包括无线局域网(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转为电磁波辐射出去。
在一些实施例中,终端设备的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备可以通过无线通信技术与网络以及其他设备通信。
为了明确本申请提供的方案,以下结合附图,通过各个实施例,对本申请所提供的方案进行介绍说明。
本申请提供的方案中,通信芯片负责发送和接收各种数据,实现与云端服务器之间的数据通信。通信芯片用于移动通信模块150和/或无线通信模块160的通信,在一些实现方式中,移动通信模块150可以采用调制解调处理器(Modem芯片),无线通信模块160可以采用无线保真(wireless fidelity,WiFi)芯片。如果终端设备使用的是移动通信网络,那么云端服务器发送的数据包会到达Modem芯片。如果终端设备使用的是短距离无线通信网络,那么云端服务器发送的数据包会到达WiFi芯片。
应用处理器负责终端设备中所有应用程序的执行,位于处理器110中。应用处理器通过监测应用程序的生命周期,能够判断出应用程序是运行在前台还是后台,以及判断出应用程序所切换的各个运行状态。
应用处理器包括应用后台管理模块和内核层,当应用程序退至后台运行时,由应用后台管理模块进行接管。内核层提供IP/NetFliter防火墙,IP/NetFliter防火墙是一种基于NetFliter的IP数据包过滤防火墙,能够对云端服务器发送过来的数据包进行检查,然后决定过滤(丢弃)这个数据包,还是让这个数据包通过。
参见图2,目前,云端服务器200向终端设备100发送的数据包,由终端设备100中的通信芯片接收,然后通信芯片把云端服务器200发送的数据包转发至应用处理器,再由应用后台管理模块接收该数据包,应用后台管理模块通过内核层提供的IP/NetFliter防火墙技术,确定该数据包是否允许被通过(被发送至应用程序)。若该数据包不允许被通过,则应用后台管理模块将该数据包丢弃,若允许被通过,则应用后台管理模块将该数据包发送至对应的应用程序。
终端设备一般会处于三种状态,一是亮屏且正常工作状态;二是灭屏,但还未进入休眠状态;三是灭屏且进入休眠状态。处理器110能够实时监测终端设备当前处于上述哪种状态。
应用程序的生命周期包括以下五种状态:一、Not Running(非运行状态),应用没有运行或已被终止;二、Inactive(前台非活动状态),应用正在进入前台状态,但还不能接受事件处理;三、Active(前台活动状态),应用进入前台运行状态,能接受事件处理;四、Background(后台状态),应用进入后台运行后,依然能够执行代码。五、Suspended(挂起状态),处于挂起的应用进入一种“冷冻”状态,不能执行代码。
应用后台管理模块通过监测应用程序的生命周期,能够判断出应用程序当前是运行在前台还是后台,以及判断出应用程序所切换的各个状态。
当终端设备位于第三种状态时,即灭屏且进入休眠状态时,终端设备中的所有元器件均处于低功耗状态,包括应用处理器,所有的应用程序也进入后台休眠,无法向云端服务器发送数据包,但此时云端服务器仍会继续发送数据包过来。当某个应用程序对应的云端服务器发送数据包过来时,通信芯片接收该数据包,然后唤醒应用处理器进行处理,使得终端设备从休眠状态中醒来,其余应用程序也会从休眠状态变为活跃状态,增加终端设备的功耗。
一个应用程序在运行过程中,可能启动了一个进程或多个进程,每个进程都与云端服务器之间创建Socket连接,Socket连接通过TCP协议创建或者通过UDP协议创建。Socket(套接字)定义了一个连接的两个端点的五元组:源IP地址、源端口号、目的IP地址、目的端口号及协议号。通过套接字,能够唯一标识一个TCP连接或UDP连接,准确定位数据包的收发途径。例如,对于接收数据包的过程,通信芯片可以根据源IP地址,确定发送该数据包的云端服务器,根据目的端口号及协议号,确定接收该数据包的进程。对于发送数据包的过程,通信芯片可以根据源端口号及协议号,确定发送该数据包的进程,根据目的IP地址和目的端口号确定接收该数据包的云端服务器。
TCP协议为传输控制协议,属于面向连接,针对TCP协议创建的连接,当应用程序进入后台运行时,可以主动断开,但是即使在断开连接之后,仍存在云端服务器向应用程序发送数据包的情况,例如在云端服务器出现异常或恶意行为的情况下。
UDP协议为用户数据报协议,针对UDP协议创建的连接,是无连接的,因此应用程序进入后台运行时,不能断开连接,云端服务器会继续向应用程序发送数据包,尤其是当云端服务器出现异常或恶意行为时,则会不停的向终端设备发送UDP数据包,若终端设备处于第三种状态,那么应用处理器将会被频繁唤醒,增加终端设备的功耗。
为了防止终端设备处于灭屏且休眠状态下,应用处理器由于云端服务器发送的数据包被频繁唤醒,本申请公开一种数据通信方法,该方法通过通信芯片来执行对数据包的过滤操作。
在一种实现方式中,参见图3,通信芯片310包括数据收发芯片,数据收发芯片包括无线保真(wireless fidelity,WiFi)芯片311和/或调制解调器(Modem芯片)312。在一些实施方式中,数据收发芯片可以仅包括WiFi芯片311。在另一些实施方式中,数据收发芯片可以仅包括Modem芯片312。在另一些实施方式中,数据收发芯片可以包括WiFi芯片311及Modem芯片312。
如果终端设备使用的是WiFi网络,那么数据收发芯片必然包括WiFi芯片311,云端服务器发送的数据包会到达WiFi芯片311,此时便由WiFi芯片311执行对数据包的过滤操作。如果终端设备使用的是移动通信网络,那么数据收发芯片必然包括Modem芯片312,云端服务器发送的数据包会到达Modem芯片312,此时便由Modem芯片312执行数据包的过滤操作。这种实现方式下,WiFi芯片311及Modem芯片312分别接至应用处理器。
在另一种实现方式中,参见图4,通信芯片310不仅包括数据收发芯片,还可以设置有独立的微控制(Microcontroller Unit,MCU)芯片313,每当WiFi芯片311或Modem芯片312接收到数据包,便转发给MCU芯片313,通过该MCU芯片313接管WiFi芯片311或Modem芯片312接收到的数据包,并执行数据包的过滤操作,如此可以提高数据包过滤的执行效率。在这种实现方式下,WiFi芯片311及Modem芯片312分别接至MCU芯片313,MCU芯片313接至应用处理器320,另外,为了实现其余功能,WiFi芯片311及Modem芯片312也可以分别接至应用处理器320。
通信芯片中可以预先存储过滤规则,过滤规则中包括多组端口号和协议号,每组端口号及协议号均对应一个被限制与云端服务器进行数据交互的应用程序进程。
在对云端服务器发送过来的数据包执行过滤操作时,在一些实施例中,如果是通过WiFi芯片或Modem芯片来执行,那么可以分别在WiFi芯片和Modem芯片中预先存储过滤规则。在另一些实施例中,如果是通过MCU芯片来执行,那么可以在MCU芯片中预先存储过滤规则。
参见图5所示的工作流程图,本申请公开一种数据通信方法,包括:
步骤501,终端设备的通信芯片接收待处理数据包。
所述待处理数据包为云端服务器发送的数据包。
步骤502,通信芯片获取待识别进程。
所述待识别进程为所述待处理数据包对应的进程。
示例性的,数据包携带有五元组信息,即源IP地址、源端口号、目的IP地址、目的端口号及协议号。其中,源IP地址及源端口号均对应发出该数据包的云端服务器,目的IP地址及目的端口号均对应接收该数据包的应用程序进程,通过协议号可以明确云端服务器与进程之间是通过TCP协议还是UDP协议创建的连接。
通信芯片对数据包进行解析,便可以获取待处理数据包的目的端口号和协议号,根据所述待处理数据包的目的端口号和协议号,能够准确定位该数据包要发往哪个应用程序进程,得到待识别进程。
步骤503,通信芯片确定所述待识别进程是否存在于预设的过滤规则中,所述过滤规则包括至少一个被限制与云端服务器通信的进程。
在一种实现方式中,所述过滤规则中包括多组端口号及协议号,每组端口号及协议号对应一个被限制与云端服务器进行数据交互的进程。
通信芯片可以确定待处理数据包的目的端口号和协议号是否存在于过滤规则中,进而确定所述待识别进程是否存在于预设的过滤规则中。
通信芯片若在所述过滤规则中查找到所述待处理数据包的目的端口号和协议号,则表示待识别进程存在于过滤规则中,待识别进程属于被限制与云端服务器进行数据交互的进程,此时执行步骤504。
通信芯片若未在所述过滤规则中查找到所述待处理数据包的目的端口号和协议号,则表示待识别进程不存在于过滤规则中,待识别进程被允许与云端服务器进行数据交互,此时执行步骤505。
步骤504,当在所述过滤规则中查找到所述待处理数据包的目的端口号和协议号时,即,当所述待识别进程存在于所述过滤规则中时,通信芯片不向终端设备的应用处理器转发所述数据包。
待识别进程被限制与云端服务器之间进行通信,则待识别进程对应的待处理数据包不允许被通过,通信芯片直接将数据包丢弃(即进行过滤),不再发送给应用处理器进行处理,以避免唤醒应用处理器。
步骤505,当未在所述过滤规则中查找到所述待处理数据包的目的端口号和协议号时,即当所述待识别进程不存在于所述过滤规则中时,通信芯片向所述终端设备的应用处理器转发所述数据包。
作为示例,参见下表1,假设通信芯片存储的过滤规则中包含五组端口号及协议号(实际应用中还可能包含更多,例如上百组甚至上千组,本申请对比不作限制),第一组为端口号1及协议号1,对应了进程1,第二组为端口号2及协议号1,对应了进程2,第三组为端口号3及协议号2,对应了进程3,第四组为端口号4及协议号2,对应了进程4,第五组为端口号5及协议号3,对应了进程5,进程1-进程5均为被限制与云端服务器进行数据交互的进程。若待处理数据包的目的端口号及协议号分别为端口号2及协议号1,通信芯片在过滤规则中查找之后,匹配到第二组,表示待处理数据包对应的待识别进程位于过滤规则中,则通信芯片可以直接将该待处理数据包过滤掉。若待处理数据包的目的端口号及协议号分别为端口号6及协议号6,通信芯片在过滤规则中查找之后,并未匹配到任一组,表示待处理数据包对应的待识别进程不位于过滤规则中,则通信芯片可以不对该待处理数据包执行过滤操作。
表1过滤规则
待识别进程被允许与云端服务器之间进行通信,则待识别进程对应的待处理数据包允许被通过,这种情况下,通信芯片才将数据包转发至应用处理器,以进行后续处理。
当终端设备处于灭屏且进入休眠状态时执行上述流程,使得通信芯片在接收到云端服务器发送的数据包时,不立刻唤醒应用处理器,而是先进行识别,判断该数据包是否需要被过滤,即判断该数据包要发往的应用程序进程是否被限制与云端服务器之间的通信,若被限制,则通信芯片直接将该数据包丢弃,不用唤醒应用处理器,如此可有效减少终端设备的休眠状态被中断的次数,减小终端设备的功耗。
当终端设备处于亮屏且正常工作状态,或者处于灭屏,但还未进入休眠状态时,使用通信芯片执行数据包过滤操作,同样能够有效降低终端设备的功耗。虽然在这两种状态下,应用处理器未处于休眠状态,可以对数据包执行过滤操作,但是因为应用处理器属于处理器CPU,所产生的功耗高于使用通信芯片对数据包过滤所产生的功耗。因此,不管终端设备处于何种状态,使用通信芯片执行数据包的过滤操作,均可以有效降低功耗。
在一种实现方式中,本实施例主要目的是为了使通信芯片能够在接收到云端服务器发送过来的数据包之后,不立刻转发给应用处理器,而是先进行识别,并在该数据包应被过滤的情况下直接执行过滤操作,防止在终端设备处于灭屏且休眠状态下,应用处理器被频繁唤醒,因此过滤规则相当于一种黑名单机制,过滤规则中包含的是不允许与云端服务器进行数据交互的应用程序进程,只要通信芯片接收到的数据包对应的目的端口号及协议号能在过滤规则中查找到,则立刻将该数据包丢弃,防止唤醒应用处理器进行处理。
在另一种实现方式中,可以在过滤规则中增加白名单机制,用于存储重要的应用程序进程对应的端口号及协议号,这些进程被允许与云端服务器之间的数据交互,一旦通信芯片接收到这些进程对应的数据包,便优先转发给应用处理器进行处理。
作为示例,参见下表2,假设通信芯片存储的过滤规则为白名单机制,其中包含四组端口号及协议号(实际应用中还可能包含更多,例如上百组甚至上千组),第一组为端口号7及协议号1,对应了进程7,第二组为端口号8及协议号1,对应了进程8,第三组为端口号9及协议号3,对应了进程9,第四组为端口号10及协议号2,对应了进程10,进程7-进程10均为重要的且被允许与云端服务器进行数据交互的进程。若待处理数据包的目的端口号及协议号分别为端口号7及协议号1,通信芯片在过滤规则中查找之后,匹配到第一组,表示待处理数据包对应的待识别进程位于过滤规则中,则通信芯片可以将该待处理数据包优先转发给应用处理器进行处理。
表2过滤规则(白名单机制)
本实施例公开的数据通信方法中,通信芯片还可以执行以下操作,实现过滤规则的预存以及更新,确保通信芯片执行数据包过滤操作的准确率:
通信芯片接收终端设备的应用处理器所发送的至少一个目标数据组,并将所述目标数据组添加至所述过滤规则中,每个所述目标数据组包括一个目标进程的端口号及协议号。
其中,所述目标进程为在后台运行的应用程序中,需被限制与云端服务器通信的进程。或者,所述目标进程为从前台退至后台运行的应用程序中,需被限制与云端服务器通信的进程。实际应用中,终端设备中存在一些进程是从前台运行状态切换至后台运行状态的,终端设备中也存在一些进程始终运行在后台,这些进程不会在前台运行,也不存在用户可以感知的业务。本实施例公开的数据通信方法,不光针对从前台切换至后台运行的进程,还针对这些始终仅在后台运行的进程。
为了实现过滤规则的预存和更新,在通信芯片接收终端设备的应用处理器所发送的至少一个目标数据组,并将所述目标数据组添加至所述过滤规则中之前,本申请实施例公开的数据通信方法还包括过滤规则的生成方法,过滤规则的生成方法主要应用于终端设备的应用处理器,应用处理器包括应用后台管理模块和内核层,参见图6,该方法包括:
步骤601,应用后台管理模块确定是否存在应用程序退至后台运行。
实际操作中,若终端设备为手机或平板电脑等设备,当应用程序正在运行时,用户可以按HOME键,使得应用程序退至后台运行。若终端设备为计算机等设备,当应用程序正在运行时,用户可以点击最小化图标,使得应用程序退至后台运行。
应用后台管理模块通过监测应用程序的生命周期,能够判断出应用程序是运行在前台还是后台,以及判断出应用程序所切换的各个状态。
步骤602,当存在应用程序退至后台运行时,应用后台管理模块获取目标进程。
其中,所述目标进程为退至后台运行的应用程序中,需被限制与云端服务器进行数据交互的进程,目标进程为一个或多个进程。
示例性的,基于内核层提供的IP/NetFliter防火墙技术,能够获取特定的过滤机制。应用后台管理模块一旦监测到应用程序退至后台运行后,便可通过IP/NetFliter防火墙技术,针对该应用程序所有的进程判断是否被限制与云端服务器之间的数据交互,进而获取所有被限制与云端服务器进行数据交互的进程,得到目标进程。
一个应用程序在运行过程中,可能启动了一个进程或多个进程,每个应用程序对应有识别ID(简称UID),每个进程也对应有识别ID(简称PID)。UID是应用程序的身份标识,PID是进程的身份标识,一个应用程序在运行时可能包含多个进程,每个进程有唯一的一个PID。当应用程序退至后台运行时,可能所有进程都被限制,也可能只有部分进程被限制,还有可能所有进程都不被限制。
在一种实现方式中,应用后台管理模块若监测到所述应用程序退至后台运行,则获取所述应用程序对应的限制级别,所述限制级别包括UID级别或PID级别;若限制级别为UID级别,则表示所述应用程序的所有进程全部需被限制,这种情况下,可以确定所有进程均为目标进程;若限制级别为PID级别,则表示所述应用程序的一些进程需被限制,这种情况下,只有部分进程为目标进程。
应用后台管理模块获取应用程序对应的限制级别,相当于针对该应用程序生成相应的过滤命令。若限制级别为UID级别,针对该应用程序的所有进程均生成过滤命令,过滤命令的具体表现形式可以为该应用程序的UID;若限制级别为PID级别,针对该应用程序的部分进程生成过滤命令,过滤命令的具体表现形式可以为该应用程序部分进程的UID。每监测到一个应用程序退至后台运行,应用后台管理模块便获取该应用程序的目标进程,然后生成相应的过滤命令。
例如,对于一个游戏类型的应用程序来说,当退至后台运行时,所有进程都将不被允许与云端服务器之间进行数据交互,以防止增加终端设备的功耗。那么针对该游戏类型的应用程序,限制级别为UID级别,应用后台管理模块将该应用程序的所有进程作为目标进程,生成过滤命令,过滤命令可以为该游戏类型的应用程序的UID。
又例如,对于一个聊天类型的应用程序来说,用户若点开了一个新闻链接,那么该聊天类型的应用程序则相当于启动了两个进程,每个进程均与各自的云端服务器创建连接,一个用于实时收发消息,另一个用于获取新闻数据。当应用程序退至后台运行时,用于收发消息的进程被允许继续与云端服务器保持数据交互,以确保用户能够实时接收消息,用于获取新闻数据的进程则不被允许与云端服务器之间进行数据交互,以防止增加终端设备的功耗。那么针对该聊天类型的应用程序,限制级别为PID级别,应用后台管理模块将用于获取新闻数据的进程作为目标进程,生成过滤命令,过滤命令可以为用于获取新闻数据的进程的PID。
需要说明的是,若该应用程序所有的进程均不受限制,则表示该应用程序既不属于UID级别也不属于PID级别,无需对该应用程序执行过滤操作,因而不需要针对该应用程序生成过滤命令以及执行后续步骤。
步骤603,内核层根据所述目标进程获取目标数据组。
其中,所述目标数据组可以包括目标进程的端口号和协议号。
在内核层获取每个目标进程的目标数据组之前,应用后台管理模块必然要先将获取的目标进程发送给内核层。
在一种实现方式中,若某个应用程序的限制级别为UID级别,则应用后台管理模块可以直接将该应用程序的UID发送给内核层,内核层接收到该应用程序的UID后,能够获取该应用程序的所有进程。若某个应用程序的限制级别为PID级别,则应用后台管理模块确定该应用程序对应的目标进程之后,将目标进程的PID发送给内核层。
内核层接收到应用后台管理模块发送的目标进程后,便可以获取目标进程的端口号,以及获取目标进程与云端服务器之间创建的连接,通过对连接进行解析,得到连接的协议号,然后将得到的端口号及协议号作为目标进程的目标数据组。
在一种实现方式中,若应用程序的限制级别为UID级别,内核层针对接收到的该应用程序的UID,能够获取该应用程序所有进程及每个进程与云端服务器创建连接的Socket信息。
Socket信息定义了一个连接的两个端点的五元组:源IP地址、源端口号、目的IP地址、目的端口号及协议号。其中,源IP地址及源端口号均对应应用程序进程,目的IP地址及目的端口号均对应云端服务器。并且,Socket信息还标识了进程与云端服务器之间的连接是通过TCP协议建立的,还是通过UDP协议建立的。因此,根据Socket信息,能够获取进程的源端口号和协议号,进而得到每个目标进程的目标数据组。
在另一种实现方式中,若应用程序的限制级别为PID级别,则仅有部分进程为目标进程,内核层针对接收到的每个目标进程的PID,获取每个目标进程与云端服务器创建连接的Socket信息,进而得到每个目标进程的目标数据组。
步骤604,内核层将所述目标数据组发送至通信芯片。
一旦内核层将目标进程的目标数据组发送至通信芯片,通信芯片便将该目标数据组加入过滤规则中,实现过滤规则的更新,并按照更新后的过滤规则对目标进程对应的数据包执行过滤操作,只要接收到云端服务器发送过来的数据包,便直接丢弃,不再转发至应用处理器。
以下结合示例,对过滤规则的生成方法(步骤601-步骤604)进行说明。
假设某个应用程序在运行时,启动了两个进程,每个进程都会与各自的云端服务器创建一个Socket连接,其中一个进程(PID 1)对应Socket 1,另一个进程(PID 2)对应Socket2,那么Socket 1定义了:源IP地址1、源端口号1、目的IP地址1、目的端口号1及协议号1,Socket 2定义了:源IP地址2、源端口号2、目的IP地址2、目的端口号2及协议号2。其中,源端口号1为进程(PID 1)的端口号,源端口号2为进程(PID 2)的端口号。
应用后台管理模块一旦监测该应用程序退至后台运行,便获取该应用程序的限制级别。
若该应用程序的限制级别为UID级别,那么应用后台管理模块便直接获取该应用程序的UID,并将该应用程序的UID发送至内核层,内核层根据接收到的应用程序UID,获取该应用程序下所有进程建立的连接,包括Socket 1和Socket 2,然后,内核层获取Socket 1所定义的源端口号1及协议号1,获取Socket 2所定义的源端口号2及协议号2,最后,内核层将源端口号1及协议号1作为PID 1的目标数据组发送至通信芯片,将源端口号2及协议号2作为PID 2的目标数据组发送至通信芯片。
若该应用程序的限制级别为PID级别,并假设进程(PID 2)被限制与云端服务器之间的数据交互,那么应用后台管理模块便将PID 2对应的进程确定为目标进程,然后将该目标进程的PID(即PID 2)发送至内核层,内核层根据PID 2,获取Socket 2,并获取Socket 2所定义的源端口号2及协议号2,最后,内核层将源端口号2及协议号2作为PID 2的目标数据组发送至通信芯片。
考虑到通信芯片的性能及内存因素,在某些应用场景下,过滤规则中不能存储过多的端口号及协议号,否则将影响数据包过滤的效率。因此本实施例可以仅针对冷冻的应用程序(即生命周期进入第五种状态的应用程序)进行监测,将其对应的某些进程的端口号及协议号存储至过滤规则中。
一些情况下,可以由应用后台管理模块决定后台运行的应用程序是否进入冷冻状态,具体的,当应用程序进入后台运行之后,应用后台管理模块便判断是否可以将该应用程序进行冷冻,判断的依据为该应用程序是否存在用户可以感知的业务进程,若不存在,则可以将该应用程序冷冻,其中,用户可以感知的业务进程包括但不限于:导航、音乐、接收聊天消息、运动计步、数据下载等。冷冻的手段为在该应用程序在后台运行达到规定时间之后,限制所有进程的一切活跃行为,包括但不限于:与云端服务器进行数据交互以及读取终端设备信息等行为。
另一些情况下,也可以由用户预先对应用程序是否冷冻进行设定。用户可以对被应用处理器设定成冷冻状态的应用程序进行解冻,也可以对被应用处理器设定为不进入冷冻状态的应用程序进行冷冻。
如果应用程序在冷冻状态下,仍存在进程在接收云端服务器发送过来的数据包,那么本实施例将该进程优先加入黑名单中,即使在过滤规则容量有限的情况下,通信芯片也能首先过滤该进程对应的数据包,具体的,参见图7,应用处理器通过执行步骤6021-步骤6023,以替代步骤602,实现上述目的。
步骤6021,当存在应用程序退至后台运行时,应用后台管理模块确定退至后台运行的应用程序是否进入冷冻状态。
一种实现方式中,应用程序进入后台运行之后,应用后台管理模块若判定可以将该应用程序进行冷冻,那么便可以通过计时来监测该应用程序是否进入冷冻状态,当应用程序在后台运行达规定时间之后,判定进入冷冻状态。
另一种实现方式中,应用后台管理模块通过监测应用程序的生命周期,判断该应用程序是否进入冷冻状态。
步骤6022,当确定所述退至后台运行的应用程序进入冷冻状态时,应用后台管理模块确定是否接收到目标数据包,所述目标数据包为云端服务器针对进入冷冻状态的应用程序发送的数据包。
当接收到云端服务器发送过来的数据包后,应用后台管理模块对该数据包进行解析,获取该数据包对应的目的端口号,若该数据包的目的端口号对应为进入冷冻状态的应用程序下的某个进程,则可判定该数据包为目标数据包。
步骤6023,当确定接收到所述目标数据包时,应用后台管理模块获取所述目标进程。
当监测到目标数据包时,表示目标数据包对应的进程应该处于冷冻状态,但却仍然在活跃,此时将该目标数据包目的端口号对应的进程设置为目标进程,后续可优先对该进程生成过滤命令,使得通信芯片一旦接收到目标数据包,便可直接丢弃。
应用后台管理模块通过执行步骤6021-步骤6023,可以仅针对冷冻的应用程序进行监测,将仍存在活跃行为的进程设为目标进程,然后再执行步骤603-步骤604,使内核层获取每个目标进程的目标数据组发送至通信芯片的过滤规则中,如此可以减小过滤规则中所要存储的端口号及协议号数量,在确保优先对冷冻应用程序的数据包进行过滤的基础上,有效提高通信芯片针对数据包过滤的执行效率。
在一些情况下,当应用程序进入后台运行时,可能仅有部分进程会被冷冻,其余进程继续维持后台运行状态,本实施例可以仅针对冷冻的进程进行监测,如果冷冻的进程仍在活跃,且仍存在云端服务器发送数据包过来,则可以将这些进程的端口号及协议号存储至过滤规则中,优先对这些进程对应的数据包执行过滤操作。
基于上述实施例公开的过滤规则生成方法,内核层将目标数据组发送至通信芯片之后,通信芯片在将接收到的数据存储至过滤规则中的同时,针对每个目标数据组,建立端口号与协议号之间的对应关系,使得一组端口号与协议号对应一个应用程序进程,后续在对接收到的数据包执行过滤操作时,能够提高准确率和效率。
接下来说明在通信芯片中存储过滤规则的操作时机。
当应用程序进入后台运行时,终端设备的运行状态可能包括以下三种情况:
第一种情况,用户将应用程序退至后台运行之后,一直对终端设备进行操作,使终端设备一直处于第一种状态,即亮屏且正常工作状态。
第二种情况,用户将应用程序退至后台运行之后,并不再对终端设备进行任何操作,终端设备一开始处于第一种状态,一段时间之后,终端设备进入第二种状态,即灭屏,但还未进入休眠状态,接着,终端设备便会进入第三种状态,即灭屏且进入休眠状态。
第三种情况,用户将应用程序退至后台运行的同时,并直接将终端设备灭屏,使得终端设备直接进入第三种状态。
本实施例公开的过滤规则生成方法,无论终端设备的运行状态处于上述哪种情况,只要应用程序进入后台运行,应用处理器中的应用后台管理模块和内核层便执行相应操作。若能够在终端设备进入第三种状态之前,便将目标进程的端口号及协议号存储进通信芯片过滤规则中,使得终端设备刚进入第三种状态时,便可以直接通过通信芯片对相应进程对应的的数据包进行过滤,如此能够最大程度上降低终端设备的功耗。
本申请提供的数据通信方法,一旦应用程序进入后台运行,应用处理器便针对该应用程序的所有进程,判断是否执行过滤命令,一旦该应用程序的所有进程或某些进程被判定要被过滤,便将这些进程对应的端口号及协议号加入通信芯片的过滤规则中。在终端设备进入灭屏的休眠状态时,通信芯片便可自主对相应的云端服务器发送过来的数据包进行过滤,无需唤醒应用处理器,有效减少终端设备休眠状态的中断次数,降低终端设备的功耗。
在一些情况中,还可以针对线程,执行上述实施例公开的数据通信方法,执行过程相同,只不过将执行对象换成了线程。其中,线程是应用程序执行的最小单位,一个进程可能由一个或多个线程组成,线程是一个进程中代码的不同执行路线。在应用程序运行过程中,线程会与云端服务器建立连接以进行数据交互。
当应用程序进入后台运行,应用处理器便针对该应用程序下的所有线程,判断是否执行过滤命令,一旦该应用程序的所有线程或某些线程被判定要被过滤,便将这些线程对应的端口号及协议号加入通信芯片的过滤规则中。
下述为本申请的装置实施例,可以用于执行本申请的方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请的方法实施例。
本申请第二实施例公开了一种数据通信芯片,参见图8,图8所示的数据通信芯片800包括收发电路810和处理电路820。处理电路820可以是处理器,具备执行控制、逻辑判断等操作的功能。收发电路810具备执行数据收发的功能。
在一些实施例中,结合图3,若由WiFi芯片311或Modem芯片312执行数据包的过滤操作,那么收发电路810和处理电路820均设置于WiFi芯片311,以及,均设置在Modem芯片312中。
在另一些实施例中,结合图4,若由MCU芯片313执行数据包的过滤操作,那么WiFi芯片311和Modem芯片312可以仅用于数据包的收发,因此收发电路810可以设置在WiFi芯片311和Modem芯片312中,处理电路820可以设置在MCU芯片313中,这种情况下,处理电路820即为微控制芯片。
其中,所述收发电路810用于:接收待处理数据包,所述待处理数据包为云端服务器发送的数据包。
所述处理电路用于:获取待识别进程,所述待识别进程为所述待处理数据包对应的进程。确定所述待识别进程是否存在于预设的过滤规则中,所述过滤规则包括至少一个被限制与云端服务器通信的进程。当所述待识别进程存在于所述过滤规则中时,不向应用处理器转发所述待处理数据包。
本实施例公开的数据通信芯片包括收发电路810和处理电路820,当收发电路810接收到云端服务器发送的数据包时,处理电路820针对该数据包进行识别,判断该数据包是否需要被过滤,若需要,则处理电路820直接将该数据包丢弃,如此可以避免唤醒应用处理器,有效减少终端设备的休眠状态被中断的次数,减小终端设备的功耗。
一种实现方式中,所述处理电路820在获取待识别进程时,用于:获取所述待处理数据包的目的端口号和协议号。根据所述待处理数据包的目的端口号和协议号,获取所述待识别进程。
处理电路820对数据包进行解析,能够得到数据包的目的端口号和协议号,进而准确定位该数据包要发往哪个应用程序进程,获取待识别进程。
一种实现方式中,所述处理电路820在确定所述待识别进程是否存在于预设的过滤规则中时,用于:确定所述待处理数据包的目的端口号和协议号是否存在于预设的过滤规则中,其中,所述过滤规则中包括多组端口号及协议号,每组端口号及协议号对应一个被限制与云端服务器通信的进程。
一种实现方式中,所述处理电路820还用于:当所述待识别进程不存在于所述过滤规则中时,向所述应用处理器转发所述待处理数据包。
处理电路820只有在待识别进程被允许与云端服务器之间进行通信,对应的待处理数据包允许被通过的情况下,才将数据包转发至应用处理器,以进行后续处理。
一种实现方式中,所述处理电路820还用于:接收所述应用处理器发送的至少一个目标数据组,每个所述目标数据组包括一个目标进程的端口号及协议号,所述目标进程为在后台运行的应用程序中,需被限制与云端服务器通信的进程。将所述目标数据组添加至所述过滤规则中。
一种实现方式中,所述处理电路820还用于:接收所述应用处理器发送的至少一个目标数据组,每个所述目标数据组包括一个目标进程的端口号及协议号,所述目标进程为从前台退至后台运行的应用程序中,需被限制与云端服务器通信的进程。将所述目标数据组添加至所述过滤规则中。
处理电路820中预先存储了过滤规则,在利用过滤规则执行数据包的过滤操作时,接收应用处理器发送过来的目标数据组,基于目标数据组实现过滤规则的更新,确保执行数据包过滤操作的准确率。
本申请第三实施例公开了一种数据通信装置,参见图9,数据通信装置900包括如本申请第二实施例所述的数据通信芯片800及应用处理器910。
本实施例公开的应用处理器910包括应用后台管理模块及内核层,结合图3及图4公开的流程图能够明确应用后台管理模块及内核层各自所要执行的操作,本实施例不再赘述。本实施例提供的应用处理器910能够针对在后台运行的应用程序,生成过滤规则,进而对处理电路820中的过滤规则进行更新,以确保数据包过滤的准确性及实时性。
所述应用处理器910用于:在处理电路820接收所述应用处理器发送的至少一个目标数据组之前,确定是否存在应用程序退至后台运行。当存在应用程序退至后台运行时,获取目标进程。根据所述目标进程获取目标数据组,所述目标数据组包括所述目标进程的端口号和协议号。将所述目标数据组发送至所述处理电路820。
本实施例公开的应用处理器910能够针对后台运行的应用程序,判断每个进程是否需被执行过滤操作,并能够在该应用程序的所有进程或某些进程被判定要被过滤时,将这些进程对应的目标数据组发送至处理电路820,使得处理电路820将该目标数据组加入过滤规则中,实现过滤规则的更新,并按照更新后的过滤规则对目标进程对应的数据包执行过滤操作,后续只要收发电路810接收到云端服务器发送过来的数据包,处理电路820便直接丢弃该数据包,不再转发至应用处理器910,如此在终端设备进入灭屏的休眠状态时,能够有效减少终端设备休眠状态的中断次数,降低终端设备的功耗。
一种实现方式中,所述应用处理器910在获取目标进程时,用于:确定退至后台运行的应用程序是否进入冷冻状态。当确定所述退至后台运行的应用程序进入冷冻状态时,确定是否接收到目标数据包,所述目标数据包为云端服务器针对进入冷冻状态的应用程序发送的数据包。当确定接收到所述目标数据包时,获取所述目标进程。
本实施例公开的应用处理器910可以仅针对冷冻的应用程序进行监测,将仍存在活跃行为的进程设为目标进程,然后获取每个目标进程的目标数据组发送至处理电路820的过滤规则中,如此可以减小过滤规则中所要存储的端口号及协议号数量,在确保优先对冷冻应用程序的数据包进行过滤的基础上,有效提高通信芯片的数据包过滤效率。
一种实现方式中,所述应用处理器910在获取所述目标进程时,用于:获取所述目标数据包的目的端口号。根据所述目标数据包的目的端口号,获取所述目标进程。
一种实现方式中,所述应用处理器910在根据所述目标进程获取目标数据组时,用于:根据所述目标进程获取套接字信息,所述套接字信息包括所述目标进程的端口号及协议号。根据所述套接字信息,获取所述目标数据组。通过目标进程的套接字信息,应用处理器910能够获取进程的源端口号和协议号,进而得到每个目标进程的目标数据组。
本申请第四实施例公开了一种终端设备,包括如本申请第三实施例所述的数据通信装置。
本申请第五实施例公开了一种终端设备,参见图10,终端设备1000包括:至少一个数据通信装置1010和存储器1020,其中,本实施例中的数据通信装置1010对应于本申请第三实施例所述的数据通信装置900。所述存储器1020,用于存储程序指令。所述数据通信装置1010,用于调用并执行所述存储器1020中存储的程序指令,以使所述终端设备执行如图5、图6及图7所述的数据通信方法。
在一些实现方式中,参见图10,所述数据通信装置1010可以包括如图8中所示的收发电路810、处理电路820及如图9中所示的应用处理器910。其中,收发电路810及处理电路820主要用于实现数据包的过滤操作。应用处理器910主要用于实现过滤规则的生成操作。
本申请第六实施例公开了一种终端设备,包括:至少一个处理器和存储器。所述存储器,用于存储程序指令。所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端设备执行如图5、图6及图7所述的数据通信方法。
在一些实施例中,本申请还提供一种数据通信装置,该数据通信装置可以用于实现前述实施例中所述的数据通信装置所执行的功能。该数据通信装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。
本申请第七实施例公开了一种数据通信芯片,参见图11,图11示出了一种数据通信芯片的结构示意图。如图11所示,该数据通信芯片1100包括收发模块1101及处理模块1102。其中,该数据通信芯片1100对应于图8中的数据通信芯片800,收发模块1101用于实现图8中收发电路810的功能,处理模块1102用于实现图8中处理电路820的功能。
在一些实现方式中,收发模块1101用于接收待处理数据包,所述待处理数据包为云端服务器发送的数据包。处理模块1102用于获取待识别进程,所述待识别进程为所述待处理数据包对应的进程;确定所述待识别进程是否存在于预设的过滤规则中,所述过滤规则包括至少一个被限制与云端服务器通信的进程;当所述待识别进程存在于所述过滤规则中时,不向所述应用处理器转发所述待处理数据包。
本实施例公开的数据通信芯片1100包括收发模块1101和处理模块1102,当收发模块1101接收到云端服务器发送的数据包时,处理模块1102针对该数据包进行识别,判断该数据包是否需要被过滤,若被限制,则处理模块1102直接将该数据包丢弃,如此可以避免唤醒应用处理器,有效减少终端设备的休眠状态被中断的次数,减小终端设备的功耗。
本申请的第八实施例还提供一种数据通信装置,参见图12,图12示出了本申请实施例提供的数据通信装置的结构示意图。如图12所示,该数据通信装置1200可以包括收发模块1201、处理模块1202和应用处理模块1203。其中,收发模块1201对应于图11中的收发模块1101,用于实现图8中收发电路810的功能。处理模块1202对应于图11中的处理模块1102,用于实现图8中处理电路820的功能。应用处理模块1203用于实现图9中应用处理器910的功能。
本实施例提供的数据通信装置,包括收发模块1201和处理模块1202,能够对云端服务器发送过来的处理数据包执行过滤操作,当终端设备处于灭屏且进入休眠状态时,收发模块1201若接收到云端服务器发送的数据包,通过处理模块1202进行识别,判断该数据包是否需要被过滤,若需要,则处理模块1202直接将该数据包丢弃,不用转发至应用处理模块1203,避免唤醒应用处理器,如此可有效减少终端设备的休眠状态被中断的次数,减小终端设备的功耗。
本申请第九实施例还提供一种终端设备,参见图13,图13还示出了本申请实施例提供的终端设备的结构示意图。如图13所示,该终端设备1300可以包括第八实施例中所述的数据通信装置1200和存储模块1310。该终端设备的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。
本实施例提供的终端设备,通过数据通信装置1200中的收发模块1201和处理模块1202,对云端服务器发送过来的处理数据包执行过滤操作,当终端设备处于灭屏且进入休眠状态时,收发模块1201若接收到云端服务器发送的数据包,通过处理模块1202进行识别,判断该数据包是否需要被过滤,若需要,则处理模块1202直接将该数据包丢弃,不用转发至应用处理模块1203,避免唤醒应用处理器,如此可有效减少终端设备的休眠状态被中断的次数,减小终端设备的功耗。
在一些实现方式中,本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介(或存储器)可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于UE中。可选地,处理器和存储媒介也可以设置于UE中的不同的部件中。
本申请第十实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如图5、图6及图7所述的数据通信方法。
所述计算机可读介质的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请第十一实施例提供一种包含指令的计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行如图5、图6及图7所述的数据通信方法。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。

Claims (18)

1.一种数据通信方法,其特征在于,所述方法包括:
终端设备的通信芯片接收待处理数据包,所述待处理数据包为云端服务器发送的数据包;
所述通信芯片获取待识别进程,所述待识别进程为所述待处理数据包对应的进程;
所述通信芯片确定所述待识别进程是否存在于预设的过滤规则中,所述过滤规则包括至少一个被限制与云端服务器通信的进程;
当所述待识别进程存在于所述过滤规则中时,所述通信芯片不向所述终端设备的应用处理器转发所述待处理数据包;
所述方法还包括:
所述应用处理器确定是否存在应用程序退至后台运行;
当存在应用程序退至后台运行时,所述应用处理器确定退至后台运行的应用程序是否进入冷冻状态;当确定所述退至后台运行的应用程序进入冷冻状态时,所述应用处理器确定是否接收到目标数据包,所述目标数据包为云端服务器针对进入冷冻状态的应用程序发送的数据包;当确定接收到所述目标数据包时,所述应用处理器获取目标进程;所述目标进程为在后台运行的应用程序中,需被限制与云端服务器通信的进程;
所述应用处理器根据所述目标进程获取目标数据组,所述目标数据组包括所述目标进程的端口号和协议号;
所述应用处理器将所述目标数据组发送至所述通信芯片;
所述通信芯片接收所述应用处理器发送的至少一个所述目标数据组;
所述通信芯片将所述目标数据组添加至所述过滤规则中。
2.根据权利要求1所述的数据通信方法,其特征在于,所述通信芯片获取待识别进程,包括:
所述通信芯片获取所述待处理数据包的目的端口号和协议号;
所述通信芯片根据所述待处理数据包的目的端口号和协议号,获取所述待识别进程。
3.根据权利要求1或2所述的数据通信方法,其特征在于,所述通信芯片确定所述待识别进程是否存在于预设的过滤规则中,包括:
所述通信芯片确定所述待处理数据包的目的端口号和协议号是否存在于预设的过滤规则中,其中,所述过滤规则中包括多组端口号及协议号,每组端口号及协议号对应一个被限制与云端服务器通信的进程。
4.根据权利要求1至3任一项所述的数据通信方法,其特征在于,所述方法还包括:
当所述待识别进程不存在于所述过滤规则中时,所述通信芯片向所述应用处理器转发所述待处理数据包。
5.根据权利要求1-4任一项所述的数据通信方法,其特征在于,所述应用处理器获取所述目标进程,包括:
所述应用处理器获取所述目标数据包的目的端口号;
所述应用处理器根据所述目标数据包的目的端口号,获取所述目标进程。
6.根据权利要求1-4任一项所述的数据通信方法,其特征在于,所述应用处理器根据所述目标进程获取目标数据组,包括:
所述应用处理器根据所述目标进程获取套接字信息,所述套接字信息包括所述目标进程的端口号及协议号;
所述应用处理器根据所述套接字信息,获取所述目标数据组。
7.根据权利要求1-6任一项所述的数据通信方法,其特征在于,所述通信芯片包括微控制芯片及数据收发芯片;
所述数据收发芯片包括调制解调芯片和/或无线保真芯片。
8.一种数据通信芯片,其特征在于,包括收发电路和处理电路;
其中,所述收发电路用于:
接收待处理数据包,所述待处理数据包为云端服务器发送的数据包;
所述处理电路用于:
获取待识别进程,所述待识别进程为所述待处理数据包对应的进程;
确定所述待识别进程是否存在于预设的过滤规则中,所述过滤规则包括至少一个被限制与云端服务器通信的进程;
当所述待识别进程存在于所述过滤规则中时,不向应用处理器转发所述待处理数据包;
所述处理电路还用于:
接收所述应用处理器发送的至少一个目标数据组,每个所述目标数据组包括一个目标进程的端口号及协议号,所述目标进程为在后台运行的应用程序中,需被限制与云端服务器通信的进程;所述目标进程为所述应用处理器在向所述处理电路发送至少一个目标数据组之前,确定存在退至后台运行的应用程序进入冷冻状态,且接收到目标数据包时获取得到的;所述目标数据包为云端服务器针对进入冷冻状态的应用程序发送的数据包;
将所述目标数据组添加至所述过滤规则中。
9.根据权利要求8所述的数据通信芯片,其特征在于,所述处理电路在获取待识别进程时,用于:
获取所述待处理数据包的目的端口号和协议号;
根据所述待处理数据包的目的端口号和协议号,获取所述待识别进程。
10.根据权利要求8或9所述的数据通信芯片,其特征在于,所述处理电路在确定所述待识别进程是否存在于预设的过滤规则中时,用于:
确定所述待处理数据包的目的端口号和协议号是否存在于预设的过滤规则中,其中,所述过滤规则中包括多组端口号及协议号,每组端口号及协议号对应一个被限制与云端服务器通信的进程。
11.根据权利要求8-10任一项所述的数据通信芯片,其特征在于,所述处理电路还用于:
当所述待识别进程不存在于所述过滤规则中时,向所述应用处理器转发所述待处理数据包。
12.根据权利要求8-11任一项所述的数据通信芯片,其特征在于,所述处理电路为微控制芯片。
13.一种数据通信装置,其特征在于,包括如权利要求8-12任一项所述的数据通信芯片及应用处理器;
所述应用处理器用于:
在处理电路接收所述应用处理器发送的至少一个目标数据组之前,确定是否存在应用程序退至后台运行;
当存在应用程序退至后台运行时,确定退至后台运行的应用程序是否进入冷冻状态;
当确定所述退至后台运行的应用程序进入冷冻状态时,确定是否接收到目标数据包,所述目标数据包为云端服务器针对进入冷冻状态的应用程序发送的数据包;
当确定接收到所述目标数据包时,获取所述目标进程;
根据所述目标进程获取目标数据组,所述目标数据组包括所述目标进程的端口号和协议号;
将所述目标数据组发送至所述处理电路。
14.根据权利要求13所述的数据通信装置,其特征在于,所述应用处理器在获取所述目标进程时,用于:
获取所述目标数据包的目的端口号;
根据所述目标数据包的目的端口号,获取所述目标进程。
15.根据权利要求13所述的数据通信装置,其特征在于,所述应用处理器在根据所述目标进程获取目标数据组时,用于:
根据所述目标进程获取套接字信息,所述套接字信息包括所述目标进程的端口号及协议号;
根据所述套接字信息,获取所述目标数据组。
16.一种终端设备,其特征在于,包括如权利要求13-15任一项所述的数据通信装置。
17.一种终端设备,其特征在于,包括:
至少一个处理器和存储器;
所述存储器,用于存储程序指令;
所述处理器,用于调用并执行所述存储器中存储的程序指令,以使所述终端设备执行权利要求1-7任一项所述的数据通信方法。
18.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的数据通信方法。
CN202110874954.5A 2021-07-30 2021-07-30 数据通信方法及装置 Active CN115696520B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110874954.5A CN115696520B (zh) 2021-07-30 2021-07-30 数据通信方法及装置
PCT/CN2022/092428 WO2023005343A1 (zh) 2021-07-30 2022-05-12 数据通信方法及装置
EP22798225.3A EP4149176A1 (en) 2021-07-30 2022-05-12 Data communication method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110874954.5A CN115696520B (zh) 2021-07-30 2021-07-30 数据通信方法及装置

Publications (2)

Publication Number Publication Date
CN115696520A CN115696520A (zh) 2023-02-03
CN115696520B true CN115696520B (zh) 2023-10-20

Family

ID=84901319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110874954.5A Active CN115696520B (zh) 2021-07-30 2021-07-30 数据通信方法及装置

Country Status (3)

Country Link
EP (1) EP4149176A1 (zh)
CN (1) CN115696520B (zh)
WO (1) WO2023005343A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105474129A (zh) * 2013-08-22 2016-04-06 三星电子株式会社 用于在电子装置中执行省电模式的方法及其电子装置
CN109388222A (zh) * 2017-08-04 2019-02-26 中兴通讯股份有限公司 省电处理方法、装置及移动终端和计算机可读存储介质
CN110687998A (zh) * 2019-09-18 2020-01-14 华为技术有限公司 一种应用管理方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103828446A (zh) * 2013-10-11 2014-05-28 华为终端有限公司 一种处理数据的方法、调制解调器及终端
CN109413726B (zh) * 2018-12-24 2021-05-07 维沃移动通信有限公司 功耗控制方法及移动终端
CN112351476A (zh) * 2019-08-06 2021-02-09 中兴通讯股份有限公司 基于网络的应用功耗调控方法、终端及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105474129A (zh) * 2013-08-22 2016-04-06 三星电子株式会社 用于在电子装置中执行省电模式的方法及其电子装置
CN109388222A (zh) * 2017-08-04 2019-02-26 中兴通讯股份有限公司 省电处理方法、装置及移动终端和计算机可读存储介质
CN110687998A (zh) * 2019-09-18 2020-01-14 华为技术有限公司 一种应用管理方法及装置

Also Published As

Publication number Publication date
EP4149176A1 (en) 2023-03-15
CN115696520A (zh) 2023-02-03
WO2023005343A1 (zh) 2023-02-02

Similar Documents

Publication Publication Date Title
CN111698668B (zh) 无线通信链路建立方法及支持该方法的电子装置
US11375569B2 (en) Method and device for reconnecting Bluetooth communication
EP4216501A1 (en) Method for switching channels, electronic device, and storage medium
CN112954819B (zh) 一种设备组网方法、电子设备及系统
CN113535250B (zh) 一种应用保活方法、装置和电子设备
US20220113957A1 (en) Software Upgrade Method, Apparatus, and System
CN114895991B (zh) 内容分享方法和电子设备
CN113676339B (zh) 组播方法、装置、终端设备及计算机可读存储介质
CN112469014A (zh) 配置蓝牙连接参数的方法和电子设备
CN113810451B (zh) 点对点链路的建立方法、装置、第一终端设备和存储介质
CN115696520B (zh) 数据通信方法及装置
US20230171691A1 (en) Data transmission method and apparatus, and storage medium
WO2023083068A1 (zh) 唤醒对齐方法、系统及相关装置
US20240244123A1 (en) Data Communication Method and Apparatus
CN114050907B (zh) 网络数据包的过滤方法,终端设备和可读存储介质
CN116709442A (zh) 一种无线网络切换方法和电子设备
CN116847145A (zh) 休眠唤醒方法及电子设备
CN114531497A (zh) 一种tcp保活方法、装置及系统
CN114116610A (zh) 获取存储信息的方法、装置、电子设备和介质
CN115734323B (zh) 功耗优化方法和装置
CN116709476B (zh) 唤醒设备的方法、装置、电子设备及存储介质
WO2023005783A1 (zh) 数据处理方法及电子设备
CN114258044B (zh) 待机方法、系统及终端设备
CN115278804B (zh) 一种网络选择方法及相关设备
WO2023040705A1 (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40080407

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant