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

文档序号:9816422阅读:来源:国知局
误(bug)"在涉及软件时,意味着在计算机软件程序或系统 中的某种类型的差错、缺陷或故障。软件错误可以产生非正确或意外的结果。在一些系统 中,错误可以使得系统以非预期的方式运行。"错误"还可以在计算机硬件、结构或系统中被 发现。在硬件的制造或设计中的差错还可以在硬件的运行期间导致非正确或意外的结果。 虽然本公开描述对软件错误的计分和跟踪,但要理解的是,方法和系统可以适用于对诸如 硬件错误或系统错误之类的其他类型的错误和差错的计分。
[0024] 本文中使用的术语"补丁"在涉及软件时,是被设计用于修复问题、或更新计算机 程序或程序的支持数据的一个软件片段。补丁可以是二进制可执行的、源代码、代码修改 等。在本申请的上下文中,补丁可以包含被设计用于更新软件和修复错误的任何类型的软 件更新或服务补丁。补丁可以修复一个或多个错误,并且更新软件的可能与错误不相关的 其他部分。虽然本公开描述对软件补丁的计分和跟踪,但要理解的是,方法和系统可以适用 于对与硬件更新、板旋(board spin)等相关的其他类型的补丁的计分。
[0025] 图1示出了针对错误计分和跟踪工具的一个实施例的高层框图。如图1所示,错误 报告(Bug Report)被供应给工具。错误报告可以源自于客户、开发者、错误数据库等。如果 错误源自于客户,则错误报告可以包括对意外行为的描述、对错误影响的描述、对表现形式 的描述等。错误报告可以与客户信息(Customer Information)、升级信息(Upgrade Information)以及任何系统信息(System Information)-起被接收,客户信息提供客户偏 好的细节,升级信息与客户相关,系统信息与所报告的错误相关。在一些情况下,错误报告 可以源自于开发者或内部实体而不源自于客户。错误报告可以包括已被识别出具有错误的 特定代码区、片段、文件等。在这样的情况下,客户信息可以与对错误范围的估计相关,升级 信息和系统信息可以与错误可能影响的代码基相关。工具可以输出错误优先级列表(Bug Priority list)以及补丁优先级列表(Patch Priority list),所述两个列表可以特定于 每个客户、软件版本或系统。工具可以生成特定于每个客户的客户报告(Customer Report),其可以提供每个被识别的错误的严重性的状态和/或提供与对每个错误的解决有 关的状态。客户报告还可以包括与每个客户相关的补丁以及补丁的优先级以及补丁解决的 问题或错误。
[0026]参考图1,错误计分和跟踪工具包括若干组件和模块;一个或多个数据处理器112 (也被称作处理器),计分引擎113,存储器114,若干数据库(例如,部署数据库118、错误数据 库119和补丁数据库115)。输入/输出模块116还具有与外部数据库120或其他外部数据源进 行交互的合适的功能,所述外部数据库120或其他外部数据源可以由错误计分和跟踪工具 110或第三方操作。
[0027]计分引擎113可以接收和收集来自内部和外部数据源的、与错误相关的数据。数据 可以被用于计算与每个错误相关的参数得分。然后参数得分可以被用于计算错误得分,错 误得分可以被用于对错误以及与错误相关联的补丁划分优先级。
[0028] 部署数据库118可以包括例如,与每个软件版本、模块、库、脚本或代码的部署历史 和活动有关的信息。部署数据库118可以包括与多少客户已经下载或活动地使用特定版本 的代码相关的统计数据。统计数据可以包括每个版本的软件是多么活动地被使用,并且包 含关于软件服务多少用户等的信息。针对软件的每个部署,数据库可以包含与软件被部署 在其上的系统的细节有关的信息。例如,数据库可以包含指示软件是否被包含在私有网络 或私有云中,或软件是否暴露于公众当中的信息。每个部署记录可以具有与每个客户和每 个部署的偏好相关联的信息,该信息关于对于客户来说最重要的问题或错误的优先级。部 署数据可以包括与对于每个部署的操作来说每个软件或代码的关键性以及代码被初始化 或被执行的频率有关的信息。在一些部署中,软件可以仅仅被安装但是从来不被客户使用, 因此,虽然某代码可以有较大的部署量,但部署的影响可能相对较小。部署数据库118可以 在本地在与计分和跟踪工具相同的系统上存储所有部署信息、或外部地在不同的系统上存 储所有部署信息。
[0029] 部署数据可以被存储在各种不同的数据库中。一些数据库可以包括与特定版本的 软件或仅仅属于特定客户的软件部署有关的信息。此信息可以传遍多个组、开发团队、市场 营销或业务部门。错误计分和跟踪工具可以通过输入/输出模块116从外部数据库120接收 信息。
[0030] 返回到图1,错误计分和跟踪工具110的错误数据库119可以包括关于与被报告的 错误相关的历史和数据的信息。当错误被报告时,通过使用错误数据库119,错误的状态和 错误的属性可以被记录并且被跟踪。错误数据库可以包括关于报告错误者、错误与之相关 的软件代码、错误可能影响的软件版本和客户、错误的症状、相关的错误、相关的软件补丁、 状态、历史、被指定解决错误的个人或相关方、错误的优先级或得分等的信息。
[0031] 错误计分和跟踪工具110的补丁数据库115可以包括关于与补丁和错误修复相关 的历史和数据的信息。在新的补丁和代码修复被开发时,通过使用补丁数据库115,补丁的 状态和补丁的属性可以被记录并且被跟踪。补丁数据库可以包括关于生成补丁者、补丁与 之相关的软件代码、补丁被设计用于修复的错误、安装补丁可能的结果、相关的补丁、部署 的历史、补丁优先级等的信息。
[0032]错误计分和跟踪工具110的客户数据库117可以包括关于客户偏好和客户历史的 信息。数据库可以包括关于可以反映客户的业务和市场营销活动的偏好的信息。偏好可以 定义可能损害客户的业务操作的错误的类型。例如,活跃于金融市场的客户,可能将影响系 统的安全性方面的甚至极小的错误视为具有高优先级。
[0033] 错误计分和跟踪工具110可以包括计分引擎113以用于将得分和优先级划分分配 给错误。排序可以被用于对需要关注的错误列表进行优先级划分,并且被用于跟踪错误的 重要性。计分引擎113可以被配置为生成错误的得分。计分引擎可以通过使用基于数学原理 的、对与错误相关联的数据的分析来创建错误得分。计分引擎113可以提供计算错误得分的 可重复且至少部分自动的方法,从而降低由于人为差错或定性评估造成的误计算错误优先 级的风险。
[0034] 在实施例中,计分引擎113可以使用来自一个或多个数据源的参数得分来计算错 误得分。计分引擎可以从部署数据库118或外部数据库120或其他外部数据库接收数据,以 确定或估计与错误的普遍度相关的参数得分。计分引擎可以从一个或多个本地或外部的数 据源访问数据以收集与错误相关的信息。
[0035] 例如,通过使用部署数据库,计分引擎可以计算部署参数得分,部署参数得分可以 概括与每个错误相关的部署数据。一旦与每个错误相关的代码基被确定,则针对每个错误 的部署数据就可以被获得。通过使用部署数据,针对错误影响的代码的部署参数得分可以 被工具计算。部署参数得分可以定期地被计算或被估计。错误计分和跟踪工具110可以针对 每个软件、代码部分、或代码模块计算部署参数得分。得分可以被保存并且被用于计算错误 和补丁的优先级或评定中。针对每个软件的部署参数得分可以基于部署特性的改变被定期 地更新。部署参数得分可以每月、每季度、与重大的软件发布和更新的时间选择相关地等被 计算一次。
[0036] 同样地,通过使用本地或远程数据源中的一个或多个,计分引擎可以计算相关代 码参数得分,此相关代码参数得分概括相关的软件发布的数量、或受错误影响的代码可能 与之相关的代码片段的数量。类似或相关的代码可能受到类似的故障或错误的影响,并且 可能表示更广泛范围的错误。相关错误参数得分也可以被计算。相关错误参数得分可以基 于来自错误数据库119的数据,概括相关的错误的数量。
[0037] 在实施例中,计分引擎可以从本地或外部数据库或数据源接收数据,以确定或估 计与错误的影响以及错误的结果相关的参数得分。计分引擎可以接收与错误相关联的技术 和子组件有关的信息。一些代码可以被给予高重要性的评定,在此代码中的任何极小的差 错可以被认定是重要的。与GUI或其他特征相关的一些代码技术例如可以被认定或被评定 为具有低重要性。计分工具可以基于接收到的数据计算技术参数得分。
[0038] 还可以用针对错误影响的严重性的得分来获取错误的影响。错误的影响可以与对 错误的报告一起被接收。错误的影响可以作为一种描述和/或评定被提供。描述和评定可以 提供对影响程度的指示,影响程度的范围从服务的完全丢失到图形用户接口的临时失灵。 错误的影响可以从与错误相关联的诊断系统转储中被确定。错误的影响可以从对错误的独 立或自动再造中被确定。在一些实施例中,可以由个人基于来自用户或客户的口头或文本 描述,手动地输入评定。针对不同的系统和配置,错误的影响可以是不同的。针对不同的系 统配置的错误的症状也可以被确定并且被分配一个得分。错误计分和跟踪工具可以使用数 据来分配影响参数得分和严重性参数得分,其分别概括错误的影响和严重性数据。
[0039] 计分引擎113可以包括附加的参数,这种参数可以与错误的技术方面或影响不相 关。在实施例中,计分引擎可以接收关于与错误相关的软件产品的市场营销、产品年龄、业 务活动、或与错误可能影响的特定产品相关的机会的信息。例如,影响正在宣传并且积极地 营销的新软件产品的一个错误可以被认为具有较高的重要性。甚至对新软件的运行不具有 显著影响的小错误可能造成负面宣传,因为新的发布通常会受到额外的严格监督。计分引 擎可以接收或计算与每个错误相关的市场营销得分。较高数字的市场营销得分可以表示较 高的活动性或知名度。
[0040] 参数得分可以被分配一个值或数字。在实施例中,被分配或与错误相关联的参数 得分可以被缩放或被分配非恒定的范围。例如,一些参数可以被缩放到具有从1到4的范围, 而其他参数可以被缩放到具有从1到100的值。在实施例中,参数值的范围可以被改变或被 修改以改变这些参数对总体错误得分或评定的重要程度或影响。针对每个客户,每个参数 的范围或缩放可以基于客户的偏好被调整。例如,值为100的部署参数得分可以表示与错误 有关的代码相关联的非常大数量的下载或部署,而值为1的得分可以表示无或仅仅一些。
[0041] 与每个错误相关的、接收到或计算得到的参数得分可以被存储在存储器或表中, 并且被用于计算错误得分。
[0042] 在一些实施例中,在每个新错误被报告给工具时,参数得分可以被计算或被估计。 可以在不同的粒度水平上生成参数得分。可以针对每个特定的部署、客户、软件版本、软件 模块、脚本、代码片段、代码类、代码库等,生成参数得分。粒度可以依赖于数据的有效性、软 件的结构或体系构架、可能的软件更新的粒度等。
[0043] 在一个实施例中,每个错误的参数得分可以被分类或分配到不同的组中。组可以 被定义以获得关于与错误相关联的特定度量或特性的参数得分。例如,一些参数可以被分 类到"错误普遍度"组。此组可以包括与对错误有关的软件的下载的数量、相关的软件发布 的数量、或相关的错误的
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1