CN106909492B - 业务数据的追踪方法及装置 - Google Patents
业务数据的追踪方法及装置 Download PDFInfo
- Publication number
- CN106909492B CN106909492B CN201710132473.0A CN201710132473A CN106909492B CN 106909492 B CN106909492 B CN 106909492B CN 201710132473 A CN201710132473 A CN 201710132473A CN 106909492 B CN106909492 B CN 106909492B
- Authority
- CN
- China
- Prior art keywords
- data
- character string
- service
- node
- determining
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了业务数据的追踪方法及装置,其中,所述方法包括:确定被监控节点的交互数据;分别对所述业务请求数据以及所述业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合;分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度;根据相似度计算结果,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系;通过该方法,可以在各相关节点中对同一笔业务的业务数据进行准确的追踪,为系统运维过程中还原业务的详细执行过程,快速进行故障诊断和分析,获得实时异常事件警告等工作提供准确且有效的依据。
Description
技术领域
本申请涉及信息系统业务数据处理技术领域,特别是涉及业务数据的追踪方法及装置。
背景技术
信息技术和信息系统在社会各领域的应用越来越广泛,提高了产品和服务的生产和提供效率,在社会生产生活中扮演着越来越重要的角色。在众多应用信息技术的社会活动领域中,不乏很多以信息系统作为重要组成部分的重要行业,如银行服务业,证券行业,另外很多重要的公共服务系统,如电力供给,税收系统,社会保障系统等等,也应用了计算机控制的信息化技术手段,向外提供更加高效快捷的公共服务。在大规模应用信息技术来开展业务的过程中,有效实现信息系统的运维工作,是保证系统稳定运行和提供服务的重要条件,对于应用信息技术的社会活动和行业有着非常重要的意义。
随着信息系统的规模越来越大,其软硬件系统构成也越来越复杂,传统的运维方法和工具已经难以适应需求,自动化的运维服务工具开始被各行业重视起来。自动化的运维服务工具通常基于监控来实现,例如可以作为服务组件安装在系统中,采集特定方面的系统运行数据,并在系统运行数据反映出系统异常时进行预警。然而,随着信息系统组件构成的多样化,以及信息系统用户关注点的转移,对于自动化的运维服务工具也提出了更高的要求。例如一个信息系统可能由各种不同业务功能的组件构成,组件间具有非常复杂的异构性和多样性,而对于一笔业务的实现过程,可能要跨越信息系统中多个组件或节点,其间的业务数据也呈现出非常复杂多变的特性。而传统的运维监测更多的只能实现单一节点或组件中的数据采集和分析,当信息系统用户更加关注业务层数据的全局性分析时,实现跨组件,跨业务,异构环境的多层次业务数据追踪的意义就凸显出来。有效的业务数据追踪对于还原业务的详细执行过程,快速进行故障诊断和分析,获得实时异常事件警告,提升运维响应速度等都有着非常重要的意义。
综上,亟需本领域技术人员解决的问题就在于,如何在组成愈加复杂的信息系统中,有效的进行跨组件的多层关联的业务数据追踪,为信息系统运维工作准确可靠的依据。
发明内容
本申请提供了业务数据的追踪方法及装置,可以在各相关节点中对同一笔业务的业务数据进行准确的追踪,为系统运维过程中还原业务的详细执行过程,快速进行故障诊断和分析,获得实时异常事件警告等工作提供准确且有效的依据。
本申请提供了如下方案:
一种业务数据的追踪方法,包括:
确定被监控节点的交互数据;所述被监控节点至少包括信息系统的第一节点以及第二节点;其中,第一节点的交互数据包括一条或多条业务请求数据,以及第二节点的交互数据包括多条业务响应数据;
分别对所述业务请求数据以及所述业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合;其中,每个第一有效字符串集合与一条业务请求数据对应,每个第二有效字符串集合与一条业务响应数据对应;
分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度;
根据相似度计算结果,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系。
一种业务数据的追踪装置,包括:
交互数据确定单元,用于确定被监控节点的交互数据;所述被监控节点至少包括信息系统的第一节点以及第二节点;其中,第一节点的交互数据包括一条或多条业务请求数据,以及第二节点的交互数据包括多条业务响应数据;
字符串提取单元,用于分别对所述业务请求数据以及所述业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合;其中,每个第一有效字符串集合与一条业务请求数据对应,每个第二有效字符串集合与一条业务响应数据对应;
相似度计算单元,用于分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度;
业务数据关联单元,用于根据相似度计算结果,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请,可以确定被监控节点的交互数据,分别对业务请求数据以及业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合,通过各第一有效字符串集合与各第二有效字符串集合之间的相似度,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系,实现对同一笔业务在不同节点中的追踪,该方法基于节点交互数据中提取的有效数据进行相似性分析实现,可以不依赖统一业务流水号在各相关节点中对同一笔业务的业务数据进行准确的追踪,为系统运维过程中还原业务的详细执行过程,快速进行故障诊断和分析,获得实时异常事件警告等工作提供准确且有效的依据,对提高响应速度等,提升运维质量都有着非常重要的意义。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的方法的流程图;
图2是本申请实施例提供的在用户界面中显示状态描述数据的示意图;
图3是本申请实施例提供的装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
传统运维服务方法和工具采集特定方面的系统运行数据,难以适应信息系统组件构成的多样化,以及用户关注点由基础设施层面向业务数据层面转移的趋势,通过大量实践证明,在信息系统组件构成越来越多样化的趋势下,实现一种更加灵活的,面向业务层数据的,跨组件,跨业务,异构环境多层次的业务数据追踪方法,对于还原业务的详细执行过程,快速进行故障诊断和分析,获得实时异常事件警告,提升运维响应速度等都有着非常重要的意义。本方法的基本原理包括基于业务数据中有效字符串的相似度分析实现业务数据的追踪,尤其在信息系统业务数据中缺乏全局的统一业务流水号作为追踪依据的情况下,也能够实现在不同节点中对业务数据进行准确有效的追踪。下面结合具体实施例,对本申请所提供的业务数据的追踪方法进行详细说明。
请参见图1,为本申请实施例提供的业务数据的追踪方法的流程图,如图1所示,该方法可以包括以下步骤:
S110:确定被监控节点的交互数据;所述被监控节点至少包括信息系统的第一节点以及第二节点;其中,第一节点的交互数据包括一条或多条业务请求数据,以及第二节点的交互数据包括多条业务响应数据;
信息系统的结构组成越来越复杂,不同的信息系统的部署不尽相同,根据物理设备或逻辑布局有不同的定义划分,例如系统通常包括多个节点,或完成不同功能的应用组件,在以下内容中,仅以节点为组成单位来介绍该方法的实现,当然,以节点的角度描述该方法不应理解为对本申请的限制。在本申请实施例中,业务数据的追踪方法可以作为自动化运维服务工具的一个功能实现,通过自动化运维服务工具可以实现对信息系统多节点的I/O数据进行采集,存储,分析等工作,而对于多个节点数据的采集,则可以汇总到自动化运维服务工具进行统一处理。
在实现本业务数据的追踪方法时,首先可以确定被监控节点的交互数据,在实际应用中,完成同一业务处理过程可能有业务系统的多个节点或组件参与,且通常会由系统输入输出角度形成一个闭环,为了便于理解,以下以被监控节点包括信息系统的第一节点以及第二节点为例进行介绍,当需要对业务系统中多个节点中的追踪同一笔业务数据时,可以依据本实施例提供的步骤,依次在相应节点实施即可,本实施例以两个节点为示例对该方法的介绍,同样不应理解为对本申请的限制。确定被监控节点的交互数据,其中被监控节点至少可以包括信息系统的第一节点以及第二节点,第一节点的交互数据包括一条或多条业务请求数据,以及第二节点的交互数据则包括多条业务响应数据。应注意,第一节点的交互数据包括的业务请求数据可以为一条,也可以为多条,两种情况下,都可以利用本申请实施例提供的方法进行业务请求数据与业务响应数据的匹配,以实现在不同节点的交互数据中对同笔业务的数据进行追踪,对于两种情形下的实现以及应用,后续步骤会有详细介绍。
在确定被监控节点的交互数据时,对于不同的实际应用可以有不同的实现方式,其中一种实现方式下,可以实时采集第一节点的业务请求数据以及第二节点的业务响应数据,另一种实现方式下,在基于存储的或具有存储功能的运维服务工具中,例如采用了分布式数据库存储服务的运维服务工具中,对于各被监控节点的交互数据,都可以进行存储,在这种实现方式下,可以从预置数据库中读取符合预设条件的第一节点的业务请求数据以及第二节点的业务响应数据即可。预置条件例如符合特定的时间条件,业务类型条件,组件条件等等。
另外,在进行节点数据的采集或抓取时,所采集的数据通常会包括业务请求/响应数据对应的时间戳,为了使待匹配的业务请求数据与业务响应数据在时间上满足一定的对应性,可以使待匹配的业务请求数据与业务响应数据在时间上处于一个相同的大致范围,这一点可以在确定被监控节点的交互数据时实现,具体的,可以确定第一节点的业务请求数据的时间戳,根据时间戳以及预设时间范围,确定满足时间条件的第二节点的业务响应数据。例如确定第一节点的业务请求数据的时间戳为某一时刻,预设时间范围为1分钟,接下来就可以实时抓取,或从预置数据库中读取满足该时刻起1分钟内的第二节点的业务响应数据。通过这种实现方式可以过滤和精确化数据范围,减少计算量,提高匹配成功率等。
S120:分别对所述业务请求数据以及所述业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合;其中,每个第一有效字符串集合与一条业务请求数据对应,每个第二有效字符串集合与一条业务响应数据对应。
在确定被监控节点的交互数据后,具体的,可以是确定了第一节点的交互数据包括的一条或多条业务请求数据,以及第二节点的交互数据包括的多条业务响应数据后,可以分别对业务请求数据以及各业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合;其中,每个第一有效字符串集合与一条业务请求数据对应,每个第二有效字符串集合与一条业务响应数据对应。第一有效字符串集合以及第二有效字符串集合分别包括若干有效字符串,有效字符串包括从业务请求数据或业务响应数据中提取的、用于相似度分析过程的字符串。例如,业务请求数据与第一有效字符串集合的对应关系如表1所示:
表1
第j条业务请求数据 | 第一有效字符串集合A<sub>j</sub> |
其中,j∈N*且j≤m;m为业务请求数据的总条数;特别的,当第一节点的交互数据仅包括一条业务请求数据时,m=1。
业务响应数据与第二有效字符串集合的对应关系表2所示:
表2
第i条业务响应数据 | 第二有效字符串集合B<sub>i</sub> |
其中,i∈N*且i≤l;其中l为业务响应数据的总条数,且因为第二节点的交互数据包括多条业务响应数据,l≥2。下面结合具体示例详细介绍提取有效字符串的处理的过程。
被监控节点的交互数据,包括业务请求数据和业务响应数据,通常为被监控节点的I/O数据,其数据表达形式通常为业务请求数据或业务响应数据对应的数据块,数据块未经过分割,且其中通常包含大量对于相似度分析过程无用的字符或字符串,同时,对于相似度分析过程有效的字符串中,也包含了一些重复的字符串。例如,某业务请求数据的数据块包括如下信息:
TTT\u0000\u0000\b?\\u0001?0\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0011\u00033\u0000\u0000\u0000\u0000\b?\\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000
QQQ pmts\u0003301\\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006?{H:01403100000004IBPS307584007998IBPS20160422130955XMLibps.101.001.01}
……
\r\n<?xml version=\"1.0\"encoding=\"UTF-8\"?>
<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02\">
<FIToFICstmrCdtTrf><GrpHdr>
<MsgId>11111111111111111111111111</MsgId></GrpHdr>
<CreDtTm>2016-04-22T13:09:55</CreDtTm><Ctr1Sum>600.00</Ctr1Sum>
<Nm>张三</Nm><Id>1234567890123456789</Id><Issr>某某银行</Issr>
……
<Id>403100000004</Id><Nm>李四</Nm>
<Othr><Id>2222222222222222</Id></Othr>
</FIToFICstmrCdtTrf></Document>
为了节约计算资源,提高计算效率,以及提高分析结果的准确性,分别对业务请求数据以及各业务响应数据进行提取有效字符串的处理时,可以包括数据分割处理,字符串去重处理,以及字符串过滤处理。字符串过滤处理,又可以包括滤除无用字符串以及滤除异常字符串。
其中,数据分割处理可以依据业务请求数据或业务响应数据对应的数据块的格式采取不同的方法,当数据块的格式为html或xml格式时,可以以提取html或xml标签间内容的方式进行分割,例如上述数据块示例中的数据:
<Id>2222222222222222</Id>
可以提取标签中的数据“2222222222222222”。而标签本身对于相似度分析过程通常是无用字符串,可以作为无用字符串予以滤除。
对普通信息记录格式,可以根据预先定义的无效字符串集合进行,无效字符串集合中可以包括已知的无效字符和无效字符串,例如:
\f,\r,\b,\n,\u0000-\uFFFF,’<>’\{}()以及空格等字符和字符串;
在一个数据块中,无效字符和字符串本身也具有分割信息的作用,显然,在根据无效字符串集合对整个的数据块进行分割的同时,也可以对根据无效字符串集合对数据块中的无用字符串进行过滤处理。
在实际应用中,根据业务请求数据或业务响应数据的数据块的格式特点,字符串的分割方式可以灵活确定,例如可以结合无效字符串集合中定义的无效字符(串)以及html标签,来完成数据分割处理。另外,数据分割处理也可以与滤除无用字符串的处理同时进行,例如上述示例中,在根据无效字符串集合对整个的数据块进行分割的同时,也可以对根据无效字符串集合对数据块中的无用字符串进行过滤处理。在经过数据分割处理和滤除无用字符串后,每一数据块对应的字符串集合仍常常存在重复的字符串,此时可以对其进行进一步的字符串去重处理。需要说明的是,这里所述的“字符串集合”通常还包含有无效的或重复的字符串,因此并不是我们最终想要得到的第一有效字符串集合或第二有效字符串集合,而是数据块到有效字符串集合的一个中间形态,用于说明提取有效字符串的处理过程。在实际应用中,去重处理可以包括两个方面的内容,一个方面是对字符串集合中的字符串进行去重,另一方面也可以包括对内容完全相同的重复集合进行去重,以提高运算效率,避免资源浪费。
第一节点的一条业务请求数据经过数据分割处理,字符串去重处理,滤除无用字符串之后得到的字符串集合的示例如下所示:
{某某银行,11111111111111111111111111,403100000004,110106,1234567890123456789,2222222222222222,李四,hS8GiU4,110106,W1Tjv8AoNk052dsFvkbot4A400jqb6qtkoLNCs9gGIK2mZjF2CtOUh5NCIAk3yg ikeH2G6u9H2rMwcW4aUFIoj160,ZuER61EbFASKgcy8I9Uxs,张三,600.00,9IbdN5VF8tguw3wyBcC,2016042205082306,H:01403100000004IBPS307584007998IBPS20160422130955XMLibps.101.001.01,3CglOuTD2NxRsPORW12Sw5EPiv9PjVIr}
第二节点的一条业务响应数据经过数据分割处理,字符串去重处理,滤除无用字符串之后得到的字符串集合的示例如下所示:
{某某银行,00002016042279912308,11111111111111111111111111,20160422010955388,403100000004,1234567890123456789,2222222222222222,李四,hS8GiU4,110106,ZuER61EbFASKgcy8I9Uxs,9IbdN5VF8tguw3wyBcC,张三,600.00,W1Tjv8AoNk052dsFvkbot4A400jqb6qtkoLNCs9gGIK2mZjF2CtOUh5NCIAk3ygikeH2G6u9H2rMwcW4aUFIoj160,3CglOuTD2NxRsPORW12Sw5EPiv9PjVIr}
通过直观的观察可以发现,两个集合中的某些字符串具有一定的相似度,甚至有的字符串完全相同。而集合中字符串的相似性经过量化整合,则可以反映出整个集合之间的相似性,也即各集合分别对应的业务请求数据与业务响应数据的相似性,并依据其进行业务数据的追踪,这部分内容的具体实现将在后续的步骤中做具体的阐述。
为了进一步提高计算效率和相似性分析结果的准确性,提取有效字符串的处理中,字符串过滤处理还可以包括其中的滤除异常字符串,例如可以对经过数据分割处理,字符串去重处理,以及滤除无用字符串之后得到的字符串集合,在进行滤除异常字符串的处理。异常字符串的定义范围确定可以根据实际应用的需要进行。例如可以根据得到的字符串集合中各字符串的长度分布情况,将长度过长或过短的字符串确定为异常字符串。具体实现时,可以通过盒形图方法根据字符串长度分布确定相关的观测值,将不满足观测值条件的字符串确定为异常字符串并滤除;其中,观测值可以包括一最小观测值以及一最大观测值。盒形图是分析和确定一批数据中的异常值的方法,具体应用到本实施例时,可以首先将字符串集合中各字符串的长度以一定顺序排列,利用盒形图方法确定下四分位数Q1,上四分位数Q3,进而确定四分位距IQR=Q3-Q1,最小观测值可以取:
min=Q1–1.5*IQR;
最大观测值可以取:
max=Q3+1.5*IQR;
这样,就可以将字符串集合中长度小于最小观测值的字符串,以及长度大于最大观测值的字符串确定为异常字符串。
除了使用盒形图方法滤除异常字符串之外,还可以考虑计算字符串最短的占比及最长的占比,根据此百分比阈值来滤除异常字符串,具体实现时,可以先统计整个字符串集合中各个字符串长度的百分比分布情况、按照字符串长度对统计结果进行排序,滤除长度最长的预置百分比的字符串与长度最短的预置百分比的字符串,例如过滤掉长度最长的10%与长度最短的10%的字符串。
此外,为了保证业务请求数据以及业务响应数据的有效性,同时也是为了保证所提取的第一有效字符串集合以及第二有效字符串集合的有效性,在分别对业务请求数据以及业务响应数据进行提取有效字符串的处理后,对于各第一有效字符串集合以及各第二有效字符串集合,可以通过盒形图方法判断其中的有效字符串个数是否异常;将判断为有效字符串个数存在异常的第一有效字符串集合,以及有效字符串个数存在异常的第二有效字符串集合丢弃。在这种实现方式下,分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度的过程中,可以分别确定有效字符串个数无异常的各第一有效字符串集合,与有效字符串个数无异常的各第二有效字符串集合之间的相似度。通过盒形图方法判断有效字符串个数是否异常时,输入为各第一有效字符串集合与各第二有效字符串集合的字符串个数,进而根据个数的分布情况确定最大观测值以及最小观测值,然后根据所确定的最大观测值以及最小观测值,来确定各第一有效字符串集合与各第二有效字符串集合的字符串个数是否存在异常。最大观测值以及最小观测值的具体确定方式与前述的盒形图方法应用类似,在此就不再赘述了。
以上介绍了分别对业务请求数据以及业务响应数据进行提取有效字符串的处理过程,具体可以包括数据分割处理,字符串去重处理,以及字符串过滤处理等子过程,字符串过滤处理又可以包括滤除无用字符串以及滤除异常字符串等子过程,需要说明的是,在实际应用中,上述子过程包括的数据分割,以及多种提升对于相似度分析过程的字符串有效性的处理,各子过程可以根据实际应用需要可选地采用,当然如果实际应用中需要加入其它的处理手段也是可以的。总之,经过提取有效字符串的处理,得到与各条业务请求数据分别对应第一有效字符串集合,以及与各条业务响应数据分别对应第二有效字符串集合。显然,第一有效字符串集合的个数与业务请求数据的条数具有相关性,同理,第二有效字符串集合的个数与业务请求数据的条数具有相关性。
S130:分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度;
如前所述,本申请实施例的基本思想是通过计算字符串集合之间的相似度,来反映不同交互数据之间的相似程度,进而根据交互数据之间的相似程度来确定交互数据之间的关联关系。在分别对业务请求数据以及业务响应数据进行提取有效字符串的处理后,得到如表1及表2中所示的与各条交互数据(包括业务请求数据以及业务响应数据)分别对应的有效字符串的集合,接下来,可以确定第一有效字符串集合Aj和第二有效字符串集合Bi的相似度。为了实现更好的兼容性,以适应不同的应用需求,本方法被设计为可以在业务请求数据为一条或者多条的条件下,都可以进行有效字符串的提取和相似度分析,以为每一条业务请求数据匹配相应的业务响应数据。特别的,当第一节点的交互数据仅包括一条业务请求数据时,可以仅提取对应的一个第一有效字符串集合Aj,即此时j=1,这种实现方式可以满足仅确定第一节点的一条业务请求数据的业务数据追踪需求,例如在系统或用户指定第一节点某一笔业务请求数据,并对其在其他节点的对应的业务响应数据进行追踪时。当第一节点的交互数据包括多条业务请求数据时,则可以对部分或业务请求数据匹配其相应的业务响应数据。显然,所确定的第二节点的交互数据通常包括多条业务响应数据。当然,在不用于业务数据追踪的应用需求下,如果只有单条的业务响应数据,也可以通过本发明提供的方法与业务请求数据进行相似度分析,分析结果可用于其它应用需求的参考。
在分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度的过程中,以下阐述同样沿用表1以及表2中的条件假设,即:
假设业务请求数据的总条数为m,第j条业务请求数据经过提取有效字符串得到对应的第一有效字符串集合Aj,其中j∈N*且j≤m;特别的,当第一节点的交互数据包括一条业务请求数据时,m=1,显然,此时对于确定的第一有效字符串集合Aj,j的值为1;
对于集合Aj,其中包括若干有效字符串,可以表示为:
Aj{Aj1,Aj2,……,Ajs},其中s为Aj中有效字符串的个数;
以及,业务响应数据的总条数为l,第i条业务响应数据经过提取有效字符串得到对应的第二有效字符串集合Bi,其中,i∈N*且i≤l;对于集合Bi,其中包括若干有效字符串,可以表示为:
Bi{Bi1,Bi2,……,Bin},其中n为Bi中有效字符串的个数。
接下来,可以分别确定各第一有效字符串集合Aj与各第二有效字符串集合Bi之间的相似度。对于第一有效字符串集合中的目标集合Aj和第二有效字符串集合中的目标集合Bi,可以首先确定目标集合Aj中各有效字符串与目标集合Bi中各有效字符串之间的字符串相似度,根据得到的各字符串相似度确定目标集合Aj与目标集合Bi之间的相似度。具体实现时,可以通过如下方法进行计算:
其中,n为Bi中有效字符串的个数,s为Aj中有效字符串的个数,Similarity(Bi,Aj)为目标集合Aj与目标集合Bi之间的相似度计算结果,Similar()为对字符串进行相似度计算的预置算法。预置算法可以在多种计算字符串间相似度的算法中进行选择,例如编辑距离算法,最长公共子串算法,或余弦相距离算法等等。
该方法可以描述为:对于目标集合Aj和目标集合Bi,以预置算法依次确定Bi中的各字符串Bik与Aj中所有字符串的相似度的最大值,并将得到的所有最大值的和确定为集合Aj与集合Bi之间的相似度;其中k∈{1,2,……,n},n为Bi中字符串的个数。以此类推,可以分别确定出各第一有效字符串集合与各第二有效字符串集合之间的相似度。
S140:根据相似度计算结果,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系。
分别确定的各第一有效字符串集合与各第二有效字符串集合之间的相似度,然后,可以根据相似度计算结果,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系,如上述各集合Aj与集合Bi的相似度计算结果可以用如下相似度矩阵Sm×l表示:
其中,m为第一有效字符串集合Aj的个数,l为第二有效字符串集合Bi的个数,sij为集合Aj与集合Bi的相似度。根据该相似度计算结果,即根据该相似度矩阵Sm×l确定同一笔业务中业务请求数据与业务响应数据之间的对应关系时,可以遍历该矩阵的每行,将每行中最大值所在位置(i,j)即为相匹配的集合Bi与集合Aj的编号。如前所述,业务请求数据与第一有效字符串集合具有对应关系,而业务响应数据与第二有效字符串集合具有对应关系,在某个第一有效字符串集合与某个第二有效字符串集合的匹配关系后,可以确定对应的业务请求数据与业务响应数据具有匹配关系,即确定了同一笔业务中业务请求数据与业务响应数据之间的对应关系,从而实现了业务数据的追踪。业务请求数据和业务响应数据的匹配关系,可以使用业务请求数据和业务响应数据各自的消息ID组成的匹配信息进行标识、存储和调用,例如如下示例:
{A:2fa27a66-1344-11e6-a84c-52540092e48e,
B:2fa3d9f3-1344-11e6-a84c-52540092e48e}
在信息系统处理某业务时,完成同一业务处理常常由业务系统的多个节点共同参与,处理过程可以依时序形成一个闭环的路径,本申请实施例提供的方法可以基于提取的有效字符串集合的相似度分析,进行不同节点的交互数据的追踪,因此,可以在部分甚至全部节点的交互数据缺乏统一业务流水号进行关联的情况下,也可以对在各参与节点中对同一笔业务的业务数据进行准确的追踪。在另一种实现方式下,可以首先判断业务请求数据以及业务响应数据中是否存在统一业务流水号,若存在,则优先根据统一业务流水号进行同一笔业务中业务请求数据与业务响应数据之间的对应关系的确定,从而在存在可进行业务数据关联的统一业务流水号的情况下,减少计算量和系统压力,灵活适应不同的应用场景。
在确定了同一笔业务中业务请求数据与业务响应数据之间的对应关系后,还可以为用户展示该笔业务在各路径节点中的各种相关状态,使用户可以直观的了解被查询业务在各节点处理的各种状态信息,可以确定业务请求数据以及业务响应数据在对应节点的状态描述数据,并根据指令在用户界面中显示状态描述数据。状态描述数据包括以下描述数据的任意组合:请求时间,节点标识,节点属性,响应时间,时间消耗,业务类型,返回状态,以及返回码等等。如图2所示,为在用户界面中显示状态描述数据的示意图,图中显示了请求时间,以IP地址,端口信息等表示的节点标识,响应时间,业务类型,返回状态,以及返回码等状态描述数据。
以上对本申请实施例提供的业务数据的追踪方法进行了详细的介绍,通过该方法,可以确定被监控节点的交互数据后,分别对业务请求数据以及业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合,通过各第一有效字符串集合与各第二有效字符串集合之间的相似度,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系,实现对同一笔业务在不同节点中的追踪,该方法基于节点交互数据中提取的有效数据进行相似性分析实现,可以不依赖统一业务流水号在各相关节点中对同一笔业务的业务数据进行准确的追踪,为系统运维过程中还原业务的详细执行过程,快速进行故障诊断和分析,获得实时异常事件警告等工作提供准确且有效的依据,对提高响应速度等,提升运维质量都有着非常重要的意义。
与本申请实施例提供的业务数据的追踪方法相对应,还提供了业务数据的追踪装置,如图3所示,该装置可以包括:
交互数据确定单元310,用于确定被监控节点的交互数据;被监控节点至少包括信息系统的第一节点以及第二节点;其中,第一节点的交互数据包括一条或多条业务请求数据,以及第二节点的交互数据包括多条业务响应数据;
字符串提取单元320,用于分别对业务请求数据以及业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合;其中,每个第一有效字符串集合与一条业务请求数据对应,每个第二有效字符串集合与一条业务响应数据对应;
相似度计算单元330,用于分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度;以及,
业务数据关联单元340,用于根据相似度计算结果,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系。
其中,交互数据确定单元310具体可以用于:
确定第一节点的业务请求数据的时间戳,根据时间戳以及预设时间范围,确定满足时间条件的第二节点的业务响应数据。
在另一种实现方式下,交互数据确定单元310可以包括:
数据实时采集子单元,用于实时采集第一节点的业务请求数据以及第二节点的业务响应数据;或,数据库读取子单元,用于从预置数据库中读取符合预设条件的第一节点的业务请求数据以及第二节点的业务响应数据。
为保证采集到的交互数据的有效性,该装置还可以包括:
数据有效性判断单元,用于在分别对业务请求数据以及业务响应数据进行提取有效字符串的处理后,对于各第一有效字符串集合以及各第二有效字符串集合,通过盒形图方法判断其中的有效字符串个数是否异常;将判断为有效字符串个数存在异常的第一有效字符串集合,以及有效字符串个数存在异常的第二有效字符串集合丢弃;
在这种实现方式下,相似度计算单元330具体用于分别确定有效字符串个数无异常的各第一有效字符串集合,与有效字符串个数无异常的各第二有效字符串集合之间的相似度。
字符串提取单元320对业务请求数据以及业务响应数据进行提取有效字符串的处理,具体可以用于:数据分割处理,字符串去重处理,以及字符串过滤处理。
在这种实现方式下,字符串过滤处理可以包括滤除无用字符串以及滤除异常字符串。字符串提取单元320可以包括:
第一过滤子单元,用于通过盒形图方法根据字符串长度分布确定相关的观测值,将不满足观测值条件的字符串确定为异常字符串并滤除;其中,所述观测值包括一最小观测值以及一最大观测值。
在另一种实现方式下,字符串提取单元320可以包括:
第二过滤子单元,用于统计目标集合中字符串各个字符串长度的百分比分布情况,按照字符串长度对统计结果进行排序,滤除长度最长的预置百分比的字符串与长度最短的预置百分比的字符串。
此外,相似度计算单元330可以包括:
相似度计算子单元,用于对于第一有效字符串集合中的目标集合Aj和第二有效字符串集合中的目标集合Bi,确定集合Aj中各有效字符串与集合Bi中各有效字符串之间的字符串相似度,根据得到的各字符串相似度确定集合Aj与集合Bi之间的相似度。其中,当第一节点的交互数据包括一条业务请求数据时,对于确定的第一有效字符串集合Aj,j的值为1。
其中,相似度计算子单元具体可以用于:
以预置算法依次确定Bi中的各字符串Bik与Aj中所有字符串的相似度的最大值,并将得到的所有最大值的和确定为集合Aj与集合Bi之间的相似度;其中k∈{1,2,……,n},n为Bi中字符串的个数。其中,当第一节点的交互数据包括一条业务请求数据时,对于确定的第一有效字符串集合Aj,j的值为1。
其中,预置算法包括以下算法中的任意一种:编辑距离算法,最长公共子串算法,或,余弦相距离算法。
此外,该业务数据的追踪装置还可以包括:
流水号确定单元,用于判断业务请求数据以及业务响应数据中是否存在统一业务流水号;
业务数据关系确定单元,用于在存在统一业务流水号时,优先根据统一业务流水号进行同一笔业务中业务请求数据与业务响应数据之间的对应关系的确定。
该业务数据的追踪装置还可以包括:
业务状态数据提供单元,用于在确定同一笔业务中业务请求数据与业务响应数据之间的对应关系后,确定业务请求数据以及业务响应数据在对应节点的状态描述数据,并根据指令在用户界面中显示所述状态描述数据;所述状态描述数据包括以下描述数据的任意组合:请求时间,节点标识,节点属性,响应时间,时间消耗,业务类型,返回状态,以及返回码。
以上对本申请实施例提供的业务数据的追踪装置进行了的介绍,通过该装置,可以确定被监控节点的交互数据后,分别对业务请求数据以及业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合,通过各第一有效字符串集合与各第二有效字符串集合之间的相似度,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系,实现对同一笔业务在不同节点中的追踪,该方法基于节点交互数据中提取的有效数据进行相似性分析实现,可以不依赖统一业务流水号在各相关节点中对同一笔业务的业务数据进行准确的追踪,为系统运维过程中还原业务的详细执行过程,快速进行故障诊断和分析,获得实时异常事件警告等工作提供准确且有效的依据。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的业务数据的追踪方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (16)
1.一种业务数据的追踪方法,其特征在于,包括:
确定被监控节点的交互数据;所述被监控节点至少包括信息系统的第一节点以及第二节点;其中,第一节点的交互数据包括一条或多条业务请求数据,以及第二节点的交互数据包括多条业务响应数据;
分别对所述业务请求数据以及所述业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合;其中,每个第一有效字符串集合与一条业务请求数据对应,每个第二有效字符串集合与一条业务响应数据对应;
分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度;
根据相似度计算结果,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述确定被监控节点的交互数据,包括:
确定第一节点的业务请求数据的时间戳,根据所述时间戳以及预设时间范围,确定满足时间条件的第二节点的业务响应数据。
3.根据权利要求1所述的方法,其特征在于,所述确定被监控节点的交互数据,包括:
实时采集第一节点的业务请求数据以及第二节点的业务响应数据;或,
从预置数据库中读取符合预设条件的第一节点的业务请求数据以及第二节点的业务响应数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
在分别对所述业务请求数据以及所述业务响应数据进行提取有效字符串的处理后,对于各第一有效字符串集合以及各第二有效字符串集合,通过盒形图方法判断其中的有效字符串个数是否异常;将判断为有效字符串个数存在异常的第一有效字符串集合,以及有效字符串个数存在异常的第二有效字符串集合丢弃;
所述分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度,包括:
分别确定有效字符串个数无异常的各第一有效字符串集合,与有效字符串个数无异常的各第二有效字符串集合之间的相似度。
5.根据权利要求1所述的方法,其特征在于,所述提取有效字符串的处理,包括:
数据分割处理,字符串去重处理,以及字符串过滤处理。
6.根据权利要求5所述的方法,其特征在于,所述字符串过滤处理,包括滤除无用字符串以及滤除异常字符串。
7.根据权利要求6所述的方法,其特征在于,所述滤除异常字符串,包括:
通过盒形图方法根据字符串长度分布确定相关的观测值,将不满足观测值条件的字符串确定为异常字符串并滤除;其中,所述观测值包括一最小观测值以及一最大观测值。
8.根据权利要求6所述的方法,其特征在于,所述滤除异常字符串,包括:
统计目标集合中字符串各个字符串长度的百分比分布情况,按照字符串长度对统计结果进行排序,滤除长度最长的预置百分比的字符串与长度最短的预置百分比的字符串。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度,包括:
对于第一有效字符串集合中的对应第j条业务请求数据的目标集合Aj和第二有效字符串集合中的对应第i条业务响应数据的目标集合Bi,确定集合Aj中各有效字符串与集合Bi中各有效字符串之间的字符串相似度,根据得到的各字符串相似度确定集合Aj与集合Bi之间的相似度。
10.根据权利要求9所述的方法,其特征在于,所述确定集合Aj中各有效字符串与集合Bi中各有效字符串之间的字符串相似度,根据得到的各字符串相似度确定集合Aj与集合Bi之间的相似度,包括:
以预置算法依次确定Bi中的各字符串Bik与Aj中所有字符串的相似度的最大值,并将得到的所有最大值的和确定为集合Aj与集合Bi之间的相似度;其中k∈{1,2,……,n},n为Bi中字符串的个数。
11.根据权利要求9所述的方法,其特征在于,当第一节点的交互数据包括一条业务请求数据时,对于确定的第一有效字符串集合Aj,j的值为1。
12.根据权利要求10所述的方法,其特征在于,当第一节点的交互数据包括一条业务请求数据时,对于确定的第一有效字符串集合Aj,j的值为1。
13.根据权利要求10所述的方法,其特征在于,所述预置算法包括以下算法中的任意一种:
编辑距离算法,最长公共子串算法,或,余弦相距离算法。
14.根据权利要求1至8任一项所述的方法,其特征在于,还包括:
判断业务请求数据以及业务响应数据中是否存在统一业务流水号;
若存在,则优先根据统一业务流水号进行同一笔业务中业务请求数据与业务响应数据之间的对应关系的确定。
15.根据权利要求1至8任一项所述的方法,其特征在于,还包括:
在确定同一笔业务中业务请求数据与业务响应数据之间的对应关系后,确定业务请求数据以及业务响应数据在对应节点的状态描述数据,并根据指令在用户界面中显示所述状态描述数据;所述状态描述数据包括以下描述数据的任意组合:请求时间,节点标识,节点属性,响应时间,时间消耗,业务类型,返回状态,以及返回码。
16.一种业务数据的追踪装置,其特征在于,包括:
交互数据确定单元,用于确定被监控节点的交互数据;所述被监控节点至少包括信息系统的第一节点以及第二节点;其中,第一节点的交互数据包括一条或多条业务请求数据,以及第二节点的交互数据包括多条业务响应数据;
字符串提取单元,用于分别对所述业务请求数据以及所述业务响应数据进行提取有效字符串的处理,生成一个或多个第一有效字符串集合,以及多个第二有效字符串集合;其中,每个第一有效字符串集合与一条业务请求数据对应,每个第二有效字符串集合与一条业务响应数据对应;
相似度计算单元,用于分别确定各第一有效字符串集合与各第二有效字符串集合之间的相似度;
业务数据关联单元,用于根据相似度计算结果,确定同一笔业务中业务请求数据与业务响应数据之间的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710132473.0A CN106909492B (zh) | 2017-03-07 | 2017-03-07 | 业务数据的追踪方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710132473.0A CN106909492B (zh) | 2017-03-07 | 2017-03-07 | 业务数据的追踪方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106909492A CN106909492A (zh) | 2017-06-30 |
CN106909492B true CN106909492B (zh) | 2020-05-12 |
Family
ID=59187420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710132473.0A Active CN106909492B (zh) | 2017-03-07 | 2017-03-07 | 业务数据的追踪方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106909492B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108289038A (zh) * | 2017-12-30 | 2018-07-17 | 金蝶软件(中国)有限公司 | 请求追踪方法、装置、计算机设备和存储介质 |
CN109614433B (zh) * | 2018-12-13 | 2022-02-15 | 杭州数梦工场科技有限公司 | 业务系统间数据血缘的识别方法、装置、设备及存储介质 |
CN110582065B (zh) * | 2019-08-29 | 2021-07-23 | 武汉赛可锐信息技术有限公司 | 基于大数据的消息跟踪方法、装置、终端设备及存储介质 |
CN112463876A (zh) * | 2020-11-27 | 2021-03-09 | 中国建设银行股份有限公司 | 数据展示的方法及装置、电子设备及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083667A (zh) * | 2007-07-04 | 2007-12-05 | 华为技术有限公司 | 通信方法、系统和网关设备 |
CN103034579B (zh) * | 2012-11-29 | 2015-12-09 | 北京神州绿盟信息安全科技股份有限公司 | 图形运维操作有效性的自动分析处理方法和系统 |
CN106155891B (zh) * | 2015-04-02 | 2019-07-05 | 阿里巴巴集团控股有限公司 | 接口测试方法、接口描述数据库生成方法及装置 |
-
2017
- 2017-03-07 CN CN201710132473.0A patent/CN106909492B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106909492A (zh) | 2017-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726744B (zh) | 一种网络流量分类方法 | |
CN105653444B (zh) | 基于互联网日志数据的软件缺陷故障识别方法和系统 | |
CN106909492B (zh) | 业务数据的追踪方法及装置 | |
CN110209764A (zh) | 语料标注集的生成方法及装置、电子设备、存储介质 | |
CN110224850A (zh) | 电信网络故障预警方法、装置及终端设备 | |
CN108021651A (zh) | 一种网络舆情风险评估方法及装置 | |
CN115269438A (zh) | 针对图像处理算法的自动化测试方法及装置 | |
CN111159241A (zh) | 一种点击转化预估方法及装置 | |
Zubi et al. | Using data mining techniques to analyze crime patterns in the libyan national crime data | |
CN113568952A (zh) | 一种物联网资源数据分析方法 | |
CN116452212B (zh) | 一种智能客服商品知识库信息管理方法及系统 | |
CN112631889A (zh) | 针对应用系统的画像方法、装置、设备及可读存储介质 | |
CN113285978B (zh) | 基于区块链和大数据的故障识别方法及通用计算节点 | |
CN115037790A (zh) | 异常注册识别方法、装置、设备及存储介质 | |
Jittawiriyanukoon | Evaluation of a multiple regression model for noisy and missing data | |
CN111611483A (zh) | 一种对象画像构建方法、装置、设备及存储介质 | |
CN116595389B (zh) | 识别异常客户端的方法、装置、计算机设备和存储介质 | |
CN116957361B (zh) | 一种基于虚实结合的船舶任务系统健康状态检测方法 | |
CN112907306B (zh) | 一种客户满意度判别方法及装置 | |
CN111598159B (zh) | 机器学习模型的训练方法、装置、设备及存储介质 | |
CN118295893A (zh) | 自动化页面巡检方法、装置、电子设备及存储介质 | |
CN116796133A (zh) | 数据分析方法、装置、计算机设备及存储介质 | |
Gürtürk et al. | Identifying the Visitors with Data Mining Methods from Web Log Files | |
CN113592159A (zh) | 基于被测系统自动分层探测技术的性能测试与监控系统 | |
CN114297729A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |