一种云盘服务器访问迁移方法和装置与流程

文档序号:12789627阅读:685来源:国知局
一种云盘服务器访问迁移方法和装置与流程

本发明涉及软件技术领域,特别是涉及一种云盘服务器访问迁移方法和一种云盘服务器访问迁移装置。



背景技术:

随着互联网技术的发展,云盘已经成为生活中必不可少的网络存储工具,云盘可以通过互联网为企业和个人提供信息的存储、读取、下载等服务。

云盘由前端接收用户请求的云盘服务器集群和存储具体数据的各数据库组成。每个数据库对应一个域名,用户通过对该域名发送访问请求,从而可以通过云盘服务器集群对相应数据库进行操作。在先技术中,为了方便部署,设置了一个云盘服务器集群,该集群中各个云盘服务器的进程接收用户针对某一数据库域名的访问请求。但是,如果某个数据库A出现异常,比如崩溃,那么该接收访问请求的进程则会卡死,对于大批量用户访问该数据库A的时候,则云盘服务器集群的进程会逐渐被占满,则最终可以导致该云盘云盘服务器集群的卡死,从而使得该云盘服务器集群中的云盘服务器不能为用户提供服务。

为了解决一个数据库崩溃使整个云盘服务器集群的卡死,在先技术中,则将一个大的云盘服务器集群在物理上拆分为了多个小的云盘服务器集群,每个云盘服务器集群管理部分数据库。但是该种方案部署成本高,维护成本也很高,集群扩展很不方便,并且某个集群的数据库卡死,在一定时间后该集群照样会卡死。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的云盘服务器访问迁移方法和相应的云盘服务器访问迁移装置。

依据本发明的一个方面,提供了一种云盘服务器访问迁移方法,包括:

由监控服务判断接收到的网络请求是否针对异常的数据库;

如果所述网络请求是针对异常的数据库,则将所述网络请求切换给备用业务集群的第二进程进行处理;

如果所述网络请求是针对正常的数据库,则将所述网络请求发送给本地的第二进程进行处理。

优选地,所述由监控服务判断接收到的网络请求是否针对异常的数据库的步骤,包括:

在由监控服务接收到网络请求后,读取配置服务的值;

根据所述配置服务的值,判断所述网络请求是否针对异常的数据库。

优选地,在所述由监控服务接收到网络请求后,读取配置服务的值的步骤之前,还包括:

监控各个数据库是否出现异常;

如果所述数据库出现异常,则根据所述数据库生成配置文件;

将所述配置文件加载至配置服务中,以更新所述配置服务的值。

优选地,所述监控各个数据库是否出现异常的步骤,包括:

监控各个数据库是否出现故障;

和/或监控各个数据库的访问流量是否异常。

优选地,所述根据所述数据库生成配置文件的步骤,包括:

获取所述数据库对应的域名,并根据所述域名生成配置文件。

优选地,所述根据所述配置服务的值,判断所述网络请求是否针对异常的数据库的步骤,包括:

判断对应网络请求的域名与所述配置服务的值是否匹配;

如果对应网络请求的域名与所述配置服务的值匹配,则确定所述网络请求是针对异常的数据库;

如果对应网络请求的域名与所述配置服务的值不匹配,则确定所述网络请求不是针对异常的数据库。

优选地,所述监控服务包括nginx多进程模型服务;所述第二进程包括 PHP进程。

优选地,所述由监控服务判断接收到的网络请求是否针对异常的数据库的步骤,包括:

在nginx多进程模型服务接收到一网络请求后,通过lua脚本调用接口调用lua脚本;

通过所述lua脚本判断所述网络请求是否针对异常的数据库。

优选地,所述lua脚本调用接口包括openresty接口。

依据本发明的另一个方面,提供了一种云盘服务器访问迁移装置,包括:

网络请求判断模块,适于由监控服务判断接收到的网络请求是否针对异常的数据库;

网络请求切换模块,适于在所述网络请求是针对异常的数据库时,将所述网络请求切换给备用业务集群的第二进程进行处理;

网络请求发送模块,适于所述网络请求是针对正常的数据库时,将所述网络请求发送给本地的第二进程进行处理。

优选地,所述网络请求判断模块,包括:

读取子模块,适于在由监控服务接收到网络请求后,读取配置服务的值;

网络请求判断子模块,适于根据所述配置服务的值,判断所述网络请求是否针对异常的数据库。

优选地,在所述读取子模块之前,还包括:

数据库监控子模块,适于监控各个数据库是否出现异常;

配置文件生成子模块,适于在所述数据库出现异常时,根据所述数据库生成配置文件;

更新子模块,适于将所述配置文件加载至配置服务中,以更新所述配置服务的值。

优选地,所述数据库监控子模块,包括:

故障数据库监控子模块,适于监控各个数据库是否出现故障;和/或

各数据库访问流量监控子模块,适于监控各个数据库的访问流量是否异常。

优选地,所述配置文件生成子模块,包括:

对应域名的配置文件生成子模块,获取所述数据库对应的域名,并根据所述域名生成配置文件。

优选地,所述网络请求判断子模块,包括:

匹配判断子模块,适于判断对应网络请求的域名与所述配置服务的值是否匹配;

异常数据库确定子模块,适于在对应网络请求的域名与所述配置服务的值匹配时,确定所述网络请求是针对异常的数据库;

正常数据库确定子模块,适于在对应网络请求的域名与所述配置服务的值不匹配时,确定所述网络请求不是针对异常的数据库。

优选地,所述监控服务包括nginx多进程模型服务;所述第二进程包括PHP进程。

优选地,所述网络请求判断模块,包括:

lua脚本调用子模块,适于在nginx多进程模型服务接收到一网络请求后,通过lua脚本调用接口调用lua脚本;

lua脚本判断网络请求子模块,适于通过所述lua脚本判断所述网络请求是否针对异常的数据库。

优选地,所述lua脚本调用接口包括openresty接口。

依据本发明的另一个方面,提供了一种云盘服务器访问迁移设备,包括:

存储器,加载有多条可执行指令;

处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:

由监控服务判断接收到的网络请求是否针对异常的数据库;

如果所述网络请求是针对异常的数据库,则将所述网络请求切换给备用业务集群的第二进程进行处理;

如果所述网络请求是针对正常的数据库,则将所述网络请求发送给本地的第二进程进行处理。

根据本发明的云盘服务器访问迁移方案,可以在整个云盘服务器集群中的每台云盘服务器中,设置一个监控服务,通过监控服务对接收到的网络请求进行判断,以判断所接收到的网络请求是否针对异常的数据库,如果是,则将该网络请求切换至备用业务集群的第二进程进行处理;否则,将网络请求在本地的第二进程进行处理。由此解决了在先技术中,在云平台上只部署一组云盘服务器集群对应的数据库中的某个数据库出现异常时,造成该云盘服务器集群中的云盘服务器不能继续为用户提供服务的问题,取得了在云盘服务器集群的数据库出现问题时,避免该云盘服务器集群卡死,便于在只部署一个云盘服务器集群的情况下,可以降低对云盘服务器的性能的影响,便于维护和扩展的有益效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的云盘服务器访问迁移方法的步骤流程图;

图2示出了根据本发明一个实施例的云盘服务器访问迁移方法的步骤流程图;

图3示出了根据本发明一个实施例的云盘服务器访问迁移装置的结构框图;

图3A示出了基于图3的云盘服务器访问迁移系统示例;

图4示出了根据本发明一个实施例的云盘服务器访问迁移装置的结构框图;以及

图5示出了根据本发明一个实施例的云盘服务器访问迁移设备的结构框 图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

参照图1,示出了根据本发明一个实施例的一种云盘服务器访问迁移方法的步骤流程图,具体可以包括如下步骤:

步骤S110:由监控服务判断接收到的网络请求是否针对异常的数据库;如果所述网络请求是针对异常的数据库,则执行步骤S120;否则执行步骤S130。

本发明实施例可以应用于在云平台上部署一组云盘服务器集群,且该云盘服务器集群对应多个数据库的情况下,将对应于该云盘服务器集群中的异常数据库的网络请求进行迁移。当然,如果部署多组云盘服务器集群,本发明实施例也可以使用,本发明实施例不对其加以限制。

在实际应用中,云盘服务器集群可以对应有多个域名,每个域名都对应于一个数据库,用户访问该云盘服务器集群的域名时,通过对用户的网络请求进行解析,然后可以在所对应的数据库中执行相应的数据操作。例如,一组云盘服务器集群S有3个域名A、B、C,其所对应的数据库分别为DB-1、DB-2、DB-3。在先技术中,当用户使用客户端访问该云盘服务器集群中的域名A在云盘上传数据时,则该云盘服务器集群的PHP进程接收客户端发送的网络请求,并依据相应的程序对该网络请求进行解析,并在域名A对应的数据库DB-1中添加相应的数据。该PHP进程执行对文件的打开/关闭、上传/下载等业务逻辑。

在本发明实施例中,对于云盘服务器集群中的每条云盘服务器,为该云盘服务器设置一个监控服务,该监控服务接收用户发送的网络请求,然后进 入步骤S120。

在本发明实施例中还可以设置相应的数据库监测进程,以对数据库是否异常进行监测,常用的监测方法可以包括如下步骤:

步骤S1:利用活动会话历史接口从数据库中获取运行状态信息;

步骤S2:将预定时间段内的运行状态信息与该数据库的历史运行状态信息进行比较,以确定数据库的运行状态趋势;

步骤S3:依据数据库的运行状态趋势评估数据库是否存在异常;数据库的运行状态趋势可以包括:根据核心子指标进行评估的运行状态趋势;根据综合性能指标进行评估的运行状态趋势等等。

可以理解地,上述监测方法是为了能够更好地理解本发明的技术方案而列举的一种案例,不能以此作为对本发明的一种限制。

通过对数据库是否异常进行监测,当检测到云盘服务器集群对应的数据库中存在异常数据库时,可以对异常数据库进行标记和记录,进而在接收到对应于用户发送的网络请求之后,可以依据云平台提供的监控服务对该网络请求进行判断,以确定该网络请求是否为针对异常的数据库。如果该网络请求针对的是异常的数据库,则进入步骤S120;如果该网络请求针对的是正常的数据,则进入步骤S130。

在本发明实施例中,数据库的异常包括:数据库崩溃等无法提供服务的异常;数据库在指定时间段内收到的连接数量大于阈值,也可以理解为云盘服务器收到连接攻击,而该连接攻击针对上述数据库。

在实际应用中,监控服务接收到客户端发送的网络请求后,会从网络请求中解析该网络请求对应的域名,然后根据域名确定其对应的数据库,然后判断该数据库是否异常。如果异常则进入步骤S120;如果正常,则进入步骤S130。

优选的,所述监控服务包括nginx多进程模型服务。

监控服务可以包括nginx多进程模型服务,nginx是一种轻量级的代理云盘服务器,其所占有内存比较少,并发能力较强,进而可以减少对系统内存的占用的同时,能够同时加载较多的对应于网络请求的业务。Nginx启动 后以后台进程的方式在后台运行,后台进程包含一个master进程和多个worker进程。当接收到客户端的连接后,master进程选择已有的worker进程接收该连接,并通过该连接接收该客户端的网络请求;如果没有现存的worker,master进程则创建一个worker进程接收该连接,并通过该连接接收该客户端的网络请求

在本发明实施例中,Nginx多进程模型服务并不执行对应于网络请求的具体业务处理,而是作为一种网络请求的转发者,nginx多进程模型服务接收由客户端发送的网络请求,然后对该网络请求进行是否针对异常的数据库的判断,根据判断结果将决定将该网络请求转发至备用业务集群的第二进程,还是转发至本集群的第二进程进行处理。该第二进程执行具体的业务逻辑。

在nginx多进程模型服务中可以预先设置云盘服务器集群的多个域名与云盘服务器集群对应的数据库的对应关系,从而可以根据网络请求判断该网络请求对应哪个数据库。

在本发明实施例中,可以为监控服务配置本地第二进程的IP地址和备用业务集群的IP地址。如果判断接收到的网络请求是针对异常的数据库,则根据配置的备用业务集群的IP地址,将该网络请求转发给备用业务集群。如果判断接收到的网络请求是针对异常的数据库,则根据配置的备用业务集群的IP地址,将该网络请求转发本地的第二进程。

步骤S120:将所述网络请求切换给备用业务集群的第二进程进行处理。

在本发明实施例中,在部署直接面对客户端的云盘服务器集群之后,相应还配置了一个备用业务集群。

在云盘服务器集群中的每台云盘服务器中,按先后顺序部署了用于判断接收到的网络请求是否针对异常的数据库的监控服务和用于处理具体业务逻辑的第二进程。该业务逻辑比如打开/关闭文件、上传/下载数据、新建/删除文件等业务操作逻辑。

在备用业务集群中的每台云盘服务器中,只配置了前述的第二进程。备用业务集群与相应云盘服务器集群都配置了相同的数据库。

在本发明实施例中,可以创建与云盘服务器集群对应的备用业务集群,该备用业务集群也有其所对应的数据库,云盘服务器集群的云盘服务器,由其监控服务接收到网络请求后,判断该网络请求针对的数据库发生异常时,则将该网络请求转发给云盘服务器集群对应的备用业务集群的某台云盘服务器,由该云盘服务器的第二进程进行处理,那么该异常的数据库对本发明的云盘服务器集群的进程就不会产生卡死现象,因为异常的数据库的网络请求不由该云盘服务器集群处理。

优选地,所述第二进程包括PHP进程。

本发明实施例中,备用业务集群的各台云盘服务器中设置的第二进程可以包括PHP(Hypertext Preprocessor,超文本预处理语言)进程,PHP是免费且开源的代码,使用PHP可以达到程序开发速度比较快、运行速度快等优点,因而,在本发明实施例中使用PHP进程作为备用业务集群的第二进程可以在节省研发费用的同时,提高研发速度。但是PHP进程并发数量少,如果数据库出现异常,则很容易出现PHP进程占满,从而使整个集群的PHP进程占满,导致集群卡死的问题。

本发明实施例中可以采用PHP多进程的处理方式执行对应于网络请求业务处理,可以达到同时执行较多的网络请求,提高了网络请求对应的业务处理的效率。PHP多进程可以包括一个PHP主进程和较多个PHP子进程,由PHP主进程用于接收nginx多进程模型服务转发的网络请求,并将这些网络请求分别发送至各个PHP子进程中以执行具体的业务处理。

优选地,所述步骤S120可以包括:

子步骤S1202:在nginx多进程模型服务接收到一网络请求后,通过lua脚本调用接口调用lua脚本;

子步骤S1204:通过所述lua脚本判断所述网络请求是否针对异常的数据库。

本发明实施例中,lua是一种轻量、可扩展的脚本语言,可以嵌入应用程序中,能够为应用程序提供灵活的扩展和定制功能,并且lua语言体积较小、启动速度比较快,因而,使用lua语言可以加快系统的运行速度。

在本发明实施例中,可以将lua脚本语言嵌入到nginx多进程模型服务中,在nginx多进程模型服务接收到一个网络请求之后,可以通过lua脚本调用接口调用lua脚本,lua脚本可以用于对网络请求是否针对异常的数据库进行判断。

相应的,lua脚本调用接口可以包括openresty接口,openresty是一种全功能的web应用云盘服务器,它打包了标准的Nginx核心,很多的常用的第三方模块,以及它们的大多数依赖项,本发明则在nginx多进程模型服务中添加openresty接口,则nginx多进程模型服务在对网络请求的解析的过程中调用该openresty接口,从而可以调用lua脚本,实现判断网络请求是否针对异常的数据库的过程。通过该种方式降低了程序设计的复杂度。

步骤S130:将所述网络请求发送给本地的第二进程进行处理。

在接收到的网络请求是针对正常的数据库时,则监控服务将该网络请求转发至本地的第二进程进行处理,比如按照本地的IP地址如127.0.0.1,监控服务以该IP地址转发网络请求给该IP地址,从而本地的第二进程可以接收到该网络请求,然后根据该网络请求执行具体的业务逻辑,比如在相应的数据库中进行数据的添加、删除等操作。

本发明实施例通过监控服务对接收到的对应于部署的一组云盘服务器集群的网络请求进行判断,以判断所接收到的网络请求是否针对异常的数据库,如果是,则将该网络请求切换至备用业务集群的第二进程进行处理;否则,将网络请求在本地的第二进程进行处理。进而可以在保证该组云盘服务器集群为用户提供正常服务的同时,取得了在云盘服务器集群的数据库出现问题时,避免该云盘服务器集群卡死,便于在只部署一个云盘服务器集群的情况下,可以降低对云盘服务器的性能的影响,便于维护和扩展的有益效果。

实施例二

参照图2,示出了根据本发明一个实施例的一种云盘服务器访问迁移方法的步骤流程图,具体可以包括如下步骤:

步骤S210:监控各个数据库是否出现异常。

本发明实施例中,可以设置相应的监控进程等等方式,对云盘服务器集群对应的各数据库进行监测,以监测各数据库是否出现异常。相应的,对于常用的数据库异常监测的方法已经在实施例一中进行了详细的描述,在此不再加以赘述。

优选地,所述步骤S210可以包括:

子步骤S2102:监控各个数据库是否出现故障;和/或监控各个数据库的访问流量是否异常。

本发明实施例中,数据库异常可以包括:数据库故障;数据库故障可以包括:事务内部的故障、系统故障、介质故障、以及计算机病毒等等。在监控到某个数据库出现上述故障中的一种或者多种时,则可以确定该数据库出现了故障,也即该数据库出现异常。

数据库异常还可以包括:数据库的访问流量发生异常,例如,数据库的访问流量超出数据库容量,在监控到某个数据库出现数据库访问流量发生异常时,比如访问该数据库的网络请求每秒的数量大于阈值,则可以确定该数据库出现了异常。

在监控到某个数据库出现故障,或数据库的访问流量异常时,则可以确定该数据库出现异常。

步骤S220:如果所述数据库出现异常,则根据所述数据库生成配置文件。

本发明实施例中,在监控到云盘服务器集群对应的数据库中某个数据库出现异常时,可以依据异常数据库生成对应于异常数据库的配置文件。对应于不同的异常数据库,可以生成相应的不同的配置文件。当然,也可以针对各异常的数据库生成一个配置文件。该配置文件用于指示哪个数据库异常,比如包括数据库名和对应的域名。

在本发明实施例中,可以先设置一个配置服务,将所述配置文件加载到配置服务中。

优选地,所述步骤S220可以包括:

子步骤S2202:获取所述数据库对应的域名,并根据所述域名生成配置 文件。

本发明实施例中,可以通过获取异常数据库对应的域名以根据该域名生成对应于各异常数据库的配置文件,进而,在获取到该数据库的配置文件时,则可以确定该数据库是否出现异常。

可以理解地,本发明实施例中还可以通过获取异常数据库的IP地址、数据库名、服务名等,并根据其中的一种或者多种生成对应于异常数据库的配置文件。在实际应用中,本领域技术人员可以根据实际需要自行选择异常数据库的上述特征以作为生成对应于异常数据库的配置文件的标识,本发明实施例对此不加以限制。

步骤S230:将所述配置文件加载至配置服务中,以更新所述配置服务的值。

本发明实施例中,在云平台下可以包括有云盘服务器集群对应的数据库的配置服务,该配置服务中可以预先设定对应于各个数据库是否异常的值,另外的,正常数据库在配置服务中的值可以默认为空值,则,对于异常云盘服务器而言,可以在配置服务中设定异常数据库的值为1。

在实际应用中,本领域技术人员可以根据实际需要在配置服务中自行设置正常数据库和异常数据库的值,本发明实施例对此不加以限制。

步骤S240:在由监控服务接收到网络请求后,读取配置服务的值。

本发明实施例中,在监控服务接收到用户发送的网络请求之后,可以根据该网络请求针对的数据库,从云盘服务器集群的配置服务中读取对应于该数据库的值。

步骤S250:根据所述配置服务的值,判断所述网络请求是否针对异常的数据库;如果所述网络请求是针对异常的数据库,则执行步骤S260;否则,执行步骤S270。

在读取到对应于网络请求的数据库在配置服务中的值后,可以根据该数据库在配置服务的值,以判断该网络请求是否针对异常的数据库。例如,当读取的对应于网络请求的数据库的配置服务的值为空值时,则可以确定该网络请求对应的数据库为正常数据库,在读取的对应于网络请求的数据库的配 置服务的值为非空值时,则可以确定该网络请求对应的数据库为异常数据库。

当网络请求是针对异常的数据库时,则执行步骤S260;否则,执行步骤S270。

优选地,所述步骤S250可以包括:

子步骤S2502:判断对应网络请求的域名与所述配置服务的值是否匹配;如果对应网络请求的域名与所述配置服务的值匹配,则执行子步骤S2504;否则执行子步骤S2506。

本发明实施例中,由于在配置服务的值是对应于数据库域名的,因而在读取到配置服务的值之后,可以将该网络请求的域名与配置服务的值对应的数据库的域名进行比较,以判断该网络请求的域名与配置服务的值是否匹配,如果匹配,则执行子步骤S2504;否则,执行子步骤S2506。

子步骤S2504:确定所述网络请求是针对异常的数据库。

子步骤S2506:则确定所述网络请求不是针对异常的数据库。

在网络请求的域名与配置服务的值匹配时,则可以确定该网络请求是针对异常的数据库,否则,该网络请求不是针对异常的数据库,即针对正常的数据库。

步骤S260:将所述网络请求切换给备用业务集群的第二进程进行处理。

本发明实施例中,当用户发送的网络请求是针对异常的数据库时,则将该网络请求发送至备用业务集群的第二进程进行处理,并在网络请求对应的数据库中执行相应的数据操作。

步骤S270:将所述网络请求发送给本地的第二进程进行处理。

本发明实施例中,当用户发送的网络请求是针对正常的数据库时,则将该网络请求发送至云盘服务器集群的第二进程进行处理,并在网络请求对应数据库中执行相应的数据操作。

本发明实施例通过监控到数据库出现异常时,生成对应于数据库的配置文件,并将该配置文件加载至配置服务中,并通过监控服务在接收到网络请求之后,根据配置云盘服务器的值,以判断该网络请求是否针对异常数据库, 如果是,则将该网络请求切换至备用业务集群的第二进程进行处理;否则,将网络请求在本地的第二进程进行处理。进而可以在保证该组云盘服务器集群为用户提供正常服务的同时,取得了节省了研发费用,降低了维护难度的有益效果。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例三

参照图3,示出了根据本发明一个实施例的一种云盘服务器访问迁移装置的结构框图,具体可以包括如下模块:

网络请求判断模块310,适于由监控服务判断接收到的网络请求是否针对异常的数据库;

网络请求切换模块320,适于在所述网络请求是针对异常的数据库时,将所述网络请求切换给备用业务集群的第二进程进行处理;

优选地,所述监控服务可以包括nginx多进程模型服务;所述第二进程包括PHP进程。

优选地,所述网络请求判断模块310,可以包括:

lua脚本调用子模块3102,适于在nginx多进程模型服务接收到一网络请求后,通过lua脚本调用接口调用lua脚本;

lua脚本判断网络请求子模块3104,适于通过所述lua脚本判断所述网络请求是否针对异常的数据库。

优选地,所述lua脚本调用接口包括openresty接口。

网络请求发送模块330,适于所述网络请求是针对正常的数据库时,将所述网络请求发送给本地的第二进程进行处理。

参照图3A,示出了基于图3的云盘服务器访问迁移系统的示例。其中云盘服务器集群S310中包括了调度服务器S311和各云盘服务器S312,调度服务器S311负载整个系统S310的负载均衡。每个云盘服务器S312包括上述网络请求判断模块310、网络请求切换模块320、网络请求发送模块330等模块。备用业务集群包括调度服务器S321和各云盘服务器S322,其中每个云盘服务器S322包括第二进程。

本发明实施例通过监控服务对接收到的对应于部署的一组云盘服务器集群的网络请求进行判断,以判断所接收到的网络请求是否针对异常的数据库,如果是,则将该网络请求切换至备用业务集群的第二进程进行处理;否则,将网络请求在本地的第二进程进行处理。进而可以在保证该组云盘服务器集群为用户提供正常服务的同时,取得了在云盘服务器集群的数据库出现问题时,避免该云盘服务器集群卡死,便于在只部署一个云盘服务器集群的情况下,可以降低对云盘服务器的性能的影响,便于维护和扩展的有益效果。

实施例四

参照图4,示出了根据本发明一个实施例的一种云盘服务器访问迁移装置的结构框图,具体可以包括如下模块:

网络请求判断模块410,适于由监控服务判断接收到的网络请求是否针对异常的数据库;

优选地,所述网络请求判断模块410,可以包括:

读取子模块4106,适于在由监控服务接收到网络请求后,读取配置服务的值;

网络请求判断子模块4108,适于根据所述配置服务的值,判断所述网络请求是否针对异常的数据库。

优选地,在所述读取子模块4106之前,还可以包括:

数据库监控子模块4100,适于监控各个数据库是否出现异常;

配置文件生成子模块4102,适于在所述数据库出现异常时,根据所述数据库生成配置文件;

更新子模块4104,适于将所述配置文件加载至配置服务中,以更新所述 配置服务的值。

优选地,所述数据库监控子模块4100,可以包括:

故障数据库监控子模块41002,适于监控各个数据库是否出现故障;和/或

各数据库访问流量监控子模块41004,适于监控各个数据库的访问流量是否异常。

优选地,所述配置文件生成子模块4102,可以包括:

对应域名的配置文件生成子模块41022,获取所述数据库对应的域名,并根据所述域名生成配置文件。

优选地,所述网络请求判断子模块4108,可以包括:

匹配判断子模块41082,适于判断对应网络请求的域名与所述配置服务的值是否匹配;

异常数据库确定子模块41084,适于在对应网络请求的域名与所述配置服务的值匹配时,确定所述网络请求是针对异常的数据库;

正常数据库确定子模块41086,适于在对应网络请求的域名与所述配置服务的值不匹配时,确定所述网络请求不是针对异常的数据库。

网络请求切换模块420,适于在所述网络请求是针对异常的数据库时,将所述网络请求切换给备用业务集群的第二进程进行处理;

网络请求发送模块430,适于所述网络请求是针对正常的数据库时,将所述网络请求发送给本地的第二进程进行处理。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

实施例五

参照图5,示出了根据本发明一个实施例的一种云盘服务器访问迁移设备500的结构框图,具体可以包括:

存储器510,加载有多条可执行指令;

处理器520,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:

由监控服务判断接收到的网络请求是否针对异常的数据库;

如果所述网络请求是针对异常的数据库,则将所述网络请求切换给备用业务集群的第二进程进行处理;

如果所述网络请求是针对正常的数据库,则将所述网络请求发送给本地的第二进程进行处理。

优选地,本发明实施例的多条可执行指令还可包括前述各个步骤的方法,本发明实施例不对其加以限定。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以 把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的云盘服务器访问迁移设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一 个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种云盘服务器访问迁移方法,包括:

由监控服务判断接收到的网络请求是否针对异常的数据库;

如果所述网络请求是针对异常的数据库,则将所述网络请求切换给备用业务集群的第二进程进行处理;

如果所述网络请求是针对正常的数据库,则将所述网络请求发送给本地的第二进程进行处理。

A2、如A1所述的方法,所述由监控服务判断接收到的网络请求是否针对异常的数据库的步骤,包括:

在由监控服务接收到网络请求后,读取配置服务的值;

根据所述配置服务的值,判断所述网络请求是否针对异常的数据库。

A3、如A2所述的方法,在所述由监控服务接收到网络请求后,读取配置服务的值的步骤之前,还包括:

监控各个数据库是否出现异常;

如果所述数据库出现异常,则根据所述数据库生成配置文件;

将所述配置文件加载至配置服务中,以更新所述配置服务的值。

A4、如A3所述的方法,所述监控各个数据库是否出现异常的步骤,包括:

监控各个数据库是否出现故障;

和/或监控各个数据库的访问流量是否异常。

A5、如A3所述的方法,所述根据所述数据库生成配置文件的步骤,包括:

获取所述数据库对应的域名,并根据所述域名生成配置文件。

A6、如A4所述的方法,所述根据所述配置服务的值,判断所述网络请求是否针对异常的数据库的步骤,包括:

判断对应网络请求的域名与所述配置服务的值是否匹配;

如果对应网络请求的域名与所述配置服务的值匹配,则确定所述网络请 求是针对异常的数据库;

如果对应网络请求的域名与所述配置服务的值不匹配,则确定所述网络请求不是针对异常的数据库。

A7、如A1所述的方法,所述监控服务包括nginx多进程模型服务;所述第二进程包括PHP进程。

A8、如A7所述的方法,所述由监控服务判断接收到的网络请求是否针对异常的数据库的步骤,包括:

在nginx多进程模型服务接收到一网络请求后,通过lua脚本调用接口调用lua脚本;

通过所述lua脚本判断所述网络请求是否针对异常的数据库。

A9、如A8所述的方法,所述lua脚本调用接口包括openresty接口。

本发明还公开了B10、一种云盘服务器访问迁移装置,包括:

网络请求判断模块,适于由监控服务判断接收到的网络请求是否针对异常的数据库;

网络请求切换模块,适于在所述网络请求是针对异常的数据库时,将所述网络请求切换给备用业务集群的第二进程进行处理;

网络请求发送模块,适于所述网络请求是针对正常的数据库时,将所述网络请求发送给本地的第二进程进行处理。

B11、如B10所述的装置,所述网络请求判断模块,包括:

读取子模块,适于在由监控服务接收到网络请求后,读取配置服务的值;

网络请求判断子模块,适于根据所述配置服务的值,判断所述网络请求是否针对异常的数据库。

B12、如B11所述的装置,在所述读取子模块之前,还包括:

数据库监控子模块,适于监控各个数据库是否出现异常;

配置文件生成子模块,适于在所述数据库出现异常时,根据所述数据库生成配置文件;

更新子模块,适于将所述配置文件加载至配置服务中,以更新所述配置服务的值。

B13、如B12所述的装置,所述数据库监控子模块,包括:

故障数据库监控子模块,适于监控各个数据库是否出现故障;和/或

各数据库访问流量监控子模块,适于监控各个数据库的访问流量是否异常。

B14、如B12所述的装置,所述配置文件生成子模块,包括:

对应域名的配置文件生成子模块,获取所述数据库对应的域名,并根据所述域名生成配置文件。

B15、如B13所述的装置,所述网络请求判断子模块,包括:

匹配判断子模块,适于判断对应网络请求的域名与所述配置服务的值是否匹配;

异常数据库确定子模块,适于在对应网络请求的域名与所述配置服务的值匹配时,确定所述网络请求是针对异常的数据库;

正常数据库确定子模块,适于在对应网络请求的域名与所述配置服务的值不匹配时,确定所述网络请求不是针对异常的数据库。

B16、如B10所述的装置,所述监控服务包括nginx多进程模型服务;所述第二进程包括PHP进程。

B17、如B16所述的装置,所述网络请求判断模块,包括:

lua脚本调用子模块,适于在nginx多进程模型服务接收到一网络请求后,通过lua脚本调用接口调用lua脚本;

lua脚本判断网络请求子模块,适于通过所述lua脚本判断所述网络请求是否针对异常的数据库。

B18、如B17所述的装置,所述lua脚本调用接口包括openresty接口。

本发明还公开了C19、一种云盘服务器访问迁移设备,包括:

存储器,加载有多条可执行指令;

处理器,执行所述多条可执行指令;所述多条指令包括执行以下步骤的方法:

由监控服务判断接收到的网络请求是否针对异常的数据库;

如果所述网络请求是针对异常的数据库,则将所述网络请求切换给备用 业务集群的第二进程进行处理;

如果所述网络请求是针对正常的数据库,则将所述网络请求发送给本地的第二进程进行处理。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1