一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

反向代理方法、系统、介质及终端与流程

2022-02-22 02:54:27 来源:中国专利 TAG:


1.本发明涉及计算机领域,特别是涉及一种反向代理方法、系统、介质及终端。


背景技术:

2.随着网络技术与计算机的普及与发展,代理服务成为网上应用较多的形式。代理服务是指内部网络对internet发出连接请求,需要制定代理服务将原本直接传输至web服务器的http发送至代理服务器中。普通的web代理服务器仅支持对内部网络的访问请求,反向代理服务可以代理外部网络主机访问内部网络。互联网技术中,经常会用到http反向代理,比较知名的有nginx、apache等。
3.然而,现有的反向代理无法支持动态路由,无法满足软件开发测试过程等实际应用场景中对访问路径的动态调整需求,特别是在微服务化的今天,这种需求更加迫切。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供反向代理方法、系统、介质及终端,用于解决现有技术中反向代理无法支持动态路由,无法满足软件开发测试过程等实际应用场景中对访问路径的动态调整需求的技术问题。
5.为实现上述目的及其它相关目的,本发明的第一方面提供一种反向代理方法,包括:获取访问端的访问请求信息;基于所述访问请求信息获取动态路由配置信息;基于所述动态路由配置信息反向代理所述访问端访问目标服务器。
6.于本发明的第一方面的一些实施例中,所述基于所述访问请求信息获取动态路由配置信息,其包括:将所述访问请求信息发送至注册中心;所述注册中心运算获取与所述访问端匹配的目标服务器信息;动态路由基于所述目标服务器信息获取所述动态路由配置信息。
7.于本发明的第一方面的一些实施例中,所述访问请求信息包括:访问端的身份标识信息;所述身份标识信息包括ip地址、域名和url中的任一种或多种的组合。
8.于本发明的第一方面的一些实施例中,所述注册中心包括:eureka注册中心、redis注册中心或zookeeper注册中心。
9.于本发明的第一方面的一些实施例中,所述反向代理方法应用于https反向代理,其包括:获取web用户的https访问请求信息;将所述https访问请求信息发送至注册中心;所述注册中心运算获取与所述web用户匹配的目标服务器信息;动态路由接收所述目标服务器信息以获取所述动态路由配置信息;反向代理服务器基于所述动态路由配置信息将所述访问请求信息反向代理至目标服务器。
10.于本发明的第一方面的一些实施例中,所述反向代理方法应用于灰度发布,其面向第一用户和第二用户;所述反向代理方法包括:分别获取所述第一用户和第二用户的第一身份标识信息和第二身份标识信息;动态路由基于所述第一身份标识信息和第二身份标识信息分别获取第一动态路由配置信息和第二动态路由配置信息;反向代理服务器基于所
述第一路由配置信息和第二路由配置信息分别为第一用户和第二用户提供对应的反向代理服务。
11.于本发明的第一方面的一些实施例中,所述动态路由基于所述目标服务器信息以获取所述动态路由配置信息,其包括:动态路由获取所述目标服务器信息和最新的路由信息,并基于动态路由协议获取所述访问端访问所述目标服务器的最佳路径。
12.为实现上述目的及其它相关目的,本发明的第二方面提供一种反向代理系统,包括:访问请求获取模块,用于获取访问端的访问请求信息;动态路由配置模块,用于基于所述访问请求信息获取动态路由配置信息;反向代理模块,用于基于所述动态路由配置信息反向代理所述访问端访问目标服务器。
13.为实现上述目的及其它相关目的,本发明的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述反向代理方法。
14.为实现上述目的及其它相关目的,本发明的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述反向代理方法。
15.如上所述,本发明提出的反向代理方法、系统、介质及终端,其包括:获取访问端的访问请求信息;基于所述访问请求信息获取动态路由配置信息;基于所述动态路由配置信息反向代理所述访问端访问目标服务器。本发明可以根据访问者的访问请求信息,结合后台的路由配置,动态调整整个服务访问路径,实现http层访问的动态灵活控制;不仅可以解决软件开发测试过程中对访问路径的动态调整需求,而且能够为生产服务治理和灰度发布提供更加便捷的实现方式。
附图说明
16.图1显示为本发明一实施例中一种反向代理方法的流程示意图。
17.图2显示为本发明一实施例中一种反向代理系统的结构示意图。
18.图3显示为本发明一实施例中一种电子终端的结构示意图。
具体实施方式
19.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其它优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
20.需要说明的是,在下述描述中,参考附图,附图描述了本发明的若干实施例。应当理解,还可使用其它实施例,并且可以在不背离本发明的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本发明的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本发明。
21.再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特
transfer protocol over secure socket layer),是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性。具体的,将所述反向代理方法应用于https反向代理包括步骤如下:获取web用户的https访问请求信息;将所述https访问请求信息发送至注册中心;所述注册中心运算获取与所述web用户匹配的目标服务器信息;动态路由接收所述目标服务器信息以获取所述动态路由配置信息;反向代理服务器基于所述动态路由配置信息将所述访问请求信息反向代理至目标服务器。
33.在另一些示例中,所述反向代理方法应用于灰度发布。灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式,在其上可以进行a/b testing,即让一部分用户继续用产品特性a,一部分用户开始用产品特性b。具体的,令所述灰度发布面向第一用户和第二用户;则所述反向代理方法包括:分别获取所述第一用户和第二用户的第一身份标识信息和第二身份标识信息;动态路由基于所述第一身份标识信息和第二身份标识信息分别获取第一动态路由配置信息和第二动态路由配置信息;反向代理服务器基于所述第一路由配置信息和第二路由配置信息分别为第一用户和第二用户提供对应的反向代理服务。
34.上述实施方式将本技术提出的反向代理方法应用于灰度发布领域,能够灵活实现不同用户(如产品新功能测试用户与产品原有功能的用户)各自的访问路径,并且通过动态路由分别提供最优的访问路径,为灰度发布提供更加便捷的实现方式。
35.在另一些示例中,所述反向代理方法应用于生产服务治理,服务治理主要包括服务发现、负载均衡、限流、熔断、超时、重试、服务追踪等等,其涉及的服务众多,各服务之间的通信异常复杂,通过本实施例提出的反向代理方法不仅可以为各服务提供限流、熔断等功能,不仅提高各服务器的安全性,加快对服务的访问速度,并且能够实现用户对各服务的动态灵活访问,为生产服务治理提供更加便捷的实现方式。
36.所述反向代理方法支持各种编程语言,如c语言、c 语言、java语言、python语言等等,其中优选java语言,其吸收了c 语言的各种优点,摒弃了c 里难以理解的多继承、指针等概念,具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点,便于日常维护。
37.在一些实施方式中,所述方法可应用于控制器,所述电控单元例如为arm(advanced risc machines)控制器、fpga(field programmable gate array)控制器、soc(system on chip)控制器、dsp(digital signal processing)控制器、或者mcu(microcontroller unit)控制器等等。在一些实施方式中,所述方法也可应用于包括存储器、存储控制器、一个或多个处理单元(cpu)、外设接口、rf电路、音频电路、扬声器、麦克风、输入/输出(i/o)子系统、显示屏、其它输出或控制设备,以及外部端口等组件的计算机;所述计算机包括但不限于如台式电脑、笔记本电脑、平板电脑、智能手机、智能电视、个人数字助理(personal digital assistant,简称pda)等个人电脑。在另一些实施方式中,所述方法还可应用于服务器,所述服务器可以根据功能、负载等多种因素布置在一个或多个实体服务器上,也可以由分布的或集中的服务器集群构成。
38.综上所述,本实施例提出的反向代理方法根据访问者的访问请求信息,结合后台的路由配置,动态调整整个访问路径,实现http层访问的动态灵活控制;不仅可以解决软件开发测试过程中对访问路径的动态调整需求,而且能够为生产服务治理和灰度发布提供更
加便捷的实现方式。所述反向代理基于java语言进行开发,便于日常维护;并且支持http和https反向代理,支持普通http访问和spring cloud服务框架。
39.实施例二
40.如图2所示,本发明实施例提出一种反向代理系统的结构示意图,本实施例提供的反向代理系统包括:访问请求获取模块21,用于获取访问端的访问请求信息;动态路由配置模块22,用于基于所述访问请求信息获取动态路由配置信息;反向代理模块23,用于基于所述动态路由配置信息反向代理所述访问端访问目标服务器。
41.需要说明的是,本实施例提供的模块与上文中提供的方法、实施方式类似,故不再赘述。另外需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,反向代理模块23可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上反向代理模块23的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
42.例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital signal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
43.实施例三
44.如图3所示,本发明实施例提供一种电子终端的结构示意图。本实施例提供的电子终端,包括:处理器31、存储器32、通信器33;存储器32通过系统总线与处理器31和通信器33连接并完成相互间的通信,存储器32用于存储计算机程序,通信器33用于和其它设备进行通信,处理器31用于运行计算机程序,使电子终端执行如上反向代理方法的各个步骤。
45.上述提到的系统总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问系统与其它设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
46.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器
(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
47.实施例四
48.本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上文提供的反向代理方法及其实施方式。
49.本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
50.综上所述,本发明提供反向代理方法、系统、介质及终端,其包括:获取访问端的访问请求信息;基于所述访问请求信息获取动态路由配置信息;基于所述动态路由配置信息反向代理所述访问端访问目标服务器。本发明可以根据访问者的访问请求信息,结合后台的路由配置,动态调整整个服务访问路径,实现http层访问的动态灵活控制;不仅可以解决软件开发测试过程中对访问路径的动态调整需求,而且能够为生产服务治理和灰度发布提供更加便捷的实现方式。因此,本发明有效克服了现有技术中的种种缺点而具有高度产业利用价值。
51.上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献