CN110955851B - 一种网络请求处理方法、系统、计算设备 - Google Patents
一种网络请求处理方法、系统、计算设备 Download PDFInfo
- Publication number
- CN110955851B CN110955851B CN201911206229.XA CN201911206229A CN110955851B CN 110955851 B CN110955851 B CN 110955851B CN 201911206229 A CN201911206229 A CN 201911206229A CN 110955851 B CN110955851 B CN 110955851B
- Authority
- CN
- China
- Prior art keywords
- network
- network request
- request
- content
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了网络请求处理方法,适于在计算设备中执行,该方法包括步骤:接收客户端发送的第一网络请求并记录,第一网络请求适于向网络服务器请求网络内容,生成第二网络请求,第二网络请求为处理所述网络内容而发出的、到所述网络服务器的请求,获取网络服务器处理所述第二网络请求而返回的返回结果,根据第一网络请求和返回结果构造静态文件,将静态文件存储到内容分发服务器中,并获取内容分发服务器存储该静态文件的网络地址,相关联地存储第一网络请求的地址信息和静态文件的地址信息。本发明还公开了相应的系统及计算设备。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种网络请求处理方法、系统、计算设备。
背景技术
针对互联网应用中大量网络请求并发的情况,例如促销活动的秒杀或者以应用程序接口来请求页面,这些网络请求要到后端处理、再反馈到前端展现出来,然而后端有限的吞吐能力很难保证网页的及时响应,导致页面访问速度慢,使得现在互联网后端稳定性要求越来越高,尤其是对于后端接口的防冲击能力要求更高。
目前提升后端服务的抗压能力有两种解决方案。
最有代表性的就是扩容服务器资源,以便快速提升服务的CPU计算能力和IO吞吐能力,可以通过手动增加服务器部署的方式,也可以通过接入容器编排技术做容器化部署,以便利用到容器化部署的弹性扩容的计算做自动化扩容。然而即便容器自动化扩容部署也会比较慢,且容易造成资源浪费。扩容后的服务器资源成本较大,而且普通单个接口的响应文本大小都比较小,导致GZIP压缩效比很低,带来带宽浪费。
另外就是熔断降级服务,也即过载保护。一般是当服务请求的流速超过一定阈值之后,直接拦截这部分超出的请求,前端效果一般是接口响应异常。另外一种处理方式是返回给前端一个固定的异常报文或者空数据等。然而超出阈值的这部分流量的来源并不能很好定位和追踪,导致不能明确实际的影响范围,且通过直接拒绝用户的方式虽然可以保障后端服务自身的稳定性,但这种方案会影响部分用户的用户体验。
发明内容
为此,本发明提供了一种网络请求处理方法、系统、计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种网络请求处理方法,适于在计算设备中执行,该方法包括步骤:接收客户端发送的第一网络请求并记录,第一网络请求适于向网络服务器请求网络内容;生成第二网络请求,第二网络请求为处理网络内容而发出的、到网络服务器的请求;获取网络服务器处理第二网络请求而返回的返回结果;根据第一网络请求和返回结果构造静态文件;将静态文件存储到内容分发服务器中,并获取内容分发服务器存储该静态文件的网络地址;相关联地存储第一网络请求的地址信息和静态文件的地址信息。
可选地,在根据本发明的网络请求处理方法中,构造静态文件的步骤包括:根据第一网络请求的地址信息和发送第二网络请求的时间信息构造文件名;根据返回结果构造文件内容;根据文件名和文件内容构造静态文件。
可选地,在根据本发明的网络请求处理方法中,构造静态文件的步骤还包括:定时向网络服务器发送第二网络请求,以获取与第二网络请求相对应的返回结果;若返回结果发生了改变,则重新构造静态文件。
可选地,在根据本发明的网络请求处理方法中,第二网络请求有多个,第二网络请求与网络内容包含的URL对应。
可选地,在根据本发明的网络请求处理方法中,静态文件的文件内容格式为json,文件内容包括第二网络请求对应的URL和第二网络请求的返回结果,其中,每个第二网络请求对应的URL为key,每个第二网络请求的返回结果为value。
可选地,在根据本发明的网络请求处理方法中,第一网络请求所请求的网络内容至少包含一个页面。
可选地,在根据本发明的网络请求处理方法中,还包括步骤:接收客户端发送的第三网络请求,第三网络请求包含第一网络请求的地址信息;根据第三网络请求所包含的第一网络请求的地址信息从关联存储位置获取与地址信息对应的静态文件的网络地址,并返回给客户端,以便客户端根据静态文件的网络地址从内容分发网络服务器获取静态文件。
可选地,在根据本发明的网络请求处理方法中,当关联存储位置未存储第三请求的地址信息时,第三请求向网络服务器请求返回结果。
根据本发明的又一个方面,提供了一种网络请求处理系统,包括:静态化录制服务器,适于接收客户端发送的第一网络请求并记录,第一网络请求适于向网络服务器请求网络内容,生成第二网络请求,第二网络请求为处理网络内容而发出的、到网络服务器的请求,获取网络服务器处理第二网络请求而返回的返回结果,并根据第一网络请求和返回结果构造静态文件;静态化缓存服务器,适于将静态文件存储到内容分发服务器中,并获取内容分发服务器存储静态文件的网络地址,相关联地存储第一网络请求的地址信息和静态文件的地址信息;静态化接口服务器,适于接收客户端发送的第三网络请求,第三网络请求包含第一网络请求的地址信息,根据第三网络请求所包含的第一网络请求的地址信息从关联存储位置获取与地址信息对应的静态文件的网络地址,并返回给客户端,以便客户端根据静态文件的网络地址从内容分发网络服务器获取静态文件。
可选地,在根据本发明的网络请求处理系统中,静态化录制服务器进一步适于:根据第一网络请求的地址信息和发出第二网络请求的时间信息构造文件名;根据返回结果构造文件内容;根据文件名和文件内容构造静态文件。
可选地,在根据本发明的网络请求处理系统中,静态化录制服务器进一步适于:定时向网络服务器发送第二网络请求,以获取与第二网络请求相对应的返回结果;若返回结果发生了改变,则重新构造静态文件。
可选地,在根据本发明的网络请求处理系统中,第二网络请求有多个,第二网络请求与网络内容包含的URL对应。
可选地,在根据本发明的网络请求处理系统中,静态文件的文件内容格式为json,文件内容包括第二网络请求对应的URL和第二网络请求的返回结果,其中,每个第二网络请求对应的URL为key,每个第二网络请求的返回结果为value。
可选地,在根据本发明的网络请求处理系统中,第一网络请求所请求的网络内容至少包含一个页面。
可选地,在根据本发明的网络请求处理系统中,静态化接口服务器进一步适于:关联存储位置未存储第三请求的地址信息时,第三请求向网络服务器请求返回结果。
根据本发明的又一个方面,提供了一种计算设备,包括至少一个处理器;以及存储器,存储有程序指令,其中程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行根据本发明的网络请求处理方法的指令。
根据本发明的又一个方面,提供了一种存储有程序指令的可读存储介质,当该程序指令被客户端读取并执行时,使得客户端执行本发明的网络请求处理方法。
根据本发明的技术方案,这样,当客户端发起第一网络请求时,根据第一网络请求所请求的网络内容生成第二网络请求,多个第二网络请求向网络服务器请求返回结果,返回结果即对应网络内容中的动态资源,动态资源指原本需要和后端交互才能呈现的内容。根据第一网络请求和该返回结果构造静态文件,并存储到内容分发服务器,获取内容分发服务器存储该静态文件的地址,计算设备只需要相关联地存储第一网络请求的地址信息和静态文件的网络地址。
而后,在计算设备上接收客户端发送的第三网络请求时,对于新的第三网络请求,如果第三网络请求包含第一网络请求的地址信息,只需要根据该地址信息获取之前存储的对应的静态文件的网络地址,并返回给客户端,客户端根据静态文件的网络地址即可从内容分发网络服务器获取该静态文件。对于包含相同地址信息的网络请求,在第一次发出请求时,就已经将原本需要和后端交互才能呈现的资源存储到内容分发服务器,这些资源存在于所请求的网络内容下。当大量网络请求并发时,只需要在计算设备上获取之前存储的对应的静态文件的网络地址就能返回所请求的页面,能够减少对网络服务器的直接访问,减少接口数据网络输出,降低数据吞吐压力。避免当某些页面访问频率较高但变化频率较低的情况直接访问网络服务器而造成的较高的浪费。
同时如果第二网络请求的返回结果有变更,内容分发服务器中存储的静态文件也会及时更新。综上,本方案有用户体验好,传输数据少,减少对后端服务冲击同时接入成本低等优点。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的计算设备100的构造示意图;
图2示出了根据本发明的一个实施例的网络请求处理方法200的流程图;
图3示出了根据本发明的又一个实施例的网络请求处理方法300的流程图;
图4示出了根据本发明的一个实施例的网络请求处理系统400的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的应用场景包含录制客户端,静态化系统,内容分发服务器,和一般的网络服务器。本发明提供了一种基于前端页面向后端发送请求的所有接口响应数据静态化的方法,同时也支持针对指定接口URL进行定制静态化,而且支持针对已经静态化的接口数据做增量快速同步更新机制。该方法在应用场景中的静态化系统中执行,具体地,静态化系统会录制客户端发起的页面请求,页面请求原本向网络服务器请求网络内容,开始静态化录制的时候会把页面请求都代理到这个服务的静态化系统上,根据网络内容中包含的URL将多个接口的响应结果保存到文本文件中存储起来,同时把此文件推送内容分发服务器进行存储。静态化系统在图1示例的计算设备中执行。
图1是示例计算设备100的框图。在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。程序数据124包括指令,在根据本发明的计算设备100中,程序数据124包含用于执行方法200的指令。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机及包括上面功能的服务器。
图2示出了根据本发明的一个实施例的网络请求处理方法200的流程图。方法200适于在计算设备(例如前述计算设备100)中执行。如图2所示,网络请求处理方法始于步骤210。
在步骤S210中,接收客户端发送的第一网络请求并记录,第一网络请求适于向网络服务器请求网络内容。
具体来说,当用户想要访问一个页面时,客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行、请求头部、空行和请求数据四个部分组成。HTTP是一个属于应用层的面向对象的协议,适用于分布式超媒体信息系统。当客户端同计算设备建立连接后,请求的域名将指向计算设备,计算设备收到请求命令,这时计算设备对请求命令做出处理,将处理后的请求命令转发给网络服务器,等待网络服务器做出响应,然后将得到的响应做出处理,将处理后的响应发给客户端。
这样,第一网络请求向网络服务器发出请求,网络服务器返回路径,用户根据路径获取网络内容,网络内容上包含各种URL。本发明对包含URL的网络内容不做限制,网络内容可以为页面内容,也可以为接口内容。
根据本发明的一个实施例,第一网络请求所请求的网络内容至少包含一个页面。该页面为一个客户端浏览器展示的一个页面,例如百度网的网页,或者,为一个向用户展示的场景,例如线上的VR-3D展馆。另外,第一网络请求所请求的网络内容还可以为一个接口,例如客户端的一个应用程序接口。
接着在步骤S220中,生成第二网络请求,第二网络请求为处理网络内容而发出的、到网络服务器的请求。
具体地,步骤S210中获取的网络内容通常为一个页面,页面上包含各种URL,其中部分URL对应的请求是需要后端处理的,如.jsp、.do等。。计算设备在接收到网络内容后,根据页面上的URL生成第二网络请求。
根据本发明的一个实施例,第二网络请求有多个,第二网络请求与步骤S210中获取的网络内容包含的URL对应,第二网络请求为处理网络内容而发出的、到网络服务器的请求。第二网络请求适于向网络服务器请求某个URL的响应信息,这些URL存在于第一网络请求向网络服务器请求的网络内容中,即第一网络请求和第二网络请求是1:n的关系。需要指出的是,并不是网络内容中所有的URL都会对应生成一个第二网络请求,无需生成第二网络请求的URL可以在网络内容中提前设置。例如有些URL对应的请求是不需要经过后端处理的,例如css、html、jpg、js等,这些URL无需生成第二网络请求。
然后在步骤S230中,获取网络服务器处理第二网络请求而返回的返回结果。第二网络请求有多个,第二网络请求适于向网络服务器请求某个URL的响应信息,这些URL存在于第一网络请求向网络服务器请求的网络内容中。
具体地,根据网络内容中设置的URL,生成相应的HTTP请求,抓取网络服务器响应这些HTTP请求的实时数据,每个第二网络请求都有相对应的返回结果。
随后在步骤S240中,根据第一网络请求和返回结果构造静态文件。
根据本发明的一个实施例,根据步骤S210中第一网络请求的地址信息和发出第二网络请求的时间信息构造文件名,根据步骤S230中的第二网络请求的返回结果构造文件内容,根据文件名和文件内容构造静态文件。
具体来说,接收客户端发送的第一网络请求并记录,当第一网络请求的维度为页面时根据其地址信息生成页面URL,当第一网络请求的维度为接口时根据其地址信息生成一固定值,根据发出第二网络请求的时间信息对应生成版本号,根据生成的值和版本号构造文件名。
例如文件名PageUrl_00001,PageUrl即根据第一网络请求的地址信息生成的值,该值为页面URL或者对应接口的固定值,00001即版本号,取最大为最新。值得注意的是,上述以时间信息对应生成版本号仅是一种示例性表述,在实际实现的时候,可以根据需要选择其它类型的标识信息作为版本号,本申请对此不作限定,只要是能实现随文件内容不同而自动改变文件版本号都可以。
静态文件的文件内容格式为JSON,文件内容包括第二网络请求对应的URL和第二网络请求的返回结果,其中每个第二网络请求的URL为key,每个第二网络请求的返回结果为value。JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。对象在JS中是使用花括号包裹{}起来的内容,数据结构为{key1:value1,key2:value2,...}的键值对结构。在面向对象的语言中,key为对象的属性,value为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。
例如文件内容{[ApiUrl_1,ApiResponse_1]...[ApiUrl_n,ApiResponse_n]},ApiUrl即步骤S210中获取的网络内容中包含的URL,ApiResponse即第二请求对应的返回结果,第二网络请求对应一个URL而生成。
根据本发明的一个实施例,根据第一网络请求和返回结果构造静态文件还包括文件内容更新的步骤。文件内容更新步骤包括定时向网络服务器发送第二网络请求,以获取与第二网络请求相对应的返回结果,若返回结果发生了改变,则重新构造该静态文件。具体地,返回结果发生的改变可能是网络内容中包含的URL增加或减少,例如对于文件内容{[ApiUrl_1,ApiResponse_1]...[ApiUrl_n,ApiResponse_n]},即ApiUrl的数量和内容发生了变化。返回结果发生的改变还可能使网络内容中包含的URL对应的第二请求的返回结果发生了变化,例如对于文件内容{[ApiUrl_1,ApiResponse_1]...[ApiUrl_n,ApiResponse_n]},即某个ApiUrl对应的ApiResponse发生了变化。
重新构造静态文件的步骤包括,根据第一网络请求的地址信息和发出第二网络请求的时间信息构造文件名,根据与第二网络请求相对应的返回结果构造文件内容,根据文件名和文件内容构造静态文件。例如,对于文件名PageUrl_00001,重新构造静态文件时,因为发出第二网络请求的时间信息发生了变化,则文件名变更为PageUrl_00002,当发出第二网络请求的时间信息再次发生变化时,文件名变更为PageUrl_00003。在实际实现的时候,文件名中版本号的具体变化方式本申请对此不作限定,只要是能实现随文件内容不同而自动改变文件版本号、且版本号最大即文件内容为最新都可以。
随后在步骤S250中,将静态文件存储到内容分发服务器中,并获取内容分发服务器存储静态文件的网络地址。
将步骤S240中构造的静态文件存储到内容分发服务器中,内容分发服务器是一种集群页面缓存服务器,通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,内容分发服务器能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决网络拥挤的状况,一方面加速用户访问速度,另一方面也减轻后端服务器的负载压力。将静态文件存储到内容分发服务器中后,获取内容分发服务器存储静态文件的网络地址。值得指出的是,在返回结果发生了改变、重新构造后的静态文件中,所获取的静态文件的地址为静态文件名中时间信息最近的静态文件的地址。根据本发明的一个实施例,版本号最大即文件内容为最新,例如对于文件名为PageUrl_00001、PageUrl_00002、PageUrl_00003的静态文件,所获取的静态文件的网络地址为PageUrl_00003存储在内容分发服务器中的地址。
最后在步骤S260中,相关联地存储第一网络请求的地址信息和静态文件的地址信息。
具体来说,第一网络请求的地址信息,对应于接收客户端发送的第一网络请求并记录,当第一网络请求的维度为页面时根据其地址信息生成页面URL,当第一网络请求的维度为接口时根据其地址信息生成一固定值。将内容分发服务器存储静态文件的地址存储到本地,即将PageUrl和内容分发服务器存储静态文件的网络地址进行相关联的存储,PageUrl即页面URL或者对应接口的固定值。
这样,当客户端发起第一网络请求时,根据第一网络请求所请求的网络内容生成第二网络请求,多个第二网络请求向网络服务器请求返回结果,返回结果即对应网络内容中的动态资源,动态资源指原本需要和后端交互才能呈现的内容。根据第一网络请求和该返回结果构造静态文件,并存储到内容分发服务器,获取内容分发服务器存储该静态文件的地址,计算设备只需要相关联地存储第一网络请求的地址信息和静态文件的网络地址。同时如果第二网络请求的返回结果有变更,内容分发服务器中存储的静态文件也会及时更新。
图3示出了根据本发明的又一个实施例的网络请求处理方法。
步骤S310中,接收客户端发送的第一网络请求并记录,第一网络请求适于向网络服务器请求网络内容。当客户端同计算设备建立连接后,请求的域名将指向计算设备,计算设备收到请求命令,这时计算设备对请求命令做出处理,将处理后的请求命令转发给网络服务器,等待网络服务器做出响应,然后将得到的响应做出处理,将处理后的响应发给客户端。
这样,第一网络请求向网络服务器发出请求,网络服务器返回页面路径,用户根据路径看到网络内容,网络内容通常为一个页面,页面上包含各种URL。根据第一网络请求所请求的网络内容将第一请求的维度分为页面、接口。根据本发明的一个实施例,第一网络请求所请求的网络内容至少包含一个页面。
步骤S320中,生成第二网络请求,第二网络请求为处理网络内容而发出的、到网络服务器的请求。第二网络请求有多个,第二网络请求与步骤S310中获取的网络内容包含的URL对应,第二网络请求为处理网络内容而发出的、到网络服务器的请求,无需生成第二网络请求的URL可以在网络内容中提前设置。
然后在步骤S330中,获取网络服务器处理第二网络请求而返回的返回结果。第二网络请求有多个,每个第二网络请求都有相对应的返回结果。
随后在步骤S340中,根据第一网络请求和返回结果构造静态文件。
根据步骤S310中第一网络请求的地址信息和发出第二网络请求的时间信息构造文件名,根据步骤S230中的第二网络请求的返回结果构造文件内容,根据文件名和文件内容构造静态文件。根据第一网络请求和返回结果构造静态文件还包括文件内容更新的步骤。文件内容更新步骤包括定时向网络服务器发送第二网络请求,以获取与第二网络请求相对应的返回结果,若返回结果发生了改变,则重新构造该静态文件。
随后在步骤S350中,将静态文件存储到内容分发服务器中,并获取内容分发服务器存储静态文件的网络地址。
在步骤S360中,相关联地存储第一网络请求的地址信息和静态文件的地址信息。具体地,根据第一网络请求的地址信息生成PageUrl即页面URL或者对应接口的固定值,将PageUrl和内容分发服务器存储静态文件的网络地址进行相关联的存储。至此,计算设备完成了特定的第一网络请求的地址信息和对应的静态文件的网络地址相关联的存储,静态文件指向第一网络请求所请求的网络内容下可能生成的所有或部分页面。
步骤S370中,接收客户端发送的第三网络请求,第三网络请求包含第一网络请求的地址信息。具体地,根据第三网络请求的地址信息生成PageUrl即页面URL或者对应接口的固定值。当关联存储位置未存储第三请求的地址信息时,第三请求向网络服务器请求返回结果。
在步骤S380中,根据第三网络请求所包含的第一网络请求的地址信息从关联存储位置获取与地址信息对应的静态文件的网络地址,并返回给客户端。如果第三网络请求包含第一网络请求的地址信息,只需要根据该地址信息获取之前存储的对应的静态文件的网络地址。
在步骤S390中,客户端根据静态文件的网络地址从内容分发网络服务器获取静态文件。内容分发服务器直接返回已经存储的静态文件,无需再去原本的网络服务器获取数据。
这样,对于包含相同地址信息的网络请求,在第一次发出请求时,就已经将原本需要和后端交互才能呈现的资源存储到内容分发服务器,这些资源存在于所请求的网络内容下。当大量网络请求并发时,只需要在计算设备上获取之前存储的对应的静态文件的网络地址就能返回所请求的页面,能够减少对网络服务器的直接访问,减少接口数据网络输出,降低数据吞吐压力。避免当某些页面访问频率较高但变化频率较低的情况直接访问网络服务器而造成的较高的浪费。
图4示出了根据本发明一个实施例的一种网络请求处理系统400的示意图。如图4所示,网络请求处理系统400包括静态化录制服务器410、静态化缓存服务器420和静态化接口服务器430。网络请求处理系统即可实现为前述静态化系统。
静态化录制服务器410,适于接收客户端发送的第一网络请求并记录,第一网络请求适于向网络服务器请求网络内容,生成第二网络请求,第二网络请求为处理网络内容而发出的、到网络服务器的请求,获取网络服务器处理第二网络请求而返回的返回结果,并根据第一网络请求和返回结果构造静态文件。其中,第二网络请求有多个,第二网络请求与网络内容包含的URL对应。静态文件的文件内容格式为json,文件内容包括第二网络请求对应的URL和第二网络请求的返回结果,其中,每个第二网络请求对应的URL为key,每个第二网络请求的返回结果为value。第一网络请求所请求的网络内容至少包含一个页面。
静态化缓存服务器420,适于将静态文件存储到内容分发服务器中,并获取内容分发服务器存储静态文件的网络地址,相关联地存储第一网络请求的地址信息和所述静态文件的地址信息。
静态化接口服务器430,适于接收客户端发送的第三网络请求,第三网络请求包含第一网络请求的地址信息,根据第三网络请求所包含的第一网络请求的地址信息从关联存储位置获取与地址信息对应的静态文件的网络地址,并返回给客户端,以便客户端根据静态文件的网络地址从内容分发网络服务器获取静态文件。
静态化录制服务器410进一步适于:根据第一网络请求的地址信息和发出第二网络请求的时间信息构造文件名;根据返回结果构造文件内容;根据文件名和文件内容构造静态文件。
静态化录制服务器410进一步适于:定时向网络服务器发送第二网络请求,以获取与第二网络请求相对应的返回结果;若返回结果发生了改变,则重新构造静态文件。
静态化接口服务器430进一步适于:关联存储位置未存储第三请求的地址信息时,第三请求向网络服务器请求返回结果。
A6、如A1-A5中任一项所述的方法,所述第一网络请求所请求的网络内容至少包含一个页面。
A10、如A9所述的系统,所述静态化录制服务器进一步适于:
根据第一网络请求的地址信息和发出所述第二网络请求的时间信息构造文件名;
根据所述返回结果构造文件内容;
根据所述文件名和文件内容构造静态文件。
A11、如A9-A10中任一项所述的系统,所述静态化录制服务器进一步适于:
定时向所述网络服务器发送所述第二网络请求,以获取与所述第二网络请求相对应的返回结果;
若所述返回结果发生了改变,则重新构造所述静态文件。
A12、如A9-A11中任一项所述的系统,其中所述第二网络请求有多个,所述第二网络请求与所述网络内容包含的URL对应。
A13、如A9-A12中任一项所述的系统,其中所述静态文件的文件内容格式为json,所述文件内容包括第二网络请求对应的URL和第二网络请求的返回结果,其中,每个所述第二网络请求对应的URL为key,每个所述第二网络请求的返回结果为value。
A14、如A9-A13中任一项所述的系统,其中所述第一网络请求所请求的网络内容至少包含一个页面。
A15、如权利要求A9-A14任一项所述的系统,所述静态化接口服务器进一步适于:
所述关联存储位置未存储所述第三请求的地址信息时,所述第三请求向网络服务器请求返回结果。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (12)
1.一种网络请求处理方法,所述方法适于在计算设备中执行,所述计算设备与网络服务器通信连接,所述方法包括步骤:
接收客户端发送的第一网络请求并记录,所述第一网络请求适于向网络服务器请求网络内容,所述网络内容包含多个URL;
生成第二网络请求,所述第二网络请求为处理所述网络内容而发出的、到所述网络服务器的请求,其中,所述第二网络请求有多个,所述第二网络请求与所述网络内容包含的URL对应,若所述多个URL中的有些URL对应的请求不需要经过后端处理,则这些URL无需生成第二网络请求;
获取所述网络服务器处理所述第二网络请求而返回的返回结果,所述返回结果是所述网络内容中的动态资源,所述动态资源指原本需要和后端交互才能呈现的内容;
根据所述第一网络请求和所述返回结果构造静态文件,包括:定时向所述网络服务器发送所述第二网络请求,以获取与所述第二网络请求相对应的返回结果,若所述返回结果发生了改变,则重新构造所述静态文件;
将所述静态文件存储到内容分发服务器中,并获取所述内容分发服务器存储所述静态文件的网络地址;
相关联地存储所述第一网络请求的地址信息和所述静态文件的地址信息;
接收客户端发送的第三网络请求,所述第三网络请求包含所述第一网络请求的地址信息,根据所述第三网络请求所包含的第一网络请求的地址信息从关联存储位置获取与所述地址信息对应的静态文件的网络地址,并返回给所述客户端,以便所述客户端根据所述静态文件的网络地址从内容分发服务器获取所述静态文件。
2.如权利要求1所述的方法,所述构造静态文件的步骤包括:
根据第一网络请求的地址信息和发出所述第二网络请求的时间信息构造文件名;
根据所述返回结果构造文件内容;
根据所述文件名和文件内容构造静态文件。
3.如权利要求1所述的方法,所述静态文件的文件内容格式为json,所述文件内容包括第二网络请求对应的URL和第二网络请求的返回结果,其中,每个所述第二网络请求对应的URL为key,每个所述第二网络请求的返回结果为value。
4.如权利要求1所述的方法,所述第一网络请求所请求的网络内容至少包含一个页面。
5.如权利要求1所述的方法,当所述关联存储位置未存储所述第三网络请求的地址信息时,所述第三网络请求向网络服务器请求返回结果。
6.一种网络请求处理系统,包括:
静态化录制服务器,适于:接收客户端发送的第一网络请求并记录,所述第一网络请求适于向网络服务器请求网络内容,所述网络内容包含多个URL;生成第二网络请求,所述第二网络请求为处理所述网络内容而发出的、到所述网络服务器的请求,其中,所述第二网络请求有多个,所述第二网络请求与所述网络内容包含的URL对应,若所述多个URL中的有些URL对应的请求不需要经过后端处理,则这些URL无需生成第二网络请求;获取所述网络服务器处理所述第二网络请求而返回的返回结果,所述返回结果是所述网络内容中的动态资源,所述动态资源指原本需要和后端交互才能呈现的内容;根据所述第一网络请求和所述返回结果构造静态文件,包括:定时向所述网络服务器发送所述第二网络请求,以获取与所述第二网络请求相对应的返回结果,若所述返回结果发生了改变,则重新构造所述静态文件;
静态化缓存服务器,适于将所述静态文件存储到内容分发服务器中,并获取所述内容分发服务器存储所述静态文件的网络地址,相关联地存储所述第一网络请求的地址信息和所述静态文件的地址信息;
静态化接口服务器,适于接收客户端发送的第三网络请求,所述第三网络请求包含所述第一网络请求的地址信息,根据所述第三网络请求所包含的第一网络请求的地址信息从关联存储位置获取与所述地址信息对应的静态文件的网络地址,并返回给所述客户端,以便所述客户端根据所述静态文件的网络地址从内容分发网络服务器获取所述静态文件。
7.如权利要求6所述的系统,所述静态化录制服务器进一步适于:
根据第一网络请求的地址信息和发出所述第二网络请求的时间信息构造文件名;
根据所述返回结果构造文件内容;
根据所述文件名和文件内容构造静态文件。
8.如权利要求6所述的系统,其中所述静态文件的文件内容格式为json,所述文件内容包括第二网络请求对应的URL和第二网络请求的返回结果,其中,每个所述第二网络请求对应的URL为key,每个所述第二网络请求的返回结果为value。
9.如权利要求6所述的系统,其中所述第一网络请求所请求的网络内容至少包含一个页面。
10.如权利要求6所述的系统,所述静态化接口服务器进一步适于:
所述关联存储位置未存储所述第三网络请求的地址信息时,所述第三网络请求向网络服务器请求返回结果。
11.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-5所述的网络请求处理方法的指令。
12.一种存储有程序指令的可读存储介质,当所述程序指令被客户端读取并执行时,使得所述客户端执行如权利要求1-5中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911206229.XA CN110955851B (zh) | 2019-11-29 | 2019-11-29 | 一种网络请求处理方法、系统、计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911206229.XA CN110955851B (zh) | 2019-11-29 | 2019-11-29 | 一种网络请求处理方法、系统、计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110955851A CN110955851A (zh) | 2020-04-03 |
CN110955851B true CN110955851B (zh) | 2023-05-26 |
Family
ID=69979302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911206229.XA Active CN110955851B (zh) | 2019-11-29 | 2019-11-29 | 一种网络请求处理方法、系统、计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955851B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253941A (zh) * | 2010-05-21 | 2011-11-23 | 卓望数码技术(深圳)有限公司 | 一种缓存更新方法和缓存更新装置 |
CN102591963A (zh) * | 2011-12-30 | 2012-07-18 | 奇智软件(北京)有限公司 | 网页内容加载控制方法及装置 |
CN106101231B (zh) * | 2014-12-22 | 2020-02-21 | 北京奇虎科技有限公司 | 通过cdn下载资源的实现方法和装置、服务器、客户端 |
CN107465707B (zh) * | 2016-06-03 | 2021-02-02 | 阿里巴巴集团控股有限公司 | 一种内容分发网络的内容刷新方法及装置 |
CN107465722B (zh) * | 2017-07-04 | 2021-07-09 | 创新先进技术有限公司 | Web访问的实现方法和装置 |
CN110020278B (zh) * | 2017-09-08 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 页面数据的展示、提供方法、客户端及服务器 |
-
2019
- 2019-11-29 CN CN201911206229.XA patent/CN110955851B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110955851A (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427766B (zh) | 一种请求处理方法、装置和代理服务器 | |
CN108153798B (zh) | 页面信息处理方法、装置及系统 | |
US11516317B2 (en) | Processing data in a network | |
WO2017190641A1 (zh) | 拦截爬虫的方法、装置、服务器终端以及计算机可读介质 | |
CN109376318B (zh) | 一种页面加载方法、计算机可读存储介质及终端设备 | |
CN104754073A (zh) | 一种资源访问方法及装置 | |
US10742763B2 (en) | Data limit aware content rendering | |
TW201545520A (zh) | 獲取網頁的方法、系統、網路伺服器、瀏覽器和gslb | |
US9407727B1 (en) | Optimizing communications using client-side reconstruction scripting | |
WO2015106692A1 (en) | Webpage pushing method, client, server, and system | |
US10467790B2 (en) | On-demand image spriting | |
CN111177664B (zh) | 水印信息添加方法、服务器及系统 | |
CN113312032B (zh) | 前端项目资源更新方法、装置、电子设备及存储介质 | |
US20210192563A1 (en) | Webpage advertisement anti-blocking method, content delivery network, and client terminal | |
CN109558378A (zh) | 文件管理方法、装置、设备及存储介质 | |
WO2012171391A1 (zh) | 一种访问网络资源的优化方法、网页浏览器和终端 | |
CN111339057A (zh) | 减少回源请求的方法、装置及计算机可读存储介质 | |
CN105393247A (zh) | 一种网页优化的设备及方法 | |
US20150120861A1 (en) | Method and device for obtaining contents of page, application apparatus and mobile terminal | |
CN113438302A (zh) | 动态资源多级缓存方法、系统、计算机设备及存储介质 | |
CN113538024B (zh) | 广告管理方法、系统及内容传输网络设备 | |
CN110955851B (zh) | 一种网络请求处理方法、系统、计算设备 | |
CN107508705B (zh) | 一种http元素的资源树构建方法及计算设备 | |
CN116150513A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN109710604A (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 |