如何正确定义和区分节点,流程,事务和操作?

时间:2019-08-23 10:10:32

标签: distributed-computing distributed-system distributed-transactions

作为研究的一部分,我需要向读者提供分布式系统的全面介绍。我目前正在努力正确地定义有关分布式系统和事务的文献中反复出现的许多概念。这些是(a)节点,(b)流程,(c)事务和(d)操作。我确实可以使用一些帮助来理解它们的相关性,因为我似乎不断地将节点与流程混合在一起,并将事务与操作混合在一起。任何输入表示赞赏!

我已经尝试通过研究以下文献来掌握这些概念: 分布式系统:概念和设计(G. Coulouris等) 分布式系统(A.S. Tannenbaum)简介

1 个答案:

答案 0 :(得分:0)

我不确定您在定义的术语中确切地理解了哪种类型的歧义,因此很难给出正确的答案。这些术语在分布式系统术语中与信息技术科学的任何其他部分具有相同的含义。

更具体。 该节点通常是运行一个或多个进程的“一台机器”。该过程执行操作。可以将操作分组到一个事务中(该事务由操作组成)。

我只是快速搜索了您引用的资源,并说了

  

我们通常将其称为节点的计算元素可以   可以是硬件设备,也可以是软件进程。

该节点运行进程。但是节点本身可以​​是真实的硬件(一台机器),也可以是虚拟机-这是在某些机器上运行的进程(真实的硬件)。 从分布式系统的角度来看,您不必理会实际的节点是什么(作为硬件是真实的,还是作为软件是虚拟的),但是它是运行进程的“容器”。

进程是“运行时”。它处理一些东西。它可以处理数字,数据,消息...在流程内部处理的工作的大部分是操作。例如。您将数据保存到数据库中,然后将其作为操作来完成。

事务定义了一个工作单元,其中包含多个操作。交易为您带来了这些操作的保证。这些保证是什么取决于您使用的模型。如果您考虑ACID事务(如1983年的论文《面向事务的数据库恢复原理》中所定义),那么可以保证所有操作都已成功处理或没有(A),保持一致性(C),并行事务不要干涉(I),并且可以保证交易结果是持久的(D)。