基于HTTP请求内容的流量分发方法技术

技术编号:29464989 阅读:13 留言:0更新日期:2021-07-27 17:52
本发明专利技术涉及一种基于HTTP请求内容的流量分发方法,包括:获取HTTP请求;基于预设的内容分析引擎,对所述HTTP请求的内容进行分析聚合;基于预设的内容分析引擎,按照预设的转发逻辑将HTTP请求转发之对应的后端处理程序。本发明专利技术采用以上技术方案,通过引入高级条件表达式实现的内容分析引擎,可以实现分析HTTP请求内容,进而实现根据业务场景、风控策略的流量分发。

【技术实现步骤摘要】
基于HTTP请求内容的流量分发方法
本专利技术涉及互联网相关
,具体涉及一种基于HTTP请求内容的流量分发方法。
技术介绍
在互联网时代,所有的网络请求即HTTP请求都要经过反向代理才能访问处于内网的程序,内网的程序同样通过反向代理才能将数据返回给用户。数以百计的内网程序被不同的域名和路径划分了类别,在反向代理的配置过程中,系统管理员根据请求的路径和域名对网络流量进行分组然后转发给后端的业务程序。但是,通过域名和HTTP请求路径进行流量分发只适合简单的业务场景,无法做到根据请求的header,body,以及对应风控策略进行流量转发。对于大型互联网公司,很多场景需要对请求数据进行分析计算后才能确定如何转发流量,目前的反向代理软件无法实现此类需求。
技术实现思路
有鉴于此,提供一种基于HTTP请求内容的流量分发方法,以解决相关技术中的问题。本专利技术采用如下技术方案:本专利技术实施例提供了一种基于HTTP请求内容的流量分发方法,包括:获取HTTP请求;基于预设的内容分析引擎,对所述HTTP请求的内容进行分析聚合;基于预设的内容分析引擎,按照预设的转发逻辑将HTTP请求转发之对应的后端处理程序。可选的,所述内容分析引擎采用的基本的内置条件判断单元。可选的,所述内容分析引擎支持预设内置的条件原语,同时支持用户自定义条件原语。可选的,所述内容分析引擎的预设转发逻辑包括:如果HTTP请求内容中包含手机号则把请求转发至第一预设后端处理程序:如果HTTP请求内容中包含邮箱则把请求转发至第二预设后端处理程序:如果HTTP请求内容中包含地址信息,且地址信息为预设地址,则把请求转发至第三预设后端处理程序。可选的,所述内容分析引擎中,条件原语的返回值必定为布尔值,该布尔值用于进行逻辑运算;所述内容分析引擎中条件表达式是多个条件原语与操作符的组合;所述内容分析引擎中条件变量为将条件原语的结果赋值给的变量;所述内容分析引擎中高级条件表达式为由多个条件原语、条件变量、操作符构成的组合。本专利技术采用以上技术方案,通过引入高级条件表达式实现的内容分析引擎,可以实现分析HTTP请求内容,进而实现根据业务场景、风控策略的流量分发。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种智基于HTTP请求内容的流量分发方法的流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。首先对本专利技术实施例的应用场景进行说明,用户通过域名访问企业的服务时,请求会经过互联网指向到企业部署的反向代理上,然后反向代理根据设置的分组策略将流量转发至对应的后端服务软件。本技术方案是部署在反向代理上的一套算法实现(以下简称内容分析引擎),该内容分析引擎通过高级条件表达式,链式处理HTTP请求,对数据进行分析聚合后按照设置的转发逻辑将流量转发至对应的后端处理程序。但是,通过域名和HTTP请求路径进行流量分发只适合简单的业务场景,无法做到根据请求的header,body,以及对应风控策略进行流量转发。对于大型互联网公司,很多场景需要对请求数据进行分析计算后才能确定如何转发流量,目前的反向代理软件无法实现此类需求。本申请针对这一问题提出了对应的解决方案。实施例图1是本专利技术实施例提供的一种智基于HTTP请求内容的流量分发方法的流程图。参考图1,该方法具体可以包括如下步骤:S101、获取HTTP请求;S102、基于预设的内容分析引擎,对所述HTTP请求的内容进行分析聚合;S103、基于预设的内容分析引擎,按照预设的转发逻辑将HTTP请求转发之对应的后端处理程序。具体的,所述内容分析引擎采用的基本的内置条件判断单元。内容分析引擎概念具体如下:条件原语:内容分析引擎采用的基本的内置条件判断单元,条件原语的返回值必定为布尔值,该布尔值用于进行逻辑运算。本内容分析引擎支持一系列内置的条件原语,同时支持用户自定义条件原语。条件表达式:条件表达式是多个条件原语与操作符(例如:与、或、非)的组合。条件变量:可以将条件原语的结果赋值给一个变量,这个变量即为条件变量。高级条件表达式:由多个条件原语、条件变量、操作符(例如:与、或、非)构成的组合。其中,所述内容分析引擎的预设转发逻辑为根据业务场景、风控策略指定的,所述预设转发逻辑包括:如果HTTP请求内容中包含手机号则把请求转发至第一预设后端处理程序:如果HTTP请求内容中包含邮箱则把请求转发至第二预设后端处理程序:如果HTTP请求内容中包含地址信息,且地址信息为预设地址,则把请求转发至第三预设后端处理程序。具体的,内容分析引擎的语法说明如下:条件原语采用形如func_name(params)的格式,其中:func_name是条件原语的名称;params是条件原语的参数,可能是0个或多个;返回值类型是bool。条件表达式的语法定义如下:CE=CE&&CE|CE||CE|(CE)|!CE|ConditionPrimitive高级条件表达式的定义如下:ACE=ACE&&ACE|ACE||ACE|(ACE)|!ACE|ConditionPrimitive|ConditionVariable操作符优先级定义:操作符的优先级和结合律与C语言中类似,以下为所有操作符的优先级和结合律,优先级按降序排列。具体如下表:优先级操作符含义结合律1()括号从左至右2!逻辑非从右至左3&&逻辑与从左至右4||逻辑或从左至右以下为一个完整的根据HTTP内容进行转发的配置示例:该示例表示如果HTTP请求内容中包含手机号则把请求转发至cluster.risk_ctl风控集群。本套方法的核心是基于高级条件表达式的内容分析引擎,该内容分析引擎能够按照指定的语法生成的规则对HTTP请求内容进行本文档来自技高网...

【技术保护点】
1.一种基于HTTP请求内容的流量分发方法,其特征在于,包括:/n获取HTTP请求;/n基于预设的内容分析引擎,对所述HTTP请求的内容进行分析聚合;/n基于预设的内容分析引擎,按照预设的转发逻辑将HTTP请求转发之对应的后端处理程序。/n

【技术特征摘要】
1.一种基于HTTP请求内容的流量分发方法,其特征在于,包括:
获取HTTP请求;
基于预设的内容分析引擎,对所述HTTP请求的内容进行分析聚合;
基于预设的内容分析引擎,按照预设的转发逻辑将HTTP请求转发之对应的后端处理程序。


2.根据权利要求1所述的基于HTTP请求内容的流量分发方法,其特征在于,所述内容分析引擎采用的基本的内置条件判断单元。


3.根据权利要求1所述的基于HTTP请求内容的流量分发方法,其特征在于,所述内容分析引擎支持预设内置的条件原语,同时支持用户自定义条件原语。


4.根据权利要求1所述的基于HTTP请求内容的流量分发方法,其特征在于,所述内容分析引擎的预设转发逻辑为根据业...

【专利技术属性】
技术研发人员:王佳君
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1