重复网络请求的处理方法、装置、计算机设备及存储介质与流程

未命名 10-22 阅读:122 评论:0


1.本技术涉及计算机技术领域,尤其涉及一种重复网络请求的处理方法、装置、计算机设备及存储介质。


背景技术:

2.网页开发中经常会用到请求接口的方式获取数据并渲染,由于采用了组件化的开发模式,使组件之间独立运行,所以每个组件会单独发起网络请求,导致一些网络请求是可能是重复的,进而导致了不必要的网络资源占用,现有技术中,为了解决重复请求的问题做一些额外程序,比如请求前置,增加数据缓存,但会产生额外的代码,增加了数据缓存后导致数据更新不及时、页面加载缓慢及卡顿等问题。因此,如何在实现去除重复请求的情况下减少数据缓存,成为了亟需解决的问题。


技术实现要素:

3.本技术提供了一种重复网络请求的处理方法、装置、计算机设备及存储介质,以在去除重复请求的过程中减少数据缓存。
4.第一方面,本技术提供了一种重复网络请求的处理方法,所述方法包括:
5.在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求;
6.在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数;
7.基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。
8.进一步地,所述基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态之前,还包括:
9.在所述第一目标请求的传出参数与所述第二目标请求的传出参数相同时,确定所述第一目标请求与所述第二目标请求相同;
10.在所述缓存区中存在所述传出参数对应的关键字时,确定所述第一目标请求以及所述第二目标请求在所述缓存区中处于所述请求中状态。
11.进一步地,所述在所述第一目标请求的传出参数与所述第二目标请求的传出参数相同时,确定所述第一目标请求与所述第二目标请求相同之后,还包括:
12.在所述缓存区中不存在所述传出参数对应的关键字时,调用所述第一函数接收所述传入参数,获得所述承诺对象;
13.在所述缓存区中创建以所述承诺对象为值的关键字。
14.进一步地,所述基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应
所述第一目标请求以及所述第二目标请求之后,还包括:
15.当所述承诺对象的状态更新为成功状态时,删除所述关键字。
16.进一步地,所述承诺对象的状态包括失败状态、所述请求中状态以及所述成功状态。
17.进一步地,所述在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,包括:
18.将所述第一函数以及所述第二函数作为参数,输入至所述第三函数,获得所述请求发起函数。
19.进一步地,所述传出参数为表示关键字的字符串。
20.第二方面,本技术还提供了一种重复网络请求的处理装置,所述装置包括:
21.目标请求生成模块,用于在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求;
22.传出参数获得模块,用于在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数;
23.请求执行模块,用于基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。
24.第三方面,本技术还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的重复网络请求的处理方法。
25.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的重复网络请求的处理方法。
26.本技术公开了一种重复网络请求的处理方法、装置、计算机设备及存储介质,在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求;在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数;基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。该方法通过对第一函数以及第二函数进行处理获得目标请求发起函数,使发起请求的第一函数以及判断请求是否重复的第二函数成为子函数,进而判断目标请求是否存在重复时,目标请求发起函数可以直接调用第二函数进行判断,所有目标请求发起函数的调用都会访问同一个缓存区,在缓存区存在相同的目标请求时,调用同一承诺对象,即可响应所有相同的目标请求,实现了重复网络请求的处理,有效减少了数据缓存。
附图说明
27.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1是本技术的实施例提供的一种重复网络请求的处理方法的第一实施例示意流程图;
29.图2是本技术的实施例提供的一种重复网络请求的处理方法的请求发起函数生成示意图;
30.图3是本技术的实施例提供的一种重复网络请求的处理方法的第二实施例示意流程图;
31.图4为本技术的实施例提供的一种重复网络请求的请求响应示意流程图;
32.图5是本技术的实施例提供的一种重复网络请求的处理方法的第三实施例示意流程图;
33.图6为本技术的实施例提供的一种重复网络请求的处理装置的示意性框图;
34.图7为本技术的实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
35.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
36.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
37.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
38.还应当进理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
39.本技术的实施例提供了一种重复网络请求的处理方法、装置、计算机设备及存储介质。其中,该重复网络请求的处理方法可以应用于服务器中,通过调用同一承诺对象,响应所有相同的目标请求,减少重复请求去除过程中的数据缓存。其中,该服务器可以为独立的服务器,也可以为服务器集群。
40.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
41.请参阅图1,图1是本技术的实施例提供的一种重复网络请求的处理方法的示意流程图。该重复网络请求的处理方法可应用于服务器中,用于调用同一承诺对象,响应所有相同的目标请求,减少重复请求去除过程中的数据缓存。
42.如图1所示,该重复网络请求的处理方法具体包括步骤s101至步骤s103。
43.s101、在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求。
44.在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,包括:将所述第一函数以及所述第二函数作为参数,输入至所述第三函数,获得所述请求发起
函数。
45.在一个实施例中,函数是指一段可以直接被另一段程序或代码引用的程序或代码,也叫做子程序、方法。
46.具体实施例中,如图2所示,基于封装好的第三函数将第一函数以及第二函数作为参数,生成新的请求发起函数。
47.在一个实施例中,请求发起函数的传入参数与第一函数的传入参数相同。
48.在一个实施例中,第一函数用于发起网络请求,第一函数的传入参数不限,可以是一些确定此次请求所要获取的数据的id,或是所要获取数据的条数、页码等,第一函数根据传入参数返回一个承诺对象。
49.其中,承诺对象(promise对象)是一个异步操作返回的对象,用来传递异步操作的消息;它有三种状态:pending:初始态(待定态);fulfilled:成功态;rejected:失败态。一般用于请求中,可以在成功态的时候获取到返回的数据。待定状态的promise对象会通过一个值被兑现,也会因为一个原因(错误)被拒绝。
50.在一个实施例中,根据请求发起函数,发起第一目标请求。
51.s102、在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数。
52.在一个实施例中,所述传出参数为表示关键字的字符串。
53.在一个实施例中,第二函数用来接收来自第一函数的入参,并明确返回一个字符串,作为标识网络请求是否为重复的请求的传出参数,比如第一函数接收一个参数为数据id,则第二函数同样接收一个数据id参数,此时第二函数可以把此数据id参数作为返回值即传出参数,在遇到相同的传出参数时,表明存在相同的网络请求。
54.在一个实施例中,传出参数用来判断请求是否重复。多个目标请求请求发起函数的调用里,会先执行第二函数,此时请求发起函数的传入参数会传到第二函数中,第二函数根据传入参数,返回一个区分是否为重复请求的关键字字符串。
55.其中,关键字即key键用来存储的值的编号,键值:就是要存放的数据,例如,“id:170”,key键为“id”,键值为“170”。
56.s103、基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。
57.基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求之后,还包括:当所述承诺对象的状态更新为成功状态时,删除所述关键字。
58.所述承诺对象的状态包括失败状态、所述请求中状态以及所述成功状态。
59.在一个实施例中,根据第二函数得到的传出参数,在缓存区查询当前字符串在缓存区中是否已经有key键(关键字),进而判断是否有未完成的请求。
60.在一个实施例中,如果当前key字符串在缓存区中没有key键,则表明当前没有未完成的请求,则调用第一函数发起网络请求,得到一个promise对象并在缓存区创建一个key键,key键的键值为第一函数得到的promise对象。
61.在一个实施例中,如果当前key字符串在缓存区中已经有key键,也就是请求中,直接返回key键对应的promise。当promise状态为完成后删除缓存区中的key键。
62.在一个实施例中,基于javascript的闭包特性,所有请求发起函数的调用都访问同一个缓存区,保证了多个函数调用采用同一个缓存,用于获取请求状态。其中,闭包就是能够读取其他函数内部变量的函数。在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
63.上述实施例提供了一种重复网络请求的处理方法、装置、计算机设备及存储介质,在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求;在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数;基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。该方法通过对第一函数以及第二函数进行处理获得目标请求发起函数,使发起请求的第一函数以及判断请求是否重复的第二函数成为子函数,进而判断目标请求是否存在重复时,目标请求发起函数可以直接调用第二函数进行判断,所有目标请求发起函数的调用都会访问同一个缓存区,在缓存区存在相同的目标请求时,调用同一承诺对象,即可响应所有相同的目标请求,实现了重复网络请求的处理,有效减少了数据缓存。
64.请参阅图3,图3是本技术的实施例提供的一种重复网络请求的处理方法的示意流程图。该重复网络请求的处理方法可应用于服务器中,用于调用同一承诺对象,响应所有相同的目标请求,减少重复请求去除过程中的数据缓存。
65.如图3所示,该重复网络请求的处理方法具体包括步骤s201至步骤s202。
66.s201、在所述第一目标请求的传出参数与所述第二目标请求的传出参数相同时,确定所述第一目标请求与所述第二目标请求相同;
67.s202、在所述缓存区中存在所述传出参数对应的关键字时,确定所述第一目标请求以及所述第二目标请求在所述缓存区中处于所述请求中状态。
68.在一个实施例中,调用第一目标请求中封装的第二函数,根据传入参数获得传出参数,同理,调用第二目标请求中封装的第二函数,获得穿出参数,在两个传出参数相同时,确定第一目标请求与第二目标请求互为重复请求。
69.在一个实施例中,传出参数为key字符串,在缓存区中查询是否存在与值为传出参数的key键,若存在,则说明第一目标请求与第二目标请求已经是请求中状态。
70.例如,如图4所示,请求c1、请求c2、请求c3、请求c4、请求c5即由请求发起函数根据初始网络请求的传入参数生成的目标请求,请求c1、请求c2以及请求c3的第二函数返回的字符串相同均为key1,则请求c1、请求c2以及请求c3为重复请求,同理,请求c4与请求c5为重复请求。在缓存区中查找是否存在字符串为key1、key2的key键,若存在,则说明请求正处于请求中状态,则直接调用key键对应的promise,实现请求的响应。
71.请参阅图5,图5是本技术的实施例提供的一种重复网络请求的处理方法的示意流程图。该重复网络请求的处理方法可应用于服务器中,用于调用同一承诺对象,响应所有相同的目标请求,减少重复请求去除过程中的数据缓存。
72.如图5所示,该重复网络请求的处理方法具体包括步骤s301至步骤s302。
73.s301、在所述缓存区中不存在所述传出参数对应的关键字时,调用所述第一函数接收所述传入参数,获得所述承诺对象;
74.s302、在所述缓存区中创建以所述承诺对象为值的关键字。
75.在一个实施例中,若缓存区中不存在值为传出参数的key键时,则说明等待区中不存在当前的第一目标请求,调用第一目标请求的请求发起函数中的第一函数根据传入参数生成promise对象,并在缓存区中创建key键,key键的值为promise。
76.例如,如图4所示,请求c1以及请求c4在缓存区中未查询到与其key字符串对应key键,则调用第一函数根据传入参数生成promise对象,在缓存区中创建key键,以标记请求c1、c4为请求中状态,进而调用key键对应的promise,完成请求的响应。
77.在一个实施例中,对于重复的请求只需调用其中一个请求的第一函数获得promise对象即可。
78.在一个实施例中,重复请求的传出参数相同,因此,在调用第一函数时只需调用一次,在调用promise时也只需调用一次,即可分别相应多个重复请求。
79.请参阅图6,图6是本技术的实施例提供一种重复网络请求的处理装置的示意性框图,该重复网络请求的处理装置用于执行前述的重复网络请求的处理方法。其中,该重复网络请求的处理装置可以配置于服务器。
80.如图6所示,该重复网络请求的处理装置500,包括:
81.目标请求生成模块501,用于在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求;
82.传出参数获得模块502,用于在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数;
83.请求执行模块503,用于基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。
84.在一个实施例中,所述重复网络请求的处理装置500,还包括重复请求以及请求状态确定模块,所述重复请求以及请求状态确定模块,包括:
85.重复请求确定单元,用于在所述第一目标请求的传出参数与所述第二目标请求的传出参数相同时,确定所述第一目标请求与所述第二目标请求相同;
86.请求状态确定单元,用于在所述缓存区中存在所述传出参数对应的关键字时,确定所述第一目标请求以及所述第二目标请求在所述缓存区中处于所述请求中状态。
87.在一个实施例中,所述重复请求以及请求状态确定模块,还包括:
88.传入参数接收单元,用于在所述缓存区中不存在所述传出参数对应的关键字时,调用所述第一函数接收所述传入参数,获得所述承诺对象;
89.关键字创建单元,用于在所述缓存区中创建以所述承诺对象为值的关键字。
90.在一个实施例中,所述重复网络请求的处理装置500,还包括:
91.关键字删除单元,用于当所述承诺对象的状态更新为成功状态时,删除所述关键字。
92.在一个实施例中,所述承诺对象的状态包括失败状态、所述请求中状态以及所述
成功状态。
93.在一个实施例中,所述目标请求生成模块501,包括:
94.请求发起获得单元,用于将所述第一函数以及所述第二函数作为参数,输入至所述第三函数,获得所述请求发起函数。
95.在一个实施例中,所述传出参数为表示关键字的字符串。
96.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
97.上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
98.请参阅图7,图7是本技术的实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器。
99.参阅图7,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
100.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种重复网络请求的处理方法。
101.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
102.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种重复网络请求的处理方法。
103.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
104.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
105.其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
106.在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求;
107.在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数;
108.基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。
109.在一个实施例中,所述处理器在实现基于所述传出参数,确定存在与所述第一目
标请求相同的第二目标请求且均处于请求中状态之前,还用于实现:
110.在所述第一目标请求的传出参数与所述第二目标请求的传出参数相同时,确定所述第一目标请求与所述第二目标请求相同;
111.在所述缓存区中存在所述传出参数对应的关键字时,确定所述第一目标请求以及所述第二目标请求在所述缓存区中处于所述请求中状态。
112.在一个实施例中,所述处理器在实现在所述第一目标请求的传出参数与所述第二目标请求的传出参数相同时,确定所述第一目标请求与所述第二目标请求相同之后,还用于实现:
113.在所述缓存区中不存在所述传出参数对应的关键字时,调用所述第一函数接收所述传入参数,获得所述承诺对象;
114.在所述缓存区中创建以所述承诺对象为值的关键字。
115.在一个实施例中,所述处理器在实现基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求之后,还用于实现:
116.当所述承诺对象的状态更新为成功状态时,删除所述关键字。
117.在一个实施例中,所述承诺对象的状态包括失败状态、所述请求中状态以及所述成功状态。
118.在一个实施例中,所述处理器在实现在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数时,用于实现:
119.将所述第一函数以及所述第二函数作为参数,输入至所述第三函数,获得所述请求发起函数。
120.在一个实施例中,所述传出参数为表示关键字的字符串。
121.本技术的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本技术实施例提供的任一项重复网络请求的处理方法。
122.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
123.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种重复网络请求的处理方法,其特征在于,包括:在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求;在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数;基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。2.根据权利要求1所述的重复网络请求的处理方法,其特征在于,所述基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态之前,还包括:在所述第一目标请求的传出参数与所述第二目标请求的传出参数相同时,确定所述第一目标请求与所述第二目标请求相同;在所述缓存区中存在所述传出参数对应的关键字时,确定所述第一目标请求以及所述第二目标请求在所述缓存区中处于所述请求中状态。3.根据权利要求2所述的重复网络请求的处理方法,其特征在于,所述在所述第一目标请求的传出参数与所述第二目标请求的传出参数相同时,确定所述第一目标请求与所述第二目标请求相同之后,还包括:在所述缓存区中不存在所述传出参数对应的关键字时,调用所述第一函数接收所述传入参数,获得所述承诺对象;在所述缓存区中创建以所述承诺对象为值的关键字。4.根据权利要求1所述的重复网络请求的处理方法,其特征在于,所述基于所述传出参数,确定存在与所述第一目标请求相同的第二目标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求之后,还包括:当所述承诺对象的状态更新为成功状态时,删除所述关键字。5.根据权利要求4所述的重复网络请求的处理方法,其特征在于,所述承诺对象的状态包括失败状态、所述请求中状态以及所述成功状态。6.根据权利要求1所述的重复网络请求的处理方法,其特征在于,所述在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,包括:将所述第一函数以及所述第二函数作为参数,输入至所述第三函数,获得所述请求发起函数。7.根据权利要求1-6任一项所述的重复网络请求的处理方法,其特征在于,所述传出参数为表示关键字的字符串。8.一种重复网络请求的处理装置,其特征在于,包括:目标请求生成模块,用于在接收到网络请求时,对第一函数以及第二函数进行处理,获得请求发起函数,基于所述网络请求以及所述请求发起函数,生成第一目标请求;传出参数获得模块,用于在所述第一目标请求的数量不唯一时,获取所述第一函数的传入参数,调用所述第二函数接收所述传入参数,获得传出参数;请求执行模块,用于基于所述传出参数,确定存在与所述第一目标请求相同的第二目
标请求且均处于请求中状态时,在缓存区中调用所述传出参数对应的承诺对象,分别响应所述第一目标请求以及所述第二目标请求。9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的重复网络请求的处理方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的重复网络请求的处理方法。

技术总结
本申请涉及计算机技术领域,具体公开了一种重复网络请求的处理方法、装置、计算机设备及存储介质。该方法通过对第一函数以及第二函数进行处理获得目标请求发起函数,使发起请求的第一函数以及判断请求是否重复的第二函数成为子函数,进而判断目标请求是否存在重复时,目标请求发起函数可以直接调用第二函数进行判断,所有目标请求发起函数的调用都会访问同一个缓存区,在缓存区存在相同的目标请求时,调用同一承诺对象,即可响应所有相同的目标请求,实现了重复网络请求的处理,有效减少了数据缓存。了数据缓存。了数据缓存。


技术研发人员:钟兆宁 陶建伟
受保护的技术使用者:广州三叠纪元智能科技有限公司
技术研发日:2023.06.05
技术公布日:2023/10/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐