基于异常断点分类聚合日志片段的方法、装置与流程

文档序号:31623720发布日期:2022-09-24 00:01阅读:49来源:国知局
基于异常断点分类聚合日志片段的方法、装置与流程

1.本发明涉及计算机技术领域,尤其涉及一种基于异常断点分类聚合日志片段的方法、一种基于异常断点分类聚合日志片段的装置。


背景技术:

2.日志在企业it服务中常常发挥重大作用,在软件产品的开发、测试和运营阶段,所产生的日志信息都有很大的价值。很多互联网公司会通过页面埋点输出日志以获取用户操作信息来辅助运营。同时日志信息也还有其他更重要的作用,特别是在故障排查阶段,当系统运行过程中遇到不明原因的异常时,通过日志可以帮助开发和运维同事看到目前系统异常的报错情况,从而迅速找到异常完整堆栈信息,定位异常代码片段。
3.通常,应用的日志文件通常都记录在部署应用的服务器的某个特定目录中,当我们查询日志时需要登录服务器找到相关日志文件进行查询,并且想要做到精确查询还要掌握相关的vi操作shell脚本。如果应用部署的是生产环境,还要申请服务器权限经过层层审批,即使应用对接了其他日志收集工具,如elk、flume等,虽然可以通过访问可视化界面进行查询,但是从日志的实时性和异常定位准确性来考虑,很难及时和精确定位到发生异常的信息。所以当发生异常时,这些因素都不利于我们通过日志快速定位问题,从而影响工作效率。


技术实现要素:

4.本技术提供了一种基于异常断点分类聚合日志片段的方法、一种基于异常断点分类聚合日志片段的装置,帮助工作人员定位问题、提高了工作效率。
5.第一方面,本技术实施例提供一种基于异常断点分类聚合日志片段的方法。所述基于异常断点分类聚合日志片段的方法包括:响应工作人员的访问请求执行流量回放;监听所述流量回放事件;当监听到流量回放失败事件,从所述监听事件获取的回放上下文中提取当前执行回放的回放线程信息;获取预设的日志路径,所述日志路径用于存放日志;根据所述预设日志路径获取日志;根据所述回放线程信息从所述日志中进行内容匹配和截取得到对应的若干异常信息段;对所述若干异常信息段进行处理得到各特定的异常日志片段;以及将所述各特定异常日志片段存放于存储器中。
6.第二方面,本技术实施例还提供一种基于异常断点分类聚合日志片段的装置,其特征在于,所述装置中的回放主模块包括:
7.回放单元,用于响应工作人员的访问请求执行流量回放;
8.监听单元,用于监听所述流量回放事件并当监听到流量回放失败事件,调用所述回放比对失败事件模块;
9.所述回放比对失败事件模块包括:
10.路径获取单元,用于获取预设的日志路径,所述日志路径用于存放日志;
11.日志获取单元,用于根据所述预设日志路径获取日志;
12.提取单元,根据所述回放线程信息从所述日志中进行内容匹配和截取得到对应的若干异常信息段;
13.处理单元,用于对所述若干异常信息段进行处理得到各特定的异常日志片段;以及
14.存储单元,用于将所述各特定异常日志片段存放于存储器中。
15.第三方面,本技术实施例还提供了一种服务器,其特征在于,所述服务器包括:
16.存储器,用于存储计算机程序指令;
17.处理器,用于执行计算机程序指令以实现所述的基于异常断点分类聚合日志片段的方法。
18.上述基于异常断点分类聚合日志片段的方法,通过执行流量回放操作,获取操作过程中生成的日志数据、异常信息、程序的回放线程、错误堆栈等数据信息。根据源程序和所述生成的若干信息获取日志中异常的信息片段,并将所述日志片段进行截取、聚合等处理生成处理后的异常片段,将所述处理后的异常片段存储在云存储器中以显示给用户,以供用户根据所述异常片段定位问题。同时,还可以对日志截取、聚合、匹配逻辑进行优化。本方案能够在异常发生时可不通过登录服务器进行日志查看,免去由于需要登录服务器而进行相关跳板机的权限审批操作。并且通过源程序代码的信息数据对原始日志进行精确匹配、聚合后,可实时存储到云存储中,用户可立即在比对失败详情页面直接点击查看。通过整理后的日志,用户可快速从日志中找到异常堆栈,帮助分析异常失败的原因从而定位问题、解决问题,提高工作效率。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
20.图1为本技术实施例提供的基于异常断点分类聚合日志片段的方法流程图。
21.图2为本发明实施例提供的基于异常断点分类聚合日志片段的装置的结构示意图。
22.图3为本技术实施例提供的基于异常断点分类聚合日志片段的方法另一流程图。
23.图4为本技术实施例提供的基于异常断点分类聚合日志片段的方法计算机设备内部结构示意图。
24.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
25.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
26.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第
四”等(如果存在)是用于区别类似的规划对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,换句话说,描述的实施例根据除了这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,还可以包含其他内容,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于只清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
28.本技术提供了一种基于异常断点分类聚合日志片段的方法,所述方法应用于一种基于异常断点分类聚合日志片段的系统,所述系统包括客户端和服务器端。客户端通过网络与服务器进行通信。其中,该客户端可以但不限于各种个人计算机、笔记本电脑、平板电脑。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。工作人员通过客户端向服务器发送执行流量回放操作的请求,服务器根据预设算法处理请求并将处理结果发送至客户端以供工作人员查看。在对软件产品、网络设备等进行开发、测试和运营时,产品或设备运作时会产生日志数据。所述日志数据是记录了运行时产生的数据,每一行日志数据都包括了日期、时间、使用者及动作等相关操作的描述。在执行上述方法之前,预先为服务器在操作过程产生的日志配置存储路径,以在需要的时候调用。并且在服务器中加载日志截取插件,用来捕获异常事件,当异常发生时日志截取插件可以截取和聚合特定的日志片段。
29.请结合参看图1,其为本技术第一实施例提供的基于异常断点分类聚合日志片段的方法的流程图。该基于异常断点分类聚合日志片段的方法包括步骤s101-s108。
30.步骤s101,响应工作人员的访问请求执行流量回放。
31.在开发完成后,需要对代码进行测试。在代码测试过程中,还会不断地增加新的需求。增加新需求的过程中会有对代码的重构和拆分,不断地改动源代码,再改动的过程中,原来的功能可能会受到影响。流量回放是将某个时间段内发送至某个应用甲的所有请求存储下来,将所述请求统一发送至另一个不同的应用乙,使甲和乙接收的请求参数保持一致,从而实现了甲接收到的请求向乙重新请求了一遍。在代码测试中每增加新的需求则将在源程序代码运作的请求重新在新的代码上运行一遍,确定新的功能代码没有影响源代码实现的功能。工作人员可以在客户端选择回放的流量片段,可以是某个案例集合的流量,例如双十一购物时用户在整点时刻发起的大量请求,也可以是单条流量,例如,一个用户从购票系统上购买车票。客户端将工作人员的请求发送至服务器端,以使服务器端执行流量回放事件。
32.步骤s102,监听所述流量回放事件。
33.监听是监视网络运行状态、数据流程,并且可以获取监听过程中产生的全部信息。服务器端响应客户端的请求将所述流量运行在新的完整功能代码中,并将运行过程产生的
数据、涉及的代码记录下来,所述涉及的代码包括对方代码的线程名称main、主调用函数和子调用函数等,所述产生的数据记录在日志中,包括:发起时间、流量回放异常时生成的exception信息,所述exception信息为程序运行过程中经过程序本身判断认为,错误已经无法挽回,会抛出异常、程序代码中的错误堆栈,以及执行过程中以sql计算机语言打印的异常过程信息、和异常对应的info/warn信息,所述info/warn信息为日志类别。
34.步骤s103,当监听到流量回放失败事件,从所述监听事件获取的回放上下文中提取当前执行回放的回放线程信息。
35.当服务器检测到运行程序生成exception信息、以sql计算机语言打印的异常过程信息等异常信息时,判断为流量回放失败事件。获取流量回放涉及的代码片段、代码的线程名称main、主调用函数和子调用函数。获取回放过程中程序生成的异常信息。
36.步骤s104,获取预设的日志路径,所述日志路径用于存放日志。
37.获取预先配置好的回放过程的日志路径,根据所述路径获取记录回放过程的日志。应用randomaccessfile操作文件对日志内容进行倒序读取,randomaccessfile是java输入或输出数据过程中可以使用的功能最丰富的文件内容访问类,它既可以读取文件内容,也可以向文件输出数据,randomaccessfile操作文件可以从任意位置访问文件。由于工作中日志文件写入是从后面按行添加进去的,而查看日志时,需要从最新信息开始查看,当文件太大时不可能将文件全部读取查看,便对日志进行倒序读取。所述日志中记录了回放过程涉及到的所有代码片段,以及调用过程,以及调用过程中产生的异常信息。
38.步骤s105,根据所述预设日志路径获取日志。
39.步骤s106,根据所述回放线程信息从所述日志中进行内容匹配和截取得到对应的若干异常信息段。
40.所述线程信息为代码运行过程中涉及到的异常代码,应用所述日志截取插件匹配并获取所述线程信息在日志中对应的若干异常代码片段。
41.步骤s107,对所述若干异常信息段进行处理得到特定的异常日志片段。
42.所述处理包括截取、聚合等。将获取的每个异常代码段分成若干代码信息段,将分段获取的若干代码信息段按照预设条件进行聚合形成所述若干特定的异常信息片段。所述预设条件包括代码运行的发起时间、代码的线程名称、代码包含的主调用信息和子调用信息。
43.步骤s108,将所述各特定异常日志片段存放于存储器中。
44.所述存储器为云存储器,具体地,所述云存储器可以为amazons3云存储。将处理后得到的日志片段存储于所述amazons3云存储器中。当流量回放失败时,服务器向客户端发送回放失败页面,所述回放失败页面有若干回放选项以供用户选择。所述若干选项包括:回放结果选项、涉及的源代码片段、生成的日志内容等。若客户在页面端选择回访结果查询选项,则显示经过处理获取的异常代码片段。
45.可以理解地,若流量回放操作成功,则接收客户下一个回放请求并执行回放操作。
46.上述实施例还提供了一种基于异常断点分类聚合日志片段的装置1,其特征在于,所述由回放主模块2和回放比对失败事件模块3。
47.所述回放主模块2包括:
48.回放单元3,用于响应工作人员的访问请求执行流量回放;工作人员可以在客户端
选择回放的流量片段,可以是某个案例集合的流量,例如双十一购物时用户在整点时刻发起的大量请求,也可以是单条流量,例如,一个用户从购票系统上购买车票。客户端将工作人员的请求发送至服务器端,以使服务器端执行流量回放事件。
49.监听单元4,用于监听所述流量回放事件并当监听到流量回放失败事件,调用所述回放比对失败事件模块;服务器端响应客户端的请求将所述流量运行在新的完整功能代码中,并将运行过程产生的数据、涉及的代码记录下来
50.所述回放比对失败事件模块2包括:
51.路径获取单元5,用于获取预设的日志路径,所述日志路径用于存放日志;获取预先配置好的回放过程的日志路径,根据所述路径获取记录回放过程的日志。
52.日志获取单元6,用于根据所述预设日志路径获取日志;
53.提取单元7,根据所述回放线程信息从所述日志中进行内容匹配和截取得到对应的若干异常信息段;所述线程信息为代码运行过程中涉及到的异常代码,应用所述日志截取插件匹配并获取所述线程信息在日志中对应的若干异常代码片段。
54.处理单元8,用于对所述若干异常信息段进行处理得到各特定的异常日志片段;以及将获取的每个异常代码段分成若干代码信息段,将分段获取的若干代码信息段按照预设条件进行聚合形成所述若干特定的异常信息片段。
55.存储单元9,用于将所述各特定异常日志片段存放于存储器中。将处理后得到的日志片段存储于所述amazons3云存储器中。
56.由图3所示,本技术提供的基于异常断点分类聚合日志片段的方法包括:工作人员从客户端发起请求,服务器响应工作人员的访问请求执行流量回放。服务器监听所述流量回放事件。当监听到流量回放失败事件,服务器从所述监听事件获取的回放上下文中提取当前执行回放的回放线程信息。当所述回放操作成功,服务器响应下一个工作人员的访问请求并执行流量回放操作。服务器获取预设的日志路径,所述日志路径用于存放日志。服务器根据所述预设日志路径获取日志。服务器根据所述回放线程信息从所述日志中进行内容匹配和截取得到对应的若干异常信息段、服务器对所述若干异常信息段进行处理得到各特定的异常日志片段。以及服务器将所述各特定异常日志片段存放于存储器中。工作人员可以从所述存储器页面上获取异常信息。
57.本技术还提供一种计算机设备900,请结合参看图4,其为本技术第一实施例提供的计算机设备900的内部结构示意图。进一步的,该计算机嵌入式设备为hud。计算机设备900至少包括存储器901、处理器902。具体地,存储器901,用于存储基于异常断点分类聚合日志片段的方法的程序指令。处理器902,用于执行程序指令以使计算机设备900实现上述的基于异常断点分类聚合日志片段的方法。
58.其中,存储器901至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器901不仅可以用于存储安装于计算机设备900的应用软件及各类数据,例如,基于异常断点分类聚合日志片段的方法的控制指令等,还可以用于暂时地存储已经输出或者将要输出的数据。
59.处理器902在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器901中存储的程序指令
或处理数据。具体地,处理器902执行基于异常断点分类聚合日志片段的方法的程序指令以控制计算机设备900实现基于异常断点分类聚合日志片段的方法。
60.进一步地,总线903可以是外设部件互连标准总线(peripheral component interconnect,简称pci)或扩展工业标准结构总线(extended industry standard architecture,简称eisa)等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
61.进一步地,计算机设备900还可以包括显示组件904。显示组件904可以是led(light emitting diode,发光二极管)显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示组件904也可以适当的称为显示装置或显示单元,用于显示在计算机设备900中处理的信息以及用于显示可视化的用户界面。
62.进一步地,计算机设备900还可以包括通信组件905,通信组件905可选的可以包括有线通信组件和/或无线通信组件(如wi-fi通信组件、蓝牙通信组件等),通常用于在计算机设备900与其他计算机设备之间建立通信连接。
63.图4仅示出了具有组件901-905以及实现基于异常断点分类聚合日志片段的方法的程序指令的计算机设备900,本领域技术人员可以理解的是,图4示出的结构并不构成对计算机设备900的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
64.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,具体地,计算机设备900的处理器902执行基于异常断点分类聚合日志片段的方法的程序指令以控制计算机设备900实现可运动物体的运动轨迹的预测方法的详细过程。可以参考上述方法实施例中的对应过程,在此不再赘述。
65.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,且本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
66.以上所列举的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属于本技术所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1