变更通证的方法、装置及计算机可读存储介质
技术领域
本公开涉及区块链技术领域,特别涉及一种变更通证的方法、装置及计算机可读存储介质。
背景技术
不同的电子系统通常使用不同类型的通证。也就是说,用户在某一电子系统中,只能使用或产生该电子系统发放的通证,不能使用或产生其它电子系统发放的通证。
因此,当用户在某一电子系统中所剩余通证的数量不足以使用时,会造成通证的资源浪费。
发明内容
本公开解决的一个技术问题是,如何实现不同类型通证之间的变更。
根据本公开实施例的一个方面,提供了一种变更通证的方法,包括:接收用户发送的通证变更请求,通证变更请求包含用户标识、原通证的类型标识、目标通证的类型标识及目标通证变更数量;利用原通证的类型标识和目标通证的类型标识查询通证比例区块链,以确定原通证与目标通证之间的变更比例;利用用户标识、原通证的类型标识和目标通证的类型标识查询通证变更区块链,以确定通证变更前用户的原通证数量和目标通证数量;利用通证变更数量、通证变更前用户的原通证数量和目标通证数量,确定通证变更后用户的原通证数量和目标通证数量;在通证变更区块链中生成新的通证变更区块,以记录通证变更后用户的原通证数量和目标通证数量。
在一些实施例中,利用原通证的类型标识和目标通证的类型标识查询通证比例区块链,以确定原通证与目标通证之间的变更比例包括:利用原通证的类型标识查询通证比例区块链,得到原通证与平台通证之间的变更比例;利用目标通证的类型标识查询通证比例区块链,得到目标通证与平台通证之间的变更比例;利用原通证与平台通证之间的变更比例、目标通证与平台通证之间的变更比例,确定原通证与目标通证之间的变更比例。
在一些实施例中,该方法还包括:在通证比例区块链节点中生成各个通证比例区块,以形成通证比例区块链;其中,每个通证比例区块与通证的类型标识相对应,每个通证比例区块存储一类通证与平台通证之间的变更比例。
在一些实施例中,该方法还包括:将新生成的通证比例区块存储在通证比例区块链节点中;将历史的通证比例区块存储在分布式存储系统中;将历史的通证比例区块的哈希值存储在通证比例区块链节点中。
在一些实施例中,利用用户标识、原通证的类型标识和目标通证的类型标识查询通证变更区块链,以确定通证变更前用户的原通证数量和目标通证数量包括:利用用户标识、原通证的类型标识查询通证变更区块链,得到通证变更前用户的原通证数量;利用用户标识、目标通证的类型标识查询通证变更区块链,得到通证变更前用户的目标通证数量。
在一些实施例中,该方法还包括:在通证兑换区块链节点中生成各个通证变更区块,以形成通证变更区块链;其中,每个通证变更区块与用户标识及通证的类型标识相对应,每个通证变更区块存储一个用户的一类通证的数量。
在一些实施例中,该方法还包括:在通证变更区块链中生成新的通证变更区块,以记录用户使用或产生各类通证后,用户的各类通证数量。
在一些实施例中,该方法还包括:将新生成的通证变更区块存储在通证变更区块链节点中;将历史的通证变更区块存储在分布式存储系统中;将历史的通证变更区块的哈希值存储在通证变更区块链节点中。
在一些实施例中,利用通证变更数量、通证变更前用户的原通证数量和目标通证数量,确定通证变更后用户的原通证数量和目标通证数量包括:利用目标通证变更数量以及变更比例,确定原通证变更数量;利用通证变更前用户的原通证数量、原通证变更数量,确定通证变更后用户的原通证数量;利用通证变更前用户的目标通证数量、目标通证变更数量,确定通证变更后用户的目标通证数量。
在一些实施例中,利用通证变更数量、通证变更前用户的原通证数量和目标通证数量,确定通证变更后用户的原通证数量和目标通证数量还包括:在通证变更后用户的原通证数量小于零的情况下,向用户发送通证变更失败消息。
在一些实施例中,该方法还包括:向用户发送通证变更成功消息,通证变更成功消息包含用户的原通证数量和目标通证数量。
根据本公开实施例的另一个方面,提供了一种变更通证的装置,包括:请求接收模块,被配置为接收用户发送的通证变更请求,通证变更请求包含用户标识、原通证的类型标识、目标通证的类型标识及目标通证变更数量;比例确定模块,被配置为利用原通证的类型标识和目标通证的类型标识查询通证比例区块链,以确定原通证与目标通证之间的变更比例;第一数量确定模块,被配置为利用用户标识、原通证的类型标识和目标通证的类型标识查询通证变更区块链,以确定通证变更前用户的原通证数量和目标通证数量;第二数量确定模块,被配置为利用通证变更数量、通证变更前用户的原通证数量和目标通证数量,确定通证变更后用户的原通证数量和目标通证数量;第一区块生成模块,被配置为在通证变更区块链中生成新的通证变更区块,以记录通证变更后用户的原通证数量和目标通证数量。
在一些实施例中,比例确定模块被配置为:利用原通证的类型标识查询通证比例区块链,得到原通证与平台通证之间的变更比例;利用目标通证的类型标识查询通证比例区块链,得到目标通证与平台通证之间的变更比例;利用原通证与平台通证之间的变更比例、目标通证与平台通证之间的变更比例,确定原通证与目标通证之间的变更比例。
在一些实施例中,该装置还包括第一区块链形成模块,被配置为:在通证比例区块链节点中生成各个通证比例区块,以形成通证比例区块链;其中,每个通证比例区块与通证的类型标识相对应,每个通证比例区块存储一类通证与平台通证之间的变更比例。
在一些实施例中,该装置还包括第一区块存储模块,被配置为:将新生成的通证比例区块存储在通证比例区块链节点中;将历史的通证比例区块存储在分布式存储系统中;将历史的通证比例区块的哈希值存储在通证比例区块链节点中。
在一些实施例中,第一数量确定模块被配置为:利用用户标识、原通证的类型标识查询通证变更区块链,得到通证变更前用户的原通证数量;利用用户标识、目标通证的类型标识查询通证变更区块链,得到通证变更前用户的目标通证数量。
在一些实施例中,该装置还包括第二区块链形成模块,被配置为:在通证兑换区块链节点中生成各个通证变更区块,以形成通证变更区块链;其中,每个通证变更区块与用户标识及通证的类型标识相对应,每个通证变更区块存储一个用户的一类通证的数量。
在一些实施例中,该装置还包括第二区块生成模块,被配置为:在通证变更区块链中生成新的通证变更区块,以记录用户使用或产生各类通证后,用户的各类通证数量。
在一些实施例中,该装置还包括第二区块存储模块,被配置为:将新生成的通证变更区块存储在通证变更区块链节点中;将历史的通证变更区块存储在分布式存储系统中;将历史的通证变更区块的哈希值存储在通证变更区块链节点中。
在一些实施例中,第二数量确定模块被配置为:利用目标通证变更数量以及变更比例,确定原通证变更数量;利用通证变更前用户的原通证数量、原通证变更数量,确定通证变更后用户的原通证数量;利用通证变更前用户的目标通证数量、目标通证变更数量,确定通证变更后用户的目标通证数量。
在一些实施例中,第二数量确定模块还被配置为:在通证变更后用户的原通证数量小于零的情况下,向用户发送通证变更失败消息。
在一些实施例中,该装置还包括消息发送模块,被配置为:向用户发送通证变更成功消息,通证变更成功消息包含用户的原通证数量和目标通证数量。
根据本公开实施例的又一个方面,提供了又一种变更通证的装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述的变更通证的方法。
根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现前述的变更通证的方法。
本公开能够实现不同类型通证之间的变更,提高了通证的使用效率。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了通证比例区块链的数据结构示意图。
图2示例性示出了通证变更区块链的数据结构示意图。
图3示出了本公开一些实施例的变更通证的方法的流程示意图。
图4示出了本公开一些实施例的变更通证的装置的结构示意图。
图5示出了本公开另一些实施例的变更通证的装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
本公开基于区块链技术实现不同类型通证之间的变更。首先介绍如何建立和配置区块链。
(1)通证比例区块链
在通证比例区块链节点中生成各个通证比例区块,以形成通证比例区块链。其中,每个通证比例区块与通证的类型标识相对应,每个通证比例区块存储一类通证与平台通证之间的变更比例。
例如,图1示例性示出了通证比例区块链的数据结构示意图。如图1所示,各个通证比例区块分别存储电子系统a发放的通证(a类通证)与平台通证之间的变更比例、电子系统b发放的通证(b类通证)与平台通证之间的变更比例、电子系统c发放的通证(c类通证)与平台通证之间的变更比例……电子系统n发放的通证(n类通证)与平台通证之间的变更比例。以存储a类通证的通证比例区块为例,该通证比例区块的哈希值与通证的类型标识key(a)相对应。
(2)通证兑换区块链
在通证兑换区块链节点中生成各个通证变更区块,以形成通证变更区块链。其中,每个通证变更区块与用户标识及通证的类型标识相对应,每个通证变更区块存储一个用户的一类通证的数量。
例如,图2示例性示出了通证变更区块链的数据结构示意图。如图2所示,通证变更区块m存储用户z的a类通证的数量,该通证变更区块m的哈希值与用户标识x+通证的类型标识key(a)相对应。
下面结合图3描述本公开变更通证的方法的一些实施例。
图3示出了本公开一些实施例的变更通证的方法的流程示意图。如图3所示,本实施例包括步骤S301~步骤S305。
在步骤S301中,接收用户发送的通证变更请求。
其中,通证变更请求包含用户标识、原通证的类型标识、目标通证的类型标识及目标通证变更数量。
例如,通证变更请求包含用户标识m、原通证的类型标识key(a)、目标通证的类型标识key(b)以及目标通证b的变更数量100。
在步骤S302中,利用原通证的类型标识和目标通证的类型标识查询通证比例区块链,以确定原通证与目标通证之间的变更比例。
例如,利用原通证的类型标识key(a)查询通证比例区块链,得到原通证与平台通证之间的变更比例为1:2。利用目标通证的类型标识key(b)查询通证比例区块链,得到目标通证与平台通证之间的变更比例为2:1。利用原通证与平台通证之间的变更比例、目标通证与平台通证之间的变更比例确定原通证与目标通证之间的变更比例为1:4。
在步骤S303中,利用用户标识、原通证的类型标识和目标通证的类型标识查询通证变更区块链,以确定通证变更前用户的原通证数量和目标通证数量。
例如,利用用户标识m、原通证的类型标识key(a)查询通证变更区块链,得到通证变更前用户的原通证数量为100。利用用户标识m、目标通证的类型标识key(b)查询通证变更区块链,得到通证变更前用户的目标通证数量为200。
在步骤S304中,利用通证变更数量、通证变更前用户的原通证数量和目标通证数量,确定通证变更后用户的原通证数量和目标通证数量。
例如,利用目标通证变更数量+100以及变更比例1:4,确定原通证变更数量为-25。利用通证变更前用户的原通证数量100、原通证变更数量-25,确定通证变更后用户的原通证数量为75。然后,利用通证变更前用户的目标通证数量200、目标通证变更数量+100,确定通证变更后用户的目标通证数量为300。
在一些实施例中,在通证变更后用户的原通证数量小于零的情况下,向用户发送通证变更失败消息。本领域技术人员应理解,如果计算得到的通证变更后用户的原通证数量小于零,意味着通证变更前用户的原通证数量不足以实现通证变更,此时需要向用户发送通证变更失败消息。
在步骤S305中,在通证变更区块链中生成新的通证变更区块,以记录通证变更后用户的原通证数量和目标通证数量。
例如,新的通证变更区块存储通证变更后用户的原通证数量75和目标通证数量300。
发明人考虑到不同电子系统之间缺少不同类型通证之间的协同作用,导致通证的使用效率较低。当用户持有多个不同电子系统发放的不同类型通证的情况下,上述情况尤其明显。有鉴于此,本实施例能够实现不同类型通证之间的变更,使得用户能够对不同类型的零散通证进行汇总,提高了通证的使用效率,并有助于提升电子系统的访问流量。同时,本实施例基于区块链技术实现不同类型通证之间的变更,保障了用户的通证信息的安全性。
在一些实施例中,还包括步骤S306。在步骤S306中,在通证变更区块链中生成新的通证变更区块,以记录用户使用或产生各类通证后,用户的各类通证数量。
例如,用户除了发起不同电子系统之间的通证变更之外,还可以在相同电子系统内产生或使用该电子系统发放的通证。此时,也需要在通证变更区块链中生成新的通证变更区块,以更新用户的各类通证数量。
在一些实施例中,该方法还包括步骤S307。在步骤S307中,向用户发送通证变更成功消息。其中,通证变更成功消息包含用户的原通证数量和目标通证数量,从而在告知用户通证变更成功的同时,通知用户当前的原通证数量和目标通证数量。
在一些实施例中,可以将新生成的通证比例区块存储在通证比例区块链节点中;将历史的通证比例区块存储在分布式存储系统中;将历史的通证比例区块的哈希值存储在通证比例区块链节点中。相应的,还可以将新生成的通证变更区块存储在通证变更区块链节点中;将历史的通证变更区块存储在分布式存储系统中;将历史的通证变更区块的哈希值存储在通证变更区块链节点中。这样一来,在区块链运行机制的基础上,还可以为区块链节点可以节约存储空间。
下面结合图4描述本公开变更通证的装置的一些实施例。
图4示出了本公开一些实施例的变更通证的装置的结构示意图。如图4所示,本实施例中的变更通证的装置40包括:
请求接收模块401,被配置为接收用户发送的通证变更请求,通证变更请求包含用户标识、原通证的类型标识、目标通证的类型标识及目标通证变更数量;比例确定模块402,被配置为利用原通证的类型标识和目标通证的类型标识查询通证比例区块链,以确定原通证与目标通证之间的变更比例;第一数量确定模块403,被配置为利用用户标识、原通证的类型标识和目标通证的类型标识查询通证变更区块链,以确定通证变更前用户的原通证数量和目标通证数量;第二数量确定模块404,被配置为利用通证变更数量、通证变更前用户的原通证数量和目标通证数量,确定通证变更后用户的原通证数量和目标通证数量;第一区块生成模块405,被配置为在通证变更区块链中生成新的通证变更区块,以记录通证变更后用户的原通证数量和目标通证数量。
发明人考虑到不同电子系统之间缺少不同类型通证之间的协同作用,导致通证的使用效率较低。当用户持有多个不同电子系统发放的不同类型通证的情况下,上述情况尤其明显。有鉴于此,本实施例能够实现不同类型通证之间的变更,使得用户能够对不同类型的零散通证进行汇总,提高了通证的使用效率,并有助于提升电子系统的访问流量。同时,本实施例基于区块链技术实现不同类型通证之间的变更,保障了用户的通证信息的安全性。
在一些实施例中,比例确定模块402被配置为:利用原通证的类型标识查询通证比例区块链,得到原通证与平台通证之间的变更比例;利用目标通证的类型标识查询通证比例区块链,得到目标通证与平台通证之间的变更比例;利用原通证与平台通证之间的变更比例、目标通证与平台通证之间的变更比例,确定原通证与目标通证之间的变更比例。
在一些实施例中,该装置40还包括第一区块链形成模块400a,被配置为:在通证比例区块链节点中生成各个通证比例区块,以形成通证比例区块链;其中,每个通证比例区块与通证的类型标识相对应,每个通证比例区块存储一类通证与平台通证之间的变更比例。
在一些实施例中,该装置40还包括第一区块存储模块406,被配置为:将新生成的通证比例区块存储在通证比例区块链节点中;将历史的通证比例区块存储在分布式存储系统中;将历史的通证比例区块的哈希值存储在通证比例区块链节点中。
在一些实施例中,第一数量确定模块403被配置为:利用用户标识、原通证的类型标识查询通证变更区块链,得到通证变更前用户的原通证数量;利用用户标识、目标通证的类型标识查询通证变更区块链,得到通证变更前用户的目标通证数量。
在一些实施例中,该装置40还包括第二区块链形成模块400b,被配置为:在通证兑换区块链节点中生成各个通证变更区块,以形成通证变更区块链;其中,每个通证变更区块与用户标识及通证的类型标识相对应,每个通证变更区块存储一个用户的一类通证的数量。
在一些实施例中,该装置40还包括第二区块生成模块407,被配置为:在通证变更区块链中生成新的通证变更区块,以记录用户使用或产生各类通证后,用户的各类通证数量。
在一些实施例中,该装置还包括第二区块存储模块408,被配置为:将新生成的通证变更区块存储在通证变更区块链节点中;将历史的通证变更区块存储在分布式存储系统中;将历史的通证变更区块的哈希值存储在通证变更区块链节点中。
在一些实施例中,第二数量确定模块404被配置为:利用目标通证变更数量以及变更比例,确定原通证变更数量;利用通证变更前用户的原通证数量、原通证变更数量,确定通证变更后用户的原通证数量;利用通证变更前用户的目标通证数量、目标通证变更数量,确定通证变更后用户的目标通证数量。
在一些实施例中,第二数量确定模块404还被配置为:在通证变更后用户的原通证数量小于零的情况下,向用户发送通证变更失败消息。
在一些实施例中,该装置40还包括消息发送模块409,被配置为:向用户发送通证变更成功消息,通证变更成功消息包含用户的原通证数量和目标通证数量。
下面结合图5描述本公开变更通证的装置的一些实施例。
图5示出了本公开另一些实施例的变更通证的装置的结构示意图。如图5所示,该实施例的变更通证的装置50包括:存储器510以及耦接至该存储器510的处理器520,处理器520被配置为基于存储在存储器510中的指令,执行前述任意一些实施例中的变更通证的方法。
其中,存储器510例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
变更通证的装置50还可以包括输入输出接口530、网络接口540、存储接口550等。这些接口530、540、550以及存储器510和处理器520之间例如可以通过总线560连接。其中,输入输出接口530为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口540为各种联网设备提供连接接口。存储接口550为SD卡、U盘等外置存储设备提供连接接口。
本公开还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一些实施例中的变更通证的方法。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。