兑奖结果的生成方法、装置、设备及可读存储介质与流程

文档序号:24877577发布日期:2021-04-30 12:54阅读:107来源:国知局
兑奖结果的生成方法、装置、设备及可读存储介质与流程

本申请实施例涉及区块链领域,特别涉及一种兑奖结果的生成方法、装置、设备及可读存储介质。



背景技术:

在线抽奖是一种由玩家获取兑奖码,并在抽奖时刻从所有已发出的兑奖码中抽取出一个或多个兑奖码作为中奖的中奖码的线上活动,其中,对中奖码的抽取过程为随机抽取过程。

相关技术中,在抽取中奖码的随机抽取过程中,通过随机抽取系统进行抽取,而该随机抽取系统是由开发人员通过设置随机算法生成的,该随机算法的实现方式对玩家是不可知的。

然而,通过上述方式实现随机抽取过程时,玩家对随机算法的实现方式不可知,故而玩家无法获知该抽取得到的中奖码是预先设置的还是随机抽取的,随机抽取过程的可信度较低。



技术实现要素:

本申请实施例提供了一种兑奖结果的生成方法、装置、设备及可读存储介质,可以解决随机抽取过程的可信度较低的问题。所述技术方案如下:

一方面,提供了一种兑奖结果的生成方法,应用于兑奖区块链系统中的任一节点,所述方法包括:

通过共识机制将接收到的兑奖智能合约存储至区块链中,所述兑奖智能合约中包括兑奖条件对应的区块哈希值,所述兑奖条件中包括至少一个中奖码;

通过所述共识机制将接收到的兑奖信息存储至所述区块链中,所述兑奖信息中包括至少一个目标兑奖码和持有所述目标兑奖码的目标帐号;

根据所述兑奖条件向目标帐号发送兑奖结果信息,所述兑奖结果信息中包括所述目标帐号所持有的所述目标兑奖码与所述中奖码的匹配情况;

将所述兑奖结果信息通过所述共识机制存储至所述区块链中。

另一方面,提供了一种兑奖结果的生成装置,应用于兑奖区块链系统中的任一节点,所述装置包括:

存储模块,用于通过共识机制将接收到的兑奖智能合约存储至区块链中,所述兑奖智能合约中包括兑奖条件对应的区块哈希值,所述兑奖条件中包括至少一个中奖码;

所述存储模块,还用于通过所述共识机制将接收到的兑奖信息存储至所述区块链中,所述兑奖信息中包括至少一个目标兑奖码和持有所述目标兑奖码的目标帐号;

发送模块,用于根据所述兑奖条件向目标帐号发送兑奖结果信息,所述兑奖结果信息中包括所述目标帐号所持有的所述目标兑奖码与所述中奖码的匹配情况;

所述存储模块,还用于将所述兑奖结果信息通过所述共识机制存储至所述区块链中。

另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请上述实施例中任一所述的兑奖结果的生成方法。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请上述实施例中任一所述的兑奖结果的生成方法。

另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请上述实施例中任一所述的兑奖结果的生成方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

通过将中奖码设置于兑奖智能合约中,并将兑奖智能合约存储至兑奖区块链系统中,当目标帐号获取到目标兑奖码时,在区块链系统中对该兑奖码与中奖码之间的匹配情况进行验证,从而确定该目标帐号是否的兑奖结果,由于区块链系统中的数据为不可逆数据,故通过该方式进行兑奖结果的生成,提高了兑奖结果的可信度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个示例性实施例提供的分布式系统应用于区块链系统的结构示意图;

图2是本申请一个示例性实施例提供的区块结构的示意图;

图3示出了本申请一个示例性实施例提供的区块链系统的结构示意图;

图4是本申请一个示例性实施例提供的兑奖结果的生成方法的流程图;

图5是本申请一个示例性实施例提供的兑奖结果的生成方法应用于游戏应用程序内的流程图;

图6是本申请一个示例性实施例提供的开奖合约界面示意图;

图7是本公开另一个示例性实施例提供的兑奖结果的生成方法的流程图;

图8是本公开另一个示例性实施例提供的兑奖结果的生成方法的流程图;

图9是本公开另一个示例性实施例提供的兑奖结果的生成方法的流程图;

图10是本申请一个示例性实施例提供的兑奖结果的生成装置的结构框图;

图11是本申请一个示例性实施例提供的兑奖结果的生成装置的结构框图;

图12是本申请一个示例性的实施例提供的服务器的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

首先,对本申请实施例中涉及的名词进行介绍:

区块链(blockchain):是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。

区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。

区块链可以分为私有链、联盟链和公有链;其中,联盟链也称共同体区块链(consortiumblockchains),是指其共识过程受到预选节点控制的区块链。在联盟链中,只针对链内的节点成员开放全部或部分功能,联盟链中的各个区块链节点可以基于需要定制读写权限、查询权限等。

共识机制(consensusmechanism):是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。在区块链系统中,通过特殊节点的投票,可以在很短的时间内完成对交易的验证和确认,对一笔交易,如果利益不相干的若干个节点能够达成共识,就可以认为系统中的全部节点对此也能够达成共识。

智能合约:是指根据特定条件自动执行的合约程序,是用户与区块链进行交互,利用区块链实现业务逻辑的重要途径。智能合约的基本思想是各种各样的合约条款可以嵌入到我们使用的硬件和软件中,从而使得攻击者需要很大的代价去攻击,智能合约通过多方用户共同参与定制利用对等型网络(peertopeer,p2p)扩散并存入区块链,区块链构建的智能合约在触发条件下自动执行。例如,各家机构可以通过服务器中部署的区块链上的智能合约接入该数据存储系统,来使用该数据存储系统提供的数据存储以及数据查询等功能。智能合约本质是一套以数字形式定义、传播、验证或执行的约定,包括合约参与方可以在智能合约中执行约定,智能合约还允许在没有第三方的情况下进行可信交易,并且该交易可追踪不可逆转。比如,本申请提供的兑奖结果的生成方法是按照兑奖智能合约执行的,按照兑奖智能合约确定玩家所持有的兑奖码是否与中奖码一致,当兑奖码与中奖码一致时则确定该玩家中奖。

本申请实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。

以分布式系统为区块链系统为例,参见图1,图1是本申请一个示例性实施例提供的分布式系统100应用于区块链系统的结构示意图,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(p2p)网络,p2p协议是一个运行在传输控制协议(tcp,transmissioncontrolprotocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。

参见图1示出的区块链系统中各节点的功能,涉及的功能包括:

1)路由,节点具有的基本功能,用于支持节点之间的通信。

节点除具有路由功能外,还可以具有以下功能:

2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。

例如,应用实现的业务包括:

2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易,即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;钱包还支持查询电子货币地址中剩余的电子货币。比如,将要增加的激励对象的信息发送至区块链系统中,区块链系统中其他节点对该起交易(即在区块链中增加激励对象的信息)进行验证,其他节点验证成功后,该起交易才能被存储至区块链中。

2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。

2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。比如,激励对象在满足特定的条件时,将触发智能合约按照合约的规定执行激励机制,如向激励对象发放相应的收益或分红等。

3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。本申请中的区块链是兑奖区块链,比如,兑奖过程中,每个抽奖对象的兑奖码数据记录在区块链中。

参见图2,图2是本申请一个示例性实施例提供的区块结构(blockstructure)的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

图3示出了本申请一个示例性实施例提供的区块链系统的结构示意图。该系统包括多个服务器101、多个存储设备102,其中,多个服务器101可以配置有同一条区块链,也即该多个服务器101可以组成区块链系统,各个服务器101分别为该区块链系统中的节点。可选地,区块链系统中的节点包括主记账节点和其他节点,区块链系统中的任一节点都可成为主记账节点。该多个服务器101可以是同一机构的多个服务器,还可以是属于不同机构的多个服务器,例如,该区块链系统内可以包括医院的各个科室的服务器;该区块链系统内可以包括公司的各个部门的服务器,当然,该区块链系统内还可以包括证券交易所的服务器、银行的服务器等等。各个机构的用户可以通过终端1011来访问机构的服务器,该多个终端设备1011可以为能够访问该多个服务器101的电子设备,该电子设备可以为电脑、智能手机、平板电脑或者其他电子设备。

当然,为了进行安全验证、权限管理等服务,区块链系统中配置有ca中心(certificateauthority,证书授权中心)103,用于存储各个机构的密钥,区块链系统中的各个服务器可以从ca中心中获取各个机构的密钥,如任一节点的公钥,以进行数据的加密和解密等过程。多个存储设备102用于为该多个服务器101提供存储服务,需要说明的是,该多个存储设备102可以组成分布式存储系统,用于采用分布式的形式来对提供存储数据。

结合上述说明,图4是本申请一个示例性实施例提供的兑奖结果的生成方法的流程图,以该方法应用于兑奖区块链系统中的任一节点中为例,如图4所示,该方法包括:

步骤401,通过共识机制将接收到的兑奖智能合约存储至区块链中,该兑奖智能合约中包括兑奖条件对应的区块哈希值,该兑奖条件中包括至少一个中奖码。

可选地,共识机制是指区块链中的所有节点对同一交易(或信息,或事件,或事务)均能达成共识,也即所有节点均认可该交易,则该交易将被存储至区块链中。

可选地,兑奖智能合约是指根据兑奖条件自动执行兑奖机制的合约程序,包括合约参与方在智能合约中执行约定的协议。可选地,该兑奖智能合约包括合约参与方的信息(如:发布该智能合约的发布方信息)、合约的协议(如:中奖条件)、合约的执行条件(如:兑奖条件)等内容中的至少一项。

可选地,抽奖功能为应用程序中提供的功能,该兑奖智能合约为该应用程序的开发端提供的智能合约。其中,该应用程序可以是游戏应用程序、社交应用程序、即时通讯应用程序、购物应用程序、金融管理应用程序、多媒体播放应用程序、阅读应用程序、效率管理应用程序等应用程序中的至少一种,本申请实施例对此不加以限定。

示意性的,以该抽奖功能为游戏应用程序中提供的功能为例进行说明,有该游戏应用程序的开发人员制定兑奖智能合约,并在智能合约中规定中奖码,以及与该中奖码对应的奖励方式,开发人员将该兑奖智能合约发送至兑奖区块链系统中,兑奖区块链系统中的任一节点接收到该兑奖智能合约后,向其他节点广播该兑奖智能合约,广播消息的内容为将该兑奖智能合约存储至区块链中,其他节点接收到广播消息后,验证该兑奖智能合约的真实性和合法性,当其他节点对该广播消息中的兑奖智能合约验证通过时,区块链系统将该兑奖智能合约存储至区块链中。其中,对该兑奖智能合约的验证方式是通过发起广播的节点使用节点对应的私钥进行电子签名,其他节点使用该节点对应的公钥对该电子签名进行验证。

可选地,当区块链系统中的任一节点接收到该兑奖智能合约时,生成与该兑奖智能合约对应的区块,该区块中包括该兑奖条件对应的区块哈希值。

可选地,该兑奖条件包括至少一个中奖码,该中奖码用于与参与抽奖的帐号所持有的兑奖码进行匹配。可选地,该兑奖条件中还包括兑奖期限,该兑奖期限用于对开奖时刻和/或兑奖最晚时刻进行限制。

步骤402,通过共识机制将接收到的兑奖信息存储至区块链中,该兑奖信息中包括至少一个目标兑奖码和持有该目标兑奖码的目标帐号。

可选地,该目标兑奖码为目标帐号在应用程序中的抽奖功能中抽取得到的兑奖码,示意性的,以该应用程序实现为游戏应用程序为例进行说明,则该目标兑奖码可以是目标帐号在游戏应用程序中完成游戏关卡后抽取得到的兑奖码,也可以是在游戏应用程序中的抽奖活动中抽取得到的兑奖码,还可以是在游戏应用程序中通过购买得到的兑奖码,本申请实施例对该兑奖码的获取方式不加以限定。

可选地,当目标帐号获取该目标兑奖码后,游戏服务器根据该目标帐号和目标兑奖码生成兑奖信息,可选地,该游戏服务器可以实现为兑奖区块链系统中的一个节点,也可以实现为一个独立的服务器。当该游戏服务器实现为兑奖区块链系统中的一个节点时,根据该目标帐号和目标兑奖码生成兑奖信息后,直接通过共识机制将接收到的兑奖信息存储至区块链中;当该游戏服务器实现为一个独立的服务器时,该游戏服务器接入兑奖区块链系统中,则该游戏服务器在生成兑奖信息后,将该兑奖信息发送至兑奖区块链系统中的任一节点。

可选地,兑奖区块链系统中的节点根据接收到的兑奖信息生成目标区块,该目标区块中包括目标兑奖码的第一哈希值,当兑奖区块链系统中对目标区块验证通过的节点数大于要求节点数时,将目标区块存储至区块链中。

可选地,接收到该兑奖信息的节点在接收到该兑奖信息后,根据该兑奖信息生成目标区块,并对该目标区块进行广播,其他节点接收到广播消息后,对该目标节点进行验证,验证该目标区块的真实性和合法性,当其他节点对该广播消息中的目标验证通过时,区块链系统将该目标区块存储至区块链中。其中,对该目标区块的验证方式是通过发起广播的节点使用节点对应的私钥进行电子签名,其他节点使用该节点对应的公钥对该电子签名进行验证。

可选地,在对该目标区块进行验证时,还需要确定该目标区块中的目标兑奖码未与其他帐号已获取的兑奖码重复,也即节点在获取该目标区块后,获取区块链中已存储的历史区块,该历史区块中包括在接收到该兑奖信息之前已存储的历史兑奖码对应的历史哈希值,当历史哈希值中不包含与第一哈希值重复的哈希值时,确定目标区块验证通过。

步骤403,根据兑奖条件向目标帐号发送兑奖结果信息,该兑奖结果信息中包括目标帐号所持有的目标兑奖码与中奖码的匹配情况。

可选地,该兑奖结果信息包括中奖信息和未中奖信息中的至少一种,当目标帐号所持有的目标兑奖码与中奖码匹配时,则向该目标帐号发送中奖信息,当该目标帐号所持有的目标兑奖码与中奖码不匹配时,则向该目标帐号发送未中奖信息。可选地,该目标帐号所持有的目标兑奖码中可能包括多个兑奖码,且存在部分兑奖码与中奖码匹配,而部分兑奖码与中奖码不匹配的情况,则针对与中奖码匹配的兑奖码向目标帐号发送中奖信息,可选地,还可以针对于中奖码不匹配的兑奖码向目标帐号发送未中奖信息。

可选地,该兑奖结果信息可以是在区块链系统获取到该兑奖信息后直接向该目标帐号反馈的,也可以是在区块链系统获取到所有帐号发送的兑奖信息后,在兑奖期限开始后向目标帐号反馈的,本实施例对此不加一下限定。

步骤404,将兑奖结果信息通过共识机制存储至区块链中。

可选地,通过共识机制将该兑奖结果信息存储至区块链中后,该兑奖结果信息即为不可逆转的信息,帐号能够对该兑奖结果信息进行查看。

综上所述,本实施例提供的兑奖结果的生成方法,通过将中奖码设置于兑奖智能合约中,并将兑奖智能合约存储至兑奖区块链系统中,当目标帐号获取到目标兑奖码时,在区块链系统中对该兑奖码与中奖码之间的匹配情况进行验证,从而确定该目标帐号是否的兑奖结果,由于区块链系统中的数据为不可逆数据,故通过该方式进行兑奖结果的生成,提高了兑奖结果的可信度。

示意性的,该兑奖结果的生成过程如图5所示,以该过程应用于游戏应用程序内为例进行说明,该过程包括:

步骤501,游戏内公布智能合约。

可选地,游戏开发人员在设置好智能合约后,将该智能合约发布至区块链系统中,并在游戏中公布该智能合约,该智能合约中包括兑奖条件。

步骤502,玩家获取兑奖券。

可选地,玩家在游戏应用程序中通过完成游戏节点、抽取、购买等方式获取兑奖券,该兑奖券上对应有兑奖码。

步骤503,游戏系统到达开奖时刻自动摇奖。

可选地,该智能合约中约定有开奖时刻,当游戏系统达到该开奖时刻时,将玩家获取的兑奖券上的兑奖码与中奖码进行匹配。

步骤504,玩家向游戏系统兑奖。

可选地,当玩家的兑奖券上的兑奖码与中奖码一致时,向该玩家兑奖。

示意性的,请参考图6,其示出了本申请一个示例性实施例提供的开奖合约界面示意图,如图6所示,在开奖合约界面600中包括合约展示区域610,该合约展示区域610中显示有开奖条件,其中包括开奖时间和开奖标的,如图6所示,开奖时间为6月18日12:00,开奖标的为区块链哈希值,可选地,该合约展示区域610中还包括目标帐号所持有的兑奖码,当系统时间达到该开奖时间,也即达到6月18日12:00时,向该目标帐号开奖,当该目标帐号所持有的兑奖码与开奖结果中的哈希值一致时,则该目标帐号中奖,如中奖界面620所示,当该目标帐号所持有的兑奖码与开奖结果中的哈希值不一致时,则该目标帐号未中奖,如未中奖界面630所示。

在一个可选的实施例中,上述兑奖结果是通过将目标兑奖码的第一哈希值与中奖码的第二哈希值进行匹配得到的,图7是本公开另一个示例性实施例提供的兑奖结果的生成方法的流程图,以该方法应用于兑奖区块链系统中的任一节点中为例,如图7所示,该方法包括:

步骤701,通过共识机制将接收到的兑奖智能合约存储至区块链中,该兑奖智能合约中包括兑奖条件对应的区块哈希值,该兑奖条件中包括至少一个中奖码。

可选地,共识机制是指区块链中的所有节点对同一交易(或信息,或事件,或事务)均能达成共识,也即所有节点均认可该交易,则该交易将被存储至区块链中。

可选地,当区块链系统中的任一节点接收到该兑奖智能合约时,生成与该兑奖智能合约对应的区块,该区块中包括该兑奖条件对应的区块哈希值。

可选地,该兑奖条件包括至少一个中奖码,该中奖码用于与参与抽奖的帐号所持有的兑奖码进行匹配。可选地,该兑奖条件中还包括兑奖期限,该兑奖期限用于对开奖时刻和/或兑奖最晚时刻进行限制。

步骤702,根据接收到的兑奖信息生成目标区块,该目标区块中包括目标兑奖码的第一哈希值。

可选地,根据该兑奖信息生成目标区块时,根据该兑奖信息通过散列函数生成哈希值,并将该哈希值存储至区块中,其中,该兑奖信息对应的哈希值中包括目标兑奖码对应的第一哈希值,以及目标帐号对应的哈希值。可选地,散列函数是一种从数据中创建数字指纹的方法,该散列函数把数据压缩成摘要,使得数据量变小,将数据的格式固定下来。可选地,该散列函数将数据打乱混合,重新创建一个叫做散列值的指纹,散列值通常用一个短的随机字母和数字组成的字符串来代表。

可选地,该目标兑奖码的第一哈希值用于与中奖码对应的第二哈希值进行匹配。

步骤703,当兑奖区块链系统中对目标区块验证通过的节点数大于要求节点数时,将目标区块存储至区块链中。

可选地,接收到该兑奖信息的节点在接收到该兑奖信息后,根据该兑奖信息生成目标区块,并对该目标区块进行广播,其他节点接收到广播消息后,对该目标节点进行验证,验证该目标区块的真实性和合法性,当其他节点对该广播消息中的目标验证通过时,区块链系统将该目标区块存储至区块链中。其中,对该目标区块的验证方式是通过发起广播的节点使用节点对应的私钥进行电子签名,其他节点使用该节点对应的公钥对该电子签名进行验证。

步骤704,接收目标帐号发送的兑奖请求,该兑奖请求对应有请求时刻。

可选地,该请求时刻可以是目标帐号发送兑奖请求时,该兑奖请求中携带的,也可以是节点接收到该兑奖请求时,根据系统时刻获取的。

可选地,该兑奖条件中还包括兑奖期限,该兑奖期限用于对开奖时刻和/或兑奖最晚时刻进行限制。可选地,该目标区块中还包括该兑奖期限对应的哈希值,通过该哈希值确认该兑奖期限,并根据该兑奖期限对请求时刻进行验证。

步骤705,当请求时刻在兑奖期限之内时,将区块哈希值中与中奖码对应的第二哈希值与目标兑奖码的第一哈希值进行匹配。

可选地,当请求时刻在兑奖期限之内时,根据中奖码与目标兑奖码的匹配情况向目标帐号发送兑奖结果信息,可选地,该兑奖结果信息包括中奖信息和未中奖信息中的至少一种,当中奖码与目标兑奖码匹配时,向该目标帐号发送中奖信息,当中奖码与目标兑奖码不匹配时,向该目标帐号发送未中奖信息。

步骤706,当第一哈希值与第二哈希值一致时,向目标帐号发送中奖信息。

可选地,当第一哈希值与第二哈希值一致时,也即中奖码与目标兑奖码匹配;当第一哈希值与第二哈希值不一致时,也即中奖码与目标兑奖码不匹配。

步骤707,当第一哈希值与第二哈希值不一致时,向目标帐号发送未中奖信息。

值得注意的是,上述步骤706和步骤707为并列的两个步骤,可以仅执行步骤706,可以仅执行步骤707,也可以同时执行步骤706和步骤707,如:目标帐号对应持有多个兑奖码,其中,存在部分兑奖码与中奖码匹配,其他兑奖码与中奖码不匹配。

步骤708,将兑奖结果信息通过共识机制存储至区块链中。

可选地,通过共识机制将该兑奖结果信息存储至区块链中后,该兑奖结果信息即为不可逆转的信息,帐号能够对该兑奖结果信息进行查看。

综上所述,本实施例提供的兑奖结果的生成方法,通过将中奖码设置于兑奖智能合约中,并将兑奖智能合约存储至兑奖区块链系统中,当目标帐号获取到目标兑奖码时,在区块链系统中对该兑奖码与中奖码之间的匹配情况进行验证,从而确定该目标帐号是否的兑奖结果,由于区块链系统中的数据为不可逆数据,故通过该方式进行兑奖结果的生成,提高了兑奖结果的可信度。

本实施例提供的方法,通过在兑奖智能合约中设置兑奖条件,并在兑奖条件中设置兑奖期限,从而在该兑奖期限内对该目标帐号的兑奖信息进行开奖,避免在没有兑奖期限时,兑奖过程长期有效而占用节点资源的问题。

在一个可选的实施例中,上述兑奖智能合约是通过合约地址查询得到的,图8是本申请另一个示例性实施例提供的兑奖结果的生成方法的流程图,以该方法应用于兑奖区块链系统中的任一节点中为例,如图8所示,该方法包括:

步骤801,通过共识机制将接收到的兑奖智能合约存储至区块链中,该兑奖智能合约中包括兑奖条件对应的区块哈希值,该兑奖条件中包括至少一个中奖码。

可选地,共识机制是指区块链中的所有节点对同一交易(或信息,或事件,或事务)均能达成共识,也即所有节点均认可该交易,则该交易将被存储至区块链中。

可选地,当区块链系统中的任一节点接收到该兑奖智能合约时,生成与该兑奖智能合约对应的区块,该区块中包括该兑奖条件对应的区块哈希值。

可选地,该兑奖条件包括至少一个中奖码,该中奖码用于与参与抽奖的帐号所持有的兑奖码进行匹配。可选地,该兑奖条件中还包括兑奖期限,该兑奖期限用于对开奖时刻和/或兑奖最晚时刻进行限制。

步骤802,向抽奖帐号发送兑奖智能合约的添加成功信息,该添加成功信息中携带有兑奖智能合约在区块链中的合约地址。

可选地,该抽奖帐号为拥有抽奖权限的帐号,该抽奖帐号中包括目标帐号。

可选地,将该兑奖智能合约对应的区块添加至区块链中后,生成添加成功信息,并将该兑奖智能合约在区块链中的存储地址作为合约地址发送至抽奖帐号,故该抽奖帐号在兑奖时可以通过该合约地址从区块链中对该兑奖智能合约进行查询。

步骤803,通过共识机制将接收到的兑奖信息存储至区块链中,该兑奖信息中包括至少一个目标兑奖码和持有该目标兑奖码的目标帐号。

可选地,兑奖区块链系统中的节点根据接收到的兑奖信息生成目标区块,该目标区块中包括目标兑奖码的第一哈希值,当兑奖区块链系统中对目标区块验证通过的节点数大于要求节点数时,将目标区块存储至区块链中。

可选地,接收到该兑奖信息的节点在接收到该兑奖信息后,根据该兑奖信息生成目标区块,并对该目标区块进行广播,其他节点接收到广播消息后,对该目标节点进行验证,验证该目标区块的真实性和合法性,当其他节点对该广播消息中的目标验证通过时,区块链系统将该目标区块存储至区块链中。其中,对该目标区块的验证方式是通过发起广播的节点使用节点对应的私钥进行电子签名,其他节点使用该节点对应的公钥对该电子签名进行验证。

步骤804,接收目标帐号发送的兑奖请求,该兑奖请求中包括合约地址。

可选地,目标帐号在请求通过目标兑奖码进行兑奖时,首先从添加成功信息中获取合约地址,并根据该合约地址生成兑奖请求,将该合约地址添加至该兑奖请求中,该合约地址用于对兑奖智能合约进行查询,从而获取该兑奖智能合约中的对讲条件。

步骤805,根据合约地址从区块链中对兑奖智能合约进行查询,得到兑奖条件。

步骤806,根据兑奖条件向目标帐号发送兑奖结果信息,该兑奖结果信息中包括目标帐号所持有的目标兑奖码与中奖码的匹配情况。

可选地,该兑奖结果信息包括中奖信息和未中奖信息中的至少一种,当目标帐号所持有的目标兑奖码与中奖码匹配时,则向该目标帐号发送中奖信息,当该目标帐号所持有的目标兑奖码与中奖码不匹配时,则向该目标帐号发送未中奖信息。可选地,该目标帐号所持有的目标兑奖码中可能包括多个兑奖码,且存在部分兑奖码与中奖码匹配,而部分兑奖码与中奖码不匹配的情况,则针对与中奖码匹配的兑奖码向目标帐号发送中奖信息,可选地,还可以针对于中奖码不匹配的兑奖码向目标帐号发送未中奖信息。

可选地,该兑奖结果信息可以是在区块链系统获取到该兑奖信息后直接向该目标帐号反馈的,也可以是在区块链系统获取到所有帐号发送的兑奖信息后,在兑奖期限开始后向目标帐号反馈的,本实施例对此不加一下限定。

步骤807,将兑奖结果信息通过共识机制存储至区块链中。

可选地,通过共识机制将该兑奖结果信息存储至区块链中后,该兑奖结果信息即为不可逆转的信息,帐号能够对该兑奖结果信息进行查看。

综上所述,本实施例提供的兑奖结果的生成方法,通过将中奖码设置于兑奖智能合约中,并将兑奖智能合约存储至兑奖区块链系统中,当目标帐号获取到目标兑奖码时,在区块链系统中对该兑奖码与中奖码之间的匹配情况进行验证,从而确定该目标帐号是否的兑奖结果,由于区块链系统中的数据为不可逆数据,故通过该方式进行兑奖结果的生成,提高了兑奖结果的可信度。

本实施例提供的方法,通过向抽奖帐号发送添加成功消息,该添加成功信息中包括兑奖智能合约在区块链中的合约地址,从而该抽奖帐号在兑奖过程中,通过该合约地址对兑奖智能合约进行查询,并获取兑奖条件,提高了兑奖效率。

图9是本申请另一个示例性实施例提供的兑奖结果的生成方法的流程图,以该方法应用于游戏应用程序中为例进行说明,如图9所示,该方法包括:

步骤901,游戏内公布智能合约。

可选地,游戏开发人员在设置好智能合约后,将该智能合约发布至区块链系统中,并在游戏中公布该智能合约,该智能合约中包括兑奖条件。

步骤902,玩家获取兑奖券。

可选地,玩家在游戏应用程序中通过完成游戏节点、抽取、购买等方式获取兑奖券,该兑奖券上对应有兑奖码。

步骤903,玩家信息与兑奖券信息记录在区块链上。

可选地,该玩家的信息与该玩家所获取的兑奖券的信息记录在区块链上,则当开奖时,直接从区块链中获取玩家信息、玩家所持有的兑奖券,并将兑奖券与开奖码进行匹配,从而确定该玩家是否获奖。

步骤904,到达开奖时刻时,以智能合约区块的哈希值作为获奖数字。

步骤905,玩家通过合约地址对获奖情况进行查询。

可选地,当玩家对获奖情况进行查询时,根据合约地址对智能合约进行查询,并通过智能合约区块的哈希值与所持有的兑奖码进行匹配。

步骤906,玩家向系统兑奖。

综上所述,本实施例提供的兑奖结果的生成方法,通过将中奖码设置于兑奖智能合约中,并将兑奖智能合约存储至兑奖区块链系统中,当目标帐号获取到目标兑奖码时,在区块链系统中对该兑奖码与中奖码之间的匹配情况进行验证,从而确定该目标帐号是否的兑奖结果,由于区块链系统中的数据为不可逆数据,故通过该方式进行兑奖结果的生成,提高了兑奖结果的可信度。

图10是本申请一个示例性实施例提供的兑奖结果的生成装置的结构框图,以该装置应用于兑奖区块链系统中的任一节点中为例进行说明,如图10所示,该装置包括:存储模块1010和发送模块1020;

存储模块1010,用于通过共识机制将接收到的兑奖智能合约存储至区块链中,所述兑奖智能合约中包括兑奖条件对应的区块哈希值,所述兑奖条件中包括至少一个中奖码;

所述存储模块1010,还用于通过所述共识机制将接收到的兑奖信息存储至所述区块链中,所述兑奖信息中包括至少一个目标兑奖码和持有所述目标兑奖码的目标帐号;

发送模块1020,用于根据所述兑奖条件向目标帐号发送兑奖结果信息,所述兑奖结果信息中包括所述目标帐号所持有的所述目标兑奖码与所述中奖码的匹配情况;

所述存储模块1010,还用于将所述兑奖结果信息通过所述共识机制存储至所述区块链中。

在一个可选的实施例中,所述存储模块1010,还用于根据接收到的所述兑奖信息生成目标区块,所述目标区块中包括所述目标兑奖码的第一哈希值;当所述兑奖区块链系统中对所述目标区块验证通过的节点数大于要求节点数时,将所述目标区块存储至所述区块链中。

在一个可选的实施例中,如图11所示,所述装置还包括:

获取模块1030,用于获取所述区块链中已存储的历史区块,所述历史区块中包括在接收到所述兑奖信息之前已存储的历史兑奖码对应的历史哈希值;

确定模块1040,用于当所述历史哈希值中不包含与所述第一哈希值重复的哈希值时,确定所述目标区块验证通过。

在一个可选的实施例中,所述装置还包括:

匹配模块1050,用于将所述区块哈希值中与所述中奖码对应的第二哈希值与所述目标兑奖码的所述第一哈希值进行匹配;

所述发送模块1020,还用于当所述第一哈希值与所述第二哈希值一致时,向所述目标帐号发送中奖信息;

所述发送模块1020,还用于当所述第一哈希值与所述第二哈希值不一致时,向所述目标帐号发送未中奖信息。

在一个可选的实施例中,所述兑奖条件中还包括兑奖期限;

所述装置还包括:

接收模块1060,用于接收所述目标帐号发送的兑奖请求,所述兑奖请求对应有请求时刻;

所述发送模块1020,还用于当所述请求时刻在所述兑奖期限之内时,根据所述中奖码与所述目标兑奖码的匹配情况向所述目标帐号发送所述兑奖结果信息。

在一个可选的实施例中,所述发送模块1020,还用于向抽奖帐号发送所述兑奖智能合约的添加成功信息,所述添加成功信息中携带有所述兑奖智能合约在所述区块链中的合约地址,其中,所述抽奖帐号为拥有抽奖权限的帐号,所述抽奖帐号中包括所述目标帐号。

在一个可选的实施例中,所述装置还包括:

接收模块1060,用于接收到所述目标帐号发送的兑奖请求,所述兑奖请求中包括所述合约地址;根据所述合约地址从所述区块链中对所述兑奖智能合约进行查询,得到所述兑奖条件。

综上所述,本实施例提供的兑奖结果的生成装置,通过将中奖码设置于兑奖智能合约中,并将兑奖智能合约存储至兑奖区块链系统中,当目标帐号获取到目标兑奖码时,在区块链系统中对该兑奖码与中奖码之间的匹配情况进行验证,从而确定该目标帐号是否的兑奖结果,由于区块链系统中的数据为不可逆数据,故通过该方式进行兑奖结果的生成,提高了兑奖结果的可信度。

需要说明的是:上述实施例提供的兑奖结果的生成装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的兑奖结果的生成装置与兑奖结果的生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图12示出了本申请一个示例性实施例提供的服务器的结构示意图。该服务器可以是图3示出的服务器。具体来讲:

服务器1200包括中央处理单元(cpu,centralprocessingunit)1201、包括随机存取存储器(ram,randomaccessmemory)1202和只读存储器(rom,readonlymemory)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统,inputoutputsystem)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。

基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。

大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,大容量存储设备1207可以包括诸如硬盘或者紧凑型光盘只读存储器(cd-rom,compactdiscreadonlymemory)驱动器之类的计算机可读介质(未示出)。

不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、可擦除可编程只读存储器(eprom,erasableprogrammablereadonlymemory)、带电可擦可编程只读存储器(eeprom,electricallyerasableprogrammablereadonlymemory)、闪存或其他固态存储其技术,cd-rom、数字通用光盘(dvd,digitalversatiledisc)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。

根据本申请的各种实施例,服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。

上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由cpu执行。

本申请的实施例还提供了一种计算机设备,该计算手机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的兑奖结果的生成方法。

本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行,以实现上述各方法实施例提供的兑奖结果的生成方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1