CN108156009A - 一种服务调用方法及装置 - Google Patents

一种服务调用方法及装置 Download PDF

Info

Publication number
CN108156009A
CN108156009A CN201611108292.6A CN201611108292A CN108156009A CN 108156009 A CN108156009 A CN 108156009A CN 201611108292 A CN201611108292 A CN 201611108292A CN 108156009 A CN108156009 A CN 108156009A
Authority
CN
China
Prior art keywords
parameter
target
service
interface
plug
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
CN201611108292.6A
Other languages
English (en)
Other versions
CN108156009B (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201611108292.6A priority Critical patent/CN108156009B/zh
Publication of CN108156009A publication Critical patent/CN108156009A/zh
Application granted granted Critical
Publication of CN108156009B publication Critical patent/CN108156009B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种服务调用方法及装置,方法包括:从配置文件中,获得目标接口的目标公有参数,从所述配置文件中,获得所述目标接口的目标特有参数;根据特有参数优先级高于公有参数优先级的规则,合并所述目标公有参数和所述目标特有参数,获得所述目标接口的目标接口参数;根据所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务,在这个过程中使用简化的配置文件,利于后续修改配置文件或撰写新的配置文件。

Description

一种服务调用方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种服务调用方法及装置。
背景技术
随着互联网技术的发展,现有的大多数服务都需要依赖外部服务来实现,为了降低调用外部服务的成本,提高开发调用外部服务的程序的效率,提升调用外部服务的稳定性,远程过程调用(Remote Procedure Call Protocol,RPC)框架应运而生,通过RPC框架可以实现远程服务调用。RPC是一种广泛使用的分布式应用程序处理方法,一个应用程序使用RPC框架来远程调用一个位于不同地址空间里的服务,从效果上看和调用本地服务相同。
现有的RPC框架有:google的protobuf、facebook的thrift、腾讯的spp和阿里巴巴的dubbo等。现有技术中,客户端通过RPC进行服务调用时,一般先通过配置文件来获取目标服务对应的接口参数,然后根据上述接口参数通过RP C框架实现服务调用。由于上述配置文件中对服务的各个接口参数分别进行了一一描述,所以可以方便的通过查找配置文件中记录的信息获得目标服务对应的接口参数。但是,一般情况下,每个服务都会有很多接口,配置文件采用现有的描述服务接口的方式,会导致配置文件内容非常繁琐,不利于后续修改配置文件或撰写新的配置文件。
发明内容
本发明实施例的目的在于提供一种服务调用方法及装置,以使简化的配置文件利于后续修改配置文件或撰写新的配置文件。
为达到上述目的,本发明实施例公开了一种服务调用方法及装置。技术方案如下:
本发明实施例提供的一种服务调用方法,应用于客户端,所述方法包括:
从配置文件中,获得目标接口的目标公有参数;
从所述配置文件中,获得所述目标接口的目标特有参数;
根据特有参数优先级高于公有参数优先级的规则,合并所述目标公有参数和所述目标特有参数,获得所述目标接口的目标接口参数;
根据所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务。
可选的,所述方法还包括:
获取所述目标接口的目标用户请求参数;
所述根据特有参数优先级高于公有参数优先级的规则,合并所述目标公有参数和所述目标特有参数,获得所述目标接口的目标接口参数,包括:
根据用户请求参数、特有参数和公有参数的优先级依次降低的规则,合并所述目标公有参数、所述目标特有参数和所述目标用户请求参数,获得所述目标接口的目标接口参数。
可选的,所述方法还包括:
根据所述目标服务,确定所述RPC框架中已封装的待调用插件;
在到达每个所述待调用插件需要执行的时机时,调用对应的所述待调用插件。
可选的,所述根据所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务,包括:
根据已调用插件的调用结果和所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务。
可选的,所述方法还包括:
接收针对所述配置文件的修改指令;
根据所述修改指令修改所述配置文件。
可选的,所述方法还包括:
接收针对所述RPC框架的插件修改指令;
根据所述插件修改指令修改所述RPC框架封装的插件。
可选的,所述RPC框架是:基于prs7标准,通过抽象和封装RPC调用过程获得的框架。
第二方面,本发明实施例提供的一种服务调用装置,应用于客户端,所述装置包括:
第一获得模块,用于从配置文件中,获得目标接口的目标公有参数;
第二获得模块,用于从所述配置文件中,获得所述目标接口的目标特有参数;
第三获得模块,用于根据特有参数优先级高于公有参数优先级的规则,合并所述目标公有参数和所述目标特有参数,获得所述目标接口的目标接口参数;
第一调用模块,用于根据所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务。
可选的,所述装置还包括:
获取模块,用于获取所述目标接口的目标用户请求参数;
所述第三获得模块,具体用于根据用户请求参数、特有参数和公有参数的优先级依次降低的规则,合并所述目标公有参数、所述目标特有参数和所述目标用户请求参数,获得所述目标接口的目标接口参数。
可选的,所述装置还包括:
确定模块,用于根据所述目标服务,确定所述RPC框架中已封装的待调用插件;
第二调用模块,用于在到达每个所述待调用插件需要执行的时机时,调用对应的所述待调用插件。
可选的,所述第一调用模块,具体用于所述第二调用模块已调用插件的调用结果和所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务。
可选的,所述装置还包括:
第一接收模块,用于接收针对所述配置文件的修改指令;
第一修改模块,用于根据所述修改指令修改所述配置文件。
可选的,所述装置还包括:
第二接收模块,用于接收针对所述RPC框架的插件修改指令;
第二修改模块,用于根据所述插件修改指令修改所述RPC框架封装的插件。
可选的,所述RPC框架是:基于prs7标准,通过抽象和封装RPC调用过程获得的框架。
应用本发明实施例提供的技术方案实现服务调用时,配置文件中服务的服务接口的公有参数统一记录,服务接口的特有参数单独记录,公有参数的设置可以大大简化配置文件的内容,利于后续修改配置文件或撰写新的配置文件。从配置文件中,获得目标接口的目标公有参数,从配置文件中,获得目标接口的目标特有参数;根据特有参数优先级高于公有参数优先级的规则,合并目标公有参数和目标特有参数,获得目标接口的目标接口参数;根据目标接口参数,通过RPC框架从目标服务对应的服务器调用目标服务。从而可以实现通过简化的配置文件来完成服务的调用过程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的服务调用方法的第一种流程示意图;
图2为本发明实施例提供的服务调用方法的第二种流程示意图;
图3为本发明实施例提供的服务调用方法的第三种流程示意图;
图4为本发明实施例提供的服务调用装置的第一种结构示意图;
图5为本发明实施例提供的服务调用装置的第二种结构示意图;
图6为本发明实施例提供的服务调用装置的第三种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
简化的配置文件利于后续修改配置文件或撰写新的配置文件,为了实现这个目的,本发明实施例提供了一种服务调用方法及装置。
下面首先对本发明实施例提供一种服务调用方法进行说明。
参照图1,图1为本发明实施例提供的服务调用方法的第一种流程示意图,该服务调用方法应用于客户端,其中,客户端可以是用户所使用的终端设备上安装的应用软件程序。
该方法包括以下几个步骤:
S101、从配置文件中,获得目标接口的目标公有参数;
S102、从所述配置文件中,获得所述目标接口的目标特有参数;
下面对上述S101和S102中涉及到的概念一并进行介绍。
其中,目标接口为:用于调用目标服务的服务接口;
具体实施时,可以从配置文件用于记录服务接口公有参数的内容中,获得目标接口的目标公有参数;从配置文件用于记录服务接口特有参数的内容中,获得目标接口的目标特有参数。
配置文件是预先设置的,是用来描述服务端所提供服务的配置信息的文件。本领域技术人员可以理解的是,配置文件中至少应该包括目标服务的协议所需要的各个服务接口的接口参数,例如,如果目标服务遵循http协议,则http协议所需要的各个服务接口的接口参数(例如,服务接口的URL/URI、method等接口参数)应该记录在配置文件中。另外,配置文件中还可以记录一些扩展的服务接口的接口参数,例如,服务接口的用户名、密码、超时等参数。
本领域内的技术人员可以理解的是,一个服务通常对应多个服务接口,一个服务接口又可能会具有多个接口参数。这些服务接口的接口参数中,有些是属于同一类型的接口参数,有些是属于不同类型的接口参数。其中,
可以将满足以下条件的服务接口的接口参数称之为服务接口公有参数:
A:多种服务接口均需要的接口参数;
B:对于多种服务接口而言该接口参数的取值通常相同。
可以将满足以下条件的服务接口的接口参数称之为服务接口特有参数:
对于一个服务接口而言,在不同的情况下需要为该接口参数设置不同的取值。
需要说明的是,对于同一服务接口参数而言,既可以仅仅属于上述的服务接口公有参数,可以仅仅属于上述的服务接口特有参数,还可以既属于上述服务接口公有参数又属于上述服务接口特有参数。
由于服务接口公有参数是多个服务接口所共有的,所以在生成配置文件时可以将这些服务接口公有参数放在一起统一描述,具体可以在服务接口公有参数的内容部分仅记录一次上述服务接口公有参数以及这些公有参数的取值,这样不用分别对各个服务接口的上述接口参数进行一一描述,从而可以简化配置文件。
由于服务接口特有参数是一个服务接口所特有的,所以在生成配置文件时需要分别对这些服务接口特有参数进行描述,具体可以在服务接口特有参数的内容部分记录各个服务接口所特有的服务接口特有参数以及这些特有参数的取值,在这部分对服务接口的特有参数进行单独描述,为该接口参数设置不同的取值。
例如,某一服务具有第一服务接口、第二服务接口、第三服务接口和第四服务接口;这些服务接口均包含接口参数:URL和超时;其中,
第一服务接口,URL为:www.baidu.com/abcd/asdf,超时为10s;
第二服务接口,URL为:www.baidu.com/abcd/asdf,超时为10s;
第三服务接口,URL为:www.baidu.com/abcd/asdf,超时为5s;
第四服务接口,URL为:www.baidu.com/abcd/asgh,超时为10s。
由以上可见,上述四个服务接口中三个服务接口的URL相同,三个服务接口的超时相同,所以服务接口公有参数可以包括:URL(其取值为:www.baidu.com/abcd/asdf)和超时(其取值为:10s)。
又因为上述第四服务接口的URL与其他服务接口的URL不同,上述第三服务接口的超时与其他服务接口的超时不同,为了保证能够对第四服务接口和第三服务接口进行准确描述,第三服务接口的服务接口特有参数可以包括:超时(其取值为:5s),第四服务接口的服务接口特有参数可以包括:URL(其取值为:www.baidu.com/abcd/asgh)。
基于上述情况可以在配置文件用于记录服务接口公有参数的内容中直接采用简化描述的方式对服务接口参数进行描述,即在服务接口公有参数的内容部分记录:URL为www.baidu.com/abcd/asdf;超时为10s。代表所有服务接口的UR L都可以是www.baidu.com/abcd/asdf,所有服务接口的超时都可以是10s。
可以在配置文件用于记录服务接口特有参数的内容中直接描述服务接口特有参数,即在服务接口特有参数的内容部分记录:第三服务接口的超时为5s,第四服务接口的URL为www.baidu.com/abcd/asdf。
根据上述示例,如果目标接口为第四服务接口,则可以从配置文件用于记录服务接口公有参数的内容中,获得目标接口的目标公有参数包括:URL(其取值为www.baidu.com/abcd/asdf),以及超时(其取值为10s)。由于第四服务接口具有服务接口特有参数,因此可以从配置文件的用于记录服务接口特有参数的内容中,获得目标接口的目标特有参数包括:URL(其取值为www.baidu.com/abcd/asdf)。
如果目标接口是第二服务接口,则可以从配置文件中获得获得目标接口的目标公有参数包括:URL(其取值为www.baidu.com/abcd/asdf),以及超时(其取值为10s),由于第二服务接口不具有服务接口特有参数,因此无需再从配置文件中获得服务接口特有参数。
由以上可见,在配置文件中将服务接口公有参数的内容和服务接口特有参数的内容分开记录,两部分相结合描述各个服务接口完整的接口参数信息,这样既可以记录所有服务接口的接口参数的信息,又可以大大简化配置文件,为后期的配置文件的修改提供了便利。
示例性的,Iam是企业内部提供的一种服务,对应的配置文件的部分内容可以表述如下:
上述代码中,上半部分描述了服务Iam的服务接口公有参数,包括host、超时以及其他公有参数的信息;下半部分描述了服务Iam的一个服务接口CreateUs er的服务接口特有参数的信息,包括URL、method以及其他特有参数的信息。
S103a、根据特有参数优先级高于公有参数优先级的规则,合并目标公有参数和目标特有参数,获得目标接口的目标接口参数;
本申请实施例中,将服务接口的接口参数分成了两类,服务接口公有参数和服务接口特有参数,这两类参数一起描述了服务接口的完整信息。由于服务接口的公有参数描述的是多个服务接口共同具有的接口参数的信息,而服务接口特有参数描述的是某一服务接口特有的接口参数的信息,因此,通常情况下,服务接口特有参数的优先级高于公有参数的优先级。
基于上述情况,在对目标公有参数和目标特有参数进行合并时,直接按照上述优先级顺序,以目标特有参数的取值覆盖目标公有参数中目标参数的取值即可,其中,目标参数是指:目标公有参数中与目标特有参数相同的接口参数。
根据上述示例,目标接口为第四服务接口时,目标接口的目标公有参数包括:URL(其取值为:www.baidu.com/abcd/asdf),以及超时(其取值为:10s);目标接口的目标特有参数包括:URL(其取值为:www.baidu.com/abcd/asgh),通过本步骤的合并处理,可以获得目标接口的目标接口参数包括:URL(其取值为:www.baidu.com/abcd/asgh),以及超时(其取值为:10s)。
S104a、根据目标接口参数,通过RPC框架从目标服务对应的服务器调用目标服务。
本步骤具体实施时,作为执行主体的客户端将上述目标接口的目标接口参数发送至RPC框架,RPC框架生成采用目标服务所支持的协议的请求,再将这个请求发送给目标服务对应的服务器,上述服务器针对所接收的请求作出响应,并将响应结果反馈给上述客户端,客户端接收上述响应结果,完成目标服务的调用。
示例性的,本步骤可以通过以下代码实现:
通过这部分代码,实现发送请求,接收响应结果的执行逻辑。
另外,本发明实施例中,RPC框架可以是:基于prs7标准,通过抽象和封装RPC调用过程获得的框架,相比于开发者针对每一次服务调用重新撰写代码的情况,通过固定的框架和统一的配置文件实现服务的调用,不需要每次单独编写代码实现相应的服务调用,避免开发者通过差别各异的实现手段来实现服务的调用,从而避免出现服务不稳定、系统性能不稳定等情况。再者,通过统一的配置文件可以增强复用性,降低开发成本。
具体地,可以通过php语言实现prs7标准,使得RPC框架具有良好的可扩展性和容易进行二次开发。另外,RPC框架能够支持基于psr7的http协议和http插件,如果一个服务所支持的协议遵循http协议或某个插件为http插件,则通过RPC框架可以实现对上述服务的调用或可以将上述插件封装到RPC框架中。
应用本发明实施例,设置配置文件中服务的服务接口的公有参数统一记录,服务接口的特有参数单独记录,公有参数的设置可以大大简化配置文件的内容,利于后续修改配置文件或撰写新的配置文件。从配置文件中,获得目标接口的目标公有参数,从配置文件中,获得目标接口的目标特有参数;根据特有参数优先级高于公有参数优先级的规则,合并目标公有参数和目标特有参数,获得目标接口的目标接口参数;根据目标接口参数,通过RPC框架从目标服务对应的服务器调用目标服务。从而可以实现通过简化的配置文件来完成服务的调用过程。
参照图2,图2为本发明实施例提供的服务调用方法的第二种流程示意图,相比于图1所示实施例,增加了S105,其中,S103a的一种具体实现如S103b所示。图2所示实施例中,该服务调用方法具体包括:
S105、获取目标接口的目标用户请求参数;
虽然已经在配置文件中配置好各个服务接口的接口参数,但是实际使用中由于用户需求发生变化等因素可能会导致服务接口的某些接口参数发生变化,又由于并不是任何时候均方便修改配置文件,所以还可以通过获取接口的用户请求参数的方式来改变服务接口的接口参数。
其中,上述目标用户请求参数中需包括:目标用户设置的服务接口的接口参数。
本步骤具体实施时,可以在调用目标服务的前,通过用户交互界面输入相关参数,以使用户控制服务调用的相关参数。例如,用户在本步骤中设置目标用户请求参数包括:超时(其取值为3s),则可以获取到目标接口的目标用户请求参数包括:超时(其取值为3s)。
S103b、根据用户请求参数、特有参数和公有参数的优先级依次降低的规则,合并目标公有参数、目标特有参数和目标用户请求参数,获得目标接口的目标接口参数。
由于用户请求参数一般是在用户感觉配置文件中配置的服务接口的接口参数不合适的情况下才输入的,所以通常情况下用户请求参数的优先级要高于特有参数和公有参数的优先级,又从前面的描述可以得知,特有参数的优先级一般高于公有参数的优先级,所以通常情况下可以认为三者之间优先级由高到低的顺序为:用户请求参数、特有参数、公有参数。
例如,一个服务的三个服务接口:第一服务接口、第二服务接口和第三服务接口;配置文件的公有参数部分记录的超时是10s,特有参数部分记录第三服务接口的超时是5s。如果第三接口参数为目标接口,则在S101中获得目标接口的目标公有参数包括:超时(其取值为10s);在S102中获得目标接口的目标特有参数包括:超时(其取值为5s);用户S105中设置目标用户请求参数包括:超时(其取值为3s)。经过本步骤合并后获得目标接口的目标接口参数包括:(其取值为3s)。
从用户侧获得用户请求参数后,根据这三者的优先级关系,使得优先采用用户请求参数,从而实现通过用户请求参数的设置,可以使得用户在请求调用服务的过程中,可以根据具体的服务调用,对服务接口的部分参数进行自由控制。
示例性的,S101、S102、S105和S103b可以通过以下代码实现:
通过上述代码,实现获取用户的服务接口参数,获取服务界面接口公有参数和服务接口特有参数,合并这三部分的参数这个几个步骤的执行逻辑。
参照图3,图3为本发明实施例提供的服务调用方法的第三种流程示意图,相比于图1所示实施例,增加了S106和S107。具体包括:
S106、根据目标服务,确定RPC框架中已封装的待调用插件;
本领域技术人员可以理解的是,在执行实现各个步骤之前,需要进行文件句柄初始化,为后续步骤执行做准备。本步骤中,可以在初始化文件句柄后,初始化插件来为文件句柄绑定已封装的插件,从而确定出RPC框架中已封装的待调用插件。在请求同一个服务时,只需要初始化一次。
RPC框架完全支持基于psr7的http插件,RPC框架可封装很多插件,例如,V4sign插件、baseAuth校验插件、日志插件、repalceUri插件、允许重新定向插件、允许cookie插件等等。
示例性的,可以通过以下代码实现初始化文件句柄和初始化插件:
上述示例中,对文件句柄进行初始化,并通过push的方式绑定replaceUri和V4sign插件。
S107、在到达每个待调用插件需要执行的时机时,调用对应的待调用插件。
插件本身需要执行的时机可能是不同的,例如,V4sign插件需要在调用目标服务之前被调用;而日志插件需要在调用目标服务之后被调用。
进一步地,在图3所示实施例中,S104a的一种具体实现如下S104b所示。
S104b、根据已调用插件的调用结果和目标接口参数,通过RPC框架从目标服务对应的服务器调用目标服务。
在服务被调用之前,已经被调用的一些插件,其调用结果可以为服务调用起到辅助作用,例如,如果RPC框架封装了V4sign插件,V4sign插件在调用目标服务之前被调用,通过数字签名技术,确保服务调用过程中的信息在存储、使用、传输过程中不被非授权用户篡改,防止被授权用户不适当的篡改,以保证数据的完整性,则V4sign插件被调用后产生的签名结果需要被发送到目标服务对应的服务器。本步骤具体实施时,客户端根据已调用插件的调用结果和目标接口参数,通过RPC框架生成采用目标服务协议的请求,将该请求发送至目标服务对应的服务器,服务器针对这个请求作出相应的响应,客户端接收服务器返回的响应,以完成目标服务的调用。
本发明实施例中,该服务调用方法还包括以下两个步骤:
(1)、接收针对配置文件的修改指令;
(2)、根据修改指令修改配置文件。
通过上述这两个步骤,可以实现对配置文件的修改或重写,以获得不同的配置文件,通过这些配置文件能够实现更多的服务调用。具体实施时,用户可以对服务接口的配置参数进行抽象整理,确定服务接口的哪一部分参数写入配置文件的服务接口公有参数的内容部分;哪一部分参数写入配置文件的服务接口特有参数的内容部分。触发将所确定的内容写入配置文件中对应部分的修改指令,在客户端接收到针对配置文件的修改指令后,根据该修改指令完成配置文件的修改。
本发明实施例中,该服务调用方法还包括以下两个步骤:
(1)、接收针对RPC框架的插件修改指令;
(2)、根据插件修改指令修改RPC框架封装的插件。
RPC框架封装了插件,例如,V4sign插件、baseAuth校验插件、日志插件、repalceUri插件等。通过上述这两个步骤可以对RPC框架所封装的插件进行修改,具体的修改可以是删除、替换或增添等,可以在RPC框架内封装不同的插件,以满足不同用户的需求。
本领域技术人员可以理解的是,S106和S107也可以增加到图2所示实施例中,其中,S104a具体通过S104b实现,以形成另一实施例。
相应于上述方法实施例,本发明实施例提供的一种服务调用装置,应用于客户端,参照图4,图4为本发明实施例提供的服务调用装置的第一种结构示意图,该装置包括:
第一获得模块41,用于从配置文件中,获得目标接口的目标公有参数,其中,目标接口为:用于调用目标服务的服务接口;
第二获得模块42,用于从配置文件中,获得目标接口的目标特有参数;
第三获得模块43,用于根据特有参数优先级高于公有参数优先级的规则,合并目标公有参数和目标特有参数,获得目标接口的目标接口参数;
第一调用模块44,用于根据目标接口参数,通过RPC框架从目标服务对应的服务器调用目标服务。
其中,RPC框架是:基于prs7标准,通过抽象和封装RPC调用过程获得的框架。
参照图5,图5为本发明实施例提供的服务调用装置的第二种结构示意图,相比于图4所示实施例,不同点在于:
增加了获取模块45,获取模块45,用于获取目标接口的目标用户请求参数;
第三获得模块43,具体用于根据用户请求参数、特有参数和公有参数的优先级依次降低的规则,合并目标公有参数、目标特有参数和目标用户请求参数,获得目标接口的目标接口参数。
参照图6,图6为本发明实施例提供的服务调用装置的第三种结构示意图,相比于图4所示实施例,不同点在于:增加了确定模块46和第二调用模块47;
确定模块46,用于根据目标服务,确定RPC框架中已封装的待调用插件;
第二调用模块47,用于在到达每个待调用插件需要执行的时机时,调用对应的待调用插件。
另外,第一调用模块44,具体用于第二调用模块已调用插件的调用结果和目标接口参数,通过RPC框架从目标服务对应的服务器调用目标服务。
本发明实施例中,该服务调用装置还包括:第一接收模块和第一修改模块(图中未示出)。
第一接收模块,用于接收针对配置文件的修改指令;
第一修改模块,用于根据修改指令修改配置文件。
本发明实施例中,该服务调用装置还包括:第二接收模块和第二修改模块(图中未示出)。
第二接收模块,用于接收针对RPC框架的插件修改指令;
第二修改模块,用于根据插件修改指令修改RPC框架封装的插件。
应用本发明实施例,设置配置文件中服务的服务接口的公有参数统一记录,服务接口的特有参数单独记录,公有参数的设置可以大大简化配置文件的内容,利于后续修改配置文件或撰写新的配置文件。从配置文件中,获得目标接口的目标公有参数,从配置文件中,获得目标接口的目标特有参数;根据特有参数优先级高于公有参数优先级的规则,合并目标公有参数和目标特有参数,获得目标接口的目标接口参数;根据目标接口参数,通过RPC框架从目标服务对应的服务器调用目标服务。从而可以实现通过简化的配置文件来完成服务的调用过程。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种服务调用方法,应用于客户端,其特征在于,所述方法包括:
从配置文件中,获得目标接口的目标公有参数;
从所述配置文件中,获得所述目标接口的目标特有参数;
根据特有参数优先级高于公有参数优先级的规则,合并所述目标公有参数和所述目标特有参数,获得所述目标接口的目标接口参数;
根据所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述目标接口的目标用户请求参数;
所述根据特有参数优先级高于公有参数优先级的规则,合并所述目标公有参数和所述目标特有参数,获得所述目标接口的目标接口参数,包括:
根据用户请求参数、特有参数和公有参数的优先级依次降低的规则,合并所述目标公有参数、所述目标特有参数和所述目标用户请求参数,获得所述目标接口的目标接口参数。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述目标服务,确定所述RPC框架中已封装的待调用插件;
在到达每个所述待调用插件需要执行的时机时,调用对应的所述待调用插件。
4.根据权利要求3所述的方法,其特征在于,
所述根据所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务,包括:
根据已调用插件的调用结果和所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
接收针对所述配置文件的修改指令;
根据所述修改指令修改所述配置文件。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
接收针对所述RPC框架的插件修改指令;
根据所述插件修改指令修改所述RPC框架封装的插件。
7.根据权利要求1-4中任一项所述的方法,其特征在于,所述RPC框架是:基于prs7标准,通过抽象和封装RPC调用过程获得的框架。
8.一种服务调用装置,应用于客户端,其特征在于,所述装置包括:
第一获得模块,用于从配置文件中,获得目标接口的目标公有参数;
第二获得模块,用于从所述配置文件中,获得所述目标接口的目标特有参数;
第三获得模块,用于根据特有参数优先级高于公有参数优先级的规则,合并所述目标公有参数和所述目标特有参数,获得所述目标接口的目标接口参数;
第一调用模块,用于根据所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取所述目标接口的目标用户请求参数;
所述第三获得模块,具体用于根据用户请求参数、特有参数和公有参数的优先级依次降低的规则,合并所述目标公有参数、所述目标特有参数和所述目标用户请求参数,获得所述目标接口的目标接口参数。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
确定模块,用于根据所述目标服务,确定所述RPC框架中已封装的待调用插件;
第二调用模块,用于在到达每个所述待调用插件需要执行的时机时,调用对应的所述待调用插件。
11.根据权利要求10所述的装置,其特征在于,所述第一调用模块,具体用于所述第二调用模块已调用插件的调用结果和所述目标接口参数,通过RPC框架从所述目标服务对应的服务器调用所述目标服务。
12.根据权利要求8-11中任一项所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收针对所述配置文件的修改指令;
第一修改模块,用于根据所述修改指令修改所述配置文件。
13.根据权利要求8-11中任一项所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收针对所述RPC框架的插件修改指令;
第二修改模块,用于根据所述插件修改指令修改所述RPC框架封装的插件。
14.根据权利要求8-11中任一项所述的装置,其特征在于,所述RPC框架是:基于prs7标准,通过抽象和封装RPC调用过程获得的框架。
CN201611108292.6A 2016-12-06 2016-12-06 一种服务调用方法及装置 Active CN108156009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611108292.6A CN108156009B (zh) 2016-12-06 2016-12-06 一种服务调用方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611108292.6A CN108156009B (zh) 2016-12-06 2016-12-06 一种服务调用方法及装置

Publications (2)

Publication Number Publication Date
CN108156009A true CN108156009A (zh) 2018-06-12
CN108156009B CN108156009B (zh) 2021-03-26

Family

ID=62471132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611108292.6A Active CN108156009B (zh) 2016-12-06 2016-12-06 一种服务调用方法及装置

Country Status (1)

Country Link
CN (1) CN108156009B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244938A (zh) * 2019-04-28 2019-09-17 阿里巴巴集团控股有限公司 一种json合并的数据处理方法及装置
CN111934940A (zh) * 2020-09-24 2020-11-13 腾讯科技(深圳)有限公司 配置化的服务请求方法及装置、电子设备和存储介质
CN112463255A (zh) * 2020-12-10 2021-03-09 广州极飞科技有限公司 虚拟接口加载方法和装置、物理网卡及存储介质
CN114333102A (zh) * 2021-12-24 2022-04-12 北京三快在线科技有限公司 一种无人驾驶设备的参数配置方法及配置装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101809548A (zh) * 2007-09-26 2010-08-18 日本电气株式会社 服务提供方法、服务提供系统、终端、信息管理装置、服务器及程序
CN102811447A (zh) * 2011-05-31 2012-12-05 中兴通讯股份有限公司 基站数据的配置方法、装置及系统
CN105141653A (zh) * 2015-07-01 2015-12-09 北京奇虎科技有限公司 业务平台的数据交互方法、设备和系统
CN105574082A (zh) * 2015-12-08 2016-05-11 曙光信息产业(北京)有限公司 基于Storm的流处理方法及系统
US20160352559A1 (en) * 2014-12-29 2016-12-01 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus For Configuring a Communication System

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101809548A (zh) * 2007-09-26 2010-08-18 日本电气株式会社 服务提供方法、服务提供系统、终端、信息管理装置、服务器及程序
CN102811447A (zh) * 2011-05-31 2012-12-05 中兴通讯股份有限公司 基站数据的配置方法、装置及系统
US20160352559A1 (en) * 2014-12-29 2016-12-01 Telefonaktiebolaget L M Ericsson (Publ) Method and Apparatus For Configuring a Communication System
CN105141653A (zh) * 2015-07-01 2015-12-09 北京奇虎科技有限公司 业务平台的数据交互方法、设备和系统
CN105574082A (zh) * 2015-12-08 2016-05-11 曙光信息产业(北京)有限公司 基于Storm的流处理方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110244938A (zh) * 2019-04-28 2019-09-17 阿里巴巴集团控股有限公司 一种json合并的数据处理方法及装置
CN111934940A (zh) * 2020-09-24 2020-11-13 腾讯科技(深圳)有限公司 配置化的服务请求方法及装置、电子设备和存储介质
CN112463255A (zh) * 2020-12-10 2021-03-09 广州极飞科技有限公司 虚拟接口加载方法和装置、物理网卡及存储介质
CN112463255B (zh) * 2020-12-10 2024-06-07 广州极飞科技股份有限公司 虚拟接口加载方法和装置、物理网卡及存储介质
CN114333102A (zh) * 2021-12-24 2022-04-12 北京三快在线科技有限公司 一种无人驾驶设备的参数配置方法及配置装置

Also Published As

Publication number Publication date
CN108156009B (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
KR970007047B1 (ko) 멀티미디어 세션을 스케줄링하는 장치 및 방법
EP2477165B1 (en) Multi-application smart card, and system and method for multi-application management of smart card
US10069808B2 (en) Methods and systems for providing a customized network
DE60221113T2 (de) Verfahren und system für die fernaktivierung und -verwaltung von personal security devices
CN108156009A (zh) 一种服务调用方法及装置
WO2001060012A2 (en) Web based human services conferencing network
US9843625B2 (en) System and method for aggregating and providing data from enterprise systems to mobile devices
CN107222530A (zh) 服务异步交互方法、设备、系统和可读介质
CN103685304A (zh) 一种共享session信息的方法和系统
CN106357699A (zh) 网络系统、服务平台、服务平台登录方法及系统
CN109521956A (zh) 一种基于区块链的云存储方法、装置、设备及存储介质
CN108989189A (zh) 一种基于企业微信的消息推送方法
Grevers Jr et al. Application Acceleration and WAN Optimization Fundamentals: Appli Accel WAN Optim Funda
US20220269378A1 (en) Persistent State and Organization of Workspaces in User Interfaces
CN108512814A (zh) 媒体数据处理方法、装置和系统
US11962680B2 (en) Blockchain ledger growth management
CN109729303A (zh) 会议提供装置及所述装置中的连接终端变更方法
CN106897153A (zh) 调用应用编程接口的方法和系统
CA3116549A1 (en) Methods and systems for providing a customized network
CN104731650A (zh) 系统接口调用信息的获取方法和装置
Smith et al. Research challenges for the next generation internet
CN109218370A (zh) 消息发送方法及装置、电子设备
CN112699136B (zh) 一种跨链存证方法及相关装置
CN106209656A (zh) 路由器升级系统、方法及路由器
WO2023213262A1 (zh) 网格代理扩展的方法和装置

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