分布式网络中的计算单元的迁移的制作方法

文档序号:34031474发布日期:2023-05-05 11:41阅读:41来源:国知局
分布式网络中的计算单元的迁移的制作方法

本发明涉及一种用于操作分布式网络的方法,该分布式网络包括多个子网。每个子网包括多个节点。进一步的方面涉及对应的分布式网络、分布式网络的节点、对应的计算机程序产品以及编码在非暂态介质上的软件架构。


背景技术:

1、在分布式网络中,多个节点以分布式方式布置。在分布式网络计算中,软件和数据分散在多个节点上。节点建立计算资源,并且分布式网络可以使用分布式计算技术。

2、分布式网络的示例是区块链网络。区块链网络是基于共识的、基于区块的电子账簿。每个区块包括交易和其它信息。此外,每个区块包含前一个区块的散列,使得区块变得链接在一起,以创建已被写入到区块链的所有交易的永久的、不可更改的记录。交易可以包含被称为例如智能合约的小程序。

3、为了将交易写入到区块链,它必须由网络“验证(validate)”。换句话说,网络节点必须获得对要被写入到区块链的区块的同意。这种同意可以通过各种共识协议来实现。

4、一种类型的共识协议是工作量证明共识协议。工作量证明共识协议通常需要参与共识协议的各方进行一些工作,通常对应于计算机的处理时间。基于工作量证明的加密货币系统(诸如比特币)涉及解决计算密集型难题以验证交易和创建新区块。

5、另一种类型的共识协议是权益证明共识协议。这种权益证明协议的优势在于它们不需要耗时和耗能的计算。例如,在基于权益证明的区块链网络中,下一个区块的创建者是经由随机挑选以及网络中相应节点的权益的组合来选择的。

6、除加密货币外,分布式网络还可以用于各种其它应用。特别地,它们可以用于提供去中心化和分布式的计算能力和服务。

7、因而,需要具有增强功能性的分布式网络。


技术实现思路

1、因而,本发明的方面的一个目的是提供具有增强功能性的分布式网络。

2、根据本发明的第一方面的实施例,提供了一种用于操作分布式网络的计算机实现的方法。分布式网络包括多个子网,其中多个子网中的每一个包括一个或多个被指派的节点。该方法包括以下步骤:运行一组计算单元,根据子网指派(subnet assignment)将每个计算单元指派给多个子网之一。这为每个子网创建所述一组计算单元的被指派的子集。该方法还包括在多个子网的每个节点上运行计算单元的被指派的子集并由多个子网的节点跨子网以确定性和复制的方式执行计算,从而遍历执行状态链。该方法还包括将计算单元从多个子网中的第一子网迁移到多个子网中的第二子网。迁移包括向第一和第二子网发信号通知第一子网的计算单元作为应被迁移的迁移计算单元。迁移还包括将迁移计算单元从第一子网转移到第二子网,将迁移计算单元安装在第二子网上,并在第二子网上激活并运行迁移计算单元。

3、这种实施的方法为以复制方式操作子网的分布式网络提供了增强的操作灵活性。根据实施例,子网也可以被表示为复制的计算集群。在这种复制的计算集群中,已被指派给相应子网的计算单元在子网的每个节点上运行并且因此被跨子网复制,从而遍历相同的执行状态链。

4、根据本发明的实施例的方法允许计算单元从一个子网迁移到另一个子网。这提高了网络的灵活性,特别是在子网及其被指派的节点的负载和容量管理方面。

5、乍一看,在这样的复制设置中,计算单元的这种迁移可能被认为是违反直觉的,因为这种分布式网络的执行状态可以被认为是不可变的,因为一旦它们被子网的节点达成一致,它们就不能再被移除。

6、不过,本发明的发明人已经克服了这种偏见并且设计了具有子网的分布式网络,这些子网形成复制的计算集群,但是允许计算单元在复制的计算集群/子网之间迁移。

7、根据实施例,该方法还包括由第一子网使迁移计算单元准备迁移。

8、根据进一步的实施例,该方法,特别是使迁移计算单元准备迁移的步骤,可以包括调度迁移时间的步骤。迁移时间可以以各种方式来调度。根据一些实施例,它可以由中央控制单元调度。根据其它实施例,中央控制单元可以仅用信号通知相应子网,特别是第一和第二子网,计算单元必须被迁移。根据实施例,中央控制单元可以在中央注册表中进行更新。那么第一子网,例如第一子网的计算单元管理器,可以观察到注册表的改变并且可以调度对应的迁移时间。迁移时间特别定义了在迁移时间之后停止接受针对迁移计算单元的消息和停止执行迁移计算单元和/或修改迁移计算单元的单元状态的时间点。换句话说,在迁移时间之后,相应计算单元的单元状态是固定的或者换句话说冻结的并且将不再被修改。并且由于它是固定的,因此包括其状态在内的计算单元也准备好迁移。

9、根据实施例,多个子网被配置为以连续的方式执行区块,并且迁移时间是定义要由第一子网处理的最后一个区块的区块高度。应当注意的是,根据实施例,区块可以以异步方式被处理,因此区块高度不预先定义特定日历时间作为迁移时间,而是按照特定区块高度而言的时间。在这方面,术语“迁移时间”应在广义上理解。

10、根据实施例,获得迁移计算单元的步骤包括由第二子网的节点加入第一子网。这可以包括由第二子网的节点运行第一子网的计算单元。通过加入第一子网,第二子网的节点可以观察第一子网的计算单元(特别是迁移计算单元)的单元状态/执行状态。加入尤其可以发生在迁移时间之前。由此,第二子网的节点可以预先获得对迁移计算单元的单元状态的信任。此外,他们可以开始预先获得迁移计算单元的状态的部分,以减少停机时间。这促进了高效转移。

11、根据实施例,第二子网的节点可以以监听模式被动地加入第一子网。监听模式可以特别地包括核实第一子网的所有人工制品(artefact),但本身不产生任何人工制品。在这方面,人工制品可以是在第一子网的节点之间交换的任何信息。根据实施例,第二子网的节点可以仅执行针对这个第二子网的任务的子集。作为示例,他们例如可以不参与区块的提议和公证,但他们可以核实每个区块并在它有效的情况下执行它。

12、根据实施例,将迁移计算单元从第一子网转移到第二子网的步骤包括在第一子网的副本与第二子网的副本之间执行迁移计算单元的节点内部转移,其中第一子网的副本和第二子网的副本运行在同一节点上。

13、副本由在节点上运行并被指派给同一子网的一组计算单元形成。

14、根据这种实施例,已经加入第一子网的第二子网的节点运行两个副本,即,用于第一子网的第一副本和用于第二子网的第二副本。由于两个副本在同一节点上运行,因此它们处于同一个信任域中,并且作为第一副本(特别地,其可以是被动副本),观察第一子网的计算单元的状态,包括迁移计算单元的状态,迁移计算单元的这种状态可以在节点内转移并且因此在同一信任域内从第一副本转移到第二副本并且相应地从第一子网转移到第二子网。

15、根据实施例,转移迁移计算单元的步骤包括由第二子网的每个节点经由消息传递协议从第一子网的节点获得迁移计算单元。

16、根据这种实施例,第二子网的节点不是第一子网的一部分或者换句话说没有加入第一子网。在达到迁移高度之后,第一子网使迁移计算单元准备迁移。这可以特别包括例如由第一子网的节点对迁移计算单元执行联合签名,从而认证迁移计算单元在迁移区块高度处的状态。经认证的迁移计算单元然后可以经由消息传递协议被发送到第二子网的节点。

17、根据实施例,经由消息传递协议转移计算单元的步骤包括由第一子网的节点将迁移计算单元拆分成一个或多个块(chunk),并经由消息传递协议将迁移计算单元的一个或多个块从第一子网转移到第二子网。这可以促进高效转移,特别是在带宽方面。

18、根据实施例,消息传递协议可以包括用于同步第一子网的节点上的迁移计算单元与已经安装在第二子网的节点上的对应迁移计算单元之间的状态的状态同步协议。

19、根据实施例,第一子网可以在迁移时间/迁移区块高度之后拒绝针对迁移计算单元的消息。这促进消息的发送者重新路由相应消息。

20、根据实施例,第二子网的节点可以就迁移计算单元的激活达成一致,特别是通过执行共识协议。这种步骤可以确保第二子网的足够数量的节点具有可用的计算单元并且因此计算单元可以在达成一致之后变得可操作。此外,这可以确保对应的节点同时开始执行迁移计算单元以促进确定性处理。

21、根据本发明的第二方面的实施例,提供了用于操作分布式网络的另一种计算机实现的方法。分布式网络包括多个子网,其中多个子网中的每一个包括一个或多个被指派的节点。该方法包括运行一组计算单元并根据子网指派将每个计算单元指派给多个子网之一,从而为每个子网创建一组计算单元的被指派的子集。该方法还包括在多个子网的每个节点上运行计算单元的被指派的子集,并且由多个子网的节点跨子网以确定性和复制的方式执行计算。计算机实现的方法包括将计算单元从多个子网中的第一子网迁移到多个子网中的第二子网。根据这个实施例,第二子网不是预先存在的,即,第二子网必须是新创建的。迁移包括向第一子网发信号通知第一子网的计算单元作为应被迁移的迁移计算单元的步骤。响应于该信号通知,第一子网的节点创建并启动新的第二子网。然后迁移计算单元在内部(即,在副本之间的相应节点内)从第一子网转移到第二子网。这样做的优点是这种转移发生在相应节点的同一信任域内。

22、进一步的步骤包括由第一子网和第二子网的节点在第二子网上安装迁移计算单元并且由第一子网和第二子网的节点在第二子网上激活并运行迁移计算单元。

23、在激活和运行迁移计算单元之前,可以执行就激活达成一致的步骤,特别是通过共识协议。

24、根据第二方面的进一步的实施例,可以将不属于第一子网的部分的附加节点添加到第二子网。这些附加节点是新节点,它们可以例如经由可恢复性或状态恢复协议赶上迁移计算单元的状态。

25、进一步的步骤可以包括从第二子网中移除第一子网的节点。

26、至此,迁移计算单元已经从第一子网的节点完全迁移到新的另一组节点。

27、根据实施例,多个计算单元可以用上文和下文描述的方法一次性地从第一子网迁移到第二子网。

28、根据本发明的另一方面的实施例,提供了一种分布式网络,该分布式网络被配置为执行本发明的第一方面的方法步骤。

29、根据本发明的另一方面的实施例,提供了一种分布式网络,该分布式网络被配置为执行本发明的第二方面的方法步骤。

30、根据本发明的另一方面的实施例,提供了分布式网络的节点。

31、根据本发明的另一方面的实施例,提供了一种用于操作分布式网络的计算机程序产品。该计算机程序产品包括具有利用其实施的程序指令的计算机可读存储介质,该程序指令可由分布式网络的多个节点中的一个或多个节点执行以使多个节点中的一个或多个节点执行本发明的方法方面的步骤。

32、根据本发明的另一方面的实施例,提供了一种用于操作分布式网络的节点的计算机程序产品。

33、根据本发明的另一方面的实施例,提供了一种编码在非暂态计算机可读介质上的软件架构。软件架构被配置为操作分布式网络的一个或多个节点。编码的软件架构包括可由多个节点中的一个或多个节点执行以使得多个节点中的一个或多个节点执行包括本发明的方法方面的步骤的方法的程序指令。

34、本发明的一个方面的特征和优点可以适当地应用于本发明的其它方面。

35、在从属权利要求以及下面的描述中列出了其它有利的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1