本申请提供一种数据调用方法、装置和计算机可读存储介质,该数据调用方法包括:RPC客户端获取当前数据调用参数中的当前客户端句柄;RPC客户端根据当前客户端句柄在预先构建的多个第二键值对中查找当前客户端句柄对应的当前通用唯一识别码;RPC客户端将查找到的当前通用唯一识别码发送给RPC服务端;RPC服务端根据当前通用唯一识别码在预先构建的多个第一键值对中查找所述当前通用唯一识别码对应的目标服务端句柄;RPC服务端根据查找到的目标服务端句柄调用目标服务端句柄对应的数据,从而使得RPC客户端中的句柄与RPC服务端的句柄对应,进而实现不同物理机之间的句柄对应,从而实现句柄调用。而实现句柄调用。而实现句柄调用。
【技术实现步骤摘要】
一种数据调用方法、装置和计算机可读存储介质
[0001]本申请涉及远程过程调用
,具体而言,涉及一种数据调用方法、装置和计算机可读存储介质。
技术介绍
[0002]RPC(远程过程调用,Remote Procedure Call),采用客户端/服务器模式。请求程序就是一个客户端,而服务提供程序就是一个服务器。首先,客户端发起本地调用,数据直接进入本地调用方函数进行数据打包,然后打包数据被RPC框架通过网络调用包传递到服务器。在服务器端,进程保持监听状态直到网络调用包到达为止。当信息到达后,打包数据遂即被传递到提供方函数进行解包,调用服务及执行,随后将返回结果数据打包传递给RPC框架返回给客户端,然后等待下一个调用信息,最后,客户端调用放接收返回结果打包数据,获得进程结果,然后调用执行继续进行。
[0003]在RPC客户端、服务端为不同物理机的情况下,当RPC服务端涉及到需要传入句柄或指针的函数调用时(如句柄用于重复判断当前调用的会话的场景),通常情况下是无法完成调用的,因为即使是RPC客户端将句柄或指针传到RPC服务端,由于客户端传入的句柄或指针与服务端的句柄或指针指向不同的物理机地址空间而无法被使用。
技术实现思路
[0004]本申请实施例的目的在于提供一种数据调用方法、装置和计算机可读存储介质,用以解决上述问题。
[0005]第一方面,本专利技术提供一种数据调用方法,所述方法应用于RPC服务端,所述方法包括:获取RPC客户端发送的当前通用唯一识别码,所述当前通用唯一识别码由RPC客户端根据当前数据调用参数中的当前客户端句柄查找获得;根据所述当前通用唯一识别码在预先构建的多个第一键值对中查找所述当前通用唯一识别码对应的目标服务端句柄,其中,每个第一键值对包括一个通用唯一识别码和映射的服务端句柄,不同的第一键值对包含的通用唯一识别码和服务端句柄不同;根据查找到的目标服务端句柄调用所述目标服务端句柄对应的数据。
[0006]在上述设计的数据调用方法中,本方案通过通用唯一识别码建立客户端句柄和服务端句柄之间的联系,进而使得客户端句柄可以指向对应的服务端句柄,从而解决了目前直接将客户端句柄发送给RPC服务端,从而带来的RPC服务端不能使用客户端句柄进行数据调用的问题,进而实现不同物理机(RPC服务端和RPC客户端)的某个内存地址进行唯一的对应,从而使得当被调用方需要用到句柄时能够被顺利调用。
[0007]在第一方面的可选实施方式中,在所述获取RPC客户端发送的当前通用唯一识别码之前,所述方法还包括:在首次获取到所述RPC客户端发送的通用唯一识别码时,创建获取的通用唯一识别码对应的服务端句柄;根据获取的通用唯一识别码和对应创建的服务端句柄构建第一键值对。
[0008]在第一方面的可选实施方式中,所述根据获取的通用唯一识别码和对应创建的服务端句柄构建第一键值对,包括:将获取的通用唯一识别码作为第一键值对的Value值,将所述获取的通用唯一识别码对应的服务端句柄作为第一键值对的Key值,从而构建第一键值对。
[0009]在第一方面的可选实施方式中,所述获取RPC客户端发送的当前通用唯一识别码,包括:接收所述RPC客户端通过RPC框架发送的当前通用唯一识别码。
[0010]第二方面,本专利技术提供一种数据调用装置,所述装置应用于RPC服务端,所述装置包括:第一获取模块,用于获取RPC客户端发送的当前通用唯一识别码,所述当前通用唯一识别码由RPC客户端根据当前数据调用参数中的当前客户端句柄查找获得;第一查找模块,用于根据所述当前通用唯一识别码在预先构建的多个第一键值对中查找所述当前通用唯一识别码对应的目标服务端句柄,其中,每个第一键值对包括一个通用唯一识别码和映射的服务端句柄,不同的第一键值对包含的通用唯一识别码和服务端句柄不同;调用模块,用于根据查找到的目标服务端句柄调用所述目标服务端句柄对应的数据。
[0011]在上述设计的数据调用装置中,本方案通过通用唯一识别码建立客户端句柄和服务端句柄之间的联系,进而使得客户端句柄可以指向对应的服务端句柄,从而解决了目前直接将客户端句柄发送给RPC服务端,从而带来的RPC服务端不能使用客户端句柄进行数据调用的问题,进而实现不同物理机(RPC服务端和RPC客户端)的某个内存地址进行唯一的对应,从而使得当被调用方需要用到句柄时能够被顺利调用。
[0012]在第二方面的可选实施方式中,所述装置还包括第一创建模块,用于在首次获取到所述RPC客户端发送的通用唯一识别码时,创建获取的通用唯一识别码对应的服务端句柄;以及,根据获取的通用唯一识别码和对应创建的服务端句柄构建第一键值对。
[0013]在第二方面的可选实施方式中,所述第一创建模块,具体用于将获取的通用唯一识别码作为第一键值对的Value值,将所述获取的通用唯一识别码对应的服务端句柄作为第一键值对的Key值,从而构建第一键值对。
[0014]在第二方面的可选实施方式中,所述第一获取模块,具体用于接收所述RPC客户端通过RPC框架发送的当前通用唯一识别码。
[0015]第三方面,本专利技术提供一种数据调用方法,所述方法应用于RPC客户端,所述方法包括:获取当前数据调用参数中的当前客户端句柄;根据所述当前客户端句柄在预先构建的多个第二键值对中查找所述当前客户端句柄对应的当前通用唯一识别码,其中,每个第二键值对包括一个客户端句柄和映射的通用唯一识别码,不同的第二键值对包含的通用唯一识别码和客户端句柄不同;将查找到的当前通用唯一识别码发送给RPC服务端,以使所述RPC服务端根据所述当前通用唯一识别码在预先构建的多个第一键值对中查找所述当前通用唯一识别码对应的目标服务端句柄,以调用所述目标服务端句柄对应的数据。
[0016]在上述设计的数据调用方法中,本方案通过通用唯一识别码建立客户端句柄和服务端句柄之间的联系,进而使得客户端句柄可以指向对应的服务端句柄,从而解决了目前直接将客户端句柄发送给RPC服务端,从而带来的RPC服务端不能使用客户端句柄进行数据调用的问题,进而实现不同物理机(RPC服务端和RPC客户端)的某个内存地址进行唯一的对应,从而使得当被调用方需要用到句柄时能够被顺利调用。
[0017]在第三方面的可选实施方式中,在所述获取当前数据调用参数中的当前客户端句
柄之前,所述方法还包括:在首次获取到一个数据调用参数中的客户端句柄时,创建所述客户端句柄对应的通用唯一识别码;根据获取的客户端句柄和所述客户端句柄对应的通用唯一识别码构建第二键值对。
[0018]在第三方面的可选实施方式中,所述根据获取的客户端句柄和所述客户端句柄对应的通用唯一识别码构建第二键值对,包括:将所述客户端句柄作为第二键值对的Key值,将所述客户端句柄对应的通用唯一识别码作为第二键值对的Value值,从而构建第二键值对。
[0019]第四方面,本专利技术提供一种数据调用装置,所述装置应用于RPC客户端,所述装置包括:第二获取模块,用于获取当前数据调用参数中的当前客户端句柄本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据调用方法,其特征在于,所述方法应用于RPC服务端,所述方法包括:获取RPC客户端发送的当前通用唯一识别码,所述当前通用唯一识别码由RPC客户端根据当前数据调用参数中的当前客户端句柄查找获得;根据所述当前通用唯一识别码在预先构建的多个第一键值对中查找所述当前通用唯一识别码对应的目标服务端句柄,其中,每个第一键值对包括一个通用唯一识别码和映射的服务端句柄,不同的第一键值对包含的通用唯一识别码和服务端句柄不同;根据查找到的目标服务端句柄调用所述目标服务端句柄对应的数据。2.根据权利要求1所述的方法,其特征在于,在所述获取RPC客户端发送的当前通用唯一识别码之前,所述方法还包括:在首次获取到所述RPC客户端发送的通用唯一识别码时,创建获取的通用唯一识别码对应的服务端句柄;根据获取的通用唯一识别码和对应创建的服务端句柄构建第一键值对。3.根据权利要求2所述的方法,其特征在于,所述根据获取的通用唯一识别码和对应创建的服务端句柄构建第一键值对,包括:将获取的通用唯一识别码作为第一键值对的Value值,将所述获取的通用唯一识别码对应的服务端句柄作为第一键值对的Key值,从而构建第一键值对。4.根据权利要求1所述的方法,其特征在于,所述获取RPC客户端发送的当前通用唯一识别码,包括:接收所述RPC客户端通过RPC框架发送的当前通用唯一识别码。5.一种数据调用装置,其特征在于,所述装置应用于RPC服务端,所述装置包括:第一获取模块,用于获取RPC客户端发送的当前通用唯一识别码,所述当前通用唯一识别码由RPC客户端根据当前数据调用参数中的当前客户端句柄查找获得;第一查找模块,用于根据所述当前通用唯一识别码在预先构建的多个第一键值对中查找所述当前通用唯一识别码对应的目标服务端句柄,其中,每个第一键值对包括一个通用唯一识别码和映射的服务端句柄,不同的第一键值对包含的通用唯一识别码和服务端句柄不同;调用模块,用于根据查找到的目标服务端句柄调用所述目标服务端句柄对应的数据。6.一种数据调用方法,其特征在于,所述方法应用于RPC客户端...
【专利技术属性】
技术研发人员:李玮,廖强,夏博儒,张俊峰,王佳琦,王志成,栾怀训,
申请(专利权)人:罗克佳华重庆科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。