CN108173892B - 云端镜像操作方法和装置 - Google Patents
云端镜像操作方法和装置 Download PDFInfo
- Publication number
- CN108173892B CN108173892B CN201611116992.XA CN201611116992A CN108173892B CN 108173892 B CN108173892 B CN 108173892B CN 201611116992 A CN201611116992 A CN 201611116992A CN 108173892 B CN108173892 B CN 108173892B
- Authority
- CN
- China
- Prior art keywords
- request
- cloud
- identifier
- queue
- mirror image
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Facsimiles In General (AREA)
Abstract
本发明涉及一种云端镜像操作方法和装置,该方法包括:接收云端镜像操作请求;将所述云端镜像操作请求所对应的请求标识与所述云端镜像操作请求所携带的请求参数关联存储;将所述云端镜像操作请求所对应的请求标识加入请求接收队列;执行定时从所述请求接收队列中取出请求标识的第一定时任务以及定时从异常请求队列中取出请求标识的第二定时任务;根据取出的请求标识所关联的请求参数进行云端镜像操作;当所述云端镜像操作失败时,将取出的请求标识加入所述异常请求队列。本发明提供的云端镜像操作方法和装置,能够实现高可用的云端镜像操作。
Description
技术领域
本发明涉及云端技术领域,特别是涉及一种云端镜像操作方法和装置。
背景技术
云端是用于提供云服务的***,云服务如云存储服务或者云计算服务等。目前云端技术得到了广泛应用,通过云端实现了数据的在线存储以及共享,并且利用云端高性能的云计算能力提高了数据处理效率。云端上存在各种程序、文件、网站或者服务站点等,为程序、文件、网站以及服务站点创建镜像,从而利用镜像实现云服务的快速部署。
传统技术中,云端可以直接接收云端镜像操作请求并响应,以进行镜像操作,如创建或删除镜像,操作成功则返回操作成功的操作结果,若云端发生异常无法进行镜像操作则会返回操作失败的操作结果。因此,传统技术中云端的镜像操作容易因云端异常而导致镜像操作失败,导致云端镜像操作成功率较低。
发明内容
基于此,有必要针对传统技术中云端镜像操作成功率较低的问题,提供一种云端镜像操作方法和装置。
一种云端镜像操作方法,包括:
接收云端镜像操作请求;
将所述云端镜像操作请求所对应的请求标识与所述云端镜像操作请求所携带的请求参数关联存储;
将所述云端镜像操作请求所对应的请求标识加入请求接收队列;
执行定时从所述请求接收队列中取出请求标识的第一定时任务以及定时从异常请求队列中取出请求标识的第二定时任务;
根据取出的请求标识所关联的请求参数进行云端镜像操作;
当所述云端镜像操作失败时,将取出的请求标识加入所述异常请求队列。
一种云端镜像操作装置,包括:
云端镜像操作请求接收模块,用于接收云端镜像操作请求;
存储模块,用于将所述云端镜像操作请求所对应的请求标识与所述云端镜像操作请求所携带的请求参数关联存储;
请求接收队列管理模块,用于将所述云端镜像操作请求所对应的请求标识加入请求接收队列;
定时任务模块,用于执行定时从所述请求接收队列中取出请求标识的第一定时任务以及定时从异常请求队列中取出请求标识的第二定时任务;根据取出的请求标识所关联的请求参数进行云端镜像操作;
异常请求队列管理模块,用于当所述云端镜像操作失败时,将取出的请求标识加入所述异常请求队列。
上述云端镜像操作方法和装置,增设了请求接收队列和异常请求队列,请求接收队列用于记录接收到的云端镜像操作请求,异常请求队列则用来记录云端镜像操作失败的云端镜像操作请求。通过执行的第一定时任务和第二定时任务,可以及时地对新接收到的云端镜像操作请求进行处理,还可以及时地对操作失败的云端镜像操作进行重试,不影响对接收到的云端镜像操作请求的处理且能提高镜像操作成功率。而且通过队列和定时任务,可以对云端镜像操作请求量进行控制,防止请求量突增导致云端负载过重,实现高可用的云端镜像操作。
附图说明
图1为一个实施例中云端镜像操作方法的应用环境图;
图2为一个实施例中用于实现云端镜像操作方法的服务器的内部结构示意图;
图3为一个实施例中云端镜像操作方法的流程示意图;
图4为一个实施例中根据取出的请求标识所关联的请求参数进行云端镜像操作的步骤的流程示意图;
图5为一个实施例中将云端镜像操作请求所对应的请求标识与云端镜像操作请求所携带的请求参数关联存储的步骤的流程示意图;
图6为另一个实施例中云端镜像操作方法的流程示意图;
图7为一个实施例中云端镜像操作装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中云端镜像操作方法的应用环境图。如图1所示,一种云端镜像操作***,该云端镜像操作***包括终端110、服务器120和云端130。云端130可以是混合云端,包括私有云端131和公有云端132。终端110可通过网络与服务器120通信,服务器120可通过网络与云端130通信,服务器120用于实现一种云端镜像操作方法。可以理解的是,服务器120也可以是云端130的一部分。
在一个实施例中,终端110用于向服务器120发送云端镜像操作请求。服务器120用于接收终端110发送的云端镜像操作请求;将云端镜像操作请求所对应的请求标识与云端镜像操作请求所携带的请求参数关联存储;将云端镜像操作请求所对应的请求标识加入请求接收队列;异步执行定时从请求接收队列中取出请求标识的第一定时任务以及定时从异常请求队列中取出请求标识的第二定时任务;调用云端130提供的镜像操作接口并根据取出的请求标识所关联的请求参数在云端130进行云端镜像操作;当云端镜像操作失败时,将取出的请求标识加入异常请求队列。
图2为一个实施例中用于实现云端镜像操作方法的服务器的内部结构示意图。参照图2,该服务器包括通过***总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作***、数据库和云端镜像操作装置,该云端镜像操作装置用于实现一种云端镜像操作方法。数据库可用于将云端镜像操作请求所对应的请求标识与云端镜像操作请求所携带的请求参数关联存储。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种云端镜像操作方法。该服务器的网络接口用于进行网络通信,比如接收云端镜像操作请求。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例中云端镜像操作方法的流程示意图。本实施例主要以该方法应用于上述图1和图2中的服务器120来举例说明。参照图3,该方法具体包括如下步骤:
S302,接收云端镜像操作请求。
其中,云端镜像操作请求是请求在云端上进行镜像操作的网络请求。云端可以是私有云端、公有云端或者包括私有云端和公有云端的混合云端。镜像操作如创建镜像、复制镜像或者删除镜像等与镜像相关的操作。镜像可以是操作***、站点或者服务程序等的镜像。
具体地,服务器可向终端提供云端管理页面,云端管理页面中包括镜像操作配置项。终端可接收用户指令,根据用户指令配置镜像操作配置项,根据配置的镜像操作配置项生成请求参数,从而触发携带该请求参数的云端镜像操作请求,并将该云端镜像操作请求发送至服务器。服务器则接收该云端镜像操作请求。
S304,将云端镜像操作请求所对应的请求标识与云端镜像操作请求所携带的请求参数关联存储。
其中,每个云端镜像操作请求对应唯一的请求标识,该请求标识用于唯一标识相对应的端镜像操作请求。请求标识可以携带于云端镜像操作请求中,也可以由服务器在接收到云端镜像操作请求后进行分配。请求标识与请求参数关联存储,可通过请求标识查询到相关联的请求参数。
请求参数是请求在云端上进行镜像操作所需的参数。请求参数如镜像操作类型或者镜像操作所作用的目标标识,其中镜像操作类型如创建镜像类型、复制镜像类型或者删除镜像类型等。云端镜像操作请求中的请求参数可用于使得服务器根据请求参数,对于云端上由请求参数中的目标标识所标识的目标,进行请求参数中镜像操作类型的镜像操作。
具体地,服务器在接收到云端镜像操作请求后,获取该云端镜像操作请求所对应的请求标识,并提取云端镜像操作请求所携带的请求参数,将该请求标识与该请求参数对应存储,具体可存储在数据库、文件或者缓存中。
S306,将云端镜像操作请求所对应的请求标识加入请求接收队列。
其中,请求接收队列用于按照接收顺序缓存云端镜像操作请求所对应的请求标识,进而暂时缓存接收到的云端镜像操作请求。请求接收队列每个请求标识表示一个云端镜像操作请求。在一个实施例中,步骤S304和步骤S306可异步执行。
在一个实施例中,请求接收队列的容量可根据请求接收队列中请求标识的数量动态调整。其中,请求接收队列的容量是指请求接收队列可存储的请求标识的最大数量。
在一个实施例中,该方法还包括:当请求接收队列中的请求标识数量占当前级别容量占比达到当前容量级别对应的第一占比时,将当前容量级别提升一个容量级别;当请求接收队列中的请求标识数量占当前级别容量占比小于或等于当前容量级别对应的第二占比时,将当前容量级别降低一个容量级别;其中当前级别容量对应的第一占比大于当前级别容量对应的第二占比。容量级别可以是有限的。第一占比和/或第二占比可随着容量级别的提升而增大,随着容量级别的降低而降低。
S308,执行定时从请求接收队列中取出请求标识的第一定时任务以及定时从异常请求队列中取出请求标识的第二定时任务。
其中,第一定时任务和第二定时任务均是定时任务,第一和第二的描述用于区分不同的定时任务。定时任务可以是每隔预设时间间隔或者每到预设时间点执行的任务,预设时间间隔比如10ms(毫秒)。
第一定时任务用于在定时执行时从请求接收队列中取出请求标识,并根据取出的请求标识执行后续步骤310;第二定时任务用于在定时执行时从异常请求队列中取出请求标识,并根据取出的请求标识执行后续步骤310。异常请求队列与请求接收队列不同,用于缓存云端镜像操作失败的云端镜像操作请求所对应的请求标识。
在一个实施例中,第一定时任务和第二定时任务可异步执行。异步执行第一定时任务和第二定时任务时,第一定时任务和第二定时任务之间的执行顺序无关联。在其它实施例中,第一定时任务和第二定时任务也可以交替执行。
S310,根据取出的请求标识所关联的请求参数进行云端镜像操作。
其中,取出的请求标识可以是从请求接收队列中取出,也可以是从异常请求队列中取出。具体地,服务器可读取与取出的请求标识关联存储的请求参数,从而调用云端提供的镜像操作接口并根据读取的请求参数进行云端镜像操作。进一步地,服务器可调用云端提供的镜像操作接口并传入请求参数,使得云端根据该请求参数确定镜像操作类型和镜像操作所作用的目标,从而对云端上的该目标执行该确定的镜像操作类型的镜像操作。
S312,当云端镜像操作失败时,将取出的请求标识加入异常请求队列。
具体地,服务器在进行云端镜像操作后,可判断云端镜像操作成功或者失败。具体可通过云端镜像操作的返回值判断云端镜像操作成功或者失败。当判断为云端镜像操作失败时,则服务器将取出的请求标识加入异常请求队列,从而后续在异步执行第一定时任务和第二定时任务时可以继续取出该请求标识以尝试相对应的云端镜像操作请求。当判断为云端镜像操作成功时,则服务器可记录与该请求标识对应的操作成功结果,具体可记录在数据库、文件或者缓存中。服务器还可以向终端反馈操作成功结果。当记录在数据库中时可与请求标识对应的操作成功结果回写到与该请求标识对应的请求参数所在的数据表中。
上述云端镜像操作方法,增设了请求接收队列和异常请求队列,请求接收队列用于记录接收到的云端镜像操作请求,异常请求队列则用来记录云端镜像操作失败的云端镜像操作请求。通过执行的第一定时任务和第二定时任务,可以及时地对新接收到的云端镜像操作请求进行处理,还可以及时地对操作失败的云端镜像操作进行重试,不影响对接收到的云端镜像操作请求的处理且能提高镜像操作成功率。而且通过队列和定时任务,可以对云端镜像操作请求量进行控制,防止请求量突增导致云端负载过重,实现高可用的云端镜像操作。再者,通过接收队列和异常请求队列,使得云端镜像操作过程解耦,便于后续扩展和优化。
在一个实施例中,请求参数包括机房标识和云端虚拟机标识。参照图4,本实施例中步骤310具体包括如下步骤:
S402,读取与取出的请求标识关联的机房标识和云端虚拟机标识。
其中,机房标识和云端虚拟机标识用于标识云端镜像操作所作用的目标。机房标识用于标识云端物理服务器,云端虚拟机标识则用于标识云端服务器上架设的云端虚拟机。每个云端虚拟机可用于提供一个或多个云服务。具体地,服务器可从数据库、文件或者缓存中读取与取出的请求标识关联的机房标识和云端虚拟机标识。
S404,针对读取到机房标识所标识的云端物理服务器上与读取的云端虚拟机标识对应的云端虚拟机进行云端镜像操作。
具体地,服务器可确定读取到机房标识所标识的云端物理服务器,并确定该云端物理服务器上与读取的云端虚拟机标识对应的云端虚拟机,进而对确定的云端虚拟机进行云端镜像操作。
本实施例中,由于云端物理服务器的性能很强,根据需要在云端物理服务器上架设虚拟机以实现云服务,可实现资源的合理利用,避免云端资源浪费。
如图5所示,在一个实施例中,步骤S304具体包括如下步骤:
S502,为云端镜像操作请求分配唯一的请求标识。
其中,请求标识唯一是指请求标识在本实施例的云端镜像操作方法所应用的环境中唯一。
具体地,服务器可通过不断自增的方式生成唯一的序列号,将该序列号作为请求标识分配予接收到的云端镜像操作请求。如接收到一个云端镜像操作请求后,为其分配00001的请求标识;接收到下一个云端镜像操作请求后则在00001基础上自增1后,将请求标识00002分配予该云端镜像操作请求。
在一个实施例中,服务器也能够以时间戳作为请求标识。在一个实施例中,服务器还能够将发起云端镜像操作请求的终端标识或用户标识与时间戳结合作为请求标识。
S504,从云端镜像操作请求中提取机房标识和云端虚拟机标识。
其中,机房标识是指云端物理服务器所在机房的标识,可用于标识云端物理服务器。云端虚拟机标识是用于标识云端服务器上架设的云端虚拟机的标识。机房标识可以是数字、字母、符号和汉字中的一种或几种的组合。云端虚拟机标识也可以是数字、字母、符号和汉字中的一种或几种的组合。步骤502和步骤S504可异步执行。
S506,将提取的机房标识和提取的云端虚拟机标识关联于分配的请求标识存储。
具体地,服务器可将提取的机房标识和提取的云端虚拟机标识均关联于分配的请求标识,并将关联关系进行存储。服务器具体可将关联关系存储在数据库、文件或者缓存中。
本实施例中,为云端镜像操作请求分配唯一的请求标识,可以保证请求标识的唯一性,请求接收队列和异常请求队列只需要记录请求标识,在需要进行镜像操作时再根据请求标识读取相关联的机房标识和云端虚拟机标识,数据处理过程简单高效,提高了进行云端镜像操作的效率。
在一个实施例中,步骤S312具体包括:当云端镜像操作失败,且与取出的请求标识对应的操作失败重试次数达到预设次数时,记录与取出的请求标识对应的操作失败结果;当云端镜像操作失败,且与取出的请求标识对应的操作失败重试次数未达到预设次数时,将取出的请求标识加入异常请求队列。
具体地,服务器在进行云端镜像操作后,可判断云端镜像操作成功或者失败。具体可通过云端镜像操作的返回值判断云端镜像操作成功或者失败。当判断为云端镜像操作失败时,服务器可继续判断请求标识对应的操作失败重试次数是否达到预设次数,即判断请求标识对应的操作失败重试次数是否大于或等于预设次数。
进一步地,服务器在判断出与取出的请求标识对应的操作失败重试次数大于或等于预设次数,则记录与取出的请求标识对应的操作失败结果,具体可记录在数据库、文件或者缓存中。与取出的请求标识对应的操作失败结果表示该取出的请求标识所标识的云端镜像操作请求所请求的镜像操作失败。服务器还可以向终端反馈该操作失败结果。
服务器在判断出与取出的请求标识对应的操作失败重试次数小于预设次数时,则将取出的请求标识加入异常请求队列,从而后续在异步执行第一定时任务和第二定时任务时可以继续取出该请求标识以尝试相对应的云端镜像操作请求。
在一个实施例中,服务器可在从异常请求队列中取出请求标识后,判断取出的请求标识是否对应有操作失败重试次数;若否,则生成对应于该取出的请求标识的值为1的操作失败重试次数;当是,则将取出的请求标识所对应的操作失败重试次数自增1。
本实施例中,云端镜像操作请求具有最大的操作失败重试次数即预设次数,既可以避免因偶然因素导致的云端镜像操作失败,又可以避免因短时无法克服的障碍导致云端镜像操作请求不断被重试而浪费云端资源。
在一个实施例中,该云端镜像操作方法还包括:若请求接收队列、异常请求队列、第一定时任务和第二定时任务中的至少一者中断,则启用分布式部署的请求接收队列、异常请求队列、第一定时任务和第二定时任务中的相应至少一者继续运行。
其中,请求接收队列、异常请求队列、第一定时任务和第二定时任务这些对象采用分布式部署。分布式部署的对象可以部署在相同物理服务器上的不同线程或进程之间,也可以部署在相同物理服务器的不同虚拟机上,也可以部署在不同的物理服务器上。分布式部署的对象之间保持数据同步。中断比如遇故障而导致中断。
具体地,服务器在执行第一定时任务以及第二定时任务时,若请求接收队列中断,则启用分布式部署的请求接收队列继续执行第一定时任务;若第一定时任务本身中断,则启用分布式部署的第一定时任务继续运行;若异常请求队列中断,则启用分布式部署的异常请求队列以继续执行第二定时任务;若第二定时任务本身中断,则启用分布式部署的第二定时任务继续运行。
本实施例中,请求接收队列、异常请求队列、第一定时任务和第二定时任务采用分布式部署,当其中至少一者中断时,可启用分布式部署的请求接收队列、异常请求队列、第一定时任务和第二定时任务以继续运行,使得云端镜像操作的健壮性较强,容灾能力强。
在一个实施例中,步骤S310包括:当取出的请求标识所对应的云端镜像操作请求针对私有云端上的镜像操作时,调用私有云端提供的镜像操作接口并根据取出的请求标识所关联的请求参数在私有云端上进行镜像操作。
在一个实施例中,步骤S310包括:当取出的请求标识所对应的云端镜像操作请求针对公有云端上的镜像操作时,调用公有云端提供的镜像操作接口并根据取出的请求标识所关联的请求参数在公有云端上进行镜像操作。
具体地,本实施例的云端镜像操作方法应用于包括私有云端和公有云端的混合云端。其中私有云端部署在私有网络环境中,如企业、政府或其它组织等自己在机房中建立的云端,物理隔离以保证安全性。公有云端部署在互联网环境中,计算能力强。针对私有云端或者公有云端上的镜像操作可包括于请求参数中。
当云端镜像操作请求所请求的是针对私有云端上的镜像操作时,则服务器调用私有云端提供的镜像操作接口,通过该镜像操作接口向私有云端提供取出的请求标识所关联的请求参数,使得私有云端根据与该取出的请求标识所关联的请求参数在私有云端上进行镜像操作。
当云端镜像操作请求所请求的是针对公有云端上的镜像操作时,则服务器调用公有云端提供的镜像操作接口,通过该镜像操作接口向公有云端提供取出的请求标识所关联的请求参数,使得公有云端根据与该取出的请求标识所关联的请求参数在公有云端上进行镜像操作。
本实施例中,云端镜像操作方法应用于包括私有云端和公有云端的混合云端,结合私有云端和公有云端的性能优势,且在混合云端环境下实现了高可用的云端镜像操作。
如图6所示,在一个实施例中,一种云端镜像操作方法具体包括如下步骤:
S602,接收云端镜像操作请求。
S604,将云端镜像操作请求所对应的请求标识与云端镜像操作请求所携带的请求参数在数据库中关联。
S606,将云端镜像操作请求所对应的请求标识加入采用分布式部署的请求接收队列。
S608,异步执行采用分布式部署的第一定时任务和第二定时任务,在执行第一定时任务时从请求接收队列中读取请求标识,并在执行第二定时任务时从异常请求队列中读取请求标识。
S610,调用云端提供的镜像操作接口并根据读取的请求标识所关联的请求参数进行云端镜像操作。
S612,判断云端镜像操作是否成功。若云端镜像操作成功,则执行步骤S614;若云端镜像操作失败,则执行步骤S616。
S614,将操作成功结果回写到数据库。
S616,判断与读取的请求标识对应的操作失败重试次数是否达到预设次数。若达到预设次数,则执行步骤S618;若未达到预设次数,则执行步骤S620。
S618,将操作失败结果回写到数据库。
S620,将读取的请求标识加入异常请求队列。
本实施例中,增设了请求接收队列和异常请求队列,请求接收队列用于记录接收到的云端镜像操作请求,异常请求队列则用来记录云端镜像操作失败的云端镜像操作请求。通过执行的第一定时任务和第二定时任务,可以及时地对新接收到的云端镜像操作请求进行处理,还可以及时地对操作失败的云端镜像操作进行重试,不影响对接收到的云端镜像操作请求的处理且能提高镜像操作成功率。而且通过队列和定时任务,可以对云端镜像操作请求量进行控制,防止请求量突增导致云端负载过重,实现高可用的云端镜像操作。再者,通过接收队列和异常请求队列,使得云端镜像操作过程解耦,便于后续扩展和优化。
如图7所示,在一个实施例中,提供了一种云端镜像操作装置700,该云端镜像操作装置700包括:云端镜像操作请求接收模块701、存储模块702、请求接收队列管理模块703、定时任务模块704和异常请求队列管理模块705。
云端镜像操作请求接收模块701,用于接收云端镜像操作请求。
存储模块702,用于将云端镜像操作请求所对应的请求标识与云端镜像操作请求所携带的请求参数关联存储。
请求接收队列管理模块703,用于将云端镜像操作请求所对应的请求标识加入请求接收队列。
定时任务模块704,用于执行定时从请求接收队列中取出请求标识的第一定时任务以及定时从异常请求队列中取出请求标识的第二定时任务。根据取出的请求标识所关联的请求参数进行云端镜像操作。
异常请求队列管理模块705,用于当云端镜像操作失败时,将取出的请求标识加入异常请求队列。
上述云端镜像操作装置700,增设了请求接收队列和异常请求队列,请求接收队列用于记录接收到的云端镜像操作请求,异常请求队列则用来记录云端镜像操作失败的云端镜像操作请求。通过执行的第一定时任务和第二定时任务,可以及时地对新接收到的云端镜像操作请求进行处理,还可以及时地对操作失败的云端镜像操作进行重试,不影响对接收到的云端镜像操作请求的处理且能提高镜像操作成功率。而且通过队列和定时任务,可以对云端镜像操作请求量进行控制,防止请求量突增导致云端负载过重,实现高可用的云端镜像操作。再者,通过接收队列和异常请求队列,使得云端镜像操作过程解耦,便于后续扩展和优化。
在一个实施例中,请求参数包括机房标识和云端虚拟机标识;定时任务模块704还用于读取与取出的请求标识关联的机房标识和云端虚拟机标识;针对读取到机房标识所标识的云端物理服务器上与读取的云端虚拟机标识对应的云端虚拟机进行云端镜像操作。
本实施例中,由于云端物理服务器的性能很强,根据需要在云端物理服务器上架设虚拟机以实现云服务,可实现资源的合理利用,避免云端资源浪费。
在一个实施例中,存储模块702还用于为云端镜像操作请求分配唯一的请求标识;从云端镜像操作请求中提取机房标识和云端虚拟机标识;将提取的机房标识和提取的云端虚拟机标识关联于分配的请求标识存储。
本实施例中,为云端镜像操作请求分配唯一的请求标识,可以保证请求标识的唯一性,请求接收队列和异常请求队列只需要记录请求标识,在需要进行镜像操作时再根据请求标识读取相关联的机房标识和云端虚拟机标识,数据处理过程简单高效,提高了进行云端镜像操作的效率。
在一个实施例中,异常请求队列管理模块705还用于当云端镜像操作失败,且与取出的请求标识对应的操作失败重试次数达到预设次数时,记录与取出的请求标识对应的操作失败结果;当云端镜像操作失败,且与取出的请求标识对应的操作失败重试次数未达到预设次数时,将取出的请求标识加入异常请求队列。
本实施例中,云端镜像操作请求具有最大的操作失败重试次数即预设次数,既可以避免因偶然因素导致的云端镜像操作失败,又可以避免因短时无法克服的障碍导致云端镜像操作请求不断被重试而浪费云端资源。
在一个实施例中,定时任务模块704还用于若请求接收队列、异常请求队列、第一定时任务和第二定时任务中的至少一者中断,则启用分布式部署的请求接收队列、异常请求队列、第一定时任务和第二定时任务中的至少一者继续运行。
本实施例中,请求接收队列、异常请求队列、第一定时任务和第二定时任务采用分布式部署,当其中至少一者中断时,可启用分布式部署的请求接收队列、异常请求队列、第一定时任务和第二定时任务以继续运行,使得云端镜像操作的健壮性较强,容灾能力强。
在一个实施例中,定时任务模块704还用于当取出的请求标识所对应的云端镜像操作请求针对私有云端上的镜像操作时,调用私有云端提供的镜像操作接口并根据取出的请求标识所关联的请求参数在私有云端上进行镜像操作;当取出的请求标识所对应的云端镜像操作请求针对公有云端上的镜像操作时,调用公有云端提供的镜像操作接口并根据取出的请求标识所关联的请求参数在公有云端上进行镜像操作。
本实施例中,云端镜像操作方法应用于包括私有云端和公有云端的混合云端,结合私有云端和公有云端的性能优势,且在混合云端环境下实现了高可用的云端镜像操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种云端镜像操作方法,包括:
接收云端镜像操作请求;所述云端镜像操作请求是请求在云端上进行镜像操作的网络请求;所述镜像操作是与镜像相关的操作;
将所述云端镜像操作请求所对应的请求标识与所述云端镜像操作请求所携带的请求参数关联存储;所述请求参数是请求在云端上进行镜像操作所需的参数;
将所述云端镜像操作请求所对应的请求标识加入请求接收队列;
执行定时从所述请求接收队列中取出请求标识的第一定时任务以及定时从异常请求队列中取出请求标识的第二定时任务;
根据取出的请求标识所关联的请求参数进行云端镜像操作,包括:根据取出的请求标识所关联的请求参数,对云端上由所述请求参数中的目标标识所标识的目标,进行所述请求参数中镜像操作类型的镜像操作;
当所述云端镜像操作失败时,将取出的请求标识加入所述异常请求队列。
2.根据权利要求1所述的方法,其特征在于,所述请求参数包括机房标识和云端虚拟机标识;所述根据取出的请求标识所关联的请求参数进行云端镜像操作包括:
读取与取出的请求标识关联的机房标识和云端虚拟机标识;
针对读取到所述机房标识所标识的云端物理服务器上与读取的所述云端虚拟机标识对应的云端虚拟机进行云端镜像操作。
3.根据权利要求2所述的方法,其特征在于,所述将所述云端镜像操作请求所对应的请求标识与所述云端镜像操作请求所携带的请求参数关联存储包括:
为所述云端镜像操作请求分配唯一的请求标识;
从所述云端镜像操作请求中提取机房标识和云端虚拟机标识;
将提取的机房标识和提取的云端虚拟机标识关联于分配的所述请求标识存储。
4.根据权利要求1所述的方法,其特征在于,所述当所述云端镜像操作失败时,将取出的请求标识加入所述异常请求队列包括:
当所述云端镜像操作失败,且与取出的请求标识对应的操作失败重试次数达到预设次数时,记录与取出的请求标识对应的操作失败结果;
当所述云端镜像操作失败,且与取出的请求标识对应的操作失败重试次数未达到预设次数时,将取出的请求标识加入所述异常请求队列。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述请求接收队列、所述异常请求队列、所述第一定时任务和所述第二定时任务中的至少一者中断,则启用分布式部署的所述请求接收队列、所述异常请求队列、所述第一定时任务和所述第二定时任务中的相应至少一者继续运行。
6.根据权利要求1所述的方法,其特征在于,所述根据取出的请求标识所关联的请求参数进行云端镜像操作包括:
当取出的请求标识所对应的云端镜像操作请求针对私有云端上的镜像操作时,调用私有云端提供的镜像操作接口并根据取出的请求标识所关联的请求参数在私有云端上进行镜像操作;
当取出的请求标识所对应的云端镜像操作请求针对公有云端上的镜像操作时,调用公有云端提供的镜像操作接口并根据取出的请求标识所关联的请求参数在公有云端上进行镜像操作。
7.一种云端镜像操作装置,其特征在于,包括:
云端镜像操作请求接收模块,用于接收云端镜像操作请求;所述云端镜像操作请求是请求在云端上进行镜像操作的网络请求;所述镜像操作是与镜像相关的操作;
存储模块,用于将所述云端镜像操作请求所对应的请求标识与所述云端镜像操作请求所携带的请求参数关联存储;所述请求参数是请求在云端上进行镜像操作所需的参数;
请求接收队列管理模块,用于将所述云端镜像操作请求所对应的请求标识加入请求接收队列;
定时任务模块,用于执行定时从所述请求接收队列中取出请求标识的第一定时任务以及定时从异常请求队列中取出请求标识的第二定时任务;根据取出的请求标识所关联的请求参数进行云端镜像操作,包括:根据取出的请求标识所关联的请求参数,对云端上由所述请求参数中的目标标识所标识的目标,进行所述请求参数中镜像操作类型的镜像操作;
异常请求队列管理模块,用于当所述云端镜像操作失败时,将取出的请求标识加入所述异常请求队列。
8.根据权利要求7所述的装置,其特征在于,所述请求参数包括机房标识和云端虚拟机标识;所述定时任务模块还用于读取与取出的请求标识关联的机房标识和云端虚拟机标识;针对读取到所述机房标识所标识的云端物理服务器上与读取的所述云端虚拟机标识对应的云端虚拟机进行云端镜像操作。
9.根据权利要求8所述的装置,其特征在于,所述存储模块还用于为所述云端镜像操作请求分配唯一的请求标识;从所述云端镜像操作请求中提取机房标识和云端虚拟机标识;将提取的机房标识和提取的云端虚拟机标识关联于分配的所述请求标识存储。
10.根据权利要求7所述的装置,其特征在于,所述异常请求队列管理模块还用于当所述云端镜像操作失败,且与取出的请求标识对应的操作失败重试次数达到预设次数时,记录与取出的请求标识对应的操作失败结果;当所述云端镜像操作失败,且与取出的请求标识对应的操作失败重试次数未达到预设次数时,将取出的请求标识加入所述异常请求队列。
11.根据权利要求7所述的装置,其特征在于,所述定时任务模块还用于若所述请求接收队列、所述异常请求队列、所述第一定时任务和所述第二定时任务中的至少一者中断,则启用分布式部署的所述请求接收队列、所述异常请求队列、所述第一定时任务和所述第二定时任务中的相应至少一者继续运行。
12.根据权利要求7所述的装置,其特征在于,所述定时任务模块还用于当取出的请求标识所对应的云端镜像操作请求针对私有云端上的镜像操作时,调用私有云端提供的镜像操作接口并根据取出的请求标识所关联的请求参数在私有云端上进行镜像操作;当取出的请求标识所对应的云端镜像操作请求针对公有云端上的镜像操作时,调用公有云端提供的镜像操作接口并根据取出的请求标识所关联的请求参数在公有云端上进行镜像操作。
13.一种服务器,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
14.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611116992.XA CN108173892B (zh) | 2016-12-07 | 2016-12-07 | 云端镜像操作方法和装置 |
PCT/CN2017/112906 WO2018095416A1 (zh) | 2016-11-24 | 2017-11-24 | 信息处理方法、装置及*** |
US16/279,606 US11088903B2 (en) | 2016-11-24 | 2019-02-19 | Hybrid cloud network configuration management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611116992.XA CN108173892B (zh) | 2016-12-07 | 2016-12-07 | 云端镜像操作方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108173892A CN108173892A (zh) | 2018-06-15 |
CN108173892B true CN108173892B (zh) | 2020-11-13 |
Family
ID=62526753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611116992.XA Active CN108173892B (zh) | 2016-11-24 | 2016-12-07 | 云端镜像操作方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108173892B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254765B (zh) * | 2018-08-22 | 2023-08-25 | 平安科技(深圳)有限公司 | 定时任务管理方法、装置、计算机设备及存储介质 |
CN114547744A (zh) * | 2022-02-24 | 2022-05-27 | 清华大学 | 模型导出方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777018A (zh) * | 2010-02-08 | 2010-07-14 | 北京同有飞骥科技有限公司 | 一种复制与快照结合的Windows***保护方法 |
CN103049317A (zh) * | 2013-01-10 | 2013-04-17 | 中国南方电网有限责任公司超高压输电公司 | 云环境下基于队列的高并发数据快速写入***及方法 |
CN103294533A (zh) * | 2012-10-30 | 2013-09-11 | 北京安天电子设备有限公司 | 任务流控制方法及*** |
CN103390041A (zh) * | 2013-07-18 | 2013-11-13 | 杭州东信北邮信息技术有限公司 | 一种基于中间件提供数据服务的方法和*** |
CN104714835A (zh) * | 2013-12-16 | 2015-06-17 | ***通信集团公司 | 一种数据访问处理方法及装置 |
CN104753817A (zh) * | 2013-12-25 | 2015-07-01 | ***通信集团公司 | 一种云计算消息队列服务本地模拟方法和*** |
CN105138471A (zh) * | 2015-09-01 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 镜像过程处理方法和装置 |
CN105205175A (zh) * | 2015-10-15 | 2015-12-30 | 北京农信互联科技有限公司 | 分布式数据库集群的数据操作方法及*** |
CN105242915A (zh) * | 2015-09-07 | 2016-01-13 | 无锡天脉聚源传媒科技有限公司 | 一种数据操作的处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307523A1 (en) * | 2008-06-06 | 2009-12-10 | Allison Brian D | System Performance Through Invalidation of Speculative Memory Scrub Commands |
JP4966404B2 (ja) * | 2010-10-21 | 2012-07-04 | 株式会社東芝 | メモリ制御装置、記憶装置、及びメモリ制御方法 |
-
2016
- 2016-12-07 CN CN201611116992.XA patent/CN108173892B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101777018A (zh) * | 2010-02-08 | 2010-07-14 | 北京同有飞骥科技有限公司 | 一种复制与快照结合的Windows***保护方法 |
CN103294533A (zh) * | 2012-10-30 | 2013-09-11 | 北京安天电子设备有限公司 | 任务流控制方法及*** |
CN103049317A (zh) * | 2013-01-10 | 2013-04-17 | 中国南方电网有限责任公司超高压输电公司 | 云环境下基于队列的高并发数据快速写入***及方法 |
CN103390041A (zh) * | 2013-07-18 | 2013-11-13 | 杭州东信北邮信息技术有限公司 | 一种基于中间件提供数据服务的方法和*** |
CN104714835A (zh) * | 2013-12-16 | 2015-06-17 | ***通信集团公司 | 一种数据访问处理方法及装置 |
CN104753817A (zh) * | 2013-12-25 | 2015-07-01 | ***通信集团公司 | 一种云计算消息队列服务本地模拟方法和*** |
CN105138471A (zh) * | 2015-09-01 | 2015-12-09 | 浪潮(北京)电子信息产业有限公司 | 镜像过程处理方法和装置 |
CN105242915A (zh) * | 2015-09-07 | 2016-01-13 | 无锡天脉聚源传媒科技有限公司 | 一种数据操作的处理方法及装置 |
CN105205175A (zh) * | 2015-10-15 | 2015-12-30 | 北京农信互联科技有限公司 | 分布式数据库集群的数据操作方法及*** |
Non-Patent Citations (1)
Title |
---|
《一种云环境下的镜像文件存储***》;王洪发;《电信科学》;20140228;第82-87页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108173892A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108924250B (zh) | 基于区块链的业务请求处理方法、装置和计算机设备 | |
US9560165B2 (en) | BT offline data download system and method, and computer storage medium | |
CN110247984B (zh) | 业务处理方法、装置及存储介质 | |
WO2019075978A1 (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN109040227B (zh) | 基于区块链的业务请求响应方法、装置和计算机设备 | |
CN108683668B (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
CN107656695B (zh) | 一种数据存储、删除方法、装置及分布式存储*** | |
CN112153170B (zh) | 访问服务器的方法、装置、设备及存储介质 | |
CN110427386B (zh) | 数据处理方法、装置及计算机存储介质 | |
CN113419824A (zh) | 数据处理方法、装置、***及计算机存储介质 | |
CN111767347A (zh) | 共识算法的切换方法、装置、节点设备及存储介质 | |
CN109669822B (zh) | 电子装置、备用存储池的创建方法和计算机可读存储介质 | |
CN108965450B (zh) | 业务请求响应方法、装置、计算机设备和存储介质 | |
CN112052230B (zh) | 多机房数据同步方法、计算设备及存储介质 | |
US20190114178A1 (en) | Installing of operating system | |
CN111541762B (zh) | 数据处理的方法、管理服务器、设备及存储介质 | |
CN107566470B (zh) | 云数据***中管理虚拟机的方法和装置 | |
CN108173892B (zh) | 云端镜像操作方法和装置 | |
CN107689984B (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN112866406A (zh) | 一种数据存储方法、***、装置、设备及存储介质 | |
CN108241616B (zh) | 消息推送方法和装置 | |
CN110113217B (zh) | 微服务管理方法、装置、管理平台及存储介质 | |
CN109445988B (zh) | 异构容灾方法、装置、***、服务器和容灾平台 | |
CN110765125A (zh) | 一种存储数据的方法及装置 | |
CN105939278B (zh) | 一种流量处理方法及装置 |
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 |