一种基于同步关系数据二维表的多源多目的数据同步方法
技术领域
本发明属于电力系统调度自动化领域,特别是一种基于同步关系数据二维表的多源多目的数据同步方法。
背景技术
随着近年来智能电网的发展,电网结构日趋复杂、运行方式变化频繁,并且由于电网规模的不断扩大,调度系统的运行压力也越来越大,各级调度系统间迫切希望实现数据共享,避免数据孤岛,为实现对系统进行全面、深层的数据挖掘、数据分析提供基础。这使得数据同步技术在当前的调度系统中已成为必不可少的一部分。数据同步技术首先需要解决的问题就是描述同步关系,尤其是在多数据源、多目的的、变化频繁的调度系统中。采用常用的配置文件形式描述各调度系统间的同步关系完成数据同步,在实际应用中存在问题:
1. 在多数据源、多目的的、变化频繁的调度系统中,转发配置文件的格式复杂难懂,一般需要专人维护;
2. 在各级调度系统中无法同步配置文件信息,容易产生错误配置,影响数据同步;
3. 灵活性、扩展性差,无法有效应对由于实际情况改变而需要调整同步模式的情况。
因此研究全新的数据同步关系描述方法,以最大灵活性、高度适应性,满足调度系统中多级数据共享是当前需要解决的问题。
发明内容
本发明所要解决的技术问题是提供一种灵活度高、适应性强的数据同步方法。
为解决以上问题,本发明采用的技术方案为:
一种基于同步关系数据二维表的多源多目的数据同步方法,包括以下步骤:
1)在需要进行数据同步的调度系统中建立同步规则解析模块,数据接收模块和数据发送模块;所述同步规则解析模块,用以解析调度系统的同步关系数据二维表;所述数据接收模块,用以接收调度系统发送的数据同步文件;所述数据发送模块,用以发送调度系统生成的数据同步文件;
2)将调度系统中的同步关系数据采用二维表的形式进行存储,构成关系数据库,在二维表中每一行称为一个记录,每一列称为一个字段,具体为将数据同步过程中的数据源和数据目的地分别以行、列的形式进行存储,即每一个记录代表需要同步的数据源,每一个字段代表一个数据目的地;
3)在所述步骤2)的行列的交叉点上,设置同步属性,构成关系数据库中完整的二维表,同步属性的设置用以标识调度系统间同步关系数据进行同步的模式以及实现同步模式的切换;
4)当在调度系统中对指定的同步关系数据进行更新时,首先更新本调度系统的关系数据库,关系数据库更新完成后,将更新的内容生成数据同步文件,然后同步规则解析模块分析所述步骤3)完成的同步关系数据二维表,确定需要进行数据同步的调度系统,再通过数据发送模块将生成的数据同步文件传递到目的调度系统中,实现数据同步;
5)当调度系统接收到另一调度系统发送的数据同步文件时,首先在本调度系统的关系数据库中执行,关系数据库更新完成后,同步规则解析模块分析本调度系统的同步关系数据二维表和发送该数据同步文件的调度系统的同步关系数据二维表,确定需要进行数据同步的调度系统,再通过数据发送模块将该数据同步文件传递到目的调度系统中,实现数据同步;如果同步规则解析模块分析的结果为不存在需要进行数据同步的调度系统,则无需再对该数据同步文件进行转发。
前述的调度系统之间进行数据同步的模式包括链状同步模式、分层同步模式、网状同步模式以及上述两种或三种模式共存。
前述当同步关系数据二维表发生变化时,即数据同步模式、数据源、数据目的地、同步属性发生改变,数据同步规则解析模块重新读取同步关系数据二维表,确定目的调度系统。
前述的二维表的数据源和数据目的地可自由增加、删除和修改。
前述的调度系统间通过网络进行数据传输。
本发明所达到的有益效果:
本发明以直观的方式描述了调度系统中多源多目的数据同步关系,采用二维表的方式对同步关系数据进行存储建立关系数据库,该关系数据库通过简单的增、删、改操作就可以进行维护,不需要二次培训、不需要专人维护,数据同步关系一目了然。本发明借助二维表的易扩展性,保证了同步关系配置的最大灵活性以及高度适应性,为调度系统中多级数据共享提供了一种简洁明了的实现方式。
附图说明
图1为本发明的一种基于同步关系数据二维表的多源多目的数据同步方法流程图;
图2为本发明3调度系统间网状同步模式示意图;
图3为本发明3调度系统间链状同步模式示意图。
具体实施方式
下面结合附图对本发明作进一步说明。
调度系统是指电网调度自动化系统,即利用计算机,运动,通信等技术实现电力系统调度自动化功能的综合系统,为实现电网中各调度系统间数据同步,本发明提供一种基于同步关系数据二维表的多源多目的数据同步方法,包括以下步骤:
首先,在需要进行数据同步的调度系统中建立同步规则解析模块,数据接收模块和数据发送模块;其中同步规则解析模块,用以解析调度系统的同步关系数据二维表;数据接收模块,用以接收调度系统发送的数据同步文件;数据发送模块,用以发送调度系统生成的数据同步文件;如图1所示,以数据在4个调度系统(调度系统A、调度系统B、调度系统C、调度系统D)之间的同步为例,但本发明不局限于在4个调度系统之间同步数据。
其次,将调度系统中的同步关系数据采用二维表的形式进行存储,构成关系数据库,具体为将数据同步过程中的数据源和数据目的地分别以行、列的形式进行存储,数据源是指产生数据的调度系统,数据目的地是指接收数据的调度系统,二维表中每一行称为一条记录,每一列称为一个字段,使用二维表的行与列分别存储数据源与数据目的地,即每一个记录代表需要同步的数据源,每一个字段代表一个数据目的地;例如,如果把同步过程中涉及的调度系统设为N个,则需要建立(N+1)*N的二维表,表1所示为3调度系统间进行数据同步的二维表,所建的二维表的数据源和数据目的地可自由增加、删除和修改。
表1 同步关系数据二维表
|
目的地A(调度1) |
目的地B(调度2) |
目的地C(调度3) |
数据源A(调度1) |
|
|
|
数据源B(调度2) |
|
|
|
数据源C(调度3) |
|
|
|
在所建的二维表的行列的交叉点上,设置同步属性,用以标识调度系统间同步关系数据进行同步的模式以及实现同步模式的切换;同步属性用于表示数据源到数据目的地的同步行为,包括全同步,部分同步和不同步,同步模式是从整个数据同步区域范围来看,通过对同步属性的设置,可支持多种数据同步模式,如链状同步模式、分层同步模式、网状同步模式及多种同步模式共存,并且还支持快速的模式切换、支持同步路径的修改,该过程对应用而言是透明的,在各种复杂的实际运行环境中可以按需要做到无缝的同步模式转换;以3个调度系统为例,表2所示的同步属性设置实现了网状同步模式如图2;表3所示的同步属性设置实现了链状同步模式如图3,
表2 3调度系统网状同步模式同步属性设置表
|
目的地A(调度1) |
目的地B(调度2) |
目的地C(调度3) |
数据源A(调度1) |
不同步 |
同步 |
同步 |
数据源B(调度2) |
同步 |
不同步 |
同步 |
数据源C(调度3) |
同步 |
同步 |
不同步 |
表3 3调度系统链状同步模式同步属性设置表
|
目的地A(调度1) |
目的地B(调度2) |
目的地C(调度3) |
数据源A(调度1) |
不同步 |
同步 |
同步 |
数据源B(调度2) |
同步 |
不同步 |
不同步 |
数据源C(调度3) |
同步 |
不同步 |
不同步 |
进行同步属性设置后即构成了关系数据库中一张完整的数据同步关系二维表。
本发明采用的方法的处理流程为:
用户在一个调度系统中对指定的同步关系数据进行更新保存,更新操作包括修改,增加或删除等,该操作执行成功后,将本次更新的内容生成数据同步文件,然后同步规则解析模块分析同步关系数据二维表的信息,确定需要进行数据同步的调度系统,然后通过网络由数据发送模块将生成的数据同步文件传递到目标调度系统中,实现数据同步。例如,根据表4所示的同步关系数据二维表信息,在调度系统A修改数据后,需要同步到调度系统B、调度系统C、调度系统D。
表4 4调度系统同步关系数据二维表一
|
调度系统A |
调度系统B |
调度系统C |
调度系统D |
调度系统A |
不同步 |
同步 |
同步 |
同步 |
调度系统B |
同步 |
不同步 |
同步 |
同步 |
调度系统C |
同步 |
同步 |
不同步 |
同步 |
调度系统D |
同步 |
同步 |
同步 |
不同步 |
当调度系统接收到另一调度系统发送的数据同步文件后,首先在本调度系统的关系数据库中执行,该操作执行成功后,同步规则解析模块根据本调度系统的同步关系数据二维表和发送该数据同步文件的调度系统的同步关系数据二维表,确定需要将该数据同步文件与哪些调度系统进行数据同步,然后将该数据同步文件转发至目标调度系统中,如果无需数据同步,则无需再对该数据同步文件进行转发。例如表4所示,调度系统B接收到调度系统A转发的数据同步文件后,首先在调度系统B的数据关系库中执行,该操作执行成功后,同步规则解析模块通过对调度系统A、调度系统B的同步关系数据二维表分析决定该数据同步文件不需要再向其它调度系统进行转发。再如表5,调度系统B接收到调度系统A转发的数据同步文件后,首先在调度系统B的数据关系库中执行,该操作执行成功后,同步规则解析模块通过对调度系统A、调度系统B的同步关系数据二维表分析决定该数据同步文件还需要且只需要再向调度系统C进行转发。
表5 4调度系统同步关系数据二维表二
|
调度系统A |
调度系统B |
调度系统C |
调度系统D |
调度系统A |
不同步 |
同步 |
不同步 |
同步 |
调度系统B |
同步 |
不同步 |
同步 |
同步 |
调度系统C |
同步 |
同步 |
不同步 |
同步 |
调度系统D |
同步 |
同步 |
同步 |
不同步 |
当同步关系数据二维表发生变化时,即数据同步模式、数据源、数据目的地、同步属性发生改变,数据同步规则解析模块重新读取同步关系数据二维表,确定目的调度系统。
本发明按照优选实施例进行了说明,应当理解,上述实施例不以任何形式限定本发明,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。