管理、录入或重放执行应用进程时的非确定性操作的方法技术

技术编号:2834921 阅读:184 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种特别地通过录入和重放来进行的用于软件操作的管理方法,该软件操作是在执行在计算机上执行的应用进程的过程中执行的。这一方法特别地适用于向受管理的进程发送结果数据的内部操作并且包括如下步骤:基于受管理的进程的状态或者应用(AOP,ASB)的状态来进行称为预测函数(FH)的确定性软件处理以提供用于所述操作的预测结果(RP);进行比较测试以确定预测结果(RP)的值是否对应于实际结果(DR,RRJ)的值;执行所述受管理的操作的补充管理阶段(CH,DH),这一补充管理视先前测试的结果而定。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种特别地通过记录或者外部监视来进行的用于软 件操作的管理方法,该软件操作是在执行在计算机上执行的应用进程的过程中进行的。这一管理特别地应用于以录入数据(logging data)的形式来记录操作或者根据与先前已录入的执行相对应的给定 执行来重放操作。该方法特别有利地适用于执行这 一 进程的内部事件的操作,该 进程本身可以是多进程和/或多计算机软件应用的 一部分。本专利技术还涉及一种系统,该系统在它所执行的软件应用的运作 管理中实施这样的方法。本专利技术的领域是独立的或者在网络中的计算机或者是由 一起工 作的多个计算机形成的计算机"集群"的领域。这些集群用来执行向 用户提供一个或者多个服务的软件应用。这样的应用可以是单进程 或者多进程,并且在单个计算机上执行或者例如作为MPI ("消息传 递接口")型或者"共享式存储器"型的分布式应用而分布于多个计算 机上。特别地,本专利技术实现了例如通过称为中间应用的另 一软件应用 (例如"中间件"型的应用)在集群内进行对称为主应用或者主要应 用的这种应用的运作管理。这一运作管理除可以包括其它操作之外 还可以包括如下操作在主要节点内或者与称为辅节点的其它节点 相协作,对这一应用的全部或者一部分进行复制、重新分布、可靠 化(reliabilization )或者跟踪或调试。
技术介绍
在这一操作管理的背景下,通常有用的是录入主要应用或者它 的进程之一的运作,即记录代表这一运作的数据,使得能够重构执 行。随同主要应用执行一起,这一数据随后以录入数据的形式来生 成并且被发送到一个或者多个辅节点以供存储和备份。例如为了具体地跟踪和研究主要应用的运作,于是有可能在受一运作。另外作为例子,如果主要应用经历故障、特别是硬件故障,则 有可能在辅节点上创建新的备用应用以便替换主要应用所提供的服 务。然后可以在已知状态下、例如在先前记录的重启点状态下创建 这一备用应用。根据主要应用的录入数据,于是有可能强制备用应 用重构直到故障时刻为止主要应用的执行。在这一重构或者重放之 后,备用应用在与直到最后事件为止的应用相同的状态下,其录入 数据已经在主要节点外部被接收。如果已经录入和发送在故障之前 的所有事件直到发生故障为止,则备用应用随后可以进行接管而对用户的服务几乎没有中断或者完全没有中断。然而目前很多现有应用不具备这样的管理功能,并且修改它们 以便向它们添加这些功能将过于复杂和昂贵。包括在计算机或者主要节点的系统软件中实施这些功能的解决 方案呈现出一些严重的缺陷,比如错误风险、在网络内的不稳定或 者不兼容以及对于系统软件领域特殊技能的要求。此外,本专利技术的专利技术人提出 一 种包括由如下中间应用接管这些 管理功能的解决方案,该中间应用主要在用户存储器空间中执行并 且在系统软件本身内仅需少量修改。然而,在这类解决方案中,除其它方面之外,就主要应用本身 的执行以及所用通信网络而言,录入数据的创建和处理以及它从主 要节点传输到辅节点代表了繁重的计算量。在现有技术中,主应用于是经历这样的性能损失通常不能在开发利用情形下令人满意地 使用这一运作管理。事实上,为了能够以连贯的方式或者甚至完整的方式来表现主要应用的执行,待记录和待传输的事件通常非常之多。另外,大多 数这些事件对应于执行起来很快的操作,特别是在主要节点的硬件 或者软件资源内部的事件,例如系统调用,该调用请求分配信号标志(semaphore)或者读取存储器中的数据项。对照而言,对于这些事件中的各事件,录入数据的生成和存储 以及传输是时间长得多的操作,特别是对于内部事件更是如此。事实上,录入各事件就其本身而言是一种需要至少一个并且通 常是多个软件操作的过程,各软件操作构成了至少与已录入事件本 身相等的负荷和工作时间。根据内部事件的类型和实施方式,对于 各事件,该录入使有所增加的负荷或者工作时间增加100至IO,OOO 倍。另外,用于向计算机外部进行传输的硬件和软件协议具有相对 于已录入事件的数目而言通常不良的性能,这也是对网络使用的干 护G以及主应用的性能瓶颈。存在某些解决方案,其允许特别是通过不录入非确定型事件来 减少待录入的事件数目。如果事件或者构成该事件的操作、特别是软件操作的执行结果 ^f又耳又决于在它的初始时刻存在的初始状况,则它可以纟皮限定为确定 性的。更特别地,在如这里描述的管理单一操作或者执行或者运作 的背景下,如果操作从发起它的进程的观点来看是确定性的,即如 果它向这 一 进程发送的结果仅取决于这 一 进程的初始状态,则可以 将该操作称之为确定性的。类似地,连续一串确定性操作可以将其 自身构成为确定性序列。在运行应用进程时,所执行的很多操作是确定性的,特别是在 内部操作之中更是如此。例如,如果数学或者逻辑内部操作仅影响 如下这些资源,则它们往往是确定性的,这些资源形成这一进程的 初始状态的 一 部分并且该进程独自就可以修改这些资源。反言之,向共享式资源应用的一些操作相比于这样的进程而言 通常是非确定性的。例如,如下请求可能是非确定性的,该请求针对覆盖与其它进程共享的存储器区的"lock (锁定)"或者共享式信号标志的归属。事实上,其结果,即是否获得这一锁定或者这一归 属可能取决于有时已经保留或者还没有保留这 一 资源的其它进程的 状态或者动作。然而,非确定性事件的重放以及特别是录入仍然构成性能损失, 而减少该性能损失可能是有用的。特别地,在运行主应用的同时, 录入操作代表了操作节点的工作量,并且可能是由于中间应用的动 作而造成性能下降的起因。
技术实现思路
本专利技术的一个目的在于克服这些缺陷中的所有或者一些缺陷。特别地,本专利技术的目的在于获得-减少因内部事件的录入或者处理而生成的工作量;-减少待传输的录入数据的数量;-减少非确定性事件的数目,在该非确定性事件中必须存储结果 以便能够产生赋予同一结果的重放。本专利技术提出 一种用于管理非确定性软件操作的方法,该非确定 性软件操作是在由至少 一 个计算机执行的称为受管理的进程的应用 进程的单一操作内的程序指令所发起的,在该情况下所述操作的表 现在于向所述受管理的进程发送称为实际结果的至少一个结果数 据。这一方法包括如下步骤-基于受管理的进程的状态或者如它在所述操作之前所属于的 应用的状态来进行称为预测函数的确定性软件处理,以便提供很可 能与实际结果相对应并且构成针对所述操作的预测结果的值;-进行比较测试以确定预测结果的值是否对应于实际结果的值;-针对所述受管理的操作执行补充管理阶段,这一补充管理视先 前测试的结果而定。本专利技术因此提出执行对非确定性操作的管理,该管理取决于这些操作是否顺应已知或者可计算的确定性预测,该预测能够被视为 一类可再现顺应性网格。因此有可能在操作结果顺应这一 网格的情 况下减少管理工作量。这 一 收益关于录入操作而言特别地敏感,这些操作必须不但被 记录于主要节点中而且通常被发送到外界,并且在利用主要应用的 过程中也是如此。本专利技术由此产生一种待录入的操作或者事件的预测性或者试探 性压缩形式,并且可以减少需要整体管理的这些操作或者事件的比 例。事实上,如果操作如预测的那样表现,则它发送的结果实质上 不再需要被录入,因为可以根据可以在适当的时候重新使用的已知 方法在本文档来自技高网
...

【技术保护点】
一种用于管理非确定性软件操作(EVINd)的方法,所述非确定性软件操作(EVINd)是在执行由至少一个计算机(OP,SB)执行的称为受管理的进程(P1,PB1)的应用进程时由程序指令发起的,所述操作的表现在于向所述受管理的进程发送称为实际结果(DR,RRJ)的至少一个结果数据,    这一方法包括如下步骤:    -基于所述受管理的进程的状态或者如它在所述操作(EVInd)之前所属于的应用(AOP,ASB)的状态来进行称为预测函数(FH)的确定性软件处理,以便提供很可能与所述实际结果相对应并且构成针对所述操作的预测结果(RP)的值;    -进行比较测试以确定所述预测结果(RP)的值是否对应于所述实际结果(DR,RRJ)的值;    -针对所述受管理的操作执行补充管理阶段(CH,DH),这一补充管理视先前测试的结果而定。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:M韦尔特
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1