消息中间件的资源访问方法、服务器及资源访问系统的制作方法
【技术领域】
[0001]本发明涉及网络技术领域,尤其涉及一种消息中间件的资源访问方法、服务器及资源访问系统。
【背景技术】
[0002]消息中间件是一种由消息传送机制或消息队列模式组成的最典型的中间件技术,通过消息中间件,应用程序或组件之间可以进行可靠的异步通讯来降低系统之间的耦合度,从而提高整个系统的可扩展性和可用性。当前大多数使用消息中间件的应用系统通常都没有考虑资源隔离的问题,只要业务系统获取消息中间件的地址和端口即可连接至消息中间件,并且一旦连接上就收发消息。这种方式至少存在以下问题:一是权限安全的问题,二是资源使用率的问题,为解决上述问题,现有业务系统额外增加了权限服务,并通过权限服务控制消息中间件的连接和资源使用,但由于权限服务的稳定和性能会给整个应用系统带来影响,特别当权限服务不可用时会导致整个应用系统不可用。
[0003]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
【发明内容】
[0004]本发明的主要目的在于提供一种消息中间件的资源访问方法、服务器及系统,旨在解决消息中间件内部资源隔离的问题,同时避免系统依赖第三方的权限控制,从而提高整个系统的稳定性。
[0005]为实现上述目的,本发明提供的一种消息中间件的资源访问方法,所述消息中间件的资源访问方法包括以下步骤:
[0006]接收应用系统发送的建立连接请求;
[0007]根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称;
[0008]建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。
[0009]此外,为实现上述目的,本发明还提供一种服务器,所述服务器包括:
[0010]第一接收模块,用于接收应用系统发送的建立连接请求;
[0011]获取模块,用于根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称;
[0012]建立模块,用于建立与所述应用系统之间的对应所述VPNg称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。
[0013]此外,为实现上述目的,本发明还提供一种资源访问系统,包括应用系统以及如上所述的服务器,所述应用系统包括:
[0014]发送模块,用于发送建立连接请求至所述服务器;
[00? 5]类型指定模块,用于指定待连接的VPN名称;
[0016]连接模块,用于与所述服务器中对应指定待连接的VPN名称的VPN连接;
[0017]访问模块,用于访问消息中间件中对应所述指定待连接的VPN名称的静态资源。
[0018]本发明提供的消息中间件的资源访问方法、服务器以及资源访问系统,通过接收应用系统发送的建立连接请求,然后根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称,再建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。这样,可以解决消息中间件内部资源隔离的问题,同时避免系统依赖第三方的权限控制,从而提高整个系统的稳定性。
【附图说明】
[0019]图1为本发明消息中间件的资源访问方法第一实施例的流程示意图;
[0020]图2为本发明消息中间件的资源访问方法第二实施例的流程示意图;
[0021]图3为本发明消息中间件的资源访问方法第三实施例的流程示意图;
[0022]图4为本发明消息中间件的资源访问方法第四实施例的流程示意图;
[0023]图5为本发明服务器第一实施例的功能模块示意图;
[0024]图6为本发明服务器第二实施例的功能模块示意图;
[0025]图7为本发明服务器第三实施例的功能模块示意图;
[0026]图8为本发明服务器第四实施例的功能模块示意图;
[0027]图9为本发明资源访问系统一实施例的功能模块示意图;
[0028]图10为图9中应用系统的细化功能模块示意图。
[0029]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0030]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0031]本发明提供一种消息中间件的资源访问方法,参照图1,在一实施例中,所述消息中间件的资源访问方法包括以下步骤:
[0032]步骤S101,接收应用系统发送的建立连接请求;
[0033]步骤S102,根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称;
[0034]本实施例中,应用系统启动后,向服务器发送建立连接请求,所述建立连接请求中指定了待连接VPN名称。
[0035]为了解决消息中间件内部资源隔离的问题,本发明基于传统的收发消息,在服务器中增加了VPN(virtual private networks,专用虚拟网络)。其中,每个VPN的资源是完全隔离的,完全隔离不仅是指主题、队列、连接数、用户配置信息等静态资源不能共享,同时也是指不同的VPN之间消息不能够互通。在应用系统接入到消息中间件时,必须选定一个VPN。
[0036]本实施例中,首先,由于消息中间件内不同的VPN之间完全隔离,因而安全性较高,且不需要应用系统依赖第三方的权限控制,从而使得整个系统架构简单稳定;其次,VPN是虚拟的,方便扩展,一个VPN可以是在一个消息中间件的节点上,也可以由多个节点上的VPN共同组成,如此,可以动态的增加消息中间件节点,从而达到VPN动态扩容;最后,在现有实际系统架构中,为了达到资源隔离的目的,通常会使用多个消息中间件节点做隔离,由于增加了VPN,本发明的消息中间件可能只用一个节点就可达到隔离的目的。
[0037]步骤S103,建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。
[0038]本实施例中,所述服务器中与所述应用系统指定VPN名称对应的VPN,建立与所述应用系统之间的连接,这样,所述应用系统即可访问对应的VPN中的静态资源,如主题、队列、连接数、用户配置信息等。
[0039]本发明提供的消息中间件的资源访问方法,通过接收应用系统发送的建立连接请求,然后根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称,再建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。这样,可以解决消息中间件内部资源隔离的问题,同时避免系统依赖第三方的权限控制,从而提高整个系统的稳定性。
[0040]在一实施例中,如图2所示,在上述图1的实施例的基础上,所述步骤S103之后还包括:
[0041 ] S104,接收所述应用系统发送的消息;
[0042]本实施例中,应用系统可以通过消息中间件进行发送消息,在所述服务器与所述应用系统已经建立连接时,所述应用系统可以向所述服务器发送消息。
[0043]S105,将所述消息路由至对应所述指定的VPN名称的消息队列中。
[0044]本实施例中,服务器中的消息中间件将所述消息路由至对应所述指定的VPN名称的消息队列中。
[0045]在一实施例中,如图3所示,在上述图2的实施例的基础上,所述步骤S105之后还包括:
[0046]步骤S106,在所述应用系统监听到所述指定的VPN名称的消息队列中存在消息时,将所述消息推送至所述应用系统。
[0047]本实施例中,所述应用系统
可以通过消息中间件VPN接收消息。在收发消息的过程中,消息中间件的所有静态资源中,都具有不同的VPN名称,在应用系统建立连接时,应用系统指定要连接到的VPN名称,连接一旦建立,只能访问属于对应VPN名称的资源。
[0048]在一实施例中,如图4所示,在上述图1的实施例的基础上,所述中间件具有第一VPN、第二 VPN以及第三VPN,所述步骤S101之前还包括:
[0049]步骤S107,所述第一VPN接收所述第二VPN发送的消息;
[0050]本实施例中,上述方案实现了消息中间件中静态资源与消息的隔离,但在实际业务场景中,VPN之间是需要有业务交互的,即VPN之间也需要有消息的互通。本发明还提供了VPN之间的桥接(第一 VPN),其主要功能是实现不同VPN之间的消息互通,在第一 VPN内部维护了一套消息路由表,需要互通的消息都配置在路由表中。这样,VPN首先隔离了消息,然后再针对VPN之间的消息通过指定后互通,遵循的原则是先关闭然后再放开的原则。
[0051 ] 本实施例中,第一VPN为公共区域VPN,第二VPN为招商银行VPN,第三VPN为东亚银行VPN。可以理解的是,所述第二 VPN和第三VPN并不局限于本实施例中的银行,还可以为其他法人。招商银行VPN、东亚银行VPN、公共区域VPN之间是相互隔离的,招商银行VPN、东亚银行VPN分别与公共区域VPN进行消息互通,从而达到了招商银行与东亚银行之间消息的隔离,并使招商银行和东亚银行通过公共区域VPN进行消息交互。这样,在多法人的架构下,消息中间件中的VPN不仅支持了法人之间资源隔离和消息互通的目的,而且提高了整个多法人架构的安全性和稳定性。
[0052]步骤S108,所述第一VPN查找预设消息路由表,判断所述消息是否配置在所述预设消息路由表内;
[0053]步骤S109,若是,所述第一 VPN则将所述消息转发至所述第三VPN。
[0054]本实施例中,所述预设消息路由表规定了第二VPN和第三VPN之间可以互通的消息,当所述第一 VPN接收到第二 VPN发送的消息时,则需要查找预设消息路由表,并判断第二VPN发送的消息是否可以与第三VPN互通,若是,则可直接将所述消息转发至所述第三VPN。同样地,当所述第一 VPN接收到第三VPN发送的消息时,则需要查找预设消息路由表,并判断第三VPN发送的消息是否可以与第二 VPN互通,若是,则可直接将所述消息转发至所述第二VPN。
[0055]如图5所示,本发明另一实施例提供一种服务器1,所述服务器1包括:
[0056]第一接收模块101,用于接收应用系统发送的建立连接请求;
[0057]获取模块102,用于根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称;
[0058]本实施例中,应用系统启动后,向服务器1发送建立连接请求,所述建立连接请求中指定了待连接VPN名称。
[0059]为了解决消息中间件内部资源隔离的问题,本发明基于传统的收发消息,在服务器1中增加了VPN(virtual private networks,专用虚拟网络)。其中,每个VPN的资源是完全隔离的,完全隔离不仅是指主题、队列、连接数、用户配置信息等静态资源不能共享,同时也是指不同的VPN之间消息不能够互通。在应用系统接入到消息中间件时,必须选定一个VPN。
[0060]本实施例中,首先,由于消息中间件内不同的VPN之间完全隔离,因而安全性较高,且不需要应用系统依赖第三方的权限控制,从而使得整个系统架构简单稳定;其次,VPN是虚拟的,方便扩展,一个VPN可以是在一个消息中间件的节点上,也可以由多个节点上的VPN共同组成,如此,可以动态的增加消息中间件节点,从而达到VPN动态扩容;最后,在现有实际系统架构中,为了达到资源隔离的目的,通常会使用多个消息中间件节点做隔离,由于增加了VPN,本发明的消息中间件可能只用一个节点就可达到隔离的目的。
[0061 ]建立模块103,用于建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。
[0062]本实施例中,所述服务器1中与所述应用系统指定VPN名称对应的VPN,建立与所述应用系统之间的连接,这样,所述应用系统即可访问对应的VPN中的静态资源,如主题、队列、连接数、用户配置信息等。
[0063]本发明提供的服务器1,通过接收应用系统发送的建立连接请求,然后根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称,再建立与所述应用系统之间的对应所述VPNS称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。这样,可以解决消息中间件内部资源隔离的问题,同时避免系统依赖第三方的权限控制,从而提尚整个系统的稳定性。
[0064]在一实施例中,如图6所示,在上述图5的实施例的基础上,所述服务器1还包括:
[0065]第二接收模块104,用于接收所述应用系统发送的消息;
[0066]本实施例中,应用系统可以通过消息中间件进行发送消息,在所述服务器1与所述应用系统已经建立连接时,所述应用系统可以向所述服务器1发送消息。
[0067]路由模块105,用于将所述消息路由至对应所述指定的VPN名称的消息队列中。
[0068]本实施例中,所述服务器1中的消息中间件将所述消息路由至对应所述指定的VPN名称的消息队列中。
[0069]在一实施例中,如图7所示,在上述图6的实施例的基础上,所述服务器1还包括:
[0070]推送模块106,用于在所述应用系统监听到所述指定的VPN名称的消息队列中存在消息时,将所述消息推送至所述应用系统。
[0071 ]本实施例中,所述应用系统可以通过消息中间件VPN接收消息。在收发消息的过程中,消息中间件的所有静态资源中,都具有不同的VPN名称,在应用系统建立连接时,应用系统指定要连接到的VPN名称,连接一旦建立,只能访问属于对应VPN名称的资源。
[0072]在一实施例中,如图8所示,在上述图5的实施例的基础上,所述中间件具有第一VPN、第二 VPN以及第三VPN,所述服务器1还包括:
[0073]第三接收模块107,用于所述第一VPN接收所述第二VPN发送的消息;
[0074]本实施例中,上述方案实现了消息中间件中静态资源与消息的隔离,但在实际业务场景中,VPN之间是需要有业务交互的,即VPN之间也需要有消息的互通。本发明还提供了VPN之间的桥接(第一 VPN),其主要功能是实现不同VPN之间的消息互通,在第一 VPN内部维护了一套消息路由表,需要互通的消息都配置在路由表中。这样,VPN首先隔离了消息,然后再针对VPN之间的消息通过指定后互通,遵循的原则是先关闭然后再放开的原则。
[0075]本实施例中,第一VPN为公共区域VPN,第二VPN为招商银行VPN,第三VPN为东亚银行。可以理解的是,所述第二 VPN和第三VPN并不局限于本实施例中的银行,还可以为其他法人。招商银行VPN、东亚银行VPN、公共区域VPN之间是相互隔离的,招商银行VPN、东亚银行VPN分别与公共区域VPN进行消息互通,从而达到了招商银行与东亚银行之间消息的隔离,并使招商银行和东亚银行通过公共区域VPN进行消息交互。这样,在多法人的架构下,消息中间件中的VPN不仅支持了法人之间资源隔离和消息互通的目的,而且提高了整个多法人架构的安全性和稳定性。
[0076]判断模块108,用于所述第一VPN查找预设消息路由表,判断所述消息是否配置在所述预设消息路由表内;
[0077]转发模块109,用于若是,所述第一VPN则将所述消息转发至所述第三VPN。
[0078]本实施例中,所述预设消息
路由表规定了第二VPN和第三VPN之间可以互通的消息,当所述第一 VPN接收到第二 VPN发送的消息时,则需要查找预设消息路由表,并判断第二VPN发送的消息是否可以与第三VPN互通,若是,则可直接将所述消息转发至所述第三VPN。同样地,当所述第一 VPN接收到第三VPN发送的消息时,则需要查找预设消息路由表,并判断第三VPN发送的消息是否可以与第二 VPN互通,若是,则可直接将所述消息转发至所述第二VPN。
[0079]如图9所示,本发明另一实施例还提供一种资源访问系统100,所述资源访问系统100包括应用系统2以及如上所述的服务器1,参照图10,所述应用系统2包括:
[0080]发送模块201,用于发送建立连接请求至所述服务器1;[0081 ]类型指定模块202,用于指定待连接的VPN名称;
[0082]本实施例中,应用系统2启动后,向服务器1发送建立连接请求,所述建立连接请求中指定了待连接VPN名称。
[0083]为了解决消息中间件内部资源隔离的问题,本发明基于传统的收发消息,在服务器1中增加了VPN(virtual private networks,专用虚拟网络)。其中,每个VPN的资源是完全隔离的,完全隔离不仅是指主题、队列、连接数、用户配置信息等静态资源不能共享,同时也是指不同的VPN之间消息不能够互通。在应用系统2接入到消息中间件时,必须选定一个VPN。
[0084]连接模块203,用于与所述服务器1中对应指定待连接的VPN名称的VPN连接;
[0085]本实施例中,首先,由于消息中间件内不同的VPN之间完全隔离,因而安全性较高,且不需要应用系统2依赖第三方的权限控制,从而使得整个系统架构简单稳定;其次,VPN是虚拟的,方便扩展,一个VPN可以是在一个消息中间件的节点上,也可以由多个节点上的VPN共同组成,如此,可以动态的增加消息中间件节点,从而达到VPN动态扩容;最后,在现有实际系统架构中,为了达到资源隔离的目的,通常会使用多个消息中间件节点做隔离,由于增加了VPN,本发明的消息中间件可能只用一个节点就可达到隔离的目的。
[0086]访问模块204,用于访问消息中间件中对应所述指定待连接的VPN名称的静态资源。
[0087]本实施例中,所述应用系统2与所述服务器1中对应的VPN建立连接,这样,所述应用系统2即可访问对应的VPN中的静态资源,如主题、队列、连接数、用户配置信息等。
[0088]还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0089]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0090]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,月艮务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0091]以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种消息中间件的资源访问方法,其特征在于,所述消息中间件的资源访问方法包括以下步骤: 接收应用系统发送的建立连接请求; 根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称; 建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。2.如权利要求1所述的消息中间件的资源访问方法,其特征在于,所述建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问消息中间件中对应所述VPNS称的静态资源的步骤之后还包括: 接收所述应用系统发送的消息; 将所述消息路由至对应所述指定的VPN名称的消息队列中。3.如权利要求2所述的消息中间件的资源访问方法,其特征在于,所述将所述消息路由至对应所述指定的VPN名称的消息队列中的步骤之后还包括: 在所述应用系统监听到所述指定的VPN名称的消息队列中存在消息时,将所述消息推送至所述应用系统。4.如权利要求1所述的消息中间件的资源访问方法,其特征在于,所述中间件具有第一VPN、第二 VPN以及第三VPN,所述接收应用系统发送的建立连接请求的步骤之前还包括: 所述第一 VPN接收所述第二 VPN发送的消息; 所述第一 VPN查找预设消息路由表,判断所述消息是否配置在所述预设消息路由表内; 若是,所述第一 VPN则将所述消息转发至所述第三VPN。5.一种服务器,其特征在于,所述服务器包括: 第一接收模块,用于接收应用系统发送的建立连接请求; 获取模块,用于根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称; 建立模块,用于建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问消息中间件中对应所述VPN名称的静态资源。6.如权利要求5所述的服务器,其特征在于,所述服务器还包括: 第二接收模块,用于接收所述应用系统发送的消息; 路由模块,用于将所述消息路由至对应所述指定的VPN名称的消息队列中。7.如权利要求6所述的服务器,其特征在于,所述服务器还包括: 推送模块,用于在所述应用系统监听到所述指定的VPN名称的消息队列中存在消息时,将所述消息推送至所述应用系统。8.如权利要求5所述的服务器,其特征在于,所述中间件具有第一VPN、第二VPN以及第三VPN,所述服务器还包括: 第三接收模块,用于所述第一 VPN接收所述第二 VPN发送的消息; 判断模块,用于所述第一 VPN查找预设消息路由表,判断所述消息是否配置在所述预设消息路由表内; 转发模块,用于若是,所述第一 VPN则将所述消息转发至所述第三VPN。9.一种资源访问系统,其特征在于,所述资源访问系统包括应用系统以及如权利要求5至8中任一项所述的服务器,所述应用系统包括: 发送模块,用于发送建立连接请求至所述服务器; 类型指定模块,用于指定待连接的VPN名称; 连接模块,用于与所述服务器中对应指定待连接的VPN名称的VPN连接; 访问模块,用于访问消息中间件中对应所述指定待连接的VPN名称的静态资源。
【专利摘要】本发明公开了一种消息中间件的资源访问方法,包括以下步骤:接收应用系统发送的建立连接请求;根据所述建立连接请求,获取所述应用系统指定的虚拟专用网络VPN名称;建立与所述应用系统之间的对应所述VPN名称的连接,以供所述应用系统访问所述消息中间件中对应所述VPN名称的静态资源。本发明还公开了一种服务器及资源访问系统。本发明可以解决消息中间件内部资源隔离的问题,同时避免系统依赖第三方的权限控制,从而提高整个系统的稳定性。
【IPC分类】H04L29/06, H04L29/08, H04L12/46
【公开号】CN105491065
【申请号】CN201511032177
【发明人】贾立华, 陈井波, 陈广胜, 周仁丹
【申请人】深圳前海微众银行股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月31日