一种风场监控系统服务器断电重启后数据迁移方法及系统技术方案

技术编号:35111910 阅读:18 留言:0更新日期:2022-10-01 17:26
本发明专利技术涉及风力发电场监控技术领域,公开了一种风场监控系统服务器断电重启后数据迁移方法及系统,该处理方法,包括以下步骤:S1,配置文件;S2,检测表文件;S3,数据处理;S4:优化目标库表文件;S5,数据迁移。本发明专利技术解决了现有技术存在的以下问题:未配置后备电源UPS的风电场在数据迁移中遭遇突发断电,断电后迁移前数据处理程序运行到哪个节点未知,重新合成将导致整个迁移的时间拉长甚至翻倍,严重拖延了新系统上线的时间。了新系统上线的时间。了新系统上线的时间。

【技术实现步骤摘要】
一种风场监控系统服务器断电重启后数据迁移方法及系统


[0001]本专利技术涉及风力发电场监控
,具体是一种风场监控系统服务器断电重启后数据迁移方法及系统。

技术介绍

[0002]随着智能化技术的不断发展,风场监控系统也从传统意义上的数字化系统向智慧化系统转型,新版智慧系统开发完成后需将不同设计的原监控系统切换到新系统上来,为了保证用户数据体验的完整性,系统切换的第一任务就是将原监控系统数据资源进行整合和迁移。迁移过程中针对服务器未配置UPS后备电源的风电场,在数据迁移过程中如遇到风场突发断电,会使数据库损坏的概率加大以及数据迁移的中断,新老系统数据迁移前根据业务规则生成的数据量巨大,若中断后重新生成每台风机所需要转移数据的话将会导致整个迁移的时间拉长甚至翻倍,新老系统切换的周期会严重受到影响,影响新系统上线的进度。

技术实现思路

[0003]为克服现有技术的不足,本专利技术提供了一种风场监控系统服务器断电重启后数据迁移方法及系统,解决现有技术存在的以下问题:未配置后备电源UPS的风电场在数据迁移中遭遇突发断电,断电后迁移前数据处理程序运行到哪个节点未知,重新合成将导致整个迁移的时间拉长甚至翻倍,严重拖延了新系统上线的时间。
[0004]本专利技术解决上述问题所采用的技术方案是:一种风场监控系统服务器断电重启后数据迁移方法,包括以下步骤:S1,配置文件:在配置文件cnf.ini中定义参数块,其中,设置cnf.ini中断电标志位powerCutOff=1;S2,检测表文件:当风场数据迁移过程中遇到服务器突发断电的情形时,读取步骤S1中定义的参数块信息,检测表文件是否损坏并且利用日志记录已检测完的表文件的信息:若表文件损坏则修复表文件;若表文件未损坏,则利用终端输出提示该表文件未损坏;S3,数据处理:执行合成数据程序dataCompound.py,读取未处理风机文件undisposed.txt中风机id作为后续迁移目标源的参数,根据业务规则合成待迁移数据,待每台风机待迁移数据合成完成后利用日志记录每台风机表文件的待迁移数据合成是否成功,若合成成功,则向日志文件etl.log中写入成功标志位windIdXxx=1,并且利用日志记录合成一台风机所有表的数据所花费的时间;处理完每台风机所有数据后记录所有风机合成数据总耗时;S4,优化目标库表文件:运行优化表文件脚本optmizeTable.sh,读取未处理风机文件undisposed.txt中风机id,排序后取第一条记录作为优化表的入口参数,检测风机id对应的表中是否存在记录,若存在记录则先清空记录,清空完成后执行数据表优化的策略,并利用日志记录优化过的表文件信息;
S5,数据迁移:运行数据迁移脚本dataMigration.sh进行数据迁移。
[0005]作为一种优选的技术方案,步骤S1中,在配置文件cnf.ini中定义检测/修复表脚本batchCheck.sh、合成数据程序dataCompound.py、优化表文件脚本optmizeTable.sh、数据迁移脚本dataMigration.sh程序所需要的参数信息。
[0006]作为一种优选的技术方案,步骤S1中,在配置文件cnf.ini中定义以下参数块的一种或多种:源数据库信息块[source]、目标数据库信息块[target]、时间参数块[time]、待迁移/检测表文件块[table]、故障参数块[fault]。
[0007]作为一种优选的技术方案,步骤S2中,当风场数据迁移过程中遇到服务器突发断电的情形时,设置cnf.ini中powerCutOff=1,运行检测/修复表脚本batchCheck.sh,读取[source]块、[target]块下信息作为连接数据库的入口参数,读取[table]块设置的表文件前缀作为待检测表文件的入口参数,检测表文件是否损坏并且利用日志记录已检测完的表文件的信息:若表文件损坏则修复表文件;若表文件未损坏,则利用终端输出提示该表文件未损坏。
[0008]作为一种优选的技术方案,步骤S3中,未处理风机文件undisposed.txt的信息如下:运行合成数据程序dataCompound.py,连接数据库获取所有风机id组成集合A,提取etl.log中windIdXxx=1的风机id构建集合B,利用集合A和集合B做差集得到未处理风机id的集合C,将集合C写入未处理风机文件undisposed.txt中。
[0009]作为一种优选的技术方案,步骤S3包括以下步骤:S31,读取未处理风机文件undisposed.txt中未处理风机id组成集合C;S32,遍历集合C,根据每台风机id获取对应的常规模拟量历史数据表集合D;S33,遍历集合D,根据[time]中的历史数据起始时间etlStartTime和历史数据结束时间etlEndTime获取时间集合E;S34,遍历集合E,得到时间作为入口参数获取集合F;集合F表示点表中所有点每十分钟采集到的平均值、最大值、最小值、方差的纵表集合;S35,遍历集合F,把S34中的每十分钟采集到所有的点纵表集合转换成横表,构造合成数据集合G;S36,遍历集合F是否结束;若是,进入步骤S37,若否,返回步骤S35;S37,获取时间集合E中序号index,若记录数为设定条数,则触发入库操作,进入步骤S38;若记录数不为设定条数,则返回步骤S34;S38,判断入库是否报错;若是,抓取报错信息中的列名做扩列操作后进入步骤S39,若否,直接进入步骤S39;S39,将设定条数合成数据插入到源目标数据库定义的表中;S310,遍历集合E是否结束;若是,进入步骤S311,若否,返回步骤S34;S311,判断遍历集合D是否结束;若是,进入步骤S312,若否,返回步骤S33;S312,利用日志记录处理完一台风机所有表的总耗时,以及利用日志记录处理完一台风机数据成功标志位windIdXxx=1;S313,遍历集合C是否结束;若是,进入步骤S314,若否,返回步骤S32;S314,日志记录处理完所有风机数据所耗费时间。
[0010]作为一种优选的技术方案,步骤S4中,数据表优化策略包括以下的一种或多种方
式:去除清空操作后留下的数据文件碎片,减小文件尺寸,或加快未来的读写操作。
[0011]作为一种优选的技术方案,步骤S5中,读取cnf.ini中[source]及[target]块下信息连接数据库后,运行数据迁移dataMigration.sh脚本进行源数据库和目标库数据的迁移。
[0012]一种风场监控系统服务器断电重启后数据迁移系统,基于所述的一种风场监控系统服务器断电重启后数据迁移方法,包括依次相连的以下模块:配置文件模块:用以在配置文件cnf.ini中定义参数块,其中,设置cnf.ini中断电标志位powerCutOff=1;检测表文件模块:用以当风场数据迁移过程中遇到服务器突发断电的情形时,读取配置文件模块中定义的参数块信息,检测表文件是否损坏并且利用日志记录已检测完的表文件的信息:若表文件损坏则修复表文件;若表文件未损坏,则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种风场监控系统服务器断电重启后数据迁移方法,其特征在于,包括以下步骤:S1,配置文件:在配置文件cnf.ini中定义参数块,其中,设置cnf.ini中断电标志位powerCutOff=1;S2,检测表文件:当风场数据迁移过程中遇到服务器突发断电的情形时,读取步骤S1中定义的参数块信息,检测表文件是否损坏并且利用日志记录已检测完的表文件信息:若表文件损坏则修复表文件;若表文件未损坏,则利用终端输出提示该表文件未损坏;S3,数据处理:执行合成数据程序dataCompound.py,读取未处理风机文件undisposed.txt中风机id作为后续迁移目标源的参数,根据业务规则合成待迁移数据,待每台风机待迁移数据合成完成后利用日志记录每台风机表文件的待迁移数据合成是否成功,若合成成功,则向日志文件etl.log中写入成功标志位windIdXxx=1,并且利用日志记录合成一台风机所有表的数据所花费时间;处理完每台风机所有数据后记录所有风机合成数据总耗时;S4,优化目标库表文件:运行优化表文件脚本optmizeTable.sh,读取未处理风机文件undisposed.txt中风机id,排序后取第一条记录作为优化表的入口参数,检测风机id对应的表中是否存在记录,若存在记录则先清空记录,清空完成后执行数据表优化的策略,并利用日志记录优化过的表文件信息;S5,数据迁移:运行数据迁移脚本dataMigration.sh进行数据迁移。2.根据权利要求1所述的一种风场监控系统服务器断电重启后数据迁移方法,其特征在于,步骤S1中,在配置文件cnf.ini中定义检测/修复表脚本batchCheck.sh、合成数据程序dataCompound.py、优化表文件脚本optmizeTable.sh、数据迁移脚本dataMigration.sh程序所需要的参数信息。3.根据权利要求2所述的一种风场监控系统服务器断电重启后数据迁移方法,其特征在于,步骤S1中,在配置文件cnf.ini中定义以下参数块的一种或多种:源数据库信息块[source]、目标数据库信息块[target]、时间参数块[time]、待迁移/检测表文件块[table]、故障参数块[fault]。4.根据权利要求3所述的一种风场监控系统服务器断电重启后数据迁移方法,其特征在于,步骤S2中,当风场数据迁移过程中遇到服务器突发断电的情形时,设置cnf.ini中powerCutOff=1,运行检测/修复表脚本batchCheck.sh,读取[source]块、[target]块下信息作为连接数据库的入口参数,读取[table]块设置的表文件前缀作为待检测表文件的入口参数,检测表文件是否损坏并且利用日志记录已检测完的表文件的信息:若表文件损坏则修复表文件;若表文件未损坏,则利用终端输出提示该表文件未损坏。5.根据权利要求4所述的一种风场监控系统服务器断电重启后数据迁移方法,其特征在于,步骤S3中,未处理风机文件undisposed.txt的信息如下:运行合成数据程序dataCompound.py,连接数据库获取所有风机id组成集合A,提取etl.log中windIdXxx=1的风机id构建集合B,利用集合A和集合B做差集得到未处理风机id的集合C,将集合C写入未处理风机文件undisposed.txt中。6.根据权利要求5所述的一种风场监控系统服务器断电重启后数据迁移方法,其特征在于,步骤S3包括以下步骤:S31,读取未处理风机文件undisposed.txt中未处理风机id组成集合C;
S32,遍历集合C...

【专利技术属性】
技术研发人员:高中华宁琨赵伟王静孙英伏洪兵展宗霖陈帅
申请(专利权)人:东方电气风电股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1