数据处理方法及其装置、系统、电子设备

文档序号:1953148 发布日期:2021-12-10 浏览:14次 >En<

阅读说明:本技术 数据处理方法及其装置、系统、电子设备 (Data processing method and device, system and electronic equipment thereof ) 是由 潘鸣宇 王伟贤 李香龙 孙舟 陈振 赵宇彤 袁小溪 李卓群 刘祥璐 于 2021-09-02 设计创作,主要内容包括:本发明公开了一种数据处理方法及其装置、系统、电子设备。其中,该数据处理方法包括:获取链外电表数据,按照预设误差评估规则,对链外电表数据进行处理,之后对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端,采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果,采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果,将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链。本发明解决了相关技术中每个智能终端单独将获取的数据上传至区块链上,导致区块链网络压力增大,运行效率降低的技术问题。(The invention discloses a data processing method, a device and a system thereof and electronic equipment. The data processing method comprises the following steps: the method comprises the steps of obtaining data of the off-link ammeter, processing the data of the off-link ammeter according to a preset error evaluation rule, then carrying out initial digital signature on the data of the off-link ammeter, broadcasting an initial signature result and the data of the off-link ammeter to at least one other intelligent terminal in a terminal battery, verifying authenticity of the data of the off-link ammeter by adopting a public key fragment and a preset signature verification algorithm to obtain a verification result, carrying out digital signature on the data of the off-link ammeter by adopting a complete private key, a system time stamp and a first preset signature algorithm to obtain a digital signature result, and uploading an initial signature result set, the data of the off-link ammeter and the digital signature result to a power block chain. The invention solves the technical problems that in the related art, each intelligent terminal independently uploads the acquired data to the block chain, so that the network pressure of the block chain is increased, and the operation efficiency is reduced.)

数据处理方法及其装置、系统、电子设备

技术领域

本发明涉及数据处理技术领域,具体而言,涉及一种数据处理方法及其装置、系统、电子设备。

背景技术

相关技术中,现有的预言机技术提供了一种使智能合约能够请求链外数据的途径,预言机作为智能合约与外部世界通信的网关,能够将链外的数据真实准确地输入到链内,从而保障链上数据的真实性,实现智能合约与外部世界进行可信的交互。

然而,由于单一的预言机节点(对应于智能终端)可能出现如下问题:(1)单点故障,(2)性能瓶颈,(3)中心化信任等,其无法保证数据的真实性和可靠性,因此,为了防止单节点预言机出现信任问题,设置多个节点共同执行预言机数据的请求处理,即在网络中设置多个不同的预言机节点,而且每个预言机都会从数据源获取数据。去中心化的预言机网络将区块链与链下数据相连,具有极高的安全性、可靠性和防篡改性。

现有的去中心化预言机模式中,每台预言机都需要响应发送至区块链上的智能合约(该智能合约部署于合约模块中,负责将所有数据聚合至单一数据点,然后发送至区块链),并触发执行相应的智能合约,能够有效防止部分节点提交错误数据,从而影响最终结果,保证了数据的真实可靠,同时,整个执行过程在链上完全公开透明,可信度高。但是,上述在智能合约内聚合的方法也会存在问题,即由于每个预言机节点都要单独将外部数据上传到区块链,容易造成区块链网络压力增大,运行效率低的问题。

此外,数据源可能存在诚信问题,用户在使用预言机时应先确认所访问的数据源是安全可靠的。然而,当用户访问到一个不安全的数据源时,不安全的数据很可能导致预言机返回一个错误的结果,虽然使用多数据源访问数据可以减少少数不诚信数据源,但是这种做法不具有通用性,因为并不是每一条数据都具备多个外部数据源供应,因此,预言机系统还需要考虑不诚信数据源的问题。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种数据处理方法及其装置、系统、电子设备,以至少解决相关技术中每个智能终端单独将获取的数据上传至区块链上,导致区块链网络压力增大,运行效率降低的技术问题。

根据本发明实施例的一个方面,提供了一种数据处理方法,包括:获取链外电表数据,并按照预设误差评估规则,对所述链外电表数据进行分析处理,得到处理后的链外电表数据;对所述链外电表数据进行初始数字签名,并将初始签名结果以及所述链外电表数据广播至终端池中的至少一个其它智能终端,其中,所述终端池包括:当前智能终端和参与数据获取的其它智能终端,所述当前智能终端被选举为所述终端池的聚合智能终端;采用公钥碎片和预设签名验证算法,验证所述链外电表数据的真实性,得到验证结果;采用完整私钥、系统时间戳和第一预设签名算法对所述链外电表数据进行数字签名,得到数字签名结果,其中,所述完整私钥是采用所述当前智能终端的私钥碎片和所述其它智能终端的私钥碎片合成得到的;将初始签名结果集合、所述链外电表数据以及所述数字签名结果上传至电力区块链,其中,所述初始签名结果集合是由所述当前智能终端整合各智能终端提交的初始签名结果形成的集合。

可选地,在获取链外电表数据之前,所述处理方法还包括:通过智能合约模块接收数据获取请求,其中,所述数据获取请求是数据请求模块按照预设周期向所述智能合约模块中的数据请求合约发送的;通过智能合约模块基于所述数据获取请求,生成数据请求列表;通过智能合约模块将所述数据请求列表发送至所述终端池,以调用所述终端池中的各智能终端获取链外电表数据。

可选地,在通过智能合约模块基于所述数据获取请求,生成数据请求列表之前,所述处理方法还包括:基于预设门限签名共识机制,对所述终端池生成一对公钥和私钥;基于所述终端池中的智能终端数量,对所述公钥和所述私钥进行碎片分割操作,得到公钥碎片和私钥碎片;将所述公钥碎片和所述私钥碎片分配给所述终端池中的所有参与获取链外电表数据的智能终端。

可选地,在通过智能合约模块基于所述数据获取请求,生成数据请求列表之前,所述处理方法还包括:基于预设门限签名共识机制,生成共享密钥;将共享密钥的密钥副本分配给所述终端池中的每个智能终端。

可选地,所述数据请求列表包括:所需的电力数据信息、公钥碎片、私钥碎片、密钥副本、预设门限值、所需的智能终端数量。

可选地,按照预设误差评估规则,对所述链外电表数据进行分析处理,得到处理后的链外电表数据的步骤,包括:基于预设误差评估规则,分析电表数据总表电量以及相应的电表数据分表总电量之间的误差值,其中,所述电表数据总表以及所述相应的电表数据分表为所述链外电表数据的一个数据获取单位;对所述误差值大于等于预设误差值的所述电表数据总表以及所述相应的电表数据分表进行标记,得到处理后的链外电表数据。

可选地,对所述链外电表数据进行初始数字签名,并将初始签名结果以及所述链外电表数据广播至终端池中的至少一个其它智能终端的步骤,包括:基于私钥碎片、密钥副本和第二预设签名算法对所述链外电表数据进行数字签名,计算得到所述初始签名结果;将所述初始签名结果以及所述链外电表数据广播至终端池中的至少一个其它智能终端。

可选地,在将所述初始签名结果以及所述链外电表数据广播至终端池中的至少一个其它智能终端之后,所述处理方法还包括:广播取消提交初始签名结果信息,并等待接收其它智能终端广播的取消提交初始签名结果信息,其中,接收的取消提交初始签名结果信息的数量大于等于预设门限值。

可选地,在采用公钥碎片和预设签名验证算法,验证所述链外电表数据的真实性,得到验证结果之后,所述处理方法还包括:在得到所述验证结果为真的数量大于等于预设门限值时,基于预设门限签名共识机制,得到共识结果。

可选地,在将初始签名结果集合、所述链外电表数据以及所述数字签名结果上传至电力区块链之后,所述处理方法还包括:根据所述初始签名结果集合中的各智能终端提交的初始签名结果,通过智能合约模块中的信誉合约对所述各智能终端进行评估,得到评估结果;依据所述评估结果,对所述各智能终端执行奖励操作或惩罚操作。

可选地,所述智能合约模块中的信誉合约对各智能终端的信誉评估指标包括下述至少之一:任务响应时间、广播结果时间、被分配的数据请求总数、完成的数据请求总数、被接受的反馈结果总数。

根据本发明实施例的另一方面,还提供了一种数据处理系统,包括:异构终端池网络、智能合约模块、数据请求模块、数据存储节点,其中,所述异构终端池网络包括至少两个终端池,其中,所述异构终端池网络中的每个终端池执行不同的数据请求智能合约的数据获取命令,所述终端池包括至少两个智能终端,所述智能终端用于在获取链外电表数据后,采用公钥碎片和预设签名验证算法,验证所述链外电表数据的真实性,得到验证结果,并采用门限签名共识机制得到共识结果,采用完整私钥、系统时间戳和第一预设签名算法对所述链外电表数据进行数字签名,得到数字签名结果;所述智能合约模块包括数据请求合约和信誉合约,将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链,其中,所述数据请求合约,与所述数据请求模块交互,用于接收数据请求模块的数据访问请求、向终端池发送数据请求列表、接收聚合智能终端返回的链外电表数据以及数字签名,所述信誉合约,用于跟踪、计算和管理所述智能终端的信誉,计算每个所述智能终端的总体平均信誉分数、选择最高得分智能终端和返回给定智能终端地址的平均声誉分数;所述数据请求模块,按照预设周期调用所述数据请求合约,并向所述数据请求合约发送数据获取请求;所述数据存储节点包括下述至少之一:数据存储终端、系统存储节点、云存储节点。

根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:获取单元,用于获取链外电表数据,并按照预设误差评估规则,对所述链外电表数据进行分析处理,得到处理后的链外电表数据;广播单元,用于对所述链外电表数据进行初始数字签名,并将初始签名结果以及所述链外电表数据广播至终端池中的至少一个其它智能终端,其中,所述终端池包括:当前智能终端和参与数据获取的其它智能终端,所述当前智能终端被选举为所述终端池的聚合智能终端;验证单元,用于采用公钥碎片和预设签名验证算法,验证所述链外电表数据的真实性,得到验证结果;签名单元,用于采用完整私钥、系统时间戳和第一预设签名算法对所述链外电表数据进行数字签名,得到数字签名结果,其中,所述完整私钥是采用所述当前智能终端的私钥碎片和所述其它智能终端的私钥碎片合成得到的;上传单元,用于将初始签名结果集合、所述链外电表数据以及所述数字签名结果上传至电力区块链,其中,所述初始签名结果集合是由所述当前智能终端整合各智能终端提交的初始签名结果形成的集合。

可选地,所述处理装置还包括:第一接收模块,用于在获取链外电表数据之前,通过智能合约模块接收数据获取请求,其中,所述数据获取请求是数据请求模块按照预设周期向所述智能合约模块中的数据请求合约发送的;第一生成模块,用于通过智能合约模块基于所述数据获取请求,生成数据请求列表;第一发送模块,用于通过智能合约模块将所述数据请求列表发送至所述终端池,以调用所述终端池中的各智能终端获取链外电表数据。

可选地,所述处理装置还包括:第二生成模块,用于在通过智能合约模块基于所述数据获取请求,生成数据请求列表之前,基于预设门限签名共识机制,对所述终端池生成一对公钥和私钥;第一分割模块,用于基于所述终端池中的智能终端数量,对所述公钥和所述私钥进行碎片分割操作,得到公钥碎片和私钥碎片;第一分配模块,用于将所述公钥碎片和所述私钥碎片分配给所述终端池中的所有参与获取链外电表数据的智能终端。

可选地,所述处理装置还包括:第三生成模块,用于在通过智能合约模块基于所述数据获取请求,生成数据请求列表之前,基于预设门限签名共识机制,生成共享密钥;第二分配模块,用于将共享密钥的密钥副本分配给所述终端池中的每个智能终端。

可选地,所述数据请求列表包括:所需的电力数据信息、公钥碎片、私钥碎片、密钥副本、预设门限值、所需的智能终端数量。

可选地,所述获取单元包括:第一分析模块,用于基于预设误差评估规则,分析电表数据总表电量以及相应的电表数据分表总电量之间的误差值,其中,所述电表数据总表以及所述相应的电表数据分表为所述链外电表数据的一个数据获取单位;第一标记模块,用于对所述误差值大于等于预设误差值的所述电表数据总表以及所述相应的电表数据分表进行标记,得到处理后的链外电表数据。

可选地,所述广播单元包括:第一计算模块,用于基于私钥碎片、密钥副本和第二预设签名算法对所述链外电表数据进行数字签名,计算得到所述初始签名结果;第一广播模块,用于将所述初始签名结果以及所述链外电表数据广播至终端池中的至少一个其它智能终端。

可选地,所述处理装置还包括:第二广播模块,用于在将所述初始签名结果以及所述链外电表数据广播至终端池中的至少一个其它智能终端之后,广播取消提交初始签名结果信息,并等待接收其它智能终端广播的取消提交初始签名结果信息,其中,接收的取消提交初始签名结果信息的数量大于等于预设门限值。

可选地,所述处理装置还包括:第一得到模块,用于在采用公钥碎片和预设签名验证算法,验证所述链外电表数据的真实性,得到验证结果之后,在得到所述验证结果为真的数量大于等于预设门限值时,基于预设门限签名共识机制,得到共识结果。

可选地,所述处理装置还包括:第一评估模块,用于在将初始签名结果集合、所述链外电表数据以及所述数字签名结果上传至电力区块链之后,根据所述初始签名结果集合中的各智能终端提交的初始签名结果,通过智能合约模块中的信誉合约对所述各智能终端进行评估,得到评估结果;第一执行模块,用于依据所述评估结果,对所述各智能终端执行奖励操作或惩罚操作。

可选地,所述智能合约模块中的信誉合约对各智能终端的信誉评估指标包括下述至少之一:任务响应时间、广播结果时间、被分配的数据请求总数、完成的数据请求总数、被接受的反馈结果总数。

根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的数据处理方法。

在本申请中,获取链外电表数据,并按照预设误差评估规则,对链外电表数据进行分析处理,得到处理后的链外电表数据,对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端,其中,终端池包括:当前智能终端和参与数据获取的其它智能终端,当前智能终端被选举为终端池的聚合智能终端,采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果,采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果,将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链。本申请通过对终端池中的各智能终端获取的链外电表数据的真实性进行验证,在达成共识后,选举一个智能终端(聚合智能终端)统一聚合所有数据并上传至电力区块链,不仅保证了数据上链过程的安全性与可靠性,而且有效解决了使用现有的链上聚合方案导致区块链网络压力大、运行效率低的问题,进而解决了相关技术中每个智能终端单独将获取的数据上传至区块链上,导致区块链网络压力增大,运行效率降低的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的数据处理方法的流程图;

图2是根据本发明实施例的一种可选的各智能终端间的数字签名与签名验证的流程图;

图3是根据本发明实施例的一种可选的面向智能电表的分布式智能终端共识装置的示意图;

图4是根据本发明实施例的一种数据处理装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:

智能合约:是一种旨在以信息化方式传播、验证或执行合同的计算机协议,允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆。

区块链:是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。

预言机:是将区块链信息写入区块链内的机制,能够将区块链外部的事件、数据、支付消息写入到区块链的智能合约中。本申请中以智能终端作为预言机的执行载体进行示意说明。

本发明下述各实施例可应用于面向智能电表的分布式智能终端共识装置、系统,其中,智能终端可以为能够将区块链外部数据写入到区块链上的终端,例如,预言机等。

本发明通过以预设周期调用数据请求智能合约,使数据请求智能合约发送数据请求列表并调用终端池以获取链外数据,各智能终端对获得的数据进行准确性分析处理,并基于门限签名共识机制对获得的数据进行数字签名,之后进行广播、签名验证,在达成共识后,随机选举出聚合智能终端,其负责在链下收集各智能终端的广播结果、聚合共识结合、生成完整数据签名并上传数据至区块链上的智能合约,并且信誉合约能够根据各智能终端的数据获取表现执行奖励或惩罚操作。本发明通过设计面向智能电表业务场景的数据获取方式、数据准确性判断算法,以及异构终端池网络结构,同时利用门限签名算法的共识机制,保证了智能电报数据上链的准确性、高效性和可靠性,有效解决了区块链网络压力大、运行效率低的问题。

实施例一

根据本发明实施例,提供了一种数据处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的一种可选的数据处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤S102,获取链外电表数据,并按照预设误差评估规则,对链外电表数据进行分析处理,得到处理后的链外电表数据。

步骤S104,对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端,其中,终端池包括:当前智能终端和参与数据获取的其它智能终端,当前智能终端被选举为终端池的聚合智能终端。

步骤S106,采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果。

步骤S108,采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果,其中,完整私钥是采用当前智能终端的私钥碎片和其它智能终端的私钥碎片合成得到的。

步骤S110,将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链,其中,初始签名结果集合是由当前智能终端整合各智能终端提交的初始签名结果形成的集合。

通过上述步骤,可以获取链外电表数据,并按照预设误差评估规则,对链外电表数据进行分析处理,得到处理后的链外电表数据,对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端,其中,终端池包括:当前智能终端和参与数据获取的其它智能终端,当前智能终端被选举为终端池的聚合智能终端,采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果,采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果,将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链。本发明实施例通过对终端池中的各智能终端获取的链外电表数据的真实性进行验证,在达成共识后,选举一个智能终端统一聚合所有数据并上传至电力区块链,不仅保证了数据上链过程的安全性与可靠性,而且有效解决了使用现有的链上聚合方案导致区块链网络压力大、运行效率低的问题,进而解决了相关技术中每个智能终端单独将获取的数据上传至区块链上,导致区块链网络压力增大,运行效率降低的技术问题。

下面结合上述各步骤对本发明实施例进行详细说明。

下述步骤的执行主体可以为终端池中的某一智能终端。

步骤S102,获取链外电表数据,并按照预设误差评估规则,对链外电表数据进行分析处理,得到处理后的链外电表数据。

在本发明实施例中,通过智能终端获取链外电表数据,其中,智能终端可以为预言机,链外电力数据是指在电力数据区块链外的电力数据,可以从智能电表数据存储节点中以智能电表总表及其对应的分表为一个数据获取单位获取,之后将获得的链外电表数据,按照预设误差评估规则(即预设的误差判断算法)进行准确性分析处理,从而得到处理后的链外电表数据。

可选的,按照预设误差评估规则,对链外电表数据进行分析处理,得到处理后的链外电表数据的步骤,包括:基于预设误差评估规则,分析电表数据总表电量以及相应的电表数据分表总电量之间的误差值,其中,电表数据总表以及相应的电表数据分表为链外电表数据的一个数据获取单位;对误差值大于等于预设误差值的电表数据总表以及相应的电表数据分表进行标记,得到处理后的链外电表数据。

在本发明实施例中,能够在预言机池(即终端池)中通过内置的误差判断算法(即预设误差评估规则)计算智能电表总表Bn电量与其对应的分表Cni电量和之间的误差值,对电表数据进行误差判断,并根据误差判断结果对超出规定误差值(例如,以2%作为规定误差值进行示意性分析)的总表及其分表数据进行标记,得到处理后的链外电表数据。

可选的,在获取链外电表数据之前,处理方法还包括:通过智能合约模块接收数据获取请求,其中,数据获取请求是数据请求模块按照预设周期向智能合约模块中的数据请求合约发送的;通过智能合约模块基于数据获取请求,生成数据请求列表;通过智能合约模块将数据请求列表发送至终端池,以调用终端池中的各智能终端获取链外电表数据。

在本发明实施例中,数据请求模块Mi(i=1,2,...,n)以预设周期调用智能合约模块中的数据请求合约,向该数据请求合约发送数据获取请求,制定要获取的数据信息Dj(j=M1,M2,...,Mn),生成数据请求列表Li,之后链上数据请求合约将数据请求列表Li发送至预言机池(即终端池),调用各预言机节点(即智能终端)Oi获取链外智能电表数据(即获取链外电表数据)。

可选的,在通过智能合约模块基于数据获取请求,生成数据请求列表之前,处理方法还包括:基于预设门限签名共识机制,对终端池生成一对公钥和私钥;基于终端池中的智能终端数量,对公钥和私钥进行碎片分割操作,得到公钥碎片和私钥碎片;将公钥碎片和私钥碎片分配给终端池中的所有参与获取链外电表数据的智能终端。

在本实施例中,门限签名共识机制(t,n)会对一个获取数据的预言机池(即终端池)生成一对公钥PK和私钥SK,对公钥与私钥碎片化操作后,分发给预言机池中所有参与数据获取的预言机节点(即智能终端),各预言机节点获得各自的公钥碎片pki与私钥碎片ski,其中,t表示预设门限值,n表示获取数据所需的智能终端数量。

可选的,在通过智能合约模块基于数据获取请求,生成数据请求列表之前,处理方法还包括:基于预设门限签名共识机制,生成共享密钥;将共享密钥的密钥副本分配给终端池中的每个智能终端。

在本实施例中,门限签名共识机制(t,n)会生成一个全局临时共享密钥e,每个预言机节点(即智能终端)都会接收到e的密钥副本ei

可选的,数据请求列表包括:所需的电力数据信息、公钥碎片、私钥碎片、密钥副本、预设门限值、所需的智能终端数量。

在本实施例中,数据请求列表Li包括所需的电力数据信息Dj、基于门限签名共识机制生(t,n)成的公钥碎片pki和私钥碎片ski、达成共识的门限值t以及获取数据所需的预言机数量n。

步骤S104,对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端,其中,终端池包括:当前智能终端和参与数据获取的其它智能终端,当前智能终端被选举为终端池的聚合智能终端。

在本实施例中,在对链外电表数据进行准确性分析处理后,各智能终端可以该数据进行数字签名(即初始数字签名),最后将初始签名结果以及该链外电表数据广播至终端池中的其它智能终端,此外,可以在达成共识的智能终端中,根据随机数算法随机选举得到聚合智能终端。

可选的,对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端的步骤,包括:基于私钥碎片、密钥副本和第二预设签名算法对链外电表数据进行数字签名,计算得到初始签名结果;将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端。

在本实施例中,各预言机节点利用所分配到的私钥碎片ski、临时共享密钥副本ei和内置的数字签名算法(即第二预设签名算法)对智能电表数据(即链外电表数据)进行数字签名,计算部分数字签名并把结果(即初始签名结果)广播到预言机池中其他所有参与数据获取的预言机节点,随后广播prepared信息(即链外电表数据),其中,结果commi包括预言机获取的数据Ai、部分数字签名及其编号i。

可选的,在将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端之后,处理方法还包括:广播取消提交初始签名结果信息,并等待接收其它智能终端广播的取消提交初始签名结果信息,其中,接收的取消提交初始签名结果信息的数量大于等于预设门限值。

在本实施例中,各预言机节点在广播结果commi之后,广播“取消提交commi”的信息(即取消提交初始签名结果信息),并等待收到一组大于等于门限值t(即预设门限值)的合法取消提交的信息。

步骤S106,采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果。

在本实施例中,各智能终端利用相应的公钥碎片pki和内置的签名验证算法validii;(pki,e))(即预设签名验证算法)验证广播数据(即链外电表数据)的真实性,得到验证结果。

图2是根据本发明实施例的一种可选的各智能终端间的数字签名与签名验证的流程图,如图2所示,分为签名方预言机(即对链外电表数据进行签名的智能终端)和验证方预言机(即对签名方预言机发送的数据、签名进行验证的智能终端),签名方预言机的具体签名过程如下:签名方各预言机利用临时密钥ei对数据块Ai进行对称加密,得到对称加密Ai,之后利用MD5算法进行内容hash计算,得到散列值H1,再利用私钥碎片ski进行非对称加密,得到Enc(H1);验证方预言机的具体验证过程如下:接收签名方预言机发送的数据块Ai,利用临时密钥ei对数据块Ai进行对称加密,得到对称加密Ai,之后利用MD5算法进行内容hash计算,得到散列值H2,同时,接收签名方预言机发送的数据Enc(H1),利用公钥碎片pki进行非对称解密,得到散列值H1,之后,将得到的散列值H1和散列值H2进行对比,如果一致则数字签名认证成功,即验证成功。

可选的,在采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果之后,处理方法还包括:在得到验证结果为真的数量大于等于预设门限值时,基于预设门限签名共识机制,得到共识结果。

在本实施例中,通过门限签名共识机制(t,n)得出共识结果A,其中,A=Agg(Ai),Agg为多数函数,在门限签名共识机制中,对于同一个数据值A只有达到预设门限值(例如,门限值t个数量)的部分数字签名即当t台智能终端都获取到同一数据值A时,才能达成共识(即在得到验证结果为真的数量大于等于预设门限值时,得到共识结果)。

步骤S108,采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果,其中,完整私钥是采用当前智能终端的私钥碎片和其它智能终端的私钥碎片合成得到的。

在本实施例中,从最终达成共识的t台预言机(即智能终端)中根据随机数算法随机选举出一个预言机节点作为聚合预言机整合各预言机节点提交的commi形成集合Ci,再利用各私钥碎片ski合成的完整私钥SK、系统时间戳TS和数字签名算法(即第一预设签名算法)获得数据完整的数字签名∑(即数字签名结果)。

步骤S110,将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链,其中,初始签名结果集合是由当前智能终端整合各智能终端提交的初始签名结果形成的集合。

在本实施例中,聚合预言机(即当前智能终端可以被选举为聚合智能终端/聚合预言机)整合各预言机节点(即智能终端)提交的commi(即初始签名结果)形成集合Ci(即初始签名结果集合),之后由聚合预言机向电力区块链提交集合Ci、数据A及其完整的数字签名∑。

可选的,在将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链之后,处理方法还包括:根据初始签名结果集合中的各智能终端提交的初始签名结果,通过智能合约模块中的信誉合约对各智能终端进行评估,得到评估结果;依据评估结果,对各智能终端执行奖励操作或惩罚操作。

在本实施例中,信誉合约根据集合Ci中各预言机节点提交的commi情况(即根据初始签名结果集合中的各智能终端提交的初始签名结果)对各预言机节点(即智能终端)执行奖励或惩罚。

可选的,智能合约模块中的信誉合约对各智能终端的信誉评估指标包括下述至少之一:任务响应时间、广播结果时间、被分配的数据请求总数、完成的数据请求总数、被接受的反馈结果总数。

在本实施例中,信誉评估指标包括:任务响应时间:预言机完成整个数据请求的总时间;广播结果时间:预言机广播合法结果commi的时间点,如果预言机在t时间之后才广播合法结果commi,说明该预言机存在直接复制其他预言机的广播结果的嫌疑,是恶意节点,其中,t时间指首个诚实预言机节点广播取消提交信息的时间;被分配的数据请求总数:节点过去被分配的(包括完成和未完成的)数据请求总数;完成的数据请求总数:节点过去完成的数据请求总数,这个数字可以除以被分配的请求总数得出任务完成率;被接受的反馈结果总数:计算合约在比较各台预言机的响应后判定可以被接受的反馈结果总数,这个总数除以被分配的数据请求总数或完成的数据请求总数,可以得出准确率。

本发明实施例,对于面向智能电表的业务情景,设计以智能电表总表及其对应的分表为一个数据单位的预言机链下数据获取方式,并构建误差判断算法分析上链数据的准确性,有效解决数据源的诚信问题,同时通过设计基于门限签名算法的预言机共识机制,通过设计各预言机节点链下共识、统一聚合并上链的过程,在保证数据上链过程安全可靠的同时,有效解决了区块链网络压力大、运行效率低的问题。

实施例二

图3是根据本发明实施例的一种可选的面向智能电表的分布式智能终端共识装置的示意图,如图3所示,包括:电力数区块链、数据请求模块,智能合约模块(包括:信誉合约、数据请求合约)、预言机池、智能电表数据存储节点(包括:电力终端存储、电力系统存储、云端存储等),具体如下:

(1)调用数据请求合约:数据请求模块Mi(i=1,2,...,n)以预设周期调用数据请求合约,向该合约发送数据获取要求,制定要获取的数据信息Dj(j=M1,M2,...,Mn);

(2)发送数据请求列表:链上数据请求合约将数据请求列表Li发送至预言机池,调用各预言机节点Oi获取链外智能电表数据,其中,数据请求列表Li包括所需的电力数据信息Dj和基于(t,n)门限签名共识机制生成的公钥碎片pki和私钥碎片ski、达成共识的门限值t以及获取数据所需的预言机数量n;

(3)数据获取与准确性分析:

1),数据获取:各预言机节点以智能电表总表及其对应的分表为一个数据获取单位对智能电表数据存储节点进行检索数据操作,以获取链外智能电表数据;

2),准确性分析:在预言机池中通过内置的误差判断算法 计算智能电表总表Bn电量与其对应的分表Cni电量和间的误差值,对电表数据进行误差判断,并根据误差判断结果对超出规定误差值的总表及其分表数据进行标记;

(4)各预言机节点利用所分配到的私钥碎片ski、临时共享密钥副本ei和内置的数字签名算法对智能电表数据进行数字签名,计算部分数字签名 之后把结果广播到预言机池中其他所有参与数据获取的预言机节点,随后广播prepared信息;

(5)各预言机节点广播“取消提交commi”的信息,并等待收到一组大于或等于门限值t的合法取消提交的信息;

(6)各预言机节点接收到广播的commi后,利用相应的公钥碎片pki和内置的签名验证算法validii;(pki,e))验证广播数据真实性,并通过(t,n)门限签名共识机制得出共识结果A,其中,A=Agg(Ai),Agg为多数函数。在(t,n)门限签名共识机制中,对于同一个数据值A只有达到t个数量的部分数字签名即当t台预言机都获取到同一数据值A并对此达成共识,才会进入下一步计算数据的完整数字签名∑;

(7)从最终达成共识的t台预言机中根据随机数算法随机选举出一个预言机节点作为聚合预言机整合各预言机节点提交的commi形成集合Ci,再利用各私钥碎片ski合成的完整私钥SK、系统时间戳TS和数字签名算法获得数据完整的数字签名∑,最后由聚合预言机向链上数据请求合约提交集合Ci、数据A及其完整的数字签名∑(即向数据请求合约返回数据和数字签名);

(8)链上信誉合约根据集合Ci中各预言机节点提交的commi情况(即根据返回集合Ci)对各预言机节点执行奖励或惩罚,其中,信誉合约中的信誉衡量指标包括:

1),任务响应时间:预言机完成整个数据请求的总时间;

2),广播结果时间:预言机广播合法结果commi的时间点,如果预言机在t时间之后才广播合法结果commi,说明该预言机存在直接复制其他预言机的广播结果的嫌疑,是恶意节点,其中,t时间指首个诚实预言机节点广播取消提交信息的时间;

3),被分配的数据请求总数:节点过去被分配的(包括完成和未完成的)数据请求总数;

4),完成的数据请求总数:节点过去完成的数据请求总数,这个数字可以除以被分配的请求总数得出任务完成率;

5),被接受的反馈结果总数:计算合约在比较各台预言机的响应后判定可以被接受的反馈结果总数,这个数除以被分配的数据请求总数或完成的数据请求总数,可以得出准确率。

本发明实施例通过设计面向智能电表业务场景的数据获取方式、数据准确性判断算法,以及异构预言机池网络结构,同时利用基于门限签名算法的预言机共识机制,能够保证智能电报数据上链的准确性、高效性和可靠性,同时能够有效解决了区块链网络压力大、运行效率低的问题。

实施例三

本实施例中提供的一种数据处理装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。

图4是根据本发明实施例的一种数据处理装置的示意图,如图4所示,该处理装置可以包括:获取单元40,广播单元42,验证单元44,签名单元46,上传单元48,其中,

获取单元40,用于获取链外电表数据,并按照预设误差评估规则,对链外电表数据进行分析处理,得到处理后的链外电表数据;

广播单元42,用于对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端,其中,终端池包括:当前智能终端和参与数据获取的其它智能终端,当前智能终端被选举为终端池的聚合智能终端;

验证单元44,用于采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果;

签名单元46,用于采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果,其中,完整私钥是采用当前智能终端的私钥碎片和其它智能终端的私钥碎片合成得到的;

上传单元48,用于将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链,其中,初始签名结果集合是由当前智能终端整合各智能终端提交的初始签名结果形成的集合。

上述处理装置,可以通过获取单元40获取链外电表数据,并按照预设误差评估规则,对链外电表数据进行分析处理,得到处理后的链外电表数据,通过广播单元42对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端,其中,终端池包括:当前智能终端和参与数据获取的其它智能终端,当前智能终端被选举为终端池的聚合智能终端,通过验证单元44采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果,通过签名单元46采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果,通过上传单元48将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链。本发明实施例,通过对终端池中的各智能终端获取的链外电表数据的真实性进行验证,在达成共识后,选举一个智能终端统一聚合所有数据并上传至电力区块链,不仅保证了数据上链过程的安全性与可靠性,而且有效解决了使用现有的链上聚合方案导致区块链网络压力大、运行效率低的问题,进而解决了相关技术中每个智能终端单独将获取的数据上传至区块链上,导致区块链网络压力增大,运行效率降低的技术问题。

可选的,处理装置还包括:第一接收模块,用于在获取链外电表数据之前,通过智能合约模块接收数据获取请求,其中,数据获取请求是数据请求模块按照预设周期向智能合约模块中的数据请求合约发送的;第一生成模块,用于通过智能合约模块基于数据获取请求,生成数据请求列表;第一发送模块,用于通过智能合约模块将数据请求列表发送至终端池,以调用终端池中的各智能终端获取链外电表数据。

可选的,处理装置还包括:第二生成模块,用于在通过智能合约模块基于数据获取请求,生成数据请求列表之前,基于预设门限签名共识机制,对终端池生成一对公钥和私钥;第一分割模块,用于基于终端池中的智能终端数量,对公钥和私钥进行碎片分割操作,得到公钥碎片和私钥碎片;第一分配模块,用于将公钥碎片和私钥碎片分配给终端池中的所有参与获取链外电表数据的智能终端。

可选的,处理装置还包括:第三生成模块,用于在通过智能合约模块基于数据获取请求,生成数据请求列表之前,基于预设门限签名共识机制,生成共享密钥;第二分配模块,用于将共享密钥的密钥副本分配给终端池中的每个智能终端。

可选的,数据请求列表包括:所需的电力数据信息、公钥碎片、私钥碎片、密钥副本、预设门限值、所需的智能终端数量。

可选的,获取单元包括:第一分析模块,用于基于预设误差评估规则,分析电表数据总表电量以及相应的电表数据分表总电量之间的误差值,其中,电表数据总表以及相应的电表数据分表为链外电表数据的一个数据获取单位;第一标记模块,用于对误差值大于等于预设误差值的电表数据总表以及相应的电表数据分表进行标记,得到处理后的链外电表数据。

可选的,广播单元包括:第一计算模块,用于基于私钥碎片、密钥副本和第二预设签名算法对链外电表数据进行数字签名,计算得到初始签名结果;第一广播模块,用于将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端。

可选的,处理装置还包括:第二广播模块,用于在将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端之后,广播取消提交初始签名结果信息,并等待接收其它智能终端广播的取消提交初始签名结果信息,其中,接收的取消提交初始签名结果信息的数量大于等于预设门限值。

可选的,处理装置还包括:第一得到模块,用于在采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果之后,在得到验证结果为真的数量大于等于预设门限值时,基于预设门限签名共识机制,得到共识结果。

可选的,处理装置还包括:第一评估模块,用于在将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链之后,根据初始签名结果集合中的各智能终端提交的初始签名结果,通过智能合约模块中的信誉合约对各智能终端进行评估,得到评估结果;第一执行模块,用于依据评估结果,对各智能终端执行奖励操作或惩罚操作。

可选的,智能合约模块中的信誉合约对各智能终端的信誉评估指标包括下述至少之一:任务响应时间、广播结果时间、被分配的数据请求总数、完成的数据请求总数、被接受的反馈结果总数。

上述的处理装置还可以包括处理器和存储器,上述获取单元40,广播单元42,验证单元44,签名单元46,上传单元48等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链。

上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取链外电表数据,并按照预设误差评估规则,对链外电表数据进行分析处理,得到处理后的链外电表数据,对链外电表数据进行初始数字签名,并将初始签名结果以及链外电表数据广播至终端池中的至少一个其它智能终端,其中,终端池包括:当前智能终端和参与数据获取的其它智能终端,当前智能终端被选举为终端池的聚合智能终端,采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果,采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果,将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链。

根据本发明实施例的另一方面,还提供了一种数据处理系统,包括:异构终端池网络、智能合约模块、数据请求模块、数据存储节点,其中,异构终端池网络包括至少两个终端池,其中,异构终端池网络中的每个终端池执行不同的数据请求智能合约的数据获取命令,终端池包括至少两个智能终端,智能终端用于在获取链外电表数据后,采用公钥碎片和预设签名验证算法,验证链外电表数据的真实性,得到验证结果,并采用门限签名共识机制得到共识结果,采用完整私钥、系统时间戳和第一预设签名算法对链外电表数据进行数字签名,得到数字签名结果;智能合约模块包括数据请求合约和信誉合约,将初始签名结果集合、链外电表数据以及数字签名结果上传至电力区块链,其中,数据请求合约,与数据请求模块交互,用于接收数据请求模块的数据访问请求、向终端池发送数据请求列表、接收聚合智能终端返回的链外电表数据以及数字签名,信誉合约,用于跟踪、计算和管理智能终端的信誉,计算每个智能终端的总体平均信誉分数、选择最高得分智能终端和返回给定智能终端地址的平均声誉分数;数据请求模块,按照预设周期调用数据请求合约,并向数据请求合约发送数据获取请求;数据存储节点包括下述至少之一:数据存储终端、系统存储节点、云存储节点。

根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的数据处理方法。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于预训练技术的签名笔迹识别系统、方法及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类