CN113704592B - 网络请求的发送方法、装置、电子设备及存储介质 - Google Patents
网络请求的发送方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113704592B CN113704592B CN202110880236.9A CN202110880236A CN113704592B CN 113704592 B CN113704592 B CN 113704592B CN 202110880236 A CN202110880236 A CN 202110880236A CN 113704592 B CN113704592 B CN 113704592B
- Authority
- CN
- China
- Prior art keywords
- network request
- request
- network
- parameters
- matched
- 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
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/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
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)
- Computational Linguistics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开关于一种网络请求的发送方法、装置、电子设备及存储介质,属于数据处理技术领域,其中,该方法包括:获取待发送的网络请求;其中,网络请求携带有请求参数;在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理;发送待发送的网络请求,该方法通过在发送网络请求之前,确定是否存在与请求参数匹配的网络请求发送记录,在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理,由此,可自动取消重复的网络请求,解决了页面数据时序错乱,并发过多引起请求阻塞以及手动维护调用过程繁琐的问题。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种网络请求的发送方法、装置、电子设备及存储介质。
背景技术
目前,在大数据、多并发场景的网络应用中,如表单查询,前后端的异步JavaScript和XML(Asynchronous Javascript And XML And HTML,简称AJAX)请求耗时时间较长,重复地址的网络请求较多,如果不考虑响应数据的时序与请求时序不一致问题可能会引起页面中获取数据不正确。
相关技术中,针对响应数据的时序与请求时序不一致问题可能会引起页面中获取数据不正确的问题,主要在业务代码中通过手动编写逻辑将最近一次请求的数据选取为正确数据,如为每个请求设置独立的标识符,只使用最新的标识符对应的数据。
但是,目前存在的问题是,虽然通过手动编写逻辑可以拿到最新的数据结果,但网络请求仍然重复的发出,导致后端重复计算,如果响应时间较长,容易触发浏览器最大并发限制;并且手动编写代码,过程繁琐,难以控制。
发明内容
本公开提供一种网络请求的发送方法、装置、电子设备及存储介质,以至少解决相关技术中大数据多并发场景下,网络请求响应慢,容易引发页面数据时序错乱,并且容易导致页面最大并发限制,引起请求阻塞以及手动维护调用过程繁琐的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种网络请求的发送方法,包括:获取待发送的网络请求,其中,所述网络请求携带有请求参数;在存在与所述请求参数匹配的网络请求发送记录时,对所述网络请求发送记录对应的已发送网络请求进行取消处理;发送待发送的所述网络请求。
根据本公开实施例的第二方面,提供一种网络请求的发送装置,包括:获取模块,被配置为执行获取待发送的网络请求,其中,所述网络请求携带有请求参数;取消模块,被配置为执行在存在与所述请求参数匹配的网络请求发送记录时,对所述网络请求发送记录对应的已发送网络请求进行取消处理;发送模块,被配置为执行发送待发送的所述网络请求。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上所述的网络请求的发送方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上所述的网络请求的发送方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序由电子设备的处理器执行时,使得电子设备能够执行如上所述的一种网络请求的发送方法。
本公开的实施例提供的技术方案至少带来以下有益效果:通过在发送网络请求之前,判断是否存在与请求参数匹配的网络请求发送记录,在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理,由此,可自动取消重复的网络请求,解决了页面数据时序错乱,并发过多引起请求阻塞以及手动维护调用过程繁琐的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种网络请求的发送方法的流程图;
图2是根据一示例性实施例示出的又一种网络请求的发送方法的流程图;
图3是根据一示例性实施例示出的相同url不同请求体对应的表单查询页面;
图4是根据一示例性实施例示出的相同url相同请求体对应的表单查询页面;
图5是根据一示例性实施例示出的又一种网络请求的发送方法的流程图;
图6是根据一示例性实施例示出的数据结构的存储示意图;
图7是根据一示例性实施例示出的数据结构的存储示意图;
图8是根据一示例性实施例示出的又一种网络请求的发送方法的流程图;
图9是根据一示例性实施例示出的网络请求的发送装置的结构示意图;
图10是根据一示例性实施例示出的一种用于网络请求的发送的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种网络请求的发送方法的流程图,如图1所示,包括以下步骤。
在步骤101中,获取待发送的网络请求,其中,网络请求携带有请求参数。
需要说明的是,本公开的网络请求的发送方法的执行主体为网络请求的发送装置。本公开实施例的网络请求的发送方法可以由本公开实施例的网络请求的发送装置执行,本公开实施例的网络请求的发送装置可以配置在任意电子设备中,以执行本公开实施例的网络请求的发送方法。
比如,当在浏览器中输入网址,浏览器和服务端之间建立连接后,浏览器可向服务端发送网络请求,在浏览器向服务端发送网络请求之前,网络请求的发送装置可获取该网络请求,将该网络请求作为待发送的网络请求。
又比如,在表单查询页面,确定筛选条件后,当点击查询按钮时,浏览器可向服务端发送XmlHttprequest(简称XHR)网络请求,在浏览器向服务端发送网络请求之前,网络请求的发送装置可获取该XHR网络请求,将该XHR网络请求作为待发送的网络请求。
可以理解的是,为了使服务端根据网络请求进行数据响应,网络请求中可携带请求参数。在本公开实施例中,该请求参数可包括但不限于请求模式、请求体、源地址等。
在本公开实施例中,请求模式可为get模式或post模式,get模式下的请求体可为param,Post模式下的请求体可为body。比如,在页面搜索框中输入“新年”,请求体可为“新年”。源地址可为请求参数中的网络地址,比如,统一资源定位系统(uniform resourcelocator,简称url)地址。
在步骤102中,在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理。
为了在发送待发送的网络请求之前,取消与该网络请求重复的网络请求,在本公开实施例中,可判断预设的数据结构中是否存在与请求参数匹配的网络请求发送记录,在预设的数据结构中存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理。其中,预设的数据结构,比如可为浏览器环境下建立的map数据结构(键-值对方式)。
另外,在预设的数据结构中不存在与请求参数匹配的网络请求发送记录时,则说明不存在与网络请求重复的已发送网络请求,则不做取消处理。
在步骤103中,发送待发送的网络请求。
接着,在对网络请求发送记录对应的已发送网络请求进行取消处理之后,可将待发送的网络请求进行发送。
综上,通过在发送网络请求之前,确定预设的数据结构中是否存在与请求参数匹配的网络请求发送记录,在预设的数据结构中存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理,由此,可自动取消重复的网络请求,解决了页面数据时序错乱,并发过多引起请求阻塞以及手动维护调用过程繁琐的问题。
为了可以准确取消与该网络请求重复的网络请求,如图2所示,图2是根据一示例性实施例示出的又一种网络请求的发送方法的流程图,在本公开实施例中,在对网络请求发送记录对应的已发送网络请求进行取消处理之前,可先确定数据结构中是否存在包括待匹配参数的网络请求发送记录,在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理,具体实现过程如下:
在步骤201中,获取待发送的网络请求,其中,网络请求携带有请求参数。
在步骤202中,根据请求参数中的请求模式,确定网络请求的待匹配参数。
为了可以准确地确定与请求参数匹配的网络请求发送记录,在本公开实施例中,可根据请求参数中的请求模式,确定网络请求的待匹配参数。
作为一种示例,在请求模式为get模式时,确定待匹配参数为请求参数中的源地址。
也就是说,在本公开实施例中,可根据请求参数中的参数进行请求模式的判断,在请求模式为get模式时,可将请求参数中的源地址作为待匹配参数。比如,在get模式下,可将请求参数中的源地址“www.xx.com”作为待匹配参数。
作为另一种示例,在请求模式为post模式时,确定待匹配参数为请求参数中的源地址以及请求体。
也就是说,在本公开实施例中,可根据请求参数中的参数进行请求模式的判断,在请求模式为post模式时,可将请求参数中的源地址以及请求体作为待匹配参数。其中,需要说明的是,post模式下,请求体可为body。
比如,根据筛选条件进行表单查询时,可根据请求参数确定请求模式为post模式,可将请求参数中的网址和筛选条件作为待匹配参数。如,待匹配参数为“xxx.com/pageB/query”与“{'mertic':{'a}:xxx,'b':xxx}”,其中,“xxx.com/pageB/query”为url地址,“{'mertic':{'a}:xxx,'b':xxx}”为请求体。
在步骤203中,根据待匹配参数查询数据结构,确定数据结构中是否存在包括待匹配参数的网络请求发送记录。
进而,可根据网络请求的待匹配参数查询预设的数据结构,根据查询结果,可判断数据结构中是否存在包括待匹配参数的网络请求发送记录。
比如,可根据请求参数中的源地址查询预设的数据结构,判断数据结构中是否存在包括该源地址的网络请求发送记录。
又比如,可根据请求参数中的源地址与请求体查询预设的数据结构,判断数据结构中是否存在包括该源地址与请求体的网络请求发送记录。
在步骤204中,在数据结构中存在网络请求发送记录时,确定存在与请求参数匹配的网络请求发送请求。
进一步地,在数据结构中存在网络请求发送记录时,可确定数据结构中存在与请求参数匹配的网络请求发送请求;在数据结构中不存在网络请求发送记录时,确定不存在与请求参数匹配的网络请求发送记录。
在步骤205中,在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理。
可选地,获取网络请求发送记录中的取消函数,调用取消函数,取消已发送网络请求。
也就是说,在预设的数据结构中查询到与请求参数匹配的网络请求发送记录时,可根据网络请求发送记录中的取消函数,对已发送网络请求进行取消。其中,在预设的数据结构中,每个网络请求发送记录可设置对应的取消函数,不同的网络请求发送记录对应的取消函数中的参数可不同。
在本公开实施例中,根据待匹配参数的不同可分为“default”模式和“url”模式。
作为一种示例,待匹配参数为请求参数中的源地址时,可查询预设的数据结构中是否存在与该源地址匹配的网络请求发送记录,在预设的数据结构中查询到与该源地址匹配的网络请求发送记录时,可根据网络请求发送记录中的取消函数,对已发送网络请求进行取消。在本公开实施例中,该模式可为“url”模式。
比如,在表单查询页面中,第一次查询表单A参数,第二次查询表单B参数,如果查询表单A参数的数据查询量大,后端可能先返回查询表单B的结果,然后查询表单A参数的结果再返回,在页面中,查询表单A参数的结果覆盖了查询表单B的结果,因此,对查询表单A的请求进行取消,获取与表单B参数相关的表单数据。
举例而言,如图3所示,表单查询页面中,第一查询时,选择1对应的筛选条件,需要向url地址“xxx.com/pagea/options”传请求体“{options:'page'}”,第二次查询时,选择2对应的筛选条件,需要向url地址“xxx.com/pagea/options”传请求体“{options:'platform'}”,第三次查询时,选择3对应的筛选条件,需要向请求体“xxx.com/pagea/options”传“{options:'version'}”,第四次查询时,选择4的对应的筛选条件需要向“xxx.com/pagea/options”传“{options:'build'}”,即url相同,请求体不同的情况,称作相同url不同请求体,简称为“url”模式。在对表单页面进行第二次查询时,可在预设的数据结构中查询到与该第二次查询时的url地址匹配的网络请求发送记录,可根据第二次查询请求发送记录中的取消函数,将第一查询请求进行取消,依次类推,第三次查询时,可将第二次查询请求进行取消,第四次查询时,可将第三次查询取消。
作为另一种示例,待匹配参数为请求参数中的源地址以及请求体时,可查询预设的数据结构中是否存在与该源地址以及请求体匹配的网络请求发送记录,在预设的数据结构中查询到与该源地址以及请求体匹配的网络请求发送记录时,可根据网络请求发送记录中的取消函数,对已发送网络请求进行取消。在本公开实施例中,该模式可为“default”模式。
举例而言,如图4所示,用户选择筛选条件,然后点击查询,此时浏览器向服务端发起请求,url地址为“xxx.com/pageB/query”,请求体为“{'mertic':{'a}:xxx,'b':xxx}”,用户不更改筛选条件,连续点击查询按钮,此时发出的请求的url地址和请求体都是相同不变的,即相同url相同请求体,第二次点击查询按钮时,可根据url以及请求体匹配的网络请求发送记录中的取消函数,对第一次查询请求进行取消。
在步骤206中,发送待发送的网络请求。
在本公开实施例中,步骤201、206的详细描述可参见图1所述实施例的步骤101、103,本公开不再赘述。
综上,根据请求参数中不同的请求模式,确定网络请求的不同的待匹配参数,进而根据待匹配参数查询数据结构,确定数据结构中是否存在包括待匹配参数的网络请求发送记录,在预设的数据结构中存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理,由此,可自动取消重复的网络请求,解决了页面数据时序错乱,并发过多引起请求阻塞以及手动维护调用过程繁琐的问题。
为了便于后续网络请求发送时查询预设的数据结构,以取消重复的网络请求,如图5所示,图5是根据一示例性实施例示出的又一种网络请求的发送方法的流程图,在本公开实施例中,在对对应的已发送网络请求进行取消处理之后,可将预设的数据结构进行更新,具体实现过程如下:
在步骤501中,获取待发送的网络请求,其中,所述网络请求携带有请求参数。
在步骤502中,在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理。
在步骤503中,根据待匹配参数以及网络请求的取消函数,生成网络请求对应的网络请求发送记录。
为了便于后续网络请求发送时查询预设的数据结构,以取消重复的网络请求,在本公开实施例中,可根据待匹配参数以及网络请求的取消函数,生成网络请求对应的网络请求发送记录。
作为一种示例,为了可以准确地对网络请求发送记录对应的已发送网络请求进行取消处理,数据结构中,以键值对的方式存储待匹配参数和取消函数。
比如,可将待匹配参数作为Key值,网络请求的取消函数作为Value,从而生成网络请求对应的网络请求发送记录。
作为一种示例,如图6所示,将请求的url进行序列化(如使用JSON.stringify),作为key值,并将对象的abort方法设置放入到key值对应的value中。
作为另一种示例,如图7所示,将请求的url和请求体进行序列化,合并作为key值,并将对象的abort方法设置放入到key值对应的value中。
在步骤504中,将网络请求对应的网络请求发送记录更新至数据结构中。
接着,可将网络请求对应的网络请求发送记录中的待匹配参数和取消函数,以键值对的方式更新至数据结构中,以便于后续网络请求发送时查询预设的数据结构,以取消重复的网络请求。
在步骤505中,发送待发送的网络请求。
在本公开实施例中,步骤501、502以及步骤505的详细内容可参见图1所述实施例的步骤101-103,本申请不再赘述。
综上,在对对应的已发送网络请求进行取消处理之后,可对数据结构进行更新,便于后续网络请求发送时查询预设的数据结构,以取消重复的网络请求,解决页面数据时序错乱,并发过多引起请求阻塞以及手动维护调用过程繁琐的问题。
为了节省相关资源,如图8所示,图8是根据一示例性实施例示出的一种网络请求的发送方法,在本公开实施例中,在发送网络请求之后,在接收到与网络请求对应的回复内容时,可释放数据结构中网络请求对应的网络请求发送记录,具体实现过程如下:
在步骤801中,获取待发送的网络请求,其中,网络请求携带有请求参数。
在步骤802中,在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理。
在步骤803中,发送待发送的网络请求。
在本公开实施例中,步骤801-803的详细内容可参见步骤101-103,本公开不再赘述。
在步骤804中,在接收到与网络请求对应的回复内容时,释放数据结构中网络请求对应的网络请求发送记录。
也就是说,在发送网络请求之后,服务端根据网络请求作出对应的回复内容,进一步地,可对数据结构中网络请求对应的网络请求发送记录进行释放,以避免后续网络请求查询数据结构时,浪费相关资源。比如,在abort()成功和响应错误的状态时,可将数据结构中网络请求对应的网络请求发送记录进行删除以释放。
综上,在发送网络请求之后,在接收到与网络请求对应的回复内容时,可释放数据结构中网络请求对应的网络请求发送记录,由此,可节省相关资源。
为了使本领域人员更加清楚地了解本公开,现举例进行说明。
举例而言,以请求模式为get模式为例:
1、在浏览器环境中,建立一个map数据结构;
2、设置拦截器,对XHR类的open方法进行重写(XHR是浏览器中的一个内置类,当发起请求时,每个请求会对应一个XHR对象),在open方法执行前,如图4所示,将请求的url进行序列化(如使用JSON.stringify),作为key值,并将对象的abort方法设置放入到key值对应的value中;
3、在封装的http方法中进行判断,如果最终传入了配置参数为url,我们就进入重写的XHR对象的url模式逻辑中,如果最终传入的配置参数为default,进入重写的XHR对象的default模式逻辑中;比如,可以在Axios类上在进行一次封装,使用Axio.get(url,params,mode)来区分url模式和default模式。
3、调用map数据结构中key对应的abort方法,取消掉上一个重复的请求;
4、发送网络请求;
5、释放掉map数据结构中的这条记录,比如,在abort成功和响应错误的状态中,判断并删除掉map中对应的记录。
本公开实施例的网络请求的发送方法,通过获取待发送的网络请求,其中,网络请求携带有请求参数;在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理;发送待发送的网络请求。该方法通过在发送网络请求之前,判断是否存在与请求参数匹配的网络请求发送记录,在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理,由此,可自动取消重复的网络请求,解决了页面数据时序错乱,并发过多引起请求阻塞以及手动维护调用过程繁琐的问题。
为了实现上述实施例,本公开实施例提出了一种网络请求的发送装置。
图9是根据一示例性实施例示出的网络请求的发送装置的结构示意图,参照图9,该网络请求的发送装置900,可以包括:获取模块910、取消模块920和发送模块930。
其中,获取模块910,被配置为执行获取待发送的网络请求,其中,网络请求携带有请求参数;取消模块920,被配置为执行在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理;发送模块930,被配置为执行发送待发送的网络请求。
作为本公开实施例的一种可能实现方式,网络请求的发送装置900还包括:第一确定模块、查询模块和第二确定模块。
其中,第一确定模块,被配置为执行根据请求参数中的请求模式,确定网络请求的待匹配参数;查询模块,被配置为执行根据所述待匹配参数查询数据结构,确定所述数据结构中是否存在包括待匹配参数的网络请求发送记录;第二确定模块,被配置为执行在数据结构中存在网络请求发送记录时,确定存在与请求参数匹配的网络请求发送请求;第二确定模块,被配置为执行在数据结构中未存在网络请求发送记录时,确定不存在与请求参数匹配的网络请求发送记录。
作为本公开实施例的一种可能实现方式,第一确定模块,包括:确定单元。
其中,确定单元,被配置为执行在请求模式为get模式时,确定待匹配参数为请求参数中的源地址;或者,在请求模式为post模式时,确定待匹配参数为请求参数中的源地址以及请求体。
作为本公开实施例的一种可能实现方式,取消模块,包括:获取单元和取消单元。
其中,获取单元,被配置为执行获取网络请求发送记录中的取消函数;取消单元,被配置为执行调用取消函数,取消已发送网络请求。
作为本公开实施例的一种可能实现方式,网络请求的发送装置900还包括:生成模块和更新模块。
其中,生成模块,被配置为执行根据待匹配参数以及网络请求的取消函数,生成网络请求对应的网络请求发送记录;更新模块,被配置为执行将网络请求对应的网络请求发送记录更新至数据结构中。
作为本公开实施例的一种可能实现方式,网络请求的发送装置900还包括:释放模块。
其中,释放模块,被配置为执行在接收到与网络请求对应的回复内容时,释放数据结构中网络请求对应的网络请求发送记录。
作为本公开实施例的一种可能实现方式,更新模块,被配置为执行:将所述网络请求对应的网络请求发送记录中的所述待匹配参数和所述取消函数,以键值对的方式更新至所述数据结构中。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例的网络请求的发送装置,通过获取待发送的网络请求,其中,网络请求携带有请求参数;在存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理;发送待发送的网络请求。该装置可实现通过在发送网络请求之前,确定是否存在与请求参数匹配的网络请求发送记录,在预设的数据结构中存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理,由此,可自动取消重复的网络请求,解决了页面数据时序错乱,并发过多引起请求阻塞以及手动维护调用过程繁琐的问题。
图10是根据一示例性实施例示出的一种用于网络请求的发送方法的电子设备的框图。
如图10所示,上述电子设备1000包括:
存储器1010及处理器1020,连接不同组件(包括存储器1010和处理器1020)的总线1030,存储器1010存储有计算机程序,当处理器1020执行所述程序时实现本公开实施例所述的网络请求的发送方法。
总线1030表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备1000典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备1000访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器1010还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1040和/或高速缓存存储器1050。电子设备1000可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1060可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1030相连。存储器1010可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块1070的程序/实用工具1080,可以存储在例如存储器1010中,这样的程序模块1070包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1070通常执行本公开所描述的实施例中的功能和/或方法。
电子设备1000也可以与一个或多个外部设备1090(例如键盘、指向设备、显示器1091等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1092进行。并且,电子设备1000还可以通过网络适配器1093与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1093通过总线1030与电子设备800的其它模块通信。应当明白,尽管图10中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器1020通过运行存储在存储器1010中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的网络请求的发送方法的解释说明,此处不再赘述。
本公开实施例提供的电子设备,可以执行如前所述的网络请求的发送方法,通过获取待发送的网络请求,其中,网络请求携带有请求参数;在预设的数据结构中存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理;发送网络请求。可实现通过在发送网络请求之前,确定预设的数据结构中是否存在与请求参数匹配的网络请求发送记录,在预设的数据结构中存在与请求参数匹配的网络请求发送记录时,对网络请求发送记录对应的已发送网络请求进行取消处理,由此,可自动取消重复的网络请求,解决了页面数据时序错乱,并发过多引起请求阻塞以及手动维护调用过程繁琐的问题。
为了实现上述实施例,本公开还提出一种存储介质。
其中,该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的网络请求的发送方法。
为了实现上述实施例,本公开还提供一种计算机程序产品,包括计算机程序,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行如前所述的网络请求的发送方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (12)
1.一种网络请求的发送方法,其特征在于,包括:
获取待发送的网络请求,其中,所述网络请求携带有请求参数;
在存在与所述请求参数匹配的网络请求发送记录时,对所述网络请求发送记录对应的已发送网络请求进行取消处理;
发送待发送的所述网络请求;
在对所述网络请求发送记录对应的已发送网络请求进行取消处理之后,还包括:
根据待匹配参数以及所述网络请求的取消函数,生成所述网络请求对应的网络请求发送记录,其中,所述待匹配参数是根据所述请求参数中的请求模式,确定所述网络请求的待匹配参数;
将网络请求对应的网络请求发送记录更新至数据结构中;
所述将网络请求对应的网络请求发送记录更新至所述数据结构中,包括:
将所述网络请求对应的网络请求发送记录中的所述待匹配参数和所述取消函数,以键值对的方式更新至所述数据结构中。
2.根据权利要求1所述的方法,其特征在于,在存在与所述请求参数匹配的网络请求发送记录时,对所述网络请求发送记录对应的已发送网络请求进行取消处理之前,所述方法还包括:
根据所述待匹配参数查询数据结构,确定所述数据结构中是否存在包括所述待匹配参数的网络请求发送记录;
在所述数据结构中存在所述网络请求发送记录时,确定存在与所述请求参数匹配的网络请求发送请求;
在所述数据结构中未存在所述网络请求发送记录时,确定不存在与所述请求参数匹配的网络请求发送记录。
3.根据权利要求2所述的方法,其特征在于,所述根据所述请求参数中的请求模式,确定所述网络请求的待匹配参数,包括:
在所述请求模式为get模式时,确定所述待匹配参数为所述请求参数中的源地址;
或者,
在所述请求模式为post模式时,确定所述待匹配参数为所述请求参数中的源地址以及请求体。
4.根据权利要求1所述的方法,其特征在于,所述对所述网络请求发送记录对应的已发送网络请求进行取消处理,包括:
获取所述网络请求发送记录中的取消函数;
调用所述取消函数,取消所述已发送网络请求。
5.根据权利要求1所述的方法,其特征在于,在发送所述网络请求之后,还包括:
在接收到与所述网络请求对应的回复内容时,释放所述数据结构中所述网络请求对应的网络请求发送记录。
6.一种网络请求的发送装置,其特征在于,包括:
获取模块,被配置为执行获取待发送的网络请求,其中,所述网络请求携带有请求参数;
取消模块,被配置为执行在存在与所述请求参数匹配的网络请求发送记录时,对所述网络请求发送记录对应的已发送网络请求进行取消处理;
发送模块,被配置为执行发送待发送的所述网络请求;
第一确定模块,被配置为执行根据所述请求参数中的请求模式,确定所述网络请求的待匹配参数;
生成模块,被配置为执行根据所述待匹配参数以及所述网络请求的取消函数,生成所述网络请求对应的网络请求发送记录;
更新模块,被配置为执行将所述网络请求对应的网络请求发送记录更新至数据结构中;所述更新模块,被配置为执行:
将所述网络请求对应的网络请求发送记录中的所述待匹配参数和所述取消函数,以键值对的方式更新至所述数据结构中。
7.根据权利要求6所述的装置,其特征在于,还包括:
查询模块,被配置为执行根据所述待匹配参数查询数据结构,确定所述数据结构中是否存在包括所述待匹配参数的网络请求发送记录;
第二确定模块,被配置为执行在所述数据结构中存在所述网络请求发送记录时,确定存在与所述请求参数匹配的网络请求发送请求;
所述第二确定模块,被配置为执行在所述数据结构中未存在所述网络请求发送记录时,确定不存在与所述请求参数匹配的网络请求发送记录。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块,包括:
确定单元,被配置为执行在所述请求模式为get模式时,确定所述待匹配参数为所述请求参数中的源地址;或者,
在所述请求模式为post模式时,确定所述待匹配参数为所述请求参数中的源地址以及请求体。
9.根据权利要求6所述的装置,其特征在于,所述取消模块,包括:
获取单元,被配置为执行获取所述网络请求发送记录中的取消函数;
取消单元,被配置为执行调用所述取消函数,取消所述已发送网络请求。
10.根据权利要求9所述的装置,其特征在于,还包括:
释放模块,被配置为执行在接收到与所述网络请求对应的回复内容时,释放所述数据结构中所述网络请求对应的网络请求发送记录。
11.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-5中任一项所述的网络请求的发送方法。
12.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-5中任一项所述的网络请求的发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110880236.9A CN113704592B (zh) | 2021-08-02 | 2021-08-02 | 网络请求的发送方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110880236.9A CN113704592B (zh) | 2021-08-02 | 2021-08-02 | 网络请求的发送方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704592A CN113704592A (zh) | 2021-11-26 |
CN113704592B true CN113704592B (zh) | 2023-10-17 |
Family
ID=78651340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110880236.9A Active CN113704592B (zh) | 2021-08-02 | 2021-08-02 | 网络请求的发送方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704592B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412630A (zh) * | 2016-09-23 | 2017-02-15 | Tcl集团股份有限公司 | 视频列表切换控制方法及装置 |
CN108337301A (zh) * | 2018-01-24 | 2018-07-27 | 深圳乐信软件技术有限公司 | 应用程序的网络请求处理方法、装置、服务器及存储介质 |
CN111355765A (zh) * | 2018-12-21 | 2020-06-30 | 北京金山云网络技术有限公司 | 一种网络请求的处理、发送方法及装置 |
CN112162842A (zh) * | 2020-10-13 | 2021-01-01 | 北京百度网讯科技有限公司 | 用于撤销请求的方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-08-02 CN CN202110880236.9A patent/CN113704592B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412630A (zh) * | 2016-09-23 | 2017-02-15 | Tcl集团股份有限公司 | 视频列表切换控制方法及装置 |
CN108337301A (zh) * | 2018-01-24 | 2018-07-27 | 深圳乐信软件技术有限公司 | 应用程序的网络请求处理方法、装置、服务器及存储介质 |
CN111355765A (zh) * | 2018-12-21 | 2020-06-30 | 北京金山云网络技术有限公司 | 一种网络请求的处理、发送方法及装置 |
CN112162842A (zh) * | 2020-10-13 | 2021-01-01 | 北京百度网讯科技有限公司 | 用于撤销请求的方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113704592A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7062681B2 (en) | Method and system for generically reporting events occurring within a computer system | |
US7386609B2 (en) | Method, system, and program for managing devices in a network | |
JPH0827726B2 (ja) | 共通エージェント・コンピュータ管理システムと方法 | |
US8725835B2 (en) | Method and web server for implementing web access | |
US10705949B2 (en) | Evaluation of library test suites using mutation testing | |
US11755744B2 (en) | Application programming interface specification inference | |
CN115168352A (zh) | 一种数据关联方法、终端及存储介质 | |
CN110704476A (zh) | 数据处理方法、装置、设备及存储介质 | |
US20170329708A1 (en) | Performing efficient cache invalidation | |
CN111600885A (zh) | Sql注入漏洞检测方法和装置、设备及存储介质 | |
US10999399B2 (en) | Offline use of network application | |
CN110990168B (zh) | 三层关联信息的生成方法、系统、电子设备及存储介质 | |
CN108089972B (zh) | 接口测试方法及装置 | |
CN112671574B (zh) | 前后端联调方法、装置、代理设备及存储介质 | |
CN113704592B (zh) | 网络请求的发送方法、装置、电子设备及存储介质 | |
CN110233843B (zh) | 一种用户请求的处理方法及装置 | |
CN107741951B (zh) | 页面数据处理方法、装置及电子设备 | |
CN110019262B (zh) | 数据更新方法及装置 | |
US20080307395A1 (en) | Providing Registration of a Communication | |
CN117056380B (zh) | 一种调用链数据的处理方法、装置及存储介质 | |
CN111695986B (zh) | 公积金影像管控方法和装置 | |
CN111737298B (zh) | 基于分布式存储的缓存数据管控方法及装置 | |
CN112148419B (zh) | 云平台中镜像管理方法、装置、系统及存储介质 | |
CN117349045A (zh) | 应用间通信方法、装置、设备及存储介质 | |
US8230001B2 (en) | Providing information about a system using scripts |
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 |