一种基于网关的服务代理系统及方法与流程

文档序号:20678302发布日期:2020-05-08 18:07阅读:336来源:国知局
一种基于网关的服务代理系统及方法与流程

本发明涉及服务代理领域,具体地说是一种基于网关的服务代理系统及方法。



背景技术:

高效实时的网关代理在大平台大集成系统上极其重要,平台作为各业务系统、各服务资源的根。实时、准确、安全提供各类服务尤为重要,为各应用平台提供有力的支撑。

如何实现平台对各类服务实时高效的代理,确保新注册的服务及时代理出去,为平台对服务管理提供高效、可靠的保障,是需要解决的技术问题。



技术实现要素:

本发明的技术任务是针对以上不足,提供一种基于网关的服务代理系统及方法,来解决如何实现平台对各类服务实时高效的代理的问题。

第一方面,本发明提供一种基于网关的服务代理系统,包括:

第一数据库,存储有平台注册的代理服务;

路由项目模块,与第一数据库连接,用于获取代理服务,并对代理服务进行转换,得到网关所需的网关信息,网关信息包括但不限于路由信息;

服务器,与路由项目模块连接,用于存储网关信息;

网关,与服务器连接,用于调用路由项目模块从网关信息中获取路由信息,并将路由信息实例化为对象。

更优的,还包括第二数据库,与路由项目模块连接,用于存储网关信息;

所述路由项目模块用于将网关信息持久化至第二数据库。

作为优选,所述代理服务包括但不限于rest服务、空间服务和webservice服务。

作为优选,所述路由项目模块用于通过网关数据算法对注册服务进行数据转换和校验,得到网关信息。

作为优选,所述网关信息还包括断言信息和过滤器信息。

作为优选,所述路由项目模块配置有用于暴露路由信息数据的rest接口,网关启动后通过所述rest接口获取路由信息。

作为优选,所述网关通过其内部类将路由信息实例化为对象。

作为优选,所述服务器为redis缓存服务器。

第二方面,本发明提供一种基于网关的服务代理方法,通过如第一方面任一项所述的一种基于网关的服务代理系统实现网关代理,并将网关与代理业务解耦,包括如下步骤:

通过路由项目模块获取代理服务,并对代理服务进行转换,得到网关所需的网关信息,网关信息包括但不限于路由信息;

将网关信息发送至服务器,通过服务器存储网关信息;

通过网关从服务器中读取网关信息,从网关信息中获取路由信息,并将路由信息实例化为对象。

作为优选,还包括如下步骤:

将网关信息持久化至第二数据库中。

本发明的一种基于网关的服务代理系统及方法具有以下优点:在实现网关代理的同时,可以实现网关与业务的解耦,并通过服务器缓存实现高效的数据读取工作,从而为平台提供高效的服务代理保障;

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

下面结合附图对本发明进一步说明。

附图1为实施例1一种基于网关的服务代理系统的结构框图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。

需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例中的“多个”,是指两个或两个以上。

本发明实施例提供一种基于网关的服务代理系统及方法,用于解决如何实现平台对各类服务实时高效的代理的技术问题。

实施例1:

如附图1所示,本发明的一种基于网关的服务代理系统,包括第一数据库、路由项目模块、服务器以及网关。第一数据库和服务器均于路由项目模块连接,网关与服务器连接。

其中,第一数据库中存储有平台注册的代理服务,本实施例中代理服务包括rest服务、空间服务和webservice服务。

路由项目模块配置有网关数据算法,其从第一数据库中获取代理服务,并通过网关数据算法对注册服务进行数据转换和校验,得到网关信息,网关信息包括路由信息、断言信息和过滤器信息。

该服务器为redis缓存服务器,路由项目模块将网关信息发送至该服务器,服务器中配置有同步记录表,通过服务器中同步记录表存储该网关信息,可提高数据读取效率。

路由项目模块配置有用于暴露路由信息数据的rest接口,网关启动后通过该rest接口获取路由信息,并通过网关内部类将路由信息实例化为对象,对象存储在网关中。

本实施例一种基于网关的服务代理系统,工作方法为:

(1)通过第一数据库存储代理服务,如rest服务、空间服务、webservice服务等各类服务;

(2)路由项目模块从第一数据库中获取代理服务,并将代理服务转换为网关所需的网关信息,网关信息包括路由信息、断言信息和过滤器信息;

(3)路由项目模块将网关信息存储至服务器,通过服务器缓存网关信息;

(4)网关启动后,从服务器中读取网关信息,并从网关信息中获取路由信息,将路由信息实例化为对象。

作为本实施例的改进,该服务代理系统还包括第二数据库,第二数据库中配置有路由表,路由项目模块将网关信息持久化至第二数据库,第二数据库通过路由表存储网关信息。

改进后一种基于网关的服务代理系统,工作方法为:

(1)通过第一数据库存储代理服务,如rest服务、空间服务、webservice服务等各类服务;

(2)路由项目模块从第一数据库中获取代理服务,并将代理服务转换为网关所需的网关信息,网关信息包括路由信息、断言信息和过滤器信息;

(3)路由项目模块将网关信息存储至服务器,通过服务器缓存网关信息,并将网关信息持久化到第二数据库中;

(4)网关启动后,从服务器中读取网关信息,并从网关信息中获取路由信息,将路由信息实例化为对象。

实施例2:

本发明的一种基于网关的服务代理方法,通过实施例1公开的一种基于网关的服务代理系统实现网关代理,并将网关与代理业务解耦。

服务代理系统包括实施例1公开的第一数据库、路由项目模块、服务器以及网关,该方法包括如下步骤:

s100、通过路由项目模块获取代理服务,并对代理服务进行转换,得到网关所需的网关信息,网关信息包括路由信息、断言信息和过滤器信息;

s200、将上述网关信息发送至服务器,通过服务器存储网关信息;

s300、通过网关从服务器中读取网关信息,从网关信息中获取路由信息,并将路由信息实例化为对象。

服务代理系统包括实施例1公开的第一数据库、第二数据库、路由项目模块、服务器以及网关,该方法包括如下步骤:

s100、通过路由项目模块获取代理服务,并对代理服务进行转换,得到网关所需的网关信息,网关信息包括路由信息、断言信息和过滤器信息;

s200、将上述网关信息发送至服务器,通过服务器存储网关信息,并将上述网关信息持久化到第二数据库中;

s300、通过网关从服务器中读取网关信息,从网关信息中获取路由信息,并将路由信息实例化为对象。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

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