CN107633056A - 用于用电信息采集终端的数据管理方法 - Google Patents
用于用电信息采集终端的数据管理方法 Download PDFInfo
- Publication number
- CN107633056A CN107633056A CN201710851589.XA CN201710851589A CN107633056A CN 107633056 A CN107633056 A CN 107633056A CN 201710851589 A CN201710851589 A CN 201710851589A CN 107633056 A CN107633056 A CN 107633056A
- Authority
- CN
- China
- Prior art keywords
- data
- identification
- set identification
- parameter
- specified
- 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.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于用电信息采集终端的数据管理方法,包括分析用电信息采集终端的所有数据,从而建立模板库;建立一组新的数据库,所述的数据库包括数据集合、数据结构和数据字段三部分;获取对于用电信息采集终端的数据进行操作的指令;对建立的数据库的相应数据进行操作,并对数据库的内容进行实时更新,从而完成数据的管理。本发明方法,降低了开发应用程序的难度,减少了不同进程对内存使用造成的浪费,提高了***运行效率,避免了产生死锁的问题,降低了后期维护费用,而且对设备内存占用较小,安全可靠,高效稳定。
Description
技术领域
本发明具体涉及一种用于用电信息采集终端的数据管理方法。
背景技术
随着国家经济技术的发展和人们生活水平的提高,电能已经成为了人们日常生产和生活中必不可少的二次能源,给人们的生产和生活带来了无尽的便利。
包括电能表,用电信息采集终端在内的众多设备,在工作中都会涉及到数据的存储、读写等管理操作,而且该类设备对于数据的可靠性、准确性等都有着非常严苛的要求。因此,一种高效、安全、可靠的数据管理方法对于该类设备而言,具有极其重要的意义。
目前,由于受运行环境及硬件资源的严格限制,用电信息采集终端在对数据进行管理时会遇到以下五个难题:
一是用电信息采集的业务比较复杂,需要设计多进程并发协同工作来处理各项不同的业务,同时相关的数据又要在不同进程之间处理和流转,因此使程序的设计变得更为复杂。
二是用电信息数据的种类较多,需根据不同类型分多个文件保存。而用电信息采集终端的内存又非常有限,如果不同的进程同时打开多个相同的文件将会对内存使用造成浪费。
三是不同的进程访问同一个文件需要有读写锁的保护,而用电信息采集终端的CPU性能又非常有限,复杂和无序的资源竞争容易带来***运行效率问题,且还容易产生死锁的问题。
四是用电信息采集终端一般都缺少方便的远程调试和分析手段,当在现场发现问题时,只能通过记录运行日志来进行事后分析,如果没有开启日志功能,就会错过分析问题的机会。
五是类似用电信息采集这样复杂的业务,采用传统的软件设计维护起来比较麻烦。当接口发生变动时,与之相关的程序及动态库都必须重新编译和升级,导致了维护费用的增加。
发明内容
本发明的目的在于提供一种能够降低开发应用程序的难度、对设备内存占用较小,而且安全可靠、高效稳定的用于用电信息采集终端的数据管理方法。
本发明提供的这种用于用电信息采集终端的数据管理方法,包括如下步骤:
S1.分析用电信息采集终端的所有数据,从而建立模板库;所述模板库包括与各类型用电信息采集终端的所有数据一一对应的所有模板;所述模板为集合标识、数据标识、参数标识、事件标识或字段标识对应在数据库中存储的数据格式及相应的默认值;
S2.建立一组新的数据库,所述的数据库包括数据集合、数据结构和数据字段三部分;其中数据集合表示数据库中的某个标识所对应的数据集合体,此标识称为集合标识;数据结构表示数据集合体下某个标识所对应的数据结构体,此标识包括实时数据标识、历史数据标识、参数标识或事件标识;数据字段表示数据结构体下某个标识所对应的不可再分割的最小存储单位,此标识称为字段标识;
S3.获取对于用电信息采集终端的数据进行操作的指令;
S4.根据步骤S3获取的指令类型并依据步骤S1建立的模块库,对步骤S2建立的数据库的相应数据进行操作,并对数据库的内容进行实时更新,从而完成数据的管理。
步骤S2所述的数据集合包括具有临时性且需要及时更新的实时数据,具有较低的读写频率且相对重要的配置参数,具有随机性且不需要修改的事件记录和具有持久性且需要定期更新的历史数据。
所述的实时数据存储在实时数据库中,历史数据存储在历史数据库中,事件记录存储在事件数据库中,配置参数存储在配置参数库,且所述的实时数据库、历史数据库和事件数据库的模板均存储在数据模板库中,配置参数库的模板存储在参数模板库中。
所述的数据模板库和参数模板库均存储于数据管理中心;所述数据管理中心是对外提供远程过程调用和统一数据管理接口的服务进程。
步骤S3所述的对数据进行操作的指令,包括读操作,写操作,删除操作,监听操作,备份操作和恢复操作。
步骤S4所述的对实时数据进行操作,具体为采用如下规则进行数据操作:
实时数据库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、实时数据标识和字段标识;
若写入不存在的实时数据标识或字段标识,则先查找数据模板库中是否存在对应模板:若存在则按格式保存,否则返回错误;
若要求写入某个数据时,调用SetData方法并指定位置:集合标识、实时数据标识、字段标识和写入的数据内容:若没有字段标识,则表示写到指定集合标识下的一个数据;若没有实时数据标识,则表示写到指定集合标识下的所有数据;若写入数据的长度超过数据格式指定的长度,则丢弃数据多出的高字节;若写入数据的长度小于数据格式指定的长度,则对高字节进行补零;
若要求读取不存在的实时数据标识或字段标识,则先查找数据模板库中是否存在对应模板:若存在则返回空数据,否则返回错误;
若要求读取某个数据时,调用GetData方法并指定位置:集合标识、实时数据标识和字段标识;若没有字段标识,则表示读取指定集合标识下的一个数据;若没有实时数据标识,则表示读取指定集合标识下的所有数据;
若要求清空某个数据时,调用ClearData方法并指定位置:集合标识、实时数据标识和字段标识;若没有字段标识,则表示清空指定集合标识下的一个数据;若没有实时数据标识,则表示清空指定集合标识下的所有数据。
步骤S4所述的对配置参数进行操作,具体为采用如下规则进行数据操作:
配置参数库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、参数标识和字段标识;
***启动时先检查当前配置参数库的完整性:若发现有损坏或不存在,则从备份分区恢复;若无备份,则创建空数据库作为当前配置参数库;
若要求写入不存在的集合标识、参数标识或字段标识,则先查找参数模板库中是否存在对应模板:若存在则按格式保存,不存在则返回错误;
若要求写入某个参数时,调用SetParam方法并指定位置:集合标识、参数标识、字段标识和写入的参数内容;若无字段标识,则表示写到指定集合标识下的参数中;若无参数标识,则表示写到指定集合标识下的所有参数;若写入参数的长度超过参数格式指定的长度,则丢弃参数多出的高字节;若反之写入参数的长度小于参数格式指定的长度,则对高字节进行补零;
若要求读取不存在的集合标识、参数标识或字段标识,则先查找参数模板库中是否存在对应模板:若存在则返回默认值,不存在则返回错误;
若要求读取某个参数时,调用GetParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示读取指定集合标识下的参数;若无参数标识,则表示读取指定集合标识下所有参数;
若要求清空某个参数时,调用ClearParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示清空指定集合标识下的参数;若无参数标识,则表示清空指定集合标识下的所有参数;
若要求监听某个参数变更时,调用ChangeParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示监听指定集合标识下的参数;若无参数标识,则表示监听指定集合标识下的所有参数。
若要求备份某个参数时,调用BackupParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示备份指定集合标识下的参数;若无参数标识,则表示备份指定集合标识下的所有参数。
若要求恢复某个参数时,调用RestoreParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示恢复指定集合标识下的参数;若无参数标识,则表示恢复指定集合标识下所有参数。
步骤S4所述的对事件记录进行操作,具体为采用如下规则进行操作:
事件数据库为采用队列结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、事件标识和记录编号;
若要求写入某个事件时,调用SendEvent方法并指定位置:集合标识、事件标识和附加的数据;若某个事件的队列没写满,则将最新的事件记录***到队列尾部;若队列均已写满,则先从队列头部删除最老的事件记录并***最新的事件记录;
若要求***某个事件记录时,先查找数据模板库是否存在对应模板:若存在则按格式保存,不存在则返回错误;
若要求读取某个事件记录时,调用RecvEvent方法并指定位置:集合标识、事件标识和记录编号;若无记录编号,则表示读取指定集合标识下的一类事件;若无事件标识,则表示读取指定集合标识下的所有事件;若要求读取不存在的集合标识、事件标识或记录编号,则直接返回记录为空;
若要求清空某个事件时,则调用ClearEvent方法并指定位置:集合标识和事件标识;若无事件标识,则表示清空指定集合标识下的所有事件,否则表示清空指定集合标识下的一类事件;
若要求监听某个事件变更时,调用ChangeEvent方法并指定位置:集合标识和事件标识;若事件标识,则表示监听指定集合标识下的所有事件,否则表示监听指定集合标识下的一类事件。
步骤S4所述的对历史数据进行操作,具体为采用如下规则进行操作:
历史数据库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括任务标识、集合标识和时间标签;
每个任务标识对应一个采集或冻结任务,且按照数据模板库中的格式要求保存数据并且每个任务对应一个数据库文件;
若要求写入不存在的任务标识,则先查数据模板库中是否存在此任务模板:存在则按格式保存,否则返回错误;
若要求写入某个数据时,调用SetData方法并指定位置:任务标识、集合标识、时间标签和写入的数据;若无时间标签,则用当前时间作为时间标签,将此表的数据写到指定任务标识下;若写入数据的长度超过数据格式指定的长度,则丢弃数据多出的高字节;若写入数据的长度小于数据格式指定的长度,则对高字节进行补零;
如要求读取不存在的任务标识、集合标识或时间标签,则直接返回数据为空;
若要求读取某个数据时,调用GetData方法并指定位置:任务标识、集合标识和时间区间;若无时间区间,则表示读取此表的所有数据;若无集合标识,则表示读取指定时间区间所有表的数据;所述的时间区间表达方式为:开始时间+结束时间+间隔时间,例如间隔时间可以表示为:15分钟、1小时、1天等等;
若要求清空某个数据时,则调用ClearData方法并指定位置:任务标识、集合标识和时间区间;若无时间区间,则表示清空此集合标识的所有数据;若无集合标识,则表示指定时间区间所有表的数据。
本发明提供的这种用于用电信息采集终端的数据管理方法,为各类应用进程提供了统一的数据管理接口,因此降低了开发应用程序的难度;当不同应用进程需要同时打开多个相同文件时,由于应用进程并不直接打开文件,而是通过数据管理中心间接打开,对应用进程而言也没有文件的概念,只有集合标识、数据标识和字段标识等,并通过这些标识访问所需的数据,因此只需要通过数据管理中心打开每个文件一次并且同一个文件不会有重复的缓冲区,因而减少了不同进程对内存使用造成的浪费;所有的应用进程均只能通过远程过程调用向数据管理中心来请求所需数据操作,因此可以实现顺序处理各项请求及监控数据变更,因而提高了***运行效率,避免了产生死锁的问题;数据管理中心提供的远程过程调用还可以作为远程调试和分析问题的手段,即使没有开启日志功能,通过请求数据的操作也能够获取相关的信息;最后,数据管理中心可实现独立编译、独立部署和独立运行,即使接口发生变动,与之相关的程序和动态库都不需要重新编译和升级,因而降低了后期维护费用。
附图说明
图1为本发明方法的方法流程图。
具体实施方式
如图1所示为本发明方法的方法流程图:本发明提供的这种用于用电信息采集终端的数据管理方法,包括如下步骤:
本发明提供的这种用于用电信息采集终端的数据管理方法,包括如下步骤:
S1.分析用电信息采集终端的所有数据,从而建立模板库;所述模板库包括与各类型用电信息采集终端的所有数据一一对应的所有模板;所述模板为集合标识、数据标识、参数标识、事件标识或字段标识对应在数据库中存储的数据格式及相应的默认值;
S2.建立一组新的数据库,所述的数据库包括数据集合、数据结构和数据字段三部分;其中数据集合表示数据库中的某个标识所对应的数据集合体,此标识称为集合标识;数据结构表示数据集合体下某个标识所对应的数据结构体,此标识包括实时数据标识、历史数据标识、参数标识或事件标识;数据字段表示数据结构体下某个标识所对应的不可再分割的最小存储单位,此标识称为字段标识;
数据集合包括具有临时性且需要及时更新的实时数据,具有较低的读写频率且相对重要的配置参数,具有随机性且不需要修改的事件记录和具有持久性且需要定期更新的历史数据;实时数据存储在实时数据库中,历史数据存储在历史数据库中,事件记录存储在事件数据库中,配置参数存储在配置参数库,且所述的实时数据库、历史数据库和事件数据库的模板均存储在数据模板库中,配置参数库的模板存储在参数模板库中;数据模板库和参数模板库均存储于数据管理中心;所述数据管理中心是对外提供远程过程调用和统一数据管理接口的服务进程;
S3.获取对于用电信息采集终端的数据进行操作的指令;对数据进行操作的指令,包括读操作,写操作,删除操作,监听操作,备份操作和恢复操作;
S4.根据步骤S3获取的指令类型并依据步骤S1建立的模块库,对步骤S2建立的数据库的相应数据进行操作,并对数据库的内容进行实时更新,从而完成数据的管理;
所述的对实时数据进行操作,具体为采用如下规则进行数据操作:
实时数据库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、实时数据标识和字段标识;
若写入不存在的实时数据标识或字段标识,则先查找数据模板库中是否存在对应模板:若存在则按格式保存,否则返回错误;
若要求写入某个数据时,调用SetData方法并指定位置:集合标识、实时数据标识、字段标识和写入的数据内容:若没有字段标识,则表示写到指定集合标识下的一个数据;若没有实时数据标识,则表示写到指定集合标识下的所有数据;若写入数据的长度超过数据格式指定的长度,则丢弃数据多出的高字节;若写入数据的长度小于数据格式指定的长度,则对高字节进行补零;
若要求读取不存在的实时数据标识或字段标识,则先查找数据模板库中是否存在对应模板:若存在则返回空数据,否则返回错误;
若要求读取某个数据时,调用GetData方法并指定位置:集合标识、实时数据标识和字段标识;若没有字段标识,则表示读取指定集合标识下的一个数据;若没有实时数据标识,则表示读取指定集合标识下的所有数据;
若要求清空某个数据时,调用ClearData方法并指定位置:集合标识、实时数据标识和字段标识;若没有字段标识,则表示清空指定集合标识下的一个数据;若没有实时数据标识,则表示清空指定集合标识下的所有数据。
所述的对配置参数进行操作,具体为采用如下规则进行数据操作:
配置参数库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、参数标识和字段标识;
***启动时先检查当前配置参数库的完整性:若发现有损坏或不存在,则从备份分区恢复;若无备份,则创建空数据库作为当前配置参数库;
若要求写入不存在的集合标识、参数标识或字段标识,则先查找参数模板库中是否存在对应模板:若存在则按格式保存,不存在则返回错误;
若要求写入某个参数时,调用SetParam方法并指定位置:集合标识、参数标识、字段标识和写入的参数内容;若无字段标识,则表示写到指定集合标识下的参数中;若无参数标识,则表示写到指定集合标识下的所有参数;若写入参数的长度超过参数格式指定的长度,则丢弃参数多出的高字节;若反之写入参数的长度小于参数格式指定的长度,则对高字节进行补零;
若要求读取不存在的集合标识、参数标识或字段标识,则先查找参数模板库中是否存在对应模板:若存在则返回默认值,不存在则返回错误;
若要求读取某个参数时,调用GetParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示读取指定集合标识下的参数;若无参数标识,则表示读取指定集合标识下所有参数;
若要求清空某个参数时,调用ClearParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示清空指定集合标识下的参数;若无参数标识,则表示清空指定集合标识下的所有参数;
若要求监听某个参数变更时,调用ChangeParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示监听指定集合标识下的参数;若无参数标识,则表示监听指定集合标识下的所有参数。
若要求备份某个参数时,调用BackupParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示备份指定集合标识下的参数;若无参数标识,则表示备份指定集合标识下的所有参数。
若要求恢复某个参数时,调用RestoreParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示恢复指定集合标识下的参数;若无参数标识,则表示恢复指定集合标识下所有参数。
所述的对事件记录进行操作,具体为采用如下规则进行操作:
事件数据库为采用队列结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、事件标识和记录编号;
若要求写入某个事件时,调用SendEvent方法并指定位置:集合标识、事件标识和附加的数据;若某个事件的队列没写满,则将最新的事件记录***到队列尾部;若队列均已写满,则先从队列头部删除最老的事件记录并***最新的事件记录;
若要求***某个事件记录时,先查找数据模板库是否存在对应模板:若存在则按格式保存,不存在则返回错误;
若要求读取某个事件记录时,调用RecvEvent方法并指定位置:集合标识、事件标识和记录编号;若无记录编号,则表示读取指定集合标识下的一类事件;若无事件标识,则表示读取指定集合标识下的所有事件;若要求读取不存在的集合标识、事件标识或记录编号,则直接返回记录为空;
若要求清空某个事件时,则调用ClearEvent方法并指定位置:集合标识和事件标识;若无事件标识,则表示清空指定集合标识下的所有事件,否则表示清空指定集合标识下的一类事件;
若要求监听某个事件变更时,调用ChangeEvent方法并指定位置:集合标识和事件标识;若事件标识,则表示监听指定集合标识下的所有事件,否则表示监听指定集合标识下的一类事件。
所述的对历史数据进行操作,具体为采用如下规则进行操作:
历史数据库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括任务标识、集合标识和时间标签;
每个任务标识对应一个采集或冻结任务,且按照数据模板库中的格式要求保存数据并且每个任务对应一个数据库文件;
若要求写入不存在的任务标识,则先查数据模板库中是否存在此任务模板:存在则按格式保存,否则返回错误;
若要求写入某个数据时,调用SetData方法并指定位置:任务标识、集合标识、时间标签和写入的数据;若无时间标签,则用当前时间作为时间标签,将此表的数据写到指定任务标识下;若写入数据的长度超过数据格式指定的长度,则丢弃数据多出的高字节;若写入数据的长度小于数据格式指定的长度,则对高字节进行补零;
如要求读取不存在的任务标识、集合标识或时间标签,则直接返回数据为空;
若要求读取某个数据时,调用GetData方法并指定位置:任务标识、集合标识和时间区间;若无时间区间,则表示读取此表的所有数据;若无集合标识,则表示读取指定时间区间所有表的数据;所述的时间区间表达方式为:开始时间+结束时间+间隔时间,例如间隔时间可以表示为:15分钟、1小时、1天等等;
若要求清空某个数据时,则调用ClearData方法并指定位置:任务标识、集合标识和时间区间;若无时间区间,则表示清空此集合标识的所有数据;若无集合标识,则表示指定时间区间所有表的数据。
本发明提供的这种数据管理方法,其首先根据各个类型的用电信息采集终端所可能涉及到的数据的类型、结构等信息,建立相应的模块库,然后在用电信息采集终端运行时,首先建立一个空的数据库,然后不断的通过对数据库中数据的读写(如果没有相应的数据或模板等,则需要在模板库中依据相应的规则获取相应的模板并在数据库中建立相应的数据格式),来使得原本空的数据库能够快速形成,从而得到一个针对具体应用时的“完美”的数据库,即该数据库中的数据及其格式等,都是具有针对性的,且每个用电信息采集终端面对的数据不一样,其最终建立的数据库也不一样,从而使得用电信息采集终端的数据库在形成时得到了类似于“定制化”的效果,从而提高了用电信息采集终端的数据库的实用性和可靠性。
对于可靠性而言,现有技术的设计,每个程序都有自己的数据管理方法,不仅接口不统一,而且功能和性能也不一样。而本发明方法,把这数据管理部分功能独立出来后,不仅解决了上述问题,同时在可靠性等方面一致性也更好了,不会因为个别程序的缺陷或错误,导致数据丢失或数据库文件损坏。因此,从这方面讲,本发明方法使得整个***的可靠性得到了有效的提高。
本发明提供的这种数据管理方法,不仅适用于用电信息采集终端,也适用于其他需要进行类似的数据管理的设备,包括各类型的计量仪表(比如电能表、水表、燃气表、热量表等)、电能管理终端、配电终端、电能质量监控设备、电网自动化终端、采集终端、集中器、数据采集器、计量仪表、手抄器、故障指示器等。
Claims (9)
1.一种用于用电信息采集终端的数据管理方法,包括如下步骤:
S1.分析用电信息采集终端的所有数据,从而建立模板库;所述模板库包括与各类型用电信息采集终端的所有数据一一对应的所有模板;所述模板为集合标识、数据标识、参数标识、事件标识或字段标识对应在数据库中存储的数据格式及相应的默认值;
S2.建立一组新的数据库,所述的数据库包括数据集合、数据结构和数据字段三部分;其中数据集合表示数据库中的某个标识所对应的数据集合体,此标识称为集合标识;数据结构表示数据集合体下某个标识所对应的数据结构体,此标识包括实时数据标识、历史数据标识、参数标识或事件标识;数据字段表示数据结构体下某个标识所对应的不可再分割的最小存储单位,此标识称为字段标识;
S3.获取对于用电信息采集终端的数据进行操作的指令;
S4.根据步骤S3获取的指令类型并依据步骤S1建立的模块库,对步骤S2建立的数据库的相应数据进行操作,并对数据库的内容进行实时更新,从而完成数据的管理。
2.根据权利要求1所述的用于用电信息采集终端的数据管理方法,其特征在于步骤S2所述的数据集合包括具有临时性且需要及时更新的实时数据,具有较低的读写频率且相对重要的配置参数,具有随机性且不需要修改的事件记录和具有持久性且需要定期更新的历史数据。
3.根据权利要求2所述的用于用电信息采集终端的数据管理方法,其特征在于所述的实时数据存储在实时数据库中,历史数据存储在历史数据库中,事件记录存储在事件数据库中,配置参数存储在配置参数库,且所述的实时数据库、历史数据库和事件数据库的模板均存储在数据模板库中,配置参数库的模板存储在参数模板库中。
4.根据权利要求3所述的用于用电信息采集终端的数据管理方法,其特征在于所述的数据模板库和参数模板库均存储于数据管理中心;所述数据管理中心是对外提供远程过程调用和统一数据管理接口的服务进程。
5.根据权利要求4所述的用于用电信息采集终端的数据管理方法,其特征在于步骤S3所述的对数据进行操作的指令,包括读操作,写操作,删除操作,监听操作,备份操作和恢复操作。
6.根据权利要求5所述的用于用电信息采集终端的数据管理方法,其特征在于步骤S4所述的对实时数据进行操作,具体为采用如下规则进行数据操作:
实时数据库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、实时数据标识和字段标识;
若写入不存在的实时数据标识或字段标识,则先查找数据模板库中是否存在对应模板:若存在则按格式保存,否则返回错误;
若要求写入某个数据时,调用SetData方法并指定位置:集合标识、实时数据标识、字段标识和写入的数据内容:若没有字段标识,则表示写到指定集合标识下的一个数据;若没有实时数据标识,则表示写到指定集合标识下的所有数据;若写入数据的长度超过数据格式指定的长度,则丢弃数据多出的高字节;若写入数据的长度小于数据格式指定的长度,则对高字节进行补零;
若要求读取不存在的实时数据标识或字段标识,则先查找数据模板库中是否存在对应模板:若存在则返回空数据,否则返回错误;
若要求读取某个数据时,调用GetData方法并指定位置:集合标识、实时数据标识和字段标识;若没有字段标识,则表示读取指定集合标识下的一个数据;若没有实时数据标识,则表示读取指定集合标识下的所有数据;
若要求清空某个数据时,调用ClearData方法并指定位置:集合标识、实时数据标识和字段标识;若没有字段标识,则表示清空指定集合标识下的一个数据;若没有实时数据标识,则表示清空指定集合标识下的所有数据。
7.根据权利要求6所述的用于用电信息采集终端的数据管理方法,其特征在于步骤S4所述的对配置参数进行操作,具体为采用如下规则进行数据操作:
配置参数库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、参数标识和字段标识;
***启动时先检查当前配置参数库的完整性:若发现有损坏或不存在,则从备份分区恢复;若无备份,则创建空数据库作为当前配置参数库;
若要求写入不存在的集合标识、参数标识或字段标识,则先查找参数模板库中是否存在对应模板:若存在则按格式保存,不存在则返回错误;
若要求写入某个参数时,调用SetParam方法并指定位置:集合标识、参数标识、字段标识和写入的参数内容;若无字段标识,则表示写到指定集合标识下的参数中;若无参数标识,则表示写到指定集合标识下的所有参数;若写入参数的长度超过参数格式指定的长度,则丢弃参数多出的高字节;若反之写入参数的长度小于参数格式指定的长度,则对高字节进行补零;
若要求读取不存在的集合标识、参数标识或字段标识,则先查找参数模板库中是否存在对应模板:若存在则返回默认值,不存在则返回错误;
若要求读取某个参数时,调用GetParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示读取指定集合标识下的参数;若无参数标识,则表示读取指定集合标识下所有参数;
若要求清空某个参数时,调用ClearParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示清空指定集合标识下的参数;若无参数标识,则表示清空指定集合标识下的所有参数;
若要求监听某个参数变更时,调用ChangeParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示监听指定集合标识下的参数;若无参数标识,则表示监听指定集合标识下的所有参数。
若要求备份某个参数时,调用BackupParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示备份指定集合标识下的参数;若无参数标识,则表示备份指定集合标识下的所有参数。
若要求恢复某个参数时,调用RestoreParam方法并指定位置:集合标识、参数标识和字段标识;若无字段标识,则表示恢复指定集合标识下的参数;若无参数标识,则表示恢复指定集合标识下所有参数。
8.根据权利要求7所述的用于用电信息采集终端的数据管理方法,其特征在于步骤S4所述的对事件记录进行操作,具体为采用如下规则进行操作:
事件数据库为采用队列结构的键值数据库,且通过主键进行数据索引;所述的主键包括集合标识、事件标识和记录编号;
若要求写入某个事件时,调用SendEvent方法并指定位置:集合标识、事件标识和附加的数据;若某个事件的队列没写满,则将最新的事件记录***到队列尾部;若队列均已写满,则先从队列头部删除最老的事件记录并***最新的事件记录;
若要求***某个事件记录时,先查找数据模板库是否存在对应模板:若存在则按格式保存,不存在则返回错误;
若要求读取某个事件记录时,调用RecvEvent方法并指定位置:集合标识、事件标识和记录编号;若无记录编号,则表示读取指定集合标识下的一类事件;若无事件标识,则表示读取指定集合标识下的所有事件;若要求读取不存在的集合标识、事件标识或记录编号,则直接返回记录为空;
若要求清空某个事件时,则调用ClearEvent方法并指定位置:集合标识和事件标识;若无事件标识,则表示清空指定集合标识下的所有事件,否则表示清空指定集合标识下的一类事件;
若要求监听某个事件变更时,调用ChangeEvent方法并指定位置:集合标识和事件标识;若事件标识,则表示监听指定集合标识下的所有事件,否则表示监听指定集合标识下的一类事件。
9.根据权利要求8所述的用于用电信息采集终端的数据管理方法,其特征在于步骤S4所述的对历史数据进行操作,具体为采用如下规则进行操作:
历史数据库为采用B+树结构的键值数据库,且通过主键进行数据索引;所述的主键包括任务标识、集合标识和时间标签;
每个任务标识对应一个采集或冻结任务,且按照数据模板库中的格式要求保存数据并且每个任务对应一个数据库文件;
若要求写入不存在的任务标识,则先查数据模板库中是否存在此任务模板:存在则按格式保存,否则返回错误;
若要求写入某个数据时,调用SetData方法并指定位置:任务标识、集合标识、时间标签和写入的数据;若无时间标签,则用当前时间作为时间标签,将此表的数据写到指定任务标识下;若写入数据的长度超过数据格式指定的长度,则丢弃数据多出的高字节;若写入数据的长度小于数据格式指定的长度,则对高字节进行补零;
如要求读取不存在的任务标识、集合标识或时间标签,则直接返回数据为空;
若要求读取某个数据时,调用GetData方法并指定位置:任务标识、集合标识和时间区间;若无时间区间,则表示读取此表的所有数据;若无集合标识,则表示读取指定时间区间所有表的数据;所述的时间区间表达方式为:开始时间+结束时间+间隔时间,例如间隔时间可以表示为:15分钟、1小时、1天等等;
若要求清空某个数据时,则调用ClearData方法并指定位置:任务标识、集合标识和时间区间;若无时间区间,则表示清空此集合标识的所有数据;若无集合标识,则表示指定时间区间所有表的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710851589.XA CN107633056B (zh) | 2017-09-19 | 2017-09-19 | 用于用电信息采集终端的数据管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710851589.XA CN107633056B (zh) | 2017-09-19 | 2017-09-19 | 用于用电信息采集终端的数据管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107633056A true CN107633056A (zh) | 2018-01-26 |
CN107633056B CN107633056B (zh) | 2020-12-22 |
Family
ID=61103069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710851589.XA Active CN107633056B (zh) | 2017-09-19 | 2017-09-19 | 用于用电信息采集终端的数据管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107633056B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147379A (zh) * | 2019-04-02 | 2019-08-20 | 平安科技(深圳)有限公司 | 基于数据锁的信息采集方法、装置、计算机设备 |
CN112025704A (zh) * | 2020-08-25 | 2020-12-04 | 杭州湖西云百生科技有限公司 | 基于内存型数据库的实时分布式机器人控制方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976251A (zh) * | 2010-10-26 | 2011-02-16 | 国电南瑞科技股份有限公司 | 用电信息采集终端嵌入式数据库管理模型的实现方法 |
US20140156603A1 (en) * | 2012-12-03 | 2014-06-05 | State Grid Corporation Of China | Method and an apparatus for splitting and recovering data in a power system |
CN105404634A (zh) * | 2014-09-15 | 2016-03-16 | 南京理工大学 | 基于Key-Value数据块的数据管理方法及*** |
-
2017
- 2017-09-19 CN CN201710851589.XA patent/CN107633056B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976251A (zh) * | 2010-10-26 | 2011-02-16 | 国电南瑞科技股份有限公司 | 用电信息采集终端嵌入式数据库管理模型的实现方法 |
US20140156603A1 (en) * | 2012-12-03 | 2014-06-05 | State Grid Corporation Of China | Method and an apparatus for splitting and recovering data in a power system |
CN105404634A (zh) * | 2014-09-15 | 2016-03-16 | 南京理工大学 | 基于Key-Value数据块的数据管理方法及*** |
Non-Patent Citations (2)
Title |
---|
樊重俊等: "《数据库基础及应用》", 31 January 2015 * |
邱红锴: ""用电及能效信息采集***嵌入式实时数据库关键技术研究"", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147379A (zh) * | 2019-04-02 | 2019-08-20 | 平安科技(深圳)有限公司 | 基于数据锁的信息采集方法、装置、计算机设备 |
CN110147379B (zh) * | 2019-04-02 | 2023-06-30 | 平安科技(深圳)有限公司 | 基于数据锁的信息采集方法、装置、计算机设备 |
CN112025704A (zh) * | 2020-08-25 | 2020-12-04 | 杭州湖西云百生科技有限公司 | 基于内存型数据库的实时分布式机器人控制方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN107633056B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241175A (zh) | 数据同步方法、装置、存储介质及电子设备 | |
US7904488B2 (en) | Time stamp methods for unified plant model | |
CN103617176B (zh) | 一种实现多源异构数据资源自动同步的方法 | |
CN110647579A (zh) | 数据同步方法及装置、计算机设备与可读介质 | |
CN110300963A (zh) | 大规模数据储存库中的数据管理*** | |
CN105354036B (zh) | 数据库操作代码生成方法及装置 | |
CN105488187A (zh) | 多源异构数据增量抽取的方法及装置 | |
CN104318481A (zh) | 一种面向电网运行的全息时标量测数据萃取转换方法 | |
CN107943831B (zh) | 一种基于HBase的电网历史数据集中存储方法 | |
CN106503158A (zh) | 数据同步方法及装置 | |
CN110019469A (zh) | 分布式数据库数据处理方法、装置、存储介质及电子装置 | |
CN103389925B (zh) | 一种基于进程名识别的实时备份方法 | |
CN111913933B (zh) | 基于统一支撑平台的电网历史数据管理方法及*** | |
CN110175206A (zh) | 用于多数据库分离的智能分析业务方法、***及介质 | |
CN114218218A (zh) | 基于数据仓库的数据处理方法、装置、设备及存储介质 | |
CN111061802B (zh) | 一种电力数据管理处理方法、装置及存储介质 | |
CN107633056A (zh) | 用于用电信息采集终端的数据管理方法 | |
CN106802928B (zh) | 电网历史数据管理方法及其*** | |
CN106780157B (zh) | 基于Ceph的电网多时态模型存储与管理***及方法 | |
CN103488564A (zh) | 一种分布式实时测试***多路测试数据压缩与归并方法 | |
CN104516953B (zh) | 一种用于电力调度自动化海量报文的黑匣子*** | |
CN114528270A (zh) | 云环境下实时流数据与业务维度信息自动关联***及方法 | |
CN110515803A (zh) | 针对日志消息的处理方法、装置以及电子设备 | |
CN108804606A (zh) | 一种电力量测类数据迁移到HBase的方法及*** | |
CN106843825A (zh) | 一种基于时态模型的软件配置管理方法 |
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 |