System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及一种基于rabbitmq的气象数据传输容错方法与装置。
技术介绍
1、岸基指的是位于岸上的各种设施、系统和技术。船基指的是位于船舶上的各种设备、系统和技术。岸基和船基之间通信面临的在信号连通与覆盖的问题:在远离岸基设施的海域,通信信号的覆盖范围可能受到限制,造成通信中断或不稳定。海上航行中可能遭遇信号死区,这会影响通信的连通性。
2、rabbitmq是一个开源的消息中间件,用于在分布式系统中实现消息传递,可以在一定程度上解决信号连通的问题和多设备互通的问题。
3、1.信号连通与覆盖问题:在船舶行业中,岸基设施和船舶上的设备之间信号覆盖范围有限,可以使用rabbitmq来进行消息传递。船舶上的设备可以将消息发送到rabbitmq服务端,而岸基设施上的应用程序则可以从rabbitmq中接收消息,实现异地设备之间的通信,从而缓解信号覆盖范围的限制。
4、2.多设备互通问题:rabbitmq支持多个生产者和消费者同时连接到消息队列中。船舶上的不同设备可以作为生产者将消息发送到队列,而其他设备则可以作为消费者从队列中接收消息。这种方式使得船基与岸基的多个设备可以互相通信,实现多设备之间的互通。
5、尽管rabbitmq提供了消息传递的能力,但在实际应用中,还需要综合考虑网络连接的稳定性、消息传递的可靠性等因素。
6、rabbitmq消息确认机制用于确保消息在消费者处理后得到确认,避免消息的丢失或重复处理。
7、在rabbitmq中,当消息发送到交换机时,
8、确认信号是异步发送的,意味着生产者可以继续发送下一条消息,而不需要等待前一条消息的确认信号。
9、虽然使用rabbitmq的消息确认机制可以缓解信号连通与覆盖范围的限制。但是在船基与岸基之间的网络连接在以下四种情况下断开时,会出现消息丢失,消息重复处理,消息不可靠或者消息不被确认的情况。
10、消息丢失:如果连接在消息发送给rabbitmq之前断开,消息可能会丢失,因为消息还没有到达rabbitmq服务器。这意味着消息在传输过程中被丢失,不会被保存到任何队列中。
11、消息重复处理:如果连接在消息发送给rabbitmq之后断开,但在消息被确认之前连接重新建立,消息可能会被重复发送到队列,导致消费者多次处理相同的消息。
12、消息不可靠:如果连接在消息发送给rabbitmq之后断开,但消息还没有被rabbitmq确认接收,消息的可靠性会受到威胁。在这种情况下,消息可能会在传输过程中被丢失,因此生产者无法确定消息是否已经被成功接收。
13、消息不被确认:如果连接在消息被处理并发送确认信号之前断开,rabbitmq将无法接收到确认信号。在这种情况下,消息不会被从队列中移除,因此可能导致消息被重复处理。如果消息的确认机制是手动的,那么消息将一直等待确认信号,不会被处理。
14、现有技术存在上述不足,需要合适的技术方案予以解决。
技术实现思路
1、本专利技术要解决的技术问题是为了克服现有技术存在的上述缺陷,提供一种基于rabbitmq的气象数据传输容错方法与装置。
2、本专利技术是通过下述技术方案来解决上述技术问题:
3、一种基于rabbitmq的气象数据传输容错方法,所述方法包括:
4、船基从数据库读取区域气象数据;判断气象是否过期、气象区域是否异常、气象数据是否异常;
5、如果是,进行加载气象区域,生成随机的请求号,向岸基的rabbitmq服务器请求指定区域的气象数据;
6、收到气象数据后,判断岸基是否正常返回气象数据;
7、如果岸基正常返回气象数据,校验返回的请求号是否与发送的请求号一致;
8、如果返回的请求号与发送的请求号一致,录入气象数据到数据库。
9、进一步地,向岸基的rabbitmq服务器请求指定区域的气象数据的步骤,包括:将生成的请求号与气象区域数据发送给岸基的rabbitmq服务器,向岸基的rabbitmq服务器请求指定区域的气象数据。
10、进一步地,如果是,进行加载气象区域,生成随机的请求号,向岸基的rabbitmq服务器请求指定区域的气象数据的步骤,还包括:将生成的请求号录入数据库。
11、进一步地,所述方法还包括:如果岸基不正常返回气象数据,再一次向岸基的rabbitmq服务器请求指定区域气象数据。
12、进一步地,如果岸基不正常返回气象数据,再一次向岸基的rabbitmq服务器请求指定区域气象数据的步骤,还包括:将不正常返回的气象数据录入数据库中。
13、进一步地,如果返回的请求号与发送的请求号一致,录入气象数据到数据库的步骤,还包括:进行气象显示。
14、进一步地,所述方法还包括:如果返回的请求号与发送的请求号不一致,再一次向岸基的rabbitmq服务器请求指定区域气象数据。
15、进一步地,如果返回的请求号与发送的请求号不一致,再一次向岸基的rabbitmq服务器请求指定区域气象数据的步骤,还包括:将与发送的请求号不一致的信息录入数据库。
16、进一步地,所述方法还包括:如果气象不过期、气象区域不异常、气象数据不异常,进行气象显示。
17、一种基于rabbitmq的气象数据传输容错装置,其包括:
18、数据读取和判断模块,用于船基从数据库读取区域气象数据;判断气象是否过期、气象区域是否异常、气象数据是否异常;
19、请求模块,用于气象过期、气象区域异常或气象数据异常时,进行加载气象区域,生成随机的请求号,将生成的请求号录入进数据库并向岸基的rabbitmq服务器请求指定区域的气象数据;
20、返回数据判断模块,用于收到气象数据后,判断岸基是否正常返回气象数据;
21、请求号校验模块,用于岸基正常返回气象数据时,校验返回的请求号是否与发送的请求号一致;
22、录入模块,用于返回的请求号与发送的请求号一致时,录入气象数据到数据库。
23、本专利技术的有益效果在于:本专利技术基于rabbitmq中间件,采用请求号对气象数据进行校验,保证加载指定区域的气象数据可靠、被确认与不丢失,避免气象数据重复处理;通过多种判断完成对气象数据传输的容错方法,为气象显示提供准确可靠的输入数据,进一步保证气象数据的可靠性。本专利技术可保证接受到的气象数据是无异常,可以为气象显示提供准确可靠的输入数据。
本文档来自技高网...【技术保护点】
1.一种基于RabbitMQ的气象数据传输容错方法,其特征在于,所述方法包括:
2.如权利要求1所述的基于RabbitMQ的气象数据传输容错方法,其特征在于,向岸基的RabbitMQ服务器请求指定区域的气象数据的步骤,包括:
3.如权利要求1所述的基于RabbitMQ的气象数据传输容错方法,其特征在于,如果是,进行加载气象区域,生成随机的请求号,向岸基的RabbitMQ服务器请求指定区域的气象数据的步骤,还包括:
4.如权利要求1所述的基于RabbitMQ的气象数据传输容错方法,其特征在于,所述方法还包括:
5.如权利要求4所述的基于RabbitMQ的气象数据传输容错方法,其特征在于,如果岸基不正常返回气象数据,再一次向岸基的RabbitMQ服务器请求指定区域气象数据的步骤,还包括:将不正常返回的气象数据录入数据库中。
6.如权利要求1所述的基于RabbitMQ的气象数据传输容错方法,其特征在于,如果返回的请求号与发送的请求号一致,录入气象数据到数据库的步骤,还包括:进行气象显示。
7.如权利要求1所述的基于
8.如权利要求7所述的基于RabbitMQ的气象数据传输容错方法,其特征在于,如果返回的请求号与发送的请求号不一致,再一次向岸基的RabbitMQ服务器请求指定区域气象数据的步骤,还包括:
9.如权利要求1所述的基于RabbitMQ的气象数据传输容错方法,其特征在于,所述方法还包括:如果气象不过期、气象区域不异常、气象数据不异常,进行气象显示。
10.一种基于RabbitMQ的气象数据传输容错装置,其特征在于,其包括:
...【技术特征摘要】
1.一种基于rabbitmq的气象数据传输容错方法,其特征在于,所述方法包括:
2.如权利要求1所述的基于rabbitmq的气象数据传输容错方法,其特征在于,向岸基的rabbitmq服务器请求指定区域的气象数据的步骤,包括:
3.如权利要求1所述的基于rabbitmq的气象数据传输容错方法,其特征在于,如果是,进行加载气象区域,生成随机的请求号,向岸基的rabbitmq服务器请求指定区域的气象数据的步骤,还包括:
4.如权利要求1所述的基于rabbitmq的气象数据传输容错方法,其特征在于,所述方法还包括:
5.如权利要求4所述的基于rabbitmq的气象数据传输容错方法,其特征在于,如果岸基不正常返回气象数据,再一次向岸基的rabbitmq服务器请求指定区域气象数据的步骤,还包括:将不正常返回的气象数据...
【专利技术属性】
技术研发人员:马尔斯,金开嵩,孙赛,李永念,房新楠,伍冬阳,
申请(专利权)人:上海船舶研究设计院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。