电能计量数据处理方法、装置、计算机设备和存储介质
文献发布时间:2023-06-19 10:11:51
技术领域
本申请涉及电力系统技术领域,特别是涉及一种电能计量数据处理方法、装置、计算机设备和存储介质。
背景技术
随着电力系统的发展,越来越多的电力设备应运而生。随着电力设备的增多,电能计量采集运维工作逐渐成为电力企业一项基础又重要的工作,电力企业电能计量采集运维工作水平的高低影响着电力企业的经济效益和社会效益,企业提高电能计量运维水平是社会发展的必然趋势。电能计量采集运维的关键在于对采集到的电能计量数据进行合理管理,如果采集到的电能计量数据被破坏,则可能影响整个电力系统的正常运行。
传统技术中,通常将电能计量采集运维采集到的海量电能计量数据直接上传至服务器的数据库中,由服务器对海量电能计量数据进行统计管理。
然而,由于服务器接收到的电能计量数据数据量很大,很难避免电能计量数据被篡改,难以保证电能计量数据的可靠性。
发明内容
基于此,有必要针对上述技术问题,提供一种电能计量数据处理方法、装置、计算机设备和存储介质,能够防止电能计量数据被篡改,保证电能计量数据的可靠性。
第一方面,提供了一种电能计量数据处理方法,该方法包括:
获取数据操作请求;数据操作请求中包括数据标识;
从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值;
根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果;
根据验证结果执行与数据操作请求相应的操作。
在其中一个实施例中,根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果,包括:若第一哈希值和第二哈希值一致,则确定验证结果为数据实体未被篡改;若第一哈希值和第二哈希值不一致,则确定验证结果为数据实体被篡改。
在其中一个实施例中,根据验证结果执行与数据操作请求相应的操作,包括:若验证结果为数据实体未被篡改,则根据数据操作请求在电能计量数据库中对数据实体执行相应的操作;若验证结果为数据实体被篡改,则从区块链中获取数据标识对应的第一原始数据实体,并将第一原始数据实体替换电能计量数据库中的数据实体,并根据数据操作请求在电能计量数据库中对替换后的数据实体执行相应的操作。
在其中一个实施例中,上述电能计量数据处理方法还包括:按照预设时间周期,获取电能计量数据库中每个数据实体的第三哈希值,以及区块链中每个数据实体的第四哈希值;将每个第三哈希值和对应的第四哈希值进行比较,以验证电能计量数据库中的数据实体是否被篡改;若电能计量数据库中的数据实体被篡改,则从区块链中获取被篡改的数据实体对应的第二原始数据实体,并用第二原始数据实体替换被篡改的数据实体。
在其中一个实施例中,预设时间周期为根据数据实体在单位时间内被请求的次数确定。
在其中一个实施例中,上述电能计量数据处理方法还包括:对采集到的电能计量数据进行预处理,得到多个数据实体和各数据实体对应的标识信息;标识信息包括哈希值、时间戳、数据类型;将数据实体和各数据实体对应的标识信息通过中继站上传到电能计量数据中心进行分析管理,并存储至电能计量数据库中;以及将电能计量数据、数据实体、各数据实体对应的标识信息上传到区块链进行存储。
在其中一个实施例中,上述电能计量数据处理方法还包括:获取用户身份验证信息,身份验证信息包括用户身份标识;根据用户身份验证信息对用户身份和用户权限进行验证;若用户身份合法,且用户身份与用户权限匹配,则执行获取数据操作请求的步骤。
第二方面,提供了一种电能计量数据处理装置,装置包括:
第一获取模块,用于获取数据操作请求;数据操作请求中包括数据标识;
第二获取模块,用于从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值;
验证模块,用于根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果;
执行模块,用于根据验证结果执行与数据操作请求相应的操作。
第三方面,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述第一方面任一的电能计量数据处理方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面任一的电能计量数据处理方法。
上述电能计量数据处理方法、装置、计算机设备和存储介质,通过获取包括数据标识的数据操作请求,并从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值。根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果,根据验证结果执行与数据操作请求相应的操作。上述方法通过获取数据请求中数据标识对应的第一哈希值和第二哈希值,并根据第一哈希值和第二哈希值的比较结果,简单快速地判断数据标识对应的数据实体是否被篡改。根据判断结果执行相应的操作。从而可以有效避免电能计量数据库中的数据实体被篡改,保证了电能计量数据的可靠性。
附图说明
图1为一个实施例中电能计量数据处理方法的应用环境图;
图2为一个实施例中电能计量数据处理方法的框架示意图;
图3为一个实施例中电能计量数据处理方法的流程示意图;
图4为另一个实施例中电能计量数据处理方法的流程示意图;
图5为另一个实施例中电能计量数据处理方法的流程示意图;
图6为另一个实施例中电能计量数据处理方法的流程示意图;
图7为另一个实施例中电能计量数据处理方法中证书路径图;
图8为另一个实施例中电能计量数据处理方法的流程示意图;
图9为另一个实施例中电能计量数据处理方法的框架图;
图10为一个实施例中电能计量数据装置的结构框图;
图11为一个实施例中电能计量数据装置的结构框图;
图12为一个实施例中电能计量数据装置的结构框图;
图13为一个实施例中电能计量数据装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的电能计量数据处理方法,可以应用于如图1所示的应用环境中。该应用环境提供了一种计算机设备,该计算机设备可以是服务器也可以是终端。当该计算机设备为终端时,该终端可以但不限于是各种个人计算机、笔记本电脑或者平板电脑。该计算机设备的内部结构可以如图1所示,该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种电能计量数据处理方法。当该计算机设备为终端时,该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
可选的,在本申请实施例提供的电能计量数据处理方法,可以应用在计算机设备如图2所示的系统框架中。其中,该系统框架中的网络基础层201,用于实现与其他终端设备的网络连接;区块链核心技术层202,包括电能计量数据采集节点、电力传输基站、分布式数据中心节点、应用系统节点作为区块链节点,节点对完成账本数据分布式存储、交易验证、区块共识;服务层203,包括电能计量数据采集、传输、使用过程轨迹、操作轨迹、数据指纹提供存证、溯源接口;还包括对接收到的电能计量数据做预处理,并将接收到的电能计量数据转换成固定格式,分块存储到存储系统中,提取存储电能计量数据的元数据作为数据摘要存储上链;定期对存证的电能计量数据和存储系统的电能计量数据做验证,检查存储的电能计量数据的完整性、告警非法篡改,向用户反馈当前系统的评估结果;应用层204,用于基于区块链对电能计量数据进行存储。
在一个实施例中,如图3所示,提供了一种电能计量数据处理方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
步骤301,获取数据操作请求;数据操作请求中包括数据标识。
在本申请实施例中,当用户需要对电能计量数据进行相关操作时,用户可以通过计算机设备的输入装置向计算机设备输入数据操作请求。可选的,用户输入的数据操作请求可以包括用户需要对电能计量数据进行读取操作,还可以包括用户需要对电能计量数据进行变更操作,还可以包括用户需要对电能计量数据进行溯源操作,本申请实施例对用户输入的操作请求不做具体限定。
在本申请实施例中,用户向计算机设备输入数据操作请求时,数据操作请求中包括请求操作的电能计量数据对应的数据实体的数据标识,从而计算机设备可以根据用户输入的内容,读用户输入的数据操作请求,并通过数据操作请求中包括的数据标识,确定用户请求操作的数据实体。
步骤302,从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值。
在本申请实施例中,计算机设备在确实了用户请求操作的数据实体对应的数据标识之后,需要从电能计量数据库中查找数据标识对应的数据实体,为了保证发送给用户的电能计量数据的准确性,需要获取数据标识对应的数据实体的第二哈希值,实现对数据标识对应的数据实体的验证。其中,哈希值可以是通过一个单向的加密函数,对输入的任意长度的字符串进行计算得到的一个关于输入的字符串的特定密码。此外,哈希值具有以下特点:输入不同的字符串得到的哈希值不同;输入相同的字符串,得到的哈希值相同;根据哈希值不能计算得到相应的输入。
在本申请实施例中,计算机设备可以根据数据标识从区块链中获取数据标识对应的数据实体,并通过单向的加密函数,计算从区块链中获取数据标识对应的数据实体的第一哈希值。此外,计算机设备还可以根据数据标识从电能计量数据库中获取数据标识对应的数据实体,并通过单向的加密函数,计算从电能计量数据库中获取数据标识对应的数据实体的第二哈希值。
步骤303,根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果。
在本申请实施中,计算机设备在获取到数据标识对应的数据实体的第一哈希值和第二哈希值之后,可以分别读取第一哈希值和第二哈希值,并将第一哈希值和第二哈希值进行比较,通过比较结果判断数据标识对应数据实体是否被篡改,得到验证结果。
步骤304,根据验证结果执行与数据操作请求相应的操作。
在本申请实施例中,如果第一哈希值和第二哈希值相同,则验证结果为验证成功,证明电能计量数据库中的数据实体没有被篡改,计算机设备根据用户输入的数据操作请求,在电能计量数据库中提取数据标识对应的电能计量数据,并发送至用户,以供用户进行相应操作。
如果第一哈希值和第二哈希值不同,则验证结果为验证失败,证明电能计量数据库中的数据实体被篡改,计算机设备根据用户输入的数据操作请求,在区块链中提取数据标识对应的电能计量数据,并发送至用户,以供用户进行相应操作。
上述电能计量数据处理方法,通过获取包括数据标识的数据操作请求,并从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值。根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果,根据验证结果执行与数据操作请求相应的操作。上述方法通过获取数据请求中数据标识对应的第一哈希值和第二哈希值,并根据第一哈希值和第二哈希值的比较结果,简单快速地判断数据标识对应的数据实体是否被篡改。根据判断结果执行相应的操作。从而可以有效避免电能计量数据库中的数据实体被篡改,保证了电能计量数据的可靠性。
在一个实施例中,上述实施例中,步骤303“据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果”以及步骤304“根据验证结果执行与数据操作请求相应的操作”可以包括以下情况:
其中一种情况:若第一哈希值和第二哈希值一致,则确定验证结果为数据实体未被篡改,并根据数据操作请求在电能计量数据库中对数据实体执行相应的操作。
在本申请实施例中,计算机设备读取获取到的第一哈希值和第二哈希值,并将第一哈希值和第二哈希值中的每个字符进行逐一对比,若第一哈希值与第二哈希值中的每个字符均相同,则确定第一哈希值与第二哈希值相同,从而确实区块链中的数据实体与电能计量数据库中的数据实体相同,因此确定电能计量数据库中的数据实体没有被篡改。
在本申请实施例中,在电能计量数据库中的数据实体没有被篡改的情况下,计算机设备根据用户数据操作请求在在电能计量数据库中对数据实体执行相应的操作。
可以选的,如果用户输入的数据操作请求为读取数据标识对应的电能计量数据,则计算机设备从电能计量数据库中提取数据标识对应的电能计量数据,并将提取的电能计量数据发送给用户,以供用户读取数据标识对应的电能计量数据。
可选的,如果用户输入的数据操作请求为变更数据标识对应的电能计量数据,则计算机设备从电能计量数据库中提取数据标识对应的电能计量数据,并将提取出的电能计量数据存储至副本数据实体,并将电能计量数据发送至用户,以供用户进行电能计量数据变更。
其中另一种情况:若第一哈希值和第二哈希值不一致,则计算机设备确定验证结果为数据实体被篡改。计算机设备从区块链中获取数据标识对应的第一原始数据实体,并将第一原始数据实体替换电能计量数据库中的数据实体,并根据数据操作请求在电能计量数据库中对替换后的数据实体执行相应的操作。
在本申请实施中,计算机设备读取获取到的第一哈希值和第二哈希值,并将第一哈希值和第二哈希值中的每个字符进行逐一对比,若第一哈希值与第二哈希值中存在字符不相同的情况,则确定第一哈希值与第二哈希值不同,从而确实区块链中的数据实体与电能计量数据库中的数据实体不相同,因此确实电能计量数据库中的数据实体被篡改。
在本申请实施例中,在电能计量数据库中的数据实体被篡改的情况下,计算机设备从区块链中提取数据标识对应的第一原始数据实体,并将第一原始数据实体替换电能计量数据库中的数据实体,并根据数据操作请求在电能计量数据库中对替换后的数据实体执行相应的操作。
此外,在本申请实施例中,在电能计量数据库中的数据实体被篡改的情况下,计算机设备标识电能计量数据库中数据实体存在被篡改可能性,并将反馈到系统日志记录,由数据管理人员对日志分析,分析篡改原因,修复漏洞。
本实施例中,计算机设备通过比较第一哈希值和第二哈希值,并根据比较结果判断数据实体是否被篡改,针对数据实体是否被篡改分别执行相应的操作。其中一种情况,在第一哈希值和第二哈希值一致的情况下,说明电能计量数据库中的数据实体与区块链中的数据实体相同,计算机设备去确定电能计量数据库中的数据实体没有被篡改。在数据实体为被篡改的情况下,计算机设备根据数据操作请求在电能计量数据库中对数据实体执行相应的操作。其中另一种情况,在第一哈希值和第二哈希值不一致的情况下,说明电能计量数据库中的数据实体与区块链中的数据实体不同,计算机设备去确定电能计量数据库中的数据实体被篡改。计算机设备从区块链中获取数据标识对应的第一原始数据实体,并将第一原始数据实体替换电能计量数据库中的数据实体,并根据数据操作请求在电能计量数据库中对替换后的数据实体执行相应的操作。通过这样的方法,计算机设备可以很快判断电能计量数据库中的数据实体是否被篡改,并根据实体数据是否被篡改执行不同的操作,从而保证了电能计量数据库中的数据实体的可靠性。
在一个实施例中,如图4所示,上述电能计量数据处理方法,还可以包括一下步骤:
步骤401,计算机设备按照预设时间周期,获取电能计量数据库中每个数据实体的第三哈希值,以及区块链中每个数据实体的第四哈希值。
其中,预设时间周期为根据数据实体在单位时间内被请求的次数确定。
在本申请实施例中,智能电网、新型电力设备与电网信息系统的更新换代,电能计量物联网设备繁多、数据量庞大,为减轻数据溯源压力,需要对电能计量数据实时监测,保障数据溯源高效运行。因此需要对能计量数据库中每个数据实体进行周期性验证。
在本申请实施例中,计算机设备按照预设时间周期,对电能计量数据库中每个数据实体进行验证。预设时间周期的长短是决定某时刻数据实体真实性的关键,预设时间周期太短会消耗大量CPU资源,增加区块链负荷,数据吞吐量下降。预设时间周期过长又难以保证数据实体及时可靠性,所以需要对预设时间周期做动态的变化,因此,在本申请实施例中,预设时间周期可以根据数据实体在单位时间内被请求的次数确定。当数据实体在单位时间内被请求的次数增大时适当增长预设时间周期,减少验证数据实体的资源消耗;当数据实体在单位时间内被请求的次数较小时适当缩短预设时间周期,充分利用系统资源。
可选的,在本申请实施例中,计算机设备将在单位时间内被请求的次数超过次数阈值的数据实体确定为热度数据实体;将在单位时间内被请求的次数小于次数阈值的数据实体确定为冷藏数据实体。为了实时保证数据实体的真实性、完整性,计算机设备针对热度数据实体可以进行重点验证,可选的,对热度数据实体进行验证的预设时间周期可以比对冷藏数据实体进行验证的预设时间周期短一些。
例如,数据实体A在一天内被请求的次数为12次,而一天内数据实体被请求的次数阈值为10次,那么数据实体A一天内被请求的次数超过了次数阈值,因此,数据实体A可以确定为热度数据实体;而数据实体B在一天内被请求的次数为8次,那么数据实体B一天内被请求的次数小于次数阈值,因此,数据实体B可以确定为冷藏数据实体。针对数据实体A的预设时间周期可以为12个小时,针对数据实体B的预设时间周期可以为24个小时。因此,每隔12个小时对数据实体A进行验证,每隔24个小时对数据实体B进行验证。
在本申请实施例中,可选的,计算机设备按照预设时间周期,依次提取电能计量数据库中每个数据实体,并基于单向的加密函数分别计算电能计量数据库中的每个数据实体对应的第三哈希值。然后,计算机设备依次提取区块链中每个数据实体,并基于单向的加密函数分别计算区块链中的每个数据实体对应的第四哈希值。
步骤402,计算机设备将每个第三哈希值和对应的第四哈希值进行比较,以验证电能计量数据库中的数据实体是否被篡改。
在本申请实施例中,计算机设备根据各个数据实体对应的数据标识,将同一数据标识对应的第三哈希值和第四哈希值中的每个字符进行逐一对比,若存在第三哈希值与第四哈希值不同的情况,则确定第三哈希值与第四哈希值不同的数据标识对应的电能计量数据库中的数据实体被篡改了。标识此数据实体存在被篡改可能性,并反馈到系统日志记录,由数据管理人员对日志分析,分析篡改原因,修复漏洞。
在本申请实施例中,例如,电能计量数据库中的数据实体分别为数据实体C、数据实体D、数据实体E以及数据实体F,而区块链中的与数据实体C对应的数据实体为数据实体C1,与数据实体D对应的数据实体为数据实体D1,与数据实体E对应的数据实体为数据实体E1以及与数据实体F对应的数据实体为数据实体F1。计算机设备基于单向的加密函数分别计算电能计量数据库中的数据实体C、数据实体D、数据实体E以及数据实体F的第三哈希值,计算得到数据实体C对应的第三哈希值为c,数据实体D对应的第三哈希值为d,数据实体E对应的第三哈希值为e以及数据实体F对应的第三哈希值为f。计算机设备基于单向的加密函数分别计算区块链中的数据实体C1、数据实体D1、数据实体E1以及数据实体F1的第四哈希值,计算得到数据实体C1对应的第四哈希值为c1,数据实体D1对应的第四哈希值为d1,数据实体E1对应的第三哈希值为1e以及数据实体F1对应的第三哈希值为f1。计算机设备分别对比第三哈希值c和第四哈希值c1,第三哈希值d和第四哈希值d1,第三哈希值e和第四哈希值e1以及第三哈希值f和第四哈希值f1,以验证电能计量数据库中的数据实体是否被篡改。
步骤403,若电能计量数据库中的数据实体被篡改,则计算机设备从区块链中获取被篡改的数据实体对应的第二原始数据实体,并用第二原始数据实体替换被篡改的数据实体。
在本申请实施中,在电能计量数据库中的数据实体被篡改的情况下,计算机设备从区块链中提取被篡改的数据实体对应的第二原始数据实体,并利用第二原始数据实体替换电能计量数据库中被篡改的数据实体。
基于上述实施例中的例子,例如,若存在第三哈希值d和第四哈希值d1不同,则说明电能计量数据库中第三哈希值d对应的数据实体D被篡改了,计算机设备从区块链中提取第四哈希值d1对应的数据实体D1,利用数据实体D1替换电能计量数据库中的数据实体D。
可选的,在本申请实施例中,在电能计量数据库中第三哈希值d对应的数据实体D被篡改的情况下,计算机设备标识数据实体D存在被篡改可能性,并反馈到系统日志记录,由数据管理人员对日志分析,分析篡改原因,修复漏洞。
在本申请实施例中,为了判断电能计量数据库中各数据实体被篡改的可能性,引入了数据整体性安全指标,对各实体数据的安全性进行分析。在本申请实施例中,数据实体被篡改的可能性可以分为操作人身份和物联网终端设备两方面导致的数据实体篡改,其中:数据整体性安全指标T,可以由以下公式计算得到:
其中,当数据实体被篡改的可能性由操作人身份异常导致时,U
在本申请实施例中,当数据实体被篡改的可能性由物联网终端设备导致时,A
本实施例中,计算机设备根据数据实体在单位时间内被请求的次数确定预设时间周期,既可以保证实现对数据实体的验证,又可以保证不过多增加区块链的负荷。在确定预设时间周期之后,计算机设备按照预设时间周期,获取电能计量数据库中每个数据实体的第三哈希值,以及区块链中每个数据实体的第四哈希值,并将每个第三哈希值和对应的第四哈希值进行比较,以验证电能计量数据库中的数据实体是否被篡改。在电能计量数据库中的数据实体被篡改的情况下,计算机从区块链中获取被篡改的数据实体对应的第二原始数据实体,并用第二原始数据实体替换被篡改的数据实体。通过上述方法,计算机设备根据可以实现对电能计量数据库中的每一个数据实体进行验证,从而避免了电能计量数据库中数据实体被篡改,且保证了电能计量数据库中数据实体的可靠性。
在一个实施例中,如图5所示,上述电能计量数据处理方法,还可以包括一下步骤:
步骤501,计算机设备对采集到的电能计量数据进行预处理,得到多个数据实体和各数据实体对应的标识信息。
其中,标识信息包括哈希值、时间戳、数据类型。其中,各数据实体标识信息中的哈希值可以基于上述实施中的单向的加密函数计算得到。
在本申请实施例中,计算机设备可以根据预设的采集时间周期,周期性的从各个电能计量设备中采集电能计量数据。其中,电能计量设备可以包括电表、充电桩以及变压器等,本申请实施例对电能计量设备不做具体限定。
可选的,各个电能计量设备可以接收计算机设备发送的电能计量数据上传请求,并根据接收到的电能计量数据上传请求周期性地上传电能计量数据。
可选的,计算机设备还可以对用户进行身份验证,并在用户身份验证成功的情况下,允许用户输入电能计量数据,且用户输入的电能计量数据要包括用户的标识信息。本申请实施例,对计算机设备获取电能计量数据的方式不做具体限定。
在本申请实施例中,计算机设备对采集到的电能计量数据进行清洗,并将采集到的电能计量数据转化为链条数据格式,并将链条数据合适的电能计量数据根据获取时间以及对应的设备信息进行整合。可选的,可以将采集到的电能计量数据抽象为数据实体、数据活动、代理、附加信息四个方面,其中:数据实体可以包括:电能计量数据摘要,数据类型、哈希值、数据实体的数据标识、数据大小等;数据活动可以包括:活动事件编号、活动对象(数据实体)、活动类型、活动代理,其中,活动类型描述数据实体状态和数据实体的属性如何变化,可以包括数据新建、读取、增加、修改、删除、传输;代理可以是人或是软件,其操作对数据实体的状态变化负有责任,其操作流程将会被记录在区块链,代理数据中包括代理编号(可标识代理的身份唯一性)、代理名字、代理类型;附加信息可以为数据存证时,需要附加数字签名和时间戳。
步骤502,计算机设备将数据实体和各数据实体对应的标识信息通过中继站上传到电能计量数据中心进行分析管理,并存储至电能计量数据库中。
在本申请实施例中,中继站不对电能计量数据进行处理,只是起到数据传输的作用。
计算机设备将各数据实体以及数据实体对应的标识信息上传至中继站,中继站将接收到的各数据实体以及数据实体对应的标识信息上传至电能计量数据中心,由电能计量数据中心对各数据实体进行分析管理,并将各数据实体以及数据实体对应的标识信息存储至电能计量数据库中。
步骤503,计算机设备将电能计量数据、数据实体、各数据实体对应的标识信息上传到区块链进行存储。
在本申请实施例中,基于区块链具有的防篡改的特性,为了保证各电能计量数据、数据实体、各数据实体对应的标识信息不被篡改,计算机设备需要将各电能计量数据、数据实体、各数据实体对应的标识信息上传至区块链进行存储。
在本实施例中,计算机设备对采集到的电能计量数据进行预处理,得到多个数据实体和各数据实体对应的标识信息,并将数据实体和各数据实体对应的标识信息通过中继站上传到电能计量数据中心进行分析管理,并存储至电能计量数据库中。然后,计算机设备将电能计量数据、数据实体、各数据实体对应的标识信息上传到区块链进行存储。上述方法通过对采集的数据进行预处理,得到多个数据实体和各数据实体对应的标识信息,使得各电能计量数据的更加清楚有条理,避免了电能计量数据杂乱无章。此外,计算机设备将将数据实体和各数据实体对应的标识信息通过中继站上传到电能计量数据中心进行分析管理,并存储至电能计量数据库中,并将电能计量数据、数据实体、各数据实体对应的标识信息上传到区块链进行存储。通过上传到区块链可以有效防止电能计量数据被篡改,从而保证了电能计量数据的可靠性。
在一个实施例中,如图6所示,上述电能计量数据处理方法,还可以包括一下步骤:
步骤601,计算机设备获取用户身份验证信息。
其中,身份验证信息包括用户身份标识。用户身份标识可以是用户向计算机设备申请用户身份标识,计算机设备对用户进行验证之后,可以向用户颁发用户身份标识。
可选的,用户身份标识可以是计算机设备向用户颁发的身份验证证书。计算机设备可以根据证书路径(Certficate Path)用户颁发身份验证证书。其中,证书路径也称为信任路径或证书链,它是指一连串相互关联的证书通过特定的约束构成的一条可信任的路径。通过验证证书路径的有效性,可以判断目标证书及其持有者是否可信任。证书路径创建的目的是给定一个目标证书能够找到一条连接信任锚点之间完整的证书链。证书链是由一系列的证书组成,其结构为c
本申请实施例中,以经典树形证书模型为例,如下图7所示,用户U1的信任锚点为CA1,当U1和U2发放证书父节点不同时,U1和U2可通过回溯证书锚点,当证书锚点相同时即可相互验证。
证书链验证是验证相邻两证书节点可信任性的迭代集合,其验证前提是相邻节点是发放证书与接收证书的关系,即存在证书c
在本申请实施例中,在用户需要对电能计量数据进行相关操作时,用户可以向计算机设备输入身份验证信息,从而使得计算机设备可以获取到用户身份验证信息。
步骤602,计算机设备根据用户身份验证信息对用户身份和用户权限进行验证。
在本申请实施例中,可选的,计算机设备向用户颁发的用户身份标识存在保质期,当用户身份标识超过保质期,则用户身份标识失效,用户将无法对电能计量数据进行相关操作。此外,用户身份标识的安全性随着用户身份标识颁发时间的延长而降低,用户身份标识使用时间越长,其被破解的可能性越高。
在本申请实施例中,在获取到用户身份验证信息之后,计算机设备需要对用户身份进行验证,基于身份验证信息中的用户身份标识,检测计算机设备数据库中是否存储有次用户身份标识,若存储有此用户身份标识,则证明用户身份初步合法。在用户身份初步合法之后,根据用户身份标识的有效期以及用户身份标识颁发的日期,判断用户身份标识是否在保质期内,若用户身份标识在保质期内,则计算机设备确定用户身份合法。
在本申请实施例中,计算机设备还需要根据用户身份标识,在数据库中查验此用户身份标识对应的用户权限等级,从而确定用户身份标识对应的权限等级。
步骤603,若用户身份合法,且用户身份与用户权限匹配,则计算机设备执行获取数据操作请求的步骤。
在本申请实施例中,在计算机确定用户身份合法,且用户身份与用户权限匹配的情况下,计算机设备可以接收用户输入的数据操作请求。
可选的,每个数据实体在生成阶段就创建了权限标签,归属不同等级,在用户身份不合法,或者用户权限与数据操作请求中请求操作的数据实体权限不匹配时,计算及设备驳回用户数据操作请求,同时记录在系统日志中,并将用户地址等信息记录可疑名单,从而杜绝不合法用户的篡改行为。
在本申请实施例中,计算机设备通过获取用户身份验证信息,并根据用户身份验证信息对用户身份和用户权限进行验证。此外,只有在用户身份合法,且用户身份与用户权限匹配的情况下,计算机设备执行获取数据操作请求的步骤。从而可以避免身份不合法或者权限不匹配的用户对电能计量数据进行操作,避免了电能计量数据被篡改,保证了电能计量数据的可靠性。
为了更好的说明本申请的提供的电能计量数据处理方法,提供一种电能计量数据处理方法的整体流程方面进行解释说明的实施例,如图8所示,该方法包括:
步骤801,计算机设备对采集到的电能计量数据进行预处理,得到多个数据实体和各数据实体对应的标识信息。
步骤802,计算机设备将数据实体和各数据实体对应的标识信息通过中继站上传到电能计量数据中心进行分析管理,并存储至电能计量数据库中。
步骤803,计算机设备将电能计量数据、数据实体、各数据实体对应的标识信息上传到区块链进行存储。
步骤804,计算机设备根据数据实体在单位时间内被请求的次数确定预设时间周期。
步骤805,计算机设备按照预设时间周期,获取电能计量数据库中每个数据实体的第三哈希值,以及区块链中每个数据实体的第四哈希值。
步骤806,计算机设备将每个第三哈希值和对应的第四哈希值进行比较,以验证电能计量数据库中的数据实体是否被篡改。
步骤807,计算机设备若电能计量数据库中的数据实体被篡改,则从区块链中获取被篡改的数据实体对应的第二原始数据实体,并用第二原始数据实体替换被篡改的数据实体。
步骤808,计算机设备获取用户身份验证信息,身份验证信息包括用户身份标识。
步骤809,计算机设备根据用户身份验证信息对用户身份和用户权限进行验证。
步骤810,若用户身份合法,且用户身份与用户权限匹配,则计算机设备执行获取数据操作请求的步骤。
步骤811,计算机设备获取数据操作请求;数据操作请求中包括数据标识。
步骤812,计算机设备从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值。
步骤813,计算机设备根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果;若第一哈希值和第二哈希值一致,则执行步骤814;第一哈希值和第二哈希值不一致,则执行步骤816。
步骤814,计算机设备确定验证结果为数据实体未被篡改,执行步骤815。
步骤815,计算机设备根据数据操作请求在电能计量数据库中对数据实体执行相应的操作。
步骤816,计算机设备确定验证结果为数据实体被篡改,执行步骤617。
步骤817,计算机设备从区块链中获取数据标识对应的第一原始数据实体,并将第一原始数据实体替换电能计量数据库中的数据实体,并根据数据操作请求在电能计量数据库中对替换后的数据实体执行相应的操作。
请参见图9,其示出了本申请提供一种可选的电能计量数据处理方法的框架图,其中:
数据采集层,用于用户采集电能计量数据对应的终端设备的电能计量数据,并将采集到的电能计量数据上传至区块链;其中,终端设备可以包括电表和充电桩;
数据处理层,用于基于边缘节点将对上传的电能计量数据做预处理,并对每个数据块生成唯一标识码、时间戳、采集设备名称、阶段类型、数据Hash值等,将预处理后的电能计量数据上传至区块链;
数据传输站,用于基于中继站将数据处理层的数据传输至数据平台中的电能计量数据中心,并将电能计量数据上传至区块链;
数据平台,用于基于电能计量数据中心对电能计量数据进行分析管理以及存储;
区块链,用于存储各个节点的电能计量数据源,其中,B1为区块链中的区块,用于存储电能计量数据;T1为电能计量数据的交易及处理;H1为各个区块链中区块的区块头,用于标识各区块,各区块之间通过区块头连接;M1为区块中的元数据;D1为区块中的存储的电能计量数据;
异常监测,用于周期性验证电能计量数据中心的电能计量数据;
应用系统,用于存储电能计量数据中心中电能计量数据对应的摘要数据;
用户/机构,可以向数据平台发送数据操作请求,并对用户的证书或者权限进行验证,在验证成功的情况下,用户/机构可以通过应用系统获取数据操作请求中的相关数据。
应该理解的是,虽然图3-6的流程图以及8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-6以及图8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种电能计量数据处理装置,包括:第一获取模块1001、第二获取模块1002、第一验证模块1003和第一执行模块1004,其中:
第一获取模块1001,用于获取数据操作请求;数据操作请求中包括数据标识。
第二获取模块1002,用于从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值。
第一验证模块1003,用于根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果。
第一执行模块1004,用于根据验证结果执行与数据操作请求相应的操作。
在一个实施例中,上述验证模块1003,具体用于:若第一哈希值和第二哈希值一致,则确定验证结果为数据实体未被篡改;若第一哈希值和第二哈希值不一致,则确定验证结果为数据实体被篡改。
在一个实施例中,上述第一执行模块1004,具体用于:若验证结果为数据实体未被篡改,则根据数据操作请求在电能计量数据库中对数据实体执行相应的操作;若验证结果为数据实体被篡改,则从区块链中获取数据标识对应的第一原始数据实体,并将第一原始数据实体替换电能计量数据库中的数据实体,并根据数据操作请求在电能计量数据库中对替换后的数据实体执行相应的操作。
在一个实施例中,如图11所示,上述电能计量数据处理装置1000,还包括:第三获取模块1005、比较模块1006以及替换模块10010,其中:
第三获取模块1005,用于按照预设时间周期,获取电能计量数据库中每个数据实体的第三哈希值,以及区块链中每个数据实体的第四哈希值。
比较模块1006,用于将每个第三哈希值和对应的第四哈希值进行比较,以验证电能计量数据库中的数据实体是否被篡改。
替换模块1007,用于在电能计量数据库中的数据实体被篡改的情况下,从区块链中获取被篡改的数据实体对应的第二原始数据实体,并用第二原始数据实体替换被篡改的数据实体。
在一个实施例中,上述第三获取模块1005,还用于根据数据实体在单位时间内被请求的次数确定预设时间周期。
在一个实施例中,如图12所示,上述电能计量数据处理装置1000,还包括:预处理模块1008、上传模块1009以及存储模块1010,其中:
预处理模块1008,用于对采集到的电能计量数据进行预处理,得到多个数据实体和各数据实体对应的标识信息;标识信息包括哈希值、时间戳、数据类型。
上传模块1009,用于将数据实体和各数据实体对应的标识信息通过中继站上传到电能计量数据中心进行分析管理,并存储至电能计量数据库中。
存储模块1010,用于将电能计量数据、数据实体、各数据实体对应的标识信息上传到区块链进行存储。
在一个实施例中,如图13所示,上述电能计量数据处理装置1000,还包括:第四获取模块1011、第二验证模块1012以及第二执行模块1013,其中:
第四获取模块1011,用于获取用户身份验证信息,身份验证信息包括用户身份标识。
第二验证模块1012,用于根据用户身份验证信息对用户身份和用户权限进行验证。
第二执行模块1013,用于在用户身份合法,且用户身份与用户权限匹配的情况下,执行获取数据操作请求的步骤。
关于电能计量数据处理装置的具体限定可以参见上文中对于电能计量数据处理方法的限定,在此不再赘述。上述电能计量数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取数据操作请求;数据操作请求中包括数据标识;从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值;根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果;根据验证结果执行与数据操作请求相应的操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若第一哈希值和第二哈希值一致,则确定验证结果为数据实体未被篡改;
若第一哈希值和第二哈希值不一致,则确定验证结果为数据实体被篡改。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若验证结果为数据实体未被篡改,则根据数据操作请求在电能计量数据库中对数据实体执行相应的操作;若验证结果为数据实体被篡改,则从区块链中获取数据标识对应的第一原始数据实体,并将第一原始数据实体替换电能计量数据库中的数据实体,并根据数据操作请求在电能计量数据库中对替换后的数据实体执行相应的操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:按照预设时间周期,获取电能计量数据库中每个数据实体的第三哈希值,以及区块链中每个数据实体的第四哈希值;将每个第三哈希值和对应的第四哈希值进行比较,以验证电能计量数据库中的数据实体是否被篡改;若电能计量数据库中的数据实体被篡改,则从区块链中获取被篡改的数据实体对应的第二原始数据实体,并用第二原始数据实体替换被篡改的数据实体。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:预设时间周期为根据数据实体在单位时间内被请求的次数确定。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对采集到的电能计量数据进行预处理,得到多个数据实体和各数据实体对应的标识信息;标识信息包括哈希值、时间戳、数据类型;将数据实体和各数据实体对应的标识信息通过中继站上传到电能计量数据中心进行分析管理,并存储至电能计量数据库中;将电能计量数据、数据实体、各数据实体对应的标识信息上传到区块链进行存储。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取用户身份验证信息,身份验证信息包括用户身份标识;根据用户身份验证信息对用户身份和用户权限进行验证;若用户身份合法,且用户身份与用户权限匹配,则执行获取数据操作请求的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取数据操作请求;数据操作请求中包括数据标识;从区块链中获取数据标识对应的第一哈希值,以及从电能计量数据库中获取数据标识对应的第二哈希值;根据第一哈希值和第二哈希值验证数据标识对应的数据实体是否被篡改,得到验证结果;根据验证结果执行与数据操作请求相应的操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若第一哈希值和第二哈希值一致,则确定验证结果为数据实体未被篡改;
若第一哈希值和第二哈希值不一致,则确定验证结果为数据实体被篡改。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若验证结果为数据实体未被篡改,则根据数据操作请求在电能计量数据库中对数据实体执行相应的操作;若验证结果为数据实体被篡改,则从区块链中获取数据标识对应的第一原始数据实体,并将第一原始数据实体替换电能计量数据库中的数据实体,并根据数据操作请求在电能计量数据库中对替换后的数据实体执行相应的操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:按照预设时间周期,获取电能计量数据库中每个数据实体的第三哈希值,以及区块链中每个数据实体的第四哈希值;将每个第三哈希值和对应的第四哈希值进行比较,以验证电能计量数据库中的数据实体是否被篡改;若电能计量数据库中的数据实体被篡改,则从区块链中获取被篡改的数据实体对应的第二原始数据实体,并用第二原始数据实体替换被篡改的数据实体。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预设时间周期为根据数据实体在单位时间内被请求的次数确定。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对采集到的电能计量数据进行预处理,得到多个数据实体和各数据实体对应的标识信息;标识信息包括哈希值、时间戳、数据类型;将数据实体和各数据实体对应的标识信息通过中继站上传到电能计量数据中心进行分析管理,并存储至电能计量数据库中;将电能计量数据、数据实体、各数据实体对应的标识信息上传到区块链进行存储。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取用户身份验证信息,身份验证信息包括用户身份标识;根据用户身份验证信息对用户身份和用户权限进行验证;若用户身份合法,且用户身份与用户权限匹配,则执行获取数据操作请求的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
- 电能计量数据处理方法、装置、计算机设备和存储介质
- 电能计量设备自动校准方法、计算机设备及存储介质