智能变电站海量网络报文处理方法、系统和设备与流程

文档序号:11930219阅读:195来源:国知局
智能变电站海量网络报文处理方法、系统和设备与流程

本发明涉及一种智能变电站海量网络报文处理方法、系统和设备,属于智能变电站数据传输领域。



背景技术:

随着电力技术的不断发展以及基础网络设备的完善,基于IEC61850标准的智能/数字化变电站已经成为新建变电站的首选。而数字化变电站和传统变电站的核心区别在于变电站的各类数据传送方式的改变,传统站的过程层设备和间隔层的设备大多是通过电缆的方式,数据以模拟数据形式出现,而数字化变电站的数据是以网络报文的形式出现,传送介质以光纤为主。数字化变电站的网络数据按功能上分主要有三大类型:一类为过程层发出的SV/GOOSE数据,该类数据主要体现数字化变电站的一次设备的运行状态,是数字化变电站的核心数据;第二类数据为智能设备之间相互通讯的数据,该类数据主要体现各智能设备的通讯状态以及通讯的正确性,能给用户提供还原智能设备间通讯过程的一个手段。第三类数据主要是体现数字化变电站的通讯环境特性(包括网络流量状态、网络稳定性、以及网络负荷的变化规律)

数字化变电站中用于采集记录并分析网络数据的设备主要是智能网络记录分析装置。目前市场上的智能网络记录分析设备通常采用的架构是采用专用硬件采集网路报文数据和采用CPU进行存储分析。专用硬件将网络上的二进制信号流加工成报文数据,CPU对报文数据进行存储和分类分析;其处理模型如图1所示: 专用硬件采集网络上的数据报文,存入专用硬件私有低容量缓存,并产生硬中断通知CPU,CPU通过内存拷贝,把专用硬件缓存中的数据拷贝到大容量主内存, 再通过接口调用分别完成数据存储、数据分析;在专用硬件不间断采集网络报文数据情况下,CPU不断响应硬中断,周而复始完成数据拷贝、数据存储、数据分析工作。

现有的这种数据处理方法,由于需要不停的数据拷贝,并且按顺序完成数据存储、数据分析工作,任一环节效率低都会造成整个系统效率低下,而且海量的数据拷贝工作还需要占用大量的CPU资源开销;存储和数据分析作为同一个模块处理最大的隐患是一旦由于某些报文分析异常导致模块退出,存储也停止工作,丢失了数据。这些都是现有数据处理方式存在的难以彻底解决的潜在问题。

有鉴于此,本发明人对此进行研究,专门开发出一种智能变电站海量网络报文处理方法、系统和设备,本案由此产生。



技术实现要素:

本发明的目的在于:提供一种智能变电站海量网络报文处理方法,旨在解决现有技术中频繁拷贝报文数据使CPU开销多大,且单个模块串行完成分析、存储任务存在丢失数据的可能性问题。

一种智能变电站海量网络报文处理方法,包括下述步骤:

1)构建两个独立的环形缓冲区队列:原始报文数据环形缓冲区队列和压缩报文数据环形缓冲区队列,并为上述两个队列都配置两个类型的指针:生产者、消费者;

2)经采集任务捕获的原始网络报文数据经原始报文数据环形缓冲区队列的生产者指针存入所述的原始报文数据环形缓冲区队列;

3)经压缩任务压缩的压缩网络报文数据经压缩报文数据环形缓冲区队列的生产者指针存入所述的压缩报文数据环形缓冲区队列;

4)分析任务经原始报文数据环形缓冲区队列的消费者指针从所述原始报文数据环形缓冲区队列中获取原始报文数据进行处理;

5)存储任务经压缩报文数据环形缓冲区队列的消费者指针从所述压缩报文数据环形缓冲区队列中获取压缩报文数据进行处理。

上述智能变电站海量网络报文处理方法进一步包括:

经由生产者指针存入原始报文数据环形缓冲区队列和压缩报文数据环形缓冲区队列的任务全部由专用硬件通过直接内存访问方式写入对应列队,无需CPU参与;采集任务和压缩任务分别维护各自的生产者指针;分析任务和存储任务分别维护各自的消费者指针,并与相对应的生产者指针比较,确保消费者指针不应越过生产者指针。

所述步骤2)、所述步骤3)、所述步骤4)和所述步骤5)分别独立启动;所述步骤4)的消费者指针由所述步骤2)触发移动,所述步骤5)的消费者指针由所述步骤3)触发移动;所述步骤4)中应确保消费者指针不越过所述步骤2)中的生产者指针;所述步骤5)中应确保消费者指针不越过步骤3)中的生产者指针。

本发明的另一目的在于: 提供一种智能变电站海量网络报文数据处理子系统,包括:

环形缓冲区队列初始化模块,用于构建两个环形缓冲区队列:原始报文数据环形缓冲区队列和压缩报文数据环形缓冲区队列,并为每个队列分别独立设置并初始化生产者指针和消费者指针;

报文数据存入模块,用于接收专用硬件采集的原始网络报文数据,并通过原始报文数据环形缓冲区队列的生产者指针将该报文数据存入所述原始报文数据环形缓冲区队列;

报文数据压缩模块,用于压缩原始报文数据环形缓冲区队列中的原始报文数据,并通过压缩报文数据环形缓冲区队列的生产者指针将该压缩数据存入所述压缩报文数据环形缓冲区队列;

报文数据分析模块,用于通过原始报文数据环形缓冲区队列的消费者指针从原始报文数据环形缓冲区队列中遍历每一帧报文数据,对报文进行解码分析;

报文数据存储模块,用于通过压缩报文数据环形缓冲区队列的消费者指针从压缩报文数据环形缓冲区队列中取出压缩后的报文数据,并存入存储设备。

报文数据存入模块和报文数据压缩模块任务分别维护各自的生产者指针;报文数据分析模块和报文数据存储模块任务分别维护各自的消费者指针,并与相对应的生产者指针比较,确保消费者指针不应越过生产者指针。

本发明的另一目的在于:提供一种包含所述智能变电站网络报文数据处理系统和采集卡的智能变电站海量网络报文数据处理设备。

本发明所述的智能变电站海量网络报文处理方法、系统和设备,通过采用两个独立的环形缓冲区队列管理智能变电站网络报文原始数据和压缩数据,并通过每个队列的生产者指针和消费者指针实现报文数据的采集捕获和分析存储,从而达到数据零拷贝,报文数据传输不占用任何CPU资源,使得CPU资源完全释放给报文数据存储、分析任务模块,提高网络数据报文采集、存储、分析能力,极大的减少海量数据拷贝带来的CPU资源开销;并且采用报文数据分析模块和报文数据存储模块独立设置,避免了因报文异常分析导致存储任务和分析任务一起退出的隐患,最大限度保证存储任务的可靠性,不因分析任务的异常引起报文数据丢失,从而达到了报文零丢包。实现了智能变电站网络报文数据的处理能力的大幅提升。

以下结合附图及具体实施例对本发明做进一步详细描述。

附图说明

图1是现有的智能变电站网络报文数据处理模型;

图2是本实施例提供的智能变电站网络报文数据处理方法的实现流程图;

图3是本实施例提供的智能变电站网络报文数据处理模型;

图4是本实施例提供的智能变电站网络报文数据处理设备的结构图。

具体实施方式

图2示出了本实施例提供的智能变电站海量网络报文数据处理方法的实现流程,详述如下:原始报文数据环形缓冲区队列和压缩报文数据环形缓冲区队列

在步骤L1中,构建原始报文数据环形缓冲区队(即队列O),并为原始报文数据环形缓冲区队列配置生产者指针和消费者指针;构建压缩报文数据环形缓冲区队列(即队列Z),并为压缩报文数据环形缓冲区队列配置生产者指针和消费者指针。

采集卡初始化时,预分配一块大缓冲区,并把大的缓冲区切分成n个等大小的缓冲区,通过双向指针大的缓冲区头尾相连成队列O,并为队列O配置生产者指针和消费者指针,初始值都指向队列O的首项P1。

压缩卡初始化时,预分配一片大缓冲区,并把大的缓冲区切分成n个等大小的缓冲区,通过双向指针大的缓冲区头尾相连成环形队列Z,并为队列Z配置生产者指针和消费者指针,初始值都指向队列Z的首项P1。

在步骤L2中,采集卡中断产生时,采集卡捕获到的报文数据经队列O的生产者指针存入队列O。

在步骤L3中,分析任务通过队列O的消费者指针从队列O中获取原始报文数据进行处理。

在步骤L4中,压缩卡从队列O中获取原始报文数据进行压缩,通过队列Z的生产者指针存入队列Z。

在步骤L5中,存储任务通过队列Z的消费者指针从队列Z中获取压缩报文数据进行存储。

基于上述方法的智能变电站海量网络报文数据处理模型如图3所示:

在本发明中,队列O被连成环形队列,队列O被分割成n个缓冲区,该队列首地址为P1的为该队列的第一个缓冲区,P1为队列首项,初始化时,生产者指针和消费者指针都指向队列O的P1。队列Z被连成环形队列,队列Z被分割成n个缓冲区,该队列首地址为P1的为该队列的第一个缓冲区,P1为队列首项,初始化时,生产者指针和消费者指针都指向队列Z的P1。

采集卡中断产生时,原始报文数据在队列O的生产者指针的指示下,依次存入P1地址指向的缓冲区、P2指向的缓冲区、......;当一个中断对应的报文数据完成存入队列缓冲时,即可通过信号通知方式通知下一个过程,即分析任务在消费者指针的指示下,获取本缓冲区中的报文数据,逐个报文进行分析处理。。

在上述过程中,队列O的生产者指针、消费者指针沿着环形队列O移动,且消费者指针不能越过生产者指针;一旦消费者处理效率低,存在生产者指针越过消费者指针的概率,这种情况出现说明整个环形队列中的数据都已被生产者循环覆盖,这种情况出现在报文数据流量较大,处理器无法及时分析完成,消费者需要对这种情况进行特殊处理,避免报文数据分析异常。

压缩卡(报文数据压缩模块)中断产生时,压缩报文数据在队列Z的生产者指针的指示下,依次存入P1地址指向的缓冲区、P2指向的缓冲区、......;当一个中断对应的压缩数据完成存入队列缓冲时,即可通过信号通知方式通知下一个过程,即存储任务在消费者指针的指示下,获取本缓冲区中的报文数据,进行存储处理。

在上述过程中,队列Z的生产者指针、消费者指针沿着环形队列Z移动,且消费者指针不能越过生产者指针;一旦消费者处理效率低,存在生产者指针越过消费者指针的概率,这种情况出现说明整个环形队列中的数据都已被生产者循环覆盖,这种情况仅存在于存储设备介质出现问题情况下,消费者需要对这种情况进行处理。

图4给出本发明提供的智能变电站海量网络报文数据处理设备的结构,其中,处理系统G0给出出了本发明提供的智能变电站海量网络报文数据处理系统的结构,以下部分只给出与本发明相关的部分,这些部分可以是软件、硬件或软硬件结合的模块:

处理系统G0包括报文数据压缩模块G2、环形缓冲区队列初始化模块G3、报文数据分析模块G4、报文数据存储模块G5、报文数据存入模块G6。

其中,环形缓冲区队列初始化模块G3用于构建原始报文数据环形缓冲区队(即队列O)和压缩报文数据环形缓冲区队列(即队列Z),分别配置并初始化相应的生产者指针和消费者指针。

报文数据存入模块G7,用于接收采集卡G1的原始网络报文数据,接收到的数据报文直接通过生产者指针按序存入队列O;并通过硬中断通知报文数据压缩模块G2,报文数据压缩模块G2将压缩过的数据通过生产者指针存入环形缓冲区队列Z;系统G0通过软中断以启动下一过程。

系统G0通过软中断通知报文数据分析模块以及报文数据存储模块;G4报文数据分析模块通过队列O的消费者指针,从环形缓冲区队列O取数据进行解码分析;报文数据存储模块G5通过队列Z的消费者指针,从环形缓冲区队列Z去数据进行存储。

在本发明中,上述报文数据压缩模块G2、报文数据分析模块G4、报文数据存储模块G5,在环形缓冲区队列O和环形缓冲区队列Z有数据情况下,各个模块可以并行运行。

本发明通过将现有技术中的数据报文处理分为两个独立的环形队列,并通过操作每个队列的两个指针:生产者指针和消费者指针,实现智能变电站网络报文数据采集、数据压缩、数据分析、数据存储;可以实现大数据量的数据缓冲,并行处理数据分析和数据存储,互不干扰,提高数据存储可靠性;两个环形缓冲队列的设计,可以使数据处理的吞吐率效率最佳,可以很好的处理智能变电站海量的网络报文数据。

上述实施例和图式并非限定本发明的产品形态和式样,任何所属技术领域的普通技术人员对其所做的适当变化或修饰,皆应视为不脱离本发明的专利范畴。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1