发明名称 一种适用于电力系统的数据解列及恢复方法、装置
摘要 本发明公开了一种适用于电力系统的数据解列及恢复方法、装置,其中方法包括,在电力系统的平台层中设置第一数据库和数据恢复单元。其中第一数据库运行在内存中,由第二数据库中的电网模型以及静态参数在内存中的实时映像组成,用于向调度自动化系统提供电网模型以及静态参数的查询。数据恢复单元负责所有的与第二数据库相关的读写操作,在有数据写入时,按照时标特性将历史数据进行存储并在第二数据库正常时写入第二数据库。本发明实现了在第二数据库故障时,电力系统仍能进行电网模型以及静态参数的查询,以保证基本功能不受影响,并实现了在第二数据库恢复正常后,故障期间的历史数据能够恢复,保证了数据的连续性和完整性。
申请公布号 CN104346364A 申请公布日期 2015.02.11
申请号 CN201310325319.7 申请日期 2013.07.30
申请人 国家电网公司;江苏省电力公司苏州供电公司;江苏瑞中数据股份有限公司;江苏省电力公司 发明人 赵家庆;赵京虎;苏大威;张珂珩;李汇群;徐春雷;霍雪松;周宇植;杨洪;李春;吕洋;丁宏恩;钱科军;唐胜;李佩珏
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 苏州创元专利商标事务所有限公司 32103 代理人 李艳;孙仿卫
主权项 一种适用于电力系统的数据解列及恢复方法,其特征在于,所述方法包括:当数据库访问层接收到对电网模型和静态参数的读取请求时,调用第一数据库对应的接口TableOpen 和TableGet在第一数据库中进行查询,TableOpen的输入参数为const char* app_name和const int table_no;TableGet的输入参数为char*field_name,输出参数为char**field_buf_ptr和intbufsize;当数据库访问层接收到对历史数据的读取请求时,调用第二数据库对应的接口SelectSql通过数据恢复单元DB_SERVICE在第二数据库中进行查询,SelectSql的输入参数为constchar*sql_str,输出参数为TSelectResultStru_outout_select_result和SEQDBErrorStru_outout_db_error;其中,第一数据库和数据恢复单元DB_SERVICE设置在电力系统的平台层中,第一数据库以及第二数据库构成系统的整体数据库环境;第一数据库运行在内存中,由第二数据库中的电网模型以及静态参数在内存中的实时映像组成;第二数据库中存储有电网模型、静态参数和历史数据;访问第一数据库的接口和访问第二数据库的接口统一封装在数据库访问层中;数据恢复单元DB_SERVICE负责所有的与第二数据库相关的读写操作:当所述数据恢复单元DB_SERVICE接收到写入性质的请求时,调用db_commit服务进程的主线程将每次接收到的带有时标特性的历史数据逐一写到不同文件中 ,并将这些文件按照时间的顺序保存在硬盘文件系统中,形成一组文件序列,同时另外一个线程判断第二数据库的状态,若第二数据库正常则按照时间顺序读取所述文件序列,解析其内容后写入第二数据库,若第二数据库不正常,则进入循环等待状态;当数据恢复单元DB_SERVICE接收到第一数据库的同步请求时,调用同步程序DB_Modify_Server将第一数据库中的实时数据写入到第二数据库中作为历史数据存储,当当数据恢复单元DB_SERVICE接收到第二数据库的同步请求时,调用同步程序DB_Modify_Server读取第二数据库中的电网模型和静态参数来更新第一数据库;在数据恢复单元DB_SERVICE中,电网模型、静态参数以及历史数据的访问被封装为不同的服务。
地址 100031 北京市西城区西长安街86号