CN112395125A - 页面报错的通知方法、装置、计算机设备及存储介质 - Google Patents

页面报错的通知方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112395125A
CN112395125A CN202011298527.9A CN202011298527A CN112395125A CN 112395125 A CN112395125 A CN 112395125A CN 202011298527 A CN202011298527 A CN 202011298527A CN 112395125 A CN112395125 A CN 112395125A
Authority
CN
China
Prior art keywords
code
page
error
code data
event
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
Application number
CN202011298527.9A
Other languages
English (en)
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202011298527.9A priority Critical patent/CN112395125A/zh
Publication of CN112395125A publication Critical patent/CN112395125A/zh
Pending legal-status Critical Current

Links

Images

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/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及软件监控技术,公开了一种页面报错的通知方法,包括:检测到前端页面产生页面操作,则记录页面操作对应的操作轨迹;检测到所述前端页面有报错事件生成,则根据所述操作轨迹确定所述报错事件对应的报错位置;确定报错位置对应的检测单元,以及从前端页面的源码中提取报错位置对应的代码数据;利用检测单元对代码数据进行代码执行逻辑检测;获取代码数据中未通过所述代码执行逻辑检测的代码作为错误代码;根据所述报错事件、所述报错位置和所述错误代码生成页面错误通知信息。本申请还可以应用于区块链技术领域。本申请还公开了一种页面报错的通知装置、计算机设备以及计算机可读存储介质。本申请提高了检测前端页面的错误代码的效率。

Description

页面报错的通知方法、装置、计算机设备及存储介质
技术领域
本申请涉及软件监控技术领域,尤其涉及一种页面报错的通知方法、装置、计算机设备以及计算机可读存储介质。
背景技术
目前,前端技术的发展日新月异,但在前端开发过程中,并不像后端开发技术那样具有许多成熟的漏洞检测方法,前端系统的漏洞通常难以在上线之前的本地测试中被检测出来,大部分的漏洞只有在上线后,被用户在使用时发现并反馈给前端开发人员,从而使得前端开发人员对用户反馈的漏洞进行修复。
但用户通常反馈的前端问题只是一个最终现象,例如某某页面卡顿,某某页面乱码等问题,前端开发人员根据如上问题反馈往往难以直接定位到具体的错误代码,只能逐一对各个相关代码脚本进行排查及测试,导致错误代码的定位效率低下。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种页面报错的通知方法、页面报错的通知装置、计算机设备以及计算机可读存储介质,旨在解决如何快速定位前端页面的报错位置,并基于此提高检测前端页面中的错误代码的效率的问题。
为实现上述目的,本申请提供一种页面报错的通知方法,包括以下步骤:
检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹;
检测到所述前端页面有报错事件生成,则根据所述操作轨迹确定所述报错事件对应的报错位置;
确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据;
利用所述检测单元对所述代码数据进行代码执行逻辑检测;
获取所述代码数据中未通过所述代码执行逻辑检测的代码作为错误代码;
根据所述报错事件、所述报错位置和所述错误代码生成页面错误通知信息。
进一步地,所述确定所述报错位置对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据的步骤之后,还包括:
检测所述代码数据是否满足预设格式;
若否,获取所述代码数据中不满足所述预设格式的代码;
利用神经网络模型分析所述代码对应的修复逻辑,其中,所述神经网络模型基于多个不满足所述预设格式的代码样本,以及所述代码样本对应的修复逻辑训练得到;所述修复逻辑用于表征将不满足所述预设格式的代码,修复为满足所述预设格式的代码的过程;
根据所述代码对应的修复逻辑,对所述代码进行格式修复;
利用所述修复后的代码更新所述代码数据后,执行所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤。
进一步地,所述确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据的步骤之后,还包括:
检测所述代码数据是否满足预设格式;
若否,根据所述代码数据中不满足所述预设格式的代码生成第一提示信息;
若是,执行所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤。
进一步地,所述检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹的步骤之后,还包括:
将所述操作轨迹发送至存储服务端以块链式的账本进行存储;
检测到所述前端页面有报错事件生成,则从所述存储服务端获取所述操作轨迹。
进一步地,所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤之后,还包括:
检测到所述代码数据中的代码均通过所述代码执行逻辑检测,则获取与所述操作轨迹相同的其他用户账户的操作轨迹;
检测所述其他用户账户的操作轨迹是否关联有所述报错事件;
若否,向当前用户账户关联的用户设备输出第二提示信息,其中,所述第二提示信息包括应用初始化操作提示信息。
进一步地,所述向当前用户账户关联的用户设备输出第二提示信息的步骤包括:
检测所述操作轨迹与当前用户账户相同的其他用户账户的账户数量是否大于预设数量;
检测到所述账户数量大于所述预设数量,则向所述当前用户账户关联的用户设备输出所述第二提示信息。
进一步地,所述检测所述其他用户账户的操作轨迹是否关联有所述报错事件之后,还包括:
若是,根据所述报错事件生成第三提示信息,以及根据预存的工程师信息确定关联设备;
将所述第三提示信息输出至所述关联设备。
为实现上述目的,本申请还提供一种页面报错的通知装置,所述页面报错的通知装置包括:
记录模块,用于检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹;
定位模块,用于检测到所述前端页面有报错事件生成,则根据所述操作轨迹确定所述报错事件对应的报错位置;
处理模块,用于确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据;
检测模块,用于利用所述检测单元对所述代码数据进行代码执行逻辑检测;
获取模块,用于获取所述代码数据中未通过所述代码执行逻辑检测的代码作为错误代码;
通知模块,用于根据所述报错事件、所述报错位置和所述错误代码生成页面错误通知信息。
为实现上述目的,本申请还提供一种计算机设备,所述计算机设备包括:
所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的页面报错的通知程序,所述页面报错的通知程序被所述处理器执行时实现如上述页面报错的通知方法的步骤。
为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有页面报错的通知程序,所述页面报错的通知程序被处理器执行时实现如上述页面报错的通知方法的步骤。
本申请提供的页面报错的通知方法、页面报错的通知装置、计算机设备以及计算机可读存储介质,通过记录基于前端页面产生的操作轨迹,当有报错事件发生时,可以根据操作轨迹快速定位出前端页面的报错位置,并通过实现对报错位置的相关代码数据进行自动检测,从而可以向工程师通知相应的错误代码的所在,无需工程师人为逐一排查错误代码,提高了从前端页面的源码中检测出错误代码的效率。
附图说明
图1为本申请一实施例中页面报错的通知方法步骤示意图;
图2为本申请一实施例的页面报错的通知装置示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,在一实施例中,所述页面报错的通知方法包括:
步骤S10、检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹;
步骤S20、检测到所述前端页面有报错事件生成,则根据所述操作轨迹确定所述报错事件对应的报错位置;
步骤S30、确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据;
步骤S40、利用所述检测单元对所述代码数据进行代码执行逻辑检测;
步骤S50、获取所述代码数据中未通过所述代码执行逻辑检测的代码作为错误代码;
步骤S60、根据所述报错事件、所述报错位置和所述错误代码生成页面错误通知信息。
本实施例中,实施例终端可以是一种计算机设备,也可以是一种页面报错的通知装置。
如步骤S10所述:终端提供有前端页面,自用户打开前端页面开始,终端开始检测前端页面上是否有页面操作指令产生。应该理解的是,在前端页面中用户可进行的页面操作可包括打开页面操作(或者页面跳转操作)、页面点击操作、输入操作(对应产生input事件)、查看操作(对应产生check事件)等等,而当用户发出这些页面操作时,前端页面则会产生相应的页面操作指令。
当终端在前端页面上检测到页面操作指令时,则会记录页面操作指令对应的页面操作,以及页面操作的相关数据。可选的,终端在检测到页面操作指令时,会记录页面操作指令对应的页面操作所针对的页面元素、页面元素在页面中的位置、点击的类型(双击或单击)作为相关数据,其中,页面操作所针对的元素在页面中的位置,即该页面操作所指向的页面位置。进一步地,若页面操作为页面点击操作,且点击后如果是弹窗,则记录当前的数据状态作为相关数据,如果是进入新的页面,则需要记录当前的数据状态和新的页面地址作为相关数据;终端在检测到输入操作时,则记录用户最终录入的数据状态作为相关数据。
此外,页面操作的相关数据还包括页面操作对应的生成时间点。终端记录用户每一次页面操作,并生成页面操作对应的操作轨迹时,会根据所记录的页面操作对应的生成时间点,按照时间点的先后顺序,生成页面操作对应的操作轨迹(即最新记录的页面操排列在操作轨迹的最后一位)。当然,终端也可以是在检测到有页面操作产生时,则开始为该页面操作创建操作轨迹,并利用后续检测到的页面操作更新之前创建的操作轨迹。
例如,终端在检测到页面打开指令对应的页面打开操作打开了A页面,然后又在A页面上检测到点击操作指令对应的点击操作触发了B事件,基于B事件触发后又进一步检测到点击操作指令对应的点击操作触发了C事件,则在这一过程中,终端基于各页面操作最终记录得到的操作轨迹为“A页面-B事件-C事件”。
进一步地,终端将生成或更新的操作轨迹与当前用户对应的用户账户关联。
如步骤S20所述:在用户基于前端页面进行页面交互的过程中,终端除了监控并记录操作轨迹之外,还会监控前端页面上是否有报错事件发生。当用户发出某个页面操作后,导致页面出现异常,则终端判定检测到前端页面有报错事件生成。
其中,页面异常可以是页面乱码、页面报错、页面无响应等等。
可选的,当终端检测到前端页面有报错事件发生时,则获取记录的当前用户账户关联的操作轨迹,并根据操作轨迹包含的页面操作以及各页面操作记录在操作轨迹中的先后顺序(先后顺序由页面操作对应的生成时间点确定),从操作轨迹中最先产生的页面操作开始,根据各页面操作所针对的页面元素在前端页面的位置逐一进行页面位置查询,并从最早的页面操作对应的位置逐步查询到位于操作轨迹中最后一个的页面操作对应的页面元素所在的页面位置(相当于还原操作轨迹中各页面操作指向的位置),即为前端页面具体的报错位置。
例如,在终端得到操作轨迹为“A页面-B事件-C事件”的同时,检测到有报错事件产生,则终端根据“A页面-B事件-C事件”的操作轨迹,最先确定得到报错事件发生在前端页面的A页面,然后在A页面中定位到了B事件,再最终确定得到报错位置发生在A页面下的B事件中的C事件。
当然,报错位置可以就是一个应用程序接口,或者报错位置涉及至少一个应用程序接口的调用。
如步骤S30所述:前端页面包括有多个功能模块(或者功能事件),各功能模块在前端页面中划分为其对应的功能模块区域。终端预先配置有各功能模块对应的检测单元,并将检测单元保存在数据库中;检测单元用于检测对应的功能模块的相关代码数据是否正常,且检测单元定义有代码数据的代码执行逻辑,以及代码执行逻辑对应的预期执行结果。
可选的,数据库中预先建立有key-value映射关系,一个检测单元对应一个唯一的key值(记为第一key值)。终端在确定报错位置后,进一步确定该报错位置所处的前端页面的功能模块区域,该功能模块区域关联的功能模块,即为报错位置所属的功能模块(报错位置可以具体为其对应功能模块中的一个子模块,也可以就是其对应的整个功能模块)。终端在确定报错位置所属的功能模块后,再确定该功能模块对应的检测单元,得到该检测单元对应的key值(记为第二key值),并根据第二key值在数据库中查询与之相同的第一key值,以及获取查询得到的第一key值所对应的检测单元。当然,终端将获取得到检测单元,作为所述报错位置对应的检测单元。
可选的,终端在得到报错位置后,根据该报错位置所实现的功能和/或报错位置所调用的应用程序接口(若报错位置涉及到应用程序接口的调用,则报错位置对应的代码数据应包括应用程序接口对应的程序代码;若报错位置就是一个应用程序接口,则报错位置对应的代码数据只包括应用程序接口对应的程序代码,而不包括报错位置所实现的功能的功能代码,或者相当于报错位置所实现的功能就是应用程序接口对应调用的功能),确定用于支持报错位置所实现的功能的功能代码,和/或确定应用程序接口对应的程序代码,将所述功能代码和/或所述程序代码作为报错位置对应的代码数据。确定得到的代码数据可以是以js(JavaScript)文件为单位的,例如,凡是涉及到报错位置所实现的功能的功能代码的js文件(即js文件中包括有这些功能代码),均可作为报错位置对应的代码数据,这样最终可以确定得到至少一个js文件作为报错位置对应的代码数据。
进一步地,从前端页面的源码中将确定得到的代码数据提取出来。可选的,终端还将代码数据与检测单元对应的key值相关联。
例如,若报错位置是某个功能按钮,且该功能按钮为一个页面跳转按钮,则其涉及到的功能代码可以有页面跳转链接、触发页面跳转的相关代码等。
如步骤S40所述:检测单元中预先设置有多段代码执行逻辑,且检测单元中的代码执行逻辑是根据检测单元对应的功能模块的相关代码具体所实现的功能确定的。终端在得到代码数据后,根据关联的key值获取对应的检测单元,并将代码数据传入检测单元中,由检测单元根据一系列代码执行逻辑运行代码数据,最终得到代码执行结果(以测试代码的实际运行结果是否能实现代码执行逻辑所表征的代码功能)。
应当理解的是,代码执行逻辑定义有触发代码运行的各种因素、各种因素触发下代码的运行情况(包括运行结果)。
应当理解的是,前端系统的源码由多个js文件组成,js文件中包括多个js脚本。检测单元在检测代码数据时,以js文件为单位,依次检测代码数据的相关js文件。
可选的,终端将检测单元输出的代码执行结果,与检测单元预先定义的预期执行结果进行比对。当检测到实际的代码执行结果与预期执行结果一致时,则判定该代码数据无异常,检测通过;当检测到实际的代码执行结果与预期执行结果不一致时,则判定该代码数据中存在错误代码,检测不通过。
应当理解的是,预期执行结果为正常代码基于代码执行逻辑运行后,得到的正确的、能满足代码正常功能需求的代码响应结果,可以是由工程师预先编写到检测单元中的;各段代码执行时,可产生其对应的代码执行结果,而每个代码执行结果均有与之对应的预期执行结果。
如步骤S50所述:当代码执行结果与预期执行结果不一致时,即终端判定代码执行结果对应的代码未通过代码执行逻辑检测,该代码即为错误代码。此时终端可查询代码执行结果与预期执行结果中具体存在差异的地方,两者差异的地方即为错误代码对应的位置。
可选的,根据错误代码对应的位置,即可定位到代码数据中具体的错误代码。例如,可以定位到具体是由于代码数据中哪个数据字段错误或者是哪一行的js(javascript)脚本报错,而导致有报错事件产生的。
进一步地,根据错误代码在其所属的js文件的具体位置(包含行信息、列信息),生成错误代码对应的位置信息。
如步骤S60所述:终端在检测得到代码数据中的错误代码后,根据当前发生的报错事件、报错事件对应的报错位置,以及检测得到的错误代码,生成页面错误通知信息。
进一步地,终端根据预存的工程师信息确定关联设备,然后将页面错误通知信息发送至工程师的关联设备中,以对工程师进行通知,使得工程师基于页面错误通知信息中的相关内容,可以快速了解到前端页面报错的具体原因,并根据页面错误通知信息所提示的错误代码,方便工程师及时修复这些错误代码。
其中,页面错误通知信息的发送方式可以是以邮件、短信等消息发送;关联设备可以是手机、电脑等。
可选的,生成的页面错误通知信息还可以包括错误代码在对应的js文件中的位置信息,这样当工程师通过关联设备接收到页面错误通知信息后,即可根据错误代码的位置信息快速在前端系统的源码中快速找到错误代码所在的位置。
在一实施例中,通过记录基于前端页面产生的操作轨迹,当有报错事件发生时,可以根据操作轨迹快速定位出前端页面的报错位置,并通过实现对报错位置的相关代码数据进行自动检测,并从而可以向工程师通知相应的错误代码的所在,无需工程师人为逐一排查错误代码,提高了从前端页面的源码中检测出错误代码的效率。
在一实施例中,在上述实施例基础上,所述确定所述报错位置对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据的步骤之后,还包括:
步骤S70、检测所述代码数据是否满足预设格式;
步骤S80、若是,执行所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤。
本实施例中,预设格式可以是规定了代码的字段长度、类型等。
可选的,各检测单元可以是定义其对应的预设格式,检测单元所检测的代码需满足检测单元对应的预设格式。
可选的,终端在提取得到代码数据后,会先检测代码数据中的代码格式是否满足获取到的检测单元对应的预设格式。
可选的,若终端检测到代码数据中存在任一字段代码不满足预设格式时,则判定代码数据不满足预设格式。
可选的,当终端检测到代码数据中各字段代码皆满足预设格式时(即满足规定的字段长度和/或数据类型),则判定代码数据满足预设格式,然后执行所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤(即步骤S40),利用检测单元检测代码数据中的错误代码。
这样,实现对代码数据进行格式检验,可以避免代码数据因格式问题而导致后续检测单元检测报错,从而提高了检测单元检测错误代码的准确率。
在一实施例中,在上述实施例基础上,所述检测所述代码数据是否满足预设格式的步骤之后,还包括:
步骤S90、若否,获取所述代码数据中不满足所述预设格式的代码;
步骤S91利用神经网络模型分析所述代码对应的修复逻辑,其中,所述神经网络模型基于多个不满足所述预设格式的代码样本,以及所述代码样本对应的修复逻辑训练得到;所述修复逻辑用于表征将不满足所述预设格式的代码,修复为满足所述预设格式的代码的过程;
步骤S92、根据所述代码对应的修复逻辑,对所述代码进行格式修复;
步骤S93、利用所述修复后的代码更新所述代码数据后,执行所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤。
本实施例中,终端利用人工智能+神经网络技术,预先训练有神经网络模型。
可选的,神经网络模型基于多个不满足所述预设格式的代码样本,以及所述代码样本对应的修复逻辑进行多次迭代训练后得到的。其中,所述修复逻辑用于表征将不满足所述预设格式的代码,修复为满足所述预设格式的代码的过程(即基于修复逻辑可以得知如何将具体的不满足预设格式的代码,修复为满足预设格式的代码,例如预设格式规定代码数据类型为a,当代码实际的数据类型为b时,则修复逻辑描述有将代码由类型b转换为类型a的方式);而神经网络模型会将在各代码样本对应的修复逻辑作为训练得到的输出值。
应当理解的是,各代码样本对应的修复逻辑可以是由工程师预先在代码样本中标注的,然后工程师再将标注后的代码样本输入至神经网络模型中进行训练。当神经网络模型基于多个代码样本和代码样本对应的修复逻辑进行多次迭代训练并达到模型收敛后,则神经网络模型训练完成。其中,代码样本的具体数量可以根据实际需要具体配置,例如采集一万份代码样本。
可选的,终端在提取得到代码数据后,会先检测代码数据中的代码格式是否满足获取到的检测单元对应的预设格式。若终端检测到代码数据中存在任一字段代码不满足预设格式时,则判定代码数据不满足预设格式。
进一步地,终端从代码数据中获取不满足预设格式的代码,并将获取到的代码输入到训练好的神经网络模型中,利用神经网络模型对代码进行分析后,神经网络模型会根据之前的训练结果,根据该代码当前的格式,查找与之对应的修复逻辑。应当理解的是,神经网络模型的训练结果,存在各种不满足预设格式的代码格式与修复逻辑的对应的关系。
进一步地,终端获取神经网络模型输出的代码对应的修复逻辑,并基于修复逻辑对代码进行修复,以将不满足预设格式的代码修复为满足预设格式的代码。
可选的,终端对不满足预设格式的代码进行修复后,则利用修复后的代码更新所述代码数据,然后,终端再执行所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤(即步骤S40),利用检测单元检测代码数据中的错误代码。
这样,实现自动修复不满足预设格式的代码的格式,节省了人为修复代码格式的成本,并提高了修复代码格式的效率。
在一实施例中,在上述实施例基础上,所述检测所述代码数据是否满足预设格式的步骤之后,还包括:
步骤S100、若否,根据所述代码数据中不满足所述预设格式的代码生成第一提示信息。
本实施例中,若终端检测到代码数据中存在任一字段代码不满足预设格式时,则判定代码数据不满足预设格式。然后终端识别代码数据中不满足预设格式的代码,以及这些代码在代码数据中的具体位置,生成这些代码对应的第一提示信息。
进一步地,终端输出第一提示信息至工程师的关联设备,以提示工程师修正不符合预设格式的代码。当终端检测到工程师修正代码数据中的代码后,则执行步骤S40,利用检测单元检测代码数据中的错误代码。
可选的,若工程师对不满足预设格式的代码进行修正,则终端结束测试流程,直接根据报错事件,以及报错事件对应的报错位置生成页面错误通知信息,输出至关联设备。
这样,可以及时提醒工程师修复代码数据中不满足预设格式的代码,进而提高了利用检测单元检测代码数据中的错误代码的效率。
在一实施例中,在上述实施例基础上,所述检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹的步骤之后,还包括:
步骤S11、将所述操作轨迹发送至存储服务端以块链式的账本进行存储;
步骤S21、检测到所述前端页面有报错事件生成,则从所述存储服务端获取所述操作轨迹。
本实施例中,终端关联有存储服务端,所述存储服务端基于区块链(Blockchain)技术构建。其中,区块链是由区块(Block)形成的加密的、链式的交易的存储结构。
可选的,当终端每次检测到有当前用户账户在前端页面有对应的操作轨迹生成或更新时,则将生成或更新得到的操作轨迹与当前用户账户关联,并将关联后的操作轨迹发送至存储服务端。当存储服务端接收到终端发送的操作轨迹时,则将操作轨迹以块链式的账本(Ledger)进行存储。其中,账本(Ledger)是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
可选的,当终端检测到前端页面有报错事件生成时,则根据当前操作前端页面的用户账户的相关信息,从存储服务端上获取与该用户账户关联的操作轨迹。并基于获取到的操作轨迹执行所述根据所述操作轨迹确定所述报错事件对应的报错位置的步骤。
这样,通过将操作轨迹发送至存储服务端以块链式的账本进行存储,减轻了终端数据库的数据存储压力的同时,还保证了操作轨迹存储的安全性。
在一实施例中,在上述实施例基础上,所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤之后,还包括:
步骤S110、检测到所述代码数据中的代码均通过所述代码执行逻辑检测,则获取与所述操作轨迹相同的其他用户账户的操作轨迹;
步骤S120、检测所述其他用户账户的操作轨迹是否关联有所述报错事件;
步骤S130、若否,向当前用户账户关联的用户设备输出第二提示信息,其中,所述第二提示信息包括应用初始化操作提示信息。
本实施例中,不同用户使用前端系统的相关功能时,需登陆其对应的用户账户,即不同用户具有各自对应的用户账户。终端会将记录的各用户对应的操作轨迹,与用户对应的用户账户相关联。且当终端检测到报错事件产生时,还会将报错事件与当前用户对应的操作轨迹关联保存。
可选的,当终端检测到代码数据中的代码均通过所述代码执行逻辑检测时,则说明代码数据中不存在错误代码(即无法获取到未通过所述代码执行逻辑检测的代码)。此时,终端可以根据当前用户对应的操作轨迹,从其他用户账户关联的操作轨迹中进行查询,以检测是否存在与当前用户的操作轨迹相同的其他用户账户关联的操作轨迹。
可选的,将当前用户对应的操作轨迹记为第一轨迹,将其他用户账户关联的操作轨迹记为第二轨迹,终端即是检测是否存在与第一轨迹相同的第二轨迹。
可选的,当终端检测到存在与当前用户的操作轨迹相同的其他用户账户的操作轨迹时,则终端进一步检测与当前用户的操作轨迹相同的其他用户账户的操作轨迹是否关联有当前用户账户的操作轨迹对应的报错事件。
若否(即其他用户账户的操作轨迹未关联有报错事件,或关联的报错事件与当前用户账户的操作轨迹对应的报错事件不同),则说明当前用户的报错事件可能不是因为前端系统有漏洞导致的,而是可能是由当前用户的客户端本端硬件不支持或其他原因导致的,故,当终端检测到与当前用户的操作轨迹相同的其他用户账户的操作轨迹未关联有当前用户账户的操作轨迹对应的报错事件时,则确定当前用户的用户账户关联的用户设备,并向用户设备输出第二提示信息,以提示当前用户对运行了前端页面的客户端进行初始化设置。
其中,第二提示信息可以包括应用初始化操作提示信息,以提示用户重启前端页面对应的应用,或重置应用。
这样,当未检测到前端系统有错误代码时,通过查询与当前用户操作轨迹相同的其他用户的操作轨迹,并检测其他用户的操作轨迹是否有产生相应的报错事件,以实现自动对当前报错原因进行排查,提高了对前端页面报错排查的效率。
在一实施例中,在上述实施例基础上,所述向当前用户账户关联的用户设备输出第二提示信息的步骤包括:
步骤S131、检测所述操作轨迹与当前用户账户相同的其他用户账户的账户数量是否大于预设数量;
步骤S132、检测到所述账户数量大于所述预设数量,则向所述当前用户账户关联的用户设备输出所述第二提示信息。
本实施例中,当终端检测到与当前用户的操作轨迹相同的其他用户账户的操作轨迹未关联有当前用户账户的操作轨迹对应的报错事件时,则进一步确定与当前用户的操作规则相同的其他用户账户的总数,作为账户数量。
可选的,终端检测其他用户账户的账户数量是否大于预设数量,其中,所述预设数量可以根据实际情况需要设置,如设置为3个、5个等。
可选的,当终端检测到其他用户账户的账户数量大于预设数量时,则表明大多数账户都不存在与当前用户账户对应的报错事件,说明当前用户的报错事件可能不是因为前端系统有漏洞导致的,而是可能是由当前用户的客户端本端硬件不支持或其他原因导致的,因此,终端向当前用户的用户账户关联的用户设备输出第二提示信息,以提示当前用户对运行了前端页面的客户端进行初始化设置。
这样,实现自动对当前报错原因进行排查,提高了对前端页面报错排查的效率。
在一实施例中,在上述实施例基础上,所述检测所述其他用户账户的操作轨迹是否关联有所述报错事件之后,还包括:
步骤S140、若是,根据所述报错事件生成第三提示信息,以及根据预存的工程师信息确定关联设备;
步骤S141、将所述第三提示信息输出至所述关联设备。
本实施例中,当终端检测到与当前用户的操作轨迹相同的其他用户账户的操作轨迹关联有报错事件时(或者当终端检测到不存在与当前用户的操作轨迹相同的其他用户账户的操作轨迹时),则终端直接根据报错事件,以及报错事件对应的报错位置生成第三提示信息。同时,终端根据预存的工程师信息确定关联设备。
进一步地,然后将第三提示信息发送至工程师的关联设备中,以对工程师进行通知,使得工程师可以基于第三提示信息及时地对前端系统的故障原因进行人工排查。
参照图2,本申请实施例中还提供一种页面报错的通知装置10,包括:
记录模块11,用于检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹;
定位模块12,用于检测到所述前端页面有报错事件生成,则根据所述操作轨迹确定所述报错事件对应的报错位置;
处理模块13,用于确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据;
检测模块14,用于利用所述检测单元对所述代码数据进行代码执行逻辑检测;
获取模块15,用于获取所述代码数据中未通过所述代码执行逻辑检测的代码作为错误代码;
通知模块16,用于根据所述报错事件、所述报错位置和所述错误代码生成页面错误通知信息。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于页面报错的通知程序。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种页面报错的通知方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
此外,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质包括页面报错的通知程序,所述页面报错的通知程序被处理器执行时实现如以上实施例所述的页面报错的通知方法的步骤。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
综上所述,为本申请实施例中提供的页面报错的通知方法、页面报错的通知装置、计算机设备和存储介质,通过记录基于前端页面产生的操作轨迹,当有报错事件发生时,可以根据操作轨迹快速定位出前端页面的报错位置,并通过实现对报错位置的相关代码数据进行自动检测,并从而可以向工程师通知相应的错误代码的所在,无需工程师人为逐一排查错误代码,提高了从前端页面的源码中检测出错误代码的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种页面报错的通知方法,其特征在于,包括:
检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹;
检测到所述前端页面有报错事件生成,则根据所述操作轨迹确定所述报错事件对应的报错位置;
确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据;
利用所述检测单元对所述代码数据进行代码执行逻辑检测;
获取所述代码数据中未通过所述代码执行逻辑检测的代码作为错误代码;
根据所述报错事件、所述报错位置和所述错误代码生成页面错误通知信息。
2.如权利要求1所述的页面报错的通知方法,其特征在于,所述确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据的步骤之后,还包括:
检测所述代码数据是否满足预设格式;
若否,获取所述代码数据中不满足所述预设格式的代码;
利用神经网络模型分析所述代码对应的修复逻辑,其中,所述神经网络模型基于多个不满足所述预设格式的代码样本,以及所述代码样本对应的修复逻辑训练得到;所述修复逻辑用于表征将不满足所述预设格式的代码,修复为满足所述预设格式的代码的过程;
根据所述代码对应的修复逻辑,对所述代码进行格式修复;
利用所述修复后的代码更新所述代码数据后,执行所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤。
3.如权利要求1所述的页面报错的通知方法,其特征在于,所述确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据的步骤之后,还包括:
检测所述代码数据是否满足预设格式;
若否,根据所述代码数据中不满足所述预设格式的代码生成第一提示信息;
若是,执行所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤。
4.如权利要求1-3中任一项所述的页面报错的通知方法,其特征在于,所述检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹的步骤之后,还包括:
将所述操作轨迹发送至存储服务端以块链式的账本进行存储;
检测到所述前端页面有报错事件生成,则从所述存储服务端获取所述操作轨迹。
5.如权利要求1所述的页面报错的通知方法,其特征在于,所述利用所述检测单元对所述代码数据进行代码执行逻辑检测的步骤之后,还包括:
检测到所述代码数据中的代码均通过所述代码执行逻辑检测,则获取与所述操作轨迹相同的其他用户账户的操作轨迹;
检测所述其他用户账户的操作轨迹是否关联有所述报错事件;
若否,向当前用户账户关联的用户设备输出第二提示信息,其中,所述第二提示信息包括应用初始化操作提示信息。
6.如权利要求5所述的页面报错的通知方法,其特征在于,所述向当前用户账户关联的用户设备输出第二提示信息的步骤包括:
检测所述操作轨迹与当前用户账户相同的其他用户账户的账户数量是否大于预设数量;
检测到所述账户数量大于所述预设数量,则向所述当前用户账户关联的用户设备输出所述第二提示信息。
7.如权利要求5所述的页面报错的通知方法,其特征在于,所述检测所述其他用户账户的操作轨迹是否关联有所述报错事件之后,还包括:
若是,根据所述报错事件生成第三提示信息,以及根据预存的工程师信息确定关联设备;
将所述第三提示信息输出至所述关联设备。
8.一种页面报错的通知装置,其特征在于,包括:
记录模块,用于检测到前端页面产生页面操作,则记录所述页面操作对应的操作轨迹;
定位模块,用于检测到所述前端页面有报错事件生成,则根据所述操作轨迹确定所述报错事件对应的报错位置;
处理模块,用于确定所述报错位置所属的所述前端页面的功能模块对应的检测单元,以及从所述前端页面的源码中提取所述报错位置对应的代码数据;
检测模块,用于利用所述检测单元对所述代码数据进行代码执行逻辑检测;
获取模块,用于获取所述代码数据中未通过所述代码执行逻辑检测的代码作为错误代码;
通知模块,用于根据所述报错事件、所述报错位置和所述错误代码生成页面错误通知信息。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的页面报错的通知程序,所述页面报错的通知程序被所述处理器执行时实现如权利要求1至7中任一项所述的页面报错的通知方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有页面报错的通知程序,所述页面报错的通知程序被处理器执行时实现如权利要求1至7中任一项所述的页面报错的通知方法的步骤。
CN202011298527.9A 2020-11-18 2020-11-18 页面报错的通知方法、装置、计算机设备及存储介质 Pending CN112395125A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011298527.9A CN112395125A (zh) 2020-11-18 2020-11-18 页面报错的通知方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011298527.9A CN112395125A (zh) 2020-11-18 2020-11-18 页面报错的通知方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN112395125A true CN112395125A (zh) 2021-02-23

Family

ID=74606775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011298527.9A Pending CN112395125A (zh) 2020-11-18 2020-11-18 页面报错的通知方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112395125A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190370A (zh) * 2021-05-08 2021-07-30 京东数字科技控股股份有限公司 一种应用的应急响应方法及装置
CN114676417A (zh) * 2022-05-30 2022-06-28 云账户技术(天津)有限公司 注册信息变更失败的处理方法、装置及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113190370A (zh) * 2021-05-08 2021-07-30 京东数字科技控股股份有限公司 一种应用的应急响应方法及装置
CN114676417A (zh) * 2022-05-30 2022-06-28 云账户技术(天津)有限公司 注册信息变更失败的处理方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN110990183B (zh) 数据库集群的异常检测方法、装置、计算机可读存储介质
CN107451040B (zh) 故障原因的定位方法、装置及计算机可读存储介质
CN110535938A (zh) 一种基于智能合约的数据处理方法、设备及存储介质
CN108847998B (zh) 报表监控方法、装置、计算机设备和存储介质
CN112363941A (zh) 接口测试方法、装置、计算机设备及存储介质
EP2671157A1 (en) Arrangement and method for model-based testing
CN101902366A (zh) 一种业务行为异常检测方法和系统
CN110088744B (zh) 一种数据库维护方法及其系统
CN112540811B (zh) 缓存数据的检测方法、装置、计算机设备和存储介质
CN112395125A (zh) 页面报错的通知方法、装置、计算机设备及存储介质
CN108171346B (zh) 核电厂仪控维修数据的处理方法、装置和计算机设备
CN112667499A (zh) 页面组件的测试方法、装置、计算机设备及存储介质
CN113965397A (zh) 信创网络安全管理方法、装置、计算机设备以及存储介质
CN112363920A (zh) 测试用例的修复方法、装置、计算机设备和存储介质
CN112434335A (zh) 业务问题的处理方法、装置、计算机设备及存储介质
CN114817055A (zh) 基于接口的回归测试方法、装置、计算机设备和存储介质
CN115952081A (zh) 一种软件测试方法、装置、存储介质及设备
CN103440460A (zh) 一种应用系统变更验证方法及验证系统
CN110149421A (zh) 域名系统的异常监测方法、系统、装置和计算机设备
CN112637282B (zh) 信息推送方法、装置、计算机设备和存储介质
US11790249B1 (en) Automatically evaluating application architecture through architecture-as-code
CN113051180A (zh) 测试任务的监测方法、装置、设备及存储介质
CN111752819B (zh) 一种异常监控方法、装置、系统、设备和存储介质
CN111865927A (zh) 基于系统的漏洞处理方法、装置、计算机设备和存储介质
Sebu et al. Business activity monitoring solution to detect deviations in business process execution

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