对区块链中数据进行修改方法、装置及电子设备与流程

文档序号:16737546发布日期:2019-01-28 12:44阅读:754来源:国知局
对区块链中数据进行修改方法、装置及电子设备与流程

本申请涉及区块链技术领域,具体而言,本申请涉及一种对区块链中数据进行修改方法、装置及电子设备。



背景技术:

随着信息技术的发展,区块链技术也随之发展,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链本质上为一个去中心化的数据库。区块链还是一串使用密码学方法相关联的数据块,每个数据块中可以用于存储数据,例如,可以将软件即服务(software-as-a-service,saas)应用对应的相关数据存储至区块链的数据块中。

常见的区块链中被写入的数据是不允许修改的,但是在实际操作中存在某些场景导致存储至区块链中的数据本身存在问题,需要对存储在区块链中的数据进行修改,例如,由于saas应用自身规则不完善或者错误,导致存储在区块链中的saas应用产生的相关数据需要修改,因此如何对存储至区块链中的数据进行修改成为一个问题。



技术实现要素:

本申请提供了一种对区块链中数据进行修改的方法、装置及电子设备,用于解决无法对存储至区块链中的数据进行修改的问题。

第一方面,提供了一种对区块链中数据进行修改的方法,该方法包括:

从区块链中读取待读取的数据,并对读取到的数据进行解密;

对解密后的数据进行校验;

当对解密后的数据进行校验失败时,推送针对解密数据的校验结果,所述针对解密数据的校验结果包括:修正后的数据;

将所述修正后的数据写入区块链中。

第二方面,提供了一种对区块链中的数据进行修改的装置,该装置包括:

读取模块,用于从区块链中读取待读取的数据;

解密模块,用于对所述读取模块读取到的数据进行解密;

校验模块,用于对所述解密模块解密后的数据进行校验;

推送模块,用于当所述校验模块对解密后的数据进行校验失败时,推送针对解密数据的校验结果,所述针对解密数据的校验结果包括:修正后的数据;

写入模块,用于将所述推送模块推送的所述修正后的数据写入区块链中。

第三方面,提供了一种电子设备,该电子设备包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据第一方面所示的对区块链中的数据进行修改的方法。

第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所示的对区块链中的数据进行修改的方法。

本申请实施例提供了一种对区块链中的数据进行修改方法、装置及电子设备,与现有技术相比,本申请实施例中从区块链中读取待读取的数据,并对读取到的数据进行解密,然后对解密后的数据进行校验,当对解密后的数据进行校验失败时,推送针对解密数据的校验结果,针对解密数据的校验结果包括:修正后的数据,然后将修正后的数据写入区块链中。即在本申请实施例中,当对从区块链中读取的数据进行校验失败时,推送包含修正后的数据的校验结果,并将修正后的数据区块链中,从而可以实现对区块链中存储的数据进行修改。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种对区块链中的数据进行修改的方法流程示意图;

图2为本申请实施例提供的一种对区块链中的数据进行修改的装置结构示意图;

图3为本申请实施例提供的另一种对区块链中的数据进行修改的装置结构示意图;

图4为本申请实施例提供的一种对区块链中的数据进行修改的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

实施例一

本申请实施例提供了一种对区块链中的数据进行修改的方法,如图1所示,该方法包括:

步骤s101、从区块链中读取待读取的数据。

对于本申请实施例,从区块链中读取的待读取的数据可以为saas应用中待使用的数据。在本申请实施例中,saas提供商为企业搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务,企业无需购买软硬件、建设机房、招聘it人员,即可通过互联网使用信息系统。企业根据实际需要,向saas提供商租赁软件服务,其中从saas提供上租赁的软件服务即为saas应用服务。

对于本申请实施例,从区块链中读取待读取的数据之后,将读取到的数据存储至本地。

步骤s102、对读取到的数据进行解密。

对于本申请实施例,利用秘钥对存储至本地的数据进行解密。在本申请实施例中,可以从本地获取本地存储的秘钥或者获取用户输入的秘钥。

对于本申请实施例,若读取到的数据为saas应用需要使用的数据,则saas应用可以通过界面方式引导用户使用存储在本地的秘钥对存储在本地已读取的数据进行解密,并已阅读的形式显示解密后的已读取数据。

步骤s103、对解密后的数据进行校验。

对于本申请实施例,若读取到的数据为saas应用需要使用的数据,则基于saas应用现有数据校验规则,对解密后的数据进行校验。

步骤s104、当对解密后的数据进行校验失败时,推送针对解密数据的校验结果。

其中,针对解密数据的校验结果包括:修正后的数据。

对于本申请实施例,针对解密数据的校验结果还包括:校验失败的数据、校验失败的原因中的至少一项。

对于本申请实施例,若从区块链中读取到的数据为saas应用对应的数据,则当对解密后的数据进行校验失败时,界面上显示修正按钮,并在该界面上当前校验失败的数据,校验失败的原因以及修正后的数据。在本申请实施例中,当检测到用户触发该修正按钮时,将该校验失败的数据修正为该修正后的数据。

例如,通过saas系统对解密后的数据进行校验,在校验失败时,通过saas应用显示校验失败的数据、修正后的数据以及校验失败的原因。在本申请实施例中,通过显示校验失败的数据、校验失败的数据对应的修正后的数据,以及校验失败的原因,以使得saas租户能够根据校验失败的原因,确认是否进行修正,从而可以提高对存储在区块链中的数据进行修正的准确度,进而可以提升用户体验。

对于本申请实施例,当对解密后的数据进行校验成功时,推送校验成功的第一提示消息。其中,所述校验成功的第一提示消息用于提示解密后的数据校验成功。在本申请实施例中,将携带有特定标识的校验成功的数据广播至区块链中的任意节点进行验证,当验证通过后写入区块链。

对于本申请实施例,当检测到用户利用校验失败的数据进行业务操作时,推送第二提示消息。其中,第二提示消息用于提示用户当前无法使用该校正失败的数据进行业务操作。

步骤s105、将修正后的数据写入区块链中。

本申请实施例提供了一种对区块链中的数据进行修改方法,与现有技术相比,本申请实施例中从区块链中读取待读取的数据,并对读取到的数据进行解密,然后对解密后的数据进行校验,当对解密后的数据进行校验失败时,推送针对解密数据的校验结果,针对解密数据的校验结果包括:修正后的数据,然后将修正后的数据写入区块链中。即在本申请实施例中,当对从区块链中读取的数据进行校验失败时,推送包含修正后的数据的校验结果,并将修正后的数据区块链中,从而可以实现对区块链中存储的数据进行修改。

实施例二

本申请实施例的另一种可能的实现方式,在实施例一的基础上还包括实施例二所示的操作,其中,

步骤s101包括步骤s1011(图中未标注)以及步骤s1012(图中未标注),其中

步骤s1011、基于用户触发的读取指令,确定待读取数据。

步骤s1012、从区块链中读取待读取数据。

对于本申请实施例,通过共识机制提供的共识算法,从区块链中读取待读取数据;和/或,确定读取待读取数据的超级节点,并从超级节点中读取待读取数据。

其中,该共识机制包括:以太坊、企业经营系统(enterpriseoperationsystem,eos)、文件币(filecoin)。

其中,步骤s102包括步骤s1021(图中未标注)以及步骤s1022(图中未标注),其中,

步骤s1021、获取读取到的数据对应的秘钥。

步骤s1022、基于获取到的秘钥,对读取到的数据进行解密。

对于本申请实施例,由于存储在区块链中的数据,是由用户基于自己的秘钥在本地加密之后,写入区块链中的,因此在从区块链中读取数据之后,还需要利用存储在本地的秘钥,或者用户自己输入的秘钥,对读取的数据进行解密后才可以使用。

对于本申请实施例,通过利用本地存储的秘钥对从区块链中读取的数据在本地进行解密,即对从区块链中的读取的数据进行解密的秘钥,以及解密后的数据均在租户本地电脑上存储,从而可以避免数据被saas应用的运营商获取,进而可以提升用户的安全性。

实施例三

本申请实施例提供了另一种可能的实现方式,在实施例一的基础上,还包括实施例三所示的方法,其中,

步骤s105包括步骤s1051(图中未标注)以及步骤s1052(图中未标注),其中,

步骤s1051、当检测到用户触发的编辑操作指令时,获取用户输入的签名信息。

具体地,检测到用户触发的编辑操作指令,并获取用户输入的签名信息,包括:

当检测到用户触发的编辑操作指令时,推送第三提示消息,并接收用户输入的签名信息;和/或,

当检测到用户触发的编辑操作指令时,直接接收用户输入的签名信息;和/或,

当检测到用户触发的编辑操作指令时,从本地存储中查找并获取用户输入的签名信息。

其中,第三提示消息用于提示用户输入签名信息。

步骤s1052、对用户输入的签名信息进行校验,并在校验通过时,将修正后的数据写入区块链中。

对于本申请实施例,对用户输入的签名信息进行校验,包括:利用已获取的公钥,对用户输入的签名信息进行校验。在本申请实施例中,将修正后的数据写入区块链中,包括:获取已加密的修正后的数据,并将获取到的已加密的修正后的数据写入区块链中。

对于本申请实施例,用户输入的签名信息是基于私钥进行签名的,当通过对应的公钥对用户输入的签名信息进行解密,并解密成功时,即表征校验成功。在本申请实施例中,当校正成功时,saas系统自动将校验失败的数据修正为修正后的数据。

对于本申请实施例,写入区块链中的修正后的数据是由saas用户利用私钥在本地进行加密后得到的。

对于本申请实施例,通过对用户输入的签名信息进行校验,在校验通过时,对数据进行修正,并将修正后的数据写入区块链中,即在修正前用户需要使用自己的秘钥进行签名,从而使得saas应用以及区块链确定该用户对数据拥有控制权,并且该修正操作为用户确认并发起的修正操作。

实施例四

本申请实施例的另一种可能的实现方式,在实施例一或者实施例三所示的基础上还包括实施例四所示的操作,其中,

步骤s105之后还包括步骤s106(图中未标注),其中,

步骤s106、将修正前的数据以及修正前的数据对应的数据状态广播至区块链中的各个超级节点,以使得区块链中的各个超级节点将修正前的数据的状态标识为无效。

其中,修正前的数据对应的数据状态为无效状态。

对于本申请实施例,当通过区块链中存储的数据进行saas的业务操作时,根据区块链中存储的数据的数据状态,确定最新记录的有效数据,并通过确定出的最新记录的有效数据进行saas业务操作。在本申请实施例中,状态标识为无效的数据仍然存储在数据链中,但是不能用于saas业务操作。

对于本申请实施例,状态标识为无效的数据仍然被保存至保存至区块链的历史区块中。

对于本申请实施例,在将读取后的数据进行修正之后,通过将存储在区块链中的修正前的数据的状态标识为无效,能够使得在利用区块链数据进行相应操作时,读取修正后的数据,而不会误读取修正前的数据,从而可以提升利用存储至区块链中的数据进行相应操作的准确度,进而可以提升用户体验。

实施例五

本申请实施例提供了一种对区块链中的数据进行修改的装置,如图2所示,该对区块链中的数据进行修改的装置20可以包括:读取模块201、解密模块202、校验模块203、推送模块204、写入模块205,其中,

读取模块201,用于从区块链中读取待读取的数据。

解密模块202,用于对读取模块201读取到的数据进行解密。

校验模块203,用于对解密模块202解密后的数据进行校验。

推送模块204,用于当校验模块203对解密后的数据进行校验失败时,推送针对解密数据的校验结果。

其中,针对解密数据的校验结果包括:修正后的数据。

写入模块205,用于将推送模块204推送的修正后的数据写入区块链中。

本申请实施例提供了一种对区块链中的数据进行修改的装置,与现有技术相比,本申请实施例中从区块链中读取待读取的数据,并对读取到的数据进行解密,然后对解密后的数据进行校验,当对解密后的数据进行校验失败时,推送针对解密数据的校验结果,针对解密数据的校验结果包括:修正后的数据,然后将修正后的数据写入区块链中。即在本申请实施例中,当对从区块链中读取的数据进行校验失败时,推送包含修正后的数据的校验结果,并将修正后的数据区块链中,从而可以实现对区块链中存储的数据进行修改。

本申请实施例的对区块链中的数据进行修改的装置可执行本申请实施例一所示的对区块链中的数据进行修改的方法,其实现原理相类似,此处不再赘述。

实施例六

本申请实施例提供的另一种对区块链中的数据进行修改的装置的结构示意图,如图3所示,该对区块链中的数据进行修改的装置30可以包括:读取模块301、解密模块302、校验模块303、推送模块304、写入模块305,其中,

读取模块301,用于从区块链中读取待读取的数据。

其中,图3中的读取模块301与图2中的读取模块201的功能相同或者相似。

解密模块302,用于对读取模块301读取到的数据进行解密。

其中,图3中的解密模块302与图2中的解密模块202的功能相同或者相似。

校验模块303,用于对解密模块302解密后的数据进行校验。

其中,图3中的校验模块303与图2中的校验模块203的功能相同或者相似。

推送模块304,用于当校验模块303对解密后的数据进行校验失败时,推送针对解密数据的校验结果。

其中,图3中的推送模块304与图2中的推送模块204的功能相同或者相似。

其中,针对解密数据的校验结果包括:修正后的数据。

其中,针对解密数据的校验结果还包括:校验失败的数据以及校验失败的原因中的至少一项。

对于本申请实施例,通过显示校验失败的数据、校验失败的数据对应的修正后的数据,以及校验失败的原因,以使得saas租户能够根据校验失败的原因,确认是否进行修正,从而可以提高对存储在区块链中的数据进行修正的准确度,进而可以提升用户体验。

写入模块305,用于将推送模块304推送的修正后的数据写入区块链中。

其中,图3中的写入模块305与图2中的写入模块205的功能相同或者相似。

进一步地,如图3所示,写入模块305包括:获取单元3051、校验单元3052、写入单元3053,其中,

获取单元3051,用于当检测到用户触发的编辑操作指令时,获取用户输入的签名信息。

校验单元3052,用于对获取单元3051获取到的用户输入的签名信息进行校验。

写入单元3053,用于在校验单元3052校验通过时,将修正后的数据写入区块链中。

校验单元3052,具体用于利用已获取的公钥,对用户输入的签名信息进行校验。

写入单元3053,具体用于获取已加密的修正后的数据,并将获取到的已加密的修正后的数据写入区块链中。

对于本申请实施例,通过对用户输入的签名信息进行校验,在校验通过时,对数据进行修正,并将修正后的数据写入区块链中,即在修正前用户需要使用自己的秘钥进行签名,从而使得saas应用以及区块链确定该用户对数据拥有控制权,并且该修正操作为用户确认并发起的修正操作。

进一步地,如图3所示,该对区块链中的数据进行修改的装置30还包括:广播模块306,其中,

广播模块306,用于将修正前的数据以及修正前的数据对应的数据状态广播至区块链中的各个超级节点,以使得区块链中的各个超级节点将修正前的数据的状态标识为无效。

其中,修正前的数据对应的数据状态为无效状态。

对于本申请实施例,在将读取后的数据进行修正之后,通过将存储在区块链中的修正前的数据的状态标识为无效,能够使得在利用区块链数据进行相应操作时,读取修正后的数据,而不会误读取修正前的数据,从而可以提升利用存储至区块链中的数据进行相应操作的准确度,进而可以提升用户体验。

进一步地,如图3所示,读取模块301包括:确定单元3011、读取单元3012,其中,

确定单元3011,用于基于用户触发的读取指令,确定待读取数据。

读取单元3012,用于从区块链中读取确定单元3011确定出的待读取数据。

具体地,解密模块302,具体用于获取读取到的数据对应的秘钥。

解密模块302,具体还用于基于获取到的秘钥,对读取到的数据进行解密。

对于本申请实施例,通过利用本地存储的秘钥对从区块链中读取的数据在本地进行解密,即对从区块链中的读取的数据进行解密的秘钥,以及解密后的数据均在租户本地电脑上存储,从而可以避免数据被saas应用的运营商获取,进而可以提升用户的安全性。

具体地,读取模块301,具体用于通过共识机制提供的共识算法,从区块链中读取待读取数据。

具体地,读取模块301,具体用于确定读取待读取数据的超级节点,并从超级节点中读取待读取数据。

本申请实施例提供了一种对区块链中的数据进行修改的装置,与现有技术相比,本申请实施例中从区块链中读取待读取的数据,并对读取到的数据进行解密,然后对解密后的数据进行校验,当对解密后的数据进行校验失败时,推送针对解密数据的校验结果,针对解密数据的校验结果包括:修正后的数据,然后将修正后的数据写入区块链中。即在本申请实施例中,当对从区块链中读取的数据进行校验失败时,推送包含修正后的数据的校验结果,并将修正后的数据区块链中,从而可以实现对区块链中存储的数据进行修改。

本实施例的对区块链中的数据进行修改的装置可执行本申请实施例一至实施例四任一实施例所示的对区块链中的数据进行修改的方法,其实现原理相类似,此处不再赘述。

实施例七

本申请实施例提供了一种电子设备,如图4所示,图4所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。

其中,处理器4001应用于本申请实施例中,用于实现图2或者图3所示的读取模块、解密模块、校验模块、推送模块、写入模块的功能以及图3所示的广播模块的功能,收发器4004包括接收机和发射机。

处理器4001可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci总线或eisa总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器4003可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现图2或图3所示实施例提供的对区块链中的数据进行修改的装置的动作。

本申请实施例提供了一种电子设备,与现有技术相比,本申请实施例中从区块链中读取待读取的数据,并对读取到的数据进行解密,然后对解密后的数据进行校验,当对解密后的数据进行校验失败时,推送针对解密数据的校验结果,针对解密数据的校验结果包括:修正后的数据,然后将修正后的数据写入区块链中。即在本申请实施例中,当对从区块链中读取的数据进行校验失败时,推送包含修正后的数据的校验结果,并将修正后的数据区块链中,从而可以实现对区块链中存储的数据进行修改。

本申请实施例提供了一种电子设备适用于上述方法任一实施例。在此不再赘述。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现实施例一至实施例四任一实施例所示的方法。

本申请实施例提供了一种计算机可读存储介质,与现有技术相比,本申请实施例中从区块链中读取待读取的数据,并对读取到的数据进行解密,然后对解密后的数据进行校验,当对解密后的数据进行校验失败时,推送针对解密数据的校验结果,针对解密数据的校验结果包括:修正后的数据,然后将修正后的数据写入区块链中。即在本申请实施例中,当对从区块链中读取的数据进行校验失败时,推送包含修正后的数据的校验结果,并将修正后的数据区块链中,从而可以实现对区块链中存储的数据进行修改。

本申请实施例提供了一种计算机可读存储介质适用于上述方法任一实施例。在此不再赘述。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1