基于感知和重传的两路异步消息传输方法技术

技术编号:26848917 阅读:26 留言:0更新日期:2020-12-25 13:15
本发明专利技术提供了一种基于感知和重传的两路异步消息传输方法,包括:传输步骤:将待发送数据消息在发送端数据库中设置超时重传标识;向数据接收端异步发送数据消息;接收数据接收端基于数据消息生成并异步发送的反馈消息,将反馈消息加入反馈消息队列一中;从反馈消息队列一中取出反馈消息进行处理,并更新发送端数据库中该数据消息对应的超时重传标识的数据传输状态;检索步骤:定时检索识别发送端数据库中超时重传标识中的数据传输状态;根据数据传输状态判断是否对当前数据消息执行传输步骤;若是,执行传输步骤。本发明专利技术不仅具有同步消息传输方法的高可靠性,而且还具有异步消息传输方法的高效性。

【技术实现步骤摘要】
基于感知和重传的两路异步消息传输方法
本专利技术涉及海量科学数据异地归档
,具体涉及一种海量科学数据要实现全部或部分海量科学数据从一个数据中心到另外一个数据中心的基于感知和重传功能的高速高可靠性异地归档数据两路异步消息传输方法。
技术介绍
随着信息技术的发展和大型科学仪器灵敏度的提高,大型科学仪器产生的科学数据都在呈指数增长,进而导致海量科学数据从数据采集站所在的科学数据中心异地归档传输到其它区域的科学数据中心的高速高可靠性的异地归档数据传输系统提出了巨大挑战。目前的异地归档数据传输系统主要基于同步消息传输方法和异步消息传输方法。但是同步消息传输方法虽然能够在数据消息发送方和接收方之间实现一个高可靠性的异地归档数据传输系统,但是由于数据消息发送方每发送一条数据消息都需要等待数据消息接收方发送一条反馈消息,这就在一定程度上使同步消息传输方法丧失了持续的高速传输性能。同时,异步消息传输方法虽然能够在数据消息发送方和数据消息接收方获得高速的数据传输性能,但是其却无法保证数据消息接收方能够完全接收到数据消息发送方发送的所有数据消息,这就使异步消息传输在一定程度上丧失了高可靠性。因此,如何提供一种基于感知和重传功能的,能够满足高速传输性能的同时,保证数据消息接收方能够完全接收到数据消息发送方发送的所有数据消息两路异步消息传输方法是本领域技术人员亟需解决的问题。
技术实现思路
有鉴于此,本专利技术提供了提供了一种具有高速高可靠性的带感知和重传功能的两路异步消息传输方法。为了实现上述目的,本专利技术采用如下技术方案:一种基于感知和重传的两路异步消息传输方法,包括传输步骤和检索步骤:传输步骤:S11、将待发送数据消息在发送端数据库中设置超时重传标识;S12、向数据接收端异步发送数据消息;S13、接收数据接收端基于所述数据消息生成并异步发送的反馈消息,将反馈消息加入反馈消息队列一中;S14、从反馈消息队列一中取出反馈消息进行处理,并更新发送端数据库中该数据消息对应的超时重传标识的数据传输状态;检索步骤:S21、定时检索识别发送端数据库中所述超时重传标识中的数据传输状态;S22、根据所述数据传输状态判断是否对当前数据消息执行所述传输步骤;若是,执行S12-S14。优选的,所述超时重传标识的数据传输状态包括:状态0:当前数据消息待发送状态;状态1:当前数据消息已发送但未接收到对应反馈消息状态;状态2:当前数据消息已发送且已接收到对应反馈消息状态。优选的,S22具体包括如下步骤:在数据发送端启动从数据库检索新增数据消息,即待发送状态的数据消息,并将该数据消息加入数据消息队列的守护进程;在数据发送端启动从发送端数据库检索已发送但未接收到对应反馈消息状态的数据消息并将该数据消息加入数据消息队列的守护进程。优选的,所述在数据发送端启动从发送端数据库检索已发送但未接收到对应反馈消息状态的数据消息并将该数据消息加入数据消息队列的守护进程,具体包括如下步骤:从数据库中检索出超时时间戳与检索时间戳之间的时间差超过设定的时间间隔仍未收到数据消息的反馈消息,并将该数据消息加入数据消息队列中,同时将该数据消息的超时时间戳时间更新为检索时间戳的时间;其中,超时时间戳为该数据消息上一次被发送的时间;检索时间戳为当前检索步骤执行的时间。优选的,S13中数据接收端基于所述数据消息生成并异步发送反馈消息,具体包括如下步骤:S131、数据接收端接收数据消息,并将数据消息加入数据消息队列;S132、从数据消息队列取一个数据消息进行处理,产生一个反馈消息,并将反馈消息加入反馈消息队列二;S133、从反馈消息队列二中取出一个反馈消息,并将反馈消息异步发送给数据发送端。优选的,S132中所述的从数据消息队列取一个数据消息进行处理,产生一个反馈消息,并将反馈消息加入反馈消息队列二,具体包括如下步骤:S1321、在数据接收端检查数据消息队列是否为为空;S1322、如果数据接收端的数据消息队列为空,休眠给定时间,跳转到S1321;否则,从数据消息队列中取一条数据消息,启动一个处理该数据消息的线程,跳转到S1321。优选的,S14具体包括如下步骤:S141、检查反馈消息队列一是否为空;S142、如果反馈消息队列一为空,休眠给定时间,跳转到S141;否则,从反馈消息队列一中取出一条反馈消息,并为该反馈消息启动一个处理线程,跳转到S141。优选的,为该反馈消息启动一个处理线程包括:更新发送端数据库中反馈消息对应数据消息的超时重传标识的数据传输状态,即从当前数据消息已发送但未接收到对应反馈消息状态更新为当前数据消息已发送且已接收到对应反馈消息状态。经由上述的技术方案可知,与现有技术相比,本专利技术的有益效果包括:(1)与单纯使用同步消息传输相比具有高速的数据传输性能;(2)与单纯使用异步消息传输相比在数据传输方面具有更高的数据可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图;图1是本专利技术基于感知和重传的两路异步消息传输方法的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面对本专利技术的实施例作详细的描述:本专利技术为了解决现有技术中进行海量科学数据异地归档数据传输中丧失持续高速传输或高可靠性的问题,提供了带感知和重传功能的两路异步消息传输方法。一种基于感知和重传的两路异步消息传输方法,包括传输步骤和检索步骤:传输步骤:S11、将待发送数据消息在发送端数据库中设置超时重传标识。超时重传标识的数据传输状态包括:状态0:当前数据消息待发送状态;状态1:当前数据消息已发送但未接收到对应反馈消息状态;状态2:当前数据消息已发送且已接收到对应反馈消息状态。S12、向数据接收端异步发送数据消息。具体步骤如下:S121、在数据发送端启动感知数据接收端是否与数据发送端已经建立连接的守护进程。包括:S1211、检查数据消息发送方和数据消息接收方是否已经建立好连接;具体的:获取数据消息接收方(dmr)的IP连接数据消息发送方(dms)的某个用于给dmr发送数据消息(Data_Msg)的端口的连接状态(dms_s);S1212、如果数据消息本文档来自技高网...

【技术保护点】
1.一种基于感知和重传的两路异步消息传输方法,其特征在于,包括传输步骤和检索步骤:/n传输步骤:/nS11、将待发送数据消息在发送端数据库中设置超时重传标识;/nS12、向数据接收端异步发送数据消息;/nS13、接收数据接收端基于所述数据消息生成并异步发送的反馈消息,将反馈消息加入反馈消息队列一中;/nS14、从反馈消息队列一中取出反馈消息进行处理,并更新发送端数据库中该数据消息对应的超时重传标识的数据传输状态;/n检索步骤:/nS21、定时检索识别发送端数据库中所述超时重传标识中的数据传输状态;/nS22、根据所述数据传输状态判断是否对当前数据消息执行所述传输步骤;若是,执行S12-S14。/n

【技术特征摘要】
1.一种基于感知和重传的两路异步消息传输方法,其特征在于,包括传输步骤和检索步骤:
传输步骤:
S11、将待发送数据消息在发送端数据库中设置超时重传标识;
S12、向数据接收端异步发送数据消息;
S13、接收数据接收端基于所述数据消息生成并异步发送的反馈消息,将反馈消息加入反馈消息队列一中;
S14、从反馈消息队列一中取出反馈消息进行处理,并更新发送端数据库中该数据消息对应的超时重传标识的数据传输状态;
检索步骤:
S21、定时检索识别发送端数据库中所述超时重传标识中的数据传输状态;
S22、根据所述数据传输状态判断是否对当前数据消息执行所述传输步骤;若是,执行S12-S14。


2.根据权利要求1所述的基于感知和重传的两路异步消息传输方法,其特征在于,所述超时重传标识的数据传输状态包括:
状态0:当前数据消息待发送状态;
状态1:当前数据消息已发送但未接收到对应反馈消息状态;
状态2:当前数据消息已发送且已接收到对应反馈消息状态。


3.根据权利要求1所述的基于感知和重传的两路异步消息传输方法,其特征在于,S22具体包括如下步骤:
在数据发送端启动从数据库检索新增数据消息,即待发送状态的数据消息,并将该数据消息加入数据消息队列的守护进程;
在数据发送端启动从发送端数据库检索已发送但未接收到对应反馈消息状态的数据消息并将该数据消息加入数据消息队列的守护进程。


4.根据权利要求3所述的基于感知和重传的两路异步消息传输方法,其特征在于,所述在数据发送端启动从发送端数据库检索已发送但未接收到对应反馈消息状态的数据消息并将该数据消息加入数据消息队列的守护进程,具体包括如下步骤:
从数据库中检索出超时时间戳与检索时间戳之间的时间差超过设定的时间间隔仍未收到数据消息的反馈消息,并将该数据消息加入数据消息队列中,同时...

【专利技术属性】
技术研发人员:石聪明黄永灿马靳鲜葛艳敏董晨沛宋旭柳翠寅刘应波梅盈
申请(专利权)人:安阳师范学院
类型:发明
国别省市:河南;41

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

1