CN110188083B - 接口信息挖掘方法及装置 - Google Patents
接口信息挖掘方法及装置 Download PDFInfo
- Publication number
- CN110188083B CN110188083B CN201910459583.7A CN201910459583A CN110188083B CN 110188083 B CN110188083 B CN 110188083B CN 201910459583 A CN201910459583 A CN 201910459583A CN 110188083 B CN110188083 B CN 110188083B
- Authority
- CN
- China
- Prior art keywords
- interface
- parameter
- information
- name
- calling
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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
Abstract
本发明公开了一种接口信息挖掘方法及装置,方法包括:获取接口执行所生成的日志信息;针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表;其中,接口参数信息包括接口名称、参数名称和参数调用值;对接口参数信息列表进行统计,生成各个接口的接口信息;其中,接口信息包括接口名称、参数名称、参数调用值列表。利用日志信息来统计得到接口信息,降低了现有技术中对接口信息获取时对代码本身的依赖性,也降低了日常对接口信息人工维护的成本。
Description
技术领域
本发明涉及软件领域,具体涉及一种接口信息挖掘方法及装置。
背景技术
在日常代码研发过程中,对代码中接口的设置、接口中所包含的参数等一般均由开发人员来定义并完成。接口设置、参数描述等信息会通过文档进行记录。当代码中接口发生修改时,需要通过人工来维护文档。文档的维护一般在开发人员修改代码后,再查找修改的代码对应的文档内容,对其进行维护,使得文档维护的成本较高。在实际工作中,有时常常会发生代码中接口已经修改,但文档未及时进行更新的情况,造成文档缺失或者不完备等问题普遍存在。
当需要对已有代码的接口再次进行梳理与理解时(如系统升级需修改代码中接口、该代码被其他开发人员接手但不了解代码具体内容等情况),在文档缺失或不完备的情况下,开发人员只能通过对整个代码进行分析来理解接口。但这种方式与实际代码的实现语言(如Java、python、PHP、C++)有较强关联,使得这种方式不能够通用于任何代码。且对代码进行整体分析需要花费较长时间和较高成本。进一步,对于接口中重要的参数在实际调用时所使用的数值无法通过代码进行了解。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的接口信息挖掘方法及装置。
根据本发明的一个方面,提供了一种接口信息挖掘方法,其包括:
获取接口执行所生成的日志信息;
针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表;其中,接口参数信息包括接口名称、参数名称和参数调用值;
对接口参数信息列表进行统计,生成各个接口的接口信息;其中,接口信息包括接口名称、参数名称、参数调用值列表。
可选地,在获取接口执行所生成的日志信息之后,方法还包括:
对日志信息进行筛选。
可选地,针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表进一步包括:
根据日志信息生成规则,针对每条日志信息按照接口维度进行切割处理,得到接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值;
将接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值进行存储,得到接口参数信息列表;接口参数信息列表存储于在线或离线数据库中。
可选地,对接口参数信息列表进行统计,生成各个接口的接口信息进一步包括:
对接口参数信息列表进行统计处理;其中,统计处理包括按照同一接口同一参数名称分组进行聚和处理,得到参数调用值列表;
生成各个接口的接口信息。
可选地,统计处理进一步包括:
按照同一接口同一参数名称分组进行聚和处理,得到参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数;
按照预设规则对参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数进行筛选;其中,预设规则包括参数调用值的穷举个数小于等于预设穷举个数且接口被调用次数大于预设被调用次数;和/或,参数调用值的穷举个数小于等于预设穷举个数且参数调用值出现次数大于预设出现次数;
根据筛选后的参数调用值得到参数调用值列表。
根据本发明的另一方面,提供了一种接口信息挖掘装置,其包括:
获取模块,适于获取接口执行所生成的日志信息;
切割模块,适于针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表;其中,接口参数信息包括接口名称、参数名称和参数调用值;
统计模块,适于对接口参数信息列表进行统计,生成各个接口的接口信息;其中,接口信息包括接口名称、参数名称、参数调用值列表。
可选地,装置还包括:
筛选模块,适于对日志信息进行筛选。
可选地,切割模块进一步适于:
根据日志信息生成规则,针对每条日志信息按照接口维度进行切割处理,得到接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值;
将接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值进行存储,得到接口参数信息列表;接口参数信息列表存储于在线或离线数据库中。
可选地,统计模块进一步适于:
对接口参数信息列表进行统计处理;其中,统计处理包括按照同一接口同一参数名称分组进行聚和处理,得到参数调用值列表;
生成各个接口的接口信息。
可选地,统计模块进一步适于:
按照同一接口同一参数名称分组进行聚和处理,得到参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数;
按照预设规则对参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数进行筛选;其中,预设规则包括参数调用值的穷举个数小于等于预设穷举个数且接口被调用次数大于预设被调用次数;和/或,参数调用值的穷举个数小于等于预设穷举个数且参数调用值出现次数大于预设出现次数;
根据筛选后的参数调用值得到参数调用值列表。
根据本发明的又一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行上述接口信息挖掘方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述接口信息挖掘方法对应的操作。
根据本发明提供的接口信息挖掘方法及装置,获取接口执行所生成的日志信息;针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表;其中,接口参数信息包括接口名称、参数名称和参数调用值;对接口参数信息列表进行统计,生成各个接口的接口信息;其中,接口信息包括接口名称、参数名称、参数调用值列表。利用日志信息来统计得到接口信息,降低了现有技术中对接口信息获取时对代码本身的依赖性,也降低了日常对接口信息人工维护的成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的接口信息挖掘方法的流程图;
图2示出了根据本发明另一个实施例的接口信息挖掘方法的流程图;
图3示出了根据本发明一个实施例的接口信息挖掘装置的功能框图;
图4示出了根据本发明一个实施例的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的接口信息挖掘方法的流程图。如图1所示,接口信息挖掘方法具体包括如下步骤:
步骤S101,获取接口执行所生成的日志信息。
在软件开发过程中,不论是基于SOA架构下的后台服务,或是前端(客户端)与后端服务器间交互的http请求服务等,一般都采用接口来进行交互。接口为调用者提供了透明化服务,调用者无需关心接口内部处理,对于接口而言,在修改接口内部的代码时不影响接口的调用。
日志信息是接口被调用执行时生成的,日志信息所包含的内容、生成的格式、用于连接日志信息中各内容的符号等均可以预先指定,如其包括了接口名称、接口id、接口中各参数及调用值等接口相关数据,还包括如调用时间、调用者IP等调用相关数据,以及日志级别、调用上下文信息、返回结果等各数据。一条日志信息可参考如下所示:
2019-01-27 00:15:01,
438[0b91668615485193012944451e3c89]
[mobilegw,11.145.201.32]
[koubei.mappprod.homecards.query,2088402151100819]
[MERCHANT_APP_IPHONE,6.0.4.18081315]
req=[{“payerId”:“2088402151100819”,“payerType”:“C”,“payTool”:“huabei”,“tradeNo”:“20181029111040030100470603145469”,“shopId”:“2015062700077000000000534314”,“moneyCnt”:1200}]
调用时间记录了接口被调用的时间,接口id记录了被调用的接口标识,调用者相关的IP地址、设备等记录了调用者的信息,接口名称记录了被调用的接口的名称,接口中各参数及调用值记录了调用接口时传入的调用信息等。以上各内容以如中括号方式存储,方便后续可以根据预先指定的符号对日志信息进行提取,得到最终的接口信息。
进一步,在获取日志信息时,可以获取一天或多天的日志信息,以日志信息包含的数据量为依据,获取到较多数据量(包含较多接口相关数据)的日志信息可以更好地对其进行分析,来得到接口信息。
步骤S102,针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表。
在获取到日志信息后,由于日志信息中包含了多个接口多次被调用的数据,需要对日志信息进行整理,方便获取各个接口的具体数据。具体的,如按照各个接口的名称、接口id等以接口维度对日志信息进行切割处理,切割得到各个接口相关的具体数据,如表1所示的接口参数信息列表。接口参数信息列表按照接口维度,存储每个接口的接口参数信息。表1所示的数据为从日志信息中切割得到的接口(koubei.mappprod.homecards.pay)的各个参数以及参数对应的参数调用值的数据。如表1所示,将每条日志信息切割处理后,整理得到每个接口的接口参数信息。将各个接口参数信息都存储在接口参数信息列表中。进一步,接口参数信息列表可以存储在在线数据库中,或存储在离线数据库中,以便后续对数据库中接口参数信息列表进行统计。
接口参数信息列表中包括多条接口参数信息。接口参数信息中包括接口名称、参数名称和参数调用值。接口参数信息还包括了接口id,接口id可以唯一的标识一个接口。接口id可以方便后续对接口相关数据按照接口维度进行统计。
表1
一个接口可以有一个或多个参数,根据实际接口情况,从日志信息中切割得到各个接口的接口id、接口名称、参数名称和参数调用值。本实施例中一条接口参数信息包括一个接口的一个参数以及参数对应的参数调用值,方便后续可以对参数对应的参数调用值进行统计,确定接口信息。一条接口参数信息也可以包括一个接口的多个参数以及各个参数对应的参数调用值,此处不做限定。
步骤S103,对接口参数信息列表进行统计,生成各个接口的接口信息。
对接口参数信息列表中的各个接口id、接口名称、参数名称进行统计,得到包括接口名称、参数名称、参数调用值列表的接口信息。参数调用值列表即接口在被调用时,参数对应的参数调用值有哪些。此处,参数调用值列表主要统计控制类参数的参数调用值。接口的参数包括如描述类参数,其参数调用值会根据实际调用传入不同的描述信息;控制类参数,其参数调用值一般为固定的一个或多个值,且该值具有特定意义。如在支付接口中,支付金额为描述类参数,其参数调用值是实际发生的金额信息;支付工具为控制类参数,其参数调用值包括花呗、余额宝、银行卡等固定值,针对各自具体对应的账户信息。统计描述类参数的各个参数调用值对于接口信息而言其不具备太多参考价值,因此,本实施例中重点在于统计控制类参数各参数调用值。
具体的,对接口参数信息列表中的数据进行统计,从参数调用值中筛选出固定值,可以得到控制类参数的参数调用值列表,从而得到接口信息。进一步,对于参数调用值列表中的各参数调用值所对应的具体含义可以从注释中获取等。
根据本发明提供的接口信息挖掘方法,获取接口执行所生成的日志信息;针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表;其中,接口参数信息包括接口名称、参数名称和参数调用值;对接口参数信息列表进行统计,生成各个接口的接口信息;其中,接口信息包括接口名称、参数名称、参数调用值列表。利用日志信息来统计得到接口信息,降低了现有技术中对接口信息获取时对代码本身的依赖性,也降低了日常对接口信息人工维护的成本。
图2示出了根据本发明另一个实施例的接口信息挖掘方法的流程图。如图2所示,接口信息挖掘方法具体包括如下步骤:
步骤S201,获取接口执行所生成的日志信息。
获取接口执行后生成的日志信息。在获取到日志信息后,可以将日志信息存储到指定位置,如在线或离线的数据库,方便对日志信息进行处理,且不影响原保存的日志信息。
步骤S202,对日志信息进行筛选。
在获取到日志信息后,为更好地从中获取到与接口相关的数据,需要对日志信息进行筛选。筛选时,可以去除日志信息中与接口无关的数据,还可以将其中错误的数据剔除。如不符合生成规则的日志信息、接口因参数调用值导致的调用失败等数据(容易导致后续对参数调用值统计时造成统计错误)。
步骤S203,根据日志信息生成规则,针对每条日志信息按照接口维度进行切割处理,得到接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值,并进行存储,得到接口参数信息列表。
日志信息在生成时具有生成规则,如步骤S101中所示的日志信息,其包括了接口名称、接口id、接口中各参数及调用值等接口相关数据,调用时间、调用者IP等调用相关数据等。各数据以中括号来区分数据的开始和结束,中括号中包括多个数据时,以逗号分隔,以冒号相连接两个具有关系的数据等。即按照预设的生成规则来生成日志信息。生成规则中包括如日志信息包括哪些数据,生成的顺序、各数据如何连接、预设连接符号等。
按照生成规则对每条日志信息均进行切割处理。切割时,从每条日志信息中切割得到接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值,对于其他数据可以忽略。从日志信息中可以看到按照生成规则中的生成顺序可以找到接口名称与接口id、接口的参数名称以及各参数对应的参数调用值。按照预设连接符号进行切割,得到接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值。按照如表1所示的方式对其进行存储,得到接口参数信息列表。
步骤S204,对接口参数信息列表进行统计处理,生成各个接口的接口信息。
在统计处理时按照同一接口同一参数名称来分组进行聚和处理,得到包含了参数调用值的穷举个数、各参数调用值出现次数、接口被调用次数等数据的参数调用值列表。具体的,如先利用sql语句对接口参数信息列表中的数据进行统计,Select接口名称,参数名称,count(distinct参数名称)as参数调用值的穷举个数From接口参数信息列表Group by接口名称,参数名称,得到如表2所示的数据。每个接口被调用时,其每个参数实际对应的参数调用值的个数即参数调用值的穷举个数。根据参数调用值的穷举个数,可以从侧面反映出该参数是描述类参数还是控制类参数。描述类参数与根据实际产生的数据相关,其参数调用值会根据实际产生的数据变化而变化,参数调用值的穷举个数会较多。控制类参数的参数调用值一般为固定值,因此,其参数调用值的穷举个数会较少。
表2
根据上述表2中的数据,利用参数调用值的穷举个数可以筛选出控制类参数。如对参数调用值的穷举个数进行筛选,筛选出参数调用值的穷举个数在一定范围内的数据,如参数调用值的穷举个数小于等于5的数据,这些参数为控制类参数。控制类参数对应的参数调用值多为枚举值,一般不采用连续值,通过以上聚合、筛选,可以得到参数调用值的各个枚举值,汇总得到参数对应的参数调用值列表。在获取参数对应的各个参数调用值后,还可以利用sql语句Select接口名称,参数名称,参数调用值,count(1)as参数调用值出现次数From接口参数信息列表Group by接口名称,参数名称,参数调用值来计算出参数调用值出现次数,可以确定接口中参数实际使用的重要的参数调用值的占比,方便为接口调用提供分析数据。
进一步,还可以通过对日志信息的分析,得到接口被调用次数,以确定各个接口的重要性。如在对日志信息进行切割时,按照接口名称统计接口被调用次数;或者,利用sql语句Select接口名称,count(1)as接口被调用次数From接口参数信息列表Group by接口名称。当接口被调用次数较多时,可以确定该接口为重要接口。
综合以上各数据按照预设规则对参数调用值的穷举个数、各参数调用值出现次数、接口被调用次数等进行筛选,可以得到重要的接口的接口信息。预设规则包括了如参数调用值的穷举个数小于等于预设穷举个数且接口被调用次数大于预设被调用次数、参数调用值的穷举个数小于等于预设穷举个数且参数调用值出现次数大于预设出现次数等,筛选出重要的接口,确定接口的控制类参数,以及控制类参数对应的参数调用值列表,如表3所示。
表3
根据表3的数据可以清楚的了解到接口信息,在调用接口时,对接口中控制类参数需要传入的调用值应该为哪些。
进一步,得到接口信息后,为保障正确性,还可以对接口信息进行验证。如根据注释信息、文档信息等对其进行验证、人工校验等方式,以保障接口信息的准确性。
根据本发明提供的接口信息挖掘方法,根据日志信息来得到接口信息,减少与接口所使用的语言的相关性,更通用。进一步,根据日志信息得到接口参数信息列表,利用接口参数信息列表进行统计处理,从中确定各接口的重要性、接口中各参数的重要性,更针对性地获取控制类参数的参数调用值列表,清楚了解到接口在调用时应正确传入的参数调用值,也便于根据接口中参数调用值出现次数分析业务实际数据。
图3示出了根据本发明一个实施例的接口信息挖掘装置的功能框图。如图3所示,接口信息挖掘装置包括如下模块:
获取模块310适于:获取接口执行所生成的日志信息。
切割模块320适于:针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表;其中,接口参数信息包括接口名称、参数名称和参数调用值。
统计模块330适于:对接口参数信息列表进行统计,生成各个接口的接口信息;其中,接口信息包括接口名称、参数名称、参数调用值列表。
可选地,装置还包括:筛选模块340。
筛选模块340适于:对日志信息进行筛选。
可选地,切割模块320进一步适于:根据日志信息生成规则,针对每条日志信息按照接口维度进行切割处理,得到接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值;将接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值进行存储,得到接口参数信息列表;接口参数信息列表存储于在线或离线数据库中。
可选地,统计模块330进一步适于:对接口参数信息列表进行统计处理;其中,统计处理包括按照同一接口同一参数名称分组进行聚和处理,得到参数调用值列表;生成各个接口的接口信息。
可选地,统计模块330进一步适于:按照同一接口同一参数名称分组进行聚和处理,得到参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数;按照预设规则对参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数进行筛选;其中,预设规则包括参数调用值的穷举个数小于等于预设穷举个数且接口被调用次数大于预设被调用次数;和/或,参数调用值的穷举个数小于等于预设穷举个数且参数调用值出现次数大于预设出现次数;根据筛选后的参数调用值得到参数调用值列表。
以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。
本申请还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的接口信息挖掘方法。
图4示出了根据本发明一个实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述接口信息挖掘方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述任意方法实施例中的接口信息挖掘方法。程序410中各步骤的具体实现可以参见上述接口信息挖掘实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的接口信息挖掘装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (8)
1.一种接口信息挖掘方法,其包括:
获取接口执行所生成的日志信息;
针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表;其中,接口参数信息包括接口名称、参数名称和参数调用值;
对所述接口参数信息列表进行统计处理,生成各个接口的接口信息;其中,所述接口信息包括接口名称、参数名称、参数调用值列表;所述统计处理包括:按照同一接口同一参数名称分组进行聚和处理,得到参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数;按照预设规则对所述参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数进行筛选;根据筛选后的参数调用值得到参数调用值列表;所述预设规则包括参数调用值的穷举个数小于等于预设穷举个数且接口被调用次数大于预设被调用次数;和/或,参数调用值的穷举个数小于等于预设穷举个数且参数调用值出现次数大于预设出现次数。
2.根据权利要求1所述的方法,其中,在所述获取接口执行所生成的日志信息之后,所述方法还包括:
对所述日志信息进行筛选。
3.根据权利要求1或2所述的方法,其中,所述针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表进一步包括:
根据日志信息生成规则,针对每条日志信息按照接口维度进行切割处理,得到接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值;
将所述接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值进行存储,得到接口参数信息列表;所述接口参数信息列表存储于在线或离线数据库中。
4.一种接口信息挖掘装置,其包括:
获取模块,适于获取接口执行所生成的日志信息;
切割模块,适于针对每条日志信息按照接口维度进行切割处理,得到切割后的接口参数信息列表;其中,接口参数信息包括接口名称、参数名称和参数调用值;
统计模块,适于对所述接口参数信息列表进行统计处理,生成各个接口的接口信息;其中,所述接口信息包括接口名称、参数名称、参数调用值列表;所述统计处理包括:按照同一接口同一参数名称分组进行聚和处理,得到参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数;按照预设规则对所述参数调用值的穷举个数、各参数调用值出现次数和/或接口被调用次数进行筛选;根据筛选后的参数调用值得到参数调用值列表;所述预设规则包括参数调用值的穷举个数小于等于预设穷举个数且接口被调用次数大于预设被调用次数;和/或,参数调用值的穷举个数小于等于预设穷举个数且参数调用值出现次数大于预设出现次数。
5.根据权利要求4所述的装置,其中,所述装置还包括:
筛选模块,适于对所述日志信息进行筛选。
6.根据权利要求4或5所述的装置,其中,所述切割模块进一步适于:
根据日志信息生成规则,针对每条日志信息按照接口维度进行切割处理,得到接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值;
将所述接口名称、接口中每个参数的参数名称以及参数对应的各个参数调用值进行存储,得到接口参数信息列表;所述接口参数信息列表存储于在线或离线数据库中。
7.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-3中任一项所述的接口信息挖掘方法对应的操作。
8.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-3中任一项所述的接口信息挖掘方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910459583.7A CN110188083B (zh) | 2019-05-29 | 2019-05-29 | 接口信息挖掘方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910459583.7A CN110188083B (zh) | 2019-05-29 | 2019-05-29 | 接口信息挖掘方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110188083A CN110188083A (zh) | 2019-08-30 |
CN110188083B true CN110188083B (zh) | 2020-11-03 |
Family
ID=67718689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910459583.7A Active CN110188083B (zh) | 2019-05-29 | 2019-05-29 | 接口信息挖掘方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188083B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090457A (zh) * | 2019-12-17 | 2020-05-01 | 广州品唯软件有限公司 | 接口分析方法、终端设备及计算机可读存储介质 |
CN115051933A (zh) * | 2022-05-30 | 2022-09-13 | 中国银行股份有限公司 | 一种数据库接口调用次数的统计方法、装置、系统和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825812A (zh) * | 2005-02-25 | 2006-08-30 | 华为技术有限公司 | 管理网络日志信息的系统及方法 |
CN103593484A (zh) * | 2013-12-03 | 2014-02-19 | 南京安讯科技有限责任公司 | 一种手机上网垃圾日志的过滤方法 |
CN104462329A (zh) * | 2014-12-03 | 2015-03-25 | 复旦大学 | 一种适用于多样性环境的业务流程挖掘方法 |
CN106209781A (zh) * | 2016-06-27 | 2016-12-07 | 徐汕 | 一种基于统计学的异常接口访问识别方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848477A (zh) * | 2009-03-24 | 2010-09-29 | 亚信科技(中国)有限公司 | 一种故障诊断方法及系统 |
CN103399887A (zh) * | 2013-07-19 | 2013-11-20 | 蓝盾信息安全技术股份有限公司 | 一种海量日志的查询与统计分析系统 |
CN103701709B (zh) * | 2013-12-13 | 2015-07-01 | 北京京东尚科信息技术有限公司 | 一种流量控制方法及系统 |
CN108762808B (zh) * | 2018-05-17 | 2021-06-08 | 李伟荣 | 接口文档的生成方法及系统 |
CN108932122A (zh) * | 2018-06-19 | 2018-12-04 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 接口文档生成方法、装置、计算机设备和存储介质 |
CN109783457B (zh) * | 2018-12-17 | 2024-02-02 | 中国平安财产保险股份有限公司 | Cgi接口管理方法、装置、计算机设备和存储介质 |
-
2019
- 2019-05-29 CN CN201910459583.7A patent/CN110188083B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825812A (zh) * | 2005-02-25 | 2006-08-30 | 华为技术有限公司 | 管理网络日志信息的系统及方法 |
CN103593484A (zh) * | 2013-12-03 | 2014-02-19 | 南京安讯科技有限责任公司 | 一种手机上网垃圾日志的过滤方法 |
CN104462329A (zh) * | 2014-12-03 | 2015-03-25 | 复旦大学 | 一种适用于多样性环境的业务流程挖掘方法 |
CN106209781A (zh) * | 2016-06-27 | 2016-12-07 | 徐汕 | 一种基于统计学的异常接口访问识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110188083A (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162544B (zh) | 异构数据源数据获取方法及装置 | |
CN111723313A (zh) | 页面跳转的处理方法、装置、设备及存储介质 | |
CN108460068B (zh) | 报表导入导出的方法、装置、存储介质及终端 | |
US10387370B2 (en) | Collecting test results in different formats for storage | |
CN110188083B (zh) | 接口信息挖掘方法及装置 | |
CN113268500B (zh) | 业务处理方法、装置及电子设备 | |
CN110795697A (zh) | 逻辑表达式的获取方法、装置、存储介质以及电子装置 | |
CN111381940B (zh) | 分布式数据处理方法及装置 | |
US10241957B2 (en) | Workload patterns for realistic load recreation in performance testing | |
CN114003818A (zh) | 页面推荐方法、装置、服务器及存储介质 | |
CN108804889B (zh) | 一种网站注册方法及装置 | |
US11734299B2 (en) | Message templatization for log analytics | |
CN114691768A (zh) | 一种数据处理方法、核算系统及相关设备 | |
CN111045983B (zh) | 核电站电子文件管理方法、装置、终端设备及介质 | |
CN114168624A (zh) | 数据分析方法、计算设备及存储介质 | |
CN109840213B (zh) | 一种gui测试的测试数据创建方法、装置、终端及存储介质 | |
CN111680974A (zh) | 电子化承保流程的问题定位方法及装置 | |
CN111444057A (zh) | 页面性能数据采集方法、装置及计算设备 | |
CN114371866A (zh) | 业务系统的版本重构测试方法、装置和设备 | |
US8321844B2 (en) | Providing registration of a communication | |
CN107180047B (zh) | 文件的生成方法和装置 | |
CN110750739B (zh) | 一种页面类型确定方法及装置 | |
CN114079647B (zh) | Ip地址备案核查的方法、装置、系统及计算设备 | |
CN111091473B (zh) | 保险问题分析处理方法和装置 | |
CN110597736B (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 |