信息发送的方法、服务器及计算机可读存储介质与流程

文档序号:16207865发布日期:2018-12-08 07:20阅读:159来源:国知局
信息发送的方法、服务器及计算机可读存储介质与流程

本发明涉及互联网通信领域,尤其信息发送的方法、服务器及计算机可读存储介质。

背景技术

随着互联网业务的不断发展,使得业务系统的架构也越来越复杂。业务在执行的过程中可能会存在各种各样的问题,开发人员需要通过获取日志信息来分析和解决这些问题。

目前,提供了一种日志信息分析的方法,首先日志信息收集及分析系统获取待测试的日志信息,然后采用测试用例对其进行测试,如果测试过程中报错,则可以根据业务系统中的层级调用关系定位异常问题。

然而,由于业务系统调用层级常常会达到五六级,甚至更深的层级,如果测试过程中发生报错,则需要花费较多的时间和精力根据各个层级之间的调用关系来定位异常问题,从而降低定位异常问题的效率。



技术实现要素:

本发明实施例提供了一种信息发送的方法、服务器及计算机可读存储介质,可以根据测试结果生成并展示业务调用关系信息,而业务调用关系信息能够直接表示各个业务层之间的调用关系,无需花费较多的时间和精力来获取业务层之间的调用关系,从而提升定位异常问题的效率。

有鉴于此,本发明第一方面提供了一种信息发送的方法,包括:

获取待分析日志信息;

采用预设测试用例对所述待分析日志信息进行测试,以得到测试结果;

若所述测试结果满足预设告警条件,则根据所述测试结果生成业务调用关系信息,其中,所述业务调用关系信息用于表示业务层之间的调用关系;

向客户端发送所述业务调用关系信息。

本发明第二方面提供了一种服务器,包括:

第一获取模块,用于获取待分析日志信息;

测试模块,用于采用预设测试用例对所述第一获取模块获取的所述待分析日志信息进行测试,以得到测试结果;

生成模块,用于若所述测试模块得到的所述测试结果满足预设告警条件,则根据所述测试结果生成业务调用关系信息,其中,所述业务调用关系信息用于表示业务层之间的调用关系;

发送模块,用于向客户端发送所述生成模块生成的所述业务调用关系信息。

本发明第三方面提供了一种服务器,包括:存储器、处理器以及总线系统;

其中,所述存储器用于存储程序;

所述处理器用于执行所述存储器中的程序,包括如下步骤:

获取待分析日志信息;

采用预设测试用例对所述待分析日志信息进行测试,以得到测试结果;

若所述测试结果满足预设告警条件,则根据所述测试结果生成业务调用关系信息,其中,所述业务调用关系信息用于表示业务层之间的调用关系;

向客户端发送所述业务调用关系信息;

所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,提供了一种信息发送的方法,首先由服务器获取待分析日志信息,然后采用预设测试用例对待分析日志信息进行测试,以得到测试结果,若测试结果满足预设告警条件,则服务器再根据测试结果生成业务调用关系信息,其中,业务调用关系信息用于表示业务层之间的调用关系,向客户端发送业务调用关系信息。通过上述方式,在服务器检测到满足预设告警条件的测试结果之后,可以根据测试结果生成并展示业务调用关系信息,而业务调用关系信息能够直接表示各个业务层之间的调用关系,无需花费较多的时间和精力来获取业务层之间的调用关系,从而提升定位异常问题的效率。

附图说明

图1为本发明实施例中信息发送系统的架构图;

图2为本发明实施例中信息发送的方法一个实施例示意图;

图3为本发明实施例中业务层之间调用关系的一个实施例示意图;

图4为本发明实施例中日志收集系统flume的一个原理示意图;

图5为本发明实施例中分布式消息系统kafka的一个原理示意图;

图6为本发明实施例中日志信息分析平台的一个架构示意图;

图7为本发明应用场景中日志信息分析后台的一个界面示意图;

图8为本发明实施例中服务器一个实施例示意图;

图9为本发明实施例中服务器另一个实施例示意图;

图10为本发明实施例中服务器另一个实施例示意图;

图11为本发明实施例中服务器另一个实施例示意图;

图12为本发明实施例中服务器另一个实施例示意图;

图13为本发明实施例中服务器另一个实施例示意图;

图14为本发明实施例中服务器一个结构示意图。

具体实施方式

本发明实施例提供了一种信息发送的方法、服务器及计算机可读存储介质,可以根据测试结果生成并展示业务调用关系信息,而业务调用关系信息能够直接表示各个业务层之间的调用关系,无需花费较多的时间和精力来获取业务层之间的调用关系,从而提升定位异常问题的效率。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应理解,本发明主要应用于分析日志信息的场景,请参阅图1,图1为本发明实施例中信息发送系统的架构图,如图所示,在日志收集层内通过日志收集系统flume收集日志信息,将日志信息传输至分布式消息系统kafka中。日志过滤层从kafka中采集所需的日志信息,具体的日志信息采集过程为,首先通过通用网关接口(commongatewayinterface,cgi)请求过滤所需的日志信息,即从kafka中提取原始日志信息,接下来依照日志特定进行各部分的提取,即将cgi应用程序(application,app)的日志信息进行合并处理,并将后台服务(middle)的日志信息进行合并处理。

cgiapp日志信息与middle日志信息通过数据清洗层,进入分布式的高速缓存系统(memcache)以及分布式文件存储的数据库(mongodatabase,mongodb)。其中,在memcache主要用于对cgiapp日志信息与middle日志信息进行数据缓存,此外,memcache还用于缓存自动化测试工具(automationtestingtools,att)中的测试资源。

测试人员运行自动化测试用例后,日志分析平台通过收集memcache中的cgiapp日志信息、middle日志信息以及所需的测试用例资源,可以对日志信息进行分析,并得到测试结果,将分析结果存储在mongodb中用于查询以及界面展示,展示方式包含但并不仅限于邮件通知的方式。可以理解的是,日志分析平台主要是为att提供测试用例所需的请求资源。

下面将从服务器的角度,对本发明中信息发送的方法进行介绍,请参阅图2,本发明实施例中信息发送的方法一个实施例包括:

101、获取待分析日志信息;

本实施例中,首先服务器获取待分析日志信息。具体地,服务器可以先在后台访问及获取原始日志信息,然后获取对应的待分析日志信息,待分析日志信息可以是cgiapp日志信息以及middle日志信息,middle日志信息即为后台服务的日志信息。

102、采用预设测试用例对待分析日志信息进行测试,以得到测试结果;

本实施例中,服务器采用预设测试用例,对获取到的待分析日志信息进行测试,并得到测试结果。

其中,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

103、若测试结果满足预设告警条件,则根据测试结果生成业务调用关系信息,其中,业务调用关系信息用于表示业务层之间的调用关系;

本实施例中,如果得到的测试结果满足预设告警条件,那么需要根据该测试结果生成相应的业务调用关系信息,其中,业务调用关系信息用于表示业务层之间的调用关系。

具体地,假设预设测试用例用于验证能否添加日志分类,当检测到不能添加日志分类时,认为满足预设告警条件,这个时候就会根据这个结果,找到出现这一问题的原因,并且通过图示或者列表等直观的方式体现出业务调用关系信息。请参阅图3,图3为本发明实施例中业务层之间调用关系的一个实施例示意图,如图所示,图中实线箭头表示同步调用,例如,服务名为“jjj_jjjjjjjj_jjjjj_jjjjjj”的业务可以同步调用另一个服务名为“i_iiii_iiiiii_iiiiii”的业务。图中虚线箭头表示异步调用,例如服务名为“jjj_jjjjjjjj_jjjjj_jjjjjj”的业务可以异步调用另一个服务名为“aaa_aaaaa_aaaa_aaaaa”的业务。图中空心箭头表示出现告警的情况,例如服务名为“dd_dddd_dddd_ddddd”的业务出现告警,其调用关系为为服务名为“jjj_jjjjjjjj_jjjjj_jjjjjj”的业务调用“dd_dddd_dddd_ddddd”的业务。

综上,通过图3所示的内容可以使得运维人员对业务层之间的调用关系一目了然。

104、向客户端发送业务调用关系信息。

本实施例中,由服务器向客户端发送业务调用关系信息,客户端通过渲染可以在显示界面上展示业务调用关系信息。

本发明实施例中,提供了一种信息发送的方法,首先由服务器获取待分析日志信息,然后采用预设测试用例对待分析日志信息进行测试,以得到测试结果,若测试结果满足预设告警条件,则服务器再根据测试结果生成业务调用关系信息,其中,业务调用关系信息用于表示业务层之间的调用关系,向客户端发送业务调用关系信息。通过上述方式,在服务器检测到满足预设告警条件的测试结果之后,可以根据测试结果生成并展示业务调用关系信息,而业务调用关系信息能够直接表示各个业务层之间的调用关系,无需花费较多的时间和精力来获取业务层之间的调用关系,从而提升定位异常问题的效率。

可选地,在上述图2对应的实施例的基础上,本发明实施例提供的信息发送的方法第一个可选实施例中,获取待分析日志信息,可以包括:

通过分布式消息系统kafka获取待分析日志信息,其中,待分析日志信息为日志收集系统flume所采集的。

本实施例中,服务器所获取的待分析日志信息的过程可以为,日志收集系统“水槽”(flume)存储有大量的日志信息,为了减轻日志信息分析平台的压力,分布式消息系统(kafka)提供上传日志信息的中转服务,于是服务器可以从kafka获取所需的待分析日志信息。

具体地,flume是cloudera公司提供的一款高性能以及高可用的开源分布式日志收集系统,flume支持在日志系统中定制各类数据发送方,用于收集数据。请参阅图4,图4为本发明实施例中日志收集系统flume的一个原理示意图,如图所示,flume的核心是把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达sink后,flume再删除自己缓存的数据。

source组件用于完成对日志数据的收集,channel组件主要提供一个队列的功能,用于对source组件提供中的数据进行简单的缓存,sink组件用于取出channel组件中的数据,并将该数据发送至相应的海杜普实现的一个分布式文件系统(hadoopdistributedfilesystem,hdfs)。

kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的动作流数据。这种动作(例如网页浏览、搜索以及其他用户的行动)是在现代网络上的许多社会功能的一个关键因素,而这些数据通常是由于吞吐量的要求而通过处理日志来解决。请参阅图5,图5为本发明实施例中分布式消息系统kafka的一个原理示意图,如图所示,kafka中发布订阅的对象是消息存放的目录即主题(topic)。我们可以为每类数据创建一个topic,把向topic发布消息的客户端称作“生产者”(producer),从topic订阅消息的客户端称作“消费者”(consumer)。producers和consumers可以同时从多个topic读写数据。一个kafka集群由一个或多个服务器组成,它负责持久化和备份具体的kafka消息。数据库(database,db)通过“连接器”(connector)与kafka集群相连,并且提供大量的数据。应用程序通过“流处理器”(streamprocessor)与与kafka集群相连,并且用于进行数据处理。

其次,本发明实施例中,服务器通过kafka获取待分析日志信息,其中,待分析日志信息为flume所采集的。通过上述方式,采用kafka以及flume获取待分析日志信息具有以下优点,首先flume与传统的日志收集系统相比,具有更好的实时性,能够实时监控日志文件的变更,秒级日志信息传输到日志信息分析平台,其次,flume无需安装,启动脚本即可使用,后期基本不需要维护,并且是基于正则表达式的初级日志信息过来,配置简单,从而节省运维成本,进一步地,flume可以自定义第三方java包扩展,上传日志信息时定制额外携带的信息,例如服务名等,从而提升方案的灵活性。采用kafka能够减轻日志信息分析平台的压力,以此提升服务器工作的稳定性。

可选地,在上述图2以及图2对应的第一个实施例的基础上,本发明实施例提供的信息发送的方法第二个可选实施例中,采用预设测试用例对待分析日志信息进行测试之前,还可以包括:

获取测试用例集合;

将测试用例集合录入至自动化测试工具att资源库中,其中,att资源库用于存储预设测试用例;

从att资源库中提取预设测试用例。

本实施例中,服务器在采用预设测试用例对待分析日志信息进行测试之前,还可以自动获取测试用例集合,测试用例集合中包含cgi和/或middle资源。然后将测试用例集合输入至自动化测试工具(automationtestingtools,att)资源库中,服务器从att资源库中提取预设测试用例。

其中,att是黑盒测试工具,可以用来完成功能测试以及回归测试,提高测试效率,并且降低测试人工成本。自动化测试是当今测试发展的方向,能够帮助软件开发团队节省测试时间。自动测试通过执行测试脚本来实现测试自动化,单个脚本的执行速度比人工执行快10倍以上,能够为我们节省大量的测试时间。att资源库即包含了至少一个测试用例。

为了便于理解,请参阅表1,表1为att资源库中测试用例集合的内容,具体地:

表1

需要说明的是,表1中的测试用例仅为一个示意,在实际应用中,att资源库可以包含其他的测试用例,此处不做限定。

其次,本发明实施例中,服务器可以直接从att资源库中提取预设测试用例,而att资源库中的测试用例集合也是服务器自动获取的,无需用户手动添加测试用例集合,通过上述方式,可以满足欲望需求的快速迭代,提升自动化测试用例编写的效率,从而增加方案的实用性。

可选地,在上述图2、图2对应的第一个或第二个实施例的基础上,本发明实施例提供的信息发送的方法第三个可选实施例中,根据测试结果生成业务调用关系信息,可以包括:

根据测试结果生成业务调用顺序、业务服务器名称以及业务服务器地址中的至少一项。

本实施例中,业务调用关系信息中可以包括业务调用顺序、业务服务器名称以及业务服务器地址中的至少一项。

为了便于理解,请参阅图3,图3为本发明实施例中业务层之间调用关系的一个实施例示意图,其中,业务调用顺序即为箭头指示的顺序,箭头指向表示被调用的服务器。业务服务器名称即为业务的名字,例如图3中的“dd_dddd_dddd_ddddd”或者“hhh_hhhhh_hhhhhh_hhhhhh”等。业务服务器地址即为服务器的ip地址,例如图3中的“9.999.9.999”。

需要说明的是,此处仅为一个示意,在实际应用中,业务调用关系信息还可以包含其他的信息,此处不做限定。

再次,本发明实施例中,服务器根据测试结果生成业务调用顺序、业务服务器名称以及业务服务器地址中的至少一项。通过上述方式,进一步介绍了业务调用关系信息中的内容,图形化展示业务系统模块之间的调用关系,能够直观地定位到哪个业务模块上出现了问题,从而提升方案的实用性以及应用效率。

可选地,在上述图2以及图2对应的第一个至第三个实施例中任一项的基础上,本发明实施例提供的信息发送的方法第四个可选实施例中,获取待分析日志信息之后,还可以包括:

将待分析日志信息存储于分布式缓存系统memcache以及基于分布式文件存储的数据库mongodb中,其中,memcache用于存储已得到测试结果所对应的待分析日志信息,mongodb用于存储待采用预设测试用例进行测试的待分析日志信息。

本实施例中,在服务器获取待分析日志信息之后,还可以进一步将待分析日志信息存储在分布式的高速缓存系统(memcache)中,同时,还需将待分析日志信息存储在基于分布式文件存储的数据库(mongodb)中。

具体地,请参阅图6,图6为本发明实施例中日志信息分析平台的一个架构示意图,如图所示,日志分析平台根据cgiapp日志信息和middle日志信息,生成三条数据分析的线程,分别为cgi超文本传输协议(hypertexttransferprotocol,http)线程、middleapp线程以及cgiapp线程。日志分析平台与数据队列进行交互,数据队列用于提供日志信息的中转服务,可以减轻日志分析平台的压力。

数据队列将cgiapp日志信息和middle日志信息发送至memcache和mongodb,不同的是,mongodb用于存储测试用例测试后的结果,也就是业务调用关系信息主要是从mongodb中调用的。而memcache主要用于为进行用例测试提供相应的日志信息。

memcache的工作流程如下,先检查客户端的请求数据是否在memcache中,如果存在,则可以直接把返回请求数据,不再对数据库进行任何操作,反之,如果请求的数据不在memcache中,则需要进一步就去查数据库,然后把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcache中(memcache不由客户端负责,需要程序明确实现)。每次更新数据库的同时更新memcache中的数据,保证一致性。当分配给memcache的内存空间用完之后,会使用近期最少使用算法(leastrecentlyused,lru)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。

memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

mongodb是一个基于分布式文件存储的数据库,由c++语言编写,旨在为网页应用提供可扩展的高性能数据存储解决方案。

mongodb是一个介于关系数据库和非关系数据库之间的产品。它支持的数据结构非常松散,是类似javascript对象标记语言(javascriptobjectnotation,json)的二进制形式的存储格式(binaryserializeddocumentformat,),因此可以存储比较复杂的数据类型。mongodb最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

其次,本发明实施例中,服务器获取待分析日志信息之后,服务器将待分析日志信息存储于memcache以及mongodb中,其中,memcache用于存储已得到测试结果所对应的待分析日志信息,mongodb用于存储待采用预设测试用例进行测试的待分析日志信息。通过上述方式,采用memcache作为中间件,可以减少磁盘的输入和输出,用于提升方案的运行速度。采用mongodb可以提供良好的查询性能,并且无需安装,即具有高性能、易部署以及易使用的特性,存储数据非常方便。

可选地,在上述图2以及图2对应的第一个至第四个实施例中任一项的基础上,本发明实施例提供的信息发送的方法第五个可选实施例中,向客户端发送业务调用关系信息,可以包括:

在预置时间内向客户端发送业务调用关系信息,以使客户端展示业务调用关系信息。

本实施例中,服务器还可以在预置时间内向客户端发送业务调用关系信息,客户端侧将业务调用关系信息进行渲染后展示给用户。

具体地,比服务器可以每天定时以邮件的方式通知用户业务调用关系信息,业务调用关系信息包含接口变更情况等,以便用户及时获取到相关信息,并进行相应的操作。

可以理解的是,预置时间通常为一个固定时间,也可以是一个固定时间段,例如每天早上8点,或者每天下午4点等,也可以是周期性的通知,例如每隔12小时通知服务器进行通知,此处不做限定。

需要说明的是,用于接收业务调用关系信息的客户端具体可以是邮件客户端,或者即时通信类客户端,例如“微信”或者“qq”等,还可以通过短信或者电话等进行通知,此处不做限定。

其次,本发明实施例中,服务器可以在预置时间内向客户端发送业务调用关系信息,以使客户端展示业务调用关系信息。通过上述方式,服务器可以自动通知用户业务调用关系信息,便于用户更加实时地了解接口更变情况,并且通过业务调用关系信息也能更快更准确地定位出哪个模块出现问题,以此提升方案的应用便捷性。

为便于理解,下面可以以一个具体应用场景对在自动化测试平台进行设置的过程进行描述,请参阅图7,图7为本发明应用场景中日志信息分析后台的一个界面示意图,具体为:

在用户导入平台上保存的资源后,可以相应地选择请求包类型,即文件的格式。然后填写cgi名称,并且选择cgi分类。

完成后,需要进一步地选择填写cgi测试负责人、cgi开发负责人、cgi运维负责人以及cgi产品负责人。在归属类型中选择所属项目即可,比如在本实施例中选择了“财付通”。cgi描述是由用户填写的,用于了解cgi的内容。请求包则是自动截获的一段代码,用于进行用例测试和分析。

下面对本发明中的服务器进行详细描述,请参阅图8,图8为本发明实施例中服务器一个实施例示意图,服务器20包括:

第一获取模块201,用于获取待分析日志信息;

测试模块202,用于采用预设测试用例对所述第一获取模块201获取的所述待分析日志信息进行测试,以得到测试结果;

生成模块203,用于若所述测试模块202得到的所述测试结果满足预设告警条件,则根据所述测试结果生成业务调用关系信息,其中,所述业务调用关系信息用于表示业务层之间的调用关系;

发送模块204,用于向客户端发送所述生成模块203生成的所述业务调用关系信息。

本实施例中,第一获取模块201获取待分析日志信息,测试模块202采用预设测试用例对所述第一获取模块201获取的所述待分析日志信息进行测试,以得到测试结果,若所述测试模块202得到的所述测试结果满足预设告警条件,则生成模块203根据所述测试结果生成业务调用关系信息,其中,所述业务调用关系信息用于表示业务层之间的调用关系,发送模块204向客户端发送所述生成模块203生成的所述业务调用关系信息。

本发明实施例中,提供了一种服务器,首先由该服务器获取待分析日志信息,然后服务器采用预设测试用例对待分析日志信息进行测试,以得到测试结果,若测试结果满足预设告警条件,则服务器再根据测试结果生成业务调用关系信息,其中,业务调用关系信息用于表示业务层之间的调用关系,向客户端发送业务调用关系信息。通过上述方式,在服务器检测到满足预设告警条件的测试结果之后,可以根据测试结果生成并展示业务调用关系信息,而业务调用关系信息能够直接表示各个业务层之间的调用关系,无需花费较多的时间和精力来获取业务层之间的调用关系,从而提升定位异常问题的效率。

可选地,在上述图8所对应的实施例的基础上,请参阅图9,本发明实施例提供的服务器20的另一实施例中,

所述第一获取模块201包括:

获取单元2011,用于通过分布式消息系统kafka获取所述待分析日志信息,其中,所述待分析日志信息为日志收集系统flume所采集的。

其次,本发明实施例中,服务器通过kafka获取待分析日志信息,其中,待分析日志信息为flume所采集的。通过上述方式,采用kafka以及flume获取待分析日志信息具有以下优点,首先flume与传统的日志收集系统相比,具有更好的实时性,能够实时监控日志文件的变更,秒级日志信息传输到日志信息分析平台,其次,flume无需安装,启动脚本即可使用,后期基本不需要维护,并且是基于正则表达式的初级日志信息过来,配置简单,从而节省运维成本,进一步地,flume可以自定义第三方java包扩展,上传日志信息时定制额外携带的信息,例如服务名等,从而提升方案的灵活性。采用kafka能够减轻日志信息分析平台的压力,以此提升服务器工作的稳定性。

可选地,在上述图8所对应的实施例的基础上,请参阅图10,本发明实施例提供的服务器20的另一实施例中,所述服务器20还包括:

第二获取模块205,用于在所述测试模块202采用预设测试用例对所述待分析日志信息进行测试之前,获取测试用例集合;

录入模块206,用于将所述第二获取模块205获取的所述测试用例集合录入至自动化测试工具att资源库中,其中,所述att资源库用于存储所述预设测试用例;

提取模块207,用于从所述录入模块206录入的所述att资源库中提取所述预设测试用例。

其次,本发明实施例中,服务器可以直接从att资源库中提取预设测试用例,而att资源库中的测试用例集合也是服务器自动获取的,无需用户手动添加测试用例集合,通过上述方式,可以满足欲望需求的快速迭代,提升自动化测试用例编写的效率,从而增加方案的实用性。

可选地,在上述图8、图9或图10所对应的实施例的基础上,请参阅图11,本发明实施例提供的服务器20的另一实施例中,所述服务器20还包括:

所述生成模块203包括:

生成单元2031,用于根据所述测试结果生成业务调用顺序、业务服务器名称以及业务服务器地址中的至少一项。

再次,本发明实施例中,服务器根据测试结果生成业务调用顺序、业务服务器名称以及业务服务器地址中的至少一项。通过上述方式,进一步介绍了业务调用关系信息中的内容,图形化展示业务系统模块之间的调用关系,能够直观地定位到哪个业务模块上出现了问题,从而提升方案的实用性以及应用效率。

可选地,在上述图8所对应的实施例的基础上,请参阅图12,本发明实施例提供的服务器20的另一实施例中,

所述服务器20还包括:

存储模块208,用于所述第一获取模块201获取待分析日志信息之后,将所述待分析日志信息存储于分布式缓存系统memcache以及基于分布式文件存储的数据库mongodb中,其中,所述memcache用于存储已得到所述测试结果所对应的所述待分析日志信息,所述mongodb用于存储待采用所述预设测试用例进行测试的所述待分析日志信息。

其次,本发明实施例中,服务器获取待分析日志信息之后,服务器将待分析日志信息存储于memcache以及mongodb中,其中,memcache用于存储已得到测试结果所对应的待分析日志信息,mongodb用于存储待采用预设测试用例进行测试的待分析日志信息。通过上述方式,采用memcache作为中间件,可以减少磁盘的输入和输出,用于提升方案的运行速度。采用mongodb可以提供良好的查询性能,并且无需安装,即具有高性能、易部署以及易使用的特性,存储数据非常方便。

可选地,在上述图8所对应的实施例的基础上,请参阅图13,本发明实施例提供的服务器20的另一实施例中,

所述发送模块204包括:

发送单元2041,用于在预置时间内向所述客户端发送所述业务调用关系信息,以使所述客户端展示所述业务调用关系信息。

其次,本发明实施例中,服务器可以在预置时间内向客户端发送业务调用关系信息,以使客户端展示业务调用关系信息。通过上述方式,服务器可以自动通知用户业务调用关系信息,便于用户更加实时地了解接口更变情况,并且通过业务调用关系信息也能更快更准确地定位出哪个模块出现问题,以此提升方案的应用便捷性。

图14是本发明实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。

服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的步骤可以基于该图14所示的服务器结构。

其中,中央处理器322用于执行如下步骤:

获取待分析日志信息;

采用预设测试用例对所述待分析日志信息进行测试,以得到测试结果;

若所述测试结果满足预设告警条件,则根据所述测试结果生成业务调用关系信息,其中,所述业务调用关系信息用于表示业务层之间的调用关系;

向客户端发送所述业务调用关系信息。

可选地,中央处理器322具体用于执行如下步骤:

通过分布式消息系统kafka获取所述待分析日志信息,其中,所述待分析日志信息为日志收集系统flume所采集的。

可选地,中央处理器322还用于执行如下步骤:

获取测试用例集合;

将所述测试用例集合录入至自动化测试工具att资源库中,其中,所述att资源库用于存储所述预设测试用例;

从所述att资源库中提取所述预设测试用例。

可选地,中央处理器322具体用于执行如下步骤:

根据所述测试结果生成业务调用顺序、业务服务器名称以及业务服务器地址中的至少一项。

可选地,中央处理器322还用于执行如下步骤:

将所述待分析日志信息存储于分布式缓存系统memcache以及基于分布式文件存储的数据库mongodb中,其中,所述memcache用于存储已得到所述测试结果所对应的所述待分析日志信息,所述mongodb用于存储待采用所述预设测试用例进行测试的所述待分析日志信息。

可选地,中央处理器322具体用于执行如下步骤:

在预置时间内向所述客户端发送所述业务调用关系信息,以使所述客户端展示所述业务调用关系信息。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1