CN111786792A - 一种基于区块链的数据变更记录方法和装置 - Google Patents
一种基于区块链的数据变更记录方法和装置 Download PDFInfo
- Publication number
- CN111786792A CN111786792A CN202010547444.2A CN202010547444A CN111786792A CN 111786792 A CN111786792 A CN 111786792A CN 202010547444 A CN202010547444 A CN 202010547444A CN 111786792 A CN111786792 A CN 111786792A
- Authority
- CN
- China
- Prior art keywords
- data
- data change
- block chain
- contract
- change record
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种基于区块链的数据变更记录方法,应用于第一组件,在创建用于保存数据变更记录的区块链账户地址以及存证合约后,包括:执行数据变更操作,所述数据变更操作的对象经过面向对象封装;获取相应数据变更记录,所述数据变更记录包括数据唯一标识;对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与所述存证合约进行关联;根据所述区块链账户地址,调用所述存证合约将所述结构化数据变更记录保存至所述区块链。本发明通过使用区块链存储变更记录,可以保障变更记录无法从单机系统上被人进行有意的篡改修改历史,保障可审计数据的所有变更历史;同时通过区块链上的变更历史,恢复到任意修改时间点的数据版本。
Description
技术领域
本说明书涉及计算机软件技术领域,尤其涉及一种基于区块链的数据变更记录方法、装置、系统和电子设备。
背景技术
在信息化系统中,为了对应用程序数据的变更进行审计跟踪,通常会将数据的变更记录输出到信息系统本地的日志或记录在数据库中。然而记录在本地日志或数据库中的内容,仍然有可能可以被有登录权限的人进行人为修改,从无法完成真实的审计核查需求。为了解决这一问题,可引入区块链技术进行数据变更记录。区块链是一个共享数据库,存储于其中的数据或信息,具有不可伪造、全程留痕、可以追溯、公开透明、集体维护等特征。特别是基于区块链技术发展的存证合约正是利用区块链去中心化及分布式存储的特点将电子数据存储在可信的联盟链上,保证上链数据不可篡改,真实有效。因此,将数据的变更记录,存储在区块链上形成存证,以达到数据的变更无法被人有意篡改的目的。
发明内容
本说明书实施例的目的是提供一种基于区块链的数据变更记录的方法和装置,为了解决以上问题,本发明通过先在创建用于保存数据变更记录的区块链账户地址以及存证合约,然后根据账户地址调用存证合约将数据变更记录存储至区块链。为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种基于区块链的数据变更记录方法,应用于第一组件,在创建用于保存数据变更记录的区块链账户地址以及存证合约后,包括:
编译并执行数据变更操作;
生成相应数据变更记录,所述数据变更记录包括数据唯一标识;
对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与所述存证合约进行关联;
根据所述区块链账户地址,调用所述存证合约将所述结构化数据变更记录保存至所述区块链。
第二方面,提出了一种基于区块链的数据变更记录装置,其特征在于,包括:
封装执行模块,用于执行面向对象封装后的数据变更操作;
生成模块,用于生成相应数据变更记录,所述数据变更记录包括数据唯一标识;
结构化处理模块,用于对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与存证合约进行关联;
调用模块,用于调用所述存证合约将所述结构化数据变更记录保存至所述区块链。
第三方面,提出了一种基于区块链的数据变更记录方法,应用于第二组件,包括:
接收数据审计请求,所述数据审计请求包括数据唯一标识和区块链账户地址;
根据所述区块链账户地址,调用存证合约对数据变更记录进行查询。
第四方面,提出一种基于区块链的数据变更记录装置,包括:
接收模块,用于接收数据审计请求,所述数据监管请求包括数据唯一标识和区块链账户地址;
调用模块,用于根据所述区块链账户地址,调用存证合约对数据变更记录进行查询。
第五方面,提出了一种基于区块链的数据变更记录系统,包括第一组件和第二组件,其中,
所述第一组件创建用于保存数据变更记录的区块链账户地址以及存证合约,执行数据变更操作,生成相应数据变更记录,并对所述数据变更记录进行结构化处理,调用所述存证合约将所述结构化数据变更记录保存至所述区块链;所述第二组件接收数据审计请求,所述数据审计请求包括数据唯一标识和区块链账户地址,根据数据审计请求调用存证合约对数据变更记录进行查询;
多个所述第一组件发送数据变更记录至所述区块链;多个所述第二组件向所述区块链请求所述数据变更记录。
第六方面,提出了一种电子设备,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
第七方面,提出了一种电子设备,包括:处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第三方面所述的方法。
第八方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
第九方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第三方面所述的方法。
本说明书可以达到至少以下技术效果:
本发明通过使用区块链存储变更记录,可以保障变更记录无法从单机系统上被人进行有意的篡改修改历史,保障可审计数据的所有变更历史;同时通过区块链上的变更历史,恢复到任意修改时间点的数据版本。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例的基于区块链的数据变更记录方法步骤示意图之一。
图2为本说明书实施例的基于区块链的数据变更记录方法步骤示意图之二。
图3为本说明书实施例的基于区块链的数据变更记录方法步骤示意图之三。
图4为本说明书实施例的管理区块链系统合约的装置结构示意图之一。
图5为本说明书实施例的管理区块链系统合约的装置结构示意图之二。
图6为本说明书实施例的电子设备的结构示意图之一。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
关键术语
区块链技术:是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有不可伪造、全程留痕、可以追溯、公开透明、集体维护”等特征。基于这些特征,区块链技术奠定了坚实的信任基础,创造了可靠的合作共识机制,具有广阔的运用前景。
智能合约:运行在区块链系统内的程序,具有按设定逻辑自动执行、执行结果不可窜改的特性。
区块链存证:就是把数据存到区块链上,达到防篡改、可追溯、数据来源可信任的目的。数据可以是文字、视频、音频图片等任何文件形式。为了实现快速交易,一般情况下,采用链上链下协同工作,采用文件与哈希值分离的方式,链上只保存文件的哈希值,原文件保存在链下。只要计算出文件的哈希值,与链上的哈希值比对,就知道文件是否被篡改了。
存证合约:即形成区块链数据存证的智能合约。
对象关系映射(Object-relational mapping,ORM):是一种面向对象的封装技术,解决的是面向对象与关系数据库存在的互不匹配的现象,即通过使用描述对象和数据库之间映射的元数据,将程序对象自动持久化到关系数据库中。
结构化处理:是一种在区块链微服务数据传输时使用的轻量级数据交换处理方式,采用完全独立于编程语言的文本格式来存储和表示数据。目前最常用到的包括JSON、XML等,特别是JSON具有简洁和清晰的层次结构,成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
下面通过具体的实例对本说明书所涉及的基于区块链的数据变更记录方案进行详述。
实施例一
在信息系统中,为了对应用程序数据的变更进行审计跟踪,通常会将数据的变更记录输出到信息系统本地的日志、或记录数据库中,但记录中本地日志或数据库中的内容,仍然有可能可以被有登录权限的人进行人为修改,从无法完成真实的审计核查需求。引入区块链技术进行数据变更记录,可以实现不可伪造、全程留痕、可以追溯、公开透明、集体维护的目的,将数据的变更记录,存储在区块链上形成存证,以达到数据的变更无法被人有意篡改的目的。
因此,在基于区块链的数据变更记录方案中,涉及2方执行主体,一方为数据操作方,另一方为数据审计方。其中,为应用程序或者数据库表创建区块链账户地址并部署存证合约、编译并执行数据变更操作、生成数据变更记录及其结构化处理、数据变更记录存证等阶段,封装构成第一组件,由数据操作方执行。接收数据审计请求、调用存证合约查询数据变更记录等阶段,封装构成第二组件,由数据审计方执行。一个区块链网络可以面向多个应用程序或数据库表,以及多个数据监管系统;一个应用程序可以包括一个或多个第一组件,应用程序通过第一组件调用存证合约保存数据变更记录作为存证;一个数据监管系统可以包括一个或多个第二组件,数据监管系统通过第二组件调用存证合约查询数据变更记录的存证历史。
对于数据操作方:
在为应用程序或者数据库表创建区块链账户地址并部署存证合约阶段,首先,由第一组件为应用程序或者数据库表创建其在区块链上的账户地址,该地址是数据变更记录在区块链的访问入口。然后,为应用程序或者数据库表创建存证合约,存证合约是区块链上用于保存和查询数据存证的一种公共智能合约,因此,在本方案中存证合约的方法包括对数据变更记录的保存和查询中的至少一种。最后,将存证合约部署到区块链上。
之所以可以为应用程序或者数据库表创建区块链账户地址和存证合约,是因为通常情况下,数据变更是应用程序进行数据处理的最常见形式之一,数据来自应用程序,应用程序与其数据库也存在对应关系,因此,为应用程序创建区块链账户地址和存证合约是首选方式。但是,为了提高审计查询时的效率,也可以给每个数据库表分别分配一个区块链账户地址,当某个数据库表有数据变更记录时,使用该数据库表对应的区块链账户地址来存储变更记录,这样查询时只需要查询该数据库表所对应的账户地址的所有记录即可。
在编译并执行数据变更操作阶段,在应用程序的数据库访问层,如果使用关系数据库通常会给出相应的数据变更SQL语句,然后对SQL语句进行编译并执行。但是,SQL语句在应用层出现太多,一旦数据库发生变化,那么上层需要修改的SQL语句就太多了,而且在编译时发现不了SQL语句的错误,在运行时才能找到。对于上面的问题,最好的解决方法就是对数据变更操作对象进行面向对象封装,可选用对象关系映射ORM,提高开发效率,封装对数据的写入操作,避免直接使用SQL语句读写数据库和无法记录数据变更操作。
在生成数据变更记录阶段,执行上述数据变更操作同时生成数据变更记录。应理解,数据ID等数据唯一标识在整个数据变更过程中具有重要作用,相当于变更记录的主键,是数据变更记录必须具备的内容之一。数据变更记录可根据审查级别的要求进行确定,还包括数据库表名、字段名、变化前后的数据值、变更时间、操作者标识等。
在对数据变更记录结构化处理阶段,是将上述数据变更记录形成在区块链数据传输时使用的轻量级数据交换格式,该采用完全独立于编程语言的文本格式来存储和表示数据,如可以使用JSON进行结构化处理。
在数据变更记录存证阶段,根据为当前应用程序或数据库表的区块链账户地址,调用存证合约的保存方法将经过结构化处理的数据变更记录存储至区块链,实现存证保存。
对于数据审计方:
在接收数据审计请求阶段,数据审计请求需要明确被审计数据所属数据库表在区块链中的账户地址和数据唯一标识,当提供的是被审计数据所属应用程序,还需提供该被审计数据所在的数据库表名。
调用存证合约查询数据变更记录阶段,根据数据审计请求,调用存证合约的查询方法,得到区块链中该账户地址下该数据唯一标识所指示的全部数据变更存证历史。
综上所述,在此技术方案基础上可形成基于区块链的数据变更记录系统,包括第一组件与第二组件,其中,
所述第一组件创建用于保存数据变更记录的区块链账户地址以及存证合约,执行数据变更操作,生成相应数据变更记录,并对所述数据变更记录进行结构化处理,调用所述存证合约将所述结构化数据变更记录保存至所述区块链;所述第二组件接收数据监管请求,所述数据监管请求包括数据唯一标识和区块链账户地址,根据数据监管请求调用存证合约对数据变更记录进行查询;
多个所述第一组件发送数据变更记录至所述区块链;多个所述第二组件向所述区块链请求所述数据变更记录。
实施例二
参照图1所示,为本说明书实施例提供的基于区块链的数据变更记录的方法步骤示意图,该方法的执行主体是数据操作方一侧,即本说明书中定义为第一组件;所述第一组件具体可以是服务程序也可以是终端等电子设备。所述方法本发明通过先在创建用于保存数据变更记录的区块链账户地址以及存证合约,然后根据账户地址调用存证合约将数据变更记录存储至区块链,包括以下步骤:
步骤101:创建用于保存数据变更记录的区块链账户地址以及存证合约。
应理解,为应用程序或者数据库表创建其在区块链上的账户地址,是数据变更记录在区块链的访问入口。为应用程序或者数据库表创建的存证合约是区块链上用于保存和查询数据存证的一种公共智能合约,存证合约的方法包括对数据变更记录的保存和查询中的至少一种。
可选地,当为应用程序创建区块链账户地址和存证合约,是因为通常情况下,数据变更是应用程序进行数据处理的最常见形式之一,数据来自应用程序,应用程序与其数据库也存在对应关系,因此,为应用程序创建区块链账户地址和存证合约是首选方式。
可选地,为了提高审计查询时的效率,也可以给每个数据库表分别分配一个区块链账户地址,当某个数据库表有数据变更记录时,使用该数据库表对应的区块链账户地址来存储变更记录,这样查询时只需要查询该数据库表所对应的账户地址的所有记录即可。
步骤102:编译并执行数据变更操作。如果使用关系数据库通常会给出相应的数据变更SQL语句,然后对SQL语句进行编译并执行。可选地,为了解决SQL语句出现太多,一旦数据库发生变化在编译时发现不了SQL语句的错误,在运行时才能找到的问题,可以对数据变更操作对象进行面向对象封装,可选用对象关系映射ORM,提高开发效率,封装对数据的写入操作,避免直接使用SQL语句读写数据库和无法记录数据变更操作。ORM把数据库映射成对象的例子如下:
数据库的表(table)映射为类(class);
记录(record,行数据)映射为对象(object);
字段(field)映射为对象的属性(attribute)。
步骤103:生成相应数据变更记录,所述数据变更记录包括数据唯一标识。在执行上述数据变更操作的同时生成了数据变更记录。应理解,数据ID等数据唯一标识在整个数据变更过程中具有重要作用,相当于变更记录的主键,是数据变更记录必须具备的内容之一。
可选地,数据变更记录可根据审查级别的要求进行确定,还包括数据库表名、字段名、变化前后的数据值、变更时间、操作者标识等。
步骤104:对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与所述存证合约进行关联。将上述数据变更记录形成在区块链数据传输时使用的轻量级数据交换格式,该采用完全独立于编程语言的文本格式来存储和表示数据,如使用JSON进行结构化处理的示例如下:
步骤105:根据所述区块链账户地址,调用所述存证合约将所述结构化数据变更记录保存至所述区块链。根据为当前应用程序或数据库表的区块链账户地址,调用存证合约的保存方法将经过结构化处理的数据变更记录存储至去亏爱莲,实现存证保存。
另一种可选方式,可以参照图1所示,为本说明书实施例提供的基于区块链的数据变更记录的方法步骤示意图,该方法的执行主体是数据操作方一侧,即本说明书中定义为第一组件;所述第一组件具体可以是服务程序也可以是终端等电子设备。所述方法本发明通过先在创建用于保存数据变更记录的区块链账户地址以及存证合约。为应用程序或者数据库表创建其在区块链上的账户地址,是数据变更记录在区块链的访问入口。为应用程序或者数据库表创建的存证合约是区块链上用于保存和查询数据存证的一种公共智能合约,存证合约的方法包括对数据变更记录的保存和查询中的至少一种。
当为应用程序创建区块链账户地址和存证合约,是因为通常情况下,数据变更是应用程序进行数据处理的最常见形式之一,数据来自应用程序,应用程序与其数据库也存在对应关系,因此,为应用程序创建区块链账户地址和存证合约是首选方式。为了提高审计查询时的效率,也可以给每个数据库表分别分配一个区块链账户地址,当某个数据库表有数据变更记录时,使用该数据库表对应的区块链账户地址来存储变更记录,这样查询时只需要查询该数据库表所对应的账户地址的所有记录即可。包括:
步骤111:编译并执行数据变更操作。如果使用关系数据库通常会给出相应的数据变更SQL语句,然后对SQL语句进行编译并执行。可选地,为了解决SQL语句出现太多,一旦数据库发生变化在编译时发现不了SQL语句的错误,在运行时才能找到的问题,可以对数据变更操作对象进行面向对象封装,可选用对象关系映射ORM,提高开发效率,封装对数据的写入操作,避免直接使用SQL语句读写数据库和无法记录数据变更操作。ORM把数据库映射成对象的例子如下:
数据库的表(table)映射为类(class);
记录(record,行数据)映射为对象(object);
字段(field)映射为对象的属性(attribute)。
步骤112:生成相应数据变更记录,所述数据变更记录包括数据唯一标识。在执行上述数据变更操作的同时生成了数据变更记录。应理解,数据ID等数据唯一标识在整个数据变更过程中具有重要作用,相当于变更记录的主键,是数据变更记录必须具备的内容之一。
可选地,数据变更记录可根据审查级别的要求进行确定,还包括数据库表名、字段名、变化前后的数据值、变更时间、操作者标识等。
步骤113:对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与所述存证合约进行关联。将上述数据变更记录形成在区块链数据传输时使用的轻量级数据交换格式,该采用完全独立于编程语言的文本格式来存储和表示数据,如使用JSON进行结构化处理的示例如下:
步骤114:根据所述区块链账户地址,调用所述存证合约将所述结构化数据变更记录保存至所述区块链。根据为当前应用程序或数据库表的区块链账户地址,调用存证合约的保存方法将经过结构化处理的数据变更记录存储至去亏爱莲,实现存证保存。
参照图3所示,为本说明书实施例提供的基于区块链的数据变更记录方法步骤示意图,该方法的执行主体是数据审计方一侧,本说明书中定义为第二组件;所述第二组件置于数据监管系统中,包括以下步骤:
步骤201:接收数据审计请求,所述数据审计请求包括数据唯一标识和区块链账户地址。可选地,当提供的是被审计数据所属应用程序,还需提供该被审计数据所在的数据库表名。
步骤202:根据所述区块链账户地址,调用存证合约对数据变更记录进行查询。调用存证合约的查询方法时,是根据区块链中该账户地址下该数据唯一标识获取全部数据变更存证历史。
本发明通过使用区块链存储变更记录,可以保障变更记录无法从单机系统上被人进行有意的篡改修改历史,保障可审计数据的所有变更历史;同时通过区块链上的变更历史,恢复到任意修改时间点的数据版本。
实施例三
图4为本说明书的一个实施例提供的基于区块链的数据变更记录装置400的结构示意图。请参考图4,在一种实施方式中,基于区块链的数据变更记录装置400包括:
执行模块401,用于编译并执行数据变更操作。在应用程序的数据库访问层,如果使用关系数据库通常会给出相应的数据变更SQL语句,然后对SQL语句进行编译并执行,但是,SQL语句在应用层出现太多,一旦数据库发生变化,那么上层需要修改的SQL语句就太多了,而且在编译时发现不了SQL语句的错误,在执行时才能找到。因此,执行模块401还可以对数据变更操作对象进行面向对象封装,可选用对象关系映射ORM封装对数据写入操作。
生成模块402,用于生成相应数据变更记录,所述数据变更记录包括数据唯一标识。应理解,数据ID等数据唯一标识在整个数据变更过程中具有重要作用,相当于变更记录的主键,是数据变更记录必须具备的内容之一。因此,生成模块402到底有哪些数据变更记录,是根据审查级别的要求确定的,通常还包括数据库表名、字段名、变化前后的数据值、变更时间、操作者标识等。
结构化处理模块403,用于对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与存证合约进行关联。之所以使用结构化数据变更记录与存证合约进行关联,就是要在存证合约在执行保存操作时记录的是完全独立于编程语言的文本格式来存储和表示数据,这样任何监管系统在进行数据审计时,都能够易于程序解析和生成,易于人阅读和编写。
调用模块404,用于调用所述存证合约将所述结构化数据变更记录保存至所述区块链。存证合约中包括保存方法,特别是将存证合约的可信时间戳与结构化数据变更记录一并保存至区块链。
图5为本说明书的一个实施例提供的基于区块链的数据变更记录装置500的结构示意图。请参考图5,在一种实施方式中,基于区块链的数据变更记录装置500包括:
接收模块501,用于接收数据审计请求,所述数据监管请求包括数据唯一标识和区块链账户地址。数据审计请求需要明确被审计数据所属数据库表在区块链中的账户地址和数据唯一标识;可选地,当提供的是被审计数据所属应用程序,还需提供该被审计数据所在的数据库表名。
调用模块502,用于根据所述区块链账户地址,调用存证合约对数据变更记录进行查询。根据存证合约的查询方法,得到区块链中该账户地址下该数据唯一标识指向的所有数据变更存证历史。
应理解,本说明书实施例的基于区块链的数据变更记录装置还可执行图1至图3中基于区块链的数据变更记录装置(或设备)执行的方法,并实现基于区块链的数据变更记录装置(或设备)在图1至图3所示实施例的功能,在此不再赘述。
实施例四
图6是本说明书的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
应用于第一组件,在创建用于保存数据变更记录的区块链账户地址以及存证合约后,包括:
执行数据变更操作,所述数据变更操作的对象经过面向对象封装;
生成相应数据变更记录,所述数据变更记录包括数据唯一标识;
对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与所述存证合约进行关联;
根据所述区块链账户地址,调用所述存证合约将所述结构化数据变更记录保存至所述区块链。
或者,
应用于第二组件,包括:
接收数据监管请求,所述数据监管请求包括数据唯一标识和区块链账户地址;
根据所述区块链账户地址,调用存证合约对数据变更记录进行查询。
上述如本说明书图1至图3所示实施例揭示的基于区块链的数据变更记录方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
实施例五
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1至图3所示实施例的方法,并具体用于执行以下方法:
应用于第一组件,在创建用于保存数据变更记录的区块链账户地址以及存证合约后,包括:
执行数据变更操作,所述数据变更操作的对象经过面向对象封装;
生成相应数据变更记录,所述数据变更记录包括数据唯一标识;
对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与所述存证合约进行关联;
根据所述区块链账户地址,调用所述存证合约将所述结构化数据变更记录保存至所述区块链。
或者,
应用于第二组件,包括:
接收数据监管请求,所述数据监管请求包括数据唯一标识和区块链账户地址;
根据所述区块链账户地址,调用存证合约对数据变更记录进行查询。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (14)
1.一种基于区块链的数据变更记录方法,其特征在于,应用于第一组件,在创建用于保存数据变更记录的区块链账户地址以及存证合约后,包括:
编译并执行数据变更操作;
生成相应数据变更记录,所述数据变更记录包括数据唯一标识;
对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与所述存证合约进行关联;
根据所述区块链账户地址,调用所述存证合约将所述结构化数据变更记录保存至所述区块链。
2.根据权利要求1所述的方法,其特征在于,所述数据变更操作的对象经过面基于对象关系映射ORM封装,所述数据变更操作的对象包括数据库表、记录、字段中的至少一种。
3.根据权利要求1所述的方法,其特征在于,所述数据变更记录还包括数据库表名、字段名、变化前后的数据值、变更时间、操作者标识中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述结构化处理包括使用JSON模型将所述数据变更记录转换为相应数据交换格式。
5.根据权利要求1所述的方法,其特征在于,所述存证合约被配置为根据所述数据唯一标识对所述结构化数据变更记录进行保存、查询中至少一种方法的智能合约。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述账户地址为应用程序或数据库表中任一种的数据变更记录在区块链的访问入口。
7.一种基于区块链的数据变更记录装置,其特征在于,包括:
封装执行模块,用于执行面向对象封装后的数据变更操作;
生成模块,用于生成相应数据变更记录,所述数据变更记录包括数据唯一标识;
结构化处理模块,用于对所述数据变更记录进行结构化处理,以使所述结构化数据变更记录与存证合约进行关联;
调用模块,用于调用所述存证合约将所述结构化数据变更记录保存至所述区块链。
8.一种基于区块链的数据变更记录方法,其特征在于,应用于第二组件,包括:
接收数据监管请求,所述数据监管请求包括数据唯一标识和区块链账户地址;
根据所述区块链账户地址,调用存证合约对数据变更记录进行查询。
9.一种基于区块链的数据变更记录装置,其特征在于,包括:
接收模块,用于接收数据监管请求,所述数据监管请求包括数据唯一标识和区块链账户地址;
调用模块,用于根据所述区块链账户地址,调用存证合约调用存证合约对数据变更记录进行查询。
10.一种基于区块链的数据变更记录系统,其特征在于,包括第一组件和第二组件,其中,
所述第一组件创建用于保存数据变更记录的区块链账户地址以及存证合约,执行数据变更操作,生成相应数据变更记录,并对所述数据变更记录进行结构化处理,调用所述存证合约将所述结构化数据变更记录保存至所述区块链;所述第二组件接收数据监管请求,所述数据监管请求包括数据唯一标识和区块链账户地址,根据数据监管请求调用存证合约对数据变更记录进行查询;
多个所述第一组件发送数据变更记录至所述区块链;多个所述第二组件向所述区块链请求所述数据变更记录。
11.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求1至6任一项所述的方法。
12.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行权利要求8所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求1至6任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010547444.2A CN111786792A (zh) | 2020-06-16 | 2020-06-16 | 一种基于区块链的数据变更记录方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010547444.2A CN111786792A (zh) | 2020-06-16 | 2020-06-16 | 一种基于区块链的数据变更记录方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111786792A true CN111786792A (zh) | 2020-10-16 |
Family
ID=72756533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010547444.2A Pending CN111786792A (zh) | 2020-06-16 | 2020-06-16 | 一种基于区块链的数据变更记录方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111786792A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205416A (zh) * | 2021-04-19 | 2021-08-03 | 杭州溪塔科技有限公司 | 一种基于区块链预言机的业务处理方法和系统 |
CN113312365A (zh) * | 2021-05-27 | 2021-08-27 | 上海万向区块链股份公司 | 快速查询智能合约数据的方法、系统、介质及设备 |
CN116842029A (zh) * | 2023-09-01 | 2023-10-03 | 天津理工大学 | 一种资产管理方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446407A (zh) * | 2018-04-12 | 2018-08-24 | 北京百度网讯科技有限公司 | 基于区块链的数据库审计方法和装置 |
CN110188112A (zh) * | 2019-05-31 | 2019-08-30 | 深圳前海微众银行股份有限公司 | 一种区块链智能合约的变更记录的追溯方法及装置 |
CN110223068A (zh) * | 2019-06-14 | 2019-09-10 | 重庆邮电大学 | 一种基于区块链智能合约的电子证据存证方法 |
CN110535662A (zh) * | 2019-09-03 | 2019-12-03 | 山东浪潮质量链科技有限公司 | 基于区块链数据存证服务实现用户操作记录的方法及系统 |
-
2020
- 2020-06-16 CN CN202010547444.2A patent/CN111786792A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446407A (zh) * | 2018-04-12 | 2018-08-24 | 北京百度网讯科技有限公司 | 基于区块链的数据库审计方法和装置 |
CN110188112A (zh) * | 2019-05-31 | 2019-08-30 | 深圳前海微众银行股份有限公司 | 一种区块链智能合约的变更记录的追溯方法及装置 |
CN110223068A (zh) * | 2019-06-14 | 2019-09-10 | 重庆邮电大学 | 一种基于区块链智能合约的电子证据存证方法 |
CN110535662A (zh) * | 2019-09-03 | 2019-12-03 | 山东浪潮质量链科技有限公司 | 基于区块链数据存证服务实现用户操作记录的方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205416A (zh) * | 2021-04-19 | 2021-08-03 | 杭州溪塔科技有限公司 | 一种基于区块链预言机的业务处理方法和系统 |
CN113312365A (zh) * | 2021-05-27 | 2021-08-27 | 上海万向区块链股份公司 | 快速查询智能合约数据的方法、系统、介质及设备 |
CN116842029A (zh) * | 2023-09-01 | 2023-10-03 | 天津理工大学 | 一种资产管理方法、装置、计算机设备和存储介质 |
CN116842029B (zh) * | 2023-09-01 | 2023-11-17 | 天津理工大学 | 一种资产管理方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614823B (zh) | 一种数据的处理方法、装置及设备 | |
CN110032880B (zh) | 基于区块链的录屏取证方法、系统和电子设备 | |
CN111401902B (zh) | 基于区块链的业务处理方法、业务处理方法、装置及设备 | |
CN109002362B (zh) | 一种服务方法、装置、系统以及电子设备 | |
CN111786792A (zh) | 一种基于区块链的数据变更记录方法和装置 | |
CN110032599B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
CN110704037B (zh) | 一种规则引擎实现方法及装置 | |
CN113014475B (zh) | 消息推送集成方法、装置 | |
CN113079200A (zh) | 一种数据处理的方法、装置及系统 | |
CN110086872B (zh) | 一种scada系统的数据处理方法及系统 | |
CN111415170A (zh) | 一种基于区块链的食品溯源的方法、设备及相关存储介质 | |
CN111651467A (zh) | 一种区块链节点接口发布调用方法和装置 | |
CN111310137B (zh) | 一种区块链关联数据存证方法、装置及电子设备 | |
CN113722114A (zh) | 一种数据服务的处理方法、装置、计算设备及存储介质 | |
CN111464598A (zh) | 一种数据推送方法及装置 | |
CN111488095A (zh) | 一种用户登录管理方法及装置 | |
CN113253999B (zh) | 插件化数据接入方法、数据源管理系统及接口接入方法 | |
CN114490641A (zh) | 一种工业互联网数据的共享方法、设备及介质 | |
CN114463110A (zh) | 一种基于区块链的授信系统和方法 | |
CN111198677A (zh) | 一种设备对象生成方法、装置及设备 | |
CN116303622A (zh) | 一种数据库查询方法、装置、设备及存储介质 | |
CN110990891A (zh) | 一种基于区块链的健身房合同证明方法及设备、介质 | |
CN115225299B (zh) | 用户认证方法、服务器和系统 | |
CN112015808A (zh) | 基于联盟链的车辆数据处理方法及装置 | |
CN108563514A (zh) | 访问应用配置服务的方法、应用和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |