CN114697201B - 一种基于应用客户端代理请求的数据处理方法及装置 - Google Patents
一种基于应用客户端代理请求的数据处理方法及装置 Download PDFInfo
- Publication number
- CN114697201B CN114697201B CN202210338325.5A CN202210338325A CN114697201B CN 114697201 B CN114697201 B CN 114697201B CN 202210338325 A CN202210338325 A CN 202210338325A CN 114697201 B CN114697201 B CN 114697201B
- Authority
- CN
- China
- Prior art keywords
- client
- request
- available state
- proxy
- interface
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000005856 abnormality Effects 0.000 claims abstract description 17
- 238000012790 confirmation Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 8
- 230000015556 catabolic process Effects 0.000 abstract description 6
- 239000003795 chemical substances by application Substances 0.000 description 32
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000002347 injection Methods 0.000 description 3
- 239000007924 injection Substances 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005316 response function Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本申请公开了一种基于应用客户端代理请求的数据处理方法及装置,当调度服务端接收到加密注册请求时,若客户端为处于可用状态的客户端,获取处于可用状态的客户端的目标公网IP,通过目标公网IP确定处于可用状态的客户端的地域信息和运营商信息,通过地域信息和运营商信息确定代理IP,统一网关获取接口请求对应的请求地址,当处于可用状态的客户端监测到服务异常时,通过确定的目标客户端代理接口和代理IP获取服务器返回的数据。通过上述,确定客户端为处于可用状态的客户端,将可用状态的客户端作为代理客户端,当出现服务崩溃或者网络异常时,确保代理客户端正常得到服务器返回的数据后提供给其他用户,提高客户端的可用性和用户体验。
Description
技术领域
本申请涉及通信技术领域,更具体地说,涉及一种基于应用客户端代理请求的数据处理方法及装置。
背景技术
在现在的互联时代,巨量的应用之间都是客户端通过超文本传输协议(HyperText TransferProtocol,HTTP)请求服务器接口,获取到服务器返回的数据。
在服务器运行正常时,客户端能够正常得到服务端返回的数据,但是,如果出现服务异常(服务崩溃、网络异常等),客户端则无法获取到服务器返回的数据,从而导致客户端无法正常使用。
现有技术中,如果出现服务崩溃或者网络异常,客户端通过重试到服务器的方式来尝试获取服务器返回的数据,该方式仅仅只是尝试行为,无法保证客户端正常得到服务器返回的数据,从而降低了客户端的可用性,导致用户体验差。
发明内容
有鉴于此,本申请公开了一种基于应用客户端代理请求的数据处理方法及装置,旨在提高客户端的可用性和用户体验。
为了实现上述目的,其公开的技术方案如下:
本申请第一方面公开了一种基于应用客户端代理请求的数据处理方法,所述方法应用于基于应用客户端代理请求的数据处理装置,所述基于应用客户端代理请求的数据处理装置包括调度服务端、客户端和统一网关,所述方法包括:
当所述调度服务端接收到所述客户端发送的加密注册请求时,判断所述客户端是否为处于可用状态的客户端;
若所述客户端为处于可用状态的客户端,则所述调度服务端获取所述处于可用状态的客户端的目标公网IP;
当所述调度服务端接收到所述处于可用状态的客户端发送的客户端代理获取请求时,基于所述目标公网IP,确定所述处于可用状态的客户端的地域信息和所述处于可用状态的客户端的运营商信息;
所述调度服务端通过所述地域信息和所述运营商信息,确定所述处于可用状态的客户端的代理IP;
当所述统一网关接收到所述处于可用状态的客户端的接口请求时,获取所述接口请求对应的请求地址;
若所述请求地址符合预设代理条件,则所述统一网关确定目标客户端代理接口;所述目标客户端代理接口为所述请求地址可接入的代理接口;
当所述处于可用状态的客户端监测到服务异常时,通过所述目标客户端代理接口和所述代理IP,获取服务器返回的数据。
优选的,所述当所述调度服务端接收到所述客户端发送的加密注册请求时,判断所述客户端是否为处于可用状态的客户端,包括:
当所述调度服务端接收到所述客户端发送的加密注册请求时,向所述客户端发送第一校验请求,以使所述客户端发送调度服务确认信息;
当所述调度服务端接收到所述调度服务确认信息,且在间隔第一预设时段后接收到所述客户端发送的第二校验请求时,所述调度服务端将所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息进行比对;
若所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息一致,则所述调度服务端确定所述客户端为处于可用状态的客户端;
若所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息不一致,则所述调度服务端确定所述客户端为处于非可用状态的客户端。
优选的,所述若所述客户端为处于可用状态的客户端,则所述调度服务端获取所述处于可用状态的客户端的目标公网IP,包括:
若所述客户端为处于可用状态的客户端,所述调度服务端通过预设传输协议获取所述处于可用状态的客户端的目标公网IP。
优选的,所述当所述调度服务端接收到所述处于可用状态的客户端发送的客户端代理获取请求时,基于所述目标公网IP,确定所述处于可用状态的客户端的地域信息和所述处于可用状态的客户端的运营商信息,包括:
当所述调度服务端接收到所述处于可用状态的客户端发送的客户端代理获取请求时,通过预设IP库,对所述处于可用状态的客户端的目标公网IP进行地域分析和运营商分析,分别得到所述处于可用状态的客户端的地域信息和所述处于可用状态的客户端的运营商信息。
优选的,所述若所述请求地址符合预设代理条件,则所述统一网关确定目标客户端代理接口,包括:
所述统一网关判断所述请求地址是否能接入客户端代理接口;
若所述统一网关检测到所述客户端代理接口返回的内容为预设内容,则确定所述请求地址能接入所述客户端代理接口;所述预设内容用于表征非动态内容或可缓存内容;
所述统一网关将能接入所述请求地址的所述客户端代理接口确定为目标客户端代理接口。
优选的,在所述若所述统一网关检测到所述客户端代理接口返回的内容为预设内容,则确定所述请求地址能接入所述客户端代理接口之后,还包括:
所述统一网关在所述请求地址对应的接口请求的头信息中添加可代理标记。
优选的,还包括:
所述处于可用状态的客户端每间隔第二预设时段后向所述调度服务端发送心跳信息。
优选的,还包括:
所述调度服务端在第三预设时段内未收到所述处于可用状态的客户端发送的心跳信息,则将所述处于可用状态的客户端从可用客户端列表中删除。
本申请第二方面公开了一种基于应用客户端代理请求的数据处理装置,所述装置包括:
调度服务端,用于当接收到所述客户端发送的加密注册请求时,判断客户端是否为处于可用状态的客户端;若所述客户端为处于可用状态的客户端,则获取所述处于可用状态的客户端的目标公网IP;当接收到所述处于可用状态的客户端发送的客户端代理获取请求时,基于所述目标公网IP,确定所述处于可用状态的客户端的地域信息和所述处于可用状态的客户端的运营商信息;通过所述地域信息和所述运营商信息,确定所述处于可用状态的客户端的代理IP;
统一网关,用于当接收到所述处于可用状态的客户端的接口请求时,获取所述接口请求对应的请求地址;若所述请求地址符合预设代理条件,则确定目标客户端代理接口;所述目标客户端代理接口为所述请求地址可接入的代理接口;
所述处于可用状态的客户端,用于当监测到服务异常时,通过所述目标客户端代理接口和所述代理IP,获取服务器返回的数据。
优选的,所述调度服务端,具体用于:
当接收到所述客户端发送的加密注册请求时,向所述客户端发送第一校验请求,以使所述客户端发送调度服务确认信息;当接收到所述调度服务确认信息,且在间隔第一预设时段后接收到所述客户端发送的第二校验请求时,将所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息进行比对;若所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息一致,则确定所述客户端为处于可用状态的客户端;若所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息不一致,则确定所述客户端为处于非可用状态的客户端。
经由上述技术方案可知,本申请公开了一种基于应用客户端代理请求的数据处理方法及装置,当调度服务端接收到所述客户端发送的加密注册请求时,判断客户端是否为处于可用状态的客户端,若客户端为处于可用状态的客户端,则调度服务端获取处于可用状态的客户端的目标公网IP,当调度服务端接收到处于可用状态的客户端发送的客户端代理获取请求时,基于目标公网IP,确定处于可用状态的客户端的地域信息和处于可用状态的客户端的运营商信息,调度服务端通过地域信息和运营商信息,确定处于可用状态的客户端的代理IP,当统一网关接收到处于可用状态的客户端的接口请求时,获取接口请求对应的请求地址,若请求地址符合预设代理条件,则统一网关确定目标客户端代理接口,目标客户端代理接口为请求地址可接入的代理接口,当处于可用状态的客户端监测到服务异常时,通过目标客户端代理接口和代理IP,获取服务器返回的数据。通过上述方案,确定客户端为处于可用状态的客户端,将可用状态的客户端作为代理客户端,当出现服务崩溃或者网络异常时,确保代理客户端正常得到服务器返回的数据后提供给其他用户,提高客户端的可用性和用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种基于应用客户端代理请求的数据处理方法的交互示意图;
图2为本申请实施例公开的一种基于应用客户端代理请求的数据处理装置的结构示意图;
图3为本申请实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,现有技术中,如果出现服务崩溃或者网络异常,客户端通过重试到服务器的方式来尝试获取服务器返回的数据,该方式仅仅只是尝试行为,无法保证客户端正常得到服务器返回的数据,从而降低了客户端的可用性,导致用户体验差。
为了解决上述问题,本申请公开了一种基于应用客户端代理请求的数据处理方法及装置,确定客户端为处于可用状态的客户端,将可用状态的客户端作为代理客户端,当出现服务崩溃或者网络异常时,确保代理客户端正常得到服务器返回的数据后提供给其他用户,提高客户端的可用性和用户体验。具体实现方式通过下述实施例具体进行说明。
参考图1所示,为本申请实施例公开的一种基于应用客户端代理请求的数据处理方法的交互示意图,该基于应用客户端代理请求的数据处理方法应用于基于应用客户端代理请求的数据处理装置,该基于应用客户端代理请求的数据处理装置包括调度服务端、客户端和统一网关。客户端与统一网关通过HTTP协议进行通讯;统一网关与客户端调度服务通过HTTP协议进行通讯;客户端与客户端间通过HTTP协议进行通讯。
该基于应用客户端代理请求的数据处理方法主要包括如下步骤:
S101:客户端发送加密注册请求至调度服务端。
其中,加密注册请求用于检测客户端是否为处于可用状态的客户端。
S102:当调度服务端接收到客户端发送的加密注册请求时,判断客户端是否为处于可用状态的客户端。
在S102中,调度服务端中提供客户端连通性探测功能和客户端区域调度功能。
若调度服务端未接收到客户端发送的加密注册请求,则确定未发送的加密注册请求的客户端为一般客户端。
客户端连通性探测功能用于客户端的连通性探测,检测客户端网络是否能够作为客户端代理节点。
客户端区域调度功能用于通过普通用户的请求地域信息,通过地域、运营商等信息优选相邻客户端代理节点给用户。
在客户端中提供数据缓存功能、接口响应功能和接口调度执行功能。
数据缓存功能用于缓存服务端收到的数据,用以作为代理节点时返回给用户。
接口响应功能用于使客户端接收用户请求。
接口调度执行功能用于使客户端识别接口请求返回的Response头信息中的可代理标记,可代理标记用于表征其对应的客户端可作为代理客户端,即处于可用状态的客户端。
具体当调度服务端接收到客户端发送的加密注册请求时,判断客户端是否为处于可用状态的客户端的过程如A1-A5。
A1:当调度服务端接收到客户端发送的加密注册请求时,向客户端发送第一校验请求,以使客户端发送调度服务确认信息。
其中,调度服务端通过加密注册请求来判定客户端是否处于可用状态的客户端。
调度服务端接收到客户端的加密注册请求后记录客户端的初始公网IP,而后调度服务端向客户端的初始公网IP发送第一校验请求。
A2:当调度服务端接收到调度服务确认信息时,在间隔第一预设时段后获取客户端发送的第二校验请求。
其中,第二校验请求用于判定客户端是否为处于可用状态的客户端。第一预设时段可以是13:00-13:01、8:20:01-8:20:05等。具体第一预设时段由技术人员根据实际情况进行设置,本申请不做具体限定。
A3:调度服务端将第二校验请求对应的请求信息与加密注册请求对应的请求信息进行比对。
A4:若第二校验请求对应的请求信息与加密注册请求对应的请求信息一致,则调度服务端确定客户端为处于可用状态的客户端。
其中,处于可用状态的客户端每间隔第二预设时段后向调度服务端发送心跳信息。
心跳消息用于让调度服务端确定可用状态的客户端是否出现故障或终止以及何时出现故障或终止。心跳消息用于进行高可用性或容错处理的目的。
第二预设时段可以是9:21-10:00、14:32:09-14:50:05等。具体第二预设时段由技术人员根据实际情况进行设置,本申请不做具体限定。
若调度服务端在第三预设时段内未收到处于可用状态的客户端发送的心跳信息,则调度服务端将处于可用状态的客户端从可用客户端列表中删除。
其中,当调度服务端在间隔第三预设时段内未收到心跳消息,调度服务端则会认为可用状态的客户端已经关闭、出现故障、或者当前不可用。
第三预设时段可以是5:21-5:22、8:32:09-8:33:09等。具体第三预设时段由技术人员根据实际情况进行设置,本申请不做具体限定。
A5:若第二校验请求对应的请求信息与加密注册请求对应的请求信息不一致,则调度服务端确定客户端为处于非可用状态的客户端。
S103:若客户端为处于可用状态的客户端,则调度服务端获取处于可用状态的客户端的目标公网IP。
在S103中,若客户端为处于可用状态的客户端,调度服务端通过预设传输协议获取处于可用状态的客户端的目标公网IP。
预设传输协议可以是HTTP传输协议,也可以是其他传输协议,具体预设传输协议的确定由技术人员根据实际情况进行设置,本申请不做具体限定。本申请的预设传输协议优选HTTP传输协议。
S104:处于可用状态的客户端发送客户端代理获取请求至调度服务端。
其中,客户端代理获取请求用于确定处于可用状态的客户端的地域信息和处于可用状态的客户端的运营商信息。
S105:当调度服务端接收到处于可用状态的客户端发送的客户端代理获取请求时,基于目标公网IP,确定处于可用状态的客户端的地域信息和处于可用状态的客户端的运营商信息。
在S105中,调度服务端在收到处于可用状态的客户端的接口请求时可以通过HTTP协议获取用户来源的目标公网IP。
当调度服务端接收到处于可用状态的客户端发送的客户端代理获取请求时,通过预设IP库,对处于可用状态的客户端的目标公网IP进行地域分析和运营商分析,分别得到处于可用状态的客户端的地域信息和处于可用状态的客户端的运营商信息。
通过预设IP库搜索处于可用状态的客户端的IP地址,得到处于可用状态的客户端的IP地址的所在国家、省份、城市、区等地域信息,也可以获得其运营商信息。
此后可用状态的客户端每间隔第四预设时段后,将重新发送客户端代理获取请求至调度服务端进行地域信息和运营商信息的数据更新。
S106:调度服务端通过地域信息和运营商信息,确定处于可用状态的客户端的代理IP。
在S106中,处于可用状态的客户端的代理IP用于后续获取服务器返回的数据。
S107:当统一网关接收到处于可用状态的客户端的接口请求时,获取接口请求对应的请求地址。
在S107中,统一网关中提供HTTP四层转发功能、HTTP七层转发功能和头信息注入功能。
HTTP四层转发功能用于通过四层协议进行流量转发到后端服务器。
其中,由于后端服务才是提供功能的应用,因此需要把流量转发到后端服务器,这样接口请求才会被正确响应。
HTTP七层转发功能用于通过七层协议进行流量转发到后端服务器。
头信息注入功能用于为返回给用户信息中的添加头(header)信息。
S108:若请求地址符合预设代理条件,则统一网关确定目标客户端代理接口;目标客户端代理接口为请求地址可接入的代理接口。
在S108中,统一网关接收到处于可用状态的客户端的接口请求时,在转发其接口请求到后端服务器的同时,通过对接口请求对应的请求地址在网关配置中检测是否可以接入处于可用状态的客户端代理接口,如果识别请求地址可以接入处于可用状态的客户端代理接口,统一网关确定目标客户端代理接口,并在接口请求的Response头信息中加入可代理标记。
具体若请求地址符合预设代理条件,则统一网关确定目标客户端代理接口的过程如B1-B3所示。
B1:统一网关判断请求地址是否能接入客户端代理接口。
其中,统一网关检测接口请求对应的请求地址在是否可以接入处于可用状态的客户端代理接口的标准为客户端代理接口返回的内容为非动态内容或可缓存内容。客户端代理接口返回为非个性化内容,不同的用户返回内容一致,这样的接口可以作为可代理接口。但具体问题需具体分析,所以最终的接入配置需服务提供方自行决定。
B2:若统一网关检测到客户端代理接口返回的内容为预设内容,则确定请求地址能接入客户端代理接口;预设内容用于表征非动态内容或可缓存内容。
其中,非动态内容包括静态文件等;可缓存内容包括开机广告的播放串地址等。
在若统一网关检测到客户端代理接口返回的内容为预设内容,则确定请求地址能接入客户端代理接口之后,统一网关在请求地址对应的接口请求的头信息中添加可代理标记。
B3:统一网关将能接入请求地址的客户端代理接口确定为目标客户端代理接口。
S109:当处于可用状态的客户端监测到服务异常时,通过目标客户端代理接口和代理IP,获取服务器返回的数据。
处于可用状态的客户端收到统一网关的接口请求回复后,将记录其可代理标记,并缓存此次数据,在其后的同类型请求首次失败,或者当处于可用状态的客户端监测到服务异常时的情况下,可以通过目标客户端代理接口和代理IP,请求服务器数据。
处于可用状态的客户端在任何时候服务端接口后都会判断其返回内容,如果头信息中带了可代理标记则会记录这个接口为可代理接口,并把接口记录写在客户端本地文件(记为:F01)中。在之后如果出现在F01中出现的接口请求服务端出现失败的情况,则会把原来请求服务端的IP或域名替换成处于可用状态的客户端代理IP或域名。
在客户端成为处于可用状态的客户端,即代理客户端后,如果处于可用状态的客户端的接口为可代理接口,客户端自身将会将本次请求后服务器返回的数据写入内存中,用于给作为代理客户端时返回给其他客户端。
处于可用状态的客户端在收到其他客户端的数据获取请求时,首先检测处于可用状态的客户端自身的缓存,如果有缓存,则直接返回处于可用状态的客户端上一时刻请求同一接口时服务端返回的数据,如果无缓存,则返回失败。
例如,可用状态客户端(A)请求过test.mgtv.com/get接口,且该接口为可缓存接口,那下次其他客户端(B)请求test.mgtv.com/get时如果是指向这个A,则A会收到B来请求test.mgtv.com/get的需求,该test.mgtv.com/get接口为同一接口。
为了方便理解基于应用客户端代理请求的数据处理方法的过程,这里举例进行说明:
以应用程序APP客户端请求开屏广告取串接口为例:
1、在中心机房部署客户端调度服务、统一网关服务,并启动服务同时在调度程序中配置开屏广告取串接口为可代理接口,并提供HTTP服务;
统一网关HTTP头信息注入过程如下:
获取请求域名与接口信息。
将域名与接口信息作为数据向调度服务发出查询请求。
调度服务查询配置信息并返回统一网关。
统一网关将从调度服务查询到的结果注入返回给客户端的头信息中;
返回客户端;
客户端调度服务查询可用代理客户端列表过程如下:
获取请求客户端IP。
解析客户端IP地域与ISP信息。
查询对应地域与ISP可用代理客户端IP列表数据。
将对应地域与ISP中可用代理客户端IP列表返回客户端。
2、在APP客户端中集成网络请求模块,将开屏广告取串接口请求透过代理模块运行。
客户端网络请求模块重试过程如下:
APP透过网络请求模块发起开屏广告大图取串接口请求。
网络请求模块截取HTTP头信息中是否可以使用代理(代理标记将作为离线数据存储)。
如果本次请求数据不正确或未请求到数据则判断代理标记。
如代理标记表示可以使用代理请求,则客户端检索缓存内可用代理客户端IP。
网络请求模块通过可用客户端IP进行重试请求获取数据。
客户端请求代理客户端列表过程如下:
APP透过网络请求模块发起代理客户端列表请求。
接受调度服务返回的IP列表。
将代理客户端IP写入缓存待用。
3、在APP客户端中集成代理客户端模块;
代理客户端模块运行注册启动过程如下:
APP启用时代理客户端模块发起注册请求。
收到服务端校验请求后发起第二校验请求。
确认二次校验请求后,启动本机代理模式并定期发送心跳信息。
自身运行时所有网络请求都将进行数据缓存,代理客户端模块等待其他客户端请求。
本例中客户端开机运行了开屏广告取串接口,并成功获取广告取串接口返回的数据,代理客户端模块将数据进行缓存。
代理客户端模块运行服务过程如下:
代理客户端模块收到其他客户端的开屏广告取串接口请求后开始分析。
获取请求的域名与接口信息,查询本地缓存。
如果本地缓存中存在对应的域名与接口数据,则返回其他客户端数据。
如本地缓存不存在对应数据,则返回其他客户端数据不存在。
在整个接口请求过程中,客户端在启动时尝试注册为代理客户端、自动获取可用代理客户端IP;在本身运行过程中,在服务端未响应正确数据或无响应的情况下将自动向代理客户端发送请求以期获得数据;同时代理客户端IP列表中可以有多个IP列表,故客户端能够尽量尝试获取到可用数据,此举能够极大程度上使得客户端能够正确拿到代理客户端正常请求服务端同一接口时返回给代理客户端而被代理客户端缓存住的数据,故此方法能够有效提高客户端接口请求成功率,提升用户体验。
本申请实施例中,确定客户端为处于可用状态的客户端,将可用状态的客户端作为代理客户端,当出现服务崩溃或者网络异常时,确保代理客户端正常得到服务器返回的数据后提供给其他用户,提高客户端的可用性和用户体验。
基于上述实施例图1公开的一种基于应用客户端代理请求的数据处理方法,本申请实施例还对应公开了一种基于应用客户端代理请求的数据处理装置,如图2所示,该基于应用客户端代理请求的数据处理装置包括调度服务端201、统一网关202和客户端203。
调度服务端201,用于当接收到客户端发送的加密注册请求时,判断客户端是否为处于可用状态的客户端203;若客户端203为处于可用状态的客户端203,则获取处于可用状态的客户端的目标公网IP;当接收到处于可用状态的客户端203发送的客户端代理获取请求时,基于目标公网IP,确定处于可用状态的客户端203的地域信息和处于可用状态的客户端203的运营商信息;通过地域信息和运营商信息,确定处于可用状态的客户端203的代理IP;
统一网关202,用于当接收到处于可用状态的客户端的接口请求时,获取接口请求对应的请求地址;若请求地址符合预设代理条件,则确定目标客户端代理接口;目标客户端代理接口为请求地址可接入的代理接口。
处于可用状态的客户端203,用于当监测到服务异常时,通过目标客户端代理接口和代理IP,获取服务器返回的数据。
进一步的,调度服务端201,具体用于当接收到客户端203发送的加密注册请求时,向客户端203发送第一校验请求,以使客户端203发送调度服务确认信息;当接收到调度服务确认信息,且在间隔第一预设时段后接收到客户端203发送的第二校验请求时,将第二校验请求对应的请求信息与加密注册请求对应的请求信息进行比对,若第二校验请求对应的请求信息与加密注册请求对应的请求信息一致,则确定客户端203为处于可用状态的客户端203;若第二校验请求对应的请求信息与加密注册请求对应的请求信息不一致,则确定客户端203为处于非可用状态的客户端203。
调度服务端201,具体用于若客户端为处于可用状态的客户端,通过预设传输协议获取处于可用状态的客户端的目标公网IP。
进一步的,调度服务端201,具体还用于当接收到处于可用状态的客户端发送的客户端代理获取请求时,通过预设IP库,对处于可用状态的客户端的目标公网IP进行地域分析和运营商分析,分别得到处于可用状态的客户端的地域信息和处于可用状态的客户端的运营商信息。
进一步的,统一网关202,具体用于判断请求地址是否能接入客户端代理接口;若检测到客户端代理接口返回的内容为预设内容,则确定请求地址能接入客户端代理接口;预设内容用于表征非动态内容或可缓存内容;将能接入请求地址的客户端代理接口确定为目标客户端代理接口。
进一步的,统一网关202,具体还用于在请求地址对应的接口请求的头信息中添加可代理标记。
进一步的,处于可用状态的客户端每间隔第二预设时段后向调度服务端发送心跳信息。
进一步的,调度服务端201在第三预设时段内未收到处于可用状态的客户端发送的心跳信息,则将处于可用状态的客户端从可用客户端列表中删除。
本实施例中,确定客户端为处于可用状态的客户端,将可用状态的客户端作为代理客户端,当出现服务崩溃或者网络异常时,确保代理客户端正常得到服务器返回的数据后提供给其他用户,提高客户端的可用性和用户体验。
本申请实施例还提供了一种存储介质,存储介质包括存储的指令,其中,在指令运行时控制存储介质所在的设备执行上述基于应用客户端代理请求的数据处理方法。
本申请实施例还提供了一种电子设备,其结构示意图如图3所示,具体包括存储器301,以及一个或者一个以上的指令302,其中一个或者一个以上指令302存储于存储器301中,且经配置以由一个或者一个以上处理器303执行所述一个或者一个以上指令302执行上述基于应用客户端代理请求的数据处理方法。
上述各个实施例的具体实施过程及其衍生方式,均在本申请的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种基于应用客户端代理请求的数据处理方法,其特征在于,所述方法应用于基于应用客户端代理请求的数据处理装置,所述基于应用客户端代理请求的数据处理装置包括调度服务端、客户端和统一网关,所述方法包括:
当所述调度服务端接收到所述客户端发送的加密注册请求时,判断所述客户端是否为处于可用状态的客户端;
若所述客户端为处于可用状态的客户端,则所述调度服务端获取所述处于可用状态的客户端的目标公网IP;
当所述调度服务端接收到所述处于可用状态的客户端发送的客户端代理获取请求时,基于所述目标公网IP,确定所述处于可用状态的客户端的地域信息和所述处于可用状态的客户端的运营商信息;
所述调度服务端通过所述地域信息和所述运营商信息,确定所述处于可用状态的客户端的代理IP;
当所述统一网关接收到所述处于可用状态的客户端的接口请求时,获取所述接口请求对应的请求地址;
若所述请求地址符合预设代理条件,则所述统一网关确定目标客户端代理接口;所述目标客户端代理接口为所述请求地址可接入的代理接口;
当所述处于可用状态的客户端监测到服务异常时,通过所述目标客户端代理接口和所述代理IP,获取服务器返回的数据。
2.根据权利要求1所述的方法,其特征在于,所述当所述调度服务端接收到所述客户端发送的加密注册请求时,判断所述客户端是否为处于可用状态的客户端,包括:
当所述调度服务端接收到所述客户端发送的加密注册请求时,向所述客户端发送第一校验请求,以使所述客户端发送调度服务确认信息;
当所述调度服务端接收到所述调度服务确认信息,且在间隔第一预设时段后接收到所述客户端发送的第二校验请求时,所述调度服务端将所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息进行比对;
若所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息一致,则所述调度服务端确定所述客户端为处于可用状态的客户端;
若所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息不一致,则所述调度服务端确定所述客户端为处于非可用状态的客户端。
3.根据权利要求2所述的方法,其特征在于,所述若所述客户端为处于可用状态的客户端,则所述调度服务端获取所述处于可用状态的客户端的目标公网IP,包括:
若所述客户端为处于可用状态的客户端,所述调度服务端通过预设传输协议获取所述处于可用状态的客户端的目标公网IP。
4.根据权利要求3所述的方法,其特征在于,所述当所述调度服务端接收到所述处于可用状态的客户端发送的客户端代理获取请求时,基于所述目标公网IP,确定所述处于可用状态的客户端的地域信息和所述处于可用状态的客户端的运营商信息,包括:
当所述调度服务端接收到所述处于可用状态的客户端发送的客户端代理获取请求时,通过预设IP库,对所述处于可用状态的客户端的目标公网IP进行地域分析和运营商分析,分别得到所述处于可用状态的客户端的地域信息和所述处于可用状态的客户端的运营商信息。
5.根据权利要求1所述的方法,其特征在于,所述若所述请求地址符合预设代理条件,则所述统一网关确定目标客户端代理接口,包括:
所述统一网关判断所述请求地址是否能接入客户端代理接口;
若所述统一网关检测到所述客户端代理接口返回的内容为预设内容,则确定所述请求地址能接入所述客户端代理接口;所述预设内容用于表征非动态内容或可缓存内容;
所述统一网关将能接入所述请求地址的所述客户端代理接口确定为目标客户端代理接口。
6.根据权利要求5所述的方法,其特征在于,在所述若所述统一网关检测到所述客户端代理接口返回的内容为预设内容,则确定所述请求地址能接入所述客户端代理接口之后,还包括:
所述统一网关在所述请求地址对应的接口请求的头信息中添加可代理标记。
7.根据权利要求1所述的方法,其特征在于,还包括:
所述处于可用状态的客户端每间隔第二预设时段后向所述调度服务端发送心跳信息。
8.根据权利要求7所述的方法,其特征在于,还包括:
所述调度服务端在第三预设时段内未收到所述处于可用状态的客户端发送的心跳信息,则将所述处于可用状态的客户端从可用客户端列表中删除。
9.一种基于应用客户端代理请求的数据处理装置,其特征在于,所述装置包括:
调度服务端,用于当接收到所述客户端发送的加密注册请求时,判断客户端是否为处于可用状态的客户端;若所述客户端为处于可用状态的客户端,则获取所述处于可用状态的客户端的目标公网IP;当接收到所述处于可用状态的客户端发送的客户端代理获取请求时,基于所述目标公网IP,确定所述处于可用状态的客户端的地域信息和所述处于可用状态的客户端的运营商信息;通过所述地域信息和所述运营商信息,确定所述处于可用状态的客户端的代理IP;
统一网关,用于当接收到所述处于可用状态的客户端的接口请求时,获取所述接口请求对应的请求地址;若所述请求地址符合预设代理条件,则确定目标客户端代理接口;所述目标客户端代理接口为所述请求地址可接入的代理接口;
所述处于可用状态的客户端,用于当监测到服务异常时,通过所述目标客户端代理接口和所述代理IP,获取服务器返回的数据。
10.根据权利要求9所述的装置,其特征在于,所述调度服务端,具体用于:
当接收到所述客户端发送的加密注册请求时,向所述客户端发送第一校验请求,以使所述客户端发送调度服务确认信息;当接收到所述调度服务确认信息,且在间隔第一预设时段后接收到所述客户端发送的第二校验请求时,将所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息进行比对;若所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息一致,则确定所述客户端为处于可用状态的客户端;若所述第二校验请求对应的请求信息与所述加密注册请求对应的请求信息不一致,则确定所述客户端为处于非可用状态的客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210338325.5A CN114697201B (zh) | 2022-04-01 | 2022-04-01 | 一种基于应用客户端代理请求的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210338325.5A CN114697201B (zh) | 2022-04-01 | 2022-04-01 | 一种基于应用客户端代理请求的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114697201A CN114697201A (zh) | 2022-07-01 |
CN114697201B true CN114697201B (zh) | 2024-02-20 |
Family
ID=82141703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210338325.5A Active CN114697201B (zh) | 2022-04-01 | 2022-04-01 | 一种基于应用客户端代理请求的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114697201B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041260B (zh) * | 2023-10-09 | 2024-01-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种控制处理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167850A (zh) * | 2018-09-13 | 2019-01-08 | 杭州安恒信息技术股份有限公司 | 一种确定cdn服务运营商的方法、装置和存储介质 |
CN114124935A (zh) * | 2021-11-18 | 2022-03-01 | 北京明朝万达科技股份有限公司 | Ftp服务的实现方法、系统、设备及存储介质 |
-
2022
- 2022-04-01 CN CN202210338325.5A patent/CN114697201B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167850A (zh) * | 2018-09-13 | 2019-01-08 | 杭州安恒信息技术股份有限公司 | 一种确定cdn服务运营商的方法、装置和存储介质 |
CN114124935A (zh) * | 2021-11-18 | 2022-03-01 | 北京明朝万达科技股份有限公司 | Ftp服务的实现方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114697201A (zh) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10027564B2 (en) | Unobtrusive methods and systems for collecting information transmitted over a network | |
EP1446933B1 (en) | Method for checking the functionality of a content delivery network, related system and computer product | |
CA2734774C (en) | A user-transparent system for uniquely identifying network-distributed devices without explicitly provided device or user identifying information | |
JP4690461B2 (ja) | ブランチオフィスdns格納及び解決 | |
US6728767B1 (en) | Remote identification of client and DNS proxy IP addresses | |
JP3967806B2 (ja) | リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構 | |
US6128644A (en) | Load distribution system for distributing load among plurality of servers on www system | |
CA2574416C (en) | Accessing distributed services in a network | |
US20090161554A1 (en) | Cooperative diagnosis of web transaction failures | |
US20030028577A1 (en) | HTTP distributed XML-based automated event polling for network and E-service management | |
CN106411629B (zh) | 一种用于监控cdn节点的状态的方法和设备 | |
CN106533944B (zh) | 一种分布式api网关、管理方法及管理系统 | |
US11122411B2 (en) | Distributed, crowdsourced internet of things (IoT) discovery and identification using block chain | |
JP2000259595A (ja) | Tcp/ipネットワークにおいてウェブ・ファイアウォールを最適に選択する方法およびシステム | |
US20110302272A1 (en) | Unobtrusive methods and systems for collecting information transmitted over a network | |
CN114697201B (zh) | 一种基于应用客户端代理请求的数据处理方法及装置 | |
CN111327606A (zh) | 资源管理方法、系统及存储介质 | |
CN110661673B (zh) | 一种心跳检测的方法及装置 | |
CN113315852A (zh) | 一种域名解析的方法、装置及系统 | |
KR102567900B1 (ko) | 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치 | |
JP3437680B2 (ja) | 対話管理型情報提供方法及び装置 | |
US10193853B1 (en) | Web browser or web service based detection of internet facing DNS server | |
CN111881384B (zh) | 违规外联的取证方法、系统和存储介质 | |
Mansour et al. | On eventually-available data in content-centric networking | |
TWI748653B (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 |