CN113179306A - 基于http请求内容的流量分发方法 - Google Patents
基于http请求内容的流量分发方法 Download PDFInfo
- Publication number
- CN113179306A CN113179306A CN202110439567.9A CN202110439567A CN113179306A CN 113179306 A CN113179306 A CN 113179306A CN 202110439567 A CN202110439567 A CN 202110439567A CN 113179306 A CN113179306 A CN 113179306A
- Authority
- CN
- China
- Prior art keywords
- http request
- content
- preset
- analysis engine
- content analysis
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种基于HTTP请求内容的流量分发方法,包括:获取HTTP请求;基于预设的内容分析引擎,对所述HTTP请求的内容进行分析聚合;基于预设的内容分析引擎,按照预设的转发逻辑将HTTP请求转发之对应的后端处理程序。本发明采用以上技术方案,通过引入高级条件表达式实现的内容分析引擎,可以实现分析HTTP请求内容,进而实现根据业务场景、风控策略的流量分发。
Description
技术领域
本发明涉及互联网相关技术领域,具体涉及一种基于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请求内容进行聚类,相同聚类的请求会被转发至后端对应的业务程序。
本申请提供的方案中提供了高级条件表达式的实现原理、基于高级条件表达式聚类HTTP请求内容的方法、高级条件表达式的语法定义和反向代理中采用高级表达式。本方法的具有如下优点:1、灵活度高,可以通过条件原语的组合实现复杂的内容分析算法;2、能够做到现有技术方案无法做到到根据内容分析聚类3、配置简单,容易上手。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (5)
1.一种基于HTTP请求内容的流量分发方法,其特征在于,包括:
获取HTTP请求;
基于预设的内容分析引擎,对所述HTTP请求的内容进行分析聚合;
基于预设的内容分析引擎,按照预设的转发逻辑将HTTP请求转发之对应的后端处理程序。
2.根据权利要求1所述的基于HTTP请求内容的流量分发方法,其特征在于,所述内容分析引擎采用的基本的内置条件判断单元。
3.根据权利要求1所述的基于HTTP请求内容的流量分发方法,其特征在于,所述内容分析引擎支持预设内置的条件原语,同时支持用户自定义条件原语。
4.根据权利要求1所述的基于HTTP请求内容的流量分发方法,其特征在于,所述内容分析引擎的预设转发逻辑为根据业务场景、风控策略指定的,所述预设转发逻辑包括:
如果HTTP请求内容中包含手机号则把请求转发至第一预设后端处理程序:
如果HTTP请求内容中包含邮箱则把请求转发至第二预设后端处理程序:
如果HTTP请求内容中包含地址信息,且地址信息为预设地址,则把请求转发至第三预设后端处理程序。
5.根据权利要求2所述的基于HTTP请求内容的流量分发方法,其特征在于,所述内容分析引擎中,条件原语的返回值必定为布尔值,该布尔值用于进行逻辑运算;
所述内容分析引擎中条件表达式是多个条件原语与操作符的组合;
所述内容分析引擎中条件变量为将条件原语的结果赋值给的变量;
所述内容分析引擎中高级条件表达式为由多个条件原语、条件变量、操作符构成的组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439567.9A CN113179306B (zh) | 2021-04-23 | 2021-04-23 | 基于http请求内容的流量分发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439567.9A CN113179306B (zh) | 2021-04-23 | 2021-04-23 | 基于http请求内容的流量分发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113179306A true CN113179306A (zh) | 2021-07-27 |
CN113179306B CN113179306B (zh) | 2022-12-06 |
Family
ID=76924236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110439567.9A Active CN113179306B (zh) | 2021-04-23 | 2021-04-23 | 基于http请求内容的流量分发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113179306B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014053A (zh) * | 2010-11-17 | 2011-04-13 | 华为技术有限公司 | 业务下发方法、装置及通信系统 |
US20110088016A1 (en) * | 2009-10-09 | 2011-04-14 | Microsoft Corporation | Program analysis through predicate abstraction and refinement |
US20140143414A1 (en) * | 2011-06-21 | 2014-05-22 | Zte Corporation | Method for sending information and gateway |
CN104717647A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 业务能力鉴权方法、设备及系统 |
CN105119916A (zh) * | 2015-08-21 | 2015-12-02 | 福建天晴数码有限公司 | 一种基于http的认证方法及系统 |
US20160308905A1 (en) * | 2013-12-04 | 2016-10-20 | Hewlett Packard Enterprise Development Lp | Policy rule based on a requested behavior |
CN106302613A (zh) * | 2015-06-10 | 2017-01-04 | 网宿科技股份有限公司 | 一种基于Windows Phone 8平台的引导应用流量的方法 |
CN106961395A (zh) * | 2016-01-08 | 2017-07-18 | 中国移动通信集团黑龙江有限公司 | 一种移动互联网流量引导方法、装置及系统 |
CN108156038A (zh) * | 2017-12-29 | 2018-06-12 | 广东欧珀移动通信有限公司 | 请求分发方法、装置、接入网关及存储介质 |
CN110120917A (zh) * | 2019-06-28 | 2019-08-13 | 北京百度网讯科技有限公司 | 基于内容的路由方法及装置 |
US10666620B1 (en) * | 2012-11-30 | 2020-05-26 | United Services Automobile Association (Usaa) | Private network request forwarding |
CN111865990A (zh) * | 2020-07-23 | 2020-10-30 | 上海中通吉网络技术有限公司 | 内网恶意反向连接行为的管控方法、装置、设备和系统 |
CN112235408A (zh) * | 2020-10-19 | 2021-01-15 | 新华三信息安全技术有限公司 | 网络系统、反向代理方法及反向代理服务器 |
CN112242972A (zh) * | 2019-07-16 | 2021-01-19 | 腾讯科技(武汉)有限公司 | 网络请求处理方法、装置、存储介质及终端 |
CN112328910A (zh) * | 2020-10-10 | 2021-02-05 | 深圳航天智慧城市系统技术研究院有限公司 | 一种涵盖aoi和poi标准地址匹配引擎的方法及系统 |
-
2021
- 2021-04-23 CN CN202110439567.9A patent/CN113179306B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110088016A1 (en) * | 2009-10-09 | 2011-04-14 | Microsoft Corporation | Program analysis through predicate abstraction and refinement |
CN102014053A (zh) * | 2010-11-17 | 2011-04-13 | 华为技术有限公司 | 业务下发方法、装置及通信系统 |
US20140143414A1 (en) * | 2011-06-21 | 2014-05-22 | Zte Corporation | Method for sending information and gateway |
US10666620B1 (en) * | 2012-11-30 | 2020-05-26 | United Services Automobile Association (Usaa) | Private network request forwarding |
US20160308905A1 (en) * | 2013-12-04 | 2016-10-20 | Hewlett Packard Enterprise Development Lp | Policy rule based on a requested behavior |
CN104717647A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 业务能力鉴权方法、设备及系统 |
CN106302613A (zh) * | 2015-06-10 | 2017-01-04 | 网宿科技股份有限公司 | 一种基于Windows Phone 8平台的引导应用流量的方法 |
CN105119916A (zh) * | 2015-08-21 | 2015-12-02 | 福建天晴数码有限公司 | 一种基于http的认证方法及系统 |
CN106961395A (zh) * | 2016-01-08 | 2017-07-18 | 中国移动通信集团黑龙江有限公司 | 一种移动互联网流量引导方法、装置及系统 |
CN108156038A (zh) * | 2017-12-29 | 2018-06-12 | 广东欧珀移动通信有限公司 | 请求分发方法、装置、接入网关及存储介质 |
CN110120917A (zh) * | 2019-06-28 | 2019-08-13 | 北京百度网讯科技有限公司 | 基于内容的路由方法及装置 |
US20200412644A1 (en) * | 2019-06-28 | 2020-12-31 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Content based routing method and apparatus |
CN112242972A (zh) * | 2019-07-16 | 2021-01-19 | 腾讯科技(武汉)有限公司 | 网络请求处理方法、装置、存储介质及终端 |
CN111865990A (zh) * | 2020-07-23 | 2020-10-30 | 上海中通吉网络技术有限公司 | 内网恶意反向连接行为的管控方法、装置、设备和系统 |
CN112328910A (zh) * | 2020-10-10 | 2021-02-05 | 深圳航天智慧城市系统技术研究院有限公司 | 一种涵盖aoi和poi标准地址匹配引擎的方法及系统 |
CN112235408A (zh) * | 2020-10-19 | 2021-01-15 | 新华三信息安全技术有限公司 | 网络系统、反向代理方法及反向代理服务器 |
Non-Patent Citations (3)
Title |
---|
WEIXIN_33854644: "HTTP内容分发——《HTTP权威指南》系列", 《CSDN》 * |
刘雄: "基于Linux系统的TCP迁移的研究与实现", 《汕头大学学报(自然科学版)》 * |
王福荣: "基于有限DPI的小代价精确用户行为识别方案的研究与实现", 《科技经济导刊》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113179306B (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713182B2 (en) | Selection of a suitable node to host a virtual machine in an environment containing a large number of nodes | |
US10250451B1 (en) | Intelligent analytic cloud provisioning | |
US9633104B2 (en) | Methods and systems to operate on group-by sets with high cardinality | |
CN113360554B (zh) | 一种数据抽取、转换和加载etl的方法和设备 | |
CN108932257A (zh) | 多维度数据的查询方法及装置 | |
US20210096981A1 (en) | Identifying differences in resource usage across different versions of a software application | |
EP2044749B1 (en) | Dispatching request fragments from a response aggregating surrogate | |
US7783743B1 (en) | Methods and apparatus for processing electronic mail-related data | |
US8959229B1 (en) | Intelligently provisioning cloud information services | |
CN109460412A (zh) | 数据聚合方法、装置、设备及存储介质 | |
US10554744B2 (en) | Replication of content to one or more servers | |
US11868310B2 (en) | Composite storage of objects in multi-tenant devices | |
CN109947804A (zh) | 数据集合查询的优化方法、装置、服务器和存储介质 | |
CN114416670B (zh) | 适用于网盘文档的索引创建方法、装置、网盘及存储介质 | |
US20150199408A1 (en) | Systems and methods for a high speed query infrastructure | |
CN115048254B (zh) | 数据分配策略的仿真测试方法、系统、设备和可读介质 | |
CN116016628A (zh) | 一种api网关埋点分析方法及装置 | |
CN110245684B (zh) | 数据处理方法、电子设备和介质 | |
CN113760242B (zh) | 一种数据处理方法、装置、服务器和介质 | |
CN113179306B (zh) | 基于http请求内容的流量分发方法 | |
CN109815241A (zh) | 数据查询方法、装置、设备和存储介质 | |
US20210209103A1 (en) | Data segment-based indexing | |
CN110196863A (zh) | 数据处理方法、装置、计算设备及存储介质 | |
US11210352B2 (en) | Automatic check of search configuration changes | |
US20220222752A1 (en) | Methods for analyzing insurance data and devices thereof |
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 |