CN107544991A - 服务器处理访问请求的方法和装置 - Google Patents
服务器处理访问请求的方法和装置 Download PDFInfo
- Publication number
- CN107544991A CN107544991A CN201610482907.5A CN201610482907A CN107544991A CN 107544991 A CN107544991 A CN 107544991A CN 201610482907 A CN201610482907 A CN 201610482907A CN 107544991 A CN107544991 A CN 107544991A
- Authority
- CN
- China
- Prior art keywords
- parameter
- server
- key
- value pair
- format
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种服务器处理访问请求的方法和装置,该方法包括:在接收到客户端的访问请求时,对访问请求进行解析,得到多个请求参数,多个请求参数构成第一参数格式的参数集合;根据第二服务器的参数格式,将参数集合转换为第二参数格式的键值对数组;根据第二参数格式的键值对数组,向第二服务器获取对应的响应数据,并将响应数据发送至客户端。在本发明中,低版本的第一服务器并非作为一个独立的服务器而使用,而是作为一个客户端和高版本的第二服务器之间的中转站使用,因此在第二服务器升级时并不需要对第一服务器进行升级,实际上不需要对第一服务器进行任何改动,便可以在客户端访问第一服务器时反馈响应数据,因此维护成本比较低。
Description
技术领域
本发明涉及交通技术领域,尤其涉及一种服务器处理访问请求的方法和装置。
背景技术
如今,虽然已经搭建较高版本的服务器,例如,基于go的web服务器,但是对于一些老版本的应用程序仍旧会访问低版本的服务器,例如,基于php的web服务器。目前多采用一种同步升级的方式使低版本的服务器能够对访问请求进行反馈,即高版本的服务器每升一次级,也对低版本的服务器升级一次。但是这种方式需要维护两套服务器,成本比较高。
发明内容
为此,本发明提供一种服务器处理访问请求的方法和装置,可以降低维护成本。
第一方面,本发明提供一种服务器处理访问请求的方法,包括:
在接收到客户端的访问请求时,对所述访问请求进行解析,得到多个请求参数,所述多个请求参数构成第一参数格式的参数集合;
根据第二服务器的参数格式,将所述参数集合转换为第二参数格式的键值对数组,所述第二参数格式的键值对数组中包括对应于所述参数集合中每一个请求参数的第二参数格式的键值对;所述第二服务器的版本高于所述第一服务器的版本;
根据所述第二参数格式的键值对数组,向所述第二服务器获取对应的响应数据,并将所述响应数据发送至所述客户端。
可选的,所述将所述参数集合转换为第二参数格式的键值对数组,包括:
将所述参数集合转换为所述第一参数格式的键值对数组,所述第一参数格式的键值对数组中包括对应于所述参数集合中每一个请求参数的第一参数格式的键值对;
将所述第一参数格式的键值对数组转换为所述第二参数格式的键值对数组。
可选的,所述将所述参数集合转换为所述第一参数格式的键值对数组,包括:
采用php语言的str_split函数将所述参数集合转换为所述第一参数格式的键值对数组。
可选的,所述向所述第二服务器获取对应的响应数据,包括:
采用php语言的file_get函数向所述第二服务器获取对应的响应数据。
可选的,所述将所述响应数据发送至所述客户端之前,所述方法还包括:
对所述响应数据进行打包为json格式数据包。
第二方面,本发明提供一种服务器处理访问请求的装置,所述服务器为第一服务器,所述装置包括:
参数解析模块,用于在接收到客户端的访问请求时,对所述访问请求进行解析,得到多个请求参数,所述多个请求参数构成第一参数格式的参数集合;
格式转换模块,用于根据第二服务器的参数格式,将所述参数集合转换为第二参数格式的键值对数组,所述第二参数格式的键值对数组中包括对应于所述参数集合中每一个请求参数的第二参数格式的键值对;所述第二服务器的版本高于所述第一服务器的版本;
获取发送模块,用于根据所述第二参数格式的键值对数组,向所述第二服务器获取对应的响应数据,并将所述响应数据发送至所述客户端。
可选的,所述格式转换模块包括:
第一转换单元,用于将所述参数集合转换为所述第一参数格式的键值对数组,所述第一参数格式的键值对数组中包括对应于所述参数集合中每一个请求参数的第一参数格式的键值对;
第二转换单元,用于将所述第一参数格式的键值对数组转换为所述第二参数格式的键值对数组。
可选的,所述第一转换单元具体用于:采用php语言的str_split函数将所述参数集合转换为所述第一参数格式的键值对数组。
可选的,所述获取发送模块具体用于:采用php语言的file_get函数向所述第二服务器获取对应的响应数据。
可选的,所述获取发送模块还用于:对所述响应数据进行打包为json格式数据包。
根据以上技术方案,第一服务器将访问请求进行解析,得到各个请求参数,并将各个请求参数组成的集合转换为第二服务器对应的参数格式的键值对数组,根据该数组获取对应的响应数据,最后将该响应数据发送给客户端。可见,低版本的第一服务器并非作为一个独立的服务器而使用,而是作为一个客户端和高版本的第二服务器之间的中转站使用,因此在第二服务器升级时并不需要对第一服务器进行升级,实际上不需要对第一服务器进行任何改动,便可以在客户端访问第一服务器时反馈响应数据,因此维护成本比较低。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1示出了本公开一实施例中服务器处理访问请求的方法的流程示意图;
图2示出了本公开另一实施例中服务器处理访问请求的装置的结构框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开一实施例提供一种服务器处理访问请求的方法,该服务器为第一服务器,该方法由第一服务器执行。如图1所示,该方法包括:
S101、在接收到客户端的访问请求时,对访问请求进行解析,得到多个请求参数,多个请求参数构成第一参数格式的参数集合;
其中,第一服务器为版本比较低的服务器,例如基于php的web服务器。
其中,请求参数,是指包含各个请求信息的参数,例如包括访问请求的类型、请求者的位置、请求访问的内容等参数,通过各个请求参数可以得知请求者的访问需求。
可理解的是,不同版本的服务器解析到的参数具有不同的格式,第一参数格式是指第一服务器解析后得到的参数的格式。
S102、根据第二服务器的参数格式,将参数集合转换为第二参数格式的键值对数组,第二参数格式的键值对数组中包括对应于参数集合中每一个请求参数的第二参数格式的键值对;第二服务器的版本高于第一服务器的版本;
可理解的是,第二参数格式是指第二服务器对应的参数格式。
其中,键值对中的键是指请求参数对应的编号,值是指请求参数的内容所对应的数据;键值对数组则是各个键值对组成的一个数组,各个键值对之间可以采用连接符连接,例如&。
其中,第二服务器为版本比较高的服务器,例如,基于go的web服务器。
在具体实施时,可以直接将参数集合转换为第二参数格式的键值对数组,也可以先将参数集合转换为第一参数格式的键值对数组,然后再将第一参数格式的键值对数组转换为第二参数格式的键值对数组。具体过程为:
S1021、将参数集合转换为第一参数格式的键值对数组,第一参数格式的键值对数组中包括对应于参数集合中每一个请求参数的第一参数格式的键值对;
在具体实施时,若第一服务器为基于php的web服务器,则可以采用php语言的str_split函数将参数集合转换为第一参数格式的键值对数组。
S1022、将第一参数格式的键值对数组转换为第二参数格式的键值对数组;
S103、根据第二参数格式的键值对数组,向第二服务器获取对应的响应数据,并将响应数据发送至客户端。
在具体实施时,若第一服务器为基于php的web服务器,则该服务器可以采用php语言的file_get函数向第二服务器获取对应的响应数据。
在具体实施时,还可以在将响应数据发送至客户端之前,对响应数据进行打包,例如打包为json格式的数据包,json格式作为一种轻量级的数据交换格式,完全独立于语言的文本格式,便于数据交换。
本发明提供的服务器处理访问请求的方法中,第一服务器将访问请求进行解析,得到各个请求参数,并将各个请求参数组成的集合转换为第二服务器对应的参数格式的键值对数组,根据该数组获取对应的响应数据,最后将该响应数据发送给客户端。可见,低版本的第一服务器并非作为一个独立的服务器而使用,而是作为一个客户端和高版本的第二服务器之间的中转站使用,因此在第二服务器升级时并不需要对第一服务器进行升级,实际上不需要对第一服务器进行任何改动,便可以在客户端访问第一服务器时反馈响应数据,因此维护成本比较低。
本公开另一实施例提供一种服务器处理访问请求的装置,该装置为第一服务器中的集成有上一实施例中各步骤所对应的代码的装置。如图2所示,该装置200包括:
参数解析模块201,用于在接收到客户端的访问请求时,对访问请求进行解析,得到多个请求参数,多个请求参数构成第一参数格式的参数集合;
其中,第一服务器为版本比较低的服务器,例如基于php的web服务器。
其中,请求参数,是指包含各个请求信息的参数,例如包括访问请求的类型、请求者的位置、请求访问的内容等参数,通过各个请求参数可以得知请求者的访问需求。
可理解的是,不同版本的服务器解析到的参数具有不同的格式,第一参数格式是指第一服务器解析后得到的参数的格式。
格式转换模块202,用于根据第二服务器的参数格式,将参数集合转换为第二参数格式的键值对数组,第二参数格式的键值对数组中包括对应于参数集合中每一个请求参数的第二参数格式的键值对;第二服务器的版本高于第一服务器的版本;
可理解的是,第二参数格式是指第二服务器对应的参数格式。
其中,键值对中的键是指请求参数对应的编号,值是指请求参数的内容所对应的数据;键值对数组则是各个键值对组成的一个数组,各个键值对之间可以采用连接符连接,例如&。
其中,第二服务器为版本比较高的服务器,例如,基于go的web服务器。
在具体实施时,格式转换模块202可以直接将参数集合转换为第二参数格式的键值对数组,也可以先将参数集合转换为第一参数格式的键值对数组,然后再将第一参数格式的键值对数组转换为第二参数格式的键值对数组。具体的,格式转换模块202包括:
第一转换单元,用于将参数集合转换为第一参数格式的键值对数组,第一参数格式的键值对数组中包括对应于参数集合中每一个请求参数的第一参数格式的键值对;
在具体实施时,若第一服务器为基于php的web服务器,则第一转换单元可以采用php语言的str_split函数将参数集合转换为第一参数格式的键值对数组。
第二转换单元,用于将第一参数格式的键值对数组转换为第二参数格式的键值对数组。
获取发送模块203,用于根据第二参数格式的键值对数组,向第二服务器获取对应的响应数据,并将响应数据发送至客户端。
在具体实施时,若第一服务器为基于php的web服务器,则该服务器可以采用php语言的file_get函数向第二服务器获取对应的响应数据。
在具体实施时,获取发送模块203还可以在将响应数据发送至客户端之前,还用于对响应数据进行打包,例如打包为json格式的数据包,json格式作为一种轻量级的数据交换格式,完全独立于语言的文本格式,便于数据交换。
本发明提供的服务器处理访问请求的装置中,参数解析模块将访问请求进行解析,得到各个请求参数,格式转换模块并将各个请求参数组成的集合转换为第二服务器对应的参数格式的键值对数组,获取发送模块根据该数组获取对应的响应数据,并将该响应数据发送给客户端。可见,低版本的第一服务器并非作为一个独立的服务器而使用,而是作为一个客户端和高版本的第二服务器之间的中转站使用,因此在第二服务器升级时并不需要对第一服务器进行升级,实际上不需要对第一服务器进行任何改动,便可以在客户端访问第一服务器时反馈响应数据,因此维护成本比较低。
本领域普通技术人员可以理解:实现上述方法实施例的全部或者部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤。
本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种服务器处理访问请求的方法,其特征在于,所述服务器为第一服务器,所述方法包括:
在接收到客户端的访问请求时,对所述访问请求进行解析,得到多个请求参数,所述多个请求参数构成第一参数格式的参数集合;
根据第二服务器的参数格式,将所述参数集合转换为第二参数格式的键值对数组,所述第二参数格式的键值对数组中包括对应于所述参数集合中每一个请求参数的第二参数格式的键值对;所述第二服务器的版本高于所述第一服务器的版本;
根据所述第二参数格式的键值对数组,向所述第二服务器获取对应的响应数据,并将所述响应数据发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述将所述参数集合转换为第二参数格式的键值对数组,包括:
将所述参数集合转换为所述第一参数格式的键值对数组,所述第一参数格式的键值对数组中包括对应于所述参数集合中每一个请求参数的第一参数格式的键值对;
将所述第一参数格式的键值对数组转换为所述第二参数格式的键值对数组。
3.根据权利要求2所述的方法,其特征在于,所述将所述参数集合转换为所述第一参数格式的键值对数组,包括:
采用php语言的str_split函数将所述参数集合转换为所述第一参数格式的键值对数组。
4.根据权利要求1所述的方法,其特征在于,所述向所述第二服务器获取对应的响应数据,包括:
采用php语言的file_get函数向所述第二服务器获取对应的响应数据。
5.根据权利要求1所述的方法,其特征在于,所述将所述响应数据发送至所述客户端之前,所述方法还包括:
对所述响应数据进行打包为json格式数据包。
6.一种服务器处理访问请求的装置,其特征在于,所述服务器为第一服务器,所述装置包括:
参数解析模块,用于在接收到客户端的访问请求时,对所述访问请求进行解析,得到多个请求参数,所述多个请求参数构成第一参数格式的参数集合;
格式转换模块,用于根据第二服务器的参数格式,将所述参数集合转换为第二参数格式的键值对数组,所述第二参数格式的键值对数组中包括对应于所述参数集合中每一个请求参数的第二参数格式的键值对;所述第二服务器的版本高于所述第一服务器的版本;
获取发送模块,用于根据所述第二参数格式的键值对数组,向所述第二服务器获取对应的响应数据,并将所述响应数据发送至所述客户端。
7.根据权利要求6所述的装置,其特征在于,所述格式转换模块包括:
第一转换单元,用于将所述参数集合转换为所述第一参数格式的键值对数组,所述第一参数格式的键值对数组中包括对应于所述参数集合中每一个请求参数的第一参数格式的键值对;
第二转换单元,用于将所述第一参数格式的键值对数组转换为所述第二参数格式的键值对数组。
8.根据权利要求7所述的系统,其特征在于,所述第一转换单元具体用于:采用php语言的str_split函数将所述参数集合转换为所述第一参数格式的键值对数组。
9.根据权利要求6所述的系统,其特征在于,所述获取发送模块具体用于:采用php语言的file_get函数向所述第二服务器获取对应的响应数据。
10.根据权利要求6所述的系统,其特征在于,所述获取发送模块还用于:对所述响应数据进行打包为json格式数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610482907.5A CN107544991B (zh) | 2016-06-23 | 2016-06-23 | 服务器处理访问请求的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610482907.5A CN107544991B (zh) | 2016-06-23 | 2016-06-23 | 服务器处理访问请求的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544991A true CN107544991A (zh) | 2018-01-05 |
CN107544991B CN107544991B (zh) | 2020-10-23 |
Family
ID=60961389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610482907.5A Active CN107544991B (zh) | 2016-06-23 | 2016-06-23 | 服务器处理访问请求的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107544991B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949419A (zh) * | 2020-07-17 | 2020-11-17 | 上海淇馥信息技术有限公司 | 一种跨环境资源获取方法、装置和电子设备 |
CN112565337A (zh) * | 2020-11-06 | 2021-03-26 | 北京奇艺世纪科技有限公司 | 请求传输方法、服务端、客户端、系统及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080281969A1 (en) * | 2000-12-15 | 2008-11-13 | Horton John C | Controlling access to versions of application software by a server, based on site ID |
CN102231880A (zh) * | 2011-07-04 | 2011-11-02 | 中兴通讯股份有限公司 | 版本升级方法、终端及版本升级系统 |
CN102255752A (zh) * | 2011-06-30 | 2011-11-23 | 北京新媒传信科技有限公司 | 一种服务器集群的配置管理系统和方法 |
CN103763354A (zh) * | 2014-01-06 | 2014-04-30 | 北京奇虎科技有限公司 | 一种升级数据下载的方法及装置 |
CN105100232A (zh) * | 2015-07-14 | 2015-11-25 | 焦点科技股份有限公司 | 一种不中断服务的服务端程序平滑升级的方法 |
-
2016
- 2016-06-23 CN CN201610482907.5A patent/CN107544991B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080281969A1 (en) * | 2000-12-15 | 2008-11-13 | Horton John C | Controlling access to versions of application software by a server, based on site ID |
CN102255752A (zh) * | 2011-06-30 | 2011-11-23 | 北京新媒传信科技有限公司 | 一种服务器集群的配置管理系统和方法 |
CN102231880A (zh) * | 2011-07-04 | 2011-11-02 | 中兴通讯股份有限公司 | 版本升级方法、终端及版本升级系统 |
CN103763354A (zh) * | 2014-01-06 | 2014-04-30 | 北京奇虎科技有限公司 | 一种升级数据下载的方法及装置 |
CN105100232A (zh) * | 2015-07-14 | 2015-11-25 | 焦点科技股份有限公司 | 一种不中断服务的服务端程序平滑升级的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949419A (zh) * | 2020-07-17 | 2020-11-17 | 上海淇馥信息技术有限公司 | 一种跨环境资源获取方法、装置和电子设备 |
CN112565337A (zh) * | 2020-11-06 | 2021-03-26 | 北京奇艺世纪科技有限公司 | 请求传输方法、服务端、客户端、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107544991B (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843828B (zh) | 界面显示、加载方法及装置 | |
CN108491475A (zh) | 数据快速批量导入方法、电子装置及计算机可读存储介质 | |
US20150120772A1 (en) | Method and system for information push | |
EP3161610B1 (en) | Optimized browser rendering process | |
CN102819766A (zh) | 一种表单校验方法、装置及企业系统 | |
CN108040060A (zh) | 跨网闸通信的方法及装置 | |
US20170024396A1 (en) | Determining application deployment recommendations | |
CN106055337A (zh) | 一种界面生成方法及装置 | |
CN107861736A (zh) | 补丁生成和更新方法及装置、电子设备、存储介质 | |
CN103578032A (zh) | 数据处理系统 | |
CN105072139A (zh) | 推荐方法和装置 | |
CN105786636B (zh) | 一种系统修复方法及装置 | |
CN107544991A (zh) | 服务器处理访问请求的方法和装置 | |
CN109032920A (zh) | 一种用于对协议接口进行测试的方法及装置 | |
CN102609864B (zh) | 一种广告发布方法、装置、服务器和系统 | |
CN109218447A (zh) | 媒体文件分发方法及文件分发平台 | |
CN109412930A (zh) | 一种im落地页的跳转方法、装置、存储介质及终端 | |
Josbert et al. | Industrial networks driven by SDN technology for dynamic fast resilience | |
CN103514769A (zh) | 智能学习线路设计系统及方法 | |
CN105338104B (zh) | 业务请求响应方法、解析方法和系统 | |
CN106790635A (zh) | cookie信息管理方法及服务器 | |
CN103473106A (zh) | 一种页面生成的方法及系统 | |
US20160188386A1 (en) | Method and system for communicating information between a mobile device and an enterprise system | |
DE102014114829B4 (de) | Intelligenter Maschenobjekt-Listenaufbau | |
CN102685109A (zh) | 一种三网融合下的游戏cp接入方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201208 Address after: 100193, No. 34, building No. 8, West flourishing road, Haidian District, Beijing Patentee after: BEIJING DIDI INFINITY TECHNOLOGY AND DEVELOPMENT Co.,Ltd. Address before: Office building D comprehensive service district Nangang Industrial Zone 300480 in Tianjin Binhai Economic and Technological Development Zone of Tianjin City 2 219-23 room Patentee before: Didi (China) Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |