CN106603520A - 异常信息的拦截方法及装置 - Google Patents
异常信息的拦截方法及装置 Download PDFInfo
- Publication number
- CN106603520A CN106603520A CN201611127317.7A CN201611127317A CN106603520A CN 106603520 A CN106603520 A CN 106603520A CN 201611127317 A CN201611127317 A CN 201611127317A CN 106603520 A CN106603520 A CN 106603520A
- Authority
- CN
- China
- Prior art keywords
- information
- response message
- exception
- response
- abnormal
- 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.)
- Pending
Links
Classifications
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Abstract
本发明公开了一种异常信息的拦截方法及装置,该方法包括:获取服务器发送的响应信息,并判断响应信息是否是异常响应信息;若响应信息是异常响应信息,则确定响应信息所属的异常响应类型;并根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常;若响应信息不是异常响应信息,则将所述响应信息发送给客户端,以响应客户端发送的服务请求。本发明使得用户可清楚的了解异常,方便用户基于提示信息进行相关操作,因此提高了客户端操作便捷性。
Description
技术领域
本发明涉及异常处理技术领域,尤其涉及一种异常信息的拦截方法及装置。
背景技术
互联网的快速发展给人们的网络通信带来极大方便,让用户乐于通过网络来获取自身想要的信息,例如,用户通过购物类软件(如淘宝)查询想要的商品信息,并进行商品购买,但是,当购物类软件所在的服务器的代码发生异常(系统异常)时,或者,在登录注册的账户时输入的账户名或密码错误(业务异常)时,由于购物软件所属的服务器将异常响应信息直接发送客户端,如将服务器的乱码信息直接发送给客户端,使得客户端的用户无法清楚理解异常响应信息所代表的意思,从而使得用户无法基于异常响应信息进行相关操作,因此影响了用户对客户端的操作,降低了客户端操作便捷性。
发明内容
本发明的主要目的在于提供一种异常信息的拦截方法及装置,旨在及时拦截异常响应信息,以提升用户体验。
为实现上述目的,本发明提供的一种异常信息的拦截方法,所述异常信息的拦截方法包括以下步骤:
获取服务器发送的响应信息,并判断响应信息是否是异常响应信息,其中,所述响应信息为服务器基于客户端发送的服务请求所作出的响应;
若响应信息是异常响应信息,则确定响应信息所属的异常响应类型;并根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常;
若响应信息不是异常响应信息,则将所述响应信息发送给客户端,以响应客户端发送的服务请求。
优选地,所述异常响应类型包括业务异常响应信息和系统异常响应信息;
所述确定响应信息所属的异常响应类型的步骤包括:
将响应信息进行代码转换,生成服务器可识别的转换信息;
判断转换信息是否满足业务异常条件;
当转换信息满足业务异常条件时,将响应信息确定为业务异常响应信息;
当转换信息不满足业务异常条件时,将响应信息确定为系统异常响应信息。
优选地,所述根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常的步骤包括:
获取响应信息的异常编码,根据所述异常编码查找与响应信息所属的异常响应类型对应的提示模板信息;
根据异常编码和提示模板信息生成提示信息,并将提示信息发送给客户端,以提示客户端发送的服务请求出现异常。
优选地,所述根据所述异常编码查找与响应信息所属的异常响应类型对应的提示模板信息的步骤包括:
解析当前网页的地址信息,确定当前网页的语言环境;
根据当前网页的语言环境和异常编码从服务器的资源文件库中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。
优选地,所述异常信息的拦截方法还包括:
在确定响应信息为异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式;
基于所述指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理。
此外,为实现上述目的,本发明还提供一种异常信息的拦截装置,所述异常信息的拦截装置包括:
判断模块,用于获取服务器发送的响应信息,并判断响应信息是否是异常响应信息,其中,所述响应信息为服务器基于客户端发送的服务请求所作出的响应;
确定模块,用于若响应信息是异常响应信息,则确定响应信息所属的异常响应类型;
第一发送模块,用于根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常;
第二发送模块,用于若响应信息不是异常响应信息,则将所述响应信息发送给客户端,以响应客户端发送的服务请求。
优选地,所述异常响应类型包括业务异常响应信息和系统异常响应信息;所述确定模块包括:
转换单元,用于将响应信息进行代码转换,生成服务器可识别的转换信息;
判断单元,用于判断转换信息是否满足业务异常条件;
第一确定单元,用于当转换信息满足业务异常条件时,将响应信息确定为业务异常响应信息;
第二确定单元,用于当转换信息不满足业务异常条件时,将响应信息确定为系统异常响应信息。
优选地,所述第一发送模块包括:
查找单元,用于获取响应信息的异常编码,根据所述异常编码查找与响应信息所属的异常响应类型对应的提示模板信息;
发送单元,用于根据异常编码和提示模板信息生成提示信息,并将提示信息发送给客户端,以提示客户端发送的服务请求出现异常。
优选地,所述查找单元包括:
确定子单元,用于解析当前网页的地址信息,确定当前网页的语言环境;
查找子单元,用于根据当前网页的语言环境和异常编码从服务器的资源文件库中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。
优选地,所述异常信息的拦截装置还包括:
记录模块,用于在确定响应信息为异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式;
提示模块,用于基于所述指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理。
本发明在检测到异常响应信息时,对该异常响应信息进行拦截,并基于该异常响应信息向客户端发送提示信息,以提示客户端发送的服务请求出现异常,而不是直接将异常响应信息发送客户端,通过及时将可读性差的异常响应信息进行拦截,并将拦截后的异常响应信息转换成用户能够识别的提示信息发送到客户端,以供客户端的用户查看,从而使得用户可清楚的了解异常,方便用户基于提示信息进行相关操作,因此提高了客户端操作便捷性,改善用户体验。
附图说明
图1为本发明异常信息的拦截方法的第一实施例的流程示意图;
图2拦截异常信息的场景示意图;
图3为本发明图1所示第一实施例中步骤S20的细化步骤的流程示意图;
图4为本发明图1所示第一实施例中步骤S30的细化步骤的流程示意图;
图5为本发明异常信息的拦截方法中步骤S31的细化步骤的流程示意图;
图6为本发明异常信息的拦截方法的第二实施例的流程示意图;
图7为本发明异常信息的拦截装置的第一实施例的功能模块示意图;
图8为本发明异常信息的拦截装置的第二实施例中确定模块的细化功能模块示意图;
图9为本发明异常信息的拦截装置的第三实施例中第一发送模块的细化功能模块示意图;
图10为本发明异常信息的拦截装置的第四实施例中查找单元的细化功能模块示意图;
图11为本发明装置的第五实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
基于上述问题,本发明提供一种异常信息的拦截方法。
参照图1,图1为本发明异常信息的拦截方法的第一实施例的流程示意图。
在本实施例中,所述异常信息的拦截方法包括:
步骤S10,获取服务器发送的响应信息,并判断响应信息是否是异常响应信息,其中,响应信息为服务器基于客户端发送的服务请求所作出的响应;
在本实施例中,客户端安装有的应用程序,如购物类应用程序,当客户端的用户打开应用程序后,基于打开的应用程序的输入框中输入查询关键词或者查询地址,在点击搜索时,基于输入查询关键词或者查询地址生成服务请求,将该服务请求发送给该应用程序所属的服务器,当该服务器接收该服务请求时,该服务请求首先经过服务器的ExceptionFilter(异常拦截)模块,然后经过服务器的其他处理模块一层一层的传递,直至service服务模块中进行处理,控制该service服务模块对该服务请求作出响应,生成响应信息,并将响应信息一层一层的沿服务请求传递路径向上抛送,直至到达ExceptionFilter模块,控制该ExceptionFilter模块拦截该响应信息,判断该响应信息是否是异常响应信息。
需要说明的是,本方案基于Java Servlet Filter实现全局ExceptionFilter,该ExceptionFilter实现了Filter接口,同时重写ExceptionFilter的doFilter方法、init方法以及destroy方法。
步骤S20,若响应信息是异常响应信息,则确定响应信息所属的异常响应类型;
步骤S30,根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常;
该异常响应类型包括业务异常响应信息和系统异常响应信息。若该响应信息是异常响应信息,则需要进一步判断响应信息的所属的异常响应类型,如判断该响应信息是业务异常响应信息(Application Exception)还是系统异常响应信息(System Exception),该业务异常响应信息可以理解为自定义异常响应信息,该系统异常响应信息可以理解为服务器的程序运行中的异常响应信息,是由于开发人员的编码逻辑以及编码时一些无法预料的场景导致的异常响应信息。例如,当客户端的用户在登录账号时,会输入用户名和用户密码,当服务器接收到用户当前输入的用户名或用户密码与预存的用户名或者用户密码不匹配时,控制service服务模块抛出异常响应信息,控制该ExceptionFilter模块拦截该异常响应信息,并确定该异常响应信息为业务异常响应信息,或者当服务器接收到用户当前输入的用户名或用户密码时,将该当前输入的用户名或用户密码与预存的用户名或者用户密码匹配的过程中,服务器中的程序运行出现问题,控制service服务模块抛出异常响应信息,控制该ExceptionFilter模块拦截该异常响应信息,并确定该异常响应信息为系统异常响应信息。
在确定响应信息所属的异常响应类型后,根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常。其中,该提示信息为文本信息,如中文文字提示信息或者英文文字提示信息,通过该提示信息使得客户端的用户可清楚的了解当前发生的异常。
步骤S40,若响应信息不是异常响应信息,则将响应信息发送给客户端,以响应客户端发送的服务请求。
若确定响应信息不是异常响应信息,则将响应信息发送给客户端,以响应客户端发送的服务请求,使得客户端的用户可获取到想要的信息。例如,用户基于打开的购物类应用程序的输入框中输入关键词“雨伞”,当服务器接收到该服务请求时,控制该service服务模块搜索与“雨伞”有关的商品信息,并抛出搜索到商品信息,控制ExceptionFilter模块拦截该商品信息,在确定该商品信息不是异常响应信息时,将该商品信息发送给客户端,以响应客户端发送的服务请求。
参照图2,下面通过一个实施例来详细说明上述方法是如何实现的。
服务器接收到客户端发送的服务请求,该服务请求经过服务器中的ExceptionFilter模块,并向下一层处理模块传送,直至传送到service服务模块,该service服务模块基于该服务请求抛出响应信息,并将响应信息向上层处理模块传送,直至ExceptionFilter模块,该ExceptionFilter模块拦截该响应信息,通过ExceptionFilter模块中Try语句块的chian.doFilter(request,response)语句,来判断该响应信息是否是异常响应信息,当Try语句块确定该响应信息为异常响应信息时,通过ExceptionFilter模块中Catch Exception语句块来捕获该异常响应信息,并将捕获的异常响应信息转换成提示信息,将该提示信息发送给客户端,以提示客户端发送的服务请求出现异常;当Try语句块确定该响应信息不是异常响应信息时,直接将该响应信息发送给客户端,以响应客户端发送的服务请求。
本实施例在检测到异常响应信息时,对该异常响应信息进行拦截,并基于该异常响应信息向客户端发送提示信息,以提示客户端发送的服务请求出现异常,而不是直接将异常响应信息发送客户端,通过及时将可读性差的异常响应信息进行拦截,并将拦截后的异常响应信息转换成用户能够识别的提示信息发送到客户端,以供客户端的用户查看,从而使得用户可清楚的了解异常,方便用户基于提示信息进行相关操作,因此提高了客户端操作便捷性,改善用户体验。
进一步的,请参阅图3,为本发明第一实施例中步骤S20的细化步骤的流程示意图,该步骤S20的细化步骤包括:
步骤S21,将响应信息进行代码转换,生成服务器可识别的转换信息;
在本实施例中,由于该service服务模块抛出的响应信息是一些原始数据,无法识别出该响应信息到底是业务异常响应信息还是系统异常响应信息,因此需要将该响应信息进行代码转换,生成服务器可识别的转换信息。
步骤S22,判断转换信息是否满足业务异常条件;
步骤S23,当转换信息满足业务异常条件时,将响应信息确定为业务异常响应信息;
满足业务异常条件可以理解为满足自定义异常,如转换信息记录的是用户当前输入的用户名或密码与预存的用户名或密码不匹配,表明该转换信息满足业务异常条件,或者转换信息记录的是未搜索到与服务请求关联的信息。判断转换信息是否满足服务器中存储的业务异常条件,也表明该转换信息满足业务异常条件。当转换信息满足业务异常条件时,将响应信息确定为业务异常响应信息。
步骤S24,当转换信息不满足业务异常条件时,将响应信息确定为系统异常响应信息。
当转换信息不满足业务异常条件时,将该转换信息向下一层处理模块进行处理,以使层处理模块中的th.getCausea()处理语句获取该转换信息,来判断转换信息是否满足系统异常条件,其中,满足系统异常条件包括ClassCastException(类转换异常)、IndexOutOfBoundsException(数组越界)、NullPointerException(空指针)、ArrayStoreException(数据存储异常,操作数组时类型不一致)以及BufferOverflowException(IO操作异常);若转换信息满足系统异常条件,则将响应信息确定为系统异常响应信息;若转换信息不满足系统异常条件,则继续判断转换信息是否满足业务异常条件,直至确定响应信息所属的异常响应信息的类型为止。
本实施例在确定响应信息为异常响应信息时,进一步判断响应信息所属的异常响应类型,即判断该响应信息是业务异常响应信息还是系统异常响应信息,当响应信息是业务异常响应信息时,按照业务异常处理方式来处理业务异常响应信息,当响应信息是系统异常响应信息时,按照系统异常处理方式来处理系统异常响应信息,以保证所有的异常响应信息都能够被转换成用户能够识别的提示信息。
进一步的,请参阅图4,为本发明第一实施例中步骤S30的细化步骤的流程示意图,该步骤S30的细化步骤包括:
步骤S31,获取响应信息的异常编码,根据异常编码查找与响应信息所属的异常响应类型对应的提示模板信息;
在本实施例中,在确定响应信息所属的异常响应类型后,获取响应信息中包含的异常编码,例如,在确定响应信息为业务异常响应信息时,获取该业务异常响应信息中包含的“10001”异常编码,在确定响应信息为系统异常响应信息时,自动给该系统异常响应信息赋予一个的异常编,如“000”异常编码。根据该异常编码查找与响应信息所属的异常响应类型对应的提示模板信息,例如,根据异常编码“10001”查找到与业务异常响应信息对应的用户名或密码错误的提示模板信息,根据异常编码“000”查找到与系统异常响应信息对应的系统运行错误的提示模板信息。其中,提示模板信息都是自定义的。
步骤S32,根据异常编码和提示模板信息生成提示信息,并将提示信息发送给客户端,以提示客户端发送的服务请求出现异常。
将该异常编码以及提示模板信息统一存入一个ErrorMesage实例中,从而生成了提示信息,将该提示信息发送给客户端,以提示客户端发送的服务请求出现异常。其中,该ErrorMesage实例包括异常编码errorCode和提示模板信息errorMsg这两个字段。
本实施例通过获取响应信息的异常编码,根据异常编码查找与响应信息所属的异常响应类型对应的提示模板信息,根据异常编码和提示模板信息生成提示信息,并将提示信息发送给客户端,以提示客户端发送的服务请求出现异常。由于通过异常编码查找与响应信息所属的异常响应类型对应的提示模板信息,提高了服务器对异常编码识别效率,而根据异常编码和提示模板信息生成提示信息,使得生成的提示信息能够更加清楚明了的提示客户端用户当前所发生的异常。
进一步的,请参阅图5,为本发明异常信息的拦截方法中步骤S31的细化步骤的流程示意图,该步骤S31的细化步骤包括:
步骤S311,解析当前网页的地址信息,确定当前网页的语言环境;
在本实施例中,由于客户端发送给服务请求中包含有当前网页的地址信息,而该当前网页的地址信息中包含有客户端当前语言环境,如客户端当前的语言环境为英语语言环境或者中文语言环境,因此通过解析当前网页的地址信息,可确定当前网页的语言环境。
或者,在用户打开客户端上某个应用程序时,就直接将客户端当前语言环境的信息发送给服务器。
步骤S312,根据当前网页的语言环境和异常编码从服务器的资源文件库中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。
根据当前网页的语言环境和异常编码从服务器的资源文件库的error.i18n.zh_ch.properties资源文件中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。例如,客户端的语言环境为英语语言环境,根据英语语言环境以及异常编码“10001”查找到与业务异常响应信息对应的用户名或密码错误的英文提示模板信息。
本实施例通过解析当前网页的地址信息,确定当前网页的语言环境,根据当前网页的语言环境和异常编码从服务器的资源文件库中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。由于通过查找资源文件库即可获取与当前网页的语言环境对应的提示模板信息,因此只需定义资源文件库中资源文件的描述即可,无需修改代码,从而提高了创建提示模板信息的效率,减少了开发人员的开发难度,以及使得生成的提示信息能够更加清楚明了的提示客户端用户当前所发生的异常。
进一步的,请参阅图6,为本发明提出的异常信息的拦截方法的第二实施例的流程示意图,在该第二实施例中,步骤S20之后,该异常信息的拦截方法还包括:
步骤S50,在确定响应信息为异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式;
步骤S60,基于指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理。
在本实施例中,在确定响应信息为异常响应信息时,如在确定响应信息为系统异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式,基于指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理,日志信息中记录了响应信息是系统异常响应信息,且响应信息记录的是类转换异常,那么管理员可对发生类转换异常的代码进行处理。其中,该指定的提示方式可以是邮件提示方式或者短息提示方式。
本实施例通过在确定响应信息为异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式,基于指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理,使得管理员可及时发现异常响应信息,并方便管理员及时找到出现异常响应信息的根源。
本发明进一步提供一种异常信息的拦截装置。
参照图7,图7为本发明异常信息的拦截装置的第一实施例的功能模块示意图。
在本实施例中,所述异常信息的拦截装置包括:判断模块10、确定模块20、第一发送模块30及第二发送模块40。
所述判断模块10,用于获取服务器发送的响应信息,并判断响应信息是否是异常响应信息,其中,响应信息为服务器基于客户端发送的服务请求所作出的响应;
在本实施例中,服务器包含异常信息的拦截装置。客户端安装有的应用程序,如购物类应用程序,当客户端的用户打开应用程序后,基于打开的应用程序的输入框中输入查询关键词或者查询地址,在点击搜索时,基于输入查询关键词或者查询地址生成服务请求,将该服务请求发送给该应用程序所属的服务器,当该服务器接收该服务请求时,该服务请求首先经过服务器的ExceptionFilter(异常拦截)模块,然后经过服务器的其他处理模块一层一层的传递,直至service服务模块中进行处理,控制该service服务模块对该服务请求作出响应,生成响应信息,并将响应信息一层一层的沿服务请求传递路径向上抛送,直至到达ExceptionFilter模块,判断模块10控制该ExceptionFilter模块拦截该响应信息,判断该响应信息是否是异常响应信息。
需要说明的是,本方案基于Java Servlet Filter实现全局ExceptionFilter,该ExceptionFilter实现了Filter接口,同时重写ExceptionFilter的doFilter方法、init方法以及destroy方法。
所述确定模块20,用于若响应信息是异常响应信息,则确定响应信息所属的异常响应类型;
所述第一发送模块30,用于根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常;
该异常响应类型包括业务异常响应信息和系统异常响应信息。若该响应信息是异常响应信息,则确定模块20需要进一步判断响应信息的所属的异常响应类型,如确定模块20判断该响应信息是业务异常响应信息(Application Exception)还是系统异常响应信息(System Exception),该业务异常响应信息可以理解为自定义异常响应信息,该系统异常响应信息可以理解为服务器的程序运行中的异常响应信息,是由于开发人员的编码逻辑以及编码时一些无法预料的场景导致的异常响应信息。例如,当客户端的用户在登录账号时,会输入用户名和用户密码,当服务器接收到用户当前输入的用户名或用户密码与预存的用户名或者用户密码不匹配时,控制service服务模块抛出异常响应信息,控制该ExceptionFilter模块拦截该异常响应信息,并确定该异常响应信息为业务异常响应信息,或者当服务器接收到用户当前输入的用户名或用户密码时,将该当前输入的用户名或用户密码与预存的用户名或者用户密码匹配的过程中,服务器中的程序运行出现问题,控制service服务模块抛出异常响应信息,控制该ExceptionFilter模块拦截该异常响应信息,并确定该异常响应信息为系统异常响应信息。
在确定响应信息所属的异常响应类型后,第一发送模块30根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常。其中,该提示信息为文本信息,如中文文字提示信息或者英文文字提示信息,通过该提示信息使得客户端的用户可清楚的了解当前发生的异常。
所述第二发送模块40,用于若响应信息不是异常响应信息,则将响应信息发送给客户端,以响应客户端发送的服务请求。
若确定响应信息不是异常响应信息,则第二发送模块40将响应信息发送给客户端,以响应客户端发送的服务请求,使得客户端的用户可获取到想要的信息。例如,用户基于打开的购物类应用程序的输入框中输入关键词“雨伞”,当服务器接收到该服务请求时,控制该service服务模块搜索与“雨伞”有关的商品信息,并抛出搜索到商品信息,控制ExceptionFilter模块拦截该商品信息,在确定该商品信息不是异常响应信息时,将该商品信息发送给客户端,以响应客户端发送的服务请求。
参照图2,下面通过一个实施例来详细说明上述方法是如何实现的。
服务器接收到客户端发送的服务请求,该服务请求经过服务器中的ExceptionFilter模块,并向下一层处理模块传送,直至传送到service服务模块,该service服务模块基于该服务请求抛出响应信息,并将响应信息向上层处理模块传送,直至ExceptionFilter模块,该ExceptionFilter模块拦截该响应信息,通过ExceptionFilter模块中Try语句块的chian.doFilter(request,response)语句,来判断该响应信息是否是异常响应信息,当Try语句块确定该响应信息为异常响应信息时,通过ExceptionFilter模块中Catch Exception语句块来捕获该异常响应信息,并将捕获的异常响应信息转换成提示信息,将该提示信息发送给客户端,以提示客户端发送的服务请求出现异常;当Try语句块确定该响应信息不是异常响应信息时,直接将该响应信息发送给客户端,以响应客户端发送的服务请求。
本实施例在检测到异常响应信息时,对该异常响应信息进行拦截,并基于该异常响应信息向客户端发送提示信息,以提示客户端发送的服务请求出现异常,而不是直接将异常响应信息发送客户端,通过及时将可读性差的异常响应信息进行拦截,并将拦截后的异常响应信息转换成用户能够识别的提示信息发送到客户端,以供客户端的用户查看,从而使得用户可清楚的了解异常,方便用户基于提示信息进行相关操作,因此提高了客户端操作便捷性,改善用户体验。
进一步的,基于上述第一实施例,提出本发明异常信息的拦截装置的第二实施例,在本实施例中,参照图8,所述确定模块20包括转换单元21、判断单元22、第一确定单元23及第二确定单元24。
所述转换单元21,用于将响应信息进行代码转换,生成服务器可识别的转换信息;
在本实施例中,由于该service服务模块抛出的响应信息是一些原始数据,无法识别出该响应信息到底是业务异常响应信息还是系统异常响应信息,因此需要转换单元21将该响应信息进行代码转换,生成服务器可识别的转换信息。
所述判断单元22,用于判断转换信息是否满足业务异常条件;
所述第一确定单元23,用于当转换信息满足业务异常条件时,将响应信息确定为业务异常响应信息;
判断单元22判断转换信息是否满足业务异常条件。满足业务异常条件可以理解为满足自定义异常,如转换信息记录的是用户当前输入的用户名或密码与预存的用户名或密码不匹配,表明该转换信息满足业务异常条件,或者转换信息记录的是未搜索到与服务请求关联的信息。判断转换信息是否满足服务器中存储的业务异常条件,也表明该转换信息满足业务异常条件。当转换信息满足业务异常条件时,将响应信息确定为业务异常响应信息。
所述第二确定单元24,用于当转换信息不满足业务异常条件时,将响应信息确定为系统异常响应信息。
当转换信息不满足业务异常条件时,第二确定单元24将该转换信息向下一层处理模块进行处理,以使层处理模块中的th.getCausea()处理语句获取该转换信息,来判断转换信息是否满足系统异常条件,其中,满足系统异常条件包括ClassCastException(类转换异常)、IndexOutOfBoundsException(数组越界)、NullPointerException(空指针)、ArrayStoreException(数据存储异常,操作数组时类型不一致)以及BufferOverflowException(IO操作异常);若转换信息满足系统异常条件,则将响应信息确定为系统异常响应信息;若转换信息不满足系统异常条件,则继续判断转换信息是否满足业务异常条件,直至确定响应信息所属的异常响应信息的类型为止。
本实施例在确定响应信息为异常响应信息时,进一步判断响应信息所属的异常响应类型,即判断该响应信息是业务异常响应信息还是系统异常响应信息,当响应信息是业务异常响应信息时,按照业务异常处理方式来处理业务异常响应信息,当响应信息是系统异常响应信息时,按照系统异常处理方式来处理系统异常响应信息,以保证所有的异常响应信息都能够被转换成用户能够识别的提示信息。
进一步的,基于上述第一实施例,提出本发明异常信息的拦截装置的第三实施例,在本实施例中,参照图9,所述第一发送模块30包括查找单元31及发送单元32。
所述查找单元31,用于获取响应信息的异常编码,根据异常编码查找与响应信息所属的异常响应类型对应的提示模板信息;
在本实施例中,在确定响应信息所属的异常响应类型后,查找单元31获取响应信息中包含的异常编码,例如,在确定响应信息为业务异常响应信息时,获取该业务异常响应信息中包含的“10001”异常编码,在确定响应信息为系统异常响应信息时,自动给该系统异常响应信息赋予一个的异常编,如“000”异常编码。查找单元31根据该异常编码查找与响应信息所属的异常响应类型对应的提示模板信息,例如,根据异常编码“10001”查找到与业务异常响应信息对应的用户名或密码错误的提示模板信息,根据异常编码“000”查找到与系统异常响应信息对应的系统运行错误的提示模板信息。其中,提示模板信息都是自定义的。
所述发送单元32,用于根据异常编码和提示模板信息生成提示信息,并将提示信息发送给客户端,以提示客户端发送的服务请求出现异常。
发送单元32将该异常编码以及提示模板信息统一存入一个ErrorMesage实例中,从而生成了提示信息,将该提示信息发送给客户端,以提示客户端发送的服务请求出现异常。其中,该ErrorMesage实例包括异常编码errorCode和提示模板信息errorMsg这两个字段。
本实施例通过获取响应信息的异常编码,根据异常编码查找与响应信息所属的异常响应类型对应的提示模板信息,根据异常编码和提示模板信息生成提示信息,并将提示信息发送给客户端,以提示客户端发送的服务请求出现异常。由于通过异常编码查找与响应信息所属的异常响应类型对应的提示模板信息,提高了服务器对异常编码识别效率,而根据异常编码和提示模板信息生成提示信息,使得生成的提示信息能够更加清楚明了的提示客户端用户当前所发生的异常。
进一步的,基于上述第三实施例,提出本发明异常信息的拦截装置的第四实施例,在本实施例中,参照图10,所述查找单元31包括确定子单元311及查找子单元312。
所述确定子单元311,用于解析当前网页的地址信息,确定当前网页的语言环境;
在本实施例中,由于客户端发送给服务请求中包含有当前网页的地址信息,而该当前网页的地址信息中包含有客户端当前语言环境,如客户端当前的语言环境为英语语言环境或者中文语言环境,因此确定子单元311通过解析当前网页的地址信息,可确定当前网页的语言环境。
或者,在用户打开客户端上某个应用程序时,就直接将客户端当前语言环境的信息发送给服务器。
所述查找子单元312,用于根据当前网页的语言环境和异常编码从服务器的资源文件库中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。
根据当前网页的语言环境和异常编码从服务器的资源文件库(error.i18n.zh_ch.properties)中,查找子单元312查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。例如,客户端的语言环境为英语语言环境,根据英语语言环境以及异常编码“10001”查找到与业务异常响应信息对应的用户名或密码错误的英文提示模板信息。
本实施例通过解析当前网页的地址信息,确定当前网页的语言环境,根据当前网页的语言环境和异常编码从服务器的资源文件库中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。由于通过查找资源文件库即可获取与当前网页的语言环境对应的提示模板信息,因此只需定义资源文件库中资源文件的描述即可,无需修改代码,从而提高了创建提示模板信息的效率,减少了开发人员的开发难度,以及使得生成的提示信息能够更加清楚明了的提示客户端用户当前所发生的异常。
进一步的,基于上述第一或第二实施例,提出本发明异常信息的拦截装置的第五实施例,在本实施例中,参照图11,所述异常信息的拦截装置还包括:记录模块50及提示模块60。
所述记录模块50,用于在确定响应信息为异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式;
所述提示模块60,用于基于指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理。
在本实施例中,在确定响应信息为异常响应信息时,如在确定响应信息为系统异常响应信息时,记录模块50将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式,提示模块60基于指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理,日志信息中记录了响应信息是系统异常响应信息,且响应信息记录的是类转换异常,那么管理员可对发生类转换异常的代码进行处理。其中,该指定的提示方式可以是邮件提示方式或者短息提示方式。
本实施例通过在确定响应信息为异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式,基于指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理,使得管理员可及时发现异常响应信息,并方便管理员及时找到出现异常响应信息的根源。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种异常信息的拦截方法,其特征在于,所述异常信息的拦截方法包括以下步骤:
获取服务器发送的响应信息,并判断响应信息是否是异常响应信息,其中,所述响应信息为服务器基于客户端发送的服务请求所作出的响应;
若响应信息是异常响应信息,则确定响应信息所属的异常响应类型;并根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常;
若响应信息不是异常响应信息,则将所述响应信息发送给客户端,以响应客户端发送的服务请求。
2.如权利要求1所述的异常信息的拦截方法,其特征在于,所述异常响应类型包括业务异常响应信息和系统异常响应信息;
所述确定响应信息所属的异常响应类型的步骤包括:
将响应信息进行代码转换,生成服务器可识别的转换信息;
判断转换信息是否满足业务异常条件;
当转换信息满足业务异常条件时,将响应信息确定为业务异常响应信息;
当转换信息不满足业务异常条件时,将响应信息确定为系统异常响应信息。
3.如权利要求1所述的异常信息的拦截方法,其特征在于,所述根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常的步骤包括:
获取响应信息的异常编码,根据所述异常编码查找与响应信息所属的异常响应类型对应的提示模板信息;
根据异常编码和提示模板信息生成提示信息,并将提示信息发送给客户端,以提示客户端发送的服务请求出现异常。
4.如权利要求3所述的异常信息的拦截方法,其特征在于,所述根据所述异常编码查找与响应信息所属的异常响应类型对应的提示模板信息的步骤包括:
解析当前网页的地址信息,确定当前网页的语言环境;
根据当前网页的语言环境和异常编码从服务器的资源文件库中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。
5.如权利要求1或2所述的异常信息的拦截方法,其特征在于,所述异常信息的拦截方法还包括:
在确定响应信息为异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式;
基于所述指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理。
6.一种异常信息的拦截装置,其特征在于,所述异常信息的拦截装置包括:
判断模块,用于获取服务器发送的响应信息,并判断响应信息是否是异常响应信息,其中,所述响应信息为服务器基于客户端发送的服务请求所作出的响应;
确定模块,用于若响应信息是异常响应信息,则确定响应信息所属的异常响应类型;
第一发送模块,用于根据响应信息所属的异常响应类型向客户端发送相应的提示信息,以提示客户端发送的服务请求出现异常;
第二发送模块,用于若响应信息不是异常响应信息,则将所述响应信息发送给客户端,以响应客户端发送的服务请求。
7.如权利要求6所述的异常信息的拦截装置,其特征在于,所述异常响应类型包括业务异常响应信息和系统异常响应信息;所述确定模块包括:
转换单元,用于将响应信息进行代码转换,生成服务器可识别的转换信息;
判断单元,用于判断转换信息是否满足业务异常条件;
第一确定单元,用于当转换信息满足业务异常条件时,将响应信息确定为业务异常响应信息;
第二确定单元,用于当转换信息不满足业务异常条件时,将响应信息确定为系统异常响应信息。
8.如权利要求6所述的异常信息的拦截装置,其特征在于,所述第一发送模块包括:
查找单元,用于获取响应信息的异常编码,根据所述异常编码查找与响应信息所属的异常响应类型对应的提示模板信息;
发送单元,用于根据异常编码和提示模板信息生成提示信息,并将提示信息发送给客户端,以提示客户端发送的服务请求出现异常。
9.如权利要求8所述的异常信息的拦截装置,其特征在于,所述查找单元包括:
确定子单元,用于解析当前网页的地址信息,确定当前网页的语言环境;
查找子单元,用于根据当前网页的语言环境和异常编码从服务器的资源文件库中,查找与响应信息所属的异常响应类型和语言环境均对应的提示模板信息。
10.如权利要求6或7所述的异常信息的拦截装置,其特征在于,所述异常信息的拦截装置还包括:
记录模块,用于在确定响应信息为异常响应信息时,将响应信息以及响应信息所属的异常响应类型记录在日志信息中,并获取异常响应信息管理员指定的提示方式;
提示模块,用于基于所述指定的提示方式发送日志信息,以提示异常响应信息管理员对响应信息进行相应的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611127317.7A CN106603520A (zh) | 2016-12-08 | 2016-12-08 | 异常信息的拦截方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611127317.7A CN106603520A (zh) | 2016-12-08 | 2016-12-08 | 异常信息的拦截方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106603520A true CN106603520A (zh) | 2017-04-26 |
Family
ID=58597986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611127317.7A Pending CN106603520A (zh) | 2016-12-08 | 2016-12-08 | 异常信息的拦截方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106603520A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108683562A (zh) * | 2018-05-18 | 2018-10-19 | 深圳壹账通智能科技有限公司 | 异常检测定位方法、装置、计算机设备及存储介质 |
CN109218270A (zh) * | 2017-07-06 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 一种处理被劫持请求的方法和装置 |
CN109688004A (zh) * | 2018-12-21 | 2019-04-26 | 西安四叶草信息技术有限公司 | 异常数据检测方法及设备 |
CN109995556A (zh) * | 2017-12-29 | 2019-07-09 | 中国移动通信集团公司 | 一种报文格式更正方法及装置 |
CN110020362A (zh) * | 2017-11-15 | 2019-07-16 | 广州市动景计算机科技有限公司 | 一种服务器错误页面的处理方法及装置 |
CN110955547A (zh) * | 2019-10-31 | 2020-04-03 | 北京浪潮数据技术有限公司 | 一种接口异常信息的管理方法、系统、设备及可读存储介质 |
CN111030894A (zh) * | 2020-01-07 | 2020-04-17 | 广州思正电子股份有限公司 | 分布式通信系统的前端测试方法 |
CN111142851A (zh) * | 2019-12-30 | 2020-05-12 | 北京明略软件系统有限公司 | 一种异常请求处理方法、装置、电子设备及存储介质 |
CN113364614A (zh) * | 2021-05-19 | 2021-09-07 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、服务器、存储介质及程序产品 |
CN113746703A (zh) * | 2021-09-03 | 2021-12-03 | 上海众源网络有限公司 | 一种异常链路监控方法、系统和装置 |
CN113900895A (zh) * | 2021-10-08 | 2022-01-07 | 深圳市欢太数字科技有限公司 | 信息处理方法、信息处理装置、存储介质与电子设备 |
CN114461302A (zh) * | 2022-02-09 | 2022-05-10 | 北京理房通支付科技有限公司 | 参数校验方法、校验模板的生成方法及存储介质 |
CN117112368A (zh) * | 2023-10-18 | 2023-11-24 | 美云智数科技有限公司 | 异常处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197722A (zh) * | 2007-12-29 | 2008-06-11 | 中国建设银行股份有限公司 | 一种多系统错误码管理方法、装置及系统 |
CN102981943A (zh) * | 2012-10-29 | 2013-03-20 | 新浪技术(中国)有限公司 | 监控应用日志的方法及系统 |
CN104750747A (zh) * | 2013-12-30 | 2015-07-01 | 腾讯科技(深圳)有限公司 | 将报错信息转换为出错提示的方法和系统 |
CN105550054A (zh) * | 2015-12-04 | 2016-05-04 | 中国建设银行股份有限公司 | 处理错误提示信息的方法及系统 |
-
2016
- 2016-12-08 CN CN201611127317.7A patent/CN106603520A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101197722A (zh) * | 2007-12-29 | 2008-06-11 | 中国建设银行股份有限公司 | 一种多系统错误码管理方法、装置及系统 |
CN102981943A (zh) * | 2012-10-29 | 2013-03-20 | 新浪技术(中国)有限公司 | 监控应用日志的方法及系统 |
CN104750747A (zh) * | 2013-12-30 | 2015-07-01 | 腾讯科技(深圳)有限公司 | 将报错信息转换为出错提示的方法和系统 |
CN105550054A (zh) * | 2015-12-04 | 2016-05-04 | 中国建设银行股份有限公司 | 处理错误提示信息的方法及系统 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218270A (zh) * | 2017-07-06 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 一种处理被劫持请求的方法和装置 |
CN110020362A (zh) * | 2017-11-15 | 2019-07-16 | 广州市动景计算机科技有限公司 | 一种服务器错误页面的处理方法及装置 |
CN109995556A (zh) * | 2017-12-29 | 2019-07-09 | 中国移动通信集团公司 | 一种报文格式更正方法及装置 |
CN108683562A (zh) * | 2018-05-18 | 2018-10-19 | 深圳壹账通智能科技有限公司 | 异常检测定位方法、装置、计算机设备及存储介质 |
CN108683562B (zh) * | 2018-05-18 | 2022-05-17 | 深圳壹账通智能科技有限公司 | 异常检测定位方法、装置、计算机设备及存储介质 |
CN109688004A (zh) * | 2018-12-21 | 2019-04-26 | 西安四叶草信息技术有限公司 | 异常数据检测方法及设备 |
CN110955547B (zh) * | 2019-10-31 | 2022-03-22 | 北京浪潮数据技术有限公司 | 一种接口异常信息的管理方法、系统、设备及可读存储介质 |
CN110955547A (zh) * | 2019-10-31 | 2020-04-03 | 北京浪潮数据技术有限公司 | 一种接口异常信息的管理方法、系统、设备及可读存储介质 |
CN111142851A (zh) * | 2019-12-30 | 2020-05-12 | 北京明略软件系统有限公司 | 一种异常请求处理方法、装置、电子设备及存储介质 |
CN111030894B (zh) * | 2020-01-07 | 2022-01-18 | 燕东科技(广东)有限公司 | 分布式通信系统的前端测试方法 |
CN111030894A (zh) * | 2020-01-07 | 2020-04-17 | 广州思正电子股份有限公司 | 分布式通信系统的前端测试方法 |
CN113364614A (zh) * | 2021-05-19 | 2021-09-07 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、服务器、存储介质及程序产品 |
CN113364614B (zh) * | 2021-05-19 | 2022-11-11 | 北京达佳互联信息技术有限公司 | 请求处理方法、装置、服务器、存储介质及程序产品 |
CN113746703A (zh) * | 2021-09-03 | 2021-12-03 | 上海众源网络有限公司 | 一种异常链路监控方法、系统和装置 |
CN113900895A (zh) * | 2021-10-08 | 2022-01-07 | 深圳市欢太数字科技有限公司 | 信息处理方法、信息处理装置、存储介质与电子设备 |
CN114461302A (zh) * | 2022-02-09 | 2022-05-10 | 北京理房通支付科技有限公司 | 参数校验方法、校验模板的生成方法及存储介质 |
CN117112368A (zh) * | 2023-10-18 | 2023-11-24 | 美云智数科技有限公司 | 异常处理方法、装置、电子设备及存储介质 |
CN117112368B (zh) * | 2023-10-18 | 2024-03-22 | 美云智数科技有限公司 | 异常处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106603520A (zh) | 异常信息的拦截方法及装置 | |
US20180165691A1 (en) | Learning and automating agent actions | |
US20220067115A1 (en) | Information processing method, apparatus, electrical device and readable storage medium | |
US10122830B2 (en) | Validation associated with a form | |
WO2018235252A1 (ja) | 分析装置、ログの分析方法及び記録媒体 | |
US20210200955A1 (en) | Sentiment analysis for fraud detection | |
US11720742B2 (en) | Detecting webpages that share malicious content | |
US11182163B1 (en) | Customizable courses of action for responding to incidents in information technology environments | |
WO2016188029A1 (zh) | 解析二维码的方法及装置、计算机可读存储介质、计算机程序产品与终端设备 | |
CN109360557A (zh) | 语音控制应用程序的方法、装置和计算机设备 | |
CN110268472B (zh) | 用于自动化对话系统的检测机构 | |
US11886818B2 (en) | Method and apparatus for detecting anomalies in mission critical environments | |
KR20230062660A (ko) | 자동채움 필드 분류를 위한 시스템 및 방법 | |
JP2012088803A (ja) | 悪性ウェブコード判別システム、悪性ウェブコード判別方法および悪性ウェブコード判別用プログラム | |
CN113067792A (zh) | 一种xss攻击识别方法、装置、设备及介质 | |
US11762937B2 (en) | Information processing apparatus, information processing system, and method of processing information | |
US11868678B2 (en) | User interface sound emanation activity classification | |
CN113422810B (zh) | 向服务提供商发送信息的方法及设备 | |
EP3752917A1 (en) | Rendering visual components on applications in response to voice commands | |
CN111063340A (zh) | 终端的业务处理方法、装置、终端及计算机可读存储介质 | |
Algwil | Click-based Captcha paradigm as a web service | |
US11669588B2 (en) | Advanced data collection block identification | |
KR102565960B1 (ko) | 입력 사용자 인터페이스를 이용한 문서 작성, 저장, 전송, 통계 도출이 가능한 박스 전자 문서화 시스템, 그리고 그 제공 방법 | |
US20230062297A1 (en) | Systems and methods for code repository embedding for tagging and summarization tasks using attention on multiple code domains | |
CN107547518A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |