[发明专利]一种分布式消息队列中间件在审
| 申请号: | 201510502177.6 | 申请日: | 2015-08-14 |
| 公开(公告)号: | CN105187327A | 公开(公告)日: | 2015-12-23 |
| 发明(设计)人: | 余敬龙 | 申请(专利权)人: | 广东能龙教育股份有限公司 |
| 主分类号: | H04L12/863 | 分类号: | H04L12/863;H04L29/08 |
| 代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 张海文 |
| 地址: | 528403 广东省中山市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 消息 队列 中间件 | ||
技术领域
本发明属于服务器内部数据处理领域,具体涉及一种分布式消息队列中间件。
背景技术
计算机系统软件具有大量的后台任务执行管理,设备和服务器间的消息通讯需要稳定可靠高效的执行方法。传统的方法是用户在操作时需要等待长时间的执行过程才能得到结果,在该过程中往往会因为各种原因导致执行失败而使得用户不得不再一次从新操作;用户的这个操作过程同时也是无序不可控的,在执行过程中无疑加大了服务器的压力。
也就是说传统的方法是一个同步过程,每次都需要等待上一步操作完成后才能进入下一步操作,如果操作的数据太大或者服务器执行效率低下,用户需要等待很长的响应时间才能得到结果,甚至请求超时导致执行失败无法进行后续工作;同时如此长时间的执行过程会占用服务器CPU和内存导致系统整体效能下降,影响了更多用户的使用。
发明内容
为了克服上述技术问题,本发明的目的为了提供一种异步处理的分布式消息队列中间件。
本发明采用的技术方案是:
一种分布式消息队列中间件,包括消息队列、队列管理模块、消息转发模块和分布式路由,该消息队列用于存储用户操作时提交的消息以等待处理,队列管理模块用于创建队列以及管理队列的序号和优先级,并根据队列的序号和优先级控制消息转发模块转发队列中的消息,消息转发模块所转发队列中的消息经分布式路由分配给空闲的目标服务器进行消息处理。
进一步,所述消息队列采用反射技术将序列化的消息保存。
进一步,所述消息队列为基于.NET和SQLserver平台服务端中所引用一个动态链接库。
进一步,所述消息队列存储于缓存数据库以供调用。
进一步,当触发队列执行时,调用缓存数据库中的消息队列和数据,并进行反序列化数据和队列、反射队列操作,然后调用系统功能进行处理并返回调用结果,最后根据调用结果更新缓存数据库中的消息队列和数据。
本发明的有益效果是:
本发明由于使用的异步处理,用户提交操作请求后,消息队列作为消息容器保存了所有的消息并做了有序管理,后台根据队列的序号和优先级分配不同的服务器或线程各自运行,因为所有操作已经分发到负载服务器上,所以用户在使用系统软件时不会受到其他用户的操作影响。如果队列执行过程中发生意外,由于消息队列已经保存了整个信息,可以在恢复后重新执行,保障了操作的可恢复性。即使服务器损坏,消息队列可以在其他负载服务器上运行,不影响系统的整体运行。本发明使用反射技术将序列化的消息保存在队列,不与系统模块直接引用,把队列功能都封装在消息中,达到了低耦合高内聚的目的;同时使得扩展更加容易,各模块只需引用消息队列中间件并实现接口,就可以增加新功能。
附图说明
下面结合附图对本发明的具体实施方式做进一步的说明。
图1是本发明消息队列中间件的工作原理图;
图2是本发明的第一是实施例示意图;
图3是本发明的第一是实施例示意图;
图4是本发明的第一是实施例示意图。
具体实施方式
参考图1所示,为本发明的一种分布式消息队列中间件,包括消息队列、队列管理模块、消息转发模块和分布式路由,该消息队列用于存储用户操作时提交的消息以等待处理,队列管理模块用于创建队列以及管理队列的序号和优先级,并根据队列的序号和优先级控制消息转发模块转发队列中的消息,消息转发模块所转发队列中的消息经分布式路由分配给空闲的目标服务器进行消息处理,,降低主服务器的负载,实现负载均衡。
所述消息队列采用反射技术将序列化的消息保存,所述消息队列存储于缓存数据库以供调用,当触发队列执行时,调用缓存数据库中的消息队列和数据,并进行反序列化数据和队列、反射队列操作,然后调用系统功能进行处理并返回调用结果,最后根据调用结果更新缓存数据库中的消息队列和数据。
所述消息队列为基于.NET和SQLserver平台服务端中所引用一个动态链接库(DLL),新增队列只需另外添加处理过程即可,不需要改变代码,不需要调节参数,非常有利与功能扩展。仅需要在项目中导入消息队列中间件的引用,不用客户端和服务端即可完成所有安装。
如图2所示,为本发明的基础实施例:
A:实例继承接口,实现接口定义的处理过程;
B:实例对象转化成消息文本加入队列等待调度中心分配执行服务器,结束实例操作返回结果给用户;
C:消息调度中心根据队列加入顺序和优先级分配实例对象至负载较低的服务器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东能龙教育股份有限公司,未经广东能龙教育股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510502177.6/2.html,转载请声明来源钻瓜专利网。





