CN112839086B - 基于区块链分片技术的网络资源分配方法、装置、终端设备及存储介质 - Google Patents

基于区块链分片技术的网络资源分配方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN112839086B
CN112839086B CN202110013884.4A CN202110013884A CN112839086B CN 112839086 B CN112839086 B CN 112839086B CN 202110013884 A CN202110013884 A CN 202110013884A CN 112839086 B CN112839086 B CN 112839086B
Authority
CN
China
Prior art keywords
block chain
queue
resource
chain fragment
transaction
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
CN202110013884.4A
Other languages
English (en)
Other versions
CN112839086A (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.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
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 Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN202110013884.4A priority Critical patent/CN112839086B/zh
Publication of CN112839086A publication Critical patent/CN112839086A/zh
Application granted granted Critical
Publication of CN112839086B publication Critical patent/CN112839086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

本申请提供了一种基于区块链分片技术的网络资源分配方法和装置,方法包括获取各区块链分片当前时刻的队列长度;其中,一个区块链分片的交易池表示一个队列,队列长度表示区块链分片的交易池中交易数量;将各队列长度代入资源优化模型,计算出当前时刻各区块链分片所需的最小网络资源;其中,资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;根据各区块链分片所需的最小网络资源为各区块链分片分配对应的网络资源。该方法可以为每一个区块链分片提供了最优的资源分配方法,能在有效地节约资源。

Description

基于区块链分片技术的网络资源分配方法、装置、终端设备及 存储介质
技术领域
本申请涉及区块链网络技术领域,具体涉及一种基于区块链分片技术的网络资源分配方法、装置、终端设备和计算机可读存储介质。
背景技术
随着区块链技术的不断成熟,例如加密货币,游戏和医疗等基于区块链技术的去中中心化应用也随之产生。然而,区块链的可拓展性仍然是区块链技术发展道路中的一大限制。在这里我们以比特币作为一个例子,比特币的平均出块时间为10分钟每块,同时每个块的大小也被限制为一个常数,大约每秒可以处理7-10笔交易。所以对于区块链网络来说,很难达到Visa(每秒 1500笔以上交易),Paypal(每秒约200笔交易)等主流支付网络的吞吐级别。为了增强区块链网络的可拓展性,提高其吞吐量,分片技术被引入到了区块链网络。分片技术最初被运用于数据库技术中,它将数据库分割成多个碎片并将这些碎片放置在不同的服务器上。在传统区块链网络中,网络中每一个节点都需要处理全部进入网络的交易,而在分片网络的场景中,网络上的全部节点被分成了不同的分片,每个分片都由不同的节点组成。到达网络中的交易也会被分到不同的分片中。因此,在分片网络中每个节点只需处理传入该分片的交易,通过和网络上的其他节点并行处理就能完成大量的验证工作。将网络分割为碎片会使得更多的交易同时被处理和验证。因此,随着网络规模的增长,区块链网络处理越来越多的交易将成为可能。在区块链分片网络中,每个节点都要处理发送到该节点所在分片的所有交易,存储待出块交易的空间被我们视作该分片的交易池,分片中的所有节点共同维护该分片唯一的交易池。每个分片都需要资源去完成打包交易出块的任务,因此资源的调度就是一个重要的问题,不当的资源分配可能会导致:1)交易池中交易量的堆积,导致进入分片中的交易无法及时出块;2)过多的资源被分配到错误的分片,导致大量资源浪费。
目前,主要采用区块链网络、或基于队列的网络优化以及采用区块链网络和基于队列的网络优化结合方式来对分片的区块链进行资源优化,例如 Kokoris-Kogias等人的OmniLedger协议使用RoundHound和VRF协议将 Validator节点随机的分配到不同的分片上,每个分片的共识采用PBFT算法,使最大容忍的作恶节点达到了1/3。然而,目前没有针对多分片的区块链网络进行系统优化的方案。
申请内容
有鉴于此,本申请实施例中提供了一种基于区块链分片技术的网络资源分配方法、装置、终端设备和计算机可读存储介质,以克服现有技术没有针对多分片的区块链网络进行系统优化的方案的问题。
第一方面,本申请实施例提供了一种基于区块链分片技术的网络资源分配方法,该方法包括:
获取各区块链分片当前时刻的队列长度;其中,一个区块链分片的交易池表示一个队列,所述队列长度表示所述区块链分片的交易池中交易数量;
将各所述队列长度代入资源优化模型,计算出当前时刻各所述区块链分片所需的最小网络资源;其中,所述资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;
根据各所述区块链分片所需的最小网络资源为各所述区块链分片分配对应的网络资源。
第二方面,本申请实施例提供了一种基于区块链分片技术的网络资源分配装置,该装置包括:
长度获取模块,用于获取各区块链分片当前时刻的队列长度和被打包交易数目;其中,一个区块链分片的交易池表示一个队列,所述队列长度表示所述区块链分片的交易池中交易数量;
最小网络资源计算模块,用于将各所述队列长度代入资源优化模型,计算出当前时刻各所述区块链分片所需的最小网络资源;其中,所述资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;
网络资源分配模块,用于根据各所述区块链分片所需的最小网络资源为各所述区块链分片分配对应的网络资源。
第三方面,本申请实施例提供了一种终端设备,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述第一方面提供的基于区块链分片技术的网络资源分配方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的基于区块链分片技术的网络资源分配方法。
本申请实施例提供的基于区块链分片技术的网络资源分配方法、装置、终端设备和计算机可读存储介质,包括获取各区块链分片当前时刻的队列长度和被打包交易数目;其中,一个区块链分片的交易池表示一个队列,队列长度表示区块链分片的交易池中交易数量;将各队列长度代入资源优化模型,计算出当前时刻各区块链分片所需的最小网络资源;其中,资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;根据各区块链分片所需的最小网络资源为各区块链分片分配对应的网络资源。该方法可以为每一个区块链分片提供了最优的资源分配方法,能在有效地节约资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的基于区块链分片技术的网络资源分配方法的应用场景示意图;
图2为本申请一个实施例提供的基于区块链分片技术的网络资源分配方法的流程示意图;
图3为本申请一个实施例提供的区块链分片的结构示意图;
图4为本申请一个实施例提供的区块链分片中出块的流程示意图;
图5为本申请一个实施例提供的区块链分片抽象后的多队列模型示意图的流程示意图;
图6为本申请一个实施例提供的多队列的李雅普诺夫优化流程示意图;
图7为本申请一个实施例提供的区块链分片队列长度示意图;
图8为本申请一个实施例提供的区块链分片资源消耗示意图;
图9为本申请一个实施例中提供的基于区块链分片技术的网络资源分配装置的结构示意图;
图10为本申请一个实施例中提供的终端设备的结构示意图;
图11为本申请一个实施例中提供的计算机可读存储介质的结构示意图。
具体实施方式
下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更详细说明本申请,下面结合附图对本申请提供的一种基于区块链分片技术的网络资源分配方法、装置、终端设备和计算机存储介质,进行具体地描述。
请参考图1,图1示出了本申请实施例提供的基于区块链分片技术的网络资源分配方法的应用场景的示意图,该应用场景包括本申请实施例提供的终端设备100,终端设备100可以是具有显示屏的各种电子设备(如102、104、 106和108的结构图),包括但不限于智能手机和计算机设备,其中计算机设备可以是台式计算机、便携式计算机、膝上型计算机、平板电脑等设备中的至少一种。终端设备可以安装并运行某一区块链相关程序,成为该区块链中的一个节点。终端设备100可以泛指多个终端设备中的一个,本实施例仅以终端设备100来举例说明。本领域技术人员可以知晓,上述终端设备的数量可以更多或更少。比如上述终端设备可以仅为几个,或者上述终端设备为几十个或几百个,或者更多数量,本申请实施例对终端设备的数量和类型不加以限定。终端设备100可以用来执行本申请实施例中提供的一种基于区块链分片技术的网络资源分配方法。
在一种可选的实施方式中,该应用场景包括本申请实施例提供的终端设备100之外,还可以包括服务器,其中服务器与终端设备之间设置有网络。网络用于在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
应该理解,终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器可以是多个服务器组成的服务器集群等。其中,终端设备通过网络与服务器交互,以接收或发送消息等。服务器可以是提供各种服务的服务器。其中服务器可以用来执行本申请实施例中提供的一种基于区块链分片技术的网络资源分配方法的步骤。
基于此,本申请实施例中提供了一种基于区块链分片技术的网络资源分配方法。请参阅图2,图2示出了本申请实施例提供的一种基于区块链分片技术的网络资源分配方法的流程示意图,以该方法应用于图1中的终端设备为例进行说明,包括以下步骤:
步骤S102,获取各区块链分片当前时刻的队列长度;其中,一个区块链分片的交易池表示一个队列,队列长度表示区块链分片的交易池中交易数量;
区块链分片的基本思想就是采用分而治之的方法。细分可以分为三个方面:(1)网络分片:开发者需要开发一种机制来确定哪些节点可以按照安全的方式保留在哪些碎片中,这样才可以防止某些攻击者通过控制某一分片中的大量节点达到渗透该分片的目的。(2)交易分片:开发者需要通过某种方式将发送到网络中的交易按照一定的要求分配到处理它的分片中,也就是说,每个分片都有一个独立的处理过程而且可以该分片的交易子集上达成共识。 (3)状态分片:状态分片指的就是把整个存储区分开,让不同的分片存储不同的数据。所以每个节点只负责托管自己分片的数据,而不是存储完整的区块链。
在区块链分片网络中,由于状态分片使得每个分片只存储自己的那部分数据,所以每个分片也只需要管理自己的那部分交易子集。而每笔交易在进入分片后,并不是立即就可以被打包出块的,而是需要等待之前进入的交易被处理之后才可出块,存储这些待出块交易的空间就被称为交易池。交易池的存储空间并不是无限的,所以我们需要保证系统的每个交易池都处于一个稳定的状态,同时随着交易池中待处理交易数量的增加,平均每笔交易被打包出块的时间也会成比例地增加,这大大降低了整个分片网络的效率。
在本实施例中,在一个区块链分片网络中,网络中的节点会根据分配机制被划分到不同的节点中,同时发送到网络中的交易也会被分配到不同的分片中。请参照图3,整个区块链网络被分为了多个分片(shard)网络,每个网络都会维护自己分片的一条分片链,所有的分片链会合并为一条主区块链,这些分片可以并行独立地运行并处理发送至分片的交易,通过这种方式对一个主区块链上的区块进行扩容,达到高吞吐量的目标。当一个交易被发送到分片中时,首先收到它的节点会对其进行一个验证,如果交易合法,则会将其添加到分片的交易池中并广播给分片的其他节点。如果交易不合法,则会被该分片拒绝。在此之后,每个分片中的节点会从交易池中挑选部分交易出块,出块之后,这些组成该块的交易会从交易池中移除,具体过程如图4 所示。
由于收到新交易后广播给分片全部节点的时间要远远小于出块的时间,因此在我们的发明中这一段时间可以忽略不计。在广播之后所有的片内节点会处理相同的一组交易集,同理可以将其视为所有的节点维护一个共同的交易池。在实施例中,将每个交易池抽象为一个逻辑上的队列,队列中的元素就是等待片内节点将其打包出块的交易,每个队列里到来的交易是随机的。每个分片维护一个交易池即维护一个队列,那么这个多分片的区块链网络就可以被视为一个多队列的网络。相对来说,当队列中的交易出块后,这部分交易就会被从队列中移除。虽然在每个分片中是多个节点去处理这个队列,但最终只有一个节点获得记账权,所以每个队列可以被视为单入口且单出口的,每个分片出块的过程以及多分片网络抽象后的多队列模型如图5所示。
其中,区块链分片的交易池表示队列,交易池中交易数量表示队列长度。
步骤S104,将各队列长度代入资源优化模型,计算出当前时刻各区块链分片所需的最小网络资源;其中,资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;
其中,资源优化模型是将多区块链分片等效于多队列,然后基于多队列的稳定性以及资源节约的目标构建起来的模型,该模型可以用来表示区块链分片所需的网络资源与队列长度之间的关系。
步骤S106,根据各区块链分片所需的最小网络资源为各区块链分片分配对应的网络资源。
其中,网络资源是指区块链分片在处理交易过程所需要用到的硬件或软件等,资源种类数并不止一种,例如CPU利用率,电量和GPU单元数等等都可以作为网络资源。
本申请实施例提供的基于区块链分片技术的网络资源分配方法,包括获取各区块链分片当前时刻的队列长度和被打包交易数目;其中,一个区块链分片的交易池表示一个队列,队列长度表示区块链分片的交易池中交易数量;将各队列长度代入资源优化模型,计算出当前时刻各区块链分片所需的最小网络资源;其中,资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;根据各区块链分片所需的最小网络资源为各区块链分片分配对应的网络资源。该方法可以为每一个区块链分片提供了最优的资源分配方法,能在有效地节约资源。
在一个实施例中,在将各队列长度代入资源优化模型,计算出当前时刻各区块链分片所需的最小网络资源的步骤中,包括:采用李雅普诺夫方法计算出当前时刻各区块链分片所需的最小网络资源;其中,在采用李雅普诺夫方法计算出当前时刻各区块链分片所需的最小网络资源的过程中维持各队列长度的稳定。
具体而言,李雅普诺夫方法是一种维护系统稳定性算法。在本实施例中,采用李雅普诺夫方法来优化确定各区块链分片最优资源分配方案。通过使用李雅普诺夫优化来为每个分片分配挖矿资源,可以在保证各分片交易池稳定的基础下节约资源。
应当理解,在所需的最小网络资源的确定过程中采用的算法不限于本实施例中提到的李雅普诺夫方法,根据本发明的技术启示,本领域技术人员还可以采用其他算法来进行所需的最小网络资源的确定。
在一个实施例中,资源优化模型的建立方法,包括以下步骤:
获取某一时刻分配给各区块链分片的网络资源、资源权重、队列长度和交易数目,并根据网络资源和资源权重,计算出各区块链分片的被打包交易数目;
根据队列长度、被打包交易数目和交易数目计算某一时刻各区块链分片的队列变化量;根据各区块链分片的交易出块消耗资源和出块奖励资源计算各区块链分片的惩罚量;根据队列变化量和惩罚量建立资源优化模型。
具体的,资源优化模型主要包括两部分:队列稳定和惩罚函数(即惩罚量),其中队列稳定主要是用来确定各区块链分片的队列保持稳定,而惩罚函数主要用来确定资源最优化,即资源节约。队列稳定:该过程使用了稳定判断函数(例如李雅普诺夫方法),该函数可以作为针对排队系统的优化方法。通过稳定判断函数可以表示系统中队列长度状态,通过控制两个连续时刻t 与t+1的队列的稳定判断函数(例如李雅普诺夫函数)变化程度可以保证每个队列的稳定,使其长度不会无限增长。惩罚函数:该部分用来定义在资源分配的过程中我们想要最小化的目标,在本实施例中我们将该目标设置为系统的总资源消耗减去系统挖矿所得到的总奖励。本实施例的资源优化模型将队列稳定和资源优化结合到一起并采用调节参数V对二者进行权衡,在资源限制的条件下,通过在每个时间段t为各队列分配资源最小化两个模块的总和,达到控制队列稳定以及节约资源的目的。同时,通过改变调节参数V,也可以使优化方法更倾向其中某一部分(队列稳定或惩罚函数)。
其中,队列稳定是通过队列变化量为表示的,队列变化量跟某一时刻队列长度、被打包交易数目和交易数目有关;惩罚函数(即惩罚量)与某一时刻交易出块消耗资源和出块奖励资源有关。其中,被打包交易数目是指区块链分片中被打包出块的交易数目。
在一个实施例中,被打包交易数目的表达式为:
Figure BDA0002886038390000081
Figure BDA0002886038390000082
Figure BDA0002886038390000083
其中,Bi(t)表示t时刻区块链分片i中被打包的交易数目,pi(t)表示t时刻分配给区块链分片i的所有资源的向量,w表示每种资源对挖矿权重。
在一个实施例中,队列变化量的表达式为:
Δ(Q(t))=L(Q(t+1))-L(Q(t))
Figure BDA0002886038390000091
Figure BDA0002886038390000092
其中,Δ(Q(t))表示t时刻区块链分片i的队列变化量,Ai(t)表示在t时刻发送到区块链分片i的交易数目。
在一个实施例中,惩罚量的表达式为:
Figure BDA0002886038390000093
Figure BDA0002886038390000094
其中,pen(t)表示t时刻区块链分片i的惩罚量,ci(t)表示t时刻区块链分片i交易出块消耗资源,Bi(t)·R表示t时刻区块链分片i的出块奖励资源,R 表示每笔交易的奖励,为常数。
在一个实施例中,资源优化模型的表达式为:S=Δ(Q(t))+V·pen(t),其中, S表示资源优化模型,V表示调节参数。
具体而言,为了便于理解,给出一个详细的实施例。首先,我们假设该多分片区块链网络是运行在分割为各个时间段的时间跨度上,每个时隙t∈{0,1,2,3,...}且其长度大于出块时间。每个系统中有N个分片,每个分片有一个交易池,即N个队列,我们用i∈{1,2,3,...,N}去标识每一个队列。本实施例的目的就是在每个时刻t对整个区块链分片网络进行最恰当的资源分配以起到稳定交易池以及节约资源的目的,对于每个分片来说,其出块所需要运用到的资源种类数并不止一种,例如CPU利用率,电量和GPU单元数等等都可以作为资源种类。在这里假设需要使用K种资源,并使用一个向量
Figure BDA0002886038390000095
表示在t时刻系统分配给队列i的所有资源,向量中每一个分量都代表该时间段内分配给该分片的某一种资源。此外我们还设置了一个权重向量
Figure BDA0002886038390000101
用来表示每种资源对挖矿相对的重要性。基于以上的设置,我们定义了Bi(t)作为时间段t内队列i中被打包的交易数目,Bi(t)的计算公式如下:
Figure BDA0002886038390000102
其中α为一个介于0,1之间的数,相当于一个挖矿的难度系数,显而易见的是α越大,越容易出块。在每个时间段t开始的时候,会有多笔交易被发送到区块链网络中,随后它们会被分配到不同的分片,我们用Ai(t)表示在t时刻发送到分片i的交易,它是一个随机的数值。之后系统会通过分配给各个分片资源从而完成对交易的打包。每个分片的交易池抽象之后的队列长度被定义为Qi(t)。综上所述,每个队列在t时刻的队列更新公式如下:
Figure BDA0002886038390000103
每一个分片内的节点出块时都需要消耗一定的资源,在这里定义资源消耗模块
Figure BDA0002886038390000104
代表时刻t的资源消耗。每个出块的节点都可以收到固定的出块奖励,又由于每个区块的大小是一个固定的值,所以每笔交易会给节点带来的奖励平均下来也为一个固定的值,在这里我们将其设置为R。因此每个时刻t的总出块奖励为Bi(t)·R。在本实施例中就是要尽可能在保证每个分片交易池稳定的情况下,最小化资源消耗同时最大化得到的出块奖励。综上所述,设置了一个惩罚函数(或惩罚量),具体表达式如下:
Figure BDA0002886038390000105
我们的发明所要完成的一个目标,即资源节约并最大化奖励,已被数学表达式定义。在之前的论述中,已经介绍了将交易池抽象为队列的过程,因此可以使用李雅普诺夫随机优化去控制多队列稳定从而达到区块链分片网络的稳定。首先使用李雅普诺夫方程去确定当前多队列系统的队列长度情况,即
Figure BDA0002886038390000111
之后通过李雅普诺夫变换表示每个时刻队列长度变化的程度,即Δ(Q(t))=L(Q(t+1))-L(Q(t))。在李雅普诺夫优化中有一个重要的定理,即控制李雅普诺夫变换的同时可以控制队列的稳定,队列稳定的定义为
Figure BDA0002886038390000112
也就是队列不会无限增长。可以将Δ(Q(t))设计为队列稳定模块,并与之前所定义的惩罚函数合并,便可以对队列稳定与降低惩罚部分两个目标进行同时处理,合并后的目标表达式,即资源优化模型的表达式为: S=Δ(Q(t))+V·pen(t)。V是调节参数,当V越小时,我们的系统越倾向于压缩队列长度,反之,随着V的增加,系统越倾向于减少资源的消耗。在李雅普诺夫优化中,该目标表达式有一个上界,即:
Figure BDA0002886038390000113
通过优化目标不等式的上界,我们便可优化目标表达式Δ(Q(t))+V·pen(t)的目的,将不等式的右边的ci(t)及Bi(t)展开,并把常数B以及不可控制的随机到达交易Ai(t)去除,可得每个时间段t真正需要优化的目标,即:
Figure BDA0002886038390000114
Figure BDA0002886038390000115
从上式中我们可以得出,其中的变量只有
Figure BDA0002886038390000116
也就是系统在每个时刻t为各个队列分配的资源数,即在每个时间段采用最合适的资源分配方案保证队列稳定以及资源节约。最后的步骤就是在资源分配限制条件中找到最小化上述表达式的资源分配方式,该方式即为所求的结果。具体步骤如图6所示。
效果实施例
为了验证本实施例提供的基于区块链分片技术的网络资源分配方法的有效性,给出了一个效果实施例。采用基于区块链分片技术的网络资源分配方法进行一系列的模拟实验,结果如图7至图8所示。从图中我们可以得到,该资源分配方法能够保证队列的稳定,不会令其无限增长。同时在改变调节参数V的情况下,可以改变优化的侧重点,在队列稳定和资源节约之间做出权衡。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
上述本申请公开的实施例中详细描述了一种基于区块链分片技术的网络资源分配方法,对于本申请公开的上述方法可采用多种形式的设备实现,因此本申请还公开了对应上述方法的基于区块链分片技术的网络资源分配装置,下面给出具体的实施例进行详细说明。
请参阅图9,为本申请实施例公开的一种基于区块链分片技术的网络资源分配装置,主要包括:
长度获取模块902,用于获取各区块链分片当前时刻的队列长度;其中,一个区块链分片的交易池表示一个队列,队列长度表示区块链分片的交易池中交易数量;
最小网络资源计算模块904,用于将各队列长度代入资源优化模型,计算出当前时刻各区块链分片所需的最小网络资源;其中,资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;
网络资源分配模块906,用于根据各区块链分片所需的最小网络资源为各区块链分片分配对应的网络资源。
在一个实施例中,最小网络资源计算模块,还用于采用李雅普诺夫方法计算出当前时刻各区块链分片所需的最小网络资源;其中,在采用李雅普诺夫方法计算出当前时刻各区块链分片所需的最小网络资源的过程中维持各队列长度的稳定。
在一个实施例中,包括:
信息获取模块,用于获取某一时刻分配给各区块链分片的网络资源、资源权重、队列长度和交易数目;
被打包交易数目计算模块,用于根据网络资源和资源权重,计算出各区块链分片的被打包交易数目;
队列变化量计算模块,用于根据队列长度、被打包交易数目和交易数目计算某一时刻各区块链分片的队列变化量;
惩罚量计算模块,用于根据各区块链分片的交易出块消耗资源和出块奖励资源计算各区块链分片的惩罚量;
资源优化模型建立模块,用于根据队列变化量和惩罚量建立资源优化模型。
在一个实施例中,被打包交易数目的表达式为:
Figure BDA0002886038390000131
Figure BDA0002886038390000132
Figure BDA0002886038390000133
其中,Bi(t)表示t时刻区块链分片i中被打包的交易数目,pi(t)表示t时刻分配给区块链分片i的所有资源的向量,w表示每种资源对挖矿权重。
在一个实施例中,队列变化量的表达式为:
Δ(Q(t))=L(Q(t+1))-L(Q(t))
Figure BDA0002886038390000134
Figure BDA0002886038390000135
其中,Δ(Q(t))表示t时刻区块链分片i的队列变化量,Ai(t)表示在t时刻发送到区块链分片i的交易数目。
在一个实施例中,惩罚量的表达式为:
Figure BDA0002886038390000136
Figure BDA0002886038390000141
其中,pen(t)表示t时刻区块链分片i的惩罚量,ci(t)表示t时刻区块链分片i交易出块消耗资源,Bi(t)·R表示t时刻区块链分片i的出块奖励资源,R 表示每笔交易的奖励,为常数。
在一个实施例中,资源优化模型的表达式为:S=Δ(Q(t))+V·pen(t)其中,S 表示资源优化模型,V表示调节参数。
关于基于区块链分片技术的网络资源分配装置的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于终端设备中的处理器中,也可以以软件形式存储于终端设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参考图10,图10其示出了本申请实施例提供的一种终端设备的结构框图。该终端设备100可以是计算机设备。本申请中的终端设备100可以包括一个或多个如下部件:处理器1002、存储器1004以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1004中并被配置为由一个或多个处理器1002执行,一个或多个应用程序配置用于执行上述应用于终端设备的方法实施例中所描述的方法,也可以配置用于执行上述应用于基于区块链分片技术的网络资源分配的方法实施例中所描述的方法。
处理器1002可以包括一个或者多个处理核。处理器1002利用各种接口和线路连接整个终端设备100内的各个部分,通过运行或执行存储在存储器 1004内的指令、程序、代码集或指令集,以及调用存储在存储器1004内的数据,执行终端设备100的各种功能和处理数据。可选地,处理器1002可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field- Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器1002可集成中央处理器(Cen tralProcessing Unit,CPU)、埋点数据的上报验证器(Graphics ProcessingUnit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器142中,单独通过一块通信芯片进行实现。
存储器1004可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器1004可用于存储指令、程序、代码、代码集或指令集。存储器1004可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令 (比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端设备100在使用中所创建的数据等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
综上,本申请实施例提供的终端设备用于实现前述方法实施例中相应的基于区块链分片技术的网络资源分配方法,并具有相应的方法实施例的有益效果,在此不再赘述。
请参阅图11,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质110中存储有程序代码,程序代码可被处理器调用执行上述基于区块链分片技术的网络资源分配方法实施例中所描述的方法,也可以被处理器调用执行上述基于区块链分片技术的网络资源分配方法实施例中所描述的方法。
计算机可读取存储介质110可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质110包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质110具有执行上述方法中的任何方法步骤的程序代码112的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码112可以例如以适当形式进行压缩。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (9)

1.一种基于区块链分片技术的网络资源分配方法,其特征在于,所述方法包括:
获取各区块链分片当前时刻的队列长度;其中,一个区块链分片的交易池表示一个队列,所述队列长度表示所述区块链分片的交易池中交易数量;
将各所述队列长度代入资源优化模型,计算出当前时刻各所述区块链分片所需的最小网络资源;其中,所述资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;
根据各所述区块链分片所需的最小网络资源为各所述区块链分片分配对应的网络资源;
所述资源优化模型的建立方法,包括以下步骤:
获取某一时刻分配给各所述区块链分片的网络资源、资源权重、队列长度和交易数目,并根据所述网络资源和所述资源权重,计算出各所述区块链分片的被打包交易数目;
根据所述队列长度、所述被打包交易数目和所述交易数目计算某一时刻各所述区块链分片的队列变化量;
根据各所述区块链分片的交易出块消耗资源和出块奖励资源计算各所述区块链分片的惩罚量;
根据所述队列变化量和所述惩罚量建立所述资源优化模型。
2.根据权利要求1所述的方法,其特征在于,在将各所述队列长度代入资源优化模型,计算出当前时刻各所述区块链分片所需的最小网络资源的步骤中,包括:
采用李雅普诺夫方法计算出当前时刻各所述区块链分片所需的最小网络资源;其中,在采用李雅普诺夫方法计算出当前时刻各所述区块链分片所需的最小网络资源的过程中维持各所述队列长度的稳定。
3.根据权利要求1或2所述的方法,其特征在于,所述被打包交易数目的表达式为:
Figure FDA0003401811250000011
Figure FDA0003401811250000012
Figure FDA0003401811250000021
其中,Bi(t)表示t时刻区块链分片i中被打包的交易数目,pi(t)表示t时刻分配给区块链分片i的所有资源的向量,w表示每种资源对挖矿权重。
4.根据权利要求3所述的方法,其特征在于,所述队列变化量的表达式为:
Δ(Q(t))=L(Q(t+1))-L(Q(t))
Figure FDA0003401811250000022
Figure FDA0003401811250000023
其中,Δ(Q(t))表示t时刻区块链分片i的队列变化量,Ai(t)表示在t时刻发送到区块链分片i的交易数目。
5.根据权利要求4所述的方法,其特征在于,所述惩罚量的表达式为:
Figure FDA0003401811250000024
Figure FDA0003401811250000025
其中,pen(t)表示t时刻区块链分片i的惩罚量,ci(t)表示t时刻区块链分片i交易出块消耗资源,Bi(t)·R表示t时刻区块链分片i的出块奖励资源,R表示每笔交易的奖励,为常数。
6.根据权利要求5所述所述的方法,其特征在于,所述资源优化模型的表达式为:
S=Δ(Q(t))+V·pen(t)
其中,S表示资源优化模型,V表示调节参数。
7.一种基于区块链分片技术的网络资源分配装置,其特征在于,所述装置包括:
长度获取模块,用于获取各区块链分片当前时刻的队列长度;其中,一个区块链分片的交易池表示一个队列,所述队列长度表示所述区块链分片的交易池中交易数量;
最小网络资源计算模块,用于将各所述队列长度代入资源优化模型,计算出当前时刻各所述区块链分片所需的最小网络资源;其中,所述资源优化模型表示区块链分片所需的网络资源与队列长度之间的关系;
网络资源分配模块,用于根据各所述区块链分片所需的最小网络资源为各所述区块链分片分配对应的网络资源;还包括
信息获取模块,用于获取某一时刻分配给各区块链分片的网络资源、资源权重、队列长度和交易数目;
被打包交易数目计算模块,用于根据网络资源和资源权重,计算出各区块链分片的被打包交易数目;
队列变化量计算模块,用于根据队列长度、被打包交易数目和交易数目计算某一时刻各区块链分片的队列变化量;
惩罚量计算模块,用于根据各区块链分片的交易出块消耗资源和出块奖励资源计算各区块链分片的惩罚量;
资源优化模型建立模块,用于根据队列变化量和惩罚量建立资源优化模型。
8.一种终端设备,其特征在于,包括:
存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-6任一项所述的方法。
CN202110013884.4A 2021-01-06 2021-01-06 基于区块链分片技术的网络资源分配方法、装置、终端设备及存储介质 Active CN112839086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110013884.4A CN112839086B (zh) 2021-01-06 2021-01-06 基于区块链分片技术的网络资源分配方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110013884.4A CN112839086B (zh) 2021-01-06 2021-01-06 基于区块链分片技术的网络资源分配方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN112839086A CN112839086A (zh) 2021-05-25
CN112839086B true CN112839086B (zh) 2022-02-08

Family

ID=75926344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110013884.4A Active CN112839086B (zh) 2021-01-06 2021-01-06 基于区块链分片技术的网络资源分配方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN112839086B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113939029A (zh) * 2021-09-22 2022-01-14 中国联合网络通信集团有限公司 一种网络切片的生成方法、装置、设备及存储介质
CN113708937B (zh) * 2021-10-28 2022-03-01 湖南天河国云科技有限公司 区块链交易的处理方法和系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3785206A1 (en) * 2018-04-27 2021-03-03 Nchain Holdings Limited Partitioning a blockchain network
WO2020041127A1 (en) * 2018-08-23 2020-02-27 Providentia Worldwide, Llc Systems and methods for blockchain interlinking and relationships
US11228439B2 (en) * 2019-01-02 2022-01-18 Jiaping Wang Scale out blockchain with asynchronized consensus zones
CN110231992A (zh) * 2019-06-06 2019-09-13 深圳前海微众银行股份有限公司 分布式资源分配方法、装置、设备及可读存储介质
CN111294234B (zh) * 2020-01-17 2022-07-29 麦科思(苏州)数据科技有限公司 一种基于智能合约优化模型的并行区块链分片方法
CN111724145B (zh) * 2020-05-25 2022-09-30 天津大学 一种区块链系统分片协议的设计方法

Also Published As

Publication number Publication date
CN112839086A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN112839086B (zh) 基于区块链分片技术的网络资源分配方法、装置、终端设备及存储介质
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
CN110018799A (zh) 一种存储池pg主确定方法、装置、设备及可读存储介质
CN109508968A (zh) 区块链系统以及其控制方法
US20080148013A1 (en) RDMA Method for MPI_REDUCE/MPI_ALLREDUCE on Large Vectors
CN111130790B (zh) 基于区块链节点网络的共识出块方法
CN109889576A (zh) 一种基于博弈论的移动云游戏资源优化方法
CN110599136A (zh) 区块链交易池流量管控方法以及装置
CN108829519A (zh) 基于云平台的任务调度方法、云平台及计算机可读存储介质
Li et al. Security and energy-aware collaborative task offloading in D2D communication
CN110995589A (zh) 一种区块链网络出块时的区块传递方法、装置及设备
CN104811467B (zh) 综合效用的数据处理方法
Lu et al. Auction design for cross-edge task offloading in heterogeneous mobile edge clouds
CN110336668B (zh) 一种随机数生成方法、装置和应用、设备及存储介质
CN114118560A (zh) 一种基于微服务的路由方法、装置、设备及存储介质
Shamieh et al. Transaction throughput provisioning technique for blockchain-based industrial IoT networks
CN112596910B (zh) 一种多用户mec系统中的云计算资源调度方法
CN112115095B (zh) 一种用于哈希算法的可重构硬件及运行方法
CN113778675A (zh) 一种基于面向区块链网络的计算任务分配系统及方法
CN115840649B (zh) 划分容量块式虚拟资源分配方法及装置、存储介质和终端
CN111124672A (zh) 基于Redis集群的数据分配的方法及相关设备
CN115604765A (zh) 计算卸载优化方法和装置、电子设备和存储介质
CN115617474A (zh) 一种面向边缘计算的启动时间感知的依赖任务调度方法
CN109670932A (zh) 信贷数据核算方法、装置、系统和计算机存储介质
Pereira et al. Effective heuristics for the perfect awareness problem

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant