本发明涉及移动网络技术领域,尤其涉及一种对应用程序的网络请求进行统一管理的方法、装置和终端。
背景技术:
随着移动网络技术的不断提高,网络质量及上网速度的不断提升,人们对于移动端互联网的依赖变得更加强烈,以往移动端应用程序APP在网络请求方面是分散在不用业务模块中使用相应的网络请求。
现有的IOS应用程序内的网络请求大部分采用AFNetworing,然而AFNetworing只是一个网络请求框架,可以更好地管理网络请求的交互,然后由于AFNetworing并不能更好地管理、监控整个应用程序下的网络使用情况。因此,需要一种对应用程序的网络请求进行统一管理的方法、装置和终端,以解决现有技术中存在的上述技术问题。
技术实现要素:
本发明提供一种对应用程序的网络请求进行统一管理的方法、装置和终端,对应用程序下的网络使用情况进行有效管理,提高用户采用终端上网的使用体验。
本发明采用的技术方案是:
一种对应用程序的网络请求进行统一管理的方法,其包括:获取终端的当前网络质量参数;根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间。
优选地,所述根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间之前,所述方法,还包括:根据用户的输入信息设定每个网络请求的优先级,并且根据网络请求之间的依赖关系设定主网络请求和次网络请求;相应地,所述根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间之后,所述方法,还包括:根据所述每个网络请求的优先级,以及所述主网络请求和所述次网路请求的设定,异步发送所述网络请求。
优选地,所述异步发送所述网络请求至服务器之前,所述方法,还包括:记录所述每个网络请求的数据大小和发起时间;相应地,所述异步发送所述网络请求之后,所述方法,还包括:接收所述服务器返回的响应数据,并且记录每个响应数据的数据大小和返回时间。
优选地,所述接收所述服务器返回的响应数据之后,所述方法,还包括:保存所述每个网络请求的数据大小、发起时间,以及所述每个响应数据的数据大小、返回时间。
本发明还提供了一种对应用程序的网络请求进行统一管理的装置,其包括:获取模块,用于获取终端的当前网络质量参数;调整模块,用于根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间。
优选地,所述装置,还包括设定模块和异步发送模块,所述调整模块,根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间之前;所述设定模块,用于:根据用户的输入信息设定每个网络请求的优先级,并且根据网络请求之间的依赖关系设定主网络请求和次网络请求;相应地,所述调整模块,根据当前网络制式,调整当前运行的应用程序 下每个网络请求并发的数量和等待响应的超时时间之后;所述异步发送模块,用于:根据所述每个网络请求的优先级,以及所述主网络请求和所述次网路请求的设定,异步发送所述网络请求。
优选地,所述装置,还包括记录模块和接收模块,所述异步发送模块异步发送所述网络请求之前;所述记录模块,用于:记录所述每个网络请求的数据大小和发起时间;相应地,所述异步发送模块异步发送所述网络请求之后;所述接收模块,用于接收所述服务器返回的响应数据,并且记录每个响应数据的数据大小和返回时间。
优选地,所述装置还包括存储模块,所述接收模块接收所述服务器返回的响应数据之后;所述存储模块,用于保存所述每个网络请求的数据大小、发起时间,以及所述每个响应数据的数据大小、返回时间。
此外,本发明还提供了一种终端,其包括根据上文所述的装置。
采用上述技术方案,本发明至少具有下列效果:
采用本发明的对应用程序的网络请求进行统一管理的方法,由此可以通过监控终端的网络质量动态地调整等待响应的网络请求的超时时间与并发数。进一步地,设定网络请求的优先级,并且根据网络请求之间的依赖关系设定主网络请求和次网络请求,大大地改善了用户的体验。
附图说明
图1为本发明第一实施例的对应用程序的网络请求进行统一管理的方法的流程图;
图2为本发明第二实施例的对应用程序的网络请求进行统一管理的方法的流程图;
图3为本发明第三实施例的对应用程序的网络请求进行统一管理的方法的流程图;
图4为本发明第四实施例的对应用程序的网络请求进行统一管理的方法的 流程图;
图5为本发明第五实施例、第六实施例、第七实施例和第八实施例的对应用程序的网络请求进行统一管理的装置的示意图;
图6为本发明第五实施例中装置的工作流程示意图。
具体实施方式
为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。
本发明提供的对应用程序的网络请求进行统一管理的方法,可以有效地实现对,下面将详细地描述本发明的跨企业协同办公的方法及其各个步骤。
第一实施例
如图1所示,本实施例的对应用程序的网络请求进行统一管理的方法包括:步骤S10:获取终端的当前网络制式。步骤S20:根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间。
由此可以根据获取的当前网络制式例如2G、3G、4G、wifi等,自动调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间,从而得到更好的用户体验。通过本实施例的方法可以对当前运行的应用程序下的所有网络请求进行一次再封装开发,以实现对网络请求的监控。
第二实施例
如图2所示,步骤S20:根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间之前,本实施例的统一管理方法,还包括:步骤S30:根据用户的输入信息设定每个网络请求的优先级,并且根据网络请求之间的依赖关系设定主网络请求和次网络请求;相应地,步骤S20:根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间之后,该方法,还包括:步骤S40:根据每个网络请求的优先级,以及主网络请求和次网路请求的设定,异步发送网络请求。
本实施例的统一管理方法可以针对不同网络请求的需求设定不同的优先级,并且根据网路请求之间的依赖关系设定主次网络请求,保证主网络请求能提前请求,次网路请求可以在主网络请求完成之后再去请求网络。
第三实施例
如图3所示,在第二实施例的基础上,步骤S40:异步发送网络请求至服务器之前,本实施例的统一管理方法,还包括:步骤S50:记录每个网络请求的数据大小和发起时间;相应地,步骤S40:异步发送网络请求之后,该方法,还包括:步骤S60:接收服务器返回的响应数据,并且记录每个响应数据的数据大小和返回时间。
由此在应用程序的不同业务模块发出请求网络时记录下该网络请求的数据大小与发起时间,并且在接收到服务器返回的响应数据时也记录下该响应数据的数据大小和返回时间,由此可以监控本APP内任何时段的用户上行和下行数据,随时获取本APP内的网络使用情况,便于统计网络请求与数据量的分布情况,分析并且改善用户的需求,也可以更直观地展示给用户,便于用户理解APP产品的网络行为。进一步地,必要时在APP网络空闲时,发起一些非实时的网络数据操作,例如用户行为中的日志收集等,由此提高APP的网络使用质量避免网络拥堵。
第四实施例
如图4所示,在第三实施例的基础上,步骤S60:接收服务器返回的响应数据之后,本实施例的统一管理方法,还包括:步骤S70:保存每个网络请求的数据大小、发起时间,以及每个响应数据的数据大小、返回时间。
第五实施例
如图5所示,本实施例的对应用程序的网络请求进行统一管理的装置,其包括:获取模块10,用于获取终端的当前网络质量参数。调整模块20,用于根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间。
采用本装置,无论终端使用的是AFNetworking,还是其他的第三方网络框架,本实施例的装置相当于在终端提供一个网络管理器,APP内所有网络请求都必须经过该管理器分发来请求网络。
如图6所示,该网络管理器封装类命名为WBNetworkManager,APP内的所有业务模块business module发来的网络请求(无论同步请求还是异步请求)都经过该网络管理器去请求网络操作,图中示出的是同步请求sync request。该管理器会生成一个进程池来异步管理操作每一个网络请求进程operation,而在每个进程发起之前,会记录下网络请求进程的数据大小及发起时间,然后通过第三方网络框架或是系统网络框架AFNetworking异步请求服务器server,在服务器返回响应数据时,会记录响应数据的数据大小和返回时间,从而较好地监控每一个网络请求在不同时间段的上行、下行数据,保存这些数据,必要时传递至服务器保存。
为了更好地提高用户使用终端上网的体验,该管理器会时刻监控终端的网络质量参数,当网络由wifi切换至低质量网络,比如3G时,管理器会自动设置每个网络请求等待响应的超时时间以及网络请求并发的数量,从而使得终端的网路不再拥挤的情况下,保证主网络请求率先顺利完成。
本实施例创建的网络管理器,将分散的网络请求发起点统一由管理器管理,自动根据终端的网络质量参数切换网络请求等待响应的超时时间与并发数量。
第六实施例
如图5所示,本实施例在第五实施例的基础上,本统一管理装置,还包括设定模块30和异步发送模块40,调整模块20,根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等待响应的超时时间之前;设定模块30,用于:根据用户的输入信息设定每个网络请求的优先级,并且根据网络请求之间的依赖关系设定主网络请求和次网络请求。相应地,调整模块20,根据当前网络制式,调整当前运行的应用程序下每个网络请求并发的数量和等 待响应的超时时间之后;异步发送模块40,用于:根据每个网络请求的优先级,以及主网络请求和次网路请求的设定,异步发送网络请求。
依赖关系决定主网络请求先完成后,才能执行次网络请求,可以通过终端操作系统的API设置相应网络请求进程的优先级,以及根据网络请求之间的依赖关系设定主网络请求和次网络请求。
第七实施例
如图5所示,本实施例在第六实施例的基础上,本统一管理装置,还包括记录模块50和接收模块60,异步发送模块40异步发送网络请求之前;记录模块50,用于:记录每个网络请求的数据大小和发起时间;相应地,异步发送模块40异步发送网络请求之后;接收模块60,用于接收服务器返回的响应数据,并且记录每个响应数据的数据大小和返回时间。
第八实施例
如图5所示,本实施例在第七实施例的基础上,本统一管理装置还包括存储模块70,接收模块60接收服务器返回的响应数据之后;存储模块70,用于保存每个网络请求的数据大小、发起时间,以及每个响应数据的数据大小、返回时间。
第九实施例
此外,本发明还提供了一种终端,其包括根据上文所述的装置。
通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。