一种基于缓存存储的响应式RPC调用方法及系统技术方案

技术编号:33732268 阅读:12 留言:0更新日期:2022-06-08 21:28
本发明专利技术涉及一种基于缓存存储的响应式RPC调用方法及系统,根据远程调用请求优先匹配缓存存储中的缓存结果并反馈,通过响应式缓存技术对数据进行存取,在涉及数据存取的IO操作上使用响应式发布式和响应式订阅既保证了不阻塞也不断开的情况,在开发过程中只需要在同一方法中实现不同的线程进行发送和返回的数据处理,不仅简化了代码开发效率,并且执行在不同线程中提高了工作效率。利用其无阻塞特点,提高了资源的利用率,也进一步提高了系统吞吐能力。能力。能力。

【技术实现步骤摘要】
一种基于缓存存储的响应式RPC调用方法及系统


[0001]本专利技术涉及远程数据调用
,尤其涉及一种基于缓存存储的响应式RPC调用方法及系统。

技术介绍

[0002]当前在业务间通信过程中,数据流量的增加及业务的复杂度,使用传统的接口缓存处理模块需要一个任务完成后才能继续执行下一个任务,每个请求都会判断是否有数据存在缓存中,通常来说此过程为阻塞操作,在增加开销的同时也降低了接口的效率,提高了接口响应时间。
[0003]远程过程调用协议RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议,能够使客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,实现类似于调用本地应用程序的体验。
[0004]在RPC通讯时,将数据存储在内存中,虽然可提升数据的读取速度,但由于高频数据进行调用,每个请求都会判断一下是否有缓存的数据,增加开销的同时减低了接口的效率。同时如果在没有存储在缓存中的调用结果,其请求又会额外进行获取调用服务的结果工作,这是一种阻塞操作,进一步影响了系统的吞吐能力。

技术实现思路

[0005]为解决现有技术的不足,本专利技术提出一种基于缓存存储的响应式RPC调用方法及系统,通过响应式缓存技术对数据进行存取,在涉及数据存取的IO操作上使用响应式发布式和响应式订阅既保证了不阻塞也不断开的情况,在开发过程中只需要在同一方法中实现不同的线程进行发送和返回的数据处理,不仅简化了代码开发效率,并且执行在不同线程中提高了工作效率。利用其无阻塞特点,提高了资源的利用率,也进一步提高了系统吞吐能力。
[0006]为实现以上目的,本专利技术所采用的技术方案包括:
[0007]一种基于缓存存储的响应式RPC调用方法,其特征在于,包括:
[0008]S1、接收远程调用请求;
[0009]S2、使用第一线程发布远程调用请求;
[0010]S3、使用第二线程查询缓存存储是否保存有对应远程调用请求的对应缓存结果;
[0011]S4、当查询到缓存存储保存有对应远程调用请求的对应缓存结果时,直接从缓存存储返回对应缓存结果;
[0012]S5、当查询到缓存存储没有保存对应远程调用请求的对应缓存结果时,根据远程调用请求从远程服务应用调用对应结果。
[0013]进一步地,所述方法还包括:
[0014]S6、使用第三线程获取远程服务应用的对应结果数据;
[0015]S7、使用第四线程将远程服务应用的对应结果数据存入缓存存储,形成缓存结果。
[0016]进一步地,所述步骤S7还包括:
[0017]以键名与键值的形式存储缓存结果。
[0018]进一步地,所述S3还包括:
[0019]使用键名匹配远程调用请求,在缓存存储中查询对应远程调用请求的对应缓存结果。
[0020]进一步地,所述第一线程和第三线程均为响应式处理线程。
[0021]进一步地,所述步骤S4还包括返回对应缓存结果后释放第一线程和第二线程;
[0022]所述步骤S5还包括返回对应结果后释放第一线程和第二线程。
[0023]进一步地,所述步骤S7还包括形成缓存结果后释放第三线程和第四线程。
[0024]本专利技术还涉及一种基于缓存存储的响应式RPC调用系统,其特征在于,包括:
[0025]客户端,用于发出远程调用请求并接收反馈的结果;
[0026]服务端,用于执行远程服务应用,响应远程调用请求反馈对应结果;
[0027]第一响应模块,用于发布远程调用请求并查询缓存存储是否保存有对应远程调用请求的对应缓存结果;
[0028]第二响应模块,用于获取远程服务应用的对应结果数据并将远程服务应用的对应结果数据存入缓存存储,形成缓存结果;
[0029]缓存存储模块,用于保存缓存结果。
[0030]本专利技术还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
[0031]本专利技术还涉及一种电子设备,其特征在于,包括处理器和存储器;
[0032]所述存储器,用于存储缓存结果;
[0033]所述处理器,用于通过调用缓存结果,执行上述的方法。
[0034]本专利技术还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
[0035]本专利技术的有益效果为:
[0036]采用本专利技术所述基于缓存存储的响应式RPC调用方法及系统,通过响应式缓存技术对数据进行存取,在涉及数据存取的IO操作上使用响应式发布式和响应式订阅既保证了不阻塞也不断开的情况,在开发过程中只需要在同一方法中实现不同的线程进行发送和返回的数据处理,不仅简化了代码开发效率,并且执行在不同线程中提高了工作效率。客户端stub处理时增加缓存组件,因为其使用了响应式编程处理数据,所以减少服务调用时的耗时,提高服务的时效性,另一方面高性能缓存组件的使用支持请求高并发,利用其无阻塞特点,提高服务的负载能力。
附图说明
[0037]图1为本专利技术基于缓存存储的响应式RPC调用方法流程示意图。
[0038]图2为本专利技术基于缓存存储的响应式RPC调用系统结构示意图。
具体实施方式
[0039]为了更清楚的理解本专利技术的内容,将结合附图和实施例详细说明。
[0040]客户端程序与服务端程序之间的调用,需要通过客户端stub和服务端stub辅助进行通讯和调用,客户端stub和服务端stub之间,使用socket进行通讯,当客户端对一个服务端进行多次调用的时,服务端stub需要进行多次处理,影响调用时间。可通过响应式缓存技术对数据进行存取,在涉及数据存取的IO操作上使用响应式发布式和响应式订阅既保证了不阻塞也不断开的情况。以下逻辑在客户端调用服务端stub前完成:接受高频请求从缓存组件中判断是否有已经存在的请求,同时还要对已有数据使用响应式处理从缓存组件中获取结果,完成处理并将应答返回给客户端stub。
[0041]本专利技术第一方面涉及一种步骤流程如图1所示的基于缓存存储的响应式RPC调用方法,包括:
[0042]S1、接收远程调用请求。在RPC通讯时,客户端程序调用RPC stub处理,发起远程调用。
[0043]S2、使用响应式的第一线程发布远程调用请求。客户端高频发起请求将数据响应式发布给订阅器,释放当前客户端线程。
[0044]S3、使用第二线程查询缓存存储是否保存有对应远程调用请求的对应缓存结果,优选的,通过使用键名匹配远程调用请求进行查询。所述键名优选的包括接口名和调用方法,订阅器开启其他线程响应式订阅后判断接口名+方法作为键名是否存在缓存中,找到对应的缓存对象,如果客户端发送的请求有对应的缓存对象<key,value>,从缓存存储中将数据返回给客户端程序。
[0045]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于缓存存储的响应式RPC调用方法,其特征在于,包括:S1、接收远程调用请求;S2、使用第一线程发布远程调用请求;S3、使用第二线程查询缓存存储是否保存有对应远程调用请求的对应缓存结果;S4、当查询到缓存存储保存有对应远程调用请求的对应缓存结果时,直接从缓存存储返回对应缓存结果;S5、当查询到缓存存储没有保存对应远程调用请求的对应缓存结果时,根据远程调用请求从远程服务应用调用对应结果。2.如权利要求1所述的方法,其特征在于,所述方法还包括:S6、使用第三线程获取远程服务应用的对应结果数据;S7、使用第四线程将远程服务应用的对应结果数据存入缓存存储,形成缓存结果。3.如权利要求2所述的方法,其特征在于,所述步骤S7还包括:以键名与键值的形式存储缓存结果。4.如权利要求3所述的方法,其特征在于,所述S3还包括:使用键名匹配远程调用请求,在缓存存储中查询对应远程调用请求的对应缓存结果。5.如权利要求2所述的方法,其特征在于,所述第一线程和第三线程均为响应式处理线程。6.如权利要求1所述的方法,其特征在于,所述步骤S4还包括返回对应缓存结果后释放第一线程和第二线程;所述步骤...

【专利技术属性】
技术研发人员:安雯马融李春兰
申请(专利权)人:中信银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1