一种提高数据库归档效率的方法及装置与流程

文档序号:12470278阅读:326来源:国知局
一种提高数据库归档效率的方法及装置与流程
本发明属于数据管理
技术领域
,具体是涉及一种提高数据库归档效率的方法。
背景技术
:目前,风电行业数据采集与监视控制系统(SupervisoryControlAndDataAcquisition,以下简称SCADA)需要每日零时自动生成全场风机运行报表,这是运行工作的重要内容之一,其真实可靠性直接和经济效益挂钩,但若一套SCADA系统所监控的风机台数过多时,每日数据库需要归档的数据量会很大,可能会导致到设定自动生成报表时间未完成报表所必要数据的归档或所必要数据因数据库负荷过大而丢失,从而会导致生成的报表数据不准确或者不全面。技术实现要素:针对上述存在的技术问题,本申请一方面提出了一种提高数据库归档效率的方法,包括如下步骤:在预定时刻将所获取的风力发电机组历史文件拷贝到数据库;解析所述历史文件,将其按照预设的定义规则进行等级分类;将分类后的所述历史文件按照重要性等级由高到低的顺序依次进行归档。优选地,在将所述历史文件按照预设的定义规则进行等级分类前,对所述历史文件按照重要性对等级分类进行预先定义。优选地,在所述历史文件进行归档前对其进行优化处理。优选地,在所述历史文件归档过程中实时监测所述数据库的负荷率,若所述负荷率较高时则暂停归档,直到所述负荷率降低到一定阈值后再继续进行归档。优选地,在任一重要性等级的所述历史文件归档完成后,判断所述数据库的负荷率,若所述负荷率较高时则停止归档,等待负荷率降低到一定阈值后再开始归档下一重要性等级的所述历史文件,直至将所有等级的所述历史文件归档完成。优选地,所述数据库根据已经完成规档的历史文件自动生成风机运行日常报表。优选地,所述数据库根据实际归档的数据条数与预先获知的本次归档的数据总条数对比,来判断归档是否完成。本申请另一方面提出了一种提高数据库归档效率的装置,包括:存储单元,用于在预定时刻将所获取的风力发电机组历史文件拷贝到数据库;分类单元,用于解析所述历史文件,并将其按照预设的定义规则进行等级分类;归档单元,用于将分类后的所述历史文件按照重要性等级由高到低的顺序依次进行归档。优选地,还包括预定义单元,用于在将所述历史文件按照预设的定义规则进行等级分类前,对所述历史文件按照重要性对等级分类进行预先定义。优选地,所述装置还包括优化处理单元,用于将所述历史文件进行归档前对其进行优化处理。优选地,还包括负荷率监控单元,用于在所述历史文件归档过程中实时监测所述数据库的负荷率,若所述负荷率较高时则暂停归档,直到所述负荷率降低到一定阈值后再继续进行归档。优选地,所述装置还包括归档监控单元,用于根据实际归档的数据条数与预先获知的本次归档的数据总条数对比,来判断归档是否完成。优选地,所述装置还包括报表生成单元,用于根据已经完成归档的历史文件自动生成风机运行日常报表。本发明通过将需要归档的数据分成不同的重要性等级,优先归档等级最高的数据,当数据库负荷率降低后归档等级相对低的数据,依次类推,最后归档等级最低的数据,到设定自动生成报表时间可以及时完成报表所必要数据的归档,不仅能保证降低数据库归档数据的负荷,还能保证需要归档数据的完整性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明一个实施例的提高数据库归档效率方法的流程示意图;图2是本发明实施例的数据分类示意图;图3是本发明另一个实施例的提高数据库归档效率方法的流程示意图;图4是本发明再一个实施例的提高数据库归档效率的装置的结构框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1是本发明一个实施例的提高数据库归档效率的方法的流程示意图;如图1所示,该提高数据库归档效率的方法包括:S101在预定时刻将所获取的风力发电机组历史文件拷贝到数据库中;需要说明的是,风电行业SCADA系统会在设定的某个固定时间自动生成全场风机的运行报表,因此需要将所述系统所获取的风力发电机组历史文件及时准确地拷贝到用于这些数据存储、统计的数据库中;所述历史文件是指从上次归档后到本次归档前所获取的文件数据,所述数据库可以为本地数据库,也可为云数据库等能够完成存储、数据统计分析的在线数据库。S102解析所述历史文件,将其按照预设的定义规则进行等级分类;进一步地,如图2所示,在将所述历史文件按照预设的定义规则进行分类前,对所述历史文件按照重要性对等级分类进行预先定义;所述重要性可以根据对所述历史文件的具体应用目的进行确定;在本实施例中,所述历史文件的重要性可以是按照所述报表对其的需要程度来确定,比如,可以把每日报表所必要数据的重要性等级定义为等级一,即最高等级,把报表不必要但近期会需要的数据的重要性等级定义为等级二,把将来或者会能需要的数据的重要性等级定义为等级三;当所有所述历史文件拷贝完成后,按照预设标准解析文件即可获取内容解析所述历史文件,自动识别其重要性等级,并将其按照预先定义的重要性等级将所述历史文件进行分类;S103将分类后的所述历史文件按照重要性等级由高到低的顺序依次进行归档;具体地,先归档等级比较高的文件,比如重要性等级为等级一的文件,然后再归档下一个等级的历史文件,比如重要性等级为等级二的历史文件,以此类推,直至将所有所述历史文件归档完成。进一步地,所述数据库根据实际归档的数据条数与预先获知的本次归档的总数据条数对比,来判断归档是否完成。进一步地,在所述历史文件进行归档前,可以先对其进行优化处理;在本实施例的一些实施方式中,例如,可以将上一次归档的时刻与本次需要归档的时刻进行比较,来判断上一次归档时是否有丢失或遗漏的归档数据,并将这些丢失或遗漏的归档数据重新进行归档,以便在后续的统计分析中加以使用,使分析结果更为准确,其中后续的统计分析为包括上一次归档时刻在内的统计周报、月报、季报后者年报等;在本实施例的另一些实施方式中,例如,可以判断归档数据值是否为预设的归档数据类型,或者判断归档数据值是否超出该值的变量范围,比如是否为平均风速的数据,或平均风速的范围是否在预先定义的范围内,如果为否,则丢弃这些数据而不对其进行存档,以降低所述数据库的负荷率,提高处理速度。进一步地,在所述历史文件归档过程中实时监测所述数据库的负荷率,若所述负荷率较高时则暂停归档,直到所述负荷率降低到一定阈值后再继续进行归档。当所述数据库的归档负荷率较高时,可能会导致数据库的缓存区越来越大,最后可能出现数据库归档进程重启或者意外自动结束归档进程,造成数据的丢失,从而造成报表不准确,因此,实时监测所述数据库的负荷率非常重要;当监测到所述负荷率较高时,可以暂停归档,直至所述负荷率达到一定阈值时再继续归档。比如,当所有的CPU负荷率一直在90%-100%之间时,或,数据库归档进程的内存使用率超过一定的百分比时(根据实际内存大小而定),可以认为所述负荷率较高,可以暂停归档;而当其中一半CPU负荷率降低到50%或者以下时,或,数据库归档进程的内存使用率降低到一定的百分比时(根据实际内存大小而定),则表明可以继续归档数据。在一些实施例中,在任一重要性等级的所述历史文件归档完成后,也可判断所述数据库的负荷率,若所述负荷率较高时则停止归档,等待负荷率降低到一定阈值后,再开始归档下一重要性等级的所述历史文件,直至将所有重要性等级的历史文件归档完毕。进一步地,在所有所述历史文件归档完成后,系统将根据已经完成规档的历史文件自动生成日常报表和/或统计图形,用于发电企业统计风电场风机的运行情况及发电量。本申请实施例的提高数据库归档效率的方法,通过将需要归档的数据分成不同的重要性等级,优先归档等级最高的数据,依次类推,最后归档等级最低的数据,可以保证报表所需的数据能够及时完成归档;同时,在归档的过程中,通过实时监测数据库的负荷率,当负荷率较高时暂停归档,待负荷率降低到一定阈值时再继续进行归档,不仅能保证降低数据库归档数据的负荷,还能保证需要归档数据的完整性。图3是本申请另一个实施例的提高数据库归档效率的方法的流程示意图。如图3所示,该提高数据库归档效率的方法包括:S201对风力发电机组历史文件的重要性等级进行预先定义;具体地,如图2所示,在SCADA系统上,按照所述历史文件对生成每日报表的必要程度,将其重要性等级由高到低的定义并配置为等级一、等级二及等级三,例如,可以把每日报表所必要数据的重要性等级定义为等级一,即最高等级,把报表不必要但近期会需要的数据的重要性等级定义为等级二,把将来或者会能需要的数据的重要性等级定义为等级三,具体可以按照下表格式进行配置:重要性等级定义数据类型高等级一日发电量、平均风速、运行时间中等级二发电机转速、风向低等级三环境温度、加热器开关当然,还可根据具体应用需求定义出更多的重要性等级。S202在预定时刻将所获取的所述历史文件拷贝到数据库中;通常,业界将每日零时刻设置为自动生成全场风机运行报表的时间,本实施例对此并不进行限制;所述数据库可以为本地数据库,也可为云数据库等能够完成存储、数据统计分析的在线数据库,本实施例选择使用本地数据库。S203解析所述历史文件,将重要性等级最高的所述历史文件归档到所述数据库中;其中,重要性等级最高的所述历史文件在本实例中即定义为等级一的历史文件;S204判断所述重要性最高的文件是否归档完成,如果未完成,执行步骤S205;如果已完成,执行步骤S207在本实施例中,可以通过计算数据的条数来确定归档是否已经完成;具体的,系统每次归档时会告知数据库各类型文件所要归档的条数,数据库每归档完成一条数据时会返回一个结果,系统最终根据返回的结果与预先其知道的条数来判断。S205归档过程中实时监测所述数据库的负荷率,若所述负荷率较高时则暂停归档,等待数据库的负荷率降低到一定阈值后,再继续归档,直至重要性等级最高的数据归档完成;比如,当所有的CPU负荷率一直在90%-100%之间时,或,数据库归档进程的内存使用率超过一定的百分比时(根据实际内存大小而定),可以认为所述负荷率较高,可以暂停归档;而当其中一半CPU负荷率降低到50%或者以下时,或,数据库归档进程的内存使用率降低到一定的百分比时(根据实际内存大小而定),则表明可以继续归档数据。S206所述重要性等级最高的文件归档完成后判断所述数据库的负荷率,若所述负荷率较高时,则停止下一等级文件的归档,直到负荷率降低到一定阈值后再开始归档下一等级的文件;所述下一等级文件在本实施例中即指定义为等级二的历史文件;S207其他各等级文件的归档过程重复执行步骤S204-S206,直至将所有等级文件归档完成后,执行步骤S208;S208依据归档的所述历史文件自动生成报表;所述报表可以是每日报表,也可以是每月或每年的固定期限的报表;另外,生成报表的同时,还可以同时生成其他统计图形如,如风玫瑰图、温度变化趋势图等。图4是本发明再一个实施例的提高数据库归档效率的装置的结构框图;如图4所示,该提高数据库归档效率的装置包括:存储单元,用于在预定时刻将所获取的风力发电机组历史文件拷贝到数据库;分类单元,用于解析所述历史文件,并将其按照预设的定义规则进行等级分类;归档单元,用于将分类后的所述历史文件按照重要性等级由高到低的顺序依次进行归档。进一步地,所述装置还包括预定义单元,用于在将所述历史文件按照预设的定义规则进行等级分类前,对所述历史文件按照重要性对等级分类进行预先定义。进一步地,所述装置还包括优化处理单元,用于将所述历史文件进行归档前对其进行优化处理。进一步地,所述装置还包括负荷率监控单元,用于在所述历史文件归档过程中实时监测所述数据库的负荷率,若所述负荷率较高时则暂停归档,直到所述负荷率降低到一定阈值后再继续进行归档。进一步地,所述装置还包括归档监控单元,用于根据实际归档的数据条数与预先获知的本次归档的数据总条数对比,来判断归档是否完成。进一步地,所述装置还包括报表生成单元,用于根据已经完成归档的历史文件自动生成风机运行日常报表。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1