CN110365734B - 服务端接口异常时的请求处理方法及装置 - Google Patents
服务端接口异常时的请求处理方法及装置 Download PDFInfo
- Publication number
- CN110365734B CN110365734B CN201910431079.6A CN201910431079A CN110365734B CN 110365734 B CN110365734 B CN 110365734B CN 201910431079 A CN201910431079 A CN 201910431079A CN 110365734 B CN110365734 B CN 110365734B
- Authority
- CN
- China
- Prior art keywords
- server
- client
- interface
- request
- network
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开揭示了一种服务端接口异常时的请求处理方法及装置,包括:在客户端启动时,接收通过代理服务端的网络框架所下发的静态配置文件;根据客户端所生成的网络请求,将网络请求中的异常接口替换为静态配置文件中为异常接口所配的替换接口;将替换后的网络请求发送至代理服务端的网络框架,以通过网络框架对替换后的网络请求进行处理,并向客户端返回网络请求对应的请求数据。从而即使在服务端因接口异常进行修复期间,客户端用户任可以正常使用客户端,不影响客户端的正常使用。
Description
技术领域
本公开涉及计算机技术领域,特别涉及一种服务端接口异常时的请求处理方法及装置。
背景技术
当服务端接口异常时,例如接口的请求方式错误、接口参数错误等,需要对服务端的接口进行修复。对服务端所进行的修复即进行服务端的重新部署,相当于重新启动服务端,所以在服务端重新部署期间,服务端不能对客户端所发起的网络请求进行响应,从而客户端不能通过网络请求获得服务端的数据库系统中的请求数据。而且,一般服务端重新部署的时间较长,因而在服务端重新部署期间大大影响了客户端用户的正常使用。
由此可知,如何在服务端因接口异常进行修复期间,仍然保证客户端用户的正常使用客户端的问题还有待解决。
发明内容
为了解决相关技术中存在的问题,本公开提供了一种服务端接口异常时的请求处理方法及装置。
第一方面,一种服务端接口异常时的请求处理方法,应用于客户端,包括:
在客户端启动时,接收通过代理服务端的网络框架所下发的静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到;
根据所述客户端所生成的网络请求,将所述网络请求中的异常接口替换为所述静态配置文件中为所述异常接口所配的替换接口;
将替换后的所述网络请求发送至所述代理服务端的网络框架,以通过所述网络框架对替换后的所述网络请求进行处理,并向所述客户端返回所述网络请求对应的请求数据。
第二方面,一种服务端接口异常时的请求处理方法,应用于代理服务端,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述方法包括:
在客户端启动时,通过代理服务端的网络框架向所述客户端下发静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到;
接收所述客户端发送的网络请求,所述网络请求是所述客户端将生成的网络请求中所包括的异常接口替换为所述静态配置文件中为所述异常接口所配置的替换接口所得到的;
通过所述网络框架对所述网络请求进行处理,并向所述客户端返回所述网络请求所对应的请求数据。
第三方面,一种服务端接口异常时的请求处理装置,应用于客户端,所述装置包括:
静态配置文件接收模块,被配置为:在客户端启动时,接收通过代理服务端的网络框架所下发的静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到;
替换模块,被配置为:根据所述客户端所生成的网络请求,将所述网络请求中的异常接口替换为所述静态配置文件中为所述异常接口所配的替换接口;
网络请求发送模块,被配置为:将替换后的所述网络请求发送至所述代理服务端的网络框架,以通过所述网络框架对替换后的所述网络请求进行处理,并向所述客户端返回所述网络请求对应的请求数据。
在一实施例中,替换模块包括:
接口确定单元,被配置为:根据所述客户端所生成的网络请求,确定所述网络请求中所包括的接口;
异常接口确定单元,被配置为:在所述静态配置文件进行接口查找,若查找到所述接口,则确定所述接口为异常接口;
替换单元,被配置为:通过所述配置文件中为所述异常接口所配置的替换接口替换所述网络请求中异常接口。
在一实施例中,所述装置还包括:
修改模块,被配置为:将所述客户端所存储的所述异常接口修改为所述替换接口。
第四方面,一种服务端接口异常时的请求处理装置,应用于代理服务端,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述装置包括:
静态配置文件下发模块,被配置为:在客户端启动时,通过代理服务端的网络框架向所述客户端下发静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到;
网络请求接收模块,被配置为:接收所述客户端发送的网络请求,所述网络请求是所述客户端将生成的网络请求中所包括的异常接口替换为所述静态配置文件中为所述异常接口所配置的替换接口所得到的;
请求处理模块,被配置为:通过所述网络框架对所述网络请求进行处理,并向所述客户端返回所述网络请求所对应的请求数据。
在一实施例中,请求处理模块包括:
数据请求生成单元,被配置为:通过所述网络框架根据所述网络请求生成数据请求;
数据请求发送单元,被配置为:将所述数据请求发送至所述服务端所对应的数据库系统;
请求数据接收单元,被配置为:接收所述数据系统响应于所述数据请求所返回的请求数据;
请求数据下发单元,被配置为:将所述请求数据下发至所述客户端。
在一实施例中,所述装置还包括:
监控模块,被配置为:对所述服务端的运行状态进行监控;
转发模块,被配置为:若监控到所述服务端正常运行,则将所接收到的所述网络请求转发至所述服务端,由所述服务端对所述网络请求进行处理并向所述客户端返回所述网络请求所对应的请求数据。
第五方面,一种服务端接口异常时的请求处理装置,包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的方法。
第六方面,一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过本公开的技术方案,在服务端因接口异常进行修复期间,可以通过所配置的代理服务端的网络框架以及在代理服务端所配置的静态配置文件进行对客户端所发起的网络请求进行处理,实现通过代理服务端为客户端提供服务。从而即使在服务端因接口异常进行修复期间,客户端用户任可以正常使用客户端,不影响客户端的正常使用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的本公开所涉及的实施环境的示意图;
图2是根据一示例性实施例示出的一种终端设备的框图;
图3是根据一示例性实施例示出的一种服务器的框图;
图4是根据一示例性实施例示出的一种服务端接口异常时的请求处理方法的流程图;
图5是步骤S130在一实施例中的流程图;
图6是根据另一示例性实施例示出的一种服务端接口异常时的请求处理方法的流程图;
图7是步骤S650在一实施例中的流程图;
图8是根据另一示例性实施例示出的一种服务端接口异常时的请求处理方法的流程图;
图9是根据一示例性实施例示出的一种服务端接口异常时的请求处理装置的框图;
图10是根据另一示例性实施例示出的一种服务端接口异常时的请求处理装置的框图;
图11是根据另一示例性实施例示出的一种服务端接口异常时的请求处理装置的框图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述,这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的本公开所涉及的实施环境的示意图。该实施环境包括:至少一终端100(图中仅示出两个终端)和代理服务端400,以及用于进行数据存储的数据库系统500。其中终端100通过所运行的客户端与代理服务端400进行交互,从而,代理服务端400可以接收客户端发起的网络请求,并根据所接收到的网络请求从数据库系统500中获取网络请求所对应的请求数据返回给客户端。在本公开的技术方案中,仅在服务端进行异常接口修复期间,通过代理服务端400为客户端提供服务(即接收客户端发起的网络请求,并向客户端下发网络请求所对应的请求数据),而在服务端正常运行期间,由服务端为客户端提供服务。
其中终端100可以是智能手机、平板电脑、笔记本电脑、台式电脑等可供客户端运行的电子设备,在此不进行具体限定。代理服务端400可以是一台服务器,也可以是多台服务器构成的服务器集群,还可以是云服务器,在此不进行具体限定。数据库系统用于存储数据,在服务端正常运行期间时,通过数据库系统与服务端之间的通信连接,数据库系统为服务端提供数据。而在服务端进行异常接口修复期间,代理服务端400与数据库系统建立了通信连接,从而,代理服务端400可以从数据库系统中获取客户端所需要的数据(即网络请求对应的请求数据)。
图2是根据一示例性实施例示出的一种终端设备300的框图。例如,终端设备300可以是图1所示实施环境中的终端100,从而与代理服务端400进行交互,执行下述客户端所执行的服务端接口异常时的请求处理方法。终端设备300比如可以是智能手机、平板电脑等可供客户端运行的电子设备。
参照图2,终端设备300可以包括以下一个或多个组件:处理组件302,存储器304,电源组件306,多媒体组件308,音频组件310,传感器组件314以及通信组件316。
处理组件302通常控制终端设备300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件302可以包括一个或多个处理器318来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理组件302可以包括多媒体模块,以方便多媒体组件308和处理组件302之间的交互。
存储器304被配置为存储各种类型的数据以支持在终端设备300的操作。这些数据的示例包括用于在终端设备300上操作的任何应用程序或方法的指令。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。存储器304中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器318执行,以完成下述任一实施例所示方法中的全部或者部分步骤。
电源组件306为终端设备300的各种组件提供电力。电源组件306可以包括电源管理系统,一个或多个电源,及其他与为终端设备300生成、管理和分配电力相关联的组件。
多媒体组件308包括在所述终端设备300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display,简称LCD)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(Organic Light Emitting Display,简称OLED)。
音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(Microphone,简称MIC),当终端设备300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。
传感器组件314包括一个或多个传感器,用于为终端设备300提供各个方面的状态评估。例如,传感器组件314可以检测到终端设备300的打开/关闭状态,组件的相对定位,传感器组件314还可以检测终端设备300或终端设备300一个组件的位置改变以及终端设备300的温度变化。在一些实施例中,该传感器组件314还可以包括磁传感器,压力传感器或温度传感器。
通信组件316被配置为便于终端设备300和其他设备之间有线或无线方式的通信。终端设备300可以接入基于通信标准的无线网络,如WiFi(WIreless-Fidelity,无线保真)。在一个示例性实施例中,通信组件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件316还包括近场通信(NearField Communication,简称NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(Radio Frequency Identification,简称RFID)技术,红外数据协会(Infrared DataAssociation,简称IrDA)技术,超宽带(Ultra Wideband,简称UWB)技术,蓝牙技术和其他技术来实现。
在示例性实施例中,终端设备300可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。
图3是根据一示例性实施例示出的一种服务器200的框图。服务器200可以作为图1实施例环境中的代理服务端400,与终端100以及数据库系统500进行交互,接收终端100中所运行的客户端所发送的网络请求,并从数据库系统500中获取网络请求所对应的请求数据返回给客户端。
需要说明的是,该服务器200只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该装置也不能解释为需要依赖于或者必须具有图3中示出的示例性的服务器200中的一个或者多个组件。
该服务器200的硬件结构可因配置或者性能的不同而产生较大的差异,如图3所示,服务器200包括:电源210、接口230、至少一存储器250、以及至少一处理器(CPU,CentralProcessing Units)270。
其中,电源210用于为服务器200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统251、应用程序253及数据255等,存储方式可以是短暂存储或者永久存储。其中,操作系统251用于管理与控制服务器200上的各硬件设备以及应用程序253,以实现处理器270对海量数据255的计算与处理,其可以是Windows ServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM等。应用程序253是基于操作系统251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对服务器200的一系列计算机可读指令。数据255可以是存储于磁盘中的照片、图片等。
处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储器250通信,用于运算与处理存储器250中的海量数据255。
如上面所详细描述的,适用本发明的服务器200将通过处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成软件测试的方法。
此外,通过硬件电路或者硬件电路结合软件也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
图4是根据一示例性实施例示出的一种服务端接口异常时的请求处理方法的流程图。该方法用于图1所示实施环境的终端100中,由终端100所运行的客户端执行,如图4所示,包括以下步骤:
步骤S110,在客户端启动时,接收通过代理服务端的网络框架所下发的静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到。
接口即API(Application Program Interface)接口,又称API函数,客户端程序通过调用服务端所提供的API函数而使服务端去执行对应的命令。
其中,为了保证客户端可以根据所调用的接口获得对应的请求数据,一方面,客户端必须按照与服务端所提供的接口发起网络请求,另一方面,服务端所提供的接口正确,即服务端可以对提供给客户端的接口进行对应处理,即服务端所配置的接口正确。
客户端为了通过调用接口获取对应的请求数据之前,服务端根据所提供的接口将接口文档下发到客户端,接口文档中定义了服务端所提供的供客户端调用的每一接口的详细信息,包括请求的域名、URL、接口参数、请求方式、响应等,以使客户端按照接口文档中所指示的接口发起网络请求,进而获得对应的请求数据。
在本公开的技术方案中,服务端接口异常所指的是服务端所配置的接口异常(例如接口配置错误,接口进行了修改),从而,由于服务端所配置的接口异常,即使客户端按照接口文档中所指示的接口向服务端发起网络请求,服务端不能对应地进行处理,从而客户端不能从服务端获取到网络请求对应的请求数据。
服务端的接口异常包括接口URL错误、接口参数错误、请求方式错误、接口返回错误等。
为了保证服务端可以正常的为客户端提供服务,需要对服务端进行修复,即将服务端中异常接口相关的代码数据进行修改。对服务端所进行的修复即进行服务端的重新部署,相当于重新启动服务端,所以在服务端重新部署期间,服务端不能对客户端所发起的网络请求进行响应,从而客户端不能通过网络请求获得服务端的数据库系统中的请求数据。而且,一般服务端重新部署的时间较长,因而在服务端重新部署期间大大影响了客户端用户的正常使用。因而需要一种方法,即使在服务端接口异常进行修复期间,仍然可以为客户端提供服务的方法,即对客户端所发起的网络请求进行正常处理,并向客户端下发网络请求所对应的请求数据。
从而,为了保证在服务端因接口异常所进行修复期间,对客户端所发起的网络请求进行正常处理,在本公开的技术方案中,配置了代理服务端,一方面,由代理服务端在服务端进行异常接口修复期间对客户端所发起的网络请求进行处理,即为客户端提供服务;另一方面,在代理服务端为客户端提供服务的期间,进行服务端的异常接口的修复。
其中,所配置的代理服务端的服务器是区别于原服务端的服务器的。为了保证所配置的代理服务端可以对客户端发起的网络请求进行正常处理,一方面,需要代理服务端按照服务端与客户端所进行的通信协议与客户端通信;另一方面,需要将代理服务端的IP地址配置为服务端的IP地址。从而在代理服务端配置了根据服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到网络框架。
框架定义了一类应用系统(或子系统)的整体结构。框架将应用系统划分为类和对象,定义类和对象的责任,类和对象如何互相协作,以及对象之间的控制线程。从而,在应用开发人员可以基于框架进行应用开发,即不需要关注整体结构中例如类和对象之间相互协作的开发,而只须关注于特定的应用系统特有部分。从而实现框架的设计复用。
在本公开的技术方案中,基于框架的复用的特点,采用第三方已开发的框架进行二次封装,从而通过二次封装所得到的网络框架用于进行客户端与代理服务端之间的交互。
根据服务端与客户端的通信协议和服务端的IP地址进行框架的二次封装,从而通过二次封装所得到的网络框架代替原服务端所部署的系统程序来为客户端提供服务。服务端与客户端之间的通信协议指示了客户端基于接口发起请求的方式、请求参数、响应等方式,因此为了需要根据服务端与客户端之间的通信协议进行网络框架的二次封装,使得封装得到的网络框架可以适用于代理服务端与客户端进行通信。另一方面,由于在服务端进行异常接口修复期间,由代理服务端代替服务端为客户端提供,因而,需要在框架中将代理服务端的I P地址配置为服务端的网络地址,从而,代理服务端可以接收到客户端所发送的网络请求。
其中所采用的第三方框架可以是AFNetworking、YTKNetwork框架等,在此不进行具体限定。
在一实施例中,采用YTKNetwork框架进行二次封装,在YTKNetwork中,通过参数baseurl来设置服务端地址,即将代理服务端的地址设定为服务端的地址,从而,客户端所发起的网络请求均会默认使用所设定的地址,并按照服务端与客户端之间的通信协议进行封装,定义代理服务端与客户端之间的通信方式,从而,在完成封装之后,客户端所有的网络请求都是YTKNetwork框架的一个base的基础类,其中包括了请求的域名、接口url、接口参数、请求方式响应等完整的内容,从而,通过封装得到的网络框架可以对客户端所发起的请求进行处理。
静态配置文件是根据服务端中所存在的异常接口配置得到的,其中包括服务端所存在的异常接口,以及替换异常接口的替换接口,从而,当客户端所生成的网路请求中包括静态配置文件中的异常接口时,则将网络请求中的该异常接口替换为替换接口,并将进行接口替换后的网络请求发送至代理服务端,从而,代理服务端可以对所发起的网路请求进行正常处理,并将网络请求所对应的请求数据返回给客户端。
由于在服务端接口异常时,由于服务端所配置的接口异常,因而,如果客户端按照服务端所下发的接口文件中所定义的接口发送网络请求,那么代理服务端是不能准确地进行网路请求的处理,那么客户端也获取不到对应的请求数据。从而,为了保证代理服务器正确地对客户端所发起包括接口的网络请求进行正常处理,将网络请求中的异常接口替换为正确的接口,即为异常接口所配置的替换接口。
为了保证代理服务端所接收到的网络请求中所包括的接口为正确的接口,因而,预先将为服务端的异常接口所配置的静态配置文件上传至代理服务端并存储,并设定在客户端启动时,将所存储的静态配置文件下发至客户端,由客户端进行存储。进而,客户端根据所接收到的静态配置文件进行网络请求的发送。
步骤S130,根据所述客户端所生成的网络请求,将所述网络请求中的异常接口替换为所述静态配置文件中为所述异常接口所配的替换接口。
对于客户端而言,客户端生成网络请求之后,再发送网络请求。在本公开的技术方案中,在客户端生成网络请求后,将网络请求中的异常接口替换为静态配置文件中为该异常接口所配置的替换接口。
在一实施例中,如图5所示,步骤S130包括:
步骤S131,根据所述客户端所生成的网络请求,确定所述网络请求中所包括的接口。
步骤S132,在所述静态配置文件进行接口查找,若查找到所述接口,则确定所述接口为异常接口。
步骤S133,通过所述配置文件中为所述异常接口所配置的替换接口替换所述网络请求中异常接口。
客户端为了获得与服务端所关联的数据库系统中的请求数据,需要基于服务端所提供的接口生成网络请求并发送。从而代理服务端或者服务端可以根据网络请求中的接口对应的获取到请求数据。
静态配置文件中可以同时为多个异常接口配置替换接口。也即是说,静态配置文件一方面指示了服务端所提供的接口中,哪些接口为异常接口;另一方面,静态配置文件为每一异常接口配置了对应的替换接口。从而,客户端在生成网络请求后可以通过步骤S132-133将网络请求中异常接口替换为替换接口。
步骤S150,将替换后的所述网络请求发送至所述代理服务端的网络框架,以通过所述网络框架对替换后的所述网络请求进行处理,并向所述客户端返回所述网络请求对应的请求数据。
对于服务端而言,服务端仅负责请求的处理、响应等,而客户端所需要的数据是配置与数据库系统中的,从而网络框架向客户端所返回的请求数据即是从数据库系统中获得的。
由于已经将网络请求中的异常接口进行了替换,从而,代理服务端的网络框架可以对网络请求进行处理,并对应地从数据库系统中获取到网络请求所对应的请求数据。
在客户端为了获得与服务端所关联的数据库系统中的数据时,基于服务端所提供的接口生成并发送网络请求,也即是说,客户端基于服务端的接口所发起的网络请求是为了从数据库系统中获得对应的数据,即网络请求是与请求数据相对应的。
通过本公开的技术方案,在服务端因接口异常进行修复期间,可以通过所配置的代理服务端的网络框架以及在代理服务端所配置的静态配置文件进行对客户端所发起的网络请求进行处理,实现通过代理服务端为客户端提供服务。从而即使在服务端因接口异常进行修复期间,客户端用户任可以正常使用客户端,不影响客户端的正常使用。
在一实施例中,步骤S130之后,所述方法还包括:
将所述客户端所存储的所述异常接口修改为所述替换接口。
客户端基于服务端所下发的接口文档生成包括接口的网络请求,也即是说,客户端存储了服务端所提供的接口。在该实施例中,当客户端确定某一接口为异常接口后,将客户端所存储的该异常接口修改为替换接口。从而,当客户端在基于同一接口再次生成的网络请求时,不需要再进行异常接口的替换,而可以直接将生成的网络请求发送至代理服务端或者完成异常接口修复的服务端。
图6是根据一示例性实施例示出的一种服务端接口异常时的请求处理方法的流程图。该方法用于图1所示实施环境的代理服务端400中,由代理服务端400执行,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,如图6所示,包括以下步骤:
步骤S610,在客户端启动时,通过代理服务端的网络框架向所述客户端下发静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到。
步骤S630,接收所述客户端发送的网络请求,所述网络请求是所述客户端将生成的网络请求中所包括的异常接口替换为所述静态配置文件中为所述异常接口所配置的替换接口所得到的。
步骤S650,通过所述网络框架对所述网络请求进行处理,并向所述客户端返回所述网络请求所对应的请求数据。
在一实施例中,如图7所示,步骤S650包括:
步骤S651,通过所述网络框架根据所述网络请求生成数据请求。
步骤S652,将所述数据请求发送至所述服务端所对应的数据库系统。
步骤S653,接收所述数据系统响应于所述数据请求所返回的请求数据。
步骤S654,将所述请求数据下发至所述客户端。
服务端提供给客户端的接口即是为了客户端根据网络请求中的接口对应获得相应的请求数据。
在本实施例中,请求数据存储于数据库系统中,从而,为了从数据库系统中获取到网络请求所对应的请求数据,从而,根据网络请求生成数据请求。所生成的数据请求即用于向数据库系统指示所需要查找的数据,从而,数据库系统可以直接根据所接收到的数据请求进行对应数据的查找,并返回至代理服务端,由服务端将所获得的数据即请求数据下发至客户端。
在服务端处于运行状态时,服务端是与数据库系统彼此关联的,即建立了通信连接。而在本实施例中,为了保证代理服务端也可以获取到数据库系统中的数据,从而在步骤S652之前,建立了代理服务端与数据库系统中的通信连接,例如通过为代理服务端所配置的IP地址建立代理服务端与数据库系统的通信连接。
在一实施例中,如图8所示,所述方法还包括:
步骤S810,对所述服务端的运行状态进行监控。
步骤S820,若监控到所述服务端正常运行,则将所接收到的所述网络请求转发至所述服务端,由所述服务端对所述网络请求进行处理并向所述客户端返回所述网络请求所对应的请求数据。
其中,所进行的服务端的运行状态监控即是监控服务端是否已经完成了异常接口的修复,如果已经完成,则由服务端继续为客户端提供服务。其中所进行的运行状态监控,可以是通过代理服务端向服务端发送的监控信号,如果接收到服务端响应于监控信号所返回的指示运行状态正常的信号,即视为服务端已经完成了异常接口的修复。
当监控到服务端已经完成修复,则将代理服务端所接收到且暂未处理的网络请求转发至服务端,由服务端继续进行处理,而且控制代理服务端停止接收网络请求,而由服务端接收网络请求,并对应进行处理。
下述为本公开装置实施例,可以用于执行本公开上述终端100中的客户端或者代理服务端执行的服务端接口异常时的请求处理方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开服务端接口异常时的请求处理方法实施例。
图9是根据一示例性实施例示出的一种服务端接口异常时的请求处理装置的框图,该装置可以配置于图1所示实施环境的终端100中,执行上述客户端所执行的服务端接口异常时的请求处理方法的全部或者部分步骤。如图9所示,该装置包括但不限于:静态配置文件接收模块110、替换模块130以及网络请求发送模块150。其中
静态配置文件接收模块110,被配置为:在客户端启动时,接收通过代理服务端的网络框架所下发的静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到。
替换模块130,该模块与静态配置文件接收模块110相连,被配置为:根据所述客户端所生成的网络请求,将所述网络请求中的异常接口替换为所述静态配置文件中为所述异常接口所配的替换接口。
网络请求发送模块150,该模块与替换模块130相连,被配置为:将替换后的所述网络请求发送至所述代理服务端的网络框架,以通过所述网络框架对替换后的所述网络请求进行处理,并向所述客户端返回所述网络请求对应的请求数据。
上述装置中各个模块的功能和作用的实现过程具体详见上述服务端接口异常时的请求方法中对应步骤的实现过程,在此不再赘述。
可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的处理器318所执行的存储在存储器304中的程序。
在一实施例中,替换模块包括:
接口确定单元,被配置为:根据所述客户端所生成的网络请求,确定所述网络请求中所包括的接口。
异常接口确定单元,被配置为:在所述静态配置文件进行接口查找,若查找到所述接口,则确定所述接口为异常接口。
替换单元,被配置为:通过所述配置文件中为所述异常接口所配置的替换接口替换所述网络请求中异常接口。
在一实施例中,所述装置还包括:
修改模块,被配置为:将所述客户端所存储的所述异常接口修改为所述替换接口。
上述装置中各个模块/单元的功能和作用的实现过程具体详见上述客户端所执行的服务端接口异常时的请求处理方法中对应步骤的实现过程,在此不再赘述。
图10是根据另一示例性实施例示出的一种服务端接口异常时的请求处理装置的框图,该装置可以配置于图1所示实施环境的代理服务端400中,执行上述代理服务端所执行的服务端接口异常时的请求处理方法的全部或者部分步骤,其中,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务。如图10所示,该装置包括但不限于:静态配置文件下发模块610,网络请求接收模块630以及请求处理模块650。其中
静态配置文件下发模块610,被配置为:在客户端启动时,通过代理服务端的网络框架向所述客户端下发静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到。
网络请求接收模块630,该模块与静态配置文件下发模块610相连,被配置为:接收所述客户端发送的网络请求,所述网络请求是所述客户端将生成的网络请求中所包括的异常接口替换为所述静态配置文件中为所述异常接口所配置的替换接口所得到的。
请求处理模块650,该模块与网络请求接收模块630相连,被配置为:通过所述网络框架对所述网络请求进行处理,并向所述客户端返回所述网络请求所对应的请求数据。
上述装置中各个模块的功能和作用的实现过程具体详见上述服务端接口异常时的请求处理方法中对应步骤的实现过程,在此不再赘述。
可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图3的处理器270所执行的存储在存储器250中的程序。
在一实施例中,请求处理模块650包括:
数据请求生成单元,被配置为:通过所述网络框架根据所述网络请求生成数据请求。
数据请求发送单元,被配置为:将所述数据请求发送至所述服务端所对应的数据库系统。
请求数据接收单元,被配置为:接收所述数据系统响应于所述数据请求所返回的请求数据。
请求数据下发单元,被配置为:将所述请求数据下发至所述客户端。
在一实施例中,所述装置还包括:
监控模块,被配置为:对所述服务端的运行状态进行监控;
转发模块,被配置为:若监控到所述服务端正常运行,则将所接收到的所述网络请求转发至所述服务端,由所述服务端对所述网络请求进行处理并向所述客户端返回所述网络请求所对应的请求数据。
上述装置中各个模块的功能和作用的实现过程具体详见上述服务端接口异常时的请求处理方法中对应步骤的实现过程,在此不再赘述。
可选的,本公开还提供一种服务端接口异常时的请求处理装置,该装置可以部署于图1所示的终端100或者代理服务端400中,执行以上任一方法实施例所示的服务端接口异常时的请求处理方法的全部或者部分步骤。如图11所示,服务端接口异常时的请求处理装置包括:
处理器1001;
用于存储处理器1001可执行指令的存储器1002;
其中,可执行指令被处理器1001执行时实现以上任一实施例中的方法。其中可执行指令比如是计算机可读指令,在处理器1001执行时,处理器通过与存储器之间所连接的通信线/总线1003读取存储于存储器中的计算机可读指令。
该实施例中的装置的处理器执行操作的具体方式已经在有关该服务端接口异常时的请求处理装置方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上任一方法实施例中的方法。其中计算机可读存储介质例如包括计算机程序的存储器250,上述指令可由服务器200的处理器270执行以完成上述服务端接口异常时的请求处理方法。
该实施例中的处理器执行操作的具体方式已经在有关该服务端接口异常时的请求处理方法的实施例中执行了详细描述,此处将不做详细阐述说明。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种服务端接口异常时的请求处理方法,应用于客户端,其特征在于,包括:
在客户端启动时,接收通过代理服务端的网络框架所下发的静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到;
所述网络框架包括:
将所述代理服务端的IP地址配置成所述服务端的IP地址,所述代理服务端按照所述服务端与所述客户端所进行的通信协议与所述客户端通信;
根据所述客户端所生成的网络请求,将所述网络请求中的异常接口替换为所述静态配置文件中为所述异常接口所配置的替换接口;
将替换后的所述网络请求发送至所述代理服务端的网络框架,以通过所述网络框架对替换后的所述网络请求进行处理,并向所述客户端返回所述网络请求对应的请求数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述客户端所生成的网络请求,将所述网络请求中的异常接口替换为所述静态配置文件中为所述异常接口所配的替换接口,包括:
根据所述客户端所生成的网络请求,确定所述网络请求中所包括的接口;
在所述静态配置文件进行接口查找,若查找到所述接口,则确定所述接口为异常接口;
通过所述配置文件中为所述异常接口所配置的替换接口替换所述网络请求中异常接口。
3.根据权利要求1所述的方法,其特征在于,所述根据所述客户端所生成的网络请求,将所述网络请求中的异常接口替换为所述静态配置文件中为所述异常接口所配的替换接口之后,所述方法还包括:
将所述客户端所存储的所述异常接口修改为所述替换接口。
4.一种服务端接口异常时的请求处理方法,应用于代理服务端,其特征在于,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述方法包括:
在客户端启动时,通过代理服务端的网络框架向所述客户端下发静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到;
所述网络框架包括:
将所述代理服务端的IP地址配置成所述服务端的IP地址,所述代理服务端按照所述服务端与所述客户端所进行的通信协议与所述客户端通信;
接收所述客户端发送的网络请求,所述网络请求是所述客户端将生成的网络请求中所包括的异常接口替换为所述静态配置文件中为所述异常接口所配置的替换接口所得到的;
通过所述网络框架对所述网络请求进行处理,并向所述客户端返回所述网络请求所对应的请求数据。
5.根据权利要求4所述的方法,其特征在于,所述通过所述网络框架对所述网络请求进行处理,并向所述客户端返回所述网络请求所对应的请求数据,包括:
通过所述网络框架根据所述网络请求生成数据请求;
将所述数据请求发送至所述服务端所对应的数据库系统;
接收所述数据系统响应于所述数据请求所返回的请求数据;
将所述请求数据下发至所述客户端。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对所述服务端的运行状态进行监控;
若监控到所述服务端正常运行,则将所接收到的所述网络请求转发至所述服务端,由所述服务端对所述网络请求进行处理并向所述客户端返回所述网络请求所对应的请求数据。
7.一种服务端接口异常时的请求处理装置,应用于客户端,其特征在于,所述装置包括:
静态配置文件接收模块,被配置为:在客户端启动时,接收通过代理服务端的网络框架所下发的静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到;
其中,所述静态配置文件接收模块还包括:
将所述代理服务端的IP地址配置成所述服务端的IP地址,所述代理服务端按照所述服务端与所述客户端所进行的通信协议与所述客户端通信;
替换模块,被配置为:根据所述客户端所生成的网络请求,将所述网络请求中的异常接口替换为所述静态配置文件中为所述异常接口所配的替换接口;
网络请求发送模块,被配置为:将替换后的所述网络请求发送至所述代理服务端的网络框架,以通过所述网络框架对替换后的所述网络请求进行处理,并向所述客户端返回所述网络请求对应的请求数据。
8.一种服务端接口异常时的请求处理装置,应用于代理服务端,其特征在于,所述代理服务端用于在所述服务端对异常接口进行修复期间为客户端提供服务,所述装置包括:
静态配置文件下发模块,被配置为:在客户端启动时,通过代理服务端的网络框架向所述客户端下发静态配置文件,所述静态配置文件中包括为所述服务端中的每一异常接口所配置的替换接口,所述网络框架是根据所述服务端与客户端之间的通信协议和所述服务端的IP地址进行框架的二次封装所得到;
所述所述静态配置文件下发模块包括:
将所述代理服务端的IP地址配置成所述服务端的IP地址,所述代理服务端按照所述服务端与所述客户端所进行的通信协议与所述客户端通信;
网络请求接收模块,被配置为:接收所述客户端发送的网络请求,所述网络请求是所述客户端将生成的网络请求中所包括的异常接口替换为所述静态配置文件中为所述异常接口所配置的替换接口所得到的;
请求处理模块,被配置为:通过所述网络框架对所述网络请求进行处理,并向所述客户端返回所述网络请求所对应的请求数据。
9.一种服务端接口异常时的请求处理装置,其特征在于,包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910431079.6A CN110365734B (zh) | 2019-05-22 | 2019-05-22 | 服务端接口异常时的请求处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910431079.6A CN110365734B (zh) | 2019-05-22 | 2019-05-22 | 服务端接口异常时的请求处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110365734A CN110365734A (zh) | 2019-10-22 |
CN110365734B true CN110365734B (zh) | 2023-04-07 |
Family
ID=68215594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910431079.6A Active CN110365734B (zh) | 2019-05-22 | 2019-05-22 | 服务端接口异常时的请求处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110365734B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223248A (zh) * | 2011-06-09 | 2011-10-19 | 中国电信股份有限公司 | 呼叫业务处理方法与系统 |
CN107948329A (zh) * | 2018-01-03 | 2018-04-20 | 湖南麓山云数据科技服务有限公司 | 一种跨域处理方法及系统 |
CN107948303A (zh) * | 2017-12-08 | 2018-04-20 | 北京酷我科技有限公司 | 一种Android上http请求失败的处理方法 |
CN108494860A (zh) * | 2018-03-28 | 2018-09-04 | 百度在线网络技术(北京)有限公司 | Web访问系统、用于客户端的web访问方法和装置 |
CN108959384A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 网页数据获取方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0306971D0 (en) * | 2003-03-26 | 2003-04-30 | British Telecomm | Client server model |
-
2019
- 2019-05-22 CN CN201910431079.6A patent/CN110365734B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223248A (zh) * | 2011-06-09 | 2011-10-19 | 中国电信股份有限公司 | 呼叫业务处理方法与系统 |
CN107948303A (zh) * | 2017-12-08 | 2018-04-20 | 北京酷我科技有限公司 | 一种Android上http请求失败的处理方法 |
CN107948329A (zh) * | 2018-01-03 | 2018-04-20 | 湖南麓山云数据科技服务有限公司 | 一种跨域处理方法及系统 |
CN108494860A (zh) * | 2018-03-28 | 2018-09-04 | 百度在线网络技术(北京)有限公司 | Web访问系统、用于客户端的web访问方法和装置 |
CN108959384A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 网页数据获取方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110365734A (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107800565B (zh) | 巡检方法、装置、系统、计算机设备和存储介质 | |
US11360737B2 (en) | Method and apparatus for providing speech service | |
CN107526605B (zh) | 实现应用程序加载服务组件的方法和装置 | |
US20150113423A1 (en) | System and method to configure a field device | |
US10715603B2 (en) | Systems and methods for sharing application data between isolated applications executing on one or more application platforms | |
US8719406B2 (en) | Selectively monitoring a service endpoint of an information technology system | |
US20150019692A1 (en) | Method and apparatus for firmware virtualization | |
WO2020211360A1 (zh) | Mock测试方法、系统、电子设备及计算机非易失性可读存储介质 | |
US20210211310A1 (en) | Method for Sending Certificate, Method for Receiving Certificate, Cloud and Terminal Device | |
US10078532B2 (en) | Resource management method and device for terminal system among multiple operating systems | |
CN113468067B (zh) | 应用程序的调试方法、装置、电子设备和计算机可读介质 | |
US20210263721A1 (en) | Method, device, and computer program product for managing virtual machine upgrage | |
CN110365734B (zh) | 服务端接口异常时的请求处理方法及装置 | |
CN110865823B (zh) | 预装应用控制方法、预装应用控制装置及存储介质 | |
CN110730197B (zh) | 一种服务发现方法和系统 | |
CN109375946B (zh) | 一种管理节点包管理器的组件包的方法及系统 | |
CN110569046B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN115758334A (zh) | 云应用的访问方法、装置、电子设备及存储介质 | |
CN113422791B (zh) | 云服务配置方法和装置、电子设备以及计算机可读存储介质 | |
CN112416641B (zh) | 主从架构中被控端节点重启检测方法及主控端节点 | |
CN113268272A (zh) | 基于私有云的应用交付方法、装置及系统 | |
CN112579247A (zh) | 确定任务状态的方法和装置 | |
CN112306723A (zh) | 一种应用于小程序的运行信息获取方法和装置 | |
CN111885194B (zh) | 通讯应用的通讯方法及装置、电子设备 | |
CN111506320B (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 |