一种海量智能用电数据混合存储系统及方法
【专利摘要】本发明公开了一种海量智能用电数据混合存储系统及方法,包括前置通信服务器集群、前置通信服务器集群接收终端上传的原始数据帧,将数据解析后得到的原始数据文件存储到本地磁盘,前置通信服务器集群将原始数据帧和原始数据文件转存到所述MongoDB私有云存储平台,采集数据转存计算平台读取所述MongoDB私有云存储平台的数据进行处理后存储到采集数据转存计算平台的生产库和分析库中,生产库对业务数据进行存储,分析库对生产库的业务数据进行分析处理,将分析结果写回生产库,供查询使用。它具有应对海量采集数据给前置主站存储能力带来的挑战,现将采集数据存储在本地缓存,满足对海量数据的快速存储和统一管理需求,降低对生产数据库的入库压力的优点。
【专利说明】一种海量智能用电数据混合存储系统及方法
【技术领域】
[0001] 本发明涉及一种海量智能用电数据混合存储系统及方法。
【背景技术】
[0002] 用电信息采集系统作为智能用电的重要组成部分,能够实现对用电数据的采集, 并基于采集的用电数据进行管理、分析、决策,是提高用户用电效率和优化用电方式,落实 我国节能减排和阶梯电价政策的重要抓手,是智能用电建设的重要内容。国家电网公司深 入推进"两个转变",积极构建"三集五大"体系,在"十二五"期间提出用电信息采集"全覆 盖、全采集、全控制"的建设目标,实现对所有电力用户和关口的全面覆盖,实现计量装置在 线监测和用户负荷、电量、电压等重要信息的实时采集,及时、完整、准确地为相关系统提供 基础数据,为企业经营管理各环节的分析、决策提供支撑。
[0003] 随着"全覆盖、全采集、全控制"建设目标的实现,用电信息采集系统覆盖的电力现 场范围进一步扩大,供电企业用电信息采集覆盖的范围从仅覆盖重要的专线专变用户,逐 渐扩大到包括各类专线专变用户、一般工商业户、公变台区等多种电力现场,接入各类采集 终端及表计的规模也随之增加,采集数据量线性增长,采集数据呈现海量趋势。通过对采集 数据进行分析,这些数据大多数是源码数据,以往用电信息采集系统对采集数据的存储都 是将采集上来的源码数据经过解析后直接存储到生产库中。
[0004] 然而,一方面,用电信息采集系统具有采集任务执行时段集中、高并发的特征,导 致部分时间段的数据入库压力较大,数据库出现I/O瓶颈,使得系统的相关数据统计分析 业务得不到及时开展,严重影响了相关数据的查询效率;
[0005] 另一方面,源码数据是用电信息采集系统的基础数据,对通讯流量统计、通讯日志 记录、电量计算、故障分析等有着至关重要的作用,而以往用电信息采集系统受策略限制无 法对源码数据进行长期保存,阻碍了对数据的深度应用。
【发明内容】
[0006] 本发明的目的就是为了解决上述问题,提供一种海量智能用电数据混合存储系统 及方法,它具有应对海量采集数据给前置主站存储能力带来的挑战,现将采集数据存储在 本地缓存,然后存储到MongoDB私有云存储平台集中管理,满足对海量数据的快速存储和 统一管理需求,降低对生产数据库的入库压力的优点。
[0007] 为了实现上述目的,本发明采用如下技术方案:
[0008] -种海量智能用电数据混合存储系统,包括前置通信服务器集群、MongoDB私有云 存储平台、采集数据转存计算平台,所述前置通信服务器集群接收终端上传的原始数据帧, 将数据解析后得到的原始数据文件存储到本地磁盘,之后所述前置通信服务器集群将原始 数据帧和原始数据文件采用数据交叉复制备份的方式转存到所述MongoDB私有云存储平 台,之后所述采集数据转存计算平台读取所述MongoDB私有云存储平台的数据进行处理后 存储到所述采集数据转存计算平台的关系数据模块的生产库和分析库中,生产库对业务数 据进行存储并实现终端调试、终端参数设置和采集数据实时性查询操作,分析库对生产库 的业务数据进行进一步分析处理,实现采集成功率、终端在线率和线损合格率的统计分析, 并将分析结果写回生产库,供查询使用。
[0009] 所述前置通信服务器集群包括通信接口模块、数据缓存模块和配置库;
[0010] 所述通信接口模块包括通信管理接口、状态监控接口、任务管理接口、规约解析接 口和数据加载接口;
[0011] 所述通信管理接口实现前置通信服务器集群与终端间物理连接的建立;
[0012] 所述状态监控接口实现终端及服务器状态的监控;
[0013] 所述任务管理接口实现采集任务的统一管理:任务下发和终端事件上送;
[0014] 所述规约解析接口将采集到的原始数据帧解析成原始数据对象;
[0015] 所述元数据加载接口将解析后的数据原始对象加载到数据缓存模块中。
[0016] 所述数据缓存模块将原始数据对象以文件的形式存储在本地磁盘中;
[0017] 所述配置库负责终端及服务器的监控信息、终端档案信息、配置信息和采集任务 信息的组织和管理。
[0018] 所述MongoDB私有云存储平台包括数据存储模块、路由模块和配置模块;
[0019] 所述数据存储模块存储前置服务器集群传输过来的原始数据帧及原始数据文 件;
[0020] 所述路由模块用于管理配置模块具体数据的存放信息;
[0021] 所述配置模块用于保存数据到所在数据块及所在数据块到所在数据分片的映射, 并存储所有需要采集数据测量点的采集状态和采集成功率。
[0022] 所述采集数据转存计算平台包括数据处理模块和关系数据存储模块。
[0023] 所述关系数据存储模块包括生产库和分析库;
[0024] 所述生产库存储业务数据;
[0025] 所述分析库用于分担生产库的压力,用于指标数据查询、统计分析和报表导出。
[0026] 所述数据处理模块包括档案缓存、数据持久化接口和大数据管理引擎,用于实现 档案信息同步,用于原始采集数据的计算和转存,还用于提供记录终端采集状态的全部档 案信息。
[0027] 所述大数据管理引擎从MongoDB私有云存储平台中读取原始数据文件,针对不同 数据类型的数据制定不同优先级的调度和管理。
[0028] 所述档案缓存从生产库中同步档案信息,通过大数据管理引擎的处理计算生成业 务数据。
[0029] 所述数据持久化接口按照档案缓存中的档案将大数据管理引擎生成的业务数据 存入关系数据存储模块。
[0030] 一种海量智能用电数据混合存储方法,包括如下步骤:
[0031] 步骤(1):前置通信服务器集群通过通信管理接口接收终端上传的原始数据帧, 根据终端编号将其解析成原始数据对象,以文件的形式存入到本地磁盘;
[0032] 步骤(2):将原始数据帧以及原始数据对象采用数据交叉复制备份的方式转存到 MongoDB私有云存储平台的各个服务器上;
[0033] 步骤(3):采集数据转存计算平台的数据处理模块读取并处理MongoDB私有云存 储平台的数据,形成业务数据后存储到关系数据模块的生产库和分析库中,生产库对业务 数据进行存储并实现终端调试、终端参数设置和采集数据实时性查询操作,分析库对生产 库的业务数据进行进一步分析处理,实现采集成功率、终端在线率和线损合格率的统计分 析,并将分析结果写回生产库,供查询使用。
[0034] 所述步骤(1)的步骤为:
[0035] 步骤(1-1):前置通信服务器集群通过通信接口模块的通信管理接口与采集终端 建立Session连接,获取该采集终端的终端编号及原始数据帧,并将终端编号写入Session 中以便对原始数据帧进行数据所属终端的标识,通过元数据加载接口获取原始数据帧及对 应的Session,将原始数据巾贞存入MongoDB私有云存储平台,并从Session中读取原始数据 帧对应的终端编号;
[0036] 步骤(1-2):查询终端编号是否为空,如果为空就进入步骤(1-3);如果不为空就 进入步骤(1-4);
[0037] 步骤(1-3):终端编号为空,则解析原始数据帧对应的终端地址码并查看终端地 址码是否在终端档案表中;
[0038] 如果终端地址码在终端档案表中,则根据解析出的终端地址码及原始数据帧的 Session号对终端档案表进行更新,设定终端状态,同时将原始数据帧解析成原始数据对 象,然后进入步骤(1-5);
[0039] 如果终端地址码不在档案表中,证明终端为非授权终端,丢弃原始数据帧,结束;
[0040] 步骤(1-4):终端档案编号不为空,通过规约解析接口识别出原始数据帧的控制 码、地址码和功能码,并将原始数据帧解析成原始数据对象;进入步骤(1-5);所述原始数 据对象包括数据唯一标识、时标、采集质量码、终端冻结时间和量值;
[0041] 步骤(1-5):将原始数据对象以文件的形式存储到本地磁盘,更新MongoDB私有云 存储平台的日志表,同时将文件基本信息写入配置库中。
[0042] 所述步骤(1-5)的步骤为:将解析后的原始数据对象以文件的形式存储在本地磁 盘中,原始数据对象以键值对的形式存储在文件中,包括数据唯一标识、时标、采集质量码、 终端冻结时间和量值信息,当文件达到预先设定的文件大小或者是文件在很长一段时间内 未发生变化,则置文件为写完状态,并将其存入MongoDB私有云存储平台,将文件的上传开 始时间写入配置库,循环检测文件状态,直到把本地磁盘文件中的所有原始数据文件都上 传完成,将文件上传完成时间写入配置库,并将上传成功的文件从本地磁盘中删除以留出 磁盘空间存储终端实时上送的采集数据。
[0043] 所述步骤(1-5)的文件基本信息包括文件编号、前置通信服务器编号、文件完整 路径、文件名、文件是否已经被删除、高低压标识、曲线日冻结标识、文件拆分标识、文件类 型和VIP标识。
[0044] 所述高低压标识包括高压、低压、变电站和以热定电。
[0045] 所述曲线日冻结标识包括日冻结、曲线、月冻结、抄表日冻结和热电数据。
[0046] 所述文件拆分标识包括未拆分的文件和拆分后的文件。
[0047] 所述文件类型和VIP标识包括普通文件和VIP文件。
[0048] 所述步骤(2)的步骤为:
[0049] 步骤(2-1):前置通信服务器集群定时监测配置库中原始数据文件状态,将文件 状态为完成且未上传的文件上传至MongoDB私有云存储平台的数据存储模块;将文件的上 传完成时间写入配置库;
[0050] 步骤(2-2) :MongoDB私有云存储平台通过部署MongoDB集群,将前置通信服务器 集群上送的原始数据帧及原始数据对象文件存储在MongoDB私有云存储平台的服务器的 数据存储模块中,如果终端数量不断增加使得现有服务器不能满足不断增加的原始数据文 件的存储需求,则动态增加新服务器,提高系统的存储能力,原始数据帧及原始数据对象以 json文件格式存放,在文件中以键值对形式存在;
[0051] 步骤(2-3):在MongoDB私有云存储平台的每台服务器上对数据文件进行分片存 储,每个分片包括若干数据块,如果某数据块超出限定大小,则生成新的多个数据块;一个 分片为一个副本集,使用交叉复制备份的方式,将同一副本集的多个副本部署于不同的服 务器下,同时将不同分片的副本交叉部署于同一台服务器下,最后将MongoDB私有云存储 平台的服务器集群消耗资源较小的配置模块以及路由模块部署到各个服务器上,部署多个 配置模块以及路由模块确保整个MongoDB私有云存储平台在一个服务器宕机的情况下,整 个服务器集群的运行情况不会受到影响。
[0052] 所述步骤(2-2)的原始数据帧,文件中的每一行存储一个原始数据帧,每个原始 数据帧包括所属终端标识、上下行数据标识和具体数据帧,
[0053] 所述步骤(2-2)的原始数据对象,包括数据唯一标识、时标、采集质量码、终端冻 结时间和量值。
[0054] 所述路由模块负责查询配置模块找到数据的存放位置,所述配置模块保存了两个 映射关系,一个是数据与存放该数据的数据块的映射关系,另一个是数据块与存放该数据 块的分片的映射关系。
[0055] 所述步骤(3)的步骤为:
[0056] 步骤(3-1):采集数据转存计算平台的数据处理模块通过读取前置通信服务器集 群的配置库,查询未进行数据转存的文件位置信息;
[0057] 步骤(3-2):采集数据转存计算平台的数据处理模块从MongoDB私有云存储平台 中读取步骤(3-1)中的未进行数据转存的文件,并将文件读取开始时间写入配置库;
[0058] 步骤(3-3):数据处理模块从数据缓存模块中获取未进行数据转存的文件的档案 信息,通过大数据管理引擎对不同类型的数据指定不同的优先级,并进行调度和管理;如针 对变电站、高压用户、低压用户进行电压、负荷、电流、表码数据等不同类型数据制定不同优 先级的调度和管理;
[0059] 步骤(3-4):将文件读取结束的时间写入配置库,将经大数据管理引擎处理过的 业务数据存储到关系数据库中;所述大数据管理引擎的处理包括:进行相应的费率校验、 PT、CT、综合倍率计算、电量计算和总加组功率计算,形成业务数据,将形成的业务数据存入 关系数据库的生产库和分析库中,
[0060] 生产库对业务数据进行存储并实现终端调试、终端参数设置和采集数据实时性查 询操作,
[0061] 分析库对生产库的业务数据进行进一步分析处理,实现采集成功率、终端在线率 和线损合格率的统计分析,并将分析结果写回生产库,供查询使用。
[0062] 所述步骤(3-2)的读取过程是指:
[0063] 采集数据转存计算平台的数据处理单元访问MongoDB私有云存储平台中的路由 模块,路由模块通过配置模块获取原始数据文件的配置信息,找到存放原始数据文件的分 片及分片上对应的具体数据块位置,从数据块中逐行读取出原始数据文件。
[0064] 本发明的有益效果:
[0065] (1)本发明设计的海量智能用电数据混合存储装置,应对海量采集数据给前置主 站存储能力带来的挑战,现将采集数据存储在本地缓存,然后存储到MongoDB私有云存储 平台集中管理,满足对海量数据的快速存储和统一管理需求,降低对生产数据库的入库压 力。
[0066] (2)本发明构建的MongoDB私有云存储平台,通过分布式的服务器部署模式,分担 单个服务器的负载压力,使用数据交叉复制备份的方式保证数据的安全性,在终端不断增 加的情况下,通过动态增加新服务器的方式增加系统的存储能力,保证采集数据的长久、可 靠存储。
[0067] (3)本发明设计的采集数据转存计算平台中的关系数据存储模块采用数据分库技 术,将关系数据库划分为生产库和分析库,使得原依赖生产库的统计分析等复杂应用迁移 至分析库中,保证了生产库单一的数据采集入库及基本应用功能,降低生产库压力,并为统 计分析、数据查询等高级操作部署单独的资源,提升复杂统计分析应用以及数据处理的效 率,使得高级查询分析功能响应速度大幅提升,有效减轻生产库压力。
[0068] (4)在MongoDB私有云存储平台的每台服务器上对数据文件进行分片存储,每个 分片包括若干数据块,当数据块超出限定大小,就将其分裂成两个数据块。一个分片为一个 副本集,使用交叉复制备份的方式,将同一副本集的多个副本部署于不同的服务器下,保证 数据的准确安全,同时将不同分片的副本交叉部署于同一台服务器下以充分利用服务器的 各项资源,最后将私有云存储服务器集群消耗资源较小的配置模块以及路由模块部署到各 个节点服务器上,部署多个配置模块以及路由模块确保整个MongoDB私有云存储平台在一 个服务器宕机的情况下整个集群的运行情况不会受到影响,路由模块负责查询配置模块找 到数据的存放位置,配置模块保存了两个映射关系,一个是数据都存放在那些数据块上的 映射关系,另一个是数据块都存放在哪些分片上的映射关系。
【专利附图】
【附图说明】
[0069] 图1为海量智能用电数据混合存储装置整体架构;
[0070] 图2为海量智能用电数据存储整体流程;
[0071] 图3为海量智能用电数据本地磁盘缓存流程;
[0072] 图4为海量智能用电数据MongoDB私有云存储流程;
[0073]图5为采集数据转存计算流程。
【具体实施方式】
[0074] 下面结合附图与实施例对本发明作进一步说明。
[0075] 本发明实施例提供一种海量智能用电数据混合存储方法与装置。海量智能用电数 据混合存储是将从采集终端上送的采集数据先持久化到前置主站的本地磁盘,然后将其集 中存入MongoDB私有云存储平台中,并将海量智能用电数据的存储情况写入配置库,数据 处理单元读取MongoDB私有云存储平台中的原始数据文件,然后将其进行一系列的计算, 形成业务数据,存入关系数据库中。
[0076] 下面结合附图和实施例对本发明进行进一步详细说明。
[0077] 参考图1,是本发明一种海量智能用电数据混合存储装置,该装置包括:
[0078] -种海量智能用电数据混合存储装置,涉及前置通信服务器集群100、MongoDB私 有云存储平台200、采集数据转存计算平台300。
[0079] 前置通信服务器集群100包括通信接口模块101、数据缓存模块102、配置库103。
[0080] 通信接口模块101包括通信管理接口、状态监控接口、任务管理接口、规约解析接 口、数据加载接口等,通信管理接口实现前置通信服务器集群与终端间物理连接的建立,状 态监控接口实现终端及服务器状态信息的监控,任务管理接口实现采集任务下发、终端事 件上送等任务的统一管理,规约解析接口将采集到的原始数据帧解析成原始数据对象,数 据加载接口将解析后的数据原始对象加载到数据缓存模块中。
[0081] 数据缓存模块102将原始数据对象以文件的形式存储在本地磁盘中。
[0082] 配置库103主要负责终端及服务器状态监控信息、终端档案信息、配置信息、采集 任务信息以及终端采集信息等相关信息的组织和管理。
[0083] MongoDB私有云存储平台200包括数据存储模块201、路由模块202、配置模块 203。
[0084] 数据存储模块201存储前置服务器集群传输过来的原始数据帧及原始数据文件。
[0085] 路由模块202管理配置模块中原始数据帧及原始数据文件的存放信息。
[0086] 配置模块203保存数据到所在数据块及所在数据块到所在数据分片的映射,并存 储所有需要采集数据测量点的采集状态、采集成功率等日志信息。
[0087] 采集数据转存计算平台300包括数据处理模块301、关系数据存储模块302。
[0088] 数据处理模块301包括档案缓存、大数据管理引擎、数据持久化接口。档案缓存实 现终端档案信息加载和同步,提供记录终端采集状态的全部档案信息。大数据管理引擎从 MongoDB私有云存储平台中读取原始数据文件,针对不同数据类型制定不同优先级的调度 和管理,针对变电站、高压用户、低压用户的电压、负荷、电流、表码数据计算和存储制定不 同级别的调度管理,生成业务数据。数据持久化接口按照档案缓存中的档案将业务数据存 储到关系数据存储模块302中。
[0089] 关系数据存储模块302包括生产库和分析库,生产库存储与查询相关的所有业务 数据,分析库用于分担生产库的压力,侧重于指标数据查询、统计分析、报表导出等复杂应 用分析,分析库分析完成后将分析结果写回生产库。
[0090] 如图2所示,一种海量智能用电数据混合存储方法主要包括海量智能用电数据的 本地磁盘缓存、海量智能用电数据的MongoDB私有云存储、海量智能用电数据的转存计算 三个部分。
[0091] 如图3所示,其中,海量智能用电数据的本地磁盘缓存是这样实现的:
[0092] (1)采集终端通过前置服务器集群模块开放的Socket端口进行三次握手建立TCP 连接,生成Session对象,将终端编号放入Session对象中供解析数据时使用,并上送由控 制码、地址码、功能码、帧序列域、数据单元标识、数据时标、数据内容组成的电能示值、电 压、电流、功率等原始数据帧。主站获取终端上送的原始数据帧及其对应的Session号,并 从Session中获取终端编号;
[0093] (2)将获取到的原始数据帧存入MongoDB私有云存储平台中,判断从Session中取 得的终端编号是否为空,如不为空转至(7),如为空转至(3);
[0094] (3)解析出原始数据帧对应的终端地址码;
[0095] (4)根据解析出的终端地址码查询终端档案表,查询终端是否在档案表中,如果查 询终端不在档案表中转至¢),如在档案表中转至(5);
[0096] (5)根据解析出的终端地址码及报文的Session号对终端档案进行更新,设定终 端的状态为终端上线或者状态保持,转至(7);
[0097] (6)证明终端为非授权终端,丢弃原始数据帧;
[0098] (7)对原始数据帧进行解析,识别控制码、地址码、功能码、帧序列域、数据单元标 识、数据时标、数据内容等信息,形成由key-value键值对组成的原始数据对象。
[0099] (8)对原始数据对象做持久化处理,把原始数据写入本地磁盘文件,原始数据对象 以key-value键值对的形式存在于本地磁盘文件中,当文件达到以下三个条件中的任意一 个,则将文件置为写完标志。
[0100] >文件大小超过了设定的阈值;
[0101] >文件在足够长一段时间内未发生变化,超过时间阈值;
[0102] >文件从开始建立一直处于写入状态,但是经过足够长的时间仍然未达到文件的 大小阈值,超过了时间阈值。
[0103] (9)将文件的写入时间、文件的状态等基本信息写入配置库,同时将采集数据测量 点的采集状态写入MongoDB私有云存储平台中的配置模块的日志表中;
[0104] (10)定时查询配置库,对采集数据文件的状态进行监测,将文件状态为写完且未 上传至MongoDB私有云存储平台的文件上传至MongoDB私有云存储平台中,并将文件上传 时间及上传完成时间写入配置库。
[0105] (11)上传成功的文件可在本地磁盘存储一定时间,时间可配置,文件超时后,本地 磁盘自动删除文件及目录。
[0106] 如图4所示,海量智能用电数据的MongoDB私有云存储是这样实现的:
[0107] (I)MongoDB私有云存储接收原始数据巾贞及原始数据文件,将其以key-value键值 对的形式存储到MongoDB服务器集群中,在存储时对数据进行分片,在每个分片中数据分 块存储,路由节点在存储数据时判断当前分片中的数据块是否超出限定大小,如果超出限 定大小就将其分裂成两个数据块,配置节点记录下数据存储到分片的映射及分片到所在数 据块的映射。
[0108] (2) -个分片为一个副本集,使用数据交叉复制备份的方式,将同一副本集的多个 节点部署于不同的服务器下,保证数据的准确安全。
[0109] (3)将不同分片节点的副本交叉部署于同一台服务器下,以充分利用服务器的各 项资源。
[0110] (4)将云存储集群消耗资源较小的配置模块以及路由模块部署到各个节点服务器 上,部署多个配置模块以及路由模块确保整个MongoDB私有云存储平台在一个服务器宕机 的情况下整个集群的运行情况不会受到影响。
[0111] 如图5所示,海量智能用电数据的转存计算是这样实现的:
[0112] (1)数据处理单元定时监测配置库中未进行数据转存计算的文件信息,参照这部 分文件信息,采用Socket通讯方式,基于Tcp/ip的标准命令,将MongoDB中的这部分文件 进行提取,提取过程如下:
[0113] 按照未进行数据转存文件中数据对象的唯一标识读取MongoDB私有云存储平台 中的路由模块,通过路由模块得到数据对象所在的分片及所在的数据块,然后在其位置上 读取相应的数据。
[0114] (2)数据处理单元将提取到的文件提交给大数据管理引擎,大数据管理引擎针对 不同数据类型制定不同优先级的调度和管理,进行变电站、高压用户、低压用户等的电压、 功率、电流、表码数据的统计。
[0115] (3)对统计数据进行处理、校验以及相应的计算,形成用电量、总加组功率、电流、 电压等业务数据。
[0116] (4)将最终的业务数据同时提交给生产库和分析库,生产库实现终端调试、终端参 数设置、采集数据实时性查询等对时效性要求比较高的业务操作,分析库实现采集成功率、 终端在线率、线损合格率等的高级统计分析,并将分析结果回写到生产库中供查询使用。
[0117] 本发明已经在国家电网科技项目《提高用电营销管理与服务水平的智能用电技术 研究》中得到了应用,应用效果良好,有效减轻了生产库的入库压力(生产数据库服务器 (PU负载可长时间稳定在40%以下),通过设计MongoDB私有云存储平台,海量源码数据得 到了长期可靠存储,平台日数据更新量超过30亿次、日文件存储量超过1000G。同时,通讯 流量统计、通讯日志记录、电量计算、故障分析等统计分析业务都需要通过对海量源码数据 的查询来完成,MongoDB私有云存储平台以文件形式存储源码数据,可满足源码数据的快速 查询,进而提升了统计分析应用效率,与使用关系数据库存储源码数据相比,数据查询效率 大幅提升,如使用关系数据库存储数据时对2000万条数据查询需要20ms,而使用MongoDB 私有云存储平台存储数据时,查询2000万条数据只需要4ms。
[0118] 上述虽然结合附图对本发明的【具体实施方式】进行了描述,但并非对本发明保护范 围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不 需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
【权利要求】
1. 一种海量智能用电数据混合存储系统,其特征是,包括前置通信服务器集群、 MongoDB私有云存储平台、采集数据转存计算平台,所述前置通信服务器集群接收终端上传 的原始数据帧,将数据解析后得到的原始数据文件存储到本地磁盘,之后所述前置通信服 务器集群将原始数据帧和原始数据文件采用数据交叉复制备份的方式转存到所述MongoDB 私有云存储平台,之后所述采集数据转存计算平台读取所述MongoDB私有云存储平台的数 据进行处理后存储到所述采集数据转存计算平台的关系数据模块的生产库和分析库中,生 产库对业务数据进行存储并实现终端调试、终端参数设置和采集数据实时性查询操作,分 析库对生产库的业务数据进行进一步分析处理,实现采集成功率、终端在线率和线损合格 率的统计分析,并将分析结果写回生产库,供查询使用。
2. 如权利要求1所述的一种海量智能用电数据混合存储系统,其特征是, 所述前置通信服务器集群包括通信接口模块、数据缓存模块和配置库; 所述通信接口模块包括通信管理接口、状态监控接口、任务管理接口、规约解析接口和 数据加载接口; 所述通信管理接口实现前置通信服务器集群与终端间物理连接的建立; 所述状态监控接口实现终端及服务器状态的监控; 所述任务管理接口实现采集任务的统一管理:任务下发和终端事件上送; 所述规约解析接口将采集到的原始数据帧解析成原始数据对象; 所述元数据加载接口将解析后的数据原始对象加载到数据缓存模块中; 所述数据缓存模块将原始数据对象以文件的形式存储在本地磁盘中; 所述配置库负责终端及服务器的监控信息、终端档案信息、配置信息和采集任务信息 的组织和管理。
3. 如权利要求1所述的一种海量智能用电数据混合存储系统,其特征是, 所述MongoDB私有云存储平台包括数据存储模块、路由模块和配置模块; 所述数据存储模块存储前置服务器集群传输过来的原始数据帧及原始数据文件; 所述路由模块用于管理配置模块具体数据的存放信息; 所述配置模块用于保存数据到所在数据块及所在数据块到所在数据分片的映射,并存 储所有需要采集数据测量点的采集状态和采集成功率。
4. 如权利要求1所述的一种海量智能用电数据混合存储系统,其特征是, 所述采集数据转存计算平台包括数据处理模块和关系数据存储模块; 所述关系数据存储模块包括生产库和分析库; 所述生产库存储业务数据; 所述分析库用于分担生产库的压力,用于指标数据查询、统计分析和报表导出; 所述数据处理模块包括档案缓存、数据持久化接口和大数据管理引擎,用于实现档案 信息同步,用于原始采集数据的计算和转存,还用于提供记录终端采集状态的全部档案信 息; 所述大数据管理引擎从MongoDB私有云存储平台中读取原始数据文件,针对不同数据 类型的数据制定不同优先级的调度和管理; 所述档案缓存从生产库中同步档案信息,通过大数据管理引擎的处理计算生成业务数 据; 所述数据持久化接口按照档案缓存中的档案将大数据管理引擎生成的业务数据存入 关系数据存储模块。
5. 如上述任一权利要求所述的系统所采用的存储方法,其特征是,包括如下步骤: 步骤(1):前置通信服务器集群通过通信管理接口接收终端上传的原始数据帧,根据 终端编号将其解析成原始数据对象,以文件的形式存入到本地磁盘; 步骤(2):将原始数据帧以及原始数据对象采用数据交叉复制备份的方式转存到 MongoDB私有云存储平台的各个服务器上; 步骤(3):采集数据转存计算平台的数据处理模块读取并处理MongoDB私有云存储平 台的数据,形成业务数据后存储到关系数据模块的生产库和分析库中,生产库对业务数据 进行存储并实现终端调试、终端参数设置和采集数据实时性查询操作,分析库对生产库的 业务数据进行进一步分析处理,实现采集成功率、终端在线率和线损合格率的统计分析,并 将分析结果写回生产库,供查询使用。
6. 如权利要求5所述的方法,其特征是,所述步骤(1)的步骤为: 步骤(1-1):前置通信服务器集群通过通信接口模块的通信管理接口与采集终端建立 Session连接,获取该采集终端的终端编号及原始数据帧,并将终端编号写入Session中以 便对原始数据帧进行数据所属终端的标识,通过元数据加载接口获取原始数据帧及对应的 Session,将原始数据巾贞存入MongoDB私有云存储平台,并从Session中读取原始数据巾贞对 应的终端编号; 步骤(1-2):查询终端编号是否为空,如果为空就进入步骤(1-3);如果不为空就进入 步骤(1-4); 步骤(1-3):终端编号为空,则解析原始数据帧对应的终端地址码并查看终端地址码 是否在终端档案表中; 如果终端地址码在终端档案表中,则根据解析出的终端地址码及原始数据帧的 Session号对终端档案表进行更新,设定终端状态,同时将原始数据帧解析成原始数据对 象,然后进入步骤(1-5); 如果终端地址码不在档案表中,证明终端为非授权终端,丢弃原始数据帧,结束; 步骤(1-4):终端档案编号不为空,通过规约解析接口识别出原始数据帧的控制码、地 址码和功能码,并将原始数据帧解析成原始数据对象;进入步骤(1-5);所述原始数据对象 包括数据唯一标识、时标、采集质量码、终端冻结时间和量值; 步骤(1-5):将原始数据对象以文件的形式存储到本地磁盘,更新MongoDB私有云存储 平台的日志表,同时将文件基本信息写入配置库中。
7. 如权利要求5所述的方法,其特征是,所述步骤(2)的步骤为: 步骤(2-1):前置通信服务器集群定时监测配置库中原始数据文件状态,将文件状态 为完成且未上传的文件上传至MongoDB私有云存储平台的数据存储模块;将文件的上传完 成时间写入配置库; 步骤(2-2) =MongoDB私有云存储平台通过部署MongoDB集群,将前置通信服务器集群 上送的原始数据帧及原始数据对象文件存储在MongoDB私有云存储平台的服务器的数据 存储模块中,如果终端数量不断增加使得现有服务器不能满足不断增加的原始数据文件的 存储需求,则动态增加新服务器,提高系统的存储能力,原始数据帧及原始数据对象以json 文件格式存放,在文件中以键值对形式存在; 步骤(2-3):在MongoDB私有云存储平台的每台服务器上对数据文件进行分片存储,每 个分片包括若干数据块,如果某数据块超出限定大小,则生成新的多个数据块;一个分片为 一个副本集,使用交叉复制备份的方式,将同一副本集的多个副本部署于不同的服务器下, 同时将不同分片的副本交叉部署于同一台服务器下,最后将MongoDB私有云存储平台的服 务器集群消耗资源较小的配置模块以及路由模块部署到各个服务器上,部署多个配置模块 以及路由模块确保整个MongoDB私有云存储平台在一个服务器宕机的情况下,整个服务器 集群的运行情况不会受到影响。
8. 如权利要求5所述的方法,其特征是,所述步骤(3)的步骤为: 步骤(3-1):采集数据转存计算平台的数据处理模块通过读取前置通信服务器集群的 配置库,查询未进行数据转存的文件位置信息; 步骤(3-2):采集数据转存计算平台的数据处理模块从MongoDB私有云存储平台中读 取步骤(3-1)中的未进行数据转存的文件,并将文件读取开始时间写入配置库; 步骤(3-3):数据处理模块从数据缓存模块中获取未进行数据转存的文件的档案信 息,通过大数据管理引擎对不同类型的数据指定不同的优先级,并进行调度和管理;如针对 变电站、高压用户、低压用户进行电压、负荷、电流、表码数据等不同类型数据制定不同优先 级的调度和管理; 步骤(3-4):将文件读取结束的时间写入配置库,将经大数据管理引擎处理过的业务 数据存储到关系数据库中;所述大数据管理引擎的处理包括:进行相应的费率校验、PT、 CT、综合倍率计算、电量计算和总加组功率计算,形成业务数据,将形成的业务数据存入关 系数据库的生产库和分析库中, 生产库对业务数据进行存储并实现终端调试、终端参数设置和采集数据实时性查询操 作, 分析库对生产库的业务数据进行进一步分析处理,实现采集成功率、终端在线率和线 损合格率的统计分析,并将分析结果写回生产库,供查询使用。
9. 如权利要求6所述的方法,其特征是, 所述步骤(1-5)的步骤为:将解析后的原始数据对象以文件的形式存储在本地磁盘 中,原始数据对象以键值对的形式存储在文件中,包括数据唯一标识、时标、采集质量码、终 端冻结时间和量值信息,当文件达到预先设定的文件大小或者是文件在很长一段时间内未 发生变化,则置文件为写完状态,并将其存入MongoDB私有云存储平台,将文件的上传开始 时间写入配置库,循环检测文件状态,直到把本地磁盘文件中的所有原始数据文件都上传 完成,将文件上传完成时间写入配置库,并将上传成功的文件从本地磁盘中删除以留出磁 盘空间存储终端实时上送的采集数据; 所述步骤(1-5)的文件基本信息包括文件编号、前置通信服务器编号、文件完整路径、 文件名、文件是否已经被删除、高低压标识、曲线日冻结标识、文件拆分标识、文件类型和 VIP标识。
10. 如权利要求7所述的方法,其特征是, 所述步骤(2-2)的原始数据帧,文件中的每一行存储一个原始数据帧,每个原始数据 帧包括所属终端标识、上下行数据标识和具体数据帧, 所述步骤(2-2)的原始数据对象,包括数据唯一标识、时标、采集质量码、终端冻结时 间和量值。
【文档编号】G06F17/30GK104317800SQ201410482773
【公开日】2015年1月28日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】史玉良, 李庆忠, 王新军, 王相伟, 朱伟义, 闫中敏, 孔兰菊 申请人:山东大学, 山大地纬软件股份有限公司, 国网山东省电力公司