灰度发布的控制方法、装置及系统的制作方法
【专利摘要】本发明实施例提供一种灰度发布的控制方法,包括:第一服务器接收用户终端发送的第一服务使用请求,提取第一服务使用请求中的参数信息;根据参数信息与预置的灰度配置信息,判断是否允许用户终端使用第一服务;若是,则为用户终端提供第一服务;以及若否,则通知用户终端向第二服务器发送第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。此外,本发明实施例还提供一种灰度发布的控制装置及系统。本发明可有效提高灰度发布的控制的灵活性,降低灰度发布的控制成本。
【专利说明】灰度发布的控制方法、装置及系统
【技术领域】
[0001]本发明涉及计算机通信【技术领域】,尤其涉及一种灰度发布的控制方法、装置及系统。
【背景技术】
[0002]互联网产品的每一次产品升级总是伴随着各种各样的风险,例如:新旧版本兼容的风险,因用户使用习惯突然改变而造成的用户流失的风险,系统崩溃的风险。为了避免这些风险,当前很多互联网产品的发布都采用了灰度发布的策略。灰度发布又称体验式发布,是指在黑与白之间,能够平滑过渡的一种发布方式。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度发布的主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况时,很容易回退,避免造成大范围的影响。具体来说,当一款互联网产品的新服务上线时,只允许一部分用户使用新服务内容(或可称之为灰度服务内容),而让其他用户继续使用旧服务内容,如果使用新服务的用户对新服务内容没有什么反对意见,那么逐步扩大新服务的发布范围,直至最终把所有用户都迁移到新服务上来。
[0003]为了实现灰度发布,现有的灰度发布的控制技术是通过单独架设分流服务器的方式,利用分流服务器根据灰度配置信息将用户终端发送的服务使用请求分配到灰度代码所在的服务器或稳定代码所在的服务器。
[0004]上述方法虽然实现了灰度发布,但通过分流服务器对服务使用请求进行分流缺乏灵活性,容易在灰度发布系统中产生单点故障,也就是说一旦分流服务器发生故障,用户终端将无法获得任何服务,此外,由于分流服务器受自身硬件配置及网络环境质量的影响,处理服务使用请求的能力有限,分流服务器很容易成为整个灰度发布系统的瓶颈,进而影响到整个灰度发布系统的效率,并且单独架设分流服务器的成本较高。
【发明内容】
[0005]有鉴于此,本发明提供一种灰度发布的控制方法、装置及系统,可有效提高灰度发布的控制的灵活性,降低灰度发布的控制成本。
[0006]一种灰度发布的控制方法,包括:第一服务器接收用户终端发送的第一服务使用请求,提取所述第一服务使用请求中的参数信息;根据所述参数信息与预置的灰度配置信息,判断是否允许所述用户终端使用所述第一服务;若是,则为所述用户终端提供所述第一服务;以及若否,则通知所述用户终端向第二服务器发送第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
[0007]—种灰度发布的控制方法,包括:用户终端向第一服务器发送第一服务使用请求;接收所述第一服务器根据所述第一服务使用请求返回的通知信息,所述通知信息用于通知所述用户终端向第二服务器发送第二服务使用请求;以及向所述第二服务器发送所述第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
[0008]一种灰度发布的控制装置,应用于第一服务器,包括:参数信息提取模块,用于接收用户终端发送的第一服务使用请求,提取所述第一服务使用请求中的参数信息;灰度控制模块,用于根据所述参数信息与预置的灰度配置信息,判断是否允许所述用户终端使用所述第一服务;以及请求处理模块,用于当所述灰度控制模块的判断结果为是时,为所述用户终端提供所述第一服务,还用于当所述灰度控制模块的判断结果为否时,通知所述用户终端向第二服务器发送第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
[0009]一种灰度发布的控制装置,应用于用户终端,包括:第一请求发送模块,用于向第一服务器发送第一服务使用请求;通知信息接收模块,用于接收所述第一服务器根据所述第一服务使用请求返回的通知信息,所述通知信息用于通知所述用户终端向第二服务器发送第二服务使用请求;以及第二请求发送模块,用于向所述第二服务器发送所述第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
[0010]一种灰度发布的控制系统,包括:第一服务器、第二服务器、用户终端和灰度配置服务器,其中,所述第一服务器如上所述,所述第二服务器用于接收所述用户终端发送的第二服务使用请求,并为所述用户终端提供所述第二服务,所述灰度配置服务器中配置有灰度配置信息,用于将所述灰度配置信息发送给所述第一服务器,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
[0011]在上述的灰度发布的控制方法、装置及系统中,通过第一服务器根据用户终端发送的第一服务使用请求中的参数信息与预置的灰度配置信息,判断是否允许用户终端使用第一服务,并在判断结果为是时为用户终端提供第一服务,判断结果为否时通知用户终端向第二服务器发送第二服务使用请求,可避免因分流服务器而产生的单点故障,有效提高灰度发布控制的灵活性,同时因为省去了单独架设分流服务器所需的费用,可有效降低灰度发布的控制成本。
[0012]为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
【专利附图】
【附图说明】
[0013]图1为本发明第一实施例提供的灰度发布的控制方法的应用环境图。
[0014]图2为本发明第一实施例提供的灰度发布的控制方法的流程图。
[0015]图3为本发明第二实施例提供的灰度发布的控制方法的流程图。
[0016]图4为本发明第三实施例提供的灰度发布的控制方法的流程图。
[0017]图5为本发明第四实施例提供的灰度发布的控制方法的流程图。
[0018]图6为本发明第五实施例提供的灰度发布的控制方法的流程图。
[0019]图7为本发明第六实施例提供的第一服务器的结构示意图。
[0020]图8为本发明第七实施例提供的第一服务器的结构示意图。
[0021]图9为本发明第八实施例提供的用户终端的结构示意图。
[0022]图10为本发明第九实施例提供的用户终端的结构示意图。
[0023]图11为本发明第十实施例提供的灰度发布的控制系统的结构示意图。
【具体实施方式】
[0024]为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的【具体实施方式】、结构、特征及其功效,详细说明如后。
[0025]第一实施例
[0026]请参阅图1,所示为本发明提供的灰度发布的控制方法的应用环境图。如图1所示,用户终端101、第一服务器102、第二服务器103以及灰度配置服务器104位于无线或有线网络中,通过该无线或有线网络实现用户终端101与第一服务器102、第二服务器103之间的通信、第一服务器102与灰度配置服务器104之间的通信,上述用户终端101、第一服务器102、第二服务器103以及灰度配置服务器104 —起构成灰度发布的控制系统10。
[0027]用户终端101可以包括智能手机、平板电脑、电子书阅读器、MP3播放器(MovingPicture Experts Group Aud1 Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Aud1 Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
[0028]第一服务器102可为用户终端101提供新服务内容,第二服务器103可为用户终端101提供旧服务内容。其中,新服务内容也即灰度服务内容,是指网络服务运营商提供的新上线的可能需要进一步优化的新版本的服务内容;旧服务内容是指网络服务运营商提供的旧有的已经获得用户普遍认可的较为稳定的旧版本的服务内容。可以理解的,根据布局的需要,也可由第一服务器102为用户终端101提供旧服务内容,由第二服务器103为用户终端101提供新服务内容。
[0029]可以理解的,上述用户终端101、第一服务器102、第二服务器103、以及灰度配置服务器104中的每一个装置并非指单个的个体,也可以是多个个体的集合,例如:第一服务器102可以是单独的一台服务器,也可以是由多台服务器构成的服务器集群。
[0030]请参阅图2,所示为本发明第一实施例提供的灰度发布的控制方法的流程图。如图2所示,该实施例描述的是第一服务器的处理流程,结合图1,本实施例提供的灰度发布的控制方法包括以下步骤:
[0031]步骤21,第一服务器接收用户终端发送的第一服务使用请求,提取所述第一服务使用请求中的参数信息。
[0032]具体地,第一服务使用请求中的参数信息可包括:用户终端101的IP (InternetProtocol,因特网协议)地址、以及用户终端101的用户在注册网络服务(例如:即时通讯服务、网络空间服务等)时所使用的用户帐号(ID)、地理位置、以及用户性别、年龄等与用户相关的个人属性信息。
[0033]为提高提取速度,第一服务器102可根据预置提取规则,只提取第一服务使用请求中与灰度发布有关的部分特定参数信息,例如:用户ID、地理位置以及与用户个人属性相关的参数信息。
[0034]步骤22,根据所述参数信息与预置的灰度配置信息,判断是否允许所述用户终端使用所述第一服务。
[0035]根据灰度发布策略,灰度配置信息至少包括但不限于允许使用第一服务的用户终端的用户ID和/或地理位置和/或用户属性。
[0036]于本实施例一【具体实施方式】中,灰度配置信息可以黑白名单的形式配置在第一服务器102中。为进一步说明,以下举例说明。
[0037]例如:可将允许使用第一服务的用户终端的用户ID的列表设为白名单,或将不允许使用第一服务的用户终端的用户ID列表设为黑名单。第一服务器102提取用户终端101发送的第一服务使用请求中的用户ID,然后将提取出的用户ID与白名单中的用户ID的列表进行比对,若提取出的用户ID在白名单中,则判定允许用户终端101使用第一服务。
[0038]又例如:可将某一地理位置范围内的IP地址列表设为白名单。第一服务器102提取用户终端101发送的第一服务使用请求中的用户终端的IP地址,然后将提取出的用户终端101的IP地址与白名单中的IP地址列表进行比对,若提取出的用户终端101的IP地址与白名单中的IP地址均不匹配,则判定不允许用户终端101使用第一服务。
[0039]可以理解的,灰度配置信息可以是一条,也可以是多条。第一服务器102可单独使用某条灰度配置信息来筛选用户终端101,也可将多条灰度配置信息组合在一起对用户终端101进行筛选。例如,可在第一服务器102中配置用户性别与年龄这两条灰度配置信息,且定义只有当用户终端101发送的第一服务使用请求中的参数信息同时满足这两条规则时,才允许用户终端101使用第一服务。
[0040]通过利用灰度配置信息以黑白名单的方式对用户终端进行筛选,可提高灰度发布控制的灵活性,使服务的发布运营更加稳定可靠。
[0041]若是,则执行步骤23:为所述用户终端提供所述第一服务。
[0042]具体地,若经步骤22判定允许用户终端101使用第一服务,则第一服务器102直接为用户终端101提供第一服务,对用户终端101发送的第一服务使用请求进行处理,并将处理结果发送给用户终端101。
[0043]由于通过当判断出允许用户终端使用第一服务时,第一服务器直接对第一服务使用请求进行处理,省略了现有技术中分流服务器将第一服务使用请求转发给第一服务器的步骤,因此可提高第一服务使用请求的处理速度,进而提高灰度发布的控制效率。
[0044]若否,则执行步骤24:通知所述用户终端向第二服务器发送第二服务使用请求。
[0045]具体地,若经步骤22判定不允许用户终端101使用第一服务,也即用户终端101不满足灰度配置信息中的条件,不属于灰度范围以内的用户终端,只能使用第二服务,于是第一服务器102向用户终端101发送通知信息,通知用户终端101向第二服务器103发送第二服务使用请求。
[0046]可以理解的,第二服务区别于第一服务,若第一服务为新服务内容,则第二服务为旧服务内容;若第一服务为旧服务内容,则第二服务为新服务内容,也就是说所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。优选的,第一服务为新服务内容,第二服务为旧服务内容。
[0047]本发明实施例提供的灰度发布的控制方法,通过第一服务器根据用户终端发送的第一服务使用请求中的参数信息与预置的灰度配置信息,判断是否允许用户终端使用第一服务,并在判断结果为是时为用户终端提供第一服务,判断结果为否时通知用户终端向第二服务器发送第二服务使用请求,可避免因分流服务器而产生的单点故障,有效提高灰度发布控制的灵活性,同时因为省去了单独架设分流服务器所需的费用,可有效降低灰度发布的控制成本。
[0048]第二实施例
[0049]请参阅图3,所示为本发明第二实施例提供的灰度发布的控制方法的流程图。如图3所示,该实施例描述的是第一服务器的处理流程,结合图1,本实施例提供的灰度发布的控制方法包括以下步骤:
[0050]步骤31,第一服务器从灰度配置服务器获取灰度配置信息。
[0051]当网络服务运营商上线新的服务时,第一服务器102接收灰度配置服务器104发送的灰度配置信息,并配置于第一服务器102中。灰度配置信息由灰度配置服务器104根据网络服务运营商的管理员输入的灰度配置信息生成,灰度配置信息包括用户终端使用第一服务需要满足的条件信息,例如:用户ID、地理位置、用户个人属性等。具体地,灰度配置服务器104接收管理员输入的灰度配置信息,然后根据预置逻辑将接收到的灰度配置信息转换为灰度配置信息。
[0052]步骤32,第一服务器接收用户终端发送的第一服务使用请求,提取所述第一服务使用请求中的参数信息。
[0053]步骤33,根据所述参数信息与预置的灰度配置信息,判断是否允许所述用户终端使用所述第一服务。
[0054]若是,则执行步骤34:为所述用户终端提供所述第一服务。
[0055]若否,则执行步骤35:通知所述用户终端向第二服务器发送第二服务使用请求。
[0056]步骤32至步骤35可参考第一实施例的相应步骤,在此不再赘述。
[0057]本发明实施例提供的灰度发布的控制方法,通过第一服务器根据用户终端发送的第一服务使用请求中的参数信息与预置的灰度配置信息,判断是否允许用户终端使用第一服务,并在判断结果为是时为用户终端提供第一服务,判断结果为否时通知用户终端向第二服务器发送第二服务使用请求,可避免因分流服务器而产生的单点故障,有效提高灰度发布控制的灵活性,同时因为省去了单独架设分流服务器所需的费用,可有效降低灰度发布的控制成本。
[0058]第三实施例
[0059]请参阅图4,所示为本发明第三实施例提供的灰度发布的控制方法的流程图。如图4所示,该实施例描述的是用户终端的处理流程,结合图1,本实施例提供的灰度发布的控制方法包括以下步骤:
[0060]步骤41,用户终端向第一服务器发送第一服务使用请求。
[0061]用户终端101在使用网络服务(Web Service)时,通过在本机运行的Web服务的前端网页向第一服务器发送第一服务使用请求。Web服务的前端页面中配置有访问规则,用户终端101根据访问规则决定先向哪个服务器发送服务使用请求(通常可为部署有灰度配置信息的服务器),然后在访问失败时再访问哪个服务器。
[0062]步骤42,接收所述第一服务器根据所述第一服务使用请求返回的通知信息,所述通知信息用于通知所述用户终端向第二服务器发送第二服务使用请求。
[0063]步骤43,向所述第二服务器发送所述第二服务使用请求。
[0064]具体地,用户终端101通过接受到的第一服务器102发送的通知信息获知访问第一服务器102失败,于是根据预置在前端网页中的访问规则向第二服务器103发送第二服务使用请求。可以理解的,第二服务区别于第一服务,若第一服务为新版本的灰度服务内容,则第二服务为旧版本的稳定服务内容,若第一服务为旧版本的稳定服务内容,则第二服务为新版本的灰度服务内容。优选地,第一服务为新服务内容,第二服务为旧服务内容。
[0065]本发明实施例提供的灰度发布的控制方法,通过用户终端在访问第一服务器失败时,自动向第二服务器发送第二服务使用请求,可以使得用户终端即使在无法第一服务器获得服务器的情况下,也可从第二服务器获得服务,从而避免了现有技术中因分流服务器而产生的单点故障,提高了灰度发布的控制的灵活性。
[0066]第四实施例
[0067]图5为本发明第四实施例提供的灰度发布的控制方法的流程图。如图5所示,该实施例描述的是用户终端的流程,结合图1,本实施例提供的灰度发布的控制方法包括以下步骤:
[0068]步骤51,用户终端向第一服务器发送第一服务使用请求。
[0069]步骤51可参考第三实施例的相应步骤,在此不再赘述。
[0070]步骤52,经过预置时长,若未接收到所述第一服务器发送的任何信息,则直接向所述第二服务器发送第二服务使用请求。
[0071]经过预置时长,若用户终端101未接收到第一服务器102发送的任何信息,也即第一服务器102无响应,则可认为访问第一服务器102失败,用户终端101根据预置在前端网页中的访问规则向第二服务器103发送第二服务使用请求。第一服务器102无响应的原因可包括用户终端101与第一服务器102之间的网络连接断开、第一服务器102系统崩溃等。通过用户终端101在第一服务器102无响应时,自动向第二服务器发送第二服务使用请求,以从第二服务器获得第二服务,可避免现有技术中因分流服务而产生的单点故障,有效防止出现用户终端因分流服务器崩溃造成的整个灰度发布系统的崩溃而无法获得任何服务的问题。
[0072]本发明实施例提供的灰度发布的控制方法,通过用户终端在访问第一服务器失败时,自动向第二服务器发送第二服务使用请求,可以使得用户终端即使在无法第一服务器获得服务器的情况下,也可从第二服务器获得服务,从而避免了现有技术中因分流服务器而产生的单点故障,提高了灰度发布的控制的灵活性。
[0073]第五实施例
[0074]图6为本发明第五实施例提供的灰度发布的控制方法的流程图。如图6所示,该实施例描述的是各服务器与用户终端交互的流程,结合图1,本实施例提供的灰度发布的控制方法详细介绍如下。
[0075]网络服务运营商在上线新服务时,将新服务部署在第一服务器102中,也即将新服务的代码存储于第一服务器102中,第一服务器102可使用新服务的代码处理用户终端101发送的第一服务使用请求,为用户终端101提供新服务内容,而第二服务器103继续使用旧服务的代码处理用户终端101发送的第二服务使用请求,为用户终端101提供旧服务内容。在新服务上线的同时,灰度配置服务器104执行步骤61:将灰度配置信息发送给第一服务器102。
[0076]用户终端101通过运行在本机中的网络服务运营商提供的Web服务的前端网页,根据前端网页中的预置访问规则,执行步骤62:发送第一服务使用请求给第一服务器102。
[0077]第一服务器102接收到第一服务使用请求后,执行步骤63:提取第一服务使用请求中的参数信息,根据该参数信息与预置的灰度配置信息,判断是否允许用户终端101使用第一服务。
[0078]第一服务器102在判断结果为允许用户终端101使用第一服务时,也即参数信息与灰度配置信息相匹配时,为用户终端101提供第一服务,使用新服务的代码处理用户终端101发送的第一服务使用请求,并执行步骤64:将处理结果发送给用户终端101。
[0079]第一服务器102在判断结果为不允许用户终端101使用第一服务时,执行步骤65:向用户终端101发送通知信息,该通知信息用于通知用户终端101向第二服务器103发送第二服务使用请求。
[0080]用户终端101在访问第一服务器102失败时,也即接收到第一服务器102发送的通知信息,或经过预置时长仍未接收到第一服务器102发送的任何信息时,执行步骤66:向第二服务器103发送第二服务使用请求。
[0081]第二服务器103接收用户终端101发送的第二服务使用请求,使用旧服务的代码对用户终端101发送的第二服务使用请求进行处理,并执行步骤67:向用户终端101发送处理结果。
[0082]本发明实施例提供的灰度发布的控制方法,通过第一服务器根据用户终端发送的第一服务使用请求中的参数信息与预置的灰度配置信息,判断是否允许用户终端使用第一服务,并在判断结果为是时为用户终端提供第一服务,判断结果为否时通知用户终端向第二服务器发送第二服务使用请求,可避免因分流服务器而产生的单点故障,有效提高灰度发布控制的灵活性,同时因为省去了单独架设分流服务器所需的费用,可有效降低灰度发布的控制成本。
[0083]第六实施例
[0084]图7为本发明第六实施例提供的第一服务器的结构示意图。本实施例提供的第一服务器可以用于实现第一实施例中的灰度发布的控制方法。如图7所示,第一服务器70包括:参数信息提取模块71、灰度控制模块72、请求处理模块73。
[0085]其中参数信息提取模块71用于接收用户终端发送的第一服务使用请求,提取所述第一服务使用请求中的参数信息。
[0086]灰度控制模块72用于根据所述参数信息提取模块71提取的所述参数信息与预置的灰度配置信息,判断是否允许所述用户终端使用所述第一服务。
[0087]请求处理模块73用于当所述灰度控制模块72的判断结果为是时,为所述用户终端提供所述第一服务,还用于当所述灰度控制模块72的判断结果为否时,通知所述用户终端向第二服务器发送第二服务使用请求。
[0088]本实施例第一服务器70的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。
[0089]本发明实施例提供的灰度发布的控制装置,通过根据用户终端发送的第一服务使用请求中的参数信息与预置的灰度配置信息,判断是否允许用户终端使用第一服务,并在判断结果为是时为用户终端提供第一服务,判断结果为否时通知用户终端向第二服务器发送第二服务使用请求,可避免因分流服务器而产生的单点故障,有效提高灰度发布控制的灵活性,同时因为省去了单独架设分流服务器所需的费用,可有效降低灰度发布的控制成本。
[0090]第七实施例
[0091]图8为本发明第七实施例提供的第一服务器的结构示意图。本实施例提供的第一服务器可以用于实现第一实施例与第二实施例中的灰度发布的控制方法。如图8所示,第一服务器80包括:参数信息提取模块81、灰度控制模块82、请求处理模块83、灰度配置同步模块84。
[0092]其中参数信息提取模块81用于接收用户终端发送的第一服务使用请求,提取所述第一服务使用请求中的参数信息。
[0093]灰度控制模块82用于根据所述参数信息提取模块81提取的所述参数信息与预置的灰度配置信息,判断是否允许所述用户终端使用所述第一服务。
[0094]请求处理模块83用于当所述灰度控制模块82的判断结果为是时,为所述用户终端提供所述第一服务,还用于当所述灰度控制模块82的判断结果为否时,通知所述用户终端向第二服务器发送第二服务使用请求。
[0095]灰度配置同步模块84用于从灰度配置服务器获取灰度配置信息。
[0096]优选地,所述灰度配置信息包括允许使用所述第一服务的用户终端的用户帐号和/或地理位置和/或用户个人属性。
[0097]本实施例第一服务器80的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。
[0098]本发明实施例提供的灰度发布的控制装置,通过根据用户终端发送的第一服务使用请求中的参数信息与预置的灰度配置信息,判断是否允许用户终端使用第一服务,并在判断结果为是时为用户终端提供第一服务,判断结果为否时通知用户终端向第二服务器发送第二服务使用请求,可避免因分流服务器而产生的单点故障,有效提高灰度发布控制的灵活性,同时因为省去了单独架设分流服务器所需的费用,可有效降低灰度发布的控制成本。
[0099]第八实施例
[0100]图9为本发明第八实施例提供的用户终端的结构示意图。本实施例提供的用户终端可以用于实现第三实施例中的灰度发布的控制方法。如图9所示,用户终端90包括:第一请求发送模块91、通知信息接收模块92、第二请求发送模块93。
[0101]其中第一请求发送模块91用于向第一服务器发送第一服务使用请求。
[0102]通知信息接收模块92用于接收所述第一服务器根据所述第一服务使用请求返回的通知信息,所述通知信息用于通知所述用户终端向第二服务器发送第二服务使用请求。
[0103]第二请求发送模块93用于向所述第二服务器发送所述第二服务使用请求。
[0104]本实施例用户终端90的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。
[0105]本发明实施例提供的灰度发布的控制装置,通过在访问第一服务器失败时,自动向第二服务器发送第二服务使用请求,可以使得用户终端即使在无法第一服务器获得服务器的情况下,也可从第二服务器获得服务,从而避免了现有技术中因分流服务器而产生的单点故障,提高了灰度发布的控制的灵活性。
[0106]第九实施例
[0107]图10为本发明第九实施例提供的用户终端的结构示意图。本实施例提供的用户终端可以用于实现第四实施例中的灰度发布的控制方法。如图10所示,用户终端100包括:第一请求发送模块1001、通知信息接收模块1002、第二请求发送模块1003、第三请求发送模块1004。
[0108]其中第一请求发送模块1001用于向第一服务器发送第一服务使用请求。
[0109]通知信息接收模块1002用于接收所述第一服务器根据所述第一服务使用请求返回的通知信息,所述通知信息用于通知所述用户终端向第二服务器发送第二服务使用请求。
[0110]第二请求发送模块1003用于向所述第二服务器发送所述第二服务使用请求。
[0111]第三请求发送模块1004用于经过预置时长,若未接收到所述第一服务器发送的任何信息,则直接向所述第二服务器发送第二服务使用请求。
[0112]本实施例用户终端100的各功能模块实现各自功能的具体过程,请参见上述图1至图6所示实施例中描述的具体内容,此处不再赘述。
[0113]本发明实施例提供的灰度发布的控制装置,通过在访问第一服务器失败时,自动向第二服务器发送第二服务使用请求,可以使得用户终端即使在无法第一服务器获得服务器的情况下,也可从第二服务器获得服务,从而避免了现有技术中因分流服务器而产生的单点故障,提高了灰度发布的控制的灵活性。
[0114]第十实施例
[0115]请参阅图11,所示为本发明第十实施例提供的灰度发布的控制系统的结构示意图。如图11所示,并结合图1,本实施例提供的灰度发布的控制系统110包括:用户终端111、第一服务器112、第二服务器113、以及灰度配置服务器114。
[0116]其中用户终端111与第一服务器112的具体结构可参考图7至图10对应实施例的装置,此处不再赘述。
[0117]第二服务器113包括请求处理模块,用于接收用户终端111发送的第二服务使用请求,并为用户终端提供第二服务,处理用户终端111发送的第二服务使用请求。
[0118]灰度配置服务器114包括:灰度配置同步模块与灰度配置管理模块。其中,灰度配置同步模块用于在新服务上线时,发送灰度配置信息给第一服务器。灰度配置管理模块用于根据预置逻辑将管理员输入的灰度配置信息进行转换,形成用于同步至第一服务器的灰度配置信息。
[0119]本实施例中的灰度发布的控制系统中各装置实现功能的具体过程请参阅图1至图6对应实施例的方法,以及图7至图10对应实施例的装置,此处不再赘述。
[0120]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0121]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0122]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0123]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种灰度发布的控制方法,其特征在于,包括: 第一服务器接收用户终端发送的第一服务使用请求,提取所述第一服务使用请求中的参数信息; 根据所述参数信息与预置的灰度配置信息,判断是否允许所述用户终端使用所述第一服务; 若是,则为所述用户终端提供所述第一服务;以及 若否,则通知所述用户终端向第二服务器发送第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
2.根据权利要求1所述的方法,其特征在于,所述根据所述参数信息与预置的灰度配置信息的步骤之前,包括: 所述第一服务器从灰度配置服务器获取所述灰度配置信息。
3.根据权利要求1所述的方法,其特征在于,所述灰度配置信息包括允许使用所述第一服务的用户终端的用户帐号和/或地理位置和/或用户个人属性。
4.一种灰度发布的控制方法,其特征在于,包括: 用户终端向第一服务器发送第一服务使用请求; 接收所述第一服务器根据所述第一服务使用请求返回的通知信息,所述通知信息用于通知所述用户终端向第二服务器发送第二服务使用请求;以及 向所述第二服务器发送所述第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括: 经过预置时长,若未接收到所述第一服务器发送的信息,则直接向所述第二服务器发送第二服务使用请求。
6.一种灰度发布的控制装置,应用于第一服务器,其特征在于,包括: 参数信息提取模块,用于接收用户终端发送的第一服务使用请求,提取所述第一服务使用请求中的参数信息; 灰度控制模块,用于根据所述参数信息与预置的灰度配置信息,判断是否允许所述用户终端使用所述第一服务;以及 请求处理模块,用于当所述灰度控制模块的判断结果为是时,为所述用户终端提供所述第一服务,还用于当所述灰度控制模块的判断结果为否时,通知所述用户终端向第二服务器发送第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
7.根据权利要求6所述的控制装置,其特征在于, 灰度配置同步模块,用于从灰度配置服务器获取所述灰度配置信息。
8.根据权利要求6所述的控制装置,其特征在于,所述灰度配置信息包括允许使用所述第一服务的用户终端的用户帐号和/或地理位置和/或用户个人属性。
9.一种灰度发布的控制装置,应用于用户终端,其特征在于,包括: 第一请求发送模块,用于向第一服务器发送第一服务使用请求; 通知信息接收模块,用于接收所述第一服务器根据所述第一服务使用请求返回的通知信息,所述通知信息用于通知所述用户终端向第二服务器发送第二服务使用请求;以及 第二请求发送模块,用于向所述第二服务器发送所述第二服务使用请求,所述第一服务与所述第二服务分别提供对应于同一服务的不同服务内容。
10.根据权利要求9所述的控制装置,其特征在于,还包括: 第三请求发送模块,用于当经过预置时长,未接收到所述第一服务器发送的信息时,直接向所述第二服务器发送第二服务使用请求。
11.一种灰度发布的控制系统,其特征在于,包括:第一服务器、第二服务器、用户终端和灰度配置服务器,其中, 所述第一服务器如权利要求6至8的任一项所述; 所述第二服务器用于接收所述用户终端发送的第二服务使用请求,并为所述用户终端提供所述第二服务; 所述用户终端如权利要求9至10的任一项所述; 所述灰度配置服务器中配置有灰度配置信息,用于将所述灰度配置信息发送给所述第一服务器。
【文档编号】H04L29/08GK104378304SQ201310353643
【公开日】2015年2月25日 申请日期:2013年8月14日 优先权日:2013年8月14日
【发明者】王孟 申请人:腾讯科技(深圳)有限公司