掌桥专利:专业的专利平台
掌桥专利
首页

数据采集和链路处理方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 10:48:02


数据采集和链路处理方法、装置、计算机设备及存储介质

技术领域

本发明涉及数据处理方法,更具体地说是指数据采集和链路处理方法、装置、计算机设备及存储介质。

背景技术

因应用安全运维、安全防护项目落地、溯源分析、取证等需求和要求,需要对应用终端上的用户行为数据、应用传输数据和应用资产数据进行采集,并对单次用户访问和接口调用的单次数据在应用接口、数据库、应用服务、应用之间的传输路径进行梳理,以便于了解和跟踪用户访问的用户行为数据以及用户行为数据在本次访问过程中流转的路径。

目前对于用户行为数据和应用传输数据的采集的方式包括三种,第一种是使用预置的应用程序埋点或二次开发定点采集方案采集用户行为和应用传输数据,但是这种方式需要针对每个指定的采集点都进行二次开发,开发及维护成本极高,因每次采集均需要涉及二次开发,修改代码并运行,对原有的业务存在入侵性;对数据采集的开关需要在代码上进行维护,且无法对数据采集的对象进行可交互式的动态配置和调节,如只采集指定用户、指定接口、指定应用服务的用户行为数据;第二种是通过解析网络流量采集应用传输数据和部分用户行为数据,这种方式对某些私有协议的流量和数据内容无法解析,网络流量分析因私有协议字段和标准未公开,因此无法进行流量解析和数据解析,也就无法解析出应用系统的应用接口和还原传输数据,对加密流量无法进行解析,因部署模式对可采集的应用传输数据范围受限,只能对用户访问的数据进行部分采集,对应用终端之间数据调用无法进行采集,使用部署的设备及部署模式即旁路部署和网络代理部署将提高网络架构的复杂度、提升网络运维的难度、降低故障排除的效率,并使整体网络的可靠性和可用性降低,且无法通过可交互式的数据采集策略对数据采集的对象进行管理和控制,如通过采集频率、数据内容等;还有一种方式是通过架设应用安全网关采集用户行为数据和应用传输数据,这种方式对未纳入应用网关范围的应用无法进行采集,对纳入应用网关范围的也只能采集用户访问数据,对应用之间数据传输无法进行采集,需要对现有的应用系统架构进行调整,影响非常大,无法通过可交互式的数据采集策略对数据采集的对象进行管理和控制,如通过采集频率、数据内容等。

综上所述,目前对用户行为数据和应用传输数据的采集和传输方式存在无法管控,采集复杂和不够灵活,效率低以及维护成本高,也不能满足梳理对单次用户访问及接口调用之间的单次数据在应用接口、数据库、应用服务、应用之间的传输路径的需求。

因此,有必要设计一种新的方法,实现可管控地采集用户行为数据和应用传输数据,且采集更全面、简单和灵活,效率高,维护成本低,可满足梳理对单次用户访问及接口调用之间的单次数据在应用接口、数据库、应用服务、应用之间的传输路径的需求。

发明内容

本发明的目的在于克服现有技术的缺陷,提供数据采集和链路处理方法、装置、计算机设备及存储介质。

为实现上述目的,本发明采用以下技术方案:数据采集和链路处理方法,包括:

获取来自管理端的采集策略;

根据所述采集策略采用开关模式设定实际采集策略;

采用字节增强技术对访问数据进行拦截,以得到拦截的数据;

根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据;

反馈所述目标数据,以由管理端根据所述目标数据组装访问链路,以得到访问链路信息图,且由管理端根据所述访问链路信息图展示访问链路信息。

其进一步技术方案为:所述根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据,包括:

根据所述实际采集策略内不同的数据采集逻辑对拦截的数据采集用户行为数据、应用传输数据和应用资产数据;其中,不同的数据采集逻辑按照设定的优先级执行数据采集;

对采集的用户行为数据和应用传输数据写入数据访问链路信息,以形成目标数据。

其进一步技术方案为:所述对采集的用户行为数据和应用传输数据写入数据访问链路信息,以形成目标数据,包括:

采用节点对采集的用户行为数据和应用传输数据的链路信息进行标注,并设置节点的上下文关系信息,存储链路信息以及上下文关系信息至采集的用户行为数据和应用传输数据内,以形成目标数据。

其进一步技术方案为:所述反馈所述目标数据,以由管理端根据所述目标数据组装访问链路,以得到访问链路信息图,且由管理端根据所述访问链路信息图展示访问链路信息,包括:

反馈所述目标数据,以由管理端从所述目标数据内提取出相同链路ID的节点,以得到目标节点;

由管理端提取所述目标节点提取上下文关系信息;

由管理端根据所述上下文关系信息进行节点访问顺序的排序,以得到排序结果;

由管理端根据所述排序结果提取每个节点的请求和响应的应用接口信息,以得到基于应用接口的访问链路信息图;

由管理端根据基于应用接口的访问链路信息图组装基于应用服务的访问链路信息图以及基于应用的访问链路信息图;

由管理端根据所述访问链路信息图展示访问链路信息。

其进一步技术方案为:所述上下文关系信息包括父节点和当前节点的编号信息。

其进一步技术方案为:所述根据所述访问链路信息图展示访问链路信息,包括:

根据所述访问链路信息图按照树形目录图的展示方式展示访问链路信息。

其进一步技术方案为:所述采集策略包括基于用户标识配置进行数据采集、基于应用服务配置进行数据采集、基于应用接口进行数据采集、根据应用接口的字段进行数据采集、基于所配置的频率进行数据采集以及基于配置的单次数据采集量进行数据采集中至少一种数据采集方式。

本发明还提供了数据采集和链路处理装置,包括:

策略获取单元,用于获取来自管理端的采集策略;

实际策略设定单元,用于根据所述采集策略采用开关模式设定实际采集策略;

拦截单元,用于采用字节增强技术对访问数据进行拦截,以得到拦截的数据;

数据采集单元,用于根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据;

链路组装单元,用于根据所述目标数据组装访问链路,以得到访问链路信息图;

信息展示单元,用于根据所述访问链路信息图展示访问链路信息。

本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。

本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。

本发明与现有技术相比的有益效果是:本发明通过在管理端设定数据的采集策略,并更新至应用客户端,由应用客户端采用开关模式结合采集策略生成实际采集策略,对应用系统上特定接口的数据采用字节码增强技术进行拦截,并结合实际采集策略进行对应数据的采集,实现可管控地采集用户行为数据和应用传输数据,且采集更全面、简单和灵活,效率高,维护成本低;并对目标数据进行访问链路的组装和展示,可满足梳理对单次用户访问及接口调用之间的单次数据在应用接口、数据库、应用服务、应用之间的传输路径的需求。

下面结合附图和具体实施例对本发明作进一步描述。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的数据采集和链路处理方法的应用场景示意图;

图2为本发明实施例提供的数据采集和链路处理方法的流程示意图;

图3为本发明实施例提供的数据采集和链路处理方法的子流程示意图;

图4为本发明实施例提供的数据采集和链路处理方法的子流程示意图;

图5为本发明实施例提供的数据采集和链路处理装置的示意性框图;

图6为本发明实施例提供的数据采集和链路处理装置的数据采集单元的示意性框图;

图7为本发明实施例提供的计算机设备的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1和图2,图1为本发明实施例提供的数据采集和链路处理方法的应用场景示意图。图2为本发明实施例提供的数据采集和链路处理方法的示意性流程图。该数据采集和链路处理方法需要在应用服务器上安装有agent,即应用客户端,且该应用服务器上的应用客户端会与管理端进行通讯,管理端将使用专用的服务器,当用户终端与进行数据交互时,通过管理端设置的采集策略,实时推给应用客户端,结合应用客户端内置的采集开关进行实际采集策略的设定,当用户终端发起的数据经过应用客户端的指定接口时,应用客户端采用字节增强技术对数据进行拦截,并采用实际采集策略对拦截的数据进行采集,并对采集的数据写入链路ID和上下文关系,以便于管理端采集到的数据进行访问链路的组装,展示访问链路信息。

需要说明的是,图1中仅仅示意出一台应用服务器,在实际操作过程中,也可以是多台应用服务器同时执行。

图2是本发明实施例提供的数据采集和链路处理方法的流程示意图。如图2所示,该方法包括以下步骤S110至S150。

S110、获取来自管理端的采集策略。

采集策略包括基于用户标识配置进行数据采集、基于应用服务配置进行数据采集、基于应用接口进行数据采集、根据应用接口的字段进行数据采集、基于所配置的频率进行数据采集以及基于配置的单次数据采集量进行数据采集中至少一种数据采集方式。

相对于网络流量采集和应用网关部署采集受限于特定的网络区域和部署位置,采集范围受限,本实施例在部署时以客户端即应用客户端的方式在应用服务主机上进行部署,部署简单,采集范围不受限制,有统一管理的管理端对应用客户端进行统一的配置管理;在管理端可以基于应用服务、用户标识、应用接口、应用接口字段、采集频率、数据内容配置单个或组合数据采集策略进行用户行为数据的采集,实现数据采集的可管控性,通过在管理端更改采集策略,便可更改应用客户端对数据采集的策略,以达到数据采集的可控性。可以快速的配置数据采集策略,无需进行定点数据采集开发,节约了人力,大大缩短开发周期,提升了工作和项目效率;无需埋点和二开的用户行为数据采集,减少了应用的运行维护和对应用系统的影响,从而可以更多的保障应用的正常运行。在部署时以客户端的方式在应用服务主机上进行部署,有统一管理的管理端对应用客户端进行统一的配置管理;对应用系统架构无影响,对现有的网络架构无任何影响。

具体地,上述的基于用户标识配置进行数据采集的数据采集方式是指基于用户标识配置是否采集用户行为数据和应用传输数据,指定单个或多个或全部用户可以或不可以采集用户行为数据和应用传输数据,其中用户标识包括访问的用户账号、访问IP、访问mac、访问浏览器等。

基于应用服务配置进行数据采集的数据采集方式是指基于应用服务配置是否采集用户行为数据和应用传输数据,指定单个或多个或全部应用服务可以或不可以采集用户行为数据和应用传输数据。

基于应用接口进行数据采集的数据采集方式是指基于应用接口是否采集用户行为数据和应用传输数据,指定单个或多个或全部应用接口可以或不可以采集用户行为数据和应用传输数据。

根据应用接口的字段进行数据采集的数据采集方式是指应用接口的字段配置是否采集用户行为数据和应用传输数据,主要通过接口名称上的接口字段进行控制,指定单个或多个或全部的应用接口字段可以或不可以采集用户行为数据和应用传输数据。

基于所配置的频率进行数据采集的数据采集方式是通过采集数据的时间周期进行控制。

基于配置的单次数据采集量进行数据采集的数据采集方式主要通过需要采集的数据条数进行控制。

以上的数据采集方式任意组合配置是否采集应用传输数据,比如允许采集某个用户访问某个接口的行为数据或不允许采集指定或全部用户访问指定的某个应用服务的行为数据;由此形成采集策略。

S120、根据所述采集策略采用开关模式设定实际采集策略。

在本实施例中,实际采集策略是指实际用于采集数据的策略,结合了客户端所传输的采集策略以及设定的开关模式,由此组成的多种数据采集策略,且这些数据采集策略按照设定的优先级依序执行。

具体地,根据所述采集策略在应用服务器上基于应用客户端采用开关模式设定实际采集策略。

在本实施例中,所述开关模式包括基于应用服务设置数据采集的开关、基于用户标识设置数据采集的开关、基于应用接口设置数据采集的开关、基于应用接口的字段设置数据采集的开关中至少一种模式;所述开关模式还包括数据采集的周期阀值以及基于单次数据的采集量的过滤规则。

具体地,基于应用服务设置数据采集的开关的模式是指当状态为启用时,应用客户端将打开应用服务的数据采集功能,这是采集功能可以正常工作的前置条件;当状态为关闭时,应用客户端将关闭应用服务的采集功能,此应用服务下所有采集功能将全部被关闭。

基于用户标识设置数据采集的开关的模式是指当状态为启用时,应用客户端打开基于用户标识的数据采集功能;当状态为关闭时,应用客户端关闭基于用户标识的数据采集功能,但其它采集开关和数据采集不受影响,只是不再基于用户标识采集用户行为数据和应用传输数据。

基于应用接口设置数据采集的开关的模式是指当状态为启用时,默认对所有应用接口执行数据采集,也可以对指定接口的数据定义采集或不采集,其中指定接口可以是单个或多个或全部接口名称结合采集或不采集的标示;当状态为关闭时,默认将关闭基于此应用服务下的应用接口的数据采集功能,但可对指定接口如单个或多个或全部接口名称结合采集的标示的数据进行采集,此时其它采集开关和数据采集不受影响。

基于应用接口的字段设置数据采集的开关的模式指当状态为启用时,默认对所有接口和所有字段执行数据采集,对指定接口和指定字段如单个或多个或全部接口名称加上对应接口的字段名称以及不采集的标示的数据不进行采集;当状态为关闭时,将关闭基于应用接口字段的数据采集功能,但其它采集开关和数据采集不受影响,只是不再基于应用接口字段采集应用传输数据,但对指定接口和指定字段如单个或多个或全部接口名称加上对应接口的字段名称以及采集的标示的数据进行采集,此时其它采集开关和数据采集不受影响。

数据采集的周期阀值是通过采集数据的时间周期计数对需要采集的数据进行控制,针对采集的数据主体为单个的应用服务、服务中的应用接口及接口字段;基于单次数据的采集量的过滤规则是针对单个的应用服务、服务中的应用接口及接口字段的数据条数抽取进行过滤,过滤时将采取前置数据抽取、后置数据抽取 、随机抽取、从某个特定数据点进行数据抽取等方式进行过滤。

管理端与应用客户端建立双向的通讯通道,可以随时发送指令给应用客户端,应用客户端亦可根据指令执行并返回执行结果,应用客户端也可通过这个双向的通讯通道主动发送应用客户端的状态等信息给管理端。初始安装时,应用客户端与管理端建立通讯后,管理端可按照应用客户端群组或按照单个的应用客户端进行采集策略的推送,当数据采集策略有进行更新时,亦会实时进行策略推送,应用客户端针对接收到的数据策略,根据采集策略中的不同采集指令执行不同的数据采集逻辑,从而达到可管可控数据采集的功能。

S130、采用字节增强技术对访问数据进行拦截,以得到拦截的数据。

在本实施例中,拦截的数据是指经过应用客户端的指定接口的数据。

具体地,在Java字节码生成之后,根据Java字节码中定义的规则,对已经生成的Java字节码在JVM加载时进行动态修改,增加增强功能的内容,以根据所述增强功能的内容对访问数据进行拦截,以得到拦截的数据。

使用字节码增强技术,在Java字节码生成之后,根据Java字节码中定义的规则,对已经生成的Java字节码在JVM(Java虚拟机,Java Virtual Machine)加载的时候,进行动态修改,增加需要的字段或者是方法函数、或者继承实现新的类和接口等。这些动态增加的字段、或者方法函数、或者继承实现新的类和接口,都是增强的功能,增强的功能主要是指对方法函数的请求参数和返回结果进行自动提取的功能。

在提取相关数据之前,首先确定所关心的数据在用户一次访问得过程中必定会经过类的方法函数。确定这些方法函数之后,通过字节码增强技术在这些方法函数的调用前和调用后采集数据的逻辑,此时可以根据实际的需求采集到所需要采集到的应用系统,上述的方法函数包括Object first = methond(String paramer)和/或Object second =first.methond(String paramer);

首先会将methond(String paramer)方法的主体内容抽取为一个方法名随机字符串的名称的函数中,比如sdfsdfsd(paramer);接着将methond(String paramer)方法修改为:methond(String paramer){

bef或(){

}

sdfsdfsd(paramer);

after(){

}

}。

最后在bef或()和after()里面采集到的数据会存储在first对象中的某个变量中,这个变量是增强进去的。这样这个变量中的值就可以传递到first.methond(Stringparamer)中的bef或和after方法中,这样就能将用户的数据在一次访问的整个生命周期中串联起来。

在提取得数据中,有不同类型的数据、用户标识信息比如用户账号、IP、mac、浏览器等,用户访问时间、访问接口、访问结果、访问数据以及访问次数等,有协议字段及内容数据,如http和RPC(远程过程调用,Remote Procedure Call))协议字段名称、字段中对应的信息;有应用传输中有用户标识、访问时间、访问接口、访问协议、协议中所有字段、请求数据和响应数据,这些数据都是分散在用户访问过程中的不同地方,通过上述的方法函数,可以将这些数据汇聚在一起并汇聚到任何的数据接入方,也就是采用字节码增强技术将所有的数据进行拦截汇集。

当用户访问和任务调度的访问数据流和接口调用经过应用客户端的Agent时,应用客户端将使用字节码增强技术对流经的数据进行拦截,基于字节码增强技术中获取的也是应用层协议解析后的传输数据,因此无需对协议进行解析和进行内容还原,所以在采集数据时不受加密协议和私有协议的影响。无需埋点和二开的用户行为数据采集,减少了应用的运行维护和对应用系统的影响,从而可以更多的保障应用的正常运行;对应用系统架构无影响,对现有的网络架构无任何影响。

S140、根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据。

在本实施例中,目标数据是指采用特定的策略对拦截的数据进行用户行为数据和应用传输数据的筛选和提取所得到的结果,该结果携带有链路ID以及上下文关系信息。

在本实施例中,上下文关系信息是指访问所经过的每个父节点的上下关系,该信息表述了访问的路径流向。

上述的用户行为数据包括用户标识、访问时间、访问接口、访问协议、协议中所有字段、协议中所有字段所对应的内容、传输的所有请求数据以及传输的所有响应数据等;上述的应用传输数据包括用户标识、访问时间、访问接口、访问协议、协议中所有字段、协议中所有字段所对应的内容、传输的所有请求数据以及传输的所有响应数据等。同时上述的用户行为数据和应用传输数据均含有链路ID和上下文关系信息。所述应用资产数据包括应用名称、应用服务名称、应用接口、应用组件、应用主机IP、应用实例、数据库名称、数据库IP、数据库端口、数据库类别等。

用户的访问行为包括访问哪个服务、访问哪个应用接口、其它自定义用户行为事件;协议内容包括提取的http和RPC协议字段名称和对应的字段内容。

在一实施例中,请参阅图3,上述的步骤S140可包括步骤S141~S142。

S141、根据所述实际采集策略内不同的数据采集逻辑对拦截的数据采集用户行为数据、应用传输数据和应用资产数据;其中,不同的数据采集逻辑按照设定的优先级执行数据采集。

所能采集的用户行为数据范围为所有基于JVM运行的应用,可采集的用户行为数据为用户标识;采集时间;用户的访问行为如访问那个服务、访问那个应用接口、其它自定义用户行为事件;访问次数;访问数据量等;可采集的传输数据为用户标识、数据传输的时间、协议字段及内容如提取的http和RPC(远程过程调用,Remote Procedure Call)协议字段名称和对应的字段内容、传输的请求数据、传输的响应数据等。

在本实施例中,上述的优先级为:

当多条策略执行时按照优先级由高到低进行处理,从高到低按照基于应用服务配置进行数据采集的数据采集方式、基于所配置的频率进行数据采集的数据采集方式、基于配置的单次数据采集量进行数据采集的数据采集方式、基于应用接口进行数据采集的数据采集方式、根据应用接口的字段进行数据采集的数据采集方式、基于用户标识配置进行数据采集的数据采集方式进行处理。

当多条策略发生冲突时,按照高优先级处理,从高到低按照基于应用服务配置进行数据采集的数据采集方式、基于所配置的频率进行数据采集的数据采集方式、基于配置的单次数据采集量进行数据采集的数据采集方式、基于应用接口进行数据采集的数据采集方式、根据应用接口的字段进行数据采集的数据采集方式、基于用户标识配置进行数据采集的数据采集方式进行处理。

当执行的数据采集策略逻辑出现问题时,应用客户端将不执行数据采集指令,返回失败结果至管理端。

相对预置埋点和定点二开,本实施例可采集的数据更全面,采集时只需简单配置,因而使得用户行为数据的采集变得更简单和更灵活。

S142、对采集的用户行为数据和应用传输数据写入数据访问链路信息,以形成目标数据。

具体地,采用节点对采集的用户行为数据和应用传输数据的链路信息进行标注,并设置节点的上下文关系信息,存储链路信息以及上下文关系信息至采集的用户行为数据和应用传输数据内,以形成目标数据。

在进行数据采集时,会对采集到的数据进行链路ID和上下文关系信息的写入,以便于将用户的访问链路进行展示,以便于对单次用户访问及接口调用之间的单次数据在应用接口、数据库、应用服务、应用之间的传输路径进行梳理。

使用节点来标示访问链路信息,其中,节点包括链路ID、父节点编号以及当前节点编号;用户每次访问应用客户端时都会生成一个全局唯一的标识,这个标识即为链路ID,用这个链路ID来标识用户的某一次访问,用户的一次访问可能会涉及到多个服务即多个进程的情况中的多个方法接口函数,多个服务之间传递的数据一般分为头部和身体部分,就像http 有头部和身体部分, RocketMQ也有 MessageHeader,Message Body, 身体部分一般放着业务数据,RocketMQ 是一个队列模型的消息中间件,在用户访问下一个服务的时候,会将这个全局唯一的链路ID,还有当前节点的上下文关系信息放在通讯数据的头部,传递给下一个服务,每处理完一个服务就会将这个服务下的所有接口函数信息上传到数据接收处汇总数据。

其中上下文关系信息使用父节点编号和当前节点编号进行标识,即上下文关系信息包括父节点和当前节点的编号信息;父节点编号和当前节点编号存在严格的顺序关系,使用自然数进行标识,父节点编号一般来自上一个节点的当前节点编号,第一个节点的父节点编号设置为0,当前节点为1,当第二个节点接收到第一个节点的数据时,会从上下文关系中获取第一个节点的当前节点编号,并作为第二个节点的父节点编号,然后基于父节点编号+1号作为当前节点编号,以此类推,直到节点结束,以下为链路访问信息写入的示意图:

节点 (链路ID(2fa91f5cf3941171),父节点编号(0),当前节点编号(1))、节点(链路ID(2fa91f5cf3941171),父节点编号(1),当前节点编号(2))、节点 (链路ID(2fa91f5cf3941171),父节点编号(2),当前节点编号(3))、节点 (链路ID(2fa91f5cf3941171),父节点编号(3),当前节点编号(4))……

上述的链路标识方式较为便捷和清楚。

S150、反馈所述目标数据,以由管理端根据所述目标数据组装访问链路,以得到访问链路信息图,且由管理端根据所述访问链路信息图展示访问链路信息。

在本实施例中,访问链路信息图是指传输数据在传输过程中所经过的路径图,也包括单次用户访问及接口调用之间的单次数据在应用接口、数据库、应用服务、应用之间的传输路径。访问链路的组装可由管理端执行。

在一实施例中,请参阅图4,上述的步骤S150可包括步骤S151~ S156。

S151、反馈所述目标数据,以由管理端从所述目标数据内提取出相同链路ID的节点,以得到目标节点;

在本实施例中,目标节点是指链路ID相同的节点。

对目标数据进行链路ID相同的节点归类,以便于后续应用运维管理的故障分析、数据流分析。

S152、由管理端提取所述目标节点提取上下文关系信息。

在本实施例中,每个目标节点内都带有链路ID、父节点编号以及当前节点编号,因此,当确定目标节点后,根据上下文关系信息是为了确定访问的路径流向。

S153、由管理端根据所述上下文关系信息进行节点访问顺序的排序,以得到排序结果。

在本实施例中,排序结果是指节点访问的顺序,从时间的先后顺序进行排序。

S154、由管理端根据所述排序结果提取每个节点的请求和响应的应用接口信息,以得到基于应用接口的访问链路信息图。

在本实施例中,基于应用接口的访问链路信息图是指每个节点的请求和响应的应用接口的访问路径构成的信息图。

S155、由管理端根据基于应用接口的访问链路信息图组装基于应用服务的访问链路信息图以及基于应用的访问链路信息图。

在本实施例中,基于应用服务的访问链路信息图是指每个节点的请求和响应的应用接口所属的应用服务的访问路径构成的信息图。

基于应用的访问链路信息图是指每个节点的请求和响应的应用接口所属的应用或应用服务所属的应用的访问路径。

具体地,当基于应用接口的访问链路信息图被梳理完成后,此时依据应用接口所属的应用服务再次组装完成基于应用服务的访问链路信息图;基于应用接口或应用服务的访问链路信息图,此时依据应用接口所属的应用或应用服务所属的应用组装完成基于应用的访问链路信息图。数据访问链路可以梳理出用户访问的数据路径,接口调用的顺序、服务访问顺序、应用之间的调用,便于应用运维管理的故障分析、数据流分析等,数据访问链路将梳理出基于用户或接口调用的访问顺序路径及访问的数据,便于安全事件中的安全分析和溯源分析。

S156、由管理端根据所述访问链路信息图展示访问链路信息。

具体地,由管理端根据所述访问链路信息图按照树形目录图的展示方式展示访问链路信息。

访问链路信息是指访问的路径方向和相关的节点构成的树形目录图。

通过以下三个维度进行数据访问链路信息展示:

基于应用接口调用的数据访问链路图:此处的数据访问链路图由应用接口名称和访问顺序组成,由按照用户访问或接口调用依次经过的节点上的请求及响应应用接口名称按照节点的访问或调用顺序以树形目录图的方式进行展示。

基于应用服务调用的数据访问链路图:此处的数据访问链路图由应用服务名称+访问顺序组成,由应用服务名称组成;和/或,此处的数据访问链路图由应用服务名称和访问顺序组成,由按照用户访问或接口调用依次经过的应用服务按照节点的访问或调用顺序以关系图或树形目录图的方式进行展示。

基于应用调用的数据访问链路图:此处的数据访问链路图由应用名称+访问顺序组成,由应用名称组成;和/或,此处的数据访问链路图由应用名称+访问顺序组成,由按照用户访问或接口调用依次经过的应用按照节点的访问或调用顺序以关系图或树形目录图的方式进行展示。

数据访问链路可以梳理出用户访问的数据路径,接口调用的顺序、服务访问顺序、应用之间的调用,便于应用运维管理的故障分析、数据流分析等,数据访问链路将梳理出基于用户或接口调用的访问顺序路径及访问的数据,便于安全事件中的安全分析和溯源分析。

上述的数据采集和链路处理方法,通过在管理端设定数据的采集策略,并更新至应用客户端,由应用客户端采用开关模式结合采集策略生成实际采集策略,对特定接口的数据采用字节码增强技术进行拦截,并结合实际采集策略进行对应数据的采集,实现可管控地采集用户行为数据和应用传输数据,且采集更全面、简单和灵活,效率高,维护成本低;并对目标数据进行访问链路的组装和展示,可满足梳理对单次用户访问及接口调用之间的单次数据在应用接口、数据库、应用服务、应用之间的传输路径的需求。

图5是本发明实施例提供的一种数据采集和链路处理装置300的示意性框图。如图5所示,对应于以上数据采集和链路处理方法,本发明还提供一种数据采集和链路处理装置300。该数据采集和链路处理装置300包括用于执行上述数据采集和链路处理方法的单元,该装置可以被配置于服务器中。具体地,请参阅图5,该数据采集和链路处理装置300包括策略获取单元301、实际策略设定单元302、拦截单元303、数据采集单元304以及链路组装单元305。

策略获取单元301,用于获取来自管理端的采集策略;实际策略设定单元302,用于根据所述采集策略采用开关模式设定实际采集策略;拦截单元303,用于采用字节增强技术对访问数据进行拦截,以得到拦截的数据;数据采集单元304,用于根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据;链路组装单元305,用于反馈所述目标数据,以由管理端根据所述目标数据组装访问链路,以得到访问链路信息图,且由管理端根据所述访问链路信息图展示访问链路信息。。

在一实施例中,如图6所示,所述数据采集单元304包括采集子单元3041以及信息写入子单元3042。

采集子单元3041,用于根据所述实际采集策略内不同的数据采集逻辑对拦截的数据采集用户行为数据、应用传输数据和应用资产数据;其中,不同的数据采集逻辑按照设定的优先级执行数据采集;信息写入子单元3042,用于对采集的用户行为数据和应用传输数据写入数据访问链路信息,以形成目标数据。

在一实施例中,所述信息写入子单元3042,用于采用节点对采集的用户行为数据和应用传输数据的链路信息进行标注,并设置节点的上下文关系信息,存储链路信息以及上下文关系信息至采集的用户行为数据和应用传输数据内,以形成目标数据。

在一实施例中,所述链路组装单元,用于反馈所述目标数据,以由管理端从所述目标数据内提取出相同链路ID的节点,以得到目标节点;由管理端提取所述目标节点提取上下文关系信息;由管理端根据所述上下文关系信息进行节点访问顺序的排序,以得到排序结果;由管理端根据所述排序结果提取每个节点的请求和响应的应用接口信息,以得到基于应用接口的访问链路信息图;由管理端根据基于应用接口的访问链路信息图组装基于应用服务的访问链路信息图以及基于应用的访问链路信息图;由管理端根据所述访问链路信息图展示访问链路信息。

具体地,根据所述访问链路信息图按照树形目录图的展示方式展示访问链路信息。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述数据采集和链路处理装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

上述数据采集和链路处理装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。

请参阅图7,图7是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器。

参阅图7,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种数据采集和链路处理方法。

该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种数据采集和链路处理方法。

该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:

获取来自管理端的采集策略;根据所述采集策略采用开关模式设定实际采集策略;采用字节增强技术对访问数据进行拦截,以得到拦截的数据;根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据;反馈所述目标数据,以由管理端根据所述目标数据组装访问链路,以得到访问链路信息图,且由管理端根据所述访问链路信息图展示访问链路信息。

其中,所述采集策略包括基于用户标识配置进行数据采集、基于应用服务配置进行数据采集、基于应用接口进行数据采集、根据应用接口的字段进行数据采集、基于所配置的频率进行数据采集以及基于配置的单次数据采集量进行数据采集中至少一种数据采集方式。

在一实施例中,处理器502在实现所述根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据步骤时,具体实现如下步骤:

根据所述实际采集策略内不同的数据采集逻辑对拦截的数据采集用户行为数据、应用传输数据和应用资产数据;其中,不同的数据采集逻辑按照设定的优先级执行数据采集;对采集的用户行为数据和应用传输数据写入数据访问链路信息,以形成目标数据。

在一实施例中,处理器502在实现所述对采集的用户行为数据和应用传输数据写入数据访问链路信息,以形成目标数据步骤时,具体实现如下步骤:

采用节点对采集的用户行为数据和应用传输数据的链路信息进行标注,并设置节点的上下文关系信息,存储链路信息以及上下文关系信息至采集的用户行为数据和应用传输数据内,以形成目标数据。

其中,所述上下文关系信息包括父节点和当前节点的编号信息。

在一实施例中,处理器502在实现所述反馈所述目标数据,以由管理端根据所述目标数据组装访问链路,以得到访问链路信息图,且由管理端根据所述访问链路信息图展示访问链路信息步骤时,具体实现如下步骤:

反馈所述目标数据,以由管理端从所述目标数据内提取出相同链路ID的节点,以得到目标节点;由管理端提取所述目标节点提取上下文关系信息;由管理端根据所述上下文关系信息进行节点访问顺序的排序,以得到排序结果;由管理端根据所述排序结果提取每个节点的请求和响应的应用接口信息,以得到基于应用接口的访问链路信息图;由管理端根据基于应用接口的访问链路信息图组装基于应用服务的访问链路信息图以及基于应用的访问链路信息图;由管理端根据所述访问链路信息图展示访问链路信息。

其中,所述上下文关系信息包括父节点和当前节点的编号信息。

在一实施例中,处理器502在实现所述由管理端根据所述访问链路信息图展示访问链路信息步骤时,具体实现如下步骤:

由管理端根据所述访问链路信息图按照树形目录图的展示方式展示访问链路信息。

应当理解,在本申请实施例中,处理器502可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:

获取来自管理端的采集策略;根据所述采集策略采用开关模式设定实际采集策略;采用字节增强技术对访问数据进行拦截,以得到拦截的数据;根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据;反馈所述目标数据,以由管理端根据所述目标数据组装访问链路,以得到访问链路信息图,且由管理端根据所述访问链路信息图展示访问链路信息。

其中,所述采集策略包括基于用户标识配置进行数据采集、基于应用服务配置进行数据采集、基于应用接口进行数据采集、根据应用接口的字段进行数据采集、基于所配置的频率进行数据采集以及基于配置的单次数据采集量进行数据采集中至少一种数据采集方式。

在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述实际采集策略对拦截的数据采集用户行为数据、应用传输数据和应用资产数据,以得到目标数据步骤时,具体实现如下步骤:

根据所述实际采集策略内不同的数据采集逻辑对拦截的数据采集用户行为数据、应用传输数据和应用资产数据;其中,不同的数据采集逻辑按照设定的优先级执行数据采集;对采集的用户行为数据和应用传输数据写入数据访问链路信息,以形成目标数据。

在一实施例中,所述处理器在执行所述计算机程序而实现所述对采集的用户行为数据和应用传输数据写入数据访问链路信息,以形成目标数据步骤时,具体实现如下步骤:

采用节点对采集的用户行为数据和应用传输数据的链路信息进行标注,并设置节点的上下文关系信息,存储链路信息以及上下文关系信息至采集的用户行为数据和应用传输数据内,以形成目标数据。

在一实施例中,所述处理器在执行所述计算机程序而实现所述反馈所述目标数据,以由管理端根据所述目标数据组装访问链路,以得到访问链路信息图,且由管理端根据所述访问链路信息图展示访问链路信息步骤时,具体实现如下步骤:

反馈所述目标数据,以由管理端从所述目标数据内提取出相同链路ID的节点,以得到目标节点;由管理端提取所述目标节点提取上下文关系信息;由管理端根据所述上下文关系信息进行节点访问顺序的排序,以得到排序结果;由管理端根据所述排序结果提取每个节点的请求和响应的应用接口信息,以得到基于应用接口的访问链路信息图;由管理端根据基于应用接口的访问链路信息图组装基于应用服务的访问链路信息图以及基于应用的访问链路信息图;由管理端根据所述访问链路信息图展示访问链路信息。

其中,所述上下文关系信息包括父节点和当前节点的编号信息。

在一实施例中,所述处理器在执行所述计算机程序而实现所述由管理端根据所述访问链路信息图展示访问链路信息步骤时,具体实现如下步骤:

由管理端根据所述访问链路信息图按照树形目录图的展示方式展示访问链路信息。

所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 数据采集和链路处理方法、装置、计算机设备及存储介质
  • 链路处理方法、多链路设备及计算机可读存储介质
技术分类

06120112680379