一种用电能效数据的储存访问系统及方法
技术领域
本发明属于电力数据采集存储领域,具体涉及一种用电能效数据的储存访问系统及方法。
背景技术
用电能效管理系统是以用电信息采集数据为基础,实现对辖区范围内用能数据的监控、管理、分析以及信息发布,为用户提供用能策略、用能辅助决策等多样化服务,实现节能技术在终端用户中推广和应用的分布式数据库应用系统。
在这样的大型数据库应用系统中,采集的实时数据类型种类繁多,数据总量庞大,涉及智能电表采集、智能家居用电情况采集、分布式电源数据采集、充电桩充电数据采集等。一般系统采用无序的数据存储方式,由于数据量庞大,数据库长时间高负荷运行,导致了实时性功能反应缓慢,用户使用体验不佳的问题。
另一方面,由于系统的采集服务器、应用服务器和数据库服务器往往部署在不同的地方,相互之间的网络拓扑比较复杂,如果按照一般的流程将采集数据存储到数据库中,一旦网络出现异常或者应用模块之间出现问题而导致数据不能正常存储在数据库中,就会造成数据的缺失,影响系统的数据访问效率,甚至影响整个系统的运行效果。而系统在网络异常或者软件异常恢复以后对缺失数据进行的补偿性采集和存储降低了系统的运行效率。
因此,如何在保证数据信息存储效率的同时,满足用户频繁使用和其他实时性功能的数据访问需求,提高数据访问效率,使用户获得最佳的使用体验,成为了亟待解决的一个问题。
发明内容
为了克服上述现有技术的不足,本发明提供一种用电能效数据的储存访问系统及方法,通过对封装数据进行优先等级分配,优化数据存储策略,提高了用电能效数据的存储效率;同步存储提高了用电能效数据存储质量,也使取出用电能效数据的效率大幅增加,保证了用电能效数据的完整性,同时保证了系统的流畅运行。
为了实现上述发明目的,本发明采取如下技术方案:
一种用电能效数据的储存访问系统,所述系统包括前置采集服务器、接口服务器、分布式缓存服务器和数据库服务器;所述前置采集服务器将采集数据在采集子系统中进行封装,并调用接口服务器将封装数据输入控制调度服务器,所述控制调度服务器接收并解析系统事件信息后,分配所述封装数据的优先等级,将按照优先等级分配的封装数据同时存储到分布式缓存服务器和数据库服务器中。
所述采集子系统通过电力光纤网将采集数据上传到所述前置采集服务器,所述前置采集服务器包括数据采集前置服务器、对时前置服务器和控制前置服务器,所述数据采集前置服务器接收所述采集数据,所述对时前置服务器与所述采集子系统进行网络对时,所述控制前置服务器控制所述数据采集前置服务器和对时前置服务器。
所述前置采集服务器和控制调度服务器通过所述接口服务器进行封装数据交换。
所述系统事件信息包括存取数据的类型/频度/大小、系统的整体运行状况和数据库的负载情况。
所述采集子系统包括智能楼宇能效管理子系统、智能小区管理子系统和大用户用电信息采集子系统。
所述采集数据包括智能楼宇能效数据、智能小区能效数据和大用户用电信息。
所述智能楼宇能效数据包括测量表计信息、电量信息、需量信息、事件记录和能效管理测评信息。
所述智能小区能效数据包括家用电器用电量信息、家用电器运行状态信息、智能家电电能质量信息和小区充电桩充电信息。
所述大用户用电信息包括大用户内部配电信息、电能质量信息、用电量信息和用电设备运行状态信息。
所述控制调度服务器包括交互模块、处理模块、存储执行模块和缓存执行模块,所述交互模块读取保存在本地磁盘文件中的系统事件信息或者接收来自用户输入的控制命令,获取系统事件信息和控制信息,并将所述系统事件信息和控制信息发送给处理模块;同时所述交互模块接收并解析所述封装数据或来自客户端的数据请求,并将解析数据输入所述处理模块;所述处理模块接收所述系统事件信息和控制信息,将其和解析数据组成对应关系信息,并所述对应关系信息保存到存储执行模块或缓存执行模块;所述数据库执行模块接收对应关系信息,并将封装数据存储到数据库服务器,或者根据数据请求从数据库服务器中获取封装数据;所述缓存执行模块接收对应关系信息,并对分布式缓存进行存储和访问。
一种用电能效数据的储存访问方法,所述方法包括以下步骤:
步骤1:将采集数据在采集子系统中进行封装;
步骤2:所述前置采集服务器调用接口服务器将封装数据输入控制调度服务器;
步骤3:所述控制调度服务器分配所述封装数据的优先等级;
步骤4:控制调度服务器将封装数据按照优先等级同时存储到分布式缓存服务器和数据库服务器中;
步骤5:所述前置采集服务器调用所述接口服务器向控制调度服务器发送调用命令,控制调度服务器返回调用结果。
所述步骤2中,若所述采集子系统到所述接口服务器的网络连接正常且所述控制调度服务器运行正常,则所述前置采集服务器直接调用所述接口服务器将所述封装数据输入控制调度服务器;若所述采集子系统到所述接口服务器的网络连接异常或所述控制调度服务器异常,则所述采集子系统将系统事件信息存储到本地磁盘。
所述控制调度服务器异常恢复或网络连接异常恢复时,所述采集子系统自动重新连接所述控制调度服务器,从本地磁盘中取出系统事件信息并通过调用接口服务器输入所述控制调度服务器。
所述步骤3中,所述调度服务器接受并解析所述系统事件信息,根据所述系统事件信息对所述封装数据进行优先等级的分配,并将分配结果写入所述系统事件信息。
所述步骤4中,控制调度服务器将分配的封装数据存储未同时完成时,所述控制调度服务器将所述封装数据存储到本地磁盘,并将已做存储操作回滚,待系统恢复正常后,所述控制调度服务器从本地磁盘文件中取出所述封装数据传入到分布式缓存服务器和数据库服务器中存储完成,同时删除本地磁盘文件。
所述步骤5中,客户端调用接口服务器向控制调度服务器发出数据请求,所述控制调度服务器收到数据请求信息,根据数据请求信息判断分布式缓存服务器或数据库服务器中获取请求数据,控制调度服务器从使本系统性能最优的数据源中取出该请求数据。
与现有技术相比,本发明的有益效果在于:
1.本发明通过对封装数据进行优先等级分配,优化数据存储策略,提高了用电能效数据的存储效率;
2.分布式缓存服务器和数据库服务器同步存储提高了用电能效数据存储质量,也使取出用电能效数据的效率大幅增加,保证了用电能效数据的完整性,同时保证了系统的流畅运行;
3.本发明提供的对用电能效数据进行储存和访问的系统及方法简单,易实施,可能性高,应用广泛。
附图说明
图1是本发明实施例中用电能效数据的储存访问系统结构图;
图2是本发明实施例中控制调度服务器功能结构图;
图3是本发明实施例中用电能效数据的储存方法流程图;
图4是本发明实施例中用电能效数据的访问方法流程图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1,一种用电能效数据的储存访问系统,所述系统包括前置采集服务器、接口服务器、分布式缓存服务器和数据库服务器;所述前置采集服务器将采集数据在采集子系统中进行封装,并调用接口服务器将封装数据输入控制调度服务器,所述控制调度服务器接收并解析系统事件信息后,分配所述封装数据的优先等级,将按照优先等级分配的封装数据同时存储到分布式缓存服务器和数据库服务器中。
所述采集子系统通过电力光纤网将采集数据上传到所述前置采集服务器,所述前置采集服务器包括数据采集前置服务器、对时前置服务器和控制前置服务器,所述数据采集前置服务器接收所述采集数据,所述对时前置服务器与所述采集子系统进行网络对时,所述控制前置服务器控制所述数据采集前置服务器和对时前置服务器。
所述前置采集服务器和控制调度服务器通过所述接口服务器进行封装数据交换。
所述系统事件信息包括存取数据的类型/频度/大小、系统的整体运行状况和数据库的负载情况。
所述采集子系统包括智能楼宇能效管理子系统、智能小区管理子系统和大用户用电信息采集子系统。
所述采集数据包括智能楼宇能效数据、智能小区能效数据和大用户用电信息。
所述智能楼宇能效数据包括测量表计信息、电量信息、需量信息、事件记录和能效管理测评信息。
所述智能小区能效数据包括家用电器用电量信息、家用电器运行状态信息、智能家电电能质量信息和小区充电桩充电信息。
所述大用户用电信息包括大用户内部配电信息、电能质量信息、用电量信息和用电设备运行状态信息。
如图2,所述控制调度服务器包括交互模块、处理模块、存储执行模块和缓存执行模块,所述交互模块读取保存在本地磁盘文件中的系统事件信息或者接收来自用户输入的控制命令,获取系统事件信息和控制信息,并将所述系统事件信息和控制信息发送给处理模块;同时所述交互模块接收并解析所述封装数据或来自客户端的数据请求,并将解析数据输入所述处理模块;所述处理模块接收所述系统事件信息和控制信息,将其和解析数据组成对应关系信息,并所述对应关系信息保存到存储执行模块或缓存执行模块;所述数据库执行模块接收对应关系信息,并将封装数据存储到数据库服务器,或者根据数据请求从数据库服务器中获取封装数据;所述缓存执行模块接收对应关系信息,并对分布式缓存进行存储和访问。
如图3和图4,一种用电能效数据的储存访问方法,所述方法包括以下步骤:
步骤1:将采集数据在采集子系统中进行封装;
步骤2:所述前置采集服务器调用接口服务器将封装数据输入控制调度服务器;
步骤3:所述控制调度服务器分配所述封装数据的优先等级;
步骤4:控制调度服务器将封装数据按照优先等级同时存储到分布式缓存服务器和数据库服务器中;
步骤5:所述前置采集服务器调用所述接口服务器向控制调度服务器发送调用命令,控制调度服务器返回调用结果。
所述步骤2中,若所述采集子系统到所述接口服务器的网络连接正常且所述控制调度服务器运行正常,则所述前置采集服务器直接调用所述接口服务器将所述封装数据输入控制调度服务器;若所述采集子系统到所述接口服务器的网络连接异常或所述控制调度服务器异常,则所述采集子系统将系统事件信息存储到本地磁盘。
所述控制调度服务器异常恢复或网络连接异常恢复时,所述采集子系统自动重新连接所述控制调度服务器,从本地磁盘中取出系统事件信息并通过调用接口服务器输入所述控制调度服务器。
所述步骤3中,所述调度服务器接受并解析所述系统事件信息,根据所述系统事件信息对所述封装数据进行优先等级的分配,并将分配结果写入所述系统事件信息。
所述步骤4中,控制调度服务器将分配的封装数据存储未同时完成时,所述控制调度服务器将所述封装数据存储到本地磁盘,并将已做存储操作回滚,待系统恢复正常后,所述控制调度服务器从本地磁盘文件中取出所述封装数据传入到分布式缓存服务器和数据库服务器中存储完成,同时删除本地磁盘文件。
所述步骤5中,客户端调用接口服务器向控制调度服务器发出数据请求,所述控制调度服务器收到数据请求信息,根据数据请求信息判断分布式缓存服务器或数据库服务器中获取请求数据最快响应和最优性能,控制调度服务器从使本系统性能最优的数据源中取出该请求数据。最快响应是指取出该请求数据所花的时间最短,最优性能是指存储请求数据对系统整体的负荷影响最小。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。