CN117749851A - 一种远程调用方法及装置、电子设备、存储介质 - Google Patents
一种远程调用方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN117749851A CN117749851A CN202311767384.5A CN202311767384A CN117749851A CN 117749851 A CN117749851 A CN 117749851A CN 202311767384 A CN202311767384 A CN 202311767384A CN 117749851 A CN117749851 A CN 117749851A
- Authority
- CN
- China
- Prior art keywords
- remote
- calling
- data
- service
- target
- 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 86
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000005538 encapsulation Methods 0.000 claims description 42
- 238000012545 processing Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 28
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 230000000903 blocking effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 14
- 238000004519 manufacturing process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000003672 processing method Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012858 packaging process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供了一种远程调用方法及装置、电子设备、存储介质,方法包括:在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;调用端和服务端中集成有用于进行远程服务调用的远程调用插件;采用远程调用插件创建用于执行远程调用服务端目标服务的服务接口,并对服务接口进行标记;在检测到调用端针对目标服务进行远程调用时,采用远程调用插件将服务接口替换为代理对象;通过代理对象拦截调用端的远程调用请求数据;并采用远程调用插件对远程调用请求数据进行数据处理,生成可跨网的目标数据;将目标数据通过跨网通道发送至服务端,以调用服务端中的目标服务。本发明实现降低跨网传输成本。
Description
技术领域
本发明涉及跨网数据处理技术领域,特别是涉及一种远程调用方法及装置、电子设备、存储介质。
背景技术
在传统的开发模式中,我们通常将系统的各个服务部署在多台机器中,完成一次业务交易需要经过多个服务处理,如网购下单请求需要调用:商品查询、库存扣减以及订单更新等服务。这种场景普遍都是在同一网络环境下通过远程调用完成,当存在多个物理隔离网络环境的情况下(生产网、办公网、研发网),调用不同区域的服务变的困难,即使有网闸的情况下,不同服务间请求也需要进行数据封装、协议代理请求等,在传统的跨网方式中,不同业务的跨网数据传输都需要编写特定的发送代码和接收代码,从而,需要耗费时间成本实现跨网业务。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种远程调用方法及装置、电子设备、存储介质,包括:
一种远程调用方法,应用于调用端,所述方法包括:
在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
采用所述远程调用插件创建用于执行远程调用所述服务端目标服务的服务接口,并对所述服务接口进行标记;
在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;
通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
将所述目标数据通过所述跨网通道发送至所述服务端,以调用所述服务端中的目标服务。
可选地,所述采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据,包括:
对所述远程调用请求数据进行封装处理,生成目标封装数据;
将所述目标封装数据进行序列化处理,生成可跨网的目标数据。
可选地,所述对所述远程调用请求数据进行封装处理,生成目标封装数据,包括:
对所述远程调用请求数据进行第一封装处理,得到初始封装数据;
获取所述远程调用请求数据对应的标识信息,并将所述标识信息与所述初始封装数据进行第二封装处理,得到目标封装数据。
可选地,还包括:
接收所述服务端针对所述目标数据反馈的响应数据;并对所述响应数据进行解析;
在解析确定所述响应数据为异常消息时,抛出所述异常消息。
可选地,还包括:
在将所述目标数据通过所述跨网通道发送至所述服务端,控制所述调用端进入阻塞等待状态;
在接收所述服务端针对所述目标数据反馈的响应数据时,控制所述调用端解除所述阻塞等待状态。
一种远程调用方法,应用于服务端,所述方法包括:
在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
对所述服务端中远程调用关联的目标服务进行标记;
接收所述调用端通过所述跨网通道发送的目标数据;所述调用端用于在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;并通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
采用所述远程调用插件对所述目标数据进行加解析,以根据解析的数据对所述目标服务发起调用。
一种远程调用装置,应用于调用端,所述装置包括:
第一跨网通道创建模块,用于在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
服务接口标记模块,用于采用所述远程调用插件创建用于执行远程调用所述服务端目标服务的服务接口,并对所述服务接口进行标记;
代理对象替换模块,用于在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;
目标数据生成模块,用于通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
目标数据发送模块,用于将所述目标数据通过所述跨网通道发送至所述服务端,以调用所述服务端中的目标服务。
一种远程调用装置,应用于服务端,所述装置包括:
第二跨网通道创建模块,在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
目标服务标记模块,用于对所述服务端中远程调用关联的目标服务进行标记;
目标数据接收模块,用于接收所述调用端通过所述跨网通道发送的目标数据;所述调用端用于在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;并通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
服务调用模块,用于采用所述远程调用插件对所述目标数据进行加解析,以根据解析的数据对所述目标服务发起调用。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述远程调用方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述远程调用方法。
本发明实施例具有以下优点:
本发明通过在调用端和服务端中集成远程调用插件,通过远程调用插件创建服务接口并标识服务接口和目标服务,实现服务接口的注册和目标服务注册,将服务接口替换为代理对象,进而,在远程调用过程中,拦截远程调用数据,并可以采用远程调用插件对远程调用数据进行统一的数据处理,得到可跨网的目标数据,以发送至服务端中调用目标服务。本发明实施例中的远程调用插件可以适用于不同业务的跨网数据传输,避免针对不同业务的跨网数据传输编写特定的发送代码和接收代码,从而,降低跨网业务的时间成本,减少工作量。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种远程调用方法的步骤流程图;
图2是本发明一实施例提供的另一种远程调用方法的步骤流程图;
图3a是本发明实施例中一种跨网服务配置示意图;
图3b是本发明实施例中一种跨网服务调用过程示意图;
图4是本发明一实施例提供的一种远程调用装置的结构示意图;
图5是本发明一实施例提供的一种远程调用装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明一实施例提供的一种远程调用方法的步骤流程图,应用于调用端,具体可以包括如下步骤:
步骤101,在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;调用端和服务端中集成有用于进行远程服务调用的远程调用插件;
第一网络与第二网络可以为两个物理隔离的网络环境,如生产网、开发网、办公网等,第一网络中的调用端为调用者所在终端,可以基于调用者的调用操作生成远程调用请求,以请求调用其他网络环境中的服务,第二网络中的服务端为实际提供服务的终端,服务端可以设置有预设各类服务处理逻辑,从而依照接收的服务调用请求,执行对应的服务逻辑。
为实现跨网络服务调用,可以在调用端和服务端中分别集成用于进行远程服务调用的远程调用插件,该远程调用插件可以实现跨网处理不同类型的业务。在远程调用插件中可以预设有针对各种业务类型请求的统一处理逻辑,从而,通过远程调用插件实现跨网业务,相比于针对不同业务的跨网数据传输都需要编写特定的发送代码和接收代码实现跨网远程调用,可以减少跨网业务的工作量。
由于第一网络和第二网络为相互独立隔离的网络,为实现跨网数据传输,在调用端启动远程调用程序启动时,可以在第一网络和第二网络之间创建基于网闸的跨网通道,跨网通道可用于第一网络和第二网络之间的跨网业务数据传输,即第一网络中数据可以通过该跨网通道传输至第二网络中,第二网络中的数据可以通过跨网通道传输至第一网络中。
步骤102,采用远程调用插件创建用于执行远程调用服务端目标服务的服务接口,并对服务接口进行标记;
在调用端中可以采用远程调用插件创建服务接口,目标服务实现该接口,调用者通过该服务接口进行调用。
在创建服务接口后,可以对服务接口进行标记,被标记的服务接口可以用于远程读服务调用,从而通过标记服务接口可以区别本地调用接口和远程调用接口。
具体的,可以通过@RpcReference注解标记需要远程调用的服务接口,实现在调用端对调用者进行注册。
本发明实施例中,通过集成远程调用插件创建空接口,添加注释即可完成跨网数据传输,实现数据实时及高效率共享,相比于在传统的跨网方式中,不同业务的跨网数据传输都需要编写特定的发送和接收代码,可以减少工作量。同时,本发明实施例中的远程调用插件可以动态扩展,在该插件基础可扩展如数据审计、敏感扫描等功能,以进一步完善远程调用服务。
步骤103,在检测到调用端针对目标服务进行远程调用时,采用远程调用插件将服务接口替换为代理对象;
在调用端中可以监听远程调用,在检测到调用端针对目标服务进行远程调用时,远程调用插件可以将服务接口由注解对象替换为代理对象。
其中,注释对象为需要进行跨网调用的对象。代理对象的作用是在注释对象的基础上做前后扩展,从而实现跨网调用,先跨网(扩展),再调用(注释对象本身作用)、再跨网返回(扩展)。
在实际应用中,进行注释标记后的注释对象,可以实现调用本地服务,实现本地服务调用,而代理对象可以实现数据跨网后,在远程端进行服务调用。
步骤104,通过代理对象拦截调用端的远程调用请求数据;并采用远程调用插件对远程调用请求数据进行数据处理,生成可跨网的目标数据;
在调用端中可以通过代理对象拦截调用端的远程调用请求数据,其中,远程调用请求数据可以包括但不限于远程调用请求消息、接口信息(可以包括接口名称、接口类型等)。
在远程调用插件中可以设置有针对远程调用请求数据的数据处理方法,进而在得到远程调用请求数据后,则可以采用远程调用插件中的数据处理方法进行数据处理,以生成可进行跨网传输的目标数据。
具体的,目标数据可以为字节型数据,字节型数据可以进行网络传输。
步骤105,将目标数据通过跨网通道发送至服务端,以调用服务端中的目标服务。
在得到可跨网传输的目标数据后,则可以采用预先创建的跨网通道将目标数据从调用端传输至服务端,在服务端中可以采用远程调用插件解析目标数据,并调用目标服务,得到服务调用结果,生成响应消息。
在一示例中,服务端中可以预先标记目标服务实现服务标记,进而在接收到目标数据后,采用远程调用插件进行目标数据解析后,在服务端中执行目标服务调用,生成响应消息。
在本发明一实施例中,采用远程调用插件对远程调用请求数据进行数据处理,生成可跨网的目标数据,可以包括以下子步骤:
子步骤S11,对远程调用请求数据进行封装处理,生成目标封装数据;
在实际用于中,在远程调用插件中可以设置有数据的封装方法,进而按照封装方法对远程调用请求数据进行封装处理,生成目标封装数据,其中,远程调用插件中的封装方法具有普适性,可以用于对不同类型的数据进行封装。
子步骤S12,将目标封装数据进行序列化处理,生成可跨网的目标数据。
远程调用请求数据在封装得到目标封装数据后,可以采用远程调用插件对目标封装数据进行序列化处理,将数据处理为可跨网传输的目标数据。
其中,序列化过程为将数据转化为可跨网传输的字节类数据的过程。
在一示例中,序列化后的字节类数据可以被异步发送到跨网通道进行跨网传输。
本发明实施例中,内部序列化支持多种数据格式,从而不需要开发者对需要传输的数据进行编解码,从而可以实现多种类型数据在多场景下的可控共享。
在本发明一实施例中,子步骤S11具体可以为:对远程调用请求数据进行第一封装处理,得到初始封装数据;获取远程调用请求数据对应的标识信息,并将标识信息与初始封装数据进行第二封装处理,得到目标封装数据。
在实际应用中,远程调用插件中的数据封装过程可以分为第一封装处理过程和第二封装处理过程,在第一封装处理过程中,可以对远程调用请求数据进行第一封装处理,得到初始封装数据,在第二封装处理过程中,可以获取远程调用请求数据对应的标识信息,进而加入标识信息执行第二封装处理过程。
其中,标识信息可以包括但不限于:远程调用请求数据的请求消息对应的消息标识,调用端的第一网络标识、目标服务的服务标识。请求消息对应的消息标识可以为随机生成的唯一标识。
需要说明的,第一封装处理、第二封装处理可以根据实际场景设置,在本发明实施例中对此不做过多限制。
在本发明一实施例中,在步骤105之后,还包括:
步骤106、接收服务端针对目标数据反馈的响应数据;并对响应数据进行解析;
在目标数据被调用端发送至服务端后,在服务端中可以生成针对目标数据反馈的响应数据,并将该响应数据返回至调用端,在调用端可以采用远程控制插件对响应数据进行解析,以便确定本次远程调用结果。
步骤107,在解析确定响应数据为异常消息时,抛出异常消息。
目标数据在服务端中执行目标服务调用,其调用结果可以是正常结果,也可能为异常结果,在解析确定响应数据为异常消息时,可以抛出异常消息,否则正常返回结果,完成一次完整的跨网调用。
在本发明一实施例中,在将目标数据通过跨网通道发送至服务端,控制调用端进入阻塞等待状态;在接收服务端针对目标数据反馈的响应数据时,控制调用端解除阻塞等待状态。
在实际应用中,跨网数据传输以及在服务端中调用目标服务需要占用一定时间,从而,调用端无法快速收到目标数据的响应消息,进而可以在目标数据被调用端发送出去的同时使当前的调用者进入阻塞等待状态,而当调用端收到响应数据后,则可以控制解除阻塞。具体的,可以在接收服务端针对目标数据反馈的响应数据时,解析响应数据确定阻塞的调用者,进而对调用者进行阻塞解除。
通过对调用端进行阻塞和解除阻塞可以实现有序管理调用端状态。
在本发明实施例中,通过在调用端和服务端中集成远程调用插件,通过远程调用插件创建服务接口并标识服务接口和目标服务,实现服务接口的注册和目标服务注册,将服务接口替换为代理对象,进而,在远程调用过程中,拦截远程调用数据,并可以采用远程调用插件对远程调用数据进行统一的数据处理,得到可跨网的目标数据,以发送至服务端中调用目标服务。本发明实施例中的远程调用插件可以适用于不同业务的跨网数据传输,避免针对不同业务的跨网数据传输编写特定的发送代码和接收代码,从而,降低跨网业务的时间成本,减少工作量。
参照图2,示出了本发明一实施例提供的另一种远程调用方法的步骤流程图,应用于服务端,具体可以包括如下步骤:
步骤201,在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;调用端和服务端中集成有用于进行远程服务调用的远程调用插件;
步骤202,对服务端中远程调用关联的目标服务进行标记;
在服务端中,通过对目标服务进行标记,实现目标服务注册。
具体的,可以通过@RpcService注解标记目标服务。
步骤203,接收调用端通过跨网通道发送的目标数据;调用端用于在检测到调用端针对目标服务进行远程调用时,采用远程调用插件将服务接口替换为代理对象;并通过代理对象拦截调用端的远程调用请求数据;并采用远程调用插件对远程调用请求数据进行数据处理,生成可跨网的目标数据;
在调用端中启动远程调用程序后,当调用者针对目标服务进行远程调用时,可以将创建的服务接口替换为代理对象,进而远程调用插件对拦截的远程调用数据进行数据处理,生成可跨网的目标数据。
目标数据可以被调用端通过创建的跨网通道传输至服务端,以在服务端中执行远程调用。
步骤204,采用远程调用插件对目标数据进行解析,以根据解析的数据对目标服务发起调用。
服务端在接收到目标数据后可以采用远程调用插件对目标数据进行解析,并基于解析的数据执行目标服务的调用。
在一示例中,采用远程调用插件对目标数据进行解析包括:对所述目标数据进行反序列化处理,得到目标封装数据,对所述目标封装数据进行解封装处理,得到解析结果。
其中,远程调用插件中可以预设设置反序列化处理方法以及解封装处理方法,进而应用远程调用插件即可实现目标数据解析。解析结果可以包括但并不限于目标服务标识、请求消息(可以包括请求方法、请求参数等)等。
反序列化过程与序列化过程相反,将字节型数据转化目标封装数据对应的数据类型,解封装过程与封装过程相反,先进行第二封装处理的解封装处理,再执行第一封装处理的解封装。
以下结合图3a以及图3b对本发明上述实施例进行示例性说明。
参照图3a所示,为本发明实施例中一种跨网服务配置示意图。
①建立跨网通道。
②调用者注册,通过@RpcReference注解标记需要调用的接口。
③目标服务注册,通过@RpcService注解标记目标服务。
④程序启动时扫描所有@RpcService注解,注册到任务集中用于请求调用。
⑤扫描所有@RpcReference注解,创建代理,将注释的对象改为代理对象,后续发起请求时通过代理对象进行跨网请求。
参照图3b所示,为本发明实施例中一种跨网服务调用过程示意图,包括如下步骤:
(1)调用者在远程调用程序启动时启动服务,建立跨网通道,自动启动跨网消息监听。
(2)执行服务配置。如创建服务接口,注释表示服务接口等。
(3)调用者发起服务调用,远程调用插件在启动时自动将@RpcReference注解的服务接口替换为代理对象。
(4)代理对象拦截远程调用请求信息,解析请求信息得到请求内容(如请求方法、请求参数等)和接口内容,进而封装请求内容及接口信息。
(5)将封装好的请求信息加入消息ID、网络区域、目标服务等内部消息再次封装为跨网消息ChannelMsg。其中,消息ID为随机生成的唯一标识,网络区域信息为调用者所在的网络区域信息(生产网、开发网、办公网等)
(6)将ChannelMsg进行序列化后的字节消息异步发送到跨网连接。
(7)调用者阻塞等待响应。
(8)服务端中,目标服务所在的网络区域监听收到ChannelMsg字节消息。
(9)将ChannelMsg字节消息反序列化为ChannelMsg。
(10)根据ChannelMsg内容解析出目标服务、请求方法、请求参数。
(11)查找目标读物,并对目标服务发起调用,获取结果。
(12)将调用结果或异常信息以及调用者信息封装返回,保证同区域与跨区域调用结果完全一致。
(13)调用者所在的网络区域监听收到响应消息进行反序列号。
(14)解析返回消息,根据消息内容中的消息ID找到正在阻塞的调用者解除阻塞,如果是异常消息抛出异常,否则正常返回结果,完成一次完整的跨网调用。
其中,程序语言执行出错会返回异常信息。同时,程序语言提供抛出异常操作将异常展示到程序执行日志中。
基于上述方法可以进行跨网数据查询和同步。
例如,生产网、办公网两个网络区域,生产网中有数据查询服务,需要在办公网调用生产网的数据查询服务结果。通过集成远程调用插件,在办公网、生产网创建调用接口,配置相关注解。办公网直接调用该接口即可获取到办公网数据查询服务数据,无需额外的跨网通信、数据封装等逻辑。
两区域间数据同步,同一应用分别部署在两个区域,需要实现两个应用的数据同步包含用户同步、菜单同步、应用信息同步等,在需要扩展组织机构同步时,相比于在两个区域应用中分别增加组织机构的同步逻辑代码,通过远程调用插件配置后直接调用另外一个区域组织机构新增接口即可实现信息同步。
需要说明的是,对于方法实施例,为了简单描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明一实施例提供的一种远程调用装置的结构示意图,具体可以包括如下模块:
第一跨网通道创建模块401,用于在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
服务接口标记模块402,用于采用所述远程调用插件创建用于执行远程调用所述服务端目标服务的服务接口,并对所述服务接口进行标记;
代理对象替换模块403,用于在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;
目标数据生成模块404,用于通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
目标数据发送模块405,用于将所述目标数据通过所述跨网通道发送至所述服务端,以调用所述服务端中的目标服务。
在本发明一实施例中,所述目标数据生成模块404可以包括以下子模块:
封装子模块,用于对所述远程调用请求数据进行封装处理,生成目标封装数据;
序列化处理子模块,用于将所述目标封装数据进行序列化处理,生成可跨网的目标数据。
在本发明一实施例中,所述封装子模块可以包括以下单元:
第一封装单元,用于对所述远程调用请求数据进行第一封装处理,得到初始封装数据;
第二封装单元,用于获取所述远程调用请求数据对应的标识信息,并将所述标识信息与所述初始封装数据进行第二封装处理,得到目标封装数据。
在本发明一实施例中,所述装置还包括:
响应数据接收和解析模块,用于接收所述服务端针对所述目标数据反馈的响应数据;并对所述响应数据进行解析;
异常消息处理模块,用于在解析确定所述响应数据为异常消息时,抛出所述异常消息。
在本发明一实施例中,所述装置还包括:
阻塞等待模块,用于在将所述目标数据通过所述跨网通道发送至所述服务端,控制所述调用端进入阻塞等待状态;
阻塞解除模块,用于在接收所述服务端针对所述目标数据反馈的响应数据时,控制所述调用端解除所述阻塞等待状态。
参照图5,示出了本发明一实施例提供的一种远程调用装置的结构示意图,具体可以包括如下模块:
第二跨网通道创建模块501,在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
目标服务标记模块502,用于对所述服务端中远程调用关联的目标服务进行标记;
目标数据接收模块503,用于接收所述调用端通过所述跨网通道发送的目标数据;所述调用端用于在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;并通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
服务调用模块504,用于采用所述远程调用插件对所述目标数据进行加解析,以根据解析的数据对所述目标服务发起调用。
本发明一实施例还提供了一种电子设备,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上远程调用方法。
本发明一实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上远程调用方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种远程调用方法及装置、电子设备、存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种远程调用方法,其特征在于,应用于调用端,所述方法包括:
在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
采用所述远程调用插件创建用于执行远程调用所述服务端目标服务的服务接口,并对所述服务接口进行标记;
在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;
通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
将所述目标数据通过所述跨网通道发送至所述服务端,以调用所述服务端中的目标服务。
2.根据权利要求1所述的方法,其特征在于,所述采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据,包括:
对所述远程调用请求数据进行封装处理,生成目标封装数据;
将所述目标封装数据进行序列化处理,生成可跨网的目标数据。
3.根据权利要求2所述的方法,其特征在于,所述对所述远程调用请求数据进行封装处理,生成目标封装数据,包括:
对所述远程调用请求数据进行第一封装处理,得到初始封装数据;
获取所述远程调用请求数据对应的标识信息,并将所述标识信息与所述初始封装数据进行第二封装处理,得到目标封装数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
接收所述服务端针对所述目标数据反馈的响应数据;并对所述响应数据进行解析;
在解析确定所述响应数据为异常消息时,抛出所述异常消息。
5.根据权利要求1所述的方法,其特征在于,还包括:
在将所述目标数据通过所述跨网通道发送至所述服务端,控制所述调用端进入阻塞等待状态;
在接收所述服务端针对所述目标数据反馈的响应数据时,控制所述调用端解除所述阻塞等待状态。
6.一种远程调用方法,其特征在于,应用于服务端,所述方法包括:
在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
对所述服务端中远程调用关联的目标服务进行标记;
接收所述调用端通过所述跨网通道发送的目标数据;所述调用端用于在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;并通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
采用所述远程调用插件对所述目标数据进行解析,以根据解析的数据对所述目标服务发起调用。
7.一种远程调用装置,其特征在于,应用于调用端,所述装置包括:
第一跨网通道创建模块,用于在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
服务接口标记模块,用于采用所述远程调用插件创建用于执行远程调用所述服务端目标服务的服务接口,并对所述服务接口进行标记;
代理对象替换模块,用于在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;
目标数据生成模块,用于通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
目标数据发送模块,用于将所述目标数据通过所述跨网通道发送至所述服务端,以调用所述服务端中的目标服务。
8.一种远程调用装置,其特征在于,应用于服务端,所述装置包括:
第二跨网通道创建模块,在检测到远程调用程序启动时,在第一网络中的调用端与第二网络中的服务端之间创建基于网闸的跨网通道;所述调用端和所述服务端中集成有用于进行远程服务调用的远程调用插件;
目标服务标记模块,用于对所述服务端中远程调用关联的目标服务进行标记;
目标数据接收模块,用于接收所述调用端通过所述跨网通道发送的目标数据;所述调用端用于在检测到所述调用端针对所述目标服务进行远程调用时,采用所述远程调用插件将所述服务接口替换为代理对象;并通过所述代理对象拦截所述调用端的远程调用请求数据;并采用所述远程调用插件对所述远程调用请求数据进行数据处理,生成可跨网的目标数据;
服务调用模块,用于采用所述远程调用插件对所述目标数据进行解析,以根据解析的数据对所述目标服务发起调用。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述远程调用方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述远程调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311767384.5A CN117749851A (zh) | 2023-12-20 | 2023-12-20 | 一种远程调用方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311767384.5A CN117749851A (zh) | 2023-12-20 | 2023-12-20 | 一种远程调用方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117749851A true CN117749851A (zh) | 2024-03-22 |
Family
ID=90279065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311767384.5A Pending CN117749851A (zh) | 2023-12-20 | 2023-12-20 | 一种远程调用方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117749851A (zh) |
-
2023
- 2023-12-20 CN CN202311767384.5A patent/CN117749851A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111163129B (zh) | 一种基于跨链网络的资源处理方法及装置 | |
WO2020147566A1 (zh) | 物联网设备的远程管理实现方法和装置 | |
CN108881111B (zh) | 一种实现多租户系统的方法及装置 | |
WO2016184175A1 (zh) | 数据库处理方法及装置 | |
EP3364631A1 (en) | Dynamic orchestration of microservices | |
CN111930531B (zh) | 数据处理、数据生产、数据消费方法、装置、设备及介质 | |
CN108038039B (zh) | 记录日志的方法及微服务系统 | |
CN111064626B (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
US7191232B2 (en) | Extendable provisioning mechanism for a service gateway | |
US7500251B2 (en) | Method and system for managing programs for web service system | |
CN114598749A (zh) | 一种服务访问方法及装置 | |
CN112217845B (zh) | 一种基于Netconf协议的数据传输方法及相关设备 | |
US10402307B2 (en) | System and method for providing runtime tracing for a web-based client accessing a transactional middleware platform using an extension interface | |
CN113360386B (zh) | 交换芯片驱动测试方法、装置、电子设备和存储介质 | |
CN112738181B (zh) | 集群外部ip接入的方法、装置及服务器 | |
CN112565277B (zh) | 一种数据传输方法、系统及电子设备 | |
CN117294763A (zh) | 基于代理服务的终端请求信息转发的云桌面终端管理方法 | |
WO2021093671A1 (zh) | 任务处理方法、系统、装置、设备及计算机可读存储介质 | |
WO2023125755A1 (zh) | 基于大规模集群的服务请求处理方法、装置、设备及介质 | |
CN117749851A (zh) | 一种远程调用方法及装置、电子设备、存储介质 | |
CN110022332B (zh) | 一种超文本传输安全协议代理方法、装置、设备及介质 | |
CN116248721A (zh) | 物联网设备的管理方法、装置、计算机设备及存储介质 | |
CN111131427B (zh) | 一种基于中心域的跨域协同系统及实现方法 | |
CN113992644A (zh) | 一种基于无服务技术的物联网关系统及其数据处理方法 | |
CN113741912A (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 |