一种请求连接方法、装置、服务器及计算机可读存储介质与流程

文档序号:16433706发布日期:2018-12-28 20:20阅读:229来源:国知局
一种请求连接方法、装置、服务器及计算机可读存储介质与流程

本发明实施例涉及通信技术领域,特别涉及一种请求连接方法、装置、服务器及计算机可读存储介质。

背景技术

微服务架构是一项在云中部署应用和服务的新技术,以其灵活性、可实施性、可扩展性、可独立测试、可独立部署、可独立运行等一系列优点使得在it和ct领域达到广泛的推广和使用。微服务的实施依赖于强有力的云计算平台。

然而,发明人发现现有技术中至少存在如下问题:由于客户需求灵活多变,导致应用的版本迭代更新发布频繁。市场上存在多种产品系统,每种产品系统还可能存在不同的业务,云平台需要支持不同类型的产品系统的接入,并为不同的业务配置不同版本的应用。基于以上原因,亟需一种能够支撑多个版本并行的云计算平台。



技术实现要素:

本发明实施方式的目的在于提供一种请求连接方法、装置、服务器及计算机可读存储介质,使得能够在云计算平台上运行多个应用的版本。

为解决上述技术问题,本发明的实施方式提供了一种请求连接方法,包括以下步骤:接收外部的请求;根据请求中的n种请求信息,确定与n种请求信息分别对应的n种路由规则;其中,n为正整数,每种路由规则用于指示一种请求信息与应用的版本的信息的对应关系;根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的应用的版本的信息;根据确定的应用的版本的信息,将请求发送至应用的版本的信息对应的应用的版本。

本发明的实施方式还提供了一种请求连接装置,包括:接收装置、第一确定装置、第二确定装置和转发装置;接收装置用于接收外部的请求;第一确定装置用于根据请求中的n种请求信息,确定与n种请求信息分别对应的n种路由规则;其中,n为正整数,每种路由规则用于指示一种请求信息与应用的版本的信息的对应关系;第二确定装置用于根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的应用的版本的信息;转发装置用于根据确定的应用的版本的信息,将请求发送至应用的版本的信息对应的应用的版本。

本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施方式提及的请求连接方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的请求连接方法。

本发明实施方式相对于现有技术而言,由于云计算平台接收到外部的请求后,能够根据该请求中的请求信息对应的n种路由规则和n种路由规则的优先级规则,确定该请求对应的应用的版本的信息,并将该请求发送至对应的应用的版本,使得能够在云计算平台上部署并运行多个应用的版本。

另外,根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的应用的版本的信息,具体包括:根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的路由规则;根据请求对应的路由规则,确定请求对应的应用的版本的信息。

另外,根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的应用的版本的信息,具体包括:针对n种请求信息中的每种请求信息,进行以下操作:根据请求信息和请求信息对应的路由规则,确定请求信息对应的应用的版本的信息;根据每种请求信息分别对应的应用的版本的信息,以及每种请求信息分别对应的路由规则的优先级,确定请求对应的应用的版本的信息。

另外,请求中的请求信息至少包括数据中心信息或用户信息。该实现中,使得云计算平台能够根据数据中心信息或用户信息确定请求对应的应用的版本。

另外,在根据请求中的n种请求信息,确定与n种请求信息分别对应的n种路由规则之前,请求连接方法还包括:若确定请求的访问类型为接口访问请求,获取请求中的请求信息,请求信息至少包括数据中心信息;若确定请求的访问类型为页面访问请求,获取请求中的请求信息,请求信息包括用户信息。该实现中,根据请求的访问类型,设定不同的路由规则,使得云计算平台能够完成接口访问请求和页面访问请求的转发。

另外,根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的路由规则,具体包括:根据n种路由规则的优先级规则,将优先级最高的路由规则作为请求对应的路由规则。

另外,在根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的路由规则之前,请求连接方法包括:确定请求的业务类型;根据请求的业务类型,确定n种路由规则的优先级规则。该实现中,为不同的业务类型设置不同的优先级规则,提高了云计算平台的灵活性。

另外,应用的版本的信息为应用的版本的域名和/或应用的版本的地址。

另外,应用的版本包括应用的第一版本和应用的第二版本,用户信息对应的路由规则为用户路由规则,用户路由规则为:若用户信息指示请求对应的用户为测试用户,用户信息对应的应用的版本的信息为应用的第一版本的信息;若用户信息指示请求对应的用户为正式用户,用户信息对应的应用的版本的信息为应用的第二版本的信息。该实现中,从用户接入的角度,使得不同类型的用户对应不同的应用的版本,使得云计算平台能够实现灰度升级和/或针对不同用户实施不同的计费运算规则。

另外,数据中心信息对应的路由规则为数据中心路由规则,数据中心路由规则为:根据数据中心信息与应用的版本的信息的对应关系,确定与请求中的数据中心信息对应的应用的版本的信息。

另外,应用的版本包括应用的新版本和应用的旧版本,请求信息中还包括资源信息,资源信息对应的路由规则为资源路由规则,资源路由规则为:若资源信息对应的资源处于业务处理中,资源信息对应的应用版本的信息为应用的旧版本的信息。该实现中,使得同一资源的请求尽可能在同一个应用的版本下进行操作,保证了业务数据的一致性。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明的第一实施方式的请求连接方法的流程图;

图2是本发明的第一实施方式的云计算平台的结构示意图;

图3是本发明的第一实施方式的容器的构建的结构示意图;

图4是本发明的第二实施方式的请求连接方法的流程图;

图5是本发明的第三实施方式的请求连接装置的结构示意图;

图6是本发明的第四实施方式的服务器的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种请求连接方法,应用于云计算平台的网关路由层。如图1所示,该请求连接方法包括以下步骤:

步骤101:接收外部的请求。

具体地说,云计算平台与外部的产品系统等终端建立通信连接,接收外部的产品系统等终端传输的请求。

具体实现中,云计算平台的结构如图2所示,包括网关路由层、业务应用层和服务注册管理组件。该云计算平台基于分布式系统开发工具包spring-cloud的应用架构,使用分布式计算的数据结构和微服务的部署架构。图2中,web表示万维网(worldwideweb),api表示应用程序编程接口(applicationprogramminginterface)。实施微服务架构后,使用容器方式进行应用的版本的部署,容器的构建的结构示意图如图3所示,图3中,web表示worldwideweb(万维网),ui表示userinterface(用户界面),ratedb、cbssdb和confdb分别表示一种数据库。根据系统应用的架构,云计算平台分为web层容器、微服务层容器和数据存储层容器。在容器部署时,根据聚合复用规则,优先使用组合关系,为不同的版本迭代封装不同的容器。

值得一提的是,容器的应用使得能够将不同的应用及服务进行封装处理,实现了一次构建多次快速部署使用的目的。在进行版本的升级时,容器的应用缩短了版本的发布时间,降低了服务器资源的使用量。

图2中,服务注册管理组件用于管理微服务注册及路由规则的控制等。微服务创建后,需要被注册和管理才能进行有效的服务编排,形成完整的应用系统,而外部的请求在通过网关路由层时,网关路由层执行本发明实施方式提供的请求连接方法,将外部的请求转发至对应的应用的版本。

需要说明的是,本领域技术人员可以理解,图2和图3仅为示例,实际应用中,本领域技术人员可以在图2和图3的基础上增加或减少应用的版本数量。

步骤102:根据请求中的n种请求信息,确定与n种请求信息分别对应的n种路由规则。其中,n为正整数。

具体地说,云计算平台的网关路由层设置有多种路由规则,每种路由规则用于指示一种请求信息与应用的版本的信息的对应关系。

具体实现中,云计算平台的网关路由层根据不同的业务维度,部署有多种路由规则,该路由规则可根据业务属性灵活的配置在服务注册管理组件中。对于多产品系统接入的云计算平台来说,业务维度由大到小可依次分为:产品系统对应数据中心的接入地址、基于同一认证的用户信息和产品与平台之间的资源信息和用户操作的时间戳等等。

以下选取产品系统对应数据中心的接入地址维度、基于同一认证的用户信息维度和产品与平台之间的资源信息维度为例,举例说明路由规则的设置方式。

基于产品系统对应数据中心的接入地址维度:产品系统接入云计算平台时,需提供其对应的数据中心信息,如数据中心互联网协议(internetprotocol,ip)或已注册的数据中心标识,网关路由层根据该数据中心信息与应用的版本的信息的对应关系,定义数据中心路由规则,其中,数据中心路由规则为:根据数据中心信息与应用的版本的信息的对应关系,确定与请求中的数据中心信息对应的应用的版本的信息。

基于同一认证的用户信息维度:基于多产品系统接入后的统一认证登录的用户账号,可设置用户路由规则。例如,应用的版本包括应用的第一版本和应用的第二版本,用户信息对应的路由规则为用户路由规则,用户路由规则为:若用户信息指示请求对应的用户为测试用户,用户信息对应的应用的版本的信息为应用的第一版本的信息;若用户信息指示请求对应的用户为正式用户,用户信息对应的应用的版本的信息为应用的第二版本的信息。具体实现中,第一版本为新版本,第二版本为旧版本,通过用户路由规则,定义转发请求至不同的应用的版本,从而实现应用的版本的在线升级或回退。另一具体实现中,第一版本为不收费版本,第二版本为vip版本或收费版本,通过用户路由规则,定义转发请求至不同的应用的版本,从而针对不同用户实施不同计费运算规则。

需要说明的是,应用的版本还可以包括应用的第三版本等,本领域技术人员可以理解,实际应用中,本领域技术人员可以根据需要为应用设置多个版本。

基于平台之间的资源信息维度:在业务操作上可进一步的细分为用户下的某一资源粒度,资源的业务操作在分布式的系统中具体有一个完整的生命周期,例如,资源生成业务操作分为预生成和正式生效两种状态,两步操作存在业务操作的时间差,而在这个时间差内进行版本升级时可能造成前后事务不一致的情况。基于同一资源的请求转发至同一业务版本的原则,设置资源路由规则。例如,应用的版本包括应用的新版本和应用的旧版本,请求信息中还包括资源信息,资源信息对应的路由规则为资源路由规则,资源路由规则为:若资源信息对应的资源处于业务处理中,资源信息对应的应用版本的信息为应用的旧版本的信息。

以下结合实际场景对基于平台之间的资源信息维度的路由规则进行说明。假设,用户通过产品系统发送创建云服务器等商品的订单指令至云计算平台,由于该指令为创建订单的起始指令,该指令中不存在资源信息或资源信息为空,即资源信息对应的资源不处于业务处理中。该情况下,云计算平台根据该指令中的数据中心信息,将创建订单指令转发至该产品系统的数据中心信息对应的应用的版本,以便创建预处理订单,并将创建的预处理订单传输至产品系统。其中,预处理订单中包括云服务器等商品的唯一识别资源信息(通常指资源id)。返回预处理订单后,应用的版本进行了在线升级,即该应用的版本存在新版本和旧版本。产品系统在预处理订单中填写商品信息,并将填写商品信息后的预处理订单发送至云计算平台,云计算平台根据填写商品信息后的预处理订单中的资源信息(资源id),确定该资源信息对应的资源处于业务处理中,将填写商品信息后的预处理订单发送至旧版本。

值得一提的是,网关路由层将同一资源的请求发送至同一应用的版本,使得同一资源的请求尽可能在同一个应用的版本下进行操作,保证了业务数据的一致性。

步骤103:根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的应用的版本的信息。

具体地说,在设置网关路由层的路由协议时,云计算平台根据请求的业务类型,为不同的路由规则设置不同的优先级。当网关路由层接收到外部的请求后,确定请求的业务类型,根据请求的业务类型,确定n种路由规则的优先级规则。

具体实现中,根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的应用的版本的信息的方法包括但不限于以下两种:

第一种方法:网关路由层根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的路由规则;根据请求对应的路由规则,确定请求对应的应用的版本的信息。例如,当请求中包含n种请求信息,且每种请求信息分别对应一种路由规则时,网关路由层根据n种路由规则的优先级规则,将优先级最高的路由规则作为请求对应的路由规则。

第二种方法:网关路由层针对n种请求信息中的每种请求信息,进行以下操作:根据请求信息和请求信息对应的路由规则,确定请求信息对应的应用的版本的信息。网关路由层确定每种请求信息分别对应的应用的版本的信息后,根据每种请求信息分别对应的应用的版本的信息,以及每种请求信息分别对应的路由规则的优先级,确定请求对应的应用的版本的信息。例如,用户通过云计算平台进行开通订单的操作。用户通过产品系统发送请求至云计算平台,云计算平台的网关路由层接收该请求后,获取该请求中的请求信息,包括数据中心信息、用户信息、资源信息和用户操作时间戳信息,将每种请求信息分别与每种请求信息各自对应的路由规则进行逐一匹配,并根据路由规则优先级,确定最终的应用的版本的地址。

以下结合实际场景说明第二种方法的实现方式。假设,接入云计算平台的数据中心有数据中心a、数据中心b和数据中心c。在数据中心路由规则中,数据中心与应用的版本的对应关系为:数据中心a对应应用的版本a,数据中心b对应应用的版本b,数据中心c对应应用的版本c。用户路由规则中,用户d对应版本a。网关路由层接收到一个请求,该请求中的数据中心信息为b,用户信息显示该用户是d,资源信息显示该资源不是处于业务处理中。如果该请求的业务类型对应的路由规则优先级为以数据中心信息路由规则为最高级,则确定请求对应的应用的版本的信息为应用的版本b的地址;如果该请求的业务类型对应的路由规则的优先级为以用户信息路由规则为最高级,则确定请求对应的应用的版本的信息为应用的版本a的地址。

步骤104:根据确定的应用的版本的信息,将请求发送至应用的版本的信息对应的应用的版本。

具体地说,网关路由层将请求转发至对应的应用的版本,该应用的版本根据该请求进行相关操作。

具体实现中,应用的版本的信息可以是应用的版本的域名或应用的版本的地址。每个应用具有其自己的原有域名,云计算平台在其原有域名的基础上,为应用的每个版本设置不同的子域名。应用的版本的信息可以是该应用的子域名。

需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。

与现有技术相比,本实施方式中提供的请求连接方法,由于云计算平台接收到外部的请求后,能够根据该请求中的请求信息对应的n种路由规则和n种路由规则的优先级规则,确定该请求对应的应用的版本的信息,并将该请求发送至对应的应用的版本,使得能够在云计算平台上部署并运行多个应用的版本。

本发明的第二实施方式涉及一种请求连接方法,本实施方式在第一实施方式的基础上做了进一步改进,具体改进之处为:在步骤102之前,增加了其他相关步骤。

具体的说,如图4所示,在本实施方式中,包含步骤201至步骤205,其中,步骤201、步骤203至步骤205分别与第一实施方式中的步骤101、步骤102至步骤104大致相同,此处不再赘述。下面主要介绍不同之处:

执行步骤201。

步骤202:获取请求中的n种请求信息。

具体地说,云计算平台可以通过高性能的超文本传输协议(hypertexttransferprotocol,http)和反向代理服务(nginx)反向代理的方式发布。在外部访问时,通过网关路由层的请求包含了接口访问请求和页面访问请求两种访问类型。其中,外部通过接口访问云计算平台时,能够获取访问源ip,根据服务注册管理组件中的访问源ip识别对应的数据中心信息,然后依据路由规则进行请求的分发;外部通过页面访问云计算平台时,需要经过同一认证的方式进入系统,网关路由层根据认证信息获取用户信息,并根据获取的用户信息进行请求的分发。因此,请求中的请求信息至少包括数据中心信息或用户信息。云计算平台若确定请求的访问类型为接口访问请求,获取请求中的请求信息,请求信息至少包括数据中心信息;若确定请求的访问类型为页面访问请求,获取请求中的请求信息,请求信息包括用户信息。

执行步骤203至步骤205。

需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。

与现有技术相比,本实施方式中提供的请求连接的方法,由于云计算平台接收到外部的请求后,能够根据该请求中的请求信息对应的n种路由规则和n种路由规则的优先级规则,确定该请求对应的应用的版本的信息,并将该请求发送至对应的应用的版本,使得能够在云计算平台上部署并运行多个应用的版本。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种请求连接装置,如图5所示,包括:接收装置301、第一确定装置302、第二确定装置303和转发装置304。

具体地说,接收装置301用于接收外部的请求。第一确定装置302用于根据请求中的n种请求信息,确定与n种请求信息分别对应的n种路由规则;其中,n为正整数,每种路由规则用于指示一种请求信息与应用的版本的信息的对应关系。第二确定装置303用于根据n种路由规则,以及n种路由规则的优先级规则,确定请求对应的应用的版本的信息。转发装置304用于根据确定的应用的版本的信息,将请求发送至应用的版本的信息对应的应用的版本。

不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第四实施方式涉及一种服务器,如图6所示,包括:至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述实施方式提及的请求连接方法。

上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。

本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1