[发明专利]一种消息的发送方法和系统无效
申请号: | 201210004309.9 | 申请日: | 2012-01-09 |
公开(公告)号: | CN103199968A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 廖炳才;黄玉标;郝明立 | 申请(专利权)人: | 卓望数码技术(深圳)有限公司 |
主分类号: | H04L1/18 | 分类号: | H04L1/18;H04L12/861 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 李琴;高瑞 |
地址: | 518057 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 消息 发送 方法 系统 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种消息的发送方法和系统。
背景技术
现有大多系统都需要与外部系统进行数据交互,这种交互多以消息的方式进行,其处理流程如图1所示,该处理流程包括以下几个步骤:
消息产生,消息通常在系统在处理业务流程时产生需要交互的数据;
消息加工处理,消息加工处理会根据消息接收方和协议的不同,对消息进行包装,成为对方能接收的数据格式;
消息发送,消息加工过后,只需要根据协议(比如JMS、FTP、HTTP等)进行发送即可。
以上流程从消息产生到消息加工处理,再到消息发送是串行的,它们之间是有依赖关系的,目前最接近的技术方案有两种:
单线程消息发送方式:如图2A所示,采用单线程发送消息,从消息的产生到加工处理再到发送是严格的串行处理,而且只有当消息发送完成之后才能进行下一个任务处理。这种实现方式实现起来比较简单,但缺点非常明显,第一是当系统的消息发送量非常大时,系统会遇到性能瓶颈;第二是当消息发送过程中出现一些堵塞或者延时时,直接影响到系统业务流程的正常运作;
多线程消息发送方式:如图2B所示,采用多线程发送消息,把消息产生 到加工处理再到发送的过程看成一个消息发送事务,通过管理一组线程,每个线程处理一个消息发送事务,从而提高系统的并发性能。这种处理方式的优点是性能较高,能充分利用系统的并发性能;但对于消息发送过程中遇到的异常问题,此方式不能很好地处理。
对于一个具有高并发和高吞吐量的系统如果多个环节放在一个事务中执行会带来以下几方面的问题:
1.由于串行执行方式受限于单线程使用,在同样机器配置下,系统性能无法进一步提高;
2.采用多线程并发处理时,每个线程本身是一个完整的发送事务,但对于系统来说,消息的产生和消息发送对系统的要求是不一样的,放在同一个发送事务中,不利于系统资源的利用,也不利于扩展;
3.由于消息的产生和发送在同一个事务中,对于部署在不同机器上的模块不能共享消息的发送机制;
4.由于消息的产生和发送没有分离,当消息发送遇到如网络堵塞和网络延迟时,会直接影响系统的业务流程,对系统稳定性造成较大的影响。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种消息的发送方法,能有效利用系统资源,利于扩展,能共享消息的发送机制、且稳定性高。
本发明解决其技术问题所采用的技术方案是:构造一种消息的发送方法,包括:
S1.至少一个消息生产模块分别产生消息,并将所产生的消息及所述消息 所对应的标识进行存储,同时,向消息采集模块发送通知,所述通知包括所述消息的标识;
S2.消息采集模块接收到所述通知后进行唤醒,且根据所述通知中的所述标识采集相应的消息,并将所采集的消息进行处理后放入阻塞队列;
S3.至少一个消息发送模块分别通过阻塞机制不断从阻塞队列中获取消息,并对所获取的消息进行组装,且根据所述消息中包含的协议标识对组装后的消息进行协议转换和适配,然后调用协议网关将所述消息发送到目的地;其中,所述至少一个消息发送模块独立于所述至少一个消息生产模块。
在本发明所述的消息的发送方法中,在所述步骤S1中,所产生的消息及所述消息所对应的标识存储在数据库中。
在本发明所述的消息的发送方法中,消息采集模块通过轮询的方式从数据库中获取消息。
在本发明所述的消息的发送方法中,在消息发送完成后,消息发送模块将发送时间、发送正常或异常发送至数据库中,以进行记录。
在本发明所述的消息的发送方法中,在发送异常时,通过计数器设置重发次数,并提供消息的重发机制。
在本发明所述的消息的发送方法中,在所述步骤S2中,通过调用相应的配置模板来对所采集的消息进行处理。
在本发明所述的消息的发送方法中,预先分别将所述消息生产模块、所述消息采集模块和所述消息发送模块封装成相应的API接口。
本发明还构造一种消息的发送系统,包括至少一个消息生产模块、消息采集模块和至少一个消息发送模块,且所述至少一个消息发送模块独立于所述至少一个消息生产模块,其中,
所述至少一个消息生产模块,分别用于产生消息,并将所产生的消息及所述消息所对应的标识进行存储,同时,向消息采集模块发送通知,所述通知包括所述消息的标识;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卓望数码技术(深圳)有限公司,未经卓望数码技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210004309.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆导航方法、车辆导航系统
- 下一篇:封闭图形识别系统及方法