一种灰度发布路由的方法及装置的制造方法

文档序号:10515608阅读:287来源:国知局
一种灰度发布路由的方法及装置的制造方法
【专利摘要】本发明提供了一种灰度发布路由的方法及装置,该方法包括:接收后置路由门户发送的服务器的接口调用请求,接口调用请求是后置路由门户在接收到用户发起的访问请求后发送的、且携带有用户的信息;根据用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务,用户应访问的服务包括正式服务或灰度服务;根据接口调用请求和用户应访问的服务,代理后置路由门户调用对应服务器的接口,并将对应服务器返回的响应数据,通过后置路由门户返回给用户,本发明的方法能减少改造灰度发布时的成本。
【专利说明】
_种灰度发布路由的方法及装置
技术领域
[0001]本发明涉及数据业务技术领域,特别涉及一种灰度发布路由的方法及装置。
【背景技术】
[0002]灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。A/B测试就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迀移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。现有的灰度发布路由技术为:将灰度发布引擎设置在用户与提供用户访问门户(包括正式门户和灰度门户)之间,由灰度发布引擎代理所有用户请求,灰度发布引擎根据用户属性判断是访问正式门户还是灰度门户。但存在如下缺陷:第一,由于存在正式门户和灰度门户,灰度发布的版本不涉及门户的改造也需要维护两套门户服务器及软件代码;第二,对于客户端应用,为了保证客户端软件的兼容,将门户分为正式门户和灰度门户可能带来不兼容,或因此需要花更大的代价来处理兼容问题。

【发明内容】

[0003]本发明实施例的目的在于提供一种灰度发布路由的方法及装置,能减少改造灰度发布时的成本。
[0004]为了达到上述目的,本发明的实施例提供了一种灰度发布路由的方法,该方法包括:
[0005]接收后置路由门户发送的服务器的接口调用请求,接口调用请求是后置路由门户在接收到用户发起的访问请求后发送的、且携带有用户的信息;
[0006]根据用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务,用户应访问的服务包括正式服务或灰度服务;
[0007]根据接口调用请求和用户应访问的服务,代理后置路由门户调用对应服务器的接口,并将对应服务器返回的响应数据,通过后置路由门户返回给用户。
[0008]其中,在接收到访问请求后,方法还包括:
[0009]判断访问请求的来源;
[0010]若访问请求是用户通过客户端发起的,则执行接收后置路由门户发送的服务器的接口调用请求的步骤。
[0011]其中,根据接口调用请求和用户应访问的服务,代理后置路由门户调用对应服务器的接口,并将对应服务器返回的响应数据,通过后置路由门户返回给用户的步骤包括:
[0012]若用户应访问的服务是正式服务,则根据接口调用请求和用户应访问的服务,代理后置路由门户调用正式服务器的接口,并将正式服务器返回的响应数据,通过后置路由门户返回给用户;或,
[0013]若用户应访问的服务是灰度服务,则根据接口调用请求和用户应访问的服务,代理后置路由门户调用灰度服务器的接口,并将灰度服务器返回的响应数据,通过后置路由门户返回给用户。
[0014]其中,判断访问请求的来源的步骤之后,方法还包括:
[0015]若访问请求是用户通过浏览器发起的,则根据访问请求中携带的用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务;
[0016]根据用户应访问的服务,将访问请求路由到用户对应的前置路由门户,用户对应的前置路由门户包括前置路由正式门户或前置路由灰度门户;
[0017]通过对应的前置路由门户调用对应的服务器的接口,将对应的服务器通过对应的前置路由门户返回的响应数据返回给用户。
[0018]其中,通过对应的前置路由门户调用对应的服务器的接口,将对应的服务器通过对应的前置路由门户返回的响应数据返回给用户的步骤包括:
[0019]若用户应访问的服务是正式服务,则通过前置路由正式门户调用正式服务器的接口,将正式服务器通过前置路由正式门户返回的响应数据返回给用户;或,
[0020]若用户应访问的服务是灰度服务,则通过前置路由灰度门户调用灰度服务器的接口,将灰度服务器通过前置路由灰度门户返回的响应数据返回给用户。
[0021]本发明的实施例还提供了一种灰度发布路由的装置,该装置包括:
[0022]接收模块,用于接收后置路由门户发送的服务器的接口调用请求,接口调用请求是后置路由门户在接收到用户发起的访问请求后发送的、且携带有用户的信息;
[0023]第一判断模块,用于根据用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务,用户应访问的服务包括正式服务或灰度服务;
[0024]代理模块,用于根据接口调用请求和用户应访问的服务,代理后置路由门户调用对应服务器的接口,并将对应服务器返回的响应数据,通过后置路由门户返回给用户。
[0025]其中,在接收到访问请求后,装置还包括:
[0026]第二判断模块,用于判断访问请求的来源,并当访问请求是用户通过客户端发起的时,触发接收模块接收后置路由门户发送的服务器的接口调用请求。
[0027]其中,代理模块包括:
[0028]第一单元,用于当用户应访问的服务是正式服务时,根据接口调用请求和用户应访问的服务,代理后置路由门户调用正式服务器的接口,并将正式服务器返回的响应数据,通过后置路由门户返回给用户;或,
[0029]第二单元,用于当用户应访问的服务是灰度服务时,根据接口调用请求和用户应访问的服务,代理后置路由门户调用灰度服务器的接口,并将灰度服务器返回的响应数据,通过后置路由门户返回给用户。
[0030]其中,装置还包括:
[0031]当第二判断模块判断出访问请求是用户通过浏览器发起的时,第二判断模块触发第三判断模块,
[0032]第三判断模块,用于根据第二判断模块的触发,根据访问请求中携带的用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务;
[0033]路由模块,用于根据用户应访问的服务,将访问请求路由到用户对应的前置路由门户,用户对应的前置路由门户包括前置路由正式门户或前置路由灰度门户;
[0034]返回模块,用于通过对应的前置路由门户调用对应的服务器的接口,将对应的服务器通过对应的前置路由门户返回的响应数据返回给用户。
[0035]其中,返回模块包括:
[0036]第三单元,用于当用户应访问的服务是正式服务时,通过前置路由正式门户调用正式服务器的接口,将正式服务器通过前置路由正式门户返回的响应数据返回给用户;或,
[0037]第四单元,用于当用户应访问的服务是灰度服务时,通过前置路由灰度门户调用灰度服务器的接口,将灰度服务器通过前置路由灰度门户返回的响应数据返回给用户。
[0038]本发明的上述方案至少包括以下有益效果:
[0039]在本发明实施例的灰度发布路由的方法中,通过将灰度发布弓I擎设置在后置路由门户与服务器之间,由该灰度发布引擎代理后置路由门户调用服务器的接口,并将服务器返回的响应数据通过后置路由门户返回给用户,这样便使得灰度发布的版本不涉及门户的改造时不需要维护两套门户服务器及软件代码,同时也保证了客户端软件的兼容性,从而减少改造灰度发布时的成本。
【附图说明】
[0040]图1为本发明实施例中灰度发布路由的方法的步骤流程图;
[0041 ] 图2为本发明实施例中后置路由门户用户访问的流程图;
[0042]图3为本发明实施例中前置路由门户用户访问的流程图;
[0043]图4为本发明实施例中灰度发布路由的装置的结构示意图;
[0044]图5为本发明实施例中灰度发布路由的系统的访问流程图。
【具体实施方式】
[0045]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0046]本发明针对现有技术中改造灰度发布的成本较高的问题,提供了一种灰度发布路由的方法及装置,能减少改造灰度发布时的成本。
[0047]如图1所示,本发明的实施例提供了一种灰度发布路由的方法,该方法包括:
[0048]步骤11,接收后置路由门户发送的服务器的接口调用请求,接口调用请求是后置路由门户在接收到用户发起的访问请求后发送的、且携带有用户的信息。
[0049]在本发明的具体实施例中,灰度发布引擎位于后置路由门户与服务器之间,称该灰度发布引擎为后置灰度发布引擎,且后置路由门户只有一套,即不区分是正式门户还是灰度门户。这样使得灰度发布的版本不涉及门户的改造时不需要维护两套门户服务器及软件代码,同时也保证了客户端软件的兼容性,从而减少改造灰度发布时的成本。其中,后置路由门户(例如客户端门户)是用于提供直接面向用户,为用户提供页面或数据的。例如客户端门户为客户端的服务端,为客户端提供数据和服务。另外,用户发起的访问请求中携带用户的信息。
[0050]步骤12,根据用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务,用户应访问的服务包括正式服务或灰度服务。
[0051 ] 在本发明的具体实施例中,可以通过用户号段或单个用户的枚举给各用户配置应访问的服务。另外,若没有预先给用户配置访问的服务,则默认用户访问的服务是正式服务。
[0052]步骤13,根据接口调用请求和用户应访问的服务,代理后置路由门户调用对应服务器的接口,并将对应服务器返回的响应数据,通过后置路由门户返回给用户。
[0053]其中,在本发明的上述实施例中,在执行步骤11之前,上述方法还包括:将接口调用请求的地址改为后置灰度发布引擎的地址。
[0054]在本发明的具体实施例中,后置灰度发布引擎需要将接口调用请求的地址改为后置灰度发布引擎的地址,这样便于后置灰度发布引擎接收服务器返回的所有响应数据。
[0055]其中,在本发明的上述实施例中,在接收到用户发送的访问请求后,上述方法还包括:判断访问请求的来源;若访问请求是用户通过客户端发起的,则执行步骤U。
[0056]在本发明的具体实施例中,由于后置路由门户主要是为客户端服务的,因此,需要判断访问请求是否是用户通过客户端发起的。
[0057]其中,在本发明的上述实施例中,若步骤12中判断出用户应访问的服务是正式服务,则步骤13的具体步骤为:根据接口调用请求和用户应访问的服务,代理后置路由门户调用正式服务器的接口,并将正式服务器返回的响应数据,通过后置路由门户返回给用户。在本发明的具体实施例中,若用户应访问的服务是正式服务,即,用户对应的服务器是正式服务器,后置灰度发布引擎代理后置路由门户调用正式服务器的接口,并将正式服务器返回的响应数据,通过后置路由门户返回给用户的具体流程图如图2中的实线所示。
[0058]其中,在本发明的上述实施例中,若步骤12中判断出用户应访问的服务是灰度服务,则步骤13的具体步骤为:根据接口调用请求和用户应访问的服务,代理后置路由门户调用灰度服务器的接口,并将灰度服务器返回的响应数据,通过后置路由门户返回给用户。
[0059]在本发明的具体实施例中,若用户应访问的服务是灰度服务,S卩,用户对应的服务器是灰度服务器,后置灰度发布引擎代理后置路由门户调用灰度服务器的接口,并将灰度服务器返回的响应数据,通过后置路由门户返回给用户的具体流程图如图2中的虚线所不O
[0060]其中,在本发明的上述实施例中,在上述判断访问请求的来源的步骤中,若判断出访问请求是用户通过浏览器发起的时,上述方法还包括:根据访问请求中携带的用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务;根据用户应访问的服务,将访问请求路由到用户对应的前置路由门户,用户对应的前置路由门户包括前置路由正式门户或前置路由灰度门户;通过对应的前置路由门户调用对应的服务器的接口,将对应的服务器通过对应的前置路由门户返回的响应数据返回给用户。
[0061 ] 在本发明的具体实施例中,灰度发布引擎位于前置路由门户和用户之间,称该灰度发布引擎为前置灰度发布引擎,且前置路由门户包括前置路由正式门户和前置路由灰度门户。前置路由门户是用于提供直接面向用户,为用户提供页面或数据的。例如前置路由门户无线应用协议(WAP, Wireless Applicat1n Protocol)/WEB门户在用户通过浏览器访问时,提供页面。例如超文本标记语言(HTML,HyperText Mark-up Language)/可扩展超文本标记语言(XHTML,extensible HyperText Markup Language)。其中,在本发明的上述实施例中,在上述根据访问请求中携带的用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务的步骤之前,上述方法还包括:将用户发起的访问请求中的统一资源定位符映射为前置灰度发布引擎的内网地址。这样便可以保证所有用户的访问请求都到前置灰度发布引擎上。
[0062]其中,在本发明的上述实施例中,若判断出用户应访问的服务是正式服务,则通过前置路由正式门户调用正式服务器的接口,将正式服务器通过前置路由正式门户返回的响应数据返回给用户。
[0063]在本发明的具体实施例中,若用户应访问的服务是正式服务,S卩,用户对应的服务器是正式服务器,则前置灰度发布引擎通过前置路由正式门户调用正式服务器的接口,将正式服务器通过前置路由正式门户返回的响应数据返回给用户的具体流程图如图3中的实线所示。
[0064]其中,在本发明的上述实施例中,若判断出用户应访问的服务是灰度服务,则通过前置路由灰度门户调用灰度服务器的接口,将灰度服务器通过前置路由灰度门户返回的响应数据返回给用户。
[0065]在本发明的具体实施例中,若用户应访问的服务是灰度服务,S卩,用户对应的服务器是灰度服务器,则前置灰度发布引擎通过前置路由灰度门户调用灰度服务器的接口,将灰度服务器通过前置路由灰度门户返回的响应数据返回给用户的具体流程图如图3中的虚线所示。
[0066]为了更好的实现上述目的,如图4所示,本发明的实施例还提供了一种灰度发布路由的装置,该装置包括:
[0067]接收模块41,用于接收后置路由门户发送的服务器的接口调用请求,接口调用请求是后置路由门户在接收到用户发起的访问请求后发送的、且携带有用户的信息;
[0068]第一判断模块42,用于根据用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务,用户应访问的服务包括正式服务或灰度服务;
[0069]代理模块43,用于根据接口调用请求和用户应访问的服务,代理后置路由门户调用对应服务器的接口,并将对应服务器返回的响应数据,通过后置路由门户返回给用户。
[0070]其中,在接收到访问请求后,装置还包括:
[0071]第二判断模块,用于判断访问请求的来源,并当访问请求是用户通过客户端发起的时,触发接收模块41接收后置路由门户发送的服务器的接口调用请求。
[0072]其中,代理模块43包括:
[0073]第一单元,用于当用户应访问的服务是正式服务时,根据接口调用请求和用户应访问的服务,代理后置路由门户调用正式服务器的接口,并将正式服务器返回的响应数据,通过后置路由门户返回给用户;或,
[0074]第二单元,用于当用户应访问的服务是灰度服务时,根据接口调用请求和用户应访问的服务,代理后置路由门户调用灰度服务器的接口,并将灰度服务器返回的响应数据,通过后置路由门户返回给用户。
[0075]其中,装置还包括:
[0076]当第二判断模块判断出访问请求是用户通过浏览器发起的时,第二判断模块触发第三判断模块,
[0077]第三判断模块,用于根据第二判断模块的触发,根据访问请求中携带的用户的信息以及预先配置的各用户应访问的服务,判断用户应访问的服务;
[0078]路由模块,用于根据用户应访问的服务,将访问请求路由到用户对应的前置路由门户,用户对应的前置路由门户包括前置路由正式门户或前置路由灰度门户;
[0079]返回模块,用于通过对应的前置路由门户调用对应的服务器的接口,将对应的服务器通过对应的前置路由门户返回的响应数据返回给用户。
[0080]其中,返回模块包括:
[0081]第三单元,用于当用户应访问的服务是正式服务时,通过前置路由正式门户调用正式服务器的接口,将正式服务器通过前置路由正式门户返回的响应数据返回给用户;或,
[0082]第四单元,用于当用户应访问的服务是灰度服务时,通过前置路由灰度门户调用灰度服务器的接口,将灰度服务器通过前置路由灰度门户返回的响应数据返回给用户。
[0083]需要说明的是,本发明实施例提供的灰度发布路由的装置是应用上述方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
[0084]为了更好的实现上述目的,本发明的实施例还提供了一种灰度发布路由的系统,包括前置路由正式门户、前置路由灰度门户、后置路由门户、正式服务器、灰度服务器以及上述实施例中的后置灰度发布引擎和前置灰度发布引擎。
[0085]在本发明的具体实施例中,正式服务器用的是正式数据库中的数据,灰度服务器用的数据是灰度数据库中的数据。另外,可以通过该系统的灰度发布管理平台为各用户配置服务器,其中灰度发布管理平台采用现有技术中的方案,在此不再赘述。
[0086]需要说明的是,上述灰度发布路由的装置的实施例及有益效果均适用于该系统,该系统的访问流程如图5所示。
[0087]以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种灰度发布路由的方法,其特征在于,包括: 接收后置路由门户发送的服务器的接口调用请求,所述接口调用请求是后置路由门户在接收到用户发起的访问请求后发送的、且携带有所述用户的信息; 根据所述用户的信息以及预先配置的各用户应访问的服务,判断所述用户应访问的服务,所述用户应访问的服务包括正式服务或灰度服务; 根据所述接口调用请求和所述用户应访问的服务,代理所述后置路由门户调用对应服务器的接口,并将所述对应服务器返回的响应数据,通过后置路由门户返回给所述用户。2.如权利要求1所述的方法,其特征在于,在接收到所述访问请求后,所述方法还包括: 判断所述访问请求的来源; 若所述访问请求是用户通过客户端发起的,则执行接收后置路由门户发送的服务器的接口调用请求的步骤。3.如权利要求1所述的方法,其特征在于,所述根据所述接口调用请求和所述用户应访问的服务,代理所述后置路由门户调用对应服务器的接口,并将所述对应服务器返回的响应数据,通过后置路由门户返回给所述用户的步骤包括: 若所述用户应访问的服务是正式服务,则根据所述接口调用请求和所述用户应访问的服务,代理所述后置路由门户调用正式服务器的接口,并将所述正式服务器返回的响应数据,通过后置路由门户返回给所述用户;或, 若所述用户应访问的服务是灰度服务,则根据所述接口调用请求和所述用户应访问的服务,代理所述后置路由门户调用灰度服务器的接口,并将所述灰度服务器返回的响应数据,通过后置路由门户返回给所述用户。4.如权利要求2所述的方法,其特征在于,所述判断所述访问请求的来源的步骤之后,所述方法还包括: 若所述访问请求是用户通过浏览器发起的,则根据所述访问请求中携带的用户的信息以及预先配置的各用户应访问的服务,判断所述用户应访问的服务; 根据所述用户应访问的服务,将所述访问请求路由到用户对应的前置路由门户,所述用户对应的前置路由门户包括前置路由正式门户或前置路由灰度门户; 通过对应的前置路由门户调用对应的服务器的接口,将对应的服务器通过对应的前置路由门户返回的响应数据返回给所述用户。5.如权利要求4所述的方法,其特征在于,所述通过对应的前置路由门户调用对应的服务器的接口,将对应的服务器通过对应的前置路由门户返回的响应数据返回给所述用户的步骤包括: 若所述用户应访问的服务是正式服务,则通过前置路由正式门户调用正式服务器的接口,将正式服务器通过前置路由正式门户返回的响应数据返回给所述用户;或, 若所述用户应访问的服务是灰度服务,则通过前置路由灰度门户调用灰度服务器的接口,将灰度服务器通过前置路由灰度门户返回的响应数据返回给所述用户。6.一种灰度发布路由的装置,其特征在于,包括: 接收模块,用于接收后置路由门户发送的服务器的接口调用请求,所述接口调用请求是后置路由门户在接收到用户发起的访问请求后发送的、且携带有所述用户的信息; 第一判断模块,用于根据所述用户的信息以及预先配置的各用户应访问的服务,判断所述用户应访问的服务,所述用户应访问的服务包括正式服务或灰度服务; 代理模块,用于根据所述接口调用请求和所述用户应访问的服务,代理所述后置路由门户调用对应服务器的接口,并将所述对应服务器返回的响应数据,通过后置路由门户返回给所述用户。7.如权利要求6所述的装置,其特征在于,在接收到所述访问请求后,所述装置还包括: 第二判断模块,用于判断所述访问请求的来源,并当所述访问请求是用户通过客户端发起的时,触发所述接收模块接收后置路由门户发送的服务器的接口调用请求。8.如权利要求6所述的装置,其特征在于,所述代理模块包括: 第一单元,用于当所述用户应访问的服务是正式服务时,根据所述接口调用请求和所述用户应访问的服务,代理所述后置路由门户调用正式服务器的接口,并将所述正式服务器返回的响应数据,通过后置路由门户返回给所述用户;或, 第二单元,用于当所述用户应访问的服务是灰度服务时,根据所述接口调用请求和所述用户应访问的服务,代理所述后置路由门户调用灰度服务器的接口,并将所述灰度服务器返回的响应数据,通过后置路由门户返回给所述用户。9.如权利要求7所述的装置,其特征在于,所述装置还包括: 当所述第二判断模块判断出所述访问请求是用户通过浏览器发起的时,所述第二判断模块触发第三判断模块, 第三判断模块,用于根据所述第二判断模块的触发,根据所述访问请求中携带的用户的信息以及预先配置的各用户应访问的服务,判断所述用户应访问的服务; 路由模块,用于根据所述用户应访问的服务,将所述访问请求路由到用户对应的前置路由门户,所述用户对应的前置路由门户包括前置路由正式门户或前置路由灰度门户;返回模块,用于通过对应的前置路由门户调用对应的服务器的接口,将对应的服务器通过对应的前置路由门户返回的响应数据返回给所述用户。10.如权利要求9所述的装置,其特征在于,所述返回模块包括: 第三单元,用于当所述用户应访问的服务是正式服务时,通过前置路由正式门户调用正式服务器的接口,将正式服务器通过前置路由正式门户返回的响应数据返回给所述用户;或, 第四单元,用于当所述用户应访问的服务是灰度服务时,通过前置路由灰度门户调用灰度服务器的接口,将灰度服务器通过前置路由灰度门户返回的响应数据返回给所述用户。
【文档编号】G06F17/30GK105871961SQ201510033664
【公开日】2016年8月17日
【申请日】2015年1月23日
【发明人】蒋海滨, 郑文彬, 戴和忠, 陈学, 田原, 谢建文
【申请人】中国移动通信集团浙江有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1