CN115129661B - 一种风场监控系统服务器断电重启后数据迁移方法及系统 - Google Patents
一种风场监控系统服务器断电重启后数据迁移方法及系统 Download PDFInfo
- Publication number
- CN115129661B CN115129661B CN202211043691.4A CN202211043691A CN115129661B CN 115129661 B CN115129661 B CN 115129661B CN 202211043691 A CN202211043691 A CN 202211043691A CN 115129661 B CN115129661 B CN 115129661B
- Authority
- CN
- China
- Prior art keywords
- data
- fan
- file
- log
- table file
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及风力发电场监控技术领域,公开了一种风场监控系统服务器断电重启后数据迁移方法及系统,该处理方法,包括以下步骤:S1,配置文件;S2,检测表文件;S3,数据处理;S4:优化目标库表文件;S5,数据迁移。本发明解决了现有技术存在的以下问题:未配置后备电源UPS的风电场在数据迁移中遭遇突发断电,断电后迁移前数据处理程序运行到哪个节点未知,重新合成将导致整个迁移的时间拉长甚至翻倍,严重拖延了新系统上线的时间。
Description
技术领域
本发明涉及风力发电场监控技术领域,具体是一种风场监控系统服务器断电重启后数据迁移方法及系统。
背景技术
随着智能化技术的不断发展,风场监控系统也从传统意义上的数字化系统向智慧化系统转型,新版智慧系统开发完成后需将不同设计的原监控系统切换到新系统上来,为了保证用户数据体验的完整性,系统切换的第一任务就是将原监控系统数据资源进行整合和迁移。迁移过程中针对服务器未配置UPS后备电源的风电场,在数据迁移过程中如遇到风场突发断电,会使数据库损坏的概率加大以及数据迁移的中断,新老系统数据迁移前根据业务规则生成的数据量巨大,若中断后重新生成每台风机所需要转移数据的话将会导致整个迁移的时间拉长甚至翻倍,新老系统切换的周期会严重受到影响,影响新系统上线的进度。
发明内容
为克服现有技术的不足,本发明提供了一种风场监控系统服务器断电重启后数据迁移方法及系统,解决现有技术存在的以下问题:未配置后备电源UPS的风电场在数据迁移中遭遇突发断电,断电后迁移前数据处理程序运行到哪个节点未知,重新合成将导致整个迁移的时间拉长甚至翻倍,严重拖延了新系统上线的时间。
本发明解决上述问题所采用的技术方案是:
一种风场监控系统服务器断电重启后数据迁移方法,包括以下步骤:
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进行数据迁移。
作为一种优选的技术方案,步骤S1中,在配置文件cnf.ini中定义检测/修复表脚本batchCheck.sh、合成数据程序dataCompound.py、优化表文件脚本optmizeTable.sh、数据迁移脚本dataMigration.sh程序所需要的参数信息。
作为一种优选的技术方案,步骤S1中,在配置文件cnf.ini中定义以下参数块的一种或多种:源数据库信息块[source]、目标数据库信息块[target]、时间参数块[time]、待迁移/检测表文件块[table]、故障参数块[fault]。
作为一种优选的技术方案,步骤S2中,当风场数据迁移过程中遇到服务器突发断电的情形时,设置cnf.ini中powerCutOff=1,运行检测/修复表脚本batchCheck.sh,读取[source]块、[target]块下信息作为连接数据库的入口参数,读取[table]块设置的表文件前缀作为待检测表文件的入口参数,检测表文件是否损坏并且利用日志记录已检测完的表文件的信息:若表文件损坏则修复表文件;若表文件未损坏,则利用终端输出提示该表文件未损坏。
作为一种优选的技术方案,步骤S3中,未处理风机文件undisposed.txt的信息如下:运行合成数据程序dataCompound.py,连接数据库获取所有风机id组成集合A,提取etl.log中windIdXxx=1的风机id构建集合B,利用集合A和集合B做差集得到未处理风机id的集合C,将集合C写入未处理风机文件undisposed.txt中。
作为一种优选的技术方案,步骤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,日志记录处理完所有风机数据所耗费时间。
作为一种优选的技术方案,步骤S4中,数据表优化策略包括以下的一种或多种方式:去除清空操作后留下的数据文件碎片,减小文件尺寸,或加快未来的读写操作。
作为一种优选的技术方案,步骤S5中,读取cnf.ini中[source]及[target]块下信息连接数据库后,运行数据迁移dataMigration.sh脚本进行源数据库和目标库数据的迁移。
一种风场监控系统服务器断电重启后数据迁移系统,基于所述的一种风场监控系统服务器断电重启后数据迁移方法,包括依次相连的以下模块:
配置文件模块:用以在配置文件cnf.ini中定义参数块,其中,设置cnf.ini中断电标志位powerCutOff=1;
检测表文件模块:用以当风场数据迁移过程中遇到服务器突发断电的情形时,读取配置文件模块中定义的参数块信息,检测表文件是否损坏并且利用日志记录已检测完的表文件的信息:若表文件损坏则修复表文件;若表文件未损坏,则利用终端输出提示该表文件未损坏;
数据处理模块:用以执行合成数据程序dataCompound.py,读取未处理风机文件undisposed.txt中风机id作为后续迁移目标源的参数,根据业务规则合成待迁移数据,待每台风机待迁移数据合成完成后,利用日志记录每台风机表文件的待迁移数据合成是否成功,若合成成功,则向日志文件etl.log中写入成功标志位windIdXxx=1,并且利用日志记录合成一台风机所有表的数据所花费时间;处理完每台风机所有数据后记录所有风机合成数据总耗时;
优化目标库表文件模块:用以运行优化表文件脚本optmizeTable.sh,读取未处理风机文件undisposed.txt文件中风机id,排序后取第一条记录作为优化表的入口参数,检测风机id对应的表中是否存在记录,若存在记录则先清空记录,清空完成后执行数据表优化的策略,并利用日志记录优化过的表文件信息;
数据迁移模块:用以运行数据迁移脚本dataMigration.sh进行数据迁移。
本发明相比于现有技术,具有以下有益效果:
本发明极大程度地减少操作人员的工作量,极大程度地缩短了新老系统数据迁移过程中所遇到突发情况如服务器断电或死机重启等操作所增加的迁移时长,在保证了老监控系统和智慧系统能同时正常运行的情况下提高了迁移的效率。
附图说明
图1为本发明所述一种风场监控系统服务器断电重启后数据迁移方法的步骤示意图;
图2为本发明配置文件示意图;
图3为本发明表文件检测/修复流程示意图;
图4为本发明优化表文件流程示意图;
图5为本发明数据迁移流程示意图。
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
实施例1
如图1至图5所示,本发明公开了一种风场监控系统服务器断电重启后数据迁移方法及系统,若迁移过程中遇到断电,通电后重启源服务器和目标服务器上mysql服务,修改配置文件cnf.ini中fault下的powerCutOff=1,运行检测/修复表batchCheck.sh脚本检测数据库中待迁移的表文件是否损坏,若损坏则先修复损坏的表,日志记录损坏表文件名称及修复成功与否情况,若未损坏则利用终端输出提示该表文件未损坏。执行合成数据程序dataCompound.py,读取未处理风机文件undisposed.txt文件中风机id作为后续迁移目标源的参数,根据业务规则合成待迁移数据,待每台风机待迁移数据合成完成后利用日志记录每台风机表文件的待迁移数据合成是否成功,若合成成功,则向日志文件etl.log中写入成功标志位windIdXxx=1,并且利用日志记录写入合成一台风机所有表数据所花费时间;处理完每台风机所有数据,最终记录所有风机合成数据总耗时。读取未处理风机文件undisposed.txt文件中风机id,排序后取第一条记录作为清空对应表的入口参数,检测数据库该风机id对应的表中是否存在记录,若存在则清空对应风机表的记录,清空完成后调用数据表优化策略,去除清空操作后留下的数据文件碎片,减小文件尺寸,加快未来的读写操作,日志记录优化过的表文件名称时间等信息,优化代码执行完成后调用迁移脚本进行数据再迁移的方法。
一种风场监控系统服务器断电重启后数据迁移方法,在配置文件cnf.ini中定义以下参数块如图2所示:
1)[source] 源数据库信息块,其中包括:
hostIp源数据库服务器ip地址、
port源数据库mysql服务端口号、
userName 源数据库用户名、
passWord 源数据库密码、
dbName 源数据库名字,
2)[target] 目标数据库信息块,其中包括:
pmsHostIp 目标数据库服务器ip地址、
pmsPort 目标数据库mysql服务端口号、
pmsUserName 源数据库用户名、
pmsPassWord 源数据库密码、
pmsDbName 目标数据库名字,
3)[time] 时间参数块,其中包括:
etlStartTime 历史数据起始时间、
etlEndTime 历史数据结束时间,
4)[table] 待迁移/检测表文件块,其中包括:
xxxx 代表表文件前缀名称,
5)[fault] 故障参数块 其中包括:
powerCutOff=1 代表断电。
若迁移过程中遇到服务器突发断电,则修改配置文件cnf.ini中powerCutOff=1,运行检测/修复表batchCheck.sh脚本,读取[source]块、[target]块下信息作为连接数据库的入口参数,读取[table]块设置的表名前缀作为待检测表文件的入口参数,检测表文件是否损坏,若损坏则修复,未损坏则终端输出提示该表文件未损坏,日志记录已检测完的表的时间、表名、是否损坏及修复是否成功等信息如图3所示;
运行合成数据程序dataCompound.py过程如下:连接数据库获取所有风机id组成集合A,提取etl.log中windIdXxx=1的风机id构建集合B,集合A和集合B做差集得到集合C(未处理风机id),将集合C写入未处理风机文件undisposed.txt中:
1)遍历集合C中风机id,在第一层循环中根据风机id获取常规模拟量历史数据表集合D(该风机id对应的表集合),将集合D表述为常量数据tableName;
2)遍历集合D,在第二层循环中读取[time]时间参数块下历史数据起始、结束时间获取集合E(时间集合);
3)遍历集合E,在第三层循环中根据时间集合E中每个时间获取集合F(每十分钟数据纵表集合);
4)遍历集合F,在第四层循环中构造风机最大、最小、平均、方差等值的记录插入到定义的变量dataFrame(合成数据集合G)中;在第三层循环中通过获取时间集合E中序号index,以设定条数的记录为一组(可选设定条数的记录为200条~600条,本实施例中,选择每500条记录为一组)触发入库操作,入库时判断合成数据集合G中定义的列和数据库中表的列名是否对应,若不对应插入数据将报错,抓取报错信息进行异常处理,先增加新列,再执行入库操作;
5)在第二层循环结束后向etl.log日志文件中记录处理一台风机所有数据所需要的时间,记录处理是否成功标志位windIdXxx=1,在第一层循环结束后日志记录所有风机迁移总耗时;
运行优化表文件optmizeTable.sh脚本,读取未处理风机文件undisposed.txt中风机id,排序后取第一条记录作为优化表的入口参数,检测源数据库和目标数据库中该风机id对应的表中是否存在记录,若存在记录则先清空记录,清空完成后执行数据表优化策略,去除清空操作后留下的数据文件碎片,减小文件尺寸,加快未来的读写操作,日志记录优化过的表文件名称时间等信息如图4所示;
运行数据迁移脚本dataMigration.sh进行数据迁移如图5所示。
实施例2
如图1至图5所示,作为实施例1的进一步优化,在实施例1的基础上,本实施例还包括以下技术特征:
本发明的目的在于提供一种风场监控系统服务器断电重启后数据迁移方法及系统,旨在解决未配置后备电源UPS的风电场在数据迁移中遭遇突发断电,断电后迁移前数据处理程序运行到哪个节点未知,重新合成将导致整个迁移的时间拉长甚至翻倍,严重拖延了新系统上线的时间的技术问题。
为实现上述目的,本发明提供一种风场监控系统服务器断电重启后数据迁移方法,所述方法包括以下步骤:
S1:配置文件设置batchCheck.sh、dataCompound.py、optmizeTable.sh、dataMigration.sh程序所需参数;
S2:检测待迁移表文件是否损坏,损坏则修复,未损坏则输出提示信息,日志记录所需信息;
S3:根据业务逻辑合成待迁移数据;
S4:执行optmizeTable.sh脚本对源目标库表文件优化以加快未来读写操作;
S5:运行dataMigration.sh脚本进行源数据库和目标库数据的迁移;
可选的,所述配置文件中包括设置执行程序中所需要源、目标服务器mysql服务所需参数,设置执行程序待检测的表文件名,设置迁移程序迁移的起始结束时间等信息,设置是否触发断电标志位;
可选的,读取配置文件cnf.ini中[source]、[target]块下参数后,连接源、目标服务器上的mysql服务进行交互;读取配置文件中[table]块待检测表名作为检测/修复表batchCheck.sh脚本的入口参数来进行批量检测表文件是否损坏,损坏则修复,修复完成后向日志文件中记录表文件的状态,其中包含表是否损坏,损坏后修复时间等信息;未损坏终端输出提示信息该表文件未损坏无需修复。
可选的,通过数据库风机表文件获取所有风机id组成集合A,提取日志文件etl.log中windIdXxx=1的风机id构建集合B,通过集合A和集合B过滤出未处理的风机id组成集合C,向未处理风机文件undisposed.txt中写入集合C的风机id,遍历集合C中风机id,根据业务规则合成待迁移数据插入到源数据库指定表中,向日志文件etl.log中记录一台风机所有数据合成是否成功标志位windIdXxx=1,记录一台风机所有表文件合成数据所花费的时间,记录所有风机合成数据总耗时;
可选的,读取未处理风机文件undisposed.txt文件中风机id,排序后取第一条记录作为优化表的入口参数,检测风机id对应的表中是否存在记录,若存在记录则先清空记录,清空完成后执行数据表优化的策略,去除清空操作后留下的数据文件碎片,减小文件尺寸,加快未来的读写操作,日志记录优化过的表文件名称时间等信息。
此外,为了实现上述目的,本发明还提供了一种风场监控系统服务器断电重启后数据迁移方法的装置,所述装置包括:
配置文件模块:用来定义batchCheck.sh、dataCompound.py、optmizeTable.sh、dataMigration.sh程序所需要的参数信息;
表文件检测模块:用来检测断电后mysql服务器表文件是否损坏及修复工作;
数据处理模块:根据业务规则生成待迁移数据插入数据库中间表中,日志记录每台风机表文件的合成数据是否成功,成功则向日志文件etl.log中写入成功标志位windIdXxx=1,写入合成一台风机所有表数据所花费时间等信息;
优化表文件模块:用来去除清空表操作后留下的数据文件碎片,减小文件尺寸,加快未来的读写操作;
数据迁移模块:优化表文件完成后执行数据迁移dataMigration.sh脚本进行源数据库和目标库数据的迁移。
本发明实施例包括配置文件设置程序执行所需要的入口参数、断电后表文件的检测、根据业务规则处理待迁移数据,日志记录整个合成数据过程中的每台风机表文件合成是否成功、优化表文件操作,数据迁移。本发明通过调用以上操作用来极大程度地减少操作人员的工作量,极大程度地缩短了新老系统数据迁移过程中所遇到突发情况如服务器断电或死机重启等操作所增加的迁移时长,在保证了老监控系统和智慧系统能同时正常运行的情况下提高了迁移的效率。
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
Claims (7)
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进行数据迁移;
步骤S3中,未处理风机文件undisposed.txt的信息如下:运行合成数据程序dataCompound.py,连接数据库获取所有风机id组成集合A,提取etl.log中windIdXxx=1的风机id构建集合B,利用集合A和集合B做差集得到未处理风机id的集合C,将集合C写入未处理风机文件undisposed.txt中;
步骤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,日志记录处理完所有风机数据所耗费时间。
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所述的一种风场监控系统服务器断电重启后数据迁移方法,其特征在于,步骤S4中,数据表优化策略包括以下的一种或多种方式:去除清空操作后留下的数据文件碎片,减小文件尺寸,或加快未来的读写操作。
6.根据权利要求1至5任一项所述的一种风场监控系统服务器断电重启后数据迁移方法,其特征在于,步骤S5中,读取cnf.ini中[source]及[target]块下信息连接数据库后,运行dataMigration.sh脚本进行源数据库和目标库数据的迁移。
7.一种风场监控系统服务器断电重启后数据迁移系统,其特征在于,基于权利要求1至6任一项所述的一种风场监控系统服务器断电重启后数据迁移方法,包括依次相连的以下模块:
配置文件模块:用以在配置文件cnf.ini中定义参数块,其中,设置cnf.ini中断电标志位powerCutOff=1;
检测表文件模块:用以当风场数据迁移过程中遇到服务器突发断电的情形时,读取步骤S1中定义的参数块信息,检测表文件是否损坏并且利用日志记录已检测完的表文件信息:若表文件损坏则修复表文件;若表文件未损坏,则利用终端输出提示该表文件未损坏;
数据处理模块:用以执行合成数据程序dataCompound.py,读取未处理风机文件undisposed.txt中风机id作为后续迁移目标源的参数,根据业务规则合成待迁移数据,待每台风机待迁移数据合成完成后利用日志记录每台风机表文件的待迁移数据合成是否成功,若合成成功,则向日志文件etl.log中写入成功标志位windIdXxx=1,并且利用日志记录合成一台风机所有表的数据所花费时间;处理完每台风机所有数据后记录所有风机合成数据总耗时;
数据处理模块工作的方法为:未处理风机文件undisposed.txt的信息如下:运行合成数据程序dataCompound.py,连接数据库获取所有风机id组成集合A,提取etl.log中windIdXxx=1的风机id构建集合B,利用集合A和集合B做差集得到未处理风机id的集合C,将集合C写入未处理风机文件undisposed.txt中;
数据处理模块具体执行以下步骤:
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,日志记录处理完所有风机数据所耗费时间;
优化目标库表文件模块:用以运行优化表文件脚本optmizeTable.sh,读取未处理风机文件undisposed.txt中风机id,排序后取第一条记录作为优化表的入口参数,检测风机id对应的表中是否存在记录,若存在记录则先清空记录,清空完成后执行数据表优化策略,并利用日志记录优化过的表文件信息;
数据迁移模块:用以运行数据迁移脚本dataMigration.sh进行数据迁移。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211043691.4A CN115129661B (zh) | 2022-08-30 | 2022-08-30 | 一种风场监控系统服务器断电重启后数据迁移方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211043691.4A CN115129661B (zh) | 2022-08-30 | 2022-08-30 | 一种风场监控系统服务器断电重启后数据迁移方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115129661A CN115129661A (zh) | 2022-09-30 |
CN115129661B true CN115129661B (zh) | 2022-11-22 |
Family
ID=83387650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211043691.4A Active CN115129661B (zh) | 2022-08-30 | 2022-08-30 | 一种风场监控系统服务器断电重启后数据迁移方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129661B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014180207A1 (zh) * | 2013-11-04 | 2014-11-13 | 中兴通讯股份有限公司 | 元数据服务器的迁移处理方法及装置 |
CN107391634A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据迁移方法及装置 |
CN108897598A (zh) * | 2018-06-13 | 2018-11-27 | 南京享达汉辰网络科技有限公司 | 一种优化的虚拟机自动迁移系统和方法 |
CN111324595A (zh) * | 2020-02-25 | 2020-06-23 | 中信银行股份有限公司 | 数据迁移的方法、系统、设备及计算机可读存储介质 |
CN111666266A (zh) * | 2020-06-09 | 2020-09-15 | 金蝶软件(中国)有限公司 | 一种数据迁移方法及相关设备 |
US11119994B1 (en) * | 2019-06-06 | 2021-09-14 | Amazon Technologies, Inc. | Record-by-record live migration using segmentation |
CN114610697A (zh) * | 2022-03-22 | 2022-06-10 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN114840496A (zh) * | 2022-05-30 | 2022-08-02 | 中国船舶重工集团海装风电股份有限公司 | 一种风电场跨数据库的数据迁移方法及系统 |
CN114860694A (zh) * | 2022-07-05 | 2022-08-05 | 东方电气风电股份有限公司 | 一种风电场监控系统异步协同数据迁移方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200089801A1 (en) * | 2018-09-19 | 2020-03-19 | Microsoft Technology Licensing, Llc | Disturbance-free partitioning and migration of data from one storage account to another storage account |
CN113468144A (zh) * | 2021-07-23 | 2021-10-01 | 上海蒙帕信息技术有限公司 | 一种数据库迁移方法及其迁移装置 |
-
2022
- 2022-08-30 CN CN202211043691.4A patent/CN115129661B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014180207A1 (zh) * | 2013-11-04 | 2014-11-13 | 中兴通讯股份有限公司 | 元数据服务器的迁移处理方法及装置 |
CN107391634A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据迁移方法及装置 |
CN108897598A (zh) * | 2018-06-13 | 2018-11-27 | 南京享达汉辰网络科技有限公司 | 一种优化的虚拟机自动迁移系统和方法 |
US11119994B1 (en) * | 2019-06-06 | 2021-09-14 | Amazon Technologies, Inc. | Record-by-record live migration using segmentation |
CN111324595A (zh) * | 2020-02-25 | 2020-06-23 | 中信银行股份有限公司 | 数据迁移的方法、系统、设备及计算机可读存储介质 |
CN111666266A (zh) * | 2020-06-09 | 2020-09-15 | 金蝶软件(中国)有限公司 | 一种数据迁移方法及相关设备 |
CN114610697A (zh) * | 2022-03-22 | 2022-06-10 | 平安科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
CN114840496A (zh) * | 2022-05-30 | 2022-08-02 | 中国船舶重工集团海装风电股份有限公司 | 一种风电场跨数据库的数据迁移方法及系统 |
CN114860694A (zh) * | 2022-07-05 | 2022-08-05 | 东方电气风电股份有限公司 | 一种风电场监控系统异步协同数据迁移方法及装置 |
Non-Patent Citations (3)
Title |
---|
An Efficient Approach Towards Surrogate Node Selection For Container Migration In Fog Computing;V.R. Azhaguramyaa 等;《2021 7th International Conference on Advanced Computing and Communication Systems (ICACCS)》;20210603;1209-1214 * |
基于云计算的风电经营管控数据平台技术研究;王寅生等;《电力大数据》;20171021(第10期);62-66 * |
用于短期风功率预测的历史数据深度迁移模型;彭飞 等;《重庆大学学报》;20200402;第45卷(第1期);95-102 * |
Also Published As
Publication number | Publication date |
---|---|
CN115129661A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659173A (zh) | 一种运维系统及方法 | |
CN107832164A (zh) | 一种基于Ceph的故障硬盘处理的方法及装置 | |
CN108459951B (zh) | 测试方法和装置 | |
CN109063005B (zh) | 一种数据迁移方法及系统、存储介质、电子设备 | |
CN110795614A (zh) | 一种索引自动优化方法及装置 | |
US20030033291A1 (en) | SQL execution analysis | |
CN105357055A (zh) | 一种用于数据库服务器的运维管理系统和方法 | |
CN102624544A (zh) | 监控任务的创建方法及装置 | |
CN115129661B (zh) | 一种风场监控系统服务器断电重启后数据迁移方法及系统 | |
CN112068981B (zh) | Linux操作系统中基于知识库的故障扫描恢复方法及系统 | |
EP4354297A1 (en) | Data integrity processing method and apparatus, and electronic device | |
CN106203753A (zh) | 软件运营中运营问题的流转方法和系统 | |
CN115114284A (zh) | 一种表变更处理方法及系统 | |
CN115096604A (zh) | 一种车辆故障状态检测方法及装置 | |
CN110008245B (zh) | 一个适用于设备故障预警模型时间段查找的方法 | |
CN1684043A (zh) | 计算机文件的实时监控系统和方法 | |
CN114328159A (zh) | 异常语句的确定方法、装置、设备及计算机可读存储介质 | |
CN105427890A (zh) | 一种记录存储系统重启次数的方法及装置 | |
CN117312174B (zh) | 一种程序错误路径检测方法、装置、设备及可读存储介质 | |
CN113297217B (zh) | 一种数据传输方法、装置及系统 | |
CN113064617B (zh) | 一种进行smbios信息更新的方法、系统及存储介质 | |
CN117667479A (zh) | 服务器故障的诊断方法、装置、存储介质和电子设备 | |
CN117971605A (zh) | 基于数据库异常的自动化日志信息收集方法及系统 | |
CN113190544A (zh) | 一种面向企业的mes数据抽取和清洗方法 | |
CN114253947A (zh) | 自动清理MySQL归档日志的方法、装置、设备及介质 |
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 |