CN111092931B - 电力系统在线超实时仿真的流式数据快速分发方法及系统 - Google Patents
电力系统在线超实时仿真的流式数据快速分发方法及系统 Download PDFInfo
- Publication number
- CN111092931B CN111092931B CN201911121492.9A CN201911121492A CN111092931B CN 111092931 B CN111092931 B CN 111092931B CN 201911121492 A CN201911121492 A CN 201911121492A CN 111092931 B CN111092931 B CN 111092931B
- Authority
- CN
- China
- Prior art keywords
- data
- nodes
- node
- module
- computing
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
- H04L67/5651—Reducing the amount or size of exchanged application data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Power Sources (AREA)
Abstract
本发明提出一种电力系统在线超实时仿真的流式数据快速分发方法及系统,利用双向带宽、线程级并行和流水线技术实现了数据流在计算节点内的相互并行传输,以提高资源利用率。本发明的目标是实现电力系统在线超实时仿真的流式数据快速分发,达到在万兆网络环境下将百兆仿真数据文件以秒级时间高效地分发至计算集群的百台节点上,从而达到在线超实时仿真的技术效果。
Description
技术领域
本发明涉及流式数据分发领域,并且更具体地,涉及一种电力系统在线超实时分布式仿真计算的流式数据快速分发系统及方法。
背景技术
近年来,高性能计算集群管理技术发展迅猛,利用高性能计算集群进行电力系统并行仿真计算已经成为了现实,在电力系统离线仿真与在线分析领域起到了关键性的支撑作用。但是,随着我国电力系统互连规模不断扩大,为了适应新型装置与技术的广泛应用和电力市场化后运行方式的多变特点,进一步提高电力系统安全稳定的运行水平,需要实现电力系统由离线仿真到在线仿真计算的转变,达到在线实时甚至超实时的水平。这就对分布式集群中节点计算数据的调度与分发速度提出了新要求,分布式计算平台需要在保障数据的完整性和可靠性的前提下,尽可能缩短向节点分发数据的时间,最大限度减少集群管理开销对于仿真计算时间的影响。目前的传统数据分发无法满足秒级的要求,进而会影响在线仿真的计算速度。
现有的传统电网分布式平台中的数据分发方式有三种,一是利用点对点可靠单播将所有计算数据依次串行传输到每个计算节点上,这种技术会保证所有数据的完整性与可靠性,但当数据规模或节点规模不断增大时,分发时间呈线性增加,效率显著降低;二是采用UDP分发将数据分发到每个计算节点上,由于UDP是不可靠传输,需要在应用层保证整个传输过程的可靠性,需要处理超时、丢包等各种网络异常情况,实现复杂且稳定性差,而且该方法不能够自适应节点网络拓扑变化,可扩展性和鲁棒性较差;三是采用共享文件系统的方式,将所有需要获取数据的节点挂载在同一个文件系统上,再由每个节点将数据各自拷贝至本地文件系统下从而完成数据的获取,由于共享文件系统有较大的同步延迟,所拷贝的数据文件目录复杂,会导致效率低下且容易出现拷贝数据不完整的情况。
在电网分布式平台中,数据分发传统技术的缺陷在于没有充分利用接收数据的计算节点的网络资源,所有的计算节点只是单一的接收数据,并没有利用节点上行带宽,使之在接收的同时能将数据转发给其余节点。
发明内容
本发明的目的是解决上述现有技术在分发大规模数据时效率低下、不可靠且扩展性差的问题,提出了一种电力系统在线超实时仿真的流式数据分发系统,本平台采用了一种基于可靠传输协议的层次化流式数据分发方法,利用线程级并行技术与流水线技术,实现了将大电网仿真计算的实时数据一对多分发给集群的所有可用节点,在保障可靠性的同时提高了分发效率。
为达到上述目的,本发明提出一种电力系统在线超实时仿真的流式数据快速分发方法,其中包括:
步骤1、获得数据分发目标节点集合,即可用计算节点的数量N;
步骤2、获得数据文件及文件属性信息,整体大小为S,作为数据流下发;
步骤3、计算数据流大小S按当前可用计算节点数量N均匀切分成大小为B的分片,使得(N-1)*B<S<N*B,第N块(即最后一块)分片的大小可以小于等于B;
步骤4、为每块分片添加唯一标识信息H,则每块分片大小为(B+H);
步骤5、若H>S,则选择直接一对多并行下发数据流S;若H<S,则选择并行下发数据分片(B+H);
步骤6、运用零拷贝技术,避免了内核缓冲区和用户缓冲区之间的数据拷贝,通过直接内存访问(DMA)将磁盘上的数据流S拷贝到系统内核缓冲区中,再将内核缓冲区中的数据直接拷贝至socket缓冲区中,通过DMA将数据拷贝给协议栈实现分片数据的发送;
步骤7、N个可用计算节点接收数据,若收到数据大小Sr=S,即等于数据文件属性信息中的文件大小,则进行校验、解析与持久化操作;若收到数据大小Sr<S,即小于文件大小,则将接收到的部分分片转发给其余N-1个可用计算节点,同时接收其余N-1个可用计算节点发来的其他分片;
步骤8、若接收到其余N-1个可用计算节点发来的数据大小之和Sr=S,在确认所有分片标识信息H未缺失后,对数据流S进行拼接,并校验、解析、整合与持久化;当N个计算节点上的接收模块都完成分片拼接、数据流校验、解析、整合与持久化后,数据分发完成。
所述的电力系统在线超实时仿真的流式数据快速分发方法,其中该步骤2中文件属性信息包括数据文件名、数据文件路径、数据文件大小。
所述的电力系统在线超实时仿真的流式数据快速分发方法,其中该步骤4中标识信息包括分片编号、分片大小、分片所属数据文件名。
所述的电力系统在线超实时仿真的流式数据快速分发方法,其中该步骤8中当所有计算节点收到所有的完整分片后,将其拼接还原成完整的数据流,再对数据流进行:1、校验,防止传输中数据发生错误;2、解析,得到数据文件的路径以及数据内容并写入数据文件中;3、整合,按照路径还原原始目录结构;4、持久化,将数据写入本地磁盘或分布式存储中进行持久化存储。
本发明还提出了一种电力系统在线超实时仿真的流式数据快速分发系统,其中包括:
模块1、构建由一个终端服务器和多个计算节点构成的分布式电力计算系统,其中终端服务器与所有计算节点间通过万兆以太网互联,所有计算节点两两之间通过万兆以太网互联;
模块2、在线运行该分布式电力计算系统,该终端服务器根据各计算节点的负载信息,从所有计算节点中选定可用节点,并向所有计算节点广播可用节点的IP,所有可用节点间建立基于可靠传输协议的全连接;
模块3、若监测到当前计算节点负载超出预设范围,则主动推送该当前计算节点的负载信息至该终端服务器,该终端服务器调整节点连接关系;
模块4、该终端服务器持续获取在线运行数据,并将该在线运行数据拼接为数据流,当数据流大小小于分片唯一标识信息时,选择直接一对多并行下发数据流,否则根据当前可用节点的数量对该数据流进行切分,并行下发多个数据分片;
模块5、运用零拷贝技术发送数据,通过直接内存访问(DMA)将磁盘上的数据流S拷贝到系统内核缓冲区中,再将内核缓冲区中的数据直接拷贝至socket缓冲区中,通过DMA将数据拷贝给协议栈从而实现数据的发送;
模块6、若可用节点接收到的数据刚好等于数据文件属性信息中的文件大小,则对数据进行校验与持久化处理;若收到数据大小小于文件大小,则将接收到的部分分片转发给其余可用节点,同时接收其余可用节点发来的其他部分数据分片;
模块7、可用节点收到完整数据分片后通过拼接还原数据流,再对数据流进行存储处理,当所有可用节点都完成存储处理后,再次执行该模块3,直到处理完全部该在线运行数据。
所述的电力系统在线超实时仿真的流式数据快速分发系统,其中该模块5中将数据分片分别发送给可用节点具体包括:建立数据分片的分片编号和可用节点的节点编号之间的一对一对应关系,根据该对应关系将每个数据分片发送至其对应节点编号的可用节点。
所述的电力系统在线超实时仿真的流式数据快速分发系统,其中该模块4包括:终端服务器从SCADA系统中获取电网实时监测数据,经物理计算模型处理后生成用于电力系统仿真数据作为该在线运行数据。
所述的电力系统在线超实时仿真的流式数据快速分发系统,其中该模块7中存储处理包括:校验、解析、整合与持久化。
所述的电力系统在线超实时仿真的流式数据快速分发系统,其中该模块2中选定可用节点具体包括:获取当前计算节点的网络状况、内存使用情况和磁盘使用情况,并依次将三者与预设三个阈值相比,当且仅当三者都在阈值之下才标记当前计算节点负载为“正常”,否则为“异常”,从所有计算节点中选取负载为“正常”的计算节点作为该可用节点。
由以上方案可知,本发明的优点在于:
本发明所提供的技术方案支持大电网分布式仿真计算的流式数据快速分发,线程级并行技术与流水线技术可有效地利用集群资源将大规模数据文件高效、可靠地分发给集群中的每一台可用节点,确保了数据更新的完整性与时效性,大大降低了由于等待计算数据所导致的计算延迟,提升了数据传输效率;同时可自适应节点网络拓扑变化,实现了对可用资源的动态感知;而且可根据计算集群节点网络拓扑变化自适应数据文件大小,保障了整体传输的可扩展性和鲁棒性。
附图说明
图1是本发明具体实施方式的电力系统在线超实时仿真的流式数据快速分发系统的架构图;
图2是本发明具体实施方式的电力系统在线超实时仿真的流式数据快速分发系统的网络拓扑图;
图3是本发明具体实施方式的电力系统在线超实时仿真的流式数据快速分发系统的流程图;
图4是本发明具体实施方式的电力系统在线超实时仿真的流式数据快速分发方法的分发示意图。
具体实施方式
通过对大规模电力系统的实时和超实时仿真,够掌握运行中电力系统遭受故障条件下的动态特征,对各类安全稳定措施和控制保护设备进行验证考核,从而达到避免大停电事故、保障电力系统安全运行的重要举措。本发明最大化利用了双向带宽,利用线程级并行和流水线技术实现了数据流在计算节点内的相互并行传输,以提高资源利用率。本发明的目标是实现电力系统在线超实时仿真的流式数据快速分发,达到在万兆网络环境下将百兆仿真数据文件以秒级时间高效地分发至计算集群的百台节点上,从而达到在线实时仿真的要求。
本发明包括以下关键点:
关键点1:本发明采用的流式数据秒级分发方法是由数据驱动的大规模数据层次化分发方法,采用了线程级并行技术与流水线技术,能够实现在万兆网络下将200MB仿真数据文件在1秒内高效快速地分发至计算集群的100台节点上,确保了数据更新的时效性;
关键点2:本发明采用的流式数据分发方法可自适应计算集群节点的网络拓扑变化,保障了整体传输的可扩展性和鲁棒性;
关键点3:本发明采用的流式数据分发方法是基于可靠传输协议实现数据传输,确保了数据的完整性;
关键点4:本发明可利用异步数据持久化技术对数据生命周期进行全自动的维护管理。
针对现有技术的不足,本发明提出一种电力系统在线超实时仿真的流式数据快速分发系统,该系统包括发送模块、接收模块、持久化模块、监控模块;
发送模块部署于实时虚拟电网终端上,用于将预处理后的在线运行数据分发给计算集群中的所有可用节点。实时虚拟电网终端是本流式数据处理的数据源,是提供电网物理模型的终端,包含对电网实时监测数据的处理与计算过程,经其处理的数据才可以用作进一步的分布式仿真计算。此处应加一个名词解释,实时虚拟电网终端:从SCADA(数据采集与监视控制系统)系统中获取电网实时监测数据,经物理模型与计算模型计算处理后生成可用于电力系统仿真数据的一个系统终端。
接收模块部署于计算集群的每个计算节点上,用于接收在线运行数据。
持久化模块部署于计算集群的每个计算节点上,用于将接收到的数据异步持久化到本地磁盘上。
监控模块部署于计算集群的每个计算节点上,用于监控每个计算节点的负载信息,包括每个节点的网络状况、内存使用情况、磁盘使用情况。
进一步地,所述发送模块部署在一个实时虚拟电网终端服务器上,所述接收模块每个只部署在一个计算节点上,一个计算节点也只部署一个接收模块。
进一步地,所述实时虚拟电网终端服务器与所有计算节点间通过万兆以太网互联,所有计算节点两两之间通过万兆以太网互联。
进一步地,所述监控模块负责监控每个计算节点的负载信息,当某节点的网络、内存或磁盘负载突破阈值或落回阈值之下时,该节点的监控模块会将此计算节点信息推送给发送模块,包括此计算节点的负载信息与IP地址。
根据本发明的另一方面,本发明提供电力系统在线超实时仿真的流式数据快速分发系统,所述系统包括以下步骤:
(1)监控模块获取本计算节点的负载信息,判断与标记该计算节点负载情况,并向发送模块推送该计算节点信息;
(2)发送模块接收到计算节点信息后标记可用计算节点,并与所有可用计算节点建立基于可靠传输协议的连接,之后向所有计算节点广播可用计算节点IP,通知所有可用计算节点间建立基于可靠传输协议的全连接;
(3)若监控模块监测到当前计算节点负载某一项或多项超过了阈值或低于了阈值,则主动推送计算节点信息至发送模块,发送模块调整节点连接情况;
(4)发送模块在等待在线运行数据(经处理后的电网实时监测数据以及配置文件)生成完毕后就将数据文件依次读取至内存中,并获得数据文件的属性信息,将其封装在数据头部,并将所有数据拼接为数据流;
(5)发送模块根据当前可用计算节点数量对数据流进行切分,每个分片携带标识信息以对应每台计算节点,当数据流大小小于分片唯一标识信息时,发送模块选择直接一对多并行下发数据流,否则根据当前可用节点的数量对该数据流进行切分,并行下发多个数据分片;
(6)发送模块采用零拷贝技术将数据分别发送给每一个计算节点上的接收模块,例如:以编号作为标识信息,一共有20个节点编号node0-node19,若采用一对多并行下发数据流方式,则将数据流data并行下发给节点编号node0-node19,这样发送完成后每个节点收到了全部的数据信息;若采用数据流切分方式,分片编号为data0-data19,则将data0发送至node0,data1发送至node1,以此类推,这样发送完成后每个节点都只收到一个分片;
(7)若接收模块接收到的数据刚好等于数据文件属性信息中的文件大小,则对数据进行校验和持久化处理;若收到数据大小小于文件大小,则只要接收到部分分片后,就可以将接收到的部分分片转发给其余计算节点,同时接收其余计算节点发来的其他部分分片,例如:承接上述实施例中每个节点将自己拥有的分片发送给其余19个节点;
(8)当接收模块收到所有的完整分片后进行拼接还原数据流,再对数据流进行校验、解析、整合与持久化;当所有计算节点上的接收模块都完成分片拼接、数据流校验、解析、整合与持久化后,方法跳回步骤(3)循环进行。
当所有计算节点上的接收模块收到所有的完整分片后,将其拼接还原成完整的数据流,再对数据流进行:1、校验,防止传输中数据发生错误;2、解析,得到数据文件的路径以及数据内容并写入数据文件中;3、整合,按照路径还原原始目录结构;4、持久化,将数据写入本地磁盘或分布式存储中进行持久化存储。之后返回步骤(3)循环进行。该分发系统是以常驻内存形式存在,在人工终止该系统后会终止循环并清理内存,断开连接。
进一步地,所述步骤(1)中,计算节点的负载信息包括:每个节点的网络状况、内存使用情况、磁盘使用情况,并依次将三者与设定的三个阈值相比,比如阈值可以是80%的占用率,当且仅当三者都在设定的阈值之下才可标记计算节点负载为“正常”,有一个超出阈值则为“异常”;计算节点信息包括:计算节点IP与负载标记(“正常”或“异常”)。
进一步地,所述步骤(2)中,发送模块汇总计算节点信息中的负载标记为“正常”的计算节点为可用计算节点。
进一步地,所述步骤(3)中,监控模块按配置规定的时间间隔(比如1秒)监测每个计算节点负载信息,若监测到当前计算节点负载某一项或多项超过了阈值或所有项恢复了阈值之下,则主动推送计算节点信息至发送模块,发送模块更新可用计算节点列表,与“正常”计算节点增加连接,与“异常”计算节点断开连接,并向所有计算节点广播可用计算节点IP,通知可用计算节点间更新连接。
进一步地,所述步骤(4)中,数据文件的属性信息包括:文件名、文件大小、文件路径。
进一步地,所述步骤(5)中,将数据流按当前可用计算节点数量均匀切分,一台计算节点对应一个数据流分片,分片自身标识信息包括:分片编号、分片大小、分片总数。
进一步地,所述步骤(6)中,发送模块运用零拷贝技术发送数据,通过直接内存访问(DMA)将磁盘上的数据流S拷贝到系统内核缓冲区中,再将内核缓冲区中的数据直接拷贝至socket缓冲区中,通过DMA将数据拷贝给协议栈从而实现数据的发送。
进一步地,所述步骤(6)中,发送模块采用线程级并行化技术,建立与计算节点数量相同的线程,每个线程负责将每个数据流或分片发送给每个计算节点。
进一步地,所述步骤(7)中,方法采用了流水线技术,每一台计算节点都会建立与除自己外的其余计算节点的线程,一旦计算节点收到分片后,立刻通过所建立的线程转发给其余计算节点。
进一步地,所述步骤(8)中,每个接收模块会对拼接后的数据流进行校验、解析与整合,若校验正确将会解析数据流中的数据并整合得到每个数据文件,并通知持久化模块做异步持久化处理,若校验错误则会请求发送端重发该批次数据。
进一步地,所述方法中步骤(6)可以视为分发方法的第一层,步骤(7)可视为分发方法的第二层,两层以流水线形式关联,当计算节点接收到发送模块发来的部分数据时就可以立刻转发给其余计算节点。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
图1为本发明具体实施方式电力系统在线超实时仿真的流式数据快速分发系统的架构图。如图1所示,本具体实施方式所述的电力系统在线超实时仿真的流式数据快速分发系统100包括:
发送模块101,其用于将预处理后的在线运行数据分发给计算集群中的所有可用节点;
接收模块102,其用于接收发送模块101发送来的在线运行数据;
持久化模块103,其用于将接收到的数据异步持久化到本地磁盘上;
监控模块104,其用于监控所有的计算节点的负载信息,包括每一个节点的网络状况、内存使用情况、磁盘使用情况等;
其中,所述平台100中的发送模块101部署在一台实时虚拟电网终端上,接收模块102、持久化模块103、监控模块104部署在多台计算节点上,每台计算节点上分别部署一套。
图2为本发明具体实施方式的一种电力系统在线超实时仿真的流式数据快速分发系统的网络拓扑图。如图2所示,所述实时虚拟电网终端与计算集群组成了层次化的流式数据分发平台,其中实时虚拟电网终端上部署发送模块,用于将预处理后的在线运行数据分发给计算集群中的所有可用节点,所述计算集群为多台计算节点的组合,所有节点通过万兆以太网相连接。
图3为本发明具体实施方式的一种电力系统在线超实时仿真的流式数据快速分发系统的流程图。如图3所示,本发明所述的电力系统在线超实时仿真的流式数据快速分发系统300从步骤301开始。
在步骤301,监控模块获取本计算节点的负载信息,判断与标记该计算节点负载情况,并向发送模块推送该计算节点信息;
在步骤302,发送模块接收到计算节点信息后标记可用计算节点,并与所有可用计算节点建立基于可靠传输协议的连接,之后向所有计算节点广播可用计算节点IP,通知所有可用计算节点间建立基于可靠传输协议的全连接;
在判断303,监控模块监测当前计算节点负载某一项或多项超过了阈值或所有项恢复了阈值之下,若存在该情况则转到步骤304,否则进入步骤305;
在步骤304,监控模块主动推送计算节点信息至发送模块,发送模块调整节点连接情况;
在步骤305,发送模块在等待在线运行数据生成并预处理完毕后就将数据文件依次读取至内存中,并获得数据文件的属性信息,将其封装在数据头部,并将所有数据拼接为数据流;
在步骤306,发送模块判断数据流大小是否小于分片唯一标识信息,若小于则转到步骤307,否则进入步骤308;
在步骤307,发送模块选择直接一对多并行下发数据流,进入步骤309;
在步骤308,发送模块根据当前可用计算节点数量对数据流进行切分,每个分片携带自身标识信息,发送模块将并行下发多个数据分片,进入步骤309;
在步骤309,发送模块采用零拷贝技术将数据分别发送给每一个计算节点上的接收模块;
在步骤310,接收模块判断收到的数据大小是否等于文件属性中的文件大小,若等于则转到步骤311,否则进入步骤312;
在步骤311,接收模块对数据进行校验和持久化;
在步骤312,接收模块只要接收到部分分片后,就可以将接收到的部分分片转发给其余计算节点,同时接收其余计算节点发来的其他部分分片,转发给其余计算节点的过程需要用到该节点的上行带宽;
在步骤313,当接收模块收到所有的完整分片后进行拼接还原数据流,再对数据流进行校验、解析、整合与持久化;当所有计算节点上的接收模块都完成分片拼接、数据流校验、解析、整合与持久化后,跳回判断303循环进行。
图4为本发明具体实施方式的一种电力系统在线超实时仿真的流式数据快速分发方法的分发示意图。如图4所示,当数据流大小小于分片唯一标识信息时,选择方式401,发送模块直接一对多并行下发数据流,否则选择方式402,发送模块根据当前可用计算节点数量对数据流进行切分;发送模块将每个分片分别发送给每一个计算节点上的接收模块;接收模块只要接收到部分分片后,就可以将接收到的部分分片转发给其余计算节点,同时接收其余计算节点发来的其他部分分片;当接收模块收到所有的完整分片后进行拼接还原数据流,再对数据流进行校验、解析与整合;当所有计算节点上的接收模块都完成分片拼接、数据流校验、解析与整合后,一次数据分发的任务则完成。
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提出了一种电力系统在线超实时仿真的流式数据快速分发系统,其中包括:
模块1、构建由一个终端服务器和多个计算节点构成的分布式电力计算系统,其中终端服务器与所有计算节点间通过万兆以太网互联,所有计算节点两两之间通过万兆以太网互联;
模块2、在线运行该分布式电力计算系统,该终端服务器根据各计算节点的负载信息,从所有计算节点中选定可用节点,并向所有计算节点广播可用节点的IP,所有可用节点间建立基于可靠传输协议的全连接;
模块3、若监测到当前计算节点负载超出预设范围,则主动推送该当前计算节点的负载信息至该终端服务器,该终端服务器调整节点连接关系;
模块4、该终端服务器持续获取在线运行数据,并将该在线运行数据拼接为数据流,当数据流大小小于分片唯一标识信息时,选择直接一对多并行下发数据流,否则根据当前可用节点的数量对该数据流进行切分,并行下发多个数据分片;
模块5、运用零拷贝技术发送数据,通过直接内存访问(DMA)将磁盘上的数据流S拷贝到系统内核缓冲区中,再将内核缓冲区中的数据直接拷贝至socket缓冲区中,通过DMA将数据拷贝给协议栈从而实现数据的发送;
模块6、若可用节点接收到的数据刚好等于数据文件属性信息中的文件大小,则对数据进行校验与持久化处理;若收到数据大小小于文件大小,则将接收到的部分分片转发给其余可用节点,同时接收其余可用节点发来的其他部分数据分片;
模块7、可用节点收到完整数据分片后通过拼接还原数据流,再对数据流进行存储处理,当所有可用节点都完成存储处理后,再次执行该模块3,直到处理完全部该在线运行数据。
所述的电力系统在线超实时仿真的流式数据快速分发系统,其中该模块5中将数据分片分别发送给可用节点具体包括:建立数据分片的分片编号和可用节点的节点编号之间的一对一对应关系,根据该对应关系将每个数据分片发送至其对应节点编号的可用节点。
所述的电力系统在线超实时仿真的流式数据快速分发系统,其中该模块4包括:终端服务器从SCADA系统中获取电网实时监测数据,经物理计算模型处理后生成用于电力系统仿真数据作为该在线运行数据。
所述的电力系统在线超实时仿真的流式数据快速分发系统,其中该模块7中存储处理包括:校验、解析、整合与持久化。
所述的电力系统在线超实时仿真的流式数据快速分发系统,其中该模块2中选定可用节点具体包括:获取当前计算节点的网络状况、内存使用情况和磁盘使用情况,并依次将三者与预设三个阈值相比,当且仅当三者都在阈值之下才标记当前计算节点负载为“正常”,否则为“异常”,从所有计算节点中选取负载为“正常”的计算节点作为该可用节点。
Claims (9)
1.一种电力系统在线超实时仿真的流式数据快速分发方法,其特征在于,包括:
步骤1、获得数据分发目标节点集合,以确定可用节点的数量N;
步骤2、获得数据文件及文件属性信息,整体大小为S,作为数据流下发;
步骤3、计算数据流大小S按当前可用节点数量N均匀切分成大小为B的分片,使得(N-1)*B<S<N*B;
步骤4、为每块分片添加唯一标识信息H,则每块分片大小为(B+H);
步骤5、若H>S,则选择直接一对多并行下发数据流S;若H<S,则选择并行下发数据分片(B+H);
步骤6、运用零拷贝技术,避免内核缓冲区和用户缓冲区之间的数据拷贝,通过直接内存访问将磁盘上的数据流S拷贝到系统内核缓冲区中,再将内核缓冲区中的数据直接拷贝至socket缓冲区中,通过DMA将数据拷贝给协议栈实现分片数据的发送;
步骤7、N个可用节点接收数据,若收到数据大小Sr=S,即等于数据文件属性信息中的文件大小,则进行校验、解析与持久化操作;若收到数据大小Sr<S,即小于文件大小,则将接收到的部分分片转发给其余N-1个可用节点,同时接收其余N-1个可用节点发来的其他分片;
步骤8、若接收到其余N-1个可用节点发来的数据大小之和等于S,在确认所有分片标识信息H未缺失后,对数据流S进行拼接,并校验、解析、整合与持久化;当N个计算节点上的接收模块都完成分片拼接、数据流校验、解析、整合与持久化后,数据分发完成。
2.如权利要求1所述的电力系统在线超实时仿真的流式数据快速分发方法,其中该步骤2中文件属性信息包括数据文件名、数据文件路径和数据文件大小。
3.如权利要求1所述的电力系统在线超实时仿真的流式数据快速分发方法,其中该步骤4中标识信息包括分片编号、分片大小和分片所属数据文件名。
4.如权利要求1所述的电力系统在线超实时仿真的流式数据快速分发方法,其中该步骤8中当所有计算节点收到所有的完整分片后,将其拼接还原成完整的数据流,再对数据流进行:校验,防止传输中数据发生错误;解析,得到数据文件的路径以及数据内容并写入数据文件中;整合,按照路径还原原始目录结构;持久化,将数据写入本地磁盘或分布式存储中进行持久化存储。
5.一种电力系统在线超实时仿真的流式数据快速分发系统,其特征在于,包括:
模块1、构建由一个终端服务器和多个计算节点构成的分布式电力计算系统,其中终端服务器与所有计算节点间通过万兆以太网互联,所有计算节点两两之间通过万兆以太网互联;
模块2、在线运行该分布式电力计算系统,该终端服务器根据各计算节点的负载信息,从所有计算节点中选定可用节点,并向所有计算节点广播可用节点的IP,所有可用节点间建立基于可靠传输协议的全连接;
模块3、若监测到当前计算节点负载超出预设范围,则主动推送该当前计算节点的负载信息至该终端服务器,该终端服务器调整节点连接关系;
模块4、该终端服务器持续获取在线运行数据,并将该在线运行数据拼接为数据流,当数据流大小小于分片唯一标识信息时,选择直接一对多并行下发数据流,否则根据当前可用节点的数量对该数据流进行切分,并行下发多个数据分片;
模块5、运用零拷贝技术发送数据,通过直接内存访问将磁盘上的数据流S拷贝到系统内核缓冲区中,再将内核缓冲区中的数据直接拷贝至socket缓冲区中,通过DMA将数据拷贝给协议栈从而实现数据的发送;
模块6、若可用节点接收到的数据刚好等于数据文件属性信息中的文件大小,则对数据进行校验和持久化处理;若收到数据大小小于文件大小,则将接收到的部分分片转发给其余可用节点,同时接收其余可用节点发来的其他部分数据分片;
模块7、可用节点收到完整数据分片后通过拼接还原数据流,再对数据流进行存储处理,当所有可用节点都完成存储处理后,再次执行该模块3,直到处理完全部该在线运行数据。
6.如权利要求5所述的电力系统在线超实时仿真的流式数据快速分发系统,其特征在于,该模块5中将数据分片分别发送给可用节点具体包括:建立数据分片的分片编号和可用节点的节点编号之间的一对一对应关系,根据该对应关系将每个数据分片发送至其对应节点编号的可用节点。
7.如权利要求5所述的电力系统在线超实时仿真的流式数据快速分发系统,其特征在于,该模块4包括:终端服务器从SCADA系统中获取电网实时监测数据,经物理计算模型处理后生成用于电力系统仿真数据作为该在线运行数据。
8.如权利要求5所述的电力系统在线超实时仿真的流式数据快速分发系统,其特征在于,该模块7中的存储处理包括:校验、解析、整合与持久化。
9.如权利要求5所述的电力系统在线超实时仿真的流式数据快速分发系统,其特征在于,该模块2中选定可用节点具体包括:获取当前计算节点的网络状况、内存使用情况和磁盘使用情况,并依次将三者与预设三个阈值相比,当且仅当三者都在阈值之下才标记当前计算节点负载为“正常”,否则为“异常”,从所有计算节点中选取负载为“正常”的计算节点作为该可用节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121492.9A CN111092931B (zh) | 2019-11-15 | 2019-11-15 | 电力系统在线超实时仿真的流式数据快速分发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911121492.9A CN111092931B (zh) | 2019-11-15 | 2019-11-15 | 电力系统在线超实时仿真的流式数据快速分发方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111092931A CN111092931A (zh) | 2020-05-01 |
CN111092931B true CN111092931B (zh) | 2021-08-06 |
Family
ID=70393288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911121492.9A Active CN111092931B (zh) | 2019-11-15 | 2019-11-15 | 电力系统在线超实时仿真的流式数据快速分发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111092931B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112019605B (zh) * | 2020-08-13 | 2023-05-09 | 上海哔哩哔哩科技有限公司 | 数据流的数据分发方法和系统 |
CN112685793A (zh) * | 2020-12-25 | 2021-04-20 | 联想(北京)有限公司 | 基于区块链的数据处理方法、装置和系统 |
CN116915676B (zh) * | 2023-07-13 | 2024-09-06 | 南方电网科学研究院有限责任公司 | 一种电磁暂态实时仿真通信组件的评测方法、装置和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978232A (zh) * | 2014-04-09 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 用于实时流式计算的计算资源扩容、释放方法及其装置 |
CN106648904A (zh) * | 2017-01-09 | 2017-05-10 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
CN109033439A (zh) * | 2018-08-15 | 2018-12-18 | 中科驭数(北京)科技有限公司 | 流式数据的处理方法和装置 |
CN109344199A (zh) * | 2018-09-20 | 2019-02-15 | 普元信息技术股份有限公司 | 云计算平台中实现大数据量分布式处理的系统及方法 |
CN109522100A (zh) * | 2017-09-19 | 2019-03-26 | 阿里巴巴集团控股有限公司 | 实时计算任务调整方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9667736B2 (en) * | 2014-04-29 | 2017-05-30 | International Business Machines Corporation | Parallel I/O read processing for use in clustered file systems having cache storage |
CN107959705B (zh) * | 2016-10-18 | 2021-08-20 | 阿里巴巴集团控股有限公司 | 流式计算任务的分配方法和控制服务器 |
US10367874B2 (en) * | 2016-11-04 | 2019-07-30 | Verizon Patent And Licensing Inc. | MPEG-DASH delivery over multicast |
CN110209496B (zh) * | 2019-05-20 | 2022-05-17 | 中国平安财产保险股份有限公司 | 基于数据处理的任务分片方法、装置及分片服务器 |
-
2019
- 2019-11-15 CN CN201911121492.9A patent/CN111092931B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978232A (zh) * | 2014-04-09 | 2015-10-14 | 阿里巴巴集团控股有限公司 | 用于实时流式计算的计算资源扩容、释放方法及其装置 |
CN106648904A (zh) * | 2017-01-09 | 2017-05-10 | 大连理工大学 | 一种流式数据处理自适应速率控制方法 |
CN109522100A (zh) * | 2017-09-19 | 2019-03-26 | 阿里巴巴集团控股有限公司 | 实时计算任务调整方法和装置 |
CN109033439A (zh) * | 2018-08-15 | 2018-12-18 | 中科驭数(北京)科技有限公司 | 流式数据的处理方法和装置 |
CN109344199A (zh) * | 2018-09-20 | 2019-02-15 | 普元信息技术股份有限公司 | 云计算平台中实现大数据量分布式处理的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111092931A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111092931B (zh) | 电力系统在线超实时仿真的流式数据快速分发方法及系统 | |
US9641449B2 (en) | Variable configurations for workload distribution across multiple sites | |
US11303737B2 (en) | Method and device for data transmission | |
CN105516292A (zh) | 一种智能变电站云平台的热备方法 | |
CN104320311A (zh) | 一种scada分布式平台下的心跳检测方法 | |
CN110457176A (zh) | 用于分布式系统的监控方法、装置、存储介质及电子设备 | |
CN108894915B (zh) | 一种风力发电远程监控系统及其工作方法 | |
CN103905247A (zh) | 一种基于多客户裁决的双机备份方法及系统 | |
CN104580502A (zh) | 一种实现负载均衡双机热备的方法 | |
CN103685363A (zh) | 一种高效可靠的多任务处理方法及系统 | |
CN108882064A (zh) | 一种基于gpon系统的端口数据包发送方法及系统 | |
CN109302319B (zh) | 报文池分布式集群及其管理方法 | |
CN116719639A (zh) | 链路动态调整和数据处理方法、装置、计算机设备及介质 | |
CN115378841B (zh) | 设备接入云平台状态的检测方法及装置、存储介质、终端 | |
CN107770100B (zh) | 一种测发控冗余网络架构及冗余方法 | |
CN112445656B (zh) | 分布式存储系统中数据的修复方法及装置 | |
CN108632066B (zh) | 一种构建视频多播虚拟网的方法和装置 | |
CN104270319A (zh) | 一种多端口流量采集自动切换的分流系统与方法 | |
CN110601914B (zh) | 监测服务器存活状态的方法及系统 | |
US20120166674A1 (en) | Route determination method and device | |
CN203504298U (zh) | 基于自组织网络与电力线网络的配电设备监控装置 | |
CN114039839B (zh) | 一种电力通信故障修复方法和装置 | |
CN114760015B (zh) | 基于冗余设计和策略控制的ems遥调遥控成功率提升方法 | |
CN117595923B (zh) | 一种光纤链路切换方法及装置 | |
CN113411266B (zh) | 基于隔离装置的云数据传输方法及系统、终端、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |