CN115668131A - 加速预生产功能使用 - Google Patents

加速预生产功能使用 Download PDF

Info

Publication number
CN115668131A
CN115668131A CN202180037232.2A CN202180037232A CN115668131A CN 115668131 A CN115668131 A CN 115668131A CN 202180037232 A CN202180037232 A CN 202180037232A CN 115668131 A CN115668131 A CN 115668131A
Authority
CN
China
Prior art keywords
function
internal
usage
external
site
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180037232.2A
Other languages
English (en)
Inventor
N·韦尔玛
A·尼古拉
R·尼加姆
P·P·辛格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN115668131A publication Critical patent/CN115668131A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5232Call distribution algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5166Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing in combination with interactive voice response systems or voice portals, e.g. as front-ends
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

传统上,当更新功能或发布新功能时,该功能会在外部分发之前进行内部测试和验证。然而,某些功能的内部使用可以比外部反映的客户使用成比例地少。功能的内部使用低可能导致较弱的遥测数据,这可能导致在功能发布给客户之前代码回归(例如错误)未被检测到。因此,提供加速的内部功能使用以反映外部客户使用。动态识别高度使用的功能,并识别内部功能使用中的任何不足。识别出被估计为生成功能使用量中的不足的至少一部分的租户站点。这些站点可以迁移或复制到内部验证环,以生成额外的内部功能使用。通过增加内部测试和验证,提高功能发布的稳定性和可靠性,从而提高客户体验和对软件产品的满意度。

Description

加速预生产功能使用
背景技术
将云计算环境用于软件产品和服务已成为个人消费者和企业两者的流行趋势。云计算环境涉及一组分布式资源,包括存储器、处理单元和数据存储,这些资源经由安全网络进行通信互连。这样,服务提供者通过不断评估并在托管租户的服务器之间重新分配资源,使客户能够无缝、动态地扩大或缩小使用。客户的最终用户可以使用应用服务的生产力工具(例如,功能)来上传文件、共享文件和执行其他操作,例如协作完成任务。传统上,当功能更新或新功能发布时,这些功能会进行“环级验证”,这是指将功能部署到内部环(或“狗食环(dogfood ring)”)以进行测试和验证,然后将功能分发给外部环(例如,或“生产环”)。以这种方式,将新的或经更新的功能分发给与软件提供者相关联的至少一些内部用户(例如狗食环),以确保在将功能分发给与客户相关联的外部用户(例如,生产环)之前正确执行该功能。然而,在一些情况下,与在外部环中反映的客户使用量相比,特定功能可能成比例地更少接收在内部环中的使用。内部环中某些功能的这种不成比例的低使用是会导致遥测数据弱的一个因素,这可以导致代码回归(例如错误)在这些功能发布到外部环并被客户使用之前未被检测到。外部环中的功能回归可以导致客户服务中断和/或不佳的客户体验,从而导致客户对软件产品不满意。
正是关于这些和其他一般考虑,已经做出了本文所公开的方面。此外,虽然可以讨论相对具体的问题,但应当理解,示例不应限于解决在本公开的背景技术或其他地方确定的具体问题
发明内容
在各方面,大型软件提供者可以每天或每周发布或更新功能。传统上,当功能更新或新功能发布时,该功能会经历“环级验证”,这是指在将功能分发给外部环(例如,“生产环”)之前,将功能部署到内部环(例如“狗食环”)以进行测试和验证。然而,在一些情况下,与在外部环中反映的客户使用相比,特定功能可能成比例地更少接收在内部环中的使用。内部环中某些功能的这种不成比例的低使用可以导致代码回归(例如错误)在这些功能发布到外部环并被客户使用之前未被检测到。外部环中的功能回归可以导致客户服务中断和/或不佳的客户体验,从而导致客户对软件产品不满意。
为了解决上文识别的问题,本系统和方法加速了内部环中的功能使用以匹配或反映外部环中的客户使用。客户高度使用的功能(例如,顶部功能)是基于数据驱动方法、客户信号和业务输入的组合而动态识别的。一旦识别出顶部功能,就可以评估这些功能的内部功能使用并将其与外部使用进行比较。可以识别缺乏内部功能使用的顶部功能,以及弥补不足所需的内部功能使用量。然后,可以识别一个或多个租户站点,这些站点被估计为产生满足不足所需的内部功能使用量。这些站点可以在内部从环1迁移到环0,或者从生产环(例如环2或环3)复制(不访问任何租户数据)到环0或环1。这样,表现出对感兴趣的功能和/或操作的增强的使用的站点可用于生成额外的内部功能使用。通过增加内部测试和验证,提高功能发布的稳定性和可靠性,从而提高客户体验和对软件产品的满意度。因此,本申请解决了以下问题:与关联于应用服务的功能部署相关联的服务中断和客户不满意。
在各方面,提供了一种加速功能的内部使用的计算机实现的方法。该方法包括:检查云计算环境的一个或多个外部场以确定多个功能中的每个功能的外部使用。该方法还包括:基于外部使用以降序对多个功能进行排名,并且基于该排名,识别至少一个高排名的功能。此外,该方法包括:确定高排名的功能的内部使用并将内部使用与高排名的功能的外部使用进行比较。基于该比较,该方法包括:确定高排名的功能的内部使用的不足。该方法还包括:评估与云计算环境相关联的一个或多个站点以识别具有与内部使用的不足的至少一部分相对应的站点使用的站点并将该站点重新定位到云计算环境的内部场。
在进一步的方面,提供了一种系统。该系统包括处理器和存储计算机可执行指令的存储器,这些计算机可执行指令在由处理器执行时使系统执行操作。操作包括:检查云计算环境的一个或多个外部场以确定多个功能中的每个功能的外部使用,以及识别具有高外部使用的至少一个功能,其中所述至少一个功能包括至少一个操作。操作还包括:将所述至少一个操作与所述至少一个功能解耦。此外,操作包括:确定至少一个功能的内部使用并且将内部使用与该至少一个功能的外部使用进行比较。基于该比较,操作包括:确定该至少一个功能的内部使用的不足,以及评估与云计算环境相关联的一个或多个站点以识别具有与内部使用的不足的至少一部分相对应的站点使用的站点并将该站点重新定位到云计算环境的内部场。
在更进一步的方面,提供了一种计算机存储介质。计算机存储介质存储计算机可执行指令,这些指令在处理器执行时使计算机系统执行操作。操作包括检查云计算环境的一个或多个外部场以确定多个功能中的每个功能的外部使用,以及识别具有高外部使用的至少一个功能,其中所述至少一个功能包括至少一个操作。此外,操作包括确定至少一个功能的内部使用并且将内部使用与至少一个功能的外部使用进行比较。基于该比较,操作包括:确定至少一个功能的内部使用的不足,以及评估与云计算环境相关联的一个或多个站点以识别具有与内部使用的不足的至少一部分相对应的站点使用的站点。操作还包括:将站点重新定位到云计算环境的内部场,将至少一个功能的更新部署到内部验证环,以及基于在重新定位到的站点上内部用户与更新的交互来增加更新的内部使用。
任何一个或多个上述方面与任何其他一个或多个方面的组合。如本文所述的一个或多个方面中的任何一个。
提供本发明内容是为了以简化形式介绍概念的选择,这将在下面的详细描述中进一步描述。本发明内容并非旨在确定所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。示例的其他方面、功能和/或优点将部分地在以下描述中阐述,并且部分地将从描述中显而易见,或者可以通过本公开的实践来了解。
附图说明
参考以下附图描述了非限制性和非穷举性示例。
图1图示了根据本公开的方面的用于加速预生产功能使用的示例系统的概述。
图2图示了根据本公开的方面的加速预生产功能使用的示例方法。
图3图示了根据本公开的方面的识别顶部功能的示例方法。
图4图示了根据本公开的方面的确定缺乏足够内部测试的顶部功能的示例方法。
图5图示了根据本公开的方面的识别和迁移表现出对顶部功能的提升的使用的站点的示例方法。
图6是说明可以用其实践本公开的方面的计算设备600的物理组件(例如,硬件)的框图。
图7A是可以实践本公开的方面的移动计算设备的简化图。
图7B是可以实践本公开的方面的移动计算设备的另一个简化框图。
具体实施方式
下面参考附图更全面地描述本公开的各个方面,附图形成本公开的一部分并且示出了具体的示例方面。然而,本公开的不同方面可以以许多不同的方式实施并且不应被解释为限于本文所阐述的方面;相反,提供这些方面是为了使本公开彻底和完整,并将向本领域技术人员充分传达这些方面的范围。方面可以作为方法、系统或设备来实践。因此,方面可以采取硬件实现方式、完全软件实现方式或结合软件和硬件方面的实现方式的形式。因此,下面的详细描述不应被理解为限制性的。
在一些方面,大型软件提供者可以每天或每周发布或更新功能。在一些方面,“功能”可以建立在一个或多个操作(例如,API调用)之上,以使最终用户能够利用应用服务来上传文件、创建列表、共享文件、认证请求、创建门户页面的各个部分等等。在各方面,大型软件提供者可以每天或每周发布或更新功能。传统上,当功能更新或新功能发布时,该功能会进行“环级验证”,这是指在将功能分发给外部环(例如,“生产环”)之前,将功能部署到内部环(例如“狗食环”)以进行测试和验证。然而,在一些情况下,与在外部环中反映的客户使用相比,特定功能可能成比例地更少接收在内部环中的使用。打个比方,考虑一家汽车制造商。如果汽车在阿拉斯加试驾,看起来汽车运行正常,但空调可能永远不会使用。然后,当汽车卖给亚利桑那的买家时,可以发现空调有缺陷。类似地,内部环中一些功能的使用过低可以导致代码回归(例如错误)在这些功能发布到外部环并被客户使用之前未被检测到。外部环中的功能回归可以导致客户服务中断和/或不佳的客户体验不佳,从而导致客户对软件产品不满意。
为了解决上述问题,本系统和方法加速了内环中的功能使用以匹配或反映外环中的客户使用。客户高度使用的功能(例如,顶部功能)是基于数据驱动方法、客户信号和业务输入的组合而动态识别的。例如,可以检查与云计算环境相关联的生产场(例如外部场),以跨不同细分群体(例如,金融、旅游、教育、医疗、政府等)的所有客户使用模式而识别外部功能使用。一旦识别出最常用的功能,就可以评估这些功能的内部功能使用并将其与外部使用进行比较。可以识别缺少内部功能使用的顶部功能,以及弥补不足所需的内部功能使用量。
然后,可以识别一个或多个内部和/或外部租户站点,这些站点被估计为生成满足不足所需的内部功能使用量。在各方面,内部租户站点可以从环1迁移到环0,并且外部租户站点可以复制(不访问任何租户数据)到环0。通过这种方式,表现出对感兴趣的功能和/或操作的加强使用的站点可用于生成额外的内部功能使用(例如,通过集中的内部用户交互和/或自动化测试)。继续上面的类比,将表现出增强的功能使用的站点迁移和/或复制到环0类似于将汽车运送到各种不同的环境以确保所有组件都接收足够的测试(例如,运送到将更频繁地使用挡风玻璃刮水器的西雅图,以及到将更频繁地使用空调的亚利桑那)。或许更相似的是,制造商可以复制西雅图(例如,降雨模拟)和亚利桑那(例如,热模拟)的环境,以确保所有组件都接收充分的测试。
应当意识到,加速内部环中的功能使用以匹配或反映外部环中的客户使用有助于增加内部测试和验证。通过这种方式,与功能部署相关联的服务中断和客户不满意的问题被最小化,同时功能发布的稳定性和可靠性得到了提高。因此,本系统和方法改善了客户对软件产品的体验和满意度。
图1图示了根据本公开的方面的用于加速预生产功能使用的示例系统的概述。系统100可以表示用于向一个或多个租户分发程序指令的系统。
开发者102为由云计算环境108中的软件提供者144托管的应用服务开发与新的或经更新的功能相关联的程序指令。在一些情况下,开发者102可以启动针对新的或经更新的功能的环级验证。环级验证可以可视化为一组同心环,其中每个环中的用户数量不断增加。例如,环可以从0到3编号,例如,“环0”是最小的环并且具有最集中的回归测试(例如,由一组内部开发者和特定产品的用户)。也就是说,虽然环0可能具有较低的用户计数,但此环在功能工作流程中更早出现(例如,提前48小时),并且涉及高度熟悉功能及其应如何执行的用户(例如,开发者和/或工程师);同样,该环涉及自动化测试,其中可以创建虚拟用户以针对特定功能并生成额外的遥测数据。“环1”是更大的环,包括环0用户和其他内部用户(例如,软件提供者的所有内部用户)。虽然环0用户可以有权访问已提升(或验证)到环1的功能,但环0用户(和/或自动化测试)对功能的集中关注可能不会在环1中执行。“环2”是更大的环,其包括来自环0和1的内部用户以及至少一些外部用户(例如,客户用户)。环2可以与在其中向外部用户发功能的“第一生产环”相关联。在一些情况下,与环2相关联的外部用户可以由软件提供者专门选择,以提供关于产品的反馈,包括关于新的和经更新的功发布本。“环3”是最大的环,并且可以包括向所有内部和外部用户提供访问(或部署)新功能或经更新的功能。因此,在这个示例性场景中,环3可以表示“最后的生产环”。应当意识到,以上对同心环的描述是示例性的,并且可以采用更多或更少的内部和/或外部环来进行环级验证。
在各方面,遥测数据可以基于每个环中新的或经更新的功能的使用来收集。例如,基于遥测数据,可以在每个环中进行回归测试。“回归测试”是指对数据(例如遥测数据)的评估以识别与功能相关的代码中的错误(例如回归)。“遥测数据”是指基于与功能的用户交互(或功能的使用)而收集的数据。因此,如果功能使用低,则针对该功能收集的遥测数据也低。如果缺少遥测数据,则回归测试不太可能识别该功能的错误或性能问题。这在以下情况下是尤其令人不安的:与在外部环中反映的客户使用相比,功能可能成比例地更少接收在内部环中的使用。也就是说,由于功能用例的多样性,内部用户可能很少与功能交互,而外部用户(例如客户)可以大量使用该功能。由于内部环中的这种不成比例的低使用,可能无法检测到代码回归(例如错误),直到功能发布到外部环并被客户为止。外部环中的功能回归可以导致客户服务中断和/或不佳的客户体验,从而导致客户对软件产品不满意。
软件提供者的内部用户104使用计算设备经由云计算环境108来访问应用服务的内部站点。如本文所用,“站点”可以指使得用户能够与应用服务交互的内部或外部租户接口。例如,多个内部用户104中的每个内部用户可以与内部租户(例如,内部租户112A-112B)相关联并且可以经由由云计算环境108上的软件提供者144托管的内部站点(或内部租户接口)访问应用服务。类似地,软件提供者的外部用户106使用计算设备经由云计算环境108来访问应用服务的外部站点。例如,多个外部用户106中的每个外部用户可以与外部租户(例如,外部租户110A-110C)相关联并且可以经由由云计算环境108上的软件提供者144托管的外部站点(或外部租户接口)访问应用服务。
云计算环境108可以包括一个或多个资源,一个或多个资源包括一个或多个服务器(例如,包括处理单元和存储器)和一个或多个通过安全网络通信耦合的数据库。云计算环境可以被组织成一个或多个服务器场142,其包含一个或多个虚拟服务器136A-136C和一个或多个物理服务器138A-138B。例如,在一个或多个物理服务器138A-138B上划分的虚拟服务器136A-136C可以向一个或多个内部或外部租户提供专用服务器的功能性(例如,处理和存储器)。例如,外部租户110A可以使用虚拟服务器136A,外部租户110B可以使用虚拟服务器136B,并且内部租户112A可以使用虚拟服务器136C。在各方面,各种服务器或服务器场可以主要托管内部或外部租户。在其他方面,内部和外部租户都可以托管在服务器场上。在任何一种情况下,无论内部和/或外部租户是托管在服务器还是服务器场上,安全措施(例如,权限策略、防火墙、存储器分区等)都可以确保其他租户无法访问租户数据。软件提供者也无法访问外部租户数据。例如,外部租户数据可以存储在各种数据库(例如,外部租户数据库140)中,这些数据库通信地耦合到托管相对的应租户(例如,外部租户110A)的虚拟或物理服务器(例如,虚拟服务器136A),但是托管其他租户(例如,外部租户110B-110C、内部租户112A-112B)或软件提供者144的虚拟或物理服务器不可访问。
虚拟服务器136A-136B和物理服务器138A共同形成服务器场122。在各方面,由于虚拟服务器136A-136B和物理服务器138A托管外部租户110A-110C,因此服务器场142A可以对应于“生产场”(例如,“外部场”)。类似地,虚拟服务器136C和物理服务器138B共同形成服务器场142B。由于虚拟服务器136C和物理服务器138B托管内部租户112A-112B,因此服务器场142B可以对应于“狗食场”(例如,“内部场”)。在一些方面,例如,为了使云计算环境108的资源负载平衡,内部和/或外部租户可以迁移到其他服务器和/或服务器场。在这种情况下,先前是狗食场的服务器场可以变成生产场,反之亦然。因此,服务器场可以被监视并且基于在一段时间内保持在同一状态来确定是生产场(例如,外部场)还是狗食场(例如,内部场)。
与相应的虚拟服务器136A-136C和物理服务器138A-138B相关联的存储器可以存储程序指令(例如,代码)以供一个或多个中央处理单元(CPU)执行,图中未示出。程序指令的执行使功能和组件操作(例如,API调用)可用于内部用户104在内部站点上使用或外部用户106在外部站点上使用。新的或经更新的程序指令(例如,新的或经更新的代码)可以被部署并启用以在内部和/或外部站点上提供新的或经更新的功能。在各方面,基于环级验证,在将新的或经更新的功能部署到访问外部站点的外部用户106之前,可以首先将新的和/或经更新的功能部署到访问内部站点的内部用户104。以此方式,可以首先在内部测试新的和经更新的功能以识别和纠正回归,从而防止外部用户106的负面客户体验和/或服务中断。当内部使用和测试足够时,服务器场142A-142B可以为内部用户104和外部用户106提供对由软件提供者144管理的稳定可靠的软件产品和服务的访问,例如上传文件、共享文件、验证请求、创建web部件等。在各方面,与数十万内部和外部租户(包括内部租户112A-112B和外部租户110A-110C)相关联的数百万用户(包括内部用户104和外部用户106)可以访问通过云计算环境108可用的各种应用服务。
为了确保足够的内部使用和测试,外部使用确定器114可以基于数据驱动方法、客户信号和业务输入的组合来动态识别客户高度使用的功能(例如,使用最多的功能或“顶部功能”)。如本文所使用的,“功能使用”可以被测量为每天对功能的点击或用户请求的数量。如上所述,功能可以构建在一个或多个操作(例如,API调用)之上。因此,功能使用可以包括在其上构建功能的操作上的累积“操作使用”(例如,每天的点击或用户请求的数量)。在各方面,数据驱动的方法可以涉及检查与云计算环境相关联的所有生产场,以跨不同细分群体(例如,金融、旅游、教育、医疗、政府等)的所有客户使用模式而识别外部使用。在一些情况下,功能使用(和/或操作使用)可以表示为跨所有生产场(或代表性生产场)的中值。在各方面,“生产场”可以是托管外部租户的服务器场(或者,已经托管外部租户一段时间的服务器场)。例如,外部使用确定器114可以每90天检查生产场。可替代地,这样的检查可以更频繁地或更不频繁地发生。基于对生产场的检查,外部使用确定器114可以确定每个功能的外部使用。另外或可替代地,基于客户信号和/或业务输入,可以对一些功能的外部使用进行加权。例如,可以针对关键客户大量使用的功能或先前经历过回归的功能的外部使用进行加权。以这种方式,外部使用确定器114编译和加权(在某些情况下)由应用服务提供的每个功能的外部使用。在各方面,每个功能的外部使用数据可以存储在功能使用数据库126中。
在外部使用确定器114确定每个功能的外部使用(并且应用任何加权因子)时,功能排名器/解耦器116可以按外部使用的降序对功能进行排名。以这种方式,可以识别最常使用的功能(例如,顶部功能)。在对功能进行排名之后,功能排名器116可以识别排名高的功能的顶部集合,例如,前10个功能、前50个功能、前100个功能或任何其他合适的数目。在各方面,针对每个功能的排名可以存储在排名功能列表128中。在其他方面,仅所识别的顶部功能(例如,前10个功能、前20个功能等)可以存储在排名功能列表128中。排名功能列表128可以包括表格、数据库或任何其他合适的数据结构。除了识别顶部功能之外,功能排名器/解耦器116还可以将顶部功能解耦(例如,分解)成更小的工程组件和/或API调用。如上所述,顶部功能可以可能与“外部使用”(例如,每天对该功能的点击或用户请求的数量)相关联,该“外部使用”包括累积的“操作使用”(例如,每天对在其上构建该功能的操作的点击或用户请求的数量)。通过将底层操作与顶部功能解耦,可以评估完整功能的使用以及不同站点上各个组件的使用。
内部使用确定器118可以确定由功能排名器/解耦器116识别的顶部功能的内部使用。与外部使用相似,内部使用可以涉及每天对功能的点击或用户请求的数量。例如,该数量可以是每天对该功能的点击次数的中位数。在各方面,内部使用可以基于内部用户在环0和1中的功能使用来评估。在各方面,每个功能的内部使用数据可以存储在功能使用数据库126中。为了提供对顶部功能的充分测试和验证,内部使用可以优选地对应于外部使用的阈值分数(fraction)(或百分比)。合适的分数可以是外部使用的1/1000(例如,0.0001或0.01%),外部使用的1/1000(例如,0.001或0.1%),外部使用的1/500(例如,0.002或0.2%),或由实施设计者确定的另一个合适的分数或百分比。应当意识到,阈值分数(或百分比)可以表示足够的内部使用,使得实施设计者可以合理地确信任何回归将在内部环验证期间被识别和纠正。因此,基于特定功能,阈值分数可以更高或更低。
使用不足确定器120可以确定任何顶部功能的内部使用是否不满足外部使用的阈值分数(或分数)。此外,对于缺乏足够内部使用的顶部功能,使用不足确定器120可以确定满足阈值分数所需的内部使用量。例如,在示例性和非限制性示例中,对于具有每天10,000次点击的中值外部使用和0.1%的阈值分数的顶部功能,中值内部使用应该是每天至少10次点击。如果中值内部使用仅为每天6次点击,则内部使用不足为每天4次点击,这是满足阈值分数(或百分比)所需的数量。在各方面,由使用不足确定器120确定的顶部功能的内部使用的不足可以存储在不足数据库130中。
在识别出缺乏足够内部使用的顶部功能时,站点使用评估器122可以评估内部和外部租户的站点以识别表现出针对一个或多个顶部功能(和/或其组件操作)的提升的使用的站点。如上所述,“站点”可以指使得用户能够与应用服务(或对应用服务的请求)交互的内部或外部租户接口。在各方面,不同的站点可以以不同的量来使用功能。例如,团队站点可以大量使用“文件上传”和“文件共享”功能,而新闻站点可以主要使用“web部件渲染”功能。另外或可替代地,不同的站点可以以不同的量来使用功能的组件操作。
在识别出具有对感兴趣的顶部功能(或组件操作)的提升的使用的站点后,站点使用评估器122可以估计每个站点每天的功能使用。以这种方式,站点使用评估器122可以识别被估计为生成满足在上文由使用不足确定器120识别的至少一个顶部功能的阈值分数所需的使用量的一个或多个内部或外部站点。内部或外部站点的使用数据可以映射到特定功能和/或组件操作并存储在站点使用数据库132中。
在识别出被估计为生成满足至少一个顶部功能的阈值分数所需的使用量的一个或多个内部或外部站点时,站点迁移器/复制器124可以将站点迁移或复制到内部环上。例如,内部租户站点可以在内部从环1迁移到环0。以这种方式,可以由内部开发者/工程师和/或自动化测试来提供对功能的额外集中测试。可替代地,可以将外部租户站点从生产环之一(例如环2或3)复制(在不访问任何租户数据的情况下)到狗食环0或1。也就是说,外部站点的接口(或基础设施)可以在狗食环中复制,使得内部用户可以与感兴趣的功能(或其底层组件操作)进行交互。由站点迁移器/复制器124生成的关于内部站点迁移和/或外部站点复制到狗食环中的数据可以存储在迁移表134中。以这种方式,表现出对顶部功能(和/或组件操作)的增加的使用的站点可用于生成额外的内部使用(例如,通过集中的内部用户交互和/或自动化测试)。额外的遥测数据可以基于对顶部功能的额外内部使用来生成。例如,基于额外的遥测数据,可以进行额外的回归测试,以确保在将对顶部功能(或与顶部功能的新功能相似)的更新发布到生产环之前,在狗食环中识别和纠正错误(例如,回归)。
功能部署器146可以在部署新的或经更新的功能时使用由上述模块进行的评估和确定。例如,如果更新针对缺乏上述所识别的足够内部使用的顶部功能之一,则可以从例如站点使用数据库132中识别被估计为生成足够量的功能和/或操作使用的一个或多个内部或外部站点。然后可以在狗食环内迁移或复制所识别的站点,以确保更新接收足够的回归测试。可替代地,如果正在部署新功能,则可以将新功能(或其底层组件操作)与缺乏足够内部测试的顶部功能进行比较。如果新功能类与这些顶部功能之一相似(例如,新功能包含顶部功能的20个组件操作中的15个),则可以(例如,从站点使用数据库132中)识别被估计为生成足够量的功能和/或操作使用的一个或多个内部或外部站点并在狗食环内迁移或复制,以确保新功能接收足够的回归测试。以这种方式,与新的或经更新的功能发布相关联的功能回归可以在外部环中最小化,从而防止客户服务中断和/或不佳的客户体验。因此,可以提高客户对应用服务的满意度、信任度和忠诚度。
如应当意识到的,关于图1描述的各种方法、设备、应用、模块等并不旨在将系统100限制为由所描述的特定应用和功能来执行。因此,额外的控制器配置可用于实践本文中的方法和系统和/或可排除所描述的功能和应用而不背离本文所公开的方法和系统。
图2图示了根据本公开的方面的加速预生产功能使用的示例方法。
方法200的操作的一般顺序在图2中示出。总体上,方法200以开始操作202开始并在操作216之后重复。在一些情况下,方法200可以每90天重复一次,或者可以更频繁地或更不频繁地重复。方法200可以包括更多或更少的步骤,或者可以以与图2中所示的不同的方式排列步骤的顺序。方法200可以作为一组计算机可执行指令来执行,该组计算机可执行指令由计算机系统执行并编码或存储在计算机可读介质上。此外,方法200可以由与处理器、ASIC、FPGA、SOC或其他硬件设备相关联的门或电路来执行。在下文中,方法200将参照结合图1、3-7B所描述的系统、组件、设备、模块、软件、数据结构、数据特征表示、信令图、方法等来解释。
在识别操作204,可以识别最常用的功能(例如,顶部功能)。为了确保足够的内部使用和测试,客户高度使用的功能(例如,最常用的功能或“顶部功能”)可以基于数据驱动方法、客户信号和业务输入的组合而动态识别。在各方面,数据驱动的方法可以涉及检查与云计算环境相关联的生产场,以跨识不同细分群体(例如,金融、旅游、教育、医疗、政府等)的客户使用模式而识别外部使用。如上所述,“生产场”可以是托管外部租户的服务器场(或托管外部租户一段时间的服务器场)。例如,生产场可以托管与环级验证方案的至少环2相关联的外部租户。环2可以与在其中向外部用户发布功能的“第一生产环”相关联,并且可以涉及比环3更小的外部用户子集,环3可以涉及将功能部署到更大的外部用户集。在一下情况下,与环2相关联的外部用户可以由软件提供者专门选择,以提供关于产品的反馈,包括新的和经更新的功能发布。在一些方面,环3可以表示最大的外部用户集,并且可以与“最后的生产环”相关联。基于对生产场的检查,可以确定每个功能的外部使用。此外,基于客户信号和/或业务输入,可以对一些功能的外部使用进行加权。例如,外部使用可以针对关键客户大量使用的功能、与季节性使用相关联的功能或先前经历过回归的功能进行加权。在确定每个功能的外部使用(并应用任何加权因子)时,可以按外部使用的降序对功能进行排名。以此方式,可以识别出顶部的一组功能(例如,排名最高的功能),例如,前10个功能、前50个功能、前100个功能或任何其他合适的数目。
在解耦操作206,可以将底层组件操作的操作使用与顶部功能的功能使用解耦。例如,可以将顶部功能分解为更小的工程组件和/或API调用。如上所述,顶部功能可以与“外部使用”(例如,每天对该功能的点击或用户请求的数量)相关联,该“外部使用”包括累积的“操作使用”(例如,每天对构建该功能的操作的点击或用户请求的数量)。通过将底层操作与顶部功能解耦,可以评估完整功能的外部使用以及不同站点上各个组件的操作使用。
在确定操作208,可以确定顶部功能和/或组件操作的内部使用。与外部使用相似,内部使用可以涉及每天对功能的点击或用户请求的数量。在各方面,内部使用可以基于在环0和1中由内部用户对功能的使用来评估。如上所述,环0是最小的环并且具有最集中的回归测试(例如,由一组内部开发者和特定产品的用户)。也就是说,虽然环0可能具有较低的用户计数,但该环在功能工作流程中更早出现(例如,提前48小时),并且涉及高度熟悉功能及其应如何执行的用户(例如,开发者和/或工程师);同样,该环涉及自动化测试,其中可以创建虚拟用户以针对特定功能并生成额外的遥测数据。环l是更大的环,包括环0用户和其他内部用户(例如,软件提供者的所有内部用户)。虽然环0用户可以有权访问已提升(或验证)到环1的功能,但环0用户对功能的集中关注(和/或自动化测试)可能不会在环1中执行。基于通过内部用户对顶部功能的使用的评估,可以确定每个顶部功能的内部使用。
在确定不足操作210,可以确定顶部功能的内部使用的不足。例如,为了提供对顶部功能的充分测试和验证,内部使用可以优选地对应于外部使用的阈值分数(或百分比)。合适的分数可以是外部使用的1/10000(例如,0.0001或0.01%),外部使用的1/1000(例如,0.001或0.1%),外部使用的1/500(例如,0.002或0.2%),或由实施设计者确定的另一个合适的分数或百分比。基于外部使用的阈值分数(或百分比),可以确定任何顶部功能的内部使用是否不足或缺乏。此外,对于缺乏足够内部使用的顶部功能,可以确定满足阈值分数所需的内部使用量。例如,在示例性和非限制性示例中,对于具有每天10,000次点击的中值外部使用和0.1%的阈值分数的顶部功能,中值内部使用应该是每天至少10次点击。如果中值内部使用仅为每天6次点击,则不足为每天4次点击。
在识别操作212,可以识别表现出对顶部功能(或组件操作)的提升的使用的一个或多个内部或外部站点。例如,可以评估内部和外部租户站点以识别表现出对一个或多个顶部功能(和/或其组件操作)的提升的使用的站点。如上所述,“站点”可以指使得能够对应用服务进行点击或请求的内部或外部租户接口。在各方面,不同的站点可以以不同的量来使用功能。例如,团队站点可以大量使用“文件上传”和“文件共享”功能,而新闻站点可以主要使用“web部件渲染”功能。另外或可替代地,不同的站点可以以不同的量使用功能的组件操作。在识别出具有对感兴趣的顶部功能(或组件操作)的提升的使用的站点后,可以估计每个站点每天的功能使用。以这种方式,可以识别被估计为生成满足阈值分数所需的使用量的一个或多个内部或外部站点。
在迁移操作214,表现出对顶部功能(或组件操作)的提升的使用的一个或多个内部或外部站点可以迁移或复制到内部环(例如狗食环)。例如,内部租户站点可以在内部从环1迁移到环0。通过这种方式,可以由内部开发者/工程师和/或自动化测试来提供对功能的额外集中测试。可替代地,可以将外部租户站点从生产环之一(例如环2或3)复制(不访问任何租户数据)到狗食环0或1。也就是说,外部站点的接口(或基础设施)可以在狗食环中复制,以使得内部用户可以与感兴趣的功能(或其底层组件操作)进行交互。通过这种方式,表现出对顶部功能(和/或组件操作)的提升的使用的站点可用于生成额外的内部使用(例如,通过集中的内部用户交互和/或自动化测试)。额外的遥测数据可以基于该功能的额外内部使用而生成。例如,基于额外的遥测数据,可以进行额外的回归测试,以确保在将对功能(或与功能相似的新功能)的更新发布到生产环之前在狗食环中识别和纠正错误(例如回归)。
在部署操作216,可以部署新的或经更新的功能。例如,如果更新针对缺乏上述足够内部使用的顶部功能之一,则可以识别被估计为生成足够量的功能和/或操作使用的一个或多个内部或外部站点。然后可以在狗食环内迁移或复制所识别的站点,以确保更新接收足够的回归测试。可替代地,如果正在部署新功能,则可以将新功能(或其底层组件操作)与缺乏足够内部测试的顶部功能进行比较。如果新功能与这些顶部功能之一相似(例如,新功能包含顶部功能的20个组件操作中的15个),则可以识别出被估计为生成足够量的功能和/或操作使用的一个或多个内部或外部站点。然后可以在狗食环内迁移或复制所识别的站点,以确保新功能接收足够的回归测试。以这种方式,可以加速预生产使用以最小化与外部环中新的或经更新的功能发布相关的功能回归,从而防止客户服务中断和/或不佳的客户体验。因此,可以增加应用服务的客户满意度、信任度和忠诚度。
在各方面,识别操作214关于图3进一步详细描述(如“A”所示),确定不足操作210将参照图4进一步详细说明(如“B”所示),识别操作212和迁移操作214将参照图5进一步详述(如“C”所示)。
应当意识到,操作202-216是为了说明本方法和系统的目的而描述的,并且不旨在将本公开限制到特定的步骤序列,例如,步骤可以以不同的顺序执行,可以执行附加步骤,并且可以排除公开的步骤,而不背离本公开。
图3图示了根据本公开的方面的识别顶部功能的示例方法。
方法300的操作的一般顺序在图3中示出。总体上,方法300以开始操作302开始并且图示了用于图2的识别操作204的操作序列。方法300可以包括更多或更少的步骤,或者可以以与图3中所示的不同的方式排列步骤的顺序。方法300可以作为一组计算机可执行指令来执行,该组计算机可执行指令由计算机系统执行并且被编码或存储在计算机可读介质上。此外,方法300可以由与处理器、ASIC、FPGA、SOC或其他硬件设备相关联的门或电路来执行。在下文中,方法300将参考结合图1-2、4-7B所描述的系统、组件、设备、模块、软件、数据结构、数据功能表示、信令图、方法等来解释。
在检查操作304,可以检查一个或多个生产场以确定一个或多个功能的外部使用。如本文所使用的,“功能使用”可以测量为每天对功能的点击或用户请求的数量。如上所述,功能可以构建在一个或多个操作(例如,API调用)之上。因此,功能使用可以包括在其上构建功能的操作上的累积“操作使用”(例如,每天的点击或用户请求的数量)。在各方面,数据驱动的方法可以涉及检查与云计算环境相关的一个或多个生产场,以跨不同细分群体(例如,金融、旅游、教育、医疗、政府等)的客户使用模式而识别外部功能使用。在各方面,“生产场”可以是托管外部租户的服务器场(或者,已经托管外部租户一段时间的服务器场)。例如,生产场可以托管与环级验证方案的至少环2相关联的外部租户。在一些情况下,可以跨云计算环境中检查所有生产场;在其他情况下,可以检查生产场的一些子集。
基于对生产场的检查,可以识别托管平均租户的平均生产场(例如,在应用服务上具有平均每秒请求数RPS的租户)。在一些方面,对生产场的检查可以每90天发生一次,或者可以更频繁地或更不频繁地发生。在其中不对称的季节性使用模式在统计上不相关的一些情况下,可以根据外部用户在90天期间对平均生产场的使用来确定每个功能的中值外部使用。在其他情况下,可以根据外部用户在90天期间内对平均生产场的使用情况来确定每个功能的均值外部使用。然后可以基于中值(或均值)外部使用(以下称为“外部使用”)按降序组织功能。在一些方面,可以评估所有功能和组件操作以供外部使用;在其他方面,可以评估大多数功能和组件操作的外部使用;在另外其他方面,可以评估功能和组件操作的一些子集的外部使用。
在可选的应用权重操作306,可以将第一加权应用于在检查操作304确定的一些功能的外部使用。例如,一些功能可以已经与导致负面客户体验和/或服务中断(例如,客户投诉、健康审查报告、月度服务审查报告、现场工程师报告、技术客户经理报告、基于服务质量不足的退款等中所识别的)的过去的回归相关联。具有过去的回归的功能的外部使用可以被加权(例如,增加一些因子)。例如,该因子可以是固定的,也可以基于过去的回归的数量增加或减少。在一些方面,具有较多过去的回归的功能的外部使用可以比具有较少的过去的回归的功能的权重更大。
在可选的应用权重操作308,可以对在检查操作304确定的一些功能的外部使用应用第二权重。例如,一些功能可以被关键客户大量使用。关键客户可以是作为战略合作伙伴的客户、具有阈值水平的RPS的客户、具有阈值数量的活跃用户的客户、具有特殊服务协议的客户等。关键客户大量使用的功能的外部使用可以被加权(例如,增加一些因子)。例如,该因子可以是固定的或可以基于关键客户级别。以这种方式,“白手套”客户(例如VIP或战略合作伙伴)大量使用的功能的外部功能使用可以比满足例如RPS或活跃用户的阈值的客户所大量使用的功能的权重更大。
在可选的应用权重操作310,可以将第三加权应用于在检查操作304确定的一些功能的外部使用。例如,一些功能可以被表现出季节性的特定细分群体大量使用。可以对表现出季节性使用的功能的外部使用进行加权。例如,如果功能被教育部门大量使用,如果90天的检查期不能反映季节性使用(例如,90天期在夏季),则可以应用加权。另外或可替代地,如果功能被金融部门大量使用,则如果90天检查期未反映季节性使用(例如,90天期不在财政年末),则可以应用加权。如应该意识到的,可以执行可选的应用权重操作306、308或310中的一个或组合以对功能的外部使用进行加权。可替代地,可以不执行可选的应用权重操作306、308或310中的任何一个来对功能的外部使用进行加权。
在排名操作312,在确定了每个功能的外部使用(并且应用了任何加权因子)时,可以按外部使用的降序对功能进行排名。
在选择操作314,可以识别一组顶部功能(例如,最高等级的功能)。在各方面,该组顶部功能可以表示应用服务的最常用功能。例如,可以选择前10个功能、前20个功能、前50个功能、前100个功能或任何其他合适数量的功能。在选择了一组顶部功能时,该方法可以进行以确定图2的属性操作206。
应当意识到,操作302-314是为了说明本方法和系统的目的而描述的,并且不旨在将本公开限制到特定的步骤序列,例如,可以以不同的顺序执行步骤,可以执行附加步骤,并且可以排除公开的步骤,而不背离本公开。
图4图示了根据本公开的方面的确定缺乏足够内部测试的顶部功能的示例方法。
方法400的操作的一般顺序在图4中示出。通常,方法400以开始操作402开始,并说明用于图2的确定不足操作210的操作序列。方法400可以包括更多或更少的步骤,或者可以以与图4中所示的不同的方式排列步骤的顺序。方法400可以作为一组计算机可执行指令来执行,该计算机可执行指令由计算机系统执行并编码或存储在计算机可读介质上。此外,方法400可以由与处理器、ASIC、FPGA、SOC或其他硬件设备相关联的门或电路来执行。在下文中,方法400将参照结合图1-3、5-7B所描述的系统、组件、设备、模块、软件、数据结构、数据功能表示、信令图、方法等来解释。
在选择操作404,可以选择针对该组顶部功能中的每个顶部功能的内部使用的最小可接受阈值。例如,为了提供对顶部功能的充分测试和验证,内部使用可以优选地对应于外部使用的阈值分数(或百分比)。合适的分数可以是外部使用的1/1000(例如,0.0001或0.01%),外部使用的1/1000(例如,0.001或0.1%),外部使用的1/500(例如,0.002或0.2%),或由实施设计者确定的另一个合适的分数或百分比。应当意识到,阈值分数(或百分比)可以表示足够的内部使用,使得实施设计者可以合理地确信任何回归将在内部环验证期间被识别和纠正。因此,选择的阈值可以特定于特定的顶部功能,因此,所选择的第一顶部功能的阈值可以高于或低于所选择的第二顶部功能的阈值。
在比较操作406,可以将顶部功能的内部使用与顶部功能的外部使用进行比较以确定内部使用是否满足所选择的阈值。例如,内部使用可以除以外部使用,以确定顶部功能的内部使用相对外部使用之比的分数。在其他示例中,该分数可以转换为顶部功能的内部使用相对外部使用的百分比。
在确定操作408,可以将内部使用的分数(或百分比)与所选择的阈值进行比较。如果内部使用的分数(或百分比)大于或等于所选择的阈值,则可以确定顶部功能具有足够的内部使用并且该方法可以进行到结束操作414。如果内部使用的该分数(或百分比)小于所选择的阈值,则可以确定顶部功能缺乏足够的内部使用,并且该方法可以进行到确定不足操作410。
在确定不足操作410,响应于确定内部使用的分数(或百分比)小于所选择的阈值,可以确定顶部功能的内部使用的不足。例如,在示例性和非限制性示例中,对于具有每天10,000次点击的外部使用和0.1%的所选择的阈值的顶部功能,内部使用应该是每天至少10次点击。如果内部使用量仅为每天6次点击,则可以确定每天4次点击的内部使用不足。
在确定量操作412,可以确定满足顶部功能的所选择的阈值所需的内部使用量。继续上面的示例性和非限制性示例,对于具有每天10,000次点击的外部使用和0.1%的所选择的阈值的顶部功能,内部使用应该是每天至少10次点击。如果内部使用量仅为每天6次点击,则满足所选择的阈值所需的内部使用量为每天4次点击(即不足)。在确定满足顶部功能的所选择的阈值所需的量后,该方法可以进行到图2的识别操作212。
应当意识到,操作402-414是为了说明本方法和系统的目的而描述的,并且不旨在将本公开限制到特定的步骤序列,例如,可以以不同的顺序执行步骤,可以执行附加步骤,并且可以排除公开的步骤,而不背离本公开。
图5图示了根据本公开的方面的识别和迁移表现出对顶部功能的高使用率的站点的示例方法。
方法500的操作的一般顺序在图5中示出。通常,方法500以开始操作502开始,并说明图2的识别操作212和迁移操作214的操作序列。方法500可以包括更多或更少的步骤,或者可以以与图5中所示的不同的方式排列步骤的顺序。方法500可以作为一组计算机可执行指令来执行,该组计算机可执行指令由计算机系统执行并编码或存储在计算机可读介质上。此外,方法500可以由与处理器、ASIC、FPGA、SOC或其他硬件设备相关联的门或电路来执行。在下文中,方法500将参照结合图1-4、6-7B所描述的系统、组件、设备、模块、软件、数据结构、数据功能表示、信令图、方法等来解释。
在检查操作504,可以针对缺乏足够内部使用的顶部功能的功能使用而检查内部和/或外部租户站点,如由图2的确定不足操作210和/或图4的方法400所确定的。如上所述,“站点”可以指使得用户能够与应用服务(或对应用服务请求)进行交互的内部或外部租户接口。与内部和外部使用相似,站点使用可以对应于每天对站点顶部功能的点击次数或用户请求数(或每天对站点顶部功能的组件操作的点击次数或用户请求数)。
在识别站点操作506,可以识别表现出对顶部功能(或组件操作)的提升的使用的一个或多个内部和/或外部租户站点。在各方面,不同的站点可以以不同的量使用功能。例如,团队站点可以大量使用“文件上传”和“文件共享”功能,而新闻站点可以主要使用“web部件渲染”功能。另外或可替代地,不同的站点可以以不同的量使用功能的组件操作。在一下情况下,可以将各种内部和/或外部租户站点的站点使用与阈值使用进行比较,以确定顶部功能的提升的使用。例如,当站点使用超过对顶部功能(或顶部功能的组件操作)的每天50次点击或每天100次点击等的阈值使用时,站点使用可以是提升的。
在估计操作508,在识别出对顶部功能的提升的使用的站点时,可以为每个识别的站点估计顶部功能(或组件操作)的每天站点使用量(例如,“估计的站点使用”)。例如,估计的站点使用可以基于一段时间(例如,90天或一些其他合适的时间段)内顶部功能(或组件操作)的每天的中值或均值站点使用。
在可选的排名操作510,可以按照针对顶部功能(或顶部功能的组件操作)的估计站点使用的降序对识别的站点进行排名。
在可选的选择操作512,基于排名,可以选择表现出对顶部功能的最高站点使用的一组所识别站点。以这种方式,识别的站点组可以表示被估计为生成满足顶部功能的所选择的阈值所需的使用量的最小数量的所识别站点。在其他方面,例如,当估计的站点使用超过阈值时,可以单独选择所识别的站点。
在确定操作514,可以确定所选择的一组所识别的站点(或单独选择的站点)的累积估计使用是否大于或等于满足顶部功能的所选择的内部使用阈值所需的内部使用量(例如,基于图4的选择操作404)。累积估计使用可以包括所选择的一组所识别站点中的每个已标识站点(或每个单独选择的站点)的估计站点使用总和。如果累积估计使用大于或等于所需量,则该方法可以进行到迁移操作516。如果累积估计使用量小于所需量,该方法可以返回到检查操作504。
在迁移操作516,所选择的一组所识别站点(或单独选择的站点)可以迁移或复制到内部环(例如狗食环)。例如,内部站点可以在内部从环1迁移到环0。这样,内部开发者/工程师和/或自动化测试可以提供对顶部功能(或组件操作)的额外集中测试。可替代地,可以将外部站点从生产环之一(例如环2或3)复制到狗食环0或1上(无需访问任何租户数据)。也就是说,外部站点的接口(或基础设施)可以在狗食环中复制,以使得内部用户可以与顶部功能(或其底层组件操作)交互。以这种方式,所选择的一组所识别站点(或单独选择的站点)可用于生成顶部功能的额外的内部使用(例如,通过专注的内部用户交互和/或自动化测试)。额外的遥测数据可以基于顶部功能的额外内部使用来生成。例如,基于额外的遥测数据,可以进行额外的回归测试,以确保在将对顶部功能(或与顶部功能的新功能相似)发布到生产环之前在狗食环中识别并纠正错误(例如,回归)。在迁移或复制所选择的站点组时,该方法可以进行到图2的部署操作216。
应当意识到,操作502-516是为了说明本方法和系统的目的而描述的,并且不旨在将本公开限制到特定的步骤序列,例如,可以以不同的顺序执行步骤,可以执行附加步骤,并且可以排除公开的步骤,而不背离本公开。
图6是说明可以用其实践本公开的方面的计算设备600的物理组件(例如,硬件)的框图。
下面描述的计算设备组件可能适用于上述计算设备。在基本配置中,计算设备600可以包括至少一个处理单元602和系统存储器604。根据计算设备的配置和类型,系统存储器604可以包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储器(例如,只读存储器)、闪存或此类存储器的任何组合。系统存储器604可以包括操作系统605和一个或多个程序工具606,该程序工具606适合于执行本文所公开的各个方面。例如,操作系统605可以适合于控制计算设备600的操作。此外,本公开的各方面可以结合图形库、其他操作系统或任何其他应用程序来实施并且不限制到任何特定的应用或系统。该基本配置在图6中由虚线608内的那些组件示出。计算设备600可以具有附加特征或功能性。例如,计算设备600还可以包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这种附加存储在图6中由可移动存储设备609和不可移动存储设备610示出。
如上所述,许多程序工具和数据文件可以存储在系统存储器604中。当在处理单元602上执行时,程序工具606(例如,应用620)可以执行包括但不包括限于如本文所述的方面。应用620包括外部使用确定器630、内部使用确定器632、不足确定器634、站点使用评估器636、站点迁移器/复制器638和功能部署器640,如关于图1更详细描述的。
此外,本公开的各方面可以在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实施。例如,本公开的各方面可以通过片上系统(SOC)来实践,其中图6中所示的每个或许多组件可以集成到单个集成电路上。这样的SOC器件可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些都作为单个集成电路集成(或“烧录”)到芯片基板上。当通过SOC操作时,本文描述的关于客户端切换协议的能力的功能可以通过与计算设备600的其他组件集成在单个集成电路(芯片)上的应用特定逻辑来操作。本公开的各方面也可以使用能够执行逻辑运算的其他技术来实践,例如与(AND)、或(OR)和非(NOT),包括但不限于机械、光学、流体和量子技术。此外,本公开的各方面可以在通用计算机或任何其他电路或系统中实施。
计算设备600还可以具有一个或多个输入设备612,例如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等。输出设备614例如显示器、扬声器、打印机等也可以被包括在内。上述设备是示例并且可以使用其他设备。计算设备600可以包括一个或多个允许与其他计算设备650通信的通信连接616。通信连接616的合适的示例包括但不限于射频(RF)发射器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
如本文所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构或程序工具的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器604、可移动存储设备609和不可移动存储设备610都是计算机存储介质示例(例如,存储器存储)。计算机存储介质可能包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能磁盘(DVD)或其他光学存储、磁盒、磁带、磁盘存储或其他磁存储设备,或可用于存储信息且可由计算设备600访问的任何其他制造物品。任何此类计算机存储介质可以是计算设备600的一部分。计算机存储介质不包括载波或其他传播或调制的数据信号。
通信介质可以由计算机可读指令、数据结构、程序工具或调制数据信号中的其他数据来体现,例如载波或其他传输机制,并且包括任何信息传递介质。术语“调制数据信号”可以描述具有以编码信号中的信息的方式设置或改变的一个或多个功能的信号。作为示例而非限制,通信介质可以包括有线介质,例如有线网络或直接有线连接,以及无线介质,例如声学、射频(RF)、红外线和其他无线介质。
图7A和图7B示出了可实践本公开的各方面的计算设备或移动计算设备700,例如移动电话、智能电话、可穿戴计算机(例如智能手表)、平板计算机、膝上型计算机等。在一些方面,客户端(例如,图1中的最终用户104的计算设备)可以是移动计算设备。参考图7A,示出了用于实现这些方面的移动计算设备700的一个方面。在基本配置中,移动计算设备700是具有输入元件和输出元件的手持计算机。移动计算设备700通常包括显示器705和允许用户将信息输入到移动计算设备700中的一个或多个输入按钮710。移动计算设备700的显示器705还可以用作输入设备(例如,触摸屏显示器)。如果包括,可选的侧输入元件715允许进一步的用户输入。侧输入元件715可以是旋转开关、按钮或任何其他类型的手动输入元件。在替代方面,移动计算设备700可以并入更多或更少的输入元件。例如,显示器705在一些方面可能不是触摸屏。在又一个替代方面,移动计算设备700是便携式电话系统,例如蜂窝电话。移动计算设备700还可以包括可选小键盘735。可选小键盘735可以是物理小键盘或在触摸屏显示器上生成的“软”小键盘。在各个方面,输出元件包括用于显示图形用户接口(GUI)的显示器705、视觉指示器720(例如,发光二极管)和/或音频换能器725(例如,扬声器,未示出)。在一些方面,移动计算设备700并入用于向用户提供触觉反馈的振动换能器。在又一方面,移动计算设备700结合了用于向外部设备发送信号或从外部设备接收信号的输入和/或输出端口,例如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,端口)。
图7B是说明计算设备、服务器、移动计算设备等的一个方面的架构的框图。也就是说,计算设备700可以结合一个系统(附加地或可替代地,架构)702来实现一些方面。系统702可以实现为能够运行一个或多个应用程序(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面,系统702被集成为计算设备,例如集成数字助理(PDA)和无线电话。
一个或多个应用程序766可以加载到存储器762中并在操作系统764上运行或与操作系统764相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息程序等。系统702还包括存储器762内的非易失性存储区域769。非易失性存储区域769可用于存储在系统702断电时不应丢失的持久性信息。应用程序766可以在非易失性存储区域769中使用和存储信息,例如电子邮件或电子邮件应用程序使用的其他消息等。同步应用(未示出)也驻留在系统702上并被编程为与驻留在主机计算机上的相应同步应用交互以保持存储在非易失性存储区域769中的信息与存储在主机计算机上的相应信息同步。应当意识到,其他应用可以被加载到存储器762中并且在本文描述的移动计算设备700上运行。
系统702具有电源770,其可以实现为一个或多个电池。电源770还可以包括外部电源,例如对电池进行补充或充电的AC适配器或供电的对接座。
系统702还可以包括无线电接口层772,其执行发送和接收射频通信的功能。无线电接口层772通过通信运营商或服务提供者促进系统702和“外界”之间的无线连接。往来于无线电接口层772的传输在操作系统764的控制下进行。换句话说,无线电接口层772接收的通信可以通过操作系统764传播到应用程序766,反之亦然。
视觉指示器720可用于提供视觉通知,和/或音频接口774可用于经由音频换能器(例如,扬声器,未示出)产生听觉通知。在所示配置中,视觉指示器720是发光二极管(LED)。这些设备可以直接耦合到电源770,使得当被激活时,它们在通知机制规定的持续时间内保持开启,即使处理器760和其他组件可能关闭以节省电池电量。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态。音频接口774用于向用户提供可听信号并从用户接收可听信号。例如,除了耦合到音频换能器(例如,扬声器)之外,音频接口774还可以耦合到麦克风以接收可听输入,例如以促进电话交谈。根据本公开的方面,麦克风还可以用作音频传感器以促进通知的控制,如下文所述。系统702还可以包括视频接口776,其使得车载相机730能够操作以记录静止图像、视频流等。
实现系统702的移动计算设备700可以具有附加的特征或功能。例如,移动计算设备700还可以包括额外的数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。这种附加存储在图7B中由非易失性存储区域769示出。
如上所述,由移动计算设备700生成或捕获并通过系统702存储的数据/信息可以本地存储在移动计算设备700上,或者数据可以存储在任何数量的存储介质上,由设备通过无线电接口层772或通过移动计算设备700和与移动计算设备700相关联的单独计算设备,例如分布式计算网络(例如因特网)中的服务器计算机之间的有线连接来访问。应当意识到,可以通过移动计算设备700经由无线电接口层772或经由分布式计算网络来访问这样的数据/信息。类似地,根据包括电子邮件和协作数据/信息共享系统的众所周知的数据/信息传输和存储手段,这样的数据/信息可以容易地在计算设备之间传输以进行存储和使用。
本申请中提供的一个或多个方面的描述和说明不旨在以任何方式限制或制约所要求保护的本公开的范围。本申请中提供的方面、示例和细节被认为足以传达所有权并使其他人能够做出和使用要求保护的公开的最佳模式。要求保护的公开不应被解释为限于任何方面,例如,或在本申请中提供的细节。不管是组合地还是分开地示出和描述,旨在选择性地包括或省略各种特征(结构和方法)以产生具有特定特征集的实施例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入本申请中体现的一般发明概念的更广泛方面的精神内的变化、修改和替代方面,这些不背离要求保护的公开内容的更广范围。

Claims (15)

1.一种加速功能的内部使用的计算机实现的方法,所述方法包括:
检查云计算环境的一个或多个外部场以确定多个功能中的每个功能的外部使用;
基于外部使用按降序来对所述多个功能进行排名;
基于所述排名,识别至少一个高排名的功能;
确定所述高排名的功能的内部使用;
将所述内部使用与所述高排名的功能的所述外部使用进行比较;
基于所述比较,确定所述高排名的功能的所述内部使用的不足;
评估与所述云计算环境相关联的一个或多个站点以识别具有与所述内部使用的所述不足的至少一部分相对应的站点使用的站点;以及
将所述站点重新定位到所述云计算环境的内部场。
2.如权利要求1所述的计算机实现的方法,还包括:
将对所述高排名的功能的更新部署到内部验证环;以及
基于在重新定位到的站点上与所述更新的内部用户交互,增加所述更新的内部使用。
3.如权利要求1所述的计算机实现的方法,其中,所述高排名的功能包括至少一个操作,所述方法还包括:
将所述至少一个操作与所述高排名的功能解耦。
4.如权利要求3所述的计算机实现的方法,其中,将所述至少一个操作与所述高排名的功能解耦包括:将所述至少一个操作的操作使用与所述高排名的功能的外部使用解耦。
5.如权利要求1所述的计算机实现的方法,其中,所述重新定位到的站点包括所述云计算环境的外部租户站点,并且其中,所述外部租户站点包括使能与应用服务的外部用户交互的外部租户接口。
6.如权利要求5所述的计算机实现的方法,其中,将所述站点重新定位包括:将所述外部租户站点复制到所述内部场中。
7.如权利要求6所述的计算机实现的方法,其中,将所述外部租户站点复制到所述内部场使能与所述高排名的功能的内部用户交互。
8.一种系统,包括:
至少一个处理器;以及
至少一个存储器,其存储计算机可执行指令,所述计算机可执行指令在由所述至少一个处理器执行时,使所述系统:
检查云计算环境的一个或多个外部场以确定多个功能中的每个功能的外部使用;
识别具有高外部使用的至少一个功能,其中,所述至少一个功能包括至少一个操作;
将所述至少一个操作与所述至少一个功能解耦;
确定所述至少一个功能的内部使用;
将所述内部使用与所述至少一个功能的所述外部使用进行比较;
基于所述比较,确定所述至少一个功能的所述内部使用的不足;
评估与所述云计算环境相关联的一个或多个站点以识别具有与所述内部使用的所述不足的至少一部分相对应的站点使用的站点;以及
将所述站点重新定位到所述云计算环境的内部场。
9.如权利要求8所述的系统,所述计算机可执行指令在被执行时进一步使所述系统:
将对所述至少一个功能的更新部署到内部验证环;以及
基于在所述重新定位到的站点上与所述更新的内部用户交互,增加所述更新的内部使用。
10.如权利要求8所述的系统,所述计算机可执行指令在被执行时进一步使所述系统:
将新功能部署到内部验证环,其中,所述新功能与所述至少一个功能相似;以及
基于在所述重新定位到的站点上与所述新功能的内部用户交互,增加所述新功能的内部使用。
11.如权利要求10所述的系统,所述计算机可执行指令在被执行时进一步使所述系统:
基于确定所述新功能包括所述至少一个功能的所述至少一个操作来确定所述新功能与所述至少一个功能相似。
12.如权利要求8所述的系统,其中,将所述至少一个操作与所述至少一个功能解耦包括:将所述至少一个操作的操作使用与所述至少一个功能的所述外部使用解耦。
13.一种存储计算机可执行指令的计算机存储介质,所述计算机可执行指令在被处理器执行时,使计算机系统:
检查云计算环境的一个或多个外部场以确定多个功能中的每个功能的外部使用;
识别具有高外部使用的至少一个功能,其中,所述至少一个功能包括至少一个操作;
确定所述至少一个功能的内部使用;
将所述内部使用与所述至少一个功能的所述外部使用进行比较;
基于所述比较,确定所述至少一个功能的所述内部使用的不足;
评估与所述云计算环境相关联的一个或多个站点以识别具有与所述内部使用的所述不足的至少一部分相对应的站点使用的站点;
将所述站点重新定位到所述云计算环境的内部场;
将对所述至少一个功能的更新部署到内部验证环;以及
基于在所述重新定位到的站点上与所述更新的内部用户交互,增加所述更新的内部使用。
14.如权利要求13所述的计算机存储介质,所述计算机可执行指令在被执行时进一步使所述计算机系统:
将新功能部署到内部验证环,其中,所述新功能与所述至少一个功能相似;以及
基于在所述重新定位到的站点上与所述新功能的内部用户交互,增加所述新功能的内部使用。
15.如权利要求14所述的计算机存储介质,所述计算机可执行指令在被执行时进一步使所述计算机系统:
基于确定所述新功能包括所述至少一个功能的所述至少一个操作来确定所述新功能与所述至少一个功能相似。
CN202180037232.2A 2020-05-22 2021-03-18 加速预生产功能使用 Pending CN115668131A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/881,700 2020-05-22
US16/881,700 US11616882B2 (en) 2020-05-22 2020-05-22 Accelerating pre-production feature usage
PCT/US2021/022865 WO2021236218A1 (en) 2020-05-22 2021-03-18 Accelerating pre-production feature usage

Publications (1)

Publication Number Publication Date
CN115668131A true CN115668131A (zh) 2023-01-31

Family

ID=75660299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180037232.2A Pending CN115668131A (zh) 2020-05-22 2021-03-18 加速预生产功能使用

Country Status (4)

Country Link
US (1) US11616882B2 (zh)
EP (1) EP4154100A1 (zh)
CN (1) CN115668131A (zh)
WO (1) WO2021236218A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12081656B1 (en) 2021-12-27 2024-09-03 Wiz, Inc. Techniques for circumventing provider-imposed limitations in snapshot inspection of disks for cybersecurity
US11936785B1 (en) 2021-12-27 2024-03-19 Wiz, Inc. System and method for encrypted disk inspection utilizing disk cloning techniques
US20230336554A1 (en) * 2022-04-13 2023-10-19 Wiz, Inc. Techniques for analyzing external exposure in cloud environments
US12079328B1 (en) 2022-05-23 2024-09-03 Wiz, Inc. Techniques for inspecting running virtualizations for cybersecurity risks
US12061719B2 (en) 2022-09-28 2024-08-13 Wiz, Inc. System and method for agentless detection of sensitive data in computing environments
US12061925B1 (en) 2022-05-26 2024-08-13 Wiz, Inc. Techniques for inspecting managed workloads deployed in a cloud computing environment

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523166B1 (en) * 1998-09-21 2003-02-18 Microsoft Corporation Method and system for on-demand installation of software implementations
US7937281B2 (en) * 2001-12-07 2011-05-03 Accenture Global Services Limited Accelerated process improvement framework
US6960346B2 (en) * 2002-05-09 2005-11-01 University Of Tennessee Research Foundation Vehicles for delivery of biologically active substances
US7702531B2 (en) * 2002-06-28 2010-04-20 Accenture Global Services Gmbh Business driven learning solution particularly suitable for sales-oriented organizations
US7647579B2 (en) * 2004-03-31 2010-01-12 International Business Machines Corporation Method, system and program product for detecting deviation from software development best practice resource in a code sharing system
US7590552B2 (en) * 2004-05-05 2009-09-15 International Business Machines Corporation Systems engineering process
US7742939B1 (en) * 2005-03-04 2010-06-22 Sprint Communications Company L.P. Visibility index for quality assurance in software development
US20080034347A1 (en) * 2006-07-31 2008-02-07 Subramanyam V System and method for software lifecycle management
US20080027738A1 (en) * 2006-07-31 2008-01-31 Microsoft Corporation Increasing business value through increased usage and adoption
US8713513B2 (en) * 2006-12-13 2014-04-29 Infosys Limited Evaluating programmer efficiency in maintaining software systems
US8028048B2 (en) * 2007-02-27 2011-09-27 International Business Machines Corporation Method and apparatus for policy-based provisioning in a virtualized service delivery environment
US8689188B2 (en) * 2009-09-11 2014-04-01 International Business Machines Corporation System and method for analyzing alternatives in test plans
US8806014B2 (en) * 2010-03-19 2014-08-12 Novell, Inc. Techniques for intelligent service deployment
US20130346163A1 (en) * 2012-06-22 2013-12-26 Johann Kemmer Automatically measuring the quality of product modules
US9965300B2 (en) * 2014-03-24 2018-05-08 Ca, Inc. Message matching for opaque service virtualization
US9727448B1 (en) 2015-04-22 2017-08-08 Google Inc. Method and system for software application testing recommendations
US10341465B2 (en) 2016-04-03 2019-07-02 Microsoft Technology Licensing, Llc Policy driven flight management
US10848577B2 (en) 2016-06-24 2020-11-24 Microsoft Technology Licensing, Llc Computing environment modification based on an impact curve
US10467128B2 (en) 2016-09-08 2019-11-05 International Business Machines Corporation Measuring and optimizing test resources and test coverage effectiveness through run time customer profiling and analytics
US9983982B1 (en) * 2017-01-04 2018-05-29 Visa International Service Association Testing software code in a production environment
US10437708B2 (en) * 2017-01-26 2019-10-08 Bank Of America Corporation System for refreshing and sanitizing testing data in a low-level environment
GB201812287D0 (en) 2018-07-27 2018-09-12 Perform Investment Ltd Software maintenance, distribution and loading
US11500761B1 (en) * 2020-02-20 2022-11-15 Amazon Technologies, Inc. Analysis of code coverage differences across environments

Also Published As

Publication number Publication date
US20210368045A1 (en) 2021-11-25
WO2021236218A1 (en) 2021-11-25
EP4154100A1 (en) 2023-03-29
US11616882B2 (en) 2023-03-28

Similar Documents

Publication Publication Date Title
US11616882B2 (en) Accelerating pre-production feature usage
AU2019202728B2 (en) Automated ticket resolution
CN106445652B (zh) 用于智能云计划和停用的方法和系统
Javadi et al. The Failure Trace Archive: Enabling the comparison of failure measurements and models of distributed systems
US8276152B2 (en) Validation of the change orders to an I T environment
CN110162971B (zh) 一种软件项目的漏洞检测方法、装置、存储介质和服务器
US20190377663A1 (en) Performance testing platform that enables reuse of automation scripts and performance testing scalability
US20060025985A1 (en) Model-Based system management
KR101941418B1 (ko) 크라우드 테스팅 장치
US20220188192A1 (en) Identifying harmful containers
CN115552378A (zh) 程序指令的可预测分发
US11782808B2 (en) Chaos experiment execution for site reliability engineering
US11650805B2 (en) Reliable feature graduation
EP3192024A1 (en) Automated tenant upgrades for multi-tenant services
US20200295986A1 (en) Dynamic monitoring on service health signals
Preuveneers et al. Systematic scalability assessment for feature oriented multi-tenant services
WO2017123680A1 (en) Automated creation of test tenants for data center technical issue detection
US9372731B1 (en) Automated firmware settings framework
US10423398B1 (en) Automated firmware settings management
JP7320443B2 (ja) 互換性のあるモジュールを特定するシステムおよび方法
US20230133389A1 (en) Automatic building, verifying, and securing of a master data list
CN107077490B (zh) 数据查询作业提交管理
US11526849B2 (en) Data set filtering for machine learning
CN115812195A (zh) 计算开发过程中的开发者时间
US20060168069A1 (en) Method, system and program product for performing message benchmarking

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination