数据传输方法、装置及系统与流程
本技术涉及数据通信,具体涉及一种数据传输方法、装置及系统。
背景技术:
1、在电力调度系统中,生产控制大区(内网客户端)与管理信息大区(外网服务端)之间通常部署正向隔离装置,以实现数据从客户端单向传输到服务端,且反向通道被严格限制,进而阻断外部攻击进入内网的可能性。然而,服务端由于应答受限,通常无法在应答中携带任何有效载荷或状态信息,一旦发生网络闪断或程序繁忙,数据极易丢失且客户端无法感知,导致服务端出现遥测盲区或遥信误报,影响传输可靠性。此外,电力调度要求关键数据在毫秒级内完成上送,对数据传输的实时性要求较高。基于此,如何实现客户端对数据接收状态的有效感知,并兼顾传输效率,是本领域需要解决的问题。
技术实现思路
1、提供一种数据传输方法、装置及系统,以实现客户端对数据接收状态的有效感知,并兼顾传输效率。
2、第一方面,提供一种数据传输方法,应用于客户端,所述客户端通过正向隔离装置与服务端通信;所述数据传输方法包括:
3、向所述服务端发送数据帧;
4、响应于已发送且未确认的所述数据帧的数量达到预设阈值k,且接收到所述服务端返回的第一单字节确认信息,继续发送所述数据帧,所述第一单字节确认信息是所述服务端在接收到k个所述数据帧后回复的,用于确认k个所述数据帧;
5、响应于已发送且未确认的所述数据帧的数量达到预设阈值k,且未接收到所述第一单字节确认信息,执行流控操作,所述流控操作用于限制所述数据帧的发送动作。
6、在一些实施例中,所述执行流控操作,包括:
7、停止发送所述数据帧,并按照第一预设间隔向所述服务端发送流控问询帧,所述流控问询帧用于探测所述服务端的处理状态;
8、在第一连续预设次数未接收到所述服务端针对所述流控问询帧返回的第二单字节确认信息的情况下,断开与所述服务端的连接,并重新建立连接。
9、在一些实施例中,所述数据帧包括遥测变化帧和遥信变化帧;所述数据传输方法还包括:
10、将每个所述遥测点的当前值与对应上一次转发值进行比较,并在所述当前值与对应所述上一次转发值的差值超过对应预设死区的情况下,将对应所述遥测点标记为待发送状态;
11、在检测到遥信点发生变位的情况下,将所述遥信点的变位信息添加到遥信队列;
12、根据第一预设周期触发组包操作,生成所述遥测变化帧和所述遥信变化帧。
13、在一些实施例中,所述根据第一预设周期触发组包操作,生成所述遥测变化帧和所述遥信变化帧,包括:
14、根据所述第一预设周期和遥信队列中存储的变位信息,生成所述遥信变化帧;
15、在完成所述遥信变化帧的生成后,根据待发送状态的遥测点的当前值,生成所述遥测变化帧。
16、在一些实施例中,所述数据传输方法还包括:
17、在生成所述遥测变化帧后,清除所述遥测点的待发送状态,并用所述当前值更新对应所述上一次转发值;
18、在生成所述遥信变化帧后,从所述遥信队列中移除已发送的变位信息。
19、在一些实施例中,所述数据帧包括全量遥测帧和全量遥信帧中的至少一者;向所述服务端发送数据帧,包括:
20、根据第二预设周期,向所述服务端发送所述全量遥测帧和所述全量遥信帧中的至少一者,所述全量遥测帧包括所有遥测点的当前值,所述全量遥信帧包括所有遥信点的当前状态。
21、在一些实施例中,在向所述服务端发送数据帧之前,所述数据传输方法还包括:
22、与所述服务端建立tcp连接;
23、向所述服务端发送握手帧;
24、接收所述服务端返回的第三单字节确认信息,以确认链路建立成功。
25、在一些实施例中,所述数据传输方法还包括:
26、在第一预设时段内未发送所述数据帧的情况下,按照第二预设间隔向所述服务端发送心跳帧;
27、在第二连续预设次数内接收到所述服务端针对所述心跳帧返回的第四单字节确认信息的情况下,重置所述第一预设时段的计时;
28、在所述第二连续预设次数未接收到所述第四单字节确认信息的情况下,断开与所述服务端的连接,并重新建立连接。
29、在一些实施例中,所述数据传输方法还包括:
30、根据网络质量调整所述预设阈值k;其中,在所述网络质量下降的情况下减小所述预设阈值k,在所述网络质量提升的情况下增大所述预设阈值k。
31、在一些实施例中,根据网络质量调整所述预设阈值k,包括:根据网络质量在预设取值范围内调整所述预设阈值k,所述预设取值范围根据所述客户端的芯片处理性能确定。
32、第二方面,还提供一种数据传输方法,应用于服务端,所述服务端通过正向隔离装置与客户端通信;所述数据传输方法包括:
33、响应于接收到所述客户端发送的数据帧的数量达到预设阈值k,向所述客户端发送第一单字节确认信息,所述第一单字节确认信息用于确认k个所述数据帧。
34、在一些实施例中,所述数据传输方法还包括:
35、接收流控问询帧,所述流控问询帧是所述客户端响应于未接收到所述第一单字节确认信息,按照第一预设间隔发送的,用于探测所述服务端的队列状态;
36、根据所述服务端的队列状态,确定是否回复第二单字节确认信息。
37、在一些实施例中,根据所述服务端的队列状态,确定是否回复第二单字节确认信息,包括:
38、在队列长度未超过预设长度阈值的情况下,向所述客户端回复所述第二单字节确认信息;
39、在队列长度超过所述预设长度阈值的情况下,不向所述客户端回复所述第二单字节确认信息。
40、第三方面,还提供一种数据传输系统,包括客户端、正向隔离装置和服务端,所述正向隔离装置连接在所述客户端与所述服务端之间,用于实现所述客户端与所述服务端的通信;其中:
41、所述客户端用于发送数据帧;
42、所述服务端用于响应于接收到所述数据帧的数量达到预设阈值k,向所述客户端发送第一单字节确认信息,所述第一单字节确认信息用于确认k个所述数据帧;
43、所述客户端还用于响应于接收到所述第一单字节确认信息,继续发送所述数据帧,以及响应于未接收到所述第一单字节确认信息,执行流控操作,所述流控操作用于限制所述数据帧的发送动作。
44、第四方面,还提供一种数据传输装置,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器被配置为执行所述计算机程序时实现如第一方面中任一项所述的数据传输方法,或者实现如第二方面中任一项所述的数据传输方法。
45、本技术实施例的方案,客户端通过正向隔离装置向服务端发送数据帧,并在已发送且未确认的数据帧数量达到预设阈值k时,根据是否收到服务端返回的用于确认k个数据帧的第一单字节确认信息,来决定继续发送或执行流控操作。该方案能够在满足正向隔离装置对反向应答仅允许单字节的约束下,通过批量确认机制减少反向应答频次,有助于提高信道利用率,进而提升传输效率;同时,通过对已发送未确认帧数的计数和确认,使发送端能够感知服务端的接收状态,并在未收到确认时限制数据帧的发送动作,有利于改善数据传输的可靠性。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com