CN108881066B - 一种路由请求的方法、接入服务器以及存储设备 - Google Patents
一种路由请求的方法、接入服务器以及存储设备 Download PDFInfo
- Publication number
- CN108881066B CN108881066B CN201710325988.2A CN201710325988A CN108881066B CN 108881066 B CN108881066 B CN 108881066B CN 201710325988 A CN201710325988 A CN 201710325988A CN 108881066 B CN108881066 B CN 108881066B
- Authority
- CN
- China
- Prior art keywords
- target
- information
- server
- configuration information
- database
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
Abstract
本发明实施例公开了一种路由请求的方法,用于接入服务器从数据库中获取目标请求对应的目标逻辑服务器信息,将目标请求转发至该目标逻辑服务器进行处理,不需要重新启动接入服务器,降低路由请求的时延。本发明实施例方法包括:接入服务器获取目标请求,所述目标请求包括目标动作和目标业务信息;所述接入服务器根据所述目标动作确定匹配的位置规则;所述接入服务器根据所述目标业务信息,调用所述位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器信息;所述接入服务器根据所述目标逻辑服务器信息,将所述目标请求转发至所述目标逻辑服务器进行处理。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种路由请求的方法、接入服务器以及存储设备。
背景技术
nginx配置方案,可以通过正则匹配的统一资源定位器(Uniform ResoureLocator,URL)的方式,将http请求路由到不同的公共网关接口(Common GatewayInterface,CGI)中。而正则匹配的模糊匹配功能,可以实现根据参数判断路由方向的功能。
例如,后台接口指定了URL地址为:/request/(\d)/。其中的正则表达式(\d)预期是匹配到各个请求的业务ID。在该设计下,后端有多少个需要转发的CGI则需要对应配置多少个location规则对应,各个请求属于同一个nginx CGI使用同一个location正则匹配。
上述方案变更需要通过修改配置文件并重新载入配置文件后方可生效。同时,配置的修改需要人工维护配置文件,当系统在长时间运行后,配置文件的维护成本将会越来越高。而在修改配置文件后重新载入配置文件前,用户的请求还是会被路由到已有配置中,生效存在延时不可实时生效。
发明内容
本发明实施例提供了一种路由请求的方法、接入服务器以及存储设备,用于接入服务器从数据库中获取目标请求对应的目标逻辑服务器信息,将目标请求转发至该目标逻辑服务器进行处理,不需要重新启动接入服务器,降低路由请求的时延。
有鉴于此,本发明实施例第一方面提供一种路由请求的方法,可以包括:
接入服务器获取目标请求,该目标请求包括目标动作和目标业务信息;
该接入服务器根据该目标动作确定匹配的位置规则;
该接入服务器根据该目标业务信息,调用该位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器信息;
该接入服务器根据该目标逻辑服务器信息,将该目标请求转发至该目标逻辑服务器进行处理。
本发明实施例第二方面提供一种路由请求的方法,可以包括:
存储设备获取接入服务器发送的查询指令;
该存储设备根据该查询指令和数据库保存的配置信息,确定对应的目标逻辑服务器信息;
该存储设备将该目标逻辑服务器信息发送至该接入服务器。
本发明实施例第三方面提供一种接入服务器,可以包括:
第一获取模块,用于获取目标请求,该目标请求包括目标动作和目标业务信息;
确定模块,用于根据该目标动作确定匹配的位置规则;
第二获取模块,用于根据该目标业务信息,调用该位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器信息;
发送模块,用于根据该目标逻辑服务器信息,将该目标请求转发至该目标逻辑服务器进行处理。
本发明实施例第四方面提供一种存储设备,可以包括:
获取模块,用于获取接入服务器发送的查询请求,该查询请求包括目标业务信息;
确定模块,用于根据该目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息;
发送模块,用于将该目标逻辑服务器信息发送至该接入服务器。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,接入服务器获取目标请求,该目标请求包括目标动作和目标业务信息;该接入服务器根据该目标动作确定匹配的位置规则;该接入服务器根据该目标业务信息,调用该位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器信息;该接入服务器根据该目标逻辑服务器信息,将该目标请求转发至该目标逻辑服务器进行处理。接入服务器获取目标请求,可以从数据库中获取目标请求对应的目标逻辑服务器信息,将目标请求转发至该目标逻辑服务器进行处理,不需要重新启动接入服务器,从而降低路由请求的时延。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例和技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,还可以根据这些附图获得其它的附图。
图1为本发明实施例所应用的一个系统架构图;
图2为本发明实施例中路由请求的方法的一个实施例示意图;
图3为本发明实施例中接入服务器的一个实施例示意图;
图4为本发明实施例中存储设备的一个实施例示意图;
图5为本发明实施例中存储设备的另一个实施例示意图;
图6为本发明实施例中接入服务器的另一个实施例示意图;
图7为本发明实施例中存储设备的另一个实施例示意图。
具体实施方式
本发明实施例提供了一种路由请求的方法以及接入服务器,用于接入服务器从数据库中获取目标请求对应的目标逻辑服务器信息,将目标请求转发至该目标逻辑服务器进行处理,不需要重新启动接入服务器,从而降低路由请求的时延。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,都应当属于本发明保护的范围。
下面先对本发明中所出现的缩略语和关键术语做一个简单的说明,如下所示:
云石:互动娱乐运营部发行线运维中心研发的游戏版本统一管理平台。
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。
Nginx("engine x")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
在服务器端,应用程序状态和功能可以分为各种资源。资源是一个有趣的概念实体,它向客户端公开。资源的例子有:应用程序对象、数据库记录、算法等等。每个资源都使用统一资源标识符(Universal Resource Identifier,URI)得到一个唯一的地址。所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的HTTP方法,比如GET、PUT、POST和DELETE。Hypermedia是应用程序状态的引擎,资源表示通过超链接互联。
nginx配置方案,可以通过正则匹配的统一资源定位器(Uniform ResoureLocator,URL)的方式,将http请求路由到不同的公共网关接口(Common GatewayInterface,CGI)中进行处理。而正则匹配的模糊匹配功能,可以实现根据参数判断路由方向的功能。
例如,后台接口指定了URL地址为:/request/(\d)/。其中的正则表达式(\d)预期是匹配到各个请求的业务ID。在该设计下,后端有多少个需要转发的CGI则需要对应配置多少个location规则对应,同一个CGI共用一个location正则匹配。
假设1和3号业务使用同一个CGI,2号业务单独使用一个CGI,配置文件节选如下:
但是,上述示例中CGI的变更需要通过修改配置文件并重新载入配置文件后方可生效。同时,配置的修改需要人工维护配置文件,当系统在长时间运行后,配置文件的维护成本将会越来越高。而在修改配置文件后重新载入配置文件前,客户端的请求还是会被路由到已有配置对应的逻辑服务器上,修改的配置生效存在延时,不可实时生效。一个业务对应的有一个location,多个业务就会对应的有多个location。如果多个CGI发生变更,那么,就需要修改多个对应的配置文件并重新载入修改的配置文件后才会生效,则这多个修改的配置文件重新载入就造成了很大的时延。
本发明针对上述问题,提出结合nginx lua模块的功能,将动态的路由配置写入到数据库当中,每次用户的访问将会实时查询数据库最新的路由配置信息,即可以在数据库中直接修改路由配置文件,所以在数据库中保存的路由配置文件都是最新的,而每次接收的访问请求可以直接在数据库中查找对应的最新路由配置文件,再根据对应的最新路由配置文件将访问请求转发到对应的逻辑服务器进行处理。从而,不需要对修改过的配置文件重新载入,而是直接在数据库中查找对应的路由配置文件,节约了时间。利用数据库的配置方式,解决配置难以维护的问题;利用lua模块的查询逻辑,实现路由信息的实时生效。如图1所示,为本发明实施例所应用的一个系统架构图,用户的所有请求都统一有nginx进行路由到各个后台CGI中。在nginx路由的过程中,将会有查询配置数据库的动作,nginx将会根据数据库的查询结构来判断路由结果。而管理员对数据库中配置的修改是独立于nginx的,可以单独通过另外的应用程序编程接口(Application Programming Interface,API)来操作数据库配置。
应理解,nginx相当于本文中所提及的接入服务器,CGI相当与本文中所提及的逻辑服务器。
下面以实施例的方式对本发明技术方案做进一步的说明,如图2所示,为本发明实施例中路由请求的方法的一个实施例示意图,包括:
201、接入服务器获取目标请求,目标请求包括目标动作和目标业务信息;
在本发明实施例中,接入服务器可以从客户端、用户设备那获取目标请求,该目标请求包括目标动作和目标业务信息。也可以这样理解,该目标请求包括URL信息,URL信息包括目标动作和目标业务信息。
具体的,该目标请求通常为http请求,目标业务信息可以为目标业务识别ID。目标动作可以是查询文件列表、制作客户端等其他动作。
202、接入服务器根据目标动作确定匹配的位置规则;
在本发明实施例中,接入服务器获取目标请求之后,接入服务器再根据目标动作确定匹配的位置规则。需要说明的是,不同的动作,匹配的是不同的位置location规则,若接入服务器获取多个目标请求,这多个目标请求包括的是同一动作,那么,匹配的就是相同的location规则。应理解,这里确定匹配的位置规则,就相当于知道了怎么查询数据库。
203、接入服务器将查询请求发送至存储设备,该查询请求包括目标业务信息;
在本发明实施例中,步骤203可以包括步骤a和步骤b,如下所示:
a、接入服务器向存储设备发送查询请求,该查询请求包括目标业务信息;
b、存储设备接收查询请求,查询请求包括目标业务信息;
其中,目标业务信息可以包括目标业务识别ID。
204、存储设备根据目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息;
在本发明实施例中,目标业务信息包括目标业务ID,存储设备根据目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息,可以包括:存储设备根据目标业务ID,从数据库中保存的业务ID和逻辑服务器的IP地址、端口的配置信息,确定目标逻辑服务器信息。
需要说明的是,存储设备中的配置信息是动态更新的,当逻辑服务器出现故障、断网、掉线或者其他问题,无法正常工作时,就需要在数据库中修改与该逻辑服务器相关的配置信息,可以将其修改为其他的备用逻辑服务器的配置信息。具体的,可以是:存储设备获取对数据库保存的配置信息的修改指令;存储设备根据修改指令,对数据库的配置信息进行修改,得到修改后的配置信息。
假设,存储设备的数据库中保存的业务信息与要转发的逻辑服务器的配置信息如表1所示:
表1
如下述表2所示,为本申请实施例中所提供的备份逻辑服务器的配置信息表。
备份逻辑服务器的IP地址 | 端口号 | 类型 |
10.185.19.38 | 86 | 服务版本机 |
10.185.18.38 | 90 | |
10.200.10.38 | 35 | 服务版本机 |
10.205.10.37 | 20 | 服务版本机 |
10.175.10.39 | 30 |
表2
示例性的,若接收的修改指令是对IP地址为10.185.19.37进行修改,可参考上述表2所示,可以修改为备用服务器的IP地址为10.185.19.38,端口号由80修改为86。
若该业务信息包括的业务ID为468,那么,存储设备确定对应的逻辑服务器信息可以参考上述表1,为逻辑服务器的IP地址为10.200.20.37,端口号是60,类型是服务版本机。
下面对数据库及nginx配置做一下说明,应理解,数据库中保存的信息包括但不限于业务ID和逻辑服务器的IP地址、端口的配置信息。
本发明的实际使用中,需要实现对不同的业务根据数据库的配置路由到不同的CGI中,因此,本发明根据实际需要,提出数据库需要记录但不限于以下的内容:业务ID、转发的IP和端口。
对应的nginx部分配置可以变更为:
其中,some.lua是实现数据库查询的lua脚本,会使用到此location设置的business_id变量。查询后,会根据结果设置backend变量,此变量描述了转发的规则。
示例性的,业务A原本需要将目标请求转发到1号逻辑服务器上,但是在某些情形下,1号逻辑服务器不可再提供服务,则可以在数据库中更新配置信息,将业务A的配置指向2号服务器,这样,业务A的所有请求将会被转发到2号服务器上。
205、存储设备将目标逻辑服务器信息发送至接入服务器;
在本发明实施例中,步骤205可以包括步骤c和步骤d,如下所示:
c、存储设备向接入服务器发送目标逻辑服务器信息;
d、接入服务器接收目标逻辑服务器信息。
在本发明实施例中,还可以这样描述,接入服务器根据目标业务信息,调用位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器;
具体的,目标业务信息包括目标业务标识ID,接入服务器根据目标业务信息,调用位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器,可以包括:接入服务器根据目标业务ID,调用位置规则中的lua脚本文件从数据库中获取目标逻辑服务器信息。
进一步的,接入服务器根据目标业务ID,调用位置规则中的lua脚本文件从数据库中获取目标逻辑服务器信息,还可以包括:接入服务器根据目标业务ID,调用位置规则中的lua脚本文件,从数据库中保存的业务ID和逻辑服务器的互联网协议IP地址、端口的配置信息,获取目标逻辑服务器信息。
需要说明的是,若接入服务器未获取目标逻辑服务器信息,则返回404指示信息,404指示信息表示的是资源不存在。
接上述的示例,存储设备可以将逻辑服务器信息为:逻辑服务器的IP地址为10.200.20.37,端口号是60,类型是服务版本机这些信息反馈给接入服务器,接入服务器根据这些信息,可以确定具体的是哪个逻辑服务器。
206、接入服务器将目标请求转发至目标逻辑服务器进行处理。
在本发明实施例中,接入服务器获取目标逻辑服务器信息之后,接入服务器将目标请求转发至目标逻辑服务器进行处理。示例性的,接入服务器根据IP地址为10.200.20.37,端口号是60,类型是服务版本机这些信息确定为逻辑服务器3,则接入服务器将该目标请求向逻辑服务器3转发。
在本发明实施例中,接入服务器获取目标请求,目标请求包括目标动作和目标业务信息;接入服务器根据目标动作确定匹配的位置规则;接入服务器根据目标业务信息,调用位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器信息;接入服务器根据目标逻辑服务器信息,将目标请求转发至目标逻辑服务器进行处理。接入服务器获取目标请求,可以从数据库中获取目标请求对应的目标逻辑服务器信息,将目标请求转发至该目标逻辑服务器进行处理,不需要重新启动接入服务器,从而降低路由请求的时延。
本发明在nginx基础上实现了根据超文本传输协议(Hyper Text TransferProtocol,HTTP)请求的参数或者统一资源定位器(Uniform Resoure Locator,URL),动态的将请求路由到不同的公共网关接口(Common Gateway Interface,CGI)进行响应。本发明实现是通过数据库配置的路由关系,可实时动态更新路由关系,不需要对http服务器(接入服务器)进行重启或重新载入配置,对用户完全无感知。
下面以实际应用场景对本发明技术方案做进一步的说明,如下所示:
本申请所应用的场景可以是访问实时变化的配置文件中,例如,制作一个客户端(也可以理解为一个任务的执行),上传文件或者获取一个文件等操作的场景中。
(1)本发明可以应用于腾讯内部的云石系统中,该系统要求判断各个请求所属业务,根据业务在数据库中的配置,将该请求路由到承载该业务的服务器上处理。该发明也可应用于其他需要进行逻辑判断后转发到相对应的逻辑服务器的处理,该系统属于后台服务接口。
接入服务器接收一个http请求,该请求的URL信息包括动作和业务信息,一般来说,业务信息指的是业务ID;接入服务器可以根据该动作匹配对应的loaction规则,这个loaction规则中包括lua脚本文件,那么,接入服务器就可以根据该业务ID,通过loaction规则中的lua脚本文件,在存储设备的数据库中查询对应的配置信息,该配置信息指示该目标请求将要转发的逻辑服务器信息,接入服务器就可以根据该逻辑服务器信息,确定要转发的具体是哪个逻辑服务器,并将该http请求转发至对应的逻辑服务器进行处理。
需要说明的是,在存储设备的数据库中保存的配置信息是可以根据实际需要进行更新的,而修改数据库中的配置信息是独立于接入服务器的,所以,接入服务器接收的目标请求,在数据库中进行查找对应的配置信息时,数据库中的信息都是最新信息。
例如,有某个请求需要获得业务ID为201的服务端文件列表,请求URI为/filelist/server/201。当该请求落入到接入服务器时,接入服务器可以知道从“filelist”知道该请求动作是获取文件列表,“server”是需要获取服务版本机上的文件列表,“201”是需要获取201业务的文件列表。
而filelist会命中到其中一个location,该location中配置的lua脚本,会用server和201两个参数去查询上述表1。查询结果将会得到一个IP和对应的端口号,分别为10.185.18.37和80。最后接入服务器就会将查询到的IP和端口号作为转发的目标配置,将请求转发到IP地址为10.185.18.37,端口号为80的逻辑服务器上进行处理。
若接入服务器收到该请求之前,IP地址为10.185.18.37,端口号为80的逻辑服务器出现故障了,不能正常工作,存储设备将业务ID为201的配置信息在数据库中进行了修改,可以修改为上述表2中所示的任一一个备份逻辑服务器的配置信息,示例性的,这里将业务ID为201的配置信息修改为:IP地址是10.185.18.38,端口号为90。
那么,接入服务器这时候接收到目标请求URI为/filelist/server/201,同样的,接入服务器可以知道从“filelist”知道该请求动作是获取文件列表,“server”是需要获取服务版本机上的文件列表,“201”是需要获取201业务的文件列表。而filelist会命中到其中一个location,该location中配置的lua脚本,会用server和201两个参数去查询上述表1。查询结果将会得到一个IP和对应的端口号,分别为10.185.18.38和90。最后接入服务器就会将查询到的IP和端口号作为转发的目标配置,将请求转发到IP地址为10.185.18.38,端口号为90的逻辑服务器上进行处理。
这里需要说明的是,当逻辑服务器出现故障时,一般都需要修改IP地址,只修改端口号没太大意义。
(2)可以应用在制作客户端的场景中,例如创建一个交互式应用,如微信、QQ、微博等计算机应用程序,若微信的业务ID为501,本身是在A计算机节点上安装的,但是,A计算机节点在安装微信的过程中发生了故障,接入服务器在数据库的配置文件中对微信计算机应用程序进行修改,将A计算机节点的IP地址10.205.18.37修改为10.205.10.37,端口号由50修改为20,参开上述的表1和表2所示。IP地址为10.205.10.37、端口号为20为B计算机节点,所以,接入服务器可以在数据库中查找微信安装请求对应修改后的配置文件,将这个微信安装请求发送到B计算机节点上,在B计算机节点上安装微信。因为可以在数据库中直接修改配置文件(不限修改配置文件的个数),而且不需要对修改的配置文件重新加载,从而,可以直接在数据库中访问修改的配置文件,从而降低了时延。
因此,当数据库中的配置信息有更新时,并不需要接入服务器进行重启,重新载入修改的配置信息,所以,降低了路由请求的时延。本发明实现是通过数据库配置的路由关系,可实时动态更新路由关系,不需要对http服务器(接入服务器)进行重启或重新载入配置,对用户完全无感知。
上面对本发明实施例中的路由请求的方法进行了描述,下面对本发明实施例中的接入服务器和存储设备进行说明,如图3所示,为本发明实施例中接入服务器的一个实施例示意图,包括:
第一获取模块301,用于获取目标请求,目标请求包括目标动作和目标业务信息;
确定模块302,用于根据目标动作确定匹配的位置规则;
第二获取模块303,用于根据目标业务信息,调用位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器信息;
发送模块304,用于根据目标逻辑服务器信息,将目标请求转发至目标逻辑服务器进行处理。
可选的,在本发明的一些实施例中,目标业务信息包括目标业务标识ID,
第二获取模块303,具体用于根据目标业务ID,调用位置规则中的lua脚本文件从数据库中获取目标逻辑服务器信息。
可选的,在本发明的一些实施例中,
第二获取模块303,具体用于根据目标业务ID,调用位置规则中的lua脚本文件,从数据库中保存的业务ID和逻辑服务器的互联网协议IP地址、端口的配置信息,获取目标逻辑服务器信息。
如图4所示,为本发明实施例中存储设备的一个实施例示意图,包括:
获取模块401,用于获取接入服务器发送的查询请求,查询请求包括目标业务信息;
确定模块402,用于根据目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息;
发送模块403,用于将目标逻辑服务器信息发送至接入服务器。
可选的,在本发明的一些实施例中,在上述图4所示的基础上,如图5所示,为本发明实施例中存储设备的另一个实施例示意图,存储设备还可以包括:
获取模块401,还用于获取对数据库保存的配置信息的修改指令;
修改模块404,用于根据修改指令,对数据库的配置信息进行修改,得到修改后的配置信息。
可选的,在本发明的一些实施例中,目标业务信息包括目标业务ID,
确定模块,具体用于根据目标业务ID,从数据库中保存的业务ID和逻辑服务器的IP地址、端口的配置信息,确定目标逻辑服务器信息。
如图6所示,为本发明实施例中接入服务器的另一个实施例示意图,包括:
该接入服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对接入服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在接入服务器上执行存储介质630中的一系列指令操作。
接入服务器还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,例如键盘、鼠标、触摸屏、语音等,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本发明实施例中,中央处理器602用于执行图3所示的实施例中确定模块302所执行的步骤,具体为根据目标动作确定匹配的位置规则;
有线或无线网络接口650用于执行图3所示的实施例中第一获取模块301、第二获取模块303和发送模块304所执行的步骤,具体为获取目标请求,目标请求包括目标动作和目标业务信息;根据目标业务信息,调用位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器信息;根据目标逻辑服务器信息,将目标请求转发至目标逻辑服务器进行处理。
可选的,在本发明的一些实施例中,目标业务信息包括目标业务标识ID,
中央处理器602,具体用于根据目标业务ID,调用位置规则中的lua脚本文件从数据库中获取目标逻辑服务器信息。
可选的,在本发明的一些实施例中,
中央处理器602,具体用于根据目标业务ID,调用位置规则中的lua脚本文件,从数据库中保存的业务ID和逻辑服务器的互联网协议IP地址、端口的配置信息,获取目标逻辑服务器信息。
如图7所示,为本发明实施例中存储设备的另一个实施例示意图,包括:
该存储设备可因配置或性能不同而产生比较大的差异,存储设备为一种专用数据存储服务器,包括存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,提供跨平台文件共享功能。可以包括一个或一个以上中央处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对存储设备中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在存储设备上执行存储介质730中的一系列指令操作。
存储设备还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,例如键盘、鼠标、触摸屏、语音等,和/或,一个或一个以上操作系统741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本发明实施例中,中央处理器702用于执行上述实施例4中确定模块402所执行的步骤,具体为根据目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息;
有线或无线网络接口750用于执行上述实施例4中获取模块401和发送模块403所执行的步骤,具体为获取接入服务器发送的查询请求,查询请求包括目标业务信息;将目标逻辑服务器信息发送至接入服务器。
可选的,在本发明的一些实施例中,
有线或无线网络接口750,还用于获取对数据库保存的配置信息的修改指令;
中央处理器702,还用于根据修改指令,对数据库的配置信息进行修改,得到修改后的配置信息。
可选的,在本发明的一些实施例中,目标业务信息包括目标业务ID,
中央处理器702,具体用于根据目标业务ID,从数据库中保存的业务ID和逻辑服务器的IP地址、端口的配置信息,确定目标逻辑服务器信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.一种路由请求的方法,应用于访问实时变化的配置文件,其特征在于,包括:
接入服务器获取目标请求,所述目标请求包括URL信息,所述URL信息包括目标动作和目标业务信息,所述目标业务信息包括目标业务ID、逻辑服务器的IP地址和端口的配置信息,所述目标动作为查询文件列表或制作客户端;
所述接入服务器根据所述目标动作确定匹配的位置规则,所述位置规则用于表示所述目标请求查询数据库的方式;
所述接入服务器将查询请求发送至存储设备,所述查询请求包括所述目标业务信息,以使得所述存储设备根据所述目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息,其中,所述存储设备中的所述配置信息是动态更新的,当所述逻辑服务器无法正常工作时,所述动态更新为所述存储设备根据修改指令对所述数据库的配置信息进行修改,得到修改后的配置信息,所述修改指令为将无法正常工作的逻辑服务器所对应的配置信息修改为备用逻辑服务器对应的配置信息的修改指令;
所述接入服务器从所述存储设备获取所述目标逻辑服务器信息;
所述接入服务器根据所述目标逻辑服务器信息,将所述目标请求转发至所述目标逻辑服务器进行处理;
所述接入服务器根据所述目标业务信息,调用所述位置规则中的配置脚本文件从数据库中获取对应的目标逻辑服务器信息,包括:
所述接入服务器根据所述目标业务ID,调用所述位置规则中的lua脚本文件从数据库中获取所述目标逻辑服务器信息;
所述接入服务器根据所述目标业务ID,调用所述位置规则中的lua脚本文件从数据库中获取所述目标逻辑服务器信息,包括:
所述接入服务器根据所述目标业务ID,调用所述位置规则中的lua脚本文件,从所述数据库中保存的业务ID和逻辑服务器的互联网协议IP地址、端口的配置信息,获取所述目标逻辑服务器信息。
2.一种路由请求的方法,应用于访问实时变化的配置文件,其特征在于,包括:
存储设备获取接入服务器发送的查询请求,所述查询请求包括目标业务信息,所述目标业务信息包括目标业务ID、逻辑服务器的IP地址和端口的配置信息;
所述存储设备根据所述目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息,其中,所述存储设备中的所述配置信息是动态更新的;
所述存储设备将所述目标逻辑服务器信息发送至所述接入服务器;
所述存储设备获取对所述数据库保存的配置信息的修改指令,所述修改指令为将无法正常工作的逻辑服务器所对应的配置信息修改为备用逻辑服务器对应的配置信息的修改指令;
所述存储设备根据所述修改指令,对所述数据库的配置信息进行修改,得到修改后的配置信息;
所述存储设备根据所述目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息,包括:
所述存储设备根据所述目标业务ID,从所述数据库中保存的业务ID和逻辑服务器的IP地址、端口的配置信息,确定所述目标逻辑服务器信息。
3.一种接入服务器,包括:
第一获取模块,用于获取目标请求,所述目标请求包括URL信息,所述URL信息包括目标动作和目标业务信息,所述目标业务信息包括目标业务ID、逻辑服务器的IP地址和端口的配置信息,所述目标动作为查询文件列表或制作客户端;
确定模块,用于根据所述目标动作确定匹配的位置规则,所述位置规则用于表示所述目标请求查询数据库的方式;
发送模块,用于将查询请求发送至存储设备,所述查询请求包括所述目标业务信息,以使得所述存储设备根据所述目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息,其中,所述存储设备中的所述配置信息是动态更新的,当所述逻辑服务器无法正常工作时,所述动态更新为所述存储设备根据修改指令对所述数据库的配置信息进行修改,得到修改后的配置信息,所述修改指令为将无法正常工作的逻辑服务器所对应的配置信息修改为备用逻辑服务器对应的配置信息的修改指令;
第二获取模块,用于从所述存储设备获取所述目标逻辑服务器信息;
所述发送模块,还用于根据所述目标逻辑服务器信息,将所述目标请求转发至所述目标逻辑服务器进行处理;
所述第二获取模块,具体用于根据所述目标业务ID,调用所述位置规则中的lua脚本文件从数据库中获取所述目标逻辑服务器信息;
所述第二获取模块,具体用于根据所述目标业务ID,调用所述位置规则中的lua脚本文件,从所述数据库中保存的业务ID和逻辑服务器的互联网协议IP地址、端口的配置信息,获取所述目标逻辑服务器信息。
4.一种存储设备,其特征在于,包括:
获取模块,用于获取接入服务器发送的查询请求,所述查询请求包括目标业务信息,所述目标业务信息包括目标业务ID、逻辑服务器的IP地址和端口的配置信息;
确定模块,用于根据所述目标业务信息和数据库保存的配置信息,确定对应的目标逻辑服务器信息,其中,所述存储设备中的所述配置信息是动态更新的;
发送模块,用于将所述目标逻辑服务器信息发送至所述接入服务器;
所述获取模块,还用于获取对所述数据库保存的配置信息的修改指令,所述修改指令为对无法正常工作的逻辑服务器所对应的配置信息的修改指令;
修改模块,用于根据所述修改指令,对所述数据库的配置信息进行修改,得到修改后的配置信息;
所述确定模块,具体用于根据所述目标业务ID,从所述数据库中保存的业务ID和逻辑服务器的IP地址、端口的配置信息,确定所述目标逻辑服务器信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710325988.2A CN108881066B (zh) | 2017-05-10 | 2017-05-10 | 一种路由请求的方法、接入服务器以及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710325988.2A CN108881066B (zh) | 2017-05-10 | 2017-05-10 | 一种路由请求的方法、接入服务器以及存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108881066A CN108881066A (zh) | 2018-11-23 |
CN108881066B true CN108881066B (zh) | 2021-08-27 |
Family
ID=64287626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710325988.2A Active CN108881066B (zh) | 2017-05-10 | 2017-05-10 | 一种路由请求的方法、接入服务器以及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108881066B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110224973B (zh) * | 2019-04-24 | 2021-09-03 | 深圳点猫科技有限公司 | 基于编程游戏的多服务端并行实现方法、电子设备及介质 |
CN110351190B (zh) * | 2019-06-17 | 2022-10-28 | 深圳壹账通智能科技有限公司 | 路由控制方法、装置以及计算机设备 |
CN110362336B (zh) * | 2019-06-21 | 2023-07-18 | 口碑(上海)信息技术有限公司 | 机房路由信息的获取方法及脚本数据配置方法及装置 |
CN111225025A (zh) * | 2019-11-25 | 2020-06-02 | 中国联合网络通信集团有限公司 | 服务请求的处理方法及装置 |
CN113453340A (zh) * | 2020-03-24 | 2021-09-28 | 阿里巴巴集团控股有限公司 | 服务方法、服务器集群以及LoRaWAN网络系统 |
CN112135162B (zh) * | 2020-09-25 | 2022-08-12 | 北京达佳互联信息技术有限公司 | 业务执行方法、装置及服务器 |
CN113472900B (zh) * | 2021-09-01 | 2022-02-22 | 阿里云计算有限公司 | 报文处理方法、设备、存储介质及计算机程序产品 |
CN114866457B (zh) * | 2022-04-27 | 2024-01-16 | 猪八戒股份有限公司 | 一种基于Nginx与Lua的高性能动态路由转发方法、系统及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859333A (zh) * | 2006-03-24 | 2006-11-08 | 华为技术有限公司 | 对媒体资源服务器进行路由的方法 |
CN102239680A (zh) * | 2011-03-09 | 2011-11-09 | 华为技术有限公司 | Web应用托管方法及装置 |
CN105338115A (zh) * | 2015-11-26 | 2016-02-17 | 上海晶赞科技发展有限公司 | 数据服务器 |
CN105871881A (zh) * | 2016-05-06 | 2016-08-17 | 中国科学技术大学 | 一种基于Openwrt路由器的Portal认证的方法 |
CN106599085A (zh) * | 2016-11-25 | 2017-04-26 | 努比亚技术有限公司 | web系统配置文件的自动刷新方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8301787B2 (en) * | 2007-03-22 | 2012-10-30 | Red Hat, Inc. | Selective use of anonymous proxies |
CN105376147B (zh) * | 2015-12-18 | 2019-08-02 | Tcl集团股份有限公司 | 即时通讯消息路由寻址方法、接入服务器及系统 |
-
2017
- 2017-05-10 CN CN201710325988.2A patent/CN108881066B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859333A (zh) * | 2006-03-24 | 2006-11-08 | 华为技术有限公司 | 对媒体资源服务器进行路由的方法 |
CN102239680A (zh) * | 2011-03-09 | 2011-11-09 | 华为技术有限公司 | Web应用托管方法及装置 |
CN105338115A (zh) * | 2015-11-26 | 2016-02-17 | 上海晶赞科技发展有限公司 | 数据服务器 |
CN105871881A (zh) * | 2016-05-06 | 2016-08-17 | 中国科学技术大学 | 一种基于Openwrt路由器的Portal认证的方法 |
CN106599085A (zh) * | 2016-11-25 | 2017-04-26 | 努比亚技术有限公司 | web系统配置文件的自动刷新方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108881066A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108881066B (zh) | 一种路由请求的方法、接入服务器以及存储设备 | |
US10715485B2 (en) | Managing dynamic IP address assignments | |
US9888089B2 (en) | Client side cache management | |
US9929959B2 (en) | Managing network computing components utilizing request routing | |
JP6261758B2 (ja) | コンテナの配置及び実行を調整するサービスの実施態様 | |
EP3156911B1 (en) | Content management | |
US20190222536A1 (en) | Systems and Methods for Determining Routing Information For a Network Request | |
US9588854B2 (en) | Systems and methods for a secondary website with mirrored content for automatic failover | |
WO2014004308A1 (en) | Device, system, and method for client-governed session persistency between one or more clients and servers of a data center | |
US9390156B2 (en) | Distributed directory environment using clustered LDAP servers | |
US8868756B1 (en) | Sticky routing | |
US11853806B2 (en) | Cloud computing platform that executes third-party code in a distributed cloud computing network and uses a distributed data store | |
CN111147583A (zh) | 一种http重定向重写方法及装置 | |
US11042357B2 (en) | Server and method for ranking data sources | |
US10645183B2 (en) | Redirection of client requests to multiple endpoints | |
CN107786594B (zh) | 业务请求处理方法及装置 | |
US10243920B1 (en) | Internet protocol address reassignment between virtual machine instances | |
US10904327B2 (en) | Method, electronic device and computer program product for searching for node | |
CN114301872B (zh) | 基于域名的访问方法及装置、电子设备、存储介质 | |
JP6233846B2 (ja) | 可変長ノンスの生成 | |
CN106375132B (zh) | 一种云服务器系统的管理方法及云服务器系统 | |
US20150282121A1 (en) | Local resource sharing method of machine to machine component and apparatus thereof | |
US20230412701A1 (en) | Network coordination between proxy servers | |
CN117950791A (zh) | 虚拟机访问方法及装置、电子设备、计算机可读介质 | |
CN114827245A (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 |