CN107360261B - 一种http请求处理方法、装置及电子设备 - Google Patents

一种http请求处理方法、装置及电子设备 Download PDF

Info

Publication number
CN107360261B
CN107360261B CN201710799249.7A CN201710799249A CN107360261B CN 107360261 B CN107360261 B CN 107360261B CN 201710799249 A CN201710799249 A CN 201710799249A CN 107360261 B CN107360261 B CN 107360261B
Authority
CN
China
Prior art keywords
request
interface data
rpc
http request
http
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.)
Active
Application number
CN201710799249.7A
Other languages
English (en)
Other versions
CN107360261A (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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201710799249.7A priority Critical patent/CN107360261B/zh
Publication of CN107360261A publication Critical patent/CN107360261A/zh
Application granted granted Critical
Publication of CN107360261B publication Critical patent/CN107360261B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种HTTP请求处理方法、装置及电子设备,应用于互联网技术领域,所述方法包括:接收客户端发送的HTTP请求;判断本地是否存在HTTP请求所对应类别对应的接口数据,如果本地存在HTTP请求所对应类别对应的接口数据,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器;接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果,将解析后的RPC请求结果返回至客户端。本发明实施例将HTTP请求转换为RPC请求,有效提高了RPC服务的易用性,减少了HTTP服务器中代码的开发量。

Description

一种HTTP请求处理方法、装置及电子设备
技术领域
本发明涉及互联网技术领域,特别是涉及一种HTTP请求处理方法、装置及电子设备。
背景技术
超文本传输协议(HyperText Transfer Protocol,简称HTTP)是互联网上应用最为广泛的一种网络协议。在互联网应用开发领域中存在各种结构以及接口不一致的***,这些***之间可以通过HTTP来进行通讯,在通过HTTP进行通讯时可以调用远程过程调用(Remote Procedure Call,简称RPC)协议提供的服务。其中,RPC是一种进程间通信方式,可以通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
具体的,在HTTP服务器中编写每一个RPC接口对应的代码,在HTTP服务器接收到HTTP请求,调用RPC提供的服务时,通过访问RPC接口对应的代码,将HTTP请求发送给RPC服务器,从而RPC服务器对HTTP请求进行处理。如果需要增加RPC接口,那么,需要编写增加的RPC接口对应的代码。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
在调用RPC提供的服务的过程中,针对不同的RPC服务,需要访问对应的代码实现,从而导致调用RPC服务的过程比较复杂。
发明内容
本发明实施例的目的在于提供一种HTTP请求处理方法、装置及电子设备,以简化RPC服务的调用过程。具体技术方案如下:
本发明实施例提供了一种超文本传输协议HTTP请求处理方法,应用于HTTP服务器,所述方法包括:
接收客户端发送的HTTP请求;
判断本地是否存在所述HTTP请求所对应类别对应的接口数据;
如果本地存在所述HTTP请求所对应类别对应的接口数据,将所述HTTP请求中包括的统一资源定位符URL中的参数输入所述接口数据的输入程序,得到所述HTTP请求对应的RPC请求,将所述RPC请求发送至RPC服务器;
接收所述RPC服务器返回的RPC请求结果,通过所述接口数据的输出程序解析所述RPC请求结果;
将解析后的RPC请求结果返回至所述客户端。
可选的,在所述接收客户端发送的HTTP请求之前,所述方法还包括:
在初始化时,获取RPC服务器中与各HTTP请求所对应类别对应的各接口数据,将所述各接口数据存储至本地。
可选的,本发明实施例的HTTP请求处理方法,还包括:
如果本地不存在所述HTTP请求所对应类别对应的接口数据,返回错误信息给所述客户端。
可选的,所述接口数据包括:请求标识、所述请求标识对应的输入程序和所述请求标识对应的输出程序,其中,所述输入程序和所述输出程序分别包含不同的程序标识。
可选的,所述判断本地是否存在所述HTTP请求所对应类别对应的接口数据,包括:
判断本地存储的接口数据中是否存在与所述URL中的请求标识相同的请求标识;
如果本地存储的接口数据中存在与所述URL中的请求标识相同的请求标识,确定本地存在所述HTTP请求所对应类别对应的接口数据;
如果本地存储的接口数据中不存在与所述URL中的请求标识相同的请求标识,确定本地不存在所述HTTP请求所对应类别对应的接口数据。
本发明实施例提供了一种HTTP请求处理装置,所述装置包括:
HTTP请求接收模块,用于接收客户端发送的HTTP请求;
接口数据判断模块,用于判断本地是否存在所述HTTP请求所对应类别对应的接口数据;
RPC请求获得及发送模块,用于在所述接口数据判断模块的判断结果为是时,将所述HTTP请求中包括的统一资源定位符URL中的参数输入所述接口数据的输入程序,得到所述HTTP请求对应的RPC请求,将所述RPC请求发送至RPC服务器;
RPC请求结果解析模块,用于接收所述RPC服务器返回的RPC请求结果,通过所述接口数据的输出程序解析所述RPC请求结果;
请求结果发送模块,用于将解析后的RPC请求结果返回至所述客户端。
可选的,本发明实施例的HTTP请求处理装置,还包括:
接口数据存储模块,用于在初始化时,获取RPC服务器中与各HTTP请求所对应类别对应的各接口数据,将所述各接口数据存储至本地。
可选的,本发明实施例的HTTP请求处理装置,还包括:
错误信息返回模块,用于在所述接口数据判断模块的判断结果为否时,返回错误信息给所述客户端。
可选的,所述接口数据包括:请求标识、所述请求标识对应的输入程序和所述请求标识对应的输出程序,其中,所述输入程序和所述输出程序分别包含不同的程序标识。
可选的,所述RPC请求获得及发送模块具体用于,判断本地存储的接口数据中是否存在与所述URL中的请求标识相同的请求标识;如果本地存储的接口数据中存在与所述URL中的请求标识相同的请求标识,确定本地存在所述HTTP请求所对应类别对应的接口数据;如果本地存储的接口数据中不存在与所述URL中的请求标识相同的请求标识,确定本地不存在所述HTTP请求所对应类别对应的接口数据。
本发明实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述任一所述的HTTP请求处理方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的HTTP请求处理方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的HTTP请求处理方法。
本发明实施例提供的HTTP请求处理方法、装置及电子设备,在接收客户端发送的HTTP请求后,判断本地是否存在HTTP请求所对应类别对应的接口数据,如果本地存在HTTP请求所对应类别对应的接口数据,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器;接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果,将解析后的RPC请求结果返回至客户端。本发明实施例中,通过接口数据将HTTP请求转换为RPC请求,而不需要增加RPC接口对应的代码,即可调用RPC提供的服务,简化RPC服务的调用过程。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例的HTTP请求处理方法的一种流程图;
图2为本发明实施例的HTTP请求处理方法的另一种流程图;
图3为本发明实施例的HTTP请求处理装置的一种结构图;
图4为本发明实施例的HTTP请求处理装置的另一种结构图;
图5为本发明实施例的电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了解决在处理HTTP请求过程中,调用RPC服务时减少HTTP服务器中针对RPC接口对应的代码的开发量,本发明实施例提供了一种HTTP请求处理方法、装置及电子设备,以简化RPC服务的调用过程。
下面首先对本发明实施例所提供的HTTP请求处理方法进行详细说明。
参见图1,图1为本发明实施例的HTTP请求处理方法的一种流程图,应用于HTTP服务器,包括以下步骤:
S101,接收客户端发送的HTTP请求。
具体的,HTTP请求指的是客户端发送至HTTP服务器的请求消息,该请求消息包括:对资源的请求方法、资源的标识符及使用的协议。完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式向HTTP服务器发送HTTP请求。
S102,判断本地是否存在HTTP请求所对应类别对应的接口数据。
相关技术中,HTTP服务器接收HTTP请求之后,解析HTTP请求,HTTP服务器对HTTP请求进行处理,返回HTTP响应给客户端。本发明实施例中,在接收到HTTP请求之后,判断本地是否存在HTTP请求所对应类别对应的接口数据,HTTP请求所对应类别指的是该HTTP请求属于哪一类请求,例如,获取视频信息的请求等。因此,即使两个HTTP请求获取的视频信息不同,但是该两个HTTP请求都属于获取视频信息的请求,那么,该两个HTTP请求仍然属于同一类请求,对应的是相同的接口数据。接口数据包括:请求标识、请求标识对应的输入程序和请求标识对应的输出程序,其中,输入程序和输出程序分别包含不同的程序标识,输入程序指的是可以将HTTP请求转换为RPC请求的接口程序,输出程序指的是可以将RPC请求结果转换为HTTP请求结果的接口程序。
举例而言,HTTP服务器中存储的接口数据可以为:
getVideo→getVideoRequest;
getVideo→getVideoResponse;
该接口数据的请求标识为:“getVideo”,
请求标识对应的输入程序为:
Figure BDA0001401110570000061
请求标识对应的输出程序为:
Figure BDA0001401110570000062
可以看出,输入程序和输出程序包含的程序标识分别为REQUEST和RESPONSE,即输入程序和输出程序的程序标识是不同的,输入程序中包含的输入参数Video_id,该输入参数可以从HTTP请求中获得。其中,定义接口数据的语言可以为Protobuf,Protobuf是***的一种数据交换的格式,它独立于语言,独立于平台。获取视频信息的具体处理方法由RPC服务器实现,实现方法可以为facebook开源的Thrift,Thrift用于***内各语言之间的RPC通信,由于RPC服务器的处理方法属于现有技术,在此不再赘述。
本发明的一种实现方式中,判断本地是否存在HTTP请求所对应类别对应的接口数据,包括:
判断本地存储的接口数据中是否存在与URL中的请求标识相同的请求标识;
如果本地存储的接口数据中存在与URL中的请求标识相同的请求标识,确定本地存在HTTP请求所对应类别对应的接口数据;
如果本地存储的接口数据中不存在与URL中的请求标识相同的请求标识,确定本地不存在HTTP请求所对应类别对应的接口数据。
本发明实施例中,由于接口数据中包含请求标识,URL中也包含请求标识,因此,通过请求标识判断本地是否存在HTTP请求所对应类别对应的接口数据的方式更简单、准确。
S103,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器。
本步骤中,如果判断本地存在该HTTP请求所对应类别对应的接口数据,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求。
以上述定义的获取视频信息的接口数据为例进行说明,如果URL为www.AAA.com/A/getVideo?Video_id=1111,即获取AAA网站中Video_id为1111的视频信息,那么,将输入参数Video_id=1111输入Message getVideoRequest函数中,得到该HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器。
S104,接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果。
本发明实施例中,在RPC服务器接收到RPC请求之后,对该RPC请求进行处理,得到RPC请求结果,并将RPC请求结果返回给HTTP服务器。由于HTTP请求的种类有很多,那么,在将HTTP请求转换为RPC请求之后,也会有很多种RPC请求,相应地,得到的RPC请求结果的种类也有很多。
因此,HTTP服务器在接收到RPC请求结果之后,可以通过接口数据的输出程序解析该请求结果。例如,获取视频信息的请求对应的输出程序为getVideoResponse,那么,可以通过getVideoResponse解析RPC请求结果。
S105,将解析后的RPC请求结果返回至客户端。
本发明实施例的HTTP请求处理方法,在接收客户端发送的HTTP请求后,判断本地是否存在HTTP请求所对应类别对应的接口数据,如果本地存在HTTP请求所对应类别对应的接口数据,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器;接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果,将解析后的RPC请求结果返回至客户端。本发明实施例中,通过接口数据将HTTP请求转换为RPC请求,只需要在原来的接口数据增加相关的配置信息,而不需要增加RPC接口对应的代码,即可调用RPC提供的服务,简化RPC服务的调用过程。
结合上述实施例,在本发明提供的又一实施例中,参见图2,图2为本发明实施例的HTTP请求处理方法的另一种流程图,在图1实施例的基础上,该方法还包括以下步骤:
当判断出本地不存在HTTP请求所对应类别对应的接口数据时,执行步骤S201。
S201,返回错误信息给客户端。
本发明实施例中,本地存储的接口数据是从配置文件中获取的,虽然HTTP服务器和RPC服务器都会用到该配置文件,但是该配置文件可以存储在HTTP服务器和RPC服务器之外的其他服务器中。如果有新增的RPC接口,更新该配置文件即可。在更新该配置文件之后,可以重启存储该配置文件的服务器。当HTTP服务器中不存在HTTP请求所对应类别对应的接口数据时,HTTP服务器不能将HTTP请求转换为RPC请求,也就是说,HTTP服务器无法调用该HTTP请求对应的RPC服务,那么,返回错误信息给客户端。
本步骤中,返回错误信息给客户端,可以告知用户:用户发送的HTTP请求是不支持的,这样,避免用户重复发送该HTTP请求,减轻了HTTP服务器的处理压力。
结合图1实施例或图2实施例,在本发明提供的又一实施例中,在S101之前还可以包括以下步骤:
HTTP服务器在初始化时,获取RPC服务器中与各HTTP请求所对应类别对应的各接口数据,将各接口数据存储至本地。
本发明实施例中,在HTTP服务器初始化时,可以获取RPC服务器中与各HTTP请求所对应类别对应的各接口数据,根据接口数据配置的信息,将接口数据中对应的关系数据(输入程序和输出程序)存储到本地,各接口数据可以通过MAP进行有序存储。其中,MAP是JAVA中常见的集合,是一种把Key(键对象)和Value(值对象)进行映射的集合,本发明实施例中的MAP存储指的是输入程序和输出程序进行映射的集合。
这样,HTTP服务器通过将输入程序和输出程序的映射关系存储至本地,在接收到HTTP请求之后可以将HTTP请求转换为RPC请求,并调用RPC提供的服务。
相应于上述方法实施例,本发明实施例还提供了一种HTTP请求处理装置,参见图3,图3为本发明实施例的HTTP请求处理装置的一种结构图,包括:
HTTP请求接收模块301,用于接收客户端发送的HTTP请求;
接口数据判断模块302,用于判断本地是否存在HTTP请求所对应类别对应的接口数据;
RPC请求获得及发送模块303,用于在接口数据判断模块302的判断结果为是时,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器;
RPC请求结果解析模块304,用于接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果;
请求结果发送模块305,用于将解析后的RPC请求结果返回至客户端。
本发明实施例的HTTP请求处理装置,在接收客户端发送的HTTP请求后,判断本地是否存在HTTP请求所对应类别对应的接口数据,如果本地存在HTTP请求所对应类别对应的接口数据,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器;接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果,将解析后的RPC请求结果返回至客户端。本发明实施例中,通过接口数据将HTTP请求转换为RPC请求,而不需要增加RPC接口对应的代码,即可调用RPC提供的服务,简化RPC服务的调用过程。
需要说明的是,本发明实施例的装置是应用上述HTTP请求处理方法的装置,则上述HTTP请求处理方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
参见图4,图4为本发明实施例的HTTP请求处理装置的另一种结构图,在图3实施例的基础上,还包括:
错误信息返回模块401,用于在接口数据判断模块302的判断结果为否时,返回错误信息给客户端。
可选的,本发明实施例的HTTP请求处理装置,还包括:
接口数据存储模块,用于在初始化时,获取RPC服务器中与各HTTP请求所对应类别对应的各接口数据,将各接口数据存储至本地。
可选的,本发明实施例的HTTP请求处理装置中,接口数据包括:请求标识、请求标识对应的输入程序和请求标识对应的输出程序,其中,输入程序和输出程序分别包含不同的程序标识。
可选的,本发明实施例的HTTP请求处理装置中,RPC请求获得及发送模块具体用于,判断本地存储的接口数据中是否存在与URL中的请求标识相同的请求标识;如果本地存储的接口数据中存在与URL中的请求标识相同的请求标识,确定本地存在HTTP请求所对应类别对应的接口数据;如果本地存储的接口数据中不存在与URL中的请求标识相同的请求标识,确定本地不存在HTTP请求所对应类别对应的接口数据。
本发明实施例还提供了一种电子设备,参见图5,图5为本发明实施例的电子设备的结构图,包括:处理器501、通信接口502、存储器503和通信总线504,其中,处理器501、通信接口502、存储器503通过通信总线504完成相互间的通信;
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述实施例中任一HTTP请求处理方法步骤。
需要说明的是,上述电子设备提到的通信总线504可以是PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口502用于上述电子设备与其他设备之间的通信。
存储器503可以包括RAM(Random Access Memory,随机存取存储器),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器501可以是通用处理器,包括:CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital SignalProcessing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,本发明实施例的电子设备中,处理器通过执行存储器上所存放的程序,从而在接收客户端发送的HTTP请求后,判断本地是否存在HTTP请求所对应类别对应的接口数据,如果本地存在HTTP请求所对应类别对应的接口数据,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器;接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果,将解析后的RPC请求结果返回至客户端。本发明实施例中,通过接口数据将HTTP请求转换为RPC请求,而不需要增加RPC接口对应的代码,即可调用RPC提供的服务,简化RPC服务的调用过程。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一HTTP请求处理方法步骤。
本发明实施例的计算机可读存储介质中存储的指令在计算机上运行时,从而可以在接收客户端发送的HTTP请求后,判断本地是否存在HTTP请求所对应类别对应的接口数据,如果本地存在HTTP请求所对应类别对应的接口数据,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器;接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果,将解析后的RPC请求结果返回至客户端。本发明实施例中,通过接口数据将HTTP请求转换为RPC请求,而不需要增加RPC接口对应的代码,即可调用RPC提供的服务,简化RPC服务的调用过程。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一HTTP请求处理方法步骤。
可见,本发明实施例的计算机程序产品,当其在计算机上运行时,从而可以在接收客户端发送的HTTP请求后,判断本地是否存在HTTP请求所对应类别对应的接口数据,如果本地存在HTTP请求所对应类别对应的接口数据,将HTTP请求中包括的URL中的参数输入接口数据的输入程序,得到HTTP请求对应的RPC请求,将RPC请求发送至RPC服务器;接收RPC服务器返回的RPC请求结果,通过接口数据的输出程序解析RPC请求结果,将解析后的RPC请求结果返回至客户端。本发明实施例中,通过接口数据将HTTP请求转换为RPC请求,而不需要增加RPC接口对应的代码,即可调用RPC提供的服务,简化RPC服务的调用过程。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD(Solid State Disk,固态硬盘))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于HTTP请求装置、电子设备及可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种超文本传输协议HTTP请求处理方法,其特征在于,应用于HTTP服务器,所述方法包括:
接收客户端发送的HTTP请求;
判断本地是否存在所述HTTP请求所对应类别对应的接口数据;
如果本地存在所述HTTP请求所对应类别对应的接口数据,将所述HTTP请求中包括的统一资源定位符URL中的参数输入所述接口数据的输入程序,得到所述HTTP请求对应的远程过程调用RPC请求,将所述RPC请求发送至RPC服务器;
接收所述RPC服务器返回的RPC请求结果,通过所述接口数据的输出程序解析所述RPC请求结果;
将解析后的RPC请求结果返回至所述客户端。
2.根据权利要求1所述的HTTP请求处理方法,其特征在于,在所述接收客户端发送的HTTP请求之前,所述方法还包括:
在初始化时,获取RPC服务器中与各HTTP请求所对应类别对应的各接口数据,将所述各接口数据存储至本地。
3.根据权利要求1所述的HTTP请求处理方法,其特征在于,所述方法还包括:
如果本地不存在所述HTTP请求所对应类别对应的接口数据,返回错误信息给所述客户端。
4.根据权利要求1所述的HTTP请求处理方法,其特征在于,所述接口数据包括:请求标识、所述请求标识对应的输入程序和所述请求标识对应的输出程序,其中,所述输入程序和所述输出程序分别包含不同的程序标识;
所述判断本地是否存在所述HTTP请求所对应类别对应的接口数据,包括:
判断本地存储的接口数据中是否存在与所述URL中的请求标识相同的请求标识;
如果本地存储的接口数据中存在与所述URL中的请求标识相同的请求标识,确定本地存在所述HTTP请求所对应类别对应的接口数据;
如果本地存储的接口数据中不存在与所述URL中的请求标识相同的请求标识,确定本地不存在所述HTTP请求所对应类别对应的接口数据。
5.一种HTTP请求处理装置,其特征在于,所述装置包括:
HTTP请求接收模块,用于接收客户端发送的HTTP请求;
接口数据判断模块,用于判断本地是否存在所述HTTP请求所对应类别对应的接口数据;
RPC请求获得及发送模块,用于在所述接口数据判断模块的判断结果为是时,将所述HTTP请求中包括的统一资源定位符URL中的参数输入所述接口数据的输入程序,得到所述HTTP请求对应的远程过程调用RPC请求,将所述RPC请求发送至RPC服务器;
RPC请求结果解析模块,用于接收所述RPC服务器返回的RPC请求结果,通过所述接口数据的输出程序解析所述RPC请求结果;
请求结果发送模块,用于将解析后的RPC请求结果返回至所述客户端。
6.根据权利要求5所述的HTTP请求处理装置,其特征在于,所述装置还包括:
接口数据存储模块,用于在初始化时,获取RPC服务器中与各HTTP请求所对应类别对应的各接口数据,将所述各接口数据存储至本地。
7.根据权利要求5所述的HTTP请求处理装置,其特征在于,所述装置还包括:
错误信息返回模块,用于在所述接口数据判断模块的判断结果为否时,返回错误信息给所述客户端。
8.根据权利要求5所述的HTTP请求处理装置,其特征在于,所述接口数据包括:请求标识、所述请求标识对应的输入程序和所述请求标识对应的输出程序,其中,所述输入程序和所述输出程序分别包含不同的程序标识;
所述RPC请求获得及发送模块具体用于,判断本地存储的接口数据中是否存在与所述URL中的请求标识相同的请求标识;如果本地存储的接口数据中存在与所述URL中的请求标识相同的请求标识,确定本地存在所述HTTP请求所对应类别对应的接口数据;如果本地存储的接口数据中不存在与所述URL中的请求标识相同的请求标识,确定本地不存在所述HTTP请求所对应类别对应的接口数据。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1~4任一所述的HTTP请求处理方法步骤。
CN201710799249.7A 2017-09-07 2017-09-07 一种http请求处理方法、装置及电子设备 Active CN107360261B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710799249.7A CN107360261B (zh) 2017-09-07 2017-09-07 一种http请求处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710799249.7A CN107360261B (zh) 2017-09-07 2017-09-07 一种http请求处理方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN107360261A CN107360261A (zh) 2017-11-17
CN107360261B true CN107360261B (zh) 2020-07-10

Family

ID=60291330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710799249.7A Active CN107360261B (zh) 2017-09-07 2017-09-07 一种http请求处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN107360261B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228365B (zh) * 2017-12-28 2021-04-06 杭州马猴烧韭科技有限公司 一种函数请求发送方法、函数请求调用方法及装置
CN109992396B (zh) * 2017-12-29 2021-03-19 杭州海康威视数字技术股份有限公司 负载控制方法、装置、电子设备及分布式文件***
CN110704200A (zh) * 2018-07-09 2020-01-17 北京京东尚科信息技术有限公司 转换调用接口的方法和装置
CN111045833B (zh) * 2018-10-15 2024-06-18 北京京东尚科信息技术有限公司 接口调用的方法和装置
CN109634752B (zh) * 2018-10-26 2021-03-02 北京市天元网络技术股份有限公司 一种基于页面网关的客户端请求处理方法及***
CN109714332B (zh) * 2018-12-26 2021-03-23 北京字节跳动网络技术有限公司 基于Thrift和语法树解析的协议转换方法及装置
CN110191164B (zh) * 2019-05-20 2022-03-22 中国工商银行股份有限公司 分布式服务接入***及方法
CN110798380B (zh) * 2019-10-23 2021-08-20 北京奇艺世纪科技有限公司 一种数据获取方法、***、装置、测试设备及测试服务器
CN113722115A (zh) * 2020-05-26 2021-11-30 北京沃东天骏信息技术有限公司 调用接口的方法、装置、设备和计算机可读介质
CN111782306A (zh) * 2020-06-30 2020-10-16 平安银行股份有限公司 接口调用信息的处理方法及装置、电子设备、存储介质
CN112506679A (zh) * 2020-12-17 2021-03-16 中国联合网络通信集团有限公司 Rpc服务调用方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103283209A (zh) * 2011-04-18 2013-09-04 北京新媒传信科技有限公司 一种应用服务平台***及其实现方法
CN105468709A (zh) * 2015-11-19 2016-04-06 中国建设银行股份有限公司 基于HBase的数据查询装置及数据查询方法
CN106856434A (zh) * 2015-12-08 2017-06-16 阿里巴巴集团控股有限公司 访问请求转换的方法和装置
CN106941532A (zh) * 2017-03-30 2017-07-11 北京奇艺世纪科技有限公司 一种应用于分布式***的数据传输方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10003629B2 (en) * 2013-05-13 2018-06-19 Arista Networks, Inc. Method and system for using JSON with a CLI for managing network devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103283209A (zh) * 2011-04-18 2013-09-04 北京新媒传信科技有限公司 一种应用服务平台***及其实现方法
CN105468709A (zh) * 2015-11-19 2016-04-06 中国建设银行股份有限公司 基于HBase的数据查询装置及数据查询方法
CN106856434A (zh) * 2015-12-08 2017-06-16 阿里巴巴集团控股有限公司 访问请求转换的方法和装置
CN106941532A (zh) * 2017-03-30 2017-07-11 北京奇艺世纪科技有限公司 一种应用于分布式***的数据传输方法及装置

Also Published As

Publication number Publication date
CN107360261A (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
CN107360261B (zh) 一种http请求处理方法、装置及电子设备
CN107835178B (zh) 一种多协议服务通信方法、装置以及电子设备
CN108156022B (zh) 一种服务调用方法、装置及电子设备
CN109635019B (zh) 请求处理方法、装置、设备及存储介质
JP2022523914A (ja) レプリゼンテーショナルステートトランスファ(rest)アプリケーションプログラミングインターフェイス(api)を使用するデータ変換のための方法、システムおよびコンピュータ読取可能媒体
CN114866965A (zh) 基于MaaP的5G消息通讯方法、***、电子设备和存储介质
CN112232794A (zh) 支付方法及装置、存储介质、电子设备
CN109062906B (zh) 程序语言资源的翻译方法及装置
CN114598750B (zh) 一种数据请求处理方法、装置及存储介质
CN101916283B (zh) 由动态网页上获取链接信息的方法及其服务器
CN112468585B (zh) 数据传输方法、装置、电子设备及存储介质
CN109446445B (zh) 一种资源获取方法及装置
CN109981546B (zh) 获取应用模块间的远程调用关系的方法和装置
CN114040032A (zh) 一种协议转换方法、***、存储介质及电子设备
CN113011848A (zh) 一种接入审批服务的方法、装置、设备及存储介质
CN114675982A (zh) 一种业务集成***的数据获取通用方法及***
CN114285890B (zh) 云平台连接方法、装置、设备及存储介质
CN111338928A (zh) 基于chrome浏览器测试的方法及装置
CN115914319A (zh) 一种虚拟现实设备的远程管理方法和***
CN112130860B (zh) Json对象解析方法、装置、电子设备及存储介质
CN113014456A (zh) 一种监控数据传输***、方法、装置、设备及存储介质
WO2015192497A1 (zh) 通信链路的发送方法、装置及终端
CN112000313A (zh) 请求响应方法、装置、设备及存储介质
CN112650601B (zh) 跨宿主打开小程序的方法、装置、设备、存储介质和程序
CN113364890B (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