CN110557403B - 基于区块链的资源分配方法、装置、存储介质及节点设备 - Google Patents

基于区块链的资源分配方法、装置、存储介质及节点设备 Download PDF

Info

Publication number
CN110557403B
CN110557403B CN201910918606.6A CN201910918606A CN110557403B CN 110557403 B CN110557403 B CN 110557403B CN 201910918606 A CN201910918606 A CN 201910918606A CN 110557403 B CN110557403 B CN 110557403B
Authority
CN
China
Prior art keywords
resource
target
terminal
index
requester
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
Application number
CN201910918606.6A
Other languages
English (en)
Other versions
CN110557403A (zh
Inventor
李茂材
周开班
王宗友
刘攀
张劲松
朱耿良
孔利
时一防
黄焕坤
刘区城
陈秋平
蓝虎
杨常青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910918606.6A priority Critical patent/CN110557403B/zh
Publication of CN110557403A publication Critical patent/CN110557403A/zh
Application granted granted Critical
Publication of CN110557403B publication Critical patent/CN110557403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种基于区块链的资源分配方法、装置、存储介质及节点设备,其中,方法包括:接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息,对所述属性信息进行验证,若验证成功,则在所述区块链网络中存储所述资源获取请求,并生成待获取的目标资源的索引,按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端。通过本发明实施例能够提高资源分配的公平性及真实性,并增强用户参与资源分配的积极性。

Description

基于区块链的资源分配方法、装置、存储介质及节点设备
技术领域
本发明涉及安全技术领域,尤其涉及一种基于区块链的资源分配方法、一种基于区块链的资源分配装置、一种计算机存储介质及一种节点设备。
背景技术
随着移动互联网的发展,越来越多的产品制造商采用线上推广方式对产品进行推广。线上推广方式主要是指通过为用户分配资源的方式来吸引用户购买或订阅产品,实现对产品推广的策略。例如,当某个企业推广某产品时,向用户分配一定数量的资源,该资源能够用于购买或订购该企业的产品;这时用户只需要花费更少的资源来购买或订购该产品,这样能够激发用户购买或订阅该产品的积极性,可实现推广产品的目的。但是,实践中发现,现有的资源分配方式的缺乏公平性和真实性,影响用户参与资源分配的积极性,并降低了产品推广效果。
发明内容
本发明实施例所要解决的技术问题在于,提供一种基于区块链的资源分配方法、装置、存储介质及节点设备,提高资源分配的公平性及真实性,并增强用户参与资源分配的积极性。
一方面,本发明实施例提供一种基于区块链的资源分配方法,该方法包括:
接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息;
对所述属性信息进行验证;
若验证成功,则在所述区块链网络中存储所述资源获取请求,并生成待获取的目标资源的索引;
按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端。
一方面,本发明实施例提供一种基于区块链的资源分配装置,该装置包括:
接收单元,用于接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息;
验证单元,用于对所述属性信息进行验证;
生成单元,用于若验证成功,则在所述区块链网络中存储所述资源获取请求,并生成待获取的目标资源的索引;
分配单元,用于按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端。
又一方面,本发明实施例提供了一种区块链网络中的节点设备,包括输入设备和输出设备,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息;
对所述属性信息进行验证;
若验证成功,则在所述区块链网络中存储所述资源获取请求,并生成待获取的目标资源的索引;
按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端。
又一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行如下步骤:
接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息;
对所述属性信息进行验证;
若验证成功,则在所述区块链网络中存储所述资源获取请求,并生成待获取的目标资源的索引;
按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端。
本发明实施例中,区块链网络中的节点设备接收终端针对资源包发起的资源获取请求,通过对该资源获取请求中携带的属性信息进行验证,这样可以避免为不具备参与资源领取资格的终端分配资源,提高资源分配的有效性,并提高资源分配的安全性。当该属性信息验证成功时,即当该终端具有参与资源领取资格时,节点设备可以在区块链网络中存储该资源获取请求,并生成待领取的目标资源的索引。进一步,通过按照该目标资源的索引对该资源包进行分配处理,并将分配到的目标资源返回给该终端。由于该目标资源的索引的生成过程及资源的分配过程均是在区块链网络中完成的,因此,目标资源的索引与终端对应的用户是谁无关,即目标资源的索引的生成过程对于每个参与资源领取的终端均是公平的、有效的,能够提高资源分配的公平性及真实性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种资源分配的系统结构示意图;
图1b是本发明实施例提供的一种区块链网络中的节点设备的结构示意图;
图2是本发明实施例提供的一种基于区块链的资源分配方法的流程示意图;
图3是本发明实施例提供的另一种基于区块链的资源分配方法的流程示意图;
图4是本发明实施例提供的一种基于区块链的资源分配装置的结构示意图;
图5是本发明实施例提供的一种基于区块链网络中的节点设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于现有的资源分配方法的公平性和真实性较低的问题,本发明实施例提供一种基于区块链的资源分配方法。所谓区块链是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式,其本质上是一个去中心化、高度透明的数据库;区块链可由多个借由密码学串接并保护内容的串连交易记录(又称区块)构成,用区块链所串接的分布式账本能让多方有效记录信息,且可永久查验此信息(不可篡改)。其中,共识机制是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;也就是说,共识机制是区块链各网络节点共同认可的一种数学算法。该资源分配方案可利用区块链的高度透明和去中心化的特性,在区块链上实现整个资源分配过程,并将资源分配结果记录在区块链中,使资源分配过程高度透明。即任何人可以查看资源分配结果,并验证资源分配结果的公平性和真实性。其中,此处的资源是指用于购买或订阅产品的资金,其可至少包括法币、电子货币、数字货币等;所谓法币是指一种以法律形式赋予其强制流通使用的货币,如人民币、美元等;所谓电子货币是指以电子形式存储在用户所持有的电子钱包(如QQ钱包、微信钱包等)中的货币;数字货币可以是指利用计算机密码学机制发行的货币。或者,资源可以是指实体物品或虚拟物品,实体物品可以包括电子产品、衣服、玩具、运动器材等等;虚拟物品可包括但不限于:游戏应用程序的界面主题、游戏装备等等。
上述所提及的资源分配方案可应用于如图1a所示的资源分配系统中,该资源分配系统可包括区块链网络及至少一个终端。其中,终端可以是至面向用户的终端,即终端可以是指资源请求者(参与资源分配的用户,即想要获取到资源的用户)用于执行资源获取操作的终端,终端可以是智能手机、平板电脑、便携式个人计算机、智能手表、手环及智能电视等智能设备。区块链网络是由多个节点设备共同组成的一个端到端的去中心化网络,每个节点设备都允许获得一份完整的数据库拷贝,节点设备之间基于一套共识机制来共同维护整个区块链。节点设备具体可以是指一台独立的服务器、或由若干台服务器组成的服务器集群、或云计算中心。具体的,节点设备可以是指用于执行资源分配操作的后台服务器。在一个实施例中,该资源分配系统中的节点设备的具体结构可一并参见图1b所示:
区块链网络的节点设备可接收各个终端提交的资源获取请求且执行资源分配,并为终端进行资源分配,然后,通过共识机制以及P2P传输等方式将资源获取请求、资源分配结果及资源分配过程中产生的中间数据等信息提交至共享账簿(或称为分布式账簿、分布式账本、共享账本等);其具体可包括:远程过程调用接口(RPC,Remote Procedure Calls)、智能合约执行模块、共识模块、记账模块、通信模块,等等。远程过程调用接口是指运行区块链网络时所提供的对外服务接口,可用于接收任一区块链终端上传的资源获取请求。智能合约执行模块中包括智能合约,并用于负责执行与资源分配处理相关的智能合约,所谓智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议;在本发明中,智能合约执行模块用于负责执行验证属性信息、资源分配处理。记账模块负责定时启动区块打包功能,将符合条件的候选资源获取请求打包写入新的区块,并提交共识模块进行区块共识。共识模块负责采用共识算法对打包好的区块进行共识,以达成区块一致性要求;通过共识的区块将被提交写入共享帐薄中,即将通过共识的区块写入到区块链网络中(即对通过共识的区块进行上链);此处的共识算法可以包括POW(Proof Of Work,工作量证明)算法、POS(Proof of Stake,权益证明)算法、PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)算法、Fabric共识,等等。通信模块负责在区块链节点设备之间进行通信,传递节点连接、交易、区块等信息。
基于上述对资源分配系统的描述,请参见图2,图2为本发明实施例提供的基于区块链的资源分配方法,该方法应用于图1a和图1b中的资源分配系统中的区块链网络的节点设备(以下简称节点设备),该方法具体包括如下步骤S101~S104。
S101、接收终端针对资源包发起的资源获取请求,该资源获取请求包括用于验证的属性信息。
当某个产品制造商想要通过分配资源方式来推广产品时,通过产品制造商的设备可以制作资源领取页面,资源领取页面包括资源包和资源领取选项,资源包中包括至少一种资源,资源包括但不限于:上述用于购买或订阅产品的资金、该产品制造商提供的实体产品和虚拟产品。进一步,将该资源领取页面发布至终端,当用户想要领取资源时,可以对该资源领取页面上的资源领取选项进行操作。此处资源领取选项在资源领取页面中的表现形式可以是物理按键或虚拟按键;对资源领取选项的操作具体可以是触摸操作、光标操作、按键操作或者语音操作等;其中,触摸操作可以是触摸点击操作、触摸按压操作或者触摸滑动操作,触摸操作可以是单点触摸操作或者多点触摸操作;光标操作可以是控制光标进行点击的操作或者控制光标进行按压的操作;按键操作可以是虚拟按键操作或者实体按键操作等。终端检测到作用于该资源领取选项的操作,则生成针对资源包发起的资源获取请求,并将该资源获取请求发送至区块链网络的节点设备,节点设备可以接收该资源获取请求。该资源获取请求包括用于验证的属性信息,此处属性信息可以包括但不限于请求者标识、请求时间、预设时间段内已分配资源的次数、资源包的标识及请求者的等级等,请求者的标识可以包括终端的标识、用户标识。用户标识可以是指用户的名字、登录资源领取网页的账号等。终端的标识可以是指电话号码、IP地址等。
S102、对该属性信息进行验证。
节点设备可以对该属性信息进行验证,即根据该属性信息验证该终端是否具有参与资源领取的资格。具体的,若该属性信息验证未通过,则确定该终端不具备参与资源领取的资格,在可以结束本次流程;若该属性信息验证通过,则确定终端具有参与资源领取的资格,则执行步骤S103。这样可以避免对不具备参与资源领取资格的终端分配资源,提高资源分配的有效性,并提高资源分配的安全性。终端具有参与资源领取的资格是指终端对应的用户具有参与资源领取的资格,终端不具有参与资源领取的资格是指终端对应的用户不具有参与资源领取的资格。
S103、若验证成功,则在该区块链网络中存储该资源获取请求,并生成待获取的目标资源的索引。
若对属性信息验证成功,节点设备可以在区块链网络中存储该资源获取请求,即可以在区块链网络中的目标区块中存储该资源获取请求,目标区块可以是指在区块链网络中新建的区块,或者是指在区块链网络中原来已经存在的区块。进一步,生成待获取的目标资源的索引,为了提高资源分配的公平性,节点设备可以随机生成待获取的目标资源的索引,即该目标资源的索引与终端无关,也就是说,目标资源的索引的生成过程对于每个终端来说均是公平的。该目标资源的索引用于指示为终端分配的资源,具体可以包括随机生成的数字(即随机数)、字母或文字等中的至少一种。
S104、按照该目标资源的索引对该资源包进行分配处理,并将分配到的目标资源返回给该终端。
节点设备可以按照该目标资源的索引对资源包进行分配处理,并将分配到的目标资源返回给该终端。为了使该资源分配过程具体可追溯性,节点设备可以将该目标资源的索引、资源分配结果记录到目标区块中,终端可以查看并验证该资源分配结果是否具有公平性和真实性。具体的,若接收到终端针对该资源分配结果的验证请求,则节点设备可以根据该目标资源的索引重新对资源包进行分配处理,若该重新分配到的资源与目标资源相同,则确定该资源分配过程无误。
本发明实施例中,区块链网络中的节点设备接收终端针对资源包发起的资源获取请求,通过对该资源获取请求中携带的属性信息进行验证,这样可以避免为不具备参与资源领取资格的终端分配资源,提高资源分配的有效性,并提高资源分配的安全性。当该属性信息验证成功时,即当该终端具有参与资源领取资格时,节点设备可以在区块链网络中存储该资源获取请求,并生成待领取的目标资源的索引。进一步,通过按照该目标资源的索引对该资源包进行分配处理,并将分配到的目标资源返回给该终端。由于该目标资源的索引的生成过程及资源的分配过程均是在区块链网络中完成的,因此,目标资源的索引与终端对应的用户是谁无关,即目标资源的索引的生成过程对于每个参与资源领取的终端均是公平的、有效的,能够提高资源分配的公平性及真实性。
在一个实施例中,该属性信息包括以下至少一种:请求时间、请求者标识、在预设时间段内已为该终端分配资源的次数。
在此实施例中,当该属性信息请求时间,步骤S102具体可以包括:若该请求时间超出预设时间段内,则确定该属性信息验证失败;若该请求时间位于预设时间段内,则确定该属性信息验证成功。此处预设时间段可以为资源分配设置的有效时间段,例如,该预设时间段为8月29至8月30日,若该请求时间为9月1日,则确定该属性信息验证失败。
可选的,该属性信息包括请求者标识,步骤S102具体可以包括:若该请求者标识与数据库中的任一请求者标识不相匹配,则确定该属性信息验证失败;若该请求者标识与数据库中的请求者标识相匹配,则确定该属性信息验证成功。其中,该数据库中包多个具有资源获取资格的请求者的标识。
可选的,该属性信息包括在预设时间段内已为该终端分配资源的次数,步骤S102具体可以包括:在预设时间段内已为该终端分配资源的次数大于或等于预设次数阈值,表明该请求者的资源领取次数已经使用完成,则确定该属性信息验证失败;在预设时间段内已为所述终端分配资源的次数小于预设次数阈值,表明该请求者的资源领取次数未使用完成,则确定所述属性信息验证成功。此处预设次数阈值每个请求者能够领取资源的最多次数。
可选的,该属性信息包括请求者的等级,步骤S102具体可以包括:若该请求者的等级小于预设等级,则确定该属性信息验证失败;若该请求者的等级大于或等于预设等级,则确定该属性信息验证成功。该请求者的等级可以用于指示请求者的消费能力,如请求者的等级可以是根据请求者购买或订阅产品制造商的产品的所消费的金额、或购买或订阅产品制造商的产品的次数等生成的。或者,请求者的等级可以用于指示请求者的信用等级,此时该请求者的等级可以是请求者的收入水平、偿债意愿、家庭情况等确定的。
在一个实施例中,该索引为随机数,步骤S103包括如下步骤s11~s13:
s11、在该区块链网络中建立目标区块,将该资源获取请求记录在该目标区块中。
在步骤s11之前,终端可先采用非对称加密算法创建密钥对;此处的非对称加密算法可包括但不限于:Elgamal算法(一种非对称加密算法)、Rabin算法(一种非对称加密算法)、Diffie-Hellman算法(一种非对称加密算法)、ECC算法(椭圆曲线加密算法)。其中,密钥对包括公钥和私钥;公钥用于标识终端的交易地址,私钥用于终端对资源获取请求进行签名。在创建密钥对之后,终端可将密钥对中的公钥上传至区块链网络,以使得区块链网络将密钥对中的公钥作为终端的交易地址;而私钥由终端保管。需要说明的是,区块链网络中的交易地址是具有唯一性的,一个交易地址对应一个终端(即用户)。
区块链网络中的节点设备接收到终端发送的公钥后,则表明终端完成了身份注册,并授权该终端具有在区块链网络中参与资源领取、查看资源领取结果、进行资产交易等操作的权限。此时终端可以将针对资源包发起的资源获取请求上传至区块链网络的各个节点设备,各个节点设备可以对该资源获取请求的合法性进行验证,如验证该资源获取请求是否被篡改等。若验证通过时,将该资源获取请求记录到目标区块中。其中,该目标区块可以是指新创建的区块,或者,区块链网络中原有的区块,每个节点设备中用于记录资源获取请求的目标区块可以不相同,也可以相同。进一步,各个节点设备可以基于工作量证明机制来获取本次记录该资源获取请求的权利,当某一个节点设备(如第一节点设备)获取到权利后,第一节点设备可以第一节点设备记录资源获取请求的该目标区块进行广播至区块链网络中,此处第一节点设备可以是指区块链网络中的任一节点设备。区块链网络中大多数(如超过51%)节点设备确定该目标区块有效时,第一节点设备将该目标区块添加至区块链网络中,其他节点设备并与第一节点设备进行信息同步,完成资源获取请求的上链过程。
s12、获取该目标区块的第一哈希值。
s13、根据该目标区块的第一哈希值生成待获取的目标资源的随机数。
在步骤s12~s13中,节点设备可以获取目标区块的第一哈希值,该第一哈希值是指目标区块的区块头中的哈希值,根据该目标区块的第一哈希值及随机算法生成待获取的目标资源的随机数。即该目标资源的随机数是随机生成的,与终端无关,因此,生成随机数的过程对于每个参与资源领取的终端均是公平的。此处随机数算法可以包括但不限于:可验证随机函数(Verifiable Random Function,VRF)、Commit Reveal(一种在规定时间内可以有个终端参与产生随机数的算法)和BLS(签名算法)、阈值签名机制(ThresholdSignature Scheme)等等。对所述随机数进行哈希计算,得到第二哈希值;
在此实施例中,步骤S104可以包括如下步骤s21~s24。
s21、对随机数进行哈希计算,得到第二哈希值。
s22、将该第二哈希值转换为资源权重。
s23、根据预设的数值区间,确定该资源权重所属的数值区间。
s24、从该资源包中分配与该资源权重所属的数值区间对应的目标资源。
在步骤s21~s24中,电子设备可以采用哈希Hash算法对该随机数进行哈希计算,得到第二哈希值,此处的Hash算法包括但不限于:MD4算法、MD5算法、SHA-1算法、SHA-256算法,等等。进一步,可以采用转换算法将该第二哈希值转换为资源权重,此处资源权重为一个正整数,该转换算法可以是指JS(一种直译式脚本语言)中函数parseInt()、Number()等等。并判断该资源权重是否落入预设的各个数值区间内,若该资源权重未落入任一数值区间内,则对该请求者分配资源失败,即该请求者不能被分配到资源;若该资源权重落入到一个数值区间,即该资源权重所属该数值区间,从该资源包中分配与该资源权重所属的数值区间对应的目标资源。此处包括多个数值区间,每个数值区间相互不重叠,每个数值区间对应这种资源。
在此实施例中,S104具体包括:节点设备可以从该区块链网络中获取请求者的账户,将分配到的目标资源转移至该请求者的账户中。请求者的账户可以包括但不限于:交易地址(即终端生成的公钥)、领取资源的应用程序的账户(如即时通信软件中的用户账号、支付软件中的注册用户账号、一般应用程序的用户账号、或网页的用户账号等)、用户所使用的终端标识(如手机号码、手机的序列码等)或电子账户标识(如电子银行卡号、网银账号、互联网支付账户账号等)。或者,节点设备可以将分配结果通知到服务器,由服务器将分配到的目标资源返回给该终端。
在一个实施例中,该区块网络中还包括智能合约,具体的,该智能合约可以被部署于区块链网络的节点设备的虚拟机中。该智能合约中定义了对属性信息的验证规则、目标资源的索引生成规则、及资源分配处理规则等等,当然这些规则可以被部署于一个或多个智能合约中。例如,这些智能合约被部署一个智能合约中,当节点设备接收终端针对资源包发起的资源获取请求,则调用该智能合约执行上述步骤S102~S104,以为该终端分配资源。可选的,节点设备在执行智能合约之间,还包括将智能合约写入到区块链网络中的过程,该过程包括:(1)智能合约通过P2P的方式在区块链网络中传播,每个节点设备都会收到该智能合约;区块链网络中的验证节点设备会将收到的智能合约先保存到内存中,等待新一轮的共识时间,触发对该份智能合约的共识和处理。(2)共识时间到了,验证节点设备会把最近一段时间内保存的所有智能合约,一起打包成一个合约集合(set),并计算这个合约集合的Hash值,最后将这个合约集合的Hash值组装成一个区块结构,扩散到全网。此处的验证节点设备也可以称为区块链网络中的全节点设备,全节点设备可以是指拥有完整区块链账本的节点,需要占用内存同步区块链网络中的所有数据,能够独立校验区块链网络上的所有数据并实时更新数据,主要负责区块链网络中的数据的广播和验证。(3)最新达成的合约集合会以区块的形式广播到区块链网络,区块链网络中的各个节点设备将该区块写入到区块链网络中。
需要说明的是,本发明实施例还可根据实际的业务需求将上述所提及的资源分配方法运用到不同的应用场景中,例如,随机发放红包场景、游戏抽奖场景及关于产品推广的抽奖场景,等等。为便于阐述,下面以游戏抽奖场景为例,对本发明实施例提供的基于区块链的资源分配方法进行说明。在此场景中,分配资源可以是指分配奖品,资源包可以是指本次抽奖活动的所有奖品,奖品可以包括游戏币、游戏装备、游戏应用程序的界面主题等,游戏币是指在游戏应用程序中被认可并流通的货币,如Q币、金币等。如图3所示,该基于区块链的资源分配方法具有可以包括如下步骤s31~s36。
s31、终端发送抽奖请求。在图3中,终端界面上显示有游戏应用程序的抽奖网页11,该抽奖网页中包括抽奖选项12(即开始抽奖)和奖品13,奖品包括5Q币的游戏币、游戏装备1及游戏装备2。当用户想要参与抽奖时,可以对该抽奖选项进行操作。终端如果检测到对抽奖选项的点击操作,则生成针对本次抽奖活动的抽奖请求,并将该抽奖请求发送至区块链网络,该抽奖请求中包括抽奖信息,该抽奖信息可以包括请求者标识、抽奖时间、请求者的等级、本次抽奖活动的标识。
s32、验证请求者是否具备抽奖资格。区块链网络中的节点设备接收该抽奖请求,根据该抽奖信息验证该请求者是否具有参与本次抽奖活动的资格。具体的,节点设备可以根据该本次抽奖活动的标识从区块链网络中获取本次抽奖活动的参与规则,将抽奖信息与本次抽奖活动的参与规则进行对比,若两者相似度大于预设阈值,则确定请求者具有参与本次抽奖活动的资格。本次抽奖活动的参与规则中定义了哪些用户具有参与抽奖活动的资格、本次抽奖活动的有效时间段等信息。
s33、生成抽奖权重。节点设备可以将抽奖请求存储至目标区块中,并获取该目标区块的区块头中的第一哈希值,根据该第一哈希值生成随机数。进一步,对该随机数进行哈希运算得到第二哈希值,将该第二哈希值转换成抽奖权重,该抽奖权重为一个正整数。
s34、确定奖品。区块链网络中包括游泳应用程序运营方设置的数值区间、数值区间与奖品之间的对应关系。数值区间包括[0,50]、[50,75]、[75,100],数值区间包括[0,50]与5Q币相对应,[50,75]与游戏装备1相对应,[75,100]与游戏装备1相对应。若该抽奖权重超出[0,100],则该请求者未中奖;若该抽奖权重属于[0,50],则该请求者中的奖品为5Q币;若该抽奖权重属于[50,75],则该请求者中的奖品为游戏装备1;若该抽奖权重属于[75,100],则该请求者中的奖品为游戏装备2。节点设备可以将抽奖结果、抽奖权重、随机数记录到区块链中,并将中奖奖品及抽奖结果发送至终端,由终端在抽奖页面上展示抽奖结果。
本发明实施例提供一种资源转移装置,该资源转移装置可设置于终端中,请参见图4,该装置包括:
接收单元401,用于接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息。
验证单元402,用于对所述属性信息进行验证。
生成单元403,用于若验证成功,则在所述区块链网络中存储所述资源获取请求,并生成待获取的目标资源的索引。
分配单元404,用于按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端。
可选的,所述属性信息包括以下至少一种:请求时间、请求者标识、在预设时间段内已为所述终端分配资源的次数。
可选的,验证单元402,具体用于若所述请求时间位于预设时间段内,或者,所述请求者标识与数据库中的请求者标识相匹配,或者,在预设时间段内已为所述终端分配资源的次数小于预设次数阈值,则确定所述属性信息验证成功;其中,所述数据库中包多个具有参与资源获取权限的请求者的标识。
可选的,所述索引为随机数,生成单元403,具体用于在所述区块链网络中建立目标区块,将所述资源获取请求记录在所述目标区块中;获取所述目标区块的第一哈希值;根据所述目标区块的第一哈希值生成待获取的目标资源的随机数。
可选的,分配单元404,具体用于对所述随机数进行哈希计算,得到第二哈希值;将所述第二哈希值转换为资源权重;根据预设的数值区间,确定所述资源权重所属的数值区间;从所述资源包中分配与所述资源权重所属的数值区间对应的目标资源。
可选的,分配单元404,具体用于从所述区块链网络中获取请求者的账户,将分配到的目标资源转移至所述请求者的账户中;或者,将分配结果通知到服务器,由服务器将分配到的目标资源返回给所述终端。
可选的,所述区块链网络中还包括智能合约;所述智能合约包括对所述属性信息的验证规则、待获取目标资源的索引生成规则及资源分配处理规则;所述智能合约在接收所述终端针对资源包发起的资源获取请求时被调用并执行,以进行资源分配。
本发明实施例中,区块链网络中的节点设备接收终端针对资源包发起的资源获取请求,通过对该资源获取请求中携带的属性信息进行验证,这样可以避免为不具备参与资源领取资格的终端分配资源,提高资源分配的有效性,并提高资源分配的安全性。当该属性信息验证成功时,即当该终端具有参与资源领取资格时,节点设备可以在区块链网络中存储该资源获取请求,并生成待领取的目标资源的索引。进一步,通过按照该目标资源的索引对该资源包进行分配处理,并将分配到的目标资源返回给该终端。由于该目标资源的索引的生成过程及资源的分配过程均是在区块链网络中完成的,因此,目标资源的索引与终端对应的用户是谁无关,即目标资源的索引的生成过程对于每个参与资源领取的终端均是公平的、有效的,能够提高资源分配的公平性及真实性。
本发明实施例提供一种区块链网络中的节点设备,请参见图5。该节点设备包括:处理器151、用户接口152、网络接口154以及存储装置155,处理器151、用户接口152、网络接口154以及存储装置155之间通过总线153连接。
用户接口152,用于实现人机交互,用户接口可以包括显示屏或键盘等等。网络接口154,用于与外部设备之间进行通信连接。存储装置155与处理器151耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储装置155可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储装置155可以存储操作系统(下述简称系统),例如ANDROID,IOS,WINDOWS,或者LINUX等嵌入式操作系统。存储装置155还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个应用服务器,一个或多个网络设备进行通信。存储装置155还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。存储装置155还可以存储视频数据等。
在一个实施例中,所述存储装置155可用于存储一条或多条的指令;所述处理器151可以调用所述一条或多条的指令时能够实现基于区块链的资源分配方法,具体地,所述处理器151调用所述一条或多条的指令,执行如下步骤:
接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息;
对所述属性信息进行验证;
若验证成功,则在所述区块链网络中存储所述资源获取请求,并生成待获取的目标资源的索引;
按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端。
可选的,所述属性信息包括以下至少一种:请求时间、请求者标识、在预设时间段内已为所述终端分配资源的次数。
可选的,所述处理器调用指令,执行如下步骤:若所述请求时间位于预设时间段内,或者,所述请求者标识与数据库中的请求者标识相匹配,或者,在预设时间段内已为所述终端分配资源的次数小于预设次数阈值,则确定所述属性信息验证成功;其中,所述数据库中包多个具有参与资源获取权限的请求者的标识。
可选的,所述索引为随机数,所述处理器调用指令,执行如下步骤:
在所述区块链网络中建立目标区块,将所述资源获取请求记录在所述目标区块中;
获取所述目标区块的第一哈希值;
根据所述目标区块的第一哈希值生成待获取的目标资源的随机数。
可选的,所述处理器调用指令,执行如下步骤:
对所述随机数进行哈希计算,得到第二哈希值;
将所述第二哈希值转换为资源权重;
根据预设的数值区间,确定所述资源权重所属的数值区间;
从所述资源包中分配与所述资源权重所属的数值区间对应的目标资源。
可选的,所述处理器调用指令,执行如下步骤:
从所述区块链网络中获取请求者的账户,将分配到的目标资源转移至所述请求者的账户中;或者,
将分配结果通知到服务器,由服务器将分配到的目标资源返回给所述终端。
可选的,所述区块链网络中还包括智能合约;所述智能合约包括对所述属性信息的验证规则、待获取目标资源的索引生成规则及资源分配处理规则;所述智能合约在接收所述终端针对资源包发起的资源获取请求时被调用并执行,以进行资源分配。
本发明实施例中,区块链网络中的节点设备接收终端针对资源包发起的资源获取请求,通过对该资源获取请求中携带的属性信息进行验证,这样可以避免为不具备参与资源领取资格的终端分配资源,提高资源分配的有效性,并提高资源分配的安全性。当该属性信息验证成功时,即当该终端具有参与资源领取资格时,节点设备可以在区块链网络中存储该资源获取请求,并生成待领取的目标资源的索引。进一步,通过按照该目标资源的索引对该资源包进行分配处理,并将分配到的目标资源返回给该终端。由于该目标资源的索引的生成过程及资源的分配过程均是在区块链网络中完成的,因此,目标资源的索引与终端对应的用户是谁无关,即目标资源的索引的生成过程对于每个参与资源领取的终端均是公平的、有效的,能够提高资源分配的公平性及真实性。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序解决问题的实施方式以及有益效果可以参见上述图2所述的一种基于区块链的资源分配方法的实施方式以及有益效果,重复之处不再赘述。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种基于区块链的资源分配方法,应用于区块链网络中的节点设备,其特征在于,所述方法包括:
接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息;所述属性信息包括请求者的等级和在预设时间段内已为所述终端分配资源的次数,所述请求者的等级是根据所述请求者的消费能力以及信用等级确定的,所述消费能力是根据所述请求者关于目标机构的产品的购买行为数据确定的,所述目标机构为发放资源的机构,所述信用等级是根据所述请求者的收入信息和偿债意愿确定的;
调用所述区块链网络的智能合约中的属性信息的验证规则,对所述属性信息进行验证;所述智能合约为所述区块链网络中的验证节点对其共识处理后,并写入至区块链网络中的;
若验证成功,则在所述区块链网络中存储所述资源获取请求,并根据所述智能合约中的索引生成规则,生成待获取的目标资源的索引;所述验证成功是指所述请求者的等级小于或等于预设等级,且在所述预设时间段内已为所述终端分配资源的次数小于预设次数阈值;所述目标资源的索引是根据所述区块链网络中记录所述资源获取请求的目标区块的区块头中的哈希值确定的;所述目标区块的区块头中的哈希值是指用于连接所述目标区块的上一区块的哈希值;
根据所述智能合约中的资源分配处理规则,按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端,所述目标资源的索引用于反映为所述终端分配的目标资源对应的资源分配量;
将所述目标资源的索引、所述终端的资源分配结果记录到所述目标区块中;
若接收到所述终端针对该资源分配结果的验证请求,则根据所述目标区块中的记录的目标资源的索引重新对所述资源包进行分配处理,若所述重新分配到的资源与所述目标资源相同,则确定所述终端的资源分配过程无误。
2.如权利要求1所述的方法,其特征在于,所述属性信息包括以下至少一种:请求时间、请求者标识、在预设时间段内已为所述终端分配资源的次数。
3.如权利要求2所述的方法,其特征在于,所述对所述属性信息进行验证,包括:
若所述请求时间位于预设时间段内,或者,所述请求者标识与数据库中的请求者标识相匹配,或者,在预设时间段内已为所述终端分配资源的次数小于预设次数阈值,则确定所述属性信息验证成功;
其中,所述数据库中包多个具有参与资源获取权限的请求者的标识。
4.如权利要求1-3任一项所述的方法,其特征在于,所述索引为随机数,所述在所述区块链网络中存储所述资源获取请求,并生成待获取的目标资源的索引,包括:
在所述区块链网络中建立目标区块,将所述资源获取请求记录在所述目标区块中;
获取所述目标区块的第一哈希值;
根据所述目标区块的第一哈希值生成待获取的目标资源的随机数。
5.如权利要求4所述的方法,其特征在于,所述按照所述目标资源的索引对所述资源包进行分配处理,包括:
对所述随机数进行哈希计算,得到第二哈希值;
将所述第二哈希值转换为资源权重;
根据预设的数值区间,确定所述资源权重所属的数值区间;
从所述资源包中分配与所述资源权重所属的数值区间对应的目标资源。
6.如权利要求4所述的方法,其特征在于,所述将分配到的目标资源返回给所述终端,包括:
从所述区块链网络中获取请求者的账户,将分配到的目标资源转移至所述请求者的账户中;或者,
将分配结果通知到服务器,由服务器将分配到的目标资源返回给所述终端。
7.如权利要求1所述的方法,其特征在于,所述区块链网络中还包括智能合约;所述智能合约包括对所述属性信息的验证规则、待获取目标资源的索引生成规则及资源分配处理规则;所述智能合约在接收所述终端针对资源包发起的资源获取请求时被调用并执行,以进行资源分配。
8.一种基于区块链的资源分配装置,应用于区块链网络中的节点设备,其特征在于,所述装置包括:
接收单元,用于接收终端针对资源包发起的资源获取请求,所述资源获取请求包括用于验证的属性信息;所述属性信息包括请求者的等级和在预设时间段内已为所述终端分配资源的次数,所述请求者的等级是根据所述请求者的消费能力以及信用等级确定的,所述消费能力是根据所述请求者关于目标机构的产品的购买行为数据确定的,所述目标机构为发放资源的机构,所述信用等级是根据所述请求者的收入信息和偿债意愿确定的;
验证单元,用于调用所述区块链网络的智能合约中的属性信息的验证规则,对所述属性信息进行验证;所述智能合约为所述区块链网络中的验证节点对其共识处理后,并写入至区块链网络中的;
生成单元,用于若验证成功,则在所述区块链网络中存储所述资源获取请求,并根据所述智能合约中的索引生成规则,生成待获取的目标资源的索引;所述验证成功是指所述请求者的等级小于或等于预设等级,且在所述预设时间段内已为所述终端分配资源的次数小于预设次数阈值;所述目标资源的索引是根据所述区块链网络中记录所述资源获取请求的目标区块的区块头中的哈希值确定的;所述目标区块的区块头中的哈希值是指用于连接所述目标区块的上一区块的哈希值;
分配单元,用于根据所述智能合约中的资源分配处理规则,按照所述目标资源的索引对所述资源包进行分配处理,并将分配到的目标资源返回给所述终端;
所述生成单元,还用于将所述目标资源的索引、所述终端的资源分配结果记录到所述目标区块中;
所述验证单元,还用于若接收到所述终端针对该资源分配结果的验证请求,则根据所述目标区块中的记录的目标资源的索引重新对所述资源包进行分配处理,若所述重新分配到的资源与所述目标资源相同,则确定所述终端的资源分配过程无误。
9.一种区块链网络中的节点设备,包括输入设备和输出设备,其特征在于,还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如权利要求1-7任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序指令,该计算机程序指令被执行时,实现如权利要求1-7任一项所述的方法。
CN201910918606.6A 2019-09-26 2019-09-26 基于区块链的资源分配方法、装置、存储介质及节点设备 Active CN110557403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910918606.6A CN110557403B (zh) 2019-09-26 2019-09-26 基于区块链的资源分配方法、装置、存储介质及节点设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910918606.6A CN110557403B (zh) 2019-09-26 2019-09-26 基于区块链的资源分配方法、装置、存储介质及节点设备

Publications (2)

Publication Number Publication Date
CN110557403A CN110557403A (zh) 2019-12-10
CN110557403B true CN110557403B (zh) 2022-05-31

Family

ID=68741674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910918606.6A Active CN110557403B (zh) 2019-09-26 2019-09-26 基于区块链的资源分配方法、装置、存储介质及节点设备

Country Status (1)

Country Link
CN (1) CN110557403B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111198763B (zh) * 2019-12-25 2024-07-05 平安壹钱包电子商务有限公司 资源重复使用的检测方法、终端和计算机可读存储介质
CN113051418A (zh) * 2019-12-27 2021-06-29 宇龙计算机通信科技(深圳)有限公司 一种图像来源追踪方法、装置、存储介质及电子设备
CN114418574A (zh) * 2020-01-17 2022-04-29 厦门潭宏信息科技有限公司 一种共识和资源传输方法、设备及存储介质
CN111553594B (zh) * 2020-04-28 2023-04-14 腾讯科技(深圳)有限公司 资源分配方法、装置、计算机设备和计算机可读存储介质
CN111970350B (zh) * 2020-08-10 2021-12-14 中国联合网络通信集团有限公司 基于区块链网络的无线资源交易方法、终端和系统
CN112329067B (zh) * 2020-11-20 2023-04-28 北京邮电大学 一种网络隐私保护方法、装置、电子设备及存储介质
CN113364831B (zh) * 2021-04-27 2022-07-19 国网浙江省电力有限公司电力科学研究院 基于区块链的多域异构算网资源可信协同方法
CN113590664A (zh) * 2021-08-09 2021-11-02 平安银行股份有限公司 一种资源获取方法、装置、服务器及存储介质
CN118626743A (zh) * 2023-03-08 2024-09-10 腾讯科技(深圳)有限公司 一种虚拟资源的转移方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108269099A (zh) * 2018-02-05 2018-07-10 桂林金发明科技开发有限公司 一种去中心化的抽奖方法
CN108769057A (zh) * 2018-06-15 2018-11-06 北京奇虎科技有限公司 基于区块链的身份识别方法及装置
EP3413189A1 (en) * 2017-06-05 2018-12-12 SigmaCorp OÜ Random number generator
CN109636998A (zh) * 2019-01-09 2019-04-16 山东浪潮质量链科技有限公司 一种利用区块链抽奖的方法及装置
CN110012001A (zh) * 2019-03-29 2019-07-12 北京金山安全软件有限公司 资源分配方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3413189A1 (en) * 2017-06-05 2018-12-12 SigmaCorp OÜ Random number generator
CN108269099A (zh) * 2018-02-05 2018-07-10 桂林金发明科技开发有限公司 一种去中心化的抽奖方法
CN108769057A (zh) * 2018-06-15 2018-11-06 北京奇虎科技有限公司 基于区块链的身份识别方法及装置
CN109636998A (zh) * 2019-01-09 2019-04-16 山东浪潮质量链科技有限公司 一种利用区块链抽奖的方法及装置
CN110012001A (zh) * 2019-03-29 2019-07-12 北京金山安全软件有限公司 资源分配方法及装置

Also Published As

Publication number Publication date
CN110557403A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
CN110557403B (zh) 基于区块链的资源分配方法、装置、存储介质及节点设备
CN109359957B (zh) 一种安全多方计算的方法及相关装置
CN108492180B (zh) 资产管理方法及装置、电子设备
CN108335206B (zh) 资产管理方法及装置、电子设备
CN108335207B (zh) 资产管理方法及装置、电子设备
CN109102269B (zh) 基于区块链的转账方法及装置、区块链节点及存储介质
WO2019127532A1 (zh) 基于区块链的众筹信息处理方法、装置、存储介质及电子设备
WO2020082892A1 (zh) 基于区块链的交易处理方法及装置、电子设备
CN110597916B (zh) 基于区块链的数据处理方法、装置、存储介质及终端
CN110599323B (zh) 一种资源处理方法及处理设备
CN110659906B (zh) 票据信息处理方法、相关设备及介质
CN113037817B (zh) 启动智能合约的方法及装置、电子设备、存储介质
CN111445333A (zh) 区块生成方法、装置、计算机设备以及存储介质
CN111309745B (zh) 虚拟资源处理方法、装置、电子设备及存储介质
CN111416709B (zh) 基于区块链系统的投票方法、装置、设备及存储介质
CN112613877B (zh) 应用于区块链网络的智能合约触发方法、装置及相关设备
EP3669493A1 (en) Computer-implemented systems and methods relating to a binary blockchain comprising a pair of coupled blockchains
CN115701078B (zh) 跨链交易处理方法、装置、电子设备以及存储介质
CN112915548A (zh) 多媒体播放平台的数据处理方法、装置、设备及存储介质
CN112101919B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110990790B (zh) 一种数据处理方法及设备
CN111008251A (zh) 一种数据处理方法以及设备
CN111222885B (zh) 数据处理请求背书方法、装置、计算机设备及存储介质
CN110599176A (zh) 基于区块链的数据处理方法、装置、存储介质及节点设备
KR20200014121A (ko) 블록체인 서비스 제공 방법 및 시스템

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