预测竞猜游戏部署方法和游戏方法、设备及存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种预测竞猜游戏部署方法、游戏方法和系统、设备及存储介质。
背景技术
当前的区块链游戏如足球、篮球的胜负、或者比赛的预测等,有两种类型,一类与传统的在线游戏较为相似,仍配置有中心化的游戏服务器,区块链在该类游戏方案中仅用于记录和证明游戏道具的归属权等关键信息;另一类则不再配置中心化的游戏服务器,而是将去中心化的区块链网络作为游戏服务器。
前一类中心化的游戏方案的缺陷在于,本质上仍是传统的在线游戏方案,无法避免和摆脱中心化服务器的控制方对游戏进行不良控制,如预测赢之后无法提取奖金等,这些中心化的平台也无法提供游戏的公平公正。
对于后一类去中心化的游戏方案,当前还较为不成熟,只有少数公司在进行一些尝试,现有利用区块链技术的游戏方案,采用智能合约可以提高游戏公平公正性,但是这类方案在扩展性方面比较差,主要是因为目前区块链受制于性能等因素,无法承载较多人进行的游戏,进而制约游戏在区块链上面的发展速度,当前缺乏一种可以通过简单便捷的部署和应用即可实现轻量级的区块链游戏的方案,导致无法吸引更多用户参与到去中心化的区块链游戏中;
进一步地,现有的去中心化的区块链游戏还具有自由度较低的缺陷,在规则本身较为简单的情况下,较低的自由度导致游戏的趣味性较差,仍然依赖于游戏开发方运营的固定游戏,如一般预测竞猜类游戏需要有固定赛事,难以吸引和留住用户。
发明内容
1.发明要解决的技术问题
为了克服上述技术问题,本发明提供了一种预测竞猜游戏部署方法和游戏方法、设备及存储介质。它可以确保游戏的公平公正性,提高游戏的扩展性,不受区块链性能限制可以承载更多人进行游戏,进一步地,还可以实现轻量级的区块链游戏的方案,不受固定赛事的限制,可以自主开发预测竞猜游戏,具有较高的自由度。
2.技术方案
为解决上述问题,本发明提供的技术方案为:
第一,本发明提供了一种预测竞猜游戏部署方法,该方法适用于第一平行链的节点,所述方法包括:
接收游戏终端发来的第一游戏的第一游戏合约,在第一平行链上部署第一游戏的第一游戏合约,以供若干第一游戏终端获取并调用所述第一游戏合约的游戏开局接口以在所述第一平行链上分别创建第一游戏;以供若干第二游戏终端获取并调用所述第一游戏合约的游戏参与接口以在所述第一平行链上分别参与所述第一游戏;
发送第一游戏的第一游戏合约到对应的主链节点,以供第一平行链的各节点分别从对应的主链节点获取并执行第一游戏的第一游戏合约、所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的commit标识;其中,所述第一区块信息包括所述第一游戏的第一游戏合约的执行结果。
优选地,所述第一游戏合约还配置有游戏结束接口,所述游戏结束接口用于供所述第一游戏终端获取并调用以生成游戏结束交易,所述游戏结束交易配置有以下至少一项:游戏结束触发规则,游戏结果判定规则,奖励发放规则。
优选地,所述第一游戏合约还配置有若干规则模板,所述规则模板用于供所述第一游戏终端获取并调用以快速配置以下至少一项:所述游戏结束触发规则,所述游戏结果判定规则,所述奖励发放规则。
优选地,所述方法还包括:
在所述第一平行链上部署所述第一游戏的规则配置审查合约;
其中,所述规则配置审查合约用于审查以下至少一项:所述游戏结束触发规则,所述游戏结果判定规则,所述奖励发放规则,生成审查结果信息并发送到对应的主链节点,以供第一平行链的各节点分别从对应的主链节点获取并执行审查结果信息、所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的commit标识;以供所述第二游戏终端获取以供参考;其中,所述第一区块信息包括所述审查结果信息。
优选地,所述方法还包括:
发送第一游戏创建交易、第一游戏参与交易、游戏结束交易和规则配置审查合约到对应的主链节点,以供第一平行链的各节点分别从对应的主链节点获取并执行第一游戏创建交易、第一游戏参与交易、游戏结束交易和规则配置审查合约,所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的commit标识;其中,所述第一区块信息包括所述第一游戏创建交易、第一游戏参与交易、游戏结束交易和规则配置审查合约;其中,第一游戏创建交易由若干第一游戏终端获取并调用游戏开局接口分别创建第一游戏时生成;第一游戏参与交易由若干第二游戏终端获取并调用所述游戏参与接口分别参与所述第一游戏时生成。
第二,本发明提供了一种预测竞猜游戏部署方法,所述方法包括:
接收第一游戏的第一游戏合约,其中,第一游戏的第一游戏合约由游戏终端创建,由第一平行链的节点在第一平行链上部署,以供第一平行链的各节点分别从对应的主链节点获取并执行第一游戏的第一游戏合约、所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的commit标识;其中,所述第一区块信息包括所述第一游戏的第一游戏合约的执行结果;
接收、记录和共识所述第一区块及其信息;
其中,第一游戏的第一游戏合约配置有游戏开局接口,以供若干第一游戏终端获取并调用游戏开局接口分别创建第一游戏;
第一游戏的第一游戏合约还配置有游戏参与接口,以供若干第二游戏终端获取并调用所述游戏参与接口分别参与所述第一游戏。
优选地,所述第一游戏合约配置有若干规则模板,所述规则模板用于供所述第一游戏终端获取并调用以快速配置以下至少一项:所述游戏结束触发规则,所述游戏结果判定规则,所述奖励发放规则。
优选地,所述第一游戏合约配置有游戏结束接口,所述游戏结束接口用于供所述第一游戏终端获取并调用以生成游戏结束交易,所述游戏结束交易配置有以下至少一项:游戏结束触发规则,游戏结果判定规则,奖励发放规则。
优选地,所述方法还包括:
接收审查结果信息,以供第一平行链的各节点分别从对应的主链节点获取第一游戏的审查结果信息、所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上,,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的 commit标识;以供所述第二游戏终端获取用以参考;其中,所述第一区块信息包括所述第一游戏的审查结果信息;
其中,所述审查结果信息由规则配置审查合约用于审查以下至少一项:所述游戏结束触发规则,所述游戏结果判定规则,所述奖励发放规则而生成,并发送到主链节点;所述规则配置审查合约由游戏终端创建,由第一平行链的节点在第一平行链上部署。
优选地,所述方法还包括:
接收第一游戏创建交易、第一游戏参与交易、游戏结束交易和规则配置审查合约到对应的主链节点,以供第一平行链的各节点分别从对应的主链节点获取并执行第一游戏创建交易、第一游戏参与交易、游戏结束交易和规则配置审查合约,所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的commit标识;其中,所述第一区块信息包括所述第一游戏创建交易、第一游戏参与交易、游戏结束交易和规则审查合约;其中,第一游戏创建交易由若干第一游戏终端获取并调用游戏开局接口分别创建第一游戏时生成,并发送到第一平行链的节点;第一游戏参与交易由若干第二游戏终端获取并调用所述游戏参与接口分别参与所述第一游戏时生成,并发送到第一平行链的节点。
一种预测竞猜游戏方法,包括:
接收游戏开局交易以在第一平行链上创建第一游戏,其中,所述游戏开局交易由第一游戏终端获取并调用部署在第一平行链上的第一游戏合约的游戏开局接口生成并发送至所述第一平行链的节点;
接收若干游戏参与交易以确定所述第一游戏的参与方;其中,所述游戏参与交易由第二游戏终端通过所述第一平行链获取所述第一游戏的信息后获取并调用所述第一游戏合约的游戏参与接口生成并发送至所述第一平行链的节点;
根据预配置的若干规则生成游戏结果,发送第一游戏的游戏开局交易、若干游戏参与交易和游戏结果到对应的主链节点,以供第一平行链的各节点分别从对应的主链节点获取并执行第一游戏的游戏开局交易、若干游戏参与交易和游戏结果,所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的commit标识;其中,所述第一区块信息包括所述第一游戏的游戏开局交易、若干游戏参与交易和游戏结果。
优选地,所述根据预配置的若干规则生成游戏结果,发送第一游戏的游戏结果到对应的主链节点包括:
通过运行所述第一游戏的虚拟机监测所述第一平行链的区块高度或时间,并判断所述区块高度或所述时间是否触发预配置的游戏结束触发规则:
是,则根据预配置的游戏结果判定规则生成游戏结果,并发送第一游戏的游戏结果到对应的主链节点。
优选地,所述接收游戏开局交易以在第一平行链上创建第一游戏还包括:
接收游戏结束交易;其中,所述游戏结束交易配置有所述第一游戏的以下至少一项:游戏结束触发规则,游戏结果判定规则,奖励发放规则;所述游戏结束交易由所述第一游戏终端获取并调用所述第一游戏合约的游戏结束接口生成;
所述根据预配置的若干规则生成游戏结果,发送第一游戏的游戏结果到对应的主链节点上包括:
通过运行所述第一游戏的虚拟机执行所述游戏结束交易生成游戏结果并发送第一游戏的游戏结果到对应的主链节点。
优选地,所述第一游戏合约还配置有若干规则模板,所述游戏结束交易通过所述规则模板快速配置以下至少一项:所述游戏结束触发规则,所述游戏结果判定规则,所述奖励发放规则。
优选地,所述方法还包括:
调用所述第一游戏的规则配置审查合约对以下至少一项进行审查:所述游戏结束触发规则,所述游戏结果判定规则,所述奖励发放规则,生成审查结果信息并发送至对应的主链节点记录和共识,以供第一平行链的各节点分别从对应的主链节点获取第一游戏的审查结果信息以供所述第二游戏终端获取用以参考。
第四、本发明提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如第一至第三中任一项所述的方法。
第五、本发明提供了一种存储有计算机程序的存储介质,该程序被处理器执行时实现如第一至第三中任一项所述的方法。
3.有益效果
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
(1)本发明可以确保游戏的公平公正性,提高竞猜游戏的扩展性,不受区块链性能限制可以承载更多人进行游戏,进一步地,还可以实现轻量级的区块链游戏的方案,具有较高的自由度;
(2)本发明利用区块链的去中心化、以及智能合约可以公平公正进行预测竞猜,而且还可以将该方案可以让用户发起预测竞猜,用于任何可预测竞猜的方面,可以大大拓宽预测竞猜的广度,将预测竞猜类方案拓展的各个方面;
(3)本发明可以让所有参与方发起预测,预测类方案可以直接在区块链上利用智能合约(第一游戏合约)自动执行预测结果无需第三方监管,可以为用户提供安全保障;
(4)本发明游戏开局交易、游戏参与交易、规则配置审查合约和游戏结果均在平行链上进行,并记录在主链上以供主链共识,从而确保游戏的去中心化、公平公正;
(5)本发明可以提高预测竞猜类游戏的公平性,利用区块链智能合约进行自动执行结果分配;该方案可以让用户自己发起预测竞猜,提高用户参与度,而且全程无中心化参与,智能合约根据竞猜结果自动分配奖励;
(6)本发明中游戏终端对应玩家,每个第一平行链的节点又与多个游戏终端对应,游戏终端可以创建第一游戏的第一游戏合约,极大的提高了区块链游戏的灵活性和自由度,发挥玩家的自主能动性,使得玩家的选择多样化,提高了用户体验,有助于吸引客户,推动区块链游戏的发展,也有助于推动基于平行链和主链共识的区块链模式的经营发展;
(7)本发明游戏终端创建第一游戏的第一游戏合约,并发送给第一平行链的节点,第一平行链的验证节点或非验证节点在第一平行链上部署第一游戏的第一游戏合约,依据第一游戏的第一游戏合约创建第一游戏,游戏的部署工作完全由平行链承担,降低了主链的工作量,实现轻量级的区块链游戏的部署方案,提高游戏的自由度,扩展游戏经营模式;
(8)本发明利用了平行链的优点,平行链的特点是扩展性高、效率高、安全性强,平行链可在主链的架构上去开发自己的功能,但又无需自己去维护安全性,它和主链保持既独立又连结的关系,具有良好的扩展性,即可以根据不同的预测竞猜游戏场景搭建不同的平行链;而平行链只需要处理跟自己预测竞猜游戏相关的交易即可不需要同步所有的交易,而平行链的数据在主链保存,方便任何人进行验证,这样既提高了安全性又提高了效率。
附图说明
图1为本发明的平行链场景示意图;
图2为本发明一实施例提供的适用于平行链节点的预测竞猜游戏部署方法的流程图之一;
图3为本发明一实施例提供的适用于平行链节点相应的主链节点的预测竞猜游戏部署方法的流程图之一;
图4为本发明一实施例提供的预测竞猜游戏方法的流程图之一;
图5为本发明一实施例提供的适用于平行链节点的预测竞猜游戏部署方法的流程图之二;
图6为本发明一实施例提供的适用于平行链节点相应的主链节点的预测竞猜游戏部署方法的流程图之二;
图7为本发明一实施例提供的预测竞猜游戏方法的流程图之二;
图8为本发明的第一游戏合约的示意图;
图9为本发明一实施例提供的一种设备的结构示意图;
图10为本发明一实施例中平行链共识场景的示意图;
图11为本发明一实施例中适用于平行链节点的预测竞猜游戏在平行链共识方法中的应用流程示意图;
图12为本发明一实施例中适用于平行链节点对应主链节点的预测竞猜游戏在平行链共识方法中的应用流程示意图。
具体实施方式
为进一步了解本发明的内容,结合附图及实施例对本发明作详细描述。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
本发明中所述的第一、第二等词语,是为了描述本发明的技术方案方便而设置,并没有特定的限定作用,均为泛指,对本发明的技术方案不构成限定作用。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
在本发明中,一条主链可以配置一条或多条平行链。一条平行链上的节点包括两种,验证和非验证节点,分别对应于不同的主链节点,并可以与对应的主链节点进行通信,平行链的各节点之间相互不能进行通信;主链上的各节点之间是相互通信的。
一条平行链上的验证节点,可以用于接收若干游戏终端发来的交易、合约,并执行对应的交易、合约,还可以用于创建交易、部署合约和打包区块信息,并可以向对应的主链节点发送、获取和执行对应的交易、合约和区块信息。
一条平行链上的非验证节点,可以用于接收若干游戏终端发来的交易、合约,并执行对应的交易、合约,还可以用于创建交易和部署合约,并可以向对应的主链节点发送、获取和执行对应的交易、合约和包区块信息,但不能打包区块信息。
一条平行链上的验证或非验证节点,分别对应多个游戏终端,每个游戏玩家对应一个游戏终端。
平行链的共识机制借助于主链的共识:共识机制可以采用现有的POW:平行链中配置有若干个验证节点(通常为3f+1个,f为正整数),各验证节点分别打包待共识区块的区块信息并发送至对应的主链节点,主链节点将各区块信息记录至主链上,并验证各区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该平行链区块被主链通过POW、POS或DPOS等方式共识,并为该平行链区块配置用于认证的commit标识。
还可以采用以下共识机制:平行链中配置有若干个验证节点(通常为3f+1 个,f为正整数),各验证节点分别打包待共识区块的区块信息并发送至对应的主链节点,主链节点将各区块信息记录至主链上,并验证各区块信息中是否有不少于第一阈值数量的区块信息相同:是,则该平行链区块通过共识,并为该平行链区块配置用于认证的commit标识。
以下将结合附图具体阐述本发明提供的方案。
图10为本发明一实施例中平行链共识场景的示意图。如图10所示,在本实施例中,平行链A上有平行链节点A1,主链B上有主链节点B1,平行链节点 A1与主链节点B1配合,提供了一种平行链A的共识方法。如图11,本发明提供的一种预测竞猜游戏部署方法在平行链共识方法中的应用,适用于平行链上的节点,以下结合图11进行具体说明。
第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的commit标识,第一平行链的各节点从对应的主链节点获取并执行通过共识的第一区块。
如图12,本发明提供的一种预测竞猜游戏部署方法在平行链共识方法中的应用,适用于平行链上的节点对应的主链节点,以下结合图11进行具体说明。
接收第一平行链的各验证节点发送的第一区块信息,将第一区块信息记录到主链上,并验证第一区块信息中是否有不少于第一阈值数量的区块信息相同,是,则该第一区块被主链共识,并为第一平行链的第一区块配置用于认证的 commit标识,各主链节点将通过共识的第一区块写入对应的第一平行链的节点上,以供第一平行链的各节点获取并执行通过共识的第一区块。
其中,所述第一区块信息包括所述第一游戏的第一游戏合约及其执行结果、第一游戏创建交易、第一游戏参与交易、游戏结束交易、规则配置审查合约、审查结果信息。
具体地,以图10所示的应用场景为例,假设第一平行链的待共识的第一区块为第一平行链上区块高度为H的区块,第一区块的若干信息为第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息,共识结果为第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识。
如图11所示,平行链节点A1打包第一平行链A的待共识的第一区块的若干信息以生成第一区块信息,由于第一平行链A的待共识的第一区块为第一平行链上区块高度为H的区块,第一区块的若干信息为第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息,因此,平行链节点A1打包第一平行链A的区块高度为H的区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息以生成第一区块信息。
平行链节点A1将第一区块信息发送至对应的主链节点B1,以供主链节点 B1将第一区块信息记录到主链B上,主链节点B1验证主链B所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同并生成共识结果,由于共识结果为第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识,因此平行链节点A1将第一区块信息发送至对应的主链节点B1,以供主链节点B1将第一区块信息记录到主链B上,主链节点B1验证主链B所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同并生成第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识;
平行链节点A1同步第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识,将通过共识的第一区块写入第一平行链A。
主链节点B1验证主链B所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同并生成共识结果,若未验证到有不少于第一阈值数量的第一区块信息相同,则不生成共识结果;平行链节点B1在预配置的超时时长内若同步不到共识结果,则不将第一区块写入第一平行链B。
上述实施例以第一平行链的待共识的第一区块为第一平行链上区块高度为 H的区块,若干信息为第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息,共识结果为第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识为例对本发明提供的一种预测竞猜游戏在平行链共识方法中的应用进行了详细的阐述,在更多实施例中,本发明提供的平行链共识方法不以上述举例为限,若干信息可以配置为第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息的一项或任意多项,也可以根据实际需求配置为区块头哈希等其它信息,均可实现相同的技术效果。
在一优选实施例中,图11所示的方法适用于平行链的验证节点。具体地,假设在图11所示的方法前,第一平行链节点被分为平行链的验证节点和平行链的非验证节点,第一平行链的验证节点用于处理待共识的第一区块的交易信息的业务逻辑,第一平行链的非验证节点用于获取并执行第一区块的交易信息。降低了平行链共识的成本,提高了平行链的性能,优化了用户体验。
在一优选实施例中,第一平行链的验证节点的数量至少配置为3N+1个,其中,N为正整数,N为允许产生错误的第一区块信息的验证节点的数量。具体地,验证节点执行图11所示的方法后,使用BFT共识算法达成共识,BFT共识算法的一个条件是,验证节点的数量至少配置为3N+1,其中,N为正整数,N为允许产生错误的第一区块信息的验证节点的数量,如果N=1,则验证节点的数量至少配置为4个。假设配置有4个验证节点,若主链节点验证主链所记录的验证节点生成的各第一区块信息,有大于或等于3个第一区块信息相同,则生成共识结果,第一平行链的验证节点同步共识结果,将通过共识的第一区块写入第一平行链。在本实施例中,以使用BFT共识算法达成共识,将第一平行链的验证节点的数量至少配置为3N+1个为例进行说明,在更多实施例中,可采用其它共识算法进行共识,验证节点的配置方法也可以根据实际需求进行配置。
在一优选实施例中,若干信息包括以下至少一项:第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息,其中,状态信息用于标识所述第一区块所打包的各交易是否成功。具体地,假设状态信息为键值表,每个交易配置有第一索引,第一索引为键值表中的键;每个交易是否成功打包配置有一个二进制值,二进制值为键值表中的值,例如第一索引为1的交易打包成功,则为该交易的二进制值配置为1,第一索引为1的交易打包失败,则为该交易的二进制值配置为0;假设在当前区块中,有索引值为1、2、3、4的4条交易,这4条交易的打包状态为:成功、成功、成功、失败,则状态信息为:(1,1)、 (2,1)、(3,1)、(4,0)。在本实施例中,以状态信息为键值表为例进行介绍,在更多实施例中,状态信息还可以根据实际需求将状态信息配置为其它表或其它数据类型,例如配置为位图表,均可实现相同的技术效果。
在一优选实施例中,图11所示的方法中还包括:同步共识结果,在第一区块之前的各区块均通过验证时将通过验证的第一区块写入第一平行链。
在一优选实施例中,共识结果包括:为通过验证的第一区块配置的认证标识。
在一优选实施例中,共识结果还包括:根据认证标识确定的第一平行链的认证高度;认证高度记录在主链上。具体地,假设第一平行链的待共识的第一区块为第一平行链上区块高度为H的区块,认证高度为第一平行链的待共识的第一区块的区块高度,主链节点验证主链所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同并生成共识结果,由于共识结果包括为通过验证的第一区块配置的认证标识,因此主链根据认证标识将第一平行链的认证高度H-1更新为H,第一平行链的认证高度为H的信息记录在主链上。
图12为本发明一实施例提供的一种预测竞猜游戏在平行链共识方法中应用的流程图,适用于第一平行链节点对应的主链节点,包括:
接收对应的第一平行链节点发送的第一区块信息,将所述第一区块信息记录到主链上;其中,所述第一区块信息由所述第一平行链的验证节点打包第一平行链的待共识的第一区块的若干信息生成;
验证主链所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同,并生成共识结果,以供所述第一平行链节点同步所述共识结果,将通过共识的第一区块写入所述第一平行链,以供第一平行链的节点获取并执行第一区块信息。
具体地,以图10所示的应用场景为例,假设第一平行链的待共识的第一区块为第一平行链上区块高度为H的区块,若干信息为第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息,共识结果为第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识。
主链节点B1接收对应的平行链节点A1发送的第一区块信息,将第一区块信息记录到主链10上;其中,第一区块信息由平行链节点A1打包第一平行链的待共识的第一区块的若干信息生成;由于第一平行链的待共识的第一区块为第一平行链上区块高度为H的区块,若干信息为第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息,因此第一区块信息由平行链节点A1 打包第一平行链的区块高度为H的第一区块的第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息生成;
主链节点B1验证主链B所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同,并生成共识结果,以供平行链节点A1同步共识结果,将通过验证的第一区块写入第一平行链A;由于共识结果为第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识,因此,主链节点B1验证主链B所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同,并生成第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识,以供平行链节点A1同步第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识,将通过验证的第一区块写入第一平行链A。
上述实施例以第一平行链的待共识的第一区块为第一平行链上区块高度为 H的区块,若干信息为第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息,共识结果为第一区块的状态哈希、区块高度、所打包各交易的状态信息、认证标识为例对本发明提供的一种平行链共识方法进行了详细的阐述,在更多实施例中,本发明提供的平行链共识方法不以上述举例为限,若干信息可以配置为第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息的一项或任意多项,也可以根据实际需求配置为区块头哈希等其它信息,均可实现相同的技术效果。
主链节点B1验证主链B所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同并生成共识结果,若未验证到有不少于第一阈值数量的第一区块信息相同,则不生成共识结果;平行链节点A1在预配置的超时时长内若同步不到共识结果,则不将第一区块写入第一平行链A。
在一优选实施例中,共识结果包括:为通过验证的第一区块配置的认证标识。
在一优选实施例中,共识结果还包括:根据认证标识更新第一平行链的认证高度,并将更新后的认证高度记录到主链上。具体地,假设第一平行链的待共识的第一区块为第一平行链上区块高度为H的区块,认证高度为第一平行链的待共识的第一区块的区块高度;主链节点验证主链所记录的各第一区块信息中是否有不少于第一阈值数量的第一区块信息相同并生成共识结果,由于共识结果包括为通过验证的第一区块配置的认证标识,因此主链根据认证标识将第一平行链的认证高度H-1更新为H,并将第一平行链的认证高度为H的信息记录在主链上。
在一优选实施例中,第一平行链的验证节点的数量至少配置为3N+1个,其中,N为正整数,N为允许产生错误的第一区块信息的第一平行链的验证节点的数量。具体地,验证节点执行图2所示的方法后,使用BFT共识算法达成共识,BFT共识算法的一个条件是,第一平行链的验证节点的数量至少配置为3N+1,其中,N为正整数,N为允许产生错误的第一区块信息的第一平行链的验证节点的数量,如果N=1,则第一平行链的验证节点的数量至少配置为4个。假设配置有4个第一平行链的验证节点,若主链节点验证主链所记录的验证节点生成的各第一区块信息,有大于或等于3个第一区块信息相同,则生成共识结果,第一平行链的验证节点同步共识结果,将通过验证的第一区块写入第一平行链。在本实施例中,以使用BFT共识算法达成共识,将第一平行链的验证节点的数量至少配置为3N+1个为例进行说明,在更多实施例中,可采用其它共识算法进行共识,验证节点的配置方法也可以根据实际需求进行配置。
在一优选实施例中,若干信息包括以下至少一项:第一区块的状态哈希、区块高度、签名信息、所打包各交易的状态信息,其中,状态信息用于标识所述第一区块所打包的各交易是否成功。具体地,假设状态信息为键值表,每个交易配置有第一索引,第一索引为键值表中的键;每个交易是否成功打包配置有一个二进制值,二进制值为键值表中的值,例如第一索引为1的交易打包成功,则为该交易的二进制值配置为1,第一索引为1的交易打包失败,则为该交易的二进制值配置为0;假设在当前区块中,有索引值为1、2、3、4的4条交易,这4条交易的打包状态为:成功、成功、成功、失败,则状态信息为:(1,1)、 (2,1)、(3,1)、(4,0)。在本实施例中,以状态信息为键值表为例进行介绍,在更多实施例中,状态信息还可以根据实际需求将状态信息配置为其它表或其它数据类型,例如配置为位图表,均可实现相同的技术效果。
在一优选实施例中,图12所示的方法中还包括:通过共识的第一区块仅在第一区块之前的各区块均通过共识时写入第一平行链。
图1为本发明一实施例中平行链场景示意图。如图1所示,为主链配置若干节点(A,B,C,…,T,…),第一平行链配置10个节点(a1,b1,c1,…, t1),其中节点a1,b1,c1,d1配置为第一平行链的验证节点,节点e1,f1,…, t1配置为第一平行链的非验证节点;节点a2,c2,e2,h2c1,d1配置为第二平行链的验证节点,对本发明的游戏部署方案进行详细阐述。
如图2所示,在本实施例中,本发明提供一种预测竞猜游戏部署方法,适用于第一平行链上的节点,包括:
S101、接收游戏终端发来的第一游戏的第一游戏合约,在第一平行链上部署第一游戏的第一游戏合约(如图8所示),以供若干第一游戏终端获取并调用所述第一游戏合约的游戏开局接口以在所述第一平行链上分别创建第一游戏;以供若干第二游戏终端获取并调用所述第一游戏合约的游戏参与接口以在所述第一平行链上分别参与所述第一游戏;
S102、发送第一游戏的第一游戏合约到对应的主链节点,以供第一平行链的各节点分别从对应的主链节点获取并执行第一游戏的第一游戏合约、所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上以对所述第一区块进行共识;其中,所述第一区块信息包括所述第一游戏的第一游戏合约的执行结果。
如图3所示,在本实施例中,本发明还提供一种预测竞猜游戏部署方法,适用于第一平行链上的节点所对应的主链节点,包括:
S201和S202、接收第一游戏的第一游戏合约,其中,第一游戏的第一游戏合约由游戏终端创建,由第一平行链的节点在第一平行链上部署,以供第一平行链的各节点分别从对应的主链节点获取并执行第一游戏的第一游戏合约、所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上以对所述第一区块进行共识;其中,所述第一区块信息包括所述第一游戏的第一游戏合约的执行结果;
接收、记录和共识所述第一区块及其信息。
其中,第一游戏的第一游戏合约配置有游戏开局接口,以供若干第一游戏终端获取并调用游戏开局接口分别创建第一游戏;
第一游戏的第一游戏合约还配置有游戏参与接口,以供若干第二游戏终端获取并调用所述游戏参与接口分别参与所述第一游戏。
图4为本发明一实施例提供的一种预测竞猜游戏方法的流程图。图4所示的游戏方法可通过图2和图3所示方法部署的游戏合约进行游戏。如图4所示,在本实施例中,本发明提供一种游戏方法,包括:
S301、接收游戏开局交易以在第一平行链上创建第一游戏,其中,所述游戏开局交易由第一游戏终端获取并调用部署在第一平行链上的第一游戏合约的游戏开局接口生成并发送至所述第一平行链的节点;
S302、接收若干游戏参与交易以确定所述第一游戏的参与方;其中,所述游戏参与交易由第二游戏终端通过所述第一平行链获取所述第一游戏的信息后获取并调用所述第一游戏合约的游戏参与接口生成并发送至所述第一平行链的节点;
S303、根据预配置的若干规则生成游戏结果,发送第一游戏的游戏开局交易、若干游戏参与交易和游戏结果到对应的主链节点,以供第一平行链的各节点分别从对应的主链节点获取并执行第一游戏的游戏开局交易、若干游戏参与交易和游戏结果,所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上以对所述第一区块进行共识;其中,所述第一区块信息包括所述第一游戏的游戏开局交易、若干游戏参与交易和游戏结果。
具体地,以下以游戏开发者在平行链I上部署一款猜数值的游戏、若干玩家在该链上创建或参与该款游戏为例,对图2、图3和图4所示的方法进行说明。
游戏开发者可以通过平行链I的智能合约的开发语言,开发一项猜数值的游戏合约SCnum1,并在该游戏合约中配置对外提供的接口:游戏开局接口I1,游戏参与接口I2。
在步骤S101中,通过发起交易将上述游戏合约SCnum1部署到平行链I上,从而生成该游戏合约SCnum1的地址TAddGame。
完成部署后,玩家A的游戏终端可以通过平行链I的数据获知上述地址 TAddGame,并通过访问该地址TAddGame获取到游戏开局接口I1,从而通过调用游戏开局接口I1,配置若干开局相关的参数,例如,指定本局游戏猜数字的范围在108-129之间,本局游戏的满员人数为20人,等等,生成游戏开局交易并发送至平行链I的节点;
在步骤S301中,平行链I的节点接收到玩家A的游戏终端发送的游戏开局交易后,通过虚拟机执行该游戏开局交易的合约代码,如执行无误,则该笔游戏开局交易被发送到平行链I的节点对应的主链节点上,以供平行链I的各节点分别从对应的主链节点获取并执行猜数值的游戏合约SCnum1的游戏开局交易,所述平行链I的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上以对所述第一区块进行共识;其中,所述第一区块信息包括所述猜数值的游戏合约SCnum1的游戏开局交易,游戏开局交易可以通过共识,该局猜数字游戏创建成功,所有玩家的游戏终端均可以通过同步平行链I的数据获取到该局猜数字游戏的信息;
当玩家B的游戏终端获取到玩家A创建的该局猜数字游戏的信息,并且玩家B决定加入该局游戏时,玩家B的游戏终端同样通过地址TAddGame获取到游戏参与接口I2,从而通过调用游戏参与接口I2,根据玩家A指定的范围配置玩家B在本局游戏中竞猜的数字,例如将玩家B本局游戏竞猜的数字配置为120,生成游戏参与交易并发送至平行链I的节点;
在步骤S302中,平行链I的节点接收到玩家B的游戏终端发送的游戏参与交易后,执行该笔游戏参与交易,若执行成功,则该笔游戏参与交易被发送到平行链I的节点对应的主链节点上,以供平行链I的各节点分别从对应的主链节点获取并执行猜数值的游戏合约SCnum1的游戏参与交易,所述平行链I的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上以对所述第一区块进行共识;其中,所述第一区块信息包括所述猜数值的游戏合约SCnum1的游戏参与交易,游戏参与交易可以通过共识,则玩家B参与游戏成功;
玩家C、D等其他玩家可以通过上述玩家B参与游戏的方式参与到本局游戏中来,也可以参与到其他玩家创建的游戏中,还可以通过上述玩家A创建游戏的方式自行创建一局新的游戏;
在步骤S303中,当上述虚拟机运行的游戏触发游戏结束触发规则时,例如玩家A创建的本局猜数字游戏创建后已过了50个区块,或,到了预先指定的某个时间点,等等,平行链I节点中的虚拟机自动执行预配置的游戏结果结算代码,生成游戏结果,并将该游戏结果记录到平行链I上。例如,根据创建游戏时确定的种子(例如某历史区块的区块哈希,某历史交易的交易哈希,或,玩家A的公钥或地址,等等)和预配置的伪随机算法生成本局游戏所竞猜的数字,再根据各参与本局游戏玩家所竞猜的数字判断是否有玩家竞猜成功:如有一位或多位玩家竞猜成功,则该一位或多位玩家在本局游戏中获胜;如没有玩家竞猜成功,则创建本局游戏的玩家A在本局游戏中获胜。
在一优选实施例中,步骤S303包括:通过运行第一游戏的虚拟机监测第一区块链的区块高度或时间,并判断区块高度或时间是否触发预配置的游戏结束触发规则:
是,则根据预配置的游戏结果判定规则生成游戏结果,游戏结果被发送到平行链I的节点对应的主链节点上,以供平行链I的各节点分别从对应的主链节点获取并执行猜数值的游戏合约SCnum1的游戏结果,所述平行链I的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上以对所述第一区块进行共识;其中,所述第一区块信息包括所述猜数值的游戏合约SCnum1的游戏结果。
具体地,在该优选实施例中,游戏结束触发规则由创建游戏的玩家在游戏发起交易中配置;在另一优选实施例中,游戏结束触发规则还可以由游戏开发者(需要说明的是,游戏开发者可以是玩家,也可以第一平行链上的节点运营方,或者游戏终端的运营方等,选择自由)直接配置在游戏合约中,可实现相同的技术效果。
优选地,开局玩家和参与玩家还可以分别在发送游戏开局交易和游戏参与交易时抵押一定数量的游戏积分、游戏币或加密货币。所抵押的游戏积分、游戏币或加密货币可以全部用于在生成游戏结果后奖励获胜的玩家;也可以部分用于奖励获胜的玩家、部分用于奖励游戏开发者;等等。
上述实施例以游戏开发者在平行链I上配置一项猜数值的游戏合约,各玩家获取并调用该游戏合约的接口在平行链I上创建或参与猜数值游戏为例,对图2和图3所示的方法进行了示例性的阐述,在更多实施例中,还可以根据实际需求在不同平行链上配置不同游戏的游戏合约,以及,创建或参与不同的游戏,只要该平行链允许用户自行开发并配置合约,该游戏可以通过开发合约实现,即可实现相同的技术效果。
上述实施例通过在平行链上部署配置有游戏开局接口和游戏参与接口的游戏合约,使玩家可以通过调用游戏开局接口以在平行链上创建游戏,也可以通过调用游戏参与接口以参与其他玩家所创建的游戏,从而实现了通过简单便捷的部署和应用即可实现轻量级的去中心化的平行链游戏,不占用主链过多的资源,对主链性能要求不高,可以缓解主链的压力,提高了游戏的扩展性。
上述实施例在游戏合约中封装了游戏结束的若干规则,游戏的自由度相对较低,会导致游戏的趣味性不够强。针对该问题,本发明进一步通过在游戏合约中配置向玩家提供的接口来允许创建游戏的玩家自行配置这些规则:
在一优选实施例中,第一游戏合约还配置有游戏结束接口,该游戏结束接口用于供第一游戏终端获取并调用以生成游戏结束交易,所生成的游戏结束交易配置有以下至少一项:游戏结束触发规则,游戏结果判定规则,奖励发放规则。
相对应地,在一优选实施例中,步骤S202、S303还包括:接收游戏结束交易。其中,游戏结束交易配置有第一游戏的以下至少一项:游戏结束触发规则,游戏结果判定规则,奖励发放规则。游戏结束交易由第一游戏终端获取并调用第一游戏合约的游戏结束接口生成。
步骤S102包括:通过运行第一游戏的虚拟机执行该游戏结束交易生成游戏结果,发送游戏结果到对应的主链节点,以供第一平行链的各节点分别从对应的主链节点获取并执行游戏结束交易生成的游戏结果、所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上以对所述第一区块进行共识;其中,所述第一区块信息包括所述游戏结束交易生成的游戏结果。
具体地,同样以游戏开发者在平行链I上部署一款猜数值的游戏、若干玩家在平行链I上创建或参与该款游戏为例:
在本实施例中,游戏开发者开发的猜数值游戏合约SCnum2相较于上述游戏合约SCnum1,还配置有对外提供的游戏结束接口I3。
在步骤S101中,玩家A除了在调用游戏合约SCnum2的游戏开局接口创建一局游戏之外,还获取并调用游戏结束接口I3来配置本局游戏的游戏结束触发规则、游戏结果判定规则和奖励发放规则,生成游戏结束交易,并发送至平行链I的节点。
例如,可以通过游戏结束接口I3将游戏结束触发规则配置为玩家A发送一笔交易来触发游戏结束,或,在规定的时间内未收到该触发游戏结束的交易则自动触发游戏结束;将游戏结果判定规则配置为取上一个区块的区块创建时间作为随机种子,以线性同余法作为伪随机算法来生成本局游戏所竞猜的数字;将奖励发放规则配置为在有多个获胜者时,越早猜对的玩家可以获得越多的奖励;等等。
上述规则仅为示例,在更多实施例中,创建游戏的玩家可在游戏结束接口 I3所允许的范围内自行配置任意的规则,可实现相同的技术效果;上述方法同样可以应用于在不同平行链上配置不同游戏的游戏合约,以及,创建或参与不同的游戏。
在本实施例中,配置规则的玩家通过手动编写各项规则的合约代码来进行规则的配置;
在一优选实施例中,游戏合约还配置有若干规则模板,玩家可以通过游戏终端获取并调用这些规则模板,实现上述任意一项或多项规则的快速配置,从而无需编写合约代码即可完成规则配置。
平行链I的节点在接收该游戏结束交易之后,通过虚拟机执行该游戏结束交易,在当前区块的区块高度或当前时间等参数未触发游戏结束触发规则时,通过步骤S302接受其他玩家参与本局游戏;
在当前区块的区块高度或当前时间等参数触发游戏结束触发规则后,结束本局游戏,根据各参与本局游戏的玩家所竞猜的数字、预配置的游戏结果判定规则生成游戏结果,根据游戏结果和预配置的奖励发放规则进行奖励发放,并将游戏结果和奖励发放结果记录在平行链I上。
上述优选实施例进一步通过为所部署的游戏合约配置游戏结束接口,使创建游戏的玩家可以预先通过调用游戏结束接口来配置若干游戏结束相关的规则,从而大幅提高了去中心化区块链游戏的自由度,进而提升了游戏的趣味性;并进一步通过为玩家提供若干规则模板,以辅助玩家进行规则的快速配置,从而提升了玩家的用户体验。
然而允许自由配置游戏结束规则的游戏方式在提升游戏自由度的同时,也带来了公平性的问题,例如若创建游戏的玩家A可能会恶意编写了对己方及其有利,而对其他参与游戏的玩家非常不利的游戏规则,其他玩家需要通过阅读该局游戏在平行链上公开的合约代码来判断玩家A配置的规则是否公平,会导致玩家参与游戏的时间成本和门槛提升,不利于游戏的推广。
针对该问题,本发明进一步通过在平行链上配置规则配置审查合约(由游戏终端或第一平行链节点创建)来优化本发明所提供的方案:
图5为图1所示方法的一种优选实施方式的流程图。如图5所示,在一优选实施例中,上述适用于第一平行链节点的游戏部署方法还包括:
在第一平行链上部署第一游戏的规则配置审查合约。该审查合约可以由玩家、第一平行链的节点运营者或游戏终端的运营者等多方进行部署。
其中,规则配置审查合约用于审查以下至少一项:游戏结束触发规则,游戏结果判定规则,奖励发放规则,生成审查结果信息并记录在第一区块链上以供第二游戏终端获取以供参考。
相应地,如图6所示,适用于第一平行链的节点相应的主链节点的游戏部署方法还包括:
接收审查结果信息,以供第一平行链的各节点分别从对应的主链节点获取第一游戏的审查结果信息以供所述第二游戏终端获取用以参考、所述第一平行链的各验证节点分别打包第一区块的第一区块信息并发送至对应的主链节点以供将所述第一区块信息记录至所述主链上以对所述第一区块进行共识;其中,所述第一区块信息包括所述第一游戏的审查结果信息;
其中,所述审查结果信息由规则配置审查合约用于审查以下至少一项:所述游戏结束触发规则,所述游戏结果判定规则,所述奖励发放规则而生成,并发送到主链节点;所述规则配置审查合约由游戏终端创建,发送给第一平行链的节点在第一平行链上部署。
如图7所示,在一优选实施例中,上述游戏方法还包括:
调用第一游戏的规则配置审查合约对以下至少一项进行审查:游戏结束触发规则,游戏结果判定规则,奖励发放规则,生成审查结果信息,并通过主链记录和共识后,以便第一平行链的节点获取,以供第二游戏终端获取以供参考。
进一步优选地,上述规则配置审查合约还可以在无法判断规则的公平性时在审查结果中进行风险提示;
进一步优选地,上述规则配置审查合约还可以将其他玩家通过交易发送的风险提示信息添加至审查结果信息中。
上述实施例进一步通过在第一平行链上配置审查玩家所配置规则的规则配置审查合约,使参与游戏的玩家可以快捷地了解创建玩家所配置的规则,而无需通过看代码来确认规则的公平性。
图1中所示,还配置有第二平行链,第二平行链上的各节点部署游戏的方法与第一平行链相同,在此不做重复叙述。
图9为本发明一实施例提供的一种设备的结构示意图。
如图9所示,作为另一方面,本申请还提供了一种设备500,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备500操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510 也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一实施例描述的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。