一种基于区块链技术的数据防篡改方法及系统技术方案

技术编号:21225094 阅读:43 留言:0更新日期:2019-05-29 05:50
本公开是关于一种基于区块链技术的数据防篡改方法及系统,该方法包括:接收一数据写入请求以及一业务数据,根据预设对映表确定所述业务数据所属的数据段,并计算所述数据段的第一Hash值;将所述业务数据以及所述第一Hash值上链存储至一区块链中,之后根据该数据写入请求将该业务数据写入一业务数据库;接收一数据读取请求,根据该数据读取请求从所述业务数据库获取所述业务数据,确定获取的业务数据所属的数据段,计算该数据段的第二Hash值;从所述区块链中获取第一Hash值,对比两个Hash值,若一致则将读取的业务数据返回显示。本公开保证了用户读取到的数据始终为真实数据,防止了外来攻击及内部管理人员主观篡改业务数据。

A Data Tamper-proof Method and System Based on Block Chain Technology

The present disclosure relates to a data tamper-proof method and system based on block chain technology. The method includes receiving a data write request and a business data, determining the data segment to which the business data belongs according to the preset mapping table, and calculating the first Hash value of the data segment, and storing the business data and the first Hash value in a block chain up-link, followed by the root. According to the data writing request, the business data is written into a business database; a data reading request is received, and the business data is obtained from the business database according to the data reading request, and the data segment of the business data obtained is determined, and the second Hash value of the data segment is calculated; the first Hash value is obtained from the block chain, and the two Hash values are compared. If the two Hash values are consistent, they will be read. Business data is returned and displayed. This disclosure guarantees that the data read by users are always true data, and prevents external attacks and subjective tampering of business data by internal managers.

【技术实现步骤摘要】
一种基于区块链技术的数据防篡改方法及系统
本公开涉及区块链
,尤其涉及一种基于区块链技术的数据防篡改方法及系统。
技术介绍
区块链技术,也被称之为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。网站或信息系统核心业务数据防篡改需求由来已久,一般分为文件驱动层防护,禁止非法进程进行数据库写操作;备份恢复防护,先将信息数据备份至本地或远端另一文件中,待检测两端数据不一致时用备份端数据进行恢复。以上两种传统解决方案都在一定程度上增加了外部攻击企图篡改核心业务数据的难度。而在传统的中心式业务系统模式下,内部系统管理人员仍可通过主观操作轻松绕过防护从而篡改数据。比如系统管理员停止文件驱动层防护服务,或修改备份端数据,使用篡改数据覆盖业务系统数据。因此,有必要提供一种新的技术方案改善上述方案中存在的一个或者多个问题。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种基于区块链技术的数据防篡改方法及系统,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。根据本公开实施例的第一方面,提供一种基于区块链技术的数据防篡改方法,该方法包括:接收一数据写入请求以及一业务数据,根据预设对映表确定所述业务数据所属的数据段,并计算所述数据段的第一Hash值;将所述业务数据以及所述第一Hash值上链存储至一区块链中,之后根据该数据写入请求将该业务数据写入一业务数据库;接收一数据读取请求,根据该数据读取请求从所述业务数据库获取所述业务数据,确定获取的业务数据所属的数据段,计算该数据段的第二Hash值;从所述区块链中获取第一Hash值,对比所述第一Hash值和第二Hash值,若一致则将读取的所述业务数据返回显示。本公开的实施例中,该方法还包括:根据预设轮询检测周期,每隔预设时间段计算所述业务数据库中所述业务数据所属数据段的第三Hash值,并将该第三Hash值与所述区块链中存储的所述第一Hash值进行比较;在第一Hash值与第三Hash值不一致时,获取所述区块链中存储的所述业务数据,利用该业务数据对所述业务数据库中相应的业务数据进行更新恢复。本公开的实施例中,所述将所述业务数据以及所述第一Hash值上链存储至一区块链中,包括:将所述业务数据以及所述第一Hash值发送至一区块链网络;区块链网络通过预设共识算法对提交的所述业务数据以及所述第一Hash值进行共识并记录上链存储;其中参与共识的节点数为3N+1。本公开的实施例中,所述将该业务数据写入一业务数据库,包括:若写入业务数据库过程不成功,则数据库操作回滚,并将已经上链存储至所述区块链上的所述业务数据以及所述第一Hash值作删除标记。本公开的实施例中,该方法还包括:若第一Hash值与第二Hash值不一致,则获取所述区块链中存储的所述业务数据,利用该业务数据对所述业务数据库中相应的业务数据进行更新恢复。本公开的实施例中,将所述业务数据以及所述第一Hash值上链存储至一区块链之前,对所述业务数据以及所述第一Hash值进行私钥签名处理。本公开的实施例中,所述业务数据库包括关系型数据库、非关系型数据库、中心型数据库或者分布式数据库。根据本公开实施例的第二方面,提供一种基于区块链技术的数据防篡改系统,该系统包括:数据接收单元,用于接收一数据写入请求以及一业务数据,根据预设对映表确定所述业务数据所属的数据段,并计算所述数据段的第一Hash值;数据存储单元,用于将所述业务数据以及所述第一Hash值上链存储至一区块链中,之后根据该数据写入请求将该业务数据写入一业务数据库;数据校验单元,用于接收一数据读取请求,根据该数据读取请求从所述业务数据库获取所述业务数据,确定获取的业务数据所属的数据段,计算该数据段的第二Hash值;从所述区块链中获取第一Hash值,对比所述第一Hash值和第二Hash值,若一致则将读取的所述业务数据返回显示。根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一个实施例中所述一种基于区块链技术的数据防篡改方法的步骤。根据本公开实施例的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述一种基于区块链技术的数据防篡改方法的步骤。本公开的实施例提供的技术方案可以包括以下有益效果:本公开所提供的基于区块链技术的数据防篡改方法,将接收到的业务数据以及该业务数据所属数据段的Hash值先存储至一区块链中,之后再将该业务数据写入业务数据库中,继而在接收到数据读取请求时,可以对数据库中的业务数据所属数据段的Hash值和已经存储至区块链上的业务数据所属数据段的Hash值进行比较,若二者数据一致返回显示,则证明两个业务数据也一致,即数据库中的业务数据并没有被篡改。可见,本方法保证了用户读取到的数据始终为真实数据,防止了外来攻击及内部管理人员主观篡改业务数据。此外本公开还提供一种基于区块链技术的数据防篡改系统,其有益效果同上所述。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示意性示出本公开示例性实施例中一种基于区块链技术的数据防篡改方法示意图;图2示意性示出本公开示例性实施例中业务数据写入流程图;图3示意性示出本公开示例性实施例中业务数据读取流程图;图4示意性示出本公开示例性实施例中轮询检测流程图;图5示意性示出本公开示例性实施例中一种基于区块链技术的数据防篡改系统示意图;图6示意性示出本公开示例性实施例中一种计算机可读存储介质示意图;图7示意性示出本公开示例性实施例中一种电子设备示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。本示例实施方式中首先提供了一种基于区块链技术的数据防篡改方法,该方法可以应用于一具备显示屏幕的终端设备,例如可以是手机、个人数字助理、笔记本电脑、平板电脑、智能手表等移动终端,也可以是台式电脑、智能电视等非移动终本文档来自技高网...

【技术保护点】
1.一种基于区块链技术的数据防篡改方法,其特征在于,包括:接收一数据写入请求以及一业务数据,根据预设对映表确定所述业务数据所属的数据段,并计算所述数据段的第一Hash值;将所述业务数据以及所述第一Hash值上链存储至一区块链中,之后根据该数据写入请求将该业务数据写入一业务数据库;接收一数据读取请求,根据该数据读取请求从所述业务数据库获取所述业务数据,确定获取的业务数据所属的数据段,计算该数据段的第二Hash值;从所述区块链中获取第一Hash值,对比所述第一Hash值和第二Hash值,若一致则将读取的所述业务数据返回显示。

【技术特征摘要】
1.一种基于区块链技术的数据防篡改方法,其特征在于,包括:接收一数据写入请求以及一业务数据,根据预设对映表确定所述业务数据所属的数据段,并计算所述数据段的第一Hash值;将所述业务数据以及所述第一Hash值上链存储至一区块链中,之后根据该数据写入请求将该业务数据写入一业务数据库;接收一数据读取请求,根据该数据读取请求从所述业务数据库获取所述业务数据,确定获取的业务数据所属的数据段,计算该数据段的第二Hash值;从所述区块链中获取第一Hash值,对比所述第一Hash值和第二Hash值,若一致则将读取的所述业务数据返回显示。2.根据权利要求1所述的一种基于区块链技术的数据防篡改方法,其特征在于,还包括:根据预设轮询检测周期,每隔预设时间段计算所述业务数据库中所述业务数据所属数据段的第三Hash值,并将该第三Hash值与所述区块链中存储的所述第一Hash值进行比较;在第一Hash值与第三Hash值不一致时,获取所述区块链中存储的所述业务数据,利用该业务数据对所述业务数据库中相应的业务数据进行更新恢复。3.根据权利要求1所述的一种基于区块链技术的数据防篡改方法,其特征在于,所述将所述业务数据以及所述第一Hash值上链存储至一区块链中,包括:将所述业务数据以及所述第一Hash值发送至一区块链网络;区块链网络通过预设共识算法对提交的所述业务数据以及所述第一Hash值进行共识并记录上链存储;其中参与共识的节点数为3N+1。4.根据权利要求1所述的一种基于区块链技术的数据防篡改方法,其特征在于,所述将该业务数据写入一业务数据库,包括:若写入业务数据库过程不成功,则数据库操作回滚,并将已经上链存储至所述区块链上的所述业务数据以及所述第一Hash值作删除标记。5.根据权利要求1所述的...

【专利技术属性】
技术研发人员:王照孟滢王添玮
申请(专利权)人:西安企业资本服务中心有限公司
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1