许多不同类型的企业可以投资于交易过程系统,作为IT商业服务或软件架构的其他部分的一部分。但是,就像围绕IT的其他一些术语一样,这个标签看起来有点模糊。这部分是因为在其核心,交易处理不仅仅是金融交易的一个术语,尽管许多TPS系统,例如信用卡处理系统,可能围绕着资金转手的过程。
从本质上讲,交易处理是各种交易的模型,包括金融交易和其他流程,如验证。专家将事务处理与称为批处理的不同类型的模型进行对比,集体处理大量个别交易。两者都可以应用于处理金融交易的标准电子商务系统。
当我们谈论交易处理时,术语“交易”指的是整个过程。为了取得成功,该过程必须从头到尾完成。这笔钱必须来自一个帐户并进入另一个帐户。对于其他类型的非金融交易,需要更新软件架构的不同部分。否则系统可能会出现所谓的“丢弃的交易”(或称微软称之为 “失去诚信”)。
与已撤销交易相反的是所谓的“持久交易”。这些持久交易是许多在线活动的基础,例如票务或事件预订,信用卡处理以及其他需要更新多个系统的交换安排,并且一个数字事件必须与另一个数字事件保持一致。那么事务处理如何帮助确保这种耐久性呢?让我们来看看。
ACID和BASE交易模型
随着时间的推移,数据专家已经制作了各种促进成功和持久交易的模型。其中之一称为原子性,一致性,隔离性和耐久性,或ACID。这种验证交易的“硬”系统导致另一种模型称为基本可用,软状态,最终一致性或BASE,这是一种更通用的替代方案。这两种模型都可以指导IT专业人员实现更一致的事务处理系统。对于这两种方法的工作方式的简单概念,想象一下火车站中的两个旧模拟选框系统,其中更新涉及具有时间表信息的各种改组。其中一个人疯狂地噼啪作响几秒钟,然后退出。另一个继续前进,随着时间的推移逐渐减少,从一些逐渐变细的砰砰声和雷声一直到最终的沉默。第一个例子是ACID,第二个例子是BASE。在这两种情况下,目标都是相同的:总数据分辨率。(有关ACID的一些背景阅读,请查看我们的数据库简介。)
交易经理
事务处理系统的另一个基本要素是事务管理器。这个术语是现代IT中许多基于拟人化的术语之一。不久之前,该术语指的是负责完成交易的个人,通常是财务交易。在那些日子里,银行出纳员可能被称为交易经理。相比之下,今天使用的术语在很大程度上是指整个事务处理系统的无形元素,但是具有预定义角色的元素。
在实现各种TPS的同时使用事务管理器可能会有问题。例如,使用J2EE或类似资源的开发人员在对事务管理器的调用返回各种错误时会发现自己处于亏损状态。各种声明和变量必须是正确的才能有效地调用事务管理器,开发人员论坛上充斥着这些不太恰当的设置故事。
特定于语言的最佳实践指南(如针对J2EE的这一指南)可以提供有关事务管理和其他支持方法(如应用程序开发框架)的一些提示。其他事务资源包括对象事务服务(OTS),由对象管理小组制作,用于处理某些复杂性和跨平台流程。
微软也提出了一些更广泛的资源; 较新的Windows操作系统版本附带内核事务管理器(KTM),它可以支持C ++应用程序。自2000年以来,Microsoft还提供Microsoft分布式事务处理协调器(DTC),以支持跨平台事务。
交易流程系统的其他注意事项
通常,有效的TPS设置必须满足各种关键目标。需要在运行良好的数据结构中访问数据,并且需要保护数据免受各种故障的影响。先进的备份系统有助于提供抵御网络攻击,自然灾害或其他类型责任的保护措施。上面提到的一些工具是为了帮助处理数据损坏和其他可能对事务持久性产生影响的问题而创建的。
持久交易意味着跨平台更新也必须解决。ACID和BASE模型在这里具有指导意义。现代专业人员所做的许多工作都与这种一致性有关,并确保数据系统的一部分与另一部分相匹配,所有这些都是为了支持通常标记为交易的关键流程。
显然,有很多更详细的TPS系统元素和逐案问题和解决方案,但是不同的人群可能会参与解决这些问题(例如,当企业遇到某些问题时)技术供应商),首先帮助澄清这个关键的IT术语是有意义的。