本发明属于变电站数据处理,具体涉及一种变电站历史数据存储方法及装置。
背景技术:
1、在变电站监控系统中,历史数据包括遥测、遥脉周期采样数据、遥信变位历史数据和系统告警数据,当系统出现故障后历史数据对故障分析和诊断起着重要作用。当历史存储服务出现异常或者存储历史数据的数据库的主节点和备份节点同时失效时,可能导致数据丢失。
技术实现思路
1、本发明的目的是提供一种变电站历史数据存储方法及装置,以解决现有技术中数据库主节点和备份节点同时失效可能导致数据丢失的技术问题。
2、为解决上述技术问题,本发明提供的一种历史数据存储方法的技术方案为:一种变电站历史数据存储方法,该方法包括:历史数据存储服务接收待存储数据并存储在数据库中,当历史数据存储服务存储数据失败时,将存储失败的待存储数据存入异常数据列表中,当异常数据列表中的数据量超过第一设定值时,将异常数据列表中的数据保存在数据文件中,所述数据文件存储在历史数据存储服务所在的服务器上。
3、上述技术方案的有益效果是:本发明的一种历史数据存储方法的技术方案属于改进型发明创造。当数据库服务出现异常时,存储服务保存数据会出现异常,此时本发明的历史数据存储服务将存储失败的待存储数据存入异常数据列表中,而且当异常数据列表中的数据量超过第一设定值时,将异常数据列表中的数据保存在数据文件中,历史数据存储服务可通过保存的数据文件保存存储失败的待存储数据。本发明解决了现有技术中数据库主节点和备份节点同时失效可能导致数据丢失的技术问题。
4、进一步地,所述历史数据存储服务通过数据库状态监测子线程监测数据库的连接状态,当数据库连接状态正常时,所述历史数据存储服务读取数据文件中的数据,并将数据文件中的数据存储在数据库中,然后将已读取完数据的数据文件删除。
5、进一步地,历史数据存储服务通过以下方式接收待存储数据并存储在数据库中:
6、接收待存储数据后,将待存储数据存入缓存列表中,通过缓存数据获取子线程获取缓存数据并进行存储。
7、进一步地,所述历史数据存储服务为主备部署,通过主备模块获取当前进程下历史数据存储服务的主备状态,若当前处于主状态的历史数据存储服务异常,则将处于主状态的历史数据存储服务变为备状态,处于备状态的历史数据存储服务变为主状态;
8、处于主状态的历史数据存储服务接收待存储数据并存储在数据库中,在将异常数据列表中的数据保存在数据文件中后,将数据文件同步到处于备状态的历史数据存储服务的服务器上。
9、进一步地,处于主状态的历史数据存储服务通过数据库状态监测子线程监测数据库的连接状态,当数据库连接状态正常时,处于主状态的历史数据存储服务读取数据文件中的数据,并将数据文件中的数据存储在数据库中,然后将已读取完数据的数据文件删除,同步删除处于备状态的历史数据存储服务所在服务器中对应的数据文件。
10、进一步地,所述数据库状态监测子线程包括周期定时任务或消息通知,所述历史数据存储服务通过周期定时任务或者消息通知方式判断数据库的连接状态。
11、进一步地,所述历史数据存储服务通过服务接口或者消息总线接收待存储数据。
12、进一步地,当异常数据列表中的数据量超过第一设定值时,还将异常数据列表中的数据清空。
13、进一步地,所述历史数据存储服务退出之前调用保存缓存数据函数将缓存列表中的数据保存在数据库中;调用保存异常数据函数将异常数据列表中的数据保存在数据文件中。
14、本发明还提供了一种变电站历史数据存储装置的技术方案:一种变电站历史数据存储装置,包括历史数据存储服务和数据库,所述历史数据存储服务为单机部署或主备部署,所述历史数据存储服务用于执行计算机程序指令以实现如上所述的变电站历史数据存储方法。
1.一种变电站历史数据存储方法,其特征在于,该方法包括:历史数据存储服务接收待存储数据并存储在数据库中,当历史数据存储服务存储数据失败时,将存储失败的待存储数据存入异常数据列表中,当异常数据列表中的数据量超过第一设定值时,将异常数据列表中的数据保存在数据文件中,所述数据文件存储在历史数据存储服务所在的服务器上。
2.根据权利要求1所述的变电站历史数据存储方法,其特征在于,所述历史数据存储服务通过数据库状态监测子线程监测数据库的连接状态,当数据库连接状态正常时,所述历史数据存储服务读取数据文件中的数据,并将数据文件中的数据存储在数据库中,然后将已读取完数据的数据文件删除。
3.根据权利要求1所述的变电站历史数据存储方法,其特征在于,历史数据存储服务通过以下方式接收待存储数据并存储在数据库中:
4.根据权利要求1所述的变电站历史数据存储方法,其特征在于,所述历史数据存储服务为主备部署,通过主备模块获取当前进程下历史数据存储服务的主备状态,若当前处于主状态的历史数据存储服务异常,则将处于主状态的历史数据存储服务变为备状态,处于备状态的历史数据存储服务变为主状态;
5.根据权利要求4所述的变电站历史数据存储方法,其特征在于,处于主状态的历史数据存储服务通过数据库状态监测子线程监测数据库的连接状态,当数据库连接状态正常时,处于主状态的历史数据存储服务读取数据文件中的数据,并将数据文件中的数据存储在数据库中,然后将已读取完数据的数据文件删除,同步删除处于备状态的历史数据存储服务所在服务器中对应的数据文件。
6.根据权利要求2或5所述的变电站历史数据存储方法,其特征在于,所述数据库状态监测子线程包括周期定时任务或消息通知,所述历史数据存储服务通过周期定时任务或者消息通知方式判断数据库的连接状态。
7.根据权利要求1~4任意一项所述的变电站历史数据存储方法,其特征在于,所述历史数据存储服务通过服务接口或者消息总线接收待存储数据。
8.根据权利要求3所述的变电站历史数据存储方法,其特征在于,当异常数据列表中的数据量超过第一设定值时,还将异常数据列表中的数据清空。
9.根据权利要求3所述的变电站历史数据存储方法,其特征在于,所述历史数据存储服务退出之前调用保存缓存数据函数将缓存列表中的数据保存在数据库中;调用保存异常数据函数将异常数据列表中的数据保存在数据文件中。
10.一种变电站历史数据存储装置,其特征在于,包括历史数据存储服务和数据库,所述历史数据存储服务为单机部署或主备部署,所述历史数据存储服务用于执行计算机程序指令以实现如权利要求1~9任意一项所述的变电站历史数据存储方法。
