CN109120590A - 基于区块链的数据可信共享交易系统 - Google Patents
基于区块链的数据可信共享交易系统 Download PDFInfo
- Publication number
- CN109120590A CN109120590A CN201810722523.5A CN201810722523A CN109120590A CN 109120590 A CN109120590 A CN 109120590A CN 201810722523 A CN201810722523 A CN 201810722523A CN 109120590 A CN109120590 A CN 109120590A
- Authority
- CN
- China
- Prior art keywords
- data
- transaction
- information
- user
- submodule
- 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
- 238000007726 management method Methods 0.000 claims abstract description 27
- 238000012550 audit Methods 0.000 claims abstract description 22
- 238000013500 data storage Methods 0.000 claims abstract description 20
- 238000012423 maintenance Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 7
- 238000011156 evaluation Methods 0.000 claims abstract description 4
- 238000012986 modification Methods 0.000 claims description 22
- 230000004048 modification Effects 0.000 claims description 22
- 230000008901 benefit Effects 0.000 claims description 15
- 238000013523 data management Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000013524 data verification Methods 0.000 claims description 4
- 230000009191 jumping Effects 0.000 claims description 2
- 230000000737 periodic effect Effects 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011157 data evaluation Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的实施例公开一种基于区块链的数据可信共享交易系统,涉及区块链技术领域,便于为科技数据在确权方面的管理提供安全保障。所述基于区块链的数据可信共享交易系统,包括:数据存储层、基础数据层和逻辑层;其中,数据存储层包括区块链信息以及MySQL数据库;基础数据层包含当前系统配置信息、交易池、区块缓存、用户个人信息、浏览器Session数据;逻辑层包括个人信息维护、数据审核、数据上传、收益自动分配、交易加密处理、订单评价、信息通知、数据搜索、用户注册、以及个人收益详情。本发明适用于科技数据的管理和使用。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的数据可信共享交易系统。
背景技术
近年来,由于数据来源的多样性以及存储介质的低成本性,越来越多的数据被产生存储并积累。随着数据规模的急剧增加以及人们对数据的愈发重视,大数据迅速发展并成为人们关注的焦点和社会各界关注的热点。
数据尤其是科技数据作为当今时代最为重要的资源之一,如何使用合理的数据结构存储数据,同时进一步完善数据分享中所有权的管理,以实现深化数据利用能力的同时具有安全保障的数据开放,是一个亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种基于区块链的数据可信共享交易系统,便于为科技数据在确权方面的管理提供安全保障。
一种基于区块链的数据可信共享交易系统,包括:
数据存储层、基础数据层和逻辑层;其中,
数据存储层包括区块链信息以及MySQL数据库,其中区块链信息,用于作为公开账本记录系统中所有的交易信息、记录用户登录操作、记录管理员审核信息;MySQL数据库,用于存储系统账户信息、数据详细信息、通知信息;
基础数据层包含当前系统配置信息、交易池、区块缓存、用户个人信息、浏览器Session数据;其中,当前系统配置信息包含当前系统的奖励机制的配置设置、当前系统的重置密码链接过期时间配置、系统分页情况配置;交易池,用于保存当前系统中尚未被封装的交易,有待进一步验证;区块缓存,用于表示区块链网络产生的下一个区块但此区块尚未写入至区块链中;
逻辑层包括个人信息维护、数据审核、数据上传、收益自动分配、交易加密处理、订单评价、信息通知、数据搜索、用户注册、以及个人收益详情。
根据本发明实施例的一种具体实现方式,区块链和MySQL数据库之间进行定期数据同步;同步的信息包括交易的钱币地址、钱币数量、钱币所有者。
根据本发明实施例的一种具体实现方式,所述的系统,还包括用户管理模块、数据管理模块和交易管理模块;其中,
用户管理模块,用于对用户进行注册、密码找回、密码修改和个人信息修改的管理;
数据管理模块,用于数据信息完善子模块、数据搜索子模块、数据收益设置子模块、数据评分维护子模块和数据审核子模块;
交易管理模块,用于交易入链、区块缓存、收益自动分配和交易信息查看。
根据本发明实施例的一种具体实现方式,所述用户管理模块包括用户注册子模块、统一入口登录子模块、密码找回子模块、密码修改子模块、用户个人信息修改子模块;其中,
用户注册子模块,用于访客进行注册时输入注册名、邮箱和密码;
统一入口登录子模块,用于为普通用户和管理员提供统一入口,通过用户名自动识别当前登录者身份,并跳转至不同页面;
密码找回子模块,用于为用户发送邮件,其中邮件内容包含密码重置链接以及链接过期时间;
密码修改子模块,用于用户输入当前密码,并两次输入新密码后可完成修改密码操作,同时发送密码修改子模块告知用户;
用户个人信息修改子模块,用于用户登录系统后完善个人信息。
根据本发明实施例的一种具体实现方式,所述数据管理模块,包括:数据信息完善子模块、数据搜索子模块、数据收益设置子模块、数据评分维护子模块、以及数据审核子模块;其中,
数据信息完善子模块,用于用户上传数据时,按照要求填写数据名、数据简介并选择数据来源、数据标签、数据定价等;
数据搜索子模块,用于用户在数据市场页面可通过数据名、数据简介、数据标签等字段对数据进行搜索;系统通过获取用户的查询关键字将在数据库中进行模糊匹配,并返回所有匹配的数据信息;
数据收益设置子模块,用于用户上传数据时,可添加至多5个其他的收益者,并设置收益占比,同时系统将发送详细信息告知每位收益者的收益数据名以及收益占比;
数据评分维护子模块,用于用户成功购买数据后,可为此数据进行评分操作;从低到高分为1至5五个等级,数据上传后的默认等级为0;每位用户的评分都保存至历史交易表中,同时更新数据表中的数据等级以及数据评价者;
数据审核子模块,用于管理员登录系统后,进行数据审核操作;管理员的审核结果更新至数据库同时产生审核信息保存至区块链,此外审核结果自动发送信息告知数据上传者。
根据本发明实施例的一种具体实现方式,所述交易管理模块包括:交易入链子模块、区块缓存子模块、收益自动分配子模块、以及交易信息查看子模块;其中,
交易入链子模块,用于采用PoW机制对所产生的交易进行封装,交易信息保存至系统交易池中,一定时间后将产生新的区块将交易打包产生新的区块,打包处理时验证每个交易的结构合法性,并对交易数据的加密处理;
区块缓存子模块,用于对当前的区块进行缓存处理;
收益自动分配子模块,用于将获取收益占比表中的收益信息,当其他用户购买此数据时,自动按照用户的设置进行收益自动分配,收益分配产生一笔交易,但包含不同的钱币流向,交易信息按照预定的结构进行数据填充后进入交易池等待被打包成区块;
交易信息查看子模块,用于用户查看当前所有的收益,包括收益的数据,数据收益大小,收益时间等,用户可按照收益数据、收益时间等进行排序操作。
本发明实施例提供的一种基于区块链的数据可信共享交易系统,数据存储层包括区块链信息以及MySQL数据库,其中区块链信息作为公开账本记录系统中所有的交易信息、记录用户登录操作、记录管理员审核等信息。通过此公开账本可以确保数据所有者的权利,根据时间顺序追溯数据上传者以及上传时间。此外可记录管理员审核数据的操作,使得数据审核动作可追溯,并可通过区块链来验证某数据是否具有出售条件或验证某数据是否被审核,由此便于为科技数据在确权方面的管理提供安全保障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例基于区块链的数据可信共享交易系统结构示意图图;
图2为根据本发明一实施例基于区块链的数据可信共享交易系统的功能结构示意图;
图3为根据本发明一实施例的区块链整体结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为根据本发明一实施例基于区块链的数据可信共享交易系统结构示意图,参看图1,数据存储层包含系统主要数据信息,基础数据层包含用户交易相关信息,逻辑层包含系统的功能实现。
下面对数据存储层、基础数据层和逻辑层分别进行详细说明。
(一)数据存储层
数据存储层包括区块链信息以及MySQL数据库,其中区块链信息作为公开账本记录系统中所有的交易信息、记录用户登录操作、记录管理员审核等信息。通过此公开账本可以确保数据所有者的权利,根据时间顺序追溯数据上传者以及上传时间。此外可记录管理员审核数据的操作,使得数据审核动作可追溯,并可通过区块链来验证某数据是否具有出售条件或验证某数据是否被审核。
MySQL数据库存储系统账户信息(用户名、邮箱、手机、住址等)、数据详细信息(数据大小、数据上传时间、数据售价、数据评级等)、通知信息(信息发送时间、信息内容、信息发送者、信息接受者)等。
数据存储层的两大组成:区块链会和MySQL数据库进行定期数据同步以保证数据的一致性。目前同步的信息主要为交易的coin地址、coin数量、coin所有者、coin数量。使用区块链中的coin数据作为无法篡改的数据源,依据此数据源对MySQL数据库中的coin信息进行更新操作。
(二)基础数据层
基础数据层包含当前系统配置信息、交易池、区块缓存、用户个人信息、浏览器Session数据(当前用户的身份信息等)。其中配置信息包含当前系统的奖励机制的配置设置、当前系统的重置密码链接过期时间配置、系统分页情况配置等。本实施例中的交易池将用于保存当前系统中尚未被封装的交易,有待进一步验证。区块缓存表示本实施例区块链网络产生的下一个区块但此区块尚未写入至区块链中。
(三)逻辑层
逻辑层包括个人信息维护、数据审核、数据上传、收益自动分配、交易加密处理、订单评价、信息通知、数据搜索块、用户注册、个人收益详情等。
本实施例中,数据存储层包括区块链信息以及MySQL数据库,其中区块链信息作为公开账本记录系统中所有的交易信息、记录用户登录操作、记录管理员审核等信息。通过此公开账本可以确保数据所有者的权利,根据时间顺序追溯数据上传者以及上传时间,可信度高。此外可记录管理员审核数据的操作,使得数据审核动作可追溯,并可通过区块链来验证某数据是否具有出售条件或验证某数据是否被审核,由此便于为科技数据在确权方面的管理提供安全保障。
图2为本发明一实施例中系统功能结构示意图。参看图2,本实施例的系统功能结构主要包括三个功能模块:用户管理模块、数据管理模块、交易管理模块。除上述几个功能模块外,需要另外编写配合该系统的挖矿算法,以及区块链与数据库定时同步的算法。
下面对用户管理模块、数据管理模块、交易管理模块分别进行说明。
(一)户管理模块
用户管理模块主要包括:用户注册子模块、统一入口登录子模块、密码找回子模块、密码修改子模块、用户个人信息修改子模块。
(1)用户注册子模块。访客进行注册时需要输入注册名、邮箱、密码。其中系统会验证注册名是否与数据库中的用户名重复并给出必要的信息提示。
(2)统一入口登录子模块。系统为普通用户和管理员提供统一入口,系统通过用户名自动识别当前登录者身份,并跳转至不同页面。
(3)密码找回子模块。首先将系统邮箱开启SMTP服务,可以使用此功能为用户发送邮件。其中邮件内容主要包含密码重置链接以及链接过期时间。用户申请找回密码时,系统为该用户生成特定的重置密码链接,并保存至数据库同时保存下该链接产生的时间。该密码重置链接绑定至当前申请找回密码的用户上,邮件将发送至该用户注册子模块时预留的邮箱中。为保证用户密码安全,该重置密码链接有且仅有一次重置的机会,且过期时间设置为30分钟。
(4)密码修改子模块。用户输入当前密码,并两次输入新密码后可完成修改密码操作。同时发送密码修改子模块告知用户。
(5)用户个人信息修改子模块。用户登录系统后可完善个人信息,此信息作为管理员进行用户数据审核子模块的指标之一,确保数据来源的可靠性和安全性。
(二)数据管理模块
数据管理模块的主要功能有:数据信息完善子模块、数据搜索子模块、数据收益设置子模块、数据评分维护子模块、数据审核子模块。
(1)数据信息完善子模块。用户上传数据时,需按照要求填写数据名、数据简介并选择数据来源、数据tag、数据定价等。
(2)数据搜索子模块。用户在数据市场页面可通过数据名、数据简介、数据tag等字段对数据进行搜索。系统通过获取用户的查询关键字将在数据库中进行模糊匹配,并返回所有匹配的数据信息。
(3)数据收益设置子模块。用户上传数据时,可添加至多5个其他的收益者,并设置收益占比。同时系统将发送详细信息告知每位收益者的收益数据名以及收益占比。
(4)数据评分维护子模块。用户成功购买数据后,可为此数据进行评分操作。目前从低到高分为1至5五个等级,数据上传后的默认等级为0。每位用户的评分都将保存至历史交易表中,同时更新数据表中的数据等级以及数据评价者。此功能用户保证交易的数据质量以及作为其他用户购买的参考信息。
(5)数据审核子模块,此功能仅对管理员开放。管理员登录系统后,可进行数据审核操作。在数据审核页面支持数据的搜索以及按照数据上传时间、数据大小、数据评级等排序,方便管理员的审核操作。管理员的审核结果将更新至数据库同时产生审核信息保存至区块链,此外审核结果将自动发送信息告知数据上传者。
(三)交易管理模块
交易管理模块的主要功能有:交易入链子模块、区块缓存子模块、收益自动分配子模块、交易信息查看子模块。
(1)交易入链子模块。本实施例采用PoW机制对所产生的交易进行封装。交易信息将保存至系统交易池中,一定时间后将产生新的区块将交易打包产生新的区块。打包处理时将验证每个交易的结构合法性,并对交易数据的加密处理。
(2)区块缓存子模块。系统对于当前的区块将进行缓存处理,目前的挖矿算法将定期验证区块链的合法性并针对每一个区块中的所有交易进行合法性验证。验证内容包括:当前区块的prev_hash值等于上一个区块的hash值,当前区块的nonce值满足当前网络的难度系数要求。
(3)收益自动分配子模块。系统将获取收益占比表中的收益信息,当其他用户购买此数据时,自动按照用户的设置进行收益自动分配。收益分配将产生一笔交易,但包含不同的coin流向。交易信息按照之前的结构进行数据填充后进入交易池等待被打包成区块。
(4)交易信息查看子模块。用户可查看当前所有的收益,包括收益的数据,数据收益大小,收益时间等。用户可按照收益数据、收益时间等进行排序操作,排序操作将由后端完成。
(5)交易验证子模块。根据系统要求,交易信息将保存下当前的行为动作。为确保交易信息的合理性,系统将自动验证交易行为的合法性,对于不合法的交易行为将不予以打包操作。本实施例采用Proof of Work机制对交易进行打包验证操作,利用Pow算法并通过共识网络进行文件的共享,此外采用以最长链为主链,实现最长链共识算法。
对于本发明实施例系统中的数据存储层,为满足本系统所需要的区块链底层结构,在本发明一实施例中,通过从钱币结构、交易结构、区块结构的从内至外,从小到大的设计方法,完成区块链的整个设计。本实施例的区块链整体结构如图3所示。在建立的区块链中,其存储的交易信息包括:钱币输入信息、钱币输出信息和交易详情信息,对原有的区块链上的数据结构进行扩展与改进,使其能够存储更一般的数据模型,由此可借助区块链的去中心化技术,便于为科技数据在确权方面的管理提供安全保障。
下面对钱币结构、交易结构、区块结构分别进行详细说明。
本实施例中,所述钱币结构表的字段名称可包括:钱币的保存位置,此值唯一;当前位置下的钱币的数量;当前钱币的所有者id,此值唯一。
具体地,本实施例中的钱币结构表可如表1所示。
表1:钱币结构表
字段名称 | 类型 | 字段详细说明 |
coin_uuid | VARchar(64) | 保存coin的地址 |
number_coin | Float | 钱币的数量 |
owner | VARchar(64) | 保存coin所有者 |
字段coin_uuid存储coin的保存位置,此值唯一;
字段number_coin存储当前位置下的coin的数量;
字段owner存储当前coin的所有者id,此值唯一。
S1022、根据交易实体,建立交易结构表。
本实施例中,所述交易结构表的字段名称可包括:所有的钱币输入,此钱币用于购买数据使用,且这些钱币尚未被花费;所有钱币输出,此钱币为交易的收益方以及超出交易价格的钱币进行退换;当前交易产生的时间,采用Unix计时;当前产生此交易的动作,其中行为动作包括:购买数据、下载数据、上传数据、审核数据、登录系统、修改密码、找回密码;数据出售者,且此值唯一;数据购买者,且此值唯一;当前交易涉及到的数据id,且此值唯一;当前交易的价格;当前数据的审核者id。
具体地,本实施例中的交易结构表可如表2所示。
表2:交易结构表
字段名称 | 类型 | 字段详细说明 |
in_coins | List | 保存所有输入coin |
out_coins | List | 保存所有输出coin |
timestamp | VARchar(64) | 保存交易时间 |
action | VARchar(20) | 保存交易动作 |
seller | VARchar(64) | 保存数据出售方 |
buyer | VARchar(64) | 保存数据购买方 |
data_uuid | VARchar(64) | 保存交易数据 |
credit | Float | 保存交易费用 |
reviewer | VARchar(64) | 保存数据审核者 |
字段in_coins保存所有的钱币输入,此钱币用于购买数据使用,且这些钱币尚未被花费,钱币结构见表1钱币结构表所示。
字段out_coins保存所有钱币输出,此钱币为交易的收益方以及超出交易价格的钱币进行退换,其结构如表1钱币结构表所示。
字段timestamp保存当前交易产生的时间,采用Unix计时。
字段action保存当前产生此交易的动作,其中行为动作包括:购买数据、下载数据、上传数据、审核数据、登录系统、修改密码、找回密码。
字段seller保存数据出售者,且此值唯一。
字段buyer保存数据购买者,且此值唯一。
字段data_uuid保存当前交易涉及到的数据id,且此值唯一。
字段credit保存当前交易的价格。
字段reviewer保存当前数据的审核者id。
S1023、根据区块实体,建立区块结构表。
本实施例中,所述区块结构表的字段名称可包括:区块的高度,此值随着区块产生而递增;当前区块产生的时间,采用Unix时间;上一个区块的hash值,用于下一区块构造与验证;区块所有的交易;通过分布式共识机制产生的工作量证明值。
具体地,本实施例中,区块结构表可如表3所示。
表3:区块结构表
名称 | 类型 | 说明 |
index | Int | 保存区块高度 |
timestamp | VARchar(64) | 保存区块产生时间 |
prev_hash | VARchar(64) | 保存上一区块hash值 |
transactions | List | 保存区块所有交易数据 |
nonce | Int | 保存区块特殊值 |
字段index存储区块的高度,此值随着区块产生而递增。
字段timestamp存储当前区块产生的时间,同样采用Unix时间。
字段prev_hash存储上一个区块的hash值,用于下一区块构造与验证。
字段transactions存储区块所有的交易,其中交易结构见表2交易结构表所示。
字段nonce存储通过分布式共识机制产生的工作量证明值。
构建数据索引是加快各类数据查询处理速度,提高系统性能的重要方法。在数据存储与管理方面,未见有成熟的基于区块链技术的应用出现,建立在区块链上的索引技术更是无从谈起。导致这一状况的原因一方面是并未有成熟的基于区块链技术的数据管理系统出现,另一方面也由于区块链所存储的时序数据与传统的关系数据库结构有本质不同,索引技术也难以迁移。针对这一缺陷,本发明实施例根据科技数据的特点与所采用的底层区块链数据结构,于本发明实施例系统中的数据存储层,通过在数据库上构建多个索引,使其有效地支撑以区块链上科技数据为核心的各类查询。也就是说,本发明实施例通过将建立在区块链之上的科技数据的基础属性与数据库索引进行结合,提高区块链上科技数据的检索效率。具体地,在本发明一实施例中,所述的系统,还可包括:
将部分区块链中的数据存储在数据库中,并在数据库上建立多个索引,以利用建立在数据库上的多个索引来加快各类数据信息的查询速度与检索效率。
进一步地,本发明实施例中,通过建立数据表、交易表、用户表、审核表等多个关系型数据表,并在其上建立索引,进而完善并提高数据的检索效率。其中主要的索引包括:建立多个表上的主键索引;建立时间戳索引列、建立联合索引列。
本实施例利用将部分区块信息存储至数据库中,通过在此数据库上构建多种索引结构,进一步提高对区块的索引。同时,为确保数据库中存储的数据与区块链中的数据相一致,本实施例实现了定时地将区块链数据与数据库数据进行同步的功能,减少因数据库数据丢失或数据被篡改而导致的数据检索问题。
借助于建立在数据库上的多种索引,实施例实现了按照区块hash值以及区块高度检索区块的功能、实现了按照数据名、数据简介等的模糊搜索以及实现了按照时间戳、数据名、数据大小等多种排序字段的排序功能。
在本发明一实施例中,所述数据库包括:区块表、数据表、交易表、收益占比表以及钱币表。
其中,所述数据库的区块表的字段包括:区块的独特标识,此值唯一用于区分不同的区块;区块的高度,高度信息的另一层含义即时间先后顺序,区块的诞生是严格按照时间递增产生;当前区块产生的时间;当前区块的大小,默认单位是字节;当前区块内包含的交易数量,可采用此字段对区块进行升序或降序排列操作;当前区块hash值,用于进行区块hash检索。
具体地,本实施例中,数据库的区块表详情如表4所示。
表4:区块表结构
字段id表示区块的独特标识,此值唯一用于区分不同的区块。
字段height用于标识区块的高度,高度信息的另一层含义即时间先后顺序,区块的诞生是严格按照时间递增产生。
字段timestamp存储当前区块产生的时间。
字段block_size存储当前区块的大小,默认单位是字节(Bit)。
字段tx_number存储当前区块内包含的交易数量,可采用此字段对区块进行升序或降序排列操作。
字段block_size存储当前区块hash值,用于进行区块hash检索。
所述数据库的数据表的字段包括:数据唯一标识id,此值唯一;数据拥有者id;数据名称,方便用户浏览购买数据;数据简介,方便用户查看数据具体信息;当前数据上传时间,采用Unix时间;数据来源;数据类型;数据标签;数据当前审核状态;当前数据的md5值,用于进行数据唯一性验证;数据当前大小,默认单位为KB;数据下载数量,数据上传成功后默认值为0;数据购买量,数据购买一次可下载多次;数据售价;数据存储位置;数据评级,分为1-5等级,等级越高说明数据质量越好;参与此数据的评价人数。
具体地,本实施例中,数据库的数据表详情如表5所示。
表5:data表结构
字段data_id保存数据唯一标识id,此值唯一。
字段user_id保存数据拥有者id。
字段data_name保存数据名称,方便用户浏览购买数据。
字段data_info保存数据简介,方便用户查看数据具体信息。
字段timestamp保存当前数据上传时间,采用Unix时间。
字段data_source保存数据来源,例如清华,北大,北航等。
字段data_type保存数据类型,例如pdf,ppt,x1s,mp3等。
字段data_tag保存数据标签,例如交通、医疗、教育等。
字段data_status保存数据当前审核状态,分为审核中、审核通过、审核不通过。
字段data_md5保存当前数据的md5值,用于进行数据唯一性验证。
字段data_size保存数据当前大小,默认单位为KB。
字段data_download保存数据下载数量,数据上传成功后默认值为0。
字段data_purchase保存数据购买量,数据购买一次可下载多次。
字段data_price保存保存数据售价。
字段data_address保存数据存储位置。
字段data_score保存数据评级,分为1-5等级,等级越高说明数据质量越好。
字段comment_number保存参与此数据的评价人数。
所述数据库的交易表的字段包括:交易唯一标识id;数据购买者id;数据出售者id;当前参与交易的数据id;当前交易的时间;当前交易的价格;当前的交易评级;当前数据的上一次下载时间,避免频繁下载。
具体地,本实施例中,据库的交易表详情如表6所示。
表6:交易表结构
名称 | 类型 | 约束条件 | 说明 |
transaction_id | VARchar(64) | 主键、非空 | 交易唯一标识 |
buyer_id | VARchar(64) | 非空 | 数据购买方唯一标识 |
seller_id | VARchar(64) | 非空 | 数据出售方唯一标识 |
data_id | VARchar(64) | 非空 | 数据唯一标识 |
timestamp | VARchar(32) | 非空 | 交易产生时间 |
price | FLOAT | 非空 | 购买价格 |
data_score | INT | 非空 | 交易评级 |
last_download_time | VARchar(32) | 非空 | 上一次下载数据时间 |
字段transaction_id保存交易唯一标识id。
字段buyer_id保存数据购买者id。
字段seller_id保存数据出售者id。
字段data_id保存当前参与交易的数据id。
字段timestamp保存当前交易的时间。
字段price保存当前交易的价格。
字段data_score保存当前的交易评级。
字段last_download_time保存当前数据的上一次下载时间,避免频繁下载。
所述数据库的收益占比表的字段名称包括:数据唯一标识id;当前数据收益的用户名;当前收益者的收益占比,用于自动化收益分配实现。
具体地,本实施例中,数据库的收益占比表详情如表7所示。
表7:收益占比表结构
名称 | 类型 | 约束条件 | 说明 |
data_id | VARchar(64) | 主键、非空 | 数据唯一标识 |
user_name | VARchar(20) | 主键、唯一 | 用户登录名 |
ratio | FLOAT | 非空 | 数据的收益占比 |
字段data_id保存数据唯一标识id。
字段user_name保存当前数据收益的用户名。
字段ratio保存当前收益者的收益占比,用于自动化收益分配实现。
所述数据库的钱币表的字段名称包括:钱币唯一标识id;当前钱币的拥有者;当前钱币是否已花费,将定时同步区块链数据,避免出错;钱币的产生时间;当前位置下的钱币数量。
具体地,本实施例中,数据库的钱币表详情如表8所示。
表8:钱币表结构
字段coin_id保存钱币唯一标识id。
字段owner_id保存当前钱币的拥有者。
字段is_spent保存当前钱币是否已花费,将定时同步区块链数据,避免出错。
字段timestamp保存钱币的产生时间。
字段coin_credit保存当前位置下的钱币数量。
本发明实施例,利用区块链技术,该交易系统实现数据交易的公平公开,保障交易责权的合法准确,维护数据交易的顺利进行。采用分布式公开账本的方法,保证系统中所有的交易合法且透明,实现了数据确权的去中心化。与传统交易系统相比,该系统大大降低了对中心节点的依赖度,用户的交易数据能够安全且高效地进行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种基于区块链的数据可信共享交易系统,其特征在于,包括:
数据存储层、基础数据层和逻辑层;其中,
数据存储层包括区块链信息以及MySQL数据库,其中区块链信息,用于作为公开账本记录系统中所有的交易信息、记录用户登录操作、记录管理员审核信息;MySQL数据库,用于存储系统账户信息、数据详细信息、通知信息;
基础数据层包含当前系统配置信息、交易池、区块缓存、用户个人信息、浏览器Session数据;其中,当前系统配置信息包含当前系统的奖励机制的配置设置、当前系统的重置密码链接过期时间配置、系统分页情况配置;交易池,用于保存当前系统中尚未被封装的交易,有待进一步验证;区块缓存,用于表示区块链网络产生的下一个区块但此区块尚未写入至区块链中;
逻辑层包括个人信息维护、数据审核、数据上传、收益自动分配、交易加密处理、订单评价、信息通知、数据搜索、用户注册、以及个人收益详情。
2.根据权利要求1所述的系统,其特征在于,区块链和MySQL数据库之间进行定期数据同步;同步的信息包括交易的钱币地址、钱币数量、钱币所有者。
3.根据权利要求1所述的系统,其特征在于,还包括用户管理模块、数据管理模块和交易管理模块;其中,
用户管理模块,用于对用户进行注册、密码找回、密码修改和个人信息修改的管理;
数据管理模块,用于数据信息完善子模块、数据搜索子模块、数据收益设置子模块、数据评分维护子模块和数据审核子模块;
交易管理模块,用于交易入链、区块缓存、收益自动分配和交易信息查看。
4.根据权利要求3所述的系统,其特征在于,所述用户管理模块包括用户注册子模块、统一入口登录子模块、密码找回子模块、密码修改子模块、用户个人信息修改子模块;其中,
用户注册子模块,用于访客进行注册时输入注册名、邮箱和密码;
统一入口登录子模块,用于为普通用户和管理员提供统一入口,通过用户名自动识别当前登录者身份,并跳转至不同页面;
密码找回子模块,用于为用户发送邮件,其中邮件内容包含密码重置链接以及链接过期时间;
密码修改子模块,用于用户输入当前密码,并两次输入新密码后可完成修改密码操作,同时发送密码修改子模块告知用户;
用户个人信息修改子模块,用于用户登录系统后完善个人信息。
5.根据权利要求3所述的系统,其特征在于,所述数据管理模块,包括:数据信息完善子模块、数据搜索子模块、数据收益设置子模块、数据评分维护子模块、以及数据审核子模块;其中,
数据信息完善子模块,用于用户上传数据时,按照要求填写数据名、数据简介并选择数据来源、数据标签、数据定价等;
数据搜索子模块,用于用户在数据市场页面可通过数据名、数据简介、数据标签等字段对数据进行搜索;系统通过获取用户的查询关键字将在数据库中进行模糊匹配,并返回所有匹配的数据信息;
数据收益设置子模块,用于用户上传数据时,可添加至多5个其他的收益者,并设置收益占比,同时系统将发送详细信息告知每位收益者的收益数据名以及收益占比;
数据评分维护子模块,用于用户成功购买数据后,可为此数据进行评分操作;从低到高分为1至5五个等级,数据上传后的默认等级为0;每位用户的评分都保存至历史交易表中,同时更新数据表中的数据等级以及数据评价者;
数据审核子模块,用于管理员登录系统后,进行数据审核操作;管理员的审核结果更新至数据库同时产生审核信息保存至区块链,此外审核结果自动发送信息告知数据上传者。
6.根据权利要求3所述的系统,其特征在于,所述交易管理模块包括:交易入链子模块、区块缓存子模块、收益自动分配子模块、以及交易信息查看子模块;其中,
交易入链子模块,用于采用PoW机制对所产生的交易进行封装,交易信息保存至系统交易池中,一定时间后将产生新的区块将交易打包产生新的区块,打包处理时验证每个交易的结构合法性,并对交易数据的加密处理;
区块缓存子模块,用于对当前的区块进行缓存处理;
收益自动分配子模块,用于将获取收益占比表中的收益信息,当其他用户购买此数据时,自动按照用户的设置进行收益自动分配,收益分配产生一笔交易,但包含不同的钱币流向,交易信息按照预定的结构进行数据填充后进入交易池等待被打包成区块;
交易信息查看子模块,用于用户查看当前所有的收益,包括收益的数据,数据收益大小,收益时间等,用户可按照收益数据、收益时间等进行排序操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810722523.5A CN109120590A (zh) | 2018-07-03 | 2018-07-03 | 基于区块链的数据可信共享交易系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810722523.5A CN109120590A (zh) | 2018-07-03 | 2018-07-03 | 基于区块链的数据可信共享交易系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109120590A true CN109120590A (zh) | 2019-01-01 |
Family
ID=64822129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810722523.5A Pending CN109120590A (zh) | 2018-07-03 | 2018-07-03 | 基于区块链的数据可信共享交易系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120590A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829809A (zh) * | 2019-01-29 | 2019-05-31 | 珠海金慧科技有限公司 | 去中心化的网络平台净收益共享技术 |
CN111030978A (zh) * | 2019-06-19 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种基于区块链的恶意数据获取方法、装置及存储设备 |
CN111064731A (zh) * | 2019-12-23 | 2020-04-24 | 北京神州绿盟信息安全科技股份有限公司 | 一种浏览器请求的访问权限的识别方法、识别装置及终端 |
CN111460492A (zh) * | 2020-03-16 | 2020-07-28 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的数据隐私管理系统及其实现方法 |
CN111612079A (zh) * | 2020-05-22 | 2020-09-01 | 深圳前海微众银行股份有限公司 | 数据确权方法、设备及可读存储介质 |
WO2020199708A1 (zh) * | 2019-04-04 | 2020-10-08 | 创新先进技术有限公司 | 一种针对授时证书生成请求的监控方法、装置及设备 |
CN112633881A (zh) * | 2020-12-24 | 2021-04-09 | 中付(深圳)技术服务有限公司 | 基于传统数据和区块链的交易信息存储和财务存储方法 |
US10979233B2 (en) | 2019-04-04 | 2021-04-13 | Advanced New Technologies Co., Ltd. | Monitoring time certificate generation requests |
-
2018
- 2018-07-03 CN CN201810722523.5A patent/CN109120590A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829809A (zh) * | 2019-01-29 | 2019-05-31 | 珠海金慧科技有限公司 | 去中心化的网络平台净收益共享技术 |
WO2020199708A1 (zh) * | 2019-04-04 | 2020-10-08 | 创新先进技术有限公司 | 一种针对授时证书生成请求的监控方法、装置及设备 |
US10979233B2 (en) | 2019-04-04 | 2021-04-13 | Advanced New Technologies Co., Ltd. | Monitoring time certificate generation requests |
CN111030978A (zh) * | 2019-06-19 | 2020-04-17 | 哈尔滨安天科技集团股份有限公司 | 一种基于区块链的恶意数据获取方法、装置及存储设备 |
CN111030978B (zh) * | 2019-06-19 | 2022-11-25 | 安天科技集团股份有限公司 | 一种基于区块链的恶意数据获取方法、装置及存储设备 |
CN111064731A (zh) * | 2019-12-23 | 2020-04-24 | 北京神州绿盟信息安全科技股份有限公司 | 一种浏览器请求的访问权限的识别方法、识别装置及终端 |
CN111064731B (zh) * | 2019-12-23 | 2022-02-15 | 绿盟科技集团股份有限公司 | 一种浏览器请求的访问权限的识别方法、识别装置及终端 |
CN111460492A (zh) * | 2020-03-16 | 2020-07-28 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的数据隐私管理系统及其实现方法 |
CN111460492B (zh) * | 2020-03-16 | 2022-05-03 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链的数据隐私管理系统及其实现方法 |
CN111612079A (zh) * | 2020-05-22 | 2020-09-01 | 深圳前海微众银行股份有限公司 | 数据确权方法、设备及可读存储介质 |
CN112633881A (zh) * | 2020-12-24 | 2021-04-09 | 中付(深圳)技术服务有限公司 | 基于传统数据和区块链的交易信息存储和财务存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120590A (zh) | 基于区块链的数据可信共享交易系统 | |
US11222331B2 (en) | Method and system for blockchain-based gemstone ownership, identity, custody, supply-chain transfer, trading, and secure payments | |
CN109727134B (zh) | 一种图片的版权交易方法及装置 | |
CN109117501A (zh) | 基于区块链的科技数据建模及存储方法 | |
CN105719185B (zh) | 区块链的数据对比及共识方法 | |
Bamakan et al. | A decentralized framework for patents and intellectual property as nft in blockchain networks | |
CN109327512A (zh) | 基于区块链hash寻址和重加密的游戏数据分区储存方法 | |
Salah et al. | A blockchain-based system for online consumer reviews | |
CN109064152A (zh) | 一种三维数字区块链确权体系建设方法 | |
CN109658126A (zh) | 基于产品推广的数据处理方法、装置、设备及存储介质 | |
Hill et al. | Blockchain Developer's Guide: Develop smart applications with Blockchain technologies-Ethereum, JavaScript, Hyperledger Fabric, and Corda | |
US20220036323A1 (en) | Electronic wallet allowing virtual currency expiration date | |
CN112801778A (zh) | 联盟式不良资产区块链 | |
CN110163750A (zh) | 一种基于区块链的电子证据认证和交换方法及系统 | |
CN111415067A (zh) | 企业及个人信用评级系统 | |
WO2020118859A1 (zh) | 一种去中心化芯片研发交易数据存储方法及系统 | |
EP3701446A1 (en) | Universally named locations | |
CN115270162B (zh) | 基于多方计算的审计审价异构数据在线整合方法及系统 | |
CN111488343A (zh) | 基于业务数据区块链的电商数据上链方法及装置 | |
CN111667301A (zh) | 一种可阅读和可自动执行的可信广告交易电子合约方法 | |
CN116662281A (zh) | 基于区块链的有偿资源共享服务方法及其系统 | |
CN102082815A (zh) | 基于终端的分步防伪验证和身份鉴权的系统及其方法 | |
CN111383109A (zh) | 一种图片的版权交易方法及装置 | |
Vestergaard et al. | Distributed ledger technology: beyond the hype | |
CN114880331A (zh) | 一种基于区块链mpt树的财务数据精准追溯方法 |
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 |
Application publication date: 20190101 |
|
RJ01 | Rejection of invention patent application after publication |