一种scada系统数据回滚的方法及装置的制造方法

文档序号:8319213阅读:443来源:国知局
一种scada系统数据回滚的方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据库技术领域,具体而言,本发明涉及一种SCADA系统数据回滚的方法及装置。
【背景技术】
[0002]在SCADA应用中,在模型实例化过程中,目前大部分的系统都会进行数据的完整性校验和自动补全,用户在绘制实例拓扑图并实例化模型的过程中,系统会从多方面校验每个实例的完整性约束,并通过已有数据进行完整性约束的补全,此种方法大大提高了用户的工作效率,并保证了数据完整性,为SCADA平台上的各应用提供良好的数据支持。
[0003]因此种方法逻辑性很强,对已入库的数据一旦误操作导致删除,很难利用历史数据库本身的回滚功能只找回一个或数个指定设备的数据,这就导致了用户需要重新录入已丢失的数据,但对于误删数据中,已存在的一些非默认参数,或者在数据入库后进行关联的一些逻辑关系,会随着删除的级联逻辑一并删除掉,若用户没能做好相关的记录,则很难通过重新入库来挽救丢失的数据。
[0004]为增加系统的容错性,使SCADA系统的数据库具有容灾功能,需采用一种有效的操作记录及可逻辑回滚的机制,能准确的实现具有SCADA逻辑关系的数据回滚功能。
[0005]考虑到SCADA应用一般都具备模型及数据服务模块,一直以来的方法是,记录好每次用户所进行的操作流程,以操作日志的方式记录在服务端,当用户需要查看丢失数据的具体信息时,先确定丢失数据的初始信息,然后在日志中跟踪该数据所执行的修改及关联操作,按照日志所描述的信息重新入库。但是这样也存在着较大的问题。一方面随着中国经济的飞速发展,SCADA模型有一定变化量,且如果数据丢失出现在SCADA系统建立很久之后,为恢复一条丢失的数据及其关联数据和关系,用户可能需要先确定时间,然后取出该时间点所有的操作记录,在操作记录中人为挑选有用的数据,重新对数据库进行操作。其次,这要求模型及数据服务需保留很长一段时间的操作记录,甚至可以说是永久性的,系统无法识别操作记录对用户的重要性,导致保留大量无用的操作记录。另外,若误操作导致批量数据丢失,则用户讲面临繁重的重新录入工作。单靠操作记录已经无法适应SCADA模型的飞速发展和图库模一体化维护对维护工作提出的方便、快速要求。

【发明内容】

[0006]为了解决现有技术中SCADA系统中数据回滚操作功能单一,不利于数据恢复的问题提出了一种SCADA系统数据回滚的方法及装置,可以准确快速的执行回滚操作。
[0007]本发明实施例提供了一种SCADA系统数据回滚的方法,包括:
[0008]获取用户对SCADA数据库的操作;
[0009]读取回滚逻辑配置信息;
[0010]根据所述回滚逻辑配置信息记录所需回滚的信息;
[0011]根据所需回滚的信息生成逆向SQL语句,并在所述逆向SQL语句中标记本次操作针对的事物以及时间;
[0012]生成所述逆向SQL语句的索引。
[0013]根据本发明实施例所述的一种SCADA系统数据回滚方法的一个进一步的方面,在获取用户对SCADA数据库的操作之后还包括,解析所述用户对SCADA数据库的操作,得到本次操作所针对的事物及时间。
[0014]根据本发明实施例所述的一种SCADA系统数据回滚方法的再一个进一步的方面,所述生成所述逆向SQL语句的索引进一步包括,根据所述事物和所述时间进进行运算,得到唯一的索引用以映射本次操作逆向SQL语句。
[0015]根据本发明实施例所述的一种SCADA系统数据回滚方法的另一个进一步的方面,在生成所述逆向SQL语句的索引之后还包括,当用户发起回滚指令时,读取回滚请求,获取回滚的事物和时间,根据所述回滚的事物和时间搜索逆向SQL语句的索引,根据搜索到的逆向SQL语句对所述SCADA数据库进行回滚操作。
[0016]本发明实施例还提供了一种SCADA系统数据回滚装置,包括:
[0017]用户操作获取单元,读取单元,记录单元,逆向SQL语句生成单元,索引单元;
[0018]所述用户操作获取单元,用于获取用户对SCADA数据库的操作;
[0019]所述读取单元,用于读取回滚逻辑配置信息;
[0020]所述记录单元,用于根据所述回滚逻辑配置信息记录所需回滚的信息;
[0021]所述逆向SQL语句生成单元,用于根据所需回滚的信息生成逆向SQL语句,并在所述逆向SQL语句中标记本次操作针对的事物以及时间;
[0022]所述索引单元,用于生成所述逆向SQL语句的索引。
[0023]根据本发明实施例所述的一种SCADA系统数据回滚装置的一个进一步的方面,还包括解析单元,与所述用户操作获取单元相连接,用于解析所述用户对SCADA数据库的操作,得到本次操作所针对的事物及时间。
[0024]根据本发明实施例所述的一种SCADA系统数据回滚装置的再一个进一步的方面,所述索引单元还用于对所述事物和所述时间进行运算,得到唯一的索引用以映射本次操作逆向SQL语句。
[0025]根据本发明实施例所述的一种SCADA系统数据回滚装置的另一个进一步的方面,还包括搜索单元和回滚单元,所述搜索单元与所述索引单元相连接,所述回滚单元与所述搜索单元相连接,所述搜索单元根据用户发起的回滚请求中的回滚事物和时间搜索逆向SQL语句的索引,所述回滚单元根据搜索到的逆向SQL语句对所述SCADA数据库进行回滚操作。
[0026]通过上述本发明实施例的方法及装置,可以大大方便一体化维护数据的灾难恢复操作,当恢复一条记录时还可以恢复与其相关联的数据记录,并且可以更加准确的找到需要回滚的事物。
【附图说明】
[0027]结合以下附图阅读对实施例的详细描述,本发明的上述特征和优点,以及额外的特征和优点,将会更加清楚。
[0028]图1所示为本发明实施例一种SCADA系统数据回滚的方法流程图;
[0029]图2所示为本发明实施例一种SCADA系统数据回滚装置的结构示意图;
[0030]图3所示为本发明实施例生成逆向SQL语句的流程图;
[0031]图4所示为本发明实施例一种数据回滚的方法流程图。
【具体实施方式】
[0032]下面的描述可以使任何本领域技术人员利用本发明。具体实施例和应用中所提供的描述信息仅为示例。这里所描述的实施例的各种延伸和组合对于本领域的技术人员是显而易见的,在不脱离本发明的实质和范围的情况下,本发明定义的一般原则可以应用到其他实施例和应用中。因此,本发明不只限于所示的实施例,本发明涵盖与本文所示原理和特征相一致的最大范围。
[0033]下面的详细说明以流程图、逻辑模块和其他的符号操作表达的形式给出,可以在计算机系统上执行。一个程序、计算机执行步、逻辑块,过程等,在这里被设想为得到所希望的结果的一个或多个步骤或指令的自洽序列。这些步骤是对物理量的物理操作。这些物理量包括电、磁或者无线电信号,它们在计算机系统中被存储、传输、组合、比较以及其他操作。这些信号可是比特、数值、元素、符号、字符、条件、数字等。每个步骤都可以通过硬件、软件、固件或它们的组合执行。
[0034]如图1所示为本发明实施例一种SCADA系统数据回滚的方法流程图。
[0035]包括步骤101,获取用户对SCADA数据库的操作。
[0036]在本步骤之后还包括,解析所述用户对SCADA数据库的操作,即解析为计算机能够理解的机器语言。
[0037]在解析的过程中得到本次操作所针对的事物及时间。
[0038]步骤102,读取回滚逻辑配置信息,其中所述回滚逻辑配置信息是指预先设定的所需回滚的数据项目,例如对于某个设备需要回滚的温度、压力等数据项目。
[0039]步骤103,根据所述回滚逻辑配置信息记录所需回滚的信息,其中所需回滚的信息包括本次操作的数据,例如增加、删除、修改的具体数据,还包括数据在数据库中和其它数据之间的关系,例如父子关系等。
[0040]步骤104,根据所需回滚的信息生成逆向SQL语句,并在所述逆向SQL语句中标记本次操作针对的事物以及时间。
[0041]例如,本次操作是针对数据库中“泵”的某些数据,则上述事物即为“泵”以及相应操作的具体时间。
[0042]步骤105,生成所述逆向SQL语句的索引。
[0043]作为本发明的一个实施例,例如对所述事物和所述时间进行哈希运算,得到唯一的索引用以映射本次操作逆向SQL语句。
[0044]或者,还可以将所述事物映射为数字串,将事物对应的数字串与所述时间进行加法,然后将其加法结果作为本次操作逆向SQL语句的唯一的索引。
[0045]上述生成逆向SQL语句索引的方法有很多,均可以参考上述例子中的方式,本领域技术人员可以根据上述算法推测中其它方式,其它变形方式不在本申请中赘述。
[0046]在上述步骤105之后还包括,当用户发起回滚指令时,读取回滚请求,获取回滚的事物和时间,根据所述回滚的事物和时间搜索逆向SQL语句的索引,根据搜索到的逆向SQL语句对所述SCADA数据库进行回滚操作。
[0047]通过上述实施例中的方法,可以大大方便一体化维护数据的灾难恢复操作,当恢复一条记录时还可以恢复与其相关联的数据记录,并且可以更加准确的找到需要回滚的事物,避免了从海量的回滚记录中手工寻找需要回滚的数据,进一步可以根据事物的筛选,只保留重要事物的数据回滚记录,同时能够缩短在出现灾难后丢失数据的真空期,及因数据丢失可能导致的无法进行任何有关联的数据操作工作,有效保障系统迅速恢复。
[0048]如图2所示为本发明实施例一种SCADA系统数据回滚装置的结构示意图。
[0049]包括用户操作获取单元201,读取单元202,记录单元203,逆向SQL语句生成单元204,索引单元205。
[0050]所述用户操作获取单元201,用于获取用户对SCADA数据库的操作。
[0051]所述读取单元202,用于读取回滚逻辑配置信息。
[0052]所述记录单元203,用于根据所述回滚逻辑配置信息记录所需回滚的信息。
[0053]所述逆向SQL语句生成单元204,用于根据所需回滚的信息生成逆向SQL语句,并在所述逆向SQL语句中标记本次操作针对的事物以及时间。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1