CN111488343A - 基于业务数据区块链的电商数据上链方法及装置 - Google Patents
基于业务数据区块链的电商数据上链方法及装置 Download PDFInfo
- Publication number
- CN111488343A CN111488343A CN202010270232.4A CN202010270232A CN111488343A CN 111488343 A CN111488343 A CN 111488343A CN 202010270232 A CN202010270232 A CN 202010270232A CN 111488343 A CN111488343 A CN 111488343A
- Authority
- CN
- China
- Prior art keywords
- user
- commerce
- data
- commodity
- state
- 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
- 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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Marketing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了基于业务数据区块链的电商数据上链方法及装置,该方法:业务数据区块链包括多个区块链节点;其中,区块链节点接收用户设备发送的用户电商数据上链请求,所述用户电商数据包括商品点赞数据、商品评价数据、商品创建数据、商品购买数据以及商品收藏数据中的一种或多种;发送用户电商数据上链响应给所述用户设备;若所述用户电商数据上链响应为所述用户电商数据未上链,所述区块链节点接收用户设备发送的用户电商数据上链请求,直到所述用户电商数据上链。本申请中,将电商的点赞数据、商品评价等用户操作相关的数据上链,也就是在区块链上进行电商购物等操作,提升用户使用区块链的体验。
Description
技术领域
本发明涉及互联网大数据技术领域,公开一种基于业务数据区块链的电商数据上链方法及装置。
背景技术
目前,区块链技术是运用加密算法、共识机制等技术的分布式存储账本。随着区块链技术的运用,越来越多的互联网数据会存储在区块链上。
现有的区块链中,只能存储交易数据,交易数据包括转账方地址、接收方地址以及转账金额;但是各种业务数据(例如:存证数据、溯源数据、金融数据、旅游数据、搜索数据、自媒体数据、调研数据、广告数据、电商数据、社区数据、知识问答数据、知识付费数据、共享单车数据、招聘数据、生活服务数据、租房数据、投票数据、OTO数据(也称为线上到线下数据)、社交数据、点赞数据、评价数据、网约车数据等互联网相关数据)而言,也需要上链。
上述业务数据上链之后,如何利用链上的业务数据,提升用户使用区块链的体验,也成为需要解决的问题。
以上描述仅仅为了方便理解,并不应限定为本申请的现有技术。
发明内容
基于上述问题,本申请提供基于业务数据区块链的电商数据上链方法及装置,该方法将电商的点赞数据、商品评价等用户操作相关的数据上链,也就是在区块链上进行电商购物等操作,提升用户使用区块链的体验。
本申请第一方面公开了基于业务数据区块链的电商数据上链方法,业务数据区块链包括多个区块链节点;其中,
区块链节点接收用户设备发送的用户电商数据上链请求,所述用户电商数据包括商品点赞数据、商品评价数据、商品创建数据、商品购买数据以及商品收藏数据中的一种或多种;
发送用户电商数据上链响应给所述用户设备;
若所述用户电商数据上链响应为所述用户电商数据未上链,所述区块链节点接收用户设备发送的用户电商数据上链请求,直到所述用户电商数据上链。
在一种可能的实施方式中,所述用户电商数据上链请求包括用户电商操作逻辑,所述方法还包括:
所述区块链节点对所述用户电商操作逻辑进行校验,所述校验包括以下至少一项:
所述用户电商操作的操作逻辑中是否存为重复操作,所述重复操作为用户针对同一对象的操作是否超过预设次数;
所述用户电商操作的操作逻辑中操作时序是否正确;
所述用户电商操作的操作逻辑中对应的积分是否充足;
所述用户电商操作的操作逻辑中对应的商品是否存在;
所述用户电商操作的操作逻辑中用户是否被允许操作,所述是否被允许操作包括用户是否签名和所述用户是否是所述被操作对象的所有者。
在一种可能的实施方式中,所述用户电商操作的操作逻辑中是否存为重复操作,所述重复操作为用户针对同一对象的操作是否超过预设次数;具体为:
所述用户电商操作为商品点赞操作或商品收藏操作时,校验所述用户电商操作是否为首次操作;若非首次操作,则判断该用户电商操作非法;或
所述用户电商操作为商品取消点赞操作或者商品取消评价操作或者商品取消收藏操作时,校验所述用户电商操作中用户对商品的点赞操作是否存在、用户对商品的评价操作是否存在、用户对商品的收藏操作是否存在;若不存在,则判断所述用户电商操作非法;或
所述用户电商操作为商品评价操作时,校验所述商品评价操作是否超出预设次数,若超出预设次数,则判断所述商品评价操作非法。
在一种可能的实施方式中,所述用户电商操作的操作逻辑中操作时序是否正确,具体为:所述用户电商操作为商品点赞操作或商品评价操作,校验用户是否对商品有过购买操作,若用户对商品未用过购买操作,则判断所述用户电商操作非法。
在一种可能的实施方式中,区块链节点通过树形结构的方式存储所述用户电商操作数据,所述树形结构包括状态树和关系树;其中,
所述状态树存储用户电商操作后的状态,所述状态包括用户状态、商品状态以积分状态中的一种或多种;
所述关系树存储用户电商操作后状态之间的关系,所述状态之间的关系包括用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种,所述状态树和所述关系树为MPT树或默克尔树。
在一种可能的实施方式中,所述关系树中叶子节点的value以哈希表或数组的方式存储用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种;或
所述关系树的叶子节点的value用于存储关系子树的树根,所述关系子树存储用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种,所述关系子树为默克尔树或MPT树。
在一种可能的实施方式中,所述区块链节点通中用户状态、商品状态、积分状态、用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的任意一种状态以数据表的形式存储在所述支持属性查询的数据库中,以便于用户根据所述数据表中的属性字段进行查询;其中,一种状态对应一种数据表,任意一种数据表中的任意一行对应一条状态,一种状态包括多行状态;所述支持属性查询的数据库包括关系数据库和内存数据库;或
用户状态、商品状态、积分状态、用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的任意一种信息采用KV数据库存储,以键值对的方式进行存储。
本申请第二方面公开了基于业务数据区块链的电商数据上链装置,业务数据区块链包括多个区块链节点,所述装置为区块链节点;其中,区块链节点接收用户设备发送的用户电商数据上链请求,所述用户电商数据包括商品点赞数据、商品评价数据、商品创建数据、商品购买数据以及商品收藏数据中的一种或多种;
发送用户电商数据上链响应给所述用户设备;
若所述用户电商数据上链响应为所述用户电商数据未上链,所述区块链节点接收用户设备发送的用户电商数据上链请求,直到所述用户电商数据上链。
在一个示例中,所述MPT状态树是融合了前缀树Trie的树形结构的默克尔树Merkle变种,所述默克尔树Merkle为MerklePatriciaTree状态树。
本申请第三方面提供一种计算机可读存储介质,该存储介质存储有计算机指令,该计算机指令被处理器执行时,实现如上所述任意一项技术方案。
本申请第四方面提供一种电子设备,该电子设备包括处理器,所述处理器用于执行如上所述任意一项技术方案。
本申请中,将电商的点赞数据、商品评价等用户操作相关的数据上链,也就是在区块链上进行电商购物等操作,提升用户使用区块链的体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请公开了一种基于业务数据区块链的电商数据上链方法流程示意图;
图2为本申请公开了一种业务数据区块链的区块头结构示意图;
图3为本申请公开了一种基于业务数据区块链的电商数据上链装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请中的“第一”“第二”仅仅是便于理解,给技术词做区分,并不理解为先后,或作为限制性的理解。
为便于对本发明实施例的理解,下面将结合附图以具体实施例作进一步的解释说明,实施例并不构成对本发明实施例的限定。
区块链一般被划分为三种类型:公有链(PublicBlockchain),私有链(PrivateBlockchain)和联盟链(ConsortiumBlockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。
而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。
基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。
对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备进行共识,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
在区块链领域,有一个重要的概念就是账户(Account);以以太坊为例,以太坊通常将账户划分为外部账户和合约账户两类;外部账户就是由用户直接控制的账户;而合约账户则是由用户通过外部账户创建的,包含合约代码的账户(即智能合约)。
当然,对于一些基于以太坊的架构而衍生出的区块链项目,还可以对区块链支持的账户类型,进行进一步的扩展,在本说明书中不进行特别限定。
对于区块链中的账户而言,通常会通过一个结构体,来维护账户的账户状态。当区块中的交易被执行后,区块链中与该交易相关的账户的状态通常也会发生变化。
以以太坊为例,账户的结构体通常包括Balance,Nonce,Code和storage等字段。其中:
Balance字段,用于维护账户目前的账户余额;
Nonce字段,用于该账户的交易次数;它是用于保障每笔交易能且只能被处理一次的计数器,有效避免重放攻击。
code字段,用于维护该账户的合约代码;在实际应用中,code字段中通常仅维护合约代码的hash值;因而,code字段通常也称之为codehash字段。对于外部账户而言,该字段为空值。
storage字段,用于维护该账户的存储(默认为空)。在实际应用中,storage字段仅维护基于账户的存储内容构建的MPT(MerklePatriciaTrie)树的根节点;因此,storage字段通常也称之为storageRoot字段。
其中,对于外部账户而言,以上示出的code字段和storage字段为空值。
而大多数区块链项目,通常都会使用Merkle树;或者,基于Merkle树的数据结构,来存储和维护数据。以以太坊为例,以太坊使用了MPT树(一种Merkle树变种),作为数据组织形式,用来组织和管理账户状态、交易信息等重要数据。
以太坊针对区块链中需要存储和维护的数据,设计了三颗MPT树,分别是MPT状态树、MPT交易树和MPT收据树。
MPT状态树,是区块链中所有账户的账户状态数据(state),组织成的MPT树;MPT交易树是区块中的交易数据(transaction),组织成的MPT树;MPT收据树,是区块中的交易执行完毕后生成的与每笔交易对应的交易收据(receipt),组织成的MPT树。以上示出的MPT状态树、MPT交易树和MPT收据树的根节点的hash值,都会被添加至区块头中。
其中,MPT交易树和MPT收据树,与区块相对应,每一个区块都有自己的MPT交易树和MPT收据树。而MPT状态树是一个全局的MPT树,并不与某一个特定的区块相对应,而是涵盖了区块链中所有账户的账户状态数据。
基于此,本说明书将不再具体阐述MPT交易树和MPT收据树的分级存储,而重点阐述MPT状态树的分级存储。
以上是现有的区块链中的存储结构说明,下面对本申请中的业务数据区块链的存储结构进行说明。
本说明书公开了业务数据区块链的广告方法,如图1所示,所述实现方法应用于业务数据区块链系统中,所述业务数据区块链系统包括多个区块链节点;该方法包括S101-S103。
本说明书中的实体信息是指对客观事物的抽象,也指具体的客观事物,实体信息包括关联属性和非关联属性,关联属性是指属性值能够增减;用户信息是指用户的描述信息,用户信息包括用户地址;积分信息指用户发行的积分,是除了区块链上原生积分以外的积分信息,积分信息包括积分的名称、总量。
S101、区块链节点接收用户设备发送的用户电商数据上链请求,所述用户电商数据包括商品点赞数据、商品评价数据、商品创建数据、商品购买数据以及商品收藏数据中的一种或多种。
S102、发送用户电商数据上链响应给所述用户设备。
S103、若所述用户电商数据上链响应为所述用户电商数据未上链,所述区块链节点接收用户设备发送的用户电商数据上链请求,直到所述用户电商数据上链。
在一个示例中,所述用户电商数据上链请求包括用户电商操作逻辑,所述方法还包括:
所述区块链节点对所述用户电商操作逻辑进行校验,所述校验包括以下至少一项:
所述用户电商操作的操作逻辑中是否存为重复操作,所述重复操作为用户针对同一对象的操作是否超过预设次数;
所述用户电商操作的操作逻辑中操作时序是否正确;
所述用户电商操作的操作逻辑中对应的积分是否充足;
所述用户电商操作的操作逻辑中对应的商品是否存在;
所述用户电商操作的操作逻辑中用户是否被允许操作,所述是否被允许操作包括用户是否签名和所述用户是否是所述被操作对象的所有者。
在一个示例中,所述用户电商操作的操作逻辑中是否存为重复操作,所述重复操作为用户针对同一对象的操作是否超过预设次数;具体为:
所述用户电商操作为商品点赞操作或商品收藏操作时,校验所述用户电商操作是否为首次操作;若非首次操作,则判断该用户电商操作非法;或
所述用户电商操作为商品取消点赞操作或者商品取消评价操作或者商品取消收藏操作时,校验所述用户电商操作中用户对商品的点赞操作是否存在、用户对商品的评价操作是否存在、用户对商品的收藏操作是否存在;若不存在,则判断所述用户电商操作非法;或
所述用户电商操作为商品评价操作时,校验所述商品评价操作是否超出预设次数,若超出预设次数,则判断所述商品评价操作非法。
在一个示例中,所述用户电商操作的操作逻辑中操作时序是否正确,具体为:所述用户电商操作为商品点赞操作或商品评价操作,校验用户是否对商品有过购买操作,若用户对商品未用过购买操作,则判断所述用户电商操作非法。
在一个示例中,区块链节点通过树形结构的方式存储所述用户电商操作数据,所述树形结构包括状态树和关系树;其中,
所述状态树存储用户电商操作后的状态,所述状态包括用户状态、商品状态以积分状态中的一种或多种;
所述关系树存储用户电商操作后状态之间的关系,所述状态之间的关系包括用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种,所述状态树和所述关系树为MPT树或默克尔树。
在一个示例中,所述关系树中叶子节点的value以哈希表或数组的方式存储用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种;或
所述关系树的叶子节点的value用于存储关系子树的树根,所述关系子树存储用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种,所述关系子树为默克尔树或MPT树。
在一个示例中,所述区块链节点通中用户状态、商品状态、积分状态、用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的任意一种状态以数据表的形式存储在所述支持属性查询的数据库中,以便于用户根据所述数据表中的属性字段进行查询;其中,一种状态对应一种数据表,任意一种数据表中的任意一行对应一条状态,一种状态包括多行状态;所述支持属性查询的数据库包括关系数据库和内存数据库;或
用户状态、商品状态、积分状态、用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的任意一种信息采用KV数据库存储,以键值对的方式进行存储。
由上可知,将用户的电商操作逻辑上链,即能够在区块链上表达互联网电商上用户对商品操作数据,不仅仅是将用户操作电商的结果数据上链,也将用户操作的过程数据上链;将区块链与现有互联网电商结合,提升用户使用区块链的体验。
上述中,业务数据区块链上,存储有很多业务数据,也就是用户的操作数据。该用户操作数据为用户在互联网上的操作数据,所述用户操作数据包括存证数据、溯源数据、金融数据、旅游数据、搜索数据、自媒体数据、调研数据、广告数据、电商数据、社区数据、知识问答数据、知识付费数据、共享单车数据、招聘数据、生活服务数据、租房数据、投票数据、线上到线下数据、社交数据、点赞数据、评价数据以及网约车数据中的一种或多种。
举例来说,实体是互联网电子商务平台的商品,用户可以发起购买该商品的操作,就是针对该商品实体对应积分的积分转移操作(即积分从操作用户的地址,转入被操作用户的地址);用户也可以发起针对该商品的评论或点赞操作,就是针对该商品实体的用户操作。
在一个示例中,所述链上状态数据库存储的状态数据包括积分,所述积分数据的属性类型包括关联属性和非关联属性;其中,所述关联属性的属性值根据所述用户操作数据自动增减。
此时,该积分是用户发行的积分,例如:用户可以通过公证后,将房子证券化后,在区块链上发行一个积分,这个积分在区块链上唯一表示该房产;也可以是,将房子证券化,发行预定数量的积分,拥有该积分即拥有该房子的所有权,享有该房子租赁或者变卖的对等所有权。除此之外,区块链上拥有原生积分,该原生积分可以用于约束用户在区块链上的操作,避免用户无限制的使用区块链系统的资源;例如:区块链上的用户注册后,在区块链上进行操作,需要抵押原生积分,才能将用户操作数据上链。
在一个示例中,所述链上关系数据库存储的关联关系包括实体信息和用户信息的关联关系;其中,一个实体信息对应一个或多个用户信息。
例如:在互联网的电子商务平台(如:淘宝、天猫、京东商城)上,一件商品,有多位不同用户购买;在互联网上的自媒体平台(如:微信、微博)上,一条自媒体数据,多位用户进行了点赞或评论;这类实体与用户之间的一对多关系,可以采用上述实体信息-用户信息的关联关系表达出来。不仅方便了业务数据上链,也方便了用户对业务数据进行查询。
在一个示例中,所述链上关系数据库存储的关联关系包括用户信息和积分信息的关联关系;其中,一个用户信息对应一个或多个积分信息。
此时,一位用户有可能拥有多种积分;例如:一位用户既拥有区块链上的原生积分,还拥有其他类型的积分。上述关联关系能够描述该用户与积分之间的一对多关系,同时也方便该用户查询。需要说明的是,在区块链系统中的用户,至少会拥有该区块链系统的原生积分;有可能拥有其他用户发行或者自己发行的积分。
在一个示例中,所述链上关系数据库存储的关联关系包括实体信息和积分信息的关联关系;其中,一个实体信息对应一个或多个积分信息。
此时,相当于在区块链上,实现了实体的证券化;例如:一件商品的所有权,对应一个积分,积分的转账对应该商品所有权的转移;一套房子的所有权,对应预定数量的积分,拥有积分的数量对应该房子的所有权比例,即拥有该房子出售或者租赁同比例的价款。
如上所述,用户信息(如:Account字段)、积分信息(如:Asset字段)、实体信息(如:Object字段)、实体信息-用户信息(如:Object-Account字段)、用户信息-积分信息(如:Account-Asset字段)、实体信息-积分信息(如:Object-Asset字段)中任意一种状态信息都可以采用MPT状态树来实现,各种MPT状态树的树根存储在区块头中。如图2所示,区块存储的用户操作(如:Action字段),和链上数据库存储的收据信息(如:Receipt字段)的MPT状态树的树根也存储在区块头中。
需要说明的是,区块链系统中的区块包括区块头和区块体,区块头存储的是摘要信息,区块体存储的是转账信息(也称交易信息)。本说明书中用户操作是存储在区块的区块体中,用户操作的摘要值(也称哈希值)存储在区块头中;本说明书中的链上状态数据库也是区块链系统存储的一部分,每个区块链节点都有链上状态数据库和区块,来存储本说明书中的业务数据。
在一个示例中,所述链上数据库采用支持属性查询的数据库或KV数据库,其中,所述支持属性查询的数据库包括关系数据库和内存数据库。
在一个示例中,所述用户信息和/或所述实体信息的属性类型包括关联属性和非关联属性;其中,所述关联属性的属性值根据所述用户操作数据自动增减。
在一个示例中,所述用户信息、所述实体信息、所述积分信息、所述实体信息-用户信息、所述用户信息-积分信息以及所述实体信息-积分信息中的任意一种信息被组织成MPT状态树;其中,所述MPT状态树是融合了前缀树Trie的树形结构的默克尔树Merkle变种,所述默克尔树Merkle为MerklePatriciaTree状态树。
在一个示例中,所述用户信息、所述实体信息、所述积分信息、所述用户信息-所述积分信息、所述实体信息-所述积分信息以及所述实体信息-所述用户信息中的任意一种信息以数据表的形式存储在所述支持属性查询的数据库中,以便于用户根据所述数据表中的属性字段进行查询;其中,一种信息对应一种数据表,任意一种数据表中的任意一行对应一条信息,一种信息包括多行信息;所述支持属性查询的数据库包括关系数据库和内存数据库。
在一个示例中,所述用户信息、所述实体信息、所述积分信息、所述用户信息-所述积分信息、所述实体信息-所述积分信息以及所述实体信息-所述用户信息中的任意一种信息采用KV数据库存储,以键值对的方式进行存储。
在一个示例中,所述用户信息、所述实体信息、所述积分信息、所述实体信息-用户信息、所述用户信息-积分信息以及所述实体信息-积分信息中的任意一种信息被组织成MPT状态树;其中,任意一棵MPT状态树的树根存储在区块头中。
在一个示例中,关系树中叶子节点的value以哈希表或数组的方式存储用户信息-积分信息、实体信息-积分信息以及实体信息-用户信息中的一种或多种。
在一个示例中,关系树的叶子节点的value用于存储关系子树的树根,所述关系子树存储用户信息-积分信息、实体信息-积分信息以及实体信息-用户信息中的一种或多种,所述关系子树为默克尔树或MPT树。
上述中,采用MPT状态树的方式存储这些信息,用户可以通过地址信息进行查询;针对用户信息、积分信息和实体信息,直接采用用户地址、积分地址以及实体地址信进行信息查询;针对实体信息-用户信息、用户信息-积分信息以及实体信息-积分信息,分别采用实体地址、用户地址以及实体地址进行信息查询。
此外,用户地址可以根据用户公钥进行多次哈希运算得到;积分地址或实体地址,可以由创建积分或实体的用户操作来得到,例如:对该用户操作进行多次哈希运算,从得到的哈希值中选取预设位数的字符作为积分地址或实体地址。
在一个示例中,所述链上数据库采用支持属性查询的数据库,其中,所述链上数据库包括关系数据库和内存数据库。也就是,将用户信息、积分信息、实体信息、实体信息-用户信息、用户信息-积分信息、实体信息-积分信息中任意一种状态信息采用支持属性查询的数据库进行存储,关系数据库可以采用MySql,内存数据库可以采用MongoDB。
此时,采用支持属性查询的数据库,用户信息、积分信息、实体信息、实体信息-用户信息、用户信息-积分信息以及实体信息-积分信息,都可以采用对应的属性进行查询,相比于在区块链上用地址查询来说,属性查询的查询效率更高。同时,上述信息的MPT状态树根存储在区块头中,如图2所示。在实际的使用中,若上述任意一棵MPT状态树未使用,可以置为空。
本说明书中,用户信息、积分信息、实体信息、实体信息-用户信息、用户信息-积分信息以及实体信息-积分信息中任意一种信息被组织成MPT状态树的数据结构,也就是数据逻辑结构;采用的存储结构可以是KV数据库,例如:LevalDB数据库,也可以采用支持属性查询的MySql和MongoDB数据库,这些数据库是物理的存储结构。
本说明书能够让业务数据上链,让业务数据的各种关联关系也能够上链;业务数据上链的好处包括但不限于真实可信、可溯源、数据权属归属于个人等。
此外,通过区块存储用户操作数据,链上状态数据库存储状态数据和状态关联数据,能够将业务数据的各种属性存储在区块链上,从而解决业务数据上链的问题;此外,链上状态数据库存储的状态数据和状态关联数据,也方便用户进行访问。
本申请中,将电商的点赞数据、商品评价等用户操作相关的数据上链,也就是在区块链上进行电商购物等操作,提升用户使用区块链的体验。
本说明书还公开了一种基于业务数据区块链的上链装置,所述业务数据区块链系统包括多个区块链节点,所述装置为区块链节点。
区块链节点接收用户设备发送的用户电商数据上链请求,所述用户电商数据包括商品点赞数据、商品评价数据、商品创建数据、商品购买数据以及商品收藏数据中的一种或多种;
发送用户电商数据上链响应给所述用户设备;
若所述用户电商数据上链响应为所述用户电商数据未上链,所述区块链节点接收用户设备发送的用户电商数据上链请求,直到所述用户电商数据上链。
在一个示例中,所述MPT状态树是融合了前缀树Trie的树形结构的默克尔树Merkle变种,所述默克尔树Merkle为MerklePatriciaTree状态树。
本申请中,将电商的点赞数据、商品评价等用户操作相关的数据上链,也就是在区块链上进行电商购物等操作,提升用户使用区块链的体验。
上述装置实施例中与上述方法实施例中相同或相近之处可相互参见,在此不再赘述。
本说明书还公开了一种计算机可读存储介质,该存储介质存储有计算机指令,该计算机指令被处理器执行时,实现如上所述任意一项技术方案。
本说明书还公开了一种电子设备,该电子设备包括处理器,所述处理器用于执行如上所述任意一项技术方案。
与此同时,本申请还提供一种实体装置的实施例。
区块链节点,如图3,图3示出了一种计算机设备结构示意图,该计算机设备可以包括:处理器310、存储器320、输入/输出接口330、通信接口340和总线350。其中处理器340、存储器320、输入/输出接口330和通信接口340通过总线350实现彼此之间在设备内部的通信连接。
处理器310可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器320可以采用ROM(ReadOnlyMemory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器320可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器320中,并由处理器310来调用执行。
输入/输出接口330用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口340用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线350包括一通路,在设备的各个组件(例如处理器310、存储器320、输入/输出接口330和通信接口340)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器310、存储器320、输入/输出接口330、通信接口340以及总线350,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的范围之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.基于业务数据区块链的电商数据上链方法,其特征在于,业务数据区块链包括多个区块链节点;其中,
区块链节点接收用户设备发送的用户电商数据上链请求,所述用户电商数据包括商品点赞数据、商品评价数据、商品创建数据、商品购买数据以及商品收藏数据中的一种或多种;
发送用户电商数据上链响应给所述用户设备;
若所述用户电商数据上链响应为所述用户电商数据未上链,所述区块链节点接收用户设备发送的用户电商数据上链请求,直到所述用户电商数据上链。
2.根据权利要求1的电商数据上链方法,其特征在于,所述用户电商数据上链请求包括用户电商操作逻辑,所述方法还包括:
所述区块链节点对所述用户电商操作逻辑进行校验,所述校验包括以下至少一项:
所述用户电商操作的操作逻辑中是否存为重复操作,所述重复操作为用户针对同一对象的操作是否超过预设次数;
所述用户电商操作的操作逻辑中操作时序是否正确;
所述用户电商操作的操作逻辑中对应的积分是否充足;
所述用户电商操作的操作逻辑中对应的商品是否存在;
所述用户电商操作的操作逻辑中用户是否被允许操作,所述是否被允许操作包括用户是否签名和所述用户是否是所述被操作对象的所有者。
3.根据权利要求2所述的电商数据上链方法,其特征在于,所述用户电商操作的操作逻辑中是否存为重复操作,所述重复操作为用户针对同一对象的操作是否超过预设次数;具体为:
所述用户电商操作为商品点赞操作或商品收藏操作时,校验所述用户电商操作是否为首次操作;若非首次操作,则判断该用户电商操作非法;或
所述用户电商操作为商品取消点赞操作或者商品取消评价操作或者商品取消收藏操作时,校验所述用户电商操作中用户对商品的点赞操作是否存在、用户对商品的评价操作是否存在、用户对商品的收藏操作是否存在;若不存在,则判断所述用户电商操作非法;或
所述用户电商操作为商品评价操作时,校验所述商品评价操作是否超出预设次数,若超出预设次数,则判断所述商品评价操作非法。
4.根据权利要求2所述的电商数据上链方法,其特征在于,所述用户电商操作的操作逻辑中操作时序是否正确,具体为:
所述用户电商操作为商品点赞操作或商品评价操作,校验用户是否对商品有过购买操作,若用户对商品未用过购买操作,则判断所述用户电商操作非法。
5.根据权利要求1所述的电商数据上链方法,其特征在于,区块链节点通过树形结构的方式存储所述用户电商操作数据,所述树形结构包括状态树和关系树;其中,
所述状态树存储用户电商操作后的状态,所述状态包括用户状态、商品状态以积分状态中的一种或多种;
所述关系树存储用户电商操作后状态之间的关系,所述状态之间的关系包括用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种,所述状态树和所述关系树为MPT树或默克尔树。
6.根据权利要求5所述的电商数据上链方法,其特征在于,所述关系树中叶子节点的value以哈希表或数组的方式存储用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种;或
所述关系树的叶子节点的value用于存储关系子树的树根,所述关系子树存储用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的一种或多种,所述关系子树为默克尔树或MPT树。
7.根据权利要求5所述的电商数据上链方法,其特征在于,所述区块链节点通中用户状态、商品状态、积分状态、用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的任意一种状态以数据表的形式存储在所述支持属性查询的数据库中,以便于用户根据所述数据表中的属性字段进行查询;其中,一种状态对应一种数据表,任意一种数据表中的任意一行对应一条状态,一种状态包括多行状态;所述支持属性查询的数据库包括关系数据库和内存数据库;或
用户状态、商品状态、积分状态、用户状态-积分状态、商品状态-积分状态以及商品状态-用户状态中的任意一种信息采用KV数据库存储,以键值对的方式进行存储。
8.基于业务数据区块链的电商数据上链装置,其特征在于,业务数据区块链包括多个区块链节点,所述装置为区块链节点;其中,
区块链节点接收用户设备发送的用户电商数据上链请求,所述用户电商数据包括商品点赞数据、商品评价数据、商品创建数据、商品购买数据以及商品收藏数据中的一种或多种;
发送用户电商数据上链响应给所述用户设备;
若所述用户电商数据上链响应为所述用户电商数据未上链,所述区块链节点接收用户设备发送的用户电商数据上链请求,直到所述用户电商数据上链。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,该计算机指令被处理器执行时,实现如权利要求1-7所述任意一项技术方案。
10.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行如权利要求1-7所述任意一项技术方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010270232.4A CN111488343A (zh) | 2020-04-08 | 2020-04-08 | 基于业务数据区块链的电商数据上链方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010270232.4A CN111488343A (zh) | 2020-04-08 | 2020-04-08 | 基于业务数据区块链的电商数据上链方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111488343A true CN111488343A (zh) | 2020-08-04 |
Family
ID=71797875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010270232.4A Pending CN111488343A (zh) | 2020-04-08 | 2020-04-08 | 基于业务数据区块链的电商数据上链方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488343A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580103A (zh) * | 2020-12-29 | 2021-03-30 | 郑州大学 | 基于中间数据库表的上链方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359222A (zh) * | 2018-08-06 | 2019-02-19 | 杭州复杂美科技有限公司 | 数据存储方法及系统、设备和存储介质 |
CN110233853A (zh) * | 2019-06-24 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 一种应用于区块链的点赞数据上链方法及其设备 |
CN110232286A (zh) * | 2019-06-24 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 一种应用智能合约的电商数据上链方法及其设备 |
CN110266696A (zh) * | 2019-06-24 | 2019-09-20 | 北京艾摩瑞策科技有限公司 | 一种应用于区块链的评价数据上链方法及其设备 |
CN110264205A (zh) * | 2019-06-24 | 2019-09-20 | 北京艾摩瑞策科技有限公司 | 一种应用于区块链的电商数据上链方法及其设备 |
CN110324363A (zh) * | 2019-08-07 | 2019-10-11 | 北京艾摩瑞策科技有限公司 | 互联网电商关联数据的上链方法及其装置 |
CN110334154A (zh) * | 2019-06-28 | 2019-10-15 | 阿里巴巴集团控股有限公司 | 基于区块链的分级存储方法及装置、电子设备 |
US20190332608A1 (en) * | 2017-02-17 | 2019-10-31 | Alibaba Group Holding Limited | Data processing method and device |
CN110457319A (zh) * | 2019-07-31 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 区块链状态数据存储方法及装置、电子设备 |
-
2020
- 2020-04-08 CN CN202010270232.4A patent/CN111488343A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190332608A1 (en) * | 2017-02-17 | 2019-10-31 | Alibaba Group Holding Limited | Data processing method and device |
CN109359222A (zh) * | 2018-08-06 | 2019-02-19 | 杭州复杂美科技有限公司 | 数据存储方法及系统、设备和存储介质 |
CN110233853A (zh) * | 2019-06-24 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 一种应用于区块链的点赞数据上链方法及其设备 |
CN110232286A (zh) * | 2019-06-24 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 一种应用智能合约的电商数据上链方法及其设备 |
CN110266696A (zh) * | 2019-06-24 | 2019-09-20 | 北京艾摩瑞策科技有限公司 | 一种应用于区块链的评价数据上链方法及其设备 |
CN110264205A (zh) * | 2019-06-24 | 2019-09-20 | 北京艾摩瑞策科技有限公司 | 一种应用于区块链的电商数据上链方法及其设备 |
CN110334154A (zh) * | 2019-06-28 | 2019-10-15 | 阿里巴巴集团控股有限公司 | 基于区块链的分级存储方法及装置、电子设备 |
CN110457319A (zh) * | 2019-07-31 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 区块链状态数据存储方法及装置、电子设备 |
CN110324363A (zh) * | 2019-08-07 | 2019-10-11 | 北京艾摩瑞策科技有限公司 | 互联网电商关联数据的上链方法及其装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580103A (zh) * | 2020-12-29 | 2021-03-30 | 郑州大学 | 基于中间数据库表的上链方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488616A (zh) | 业务数据区块链的预言机实现方法及装置 | |
CN111488615A (zh) | 业务数据区块链的跨链实现方法及装置 | |
CN111488614A (zh) | 基于业务数据区块链的数字身份存储方法及装置 | |
CN111737726A (zh) | 基于业务数据区块链的关系数据查询方法及装置 | |
CN111488608A (zh) | 业务数据区块链的数据验证方法及装置 | |
CN111488396A (zh) | 业务数据区块链的数据同步方法及装置 | |
CN111488349A (zh) | 基于业务数据区块链的数据查询方法及装置 | |
CN111695136A (zh) | 业务数据区块链的实现方法及其系统 | |
CN111488353B (zh) | 业务数据区块链的智能合约实现方法及装置 | |
CN111488343A (zh) | 基于业务数据区块链的电商数据上链方法及装置 | |
CN111488344A (zh) | 基于业务数据区块链的用户操作数据上链方法及系统 | |
CN111488352A (zh) | 基于业务数据区块链的积分兑换方法及装置 | |
CN111488356A (zh) | 业务数据区块链的数据存储方法及其装置 | |
CN111488611B (zh) | 业务数据区块链的关系数据存储方法及装置 | |
CN111488345A (zh) | 业务数据区块链的存储优化方法及装置 | |
CN111488613A (zh) | 业务数据区块链的数据高效查询方法及装置 | |
CN111737729A (zh) | 基于业务数据区块链的评价数据存储方法及系统 | |
CN111523137A (zh) | 基于业务数据区块链的数据推荐方法及装置 | |
CN111695132A (zh) | 基于业务数据区块链的投票数据存储方法及系统 | |
CN111488607A (zh) | 业务数据区块链的数据处理方法及其装置 | |
CN111488609A (zh) | 基于业务数据区块链的接单方法及装置 | |
CN111476607A (zh) | 基于业务数据区块链的广告方法及系统 | |
CN111488606B (zh) | 基于业务数据区块链的数据共享方法及装置 | |
CN111488359A (zh) | 业务数据区块链的关系数据存储方法及其装置 | |
CN111488348A (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 |