一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实现应答式双路数据采集的方法与流程

2021-11-06 06:29:00 来源:中国专利 TAG:


1.本发明涉及数据采集技术领域,具体的说,涉及了一种实现应答式双路数据采集的方法。


背景技术:

2.ups数据采集为铁路防灾监控系统不可缺少的组成部分,ups传感器数据采集为请求、应答模式,具体的, ups传感器通过同一个串口分别与一套监控主机的a、b机相连,如果a、b机同时发送请求,那么a、b机收到的数据都将发生错乱,导致双机均解析不了ups数据;同理其他应答式设备的双路采集同样存在此问题。
3.为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。


技术实现要素:

4.本发明的目的是针对现有技术的不足,提供一种无需额外增设串口、单个串口主导权分配方法的逻辑独立性强、两个应答式设备串口的主导权独立判定、容错能力强、通用性强的实现应答式双路数据采集的方法。
5.为了实现上述目的,本发明所采用的技术方案是提供一种实现应答式双路数据采集的方法,所述方法包括:配置两台监控主机连接到应答式设备的同一串口,所述两台监控主机通过双机心跳通信连接;选择一台监控主机分配主导权,设定所述主导权的截止时间;所述主导权为发送请求到所述应答式设备的权利;所述截止时间随着心跳包的更新更新为当前心跳包时间点加上预设时间段;持有分配所述主导权的监控主机通过心跳包告知另一台监控主机所述截止时间和所述主导权分配结果;在所述截止时间到期前,持有所述主导权的监控主机发送请求到所述应答式设备,所述两台监控主机接收并解析所述应答式设备返回的应答报文;若持有所述主导权的监控主机的数据采集状态异常,则切换所述主导权。
6.进一步的,若所述两台监控主机之间的双机心跳异常,无法通过心跳包更新所述截止时间,所述截止时间到期,此时执行:若距上次从所述应答式设备收到应答报文时间点未超过t2时间,则由上一次持有主导权的监控主机继续持有主导权;若距上次从所述应答式设备收到应答报文时间点超过t2时间,则由上一次持有主导权的监控主机的对机自主执行发送请求和解析应答。
7.进一步的,所述选择一台监控主机分配主导权包括:两台监控主机启动t1时间内,两台监控主机均不向所述应答式设备发送请求;若t1时间之后,两台监控主机之间的双机心跳正常;由其中一台监控主机执行主
导权分配;检测执行主导权分配的监控主机的数据采集状态,若数据采集状态正常,则由该监控主机持有主导权;否则,检测另一台监控主机的数据采集状态,若数据采集状态正常,则由该监控主机持有主导权;否则,发出告警信息。
8.若t1时间之后,两台监控主机之间的双机心跳异常;两台监控主机分别发送请求到所述应答式设备;若第一次收到的应答报文是对机请求的,则本机不再发送请求,对机持有所述主导权;若第一次收到的应答报文是本机请求的,则本机持有所述主导权;进一步的,切换所述主导权的方法包括:执行主导权分配的监控主机检测非持有所述主导权的监控主机的数据采集状态,若数据采集状态正常,则切换该监控主机持有主导权;否则,发出告警信息。
9.进一步的,所述t2时间大小为ups传感器数据采集周期的三倍。
10.进一步的,所述t1时间大小为双机心跳周期的三倍。
11.进一步的,所述应答式设备为ups传感器。
12.另一方面,提供一种实现应答式双路数据采集的系统,包括:两台监控主机和应答式设备,所述两台监控主机连接到所述应答式设备的同一串口,执行权利要求1

7任一项所述的实现应答式双路数据采集的方法。
13.第三方面,提供一种实现应答式双路数据采集的系统,包括:两台监控主机和多个应答式设备,所述两台监控主机分别连接到各个应答式设备的同一串口,对应每个串口执行权利要求1

7任一项所述的实现应答式双路数据采集的方法。
14.进一步的,权利要求8或9所述的实现应答式双路数据采集的系统,包括:所述两台监控主机为主监控主机和备监控主机,所述主监控主机的分配主导权优先级高于所述备监控主机。
15.本发明相对现有技术具有突出的实质性特点和显著进步,具体的说,第一,采用了分配主导权的方法,限定同一时间只有一台监控主机发送请求,从而避免了同时发送请求导致接收的采集数据错乱的问题;第二,针对一套监控主机连接的同一所述ups传感器的单个串口具有独立的主导权判定逻辑,串口之间互不影响,逻辑独立性强;第三,考虑了串口连接线故障、主机掉电、心跳异常等场景,容错能力强;最后,所有应答式设备的双路数据采集均可采用该实现应答式双路数据采集的方法,通用性强。
附图说明
16.图1是本发明一种实施例的结构示意图。
17.图2是本发明另一种实施例的结构示意图。
18.图3是本发明的监控主机掉电重启后向其中一台监控主机分配主导权的方法流程示意图。
19.图4是本发明的截止时间到期分配主导权的方法流程示意图。
20.图5是本发明的监控主机串口连接故障时切换主导权方法的示意图。
21.图6是本发明的应答式设备双路数据采集方法的分配主导权的流程示意图。
具体实施方式
22.下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
23.实施例1本实施例提供了一种实现应答式设备双路数据采集的方法,包括:配置两台监控主机连接到应答式设备的同一串口,所述两台监控主机通过双机心跳通信连接;选择一台监控主机分配主导权,设定所述主导权的截止时间;所述主导权为发送请求到所述应答式设备的权利;所述截止时间随着心跳包的更新更新为当前心跳包时间点加上预设时间段;持有分配所述主导权的监控主机通过心跳包告知另一台监控主机所述截止时间和所述主导权分配结果;在所述截止时间到期前,持有所述主导权的监控主机发送请求到所述应答式设备,所述两台监控主机接收并解析所述应答式设备返回的应答报文;若持有所述主导权的监控主机的数据采集状态异常,则切换所述主导权。
24.所述两台监控主机通过串口扩展设备连接同一串口,通过划分所述主导权,设定所述截止时间,从时间节点上杜绝所述两台监控主机同时发送请求到所述应答式设备的行为,从而避免了所述监控主机接收的数据错乱的问题。
25.所述两台监控主机分别通过串口扩展设备可以连接同一应答式设备的同一串口,两台监控主机运用该实现应答式双路数据采集的方法采集一个应答式设备的数据;也可以同时均和两个应答式设备的同一个串口相连,两台监控主机运用该实现应答式双路数据采集的方法同时采集两个应答式设备的数据。
26.所述主导权的分配权可以预先指定一台监控主机固定持有,也可以随机选取一台监控主机固定持有,也可以按需轮换持有分配权。分配所述主导权的监控主机具有优先获得所述主导权的权利。
27.分配所述主导权的监控主机通过每个心跳包告知对机所述主导权的归属和所述截止时间;其中所述截止时间到期前,所述截止时间持续更新为当前心跳包时间点加上预设时间段;直到双机心跳异常,所述截止时间不再更新,则预设时间段过后所述截止时间过期。此外,分配所述主导权的监控主机也可以通过固定间隔的心跳包告知对机所述主导权的归属和所述截止时间,比如,每间隔两个心跳包告知对机一次所述主导权的归属和所述截止时间。
28.其中分配所述主导权的方法,考虑了监控主机串口连接故障的问题、双机心跳异常的问题、监控主机掉电重启问题;此外监控主机重启的情形包括:实现应答式双路数据采集的方法遇到其他问题导致需要重新执行该方法的情形,第一次运行启动的情形;如图6所示,针对不同问题,采用了不同的策略,总之在无需增加额外串口的情况下提高了监控效率,该应答式设备双路数据采集方法的通用性强,适合所有应答式设备的双路采集。
29.数据采集状态异常,切换主导权在所述截止时间到期前,即此期间双机心跳正常,所述截止时间在随着心跳包持续更新,但持有所述主导权的监控主机的串口出现问题,造成监控主机发送请求失败,也接收不到应答报文,此时数据采集状态出现异常,则切换另一台监控主机持有所述主导权,如图5所示,具体方法如下:执行主导权分配的监控主机检测非持有所述主导权的监控主机的数据采集状态,
若数据采集状态正常,则切换该监控主机持有主导权;否则,发出告警信息。
30.所述主导权切换后,执行主导权分配的监控主机同样通过每个心跳包告知对机所述主导权的归属和更新后的所述截止时间。
31.所述数据采集状态是根据一定时间内能否收到所述应答式设备的应答报文而确定的,若能持续接收应答报文,则持有所述主导权的监控主机的所述数据采集状态良好;若一定时间内所述两台监控主机均接收不到应答报文,则持有所述主导权的监控主机的所述数据采集状态异常。
32.具体的,如图5所示,监控主机a持有所述主导权,同时由监控主机a执行分配所述主导权;监控主机a根据数据采集状态分配主导权,然后通过心跳包告知监控主机b所述主导权的归属和所述截止时间;所述截止时间为当前心跳包时间点加上预设定时间t;当监控主机a与所述应答式设备串口线连接故障时,监控主机a发送的请求不能被所述应答式设备接收,所述应答式设备无请求也不会发出应答报文,一定时间内监控主机a、b均接收不到应答报文,则判定持有主导权的监控主机数据采集状态异常,则切换监控主机b持有所述主导权,同时监控主机a发出故障告警;监控主机a仍旧通过心跳包告知监控主机b所述主导权的归属和所述截止时间;在监控主机b持有所述主导权期间,有充足的时间恢复监控主机a与所述应答式设备串口的连接; 同理,当监控主机b与所述应答式设备串口线连接故障时,则切换监控主机a持有所述主导权,同时监控主机b发出故障告警。
33.监控主机掉电重启如图3所示,向其中一台监控主机分配主导权的方法包括:两台监控主机启动t1时间内,两台监控主机均不向所述应答式设备发送请求;若t1时间之后,两台监控主机之间的双机心跳正常;由其中一台监控主机执行主导权分配;检测执行主导权分配的监控主机的数据采集状态,若数据采集状态正常,则由该监控主机持有主导权;否则,检测另一台监控主机的数据采集状态,若数据采集状态正常,则由该监控主机持有主导权;否则,发出告警信息。
34.若t1时间之后,两台监控主机之间的双机心跳异常;两台监控主机分别发送请求到所述应答式设备;若第一次收到的应答报文是对机请求的,则本机不再发送请求,对机持有所述主导权;若第一次收到的应答报文是本机请求的,则本机持有所述主导权;优选的,所述t1时间大小为双机心跳周期的三倍。
35.当监控主机掉电后不可自行恢复时,则双机心跳异常,需要人为重启监控主机来恢复稳定的双机心跳;此外还包括,实现应答式双路数据采集的方法遇到其他问题导致需要重新执行该方法的情形,第一次运行启动的情形,都需要首先建立稳定的双机心跳。
36.考虑到所述监控主机需要几个心跳包时间来判定是否建立了稳定心跳,于是设定t1时间内所述监控主机均不向所述应答式设备发送请求,经过三个心跳周期来确定双机心跳的稳定性。
37.若t1时间后双机心跳不恢复则表明监控主机仍存在异常,则两台监控主机分别发送请求到所述应答式设备;若第一次收到的应答报文是对机请求的,则本机不再发送请求,对机持有所述主导权,对机发送请求,两台监控主机解析应答;若第一次收到的应答报文是本机请求的,则本机持有所述主导权,本机发送请求,两台监控主机分别解析应答。
38.若t1时间后重新建立双机心跳,则根据监控主机的数据采集状态分配所述主导权。
39.双机心跳异常若所述监控主机之间的双机心跳异常,无法通过心跳包更新所述截止时间,所述截止时间到期,如图4所示,此时执行:若距上次从所述应答式设备收到应答报文时间点未超过t2时间,则由上一次持有主导权的监控主机继续持有主导权;若距上次从所述应答式设备收到应答报文时间点超过t2时间,则由上一次持有主导权的监控主机的对机自主执行发送请求和解析应答。
40.优选的,所述t2时间大小为应答式设备数据采集周期的三倍,留有三个采集周期来排除应答报文延迟、丢失一包应答报文的因素,更准确的判断是否能接收到应答报文。
41.当持有主导权的监控主机正常工作,另一台监控主机可能正常工作或者不工作,只是其他问题导致双机心跳异常;此时,持有所述主导权的监控主机正常发送请求,应答式设备仍旧向两台监控主机发送应答报文,由于监控主机能持续接收到应答报文,则距上次从所述应答式设备收到应答报文时间点不会超过t2时间,则由上一次持有主导权的监控主机继续持有主导权;当持有主导权的监控主机不工作,导致双机心跳异常,另一台监控主机正常工作;此时,持有主导权的监控主机不工作,则持有主导权的监控主机不再发送请求,应答式设备接收不到请求也不在发送应答报文,t2时间后,则由上一次持有主导权的监控主机的对机自主执行发送请求和解析应答。
42.实施例2本实施例与实施例1的区别在于,所述应答式设备为ups传感器,所述监控主机包括监控主机a、监控主机b,所述监控主机a、监控主机b通过串口扩展设备电连接所述ups传感器同一串口,执行实施例1中的实现应答式双路数据采集方法。
43.实施例3本实施例提供一种实现应答式双路数据采集的系统,如图1所示,包括两台监控主机和应答式设备,所述两台监控主机连接到所述应答式设备的同一串口,执行实施例1中所述的实现应答式双路数据采集的方法,执行实施例1中的所述主导权的分配方法。
44.实施例4本实施例与实施例3的区别在于:提供一种实现应答式双路数据采集的系统,如图2所示,包括两台监控主机和多个应答式设备,所述两台监控主机分别连接到各个应答式设备的同一串口,对应每个串口执行实施例1中所述的实现应答式双路数据采集的方法,执行实施例1中的所述主导权的分配方法。
45.实施例5本实施例与实施例3、实施例4的区别在于:所述两台监控主机为主监控主机和备监控主机,所述主监控主机的分配主导权优先级高于所述备监控主机。
46.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发
明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献