一种基于UDP通信的远程调用方法和装置制造方法及图纸

技术编号:17784134 阅读:123 留言:0更新日期:2018-04-22 15:31
本发明专利技术实施例公开了一种基于UDP通信的远程调用方法和装置,服务端的各个服务进程向注册进程发送注册信息;客户端的应用进程向注册进程发送查询请求,获取相应的反馈信息;利用负载均衡策略,选取出一个目标服务进程,并向其发送RPC服务请求,目标服务进程依据该请求中携带的服务名和请求参数,执行对应的业务流程,并向应用进程发送携带有执行结果的响应信息。采用对系统开销较小的UDP协议,设计了简单快捷的处理流程,服务进程向注册进程注册服务的方式,应用进程从注册进程获取服务进程的相关信息,然后直接和服务进程进行RPC通信。既能满足轻量级应用程序的需求,又能减轻系统负担,特别适用于功能简单、网络情况良好的应用场景。

【技术实现步骤摘要】
一种基于UDP通信的远程调用方法和装置
本专利技术涉及分布式系统
,特别是涉及一种基于UDP通信的远程调用方法和装置。
技术介绍
远程过程调用(RemoteProcedureCall,RPC)是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的调用方式。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。现有的RPC系统处理流程如图1所示,在客户进程中,应用层调用RPC接口的API发起请求;RPC接口调用系统网络接口将请求发送出去;RPC请求通过网络数据包从客户端发到服务端。其中客户端和服务端可以不在同一个物理服务器上。RPC请求从服务端的系统层传递到用户层的RPC接口;RPC接口解析RPC请求,找到对应的服务层;服务层执行请求,并将执行结果发回给RPC接口;RPC接口调用系统网络API将执行结果发送出去;执行结果通过网络数据包从服务端发到客户端;执行结果从客户端的系统层传递到用户层的RPC接口;RPC接口将执行结果转给对应的应用层。现有的主流RPC框架都是基于TCP协议,虽然有适用面广、功能强大的优点,但是也存在着代码量多、流程复杂、对系统开销较大的缺点,对于只需要简单功能的轻量级应用程序来说过于庞大,所以需要一个简单快速的实现方法。可见,如何在满足轻量级应用程序的需求下,减轻系统负担,是本领域技术人员亟待解决的问题。
技术实现思路
本专利技术实施例的目的是提供一种基于UDP通信的远程调用方法和装置,可以在满足轻量级应用程序的需求下,减轻系统负担。为解决上述技术问题,本专利技术实施例提供一种基于UDP通信的远程调用方法,应用于客户端,包括:应用进程向注册进程发送查询请求,并接收所述注册进程发送的反馈信息;其中,所述反馈信息中包含有提供RPC服务的各个服务进程的链接信息;利用负载均衡策略,从各个所述服务进程中选取出一个目标服务进程;依据所述目标服务进程的链接信息,向所述目标服务进程发送RPC服务请求,并接收所述目标服务进程发送的响应信息。可选的,还包括:判断预设时间内是否接收到所述目标服务进程发送的响应信息;若否,则重新向所述注册进程发送所述查询请求。可选的,还包括:若所述应用进程在预设时间内未接收到所述目标服务进程发送的响应信息,则进行告警提示。本专利技术实施例还提供了一种基于UDP通信的远程调用装置,应用于客户端,所述装置包括发送单元、接收单元和选取单元;所述发送单元,用于向注册进程发送查询请求;所述接收单元,用于接收所述注册进程发送的反馈信息;其中,所述反馈信息中包含有提供RPC服务的各个服务进程的链接信息;所述选取单元,用于利用负载均衡策略,从各个所述服务进程中选取出一个目标服务进程;所述发送单元还用于依据所述目标服务进程的链接信息,向所述目标服务进程发送RPC服务请求;所述接收单元还用于接收所述目标服务进程发送的响应信息。可选的,还包括判断单元;所述判断单元,用于判断预设时间内是否接收到所述目标服务进程发送的响应信息;若否,则触发所述发送单元重新向所述注册进程发送所述查询请求。可选的,还包括提示单元;若所述应用进程在预设时间内未接收到所述目标服务进程发送的响应信息,则触发所述提示单元,进行告警提示。本专利技术实施例还提供了一种基于UDP通信的远程调用方法,应用于服务端,包括:服务进程向注册进程发送注册信息;接收应用进程发送的RPC服务请求;依据所述RPC服务请求中携带的服务名和请求参数,执行对应的业务流程,得到执行结果;向所述应用进程发送携带有所述执行结果的响应信息。可选的,还包括:所述服务进程按照预设的周期时间,向所述注册进程发送验证信息。本专利技术实施例还提供了一种基于UDP通信的远程调用装置,应用于服务端,所述装置包括发送单元、接收单元和执行单元;所述发送单元,用于向注册进程发送注册信息;所述接收单元,用于接收应用进程发送的RPC服务请求;所述执行单元,用于依据所述RPC服务请求中携带的服务名和请求参数,执行对应的业务流程,得到执行结果;所述发送单元还用于向所述应用进程发送携带有所述执行结果的响应信息。可选的,还包括验证单元;所述验证单元,用于按照预设的周期时间,向所述注册进程发送验证信息。由上述技术方案可以看出,服务端的各个服务进程向注册进程发送注册信息;客户端的应用进程向注册进程发送查询请求,并接收注册进程发送的反馈信息;该反馈信息中包含有提供RPC服务的各个服务进程的链接信息;利用负载均衡策略,从各个服务进程中选取出一个目标服务进程,并依据目标服务进程的链接信息,向该目标服务进程发送RPC服务请求;服务端的目标服务进程依据RPC服务请求中携带的服务名和请求参数,执行对应的业务流程,得到执行结果;并向应用进程发送携带有执行结果的响应信息。该技术方案采用对系统开销较小的UDP协议,设计了简单快捷的处理流程,服务进程向注册进程注册服务的方式,应用进程从注册进程获取服务进程的相关信息,然后直接和服务进程进行RPC通信。既能满足轻量级应用程序的需求,又能减轻系统负担,特别适用于功能简单、网络情况良好的应用场景。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中提供的一种RPC系统处理流程的示意图;图2为本专利技术实施例提供的一种基于UDP通信的远程调用方法的信令图;图3为本专利技术实施例提供的一种客户端基于UDP通信的远程调用装置的结构示意图;图4为本专利技术实施例提供的一种服务端基于UDP通信的远程调用装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。接下来,详细介绍本专利技术实施例所提供的一种基于UDP通信的远程调用方法。图2为本专利技术实施例提供的一种基于UDP通信的远程调用方法的信令图,该方法包括:S201:服务端的服务进程向注册进程发送注册信息。服务进程是提供RPC服务的应用程序,在服务端包括有至少一个服务进程。这些服务进程可以位于同一个服务器上,也可以位于不同的服务器上。每个服务进程有其对应的注册信息,该注册信息中包含有服务进程能够提供的RPC服务信息以及相应的UDP端口号。其中,RPC服务信息可以包括服务名、服务说明等内容。服务名是一个RPC服务的唯一标识,一个服务进程可以提供多个不同的RPC服务,相应的,一个服务进程中包含的服务名可以有多个。服务说明为一本文档来自技高网
...
一种基于UDP通信的远程调用方法和装置

【技术保护点】
一种基于UDP通信的远程调用方法,其特征在于,应用于客户端,包括:应用进程向注册进程发送查询请求,并接收所述注册进程发送的反馈信息;其中,所述反馈信息中包含有提供RPC服务的各个服务进程的链接信息;利用负载均衡策略,从各个所述服务进程中选取出一个目标服务进程;依据所述目标服务进程的链接信息,向所述目标服务进程发送RPC服务请求,并接收所述目标服务进程发送的响应信息。

【技术特征摘要】
1.一种基于UDP通信的远程调用方法,其特征在于,应用于客户端,包括:应用进程向注册进程发送查询请求,并接收所述注册进程发送的反馈信息;其中,所述反馈信息中包含有提供RPC服务的各个服务进程的链接信息;利用负载均衡策略,从各个所述服务进程中选取出一个目标服务进程;依据所述目标服务进程的链接信息,向所述目标服务进程发送RPC服务请求,并接收所述目标服务进程发送的响应信息。2.根据权利要求1所述的方法,其特征在于,还包括:判断预设时间内是否接收到所述目标服务进程发送的响应信息;若否,则重新向所述注册进程发送所述查询请求。3.根据权利要求2所述的方法,其特征在于,还包括:若所述应用进程在预设时间内未接收到所述目标服务进程发送的响应信息,则进行告警提示。4.一种基于UDP通信的远程调用装置,其特征在于,应用于客户端,所述装置包括发送单元、接收单元和选取单元;所述发送单元,用于向注册进程发送查询请求;所述接收单元,用于接收所述注册进程发送的反馈信息;其中,所述反馈信息中包含有提供RPC服务的各个服务进程的链接信息;所述选取单元,用于利用负载均衡策略,从各个所述服务进程中选取出一个目标服务进程;所述发送单元还用于依据所述目标服务进程的链接信息,向所述目标服务进程发送RPC服务请求;所述接收单元还用于接收所述目标服务进程发送的响应信息。5.根据权利要求4所述的装置,其特征在...

【专利技术属性】
技术研发人员:全佳黄昌金
申请(专利权)人:广州汇智通信技术有限公司
类型:发明
国别省市:广东,44

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

1