CN116405535A - 一种远程服务调用方法、装置、电子设备和存储介质 - Google Patents
一种远程服务调用方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116405535A CN116405535A CN202310473976.XA CN202310473976A CN116405535A CN 116405535 A CN116405535 A CN 116405535A CN 202310473976 A CN202310473976 A CN 202310473976A CN 116405535 A CN116405535 A CN 116405535A
- Authority
- CN
- China
- Prior art keywords
- remote service
- remote
- target
- call request
- communication network
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004891 communication Methods 0.000 claims abstract description 135
- 230000005540 biological transmission Effects 0.000 claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 60
- 238000004590 computer program Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000006855 networking Effects 0.000 description 9
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- 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/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种远程服务调用方法、装置、电子设备和存储介质,方法包括:基于第一传输协议透传获取预设浏览器的远程服务调用请求;远程服务调用请求基于针对预设浏览器的网页资源获取请求生成;将远程服务调用请求转发至目标远程服务器,以使目标远程服务器对远程服务调用请求进行响应;获取目标远程服务器针对远程服务调用请求的响应数据,并将响应数据传输至客户端,以通过预设浏览器输出响应数据。通过采用上述方法,在基于第一传输协议传输的第一通信网络中,可以采用透传方式进行远程服务调用请求的传输,解决在其他不基于TCP/IP协议通信的通信网络中无法进行RPC调用的问题。
Description
技术领域
本发明涉及网络通信技术领域,特别是涉及一种远程服务调用方法、一种远程服务调用装置、一种电子设备和一种计算机可读存储介质。
背景技术
gRPC(Google Remote Procedure Call,Google远程过程调用)是Goog1e发布的基于HTTP2.0传输层协议承载的高性能开源软件框架,RPC的远程调用过程不同于本地调用,RPC是指调用远端机器的函数或方法,且不需要关心底层的调用细节,如网络协议和传输协议等,对于调用者来说,和调用本地方法没有什么区别。RPC调用的是一个远端对象,调用者和被调用者处于不同的地址空间。
传统的gRPC协议基于TCP/IP(Transmission Control Protocol/InternetProtocol,传输控制协议/网际协议)协议通信,而对于其他不基于TCP/IP协议通信的通信网络,无法进行RPC调用。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种远程服务调用方法和相应的一种远程服务调用装置、一种电子设备,以及一种计算机可读存储介质。
本发明实施例公开了一种远程服务调用方法,应用于代理服务器,所述代理服务器与多个远程服务器通信连接,所述代理服务器与客户端通信连接,所述客户端提供有预设浏览器,所述方法包括:
基于第一传输协议透传获取所述预设浏览器的远程服务调用请求;所述远程服务调用请求基于针对所述预设浏览器的网页资源获取请求生成;
将所述远程服务调用请求转发至目标远程服务器,以使所述目标远程服务器对所述远程服务调用请求进行响应;
获取所述目标远程服务器针对所述远程服务调用请求的响应数据,并将所述响应数据传输至所述客户端,以通过所述预设浏览器输出所述响应数据。
可选地,所述方法还包括:
根据所述远程服务调用请求确定提供远程服务的所述目标远程服务器。
可选地,所述远程服务调用请求中携带有远程服务器的访问地址信息,所述根据所述远程服务调用请求确定提供远程服务的所述目标远程服务器,包括:
从所述远程服务调用请求中提取所述访问地址信息;
将所述访问地址信息所指示的远程服务器确定为提供远程服务的所述目标远程服务器。
可选地,所述远程服务器在第一通信网络中具有对应的第一通信网络标识,所述访问地址信息包括第一通信网络标识信息,所述将所述访问地址信息所指示的远程服务器确定为提供远程服务的所述目标远程服务器,包括:
确定所述第一通信网络标识信息指示的目标第一通信网络标识;
将与所述目标第一通信网络标识对应的远程服务器确定为提供远程服务的所述目标远程服务器。
可选地,所述远程服务器在第二通信网络中具有对应的第二通信网络标识,所述代理服务器中存储有所述第一通信网络标识与所述第二通信网络标识的映射关系,所述将所述远程服务调用请求转发至目标远程服务器,包括:
基于所述映射关系,确定与所述目标第一通信网络标识匹配的目标第二通信网络标识;
基于所述目标第二通信网络标识将所述远程服务调用请求转发至所述目标远程服务器。
可选地,所述代理服务器支持第二传输协议,所述基于所述目标第二通信网络标识将所述远程服务调用请求转发至所述目标远程服务器,包括:
通过所述第二传输协议将携带有所述目标第二通信网络标识的所述远程服务调用请求转发至所述目标远程服务器。
可选地,所述将所述远程服务调用请求转发至目标远程服务器,包括:
判断所述代理服务器的缓存空间中是否缓存有与所述访问地址信息对应的网页资源;
若所述缓存空间中缓存有与所述访问地址信息对应的所述网页资源,则将所述网页资源作为所述响应数据传输至所述预设浏览器的相应网页页面中进行展示;
若所述缓存空间中未缓存与所述访问地址信息对应的所述网页资源,则将所述远程服务调用请求转发至所述目标远程服务器。
本发明实施例还公开了一种远程服务调用装置,应用于代理服务器,所述代理服务器与多个远程服务器通信连接,所述代理服务器与客户端通信连接,所述客户端提供有预设浏览器,所述装置包括:
获取模块,用于基于第一传输协议透传获取所述预设浏览器的远程服务调用请求;所述远程服务调用请求基于针对所述预设浏览器的网页资源获取请求生成;
转发模块,用于将所述远程服务调用请求转发至目标远程服务器,以使所述目标远程服务器对所述远程服务调用请求进行响应;
获取及传输模块,用于获取所述目标远程服务器针对所述远程服务调用请求的响应数据,并将所述响应数据传输至所述客户端,以通过所述预设浏览器输出所述响应数据。
可选地,所述装置还包括:
确定模块,用于根据所述远程服务调用请求确定提供远程服务的所述目标远程服务器。
可选地,所述远程服务调用请求中携带有远程服务器的访问地址信息,所述确定模块,包括:
提取子模块,用于从所述远程服务调用请求中提取所述访问地址信息;
第一确定子模块,用于将所述访问地址信息所指示的远程服务器确定为提供远程服务的所述目标远程服务器。
可选地,所述远程服务器在第一通信网络中具有对应的第一通信网络标识,所述访问地址信息包括第一通信网络标识信息,所述第一确定子模块,包括:
第一确定单元,用于确定所述第一通信网络标识信息指示的目标第一通信网络标识;
第二确定单元,用于将与所述目标第一通信网络标识对应的远程服务器确定为提供远程服务的所述目标远程服务器。
可选地,所述远程服务器在第二通信网络中具有对应的第二通信网络标识,所述代理服务器中存储有所述第一通信网络标识与所述第二通信网络标识的映射关系,所述转发模块,包括:
第二确定子模块,用于基于所述映射关系,确定与所述目标第一通信网络标识匹配的目标第二通信网络标识;
第一转发子模块,用于基于所述目标第二通信网络标识将所述远程服务调用请求转发至所述目标远程服务器。
可选地,所述代理服务器支持第二传输协议,所述第一转发子模块,包括:
转发单元,用于通过所述第二传输协议将携带有所述目标第二通信网络标识的所述远程服务调用请求转发至所述目标远程服务器。
可选地,所述转发模块,包括:
判断子模块,用于判断所述代理服务器的缓存空间中是否缓存有与所述访问地址信息对应的网页资源;
确定及传输子模块,用于若所述缓存空间中缓存有与所述访问地址信息对应的所述网页资源,则将所述网页资源作为所述响应数据传输至所述预设浏览器的相应网页页面中进行展示;
第二转发子模块,用于若所述缓存空间中未缓存与所述访问地址信息对应的所述网页资源,则将所述远程服务调用请求转发至所述目标远程服务器。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述一种远程服务调用方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述一种远程服务调用方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,代理服务器可以基于第一传输协议透传获取客户端预设浏览器的远程服务调用请求,之后可以将远程服务调用请求转发至目标远程服务器,由目标远程服务器对该远程服务调用请求进行响应,代理服务器获取目标远程服务器针对该远程服务调用请求的响应数据,并将响应数据传输给客户端,通过客户端的预设浏览器输出响应数据。其中,第一传输协议不为TCP/IP协议,通过采用上述方法,一方面,在基于第一传输协议传输的第一通信网络中,可以采用透传方式进行远程服务调用请求的传输,解决在其他不基于TCP/IP协议通信的通信网络中无法进行RPC调用的问题,另一方面,由代理服务器负责识别提供远程服务的远程服务对象,前端调用后端服务时,无需明确知道远程服务部署位置,可以有效降低前端和后端之间的耦合程度。
附图说明
图1是本发明实施例提供的一种远程服务调用方法的步骤流程图;
图2是本发明实施例提供的另一种远程服务调用方法的步骤流程图;
图3是本发明实施例的一种远程服务调用方法的系统架构图;
图4是本发明实施例的一种远程服务调用方法的调用流程图;
图5是本发明实施例的另一种远程服务调用方法的调用流程图;
图6是本发明实施例的一种代理服务器的内部结构示意图;
图7是本发明实施例提供的一种远程服务调用装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其它实施例,都属于本发明保护的范围。
在视联网中构建基于gRPC协议的微服务架构,前端与后端通信存在如下问题:
1、传统的gRPC协议基于TCP/IP协议通信,而视联网不基于TCP/IP协议传输数据,因此,无法在视联网中进行RPC调用。
2、在基于gRPC协议的微服务架构中,前端调用后端的微服务时,需要明确知道调用的微服务是哪一个,后端微服务部署位置发生变化,前端针对该微服务的调用地址需要对应修改,前端和后端耦合程度高。
为了解决以上问题,本发明拟提供一种克服上述问题或者至少部分地解决上述问题的一种远程服务调用方法和相应的一种远程服务调用装置、一种电子设备,以及一种计算机可读存储介质。
本发明实施例的核心构思之一在于,代理服务器可以基于第一传输协议透传获取客户端预设浏览器的远程服务调用请求,之后可以将远程服务调用请求转发至目标远程服务器,由目标远程服务器对该远程服务调用请求进行响应,代理服务器获取目标远程服务器针对该远程服务调用请求的响应数据,并将响应数据传输给客户端,通过客户端的预设浏览器输出响应数据。其中,第一传输协议不为TCP/IP协议,通过采用上述方法,一方面,在基于第一传输协议传输的第一通信网络中,可以采用透传方式进行远程服务调用请求的传输,解决在其他不基于TCP/IP协议通信的通信网络中无法进行RPC调用的问题,另一方面,由代理服务器负责识别提供远程服务的远程服务对象,前端调用后端服务时,无需明确知道远程服务部署位置,可以有效降低前端和后端之间的耦合程度。
参照图1,示出了本发明实施例提供的一种远程服务调用方法的步骤流程图,应用于代理服务器,代理服务器与多个远程服务器通信连接,代理服务器与客户端通信连接,客户端提供有预设浏览器,具体可以包括如下步骤:
步骤101,基于第一传输协议透传获取预设浏览器的远程服务调用请求。
本发明实施例的远程服务调用方法可以应用于代理服务器,其中,代理服务器与多个远程服务器通信连接,远程服务器中部署有远程服务,代理服务器可以识别远程服务所部署的远程服务器。
在本发明实施例中,代理服务器与客户端通信连接,客户端可以安装有预设浏览器,具体的,该预设浏览器可以为视联网浏览器,视联网浏览器用于提供视联网内的网页资源。
远程服务调用请求基于针对预设浏览器的网页资源获取请求生成。在具体实施中,用户可以在预设浏览器中进行相应的网页操作,生成对应网页资源获取请求,预设浏览器可以根据该网页资源获取请求生成对应的远程服务调用请求。
代理服务器与客户端可以在第一通信网络建立通信连接,第一通信网络采用的网络通信协议可以为第一传输协议,第一传输协议不为TCP/IP协议,例如,可以为视联网协议。
在本发明实施例中,代理服务器可以在第一通信网络中基于第一传输协议,采用透传的方式接收客户端发送的远程服务调用请求。
具体的,透传方式具体可以为可视电话透传。可视电话,有时也称为视频电话会议或视频会议,包括用于在不同地点的用户接收和传输音频-视频信号以实现人与人之间实时通信的技术。可视电话透传是在可视电话业务中建立独立的逻辑信道,与音频信道,视频信道进行统一的复用,以实现端到端的数据透传。本发明实施例采用可视电话透传方式传输数据。需要说明的是,此处的可视电话透传是指利用传输通道进行数据传输,并非需要传输音频数据或视频数据。
步骤102,将远程服务调用请求转发至目标远程服务器,以使目标远程服务器对远程服务调用请求进行响应。
代理服务器在接收到远程服务调用请求后,可以将远程服务调用请求转发至负责提供对应的远程服务的目标远程服务器,由目标远程服务器负责对该远程服务调用请求进行响应。
步骤103,获取目标远程服务器针对远程服务调用请求的响应数据,并将响应数据传输至客户端,以通过预设浏览器输出响应数据。
目标远程服务器对远程服务调用请求进行响应,获得对应的响应数据,之后可以将响应数据传输至代理服务器,由代理服务器将响应数据传输至客户端,从而可以在客户端的预设浏览器中输出该响应数据。
综上,在本发明实施例中,代理服务器可以基于第一传输协议透传获取客户端预设浏览器的远程服务调用请求,之后可以将远程服务调用请求转发至目标远程服务器,由目标远程服务器对该远程服务调用请求进行响应,代理服务器获取目标远程服务器针对该远程服务调用请求的响应数据,并将响应数据传输给客户端,通过客户端的预设浏览器输出响应数据。其中,第一传输协议不为TCP/IP协议,通过采用上述方法,一方面,在基于第一传输协议传输的第一通信网络中,可以采用透传方式进行远程服务调用请求的传输,解决在其他不基于TCP/IP协议通信的通信网络中无法进行RPC调用的问题,另一方面,由代理服务器负责识别提供远程服务的远程服务对象,前端调用后端服务时,无需明确知道远程服务部署位置,可以有效降低前端和后端之间的耦合程度。
参照图2,示出了本发明实施例提供的另一种远程服务调用方法的步骤流程图,应用于代理服务器,代理服务器与多个远程服务器通信连接,代理服务器与客户端通信连接,客户端提供有预设浏览器,具体可以包括如下步骤:
步骤201,基于第一传输协议透传获取预设浏览器的远程服务调用请求。
其中,远程服务调用请求基于针对预设浏览器的网页资源获取请求生成。代理服务器与客户端基于第一通信网络建立通信连接,代理服务器与多个远程服务器基于第二通信网络建立通信连接,第一通信网络采用的网络通信协议可以为第一传输协议,第二通信网络采用的网络通信协议可以为第二传输协议。
在本发明实施例中,对于针对预设浏览器的网页资源获取请求,可以生成对应的远程服务调用请求,然后客户端可以基于第一传输协议将该远程服务调用请求透传至代理服务器中进行远程服务识别,确定负责提供对应远程服务的远程服务器。
作为一种示例,基于第一传输协议透传获取预设浏览器的远程服务调用请求具体可以为通过视联网可视电话传输通道透传获取预设浏览器的远程服务调用请求,即本发明实施例的远程服务调用方法可以应用于在视联网中调用远程服务。参照图3所示,为本发明实施例的一种远程服务调用方法的系统架构图,包括代理服务器,远程服务器和客户端中的视联网浏览器,视联网浏览器的网页页面用于展示视联网中的网页资源,代理服务器与视联网浏览器所在的客户端之间通过视联网可视电话传输通道进行数据传输,视联网可视电话传输通道为基于视联网协议的传输通道,代理服务器与提供远程服务的远程服务器之间基于gRPC协议进行数据传输,gRPC协议基于HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议标准设计开发。
在本发明一种可选的实施例中,在执行通过视联网可视电话传输通道透传获取预设浏览器的远程服务调用请求之前,具体还可以执行如下步骤:
获取可视电话传输通道建立请求,并基于可视电话传输通道建立请求建立视联网可视电话传输通道。
在本发明实施例中,可以由视联网中的路由器发起可视电话传输通道建立请求,代理服务器在接收到建立可视电话传输通道的请求后建立通道连接。
步骤202,根据远程服务调用请求确定提供远程服务的目标远程服务器。
在本发明实施例中,代理服务器在获取到远程服务调用请求后,可以根据该远程服务调用请求的请求信息从多个远程服务器中确定负责提供远程服务的目标远程服务器,其中,目标远程服务器可以有一个或多个。
在本发明一种可选的实施例中,远程服务调用请求中携带有远程服务器的访问地址信息,步骤202中根据远程服务调用请求确定提供远程服务的目标远程服务器,具体可以包括如下子步骤:
从远程服务调用请求中提取访问地址信息;
将访问地址信息所指示的远程服务器确定为提供远程服务的目标远程服务器。
在本发明实施例中,代理服务器可以从远程服务调用请求中提取访问地址信息,可以将访问地址信息所指示的远程服务器确定为提供远程服务的目标远程服务器。
在本发明一种可选的实施例中,远程服务器在第一通信网络中具有对应的第一通信网络标识,访问地址信息包括第一通信网络标识信息,子步骤中将访问地址信息所指示的远程服务器确定为提供远程服务的目标远程服务器,具体可以包括如下子步骤:
确定第一通信网络标识信息指示的目标第一通信网络标识;
将与目标第一通信网络标识对应的远程服务器确定为提供远程服务的目标远程服务器。
在本发明实施例中,远程服务器在第一通信网络中具有对应的第一通信网络标识,访问地址信息中可以包含第一通信网络标识信息,可以确定第一通信网络标识信息所指示的目标第一通信网络标识,从而可以将与该目标第一通信网络标识对应的远程服务器确定负责提供远程服务的目标远程服务器。
步骤203,将远程服务调用请求转发至目标远程服务器,以使目标远程服务器对远程服务调用请求进行响应。
在本发明一种可选的实施例中,远程服务器在第二通信网络中具有对应的第二通信网络标识,代理服务器中存储有第一通信网络标识与第二通信网络标识的映射关系,步骤203中将远程服务调用请求转发至目标远程服务器,具体可以包括如下子步骤:
基于映射关系,确定与目标第一通信网络标识匹配的目标第二通信网络标识;
基于目标第二通信网络标识将远程服务调用请求转发至目标远程服务器。
在本发明实施例中,远程服务器在第二通信网络中具有对应的第二通信网络标识,即远程服务器在不同的通信网络中所对应的标识信息不同,通信网络标识具体可以为在通信网络中的地址标识,用于标识在对应通信网络中的访问地址。
代理服务器中存储有第一通信网络标识与第二通信网络标识的映射关系,代理服务器可以将访问地址信息中的第一通信网络标识转换为第二通信网络标识,从而实现不同通信网络中的地址转换。
在本发明一种可选的实施例中,代理服务器支持第二传输协议,子步骤中基于目标第二通信网络标识将远程服务调用请求转发至目标远程服务器,具体可以包括如下子步骤:
通过第二传输协议将携带有目标第二通信网络标识的远程服务调用请求转发至目标远程服务器。
代理服务器可以支持第一传输协议和第二传输协议,具体的,第一传输协议可以为视联网协议,第二传输协议可以为远程调用协议(gRPC协议)。
代理服务器与客户端之间基于第一传输协议进行数据传输,代理服务器与远程服务器之间基于远程调用协议进行数据传输。
在本发明实施例中,可以通过第二传输协议将携带有目标第二通信网络标识的远程服务调用请求转发至目标远程服务器。
步骤204,获取目标远程服务器针对远程服务调用请求的响应数据,并将响应数据传输至客户端,以通过预设浏览器输出响应数据。
参照图4所示,为本发明实施例的一种远程服务调用方法的调用流程图,具体流程包括:
1、代理服务器读取代理配置文件并解析,进行代理配置。
2、接收视联网路由器发起的建立可视电话传输通道的请求,建立通道连接。
3、通过视联网可视电话传输通道透传接收前端的远程服务调用请求。
4、解析出请求的访问地址信息。
5、查找对应的路由信息进行地址转换,获取目标远程服务器的相关信息。
6、将请求数据包发送到目标远程服务器。
7、获取目标远程服务器返回的响应数据。
8、将响应数据传送回前端。
在本发明一种可选的实施例中,步骤203中将远程服务调用请求转发至目标远程服务器,具体可以包括如下子步骤:
判断代理服务器的缓存空间中是否缓存有与访问地址信息对应的网页资源;
若缓存空间中缓存有与访问地址信息对应的网页资源,则将网页资源作为响应数据传输至预设浏览器的相应网页页面中进行展示;
若缓存空间中未缓存与访问地址信息对应的网页资源,则将远程服务调用请求转发至目标远程服务器。
在本发明实施例中,代理服务器具有缓存功能,在将远程服务调用请求转发至目标远程服务器之前,可以先判断代理服务器的缓存空间中是否缓存有与访问地址信息对应的网页资源,如果有,则可以直接将该网页资源作为响应数据传输至预设浏览器的相应网页页面中进行展示;如果没有,则可以将远程服务调用请求转发至目标远程服务器中进行处理。
参照图5所示,为本发明实施例的另一种远程服务调用方法的调用流程图,具体流程包括:
1、代理服务器读取代理配置文件并解析,进行代理配置。
2、接收视联网路由器发起的建立可视电话传输通道的请求,建立通道连接。
3、通过视联网可视电话传输通道透传接收前端的远程服务调用请求。
4、解析出请求的访问地址信息。
5、确定代理服务器是否有配置缓存功能。
6、如果有配置缓存功能,查看缓存空间中是否有该访问地址信息对应的网页资源缓存数据;如果缓存空间中有该访问地址信息对应的网页资源缓存数据,则直接执行步骤11,否则执行步骤7。如果没有配置缓存功能,则执行步骤7。
7、查找对应的路由信息进行地址转换,获取目标远程服务器的相关信息。
8、将请求数据包发送到目标远程服务器。
9、获取目标远程服务器返回的响应数据。
10、在配置有缓存功能的情况下,将响应数据写入缓存。
11、将响应数据传送回前端。
参照图6所示,为本发明实施例的一种代理服务器的内部结构示意图,具体包括缓存模块、路由模块、配置模块、请求转发模块、请求处理模块、日志模块、响应处理模块、响应转发模块和服务管理模块。其中,配置模块负责远程服务代理配置文件的解析、配置生效等工作。日志模块负责记录各个应用服务的路由处理日志、转发日志等。请求处理模块可以接收基于视联网可视电话传输通道传输的远程服务调用请求,解析出请求的报文,并可以调用路由模块,获取到路由相关的信息,然后调用请求转发模块进行请求数据包的转发。响应处理模块可以接收远程服务器的响应数据包,并根据路由的相关信息,调用响应转发模块将响应数据包转发出去。缓存模块对配置了缓存的请求进行数据缓存。
综上,在本发明实施例中,代理服务器可以基于第一传输协议透传获取客户端预设浏览器的远程服务调用请求,之后可以将远程服务调用请求转发至目标远程服务器,由目标远程服务器对该远程服务调用请求进行响应,代理服务器获取目标远程服务器针对该远程服务调用请求的响应数据,并将响应数据传输给客户端,通过客户端的预设浏览器输出响应数据。其中,第一传输协议不为TCP/IP协议,通过采用上述方法,一方面,在基于第一传输协议传输的第一通信网络中,可以采用透传方式进行远程服务调用请求的传输,解决在其他不基于TCP/IP协议通信的通信网络中无法进行RPC调用的问题,另一方面,由代理服务器负责识别提供远程服务的远程服务对象,前端调用后端服务时,无需明确知道远程服务部署位置,可以有效降低前端和后端之间的耦合程度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图7,示出了本发明实施例提供的一种远程服务调用装置的结构框图,应用于代理服务器,所述代理服务器与多个远程服务器通信连接,所述代理服务器与客户端通信连接,所述客户端提供有预设浏览器,具体可以包括如下模块:
获取模块701,用于基于第一传输协议透传获取所述预设浏览器的远程服务调用请求;所述远程服务调用请求基于针对所述预设浏览器的网页资源获取请求生成;
转发模块702,用于将所述远程服务调用请求转发至目标远程服务器,以使所述目标远程服务器对所述远程服务调用请求进行响应;
获取及传输模块703,用于获取所述目标远程服务器针对所述远程服务调用请求的响应数据,并将所述响应数据传输至所述客户端,以通过所述预设浏览器输出所述响应数据。
在本发明实施例中,所述装置还包括:
确定模块,用于根据所述远程服务调用请求确定提供远程服务的所述目标远程服务器。
在本发明实施例中,所述远程服务调用请求中携带有远程服务器的访问地址信息,所述确定模块,包括:
提取子模块,用于从所述远程服务调用请求中提取所述访问地址信息;
第一确定子模块,用于将所述访问地址信息所指示的远程服务器确定为提供远程服务的所述目标远程服务器。
在本发明实施例中,所述远程服务器在第一通信网络中具有对应的第一通信网络标识,所述访问地址信息包括第一通信网络标识信息,所述第一确定子模块,包括:
第一确定单元,用于确定所述第一通信网络标识信息指示的目标第一通信网络标识;
第二确定单元,用于将与所述目标第一通信网络标识对应的远程服务器确定为提供远程服务的所述目标远程服务器。
在本发明实施例中,所述远程服务器在第二通信网络中具有对应的第二通信网络标识,所述代理服务器中存储有所述第一通信网络标识与所述第二通信网络标识的映射关系,所述转发模块,包括:
第二确定子模块,用于基于所述映射关系,确定与所述目标第一通信网络标识匹配的目标第二通信网络标识;
第一转发子模块,用于基于所述目标第二通信网络标识将所述远程服务调用请求转发至所述目标远程服务器。
在本发明实施例中,所述代理服务器支持第二传输协议,所述第一转发子模块,包括:
转发单元,用于通过所述第二传输协议将携带有所述目标第二通信网络标识的所述远程服务调用请求转发至所述目标远程服务器。
在本发明实施例中,所述转发模块,包括:
判断子模块,用于判断所述代理服务器的缓存空间中是否缓存有与所述访问地址信息对应的网页资源;
确定及传输子模块,用于若所述缓存空间中缓存有与所述访问地址信息对应的所述网页资源,则将所述网页资源作为所述响应数据传输至所述预设浏览器的相应网页页面中进行展示;
第二转发子模块,用于若所述缓存空间中未缓存与所述访问地址信息对应的所述网页资源,则将所述远程服务调用请求转发至所述目标远程服务器。
综上,在本发明实施例中,代理服务器可以基于第一传输协议透传获取客户端预设浏览器的远程服务调用请求,之后可以将远程服务调用请求转发至目标远程服务器,由目标远程服务器对该远程服务调用请求进行响应,代理服务器获取目标远程服务器针对该远程服务调用请求的响应数据,并将响应数据传输给客户端,通过客户端的预设浏览器输出响应数据。其中,第一传输协议不为TCP/IP协议,通过采用上述方法,一方面,在基于第一传输协议传输的第一通信网络中,可以采用透传方式进行远程服务调用请求的传输,解决在其他不基于TCP/IP协议通信的通信网络中无法进行RPC调用的问题,另一方面,由代理服务器负责识别提供远程服务的远程服务对象,前端调用后端服务时,无需明确知道远程服务部署位置,可以有效降低前端和后端之间的耦合程度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述一种远程服务调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述一种远程服务调用方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理终端设备上,使得在计算机或其它可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种远程服务调用方法和一种远程服务调用装置、一种电子设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种远程服务调用方法,其特征在于,应用于代理服务器,所述代理服务器与多个远程服务器通信连接,所述代理服务器与客户端通信连接,所述客户端提供有预设浏览器,所述方法包括:
基于第一传输协议透传获取所述预设浏览器的远程服务调用请求;所述远程服务调用请求基于针对所述预设浏览器的网页资源获取请求生成;
将所述远程服务调用请求转发至目标远程服务器,以使所述目标远程服务器对所述远程服务调用请求进行响应;
获取所述目标远程服务器针对所述远程服务调用请求的响应数据,并将所述响应数据传输至所述客户端,以通过所述预设浏览器输出所述响应数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述远程服务调用请求确定提供远程服务的所述目标远程服务器。
3.根据权利要求2所述的方法,其特征在于,所述远程服务调用请求中携带有远程服务器的访问地址信息,所述根据所述远程服务调用请求确定提供远程服务的所述目标远程服务器,包括:
从所述远程服务调用请求中提取所述访问地址信息;
将所述访问地址信息所指示的远程服务器确定为提供远程服务的所述目标远程服务器。
4.根据权利要求3所述的方法,其特征在于,所述远程服务器在第一通信网络中具有对应的第一通信网络标识,所述访问地址信息包括第一通信网络标识信息,所述将所述访问地址信息所指示的远程服务器确定为提供远程服务的所述目标远程服务器,包括:
确定所述第一通信网络标识信息指示的目标第一通信网络标识;
将与所述目标第一通信网络标识对应的远程服务器确定为提供远程服务的所述目标远程服务器。
5.根据权利要求4所述的方法,其特征在于,所述远程服务器在第二通信网络中具有对应的第二通信网络标识,所述代理服务器中存储有所述第一通信网络标识与所述第二通信网络标识的映射关系,所述将所述远程服务调用请求转发至目标远程服务器,包括:
基于所述映射关系,确定与所述目标第一通信网络标识匹配的目标第二通信网络标识;
基于所述目标第二通信网络标识将所述远程服务调用请求转发至所述目标远程服务器。
6.根据权利要求5所述的方法,其特征在于,所述代理服务器支持第二传输协议,所述基于所述目标第二通信网络标识将所述远程服务调用请求转发至所述目标远程服务器,包括:
通过所述第二传输协议将携带有所述目标第二通信网络标识的所述远程服务调用请求转发至所述目标远程服务器。
7.根据权利要求3所述的方法,其特征在于,所述将所述远程服务调用请求转发至目标远程服务器,包括:
判断所述代理服务器的缓存空间中是否缓存有与所述访问地址信息对应的网页资源;
若所述缓存空间中缓存有与所述访问地址信息对应的所述网页资源,则将所述网页资源作为所述响应数据传输至所述预设浏览器的相应网页页面中进行展示;
若所述缓存空间中未缓存与所述访问地址信息对应的所述网页资源,则将所述远程服务调用请求转发至所述目标远程服务器。
8.一种远程服务调用装置,其特征在于,应用于代理服务器,所述代理服务器与多个远程服务器通信连接,所述代理服务器与客户端通信连接,所述客户端提供有预设浏览器,所述装置包括:
获取模块,用于基于第一传输协议透传获取所述预设浏览器的远程服务调用请求;所述远程服务调用请求基于针对所述预设浏览器的网页资源获取请求生成;
转发模块,用于将所述远程服务调用请求转发至目标远程服务器,以使所述目标远程服务器对所述远程服务调用请求进行响应;
获取及传输模块,用于获取所述目标远程服务器针对所述远程服务调用请求的响应数据,并将所述响应数据传输至所述客户端,以通过所述预设浏览器输出所述响应数据。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述一种远程服务调用方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述一种远程服务调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310473976.XA CN116405535A (zh) | 2023-04-27 | 2023-04-27 | 一种远程服务调用方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310473976.XA CN116405535A (zh) | 2023-04-27 | 2023-04-27 | 一种远程服务调用方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116405535A true CN116405535A (zh) | 2023-07-07 |
Family
ID=87010571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310473976.XA Pending CN116405535A (zh) | 2023-04-27 | 2023-04-27 | 一种远程服务调用方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116405535A (zh) |
-
2023
- 2023-04-27 CN CN202310473976.XA patent/CN116405535A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10250646B2 (en) | Method and device for establishing channel | |
US10055742B2 (en) | Call transfers for web-delivered calls | |
AU2007338564B2 (en) | Web-based telephony system and method | |
JP6199407B2 (ja) | リアルタイム通信におけるブラウザ緊急呼び出し方法、システムおよび移動装置 | |
CN108418847B (zh) | 一种网络流量缓存系统、方法及装置 | |
CN111049854A (zh) | 一种服务请求的传输方法和装置 | |
DE602004006308D1 (de) | Verfahren zum umlenken von client-anforderungen zu web-diensten | |
EP4262180A1 (en) | Call processing method, call processing apparatus and related device | |
CN103379096A (zh) | 因特网与运营商网络业务共享方法、服务方及网页网关 | |
WO2024021405A1 (zh) | 一种数据传输系统和方法 | |
FR3022093A1 (fr) | Procede d'etablissement d'une session webrtc | |
CN109474646B (zh) | 通信连接方法、装置、系统及存储介质 | |
CN110113298B (zh) | 数据传输方法、装置、信令服务器和计算机可读介质 | |
CN112839192A (zh) | 基于浏览器的音视频通讯系统及方法 | |
US20160285946A1 (en) | Qos improvement method, apparatus, and system | |
RU2596588C2 (ru) | Система и способ для активации мобильного устройства для инициирования связи | |
CN116405535A (zh) | 一种远程服务调用方法、装置、电子设备和存储介质 | |
WO2023011057A1 (zh) | 一种通信方法及装置 | |
US8588397B2 (en) | Communication control system, communication control method, and recording medium including communication control program | |
CN113726968B (zh) | 终端通信方法、装置、服务器和存储介质 | |
CN114390095A (zh) | 远端设备控制方法以及物联网设备管理平台、系统 | |
CN114465991B (zh) | 软电话的连接方法和装置 | |
US10965724B2 (en) | Communication solution | |
JP5678473B2 (ja) | 情報処理端末 | |
CN115361364A (zh) | 一种基于WebRTC的通信协议的数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |