CN106571975B - 一种通信数据的容错方法及装置 - Google Patents
一种通信数据的容错方法及装置 Download PDFInfo
- Publication number
- CN106571975B CN106571975B CN201610913132.2A CN201610913132A CN106571975B CN 106571975 B CN106571975 B CN 106571975B CN 201610913132 A CN201610913132 A CN 201610913132A CN 106571975 B CN106571975 B CN 106571975B
- Authority
- CN
- China
- Prior art keywords
- communication data
- request
- abnormal
- information
- character string
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 144
- 238000004891 communication Methods 0.000 title claims abstract description 142
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000002159 abnormal effect Effects 0.000 claims abstract description 102
- 238000001514 detection method Methods 0.000 claims abstract description 83
- 230000004044 response Effects 0.000 claims description 81
- 238000012795 verification Methods 0.000 claims description 54
- 230000008569 process Effects 0.000 claims description 30
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 10
- 230000005856 abnormality Effects 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013524 data verification Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种通信数据的容错方法及装置,该方法包括:获得待发送的或接收到的通信数据;对所述通信数据进行容错检测,获得检测结果;在所述检测结果表明所述通信数据无异常时,执行对待发送的所述通信数据的发送操作或者执行对接收到的所述通信数据的应用操作。上述技术方案,通过对通信数据容错检测,避免客户端、服务器接收或应用异常数据,使得客户端、服务器接收或应用的通信数据通过了容错检测,无异常数据,从而解决了现有技术中因通信数据异常导致客户端或服务器执行异常的技术问题,保证了通信两端稳定运行。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种通信数据的容错方法及装置。
背景技术
随着信息技术的不断发展,应用程序的开发及应用得到飞速的发展,其中,很多应用程序在开发和运营的过程中通常需要客户端和服务器进行频繁的通信,在通信过程中客户端和服务器会有很多数据进行交互。
在开发及运营过程中,尤其是开发过程中,服务器无法确保返回给应用程序的所有数据都是合法有效的数据,因为服务器有可能因为一些异常的产生,导致返回给客户端的数据会出现异常,客户端如果接收到异常数据直接进行打开、编辑等后续应用处理,极有可能会因为服务器返回的异常数据,造成客户端执行异常,严重的甚至会造成客户端崩溃。同样的,服务器也可能因为客户端的异常数据造成服务器执行异常。
可见,现有技术中存在通信数据异常导致客户端或服务器执行异常的技术问题。
发明内容
本发明实施例提供一种通信数据的容错方法及装置,解决现有技术中因通信数据异常导致客户端或服务器执行异常的技术问题,保证通信两端稳定运行。
本申请实施例提供一种通信数据的容错方法,该方法包括:
获得待发送的和/或接收到的通信数据;
对所述通信数据进行容错检测,获得检测结果;
在所述检测结果表明所述通信数据无异常时,执行对待发送的所述通信数据的发送操作或者执行对接收到的所述通信数据的应用操作。
可选的,当所述通信数据为客户端发出的请求信息时,所述对所述通信数据进行容错检测,获得检测结果,包括:
分别对所述请求信息中的请求路径、请求参数格式及请求参数进行校验;
若所述请求路径有效、所述请求参数格式为指定格式且所述请求参数不等于空指针,获得所述检测结果表明所述通信数据无异常;否则,获得所述检测结果表明所述通信数据异常,并向所述客户端返回表征所述通信数据异常的错误信息。
可选的,对所述请求信息中的请求路径进行校验,包括:
检查所述请求路径的前缀是不是http或https,若是,执行下一步,若否,确认所述请求路径无效;
检测所述请求路径能否访问到对应的服务器,若能,确认所述请求路径有效,若不能,确认所述请求路径无效。
可选的,对所述请求信息中的请求参数格式进行校验,包括:
获得所述请求参数的字符串;
将所述字符串转换成所述指定格式对象变量,并在转换的过程中进行异常信息捕获;
若在转换的过程中未捕获到所述异常信息,确定所述请求参数格式是所述指定格式,若在转换的过程中捕获到了所述异常信息,确定所述请求参数格式不是所述指定格式。
可选的,当所述通信数据为服务器的发出的响应信息时,所述对所述通信数据进行容错检测,获得检测结果,包括:
获得所述响应信息的类型,所述响应信息的类型包括:指定格式的字符串、常规字符串及文件的下载地址;
基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验;
若校验成功,获得所述检测结果表明所述通信数据无异常;否则,获得所述检测结果表明所述通信数据异常,并向所述服务器返回校验失败信息。
可选的,当所述响应信息为常规字符串时,所述基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验,包括:
判断所述常规字符串是否为空;
若所述常规字符串不为空,校验成功;若所述常规字符串为空,校验失败。
可选的,当所述响应信息为文件的下载地址时,所述基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验,包括:
通过HTTP协议来请求所述下载地址;
接收服务器返回的HTTP头部信息,并从所述HTTP头部信息中获得响应码;
若所述响应码表征所述下载地址正常,校验成功;若所述响应码表征所述下载地址异常,校验失败。
本申请实施例还一种通信数据的容错装置,包括:
获取模块,用于获得待发送的和/或接收到的通信数据;
容错模块,用于对所述通信数据进行容错检测,获得检测结果;
处理模块,用于在所述检测结果表明所述通信数据无异常,发送待发送的所述通信数据或者执行对接收到的所述通信数据的应用操作。
可选的,所述容错模块包括:
校验子模块,用于当所述通信数据为客户端发出的请求信息时,分别对所述请求信息中的请求路径、请求参数格式及请求参数进行校验;
确认子模块,用于在所述请求路径有效、所述请求参数格式为指定格式且所述请求参数不等于空指针,获得所述检测结果表明所述通信数据无异常;否则,获得所述检测结果表明所述通信数据异常,并向所述客户端返回表征所述通信数据异常的错误信息。
可选的,所述容错模块包括:
解析子模块,用于当所述通信数据为服务器的发出的响应信息时,获得所述响应信息的类型,所述响应信息的类型包括:指定格式的字符串、常规字符串及文件的下载地址;
校验子模块,用于基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验;
确认子模块,用于在校验成功,获得所述检测结果表明所述通信数据无异常;否则,获得所述检测结果表明所述通信数据异常,并向所述服务器返回校验失败信息。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本申请实施例提供一种通信数据的容错方法,通过获得待发送或者接收到的通信数据,并对该通信数据进行容错检测,获得检测结果,在检测结果表明通信数据无异常时,才发送通信数据或者对接收到的通信数据进行后续处理,避免客户端、服务器接收或应用异常数据,使得客户端、服务器接收或应用的通信数据通过了容错检测,无异常数据,从而解决了现有技术中因通信数据异常导致客户端或服务器执行异常的技术问题,保证了通信两端稳定运行。
附图说明
图1为本申请实施例提供的一种通信数据的容错方法的流程图;
图2为本申请实施例提供的客户端请求信息的校验示意图;
图3为本申请实施例提供的服务器发出的响应信息的校验示意图;
图4为本申请实施例提供的一种通信数据的容错装置的示意图。
具体实施方式
在本申请实施例提供的技术方案中,通过在发送通信数据或应用通信数据之前,对待发送的或接收到的通信数据进行容错检测,在检测出通信数据无异常时,才执行发送或应用通信数据的操作,避免客户端、服务器接收或应用异常数据,以解决现有技术中因通信数据异常导致客户端或服务器执行异常的技术问题,保证通信两端程序的稳定性。
下面结合附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
实施例一
请参考图1,本申请实施例提供一种通信数据的容错方法,该方法包括:
S101:获得待发送的和/或接收到的通信数据;
S102:对所述通信数据进行容错检测,获得检测结果;
S103:在所述检测结果表明所述通信数据无异常时,执行对待发送的所述通信数据的发送操作或者执行对接收到的所述通信数据的应用操作。反之,通信数据异常,则不执行发送或应用操作,将发生异常的详细信息返回发出通信数据处。
本申请实施例提供的通信数据的容错方法,可应用于客户端,客户端在发送通信数据之前,执行容错检测,保证发送出去的通信数据无异常,避免与其通信的服务器或客户端接收到异常数据;以及,客户端在接收到服务器或其它客户端的通信数据后,应用该通信数据之前,执行容错检测,保证即将被应用的通信数据无异常才执行应用操作,避免执行异常或崩溃。同样的,该方法也可以应用于服务器、通信数据中转设备如路由器,在服务器或通信数据中转设备执行容错检测。
下面以客户端和服务器通信过程为例,详细说明本申请实施例提供的通信数据容错方法的实施过程。客户端和服务器进行通信包含两个方向:一是客户端向服务器发送请求信息,二是服务器向客户端发送响应,下面分别针对这两中情况来分别描述。
客户端向服务器发送请求信息时,对请求信息的容错检测
客户端发送向服务器的HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求。此处的请求是常规请求方式,请求信息规定如下:
a)HTTP请求中会有请求地址即请求路径,HTTP请求的请求路径的前缀通常为http或https,下面用requestPath代指请求路径。
b)HTTP请求中会将请求参数通过JSON(JavaScript Object Notation,是一种轻量级的数据交换格式)格式进行封装后传输,为了后文叙述方便我们定义请求的JSON格式数据为requestJson(代指请求信息的Json数据)。
c)每一个请求信息中通常都会携带请求参数,为了后文叙述方便我们将请求参数命名为requestParam(代指请求参数)。
在客户端发出即生成请求信息时,执行S101获取待发送的请求信息,包括:获取到请求路径requestPath的值,并将请求参数存储在requestParam中,这里的存储主要是为了方便后面校验的时候使用;继而执行S102对请求信息进行容错检测,具体包括:分别对请求信息中的请求路径、请求参数格式及请求参数进行校验;若请求路径有效、请求参数格式为指定格式且请求参数不等于空指针,获得检测结果表明通信数据无异常;否则,获得检测结果表明通信数据异常,并向客户端返回表征通信数据异常的错误信息。
其中,请求路径、请求参数格式及请求参数的校验可以不分先后,也可以按序进行,任一数据校验失败则可确认通信数据异常,只有所有数据校验成功才能确认通信数据无异常。
请求参考图2:下面通过按序校验的方式,分别对各个数据的校验步骤及方法进行说明:
S11、对请求路径进行校验
包含2个部分的校验:步骤1、检查请求路径的前缀是不是http或https,若是,执行步骤2,若否,确认请求路径无效,校验失败;步骤2、检测请求路径能否访问到对应的服务器,若能,确认所述请求路径有效、校验成功,若不能,确认请求路径无效、校验失败。
步骤1在具体实施时,先通过字符串截取的方式获取requestPath字符串中的第一个字符串:
a)字符串String类有一个字符串截取函数subString,通过调用subString(“:”)来根据“:”来分割字符串,分割后的字符串会存储在字符数组stringArrays中。
b)通常网站的前缀为http://或者为https://,通过上述字符串分割函数得到的字符串数组stringArrays中的第1个元素应该是http或者https,检查请求路径的前缀是不是http或https,检查结果如下:
①、请求路径的前缀不是http或者https,则校验失败,校验失败后执行S12终止请求操作,并且通过接口的形式返回错误信息。接口说明:本申请实施例定义的接口形式为onError(String msg),是返回错误的接口,其中onError是接口名称,msg是接口返回的具体信息,String为信息类型。当校验requestPath失败后通过调用接口onError,并且将路径错误信息存储到msg中一起返回给外界。
②、请求路径的前缀是http或者https,则检测成功,接下来继续执行步骤2检测请求路径对应的服务器是否存在:
a)通过ping(ping是Windows、Unix和Linux系统下的一个命令,用于检查网络是否连通)命令去测试服务器的返回。通过调用ping requestPath的方式来接收返回值,其返回值是一长串字符串pingResult(代指ping的返回结果)。
b)如果ping成功的话,pingResult信息中会包含TTL关键字(TTL字段信息是表示访问服务器的延时是多少);如果ping失败的话pingResult中没有任何TTL相关的字眼。
c)根据b中所述的差异,调用字符串pingResult中的contains(“TTL”)函数(如果pingResult中包含TTL字符串则返回真true,如果不包含TTL字符串则返回假false)。
如果ping后返回的结果为假,那就说明服务器是不存在的,请求路径校验失败。这个时候执行S12直接终止请求,并调用接口onError,并且ping失败的错误信息存储到msg中一起返回给外界。
如果ping后返回的结果为真,那么就说明服务器是存在的,请求路径校验成功。这个时候我们就认为请求路径是合格的,进行S21请求参数格式校验。
S21对请求参数格式进行校验
a)获得请求参数的字符串,即获取requestJson的字符串,该字符串是由客户端传递过来的一个String类型的字符串。
b)将获得的字符串转换成指定格式对象变量(jsonObjcet),并在转换的过程中进行异常信息捕获。若在转换的过程中未捕获到异常信息,确定请求参数格式是指定格式,若在转换的过程中捕获到了异常信息,确定请求参数格式不是指定格式。
具体的,可以通过JSON类中的一个静态方法fromObject(requestJson)(该方法是系统提供的将一个String变量转换为一个JSONObject变量的方法),将requestJson强制转换成jsonObjcet变量。
在转换过程中可以使用了try-catch代码块对转换过程进行捕获(try-catch是JAVA中的一种语法,在try-catch代码块中的代码如果执行过程中出现任何异常情况,系统会将异常情况在catch代码中抛出来,为此就能够通过catch代码块抛出的异常信息来获取系统执行这段代码所发生的异常问题)。
如果请求参数在强制转换过程出现任何异常情况,通过catch部分获取到异常信息,一旦捕获到异常信息说明requestJson字符串就不是一个合法的JSON字符串,即请求参数格式不是指定格式,校验失败,此时执行S22终止请求,返回请求参数格式错误信息,如通过调用接口onError,并将JSON格式检测异常的信息封装到msg中,通知外界请求参数requestJson不是一个合法的JSON字符串。
如果请求参数在强制转换过程能够正确无误的完成,没有捕获到异常信息,说明requestJson是一个正确且完整的JSON字符串,即请求参数格式是指定格式,校验成功。接下来,执行S31对请求参数进行校验。
S31、对请求参数进行校验
获取到请求参数requestParam,对请求参数主要进行空指针的判断,以免传递出去的数据有异常。可以通过for循环(java语法中循环的一种方式),将requestParam参数一个一个取出来,然后对每一个参数和null(空,表示对象没有指向任何信息)进行比较,如:比较取出的字符串和null是否相等。
a)如果发现其中有null信息,即请求参数等于空指针,执行S32终止请求,返回请求参数错误信息。具体可以通过调用接口onError,并将请求参数为空的信息封装到msg中,然后通知外界requestParam中的参数有null的异常参数。
b)如果没有发现任何null信息,即请求参数不等于空指针,那么请求参数校验成功。在校验成功时,执行S41发送请求信息.
S41、发送请求信息
将原请求信息通过HTTP协议转发出去。发送请求信息的过程也同样适用try-catch代码块(上文中已经详细介绍过)进行捕获异常。如果发送过程中捕获到异常信息,那么执行S42调用接口onError,终止请求,返回发送异常错误信息,将异常信息通知给外界。如果发送过程中没有捕获到任何异常信息,那么就表示数据被成功发送到服务器端了。当然,请求信息的容错检测也可以在服务器侧执行,具体检测方法相同,不再赘述。
服务器向客户端发送响应信息时,对响应信息的容错检测
响应信息的容错检测可以在服务器侧执行,检测无异常后才发送至客户端;也可以在客户端执行,只有容错检测无异常的响应信息才会真正的返回给调用者,执行应用操作。下面以响应信息的容错检测在客户端执行为例进行说明。
服务器向客户端发送响应信息的类型可以被分为三类:1、指定格式的字符串,即JSON格式的字符串;2、文件的下载地址;3、常规字符串。
服务器的具体响应内容是在项目设计的时候就已经确定好的,若容错检测在服务器或者客户端执行,那么可以根据之前设计的返回信息类型进行相应的校验。若容错检测在非客户端、服务器的第三方设备,如路由器中执行时,可以获得响应信息的类型后,再针对各类型的信息进行容错检测。其中,可以通过截取响应信息中的标识字符来获得响应信息的类型,如下载地址中的http或https,在截取到字符串http或https时获得响应信息的类型为下载地址,随后,基于响应信息的类型对应的校验方式,对响应信息进行校验;若校验成功,获得检测结果表明通信数据无异常;否则,获得检测结果表明通信数据异常,并向服务器发送校验失败信息。
请参考图3,针对响应信息的类型不同分别进行校验:
S3-1、JSON字符串校验:ISON格式校验
服务器的响应信息的内容为JSON字符串,那么就需要进行JSON格式进行校验。JSON格式校验和上文中的客户端请参数格式的校验一样,此处不再详细描述校验过程。
如果校验失败,将校验失败信息返回给服务器,具体可以以通知的方式返回给服务器,通知过程是向服务器发送一个请求,并将错误信息封装到请求中,上报给服务器。其中,上报过程是通用的HTTP的POST(向目的服务器发出更新请求,并附有请求实体)请求过程,将错误信息通过实体传递给服务器端。如果校验成功,表明容错检测通过,执行S303对响应信息进行应用操作。
S3-2、文件的下载地址校验:地址有效性校验
服务器的响应信息内容为下载地址,通过HTTP协议来请求下载地址;接收服务器返回的HTTP头部信息,并从HTTP头部信息中获得响应码;若响应码表征下载地址正常即有效,校验成功;若响应码表征下载地址异常即无效,校验失败。
具体的,可以通过getResponseCode函数(系统提供的一个获取HTTP响应码的函数)获取到返回的头部响应码。如果响应码是200(HTTP协议中规定的200的响应码表示没有任何错误),则表示访问的下载地址是正常的,校验成功,表明容错检测通过,执行S303对响应信息进行应用操作。反之,如果返回的响应码不是200,则表示下载地址异常,校验失败。校验失败时,可以将下载地址检测异常的信息通过HTTP协议发送到服务器。
S3-3、常规字符串校验:字符串null校验
服务器的响应信息内容为常规字符串时,可以对常规字符串是否为null进行判断,即判断常规字符串是否为空;如果检测到常规字符串与null相等,即常规字符串为空,那么将字符串检测异常信息通过HTTP协议发送到服务器端。如果检测字符串与null不相等,即常规字符串不为空,确认响应信息中的字符串是有效的,校验成功,表明容错检测通过,执行S303对响应信息进行应用操作。
通过上述方式容错检测后,发现异常信息并及时将校验异常信息发送给服务器端,使服务器能够第一时间发现响应信息的异常,及时修正。同时异常的信息直接被拦截掉,客户端不会对其进行后续的应用操作,不会因为异常信息导致客户端出现严重问题。
请参考图4,基于上述实施例提供的一种通信数据的容错方法,本申请实施例还对应提供一种通信数据的容错装置,包括:
获取模块401,用于获得待发送的和/或接收到的通信数据;
容错模块402,用于对所述通信数据进行容错检测,获得检测结果;
处理模块403,用于在所述检测结果表明所述通信数据无异常,发送待发送的所述通信数据或者执行对接收到的所述通信数据的应用操作。
在具体实施过程中,所述容错模块402可以包括:校验子模块和确认子模块。校验子模块用于:当所述通信数据为客户端发出的请求信息时,分别对所述请求信息中的请求路径、请求参数格式及请求参数进行校验;确认子模块用于:在所述请求路径有效、所述请求参数格式为指定格式且所述请求参数不等于空指针,获得所述检测结果表明所述通信数据无异常;否则,获得所述检测结果表明所述通信数据异常,并向所述客户端返回表征所述通信数据异常的错误信息。
作为一种可选的实施方式,所述容错模块可以包括:解析子模块、校验子模块及确认子模块。解析子模块用于:当所述通信数据为服务器的发出的响应信息时,获得所述响应信息的类型,所述响应信息的类型包括:指定格式的字符串、常规字符串及文件的下载地址;校验子模块用于:基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验;确认子模块用于:在校验成功,获得所述检测结果表明所述通信数据无异常;否则,获得所述检测结果表明所述通信数据异常,并向所述服务器返回校验失败信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过本申请实施例中的一个或多个技术方案,可以实现如下一个或多个技术效果:
本申请实施例提供一种通信数据的容错方法,通过获得待发送或者接收到的通信数据,并对该通信数据进行容错检测,获得检测结果,在检测结果表明通信数据无异常时,才发送通信数据或者对接收到的通信数据进行后续处理,避免客户端、服务器接收或应用异常数据,使得客户端、服务器接收或应用的通信数据通过了容错检测,无异常数据,从而解决了现有技术中因通信数据异常导致客户端或服务器执行异常的技术问题,保证了通信两端稳定运行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (5)
1.一种通信数据的容错方法,其特征在于,包括:
获得待发送的和/或接收到的通信数据;
对所述通信数据进行容错检测,获得检测结果;其中的容错检测具体包括:当所述通信数据为客户端发出的请求信息时,对所述请求信息中的请求路径、请求参数格式及请求参数进行校验;当所述通信数据为服务器发出的响应信息时,获得所述响应信息的类型,所述响应信息的类型包括:指定格式的字符串、常规字符串及文件的下载地址,基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验;
在所述检测结果表明所述通信数据无异常时,执行对待发送的所述通信数据的发送操作或者执行对接收到的所述通信数据的应用操作;其中,所述检测结果表明所述通信数据无异常包括:当所述通信数据为客户端发出的请求信息时,若所述请求路径有效、所述请求参数格式为指定格式且所述请求参数不等于空指针,获得所述检测结果表明所述通信数据无异常;当所述通信数据为服务器发出的响应信息时,若所述响应信息校验成功,获得所述检测结果表明所述通信数据无异常;
当所述通信数据为客户端发出的请求信息时,在获得所述检测结果表明所述通信数据异常时,向所述客户端返回表征所述通信数据异常的错误信息;当所述通信数据为服务器发出的响应信息时,在获得所述检测结果表明所述通信数据异常时,向所述服务器返回校验失败信息;
其中,对所述请求信息中的请求参数格式进行校验,包括:
获得所述请求参数的字符串;
将所述字符串转换成指定格式对象变量,并在转换的过程中进行异常信息捕获;
若在转换的过程中未捕获到所述异常信息,确定所述请求参数格式是所述指定格式,若在转换的过程中捕获到了所述异常信息,确定所述请求参数格式不是所述指定格式;
其中,所述指定格式的字符串的校验方式与对所述请求信息中的请求参数格式进行校验的方法相同。
2.如权利要求1所述的方法,其特征在于,对所述请求信息中的请求路径进行校验,包括:
检查所述请求路径的前缀是不是http或https,若是,执行下一步,若否,确认所述请求路径无效;
检测所述请求路径能否访问到对应的服务器,若能,确认所述请求路径有效,若不能,确认所述请求路径无效。
3.如权利要求1所述的方法,其特征在于,当所述响应信息为常规字符串时,所述基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验,包括:
判断所述常规字符串是否为空;
若所述常规字符串不为空,校验成功;若所述常规字符串为空,校验失败。
4.如权利要求1所述的方法,其特征在于,当所述响应信息为文件的下载地址时,所述基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验,包括:
通过HTTP协议来请求所述下载地址;
接收服务器返回的HTTP头部信息,并从所述HTTP头部信息中获得响应码;
若所述响应码表征所述下载地址正常,校验成功;若所述响应码表征所述下载地址异常,校验失败。
5.一种通信数据的容错装置,其特征在于,包括:
获取模块,用于获得待发送的和/或接收到的通信数据;
容错模块,用于对所述通信数据进行容错检测,获得检测结果;
处理模块,用于在所述检测结果表明所述通信数据无异常,发送待发送的所述通信数据或者执行对接收到的所述通信数据的应用操作;
所述容错模块包括:
校验子模块,用于当所述通信数据为客户端发出的请求信息时,分别对所述请求信息中的请求路径、请求参数格式及请求参数进行校验;其中,校验子模块用于对所述请求信息中的请求参数格式进行校验,包括:获得所述请求参数的字符串;将所述字符串转换成指定格式对象变量,并在转换的过程中进行异常信息捕获;若在转换的过程中未捕获到所述异常信息,确定所述请求参数格式是所述指定格式,若在转换的过程中捕获到了所述异常信息,确定所述请求参数格式不是所述指定格式;
解析子模块,用于当所述通信数据为服务器的发出的响应信息时,获得所述响应信息的类型,所述响应信息的类型包括:指定格式的字符串、常规字符串及文件的下载地址;
确认子模块,用于在所述请求路径有效、所述请求参数格式为指定格式且所述请求参数不等于空指针,获得所述检测结果表明所述通信数据无异常;否则,获得所述检测结果表明所述通信数据异常,并向所述客户端返回表征所述通信数据异常的错误信息;其中,所述指定格式的字符串校验方式与对所述请求信息中的请求参数格式进行校验的方法相同;
校验子模块,用于当所述通信数据为服务器发出的响应信息时,基于所述响应信息的类型对应的校验方式,对所述响应信息进行校验;
确认子模块,用于在校验成功,获得所述检测结果表明所述通信数据无异常;否则,获得所述检测结果表明所述通信数据异常,并向所述服务器返回校验失败信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610913132.2A CN106571975B (zh) | 2016-10-19 | 2016-10-19 | 一种通信数据的容错方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610913132.2A CN106571975B (zh) | 2016-10-19 | 2016-10-19 | 一种通信数据的容错方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106571975A CN106571975A (zh) | 2017-04-19 |
CN106571975B true CN106571975B (zh) | 2020-04-10 |
Family
ID=58533010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610913132.2A Active CN106571975B (zh) | 2016-10-19 | 2016-10-19 | 一种通信数据的容错方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106571975B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241342A (zh) * | 2017-06-30 | 2017-10-10 | 北京奇安信科技有限公司 | 一种网络攻击串检测方法及装置 |
CN108287767A (zh) * | 2017-12-29 | 2018-07-17 | 五八有限公司 | 一种数据容错方法、设备及计算机可读存储介质 |
CN108182124A (zh) * | 2017-12-29 | 2018-06-19 | 五八有限公司 | 一种数据容错方法、设备及计算机可读存储介质 |
CN112328497A (zh) * | 2020-11-27 | 2021-02-05 | 四川长虹电器股份有限公司 | Java异常处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594261A (zh) * | 2008-05-28 | 2009-12-02 | 北京百问百答网络技术有限公司 | 一种假冒网站监测方法及其系统 |
CN102685119A (zh) * | 2012-04-28 | 2012-09-19 | 上海杰之能信息科技有限公司 | 数据发送/接收方法及装置、传输方法及系统、服务器 |
CN103986785A (zh) * | 2014-06-04 | 2014-08-13 | 重庆邮电大学 | 一种基于restful的数据流控制方法 |
WO2014174681A1 (ja) * | 2013-04-26 | 2014-10-30 | 株式会社日立製作所 | 特定装置、特定方法、および特定プログラム |
CN105187505A (zh) * | 2015-08-11 | 2015-12-23 | 魅族科技(中国)有限公司 | 一种下载处理方法和装置 |
CN105953381A (zh) * | 2016-06-14 | 2016-09-21 | 珠海格力电器股份有限公司 | 空调器通信数据的处理方法、装置和系统,以及空调器 |
-
2016
- 2016-10-19 CN CN201610913132.2A patent/CN106571975B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594261A (zh) * | 2008-05-28 | 2009-12-02 | 北京百问百答网络技术有限公司 | 一种假冒网站监测方法及其系统 |
CN102685119A (zh) * | 2012-04-28 | 2012-09-19 | 上海杰之能信息科技有限公司 | 数据发送/接收方法及装置、传输方法及系统、服务器 |
WO2014174681A1 (ja) * | 2013-04-26 | 2014-10-30 | 株式会社日立製作所 | 特定装置、特定方法、および特定プログラム |
CN103986785A (zh) * | 2014-06-04 | 2014-08-13 | 重庆邮电大学 | 一种基于restful的数据流控制方法 |
CN105187505A (zh) * | 2015-08-11 | 2015-12-23 | 魅族科技(中国)有限公司 | 一种下载处理方法和装置 |
CN105953381A (zh) * | 2016-06-14 | 2016-09-21 | 珠海格力电器股份有限公司 | 空调器通信数据的处理方法、装置和系统,以及空调器 |
Also Published As
Publication number | Publication date |
---|---|
CN106571975A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106571975B (zh) | 一种通信数据的容错方法及装置 | |
WO2022016847A1 (zh) | 一种适用于云平台的自动化测试方法及装置 | |
JP5869513B2 (ja) | 障害対応システムおよび障害対応方法 | |
CN108038039B (zh) | 记录日志的方法及微服务系统 | |
CN107835228B (zh) | 一种基于动态广义路由的指令处理方法及装置 | |
JP5198154B2 (ja) | 障害監視システム及びデバイスと監視装置並びに障害監視方法 | |
WO2020259551A1 (zh) | 一种网络连接故障处理方法及装置 | |
CN113391935B (zh) | 动态配置型WebService接口服务实现方法和装置 | |
CN112202631A (zh) | 一种资源访问方法、装置、系统、电子设备及存储介质 | |
US11055416B2 (en) | Detecting vulnerabilities in applications during execution | |
CN110908910B (zh) | 一种基于区块链的测试监控方法、装置及可读存储介质 | |
CN115186274A (zh) | 基于iast的安全测试方法及装置 | |
US9935867B2 (en) | Diagnostic service for devices that employ a device agent | |
CN106897185B (zh) | 一种输出异常的方法及装置 | |
CN112685745B (zh) | 一种固件检测方法、装置、设备及存储介质 | |
CN110716912B (zh) | 一种sql性能检测方法及服务器 | |
CN103731315A (zh) | 一种服务器故障检测方法 | |
CN112565277A (zh) | 一种数据传输方法、系统及电子设备 | |
CN113296911B (zh) | 集群调用方法、集群调用装置、电子设备及可读存储介质 | |
CN109740386B (zh) | 一种静态资源文件的检测方法及装置 | |
CN111858379A (zh) | 应用的测试方法和装置 | |
CN111475400A (zh) | 一种业务平台的验证方法及相关设备 | |
CN113778726A (zh) | 一种错误信息处理方法、装置、服务器和存储介质 | |
CN113691405B (zh) | 一种访问异常诊断方法、装置、存储介质及电子设备 | |
CN111741032B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240411 Address after: No. 1001, Yushan Road, Taierzhuang District, Zaozhuang City, Shandong Province, 277000 Patentee after: Zaozhuang Taifa New Energy Co.,Ltd. Country or region after: China Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. Country or region before: China |
|
TR01 | Transfer of patent right |