首页> 中国专利> 实时在线技术支援

实时在线技术支援

摘要

描述一种通过用于实时在线技术支援的信息处理系统执行的方法。在示例性方法中,读取错误消息(402)以从此处获得错误代码(323)。搜索项目目录(413)以获得报告(414);其中所述报告(414)指示多个可执行模块(321)的故障模块,并且其中所述报告(414)与所述错误消息(402)相关联。从所述错误消息(402)中识别错误源。从所述报告(414)中识别所述故障模块的故障阶段。用于所述错误消息(402)的案例询问(415)准备用于搜索解决错误的文件(320),其中所述案例询问(415)识别所述故障阶段。访问网络并且通过所述网络发送所述案例询问。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-07

    授权

    授权

  • 2016-01-13

    实质审查的生效 IPC(主分类):G06F11/07 申请日:20130813

    实质审查的生效

  • 2015-08-26

    公开

    公开

说明书

技术领域

本发明涉及实时在线技术支援。更确切地说,本发明涉及一种用于自动 检索纠错方案的信息的应用程序。

背景技术

迄今为止,如果用户在运行应用程序时碰到任何错误,用户可以通过执 行基于网络的关键字搜索以及访问多种可能网络数据库中的任一者中的信 息来检查解决方案。这可以涉及手动用户输入的多次重复以获得相关信息, 这可能是用以解决错误的一个耗时过程。此外,响应于此种搜索返回的信息 可能不是一致的、可靠的和/或可信赖的。另外,可能对由用户选择的关键 词存在高量依赖性,以执行此种搜索以便获得相关信息。

因此,按需求提供克服上述问题中的一者或多者的支援将是合乎需要的 且有用的。

发明内容

一个或多个实施例通常涉及实时在线技术支援。

描述一种通过用于实时在线技术支援的信息处理系统执行的方法。在示 例性方法中,读取错误消息以从此处获得错误代码。搜索项目目录来获得报 告;其中报告指示多个可执行模块中的故障模块并且其中所述报告与错误消 息相关联。从错误消息中识别错误源。从报告中识别故障模块的故障阶段。 用于错误消息的案例询问准备用于搜索解决错误的文件,其中案例询问识别 故障阶段。访问网络并且通过网络发送案例询问。

任选地,所述方法可以进一步包含存储响应于案例询问检索到的文件的 一部分,所述部分与故障阶段相关联;以及使用错误代码搜索所述部分。

任选地,所述方法可以进一步包含存储在来自其搜索的部分中发现的错 误代码的匹配项,以及将匹配项显示在窗口中。

任选地,所述方法可以进一步包含:打开指示完成模块的第二报告;使 用源搜索第二报告;存储具有源的警报,所述源发现于来自其搜索的第二报 告中;存储在来自其搜索的部分中发现的错误代码的匹配项,将警报与匹配 项组合,用于在窗口中显示;以及将警报和匹配项显示在窗口中。

任选地,所述方法可以进一步包含打开指示完成模块的第二报告;使用 源搜索第二报告;以及存储来自第二报告的搜索的每一匹配。

任选地,所述方法可以进一步包含:存储响应于案例询问检索到的文件 的一部分,所述部分与故障阶段相关联;使用错误代码搜索部分;响应于在 来自其检索的部分中未发现错误代码的任何匹配项,启动包含故障阶段和错 误消息的网站案例;以及通过网络发送网站案例。

任选地,所述方法可以进一步包含:打开指示完成模块的第二报告;使 用源搜索第二报告;存储具有源的警报,所述源发现于来自其搜索的第二报 告中;以及将警报添加到网站案例。

任选地,所述方法可以进一步包含:产生网站案例的标题,所述标题包 含与故障阶段相关联的故障模块的名称和位置;以及将标题附加到网站案 例。

任选地,所述发送可以包含通过网络将网站案例提供到用户论坛地址和 技术支援地址两者。

还描述一种示例性系统。所述系统包含用于在线托管文件的第一服务 器,其中所述文件包含多个部分和用于多个部分的多个子部分。多个子部分 与一个或多个错误记录相关联。一个或多个错误记录与一个或多个错误代码 相关联,所述一个或多个错误代码与可以根据多个子部分出现的一个或多个 错误相关联。与第一服务器以通信方式耦合的至少第二服务器还包含在系统 中,用于托管多个数据库。错误记录具有到多个数据库中的至少一者的至少 一个链路,用于从此处提取相关信息以解决一个或多个错误。

任选地,在此系统中:第一服务器可以经编程以响应于案例询问的接收 搜索文件;第一服务器可以经编程以响应于案例询问创建子部分中的一子部 分的副本;以及第一服务器可以经编程以将子部分的副本发送到起始案例询 问的客户端。

任选地,第一服务器可以经编程以更新文件,从而创建网站案例的项目。

任选地,所述网站案例可以包含多个部分中的一部分、多个子部分中的 一子部分以及具有一个或多个错误代码中的一错误代码的错误消息。

任选地,所述网站案例可以进一步包含到多个数据库中的一者或多者中 的技术支援请求的第一链路;以及到多个数据库中的一者或多者的社区论坛 帖子的第二链路。

任选地,所述网站案例可以进一步包含到多个数据库中的一者或多者的 文件编制的第三链路。

还描述一种用于实时在线技术支援的计算机程序产品。所述计算机程序 产品包含有形的计算机可读存储媒体,以及存储在有形的计算机可读存储媒 体上的计算机可读程序。计算机可读程序通过信息处理系统处理,用于使信 息处理系统执行如下操作。读取由应用程序产生的错误消息以从错误消息中 获得错误代码。搜索项目目录以获得由应用程序产生的报告。应用程序包含 多个可执行模块,并且报告指示与错误消息相关联的多个可执行模块中的故 障模块。从错误消息中识别错误源。从报告中识别故障模块的故障阶段。错 误消息的案例询问准备用于搜索错误解决方案的在线文件,其中案例询问包 含故障阶段。访问网络并且通过网络发送案例询问。

附图说明

附图示出示例性方法和系统。然而,附图不应限制所示出的实例,而是 仅用于解释和理解。

图1是描绘示例性柱状现场可编程门阵列(“FPGA”)架构的简化框图。

图2是描绘示例性常规调试流的框图/透视图。

图3是描绘示例性实时在线技术支援流的框图/透视图。

图4是描绘示例性调试流的流程图。

图5是描绘示例性网络可访问的服务器流的流程图。

图6是描绘示例性调试流的流程图,其可以是图4的调试流的延伸。

图7是描绘示例性网站案例项目产生流的流程图。

图8是描绘示例性文件创建流的流程图。

图9是描绘另一示例性网络可访问的服务器流的流程图。

图10是描绘用于图9的服务器流的示例性网站案例流的流程图。

图11是描绘示例性计算机系统的方框图。

具体实施方式

在以下描述中,阐述众多具体细节以提供对具体实例的更透彻描述。然 而,对所属领域的技术人员而言应显而易见的是,可以在没有以下给出的所 有具体细节的情况下实践一个或多个实例。在其它情况下,未详细描述众所 周知的特征,以免混淆一个或多个实例。为了便于说明,在不同的图中使用 相同的数字标记以指代相同的项目;然而,所述项目在替代实施例中可以是 不同的。

在以下描述中,出于解释的目的,阐述特定的术语以提供对本文所揭示 的多个发明性概念的透彻理解。然而,对所属领域的技术人员而言将显而易 见的是,不需要这些具体细节来实践本文所揭示的多个发明性概念。

关于计算机存储器内的数据位的操作的算法和符号表示呈现以下详细 描述的一些部分。这些算法描述和表示为数据处理领域的技术人员用以将其 工作的主旨最有效地传达给所属领域的其它技术人员的方法。在本文中,且 一般将算法构想为产生所需结果的步骤的自恰序列。所述步骤为需要物理量 的物理操纵的那些步骤。通常(尽管未必),这些量呈能够被储存、转移、 组合、比较和以其它方式操纵的电或磁性信号的形式。主要出于常用的原因, 已证实将这些信号指代为位、值、元件、符号、字符、术语、编号等有时为 便利的。

但是,应牢记,所有这些和类似术语与适当物理量相关联,且仅仅为应 用于这些量的便利标记。除非另外确切地陈述为如从以下论述显而易见,否 则应了解,在整个描述中,使用如“处理(processing)”或“计算 (computing/calculating)”或“确定(determining)”或“显示(displaying)”等 的术语的论述是指将表示为计算机系统的寄存器和存储器内的物理(电子) 量的数据操纵和变换为类似地表示为计算机系统存储器或寄存器或其它此 类信息储存、传输或显示装置内的物理量的其它数据的计算机系统或类似电 子计算装置的动作和处理。

本系统和方法还涉及用于执行本文中操作的设备。此设备可以专门构造 用于所需目的,或其可以包括通过存储在计算机中的计算机程序选择性地激 活或重新配置的通用计算机。此计算机程序可以存储在计算机可读存储媒体 中,例如(但不限于)任何类型的盘,包含软盘、光盘、CD-ROM和磁光 盘、只读存储器(“ROM”)、随机存取存储器(“RAM”)、EPROM、EEPROM、 磁卡或光卡或适合于存储电子指令并且各自耦合到计算机系统总线上的任 何类型的媒体。

本文中呈现的算法和显示器并非在本质上与任何特定计算机或其它设 备相关。各种通用系统可以根据本文中的教示与程序一起使用,或其可证明 为便于构造更专用设备以执行所需方法步骤。将从下文的描述中呈现多种这 些系统的结构。另外,并不参考任何特定编程语言来描述本文中包含的实例。 应了解,多种编程语言可以用于实施如本文所述的教示。

在描述若干图中说明性地描绘的实例之前,提供总体介绍以有助于进一 步的理解。如下文所描述,应用程序可以包含或可以访问调试器,以按需求 提供(“实时在线”)技术支援,这可以用于避免耗时的手动搜索。可以响应 于错误消息使用或调用此调试器且其后检查以确定是否存在此种错误的应 答记录,并且如果不存在,则创建对于技术支援(“网站案例”)和/或用户的 社区帖子的请求以为用户解决此种错误。顺着这些线索,可以从一个或多个 可用数据库中自动地提取用于调试错误的相关信息,无论是对用户的计算机 本地的还是通过用户的计算机可在线访问的。

通过牢记上述总体理解,在下文中大体上描述了用于实时在线支援的多 个示例性调试器。由于这些实例中的一者或多者使用1C的特定类型例示, 因此下文提供此1C的详细描述。然而,应理解,其它类型的应用程序可以 得益于本文中描述的实例中的一者或多者。

可编程逻辑装置(“PLD”)是众所周知的类型的集成电路,所述集成电 路可以经编程以执行特定的逻辑功能。一种类型的PLD,即现场可编程门阵 列(“FPGA”)通常包含可编程单元片的阵列。这些可编程单元片可以包含, 例如输入/输出块(“IOB”)、可配置逻辑块(“CLB”)、专用随机存取存储器 块(“BRAM”)、乘法器、数字信号处理块(“DSP”)、处理器、时钟管理器、 延迟锁定环路(“DLL”)等等。如本文所使用,“包含(include/including)” 意指包含但不限于。

每一可编程单元片通常包含可编程互连和可编程逻辑两者。所述可编程 互连通常包含通过可编程互连点(“PIP”)互连的大量不同长度的互连线。 所述可编程逻辑使用可以包含例如函数产生器、寄存器、运算逻辑等等的可 编程元件实施用户设计的逻辑。

通常通过将配置数据流加载到定义可编程元件的配置方式的内部配置 存储器单元中而对所述可编程互连和可编程逻辑进行编程。配置数据可以通 过外部装置从存储器(例如,从外部PROM)中读取或写入FPGA中。随后, 个别存储器单元的集体状态确定FPGA的功能。

另一种类型的PLD为复杂可编程逻辑装置,或CPLD。CPLD包含通过 互连开关矩阵连接在一起并且连接到输入/输出(“I/O”)资源的两个或两个 以上“功能块”。CPLD的每一功能块包含与在可编程逻辑阵列(“PLA”)和 可编程阵列逻辑(“PAL”)装置中使用的结构类似的二层与/或(AND/OR) 结构。在CPLD中,配置数据通常片上存储在非易失性存储器中。在一些 CPLD中,配置数据片上存储在非易失性存储器中,然后作为初始配置(编 程)序列的一部分下载到易失性存储器上。

对于所有这些可编程逻辑装置(“PLD”),所述装置的功能性由为了该 目的而提供给装置的数据位控制。数据位可以存储在易失性存储器(例如, 如在FPGA和一些CPLD中的静态存储器单元)、非易失性存储器(例如, 如在一些CPLD中的快闪存储器)或任何其它类型的存储器单元中。

通过应用以可编程的方式互连所述装置上的多个元件的处理层(例如, 金属层)对其它PLD进行编程。这些PLD被称为掩模可编程装置。PLD还 可以用其它方式来实施,例如,使用熔丝或反熔丝技术。术语“PLD”和“可 编程逻辑装置”包含但不限于这些示例性装置,并且涵盖仅仅部分可编程的 装置。例如,一种类型的PLD包含经硬编码的晶体管逻辑与以可编程的方 式互连所述经硬编码的晶体管逻辑的可编程开关构造的组合。

如上文所述,高级FPGA可以在阵列中包含若干不同类型的可编程逻辑 块。例如,图1说明包含大量不同可编程单元片的FPGA架构100,所述可 编程单元片包含多千兆位收发器(“MGT”)101、可配置逻辑块(“CLB”) 102、随机存取存储器块(“BRAM”)103、输入/输出块(“lOB”)104、配置 和定时逻辑(“CONFIG/CLOCKS”)105、数字信号处理块(“DSP”)106、 专用输入/输出块(“I/O”)107(例如,配置端口和时钟端口),以及其它可 编程逻辑108,例如,数字时钟管理器、模/数转换器、系统监控逻辑等等。 一些FPGA还包含专用处理器块(“PROC”)110。

在一些FPGA中,每一可编程单元片包含规范化地连接到以及连接自每 个相邻单元片中的对应互连元件的可编程互连元件(“INT”)111。因此,所 述可编程互连元件结合在一起实施用于所说明的FPGA的可编程互连结构。 可编程互连元件111还包含到以及至同一单元片内的可编程逻辑元件的连 接,如通过包含在图1的顶部处的实例示出。

例如,CLB 102可以包含可以经编程以实施用户逻辑的可配置逻辑元件 (“CLE”)112加上单个可编程互连元件(“INT”)111。除了一个或多个可编 程互连元件之外,BRAM 103可以包含BRAM逻辑元件(“BRL”)113。通 常,包含在单元片中的互连元件的数目取决于所述单元片的高度。在所描绘 的FPGA中,BRAM单元片具有与5个CLB相同的高度,但是还可以使用 其它数目(例如,四)。

除了适当数目的可编程互连元件之外,DSP单元片106还可以包含DSP 逻辑元件(“DSPL”)114。IOB 104可以包含(例如)除了可编程互连元件 111的一个实例之外的输入/输出逻辑元件(“IOL”)115的两个实例。所属 领域的技术人员将清楚的是,例如,连接到I/O逻辑元件115的实际I/O衬 垫通常不受输入/输出逻辑元件115的范围的限制。

在所描绘的FPGA中,靠近裸片(在图1中示出)中心的水平区域用于 配置、时钟和其它控制逻辑。从此水平区域或列延伸的垂直列109用于横跨 FPGA的宽度来分布时钟和配置信号。

利用图1中所说明的架构的一些FPGA包含额外的逻辑块,所述逻辑块 破坏组成FPGA的较大部分的规则柱状结构。所述额外的逻辑块可以是可编 程块和/或专用逻辑。例如,处理器块110跨越CLB和BRAM的若干列。

应注意,图1仅意图说明示例性FPGA架构。例如,行中的逻辑块的数 目、行的相对宽度、行的数目和顺序、包含在行中的逻辑块的类型、所述逻 辑块的相对大小,以及包含在图1顶部处的互连/逻辑实施方案仅仅是示例 性的。例如,在实际的FPGA中,CLB的一个以上相邻行通常包含在CLB 出现处,以促进用户逻辑的有效实施,但相邻CLB行的数目随FPGA总体 尺寸的变化而变化。

图2是描绘示例性常规调试流200的框图/透视图。在执行软件应用(“工 具”)210时,使用计算机206的用户205可能遇到错误。在过去,用户205 将单独地通过互联网云204向一个或多个数据库201至203手动地询问以寻 找用于修复错误的解决方案信息。在此实例中,数据库201可以是(例如) 来自应答用户问题的技术支援的应答记录的网络可访问数据库。

技术支援人员所致力的开放用户问题可以称为“故障报告表”、“网站案 例”或其它名称。数据库202可以是具有应答用户问题的帖子和跟帖的一个 或多个网络可访问用户社区论坛。最后,数据库203可以是可以通过产品的 制造提供的网络可访问文件。如果一个或多个数据库201至203的检索并不 提供有用的解决方案,那么用户205通常将手动地创建用于技术支援的网站 案例以及用于用户社区的论坛帖子。

调试流200可以用于可能产生一个或多个错误的多种工具中的任一者。 为了清楚起见,借助于实例且非限制性地,描述电子设计自动化(“EDA”) 工具,即使在其它实例中可以使用其它类型的工具。EDA工具可以用于将 用户的电路设计变换成用于配置FPGA的配置信息,即将FPGA中的用户的 电路设计实例化,包含但不限于使用此FPGA的可编程资源的实例化。

在EDA工具210产生错误后,可以向用户205提供选择以在应答记录 数据库201中在线搜索应答记录或解决方案陈述。为了调用此在线搜索,用 户205可以单击错误消息或右键单击错误消息并且在应答记录选择中选择 搜索。在调用此在线搜索后,可以由用户205执行关键字搜索。从此种搜索 产生的结果可以显示在EDA工具210内的网页中或独立窗口中。如果应答 记录的此搜索无法帮助用户205解决错误,那么用户205可以在一个或多个 用户社区论坛数据库202和/或文件数据库203中执行一个或多个其它检索。 用户可以使用谷歌、必应、雅虎或一些其它搜索引擎进一步执行万维网搜索。 如果搜索无法帮助用户205解决它们的错误,那么用户205可以手动地创建 用于技术支援小组的网站案例和/或发帖对用户社区论坛进行询问。

不利的是,不同搜索空间通过用户205的手动询问是耗时的。由于对用 户用以搜索的关键字的依赖性,此手动搜索可能产生不一致的搜索结果。此 外,可以返回可能与修复讨论中的错误不相关的太多信息。另外,具有所有 相关信息的网站案例和/或论坛帖子的手动创建可以在用户中变化,从而引 起不一致和/或延长的分辨率。

图3是描绘示例性实时在线技术支援流300的框图/透视图。技术支援 流300可以通过信息处理系统执行。此信息处理系统可以包含计算机206、 服务器330、一个或多个服务器340和网络云204。在此实例中,网络云204 是互联网云。

当执行软件工具(“工具”)310时,使用计算机206的用户205可能遇 到错误。工具310可以包含用于调用技术支援应用程序(“调试器”)的图标 311,如下文另外详细描述。同样,在此实例中,数据库201可以是(例如) 来自应答用户问题的技术支援的应答记录的网络可访问数据库,也称为“网 站案例”。数据库202可以是具有应答用户问题的帖子跟帖的一个或多个网 络可访问用户社区论坛。最后,数据库203可以是可以通过产品的制造商提 供的网络可访问文件。

图标311或其它图形用户接口(“GUI”)可以用于调用调试器(下文为“调 试器311”)以自动搜索一个或多个数据库。数据库可以是在计算机206上本 地的或可以是在线的。为了清楚起见且非限制性地,应假设使用在线数据库 201至203。如果未发现有用的解决方案,那么调试器311可以自动地创建 用于技术支援的网站案例以及用于用户社区的论坛帖子。

技术支援流300可以用于可能遇到一个或多个错误的多种工具310中的 任一者。为了清楚起见,借助于实例且非限制性地,描述电子设计自动化 (“EDA”)工具,即使在其它实例中可以使用其它类型的工具。顺着这些线 索,技术支援模块311可以是调试器,并且技术支援流300可以是调试流。

在EDA工具310遇到错误后,用户205可以选择其图标来调用EDA工 具310的调试器311,以其后自动地搜索数据库,如下文另外详细描述。在 另一实施例中,EDA工具310可以响应于错误的产生自动搜索数据库,如 下文另外详细描述。然而,图标对于专家用户而言可能更有用,因为专家用 户205可能不希望响应于所产生的每一错误自动地搜索数据库。

调试器311可以通过互联网云204与服务器330通信以访问文件320。 服务器330可以是安全服务器。服务器330可以托管文件320。文件320可 以被细分成多个部分321,并且此类部分321中的一者或多者可以进一步被 细分成多个子部分322。部分321可以用于EDA工具310的多个可执行模 块。与部分-子部分相关联的一个或多个错误代码323可以位于此相关联子 部分中。

对于EDA实例,除其它之外,部分或EDA过程可以包含实施和合成。 子部分可以是此类EDA过程中的阶段。实施过程或部分的阶段或子部分(例 如)可以包含转换阶段、映射阶段以及放置和路由阶段。硬件描述语言 (“HDL”)可以包含但不限于Verilog、VHDL和SystemC。.合成过程或部 分的阶段或子部分可以包含HDL解析和细化阶段、HDL合成阶段、先进的 合成阶段以及低水平的合成阶段。每个阶段可以含有此EDA工具310通常 由于执行阶段时的竞争而针对此阶段产生的所有已知的错误代码。

每一错误代码323可以具有根据所述错误代码嵌入的与其相关联的信 息。根据错误代码323嵌入的此类信息可以包含到数据库201的一个或多个 在线应答记录链路324、到数据库202的一个或多个用户社区论坛链路325 和/或到数据库203的一个或多个文件编制链路326,以提供错误记录327。 子部分322可以与一个或多个错误记录327相关联,如下文另外详细描述。 一个或多个错误记录327可以与一个或多个错误代码相关联,所述一个或多 个错误代码与可以根据相关联子部分或阶段322出现的一个或多个错误相 关联。

例如,文件320的错误记录327被示为ISE合成部分321、HDL解析子 部分322、HDL编译器错误代码323、应答记录(“AR”)链路324、用户社 区论坛链路325和网络可访问文件链路326的实例。因此,例如,可以提供 到匹配的在线应答记录的链路,其中此种应答记录具有足够用于调试所遇到 的错误的信息/变通方案。应答记录可以由此EDA工具310的制造商/生产者 的产品应用工程师创建,其中此类应答记录可以突出所解决的错误以及用以 解决错误的步骤。可以提供到匹配的在线用户社区论坛链路的链路,其中此 论坛帖子和跟帖可以含有通过论坛成员提供的多个引导/调试步骤。此论坛 可以采用社交网络技术。可以提供到匹配的在线文件编制参考的链路,这可 以通过参考此种在线参考的一个或多个部分来帮助用户调试此种所遇到的 错误。

至少一个服务器340可以用于托管数据库201至203。错误记录327可 以具有到数据库201至203中的至少一者的至少一个链路,以从此处提取用 于解决一个或多个错误的相关信息。

服务器330可以经编程以响应于案例询问的接收而搜索文件320。响应 于错误,案例询问可以从调试器311发送到服务器330。更确切地说,响应 于所遇到的错误,通过EDA工具310产生的错误消息可以是调试器311发 送此案例询问的基础。服务器330可以经编程以响应于此案例询问创建文件 320的此类子部分322的子部分322的副本。顺着这些线索,在所识别部分 -子部分中的所有错误代码323可以被发送到计算机206以在计算机206上 提供本地副本312。此本地副本312可以存储在计算机206上并且可以显示 在EDA工具310的窗口312中。服务器330可以经编程以将文件320的子 部分322的此副本发送到客户端,例如,计算机206,从而起始此案例询问。

如果文件320中不存在错误记录327来对案例询问作出响应,或者如果 用户未找到此本地副本中的错误的解决方案,那么调试器311可以启动网站 案例并且在可以在文件320中创建项目用于此种未解决的问题,即,故障报 告表或网站案例。服务器330可以经编程以更新文件320,从而创建网站案 例的项目。为了清楚起见,借助于实例且非限制性地,错误记录329是网站 案例的实例。错误记录329可以包含部分321的一部分、子部分322的一子 部分以及具有错误代码323的一错误代码的错误消息。错误记录329可以进 一步包含指示所涉及的技术支援的网站案例编号和日期328。错误记录329 可以进一步包含到数据库202中的社区论坛帖子的链路325,以便让人注意 此错误目前正在社区用户论坛解决。错误记录329可以又进一步包含到与产 生此错误的位置相关联的数据库203中的文件编制的链路326。继续所说明 的实例,假设在运行调试器311已识别的合成时出现错误,则可以提供到合 成用户引导的链路。在应用工程师解决网站案例后,此应用工程师可以将此 解决方案记录在应答记录中并且将对应的网站案例编号链接到新的应答记 录。

图4是描绘可以通过信息处理系统执行的示例性调试流400的流程图。 调试流400可以用于图3的实时在线技术支援流300。同样,为了清楚起见, 借助于实例且非限制性地,应假设调试流400是用于EDA工具的用户的调 试流。同时参考图3和4,进一步描述调试流400。

在401处,所遇到的错误可以停止工具310的过程或模块,即,停止此 工具的流。响应于此错误,此工具310可以产生错误消息402。在403处, 响应于错误消息402,可以启动调试器311。同样,为了清楚起见且非限制 性地,用户205可以单击工具310的GUI的调试图标。

操作404至412可以通过在计算机206上执行的调试器311执行。调试 器311可以是存储在有形的计算机可读存储媒体上的计算机可读程序,如本 文其它地方描述,其中调试器311能够通过计算机206或用于使计算机206 执行操作404至412的其它信息处理系统处理。本文中所描述的其它操作可 以通过信息处理系统的其它组件执行,如参考图3所描述。

在404处,调试器311读取由工具310产生的错误消息402以从此错误 消息获得错误代码。调试器311可以进一步读取此错误消息以获得与此错误 消息相关联的错误内容。

工具310可以具有用于目前正处理的设计的信息处理系统项目目录。 EDA工具可以具有依赖流,并且因此通过EDA工具310执行的当前过程可 以取决于来自用于当前活动的一个或多个先前完成模块或过程的一个或多 个输入。这可以帮助调试器311缩小故障模块的范围并且识别上一完成模块 以及任何其它完成模块(如果存在的话)。例如,如果在映射过程中发生错 误,那么调试器311可能够识别用于当前活动的过去的完成模块,所述当前 活动为合成和转换。

在405处,可以搜索信息处理系统项目目录413以获得报告。随着EDA 工具310通过当前EDA活动,此EDA工具310可以产生用于每一模块(无 论完成的还是未完成的)的一个或多个报告414中的报告。因此,可能存在 一个或多个对应完成模块的一个或多个报告414以及用于故障模块的报告 414中的报告。除了报告之外的文件文档可以存在于项目目录413中。例如, 调试器311可以撤出用于当前EDA活动的顶部模块的概述xml文档。

在405处,报告414中的报告可以指示EDA工具310的多个可执行模 块的故障模块。因此,获得的此报告可以与在404处读取的错误消息相关联。 甚至用于完成模块的报告可以指示一个或多个潜在错误的一个或多个警报。 从一个或多个概述报告获得的这些一个或多个警报(无论用于完成模块还是 故障模块)可以有助于调试错误。

在406处,调试器311可以分解错误消息402以识别与错误相关联的电 路元件中的一者或多者(如果存在的话)。此类电路元件(例如)可以是一 个或多个网络、信号、块、端口和/或实例,并且可以是错误消息中的错误 内容的一部分。此类电路元件通常称为错误“源”。换句话说,在此实例中, “源”可以识别错误消息中相对于电路的内容。

在407处,通过在405处提取的信息,调试器311可以任选地针对所有 完成模块依序打开报告414并且使用“源”信息在此类报告中的每一者中执行 关键字搜索。从此种关键字搜索中获得的信息可以用于识别警报,所述警报 已被用户忽略但可能是与错误消息402相关联的错误背后的原因。

任选地,在408处,可以对从407处的此种关键字搜索产生的命中次数 (包含但不限于任何警报)进行标注,例如,标记且存储在高速缓冲存储器 等的存储装置中。例如,如果映射模块中的错误识别被命名为pcie_0的信号, 那么调试器311可以首先打开合成模块报告(例如,具有延伸部分“syr”)并 且寻找与pcie_0有关的警报,并且如果调试器311发现任何匹配警报,那么 调试器311可以将此类警告中的每一者保存在调试器311高速缓冲存储器 中。然而,如果调试器311在合成模块中并未从407处的搜索中发现任何匹 配,那么调试器311可以打开转换模块报告(例如,延伸部分“bid”)并且根 据依赖性继续依序处理模块。

在409处,打开故障模块的报告。在410处,从在405处获得的报告中 识别此故障模块的故障子部分、相位或阶段。例如,调试器311可以打开用 于其中EDA工具310发生故障的模块的报告文档,并且向下扫描其中出现 此故障的子部分、相位或阶段(“阶段”)。

通过其中出现故障的阶段,可以进行在线文件320的案例询问415,其 中此案例询问415包含待搜索的部分-子部分,即,例如模块的故障阶段。 任选地,案例询问415可以包含从错误消息402产生的用于配置的错误代码, 其中服务器330执行在线文件320的搜索,如下文另外详细描述。

在411处,调试器311可以访问网络服务器330,其中此网络服务器330 托管此在线文件320,并且案例询问在412处针对错误消息402被发送到此 网络服务器330,以在此在线文件320的对应阶段或子部分322中搜索。如 先前所描述,此在线文件320可以通过列出的每一部分321的每一子部分 322的一个或多个已知错误代码323以及相关联链路来构造。

图5是描绘用于服务器330的示例性网络可访问服务器流(“服务器流”) 500的流程图。换句话说,服务器330可以是经编程计算机,以执行用以进 行服务器流500的操作的指令。同时参考图3至5,进一步描述服务器流500。

在501处,提供通过服务器330托管的文件320。同样,服务器330可 以是安全服务器。.在502处,在412处发送的案例询问中使用模块和阶段, 或部分和子部分,执行文件320的此子部分的搜索。此搜索相对较快,因为 仅搜索子部分用于(例如)错误代码并且使用本地副本在客户端层级处完成 随后的搜索。

在503处,创建此子部分的副本。子部分322的此副本包含与此子部分 相关联的一个或多个错误代码323的列表。每一错误代码323可以包含内容, 所述内容可以包含到具有与此错误代码相关联的信息的一个或多个数据库 的一个或多个链路。在504处,例如,响应于在412处发送的案例询问,此 副本可以被发送到客户端,例如,计算机206。换句话说,响应于在412处 发送的案例询问,服务器330可以提取和发送文件320客户端计算机的子部 分来用作此客户端计算机206的本地副本312。

此外,用户205执行调试可以是反复活动,涉及本地副本的多次访问。 通过具有本地副本312,用户205可以不必针对同一错误反复回到服务器 330。此外,通过本地副本的搜索,错误代码的搜索可以从服务器330卸载 到客户端计算机206。另外,通过如先前所描述向客户端计算机206提供本 地副本312,在用户205同样看到此错误的情况下,调试器311可以快速地 显示网站案例信息。相对于开放的网站案例,用户205将被告知已识别此错 误,如下文另外详细描述。

同时参考图3至6,其中图6是描绘示例性调试流600的流程图,响应 于对在412处发送的案例询问作出响应而接收文件320的子部分322的本地 副本312,所述调试流可以通过信息处理系统执行。调试流600可以是调试 流400的延伸部分。顺着这些线索,调试流600的操作可以通过调试器311 执行,如下文另外详细描述。

在601处,响应于在412处发送且存储为本地副本312的案例询问,由 客户端计算机206接收在线文件320的子部分322或其它部分。此子部分 322与EDA工具310的故障阶段相关联,并且响应于调试器311的执行提 供此子部分322。

在602处,可以使用从错误消息402获得的错误代码搜索此本地副本 312。在603处,确定从错误消息402获得的此错误代码是否发现于此本地 副本312中。如果在603处在此本地副本312中发现与此错误代码的匹配, 那么在604处可以复制和存储此匹配项。此匹配项可以存储在计算机206的 高速缓冲存储器中。可以在子部分中发现一个以上匹配项。在此实例中,每 一此匹配项可以进行复制且存储在高速缓冲存储器中。

为了清楚起见,举例来说,如果EDA工具310在具有错误HDL编译器 错误718(例如,在图3中说明性地描绘)的合成中发生故障,那么调试器 311可以打开其对应的a.syr文档并且可以寻找其中EDA工具310发生故障 的相位。如果EDA工具310在HDL解析中发生故障,那么服务器330可以 在在线文件320中搜索相同部分-子部分,并且根据此部分-子部分返回完整 内容作为本地副本312。调试器311可以搜索此本地副本312中的错误代码 718并且根据此错误代码返回内容,例如,匹配应答记录链路324、论坛项 目链路325以及文件编制链路326。调试器311可以自动地执行链路324至 326中的一者或多者以将相关联数据库201至203中的信息显示在控制台窗 口EDA工具310或其它窗口中。

在605处,在408处从目录413中的完整报告获得的所有警报可以与存 储在604处的所有匹配项串接或另外组合或分组,并且此结果可以显示在 EDA工具310的控制台窗口中。使用此信息,用户205可能够调试引起错 误消息402的调用的错误。调试可以是涉及一些尝试错误的反复活动。因此, 通过向用户205提供用于解决此错误的所有所识别相关信息,用户205可更 可能凭自身修复此错误的原因,而不必依靠接触技术支援代表。

然而,如果在603处未在来自602处的搜索的本地副本312中发现错误 消息402的错误代码的匹配项,那么可以通过使用操作606至608由调试器 311自动地启动网站案例。

在606处,响应于未在本地副本312中发现错误代码的任何匹配项,EDA 工具310的故障模块的识别可以与在408处存储的任何和所有警报以及错误 消息402串接或另外组合或分组以提供网站案例。此外,对于EDA实例, 可以串接相关联的设计文档以提供此网站案例。可以通过提供部分321和子 部分322,即例如其中发生此故障的模块和阶段来提供EDA工具310的故 障模块的识别。

因此,可以获得与错误消息402相关联的任何和所有相关信息以提供给 技术支援。例如,与此网站案例相关联的设计文档和报告可以自动地附加到 用于技术支援帮助桌面的应用工程师的此网站案例。这可以加速解决错误以 及在解决错误时提供更多一致性。

任选地,在607处,标题可以针对在606处提供的此网站案例自动地产 生并且附加到所述网站案例。此标题可以包含通过其模块名称和阶段识别的 故障模块的名称和位置。在608处,可以通过网络(例如,互联网云204) 将此网站案例609发送到服务器330。

图7是描绘示例性网站案例项目产生流700的流程图。如下文另外详细 描述,网站案例项目产生流700可以包含产生网站案例项目和社区用户论坛 帖子两者。

在701处,服务器330可以接收网站案例609。在702处,接收到的网 站案例609可以通过服务器330发送到技术支援以从此处产生和接收网站案 例编号。在703处,服务器330可以使用网站案例609创建和发送用于用户 社区论坛的帖子。网站案例609的缩写版本可以被发送到用户社区论坛数据 库202以在其中创建帖子。因此,网站案例609可以通过互联网云204发送 到用户社区论坛地址和技术支援地址两者。

在704处,服务器330可以更新在线文件320以创建用于网站案例609 的项目。此项目可以包含使用用于网站案例609的网站案例编号的到技术支 援数据库201的链路、到用户社区论坛数据库202中的与网站案例609相关 联的帖子的链路和/或到与网站案例609相关联的文件编制的链路。

通过在在线文件320中创建此项目,遇到相同错误的一个或多个随后用 户可以意识到此错误是当前所致力的已知错误。这可以用于防止通过其它用 户复制错误搜索和/或网站案例创建。此外,如先前所描述,通过具有由于 提供调试信息的自动化产生的一致性,在未来可以更容易地且更准确地解决 此错误的重复。

图8是描绘示例性文件创建流800的流程图。文件创建流800可以是用 于图3的文件创建的脚本820,其中此脚本或计算机可读程序820可以存储 在有形的计算机可读存储媒体中,并且其中此脚本820能够由信息处理系统 处理以使此信息处理系统执行脚本820的操作。同时参考图3至8进一步描 述文件创建流800。

在801处,待创建的文件320可以用与其EDA工具310模块和阶段相 对应的其部分和子部分322来组织创建。在802处,可以用相关联错误代码 323填充此类子部分322中的每一者。在803处,在专用网站案例数据库(未 示出)中的递归搜索可以使用此类错误代码323执行,以在闭态下识别具有 此EDA工具310的错误代码323的网站案例。对于发现的封闭式网站案例, 可以获得网站案例编号并且根据对应错误代码部分将其添加到文件320。

在804处,可以使用在803处获得的用于链接到此类网站案例的应答记 录的网站案例编号执行专用应答记录数据库(未示出)的递归搜索,所述专 用应答记录数据库可以是与公用应答记录数据库201分离的数据库。匹配应 答记录可以是用于此类特定错误的最佳匹配。

在805处,可以在公用应答记录数据库201中复制和搜索从804处的搜 索产生的匹配应答记录的应答记录编号。这是用以确定应答记录是否已公布 用于公共消费的检查。对于用于805处的此搜索的在公用应答记录数据库 201中的匹配应答记录编号,在806处,此类匹配公用应答记录编号可以具 有根据对应错误代码复制到文件320上的对应链路。在807处,在803处添 加到文件320的具有对应公用应答记录的网站案例编号可以被移除并且用 对应公用应答记录编号替代。

在808处,脚本820可以在一个或多个用户社区论坛数据库202中执行 搜索并且根据此错误代码添加文件320中的每一对应错误代码的每一匹配 论坛项目。可以根据此错误代码将每一此匹配论坛项目添加到在807处发现 的应答记录项目(如果存在)下方。

在809处,可以执行响应于工具的相位/阶段的到错误代码的相关文件 编制的链路的网络搜索并且任何发现的链路可以根据对应错误代码添加到 文件320。

每当调试器311在EDA工具310中遇到新错误时,调试器311可以提 交新技术支援网站案例并且创建论坛项目,如先前所描述。此信息在文件 320中与文件编制链路一起更新。

脚本820的一部分(所述部分可以提供为独立脚本)可以安排为常规地 运行以寻找具有通过封闭式解析状态创建的相关联新网站案例的新错误, 即,以在803处执行对于具有闭态的此类新网站案例的搜索;在804处使用 针对此类新网站案例获得的此类网站案例编号执行搜索,以便提取包含应答 记录编号的对应应答记录细节;以及将此类对应应答记录的状态验证为向公 众公布;在805处执行对于公用应答记录数据库201中的此类发布的应答记 录的搜索,以及通过到此类应答记录的链路更新文件320中的网站案例项 目。可以在文件320中的不具有相关联应答记录的所有错误上执行脚本820 的此部分。

图9是描绘用于服务器330的另一示例性网络可访问服务器流(“服务 器流”)900的流程图。同时参考图3至7,进一步描述服务器流900。

在501处,如先前所描述,可以在线提供如通过服务器330托管的文件 320。在902处,服务器330可以在所识别的部分-子部分处搜索文件320, 所述文件具有在412处发送的案例询问415中提供的错误代码,其中此案例 询问415包含用以搜索的所识别的部分-子部分和错误代码。在603处,如 先前所描述,尽管对于执行调试器311的客户端计算机206,可以通过服务 器330确定是否存在任何匹配项。在903处,服务器330可以创建任何和所 有匹配项目的副本,用于在904处作为本地副本312发送到客户端计算机 206。因此,在此配置中,服务器330执行错误代码搜索以提供本地副本, 所述本地副本不是整个子部分的本地副本,而是仅在与先前描述配置不同的 所识别子部分中的一个或多个匹配错误代码项目的本地副本。

对于此实例,案例询问415可以进一步包含在408处存储的任何和所有 警报以及错误消息402。因此,如果在603处不存在匹配项,那么如先前所 描述服务器330可以尽管通过客户端计算机206执行操作606以及任选地 607。如先前所描述,服务器330可以进一步执行操作702至704。在908 处,通过服务器330准备的文件320中的网站案例项目可以被复制和发送到 客户端计算机206以提供为本地副本312。因此,用户205可以被告知文件 320不具有响应于错误消息402的任何相关信息,并且启动网站案例来获得 用于调试的相关信息以解决错误消息402中的错误代码。

图10是描绘用于图9的服务器流900的调试器311的示例性网站案例 流1000的流程图。在1001处,可以通过客户端计算机206接收来自服务器 流900的本地副本312。此本地副本312可以是在线文件320中的网站案例 项目329的副本。在1001处接收此本地副本312之后,如先前所描述可以 使用网站案例项目的此本地副本执行操作605。

图11是描绘示例性计算机系统1100的方框图。计算机系统1100可以 包含耦合到一个或多个显示装置1101(例如,阴极射线管(“CRT”)显示器、 等离子显示器、液晶显示器(“LCD”)、投影仪)和一个或多个输入装置1106 (例如,键盘和光标指向装置)的经编程计算机1110。可以使用计算机系统 的其它已知配置。计算机系统1100本身或与一个或多个其它计算机系统 1100联网的计算机系统1100可以提供信息处理系统。

经编程计算机1110可以编程有已知操作系统,在其它已知平台中,所 述操作系统可以是Mac OS、Java虚拟机、实时OS Linux、Solaris、iOS、 Android的基于Linux的OS、Unix、ora Windows操作系统。经编程计算机 1110包含中央处理单元(CPU)1104、存储器1105和输入/输出(“I/O”)接 口1102。CPU 1104可以是所属领域中已知的微处理器类型,例如,可购自 IBM、Intel、ARM和超微设备公司等。支援电路(未示出)可以包含高速 缓冲存储器、电源、时钟电路、数据寄存器等等。存储器1105可以直接耦 合到CPU 1104或通过I/O接口1102耦合。操作系统的至少一部分可以安置 在存储器1105中。存储器1105可以包含以下项中的一者或多者以及如下文 所描述的非暂时性信号承载媒体:快闪存储器、随机存取存储器、只读存储 器、磁阻读取/写入存储器、光学读取/写入存储器、高速缓冲存储器、磁性 读取/写入存储器等等。

在其它已知电路中,I/O接口1102可以包含芯片组芯片、图形处理器和 /或子卡。在其它已知电路中,子卡的实例可以包含网络接口卡(“NIC”)、 显示接口卡、调制解调卡和通用串行总线(“USB”)接口卡。因此,I/O接 口1102可以耦合到常规的键盘、网络、鼠标、显示器打印机和接口电路, 所述接口电路经调适以接收和传输数据,例如,数据文件以及其类似物。经 编程计算机1110可以经由常规的网络基础设施耦合到多个客户端计算机、 服务器计算机或其任何组合,所述网络基础设施例如,允许对接口产生的分 布式使用的公司企业内部网和/或互联网。

存储器1105可以存储一个或多个程序或数据的全部或部分以实施用以 提供程序产品1120的过程。另外,所属领域的技术人员将理解,其一个或 多个实施例可以以硬件、软件或硬件和软件的组合来实施。此类实施方案可 以包含独立地执行多个程序和专用硬件或可编程硬件的多个处理器或处理 器核心。

程序产品1120的一个或多个程序以及其文件可以界定本文中描述的功 能并且可以包含在多个非暂时性信号承载媒体上,例如,具有代码的计算机 可读媒体,所述代码包含但不限于:(i)永久地存储在非可写存储媒体上(例 如,计算机内的只读存储器装置,例如,通过CD-ROM驱动器或DVD驱动 器可读的CD-ROM或DVD-ROM盘)的信息;或(ii)存储在可写存储媒 体上(例如,磁盘驱动器或快闪驱动器或硬盘驱动器或读取/可写CD或读取 /可写DVD内的软盘)的可变信息。以上实例具体来说包含从互联网和其它 网络下载的信息。当承载引导其功能的计算机可读指令时,此非暂时性信号 承载媒体还可以用于实施本文中描述的功能。

尽管描述了用于EDA工具的调试器,但是此实时在线技术支援可以用 于其它应用以及因此用于其它行业。此实时在线技术支援可能对于在使用应 用程序时改进总体消费者体验是非常有用的,这可能由于提供到用户的一致 结果和相关信息而赋予。此外,可以去除通过用户的手动搜索以有利于更省 时且更准确的自动搜索。另外,可以减少或去除复制项目,这可以减少在处 理已得到解决的错误时浪费的时间。顺着这些线索,可以请求应用工程师和 /或用户的社区两者用于错误解决。

尽管前文描述了示例性方法和系统,但是在不脱离通过以上权利要求书 及其等效物确定的本发明的范围的情况下可以根据一个或多个方面设想其 它实施例。列出步骤的权利要求并不暗示步骤的任何次序。商标是它们的相 应拥有者的财产。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号