发明名称 一种IEC61850高层协议报文发送的管理方法
摘要 本发明是一种IEC 61850高层协议报文发送的管理方法。发送报文时,从空闲发送报文缓冲区链表中分配一个发送报文缓冲区,对于数据报文,利用这个缓冲区生成一个会话层协议数据单元,发送时动态添加RFC1006报文头和传输层协议控制信息;对于连接管理报文,直接在这个缓冲区中生成一个传输层协议数据单元,然后加上RFC1006报文头;主任务将生成报文的控制信息,通过管道机制传递给网络守护任务进行发送。对于一个套接字上的报文发送,网络守护任务要么监视套接字是否可写,要么监视套接字对应的管道是否有要发送报文的消息。本方法提高了报文发送的实时性,并提高了传输效率。
申请公布号 CN101827026A 申请公布日期 2010.09.08
申请号 CN201010140460.6 申请日期 2010.04.01
申请人 东方电子股份有限公司 发明人 韩明峰;郑永志;唐永建;岳增辉
分类号 H04L12/56(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L12/56(2006.01)I
代理机构 代理人
主权项 一种IEC 61850高层协议报文发送的管理方法,其特征是:主任务初始时分配一个空闲发送报文缓冲区链表,每个发送报文缓冲区的大小比系统配置的会话层协议数据单元长度多7个字节;每建立一个套接字,就创建一个相应的管道,管道消息结构包括的数据成员有报文缓冲区起始指针、报文缓冲区长度、报文起始指针、报文实际长度、传输层报文类型;发送报文时,从空闲发送报文缓冲区链表中分配一个发送报文缓冲区,对于数据报文,利用这个缓冲区从后向前进行报文编码,添加表示层协议控制信息和会话层协议控制信息;对于连接管理报文,直接在这个缓冲区中生成一个传输层协议数据单元,然后加上RFC 1006报文头;主任务将生成报文的控制信息,包括报文缓冲区起始指针、报文缓冲区长度、报文起始指针、报文实际长度、传输层报文类型,通过管道机制传递给网络守护任务进行发送;网络守护任务基于select()系统调用,监视一个读文件描述字数组、一个写文件描述字数组和一个错误文件描述字数组;网络守护任务为每一个套接字设置一个标志socketFlag,用来表示是等待网络套接字可写,还是等待套接字对应的管道有要发送的报文;网络守护任务初始时,将套接字对应的管道文件描述字设置在读文件描述字数组中;当网络守护任务等待的文件描述字就绪时,网络守护任务获得执行时机,检查存放系统返回值的文件描述字数组,对于每个套接字上的报文发送:(1)如果管道上有消息,则表明对应的套接字上有报文要发送,读取管道消息,获取管道消息所指报文作为当前要发送的网络报文进行发送;(2)如果网络套接字可写,先发送上次没有发送出去的报文;如果上次没有发送出去的报文本次完全发送出去,并且管道中存在消息,再读取管道中的消息,获取管道消息所指报文作为当前要发送的网络报文进行发送;发送报文时,对于数据类型的报文,将其按照传输层用户数据长度,添加3个字节的协议控制信息和4个字节的RFC1006报文头,利用socket接口进行分段发送;对于连接管理报文,直接利用socket接口进行发送;如果当前需要发送的报文没有完全发送出去,标记套接字的socketFlag为需要等待网络套接字可写;如果当前需要发送的报文已经完全发送出去,并且管道中没有消息了,标记套接字的socketFlag为需要等待套接字对应的管道有要发送的报文;根据每个套接字的socketFlag所作标记,如果需要等待套接字对应的管道有要发送的报文,则将管道文件描述字设置在读文件描述字数组中;如果需要等待网络套接字可写,则将套接字设置在写文件描述字数组中;按照新设置的文件描述字数组,网络守护任务进行下一轮文件描述字监视与处理流程。
地址 264000 山东省烟台市芝罘区机场路2号