CN113507475A - 跨域访问方法和装置 - Google Patents
跨域访问方法和装置 Download PDFInfo
- Publication number
- CN113507475A CN113507475A CN202110796305.8A CN202110796305A CN113507475A CN 113507475 A CN113507475 A CN 113507475A CN 202110796305 A CN202110796305 A CN 202110796305A CN 113507475 A CN113507475 A CN 113507475A
- Authority
- CN
- China
- Prior art keywords
- domain
- target
- gateway
- link
- intra
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明披露一种跨域访问的方法和装置,其中,该方法用于实现源域到目标域的跨域访问,该方法应用于所述源域网关,该方法包括:接收内网用户发送的目标服务查询请求;向所述目标域网关发送所述目标服务查询请求,以使所述目标域网关返回所述目标服务对应的域间链接;基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,并向所述用户返回所述目标服务对应的域内链接,以使所述用户向所述域内链接发起访问请求;在接收到所述用户向所述域内链接发起的访问请求后,基于所述域间链接向所述目标域网关发起访问请求,以实现跨域访问。由此,本说明书实施例在服务域中设置源域网关和目标域网关,实现两个单一域之间的访问。
Description
技术领域
本说明书涉及计算机技术领域,尤其涉及一种跨域访问方法及装置、电子设备、存储介质。
背景技术
随着信息化建设的发展,越来越多的组织部署了自己的服务域。在该服务域中,各个服务节点和用户可以通过内网互相连通。
其中,服务节点为提供服务的接口,例如可以是API(Application ProgrammingInterface,应用程序接口)接口等,用户通过服务节点来访问服务。服务节点可以提供不同类型的服务,举例来说,对于与数据库相关联的服务节点,用户可以通过服务节点来进行数据查询修改等;对于与存储设备相关联的服务节点,用户可以通过服务节点来查询存储资源等。
目前,服务域主要以单一域为主,即域中的内网用户访问域内的服务。随着用户需求的增长,用户需要进行跨域访问,即域中的内网用户对其他服务域中的服务进行访问。然而,目前的单一域无法提供跨域访问的功能。
发明内容
有鉴于此,本说明书提供一种跨域访问的方法及装置、电子设备、存储介质,以解决相关技术中的问题。
根据本发明的第一方面,提供一种跨域访问的方法,所述方法用于实现源域到目标域的跨域访问,所述源域中发布有所述目标域提供的目标服务,并设置有源域网关,所述目标域设置有目标域网关;所述方法应用于所述源域网关,所述方法包括:
接收内网用户发送的目标服务查询请求;
向所述目标域网关发送所述目标服务查询请求,以使所述目标域网关返回所述目标服务对应的域间链接;所述域间链接指向所述目标域设置的目标域网关;
基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,并向所述用户返回所述目标服务对应的域内链接,以使所述用户向所述域内链接发起访问请求;其中,所述域内链接指向所述源域网关;
在接收到所述用户向所述域内链接发起的访问请求后,基于所述域间链接向所述目标域网关发起访问请求,以实现跨域访问。
根据本发明的第二方面,提供一种跨域访问的方法,所述方法用于实现源域到目标域的跨域访问,所述目标域中设置有提供目标服务的目标服务节点,并设置有目标域网关,所述源域中发布有所述目标服务,并设置有源域网关;所述方法应用于所述目标域网关,所述方法包括:
接收所述源域网关发送的目标服务查询请求;
向所述源域网关返回所述目标服务的域间链接,以使所述源域网关基于所述域间链接向所述目标域网关发送访问请求;其中,所述域间链接指向所述目标域设置的目标域网关;
在接收到所述源域网关基于所述域间链接发送的访问请求后,基于所述域间链接确定所述目标服务的域内链接;其中,所述域内链接指向所述目标服务节点;
基于所述域内链接向所述目标服务节点发起访问请求,以实现所述源域对所述目标域的跨域访问。
根据本发明的第三方面,提供一种跨域访问的装置,所述装置用于实现源域到目标域的跨域访问,所述源域中发布有所述目标域提供的目标服务,并设置有源域网关,所述目标域设置有目标域网关;
所述装置应用于所述源域网关,所述装置包括:
服务查询接收单元,用于接收内网用户发送的目标服务查询请求;
域间链接获取单元,用于向所述目标域网关发送所述目标服务查询请求,以使所述目标域网关返回所述目标服务对应的域间链接;所述域间链接指向所述目标域设置的目标域网关;
域内链接返回单元,用于基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,并向所述用户返回所述目标服务对应的域内链接,以使所述用户向所述域内链接发起访问请求;其中,所述域内链接指向所述源域网关;
跨域访问发起单元,用于在接收到所述用户向所述域内链接发起的访问请求后,基于所述域间链接向所述目标域网关发起访问请求,以实现跨域访问。
根据本发明的第四方面,提供一种跨域访问的装置,所述装置用于实现源域到目标域的跨域访问,所述目标域中设置有提供目标服务的目标服务节点,并设置有目标域网关,所述源域中发布有所述目标服务,并设置有源域网关;
所述装置应用于所述目标域网关,所述装置包括:
服务查询接收单元,用于接收所述源域网关发送的目标服务查询请求;
域间链接返回单元,用于向所述源域网关返回所述目标服务的域间链接,以使所述源域网关基于所述域间链接向所述目标域网关发送访问请求;其中,所述域间链接指向所述目标域设置的目标域网关;
域内链接确定单元,用于在接收到所述源域网关基于所述域间链接发送的访问请求后,基于所述域间链接确定所述目标服务的域内链接;其中,所述域内链接指向所述目标服务节点;
域内访问发起单元,用于基于所述域内链接向所述目标服务节点发起访问请求,以实现所述源域对所述目标域的跨域访问。
本说明书一个实施例中,通过在服务域中设置源域网关和目标域网关,实现了两个单一域的互相连通。源域网关将内网用户发起的内网中的访问请求转换为网域之间的访问请求,将该访问请求发送给目标域网关,实现从源域到目标域的跨域访问,满足了服务域中内网用户访问其他服务域的需求,提升用户体验。
附图说明
图1是本说明书一示例性实施例示出的一种跨域访问的应用场景示意图。
图2是本说明书一示例性实施例示出的一种跨域访问方法的流程示意图。
图3是本说明书一示例性实施例示出的一种确定映射关系的方法的流程示意图。
图4是本说明书一示例性实施例示出的另一种跨域访问方法的流程示意图。
图5是本说明书一示例性实施例示出的另一种跨域访问方法的流程示意图。
图6是本说明书一示例性实施例示出的另一种确定映射关系的方法的流程示意图。
图7是本说明书一示例性实施例示出的另一种跨域访问方法的流程示意图。
图8是本说明书一示例性实施例示出的一种用于跨域访问装置的一结构示意图。
图9是本说明书一示例性实施例示出的一种跨域访问装置的示意框图。
图10是本说明书一示例性实施例示出的另一种跨域访问装置的示意框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,图1是本说明书一示例性实施例示出的一种跨域访问的应用场景示意图。如图1所示,包括域A和域B两个服务域,且每个服务域内包括若干个服务节点,且各个服务节点之间通过内网互相连通。例如图1中示出的域A包括服务节点A1、A2,域B包括服务节点B1、B2。
当内网中的用户需要访问服务时,用户可以访问域内的服务节点。例如,域A中的内网用户可以访问服务节点A1、A2,域B中的内网用户可以访问服务节点B1、B2。
然而,目前的服务域只能进行域内访问,不能进行跨域访问,无法满足用户需求。有鉴于此,本申请通过在服务域设置网关来实现跨域访问,该网关通过内网与域内各个服务节点互相连通,并通过外网与其他域的网关连通。
仍以图1为例,域A设置有网关A,该网关A通过内网与服务节点A1、A2连通,域B设置有网关B,该网关B通过内网与服务节点B1、B2连通,网关A与网关B之间通过外网互相连通。
在一个实施例中,网关也可以是服务节点,即网关也可以为用户提供服务。例如,对于包含有多个服务节点的服务域,可以将服务域中一个服务节点设置为网关。对于被确定为网关的服务节点,该网关可以通过NAT转换、设置VPN等方式设置外网地址,该外网地址与其他服务域中的网关互相连通。
在一个实施例中,对于与多个其他服务域进行跨域访问的服务域,可以将多个不同的服务节点设置为网关,每个网关与一个其他服务域对应。
下面结合具体的实施例来介绍本申请中跨域访问的方法。
参见图2,图2是本说明书一示例性实施例示出的一种跨域访问方法的流程示意图。在一个实施例中,本实施例方法实现源域到目标域的跨域访问,本实施例方法应用于源域网关。
其中,源域为发起访问的用户所在的服务域,目标域为用户所访问的目标服务所在的服务域。
源域中发布有所述目标域提供的目标服务,并设置有源域网关。
例如图1所示的应用场景中,以域A中的用户访问域B提供的目标服务为例,域A为源域、域B为目标域,域A中发布有域B提供的目标服务,例如域B中服务节点B1提供的服务B1。域A的网关A为源域网关,域B的网关B为目标域网关。
本实施例方法可以应用于源域网关,例如图1中的网关A。如图2所示,所述方法包括以下步骤:
步骤S201:接收内网用户发送的目标服务查询请求。
其中,内网用户为源域内网中的用户,该用户可以通过内网访问源域中的服务节点,以及通过源域网关的内网地址访问源域网关。
在一个实施例中,目标域预先向源域网关发送目标域所提供的,包括目标服务在内的,若干个服务的信息。其中,服务由目标域中各个服务节点所提供,目标服务由目标域中的目标服务节点所提供。
在一个实施例中,所述源域中设置有若干个服务节点,在接收到目标域所提供的服务的信息后,源域网关可以将该服务发布到源域中,例如源域网关将服务的信息发布到源域的各个服务节点中。需要说明的是,本实施例中发布服务,可以是发送服务的信息,例如服务的标识、名称、功能、描述信息等,以便于用户对不同的服务进行区分,本实施例不进行限定。
在一个实施例中,服务节点可以提供网页、客户端等可视化界面,内网用户可以通过服务节点所提供的可视化界面进行登录,然后查看或搜索已发布的服务,从而可以从已发布的若干个服务中,确定出待访问的目标服务,并向源域网关发起目标服务查询请求。需要说明的是,用户可以通过电子设备(例如移动终端、个人电脑等)登录到服务节点,进行查询、访问等操作,也就是说,用户所使用的电子设备可以与服务节点、网关等进行交互,为方便描述,本说明书将用户所使用的电子设备直接称为用户。当然,该电子设备可以是网关、服务节点所在的电子设备,或者也可以是其他电子设备,本说明书不进行限定。
其中,目标服务查询请求中,包括目标服务的标识信息,例如目标服务的名称、目标服务的ID等,只要能使得源域网关区分出该目标服务即可,本实施例不对标识信息的具体形式进行限定。
可选的,目标服务查询请求中还可以包括提供该目标服务的目标域的标识信息,例如目标域的区域号等。由此,源域网关可以根据该标识信息确定目标服务所属的目标域,从而在后续处理时提高效率。
在一个实施例中,内网用户发起目标服务查询请求,可以是通过服务节点向源域网关发起目标服务查询请求。例如,用户向服务节点发起目标服务查询请求,服务节点再将该目标服务查询请求转发给源域网关。或者,也可以是内网用户直接向源域网关发起目标服务查询请求,具体根据服务节点的实现方式而定,本实施例不进行限定。
步骤S202:向所述目标域网关发送所述目标服务查询请求,以使所述目标域网关返回所述目标服务对应的域间链接;所述域间链接指向所述目标域设置的目标域网关。
在一个实施例中,源域网关在接收到用户发起的目标服务查询请求后,可以确定该目标服务是否由源域提供。例如,若目标服务查询请求中携带有服务所属的服务域的标识,则源域网关可以确定该标识是否指示所述源域,若不是,则可以进一步确定该标识所指示的目标域。或者,源域网关也可以根据本地保存的服务与服务域的对应关系,确定该目标服务所属的服务域是否为源域。
在一个实施例中,源域网关若确定目标服务由源域提供,则可以直接向源域中提供该目标服务的服务节点进行查询,以及基于服务节点返回的目标服务的链接发起访问,即进行域内访问等。
在一个实施例中,源域网关若确定目标服务不是由源域提供,则确定提供该目标服务的目标域。一般的,源域网关中保存有能够互相连通的其他服务域的网关的外网地址,由此,源域网关可以确定目标域的外网地址,然后向目标域网关发起目标服务查询请求。
在一个实施例中,目标域网关在接收到该源域网关发起的服务查询请求后,可以返回所述目标服务对应的域间链接;所述域间链接指向所述目标域设置的目标域网关,例如,所述域间链接中包括所述目标域网关的外网地址。
步骤S203:基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,并向所述用户返回所述目标服务对应的域内链接,以使所述用户向所述域内链接发起访问请求。
其中,所述域内链接指向所述源域网关,例如域内链接中可以包括源域网关的内网地址。
在一个实施例中,源域网关可以根据源域网关的内网地址,将域间链接转换成域内链接。由于内网地址与源域中各服务节点和用户互相连通,用户可以直接访问该域内链接。
在一个实施例中,源域网关可以将该域内链接返回给用户。例如,源域网关可以将该域内链接发送给服务节点,服务节点再将该域内链接转发给用户。或者,源域网关也可以直接将该域内链接发送给用户。
在一个实施例中,用户在接收到该域内链接后,可以向该域内链接发起访问请求。由于该域内链接指向源域网关,也就是说,用户向源域网关发起基于该域内链接的访问请求。
至于源域网关基于域间链接和内网地址生成域内链接的方法,在下文中结合图3进行说明,这里暂不赘述。
需要说明的是,根据上述两个步骤,内网用户实现了对目标服务的资源申请,即申请到用于访问目标服务的可达的域内链接。后续,内网用户可以基于该可达的域内链接来访问目标服务。
步骤S203:在接收到所述用户向所述域内链接发起的访问请求后,基于所述域间链接向所述目标域网关发起访问请求,以实现跨域访问。
在一个实施例中,源域网关在基于域间链接生成域内链接后,还可以保存域内链接、以及域间链接的对应关系,当然,为了对该对应关系进行标识,还可以保存服务的标识信息。例如,源域网关中可以通过表格来保存该映射关系,表格中的一个表项与目标服务对应,该表项中包括目标服务的标识信息、该目标服务的域内链接、以及该目标服务的域间链接。
在一个实施例中,用户发起的访问请求中携带有目标服务的标识信息。源域网关可以基于该标识信息确定目标服务,然后确定目标服务的域间链接。
在一个实施例中,源域网关可以直接基于域内链接,查询与该域内链接存在对应关系的域间链接,即为目标服务的域间链接。
在一个实施例中,源域网关在确定目标服务的域间链接后,可以发起向域间链接的访问请求,由于该域间链接指向目标域网关,也就是说,源域网关通过向目标域网关发起访问请求,实现了跨域访问。
在一个实施例中,目标域网关在接收到该访问请求后,可以向源域网关返回对应的应答消息,从而源域网关可以将该应答消息返回给用户。
根据图2所示的实施例,通过在服务域中设置源域网关和目标域网关,实现了两个单一域的互相连通。源域网关先根据内网用户的查询请求,向目标域网关申请目标服务的域间链接,并将该域间链接转换成域内链接后转发给内网用户,实现了内网用户对目标服务的申请。在申请目标服务成功的情况下,内网用户可以基于域内链接发起访问请求,而域间网关将内网用户发起的内网中的访问请求转换为网域之间的访问请求,将该访问请求发送给目标域网关,实现从源域到目标域的跨域访问,满足了服务域中内网用户访问其他服务域的需求,提升用户体验。下面结合图3介绍源域间网关基于域间链接确定域内链接的方法。如图3所示,所述方法包括:
步骤S301:接收所述目标域网关发送的所述目标服务的域间链接。
在一个实施例中,目标域网关可以向源域网关发送目标域所提供的若干个服务的信息,该若干个服务中包括目标服务。
可选的,服务的信息可以包括服务的标识信息、以及该服务的域间链接等。其中,服务的标识信息可以是多种类型的,只要能对服务进行区分即可,本实施例不进行限定。举例来说,服务的信息可以包括服务的名称,例如“人口数据查询”等;或者服务的信息还可以包括服务的标签、或者其他介绍信息等,便于用户确定所需访问的服务。
在一个实施例中,域间链接包括目标域的外网地址、以及服务在目标域内的目录信息。
举例来说,目标服务的域间链接可以为10.1.1.1/region1/socialresource,其中,10.1.1.1为目标域网关的外网地址,region1/socialresource为目标服务的目录信息。
步骤S302:基于所述源域网关的内网地址,将所述指向目标域网关的域间链接,转换为指向所述源域网关的域内链接。
在一个实施例中,源域网关可以将所述域间链接中的目标域网关的外网地址,替换为所述源域网关的内网地址,从而将域间链接转换为域内链接,以上述域间链接“10.1.1.1/region1/socialresource”为例,可以将其转换为域内连接“192.1.1.1/region1/socialresource”,其中192.1.1.1为源域网关的内网地址。
或者,源域网关可以在域间链接中增加源域网关的内网地址,从而将域间链接转换为域内链接。举例来说,可以在目标域网关的外网地址之前增加源域网关的内网地址,以上述域间链接“10.1.1.1/region1/socialresource”为例,可以将其转换为域内链接“192.1.1.1/10.1.1.1/region1/socialresource”。
由此,源域网关可以将域间链接转换为域内链接,并保存两者之间的映射关系。
至此,完成了图3所示的实施例。根据图3所示的实施例,源域网关在向目标域网关发送目标服务查询请求后,可以根据目标域网关返回的目标服务的域间链接,生成用户可达的域内链接,从而可以使得用户根据该域内链接来访问目标服务,提升用户体验。
图4是本说明书一示例性实施例示出的另一种跨域访问方法的流程示意图。如图4所示,所述方法还包括:
步骤S401:在接收到所述用户向所述域内链接发起的访问请求后,保存所述用户对所述目标服务的访问记录。
在一个实施例中,源域网关在接收到用户发起的访问请求后,可以保存该用户的访问记录。
其中,访问记录可以包括目标服务的标识信息,以及该访问请求的来源信息,例如源地址、源端口号等(即内网用户的地址和端口号)。可选的,访问记录还可以包括接收该访问请求的相关信息,例如源域网关接收该访问请求的接收地址(即源域网关的内网地址)和端口号。
可选的,源域网关在向域间网关发送基于域间连接的访问请求后,还可以将该访问请求的相关信息也保存为用户的访问记录。例如,该相关信息可以包括域间连接,接收该访问请求的目标域网关接收地址和端口号,发送该访问请求的源域网关的发送地址(即源域网关的外网地址)和端口号等。
步骤S402:若接收到所述目标域网关返回的所述访问请求的应答消息,基于所述访问记录,将所述应答消息转发给所述用户。
在一个实施例中,目标域网关在接收到源域网关发送的访问请求后,目标域网关可以向提供目标服务的目标服务节点发送访问请求,若接收到目标服务节点返回的所述访问请求的应答消息,则将该所述应答消息转发给源域网关。
基于此,源域网关在接收到目标域网关发送的应答消息后,基于访问记录,将该应答消息发送给用户,也就是向访问记录中的内网用户的地址和端口号,发送该应答消息。
举例来说,源域网关在接收到应答消息后,可以先获取应答消息的源地址和端口号,在“目标域网关接收地址和端口号”中查询与该源地址和端口号对应的访问记录,然后根据该访问记录确定“内网用户的地址和端口号”、以及确定“源域网关接收地址和端口”。可选的,源域网关可以将接收到目标域网关返回的应答消息中的源地址和端口号替换为“源域网关接收地址和端口”、以及将应答消息中的目的地址和端口号替换为“内网用户的地址和端口号”,从而可以将该应答消息返回给内网用户。
下面结合表1介绍一个具体实施例。例如源域网关保存的访问记录如表1所示:
表1
如表1所示,源域网关在接收到内网用户发送的访问请求后,可以将该访问请求中的源域地址和端口号、以及目标地址和端口号,分别记录为“内网用户地址和端口号”和“源域网关接收地址和端口号”,即192.1.1.2:100和192.1.1.1:101。然后,源域网关在向目标域网关发送访问请求后,可以将该访问请求中的源地址和端口号、以及目标地址和端口号,分别记录为“源域网关发送地址和端口号”,即10.1.1.1:102、以及“目标域网关接收地址和端口号”,即10.1.1.2:103。
基于表1,源域网关在接收到应答消息后,可以在“目标域网关接收地址和端口”对应的值中查找应答消息的来源地址和端口号(即10.1.1.2:103),然后基于查找到的表项,将应答消息中的源地址和端口号替换为该表项中“源域网关接收地址和端口”对应的值,即192.1.1.1:101;将目的地址和端口号替换为“源地址和端口号”对应的值,即192.1.1.2:100。由此,源域网关可以基于该重新生成的应答消息,返回给内网用户。
至此,完成了图4所示的实施例。根据图4所示实施例的方法,源域网关在向目标域网关发送访问请求后,若接收到目标域网关返回的应答消息,还可以将该应答消息返回给用户,从而实现了完整的跨域访问以及跨域应答的流程。
在一个实施例中,为了保障安全性,在跨域访问过程中还可以包括多种身份认证和鉴权验证。例如,在内网用户查询目标服务时,需要携带用户在本地的身份认证信息,源域网关在向目标域网关查询目标服务时,需要携带域间的身份认证信息;在内网用户访问域内链接时,需要携带域内鉴权信息,源域网关访问域间链接时,需要携带域间鉴权信息。
在一个实施例中,源域网关在向所述用户返回所述目标服务对应的域内链接之前,可以先验证用户是否具有访问目标服务的权限。
用户发起的目标服务查询请求中,可以携带用户身份信息,例如用户的名称、编号、或者用户所属的组织等。由此,源域网关可以基于该用户身份信息确定用户是否具有访问目标服务的权限。或者,源域网关也可以确定用户是否为合法用户,若该用户为合法用户,则确定其具有访问目标服务的权限。
举例来说,源域网关可以获取目标服务查询请求中的用户身份信息,基于所述用户身份信息,确定所述用户是否具有访问所述目标服务的权限。若所述用户具有访问所述目标服务的权限,向所述用户返回所述目标服务对应的域内链接;若所述用户不具有访问所述目标服务的权限,不向所述用户返回所述目标服务对应的域内链接,例如可以向用户返回“访问失败”、或“无访问权限”等提示信息。
需要说明的是,确定用户是否具有访问目标服务的权限这一步骤的执行顺序是可选的,例如,源域网关可以在向目标域网关发送目标服务查询请求之前执行,若确定用户具有目标服务的访问权限,则向目标域网关发送目标服务查询请求;若确定用户不具有目标服务的访问权限,则不向目标域网关发送目标服务查询请求。或者,这一步骤也可以在向目标域网关发送目标服务查询请求之后、在向所述用户返回所述目标服务对应的域内链接之前执行等,本实施例不进行限定。
可选的,源域网关确定用户的访问权限的方法可以有多种。
在一个实施例,源域网关可以基于预设的用户身份信息与访问权限的对应关系,确定所述用户是否具有访问所述目标服务的权限。可选的,源域网关可以将用户身份信息上报给源域的管理员,由管理员人工确定是否具有访问权限。
在另一个实施例中,源域网关可以将所述用户身份信息发送给所述目标域网关,以使所述目标域网关基于所述用户身份信息确定所述用户是否具有访问所述目标服务的权限。例如,目标域网关可以将用户身份信息上报给目标域的管理员,由管理员人工确定是否具有访问权限。
在一个实施例中,源域网关在向所述目标域网关发送所述目标服务查询请求之后,还可以从目标域网关获取域间鉴权信息。
在一个例子中,目标域网关中可以保存域间鉴权信息,并在接收到源域网关发送的目标服务查询请求后,将目标服务的域间链接、以及该域间鉴权信息均发送给源域网关。在一个实施例中,源域网关在向目标域网关发起访问请求时,可以在所述访问请求中携带所述目标域网关返回的域间鉴权信息,以使所述目标域网关在确定所述域间鉴权信息通过校验后,返回所述访问请求的应答消息。
目标域网关在接收到该访问请求后,可以确定该域间鉴权信息是否通过校验,若通过校验,则返回应答消息,若未通过校验,则不返回应答消息,例如可以返回“访问失败”的指示信息等。或者,目标域网关在接收到该访问请求后,可以将该域间鉴权信息作为域内鉴权信息,即在向目标服务节点发送访问请求时携带该域内鉴权信息,从而由目标服务节点确定该域内鉴权信息是否通过校验。
在一个实施例中,源域网关在接收到内网用户发送的目标服务查询请求之后,除了向用户返回目标服务的在源域内的域内链接,还可以向所述用户返回所述源域的域内鉴权信息,以使所述用户在发起的访问请求中携带所述域内鉴权信息。在一个实施例中,该域内鉴权信息可以与域间鉴权信息一致,即源域网关直接将目标域网关返回的域间鉴权信息发送给用户。或者,源域网关也可以自行生成域内鉴权信息,并将该生成的域内鉴权信息发送给用户。
基于此,用户可以在发起的访问请求中携带域内鉴权信息,源域网关可以获取所述用户发起的访问请求中携带的域内鉴权信息,并确定所述域内鉴权信息是否通过校验。若所述域内鉴权信息通过校验,基于所述域间链接向所述目标域网关发起访问请求;若所述域内鉴权信息未通过校验,则不向目标域网关发起访问请求。
需要说明的是,源域网关对该域内鉴权信息进行校验的时机可以根据实际情况确定,只要在接收到访问请求后、以及在向目标域网关发起访问请求之前进行校验即可,例如可以是在“确定所述域内链接对应的域间链接”之前执行,或者也可以在“确定所述域内链接对应的域间链接”之后执行,本实施例不进行限定。
参见图5,图5是本说明书一示例性实施例示出的另一种跨域访问方法的流程示意图。在一个实施例中,本实施例方法实现源域到目标域的跨域访问,本实施例方法应用于目标域网关。
其中,源域为发起访问的用户所在的服务域,目标域为用户所访问的目标服务所在的服务域。
目标域中设置有提供目标服务的目标服务节点,并设置有目标域网关,所述源域中发布有所述目标服务,并设置有源域网关。
本实施例方法可以应用于源域网关,例如与图2所示实施例对应的,本实施例方法可以应用于图1中的网关B,域B中的内网用户访问域A提供的服务,例如可以是访问服务节点A1提供的服务A1,则服务A1为目标服务,服务节点A1为目标服务节点。
如图5所示,所述方法包括以下步骤:
步骤S501:接收所述源域网关发送的目标服务查询请求。
在一个实施例中,源域网关可以通过图2所示实施例中的方法,在接收到用户发起的目标服务查询请求后,基于预先保存的目标域网关的地址,向目标域网关发送目标服务查询请求。
由此,目标域网关可以接收到源域网关发送的目标服务查询请求。
步骤S502:向所述源域网关返回所述目标服务的域间链接,以使所述源域网关基于所述域间链接向所述目标域网关发送访问请求;其中,所述域间链接指向所述目标域设置的目标域网关。
在一个实施例中,目标域网关在接收到源域网关发送的目标服务查询请求后,可以确定目标服务的域间链接,并向源域网关返回该域间链接。
可选的,目标域网关确定目标服务的域间链接的方法有多种,具体参见下文实施例,这里暂不赘述。
步骤S503:在接收到所述源域网关基于所述域间链接发送的访问请求后,基于所述域间链接确定所述目标服务的域内链接;其中,所述域内链接指向所述目标服务节点。
在一个实施例中,源域网关在接收到用户基于域内链接的访问请求后,可以向域间链接发起访问请求,即向目标域网关发起访问请求。
在一个实施例中,目标域网关可以接收到源域网关发送的访问请求,其中包括有域间链接。由此,目标域网关再根据该域间链接确定目标服务在目标域内的域内链接。
在一个实施例中,目标域网关确定域内链接的方式,与步骤S502中目标域网关确定域间链接的方式是对应的,将在下文中进行具体介绍,这里暂不赘述。
步骤S504:基于所述域内链接向所述目标服务节点发起访问请求,以实现所述源域对所述目标域的跨域访问。
在一个实施例中,目标域网关可以发起向域内链接的访问请求,由于该域内链接指向目标域中的提供目标服务的目标服务节点,从而可以通过目标服务节点访问目标服务,实现了源域对目标域的跨域访问。
需要说明的是,目标域中可以包括多个服务节点,目标服务节点只是其中一个,每个服务节点可以提供相同或不同的服务,本实施例中的目标服务节点和目标服务只是示例性说明,不进行限定。
根据图5所示的实施例,通过在服务域中设置源域网关和目标域网关,实现了两个单一域的互相连通。目标域网关先根据源域网关的目标服务查询请求返回源域网关可达的目标服务的域间链接,从而源域网关可以根据用户的访问请求,向该域间链接发起访问请求。由此,目标域网关可以接收到源域网关的访问请求,并将其转换为目标域内网中的访问请求,将该访问请求发送给提供目标服务的目标服务节点。由此,本申请实施例在源域与目标域之间互相隔离的基础上,还实现从源域到目标域的跨域访问,满足了服务域中内网用户访问其他服务域的需求,提升用户体验。
下面说明“目标域网关确定域间链接以及确定域内链接”的两种方式。
方式1:目标域网关作为目标域中服务节点的代理,预先保存目标域中各服务节点的域内链接与域间链接之间的对应关系。
在一个实施例中,目标域网关中预先保存有各服务对应的域内链接。需要说明的是,这里的域内链接为目标域网关所在的服务域中的链接,该域内链接指向目标域中的服务节点,与图2所示实施例中的“源域的域内链接”是不同的。
在一个实施例中,目标域网关中保存有目标服务的域内链接和域间链接的对应关系。例如,目标域网关中可以通过表格来保存该映射关系,表格中的一个表项与目标服务对应,该表项中包括目标服务的标识信息、该目标服务的域内链接、以及该目标服务的域间链接。
在一个实施例中,目标域网关在接收到源域网关发送的访问请求后,可以从中获取该目标服务的标识信息。从而可以基于该标识信息确定目标服务,然后确定目标服务的域内链接。
或者,目标域网关可以从访问请求中获取对应的域间链接,从而可以在映射关系中查询与该域间链接存在对应关系的域内链接,即为目标服务的域内链接。
其中,目标域网关中保存的域内链接与域间链接之间的映射关系通过图6所示的方法确定,如图6所示,所述方法包括:
步骤S601:接收所述目标服务节点发送的目标服务的信息,所述目标服务的信息中包括所述目标服务的域内链接。
在一个实施例中,目标域中的服务节点可以向目标域网关发布服务,其中包括目标服务节点发布目标服务。可选的,服务节点可以设置目标域的标识信息,例如区域号或联盟号,以区分不同的服务域,从而服务节点向目标域网关发布的服务时也可以携带该目标域的标识;或者,为了提高对相关技术中各服务节点的兼容性,服务节点也可以按照相关技术中的方法向目标域网关发布服务,不携带目标域的标识。
在一个实施例中,目标域中的服务节点可以向目标域网关发送服务的信息,可选的,服务的信息可以包括服务的标识信息、以及该服务的域内链接等。
在一个实施例中,目标域网关可以在获取到服务节点发布的服务的标识后(其中包括目标服务节点发布目标服务),再向服务节点进行服务查询,获取域内链接等其他信息。
在一个实施例中,域内链接包括服务节点的地址、以及服务在目标域内的目录信息。其中,服务节点作为目标域内网中的节点,其地址为内网地址。
举例来说,目标服务的域内链接可以为172.1.1.2/region1/socialresource,其中,172.1.1.2为目标服务节点的地址,region1/socialresource为目标服务的目录信息,例如,目标服务对应的访问接口位于目标服务节点的“region1/socialresource”目录中。
步骤S602:基于所述目标域网关的外网地址,将所述指向目标服务节点的域内链接,转换为指向所述目标域网关的域间链接。
步骤S603:保存所述域内链接与所述域间连接之间的映射关系。
在一个实施例中,目标域网关可以将将所述域内链接中的目标服务节点的地址,替换为所述目标域网关的外网地址,从而将域内链接转换为域间链接。以上述域内链接“172.1.1.2/region1/socialresource”为例,可以将其转换为域间链接“10.1.1.1/region1/socialresource”,其中192.1.1.1为目标域网关的外网地址。
或者,目标域网关可以在域内链接中增加目标域网关的外网地址,从而将域内链接转换为域间链接。举例来说,可以在服务节点的地址之前增加目标域网关的外网地址,以上述域内链接“172.1.1.2/region1/socialresource”为例,可以将其转换为域间链接“10.1.1.2/172.1.1.2/region1/socialresource”。
根据转换前后的域内链接和域间链接,目标域网关可以保存两者的映射关系。
至此,完成了图6所示的实施例。根据图6所示的实施例,目标域网关可以根据目标域中目标服务节点发送的目标服务的域内链接,保存域内链接和域间链接之间的映射关系,从而可以在向源域发布该目标服务时携带该域间链接,以及在后续源域网关进行跨域访问时,可以基于源域网关访问的域间链接查找对应的域内链接,并基于对域内链接的访问请求来访问提供目标服务的目标服务节点,实现跨域访问,提升用户体验。
方式2:目标域网关在接收到源域网关发起的目标服务查询请求后,再向目标域中的节点进行查询。
在一个实施例中,目标域网关无需预先保存域内链接与域间链接的映射关系,而是在接收到源域网关发起的目标服务查询请求后,再进行查询。
举例来说,目标域网关在接收到源域网关发起的目标服务查询请求后,可以向目标服务节点查询该目标服务的域内链接。然后,目标域网关可以将该域内链接转换为域间链接,具体方法可以参见图6所示实施例,这里不再赘述。
可选的,目标域网关可以保存域内链接与域间链接的映射关系,从而,在接收到源域网关发起的对域间链接的访问请求后,可以基于该映射关系查询对应的域内链接。
可选的,目标域网关可以不保存域内链接与域间链接的映射关系,而是按照预设的规则来生成链接。
例如,目标域网关可以按照“地址替换”的预设规则来生成链接。在向源域网关返回域间链接时,目标域网关可以将域内链接中的服务节点的地址,替换为目标域网关的外网地址,生成域间链接。对应的,在接收到源域网关发起的基于域间链接的访问请求之后,目标域网关可以将将所述域间链接中的目标域网关的外网地址,替换为所述目标服务节点的地址,生成所述域内链接。举例来说,域内链接“172.1.1.2/region1/socialresource”可以进行地址替换,转换为域间链接“10.1.1.1/region1/socialresource”;对应的,也可以通过地址替换将域间链接“10.1.1.1/region1/socialresource”转换为域内链接“172.1.1.2/region1/socialresource”。
或者,目标域网关可以按照“地址增加、删除”的预设规则来生成链接。例如在基于域内链接生成域间链接时,在链接中增加目标域网关的外网地址,例如在链接头部;在基于域间链接生成域内链接时,删除其中的目标域网关的外网地址,例如直接删除头部的第一个地址。举例来说,域内链接“172.1.1.2/region1/socialresource”可以进行地址增加,转换为域间链接“10.1.1.2/172.1.1.2/region1/socialresource”;对应的,也可以通过地址删除将域间链接“10.1.1.2/172.1.1.2/region1/socialresource”转换为域内链接“172.1.1.2/region1/socialresource”。
需要说明的是,上述两种预设规则只是示例性说明,在实际应用中还可以采用其他生成链接的方式,这里不再赘述。
在一个实施例中,跨域访问的方法中还包括跨域应答,下面结合图7介绍具体的方法。如图7所示,所述方法还包括:
步骤S701:在接收到所述源域网关基于所述域间链接发送的访问请求后,保存所述源域网关对所述目标服务的访问记录。
在一个实施例中,目标域网关在接收到源域网关发送的目标服务访问请求后,还可以保存该访问记录。
其中,访问记录可以保存目标服务的标识信息,以及该访问请求的来源信息,例如源地址和端口号(即源域网关的外网地址和端口号)。可选的,访问记录还可以包括接收该访问请求的相关信息,例如目标域网关接收该访问请求的接收地址(即目标域网关的外网地址)和端口号。
可选的,目标域网关在向目标服务节点发送基于域内连接的访问请求后,还可以将该域内访问请求的相关信息也保存为访问记录。例如,该相关信息可以包括域内连接,接收该访问请求的服务节点的接收地址和端口号,发送该访问请求的目标域网关的发送地址(即目标域网关的内网地址)和端口号等。
步骤S702:若接收到目标服务节点返回的所述访问请求的应答消息,基于所述访问记录,将所述应答消息转发给所述源域网关。
在一个实施例中,目标域网关在向目标服务节点发送访问请求后,目标服务节点还可以返回访问请求的应答消息。基于此,目标域网关在接收到该应答消息后,可以将该应答消息转发给源域网关。
在一个实施例中,源域网关在接收到应答消息后,可以将应答消息返回给用户,实现跨域应答,源域网关向用户返回应答消息的方法可以参见图4所示实施例,这里不再赘述。
下面结合表2介绍具体一个具体实施例。例如目标域网关保存的访问记录如表2所示:
表2
如表2所示,目标域网关在接收到源域网关发送的访问请求后,可以将访问请求中的源地址和端口号、以及目标地址和端口号,分别记录为“源域网关发送地址和端口号”和“目标域网关接收地址和端口号”,即10.1.1.1:102和10.1.1.2:103。然后,目标域网关在向目标服务节点发送访问请求后,可以将该访问请求中的源地址和端口号、以及目标地址和端口号,分别记录为“目标域网关发送地址和端口号”和“服务节点地址和端口号”,即172.1.1.1:104和172.1.1.2:105。
基于表2,目标域网关在接收到目标服务节点返回的应答消息后,可以在“服务节点地址和端口号”对应的值中查找应答消息的来源地址和端口(即172.1.1.2:105),然后基于查找到的表项,将应答消息中的源地址和端口号替换为该表项中“目标域网关接收地址和端口号”对应的值,即10.1.1.2:103;将目的地址和端口号替换为“源域网关发送地址和端口号”对应的值,即10.1.1.1:102。由此,目标域网关可以基于该重新生成的应答消息,返回给源域网关。
至此,完成了图7所示的实施例。根据图7所示实施例的方法,目标域网关在向目标服务节点发送访问请求后,还可以将目标服务节点返回的应答消息返回给源域用户,从而实现了完整的跨域访问以及跨域应答的流程。
在一个实施例中,为了保障安全性,目标域网关还可以对源域网关发起的访问请求进行鉴权。
目标域网关在接收到所述源域网关发送的目标服务查询请求之后,所述方法还包括:向所述源域网关返回域间鉴权信息,以使所述源域网关在基于所述域间链接发送的访问请求中携带所述域间鉴权信息;
目标域网关在基于所述域间链接确定所述目标服务的域内链接之前,所述方法还包括:确定所述域间鉴权信息是否通过校验;若所述域间鉴权信息通过校验,基于所述域间链接确定所述目标服务的域内链接。
在一个实施例中,源域网关在向目标域网关发起访问请求时,可以在所述访问请求中携带所述域间鉴权信息。若目标域网关确定该域间鉴权信息通过验证,则继续执行步骤S503-步骤S504;若目标域网关确定该域间鉴权信息未通过验证,则不执行步骤S503-步骤S504,例如可以向源域网关返回“访问失败”的指示信息。
在一个实施例中,为了保障安全性,目标域网关在向目标服务节点发起访问请求时,还携带域内鉴权信息。
在一个实施例中,目标域网关可以获取服务节点返回的域内鉴权信息。例如,服务节点可以在返回域内链接时,还返回域内鉴权信息,从而目标域网关可以保存该所述目标域的域内鉴权信息。
举例来说,若目标域网关作为各个服务节点的代理,在可以在预先获取各个服务的域内链接时,还获取鉴权信息;若目标域网关在接收到目标服务查询请求后再向服务节点进行查询,则在向目标服务查询域内链接时,还获取到鉴权信息。
由此,目标域网关可以基于所述域内链接向所述目标服务节点发起访问请求,并在所述访问请求中携带所述域内鉴权信息,以使所述目标服务节点在确定所述域内鉴权信息通过校验后,返回所述访问请求的应答消息。
需要说明的是,目标域网关向源域网关返回的域间鉴权信息,与服务节点返回的域内鉴权信息,可以相同或者也可以不同。
例如,域间鉴权信息可以是专门为跨域访问设置的。目标域网关可以预先配置域间鉴权信息,则在返回域间链接时可以携带该域间鉴权信息。
或者,目标域网关在从服务节点获取到域内链接和域内鉴权信息后,目标域网关可以直接将该域内鉴权信息作为域间鉴权信息返回给源域网关。
若域间鉴权信息与域内鉴权信息不同,目标域网关在接收到访问请求后,可以确定该域间鉴权信息是否通过校验,若通过校验,则将域间鉴权信息替换为目标域的域内鉴权信息,然后将该携带有域内鉴权信息的访问请求发送给目标服务节点。由此,目标服务节点可以对该域内鉴权信息进行校验,若通过校验,则向目标域网关返回应答消息;若未通过校验,则向目标域网关返回“访问失败”的指示信息。
若域间鉴权信息与域内鉴权信息相同,目标域在接收到访问请求后,可以确定该域间鉴权信息是否通过校验,若通过校验,则直接将该携带有域内鉴权信息的访问请求发送给目标服务节点。当然,上述目标域向目标服务节点发送访问请求,还需要将域间链接转换为域内链接,具体可以参照图5所示实施例,这里不再赘述。
在一个实施例中,源域中的域内鉴权信息、域间鉴权信息、以及目标域中的域内鉴权信息,可以均是相同的,即均为目标服务节点返回的鉴权信息。目标域网关和源域网关在针对目标服务查询器请求进行返回时,可以仅修改链接,例如目标域网关将服务节点返回的域内链接修改为域间链接;源域网关将目标域网关返回的域间链接修改为域内链接,而直接携带原本的鉴权信息。基于此,源域网关和目标域网关可以不对访问请求进行鉴权,而由目标服务节点直接进行鉴权。
需要说明的是,在上述跨域访问方法的实施例中,源域和目标域是根据用户所在域和目标服务所在域确定的,而不是对服务域进行限定。例如,源域也可以向目标域发布源域中服务节点所提供的服务,从而当目标域中的内网用户访问源域中的目标服务时,则目标域可以称为源域,源域可以称为目标域,并通过上述实施例的方法来实现跨域访问。
与前述跨域访问方法的实施例相对应,本说明书还提供了跨域访问装置的实施例。
本说明书跨域访问装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本说明书跨域访问装置所在服务器的一种硬件结构图,除了图8所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务器通常根据该服务器的实际功能,还可以包括其他硬件,对此不再赘述。
图9是本说明书一示例性实施例示出的一种跨域访问装置的示意框图。
请参考图9,所述跨域访问装置900可以应用在前述图8所示的服务器中,所述装置用于实现源域到目标域的跨域访问,所述源域中发布有所述目标域提供的目标服务,并设置有源域网关,所述目标域设置有目标域网关;所述装置应用于所述源域网关,所述装置包括:
服务查询接收单元901,用于接收内网用户发送的目标服务查询请求;
域间链接获取单元902,用于向所述目标域网关发送所述目标服务查询请求,以使所述目标域网关返回所述目标服务对应的域间链接;所述域间链接指向所述目标域设置的目标域网关;
域内链接返回单元903,用于基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,并向所述用户返回所述目标服务对应的域内链接,以使所述用户向所述域内链接发起访问请求;其中,所述域内链接指向所述源域网关;
跨域访问发起单元904,用于在接收到所述用户向所述域内链接发起的访问请求后,基于所述域间链接向所述目标域网关发起访问请求,以实现跨域访问。
可选的,所述基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,包括:
将所述域间链接中的目标域网关的外网地址,替换为所述源域网关的内网地址,生成所述域内链接。
可选的,所述源域中设置有若干个服务节点;所述目标服务的发布方法包括:在接收到所述目标域网关发布的目标服务之后,将所述目标服务发布给所述服务节点,以使所述内网用户通过所述服务节点查询所述目标服务。
可选的,所述装置还包括:
跨域访问应答单元905,用于:在接收到所述用户向所述域内链接发起的访问请求后,保存所述用户对所述目标服务的访问记录;若接收到所述目标域网关返回的所述访问请求的应答消息,基于所述访问记录,将所述应答消息转发给所述用户。
可选的,所述域内链接返回单元902,还用于:获取所述目标服务查询请求中的用户身份信息;基于所述用户身份信息,确定所述用户是否具有访问所述目标服务的权限;若所述用户具有访问所述目标服务的权限,向所述用户返回所述目标服务对应的域内链接。
可选的,所述域内链接返回单元902,还用于:向所述用户返回所述源域的域内鉴权信息,以使所述用户在发起的访问请求中携带所述域内鉴权信息。所述域间链接确定单元903,还用于:获取所述用户发起的访问请求中携带的域内鉴权信息;确定所述域内鉴权信息是否通过校验;若所述域内鉴权信息通过校验,基于所述域间链接向所述目标域网关发起访问请求。
可选的,所述源域网关中保存有目标域对应的域间鉴权信息;
所述跨域访问发起单元904,还用于:接收所述目标域网关返回的域间鉴权信息;基于所述域间链接向所述目标域网关发起访问请求,并在所述访问请求中携带所述域间鉴权信息,以使所述目标域网关在确定所述域间鉴权信息通过校验后,返回所述访问请求的应答消息。
图10是本说明书一示例性实施例示出的一种跨域访问装置的示意框图。请参考图10,所述跨域访问装置1000可以应用在服务器中,服务器的具体描述可以参见图8,这里不再赘述。所述装置用于实现源域到目标域的跨域访问,所述目标域中设置有提供目标服务的目标服务节点,并设置有目标域网关,所述源域中发布有所述目标服务,并设置有源域网关;
所述装置应用于所述目标域网关,所述装置包括:
服务查询接收单元1001,用于接收所述源域网关发送的目标服务查询请求;
域间链接返回单元1002,用于向所述源域网关返回所述目标服务的域间链接,以使所述源域网关基于所述域间链接向所述目标域网关发送访问请求;其中,所述域间链接指向所述目标域设置的目标域网关;
域内链接确定单元1003,用于在接收到所述源域网关基于所述域间链接发送的访问请求后,基于所述域间链接确定所述目标服务的域内链接;其中,所述域内链接指向所述目标服务节点;
域内访问发起单元1004,用于基于所述域内链接向所述目标服务节点发起访问请求,以实现所述源域对所述目标域的跨域访问。
可选的,所述域内链接确定单元1003,具体用于:基于所述域间链接、以及所述目标服务节点的地址,生成所述目标服务对应的域内链接。
可选的,所述目标域网关保存有所述目标服务的域内链接与域间链接之间的映射关系;所述域内链接确定单元1003,具体用于:基于所述映射关系,确定所述域间链接对应的域内链接;其中,可选的,所述域内链接与域间链接之间的映射关系通过以下方法确定:
接收所述目标服务节点发送的目标服务的信息,所述目标服务的信息中包括所述目标服务的域内链接;
基于所述目标域网关的外网地址,将所述指向目标服务节点的域内链接,转换为指向所述目标域网关的域间链接;
保存所述域内链接与所述域间连接之间的映射关系。
可选的,所述装置还包括:
跨域访问应答单元1005,用于:在接收到所述源域网关基于所述域间链接发送的访问请求后,保存所述源域网关对所述目标服务的访问记录;若接收到目标服务节点返回的所述访问请求的应答消息,基于所述访问记录,将所述应答消息转发给所述源域网关。
可选的,所述装置还包括:
域间鉴权返回单元,用于向所述源域网关返回域间鉴权信息,以使所述源域网关在基于所述域间链接发送的访问请求中携带所述域间鉴权信息;
所述域内链接确定单元1003,还用于:确定所述域间鉴权信息是否通过校验;若所述域间鉴权信息通过校验,基于所述域间链接确定所述目标服务的域内链接。
可选的,所述目标域网关中保存有所述目标域的域内鉴权信息;所述域内访问发起单元1003,用于:基于所述域内链接向所述目标服务节点发起访问请求,并在所述访问请求中携带所述域内鉴权信息,以使所述目标服务节点在确定所述域内鉴权信息通过校验后,返回所述访问请求的应答消息。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与前述跨域访问方法的实施例相对应,本说明书还提供一种电子设备,该电子设备包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与跨域访问逻辑对应的机器可执行指令,所述处理器被促使执行上述任一实施例所述的跨域访问方法。
与前述跨域访问方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的跨域访问方法中的步骤:
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (17)
1.一种跨域访问的方法,其特征在于,所述方法用于实现源域到目标域的跨域访问,所述源域中发布有所述目标域提供的目标服务,并设置有源域网关,所述目标域设置有目标域网关;
所述方法应用于所述源域网关,所述方法包括:
接收内网用户发送的目标服务查询请求;
向所述目标域网关发送所述目标服务查询请求,以使所述目标域网关返回所述目标服务对应的域间链接;所述域间链接指向所述目标域设置的目标域网关;
基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,并向所述用户返回所述目标服务对应的域内链接,以使所述用户向所述域内链接发起访问请求;其中,所述域内链接指向所述源域网关;
在接收到所述用户向所述域内链接发起的访问请求后,基于所述域间链接向所述目标域网关发起访问请求,以实现跨域访问。
2.根据权利要求1所述的方法,其特征在于,所述基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,包括:
将所述域间链接中的目标域网关的外网地址,替换为所述源域网关的内网地址,生成所述域内链接。
3.根据权利要求1所述的方法,其特征在于,所述源域中设置有若干个服务节点;所述目标服务的发布方法包括:
在接收到所述目标域网关发布的目标服务之后,将所述目标服务发布给所述服务节点,以使所述内网用户通过所述服务节点查询所述目标服务。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到所述用户向所述域内链接发起的访问请求后,保存所述用户对所述目标服务的访问记录;
若接收到所述目标域网关返回的所述访问请求的应答消息,基于所述访问记录,将所述应答消息转发给所述用户。
5.根据权利要求1所述的方法,其特征在于,在向所述用户返回所述目标服务对应的域内链接之前,所述方法还包括:
获取所述目标服务查询请求中的用户身份信息;
基于所述用户身份信息,确定所述用户是否具有访问所述目标服务的权限;
若所述用户具有访问所述目标服务的权限,向所述用户返回所述目标服务对应的域内链接。
6.根据权利要求1所述的方法,其特征在于,在接收到内网用户发送的目标服务查询请求之后,所述方法还包括:
向所述用户返回所述源域的域内鉴权信息,以使所述用户在发起的访问请求中携带所述域内鉴权信息;
在基于所述域间链接向所述目标域网关发起访问请求之前,所述方法还包括:
获取所述用户发起的访问请求中携带的域内鉴权信息;
确定所述域内鉴权信息是否通过校验;
若所述域内鉴权信息通过校验,基于所述域间链接向所述目标域网关发起访问请求。
7.根据权利要求1或6所述的方法,其特征在于,在向所述目标域网关发送所述目标服务查询请求之后,所述方法还包括:
接收所述目标域网关返回的域间鉴权信息;
所述基于所述域间链接向所述目标域网关发起访问请求,包括:
基于所述域间链接向所述目标域网关发起访问请求,并在所述访问请求中携带所述域间鉴权信息,以使所述目标域网关在确定所述域间鉴权信息通过校验后,返回所述访问请求的应答消息。
8.一种跨域访问的方法,其特征在于,所述方法用于实现源域到目标域的跨域访问,所述目标域中设置有提供目标服务的目标服务节点,并设置有目标域网关,所述源域中发布有所述目标服务,并设置有源域网关;
所述方法应用于所述目标域网关,所述方法包括:
接收所述源域网关发送的目标服务查询请求;
向所述源域网关返回所述目标服务的域间链接,以使所述源域网关基于所述域间链接向所述目标域网关发送访问请求;其中,所述域间链接指向所述目标域设置的目标域网关;
在接收到所述源域网关基于所述域间链接发送的访问请求后,基于所述域间链接确定所述目标服务的域内链接;其中,所述域内链接指向所述目标服务节点;
基于所述域内链接向所述目标服务节点发起访问请求,以实现所述源域对所述目标域的跨域访问。
9.根据权利要求8所述的方法,其特征在于,所述基于所述域间链接确定所述目标服务的域内链接,包括:
基于所述域间链接、以及所述目标服务节点的地址,生成所述目标服务对应的域内链接。
10.根据权利要求8所述的方法,其特征在于,所述目标域网关保存有所述目标服务的域内链接与域间链接之间的映射关系;
所述基于所述域间链接确定所述目标服务的域内链接,包括:
基于所述映射关系,确定所述域间链接对应的域内链接;
其中,所述域内链接与域间链接之间的映射关系通过以下方法确定:
接收所述目标服务节点发送的目标服务的信息,所述目标服务的信息中包括所述目标服务的域内链接;
基于所述目标域网关的外网地址,将所述指向目标服务节点的域内链接,转换为指向所述目标域网关的域间链接;
保存所述域内链接与所述域间连接之间的映射关系。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在接收到所述源域网关基于所述域间链接发送的访问请求后,保存所述源域网关对所述目标服务的访问记录;
若接收到目标服务节点返回的所述访问请求的应答消息,基于所述访问记录,将所述应答消息转发给所述源域网关。
12.根据权利要求8所述的方法,其特征在于,
在接收到所述源域网关发送的目标服务查询请求之后,所述方法还包括:
向所述源域网关返回域间鉴权信息,以使所述源域网关在基于所述域间链接发送的访问请求中携带所述域间鉴权信息;
在基于所述域间链接确定所述目标服务的域内链接之前,所述方法还包括:
确定所述域间鉴权信息是否通过校验;
若所述域间鉴权信息通过校验,基于所述域间链接确定所述目标服务的域内链接。
13.根据权利要求8所述的方法,其特征在于,所述目标域网关中保存有所述目标域的域内鉴权信息;所述基于所述域内链接向所述目标服务节点发起访问请求,包括:
基于所述域内链接向所述目标服务节点发起访问请求,并在所述访问请求中携带所述域内鉴权信息,以使所述目标服务节点在确定所述域内鉴权信息通过校验后,返回所述访问请求的应答消息。
14.一种跨域访问的装置,其特征在于,所述装置用于实现源域到目标域的跨域访问,所述源域中发布有所述目标域提供的目标服务,并设置有源域网关,所述目标域设置有目标域网关;
所述装置应用于所述源域网关,所述装置包括:
服务查询接收单元,用于接收内网用户发送的目标服务查询请求;
域间链接获取单元,用于向所述目标域网关发送所述目标服务查询请求,以使所述目标域网关返回所述目标服务对应的域间链接;所述域间链接指向所述目标域设置的目标域网关;
域内链接返回单元,用于基于所述域间链接、以及所述源域网关的内网地址,生成所述目标服务对应的域内链接,并向所述用户返回所述目标服务对应的域内链接,以使所述用户向所述域内链接发起访问请求;其中,所述域内链接指向所述源域网关;
跨域访问发起单元,用于在接收到所述用户向所述域内链接发起的访问请求后,基于所述域间链接向所述目标域网关发起访问请求,以实现跨域访问。
15.一种跨域访问的装置,其特征在于,所述装置用于实现源域到目标域的跨域访问,所述目标域中设置有提供目标服务的目标服务节点,并设置有目标域网关,所述源域中发布有所述目标服务,并设置有源域网关;
所述装置应用于所述目标域网关,所述装置包括:
服务查询接收单元,用于接收所述源域网关发送的目标服务查询请求;
域间链接返回单元,用于向所述源域网关返回所述目标服务的域间链接,以使所述源域网关基于所述域间链接向所述目标域网关发送访问请求;其中,所述域间链接指向所述目标域设置的目标域网关;
域内链接确定单元,用于在接收到所述源域网关基于所述域间链接发送的访问请求后,基于所述域间链接确定所述目标服务的域内链接;其中,所述域内链接指向所述目标服务节点;
域内访问发起单元,用于基于所述域内链接向所述目标服务节点发起访问请求,以实现所述源域对所述目标域的跨域访问。
16.一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现权利要求1至13中任一项所述的方法。
17.一种机器可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110796305.8A CN113507475B (zh) | 2021-07-14 | 2021-07-14 | 跨域访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110796305.8A CN113507475B (zh) | 2021-07-14 | 2021-07-14 | 跨域访问方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113507475A true CN113507475A (zh) | 2021-10-15 |
CN113507475B CN113507475B (zh) | 2022-12-23 |
Family
ID=78013287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110796305.8A Active CN113507475B (zh) | 2021-07-14 | 2021-07-14 | 跨域访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113507475B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064662A (zh) * | 2022-01-13 | 2022-02-18 | 北京中交兴路信息科技有限公司 | 查询数据的方法、装置、电子设备及介质 |
CN114172739A (zh) * | 2021-12-14 | 2022-03-11 | 杭州数梦工场科技有限公司 | 网关通信方法、装置、电子设备及存储介质 |
CN114338669A (zh) * | 2021-12-13 | 2022-04-12 | 浙商银行股份有限公司 | 基于区块链的数据传输方法、装置、设备以及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866960A (zh) * | 2006-02-17 | 2006-11-22 | 华为技术有限公司 | 一种跨域业务域内域间映射关系的确定方法 |
US20070165522A1 (en) * | 2004-12-02 | 2007-07-19 | Huawei Technologies Co., Ltd. | Method For Allocating Bearer Network Resource |
US20070189293A1 (en) * | 2006-02-15 | 2007-08-16 | Fujitsu Limited | QoS guarantee system in multidomain network and QoS server applied to the same |
US20070299857A1 (en) * | 2006-06-23 | 2007-12-27 | Microsoft Corporation | Cross Domain Communication |
US20090132713A1 (en) * | 2007-11-20 | 2009-05-21 | Microsoft Corporation | Single-roundtrip exchange for cross-domain data access |
CN101668001A (zh) * | 2008-09-05 | 2010-03-10 | 华为技术有限公司 | 一种建立域间呼叫的方法、系统及装置 |
WO2011086250A1 (fr) * | 2010-01-13 | 2011-07-21 | Alcatel Lucent | Liason virtuelle entre operateur de reseau |
US20130311623A1 (en) * | 2011-11-08 | 2013-11-21 | Hitachi, Ltd. | Method for managing network system |
CN105656654A (zh) * | 2014-11-14 | 2016-06-08 | 中兴通讯股份有限公司 | 路径获取方法和多域控制器、跨域业务保护方法和系统 |
US20170302474A1 (en) * | 2014-12-31 | 2017-10-19 | Huawei Technologies Co., Ltd. | Network as Service Service Cross-Domain Orchestration Method, Orchestration Device, and Control Device |
CN109617778A (zh) * | 2018-11-22 | 2019-04-12 | 西安佰才邦网络技术有限公司 | 跨域二层网络业务的实现方法、装置和系统 |
WO2019134639A1 (zh) * | 2018-01-03 | 2019-07-11 | 中兴通讯股份有限公司 | 实现无缝最优跨域路径的方法、装置、设备及存储介质 |
CN111064795A (zh) * | 2019-12-20 | 2020-04-24 | 腾讯科技(深圳)有限公司 | 网页访问加速方法、系统、计算机设备、服务器及介质 |
-
2021
- 2021-07-14 CN CN202110796305.8A patent/CN113507475B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070165522A1 (en) * | 2004-12-02 | 2007-07-19 | Huawei Technologies Co., Ltd. | Method For Allocating Bearer Network Resource |
US20070189293A1 (en) * | 2006-02-15 | 2007-08-16 | Fujitsu Limited | QoS guarantee system in multidomain network and QoS server applied to the same |
CN1866960A (zh) * | 2006-02-17 | 2006-11-22 | 华为技术有限公司 | 一种跨域业务域内域间映射关系的确定方法 |
US20070299857A1 (en) * | 2006-06-23 | 2007-12-27 | Microsoft Corporation | Cross Domain Communication |
US20090132713A1 (en) * | 2007-11-20 | 2009-05-21 | Microsoft Corporation | Single-roundtrip exchange for cross-domain data access |
CN101668001A (zh) * | 2008-09-05 | 2010-03-10 | 华为技术有限公司 | 一种建立域间呼叫的方法、系统及装置 |
WO2011086250A1 (fr) * | 2010-01-13 | 2011-07-21 | Alcatel Lucent | Liason virtuelle entre operateur de reseau |
US20130311623A1 (en) * | 2011-11-08 | 2013-11-21 | Hitachi, Ltd. | Method for managing network system |
CN105656654A (zh) * | 2014-11-14 | 2016-06-08 | 中兴通讯股份有限公司 | 路径获取方法和多域控制器、跨域业务保护方法和系统 |
US20170302474A1 (en) * | 2014-12-31 | 2017-10-19 | Huawei Technologies Co., Ltd. | Network as Service Service Cross-Domain Orchestration Method, Orchestration Device, and Control Device |
WO2019134639A1 (zh) * | 2018-01-03 | 2019-07-11 | 中兴通讯股份有限公司 | 实现无缝最优跨域路径的方法、装置、设备及存储介质 |
CN109617778A (zh) * | 2018-11-22 | 2019-04-12 | 西安佰才邦网络技术有限公司 | 跨域二层网络业务的实现方法、装置和系统 |
CN111064795A (zh) * | 2019-12-20 | 2020-04-24 | 腾讯科技(深圳)有限公司 | 网页访问加速方法、系统、计算机设备、服务器及介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338669A (zh) * | 2021-12-13 | 2022-04-12 | 浙商银行股份有限公司 | 基于区块链的数据传输方法、装置、设备以及存储介质 |
CN114338669B (zh) * | 2021-12-13 | 2024-03-26 | 浙商银行股份有限公司 | 基于区块链的数据传输方法、装置、设备以及存储介质 |
CN114172739A (zh) * | 2021-12-14 | 2022-03-11 | 杭州数梦工场科技有限公司 | 网关通信方法、装置、电子设备及存储介质 |
CN114172739B (zh) * | 2021-12-14 | 2024-01-26 | 杭州数梦工场科技有限公司 | 网关通信方法、装置、电子设备及存储介质 |
CN114064662A (zh) * | 2022-01-13 | 2022-02-18 | 北京中交兴路信息科技有限公司 | 查询数据的方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113507475B (zh) | 2022-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113507475B (zh) | 跨域访问方法和装置 | |
US11050607B2 (en) | Proxy with a function as a service (FAAS) support | |
CN113596184A (zh) | 混合云系统、网闸、网络访问方法及存储介质 | |
US8862753B2 (en) | Distributing overlay network ingress information | |
CN102769529A (zh) | Dnssec签名服务器 | |
CN105516059B (zh) | 一种资源访问控制方法和装置 | |
JP6294321B2 (ja) | ウェブサイト上に情報を公開する | |
CN111064804B (zh) | 网络访问方法和装置 | |
CN106685949A (zh) | 一种容器访问方法、装置以及系统 | |
CN108683668A (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
CN109246078B (zh) | 一种数据交互方法及服务器 | |
CN108365958A (zh) | 账号登录的验证方法、装置、计算机设备和存储介质 | |
CN109769249B (zh) | 一种认证方法、系统及其装置 | |
CN111988295A (zh) | 一种数据库审计方法、装置、web服务器、数据库审计系统和存储介质 | |
CN114600426B (zh) | 多租户电子邮件服务中的电子邮件安全 | |
CN109067936A (zh) | 一种域名解析的方法及装置 | |
US8407802B2 (en) | Method and system for providing security seals on web pages | |
CN110311855B (zh) | 用户消息处理方法、装置、电子设备及存储介质 | |
CN109413224B (zh) | 报文转发方法和装置 | |
CN114338597A (zh) | 一种网络访问方法及装置 | |
KR101846778B1 (ko) | Id 확인 서비스 방법 및 이를 적용한 m2m 시스템 | |
CN113301005B (zh) | 数据获取方法及装置 | |
CN115913597A (zh) | 确定失陷主机的方法及装置 | |
CN113194099A (zh) | 一种数据代理方法及代理服务器 | |
CN105991568A (zh) | 一种代理实现装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |