CN116033015A - 流量切分方法和装置 - Google Patents
流量切分方法和装置 Download PDFInfo
- Publication number
- CN116033015A CN116033015A CN202211709222.1A CN202211709222A CN116033015A CN 116033015 A CN116033015 A CN 116033015A CN 202211709222 A CN202211709222 A CN 202211709222A CN 116033015 A CN116033015 A CN 116033015A
- Authority
- CN
- China
- Prior art keywords
- field information
- request instruction
- client
- target field
- gateway
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000011218 segmentation Effects 0.000 title claims abstract description 37
- 238000006243 chemical reaction Methods 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 abstract description 18
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及互联网领域,尤其涉及一种流量切分方法和装置。一种流量切分方法,应用于第一网关,所述第一网关连接有第一服务端以及第二服务端,所述第一网关执行所述方法包括:接收客户端发送的第一请求指令;获取所述第一请求指令的关键字段信息;根据所述关键字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端;若是,则将所述第一请求指令切分至所述第二服务端,以由所述第二服务端执行所述第一请求指令。本发明实施例提高了切流网关对客户端发送的请求指令进行切分的灵活性,并提高了切分处理的效率。
Description
【技术领域】
本申请涉及互联网领域,尤其涉及一种流量切分方法和装置。
【背景技术】
当对网络服务系统中的服务端进行升级时,往往会搭建新建服务端为客户端提供服务。这时就需要将连接于原服务端的客户端逐步迁移至新服务端上,由新建服务端来处理客户端发起的请求指令,即进行流量切分。
在相关技术中,通常通过修改服务端域名的方式,以在客户端访问服务端时,直接建立客户端与新服务端间的连接,实现流量切分。但是这种方法的灵活性较低,切分粒度较粗,无法做到针对不同业务参数进行切流,只能整体切流。同时服务端域名生效有延迟,无法做到实时生效。
【发明内容】
有鉴于此,本发明实施例提供了一种流量切分方法和装置,通过针对不同业务参数灵活设定切分规则,并通过提取客户端发送请求指令中的关键字段信息以具体确定第一请求指令的业务参数,在满足预设规则的情况下,将其切分至新建服务端,提高了流量切分的灵活性。
第一方面,本发明实施例提供了一种流量切分方法,所述方法应用于第一网关,所述第一网关连接有第一服务端以及第二服务端,所述第一网关执行所述方法包括:
接收客户端发送的第一请求指令;
获取所述第一请求指令的关键字段信息;
根据所述关键字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端;
若是,则将所述第一请求指令切分至所述第二服务端,以由所述第二服务端执行所述第一请求指令。
可选的,所述获取所述第一请求指令的关键字段信息之前,所述方法还包括:
确定所述客户端的统一资源标识符URI是否在预存的白名单内;
如果所述客户端的URI不在所述白名单内,则将所述第一请求指令切分至第一服务端执行。
可选的,所述获取所述第一请求指令的关键字段信息,包括:
获取所述第一请求指令的目标字段信息;
从内存中调取与所述目标字段信息对应的转换规则,将所述目标字段信息转换为关键字段信息。
可选的,所述获取所述第一请求指令的目标字段信息,包括:
当所述客户端的URI中不包含预设变量时,对所述第一请求指令中标识的目标字段进行解析,以获取所述第一请求指令的目标字段信息;
当所述客户端的URI中包含预设变量时,对所述第一请求指令中的变量字段进行解析,以获取所述第一请求指令的目标字段信息。
可选的,所述从内存中调取与所述目标字段信息对应的转换规则,将所述目标字段信息转换为关键字段信息之前,所述方法包括:
按照固定时间间隔,通过外部接口从与所述第一网关通信连接的数据库获取若干转换规则,所述转换规则用于将不同类型的所述目标字段信息转换为关键字段信息;
将所述转换规则储存在所述第一网关的内存中。
可选的,所述从内存中调取与所述目标字段信息对应的转换规则,将所述目标字段信息转换为关键字段信息,所述方法还包括:
当所述内存中未预存有与所述目标字段信息对应的转换规则时,通过外部接口调用由动态脚本编辑生成的新增转换规则;
基于所述新增转换规则将所述目标字段信息转换为所述关键字段信息。
可选的,所述根据所述关键字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端之后,所述方法还包括:
确定所述请求流量中是否包含灰度字段;
若是,则获取所述第一请求指令的灰度字段信息;
重新根据所述灰度字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端。
第二方面,本发明实施例提供了一种流量切分装置,包括:
接收模块,接收客户端发送的第一请求指令;
获取模块,获取所述第一请求指令的关键字段信息;
确定模块,根据所述关键字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端;
若是,则将所述第一请求指令切分至所述第二服务端,以由所述第二服务端执行所述第一请求指令。
第三方面,本发明实施例提供了一种流量切分设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面任一项所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行第一方面任一所述的方法。
通过上述方法,提高了对客户端发送的请求指令进行切分的灵活性,并提高了切分处理的效率。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为一种网络服务系统的结构示意图;
图2为本发明实施例提供的一种网络服务系统的结构示意图;
图3为本发明实施例提供的一种流量切分方法的流程图;
图4为本发明实施例提供的另一种流量切分方法的流程图;
图5为本发明实施例提供的一种流量切分装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为一种网络服务系统的结构示意图。网络服务系统中包括客户端101、网关102和服务端103。客户端通过网关建立与服务端之间的通信连接,用于向服务端发起请求。网关用于对客户端进行反向代理,将客户端发起的请求分发至服务端进行处理。服务端用于实际处理客户端发起的请求。其中,与服务端建立连接的客户端可以为一个或多个。
当网络服务系统中的服务端进行升级时,往往会搭建处理性能更强的新建服务端,取代原服务端来处理客户端发起的请求。在利用新建服务端取代原服务端的过程中,需要对连接于原服务端,并由原服务端提供服务的客户端,在用户无感知的情况下平滑的进行迁移。其中,一般根据客户端发送的请求指令,以在客户端访问服务端时进行迁移,即进行流量切分。
在相关技术中,通过修改服务端域名的方式实现对客户端请求指令的流量切分。具体的,客户端在发起请求指令时,需要通过调用域名的方式,在请求指令中携带服务端的域名,实现对服务端的访问,并通过服务端对业务请求进行处理。在修改服务端域名后,客户端直接通过调用新建服务端的域名便可直接迁移至新建服务端。
但是,修改服务端域名之后,便不会有客户端与原服务端连接,由原服务端提供服务,而是全部客户端都会被切分至新建服务端。这样导致切流的灵活性极低,粒度较粗,只能进行整体切流,而无法做到针对不同业务参数切流。一旦新建服务端出现故障,则会导致全部客户端的请求指令均无法处理。同时,服务端域名生效有延迟,无法做到实时生效。因此需要一种切流方法,可以根据客户端请求指令中的不同业务类型,实现灵活切流。
如图2所示,为本发明实施例提供的一种网络服务系统的结构示意图。网络服务系统中包括客户端201、现有网关202、第一网关203、第一服务端204和第二服务端205。其中现有网关202即为图1所示的网关102。网络服务系统中,任意两个相邻的节点间通信连接。第一服务端204为现有服务端,第二服务端205为新建服务端。
客户端201用于发送第一请求指令。
现有网关202用于接收客户端发送的第一请求指令,并将第一请求指令转发给第一网关,供第一网关进行切流。
第一网关203为切流网关,用于对现有网关接收的第一请求指令进行接管,并根据第一请求指令的业务参数或业务类型,确定是否需要进行流量切分。第一网关为反向代理服务器,可以为Nginx服务器。
其中,第一网关对第一请求指令的接管方法有两种,为替代接管和代理接管。替代接管需要第一网关直接对现有网关进行替换,在第一网关执行流量切分任务的同时,还需要执行现有网关所执行的相应任务。代理接管则保留现有网关,在现有网关与服务端之间新增第一网关,第一网关仅用于执行流量切分任务。考虑到现有网关还充当了静态资源代理服务器,所以本发明实施例采用代理接管方案,以减少第一网关的处理压力。
第一服务端204,用于在第一网关确定第一请求指令不需要进行流量切分时接收第一请求指令,并对第一请求指令进行处理。
第二服务端205,用于在第一网关确定第一请求指令需要进行流量切分时接收第一请求指令,并对第一请求指令进行处理。
结合图2所述的网络服务系统,本发明实施例提供了一种流量切分方法,该方法应用于如图2所示的第一网关203,如图3所示,该方法的具体步骤包括:
S301,接收客户端发送的第一请求指令。
具体的,通过与第一网关通信连接的现有网关接收第一请求指令。客户端发起的第一请求指令首先被发送至现有网关。当第一请求指令为静态资源时,直接由现有网关将第一请求分发至对应服务端进行处理,如进行网页访问;当第一请求指令为动态资源时,即包含待办理业务时,有现有网关将第一请求指令转发给第一网关进行切分处理。
S302,获取第一请求指令的关键字段信息。
具体的,首先获取第一请求指令中的目标字段信息,并从内存中调取与目标字段信息对应的转换规则,将目标字段信息转换为关键字段信息。转换得到的关键字段信息一般为项目编码信息。
其中,在获取第一请求指令中的目标字段信息时,需要根据客户端的URI来确定获取方法。当客户端的URI中不包含变量时,基于全路径匹配策略获取包含于第一请求指令中的目标字段信息;当客户端的URI中包含变量时,基于路径变量策略获取包含于URI中的目标字段信息。
具体的,当客户端的URI中不包含变量时,对第一请求指令中标识的目标字段进行解析,以获取第一请求指令的目标字段信息。
在一个具体的实施例中,客户端发送的第一请求指令为:
其中,"/A/B/Demo1"为客户端的URI,para_name为目标字段的标识,http_method为对目标字段的具体解析方法。
客户端的URI中不包含变量,因此需要对其中标注的目标字段进行解析,即对第一请求指令中的"agentid"字段进行解析,以获取第一请求指令中的目标字段信息,即agentid信息。"get_para|post_form"为对目标字段进行解析时可能会用到的解析方法。可选的,除了get_para和post_form方法外,还包括post_json、post_data_xml和post_data_json等方法用于对目标字段进行解析。
当客户端的URI中包含变量时,对第一请求指令中的变量字段进行解析,以获取第一请求指令的目标字段信息。具体的,第一网关的内存中预存有若干种变量模型,用于具体确定URI中的变量字段。
在一个具体的实施例中,内存中预存有六种变量模型,其中agentId和iccid为变量模型中对应的变量字段。可选的,在不同实施例中,第一网关中可能存有其他不同种类的变量模型。
客户端发送的第一请求指令为"/demo2/:123456/a/other",对应上述第二种变量模型,变量模型中的*other为第一请求指令中的任意其他字符,即对应第一请求指令中的"/a/other",变量字段为"iccid"字段,通过对其解析可以获取第一请求指令的目标字段信息,即iccid信息,解析得到的iccid信息为123456。
在获取到第一请求指令的目标字段信息后,从内存中调取与目标字段对应的转换规则,将目标字段信息转换为关键字段信息。具体的,内存中预存有针对不同目标字段信息配置的转换规则,用于将不同类型的目标字段信息转换为关键字段信息。
例如,解析出的目标字段信息为iccid时,调用iccid转换规则,以将获取到的iccid转换为对应项目编码。解析出的目标字段信息为agentid时,调用agentid转换规则,以将获取到的agentid转换为对应项目编码。
其中,第一网关会按照固定的时间间隔,通过外部接口从与其通信连接的数据库上获取新增的转换规则,并在内存中进行存储。在对目标字段信息进行转换时可以直接调用内存中存储的转换规则而无需重新配置,减轻了第一网关的处理压力。外部数据库可以是Redis数据库。
可选的,当内存中未预存有与所述目标字段信息对应的第一转换规则时,可以通过外部接口调用由动态脚本编辑生成的新增转换规则,并基于新增转换规则将目标字段信息转换为关键字段信息。通过动态脚本,可以随时编辑关于用户服务信息、项目服务信息以及其他服务信息相关的转换规则,供第一网关进行调用,使得转换规则的配置更加灵活。
S303,根据关键字段信息确定是否需要将第一请求指令进行流量切分至第二服务端。
具体的,若是,则将第一请求指令切分至所述第二服务端,以由第二服务端执行第一请求指令。
若不是,则不将所述第一请求切分至所述第二服务端,仍由所述第一服务端执行所述第一请求指令。
例如,预设切分规则,需要将运行商A的客户端发起的第一请求指令切分至第二服务端进行处理。通过第一请求指令的关键字段信息,确定客户端所归属的运营商,若归属于运营商A则切分至第二服务端,若归属于运营商B,则仍由源客户端处理第一请求指令。
本发明实施例针对不同业务参数灵活设定切分规则,并通过提取客户端发送请求指令中的关键字段信息以具体确定第一请求指令的业务参数,在满足预设规则的情况下,将其切分至第二服务端,提高了流量切分的灵活性。同时,在将目标字段信息转换为关键字段信息时,通过目标字段信息确定与其对应的转换规则进行转换,避免了对全部转换规则的遍历,提高了转换效率。
可选的,在一些实施例中,可以针对不同客户端设置白名单。在执行S302,获取第一请求指令的关键字段信息之前,需要确定所述客户端的统一资源标识符URI是否在预存的白名单内。当客户端的URI不在白名单上时,则停止执行后续步骤,直接将第一请求切分至所述第二服务端,由第一服务端执行所述第一请求指令。
这样,当客户端数量过多时,可以单独针对选定的一些客户端进行判定,以确定是否需要执行流量切分,而对于其他客户端则直接分配至第一服务端进行处理,省略了后续执行流量切分方法的冗余步骤,减轻了第一网关的处理压力。
可选的,在一些实施例中,当客户端发送的第一请求指令中包含灰度字段时,在执行S303,根据关键字段信息确定是否需要将第一请求指令进行流量切分至第二服务端之后,还要继续根据灰度字段中的灰度字段信息确定是否需要将第一请求指令切分至第二服务端。
具体的,当第一请求指令中包含灰度字段时,对灰度字段进行解析,得到灰度字段信息。调用与灰度字段信息匹配的转换规则将灰度字段信息转换为第二关键字段信息,并根据第二关键字段信息重新确定是否需要将第一请求指令切分至第二服务端。
这样,可以针对不同的业务参数进行更细粒度的划分。可以将不同业务参数之间的组合作为划分标准,只有当第一请求参数同时满足设置的多种切流条件时,才会被划分至第二服务端。
结合图2所述的网络服务系统,本发明实施例提供了另一种流量切分方法,该方法应用于如图2所示的第一网关203,如图4所示,该方法的具体步骤包括:
S401,接收客户端发送的第一请求指令。
具体的,接收到的请求指令为
S402,确定所述客户端的URI是否在预存的白名单内。
具体的,根据客户端的URI,即"/Api/Demo/getIccidRechargeCard"确定是否在预存的白名单内。当客户端的URI在白名单内时,继续执行S403;当客户端的URI不在白名单内时,跳转执行S406。
S403,获取第一请求指令的关键字段信息。
具体的,通过get_para或post_form方法对agentid字段进行解析,获取目标字段信息,并调用agentid转换规则将其转换为关键字段信息。
S404,根据关键字段信息确定是否需要将第一请求指令进行流量切分至第二服务端。
具体的,当根据关键字段信息确定需要进行流量切分时,继续执行S405;当根据关键字段信息确定无需进行流量切分时,跳转执行S406。
S405,根据灰度字段信息确定是否需要将第一请求指令进行流量切分至第二服务端。
具体的,第一请求指令中的gray_para_name即为指示的灰度字段。对灰度字段,即iccid字段进行解析,得到灰度字段信息。调用iccid转换规则,将灰度字段信息转换为第二关键字段信息。并根据第二关键字段信息确定是否需要将第一请求指令进行流量切分至第二服务端。
当根据第二关键字段信息确定需要进行流量切分时,执行S407;当根据第二关键字段信息确定无需进行流量切分时,执行S406。
S406,由第一服务端处理第一请求指令。
S407,切分至第二服务端处理第一请求指令。
对应上述流量切分方法,本发明实施例还提供了一种流量切分装置。参见图5,为本发明实施例提供的一种流量切分装置的结构示意图。如图5所示,该装置可以包括:接收模块501、获取模块502和确定模块503。
接收模块501,接收客户端发送的第一请求指令;
获取模块502,获取所述第一请求指令的关键字段信息;
确定模块503,根据所述关键字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端;
若是,则将所述第一请求指令切分至所述第二服务端,以由所述第二服务端执行所述第一请求指令。
图5所示实施例提供的流量切分装置可用于执行本说明书所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图6为本说明书电子设备一个实施例的结构示意图。电子设备可以实现为本发明所提供的第一网关。如图6所示,上述电子设备可以包括至少一个处理器;以及与上述处理单元通信连接的至少一个存储器,其中:存储器存储有可被处理单元执行的程序指令,上述处理器调用上述程序指令能够执行本实施例提供的流量切分方法。
其中,上述电子设备可以为能够与用户进行智能对话的设备,本说明书实施例对上述电子设备的具体形式不作限定。可以理解的是,这里的电子设备即为方法实施例中提到的机器。
图6示出了适于用来实现本说明书实施方式的示例性电子设备的框图。图6显示的电子设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。
如图6所示,电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:一个或者多个处理器610、通信接口620、存储器630,连接不同系统组件(包括存储器630、通信接口620和处理器610)的通信总线640。
通信总线640表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
电子设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器630可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。电子设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器630可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器630中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书所描述的实施例中的功能和/或方法。
处理器610通过运行存储在存储器630中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书所示实施例提供的流量切分方法。
本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书所示实施例提供的流量切分方法。
上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable ProgrammableRead Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本说明书各个实施例所述方法的部分步骤。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (10)
1.一种流量切分方法,其特征在于,所述方法应用于第一网关,所述第一网关连接有第一服务端以及第二服务端,所述方法包括:
接收客户端发送的第一请求指令;
获取所述第一请求指令的关键字段信息;
根据所述关键字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端;
若是,则将所述第一请求指令切分至所述第二服务端,以由所述第二服务端执行所述第一请求指令。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一请求指令的关键字段信息之前,所述方法还包括:
确定所述客户端的统一资源标识符URI是否在预存的白名单内;
如果所述客户端的URI不在所述白名单内,则将所述第一请求指令切分至第一服务端执行。
3.根据权利要求1所述的方法,其特征在于,所述获取所述第一请求指令的关键字段信息,包括:
获取所述第一请求指令的目标字段信息;
从内存中调取与所述目标字段信息对应的转换规则,将所述目标字段信息转换为关键字段信息。
4.根据权利要求3所述的方法,其特征在于,所述获取所述第一请求指令的目标字段信息,包括:
当所述客户端的URI中不包含预设变量时,对所述第一请求指令中标识的目标字段进行解析,以获取所述第一请求指令的目标字段信息;
当所述客户端的URI中包含预设变量时,对所述第一请求指令中的变量字段进行解析,以获取所述第一请求指令的目标字段信息。
5.根据权利要求3所述的方法,其特征在于,所述从内存中调取与所述目标字段信息对应的转换规则,将所述目标字段信息转换为关键字段信息之前,所述方法包括:
按照固定时间间隔,通过外部接口从与所述第一网关通信连接的数据库获取若干转换规则,所述转换规则用于将不同类型的所述目标字段信息转换为关键字段信息;
将所述转换规则储存在所述第一网关的内存中。
6.根据权利要求3所述的方法,其特征在于,所述从内存中调取与所述目标字段信息对应的转换规则,将所述目标字段信息转换为关键字段信息,所述方法还包括:
当所述内存中未预存有与所述目标字段信息对应的转换规则时,通过外部接口调用由动态脚本编辑生成的新增转换规则;
基于所述新增转换规则将所述目标字段信息转换为所述关键字段信息。
7.根据权利要求1所述的方法,其特征在于,所述根据所述关键字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端之后,所述方法还包括:
确定所述请求流量中是否包含灰度字段;
若是,则获取所述第一请求指令的灰度字段信息;
重新根据所述灰度字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端。
8.一种流量切分装置,其特征在于,包括:
接收模块,接收客户端发送的第一请求指令;
获取模块,获取所述第一请求指令的关键字段信息;
确定模块,根据所述关键字段信息确定是否需要将所述第一请求指令进行流量切分至所述第二服务端;
若是,则将所述第一请求指令切分至所述第二服务端,以由所述第二服务端执行所述第一请求指令。
9.一种流量切分设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211709222.1A CN116033015B (zh) | 2022-12-29 | 2022-12-29 | 流量切分方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211709222.1A CN116033015B (zh) | 2022-12-29 | 2022-12-29 | 流量切分方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116033015A true CN116033015A (zh) | 2023-04-28 |
CN116033015B CN116033015B (zh) | 2024-03-12 |
Family
ID=86090684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211709222.1A Active CN116033015B (zh) | 2022-12-29 | 2022-12-29 | 流量切分方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116033015B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106998369A (zh) * | 2017-05-26 | 2017-08-01 | 努比亚技术有限公司 | 灰度发布方法、网关拦截器及计算机可读存储介质 |
WO2017202112A1 (en) * | 2016-05-23 | 2017-11-30 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for distributing request for service |
CN108809730A (zh) * | 2018-06-25 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 一种机房控制切流的方法和装置 |
CN110874227A (zh) * | 2018-08-29 | 2020-03-10 | 京东数字科技控股有限公司 | 实现于api网关的灰度发布的分流方法、系统和电子设备 |
US10630808B1 (en) * | 2018-02-02 | 2020-04-21 | Dell Products L.P. | Contextual routing for directing requests to different versions of an application |
CN111831700A (zh) * | 2019-04-16 | 2020-10-27 | Abb瑞士股份有限公司 | 用于自动化系统组件的可互操作通信的系统和方法 |
WO2021057251A1 (zh) * | 2019-09-24 | 2021-04-01 | 苏宁云计算有限公司 | 灰度发布方法、装置、路由设备和存储介质 |
CN114741215A (zh) * | 2022-04-21 | 2022-07-12 | 中国农业银行股份有限公司 | 一种消息分发方法及装置 |
CN115225734A (zh) * | 2022-09-20 | 2022-10-21 | 常州楠菲微电子有限公司 | 一种报文处理方法和网络设备 |
-
2022
- 2022-12-29 CN CN202211709222.1A patent/CN116033015B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017202112A1 (en) * | 2016-05-23 | 2017-11-30 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for distributing request for service |
CN106998369A (zh) * | 2017-05-26 | 2017-08-01 | 努比亚技术有限公司 | 灰度发布方法、网关拦截器及计算机可读存储介质 |
US10630808B1 (en) * | 2018-02-02 | 2020-04-21 | Dell Products L.P. | Contextual routing for directing requests to different versions of an application |
CN108809730A (zh) * | 2018-06-25 | 2018-11-13 | 阿里巴巴集团控股有限公司 | 一种机房控制切流的方法和装置 |
CN110874227A (zh) * | 2018-08-29 | 2020-03-10 | 京东数字科技控股有限公司 | 实现于api网关的灰度发布的分流方法、系统和电子设备 |
CN111831700A (zh) * | 2019-04-16 | 2020-10-27 | Abb瑞士股份有限公司 | 用于自动化系统组件的可互操作通信的系统和方法 |
WO2021057251A1 (zh) * | 2019-09-24 | 2021-04-01 | 苏宁云计算有限公司 | 灰度发布方法、装置、路由设备和存储介质 |
CN114741215A (zh) * | 2022-04-21 | 2022-07-12 | 中国农业银行股份有限公司 | 一种消息分发方法及装置 |
CN115225734A (zh) * | 2022-09-20 | 2022-10-21 | 常州楠菲微电子有限公司 | 一种报文处理方法和网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116033015B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107277153B (zh) | 用于提供语音服务的方法、装置和服务器 | |
CN109213611B (zh) | 跨进程通讯方法、装置、终端及存储介质 | |
US9456229B2 (en) | Parsing single source content for multi-channel publishing | |
CN110580244A (zh) | 一种文件处理方法、装置、服务器及存储介质 | |
CN109831466B (zh) | 微服务业务处理方法及nginx服务器 | |
CN111221793B (zh) | 数据挖掘方法、平台、计算机设备及存储介质 | |
US11934287B2 (en) | Method, electronic device and computer program product for processing data | |
CN111930709B (zh) | 数据存储方法、装置、电子设备和计算机可读介质 | |
US9942267B1 (en) | Endpoint segregation to prevent scripting attacks | |
CN108595574B (zh) | 数据库集群的连接方法、装置、设备及存储介质 | |
CN114513552A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116033015B (zh) | 流量切分方法和装置 | |
CN112883088B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN116781586A (zh) | 一种gRPC流量解析方法、装置、设备及介质 | |
CN112214500A (zh) | 数据对比的方法、装置、电子设备和存储介质 | |
CN112769975B (zh) | 一种数据集成方法、装置、服务器及存储介质 | |
CN111770236B (zh) | 一种对话处理方法、装置、系统、服务器和存储介质 | |
CN114219643A (zh) | 一种交易调用方法、装置、设备及存储介质 | |
US10044728B1 (en) | Endpoint segregation to prevent scripting attacks | |
CN114301970A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN113779018A (zh) | 一种数据处理方法和装置 | |
CN113760993A (zh) | 业务数据查询方法、装置和电子设备 | |
CN110858240A (zh) | 一种前端模块加载方法和装置 | |
CN113285997B (zh) | 基于异构系统的数据处理方法、设备、介质及产品 | |
CN114615331B (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 |