用于降低升级软件时的不稳定性的方法和系统的制作方法

文档序号:9816422阅读:1133来源:国知局
用于降低升级软件时的不稳定性的方法和系统的制作方法
【专利说明】
[0001] 对相关申请的交叉引用
[0002] 本申请与以下共同待决、共同受让的美国专利申请相关:由Davis同步提交的,名 称为 "CONSOLIDATION PLANNING SERVICE FOR SYSTEMS MIGRATION" 的美国专利申请 No . 13/938,061 (代理机构案号88325-870368( 137700US));由Davis同步提交的,名称为 "MIGRATION SERVICES FOR SYSTEMS"的美国专利申请No. 13/938,066(代理机构案号 88325-870369( 137800US));由Higginson同步提交的,名称为 "DATABASE MODELING AND ANALYSIS" 的美国专利申请No. 13/937,885(代理机构案号88325-870374( 137900US));由 Higginson同步提交的,名称为 "AUTOMATED DATABASE MIGRATION ARCHITECTURE" 的美国专 利申请No. 13/937,868(代理机构案号88325-870373( 138000US));由Raghunathan等同步提 交的,名称为 "CLOUD SERVICES LOAD TESTING AND ANALYSIS" 的美国专利申请No .13/937, 344(代理机构案号88325-870381 (138100US));由Raghunathan等同步提交的,名称为 "CLOUD SERVICES PERFORMANCE TUNING AND BENCHMARKING" 的美国专利申请No .13/937, 483(代理机构案号88325-870383(138200US));由Buehne等同步提交的,名称为"SOLUTION TO GENERATE A SCRIPTSET FOR AN AUTOMATED DATABASE MIGRATION" 的美国专利申请 No. 13/937,988(代理机构案号88325-870382( 138300US));由Buehne等同步提交的,名称为 "ONLINE DATABASE MIGRATION" 的美国专利申请No. 13/937,545(代理机构案号88325-870410( 138400US));由Buehne等同步提交的,名称为 "DYNAMIC MIGRATION SCRIPT MANAGEMENT" 的美国专利申请No. 13/937,486 (代理机构案号88325-870409 (138500US));以 及由Masterson等同步提交的,名称为 "ADVANCED CUSTOMER SUPPORT SERVICES-ADVANCED SUPPORT CLOUD PORTAL"的美国专利申请No. 13/937,970(代理机构案号88325-870401 (138600US)),其中的每一个专利申请的全部公开内容以引用的方式被并入本文中。
技术领域
[0003] 本发明通常涉及数据库,并且更具体地涉及用于提供软件错误的跟踪、维护和排 序工具的装置和方法。
【背景技术】
[0004] 现代的数据库系统非常复杂,其由许多组件组成并且通常被用于性能敏感的操 作。随着软件应用的复杂性的增大,错误(bug)的数量可能增大。软件错误的范围可以从具 有很小影响或没有影响的不显著的故障到严重的安全或性能缺陷。跟踪这些错误以确保最 严重的差错取得优先级并且用修复或补丁及时地更新适合的系统是重要的。

【发明内容】

[0005] 通过使用本文描述的系统和方法,可以使得对软件错误和与错误相关联的更新的 跟踪、划分优先级以及排序更可靠、更快速并且更准确。提出了使用错误计分和跟踪系统来 评定软件错误的系统和方法。所述系统和方法可以使用对错误的自动计分以确定错误的影 响。计分可以被用于对错误划分优先级,并且计分可以是可扩展和可调整的,允许方便地添 加新参数,并且允许针对不同的错误类型、软件或客户对系统进行修改。
[0006] 在一些实施例中,用于对错误划分优先级的系统包括一个或多个处理器,以及与 所述一个或多个处理器通信地耦接的存储器,所述存储器是可由所述一个或多个处理器读 取的,并且存储器上存储有一系列的指令,当所述指令被所述一个或多个处理器执行时,使 得所述一个或多个处理器能够通过执行一系列步骤对软件错误划分优先级。所述步骤可以 包括接收软件错误报告,所述软件错误报告可以具有描述软件错误的数据部分,而所述数 据部分可以包括描述软件错误的至少一种影响的信息。另一个步骤可以至少部分地基于软 件错误的影响确定软件错误的代码基(code base),并且进一步接收客户偏好,客户偏好可 以定义一组描述客户偏好以用于评定软件错误的重要性的参数。步骤还可以包括在没有人 为输入的情况下计算与软件错误相关的一组参数得分(score),所述一组参数得分可以量 化在客户偏好中定义的该组参数。另外,可以执行对所述一组参数得分的分组,将其分成第 一组和第二组,在这之后,使用第一组和第二组计算错误得分。具有软件错误的优先级划分 的错误报告可以被生成,优先级划分是基于错误得分的。
[0007] 在一些实施例中,所述一组参数得分可以包括部署参数得分。部署参数得分可以 概括代码基被部署的次数。所述一组参数得分还可以包括概括软件错误的影响的严重性的 影响参数得分、概括与软件错误相关的错误的数量的相关错误参数得分、以及概括代码基 的重要性的技术参数得分。可以通过对第一组和第二组的参数得分取内积来计算软件错误 的错误得分,并且优先级划分可以基于错误得分与其他错误的得分相比的相对值。
【附图说明】
[0008] 参考以下附图,可以实现对各种实施例的实质和优点的进一步理解。
[0009] 图1说明错误计分系统的实施例的框图;
[0010] 图2说明用于生成错误得分的方法的一个实施例;
[0011] 图3说明用于确定错误的优先级的方法的一个实施例;
[0012] 图4说明用于确定软件补丁的优先级的方法的一个实施例;
[0013] 图5说明支持平台系统的实施例;
[0014]图6说明计算机系统的实施例。
【具体实施方式】
[0015] 错误(bug)可以是软件应用中的某种缺陷,其使得软件应用的全部或某部分发生 故障或以某种意外或非预期的方式执行。许多错误难以被找到并且保持隐藏直到被终端用 户发现。软件错误的范围可以从具有很小影响或没有影响的不显著的故障到严重的安全或 性能缺陷。
[0016] 通常难以(如果不是不可能的)在大且复杂的系统中修复所有被报告的错误。开发 者和软件工程师可能仅仅具有修复错误中小的子集的资源。软件错误可能需要被划分优先 级以确保,与对系统和/或客户来说最严重的差错相对应的错误的子集得到修复、或首先被 修复。
[0017] 在软件错误被修复后,跟踪与错误相关联的软件更新或补丁并且对其划分优先级 可以是重要的。关于客户将安装的更新的类型,客户可以是有选择性的。部分地由于系统的 复杂性,因此软件补丁或更新有时可能由它们自身引入新的错误,新的错误可能比原始错 误或它们意图解决的差错更严重。软件更新有时需要重启或暂停系统或数据库的操作,这 可能中断客户的业务操作。对补丁或软件更新划分优先级可以被系统管理员使用以决定补 丁将被应用时的时间选择、部署的广度、或更新是否将被部署。
[0018] 对软件错误和与错误相关联的更新的跟踪、划分优先级、以及排序通常涉及若干 复杂的、手动的、和/或主观的方法和系统。在一些情况下,错误得到修复的顺序可以基于每 个错误的困难程度或复杂性。一些容易解决、具有较小影响的错误可以首先被修复,而其他 更严重的错误由于它们的复杂性,对它们的修复可能在时间上被开发者推迟。同样,可以由 管理员或开发者基于个人感知到的错误的重要性,对一些错误主观地分配高优先级。每个 人或开发者可以具有在系统、软件、或软件的部署特性方面的不同的知识水平,从而造成不 一致的排序和优先级划分。例如,在一些情况下,针对具有较大数量的部署的软件,对影响 此软件的错误分配高优先级可以是理想的。即使是一个相对低级别的差错并且其不在任何 一个单独系统上(如果被部署在大量的系统上)造成显著的影响,但此错误可能影响许多客 户,造成总体的较大影响。如果一个错误可能在任何单独系统上产生严重的影响,并且此错 误影响的软件具有较少的部署,则对此错误分配相对低的优先级可以是理想的。例如,对于 个人来说,部署信息可能是难以准确地访问的。在复杂的系统中,代码部分、模块、插件和/ 或类似物可能仅仅被部署在特定版本的软件中、仅仅针对特定客户、或可能在系统的其他 功能中被重新使用,这使得对错误的优先级划分的准确评估进一步复杂化。因此主要依赖 于对错误进行手动的、基于用户的排序和优先级划分的跟踪工具可能具有不一致且不完全 的排序。
[0019] 在一个方面,提出了用于对软件错误计分和划分优先级的方法。该方法可以至少 部分地使用对错误的自动计分。该方法可以包括从一个或多个数据库接收数据以确定软件 的部署的范围、错误的影响、错误的历史等。该方法是可扩展和可定制的,允许方便地添加 新参数以用于计分。可以针对不同的错误类型、软件版本、客户等,对错误计分和优先级划 分进行修改。
[0020] 对于准确地跟踪和评定不同类型的软件错误、影响不同的客户和软件包的错误来 说,错误计分方法以及相关联的系统的定制性和可扩展性是重要的。例如,一些软件部署可 能总是被包含在私有网络或私有云环境中。在这样的部署中,由于软件可能永远不会暴露 于恶意的外界中,因此客户可能发现损害软件的安全性的错误或软件差错不是那么严重。 这些客户可能发现影响系统性能的错误最严重。可扩展的错误计分和跟踪工具可以是客户 或开发者可定制的,允许对软件错误进行定制的优先级划分、计分等。错误计分和跟踪工具 可以针对每个错误提供多于一个的计分和排序。每个错误可以与多于一个的得分、优先级、 排序等相关联。每个错误可以与多于一个的得分相关联,其中每个得分可以对应于不同的 软件版本、不同客户、关于错误的假定、软件开发者等。
[0021] 软件错误计分和跟踪工具还可以被用于对与每个错误相关的补丁和软件更新进 行计分和跟踪。通过至少部分地使用本文描述的方法,每个软件补丁或软件更新可以被计 分或被划分优先级。依赖于客户、软件版本、部署的类型等,每个补丁和软件更新可以具有 多于一个的得分、排名等。在补丁被部署给每个客户时,针对每个补丁的得分或优先级可以 自动地与补丁相关联,以使得每个客户可以分析仅仅与客户自身的系统、偏好、部署等相关 的优先级。基于排序,客户可以做出关于安装补丁的时间选择的他们自身的决定。
[0022] 在一些实施例中,每个错误的多个得分和排序可以被组合以提供一个针对错误的 影响的总体得分。所述一个总体得分可以被将要修复错误的软件开发者或管理员使用,以 评估软件差错在多个客户、部署、软件版本等上的影响和优先级。
[0023] 本文中使用的术语"错
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1