CN113778736A - 错误信息的定位方法和装置 - Google Patents
错误信息的定位方法和装置 Download PDFInfo
- Publication number
- CN113778736A CN113778736A CN202111074089.2A CN202111074089A CN113778736A CN 113778736 A CN113778736 A CN 113778736A CN 202111074089 A CN202111074089 A CN 202111074089A CN 113778736 A CN113778736 A CN 113778736A
- Authority
- CN
- China
- Prior art keywords
- service request
- end service
- identifier
- target
- error
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0775—Content or structure details of the error report, e.g. specific table structure, specific error fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开实施例公开了一种错误信息的定位方法和装置,其中,该定位方法包括:在至少一个前端业务请求中添加唯一标识;基于所述唯一标识,建立所述至少一个前端业务请求与对应的后端服务链路信息之间的关联关系;基于前端报错信息,获取所述前端报错信息中的目标标识;基于所述关联关系,获取与所述目标标识对应的目标错误信息;其中,所述目标错误信息包括目标前端业务请求和所述目标前端业务请求对应的后端服务链路信息。本公开实施例可以在前端报错时,快速定位到导致错误的请求,以及该请求对应的后端服务链路。
Description
技术领域
本公开涉及计算机技术领域,尤其是一种错误信息的定位方法和装置。
背景技术
在前端领域,从浏览器或其他宿主环境向后端发起请求时,在请求出错时,由前端进行报错,例如前端给出错误代码或错误类型。由于本地环境、网络、前端问题、后端问题、业务数据等多方面影响,难以快速分析出错误原因。
相关技术中,使用前端报错监控方案,通过埋点收集至平台,通过队列进行消费,并对数据进行处理和展示。对于后端请求链路,在各后端服务中增加功能,进行流量标识,并在各后端服务收集日志,通过队列进行消费,并对数据进行处理和展示。然而,这两种监控场景下,前端监控仅能获取错误,无法定位到具体导致错误的请求,更无法定位到该请求对应的后端服务。
发明内容
本公开实施例提供一种错误信息的定位方法和装置,可以在前端报错时,快速定位到导致错误的请求,以及该请求对应的后端链路。
本公开实施例的第一方面,提供一种错误信息的定位方法,包括:
在至少一个前端业务请求中添加唯一标识;
基于所述唯一标识,建立所述至少一个前端业务请求与对应的后端服务链路信息之间的关系;
基于前端报错信息,获取所述前端报错信息中的目标标识,其中,所述前端报错信息是基于出错服务中的唯一标识和出错类型信息生成的;
基于所述关联关系,对所述目标标识对应的目标错误信息进行定位,其中,所述目标错误信息包括目标前端业务请求和所述目标前端业务请求对应的后端服务链路信息。
在一种可选的方式中,所述在至少一个前端业务请求中添加唯一标识的步骤,包括:
从所述至少一个前端业务请求中获取一个前端业务请求;
确定当前获取的前端业务请求的运行标识和自动增量基准值;
对所述自动增量基准值进行自增,得到自动增量值;
基于所述当前获取的前端业务请求的运行标识、自动增量值和时间戳,生成所述当前获取的前端业务请求的唯一标识;
获取所述至少一个前端业务请求中除所述当前获取的前端业务请求之外,剩余前端业务请求的唯一标识。
在一种可选的方式中,所述确定当前获取的前端业务请求的运行标识和自动增量基准值,包括:
在接收到所述当前获取的前端业务请求后,获取当前前端页面的统一资源定位器Url的主机Host信息,作为所述当前获取的前端业务请求的主机标识;
获取目标设备标识,并随机生成所述当前获取的前端业务请求的运行时标识和随机生成所述当前获取的前端业务请求的自增基准值;
其中,所述当前获取的前端业务请求的运行标识包括所述当前获取的前端业务请求的主机标识、设备标识和运行时标识。
在一种可选的方式中,所述获取目标设备标识,包括:
检测目标用户设备内是否存储有所述目标用户设备的标识;
如果所述目标用户设备内存储有所述目标用户设备的标识,则获取所述目标用户设备的标识,将所述目标用户设备的标识作为所述目标设备标识;
如果所述目标用户设备内未存储有所述目标用户设备的标识,则随机生成一个设备标识,将随机生成的设备标识作为所述目标设备标识。
在一种可选的方式中,所述基于所述唯一标识,建立所述至少一个前端业务请求与对应的后端服务链路信息之间的关联关系,包括:
将所述至少一个前端业务请求的唯一标识透传到对应的后端服务链路的节点中。
本公开实施例的第二方面,提供一种错误信息的获取装置,包括:
唯一标识添加模块,用于在至少一个前端业务请求中添加唯一标识;
关系建立模块,用于基于所述唯一标识,建立所述至少一个前端业务请求与对应的后端服务链路信息之间的关系;
标识获取模块,用于基于前端报错信息,获取所述前端报错信息中的目标标识,其中,所述前端报错信息是基于出错服务中的唯一标识和出错类型信息生成的;
错误信息定位模块,用于基于所述关联关系,对所述目标标识对应的目标错误信息进行定位,其中,所述目标错误信息包括目标前端业务请求和所述目标前端业务请求对应的后端服务链路信息。
在一种可选的方式中,所述唯一标识添加模块包括:
获取单元,用于从所述至少一个前端业务请求中获取一个前端业务请求;
确定单元,用于确定当前获取的前端业务请求的运行标识和自动增量基准值;
自增单元,用于对所述当前获取的前端业务请求的自动增量基准值进行自增,得到所述当前获取的前端业务请求的自动增量值;
唯一标识生成单元,用于基于所述当前获取的前端业务请求的运行标识、自动增量值和时间戳,生成所述当前获取的前端业务请求的唯一标识;
其中,所述获取单元还用于获取所述至少一个前端业务请求中除所述当前获取的前端业务请求之外,剩余前端业务请求;所述确定单元还用于确定所述剩余前端业务请求的的运行标识和自动增量基准值;所述自增单元还用于对所述剩余前端业务请求的自动增量基准值进行自增,得到所述剩余前端业务请求的自动增量值;所述唯一标识生成单元还用于基于所述当前获取的前端业务请求的运行标识、自动增量值和时间戳,生成所述当前获取的前端业务请求的唯一标识。
在一种可选的方式中,所述运行标识包括主机标识、设备标识和运行时标识中的所有标识,所述获取单元包括:
第一获取子单元,用于在接收到所述当前获取的前端业务请求后,获取当前前端页面的统一资源定位器Url的主机Host信息,作为所述当前获取的前端业务请求的主机标识;
第二获取子单元,用于获取目标设备标识,并随机生成所述当前获取的前端业务请求的运行时标识和随机生成所述当前获取的前端业务请求的自增基准值;
其中,所述当前获取的前端业务请求的运行标识包括所述当前获取的前端业务请求的主机标识、设备标识和运行时标识。
在一种可选的方式中,所述第二获取子单元用于检测目标用户设备内是否存储有所述目标用户设备的标识;如果所述目标用户设备内存储有所述目标用户设备的标识,则获取所述目标用户设备的标识,将所述目标用户设备的标识作为所述目标设备标识;如果所述目标用户设备内未存储有所述目标用户设备的标识,则随机生成一个设备标识,将随机生成的设备标识作为所述目标设备标识。
在一种可选的方式中,所述关系建立模块用于将所述至少一个前端业务请求的唯一标识透传到对应的后端服务链路的节点中。
本公开实施例的第三方面,提供一种计算机程序产品,该计算机程序/指令被处理器执行时实现上述第一方面所述的错误信息的定位方法。
本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述第一方面所述的错误信息的定位方法。
本公开实施例提供的错误信息的定位方法和装置,对至少一个前端业务请求添加唯一标识,并基于唯一标识,建立至少一个前端业务请求与对应的后端服务链路信息之间的关系,存储在日志中。当前端报错时,可以通过日志获取报错信息中包含的唯一标识,进而通过该唯一标识确定相应的前端业务请求(即导致报错的请求),以及该前端业务请求对应的后端服务链路信息。其中,后端服务链路信息包括该前端业务请求对应的每个后端服务,以及每个后端服务对应的运行情况(例如运行时间),以便针对报错进行快速定位。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开实施例的错误信息的定位方法的流程图;
图2为本公开一个实施例中错误信息的定位方法的原理图;
图3为本公开一个具体示例中前端请求库的工作原理图;
图4为本公开实施例的错误信息的定位装置的结构框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
图1为本公开实施例的错误信息的定位方法的流程图。如图1所示,本公开实施例的错误信息的定位方法,包括:
S1:在至少一个前端业务请求中添加唯一标识。
具体地,本公开实施例在前端监控系统和后端系统之间设置前端请求库,当用户进行前端业务请求时,由前端请求库接收前端业务请求,例如GET、POST、PUT、DELETE等方式的业务请求,或者如表单提交、文件上传、跨域调用等业务请求,针对至少一个前端业务请求中的每个前端业务请求生成相应的唯一标识。
S2:基于唯一标识,建立至少一个前端业务请求与对应的后端服务链路信息之间的关系。
在本公开的实施例中,至少一个前端业务请求中的每个前端业务请求均携带了相应的唯一标识。在对每个前端业务请求进行后端处理时,对应的后端服务链路中的所有节点均对唯一标识进行存储后,进行相应的处理。因此,基于每个前端业务请求的唯一标识,建立了每个前端业务请求与对应的后端服务链路信息之间的关系。
示例性地,对于一个前端业务请求X,需要按顺序使用服务A、服务B、服务C、服务D和服务E进行业务处理,则前端业务请求X对应的后端服务链路为:其对应的后端服务链路是:服务A->服务B->服务C->服务D->服务E。前端业务请求X的后端服务链路信息除了包括后端服务链路以外,还包括每个服务的运行状态信息,例如包括每个服务的运行时间信息。
S3:基于前端报错信息,获取前端报错信息中的目标标识。其中,前端报错信息是基于出错服务中的唯一标识和出错类型信息生成的。
具体地,后端业务系统在处理前端业务请求时,调用前端业务请求对应的服务进行处理。当某个服务出错时,例如针对前端业务请求X,在使用服务C进行处理时,首先服务C会存储前端业务请求X的唯一标识。如果在使用服务C进行处理发生错误(例如处理时间超时),则后端业务系统会从服务C或者前端业务请求X中提取出唯一标识,并基于出错类型信息生成前端报错信息,存储在日志中。由于日志中存储了前端报错信息,且前端报错信息中包含了导致报错的前端业务请求的唯一标识,因此可以提取前端报错信息中的唯一标识作为目标标识。本公开实施例中,获取前端报错信息中的目标标识,包括:在前端报错时,前端请求库自动获取前端报错信息中的目标标识;或者在前端报错时,由工作人员从日志中手动提取该目标标识。
S4:基于关联关系,对目标标识对应的目标错误信息进行定位。其中,目标错误信息包括目标前端业务请求和目标前端业务请求对应的后端链路信息。
具体地,通过日志定位到具有该目标标识(即导致报错的前端业务请求对应的唯一标识)对应的后端服务链路信息。然后通过前端反馈给指定用户,例如可以反馈给开发者,以便开发者针对反馈信息处理问题。
本实施例中,对至少一个前端业务请求中的每个前端业务请求添加唯一标识,并通过唯一标识建立每个前端业务请求和对应的后端服务链路之间的关系,存储在日志中。当前端报错时,可以通过日志获取前端报错信息中的唯一标识,进而通过该唯一标识确定相应的前端业务请求(即导致报错的请求),以及该前端业务请求对应的后端服务链路信息。其中,后端服务链路信息包括该前端业务请求对应的后端服务,以及每个后端服务对应的运行情况(例如运行时间),以便针对报错进行快速定位。
在本公开的一个实施例中,具体地,步骤S1包括:
S1-1:从至少一个前端业务请求中获取一个前端业务请求。
S1-2:确定当前获取的前端业务请求的运行标识和自动增量基准值。其中,运行标识包括主机标识Host ID、设备标识DeviceID和运行时标识RuntimeID中的至少一种。
在本实施例中,运行标识包括主机标识Host ID、设备标识Device ID和运行时标识Runtime ID中的所有标识。其中,主机标识Host ID,通过Host文件获取,或者随机生成,主机标识Host ID用于区分不同项目。设备标识Device ID可以通过设备接口获取,或者随机生成,设备标识Device ID用于记录设备信息。运行时标识Runtime ID随机生成,用于区分同项目内的运行时。例如Java程序的运行时叫Java Runtime,Android程序的运行时叫Android Runtime。运行时是指一个程序要在一个硬件或者平台上跑,需要中间层用来把程序语言转换为机器能听懂的机器语言。自动增量基准值IncrementBase随机生成。
S1-3:对当前获取的前端业务请求的自动增量基准值进行自增,得到当前获取的前端业务请求的自动增量值。其中,自动增量值Increment在当前运行时内自增,用于生成序列化数据。
具体地,将包括主机标识、设备标识和运行时标识在内的运行标识,保存在当前运行时的内存中,此后在同一环境中再次生成唯一标识时,不用再重复执行上述过程,直接取当前值即可。获取运行标识后,对自增基准值Increment Base进行自增,获取当前请求的自动增量值Increment。
S1-4:基于当前获取的前端业务请求的运行标识、自动增量值Increment和时间戳Timestamp,生成当前获取的前端业务请求的唯一标识,即将当前获取的前端业务请求的主机标识Host ID、设备标识Device ID、运行时标识Runtime ID、自动增量值Increment和时间戳Timestamp进行拼装,例如按照预设格式进行拼接,得到唯一标识Request-Key。其中,时间戳Timestamp为当前事件发生时,设备上的时间戳。
S1-5:获取至少一个前端业务请求中除当前获取的前端业务请求之外,剩余前端业务请求的唯一标识。即采用与步骤S1-1至S1-4同样的方式,获取剩余前端业务请求的唯一标识。
在本公开实施例中,通过唯一标识可以反映对应的前端业务请求所使用的主机、所需的用户设备、运行时环境、自动增量情况和时间点信息,增加前端业务请求与唯一标识的关联性,保证每个前端业务请求的唯一标识的唯一性。
在本公开的一个实施例中,运行标识包括主机标识、设备标识和运行时标识中的所有标识,则步骤S1-2包括:
S1-2-1:在接收到上述当前获取的前端业务请求后,获取当前前端页面的统一资源定位器Url的主机Host信息,作为当前获取的前端业务请求的主机标识。
S1-2-2:获取目标设备标识,并随机生成上述当前获取的前端业务请求的运行时标识和随机生成上述当前获取的前端业务请求的自增基准值。其中,目标设备标识DeviceID可以通过设备接口从目标设备内部获取,或者随机生成。在本实施例中,上述当前获取的前端业务请求的运行标识包括上述当前获取的前端业务请求的主机标识、设备标识和运行时标识。
在本公开的实施例中,在步骤S1-2-1之前,还包括:S1-2-0:在接收到上述当前获取的前端业务请求后,如果目标用户设备首次运行,则进行初始化。如果目标用户设备不是首次运行,则无需初始化。
本实施例提供一种获取每个前端业务请求的主机标识、设备标识、运行时标识和自动增量基准值的具体方式,获取效率高。
在本公开的一个实施例中,在步骤S1-2-2中,获取目标设备标识,包括:检测目标用户设备内是否存储有目标用户设备的标识;如果目标用户设备内存储有目标用户设备的标识,则获取目标用户设备的标识,将目标用户设备的标识作为目标设备标识;如果目标用户设备内未存储有目标用户设备的标识,则随机生成一个设备标识,将随机生成的设备标识作为目标设备标识。
具体地,调用目标用户设备的存储API(如LocalStorage或Cookie),检查是否存储有目标用户设备的标识Device ID,若目标用户设备内存储有目标用户设备的标识DeviceID,则获取目标用户设备的标识Device ID,作为目标设备标识;若目标用户设备未存储有目标用户设备的标识,则生成一个设备标识,将随机生成的设备标识作为目标设备标识,并存储在目标用户设备中。
本实施例提供一种获取目标设备标识的具体方式,可以快速准确地获取目标设备标识。
在本公开的一个实施例中,步骤S2包括:将至少一个业务前端业务请求的唯一标识透传到对应的后端服务链路的每个节点中。
图2为本公开一个实施例中错误信息的定位方法的原理图。如图2所示,Ketch Lib作为前端请求库用于生成每个前端业务请求的唯一标识Request-Key。在Ketch Lib中,由请求构造函数Request Constructor、响应构造函数Response Constructor和前端后端链接构造函数Ketch Constructor生成请求库实例,提供接口和方法供用户调用,以实现功能和获取内部数据。对于每个前端业务请求(Http Request),通过抽象和封装,使每个前端业务请求可以携带唯一标识Request-Key,即在每个前端业务请求的指定位置上加入唯一标识Request-Key。
此外,通过前端后端链接构造函数Ketch Constructor,基于NPM引入和静态资源引入的方式生成回调函数Call Back与Node服务之间进行连接的函数Ketch,进而在可以使后端服务出错时提供给前端监控系统进行数据收集/处理。
在本实施例中,前端监控系统将后端服务的运行状态信息保存在日志中。当前端监控系统报错时,可以通过日志获取前端报错信息Error中包含的唯一标识,基于该唯一标识对应的前端业务请求与后端服务链路信息之间的关联关系,可以对目标标识对应的目标错误信息进行快速准确地定位。其中,目标错误信息包括目标前端业务请求和目标前端业务请求对应的后端服务链路信息。目标前端业务请求是导致报错的前端业务请求。后端服务链路信息可以包括后端服务层中,对应目标前端业务请求的后端服务链路中,每个后端服务的运行时间,基于该运行时间可以帮助开发者针对此次报错进行原因分析和后续排查。
图3为本公开一个具体示例中前端请求库的工作原理图。如图3所示,在本示例中,前端采用JavaScript的运行时。通过用户设置User Config对前端请求库配置实例。前端后端链接构造函数Ketch Constructor可以返回实例。用户可以使用Java提供的方法(例如GET、POST等)向前端请求库Ketch Lib发送前端业务请求,前端请求库Ketch Lib基于请求构造函数Request Constructor向后端服务发送请求实例Request Instance。后端服务在接受请求后,基于响应构造函数Response Constructor向前端请求库Ketch Lib反馈响应信息。其中,响应信息中包含前端业务请求的唯一标识Request-Key。在后端服务出错时,后端服务通过前端请求库Ketch Lib向前端监控系统发送包含唯一标识Request-Key的错误信息,以便进行前端报错。
本公开任一实施例提供的错误信息的获取装置可用于实现本公开上述实施例中错误信息的定位方法。本公开任一实施例提供的错误信息的获取装置可以设置在终端设备上,也可以设置在服务端上,或者部分设置在终端设备上,部分设置在服务端上。
图4为本公开的错误信息的定位装置一个实施例的结构框图。如图4所示,本公开的错误信息的获取装置,包括:唯一标识添加模块410、关系建立存储模块420、标识获取模块430和错误信息定位模块440。
其中,唯一标识添加模块410用于在至少一个前端业务请求中添加唯一标识。关系建立模块420用于基于唯一标识,建立至少一个前端业务请求与对应的后端服务链路信息之间的关系。标识获取模块430用于基于前端报错信息,获取前端报错信息中的目标标识,其中,前端报错信息是基于出错服务中的唯一标识和出错类型信息生成的。错误信息获取模块440用于基于关联关系,对目标标识对应的目标错误信息进行定位。其中,目标错误信息包括目标前端业务请求和目标前端业务请求对应的后端链路信息。
在本公开的一个实施例中,唯一标识添加模块410包括:
获取单元,用于从至少一个前端业务请求中获取一个前端业务请求;
确定单元,用于确定当前获取的前端业务请求的运行标识和自动增量基准值;
自增单元,用于对当前获取的前端业务请求的自动增量基准值进行自增,得到当前获取的前端业务请求的自动增量值;
唯一标识生成单元,用于基于当前获取的前端业务请求的运行标识、自动增量值和时间戳,生成当前获取的前端业务请求的唯一标识;
其中,获取单元还用于获取至少一个前端业务请求中除当前获取的前端业务请求之外的剩余前端业务请求。确定单元还用于确定剩余前端业务请求的运行标识和自动增量基准值。自增单元还用于对剩余前端业务请求的自动增量基准值进行自增,得到剩余前端业务请求的自动增量值。唯一标识生成单元还用于基于当前获取的前端业务请求的运行标识、自动增量值和时间戳,生成当前获取的前端业务请求的唯一标识。
在本公开的一个实施例中,获取单元包括:
第一获取子单元,用于在接收到当前获取的前端业务请求后,获取当前前端页面的统一资源定位器Url的主机Host信息,作为当前获取的前端业务请求的主机标识。
第二获取子单元,用于获取目标设备标识,并随机生成当前获取的前端业务请求的运行时标识和随机生成当前获取的前端业务请求的自增基准值。
其中,当前获取的前端业务请求的运行标识包括当前获取的前端业务请求的主机标识、设备标识和运行时标识。
在本公开的一个实施例中,第二获取子单元用于检测目标用户设备内是否存储有目标用户设备的标识;如果目标用户设备内存储有目标用户设备的标识,则获取目标用户设备的标识,将目标用户设备的标识作为目标设备标识;如果目标用户设备内未存储有目标用户设备的标识,则随机生成一个设备标识,将随机生成的设备标识作为目标设备标识。
在本公开的一个实施例中,关系建立模块420用于将至少一个前端业务请求的唯一标识透传到对应的后端服务链路的每个节点中。
需要说明的是,本公开的错误信息的获取装置的具体实施方式与本公开的错误信息的定位方法的具体实施方式类似,具体参见错误信息的定位方法部分,为了减少冗余,不做赘述。
另外,本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述实施例中的错误信息的定位方法。
其中,计算机程序产品可以通过一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以包括计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的错误信息的定位方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种错误信息的定位方法,其特征在于,包括:
在至少一个前端业务请求中添加唯一标识;
基于所述唯一标识,建立所述至少一个前端业务请求与对应的后端服务链路信息之间的关联关系;
基于前端报错信息,获取所述前端报错信息中的目标标识,其中,所述前端报错信息是基于出错服务中的唯一标识和出错类型信息生成的;
基于所述关联关系,对所述目标标识对应的目标错误信息进行定位,其中,所述目标错误信息包括目标前端业务请求和所述目标前端业务请求对应的后端服务链路信息。
2.根据权利要求1所述的错误信息的定位方法,其特征在于,所述在至少一个前端业务请求中添加唯一标识的步骤,包括:
从所述至少一个前端业务请求中获取一个前端业务请求;
确定当前获取的前端业务请求的运行标识和自动增量基准值;
对所述自动增量基准值进行自增,得到自动增量值;
基于所述当前获取的前端业务请求的运行标识、自动增量值和时间戳,生成所述当前获取的前端业务请求的唯一标识;
获取所述至少一个前端业务请求中除所述当前获取的前端业务请求之外,剩余前端业务请求的唯一标识。
3.根据权利要求2所述的错误信息的定位方法,其特征在于,所述确定当前获取的前端业务请求的运行标识和自动增量基准值,包括:
在接收到所述当前获取的前端业务请求后,获取当前前端页面的统一资源定位器Url的主机Host信息,作为所述当前获取的前端业务请求的主机标识;
获取目标设备标识,并随机生成所述当前获取的前端业务请求的运行时标识和随机生成所述当前获取的前端业务请求的自增基准值;
其中,所述当前获取的前端业务请求的运行标识包括所述当前获取的前端业务请求的主机标识、设备标识和运行时标识。
4.根据权利要求3所述的错误信息的定位方法,其特征在于,所述获取目标设备标识,包括:
检测目标用户设备内是否存储有所述目标用户设备的标识;
如果所述目标用户设备内存储有所述目标用户设备的标识,则获取所述目标用户设备的标识,将所述目标用户设备的标识作为所述目标设备标识;
如果所述目标用户设备内未存储有所述目标用户设备的标识,则随机生成一个设备标识,将随机生成的设备标识作为所述目标设备标识。
5.根据权利要求1所述的错误信息的定位方法,其特征在于,所述基于所述唯一标识,建立所述至少一个前端业务请求与对应的后端服务链路信息之间的关联关系,包括:
将所述至少一个前端业务请求的唯一标识透传到对应的后端服务链路的节点中。
6.一种错误信息的定位装置,其特征在于,包括:
唯一标识添加模块,用于在至少一个前端业务请求中添加唯一标识;
关系建立模块,用于基于所述唯一标识,建立所述至少一个前端业务请求与对应的后端服务链路信息之间的关联关系;
标识获取模块,用于基于前端报错信息,获取所述前端报错信息中的目标标识,其中,所述前端报错信息是基于出错服务中的唯一标识和出错类型信息生成的;
错误信息定位模块,用于基于所述关联关系,对所述目标标识对应的目标错误信息进行定位,其中,所述目标错误信息包括目标前端业务请求和所述目标前端业务请求对应的后端服务链路信息。
7.根据权利要求6所述的错误信息的定位装置,其特征在于,所述唯一标识添加模块包括:
获取单元,用于从所述至少一个前端业务请求中获取一个前端业务请求;
确定单元,用于确定当前获取的前端业务请求的运行标识和自动增量基准值;
自增单元,用于对所述当前获取的前端业务请求的自动增量基准值进行自增,得到所述当前获取的前端业务请求的自动增量值;
唯一标识生成单元,用于基于所述当前获取的前端业务请求的运行标识、自动增量值和时间戳,生成所述当前获取的前端业务请求的唯一标识;
其中,所述获取单元还用于获取所述至少一个前端业务请求中除所述当前获取的前端业务请求之外的剩余前端业务请求;所述确定单元还用于确定所述剩余前端业务请求的的运行标识和自动增量基准值;所述自增单元还用于对所述剩余前端业务请求的自动增量基准值进行自增,得到所述剩余前端业务请求的自动增量值;所述唯一标识生成单元还用于基于所述当前获取的前端业务请求的运行标识、自动增量值和时间戳,生成所述当前获取的前端业务请求的唯一标识。
8.根据权利要求7所述的错误信息的定位装置,其特征在于,所述获取单元包括:
第一获取子单元,用于在接收到所述当前获取的前端业务请求后,获取当前前端页面的统一资源定位器Url的主机Host信息,作为所述当前获取的前端业务请求的主机标识;
第二获取子单元,用于获取目标设备标识,并随机生成所述当前获取的前端业务请求的运行时标识和随机生成所述当前获取的前端业务请求的自增基准值;
其中,所述当前获取的前端业务请求的运行标识包括所述当前获取的前端业务请求的主机标识、设备标识和运行时标识。
9.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现上述权利要求1-5任一所述的错误信息的定位方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求1-5任一所述的错误信息的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111074089.2A CN113778736A (zh) | 2021-09-14 | 2021-09-14 | 错误信息的定位方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111074089.2A CN113778736A (zh) | 2021-09-14 | 2021-09-14 | 错误信息的定位方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778736A true CN113778736A (zh) | 2021-12-10 |
Family
ID=78843822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111074089.2A Pending CN113778736A (zh) | 2021-09-14 | 2021-09-14 | 错误信息的定位方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778736A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999125A (en) * | 1996-07-31 | 1999-12-07 | Motorola, Inc. | Method and apparatus for a global positioning data service |
CN107229555A (zh) * | 2017-05-04 | 2017-10-03 | 北京小度信息科技有限公司 | 标识生成方法和装置 |
CN110245035A (zh) * | 2019-05-20 | 2019-09-17 | 平安普惠企业管理有限公司 | 一种链路跟踪方法及装置 |
CN110602171A (zh) * | 2019-08-20 | 2019-12-20 | 网宿科技股份有限公司 | 一种交互方法及装置 |
CN112491617A (zh) * | 2020-11-27 | 2021-03-12 | 深圳乐信软件技术有限公司 | 一种链路跟踪方法、装置、电子设备和介质 |
CN112822075A (zh) * | 2021-02-01 | 2021-05-18 | 深圳市科漫达智能管理科技有限公司 | 一种业务链路追踪方法及相关装置 |
CN112910945A (zh) * | 2020-12-08 | 2021-06-04 | 江苏苏宁云计算有限公司 | 请求链路跟踪方法和业务请求处理方法 |
CN113010365A (zh) * | 2019-12-20 | 2021-06-22 | 北京金山云网络技术有限公司 | 系统运行状态的监控方法、检测方法、装置、电子设备及存储介质 |
CN113596078A (zh) * | 2021-06-17 | 2021-11-02 | 微梦创科网络科技(中国)有限公司 | 业务问题定位方法及装置 |
-
2021
- 2021-09-14 CN CN202111074089.2A patent/CN113778736A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999125A (en) * | 1996-07-31 | 1999-12-07 | Motorola, Inc. | Method and apparatus for a global positioning data service |
CN107229555A (zh) * | 2017-05-04 | 2017-10-03 | 北京小度信息科技有限公司 | 标识生成方法和装置 |
CN110245035A (zh) * | 2019-05-20 | 2019-09-17 | 平安普惠企业管理有限公司 | 一种链路跟踪方法及装置 |
CN110602171A (zh) * | 2019-08-20 | 2019-12-20 | 网宿科技股份有限公司 | 一种交互方法及装置 |
CN113010365A (zh) * | 2019-12-20 | 2021-06-22 | 北京金山云网络技术有限公司 | 系统运行状态的监控方法、检测方法、装置、电子设备及存储介质 |
CN112491617A (zh) * | 2020-11-27 | 2021-03-12 | 深圳乐信软件技术有限公司 | 一种链路跟踪方法、装置、电子设备和介质 |
CN112910945A (zh) * | 2020-12-08 | 2021-06-04 | 江苏苏宁云计算有限公司 | 请求链路跟踪方法和业务请求处理方法 |
CN112822075A (zh) * | 2021-02-01 | 2021-05-18 | 深圳市科漫达智能管理科技有限公司 | 一种业务链路追踪方法及相关装置 |
CN113596078A (zh) * | 2021-06-17 | 2021-11-02 | 微梦创科网络科技(中国)有限公司 | 业务问题定位方法及装置 |
Non-Patent Citations (1)
Title |
---|
毛宇等: "基于服务状态感知的服务重要性分级方法", 《指挥信息系统与技术》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7954011B2 (en) | Enabling tracing operations in clusters of servers | |
CN106201794B (zh) | 一种服务器的检测方法和装置 | |
CN108038039B (zh) | 记录日志的方法及微服务系统 | |
CN109039724B (zh) | 日志上传方法和装置 | |
CN111198797B (zh) | 操作监控方法及装置、操作分析方法及装置 | |
CN105471968B (zh) | 一种数据交换方法、系统以及数据平台服务器 | |
CN111176941A (zh) | 一种数据处理的方法、装置和存储介质 | |
CN110297767B (zh) | 测试用例自动执行方法、装置、设备及存储介质 | |
CN109344046B (zh) | 一种数据处理方法、装置、介质及电子设备 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN104683181A (zh) | 一种性能监控方法、设备和系统 | |
CN110969417A (zh) | 政务事项同步方法、装置、系统、计算机设备和存储介质 | |
CN110908708B (zh) | 一种代码发布方法、装置和系统 | |
CN111367531A (zh) | 代码处理方法及装置 | |
CN108650123B (zh) | 故障信息记录方法、装置、设备和存储介质 | |
CN112433876B (zh) | 一种作业错误信息处理方法、装置和存储介质 | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
CN113778736A (zh) | 错误信息的定位方法和装置 | |
CN107483294B (zh) | 监控网络请求的方法及装置 | |
CN113094268B (zh) | 测试方法、装置、设备和介质 | |
CN104683179A (zh) | 一种对对象的执行性能进行监控的方法、装置及系统 | |
CN115065510A (zh) | 登录方法、装置、系统、电子设备及可读存储介质 | |
CN111737129B (zh) | 服务控制方法、装置、计算机可读介质及电子设备 | |
CN111049795B (zh) | 分布式Web应用的敏感数据未加密漏洞的检测方法及装置 | |
CN114020513A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220128 Address after: 100085 Floor 101 102-1, No. 35 Building, No. 2 Hospital, Xierqi West Road, Haidian District, Beijing Applicant after: Seashell Housing (Beijing) Technology Co.,Ltd. Address before: 101300 room 24, 62 Farm Road, Erjie village, Yangzhen Town, Shunyi District, Beijing Applicant before: Beijing fangjianghu Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211210 |
|
RJ01 | Rejection of invention patent application after publication |