一种业务请求处理方法及装置制造方法及图纸

技术编号:30709747 阅读:11 留言:0更新日期:2021-11-10 11:00
本发明专利技术公开了一种业务请求处理方法及装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取至少一个业务请求;分别生成与所述至少一个业务请求对应的至少一个第一任务,并利用至少一个第一线程将所述至少一个第一任务存放至分布式缓存队列中;利用至少一个第二线程从所述分布式缓存队列提取所述第一任务,并执行提取的所述第一任务;输出所述第一任务的执行结果。该实施方式避免高并发请求下缓存被击穿的风险,提高了系统的稳定性。提高了系统的稳定性。提高了系统的稳定性。

【技术实现步骤摘要】
一种业务请求处理方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种业务请求处理方法及装置。

技术介绍

[0002]随着互联网用户的不断增多,如何缓解多用户的高并发请求对业务平台带来的系统压力,已经成为保障系统稳定性的重点。
[0003]目前,一般引入缓存来支撑多用户的高并发请求:接收到用户的业务请求时,若缓存中不存在用户请求的业务数据,则执行相应的业务方法,以向底层存储设备请求业务数据,并将此次的结果数据存储于缓存中,在下次接收到针对该业务数据的业务请求时,可直接从缓存中返回业务数据。
[0004]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0005]当缓存中不存在与业务请求对应的业务数据时,会直接根据业务请求访问底层存储设备。在高并发请求下,缓存容易被击穿,使得大量的业务请求直接作用于底层存储设备,从而降低系统稳定性。

技术实现思路

[0006]有鉴于此,本专利技术实施例提供一种业务请求处理方法及装置,能够生成业务请求对应的第一任务,并利用第一线程将第一任务存放至分布式缓存队列中,再利用第二线程从分布式缓存队列中提取并执行第一任务,以响应业务请求。由此实现了业务请求对应的第一任务的异步并发存储与执行,从而可通过控制并发的第二线程的数量来控制执行并发请求的数量,也就是说,可控制同时执行的第一任务的最大数量为并发执行的第二线程的数量,由此避免高并发请求下缓存被击穿的风险,提高了系统的稳定性。
[0007]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种业务请求处理方法。
[0008]本专利技术实施例的一种业务请求处理方法包括:获取至少一个业务请求;
[0009]分别生成与所述至少一个业务请求对应的至少一个第一任务,并利用至少一个第一线程将所述至少一个第一任务存放至分布式缓存队列中;
[0010]利用至少一个第二线程从所述分布式缓存队列提取所述第一任务,并执行提取的所述第一任务;
[0011]输出所述第一任务的执行结果。
[0012]可选地,所述利用至少一个第一线程将所述至少一个第一任务存放至分布式缓存队列中,包括:
[0013]将所述至少一个第一任务存储至本地队列;
[0014]利用所述至少一个第一线程从所述本地队列中提取所述第一任务,并将提取的所述第一任务存放至所述分布式缓存队列中。
[0015]可选地,所述将提取的所述第一任务存放至所述分布式缓存队列中,包括:
[0016]确定所述分布式缓存队列中是否存在与所述第一任务相同的第二任务,如果否,
将所述第一任务存放至所述分布式缓存队列中。
[0017]可选地,当所述分布式缓存队列中存在与所述第一任务相同的第二任务时,
[0018]确定当前时间与所述第二任务的存储时间之间的差值,当所述差值大于时长阈值时,将所述第一任务存放至所述分布式缓存队列中;其中,所述第二任务的存储时间为所述第二任务存储至所述分布式缓存队列中的时间。
[0019]可选地,所述业务请求指示了处理参数;所述分别生成与至少一个所述业务请求对应的至少一个第一任务,包括:
[0020]根据所述业务请求的类型,从不同类型的请求处理过程中确定与所述业务请求相对应的目标请求处理过程;
[0021]根据所述目标请求处理过程以及所述处理参数,生成所述第一任务。
[0022]可选地,所述执行所述第一任务,包括:
[0023]根据所述处理参数调用所述目标请求处理过程,以执行所述第一任务。
[0024]可选地,所述输出所述第一任务的执行结果,包括:
[0025]将所述执行结果转换为符合发送所述业务请求的请求端的参数要求的格式,并将转化后的执行结果返回给所述请求端。
[0026]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种业务请求处理装置。
[0027]本专利技术实施例的一种业务请求处理装置包括:请求获取模块、任务管理模块、任务执行模块和结果输出模块;其中,
[0028]所述请求获取模块,用于获取至少一个业务请求;
[0029]所述任务管理模块,用于分别生成与所述至少一个业务请求对应的第一任务,并利用至少一个第一线程将所述至少一个第一任务存放至分布式缓存队列中;
[0030]所述任务执行模块,用于利用至少一个第二线程从所述分布式缓存队列中提取所述第一任务,并执行提取的所述第一任务;
[0031]所述结果输出模块,用于输出所述第一任务的执行结果。
[0032]可选地,所述业务请求指示了处理参数;
[0033]所述任务管理模块,用于根据所述业务请求的类型,从不同类型的请求处理过程中确定与所述业务请求相对应的目标请求处理过程;并根据所述目标请求处理过程以及所述处理参数,生成所述第一任务。
[0034]可选地,所述任务管理模块,用于确定所述分布式缓存队列中是否存在与所述第一任务相同的第二任务,如果否,将所述第一任务存放至所述分布式缓存队列中。
[0035]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种处理业务请求的电子设备。
[0036]本专利技术实施例的一种处理业务请求的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的一种业务请求处理方法。
[0037]为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读存储介质。
[0038]本专利技术实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的一种业务请求处理方法。
[0039]上述专利技术中的一个实施例具有如下优点或有益效果:能够生成业务请求对应的第一任务,并利用第一线程将第一任务存放至分布式缓存队列中,再利用第二线程从分布式缓存队列中提取并执行第一任务,以响应业务请求。由此实现了业务请求对应的第一任务的异步并发存储与执行,从而可通过控制并发的第二线程的数量来控制执行并发请求的数量,也就是说,可控制同时执行的第一任务的最大数量为并发执行的第二线程的数量,由此避免高并发请求下缓存被击穿的风险,提高了系统的稳定性。
[0040]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0041]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:
[0042]图1是根据本专利技术实施例的一种业务请求处理方法的主要步骤的示意图;
[0043]图2是根据本专利技术实施例的一种业务请求处理方法中任务存储的主要步骤的示意图;
[0044]图3是根据本专利技术实施例的另一种业务请求处理方法的主要步骤的示意图;
[0045]图4是根据本专利技术实施例的一种业务请求处理装置的主要模块的示意图;
[0046]图5是本专利技术实施例可以应用于其中的示例性系统架构图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务请求处理方法,其特征在于,包括:获取至少一个业务请求;分别生成与所述至少一个业务请求对应的至少一个第一任务,并利用至少一个第一线程将所述至少一个第一任务存放至分布式缓存队列中;利用至少一个第二线程从所述分布式缓存队列提取所述第一任务,并执行提取的所述第一任务;输出所述第一任务的执行结果。2.根据权利要求1所述的方法,其特征在于,所述利用至少一个第一线程将所述至少一个第一任务存放至分布式缓存队列中,包括:将所述至少一个第一任务存储至本地队列;利用所述至少一个第一线程从所述本地队列中提取所述第一任务,并将提取的所述第一任务存放至所述分布式缓存队列中。3.根据权利要求2所述的方法,其特征在于,所述将提取的所述第一任务存放至所述分布式缓存队列中,包括:确定所述分布式缓存队列中是否存在与所述第一任务相同的第二任务,如果否,将所述第一任务存放至所述分布式缓存队列中。4.根据权利要求3所述的方法,其特征在于,当所述分布式缓存队列中存在与所述第一任务相同的第二任务时,确定当前时间与所述第二任务的存储时间之间的差值,当所述差值大于时长阈值时,将所述第一任务存放至所述分布式缓存队列中;其中,所述第二任务的存储时间为所述第二任务存储至所述分布式缓存队列中的时间。5.根据权利要求1所述的方法,其特征在于,所述业务请求指示了处理参数;所述分别生成与至少一个所述业务请求对应的至少一个第一任务,包括:根据所述业务请求的类型,从不同类型的请求处理过程中确定与所述业务请求相对应的目标请求处理过程;根据所述目标请求处理过程以及所述处理参数,生成所述第一任务。6.根据权利要求5所述的方法,其特征在于,所述执行所述第一任务,包括:根据所述处理参数调用所述目...

【专利技术属性】
技术研发人员:刘小云
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1