本发明涉及环境、水文、地质灾害监测
技术领域:
,具体涉及一种网络数据透传断线检测方法。
背景技术:
:野外环境、水文、地质灾害监测站往往地处偏远山区,基本没有3G、4G网络信号,只能依靠GPRS网络传输数据。目前市场上使用较多的GPRS模块有华为公司生产的各种信号GSM模块以及西门子公司生产的GSM模块。这些GSM模块产品均采用通用的AT指令协议(AT指令可查询连接状态)。设备上的微处理器MCU可利用AT指令协议控制GSM模块。华为以及西门子公司生产的GSM模块中的AT指令可以返回当前连接状态是否正常。然而,在实际应用尽管GSM模块返回连接正常,事实上该TCP连接早已断开(这种情况普遍存在,在多篇学术论文以及通信技术BBS上均有讨论该问题)。因此,GSM模块有以下缺陷:(1)无法检测虚连接,导致通信中断且无法自动恢复,严重影响监测数据的回传效率;(2)需要长达100分钟的时间才能够检测到,耗时过长,实用性不强。采用GPRS网络连接Internet进行TCP通信很容易产生虚连接的情况,即远程连接通信链路已经断开了。目前,在行业领域解决GPRS网络TCP虚连接的方法主要有两种:第一种、缩短TCP/IP包未确认连接时间(标为现有技术1),具体是:单片机在初始化时发送AT^SCFG=120指令,设定如果发送的数据2min内没有获得确认,就关断连接。从而能在AT^SISI指令中得到真正的TCP/IP连接状态。此方式的缺点是:(1)、无法实时判断是否在线连接,需要等待设定的响应时间才能判断是否连接上;(2)、如果中间间隔很长时间没有发送数据,则在这段时间内,GSM模块不会进行连接状态的判断。然而在环境、水文、地质灾害监测系统中,监测间隔往往为半个小时或一个小时一次,在这段时间内无法判断GPRS连接的状态。第二种、采用定时器周期判断法(标为现有技术2),具体是:具体方法为:使用AT^SISI指令查询当前状态,即使有虚连接的可能,<ackData>数据也表明了已经发送的数据。如果在一定时间内,考虑到心跳协议也要发送数据,则可以判断这一段时间里<ackData>是否增多。如果<ackData>数据没有增加,则说明网络实际上已经断开,需要重新连接。这种方法的核心是根据发送成功的数据包大小有没有增加来判断是否连接正常。然而在环境、水文、地质灾害监测系统中,监测间隔往往为半个小时或一个小时一次,在这段时间内数据包不会增加。如果设置心跳包,即每隔一定时间(如10秒)发送一次心跳包数据,是可以解决这个问题的。然而针对TCP/IP透传模式,设置定时器定时查询连接状态需要先退出透传模式,确认连接正常后再重新进入透传模式。这种方法在切换透传模式的时候会影响正常监测数据的发送。综上所述,开发设计一种结构精简、操作方便、能够做到实时检测、因不用切换透传模式而不会影响正常监测数据的传输以及适用于环境、水文、地质灾害监测的数据传输系统和方法具有重要意义。技术实现要素:本发明目的在于提供一种结构精简且适用于环境、水文、地质灾害监测的数据传输系统,具体技术方案如下:一种网络数据透传系统,包括远程数据传输设备和与所述远程数据传输设备连接的远程服务端;所述远程数据传输设备包括具有回显功能的GSM模块以及与所述GSM模块连接的微处理器,所述微处理器包括对所述GSM模块进行初始化的初始化模块、间隔性对外发送包含特定字符串的心跳包的定时器轮询模块、收到所述定时器轮询模块发送的重新连接信号后启动重新连接的网络断线重连模块以及实时对传输数据进行监控的监控数据传输模块。以上技术方案中优选的,所述远程数据传输设备和所述远程服务端之间还设有GPRS通信基站,所述远程数据传输设备与所述GPRS通信基站之间以及所述远程服务端与所述GPRS通信基站之间均通过ICP/IP协议进行数据传输。应用本发明的技术方案,系统整个结构精简,便于使用;远程数据传输设备和远程服务端之间还设有GPRS通信基站,提高数据传输的精准度。本发明还提供一种上述网络数据透传系统的断线检测方法,包括以下步骤:第一步:GSM模块上电时,初始化模块对GSM模块进行初始化,开启GSM模块的回显功能,启动远程数据传输设备与远程服务端之间的远程连接并进入数据透传模式;启动监控数据传输模块,对网络的数据传输情况进行监控;第二步:定时器轮询模块每间隔时间T1对外发送包含字符串D的心跳包,T1为10ms-1s;第三步:定时器轮询模块实时检测GSM模块收到的数据,对GSM模块收到的数据进行判断:若GSM模块收到的数据包含了完整的心跳包,则认为网络连接已经掉线,定时器轮询模块发送重新连接信号给网络断线重连模块,进入下一步;若GSM模块收到的数据不包含完整的心跳包,则认为网络连接正常,返回第二步;第四步:网络断线重连模块收到定时器轮询模块发送的重新连接信号后,启动重新连接;若连接失败,则挂起时间T2后再次尝试,直到网络连接成功或者GSM模块断电为止,T2为20-50s。以上技术方案中优选的,T1为500ms,T2为30s。应用本发明的网络数据透传系统的断线检测方法(即GPRS嵌入式Internet网络数据透传断线检测方法),效果是:1、通过设置定时器轮询模块不断定时发送包含特定字符串的心跳包,同时实时侦测GSM模块收到的数据是否包含该心跳包。如果包含该心跳包则启动断线重连模块RN。通过以上流程可以做到实时检测数据透传模式下GPRS网络连接是否掉线,掉线后可以保证立即重连,从而达到GPRS模块实时在线的目的。该方法能够做到实时检测,不用切换透传模式从而不会影响正常监测数据的传输,该方法步骤简单,实施方便。2、定时器轮询间隔可以依据微处理器MCU的处理速度以及GSM模块的应用场景需要设置为10ms-1s,轮询间隔越小实时性越高,但所占用的计算资源越高,此处的轮询时间设计合理,符合环境、水文、地质灾害监测的需求。3、根据GSM模块的应用场景可以设计不同的心跳包(包含字符串D)以保证与远程服务端发送过来的数据区分开来,满足不同的需求。除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。附图说明构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是实施例1的网络数据透传系统的结构示意图;其中,1、远程数据传输设备,1.1、GSM模块,1.2、微处理器,1.21、初始化模块,1.22、定时器轮询模块,1.23、网络断线重连模块,1.24、监控数据传输模块,2、远程服务端,3、GPRS通信基站。具体实施方式以下结合附图对本发明的实施例进行详细说明,但是本发明可以根据权利要求限定和覆盖的多种不同方式实施。实施例1:参见图1,一种网络数据透传系统,包括远程数据传输设备1和与所述远程数据传输设备1连接的远程服务端2。所述远程数据传输设备1包括具有回显功能的GSM模块1.1以及与所述GSM模块1.1连接的微处理器1.2,所述微处理器1.2包括对所述GSM模块1.1进行初始化的初始化模块1.21、间隔性对外发送包含特定字符串的心跳包的定时器轮询模块1.22、收到所述定时器轮询模块1.22发送的重新连接信号后启动重新连接的网络断线重连模块1.23以及实时对传输数据进行监控的监控数据传输模块1.24。所述远程数据传输设备1和所述远程服务端2之间还设有GPRS通信基站3,所述远程数据传输设备1与所述GPRS通信基站3之间以及所述远程服务端2与所述GPRS通信基站3之间均通过ICP/IP协议进行数据传输。应用上述网络数据透传系统进行断线检测,具体包括以下步骤:第一步:GSM模块1.1上电时,初始化模块1.21对GSM模块1.1进行初始化,开启GSM模块1.1的回显功能,启动远程数据传输设备1与远程服务端2之间的远程连接并进入数据透传模式;启动监控数据传输模块1.24,对网络的数据传输情况进行监控;第二步:定时器轮询模块1.22每间隔时间T1对外发送包含字符串D的心跳包,T1为10ms-1s(此处选定为500ms);第三步:定时器轮询模块1.22实时检测GSM模块1.1收到的数据,对GSM模块1.1收到的数据进行判断:若GSM模块1.1收到的数据包含了完整的心跳包,则认为网络连接已经掉线,定时器轮询模块1.22发送重新连接信号给网络断线重连模块1.23,进入下一步;若GSM模块1.1收到的数据不包含完整的心跳包,则认为网络连接正常,返回第二步;第四步:网络断线重连模块1.23收到定时器轮询模块1.22发送的重新连接信号后,启动重新连接;若连接失败,则挂起时间T2后再次尝试,直到网络连接成功或者GSM模块1.1断电为止,T2为20-50s(此处选定为30s)。应用本实施例的技术方案,通过利用GSM模块在网络透传模式下如果连接断开则透传数据会回显这一特性,通过设置定时器模块不断发送特殊字符,一旦探测到该同样的字符串被回显,则可以直接在Client端探测到虚连接存在,立即启动断线重连,从而保障了远程监测设备连接实时在线。同时,这种方法不需要使用AT^SISI指令查询连接状态,因此无须退出透传模式,不影响监测数据的实时传输。也不需要远程服务器端进行判断,从而保证了直接在Client端实时维持真实连接状态。采用本实施例的技术方案与现有技术(现有技术1和现有技术2)比较,详情见表1。实施例2-实施例3实施例2和实施例3与实施例1不同之处在于:实施例2:定时器轮询模块1.22每间隔时间T1对外发送包含字符串D的心跳包,T1为10ms;网络断线重连模块1.23挂起时间T2后再次尝试,T2为20s;实施例3:定时器轮询模块1.22每间隔时间T1对外发送包含字符串D的心跳包,T1为1s;网络断线重连模块1.23挂起时间T2后再次尝试,T2为50s;采用实施例2-3的技术方案与现有技术(现有技术1和现有技术2)比较,详情见表1。表1实施例1-3、现有技术1和现有技术2三者效果比较表案例/性能指标是否能保证实时探测到虚连接是否影响数据传输是否需要切换透传模式实施例1可以不影响不需要实施例2可以不影响不需要实施例3可以不影响不需要现有技术1可以影响需要现有技术2不行影响需要从表1中可以看出:采用本发明的技术方案,通过设置定时器模块不断发送特殊字符以及结合各部件的组合,是绝对可以实时探测到网络的虚连接;能及时重新连接网络以及无需切换透传模式,确保整个网络的数据传输不受影响。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3