任务与交易 - 任何实际差异?

时间:2014-02-24 19:19:56

标签: design-patterns architecture transactions database object-oriented-database

软件工程中的术语“任务”和“交易”之间是否存在实际差异?

一些网络搜索产生的结果对CICS来说太具体了。虽然我关注的领域是数据库管理系统(图形数据库,对象数据库等),但答案越广泛适用越好。

2 个答案:

答案 0 :(得分:1)

根据工作领域的经验。

1。交易。表示一系列任务(由工作流程定义) 导致一定的最终结果。

2。任务。代表特定交易的阶段。只有在完成所有交易任务后,交易才被视为完成。

3。工作流程。定义需要执行的任务序列 完成特定交易。

答案 1 :(得分:0)

术语“任务”广泛适用于软件工程中的许多概念,仅涉及其中的一些含义:

  1. 在最高层次上,任务就是要做的事情
  2. 在并发编程中,任务通常是执行单元。无论是流程,线程还是批处理作业中的某个东西。
  3. 特定框架可能使用更专业的术语。例如,在Seaside Web Framework(用Smalltalk编写)中,一个任务(粗略地说是)一个网站,其行为类似于桌面计算中的向导。
  4. 另一方面,术语“交易”几乎总是传达其数据库语义(除了以用于特定于域的含义,当然,例如,会计软件中的金融交易)。因此,事务通常可以在有时重新启动时启动,提交和中止。

    事务可以用于并发编程,就像(2)意义上的任务一样。 典型的示例是Software transactional memory,其中此行为是明确的。 GemStone/S OODB就是这样的:同时是软件事务内存实现的数据库。在这里,任务和交易实际上是相同的。