CN110958180A - 网关路由方法、智能网关、电子设备及计算机存储介质 - Google Patents
网关路由方法、智能网关、电子设备及计算机存储介质 Download PDFInfo
- Publication number
- CN110958180A CN110958180A CN201911114305.4A CN201911114305A CN110958180A CN 110958180 A CN110958180 A CN 110958180A CN 201911114305 A CN201911114305 A CN 201911114305A CN 110958180 A CN110958180 A CN 110958180A
- Authority
- CN
- China
- Prior art keywords
- service
- information
- name
- gateway
- field
- 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 66
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000008859 change Effects 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 231100000989 no adverse effect Toxicity 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/74—Address processing for routing
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- 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/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例涉及网关路由方法,智能网关、电子设备及计算机存储介质。该网关路由方法包括接收来自访问接口的路径信息;解析所述路径信息以获取所述路径信息记录的服务名称;根据所述服务名称,在所述分布式键值存储系统中获取对应的服务地址以确定响应服务。该方法利用服务名称作为索引,可以帮助网关在分布式键值存储系统中自动获取所需要的服务地址等服务的相关信息,不需要自行配置服务地址列表,对于后端服务的更新和变化具有较高的灵活性。
Description
【技术领域】
本发明涉及网络信息传输技术领域,尤其涉及一种网关路由方法,智能网关、电子设备及计算机存储介质。
【背景技术】
网关(Gateway)是网络信息传输中非常重要的组成部分。其起到一个类似于“关口”的作用,可以用于连接两个不同的网络,通过对信息的一系列处理,满足网络间的信息传递和通信需求。
在传统的网关构建过程中,访问请求的路径信息(path)的格式和定义规则并不统一,由不同的服务自行定义,导致网关无法从path得到充分的服务相关信息。
例如,基于nginx/haproxy实现的代理路由中,都是基于路径信息的前缀进行匹配或者通过正则匹配的方法来解析尚未完成服务的路径信息,并按照服务规则对路由进行配置。
在实现本申请的过程中,发明人发现现有技术存在如下问题:进行路由时所需要的服务地址前需要自行配置,灵活性较差,在后端服务发生变化时(如缩容或者扩容),需要相应的修改配置来获取服务地址,对于服务而言是有损操作。
【发明内容】
本发明实施例提供一种网关路由方法,智能网关、电子设备及计算机存储介质,旨在解决现有网关路由方法中存在至少一部分缺陷。
本发明实施例提供以下技术方案:一种网关路由方法。其中,所述方法包括:
接收来自访问接口的路径信息;
解析所述路径信息,以获取所述路径信息记录的服务名称;
根据所述服务名称,在所述分布式键值存储系统中获取对应的服务地址,以确定响应服务。
本发明另一实施例提供以下技术方案:一种智能网关。其中,所述智能网关包括:
接收模块,用于接收访问请求的路径信息;解析模块,用于解析所述路径信息以获取所述路径信息记录的服务名称,所述服务名称为服务在分布式键值存储系统中的主键,以及发现模块,用于根据所述服务名称,在所述分布式键值存储系统中获取对应的服务地址,以确定响应服务。
本发明另一实施例提供以下技术方案:一种电子设备。其中,该电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上所述的网关路由方法。
本发明另一实施例提供以下技术方案:一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上所述的网关路由方法。
与现有技术相比较,本发明实施例提供的网关路由方法利用服务名称作为索引,可以帮助网关在分布式键值存储系统中自动获取所需要的服务地址等服务的相关信息,不需要自行配置服务地址列表,对于后端服务的更新和变化具有较高的灵活性。
【附图说明】
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例的网关路由方法的示意图;
图2为本发明实施例提供的网关路由方法在搜索路由时的示意图;
图3为本发明实施例提供的网关路由方法在更新路由时的示意图;
图4为本发明实施例提供的路径信息的示意图;
图5为本发明实施例提供的路径信息的具体实例的示意图;
图6为本发明实施例提供的网关路由方法的应用场景的示意图;
图7为本发明实施例提供的智能网关的示意图;
图8为本发明实施例提供的电子设备的示意图。
【具体实施方式】
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。需要说明的是,当元件被表述“固定于”另一个元件,它可以直接在另一个元件上、或者其间可以存在一个或多个居中的元件。当一个元件被表述“连接”另一个元件,它可以是直接连接到另一个元件、或者其间可以存在一个或多个居中的元件。本说明书所使用的术语“上”、“下”、“内”、“外”、“底部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本发明不同实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
“路由”是指将信息从源地址传输到目的地址的活动。其通常可以分为寻找路径和根据路径发送信息两个步骤。在寻找路径的过程中,网关可以根据配置好的服务地址列表等信息,搜索匹配访问请求所指向的目标服务的服务地址来确定路径。
由此,可以理解的是,网关路由最重要的工作目标在于找到访问请求指向的目标服务的服务地址。在获得该服务地址后,便可以进行路由,支持不同网络之间的通信。
图1为本发明实施例提供的网关路由方法的示意图。其可以由任何类型的电子计算设备执行,如服务器或者路由器等,建立网关并自动的获取所需要的服务地址和相关信息。如图1所示,所述网关路由方法包括:
步骤110:接收来自访问接口的路径信息。
其中,访问接口位于前端,用于发送相应的访问请求指令至网关以请求访问或者使用某项特定服务的请求信息。访问接口在发送访问请求时,可以通过被称为“路径信息”(path)的信息来表示其想要访问或者使用的服务。
为陈述简便,在本说明书中使用“目标服务”这样的术语来表示访问请求所指向的,想要访问的服务。相应地,路径信息中记录有该目标服务的相关属性信息。
步骤120:解析所述路径信息,以获取所述路径信息记录的服务名称。
其中,所述服务名称是分布式键值存储系统中用于区分不同服务的标识。分布式键值存储系统是一个用于存储数据信息的系统,具体可以采用任何合适类型的分布式键值存储系统。例如,被称为etcd的高可用键值存储仓库。etcd采用raft一致性算法实现分布式系统数据的可用性和一致性,基于Go语言实现,安装配置简单。
“服务”作为一个实体对象,可以通过多种不同的属性来进行描述和定义。所有的这些属性可以被称为“服务的相关属性信息”。在本实施例中,“服务名称”是指在分布式键值存储系统中用于区分不同服务的标识。
换言之,其可以是任何合适的,用于区分不同服务的属性(例如身份标识,ID或者其他的主键)。例如,在etcd中,该服务名称可以是服务在etcd的注册名。
为实现自动获取服务地址,在路径信息中记录有目标服务的服务名称。具体可以根据实际情况的需要或者设计偏好,选择使用任何的设置规则在路径信息中记录服务名称。路径信息的解析方式取决于路径信息的设置规则。
在一些实施例中,该路径信息可以由预设规则定义的多个字段组成。各个字段按照预设规则有序的排列,并用于记录某一属性的值。由此,在解析时,可以根据预设规则,确定用于记录服务名称的字段在路径信息中的位置,从而获取该名称字段中记录的服务名称。
通过统一的预设规则定义路径信息,可以方便网关获取所需要使用的数据信息,为访问接口提供更高效的代理服务。
步骤130:根据所述服务名称,在所述分布式键值存储系统中获取对应的服务地址,以确定响应服务。
其中,分布式键值存储系统作为一个数据存储仓库,可以存储有多个服务的属性信息。而服务地址作为其中一个服务属性,会被存储到该分布式键值存储系统中。
网关在解析得到服务名称后,由于服务名称是一个能够区分不同服务的标识。因此,可以以此为索引,在分布式键值存储系统中搜索找到对应的服务,并进一步的获取其服务地址。例如,在etcd中,网关可以通过服务发现的功能,自动的获取目标服务的服务地址。
网关获取到目标服务的服务地址以后,便可以确定信息传递的路径,进而进行路由工作,为访问请求提供相应的服务。
由于服务地址的是依赖于分布式键值存储系统中存储的属性信息,以服务发现的方式自动获得的。因此,在网关路由时不需要自行配置服务地址,具有比较好的使用性能和灵活性。
在较佳的实施例中,在后端的服务出现变动的情况下,网关还可以执行如下的步骤以实现路由更新:
首先,接收来自所述分布式键值存储系统的服务地址变更信息。
该服务地址变更信息是指记录了服务地址变动情况的数据信息。根据实际应用的情况的不同,可以使用相应类型或者结构的数据信息将服务地址的变化提供给网关。
例如,在使用etcd这样的分布式键值存储系统时,网关可以被配置为etcd的“订阅者”。这样的,当etcd中存储的服务地址发生变化时,其变化信息会被自动的发送到订阅了etcd的网关中。
然后,根据所述服务地址变更信息,更新路由的服务地址。网关在获知了服务地址的变更信息后,可以相应的对服务地址进行更新,改变路由的目的地址为更新后的服务地址。
以下以使用etcd作为分布式键值存储系统为例,详细描述网关搜索路由和更新路由的过程。其中,图2为本发明实施例提供的搜索路由的示意图。图3为本发明实施例提供的更新路由的示意图。
如图2所示,在搜索路由的场景中,包括网关100,etcd200以及服务300。
其中,服务300会在etcd200上以相应的服务名称进行注册,并存储记录有多种属性信息(如服务地址)。不同的服务300具有不同的服务名称,用以区分。
网关100在接收到访问请求时,按照预设规则解析访问请求的路径信息,获取其指向的目标服务的服务名称。
基于获得的服务名称,利用被称为“服务发现”的功能,在etcd200中搜索发现对应的服务,获取目标服务的服务地址。
基于获取的服务地址,为访问接口提供相应的代理服务(亦即进行路由工作),建立后端服务300与前端访问接口之间的联系。
在较佳的实施例中,该代理服务的类型是可选择的。访问接口可以在路径消息中记录请求使用的代理类型(如http代理或rpc代理)。
在图2所示的搜索路由的过程中,网关100不需要配置地址列表,而可以依赖于etcd同步提供的信息自动的得到目标服务的服务地址,不需要人工干预即可快速准确的为访问接口提供代理服务。
如图3所示,在更新路由的场景中,也包括网关100,etcd200以及服务300三个主要组成部分。
其中,网关100被配置为etcd200的“订阅者”。服务300在发生变更的情况下,其在etcd中的节点信息会发生相应的改变。etcd200在节点信息出现变化时,会通知所有订阅者,使得网关100可以及时获取服务300的变化情况。
基于通过etcd200发送的变化情况,网关100可以相应的改变服务地址,从而完成路由的更新。
在图3所示的更新路由的过程中,通过将网关100设置的订阅者的方式,后端服务300发生的变化将通过etcd200自动的传递给网关100,在没有人工干预的情况下也可以自行高效的完成路由更新,并且不会对服务造成不利的影响。
图4为本发明实施例提供的路径消息的示意图。如图4所示,该路径消息可以包括:环境字段21、代理类型字段22、版本字段23、名称字段24以及方法名字段25。
其中,环境字段21用于记录访问接口所在的环境信息,代理类型字段22用于记录服务的代理类型,版本字段23用于记录服务的版本信息,名称字段24用于记录服务的服务名称,方法名字段25用于记录访问接口的名称。
根据预设规则,可以得知上述各个字段在路径消息中的位置,并进而获取这些字段记录的属性值。具体解析获取的方法与获取服务名称的方式相近似,为陈述简便,在此不作赘述。
图5为本发明实施例提供的路径消息的一个具体实例的示意图。如图5所示,该路径消息可以由五个不同的字段组成,不同的字段之间通过间隔符(斜杠“/”)隔开。
其中,第一个字段由“ENV”表示(即environment的缩写),是环境字段,用于通过相应的字符串记录访问接口所在的环境信息。
第二个字段是代理类型字段。其使用两个枚举值“api”和“rpc”,分别表示http代理和rpc代理两种不同的反向代理方式。换言之,当代理类型字段中记录的字符串是api时,表明选择使用的代理类型为http代理。而当代理类型字段记录的字符串为rpc代理时,表明选择使用的代理类型为rpc代理。
第三个字段是版本字段,用于版本号来记录目标服务所使用的版本。在本实施例中以“v1”(即version 1的缩写)来示例性的表示。当然,也可以根据实际情况的需要,选择使用其他合适的字符串来表示目标服务的版本。
第四个字段是最重要的名称字段,用于记录目标服务在etcd中的注册名称。在本实施例中以“service-name”来示例性的表示。具体可以直接将目标服务的注册名称记录在名称字段中,方便在etcd中搜索目标服务。
第五个字段是方法名字段。其记录的是访问接口的名称,在本实施例中以“method-name”来示例性的表示。其与名称字段的记录方式相类似,也可以直接将访问接口的名称记录在该方法名字段中,以便于快速确定发出访问请求的访问接口。
以下结合具体实例详细描述路径消息中各个字段记录信息的作用。应当说明的是,图4和图5所示的路径消息仅用于示例性说明,上述各个字段之间是相对独立的部分,之间没有递进等关联。本领域技术人员可以根据实际情况的需要,减省或者增加所述路径消息中的一个或者多个字段,或者更改字段之间的排列次序。
在对路径消息的字段设置规则进行变更或者调整后,只需要同步的更新网关对于路径消息的解析规则,采用与变更和调整后的字段设置规则一致的解析方式对路径消息进行解析,即可获得路径消息中记录的所有信息。
在一些实施例中,在解析获取了环境字段记录的环境信息后,网关可以判断当前环境是否与路径信息记录的环境信息相匹配。然后,在当前环境与所述环境信息不匹配时,返回环境错误的提示信息。
通过设置环境字段,可以方便网关确认和发现前端环境是否正确,从而直接返回环境错误的提示信息,避免了因环境问题而导致服务报错的问题。而且,在定位错误时,还可以利用路径信息中记录的环境信息方便的在相应的环境中进行定位。
在一些实施例中,在解析获取了代理类型字段记录的代理类型以后,网关可以据此提供对应类型的代理服务。具体的,为服务提供了http代理和rpc代理两种不同的代理类型进行选择。
相对于传统的代理服务只能提供http代理的方式,本发明实施例提供了两种可选的代理类型。令人惊喜的发现,至少部分的服务在使用rpc代理时,效率更高。
在一些实施例中,在解析获取了版本字段记录的版本信息后,网关可以结合版本信息与服务名称,在所述分布式键值存储系统中获取对应的服务地址。
“版本信息”是一个进一步用于区分服务的属性。在实际使用过程中,随着使用需求等的不断变化,通常需要对服务进行升级。这样的,会形成多个不同版本的服务。通过“版本信息”这一属性可以去区分不同版本的服务,从而令服务在进行升级时的维护更加方便,无需修改服务的其他相关信息而只需要提供相应的版本信息。
在一些实施例中,路径信息中的方法名字段25记录的访问接口的名称是一项有意义的数据信息。基于该访问接口的名称可以便于技术人员快速的统计各个接口的代理质量以及耗时情况,及时的排查或者挖掘可能存在的问题。
以上实施例提供的网关路由方法可以在多种不同的应用场景下使用,实现自动获取和更新路由的技术效果。以下结合图6所示的示意图,详细描述本发明实施例的网关路由方法在保险服务系统的API网关中的实际应用过程。
如图6所示,该应用场景可以包括访问者610、API网关620、保险系统内部的服务630以及etcd640等的参与者。
其中,访问者610是处于前端的,用于与用户直接交互的组件。其具体可以是网页浏览器、智能移动终端中安装的客户端移动应用或者第三方接口等。其通常基于交互的结果,发送与用户意图相应的访问请求,请求调用特定的服务。
API网关620是用于隔离前端和后端的组件。其发挥类似于“关口”的作用,作为信息传输的中转站点。所有访问者610都通过API网关620接入到保险服务系统中,调用相应的服务(如查询数据、生成保险合同或者编辑信息等)。
通过API网关620,将整个保险服务系统的内部结构进行封装,保障了保险服务系统内部的数据稳定和安全,也便于不同的访问者610使用。
访问者610只需要与API网关620进行交互而不需要调用系统内部特定的服务630。属于后端的服务630均在etcd 640中注册。亦即,在etcd640中记录有这些服务的服务地址、服务名称以及版本信息等的一系列相关属性信息。
请继续参阅图6,完整的使用过程包括如下的步骤:
首先,基于与用户之间的交互,访问者610将可以将请求查询某种保险的相关资料的访问请求发送至API网关620中。
其次,API网关620根据预设的字段设置规则,对访问请求中携带的路径信息进行解析,获取路径信息中记录的服务名称以及版本信息。
再次,API网关620通过“服务发现”的方式,根据服务名称和版本信息从etcd640中获取服务在etcd640中注册的服务地址。
最后,API网关620基于该服务地址,建立与相应的服务630之间的路由,通过相应的服务630查询获得该项保险的相关资料,并反馈给访问者610。
传统的API网关实现方式需要在网关中配置服务地址列表,并在路由时在服务地址列表中搜索获得需要的服务地址。如果在系统内部的服务发生故障或者更新等情况时,需要运维人员手动操作,对服务地址列表进行更新。
但基于本发明实施例的网关路由方法实现的API网关不需要使用和维护该服务地址列表,可以通过与etcd之间的联系而实现服务地址的自动获取和自动更新,从而更好的支持整个保险服务系统的二十四小时全天运行,减少维护负担和压力。
图7为本发明实施例提供的智能网关700的示意图。在一些实施例中,该智能网关可以是API网关。其封装了系统的内部结构,作为唯一的出入口。如图7所示,该智能网关可以包括:接收模块710,解析模块720以及发现模块730。
其中,接收模块710用于接收访问请求的路径信息;解析模块720用于解析所述路径信息以获取所述路径信息记录的服务名称,所述服务名称为服务在分布式键值存储系统中的主键,用于作为身份标识,区分不同的服务;发现模块730用于根据所述服务名称,在所述分布式键值存储系统中获取对应的服务地址。
通过该智能网关,可以为客户端等提供持续不间断的服务,具有良好的灵活性,并且快捷高效。
在可选的实施例中,该智能网关还包括:更新模块。所述更新模块用于用于接收来自所述分布式键值存储系统的服务地址变更信息。
所述发现模块730用于根据所述服务地址变更信息,更新路由的服务地址。
在可选的实施例中,所述路径信息由预设规则定义的多个字段组成,所述字段包括用于记录服务名称的名称字段。
相对应地,所述解析模块720包括:名称字段确定单元和服务名称获取单元。
其中,所述名称字段确定单元用于根据所述预设规则,确定所述路径信息的名称字段。所述服务名称获取单元用于获取所述名称字段记录的服务名称。
在可选的实施例中,所述字段还包括用于记录访问接口所在的环境信息的环境字段。
相对应地,所述解析模块720还包括:环境字段确定单元,环境信息获取单元以及信息反馈单元。
其中,所述环境字段确定单元用于根据所述预设规则,确定所述路径信息的环境字段。所述环境信息获取单元用于获取所述环境字段记录的环境信息。所述信息反馈单元用于在当前环境与所述环境信息不匹配时,返回环境错误的提示信息。
在可选的实施例中,所述字段还包括用于记录服务的代理类型的代理类型字段。
相对应地,所述解析模块720包括:代理类型字段确定单元,代理类型获取单元以及代理单元。
其中,所述代理类型字段确定单元用于根据所述预设规则,解析所述路径信息的代理类型字段。所述代理类型获取单元用于获取所述代理类型字段记录的代理类型。所述代理单元用于使用对应的代理类型为所述访问接口提供代理服务。
具体的,所述代理类型可以包括http代理和rpc代理两种。
在可选的实施例中,所述字段还包括用于记录服务的版本信息的版本字段。所述解析模块720包括:版本字段确定单元以及版本信息获取单元。
其中,版本字段确定单元用于根据所述预设规则,解析所述路径信息的版本字段和名称字段。版本信息获取单元用于获取所述名称字段记录的服务名称和所述版本字段记录的版本信息。
基于版本信息和服务名称,发现模块730用于根据所述服务名称和版本信息,在所述分布式键值存储系统中获取对应版本的服务地址。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的网关路由方法。
图8示出了本发明电子设备实施例的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图8所示,该电子设备可以包括:处理器(processor)802、通信接口(Communications Interface)804、存储器(memory)806、以及通信总线808。
其中:处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。处理器802,用于执行程序810,具体可以执行上述网关路由方法实施例中的相关步骤。
具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。
处理器802可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。高并发处理设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器806,用于存放程序810。存储器806可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序810具体可以用于使得处理器802执行如上所述的网关路由方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种网关路由方法,其特征在于,所述方法包括:
接收来自访问接口的路径信息;
解析所述路径信息,以获取所述路径信息记录的服务名称;
根据所述服务名称,在分布式键值存储系统中获取对应的服务地址,以确定响应服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收来自所述分布式键值存储系统的服务地址变更信息;
根据所述服务地址变更信息,更新路由的服务地址。
3.根据权利要求1所述的方法,其特征在于,所述路径信息由预设规则定义的多个字段组成,所述字段包括用于记录服务名称的名称字段。
4.根据权利要求3所述的方法,其特征在于,解析所述路径信息,以获取所述路径信息记录的服务名称,具体包括:
根据所述预设规则,确定所述路径信息的名称字段;
获取所述名称字段记录的服务名称。
5.根据权利要求3所述的方法,其特征在于,所述字段还包括用于记录访问接口所在的环境信息的环境字段;
所述方法还包括:
根据所述预设规则,确定所述路径信息的环境字段;
获取所述环境字段记录的环境信息;
在当前环境与所述环境信息不匹配时,返回环境错误的提示信息。
6.根据权利要求3所述的方法,其特征在于,所述字段还包括用于记录服务的代理类型的代理类型字段;
所述方法还包括:
根据所述预设规则,解析所述路径信息的代理类型字段;
获取所述代理类型字段记录的代理类型;
使用对应的代理类型为所述访问接口提供代理服务。
7.根据权利要求6所述的方法,其特征在于,所述代理类型包括http代理和rpc代理。
8.根据权利要求3所述的方法,其特征在于,所述字段还包括用于记录服务的版本信息的版本字段;
所述方法还包括:
根据所述预设规则,解析所述路径信息的版本字段和名称字段;
获取所述名称字段记录的服务名称和所述版本字段记录的版本信息;
根据所述服务名称和版本信息,在所述分布式键值存储系统中获取对应的服务地址。
9.根据权利要求1所述的方法,其特征在于,所述字段还包括用于记录访问接口的名称的方法名字段。
10.一种智能网关,其特征在于,所述智能网关包括:
接收模块,用于接收访问请求的路径信息;
解析模块,用于解析所述路径信息,以获取所述路径信息记录的服务名称,所述服务名称为服务在分布式键值存储系统中的主键;
发现模块,用于根据所述服务名称,在所述分布式键值存储系统中获取对应的服务地址,以确定响应服务。
11.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-9任一项所述的网关路由方法。
12.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-9任一项所述的网关路由方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114305.4A CN110958180B (zh) | 2019-11-14 | 2019-11-14 | 网关路由方法、智能网关、电子设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911114305.4A CN110958180B (zh) | 2019-11-14 | 2019-11-14 | 网关路由方法、智能网关、电子设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110958180A true CN110958180A (zh) | 2020-04-03 |
CN110958180B CN110958180B (zh) | 2024-05-21 |
Family
ID=69977400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911114305.4A Active CN110958180B (zh) | 2019-11-14 | 2019-11-14 | 网关路由方法、智能网关、电子设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110958180B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901238A (zh) * | 2020-07-09 | 2020-11-06 | 中移(杭州)信息技术有限公司 | 动态路由服务方法、装置、电子设备及存储介质 |
CN112953996A (zh) * | 2020-08-03 | 2021-06-11 | 深圳市明源云链互联网科技有限公司 | 服务方法及其系统 |
CN113312390A (zh) * | 2021-06-01 | 2021-08-27 | 北京沃东天骏信息技术有限公司 | 业务数据调用方法、装置及存储介质和电子设备 |
CN113518008A (zh) * | 2021-07-07 | 2021-10-19 | 北京明略软件系统有限公司 | 基于网关接入的服务的处理方法及装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459717A (en) * | 1994-03-25 | 1995-10-17 | Sprint International Communications Corporation | Method and apparatus for routing messagers in an electronic messaging system |
US20100057835A1 (en) * | 2008-08-29 | 2010-03-04 | Mark Cameron Little | Information on availability of services provided by publish-subscribe service |
CN101902387A (zh) * | 2009-05-31 | 2010-12-01 | 北京中京创原通信技术有限公司 | 一种ip电信网系统通用控制报文的封装方法 |
CN103106261A (zh) * | 2013-01-28 | 2013-05-15 | 中国电子科技集团公司第二十八研究所 | 基于窄带云数据服务的分布式查询方法 |
CN106464590A (zh) * | 2015-11-27 | 2017-02-22 | 华为技术有限公司 | 一种获取路径信息的方法及装置 |
CN106790601A (zh) * | 2016-12-29 | 2017-05-31 | Tcl集团股份有限公司 | 服务地址的读取装置、系统和方法 |
CN108390766A (zh) * | 2017-10-25 | 2018-08-10 | 国云科技股份有限公司 | 一种适用于微服务的服务注册与发现方法 |
CN108881030A (zh) * | 2018-06-07 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 灰度发布场景下的路由方法及装置 |
CN108924210A (zh) * | 2018-06-27 | 2018-11-30 | 杭州贝店科技有限公司 | 业务请求处理方法、装置、服务器及存储介质 |
CN109191008A (zh) * | 2018-09-30 | 2019-01-11 | 江苏农牧科技职业学院 | 一种用于水产品质量安全监管系统的微服务框架系统 |
CN109597854A (zh) * | 2018-10-31 | 2019-04-09 | 深圳壹账通智能科技有限公司 | 一种服务请求的路由方法、装置、计算机设备及计算机存储介质 |
CN110245060A (zh) * | 2019-05-20 | 2019-09-17 | 北京奇艺世纪科技有限公司 | 服务监控方法和设备、服务监控装置及介质 |
CN110311900A (zh) * | 2019-06-19 | 2019-10-08 | 微梦创科网络科技(中国)有限公司 | 一种服务调用方法、装置、电子设备及存储介质 |
CN110381101A (zh) * | 2018-04-13 | 2019-10-25 | 北京京东尚科信息技术有限公司 | Api网关控制系统、控制方法、设备和介质 |
-
2019
- 2019-11-14 CN CN201911114305.4A patent/CN110958180B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5459717A (en) * | 1994-03-25 | 1995-10-17 | Sprint International Communications Corporation | Method and apparatus for routing messagers in an electronic messaging system |
US20100057835A1 (en) * | 2008-08-29 | 2010-03-04 | Mark Cameron Little | Information on availability of services provided by publish-subscribe service |
CN101902387A (zh) * | 2009-05-31 | 2010-12-01 | 北京中京创原通信技术有限公司 | 一种ip电信网系统通用控制报文的封装方法 |
CN103106261A (zh) * | 2013-01-28 | 2013-05-15 | 中国电子科技集团公司第二十八研究所 | 基于窄带云数据服务的分布式查询方法 |
CN106464590A (zh) * | 2015-11-27 | 2017-02-22 | 华为技术有限公司 | 一种获取路径信息的方法及装置 |
CN106790601A (zh) * | 2016-12-29 | 2017-05-31 | Tcl集团股份有限公司 | 服务地址的读取装置、系统和方法 |
CN108390766A (zh) * | 2017-10-25 | 2018-08-10 | 国云科技股份有限公司 | 一种适用于微服务的服务注册与发现方法 |
CN110381101A (zh) * | 2018-04-13 | 2019-10-25 | 北京京东尚科信息技术有限公司 | Api网关控制系统、控制方法、设备和介质 |
CN108881030A (zh) * | 2018-06-07 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 灰度发布场景下的路由方法及装置 |
CN108924210A (zh) * | 2018-06-27 | 2018-11-30 | 杭州贝店科技有限公司 | 业务请求处理方法、装置、服务器及存储介质 |
CN109191008A (zh) * | 2018-09-30 | 2019-01-11 | 江苏农牧科技职业学院 | 一种用于水产品质量安全监管系统的微服务框架系统 |
CN109597854A (zh) * | 2018-10-31 | 2019-04-09 | 深圳壹账通智能科技有限公司 | 一种服务请求的路由方法、装置、计算机设备及计算机存储介质 |
CN110245060A (zh) * | 2019-05-20 | 2019-09-17 | 北京奇艺世纪科技有限公司 | 服务监控方法和设备、服务监控装置及介质 |
CN110311900A (zh) * | 2019-06-19 | 2019-10-08 | 微梦创科网络科技(中国)有限公司 | 一种服务调用方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
BABU KAJI BANIYA等: "Internet Gateway Routing for MANET", 2010 INTERNATIONAL CONFERENCE ON CYBER-ENABLED DISTRIBUTED COMPUTING AND KNOWLEDGE DISCOVERY, 1 November 2010 (2010-11-01) * |
毛林;成维莉;余云飞;程涛;: "面向微服务的江苏农业行政执法系统研究", no. 29 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901238A (zh) * | 2020-07-09 | 2020-11-06 | 中移(杭州)信息技术有限公司 | 动态路由服务方法、装置、电子设备及存储介质 |
CN112953996A (zh) * | 2020-08-03 | 2021-06-11 | 深圳市明源云链互联网科技有限公司 | 服务方法及其系统 |
CN112953996B (zh) * | 2020-08-03 | 2022-09-27 | 深圳市明源云链互联网科技有限公司 | 服务方法及其系统 |
CN113312390A (zh) * | 2021-06-01 | 2021-08-27 | 北京沃东天骏信息技术有限公司 | 业务数据调用方法、装置及存储介质和电子设备 |
CN113518008A (zh) * | 2021-07-07 | 2021-10-19 | 北京明略软件系统有限公司 | 基于网关接入的服务的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110958180B (zh) | 2024-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110958180B (zh) | 网关路由方法、智能网关、电子设备及计算机存储介质 | |
KR102605458B1 (ko) | 분석 기능 발견 방법 및 장치 | |
CN110351283B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
US20220295384A1 (en) | Methods, systems, and computer readable media for supporting multiple preferred localities for network function (nf) discovery and selection procedures | |
US6697836B1 (en) | Method and apparatus for controlling server | |
CN110209719B (zh) | 一种基于微服务架构的多种数据库统一访问系统及方法 | |
US6560591B1 (en) | System, method, and apparatus for managing multiple data providers | |
CN109151025B (zh) | 基于url的负载均衡方法、装置、计算机存储介质及设备 | |
US20130046900A1 (en) | Dynamic transaction protocol upgrades | |
CN113645304B (zh) | 数据服务处理方法及相关设备 | |
US11243921B2 (en) | Database expansion system, equipment, and method of expanding database | |
CN112637037B (zh) | 跨地域容器通讯系统、方法、存储介质及计算机设备 | |
US9390156B2 (en) | Distributed directory environment using clustered LDAP servers | |
US20120303601A1 (en) | Mobile search method and system thereof | |
US20030115243A1 (en) | Distributed process execution system and method | |
US12089147B2 (en) | Telecommunications network | |
US8316045B1 (en) | Database linking system | |
CA2805686C (en) | System and method for providing access to presence status for mobile devices | |
CN113014626A (zh) | 数据服务的管理方法及装置、存储介质及电子装置 | |
US20100198947A1 (en) | System and Method for Dynamically Processing Electronic Data Between Multiple Data Sources | |
CN111600833B (zh) | 网络操作系统及报文转发方法 | |
CN115250233A (zh) | 一种灰度路由控制方法、灰度路由组件及计算机设备 | |
CN114356575A (zh) | 用户请求处理方法及装置 | |
CN113556374A (zh) | 一种获取制造商使用说明mud文件的方法、设备和系统 | |
KR100516046B1 (ko) | 효율적인 로드 밸런싱을 통하여 클라이언트 요청을처리하는 미들웨어 시스템 |
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 |