CN106126361B - 防御Spring MVC网站崩溃的方法及系统 - Google Patents

防御Spring MVC网站崩溃的方法及系统 Download PDF

Info

Publication number
CN106126361B
CN106126361B CN201610409985.2A CN201610409985A CN106126361B CN 106126361 B CN106126361 B CN 106126361B CN 201610409985 A CN201610409985 A CN 201610409985A CN 106126361 B CN106126361 B CN 106126361B
Authority
CN
China
Prior art keywords
request
collapse
doubtful
website
labeled
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
Application number
CN201610409985.2A
Other languages
English (en)
Other versions
CN106126361A (zh
Inventor
刘德建
陈丛亮
毛新生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian TQ Digital Co Ltd
Original Assignee
Fujian TQ Digital Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujian TQ Digital Co Ltd filed Critical Fujian TQ Digital Co Ltd
Priority to CN201610409985.2A priority Critical patent/CN106126361B/zh
Publication of CN106126361A publication Critical patent/CN106126361A/zh
Application granted granted Critical
Publication of CN106126361B publication Critical patent/CN106126361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种防御Spring MVC网站崩溃的方法及系统,包括:对每个发送到服务端的请求通过Spring MVC的中定制拦截器生成唯一标识;当请求的事件结束时,根据唯一标识将该请求标记为结束;网站崩溃时,获取网站崩溃时间点前最后一个未被标记为结束的请求,并标记为疑似崩溃请求;网站再次崩溃时,获取两次崩溃之间的最后一个未被标记为结束的请求,并与疑似崩溃请求进行比对;若比对一致,则确认疑似崩溃请求为导致崩溃的请求;若再次收到上述导致崩溃的请求,则不执行该请求。通过上述方式,本发明可以提高网站稳定性,减少由于程序导致崩溃的代码导致网站连续崩溃无法使用的情况。

Description

防御Spring MVC网站崩溃的方法及系统
技术领域
本发明涉及服务器技术领域,尤其是涉及一种防御Spring MVC网站崩溃的方法及系统。
背景技术
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring WebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。目前使用Spring MVC开发的网站,有可能会由于一些程序编写不够严谨,导致网站崩溃,并且崩溃后目前只能设置自动重启,但是过多的崩溃就会导致网站频繁重启,也会使得网站几乎无法使用。
中国专利申请(CN201210443887.2)公开了一种使浏览器崩溃的网址的处理方法、装置及系统。但该专利适用于移动端浏览器领域,是只能防止客户端浏览器崩溃,却无法从原进程上(即服务端)防御崩溃。
发明内容
本发明所要解决的技术问题是:提供防御网站崩溃的方案,可从原进程防御网站崩溃,防止加载崩溃进程,从而提高稳定性。
为了解决上述技术问题,本发明采用的技术方案为:提供一种防御网站崩溃的方法,包括:
对每个发送到服务端的请求通过Spring MVC的中定制拦截器生成唯一标识;
当请求的事件结束时,根据唯一标识将该请求标记为结束;
网站崩溃时,获取网站崩溃时间点前最后一个未被标记为结束的请求,并标记为疑似崩溃请求;
网站再次崩溃时,获取两次崩溃之间的最后一个未被标记为结束的请求,并与疑似崩溃请求进行比对;
若比对一致,则确认疑似崩溃请求为导致崩溃的请求;
若再次收到上述导致崩溃的请求,则不执行该请求。
为解决上述问题,本发明还提供一种防御网站崩溃的系统,包括:
发送生成模块,用于对每个发送到服务端的请求通过Spring MVC的中定制拦截器生成唯一标识;
结束确认模块,用于当请求的事件结束时,根据唯一标识将该请求标记为结束;
疑似崩溃模块,用于获取网站崩溃时间点前最后一个未被标记为结束的请求,并标记为疑似崩溃请求;
第一比对模块,用于对疑似崩溃请求进行比对;
崩溃确认模块,用于若比对一致,则确认疑似崩溃请求为导致崩溃的请求;
请求防御模块,用于若再次收到上述导致崩溃的请求,则不执行该请求。
本发明的有益效果在于:区别于现有技术,本发明获取网站崩溃前最后一个时点为结束的请求,作为疑似崩溃请求,并比对,确认一致后,作为导致崩溃的请求,并作为后续的请求的参考,以进行判断是否执行后续请求。通过上述方式,本发明可以提高网站稳定性,减少由于程序导致崩溃的代码导致网站连续崩溃无法使用的情况。
附图说明
图1为本发明方法实施例一的流程示意图;
图2为本发明系统实施例二的结构框图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:获取网站崩溃前最后一个时点为结束的请求,作为疑似崩溃请求,并比对,确认一致后,作为导致崩溃的请求,并作为后续的请求的参考,以进行判断是否执行后续请求。
请参照图1,本发明实施例一提供一种防御网站崩溃的方法,包括:
对每个发送到服务端的请求通过Spring MVC的中定制拦截器生成唯一标识;
当请求的事件结束时,根据唯一标识将该请求标记为结束;
网站崩溃时,获取网站崩溃时间点前最后一个未被标记为结束的请求,并标记为疑似崩溃请求;
网站再次崩溃时,获取两次崩溃之间的最后一个未被标记为结束的请求,并与疑似崩溃请求进行比对;
若比对一致,则确认疑似崩溃请求为导致崩溃的请求;
若再次收到上述导致崩溃的请求,则不执行该请求。
区别于现有技术,本发明在发送到服务端的每一个请求都通过Spring MVC的中定制拦截器生成唯一标识,并获取网站崩溃前最后一个时点为结束的请求,作为疑似崩溃请求,并比对,确认一致后,作为导致崩溃的请求,并作为后续的请求的参考,以进行判断是否执行后续请求。通过上述方式,本发明可以提高网站稳定性,减少由于程序导致崩溃的代码导致网站连续崩溃无法使用的情况。
其中,本发明所述请求的事件结束包括正常结束和异常结束。应当说明的是,异常结束并非导致网站崩溃的请求,两者是不同的概念,如果网站崩溃就不会执行到异常结束的代码。
具体地,发送请求到服务端时,通过Spring MVC的中定制拦截器在请求事件开始时,对请求内容进行记录,并生成唯一标识,以标记当前请求。
网站崩溃时,自动重启网站,并查询所述未被标记为结束的请求,并标记为疑似崩溃请求;
网站再次崩溃时,获得另一个疑似崩溃请求;
比对上述两个疑似崩溃请求,判断是否一致;
若不一致,则记录上述所有疑似崩溃请求,并返回步骤“网站再次崩溃时,获得另一个疑似崩溃请求”。
“若再次收到上述导致崩溃的请求,则不执行该请求”具体为:
将所有后续请求与所述导致崩溃的请求进行比对,判断是否一致;
若是,则不执行该后续请求;
反之,则执行该后续请求;
若执行该后续请求时,网站崩溃,则将该后续请求作为疑似崩溃请求,并与其他疑似崩溃请求进行比对。
对应地,如图2所示,本发明实施例二还提供一种防御Spring MVC网站崩溃的系统100,包括:
发送生成模块110,用于对每个发送到服务端的请求通过Spring MVC的中定制拦截器生成唯一标识;
结束确认模块120,用于当请求的事件结束时,根据唯一标识将该请求标记为结束;
疑似崩溃模块130,用于获取网站崩溃时间点前最后一个未被标记为结束的请求,并标记为疑似崩溃请求;
第一比对模块140,用于对疑似崩溃请求进行比对;
崩溃确认模块150,用于若比对一致,则确认疑似崩溃请求为导致崩溃的请求;
请求防御模块160,用于若再次收到上述导致崩溃的请求,则不执行该请求。
其中,所述请求的事件结束包括正常结束和异常结束。
所述发送生成模块具体用于:发送请求到服务端时,通过Spring MVC的中定制拦截器在请求事件开始时,对请求内容进行记录,并生成唯一标识,以标记当前请求。
所述疑似崩溃模块具体用于:在网站崩溃时,自动重启网站,并查询所述未被标记为结束的请求,并标记为疑似崩溃请求。
所述崩溃确认模块还用于:
比对疑似崩溃请求,判断是否一致;
若不一致,则记录所有疑似崩溃请求,并返回步骤“网站再次崩溃时,获得另一个疑似崩溃请求”。
举个例子,在每一个请求发送到服务端时,通过Spring MVC的中定制拦截器的开始请求事件,对请求内容进行记录,并生成唯一标识标记当前请求;
在请求正常结束和异常结束事件,根据所生成的唯一标识找到对应的请求,将其标记为结束;
当网站崩溃时,自动重启网站,查询网站崩溃时间点前最后一个未标记结束的请求,并标记为疑似崩溃请求;
等网站出现第二次崩溃后,将第一次崩溃后到第二次崩溃前最后一个的未标记结束的请求与前一次进行比较,如果完全一致,则将此请求标记为会导致崩溃的请求;若不一致,则暂不作处理,记录上述两个疑似崩溃请求;
若网站出现第三次崩溃,则对应的获得第三个疑似崩溃请求,将其与前述两个疑似崩溃请求一一比对,直到比对一致,确认有两个相同的请求为导致崩溃的请求为止,否则,继续获得后续的疑似崩溃请求,并与之前记录的所有疑似崩溃请求进行一一比对;
在确认导致崩溃的请求后,之后的所有请求都与被标记为会导致崩溃的请求比较,如果一致,则暂不执行这个请求,即被标记为会导致崩溃的请求,以防止崩溃,否则,执行该请求,并判断是否出现崩溃;若再次崩溃,则将这个请求作为疑似崩溃请求,并与之前的疑似崩溃请求比对,返回上述步骤,直到获得下一个导致崩溃的请求。
在后续的所有请求都需要与所有导致崩溃的请求进行比对,步骤同上,此处不再赘述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种防御Spring MVC网站崩溃的方法,其特征在于,包括:
对每个发送到服务端的请求通过Spring MVC的中定制拦截器生成唯一标识;
当请求的事件结束时,根据唯一标识将该请求标记为结束;
网站崩溃时,获取网站崩溃时间点前最后一个未被标记为结束的请求,并标记为疑似崩溃请求;
网站再次崩溃时,获取两次崩溃之间的最后一个未被标记为结束的请求,并与疑似崩溃请求进行比对;
若比对一致,则确认疑似崩溃请求为导致崩溃的请求;
若再次收到上述导致崩溃的请求,则不执行该请求;
其中,网站崩溃时,自动重启网站,并查询所述未被标记为结束的请求,并标记为疑似崩溃请求;
网站再次崩溃时,获得另一个疑似崩溃请求;
比对上述两个疑似崩溃请求,判断是否一致;
若不一致,则记录上述所有疑似崩溃请求,并返回步骤“网站再次崩溃时,获得另一个疑似崩溃请求”。
2.根据权利要求1所述防御Spring MVC网站崩溃的方法,其特征在于,所述请求的事件结束包括正常结束和异常结束。
3.根据权利要求1所述防御Spring MVC网站崩溃的方法,其特征在于,发送请求到服务端时,通过Spring MVC中的定制拦截器在请求事件开始时,对请求内容进行记录,并生成唯一标识,以标记当前请求。
4.根据权利要求1所述防御Spring MVC网站崩溃的方法,其特征在于,“若再次收到上述导致崩溃的请求,则不执行该请求”具体为:
将所有后续请求与所述导致崩溃的请求进行比对,判断是否一致;
若是,则不执行该后续请求;
反之,则执行该后续请求;
若执行该后续请求时,网站崩溃,则将该后续请求作为疑似崩溃请求,并与其他疑似崩溃请求进行比对。
5.一种防御Spring MVC网站崩溃的系统,其特征在于,包括:
发送生成模块,用于对每个发送到服务端的请求通过Spring MVC中的定制拦截器生成唯一标识;
结束确认模块,用于当请求的事件结束时,根据唯一标识将该请求标记为结束;
疑似崩溃模块,用于获取网站崩溃时间点前最后一个未被标记为结束的请求,并标记为疑似崩溃请求;
第一比对模块,用于对疑似崩溃请求进行比对;
崩溃确认模块,用于若比对一致,则确认疑似崩溃请求为导致崩溃的请求;
请求防御模块,用于若再次收到上述导致崩溃的请求,则不执行该请求;
其中,所述崩溃确认模块还用于:
比对疑似崩溃请求,判断是否一致;
若不一致,则记录所有疑似崩溃请求。
6.根据权利要求5所述防御Spring MVC网站崩溃的系统,其特征在于,所述请求的事件结束包括正常结束和异常结束。
7.根据权利要求5所述防御Spring MVC网站崩溃的系统,其特征在于,所述发送生成模块具体用于:发送请求到服务端时,通过Spring MVC的中定制拦截器在请求事件开始时,对请求内容进行记录,并生成唯一标识,以标记当前请求。
8.根据权利要求5所述防御Spring MVC网站崩溃的系统,其特征在于,所述疑似崩溃模块具体用于:在网站崩溃时,自动重启网站,并查询所述未被标记为结束的请求,并标记为疑似崩溃请求。
CN201610409985.2A 2016-06-12 2016-06-12 防御Spring MVC网站崩溃的方法及系统 Active CN106126361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610409985.2A CN106126361B (zh) 2016-06-12 2016-06-12 防御Spring MVC网站崩溃的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610409985.2A CN106126361B (zh) 2016-06-12 2016-06-12 防御Spring MVC网站崩溃的方法及系统

Publications (2)

Publication Number Publication Date
CN106126361A CN106126361A (zh) 2016-11-16
CN106126361B true CN106126361B (zh) 2018-11-13

Family

ID=57270209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610409985.2A Active CN106126361B (zh) 2016-06-12 2016-06-12 防御Spring MVC网站崩溃的方法及系统

Country Status (1)

Country Link
CN (1) CN106126361B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7870418B2 (en) * 2008-02-27 2011-01-11 Microsoft Corporation Enhanced presence routing and roster fidelity by proactive crashed endpoint detection
US9262250B2 (en) * 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
CN103810086B (zh) * 2012-11-08 2017-12-22 腾讯科技(深圳)有限公司 使浏览器崩溃的网址的处理方法、装置及系统
CN104537005B (zh) * 2014-12-15 2018-04-06 北京国双科技有限公司 用于网页爬取的数据处理方法及装置

Also Published As

Publication number Publication date
CN106126361A (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
US9794242B2 (en) Method, apparatus and application platform for realizing logon to an application service website
CN103259870B (zh) 一种Web应用服务方法和系统
US9497089B2 (en) Method and device for spreading deep packet inspection result
EP2991319B1 (en) Method and device for router-based networking control
CN107679214B (zh) 链接定位方法、装置、终端与计算机可读存储介质
CN103914302A (zh) 一种网页加载进度监控方法和装置
CN107453953B (zh) 一种基于httpclient的数据更新系统及方法
WO2017036059A1 (zh) 监测用户访问行为的方法、装置、终端设备及系统
CN105704177A (zh) 一种ua识别方法、装置
CN112714365B (zh) 视频播放方法和系统
US20160191633A1 (en) Method and apparatus for implementing communication from web page to client
CN109740087A (zh) 一种图片渲染方法、装置及系统
CN104932910A (zh) 应用程序接口扩展的方法及系统
US10225358B2 (en) Page push method, device, server and system
CN110674435A (zh) 页面访问方法、服务器、终端、电子设备及可读存储介质
US10869230B2 (en) Access control method and apparatus for service in broadband cluster system, and cluster terminal
CN111680293B (zh) 基于互联网的信息监控管理方法、装置及服务器
CN106126361B (zh) 防御Spring MVC网站崩溃的方法及系统
CN105677688B (zh) 页面数据加载方法和系统
CN103051722B (zh) 一种确定页面是否被劫持的方法及相关设备
CN108370597B (zh) 一种控制可操控设备的方法及装置
CN109803185B (zh) 一种onu和olt的匹配方法、装置及存储介质
CN106961529B (zh) 工单处理方法和通信服务设备
CN105653948B (zh) 一种阻止恶意操作的方法及装置
EP2760178A1 (en) Method, apparatus and system for obtaining object

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant