CN116643946A - 性能数据的收集方法、装置、设备及介质 - Google Patents

性能数据的收集方法、装置、设备及介质 Download PDF

Info

Publication number
CN116643946A
CN116643946A CN202310648682.6A CN202310648682A CN116643946A CN 116643946 A CN116643946 A CN 116643946A CN 202310648682 A CN202310648682 A CN 202310648682A CN 116643946 A CN116643946 A CN 116643946A
Authority
CN
China
Prior art keywords
data
target
windows system
app
target app
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.)
Pending
Application number
CN202310648682.6A
Other languages
English (en)
Inventor
潘杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Mihoyo Tianming Technology Co Ltd
Original Assignee
Shanghai Mihoyo Tianming Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Mihoyo Tianming Technology Co Ltd filed Critical Shanghai Mihoyo Tianming Technology Co Ltd
Priority to CN202310648682.6A priority Critical patent/CN116643946A/zh
Publication of CN116643946A publication Critical patent/CN116643946A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种性能数据的收集方法、装置、设备及介质,其中,所述方法基于SoloX软件实现,所述SoloX软件安装于Windows系统;所述方法包括:获取目标APP在Windows系统中所占用的CPU数据;获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;获取所述目标进程在所述Windows系统中的网络传输数据;根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据,可以至少用以解决相关技术中对性能数据的收集效率较低且人力成本较高的技术问题。

Description

性能数据的收集方法、装置、设备及介质
技术领域
本申请涉及通信技术领域,尤其涉及一种性能数据的收集方法、装置、设备及介质。
背景技术
应用程序,英文全称Application,简称APP,指为完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。应用程序的种类繁多,一般包括社交APP、游戏APP、资讯APP等。其中,游戏APP又包括云游戏APP,云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力即可,具有“低资源占用,高画质表现”的产品特性。而云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备,而提供资源的网络被称为“云”。
在相关技术中的很多场景下,需要收集某些APP的不同版本在系统中的资源占用情况的性能数据。比如,可以根据每个迭代版本收集云游戏APP在系统中的性能数据,进而评估跟随迭代版本变化的云游戏APP在系统上的性能数据的变化表现。
然而,发明人发现相关技术中至少存在如下技术问题:目前对于收集APP在单台机器的Windows系统中的性能数据,需要人为操作,收集效率较低且人力成本较高。
发明内容
本申请的一个目的是提供一种性能数据的收集方法、装置、设备及介质,至少用以解决已有的开源工具无法直接收集APP在单台机器的Windows系统中的性能数据而导致的需要人为操作,收集效率较低且人力成本较高的技术问题。
为实现上述目的,本申请的一些实施例提供了一种性能数据的收集方法,所述方法基于SoloX软件实现,所述SoloX软件安装于Windows系统;所述方法包括:获取目标APP在Windows系统中所占用的CPU数据;获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;获取所述目标进程在所述Windows系统中的网络传输数据;根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据。
可选地,所述根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据包括:根据所述CPU数据、所述内存数据和所述网络传输数据生成分析报告,并通过所述分析报告展示所述目标APP在所述Windows系统中的目标性能数据。通过自动对所述CPU数据、所述内存数据和所述网络传输数据进行分析,并展示得到的分析报告,可以减轻人工分析的作业负担,从而进一步节约人力成本。
可选地,所述获取目标APP在Windows系统中所占用的CPU数据包括:通过调用所述Windows系统的目标API接口,获取所述CPU数据;所述获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据包括:通过Python的psutil库中的第一目标函数,获取所述内存数据;所述获取所述目标进程在所述Windows系统中的网络传输数据包括:通过所述Python的psutil库中的第二目标函数,获取所述网络传输数据。这里,通过提供了获取所述CPU数据、所述内存数据和所述网络传输数据的一种具体的实现方式,有利于使得本申请提供的技术方案得以灵活多变的实现。
可选地,所述方法还包括:在接收到指令信息后,将所述指令信息分发至预设不同的Windows系统;所述指令信息包括对应于所述目标APP的模拟操作信息;在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作;在所述自动化模拟单元执行预设模拟操作的过程中,执行所述获取目标APP在Windows系统中所占用的CPU数据;获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;获取所述目标进程在所述Windows系统中的网络传输数据;根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据的步骤。这样,支持收集多台机型的Windows系统中的性能数据,在整个过程中,由于相关工作人员只需要完成本地指令信息的发送即可,无需人为在各个Windows系统对应的终端设备上使用鼠标等执行一系列操作,而是对所述目标APP执行预设模拟操作,因此减少了人工参与的过程,减少了人力成本的投入;由于在等待若干时间后,比如数分钟后,即可获取到多台终端设备机型的Windows系统中的目标APP的性能数据,因此可以显著提升性能数据的收集效率。
可选地,具体通过Jenkins分布式节点管理单元,执行所述在接收到指令信息后,将所述指令信息分发至预设不同的Windows系统的步骤。通过巧妙地利用开源的Jenkins分布式节点管理单元将所述指令信息分发至预设不同的Windows系统,无需相关研发人员再另外编写代码实现相关功能,从而可以减轻研发人员的作业负担。
可选地,所述在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作包括:在所述不同的Windows系统中,根据所述模拟操作信息包括的目标元素,在所述目标APP提供的前端页面中进行图像匹配,得到匹配结果;根据所述匹配结果对所述目标APP执行预设模拟操作。这里,通过提供了在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作的一种具体的实现方式,有利于使得本申请提供的技术方案得以灵活多变的实现。
可选地,在所述得到所述目标APP在所述Windows系统中的目标性能数据之后,所述方法还包括:将所述目标APP在所述Windows系统中的目标性能数据上传至目标云盘。这样,方便相关工作人员根据目标云盘查找目标性能数据,并便于后续将报告进行下载等操作。
本申请的一些实施例还提供了一种性能数据的收集装置,所述装置包括第一数据收集模块、第二数据收集模块、第三数据收集模块和数据分析模块,所述第一数据收集模块、所述第二数据收集模块、所述第三数据收集模块和所述数据分析模块均集成于SoloX软件,所述SoloX软件安装于Windows系统;所述第一数据收集模块,用于获取目标APP在所述Windows系统中所占用的CPU数据;所述第二数据收集模块,用于获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;所述第三数据收集模块,用于获取所述目标进程在所述Windows系统中的网络传输数据;所述数据分析模块,用于根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据。
本申请的一些实施例还提供了一种计算机设备,所述设备包括:一个或多个处理器;以及存储有计算机程序指令的存储器,所述计算机程序指令在被执行时使所述处理器执行如上所述的方法。
本申请的一些实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如上所述的方法。
相较于现有技术,本申请实施例提供的方案至少有如下有益效果:
可以通过性能数据的收集软件,巧妙地利用业内开源工具SoloX,补齐了SoloX基于Windows上APP的性能数据收集能力,可以在Windows系统的任意版本上收集任意应用的性能数据,解决了Windows系统版本上的性能数据收集难题,由于不需要人为操作,因此提高而来性能数据的收集效率,降低了人力成本。
附图说明
图1为本申请实施例一提供的一种性能数据的收集方法的示例性流程图;
图2为本申请实施例二提供的一种性能数据的收集软件中分析报告的示例性示意图;
图3为本申请实施例四提供的一种性能数据的收集方法的示例性流程图;
图4为本申请实施例五提供的一种性能数据的收集方法的示例性流程示意图;
图5为本申请实施例五提供的一种Jenkins分布式节点管理单元的示例性示意图;
图6为本申请实施例八提供的一种计算机设备的示例性结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中使用以下术语。
WMI,英文全称Windows Management Instrumentation,一种系统插件。
UI自动化,一种以代码方式替代人工执行实现自动操作和验证的手段。
SoloX,一种已开源的客户端性能收集工具。
Consumer,针对客户端性能数据收集而定制实现的一种消费者代码,可监听云网盘上的文件更新从而将文件下载到本地并进行自动化数据解析汇总。
Jenkins,一种开源的Pipline工具,支持分布式节点管理。支持Master节点对Slave节点的任务分发和作业构建。
ECS,英文全称Elastic Compute Service,是一种云服务器。可以提供简单高效、安全可靠、处理能力可弹性伸缩的计算服务。
Webhook,是微服务API的使用范式之一,也被称为反向API,即前端不主动发送请求,完全由后端推送。
实施例一
本申请实施例一提供了一种性能数据的收集方法,所述方法基于SoloX软件实现,所述SoloX软件安装于Windows系统;所述方法可以包括如下步骤,如图1所示:
步骤S101,获取目标APP在Windows系统中所占用的CPU数据;
步骤S102,获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;
步骤S103,获取所述目标进程在所述Windows系统中的网络传输数据;
步骤S104,根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据。
首先需要说明的是,所述SoloX软件是指相关技术中已存在的SoloX软件的开源版本。本领域技术人员可以理解,所述SoloX软件仅支持对Android和IOS系统上的APP的性能数据进行收集,换句话说,在相关技术中,所述SoloX软件不支持Windows系统上的APP的性能数据的收集,无法满足对Windows系统上的APP进行性能数据的收集的需求;而在本申请实施例中,所述SoloX软件可以支持于对Windows系统上的APP进行性能数据的收集。
在一些例子中,所述方法可以应用于计算机设备,所述计算机设备可以包括但不限于电脑、Ipad、手机等电子设备,此处不作具体限定。
在一些例子中,所述目标APP可以为但不限于社交APP、资讯app、游戏APP、购物APP、工具APP等等,此处不作具体限定。
其中,所述网络传输数据可以包括所述目标APP对应的目标进程在所述Windows系统中发出的数据和接收到的数据。
在一些例子中,计算机设备可以提供界面供相关工作人员选择所述目标APP。具体地说,可以检测所述Windows系统中应用程序的后缀为.exe的应用程序,并根据所述后缀为.exe的应用程序提供下拉框,从而,相关工作人员可以根据所述下拉框选择所述目标APP。比如,所述下拉框中可以提供的应用程序可以包括:××邮箱、××游戏等等。在相关工作人员选定所述目标APP后,所述SoloX软件即可以对所述目标APP的目标进程进行监控。其中,所述相关工作人员可以为质量保障部门的相关工作人员。
其中,在一些例子中,所述相关工作人员还可以发出对所述目标APP进行性能数据的采集时间进行限定的指示信息;比如,在相关工作人员根据所述下拉框选择所述目标APP后,可以对应提供弹窗供相关工作人员发出对所述目标APP进行性能数据的采集时间的限定。比如,采集的时间段为30min(分钟),意味着,在对所述目标APP进行性能数据进行采集的第30min(分钟)为止,自动停止性能数据的采集。当然,在一些其他例子中,也可以不对所述采集时间进行限定,相关工作人员可以根据实际情况随时发出终止指令,从而停止所述性能数据的采集。
进一步地,在一些例子中,当监控到所述目标APP启动时,对应于获取目标APP在Windows系统中所占用的CPU数据的第一数据收集模块、对应于获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据的第二数据收集模块和对应于获取所述目标进程在所述Windows系统中的网络传输数据的第三数据收集模块的接口暴露于所述目标APP的前端服务界面,之后,所述SoloX软件可以对所述第一数据收集模块、所述第二数据收集模块和所述第三数据收集模块进行轮询,从而对应获取所述CPU数据、所述内存数据和所述网络传输数据。其中,进行所述轮询的周期可以为但不限于1s(秒),所述周期表征的时间间隔可以由相关工作人员根据实际需求进行灵活调整设置,此处不作具体限定。
不难发现,与相关技术相比,本申请实施例提供的性能数据的收集方法,针对发明人发现的目前行业内缺乏对于Windows系统的目标App的性能数据的收集功能而提出,巧妙地利用业内开源工具SoloX,补齐了SoloX基于Windows上App的性能数据收集能力,可以在Windows系统的任意版本上收集任意应用的性能数据,解决了Windows系统版本上的性能数据收集难题,由于不需要人为操作,因此提高而来性能数据的收集效率,降低了人力成本。
实施例二
本申请实施例二在实施例一的基础上作了进一步改进,具体改进之处在于:在本申请实施例二中,所述根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据可以包括:
根据所述CPU数据、所述内存数据和所述网络传输数据生成分析报告,并通过所述分析报告展示所述目标APP在所述Windows系统中的目标性能数据。
其中,所述分析报告可供下载,从而存储于目标终端。
作为示例,可以如图2所示,为通过所述分析报告所展示的所述目标性能数据的示意图。在该例子中,所述目标性能数据可以包括在预设时间段内的所述目标APP在所述Windows系统中CPU占用率,所述目标APP对应的目标进程在所述Windows系统中的内存占用率,以及所述目标进程在所述Windows系统中的网络传输数据,所述网络传输数据又进一步包括发出的数据的数据量和接收到的数据的数据量。
不难发现,与相关技术相比,本申请实施例中,可以根据所述CPU数据、所述内存数据和所述网络传输数据生成分析报告,从而得到所述目标性能数据并展示,可以减轻人工分析的作业负担,从而进一步节约人力成本。
实施例三
本申请实施例三是在实施例一的基础上作了进一步改进,具体改进之处在于:在本申请实施例三中,分别提供了获取目标APP在Windows系统中所占用的CPU数据、获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据和获取所述目标进程在所述Windows系统中的网络传输数据的一种具体的实现方式。
具体地说,在一些例子中,所述获取目标APP在Windows系统中所占用的CPU数据可以包括:通过调用所述Windows系统的目标API接口,获取所述CPU数据。比如,具体可以调用Windows系统底层API接口WMI中的Win32_PerfRawData_PerfProc_Process能力来获取所述目标APP在所述Windows系统中所占用的CPU数据。
具体地说,在一些例子中,所述获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据可以包括:通过Python的psutil库中的第一目标函数,获取所述内存数据。这里,所述第一目标函数可以为psutil.virtual_memory。也就是说,具体可以通过Python的psutil库中的psutil.virtual_memory,获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据。
具体地说,在一些例子中,所述获取所述目标进程在所述Windows系统中的网络传输数据可以包括:通过所述Python的psutil库中的第二目标函数,获取所述网络传输数据。这里,所述第二目标函数可以为psutil.net_io_counters。也就是说,具体可以通过所述Python的psutil库中的psutil.net_io_counters,获取所述目标进程在所述Windows系统中的网络传输数据。
需要说明的是,本申请实施例也可以是在实施例二的基础上做出的改进。
不难发现,与相关技术相比,本申请实施例中,分别提供了获取目标APP在Windows系统中所占用的CPU数据、获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据和获取所述目标进程在所述Windows系统中的网络传输数据的一种具体的实现方式,有利于使得本申请提供的技术方案得以灵活多变的实现。
实施例四
本申请实施例四是在实施例一的基础上作了进一步改进,具体改进之处在于:在本申请实施例四中,支持收集多台机型的Windows系统中的性能数据。
具体地说,所述方法还可以包括如下步骤,如图3所示:
步骤S201,在接收到指令信息后,将所述指令信息分发至预设不同的Windows系统;所述指令信息包括对应于所述目标APP的模拟操作信息;
步骤S202,在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作;
步骤S203,在所述自动化模拟单元执行预设模拟操作的过程中,执行如实施例一提供的步骤S101至步骤S104。
具体地说,在一些例子中,可以参见图4所示。所述根据所述模拟操作信息对所述目标APP执行预设模拟操作可以通过UI自动化实现。在运行UI自动化实例的流程中,优先自动启动所述SoloX软件,在启动所述SoloX软件之后,所述UI自动化实例的流程继续运行,所述SoloX软件在Windows系统的后台进程中也保持运行状态。这样,在根据所述模拟操作信息对所述目标APP执行预设模拟操作的过程中,所述SoloX软件可以即时获取在所述预设模拟操作的进程下,所述目标APP在所述Windows系统中的目标性能数据。
其中,所述预设模拟操作具体可以通过调用鼠标/键盘灯系统事件实现。比如,所述预设模拟操作可以是对某目标元素进行单击操作。
进一步的,在一些例子中,可以调用所述SoloX软件的init接口进行初始化操作,刷新Win32性能计数器缓存,获取进程名称,并根据进程名称获取进程控制符,即PID,如此,可以将WMI的Win32所有对象加载至内存中。之后,在所述UI自动化实例运行时,持续调用所述SoloX软件的getCPU接口、getMem接口、getNet接口,以此来对应获取目标APP在所述Windows系统中所占用的CPU数据、内存数据和网络传输数据。
进一步的,在一些例子中,所述SoloX软件可以调用所述Windows系统底层API接口WMI中的Win32_PerfRawData_PerfProc_Process能力,获取所述CPU数据;可以通过调用Python的psutil库中的psutil.virtual_memory,获取所述内存数据;可以通过调用所述Python的psutil库中的psutil.net_io_counters,获取所述网络传输数据。
进一步地,在一些例子中,通过接口调用,所述SoloX软件可将当前时刻所述目标APP在所述预设不同的Windows系统中的性能数据分别写入至Windows系统本地。
在本申请一些实施例中,在所述得到所述目标APP在所述Windows系统中的目标性能数据之后,所述方法还可以包括:将所述目标APP在所述Windows系统中的目标性能数据上传至目标云盘。
具体地说,在一些例子中,不同的Windows系统上传的目标性能数据对应不同的数据位置。
具体地说,在一些例子中,在将所述目标APP在所述Windows系统中的目标性能数据上传至目标云盘之前,还可以按照预设规则对所述目标性能数据进行统一重命名。这样,方便相关工作人员对所述目标性能数据进行分析、管理。
在本申请一些实施例中,还可以监听所述目标云盘,在所述监听到所述目标云盘存在新上传的目标性能数据时,即时获取所述新上传的目标性能数据。
具体地说,在一些例子中,可以通过消费者Consumer软件监听所述目标云盘,在监听到所述目标云盘存在新日志上传时,可以自动下载日志,比如自动将对应的日志下载至本地和/或ECS云主机上以进行解析,从而生成对应于不同Windows系统的分析报告,并根据所述分析报告绘制图表。在一些其他例子中,也可以在监听到对预设的所有的Windows系统的数据均上传完成后,可以自动将所有的报告统一打包下载至本地和/或ECS云主机。
具体地说,在一些例子中,所述方法还可以包括执行健康监测的操作,比如,当监测到系统存在宕机等风险时,所述SoloX软件可以自动关闭;监测到对应的风险消失时,所述SoloX软件可以自动启动,这样,有利于保障数据的安全性和稳定性,并且可以进一步降低人力进行手动重启的操作从而降低人力成本。
需要说明的是,本申请实施例也可以是在实施例二和/或实施例三的基础上做出的改进。
综上,可以理解,相关技术中,由于同一APP往往被分别安装于不同种类机型的Windows系统,而如果按照单台机器的操作方法,分别由人工去手动在不同种类机型的Windows系统中执行用例来收集这些APP的性能数据,则过程繁琐且会耗费较高的人力成本和时间成本。假设所述目标APP为云游戏APP,所述预设不同的Windows系统对应的数量为100个,也就是说,不同的Windows系统对应100台终端设备,如果采用相关技术提供的方案,就需要相关工作人员分别在100台终端设备上分别玩一下所述云游戏,然后再通过相关工作人员手动执行用例来获取所述云游戏在对于Windows系统中的性能数据。而在本申请实施例提供的方案中,相关工作人员仅需要通过一台终端设备去控制对应的100台终端设备,通过UI自动化可以在对应的100台终端设备模拟用户对所述云游戏的操作,因此不需要相关工作人员分别在100台终端设备上分别玩一下所述云游戏,然后通过该一台终端设备即可以获取到所述云游戏APP分别对应在100个Windows系统中的性能数据。
不难发现,与相关技术相比,本申请实施例提供的性能数据的收集方法,通过将接收到的指令信息分发至预设不同的Windows系统,然后通过在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作,从而,所述SoloX软件可以在预设模拟操作的执行过程中,获取所述目标APP在所述Windows系统中的目标性能数据,在整个过程中,由于相关工作人员只需要完成本地指令信息的发送即可,无需人为在各个Windows系统对应的终端设备上使用鼠标等执行一系列操作,而是通过对所述目标APP执行预设模拟操作进行自动化模拟,因此减少了人工参与的过程,减少了人力成本的投入;由于在等待若干时间后,比如数分钟后,即可获取到多台终端设备机型的Windows系统中的目标APP的性能数据,因此可以提升性能数据的收集效率。
实施例五
本申请实施例五在实施例四的基础上作了进一步改进,具体通过Jenkins分布式节点管理单元,执行所述在接收到指令信息后,将所述指令信息分发至预设不同的Windows系统的步骤,如图5所示。
可以理解,假设所述相关工作人员操作的Windows系统对应的终端设备为主节点,对应图5中的Master节点,所述预设不同的Windows系统为从节点,对应图5中的Slave节点,那么,基于所述Jenkins分布式节点管理单元可以实现主节点对从节点的动态管理。
具体地说,在一些例子中,当相关工作人员在本地环境中提交指令信息对应的代码时(即push代码时),可以通过GitLab监听到所述代码,在所述GitLab监听到所述代码对应的SH脚本后,会发送webhook回调到所述Jenkins分布式节点管理单元。当Jenkins分布式节点管理单元接收到GitLab的Webhook请求后,所述Jenkins分布式节点管理单元会触发一个任务构建的作业。具体地,所述SH脚本被推送到主节点后,所述主节点通过execute和agent节点上进行任务构建,在任务构建完成后,所述主节点将构建完成的结果分发至各个从节点。
进一步地,在一些例子中,构建的所述任务可以基于UI自动化实现,从而,各个节点均可以同步执行所述UI自动化对应的用例。
进一步地,在一些例子中,在各个节点均同步执行所述UI自动化对应的用例后,可以将各个节点对应的所述目标APP在所述Windows系统中的目标性能数据上传至目标云盘,当消费者Consumer软件监听到所述目标云盘存在新日志上传时,可以自动下载日志。
需要说明的是,本申请实施例也可以是在实施例一至实施三中任意一个或多个实施例的基础上做出的改进。
不难发现,与相关技术相比,本申请实施例中,通过巧妙地利用开源的Jenkins分布式节点管理单元,无需相关研发人员再另外编写代码实现相关功能,从而可以减轻研发人员的作业负担。
实施例六
本申请实施例六在实施例四的基础上作了进一步改进,具体改进之处在于:在本申请实施例六中,所述在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作可以进一步包括:
在所述不同的Windows系统中,根据所述模拟操作信息包括的目标元素,在所述目标APP提供的前端页面中进行图像匹配,得到匹配结果;
根据所述匹配结果对所述目标APP执行预设模拟操作。
具体地说,在一些例子中,可以结合图3所示,可以在进行自动化运行过程中获取所述模拟操作信息包括的目标元素,并对所述目标元素进行二值化处理,并根据进行二值化处理后得到的目标元素对所述目标APP提供的前端页面进行OCR识别,获取预期目标元素,以将所述进行二值化处理后得到的目标元素和所述目标APP提供的前端页面中的每一块区域的图像的预期目标元素进行匹配,当匹配结果表征的相似度达到预设阈值时,则所述目标APP执行预设模拟操作;当匹配结果表征的相似度没有达到预设阈值时,可以返回上一步重复执行,重复执行预设次数后,若匹配结果表征的相似度还没有达到预设阈值,则放弃对当前目标元素的匹配,继续对下一目标元素执行匹配操作。如此,可以进一步通过调用鼠标/键盘等事件对所述目标APP执行预设模拟操作,比如点击、下拉、输入等等。直至对所述模拟操作信息包括的所有目标元素均匹配完毕,则意味着全量步骤执行完成。其中,所述预设次数可以为3次,其具体值可以根据实际情况进行调整,此处不作具体限定。
其中,在一些例子中,在所述将所述进行二值化处理后得到的目标元素和所述目标APP提供的前端页面中的每一块区域的图像进行匹配的过程中,可以利用噪点、拟合等方式进行匹配,此处属于现有技术,因此不再赘述。
进一步地,在一些例子中,所述UI自动化模拟单元还可以生成UI报告。其中,所述UI报告可以包括对所述目标元素的匹配结果等相关数据信息,从而方便相关工作人员根据所述UI报告获知对哪些目标元素匹配成功、对哪些目标元素匹配失败,以及如果匹配成功,那么匹配了几次才匹配成功等相关数据信息,从而可以或者对应的预设模拟操作是否完成;还方便相关工作人员对匹配失败的数据进行分析,查找原因,从而有利于提升匹配成功的效率,进而提升整个系统的数据处理效率。
需要说明的是,本申请实施例也可以是在实施例一至实施三、以及实施例五中的任意一个或多个实施例的基础上做出的改进。
不难发现,与相关技术相比,本申请实施例中,通过巧妙地利用开源的UI自动化模拟单元作为所述自动化模拟单元来对所述目标APP执行预设模拟操作,可以进一步减轻研发人员的作业负担。
实施例七
本申请实施例七提供了一种性能数据的收集装置,其特征在于,所述装置包括第一数据收集模块、第二数据收集模块、第三数据收集模块和数据分析模块,所述第一数据收集模块、所述第二数据收集模块、所述第三数据收集模块和所述数据分析模块均集成于SoloX软件,所述SoloX软件安装于Windows系统。
所述第一数据收集模块,用于获取目标APP在所述Windows系统中所占用的CPU数据;
所述第二数据收集模块,用于获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;
所述第三数据收集模块,用于获取所述目标进程在所述Windows系统中的网络传输数据;
所述数据分析模块,用于根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据。
进一步地,在一些例子中,所述装置还可以包括报告生成模块,所述报告生成模块,用于根据所述CPU数据、所述内存数据和所述网络传输数据生成分析报告,并通过所述分析报告展示所述目标性能数据。
进一步地,在一些例子中,所述第一数据收集模块,用于通过调用所述Windows系统的目标API接口,获取所述CPU数据;所述第二数据收集模块,用于通过Python的psutil库中的第一目标函数,获取所述内存数据;所述第三数据收集模块,用于通过所述Python的psutil库中的第二目标函数,获取所述网络传输数据。
进一步地,在一些例子中,所述装置还可以包括设备管理模块和自动化模拟模块;所述设备管理模块,用于在接收到指令信息后,将所述指令信息分发至预设不同的Windows系统;所述指令信息包括对应于所述目标APP的模拟操作信息;所述自动化模拟模块,用于在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作;所述SoloX软件,用于在所述自动化模拟单元执行预设模拟操作的过程中,获取目标APP在Windows系统中所占用的CPU数据;获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;获取所述目标进程在所述Windows系统中的网络传输数据;根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据。
进一步地,在一些例子中,所述设备管理模块具备为Jenkins分布式节点管理单元,用于执行所述在接收到指令信息后,将所述指令信息分发至预设不同的Windows系统的步骤。
进一步地,在一些例子中,所述自动化模拟模块,用于根据所述模拟操作信息包括的目标元素,在所述目标APP提供的前端页面中进行图像匹配,得到匹配结果,并根据所述匹配结果对所述目标APP执行预设模拟操作。
进一步地,在一些例子中,所述装置还可以包括上传模块,所述上传模块用于在所述得到所述目标APP在所述Windows系统中的目标性能数据之后,将所述目标APP在所述Windows系统中的目标性能数据上传至目标云盘。
不难发现,本申请实施例是与实施例一至实施例六中任意一个或多个实施例对应的装置实施例,上述各实施例提供的技术细节均适用于此,为避免重复,此处不再赘述。
实施例八
本申请实施例还提供了一种计算机设备,该设备的结构如图6所示,所述设备包括用于存储计算机可读指令的存储器11和用于执行计算机可读指令的处理器12,其中,当该计算机可读指令被该处理器执行时,触发所述处理器执行所述的虚拟内容的分发方法。
本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被处理单元执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个计算机可读指令,所述计算机可读指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案的步骤。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
此外,本申请实施例还提供了一种计算机程序,所述计算机程序存储于计算机设备,使得计算机设备执行所述控制代码执行的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (10)

1.一种性能数据的收集方法,其特征在于,所述方法基于SoloX软件实现,所述SoloX软件安装于Windows系统;所述方法包括:
获取目标APP在Windows系统中所占用的CPU数据;
获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;
获取所述目标进程在所述Windows系统中的网络传输数据;
根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据包括:
根据所述CPU数据、所述内存数据和所述网络传输数据生成分析报告,并通过所述分析报告展示所述目标APP在所述Windows系统中的目标性能数据。
3.根据权利要求1所述的方法,其特征在于,
所述获取目标APP在Windows系统中所占用的CPU数据包括:通过调用所述Windows系统的目标API接口,获取所述CPU数据;
所述获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据包括:通过Python的psutil库中的第一目标函数,获取所述内存数据;
所述获取所述目标进程在所述Windows系统中的网络传输数据包括:通过所述Python的psutil库中的第二目标函数,获取所述网络传输数据。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,所述方法还包括:
在接收到指令信息后,将所述指令信息分发至预设不同的Windows系统;所述指令信息包括对应于所述目标APP的模拟操作信息;
在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作;
在所述自动化模拟单元执行预设模拟操作的过程中,执行如权利要求1所述的步骤。
5.根据权利要求4所述的方法,其特征在于,具体通过Jenkins分布式节点管理单元,执行所述在接收到指令信息后,将所述指令信息分发至预设不同的Windows系统的步骤。
6.根据权利要求4所述的方法,其特征在于,所述在所述不同的Windows系统中,根据所述模拟操作信息对所述目标APP执行预设模拟操作包括:
在所述不同的Windows系统中,根据所述模拟操作信息包括的目标元素,在所述目标APP提供的前端页面中进行图像匹配,得到匹配结果;
根据所述匹配结果对所述目标APP执行预设模拟操作。
7.根据权利要求1所述的方法,其特征在于,在所述得到所述目标APP在所述Windows系统中的目标性能数据之后,所述方法还包括:
将所述目标APP在所述Windows系统中的目标性能数据上传至目标云盘。
8.一种性能数据的收集装置,其特征在于,所述装置包括第一数据收集模块、第二数据收集模块、第三数据收集模块和数据分析模块,所述第一数据收集模块、所述第二数据收集模块、所述第三数据收集模块和所述数据分析模块均集成于SoloX软件,所述SoloX软件安装于Windows系统;
所述第一数据收集模块,用于获取目标APP在所述Windows系统中所占用的CPU数据;
所述第二数据收集模块,用于获取与所述目标APP对应的目标进程在所述Windows系统中占用的内存数据;
所述第三数据收集模块,用于获取所述目标进程在所述Windows系统中的网络传输数据;
所述数据分析模块,用于根据所述CPU数据、所述内存数据和所述网络传输数据进行数据分析,得到所述目标APP在所述Windows系统中的目标性能数据。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;以及
存储有计算机程序指令的存储器,所述计算机程序指令在被执行时使所述处理器执行如权利要求1至7中任意一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1至7中任意一项所述的方法。
CN202310648682.6A 2023-06-02 2023-06-02 性能数据的收集方法、装置、设备及介质 Pending CN116643946A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310648682.6A CN116643946A (zh) 2023-06-02 2023-06-02 性能数据的收集方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310648682.6A CN116643946A (zh) 2023-06-02 2023-06-02 性能数据的收集方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116643946A true CN116643946A (zh) 2023-08-25

Family

ID=87622754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310648682.6A Pending CN116643946A (zh) 2023-06-02 2023-06-02 性能数据的收集方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116643946A (zh)

Similar Documents

Publication Publication Date Title
CN107341098B (zh) 软件性能测试方法、平台、设备及存储介质
US9584364B2 (en) Reporting performance capabilities of a computer resource service
US9858091B2 (en) Generating customized on-demand videos from automated test scripts
CN115668129A (zh) 流水线工件选择的动态自动化
CN110806958A (zh) 一种监控方法、监控装置、存储介质及电子设备
CN110955640A (zh) 跨系统数据文件的处理方法、装置、服务器和存储介质
CN115268964A (zh) 一种数据回注方法、系统、电子设备及可读存储介质
CN109299124B (zh) 用于更新模型的方法和装置
CN108959102B (zh) 用于生成测试数据、测试待测试应用的方法和装置
CN110716804A (zh) 无用资源的自动删除方法、装置、存储介质及电子设备
CN109873731B (zh) 测试方法、装置和系统
CN111581059A (zh) 一种Spark应用监控方法、系统、设备和存储介质
CN111913861A (zh) 物联网系统的性能测试方法、装置、设备及介质
CN113378346A (zh) 模型仿真的方法和装置
CN111241048A (zh) 一种web终端日志管理方法、装置、介质及电子设备
CN116643946A (zh) 性能数据的收集方法、装置、设备及介质
CN111262727B (zh) 服务的扩容方法、装置、设备及存储介质
CN114661571A (zh) 模型评测方法、装置、电子设备和存储介质
CN114721674A (zh) 一种模型部署方法、装置、设备及存储介质
CN111741046B (zh) 数据上报方法、获取方法、装置、设备及介质
US10169076B2 (en) Distributed batch job promotion within enterprise computing environments
CN112181750A (zh) 工控网络设备的稳定性的测试方法、装置及介质
CN113254325A (zh) 测试用例的处理方法和装置
US20200133826A1 (en) Testing an online system for service oriented architecture (soa) services
CN112799933B (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