一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

窃电辨识方法及系统与流程

2022-02-22 17:21:18 来源:中国专利 TAG:


1.本发明涉及电力系统防窃电技术领域,具体涉及一种利用分布式海量数据库进行并行统计的窃电辨识方法及系统。


背景技术:

2.在电力系统工程中,窃电现象时常发生。要杜绝窃电行为,管理层面,要加强电力营销稽查力度;技术层面,供电所、供电站等可以采用防窃电表箱、对整个计量装置用计量箱或计量柜进行封闭、加装防盗锁、对配电室实施在线监控等手段,或者也可采用智能电表的监测等技术手段。
3.在大量的用电用户中如能快速发现可疑的窃电用户,可大大减轻电力营销稽查人员的工作量,传统的窃电辨识方法,大多从线损和用电量两方面来发现可疑的窃电用户。一方面可对供电部门的电网经济运行状况进行调查分析,从线损率指标入手侦查窃电,即从时间上对线损率变化情况进行纵向对比。例如某线路或某台配变的线损率在某个时间段突然增加或突然减少,尤其是突增情况。另一方面可对照容量查电量,客户的用电设备容量是指其实际使用容量,与用电设备的构成情况有关。
4.用电设备组成情况主要是指连续性负载和中断性负载各占百分之多少,而不是动力负载和照明负载各占多少。例如对待家庭用电,照明、风扇、电视、洗衣机等属于中断性负载;对待工厂用电,照明和动力往往是同时使用的,如果是三班制生产的则基本是连续性负载。也可前后对照查电量,把客户当月用电量与上月用电量或前月用电量对照检查。如发现突然增加或突然减少都应查明原因,电量突然比上月增加,则重点应查上月;电量突然减少,则重点应查本月。
5.用电用能信息采集系统是智能电网建设的重要组成部分,在该系统的应用层大多包括了对台区线损的分析,和对某用户用电量的月同期环比分析,对防窃电起到了一定作用。但是,用电用能信息采集系统以关系型的商用库作为存储平台,鉴于关系型商用库采用集中存储及访问的机理,其存储的信息量大大少于分布式的海量数据库,且在访问大量数据时,访问性能远不如采用并行访问算法的分布式海量数据库,而用电用能采集的信息是几年甚至上十年的海量数据。
6.因此,用电用能信息采集系统在对台区线损的分析和对某用户用电量的月同期环比分析时,所涉及到的数据只能是部分的存储数据,不能利用全部数据做更深入的统计分析,窃电信息辨识不够精确。


技术实现要素:

7.本发明的目的在于提供一种利用分布式海量数据库进行并行统计,对线损和用电量能够作更深入的统计分析的窃电辨识方法及系统,以解决上述背景技术中存在的至少一项技术问题。
8.为了实现上述目的,本发明采取了如下技术方案:
9.一方面,本发明提供一种窃电辨识方法,包括:
10.获取台区用户信息、台区关口总电量和用户用电量信息;
11.基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区;
12.计算所述可疑台区内用户的一定累积时长的用电量变化率;
13.按照用电量变化率的大小排序,确定可疑窃电用户。
14.优选的,将关系型数据库中的数据导入hbase中的台区用户信息表和用户用电量信息表中,建立台区用户信息表和用户用电量信息表,基于建立的台区用户信息表和用户用电量信息表,获取台区用户信息和用户用电量信息。
15.优选的,建立台区用户信息表和用户用电量信息表,包括:
16.由台区信息表获得该台区的标识;
17.在计量点信息表中根据台区标识,关联出本台区所有的用户标识及测量点标识,并将台区标识和用户标识导入hbase中的台区用户信息表。
18.优选的,建立台区用户用电量信息表,包括:
19.针对每一个用户的用户标识,由采集对象信息表通过用户标识获得采集点编号和采集用户关系标识;
20.由采集对象信息表和电能表与计量点的对应关系表,通过测量点标识关联出计量点标识;
21.通过计量点标识由采集对象信息表获得采集对象标识;
22.根据采集对象标识,获得对应用户在所给时段内的用电数据,并将用户标识和其用电数据导入hbase中的用户用电量信息表。
23.优选的,计算台区的线损率包括:
24.基于台区用户信息,生成所有台区与其用户的对应关系;
25.基于台区与其用户的对应关系,获得用户在统计时段内的用电量;
26.累计用户在统计时段内的电量除以其台区关口总电量,得到实际用电比率,再用1减去该实际用电比率就可得出台区的线损率。
27.优选的,计算所述可疑台区内用户的一定累积时长的用电量变化率包括:
28.基于台区用户信息表,生成所有台区内的用户标识;
29.获取该用户过去所有的用电记录数据,将累积时长作为累计频度,获取多个电量节点值;
30.计算最大电量节点值与其它电量节点值的差值,计算差值与最大电量节点值的比例,即为用户在对应的累计时长的用电量变化率。
31.优选的,对所有用户的用电量变化率由大到小进行排序,排名最前的用户即是最可疑的窃电用户,依次类推。
32.第二方面,本发明提供一种窃电辨识系统,包括:
33.获取模块,用于获取台区用户信息、台区关口总电量和用户用电量信息;
34.第一计算模块,用于基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区;
35.第二计算模块,用于计算所述可疑台区内用户的一定累积时长的用电量变化率;
36.确定模块,用于按照用电量变化率的大小排序,确定可疑窃电用户。
37.第三方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如上所述的窃电辨识方法。
38.第四方面,本发明提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行如上所述的窃电辨识方法的指令。
39.本发明有益效果:能得到更精确的可疑窃电用户群体,可以为电力营销稽查人员全面分析本区域用电用户的使用情况,展现各用电用户长时间的历史记录信息,并从中找出疑似窃电的用户群,从而方便稽查人员采取进一步行动。
40.本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
41.为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1为本发明实施例所述的窃电辨识方法流程示意图。
具体实施方式
43.下面详细叙述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
44.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。
45.还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
46.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件和/或它们的组。
47.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
48.为便于理解本发明,下面结合附图以具体实施例对本发明作进一步解释说明,且具体实施例并不构成对本发明实施例的限定。
49.本领域技术人员应该理解,附图只是实施例的示意图,附图中的部件并不一定是实施本发明所必须的。
50.实施例1
51.本实施例1提供一种窃电辨识系统,该系统包括:
52.获取模块,用于获取台区用户信息、台区关口总电量和用户用电量信息;
53.第一计算模块,用于基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区;
54.第二计算模块,用于计算所述可疑台区内用户的一定累积时长的用电量变化率;
55.确定模块,用于按照用电量变化率的大小排序,确定可疑窃电用户。
56.本实施例1中,利用上述的窃电辨识系统,实现了一种窃电辨识方法,该方法包括:
57.使用获取模块获取台区用户信息、台区关口总电量和用户用电量信息;
58.采用第一计算模块,基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区;
59.采用第二计算模块,计算所述可疑台区内用户的一定累积时长的用电量变化率;
60.采用确定模块,按照用电量变化率的大小排序,确定可疑窃电用户。
61.本实施例1中,实现窃电辨识方法时,将关系型数据库中的数据导入hbase中的台区用户信息表和用户用电量信息表中,建立台区用户信息表和用户用电量信息表,基于建立的台区用户信息表和用户用电量信息表,获取台区用户信息和用户用电量信息。
62.建立台区用户信息表和用户用电量信息表,包括:
63.由台区信息表获得该台区的标识;
64.在计量点信息表中根据台区标识,关联出本台区所有的用户标识及测量点标识,并将台区标识和用户标识导入hbase中的台区用户信息表。
65.建立台区用户用电量信息表,包括:
66.针对每一个用户的用户标识,由采集对象信息表通过用户标识获得采集点编号和采集用户关系标识;
67.由采集对象信息表和电能表与计量点的对应关系表,通过测量点标识关联出计量点标识;
68.通过计量点标识由采集对象信息表获得采集对象标识;
69.根据采集对象标识,获得对应用户在所给时段内的用电数据,并将用户标识和其用电数据导入hbase中的用户用电量信息表。
70.计算台区的线损率包括:
71.基于台区用户信息,生成所有台区与其用户的对应关系;
72.基于台区与其用户的对应关系,获得用户在统计时段内的用电量;
73.累计用户在统计时段内的电量除以其台区关口总电量,得到实际用电比率,再用1减去该实际用电比率就可得出台区的线损率。
74.计算所述可疑台区内用户的一定累积时长的用电量变化率包括:
75.基于台区用户信息表,生成所有台区内的用户标识;
76.获取该用户过去所有的用电记录数据,将累积时长作为累计频度,获取多个电量节点值;
77.计算最大电量节点值与其它电量节点值的差值,计算差值与最大电量节点值的比例,即为用户在对应的累计时长的用电量变化率。
78.对所有用户的用电量变化率由大到小进行排序,排名最前的用户即是最可疑的窃电用户,依次类推,排名第二的为第二可疑的窃电用户。
79.实施例2
80.本实施例2提供一种窃电辨识系统,该系统依托sg186营销业务管理系统和电能信息采集系统,首先将防窃电所需的数据从上述两系统中的关系数据库导入hadoop平台的海量数据库中,而后利用hadoop平台所提供的mapreduce来并行地分析台区线损和用户用电量的各项统计指标,并根据指标值对全部用户作排名,使电力营销稽查人员可以根据排名来锁定可疑的窃电用户。相对于传统基于关系数据库的防窃电算法,这种基于海量和并行计算的方法能得到更精确的可疑窃电用户群体。
81.本实施例2中,窃电辨识系统包括:
82.获取模块,用于获取台区用户信息、台区关口总电量和用户用电量信息。
83.第一计算模块,用于基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区。第一计算模块中,从时间上对台区线损率变化情况进行纵向对比,找出某台配变的线损率在某个时间段突然增加或突然减少的情况,从而锁定窃电的可疑区域。
84.第二计算模块,用于计算所述可疑台区内用户的一定累积时长的用电量变化率。
85.确定模块,用于按照用电量变化率的大小排序,确定可疑窃电用户。
86.其中,将用户按国网用电用能标准进行类别的划分,再按用户的合同容量和运行方式(单班、二班、三班或连续)进行划分,最后对所划分的每个类中的用户计算用电量变化率,找出其每周用电变化率的最大量,并依此指标在用户类内作排名。
87.其中,完成sg186营销业务数据从关系型商用库导入基于hadoop的海量数据库,使窃电分析的历史数据更丰富,分析结果更精准。基于mapreduce的并行计算支撑模块,采用并行算法来对台区线损率和用户用电量进行分析,从而可快速给出窃电可疑度排名。
88.本实施例2中,利用上述的窃电辨识系统,实现了一种窃电辨识方法,该方法包括:
89.使用获取模块获取台区用户信息、台区关口总电量和用户用电量信息。
90.采用第一计算模块,基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区;
91.采用第二计算模块,计算所述可疑台区内用户的一定累积时长的用电量变化率;
92.采用确定模块,按照用电量变化率的大小排序,确定可疑窃电用户。
93.本实施例2中,实现窃电辨识方法时,将关系型数据库中的数据导入hbase中的台区用户信息表和用户用电量信息表中,建立台区用户信息表和用户用电量信息表,基于建立的台区用户信息表和用户用电量信息表,获取台区用户信息和用户用电量信息。
94.具体的,本实施例2中,需要在分布式海量数据库hbase中建立台区用户信息表、台区关口电量表和用户用电量信息表。而在sg186营销业务管理系统中并没有直接给出这两表,需要由其它表关联获得hbase所需的上述两表。在sg186中,要查出一段时期内,某一个
台区所有用电用户的电量信息,需要查询诸多相关的表,包括:计量点信息表c_mp、采集点信息表r_cp、采集对象信息表r_coll_obj、电能表与计量点的对应关系表c_meter_mp_rela、台区信息表g_tg、采集点与用户关系信息表r_cp_cons_rela等。
95.建立台区用户信息表和用户用电量信息表,包括:
96.由台区信息表获得该台区的标识;
97.在计量点信息表中根据台区标识,关联出本台区所有的用户标识及测量点标识,并将台区标识和用户标识导入hbase中的台区用户信息表。
98.具体的,在获取模块中,通过如下的步骤可将关系型数据库中的数据导入hbase中的台区用户信息表和用户用电量信息表中:
99.由“台区信息表g_tg”获得该台区的标识tg_id;
100.在“计量点信息表c_mp”中根据台区tg_id,关联出本台区所有的用户标识cons_id及测量点标识mp_id,并将台区和用户标识cons_id导入hbase中的台区用户信息表;
101.建立台区用户用电量信息表,包括:
102.针对每一个用户的用户标识,由采集对象信息表通过用户标识获得采集点编号和采集用户关系标识;
103.由采集对象信息表和电能表与计量点的对应关系表,通过测量点标识关联出计量点标识;
104.通过计量点标识由采集对象信息表获得采集对象标识;
105.根据采集对象标识,获得对应用户在所给时段内的用电数据,并将用户标识和其用电数据导入hbase中的用户用电量信息表。
106.具体的,针对每一个用户的标识cons_id,由“采集对象信息表r_cp_cons_rela”通过cons_id获得采集点编号(cp_no)和采集用户关系标识(cp_cons_id);再由“采集对象信息表c_mp”和“电能表与计量点的对应关系表c_meter_mp_rela”,通过mp_id关联出计量点的标识meter_id;通过计量点的标识meter_id由“采集对象信息表r_coll_obj”获得采集对象标识coll_obj_id;根据采集对象标识coll_obj_id从库中获得对应用户在所给时段内的用电数据,并将用户标识cons_id和其用电数据导入hbase中的用户用电量信息表。
107.计算台区的线损率包括:
108.基于台区用户信息,生成所有台区与其用户的对应关系;
109.基于台区与其用户的对应关系,获得用户在统计时段内的用电量;
110.累计用户在统计时段内的电量除以其台区关口总电量,得到实际用电比率,再用1减去该实际用电比率就可得出台区的线损率。
111.具体的,基于hbase分布式海量数据库,可在十分钟内通过如下的步骤求出一个台区的线损率:
112.读取hbase的台区用户信息表,生成所有台区与其用户的对应关系,存为文件;
113.先启动map过程读取该文件,执行一个《台区id,用户id》的任务,即从hbase库中获得该用户在统计时段内的用电量;
114.将map过程的结果(一条节点值为《台区id,用户电量》的链表)shuffle到reduce过程,reduce根据台区id来累加它所对应的电量;
115.读取hbase的台区关口计量表,计算出统计时段内各台区的关口计量的总电量,用
台区的累计电量除以其关口电量就可求出实际用电比率,再用1减去该实际用电比率就可得出台区的线损率。
116.计算所述可疑台区内用户的一定累积时长的用电量变化率包括:
117.基于台区用户信息表,生成所有台区内的用户标识;
118.获取该用户过去所有的用电记录数据,将累积时长作为累计频度,获取多个电量节点值;
119.计算最大电量节点值与其它电量节点值的差值,计算差值与最大电量节点值的比例,即为用户在对应的累计时长的用电量变化率。
120.具体的,基于hbase分布式海量数据库,在map过程中求出所有用户的周用电量突变的百分比(即用电量变化率):
121.读取hbase的台区用户信息表,生成所有台区内的用户标识,存为文件;
122.启动map过程读取该文件,执行一个《用户id,累计时长(n天)》的任务,即从hbase库中获得该用户过去所有的用电记录数据,由于在hbase中这些用电记录数据按时间顺序连续地存放在一个或多个region中,故可一次全部读出并放到内存中;
123.map过程再根据n天的累计频度,从程序执行时刻开始累计n天前的用电总量作为第一节点值;再往后累计n天的用电量作为第二节点的值,依次类推直至最后一个n天累计节点为止,若最后不够n天,则对这几天不作累计;
124.这样用户的用电历史情况就通过这些节点值来反映,找出最大值的节点,求出其它节点值与它的差值,并求出此差值与该最大值的比例,输出该比例,即为用电量变化率。
125.最后,在reduce过程中对所有用户的统计指标作比较,给出按指标值排序的列表:将map过程的结果(一条节点值为《用户id,周用户电量突变的最大比例》的链表)shuffle到reduce过程,reduce根据用户的最大突变比例来排序,输出排好序的若干条值为《用户id,周用户电量突变的最大比例》的链表,其中每条链表表明了一类同性质的用电用户群。
126.实施例3
127.本实施例3提供一种窃电辨识系统,该系统依托sg186营销业务管理系统和电能信息采集系统,首先将防窃电所需的数据从上述两系统中的关系数据库导入hadoop平台的海量数据库中,而后利用hadoop平台所提供的mapreduce来并行地分析台区线损和用户用电量的各项统计指标,并根据指标值对全部用户作排名,使电力营销稽查人员可以根据排名来锁定可疑的窃电用户。相对于传统基于关系数据库的防窃电算法,这种基于海量和并行计算的方法能得到更精确的可疑窃电用户群体。
128.本实施例3中,窃电辨识系统包括:
129.获取模块,用于获取台区用户信息、台区关口总电量和用户用电量信息。
130.第一计算模块,用于基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区。第一计算模块中,从时间上对台区线损率变化情况进行纵向对比,找出某台配变的线损率在某个时间段突然增加或突然减少的情况,从而锁定窃电的可疑区域。
131.第二计算模块,用于计算所述可疑台区内用户的一定累积时长的用电量变化率。
132.确定模块,用于按照用电量变化率的大小排序,确定可疑窃电用户。
133.本实施例2中,利用上述的窃电辨识系统,实现了一种窃电辨识方法,该方法包括:
134.步骤s1:使用获取模块获取台区用户信息、台区关口总电量和用户用电量信息。
135.由于需要支持智能电网所提出的不同时段不同电价的基本要求,智能电表的数据采集频率最少要精确到小时,这样记录一个用户一年的用电信息就需要有87960条数据库记录,而一个地区的所有用电用户以十万计为单位来统计,故存一年的用电信息就得用上至少8亿多条数据库记录。若用关系数据库来存储,经测试从这8亿条数据库记录中查找某用户的信息得花35分钟。若采用按用户来分表,或按时段来分表的策略,则会造成数据库中的表太多,给数据库系统的管理和维护带来巨大的难度,显然必须采用一种更快的非关系型的储存方式。
136.因此,本实施例3中,海量数据处理平台hadoop提供了一种非关系型的分布式海量数据库hbase,它是基于键值索引的,即可把用户名作为一个键值,并且能将同一用户的所有时段的用电量信息存放到磁盘的连续区域中,这样获得某一用户的数据只需读该区,而不会像关系数据库那样不断地移动磁盘的磁头,跳跃式地在磁盘内一个一个地挑出用户的数据。hbase以区为单位来存放表的数据,当一个区的数据量增大到超过其额定容量时,该区会分割为两个额定容量的区,也种机制大大增加了数据存储的伸缩性;另一方面,它又支持分布式存储,即一个表中的若干区可分别存放在不同的机器上,这使该表存储容量达到理论上的无限,故是名符其实的分布式海量数据库。
137.针对当前的电力业务都是基于传统的关系型数据库展开的,其策略是存短期的数据,不断将过期的数据转存到机外磁带或磁盘上,这为超时长的统计带来了巨大的麻烦,本实施例3中,将过期的数据转存到分布式海量数据库hbase中。在防窃电应用中,在分布式海量数据库hbase中建立台区用户信息表、台区关口电量表和用户用电量信息表。而在sg186营销业务管理系统中并没有直接给出这两表,需要由其它表关联获得hbase所需的上述两表。在sg186中,要查出一段时期内,某一个台区所有用电用户的电量信息,需要查询诸多相关的表,包括:计量点信息表c_mp、采集点信息表r_cp、采集对象信息表r_coll_obj、电能表与计量点的对应关系表c_meter_mp_rela、台区信息表g_tg、采集点与用户关系信息表r_cp_cons_rela等。
138.通过如下的步骤可将关系型数据库中的数据导入hbase中的台区用户信息表和用户用电量信息表中:
139.由“台区信息表g_tg”获得该台区的标识tg_id;
140.在“计量点信息表c_mp”中根据台区tg_id,关联出本台区所有的用户标识cons_id及测量点标识mp_id,并将台区和用户标识cons_id导入hbase中的台区用户信息表;
141.针对每一个用户的标识cons_id,由“采集对象信息表r_cp_cons_rela”通过cons_id获得采集点编号(cp_no)和采集用户关系标识(cp_cons_id);再由“采集对象信息表c_mp”和“电能表与计量点的对应关系表c_meter_mp_rela”,通过mp_id关联出计量点的标识meter_id;
142.通过计量点的标识meter_id由“采集对象信息表r_coll_obj”获得采集对象标识coll_obj_id;
143.根据采集对象标识coll_obj_id从库中获得对应用户在所给时段内的用电数据,并将用户标识cons_id和其用电数据导入hbase中的用户用电量信息表。
144.步骤s2:采用第一计算模块,基于台区用户信息、台区关口总电量和用户用电量信
息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区。
145.具体的,计算一定时长内某台区的线损,需要对该台区内的所有用户作统计。若采用关系型数据库,统计一个用户的速度是以分钟为单位的,可想整个台区的线损计算速度将会以天为单位。本实施例3中,基于hbase分布式海量数据库,可在十分钟内通过如下的步骤求出一个台区的线损率:
146.读取hbase的台区用户信息表,生成所有台区与其用户的对应关系,存为文件;
147.先启动map过程读取该文件,执行一个《台区id,用户id》的任务,即从hbase库中获得该用户在统计时段内的用电量;
148.将map过程的结果(一条节点值为《台区id,用户电量》的链表)shuffle到reduce过程,reduce根据台区id来累加它所对应的电量;
149.读取hbase的台区关口计量表,计算出统计时段内各台区的关口计量的总电量,用台区的累计电量除以其关口电量就可求出实际用电比率,再用1减去该实际用电比率就可得出台区的线损率。
150.步骤s3:采用第二计算模块,计算所述可疑台区内用户的一定累积时长的用电量变化率。
151.具体的,基于hbase分布式海量数据库,在map过程中求出所有用户的周用电量突变的百分比:
152.读取hbase的台区用户信息表,生成所有台区内的用户标识,存为文件;
153.启动map过程读取该文件,执行一个《用户id,累计时长7天》的任务,即从hbase库中获得该用户过去所有的用电记录数据,由于在hbase中这些用电记录数据按时间顺序连续地存放在一个或多个region中,故可一次全部读出并放到内存中;
154.map过程再根据7天的累计频度,从程序执行时刻开始累计7天前的用电总量作为第一节点值;再往后累计7天的用电量作为第二节点的值,依次类推直至最后一个7天累计节点为止,若最后不够7天,则对这几天不作累计;
155.这样用户的用电历史情况就通过这些节点值来反映,找出最大值的节点,求出其它节点值与它的差值,并求出此差值与该最大值的比例,输出该比例;
156.步骤s4:采用确定模块,按照用电量变化率的大小排序,确定可疑窃电用户。
157.具体的,在reduce过程中对所有用户的统计指标作比较,给出按指标值排序的列表:将map过程的结果(一条节点值为《用户id,周用户电量突变的最大比例》的链表)shuffle到reduce过程,reduce根据用户的最大突变比例来排序,输出排好序的若干条值为《用户id,周用户电量突变的最大比例》的链表,其中每条链表表明了一类同性质的用电用户群。
158.实施例4
159.为了全数据、全用户地对线损和用电量作更深入的统计分析,本发明实施例4中提供一种基于分布式海量数据库和并行计算的防窃电方法,特别适合于电力营销稽查人员锁定可疑的窃电用户。
160.为达到上述目的,本实施例4中,依托sg186营销业务管理系统和电能信息采集系统,首先将防窃电所需的数据从上述两系统中的关系数据库导入hadoop平台的海量数据库中。而后利用hadoop平台所提供的mapreduce来并行地分析台区线损和用户用电量的各项
统计指标,并根据指标值对全部用户作排名,使电力营销稽查人员可以根据排名来锁定可疑的窃电用户。相对于传统基于关系数据库的防窃电算法,这种基于海量和并行计算的方法能得到更精确的可疑窃电用户群体。
161.本实施例4中,从时间上对台区线损率变化情况进行纵向对比,找出某台配变的线损率在某个时间段突然增加或突然减少的情况,从而锁定窃电的可疑区域。将用户按国网用电用能标准进行类别的划分,再按用户的合同容量和运行方式(单班、二班、三班或连续)进行划分,最后对所划分的每个类中的用户计算,找出其每周用电变化率的最大量,并依此指标在用户类内作排名。完成sg186营销业务数据从关系型商用库导入基于hadoop的海量数据库,使窃电分析的历史数据更丰富,分析结果更精准。最后,采用并行算法来对台区线损率和用户用电量进行分析,从而可快速给出窃电可疑度排名。
162.本实施例4中提供的利用分布式海量数据库进行并行统计的防窃电方法,可以为电力营销稽查人员全面分析本区域用电用户的使用情况,展现各用电用户长时间的历史记录信息,并从中找出疑似窃电的用户群,从而方便稽查人员采取进一步行动。
163.如图1所示,本实施例4所提供的利用分布式海量数据库进行并行统计的防窃电方法包括:并行计算台区线损的纵向环比(从时间上对台区线损率变化情况进行纵向对比,找出某台配变的线损率在某个时间段突然增加或突然减少的情况,从而锁定窃电的可疑区域)、并行计算用户用电量的横向环比(将用户按国网用电用能标准进行类别的划分,再按用户的合同容量和运行方式(单班、二班、三班或连续)进行划分,最后对所划分的每个类中的用户计算,找出其每周用电变化率的最大量,并依此指标在用户类内作排名)、导入分布式海量数据库(完成sg186营销业务数据从关系型商用库导入基于hadoop的海量数据库,使窃电分析的历史数据更丰富,分析结果更精准)和基于mapreduce的并行计算(采用并行算法来对台区线损率和用户用电量进行分析,从而可快速给出窃电可疑度排名)。
164.本实施例4中,导入分布式海量数据库包括:
165.由于需要支持智能电网所提出的不同时段不同电价的基本要求,智能电表的数据采集频率最少要精确到小时,这样记录一个用户一年的用电信息就需要87960条数据库记录,而一个地区的所有用电用户以十万计为单位来统计,故存一年的用电信息就需要用上至少8亿多条数据库记录。若用关系数据库来存储,经测试从这8亿条数据库记录中查找某用户的信息需要35分钟。若采用按用户来分表,或按时段来分表的策略,则会造成数据库中的表太多,给数据库系统的管理和维护带来巨大的难度,显然必须采用一种更快的非关系型的储存方式。
166.海量数据处理平台hadoop提供了一种非关系型的分布式海量数据库hbase,它是基于键值索引的,即可把用户名作为一个键值,并且能将同一用户的所有时段的用电量信息存放到磁盘的连续区域中,这样获得某一用户的数据只需读该区,而不会像关系数据库那样不断地移动磁盘的磁头,跳跃式地在磁盘内一个一个地挑出用户的数据。hbase以区为单位来存放表的数据,当一个区的数据量增大到超过其额定容量时,该区会分割为两个额定容量的区,也种机制大大增加了数据存储的伸缩性;另一方面,它又支持分布式存储,即一个表中的若干区可分别存放在不同的机器上,这使该表存储容量达到理论上的无限,故是名符其实的分布式海量数据库。
167.然而基于传统的关系型数据库,其策略是存短期的数据,不断将过期的数据转存
到机外磁带或磁盘上,这为超时长的统计带来了巨大的麻烦,所以必须将过期的数据转存到分布式海量数据库hbase中。
168.在本实施例4中,需要在分布式海量数据库hbase中建立台区用户信息表、台区关口电量表和用户用电量信息表。而在sg186营销业务管理系统中并没有直接给出这两表,需要由其它表关联获得hbase所需的上述两表。在sg186中,要查出一段时期内,某一个台区所有用电用户的电量信息,需要查询诸多相关的表,包括:计量点信息表c_mp、采集点信息表r_cp、采集对象信息表r_coll_obj、电能表与计量点的对应关系表c_meter_mp_rela、台区信息表g_tg、采集点与用户关系信息表r_cp_cons_rela等。
169.本实施例4中,通过如下的步骤可将关系型数据库中的数据导入hbase中的台区用户信息表和用户用电量信息表中:
170.由“台区信息表g_tg”获得该台区的标识tg_id;
171.在“计量点信息表c_mp”中根据台区tg_id,关联出本台区所有的用户标识cons_id及测量点标识mp_id,并将台区和用户标识cons_id导入hbase中的台区用户信息表;
172.针对每一个用户的标识cons_id,由“采集对象信息表r_cp_cons_rela”通过cons_id获得采集点编号(cp_no)和采集用户关系标识(cp_cons_id);再由“采集对象信息表c_mp”和“电能表与计量点的对应关系表c_meter_mp_rela”,通过mp_id关联出计量点的标识meter_id;
173.通过计量点的标识meter_id由“采集对象信息表r_coll_obj”获得采集对象标识coll_obj_id;
174.根据采集对象标识coll_obj_id从库中获得对应用户在所给时段内的用电数据,并将用户标识cons_id和其用电数据导入hbase中的用户用电量信息表。
175.本实施例4中,基于mapreduce的并行计算包括:
176.mapreduce是分布式计算框架,用于并行计算海量数据。mapreduce框架的核心步骤主要分两部分:map和reduce。当向mapreduce框架提交一个计算作业时,它会首先把计算作业拆分成若干个map任务,然后分配到不同的节点上去执行,每一个map任务处理输入数据中的一部分,当map任务完成后,它会生成一些中间文件,这些中间文件将会作为reduce任务的输入数据。reduce任务的主要目标就是把前面若干个map的输出汇总到一起并输出。
177.mapreduce包括两个核心过程:shuffle过程和sort过程。shuffle过程是指从map产生输出开始,包括系统执行排序以及传送map输出到reducer作为输入的过程。首先从map端开始,当map开始产生输出时,它并不是简单的把数据写到磁盘,而是将数据首先写到内存中的缓冲区,并做一些预排序以提升效率。当缓冲区中的数据达到一个特定阈值时,系统将会启动一个后台线程把缓冲区中的内容split到磁盘。在split过程中,map的输出将会继续写入到缓冲区,但如果缓冲区已满,map就会被阻塞直到split完成。当内存中的数据达到split阈值的时候,就会产生一个新的split文件,所以在map任务写完最后一个输出记录时,可能会有多个split文件。在map任务完成前,所有的split文件将会被归并排序为一个索引文件和数据文件。当split文件归并完毕后,map将删除所有的临时split文件,并告知tasktracker任务已完成。
178.在shuffle的reduce部分,reduce任务的输入数据分布在集群内的多个map任务的输出中。map任务可能会在不同的时间内完成,只要有其中的一个map任务完成,reduce任务
就开始拷贝它的输出,拷贝来的数据叠加在磁盘上。有一个后台线程会将它们归并为更大的排序文件,这样做节省了后期归并的时间。当所有的map输出都被拷贝后,reduce任务进入归并阶段,启动sort过程对所有map输出进行归并排序,这个工作会重复多次才能完成。
179.本实施例4中,并行计算台区线损的纵向环比包括:
180.计算一定时长内某台区的线损,需要对该台区内的所有用户作统计。若采用关系型数据库,统计一个用户的速度是以分钟为单位的,可想整个台区的线损计算速度将会以天为单位。
181.本实施例4中,基于hbase分布式海量数据库,可在十分钟内通过如下的步骤求出一个台区的线损率:
182.读取hbase的台区用户信息表,生成所有台区与其用户的对应关系,存为文件;
183.先启动map过程读取该文件,执行一个《台区id,用户id》的任务,即从hbase库中获得该用户在统计时段内的用电量;
184.将map过程的结果(一条节点值为《台区id,用户电量》的链表)shuffle到reduce过程,reduce根据台区id来累加它所对应的电量;
185.读取hbase的台区关口计量表,计算出统计时段内各台区的关口计量的总电量,用台区的累计电量除以其关口电量就可求出实际用电比率,再用1减去该实际用电比率就可得出台区的线损率。
186.本实施例4中,并行计算用户用电量的横向环比包括:
187.所谓横向环比就是对所有用户的统计指标作比较,按指标值排序,从而发现指标值最大的一个用户或一群用户。考虑到用户类别的差异,先将用户按国网用电用能标准进行类别的划分,再按用户的合同容量和运行方式(单班、二班、三班或连续)进行划分,最后对所划分的每个类中的用户计算。在比较时,选用周用电总量的突变度作为统一的评判指标较为合理,因为用户的累计时长若以天为单位,突变误差会较大,而以月为累计时长又可能降低月内发现仅有某些天窃电的可能性,所以,本实施例4中以一周作为累计时长。基于hbase分布式海量数据库,先在map过程中求出所有用户的周用电量突变的百分比,再在reduce过程中对所有用户的统计指标作比较,给出按指标值排序的列表:
188.读取hbase的台区用户信息表,生成所有台区内的用户标识,存为文件;
189.启动map过程读取该文件,执行一个《用户id,累计时长7天》的任务,即从hbase库中获得该用户过去所有的用电记录数据,由于在hbase中这些用电记录数据按时间顺序连续地存放在一个或多个region中,故可一次全部读出并放到内存中;
190.map过程再根据7天的累计频度,从程序执行时刻开始累计7天前的用电总量作为第一节点值;再往后累计7天的用电量作为第二节点的值,依次类推直至最后一个7天累计节点为止,若最后不够7天,则对这几天不作累计;
191.这样用户的用电历史情况就通过这些节点值来反映,找出最大值的节点,求出其它节点值与它的差值,并求出此差值与该最大值的比例,输出该比例;
192.将map过程的结果(一条节点值为《用户id,周用户电量突变的最大比例》的链表)shuffle到reduce过程,reduce根据用户的最大突变比例来排序,输出排好序的若干条值为《用户id,周用户电量突变的最大比例》的链表,其中每条链表表明了一类同性质的用电用户群。
193.在经mapreduce处理后输出的链表中,其最前的用户即是最可疑的窃电用户了,链表的前面第二节点中的用户为第二个可疑窃电用户了,依次类推。
194.实施例5
195.本发明实施例5提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现窃电辨识方法的指令,该方法包括:
196.获取台区用户信息、台区关口总电量和用户用电量信息;
197.基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区;
198.计算所述可疑台区内用户的一定累积时长的用电量变化率;
199.按照用电量变化率的大小排序,确定可疑窃电用户。
200.实施例6
201.本发明实施例6提供一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行时,用于实现如上所述的窃电辨识方法,该方法包括:
202.获取台区用户信息、台区关口总电量和用户用电量信息;
203.基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区;
204.计算所述可疑台区内用户的一定累积时长的用电量变化率;
205.按照用电量变化率的大小排序,确定可疑窃电用户。
206.实施例7
207.本发明实施例7提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行如上所述的窃电辨识方法,该方法包括:
208.获取台区用户信息、台区关口总电量和用户用电量信息;
209.基于台区用户信息、台区关口总电量和用户用电量信息,计算每个台区线损率,将线损率变化较大的台区作为窃电的可疑台区;
210.计算所述可疑台区内用户的一定累积时长的用电量变化率;
211.按照用电量变化率的大小排序,确定可疑窃电用户。
212.综上所述,本发明实施例所述的窃电辨识方法及系统,统计的数据更加全面,通过对全数据、全用户进行线损和用电量作更深入的统计分析,实现基于分布式海量数据库和并行计算的防窃电方法,特别适合于电力营销稽查人员锁定可疑的窃电用户。
213.依托sg186营销业务管理系统和电能信息采集系统,首先将防窃电所需的数据从上述两系统中的关系数据库导入hadoop平台的海量数据库中。而后利用hadoop平台所提供的mapreduce来并行地分析台区线损和用户用电量的各项统计指标,并根据指标值对全部用户作排名,使电力营销稽查人员可以根据排名来锁定可疑的窃电用户。相对于传统基于关系数据库的防窃电算法,这种基于海量和并行计算的方法能得到更精确的可疑窃电用户群体。可以为电力营销稽查人员全面分析本区域用电用户的使用情况,展现各用电用户长时间的历史记录信息,并从中找出疑似窃电的用户群,从而方便稽查人员采取进一步行动。
214.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序
产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
215.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
216.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
217.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
218.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明公开的技术方案的基础上,本领域技术人员在不需要付出创造性劳动即可做出的各种修改或变形,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献