技术领域
[0001] 本公开涉及大数据技术领域,尤其涉及一种软件性能数据获取方法及装置、设备及存储介质。
相关背景技术
[0002] 目前,在大数据、人工智能、云计算等主流新型技术的背景下,在生产业务不断进行的过程中,政企时刻需要保障应用软件的高效管控和平稳运行,精准定位故障信息,实时保证设备网络安全,防止出现网络攻击等,为了响应科技技术要求,需要无障碍获取应用软件性能数据。
[0003] 然而,随着政企的业务快速膨胀,为了保证各个业务的平稳正常运行,通常会建立不同云网络和隔离策略,使各个业务互不干扰,延长了业务平稳运行的时间,相反这样的网络隔离给运维带来了众多弊端,智能运维系统不能自动或快速获得边缘的软件性能数据,同时各个边缘网络结构也有层级,无法应对各种复杂场景,对运维的工作带来了众多困难。
具体实施方式
[0052] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0053] 参见图1,本公开的实施例提供了一种软件性能数据获取方法,应用于软件性能度量中心,所述方法包括:
[0054] S1,为目标服务器提供客户端连接组件部署包;
[0055] S2,在目标服务器中部署客户端连接组件之后,接收到来自客户端连接组件的连接请求,对所述连接请求进行校验,并向目标服务器发送校验成功信息;
[0056] S3,接收目标服务器响应于校验成功信息发起的建立通道请求,映射出与目标服务器对应的虚拟代理地址,以通过虚拟代理地址与客户端连接组件的数据交互实现与目标服务器之间的通信;
[0057] S4,向目标服务器发送软件性能数据获取请求,接收返回的软件性能数据,存储所述软件性能数据,其中,软件性能数据包括已关联的指标数据、日志数据和链路数据。
[0058] 在本实施例,步骤S4中,所述已关联的指标数据、日志数据和链路数据通过以下步骤得到:
[0059] 将日志数据转换成标准日志数据;
[0060] 对指定数据进行数据处理,剔除为空和无效的数据;
[0061] 按照时间戳,将剔除后的指标数据、标准日志数据和链路数据进行关联,得到已关联的指标数据、日志数据和链路数据。
[0062] 在本实施例,步骤S4中,所述软件性能度量中心包括网格服务端,所述目标服务器包括网格客户端和目标服务器,向目标服务器发送软件性能数据获取请求,包括:
[0063] 网格服务端将软件性能数据获取请求发送至目标服务器的网格客户端;
[0064] 网格客户端接收软件性能数据获取请求,调用数据上报服务,从本地用于存储软件性能数据的数据库中抽取与所述软件性能数据获取请求对应的数据,传输至网格服务端。
[0065] 在本实施例,步骤S4中,所述存储所述软件性能数据,包括:
[0066] 将所述软件性能数据按照不同的格式全量存储至不同类型的数据库中;
[0067] 对各数据库的存储情况进行实时监控和采集,采集获取迁移瓶颈状态数据信息,并实时检测缓存调节态势数据信息;
[0068] 将迁移瓶颈状态数据信息和缓存调节态势数据信息进行数据清洗和特征提取,并依据无量纲处理技术将处理后的数据信息进行标准化处理;
[0069] 将数据清洗后的迁移瓶颈状态数据信息进行综合分析学习,以获取瓶颈因子,并结合数据迁移时出现的中断次数,汇总生成迁移状态系数;
[0070] 通过特征提取后的缓存调节态势数据信息,获取块大小和缓存命中率,并将所述块大小与所述缓存命中率相关联,获取缓存调控系数,将所述缓存调控系数与所述迁移状态系数进行综合分析,并结合神经网络模型后训练生成软件存储性能预测模型,并经过无量纲处理后,以获取性能态势评估指数;
[0071] 将预先设置的评估阈值与所述性能态势评估指数进行对比分析,获取预测结果,针对预测结果获取相应的等级提升策略。
[0072] 在本实施例中,所述性能态势评估指数通过以下公式获取:
[0073]
[0074] 其中,TSzs表示性能态势评估指数,Ttlz表示为吞吐量,F1、F2和F3分别表示为缓存调控系数Tkxs、迁移状态系数Pyxs和吞吐量Ttlz的比例系数,其中,0.10≤F1≤0.22,0.15≤F2≤0.36,0.20≤F3≤0.42,且0.55≤F1+F2+F3≤1.0,C表示为第一修正常数。
[0075] 在本实施例中,所述迁移状态系数通过以下公式获取:
[0076]
[0077] 其中,Pyxs表示为迁移状态系数,Ysjz表示为已迁移数据量,α和β均表示为比例系数,M1表示为第三修正常数。
[0078] 在本实施例中,所述缓存调控系数通过以下公式获取:
[0079]
[0080] 其中,Tkxs表示为缓存调控系数,RLz表示为缓存容量,Kds表示为块大小,Hcmz表示为缓存命中率,a1和a2均表示为比例系数,M2表示为第四修正常数。
[0081] 参见图2,将边缘网格的代理服务器作为目标服务器,多个边缘网格的数据采集可以采集多个私有云或内网的软件性能数据,并且通过管道服务的形式将数据上报至软件性能度量中心,各个网格可以搭建自己的数据上报体系,逐层上报到软件性能度量中心端,实现数据采集条理有序,高度解耦,具体过程如下:
[0082] 多个边缘网格的数据采集依赖各个边缘网格的网格客户端和软件性能度量中心的网格服务端,其中,网格客户端可以部署在边缘网格中的代理服务器上。当网格客户端启动后,主动连接网格服务端,并且建立一个长连接管道,负责网络之间的通信,当该通道因为异常原因断开后,就会进行重试连接;长连接管道建立完毕后,网格服务端就会创建一个监听服务,该监听服务用于实时获取软件性能度量中心对多个边缘网格的软件性能数据的采集请求;当网格服务端监听到数据采集请求后,网格服务端将请求发送至网格客户端,网格客户端接收到请求后,将数据上报到网格服务端,也就是软件性能度量中心,实现软件性能数据的汇聚。
[0083] 本公开基于多云网络技术和自研管道技术,能够采集不同边缘网格的软件数据,不同边缘网格的软件性能数据,搭建多层级的数据上报和采集通道,做到精准、统一、高效的数据采集流程,能够解决现有技术中遇到复杂环境通过对指定数据单独开发后形成接口,将接口对接到软件性能度量中心端,从而导致在数据采集阶段不能通过自动化的形式逐层上报数据,数据上报的网络之间存在断层,需要大量定制开发工作的问题,其中,复杂环境是指软件性能度量中心与各边缘网格之间的网络不同,不同边缘网格之间的网格也不同的情况,实现软件运维跨网,跨区域,跨空间的架构体系,为软件性能监控和运维带来可扩展性和基础支撑。
[0084] 参见图2,可以在各个边缘网格的代理服务器进行数据的汇聚、治理、过滤和优先上报设置,当一个边缘网格的服务器结构和数据采集量特别大时,需要提前将边缘网格内的脏数据进行治理。各个边缘网格的代理服务器除了部署网格服务器用于与软件性能度量中心通信外,还可以作为边缘网格的数据中心,通过可视化页面查询数据,并且可对数据进行过滤策略和上报优先级策略的设置,防止因为数据量激增导致数据上报通道阻塞,不能及时发现问题和报警,给业务的正常运行带来问题,避免了现有技术中不能将采集的数据进行部分汇聚,并且通过大数据技术治理后上报给智能软件性能度量中心端,可能会存储在大量的垃圾数据,给运维人员处理问题带来了极大的障碍的问题,以及由于不可以通过数据的重要性设置同步优先级和同步时间间隔等,不能形成有效差异化监控,因数据量激增导致关键监控数据不能及时获取的问题。
[0085] 本公开的边缘网格,基于大数据技术,融合了数据治理、数据过滤和数据上报等多个环节,对软件性能数据分级别上报和治理,做到数据有差异、合理化、有效化监控。
[0086] 参见图2,各个边缘网格的指定数据通过数据汇聚,统一上报到边缘网格的代理服务器,然后该代理端将数据进行全量存储,并且通过数据治理和过滤,将有效的数据汇聚到软件性能度量中心端,软件性能度量中心端存储该数据,并且通过数据的有效性和时间性进行冷热存储,基于大数据的双向存储,不仅可以提供冷热的存储模式,也提供软件性能度量中心与边缘的数据存储模式,实现数据双重保障。
[0087] 本公开在软件性能数据上报后,在软件性能度量中心端存储数据,同时边缘网格端进行备份,并对数据冷热处理,能够避免现有技术中指定数据仅存储在软件性能度量中心端,导致的数据丢失风险问题,以及数据集中存储,容易占用大量的存储资源,并且不能分模块访问不同边缘网格的指定数据的问题。
[0088] 参见图3,提供指标、日志和链路三维度的数据聚合分析度量方法,首先,将三种软件性能数据进行聚合和分类,其次,将各个维度的数据进行分析和可视化展示,然后设置单独告警或联合告警策略,不仅通过单纯的指标数据进行报警,联合日志和链路数据,可精准定位出所有问题根因,提高运维效率,能够解决现有技术中对采集的指定数据进行告警策略的设置,然后报警,仅对现有软件的异常情况进行关注,关注的数据类型比较单一,不能完全覆盖所有指定数据类型,仅仅提供单一的指标、日志或链路数据,对一段时间的数据聚合或离散分析,做不到全栈、全角度的周期性监控,也不能对软件的性能和运行情况进行综合性分析及度量的问题。
[0089] 本公开基于三维监控数据的度量,提供全栈三维一体的软件性能度量和态势分析,对软件监控数据进行聚合和离散分析,有效运维软件的全生命周期,快速定位问题,发现性能缺陷,及时调整软件性能参数。
[0090] 参见图4,边缘网格中应用软件A与软件性能度量中心之间的交互流程如下:
[0091] 第一步,边缘网格数据采集:
[0092] 首先,在边缘网格的被监控设备上部署探针,用于采集边缘网格中服务器上软件或应用的指标、日志和链路数据,以应用A为例,采集应用A当日的日志数据,部署对应的探针到相应日志目录中获取数据;
[0093] 将采集的数据汇聚到边缘网格的代理服务器端,通过数据上报服务,将采集的应用A当日的日志数据推送给代理服务器;
[0094] 代理服务器将采集的数据按照不同的格式全量存储到不同类型的数据库中;
[0095] 数据入库后,可以对数据进行治理、过滤和上报规则设置,以应用A当日的日志为例,数据入库后,可以针对日志数据进行关键字过滤、空数据去重以及该数据上报优先级设置。
[0096] 第二步,基于多网格的数据采集方法:
[0097] 该数据采集不仅是在边缘网格的网络内,可采集不同网络隔离的被监控设备和软件软件性能数据,并且各个网格的数据采集和上报可自定义,从而达到跨网络,跨设备,跨区域的数据采集效果:
[0098] 软件性能度量中心端发出要采集应用A当日日志的请求,将该请求消息转发给网格服务端;
[0099] 网格服务端与网格客户端时刻保持通道的连通,网格服务端通过该技术将请求的消息发给应用A对应网格客户端;
[0100] 网格客户端收到要采集应用A当日日志的需求后,调用数据上报服务,根据传参的不同和数据治理、过滤等策略,抽取对应的日志数据,然后经过通道传输到软件性能度量中心端。
[0101] 第三步,数据存储和软件性能度量:
[0102] 软件性能度量中心端收到应用A的日志数据后,将该数据存储到热数据库中,用于及时调用,然后根据冷热存储策略,将其转入冷数据库中;
[0103] 数据库中将存储应用A大量的和持续性的指标、日志和链路数据,通过三维性能度量方法,将数据进行算法分析和展示;
[0104] 经过三维性能度量方法,根据分析出的数据和设置的告警策略进行比对,产生软件故障或性能告警,并且提供对应的决策数据,帮助定位问题,或者通过告警进行绑定,设置自动化处置命令和脚本,进行自动化故障处理;也可以将故障和告警以工单和通知的方式分配给相关人员进行线下处理。
[0105] 在本实施例中,根据所述指定数据确定应用软件A性能,包括:
[0106] 从所述指定数据对应的数据源定时抽取应用A最新的指定数据,其中,指定数据包括指标数据、日志数据和链路数据;
[0107] 将日志数据转换成标准日志数据;
[0108] 设置监控模型,定义待度量的指标数据、标准日志数据和链路数据范围;
[0109] 将指定数据进行数据处理,剔除为空和无效的数据;
[0110] 将指标数据、标准日志数据和链路数据进行度量性关联,用于发生告警后进行三维度量;
[0111] 可视化展示实时三维监控数据,并设置报警策略,在出现告警的情况下,根据关联的三维数据进行计算,若关联的数据全部出现异常,判断该告警为严重风险,在没有出现告警的情况下,三维数据计算模型根据定时任务,实时对比分析某个时间段内的监控性能数据,并出具性能监控报告,用于性能优化。
[0112] 本公开通过通信通道打破了原有由于网络隔离造成数据难采集、运维监控无法扩展,使得多网格的软件运维不能统一汇聚到一个平台,或者需要大量的人工调整才能提供监控数据的问题,大大提升了运维数据采集的便利性,通过大数据治理解决了数据无序上报和全量上报的问题,在边缘端经过数据处理后有效上报数据,能够防止因为数据激增或网络抖动造成监控延迟,影响业务系统正常运行,通过三维度软件性能度量技术解决了软件性能参数不充分,软件监控效果不明显和异常问题溯源时间长的问题,从三个角度综合分析软件的健康程度和问题根因,完善了了因为数据少和分析不全面造成的告警抖动问题,同时也将一些因为问题根因深度而不能发现的问题进行了可视化展示,通过数据分级存储,保障数据安全,防止中心端因数据丢失造成软件运维停滞,并对数据进行冷热处理,提升数据利用率。
[0113] 本公开借助大数据技术和多网格互通技术可提供统一的数据采集、存储、治理、监控、报警、处置、分析和展示等,打破原有的运维孤岛,建立标准的运维规范和体系,完成软件性能数据整合和能力提升,依靠以智慧运维为核心的多场景运维适配,维持业务和运维工作的稳定高效运行,并通过监控数据分级管理,提供了从下到上的标准治理流程,以数据驱动的运维体系架构,提升了设备监测数据传输的安全性,降低了网络带宽资源的占用,降低了使用成本,开创运维数字化和数智化转型之路。
[0114] 参见图5,本公开的实施例提供了一种软件性能数据获取装置,所述装置包括:
[0115] 提供模块11,用于为目标服务器提供客户端连接组件部署包;
[0116] 校验模块12,用于在目标服务器中部署客户端连接组件之后,接收到来自客户端连接组件的连接请求,对所述连接请求进行校验,并向目标服务器发送校验成功信息;
[0117] 映射模块13,用于接收目标服务器响应于校验成功信息发起的建立通道请求,映射出与目标服务器对应的虚拟代理地址,以通过虚拟代理地址与客户端连接组件的数据交互实现与目标服务器之间的通信;
[0118] 接收模块14,用于向目标服务器发送软件性能数据获取请求,接收返回的软件性能数据,存储所述软件性能数据,其中,软件性能数据包括已关联的指标数据、日志数据和链路数据。
[0119] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0120] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0121] 上述实施例中,提供模块11、校验模块12、映射模块13和接收模块14中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。提供模块11、校验模块12、映射模块13和接收模块14中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,提供模块11、校验模块12、映射模块13和接收模块14中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0122] 参照图6所示,本发明的实施例提供的电子设备,包括处理器1110、通信接口1120、存储器1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信;
[0123] 存储器1130,用于存放计算机程序;
[0124] 处理器1110,用于执行存储器1130上所存放的程序时,实现如下所示软件性能数据获取方法:
[0125] 为目标服务器提供客户端连接组件部署包;
[0126] 在目标服务器中部署客户端连接组件之后,接收到来自客户端连接组件的连接请求,对所述连接请求进行校验,并向目标服务器发送校验成功信息;
[0127] 接收目标服务器响应于校验成功信息发起的建立通道请求,映射出与目标服务器对应的虚拟代理地址,以通过虚拟代理地址与客户端连接组件的数据交互实现与目标服务器之间的通信;
[0128] 向目标服务器发送软件性能数据获取请求,接收返回的软件性能数据,存储所述软件性能数据,其中,软件性能数据包括已关联的指标数据、日志数据和链路数据。
[0129] 上述的通信总线1140可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0130] 通信接口1120用于上述电子设备与其他设备之间的通信。
[0131] 存储器1130可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non‑volatile memory),例如至少一个磁盘存储器。可选的,存储器1130还可以是至少一个位于远离前述处理器1110的存储装置。
[0132] 上述的处理器1110可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0133] 本发明的实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的自动驾驶域控制器导航卫星时钟驯服的方法。
[0134] 该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的自动驾驶域控制器导航卫星时钟驯服的方法。
[0135] 根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0136] 需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0137] 以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。