一种异步通信方法和装置制造方法及图纸

技术编号:13624977 阅读:59 留言:0更新日期:2016-09-01 18:01
本发明专利技术公开了一种异步通信方法,包括:接收客户端发送的任务报文;处理所述任务报文的资源请求,获取得到的部分结果;根据任务报文生成标识信息,将所述部分结果和标识信息发送至客户端;继续处理未完成的所述资源请求,获取得到的部分结果并暂存;接收到客户端发送的标识信息时,将暂存的所述部分结果发送至客户端。本发明专利技术提供的方法和装置,通过对任务报文的资源请求进行分阶段处理,利用两次请求的时间差处理各部分资源请求,得到部分结果并发送至客户端,将耗时较长的复杂任务分割为多个耗时较短的简单任务,利用空闲线程分别完成,有效减轻了处理压力,可以避免客户端长时间等待,尤其可以避免在高并发请求下发生无响应导致请求失败的问题。

【技术实现步骤摘要】

本专利技术涉及通信
,特别是指一种异步通信方法和装置
技术介绍
现有技术中最基本的信息交互方式,客户端有目的性地向服务器端发起资源请求,并处于结果信息等待状态,服务器端在收到来自客户端的资源请求后,根据请求内容查找相应的资源,经过一定的计算处理后得到结果,响应给客户端。整个交互过程中,客户端需要一直处于同步等待状态,一旦服务器端处理超负荷导致处理能力下降时,会延长客户端的等待时间甚至由于长时间无响应导致整个请求过程失败,客户端需要重新发起请求执行上述过程,这样一方面浪费了之前的等待时间资源,另一方面重新发起请求加剧了服务器端的负荷。可以看出,这种请求/应答的同步等待响应模式,并不能高效的处理来自客户端的请求,尤其是当服务器端在高并发请求下资源紧张的时候,会造成更为严重的后果。针对这个问题,业界现有的解决方案是在客户端和服务器端中间引入一个代理服务,客户端只向代理服务请求信息,代理服务收到请求信息后先从自己的数据缓存中查看是否有已缓存的结果信息,如果有则直接返回,否则由代理服务向后端真实的服务器端发起资源请求,将得到的结果返回给客户端并在内部缓存以备下次客户端请求使用。如果在请求服务端的过程中出现了错误,代理服务会按预设的策略进行多次重试直到有明确的结果信息,整个重试过程对客户端透明。此方案通过缓存及透明重试机制提升了响应客户端的请求效率,缓解了后端服务器的处理压力,但从本质上来讲,仍是同步的请求/响应模式,当来自前端的客户端请求过多的时候,由于代理服务的缓存能力有限,大多数请求仍会穿透到后端服务器上,一旦所请求资源需要的计算量加大,同样会给服务端带来巨大的压力,响应变缓慢,不断积压处理请求,不仅造成客户端长时间挂起,甚至会引起代理服务宕机,没有从根本上解决问题。综合上述问题,希望能够提供一种方法,将一次资源请求分阶段完成,并
将每次处理部分资源请求得到的部分过程结果及时返回客户端,直到获取资源处理请求的全部结果,从而将压力峰值有效分散,从根本上解决上述问题。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种异步通信方法和装置,用以实现将资源请求分阶段处理,从而有效减轻处理压力。基于上述目的本专利技术提供的一种异步通信方法的实施例,包括:接收客户端发送的任务报文;处理所述任务报文的资源请求,获取得到的部分结果;根据任务报文生成标识信息,将所述部分结果和标识信息发送至客户端;继续处理未完成的所述资源请求,获取得到的部分结果并暂存;接收到客户端发送的标识信息时,将暂存的所述部分结果发送至客户端。可选的,所述处理所述任务报文的资源请求,获取得到的部分结果,具体包括:获取所述资源请求预期处理的数据量,判断所述数据量是否达到预设的数据量阈值;若判定所述数据量达到预设的数据量阈值,通过快速处理方式处理所述资源请求得到部分结果;若判定所述数据量未达到预设的数据量阈值,通过普通处理方式处理所述资源请求得到完整结果。可选的,所述继续处理未完成的所述资源请求,取得部分结果并暂存,具体包括:建立与所述标识信息绑定资源请求队列,将所述任务报文中未处理的资源请求存入所述资源请求队列;处理所述资源请求队列中的资源请求,将得到的部分结果暂存至与所述标识信息绑定的第一临时存储空间;所述接收到客户端发送的标识信息时,将暂存的所述部分结果发送至客户端,具体包括:接收到客户端发送的标识信息时,将与所述标识信息绑定的第一临时存储空间中存储的部分结果发送至客户端。可选的,方法还包括:将所述得到的部分结果对应的资源请求从所述资源请求队列中移除;判断所述资源请求队列中的所述资源请求是否处理完成;若判定资源请求处理完成,为所述第一临时存储空间中存储的所述部分结果添加指示资源请求完成的终止标识。可选的,方法还包括:判断与所述标识信息绑定的第一临时存储空间中存储的部分结果是否包括终止标识;若包括,在发送完毕后清除所述第一临时存储空间。基于上述目的本专利技术提供的一种异步通信装置的实施例,包括:第一通信单元,用于接收客户端发送的任务报文;处理单元,用于处理所述任务报文的资源请求,获取得到的部分结果;标识信息单元,用于根据任务报文生成标识信息;所述第一通信单元用于将所述部分结果和标识信息发送至客户端;所述处理单元还用于继续处理未完成的所述资源请求,获取得到的部分结果并暂存;所述第一通信单元还用于在接收到客户端发送的标识信息时,将所述处理单元暂存的所述部分结果发送至客户端。可选的,所述处理单元包括:数据量判断模块,用于获取所述资源请求预期处理的数据量,判断所述数据量是否达到预设的数据量阈值;若判定所述数据量达到预设的数据量阈值,所述处理单元用于通过快速处理方式处理所述资源请求得到部分结果;若判定所述数据量未达到预设的数据量阈值,所述处理单元用于通过普通处理方式处理所述资源请求得到完整结果。可选的,所述处理单元包括:队列模块,用于建立与所述标识信息绑定资源请求队列,将所述任务报文中未处理的资源请求存入所述资源请求队列;第一临时存储模块,用于将处理所述资源请求队列中的资源请求得到的部分结果暂存至与所述标识信息绑定的第一临时存储空间;所述第一通信单元用于在接收到客户端发送的标识信息时,将与所述标识信息绑定的第一临时存储空间中存储的部分结果发送至客户端。可选的,所述队列模块用于将所述得到的部分结果对应的资源请求从所述资源请求队列中移除;判断所述资源请求队列中的所述资源请求是否处理完成;若判定资源请求处理完成,所述第一临时存储模块用于为所述第一临时存储空
间中存储的所述部分结果添加指示资源请求完成的终止标识。可选的,所述第一临时存储模块用于判断与所述标识信息绑定的第一临时存储空间中存储的部分结果是否包括终止标识;若包括,在发送完毕后清除所述第一临时存储空间。基于上述目的本专利技术提供的一种异步通信方法的实施例,包括:向服务器端发送包括资源请求的任务报文;接收服务器端返回的部分结果和标识信息,将所述部分结果暂存;等待预设时长后,向服务器端发送所述标识信息,接收服务器端返回的部分结果,将所述部分结果暂存;若判定所述资源请求已经处理完毕,将全部暂存的所述部分结果合并为完整结果。可选的,所述将所述部分结果暂存,具体包括:建立与所述标识信息绑定的第二临时存储空间,将所述部分结果存入所述第二临时存储空间;所述将全部暂存的所述部分结果合并为完整结果,具体包括:将所述第二临时存储空间中的全部部分结果合并为完整结果;取得所述完整结果后,清除所述第二临时存储空间。可选的,方法还包括:接收到服务器端返回的部分结果后,判断所述部分结果是否包括终止标识;若包括,判定所述资源请求已经处理完毕。基于上述目的本专利技术提供的一种异步通信装置的实施例,包括:第二通信单元,用于向服务器端发送包括资源请求的任务报文,接收服务器端返回的部分结果和标识信息,还用于在等待预设时长后,向服务器端发送所述标识信息,接收服务器端返回的部分结果;存储单元,用于将所述部分结果暂存;还用于在判定所述资源请求已经处理完毕后,将全部暂存的所述部分结果合并为完整结果。可选的,所述存储单元用于建立与所述标识信息绑定的第二临时存储空间,将所述部分结果存入所述第二临时存储空间;还用于将所述第二临时存储空间中的全部本文档来自技高网
...

【技术保护点】
一种异步通信方法,其特征在于,包括:接收客户端发送的任务报文;处理所述任务报文的资源请求,获取得到的部分结果;根据任务报文生成标识信息,将所述部分结果和标识信息发送至客户端;继续处理未完成的所述资源请求,获取得到的部分结果并暂存;接收到客户端发送的标识信息时,将暂存的所述部分结果发送至客户端。

【技术特征摘要】
1.一种异步通信方法,其特征在于,包括:接收客户端发送的任务报文;处理所述任务报文的资源请求,获取得到的部分结果;根据任务报文生成标识信息,将所述部分结果和标识信息发送至客户端;继续处理未完成的所述资源请求,获取得到的部分结果并暂存;接收到客户端发送的标识信息时,将暂存的所述部分结果发送至客户端。2.根据权利要求1所述的方法,其特征在于,所述处理所述任务报文的资源请求,获取得到的部分结果,具体包括:获取所述资源请求预期处理的数据量,判断所述数据量是否达到预设的数据量阈值;若判定所述数据量达到预设的数据量阈值,通过快速处理方式处理所述资源请求得到部分结果;若判定所述数据量未达到预设的数据量阈值,通过普通处理方式处理所述资源请求得到完整结果。3.根据权利要求1所述的方法,其特征在于,所述继续处理未完成的所述资源请求,取得部分结果并暂存,具体包括:建立与所述标识信息绑定资源请求队列,将所述任务报文中未处理的资源请求存入所述资源请求队列;处理所述资源请求队列中的资源请求,将得到的部分结果暂存至与所述标识信息绑定的第一临时存储空间;所述接收到客户端发送的标识信息时,将暂存的所述部分结果发送至客户端,具体包括:接收到客户端发送的标识信息时,将与所述标识信息绑定的第一临时存储空间中存储的部分结果发送至客户端。4.根据权利要求3所述的方法,其特征在于,方法还包括:将所述得到的部分结果对应的资源请求从所述资源请求队列中移除;判断所述资源请求是否处理完成;若判定资源请求处理完成,为所述第一临时存储空间中存储的所述部分结果添加指示资源请求完成的终止标识。5.根据权利要求4所述的方法,其特征在于,方法还包括:判断与所述标识信息绑定的第一临时存储空间中存储的部分结果是否包
\t括终止标识;若包括,在发送完毕后清除所述第一临时存储空间。6.一种异步通信装置,其特征在于,包括:第一通信单元,用于接收客户端发送的任务报文;处理单元,用于处理所述任务报文的资源请求,获取得到的部分结果;标识信息单元,用于根据任务报文生成标识信息;所述第一通信单元用于将所述部分结果和标识信息发送至客户端;所述处理单元还用于继续处理未完成的所述资源请求,获取得到的部分结果并暂存;所述第一通信单元还用于在接收到客户端发送的标识信息时,将所述处理单元暂存的所述部分结果发送至客户端。7.根据权利要求6所述的装置,其特征在于,所述处理单元包括:数据量判断模块,用于获取所述资源请求预期处理的数据量,判断所述数据量是否达到预设的数据量阈值;若判定所述数据量达到预设的数据量阈值,所述处理单元用于通过快速处理方式处理所述资源请求得到部分结果;若判定所述数据量未达到预设的数据量阈值,所述处理单元用于通过普通处理方式处理所述资源请求得到完整结果。8.根据权利要求6所述的装置,其特...

【专利技术属性】
技术研发人员:邓宏
申请(专利权)人:乐视控股北京有限公司乐视电子商务北京有限公司
类型:发明
国别省市:北京;11

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

1