CN116915684A - 一种基于规则配置的url路由实现方法及系统 - Google Patents
一种基于规则配置的url路由实现方法及系统 Download PDFInfo
- Publication number
- CN116915684A CN116915684A CN202310985834.1A CN202310985834A CN116915684A CN 116915684 A CN116915684 A CN 116915684A CN 202310985834 A CN202310985834 A CN 202310985834A CN 116915684 A CN116915684 A CN 116915684A
- Authority
- CN
- China
- Prior art keywords
- url
- rule
- routing
- configuration
- http request
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 41
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- 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
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种基于规则配置的URL路由实现方法及系统,本发明实施例在需要对URL路由规则进行调整时,从预设JSON配置文件中加载URL路由配置规则,从来自客户端的HTTP请求中提取请求方法、URL地址,利用URL路由匹配规则对所述请求方法、URL地址进行逐个比对;当所述比对结果符合时,将URL路由匹配规则中的预设结构定义及相关信息发送至客户端;根据客户端接收到的信息决定是否输出响应正文、预定义字符串内容、输出文件内容。本发明实施例通过远程下发的方式动态调整URL路由匹配规则,可以随时调整不同URL路由下响应的数据内容,调整后的URL路由规则可以通过预留的API接口直接更新,无需修改程序,降低了程序的维护难度与维护成本,提高了程序整体可用性。
Description
技术领域
本发明实施例涉及无线通信技术领域,具体涉及一种基于规则配置的URL路由实现方法及系统。
背景技术
路由策略是为了改变网络流量所经过的途径而修改路由信息的技术,主要通过改变路由属性来实现。路由策略可以用来控制路由的发布、控制路由的接收、管理引入的路由和设置路由的属性,是可以根据请求方式与URL的不同动态执行不同的程序逻辑或数据的方式。
当前主流实现URL路由的方式在程序开发过程中就已经固定,符合特定URL路由的请求会响应特定的数据。如果需要对路由规则进行调整,则需要修改程序源代码,然后逐个重新部署到应用服务器上,升级程序往往会造成服务中断。
整个过程比较繁琐且可能因为各种原因导致正在访问的用户出现中断,影响用户体验。如果业务比较灵活,则需要频繁调整路由规则,在升级维护上浪费大量时间与精力。
发明内容
为此,本发明实施例提供一种基于规则配置的URL路由实现方法及系统,以解决现有技术修改路由规则需要重新编译程序,重新登陆到服务器更新程序的技术问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,提供了一种基于规则配置的URL路由实现方法,所述方法包括:
S1、从预设JSON配置文件中加载URL路由配置规则,并将所述URL路由配置规则储存到内存中;
S2、接收到来自客户端的HTTP请求,从所述HTTP请求中提取请求方法、URL地址,利用URL路由匹配规则对所述请求方法、URL地址进行逐个比对,生成比对结果;
S3、当所述比对结果符合时,根据URL路由匹配规则中的预设结构定义及相关信息发送至客户端;
S4、根据所述结构定义及相关信息中的HTTP响应主体的正文类型决定是否输出响应正文、预定义字符串内容、输出文件内容。
进一步地,所述URL路由配置规则以JSON配置文件为载体储存,配置文件中具体描述了URL路由的匹配规则与匹配后响应的数据结构描述。
进一步地,所述JSON配置文件中记述了HTTP请求方法、URL路由匹配规则、响应HTTP请求状态码、响应HTTP请求头信息列表、HTTP响应主体的正文类型、响应主体的正文内容/文件地址;
其中,所述URL路由匹配规则包括URL的匹配方式、URL的匹配范围、用于URL匹配的字符串或正则表达式描述字符串。
进一步地,所述结构定义及相关信息包括响应客户端HTTP请求的状态码与HTTP请求头信息。
进一步地,如果HTTP响应主体的正文类型为文件,则读取该描述中指定的文件地址,读取该文件并输出至响应体中。
优选地,一种基于规则配置的URL路由实现方法还包括:
获取一条URL路由匹配规则;
判断所述URL路由匹配规则是否与HTTP请求相匹配;
如果所述URL路由匹配规则与所述HTTP请求相匹配,则保存HTTP请求信息并生成响应信息;
如果所述URL路由匹配规则与所述HTTP请求不匹配,则判断该URL路由匹配规则是否为最后一条规则;
如果所述URL路由匹配规则为最后一条规则,则输出404信息;
如果所述URL路由匹配规则不为最后一条规则,则重新获取URL路由匹配规则。
进一步地,当所述URL匹配规则产生变更时,通过预设API接口上传新JSON配置文件并将原来的JSON配置文件覆盖,从步骤S1开始重新加载新JSON配置文件并覆盖更新至内存中。
根据本发明实施例的第二方面,提供了一种基于规则配置的URL路由实现系统,所述系统包括:
加载模块,用于从预设JSON配置文件中加载URL路由配置规则,并将所述URL路由配置规则储存到内存中;
比对模块,用于接收到来自客户端的HTTP请求,从所述HTTP请求中提取请求方法、URL地址,利用URL路由匹配规则对所述请求方法、URL地址进行逐个比对,生成比对结果;
发送模块,用于当所述比对结果符合时,根据URL路由匹配规则中的预设结构定义及相关信息发送至客户端;
输出模块,用于根据所述结构定义及相关信息中的HTTP响应主体的正文类型决定是否输出响应正文、预定义字符串内容、输出文件内容。
本发明实施例具有如下优点:
本发明实施例在需要对URL路由规则进行调整时,从预设JSON配置文件中加载URL路由配置规则,从来自客户端的HTTP请求中提取请求方法、URL地址,利用URL路由匹配规则对所述请求方法、URL地址进行逐个比对;当所述比对结果符合时,将URL路由匹配规则中的预设结构定义及相关信息发送至客户端;根据客户端接收到的信息决定是否输出响应正文、预定义字符串内容、输出文件内容。本发明实施例通过远程下发的方式动态调整URL路由匹配规则,可以随时调整不同URL路由下响应的数据内容,调整后的URL路由规则可以通过预留的API接口直接更新,无需修改程序,降低了程序的维护难度与维护成本,提高了程序整体可用性。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明实施例提供的一种基于规则配置的URL路由实现系统的逻辑结构示意图;
图2为本发明实施例提供的一种基于规则配置的URL路由实现方法的第一流程示意图;
图3为本发明实施例提供的一种基于规则配置的URL路由实现方法的第二流程示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前主流实现URL路由的方式在程序开发过程中就已经固定,符合特定URL路由的请求会响应特定的数据。如果需要对路由规则进行调整,则需要修改程序源代码,然后逐个重新部署到应用服务器上,升级程序往往会造成服务中断。
整个过程比较繁琐且可能因为各种原因导致正在访问的用户出现中断,影响用户体验。如果业务比较灵活,则需要频繁调整路由规则,在升级维护上浪费大量时间与精力
为了解决上述修改路由规则需要重新编译程序,重新登陆到服务器更新程序的技术问题。
参考图1,本发明实施例公开了一种基于规则配置的URL路由实现系统,该系统包括:加载模块1,比对模块2,发送模块3,输出模块4。
加载模块1从预设JSON配置文件中加载URL路由配置规则,并将所述URL路由配置规则储存到内存中,如图2所示,比对模块2接收到来自客户端的HTTP请求后,从所述HTTP请求中提取请求方法、URL地址,利用URL路由匹配规则对所述请求方法、URL地址进行逐个比对,生成比对结果;当所述比对结果符合时,发送模块3根据URL路由匹配规则中的预设结构定义及相关信息发送至客户端;输出模块4根据所述结构定义及相关信息中的HTTP响应主体的正文类型决定是否输出响应正文、预定义字符串内容、输出文件内容。
与上述公开的一种基于规则配置的URL路由实现系统相对应,本发明实施例还公开了一种基于规则配置的URL路由实现方法。以下结合上述描述的一种基于规则配置的URL路由实现系统详细介绍本发明实施例中公开的一种基于规则配置的URL路由实现方法。
参考图2,所述方法包括:所述方法包括:S1、从预设JSON配置文件中加载URL路由配置规则,并将所述URL路由配置规则储存到内存中;S2、接收到来自客户端的HTTP请求,从所述HTTP请求中提取请求方法、URL地址,利用URL路由匹配规则对所述请求方法、URL地址进行逐个比对,生成比对结果;S3、当所述比对结果符合时,根据URL路由匹配规则中的预设结构定义及相关信息发送至客户端;S4、根据所述结构定义及相关信息中的HTTP响应主体的正文类型决定是否输出响应正文、预定义字符串内容、输出文件内容。
其中,将URL(Uniform Resource Locator,统一资源定位器)路由配置规则以JSON配置文件为载体储存,配置文件中具体描述了URL路由的匹配规则,与匹配后响应的数据结构。
其中,JSON(JavaScript ObjectNotation,JavaScript对象简谱)为一种轻量级资料交换格式,其内容由属性和值所组成。JSON为基于ECMAScript(European ComputerManufacturers Association,欧洲计算机协会制定的JavaScript规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
其中,所述比对方式会根据URL路由描述规则的不同而选择不同的比对方式,可以根据URL路由描述规则使用文本搜索或正则表达式匹配方式在完整的URL路径或URL路径中的路径部分进行搜索或匹配。
进一步地,所述JSON配置文件中记述了HTTP请求方法、URL路由匹配规则、响应HTTP请求状态码、响应HTTP请求头信息列表、HTTP响应主体的正文类型、响应主体的正文内容/文件地址。
其中,所述预设结构定义及相关信息为命中规则时响应到客户端的结构定义信息及相关信息。
其中,HTTP为超文本传输协议(HyperTextTransferProtocol,简称HTTP)。
其中,所述URL路由匹配规则包括URL的匹配方式、URL的匹配范围、用于URL匹配的字符串或正则表达式描述字符串。
进一步地,所述结构定义及相关信息包括响应客户端HTTP请求的状态码与HTTP请求头信息。
进一步地,如果HTTP响应主体的正文类型为文件,则读取该描述中指定的文件地址,读取该文件并输出至响应体中。
参考图3,获取一条URL路由匹配规则;判断所述URL路由匹配规则是否与HTTP请求相匹配;如果所述URL路由匹配规则与所述HTTP请求相匹配,则保存HTTP请求信息并生成响应信息;如果所述URL路由匹配规则与所述HTTP请求不匹配,则判断该URL路由匹配规则是否为最后一条规则;如果所述URL路由匹配规则为最后一条规则,则输出404信息;如果所述URL路由匹配规则不为最后一条规则,则重新获取URL路由匹配规则。
进一步地,当所述URL匹配规则产生变更时,通过预设API接口上传新JSON配置文件并将原来的JSON配置文件覆盖,从步骤S1开始重新加载新JSON配置文件并覆盖更新至内存中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种基于规则配置的URL路由实现方法,其特征在于,所述方法包括:
S1、从预设JSON配置文件中加载URL路由配置规则,并将所述URL路由配置规则储存到内存中;
S2、接收到来自客户端的HTTP请求,从所述HTTP请求中提取请求方法、URL地址,利用URL路由匹配规则对所述请求方法、URL地址进行逐个比对,生成比对结果;
S3、当所述比对结果符合时,根据URL路由匹配规则中的预设结构定义及相关信息发送至客户端;
S4、根据所述结构定义及相关信息中的HTTP响应主体的正文类型决定是否输出响应正文、预定义字符串内容、输出文件内容。
2.如权利要求1所述的一种基于规则配置的URL路由实现方法,其特征在于,所述URL路由配置规则以JSON配置文件为载体储存,配置文件中具体描述了URL路由的匹配规则与匹配后响应的数据结构描述。
3.如权利要求2所述的一种基于规则配置的URL路由实现方法,其特征在于,所述JSON配置文件中记述了HTTP请求方法、URL路由匹配规则、响应HTTP请求状态码、响应HTTP请求头信息列表、HTTP响应主体的正文类型、响应主体的正文内容/文件地址;
其中,所述URL路由匹配规则包括URL的匹配方式、URL的匹配范围、用于URL匹配的字符串或正则表达式描述字符串。
4.如权利要求3所述的一种基于规则配置的URL路由实现方法,其特征在于,所述结构定义及相关信息包括响应客户端HTTP请求的状态码与HTTP请求头信息。
5.如权利要求4所述的一种基于规则配置的URL路由实现方法,其特征在于,如果HTTP响应主体的正文类型为文件,则读取该描述中指定的文件地址,读取该文件并输出至响应体中。
6.如权利要求5所述的一种基于规则配置的URL路由实现方法,其特征在于,所述方法还包括:
获取一条URL路由匹配规则;
判断所述URL路由匹配规则是否与HTTP请求相匹配;
如果所述URL路由匹配规则与所述HTTP请求相匹配,则保存HTTP请求信息并生成响应信息;
如果所述URL路由匹配规则与所述HTTP请求不匹配,则判断该URL路由匹配规则是否为最后一条规则;
如果所述URL路由匹配规则为最后一条规则,则输出404信息;
如果所述URL路由匹配规则不为最后一条规则,则重新获取URL路由匹配规则。
7.如权利要求6所述的一种基于规则配置的URL路由实现方法,其特征在于,当所述URL匹配规则产生变更时,通过预设API接口上传新JSON配置文件并将原来的JSON配置文件覆盖,从步骤S1开始重新加载新JSON配置文件并覆盖更新至内存中。
8.一种基于规则配置的URL路由实现系统,其特征在于,所述系统包括:
加载模块,用于从预设JSON配置文件中加载URL路由配置规则,并将所述URL路由配置规则储存到内存中;
比对模块,用于接收到来自客户端的HTTP请求,从所述HTTP请求中提取请求方法、URL地址,利用URL路由匹配规则对所述请求方法、URL地址进行逐个比对,生成比对结果;
发送模块,用于当所述比对结果符合时,根据URL路由匹配规则中的预设结构定义及相关信息发送至客户端;
输出模块,用于根据所述结构定义及相关信息中的HTTP响应主体的正文类型决定是否输出响应正文、预定义字符串内容、输出文件内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310985834.1A CN116915684A (zh) | 2023-08-07 | 2023-08-07 | 一种基于规则配置的url路由实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310985834.1A CN116915684A (zh) | 2023-08-07 | 2023-08-07 | 一种基于规则配置的url路由实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116915684A true CN116915684A (zh) | 2023-10-20 |
Family
ID=88362952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310985834.1A Pending CN116915684A (zh) | 2023-08-07 | 2023-08-07 | 一种基于规则配置的url路由实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116915684A (zh) |
-
2023
- 2023-08-07 CN CN202310985834.1A patent/CN116915684A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6477576B2 (en) | Methods, systems and computer program products for the automated discovery of a services menu | |
US20150006555A1 (en) | Message Publishing and Subscribing Method and Apparatus | |
JP2022520690A (ja) | 加入者情報のサーバベースのセグメント化と、ターゲットコンテンツプロビジョニングのためのコンテンツフォーマット変換 | |
CN110830374B (zh) | 一种基于sdk的灰度发布的方法和装置 | |
CN103843308A (zh) | 跨越多个计算设备分布的应用的执行 | |
US20180146072A1 (en) | Creation of a binding based on a description associated with a server | |
RU2316131C2 (ru) | Способ хранения страниц в памяти мобильного устройства (варианты) и мобильное устройство для его осуществления | |
CN109597643A (zh) | 应用灰度发布方法、装置、电子设备及存储介质 | |
US20200327001A1 (en) | Message processing method and system, storage medium and electronic device | |
US20200111487A1 (en) | Voice capable api gateway | |
CN112565334B (zh) | 物联网设备的接入方法、装置及mqtt网关 | |
CN107168765A (zh) | 一种远程编译软件的方法及系统 | |
CN103634393A (zh) | Ivr及其实现方法 | |
CN108279924A (zh) | 程序发布方法及装置 | |
US10467143B1 (en) | Event-driven cache | |
CN110233842B (zh) | 一种请求的校验方法和相关装置 | |
CN113760278A (zh) | 一种页面管理方法和装置 | |
CN111949275A (zh) | 一种脚本部署方法、请求处理方法及装置 | |
CN116915684A (zh) | 一种基于规则配置的url路由实现方法及系统 | |
CN114285859B (zh) | 中间层区块链服务的数据处理方法、装置、设备及存储介质 | |
CN112688980B (zh) | 资源分发方法、装置、计算机设备 | |
CN113992622A (zh) | 一种基于统一模型的多模板聚合消息通知发送系统及方法 | |
CN114125067A (zh) | 前后端分离的灰度发布方法、前端服务器和配置服务器 | |
US20090063505A1 (en) | Selective chaining of LDAP directory servers | |
CN109840156B (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 |