一种异常数据的获取方法、设备及计算机可读存储介质技术

技术编号:16175732 阅读:16 留言:0更新日期:2017-09-09 02:58
本发明专利技术提出了一种异常数据的获取方法、设备及计算机可读存储介质,该方法包括:实时获取分布式系统中的异常数据;基于预置的异常数据模型,实时对所述异常数据进行定位,得到所述异常数据的发生时间,及所述异常数据在所述分布式系统中的位置;将异常消息写入Redis队列中;根据设定的周期,获取当前周期内写入所述Redis队列中的所述异常消息的集合,并将所述异常消息的集合发送至目标用户。本发明专利技术能够实时对分布式系统中的异常数据进行实时采集,并对实时采集的异常数据进行并发处理;对异常数据进行去重,并周期性的将去重后的异常数据发送至工程师,有效的减少了重复异常数据对工程师的干扰,提高了工程师对异常数据的排查效率。

【技术实现步骤摘要】
一种异常数据的获取方法、设备及计算机可读存储介质
本专利技术涉及互联网
,尤其涉及一种异常数据的获取方法、设备及计算机可读存储介质。
技术介绍
在J2EE(Java2PlatformEnterpriseEdition,Java2平台企业版)系统中,系统中难免会出现异常数据。异常数据会在浏览器页面中呈现,影响用户正常浏览页面,也可能让某些用户通过异常数据找到J2EE系统的破解办法。现有技术中,通常在浏览器页面中呈现一个友好的错误提示页面。当系统中出现异常数据时,用户向工程师反馈异常数据,工程师开始查找J2EE系统中的日志,通过对日志进行排查定位异常数据的位置,工程师处于被动处理异常数据的局面;同时,在分布式J2EE系统中,多台分布式J2EE系统服务器都在记录日志,工程师查找J2EE系统中的多台服务器中的日志排查异常数据非常困难。现有技术中,J2EE系统只做到定向错误页面,记录异常数据到关系型数据库中,该方法存在两个弊端:第一,无法及时查找到系统异常数据,并通知工程师对异常数据进行处理;第二,J2EE系统采用分布式部署,J2EE系统仅能简单的记录异常数据,无法描述异常数据发生的场景以及位置。
技术实现思路
本专利技术的主要目的在于提出一种异常数据的获取方法、设备及计算机可读存储介质,旨在解决现有技术中不能对分布式系统中的异常数据及时获取并提供给目标用户解决异常数据的缺陷。为实现上述目的,本专利技术提供的一种异常数据的获取方法,包括:实时获取分布式系统中的异常数据;基于预置的异常数据模型,实时对所述异常数据进行定位,得到所述异常数据的发生时间,及所述异常数据在所述分布式系统中的位置;将异常消息写入Redis队列中,所述异常消息包括:所述异常数据,所述异常数据的发生时间,及所述异常数据在所述分布式系统中的位置;根据设定的周期,获取当前周期内写入所述Redis队列中的所述异常消息的集合,并将所述异常消息的集合发送至目标用户。可选的,所述实时获取分布式系统中的异常数据,包括:通过所述分布式系统中预置的埋点实时获取所述分布式系统中的所述异常数据。可选的,所述将所有异常消息写入Redis队列中,包括:将所述异常消息通过原子操作的方式写入Redis队列中。可选的,所述根据设定的周期,获取当前周期内写入所述Redis队列中的所述异常消息的集合,并将所述异常消息的集合发送至目标用户的步骤包括:所述根据设定的周期,获取当前周期内写入所述Redis队列中的所述异常消息的集合;基于哈希算法,对所述异常消息的集合中的所有异常消息进行去重,得到去重异常消息集合;将所述去重异常消息集合发送至所述目标用户。可选的,在所述基于哈希算法,对所述异常消息的集合中的所有异常消息进行去重,得到去重异常消息集合之前,包括:将所述异常消息的集合存储至设定数据库中。可选的,所述基于哈希算法,对所述异常消息的集合中的所有异常消息进行去重,得到去重异常消息集合,包括:基于所述预置的异常数据模型,根据预置的哈希函数,计算所述异常消息的集合中的每个异常消息对应的哈希值;基于所述每个异常消息对应的哈希值,对所述异常消息的集合中的所有异常消息进行去重,得到去重异常消息集合。可选的,所述基于所述预置的异常数据模型,根据预置的哈希函数,计算所述异常消息的集合中的每个异常消息对应的哈希值,包括:根据预置的异常数据模型,将所述异常消息的集合中的每个异常消息设置为多个不同维度的异常维度数据;根据预置的哈希函数,计算所述异常消息的集合中的每个异常消息对应的多个不同维度的异常维度数据的哈希值;根据预置的维度排序,将所述异常消息的集合中的每个异常消息对应的多个不同维度的异常维度数据的哈希值进行拼接,得到所述异常消息的集合中的每个异常消息对应的哈希值。可选的,所述将所述去重异常消息集合发送至目标用户的步骤包括:将所述去重异常消息集合以设定格式发送至所述目标用户。此外,为实现上述目的,本专利技术还提出一种异常数据的获取设备,所述异常数据的获取设备包括处理器和存储器;所述处理器用于执行存储器中存储的共享文件的程序,以实现上述的异常数据的获取方法的步骤。此外,为实现上述目的,本专利技术还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的异常数据的获取方法的步骤。本专利技术提出的一种异常数据的获取方法、设备及计算机可读存储介质,能够实时对分布式系统中的异常数据进行实时采集,并对实时采集的异常数据进行并发处理;对异常数据进行去重,并周期性的将去重后的异常数据发送至工程师,以供工程师对异常数据进行快速处理,有效的减少了重复异常数据对工程师的干扰,提高了工程师对异常数据的排查效率。附图说明图1为本专利技术第一实施例的异常数据的获取方法流程图;图2为本专利技术第一~第六实施例的分布式J2EE系统中实时获取异常数据示意图;图3为本专利技术第二实施例的异常数据的获取方法流程图;图4为本专利技术第三实施例的异常数据的获取设备结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。终端可以以各种形式来实施。例如,本专利技术中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigitalAssistant,PDA)、便捷式媒体播放器(PortableMediaPlayer,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本专利技术的实施方式的构造也能够应用于固定类型的终端。本专利技术第一实施例,一种异常数据的获取方法,如图1~图2所示,包括以下具体步骤:步骤S101,实时获取分布式系统中的异常数据。可选的,步骤S101,包括:通过分布式系统中预置的埋点实时获取分布式系统中的异常数据。例如:如图2所示,通过分布式J2EE系统中预置的埋点实时获取分布式J2EE系统中页面的异常数据的方式,包括:依次调用控制(Controller)层、业务(Service)层、数据访问(Dao)和数据库(DB,DataBase)中预置的埋点实时获取分布式J2EE系统中页面的异常数据,并将页面中的异常数据依次通过数据库(DB,DataBase)、数据访问(Dao)、业务(Service)层和控制(Controller)层上报至全局异常拦截器,以供定位错误页面。步骤S102,基于预置的异常数据模型,实时对异常数据进行定位,得到异常数据的发生时间,及异常数据在分布式系统中的位置。其中,异常数据模型为根据分布式系统中的硬件和软件,进行预先设计。异常数据模型包括但不限于:机器IP(InternetProtocol,网络之间互连的协议)地址、应用服务器Tomcat(ApacheTomcat,汤姆猫)端口、线程名称、异常消息本文档来自技高网...
一种异常数据的获取方法、设备及计算机可读存储介质

【技术保护点】
一种异常数据的获取方法,其特征在于,包括:实时获取分布式系统中的异常数据;基于预置的异常数据模型,实时对所述异常数据进行定位,得到所述异常数据的发生时间,及所述异常数据在所述分布式系统中的位置;将异常消息写入Redis队列中,所述异常消息包括:所述异常数据,所述异常数据的发生时间,及所述异常数据在所述分布式系统中的位置;根据设定的周期,获取当前周期内写入所述Redis队列中的所述异常消息的集合,并将所述异常消息的集合发送至目标用户。

【技术特征摘要】
1.一种异常数据的获取方法,其特征在于,包括:实时获取分布式系统中的异常数据;基于预置的异常数据模型,实时对所述异常数据进行定位,得到所述异常数据的发生时间,及所述异常数据在所述分布式系统中的位置;将异常消息写入Redis队列中,所述异常消息包括:所述异常数据,所述异常数据的发生时间,及所述异常数据在所述分布式系统中的位置;根据设定的周期,获取当前周期内写入所述Redis队列中的所述异常消息的集合,并将所述异常消息的集合发送至目标用户。2.根据权利要求1所述的方法,其特征在于,所述实时获取分布式系统中的异常数据,包括:通过所述分布式系统中预置的埋点实时获取所述分布式系统中的所述异常数据。3.根据权利要求1所述的方法,其特征在于,所述将所有异常消息写入Redis队列中,包括:将所述异常消息通过原子操作的方式写入Redis队列中。4.根据权利要求1所述的方法,其特征在于,所述根据设定的周期,获取当前周期内写入所述Redis队列中的所述异常消息的集合,并将所述异常消息的集合发送至目标用户的步骤包括:所述根据设定的周期,获取当前周期内写入所述Redis队列中的所述异常消息的集合;基于哈希算法,对所述异常消息的集合中的所有异常消息进行去重,得到去重异常消息集合;将所述去重异常消息集合发送至所述目标用户。5.根据权利要求4所述的方法,其特征在于,在所述基于哈希算法,对所述异常消息的集合中的所有异常消息进行去重,得到去重异常消息集合之前,包括:将所述异常消息的集合存储至设定数据库中。6.根据权利要求4所述的方法,其特征在于,所述基于...

【专利技术属性】
技术研发人员:王平
申请(专利权)人:努比亚技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1