CN111064771B - 一种网络请求处理方法及系统 - Google Patents

一种网络请求处理方法及系统 Download PDF

Info

Publication number
CN111064771B
CN111064771B CN201911113228.0A CN201911113228A CN111064771B CN 111064771 B CN111064771 B CN 111064771B CN 201911113228 A CN201911113228 A CN 201911113228A CN 111064771 B CN111064771 B CN 111064771B
Authority
CN
China
Prior art keywords
request
network
service data
merged
proxy server
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
CN201911113228.0A
Other languages
English (en)
Other versions
CN111064771A (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.)
Fujian TQ Digital Co Ltd
Original Assignee
Fujian TQ Digital 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 Fujian TQ Digital Co Ltd filed Critical Fujian TQ Digital Co Ltd
Priority to CN201911113228.0A priority Critical patent/CN111064771B/zh
Publication of CN111064771A publication Critical patent/CN111064771A/zh
Application granted granted Critical
Publication of CN111064771B publication Critical patent/CN111064771B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络请求处理方法及系统,本地代理服务器按照合并策略对所有网络请求进行合并发送,由远程代理服务器接收、分解并还原为N个网络请求,根据每一个网络请求的请求内容向对应的业务服务器发起业务请求,由远程代理服务器将接收到的每一个业务数据进行合并发送,由本地代理服务器接收、分解、还原并依次分发到对应的网络连接库;本发明实现了多个请求和多个结果的合并,极大程度上减少了网络请求的数量和等待耗时,优化了设备耗电量,提升用户流畅体验;通过本地代理服务,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的合并需求,软件开发和维护成本低。

Description

一种网络请求处理方法及系统
技术领域
本发明涉及计算机技术领域,特别涉及一种网络请求处理方法及系统。
背景技术
现有手机应用内的网络连接库存在多样化,包括如下:
1、Socket:Java SDK(Software Development Kit软件开发工具)中提供用于TCP/IP通过网络连接服务器的工具;
2、URLConnection:URLConnection类本身依赖于Socket类实现网络连接。一般认为,URLConnection类提供了比Socket类更易于使用、更高级的网络连接抽象。Android SDK中对HTTP(超文本传输协议)也提供了很好的支持,从Android API 23开始,Google建议使用HttpURLConnection进行网络访问操作;
3、OkHttp:Android处理网络请求的开源项目,是当前最热门的轻量级开发框架。相比于其它网络连接工具,它可以让应用运行更快、更节省流量。
其中,Android应用在运行时,经常需要通过上述的网络连接库来连接互联网,使其与服务器进行通信。当前的服务器提供了大量RESTful API,RESTful是目前最流行的API(应用程序编程接口)设计规范,用于Web数据接口的设计。其特点是职责清晰、单一,相比于传统的API颗粒度更小。Android应用为了显示一个页面所有的数据,往往需要发起多个API请求。每个请求发起时都需要TCP/IP连接三次握手才能与服务器开始传送数据(建立连接需要耗时),因此发起多次请求产生相对更长的等待耗时使用户体验不流畅。从另一方面,频繁的建立新的连接,也增大了设备耗电量。
由于客户端调用批量接口相比调用非批量接口来说,减少了请求数量,因此接口在设计时会尽可能提供批量接口。这样,客户端在发起多个网络请求时,对同样的接口地址但请求参数可以不同的请求进行合并,从而减少请求数量,提高性能。
然而,Android应用运行时出现相同接口请求的情况并不多,通过合并相同请求来减少网络请求数的方法具有局限性,对整体的优化效果是有限的。
发明内容
本发明所要解决的技术问题是:提供一种网络请求处理方法及系统,优化设备耗电量,提升用户流畅体验。
为了解决上述技术问题,本发明采用的技术方案为:
一种网络请求处理方法,包括步骤:
S1、本地代理服务器接收本地应用内所有网络连接库所发起的网络请求,判断当前状态是否达到预设合并状态,若是,则将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包;
S2、远程代理服务器接收并分解所述已合并请求数据包,以还原为N个网络请求,根据每一个网络请求的请求内容向对应的业务服务器发起业务请求;
S3、远程代理服务器接收每一个网络请求所对应的业务数据,得到N个业务数据,将N个业务数据进行合并,得到并发送已合并业务数据包;
S4、本地代理服务器接收并分解所述已合并业务数据包,以还原为N个业务数据,分发每一个业务数据到对应的网络连接库,使得本地应用接收到每一个网络连接库所返回的业务数据。
为了解决上述技术问题,本发明采用的另一种网络请求处理技术方案为:
一种网络请求处理系统,包括本地代理服务器以及远程代理服务器,所述本地代理服务器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述远程代理服务器包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、接收本地应用内所有网络连接库所发起的网络请求,判断当前状态是否达到预设合并状态,若是,则将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包;
S4、接收并分解已合并业务数据包,以还原为N个业务数据,分发每一个业务数据到对应的网络连接库,使得本地应用接收到每一个网络连接库所返回的业务数据;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、接收并分解所述已合并请求数据包,以还原为N个网络请求,根据每一个网络请求的请求内容向对应的业务服务器发起业务请求;
S3、接收每一个网络请求所对应的业务数据,得到N个业务数据,将N个业务数据进行合并,得到并发送已合并业务数据包。
本发明的有益效果在于:一种网络请求处理方法及系统,通过本地代理服务器接收本地应用内所有网络连接库所发起的网络请求,并在达到预设合并状态后将多个网络请求合并为一个请求,由远程代理服务器接收合并后的请求之后还原至多个网络请求,依次向对应的业务服务器发起请求并接收所返回的数据,远程代理服务器将多个业务数据再合并成一个数据包发送给本地代理服务器,由本地代理服务器接收、还原并分发请求结果,从而实现了多个请求和多个结果的合并,极大程度上减少了网络请求的数量和等待耗时,优化了设备耗电量,提升用户流畅体验;通过本地代理服务,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的合并需求,软件开发和维护成本低。
附图说明
图1为本发明实施例的一种网络请求处理方法的流程示意图;
图2为本发明实施例的一种网络请求处理方法的时序示意图;
图3为本发明实施例的一种网络请求处理系统的结构示意图;
图4为本发明实施例的一种网络请求处理系统的架构示意图。
标号说明:
1、一种网络请求处理系统;2、本地代理服务器;3、第一处理器;4、第一存储器;5、远程代理服务器;6、第二处理器;7、第二存储器;8、网络连接库;9、业务服务器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1至图2,一种网络请求处理方法,包括步骤:
S1、本地代理服务器接收本地应用内所有网络连接库所发起的网络请求,判断当前状态是否达到预设合并状态,若是,则将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包;
S2、远程代理服务器接收并分解所述已合并请求数据包,以还原为N个网络请求,根据每一个网络请求的请求内容向对应的业务服务器发起业务请求;
S3、远程代理服务器接收每一个网络请求所对应的业务数据,得到N个业务数据,将N个业务数据进行合并,得到并发送已合并业务数据包;
S4、本地代理服务器接收并分解所述已合并业务数据包,以还原为N个业务数据,分发每一个业务数据到对应的网络连接库,使得本地应用接收到每一个网络连接库所返回的业务数据。
从上述描述可知,本发明的有益效果在于:通过本地代理服务器接收本地应用内所有网络连接库所发起的网络请求,并在达到预设合并状态后将多个网络请求合并为一个请求,由远程代理服务器接收合并后的请求之后还原至多个网络请求,依次向对应的业务服务器发起请求并接收所返回的数据,远程代理服务器将多个业务数据再合并成一个数据包发送给本地代理服务器,由本地代理服务器接收、还原并分发请求结果,从而实现了多个请求和多个结果的合并,极大程度上减少了网络请求的数量和等待耗时,优化了设备耗电量,提升用户流畅体验;通过本地代理服务,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的合并需求,软件开发和维护成本低。
进一步地,所述步骤S1具体为:
S11、本地代理服务器接收本地应用内所有网络连接库所发起的网络请求;
S12、本地代理服务器在预设合并时间周期内实时判断当前接收到的网络请求数量是否大于预设最大请求数量,若是,则立即执行步骤S13,否则在达到预设合并时间周期后执行步骤S13;
S13、本地代理服务器将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包。
其中,在接口请求数据量相对不变的前提下,请求个数直接影响接口请求和返回数据的流量大小,从而影响接口数据传输的时间。因此,正常情况下,请求个数越大,合并请求处理耗时越长。耗时越长在本地应用上的表现是页面加载慢,整体使用感觉不流畅。
同时,本地应用发起接口请求的时机主要包括应用启动初始化、页面加载、用户行为触发和后台服务等,发起接口请求的时间分布并没有特定的规律,有可能一瞬间同时发起多个接口请求,也有可能很长一段时间只会发起一个接口请求。
从上述描述可知,设置一个最大请求数量,在接口请求处理耗时相对较小的前提下,能够尽可能聚合更多请求,达到减少实际发送请求数的效果;同时设置一个合并时间周期,避免为了合并多个请求而等待太长时间,以避免因为等待时间而影响使用流畅度,即通过最大请求数量和合并时间周期两个条件同时约束,只要有一个条件先达到便可发起合并请求,从而在最大程度上减少网络请求的数量和等待耗时,优化设备耗电量,提升用户流畅体验。
进一步地,所述步骤S1中“已合并请求数据包”的数据结构包括:每一个网络请求的请求地址、请求别名和请求数据,所述请求数据包括请求方法;所述步骤S3中“已合并业务数据包”的数据结构包括:每一个网络请求的请求别名和业务数据,所述业务数据包括状态码、状态码描述、业务响应头信息和业务响应内容体。
进一步地,所述步骤S2具体为:
S2、远程代理服务器接收并分解所述已合并请求数据包,以还原为N个网络请求,每一个网络请求通过所述请求数据向与所述请求地址相对应的业务服务器发起业务请求;
所述步骤S4具体为:
本地代理服务器接收并分解所述已合并业务数据包,以还原为N个业务数据,根据每一个业务数据所对应的请求别名将其发送至与所述请求别名对应的网络连接库,使得本地应用接收每一个网络连接库所返回的业务数据。
从上述描述可知,通过请求别名来匹配请求数据和业务数据,通过上述数据结构格式,以实现有序的合并和分发。
进一步地,所述步骤S1和所述步骤S4中还包括:
本地代理服务器读取每一个网络请求的所有请求信息,所述所有请求信息包括请求地址、请求别名、请求数据和业务数据;
所述步骤S4之后还包括步骤:
本地代理服务器根据每一个网络请求的所有请求信息判断每一个网络请求是否出现异常,若是,则存储异常的所有请求信息;
本地代理服务器在本地应用启动时,将存储的异常的所有请求信息上报至网络请求监控服务器。
从上述描述可知,通过设置本地代理服务器,在本地代理服务内能够获取网络请求的所有信息,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的监控需求,以实现对本地应用的网络请求进行统一监控,从而降低应用开发成本和维护成并提升应用品质。
请参照图3至图4,一种网络请求处理系统,包括本地代理服务器以及远程代理服务器,所述本地代理服务器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述远程代理服务器包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、接收本地应用内所有网络连接库所发起的网络请求,判断当前状态是否达到预设合并状态,若是,则将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包;
S4、接收并分解已合并业务数据包,以还原为N个业务数据,分发每一个业务数据到对应的网络连接库,使得本地应用接收到每一个网络连接库所返回的业务数据;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、接收并分解所述已合并请求数据包,以还原为N个网络请求,根据每一个网络请求的请求内容向对应的业务服务器发起业务请求;
S3、接收每一个网络请求所对应的业务数据,得到N个业务数据,将N个业务数据进行合并,得到并发送已合并业务数据包。
从上述描述可知,本发明的有益效果在于:通过本地代理服务器接收本地应用内所有网络连接库所发起的网络请求,并在达到预设合并状态后将多个网络请求合并为一个请求,由远程代理服务器接收合并后的请求之后还原至多个网络请求,依次向对应的业务服务器发起请求并接收所返回的数据,远程代理服务器将多个业务数据再合并成一个数据包发送给本地代理服务器,由本地代理服务器接收、还原并分发请求结果,从而实现了多个请求和多个结果的合并,极大程度上减少了网络请求的数量和等待耗时,优化了设备耗电量,提升用户流畅体验;通过本地代理服务,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的合并需求,软件开发和维护成本低。
进一步地,所述第一处理器执行所述第一计算机程序中的所述步骤S1时具体实现以下步骤:
S11、接收本地应用内所有网络连接库所发起的网络请求;
S12、在预设合并时间周期内实时判断当前接收到的网络请求数量是否大于预设最大请求数量,若是,则立即执行步骤S13,否则在达到预设合并时间周期后执行步骤S13;
S13、将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包。
从上述描述可知,设置一个最大请求数量,在接口请求处理耗时相对较小的前提下,能够尽可能聚合更多请求,达到减少实际发送请求数的效果;同时设置一个合并时间周期,避免为了合并多个请求而等待太长时间,以避免因为等待时间而影响使用流畅度,即通过最大请求数量和合并时间周期两个条件同时约束,只要有一个条件先达到便可发起合并请求,从而在最大程度上减少网络请求的数量和等待耗时,优化设备耗电量,提升用户流畅体验。
进一步地,所述步骤S1中“已合并请求数据包”的数据结构包括:每一个网络请求的请求地址、请求别名和请求数据,所述请求数据包括请求方法;所述步骤S3中“已合并业务数据包”的数据结构包括:每一个网络请求的请求别名和业务数据,所述业务数据包括状态码、状态码描述、业务响应头信息和业务响应内容体。
进一步地,所述第二处理器执行所述第二计算机程序中的所述步骤S2时具体实现以下步骤:
S2、远程代理服务器接收并分解所述已合并请求数据包,以还原为N个网络请求,每一个网络请求通过所述请求数据向与所述请求地址相对应的业务服务器发起业务请求;
所述第一处理器执行所述第一计算机程序中的所述步骤S4时具体实现以下步骤:
接收并分解所述已合并业务数据包,以还原为N个业务数据,根据每一个业务数据所对应的请求别名将其发送至与所述请求别名对应的网络连接库,使得本地应用接收每一个网络连接库所返回的业务数据。
从上述描述可知,通过请求别名来匹配请求数据和业务数据,通过上述数据结构格式,以实现有序的合并和分发。
进一步地,所述第一处理器执行所述第一计算机程序中的所述步骤S1和所述步骤S4时还实现以下步骤:
读取每一个网络请求的所有请求信息,所述所有请求信息包括请求地址、请求别名、请求数据和业务数据;
所述第一处理器执行所述第一计算机程序中的所述步骤S4之后还实现以下步骤:
本地代理服务器根据每一个网络请求的所有请求信息判断每一个网络请求是否出现异常,若是,则存储异常的所有请求信息;
本地代理服务器在本地应用启动时,将存储的异常的所有请求信息上报至网络请求监控服务器。
从上述描述可知,通过设置本地代理服务器,在本地代理服务内能够获取网络请求的所有信息,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的监控需求,以实现对本地应用的网络请求进行统一监控,从而降低应用开发成本和维护成并提升应用品质。
请参照图1和图2,本发明的实施例一为:
一种网络请求处理方法,包括步骤:
S1、本地代理服务器接收本地应用内所有网络连接库所发起的网络请求,判断当前状态是否达到预设合并状态,若是,则将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包,其中,网络连接库包括Socket、URLConnection和OkHttp等等,本地代理服务器对外提供的ip是127.0.0.1,端口默认为9000,当端口有冲突时自动加一,直到没有冲突为止;
在本实施例中,步骤S1具体为:
S11、本地代理服务器接收本地应用内所有网络连接库所发起的网络请求;
S12、本地代理服务器在预设合并时间周期内实时判断当前接收到的网络请求数量是否大于预设最大请求数量,若是,则立即执行步骤S13,否则在达到预设合并时间周期后执行步骤S13,在本实施例中,预设最大请求数量为8,预设合并时间周期为150毫秒;
S13、本地代理服务器将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包;
在本实施例中,已合并请求数据包的数据结构包括:每一个网络请求的请求地址、请求别名和请求数据,请求数据包括请求方法,个别请求数据包括请求头信息和请求内容,具体如下:
Figure BDA0002273346490000091
Figure BDA0002273346490000101
S2、远程代理服务器接收并分解已合并请求数据包,以还原为N个网络请求,根据每一个网络请求的请求内容向对应的业务服务器发起业务请求,远程代理服务器又称为API网关,负责接收、处理、转发和返回接口数据;
在本实施例中,步骤S2具体为:
远程代理服务器接收并分解已合并请求数据包,以还原为N个网络请求,每一个网络请求通过请求数据向与请求地址相对应的业务服务器发起业务请求;
S3、远程代理服务器接收每一个网络请求所对应的业务数据,得到N个业务数据,将N个业务数据进行合并,得到并发送已合并业务数据包;
在本实施例中,已合并业务数据包的数据结构包括:每一个网络请求的请求别名和业务数据,业务数据包括状态码、状态码描述、业务响应头信息和业务响应内容体,具体如下:
Figure BDA0002273346490000102
Figure BDA0002273346490000111
Figure BDA0002273346490000121
S4、本地代理服务器接收并分解已合并业务数据包,以还原为N个业务数据,分发每一个业务数据到对应的网络连接库,使得本地应用接收到每一个网络连接库所返回的业务数据。
在本实施例中,步骤S4具体为:
本地代理服务器接收并分解已合并业务数据包,以还原为N个业务数据,根据每一个业务数据所对应的请求别名将其发送至与请求别名对应的网络连接库,使得本地应用接收每一个网络连接库所返回的业务数据。
在本实施例中,为每一个网络连接库设置本地代理服务器,其实现过程中的关键代码罗列如下:
1、Socket连接库通过proxy参数设置,关键代码如下:
String proxyIP="127.0.0.1";
int proxyPort=9000;
Proxy proxy=new Proxy(Type.HTTP,new InetSocketAddress(proxyIP,proxyPort));
socket=new Socket(proxy);
2、URLConnection连接库通过proxy参数设置,关键代码如下:
Proxy proxy=new Proxy(Proxy.Type.HTTP,new InetSocketAddress(proxyIP,proxyPort));
URLConnection conn=url.openConnection(proxy);
3、OkHttp连接库通过proxy参数设置,关键代码如下:
OkHttpClient.Builder builder=new OkHttpClient.Builder();
Proxy proxy=new Proxy(Proxy.Type.HTTP,new InetSocketAddress(proxyIP,proxyPort));
builder.proxy(proxy);
在实际应用场景中,公司开发的一款应用,其规模庞大,同时用到了Socket、URLConnection、OkHttp连接库发起网络请求。当下需要对用户网络请求数量进行做优化,减少发起的时间请求数量,从而提升应用使用流畅度和优化设备耗电量,其实现过程参照上述步骤具体实现如下:
1.开发人员部署远程代理服务器,用于处理合并请求;
2.开发人员在本地应用内使用本地代理服务器,用于合并各种网络连接库发起的网络请求;
3.用户在使用本地应用的过程中,由于页面需要显示的数据量大,各种网络连接库在小于150毫秒内共需发起16个网络请求;
4.本地代理服务器接收到大量网络请求,根据上述步骤中的合并策略最终合并为两条合并请求,并将合并请求发送给远程代理服务器;
5.远程代理服务器向业务服务器发起实际请求后,将请求结果合并返回;
6.本地代理服务器收到请求结果,并返回给网络连接库,页面得到数据后正常显示;
在此过程中,用户使用过程体验流畅,不再发生长时间的耗时等待,应用品质得到提升,请求次数减少,设备耗电量也得到极大的优化。
请参照图1,本发明的实施例二为:
一种网络请求处理方法,在上述实施例一的基础上,步骤S1和步骤S4中还包括:
本地代理服务器读取每一个网络请求的所有请求信息,所有请求信息包括请求地址、请求别名、请求数据和业务数据;
步骤S4之后还包括步骤:
本地代理服务器根据每一个网络请求的所有请求信息判断每一个网络请求是否出现异常,若是,则存储异常的所有请求信息;
本地代理服务器在本地应用启动时,将存储的异常的所有请求信息上报至网络请求监控服务器。
由此,通过设置本地代理服务器,在本地代理服务内能够获取网络请求的所有信息,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的监控需求,以实现对本地应用的网络请求进行统一监控,从而降低应用开发成本和维护成并提升应用品质。
请参照图3和图4,本发明的实施例三为:
一种网络请求处理系统1,包括本地代理服务器2以及远程代理服务器5,本地代理服务器2包括第一存储器4、第一处理器3及存储在第一存储器4上并可在第一处理器3上运行的第一计算机程序,远程代理服务器5包括第二存储器7、第二处理器6及存储在第二存储器7上并可在第二处理器6上运行的第二计算机程序,第一处理器3执行第一计算机程序时实现上述实施例一或实施例二中对应的步骤;第二处理器6执行第二计算机程序时实现上述实施例一或实施例二中对应的步骤。
如图3和图4所示,本地代理服务器2与网络连接库8连接,远程代理服务器5与业务服务器9连接,从而实现从网络连接库8到业务服务器9的整个请求处理架构。
综上所述,本发明提供的一种网络请求处理方法及系统,通过本地代理服务器接收本地应用内所有网络连接库所发起的网络请求,通过最大请求数量和合并时间周期两个条件同时约束,只要有一个条件先达到便可发起合并请求,由远程代理服务器接收合并后的请求之后还原至多个网络请求,依次向对应的业务服务器发起请求并接收所返回的数据,远程代理服务器将多个业务数据再合并成一个数据包发送给本地代理服务器,由本地代理服务器接收、还原并分发请求结果,其中,通过设置发送和接收的数据结构格式,以实现有序的合并和分发,从而实现了多个请求和多个结果的合并,极大程度上减少了网络请求的数量和等待耗时,优化了设备耗电量,提升用户流畅体验;通过本地代理服务,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的合并需求,软件开发和维护成本低;同时,通过设置本地代理服务器,在本地代理服务内能够获取网络请求的所有信息,在基本不改变原有网络连接库使用方式的前提下,能够满足所有网络连接库的监控需求,以实现对本地应用的网络请求进行统一监控,从而降低应用开发成本和维护成并提升应用品质。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种网络请求处理方法,其特征在于,包括步骤:
S1、本地代理服务器接收本地应用内所有网络连接库所发起的网络请求,判断当前状态是否达到预设合并状态,若是,则将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包;
所述已合并请求数据包的数据结构包括:每一个网络请求的请求地址、请求别名和请求数据,所述请求数据包括请求方法;
S2、远程代理服务器接收并分解所述已合并请求数据包,以还原为N个网络请求,根据每一个网络请求的请求内容向对应的业务服务器发起业务请求;
所述步骤S2具体为:
S2、远程代理服务器接收并分解所述已合并请求数据包,以还原为N个网络请求,每一个网络请求通过所述请求数据向与所述请求地址相对应的业务服务器发起业务请求;
S3、远程代理服务器接收每一个网络请求所对应的业务数据,得到N个业务数据,将N个业务数据进行合并,得到并发送已合并业务数据包;
S4、本地代理服务器接收并分解所述已合并业务数据包,以还原为N个业务数据,分发每一个业务数据到对应的网络连接库,使得本地应用接收到每一个网络连接库所返回的业务数据;
所述步骤S4具体为:
本地代理服务器接收并分解所述已合并业务数据包,以还原为N个业务数据,根据每一个业务数据所对应的请求别名将其发送至与所述请求别名对应的网络连接库,使得本地应用接收每一个网络连接库所返回的业务数据。
2.根据权利要求1所述的一种网络请求处理方法,其特征在于,所述步骤S1具体为:
S11、本地代理服务器接收本地应用内所有网络连接库所发起的网络请求;
S12、本地代理服务器在预设合并时间周期内实时判断当前接收到的网络请求数量是否大于预设最大请求数量,若是,则立即执行步骤S13,否则在达到预设合并时间周期后执行步骤S13;
S13、本地代理服务器将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包。
3.根据权利要求1所述的一种网络请求处理方法,其特征在于,所述步骤S3中已合并业务数据包的数据结构包括:每一个网络请求的请求别名和业务数据,所述业务数据包括状态码、状态码描述、业务响应头信息和业务响应内容体。
4.根据权利要求1至3任一所述的一种网络请求处理方法,其特征在于,所述步骤S1和所述步骤S4中还包括:
本地代理服务器读取每一个网络请求的所有请求信息,所述所有请求信息包括请求地址、请求别名、请求数据和业务数据;
所述步骤S4之后还包括步骤:
本地代理服务器根据每一个网络请求的所有请求信息判断每一个网络请求是否出现异常,若是,则存储异常的所有请求信息;
本地代理服务器在本地应用启动时,将存储的异常的所有请求信息上报至网络请求监控服务器。
5.一种网络请求处理系统,包括本地代理服务器以及远程代理服务器,所述本地代理服务器包括第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的第一计算机程序,所述远程代理服务器包括第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的第二计算机程序,其特征在于,所述第一处理器执行所述第一计算机程序时实现以下步骤:
S1、接收本地应用内所有网络连接库所发起的网络请求,判断当前状态是否达到预设合并状态,若是,则将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包;
所述已合并请求数据包的数据结构包括:每一个网络请求的请求地址、请求别名和请求数据,所述请求数据包括请求方法;
S4、接收并分解已合并业务数据包,以还原为N个业务数据,分发每一个业务数据到对应的网络连接库,使得本地应用接收到每一个网络连接库所返回的业务数据;
所述步骤S4具体为:
本地代理服务器接收并分解所述已合并业务数据包,以还原为N个业务数据,根据每一个业务数据所对应的请求别名将其发送至与所述请求别名对应的网络连接库,使得本地应用接收每一个网络连接库所返回的业务数据;
所述第二处理器执行所述第二计算机程序时实现以下步骤:
S2、接收并分解所述已合并请求数据包,以还原为N个网络请求,根据每一个网络请求的请求内容向对应的业务服务器发起业务请求;
所述步骤S2具体为:
S2、远程代理服务器接收并分解所述已合并请求数据包,以还原为N个网络请求,每一个网络请求通过所述请求数据向与所述请求地址相对应的业务服务器发起业务请求;
S3、接收每一个网络请求所对应的业务数据,得到N个业务数据,将N个业务数据进行合并,得到并发送已合并业务数据包。
6.根据权利要求5所述的一种网络请求处理系统,其特征在于,所述第一处理器执行所述第一计算机程序中的所述步骤S1时具体实现以下步骤:
S11、接收本地应用内所有网络连接库所发起的网络请求;
S12、在预设合并时间周期内实时判断当前接收到的网络请求数量是否大于预设最大请求数量,若是,则立即执行步骤S13,否则在达到预设合并时间周期后执行步骤S13;
S13、将当前接收到的N个网络请求进行合并,得到并发送已合并请求数据包。
7.根据权利要求5所述的一种网络请求处理系统,其特征在于,所述步骤S3中已合并业务数据包的数据结构包括:每一个网络请求的请求别名和业务数据,所述业务数据包括状态码、状态码描述、业务响应头信息和业务响应内容体。
8.根据权利要求5至7任一所述的一种网络请求处理系统,其特征在于,所述第一处理器执行所述第一计算机程序中的所述步骤S1和所述步骤S4时还实现以下步骤:
读取每一个网络请求的所有请求信息,所述所有请求信息包括请求地址、请求别名、请求数据和业务数据;
所述第一处理器执行所述第一计算机程序中的所述步骤S4之后还实现以下步骤:
本地代理服务器根据每一个网络请求的所有请求信息判断每一个网络请求是否出现异常,若是,则存储异常的所有请求信息;
本地代理服务器在本地应用启动时,将存储的异常的所有请求信息上报至网络请求监控服务器。
CN201911113228.0A 2019-11-14 2019-11-14 一种网络请求处理方法及系统 Active CN111064771B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911113228.0A CN111064771B (zh) 2019-11-14 2019-11-14 一种网络请求处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911113228.0A CN111064771B (zh) 2019-11-14 2019-11-14 一种网络请求处理方法及系统

Publications (2)

Publication Number Publication Date
CN111064771A CN111064771A (zh) 2020-04-24
CN111064771B true CN111064771B (zh) 2022-07-05

Family

ID=70297798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911113228.0A Active CN111064771B (zh) 2019-11-14 2019-11-14 一种网络请求处理方法及系统

Country Status (1)

Country Link
CN (1) CN111064771B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585879A (zh) * 2020-05-07 2020-08-25 北京静帆科技有限公司 一种api网关的配置方法和api网关系统
CN114205401A (zh) * 2020-09-17 2022-03-18 英业达科技有限公司 网络服务去中心化的数据传输系统及其方法
CN113364637A (zh) * 2021-08-09 2021-09-07 中建电子商务有限责任公司 一种基于批量打包调度的网络通信优化方法及系统
CN114422494A (zh) * 2022-01-18 2022-04-29 嘉兴优尼信息科技有限公司 一种跨国弱网环境的请求合并处理方法
CN114866556B (zh) * 2022-05-25 2024-04-19 上海众源网络有限公司 一种服务器资源请求方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387206A (zh) * 2011-10-20 2012-03-21 镇江睿泰信息科技有限公司 一种Web服务并发请求合成方法及系统
WO2012152228A1 (zh) * 2011-05-12 2012-11-15 广州市动景计算机科技有限公司 获取页面资源的方法及装置、浏览器及移动终端
CN103685326A (zh) * 2012-08-31 2014-03-26 盐城睿泰数字科技有限公司 一种web并发数据传输方法及web应用系统
CN103747097A (zh) * 2014-01-22 2014-04-23 电子科技大学 移动终端http请求聚合压缩的系统及方法
CN104202399A (zh) * 2014-09-05 2014-12-10 国家电网公司 一种基于请求缓冲池的数据服务调度方法
CN104980289A (zh) * 2014-04-14 2015-10-14 阿里巴巴集团控股有限公司 消息推送方法、装置和系统
CN107517254A (zh) * 2017-08-22 2017-12-26 北京梅泰诺通信技术股份有限公司 一种动态数据请求处理系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014123884A1 (en) * 2013-02-07 2014-08-14 Interdigital Patent Holdings, Inc. Methods and apparatuses for restful batch services
US10075549B2 (en) * 2016-01-25 2018-09-11 Quest Software Inc. Optimizer module in high load client/server systems

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012152228A1 (zh) * 2011-05-12 2012-11-15 广州市动景计算机科技有限公司 获取页面资源的方法及装置、浏览器及移动终端
CN102387206A (zh) * 2011-10-20 2012-03-21 镇江睿泰信息科技有限公司 一种Web服务并发请求合成方法及系统
CN103685326A (zh) * 2012-08-31 2014-03-26 盐城睿泰数字科技有限公司 一种web并发数据传输方法及web应用系统
CN103747097A (zh) * 2014-01-22 2014-04-23 电子科技大学 移动终端http请求聚合压缩的系统及方法
CN104980289A (zh) * 2014-04-14 2015-10-14 阿里巴巴集团控股有限公司 消息推送方法、装置和系统
CN104202399A (zh) * 2014-09-05 2014-12-10 国家电网公司 一种基于请求缓冲池的数据服务调度方法
CN107517254A (zh) * 2017-08-22 2017-12-26 北京梅泰诺通信技术股份有限公司 一种动态数据请求处理系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"RESTful Web Services";Leonard Richardson,Sam Ruby;《RESTful Web Services》;20070531;全文 *
"面向移动终端的WEB页面重组技术综述";史晶 等;《计算机应用研究》;20111231;第28卷(第12期);全文 *

Also Published As

Publication number Publication date
CN111064771A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
CN111064771B (zh) 一种网络请求处理方法及系统
US8291486B2 (en) Gateway device having socket library for monitoring, communication method of gateway device having socket library for monitoring, and communication program of gateway device having socket library for monitoring
JP5986654B2 (ja) ウェブソケット通信の分散エミュレーションを通してウェブアプリケーションサポートを提供する企業クライアント/サーバーシステム及び方法
KR100686705B1 (ko) 세션 개시 프로토콜-가능 단말기에 다중-클라이언트 지원을제공하기 위한 방법 및 장치
US10389787B2 (en) Method, apparatus and system for transmitting media stream
US9246844B2 (en) Method for activating and deactivating client-side services from a remote server
US6775687B1 (en) Exchanging supplemental information fields between a client and a server
US7594022B2 (en) Regulating client requests in an electronic messaging environment
US8271580B2 (en) Mobile communication network system and server apparatus
US20100281138A1 (en) Method and system for remote coprocessor
CN108494817A (zh) 数据传输方法、相关装置及系统
JP2001094592A (ja) ネットワーク帯域を効率的に使用して移動装置に電子メールサービスを提供する方法及びシステム
WO2009097776A1 (zh) 一种实现业务升级的系统、装置及方法
CN111262924A (zh) 一种软硬件结合的网络负载均衡实现系统及过程方法
CN107666474B (zh) 一种网络报文处理方法、装置及网络服务器
KR100498361B1 (ko) 이동 통신단말기의 무선 인터넷 동기화 방법
TWI493356B (zh) 非同步通信的方法、非同步地與網路瀏覽器通信的方法,及用於與網路通信的系統
JP6129526B2 (ja) 通信装置、通信方法およびプログラム
CN113965628A (zh) 消息调度方法、服务器和存储介质
CN114416275A (zh) 一种实现多个管理客户端同步虚拟机状态的方法及系统
CN112511595A (zh) 一种消息推送方法及消息服务系统
CN109688085B (zh) 传输控制协议代理方法、存储介质及服务器
CN113176957B (zh) 一种基于rpc的远程应用自动化系统
JP2003219056A (ja) コネクション接続制御方法
JP2001142813A (ja) 非接続型プロトコル基盤のウェブサービス上で接続型プロトコル基盤のサービスを支援するためのシステム

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