一种基于udp协议的故障录波数据的传输方法

文档序号:7778221阅读:358来源:国知局
一种基于udp协议的故障录波数据的传输方法
【专利摘要】本发明涉及一种基于UDP协议的故障录波数据的传输方法,属于变电站自动化数字录波【技术领域】。本发明通过在发送端建立数据缓冲区,将带发送的数据分成等长的数据存入缓冲区中等待发送,发送端以UDP协议方式向接收端发送数据,接收端定时查询所接收的数据,当发生有漏帧或错帧现象时,发送端启动重发机制将丢失的数据包重新发送,整个传输过程,接收端采用多线程的数据处理方式,同时监视接收端缓冲区的是否处于满状态以便清空处理,本发明保证在UDP高效传输过程中不丢包,提高了传输效率和传输稳定性,从而提高了故障录波器数据传输的可靠性。
【专利说明】一种基于UDP协议的故障录波数据的传输方法
【技术领域】
[0001]本发明涉及一种基于UDP协议的故障录波数据的传输方法,属于变电站自动化数字录波【技术领域】。
【背景技术】
[0002]随着数字化61850技术在电力系统中的广泛应用,数字化录波器能够产生大量的comtrade格式的超大故障文件,目前越来越大的故障录波文件和嵌入式回放设备有限的录波缓冲空间形成了尖锐的矛盾,需采用一个响应足够快、传送数据可靠的通讯模式来解决此问题。
[0003]UDP通信具有响应快的网络传送特质,它发送数据以独立的数据包形式直接向接收方发送数据而不关心对方计算机的状态,不考虑网络数据传输过程中的突发问题,因此UDP协议的传输速度和网络的利用效率都要比TCP高,另一方面来说,由于UDP不保证各数据包的发送顺序,也不进行正确性检查,因此不能够保证数据传送的可靠性,可能出现数据的失序、丢失等现象。而在录波器的故障回放功能设计中,通信可靠性是至关重要的,而传统的对整个录波文件进行传送的方式已经不能满足现场和实验室故障测试回放的需求。

【发明内容】

[0004]本发明的目的是提供一种基于UDP协议的故障录波数据的传输方法,以解决目前使用UDP协议传输故障录波数据时可靠性差导致无法满足现场和实验室故障测试回放需求的问题。
[0005]本发明为解决上述技术问题而提供一种基于UDP协议的故障录波数据的传输方法,该传输方法包括以下步骤:
[0006]I)发送端建立数据缓冲区,将待发送的数据分成等长的链表式队列存入冲缓冲区等待发送,发送端以UDP协议方式向接收端发送数据;
[0007]2)接收端将接收的数据报文存入接收端缓冲区,并定期检测接收端缓冲区的状态,同时将检测到状态量通过发送状态同步机制反馈给发送端;
[0008]3)发送端根据收到反馈信息,启动报文发送,直至接收端缓冲区存满时,发送端不再发送数据包;
[0009]4)接收端定时检查数据缓冲区的连续性,如果检测到数据不连续,将丢失的数据序号发送给发送端,发送端收到后重传相应序号的数据。
[0010]所述发送端在发送数据时,在数据帧中添加序号,发送端按照序号顺序进行发送。
[0011]所述接收端数据缓冲区向应用层传送的数据为连续的数据。
[0012]所述的发送端和接收端之间的通讯模式是PTP,一对一的,没有第三方通讯介质。
[0013]所述发送端缓冲区将数据发送出去后,在收到接收端的序号同步信息时,将确认收到的报文删除释放。
[0014]所述步骤3)中发送端根据反馈信息停止发送数据包时,发送端定时发送状态同步同文,UDP数据传输组件进入空闲状态,等待接收端缓冲区回到未满状态。
[0015]所述步骤4)中发送端延时设定的时间后接收接收端重传数据序号信息,判断是否有数据需要重传,如果需要重传,发送端则从发送缓冲区检出需要重传的数据并发送接收端,没有则返回。
[0016]所述发送端和接收端都采用三线程处理方式,每个线程通过UDP套接字进行通信。
[0017]本发明的有益效果是:本发明通过在发送端建立数据缓冲区,将带发送的数据分成等长的数据存入缓冲区中等待发送,发送端以UDP协议方式向接收端发送数据,接收端定时查询所接收的数据,当发生有漏帧或错帧现象时,发送端启动重发机制将丢失的数据包重新发送,整个传输过程,接收端采用多线程的数据处理方式,同时监视接收端缓冲区的是否处于满状态以便清空处理,本发明保证在UDP高效传输过程中不丢包,提高了传输效率和传输稳定性,从而提高了故障录波器数据传输的可靠性。
【专利附图】

【附图说明】
[0018]图1是本发明实施例中发送端重传线程流程图;
[0019]图2是本发明实施例中发送端主发送数据定时器流程图;
[0020]图3是本发明实施例中发送端反馈线程流程图;
[0021]图4是本发明实施例中接收端重传任务的流程图;
[0022]图5是本发明实施例中接收端接收数据的示意图;
[0023]图6是本发明实施例中接收端反馈信息的示意图;
[0024]图7本发明的传输过程整体工作流程图。
【具体实施方式】
[0025]下面结合附图对本发明的【具体实施方式】作进一步的说明。
[0026]本发明采用UDP的传输协议,通过在发送端建立数据缓冲区,将带发送的数据分成等长的数据存入缓冲区中等待发送,接收端定时查询所接收的数据,当发生有漏帧或错帧现象时,发送端启动重发机制将丢失的数据包重新发送,具体流程如图7所示,该方法具体包括以下步骤:
[0027]1.发送端建立数据缓冲区,将待发送的数据分成等长的链表式队列存入冲缓冲区等待发送,发送端在发送数据时,在数据帧中添加序号,发送端按照序号顺序进行发送,发送端以UDP协议方式向接收端发送数据;该步骤中一个UDP数据帧发送一个等长数据,发送端和接收端之间的通讯模式是PTP,一对一的,没有第三方通讯介质。
[0028]2.接收端将接收的数据报文存入接收端缓冲区,并定期检测接收端缓冲区的状态,同时将检测到状态量通过发送状态同步机制反馈给发送端,同时根据收到数据报文的序号向发送端发送序号同步信号。
[0029]3.发送端根据收到反馈信息,启动报文发送,直至接收端缓冲区存满时,发送端不再发送数据包;该步骤中发送端根据反馈信息停止发送数据包时,发送端定时发送状态同步同文,UDP数据传输组件进入空闲状态,等待接收端缓冲区回到未满状态,同时发送端缓冲区将数据发送出去后,在收到接收端的序号同步信息时,将确认收到的报文删除释放。[0030]4.接收端定时检查数据缓冲区的连续性,如果检测到数据不连续,将丢失的数据序号发送给发送端,发送端收到后重传相应序号的数据,该步骤中发送端延时设定的时间后接收接收端重传数据序号信息,判断是否有数据需要重传,如果需要重传,发送端则从发送缓冲区检出需要重传的数据并发送接收端,没有则返回。
[0031]本发明的一种基于UDP协议的故障录波数据的传输方法的实施例
[0032]本实施例针对UDP协议的传输故障录波数据,采用DSP+FPGA架构,并设置有光电以太网口以便接收数据,利用PC机和嵌入式接收端进行故障录波数据传输时,本实施例中的基于UDP协议的故障录波数据的传输方法的过程如下:
[0033]系统初始化时创建UDP三个套接字,并在PC端创建2个线程和I个定时器,分别为重传线程、反馈线程及主发送数据定时器,每个线程均使用一个套接字和嵌入式端通信,实现响应目的。图1所示为本发明PC端重传线程流程图,PC端延时Ims后接受来自嵌入式端的重传数据序号信息,判断是否有数据需要重传,如果需要重传则从发送缓冲区检出需要重传的数据并发送至嵌入式端,没有则返回。
[0034]图2所示为PC端主发送数据定时器流程图,由于定时调用,没有循环,发送数据定时器用来判断嵌入式端缓冲区的全局变量是否为真,如果是则通过回调函数获取用户数据发送到嵌入式端并存储数据到缓冲区,此数据在重传时会用到。
[0035]图3所示为PC端反馈线程工作说明,延时IOms后接受来自嵌入式端缓冲区满信
息,存至全局变量。
[0036]嵌入式接收端在系统初始化时创建三个任务用于分别为数据主任务、重传任务、状态信息反馈任务,在三个任务创建时,分别创建m)P套接字和Pc端通信。图4所示为嵌入式端重传任务流程图,系统在延时Ims后判断是否有来自PC端的重传数据,如果没有则返回继续定时检查,如果有的话则存到数据缓冲区,检查数据缓冲区的连续性,从而获取重传序号信息,并将重传序号信息至PC端。
[0037]图5所示为嵌入式端接收任务示意图,该线程用来接收来自PC端用户数据并将数据存至缓冲区。
[0038]图6所示为嵌入式端反馈任务示意图,从图中可看出,嵌入式端获取数据缓冲区是否处于满状态,并将状态信息发送至PC端,每次检测循环10ms。
【权利要求】
1.一种基于UDP协议的故障录波数据的传输方法,其特征在于,该传输方法包括以下步骤: 1)发送端建立数据缓冲区,将待发送的数据分成等长的链表式队列存入冲缓冲区等待发送,发送端以UDP协议方式向接收端发送数据; 2)接收端将接收的数据报文存入接收端缓冲区,并定期检测接收端缓冲区的状态,同时将检测到状态量通过发送状态同步机制反馈给发送端; 3)发送端根据收到反馈信息,启动报文发送,直至接收端缓冲区存满时,发送端不再发送数据包; 4)接收端定时检查数据缓冲区的连续性,如果检测到数据不连续,将丢失的数据序号发送给发送端,发送端收到后重传相应序号的数据。
2.根据权利要求1所述的基于UDP协议的故障录波数据的传输方法,其特征在于,所述发送端在发送数据时,在数据帧中添加序号,发送端按照序号顺序进行发送。
3.根据权利要求2所述的基于UDP协议的故障录波数据的传输方法,其特征在于,所述接收端数据缓冲区向应用层传送的数据为连续的数据。
4.根据权利要求1所述的基于UDP协议的故障录波数据的传输方法,其特征在于,所述的发送端和接收端之间的通讯模式是PTP,一对一的,没有第三方通讯介质。
5.根据权利要求2所述的基于UDP协议的故障录波数据的传输方法,其特征在于,所述发送端缓冲区将数据发送出去后,在收到接收端的序号同步信息时,将确认收到的报文删除释放。
6.根据权利要求2所述的基于UDP协议的故障录波数据的传输方法,其特征在于,所述步骤3)中发送端根据反馈信息停止发送数据包时,发送端定时发送状态同步同文,UDP数据传输组件进入空闲状态,等待接收端缓冲区回到未满状态。
7.根据权利要求2所述的基于UDP协议的故障录波数据的传输方法,其特征在于,所述步骤4)中发送端延时设定的时间后接收接收端重传数据序号信息,判断是否有数据需要重传,如果需要重传,发送端则从发送缓冲区检出需要重传的数据并发送接收端,没有则返回。
8.根据权利要求1所述的基于UDP协议的故障录波数据的传输方法,其特征在于,所述发送端和接收端都采用三线程处理方式,每个线程通过UDP套接字进行通信。
【文档编号】H04L29/06GK103685243SQ201310624623
【公开日】2014年3月26日 申请日期:2013年11月28日 优先权日:2013年11月28日
【发明者】凌特利, 王利业, 张莹, 张春峰, 李萌, 傅彦斌, 李晓朋, 顾峰, 徐艳艳, 马仪成 申请人:许继电气股份有限公司, 许昌许继软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1