CN107102916B - 在服务的次要位置重放作业 - Google Patents

在服务的次要位置重放作业 Download PDF

Info

Publication number
CN107102916B
CN107102916B CN201610879727.0A CN201610879727A CN107102916B CN 107102916 B CN107102916 B CN 107102916B CN 201610879727 A CN201610879727 A CN 201610879727A CN 107102916 B CN107102916 B CN 107102916B
Authority
CN
China
Prior art keywords
job
job request
secondary location
computer
location
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.)
Active
Application number
CN201610879727.0A
Other languages
English (en)
Other versions
CN107102916A (zh
Inventor
D·布拉德
A·霍普曼
S·R·沙哈
V·塔拉诺弗
T·塞维尔米什
N·沃伦可夫
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 CN107102916A publication Critical patent/CN107102916A/zh
Application granted granted Critical
Publication of CN107102916B publication Critical patent/CN107102916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1625Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2025Failover techniques using centralised failover control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Abstract

确定在故障转移事件之前和/或之后的一时间段内被提交至服务的主要位置的作业并将其重新提交至该服务的次要位置。例如,在次要位置重新提交在故障转移事件之前十五分钟提交的作业以及在到第二位置的故障转移完成之前被提交至主要网络的作业。在发生故障转移事件之后,用代替服务的主要位置的次要网络来更新作业。作业输入参数(例如,标识符和/或秘密)从主要位置到次要位置的映射由作业在其被重新提交至次要位置时使用。每一作业确定要对基于该作业被重新提交的作业请求做出什么改变。

Description

在服务的次要位置重放作业
本申请是申请日为2012/05/28、申请号为201280026439.0、发明名称为“在服务的次要位置重放作业”的中国专利申请的分案申请。
背景
基于web的服务包括位于web服务器上的文件以及存储在数据库中的数据。例如,存在处理被定向到该服务的通信的大量服务器。在某些情况下,服务可能灾难性地发生故障以使得丢失工作。将操作转移至新服务可能是昂贵、耗时的过程。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的选择的概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
确定在故障转移事件之前和/或之后的一时间段内被提交至服务的主要位置的作业并将其重新提交至该服务的次要位置。例如,在次要位置重新提交在故障转移事件之前十五分钟提交的作业以及在到第二位置的故障转移完成之前被提交至主要网络的作业。在发生故障转移事件之后,用代替服务的主要位置的次要网络来更新作业。作业输入参数(例如,标识符和/或秘密)从主要位置到次要位置的映射由作业在其被重新提交至次要位置时使用。每一作业确定要对基于该作业由于发生故障转移事件而被重新提交的作业请求做出什么改变。例如,一些作业可确定它们不需要被重新提交,而其它作业可简单地将相同的作业重新提交至次要位置。
附图简述
图1示出了用于在服务的次要位置重放作业的云管理系统;
图2示出了用于在服务的次要位置重放作业的系统;
图3示出了示例性作业记录;
图4示出了用于在次要网络重放作业的过程;以及
图5示出了说明性计算机体系结构。
详细描述
现将参考其中相同的标号代表相同的元件的附图来描述各实施例。
一般而言,程序模块包括执行特定作业或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。也可使用其他计算机系统配置,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等等。还可使用在其中作业由通过通信网络链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
图1示出了用于在服务的次要位置重放作业的云管理系统。系统100示出了云管理器105,该云管理器105被连接到可能分布在世界各地的不同网络并对其进行管理。网络中的每个网络被配置成为一个或多个承租人(例如客户、顾客)提供内容服务。这些网络可以被主存(host)在云服务内和/或内部部署(on-premises)数据中心内。云管理器105用于对这些网络进行部署、配置和管理。云管理器被配置为通过可容忍间歇性网络故障的幂等且异步的应用web服务应用编程接口(API)150来接收请求。
如所示的,云管理器105包括工作管理器110、机器管理器115、应用专用管理器120、脚本130、重放过滤器26以及诸如数据存储140(例如,数据库)之类的中央储存库。未包括在所示管理器之一内的功能可以驻留在云管理器的某个其他位置。根据一个实施例,应用管理器120是SharePoint承租人管理器,该管理器包括SharePoint专用逻辑。
一般而言,云管理器105帮助为诸如在在线内容管理服务之类的在线服务部署和管理网络。云管理器系统是一种中央协调服务,其接收执行与在网络中配置、更新和执行用于提供在线服务的作业相关的操作的请求。例如,可以调用云管理器来管理所述网络中的一个或多个内的资产(例如服务器、场、用户属性等等)。对这些资产的管理可以包括:部署机器;更新机器;移除机器;对服务器、虚拟机(VM)执行配置改变;以及执行与管理相关的其他作业。云管理器被配置为即使在该云管理器的升级期间仍然为所附连的网络提供服务。云管理器被配置为通过不能依靠可靠网络的幂等和异步应用编程接口(API)来接收请求。
如图所示,网络1和网络2是活动地服务于用户的实况网络。次要网络1和次要网络2是作为对应的实况网络的内容和配置的镜像的次要网络。次要网络在主要网络活动时并不活动地服务于用户。根据一实施例,次要网络被保持“温暖”以使得来自主要网络的用户负载可以在停机/灾难/故障转移的情况下被快速切换至次要网络。
主要网络被配置成执行备份(完整、增量),包括被例行地且频繁地采用(例如,至少一小时几次)的SQL事务日志备份。来自主要网络(例如,网络1和网络2)的备份在这些备份被创建之后被复制到次要网络(例如,次要网络1和2)。根据一实施例,次要网络在从对应的主要网络接收到事务日志时重放这些事务日志。在对应的温暖次要网络上自动重放在实况主要网络上进行的管理操作以使得主要网络和次要网络保持同步。
工作管理器110管理作业的执行,并且启用对较长时间运行的作业的调度和重试。工作管理器110启动存储在作业队列112中的作业并且跟踪运行中的作业。当已经流逝了预定的时间时,工作管理器110可以自动地取消任务并且执行与该任务相关的某些进一步的处理。根据一个实施例,作业队列112中的作业由工作管理器110通过调用一个或多个脚本130来执行。例如,可以使用诸如微软的
Figure BDA0001126652200000031
之类的脚本语言来对由工作管理器110执行的作业进行编程。每个脚本可以作为新进程运行。尽管将每个脚本作为新进程来执行可以具有相当高的CPU开销,但是该系统是可伸缩的,并且有助于为每次脚本执行确保干净的环境,加上在脚本完成时进行完全的清理。
当将要在次要位置重新提交作业(例如,响应于到该次要位置的故障转移)时,工作管理器110可用于确定要重新提交的作业。例如,工作管理器110可确定在故障转移事件之前的时间窗口内以及直到次要位置处理作业请求被提交以在服务的主要位置执行的作业。
机器管理器115被配置成管理网络(例如网络1、网络2、次要网络1、次要网络2)中的物理机器。一般而言,机器管理器115理解网络、物理机器、虚拟机(VM)、VM映像(VHD)等等。机器管理器不必牢固绑定于网络内运行的特定服务,而是按照“角色”跟踪网络中的各种组件。例如,可以通过API 150请求机器管理器115在网络2上部署具有版本12.34.56.78的“Foo”型VM。响应于对云管理器105的请求,机器管理器115对位于网络2上的合适物理机器进行定位,并且根据与VM的角色相关联的VM映像来配置VM。使用具有版本12.34.56.78的类型为Foo的VHD来配置物理机器,该VHD被存储在诸如数据存储140之类的数据存储内。对次要网络2做出对应的改变。在网络内使用的映像也可以存储在其他位置处,诸如用于所述网络中的一个或多个网络的本地数据共享中。可以运行脚本来执行VHD在物理机器上的安装以及用于执行任何部署后的配置。机器管理器115跟踪每个网络的机器配置。例如,机器管理器115可以跟踪VM的角色(VM的类型)、VM的状态(供应中(Provisioning)、运行中、已停止、故障)、版本以及VM是否存在于给定场中(这隐含了其网络)。
配置数据库116包含每一个网络的地图。例如,配置数据库116可包括与网络中的场、数据库、站点集合等中的每一个相关的信息。配置数据库116可包括关于每一个网络的每一个物理机器、VM、场等的行。根据一实施例,网络内的每个VHD、场和VM具有相关联的版本串。
脚本130被配置为存储将要执行以便既本地地为云管理器105执行工作又远程地在所述网络中的一个或多个网络上执行工作的脚本。脚本130中的一个或多个还可以存储在其他位置。例如,将要在网络(例如网络1、网络2)上执行的脚本可被本地地存储到该网络。这些脚本可用于许多不同目的。例如,所述脚本可以用于执行:对所述网络之中的一个或多个网络中的机器的配置;改变之前配置的机器的设定;添加新的VM;添加新的数据库;将数据从一个机器移动到另一个机器;移动承租人;改变方案等等。根据一个实施例,这些脚本是微软的
Figure BDA0001126652200000041
脚本。可以使用其他编程实施方式。例如,可以使用经编译的编程语言和/或前期绑定的编程语言来实现该功能。然而,脚本是一种相当精确的用于表达将要执行的许多作业的语言。以诸如C#之类的编程语言对其等价物进行编程常常将需要冗长得多的实施方式。脚本还被后期绑定,这意味着,可以以多个版本的底层代码库为目标,而不必不断地链接到不同的接口DLL。使用PowerShell脚本允许进程由云管理器105本地地启动,该云管理器105进而可启动远程机器(即所附连的网络之一中的物理机)上的进程。还可以使用其他技术来启动远程机器上的进程,比如安全Shell(SSH)等等。当脚本在主要位置(例如,网络1)运行时,该脚本也可以在次要位置(例如,次要网络2)运行,以使得该主要和次要位置以相同的方式配置。
云管理器105所管理的应用特定的信息由应用管理器120来执行。根据一个实施例,应用特定的信息涉及微软
Figure BDA0001126652200000051
因此,应用管理器120被配置为了解SharePoint承租人、站点集合等等。
每个网络都可以被配置成用于承租人的专用网络和/或服务于一个以上客户的多承租人网络。该网络可以包括改变数目的物理/虚拟机,其中所述物理/虚拟机的配置在部署以后也改变。根据一实施例,服务的主要位置和次要位置以相同的方式配置。
一般而言,只要未超过联网极限(例如负载平衡器和网络交换机),网络就可以继续增长。例如,网络可以从十个服务器开始,并且之后扩充为一百个或更多服务器。当主要网络改变时,对应的次要网络被自动改变以反映对主要网络做出的改变。可以给网络内的物理机分配类或类型。例如,这些机器中的一些可以是计算机器(用于web前端和应用服务器),并且其他机器可以是与计算机器相比配备有更多存储的存储机器。根据一实施例,云管理器105用多个版本的映像文件来配置网络内的机器。根据一实施例,场常常具有相同版本的映像文件。
根据一个实施例,在网络内由云管理器100通过虚拟化所述机器并且管理该网络内独立地行动的“场”来管理软件极限。每个网络都可以包括一个或多个场(例如参见网络1)。根据一个实施例,网络被认为是经网络负载平衡的机器的单个群集,其中所述机器向外部世界展示一个或多个VIP(虚拟IP)并且可以将该通信量路由到该网络内的任何机器。网络中的机器一般而言是紧密耦合的,并且具有最小等待时间(即<1ms的查验(ping)等待时间)。
场是用于对需要紧密绑定关系的应用进行协调的机器的基本编组。例如,内容场可以部署在每个网络内以用于诸如Microsoft
Figure BDA0001126652200000061
之类的内容管理应用。一般而言,每个场中的那组机器一起提供web服务和应用服务器功能。通常,场内的机器运行相同构建的应用(即SharePoint)并且共享公共的配置数据库以服务于特定承租人和站点集合。
场可以包含不同种类的虚拟机组。云管理器105在数据存储140内维护“场目标”,该场目标是每个场的扮演每种角色的机器的目标数目。一些角色包括内容前端、内容中央管理、内容计时器服务、联合中央管理、联合应用服务器等。例如,内容场是处理接入消费者请求的基本SharePoint场。联合服务场包含可以在场的范围内运行的诸如搜索和简档存储之类的SharePoint服务。场可以用于主控大容量公共因特网站点。一些场可以包含一组活动目录服务器和供应端口监控程序(Daemon)。云管理器105自动地部署网络中的虚拟机和/或让网络中的虚拟机退役,以帮助满足所定义的目标。这些场目标可以自动地和/或人工地来配置。例如,场目标可以响应于活动和容量需求的改变而改变。网络场——每个网络存在一个如下的网络场:该网络场包含可以作为整个网络的资源的容易扩展的所有VM角色。
云管理器web服务API 150被设计为在可大规模伸缩的全球服务的上下文中工作。该API假定:任何网络请求都可能失败和/或停留在传送中。对云管理器105的调用可以被配置为幂等的。换言之,可以对云管理器105多次进行相同调用(只要参数相同)而不改变结果。
云管理器105维护记录以跟踪对服务的当前请求。例如,云管理器105更新本地数据库中的记录,并且在需要的情况下在此后调度“作业”以执行更长的活动。
云管理器105跟踪作为用于在网络内部署新机器的模板的映像(比如虚拟盘映像)。该映像引用可以存储在诸如数据库140之类的数据库中和/或某个其他位置处。这些映像可以存储在对于上面将部署该映像的网络而言为本地的一个或多个共享数据存储中。根据一个实施例,每个映像都包括:虚拟机(VM)角色类型,其指定该映像可以部署的VM的类型;该映像应当使用的处理器的数目;将分配给该映像的RAM的数量;用于找出附近安装点的网络ID(使得它们不反复地通过跨数据中心链接被复制);以及可以被部署代码用于访问VHD的共享路径。
一般而言,由云系统100所管理的网络中的机器不是以传统方式通过下载数据并且将该数据合并到机器上的现有软件中来升级的。相反,机器是通过用经更新的VHD替换VHD来更新的。例如,当场需要新版本的软件时,部署安装了该新版本的新场。当新场被部署时,承租人被从旧场移动到该新场。通过这种方式,由于升级造成的停工期被最小化,并且场中的每个机器都具有已经过测试的相同版本。当虚拟机需要升级时,该机器上的VM可以被删除并且被用配置为运行所期望的服务的VM替换。
尽管对现有软件的升级不是最优的,但是网络内的一些服务器不使用原地升级的传统升级过程。例如,活动目录域控制器是通过在不完全替换机器上的映像的情况下升级服务器上的当前软件来升级的。在一些实例中,云管理器也可以原地升级。
根据一个实施例,云管理器包括日志系统,该日志系统被配置为为每个web服务调用记录日志条目。可以实现包括如所期望的那样少和/或那样多的特性的日志系统。
重放管理器26被配置成将作业重新提交至次要网络。当发生故障转移事件时,重放管理器26确定故障转移事件之前和/或之后的一时间段内的服务的主要位置处的作业,并且在该服务的次要位置重新提交这些作业。例如,在次要位置处重新提交在故障转移事件之前十五分钟被提交至网络1的作业以及在到次要网络的故障转移完成之前被提交至主要网络的任何作业。在发生故障转移事件后,重放管理器26告知作业次要网络代替主要网络。
重放管理器26还被配置成维护映射表114。映射表114包括诸如标识符和/或秘密等与主要网络相关联的作业输入参数到次要网络的映射。例如,在与服务的主要位置(例如,主要网络1和2)相关联的数据库、场和网络以及与服务的次要位置(例如,次要网络1和2)相关联的对应数据库、场和网络之间存在映射。
根据一实施例,每一作业确定将对基于在主要位置发生的故障转移事件的对次要网络的作业请求做出什么改变。例如,一些作业可确定它们无需被重新提交,而其它作业可简单地将相同的作业重新提交至次要位置。
图2示出了用于在服务的次要位置重放作业的系统。如图所示,系统200包括主要服务210、次要服务220、云管理器230和计算设备240。
所使用的计算设备可以是被配置成执行与计算设备的使用有关的操作的任何类型的计算设备。例如,这些计算设备中的一些可以是:移动计算设备(例如,蜂窝电话、平板计算机、智能电话、膝上型计算机等等);一些可以是台式计算设备,其他计算设备可以被配置为服务器。一些计算设备可以被安排为提供基于云的在线服务(例如服务210和服务220);一些计算设备可以被安排为提供数据存储服务的数据共享,一些计算设备可以被安排在本地网络中;一些计算设备可以被安排在可通过因特网访问的网络中,等等。
计算设备通过因特网18耦合。一般而言,网络18用于在诸如服务210、服务220、云管理器230和计算设备240之类的计算设备之间传送数据。
计算设备240包括应用242、Web浏览器244以及用户界面246。如示出的,用户使用计算设备240与诸如服务210之类的在线服务交互。根据一实施例,服务210和220是多承租服务。一般而言,多承租是指顾客间的数据(有时包括备份)、使用和管理的隔离。换言之,即使来自每个承租人的数据可以被存储在相同数据存储内的相同数据库中,但来自一个顾客(承租人1)的数据也不可被另一顾客(承租人2)访问。
用户界面(UI)246用于与对于计算设备240可以是本地/非本地的各种应用交互。可以使用一种或多种类型的一个或多个用户界面来与内容进行交互。例如,UI 246可以包括上下文菜单、菜单栏内的菜单、选自功能区用户界面的菜单项、图形菜单等等的使用。一般而言,UI 246被配置成使得用户可以容易地与应用的功能交互。例如,用户可简单地选择UI 246中的向云管理器230提交作业的选项。
如示出的,数据存储212和212'包括用于不同承租人的承租人数据,承租人数据包括相应的备份数据。数据存储可以存储承租人数据的全部/部分。例如,一些承租人可以使用多于一个数据存储,而其他承租人与许多其他承租人共享该数据存储。尽管同一个数据存储内示出了承租人的相应的备份数据,但是该备份数据可以被存储在其他位置。例如,可以使用一个数据存储来存储承租人数据,并且可以使用一个或多个其他数据存储来存储相应的备份数据。一般而言,数据存储212’中的数据是数据存储212中的数据的镜像。对与主要服务210相关联的数据(即,有关管理改变的数据和承租人数据)作出的改变被镜像映射到次要服务220。根据一实施例,完整备份(例如,每周)、增量备份(例如,每小时、每天)以及事务日志在维护作出的改变时被使用。根据一实施例,对主要服务作出的改变被复制到次要服务,从而使次要服务与主要服务基本保持同步(例如,五分钟内、十分钟内)。周期性地验证被复制至次要服务的数据以帮助确保该数据已经被正确地复制。可以使用不同的方法来执行该验证(例如,校验和、散列函数,等等)。数据存储236包括有关服务(例如,服务210、服务220)的操作和/或配置的数据。例如,数据存储236可包括作业队列、映射表和/或配置数据库。
服务210被配置为在线服务的主要位置,该在线服务被配置成提供与显示与来自多个承租人的数据的交互相关的服务。服务210为多个承租人提供共享的基础设施。根据一个实施例,服务210是微软公司的SHAREPOINT ONLINE服务。不同的承租人可以使用服务210来主控他们的web应用/站点集合。承租人也可以仅使用专用服务或者与服务210所提供的服务结合使用。服务220被配置为基本作为服务210的镜像的服务的次要位置。
当在主要服务210发生故障转移事件后,先前在发生故障的主要服务网络上操作的作业的每一个作业由重放管理器26重新指向至次要网络220,以使得该作业可完成它在主要网络中操作的任务。根据一实施例,在次要位置重放的每一个作业决定它在该次要位置执行的操作。一般而言,存在三种类别的作业,包括:对于次要网络无操作的作业;幂等且能够简单地从头开始的作业;以及计算整理并且用新整理的输入参数来重新实例化其本身的作业。
存在可由服务执行的许多不同类型的作业。根据一实施例,这些类型的作业包括无操作作业、升级作业、承租人供应、站点供应、幂等作业和数据迁移作业。无操作作业是执行非常特定于发生故障的网络的动作的作业类型,并且这些作业的动作一般不在次要网络中重放。升级作业可以是可触发升级回滚以使得可以可靠地执行升级的长过程。承租人供应是供应承租人的作业。站点供应作业检查系统状态,将底层对象状态设回开始并且从就在故障转移事件之前的时刻重试/重新运行作业。幂等作业可以被重新运行,因为不管该作业运行了几次状态均不会改变。数据迁移作业可以重新执行和/或检查以确定迁移是否已经完成。
重放管理器26被配置成检查作业日志232中的作业以确定将在次要网络处重放什么作业。例如,选择在次要网络处重放已被发送到主要网络但未被执行的任何作业。还选择重放在故障转移事件的预定时间内(例如,五分钟、十分钟、十五分钟、三十分钟、一小时等)已经以主要位置为目标的作业。根据一实施例,使用协调世界时间(UTC)来确定故障转移事件的时间以使得每一个网络都参考相同的时间。
重放管理器26被配置成在次要位置处的被重放的作业中包括标识该作业由于故障转移事件而被重新提交的故障转移标志。使用该故障转移标志,作业能够确定将响应于故障转移事件而执行的动作。例如,响应于对故障转移标志的检查,作业可将特定于主要网络参数的任何参数重新映射到新的次要网络。根据一实施例,作业可以对云管理器做出调用以确定新映射信息。例如,重放管理器26可访问映射表234以确定由于将作业移至次要网络而受影响的参数(例如,数据库、场以及任何网络ID)。作业可提供为了获取映射而请求的故障网络标识符和参数类型(例如,Get-GridFailOverMapping–FailingNetworkID(故障网络ID)#-SourceId(源Id)#-Type(类型)<Network(网络)|Farm(场)|Database(数据库)>)。一些作业可以不检查故障转移标志,因为这些作业在每一次运行时都以相同方式操作。
重放管理器26还可更新应用于次要网络中的场的任何秘密以使得涉及这些秘密(例如,口令)的操作可以在次要位置执行。
以下是在故障转移事件发生之前正在主要网络上执行的作业的示例。出于讨论的目的(且不旨在是限制性的),假设该作业在被提交至主要网络时具有以下参数(作业类型:部署站点;网络ID:12;作业数据:ID=234;秘密:15;状态:正在执行;步骤:2;故障转移:无)。当故障转移时,该作业由云管理器置于挂起状态并且然后带着以下信息被重新提交至次要网络(作业类型:部署站点;网络ID:22;作业数据:ID;秘密:25;状态:正在执行;步骤:2;故障转移:12)。如可见的,网络ID参数已从12更新成22,秘密参数已从15变成25,而故障转移标志已从无变成12。
一般而言,当重新提交作业时,作业执行各种动作。根据一实施例,在次要位置重放的每一个作业可检查以查看是否已经发生故障转移(例如,Fail-Over(故障转移)!=Null(无))。如果的确发生故障转移,则作业执行以下动作中的零个或更多:结束(清除)当前作业;转换作业命令行;确定要执行的下一步骤;改变底层对象的状态;以及创建新作业。
一般而言,结束(清除)当前作业在该作业非常聚焦于与故障网络交互且在次要网络中是无操作作业时由该作业执行。在这些情况下,该作业不执行进一步动作并从队列中清除自身。
作业可转换作业命令行。根据一实施例,每一个作业都具有唯一的命令行。该命令行包含关于数据库、网络和场的特定ID。每一个作业都可使用和命名不同的参数(例如,ID=12可相关于各种不同的项目)。
作业可确定要执行的下一步骤。作业可知道它在故障转移之前正在操作什么步骤,但不确定该工作在发生故障转移事件之前被复制到次要网络。由此,作业可检查直到当前作业步骤所执行的工作的当前状态并相应地设置下一步骤值。作业步骤可被设置回退一个或多个步骤。在某些情况下,作业可将下一步骤重设回1并重做依靠幂等的工作以处理该情况。
作业可改变底层对象的状态。许多作业已实现性能优化以允许该作业在对象处于特定状态的情况下跳过工作。在某些情况下(例如,部署站点),对象的状态被设回“起始”状态以使得跳过任何优化。由此,底层对象经历完整的状态转换周期。
作业可创建新作业。在许多情况下,简单地创建具有针对次要网络的经转换的参数的新作业并终止(清除)现有作业对于作业而言更加容易。
重放管理器26还可使得同步点在时间上回滚。使同步在时间上回滚为灾难时间附近的新承租人供应重新创建所有作业。这有助于确保在故障转移期间创建的新承租人不陷入僵持状态。但它不涵盖部署新站点(终端用户触发)的大量其它工作以及其它操作触发的作业。根据一实施例,在作业已经在次要网络中重放后同步被设为在时间上回退。
图3示出了示例性作业记录。如所示的,记录300包括作业标识符302、类型304、数据306、所有者308、步骤310、上一次运行312、期满时间314、下一次时间316、状态(state)318、状况(status)320、秘密322、故障转移324、故障转移时间326和网络ID 328。
一般而言,针对所请求执行的每个任务/作业,云管理器在数据库350(例如,图1中的作业队列112)中创建记录。
作业标识符302用于为所请求的任务指定唯一标识符。
类型304指定要执行的任务。例如,类型可以包括将要执行的脚本的名称。例如,当任务是要运行名称为“DeployVM.ps1”的脚本时,数据306则可以包括标识符(例如“-VMID123”)。这允许将新任务类型添加到系统,而不需要对该系统的已编译或其他二进制部分进行任何改变。
数据306用于存储与任务相关联的数据。例如,数据可以对其上将执行该任务的承租人、机器、网络、VM等等设置。数据306还可以存储数据库中的值所被设置成的一个或多个值。执行任务的过程可以注意作业记录以查看所需机器数目被设置为何值。脚本使用数据库中的值来执行操作。
所有者308指定过程/执行该过程的机器。例如,当云管理器机器开始执行作业时,该机器使用机器的ID来更新记录的所有者308部分。
步骤310提供对当前脚本的步骤的指示。例如,脚本可以将任务划分成任何数目的步骤。当该进程完成该脚本的步骤时,步骤310被更新。进程还可以查看步骤310以确定在脚本中要执行什么步骤并且避免必须重新执行之前已完成的步骤。
上一次运行312提供上一次启动脚本的时间。每次启动脚本时,更新上一次运行时间。
期满时间314是指示该进程应当何时终止的时间。根据实施例,期满时间是在进程被启动之后的预定的时间量(例如5分钟、10分钟……)。期满时间可以通过经由web服务API的请求进程来更新。
下次时间316是指示任务下次应当何时执行的时间。例如,进程可以在完成某步骤之后停止,并且被指示等待直到所指定的下次时间316以恢复处理。
状态318指示当前状态。
状况320指示作业的状况(例如,已创建、已挂起、已恢复、正在执行、已删除)。
秘密322包括在执行对机器/网络的操作时使用的信息。例如,秘密322可包括口令信息、机器信息等。
故障转移标志324指示故障转移事件何时在网络发生。根据一实施例,当故障转移标志为NULL(空)时,则未发生故障。当故障转移标志被设为网络ID时,则该故障转移标志标识故障网络。该信息可用于确定当在次要网络中重放作业请求时在该作业请求中使用的任何映射。
故障转移时间326是故障的时间。根据一实施例,故障时间是UTC时间。
网络ID 328标识在其上提交作业的网络。
如果数据库中的重复行具有相同的任务类型和数据值,则它们可以在执行之前被移除。例如,可以进行多个请求以执行存储在数据库的多个行中的相同的任务。
作业可以具有与其相关联的一个或多个锁355。如果锁不可用,则作业将不被调度运行,直到锁可用。这些锁可以以许多不同的方式来配置。例如,锁可以基于互斥、信号量等。一般而言,互斥防止代码被一个以上线程并发执行,并且信号量将共享资源的同时使用的数目限制在最大数目。根据一实施例,锁是表示资源的字符串。该资源可以是任何类型的资源。例如,锁可以是场、机器、承租人等。一般而言,锁被用于延迟一个或多个作业的执行。每个作业可以指定其在运行以前需要的一个或多个锁。作业可以在其操作期间的任何时间释放锁。当存在锁时,作业不被调度。需要一个以上锁的作业一次请求所需的全部锁。例如,已经持有锁的作业不可以请求附加的锁。这样的方案有助于防止由多个作业间的循环锁依赖性造成的可能的死锁情况。
不同的作业可取决于该作业的需求而使用不同的域。
现在参考图4,将描述用于在次要网络中重放作业的过程。
在阅读本文中给出的例程的讨论时,应该理解,各个实施例的逻辑操作被实现为:(1)一系列运行于计算系统上的计算机实现的动作或程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。这种实现是取决于实现本发明的计算系统的性能需求的选择问题。因此,所例示并构成本文中描述的实施例的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑,以及其任何组合来实现。
在开始操作之后,过程400流转至操作410,在那里检测故障转移事件。故障转移事件可响应于计划/非计划事件来检测。例如,故障转移事件可由主要网络处的灾难性故障导致或者可由停止使用主要网络的判定导致。故障转移事件可以手动/自动发起。例如,授权用户可触发从主要网络到次要网络的故障转移或者故障转移可基于对一个或多个条件(例如,一个或多个机器的故障)的检测来自动触发。
流转至操作420,从故障网络获取将在次要网络重放的作业。根据一实施例,从主要网络获取的作业包括在故障转移事件之前一时间段(例如,15分钟)提交的作业以及直至到次要网络的故障转移完成被提交至主要网络的作业。
移至操作430,更新所获取的作业以反映次要网络以及故障转移在主要网络处的发生。根据一实施例,用故障网络的ID、故障转移事件的时间、次要网络的ID以及将由新作业使用的任何秘密来更新作业。
转移至操作440,更新特定于其上正在执行作业的网络的任何参数(例如,标识符)。例如,作业可针对在主要网络中具有ID 12,而在次要网络中具有ID 26的特定数据库。根据一实施例,作业向云管理器提交查询以接收关于该作业的所需映射信息。
移至操作450,在次要网络上提交作业。当在次要网络上被提交时,作业可执行不同的动作。例如,作业可结束其自身,可转换其命令行参数,确定要执行的接下来的步骤,改变对象的状态,创建新作业等。根据一实施例,作业通过执行脚本来启动。执行该脚本可以调用远程调用来启动脚本和/或在远程机器上执行某一其他任务。
随后该过程移至结束操作并返回以处理其它动作。
现在参考图5,将描述在各实施例中利用的计算机500的说明性计算机架构。图5所示的计算机体系结构可被配置为服务器、台式或移动计算机,并且包括中央处理单元5(“CPU”)、包括随机存取存储器9(“RAM”)和只读存储器(“ROM”)11的系统存储器7、以及将存储器耦合至中央处理单元(“CPU”)5的系统总线12。
在ROM 11中存储基本输入/输出系统,该系统包含有助于诸如在启动期间在计算机内的各元件之间传输信息的基本例程。计算机500还包括大容量存储设备14,用于存储操作系统16、应用程序10、数据存储24、文件、以及与云系统100的执行和同云系统100的交互相关的云程序25。
大容量存储设备14通过连接至总线12的大容量存储控制器(未示出)连接至CPU5。大容量存储设备14及其相关联的计算机可读介质为计算机500提供非易失性存储。虽然本文中包含的对计算机可读介质的描述涉及诸如硬盘或CD-ROM驱动器等大容量存储设备,但是计算机可读介质可以是能够由计算机100访问的任何可用介质。
作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、可擦除可编程只读存储器(“EPROM”)、电可擦可编程只读存储器(“EEPROM”)、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备,或能用于存储所需信息且可以由计算机500访问的任何其他介质。
根据各实施例,计算机500可以使用通过诸如因特网18的网络至远程计算机的逻辑连接在联网环境中操作。计算机500可以通过连接至总线12的网络接口单元20来连接到因特网18。网络连接可以是无线的和/或有线的。网络接口单元20也可用于连接到其他类型的网络和远程计算机系统。计算机500还可以包括用于接收和处理来自多个其他设备的输入的输入/输出控制器22,这些设备包括键盘、鼠标或者电子指示笔(未在图5中示出)。类似地,输入/输出控制器22可以为显示屏28、打印机或其它类型的输出设备提供输出。
如上面简要提到的,多个程序模块和数据文件可以存储在计算机500的大容量存储设备14和RAM 9内,包括适于控制联网计算机的操作的操作系统16,比如华盛顿州雷蒙德市的微软公司的
Figure BDA0001126652200000151
操作系统。大容量存储设备14和RAM 9还可以存储一个或多个程序模块。具体而言,大容量存储设备14和RAM 9可以存储诸如云程序25的执行与云系统相关的作业的一个或多个应用程序。
以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。

Claims (20)

1.一种计算机实现的方法,包括:
在次要位置处接收作业请求;
在所述次要位置处识别包含在所述作业请求中的故障转移标志,其中,所述故障转移标志指示在故障转移事件发生时所述作业请求从主要位置被传递;
检查所述故障转移标志,以确定响应于所述故障转移事件而在所述次要位置处执行的至少一个动作;
在执行所述作业请求之前执行所述动作;
确定在所述主要位置处对所述作业请求执行的工作状态;以及
基于在所述主要位置处对所述作业请求执行的工作状态,在所述次要位置处执行所述作业请求的剩余步骤。
2.如权利要求1所述的计算机实现的方法,其中,所述执行还包括在所述次要位置处重放所述作业请求。
3.如权利要求1所述的计算机实现的方法,其中,所述动作还包括:访问存储的映射数据以确定所述作业请求的参数,以及通过基于对所述存储的映射数据的评估来重新映射所述作业请求的参数,以更新所述作业请求的参数来与所述次要位置对应。
4.如权利要求1所述的计算机实现的方法,其中,所述动作包括:在所述次要位置处执行所述作业请求之前,从作业队列中去除所述作业请求。
5.如权利要求1所述的计算机实现的方法,其中,所述动作包括:转换所述作业请求的作业命令行以便在所述次要位置处执行。
6.如权利要求1所述的计算机实现的方法,其中,所述动作包括:基于对所述故障转移事件的评估来改变与所述作业请求的底层对象相关联的状态。
7.如权利要求1所述的计算机实现的方法,其中,所述动作包括:从所述作业请求创建所述次要位置处的新的作业要求,并且执行所述新的作业要求。
8.一种具有计算机可执行指令的计算机可读存储介质,当由至少一个处理器执行时,所述计算机可执行指令使得所述至少一个处理器执行一种方法,所述方法包括:
在次要位置处接收作业请求;
在所述次要位置处识别包含在所述作业请求中的故障转移标志,其中,所述故障转移标志指示在故障转移事件发生时所述作业请求从主要位置被传递;
检查所述故障转移标志,以确定响应于所述故障转移事件而在所述次要位置处执行的至少一个动作;
在执行所述作业请求之前执行所述动作;
确定在所述主要位置处对所述作业请求执行的工作状态;以及
基于在所述主要位置处对所述作业请求执行的工作状态,在所述次要位置处执行所述作业请求的剩余步骤。
9.如权利要求8所述的计算机可读存储介质,其中,所述执行还包括在所述次要位置处重放所述作业请求。
10.如权利要求8所述的计算机可读存储介质,其中,所述动作还包括:访问存储的映射数据以确定所述作业请求的参数,以及通过基于对所述存储的映射数据的评估来重新映射所述作业请求的参数,以更新所述作业请求的参数来与所述次要位置对应。
11.如权利要求8所述的计算机可读存储介质,其中,所述动作包括:在所述次要位置处执行所述作业请求之前,从作业队列中去除所述作业请求。
12.如权利要求8所述的计算机可读存储介质,其中,所述动作包括:转换所述作业请求的作业命令行以便在所述次要位置处执行。
13.如权利要求8所述的计算机可读存储介质,其中,所述动作包括:基于对所述故障转移事件的评估来改变与所述作业请求的底层对象相关联的状态。
14.如权利要求8所述的计算机可读存储介质,其中,所述动作包括:从所述作业请求创建所述次要位置处的新的作业顺序,并且执行所述新的作业顺序。
15.一种计算机系统,包括:
至少一个处理器;以及
具有计算机可执行指令的存储器,所述存储器与所述至少一个处理器操作地连接,所述计算机可执行指令被编程以使得所述至少一个处理器执行一种方法,所述方法包括:
在次要位置处接收作业请求;
在所述次要位置处识别包含在所述作业请求中的故障转移标志,其中,所述故障转移标志指示在故障转移事件发生时所述作业请求从主要位置被传递;
检查所述故障转移标志,以确定响应于所述故障转移事件而在所述次要位置处执行的至少一个动作;
在执行所述作业请求之前执行所述动作;
确定在所述主要位置处对所述作业请求执行的工作状态;以及
基于在所述主要位置处对所述作业请求执行的工作状态,在所述次要位置处执行所述作业请求的剩余步骤。
16.如权利要求15所述的计算机系统,其中,所述执行还包括在所述次要位置处重放所述作业请求。
17.如权利要求15所述的计算机系统,其中,所述动作还包括:访问存储的映射数据以确定所述作业请求的参数,以及通过基于对所述存储的映射数据的评估来重新映射所述作业请求的参数,以更新所述作业请求的参数来与所述次要位置对应。
18.如权利要求15所述的计算机系统,其中,所述动作包括以下各项中的至少一项:在所述次要位置处执行所述作业请求之前,从作业队列中去除所述作业请求,以及从所述作业请求创建所述次要位置处的新的作业顺序,并且执行所述新的作业顺序。
19.如权利要求15所述的计算机系统,其中,所述动作包括:转换所述作业请求的作业命令行以便在所述次要位置处执行。
20.如权利要求15所述的计算机系统,其中所述动作包括:基于对所述故障转移事件的评估来改变与所述作业请求的底层对象相关联的状态。
CN201610879727.0A 2011-06-01 2012-05-28 在服务的次要位置重放作业 Active CN107102916B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/151,114 US8850261B2 (en) 2011-06-01 2011-06-01 Replaying jobs at a secondary location of a service
US13/151,114 2011-06-01
CN201280026439.0A CN103562904B (zh) 2011-06-01 2012-05-28 在服务的次要位置重放作业

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201280026439.0A Division CN103562904B (zh) 2011-06-01 2012-05-28 在服务的次要位置重放作业

Publications (2)

Publication Number Publication Date
CN107102916A CN107102916A (zh) 2017-08-29
CN107102916B true CN107102916B (zh) 2021-02-26

Family

ID=47260238

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201280026439.0A Active CN103562904B (zh) 2011-06-01 2012-05-28 在服务的次要位置重放作业
CN201610878234.5A Active CN107122270B (zh) 2011-06-01 2012-05-28 一种在服务的次要位置重放作业的方法、系统及存储介质
CN201610879727.0A Active CN107102916B (zh) 2011-06-01 2012-05-28 在服务的次要位置重放作业

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201280026439.0A Active CN103562904B (zh) 2011-06-01 2012-05-28 在服务的次要位置重放作业
CN201610878234.5A Active CN107122270B (zh) 2011-06-01 2012-05-28 一种在服务的次要位置重放作业的方法、系统及存储介质

Country Status (6)

Country Link
US (3) US8850261B2 (zh)
EP (1) EP2715558A4 (zh)
JP (1) JP5984918B2 (zh)
KR (2) KR101970839B1 (zh)
CN (3) CN103562904B (zh)
WO (1) WO2012166689A2 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US10585766B2 (en) 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
US8745445B1 (en) * 2012-02-10 2014-06-03 Pivotal Software, Inc. Mirrored database upgrade using state machine
JP5948933B2 (ja) * 2012-02-17 2016-07-06 日本電気株式会社 ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム
US9274824B2 (en) * 2013-06-27 2016-03-01 Verizon Patent And Licensing Inc. Network technology standard operating environment
US9430306B2 (en) * 2013-10-08 2016-08-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Anticipatory protection of critical jobs in a computing system
US9846618B2 (en) 2013-12-27 2017-12-19 Oracle International Corporation System and method for supporting flow control in a distributed data grid
CN105446827B (zh) * 2014-08-08 2018-12-14 阿里巴巴集团控股有限公司 一种数据库故障时的数据存储方法和设备
US9514010B2 (en) * 2014-09-19 2016-12-06 Netapp, Inc Cluster-wide service agents
US9954949B2 (en) * 2015-04-30 2018-04-24 Hewlett Packard Enterprise Development Lp Cloud images
US11226985B2 (en) 2015-12-15 2022-01-18 Microsoft Technology Licensing, Llc Replication of structured data records among partitioned data storage spaces
US10248709B2 (en) 2015-12-15 2019-04-02 Microsoft Technology Licensing, Llc Promoted properties in relational structured data
US10235406B2 (en) 2015-12-15 2019-03-19 Microsoft Technology Licensing, Llc Reminder processing of structured data records among partitioned data storage spaces
US10599676B2 (en) 2015-12-15 2020-03-24 Microsoft Technology Licensing, Llc Replication control among redundant data centers
US9996432B2 (en) * 2016-02-03 2018-06-12 International Business Machines Corporation Automated local database connection affinity and failover
CN106022007B (zh) * 2016-06-14 2019-03-26 中国科学院北京基因组研究所 面向生物组学大数据计算的云平台系统及方法
US10917469B2 (en) * 2017-03-22 2021-02-09 Western Digital Technologies, Inc. Read performance enhancement by enabling read from secondary in highly available cluster setup
KR101807806B1 (ko) * 2017-05-02 2017-12-11 나무기술 주식회사 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법
WO2019030698A1 (en) * 2017-08-08 2019-02-14 Perry + Currier Inc. METHOD, SYSTEM AND APPARATUS FOR PROCESSING DATABASE UPDATES
US10931780B2 (en) 2018-02-28 2021-02-23 International Business Machines Corporation Resource pre-caching and tenant workflow recognition using cloud audit records
US11321183B2 (en) * 2018-05-02 2022-05-03 Commvault Systems, Inc. Multi-tiered backup indexing
US10673943B2 (en) 2018-05-02 2020-06-02 Commvault Systems, Inc. Network storage backup using distributed media agents
US11249863B2 (en) 2018-05-02 2022-02-15 Commvault Systems, Inc. Backup-based media agent configuration
US11263173B2 (en) 2019-07-30 2022-03-01 Commvault Systems, Inc. Transaction log index generation in an enterprise backup system
US11762743B2 (en) * 2021-06-28 2023-09-19 International Business Machines Corporation Transferring task data between edge devices in edge computing

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307481A (en) 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
US5734373A (en) * 1993-07-16 1998-03-31 Immersion Human Interface Corporation Method and apparatus for controlling force feedback interface systems utilizing a host computer
US6898727B1 (en) 2000-03-22 2005-05-24 Emc Corporation Method and apparatus for providing host resources for an electronic commerce site
US7281031B1 (en) 2000-03-22 2007-10-09 Emc Corporation Method and apparatus for providing additional resources for a host computer
US7219260B1 (en) 2000-05-26 2007-05-15 Emc Corporation Fault tolerant system shared system resource with state machine logging
GB0112781D0 (en) 2001-05-25 2001-07-18 Global Continuity Plc Method for rapid recovery from a network file server failure
US6820218B1 (en) 2001-09-04 2004-11-16 Microsoft Corporation Persistent stateful component-based applications via automatic recovery
US7003694B1 (en) 2002-05-22 2006-02-21 Oracle International Corporation Reliable standby database failover
JP2004032103A (ja) 2002-06-21 2004-01-29 Ntt Docomo Tokai Inc ネットワークシステム及びサーバ切り替え方法
US6947940B2 (en) 2002-07-30 2005-09-20 International Business Machines Corporation Uniform name space referrals with location independence
US8554843B2 (en) 2002-09-06 2013-10-08 Dell Marketing Usa L.P. Method and system for processing email during an unplanned outage
WO2004023620A1 (en) 2002-09-09 2004-03-18 Evergreen Assurance, Inc. System and method for application monitoring and automatic disaster recovery for high-availability
US7107483B2 (en) 2002-11-15 2006-09-12 Lsi Logic Corporation Apparatus and method for enhancing data availability by leveraging primary/backup data storage volumes
WO2004086191A2 (en) 2003-03-20 2004-10-07 Rosenfelt Michael I Method and system for providing backup messages to wireless devices during outages
US7178059B2 (en) 2003-05-07 2007-02-13 Egenera, Inc. Disaster recovery for processing resources using configurable deployment platform
US7617369B1 (en) 2003-06-30 2009-11-10 Symantec Operating Corporation Fast failover with multiple secondary nodes
US7330859B2 (en) 2003-09-10 2008-02-12 International Business Machines Corporation Database backup system using data and user-defined routines replicators for maintaining a copy of database on a secondary server
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
JP2005250626A (ja) 2004-03-02 2005-09-15 Hitachi Ltd コンピュータシステム及びそのプログラム。
US7376078B1 (en) * 2004-03-24 2008-05-20 Juniper Networks, Inc. Selective replay of a state information within a computing device
JP2006003263A (ja) * 2004-06-18 2006-01-05 Hitachi Ltd 視覚情報処理装置および適用システム
US7822741B2 (en) * 2004-06-21 2010-10-26 Microsoft Corporation API for programmatic retrieval and replay of database trace
US7769709B2 (en) * 2004-09-09 2010-08-03 Microsoft Corporation Method, system, and apparatus for creating an archive routine for protecting data in a data protection system
US7325156B1 (en) 2004-10-07 2008-01-29 Hewlett-Packard Development Company, L.P. Methods and apparatus for backing up data in a data center
US7349903B2 (en) 2004-11-17 2008-03-25 International Business Machines Corporation Apparatus, system, and method for an alternate lock facility connection path
US7668962B2 (en) 2005-02-07 2010-02-23 Symantec Operating Corporation System and method for connection failover using redirection
US7483929B2 (en) 2005-02-08 2009-01-27 Pro Softnet Corporation Systems and methods for storing, backing up and recovering computer data files
US7720820B2 (en) 2005-07-12 2010-05-18 Microsoft Corporation Logless persistent components for enterprise applications
US7823153B1 (en) * 2005-09-30 2010-10-26 Symantec Corporation System and method for detecting and logging in-line synchronization primitives in application program code
JP4668763B2 (ja) * 2005-10-20 2011-04-13 株式会社日立製作所 ストレージ装置のリストア方法及びストレージ装置
EP1780940B1 (en) 2005-10-31 2009-06-17 PacketFront Systems AB High availability network systems
US7549079B2 (en) 2005-11-30 2009-06-16 Oracle International Corporation System and method of configuring a database system with replicated data and automatic failover and recovery
US7634679B2 (en) 2005-11-30 2009-12-15 Microsoft Corporation Remote location failover server application
US8156083B2 (en) 2005-12-01 2012-04-10 Oracle International Corporation Database system that provides for history-enabled tables
US20070174723A1 (en) 2006-01-18 2007-07-26 Omar Cardona Sub-second, zero-packet loss adapter failover
US7840969B2 (en) * 2006-04-28 2010-11-23 Netapp, Inc. System and method for management of jobs in a cluster environment
US7730538B2 (en) 2006-06-02 2010-06-01 Microsoft Corporation Combining virus checking and replication filtration
US7725764B2 (en) * 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
US7627687B2 (en) * 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for managing data flow in a continuous data replication system having journaling
US7917469B2 (en) 2006-11-08 2011-03-29 Hitachi Data Systems Corporation Fast primary cluster recovery
US7844851B2 (en) 2006-12-13 2010-11-30 Oracle International Corporation System and method for protecting against failure through geo-redundancy in a SIP server
US20080147689A1 (en) 2006-12-19 2008-06-19 Fujitsu Limited Test data registration method, program and apparatus
US7685179B2 (en) 2007-03-13 2010-03-23 Microsoft Corporation Network flow for constrained replica placement
JP5201133B2 (ja) * 2007-04-09 2013-06-05 富士通株式会社 二重化システム、システム制御方法およびシステム制御プログラム
US8225129B2 (en) 2007-04-10 2012-07-17 International Business Machines Corporation Methods and apparatus for effective on-line backup selection for failure recovery in distributed stream processing systems
US7779298B2 (en) 2007-06-11 2010-08-17 International Business Machines Corporation Distributed job manager recovery
US7861111B2 (en) 2007-06-15 2010-12-28 Savvis, Inc. Shared data center disaster recovery systems and methods
US8181071B2 (en) 2007-06-29 2012-05-15 Microsoft Corporation Automatically managing system downtime in a computer network
US20090019094A1 (en) 2007-07-13 2009-01-15 Scott David Lashley Redirected updates on a backup server
US7770064B2 (en) * 2007-10-05 2010-08-03 International Business Machines Corporation Recovery of application faults in a mirrored application environment
US8020046B2 (en) 2007-10-15 2011-09-13 International Business Machines Corporation Transaction log management
US9258360B2 (en) 2007-11-07 2016-02-09 International Business Machines Corporation Intelligent disaster recovery for database connection failures
US7836207B2 (en) 2007-12-20 2010-11-16 Fast Health Corporation System and method for redirecting a website upon the occurrence of a disaster or emergency event
JP5098700B2 (ja) 2008-03-03 2012-12-12 沖電気工業株式会社 情報通信システムのファイル交換装置およびファイル交換方法
US8250577B2 (en) * 2008-04-16 2012-08-21 International Business Machines Corporation Mechanism to enable and ensure failover integrity and high availability of batch processing
JP4659062B2 (ja) 2008-04-23 2011-03-30 株式会社日立製作所 フェイルオーバ方法、プログラム、管理サーバおよびフェイルオーバシステム
CN101299201B (zh) * 2008-05-08 2010-06-02 成都市华为赛门铁克科技有限公司 存储系统数据备份方法及装置
US7793141B1 (en) 2008-05-15 2010-09-07 Bank Of America Corporation eCommerce outage customer notification
US7962458B2 (en) 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US8301593B2 (en) 2008-06-12 2012-10-30 Gravic, Inc. Mixed mode synchronous and asynchronous replication system
US8255739B1 (en) * 2008-06-30 2012-08-28 American Megatrends, Inc. Achieving data consistency in a node failover with a degraded RAID array
JP5438371B2 (ja) * 2009-04-30 2014-03-12 キヤノン株式会社 画像処理装置および画像処理方法
KR20100120397A (ko) 2009-05-06 2010-11-16 주식회사 히타치엘지 데이터 스토리지 코리아 선택적 미러 방법
CN101599026A (zh) * 2009-07-09 2009-12-09 浪潮电子信息产业股份有限公司 一种具有弹性架构的集群作业调度系统
US7992031B2 (en) 2009-07-24 2011-08-02 International Business Machines Corporation Automated disaster recovery planning
US20110047413A1 (en) 2009-08-20 2011-02-24 Mcgill Robert E Methods and devices for detecting service failures and maintaining computing services using a resilient intelligent client computer
CN101645022B (zh) * 2009-08-28 2013-07-10 曙光信息产业(北京)有限公司 用于多个集群的作业调度管理系统及方法
US8886788B2 (en) 2009-08-31 2014-11-11 Accenture Global Services Limited Enterprise-level management, control and information aspects of cloud console
JP5498102B2 (ja) * 2009-09-02 2014-05-21 アラクサラネットワークス株式会社 ネットワークシステム、ネットワーク中継装置、それらの制御方法
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
KR101050476B1 (ko) 2009-12-03 2011-07-20 (주)한국아이오테크 스토리지 관리 서버 기반 스크립트 관리 방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
US20110289484A1 (en) 2010-05-19 2011-11-24 Also Energy Method and System for Script Processing for Web-Based Applications
US20120311375A1 (en) 2011-06-01 2012-12-06 Microsoft Corporation Redirecting requests to secondary location during temporary outage
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US10585766B2 (en) 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
US9141493B2 (en) * 2013-07-12 2015-09-22 International Business Machines Corporation Isolating a PCI host bridge in response to an error event

Also Published As

Publication number Publication date
EP2715558A4 (en) 2016-11-16
WO2012166689A2 (en) 2012-12-06
CN103562904B (zh) 2016-11-09
US9311199B2 (en) 2016-04-12
CN107102916A (zh) 2017-08-29
CN103562904A (zh) 2014-02-05
KR20140025503A (ko) 2014-03-04
KR102047216B1 (ko) 2019-11-20
US20150347244A1 (en) 2015-12-03
JP5984918B2 (ja) 2016-09-06
EP2715558A2 (en) 2014-04-09
US8850261B2 (en) 2014-09-30
US20150039931A1 (en) 2015-02-05
CN107122270B (zh) 2020-07-03
US20120311377A1 (en) 2012-12-06
KR101970839B1 (ko) 2019-04-19
US9442813B2 (en) 2016-09-13
JP2015507229A (ja) 2015-03-05
WO2012166689A3 (en) 2013-01-31
CN107122270A (zh) 2017-09-01
KR20190041033A (ko) 2019-04-19

Similar Documents

Publication Publication Date Title
CN107102916B (zh) 在服务的次要位置重放作业
US11720456B2 (en) Automatic configuration of a recovery service
US20230023262A1 (en) System and method for supporting patching in a multitenant application server environment
US10394550B2 (en) System and method for supporting patching in a multitenant application server environment
US11061884B2 (en) Method and system to accelerate transaction commit using non-volatile memory
US9043370B2 (en) Online database availability during upgrade
US8938638B2 (en) Recovery service location for a service
US8799453B2 (en) Managing networks and machines for an online service
US8751656B2 (en) Machine manager for deploying and managing machines
US20120102506A1 (en) Web service patterns for globally distributed service fabric

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
GR01 Patent grant
GR01 Patent grant