网络请求异步处理方法及装置制造方法及图纸

技术编号:14819086 阅读:56 留言:0更新日期:2017-03-15 12:20
本发明专利技术公开了一种网络请求异步处理方法及装置,属于网络技术领域。该方法应用于服务器中,该服务器配置有创建线程池和执行线程池,该创建线程池中包括用于创建任务的创建线程,该执行线程池中包括用于执行任务的执行线程,包括:通过该创建线程,接收客户端发送的网络请求,并为该网络请求创建任务,将该任务添加至任务队列中;通过该执行线程,从该任务队列中提取该任务,并执行该任务;当该任务执行完成时,通过该执行线程向该客户端发送该任务的执行结果。本发明专利技术即使在接收到大量的网络请求时也可以有序地进行处理,不易造成阻塞,而且即使造成阻塞,也不会影响执行线程执行任务,提升了服务器的处理性能,有助于阻塞现象的快速解决。

【技术实现步骤摘要】

本专利技术涉及网络
,特别涉及一种网络请求异步处理方法及装置
技术介绍
随着网络规模的日益扩大,大量并发的网络请求对服务器的处理能力带来了极大的挑战,对网络请求的处理效率成为了衡量服务器性能的重要指标。通常情况下,服务器会配置线程池和任务队列,线程池中包括多个线程,当服务器接收到客户端发送的网络请求时,通过任一线程为该网络请求创建任务,添加到该任务队列中。之后,当线程池中存在空闲的线程时,通过该线程从该任务队列中提取该任务,并执行该任务,执行完成之后向该客户端发送执行结果。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:线程池中的线程同时负责任务的创建和执行,当服务器接收到大量的网络请求,为大量的网络请求创建任务时,很容易造成阻塞,而一旦造成阻塞会导致任务列表中已经创建好的任务也不能正常执行,影响服务器的处理性能。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种网络请求异步处理方法及装置。所述技术方案如下:第一方面,提供了一种网络请求异步处理方法,所述方法包括:应用于服务器中,所述服务器配置有创建线程池和执行线程池,所述创建线程池中包括用于创建任务的创建线程,所述执行线程池中包括用于执行任务的执行线程,所述方法包括:通过所述创建线程,接收客户端发送的网络请求,并为所述网络请求创建任务,将所述任务添加至任务队列中;通过所述执行线程,从所述任务队列中提取所述任务,并执行所述任务;当所述任务执行完成时,通过所述执行线程向所述客户端发送所述任务的执行结果。可选地,所述执行线程池中包括多个执行线程,所述通过所述执行线程,从所述任务队列中提取所述任务,包括:调用所述执行线程池中处于空闲状态的任一执行线程;通过调用的执行线程,从所述任务队列中提取所述任务。可选地,所述任务队列中的多个任务按照优先级从高到低的顺序排列,所述方法还包括:调用所述执行线程池中处于空闲状态的任一执行线程,通过调用的执行线程,从所述任务队列中提取优先级最高的任务。可选地,所述服务器配置有多个任务队列,每个任务队列的任务类型不同;所述将所述任务添加至任务队列中,包括:将所述任务添加至与所述任务的类型匹配的任务队列中。可选地,所述服务器配置有多个执行线程池,每个执行线程池匹配的任务类型不同,所述通过所述执行线程,从所述任务队列中提取所述任务,包括:从与所述任务的类型匹配的执行线程池中调用任一执行线程,通过调用的执行线程,从所述任务队列中提取所述任务。第二方面,提供了一种网络请求异步处理装置,应用于服务器中,所述服务器配置有创建线程池和执行线程池,所述创建线程池中包括用于创建任务的创建线程,所述执行线程池中包括用于执行任务的执行线程;所述装置包括:接收模块,用于通过所述创建线程,接收客户端发送的网络请求;创建任务模块,用于为所述网络请求创建任务,将所述任务添加至任务队列中;提取任务模块,用于通过所述执行线程,从所述任务队列中提取所述任务;任务执行模块,用于执行所述任务;发送模块,用于当所述任务执行完成时,通过所述执行线程向所述客户端发送所述任务的执行结果。可选地,所述执行线程池中包括多个执行线程,所述装置包括:调用模块,用于调用所述执行线程池中处于空闲状态的任一执行线程;所述提取任务模块,用于通过调用的执行线程,从所述任务队列中提取所述任务。可选地,所述任务队列中的多个任务按照优先级从高到低的顺序排列,所述装置还包括:调用模块,用于调用所述执行线程池中处于空闲状态的任一执行线程;所述提取任务模块,用于通过调用的执行线程,从所述任务队列中提取优先级最高的任务。可选地,所述服务器配置有多个任务队列,每个任务队列的任务类型不同;所述创建任务模块,用于将所述任务添加至与所述任务的类型匹配的任务队列中。可选地,所述服务器配置有多个执行线程池,每个执行线程池匹配的任务类型不同,所述提取任务模块用于从与所述任务的类型匹配的执行线程池中调用任一执行线程,通过调用的执行线程,从所述任务队列中提取所述任务。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例提供的方法及装置,通过分配配置创建线程池和执行线程池,提供了一种异步处理机制,由创建线程池中的创建线程为网络请求创建任务,由执行线程池中的执行线程执行任务,将创建过程和执行过程在不同的线程池中进行处理,即使在接收到大量的网络请求时也可以有序地进行处理,不易造成阻塞,而且即使造成阻塞,也不会影响执行线程执行任务,提升了服务器的处理性能,有助于阻塞现象的快速解决。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种网络请求异步处理方法的流程图;图2是本专利技术实施例提供的一种网络请求异步处理方法的流程图;图3是本专利技术实施例提供的一种操作流程示意图;图4是本专利技术实施例提供的一种网络请求异步处理装置的结构示意图;图5是本专利技术实施例提供的一种服务器的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是本专利技术实施例提供的一种网络请求异步处理方法的流程图。该专利技术实施例的执行主体为服务器,参见图1,该服务器配置有创建线程池和执行线程池,该创建线程池中包括用于创建任务的创建线程,该执行线程池中包括用于执行任务的执行线程,该方法包括:101、通过该创建线程,接收客户端发送的网络请求,并为该网络请求创建任务,将该任务添加至任务队列中。102、通过该执行线程,从该任务队列中提取该任务,并执行该任务。103、当该任务执行完成时,通过该执行线程向该客户端发送该任务的执行结果。本专利技术实施例提供的方法,通过分配配置创建线程池和执行线程池,提供了一种异步处理机制,由创建线程池中的创建线程为网络请求创建任务,由执行线程池中的执行线程执行任务,将创建过程和执行过程在不同的线程池中进行处理,即使在接收到大量的网络请求时也可以有序地进行处理,不易造成阻塞,而且即使造成阻塞,也不会影响执行线程执行任务,提升了服务器的处理性能,有助于阻塞现象的快速解决。可选地,该执行线程池中包括多个执行线程,通过该执行线程,从该任务队列中提取该任务,包括:调用该执行线程池中处于空闲状态的任一执行线程;通过调用的执行线程,从该任务队列中提取该任务。可选地,该任务队列中的多个任务按照优先级从高到低的顺序排列,该方法还包括:调用该执行线程池中处于空闲状态的任一执行线程,通过调用的执行线程,从该任务队列中提取优先级最高的任务。可选地,该服务器配置有多个执行线程池和多个任务队列,每个任务队列中的任务类型不同,每个执行线程池匹配的任务类型不同;将该任务添加至任务队列中,包括:将该任务添加至与该任务的类型匹配的任务队列中。可选地,该通过该执行线程,从该任务队列中提取该任务,包括:从与该任务的类型匹配的执行本文档来自技高网...
网络请求异步处理方法及装置

【技术保护点】
一种网络请求异步处理方法,其特征在于,应用于服务器中,所述服务器配置有创建线程池和执行线程池,所述创建线程池中包括用于创建任务的创建线程,所述执行线程池中包括用于执行任务的执行线程,所述方法包括:通过所述创建线程,接收客户端发送的网络请求,并为所述网络请求创建任务,将所述任务添加至任务队列中;通过所述执行线程,从所述任务队列中提取所述任务,并执行所述任务;当所述任务执行完成时,通过所述执行线程向所述客户端发送所述任务的执行结果。

【技术特征摘要】
1.一种网络请求异步处理方法,其特征在于,应用于服务器中,所述服务器配置有创建线程池和执行线程池,所述创建线程池中包括用于创建任务的创建线程,所述执行线程池中包括用于执行任务的执行线程,所述方法包括:通过所述创建线程,接收客户端发送的网络请求,并为所述网络请求创建任务,将所述任务添加至任务队列中;通过所述执行线程,从所述任务队列中提取所述任务,并执行所述任务;当所述任务执行完成时,通过所述执行线程向所述客户端发送所述任务的执行结果。2.根据权利要求1所述的方法,其特征在于,所述执行线程池中包括多个执行线程,所述通过所述执行线程,从所述任务队列中提取所述任务,包括:调用所述执行线程池中处于空闲状态的任一执行线程;通过调用的执行线程,从所述任务队列中提取所述任务。3.根据权利要求1所述的方法,其特征在于,所述任务队列中的多个任务按照优先级从高到低的顺序排列,所述方法还包括:调用所述执行线程池中处于空闲状态的任一执行线程,通过调用的执行线程,从所述任务队列中提取优先级最高的任务。4.根据权利要求1所述的方法,其特征在于,所述服务器配置有多个任务队列,每个任务队列的任务类型不同;所述将所述任务添加至任务队列中,包括:将所述任务添加至与所述任务的类型匹配的任务队列中。5.根据权利要求4所述的方法,其特征在于,所述服务器配置有多个执行线程池,每个执行线程池匹配的任务类型不同,所述通过所述执行线程,从所述任务队列中提取所述任务,包括:从与所述任务的类型匹配的执行线程池中调用任一执行线程,通过调用的执行线程,从所述任务队列中提取所述任务。6.一种网络请求异步处理装...

【专利技术属性】
技术研发人员:匡凌轩陈高昌
申请(专利权)人:广州华多网络科技有限公司
类型:发明
国别省市:广东;44

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

1