首页> 中国专利> 用于使用MD4校验和链接跨机器事务的方法和系统

用于使用MD4校验和链接跨机器事务的方法和系统

摘要

本发明提供了一种用于使用MD4校验和链接跨机器事务的方法、系统和计算机指令。接收事务信息,其中事务信息包括校验和及拓扑信息,且其中该校验和用作为该当前事务的唯一标识符。将该当前事务的校验和及属性信息添加到第一数据结构中。然后,将该当前事务的校验和及拓扑信息添加到第二数据结构中,其中添加到第二表保存根/父/当前事务关系。保存根/父/当前事务关系允许当事务从客户端被上载到事务数据库时自动将该事务链接到其相关事务。

著录项

  • 公开/公告号CN1801097A

    专利类型发明专利

  • 公开/公告日2006-07-12

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200510109588.5

  • 发明设计人 B·帕特松;

    申请日2005-10-27

  • 分类号G06F9/46(20060101);G06F17/30(20060101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人于静;李峥

  • 地址 美国纽约

  • 入库时间 2023-12-17 17:25:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-01-05

    未缴年费专利权终止 IPC(主分类):G06F9/46 授权公告日:20081210 终止日期:20091127 申请日:20051027

    专利权的终止

  • 2008-12-10

    授权

    授权

  • 2006-09-06

    实质审查的生效

    实质审查的生效

  • 2006-07-12

    公开

    公开

说明书

技术领域

本发明一般涉及改进的数据处理系统。具体地,本发明涉及用于使用事务MD4校验和作为主键码链接跨机器事务的方法、装置和计算机指令。

背景技术

在一个系统中,在优化软件的使用时经常使用性能监测。性能监测器一般被认为是合并到处理器内通过确定机器在特定时间点的状态来帮助分析系统的选定特性的设备。一种监测系统性能的方法是使用基于事务的观点监测系统性能。以这种方式,性能监测器可以通过跟踪事务的执行路径来访问终端用户的经历,以定位问题发生的所在。从而,在确定系统是否正在提供所需的服务时要考虑终端用户的经历。

Tivoli Monitoring for Transaction PerformanceTM(此后称为TMTP)是中央管理的一套软件组件,其监测基于Web的服务和操作系统应用的可用性和性能。TMTP捕获所有电子商务事务的详细事务和应用性能数据。利用TMTP,随着客户事务经过一批主机、系统、应用、Web及代理服务器、Web应用服务器、中间件、数据库管理软件及遗留办公软件,可以监测它的每一步并且编译性能特性数据并将之存储在数据资源库中,用于历史分析和长期的规划。可对此数据进行编译以便测试系统的性能的一种方法是模拟客户事务并收集“假设分析”性能数据以有助于评估电子商务组件和配置的健全性。当检测到性能问题时,TMTP提供性能问题的提示及自动通知。

利用TMTP,电子商务所有者可以有效地度量在不同的条件下和在不同的时间用户怎样经历电子商务。更重要的是,电子商务所有者可以在性能和可用性问题发生时隔离这些问题的源,以便可以在这些问题产生高昂的损耗和损失的收益之前使它们得以纠正。

利用TMTP,可使用诸如ARM(应用响应评测)相关器的相关器将用户事务链接到子事务。在用户事务中相关器被传递,以允许监测该用户事务在系统内的进展。由于一个事务的启动程序可以调用应用内的进程,且该被调用的进程又可以调用该应用内的另一个进程,所以相关器用来将这些相关的事务“联系”在一起。例如,一个父事务触发一个子事务,而该子事务又可以触发其自身的子事务。结果是具有最顶端的父事务的事务树,该父事务是该树的根。因而,相关器用来表示多个事务之间的相关性,例如,根/父/子关系。

一个特定事务、其父事务和根事务之间的关系描绘了发生事务的系统的树型拓扑中的一个点。每个事务都可由其特殊的ID或通用唯一标识符(UUID)来标识,UUID是被保证在所有服务器和应用间是唯一的128位值。树型拓扑中的这些事务节点的每一个可以发生在相同或不同的主机上,这些事务通过UUID链接。这些UUID通过相关器被传递给它们的子事务。

当事务信息到达相应的主机节点时,现有系统中遇到的问题就会出现。由于每个主机节点可以在不同的时间上载其事务信息,如果出现网络中断,则这些数据上载就可能非常庞大。这些上载已被证实是无效且耗费时间的,因为在事务被上载到主机时,需要处理时间来建立事务的链接。

因此,具有一种用于通过在数据被上载时允许事务拓扑的自动链接,而有效地将事务数据库安装在服务器上以保存根/父/当前事务关系的方法、系统和计算机产品将是有利的。

发明内容

本发明提供一种用于使用诸如MD4校验和的校验和作为主键码链接跨机器事务的方法、系统和计算机指令。接收事务信息,其中事务信息包括校验和及拓扑信息,且其中该校验和用作为该当前事务的唯一标识符。将该当前事务的校验和及属性信息添加到第一数据结构中。然后,将该当前事务的校验和及拓扑信息添加到第二数据结构中,其中添加到第二表保存根/父/当前事务关系。保存根/父/当前事务关系允许当事务从客户端被上载到事务数据库时自动将该事务链接到其相关事务。

附图说明

在所附权利要求中列出了相信是本发明新颖性特征的特征。不过,结合附图参照下面示例性实施例的详细描述,将最好地理解本发明本身以及优选使用模式、进一步的目的及其优点,其中:

图1是本发明可在其中实现的分布式数据处理系统的示例图;

图2是可用于向本发明的组件发送事务的服务器计算设备的示例图;

图3是本发明的组件可在其上实现的客户端计算设备的示例图;

图4是示出根据本发明优选实施例的用于在分布式数据处理系统中监测事务的示例组件的框图;

图5示出用于实现本发明优选实施例的数据库模式;

图6A和6B示出根据本发明优选实施例的事务树型拓扑;以及

图7是根据本发明优选实施例的用于使用MD4校验和作为主键码链接跨机器事务的过程的流程图。

具体实施方式

现在参照附图,图1示出了本发明可在其中实现的数据处理系统的网络的图示。网络数据处理系统100是本发明可在其中实现的计算机的网络。网络数据处理系统100包含网络102,其是用于提供网络数据处理系统100内连接在一起的各种设备和计算机之间的通信链接的媒介。网络102可包括诸如有线、无线通信链路或光缆的连接。

在所示出的例子中,服务器104与存储单元106连接到网络102。此外,客户端108、110和112连接到网络102。这些客户端108、110和112可以是例如个人计算机或网络计算机。在所示出的例子中,服务器104向客户端108-112提供数据,诸如引导文件、操作系统映象和应用。客户端108、110和112是服务器104的客户端。网络数据处理系统100可包括其他的服务器、客户端和其他未示出的设备。在所示出的例子中,网络数据处理系统100是因特网,而网络102代表着网络及网关的全球集合,这些网络及网关使用传输控制协议/网际协议(TCP/IP)相互通信。在因特网的中心是主节点或主计算机之间的高速数据通信链路的主干,它包括成千个商业、政府、教育及其他传递数据和消息的计算机系统。当然,网络数据处理系统100也可以实现为众多不同类型的网络,例如内部网、局域网(LAN)或广域网(WAN)。图1旨在作为例子,而不是要作为对本发明的体系结构限制。

参照图2,其示出了根据本发明优选实施例的可实现为诸如图1中的服务器104的服务器的数据处理系统的框图。数据处理系统200可以是对称多处理器(SMP)系统,其包括连接到系统总线206的多个处理器202和204。可选地,也可采用单个处理器系统。连接到系统总线206的还有存储器控制器/高速缓存208,其提供对本地存储器209的接口。I/O总线桥210连接到系统总线206且提供对I/O总线212的接口。存储器控制器/高速缓存208和I/O总线桥210可如图所示集成在一起。

连接到I/O总线212的外围部件互联(PCI)总线桥214提供对PCI局部总线216的接口。多个调制解调器可连接到PCI局部总线216。典型的PCI总线实现将支持4个PCI扩展槽或附加连接器。图1中到客户端108-112的通信链路可通过调制解调器218和网络适配器220来提供,调制解调器218和网络适配器220通过附加连接器连接到PCI局部总线216。

附加的PCI总线桥222和224提供对附加的PCI局部总线226和228的接口,PCI局部总线226和228可支持附加的调制解调器或网络适配器。以这种方式,数据处理系统200允许到多个网络计算机的连接。存储器映射的图形适配器230和硬盘232也可如图所示的那样直接或间接地连接到I/O总线212。

本领域的普通技术人员将理解,图2中所示出的硬件可以改变。例如,诸如光盘驱动器等的其他外围设备也可附加于或替代所示出的硬件来使用。所示出的例子并不意味着对于本发明的体系结构限制。

图2所示的数据处理系统可以是例如IBM eServer p系列系统,其是纽约,Armonk的国际商业机器公司的产品,其运行先进的交互执行程序(AIX)操作系统或LINUX操作系统。

现在参照图3,其是示出本发明可在其中实现的数据处理系统的框图。数据处理系统300是客户端计算机的一个例子。数据处理系统300采用外围部件互联(PCI)局部总线体系结构。尽管所示的例子采用PCI总线,但也可使用其他诸如图形加速端口(AGP)和工业标准体系结构(ISA)的总线体系结构。处理器302和主存储器304通过PCI桥308连接到PCI局部总线306。PCI桥308也可包括用于处理器302的集成的存储器控制器和高速缓冲存储器。通过直接部件互联或通过附加板,可以实现到PCI局部总线306的附加连接。在所示的例子中,局域网(LAN)适配器310、SCSI主机总线适配器312及扩展总线接口314都通过直接部件连接而连接到PCI局部总线306。相反,音频适配器316、图形适配器318及音频/视频适配器319都通过插入到扩展槽内的附加板连接到PCI局部总线306。扩展总线接口314提供对于键盘和鼠标适配器320、调制解调器322和附加存储器324的连接。小型计算机系统接口(SCSI)主机总线适配器312提供对于硬盘驱动器326、磁带驱动器328和CD-ROM驱动器330的连接。典型的PCI局部总线实现将支持三或四个PCI扩展槽或附加连接器。

操作系统在处理器302上运行并用于协调和提供对图3中的数据处理系统300内的各组件的控制。该操作系统可以是可购买到的操作系统,诸如可从微软公司获得的Windows XP。诸如Java的面向对象的程序设计系统可结合该操作系统运行并提供从数据处理系统300上执行的Java程序或应用对该操作系统的调用。“Java”是Sun Microsystems公司的商标。操作系统、面向对象的程序设计系统和应用或程序的指令都位于诸如硬盘驱动器326的存储设备中,并可以被加载到主存储器304中以由处理器302执行。

本领域中的普通技术人员将会理解,图3中的硬件可根据实现不同而变化。可以使用诸如快闪只读存储器(ROM)、等效非易失性存储器或光盘驱动器等其他的内部硬件或外围设备来附加于或代替图3中所示的硬件。此外,本发明的处理可应用于多处理器数据处理系统。

作为另一个例子,数据处理系统300可以是被配置为在无需依靠某种类型的网络通信接口便可引导的独立系统。作为进一步的例子,数据处理系统300可以是个人数字助理(PDA)设备,其配置有ROM和/或快闪ROM,以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。

图3中所示的例子和上述例子并不意味着体系结构限制。例如,数据处理系统300除了采用PDA的形式以外,还可以是笔记本电脑或手持计算机。数据处理系统300还可以是信息亭或Web设备。

一个或多个服务器,诸如图1中的服务器104可以提供用于由诸如客户端108、110及112的客户端设备访问的电子商务的Web服务。在本发明中,提供了一种事务性能监测系统,用于监测Web服务器及其企业后端系统的组件的性能,以提供在处理事务时企业商务的性能的数据表示。在本发明的一个示例性实施例中,这一事务性能监测系统是IBM TivoliMonitoring for Transaction PerformanceTM(TMTP),其评测并编译事务性能数据,事务性能数据包括企业系统内的各组件的事务处理时间、产生的错误消息等。

本发明使用事务的MD4校验和作为到系统表中的主键码,该系统表包含该事务的所有发生的公用信息。MD4校验和,也称作RSA-MD4,使用RSA MD4算法计算校验和。该算法接受任意长度的输入消息作为输入,并产生128位(16个八位)校验和。尽管本发明中的该示例性例子根据MD4校验和进行了描述,但应当指出,可使用当给定确切相同的输入序列时产生相同的输出且其输出对于每个任意的输入序列都是唯一的任何校验和。

校验和是完整性保护措施,其通过在数据串中添加成分并存储该数据来实现。随后可通过对该数据执行相同的操作并校验“和”,来检验对象未被破坏。在本发明中,校验和被用作事务的通用唯一标识符(UUID)。例如,可以根据主机串、用户串、应用串和事务的事务串的MD4校验和来生成UUID。

事务UUID可通过相关器链接到其它UUID的相关事务。例如,当一个子事务被创建时,相关器会将父事务的UUID或校验和传递给该子事务。如前面所提到的,相关器用于表示两个或多个事务之间的关系。相关器用于将复杂的事务解析为父/子关系,其中每个子事务都可以具有它自己的子事务。相关器通常包含关于用户事务的信息,诸如,唯一事务ID(不管该事务请求完成与否)和事务完成之前所耗费的时间量。

具体地,本发明的机制提供了一种关系表,或关系映射,其包含每个事务的下列信息:

根事务UUID

父事务UUID

当前事务UUID

当一个事务被创建时,该事务将描述其拓扑的一行插入到该关系表中。该拓扑包括关于当前事务UUID、其根事务UUID及其父事务UUID的信息。这些UUID被用作为到系统表中的主键码,该系统表包含到描述该公用事务信息的表行的链接。

通过使用MD4校验和UUID作为到包含事务的所有发生的公用信息的系统表中的主键码,不必等待相关的机器数据被上载到服务器以插入节点信息并保存拓扑信息。因而,不需要进行处理来建立所上载的数据的事务链接。

例如,如果一个子事务“55”被上载,该子事务会了解它的父事务是“54”而它的根事务是“1”。尽管不知道关于这些相关事务的任何其他情况,该子事务将它自身的事务信息添加到系统表,然后将主键码信息添加到系统表。该主键码信息描述当子事务的父事务及根事务在以后的时间被上载到服务器时该子事务的父事务及根事务将被保存的内容。因而,尽管根/父主键码可能实际上不存在于描述该子事务的属性的关系表中,但是当根/父事务信息被上载到服务器时,该根/父事务信息被添加到系统表中且该子事务会自动与该新上载的事务节点链接。

尽管本发明中的示例性例子描述使用表来存储事务信息,但必须指出,任何数据结构都可用于存储事务信息,例如数据库列表、数组等。

现在转到图4,其是示出根据本发明优选实施例的用于在分布式数据处理系统中监测事务的示例组件的框图。客户端402是诸如图1中的客户端108、110和112的客户端的一个例子。应用服务器404是数据处理系统上的一个进程,诸如图1中的服务器104,其可作为组合的Web服务器/应用服务器起作用。

在该例中,客户端402向应用服务器404发送请求。该请求可采用多种形式,诸如HTTP或web服务请求。该请求还可以包含相关器,该相关器允许事务性能监测器406将这一事务与另一事务或子事务相关联。

应用服务器404担当客户端请求与需要运行以提供所请求的服务的应用组件之间的媒介。应用服务器404调用适当的服务组件以满足该请求,这些服务组件诸如服务组件408、410和412。服务组件408、410和412每个都包含执行特定功能所需的所有逻辑。服务组件408、410或412解释该请求,执行所需功能,并向应用服务器404发送应答。然后,该应答被呈递给客户端402。

图5是用于实现本发明优选实施例的数据库模式。数据库模式500可以以存储和链接被上载的事务的数据库来实现。

在这一示例性例子中,数据库模式500包括主机表502、应用表504、用户表506、及事务表508。主机表502包括主机ID 510和主机名512字段。类似地,应用表504包括应用ID 514和应用名516字段,用户表506包括用户ID 518和用户名520字段,及事务表508包括事务ID 522和事务名524字段。当创建校验和以检验主机名512、应用名516、用户名520及事务名524字段中的值时,就要使用这些字段内的值。

例如,当在一个应用中发生事务时,ARM引擎使用相关的事务串(在这个例子中为主机名512、应用名516、用户名520及事务名524)生成那些值的校验和。所生成的校验和用作该事务的唯一ID(UUID)。节点表528中的当前节点ID 526是用于标识该事务的MD4校验和。如当前节点ID 526所示,所生成的主机/应用/用户/事务串的校验和将主键码提供到节点表528。如果这一特定事务以后再次在这台机器上发生,则被传递给ARM引擎的这些相同值将会生成相同的校验和,从而具有相同的UUID。然后,这一校验和值或UUID通过相关器被传递给发生的任何子事务。

当拓扑中的节点被上载到数据库,而该数据库以前未见到过该节点时,在关系映射表530内为每个事务创建一个条目。关系映射表530包含每个事务的拓扑信息。例如,关系映射表530包括当前节点ID 532、父节点ID534及根节点ID 536。当前节点ID 532是用于标识该事务的MD4校验和。父节点ID 534是标识父事务的MD4校验和。根节点ID 536是标识根事务信息的根事务MD4校验和。对于所发生的第一个事务,由于不存在父节点ID,所以该事务被认为是该事务树的根节点ID。该根节点ID被向下传递给所有的子事务并在整个事务树的相关器中保持不变。例如,当从一个父事务创建一个子事务时,该子事务生成它自己的UUID,或当前节点ID。通过相关器从父事务接收到的标识父事务的UUID被用作父节点ID 534。通过相关器从父事务接收到的标识根事务的UUID被用作根节点ID 536。随着当前子事务变成随后的子事务的父事务,这一过程重复往下直到叶子事务节点。

当事务数据到达主机时,关系映射表中的当前节点ID值被用来查询节点表。根据该查询,可以获得主机/应用/用户/事务表的UUID。根据这些UUID,可以执行查询以获得特定事务的信息。此外,为了检索事务的父事务或根事务的串,可使用父节点ID或根节点ID来查询并获得关于这些相关事务的信息。

因而,UUID被用作到事务的相关节点的存储器指针。尽管MD4校验和为同一节点的不同发生提供可重复的“存储器”位置,但关系映射表将这些关系绑定在一起以构成树型拓扑中的一个节点,树型拓扑在下面示出。

现在转到图6A-6B,其示出了根据本发明优选实施例的示例事务树型拓扑。具体地,图6A-6B示出了怎样建立树型拓扑并将其存储在数据库内。该拓扑可在诸如图1中的数据处理系统100的数据处理系统中实现。

具体地,图6A示出了具有相关事务的树型拓扑600,这些相关事务具有它们对应的UUID。事务0602被认为是这个树型拓扑的根节点或边缘事务。当事务0 602被创建时,事务0生成它自己的UUID,例如UUID:0011223344556677 604。由于事务0 602是初始事务,所以事务0 602的根节点ID与当前节点ID相等,且事务602没有父事务。因此,如图6B所示,当向数据库添加事务0 602的事务信息时,将该事务的根节点ID 606设为与当前节点ID 610相等,并将父节点ID 608设为空。根据需要添加主机/应用/用户/事务表,并在节点表中创建一行,将当前节点ID值用作为到另一个包含该事务的全部发生的公用信息的系统表的主键码。此外,可通过作为列包括在所插入的行中的数据库排序的ID来访问主机/应用/用户/事务条目的标识信息。

事务1 612生成它自己的UUID 614。由于事务1 612被认为是事务0602的子事务,因此将其根节点ID 616设为事务0 602的UUID,并将其父节点ID 618也设为事务0 602的UUID。然后,向数据库添加这些ID值。事务2 622、事务3 624和事务4 626的UUID以相同的方式产生。

为了引出特定事务的树型拓扑,通过查询关系映射表中父节点ID为空之处来查询所有的根事务。结果是进入ARM检测应用的所有进入点的列表。在选择这些根节点中的一个时,可以通过查询关系映射表中父节点ID与根节点ID相等之处,来识别该根节点的子事务。进一步引出树型拓扑,通过查询关系映射表中父节点ID与当前节点ID相等之处,可同样在该关系映射表中发现每个节点的子事务。

以这种方式,当一个子事务(诸如事务4)的事务信息被保存时,将该事务信息插入到表中,如上面所述的那样。如果事务0-3的事务信息还未被保存,则对于事务4的事务信息的查询将不会返回任何关于该事务的父事务或根事务的信息。但是,事务4仍以这样一种方式被保存,即当将事务0-3上载到服务器数据库时,不需要查询或更新事务4的数据库记录,因为它被自动与其相关的事务链接。

图7是根据本发明优选实施例的用于使用MD4校验和作为主键码链接跨机器事务的过程的流程图。执行该过程,以向数据库添加以某种有效的方式将该事务链接到其他相关事务的事务信息。为简化该过程,客户端可以将每个节点的事务数据保留在存储器中。客户端可以创建一组以与该数据库中的表的格式相同的格式的文件,以便容易地将该事务数据直接保存到数据库中。

该过程开始于将事务从客户端上载到事务数据库中(步骤702)。该上载包括事务的校验和。然后,对在关系映射表中是否存在该事务的条目进行确定(步骤704)。如果存在,则认为主机/应用/用户/事务和节点表已被添加,且该过程终止。

如果在关系映射表中不存在该事务的条目,则向节点表中插入一个条目(步骤706)。将当前事务的值添加到该节点表中的该条目中。该条目包括当前事务ID(即校验和)到主机/应用/用户/事务表中的事务信息的链接。接着,在关系映射表中插入一个条目(步骤708)。将当前事务的值添加到关系映射表中的该条目中。该条目描述该事务的拓扑且包括该事务的当前节点ID(即校验和)、父节点ID和根节点ID。

此外,一旦对关系映射表插入了以上条目,就可以保存聚类和实例信息。通过将关系映射数据库ID插入到实例或聚类表中(步骤710),而将该事务保存到链接回到关系映射表的实例或聚类表中。

一旦已对关系映射表插入了该事务的条目,当诸如根或父事务的相关事务以后被上载到数据库时,便可以将在上述过程步骤中创建的关系映射表条目中的当前节点ID(即校验和)用作为到系统表中的主键码,该系统表包含特定事务的公用事务信息(步骤712)。通过在上述过程中向关系映射表添加事务UUID和相关父与根事务UUID,当从客户端向事务数据库上载数据时,可自动将最近更新的事务(例如根/父事务)链接到其相关事务。

从而,本发明使用校验和作为主键码链接跨机器事务,来保存事务的关系信息。由于上面提供的详细描述,本发明的优点应是显而易见的。当使用现有方法将数据上载到事务数据库时,可以建立相关事务间的链接。但是,这样的任务已被证实是无效且耗费时间的,因为当事务被上载时需要处理时间来建立事务的链接。相反,本发明的机制允许在从每台主机上载事务数据时自动链接事务的关系拓扑。通过使用校验和作为主键码,不必等待相关机器数据被上载到服务器以插入事务信息和保存拓扑信息。以这种方式,不需要处理时间来建立所上载数据的链接。

重要的是应该指出,尽管本发明是在完整功能的数据处理系统的情境下被描述的,但本领域的普通技术人员将理解,本发明的处理能够以指令的计算机可读介质的形式及各种形式来分布,且不管实际用于执行该分布的特定类型的信号承载介质如何,本发明都同样地应用。计算机可读介质的例子包括可记录型介质,诸如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM,和传输型介质,诸如数字和模拟通信链路、使用诸如射频和光波传输的传输形式的有线或无线通信链路。计算机可读介质可以采用编码格式的形式,该编码格式在特定的数据处理系统中被解码以供实际使用。

本发明的描述是为例示和说明的目的而提供的,其并不是穷举性的或将以所公开的形式来限制本发明。许多修改和变化对于本领域的普通技术人员来说都是显而易见的。上述实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并使本领域的普通技术人员能够理解,本发明具有各种修改的各种实施例都适合于所预期的特定用途。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号