应用间共享vpn服务的方法及装置的制造方法

文档序号:10515332阅读:648来源:国知局
应用间共享vpn服务的方法及装置的制造方法
【专利摘要】本发明提供了一种应用间共享VPN服务的方法及装置,该方法包括:监控当前应用向操作系统发起的创建VPN服务的请求;当监控到所述请求时,截取所述请求,并判断所述操作系统的VPN服务是否被其他应用占用;若所述操作系统的VPN服务被所述其他应用占用,则将所述请求发送给所述其他应用,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。本发明实施例当操作系统的VPN服务被其他应用占用时,可以由其他应用将操作系统授权的VPN服务共享给当前应用,使得当前应用和其他应用能够同时使用VPN服务。
【专利说明】
应用间共享VPN服务的方法及装置
技术领域
[0001]本发明涉及互联网应用技术领域,特别是一种应用间共享VPN服务的方法及装置。
【背景技术】
[0002]VPN(Virtual Private Network,虚拟专用网络)是通过因特网的一个临时安全连接,是一条穿越混乱公网的安全稳定的隧道,通过这条隧道可以安全地加密传输数据。
[0003]移动终端的操作系统(如,安卓系统等)支持VPN网络连接,因而,移动终端的APP(应用)开发者可以将自己的业务与VPN结合起来,实现业务的功能。例如,“流量卫士”创建一个VPN连接,用来监控网络流量,可以实现联网管理、广告过滤等功能;“进网大师”创建一个VPN连接,用来监控网络流量,可以实现流量监控、流量统计等功能。
[0004]在实际应用中,操作系统当前仅会授权一个APP具备VPN服务的能力(即,创建VPN连接),例如,操作系统当前授权“流量卫士”具备VPN服务的能力,使得“流量卫士”创建一个VPN连接,如果“进网大师”也想要创建一个VPN连接,在“进网大师”发起请求后,操作系统会进行弹窗提示,提示当前VPN被占用,需要“流量卫士”释放VPN,系统才能将VPN授权给“进网大师” O
[0005]由此可见,在现有的方案中,移动终端上的多个应用当前无法同时具备VPN服务的能力,使用VPN服务,并且在应用之间进行VPN服务切换时,操作系统会进行弹窗提示,给用户造成干扰,影响用户使用体验。

【发明内容】

[0006]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用间共享VPN服务的方法及相应的装置。
[0007]依据本发明的一方面,提供了一种应用间共享VPN服务的方法,包括:
[0008]监控当前应用向操作系统发起的创建VPN服务的请求;
[0009]当监控到所述请求时,截取所述请求,并判断所述操作系统的VPN服务是否被其他应用占用;
[0010]若所述操作系统的VPN服务被所述其他应用占用,则将所述请求发送给所述其他应用,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0011]可选地,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,所述方法还包括:
[0012]校验所述当前应用是否具备共享所述其他应用的VPN服务的权限;
[0013]在通过校验后,执行共享操作。
[0014]可选地,所述校验所述当前应用是否具备共享所述其他应用的VPN服务的权限,包括:
[0015]计算所述当前应用的特征信息;
[0016]根据所述当前应用的特征信息,在第一应用认证列表中查找是否存在所述当前应用,其中,所述第一应用认证列表中存储了一个或多个具备共享所述其他应用的VPN服务的权限的应用与其对应的特征信息;
[0017]若在所述第一应用认证列表中查找到所述当前应用,则确定通过校验。
[0018]可选地,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,所述方法还包括:
[0019]校验所述其他应用是否具备将所述操作系统授权的VPN服务共享给所述当前应用的权限;
[0020]在通过校验后,执行共享操作。
[0021]可选地,所述校验所述其他应用是否具备将所述操作系统授权的VPN服务共享给所述当前应用的权限,包括:
[0022]计算所述其他应用的特征信息;
[0023]根据所述其他应用的特征信息,在第二应用认证列表中查找是否存在所述其他应用,其中,所述第二应用认证列表中存储了一个或多个具备将所述操作系统授权的VPN服务共享给所述当前应用的权限的应用与其对应的特征信息;
[0024]若在所述第二应用认证列表中查找到所述其他应用,则确定通过校验。
[0025]可选地,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括:
[0026]通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0027]可选地,所述通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括:
[0028]确定所述当前应用中需要共享所述操作系统授权的VPN服务的功能的功能标识;
[0029]根据确定的所述功能标识,通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述功能标识对应的功能。
[0030]可选地,所述功能标识包括所述功能标识对应的功能注册在所述操作系统时的时间串。
[0031]可选地,当所述当前应用的数量包括多个时,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括:
[0032]确定多个所述当前应用的优先级;
[0033]根据多个所述当前应用的优先级顺序,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0034]可选地,所述方法还包括:
[0035]若所述操作系统的VPN服务未被所述其他应用占用,则将所述请求发送给所述操作系统,由所述操作系统授权所述当前应用具备创建VPN服务的权限,为所述当前应用创建VPN服务。
[0036]可选地,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之后,所述方法还包括:
[0037]当所述其他应用的VPN服务故障断开,且所述其他应用和所述当前应用均准备创建VPN服务时,根据预设创建策略,从所述其他应用和所述当前应用中选取优先级最大的应用;
[0038]将所述优先级最大的应用的创建VPN服务的请求发送给所述操作系统,由所述操作系统授权所述优先级最大的应用具备创建VPN服务的权限,为所述优先级最大的应用创建VPN服务;
[0039]由所述优先级最大的应用将所述操作系统授权的VPN服务共享给所述其他应用和所述当前应用中除所述优先级最大的应用之外的应用。
[0040]依据本发明的另一方面,还提供了一种应用间共享VPN服务的装置,包括:
[0041]监控模块,适于监控当前应用向操作系统发起的创建VPN服务的请求;
[0042]判断模块,适于当监控到所述请求时,截取所述请求,并判断所述操作系统的VPN服务是否被其他应用占用;
[0043]共享模块,适于若所述判断模块判断所述操作系统的VPN服务被所述其他应用占用,则将所述请求发送给所述其他应用,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0044]可选地,所述装置还包括:
[0045]第一校验模块,适于在所述共享模块由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,校验所述当前应用是否具备共享所述其他应用的VPN服务的权限;在通过校验后,执行共享操作。
[0046]可选地,所述第一校验模块还适于:
[0047]计算所述当前应用的特征信息;
[0048]根据所述当前应用的特征信息,在第一应用认证列表中查找是否存在所述当前应用,其中,所述第一应用认证列表中存储了一个或多个具备共享所述其他应用的VPN服务的权限的应用与其对应的特征信息;
[0049]若在所述第一应用认证列表中查找到所述当前应用,则确定通过校验。
[0050]可选地,所述装置还包括:
[0051]第二校验模块,适于在所述共享模块由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,校验所述其他应用是否具备将所述操作系统授权的VPN月艮务共享给所述当前应用的权限;在通过校验后,执行共享操作。
[0052]可选地,所述第二校验模块还适于:
[0053]计算所述其他应用的特征信息;
[0054]根据所述其他应用的特征信息,在第二应用认证列表中查找是否存在所述其他应用,其中,所述第二应用认证列表中存储了一个或多个具备将所述操作系统授权的VPN服务共享给所述当前应用的权限的应用与其对应的特征信息;
[0055]若在所述第二应用认证列表中查找到所述其他应用,则确定通过校验。
[0056]可选地,所述共享模块还适于:
[0057]通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0058]可选地,所述共享模块还适于:
[0059]确定所述当前应用中需要共享所述操作系统授权的VPN服务的功能的功能标识;
[0060]根据确定的所述功能标识,通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述功能标识对应的功能。
[0061]可选地,所述功能标识包括所述功能标识对应的功能注册在所述操作系统时的时间串。
[0062]可选地,当所述当前应用的数量包括多个时,所述共享模块还适于:
[0063]确定多个所述当前应用的优先级;
[0064]根据多个所述当前应用的优先级顺序,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0065]可选地,所述装置还包括:
[0066]创建模块,适于若所述判断模块判断所述操作系统的VPN服务未被所述其他应用占用,则将所述请求发送给所述操作系统,由所述操作系统授权所述当前应用具备创建VPN服务的权限,为所述当前应用创建VPN服务。
[0067]可选地,所述共享模块还适于:
[0068]当所述其他应用的VPN服务故障断开,且所述其他应用和所述当前应用均准备创建VPN服务时,根据预设创建策略,从所述其他应用和所述当前应用中选取优先级最大的应用;
[0069]将所述优先级最大的应用的创建VPN服务的请求发送给所述操作系统,由所述操作系统授权所述优先级最大的应用具备创建VPN服务的权限,为所述优先级最大的应用创建VPN服务;
[0070]由所述优先级最大的应用将所述操作系统授权的VPN服务共享给所述其他应用和所述当前应用中除所述优先级最大的应用之外的应用。
[0071]在本发明实施例中,对当前应用(操作系统上安装的应用)向操作系统发起的创建VPN服务的请求进行监控,当监控到该请求时,截取该请求,并判断操作系统的VPN服务是否被其他应用占用,若操作系统的VPN服务被其他应用占用,则将该请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用。由此可见,当操作系统的VPN服务被其他应用占用时,本发明实施例可以由其他应用将操作系统授权的VPN服务共享给当前应用,使得当前应用和其他应用能够同时使用VPN服务。并且,本发明实施例对来自当前应用的请求进行了截取操作,将该请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用,操作系统不会进行弹窗提示,避免给用户造成干扰,影响用户使用体验。
[0072]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0073]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【附图说明】
[0074]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0075]图1示出了根据本发明一实施例的应用间共享VPN服务的方法的流程图;
[0076]图2示出了根据本发明另一实施例的应用间共享VPN服务的方法的流程图;
[0077]图3示出了根据本发明一个实施例的应用间共享VPN服务的装置的结构示意图;以及
[0078]图4示出了根据本发明另一个实施例的应用间共享VPN服务的装置的结构示意图。
【具体实施方式】
[0079]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0080]为解决上述技术问题,本发明实施例提供了一种应用间共享VPN服务的方法,该方法可以应用在移动终端(如,智能手机、平板电脑、智能手表、智能眼镜等终端设备)上。图1示出了根据本发明一实施例的应用间共享VPN服务的方法的流程图。如图1所示,该方法至少可以包括以下步骤S102至步骤S106。
[0081 ]步骤S102,监控当前应用向操作系统发起的创建VPN服务的请求。
[0082 ]在该步骤中,移动终端的操作系统(如,安卓系统等)支持VPN网络连接,因而,移动终端的应用开发者可以将自己的业务与VPN结合起来,实现业务的功能,如流量监控、流量统计、联网管理、广告过滤等功能。应用开发者在进行应用开发时,将与VPN网络连接相关的程序代码写入SDK(Software Development Kit,软件开发工具包)中,当用户在应用界面上触发创建VPN服务的操作时,生成向操作系统发起的创建VPN服务的请求。
[0083]在实际应用中,可以在移动终端上创建本地VPN服务,移动终端的操作系统为了便于使用VPN服务,开放了多个系统接口(API),在得到用户确认的情况下,VPN服务能够获得控制和管理其它应用的权限。具体地,通过调用操作系统提供的API,可将移动终端的VPN服务打开,当移动终端的其它应用要访问网络时,应用所发起的网络连接请求均经过本地VPN服务的处理,使得移动终端能够有效且安全地访问网络资源。
[0084]以流量卫士应用为例,该应用中可以实现流量监控(如监控后台应用产生的流量)业务,首先,流量卫士获取网络连接请求,将网络连接请求重定向至本地服务进程,本地服务进程是由本地VPN服务提供的。随后,在本地服务进程中,判断发起网络连接请求的应用是否为在后台运行的应用。若判断出发起网络连接请求的应用为在后台运行的应用时,则向用户发出提示信息,以提示用户选择禁止应用产生后台流量的网络连接行为。这样,可以防止一些用户不常用的在后台运行的应用程序或一些恶意软件在后台产生不必要的流量,从而能够为用户更好的节约流量。
[0085]步骤S104,当监控到该请求时,截取该请求,并判断操作系统的VPN服务是否被其他应用占用。
[0086]步骤S106,若操作系统的VPN服务被其他应用占用,则将该请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用。
[0087]在本发明实施例中,对当前应用(操作系统上安装的应用)向操作系统发起的创建VPN服务的请求进行监控,当监控到该请求时,截取该请求,并判断操作系统的VPN服务是否被其他应用占用,若操作系统的VPN服务被其他应用占用,则将该请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用。由此可见,当操作系统的VPN服务被其他应用占用时,本发明实施例可以由其他应用将操作系统授权的VPN服务共享给当前应用,使得当前应用和其他应用能够同时使用VPN服务。并且,本发明实施例对来自当前应用的请求进行了截取操作,将该请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用,操作系统不会进行弹窗提示,避免给用户造成干扰,影响用户使用体验。
[0088]在本发明的可选实施例中,若上文步骤S104判断出操作系统的VPN服务未被其他应用占用,则将该请求发送给操作系统,由操作系统授权当前应用具备创建VPN服务的权限,为当前应用创建VPN服务。
[0089]在本发明的可选实施例中,为了提高共享VPN服务的安全性,在上文步骤S106由其他应用将操作系统授权的VPN服务共享给当前应用之前,需要对当前应用或其他应用进行校验,下面将分别进行详细介绍。
[0090]情况一,需要对当前应用进行校验,S卩,校验当前应用是否具备共享其他应用的VPN服务的权限,在通过校验后,执行共享操作。这里,本发明实施例提供了一种可选的方案,在该方案中,可以计算当前应用的特征信息,进而根据当前应用的特征信息,在第一应用认证列表中查找是否存在当前应用,其中,第一应用认证列表中存储了一个或多个具备共享其他应用的VPN服务的权限的应用与其对应的特征信息。若在第一应用认证列表中查找到当前应用,则确定通过校验;反之,若在第一应用认证列表中未查找到当前应用,则确定未通过校验。本发明实施例提及的特征信息可以是应用的包名、签名等信息。
[0091 ]情况二,需要对其他应用进行校验,即,校验其他应用是否具备将操作系统授权的VPN服务共享给当前应用的权限,在通过校验后,执行共享操作。这里,本发明实施例提供了一种可选的方案,在该方案中,可以计算其他应用的特征信息,进而根据其他应用的特征信息,在第二应用认证列表中查找是否存在其他应用,其中,第二应用认证列表中存储了一个或多个具备将操作系统授权的VPN服务共享给当前应用的权限的应用与其对应的特征信息。若在第二应用认证列表中查找到其他应用,则确定通过校验。反之,若在第二应用认证列表中未查找到其他应用,则确定未通过校验。本发明实施例提及的特征信息可以是应用的包名、签名等信息。
[0092]在本发明的可选实施例中,也可以采用结合上述情况一和情况二进行双向校验,即对当前应用和其他应用进行校验,以进一步提高共享VPN服务的安全性。
[0093]在本发明的可选实施例中,上文步骤S106由其他应用将操作系统授权的VPN服务共享给当前应用,其涉及两个或两个以上应用之间的通信,即,可以通过跨应用通讯的方式,由其他应用将操作系统授权的VPN服务共享给当前应用。在实际操作中,可以获取其他应用和当前应用各自的包名,进而根据包名进行跨应用通讯。
[0094]在跨应用通讯中,涉及不同的进程间的通讯,在安卓系统中,Binder是一种进程间通信机制,它是一种类似于COM和CORBA分布式组件架构,通俗一点,其实是提供远程过程调用(RPC)功能。从英文字面上意思看,Binder具有粘结剂的意思,在安卓系统的Binder机制中,由一系统组件组成,分别是Client、Server、Service Manager和Binder驱动程序,其中Client、Server和Service Manager运行在用户空间,Binder驱动程序运行内核空间。Binder就是一种把这四个组件粘合在一起的粘结剂了,其中,核心组件便是Binder驱动程序了,Service Manager提供了辅助管理的功能,Client和Server正是在Binder驱动和Service Manager提供的基础设施上,进行Client-Server之间的通信。Service Manager和Binder驱动已经在安卓平台中实现好,开发者只要按照规范实现自己的Cl ient和Server组件就可以了。
[0095]在本发明的可选实施例中,当前应用需要实现多个功能,例如,“进网大师”需要实现流量监控、流量统计等功能,本发明实施例可以依据应用的各个功能进行绑定(如,绑定功能的功能标识等),用来实现细粒度化的VPN服务共享。即,步骤S106由其他应用将操作系统授权的VPN服务共享给当前应用时,可以确定当前应用中需要共享操作系统授权的VPN月艮务的功能的功能标识,进而根据确定的功能标识,通过跨应用通讯的方式,由其他应用将操作系统授权的VPN服务共享给功能标识对应的功能。进一步地,为了区分不同应用的不同功能,该功能标识可以包括功能标识对应的功能注册在操作系统时的时间串,以保证功能标识的唯一性。
[0096]在本发明的可选实施例中,若当前应用的数量包括多个,也就是说,存在多个当前应用向操作系统发起的创建VPN服务的请求,截取该请求,并判断出操作系统的VPN服务被其他应用占用,则将该请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用。
[0097]进一步地,在由其他应用将操作系统授权的VPN服务共享给当前应用时,本发明实施例提供了一种可选的方案,在该方案中,可以确定多个当前应用的优先级,根据多个当前应用的优先级顺序,由其他应用将操作系统授权的VPN服务共享给当前应用。这里,应用的优先级可以从第一应用认证列表中查找到,在应用进行认证时,为该应用分配了优先级并记载在第一应用认证列表中。例如,对“进网大师”、“流量管理”等应用进行认证时,为各个应用分配优先级并记载在第一应用认证列表中。当“进网大师”和“流量管理”作为当前应用同时向操作系统发起的创建VPN服务的请求时,截取该请求,并判断出操作系统的VPN服务被其他应用占用,则将该请求发送给其他应用,获取“进网大师”和“流量管理”的优先级,根据优先级顺序,由其他应用将操作系统授权的VPN服务共享给“进网大师”和“流量管理”。
[0098]在本发明的可选实施例中,由其他应用将操作系统授权的VPN服务共享给当前应用之后,当其他应用的VPN服务故障断开,且其他应用和当前应用均准备创建VPN服务时,根据预设创建策略,从其他应用和当前应用中选取优先级最大的应用。随后,将优先级最大的应用的创建VPN服务的请求发送给操作系统,由操作系统授权优先级最大的应用具备创建VPN服务的权限,为优先级最大的应用创建VPN服务。之后,由优先级最大的应用将操作系统授权的VPN服务共享给其他应用和当前应用中除优先级最大的应用之外的应用。由此可见,当其他应用的VPN服务故障断开,且其他应用和当前应用均准备创建VPN服务时,将优先级最大的应用的创建VPN服务的请求发送给操作系统,不会导致操作系统进行多个弹窗提示,避免给用户造成干扰,同时使得其他应用和当前应用能够同时具备VPN服务的能力,使用VPN服务。这里,预设创建策略可以根据用户需求进行设置,例如,设置获得操作系统VPN月艮务授权的应用的优先级最高,或者,设置最后一个发起创建VPN服务的请求的应用的优先级最高,等等,本发明对此不作限制。
[0099]下面将通过一具体实施例详细介绍本发明的应用间共享VPN服务的方法的实现过程,图2示出了根据本发明另一实施例的应用间共享VPN服务的方法的流程图。如图2所示,该方法至少可以包括以下步骤S202至步骤S210。
[0100]步骤S202,监控当前应用向操作系统发起的创建VPN服务的请求。
[0101]在该步骤中,例如,当前应用可以实现流量监控(如监控后台应用产生的流量)业务,首先,当前应用获取网络连接请求,将网络连接请求重定向至本地服务进程,本地服务进程是由本地VPN服务提供的。随后,在本地服务进程中,在得到发起的网络连接请求之后,确定网络连接类型是否为以下网络中的任意一种:2G网络、3G网络及4G网络;若确定网络连接类型为2G网络、3G网络及4G网络中的任意一种,则判断发起网络连接请求的应用是否为在后台运行的应用。
[0102]进一步,判断发起网络连接请求的应用是否属于后台流量白名单中记录的应用,后台流量白名单记录的是允许产生后台流量的应用。随后,发出提示信息用于提示用户选择禁止该应用(即,发起网络连接请求的应用)产生后台流量的网络连接行为。若用户选择允许该应用产生后台流量的网络连接行为,允许向网络侧发出网络连接请求,统计该应用产生的后台流量。
[0103]具体地,统计该应用每天在后台产生多少流量,并上传到VPN服务器上,VPN服务器对所有用户上传的流量数据进行分析,计算出各个用户的应用每天在后台运行产生的平均流量值是多少,将该平均流量值做为预设流量阈值返回给当前应用。若该应用每天产生的后台流量超过预设流量阈值,发出提示信息用于提示用户该应用的后台流量出现异常,从而,用户在收到后台流量出现异常提示信息之后,可以选择禁止该应用产生后台流量的网络连接行为。
[0104]在该步骤中,当用户在应用界面上触发创建VPN服务的操作时,生成向操作系统发起的创建VPN服务的请求。
[0105]步骤S204,监控到“进网大师”向操作系统发起的创建VPN服务的请求,截取该请求。
[0106]步骤S206,判断操作系统的VPN服务是否被其他应用占用,若是,则继续执行步骤S208 ;若否,则继续执行步骤S210。
[0107]步骤S208,操作系统的VPN服务被“流量卫士”占用,将该请求发送给“流量卫士”,由“流量卫士”将操作系统授权的VPN服务共享给“进网大师”。
[0108]在该步骤中,“流量卫士”应用已获得操作系统的授权,创建了VPN连接,具备VPN月艮务的能力。
[0109]进一步地,为了提高共享VPN服务的安全性,在由“流量卫士”将操作系统授权的VPN服务共享给“进网大师”之前,需要对“流量卫士”和“进网大师”进行双向校验,即,校验“进网大师”是否具备共享“流量卫士”的VPN服务的权限,同时,校验“流量卫士”是否具备将操作系统授权的VPN服务共享给“进网大师”的权限,在通过校验后,执行共享操作,具体可以参见前文情况一和情况二的介绍,此处不再赘述。
[0110]此外,可以通过跨应用通讯的方式,由“流量卫士”将操作系统授权的VPN服务共享给“进网大师”。这里,可以根据包名进行跨应用通讯,也可以按照功能标识进行跨应用通讯,功能标识中可以包括功能标识对应的功能注册在操作系统时的时间串,以保证功能标识的唯一性,实现区分不同应用的不同功能的目的。
[0111]步骤S210,将该请求发送给操作系统,由操作系统授权“进网大师”具备创建VPN月艮务的权限,为“进网大师”创建VPN服务。
[0112]本发明实施例实现了“流量卫士”和“进网大师”同时使用VPN服务的目的,并且,本发明实施例对来自“进网大师”的请求进行了截取操作,将该请求发送给“流量卫士”,由“流量卫士”将操作系统授权的VPN服务共享给“进网大师”,操作系统不会进行弹窗提示,避免给用户造成干扰,影响用户使用体验。
[0113]需要说明的是,在实际应用中,上述所有可选实施方式可以采用结合的方式任意组合,形成本发明的可选实施例,在此不再一一赘述。
[0114]基于上文各个实施例提供的应用间共享VPN服务的方法,基于同一发明构思,本发明实施例还提供了一种应用间共享VPN服务的装置。
[0115]图3示出了根据本发明一个实施例的应用间共享VPN服务的装置的结构示意图。如图3所示,该装置至少可以包括监控模块310、判断模块320以及共享模块330。
[0116]现介绍本发明实施例的应用间共享VPN服务的装置的各组成或器件的功能以及各部分间的连接关系:
[0117]监控模块310,适于监控当前应用向操作系统发起的创建VPN服务的请求;
[0118]判断模块320,与监控模块310相耦合,适于当监控到请求时,截取请求,并判断操作系统的VPN服务是否被其他应用占用;
[0119]共享模块330,与判断模块320相耦合,适于若判断模块320判断操作系统的VPN月艮务被其他应用占用,则将请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用。
[0120]在本发明的可选实施例中,如图4所示,图3展示的装置还可以包括:
[0121]第一校验模块340,与共享模块330相耦合,适于在共享模块330由其他应用将操作系统授权的VPN服务共享给当前应用之前,校验当前应用是否具备共享其他应用的VPN服务的权限;在通过校验后,执行共享操作。
[0122]在本发明的可选实施例中,第一校验模块340还适于:
[0123]计算当前应用的特征信息;
[0124]根据当前应用的特征信息,在第一应用认证列表中查找是否存在当前应用,其中,第一应用认证列表中存储了一个或多个具备共享其他应用的VPN服务的权限的应用与其对应的特征信息;
[0125]若在第一应用认证列表中查找到当前应用,则确定通过校验。
[0126]在本发明的可选实施例中,如图4所示,图3展示的装置还可以包括:
[0127]第二校验模块350,与共享模块330相耦合,适于在共享模块330由其他应用将操作系统授权的VPN服务共享给当前应用之前,校验其他应用是否具备将操作系统授权的VPN月艮务共享给当前应用的权限;在通过校验后,执行共享操作。
[0128]在本发明的可选实施例中,第二校验模块350还适于:
[0129]计算其他应用的特征信息;
[0130]根据其他应用的特征信息,在第二应用认证列表中查找是否存在其他应用,其中,第二应用认证列表中存储了一个或多个具备将操作系统授权的VPN服务共享给当前应用的权限的应用与其对应的特征信息;
[0131]若在第二应用认证列表中查找到其他应用,则确定通过校验。
[0132]在本发明的可选实施例中,共享模块330还适于:
[0133]通过跨应用通讯的方式,由其他应用将操作系统授权的VPN服务共享给当前应用。
[0134]在本发明的可选实施例中,共享模块330还适于:
[0135]确定当前应用中需要共享操作系统授权的VPN服务的功能的功能标识;
[0136]根据确定的功能标识,通过跨应用通讯的方式,由其他应用将操作系统授权的VPN服务共享给功能标识对应的功能。
[0137]在本发明的可选实施例中,功能标识包括功能标识对应的功能注册在操作系统时的时间串。
[0138]在本发明的可选实施例中,当当前应用的数量包括多个时,共享模块330还适于:
[0139]确定多个当前应用的优先级;
[0140]根据多个当前应用的优先级顺序,由其他应用将操作系统授权的VPN服务共享给当前应用。
[0141]在本发明的可选实施例中,如图4所示,图3展示的装置还可以包括:
[0142]创建模块360,与判断模块320相耦合,适于若判断模块320判断操作系统的VPN月艮务未被其他应用占用,则将请求发送给操作系统,由操作系统授权当前应用具备创建VPN月艮务的权限,为当前应用创建VPN服务。
[0143]在本发明的可选实施例中,共享模块330还适于:
[0144]当其他应用的VPN服务故障断开,且其他应用和当前应用均准备创建VPN服务时,根据预设创建策略,从其他应用和当前应用中选取优先级最大的应用;
[0145]将优先级最大的应用的创建VPN服务的请求发送给操作系统,由操作系统授权优先级最大的应用具备创建VPN服务的权限,为优先级最大的应用创建VPN服务;
[0146]由优先级最大的应用将操作系统授权的VPN服务共享给其他应用和当前应用中除优先级最大的应用之外的应用。
[0147]根据上述任意一个优选实施例或多个优选实施例的组合,本发明实施例能够达到如下有益效果:
[0148]在本发明实施例中,对当前应用(操作系统上安装的应用)向操作系统发起的创建VPN服务的请求进行监控,当监控到该请求时,截取该请求,并判断操作系统的VPN服务是否被其他应用占用,若操作系统的VPN服务被其他应用占用,则将该请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用。由此可见,当操作系统的VPN服务被其他应用占用时,本发明实施例可以由其他应用将操作系统授权的VPN服务共享给当前应用,使得当前应用和其他应用能够同时使用VPN服务。并且,本发明实施例对来自当前应用的请求进行了截取操作,将该请求发送给其他应用,由其他应用将操作系统授权的VPN服务共享给当前应用,操作系统不会进行弹窗提示,避免给用户造成干扰,影响用户使用体验。
[0149]在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0150]类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要求本身都作为本发明的单独实施例。
[0151]本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0152]此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0153]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用间共享VPN服务的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0154]应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0155]至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
[0156]本发明实施例还提供了Al、一种应用间共享VPN服务的方法,包括:
[0157]监控当前应用向操作系统发起的创建VPN服务的请求;
[0158]当监控到所述请求时,截取所述请求,并判断所述操作系统的VPN服务是否被其他应用占用;
[0159]若所述操作系统的VPN服务被所述其他应用占用,则将所述请求发送给所述其他应用,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0160]A2、根据Al所述的方法,其中,所述由所述其他应用将所述操作系统授权的VPN月艮务共享给所述当前应用之前,所述方法还包括:
[0161]校验所述当前应用是否具备共享所述其他应用的VPN服务的权限;
[0162]在通过校验后,执行共享操作。
[0163]A3、根据A2所述的方法,其中,所述校验所述当前应用是否具备共享所述其他应用的VPN服务的权限,包括:
[0164]计算所述当前应用的特征信息;
[0165]根据所述当前应用的特征信息,在第一应用认证列表中查找是否存在所述当前应用,其中,所述第一应用认证列表中存储了一个或多个具备共享所述其他应用的VPN服务的权限的应用与其对应的特征信息;
[0166]若在所述第一应用认证列表中查找到所述当前应用,则确定通过校验。
[0167]A4、根据A1-A3中任一项所述的方法,其中,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,所述方法还包括:
[0168]校验所述其他应用是否具备将所述操作系统授权的VPN服务共享给所述当前应用的权限;
[0169]在通过校验后,执行共享操作。
[0170]A5、根据A4所述的方法,其中,所述校验所述其他应用是否具备将所述操作系统授权的VPN服务共享给所述当前应用的权限,包括:
[0171 ]计算所述其他应用的特征信息;
[0172]根据所述其他应用的特征信息,在第二应用认证列表中查找是否存在所述其他应用,其中,所述第二应用认证列表中存储了一个或多个具备将所述操作系统授权的VPN服务共享给所述当前应用的权限的应用与其对应的特征信息;
[0173]若在所述第二应用认证列表中查找到所述其他应用,则确定通过校验。
[0174]A6、根据A1-A5中任一项所述的方法,其中,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括:
[0175]通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0176]A7、根据A6所述的方法,其中,所述通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括:
[0177]确定所述当前应用中需要共享所述操作系统授权的VPN服务的功能的功能标识;
[0178]根据确定的所述功能标识,通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述功能标识对应的功能。
[0179 ] A8、根据A7所述的方法,其中,所述功能标识包括所述功能标识对应的功能注册在所述操作系统时的时间串。
[0180]A9、根据A1-A8中任一项所述的方法,其中,当所述当前应用的数量包括多个时,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括:
[0181]确定多个所述当前应用的优先级;
[0182]根据多个所述当前应用的优先级顺序,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0183]A10、根据Al所述的方法,其中,还包括:
[0184]若所述操作系统的VPN服务未被所述其他应用占用,则将所述请求发送给所述操作系统,由所述操作系统授权所述当前应用具备创建VPN服务的权限,为所述当前应用创建VPN服务。
[0185]AU、根据Al-AlO中任一项所述的方法,其中,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之后,所述方法还包括:
[0186]当所述其他应用的VPN服务故障断开,且所述其他应用和所述当前应用均准备创建VPN服务时,根据预设创建策略,从所述其他应用和所述当前应用中选取优先级最大的应用;
[0187]将所述优先级最大的应用的创建VPN服务的请求发送给所述操作系统,由所述操作系统授权所述优先级最大的应用具备创建VPN服务的权限,为所述优先级最大的应用创建VPN服务;
[0188]由所述优先级最大的应用将所述操作系统授权的VPN服务共享给所述其他应用和所述当前应用中除所述优先级最大的应用之外的应用。
[0189]本发明实施例还提供了B12、一种应用间共享VPN服务的装置,包括:
[0190]监控模块,适于监控当前应用向操作系统发起的创建VPN服务的请求;
[0191]判断模块,适于当监控到所述请求时,截取所述请求,并判断所述操作系统的VPN服务是否被其他应用占用;
[0192]共享模块,适于若所述判断模块判断所述操作系统的VPN服务被所述其他应用占用,则将所述请求发送给所述其他应用,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0193]B13、根据B12所述的装置,其中,还包括:
[0194]第一校验模块,适于在所述共享模块由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,校验所述当前应用是否具备共享所述其他应用的VPN服务的权限;在通过校验后,执行共享操作。
[0195]B14、根据B13所述的装置,其中,所述第一校验模块还适于:
[0196]计算所述当前应用的特征信息;
[0197]根据所述当前应用的特征信息,在第一应用认证列表中查找是否存在所述当前应用,其中,所述第一应用认证列表中存储了一个或多个具备共享所述其他应用的VPN服务的权限的应用与其对应的特征信息;
[0198]若在所述第一应用认证列表中查找到所述当前应用,则确定通过校验。
[0199]B15、根据B12-B14中任一项所述的装置,其中,还包括:
[0200]第二校验模块,适于在所述共享模块由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,校验所述其他应用是否具备将所述操作系统授权的VPN月艮务共享给所述当前应用的权限;在通过校验后,执行共享操作。
[0201]B16、根据B15所述的装置,其中,所述第二校验模块还适于:
[0202]计算所述其他应用的特征信息;
[0203]根据所述其他应用的特征信息,在第二应用认证列表中查找是否存在所述其他应用,其中,所述第二应用认证列表中存储了一个或多个具备将所述操作系统授权的VPN服务共享给所述当前应用的权限的应用与其对应的特征信息;
[0204]若在所述第二应用认证列表中查找到所述其他应用,则确定通过校验。
[0205]B17、根据B12-B16中任一项所述的装置,其中,所述共享模块还适于:
[0206]通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0207]B18、根据B17所述的装置,其中,所述共享模块还适于:
[0208]确定所述当前应用中需要共享所述操作系统授权的VPN服务的功能的功能标识;
[0209]根据确定的所述功能标识,通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述功能标识对应的功能。
[0210]B19、根据B18所述的装置,其中,所述功能标识包括所述功能标识对应的功能注册在所述操作系统时的时间串。
[0211]B20、根据B12-B19中任一项所述的装置,其中,当所述当前应用的数量包括多个时,所述共享模块还适于:
[0212]确定多个所述当前应用的优先级;
[0213]根据多个所述当前应用的优先级顺序,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
[0214]B21、根据B12所述的装置,其中,还包括:
[0215]创建模块,适于若所述判断模块判断所述操作系统的VPN服务未被所述其他应用占用,则将所述请求发送给所述操作系统,由所述操作系统授权所述当前应用具备创建VPN服务的权限,为所述当前应用创建VPN服务。
[0216]B22、根据B12-B21中任一项所述的装置,其中,所述共享模块还适于:
[0217]当所述其他应用的VPN服务故障断开,且所述其他应用和所述当前应用均准备创建VPN服务时,根据预设创建策略,从所述其他应用和所述当前应用中选取优先级最大的应用;
[0218]将所述优先级最大的应用的创建VPN服务的请求发送给所述操作系统,由所述操作系统授权所述优先级最大的应用具备创建VPN服务的权限,为所述优先级最大的应用创建VPN服务;
[0219]由所述优先级最大的应用将所述操作系统授权的VPN服务共享给所述其他应用和所述当前应用中除所述优先级最大的应用之外的应用。
【主权项】
1.一种应用间共享VPN服务的方法,包括: 监控当前应用向操作系统发起的创建VPN服务的请求; 当监控到所述请求时,截取所述请求,并判断所述操作系统的VPN服务是否被其他应用占用; 若所述操作系统的VPN服务被所述其他应用占用,则将所述请求发送给所述其他应用,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。2.根据权利要求1所述的方法,其中,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,所述方法还包括: 校验所述当前应用是否具备共享所述其他应用的VPN服务的权限; 在通过校验后,执行共享操作。3.根据权利要求2所述的方法,其中,所述校验所述当前应用是否具备共享所述其他应用的VPN服务的权限,包括: 计算所述当前应用的特征信息; 根据所述当前应用的特征信息,在第一应用认证列表中查找是否存在所述当前应用,其中,所述第一应用认证列表中存储了一个或多个具备共享所述其他应用的VPN服务的权限的应用与其对应的特征信息; 若在所述第一应用认证列表中查找到所述当前应用,则确定通过校验。4.根据权利要求1-3中任一项所述的方法,其中,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用之前,所述方法还包括: 校验所述其他应用是否具备将所述操作系统授权的VPN服务共享给所述当前应用的权限; 在通过校验后,执行共享操作。5.根据权利要求4所述的方法,其中,所述校验所述其他应用是否具备将所述操作系统授权的VPN服务共享给所述当前应用的权限,包括: 计算所述其他应用的特征信息; 根据所述其他应用的特征信息,在第二应用认证列表中查找是否存在所述其他应用,其中,所述第二应用认证列表中存储了一个或多个具备将所述操作系统授权的VPN服务共享给所述当前应用的权限的应用与其对应的特征信息; 若在所述第二应用认证列表中查找到所述其他应用,则确定通过校验。6.根据权利要求1-5中任一项所述的方法,其中,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括: 通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。7.根据权利要求6所述的方法,其中,所述通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括: 确定所述当前应用中需要共享所述操作系统授权的VPN服务的功能的功能标识; 根据确定的所述功能标识,通过跨应用通讯的方式,由所述其他应用将所述操作系统授权的VPN服务共享给所述功能标识对应的功能。8.根据权利要求7所述的方法,其中,所述功能标识包括所述功能标识对应的功能注册在所述操作系统时的时间串。9.根据权利要求1-8中任一项所述的方法,其中,当所述当前应用的数量包括多个时,所述由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用,包括: 确定多个所述当前应用的优先级; 根据多个所述当前应用的优先级顺序,由所述其他应用将所述操作系统授权的VPN月艮务共享给所述当前应用。10.—种应用间共享VPN服务的装置,包括: 监控模块,适于监控当前应用向操作系统发起的创建VPN服务的请求; 判断模块,适于当监控到所述请求时,截取所述请求,并判断所述操作系统的VPN服务是否被其他应用占用; 共享模块,适于若所述判断模块判断所述操作系统的VPN服务被所述其他应用占用,则将所述请求发送给所述其他应用,由所述其他应用将所述操作系统授权的VPN服务共享给所述当前应用。
【文档编号】H04L12/46GK105871677SQ201610319066
【公开日】2016年8月17日
【申请日】2016年5月12日
【发明人】王春雷, 徐利军
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1