一种消息传递方法、装置及可读存储介质制造方法及图纸

技术编号:32826138 阅读:16 留言:0更新日期:2022-03-26 20:28
本申请公开一种消息传递方法、装置及可读存储介质,涉及电子信息领域,通过控制消息发送方将原消息发送给中间组件,再由中间组件将原消息转发给消息中间件,并将原消息存储至数据库,通过判断消息接收方是否接收到原消息,若未接收到,则通过数据库将原消息发送给消息接收方,比起之前的直接使用消息中间件进行消息传递,即便遇上消息中间件故障,网络波动等异常状况,也可以通过数据库发送原消息给消息接收方,防止了消息的丢失或流转失败,且数据库的存储量远大于消息中间件的数据存储量,在业务流量大时,可以通过数据库将原消息发送给消息接收方,因此缓解了原消息在消息中间件中的堆积,保证了消息的及时消费和消息传递的可靠性。靠性。靠性。

【技术实现步骤摘要】
一种消息传递方法、装置及可读存储介质


[0001]本申请涉及电子信息领域,特别是涉及一种消息传递方法、装置及可读存储介质。

技术介绍

[0002]近年来,随着互联网信息技术的飞速发展,信息传递技术应用在网络上的方方面面,特别在互联网购物这一部分,对于消息的流转的畅通性及可靠性要求十分高。
[0003]目前的互联网信息传递技术通常是通过消息发送方发送给消息中间件然后转发给消息接收方,如此一来没有保障措施,如果遇上消息中间件故障,网络波动等异常状况,消息的流转可能会中断,影响业务线的正常运转,造成消息丢失或消息流转失败导致无法正确反馈等问题,且消息中间件的工作效率有限,在业务流量大的情况下,也会存在消息堆积等问题。
[0004]鉴于上述技术,寻找一种能提高消息传递的可靠性的消息传递方法是本领域技术人员亟待解决的问题。

技术实现思路

[0005]本申请的目的是提供一种消息传递方法,以便于解决消息传递可靠性不高的问题。
[0006]为解决上述技术问题,本申请提供一种消息传递方法,包括:
[0007]控制消息发送方将原消息发送给中间组件,再由所述中间组件将所述原消息转发给消息中间件以便于所述消息中间件将所述原消息发送给消息接收方,并将所述原消息储存至数据库;
[0008]判断所述消息接收方是否接收到所述原消息;
[0009]若否,则将所述数据库中的所述原消息发送至所述消息接收方。
[0010]优选地,所述判断所述消息接收方是否接收到所述原消息包括:
>[0011]判断是否接收到所述消息接收方发送的接收成功信号,所述接收成功信号为所述消息接收方接收到所述原消息后生成的反馈信号;
[0012]若是,则表征所述消息接收方接收到所述原消息;
[0013]若否,则表征所述消息接收方未接收到所述原消息。
[0014]优选地,该方法还包括:
[0015]将所述原消息存储至所述数据库时,将所述原消息的状态设定为待确认状态;
[0016]接收到所述原消息对应的所述接收成功信号后,将所述原消息的状态由待确认状态改为已确认状态;
[0017]每隔第一预设时间,将所述数据库中的处于待确认状态的所述原消息发送给所述消息接收方。
[0018]优选地,该方法还包括:
[0019]若所述数据库中的处于待确认状态的所述原消息发送给所述消息接收方的次数
达到阈值,则停止发送所述原消息给所述消息接收方,并将所述原消息的状态由待确认状态改为确认失败状态。
[0020]优选地,该方法还包括:
[0021]每隔第二预设时间,清除所述数据库中所有的达到设定时间阈值的所述原消息。
[0022]优选地,所述将所述原消息储存至数据库包括:
[0023]将所述原消息放入线程池和/或缓冲区中;将通过所述线程池和/或所述缓冲区处理过的所述原消息存入所述数据库中;
[0024]接收所述消息接收方发送的所述接收成功信号包括:
[0025]将所述接收成功信号放入所述线程池和/或所述缓冲区中;
[0026]将通过所述线程池和/或所述缓冲区处理过的所述接收成功信号存入所述数据库中。
[0027]优选地,所述控制消息发送方将原消息发送给所述中间组件,再由所述中间组件将原消息转发给消息中间件,并将所述原消息储存至数据库包括:
[0028]通过异步方式控制所述消息发送方将所述原消息发送给所述中间组件,再由中间组件将所述原消息转发给所述消息中间件,并将所述原消息储存至所述数据库。
[0029]为解决上述问题,本申请还提供一种消息传递装置,该装置包括:
[0030]控制模块,用于控制消息发送方将原消息发送给中间组件,再由中间组件将原消息转发给消息中间件以便于所述消息中间件将所述原消息发送给消息接收方,并将所述原消息储存至数据库;
[0031]判断模块,用于判断所述消息接收方是否接收到所述原消息,在判断结果为否时启动发送模块;
[0032]发送模块,用于将所述数据库中的所述原消息发送至所述消息接收方。
[0033]优选地,该装置还包括:
[0034]设定模块,用于将所述原消息存储至所述数据库时,将所述原消息的状态设定为待确认状态;
[0035]修改模块,用于接收到所述原消息对应的所述接收成功信号后,将所述原消息的状态由待确认状态改为已确认状态;
[0036]周期发送模块,用于每隔第一预设时间,将所述数据库中的处于待确认状态的所述原消息发送给所述消息接收方。
[0037]优选地,该装置还包括:
[0038]停止模块,若所述数据库中的处于待确认状态的所述原消息发送给所述消息接收方的次数达到阈值,则停止发送所述原消息给所述消息接收方,并将所述原消息的状态由待确认状态改为确认失败状态。
[0039]优选地,该装置还包括:
[0040]清除模块,用于每隔第二预设时间,清除所述数据库中所有的达到设定时间阈值的所述原消息。
[0041]为解决上述问题,本申请还提供一种消息传递装置,该装置包括存储器,用于存储计算机程序;
[0042]处理器,用于执行所述计算机程序时实现如上述的消息传递方法的步骤。
[0043]为解决上述问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的消息传递方法的步骤。
[0044]本申请所提供的消息传递方法,通过控制消息发送方将原消息发送给中间组件,再由中间组件将原消息转发给消息中间件,并将原消息存储至数据库,通过判断消息接收方是否接收到原消息,若未接收到,则通过数据库将原消息发送给消息接收方,比起之前的直接使用消息中间件进行消息传递,即便遇上消息中间件故障,网络波动等异常状况,也可以通过数据库发送原消息给消息接收方,防止了消息的丢失或流转失败,且数据库的存储量远大于消息中间件的数据存储量,在业务流量大时,可以通过数据库将原消息发送给消息接收方,因此缓解了原消息的堆积,保证了消息传递的可靠性。
[0045]本申请所提供的消息传递装置与可读存储介质与上述方法对应,有益效果相同。
附图说明
[0046]为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0047]图1为本申请实施例提供的一种消息传递方法流程图;
[0048]图2为本申请实施例提供的一种优选消息传递系统结构图;
[0049]图3为本申请实施例提供的一种消息传递装置示意图;
[0050]图4为本申请另一实施例提供的消息传递装置的结构图。
具体实施方式
[0051]下面将结合本申请实施例中的附图,对本申请实施例中的技术本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种消息传递方法,其特征在于,应用于包含中间组件的消息传递系统,所述方法包括:控制消息发送方将原消息发送给所述中间组件,再由所述中间组件将所述原消息转发给消息中间件以便于所述消息中间件将所述原消息发送给消息接收方,并将所述原消息储存至数据库;判断所述消息接收方是否接收到所述原消息;若否,则将所述数据库中的所述原消息发送至所述消息接收方。2.根据权利要求1所述的消息传递方法,其特征在于,所述判断所述消息接收方是否接收到所述原消息包括:判断是否接收到所述消息接收方发送的接收成功信号,所述接收成功信号为所述消息接收方接收到所述原消息后生成的反馈信号;若是,则表征所述消息接收方接收到所述原消息;若否,则表征所述消息接收方未接收到所述原消息。3.根据权利要求2所述的消息传递方法,其特征在于,还包括:将所述原消息存储至所述数据库时,将所述原消息的状态设定为待确认状态;接收到所述原消息对应的所述接收成功信号后,将所述原消息的状态由待确认状态改为已确认状态;每隔第一预设时间,将所述数据库中的处于待确认状态的所述原消息发送给所述消息接收方。4.根据权利要求3所述的消息传递方法,其特征在于,还包括:若所述数据库中的处于待确认状态的所述原消息发送给所述消息接收方的次数达到阈值,则停止发送所述原消息给所述消息接收方,并将所述原消息的状态由待确认状态改为确认失败状态。5.根据权利要求4所述的消息传递方法,其特征在于,还包括:每隔第二预设时间,清除所述数据库中所有的达到设定时间阈值的所述原消息。6.根据权利要求2至5任意一项所述的消息传递方法,其特征在于,所述将所述原消息储存至...

【专利技术属性】
技术研发人员:柳延伸
申请(专利权)人:上海微盟企业发展有限公司
类型:发明
国别省市:

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

1