CN108055248A - 基于dubbo框架的远程调用方法、服务器及存储介质 - Google Patents

基于dubbo框架的远程调用方法、服务器及存储介质 Download PDF

Info

Publication number
CN108055248A
CN108055248A CN201711237326.6A CN201711237326A CN108055248A CN 108055248 A CN108055248 A CN 108055248A CN 201711237326 A CN201711237326 A CN 201711237326A CN 108055248 A CN108055248 A CN 108055248A
Authority
CN
China
Prior art keywords
interface
class
dubbo
frames
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711237326.6A
Other languages
English (en)
Other versions
CN108055248B (zh
Inventor
李刚
刘汉玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201711237326.6A priority Critical patent/CN108055248B/zh
Publication of CN108055248A publication Critical patent/CN108055248A/zh
Priority to PCT/CN2018/089137 priority patent/WO2019104975A1/zh
Application granted granted Critical
Publication of CN108055248B publication Critical patent/CN108055248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Abstract

本发明公开了一种基于dubbo框架的远程调用方法、服务器及存储介质,该方法包括:提供一个用户界面,接收服务方在用户界面填写注册信息,包括服务方所提供服务的接口信息和注册中心地址;根据接口信息创建一个接口类并保存到存储器;调用类加载器将接口类从存储器加载到虚拟机上;根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类;根据创建的代理类生成唯一的URL;接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。从而避免新服务加入时频繁修改配置文件和重启系统,减少平台负担,提高服务效率。

Description

基于dubbo框架的远程调用方法、服务器及存储介质
技术领域
本发明涉及远程服务调用领域,尤其涉及一种基于dubbo框架的远程调用方法、服务器及计算机可读存储介质。
背景技术
随着互联网的快速发展,网站的应用规模不断扩大,常规的垂直应用架构已无法满足大规模的服务需求,分布式服务架构的应用势在必行。dubbo是阿里巴巴公司开源的一个高性能的分布式服务框架,致力于提供高性能和透明化的远程服务调用方案。dubbo具有透明化的远程方法调用、服务自动注册与发现、软负载均衡及容错机制等功能,被国内互联网公司广泛使用。
目前,对于行业内dubbo框架搭建的服务平台,当有新的服务需要加入时,必须在dubbo的xml配置文件中添加注册中心和服务方接口信息,并通过重启服务平台系统来加载配置文件。因此,当不断有新的服务加入时,就需要不停的修改配置文件、重启服务平台系统重新加载配置文件,这对服务平台造成巨大地负担,也降低了服务效率。
发明内容
鉴于以上内容,本发明提供一种基于dubbo框架的远程调用方法、服务器及计算机可读存储介质,可以避免频繁的配置文件修改和服务系统重启,有效地减少服务平台的负担,提高服务效率。
为实现上述目的,本发明提供一种基于dubbo框架的远程调用方法,该方法包括:
提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址;
根据接口信息创建一个接口类并保存到存储器;
调用类加载器将接口类从存储器加载到虚拟机上;
根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类;
根据创建的代理类生成唯一的统一资源定位器(Uniform Resoure Locator,URL);
接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。
优选地,所述接口类定义了接口包名、接口类名、接口类中方法名、请求参数及返回函数。
优选地,所述URL的生成规则是根据每一个方法名自动生产一个唯一的URL地址。
优选地,所述服务方通过注册中心发布服务信息,并获得接口信息。
优选地,所述服务方若有多台主机提供服务,则所述代理类也包括多个invoker实体与所述多台主机相关联。
此外,本发明还提供一种服务器,该服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于dubbo框架的远程调用程序,所述基于dubbo框架的远程调用程序被所述处理器执行,可实现如下步骤:
提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址;
根据接口信息创建一个接口类并保存到存储器;
调用类加载器将接口类从存储器加载到虚拟机上;
根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类;
根据创建的代理类生成唯一的URL;
接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。
优选地,所述接口类定义了接口包名、接口类名、接口类中方法名、请求参数及返回函数。
优选地,所述URL的生成规则是根据每一个方法名自动生产一个唯一的URL地址。
优选地,所述服务方若有多台主机提供服务,则所述代理类也包括多个invoker实体与所述多台主机相关联。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括基于dubbo框架的远程调用程序,所述基于dubbo框架的远程调用程序被处理器执行时,可实现如上所述基于dubbo框架的远程调用方法中的任意步骤。
本发明提出的基于dubbo框架的远程调用方法、服务器及计算机可读存储介质,通过提供一个用户界面,接收服务方在用户界面填写的接口信息和注册中心地址,根据接口信息创建一个接口类并调用类加载器将接口类从存储器加载到虚拟机上,再根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类,并根据创建的代理类生成唯一的URL与接口类进行绑定,之后接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用,从而避免新服务加入时不停地修改配置文件和重启系统才能远程调用,提高服务调用量。
附图说明
图1为本发明服务器较佳实施例的示意图;
图2为基于dubbo框架的远程调用方法的应用环境示意图;
图3为图1、图2中基于dubbo框架的远程调用程序较佳实施例的模块示意图;
图4为本发明基于dubbo框架的远程调用方法较佳实施例的流程图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明服务器1较佳实施例的示意图。
在本实施例中,服务器1可以是服务器、智能手机、平板电脑、个人电脑、便携计算机以及其它具有运算功能的电子设备。
该服务器1包括:存储器11、处理器12、网络接口13、通信总线14及存储在存储器11上并可在所述处理器12上运行的基于dubbo框架的远程调用程序10。
其中,网络接口13可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。通信总线14用于实现这些组件之间的连接通信。
存储器11至少包括一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述存储器11可以是所述服务器1的内部存储单元,例如该服务器1的硬盘。在另一些实施例中,所述存储器11也可以是所述服务器1的外部存储单元,例如所述服务器1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card,FC)等。
在本实施例中,所述存储器11不仅可以用于存储安装于所述服务器1的应用软件及各类数据,例如基于dubbo框架的远程调用程序10等,还可以用于暂时地存储已经输出或者将要输出的数据,如接口类。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其它数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于dubbo框架的远程调用程序10的计算机程序代码等。
优选地,该服务器1还可以包括显示器,显示器可以称为显示屏或显示单元。在一些实施例中显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在服务器1中处理的信息以及用于显示可视化的工作界面。
优选地,该服务器1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输出装置比如音响、耳机等。
在图1所示的服务器1实施例中,作为一种计算机存储介质的存储器11中存储基于dubbo框架的远程调用程序10的程序代码,处理器12执行基于dubbo框架的远程调用程序10的程序代码,实现如下功能:
提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址;
根据接口信息创建一个接口类并保存到存储器;
调用类加载器将接口类从存储器加载到虚拟机上;
根据接口信息在注册中心查询提供的服务信息,创建一个与上述接口类对应的代理类;
根据创建的代理类生成唯一的URL;
接收请求方发出的URL请求,根据URL请求找到对应的代理类,再根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。
本实施例中,如图2所示,是基于dubbo框架的远程调用方法的应用环境示意图,服务器1提供一个用户界面2,用于接收服务方3在用户界面2填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址。其中,服务方3在登录服务器1前,通过注册中心5发布服务信息,注册中心5接收到服务信息后,给服务方3返回接口信息。基于dubbo框架的远程调用程序10接收到服务方3在用户界面2录入接口信息和注册中心地址。例如,服务方S提供实现一个sayhello的服务功能,功能为调用一句hello。服务方S先在zookeeper上发布自己的服务信息。zookeeper收到服务信息后,将该服务方的服务信息存入zookeeper,并生成一个注册信息返回给该服务方。zookeeper主要负责注册中心地址的注册和查找。其中注册信息包括服务方提供服务的接口信息和zookeeper的注册中心地址,如<dubbo:registry protocol="zookeeper"address="127.0.0.1:2181"client="curator"/>。其中接口信息中包含包名、类名及方法名。基于dubbo框架的远程调用程序接收服务方S填写注册信息。
基于dubbo框架的远程调用程序10收到服务方3的接口信息后,根据服务方3提供服务的接口信息创建一个接口类,其中接口类定义了包名、类名、方法名、请求参数及返回参数。例如:
创建好接口类之后,并将接口类保存在本地存储器,如硬盘等。创建的接口类是将服务方3暴露给请求方4的端口,方便调用。
基于dubbo框架的远程调用程序10调用类加载器,将接口类从本地存储器加载到虚拟机上。在本实施例中,所述接口类不止一个,将生成的接口类保存在本地存储器,如硬盘中,因此在我们需要调用类加载器时,先将接口类从硬盘加载到虚拟机内存上。例如,当程序运行时,首先启动虚拟机,然后调用类加载器将硬盘中服务方S对应的接口类加到载虚拟机上。其中,类加载器包括:应用类加载器、扩展类加载器和根类加载器。
基于dubbo框架的远程调用程序10根据接口信息查询服务方3在注册中心5提供的服务信息,创建一个与上述接口类对应的代理类。例如,基于dubbo框架的远程调用程序根据服务方S在用户界面填写的接口信息在zookeeper中读取服务方S提供sayhello的服务信息。并根据该服务信息,自动重写dubbo初始化流程,创建一个与接口类对应的动态代理类。使得代理类与服务方进行绑定,让服务方S一直处于等待访问状态。其中,所述服务方3接口下如果有多台主机提供服,对应的代理类也有多个invoker实体与主机节点对应。例如,服务方S接口下有三个主机提供服务,分别为主机1、主机2和主机3,则该服务方对应的代理类也有三个invoker实体:invoker实体1、invoker实体2和invoker实体3分别于主机1、主机2和主机3对应。
基于dubbo框架的远程调用程序10根据创建的代理类生成唯一的URL地址,并将唯一的URL地址与对应的接口类进行绑定。其中URL的生成规则是根据每一个方法名自动生产一个唯一的URL地址。URL是web页的地址,主要由两个主要的部分构成:协议和目的地。其中协议包括http、ftp、telnet等,目的地可以是某文件名、目录名或者某台计算机的名称。例如,基于dubbo框架的远程调用程序将代理类生成的唯一的URL地址与虚拟机上的接口类进行绑定,使得请求方A在搜索sayhello功能服务时,能够找到服务方S的服务。
当请求方4需要申请调用服务时,请求方4向服务器1发送服务服务调用请求。基于dubbo框架的远程调用程序10接收请求方4发出的URL请求,根据URL请求找到对应的代理类,再根据接口类与代理类的对应关系从接口类中找到适合的invoker实体向服务方发起远程调用。例如,运行基于dubbo框架的远程调用程序后,请求方A向基于dubbo框架的远程调用程序发送sayhello功能的URL请求,可以看到请求方收到一行字符串:hello。
上述实施例提出的基于dubbo框架的远程调用方法,通过提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址,根据接口信息创建一个接口类保存到存储器,并调用类加载器加载到虚拟机上,根据接口信息查询服务方在注册中心发布的服务信息,创建一个与接口类对应的代理类并根据代理类生成唯一的URL地址,最后根据请求方的URL请求找到对应的代理类,并根据与接口类的对应关系,从接口类中找到合适的invoker实体向服务方的主机发起远程调用,从而使得服务方可随意指定接口,服务器的程序代码产生接口类,动态代理类进行RPC调用,避免了配置文件的频繁修改和加载,提高服务调用量。
如图3所示,是图1、图2中基于dubbo框架的远程调用程序较佳实施例的模块示意图。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
在本实施例中,基于dubbo框架的远程调用程序10包括:接收模块110、接口类创建模块120、加载模块130、代理类创建模块140、URL生成模块150及访问模块160,所述模块110-160所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
接收模块110,用于提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址;
接口类创建模块120,用于根据接口信息创建一个接口类并保存到存储器;
加载模块130,用于调用类加载器将接口类从存储器加载到虚拟机上;
代理类创建模块140,用于根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类;
URL生成模块150,用于根据创建的代理类生成唯一的URL;
访问模块160,用于接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。
如图4所示,是本发明基于dubbo框架的远程调用方法第一实施例的流程图。
在本实施例中,处理器12执行存储器11中存储的基于dubbo框架的远程调用程序10的计算机程序时实现基于dubbo框架的远程调用方法的如下步骤:
步骤S10,提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址;
步骤S20,根据接口信息创建一个接口类并保存到存储器;
步骤S30,调用类加载器将接口类从存储器加载到虚拟机上;
步骤S40,根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类;
步骤S50,根据创建的代理类生成唯一的URL;
步骤S60,接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。
本实施例中,如图2所示,是基于dubbo框架的远程调用方法的应用环境示意图,服务器1提供一个用户界面2,用于接收服务方3在用户界面2填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址。其中,服务方3在登录服务器1前,通过注册中心5发布服务信息,注册中心5接收到服务信息后,给服务方3返回接口信息。基于dubbo框架的远程调用程序10接收到服务方3在用户界面2录入接口信息和注册中心地址。例如,服务方S提供实现一个sayhello的服务功能,功能为调用一句hello。服务方S先在zookeeper上发布自己的服务信息。zookeeper收到服务信息后,将该服务方的服务信息存入zookeeper,并生成一个注册信息返回给该服务方。zookeeper主要负责注册中心地址的注册和查找。其中注册信息包括服务方提供服务的接口信息和zookeeper的注册中心地址,如<dubbo:registry protocol="zookeeper"address="127.0.0.1:2181"client="curator"/>。其中接口信息中包含包名、类名及方法名。基于dubbo框架的远程调用程序接收服务方S填写注册信息。
基于dubbo框架的远程调用程序10收到服务方3的接口信息后,根据服务方3提供服务的接口信息创建一个接口类,其中接口类定义了包名、类名、方法名、请求参数及返回参数。例如:
创建好接口类之后,并将接口类保存在本地存储器,如硬盘等。创建的接口类是将服务方3暴露给请求方4的端口,方便调用。
基于dubbo框架的远程调用程序10调用类加载器,将接口类从本地存储器加载到虚拟机上。在本实施例中,所述接口类不止一个,将生成的接口类保存在本地存储器,如硬盘中,因此在我们需要调用类加载器时,先将接口类从硬盘加载到虚拟机内存上。例如,当程序运行时,首先启动虚拟机,然后调用类加载器将硬盘中服务方S对应的接口类加到载虚拟机上。其中,类加载器包括:应用类加载器、扩展类加载器和根类加载器。
基于dubbo框架的远程调用程序10根据接口信息查询服务方3在注册中心5提供的服务信息,创建一个与上述接口类对应的代理类。例如,基于dubbo框架的远程调用程序根据服务方S在用户界面填写的接口信息在zookeeper中读取服务方S提供sayhello的服务信息。并根据该服务信息,自动重写dubbo初始化流程,创建一个与接口类对应的动态代理类。使得代理类与服务方进行绑定,让服务方S一直处于等待访问状态。
基于dubbo框架的远程调用程序10根据创建的代理类生成唯一的URL地址,并将唯一的URL地址与对应的接口类进行绑定。其中URL的生成规则是根据每一个方法名自动生产一个唯一的URL地址。URL是web页的地址,主要由两个主要的部分构成:协议和目的地。其中协议包括http、ftp、telnet等,目的地可以是某文件名、目录名或者某台计算机的名称。例如,基于dubbo框架的远程调用程序将代理类生成的唯一的URL地址与虚拟机上的接口类进行绑定,使得请求方A在搜索sayhello功能服务时,能够找到服务方S的服务。其中,所述服务方3接口下如果有多台主机提供服,对应的代理类也有多个invoker实体与主机节点对应。例如,服务方S接口下有三个主机提供服务,分别为主机1、主机2和主机3,则该服务方对应的代理类也有三个invoker实体:invoker实体1、invoker实体2和invoker实体3分别于主机1、主机2和主机3对应。
当请求方4需要申请调用服务时,请求方4向服务器1发送服务服务调用请求。基于dubbo框架的远程调用程序10接收请求方4发出的URL请求,根据URL请求找到对应的代理类,再根据接口类与代理类的对应关系从接口类中找到适合的invoker实体向服务方发起远程调用。例如,运行基于dubbo框架的远程调用程序后,请求方A向基于dubbo框架的远程调用程序发送sayhello功能的URL请求,可以看到请求方收到一行字符串:hello。
上述实施例提出的基于dubbo框架的远程调用方法,通过提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址,根据接口信息创建一个接口类保存到存储器,并调用类加载器加载到虚拟机上,根据接口信息查询服务方在注册中心发布的服务信息,创建一个与接口类对应的代理类并根据代理类生成唯一的URL地址,最后根据请求方的URL请求找到对应的代理类,并根据与接口类的对应关系,从接口类中找到合适的invoker实体向服务方的主机发起远程调用,从而使得新服务加入时,服务平台的后台代码实时生成接口类和动态代理类进行远程调用,避免了配置文件的修改和加载,提高服务调用量。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括基于dubbo框架的远程调用程序10,所述基于dubbo框架的远程调用程序10被处理器执行时实现如下操作:
提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址;
根据接口信息创建一个接口类并保存到存储器;
调用类加载器将接口类从存储器加载到虚拟机上;
根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类;
根据创建的代理类生成唯一的URL;
接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。
优选地,所述接口类定义了接口包名、接口类名、接口类中方法名、请求参数及返回函数。
优选地,所述URL的生成规则是根据每一个方法名自动生产一个唯一的URL地址。
优选地,所述服务方通过注册中心发布服务信息,并获得接口信息。
优选地,所述服务方若有多台主机提供服务,则所述代理类也包括多个invoker实体与所述多台主机相关联。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于dubbo框架的远程调用方法,其特征在于,所述方法包括:
提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址;
根据接口信息创建一个接口类并保存到存储器;
调用类加载器将接口类从存储器加载到虚拟机上;
根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类;
根据创建的代理类生成唯一的URL;
接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。
2.根据权利要求1所述的基于dubbo框架的远程调用方法,其特征在于,所述接口类定义了接口包名、接口类名、接口类中方法名、请求参数及返回函数。
3.根据权利要求1或2所述的基于dubbo框架的远程调用方法,其特征在于,所述URL的生成规则是根据每一个方法名自动生产一个唯一的URL地址。
4.根据权利要求1所述的基于dubbo框架的远程调用方法,其特征在于,所述服务方通过注册中心发布服务信息,并获得接口信息。
5.根据权利要求1所述的基于dubbo框架的远程调用方法,其特征在于,所述服务方若有多台主机提供服务,则所述代理类也包括多个invoker实体与所述多台主机相关联。
6.一种服务器,其特征在于,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于dubbo框架的远程调用程序,所述基于dubbo框架的远程调用程序被所述处理器执行,可实现如下步骤:
提供一个用户界面,接收服务方在用户界面填写注册信息,注册信息包括服务方所提供服务的接口信息和注册中心地址;
根据接口信息创建一个接口类并保存到存储器;
调用类加载器将接口类从存储器加载到虚拟机上;
根据接口信息在注册中心查询提供的服务信息,根据查询到的服务信息创建一个与上述接口类对应的代理类;
根据创建的代理类生成唯一的URL;
接收请求方发出的URL请求,根据URL请求找到对应的代理类,并根据接口类与代理类的对应关系从接口类中找到合适的invoker实体向服务方的主机发起远程调用。
7.根据权利要求6所述的服务器,其特征在于,所述接口类定义了接口包名、接口类名、接口类中方法名、请求参数及返回函数。
8.根据权利要求6或7所述的服务器,其特征在于,所述URL的生成规则是根据每一个方法名自动生产一个唯一的URL地址。
9.根据权利要求6所述的服务器,其特征在于,所述服务方若有多台主机提供服务,则所述代理类也包括多个invoker实体与所述多台主机相关联。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括基于dubbo框架的远程调用程序,所述基于dubbo框架的远程调用程序被处理器执行时,可实现如权利要求1至5中任一项所述基于dubbo框架的远程调用方法的步骤。
CN201711237326.6A 2017-11-30 2017-11-30 基于dubbo框架的远程调用方法、服务器及存储介质 Active CN108055248B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711237326.6A CN108055248B (zh) 2017-11-30 2017-11-30 基于dubbo框架的远程调用方法、服务器及存储介质
PCT/CN2018/089137 WO2019104975A1 (zh) 2017-11-30 2018-05-31 基于dubbo框架的远程调用方法、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711237326.6A CN108055248B (zh) 2017-11-30 2017-11-30 基于dubbo框架的远程调用方法、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN108055248A true CN108055248A (zh) 2018-05-18
CN108055248B CN108055248B (zh) 2020-12-25

Family

ID=62121814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711237326.6A Active CN108055248B (zh) 2017-11-30 2017-11-30 基于dubbo框架的远程调用方法、服务器及存储介质

Country Status (2)

Country Link
CN (1) CN108055248B (zh)
WO (1) WO2019104975A1 (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109324914A (zh) * 2018-09-26 2019-02-12 多点生活(成都)科技有限公司 服务调用方法、服务调用装置及中心服务器
CN109814872A (zh) * 2019-01-25 2019-05-28 北京每日优鲜电子商务有限公司 max持续部署交付平台和交付方法
WO2019104975A1 (zh) * 2017-11-30 2019-06-06 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质
CN109885792A (zh) * 2019-01-04 2019-06-14 石化盈科信息技术有限责任公司 一种基于webdriver技术的APP桥接方法
CN110018962A (zh) * 2019-04-11 2019-07-16 重庆猪八戒知识产权服务有限公司 基于分布式服务框架和注册中心的服务调试方法及系统
CN110730197A (zh) * 2018-07-17 2020-01-24 北京京东尚科信息技术有限公司 一种服务发现方法和系统
CN111131414A (zh) * 2019-12-11 2020-05-08 拉扎斯网络科技(上海)有限公司 后端平台、服务调用方法、第一服务模块及服务器
CN111209122A (zh) * 2019-12-24 2020-05-29 广州华多网络科技有限公司 接口调用方法、装置、电子设备及存储介质
CN111338828A (zh) * 2020-03-24 2020-06-26 广州华多网络科技有限公司 终端设备及其应用程序接口调用控制方法
CN111414181A (zh) * 2020-03-19 2020-07-14 中诚信征信有限公司 网络产品的服务升级方法、装置、服务器及存储介质
CN112422309A (zh) * 2019-08-23 2021-02-26 阿里巴巴集团控股有限公司 分布式服务发现的系统及方法、存储介质及终端
CN112783551A (zh) * 2021-01-21 2021-05-11 中信银行股份有限公司 微服务框架的接口文档生成方法、电子设备及存储介质
CN112905919A (zh) * 2021-03-15 2021-06-04 杭州涂鸦信息技术有限公司 后端应用调用方法、装置、计算机设备和可读存储介质
CN113014560A (zh) * 2021-02-18 2021-06-22 欧冶云商股份有限公司 一种dubbo服务动态调用方法、计算机设备和存储介质
CN113377497A (zh) * 2021-06-08 2021-09-10 湖北第二师范学院 一种基于服务虚拟化的服务开发系统
CN114900383A (zh) * 2022-03-28 2022-08-12 青岛海尔科技有限公司 接口处理方法、装置、电子设备及计算机可读存储介质
CN117331675A (zh) * 2023-11-27 2024-01-02 云筑信息科技(成都)有限公司 一种微服务中优雅启停的方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704422B (zh) * 2019-08-14 2023-08-15 招联消费金融有限公司 数据查询方法、装置、系统、计算机设备及存储介质
CN112688977B (zh) * 2019-10-17 2023-06-16 浙江大搜车软件技术有限公司 微服务通信方法、装置、电子设备及机器可读存储介质
CN110955543A (zh) * 2019-12-12 2020-04-03 浙江大搜车软件技术有限公司 业务处理方法、装置、设备和计算机可读存储介质
CN111209127A (zh) * 2020-01-13 2020-05-29 山东汇贸电子口岸有限公司 一种Dubbo框架集成Istio服务网格的方法
CN111698205B (zh) * 2020-04-29 2023-09-26 中国平安财产保险股份有限公司 服务调用方法及相关设备
CN112685193B (zh) * 2020-12-18 2024-03-22 易久批信息技术有限公司 一种微服务网关接口暴露及聚合方法
CN113157615B (zh) * 2021-02-02 2023-05-23 浙江大华技术股份有限公司 一种服务总线通信方法、电子设备以及计算机存储介质
CN113821743B (zh) * 2021-09-23 2023-08-04 猪八戒股份有限公司 一种Dubbo服务的溯源方法及装置
CN113626225B (zh) * 2021-10-11 2022-02-11 中航金网(北京)电子商务有限公司 程序调用方法、终端设备及介质
CN114710542B (zh) * 2022-03-23 2023-12-26 中国工商银行股份有限公司 一种基于rpc的泛化路由mock方法及装置
CN114979143B (zh) * 2022-05-19 2024-04-16 中国银行股份有限公司 一种分布式服务的实现方法和分布式服务系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425462A (zh) * 2012-05-14 2013-12-04 阿里巴巴集团控股有限公司 一种工作流数据持久化的方法和装置
US20160048602A1 (en) * 2014-08-18 2016-02-18 InfoTrust, LLC Systems and methods for tag inspection
CN107046482A (zh) * 2017-04-25 2017-08-15 厦门集微科技有限公司 一种api服务的管理方法及装置
CN107181806A (zh) * 2017-05-27 2017-09-19 北京思特奇信息技术股份有限公司 一种基于dubbo的分布式业务处理系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003900169A0 (en) * 2003-01-15 2003-01-30 Super Internet Site System Pty Ltd Spatial advertising directory
CN104731893A (zh) * 2015-03-17 2015-06-24 北京京东尚科信息技术有限公司 一种基于dubbo的web服务查找方法、装置和系统
CN106844387A (zh) * 2015-12-07 2017-06-13 北京航天长峰科技工业集团有限公司 一种基于dubbo的间接数据访问方法
CN108055248B (zh) * 2017-11-30 2020-12-25 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425462A (zh) * 2012-05-14 2013-12-04 阿里巴巴集团控股有限公司 一种工作流数据持久化的方法和装置
US20160048602A1 (en) * 2014-08-18 2016-02-18 InfoTrust, LLC Systems and methods for tag inspection
CN107046482A (zh) * 2017-04-25 2017-08-15 厦门集微科技有限公司 一种api服务的管理方法及装置
CN107181806A (zh) * 2017-05-27 2017-09-19 北京思特奇信息技术股份有限公司 一种基于dubbo的分布式业务处理系统及方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104975A1 (zh) * 2017-11-30 2019-06-06 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质
CN110730197B (zh) * 2018-07-17 2023-08-08 北京京东尚科信息技术有限公司 一种服务发现方法和系统
CN110730197A (zh) * 2018-07-17 2020-01-24 北京京东尚科信息技术有限公司 一种服务发现方法和系统
CN109324914A (zh) * 2018-09-26 2019-02-12 多点生活(成都)科技有限公司 服务调用方法、服务调用装置及中心服务器
CN109324914B (zh) * 2018-09-26 2021-06-22 多点生活(成都)科技有限公司 服务调用方法、服务调用装置及中心服务器
CN109885792A (zh) * 2019-01-04 2019-06-14 石化盈科信息技术有限责任公司 一种基于webdriver技术的APP桥接方法
CN109814872A (zh) * 2019-01-25 2019-05-28 北京每日优鲜电子商务有限公司 max持续部署交付平台和交付方法
CN109814872B (zh) * 2019-01-25 2022-06-21 北京每日优鲜电子商务有限公司 max持续部署交付平台和交付方法
CN110018962A (zh) * 2019-04-11 2019-07-16 重庆猪八戒知识产权服务有限公司 基于分布式服务框架和注册中心的服务调试方法及系统
CN112422309A (zh) * 2019-08-23 2021-02-26 阿里巴巴集团控股有限公司 分布式服务发现的系统及方法、存储介质及终端
CN112422309B (zh) * 2019-08-23 2023-03-28 阿里巴巴集团控股有限公司 分布式服务发现的系统及方法、存储介质及终端
CN111131414B (zh) * 2019-12-11 2022-05-24 拉扎斯网络科技(上海)有限公司 后端平台、服务调用方法、第一服务模块及服务器
CN111131414A (zh) * 2019-12-11 2020-05-08 拉扎斯网络科技(上海)有限公司 后端平台、服务调用方法、第一服务模块及服务器
CN111209122A (zh) * 2019-12-24 2020-05-29 广州华多网络科技有限公司 接口调用方法、装置、电子设备及存储介质
CN111414181A (zh) * 2020-03-19 2020-07-14 中诚信征信有限公司 网络产品的服务升级方法、装置、服务器及存储介质
CN111414181B (zh) * 2020-03-19 2023-11-14 中诚信征信有限公司 网络产品的服务升级方法、装置、服务器及存储介质
CN111338828A (zh) * 2020-03-24 2020-06-26 广州华多网络科技有限公司 终端设备及其应用程序接口调用控制方法
CN112783551A (zh) * 2021-01-21 2021-05-11 中信银行股份有限公司 微服务框架的接口文档生成方法、电子设备及存储介质
CN113014560A (zh) * 2021-02-18 2021-06-22 欧冶云商股份有限公司 一种dubbo服务动态调用方法、计算机设备和存储介质
CN112905919A (zh) * 2021-03-15 2021-06-04 杭州涂鸦信息技术有限公司 后端应用调用方法、装置、计算机设备和可读存储介质
CN113377497A (zh) * 2021-06-08 2021-09-10 湖北第二师范学院 一种基于服务虚拟化的服务开发系统
CN113377497B (zh) * 2021-06-08 2023-11-28 湖北第二师范学院 一种基于服务虚拟化的服务开发系统
CN114900383A (zh) * 2022-03-28 2022-08-12 青岛海尔科技有限公司 接口处理方法、装置、电子设备及计算机可读存储介质
CN114900383B (zh) * 2022-03-28 2024-04-19 青岛海尔科技有限公司 接口处理方法、装置、电子设备及计算机可读存储介质
CN117331675A (zh) * 2023-11-27 2024-01-02 云筑信息科技(成都)有限公司 一种微服务中优雅启停的方法
CN117331675B (zh) * 2023-11-27 2024-03-26 云筑信息科技(成都)有限公司 一种微服务中优雅启停的方法

Also Published As

Publication number Publication date
WO2019104975A1 (zh) 2019-06-06
CN108055248B (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN108055248A (zh) 基于dubbo框架的远程调用方法、服务器及存储介质
CN108255615B (zh) 跨语言调用方法、服务器及存储介质
US10356156B2 (en) Method and device for loading webpage
CN106933871B (zh) 短链接处理方法、装置及短链接服务器
CN109542427B (zh) 一种系统定制方法、装置及电子设备和存储介质
CN101106578B (zh) 一种更换界面主题的方法和系统
JP5238851B2 (ja) 画面生成システム、画面生成方法、および画面生成プログラム
US20080059450A1 (en) Service composition environment
US10574724B2 (en) Automatic discovery of management nodes and generation of CLI using HA module
CN110221901A (zh) 容器资源创建方法、装置、设备及计算机可读存储介质
CN102209111A (zh) 云计算移动网络终端设备开放性跨平台系统
CN107580011B (zh) 一种数据共享方法及桌面云服务端
CN103092599A (zh) 软件开发套件
CN106230977B (zh) 一种客户端功能加载方法、系统、客户端和服务端
CN103092602A (zh) 软件开发套件以及终端装置
US11882154B2 (en) Template representation of security resources
CN110647316A (zh) 通用业务对象的生成方法、装置、计算机设备及存储介质
CN111367685B (zh) 接口调用的方法及装置、计算机设备、存储介质
CN104618388A (zh) 快速注册登录方法及对应的重置服务器、信息服务器
CN108040126B (zh) 发起http请求的方法及装置
CN112131230A (zh) 应用SaaS化实现方法、装置、设备及存储介质
US9537931B2 (en) Dynamic object oriented remote instantiation
CN109766489A (zh) 数据处理方法、客户端、服务器及计算机可读存储介质
CN111581578B (zh) 接口请求处理方法和装置
Sharma et al. A model-driven approach to cloud saas interoperability

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant