虚拟资源的多方交换方法、装置以及存储介质与流程

文档序号:25601726发布日期:2021-06-25 12:01阅读:152来源:国知局
虚拟资源的多方交换方法、装置以及存储介质与流程

1.本发明涉及区块链技术领域,尤其涉及一种虚拟资源的多方交换方法、装置以及存储介质。


背景技术:

2.目前,区块链技术作为公共分布式账本的典型应用,因为其去中心化、自治、稳定等特性,被誉为互联网的下一代技术。区块链网络中的节点能够进行虚拟资源的交换,但是,现有的虚拟资源交换仅能够在两个节点之间进行,交换效率以及成功率都比较低。


技术实现要素:

3.有鉴于此,本发明要解决的一个技术问题是提供一种虚拟资源的多方交换方法、装置以及存储介质。
4.根据本公开的一个方面,提供一种虚拟资源的多方交换方法,包括:获取网络内节点的虚拟资源交换比率;其中,所述虚拟资源交换比率为需要换出的虚拟资源数量与需要换入的虚拟资源数量的比值;基于所述虚拟资源交换比率在所述网络内确定交换闭环路径;其中,组成所述交换闭环路径的全部交换节点的虚拟资源交换比率的第一乘积大于或等于1;控制每个交换节点分别与位于所述交换闭环路径中的上一个交换节点和下一个交换节点进行虚拟资源交换。
5.可选地,如果所述第一乘积大于1,则设置比率折扣值;基于所述比率折扣值和所述虚拟资源交换比率获得虚拟资源折扣交换比率,以使组成所述交换闭环路径的全部交换节点的所述虚拟资源折扣交换比率的第二乘积等于1。
6.可选地,设置所述比率折扣值为:
[0007][0008]
其中,n为组成所述交换闭环路径的全部交换节点的数量,r
i
为第i 个交换节点的虚拟资源交换比率。
[0009]
可选地,获取所述交换节点的所述虚拟资源折扣交换比率,基于所述虚拟资源折扣交换比率确定所述交换节点换出的虚拟资源数量;其中,所述交换节点换出的虚拟资源类型与所述下一个交换节点换入的虚拟资源类型相同。
[0010]
可选地,所述基于所述虚拟资源交换比率在所述网络内确定交换闭环路径包括:在所述网络内确定源交换节点,基于预设的路径计算方法在所述网络内确定所述交换闭环路径;其中,所述网络内的路径权重包括:所述虚拟资源交换比率;所述路径计算方法包括:dijkstra算法。
[0011]
可选地,组成所述交换闭环路径的全部交换节点的数量小于或等于预设的数量阈值,并且,所述交换闭环路径中的每个所述交换节点都不相同。
[0012]
可选地,所述基于预设的路径计算方法在所述网络内生成所述交换闭环路径包
括:基于所述路径计算方法在所述网络内获得多条闭环路径,获得组成每条闭环路径的全部节点的虚拟资源交换比率的第三乘积;将与多个第三乘积中的最大值对应的闭环路径确定为所述交换闭环路径。
[0013]
可选地,所述网络包括:区块链网络;所述交换节点包括:区块链网络节点。
[0014]
根据本公开的另一方面,提供一种虚拟资源的多方交换装置,包括:交换比率获取模块,用于获取网络内节点的虚拟资源交换比率;其中,所述虚拟资源交换比率为需要换出的虚拟资源数量与需要换入的虚拟资源数量的比值;交换路径确定模块,用于基于所述虚拟资源交换比率在所述网络内确定交换闭环路径;其中,组成所述交换闭环路径的全部交换节点的虚拟资源交换比率的第一乘积大于或等于1;资源交换控制模块,用于控制每个交换节点分别与位于所述交换闭环路径中的上一个交换节点和下一个交换节点进行虚拟资源交换。
[0015]
可选地,资源折扣确定模块,用于如果所述第一乘积大于1,则设置比率折扣值;基于所述比率折扣值和所述虚拟资源交换比率获得虚拟资源折扣交换比率,以使组成所述交换闭环路径的全部交换节点的所述虚拟资源折扣交换比率的第二乘积等于1。
[0016]
可选地,设置所述比率折扣值为:
[0017][0018]
其中,n为组成所述交换闭环路径的全部交换节点的数量,r
i
为第i 个交换节点的虚拟资源交换比率。
[0019]
可选地,所述资源交换控制模块,用于获取所述交换节点的所述虚拟资源折扣交换比率,基于所述虚拟资源折扣交换比率确定所述交换节点换出的虚拟资源数量;其中,所述交换节点换出的虚拟资源类型与所述下一个交换节点换入的虚拟资源类型相同。
[0020]
可选地,所述交换路径确定模块,用于在所述网络内确定源交换节点,基于预设的路径计算方法在所述网络内确定所述交换闭环路径;其中,所述网络内的路径权重包括:所述虚拟资源交换比率;所述路径计算方法包括:dijkstra算法。
[0021]
可选地,组成所述交换闭环路径的全部交换节点的数量小于或等于预设的数量阈值,并且,所述交换闭环路径中的每个所述交换节点都不相同。
[0022]
可选地,所述交换路径确定模块,用于基于所述路径计算方法在所述网络内获得多条闭环路径,获得组成每条闭环路径的全部节点的虚拟资源交换比率的第三乘积;将与多个第三乘积中的最大值对应的闭环路径确定为所述交换闭环路径。
[0023]
根据本公开的又一方面,提供一种虚拟资源的多方交换装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的方法。
[0024]
根据本公开的再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行如上所述的方法。
[0025]
本公开的虚拟资源的多方交换方法、装置以及存储介质,将单交易对扩展到串联的多交易对,并形成交换闭环路径,使单独交换对演变成交易网,从而能够进行多深度、多层次的虚拟资源交换,提高虚拟资源的交换成功率和流动性;增加交换深度,能够具有最优的交换代价,帮助用户找到最优价格成交,能够使交换效率更高并且成交代价更优,用户收
益更多,提高用户的使用体验。
附图说明
[0026]
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0027]
图1为根据本公开的虚拟资源的多方交换方法的一个实施例的流程示意图;
[0028]
图2a为单交换对的示意图,图2b为交换网络的示意图,图2c为交换对的示意图,图2d为交换闭环路径的示意图;
[0029]
图3为根据本公开的虚拟资源的多方交换方法的一个实施例中的设置比率折扣值的流程示意图;
[0030]
图4为在网络内获得多条闭环路径的示意图;
[0031]
图5为多方交换虚拟资源的一个实际应用示意图;
[0032]
图6为根据本公开的虚拟资源的多方交换装置的一个实施例的模块示意图;
[0033]
图7为根据本公开的虚拟资源的多方交换装置的另一个实施例的模块示意图。
具体实施方式
[0034]
下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0035]
下文中的“第一”、“第二”等仅用于描述上相区别,并没有其它特殊的含义。
[0036]
图1为根据本公开的虚拟资源的多方交换方法的一个实施例的流程示意图,如图1所示:
[0037]
步骤101,获取网络内节点的虚拟资源交换比率;其中,虚拟资源交换比率为需要换出的虚拟资源数量与需要换入的虚拟资源数量的比值。
[0038]
网络包括区块链网络等,网络也可以为其他网络,例如为能源网等。节点包括区块链网络节点等,虚拟资源可以为多种积分、虚拟币、票证、数据等。
[0039]
步骤102,基于虚拟资源交换比率在网络内确定交换闭环路径;其中,组成交换闭环路径的全部交换节点的虚拟资源交换比率的第一乘积大于或等于1。
[0040]
步骤103,控制每个交换节点分别与位于交换闭环路径中的上一个交换节点和下一个交换节点进行虚拟资源交换。
[0041]
与现有技术中的虚拟资源交换方案相比较,本公开的虚拟资源的多方交换方法提出一种多方交换方法,将如图2a所示的单交换对扩充成多交换对,进而将独立的交换对演进为如图2b所示的交换闭环路径。例如,虚拟资源为电信积分,电信积分体量大,在社会上具有很强的公信力,为了促进电信积分的价值流转,通过本公开的虚拟资源的多方交换方法,可以成倍提高交易流动性和深度。
[0042]
将多个节点的订单进行串联处理,可以使原本无法成交的单交换对撮合成功,能够增加市场流动性,增加交换深度,具有最优的交换代价;对用户节点来说,可以实现多订单的串联,帮助用户找到最优价格成交,用户可以得到更合理的收益。在深度不足的情况下,也可以通过多交换对之间的交换扩充交换深度,能够使成交更快,成交代价更优,收益更多,提高用户的使用体验。
[0043]
在一个实施例中,定义虚拟资源交换比率rate=amounts/
[0044]
amountb。amounts为需要换出(卖出)的虚拟资源数量(amount to sell), amountb为需要换入(买入)的虚拟资源数量的比值(amount to buy)。对于节点a和节点b的虚拟资源交换需求,即订单a和订单b,当 rate(a)*rate(b)>=1时,订单(需要换出的虚拟资源数量与需要换入的虚拟资源数量)可以成交。
[0045]
如图2c所示,节点1和节点2的订单(虚拟资源交换需求)分别为订单1和订单2,订单1想用10个b换1个a,rate(1)=10/1=10;订单2想用1个a换10个b,rate(2)=1/10=0.1,此时rate(a)*rate(b)= 10*0.1=1,虚拟资源交换比率的乘积正好等于1,交易成交。
[0046]
对于多方交易,使每笔订单的实际虚拟资源交换比率都等于或小于用户下单时设置的虚拟资源交换比率,并且找到总乘积大于1的环路: rate(1)*rate(2)*...*rate(n)>=1。如图2d所示,对于多方交换, rate(1)*rate(2)*rate(3)=1.4,可以满足多方交换条件,多个订单(节点) 形成一个首尾相接的环路。
[0047]
本公开的虚拟资源的多方交换方法,打破交易对的壁垒,使单独交易对演变成交易网,从而进行多深度多层次的虚拟资源交换,使原本没有联系的虚拟资源之间产生通路,交换成功率会成倍增加,流动性也会成倍增加。此外,能够降低交换成本,提高利润,将会使交易所、矿工、用户等共同盈利,此外还可以防止用户利用差价进行三角套利。
[0048]
图3为根据本公开的虚拟资源的多方交换方法的一个实施例中的设置比率折扣值的流程示意图,如图3所示:
[0049]
步骤301,如果第一乘积大于1,则设置比率折扣值。
[0050]
步骤302,基于比率折扣值和虚拟资源交换比率获得虚拟资源折扣交换比率,以使组成交换闭环路径的全部交换节点的虚拟资源折扣交换比率的第二乘积等于1。
[0051]
设置比率折扣值为:
[0052][0053]
其中,n为组成交换闭环路径的全部交换节点的数量,r
i
为第i个交换节点的虚拟资源交换比率。
[0054]
获取交换节点的虚拟资源折扣交换比率,基于虚拟资源折扣交换比率确定交换节点换出的虚拟资源数量;交换节点换出的虚拟资源类型与下一个交换节点换入的虚拟资源类型相同。
[0055]
控制虚拟资源交换可以使用现有方法。例如,控制每个交换节点接收(买入)上一个交换节点的需要换出的虚拟资源,用于满足本节点的需要换入的虚拟资源数量;控制每个交换节点向下一个节点发送(买出) 的需要换出的虚拟资源,用于满足本节点的需要换出的虚拟资源数量。两个节点之间的接收(买入)或发送(买出)的虚拟资源数量,由两个节
点的需要换出的虚拟资源数量与需要换入的虚拟资源数量进行确定。
[0056]
在一个实施例中,多个节点的订单匹配成功后,需要确保多个节点的订单的每个订单都享有相同的收益,并且使新的虚拟资源交换比率的乘积为1。设比率折扣值为x,用x计算出新的虚拟资源交换比率为 newrate=oldrate*(1-x),并且满足newrate(1)*newrate(2)*... *newrate(n)=1,即rate(1)*(1-x)*rate(2)*(1-x)*...*rate(n)(1-x)=1。计算出x为:
[0057][0058]
为了保证rate始终小于用户设置的值,必须满足x>=0。例如,节点a有15个eth并想买入4个omg,节点b有10个omg想买入30 个eth。如果eth是定价参考,则节点a是以15/4=3.75的价格买入seele。节点b是以30/10=3的价格卖出seele。虚拟资源交换比率的乘积为 ratea*rateb=15/4*10/30=1.25。带入上面的公式求出比率折扣值x。最后,根据比率折扣值x求出平均虚拟资源交换比率为3.3541。这时,节点b给出4个seele获得了13.4164个代币eth,大于节点b的预期12个。节点a收到了4个seele只花费了13.4164个eth,少于节点a 期望的15个,其中一部分利润会分给交易所或撮合矿工。
[0059]
在一个实施例中,在网络内确定源交换节点,基于预设的路径计算方法在网络内确定交换闭环路径;其中,网络内的路径权重包括:虚拟资源交换比率;路径计算方法包括:dijkstra算法等。组成交换闭环路径的全部交换节点的数量小于或等于预设的数量阈值,并且,交换闭环路径中的每个交换节点都不相同。
[0060]
对于交换闭环路径可以使用子环路验证,是指某个节点的一种虚拟资源不能买入或者卖出多次,能简化寻找环路算法并防止套利者在环路订单中进行套利。一条交换闭环路径上的交易的次数,即为全部交换节点的数量阈值,定义为深度deep。图2a和图2b中的交换闭环路径的深度分别为1和3。可以将数量阈值(深度最大值)设置为6,深度太大会极大增加运算负担,为了保证获得交换闭环路径的速度,深度不易设置太大。
[0061]
dijkstra算法为基于广度优先的贪心算法,在大规模复杂组网场景下,广度优先算法的时间复杂度较高,尤其是对于时延敏感的跨域端到端业务的快速开通受限。利用图论的方法,对于交易a-b(sell b,buy a),找出收益最大的环路订单,可以转化为图论中求b到a的最短路径问题。
[0062]
设每一个节点的rate为路径的权重,找到所有路径中权重乘积最大的路径即可。即求出max[rate(1)*rate(2)*...*rate(n)]。dijkstra算法是应用最广泛的求解最短路径算法,时间复杂度只有[elogn],对dijkstra 算法进行改动,使用dijkstra现有的广度优先贪心算法,仅把一个节点的rate(虚拟资源交换比率)作为到下一个节点的路径权重,并满足权重(全部节点的虚拟资源交换比率的乘积大于1)约束要求,以及深度小于预设值以及交换闭环路径中的每个交换节点都不相同。
[0063]
基于路径计算方法可以在网络内获得多条闭环路径,获得组成每条闭环路径的全部节点的虚拟资源交换比率的第三乘积,将与多个第三乘积中的最大值对应的闭环路径确定为交换闭环路径。
[0064]
在一个实施例中,对于交易对(buy-sell)的一个闭环可表示为:(a-b, d):[(b-x1),(x1-x2),...,(xn-a)]=product(rate),其中,d表示深度,后面的数组表示交易路径
integrated circuit),或者是被配置成实施本公开的虚拟资源的多方交换方法的一个或多个集成电路。
[0075]
根据本公开的再一方面,提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,指令被处理器执行如上的方法。
[0076]
上述实施例中提供的虚拟资源的多方交换方法、装置以及存储介质,将单交易对扩展到串联的多交易对,并形成交换闭环路径,使单独交换对演变成交易网,从而进行多深度、多层次的虚拟资源交换;使原本没有联系的虚拟资源之间产生通路,交换成功率会成倍增加,流动性也会成倍增加,提升虚拟资源的流动性;增加交换深度,能够具有最优的交换代价;可以实现多订单的串联,帮助用户找到最优价格成交,用户可以得到更合理的收益;在深度不足的情况下,也可以通过多交换对之间的交换扩充交换深度;能够使交换效率更高,成交代价更优,收益更多,提高用户的使用体验。
[0077]
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
[0078]
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1