CN113641512B - 一种Ajax请求的合并处理方法、系统、设备和存储介质 - Google Patents
一种Ajax请求的合并处理方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN113641512B CN113641512B CN202110797983.6A CN202110797983A CN113641512B CN 113641512 B CN113641512 B CN 113641512B CN 202110797983 A CN202110797983 A CN 202110797983A CN 113641512 B CN113641512 B CN 113641512B
- Authority
- CN
- China
- Prior art keywords
- request
- ajax
- ajax request
- processing
- unique identifier
- 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
- 238000000034 method Methods 0.000 title claims abstract description 133
- 238000012545 processing Methods 0.000 title claims abstract description 97
- 230000004044 response Effects 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims description 49
- 230000006870 function Effects 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 14
- 230000003993 interaction Effects 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 6
- 230000005291 magnetic effect Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000003672 processing method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出了一种Ajax请求的合并处理方法、系统、设备和存储介质,运行于服务器端,包括:接收特定格式的Ajax请求;针对Ajax请求格式设置缓存域以及根据请求内容计算会话的唯一标识,对Ajax请求采用分进程处理;响应于Ajax请求的回调函数,并将分进程处理后的第一数据发送至浏览器端,并获取浏览器处理后的第二数据;接收第二数据,并判断每次接收Ajax请求的唯一标识与位于缓存域中的唯一标识是否相同,如果相同,采用分进程处理完所有的请求。基于该方法,还提出了一种Ajax请求的合并处理系统、设备和存储介质。本发明能使得响应速度较快的请求优先返回结果,同时多个合并后只占用一个浏览器请求,降低带宽压力。
Description
技术领域
本发明属于请求处理技术领域,特别涉及一种Ajax请求的合并处理方法、系统、设备和存储介质。
背景技术
Ajax,即Asynchronous JavaScript and XML,异步JavaScript和XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,使网页实现异步更新。这意味着可以在不重载整个页面的情况下,对网页的某些部分进行更新。传统的网页,即不使用Ajax如果需要更新内容,必须重载整个页面。
Ajax技术在web系统中广泛应用,目的为了提高页面响应速度。实际应用中当一次发送大量ajax请求时,受浏览器机制限制,同时最多支持6个请求,当前有6个请求响应时间较长,会导致浏览器失去响应,新的请求也无法发出。用户体验下降。
发明内容
为了解决上述技术问题,本发明提出了一种Ajax请求的合并处理方法、系统、设备和存储介质,本发明针对存在大量重复请求,或者非重复请求的页面加载过程中会出现明显卡顿的情况,能使得响应速度较快的请求优先返回结果,同时多个合并后只占用一个浏览器请求,降低带宽压力。
为实现上述目的,本发明采用以下技术方案:
一种Ajax请求的合并处理方法,运行于服务器端,包括以下步骤:
接收特定格式的Ajax请求;
针对所述Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识,对所述Ajax请求采用所述Ajax请求的分进程处理;
响应于Ajax请求的回调函数,并将所述分进程处理后的第一数据发送至浏览器端,并获取浏览器处理后的第二数据;
接收所述第二数据,并判断每次接收Ajax请求的唯一标识与位于所述缓存域中的唯一标识是否相同,如果相同,采用分进程处理完所有的Ajax请求。
进一步的,所述特定格式的Ajax请求来自浏览器端;所述浏览器端以json的格式合并请求参数得到特定格式的Ajax请求。
进一步的,所述浏览器端以json的格式合并请求参数之后还定义超时时间计时器和定义合并的请求数量。
进一步的,所述浏览器用于设置所述Ajax请求的回调函数;所述回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据。
进一步的,所述对所述Ajax请求采用所述Ajax请求的分进程处理的过程为:
判断是否存在所述唯一标识,如果存在或者Ajax请求的格式满足合并请求,则处理缓存域中Ajax请求,直到全部处理完成销毁唯一标识;如果不存在,则按照正常流程并发送至浏览器端。
进一步的,所述根据所述Ajax请求内容计算会话的唯一标识的方法为:根据所述Ajax请求内容哈希计算会话的唯一标识。
一种Ajax请求的合并处理系统,包括接收模块、处理模块、响应模块和判断模块;
所述接收模块用于接收特定格式的Ajax请求;
所述处理模块用于针对所述Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识,对所述Ajax请求采用所述Ajax请求的分进程处理;
所述响应模块用于响应于Ajax请求的回调函数,并将所述分进程处理后的第一数据发送至浏览器端,并获取浏览器处理后的第二数据;
所述判断模块用于接收所述第二数据,并判断每次接收Ajax请求的唯一标识与位于所述缓存域中的唯一标识是否相同,如果相同,采用分进程处理完所有的Ajax请求。
进一步的,所述系统还包括定义模块;
所述定义模块用于定义超时时间计时器和定义合并的请求数量。
本发明还提出了一种设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的方法步骤。
本发明还提出了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的方法步骤。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本发明提出了提出了一种Ajax请求的合并处理方法、系统、设备和存储介质,该方法运行于服务器端,包括以下步骤:接收特定格式的Ajax请求;针对Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识,对所述Ajax请求采用所述Ajax请求的分进程处理;响应于Ajax请求的回调函数,并将分进程处理后的第一数据发送至浏览器端,并获取浏览器处理后的第二数据;接收所述第二数据,并判断每次接收Ajax请求的唯一标识与位于缓存域中的唯一标识是否相同,如果相同,采用分进程处理完所有的Ajax请求。本发明针对存在大量重复请求,或者非重复请求的页面加载过程中会出现明显卡顿的情况,在服务器和浏览器间交互,在服务端缓存机制接收中间响应数据和对同一uuid识别同一请求,能使得响应速度较快的请求优先返回结果,同时多个合并后只占用一个浏览器请求,降低带宽压力。
基于本发明一种Ajax请求的合并处理方法,还提出了一种Ajax请求的合并处理系统、设备和存储介质,也同样具有上述技术效果,即针对存在大量重复请求,或者非重复请求的页面加载过程中会出现明显卡顿的情况,在服务器和浏览器间交互,在服务端缓存机制接收中间响应数据和对同一uuid识别同一请求,能使得响应速度较快的请求优先返回结果,同时多个合并后只占用一个浏览器请求,降低带宽压力。
附图说明
如图1为本发明实施例1一种Ajax请求的合并处理方法中服务器端流程图;
如图2为本发明实施例1一种Ajax请求的合并处理方法中浏览器端流程图;
如图3为本发明实施例2一种Ajax请求的合并处理系统示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例1
本发明实施例1提出了一种Ajax请求的合并处理方法,在服务器和浏览器间交互,实现Ajax请求的合并。
浏览器端以json格式合并请求参数,形如[{index,value},{index1,value1}]。
浏览器端定义超时时间计时器usedtime、合并的请求数量reques tcount。
服务器端接收Ajax请求,针对Ajax请求格式设置缓存域以及根据Ajax请求内容计算会话的唯一标识,其中计算会话的唯一标识的方法为:哈希计算会话的唯一标识UUID,能为接收的请求拆分为原有请求分进程处理,每隔3秒统一接收一次数据,记录当前状态result为全部完成(true)或者部分完成(false),并将已返回数据按特定格式的形式返回浏览器端。本发明保护的范围不局限于实施例1中列出的时间,根据本发明的方法步骤,可以根据需要进行设置时间。
浏览器设置Ajax请求回调函数callback,callback中负责处理响应的数据和发送继续等待的ajax请求,当result为false时,调用下一个ajax请求repeatajax(uuid,timeout),uuid作为此系列请求的标志,timeout为总的超时时间,每次请求timeout-3;当result为true时或者timeout=<0时,执行结束。并将执行的结果反馈至服务器端。
服务端每次接收到ajax请求会判断uuid是否与缓存域chcheAjax中有uuid相同的请求,如果有则3秒后继续接收以分进程中响应到当前处理完成的响应数据。
服务端cacheAjax中result为true时,即合并的请求数量完成,将响应数据发送浏览器端后,同时销毁该唯一标识。
上述过程为服务器端和浏览器端交互配合实现的过程。本发明针对存在大量重复请求,或者非重复请求的页面加载过程中会出现明显卡顿的情况,在服务器和浏览器间交互,在服务端缓存机制接收中间响应数据和对同一uuid识别同一请求,能使得响应速度较快的请求优先返回结果,同时多个合并后只占用一个浏览器请求,降低带宽压力。
如图1为本发明实施例1一种Ajax请求的合并处理方法中服务器端流程图;
在步骤S101中;接收特定格式的Ajax请求;针对所述Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识。特定格式的Ajax请求来自浏览器端;浏览器端以json的格式合并请求参数得到特定格式的Ajax请求。浏览器端以json的格式合并请求参数之后还定义超时时间计时器和定义合并的请求数量。
在步骤S102中,判断是否存在唯一标识的字段,如果存在则执行步骤S103,否则执行步骤S106。
在步骤S103中,对Ajax请求采用所述Ajax请求的分进程处理,采用分进程处理的过程为:则处理缓存域中Ajax请求,
在步骤S104中,定时响应,直到全部处理完成销毁唯一标识;
在步骤S105中,浏览器设置Ajax请求的回调函数;回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据,并返回步骤S101。
在步骤S106中,如果不存在,判断UUID的格式是否为合并请求,如果为合并请求,则执行步骤S107。
在步骤S107中,正常请求处理流程。然后再到浏览器端处理,浏览器设置Ajax请求的回调函数;回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据,并返回步骤S101。
如图2给出了本发明实施例1一种Ajax请求的合并处理方法中浏览器端流程图。
在步骤S201中,以json格式合并请求参数,并且定义超时时间计时器和定义合并的请求数量。
在步骤S202中,浏览器端向服务器端发送Ajax请求。
在步骤S203中,服务器端接收Ajax请求,针对Ajax请求格式设置缓存域以及根据Ajax请求内容计算会话的唯一标识,其中计算会话的唯一标识的方法为:哈希计算会话的唯一标识UUID,能为接收的请求拆分为原有请求分进程处理,每隔3秒统一接收一次数据,记录当前状态result为全部完成(true)或者部分完成(false),并将已返回数据按特定格式的形式返回浏览器端。本发明保护的范围不局限于实施例1中列出的时间,根据本发明的方法步骤,可以根据需要进行设置时间。
在步骤S204中,浏览器端接收设置Ajax请求回调函数callback,callback中负责处理响应的数据和发送继续等待的ajax请求,当result为false时,调用下一个ajax请求repeatajax(uuid,timeout),uuid作为此系列请求的标志,timeout为总的超时时间,每次请求timeout-3。
在步骤S205中,判断Ajax请求是否执行完成,如果执行未完成,则返回步骤S202,如果完成,则执行步骤S206.
在步骤S206中,流程结束。
实施例2
基于本发明实施例1提出的一种Ajax请求的合并处理方法,本发明实施例2还提出了一种Ajax请求的合并处理系统,如图3给出了本发明实施例2一种Ajax请求的合并处理系统示意图,该系统包括:接收模块、处理模块、响应模块和判断模块;
接收模块用于接收特定格式的Ajax请求;特定格式的Ajax请求来自浏览器端;浏览器端以json的格式合并请求参数得到特定格式的Ajax请求
处理模块用于针对所述Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识,对所述Ajax请求采用所述Ajax请求的分进程处理。根据Ajax请求内容计算会话的唯一标识的方法为:根据Ajax请求内容哈希计算会话的唯一标识。
对Ajax请求采用所述Ajax请求的分进程处理的过程为:判断是否存在所述唯一标识,如果存在或者Ajax请求的格式满足合并请求,则处理缓存域中Ajax请求,直到全部处理完成销毁唯一标识;如果不存在,则按照正常流程并发送至浏览器端。
响应模块用于响应于Ajax请求的回调函数,并将所述分进程处理后的第一数据发送至浏览器端,并获取浏览器处理后的第二数据。其中浏览器设置所述Ajax请求的回调函数;回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据。
判断模块用于接收所述第二数据,并判断每次接收Ajax请求的唯一标识与位于所述缓存域中的唯一标识是否相同,如果相同,采用分进程处理完所有的Ajax请求。
该系统还包括定义模块,定义模块用于定义超时时间计时器和定义合并的请求数量。
实施例3.
本发明还提出了一种设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现方法步骤如下:
在服务器和浏览器间交互,实现Ajax请求的合并。
浏览器端以json格式合并请求参数,形如[{index,value},{index1,value1}]。
浏览器端定义超时时间计时器usedtime、合并的请求数量reques tcount。
服务器端接收Ajax请求,针对Ajax请求格式设置缓存域以及根据Ajax请求内容计算会话的唯一标识,其中计算会话的唯一标识的方法为:哈希计算会话的唯一标识UUID,能为接收的请求拆分为原有请求分进程处理,每隔3秒统一接收一次数据,记录当前状态result为全部完成(true)或者部分完成(false),并将已返回数据按特定格式的形式返回浏览器端。本发明保护的范围不局限于实施例1中列出的时间,根据本发明的方法步骤,可以根据需要进行设置时间。
浏览器设置Ajax请求回调函数callback,callback中负责处理响应的数据和发送继续等待的ajax请求,当result为false时,调用下一个ajax请求repeatajax(uuid,timeout),uuid作为此系列请求的标志,timeout为总的超时时间,每次请求timeout-3;当result为true时或者timeout=<0时,执行结束。并将执行的结果反馈至服务器端。
服务端每次接收到ajax请求会判断uuid是否与缓存域chcheAjax中有uuid相同的请求,如果有则3秒后继续接收以分进程中响应到当前处理完成的响应数据。
服务端cacheAjax中result为true时,即合并的请求数量完成,将响应数据发送浏览器端后,同时销毁该唯一标识。
上述过程为服务器端和浏览器端交互配合实现的过程。本发明针对存在大量重复请求,或者非重复请求的页面加载过程中会出现明显卡顿的情况,在服务器和浏览器间交互,在服务端缓存机制接收中间响应数据和对同一uuid识别同一请求,能使得响应速度较快的请求优先返回结果,同时多个合并后只占用一个浏览器请求,降低带宽压力。
如图1为本发明实施例1一种Ajax请求的合并处理方法中服务器端流程图;
在步骤S101中;接收特定格式的Ajax请求;针对所述Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识。特定格式的Ajax请求来自浏览器端;浏览器端以json的格式合并请求参数得到特定格式的Ajax请求。浏览器端以json的格式合并请求参数之后还定义超时时间计时器和定义合并的请求数量。
在步骤S102中,判断是否存在唯一标识的字段,如果存在则执行步骤S103,否则执行步骤S106。
在步骤S103中,对Ajax请求采用所述Ajax请求的分进程处理,采用分进程处理的过程为:则处理缓存域中Ajax请求,
在步骤S104中,定时响应,直到全部处理完成销毁唯一标识;
在步骤S105中,浏览器设置Ajax请求的回调函数;回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据,并返回步骤S101。
在步骤S106中,如果不存在,判断UUID的格式是否为合并请求,如果为合并请求,则执行步骤S107。
在步骤S107中,正常请求处理流程。然后再到浏览器端处理,浏览器设置Ajax请求的回调函数;回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据,并返回步骤S101。
如图2给出了本发明实施例1一种Ajax请求的合并处理方法中浏览器端流程图。
在步骤S201中,以json格式合并请求参数,并且定义超时时间计时器和定义合并的请求数量。
在步骤S202中,浏览器端向服务器端发送Ajax请求。
在步骤S203中,服务器端接收Ajax请求,针对Ajax请求格式设置缓存域以及根据Ajax请求内容计算会话的唯一标识,其中计算会话的唯一标识的方法为:哈希计算会话的唯一标识UUID,能为接收的请求拆分为原有请求分进程处理,每隔3秒统一接收一次数据,记录当前状态result为全部完成(true)或者部分完成(false),并将已返回数据按特定格式的形式返回浏览器端。本发明保护的范围不局限于实施例1中列出的时间,根据本发明的方法步骤,可以根据需要进行设置时间。
在步骤S204中,浏览器端接收设置Ajax请求回调函数callback,callback中负责处理响应的数据和发送继续等待的ajax请求,当result为false时,调用下一个ajax请求repeatajax(uuid,timeout),uuid作为此系列请求的标志,timeout为总的超时时间,每次请求timeout-3。
在步骤S205中,判断Ajax请求是否执行完成,如果执行未完成,则返回步骤S202,如果完成,则执行步骤S206.
在步骤S206中,流程结束。
需要说明:本发明技术方案还提供了一种电子设备,包括:通信接口,能够与其它设备比如网络设备等进行信息交互;处理器,与通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的一种Ajax请求的合并处理方法,而所述计算机程序存储在存储器上。当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,ReadOnly Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,RandomAccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP(Digital Signal Processing,即指能够实现数字信号处理技术的芯片),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。处理器执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
本发明还提出了一种可读存储介质,可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现方法步骤如下:
在服务器和浏览器间交互,实现Ajax请求的合并。
浏览器端以json格式合并请求参数,形如[{index,value},{index1,value1}]。
浏览器端定义超时时间计时器usedtime、合并的请求数量reques tcount。
服务器端接收Ajax请求,针对Ajax请求格式设置缓存域以及根据Ajax请求内容计算会话的唯一标识,其中计算会话的唯一标识的方法为:哈希计算会话的唯一标识UUID,能为接收的请求拆分为原有请求分进程处理,每隔3秒统一接收一次数据,记录当前状态result为全部完成(true)或者部分完成(false),并将已返回数据按特定格式的形式返回浏览器端。本发明保护的范围不局限于实施例1中列出的时间,根据本发明的方法步骤,可以根据需要进行设置时间。
浏览器设置Ajax请求回调函数callback,callback中负责处理响应的数据和发送继续等待的ajax请求,当result为false时,调用下一个ajax请求repeatajax(uuid,timeout),uuid作为此系列请求的标志,timeout为总的超时时间,每次请求timeout-3;当result为true时或者timeout=<0时,执行结束。并将执行的结果反馈至服务器端。
服务端每次接收到ajax请求会判断uuid是否与缓存域chcheAjax中有uuid相同的请求,如果有则3秒后继续接收以分进程中响应到当前处理完成的响应数据。
服务端cacheAjax中result为true时,即合并的请求数量完成,将响应数据发送浏览器端后,同时销毁该唯一标识。
上述过程为服务器端和浏览器端交互配合实现的过程。本发明针对存在大量重复请求,或者非重复请求的页面加载过程中会出现明显卡顿的情况,在服务器和浏览器间交互,在服务端缓存机制接收中间响应数据和对同一uuid识别同一请求,能使得响应速度较快的请求优先返回结果,同时多个合并后只占用一个浏览器请求,降低带宽压力。
如图1为本发明实施例1一种Ajax请求的合并处理方法中服务器端流程图;
在步骤S101中;接收特定格式的Ajax请求;针对所述Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识。特定格式的Ajax请求来自浏览器端;浏览器端以json的格式合并请求参数得到特定格式的Ajax请求。浏览器端以json的格式合并请求参数之后还定义超时时间计时器和定义合并的请求数量。
在步骤S102中,判断是否存在唯一标识的字段,如果存在则执行步骤S103,否则执行步骤S106。
在步骤S103中,对Ajax请求采用所述Ajax请求的分进程处理,采用分进程处理的过程为:则处理缓存域中Ajax请求,
在步骤S104中,定时响应,直到全部处理完成销毁唯一标识;
在步骤S105中,浏览器设置Ajax请求的回调函数;回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据,并返回步骤S101。
在步骤S106中,如果不存在,判断UUID的格式是否为合并请求,如果为合并请求,则执行步骤S107。
在步骤S107中,正常请求处理流程。然后再到浏览器端处理,浏览器设置Ajax请求的回调函数;回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据,并返回步骤S101。
如图2给出了本发明实施例1一种Ajax请求的合并处理方法中浏览器端流程图。
在步骤S201中,以json格式合并请求参数,并且定义超时时间计时器和定义合并的请求数量。
在步骤S202中,浏览器端向服务器端发送Ajax请求。
在步骤S203中,服务器端接收Ajax请求,针对Ajax请求格式设置缓存域以及根据Ajax请求内容计算会话的唯一标识,其中计算会话的唯一标识的方法为:哈希计算会话的唯一标识UUID,能为接收的请求拆分为原有请求分进程处理,每隔3秒统一接收一次数据,记录当前状态result为全部完成(true)或者部分完成(false),并将已返回数据按特定格式的形式返回浏览器端。本发明保护的范围不局限于实施例1中列出的时间,根据本发明的方法步骤,可以根据需要进行设置时间。
在步骤S204中,浏览器端接收设置Ajax请求回调函数callback,callback中负责处理响应的数据和发送继续等待的ajax请求,当result为false时,调用下一个ajax请求repeatajax(uuid,timeout),uuid作为此系列请求的标志,timeout为总的超时时间,每次请求timeout-3。
在步骤S205中,判断Ajax请求是否执行完成,如果执行未完成,则返回步骤S202,如果完成,则执行步骤S206.
在步骤S206中,流程结束。
本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的一种Ajax请求的合并处理设备和存储介质中相关部分的说明可以参见本申请实施例1提供的一种Ajax请求的合并处理方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (8)
1.一种Ajax请求的合并处理方法,运行于服务器端,其特征在于,包括以下步骤:
接收特定格式的Ajax请求;所述特定格式的Ajax请求来自浏览器端;所述浏览器端以json的格式合并请求参数得到特定格式的Ajax请求;
针对所述Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识,对所述Ajax请求采用所述Ajax请求的分进程处理;其中采用所述Ajax请求的分进程处理的过程包括:判断是否存在所述唯一标识,如果存在或者Ajax请求的格式满足合并请求,则处理缓存域中Ajax请求,直到全部处理完成销毁唯一标识;如果不存在,则按照正常流程并发送至浏览器端;
响应于Ajax请求的回调函数,并将所述分进程处理后的第一数据发送至浏览器端,并获取浏览器处理后的第二数据;
接收所述第二数据,并判断每次接收Ajax请求的唯一标识与位于所述缓存域中的唯一标识是否相同,如果相同,采用分进程处理完所有的Ajax请求。
2.根据权利要求1所述的一种Ajax请求的合并处理方法,其特征在于,所述浏览器端以json的格式合并请求参数之后还定义超时时间计时器和定义合并的请求数量。
3.根据权利要求1所述的一种Ajax请求的合并处理方法,其特征在于,所述浏览器用于设置所述Ajax请求的回调函数;所述回调函数用于处理第一数据和发送继续等待的Ajax请求,以唯一标识作为请求的标志,当处理完成或者达到超时时间,则执行结束,返回第二数据 。
4.根据权利要求1所述的一种Ajax请求的合并处理方法,其特征在于,所述根据所述Ajax请求内容计算会话的唯一标识的方法为:根据所述Ajax请求内容哈希计算会话的唯一标识。
5.一种Ajax请求的合并处理系统,其特征在于,包括接收模块、处理模块、响应模块和判断模块;
所述接收模块用于接收特定格式的Ajax请求;所述特定格式的Ajax请求来自浏览器端;所述浏览器端以json的格式合并请求参数得到特定格式的Ajax请求;
所述处理模块用于针对所述Ajax请求格式设置缓存域以及根据所述Ajax请求内容计算会话的唯一标识,对所述Ajax请求采用所述Ajax请求的分进程处理;其中采用所述Ajax请求的分进程处理的过程包括:判断是否存在所述唯一标识,如果存在或者Ajax请求的格式满足合并请求,则处理缓存域中Ajax请求,直到全部处理完成销毁唯一标识;如果不存在,则按照正常流程并发送至浏览器端;
所述响应模块用于响应于Ajax请求的回调函数,并将所述分进程处理后的第一数据发送至浏览器端,并获取浏览器处理后的第二数据;
所述判断模块用于接收所述第二数据,并判断每次接收Ajax请求的唯一标识与位于所述缓存域中的唯一标识是否相同,如果相同,采用分进程处理完所有的Ajax请求 。
6.根据权利要求5所述的一种Ajax请求的合并处理系统,其特征在于,所述系统还包括定义模块;
所述定义模块用于定义超时时间计时器和定义合并的请求数量 。
7.一种Ajax请求的合并处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任意一项所述的方法步骤 。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797983.6A CN113641512B (zh) | 2021-07-14 | 2021-07-14 | 一种Ajax请求的合并处理方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797983.6A CN113641512B (zh) | 2021-07-14 | 2021-07-14 | 一种Ajax请求的合并处理方法、系统、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641512A CN113641512A (zh) | 2021-11-12 |
CN113641512B true CN113641512B (zh) | 2023-08-04 |
Family
ID=78417377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110797983.6A Active CN113641512B (zh) | 2021-07-14 | 2021-07-14 | 一种Ajax请求的合并处理方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641512B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920703A (zh) * | 2018-07-18 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种http缓存优化方法与装置 |
-
2021
- 2021-07-14 CN CN202110797983.6A patent/CN113641512B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108920703A (zh) * | 2018-07-18 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种http缓存优化方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113641512A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240946B (zh) | 数据的多级缓存方法及终端设备 | |
US8321875B2 (en) | Selectively updating web pages on a mobile client | |
US11184465B2 (en) | Network communication for establishing a QUIC connection | |
CN114816263B (zh) | 存储访问方法及智能处理装置 | |
CN111736765A (zh) | 一种数据块状态的监管方法、设备以及介质 | |
CN113641512B (zh) | 一种Ajax请求的合并处理方法、系统、设备和存储介质 | |
CN111291083B (zh) | 网页源码数据处理方法、装置及计算机设备 | |
CN107197000B (zh) | 静态动态混合缓存方法、装置及系统 | |
CN108829498B (zh) | 业务数据访问方法和装置 | |
CN104639666B (zh) | 域名访问方法及装置 | |
CN113535199A (zh) | 基于WebApp的网站更新方法、系统和存储介质 | |
CN114547033B (zh) | 一种关键产品数据的管理方法、系统、设备和存储介质 | |
CN111382179A (zh) | 数据处理方法、装置及电子设备 | |
CN111240750B (zh) | 一种目标应用程序的唤醒方法及装置 | |
CN114153599A (zh) | 一种内存写入优化方法、装置、设备及介质 | |
CN113704200A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN112612984A (zh) | 一种跨域转发代理的方法及装置 | |
CN113760195B (zh) | 一种基于嵌入式的fatfs文件系统 | |
CN113590414A (zh) | 一种服务器集群信息采集缓存方法、装置、设备及介质 | |
US20230169008A1 (en) | Managing prefetching operations for drives in distributed storage systems | |
CN111459819A (zh) | 软件测试方法及装置、电子设备、计算机可读介质 | |
CN118331765B (zh) | 鸿蒙小程序运行时的jsBridge通信方法、装置及存储介质 | |
US11829642B2 (en) | Managing write requests for drives in cloud storage systems | |
CN117453643B (zh) | 基于分布式文件系统的文件缓存方法、装置、终端及介质 | |
CN112286946B (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 |