网络类型识别方法及装置转让专利

申请号 : CN201910027861.1

文献号 : CN109587012B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈鸿图汪东山李文涛黄及峰洪小军阮永丽

申请人 : 厦门美图之家科技有限公司

摘要 :

本申请提供的网络类型识别方法及装置,通过获取网络连接时预设的各个步骤所消耗的时间,进而判断网络连接时各个步骤的执行情况。根据该执行情况判断该网络连的类型,该类型包括完全连接类型和连接复用类型。进一步地,在发起新的网络连接时,优选通过连接复用类型网络通道发送数据。本申请公开的技术方案提供了判断网络连接类型的方法,以及优选连接复用类型的网络通道发送数据,提高了网络通信的效率。

权利要求 :

1.一种网络类型识别方法,其特征在于,应用于网络设备,所述方法的步骤包括:获取网络连接时预设的各个步骤所消耗的时间,其中,所述获取网络连接时预设的各个步骤所消耗的时间的步骤包括:获取该步骤的开始时间以及该步骤的结束时间;

根据所述开始时间与所述结束时间获得该步骤所消耗的时间;

根据所述消耗的时间判断所述预设的各个步骤的执行情况,所述执行情况包括被执行和未被执行,其中,所述根据所述消耗的时间判断所述预设的各个步骤的执行情况的步骤,包括:若该步骤所消耗的时间为0,则该步骤未被执行;

若该步骤所消耗的时间不为0,则该步骤被执行;

根据所述各个步骤的执行情况判断所述网络连接的类型,所述类型包括完全连接类型和连接复用类型,其中,所述完全连接类型表示建立网络连接时,所述预设的各个步骤都被执行;所述连接复用类型表示建立网络连接时,所述预设的各个步骤中的部分步骤被执行。

2.根据权利要求1所述的网络类型识别方法,其特征在于,所述网络连接时的各个步骤包括域名解析和创建连接;所述根据所述各个步骤的执行情况判断所述网络连接的类型的步骤包括:若所述域名解析和所述创建连接均未被执行,则所述网络连接为所述连接复用类型。

3.根据权利要求1所述的网络类型识别方法,其特征在于,所述网络连接时的各个步骤包括域名解析、创建连接和通信安全校验;所述根据所述各个步骤的执行情况判断所述网络连接的类型的步骤包括:若所述域名解析步骤、所述创建连接和所述通信安全校验均未被执行,则所述网络连接为所述连接复用类型。

4.根据权利要求3所述的网络类型识别方法,其特征在于,所述方法还包括步骤:获取所述网络连接的详细地址;

根据所述详细地址判断网络连接时是否包括通信安全校验。

5.根据权利要求1所述的网络类型识别方法,其特征在于,所述方法的步骤还包括:若发起新的网络请求时,优先通过所述连接复用类型的网络连接发送数据。

6.根据权利要求1所述的网络类型识别方法,其特征在于,所述网络设备通过OkHttp网络库发起网络连接。

7.一种网络类型识别装置,其特征在于,应用于网络设备,所述网络类型识别装置包括时间获取模块、执行情况模块和判断模块;

所述时间获取模块用于获取网络连接时预设的各个步骤所消耗的时间,其中,所述时间获取模块获取网络连接时预设的各个步骤所消耗的时间的方式,包括:获取该步骤的开始时间以及该步骤的结束时间;

根据所述开始时间与所述结束时间获得该步骤所消耗的时间;

所述执行情况模块用于根据所述消耗的时间判断所述预设的各个步骤的执行情况,所述执行情况包括被执行和未被执行,其中,所述执行情况模块根据所述消耗的时间判断所述预设的各个步骤的执行情况的步骤,包括:若该步骤所消耗的时间为0,则该步骤未被执行;

若该步骤所消耗的时间不为0,则该步骤被执行;

所述判断模块用于根据所述执行情况判断所述网络连接的类型,所述类型包括完全连接类型和连接复用类型,其中,所述完全连接类型表示建立网络连接时,所述预设的各个步骤都被执行;所述连接复用类型表示建立网络连接时,所述预设的各个步骤中的部分步骤被执行。

8.根据权利要求7所述的网络类型识别装置,其特征在于,所述网络连接时的各个步骤包括域名解析和创建连接;所述判断模块通过以下步骤判断所述网络连接的类型:若所述域名解析和所述创建连接均未被执行,则所述网络连接为所述连接复用类型。

9.根据权利要求7所述的网络类型识别装置,其特征在于,所述网络连接时的各个步骤包括域名解析、创建连接和通信安全校验;所述判断模块还通过以下步骤判断所述网络连接的类型:若所述域名解析步骤、所述创建连接和所述通信安全校验均未被执行,则所述网络连接为所述连接复用类型。

10.根据权利要求7所述的网络类型识别装置,其特征在于,所述网络类型识别装置还包括选择模块;

所述选择模块用于若发起新的网络请求时,优先通过所述连接复用类型的网络连接发送数据。

说明书 :

网络类型识别方法及装置

技术领域

[0001] 本申请涉及通信领域,具体而言,涉及一种网络类型识别方法及装置。

背景技术

[0002] 目前,应用软件一般都按Http、Https或者Http2协议发起网络请求进行数据传输。一个完整网络通信的步骤请求包括域名解析、创建连接、收发数据。如果每次网络连接都依次执行上述步骤,其中域名解析和创建连接将耗费大量的时间,进而降低了网络通信的效率。现有技术中,通过连接复用的方式减少网络连接过程中的耗时,其中,所述连接复用表示网络连接时,不必走完整创建连接的所有步骤。目前的网络类库并没有相应的接口支持,判断一个网络请求是走连接复用,进而不能优化网络连接的过程。

发明内容

[0003] 为了克服现有技术中的上述不足,本申请的目的在于提供一种网络类型识别方法,应用于网络设备,所述方法的步骤包括:
[0004] 获取网络连接时预设的各个步骤所消耗的时间;
[0005] 根据所述消耗的时间判断所述预设的各个步骤的执行情况,所述执行情况包括被执行和未被执行;
[0006] 根据所述执行情况判断所述网络连接的类型,所述类型包括完全连接类型和连接复用类型,其中,所述完全连接类型表示建立网络连接时,所述预设的各个步骤都被执行;所述连接复用类型表示建立网络连接时,所述预设的各个步骤中的部分步骤被执行。
[0007] 可选地,所述网络连接时的各个步骤包括域名解析和创建连接;所述根据所述消耗的时间判断所述网络连接的类型的步骤包括:
[0008] 若所述域名解析的时间和所述创建连接的时间都为0,则所述网络连接为连接复用类型。
[0009] 可选地,所述网络连接时的各个步骤包括域名解析、创建连接和通信安全校验;所述根据所述消耗的时间判断所述网络连接的类型的步骤包括:
[0010] 若所述域名解析步骤的时间、所述创建连接的时间和所述通信安全校验的时间都为0,则所述网络连接为连接复用类型。
[0011] 可选地,所述方法还包括步骤:
[0012] 获取所述网络连接的详细地址;
[0013] 根据所述详细地址判断网络连接时是否包括通信安全校验。
[0014] 可选地,所述方法的步骤还包括:
[0015] 若发起新的网络请求时,优先通过所述连接复用类型的网络连接发送数据。
[0016] 可选地,所述网络设备通过OkHttp网络库发起网络连接。
[0017] 本申请的另一目的在于提供一种网络类型识别装置,应用于网络设备,所述网络类型识别装置包括时间获取模块、执行情况模块和判断模块;
[0018] 所述时间获取模块用于获取网络连接时预设的各个步骤所消耗的时间;
[0019] 所述执行情况模块用于根据所述消耗的时间判断所述预设的各个步骤的执行情况,所述执行情况包括被执行和未被执行;
[0020] 所述判断模块用于根据所述执行情况判断所述网络连接的类型,所述类型包括完全连接类型和连接复用类型,其中,所述完全连接类型表示建立网络连接时,所述预设的各个步骤都被执行;所述连接复用类型表示建立网络连接时,所述预设的各个步骤中的部分步骤被执行。
[0021] 可选地,所述网络连接时的各个步骤包括域名解析和创建连接;所述判断模块通过以下步骤判断所述网络连接的类型:
[0022] 若所述域名解析的时间和所述创建连接的时间都为0,则所述网络连接为连接复用类型。
[0023] 可选地,所述网络连接时的各个步骤包括域名解析、创建连接和通信安全校验;所述判断模块还通过以下步骤判断所述网络连接的类型:
[0024] 若所述域名解析步骤的时间、所述创建连接的时间和所述通信安全校验的时间都为0,则所述网络连接为连接复用类型。
[0025] 可选地,所述网络类型识别装置还包括选择模块;
[0026] 所述选择模块用于若发起新的网络请求时,优先通过所述连接复用类型的网络连接发送数据。
[0027] 相对于现有技术而言,本申请具有以下有益效果:
[0028] 本申请提供的网络类型识别方法及装置,通过获取网络连接时预设的各个步骤所消耗的时间,进而判断网络连接时各个步骤的执行情况。根据该执行情况判断该网络连的类型,该类型包括完全连接类型和连接复用类型。进一步地,在发起新的网络连接时,优选通过连接复用类型网络通道发送数据。本申请公开的技术方案提供了判断网络连接类型的方法,以及优选连接复用类型的网络通道发送数据,提高了网络通信的效率。

附图说明

[0029] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0030] 图1为本申请实施例提供的网络设备的硬件结构图;
[0031] 图2为本申请实施例提供的网络类型识别方法的步骤流程图;
[0032] 图3为本申请实施例提供的网络连接的步骤示意图;
[0033] 图4为本申请实施例提供的网络类型识别装置的结构图之一;
[0034] 图5为本申请实施例提供的网络类型识别装置的结构图之二。
[0035] 图标:100-网络设备;140-通信单元;130-处理器;110-网络类型识别装置;120-存储器;1101-时间获取模块;1102-执行情况模块;1103-判断模块;1104-选择模块。

具体实施方式

[0036] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
[0037] 因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0038] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0039] 在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
[0040] 现有的一些网络库没有提供接口或者方法判断网络连接是完全连接类型或者连接复用类型的网络库,导致无法判断网络连接的类型。
[0041] 有鉴于此,本实施例提供一种通过网络连接时预设的各个步骤所消耗的时间判断网络请求的方案,下面对本实施例提供的方案进行详细阐述。
[0042] 首先,请参照图1,本实施例提供一种网络设备100,所述网络设备100包括网络类型识别装置110、存储器120、处理器130、通信单元140。所述存储器120、处理器130以及通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
[0043] 所述网络设备100可通过网络与其他网络设备100进行通信,以实现网络设备100之间的数据通信或交互。所述网络可以是,但不限于,有线网络或无线网络。
[0044] 所述网络设备100可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。所述用网络设备100的操作系统可以是,但不限于,安卓(Android)系统、IOS(iPhone operating system)系统、Windows phone系统、Windows系统等。
[0045] 其中,所述存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器120用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述通信单元140用于通过所述网络建立所述网络设备100之间的通信连接,并用于通过所述网络收发数据。
[0046] 所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0047] 请参照图2所,本实施例提供一种应用于图1所示网络设备100的网络类型识别方法的步骤流程图,以下将对所述方法包括各个步骤进行详细阐述。
[0048] 步骤S100,获取网络连接时预设的各个步骤所消耗的时间。
[0049] 可选地,请参照图3所示的网络连接的步骤示意图。针对HTTP(HTTP,HyperText Transfer Protocol)协议,所述网络网设备发起一个完整的网络连接的步骤包括:
[0050] 步骤S502,解析网络地址的域名,获得该域名对应的IP地址。
[0051] 步骤S503,根据TCP协议,通过解析域名获得的IP地址创建网络连接。
[0052] 针对HTTPS(HTTPS,Hypertext Transfer Protocol Secure)协议,所述一个完整的网络连接的步骤还包括:
[0053] 步骤S504,根据超文本传输安全协议进行证书验证并获得用于对通信数据加密的秘钥。
[0054] 所述网络设备100获取所述预设的各个步骤的开始时间和结束时间;其中,所述开始时间包括域名解析开始时间、创建连接开始时间和通信安全校验开始时间;所述结束时间包括域名解析结束时间、创建连接结束时间和通信安全校验结束时间。所述网络设备100通过所述开始时间和结束时间获得所述预设的各个步骤所消耗的时间。
[0055] 步骤S200,根据所述消耗的时间判断所述预设的各个步骤的执行情况,所述执行情况包括被执行和未被执行。
[0056] 可选地,所述网络设备100根据所述预设的各个步骤消耗的时间,判断所述预设的各个步骤的执行情况。若单个步骤所消耗的时间为0,则表示该步骤没有被执行;若单个步骤所消耗的时间不为0,则表示该步骤被执行了一次。
[0057] 步骤S300,根据所述执行情况判断所述网络连接的类型,所述类型包括完全连接类型和连接复用类型,其中,所述完全连接类型表示建立网络连接时,所述预设的各个步骤都被执行;所述连接复用类型表示建立网络连接时,所述预设的各个步骤中的部分步骤被执行。
[0058] 可选地,所述网络设备100根据各个步骤的执行情况判断网络连接的类型,其中,若网络连接的各个步骤中部分步骤被执行,则表示该网络连接为连接复用类型,若网络连接的各个步骤都被执行,则表示所述网络连接为完全连接类型。
[0059] 例如,在一种可能的示例中,所述网络设备100通过OkHttp网络库发起网络连接,所述OkHttp库是目前Android最流行的网络请求库,该网络库没有提供判断判断网络连接是完全连接类型或者连接复用类型的接口或者方法。所述网络设备100通过继承自EventListener的新类HubbleHttpListener获取网络连接时预设的各个步骤所消耗的时间,其中,所述新类HubbleHttpListener中预设有多个类属性用于记录所述网络连接时,预设的各个步骤的开始时间和结束时间。比如,通过长整型变量dnsStar和dnsEnd记录域名解析的开始时间和结束时间,通过长整型变量connectStart和connectStart记录建立连接的开始时间和结束时间,通过长整型变量secureStart和secureEnd记录通信安全校验的开始时间和结束时间。所述网络设备100在网络连接时,当执行到预设的各个步骤,回调所述HubbleHttpListener中的方法,进而获得各个步骤的开始时间和结束时间。所述网络设备100根据所述开始件和结束时间获得所述网络连接时,预设的各个步骤的执行情况,进一步地,根据所述执行情况判断所述网络连接的类型。其中,所述网络设备100通过获取网络连接的完整网络地址,并根据所述网络地址,判断所述网络连接是否包含通信安全校验的步骤,其中,以“https”开头的网络地址需要执行通信安全校验的步骤。
[0060] 可选地,若每次网络连接都将网络连接时的各个步骤都执行一遍,极大的降低了网络连接的效率。所述网络设备包括用于统一管理设备网络连接的网络池,所述网络设备100在发起新的网络请求时,优先从该网络池中选取连接复用类型的网络连接发送数据。请参照图3所示的网络连接的步骤示意图,通过连接复用类型的网络发送数据时,则不需要再次执行域名解析、创建连接和通信安全校验的步骤,进而提高了网络连接时的效率。
[0061] 本实施例还提供一种网络类型识别装置110,所述网络类型识别装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述网络设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如所述网络类型识别装置110所包括的软件功能模块及计算机程序等。
[0062] 请参照图4所示的网络类型识别装置110的结构示意图之一,从功能上划分,所述网络类型识别装置110可以包括时间获取模块1101、执行情况模块1102和判断模块1103。
[0063] 所述时间获取模块1101用于获取网络连接时预设的各个步骤所消耗的时间。
[0064] 在本实施例中,所述时间获取模块1101用于执行图2中的步骤S100,关于所述时间获取模块1101的详细描述可以参考步骤S100的详细描述。
[0065] 所述执行情况模块1102用于根据所述消耗的时间判断所述预设的各个步骤的执行情况,所述执行情况包括被执行和未被执行。
[0066] 在本实施例中,所述执行情况模块1102用于执行图2中的步骤S200,关于所述执行情况模块1102的详细描述可以参考步骤S200的详细描述。
[0067] 所述判断模块1103用于根据所述执行情况判断所述网络连接的类型,所述类型包括完全连接类型和连接复用类型,其中,所述完全连接类型表示建立网络连接时,所述预设的各个步骤都被执行;所述连接复用类型表示建立网络连接时,所述预设的各个步骤中的部分步骤被执行。
[0068] 在本实施例中,所述判断模块1103用于执行图2中的步骤S300,关于所述判断模块1103的详细描述可以参考步骤S300的详细描述。
[0069] 可选地,所述网络连接时的各个步骤包括域名解析和创建连接;所述判断模块1103通过以下步骤判断所述网络连接的类型:
[0070] 若所述域名解析的时间和所述创建连接的时间都为0,则所述网络连接为连接复用类型。
[0071] 可选地,所述网络连接时的各个步骤包括域名解析、创建连接和通信安全校验;所述判断模块1103还通过以下步骤判断所述网络连接的类型:
[0072] 若所述域名解析步骤的时间、所述创建连接的时间和所述通信安全校验的时间都为0,则所述网络连接为连接复用类型。
[0073] 可选地,请参照图5,所示的网络类型识别装置110的结构图之二,所述网络类型识别装置110还包括选择模块1104;
[0074] 所述选择模块1104用于若发起新的网络请求时,优先通过所述连接复用类型的网络连接发送数据。
[0075] 综上所述,本申请提供的网络类型识别方法及装置,通过获取网络连接时预设的各个步骤所消耗的时间,进而判断网络连接时各个步骤的执行情况。根据该执行情况判断该网络连的类型,该类型包括完全连接类型和连接复用类型。进一步地,在发起新的网络连接时,优选通过连接复用类型网络通道发送数据。本申请公开的技术方案提供了判断网络连接类型的方法,以及优选连接复用类型的网络通道发送数据,提高了网络通信的效率。
[0076] 在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0077] 另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0078] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0079] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0080] 以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。