CN105162727A - 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法 - Google Patents

一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法 Download PDF

Info

Publication number
CN105162727A
CN105162727A CN201510495374.XA CN201510495374A CN105162727A CN 105162727 A CN105162727 A CN 105162727A CN 201510495374 A CN201510495374 A CN 201510495374A CN 105162727 A CN105162727 A CN 105162727A
Authority
CN
China
Prior art keywords
message
pointer
buffering
write
dsfa
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510495374.XA
Other languages
English (en)
Other versions
CN105162727B (zh
Inventor
刘林
郑耿
林培明
丁强
王高海
张作峰
董磊
张凤龙
王文磊
曲岩波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongfang Electronics Co Ltd
Original Assignee
Dongfang Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dongfang Electronics Co Ltd filed Critical Dongfang Electronics Co Ltd
Priority to CN201510495374.XA priority Critical patent/CN105162727B/zh
Publication of CN105162727A publication Critical patent/CN105162727A/zh
Application granted granted Critical
Publication of CN105162727B publication Critical patent/CN105162727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/806Broadcast or multicast traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法,主要包括建立用于存储网络报文的专用缓冲区,创建用于管理专用缓冲区读写操作的环形队列、读指针和写指针,定义缓冲区读函数和写函数,创建自定义协议并绑定至MUX层等步骤。由于本方法使用了专用缓冲区对网络报文进行存储,通过MUX层的自定义协议进行读写操作,绕过了VxWorks系统中的各个协议栈,并且在读写操作过程中使用指针进行数据传递,不需要对报文内容进行拷贝,因此能够大幅提高DSFA系统对等通信的速度。同时,本方法中提取并存储了网络报文的长度,并且通过组播技术对接收到的报文进行了筛查,因此可以充分利用专用缓冲区的空间。

Description

一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法
技术领域
本发明涉及一种方法,尤其是一种在DSFA系统中实现快速对等通信的方法,属于电力系统自动化领域。
背景技术
DSFA系统是分布自治式配网故障恢复系统的简称,是一种完全依靠配电终端自身采集的信息以及相互交换的信息,自行判断、隔离和恢复故障的智能化FA系统,可对馈线故障实现不依赖主站系统和人工参与的智能化处理。而DSFA系统对故障的处理速度主要取决于终端间的通信速度。
DSFA终端通常使用VxWorks作为操作系统,但是VxWorks在网络处理方面效率较低,对于来自其它终端的网络报文,VxWorks先将网卡收到的网络报文存放到缓冲区,然后再层层向上提交给各个协议栈进行处理,最后传递到应用层,完成对网络报文的接收。整个接收过程过于繁琐,并且需要进行多次数据拷贝,延迟很大,严重影响DSFA系统处理故障的速度。
发明内容
为了实现DSFA系统的快速对等通信,本发明提出了一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法,步骤如下:
1)在VxWorks系统中创建一个用于存储网络报文的专用缓冲区,并记录专用缓冲区的首指针;
2)创建一个环形队列,环形队列里的每个成员均包含了指向专用缓冲区中网络报文的报文指针和该网络报文的长度值;
3)将专用缓冲区的首指针赋给环形队列第一个成员中的报文指针;
4)创建读指针和写指针分别用于记录对专用缓冲区进行读操作和写操作的位置;
5)初始化读指针和写指针使二者都指向环形队列第一个成员;
6)定义缓冲区写函数:首先从收到的网络报文中提取报文长度,然后检查专用缓冲区是否有空间存储当前报文,如果有空间,则将报文内容存储到专用缓冲区中,将指向专用缓冲区中该网络报文的指针和该网络报文的长度值传递给写指针所指向的环形队列的成员,然后使写指针指向环形队列里的下一个成员;如果专用缓冲区无法存储当前报文,则发出报警信息;
7)定义缓冲区读函数:返回读指针所指向的环形队列成员所指向的专用缓冲区中的网络报文;
8)创建自定义协议,将自定义协议绑定到VxWorks系统的MUX层;
9)在自定义协议中调用缓冲区写函数,将接收到的网络报文写入专用缓冲区;
10)在DSFA系统终端的应用层中调用缓冲区读函数来获取专用缓冲区中的网络报文,处理完报文后释放专用缓冲区的空间,然后使读指针指向环形队列里的下一个成员。
作为对本发明基于VxWorks系统在DSFA系统中实现快速对等通信的方法的进一步改进:在DSFA终端网卡的组播列表中增加组播地址;并且在自定义协议调用缓冲区写函数之前,先检查网络报文的发送地址是否属于组播内的地址,如果属于组播内的地址,则调用缓冲区写函数,将接收到的网络报文写入专用缓冲区;如果不属于组播内的地址,则将该网络报文交给其他协议处理。
相对于现有技术,本发明由于使用了专用缓冲区对网络报文进行存储,通过MUX层的自定义协议进行读写操作,绕过了VxWorks系统中的各个协议栈,并且在读写操作过程中使用指针进行数据传递,不需要对报文内容进行拷贝,因此能够大幅提高DSFA系统对等通信的速度;另一方面,本方法中提取并存储了网络报文的长度,因此在对专用缓冲区进行写操作时可以充分利用专用缓冲区的空间。
同时,由于自定义协议在对专用缓冲区进行写操作之前可以根据组播地址对收到的报文进行筛查,将不属于组播内的地址所发来的报文转交给其他协议进行处理,因此可以更加充分地利用专用缓冲区的空间。
附图说明
图1为本发明中数据结构方面的示意图。
图2为本发明中接收网络报文的流程示意图。
具体实施方式
下面结合附图详细说明本发明的技术方案:
如图1,在基于VxWorks系统的DSFA系统中实现快速对等通信,在各终端内进行系统设置并编写相应程序,具体方法包括如下步骤:
1)在VxWorks系统中创建一个用于存储网络报文的专用缓冲区,并记录专用缓冲区的首指针;
2)创建管理专用缓冲区的数据结构MCRcvBufClass,在MCRcvBufClass数据结构中包括子结构MCRcvBufSigleInfo,MCRcvBufSigleInfo定义了指向专用缓冲区中网络报文的报文指针、网络报文的长度值以及网络报文的组播序号等;创建一个以MCRcvBufSigleInfo为结构体的环形队列,环形队列包括成员b0~b3等;
3)将专用缓冲区的首指针赋给环形队列第一个成员b0中的报文指针;
4)创建读指针和写指针分别用于记录对专用缓冲区进行读操作和写操作的位置;
5)初始化读指针和写指针使二者都指向环形队列第一个成员b0;
6)定义缓冲区写函数:首先从收到的网络报文中提取报文长度,然后检查专用缓冲区是否有空间存储当前报文,如果有空间,则将报文内容存储到专用缓冲区中,将指向专用缓冲区中该网络报文的指针、该网络报文的长度值以及组播序号传递给写指针所指向的环形队列的成员,然后使写指针指向环形队列里的下一个成员;如果专用缓冲区无法存储当前报文,则发出报警信息;
7)定义缓冲区读函数:返回读指针所指向的环形队列成员所指向的专用缓冲区的网络报文;
8)创建自定义协议,使用muxBind函数将自定义协议绑定到VxWorks系统的MUX层;
9)在DSFA终端网卡的组播列表中增加本系统内的组播地址;
10)在自定义协议中要求收到网络报文时,先检查网络报文的发送地址是否属于组播内的地址,如果属于组播内的地址,则调用缓冲区写函数,将接收到的网络报文写入专用缓冲区,如果不属于组播内的地址,则将该网络报文交给其他协议处理;
11)在DSFA系统终端的应用层中调用读函数来获取专用缓冲区中的网络报文,处理完报文后释放专用缓冲区的空间,然后使读指针指向环形队列里的下一个成员;
以上步骤中,步骤1)在步骤2)之前,步骤2)在步骤3)之前,步骤2)和4)在步骤5)之前,步骤3)和5)在步骤6)之前,步骤3)和5)在步骤7)之前,步骤6)在步骤10)之前,步骤8)在步骤10)之前,步骤7)在步骤11)之前,步骤9)在步骤10)之前,其余步骤顺序不限。
如图2,DSFA系统运行后,当终端网卡收到网络报文时,MUX层的自定义协议首先判断该网络报文的发送地址是否属于组播内的地址:如果属于,则调用缓冲区写函数,从收到的网络报文中提取报文长度,然后检查专用缓冲区是否有空间存储当前报文:如果有空间,则将报文内容存储到专用缓冲区中,将指向专用缓冲区中该网络报文的指针、该网络报文的长度值以及组播序号等传递给写指针当前所指向的环形队列的成员,然后使写指针指向环形队列里的下一个成员;如果专用缓冲区无法存储当前报文,则发出报警信息;如果不属于组播内的地址,则将该网络报文交给其他协议处理。
DSFA系统运行后,当终端的应用层需要读取网络报文进行处理时:调用读函数来获取读指针所指向的环形队列成员所指向的专用缓冲区中的网络报文,处理完报文后释放专用缓冲区的空间,然后使读指针指向环形队列里的下一个成员。

Claims (2)

1.一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法,其特征在于该方法包括如下步骤:
1)在VxWorks系统中创建一个用于存储网络报文的专用缓冲区,并记录专用缓冲区的首指针;
2)创建一个环形队列,环形队列里的每个成员均包含了指向专用缓冲区中网络报文的报文指针和该网络报文的长度值;
3)将专用缓冲区的首指针赋给环形队列第一个成员中的报文指针;
4)创建读指针和写指针分别用于记录对专用缓冲区进行读操作和写操作的位置;
5)初始化读指针和写指针使二者都指向环形队列第一个成员;
6)定义缓冲区写函数:首先从收到的网络报文中提取报文长度,然后检查专用缓冲区是否有空间存储当前报文,如果有空间,则将报文内容存储到专用缓冲区中,将指向专用缓冲区中该网络报文的指针和该网络报文的长度值传递给写指针所指向的环形队列的成员,然后使写指针指向环形队列里的下一个成员;如果专用缓冲区无法存储当前报文,则发出报警信息;
7)定义缓冲区读函数:返回读指针所指向的环形队列成员所指向的专用缓冲区中的网络报文;
8)创建自定义协议,将自定义协议绑定到VxWorks系统的MUX层;
9)在自定义协议中调用缓冲区写函数,将接收到的网络报文写入专用缓冲区;
10)在DSFA系统终端的应用层中调用缓冲区读函数来获取专用缓冲区中的网络报文,处理完报文后释放专用缓冲区的空间,然后使读指针指向环形队列里的下一个成员;
所述DSFA系统是一种完全依靠配电终端自身采集的信息以及相互交换的信息,自行判断、隔离和恢复故障的智能化FA系统。
2.如权利要求1所述的一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法,其特征在于:在DSFA终端网卡的组播列表中增加组播地址;并且在自定义协议调用缓冲区写函数之前,先检查网络报文的发送地址是否属于组播内的地址,如果属于组播内的地址,则调用缓冲区写函数,将接收到的网络报文写入专用缓冲区;如果不属于组播内的地址,则将该网络报文交给其他协议处理。
CN201510495374.XA 2015-08-13 2015-08-13 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法 Active CN105162727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510495374.XA CN105162727B (zh) 2015-08-13 2015-08-13 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510495374.XA CN105162727B (zh) 2015-08-13 2015-08-13 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法

Publications (2)

Publication Number Publication Date
CN105162727A true CN105162727A (zh) 2015-12-16
CN105162727B CN105162727B (zh) 2017-12-01

Family

ID=54803483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510495374.XA Active CN105162727B (zh) 2015-08-13 2015-08-13 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法

Country Status (1)

Country Link
CN (1) CN105162727B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302243A (zh) * 2016-09-23 2017-01-04 杭州华三通信技术有限公司 一种报文传输方法、cpu以及网络设备
CN106685856A (zh) * 2016-12-30 2017-05-17 国网浙江省电力公司绍兴供电公司 智能变电站海量网络报文处理方法、系统和设备
CN111767154A (zh) * 2020-06-19 2020-10-13 北京思特奇信息技术股份有限公司 用于无阻塞通讯的无锁环形队列实现方法
CN112116729A (zh) * 2020-09-09 2020-12-22 天津津航计算技术研究所 一种基于VxWorks系统的机载数据采集方法
CN112235204A (zh) * 2020-10-13 2021-01-15 中移(杭州)信息技术有限公司 一种数据上报方法、系统、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083455A1 (en) * 2007-09-21 2009-03-26 Mitel Networks Corporation Centralized polling service
CN101447988A (zh) * 2008-11-25 2009-06-03 中国船舶重工集团公司第七0七研究所 一种基于fpga的千兆数据通信卡
CN101753584A (zh) * 2010-01-09 2010-06-23 东方电子股份有限公司 VxWorks系统下提高智能变电站快速报文处理速度的方法
CN102307135A (zh) * 2011-05-24 2012-01-04 中国电子科技集团公司第十研究所 利用VxWorks平台实时处理基带数传数据的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090083455A1 (en) * 2007-09-21 2009-03-26 Mitel Networks Corporation Centralized polling service
CN101447988A (zh) * 2008-11-25 2009-06-03 中国船舶重工集团公司第七0七研究所 一种基于fpga的千兆数据通信卡
CN101753584A (zh) * 2010-01-09 2010-06-23 东方电子股份有限公司 VxWorks系统下提高智能变电站快速报文处理速度的方法
CN102307135A (zh) * 2011-05-24 2012-01-04 中国电子科技集团公司第十研究所 利用VxWorks平台实时处理基带数传数据的方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302243A (zh) * 2016-09-23 2017-01-04 杭州华三通信技术有限公司 一种报文传输方法、cpu以及网络设备
CN106302243B (zh) * 2016-09-23 2019-11-12 新华三技术有限公司 一种报文传输方法、cpu以及网络设备
CN106685856A (zh) * 2016-12-30 2017-05-17 国网浙江省电力公司绍兴供电公司 智能变电站海量网络报文处理方法、系统和设备
CN106685856B (zh) * 2016-12-30 2020-03-31 国网浙江省电力公司绍兴供电公司 智能变电站海量网络报文处理方法、系统和设备
CN111767154A (zh) * 2020-06-19 2020-10-13 北京思特奇信息技术股份有限公司 用于无阻塞通讯的无锁环形队列实现方法
CN112116729A (zh) * 2020-09-09 2020-12-22 天津津航计算技术研究所 一种基于VxWorks系统的机载数据采集方法
CN112116729B (zh) * 2020-09-09 2022-07-26 天津津航计算技术研究所 一种基于VxWorks系统的机载数据采集方法
CN112235204A (zh) * 2020-10-13 2021-01-15 中移(杭州)信息技术有限公司 一种数据上报方法、系统、电子设备和存储介质
CN112235204B (zh) * 2020-10-13 2023-04-07 中移(杭州)信息技术有限公司 一种数据上报方法、系统、电子设备和存储介质

Also Published As

Publication number Publication date
CN105162727B (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
CN105162727A (zh) 一种基于VxWorks系统在DSFA系统中实现快速对等通信的方法
CN102892089B (zh) 消息推送处理方法、装置和系统
CN107104836A (zh) Zigbee设备的固件升级方法和装置
CN104035884B (zh) 一种双环形队列数据存储方法和智能网关
CN103023808B (zh) 基于块状链表结构的6lowpan数据包重装缓存方法
CN102624874A (zh) 一种语音信息传送方法及系统
RU2008132463A (ru) Система управления с радиосообщениями, содержащими информацию о последовательности сообщений
CN104866528B (zh) 多平台数据采集方法及系统
CN103581846B (zh) 一种用户名片更新方法和系统
CN102480489A (zh) 一种用于分布式环境下的日志记录方法和设备
CN100459763C (zh) 用于移动终端的自动时间设置方法
CN102917127A (zh) 一种音频传输方法及系统
CN100477582C (zh) 一种即时通信中即时处理多媒体信息的方法和系统
CN101572871B (zh) 彩信消息下发方法、装置及系统
CN101197844B (zh) 基于发布订阅系统的文件存储方法
CN106648984A (zh) 数据备份方法及装置
CN102164152A (zh) 一种远程处理文件的方法及系统
CN103826276A (zh) 数据传输方法、基站、管理控制中心和系统
CN202856788U (zh) 移动终端的远程控制系统
CN104408104B (zh) 一种智能变电站网络数据通信方法
CN102341784B (zh) MoCA中发生错误时快速MAP恢复的方法
CN111726392B (zh) 基于卫星移动轨迹的内容推送方法、系统及设备
CN101119561A (zh) Gsm移动通信终端与sim卡之间的通信方法
CN103475686A (zh) 用于电力仿真的通信数据分发系统及通信数据分发方法
CN105681524B (zh) 一种短距离联系方式的快速共享方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method of fast peer-to-peer communication in dsfa system based on VxWorks System

Effective date of registration: 20211213

Granted publication date: 20171201

Pledgee: Yantai financing guarantee Group Co.,Ltd.

Pledgor: DONGFANG ELECTRONICS Co.,Ltd.

Registration number: Y2021980014783

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20220725

Granted publication date: 20171201

Pledgee: Yantai financing guarantee Group Co.,Ltd.

Pledgor: DONGFANG ELECTRONICS Co.,Ltd.

Registration number: Y2021980014783