一种远程调用方法与设备的制造方法_3

文档序号:9600877阅读:来源:国知局
务接口的路由规则。
[0084] 在此,在调用者获取所有的可用地址列表后通过随机方法选择其中一个是最简单 直接最普遍的策略。然而,该种简单的策略无法满足复杂的需求,在某些实际场景下,需要 根据接口、方法以及参数来从可用的地址列表中来过滤选择出特定的地址列表进行调用; 也可以基于路由对某些机器进行权重选择;另外对于一些高并发网站,在全国有多个机房, 跨机房的服务调用是常见的,针对多机房需要一定策略来避免跨机房的延迟。
[0085] 因此,远程调用设备1根据服务调用请求及一个或多个可用服务的服务地址信 息,并结合对应的路由规则,确定目标可用服务;或进一步地,远程调用设备1再结合该路 由规则的权重信息,确定目标可用服务;或更进一步地,远程调用设备1再结合路由规则的 粒度信息,确定目标可用服务。
[0086] 优选地,该远程调用设备1还包括第四装置(未示出)。该第四装置获取或更新 所述对应的路由规则,以供确定对应的目标可用服务。具体地,第四装置定期或应事件触发 地,例如从远程调用框架所对应的文件配置中,下载由服务治理平台生成的路由规则,以实 现对路由规则的获取或更新;当后续再接收到服务调用请求时,便可更具所获取或更新后 的路由规则,来确定对应的目标可用服务。在此,确定目标可用服务的方式与前述实施例相 同或基本相同,故不再赘述,并以引用方式包含于此。
[0087] 在此,在业务系统初始化阶段,服务框架,如HSF,注册客户调用者相关的服务路由 信息,一旦有新路由规则发布或者内容变动,服务框架就会立刻解析最新的规则,并立刻在 运行时生效。
[0088] 本领域技术人员应能理解,上述获取或更新路由规则的方式仅为举例,其他现有 的或今后可能出现的获取或更新路由规则的方式如可适用于本申请,也应包含在本申请保 护范围以内,并在此以引用方式包含于此。
[0089] 优选地,所述第二装置102根据服务调用请求及所述一个或多个可用服务的服务 地址信息,并结合对应的路由规则,确定所述服务调用请求关于目标可用服务的路由访问 信息。
[0090] 例如,第二装置102根据服务调用请求,及第一装置101所获取或更新的一个或多 个可用服务的服务地址信息,确定若干个候选可用服务,其中,该候选可用服务与该服务调 用请求相匹配;随后,该第二装置102再结合对应的路由规则,从该若干个与该服务调用请 求相匹配的候选可用服务中筛选出目标可用服务;进而,该第二装置102根据该确定的目 标可用服务的服务地址信息,路由确定该服务调用请求关于该目标可用服务的路由访问信 肩、。
[0091] 优选地,所述可用服务包括内部状态初始化完成且数据及依赖服务检测成功的注 册服务。具体地,该可用服务为注册服务,且该注册服务的内部状态初始化已完成,并且, 该注册服务的数据及依赖服务已检测成功。第一装置101定期或应事件触发地,从远程调 用框架所对应的注册服务器或地址服务器,获取或更新一个或多个可用服务的服务地址信 息。例如,该第一装置101定期从远程调用框架所对应的注册服务器,下载注册服务的服务 地址信息。
[0092] 图2示出根据本申请另一个方面的一种远程调用方法的方法流程图。
[0093] 在步骤S201中,远程调用设备1获取一个或多个可用服务的服务地址信息。具体 地,在步骤S201中,远程调用设备1定期或应事件触发地,从远程调用框架所对应的注册服 务器或地址服务器,获取一个或多个可用服务的服务地址信息,或者仅获取其中更新后的 一个或多个可用服务的服务地址信息。例如,在步骤S201中,远程调用设备1定期从远程 调用框架所对应的注册服务器,下载注册服务的服务地址信息。
[0094] 本领域技术人员应能理解,上述获取或更新服务地址信息的方式仅为举例,其他 现有的或今后可能出现的获取或更新服务地址信息的方式如可适用于本申请,也应包含在 本申请保护范围以内,并在此以引用方式包含于此。
[0095] 在步骤S202中,远程调用设备1根据服务调用请求及所述服务地址信息确定所述 服务调用请求关于目标可用服务的路由访问信息。具体地,在步骤S202中,远程调用设备 1确定路由访问信息的方式包括但不限于:
[0096] 1)在步骤S202中,远程调用设备1首先根据该服务调用请求及在步骤S201中获 取或更新的一个或多个可用服务的服务地址信息,确定目标可用服务,其中,该目标可用服 务与该服务调用请求相匹配;随后,在步骤S202中,远程调用设备1再根据该目标可用服务 的服务地址信息,路由确定该服务调用请求关于该目标可用服务的路由访问信息。
[0097] 2)在步骤S202中,远程调用设备1首先根据该服务调用请求及在步骤S201中获 取或更新的一个或多个可用服务的服务地址信息,确定若干个候选路由访问信息;随后,在 步骤S202中,远程调用设备1再根据服务调用请求,或进一步结合路由规则,从该若干个候 选路由访问信息中筛选出目标可用服务,进而,将该目标可用服务所对应的候选路由访问 信息作为该路由访问信息。
[0098] 本领域技术人员应能理解,上述确定路由访问信息的方式仅为举例,其他现有的 或今后可能出现的确定路由访问信息的方式如可适用于本申请,也应包含在本申请保护范 围以内,并在此以引用方式包含于此。
[0099] 在步骤S203中,远程调用设备1根据所述路由访问信息调用所述目标可用服务。 具体地,在步骤S203中,远程调用设备1根据在步骤S202中所确定的路由访问信息,直接 远程调用该目标可用服务;或者,在步骤S203中,远程调用设备1根据该路由访问信息,将 该服务调用请求发送至该目标可用服务,并由该目标可用服务处理该服务调用请求。
[0100] 在此,若该服务调用请求包含服务调用参数,则在步骤S203中,远程调用设备1可 依据该(等)服务调用参数调用该目标可用服务。
[0101] 本领域技术人员应能理解,上述调用目标可用服务的方式仅为举例,其他现有的 或今后可能出现的调用目标可用服务的方式如可适用于本申请,也应包含在本申请保护范 围以内,并在此以引用方式包含于此。
[0102] 在此,远程调用包括但不限于基于如HSF、RPC或RMI等。在此,该远程调用方法工 作于调用远程服务的客户端。
[0103]HSF(High-SpeedServiceFramework,高速服务框架),旨在为业务应用提供一个 分布式的服务框架,HSF从分布式应用层面以及统一的发布/调用方式层面为大家提供支 持,从而可以很容易的开发分布式的应用以及提供或使用公用功能模块,而不用考虑分布 式领域中的各种细节技术,例如远程通讯、性能损耗、调用的透明化、同步/异步调用方式 的实现等等问题。
[0104] RPC(Remote Procedure Call Protocol,远程过程调用协议),是一种通过网络从 远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
[0105] RMI (Remote Method Invocation,远程方法调用),是Java编程语言里,一种用于 实现远程过程调用的应用程序编程接口。其使客户机上运行的程序可以调用远程服务器上 的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI的宗旨在于 尽可能简化远程接口对象的使用。
[0106] 优选地,远程调用设备1的各个步骤之间是持续不断工作的。具体地,在步骤S201 中,远程调用设备1获取或更新一个或多个可用服务的服务地址信息;在步骤S202中,远程 调用设备1根据服务调用请求及所述一个或多个可用服务的服务地址信息确定所述服务 调用请求关于目标可用服务的路由访问信息;在步骤S203中,远程调用设备1根据所述路 由访问信息调用所述目标可用服务。在此,本领域技术人员应理解"持续"是指远程调用设 备1的各步骤分别按照设定的或实时调整的工作模式要求,获取或更新服务地址信息、确 定路由访问信息及调用目标可用服务。
[0107] 在此,远程调用设备1通过获取或更新一个或多个可用服务的服务地址信息,根 据服务调用请求及该一个或多个可用服务的服务地址信息确定所述服务调用请求关于目 标可用服务的路由访问信息,进而根据该路由访问信息调用该目标可用服务。远程调用设 备1通过确定目标可用服务的路由访问信息来直接调用该目标可用服务,不需要绕经中转 的负载均衡服务器,不仅避免了负载均衡服务器所导致的单点故障,也减少了网络中转、提 高了服务响应性能。
[0108] 优选地,在步骤S202中,远程调用设备1根据服务调用请求及所述一个或多个可 用服务的服务地址信息确定目标可用服务,其中,所述目标可用服务与所述服务调用请求 相匹配;根据所述目标可用服务的服务地址信息路由确定所述服务调用请求关于所述目标 可用服务的路由访问信息。
[0109] 例如,在步骤S202中,远程调用设备1根据服务调用请求,及在步骤S201中所获 取或更新的一个或多个可用服务的服务地址信息,确定与该服务调用请求相匹配目标可用 服务;随后,在步骤S202中,远程调用设备1根据该目标可用服务的服务地址信息,路由确 定该服务调用请求关于该目标可用服务的路由访问信息,如根据服务调用客户端所保护的 路由信息表,查询确定去往该目标可用
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1