基于缓存技术的信息交互总线数据可靠传输方法

文档序号:7795124阅读:182来源:国知局
基于缓存技术的信息交互总线数据可靠传输方法
【专利摘要】本发明公开了一种基于缓存技术的信息交互总线数据可靠传输方法,包括以下步骤:信息交互总线中的发送端收到原始数据,对原始数据进行封装,形成数据包;对数据包进行缓存,发送到信息交互总线中的接收端;接收端收到数据包后,进行封装信息解析,判断数据包的连续性与完整性,并向控制设备发出指令;控制设备按照指令进行控制操作。利用本发明,可以解决信息交互总线在跨越物理隔离设备的数据传输过程中容易丢包的问题,在一定范围内解决了由于物理隔离设备、网络环境等造成的传输障碍,确保了电力二次系统内部数据传输过程的安全、稳定、高效。
【专利说明】基于缓存技术的信息交互总线数据可靠传输方法
【技术领域】
[0001]本发明涉及一种数据传输方法,特别涉及一种基于缓存技术的信息交互总线数据可靠传输方法,属于电力系统调度【技术领域】。
【背景技术】
[0002]用于电力系统调度的二次系统直接涉及电网的闭环控制,关系到电网的安全、稳定运行。近年来,随着计算机和通信产业的发展,数据网络技术在电力二次系统中得到广泛应用,促进了系统之间的互联、增加了使用的方便性、推动了信息的共享和充分利用。但是,现有技术考虑得更多的是系统的互联互通性、使用和维护的方便性和友好性,而在系统安全性方面考虑不足,因此存在较多的安全漏洞和隐患,增加了二次系统被攻击、破坏、入侵的可能性,带来了严重的安全问题。当前,电力系统在网上开展的业务及应用越来越多,要求在业务系统之间进行的数据交换也越来越多,这对电力系统网络的安全性、可靠性、实时性提出了新的严峻挑战。电力系统网络的安全性和可靠性已成为一个非常紧迫的问题。
[0003]基于电力系统的安全需求,调度自动化系统分为4个保护区域,分别是:I区(实时控制区)包括调度自动化系统(SCADA/EMS)、配电自动化系统、变电站自动化系统、发电厂自动监控系统等,它是电力二次系统中最重要的部分,安全等级最高,是安全防护的重点与核心;II区(非控制生产区)包括调度员培训模拟系统(DTS)、继电保护及故障录波信息管理系统、电能量计量系统、批发电力交易系统等;111区(生产管理区)主要为电力生产所需的信息管理系统,如调度生产管理系统(DMIS)、统计报表系统(日报、旬报、月报、年报)、雷电监测系统、气象信息接入等区(管理信息区)包括管理信息系统(MIS)、办公自动化系统(OA )、客户服务等。
[0004]在现有技术中,I区与III区之间通过物理隔离设备进行连接,使得信息交互产生一定障碍,并且随着各个子系统的逐渐增多而产生大量信息孤岛,使得信息传输不畅。该物理隔离设备分为正向物理隔离设备和反向物理隔离设备,部署在I区与III区间,对I区进行安全防护。
[0005]在这样的背景下,信息交互总线应运而生。它使得数据传输、服务集成工作更加方便,使得服务之间可以实现透明访问、可靠传输。目前,在处理跨越物理隔离设备的数据传输方面,普遍采用信息交互总线完成,信息交互总线在跨域物理隔离设备、实现跨区传输数据时,会由于网络环境、信号屏蔽等复杂原因造成通信不畅,导致数据在经过物理隔离设备传输的过程中会产生数据包传输不完整,甚至容易发生丢包的情况,最终结果表现为外部系统接收数据异常。目前,信息交互总线对于丢包检测以及丢包后的异常处理还不完善。因此,如何保证数据安全、高效、稳定传输成为信息交互总线技术亟待解决的关键问题。

【发明内容】

[0006]针对现有技术的不足,本发明所要解决的技术问题在于提供一种基于缓存技术的信息交互总线数据可靠传输方法。[0007]为实现上述的发明目的,本发明采用下述的技术方案:
[0008]一种基于缓存技术的信息交互总线数据可靠传输方法,包括以下步骤:
[0009]信息交互总线中的发送端收到原始数据,对所述原始数据进行封装,形成数据包;
[0010]对所述数据包进行缓存,发送到信息交互总线中的接收端;
[0011]所述接收端收到所述数据包后,进行封装信息解析,判断所述数据包的连续性与完整性,并向控制设备发出指令;
[0012]所述控制设备按照所述指令进行控制操作。
[0013]其中较优地,所述控制操作包括继续接收下一个数据包、丢弃数据包或补发缓存的数据包。
[0014]其中较优地,所述发送端和所述接收端分别位于调度自动化系统的实时控制区和生产管理区,所述数据包在传输过程中跨越正向物理隔离设备。
[0015]其中较优地,在跨越正向物理隔离设备时,所述数据包采用内存缓存方式。
[0016]或者,所述发送端和所述接收端分别位于调度自动化系统的生产管理区和实时控制区,所述数据包在传输过程中跨越反向物理隔离设备。
[0017]其中较优地,在跨越反向物理隔离设备时,所述数据包采用文件缓存方式。
[0018]其中较优地,所述数据包在缓存过程中采用循环覆盖的方式,并采用哈希表方式进行存储。
[0019]利用本发明,可以解决信息交互总线在跨越物理隔离设备的数据传输过程中容易丢包的问题,在一定范围内解决了由于物理隔离设备、网络环境等造成的传输障碍,确保了电力二次系统内部数据传输过程的安全、稳定、高效。
【专利附图】

【附图说明】
[0020]图1是信息交互总线的总体架构示意图;
[0021]图2是本发明所提供的信息交互总线数据可靠传输方法的整体流程图;
[0022]图3是本发明中,内存缓存的存储结构示意图;
[0023]图4是本发明中,数据包的格式示意图;
[0024]图5是本发明中,数据接收及数据验证的流程示意图。
【具体实施方式】
[0025]下面结合附图和具体实施例对本发明作进一步的详细说明。
[0026]在本发明中,信息交互总线分别设置在不同的保护区域中,主要解决由于物理隔离设备所造成的通信障碍,便于实现信息集成以及跨I区与III区之间的信息传递,使得外部服务可以透明传输。
[0027]该信息交互总线的总体架构如图1所示。其中,Socket客户端、Socket服务端分别为信息交互总线建立传输时的客户端和服务端。信息交互总线通过位于I区的Socket客户端向位于III区的Socket服务端发送信息,中间需要跨越正向物理隔离设备,对端的信息交互总线接收来自该Socket服务端的信息。位于对端的信息交互总线通过位于III区的文本文件发送端向位于I区的文本文件接收端发送信息,中间也需要跨越反向物理隔离设备。信息交互总线接收来自文本文件接收端的信息。其中,正向物理隔离设备采用TCP方式进行数据传输,反向物理隔离设备采用文本文件方式进行数据传输。
[0028]鉴于反向物理隔离设备采用文本文件方式传输的物理特性,信息交互总线将消息以比特(byte)方式写成文本文件,通过反向物理隔离设备将该文本文件由III区发送到I区。在传输的过程中,由于网络环境、信号屏蔽等多种因素,导致传输过程中容易产生丢包的情况,造成了通信障碍,所以保证数据包的完整、高效传输尤为重要。
[0029]如图2所示,本发明所提供的基于缓存技术的信息交互总线数据可靠传输方法主要包括如下步骤:信息交互总线的发送端收到原始数据,进行封装形成数据包;将上述封装后的数据包进行缓存,发送到对端(即信息交互总线的接收端),上述接收端收到数据包进行封装信息解析,判断数据包的连接性与完整性,并向控制设备发送指令;上述控制设备按照指令进行控制操作。在上述数据传输过程中,核心的技术内容包括丢包检测以及在检测到丢包后的消息包补发机制,后文中将有进一步的说明。
[0030]为避免由于物理隔离设备传输产生丢包造成的通信障碍,本发明采用缓存方式,将数据进行一定时间的保存。信息交互总线接收到数据包的包号为自然数流水排序,通过该包号,信息交互总线的接收端可以完成数据的连续性检验。如果信息交互总线内部检测到在跨越物理隔离设备时产生丢包,则发送端将利用缓存的数据包进行数据包补发,从而在信息交互总线内部保证数据包的安全、高效传输。
[0031]在本发明中,缓存方式分为文件缓存和内存缓存。其中,文件缓存是将数据存储在文件中,并将该文件存储在磁盘空间上,断电后数据不会丢失,是长久且稳定的缓存方式。内存缓存是将数据以一定数据格式存储在服务器内存中,传输效率高,但当服务器重启时,这种方式所缓存的数据将丢失。
[0032]鉴于正向物理隔离设备采用TCP方式进行数据传输的特点,本发明对正向传输的数据采用内存缓存方式进行存储,方便程序直接从内存中读取信息生成数据流传输,从而有利于提升数据传输效率。鉴于反向物理隔离设备采用文本文件方式进行数据传输的特点,本发明对反向传输的数据采用文件缓存方式进行存储,可以在产生丢包时、迅速补发丢失的数据包。由于只对文件进行操作,不需要再重复进行复杂的数据封装工作,有利于提高数据传输的效率。
[0033]在内存缓存与文件缓存的过程中,为避免因缓存数据量过大而导致内存空间溢出或磁盘空间不足等情况出现,在保证缓存数据充足、有效的前提下,对上述两种缓存方式采用循环覆盖的方式,默认缓存数据包的包号从O开始,到达设定值结束。当包号达到设定值时,后面的数据包又重新从O开始。采用循环覆盖的方式有效避免了缓存量过大而造成的程序异常问题。
[0034]如图3所示,在本发明的一个实施例中,内存缓存采用哈希表(Hash Map)方式进行存储,其中key为包号,value为封装之后的数据包,当数据包key值存储到999时,由于采用循环覆盖方式,key强制归档为001,鉴于哈希表的存储方式,key值相同时覆盖旧数据,达到了循环覆盖的目的。文件缓存的存储机制、覆盖原理与内存缓存基本相同,其差别主要在于文件缓存的存储和覆盖在硬盘的磁盘空间中完成。
[0035]本发明所提供的方法在某配电自动化项目中进行试用。在电网现场测试时,大量的缓存量数据显示在包号的默认最大值设置在999时可以基本满足业务需求。并且,在信息交互总线出现丢包后,发送端需要补发所丢失的数据包时,在缓存数据中查找对应数据包的过程中查询命中目标所需的时间最短,故作为本发明的优选实施例,设定包号的默认最大值为999。
[0036]信息交互总线在通过物理隔离设备传输数据时,需要保证数据在经过物理隔离设备后的数据完整性以及传输数据包的连续性。由于信息交互总线传输数据的过程是基于TCP协议,采用字节的方式传输数据,为方便在传输过程中检验数据的连续性与完整性,需要对接收到的原始数据进行一定的封装工作,包括封装报头、封装报尾以及其他属性信息,即在原始数据的头部与尾部分别添加自定义字节。为避免所添加的头部与尾部字节与原始数据出现重复,因此采用两个自定义字节,以增加可靠性。另一方面,对端的信息交互总线在接收到数据包时,需要根据所解析的数据包的封装信息,完成数据包的完整性与连续性验证。
[0037]在本发明的一个实施例中,数据包的格式如图4所示。其中,FirstHead和SecondHead为信息交互总线内部封装的报头,SecondTail和FirstTail为其报尾,messagelnfo为信息交互总线接收的外部数据包,MessageLength为MessageInfo数据的长度值。
[0038]信息交互总线的连续性验证是在数据包完整性验证的基础上实现的。在确认数据包完整后,判定数据包包号是否连续。在正确接收当前数据包后,设置下一个需要接收的数据包号,之后继续接收后续数据包。具体的数据接收以及数据验证流程如图5所示。
[0039]参见图5, Socket服务端接收一个字节(流程I),首先判断FirstHead值是否为0x05,如果不是,丢弃该字节并返回上一步,该服务端继续接收下一个字节;如果是,则服务端继续接收下一个字节,进一步判断SecondHead值是否为0x64,如果不是,服务端丢弃该字节并返回上一步,继续接收下一个字节,如果是,则接收MessageLength值,根据长度值接收消息体,并接收后续两个字节,对后续两字节判断是否为消息报尾,如果不是,则丢弃前两个字节,重复流程1,如果是,消息包接收完成;接收完成后对包号连续性进行检测,如果包号不连续,则触发数据包补发机制,补发相应的数据包;如果连续,则服务端重复流程1,接收下一个数据包。即,Socket服务端通过头部字节与尾部字节,按照消息体的长度来保证其接收数据的完整性。
[0040]由于反向物理隔离设备的传输能力有限,在通过反向物理隔离设备传输文件时,如果数量比较多,可能会产生文件的大量积压,造成数据传输障碍,所以需要控制信息交互总线生成文件的大小以及数量以满足反向物理隔离设备的传输性能限制。
[0041]在服务器内存和硬盘容量有限的情况下,文件的大小决定了文件的数量。本发明所提供的方法在某配电自动化项目进行试用的过程中,如果不控制文件大小,每分钟将生成80个左右的文件,而反向物理隔离设备传输文件的能力大约为每分钟40个,故产生了文件积压。发明人通过现场的大量实验测试,发现将文件大小控制在2k比特以内,文件生成时间设置为2毫秒(时间一到,文件大小未达到2k比特同样生成文件)最为合理。这时,每分钟将生成文件10个,符合反向物理隔离设备的传输性能限制。在其它应用场合中,具体的文件大小、超时时间也可以根据具体情况测试获得。
[0042]针对信息交互总线在跨越物理隔离设备的数据传输过程中容易丢包的问题,本发明提出了一系列防止丢包以及在出现丢包后利用缓存机制补发数据的技术措施,在一定范围内解决了由于物理隔离设备、网络环境等造成的传输障碍,实现了信息交互总线在跨越物理隔离设备时的安全、稳定、高效传输。
[0043]上面对本发明所提供的基于缓存技术的信息交互总线数据可靠传输方法进行了详细的说明。对一般领域的技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
【权利要求】
1.一种基于缓存技术的信息交互总线数据可靠传输方法,其特征在于包括以下步骤: 信息交互总线中的发送端收到原始数据,对所述原始数据进行封装,形成数据包; 对所述数据包进行缓存,发送到信息交互总线中的接收端; 所述接收端收到所述数据包后,进行封装信息解析,判断所述数据包的连续性与完整性,并向控制设备发出指令; 所述控制设备按照所述指令进行控制操作。
2.如权利要求1所述的信息交互总线数据可靠传输方法,其特征在于: 所述控制操作包括继续接收下一个数据包、丢弃数据包或补发缓存的数据包。
3.如权利要求1所述的信息交互总线数据可靠传输方法,其特征在于: 所述发送端和所述接收端分别位于调度自动化系统的实时控制区和生产管理区,所述数据包在传输过程中跨越正向物理隔离设备。
4.如权利要求3所述的信息交互总线数据可靠传输方法,其特征在于: 在跨越正向物理隔离设备时,所述数据包采用内存缓存方式。
5.如权利要求1所述的信息交互总线数据可靠传输方法,其特征在于: 所述发送端和所述接收端分别位于调度自动化系统的生产管理区和实时控制区,所述数据包在传输过程中跨越反向物理隔离设备。
6.如权利要求5所述的信息交互总线数据可靠传输方法,其特征在于: 在跨越反向物理隔离设备时,所述数据包采用文件缓存方式。
7.如权利要求6所述的信息交互总线数据可靠传输方法,其特征在于: 文件大小在2k比特以内,文件生成时间为2毫秒。
8.如权利要求4或6所述的信息交互总线数据可靠传输方法,其特征在于: 所述数据包在缓存过程中采用循环覆盖的方式。
9.如权利要求4或6所述的信息交互总线数据可靠传输方法,其特征在于: 所述数据包在缓存过程中采用哈希表方式进行存储。
10.如权利要求1所述的信息交互总线数据可靠传输方法,其特征在于: 所述数据包的包号最大值为999。
【文档编号】H04L12/40GK103973530SQ201410015453
【公开日】2014年8月6日 申请日期:2014年1月14日 优先权日:2014年1月14日
【发明者】陈 光, 施毅斌, 郑建平, 高习斌, 薛晓明, 祁宁, 钱静, 姚旭, 王湃, 赵军, 罗卫华 申请人:国家电网公司, 国网辽宁省电力有限公司, 国网辽宁省电力有限公司本溪供电公司, 北京科东电力控制系统有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1