[发明专利]一种消息分发方法及装置有效

专利信息
申请号: 201711120287.1 申请日: 2017-11-14
公开(公告)号: CN107819855B 公开(公告)日: 2020-07-28
发明(设计)人: 陈剑波;周志波 申请(专利权)人: 成都路行通信息技术有限公司
主分类号: H04L29/08 分类号: H04L29/08
代理公司: 成都智弘知识产权代理有限公司 51275 代理人: 丁亮;吴新祥
地址: 610041 四川省成都市高新区天*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 消息 分发 方法 装置
【说明书】:

发明提供一种消息分发方法及装置。该方法包括根据任务请求中的任务建立任务队列和消息队列,并将任务队列中的任务和消息队列中的消息关联,实现任务订阅。根据消息判断任务是否影响返回结果,并根据返回结果多线程执行任务中的第一任务。第一任务执行完后,向客户端发送请求结果指令。在请求结果指令传送的过程中,Django中间件捕捉能够捕捉该请求结果指令,同时根据所捕捉的请求结果指令判断是否执行第二任务,实现消息的分发以及相关任务的执行。在任务执行过程中,通过多线程方式执行,能够有效降低耗时任务的响应时间。本发明提供的消息分发方法通过Django中间件实现,不需要与第三方工具协同合作,有效降低系统执行的复杂度。

技术领域

本发明涉及消息分发技术领域,尤其涉及一种消息分发方法及装置。

背景技术

随着网络的发展以及普及,越来越多的用户通过网络查找信息以及实现数据操作。大量用户在同时使用同一网站时,容易造成服务器拥堵,导致处理速度变慢。

目前,网站的运行主要基于Django框架。Django框架的建立能够使得开发复杂的、数据库驱动的网站变得简单,进而便于数据处理。在使用Django框架时,每个进程都能够接收包含任务请求的消息,而复杂的单个任务可以通过多进程拆分为多个子任务,进而通过多进程运行Django框架,提高任务处理效率。Django框架通过多进程方式处理包含任务请求的消息时,所有的子任务完成后,才能够返回处理结果。即当某些任务请求需要服务器提供网络请求、数据库操作、大量数据计算等耗时任务时,需要服务器处理完所有事情后才能够返回客户端响应,响应时间较长,因而客户端需要一直等待,直到所有任务结束。

在基于Django框架的网站中,目前现有的消息分发方法以消息队列(RabbitMessage Queue,简称rabbitmq)、redis或数据库为消息的提供者,Celery为消息的接收者及执行者。现有的消息分发方法在消息分发过程中使用rabbitmq、redis以及Celery等第三方软件,导致系统的复杂度增加,不利于程序调试。另外,现有的的消息分发方法不能与Django的事务机制很好的结合,且在执行任务失败时不能撤回消息。

发明内容

本发明提供一种消息分发方法及装置,以解决现有消息分发方法使系统的复杂度增加得问题。

本发明提供一种消息分发方法,所述方法包括:

接收任务请求,所述任务请求中的每一个任务均包括第一任务和第二任务;

根据所述任务建立任务队列和消息队列;

将所述任务队列中的任务与所述消息队列中的消息分别关联,以实现任务订阅;

根据所述消息判断所述任务是否影响返回结果,所述返回结果为响应时间延时;

若所述任务影响所述返回结果,则直接发布与所述任务相关联的消息,多线程执行与所述消息相关联的所有任务的第一任务;

若所述任务不影响所述返回结果,则返回响应后发布与所述任务相关联的消息,执行与所述消息相关联的所有任务的第一任务;

执行完所有第一任务后,发送包含请求成功或请求不成功的请求结果指令;

Django中间件捕捉所述请求结果指令,根据所述请求结果指令判断是否执行第二任务。

优选地,所述根据所述任务建立任务队列包括:

将接收到的任务请求中的耗时任务分解为多个子任务;每一个所述子任务均包括第一任务和第二任务;所述耗时任务为影响响应返回时间的任务;

将接收到的任务和/或子任务按照接收顺序排列为任务队列。

优选地,所述耗时任务包括网络请求任务、数据库操作任务和/或大量数据计算任务。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都路行通信息技术有限公司,未经成都路行通信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711120287.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top