系统进程间请求寻址的方法和装置制造方法及图纸

技术编号:19242696 阅读:26 留言:0更新日期:2018-10-24 05:23
本发明专利技术公开了一种系统进程间请求寻址的方法和装置,该方法包括:服务消费者主机接收针对预定服务的服务信息查询请求;服务消费者主机根据服务信息查询请求通过预定协议向服务注册中心请求获取预定服务的服务信息,其中,服务信息查询请求包括:服务名称和服务版本号;服务信息包括:服务IP地址;服务消费者主机接收服务注册中心返回的服务信息,并存储在本地缓存中;服务消费者主机根据服务信息向预定服务对应的服务提供者主机发送服务获取请求,以获取预定服务。本发明专利技术过程调用时间较短,过程较为简单,解决了如下问题:无论是客户端发现模式还是服务端发现模式,分布式架构中的进程间请求寻址方式的服务调用时间较长、系统性能较低。

【技术实现步骤摘要】
系统进程间请求寻址的方法和装置
本专利技术涉及通讯领域,特别是涉及一种系统进程间请求寻址的方法和装置。
技术介绍
目前,在分布式架构中,进程间请求寻址有两种方式:第一种方式为客户端发现模式,如图1所示,客户端负责决定相应服务实例的网络位置,并且对请求实现负载均衡。客户端从一个服务注册服务中查询,其中是所有可用服务实例的库。客户端使用负载均衡算法从多个服务实例中选择出一个,然后发出请求。该方式需要针对客户端所采用的开发语言,订制专门的客户端的SDK(软件开发工具包),增加了客户端代码与进程间请求寻址代码的耦合,增加了维护和开发的成本;并且由于服务消费者需要向服务注册中心查询注册信息,该过程通过网络查询,会影响请求发送效率;同时会导致服务注册中心服务访问压力过大。第二种方式为服务端发现模式,如图2所示,客户端通过负载均衡器(位于服务网关内)向某个服务网关提出请求,再向服务注册中心发出请求,最后将每个请求转发往可用的服务实例。该方式由于每次客户端的请求对会经过负载均衡器,这样负载均衡器将是一个单点,如果负载均衡器出现问题,将导致这个系统不可用;并且,由于需要经过一次负载均衡器的转发,将会增加服务调用的耗时,影响系统的性能。因此,无论是客户端发现模式还是服务端发现模式,分布式架构中的进程间请求寻址方式都存在服务调用时间较长、系统性能较低等问题。
技术实现思路
本专利技术提供一种系统进程间请求寻址的方法和装置,用以解决现有技术的如下问题:无论是客户端发现模式还是服务端发现模式,分布式架构中的进程间请求寻址方式的服务调用时间较长、系统性能较低。为解决上述技术问题,一方面,本专利技术提供一种系统进程间请求寻址的方法,包括:服务消费者主机接收针对预定服务的服务信息查询请求;所述服务消费者主机根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息,其中,所述服务信息查询请求包括:服务名称和服务版本号;所述服务信息包括:服务IP地址;所述服务消费者主机接收所述服务注册中心返回的所述服务信息,并存储在本地缓存中;所述服务消费者主机根据所述服务信息向所述预定服务对应的服务提供者主机发送服务获取请求,以获取所述预定服务。可选的,服务消费者主机接收针对预定服务的服务信息查询请求之后,还包括:所述服务消费者主机检测所述本地缓存中是否存在所述服务信息查询请求对应的服务信息;如果是,则所述服务消费者主机获取所述本地缓存中的服务信息;如果不是,则所述服务消费者主机根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息。可选的,所述服务消费者主机接收所述服务注册中心返回的所述服务信息并存储在本地缓存中之后,包括:所述服务消费者主机将DNS协议中的生存时间TTL属性由第一时长修改为第二时长,其中,所述第二时长小于所述第一时长。可选的,所述服务消费者主机根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息之后,还包括:所述服务消费者主机向所述服务注册中心发送服务监听请求,其中,所述服务监听请求用于请求接收服务信息变更信息;所述方法还包括:在所述服务注册中心的服务信息与所述服务消费者主机的服务信息不相同时,所述服务消费者主机接收所述服务注册中心发送的新的服务信息。另一方面,本专利技术还提供一种系统进程间请求寻址的方法,包括:服务提供者主机在本地文件中写入预定服务的服务信息,其中,所述服务信息包括:服务名称、服务版本号和服务IP地址;所述服务提供者主机读取所述本地文件中存储的服务信息,并将所述服务信息发送至服务注册中心,以在所述服务注册中心存储服务消费者主机通过预定协议查询的服务信息。可选的,还包括:所述服务提供者主机按照预定时间间隔判断所述本地文件中存储的所述服务信息是否发生变化;在发生变化的情况下,所述服务提供者主机再次读取所述本地文件中的服务信息。另一方面,本专利技术还提供一种系统进程间请求寻址的装置,设置在服务消费者主机侧,包括:第一接收模块,用于接收针对预定服务的服务信息查询请求;获取模块,用于根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息,其中,所述服务信息查询请求包括:服务名称和服务版本号;所述服务信息包括:服务IP地址;第二接收模块,用于接收所述服务注册中心返回的所述服务信息,并存储在本地缓存中;发送模块,用于根据所述服务信息向所述预定服务对应的服务提供者主机发送服务获取请求,以获取所述预定服务。可选的,还包括:检测模块,用于检测所述本地缓存中是否存在所述服务信息查询请求对应的服务信息;所述获取模块,还用于在存在所述服务信息查询请求对应的服务信息的情况下,获取所述本地缓存中的服务信息;在不存在所述服务信息查询请求对应的服务信息的情况下,根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息。可选的,还包括:设置模块,用于在将所述服务信息存储在本地缓存中之后,将DNS协议中的生存时间TTL属性由第一时长修改为第二时长,其中,所述第二时长小于所述第一时长。可选的,还包括:请求监听模块,在通过预定协议向服务注册中心请求获取所述预定服务的服务信息之后,向所述服务注册中心发送服务监听请求,其中,所述服务监听请求用于请求接收服务信息变更信息;所述第二接收模块,还用于在所述服务注册中心的服务信息与所述服务消费者主机的服务信息不相同时,接收所述服务注册中心发送的新的服务信息。另一方面,本专利技术还提供一种系统进程间请求寻址的装置,设置在服务提供者主机侧,包括:写入模块,用于在本地文件中写入预定服务的服务信息,其中,所述服务信息包括:服务名称、服务版本号和服务IP地址;执行模块,用于读取所述本地文件中存储的服务信息,并将所述服务信息发送至服务注册中心,以在所述服务注册中心存储服务消费者主机通过预定协议查询的服务信息。可选的,还包括:判断模块,用于按照预定时间间隔判断所述本地文件中存储的所述服务信息是否发生变化;所述执行模块,还用于在发生变化的情况下,再次读取所述本地文件中的服务信息。本专利技术服务消费者主机接收消费者发出的针对预定服务的服务信息查询请求,随后,针对该请求,通过预定协议向服务注册中心请求服务信息,再根据服务注册中心返回的服务信息来获取预定服务,由于本地缓存中也存储了预定服务对应的服务信息,当服务消费者主机再次使用该预定服务时,直接从本地缓存中获取即可,整个过程调用时间较短,过程较为简单,系统性能较好,解决了现有技术的如下问题:无论是客户端发现模式还是服务端发现模式,分布式架构中的进程间请求寻址方式的服务调用时间较长、系统性能较低。附图说明图1是现有技术中客户端发现模式架构图;图2是现有技术中服务端发现模式架构图;图3是本专利技术第一实施例中系统进程间请求寻址的方法的流程图;图4是本专利技术第二实施例中系统进程间请求寻址的方法的流程图;图5是本专利技术第三实施例中系统进程间请求寻址的装置的结构示意图;图6是本专利技术第四实施例中系统进程间请求寻址的装置的结构示意图;图7是本专利技术第五实施例中各组件设置示意图;图8是本专利技术实施例中服务注册组件收集服务提供方所提供的服务信息的时序图;图9是本专利技术实施例中服务消费者使用DNS协议查询服务提供本文档来自技高网...

【技术保护点】
1.一种系统进程间请求寻址的方法,其特征在于,包括:服务消费者主机接收针对预定服务的服务信息查询请求;所述服务消费者主机根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息,其中,所述服务信息查询请求包括:服务名称和服务版本号;所述服务信息包括:服务IP地址;所述服务消费者主机接收所述服务注册中心返回的所述服务信息,并存储在本地缓存中;所述服务消费者主机根据所述服务信息向所述预定服务对应的服务提供者主机发送服务获取请求,以获取所述预定服务。

【技术特征摘要】
1.一种系统进程间请求寻址的方法,其特征在于,包括:服务消费者主机接收针对预定服务的服务信息查询请求;所述服务消费者主机根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息,其中,所述服务信息查询请求包括:服务名称和服务版本号;所述服务信息包括:服务IP地址;所述服务消费者主机接收所述服务注册中心返回的所述服务信息,并存储在本地缓存中;所述服务消费者主机根据所述服务信息向所述预定服务对应的服务提供者主机发送服务获取请求,以获取所述预定服务。2.如权利要求1所述的方法,其特征在于,服务消费者主机接收针对预定服务的服务信息查询请求之后,还包括:检测所述本地缓存中是否存在所述服务信息查询请求对应的服务信息;如果是,则获取所述本地缓存中的服务信息;如果不是,则根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息。3.如权利要求1所述的方法,其特征在于,所述服务消费者主机接收所述服务注册中心返回的所述服务信息并存储在本地缓存中之后,包括:将DNS协议中的生存时间TTL属性由第一时长修改为第二时长,其中,所述第二时长小于所述第一时长。4.如权利要求1至3中任一项所述的方法,其特征在于,所述服务消费者主机根据所述服务信息查询请求通过预定协议向服务注册中心请求获取所述预定服务的服务信息之后,还包括:向所述服务注册中心发送服务监听请求,其中,所述服务监听请求用于请求接收服务信息变更信息;所述方法还包括:在所述服务注册中心的服务信息与所述服务消费者主机的服务信息不相同时,接收所述服务注册中心发送的新的服务信息。5.一种系统进程间请求寻址的方法,其特征在于,包括:服务提供者主机在本地文件中写入预定服务的服务信息,其中,所述服务信息包括:服务名称、服务版本号和服务IP地址;所述服务提供者主机读取所述本地文件中存储的服务信息,并将所述服务信息发送至服务注册中心,以在所述服务注册中心存储服务消费者主机通过预定协议查询的服务信息。6.如权利要求5所述的方法,其特征在于,还包括:按照预定时间间隔判断所述本地文件中存储的所述服务信息是否发生变化;在发生变化的情况下,再次读取所述本地文件中的服务信息。7.一种系统进程间请求寻址的装置,设置在服务消费...

【专利技术属性】
技术研发人员:胡锐
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

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

1