CN114239039A - 一种自定义区块链上动态适配数据结构的方法 - Google Patents
一种自定义区块链上动态适配数据结构的方法 Download PDFInfo
- Publication number
- CN114239039A CN114239039A CN202111668129.6A CN202111668129A CN114239039A CN 114239039 A CN114239039 A CN 114239039A CN 202111668129 A CN202111668129 A CN 202111668129A CN 114239039 A CN114239039 A CN 114239039A
- Authority
- CN
- China
- Prior art keywords
- data
- template
- user
- information
- data template
- 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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种自定义区块链上动态适配数据结构的方法,所述方法包括:业务系统通过注册数据模板合约将数据模板信息上链存储,基于数据模板或查询需使用数据模板信息,并通过区块链上数据模板的唯一标识与基于数据模板的数据信息各字段建立索引,将数据内容与数据模板信息关联;用户通过查询数据信息与对应模板组装数据,选择模板构建数据或创建自定义数据结构模板,生成动态适配任意数据的模型,利用智能合约与业务系统数据结构松耦合动态适配不同业务数据,当有新增数据结构或业务数据结构发生变更的情况,通过新增模板即适配新数据结构。通过本发明方法极大的减少了业务系统与区块链智能合约的开发、联试工作量。
Description
技术领域
本发明属于区块链(Blockchain)技术领域,特别是涉及一种可自定义的链上数据结构的方法。
背景技术
区块链是一个分布式、点对点传输的数据存储技术,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。逻辑上它是一个链式(chain)结构,每个结点上就是一个区块信息(block),区块里面则存储了交易的信息。区块链是一个信息技术领域的术语。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块。区块链中的数据是分布式的存储于各个节点;不需要中心服务器,而通过点对点的进行数据传输;通过加密、共识算法保证数据的完整性和安全性;区块数据结构主要包括区块头和区块体两部分。其中区块头包含父区块哈希值、merkle根、交易数据等信息;一个区块是通过包含了前一个区块的哈希值来体现这种链的关系的。区块的哈希值是通过区块头中的信息进行计算的。这个哈希值是区块的标识符,可以通过这个哈希值找到对应的区块。可以通过区块高度来查询。
无论区块数据还是状态数据,它们都是由区块链节点使用和存储的。区块链节点是一个可运行程序。多个分布在不同硬件环境的区块链节点,通过网络互相连接,组成了完整的区块链网络。区块链节点通常会把区块链数据存储在数据库,存储区块链数据最常见的介质,就是磁盘。区块链节点不会直接访问磁盘,它们会通过特定的数据库来操作数据。相比于直接操作磁盘,数据库抽象了特定的数据访问模型,区块链节点与数据的访问更为便利。由于区块链底层多由Key-value数据库作为存储数据库,是与传统的关系型数据库完全不同的操作范式,无法满足复杂的数据插入与查询操作。
目前基于区块链进行链上数据存证的业务场景不断增加,就情报领域而言,不同的获情手段,不同的数据类型导致区块链上的数据结构各式各样。目前针对不同的数据格式与结构,均需要实现与之相匹配的智能合约,极大的增加了数据上链智能合约工作的开发工作量,智能合约与业务数据强绑定、紧耦合,无法动态的适配自定义的数据结构。
发明内容
本发明的目的在于,针对不同的数据格式与结构,需要实现与之相匹配的智能合约,极大的增加了数据上链智能合约工作的开发工作量,智能合约与业务数据强绑定、紧耦合,无法动态的适配自定义的数据结构的缺陷,提供一种一次开发部署,永久使用,能够减少数据上链智能合约工作的开发工作量的自定义区块链上动态适配数据结构的方法。
本发明目的通过下述技术方案来实现:
一种自定义区块链上动态适配数据结构的方法,所述方法包括:业务系统通过注册数据模板合约将数据模板信息上链存储,基于数据模板或查询需使用数据模板信息,并通过区块链上数据模板的唯一标识与数据内容中各字段的数据模板约束信息索引,将数据内容与数据模板信息关联;用户通过查询数据信息与对应模板组装数据,选择模板构建数据或创建自定义数据结构模板,生成动态适配任意数据的模型,利用智能合约与业务系统数据结构松耦合动态适配不同业务数据,当有新增数据结构或业务数据结构发生变更的情况,通过新增模板即适配新数据结构。
根据一个优选的实施方式,业务系统通过区块链上注册数据模板、查询数据模板,并选择数据模板进行数据上链,实现数据结构的自定义。
根据一个优选的实施方式,链上数据结构由用户或用户的业务系统进行数据模板的定义;当用户需要查询链上数据的时候,基于数据的唯一标识查询链上的数据及对应数据模板,并由智能合约完成组装,返回给用户结构化的数据。
根据一个优选的实施方式,在数据模板注册中,基于非对称国密算法的链上身份认证合约进行身份认证后,进行该用户的数据模板注册。
根据一个优选的实施方式,数据模板注册信息包括:数据模板编号、数据模板描述和数据模板内容,其中,数据模板编号为该数据模板在链上的唯一标识,数据模板编号由用户业务系统自行产生和维护,数据模板描述为数据模板注册用户对该数据模板所表示数据结构的说明,数据模板内容为一个表示该数据模板中每一字段信息的结构体数组,用户通过数据模板内容字段,定义该数据模板的数据字段信息与约束条件,通过对数据字段信息签名并将数据模板注册上链,上链成功后返回链上相关交易状态与交易信息。
根据一个优选的实施方式,查询数据模板过程中,用户通过链上模板的唯一标识数据模板编号,查询模板的信息,使用户或业务系统获得该模板所对应的数据结构。
根据一个优选的实施方式,数据上链过程中,用户根据请求参数,通过模板唯一标识使上链数据与对应模板关联,并通过标识属性中的索引值,指定待处理数据对应模板中某一个模板内容,从而完成待处理数据的上链。
前述本发明主方案及其各进一步选择方案可以自由组合以形成多个方案,均为本发明可采用并要求保护的方案。本领域技术人员在了解本发明方案后根据现有技术和公知常识可明了有多种组合,均为本发明所要保护的技术方案,在此不做穷举。
本发明的有益效果:
一次开发部署,永久使用。极大的减少了业务系统与区块链智能合约的开发、联试工作量。可动态适配任意数据模型,用户可针对自身业务流程、数据结构动态的增加、调整链上数据结构。
本发明通过查询模板组装数据,选择模板构建数据或创建自定义数据结构模板,生成动态适配任意数据模型,利用智能合约与业务系统数据结构松耦合动态适配不同业务数据,如有新增数据结构或业务数据结构发生变更的情况,通过新增模板即适配新数据结构。解决了智能合约与业务数据强绑定、紧耦合,无法动态的适配自定义的数据结构的问题。
本发明可供所有用户查询与使用。用户可通过链上数据模板的唯一标识,查询数据模板的详细信息。使用户或业务系统了解该数据模板所对应的数据结构与详情,用于构建业务数据信息。用户通过数据模板查询合约,传入区块链上数据模板唯一标识,如该标识存在,则返回该数据模板描述、数据模板内容信息。
附图说明
图1是本发明自定义区块链上动态适配数据系统总体架构图。
图2是数据模板注册流程图。
图3是数据上链与数据组装流程图。
图4是数据模板注册流程图。
图5是数据模板查询流程图。
图6是数据信息上链流程图。
图7是数据信息查询流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,为使本发明实施例的目的、技术方案和优点更加清楚,下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明公开了一种自定义区块链上动态适配数据结构的方法,如图1所示,首先业务系统通过注册模板合约将数据模板信息上链存储,再基于模板或查询需使用模板信息,将数据内容上链,并通过区块链上模板的唯一标识与模板内各字段的索引,将数据内容与模板信息关联。
基于数据模板的数据存证智能合约,可由用户或应用自定义数据结构或模板,动态的适配不同业务数据。智能合约与业务系统松耦合,如有新增数据结构或业务数据结构发生变更的情况,无需重新开发智能合约,通过新增模板即可适配新数据结构。
如图2、图3所示,业务系统通过在区块链上注册模板、查询模板并选择模板进行数据上链,实现数据结构的可自定义。
智能合约并不约定链上数据的格式或结构,一切的链上数据结构交由用户或用户的业务系统进行模板的定义。当用户需要查询链上数据的时候,基于数据的唯一标识查询链上的数据及对应模板,并由智能合约完成组装,返回给用户结构化的数据。
自定义区块链上动态适配数据结构的方法分为如下几个步骤:模板注册、模板查询、数据上链、数据查询。
各部分具体设计如下:
1.模板注册
模板注册时序图如图4所示,由基于非对称国密算法的链上身份认证合约进行身份认证后,即可进行该用户的模板注册。
templateID为该模板在链上的唯一标识,其中templateID由用户业务系统自行产生和维护。用户主要通过items数组字段,在定义该模板的数据字段信息,其中字段信息包括该字段的中文名称、英文名称、是否必填、数据类型、数据的长度限制范围等。用户通过对上述信息签名并将模板注册上链。上链成功后返回链上相关交易状态与交易信息。
·请求参数描述
·返回值
Name | Description | Value |
code | 状态码 | 200... |
message | 消息 | 成功/失败 |
bcInfo | 区块信息 | Array |
bcInfo.blockHeight | 所在区块号 | String |
bcInfo.txHash | 交易hash | String |
bcInfo.createTime | 出块时间 | String |
2.模板查询
模板查询时序图如图5所示,可供所有用户查询与使用。用户可通过链上模板的唯一标识templateID,查询模板的详细信息。使用户或业务系统获得该模板所对应的数据结构与详情。
·请求参数描述
·返回值
3.数据上链
数据上链时序图如图6所示,用户根据下表中请求参数,通过templateID使上链数据与对应模板关联,并通过标识属性value中的索引值,指定该数据对应模板中哪一个模板内容。因此用户只需在知晓模板信息的的基础上,关心上链数据本身即可。
·请求参数描述
·返回值
Name | Description | Value |
code | 状态码 | 200... |
message | 消息 | 成功/失败 |
reHandle | 数据唯一标识 | String |
bcInfo | 区块信息 | Array |
bcInfo.blockHeight | 所在区块号 | String |
bcInfo.txHash | 交易hash | String |
bcInfo.createTime | 出块时间 | String |
4.数据查询
数据查询时序图如图7所示,基于数据全局唯一标识,查询出该数据信息与数据所对应模板标识,并通过模板标识查询出模板信息,并由智能合约组装信息返回给用户。
·请求参数描述
Name | In | Type | 是否必须 | Description |
handle | body | String | 是 | 全局唯一标识 |
·返回值
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种自定义区块链上动态适配数据结构的方法,其特征在于,所述方法包括:
业务系统通过注册数据模板合约将数据模板信息上链存储,基于数据模板或查询需使用数据模板信息,并通过区块链上数据模板的唯一标识与数据内容中各字段的数据模板约束信息索引,将数据内容与数据模板信息关联;
用户通过查询数据信息与对应模板组装数据,选择模板构建数据或创建自定义数据结构模板,生成动态适配任意数据的模型,利用智能合约与业务系统数据结构松耦合动态适配不同业务数据,当有新增数据结构或业务数据结构发生变更的情况,通过新增模板即适配新数据结构。
2.如权利要求1所述的自定义区块链上动态适配数据结构的方法,其特征在于:业务系统通过区块链上注册数据模板、查询数据模板,并选择数据模板进行数据上链,实现数据结构的自定义。
3.如权利要求2所述的自定义区块链上动态适配数据结构的方法,其特征在于:链上数据结构由用户或用户的业务系统进行数据模板的定义;
当用户需要查询链上数据的时候,基于数据的唯一标识查询链上的数据及对应数据模板,并由智能合约完成组装,返回给用户结构化的数据。
4.如权利要求3所述的自定义区块链上动态适配数据结构的方法,其特征在于,在数据模板注册中,基于非对称国密算法的链上身份认证合约进行身份认证后,进行该用户的数据模板注册。
5.如权利要求4所述的自定义区块链上动态适配数据结构的方法,其特征在于,数据模板注册信息包括:数据模板编号、数据模板描述和数据模板内容,
其中,数据模板编号为该数据模板在链上的唯一标识,数据模板编号由用户业务系统自行产生和维护,数据模板描述为数据模板注册用户对该数据模板所表示数据结构的说明,数据模板内容为一个表示该数据模板中每一字段信息的结构体数组,
用户通过数据模板内容字段,定义该数据模板的数据字段信息与约束条件,通过对数据字段信息签名并将数据模板注册上链,上链成功后返回链上相关交易状态与交易信息。
6.如权利要求5所述的自定义区块链上动态适配数据结构的方法,其特征在于,查询数据模板过程中,用户通过链上模板的唯一标识数据模板编号,查询模板的信息,使用户或业务系统获得该模板所对应的数据结构。
7.如权利要求6所述的自定义区块链上动态适配数据结构的方法,其特征在于,数据上链过程中,用户根据请求参数,通过模板唯一标识使上链数据与对应模板关联,并通过标识属性中的索引值,指定待处理数据对应模板中某一个模板内容,从而完成待处理数据的上链。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111159188 | 2021-09-30 | ||
CN2021111591880 | 2021-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239039A true CN114239039A (zh) | 2022-03-25 |
Family
ID=80745188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111668129.6A Pending CN114239039A (zh) | 2021-09-30 | 2021-12-31 | 一种自定义区块链上动态适配数据结构的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239039A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780994A (zh) * | 2022-04-24 | 2022-07-22 | 蚂蚁金服(杭州)网络技术有限公司 | 一种基于智能合约的数据处理方法以及区块链节点 |
CN115344329A (zh) * | 2022-08-15 | 2022-11-15 | 北京美蓝智达科技有限公司 | 一种根据功能模块形态实时创建数据结构的技术 |
US12265652B2 (en) * | 2022-11-15 | 2025-04-01 | Adobe Inc. | Document signing and storage using data models and distributed ledgers |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700685A (zh) * | 2005-05-13 | 2005-11-23 | 中国联合通信有限公司 | 一种业务中间件及利用业务中间件开展业务的方法 |
CN1996877A (zh) * | 2006-09-30 | 2007-07-11 | 华为技术有限公司 | 一种实现mib适配的装置、系统及方法 |
US20120173501A1 (en) * | 2010-12-30 | 2012-07-05 | Tata Consultancy Services Limited | Configurable catalog builder system |
CN106778329A (zh) * | 2016-11-28 | 2017-05-31 | 中国银行股份有限公司 | 一种区块链智能合约模板动态更新方法、装置及系统 |
CN107918666A (zh) * | 2017-11-24 | 2018-04-17 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种区块链上的数据同步方法和系统 |
CN110600096A (zh) * | 2019-09-16 | 2019-12-20 | 上海保险交易所股份有限公司 | 医疗数据管理方法及系统和计算机存储介质 |
CN110851127A (zh) * | 2019-10-28 | 2020-02-28 | 杭州趣链科技有限公司 | 一种基于区块链的通用存证方法 |
CN110990879A (zh) * | 2019-11-08 | 2020-04-10 | 中国电子科技网络信息安全有限公司 | 一种基于区块链的数据存证方法 |
CN111506579A (zh) * | 2020-05-28 | 2020-08-07 | 支付宝(杭州)信息技术有限公司 | 一种智能合约代码的生成方法、程序及设备 |
CN111666336A (zh) * | 2020-05-15 | 2020-09-15 | 西安纸贵互联网科技有限公司 | 区块链间的数据互通方法、系统及电子设备 |
-
2021
- 2021-12-31 CN CN202111668129.6A patent/CN114239039A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1700685A (zh) * | 2005-05-13 | 2005-11-23 | 中国联合通信有限公司 | 一种业务中间件及利用业务中间件开展业务的方法 |
CN1996877A (zh) * | 2006-09-30 | 2007-07-11 | 华为技术有限公司 | 一种实现mib适配的装置、系统及方法 |
US20120173501A1 (en) * | 2010-12-30 | 2012-07-05 | Tata Consultancy Services Limited | Configurable catalog builder system |
CN106778329A (zh) * | 2016-11-28 | 2017-05-31 | 中国银行股份有限公司 | 一种区块链智能合约模板动态更新方法、装置及系统 |
CN107918666A (zh) * | 2017-11-24 | 2018-04-17 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种区块链上的数据同步方法和系统 |
CN110600096A (zh) * | 2019-09-16 | 2019-12-20 | 上海保险交易所股份有限公司 | 医疗数据管理方法及系统和计算机存储介质 |
CN110851127A (zh) * | 2019-10-28 | 2020-02-28 | 杭州趣链科技有限公司 | 一种基于区块链的通用存证方法 |
CN110990879A (zh) * | 2019-11-08 | 2020-04-10 | 中国电子科技网络信息安全有限公司 | 一种基于区块链的数据存证方法 |
CN111666336A (zh) * | 2020-05-15 | 2020-09-15 | 西安纸贵互联网科技有限公司 | 区块链间的数据互通方法、系统及电子设备 |
CN111506579A (zh) * | 2020-05-28 | 2020-08-07 | 支付宝(杭州)信息技术有限公司 | 一种智能合约代码的生成方法、程序及设备 |
Non-Patent Citations (1)
Title |
---|
林良金: "基于区块链技术的高效数字图书馆数字版权交易保障策略研究" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780994A (zh) * | 2022-04-24 | 2022-07-22 | 蚂蚁金服(杭州)网络技术有限公司 | 一种基于智能合约的数据处理方法以及区块链节点 |
CN115344329A (zh) * | 2022-08-15 | 2022-11-15 | 北京美蓝智达科技有限公司 | 一种根据功能模块形态实时创建数据结构的技术 |
US12265652B2 (en) * | 2022-11-15 | 2025-04-01 | Adobe Inc. | Document signing and storage using data models and distributed ledgers |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114239039A (zh) | 一种自定义区块链上动态适配数据结构的方法 | |
CN102203773B (zh) | 在具有卸载的布隆过滤器的智能存储器中利用协同并行过滤的哈希联接 | |
US8489548B2 (en) | Method, system, and device for data synchronization | |
US20210243032A1 (en) | Sending cross-chain authenticatable messages | |
US9213764B2 (en) | Encrypted in-memory column-store | |
US7548542B2 (en) | Methods and apparatus for transferring data | |
CN102867064B (zh) | 关联字段查询装置和关联字段查询方法 | |
CN110134671A (zh) | 一种面向溯源应用的区块链数据库数据管理系统及方法 | |
CN101639855B (zh) | 报表查询方法和装置 | |
CN117033348B (zh) | Sql转换方法、装置、计算机设备和存储介质 | |
CN102195895B (zh) | 一种消息发送、接收处理的方法及其装置 | |
CN102272728B (zh) | 基于多项式的数据转换和利用的方法、装置和计算机程序产品 | |
CN105049256A (zh) | 一种通用自定义接口报文实现方法及系统 | |
US20190347341A1 (en) | Method and system for schema transformation | |
US12149597B2 (en) | System and method for asset management and integration | |
CN113220881A (zh) | 基于深度学习的教育问答实现方法、装置及服务器 | |
CN116802628A (zh) | 数据管理和查询方法、装置、服务网格系统、计算设备 | |
CN108345691A (zh) | 数据源通用处理框架构建方法、数据源处理方法及装置 | |
CN106326499A (zh) | 一种数据处理方法及装置 | |
CN112417517A (zh) | 一种基于区块链的数据标准管理方法 | |
CN114519078B (zh) | 一种基于区块链的跨链可信查询方法及系统 | |
CN112118133B (zh) | 基于自定义结构数据便于以太坊智能合约快速升级方法 | |
CN110737662B (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
US20020165975A1 (en) | Dynamic mapping of communication protocols | |
CN104077355B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220325 |