1.一种基于电力用户实时标签的交易双向推荐系统,其特征在于:包括,电力数据采集模块用于采集电力用户行为数据;
实时计算模块用于接收用户行为数据并进行批量计算;
电力交易数据库用于存储电力交易数据;
智能评分模块用于通过电力交易数据对发电企业进行评估;
智能推荐模块用于将若干评分高的发电企业推荐给无合同电力用户;
显示模块用于接收智能推荐模块的推荐数据并显示;
所述电力数据采集模块、所述实时计算模块、电力交易数据库、智能评分模块、智能推荐模块以及显示模块依次电连接;
所述实时计算模块包括任务协调管理节点和任务计算服务节点,所述任务协调管理节点与所述任务计算服务节点相通讯,所述任务协调管理节点用于任务分发与计算资源管理,所述任务计算服务节点用于执行计算任务;
所述基于电力用户实时标签的交易双向推荐系统的推荐方法,其特征在于:步骤S1:通过电力数据采集模块将电力用户的行为数据进行采集,并发送至实时计算模块;
步骤S2:实时计算模块对采集到的行为数据进行分配和计算;
步骤S3:实时计算模块将计算结果上传至电力交易数据库;
步骤S4:智能评分模块获取电力交易数据库的数据并进行智能评分;
步骤S5:智能推荐模块将评分结果进行排序,并将评分高的若干个发电企业推荐给无合同电力用户;
步骤S6:电力用户通过显示模块接收推荐数据并进行显示;
在步骤S1中,对所接受的每条数据默认存在本地队列缓存中,后台定时任务会将本地队列中收到的数据,按照每间隔一定时间批量提交给实时计算模块的管理节点;
步骤S2具体为:
步骤S21:任务协调管理节点对于电力数据采集模块所发送电力用户行为数据,先保存在本地双端队列中,按配置文件所设定的任务计算周期,每次将内存中任务数据中当前时刻用户信息取出,统一加工成每条信息以用户设备ID或其他唯一标识为主键聚合的JSON列表;
步骤S22:判定当前时刻,上批计算任务是否结束,当上批计算任务没有结束时,如果当前内存中待执行任务数据集队列中元素个数小于设定的最大延迟个数,则直接将当前加工好的聚合Json列表存入内存中待执行任务数据集队列;否则,取当前时间戳为文件名将当前加工好的聚合Json列表存入延迟任务目录下,并记录在内存中有序待执行任务ID集合中;
当上批计算任务结束时,如果当前内存中待执行任务数据集队列元素个数为0,则意味着无延迟任务,此时,直接启动新线程将当前加工好的聚合Json列表分发给任务计算节点计算;如果当前内存中待执行任务数据集队列元素个数大于0,则有延迟任务,先从内存中待执行任务数据集队列中取出延迟最久的数据块执行计算任务;如果当前内存中待执行任务数据集队列元素个数大于设定的最大延迟个数,此时将最新得到的当前加工好的聚合Json列表写入延迟任务目录文件中。
2.根据权利要求1所述的一种基于电力用户实时标签的交易双向推荐系统,其特征在于,步骤S4具体为:步骤S41:通过电力用户负荷分布特性计算电力用户级别;
当用户的特性参数满足:A≤‑10%或B≥10%时,用户为1级用户;
当用户的特性参数满足:‑10%<A≤10%且B<10%或A>‑10%且‑10%≤B<10%
或-10%≤C≤10%时,
用户为2级用户;
当用户的特性参数满足:A>10%且B≤10%
或A≥-10%且B<-10%
或C<-10%或C>10%的用户为3级用户;
其中,A为高峰期用电量的评级,B为低谷期用电量的评级,C为用电平稳性,其计算公式如下:A=(峰段电量-平段电量)/平段电量;
B=(谷段电量-平段电量:)/平段电量;
C=峰谷差;
步骤S42:根据发电厂数据进行排序并与用户用电行为数据进行匹配;
调取待匹配电厂去年各月的月度总发电量,判断其各月是否满发,获取未满发的月份的发电数据,并根据未发满的月份的发电数据计算用户与该电厂的月度变动电量累计百分比x,计算公式如下:其中,y为用户月用电量, 为用户月度平均用电量,c为电厂月剩余容量;
计算不同电厂与该用户的月度变动电量累计百分比,按月度变动电量累计百分比降序生成推荐电厂排序表。
3.根据权利要求1所述的一种基于电力用户实时标签的交易双向推荐系统,其特征在于,步骤S5具体为:当用户选择智能推荐模块推荐的发电企业或售电企业后,向无合同电力用户选择的发电企业或售电企业推荐无合同电力用户信息。