CN110737723B - 卡券领取方法、装置、设备及存储介质 - Google Patents

卡券领取方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110737723B
CN110737723B CN201910966491.8A CN201910966491A CN110737723B CN 110737723 B CN110737723 B CN 110737723B CN 201910966491 A CN201910966491 A CN 201910966491A CN 110737723 B CN110737723 B CN 110737723B
Authority
CN
China
Prior art keywords
card
ticket
merchant
user
block
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
CN201910966491.8A
Other languages
English (en)
Other versions
CN110737723A (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 CN201910966491.8A priority Critical patent/CN110737723B/zh
Publication of CN110737723A publication Critical patent/CN110737723A/zh
Application granted granted Critical
Publication of CN110737723B publication Critical patent/CN110737723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0222During e-commerce, i.e. online transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

本发明公开了一种卡券领取方法、装置、设备及存储介质,属于计算机网络领域。所述方法包括:接收卡券领取指令,卡券领取指令中包含待领取用户的用户标识和待领取卡券的卡券信息;根据待领取用户的用户标识,从用户卡券区块链上获取待领取用户对应的卡券信息,用户卡券区块链用于存储各个用户已拥有卡券的卡券信息;根据待领取卡券的卡券信息更新待领取用户对应的卡券信息;根据更新后待领取用户对应的卡券信息生成第一用户卡券区块;将第一用户卡券区块添加至用户卡券区块链中。本发明实施例中,各个用户的卡券领取记录均存储在区块链中,使得卡券领取公开化且不易被篡改,有助于提高了卡券领取以及后续使用的安全性。

Description

卡券领取方法、装置、设备及存储介质
技术领域
本发明涉及计算机网络领域,特别涉及一种卡券领取方法、装置、设备及存储介质。
背景技术
电子卡券是一种由商户投放的虚拟卡券,用户在指定的实体商户进行消费并出示电子卡券后,可以享受到相应的优惠服务。常见的电子卡券包括优惠券、抵用券、免费领取券等等。
相关技术中,为了提高电子卡券的导流效果,商户可以与应用程序开发商进行合作,将电子卡券投放给使用该应用程序的用户。比如,商户可以预先将电子卡券的卡券信息发送至应用程序的后台服务器,由后台服务器进行存储。后台服务器在检测到使用应用程序的用户满足电子卡券领取条件时,将电子卡券下发给用户,并将用户与电子卡券的绑定关系存储在后台服务器中,以便后续使用电子卡券时进行核销。
然而在上述方式下,电子卡券投放、领取以及核销均在应用程序的后台服务器处执行,电子卡券的管理使用方式较为集中,而后台服务器中存储的数据易于被篡改。
发明内容
本发明实施例提供了一种卡券领取方法、装置、设备及存储介质,可以解决相关技术中电子卡券的数据易于被篡改的问题。所述技术方案如下:
一方面,本发明实施例提供了一种卡券领取方法,所述方法应用于卡券系统中的任一节点,所述方法包括:
接收卡券领取指令,所述卡券领取指令中包含待领取用户的用户标识和待领取卡券的卡券信息;
根据所述待领取用户的用户标识,从用户卡券区块链上获取所述待领取用户对应的卡券信息,所述用户卡券区块链用于存储各个用户已拥有卡券的卡券信息;
根据所述待领取卡券的卡券信息更新所述待领取用户对应的卡券信息;
根据更新后所述待领取用户对应的卡券信息生成第一用户卡券区块;
将所述第一用户卡券区块添加至所述用户卡券区块链中。
另一方面,本发明实施例提供了一种卡券领取装置,所述装置设置在卡券系统中的任一节点,所述装置包括:
第一接收模块,用于接收卡券领取指令,所述卡券领取指令中包含待领取用户的用户标识和待领取卡券的卡券信息;
第一获取模块,用于根据所述待领取用户的用户标识,从用户卡券区块链上获取所述待领取用户对应的卡券信息,所述用户卡券区块链用于存储各个用户已拥有卡券的卡券信息;
第一更新模块,用于根据所述待领取卡券的卡券信息更新所述待领取用户对应的卡券信息;
第一生成模块,用于根据更新后所述待领取用户对应的卡券信息生成第一用户卡券区块;
第一添加模块,用于将所述第一用户卡券区块添加至所述用户卡券区块链中。
另一方面,本发明实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现如上方面所述的卡券领取方法。
另一方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行,以实现如上方面所述的卡券领取方法。
本发明实施例提供的技术方案带来的有益效果至少包括:
通过将各个用户已拥有卡券的卡券信息存储在用户卡券区块链上,从而在接收到卡券领取指令时,根据卡券领取指令中包含的用户标识,从用户卡券区块链上获取待领取用户的卡券信息,并利用待领取卡券的卡券信息对待领取用户对应的卡券信息进行更新,进而将基于更新后卡券信息生成的用户卡券区块添加到用户卡券区块链中,实现了卡券领取,由于各个用户的卡券领取记录均存储在区块链中,使得卡券领取公开化且不易被篡改,有助于提高了卡券领取以及后续使用的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个示例性实施例提供的分布式系统应用于区块链系统的框图;
图2是本发明一个示例性实施例提供的区块结构的示意图;
图3示出了本发明一个示例性实施例提供的卡券系统的结构示意图;
图4是本发明一个示例性实施例提供的计算机设备的框图;
图5示出了本发明一个示例性实施例提供的卡券领取方法的流程图;
图6示出了本发明另一个示例性实施例提供的卡券领取方法的流程图;
图7示出了本发明一个示例性实施例提供的卡券投放过程的流程图;
图8是一个示例性实施例提供的卡券投放界面的界面示意图;
图9示出了本发明一个示例性实施例提供的卡券核销过程的流程图;
图10示出了本发明另一个示例性实施例提供的卡券核销过程的流程图;
图11示出了本发明一个示例性实施例提供的卡券查询过程的流程图;
图12是本发明一个示例性实施例提供的卡券查询界面的界面示意图;
图13示出了本发明另一个示例性实施例提供的卡券查询过程的流程图;
图14是本发明另一个示例性实施例提供的卡券查询界面的界面示意图;
图15是一个示例性实施例提供的卡券系统运行过程的实施示意图;
图16示出了本发明一个实施例提供的卡券领取装置框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
首先,对本发明实施例中涉及的名词进行介绍:
区块链(Blockchain):是指用分布式数据库识别、传播和记载信息的智能化对等网络。区块链技术是基于去中心化的对等网络,用开源程序把密码学原理、时序数据和共识机制相结合,保障分布式数据库中各节点的连贯和持续,使信息能即时验证、可追溯、但难以篡改且无法屏蔽,使得区块链形成隐私性高、高效、安全的共享系统。区块链中的每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台,平台产品服务以及应用服务层。
联盟链:也称共同体区块链(Consortium Block chains),是指其共识过程受到预选节点控制的区块链。在联盟链中,只针对链内的节点成员开放全部或部分功能,联盟链中的各个区块链节点可以基于需要定制读写权限、查询权限等。
智能合约:是指根据特定条件自动执行的合约程序,是用户与区块链进行交互,利用区块链实现业务逻辑的重要途径。智能合约的基本思想是各种各样的合约条款可以嵌入到我们使用的硬件和软件中,从而使得攻击者需要很大的代价去攻击,智能合约通过多方用户共同参与定制利用对等型网络(Peer to Peer,P2P)扩散并存入区块链,区块链构建的智能合约在触发条件下自动执行。例如,各家机构可以通过服务器中部署的区块链上的智能合约接入该数据存储系统,来使用该数据存储系统提供的数据存储以及数据查询等功能。智能合约本质是一套以数字形式定义、传播、验证或执行的约定,包括合约参与方可以在智能合约中执行约定,智能合约还允许在没有第三方的情况下进行可信交易,并且该交易可追踪不可逆转。
卡券:本发明实施例中的卡券指电子卡券,且用户在投放卡券的实体商户使用该卡券时,可以享受相应的消费优惠。该卡券可以是优惠券(或卡)、满减券(或卡)、抵扣券(或卡)、免费领取券(或卡)、体验券(或卡)等等,本发明并不对卡券的具体表现形式进行限定。可选的,该卡券使用后即失效,即卡券单次使用后无法再次使用。
本发明实施例涉及的卡券系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图1,图1是本发明一个示例性实施例提供的分布式系统100应用于区块链系统的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图1示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易,即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;钱包还支持查询电子货币地址中剩余的电子货币。比如,将待领取卡券的卡券信息发送至区块链系统中,区块链系统中其他节点对该交易(即在区块链中增加用户领取的卡券)进行验证,其他节点验证成功后,该交易才能被存储至区块链中。
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。本发明中的区块链包括用户卡券区块链和商户卡券区块链,其中,用户卡券区块链中存储有各个用户所拥有卡券的卡券信息,商户卡券区块链中存储有各个商户所投放卡券的卡券信息。
参见图2,图2是本发明一个示例性实施例提供的区块结构(Block Structure)的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
请参考图3,其示出了本发明一个示例性实施例提供的卡券系统的结构示意图。该系统包括:
该实施环境包括多个服务器301,该多个服务器301为多个商户对应的后台服务器以及卡券投放应用程序的后台服务器。其中,商户对应的服务器301可以属于任一家商户,例如饭店、游乐场、服装店、电器店、超市、影院、体育馆、旅游景区等等,本发明实施例并不对商户类型进行限定。
在一种可能的实施方式中,多个服务器301均通过指定接口与卡券投放应用程序的后台服务器相连,该应用程序的后台服务器用于为商户对应的服务器提供卡券查询以及投放服务,并在为服务器301提供服务时,进行鉴权以及卡券投放审核。其中,该卡券投放应用程序可以是即时通信应用程序(即在即时通信应用程序中投放卡券,卡券的卡券位于即时通信账号中)、游戏应用程序(即在游戏应用程序中投放卡券,领取的卡券位于游戏账号中)或购物类应用程序(即在购物应用程序中投放卡券,领取的卡券位于购物账号中),本发明实施例并不对应用程序的具体表现形式进行限定。
本发明实施例中,多个服务器301上均可以部署有多条可供各个商家共用的区块链。比如,多条区块链中包括用于存储各个商户所投放卡券的卡券信息的商户卡券区块链,用于存储各个用户所拥有卡券的卡券信息的用户卡券区块链。当然,为了方便后续查询卡券使用记录,还可以包括用于存储各个用户已使用卡券的卡券信息的核销卡券区块链等等,本发明实施例并不对区块链的具体用途进行限定。
为了保证数据的安全性和私密性,各个服务器还可以部署有各自的私有区块链,示意性的,如图3所示,服装店、超市、电影院以及饭店对应的后台服务器均部署有各自的私有区块链。
当然,为了进行安全验证、权限管理等服务,上述卡券系统中配置有CA中心(Certificate Authority,证书授权中心),用于存储各个商户的密钥,卡券系统中的各个服务器可以从CA中心中获取各个商户的密钥,如任一节点的公钥,以进行数据的加密和解密等过程。
可选的,该卡券系统中还可以包括多个存储设备用于为该多个服务器301提供存储服务,其中,该多个存储设备可以组成分布式存储系统,用于采用分布式的形式来对提供存储数据。
此外,上述卡券系统中还可以包括用户使用的终端设备,用户可以使用终端设备访问卡券投放应用程序的后台服务器,从而借助该服务器访问区块链从而实现数据查询。本发明实施例中,用户使用终端设备可以从用户卡券区块链中查询到自身拥有的卡券,可以从商户卡券区块链中查询到指定区域内商户投放的卡券。
图4示出了本发明一个示例性实施例提供的计算机设备的结构示意图。该计算机设备可以是图3示出的服务器。具体来讲:
计算机设备400包括中央处理单元(CPU,Central Processing Unit)401、包括随机存取存储器(RAM,Random Access Memory)402和只读存储器(ROM,Read Only Memory)403的系统存储器404,以及连接系统存储器404和中央处理单元401的系统总线405。计算机设备400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统,Input Output System)406,和用于存储操作系统413、应用程序414和其他程序模块415的大容量存储设备407。
基本输入/输出系统406包括有用于显示信息的显示器408和用于用户输入信息的诸如鼠标、键盘之类的输入设备409。其中显示器408和输入设备409都通过连接到系统总线405的输入输出控制器410连接到中央处理单元401。基本输入/输出系统406还可以包括输入输出控制器410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器410还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备407通过连接到系统总线405的大容量存储控制器(未示出)连接到中央处理单元401。大容量存储设备407及其相关联的计算机可读介质为计算机设备400提供非易失性存储。也就是说,大容量存储设备407可以包括诸如硬盘或者紧凑型光盘只读存储器(CD-ROM,Compact Disc Read Only Memory)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read OnlyMemory)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(DVD,Digital VersatileDisc)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器404和大容量存储设备407可以统称为存储器。
根据本发明的各种实施例,计算机设备400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备400可以通过连接在系统总线405上的网络接口单元411连接到网络412,或者说,也可以使用网络接口单元411来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
图5示出了本发明一个示例性实施例提供的卡券领取方法的流程图,该方法应用于如图3所示的卡券系统中的任一节点,该方法包括以下步骤:
步骤501,接收卡券领取指令,卡券领取指令中包含待领取用户的用户标识和待领取卡券的卡券信息。
可选的,该卡券领取指令由卡券投放应用程序发送,且该卡券领取指令是检测到用户符合卡券领取条件,且接收到卡券领取操作时触发。
在一种可能的应用场景下,该卡券投放应用程序为基于位置服务(LocationBased Service,LBS)游戏应用程序(即商户将卡券投放至LBS游戏应用程序,用户在LBS游戏应用程序中领取卡券),相应的,该卡券领取条件可以包括如下至少一种:1、完成指定游戏任务;2、达到指定游戏成就(比如达到指定等级);3、达到指定位置(比如达到某一实体商户);卡券领取操作可以是对游戏界面中卡券领取控件的点击操作。
为了将指定卡券准确发放至指定用户,该卡券领取指令中至少包括待领取用户的用户标识以及待领取卡券的卡券信息,其中,待领取用户的用户标识可以是卡券投放应用程序登陆的应用账号,待领取卡券的卡券信息至少包括待领取卡券的卡券标识(唯一标识)。
步骤502,根据待领取用户的用户标识,从用户卡券区块链上获取待领取用户对应的卡券信息,用户卡券区块链用于存储各个用户已拥有卡券的卡券信息。
本发明实施例中,卡券系统中包括用户卡券区块链,该用户卡券区块链中包含各个用户已拥有卡券(领取且未使用)的卡券信息,其中,用户卡券区块链中的区块按照用户标识进行划分,即每个区块中存储一个用户已拥有卡券的卡券信息。
为了将待领取卡券准确发放给用户,节点根据卡券领取指令中包含的用户标识,从用户卡券区块链上确定待领取用户对应的区块,并获取该区块中包含的卡券信息。
在一种可能的实施方式中,若待领取用户为首次领取卡券,或待领取用户领取的卡券均已使用,根据待领取用户的用户标识从用户卡券区块链中获取的卡券信息为空;若待领取用户的账号下存在未使用的卡券,则根据待领取用户的用户标识从用户卡券区块链中获取的卡券信息不为空。
步骤503,根据待领取卡券的卡券信息更新待领取用户对应的卡券信息。
由于区块链具有不可篡改的特性,因此需要根据待领取卡券的卡券信息,对待领取用户对应的卡券信息进行更新,其中,该更新过程可以是将对待领取用户对应的卡券信息添加至待领取用户对应的卡券信息中。
在一个示意性的例子中,从用户卡券区块链中获取到的卡券信息包括卡券信息A和卡券信息B,当待领取卡券的卡券信息为卡券信息D时,更新后待领取用户对应的卡券信息则为卡券信息A、卡券信息B以及卡券信息D。
在一种可能的实施方式中,节点基于智能合约进行卡券信息更新,其中,该智能合约是指根据特定条件自动执行卡券领取、投放以及核销机制的合约程序,包括合约参与方在智能合约中执行约定的协议。其中,智能合约发送至区块链系统中,区块链系统中的任一节点接收该智能合约,向其他节点广播,广播的内容是将该智能合约存储至区块链中,其他节点对该智能合约进行验证,验证该智能合约的真实性和合法性。在其他节点验证通过时,区块链系统将该智能合约存储至区块链中。可选地,验证方式是通过发起广播的节点使用节点对应的私钥进行电子签名,其他节点使用该节点的公钥对该电子签名进行验证。
可选地,在智能合约存储至区块链系统中后,区块链系统向智能合约投放主体(即首个接收到智能合约的节点,比如卡券投放应用程序对应的后台服务器)发送该智能合约已存储成功的信息,并将该智能合约在区块链上的地址发送给智能合约投放主体。
步骤504,根据更新后待领取用户对应的卡券信息生成第一用户卡券区块。
通过上述步骤完成卡券信息更新后,节点根据更新后待领取用户对应的卡券信息重新生成一个区块(即第一用户卡券区块),以便后续对该区块进行上链。
在一种可能的实施方式中,节点将待领取用户对应的卡券信息、待投放卡券的卡券信息以及更新后的卡券信息发送至多个卡券系统中的多个节点进行共识。当多个节点根据智能合约计算出的卡券信息与更新后的卡券信息一致时,确定更新后的卡券信息通过共识,从而生成第一用户卡券区块。其中,该多个节点可以是卡券系统中的指定节点,也可以是卡券系统中的所有节点,本实施例对此不做限定。
当然,节点共识过程也可以采用其他市县方式,本发明实施例对此不做限定。
步骤505,将第一用户卡券区块添加至用户卡券区块链中。
当多个节点对将要写入区块链的数据达成共识时,即将第一用户卡券区块链添加至用户卡券区块链中,完成待领取卡券的上链。
在一种可能的实施方式中,将第一用户卡券区块添加至用户卡券区块链后,节点向发送卡券领取指令的终端发送通知消息,通知用户该卡券已领取。
需要说明的是,上述生成区块以及区块入殓的过程也可以由其他节点完成,本实施例并不对完成上述过程的具体节点进行限定。
综上所述,本发明实施例中,通过将各个用户已拥有卡券的卡券信息存储在用户卡券区块链上,从而在接收到卡券领取指令时,根据卡券领取指令中包含的用户标识,从用户卡券区块链上获取待领取用户的卡券信息,并利用待领取卡券的卡券信息对待领取用户对应的卡券信息进行更新,进而将基于更新后卡券信息生成的用户卡券区块添加到用户卡券区块链中,实现了卡券领取,由于各个用户的卡券领取记录均存储在区块链中,使得卡券领取公开化且不易被篡改,有助于提高了卡券领取以及后续使用的安全性。
在一种可能的实施方式中,卡券系统中还包括用于存储商户所投放卡券的卡券信息的商户卡券区块链,相应的,在卡券领取过程中,除了需要对用户卡券区块链进行更新外,还需要对商户卡券区块链进行更新。在图5的基础上,如图6所示,步骤501之后还可以包括如下步骤。
步骤506,根据待领取卡券的卡券信息,从商户卡券区块链上获取待领取卡券的已领取数据,商户卡券区块链用于存储各个商户所投放卡券的卡券信息。
在一种可能的实施方式中,商户通过卡券投放应用程序投放卡券后,为了知悉卡券的领取情况,商户卡券区块链上存储的卡券信息中包括商户所投放卡券的已领取数据,该已领取数据在卡券领取后进行更新。相应的,接收到卡券领取指令后,节点从商户卡券区块链中查找待领取卡券所在的区块,进而获取该区块中存储的待领取卡券的已领取数据。
其中,已领取数据的获取方式与商户卡券区块链的区块划分方式相关。在一种可能的实施方式中,商户卡券区块链中的区块根据商户区域划分,相应的,获取已领取数据可以采用如下方式。
一、根据待领取卡券的卡券投放位置信息,从商户卡券区块链上获取第二商户卡券区块,卡券投放位置信息与第二商户卡券区块对应的商户区域匹配。
当商户卡券区块链中的区块根据商户区域划分时,不同的商户卡券区块中包含相应商户区域内所有商户所投放卡券的卡券信息,因此,节点可以首先根据待领取卡券的卡券投放位置信息(包含在卡券信息中),确定用于存储该待领取卡券的第二商户卡券区块。
其中,商户卡券区块链中的区块可以按照省、市、区(县)、商圈等行政区域划分方式进行划分,也可以按照坐标范围进行划分(比如将地图划分为10km×10km的网格区域),本发明实施例对此不做限定。
可选的,获取到待投放卡券的卡券投放位置信息后,即将卡券投放位置信息与各个商户卡券区块对应的商户区域进行匹配,从而将匹配的商户卡券区块确定为第二商户卡券区块。
在一个示意性的例子中,节点获取到卡券投放位置信息为东经100度,北纬100度,由于东经100度,北纬100度位于A市B区内,因此节点将A市B区对应的商户卡券区块确定为第二商户卡券区块。
二、根据商户标识和卡券标识从第二商户卡券区块中获取待领取卡券的已领取数据。
进一步的,节点根据卡券信息中包含的商户标识和卡券信息,从而第二商户卡券区块中查找待领取卡券的已领取数据。可选的,节点可以根据商户标识确定该商户所投放的所有卡券,进而根据卡券标识从确定出的卡券中进一步确定待领取卡券,并获取待领取卡券的已领取数据。
除了以商户区域划分区块外,在另一种可能的实施方式中,可以根据商户类型进行区块划分,相应的,获取已领取数据可以采用如下方式。
一、根据待领取卡券所属商户的商户类型,从商户卡券区块链上获取第三商户卡券区块,待投放卡券所属商户的商户类型与第三商户卡券区块对应的商户类型匹配。
当商户卡券区块链中的区块根据商户类型划分时,不同的商户卡券区块中包含属于相应商户类型的所有商户所投放卡券的卡券信息,因此,节点可以首先根据待领取卡券所属商户的商户类型(包含在卡券信息中),确定用于存储该待领取卡券的第三商户卡券区块。
其中,商户类型可以包括饭店、商场、旅游景区、电影院、体育馆、游乐场等等,本发明实施例并不对具体的商户类型进行限定。
可选的,获取到待投放卡券所属商户的商户类型后,即将该商户类型与各个商户卡券区块对应的商户类型进行匹配,从而将匹配的商户卡券区块确定为第三商户卡券区块。
在一个示意性的例子中,节点获取到待领取卡券为xx电影院的优惠券,由于该卡券所属商户的商户类型为电影院时,因此节点将电影院对应的商户卡券区块确定为第三商户卡券区块。
二、根据商户标识和卡券标识从第三商户卡券区块中获取待领取卡券的已领取数据。
进一步的,节点根据卡券信息中包含的商户标识和卡券信息,从而第三商户卡券区块中查找待领取卡券的已领取数据。可选的,节点可以根据商户标识确定该商户所投放的所有卡券,进而根据卡券标识从确定出的卡券中进一步确定待领取卡券,并获取待领取卡券的已领取数据。
步骤507,根据更新后待领取卡券的已领取数据,生成第一商户卡券区块。
在一种可能的实施方式中,节点对待领取卡券的已领取数据进行更新(比如对已领取数据进行加一操作),并根据智能合约检测更新后待领取卡券的已领取数据是否小于等于卡券投放数量(即卡券领取数量是否超过投放数量),若小于等于,则根据更新后待领取卡券的已领取数据生成第一商户卡券区块;若大于,则确定卡券无法领取。当然,区块链系统还需要经过共识机制对第一商户卡券区块的数据进行验证,本实施例在此不再赘述。
在一个示意性的例子中,节点将待领取卡券的已领取数据由20更新为21,由于更新后的已领取数据小于卡券投放数量30,因此节点根据更新后待领取卡券的已领取数据,生成第一商户卡券区块(包含待领取卡券的已领取数量为21)。
步骤508,将第一商户卡券区块添加至商户卡券区块链中。
进一步的,节点将第一商户卡券区块添加至用户卡券区块链中,完成待领取卡券在用户卡券区块链中的上链。
在一种可能的实施方式中,第一用户卡券区块添加至用户卡券区块链,且第一商户卡券区块添加至商户卡券区块链后,节点向发送卡券领取指令的终端发送通知消息,通知用户该卡券已领取。
上述实施例中,仅以按照商户区域以及商户类型对商户卡券区块链进行划分为例进行说明,在其他可能的实现方式中,还可以按照商户名称首字母等其他规则进行区块划分,本发明并不对此进行限定。
本实施例中,根据商户区域或商户类型对商户卡券区块链进行区块划分,从而根据待领取卡券的卡券信息,从相应的区块中获取待领取卡券的已领取数据,从而对更新后的已领取数据进行上链,方便商户后续查询已投放卡券的领取情况,并有助于提高查询的效率。
在一种可能的实施方式中,当商户卡券区块链按照商户区域进行区块划分时,商户可以通过上链的方式,向指定区域投放优惠券,如图7所示,商户向指定区域投放优惠券的过程可以包括如下步骤。
步骤701,获取待投放卡券的卡券信息。
在一种可能的实施方式中,商户可以使用客户端登陆卡券投放页面,并在卡券投放页面中输入待投放卡券的卡券信息,从而通过客户端将卡券投放应用程序的后台服务器,以便对待投放卡券进行审核。当待投放卡券的卡券信息通过审核时,该卡券信息即被发送至卡券系统中的节点。其中,审核的方式可以采用人工审核或机器审核。
其中,待投放卡券的卡券信息至少包括:卡券名称、卡券投放数量、卡券标识以及卡券投放位置信息。当然,卡券信息中还可以包括卡券使用说明、卡券有效期、卡券图标、商户类型等等,本实施例对此不做限定。
在一个示意性的例子中,如图8所示,卡券投放界面81中包括卡券名称输入控件81、投放数量输入控件82、卡券图标上传控件83、卡券标识输入控件84以及卡券投放位置设置控件85,商户通过上述控件输入相应的卡券信息,并点击申请投放控件86后,商户填写的卡券信息即被发送至卡券投放应用程序的后台服务器进行审核。
步骤702,根据待投放卡券的卡券信息,从商户卡券区块链上获取第四商户卡券区块,待投放卡券的卡券信息与第四商户卡券区块对应的商户区域匹配。
由于商户卡券区块链上的区块根据商户区域进行划分,因此在对待投放卡券进行上链时,需要首先确定待投放卡券所属的区块。在一种可能的实施方式中,节点将卡券信息中的卡券投放位置信息与商户卡券区块链上各个区块对应的商户区域进行匹配,若两者匹配(即卡券投放位置指示的位置位于商户区域内),则将该区块确定为第四商户卡券区块。
在一个示意性的例子中,节点获取到待投放卡券的卡券投放位置信息为东经100°,北纬100°,由于该卡券投放位置信息指示的位置位于A市B区,因此节点将A市B区对应的商户卡券区块确定为第四商户卡券区块。
步骤703,根据第四商户卡券区块中存储的卡券信息以及待投放卡券的卡券信息,生成第五商户卡券区块。
在一种可能的实施方式中,节点对第五商户卡券区块中的卡券信息进行更新(比如将投放卡券的卡券信息增加到第五商户卡券区块的卡券信息中),并根据更新后卡券信息生成第五商户卡券区块。其中,节点需要通过智能合约和共识机制生成第五商户卡券区块,本实施例在此不再赘述。
步骤704,将第五商户卡券区块添加至商户卡券区块链中。
进一步的,节点将生成的第五商户卡券区块添加至商户卡券区块链中,从而完成待投放卡券上链。
上述实施例中,仅以商户卡券区块链按照商户区域进行区块划分时卡券的投放过程为例进行说明,在其他可能的实施方式中,当商户卡券区块链按照商户类型进行区块划分时,需要根据待投放卡券对应的商户类型从商户卡券区块链上获取对应该商户类型的区块,进而完成对待投放卡券的上链,本实施例在此不再赘述。
本实施例中,基于商户区域对商户卡券区块链进行区块划分以及卡券投放,使得用户在到达卡券投放地点时能够领取卡券,进而在卡券投放地点(一般为实体商户附近)使用该卡券,有助于提高卡券的使用概率,提高卡券的导流效果;此外,商户可以根据需求将卡券投放到指定区域,降低了卡券投放的难度,提高了卡券投放的效率。
在一种可能的实施方式中,由于卡券具有使用次数限制(比如单次使用),因此用户使用已拥有卡券的过程中,节点需要对使用的卡券进行核销。如图9所示,卡券的核销过程可以包括如下步骤。
步骤901,接收卡券核销指令,卡券核销指令中包含待核销卡券的卡券信息和待核销用户的用户标识。
可选的,该卡券核销指令是使用已领取卡券时触发的,至少包含待核销卡券的卡券信息以及待核销用户(即使用待核销卡券的用户)的用户标识,其中,该卡券信息中至少包含卡券标识。
在一种可能的实施方式中,对于已拥有的卡券,卡券投放应用程序根据卡券的卡券信息和用户标识生成卡券对应的核销图形码(比如二维码),在使用卡券时,用户即出示卡券对应的核销图形码,由商户使用的终端扫描核销图形码,进而根据核销图形码中解析出的的卡券信息和待核销用户的用户标识,向节点发送卡券核销指令。
步骤902,根据待核销用户的用户标识,从用户卡券区块链上获取待核销用户对应的卡券信息。
由于用户卡券区块链上每个区块对应各自的用户标识,因此节点根据待核销用户的用户标识,从用户卡券区块链上获取待核销用户对应的卡券信息。需要说明的是,由于每次领取卡券时,都会新生成一个用户卡券区块,因此节点根据待核销用户的用户标识可能会获取到多个用户卡券区块,此时,节点获取时间戳最近的用户卡券区块中的卡券信息。
步骤903,根据待核销卡券的卡券信息更新待核销用户对应的卡券信息。
在一种可能的实施方式中,节点从待核销用户对应的卡券信息中,删除待核销卡券的卡券信息,从而完成卡券信息更新。
在一个示意性的例子中,节点从用户卡券区块链中获取到待核销用户对应的卡券信息包括卡券信息A、卡券信息B以及卡券信息D,当待核销卡券的卡券信息为卡券信息D时,更新后待核销用户对应的卡券信息即为卡券信息A和卡券信息B。
步骤904,根据更新后待核销用户对应的卡券信息生成第二用户卡券区块。
在一种可能的实施方式中,通过智能合约和共识机制,当更新后待核销用户对应的卡券信息通过大多数节点的共识后,节点根据更新后待核销用户对应的卡券信息生成第二用户卡券区块。
步骤905,将第二用户卡券区块添加至用户卡券区块链中。
进一步的,节点将第二用户卡券区块添加至用户卡券区块链中,完成用户卡券区块链上的卡券核销。
可选的,将第二用户卡券区块添加至用户卡券区块链后,节点向商户和用户使用的终端发送核销完成信息,以便用户使用的终端根据该信息删除已核销卡券的卡券信息。
为了方便商户查询已投放卡券的使用情况,可选的,商户卡券区块链上还存储有卡券的已使用数据,相应的,在图9的基础上,如图10所示,步骤901之后还可以包括如下步骤:
步骤906,根据待核销卡券的卡券信息,从商户卡券区块链上获取待核销卡券的已使用数据。
在一种可能的实施方式中,节点首先根据待核销卡券的卡券信息确定待核销卡券在商户卡券区块链上所属的区块,然后进一步从该区块中获取待核销卡券的已使用数据。其中,确定待核销卡券所属区块的过程可以参考确定待领取卡券所属区块的过程,本实施例在此不再赘述。
步骤907,根据更新后待核销卡券的已使用数据,生成第六商户卡券区块。
可选的,节点对待核销卡券的已使用数据进行减一操作,从而完成待核销卡券的已使用数据更新,并在更新结果通过大多数节点共识后,生成第六商户卡券区块。
步骤908,将第六商户卡券区块添加至商户卡券区块链中。
进一步的,节点将第六商户卡券区块添加至商户卡券区块链中,完成商户卡券区块链上的卡券核销数据更新。
可选的,将第六商户卡券区块添加至商户卡券区块链后,节点向商户使用的终端发送核销完成信息,以便商户从核销完成信息中知悉卡券的已使用数据。
本实施例中,根据待核销卡券的卡券信息以及待核销用户的用户标识,在用户卡券区块链和商户卡券区块链上进行卡券核销,保证了卡券核销的准确性,并有助于提高商户统计已投放卡券的使用情况。
本发明实施例中,基于区块链对卡券进行去中心化存储,独立出卡券投放应用程序内的卡券数据,方便用户进行卡券查询,下面对卡券信息的查询过程进行说明。
在一种可能的实施方式中,用户查询指定区域内卡券的过程如图11所示。
步骤1101,接收第一卡券查询指令,第一卡券查询指令中包含待查询区域的区域信息。
在一种可能的实施方式中,用户可以使用终端登录卡券查询界面,并在卡券查询界面中输入待查询区域的区域信息,从而触发终端向节点发送第一卡券查询指令,该第一卡券查询指令用于指示查询待查询区域内卡券的卡券信息。
示意性的,如图12所示,卡券查询界面1201中显示有区域设置控件1202,通过区域设置控件1202获取到用户输入的待查询区域的区域信息(A省B市C区),并接收到对查询控件1204的点击操作时,终端即向节点发送第一卡券查询指令。
步骤1102,根据待查询区域的区域信息,确定商户卡券区块链中的第七商户卡券区块,待查询区域的区域信息与第七商户卡券区块对应的商户区域匹配。
可选的,当商户卡券区块链上的区块按照商户区域进行划分时,节点将商户卡券区块链上,与待查询区域的区域信息匹配的商户卡券区块确定为第七商户卡券区块。需要说明的是,由于每次商户卡券数据发生更新时,都会新生成商户卡券区块,因此根据待查询区域的区域信息可能查询到多个区块,此时,节点将时间戳最近的区块确定为第七商户卡券区块。
步骤1103,反馈第七商户卡券区块中存储的卡券信息。
可选的,节点将第七商户卡券区块中存储的所有卡券的卡券信息反馈给查询终端(即用户使用的终端),以便终端对卡券信息进行显示。其中,反馈的卡券信息至少包括卡券名称。可选的,反馈的卡券信息中还可以包括卡券可领取数(根据卡券投放数量和卡券已领取数据计算得到)、卡券投放位置信息、卡券图标、卡券使用说明等等,本实施例对此不作限定。
为了实现更加精准的卡券查询,第一卡券查询指令中除了包含待查询区域的区域信息外,还可以包含商户关键字,相应的,节点反馈第七商户卡券区块中与商户关键字匹配的卡券信息。
示意性的,如图12所示,卡券查询界面1201中还显示有关键字输入控件1203,通过区域设置控件1202以及关键字输入控件1203获取到用户输入的待查询区域的区域信息(A省B市C区)以及商户关键字(火锅)后,终端向节点发送第一卡券查询指令,并对节点反馈的卡券信息1205进行显示。
本实施例中,节点根据卡券查询指令中包含的区域信息,从商户卡券区块链中获取该区域信息所指示区域内卡券的卡券信息,提高用户查询卡券地理位置分布情况的效率。
在另一种可能的实施方式中,用户查询已拥有卡券的过程如图13所示。
步骤1301,接收第二卡券查询指令,所第二卡券查询指令中包含目标用户标识。
在一种可能的实施方式中,用户可以使用终端登录卡券查询界面,并在卡券查询界面中待查询的目标用户标识,从而触发终端向节点发送第二卡券查询指令,该第二卡券查询指令用于指示查询目标用户已拥有卡券的卡券信息。
示意性的,如图13所示,卡券查询界面1301中显示有账号输入控件1402和密码输入控件1403,通过账号输入控件1402和密码输入控件1403输入用户账号(即目标用户标识)和密码,且用户账号和密码匹配时,终端根据接收到对查询控件1404的点击操作时,向节点发送第二卡券查询指令。
步骤1302,根据目标用户标识,确定用户卡券区块链中的第三用户卡券区块,目标用户标识与第三用户卡券区块对应的用户标识匹配。
由于用户卡券区块链上的区块根据用户进行划分,因此节点可以根据目标用户标识,将用户卡券区块链中与目标用户标识匹配的区块确定为第三用户卡券区块,第三用户卡券区块中即存储有目标用户已拥有卡券的卡券信息。
步骤1303,反馈第三用户卡券区块中存储的卡券信息。
可选的,节点将第三用户卡券区块中存储的所有卡券的卡券信息反馈给查询终端(即用户使用的终端),以便终端对卡券信息进行显示。其中,反馈的卡券信息至少包括卡券名称。可选的,反馈的卡券信息中还可以卡券图标、卡券使用说明等等,本实施例对此不作限定。
示意性的,如图14所示,终端在卡券查询界面1401对节点反馈的卡券信息1405进行显示。
本实施例中,节点根据卡券查询指令中包含的目标用户标识,从用户卡券区块链中获取该目标用户标识所指示用户所拥有卡券的卡券信息,查询过程基于区块链实现,查询效率较高且无需依赖卡券投放应用程序,有助于提高卡券查询的效率。
在一个示意性的应用场景下,如图15所示,商户卡券区块链1501上的卡券可以由卡券投放运营方(LBS游戏运营方)投放,也可以由商户投放(需要经过审核)。其中,在卡券投放过程中,商户可以将卡券投放至指定的区域,比如将卡券投放到商户的实体门店处,当用户达到实体门店时即可领取卡券,并进行使用。
当用户在LBS游戏中完成任务、达成成就或达到指定区域时,LBS游戏即确定用户满足卡券领取条件,从而根据用户标识和卡券信息,通过区块链中的节点对待领取卡券进行上链,该上链过程即将待领取卡券添加至用户卡券区块链1502中。完成卡券上链后,节点通知用户完成卡券领取。借助商户卡券区块链1501,用户可以查询指定区域内商户投放的卡券,借助用户卡券区块链1502,用户可以查询已拥有卡券。
当用户在实体门店使用已拥有卡券时,商户根据待核销卡券的卡券信息以及该用户的用户标识,借助商户卡券区块链1501和用户卡券区块链1502完成卡券核销,保证了卡券核销的准确性。
下述为本发明的装置实施例,可以用于执行本发明方法实施例。对于本发明的装置实施例中未披露的细节,请参照本发明的方法实施例。
图16示出了本发明一个实施例提供的卡券领取装置框图,该装置设置在卡券系统中的任一节点,该装置包括:
第一接收模块1601,用于接收卡券领取指令,所述卡券领取指令中包含待领取用户的用户标识和待领取卡券的卡券信息;
第一获取模块1602,用于根据所述待领取用户的用户标识,从用户卡券区块链上获取所述待领取用户对应的卡券信息,所述用户卡券区块链用于存储各个用户已拥有卡券的卡券信息;
第一更新模块1603,用于根据所述待领取卡券的卡券信息更新所述待领取用户对应的卡券信息;
第一生成模块1604,用于根据更新后所述待领取用户对应的卡券信息生成第一用户卡券区块;
第一添加模块1605,用于将所述第一用户卡券区块添加至所述用户卡券区块链中。
可选的,所述装置还包括:
第二获取模块,用于根据所述待领取卡券的卡券信息,从商户卡券区块链上获取所述待领取卡券的已领取数据,所述商户卡券区块链用于存储各个商户所投放卡券的卡券信息;
第二生成模块,用于根据更新后所述待领取卡券的已领取数据,生成第一商户卡券区块;
第二添加模块,用于将所述第一商户卡券区块添加至所述商户卡券区块链中。
可选的,所述商户卡券区块链中的区块根据商户区域划分,所述待领取卡券的卡券信息中包含卡券投放位置信息、商户标识和卡券标识;
所述第二获取模块,用于:
根据所述待领取卡券的所述卡券投放位置信息,从所述商户卡券区块链上获取第二商户卡券区块,所述卡券投放位置信息与所述第二商户卡券区块对应的商户区域匹配;
根据所述商户标识和所述卡券标识从所述第二商户卡券区块中获取所述待领取卡券的已领取数据。
可选的,所述装置还包括:
第三获取模块,用于获取待投放卡券的卡券信息;
第四获取模块,用于根据所述待投放卡券的卡券信息,从所述商户卡券区块链上获取第四商户卡券区块,所述待投放卡券的卡券信息与所述第四商户卡券区块的商户区域匹配;
第三生成模块,用于根据所述第四商户卡券区块中存储的卡券信息以及所述待投放卡券的卡券信息,生成第五商户卡券区块;
第三添加模块,用于将所述第五商户卡券区块添加至所述商户卡券区块链中。
可选的,所述商户卡券区块链中的区块根据商户类型划分,所述待领取卡券的卡券信息中包含所属商户的商户类型、商户标识和卡券标识;
所述第二获取模块,用于:
根据所述待领取卡券所属商户的商户类型,从所述商户卡券区块链上获取第三商户卡券区块,所述待投放卡券所属商户的商户类型与所述第三商户卡券区块对应的商户类型匹配;
根据所述商户标识和所述卡券标识从所述第三商户卡券区块中获取所述待领取卡券的已领取数据。
可选的,所述装置还包括:
第二接收模块,用于接收卡券核销指令,所述卡券核销指令中包含待核销卡券的卡券信息和待核销用户的用户标识;
第五获取模块,用于根据所述待核销用户的用户标识,从所述用户卡券区块链上获取所述待核销用户对应的卡券信息;
第二更新模块,用于根据所述待核销卡券的卡券信息更新所述待核销用户对应的卡券信息;
第四生成模块,用于根据更新后所述待核销用户对应的卡券信息生成第二用户卡券区块;
第四添加模块,用于将所述第二用户卡券区块添加至所述用户卡券区块链中。
可选的,所述装置还包括:
第六获取模块,用于根据所述待核销卡券的卡券信息,从所述商户卡券区块链上获取所述待核销卡券的已使用数据;
第五生成模块,用于根据更新后所述待核销卡券的已使用数据,生成第六商户卡券区块;
第五添加模块,用于将所述第六商户卡券区块添加至所述商户卡券区块链中。
可选的,所述装置还包括:
第三接收模块,用于接收第一卡券查询指令,所述第一卡券查询指令中包含待查询区域的区域信息;
第一确定模块,用于根据所述待查询区域的区域信息,确定所述商户卡券区块链中的第七商户卡券区块,所述待查询区域的区域信息与所述第七商户卡券区块对应的商户区域匹配;
第一反馈模块,用于反馈所述第七商户卡券区块中存储的卡券信息。
可选的,所述装置还包括:
第四接收模块,用于接收第二卡券查询指令,所述第二卡券查询指令中包含目标用户标识;
第二确定模块,用于根据所述目标用户标识,确定所述用户卡券区块链中的第三用户卡券区块,所述目标用户标识与所述第三用户卡券区块对应的用户标识匹配;
第二反馈模块,用于反馈所述第三用户卡券区块中存储的卡券信息。
综上所述,本发明实施例中,通过将各个用户已拥有卡券的卡券信息存储在用户卡券区块链上,从而在接收到卡券领取指令时,根据卡券领取指令中包含的用户标识,从用户卡券区块链上获取待领取用户的卡券信息,并利用待领取卡券的卡券信息对待领取用户对应的卡券信息进行更新,进而将基于更新后卡券信息生成的用户卡券区块添加到用户卡券区块链中,实现了卡券领取,由于各个用户的卡券领取记录均存储在区块链中,使得卡券领取公开化且不易被篡改,有助于提高了卡券领取以及后续使用的安全性。
本发明的实施例还提供了一种计算机设备,该计算手机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的卡券领取方法。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例提供的卡券领取方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的可选实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种卡券领取方法,其特征在于,所述方法应用于卡券系统中的任一节点,所述方法包括:
接收卡券领取指令,所述卡券领取指令中包含待领取用户的用户标识和待领取卡券的卡券信息;
根据所述待领取用户的用户标识,从用户卡券区块链上获取所述待领取用户对应的卡券信息,所述用户卡券区块链用于存储各个用户已拥有卡券的卡券信息;
根据所述待领取卡券的卡券信息更新所述待领取用户对应的卡券信息;
根据更新后所述待领取用户对应的卡券信息生成第一用户卡券区块;
将所述第一用户卡券区块添加至所述用户卡券区块链中;
根据所述待领取卡券的卡券信息,从商户卡券区块链上获取所述待领取卡券的已领取数据,所述商户卡券区块链用于存储各个商户所投放卡券的卡券信息,且所述商户卡券区块链中的区块根据商户区域或商户类型划分,其中,所述待领取卡券的已领取数据所属的区块基于所述待领取卡券的卡券信息确定得到;
根据更新后所述待领取卡券的已领取数据,生成第一商户卡券区块;
将所述第一商户卡券区块添加至所述商户卡券区块链中。
2.根据权利要求1所述的方法,其特征在于,所述商户卡券区块链中的区块根据商户区域划分,所述待领取卡券的卡券信息中包含卡券投放位置信息、商户标识和卡券标识;
所述根据所述待领取卡券的卡券信息,从商户卡券区块链上获取所述待领取卡券的已领取数据,包括:
根据所述待领取卡券的所述卡券投放位置信息,从所述商户卡券区块链上获取第二商户卡券区块,所述卡券投放位置信息与所述第二商户卡券区块对应的商户区域匹配;
根据所述商户标识和所述卡券标识从所述第二商户卡券区块中获取所述待领取卡券的已领取数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取待投放卡券的卡券信息;
根据所述待投放卡券的卡券信息,从所述商户卡券区块链上获取第四商户卡券区块,所述待投放卡券的卡券信息与所述第四商户卡券区块的商户区域匹配;
根据所述第四商户卡券区块中存储的卡券信息以及所述待投放卡券的卡券信息,生成第五商户卡券区块;
将所述第五商户卡券区块添加至所述商户卡券区块链中。
4.根据权利要求1所述的方法,其特征在于,所述商户卡券区块链中的区块根据商户类型划分,所述待领取卡券的卡券信息中包含所属商户的商户类型、商户标识和卡券标识;
所述根据所述待领取卡券的卡券信息,从商户卡券区块链上获取所述待领取卡券的已领取数据,包括:
根据所述待领取卡券所属商户的商户类型,从所述商户卡券区块链上获取第三商户卡券区块,待投放卡券所属商户的商户类型与所述第三商户卡券区块对应的商户类型匹配;
根据所述商户标识和所述卡券标识从所述第三商户卡券区块中获取所述待领取卡券的已领取数据。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
接收卡券核销指令,所述卡券核销指令中包含待核销卡券的卡券信息和待核销用户的用户标识;
根据所述待核销用户的用户标识,从所述用户卡券区块链上获取所述待核销用户对应的卡券信息;
根据所述待核销卡券的卡券信息更新所述待核销用户对应的卡券信息;
根据更新后所述待核销用户对应的卡券信息生成第二用户卡券区块;
将所述第二用户卡券区块添加至所述用户卡券区块链中。
6.根据权利要求5所述的方法,其特征在于,所述接收卡券核销指令之后,所述方法还包括:
根据所述待核销卡券的卡券信息,从所述商户卡券区块链上获取所述待核销卡券的已使用数据;
根据更新后所述待核销卡券的已使用数据,生成第六商户卡券区块;
将所述第六商户卡券区块添加至所述商户卡券区块链中。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收第一卡券查询指令,所述第一卡券查询指令中包含待查询区域的区域信息;
根据所述待查询区域的区域信息,确定所述商户卡券区块链中的第七商户卡券区块,所述待查询区域的区域信息与所述第七商户卡券区块对应的商户区域匹配;
反馈所述第七商户卡券区块中存储的卡券信息。
8.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
接收第二卡券查询指令,所述第二卡券查询指令中包含目标用户标识;
根据所述目标用户标识,确定所述用户卡券区块链中的第三用户卡券区块,所述目标用户标识与所述第三用户卡券区块对应的用户标识匹配;
反馈所述第三用户卡券区块中存储的卡券信息。
9.一种卡券领取装置,其特征在于,所述装置设置在卡券系统中的任一节点,所述装置包括:
第一接收模块,用于接收卡券领取指令,所述卡券领取指令中包含待领取用户的用户标识和待领取卡券的卡券信息;
第一获取模块,用于根据所述待领取用户的用户标识,从用户卡券区块链上获取所述待领取用户对应的卡券信息,所述用户卡券区块链用于存储各个用户已拥有卡券的卡券信息;
第一更新模块,用于根据所述待领取卡券的卡券信息更新所述待领取用户对应的卡券信息;
第一生成模块,用于根据更新后所述待领取用户对应的卡券信息生成第一用户卡券区块;
第一添加模块,用于将所述第一用户卡券区块添加至所述用户卡券区块链中;
第二获取模块,用于根据所述待领取卡券的卡券信息,从商户卡券区块链上获取所述待领取卡券的已领取数据,所述商户卡券区块链用于存储各个商户所投放卡券的卡券信息,且所述商户卡券区块链中的区块根据商户区域或商户类型划分,其中,所述待领取卡券的已领取数据所属的区块基于所述待领取卡券的卡券信息确定得到;
第二生成模块,用于根据更新后所述待领取卡券的已领取数据,生成第一商户卡券区块;
第二添加模块,用于将所述第一商户卡券区块添加至所述商户卡券区块链中。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现如权利要求1至8任一项所述的卡券领取方法。
11.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行,以实现如权利要求1至8任一项所述的卡券领取方法。
CN201910966491.8A 2019-10-12 2019-10-12 卡券领取方法、装置、设备及存储介质 Active CN110737723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910966491.8A CN110737723B (zh) 2019-10-12 2019-10-12 卡券领取方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910966491.8A CN110737723B (zh) 2019-10-12 2019-10-12 卡券领取方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110737723A CN110737723A (zh) 2020-01-31
CN110737723B true CN110737723B (zh) 2021-10-22

Family

ID=69268726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910966491.8A Active CN110737723B (zh) 2019-10-12 2019-10-12 卡券领取方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110737723B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111539730A (zh) * 2020-05-29 2020-08-14 支付宝(杭州)信息技术有限公司 基于区块链的数据处理方法、装置和电子设备
CN111967880A (zh) * 2020-07-01 2020-11-20 厦门达辰美网络科技有限公司 产品核销方法、装置、移动终端及存储介质
CN111861578A (zh) * 2020-07-28 2020-10-30 上海仙豆智能机器人有限公司 卡券发放方法及装置、电子设备、存储介质
CN113222588B (zh) * 2021-06-03 2023-06-20 支付宝(杭州)信息技术有限公司 基于区块链的代金卡创建、更新及查询方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109727067A (zh) * 2018-12-27 2019-05-07 抚州中科院数据研究院 基于区块链的跨商家代金券流通方法及系统
CN109919687A (zh) * 2019-03-26 2019-06-21 阿里巴巴集团控股有限公司 基于区块链与实名认证的电子券发放、核销方法及系统
CN110119428A (zh) * 2019-04-19 2019-08-13 腾讯科技(深圳)有限公司 一种区块链信息管理方法、装置、设备及存储介质
CN110148017A (zh) * 2019-04-29 2019-08-20 阿里巴巴集团控股有限公司 基于区块链的权益发放方法及装置、电子设备、存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170364936A1 (en) * 2016-06-15 2017-12-21 CouponCo Ltd. Computer-implemented electronic coupon system and methods using a blockchain
CN110163641B (zh) * 2018-02-13 2021-08-06 北京嘀嘀无限科技发展有限公司 优惠券发放方法及系统
CN108596665A (zh) * 2018-04-24 2018-09-28 深圳市亿道数码技术有限公司 一种基于区块链的购物激励方法及系统
CN111008839B (zh) * 2018-08-01 2021-09-14 腾讯科技(深圳)有限公司 资源转移数据管理方法、装置及存储介质
CN109636606A (zh) * 2018-12-13 2019-04-16 应范物联网有限公司 积分交易平台的积分处理方法、装置和积分交易平台
CN110009350A (zh) * 2019-03-26 2019-07-12 阿里巴巴集团控股有限公司 一种基于区块链智能合约的操作记录核对方法及装置
CN110232604A (zh) * 2019-06-20 2019-09-13 北京艾摩瑞策科技有限公司 基于区块链的商场积分管理方法和装置
CN110135920A (zh) * 2019-06-21 2019-08-16 山东乐格信息科技有限公司 一种激励方法、装置和电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109727067A (zh) * 2018-12-27 2019-05-07 抚州中科院数据研究院 基于区块链的跨商家代金券流通方法及系统
CN109919687A (zh) * 2019-03-26 2019-06-21 阿里巴巴集团控股有限公司 基于区块链与实名认证的电子券发放、核销方法及系统
CN110119428A (zh) * 2019-04-19 2019-08-13 腾讯科技(深圳)有限公司 一种区块链信息管理方法、装置、设备及存储介质
CN110148017A (zh) * 2019-04-29 2019-08-20 阿里巴巴集团控股有限公司 基于区块链的权益发放方法及装置、电子设备、存储介质

Also Published As

Publication number Publication date
CN110737723A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
CN110737723B (zh) 卡券领取方法、装置、设备及存储介质
JP7436568B2 (ja) ブロックチェーンにより実現される方法及びシステム
CN111066020B (zh) 用于创建去中心化标识的系统和方法
US11477032B2 (en) System and method for decentralized-identifier creation
CN111373400B (zh) 用于实现用于去中心化标识的解析器服务的系统和方法
CN111095327B (zh) 用于验证可验证声明的系统和方法
CN111164935B (zh) 在基于区块链的私有交易中提供隐私和安全保护的系统和方法
CN109075964B (zh) 支持用于区块验证的多个单向函数的区块链
JP2020068388A (ja) コンテンツ契約システム、コンテンツ契約方法、権利者端末、譲受人端末、制御端末、コンテンツ蓄積サーバ、権利者プログラム、譲受人プログラム、制御プログラムおよびコンテンツ蓄積プログラム
CN107967416A (zh) 版权维权检测的方法、装置和系统
CN109003185B (zh) 一种智能合约的建立方法、装置、计算设备及存储介质
CN110489946B (zh) 基于区块链的版权认证方法、装置、设备和存储介质
CN111294379B (zh) 区块链网络服务平台及其权限托管方法、存储介质
KR102295231B1 (ko) 블록체인 네트워크에 기반하여 다중 서명을 통해 소장품 소유권을 분양하는 방법 및 이를 이용한 온라인 거래 서버
US20200058091A1 (en) Address management system
KR102295236B1 (ko) 블록체인 네트워크에 기반하여 소장품 소유권을 분양하는 방법 및 이를 이용한 온라인 거래 서버
US11503036B2 (en) Methods of electing leader nodes in a blockchain network using a role-based consensus protocol
JP6296630B1 (ja) 分散型台帳システムおよびプログラム
US11133936B1 (en) Methods and systems for introducing self-contained intent functionality into decentralized computer networks
CN113221191B (zh) 基于区块链的数据存证方法、装置、设备和存储介质
CN111416709A (zh) 基于区块链系统的投票方法、装置、设备及存储介质
CN114128216A (zh) 多输入交易
CN114531941A (zh) 多标准区块链协议
JP2023537698A (ja) ブロックチェーンネットワークとの接続
CN110599347A (zh) 票据处理方法、装置、计算机可读存储介质和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40020137

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant