CN114006946B - 同质资源请求的处理方法、装置、设备及存储介质 - Google Patents
同质资源请求的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114006946B CN114006946B CN202111272471.4A CN202111272471A CN114006946B CN 114006946 B CN114006946 B CN 114006946B CN 202111272471 A CN202111272471 A CN 202111272471A CN 114006946 B CN114006946 B CN 114006946B
- Authority
- CN
- China
- Prior art keywords
- resource
- request
- target
- current resource
- request queue
- 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
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能领域,具体公开了一种同质资源请求的处理方法、装置、设备及存储介质。该方法包括:获取当前资源请求并获取对应的当前资源ID;将当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断内存请求队列中是否存在当前资源ID;若不存在,则在内存请求队列中创建与当前资源ID对应的目标请求队列,并将当前资源请求加入目标请求队列中;将当前资源请求确定为目标请求队列中的目标资源请求,将目标资源请求发送给服务器;获取服务器返回的响应结果,遍历目标请求队列中的所有资源请求,将响应结果同步给目标请求队列中的所有资源请求。通过上述方式,本发明能够缓解数据处理压力,提高请求处理效率,解决高并发问题。
Description
技术领域
本发明涉及人工智能技术领域,特别是涉及一种同质资源请求的处理方法、装置、设备及存储介质。
背景技术
面向互联网的服务,海量用户的高并发处理一直是必须谨慎对待和解决问题,特别是秒杀,抢购,开奖等互联网场景,该问题尤其突出。传统的解决方案一般是分流,优化数据库。其实,用户请求的内容很多时候是相同的,比如询问一个商品的库存,询问一个奖品的公共状态信息,这些是具有同质的资源请求,如果对于这些同质的资源请求仍然逐个请求地处理,会导致处理效率很低,并且占用较多的客户端和服务器的内存。
发明内容
本发明提供一种同质资源请求的处理方法、装置、设备及存储介质,能够缓解数据处理压力,提高请求处理效率,解决高并发问题。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种同质资源请求的处理方法,包括:
获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取所述当前资源请求的当前资源ID;
将所述当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断所述内存请求队列中是否存在所述当前资源ID;
若所述内存请求队列中不存在所述当前资源ID,则在所述内存请求队列中创建与所述当前资源ID对应的目标请求队列,并将所述当前资源请求加入所述目标请求队列中;
将所述当前资源请求确定为所述目标请求队列中的目标资源请求,将所述目标资源请求发送给服务器;
获取所述服务器返回的与所述目标资源请求对应的响应结果,遍历所述目标请求队列中的所有资源请求,将所述响应结果同步给所述目标请求队列中的所有资源请求。
根据本发明的一个实施例,所述基于预设的资源ID定义公式获取所述当前资源请求的当前资源ID包括:
根据所述当前资源请求获取场景信息并根据所述场景信息确定参数类型;
基于所述场景信息、所述参数类型以及所述资源ID定义公式获取所述当前资源请求的当前资源ID。
根据本发明的一个实施例,所述判断所述内存请求队列中是否存在所述当前资源ID之后,还包括:
若所述内存请求队列中存在所述当前资源ID,则从所述内存请求队列中确定与所述当前资源ID对应的目标请求队列,将所述当前资源请求加入所述目标请求队列中,等待所述响应结果。
根据本发明的一个实施例,所述遍历所述目标请求队列中的所有资源请求,将所述响应结果同步给所述目标请求队列中的所有资源请求之后,还包括:
从所述内存请求队列中删除所述目标资源请求对应的所述当前资源ID以及对应的所述目标请求队列。
根据本发明的一个实施例,在所述将所述目标资源请求发送给服务器之后以及在所述获取所述服务器返回的与所述目标资源请求对应的响应结果之前,还包括:
获取第二资源请求,基于所述资源ID定义公式获取所述第二资源请求的第二资源ID;
根据所述第二资源ID和所述当前资源ID判断所述第二资源请求与所述当前资源请求是否为同质请求;
若所述第二资源请求与所述当前资源请求为同质请求,则将所述第二资源ID加入所述目标请求队列中,等待所述响应结果。
根据本发明的一个实施例,所述等待所述响应结果还包括:
记录等待时间,若所述等待时间超过预设时间阈值,则重新向所述服务器发送所述目标资源请求。
根据本发明的一个实施例,所述等待所述响应结果还包括:
记录发送次数,若所述发送次数超过预设次数阈值,则停止向所述服务器发送所述目标资源请求并反馈响应失败信息给所述客户端。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种同质资源请求的处理装置,包括:
获取模块,用于获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取所述当前资源请求的当前资源ID;
判断模块,用于将所述当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断所述内存请求队列中是否存在所述当前资源ID;
创建模块,用于若所述内存请求队列中不存在所述当前资源ID,则在所述内存请求队列中创建与所述当前资源ID对应的目标请求队列,并将所述当前资源请求加入所述目标请求队列中;
发送模块,用于将所述当前资源请求确定为所述目标请求队列中的目标资源请求,将所述目标资源请求发送给服务器;
获取及同步模块,用于获取所述服务器返回的与所述目标资源请求对应的响应结果,遍历所述目标请求队列中的所有资源请求,将所述响应结果同步给所述目标请求队列中的所有资源请求。
为解决上述技术问题,本发明采用的再一个技术方案是:提供一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的同质资源请求的处理方法。
为解决上述技术问题,本发明采用的再一个技术方案是:提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述同质资源请求的处理方法。
本发明的有益效果是:通过将相同资源ID的同质请求加入同一请求队列中,并按照入列时间先后顺序将时间排序第一的资源请求作为目标请求队列的一个真正资源请求发给服务器,将返回的响应结果作为目标请求队列中所有资源请求的响应结果同步给所有资源请求。该方案不同于传统的优化请求资源的方案(比如优化数据库查询),直接源头合并资源请求,缓解数据处理压力,提高请求处理效率,解决高并发问题;也不同于传统的缓存方案(因资源结果变化而不好定义缓存的时间),服务器只需处理一个资源请求,实时返回一个资源响应结果,无需计算缓存时间,能够有效节省内存资源,提高数据处理效率,同时解决目前的缓存方案因为资源响应结果是变化的而存在缓存时间定义不准确的问题。
附图说明
图1是本发明第一实施例的同质资源请求的处理方法的流程示意图;
图2是本发明第一实施例的同质资源请求的处理方法中步骤S101的流程示意图;
图3是本发明第二实施例的同质资源请求的处理方法的流程示意图;
图4是本发明第三实施例的同质资源请求的处理方法的流程示意图;
图5是本发明第四实施例的同质资源请求的处理方法的流程示意图;
图6是本发明实施例的同质资源请求的处理装置的结构示意图;
图7是本发明实施例的计算机设备的结构示意图;
图8是本发明实施例的计算机存储介质的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
图1是本发明第一实施例的同质资源请求的处理方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括步骤:
步骤S101:获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取当前资源请求的当前资源ID。
在步骤S101中,本实施例的资源ID可以根据资源请求进行定义,资源ID是资源请求的唯一身份标志,是判断资源请求是否为同质请求的标准。针对逐个获取资源请求的应用场景,对每一个客户端发送的资源请求均获取对应的资源ID,将相同资源ID的资源请求认为是同质请求,将不同资源ID的资源请求认为非同质请求。进一步地,请参见图2,基于预设的资源ID定义公式获取当前资源请求的当前资源ID的步骤还包括以下步骤:
步骤S201:根据当前资源请求获取场景信息并根据场景信息确定参数类型。
步骤S202:基于场景信息、参数类型以及资源ID定义公式获取当前资源请求的当前资源ID。
本实施例的预设资源ID定义公式为资源ID=genResourceId(request)。具体地,例如,当前资源请求为查询某个商品的库存信息,则资源ID=inventory#productID,其中,inventory是库存信息,productID是某个具体的商品ID;又例如,当前资源请求为查询某个活动的公共状态信息,则资源ID=activity#activityID,activity是活动信息,activityID是某个具体的活动ID。
步骤S102:将当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断所述内存请求队列中是否存在当前资源ID。
在步骤S102中,内存请求队列包括多个资源ID对应的多个请求队列。本实施例的一个资源ID对应一个请求队列,每个请求队列中可以容纳多个资源请求,将同一个资源ID对应的请求队列中的所有资源请求认为是同质请求。本实施例的内存请求队列中记录有正在处理的资源请求对应的资源ID,已经存储在内存请求队列中的资源ID为历史资源ID。当获取一个新的资源ID时,需将检查内存队列中是否已经存在该资源ID,若不存在,则执行步骤S103。
步骤S103:若内存请求队列中不存在当前资源ID,则在内存请求队列中创建与当前资源ID对应的目标请求队列,并将当前资源请求加入目标请求队列中。
在步骤S103中,若内存请求队列中不存在当前资源ID,则将当前资源ID存储进内存请求队列中并创建该当前资源ID对应的请求队列,即目标请求队列,将当前资源请求加入目标请求队列中,此时,当前资源请求为按照入列时间先后顺序排序第一的资源请求,即步骤S104的目标资源请求。
步骤S104:将当前资源请求确定为目标请求队列中的目标资源请求,将目标资源请求发送给服务器。
在步骤S104中,将当前资源请求作为目标请求队列的一个真正资源请求,本实施例只需发送当前资源请求给服务器,服务器只需处理该当前资源请求并返回一个响应结果,本实施将返回的响应结果作为目标请求队列中所有资源请求的响应结果。相对于当前的同质请求合并方案:将一个请求队列中的所有资源请求进行打包合并成一个请求发给服务器,此方案的服务器仍需处理打包合并中的多个资源请求,本实施的服务器只需处理一个资源请求,实时返回一个资源响应结果,无需计算缓存时间,有效减轻了数据处理压力,节省了内存资源,提高了数据处理效率,同时解决了目前的缓存方案因为资源响应结果是变化的而存在缓存时间定义不准确的问题。
步骤S105:获取服务器返回的与目标资源请求对应的响应结果,遍历目标请求队列中的所有资源请求,将响应结果同步给目标请求队列中的所有资源请求。
在步骤S105中,因为在前述步骤已经对每个获取资源请求根据资源ID进行了分类,将属于同一个资源ID对应的请求队列中的所有资源请求认为是同质请求,同质请求的响应结果相同,因此,在获得响应结果时,只需将响应结果同步复制给该目标请求队列中的所有资源请求。
本发明第一实施例的同质资源请求的处理方法通过将相同资源ID的同质请求加入同一请求队列中,并按照入列时间先后顺序将时间排序第一的资源请求作为目标请求队列的一个真正资源请求发给服务器,将返回的响应结果作为目标请求队列中所有资源请求的响应结果同步给所有资源请求。该方案不同于传统的优化请求资源的方案(比如优化数据库查询),直接源头合并资源请求,缓解数据处理压力,提高请求处理效率,解决高并发问题;也不同于传统的缓存方案(因资源结果变化而不好定义缓存的时间),服务器只需处理一个资源请求,实时返回一个资源响应结果,无需计算缓存时间,能够有效节省内存资源,提高数据处理效率,同时解决目前的缓存方案因为资源响应结果是变化的而存在缓存时间定义不准确的问题。
图3是本发明第二实施例的同质资源请求的处理方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。如图3所示,该方法包括步骤:
步骤S301:获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取当前资源请求的当前资源ID。
在本实施例中,图3中的步骤S301和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S302:将当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断所述内存请求队列中是否存在当前资源ID。
在本实施例中,图3中的步骤S302和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S303:若内存请求队列中不存在当前资源ID,则在内存请求队列中创建与当前资源ID对应的目标请求队列,并将当前资源请求加入目标请求队列中。
在本实施例中,图3中的步骤S303和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S304:若内存请求队列中存在当前资源ID,则从内存请求队列中确定与当前资源ID对应的目标请求队列,将当前资源请求加入目标请求队列中,等待响应结果。
在步骤S304中,若内存请求队列中存在当前资源ID,表示当前资源请求不是按照入列时间先后顺序排序第一的资源请求,即当前资源请求不是目标资源请求,目标资源请求在创建目标请求队列时已确定并发送给服务器处理,此时,无需从所述目标请求队列中获取目标资源请求。在前述步骤中,将目标资源请求发送给服务器,服务器处理目标资源请求并返回响应结果需要耗时一定的时间,例如2秒,在这段时间内,若有其他同质的资源请求入列,只需等待响应结果,无需重新发送目标资源请求发送给服务器。
进一步地,在等待响应结果的过程中,还包括:
记录等待时间,若等待时间超过预设时间阈值,则重新向服务器发送目标资源请求。
进一步地,在等待响应结果的过程中,还包括:
记录发送次数,若发送次数超过预设次数阈值,则停止向服务器发送目标资源请求并反馈响应失败信息给客户端。
步骤S305:将当前资源请求确定为目标请求队列中的目标资源请求,将目标资源请求发送给服务器。
在本实施例中,图3中的步骤S305和图1中的步骤S104类似,为简约起见,在此不再赘述。
步骤S306:获取服务器返回的与目标资源请求对应的响应结果,遍历目标请求队列中的所有资源请求,将响应结果同步给目标请求队列中的所有资源请求。
在本实施例中,图3中的步骤S306和图1中的步骤S105类似,为简约起见,在此不再赘述。
本发明第二实施例的同质资源请求的处理方法在第一实施例的基础上,通过在等待响应结果的过程中,将同质资源请求加入相同的资源ID的请求队列中,等待返回响应结果,而无需再次发送资源请求,有效缓解请求处理压力,提高请求处理效率,解决高并发问题。
图4是本发明第三实施例的同质资源请求的处理方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图4所示的流程顺序为限。如图4所示,该方法包括步骤:
步骤S401:获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取当前资源请求的当前资源ID。
在本实施例中,图4中的步骤S401和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S402:将当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断所述内存请求队列中是否存在当前资源ID。
在本实施例中,图4中的步骤S402和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S403:若内存请求队列中不存在当前资源ID,则在内存请求队列中创建与当前资源ID对应的目标请求队列,并将当前资源请求加入目标请求队列中。
在本实施例中,图4中的步骤S403和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S404:将当前资源请求确定为目标请求队列中的目标资源请求,将目标资源请求发送给服务器。
在本实施例中,图4中的步骤S404和图1中的步骤S104类似,为简约起见,在此不再赘述。
步骤S405:获取服务器返回的与目标资源请求对应的响应结果,遍历目标请求队列中的所有资源请求,将响应结果同步给目标请求队列中的所有资源请求。
在本实施例中,图4中的步骤S405和图1中的步骤S105类似,为简约起见,在此不再赘述。
步骤S406:从内存请求队列中删除目标资源请求对应的当前资源ID以及对应的目标请求队列。
在步骤S406中,将响应结果同步给目标请求队列中的所有资源请求之后,从内存请求队列中删除目标资源请求对应的资源ID以及对应的目标请求队列,能够释放内存请求队列的内存空间,同时减少了每次同质请求的数据处理量,从而提高了处理效率。
本发明第三实施例的同质资源请求的处理方法在第一实施例的基础上,通过从内存请求队列中删除目标资源请求对应的资源ID以及对应的目标请求队列,能够释放内存请求队列的内存空间,同时减少了每次同质请求的数据处理量,从而提高了处理效率。
图5是本发明第四实施例的同质资源请求的处理方法的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图5所示的流程顺序为限。如图5所示,该方法包括步骤:
步骤S501:获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取当前资源请求的当前资源ID。
在本实施例中,图5中的步骤S501和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S502:将当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断所述内存请求队列中是否存在当前资源ID。
在本实施例中,图5中的步骤S502和图1中的步骤S102类似,为简约起见,在此不再赘述。
步骤S503:若内存请求队列中不存在当前资源ID,则在内存请求队列中创建与当前资源ID对应的目标请求队列,并将当前资源请求加入目标请求队列中。
在本实施例中,图5中的步骤S503和图1中的步骤S103类似,为简约起见,在此不再赘述。
步骤S504:将当前资源请求确定为目标请求队列中的目标资源请求,将目标资源请求发送给服务器。
在本实施例中,图5中的步骤S504和图1中的步骤S104类似,为简约起见,在此不再赘述。
步骤S505:获取第二资源请求,基于资源ID定义公式获取所述第二资源请求的第二资源ID。
在本实施例中,图5中的步骤S505和图1中的步骤S101类似,为简约起见,在此不再赘述。
步骤S506:根据第二资源ID和当前资源ID判断第二资源请求与当前资源请求是否为同质请求。
在步骤S506中,若第二资源ID与当前资源ID相同,则表示当前资源请求与第二资源请求为同质请求,执行步骤S507,若第二资源ID与当前资源ID不相同,则表示当前资源请求与第二资源请求不是同质请求,则需判断内存请求队列中是否存在第二资源ID。
步骤S507:若第二资源请求与所述当前资源请求为同质请求,则将第二资源ID加入目标请求队列中,等待响应结果。
在步骤S507中,若第二资源ID与当前资源ID相同,则表示当前资源请求与第二资源请求为同质请求,因为在步骤S504中已将当前资源请求作为目标资源请求发送给服务器处理,因此,第二资源请求不是目标资源请求,只需将第二资源请求加入目标请求队列中,等待响应结果即可,同时无需重新发送目标资源请求发送给服务器。
进一步地,在等待响应结果的过程中,还包括:
记录等待时间,若等待时间超过预设时间阈值,则重新向服务器发送目标资源请求。
进一步地,在等待响应结果的过程中,还包括:
记录发送次数,若发送次数超过预设次数阈值,则停止向服务器发送目标资源请求并反馈响应失败信息给客户端。
步骤S508:获取服务器返回的与目标资源请求对应的响应结果,遍历目标请求队列中的所有资源请求,将响应结果同步给目标请求队列中的所有资源请求。
在本实施例中,图5中的步骤S508和图1中的步骤S105类似,为简约起见,在此不再赘述。
本发明第四实施例的同质资源请求的处理方法在第一实施例的基础上,通过在等待响应结果的过程中,将同质资源请求加入相同的资源ID的请求队列中,等待返回响应结果,而无需再次发送资源请求,有效缓解请求处理压力,提高请求处理效率,解决高并发问题。
图6是本发明实施例的同质资源请求的处理装置的结构示意图。如图6所示,该装置60包括获取模块61、判断模块62、创建模块63、发送模块64和获取及同步模块65。
获取模块61用于获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取当前资源请求的当前资源ID;
判断模块62用于将当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断内存请求队列中是否存在当前资源ID;
创建模块63用于若内存请求队列中不存在当前资源ID,则在内存请求队列中创建与当前资源ID对应的目标请求队列,并将当前资源请求加入目标请求队列中;
发送模块64用于将当前资源请求确定为目标请求队列中的目标资源请求,将目标资源请求发送给服务器;
获取及同步模块65用于获取服务器返回的与目标资源请求对应的响应结果,遍历目标请求队列中的所有资源请求,将响应结果同步给目标请求队列中的所有资源请求。
请参阅图7,图7为本发明实施例的计算机设备的结构示意图。如图7所示,该计算机设备70包括处理器71及和处理器71耦接的存储器72。
存储器72存储有用于实现上述任一实施例所述的同质资源请求的处理方法的程序指令。
处理器71用于执行存储器72存储的程序指令以处理同质资源请求。
其中,处理器71还可以称为CPU(Central Processing Unit,中央处理单元)。处理器71可能是一种集成电路芯片,具有信号的处理能力。处理器71还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
参阅图8,图8为本发明实施例的计算机存储介质的结构示意图。本发明实施例的计算机存储介质存储有能够实现上述所有方法的程序文件81,其中,该程序文件81可以以软件产品的形式存储在上述计算机存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的计算机存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种同质资源请求的处理方法,其特征在于,包括:
获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取所述当前资源请求的当前资源ID;
将所述当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断所述内存请求队列中是否存在所述当前资源ID;
若所述内存请求队列中不存在所述当前资源ID,则在所述内存请求队列中创建与所述当前资源ID对应的目标请求队列,并将所述当前资源请求加入所述目标请求队列中;
将所述当前资源请求确定为所述目标请求队列中的目标资源请求,将所述目标资源请求发送给服务器;
获取所述服务器返回的与所述目标资源请求对应的响应结果,遍历所述目标请求队列中的所有资源请求,将所述响应结果同步给所述目标请求队列中的所有资源请求;
所述基于预设的资源ID定义公式获取所述当前资源请求的当前资源ID包括:
根据所述当前资源请求获取场景信息并根据所述场景信息确定参数类型;
基于所述场景信息、所述参数类型以及所述资源ID定义公式获取所述当前资源请求的当前资源ID。
2.根据权利要求1所述的处理方法,其特征在于,所述判断所述内存请求队列中是否存在所述当前资源ID之后,还包括:
若所述内存请求队列中存在所述当前资源ID,则从所述内存请求队列中确定与所述当前资源ID对应的目标请求队列,将所述当前资源请求加入所述目标请求队列中,等待所述响应结果。
3.根据权利要求1所述的处理方法,其特征在于,所述遍历所述目标请求队列中的所有资源请求,将所述响应结果同步给所述目标请求队列中的所有资源请求之后,还包括:
从所述内存请求队列中删除所述目标资源请求对应的所述当前资源ID以及对应的所述目标请求队列。
4.根据权利要求1所述的处理方法,其特征在于,在所述将所述目标资源请求发送给服务器之后以及在所述获取所述服务器返回的与所述目标资源请求对应的响应结果之前,还包括:
获取第二资源请求,基于所述资源ID定义公式获取所述第二资源请求的第二资源ID;
根据所述第二资源ID和所述当前资源ID判断所述第二资源请求与所述当前资源请求是否为同质请求;
若所述第二资源请求与所述当前资源请求为同质请求,则将所述第二资源ID加入所述目标请求队列中,等待所述响应结果。
5.根据权利要求2或4所述的处理方法,其特征在于,所述等待所述响应结果还包括:
记录等待时间,若所述等待时间超过预设时间阈值,则重新向所述服务器发送所述目标资源请求。
6.根据权利要求5所述的处理方法,其特征在于,所述等待所述响应结果还包括:
记录发送次数,若所述发送次数超过预设次数阈值,则停止向所述服务器发送所述目标资源请求并反馈响应失败信息给所述客户端。
7.一种同质资源请求的处理装置,其特征在于,包括:
获取模块,用于获取客户端发送的当前资源请求,基于预设的资源ID定义公式获取所述当前资源请求的当前资源ID;
所述基于预设的资源ID定义公式获取所述当前资源请求的当前资源ID包括:
根据所述当前资源请求获取场景信息并根据所述场景信息确定参数类型;
基于所述场景信息、所述参数类型以及所述资源ID定义公式获取所述当前资源请求的当前资源ID;
判断模块,用于将所述当前资源ID与内存请求队列中的所有历史资源ID进行比对,判断所述内存请求队列中是否存在所述当前资源ID;
创建模块,用于若所述内存请求队列中不存在所述当前资源ID,则在所述内存请求队列中创建与所述当前资源ID对应的目标请求队列,并将所述当前资源请求加入所述目标请求队列中;
发送模块,用于将所述当前资源请求确定为所述目标请求队列中的目标资源请求,将所述目标资源请求发送给服务器;
获取及同步模块,用于获取所述服务器返回的与所述目标资源请求对应的响应结果,遍历所述目标请求队列中的所有资源请求,将所述响应结果同步给所述目标请求队列中的所有资源请求。
8.一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6任一项所述的同质资源请求的处理方法。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的同质资源请求的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111272471.4A CN114006946B (zh) | 2021-10-29 | 2021-10-29 | 同质资源请求的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111272471.4A CN114006946B (zh) | 2021-10-29 | 2021-10-29 | 同质资源请求的处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114006946A CN114006946A (zh) | 2022-02-01 |
CN114006946B true CN114006946B (zh) | 2023-08-29 |
Family
ID=79925123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111272471.4A Active CN114006946B (zh) | 2021-10-29 | 2021-10-29 | 同质资源请求的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114006946B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114995748A (zh) * | 2022-05-09 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 请求处理方法及装置 |
CN116405384B (zh) * | 2023-03-21 | 2024-01-30 | 北京志凌海纳科技有限公司 | 解决声明式api资源竞态的方法、系统、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293946A (zh) * | 2016-08-16 | 2017-01-04 | 东软集团股份有限公司 | 资源获取的方法及服务器 |
WO2019001256A1 (zh) * | 2017-06-25 | 2019-01-03 | 平安科技(深圳)有限公司 | 高并发数据处理方法、装置及计算机可读存储介质 |
CN109491801A (zh) * | 2018-09-27 | 2019-03-19 | 平安科技(深圳)有限公司 | 微服务访问调度方法、装置、介质及电子设备 |
CN109710402A (zh) * | 2018-12-17 | 2019-05-03 | 平安普惠企业管理有限公司 | 处理资源获取请求的方法、装置、计算机设备和存储介质 |
CN111367868A (zh) * | 2018-12-26 | 2020-07-03 | 北京奇虎科技有限公司 | 一种文件获取请求的处理方法和装置 |
CN112445988A (zh) * | 2019-08-29 | 2021-03-05 | 北京京东尚科信息技术有限公司 | 一种数据加载方法和装置 |
CN112751785A (zh) * | 2020-12-30 | 2021-05-04 | 平安普惠企业管理有限公司 | 待处理请求发送方法、装置、计算机设备及存储介质 |
-
2021
- 2021-10-29 CN CN202111272471.4A patent/CN114006946B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293946A (zh) * | 2016-08-16 | 2017-01-04 | 东软集团股份有限公司 | 资源获取的方法及服务器 |
WO2019001256A1 (zh) * | 2017-06-25 | 2019-01-03 | 平安科技(深圳)有限公司 | 高并发数据处理方法、装置及计算机可读存储介质 |
CN109491801A (zh) * | 2018-09-27 | 2019-03-19 | 平安科技(深圳)有限公司 | 微服务访问调度方法、装置、介质及电子设备 |
CN109710402A (zh) * | 2018-12-17 | 2019-05-03 | 平安普惠企业管理有限公司 | 处理资源获取请求的方法、装置、计算机设备和存储介质 |
CN111367868A (zh) * | 2018-12-26 | 2020-07-03 | 北京奇虎科技有限公司 | 一种文件获取请求的处理方法和装置 |
CN112445988A (zh) * | 2019-08-29 | 2021-03-05 | 北京京东尚科信息技术有限公司 | 一种数据加载方法和装置 |
CN112751785A (zh) * | 2020-12-30 | 2021-05-04 | 平安普惠企业管理有限公司 | 待处理请求发送方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114006946A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9635093B2 (en) | Slave side transaction ID buffering for efficient distributed transaction management | |
CN114006946B (zh) | 同质资源请求的处理方法、装置、设备及存储介质 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN103064960A (zh) | 数据库查询方法及设备 | |
CN113010818A (zh) | 访问限流方法、装置、电子设备及存储介质 | |
WO2019057193A1 (zh) | 数据删除方法及分布式存储系统 | |
CN109842621A (zh) | 一种减少token存储数量的方法及终端 | |
CN107943846A (zh) | 数据处理方法、装置及电子设备 | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
CN113127232A (zh) | 消息处理方法、装置、设备及存储介质 | |
CN105373563B (zh) | 数据库切换方法及装置 | |
CN110233843B (zh) | 一种用户请求的处理方法及装置 | |
CN110069533B (zh) | 一种基于区块链的事件订阅方法及装置 | |
CN111282263A (zh) | 事件消息的处理方法、装置、电子设备及可读存储介质 | |
CN110943876B (zh) | Url状态检测方法、装置、设备和系统 | |
CN113377817A (zh) | 数据处理方法、系统、设备及存储介质 | |
CN112052104A (zh) | 基于多机房实现的消息队列的管理方法及电子设备 | |
CN111209263A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN110018782B (zh) | 一种数据读/写方法及相关装置 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
CN114116889A (zh) | 物料数据的同步方法、装置、计算机设备和存储介质 | |
CN111371884A (zh) | 局域网内的数据处理方法、客户机、介质、请求端及系统 | |
CN107679093B (zh) | 一种数据查询方法及装置 | |
CN112187916A (zh) | 一种跨系统的数据同步方法与装置 | |
CN112565286A (zh) | 一种基于rpc访问的任务响应方法、装置、设备和存储介质 |
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 |