发明内容
本发明的主要目的在于解决流量分配时逻辑复杂和工作效率低的问题。
本发明第一方面提供了一种流量动态分配方法,包括:获取目标终端的访问请求,所述访问请求为超文本传输协议HTTP请求头信息;判断所述访问请求是否与预置文本文件标识分发请求、预置权重分发请求或者预置网络之间互连的协议IP值分发请求相匹配;若所述访问请求与所述预置文本文件标识分发请求匹配,则根据所述访问请求,得到目标终端的目标文本文件,并根据所述目标终端的目标文本文件确定第一目标环境;若所述访问请求与所述预置权重分发请求匹配,则根据所述访问请求获取目标终端的权重,并根据所述目标终端的权重,确定第二目标环境;若所述访问请求与所述预置IP值分发请求匹配,则根据所述访问请求,获取目标终端的IP值,并根据所述目标终端的IP值,确定第三目标环境;将所述目标终端分配到所述第一目标环境、所述第二目标环境或者所述第三目标环境中,所述第一目标环境、所述第二目标环境和所述第三目标环境为目标后端服务器的工作环境。
可选的,在本发明第一方面的第一种实现方式中,所述若所述访问请求与所述预置文本文件标识分发请求匹配,则根据所述访问请求,得到目标终端的目标文本文件,并根据所述目标终端的目标文本文件确定第一目标环境包括:若所述访问请求与所述预置文本文件标识分发请求匹配,则将所述访问请求设置到预置文本文件中,得到目标终端的目标文本文件;从所述目标终端的目标文本文件中获取目标终端的文本文件标识,并基于所述目标终端的文本文件标识,确定第一目标环境。
可选的,在本发明第一方面的第二种实现方式中,所述从所述目标终端的目标文本文件中获取目标终端的文本文件标识,并基于所述目标终端的文本文件标识,确定第一目标环境包括:读取所述目标终端的目标文本文件,并判断所述目标终端的目标文本文件是否为空值;若所述目标终端的目标文本文件不为空值,则在所述目标终端的目标文本文件中提取目标终端的初始文本标识;基于所述目标终端的初始文本标识提取对应的目标终端的文本值,并判断所述目标终端的文本值是否为文本阈值;若所述目标终端的文本值为所述文本阈值,则确定所述初始文本标识为目标终端的文本文件标识;基于所述目标终端的文本文件标识,从多个预置环境中确定第一目标环境。
可选的,在本发明第一方面的第三种实现方式中,所述若所述访问请求与所述预置文本文件标识分发请求匹配,则将所述访问请求设置到预置文本文件中,得到目标终端的目标文本文件包括:若所述访问请求与所述预置文本文件标识分发请求匹配,则为所述访问请求设置名称,生成目标终端的初始文本文件;为所述目标终端的初始文本文件设置键值,生成目标终端的过渡文本文件;为所述目标终端的过渡文本文件设置过期时间,生成目标终端的目标文本文件。
可选的,在本发明第一方面的第四种实现方式中,所述若所述访问请求与所述预置权重分发请求匹配,则根据所述访问请求获取目标终端的权重,并根据所述目标终端的权重,确定第二目标环境包括:若所述访问请求与所述预置权重分发请求匹配,则在所述访问请求中读取目标终端的请求参数;基于所述目标终端的请求参数,从多个预置参数区间中确定目标终端的参数区间;基于所述目标终端的参数区间,匹配对应的预置权重规则,确定目标终端的权重规则;基于所述目标终端的权重规则,得到目标终端的权重,并根据所述目标终端的权重,确定第二目标环境。
可选的,在本发明第一方面的第五种实现方式中,所述若所述访问请求与所述预置IP值分发请求匹配,则根据所述访问请求,获取目标终端的IP值,并根据所述目标终端的IP值,确定第三目标环境包括:若所述访问请求与所述预置IP值分发请求匹配,则在所述访问请求中读取目标终端的IP地址;采用预置函数,对所述目标终端的IP地址进行计算,得到目标终端的IP值;基于所述目标终端的IP值,遍历多个预置环境,确定第三目标环境。
可选的,在本发明第一方面的第六种实现方式中,在所述将所述目标终端分配到所述第一目标环境、所述第二目标环境或者所述第三目标环境中,所述第一目标环境、所述第二目标环境和所述第三目标环境为目标后端服务器的工作环境之后,所述流量动态分配方法还包括:若所述第一目标环境、所述第二目标环境或者所述第三目标环境显示异常,则重新获取未发生异常的预置环境作为新目标环境,并将所述目标终端切换至所述新目标环境中。
本发明第二方面提供了一种流量动态分配装置,包括:第一获取模块,用于获取目标终端的访问请求,所述访问请求为超文本传输协议HTTP请求头信息;判断模块,用于判断所述访问请求是否与预置文本文件标识分发请求、预置权重分发请求或者预置网络之间互连的协议IP值分发请求相匹配;第二获取模块,若所述访问请求与所述预置文本文件标识分发请求匹配,则用于根据所述访问请求,得到目标终端的目标文本文件,并根据所述目标终端的目标文本文件确定第一目标环境;第三获取模块,若所述访问请求与所述预置权重分发请求匹配,则用于根据所述访问请求获取目标终端的权重,并根据所述目标终端的权重,确定第二目标环境;第四获取模块,若所述访问请求与所述预置IP值分发请求匹配,则用于根据所述访问请求,获取目标终端的IP值,并根据所述目标终端的IP值,确定第三目标环境;分配模块,用于将所述目标终端分配到所述第一目标环境、所述第二目标环境或者所述第三目标环境中,所述第一目标环境、所述第二目标环境和所述第三目标环境为目标后端服务器的工作环境。
可选的,在本发明第二方面的第一种实现方式中,所述第二获取模块具体包括:第一获取单元,若所述访问请求与所述预置文本文件标识分发请求匹配,则用于将所述访问请求设置到预置文本文件中,得到目标终端的目标文本文件;第二获取单元,用于从所述目标终端的目标文本文件中获取目标终端的文本文件标识,并基于所述目标终端的文本文件标识,确定第一目标环境。
可选的,在本发明第二方面的第二种实现方式中,所述第二获取单元具体用于:读取所述目标终端的目标文本文件,并判断所述目标终端的目标文本文件是否为空值;若所述目标终端的目标文本文件不为空值,则在所述目标终端的目标文本文件中提取目标终端的初始文本标识;基于所述目标终端的初始文本标识提取对应的目标终端的文本值,并判断所述目标终端的文本值是否为文本阈值;若所述目标终端的文本值为所述文本阈值,则确定所述初始文本标识为目标终端的文本文件标识;基于所述目标终端的文本文件标识,从多个预置环境中确定第一目标环境。
可选的,在本发明第二方面的第三种实现方式中,所述第一获取单元具体用于:若所述访问请求与所述预置文本文件标识分发请求匹配,则为所述访问请求设置名称,生成目标终端的初始文本文件;为所述目标终端的初始文本文件设置键值,生成目标终端的过渡文本文件;为所述目标终端的过渡文本文件设置过期时间,生成目标终端的目标文本文件。
可选的,在本发明第二方面的第四种实现方式中,所述第三获取模块具体用于:若所述访问请求与所述预置权重分发请求匹配,则在所述访问请求中读取目标终端的请求参数;基于所述目标终端的请求参数,从多个预置参数区间中确定目标终端的参数区间;基于所述目标终端的参数区间,匹配对应的预置权重规则,确定目标终端的权重规则;基于所述目标终端的权重规则,得到目标终端的权重,并根据所述目标终端的权重,确定第二目标环境。
可选的,在本发明第二方面的第五种实现方式中,所述第四获取模块具体用于:若所述访问请求与所述预置IP值分发请求匹配,则在所述访问请求中读取目标终端的IP地址;采用预置函数,对所述目标终端的IP地址进行计算,得到目标终端的IP值;基于所述目标终端的IP值,遍历多个预置环境,确定第三目标环境。
可选的,在本发明第二方面的第六种实现方式中,所述流量动态分配装置还包括:环境获取与切换模块,若所述第一目标环境、所述第二目标环境或者所述第三目标环境显示异常,则用于重新获取未发生异常的预置环境作为新目标环境,并将所述目标终端切换至所述新目标环境中,所述第一目标环境、所述第二目标环境和所述第三目标环境为目标后端服务器的工作环境。
本发明第三方面提供了一种基于优先级的资源分配设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述流量动态分配设备执行上述的流量动态分配方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的流量动态分配方法。
本发明提供的技术方案中,获取目标终端的访问请求,所述访问请求为超文本传输协议HTTP请求头信息;判断所述访问请求是否与预置文本文件标识分发请求、预置权重分发请求或者预置网络之间互连的协议IP值分发请求相匹配;若所述访问请求与所述预置文本文件标识分发请求匹配,则根据所述访问请求,得到目标终端的目标文本文件,并根据所述目标终端的目标文本文件确定第一目标环境;若所述访问请求与所述预置权重分发请求匹配,则根据所述访问请求获取目标终端的权重,并根据所述目标终端的权重,确定第二目标环境;若所述访问请求与所述预置IP值分发请求匹配,则根据所述访问请求,获取目标终端的IP值,并根据所述目标终端的IP值,确定第三目标环境;将所述目标终端分配到所述第一目标环境、所述第二目标环境或者所述第三目标环境中,所述第一目标环境、所述第二目标环境和所述第三目标环境为目标后端服务器的工作环境。本发明实施例中,服务器在流量分配与切换时,无需实现复杂的逻辑,提高流量分配与切换时的工作效率,而且不会出现目标终端进入异常环境中的情况。
具体实施方式
本发明实施例提供了一种流量动态分配方法、装置、设备及存储介质,用于根据文本文件标识、目标终端权重或者目标终端IP值获取目标环境,并将目标终端分配或者切换至目标环境中,无需实现复杂的逻辑,提高流量分配与切换时的工作效率,而且不会出现目标终端进入异常环境中的情况。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中流量动态分配方法的一个实施例包括:
101、获取目标终端的访问请求,访问请求为超文本传输协议HTTP请求头信息;
服务器根据目标终端的访问请求到达目标终端的访问地址,然后服务器获取目标终端的源码,查看目标终端的源码是否有可以提取的数据,若有可以提取的数据,则对源码进行拆解,服务器在拆解后的源码数据中获取需要的数据并且为需要数据赋值,得到超文本传输协议(HyperText Transfer Protocol,HTTP)请求头信息,并提取HTTP请求头信息。
可以理解的是,本发明的执行主体可以为流量动态分配装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
102、判断访问请求是否与预置文本文件标识分发请求、预置权重分发请求或者预置网络之间互连的协议IP值分发请求相匹配;
服务器采用负载均衡模块判断目标终端的访问请求是否与预置权重分发请求相匹配,若不匹配,则判断目标终端的访问请求是否与预置文本文件标识分发请求相匹配,若不匹配则判断目标终端的访问请求是否与预置网络之间互连的协议(internet protocol,IP)值分发请求相匹配。
需要说明的是,文本文件标识为Cookie标识。
在本实施例中,负载均衡模块为嵌入lua的nginx负载均衡模块。服务器在进行流量分配与切换时,通常可以通过文本文件标识分流、权重分流或根据IP分流,服务器采用负载均衡模块为目标终端的访问请求匹配分发请求,预置文本文件标识分发请求可以理解为根据文本文件标识进行流量分配与切换、预置权重分发请求可以理解为根据权重进行流量分配与切换、预置IP值分发请求可以理解为根据IP值进行流量分配与切换。服务器根据目标终端的访问请求的HTTP请求头信息判断目标终端的IP地址是否属于预置缓存地址,若属于,则说明目标终端的访问请求与预置IP值分发请求相匹配;若不属于,则判断目标终端的访问请求的HTTP请求头信息是否带有标记型文本文件标识,若带有标记型文本文件标识,则说明目标终端的访问请求与预置文本文件分发请求相匹配;若不属于,则采用预置权重分发请求进行流量分配与切换。
103、若访问请求与预置文本文件标识分发请求匹配,则根据访问请求,得到目标终端的目标文本文件,并根据目标终端的目标文本文件确定第一目标环境;
如果目标终端的访问请求与预置文本文件标识分发请求相匹配,服务器就根据目标终端的访问请求确定第一目标环境,确定第一目标环境的基础为服务器根据目标终端的访问请求先获取目标终端的目标文本文件,再根据目标终端的目标文本文件确定第一目标环境。
若服务器判定目标终端的访问请求与预置文本文件标识分发请求相匹配,则说明服务器根据预置文本文件标识分发请求对目标终端进行分流。服务器首先要将目标终端的访问请求设置到目标终端的目标文本文件中,其次服务器根据目标终端的目标文本文件获取目标终端的文本文件标识,服务器将目标终端的文本文件标识与多个预置环境进行匹配,确定第一目标环境。
104、若访问请求与预置权重分发请求匹配,则根据访问请求获取目标终端的权重,并根据目标终端的权重,确定第二目标环境;
如果目标终端的访问请求与预置权重分发请求相匹配,服务器就根据目标终端的访问请求获取第二目标环境,获取第二目标环境的基础为服务器根据目标终端的访问请求先获取目标终端的权重,再根据目标终端的权重获取第二目标环境。
若服务器判定目标终端的访问请求与预置权重分发请求相匹配,则说明服务器根据预置权重分发请求对目标终端进行分流。服务器首先读取目标终端的访问请求的请求参数,得到目标终端的请求参数,再判断目标终端的请求参数所在的预置参数区间,得到目标终端的参数区间。每个参数区间对应一个权重分配规则,服务器根据目标终端的参数区间给目标终端分配权重,得到目标终端的权重,并根据目标终端的权重获取目标环境。
105、若访问请求与预置IP值分发请求匹配,则根据访问请求,获取目标终端的IP值,并根据目标终端的IP值,确定第三目标环境;
如果目标终端的访问请求与预置IP值分发请求相匹配,服务器就根据目标终端的访问请求获取第三目标环境,获取第三目标环境的基础为服务器根据目标终端的访问请求先获取目标终端的IP值,再根据目标终端的IP值获取第三目标环境。
例如,读取访问请求的HTTP请求头信息中的IP地址为A,服务器读取IP地址A,通过Hash函数对IP地址A进行计算,得到IP值a,服务器预置缓存列表中查询是否有IP值a对应的预置目标环境,如果有,则将该预置目标环境确定为第三目标环境。
106、将目标终端分配到第一目标环境、第二目标环境或者第三目标环境中,第一目标环境、第二目标环境和第三目标环境为目标后端服务器的工作环境。
服务器在得到第一目标环境、第二目标环境或者第三目标环境之后,将目标终端分配至对应的目标环境中,第一目标环境、第二目标环境和第三目标环境实际上是目标后端服务器的工作环境,将目标终端分配至对应的目标环境中,就可以进行工作了。
需要说明的是,第一目标环境、第二目标环境和第三目标环境可以为通过三种方式获取的相同的目标环境,也可以为通过三种方式获取的不同的目标环境。
本发明实施例中,服务器在流量分配与切换时,无需实现复杂的逻辑,提高流量分配与切换时的工作效率,而且不会出现目标终端进入异常环境中的情况。
请参阅图2,本发明实施例中流量动态分配方法的另一个实施例包括:
201、获取目标终端的访问请求,访问请求为超文本传输协议HTTP请求头信息;
服务器根据目标终端的访问请求到达目标终端的访问地址,然后服务器获取目标终端的源码,查看目标终端的源码是否有可以提取的数据,若有可以提取的数据,则对源码进行拆解,服务器在拆解后的源码数据中获取需要的数据并且为需要数据赋值,得到HTTP请求头信息,并提取HTTP请求头信息。
202、判断访问请求是否与预置文本文件标识分发请求、预置权重分发请求或者预置网络之间互连的协议IP值分发请求相匹配;
服务器采用负载均衡模块判断目标终端的访问请求是否与预置权重分发请求相匹配,若不匹配,则判断目标终端的访问请求是否与预置文本文件标识分发请求相匹配,若不匹配则判断目标终端的访问请求是否与预置IP值分发请求相匹配。
在本实施例中,负载均衡模块为嵌入lua的nginx负载均衡模块。服务器在进行流量分配与切换时,通常可以通过文本文件标识分流、权重分流或根据IP分流,服务器为目标终端的访问请求匹配分发请求,预置文本文件标识分发请求可以理解为根据文本文件标识进行流量分配与切换、预置权重分发请求可以理解为根据权重进行流量分配与切换、预置IP值分发请求可以理解为根据IP值进行流量分配与切换。服务器根据目标终端的访问请求的HTTP请求头信息判断目标终端的IP地址是否属于预置缓存地址,若属于,则说明目标终端的访问请求与预置IP值分发请求相匹配;若不属于,则判断目标终端的访问请求的HTTP请求头信息是否带有标记型文本文件标识,若带有标记型文本文件标识,则说明目标终端的访问请求与预置文本文件分发请求相匹配;若不属于,则采用预置权重分发请求进行流量分配与切换。
203、若访问请求与预置文本文件标识分发请求匹配,则根据访问请求,得到目标终端的目标文本文件,并根据目标终端的目标文本文件确定第一目标环境;
如果目标终端的访问请求与预置文本文件标识分发请求相匹配,服务器就根据目标终端的访问请求确定第一目标环境,确定第一目标环境的基础为服务器根据目标终端的访问请求先获取目标终端的目标文本文件,再根据目标终端的目标文本文件确定第一目标环境。
若服务器判定目标终端的访问请求与预置文本文件标识分发请求相匹配,则说明服务器根据预置文本文件标识分发请求对目标终端进行分流。服务器首先要将目标终端的访问请求设置到目标终端的目标文本文件中,其次服务器根据目标终端的目标文本文件获取目标终端的文本文件标识,服务器将目标终端的文本文件标识与多个预置环境进行匹配,得到第一目标环境。
具体的,如果服务器根据目标终端的访问请求的HTTP请求头信息判断目标终端的访问请求与预置文本文件标识分发请求匹配,服务器则将目标终端的访问请求设置到预置文本文件中,从而得到目标终端的目标文本文件。
服务器获取目标终端的目标文本文件的具体过程如下:
在本实施例中,目标终端的目标文本文件为文本文件,服务器首先为目标终端的访问请求设置名称,生成带名字的目标终端的初始文本文件,其次为目标终端的信息数据设置key和value,即键值对,生成目标终端的过渡文本文件,再为目标终端的过渡文本文件设置过期时间,得到目标终端的目标文本文件。本实施例中不对过期时间的数值做具体限定。
服务器获取第二目标环境更具体过程如下:
服务器读取设置好的目标终端的目标文本文件,判断目标终端的目标文本文件是否为空值,如果目标终端的目标文本文件为空值,则重新设置目标终端的目标文本文件;如果目标终端的目标文本文件不为空值,则在目标终端的目标文本文件中读取目标终端的初始文本标识,并提取目标终端的初始文本标识相对应的文本值,服务器判断目标终端的文本值是否为文本阈值,如果目标终端的文本值不为文本阈值,服务器重新获取目标终端的文本值,如果目标终端的文本值为文本阈值,服务器则确定初始文本标识为目标终端的文本文件标识,并将目标终端的文本文件标识与多个预置环境进行匹配,得到第一目标环境。
204、若访问请求与预置权重分发请求匹配,则根据访问请求获取目标终端的权重,并根据目标终端的权重,确定第二目标环境;
如果目标终端的访问请求与预置权重分发请求相匹配,服务器就根据目标终端的访问请求获取第二目标环境,获取第二目标环境的基础为服务器根据目标终端的访问请求先获取目标终端的权重,再根据目标终端的权重获取第二目标环境。
若服务器判定目标终端的访问请求与预置权重分发请求相匹配,则说明服务器根据预置权重分发请求对目标终端进行分流。服务器首先读取目标终端的访问请求的请求参数,得到目标终端的请求参数,再判断目标终端的请求参数在多个预置参数区间的某一个预置参数区间,得到目标终端的参数区间。每个参数区间对应一个权重分配规则,服务器根据目标终端的参数区间给目标终端分配权重,得到目标终端的权重,并根据目标终端的权重确定与目标终端权重相匹配的第二目标环境。
205、若访问请求与预置IP值分发请求匹配,则根据访问请求,获取目标终端的IP值,并根据目标终端的IP值,确定第三目标环境;
如果目标终端的访问请求与预置IP值分发请求相匹配,服务器就根据目标终端的访问请求获取第三目标环境,获取第三目标环境的基础为服务器根据目标终端的访问请求先获取目标终端的IP值,再根据目标终端的IP值确定第三目标环境。
若服务器判定目标终端的访问请求与预置IP值分发请求相匹配,则说明服务器根据预置IP值分发请求对目标终端进行分流。服务器首先读取目标终端的IP地址,并采用点分十进制的标识方法将目标终端的IP地址分成四段,采用IP_Hash将目标终端的IP地址的前三段作为计算IP值的依据,如:198.162.1.1的目标终端的IP地址,取198.162.1来计算目标终端的IP值。服务器采用Hash函数计算得到目标终端的IP值,Hash函数具体如下:
hash=(hash*113+iphp->addr[i])%6271
其中,iphp->addr[i]为ip的点分十进制法的第i段。
服务器在得到目标终端的IP值后,根据目标终端的IP值遍历多个后端服务器对应的预置环境,确定第三目标环境。
206、将目标终端分配到第一目标环境、第二目标环境或者第三目标环境中,第一目标环境、第二目标环境和第三目标环境为目标后端服务器的工作环境。
服务器在得到第一目标环境、第二目标环境或者第三目标环境之后,将目标终端分配至对应的目标环境中,第一目标环境、第二目标环境和第三目标环境实际上是目标后端服务器的工作环境,将目标终端分配至对应的目标环境中,就可以进行工作了。
例如,假设第一目标环境为环境1、第二目标环境为环境1以及第三目标环境为环境2。如果服务器为目标终端1匹配到的目标环境为第一目标环境和第二目标环境,服务器将目标终端1分配至目标环境1中;如果服务器为目标终端2匹配到的目标环境为第三目标环境,服务器将目标终端2分配到目标环境2中。
207、若第一目标环境、第二目标环境或者第三目标环境显示异常,则重新获取未发生异常的预置环境作为新目标环境,并将目标终端切换至新目标环境中。
如果服务器监测到第一目标环境、第二目标环境或者第三目标环境出现异常无法提供服务时,服务器则自动根据目标终端访问请求重新获取新目标环境,并将目标终端切换至新目标环境中。
例如,假设目标终端1被分配到目标环境1中,目标环境1中的工作显示异常,此时服务器根据目标终端的访问请求重新获取未发生异常的预置环境作为新目标环境,假设重新获取得到的新目标环境为目标环境3,服务器将目标终端切换至目标环境3中进行处理。
本发明实施例中,服务器在流量分配与切换时,无需实现复杂的逻辑,提高流量分配与切换时的工作效率,而且不会出现目标终端进入异常环境中的情况。
上面对本发明实施例中流量动态分配方法进行了描述,下面对本发明实施例中流量动态分配装置进行描述,请参阅图3,本发明实施例中流量动态分配装置一个实施例包括:
第一获取模块301,用于获取目标终端的访问请求,访问请求为超文本传输协议HTTP请求头信息;
判断模块302,用于判断访问请求是否与预置文本文件标识分发请求、预置权重分发请求或者预置IP值分发请求相匹配;
第二获取模块303,若访问请求与预置文本文件标识分发请求匹配,则用于根据访问请求,得到目标终端的目标文本文件,并根据目标终端的目标文本文件确定第一目标环境;
第三获取模块304,若访问请求与预置权重分发请求匹配,则用于根据访问请求获取目标终端的权重,并根据目标终端的权重,确定第二目标环境;
第四获取模块305,若访问请求与预置IP值分发请求匹配,则用于根据访问请求,获取目标终端的IP值,并根据目标终端的IP值,确定第三目标环境;
分配模块306,用于将目标终端分配到第一目标环境、第二目标环境或者第三目标环境中,第一目标环境、第二目标环境和第三目标环境为目标后端服务器的工作环境。
本发明实施例中,服务器在流量分配与切换时,无需实现复杂的逻辑,提高流量分配与切换时的工作效率,而且不会出现目标终端进入异常环境中的情况。
请参阅图4,本发明实施例中流量动态分配装置的另一个实施例包括:
第一获取模块301,用于获取目标终端的访问请求,访问请求为超文本传输协议HTTP请求头信息;
判断模块302,用于判断访问请求是否与预置文本文件标识分发请求、预置权重分发请求或者预置IP值分发请求相匹配;
第二获取模块303,若访问请求与预置文本文件标识分发请求匹配,则用于根据访问请求,得到目标终端的目标文本文件,并根据目标终端的目标文本文件确定第一目标环境;
第三获取模块304,若访问请求与预置权重分发请求匹配,则用于根据访问请求获取目标终端的权重,并根据目标终端的权重,确定第二目标环境;
第四获取模块305,若访问请求与预置IP值分发请求匹配,则用于根据访问请求,获取目标终端的IP值,并根据目标终端的IP值,确定第三目标环境;
分配模块306,用于将目标终端分配到第一目标环境、第二目标环境或者第三目标环境中,第一目标环境、第二目标环境和第三目标环境为目标后端服务器的工作环境。
可选的,第二获取模块303包括:
第一获取单元3031,若访问请求与预置文本文件标识分发请求匹配,则将访问请求设置到预置文本文件中,得到目标终端的目标文本文件;
第二获取单元3032,用于根据目标终端的目标文本文件,获取目标终端的文本文件标识,并根据目标终端的文本文件标识,确定第一目标环境。
可选的,第二获取单元3032还可以具体用于:
读取目标终端的目标文本文件,并判断目标终端的目标文本文件是否为空值;
若目标终端的目标文本文件不为空值,则在目标终端的目标文本文件中获取目标终端的初始文本标识;
根据目标终端的初始文本标识提取对应的目标终端的文本值,并判断目标终端的文本值是否为文本阈值;
若目标终端的文本值为文本阈值,则确定初始文本标识为目标终端的文本文件标识;
根据目标终端的文本文件标识与多个预置环境匹配,得到第一目标环境。
可选的,第一获取单元3031还可以具体用于:
若访问请求与预置文本文件标识分发请求匹配,则为访问请求设置名称,得到目标终端的初始文本文件;
为目标终端的初始文本文件设置键值,得到目标终端的过渡文本文件;
为目标终端的过渡文本文件设置过期时间,得到目标终端的目标文本文件。
可选的,第三获取模块304还可以具体用于:
若访问请求与预置权重分发请求匹配,则在访问请求中获取目标终端的请求参数;
根据目标终端的请求参数,匹配预置参数区间,得到目标终端的参数区间;
根据目标终端的参数区间,匹配对应的预置权重规则,得到目标终端的权重规则;
根据目标终端的权重规则,得到目标终端的权重,并根据目标终端的权重,获取第二目标环境。
可选的,第四获取模块305还可以具体用于:
若访问请求与预置IP值分发请求匹配,则在访问请求中获取目标终端的IP地址;
中的预置函数,对目标终端的IP地址进行计算,得到目标终端的IP值;
根据目标终端的IP值,遍历多个预置环境,确定第三目标环境。
可选的,流量动态分配装置还包括:
环境获取与切换模块401,若目标环境显示异常,则用于重新获取未发生异常的预置环境作为新目标环境,并将目标终端切换至新目标环境中。
本发明实施例中,服务器在流量分配与切换时,无需实现复杂的逻辑,提高流量分配与切换时的工作效率,而且不会出现目标终端进入异常环境中的情况。
上面图3和图4从模块化功能实体的角度对本发明实施例中的流量动态分配装置进行详细描述,下面从硬件处理的角度对本发明实施例中流量动态分配设备进行详细描述。
图5是本发明实施例提供的一种流量动态分配设备的结构示意图,该流量动态分配设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对流量动态分配设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在流量动态分配设备500上执行存储介质530中的一系列指令操作。
流量动态分配设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作***531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的流量动态分配设备结构并不构成对流量动态分配设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行流量动态分配方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。