CN106714287A - 基于网络访问控制的终端节省电量的方法及装置 - Google Patents

基于网络访问控制的终端节省电量的方法及装置 Download PDF

Info

Publication number
CN106714287A
CN106714287A CN201611091417.9A CN201611091417A CN106714287A CN 106714287 A CN106714287 A CN 106714287A CN 201611091417 A CN201611091417 A CN 201611091417A CN 106714287 A CN106714287 A CN 106714287A
Authority
CN
China
Prior art keywords
application
network interface
terminal
network
network packet
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
Application number
CN201611091417.9A
Other languages
English (en)
Other versions
CN106714287B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201611091417.9A priority Critical patent/CN106714287B/zh
Publication of CN106714287A publication Critical patent/CN106714287A/zh
Priority to PCT/CN2017/113065 priority patent/WO2018099342A1/zh
Application granted granted Critical
Publication of CN106714287B publication Critical patent/CN106714287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User 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
    • 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/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0235Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a power saving command
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72463User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions to restrict the functionality of the device
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephone Function (AREA)

Abstract

一种基于网络访问控制的终端节省电量的方法以及装置,一个实施例中的方法包括步骤:在接收到省电应用开启指令时,创建虚拟网络接口,将满足预设条件的应用的第一网络数据包路由至所述虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口。本实施例的方案,其通过创建虚拟网络接口,并将满足预设条件的应用的第一网络数据包路由到该虚拟网络接口,使得满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口,从而通过虚拟网络接口过滤掉非必要的网络流量,限制非必要的网络访问,达到了省电和延长终端使用时间的目的。

Description

基于网络访问控制的终端节省电量的方法及装置
技术领域
本发明涉及应用控制领域,特别是涉及一种基于网络访问控制的终端节省电量的方法以及一种基于网络访问控制的终端节省电量的装置。
背景技术
以手机、智能平板这类终端设备为例,其最大的耗电的应用主要包括CPU(CentralProcessing Unit,中央处理器)、屏幕和数据流量。终端设备各类应用的耗电量的加大,不仅直接减少终端设备的待机时长,而且反复地对终端设备进行充放电操作,还会在一定程度上影响到终端设备的使用寿命,因此,实现终端应用的省电成为了终端应用开发的一个方向。
目前针对终端设备的省电应用,基本上是将与省电有关的系统设置项(例如声音大小、Wifi开关、移动网络开关、屏幕亮度、自动灭屏时间等等)罗列出来,供用户进行设置。其实现时,主要是通过调用系统的提供的接口改变相应的设置项。例如,以Android系统为例,在关闭\打开Wifi时调用WifiManager提供的setWifiEnabled()函数;关闭\打开移动数据时则调用ConnectivityManager中的setMobileDataEnabled()函数。
然而,降低屏幕亮度、降低铃声音量、关闭Wifi和移动数据等,虽然能达到省电的目的,但却是以损害用户使用终端设备的体验为代价,而且某些设置对省电的作用并不大。在关闭wifi和移动数据时,是直接把WiFi模块或移动网络模块关闭,从而所有应用都不能访问网络,也会在一定程度上制约了移动终端的使用性能。
发明内容
基于此,本实施例提供一种基于网络访问控制的终端节省电量的方法以及一种基于网络访问控制的终端节省电量的装置,以达到省电和终端使用时间的目的。
为达到上述目的,本实施例提供以下技术方案:
一种基于网络访问控制的终端节省电量的方法,包括步骤:
在接收到省电应用开启指令时,创建虚拟网络接口;
将满足预设条件的应用的第一网络数据包路由至所述虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口。
一种基于网络访问控制的终端节省电量的装置,包括:
虚拟接口创建模块,用于接收省电应用开启指令,创建虚拟网络接口;
终端数据路由模块,用于将满足预设条件的应用的第一网络数据包路由至所述虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口。
根据如上所述的本发明实施例的方案,其在接收到省电应用开启指令时,通过创建虚拟网络接口,并将满足预设条件的应用的第一网络数据包路由到该虚拟网络接口,由于网络虚拟接口并不对应任何的真实物理网卡,因此对该虚拟网络接口的操作并不会在真正的物理网络中产生数据的传输,使得满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口,从而通过虚拟网络接口过滤掉非必要的网络流量,限制非必要的网络访问,达到了省电和延长终端使用时间的目的。
附图说明
图1是一个实施例中的本发明实施例的应用环境的示意图;
图2是一个实施例中的终端的结构示意图;
图3是一个实施例中的基于网络访问控制的终端节省电量的方法的流程示意图;
图4是一个具体应用示例中的基于网络访问控制的终端节省电量的方法的流程示意图;
图5是图3所示的具体应用示例的方法的数据流的传输框图示意图;
图6是另一个具体应用示例中的基于网络访问控制的终端节省电量的方法的流程示意图;
图7是图6所示的具体应用示例的方法的数据流的传输框图示意图;
图8是一个实施例中的基于网络访问控制的终端节省电量的装置的结构示意图;
图9是一个具体应用示例中的基于网络访问控制的终端节省电量的装置的结构示意图;
图10是图9所示的具体应用示例的装置的各模块之间的逻辑关系示意图;
图11是另一个具体应用示例中的基于网络访问控制的终端节省电量的装置的结构示意图;
图12是图11所示的具体应用示例的装置的各模块之间的逻辑关系示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
图1示出了本发明一个实施例中的工作环境示意图,如图1所示,其工作环境涉及终端101以及网络服务器100,终端101与网络服务器100可以通过网络进行通信。终端101在与网络服务器100通过网络进行通信时,终端101需要将其数据包通过其自身的物理网络接口发送到网络,从而到达各网络服务器100或者其他的终端101。在本发明实施例中,通过在终端101创建虚拟网络接口,将满足条件的应用的网络数据包路由到该虚拟网络接口,从而无法到达终端101的物理网络接口,进而无法到达网络服务器100或者其他的终端101,实现了对应用访问网络的控制,即通过虚拟网络接口过滤掉非必要的网络流量,限制非必要的网络访问,从而达到省电和延长终端使用时间的目的。
终端101在一个实施例中的结构示意图如图2所示。该终端101包括通过系统总线连接的处理器、存储介质、通信接口、电源接口和内存。其中,终端101的存储介质存储有一种基于网络访问控制的终端节省电量的装置,该装置用于实现一种基于网络访问控制的终端节省电量的方法。终端101的通信接口用于与网络服务器100或者其他的网络终端101连接和通信,终端101的电源接口用于与外部电源连接,外部电源通过该电源接口向终端101供电。终端101可以是任何一种能够实现智能输入输出的设备,例如移动终端,比如手机、平板电脑等;也可以是其它具有上述结构的设备。
图3示出了一个实施例中的基于网络访问控制的终端节省电量的方法的流程示意图,如图3所示,该实施例中的方法包括:
步骤S301:在接收到省电应用开启指令时,创建虚拟网络接口;
步骤S302:将满足预设条件的应用的网络数据包(为了与从网络中接收到的数据包进行区分,本发明实施例中将应用需要发送到网络的网络数据包称之为第一网络数据包)路由至所述虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口。
从而,在接收到省电应用开启指令时,通过创建虚拟网络接口,并将满足预设条件的应用的第一网络数据包路由到该虚拟网络接口,由于网络虚拟接口并不对应任何的真实物理网卡,因此对该虚拟网络接口的操作并不会在真正的物理网络中产生数据的传输,使得满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口,从而通过虚拟网络接口过滤掉非必要的网络流量,限制非必要的网络访问,达到了省电和延长终端使用时间的目的。
其中,在上述将满足预设条件的应用的第一网络数据包路由至预先创建的虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口时,可以采用任何可能的方式进行。在其中一种应用示例中,可以是将上述满足预设条件的应用的第一网络数据包路由到虚拟网络接口,而其他的应用的第一网络数据包则直接路由到物理网络接口。在另外一种应用示例中,可以是将所有应用的第一网络数据包均路由到虚拟网络接口,在该应用为满足预设条件的应用时,不对该第一网络数据包做进一步处理或者直接丢弃,在该应用不是满足预设条件的应用时,再将路由至该虚拟网络接口的第一网络数据包转发至物理网络接口,实现正常应用的网络访问。以下结合这两种应用示例进行详细举例说明。
图4中示出了一个具体应用示例中的基于网络访问控制的终端节省电量的方法的流程示意图,该具体示例中是以将上述满足预设条件的应用的第一网络数据包路由到虚拟网络接口,而其他的应用的网络数据包则直接路由到终端的物理网络接口为例进行说明。
如图4所示,该具体应用示例中的基于网络访问控制的终端节省电量的方法包括步骤:
步骤S401:接收到省电应用开启指令,创建终端的虚拟网络接口;
步骤S402:设定预设条件的应用;
步骤S403:在应用有第一网络数据包发送至网络时,分析该第一网络数据包所属的应用是否为上述预设条件的应用,若否,则进入步骤S404,若是,则进入步骤S405;
步骤S404:将该应用的第一网络数据包路由至终端的物理网络接口,从而使得该第一网络数据包可以通过物理网络接口发送至网络;
步骤S405:将该应用的第二网络数据包路由至上述创建的虚拟网络接口,从而使得该第一网络数据包无法到达物理网络接口,无法发送到网络。
从而,基于该实施例中的方法,对于符合预设条件的应用的第一网络数据包,路由至创建的虚拟网络接口,实现流量的拦截,据此达到省电和延长终端使用时长的效果,而对于不符合预设条件的应用的第一网络数据包,则可以正常地路由至物理网络接口,实现正常的网络访问。
本领域技术人员理解,物理网络接口是真实物理网卡的抽象,通过对物理网络接口进行读写操作,可以在网络中读取和发送数据,而虚拟网络接口是虚拟网卡的抽象,并不对应任何真实的物理网卡,对这个虚拟网络接口的读写操作,并不会在真正的物理网络中产生数据的传输。基于虚拟网络接口的这种性能,在上述创建虚拟网络接口时,可以采用任何可能的方式进行。
以Android(安卓,一种综合操作系统)系统为例,其可以通过Android提供的VPNService(Android SDK提供的一个基类,继承自这个基类的服务,将会获得创建和读写虚拟接口的能力)创建一个虚拟网络接口。
上述设定预设条件的应用时,可以结合任何可能的方式进行,例如,可以将在后台运行的应用都判定为是满足预设条件的应用,只有前台应用的第一网络数据包能够路由到物理网络接口。当然,可以理解的是,还可以采用其他的方式来确定预设条件的应用。
在终端用户的实际使用过程中,通常仍然需要一些在后台运行的应用能够访问网络,例如一些即时聊天工具的应用、一些办公类应用等。因此,在一个具体示例中,在上述设定预设条件的应用时,可以通过设定白名单的方式进行,即在设定预设条件的应用时,实际上可以是设置白名单中包含的应用。此时,上述满足预设条件的应用包括:不属于白名单中的应用。白名单中的应用的第一网络数据包可以直接路由至终端的物理网络接口。
另一方面,在该实施例的方案中,为了不影响终端用户对非白名单应用的使用,还可以设置有全局模式(Aggressive Mode()),在全局模式下,会对终端的前台应用进行监测,并自动允许前台应用的网络访问,即前台应用的第一网络数据包将被路由至终端的物理网络接口,而无论该前台应用在不在白名单中。即上述满足预设条件的应用包括:不是终端的当前前台应用。从而,当终端用户打开非白名单应用时,非白名单应用将会成为前台应用,而被允许访问网络,使得对用户使用手机的影响降到最少。可以理解的是,该全局模式可以由终端用户确定是否打开,例如可以设置有全局模式控件,终端用户可以通过该全局模式控件来发出将全局模式打开的指令。为便于说明,在下述的具体示例的说明中,是以打开了全局模式为例进行说明。
以Android系统为例,Android 5.0及以上版本可以使用VpnService.Builder类中的addDisallowedApplication()方法设置不允许白名单和前台应用的数据包进入虚拟网络接口,于是白名单和前台应用的数据就会进入真实的网络接口,从而实现分应用进行拦截。因此,以Android系统的Android 5.0及以上版本为例,可以是在创建虚拟网络接口的过程中设定设置不允许白名单和前台应用的数据包进入虚拟网络接口。其具体的创建虚拟网络接口的过程可以是如下所述:
创建VPNService.Builder对象mBuilder,mBuilder将用于接口的配置和创建;
调用mBuilder对象的addAddress()方法对虚拟网络接口的网络地址进行配置,网络地址可以是一任意合法的IP地址;
调用mBuilder对象的setRoute()方法设置虚拟网络接口的路由地址,该路由地址设为0.0.0.0/0,这样发往任何地址的数据包都会被发到此虚拟网络接口上;
调用mBuilder对象的addDisallowedApplication()方法,设置不允许白名单应用和前台应用的数据包发往虚拟网络接口;
调用mBuider对象的establish()方法,创建虚拟网络接口。
以上述创建虚拟网络接口的方式为例,设置白名单应用和前台应用是在创建虚拟网络接口的过程中完成的。因此,在一个具体应用示例中,可以是在监测到白名单设置信息时(即白名单有变化时),或者是监测到终端的当前前台应用发生变化时,创建新的虚拟网络接口,并用该新的虚拟网络接口覆盖所述虚拟网络接口。
图5中示出了基于图4所示的具体应用示例的方法的数据流的传输框图示意图,由图5可见,对于白名单应用和前台应用,会直接路由至物理网络接口从而发送至网络,而对于非白名单应用和非前台应用,则会路由值虚拟网络接口,从而实现对非白名单应用和非前台应用的第一网络数据包的拦截。
图6中示出了另一个具体应用示例中的基于网络访问控制的终端节省电量的方法的流程示意图,该具体示例中是以将所有应用的第一网络数据包均路由到虚拟网络接口为例进行说明。
如图6所示,该具体应用示例中的基于网络访问控制的终端节省电量的方法包括步骤:
步骤S601:接收到省电应用开启指令,创建终端的虚拟网络接口;
步骤S602:设定预设条件的应用;
步骤S603:在应用有第一网络数据包发送至网络时,将该应用路由至上述创建的虚拟网络接口;
步骤S604:对路由至虚拟网络接口的第一网络数据包进行解析,确定该第一网络数据包所属的应用;
步骤S605:结合上述设定的预设条件的应用,判断该第一网络数据包所属的应用是否为上述预设条件的应用,若否,则进入步骤S606,若是,则进入步骤S607;
步骤S606:将路由至虚拟网络接口的第一网络数据包转发至终端的物理网络接口,从而使得该第一网络数据包可以通过物理网络接口发送至网络;
步骤S607:对路由至虚拟网络接口的该第一网络数据包不做进一步的处理,或者直接将该第一网络数据包丢弃,使得该第一网络数据包无法到达物理网络接口,无法发送到网络。
从而,基于该实施例中的方法,在接收到省电应用开启指令时,创建虚拟网络接口之后,是将所有应用的第一网络数据包均路由至创建的虚拟网络接口,再对第一网络数据包进行分析,在该第一网络数据包所属应用属于上述预设条件的应用时,则不对该第一网络数据包做进一步处理,实现流量的拦截,据此达到省电和延长终端使用时长的效果,而对于不符合预设条件的应用的第一网络数据包,则可以转发至物理网络接口,实现正常的网络访问。
据此,可以明确的是:
上述将满足预设条件的应用的第一网络数据包路由至预先创建的虚拟网络接口的方式包括:将终端的各应用的第一网络数据包路由至所述虚拟网络接口,所述终端的应用包括所述满足预设条件的应用;
而上述使得满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口的方式包括:对所述第一网络数据包进行分析,确定所述第一网络数据包所属的应用,当所述第一网络数据包所属的应用为满足所述预设条件的应用时,不对所述第一网络数据包做进一步处理或者丢弃所述第一网络数据包,使得所述第一网络数据包无法到达终端的物理网络接口。
此外,当所述第一网络数据包所属的应用不是满足所述预设条件的应用时,还可以将所述第一网络数据包转发至终端的物理网络接口。
本领域技术人员理解,物理网络接口是真实物理网卡的抽象,通过对物理网络接口进行读写操作,可以在网络中读取和发送数据,而虚拟网络接口是虚拟网卡的抽象,并不对应任何真实的物理网卡,对这个虚拟网络接口的读写操作,并不会在真正的物理网络中产生数据的传输。基于虚拟网络接口的这种性能,在上述创建虚拟网络接口时,可以采用任何可能的方式进行。
以Android(安卓,一种综合操作系统)系统为例,其可以通过Android提供的VPNService(Android SDK提供的一个基类,继承自这个基类的服务,将会获得创建和读写虚拟接口的能力)创建一个虚拟网络接口。
上述设定预设条件的应用时,可以结合任何可能的方式进行,例如,可以将在后台运行的应用都判定为是满足预设条件的应用,只有前台应用的第一网络数据包能够路由到物理网络接口。当然,可以理解的是,还可以采用其他的方式来确定预设条件的应用。
在终端用户的实际使用过程中,通常仍然需要一些在后台运行的应用能够访问网络,例如一些即时聊天工具的应用、一些办公类应用等。因此,在一个具体示例中,在上述设定预设条件的应用时,可以通过设定白名单的方式进行,即在设定预设条件的应用时,实际上可以是设置白名单中包含的应用。此时,上述满足预设条件的应用包括:不属于白名单中的应用。白名单中的应用的第一网络数据包可以直接路由至终端的物理网络接口。
另一方面,在该实施例的方案中,为了不影响终端用户对非白名单应用的使用,还可以设置有全局模式(Aggressive Mode()),在全局模式下,会对终端的前台应用进行监测,并自动允许前台应用的网络访问,即前台应用的第一网络数据包将被路由至终端的物理网络接口,而无论该前台应用在不在白名单中。即上述满足预设条件的应用包括:不是终端的当前前台应用。从而,当终端用户打开非白名单应用时,非白名单应用将会成为前台应用,而被允许访问网络,使得对用户使用手机的影响降到最少。可以理解的是,该全局模式可以由终端用户确定是否打开,例如可以设置有全局模式控件,终端用户可以通过该全局模式控件来发出将全局模式打开的指令。为便于说明,在下述的具体示例的说明中,是以打开了全局模式为例进行说明。
以Android系统为例,Android 5.0以下版本的系统中的VpnService.Builder类里没有addDisallowedApplication()函数,因此可以通过设置统一的虚拟网络接口来接收所有应用的第一网络数据包。其创建虚拟网络接口的过程可以是如下所述:
创建VPNService.Builder对象mBuilder,mBuilder将用于接口的配置和创建;
调用mBuilder对象的addAddress()方法对虚拟网络接口的网络地址进行配置,网络地址可以是一任意合法的IP地址;
调用mBuilder对象的setRoute()方法设置虚拟网络接口的路由地址,该路由地址设为0.0.0.0/0,这样发往任何地址的数据包都会被发到此虚拟网络接口上;
调用mBuider对象的establish()方法,创建虚拟网络接口。
如上所述,由于可以访问网络的应用的第一应用数据包是路由到虚拟网络接口后,再转发到物理网络接口实现网络访问。因此,对于从网络中接收到的网络数据包(为了与向网络发送的数据包进行区分,本发明实施例中将从网络中接收的网络数据包称之为第二网络数据包),也可以是经由该虚拟网络接口给到具体的应用。据此,在一个具体示例中,还可以从物理网络接口读取物理网络接口接收到的第二网络数据包,并将该第二网络数据包转发给该第二网络数据包对应的应用。
图7中示出了基于图6所示的具体应用示例的方法的数据流的传输框图示意图,由图7可见,虚拟网络接口会接收所有应用的第一网络数据包,为了实现按应用过滤,将各应用的第一网络数据包路由到虚拟网络接口后,通过读取该第一网络数据包,从第一网络数据包中分析出该第一网络数据包所属的应用,具体的分析方式可以采用任何可能的方式进行例如从IP包的TCP/IP头分析出包所属的应用,然后将白名单应用和前台应用的第一网络数据包转发到物理网络接口上。当从物理网络接口上读到第二网络数据包时,把第二网络数据包写到虚拟网络接口上(被写到虚拟网络接口上的数据包,将会传给上层相对应的应用)。
基于上述基于网络访问控制的终端节省电量的方法的思想,本发明实施例还提供一种基于网络访问控制的终端节省电量的装置。
图8中示出了一个实施例中的基于网络访问控制的终端节省电量的装置的结构示意图。如图8所示,该实施例中的装置包括:
虚拟接口创建模块801,用于接收到省电应用开启指令,创建虚拟网络接口;
终端数据路由模块802,用于将满足预设条件的应用的第一网络数据包路由至所述虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口。
从而,通过在接收到省电应用开启指令时,创建虚拟网络接口,并将满足预设条件的应用的第一网络数据包路由到该虚拟网络接口,由于网络虚拟接口并不对应任何的真实物理网卡,因此对该虚拟网络接口的操作并不会在真正的物理网络中产生数据的传输,使得满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口,从而通过虚拟网络接口过滤掉非必要的网络流量,限制非必要的网络访问,达到了省电和延长终端使用时间的目的。
其中,在上述将满足预设条件的应用的第一网络数据包路由至预先创建的虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口时,可以采用任何可能的方式进行。在其中一种应用示例中,可以是将上述满足预设条件的应用的第一网络数据包路由到虚拟网络接口,而其他的应用的第一网络数据包则直接路由到物理网络接口。在另外一种应用示例中,可以是将所有应用的第一网络数据包均路由到虚拟网络接口,在该应用为满足预设条件的应用时,不对该第一网络数据包做进一步处理或者直接丢弃,在该应用不是满足预设条件的应用时,再将路由至该虚拟网络接口的第一网络数据包转发至物理网络接口,实现正常应用的网络访问。以下结合这两种应用示例进行详细举例说明。
图9中示出了一个具体应用示例中的基于网络访问控制的终端节省电量的装置的结构示意图,该具体示例中是以将上述满足预设条件的应用的第一网络数据包路由到虚拟网络接口,而其他的应用的网络数据包则直接路由到终端的物理网络接口为例进行说明。
如图9所示,该具体应用示例中的基于网络访问控制的终端节省电量的装置包括:
虚拟接口创建模块901,用于接收省电应用开启指令,创建虚拟网络接口;
终端数据路由模块902,用于将满足预设条件的应用的第一网络数据包路由至所述虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口,还可以用于将不满足预设条件的应用的第一网络数据包路由至终端的物理网络接口。
基于该实施例中的装置,对于符合预设条件的应用的第一网络数据包,路由至创建的虚拟网络接口,实现流量的拦截,据此达到省电和延长终端使用时长的效果,而对于不符合预设条件的应用的第一网络数据包,则可以正常地路由至物理网络接口,实现正常的网络访问。
上述预设条件的应用,可以结合任何可能的方式进行设定,例如,可以将在后台运行的应用都判定为是满足预设条件的应用,只有前台应用的第一网络数据包能够路由到物理网络接口。当然,可以理解的是,还可以采用其他的方式来确定预设条件的应用。
在终端用户的实际使用过程中,通常仍然需要一些在后台运行的应用能够访问网络,例如一些即时聊天工具的应用、一些办公类应用等。因此,在一个具体示例中,在上述设定预设条件的应用时,可以通过设定白名单的方式进行,即在设定预设条件的应用时,实际上可以是设置白名单中包含的应用。
据此,如图9所示,该具体示例中的装置还包括:
白名单设置模块903,用于接收白名单设置指令,设置所述虚拟网络接口的白名单的应用。
此时,上述满足预设条件的应用包括:不属于白名单设置模块903设置的白名单中的应用。白名单中的应用的第一网络数据包可以直接路由至终端的物理网络接口。
另一方面,如图9所示,该具体示例中的装置还可以包括:
前台应用监测模块904,用于监测终端的当前应用。
此时,上述满足预设条件的应用包括:不是前台应用监测模块904监测到的终端的当前前台应用。
从而,其在与白名单设置模块903结合使用时,当终端用户打开非白名单应用时,非白名单应用将会成为前台应用,而被允许访问网络,使得对用户使用手机的影响降到最少。
以Android系统为例,Android 5.0及以上版本可以使用VpnService.Builder类中的addDisallowedApplication()方法设置不允许白名单和前台应用的数据包进入虚拟网络接口,据此,图10中示出了基于图9所示的具体应用示例的装置的各模块之间的逻辑关系示意图。
如图10所示,虚拟接口创建块在创建虚拟网络接口时,一个具体示例中的过程可以是如下所述:
创建VPNService.Builder对象mBuilder,mBuilder将用于接口的配置和创建;
调用mBuilder对象的addAddress()方法对虚拟网络接口的网络地址进行配置,网络地址可以是一任意合法的IP地址;
调用mBuilder对象的setRoute()方法设置虚拟网络接口的路由地址,该路由地址设为0.0.0.0/0,这样发往任何地址的数据包都会被发到此虚拟网络接口上;
调用mBuilder对象的addDisallowedApplication()方法,设置不允许白名单应用和前台应用的数据包发往虚拟网络接口;
调用mBuider对象的establish()方法,创建虚拟网络接口。
以上述创建虚拟网络接口的方式为例,设置白名单应用和前台应用是在创建虚拟网络接口的过程中完成的。因此,在一个具体应用示例中,上述虚拟接口创建模块901,还用于在白名单设置模块903接收到白名单设置指令时,或者是前台应用监测模块904监测到终端的当前前台应用发生变化时,创建新的虚拟网络接口,并用该新的虚拟网络接口覆盖所述虚拟网络接口。
图11中示出了另一个具体应用示例中的基于网络访问控制的终端节省电量的装置的结构示意图,该具体示例中是以将所有应用的第一网络数据包均路由到虚拟网络接口为例进行说明。
如图11所示,该具体应用示例中的基于网络访问控制的终端节省电量的装置包括:
虚拟接口创建模块1101,用于接收省电应用开启指令,创建虚拟网络接口;
终端数据路由模块1102,用于将终端的各应用的第一网络数据包路由至所述虚拟网络接口,所述终端的应用包括所述满足预设条件的应用。
如图11所示,该具体应用示例中的基于网络访问控制的终端节省电量的装置还可以包括:
包转发模块1103,用于对所述第一网络数据包进行分析,确定所述第一网络数据包所属的应用,当所述第一网络数据包所属的应用为满足所述预设条件的应用时,不对所述第一网络数据包做进一步处理或者丢弃所述第一网络数据包,使得所述第一网络数据包无法到达终端的物理网络接口。
从而,在该具体示例中,终端数据路由模块1102是将终端的所有应用的第一网络数据包路由至虚拟网络接口,从而必然会将满足预设条件的应用的第一网络数据包路由至虚拟网络接口,如果不对这些第一网络数据包进行转发或者做进一步处理,则这些第一网络数据包必然无法到达终端的物理网络接口,从而实现读这些应用的第一网络数据包的拦截。而结合包转发模块1103,包转发模块1103可以对所述第一网络数据包进行分析,确定所述第一网络数据包所属的应用,当所述第一网络数据包所属的应用为满足所述预设条件的应用时,再确定不对所述第一网络数据包做进一步处理或者丢弃所述第一网络数据包,使得只有满足预定条件的应用的第一网络数据包无法到达终端的物理网络接口。
可以理解的是,上述包转发模块1103,还可以用于当所述第一网络数据包所属的应用不是满足所述预设条件的应用时,将所述第一网络数据包转发至终端的物理网络接口。
即,在该具体示例中,是将所有应用的第一网络数据包均路由至创建的虚拟网络接口,再对第一网络数据包进行分析,在该第一网络数据包所属应用属于上述预设条件的应用时,则不对该第一网络数据包做进一步处理,实现流量的拦截,据此达到省电和延长终端使用时长的效果,而对于不符合预设条件的应用的第一网络数据包,则可以转发至物理网络接口,实现正常的网络访问。
如上所述,由于可以访问网络的应用的第一应用数据包是路由到虚拟网络接口后,再转发到物理网络接口实现网络访问。因此,对于从网络中接收到的网络数据包(为了与向网络发送的数据包进行区分,本发明实施例中将从网络中接收的网络数据包称之为第二网络数据包),也可以是经由该虚拟网络接口给到具体的应用。
据此,在一个具体示例中,上述包转发模块1103,还用于从物理网络接口读取物理网络接口接收到的第二网络数据包,并将该第二网络数据包转发给该第二网络数据包对应的应用。
上述预设条件的应用,可以结合任何可能的方式进行设定,例如,可以将在后台运行的应用都判定为是满足预设条件的应用,只有前台应用的第一网络数据包能够路由到物理网络接口。当然,可以理解的是,还可以采用其他的方式来确定预设条件的应用。
在终端用户的实际使用过程中,通常仍然需要一些在后台运行的应用能够访问网络,例如一些即时聊天工具的应用、一些办公类应用等。因此,在一个具体示例中,在上述设定预设条件的应用时,可以通过设定白名单的方式进行,即在设定预设条件的应用时,实际上可以是设置白名单中包含的应用。
据此,如图11所示,该具体示例中的装置还包括:
白名单设置模块1104,用于接收白名单设置指令,设置所述虚拟网络接口的白名单的应用。
此时,上述满足预设条件的应用包括:不属于白名单设置模块1104设置的白名单中的应用。白名单中的应用的第一网络数据包可以直接路由至终端的物理网络接口。
另一方面,如图11所示,该具体示例中的装置还可以包括:
前台应用监测模块1105,用于监测终端的当前应用。
此时,上述满足预设条件的应用包括:不是前台应用监测模块1105监测到的终端的当前前台应用。
从而,其在与白名单设置模块1104结合使用时,当终端用户打开非白名单应用时,非白名单应用将会成为前台应用,而被允许访问网络,使得对用户使用手机的影响降到最少。
以Android系统为例,Android 5.0以下版本的系统中的VpnService.Builder类里没有addDisallowedApplication()函数,因此可以通过设置统一的虚拟网络接口来接收所有应用的第一网络数据包。据此,图12中示出了基于图11所示的具体应用示例的装置的各模块之间的逻辑关系示意图。
如图12所示,虚拟接口创建块在创建虚拟网络接口时,一个具体示例中的过程可以是如下所述:
创建VPNService.Builder对象mBuilder,mBuilder将用于接口的配置和创建;
调用mBuilder对象的addAddress()方法对虚拟网络接口的网络地址进行配置,网络地址可以是一任意合法的IP地址;
调用mBuilder对象的setRoute()方法设置虚拟网络接口的路由地址,该路由地址设为0.0.0.0/0,这样发往任何地址的数据包都会被发到此虚拟网络接口上;
调用mBuider对象的establish()方法,创建虚拟网络接口。
可见,在图11所示示例的装置中,需要由包转发模块1103来分析是否需要将路由到虚拟网络接口的第一网络数据包转发到终端的物理网络接口,创建虚拟网络接口时没有调用addDisallowApplication()方法,在白名单中的应用或者终端的当前前台应用时,只需通知到包转发模块1103,无需由虚拟接口创建模块创建新的网络虚拟接口,由包转发模块1103基于新的白名单和当前前台应用来决定最新接收到的第一网络数据包是否需要转发到终端的物理网络接口即可。
如上所述的各实施例中的方案,可以以应用的方式运行在终端设备中,该应用可以基于授予的VPN权限(只需授予一次),在后台运行创建虚拟网络接口,从而组织其他应用的非必要网络访问,达到省电的目的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种基于网络访问控制的终端节省电量的方法,其特征在于,包括步骤:
在接收到省电应用开启指令时,创建虚拟网络接口;
将满足预设条件的应用的第一网络数据包路由至所述虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口。
2.根据权利要求1所述的基于网络访问控制的终端节省电量的方法,其特征在于:
所述满足预设条件的应用包括:不属于白名单中的应用,和/或,不是终端的当前前台应用。
3.根据权利要求1或2所述的基于网络访问控制的终端节省电量的方法,其特征在于:
将满足预设条件的应用的第一网络数据包路由至预先创建的虚拟网络接口的方式包括:将终端的各应用的第一网络数据包路由至所述虚拟网络接口,所述终端的应用包括所述满足预设条件的应用;
使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口的方式包括:对所述第一网络数据包进行分析,确定所述第一网络数据包所属的应用,当所述第一网络数据包所属的应用为满足所述预设条件的应用时,不对所述第一网络数据包做进一步处理或者丢弃所述第一网络数据包,使得所述第一网络数据包无法到达终端的物理网络接口。
4.根据权利要求3所述的基于网络访问控制的终端节省电量的方法,其特征在于,还包括步骤:
当所述第一网络数据包所属的应用不是满足所述预设条件的应用时,将所述第一网络数据包转发至终端的物理网络接口;
从物理网络接口读取物理网络接口接收到的第二网络数据包,并将该第二网络数据包转发给该第二网络数据包对应的应用。
5.根据权利要求2所述的基于网络访问控制的终端节省电量的方法,其特征在于,在监测到白名单设置信息时,或者是监测到终端的当前前台应用发生变化时,返回所述创建虚拟网络接口的步骤,并用新创建的虚拟网络接口覆盖所述虚拟网络接口。
6.一种基于网络访问控制的终端节省电量的装置,其特征在于,包括:
虚拟接口创建模块,用于接收省电应用开启指令,创建虚拟网络接口;
终端数据路由模块,用于将满足预设条件的应用的第一网络数据包路由至所述虚拟网络接口,使得所述满足预设条件的应用的第一网络数据包无法到达终端的物理网络接口。
7.根据权利要求6所述的基于网络访问控制的终端节省电量的装置,其特征在于,还包括白名单设置模块和/或前台应用监测模块;
所述白名单设置模块,用于接收白名单设置指令,设置所述虚拟网络接口的白名单的应用;
所述前台应用监测模块,用于监测终端的当前应用;
所述满足预设条件的应用包括:不属于所述白名单设置模块设置的白名单中的应用,和/或,不是所述前台应用监测模块监测到的终端的当前前台应用。
8.根据权利要求6或7所述的基于网络访问控制的终端节省电量的装置,其特征在于:
所述终端数据路由模块将终端的各应用的第一网络数据包路由至所述虚拟网络接口,所述终端的应用包括所述满足预设条件的应用;
所述装置还包括包转发模块,用于对所述第一网络数据包进行分析,确定所述第一网络数据包所属的应用,当所述第一网络数据包所属的应用为满足所述预设条件的应用时,不对所述第一网络数据包做进一步处理或者丢弃所述第一网络数据包,使得所述第一网络数据包无法到达终端的物理网络接口。
9.根据权利要求8所述的基于网络访问控制的终端节省电量的装置,其特征在于:
所述包转发模块,还用于当所述第一网络数据包所属的应用不是满足所述预设条件的应用时,将所述第一网络数据包转发至终端的物理网络接口;
所述包转发模块,还用于从物理网络接口读取物理网络接口接收到的第二网络数据包,并将该第二网络数据包转发给该第二网络数据包对应的应用。
10.根据权利要求7所述的基于网络访问控制的终端节省电量的装置,其特征在于:
所述虚拟接口创建模块,还用于在所述白名单设置模块接收到白名单设置指令时,或者是所述前台应用监测模块监测到终端的当前前台应用发生变化时,创建新的虚拟网络接口,并用该新的虚拟网络接口覆盖所述虚拟网络接口。
CN201611091417.9A 2016-12-01 2016-12-01 基于网络访问控制的终端节省电量的方法及装置 Active CN106714287B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611091417.9A CN106714287B (zh) 2016-12-01 2016-12-01 基于网络访问控制的终端节省电量的方法及装置
PCT/CN2017/113065 WO2018099342A1 (zh) 2016-12-01 2017-11-27 基于网络访问控制的终端节省电量的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611091417.9A CN106714287B (zh) 2016-12-01 2016-12-01 基于网络访问控制的终端节省电量的方法及装置

Publications (2)

Publication Number Publication Date
CN106714287A true CN106714287A (zh) 2017-05-24
CN106714287B CN106714287B (zh) 2020-05-12

Family

ID=58935316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611091417.9A Active CN106714287B (zh) 2016-12-01 2016-12-01 基于网络访问控制的终端节省电量的方法及装置

Country Status (2)

Country Link
CN (1) CN106714287B (zh)
WO (1) WO2018099342A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018099342A1 (zh) * 2016-12-01 2018-06-07 腾讯科技(深圳)有限公司 基于网络访问控制的终端节省电量的方法及装置
WO2019062479A1 (zh) * 2017-09-29 2019-04-04 中兴通讯股份有限公司 报文处理方法、装置、存储介质及终端
CN110012464A (zh) * 2018-01-04 2019-07-12 中兴通讯股份有限公司 互联网操作的控制方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108934056B (zh) * 2018-06-20 2021-01-15 联想(北京)有限公司 电子设备的控制方法及系统
CN111083009B (zh) * 2019-11-29 2021-08-24 北京云测信息技术有限公司 一种抓包方法、装置和移动终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178235A1 (en) * 2013-12-23 2015-06-25 Ineda Systems Pvt. Ltd Network interface sharing
CN105052106A (zh) * 2013-03-15 2015-11-11 柏思科技有限公司 用于接收和传输互联网协议(ip)数据包的方法和系统
CN105530255A (zh) * 2015-12-16 2016-04-27 网宿科技股份有限公司 验证请求数据的方法及装置
CN105960003A (zh) * 2016-06-30 2016-09-21 努比亚技术有限公司 一种控制方法及终端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736723A (zh) * 2011-04-13 2012-10-17 上海三旗通信科技股份有限公司 一种移动终端自动调整屏幕背光时长的方法
KR102208620B1 (ko) * 2014-03-12 2021-01-28 삼성전자 주식회사 휴대형 전자장치의 절전 방법 및 그에 관한 장치
CN106714287B (zh) * 2016-12-01 2020-05-12 腾讯科技(深圳)有限公司 基于网络访问控制的终端节省电量的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105052106A (zh) * 2013-03-15 2015-11-11 柏思科技有限公司 用于接收和传输互联网协议(ip)数据包的方法和系统
US20150178235A1 (en) * 2013-12-23 2015-06-25 Ineda Systems Pvt. Ltd Network interface sharing
CN105530255A (zh) * 2015-12-16 2016-04-27 网宿科技股份有限公司 验证请求数据的方法及装置
CN105960003A (zh) * 2016-06-30 2016-09-21 努比亚技术有限公司 一种控制方法及终端

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018099342A1 (zh) * 2016-12-01 2018-06-07 腾讯科技(深圳)有限公司 基于网络访问控制的终端节省电量的方法及装置
WO2019062479A1 (zh) * 2017-09-29 2019-04-04 中兴通讯股份有限公司 报文处理方法、装置、存储介质及终端
CN109587074A (zh) * 2017-09-29 2019-04-05 中兴通讯股份有限公司 报文处理方法、装置、存储介质及处理器
CN109587074B (zh) * 2017-09-29 2022-04-29 中兴通讯股份有限公司 报文处理方法、装置、存储介质及处理器
CN110012464A (zh) * 2018-01-04 2019-07-12 中兴通讯股份有限公司 互联网操作的控制方法及装置

Also Published As

Publication number Publication date
CN106714287B (zh) 2020-05-12
WO2018099342A1 (zh) 2018-06-07

Similar Documents

Publication Publication Date Title
CN106714287A (zh) 基于网络访问控制的终端节省电量的方法及装置
CN104079492B (zh) 一种OpenFlow网络中流表配置的方法、装置和系统
CN106657330B (zh) 用户数据迁移方法和用户数据备份方法、装置及系统
CN108924274B (zh) 域名系统dns处理方法、装置、存储介质及电子设备
CN107547745B (zh) 资源配置方法及相关产品
CN104813327A (zh) 用于移动通信和计算的装置及方法
CN102055667A (zh) 配置虚拟网络交换机的方法和设备
CN103581042B (zh) 一种数据包发送的方法和设备
CN101442513A (zh) 实现多种业务处理功能的方法和多核处理器设备
CN109039829A (zh) 一种网卡性能测试方法、装置、终端及存储介质
CN109687992A (zh) 服务节点的监控方法、装置、设备及计算机可读存储介质
CN107450709B (zh) 应用处理方法、装置、存储介质及电子设备
CN113132293B (zh) 攻击检测方法、设备及公共蜜罐系统
CN104714442A (zh) 软件定义联网物理控制器及其控制方法
Nirjon et al. Multinets: A system for real-time switching between multiple network interfaces on mobile devices
CN109960634A (zh) 一种应用程序监控方法、装置及系统
CN107707557A (zh) 匿名访问方法、装置、网络设备及可读存储介质
CN104063267A (zh) 一种虚拟机流量监控方法及系统
CN107797859A (zh) 一种定时任务的调度方法及一种调度服务器
CN107302493A (zh) 一种消息处理方法、消息处理装置及智能终端
CN110278152A (zh) 一种建立快速转发表的方法及装置
US7940729B2 (en) Analysis and control of traffic based on identified packet control functions
CN109756431A (zh) 混合网络配置方法、装置、网络结构及电子设备
CN106789616A (zh) 一种物联网网关设备及物联中心平台
CN103260197A (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