CN112751906A - 针对分布式账本的粒度存储管理 - Google Patents

针对分布式账本的粒度存储管理 Download PDF

Info

Publication number
CN112751906A
CN112751906A CN202011179410.9A CN202011179410A CN112751906A CN 112751906 A CN112751906 A CN 112751906A CN 202011179410 A CN202011179410 A CN 202011179410A CN 112751906 A CN112751906 A CN 112751906A
Authority
CN
China
Prior art keywords
transaction
transactions
execution
memory
network
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.)
Granted
Application number
CN202011179410.9A
Other languages
English (en)
Other versions
CN112751906B (zh
Inventor
A·波代
F·坎普赫伊斯
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN112751906A publication Critical patent/CN112751906A/zh
Application granted granted Critical
Publication of CN112751906B publication Critical patent/CN112751906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • General Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及针对分布式账本的粒度存储管理。用于运行具有多个计算机实施的节点(2)的网络(1)的方法(100),其中所述网络(1)构造为,实施分散在所述网络里的和/或被复制的存储器(3),以及利用该存储器的内容来实施交易(4)的执行,其中•给所述节点的第一子集(21)分配如下任务:测定对于网络作为整体有效的关于顺序的共识,等待处理的交易(4)按所述顺序来执行;和•给所述节点的第二子集(22)分配如下任务:测定对于网络(1)作为整体有效的关于如下情况的共识:在存储器之内的哪些存储位(31)在何时可供通过其他交易访问之用,或针对通过已经被规划用于执行的交易(4)进行的访问而预留。

Description

针对分布式账本的粒度存储管理
技术领域
本发明涉及分布式账本(Distributed Ledger)中的对并行访问存储器的协调,其目的是能够全部更快速地完成(abarbeiten)使用该分布式账本的交易。
背景技术
分布式账本是分散式数据存储器,该分散式数据存储器分散在网络中的多个计算机实施的节点里并且被复制。这些节点按预先给定的程序形成有关如下交易的共同的共识:利用所述交易,基于数据存储器的内容来形成工作结果;并且经由所述交易,形成工作结果在存储器中的寄存。通过共识机制,可以保护存储内容尤其是不受事后伪造损害。因而,分布式账本例如适合于防篡改地存储以加密货币(如比方说比特币(Bitcoin)或者以太币(Ether))为单位关于财产的记账或者存储另外的证据数据。
为了尽可能快速地执行全部等待处理的交易集合,期望的是,并行地执行尽可能多的交易。对此的限制性因素是,不允许通过另外的交易来改变一交易恰好用来工作的存储区域。要不然,计算结果变得错误并且不可再现。
在生动的实例中,第一交易应将值增加5,而第二交易应将相同的值增加10。如果从值20出发同时执行两个交易,则第一交易提供25(20+5)作为结果,第二交易提供30(20+10)作为结果,而且在时间上稍后获得的值是有决定性的。该结果因此与可能随机的顺序有关,这两个交易按所述顺序在硬件上分别被完成。两个可能的结果是错误的;35(20+5+10)会是正确的。
发明内容
在本发明的范围中,已开发了一种用于运行具有多个计算机实施的节点的网络的方法。该网络构造为,实施分散在网络里的和/或被复制的存储器,以及利用该存储器的内容来实施交易的执行。
“交易”尤其是被理解为可确定界线的过程,该过程以输入来自存储器的至少一个内容开始,紧接着包含将所述内容(以及可选地来自任意源的其他信息)处理成结果,并且为寄存在存储器中的目的而以输出所述结果来结束。在此,“可确定界线的”尤其是例如被理解为,可以“重新运行(zurueckgerollt)”出于何种原因也始终未完全执行的交易,也就是可以无残余地又消除未完全执行的交易对存储器的作用。
给这些节点的第一子集分配如下任务:测定对于该网络作为整体有效的关于顺序的共识,等待处理的交易按所述顺序来执行。给这些节点的第二子集分配如下任务:测定对于该网络作为整体有效的关于如下情况的共识:在存储器之内的哪些存储位在何时可供通过其他交易访问之用,或针对通过已经被规划用于执行的交易进行的访问而预留。在此,第一子集和第二子集可选地也可以重叠或者甚至叠合。
与到目前为止的现有技术不同,在本发明实质上更细粒度地管理存储器。如果存储器迄今已作为唯一的巨型整块来管理,如例如在比特币区块链(Bitcoin-Blochain)中情况曾是如此的那样,则在任何时刻都始终仅唯一的交易已能被规划用于执行,所述交易在其执行的持续时间中对该存储器已有排他的访问。对于比较简单的用于对以比特币为单位的财产关系的文档编制的交易,这已足够了。可是,从以太坊网络开始,分布式账本网络的功能已被扩展了“智能合约(smart contracts)”的自动化执行,所述“智能合约”的自动化执行例如检查先前规定的受合同约束的条件的出现并且于是自动采取动作。这样,比方说用于借助众筹来共同积攒金额的“智能合约”可以检验,是达到目标总数,还是对此的期限但是徒劳地过去。在第一情况下,那么例如可以引发掌握要共同筹措经费的对象;在后者情况下,所有参与方都可以自动地收回他的金钱。
在“智能合约”的范围中提供的功能越强大,则这些功能需要执行的时间就越长。因而,值得期望的是,可以并行地执行多个交易。对此的方案是,将存储器划分成所谓的“碎片”(英语“shards”),所述碎片彼此无关地被管理,正如例如在法院和行政机关之内的功能责任常常按所涉及的居民的姓氏的起始字母来划分(比方说A至K、L至N和O至Z)那样。针对通过被规划用于执行的交易进行的访问的预留那么始终仅涉及如下那些“碎片”:在所述碎片中存储有具体的内容,必需访问所述具体的内容。
可是在此,“碎片”还是比较大的单元,所述单元包括多个存储位。“碎片”的其他明显的缩小紧靠实际边界,即为了形成关于更新存储器的内容的共识接着实质上会必需更多节点:如果负责更新“碎片”的内容的节点的数目落到临界边界之下,则对于攻击者而言可能切合实际的是,以计算时间、加密货币或者另外的决定性的资源的形式来施加这些节点的超过51%的投票权重(Stimmengewichts)。该攻击者接着有机会,按自己的判断力来改变在该“碎片”中的数据。
与此相比,现在利用粒度记账,即在存储器之内的哪些存储位在哪个时间可供使用或预留,首先容忍实质上较高的管理开销一次。对此替换地,提到过的粒度记账但是不再必然与如下副作用相关联:负责关于具体的存储位的内容的共识的节点“委员会”被急剧地缩小,并且为了安全性的利益必须用新节点“补满”。
以此,总体上在具有预先给定的数目的节点(和因此具有预先给定的硬件资源)的网络中,可以规划更多交易用于同时执行。如果预先给定的交易集合全部等待处理用于执行,则呈现出来更加多的将针对同时执行的交易彼此组合的可能性。这样,如果两个存储位处于相同的“碎片”中,那么例如也可以同时执行必需访问第一存储位的第一交易和必需访问第二存储位的第二交易。经过扩展的可能性提高了如下概率:可以至少部分并行化地完成给定的交易集合。
因而,更快速地完成给定的交易集合。此外,不太可能的是,确定的交易的执行明显比最初规划的持续更长时间的情形使大数目的另外的等待处理的交易不参加执行。这可能会敏感地使完成全部等待处理的交易集合停顿。这又意味着,变得更切实可行的是,在“智能合约”中也采用复杂的例程,这些例程的执行持续时间预先难以预测。例如如下算法算作此:这些算法迭代地计算所找到的值,并且包含中止标准,该中止标准例如经由不发生较大改变来检查迭代的收敛。
在寻找可并行执行的交易的组合时,可以遵循任意策略。例如,于是可以一个接着另一个地检验在确定的时间范围中执行确定的交易的大数目的可能性:分别所必需的存储位是否可用。
因而,在特别有利的构建方案中,如下验证由等待处理的交易和为了执行该交易所想要的时间范围构成的至少一个组合:所必需的存储访问是否可能。针对执行代替单纯的时刻而把时间范围纳入计划考虑如下事实:复杂的交易的执行也可能持续较长时间。
为此目的,测定所述交易必需访问哪些存储位。检查这些存储位在所想要的时间范围中是否可供通过等待处理的交易访问之用。如果所有所必需的存储位都可供使用,则在所想要的时间范围中接受所述交易的执行。而如果至少一个存储位不可供使用,则在所想要的时间范围中拒绝所述交易的执行。
交易必需访问的存储位例如可以从对在交易中所包含的指令的分析中来测定。这样,例如对于每个指令都已知,该指令是否有触发对存储内容的访问的操作数。相对应的操作数接着可以更详细地被分析。如果例如从利用指针运算来计算其地址的存储位读取值,那么可以领会该地址的计算并且这样测定所必需的存储位。
在其他特别有利的构建方案中,在交易中声明所述交易必需访问的存储内容。存放有所述存储内容的存储位接着可以被测定为所述交易必需访问的存储位。例如,类似于函数调用,交易可以期待自变量(Argumente),所述自变量参阅存储器中的确定的变量。交易的程序代码例如也可以包含如下声明:来自该存储器的明确确定的变量为了由所述交易使用而被“引进”。交易的编程者自己对尽可能完全事先声明来自存储器的所必需的变量和其他内容感兴趣。对在事先规划用于执行交易的时间范围时不曾被考虑的其他内容的访问在所规划的时间范围中可能由于如下情况而失败:已经针对另外的交易预留有对相对应的存储位的访问。接着可能必须中止和重新运行所述交易。
如果在提到过的验证中对于在所想要的时间范围中的执行接受交易,则所述交易在其他特别有利的构建方案中在该时间范围中被规划用于执行。该交易所必需的存储位接着针对通过该交易的访问而被预留。以这种方式对交易的规划接着在相同的时段中更紧密地插入用于规划其他交易的帧,因为所预留的存储位一般不能同时多次被安排。另一方面,如果越来越多的存储位的增加的预留一开始就排除规划越来越多的潜在交易,则逐步更快速地进行对全部等待处理的交易集合的规划。一旦确定了仅仅由潜在交易所必需的存储位也不可用,就在结果为否定的情况下可以中止检查:该交易是否可以被规划用于执行。
不能可靠地预测以图灵完备语言撰写的任意计算机程序的执行持续时间。该问题在信息学中作为“停机问题(halting problem)”是已知的。存储位的预留因而大体上仅“开口端”是可能的,也就是在如下不确定的持续时间中是可能的:直至该不确定的持续时间,存储位在交易结束之后又被释放。可是,在区块链网络中执行交易时,可以实现规划安全性,其方式是:给该交易分配固定的资源预算,该固定的资源预算例如可以以计算开销或者加密货币来加以说明。
这样,例如在“智能合约”的上下文中,在以太坊区块链上,组成交易的指令中的每个单个指令都具有对应于其计算时间需求的“汽油(gas)”价格。如果执行交易,则给该交易配给“汽油”的如下固定预算:该交易的发送方准备最多支付所述固定预算。当交易成功结束并且还有“汽油”剩余时,交易的发送方收回“汽油”。如果该交易可是利用该“汽油”应付不了,则中止并且重新运行所述交易,也就是挽回所述交易。那么,从交易的发送方来看,所消耗的“汽油”无可挽救。
该机制确保了,对于每个交易都可以说明,交易最多运转多长时间,更确切而言,如果交易的资源渴望与该交易获得的输入有关,那么也如此。这可以被利用,以便在时间上限制存储位的预留。在规划交易的执行的规划期之内,那么因此可以首先给第一交易并且稍后给第二交易分配对同一存储位的访问。规划期例如可以在区块链网络中包括一个区块,或者也包括多个区块。
因而,在特别有利的构建方案中,依据分配给所述交易的资源预算来测定如下最大持续时间:在所述最大持续时间中预留被所述交易所必需的存储位,在消耗了所述资源预算之后,中止和重新运行所述交易。这并不排除,如果所述交易比所规划的情况更早地结束,则提前又释放这些存储位。
如下顺序可以按任意标准来选择:等待处理的交易按所述顺序被验证并且在该基础上被规划用于执行,所述标准对于网络作为整体的运行是相关的。所述交易因此尤其是可以按任意标准被确定优先级。如果例如为了执行交易要求以加密货币进行支付,则交易的优先级例如可以取决于如下金额:该交易的发送方为执行准备支付所述金额。这样,比方说在以太坊网络中,交易的发送方作为用于确定交易的优先级的调节螺丝(Stellschraube)掌控如下价格:所述发送方为每个单位的所消耗的“汽油”准备支付该价格。但是,交易的优先级也可以例如包含如下组成部分:所述组成部分与在等待处理用于执行的交易的队列中已经消磨的等待时间有关。
在其他特别有利的构建方案中,制定至少一个候选时间规划,用于执行多个交易。候选时间规划通过如下方式被验证:所有在候选时间规划中所包含的交易都被验证。如果所有经验证的交易都被接受,则候选时间规划作为整体被接受。而如果拒绝至少一个经验证的交易,则候选时间规划作为整体被拒绝。从被接受的候选时间规划中选择如下时间规划:该时间规划按照预先给定的最优化标准被评价为最好的。
以这种方式,在最优化标准的可能较费事的检查之前置有比较快速的检查:时间规划究竟是否是可实现的。类似于验证各个交易,接着所必需的存储位的唯一的不可用性足以能够已经舍弃整个候选时间规划。
在其他特别有利的构建方案中,来自池的等待处理的交易分布到时隙上,用于执行交易的规划期分成所述时隙。以这种方式,可以将在规划期之内找寻如下时间范围离散化并且因此使该找寻加速:在所述时间范围中可能执行确定的交易。例如,响应于由交易所必需的存储位在期望时间范围中是不可用的,可以逐步检查,所述存储位在规划期之内的稍晚的时间范围中是否又空闲,并且交易的执行因此是否是可能的。
此外,并行化的在本发明所描述的概念也可以被应用在交易之内,以便加速该交易的执行并且以此也使如下持续时间最小化:在所述持续时间中,预留由该交易所必需的存储位。在其他特别有利的构建方案中,在执行至少一个交易时,并行地执行至少两个指令,所述指令不必需访问相同的存储位。如果例如一个处理步骤必需来自两个不同的源的两个不同输入,那么可以同时获得这两个输入,以便接着执行该处理步骤。
在其他特别有利的构建方案中,给这些节点的第三子集分配如下任务:测定对于网络作为整体有效的关于交易的执行结果的共识。执行至少一个交易或者在交易中所包含的指令被委派给一个或者多个处理单元。在此,这些节点的第三子集可以与这些节点的先前提及的第一和第二子集重叠,或者也与第一和/或第二子集叠合。
委派给处理单元尤其是可以通过第三子集的至少一个节点进行。在对存储位的占用状态和对接下来的交易的由此得到的编排已作出判决之后,第三子集的节点因此可以总体上负责所规划的交易的其他具体执行。替选地,交易也可以通过第一子集和/或第二子集的节点来委派。那么,第三子集的交点例如可以仅仅负责关于在执行所述交易时获得的结果的共识。
如果交易和/或指令由第三子集的节点被委派给处理单元,则相应的处理单元不必与第三子集的节点分离。例如,第三子集的节点可以具有对硬件的不同装备。这样,比方说第一节点可以包含多个图形处理器(GPU),而第二节点包含多个CPU核。第三子集的节点接着可以彼此间如下取得一致意见:侧重GPU的交易被委派给第一节点,并且侧重CPU的交易被委派给第二节点。在网络中不是到处都可用的资源因此可以有效地被分享。
但是,处理单元例如也可以是专用的GPU或者CPU农场(Farmen),这些专用的GPU或者CPU农场此外没有网络中的节点的功能。以这种方式,例如对敏感数据的处理可以被节点的点对点(Peer-to-Peer)网络的连通性屏蔽。
将交易和/或指令委派给专门化的处理单元尤其是可以例如在如下情况下那么是有利的:交易包括矩阵和/或张量运算、尤其是来自线性代数(比方说求解线性方程组)的范围的矩阵和/或张量运算,或者包括使用(推理)经训练的神经网络,例如用于基于以传感器方式检测到的物理测量数据来测定分类和/或回归值。
有利地,至少一个处理单元包括至少一个图形处理器GPU、现场可编程门阵列FPGA、可信执行单元TEE和/或具有经加密的存储器的安全的被包围物(Enklave)。这些处理单元的共同之处在于,这些处理单元专门执行完全确定的任务。因而特别经济的是,在较大的网络之内分享这些类型的处理单元。
将交易委派给处理单元来源于(如对存储器的粒度管理也那样)如下期望:在具有多个节点的分布式网络中,执行日益更复杂的交易,所述分布式网络管理存储器中的数据保持。这两种创新协同地互相补充,并且因此根据提到过的愿望的实现携手合作:更细粒度地管理存储器引起,能够以更大概率并行地执行等待处理的交易。委派给处理单元节省了多次维持同一硬件资源(比方说GPU或者FPGA)的开销,并且加速执行确定类型的交易。这又导致,由交易所必需的存储位能够更快速地又被释放。通过这现在再次提高能够并行执行等待处理的交易的概率的方式,环环紧扣。
但是,将交易委派给专门化的处理单元也与更细粒度的存储管理无关地是有利的。针对专门化的处理单元的较小的硬件开销的优点并不受如下情况约束:网络中的交易共同地访问确定的存储位。
因而,本发明从广义上来说涉及一种用于运行网络的方法,所述网络具有多个计算机实施的节点。所述网络构造为,实施分散在网络里的和/或被复制的存储器,以及利用该存储器的内容来实施交易的执行。在该网络中,给这些节点的子集分配如下任务:测定对于网络作为整体有效的关于交易的执行结果的共识,其中(例如通过该子集的至少一个节点)对至少一个交易和/或指令的执行被委派给一个或者多个处理单元。给这些节点的可选地可与上述子集叠加或者对此也可以叠合的其他子集分配如下任务:测定对于网络作为整体有效的关于基于在执行交易时获得的结果更新存储器的共识。可以给这些节点的子集再次分配如下任务:测定对于网络作为整体有效的关于如下顺序的共识:按所述顺序执行等待处理的交易。
该方法尤其是可以完全地或者部分地是计算机实施的。因而,本发明也涉及一种计算机程序,该计算机程序具有机器可读的指令,当在一个或者多个计算机上执行所述机器可读的指令时,所述机器可读的指令促使所述一个或者多个计算机执行所描述的方法之一。在此意义下,车辆的控制设备和技术设备的嵌入式系统也应被视为计算机,所述车辆的控制设备和技术设备的嵌入式系统同样能够实施机器可读的指令。
同样,本发明也涉及一种机器可读的数据载体,和/或涉及一种下载产品,它们具有所述计算机程序。下载产品是经由数据网络可传输的(也就是可由数据网络的用户下载的)数字产品,该数字产品例如可以在用于立即下载的网上商城(Online-Shop)中标价出售。
此外,计算机可以配备有计算机程序,配备有机器可读的数据载体或配备有下载产品。
附图说明
在下文中,与对本发明的优选实施例的描述共同地,依据附图更详细地示出其他的改进本发明的措施。
其中:
图1示出了用于运行网络1的方法100的实施例;
图2示出了示例性地将网络1的节点2分成用于形成不同共识的子集21-23;
图3示出了在网络1中的交易4的示例性流程200,该网络1按照方法100来运行。
具体实施方式
图1示出了用于运行网络1的方法100的实施例,所述网络1具有多个计算机实施的节点2。网络1在图2中更详细地示出,并且构造为,实施分散在网络1里的和/或被复制的存储器3,以及利用存储器3的内容来实施交易4的执行。
在步骤110中,给节点2的第一子集21分配如下任务:测定对于网络1作为整体有效的关于顺序41的共识,等待处理的交易4按所述顺序41来执行。
在步骤130中,给节点2的第二子集22分配如下任务:测定对于网络1作为整体有效的关于如下情况的共识:在存储器3之内的哪些存储位31在何时可供通过其他交易4访问之用(状态31a),或针对通过已经被规划用于执行的交易4进行的访问而预留(状态31b)。
在步骤140中,在执行至少一个交易4时,并行执行至少两个指令4b,所述至少两个指令4b不必需访问相同的存储位31。
在步骤150中,给节点2的第三子集23分配如下任务:测定对于网络1作为整体有效的关于交易4的执行结果7的共识。在步骤160中,至少一个交易4和/或指令4b的执行被委派给一个或者多个处理单元8。这些处理单元8将其结果7传回给步骤150。
在框110之内,示例性地如下绘出了不同的构建方案:如何能够测定所找到的关于要按其来执行等待处理的交易4的顺序41的共识。
根据块111,可以验证由等待处理的交易4和为了执行交易4所想要的时间范围4a构成的组合。为此目的,根据块112测定,交易4必需访问哪些存储位31。根据块113检查,所必需的存储位31在所想要的时间范围4a中是否可供通过等待处理的交易访问之用。
如果所有存储位31都可供使用(概率值1),则根据块114,在所想要的时间范围4a中接受交易4的执行。交易4接着根据块116可以在时间范围4a中被规划用于执行,并且所必需的存储位可以根据块133被预留用于通过交易4访问。
而如果至少一个存储位31不可使用(概率值0),则根据块115,在所想要的时间范围4a中拒绝交易4的执行。
在验证120根据块117制定的候选时间规划42时,根据块118,对于所有在候选时间规划42中所包含的交易4,对想要在时间范围4a中执行的单个交易4的验证111作为子例程被调用。在这种情况下,根据候选时间规划42,每个交易4都与用于执行的所想要的时间范围4a联系起来。验证111回报,相应的交易是根据块114已被接受,还是根据块115已被拒绝。
在块119中,检验该结果。如果所有根据块118验证的交易4都被接受(概率值1),则候选时间规划42根据块119作为整体被接受。而如果拒绝至少一个经验证的交易(概率值0),则候选时间规划42作为整体被拒绝。
再次根据块122,针对多个根据块121制定的候选时间规划42,对候选时间规划42的验证120作为子例程被调用。对于每个候选时间规划42,通过验证120分别回报,所述候选时间规划42是根据块119a已被接受,还是根据块119b已被拒绝。根据块123,从被接受的候选时间规划42'中选择如下时间规划42*:该时间规划42*按照预先给定的最优化标准5被评价为最好的。根据块124,在时间规划42*中所包含的交易4按照该时间规划42*被规划用于执行。
通常,在这里所描述的规划的范围中,根据块125可以将来自池的等待处理的交易4在规划期6之内分布到时隙61-64上,所述规划期分成所述时隙。
如先前已经阐述的那样,关于执行等待处理的交易4的顺序41的共识形成与关于存储位31的占用状态的共识形成共同起作用。存储位31的已经存在的预留影响,哪些交易4还可以附加地被规划,并且对其他交易4的规划可以再次产生新的预留。
在框130之内,示例性地绘出了不同的可能性:可以如何测定,交易4的执行必需访问哪些存储位31。
根据块131,可以从对在交易4中所包含的指令4b的分析中,测定所述交易必需访问的存储位31。
根据块132,如下这些存储位31可以被标识为必需的:在所述存储位处,寄存有存储内容(比方说变量),所述存储内容在交易4中被声明为对于交易4的执行必需的。
根据块133,在(比方说根据块116)规划交易的执行时,可以明确地请求预留存储位31。
根据块134,依据分配给交易4的预留预算,可以测定预留的最大持续时间,在消耗所述资源预算之后,中止和重新运行交易4。
图2示出了具有多个节点2的网络1的极其简化的实例。分成存储位31的存储器3被复制到所有节点2上并且被同步。此外,节点2中的数个节点也还具有处理单元8,所述处理单元8专门执行特定方式的交易。
在图2中所示出的实例中,节点2的负责关于执行等待处理的交易4的顺序41的共识的第一子集21和节点2的负责关于存储位31的预留状态31a、31b的共识的第二子集22叠加。节点2的负责关于交易的执行结果7的共识的第三子集23在这里所示的实例中与这两个另外的子集21和22中的任何一个都不叠加。可是,这种叠加同样是允许的。
图3示出了网络1中的交易的示例性流程200,所述流程200由对方法100的使用得到。在该实例中,节点2的两个子集21和22应是相同的,并且其中所包含的节点2应称为“存储节点”2'。
在流程200的步骤210中,存储节点2'收到等待处理用于执行的交易4。等待处理的交易4可以直接由网络1的用户9提供,但是也例如由上级的处理10提供,该处理10就其而言收到用户9的等待处理的交易4。处理10例如可以将等待处理的交易4分布到网络1的多个“碎片”上。该分布替选地或者也组合地可以再次基于共识进行。
在步骤220中,存储节点2'形成关于要执行的交易4的顺序41的共识。在步骤225中,将分别必需的存储位31置于被占用的状态31b中,所述存储位31例如可以是微观的物理存储单元。
在执行来自顺序41的每一个交易4时,现在相继地执行交易4中的指令4b。在此,可能存在多个由读取、处理和写入数据构成的循环230。
根据块231,存储节点2'根据指令4b执行读取操作,并且获得在存储位31中存放的数据D。根据块232,根据指令4b设置的计算操作连带存储节点的数据D被委派给处理单元8。根据块233,关于由处理单元8回报的结果7形成共识,并且被传回给存储节点2'。
在块234中现在检查,交易4是否应以原子方式(=完全或者绝对不)来执行。如果情况如此(概率值1),则结果7根据块235被存放在中间存储器11中。而如果交易不应以原子方式来执行(概率值0),则结果7根据块236被存放在存储位31中,针对所述存储位31确定所述结果7。可选地,只要对其的访问不再被交易4必需,相对应的存储位31就可以根据块237又被释放(状态31a)。
如果所有循环230结束,则根据步骤240再次检查,交易4是否应以原子方式执行。如果是(概率值1),则根据块241将来自中间存储器11的所有结果7交付到存储位31中,对于所述存储位31确定所述结果。
根据块242,所有存储位31又被置于空闲的状态31a中,通过交易4已将所述存储位31置于被占用的状态31b中。

Claims (15)

1.一种用于运行具有多个计算机实施的节点(2)的网络(1)的方法(100),其中所述网络(1)构造为,实施分散在所述网络(1)里的和/或被复制的存储器(3),以及利用所述存储器(3)的内容来实施交易(4)的执行,其中
• 给所述节点(2)的第一子集(21)分配(110)如下任务:测定对于所述网络(1)作为整体有效的关于顺序(41)的共识,等待处理的交易(4)按所述顺序(41)来执行;和
• 给所述节点(2)的第二子集(22)分配(130)如下任务:测定对于所述网络(1)作为整体有效的关于如下情况的共识:在所述存储器(3)之内的哪些存储位(31)在何时可供通过其他交易(4)访问之用(31a),或针对通过已经被规划用于所述执行的交易(4)进行的所述访问而预留(31b)。
2.根据权利要求1所述的方法(100),其中,由等待处理的交易(4)和为了执行所述交易(4)所想要的时间范围(4a)构成的至少一个组合通过如下方式来验证(111):
• 测定(112),所述交易(4)必需访问哪些存储位(31);
• 检查(113),所述存储位(31)在所述所想要的时间范围(4a)中是否可供通过所述等待处理的交易(4)进行的所述访问之用(31a);
• 如果所有存储位(31)都可供使用,则在所述所想要的时间范围(4a)中接受(114)所述交易(4)的所述执行,和
• 如果至少一个存储位(31)不可供使用,则在所述所想要的时间范围(4a)中拒绝(115)所述交易(4)的所述执行。
3.根据权利要求2所述的方法(100),其中,从对在所述交易(4)中所包含的指令(4b)的分析中,测定(131)所述交易(4)必需访问的存储位(31)。
4.根据权利要求2至3中任一项所述的方法(100),其中,在所述交易(4)中声明有存储内容,所述交易(4)必需访问所述存储内容,并且其中,存放有所述存储内容的存储位(31)被测定(132)为所述交易(4)必需访问的存储位(31)。
5.根据权利要求2至4中任一项所述的方法(100),其中,在所想要的时间范围(4a)中被接受用于所述执行的交易(4)针对所述时间范围(4a)被规划(116)用于执行,并且针对通过所述交易(4)的所述访问,预留(133)由所述交易(4)所必需的所述存储位(31)。
6.根据权利要求5所述的方法(100),其中,依据分配给所述交易(4)的资源预算,测定(134)如下最大持续时间:在所述最大持续时间中,预留由所述交易(4)所必需的所述存储位(31),在消耗所述资源预算之后,中止和重新运行所述交易(4)。
7.根据权利要求2至6中任一项所述的方法(100),其中,至少一个候选时间规划(42)被制定(117)用于执行多个交易(4),并且其中,通过如下方式来验证(120)所述候选时间规划(42):
• 验证(118,111)所有在所述候选时间规划(42)中所包含的交易(4),
• 如果所有经验证的交易(4)都被接受(119),则所述候选时间规划(42)作为整体被接受(119a),和
• 如果至少一个经验证的交易(4)被拒绝,则所述候选时间规划(42)作为整体被拒绝(119b)。
8.根据权利要求7所述的方法(100),其中,
• 制定(121)多个候选时间规划(42),
• 所述候选时间规划(42)中的每个都被验证(122,120),和
• 从被接受的候选时间规划(42')中,选择(123)如下时间规划(42*),所述时间规划(42*)按照预先给定的最优化标准(5)被评价为最好的,和
• 按照所述时间规划(42*),在所述时间规划(42*)中所包含的所述交易(4)被规划(124)用于所述执行。
9.根据权利要求1至8中任一项所述的方法(100),其中,来自池的等待处理的交易(4)被分布(125)到时隙(61-64)上,针对交易(4)的所述执行的规划期(6)分成所述时隙(61-64)。
10.根据权利要求1至9中任一项所述的方法(100),其中,在执行至少一个交易(4)时,并行地执行(140)至少两个指令(4b),所述至少两个指令(4b)不必需访问相同的存储位(31)。
11.根据权利要求1至10中任一项所述的方法(100),其中,
• 给所述节点(2)的第三子集(23)分配(150)如下任务:测定对于所述网络(1)作为整体有效的关于交易(4)的所述执行的结果(7)的共识,和
• 至少一个交易(4)的所述执行或者在交易(4)中所包含的指令(4b)被委派(160)给一个或者多个处理单元(8)。
12.根据权利要求11所述的方法(100),其中,至少一个处理单元(8)包括至少一个图形处理器GPU、现场可编程门阵列FPGA、可信执行单元TEE和/或具有经加密的存储器的安全的被包围物。
13.一种计算机程序,其包含机器可读的指令,当在一个或者多个计算机上执行所述机器可读的指令时,所述机器可读的指令促使所述一个或者多个计算机执行根据权利要求1至12中任一项所述的方法(100)。
14.一种机器可读的数据载体和/或下载产品,其具有根据权利要求13所述的计算机程序。
15.一种或者多种计算机,其配备有根据权利要求13所述的计算机程序,和/或配备有根据权利要求14所述的机器可读的数据载体和/或下载产品。
CN202011179410.9A 2019-10-30 2020-10-29 针对分布式账本的粒度存储管理 Active CN112751906B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019216744.6 2019-10-30
DE102019216744.6A DE102019216744A1 (de) 2019-10-30 2019-10-30 Granulare Speicherverwaltung für einen Distributed Ledger

Publications (2)

Publication Number Publication Date
CN112751906A true CN112751906A (zh) 2021-05-04
CN112751906B CN112751906B (zh) 2024-03-22

Family

ID=75485033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011179410.9A Active CN112751906B (zh) 2019-10-30 2020-10-29 针对分布式账本的粒度存储管理

Country Status (2)

Country Link
CN (1) CN112751906B (zh)
DE (1) DE102019216744A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201707296D0 (en) * 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
CN109325855A (zh) * 2018-08-16 2019-02-12 北京京东尚科信息技术有限公司 区块链网络、部署方法及存储介质
US20190281065A1 (en) * 2018-12-28 2019-09-12 Alibaba Group Holding Limited Parallel execution of transactions in a blockchain network based on smart contract whitelists
CN110266659A (zh) * 2019-05-31 2019-09-20 联想(北京)有限公司 一种数据处理方法和设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201707296D0 (en) * 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
CN109325855A (zh) * 2018-08-16 2019-02-12 北京京东尚科信息技术有限公司 区块链网络、部署方法及存储介质
US20190281065A1 (en) * 2018-12-28 2019-09-12 Alibaba Group Holding Limited Parallel execution of transactions in a blockchain network based on smart contract whitelists
CN110266659A (zh) * 2019-05-31 2019-09-20 联想(北京)有限公司 一种数据处理方法和设备

Also Published As

Publication number Publication date
CN112751906B (zh) 2024-03-22
DE102019216744A1 (de) 2021-05-06

Similar Documents

Publication Publication Date Title
US10956222B2 (en) Systems, methods, and apparatuses for implementing a scheduler and workload manager with dynamic workload termination based on cost-benefit analysis
US11226848B2 (en) Systems, methods, and apparatuses for implementing a scheduler and workload manager with snapshot and resume functionality
US11243807B2 (en) Systems, methods, and apparatuses for implementing a scheduler and workload manager with workload re-execution functionality for bad execution runs
US11243818B2 (en) Systems, methods, and apparatuses for implementing a scheduler and workload manager that identifies and optimizes horizontally scalable workloads
JP6294586B2 (ja) 命令スレッドを組み合わせた実行の管理システムおよび管理方法
CN108595157B (zh) 区块链数据的处理方法、装置、设备和存储介质
US20200026579A1 (en) Systems, methods, and apparatuses for implementing a scheduler and workload manager that identifies and consumes global virtual resources
US11237866B2 (en) Systems, methods, and apparatuses for implementing a scheduler and workload manager with scheduling redundancy and site fault isolation
US10810043B2 (en) Systems, methods, and apparatuses for implementing a scheduler and workload manager with cyclical service level target (SLT) optimization
US20230110628A1 (en) QUANTUM COMPUTING SERVICE WITH QUALITY OF SERVICE (QoS) ENFORCEMENT VIA OUT-OF-BAND PRIORITIZATION OF QUANTUM TASKS
Hellemans et al. Performance analysis of workload dependent load balancing policies
US20150128136A1 (en) Graphics processing unit controller, host system, and methods
CN110297695A (zh) 用于共享资源访问的可变速率限制的系统和方法
CA3141319C (en) Reducing cache interference based on forecasted processor use
CN114265679A (zh) 数据处理方法、装置和服务器
WO2019193570A1 (en) Batch jobs execution time prediction using distinct service demand of threads and instantaneous cpu utilization
AU2020262300B2 (en) Techniques for increasing the isolation of workloads within a multiprocessor instance
CN113378498B (zh) 一种任务分配方法及装置
He et al. Real-time scheduling in mapreduce clusters
CN112751906A (zh) 针对分布式账本的粒度存储管理
Thai et al. Algorithms for optimising heterogeneous Cloud virtual machine clusters
Ramkumar Making the Most of Serverless Accelerators
van Hee et al. Scheduling-free resource management
Friese et al. Optimizing distributed data-intensive workflows
Matani et al. A novel critical-path based scheduling algorithm for stochastic workflow in distributed computing systems

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