基于API的热部署分布式容灾方法及其系统与流程

文档序号:12889913阅读:338来源:国知局
基于API的热部署分布式容灾方法及其系统与流程

本发明涉及服务器的技术领域,尤其是基于api的热部署分布式容灾方法及其系统。



背景技术:

服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,web服务器等。

为了保证服务器的服务质量,目前的服务器在内部程序有新版本时,需要进行程序更新,具体是对程序代码的更新,在更新完毕后,大多数程序都要求重启服务器才可以完全恢复程序的使用,在重启过程中,容易导致用户连接中断,若服务器出现宕机的现象,则用户无法连接到服务器,这样会导致业务受阻。

因此,有必要设计一种基于api的热部署分布式容灾方法,实现服务器的负载均衡,以此提高服务器响应速度,且在服务器更新程序或者异常宕机时,不会影响用户体验,且业务正常运转。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供基于api的热部署分布式容灾方法及其系统。

为实现上述目的,本发明采用以下技术方案:基于api的热部署分布式容灾方法,所述方法包括:

判断是否存在服务器出现中断连接现象;

若是,则由正常的服务器接管中断连接的服务器的用户请求;

若不是,则所有服务器正常处理用户请求。

其进一步技术方案为:判断是否存在服务器出现中断连接现象的步骤,包括以下具体步骤:

启动若干个服务器;

设置若干个服务器连接同一数据库;

判断若干个服务器内是否存在服务器需要更新程序代码;

若存在服务器需要更新程序代码,则存在服务器出现中断连接现象;

若不存在服务器需要更新程序代码,则判断若干个服务器内是否存在服务器故障;

若存在服务器故障,则存在服务器出现中断连接现象;

若不存在服务器故障,则不存在服务器出现中断连接现象。

其进一步技术方案为:设置若干个服务器连接同一数据库的步骤,所述数据库包括mysql数据库和redis缓存数据库。

其进一步技术方案为:由正常的服务器接管中断连接的服务器的用户请求的步骤,包括以下具体步骤:

获取用户请求;

调用与中断连接的服务器连接的正常服务器的api接口;

通过调用的api接口接收用户请求;

根据用户请求将数据备份于数据库内。

其进一步技术方案为:调用与中断连接的服务器连接的正常服务器的api接口的步骤,包括以下具体步骤:

分析所述用户请求,获取用户请求的类型;

根据用户请求的类型,筛选与中断连接的服务器连接的正常服务器api接口,调用配置信息与类型相匹配的正常服务器api接口。

其进一步技术方案为:若不是,则所有服务器正常处理用户请求的步骤,包括以下具体步骤:

启动若干个服务器的api接口;

获取用户请求;

获取若干个服务器的api接口的现有负载量;

选择现有负载量小的服务器,利用其api接口接收用户请求;

根据用户请求进行数据传输;

将api接口接收的数据存储于数据库内。

本发明还提供了基于api的热部署分布式容灾系统,包括判断单元、调用接管单元以及正常处理单元;

所述判断单元,用于判断是否存在服务器出现中断连接现象;

所述调用接管单元,用于若是,则由正常的服务器接管中断连接的服务器的用户请求;

所述正常处理单元,用于若不是,则所有服务器正常处理用户请求。

其进一步技术方案为:所述判断单元包括服务器启动模块、设置模块、更新判断模块以及故障判断模块;

所述服务器启动模块,用于启动若干个服务器;

所述设置模块,用于设置若干个服务器连接同一数据库;

所述更新判断模块,用于判断若干个服务器内是否存在服务器需要更新程序代码;若存在服务器需要更新程序代码,则存在服务器出现中断连接现象;

所述故障判断模块,用于若不存在服务器需要更新程序代码,则判断若干个服务器内是否存在服务器故障;若存在服务器故障,则存在服务器出现中断连接现象;若不存在服务器故障,则不存在服务器出现中断连接现象。

其进一步技术方案为:所述调用接管单元包括请求获取模块、接口调用模块、接收模块以及备份模块;

所述请求获取模块,用于获取用户请求;

所述接口调用模块,用于调用与中断连接的服务器连接的正常服务器的api接口;

所述接收模块,用于通过调用的api接口接收用户请求;

所述备份模块,用于根据用户请求将数据备份于数据库内。

其进一步技术方案为:所述接口调用模块包括类型获取子模块以及筛选子模块;

所述类型获取子模块,用于分析所述用户请求,获取用户请求的类型;

所述筛选子模块,用于根据用户请求的类型,筛选与中断连接的服务器连接的正常服务器api接口,调用配置信息与类型相匹配的正常服务器api接口。

本发明与现有技术相比的有益效果是:本发明的基于api的热部署分布式容灾方法,通过获取服务器的情况,判断是否出现中断连接现象,若是,则采用正常的服务器的api接口接管中断连接的服务器的api接口所接收的用户请求,若不是,则利用负载平衡方式,多个服务器的api接口正常接收用户请求,实现服务器的负载均衡,以此提高服务器响应速度,且在服务器更新程序或者异常宕机时,不会影响用户体验,且业务正常运转。

下面结合附图和具体实施例对本发明作进一步描述。

附图说明

图1是本实施例提供的基于api的热部署分布式容灾方法的流程图;

图2是本实施例提供的判断是否存在服务器出现中断连接现象的具体流程图;

图3是本实施例提供的由正常的服务器接管中断连接的服务器的用户请求的具体流程图;

图4是本实施例提供的调用与中断连接的服务器连接的正常服务器的api接口的具体流程图;

图5是本实施例提供的所有服务器正常处理用户请求的具体流程图;

图6是本实施例提供的基于api的热部署分布式容灾系统的结构框图;

图7是本实施例提供的判断单元的结构框图;

图8是本实施例提供的调用接管单元的结构框图;

图9是本实施例提供的接口调用模块的结构框图;

图10是本实施例提供的正常处理单元的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下结合具体实施例对本发明的实现进行详细的描述。

参照图1至10,为本发明提供的较佳实施例。

本实施例提供的基于api的热部署分布式容灾方法,可以运用在多个服务器接收请求,并根据不同的情况进行不同的处理,实现服务器的负载均衡,以此提高服务器响应速度,且在服务器更新程序或者异常宕机时,不会影响用户体验,且业务正常运转。

如图1所示,基于api的热部署分布式容灾方法,其特征在于,所述方法包括:

s1、判断是否存在服务器出现中断连接现象;

s2、若是,则由正常的服务器接管中断连接的服务器的用户请求;

s3、若不是,则所有服务器正常处理用户请求。

更进一步的,上述的s1步骤,是为了对服务器的情况进行实时监测,避免由于出现故障或者更新而中断连接所导致的请求遗漏。

更进一步的,上述的s1步骤,判断是否存在服务器出现中断连接现象的步骤,包括以下具体步骤:

s11、启动若干个服务器;

s12、设置若干个服务器连接同一数据库;

s13、判断若干个服务器内是否存在服务器需要更新程序代码;

若存在服务器需要更新程序代码,则s14、存在服务器出现中断连接现象;

s15、若不存在服务器需要更新程序代码,则判断若干个服务器内是否存在服务器故障;

若存在服务器故障,则s14、存在服务器出现中断连接现象;

s16、若不存在服务器故障,则不存在服务器出现中断连接现象。

对于上述的s11步骤,启动若干个服务器,是为了平衡整个服务系统的负载均衡,利用多个服务器进行处理分布式处理,从而提高服务器的响应速度。

对于上述的s12步骤,设置若干个服务器连接同一数据库的步骤,所述数据库包括mysql数据库和redis缓存数据库。此处是为了将数据进行共享,以便容灾情况或者程序更新情况出现时,可以通过其他服务器进行数据的备份,待服务器正常后,可经过同一数据库进行数据调取,从而做到不影响用户体验。

上述的s13步骤至s16步骤,是双重判断服务器是否中断连接,提高判断的准确程度。

更进一步的,上述的s2步骤,由正常的服务器接管中断连接的服务器的用户请求的步骤,包括以下具体步骤:

s21、获取用户请求;

s22、调用与中断连接的服务器连接的正常服务器的api接口;

s23、通过调用的api接口接收用户请求;

s24、根据用户请求将数据备份于数据库内。

上述的s21步骤,用户请求通过http协议进行发送。

更进一步的,上述的s22步骤,调用与中断连接的服务器连接的正常服务器的api接口的步骤,包括以下具体步骤:

s221、分析所述用户请求,获取用户请求的类型;

s222、根据用户请求的类型,筛选与中断连接的服务器连接的正常服务器api接口,调用配置信息与类型相匹配的正常服务器api接口。

api就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的api而使操作系统去执行应用程序的命令(动作),利用api接收查询请求,可以根据不同的需求进行不同的调用,灵活度高。

上述的s221步骤,识别请求的类型,主要是为了先从大类别入手,根据大类别内的关键词入手,细化请求的准确内容,提高查询的准确度,减少数据库的负载。

每个api接口都会设定一些预定函数,目的是为了使得根据查询请求查询数据库是,无需访问源码,或理解内部工作机制的细节,也就是与sql语言不同,不依赖于数据库,从而提供效率,不同的配置信息用于实现不同的查询目的。上述的信息包括:各查询功能的xml配置文件;和配置有所述各查询功能的xml配置文件的信息的xml注册配置文件。其中,各查询功能的xml配置文件中定义有用于进行数据查询的内容,包括输入规格、输出规格、查询条件、查询的数据表等,当然,还可以包含其它内容,例如排序方式。

上述的s222步骤,选择配置信息与请求类型一致的正常服务器api接口,有利于提高服务器的响应速度。

于其他实施例,上述的s22步骤中,上述的正常服务器api接口的现有负载量是满足条件的正常服务器api接口的现有负载量最少的一个。

上述的s23步骤以及s24步骤,主要是做逻辑处理以及数据的备份,以便于后续其他服务器的调用,逻辑处理是为了获取请求中的关键词语,以便于得知请求的所需内容,由于请求的不同,因此从获取关键词来断定请求的内容,有利于后续查询过程中减少因为请求断定不准确而导致查询失败的现象发生。

更进一步的,上述的s3步骤,若不是,则所有服务器正常处理用户请求的步骤,包括以下具体步骤:

s31、启动若干个服务器的api接口;

s32、获取用户请求;

s33、获取若干个服务器的api接口的现有负载量;

s34、选择现有负载量小的服务器,利用其api接口接收用户请求;

s35、根据用户请求进行数据传输;

s36、将api接口接收的数据存储于数据库内。

上述的s31步骤至s36步骤,是为了服务器的负载均衡。

上述的s33步骤至s34步骤,主要是为了均衡各个服务器的负载,从而提高服务器的响应速度。

上述的基于api的热部署分布式容灾方法,通过获取服务器的情况,判断是否出现中断连接现象,若是,则采用正常的服务器的api接口接管中断连接的服务器的api接口所接收的用户请求,若不是,则利用负载平衡方式,多个服务器的api接口正常接收用户请求,实现服务器的负载均衡,以此提高服务器响应速度,且在服务器更新程序或者异常宕机时,不会影响用户体验,且业务正常运转。

如图6所示,本实施例还提供了基于api的热部署分布式容灾系统,其包括判断单元1、调用接管单元2以及正常处理单元3。

判断单元1,用于判断是否存在服务器出现中断连接现象。

调用接管单元2,用于若是,则由正常的服务器接管中断连接的服务器的用户请求。

正常处理单元3,用于若不是,则所有服务器正常处理用户请求。

上述的判断单元1是为了对服务器的情况进行实时监测,避免由于出现故障或者更新而中断连接所导致的请求遗漏。

更进一步的,上述的判断单元1包括服务器启动模块11、设置模块12、更新判断模块13以及故障判断模块14。

服务器启动模块11,用于启动若干个服务器。

设置模块12,用于设置若干个服务器连接同一数据库。

更新判断模块13,用于判断若干个服务器内是否存在服务器需要更新程序代码;若存在服务器需要更新程序代码,则存在服务器出现中断连接现象。

故障判断模块14,用于若不存在服务器需要更新程序代码,则判断若干个服务器内是否存在服务器故障;若存在服务器故障,则存在服务器出现中断连接现象;若不存在服务器故障,则不存在服务器出现中断连接现象。

上述的服务器启动模块11启动若干个服务器,是为了平衡整个服务系统的负载均衡,利用多个服务器进行处理分布式处理,从而提高服务器的响应速度。

上述的设置模块12设置若干个服务器连接同一数据库,所述数据库包括mysql数据库和redis缓存数据库。此处是为了将数据进行共享,以便容灾情况或者程序更新情况出现时,可以通过其他服务器进行数据的备份,待服务器正常后,可经过同一数据库进行数据调取,从而做到不影响用户体验。

上述的更新判断模块13以及故障判断模块14属于双重判断服务器是否中断连接,提高判断的准确程度。

更进一步的,上述的调用接管单元2包括请求获取模块21、接口调用模块22、接收模块23以及备份模块24。

请求获取模块21,用于获取用户请求。

接口调用模块22,用于调用与中断连接的服务器连接的正常服务器的api接口。

接收模块23,用于通过调用的api接口接收用户请求。

备份模块24,用于根据用户请求将数据备份于数据库内。

上述的请求获取模块21中,用户请求通过http协议进行发送

另外,上述的接口调用模块22包括类型获取子模块221以及筛选子模块222。

类型获取子模块221,用于分析所述用户请求,获取用户请求的类型。

筛选子模块222,用于根据用户请求的类型,筛选与中断连接的服务器连接的正常服务器api接口,调用配置信息与类型相匹配的正常服务器api接口。

api就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的api而使操作系统去执行应用程序的命令(动作),利用api接收查询请求,可以根据不同的需求进行不同的调用,灵活度高。

类型获取子模块221识别请求的类型,主要是为了先从大类别入手,根据大类别内的关键词入手,细化请求的准确内容,提高查询的准确度,减少数据库的负载。

每个api接口都会设定一些预定函数,目的是为了使得根据查询请求查询数据库是,无需访问源码,或理解内部工作机制的细节,也就是与sql语言不同,不依赖于数据库,从而提供效率,不同的配置信息用于实现不同的查询目的。上述的信息包括:各查询功能的xml配置文件;和配置有所述各查询功能的xml配置文件的信息的xml注册配置文件。其中,各查询功能的xml配置文件中定义有用于进行数据查询的内容,包括输入规格、输出规格、查询条件、查询的数据表等,当然,还可以包含其它内容,例如排序方式。

筛选子模块222选择配置信息与请求类型一致的正常服务器api接口,有利于提高服务器的响应速度。

于其他实施例,上述的正常服务器api接口的现有负载量是满足条件的正常服务器api接口的现有负载量最少的一个。

上述的接收模块以及备份模块主要是做逻辑处理以及数据的备份,以便于后续其他服务器的调用,逻辑处理是为了获取请求中的关键词语,以便于得知请求的所需内容,由于请求的不同,因此从获取关键词来断定请求的内容,有利于后续查询过程中减少因为请求断定不准确而导致查询失败的现象发生。

更进一步的,上述的正常处理单元3包括接口启动模块31、获取模块32、负载量获取模块33、选择模块34、传输模块35以及存储模块36。

上述的接口启动模块31,用于启动若干个服务器的api接口。

上述的获取模块32,用于获取用户请求。

上述的负载量获取模块33,用于获取若干个服务器的api接口的现有负载量。

上述的选择模块34,用于选择现有负载量小的服务器,利用其api接口接收用户请求。

上述的传输模块35,用于根据用户请求进行数据传输。

上述的存储模块36,用于将api接口接收的数据存储于数据库内。

上述的正常处理单元3是为了服务器的负载均衡。

上述的负载量获取模块33以及选择模块34,主要是为了均衡各个服务器的负载,从而提高服务器的响应速度。

上述的基于api的热部署分布式容灾系统,通过获取服务器的情况,判断是否出现中断连接现象,若是,则采用正常的服务器的api接口接管中断连接的服务器的api接口所接收的用户请求,若不是,则利用负载平衡方式,多个服务器的api接口正常接收用户请求,实现服务器的负载均衡,以此提高服务器响应速度,且在服务器更新程序或者异常宕机时,不会影响用户体验,且业务正常运转。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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