CN113645211B - 通用的数据上链存证***及方法 - Google Patents
通用的数据上链存证***及方法 Download PDFInfo
- Publication number
- CN113645211B CN113645211B CN202110881814.0A CN202110881814A CN113645211B CN 113645211 B CN113645211 B CN 113645211B CN 202110881814 A CN202110881814 A CN 202110881814A CN 113645211 B CN113645211 B CN 113645211B
- Authority
- CN
- China
- Prior art keywords
- data
- protocol
- module
- uplink
- service data
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种通用的数据上链存证***及方法,所述***包括:协议生成模块和数据上链模块;本发明通过协议生成模块根据待上链业务数据确定的协议对象得到对应的协议和数据合约,将协议、数据合约以及待上链业务数据发送至数据上链模块;数据上链模块根据协议和数据合约将待上链业务数据进行上链,得到目标业务数据,以实现对待上链业务数据的存证;本发明利用协议定义好待上链业务数据类型,根据待上链业务数据类型生成对应的数据合约,对于同一种待上链业务数据类型,通过直接调用数合约进行存储上链,相较于现有技术不同的业务数据或相同的业务数据皆是无关联独立且还需再创建上链合约进行上链,能够有效提高数据上链的灵活性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及通用的数据上链存证***及方法。
背景技术
随着人们对数据安全的意识加强以及区块链技术的不断发展,基于区块链技术进行数据存储的应用越来越广泛及应用场景的增加,使得越来越多的互联网数据存储在区块链上,而数据想要存储在区块链上的就必须进行上链,目前常用的数据上链技术方案为不同的业务数据采用不同的上链方式,例如,A格式的数据上链是采用一种上链方式,而B格式的数据上链是采用另外一种上链方式,两者上链方式是无关联、独立的,并且通过上述方式将上链后的数据进行存储时,会造成数据之间的耦合性较高,使得数据在上链时的灵活性较低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种通用的数据上链存证***及方法,旨在解决现有技术无法有效提高数据上链的灵活性的技术问题。
为实现上述目的,本发明提供了一种通用的数据上链存证***,所述通用的数据上链存证***包括:协议生成模块和数据上链模块;
所述协议生成模块,用于获取待上链业务数据,根据所述待上链业务数据确定对应的协议对象,根据所述协议对象得到对应的协议和数据合约,将所述协议、数据合约以及待上链业务数据发送至所述数据上链模块;
所述数据上链模块,用于根据所述协议和数据合约将所述待上链业务数据进行上链,得到目标业务数据,以实现对所述待上链业务数据的存证。
可选地,所述协议生成模块,包括对象序列化模块和协议生成模块;
所述对象序列化模块,用于对所述协议对象进行序列化处理,将序列化后的协议对象进行上链,得到目标协议号,将所述目标协议号发送至所述协议生成模块;
所述协议生成模块,用于根据所述目标协议号确定对应的数据类型,根据所述数据类型得到对应的数据合约,获取目标场景信息,根据所述目标场景信息和所述目标协议号生成对应的协议。
可选地,所述对象序列化模块,包括数组确定模块和属性融合模块;
所述数组确定模块,用于将所述协议对象写入至目标类型数组,将写入协议对象的目标类型数组发送至所述属性融合模块;
所述属性融合模块,用于提取所述协议对象的属性信息,将所述属性信息与写入协议对象的目标类型数组进行融合。
可选地,所述协议生成模块,包括协议新增模块和协议查询模块;
所述协议新增模块,用于获取协议请求信息,根据所述协议请求信息生成当前协议,根据所述当前协议对目标协议内容数组进行追加更新,将追加更新后的目标协议内容数组发送至所述协议查询模块;
所述协议查询模块,用于获取用户需求信息,根据所述用户需求信息对所述目标协议内容数组进行查询。
可选地,所述协议生成模块,包括格式提取模块和协议定义模块;
所述格式提取模块,用于获取待上链业务数据,提取所述待上链业务数据的格式信息,在所述格式信息为目标格式信息时,将所述待上链业务数据发送至所述协议定义模块;
所述协议定义模块,用于根据所述待上链业务数据定义对应的协议对象。
可选地,所述通用的数据上链存证***,还包括数据格式确定模块和文件存储模块;
所述数据格式确定模块,用于在所述格式信息不为目标格式信息时,将所述待上链业务数据发送至所述文件存储模块;
所述文件存储模块,用于通过预设文件存储策略对所述待上链业务数据进行存储。
可选地,所述数据上链模块,包括协议号确定模块和数据合约调用模块;
所述协议号确定模块,用于根据协议的接口信息和待上链业务数据选择对应的协议号,根据所述协议号得到对应的数据合约地址,将所述数据合约地址发送至所述数据合约调用模块;
所述数据合约调用模块,用于根据所述数据合约地址得到对应的数据合约,根据所述数据合约将所述待上链业务数据进行上链,得到目标业务数据。
可选地,所述数据上链模块,包括数据存证模块、数据更新模块以及时间确定模块;
所述数据存证模块,用于对所述目标业务数据实时进行记录,得到区块高度信息,将所述区块高度信息发送至所述时间确定模块;
所述数据更新模块,用于获取更新业务数据,根据所述更新业务数据对目标业务数据进行更新,提取更新后的目标业务数据的哈希值所在的索引信息,根据所述索引信息确定当前业务数据,将所述当前业务数据发送至所述时间确定模块;
所述时间确定模块,用于根据所述区块高度信息和当前业务数据得到对应的更改时间,并根据所述更改时间对所述当前业务数据的存储时间进行更新。
可选地,所述通用的数据上链存证***,还包括区块链数据解析模块和数据展示模块;
所述数据上链模块,还用于将存储后的目标业务数据发送至所述区块链数据解析模块;
所述区块链数据解析模块,用于获取目标协议信息,根据所述目标协议信息对所述存储后的目标业务数据进行反序列化处理,得到业务数据实例,将所述业务数据实例发送至所述数据展示模块;
所述数据展示模块,用于对所述业务数据实例进行展示。
此外,为实现上述目的,本发明还提出一种通用的数据上链存证方法,所述通用的数据上链存证方法应用于通用的数据上链存证***,所述***包括:协议生成模块和数据上链模块,所述方法包括:
所述协议生成模块获取待上链业务数据,根据所述待上链业务数据确定对应的协议对象,根据所述协议对象得到对应的协议和数据合约,将所述协议、数据合约以及待上链业务数据发送至所述数据上链模块;
所述数据上链模块根据所述协议和数据合约将所述待上链业务数据进行上链,得到目标业务数据,以实现对所述待上链业务数据的存证。
本发明通过协议生成模块根据待上链业务数据确定对应的协议对象,根据协议对象得到对应的协议和数据合约,将协议、数据合约以及待上链业务数据发送至数据上链模块;数据上链模块根据协议和数据合约将待上链业务数据进行上链,得到目标业务数据,以实现对待上链业务数据的存证;本发明利用协议定义好待上链业务数据类型,根据业务数据类型生成对应的数据合约,对于同一种业务数据类型,通过直接调用数合约进行存储上链,相较于现有技术不同的业务数据或相同的业务数据皆是无关联独立且还需再创建上链合约进行上链,能够有效提高数据上链的灵活性。
附图说明
图1为本发明通用的数据上链存证***第一实施例的结构框图;
图2为本发明通用的数据上链存证***一实施例的协议定义示意图;
图3为本发明通用的数据上链存证***一实施例的业务通用的数据上链存证示意图;
图4为本发明通用的数据上链存证***一实施例的业务数据存证变更示意图;
图5为本发明通用的数据上链存证***第二实施例的结构框图;
图6为本发明通用的数据上链存证***一实施例的文件通用的数据上链存证示意图;
图7为本发明通用的数据上链存证***第二实施例的结构框图;
图8为本发明通用的数据上链存证方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明通用的数据上链存证***第一实施例的结构框图。所述通用的数据上链存证***包括:协议生成模块10和数据上链模块20。
本实施例中,通用的数据上链存证***100中的协议生成模块10获取待上链业务数据,根据待上链业务数据确定对应的协议对象,根据协议对象得到对应的协议和数据合约,将协议、数据合约以及待上链业务数据发送至数据上链模块20,其中,待上链的业务数据指的是用户需要上链的业务数据,根据业务数据的大小分为两种,一种是小于或等于数据阈值的业务数据,一种是大于数据阈值的文件数据,在确定待上链业务数据为小于或等于数据阈值的业务数据后,协议生成模块根据待上链业务数据的格式配置不同的协议,得到对应的协议对象,将协议对象进行上链,得到对应的协议和数据合约,协议指的是待上链业务数据在上链时所遵循的协议,数据合约指的是待上链业务数据在上链完成后进行查询的依据。
进一步地,协议生成模块10,包括格式提取模块和协议定义模块。
本实施例中,格式提取模块获取待上链业务数据,提取待上链业务数据的格式信息,在格式信息为目标格式信息时,将待上链业务数据发送至协议定义模块,其中,目标格式信息指的是待上链业务数据的大小小于或等于数据阈值的格式信息,在得到待上链业务数据后,需要判断待上链业务数据的格式信息是否为目标格式信息,在为目标格式信息时,将待上链业务数据发送至协议定义模块。
本实施例中,协议定义模块根据待上链业务数据定义对应的协议对象,其中,在得到待上链业务数据的格式信息为目标格式信息时,定义待上链业务数据的协议信息,得到对应的协议对象,此时还需要判断待上链业务数据的类型,不同类型的待上链业务数据在定义协议时的协议类型也是不同的,参照图2,图2为本发明通用的数据上链存证***一实施例的协议定义示意图,具体为:协议对象为多个类型的组合体,如Object1和Object2,还包括协议簇(Suite)和协议号(Number),Object由多条属性组成,如Property1、Property2、Property3以及Property4,而Property是由类型(type)、名称(name)、描述(description)和子类型(subtype)组成,其中,协议簇相当于协议的类型,按照行业或者类型划分,例如将0划分为***协议,协议号为协议的编号,协议簇与协议号的数值位数为64位,即唯一标识的协议,例如,0或1本身就是协议。
进一步地,协议生成模块10,包括对象序列化模块和协议生成模块。
本实施例中,对象序列化模块对协议对象进行序列化处理,将序列化后的协议对象进行上链,得到目标协议号,将目标协议号发送至协议生成模块,其中,在得到协议对象后,通过将序列化后的协议对象进行上链,得到目标协议号,目标协议号指的是序列化后的协议对象上链后的协议序号,其中,该协议号与区块链中的区块号一一对应,序列化指的是将协议对象的状态信息转换为可存储或传输的形式的过程。
进一步地,对象序列化模块,包括数组确定模块和属性融合模块。
本实施例中,数组确定模块将协议对象写入至目标类型数组,将写入协议对象的目标类型数组发送至属性融合模块,其中,目标类型数组指的是对协议对象进行存储的数组,目标类型数组可以为byte数组,也可以为其他数组,本实施例对此不作限制,以byte数组为例进行说明,在得到协议对象后,将协议对象写入至byte数组中,将含有协议对象的byte数组发送至属性融合模块。
本实施例中,属性融合模块提取协议对象的属性信息,将属性信息与写入协议对象的目标类型数组进行融合,属性信息指的是与待上链业务数据对应的属性信息,例如,姓名、班级以及成绩等属性信息,将含有协议对象的byte数组与属性信息进行融合即为对协议对象进行序列化处理。
本实施例中,协议生成模块根据目标协议号确定对应的数据类型,根据数据类型得到对应的数据合约,获取目标场景信息,根据目标场景信息和目标协议号生成对应的协议,其中,在得到目标协议号后,由于不同的协议号对象的数据类型不同,因此,根据目标协议号确定该协议号所属的数据类型,目标场景信息指的是协议对象上链时的实际场景信息,根据目标场景信息和目标协议号生成对应的数据合约,以便于对上链后的业务数据的查询。
进一步地,协议生成模块10,包括协议新增模块和协议查询模块。
本实施例中,协议新增模块获取协议请求信息,根据协议请求信息生成当前协议,根据当前协议对目标协议内容数组进行追加更新,将追加更新后的目标协议内容数组发送至协议查询模块,其中,预设协议请求信息指的是协议增加请求信息,根据预设请求协议生成当前协议,当前协议指的是需要新增加的协议,目标协议内容数组指的是对协议内容进行维护的数组,在得到当前当前协议后,将当前协议添加至目标协议内容数组中,以完成对目标协议内容数组的追加更新,并将追加更新后的目标协议内容数组发送至协议查询模块。
本实施例中,协议查询模块获取用户需求信息,根据用户需求信息对目标协议内容数组进行查询,其中,用户需求信息指的是用户想要查询的协议信息,在接收到用户需求信息后,根据用户需求信息在目标协议内容数组中进行查询,得到与用户需求信息对应的协议信息。
本实施例中,通用的数据上链存证***100中的数据上链模块20根据协议和数据合约将待上链业务数据进行上链,得到目标业务数据,以实现对待上链业务数据的存证,其中,在得到协议和数据合约后,通过协议的接口信息和数据合约将待上链业务数据进行上链,在上链结束后,此时的待上链业务数据即为目标业务数据,在区块链的公链上可以查询到目标业务数据即实现对待上链业务数据的存证。
进一步地,数据上链模块20,包括协议号确定模块和数据合约调用模块。
本实施例中,协议号确定模块根据协议的接口信息和待上链业务数据选择对应的协议号,根据协议号得到对应点的数据合约地址,将数据合约地址发送至所述数据合约调用模块,其中,在得到协议和待上链业务数据后,通过协议中的接口信息选择与待上链业务数据对应的协议号,不同的协议号对应不同的数据合约地址,在得到协议号后,根据该协议号确定对应的数据合约地址,将确定的数据合约地址发送至数据合约调用模块。
本实施例中,数据合约调用模块根据数据合约地址将待上链业务数据进行上链,得到目标业务数据,其中,根据数据合约地址调用数据合约中的类方法将待上链业务数据进行上链,在上链成功后,得到目标业务数据。
本实施例中,参考图3,图3为本发明通用的数据上链存证***一实施例的业务通用的数据上链存证示意图,具体上链存证流程为:协议对象Protocol包括成绩单(transcript)属性信息和学科(subject)属性信息,其中,成绩单属性信息由姓名(stu_name)和班级(stu_class)组成,学科属性信息由学科名称(sub_name)和成绩(score)组成,在确定协议对象后,通过协议对象服务器(Protocol Server)将协议对象写入至byte数组中,并将含有协议对象的byte数组传输至对应的ProtocolMap Contract数据合约,而待上链业务数据为成绩单属性信息和学科属性信息对应的待上链业务数据,例如,姓名:小明;班级:二班;学科名称:语文、数学以及英语;成绩:99、98以及96,在得到待上链业务数据后,通过区块链服务器(Blockchain Server)将待上链业务数据写入至byte数组中,将含有待上链业务数据的byte数组传输至对应的Data Contract数据合约,通过协议号调用数据合约中的方法将待上链业务数据进行上链,得到目标业务数据,此时同一数据类型的不同业务数据无需再创建合约上链,仅是调用合约完成存证上链。
进一步地,数据上链模块20,包括数据存证模块、数据更新模块以及时间确定模块。
本实施例中,数据存证模块对目标业务数据实时进行记录,得到区块高度信息,将区块高度信息发送至时间确定模块,在得到目标业务数据前,需要记录待上链业务数据的上链时间信息、上链的区块信息等等,区块高度信息指的是区块链接在主链的个数信息,也就是连接在区块链上的块数信息。
本实施例中,数据更新模块获取更新业务数据,根据更新业务数据对目标业务数据进行更新,提取更新后的目标业务数据的哈希值所在的索引信息,根据索引信息确定当前业务数据,将当前业务数据发送至时间确定模块,其中,更新业务数据指的是对目标类型数组进行更新的业务数据,在得到更新业务数据后,通过更新业务数据对目标类型数组中的目标业务数据进行更新,索引信息指的是更新后的业务数据的哈希值对应的索引信息,即目录信息,根据索引信息确定当前业务数据,当前业务数据指的是用户需要得到的业务数据。
本实施例中,时间确定模块根据区块高度信息和当前业务数据得到对应的更改时间,并根据更改时间对当前业务数据的存储时间进行更新,其中,在得到区块高度信息和当前业务数据后,根据区块高度信息和当前业务数据得到当前业务数据的更改时间,该更改时间为得到当前业务数据的时间,并根据更改时间对当前业务数据的存储时间进行更新,该存储时间即为上链时间或者上一次的更改时间。
本实施例中,参考图4,图4为本发明通用的数据上链存证***一实施例的业务数据存证变更示意图,具体变更流程如下:在接收到数据变更请求时,确定更新业务数据,例如,数学学科分数89,在byte数组中利用前一条数据哈希值找到待更新数据所在索引信息,根据索引信息中的地址在byte数组中增加更新业务数据,在更新完成后,得到更新后的业务数据,此时的数据合约中的索引信息为T1和T2,同时需要对更新后的业务数据的时间信息进行更新。
本实施例,通过协议生成模块根据待上链业务数据确定对应的协议对象,根据协议对象得到对应的协议和数据合约,将协议、数据合约以及待上链业务数据发送至数据上链模块;数据上链模块根据协议和数据合约将待上链业务数据进行上链,得到目标业务数据,以实现对待上链业务数据的存证;通过利用协议定义好待上链业务数据类型,根据业务数据类型生成对应的数据合约,对于同一种业务数据类型,通过直接调用数合约进行存储上链,相较于现有技术不同的业务数据或相同的业务数据皆是无关联独立且还需再创建上链合约进行上链,能够有效提高数据上链的灵活性。
参照图5,图5为本发明通用的数据上链存证***第二实施例的结构框图,基于上述图1所示的实施例,提出本发明通用的数据上链存证***的第二实施例。
本实施例中,通用的数据上链存证***100,还包括数据格式确定模块30和文件存储模块40,数据格式确定模块30在格式信息不为目标格式信息时,将待上链业务数据发送至文件存储模块,其中,由于本实施例是将待上链业务数据的格式信息分为目标格式信息和非目标格式信息,在将待上链业务数据的格式信息不为目标格式信息,即非目标格式信息时,将待上链业务数据作为文件数据进行上链。
本实施例中,文件存储模块40通过预设文件存储策略对所述待上链业务数据进行存储,其中,预设文件存储策略指的是对文件数据进行上链存证的策略,预设文件存储策略可以为星际文件***(Inter Planetary File System,IPFS)存储策略,还可以为其他存储策略,本实施例对此不作限制,以IPFS为例进行说明,在确认待上链业务数据不为目标格式信息后,通过预设文件存储策略对待上链业务数据进行存储。
本实施例中,参考图6,图6为本发明通用的数据上链存证***一实施例的文件通用的数据上链存证示意图,具体上链流程为:文件数据通过IPFS接口上传到IPFS,得到对应的文件地址信息,在定义协议时,将文件数据的类型定义为IPFS地址,通过IPFS地址将文件数据进行上链存储,若用户需要查询对应的文件数据时时,在链上得到对应的链上数据后,根据文件类型的字段得到IPFS地址,再通过IPFS接口获取到文件。
本实施例,通过所述数据格式确定模块在所述格式信息不为目标格式信息时,将所述待上链业务数据发送至所述文件存储模块;所述文件存储模块通过预设文件存储策略对所述待上链业务数据进行存储;在待上链业务数据的格式信息不为目标格式信息时,通过预设文件存储策略对待上链业务数据进行存储,从而能够有效提高存储待上链业务数据的准确率。
参照图7,图7为本发明通用的数据上链存证***第三实施例的结构框图,基于上述图1所示的实施例,提出本发明通用的数据上链存证***的第三实施例。
本实施例中,通用的数据上链存证***100,还包括区块链数据解析模块50和数据展示模块60,区块链数据解析模块50获取目标协议信息,根据目标协议信息对存储后的目标业务数据进行反序列化处理,得到业务数据实例,将业务数据实例发送至数据展示模块,目标协议信息指的是解析区块链上的业务数据的协议信息,通过目标协议信息将存储在链上的目标业务数据进行反序列化,得到对应的业务数据实例,反序列化指的是将目标业务数据进行解析和重建,即在将目标业务数据进行解析,在解析结束后将解析后的目标业务数据进行重建,得到业务数据实例。
本实施例中,数据展示模块60对业务数据实例进行展示,其中,在得到业务数据实例后,需要对业务数据进行实时展示,即在业务数据实例在得到之后,目标业务数据出现更新,此时的业务数据实例需要展示最新的业务数据。
本实施例,通过所述数据上链模块将存储后的目标业务数据发送至所述区块链数据解析模块;所述区块链数据解析模块获取目标协议信息,根据所述目标协议信息对所述存储后的目标业务数据进行反序列化处理,得到业务数据实例,将所述业务数据实例发送至所述数据展示模块;所述数据展示模块对所述业务数据实例进行展示;通过目标协议信息对存储后的目标业务数据进行反序列化,得到业务数据实例,并对业务数据实例进行展示,使得业务数据实例更加公开透明化。
参照图8,本发明通用的数据上链存证***提供一种通用的数据上链存证方法,图7为本发明通用的数据上链存证方法第一实施例的流程示意图,其通用的数据上链存证***包括:协议生成模块和数据上链模块;
所述通用的数据上链存证方法包括:
步骤S10,所述协议生成模块获取待上链业务数据,根据所述待上链业务数据确定对应的协议对象,根据所述协议对象得到对应的协议和数据合约,将所述协议、数据合约以及待上链业务数据发送至所述数据上链模块。
可以理解的是,待上链的业务数据指的是用户需要上链的业务数据,根据业务数据的大小分为两种,一种是小于或等于数据阈值的业务数据,一种是大于数据阈值的文件数据,在确定待上链业务数据为小于或等于数据阈值的业务数据后,协议生成模块根据待上链业务数据的格式配置不同的协议,得到对应的协议对象,将协议对象进行上链,得到对应的协议和数据合约,协议指的是待上链业务数据在上链时所遵循的协议,数据合约指的是待上链业务数据在上链完成后进行查询的依据。
进一步地,协议生成模块,包括格式提取模块和协议定义模块。
应当理解的是,格式提取模块获取待上链业务数据,提取待上链业务数据的格式信息,在格式信息为目标格式信息时,将待上链业务数据发送至协议定义模块,其中,目标格式信息指的是待上链业务数据的大小小于或等于数据阈值的格式信息,在得到待上链业务数据后,需要判断待上链业务数据的格式信息是否为目标格式信息,在为目标格式信息时,将待上链业务数据发送至协议定义模块。
可以理解的是,协议定义模块根据待上链业务数据定义对应的协议对象,其中,在得到待上链业务数据的格式信息为目标格式信息时,定义待上链业务数据的协议信息,得到对应的协议对象,此时还需要判断待上链业务数据的类型,不同类型的待上链业务数据在定义协议时的协议类型也是不同的,参照图2,图2为本发明通用的数据上链存证***一实施例的协议定义示意图,具体为:协议对象为多个类型的组合体,如Object1和Object2,还包括协议簇(Suite)和协议号(Number),Object由多条属性组成,如Property1、Property2、Property3以及Property4,而Property是由类型(type)、名称(name)、描述(description)和子类型(subtype)组成,其中,协议簇相当于协议的类型,按照行业或者类型划分,例如将0划分为***协议,协议号为协议的编号,协议簇与协议号的数值位数为64位,即唯一标识的协议,例如,0或1本身就是协议。
进一步地,协议生成模块,包括对象序列化模块和协议生成模块。
应当理解的是,对象序列化模块对协议对象进行序列化处理,将序列化后的协议对象进行上链,得到目标协议号,将目标协议号发送至协议生成模块,其中,在得到协议对象后,通过将序列化后的协议对象进行上链,得到目标协议号,目标协议号指的是序列化后的协议对象上链后的协议序号,其中,该协议号与区块链中的区块号一一对应,序列化指的是将协议对象的状态信息转换为可存储或传输的形式的过程。
进一步地,对象序列化模块,包括数组确定模块和属性融合模块。
可以理解的是,数组确定模块将协议对象写入至目标类型数组,将写入协议对象的目标类型数组发送至属性融合模块,其中,目标类型数组指的是对协议对象进行存储的数组,目标类型数组可以为byte数组,也可以为其他数组,本实施例对此不作限制,以byte数组为例进行说明,在得到协议对象后,将协议对象写入至byte数组中,将含有协议对象的byte数组发送至属性融合模块。
应当理解的是,属性融合模块提取协议对象的属性信息,将属性信息与写入协议对象的目标类型数组进行融合,属性信息指的是与待上链业务数据对应的属性信息,例如,姓名、班级以及成绩等属性信息,将含有协议对象的byte数组与属性信息进行融合即为对协议对象进行序列化处理。
可以理解的是,协议生成模块根据目标协议号确定对应的数据类型,根据数据类型得到对应的数据合约,获取目标场景信息,根据目标场景信息和目标协议号生成对应的协议,其中,在得到目标协议号后,由于不同的协议号对象的数据类型不同,因此,根据目标协议号确定该协议号所属的数据类型,目标场景信息指的是协议对象上链时的实际场景信息,根据目标场景信息和目标协议号生成对应的数据合约,以便于对上链后的业务数据的查询。
进一步地,协议生成模块,包括协议新增模块和协议查询模块。
应当理解的是,协议新增模块获取协议请求信息,根据协议请求信息生成当前协议,根据当前协议对目标协议内容数组进行更新,将更新后的目标协议内容数组发送至协议查询模块,其中,预设协议请求信息指的是协议增加请求信息,根据预设请求协议生成当前协议,当前协议指的是需要新增加的协议,目标协议内容数组指的是对协议内容进行维护的数组,在得到当前当前协议后,将当前协议添加至目标协议内容数组中,以完成对目标协议内容数组的更新,并将更新后的目标协议内容数组发送至协议查询模块。
可以理解的是,协议查询模块获取用户需求信息,根据用户需求信息对目标协议内容数组进行查询,其中,用户需求信息指的是用户想要查询的协议信息,在接收到用户需求信息后,根据用户需求信息在目标协议内容数组中进行查询,得到与用户需求信息对应的协议信息。
步骤S20,所述数据上链模块根据所述协议和数据合约将所述待上链业务数据进行上链,得到目标业务数据,以实现对所述待上链业务数据的存证。
应当理解的是,在得到协议和数据合约后,通过协议的接口信息和数据合约将待上链业务数据进行上链,在上链结束后,此时的待上链业务数据即为目标业务数据,在区块链的公链上可以查询到目标业务数据即实现对待上链业务数据的存证。
进一步地,数据上链模块,包括协议号确定模块和数据合约调用模块。
可以理解的是,协议号确定模块根据协议的接口信息和待上链业务数据选择对应的协议号,根据协议号得到对应点的数据合约地址,将数据合约地址发送至所述数据合约调用模块,其中,在得到协议和待上链业务数据后,通过协议中的接口信息选择与待上链业务数据对应的协议号,不同的协议号对应不同的数据合约地址,在得到协议号后,根据该协议号确定对应的数据合约地址,将确定的数据合约地址发送至数据合约调用模块。
应当理解的是,数据合约调用模块根据数据合约地址将待上链业务数据进行上链,得到目标业务数据,其中,根据数据合约地址调用数据合约中的类方法将待上链业务数据进行上链,在上链成功后,得到目标业务数据。
可以理解的是,参考图3,图3为本发明通用的数据上链存证***一实施例的业务通用的数据上链存证示意图,具体上链存证流程为:协议对象Protocol包括成绩单(transcript)属性信息和学科(subject)属性信息,其中,成绩单属性信息由姓名(stu_name)和班级(stu_class)组成,学科属性信息由学科名称(sub_name)和成绩(score)组成,在确定协议对象后,通过协议对象服务器(Protocol Server)将协议对象写入至byte数组中,并将含有协议对象的byte数组传输至对应的ProtocolMap Contract数据合约,而待上链业务数据为成绩单属性信息和学科属性信息对应的待上链业务数据,例如,姓名:小明;班级:二班;学科名称:语文、数学以及英语;成绩:99、98以及96,在得到待上链业务数据后,通过区块链服务器(Blockchain Server)将待上链业务数据写入至byte数组中,将含有待上链业务数据的byte数组传输至对应的Data Contract数据合约,通过协议号调用数据合约中的方法将待上链业务数据进行上链,得到目标业务数据,此时同一数据类型的不同业务数据无需再创建合约上链,仅是调用合约完成存证上链。
进一步地,数据上链模块,包括数据存证模块、数据更新模块以及时间确定模块。
可以理解的是,数据存证模块对目标业务数据实时进行记录,得到区块高度信息,将区块高度信息发送至时间确定模块,在得到目标业务数据前,需要记录待上链业务数据的上链时间信息、上链的区块信息等等,区块高度信息指的是区块链接在主链的个数信息,也就是连接在区块链上的块数信息。
应当理解的是,数据更新模块获取更新业务数据,根据更新业务数据对目标业务数据进行更新,提取更新后的目标业务数据的哈希值所在的索引信息,根据索引信息确定当前业务数据,将当前业务数据发送至时间确定模块,其中,更新业务数据指的是对目标类型数组进行更新的业务数据,在得到更新业务数据后,通过更新业务数据对目标类型数组中的目标业务数据进行更新,索引信息指的是更新后的业务数据的哈希值对应的索引信息,即目录信息,根据索引信息确定当前业务数据,当前业务数据指的是用户需要得到的业务数据。
可以理解的是,时间确定模块根据区块高度信息和当前业务数据得到对应的更改时间,并根据更改时间对当前业务数据的存储时间进行更新,其中,在得到区块高度信息和当前业务数据后,根据区块高度信息和当前业务数据得到当前业务数据的更改时间,该更改时间为得到当前业务数据的时间,并根据更改时间对当前业务数据的存储时间进行更新,该存储时间即为上链时间或者上一次的更改时间。
应当理解的是,参考图4,图4为本发明通用的数据上链存证***一实施例的业务数据存证变更示意图,具体变更流程如下:在接收到数据变更请求时,确定更新业务数据,例如,数学学科分数89,在byte数组中利用前一条数据哈希值找到待更新数据所在索引信息,根据索引信息中的地址在byte数组中增加更新业务数据,在更新完成后,得到更新后的业务数据,此时的数据合约中的索引信息为T1和T2,同时需要对更新后的业务数据的时间信息进行更新。
本实施例通过协议生成模块根据待上链业务数据确定对应的协议对象,根据协议对象得到对应的协议和数据合约,将协议、数据合约以及待上链业务数据发送至数据上链模块;数据上链模块根据协议和数据合约将待上链业务数据进行上链,得到目标业务数据,以实现对待上链业务数据的存证;通过利用协议定义好待上链业务数据类型,根据业务数据类型生成对应的数据合约,对于同一种业务数据类型,通过直接调用数合约进行存储上链,相较于现有技术不同的业务数据或相同的业务数据皆是无关联独立且还需再创建上链合约进行上链,能够有效提高数据上链的灵活性。
本发明所述通用的数据上链存证***装置的其他实施例或具有实现方法可参照上述各方法实施例,此处不在赘余。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种通用的数据上链存证***,其特征在于,所述通用的数据上链存证***包括:协议生成模块和数据上链模块;
所述协议生成模块,用于获取待上链业务数据,根据所述待上链业务数据确定对应的协议对象,根据所述协议对象得到对应的协议和数据合约,将所述协议、数据合约以及待上链业务数据发送至所述数据上链模块;
所述数据上链模块,用于根据所述协议和数据合约将所述待上链业务数据进行上链,得到目标业务数据,以实现对所述待上链业务数据的存证;
所述协议生成模块,包括对象序列化模块和协议生成模块;所述对象序列化模块,用于对所述协议对象进行序列化处理,将序列化后的协议对象进行上链,得到目标协议号,将所述目标协议号发送至所述协议生成模块;所述协议生成模块,用于根据所述目标协议号确定对应的数据类型,根据所述数据类型得到对应的数据合约,获取目标场景信息,根据所述目标场景信息和所述目标协议号生成对应的协议;
所述对象序列化模块,包括数组确定模块和属性融合模块;所述数组确定模块,用于将所述协议对象写入至目标类型数组,将写入协议对象的目标类型数组发送至所述属性融合模块;所述属性融合模块,用于提取所述协议对象的属性信息,将所述属性信息与写入协议对象的目标类型数组进行融合,以实现对协议对象的序列化;所述协议对象为多个类型的组合体。
2.如权利要求1所述的通用的数据上链存证***,其特征在于,所述协议生成模块,包括协议新增模块和协议查询模块;
所述协议新增模块,用于获取协议请求信息,根据所述协议请求信息生成当前协议,根据所述当前协议对目标协议内容数组进行追加更新,将追加更新后的目标协议内容数组发送至所述协议查询模块;
所述协议查询模块,用于获取用户需求信息,根据所述用户需求信息对所述目标协议内容数组进行查询。
3.如权利要求1所述的通用的数据上链存证***,其特征在于,所述协议生成模块,包括格式提取模块和协议定义模块;
所述格式提取模块,用于获取待上链业务数据,提取所述待上链业务数据的格式信息,在所述格式信息为目标格式信息时,将所述待上链业务数据发送至所述协议定义模块;
所述协议定义模块,用于根据所述待上链业务数据定义对应的协议对象。
4.如权利要求1所述的通用的数据上链存证***,其特征在于,所述通用的数据上链存证***,还包括数据格式确定模块和文件存储模块;
所述数据格式确定模块,用于在格式信息不为目标格式信息时,将待上链业务数据发送至所述文件存储模块;
所述文件存储模块,用于通过预设文件存储策略对待上链业务数据进行存储。
5.如权利要求1所述的通用的数据上链存证***,其特征在于,所述数据上链模块,包括协议号确定模块和数据合约调用模块;
所述协议号确定模块,用于根据协议的接口信息和待上链业务数据选择对应的协议号,根据所述协议号得到对应的数据合约地址,将所述数据合约地址发送至所述数据合约调用模块;
所述数据合约调用模块,用于根据所述数据合约地址得到对应的数据合约,根据所述数据合约将所述待上链业务数据进行上链,得到目标业务数据。
6.如权利要求1所述的通用的数据上链存证***,其特征在于,所述数据上链模块,包括数据存证模块、数据更新模块以及时间确定模块;
所述数据存证模块,用于对所述目标业务数据实时进行记录,得到区块高度信息,将所述区块高度信息发送至所述时间确定模块;
所述数据更新模块,用于获取更新业务数据,根据所述更新业务数据对目标业务数据进行更新,提取更新后的目标业务数据的哈希值所在的索引信息,根据所述索引信息确定当前业务数据,将所述当前业务数据发送至所述时间确定模块;
所述时间确定模块,用于根据所述区块高度信息和当前业务数据得到对应的更改时间,并根据所述更改时间对所述当前业务数据的存储时间进行更新。
7.如权利要求1至6中任一项所述的通用的数据上链存证***,其特征在于,所述通用的数据上链存证***,还包括区块链数据解析模块和数据展示模块;
所述数据上链模块,还用于将存储后的目标业务数据发送至所述区块链数据解析模块;
所述区块链数据解析模块,用于获取目标协议信息,根据所述目标协议信息对所述存储后的目标业务数据进行反序列化处理,得到业务数据实例,将所述业务数据实例发送至所述数据展示模块;
所述数据展示模块,用于对所述业务数据实例进行展示。
8.一种通用的数据上链存证方法,其特征在于,所述通用的数据上链存证方法应用于如权利要求1至6中任一项所述的通用的数据上链存证***,所述***包括:协议生成模块和数据上链模块,所述通用的数据上链存证方法包括:
所述协议生成模块获取待上链业务数据,根据所述待上链业务数据确定对应的协议对象,根据所述协议对象得到对应的协议和数据合约,将所述协议、数据合约以及待上链业务数据发送至所述数据上链模块;
所述数据上链模块根据所述协议和数据合约将所述待上链业务数据进行上链,得到目标业务数据,以实现对所述待上链业务数据的存证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110881814.0A CN113645211B (zh) | 2021-08-02 | 2021-08-02 | 通用的数据上链存证***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110881814.0A CN113645211B (zh) | 2021-08-02 | 2021-08-02 | 通用的数据上链存证***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113645211A CN113645211A (zh) | 2021-11-12 |
CN113645211B true CN113645211B (zh) | 2023-02-28 |
Family
ID=78419341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110881814.0A Active CN113645211B (zh) | 2021-08-02 | 2021-08-02 | 通用的数据上链存证***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113645211B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109801152A (zh) * | 2019-01-24 | 2019-05-24 | 中国农业银行股份有限公司 | 基于区块链的企业年金业务处理方法及*** |
CN111369730A (zh) * | 2020-02-20 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于区块链的投票表决处理方法和装置 |
CN111666337A (zh) * | 2020-05-19 | 2020-09-15 | 武汉理工大学 | 基于区块链技术的专利技术转化运营平台及交易方法 |
CN111930852A (zh) * | 2020-09-29 | 2020-11-13 | 北京百度网讯科技有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
CN111933292A (zh) * | 2020-09-27 | 2020-11-13 | 浙江杜比医疗科技有限公司 | 基于区块链的医联体及医疗数据交互方法和存储介质 |
CN112231284A (zh) * | 2020-09-28 | 2021-01-15 | 广西犇云科技股份有限公司 | 基于区块链的大数据共享***、方法、装置和存储介质 |
CN112910985A (zh) * | 2021-01-27 | 2021-06-04 | 南京中兴力维软件有限公司 | 基于智能合约的协议转换方法、装置、设备及存储介质 |
CN113098876A (zh) * | 2021-04-02 | 2021-07-09 | 中南大学 | 一种基于区块链与智能合约的产品数据上链方法和介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI667625B (zh) * | 2018-08-16 | 2019-08-01 | 卓昭明 | 基於區塊鏈智能合約進行金融投資程式交易的方法及系統 |
-
2021
- 2021-08-02 CN CN202110881814.0A patent/CN113645211B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109801152A (zh) * | 2019-01-24 | 2019-05-24 | 中国农业银行股份有限公司 | 基于区块链的企业年金业务处理方法及*** |
CN111369730A (zh) * | 2020-02-20 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于区块链的投票表决处理方法和装置 |
CN111666337A (zh) * | 2020-05-19 | 2020-09-15 | 武汉理工大学 | 基于区块链技术的专利技术转化运营平台及交易方法 |
CN111933292A (zh) * | 2020-09-27 | 2020-11-13 | 浙江杜比医疗科技有限公司 | 基于区块链的医联体及医疗数据交互方法和存储介质 |
CN112231284A (zh) * | 2020-09-28 | 2021-01-15 | 广西犇云科技股份有限公司 | 基于区块链的大数据共享***、方法、装置和存储介质 |
CN111930852A (zh) * | 2020-09-29 | 2020-11-13 | 北京百度网讯科技有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
CN112910985A (zh) * | 2021-01-27 | 2021-06-04 | 南京中兴力维软件有限公司 | 基于智能合约的协议转换方法、装置、设备及存储介质 |
CN113098876A (zh) * | 2021-04-02 | 2021-07-09 | 中南大学 | 一种基于区块链与智能合约的产品数据上链方法和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113645211A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8078880B2 (en) | Portable personal identity information | |
CN101267299B (zh) | 一种安全显示网页中数据的方法和*** | |
US8099386B2 (en) | Method and apparatus for synchronizing databases connected by wireless interface | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
US20170371625A1 (en) | Content delivery method | |
CN109521956B (zh) | 一种基于区块链的云存储方法、装置、设备及存储介质 | |
US9396277B2 (en) | Access to supplemental data based on identifier derived from corresponding primary application data | |
CN113094334B (zh) | 基于分布式存储的数字服务方法、装置、设备及储存介质 | |
CN111427613B (zh) | 一种应用程序接口api管理方法和装置 | |
CN105825115A (zh) | 数字数据内容证明***、计算机、用户终端以及证明方法 | |
CN112906064B (zh) | 生成描述信息的方法及装置 | |
CN108829753A (zh) | 一种信息处理方法及装置 | |
CN109951318A (zh) | 应用的功能配置方法及装置 | |
Fidler et al. | Metadata, infrastructure, and computer‐mediated communication in historical perspective | |
CN113515395B (zh) | 一种基于多云管理平台的应用接入方法及装置 | |
CN108809896A (zh) | 一种信息校验方法、装置和电子设备 | |
CN114491462A (zh) | 单次签署多份电子文件的方法、***、设备及存储介质 | |
CN113645211B (zh) | 通用的数据上链存证***及方法 | |
CN113129008A (zh) | 数据处理方法、装置、计算机可读介质及电子设备 | |
US20100191766A1 (en) | Method and apparatus for information retrieval via electronic mail | |
CN111327680B (zh) | 认证数据同步方法、装置、***、计算机设备和存储介质 | |
CN110297945B (zh) | 基于xbrl的数据信息处理方法及*** | |
CN116208676A (zh) | 数据回源方法、装置、计算机设备、存储介质和程序产品 | |
CN115292415A (zh) | 一种数据库访问方法及装置 | |
EP2838027B1 (en) | Method and apparatus for expanding storage space |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |