CN113672632A - 基于智能合约的链上历史数据变更记录快速查询调用方法 - Google Patents
基于智能合约的链上历史数据变更记录快速查询调用方法 Download PDFInfo
- Publication number
- CN113672632A CN113672632A CN202110903239.XA CN202110903239A CN113672632A CN 113672632 A CN113672632 A CN 113672632A CN 202110903239 A CN202110903239 A CN 202110903239A CN 113672632 A CN113672632 A CN 113672632A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- data
- calling
- compiling
- chain
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000008859 change Effects 0.000 title claims abstract description 17
- 230000000007 visual effect Effects 0.000 claims abstract description 4
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于智能合约的链上历史数据变更记录快速查询调用方法:包括步骤(1)通过可视化的界面编写智能合约;步骤(2)对上一步骤中编写的智能合约进行编译;步骤(3)将编译后的智能合约部署到区块链底链;步骤(4)编写可以调用智能合约的控制台程序;步骤(5)使用上一步骤中的控制台程序调用智能合约存储一条新的键值对,然后多次更新这个键对应的值形成多个历史数据;步骤(6)使用控制台程序调用智能合约的任意时间的历史记录获取接口获取历史数据;本发明将底链上加密的数据转换成明文,在防止数据篡改的基础上进一步对历史数据的溯源查询等工作节省了很大时间,提高了相关行业的工作效率。
Description
技术领域
本发明属于区块链领域,涉及基于智能合约的链上历史数据变更记录快速查询调用方法。
背景技术
区块链技术是一项颠覆性的技术,目前无论是底层技术还是上层应用都是最前沿的科研方向。以金融数据为例,当前的痛点是很多金融公司都有自己的数据,但是大家都不愿意共享出来,尽管所有人都知道基于一个共享的大数据池可以得到单个数据孤岛无法产生的价值。现在不存在一种方法或者系统,可以保证数据的可追溯以及绝对的数据安全,以至于只有授权的计算机才能打开数据,即使硬盘被拿走,数据在其他任何未授权环境打开也是加密的乱码,而不能看到任何他人的共享数据信息,只能看到一个由所有参与者共享的链条来保证记录的不可篡改以及可追溯。
随着网络技术的发展,互联网可提供的业务越来越多,各种业务所产生的数据量也急剧膨胀,而在业务处理过程中,会涉及到对业务数据进行存储以及基于存储的查询。但在数据的查询过程中,数据会在设备之间进行传输,因此,可能会造成数据被篡改、泄露或窃取等情况,危害数据安全,所以如何安全高效的进行数据查询成为人们十分关心的问题。
区块链虽然具有不可篡改的特性,但是当链上有多个功能合约时,我们是无法知道某个功能的最新数据以及历史数据的变更记录分别在哪些块上完成的,如果想要获取历史记录我们只能遍历区块链的每个块解析数据。这个过程必然伴随着数据量以及业务的越来越多而越来越复杂,消耗的时间也越来越多。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于智能合约的链上历史数据变更记录快速查询调用方法。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:本发明的一种基于智能合约的链上历史数据变更记录快速查询调用方法,步骤方法包括:
步骤(1):通过可视化的界面编写智能合约,通过这个智能合约能够实现对链上数据的插入查询操作,当新插入一条数据到底链时先查看这条数据的主键是否已经存在如果已经有了就更新对应的value,如果不存在就插入数据;
步骤(2):对上一步骤中编写的智能合约进行编译,这一步骤的目的是对代码进行编译查看语法是否正确,然后生成不同的类型文件;
步骤(3):将编译后的智能合约部署到区块链底链,部署之后通过应用程序接口对数据的操作都会反映到底链的账本里;
步骤(4):编写可以调用智能合约的控制台程序,为了能够对底链的合约进行操作需要编写一个控制台程序,此程序需要载入区块链底链的接口然后提供对底链数据的插入、查询等功能用来获取获取任意时间段内的历史数据变更记录;
步骤(5):使用上一步骤中的控制台程序调用智能合约存储一条新的键值对,为了获取很多个历史数据需要通过程序的插入数据口多次更新这个键对应的值,这样就会在区块链的账本里形成一个键数据对应 的多个的历史的数据值;
步骤(6):使用控制台程序调用智能合约的任意时间的历史记录获取接口获取历史数据,通过查询出的数据内容与之前的插入数据做比对记录,数据完全一致则表明该功能实现成功。
(三)有益效果
与现有技术相比,本发明提供了一种基于智能合约的链上历史数据变更记录快速查询调用方法,具备以下有益效果:
本发明提供了对区块链底链上任意时间任意一个主键对应的历史数据记录的快速查询,将底链上加密的数据转换成明文,在防止数据篡改的基础上进一步对历史数据的溯源查询等工作节省了很大时间,提高了相关行业的工作效率。
附图说明
图1是智能合约存储数据函数;
图2是智能合约存储历史数据函数;
图3是web编译部署界面;
图4是编译成功后web显示内容;
图5是部署智能合约到底链成功后显示的内容;
图6是java调用底链智能合约的存储数据的函数;
图7是java调用底链智能合约获取任意时间段内的历史数据的函数;
图8是插入第一条数据;
图9是插入第二条数据来更新图7中主键对应的的value值;
图10是查询所有时间段内的历史数据变更记录以及相关的查询内容显示;
图11是查询某一个时间段内的历史数据以及查询内容显示;
图12是基于智能合约的链上历史数据变更记录快速查询调用方法的设计流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-12,本发明提供了一种基于智能合约的链上历史数据变更记录快速查询调用方法:包括步骤(1)通过可视化的界面编写智能合约;步骤(2)对上一步骤中编写的智能合约进行编译;步骤(3)将编译后的智能合约部署到区块链底链;步骤(4)编写可以调用智能合约的控制台程序;步骤(5)使用上一步骤中的控制台程序调用智能合约存储一条新的键值对,然后多次更新这个键对应的值形成多个历史数据;步骤(6)使用控制台程序调用智能合约的任意时间的历史记录获取接口获取历史数据;本发明将底链上加密的数据转换成明文,在防止数据篡改的基础上进一步对历史数据的溯源查询等工作节省了很大时间,提高了相关行业的工作效率。
具体实施过程中,本发明的一种基于智能合约的链上历史数据变更记录快速查询调用方法包括:
步骤(1):如图1与图2 所示首先要编写智能合约,图1是数据的插入与更新函数,当新插入一条数据到底链时先查看这条数据的主键是否已经存在如果已经有了就更新对应的value,如果不存在就插入数据。图2是历史数据维护函数,图1中的函数调用在对数据插入或者更新完成后会同时调用图2的函数维护一个历史数据键值对。
步骤(2):编译智能合约,点击图3中的编译按钮执行编译操作,编译成功会出现图4中所示内容。
步骤(3):部署智能合约,点击图3中的部署按钮,将智能合约部署到底链,部署成功后会出现图5中所示内容。
步骤(4):编写可以调用底链智能合约的java-sdk程序,图6是调用存储,图7是获取任意时间段内的历史数据变更记录。
步骤(5):首先执行程序插入一条数据如图8,然后针对同一个主键值对value进行更新如图9所示。
步骤(6):按照图10所示先查询所有时间段内的键值,查询出的内容是与我们在步骤(5)中存储的数据相同,然后在根据图11中所示截取一部分时间段查询可以看到查询到的结果只有当前所选的时间段内的历史数据。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (2)
1.基于智能合约的链上历史数据变更记录快速查询调用方法,其特征在于:包括步骤(1)通过可视化的界面编写智能合约;步骤(2)对上一步骤中编写的智能合约进行编译;步骤(3)将编译后的智能合约部署到区块链底链;步骤(4)编写可以调用智能合约的控制台程序;步骤(5)使用上一步骤中的控制台程序调用智能合约存储一条新的键值对,然后多次更新这个键对应的值形成多个历史数据;步骤(6)使用控制台程序调用智能合约的任意时间的历史记录获取接口获取历史数据。
2.根据权利要求1所述的基于智能合约的链上历史数据变更记录快速查询调用方法,其特征在于:
步骤(1):如图1与图2 所示首先要编写智能合约,图1是数据的插入与更新函数,当新插入一条数据到底链时先查看这条数据的主键是否已经存在如果已经有了就更新对应的value,如果不存在就插入数据;
图2是历史数据维护函数,图1中的函数调用在对数据插入或者更新完成后会同时调用图2的函数维护一个历史数据键值对;
步骤(2):编译智能合约,点击图3中的编译按钮执行编译操作,编译成功会出现图4中所示内容;
步骤(3):部署智能合约,点击图3中的部署按钮,将智能合约部署到底链,部署成功后会出现图5中所示内容;
步骤(4):编写可以调用底链智能合约的java-sdk程序,图6是调用存储,图7是获取任意时间段内的历史数据变更记录;
步骤(5):首先执行程序插入一条数据如图8,然后针对同一个主键值对value进行更新如图9所示;
步骤(6):按照图10所示先查询所有时间段内的键值,查询出的内容是与我们在步骤(5)中存储的数据相同,然后在根据图11中所示截取一部分时间段查询可以看到查询到的结果只有当前所选的时间段内的历史数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110903239.XA CN113672632A (zh) | 2021-08-06 | 2021-08-06 | 基于智能合约的链上历史数据变更记录快速查询调用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110903239.XA CN113672632A (zh) | 2021-08-06 | 2021-08-06 | 基于智能合约的链上历史数据变更记录快速查询调用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672632A true CN113672632A (zh) | 2021-11-19 |
Family
ID=78541772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110903239.XA Pending CN113672632A (zh) | 2021-08-06 | 2021-08-06 | 基于智能合约的链上历史数据变更记录快速查询调用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672632A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489421A (zh) * | 2019-08-22 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、计算机可读存储介质和计算机设备 |
WO2020103545A1 (zh) * | 2018-11-19 | 2020-05-28 | 苏宁云计算有限公司 | 一种区块链智能合约调试发布方法及系统 |
CN111429322A (zh) * | 2020-04-23 | 2020-07-17 | 重庆邮电大学 | 基于联盟链的学历学位证书可信管理系统 |
CN112148278A (zh) * | 2020-09-25 | 2020-12-29 | 模视科技(北京)有限公司 | 可视化的区块链智能合约框架及智能合约开发部署方法 |
CN112765155A (zh) * | 2020-12-14 | 2021-05-07 | 杭州趣链科技有限公司 | 基于区块链的键值存储方法、装置、终端设备及介质 |
CN113179294A (zh) * | 2021-03-15 | 2021-07-27 | 华东师范大学 | 一种基于智能合约的schema统一存取方法 |
-
2021
- 2021-08-06 CN CN202110903239.XA patent/CN113672632A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020103545A1 (zh) * | 2018-11-19 | 2020-05-28 | 苏宁云计算有限公司 | 一种区块链智能合约调试发布方法及系统 |
CN110489421A (zh) * | 2019-08-22 | 2019-11-22 | 腾讯科技(深圳)有限公司 | 数据存储方法、装置、计算机可读存储介质和计算机设备 |
CN111429322A (zh) * | 2020-04-23 | 2020-07-17 | 重庆邮电大学 | 基于联盟链的学历学位证书可信管理系统 |
CN112148278A (zh) * | 2020-09-25 | 2020-12-29 | 模视科技(北京)有限公司 | 可视化的区块链智能合约框架及智能合约开发部署方法 |
CN112765155A (zh) * | 2020-12-14 | 2021-05-07 | 杭州趣链科技有限公司 | 基于区块链的键值存储方法、装置、终端设备及介质 |
CN113179294A (zh) * | 2021-03-15 | 2021-07-27 | 华东师范大学 | 一种基于智能合约的schema统一存取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106681739B (zh) | 一种智能合约的自动化生成方法 | |
US9026901B2 (en) | Viewing annotations across multiple applications | |
US5557793A (en) | In an object oriented repository, a method for treating a group of objects as a single object during execution of an operation | |
CN109857724B (zh) | 基于区块链实现支持多种数据库的方法及设备 | |
US11748752B2 (en) | Modular, configurable smart contracts for blockchain transaction processing validations | |
CN109547488B (zh) | 一种基于联盟区块链的可信数据计算及交换系统 | |
CN107798037A (zh) | 用户特征数据的获取方法及服务器 | |
CN103440285B (zh) | 大型手机游戏系统及其数据库更新方法 | |
CN110032568B (zh) | 数据结构的读取及更新方法、装置、电子设备 | |
CN111461751A (zh) | 基于区块链的房产信息链上组织方法、历史状态追溯方法及装置 | |
CN112214802B (zh) | 一种区块链智能合约消息发布订阅方法 | |
CN106326129A (zh) | 一种程序异常信息生成方法及装置 | |
CN111651296A (zh) | 数据删除操作的拦截备份方法、装置、设备及存储介质 | |
CN110930152A (zh) | 一种基于区块链的数据处理方法及相关设备 | |
CN111680477A (zh) | 导出电子表格文件的方法、装置、计算机设备及存储介质 | |
CN111563098A (zh) | 结构化与非结构化数据查询方法、设备、存储介质及装置 | |
CN114897536A (zh) | 一种基于rfid标签和区块链的商品防伪溯源方法 | |
CN112328486A (zh) | 接口自动化测试方法、装置、计算机设备及存储介质 | |
CN113486114B (zh) | 一种区块链智能合约调用管理方法 | |
CN103107919A (zh) | 一种网络资源建模方法和系统 | |
CN111831744B (zh) | Dapp的链上数据检索系统、方法及介质 | |
CN113672632A (zh) | 基于智能合约的链上历史数据变更记录快速查询调用方法 | |
CN111177171A (zh) | 基于区块链的业务数据认证与管理方法及系统 | |
CN113179294B (zh) | 一种基于智能合约的schema统一存取方法 | |
CN113411383B (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 |