论文部分内容阅读
在面向服务的网格系统中,服务是一种自治的、跨平台的计算行为集合.由于服务自身特点以及执行环境等诸多因素的限制,服务调试是一项非常困难的任务.在正常执行环境下,根据实际调用需要进行服务的交互式调试成为一个焦点问题.由于传统调试技术和工具是在特定架构的调试环境中执行,因此这种按需调试要求的出现为动态调试网格服务研究提出了新课题.
在服务调试中以下工作得到一致的执行:1) 对服务行为的跟踪及其执行上下文的分析;2) 选择可能发生故障的可疑服务行为;3) 孤立可疑的行为并对其实施进一步的调试;4) 对出现错误的行为或服务实现进行修改;5) 重新调试修改后的服务调用.本文集中讨论上述工作,以自标识方式调试正常执行环境中的服务调用,以层次化处理方法逐级缩小服务调用的故障查找范围,以共存的方式允许多用户在单一或多个服务环境下在线检查服务调用,进而达到按需调试的目的.
本文提出了一种全新的按需调试机制,给出了相关的设计原则、调试模式、以及调试器结构.在遵守单一非全部,分层调试和调试共存三个原则以及相关的运行时服务定义和规则基础上,这种机制采用标准的服务消息协议处理调试命令请求和响应,采用具有服务行为操作语义的控制逻辑管理服务执行状态和行为断点,采用元级表示法处理相关服务调用执行过程中的上下文元素.在服务调试过程中,这种机制通过自标识检测有效地避免了多个服务调用调试可能产生的相互影响,为网格服务提供了一种多对多在线调试方法.同时,通过源码级调试环境配置以及必要的消息上下文元素交换,服务行为迁移调试处理方法扩展了常规调试技术和工具的使用范围,并使其更方便有效地用于服务行为的源码级调试.为此,本文给出了一个织女星服务调试器(Vega Service Debugger)原型系统实现,该系统支持对服务调用中服务行为的跟踪,执行状态和行为断点的管理,服务执行上下文的查询和修改,服务行为补偿策略的实施,以及服务行为调试的切换等操作.
网格服务按需调试的实现解决了如何在正常执行环境下交互调试服务调用的问题,特别是基于Intemet环境和地理上分布的试验床网格服务运行环境.不必考虑重复架构一个完整服务调试场景,这一实现突破了在本地开发机器或演示机器上使用传统调试方法的限制.有鉴于T. Evans和D.Darley的调试受限观点:使用计算机受调试技术的限制远大于受其内存大小和处理器速度的限制,可以预计这种按需调试器将成为网格与服务计算实验室中更加有用的调试工具之一.