降频点检测方法、装置、设备及存储介质与流程

文档序号:32474942发布日期:2022-12-07 08:39阅读:39来源:国知局
降频点检测方法、装置、设备及存储介质与流程

1.本技术实施例涉及互联网技术领域,涉及但不限于一种降频点检测方法、装置、设备及存储介质。


背景技术:

2.随着游戏规模的快速增长与移动端设备性能的持续优化,对游戏的极限性能都提出了更高的要求。目前,通过分析玩家超高帧率模式下的性能数据,发现帧率会出现明显波动,但是无法精准定位到问题原因。因此希望能够在测试中,实现对日常玩家超高帧率模式下的降频性能数据进行监测,从而帮助项目组定位到降频问题的原因。
3.相关技术中,在进行降频问题定位时,通常是根据应用性能监测软件(apm,application performance monitor)的大盘数据获取分析降频点与降频原因,或者,通过人工进行多轮对局进行极限测试,同时采集中央处理器(cpu,central processing unit)降频的相关性能数据进行分析。
4.但是,相关技术中进行降频问题定位的方法,无法准确的检测和分析降频点,且人工进行审核分析的效率较低、误差大,准确率无法满足要求。


技术实现要素:

5.本技术实施例提供一种降频点检测方法、装置、设备及存储介质,至少应用于测试领域和游戏领域,能够自动化完成极限测试,准确的分析出降频点,提高降频点检测的效率。
6.本技术实施例的技术方案是这样实现的:本技术实施例提供一种降频点检测方法,所述方法包括:获取极限测试的配置参数;基于所述配置参数,在待测设备上运行目标应用的特定场景,得到所述极限测试的性能数据;所述性能数据包括多个维度的特征数据;对所述多个维度的特征数据进行数据融合处理,得到融合特征数据集;基于所述融合特征数据集,构建用于表征所述性能数据对应的融合特征的目标函数;以所述目标函数为损失函数,对所述融合特征进行似然估计,得到所述待测设备在运行所述目标应用时的至少一个降频点。
7.本技术实施例提供一种降频点检测装置,所述装置包括:获取模块,用于获取极限测试的配置参数;场景运行模块,用于基于所述配置参数,在待测设备上运行目标应用的特定场景,得到所述极限测试的性能数据;所述性能数据包括多个维度的特征数据;数据融合模块,用于对所述多个维度的特征数据进行数据融合处理,得到融合特征数据集;函数构建模块,用于基于所述融合特征数据集,构建用于表征所述性能数据对应的融合特征的目标函数;降频点确定模块,用于以所述目标函数为损失函数,对所述融合特征进行似然估计,得到所述待测设备在运行所述目标应用时的至少一个降频点。
8.在一些实施例中,所述装置还包括:场景划分模块,用于对所述目标应用进行场景划分,得到所述目标应用对应的至少一个应用场景;功耗分析模块,用于运行所述目标应
用,并在运行所述目标应用的过程中对每一所述应用场景进行功耗分析,对应得到每一所述应用场景的场景功耗;场景确定模块,用于基于每一所述应用场景的场景功耗,从所述至少一个应用场景中确定出所述特定场景。
9.在一些实施例中,所述获取模块还用于:获取极限测试请求;所述极限测试请求包括极限测试消息,所述极限测试消息的消息字段包括以下至少之一:极限测试的场景标识、极限测试的帧率配置、极限测试的对局方数量和极限测试的对局数;解析所述极限测试请求,得到所述极限测试消息的消息字段;将所述极限测试消息的消息字段中的内容,确定为所述极限测试的配置参数。
10.在一些实施例中,所述场景运行模块还用于:确定所述目标应用在所述特定场景下的关键接口函数;采用所述配置参数,调用所述关键接口函数控制自动运行和结束运行所述特定场景;在自动运行和结束运行所述特定场景的过程中,生成所述极限测试的性能数据。
11.在一些实施例中,所述性能数据包括:多次对局的对局性能数据和局外数据;所述装置还包括:对局时间确定模块,用于基于所述配置参数确定每次对局的开局时间和结束对局时间;局外时间段确定模块,用于在每相邻的两次对局中,将前一次对局的结束对局时间与后一次对局的开局时间之间的时间段,确定为局外时间段;局外数据确定模块,用于将在所述局外时间段内生成的性能数据,确定为所述局外数据;数据剔除模块,用于从所述性能数据中,剔除所述局外数据。
12.在一些实施例中,一个维度下的特征数据对应一种类型的子性能数据;所述数据融合模块还用于:基于所述多个维度的特征数据,构建性能数据特征矩阵;所述性能数据特征矩阵中的每一元素对应一子性能数据;确定所述性能数据特征矩阵中的每两个子性能数据之间的相关性;基于每两个子性能数据之间的相关性,确定所述融合特征数据集;所述融合特征数据集中包括至少一个子性能数据。
13.在一些实施例中,所述数据融合模块还用于:确定每两个子性能数据之间的协方差;将所述协方差确定为相应的两个子性能数据之间的相关性的数值。
14.在一些实施例中,所述数据融合模块还用于:基于每两个子性能数据之间的协方差,构建相关性协方差矩阵;基于所述相关性协方差矩阵,绘制所述多个维度的特征数据对应的相关性函数图像;基于所述相关性函数图像,对多个子性能数据中的无效性能数据进行剔除,并将剔除无效性能数据后剩余的子性能数据,确定为所述融合特征数据集中的数据。
15.在一些实施例中,所述多个子性能数据包括至少一个基础性能数据和至少一个待分析性能数据;所述装置还包括:相关性数值获取模块,用于从所述相关性函数图像中,针对每一基础性能数据,获取所述基础性能数据与每一待分析性能数据之间的相关性的数值;无效性能数据确定模块,用于将所述相关性的数值小于相关性阈值的待分析性能数据,确定为所述无效性能数据。
16.在一些实施例中,所述函数构建模块还用于:获取所述融合特征数据集中的每一子性能数据的约束区间和每一子性能数据的权重函数;基于每一子性能数据的约束区间和每一子性能数据的权重函数,构建多目标优化函数;将所述多目标优化函数,确定为用于表征所述性能数据对应的融合特征的目标函数。
17.在一些实施例中,所述降频点确定模块还用于:采用自底向上分割算法,对所述性能数据在时间维度上进行多次分割求解;在进行所述分割求解的过程中,以所述目标函数为损失函数,对所述融合特征进行似然估计,得到所述待测设备在运行所述目标应用时的至少一个降频点。
18.在一些实施例中,所述降频点确定模块还用于:获取所述性能数据对应的时间序列曲线;在时间维度上,确定所述时间序列曲线对应的多个时间点;以所述多个时间点为分割位置,将所述时间序列曲线分割成多个时间子序列曲线;在每一所述时间点,对相邻的两个时间子序列曲线进行合并处理,其中,在进行所述合并处理的过程中,以所述目标函数为损失函数,对所述融合特征进行似然估计,得到每一所述时间点上所述时间序列曲线发生突变的突变概率;将突变概率大于突变概率阈值的时间点,确定为所述降频点。
19.在一些实施例中,所述装置还包括:降频参数确定模块,用于确定每一所述降频点对应的降频时刻和降频频率;图像展示模块,用于基于所述降频时刻和所述降频频率,迭代渲染降频测试结果展示图,并展示所述降频测试结果展示图。
20.本技术实施例提供一种降频点检测设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述降频点检测方法。
21.本技术实施例提供一种计算机程序产品,计算机程序产品包括计算机程序或可执行指令,计算机程序或可执行指令存储在计算机可读存储介质中;其中,降频点检测设备的处理器从计算机可读存储介质中读取可执行指令,并执行可执行指令时,实现上述的降频点检测方法。
22.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述降频点检测方法。
23.本技术实施例具有以下有益效果:基于极限测试的配置参数,在待测设备上运行目标应用的特定场景,得到极限测试的性能数据;并对性能数据中的多个维度的特征数据进行数据融合处理,得到融合特征数据集;之后基于融合特征数据集,构建用于表征性能数据对应的融合特征的目标函数;从而以目标函数为损失函数,对融合特征进行似然估计,得到待测设备在运行所述目标应用时的至少一个降频点。如此,通过在待测设备上运行目标应用的特定场景,实现对待测设备运行目标应用进行自动化运行和测试,且通过数据融合处理得到的融合特征数据集构建目标函数,从而基于目标函数进行似然估计,能够准确的计算出待测设备在运行目标应用时的至少一个降频点;通过本技术整体的方法,能够自动化完成极限测试,准确的分析出降频点,并提高降频点检测的效率。
附图说明
24.图1是本技术实施例提供的降频点检测系统的一个可选的架构示意图;图2是本技术实施例提供的降频点检测设备的结构示意图;图3是本技术实施例提供的降频点检测方法的一个可选的流程示意图;图4是本技术实施例提供的降频点检测方法的另一个可选的流程示意图;图5是本技术实施例提供的数据融合处理方法的流程示意图;图6是本技术实施例提供的全自动极限测试降频检测方法的流程图;图7是本技术实施例提供的场景功耗分布曲线图;
图8是本技术实施例提供的极限测试功能模块的工作结构图;图9是本技术实施例提供的极限测试的原始fps数据曲线;图10是本技术实施例提供的极限测试局内fps数据曲线;图11是本技术实施例提供的性能数据矩阵相关性分析示意图;图12是本技术实施例提供的自底向上分割算法的实现过程示意图;图13是本技术实施例提供的基于特征融合下的降频点检测的效果图;图14是本技术实施例提供的基于单特征下的降频点检测的效果图;图15是本技术实施例提供的一种平台超高帧率极限测试降频数据迭代展示效果图;图16是本技术实施例提供的另一种平台超高帧率极限测试降频数据迭代展示效果图;图17是本技术实施例提供的再一种平台超高帧率极限测试降频数据迭代展示效果图;图18是本技术实施例提供的又一种平台超高帧率极限测试降频数据迭代展示效果图。
具体实施方式
25.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
26.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本技术实施例所使用的所有的技术和科学术语与属于本技术实施例的技术领域的技术人员通常理解的含义相同。本技术实施例所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
27.在解释本技术实施例之前,首先对本技术实施例涉及的专业术语进行说明:(1)融合特征:是指将目标样本的多个特征进行融合处理,相比较单特征,获取融合特征能够更好地表征目标并区分不同的样本。
28.(2)拐点检测:对于一条不平缓的时间序列曲线,认为存在一些时间点,使得曲线在这些点对应的位置发生突变,这些时间点对应的曲线点称为拐点,在连续的两个拐点之间曲线是平稳的。拐点检测即检测这些拐点对应的时间点。
29.(3)超高帧率:通常将帧率超过60fps的帧率定义为超高帧率,通常为90fps或120fps。
30.(4)降频检测:cpu温度达到一定的阈值会对cpu进行限频,cpu频率会降低从而影响设备性能与游戏体验。
31.(5)cpu大核:cpu通常由多核组成,而承担主要计算任务的核被定义为cpu大核。
32.(6)温度阈值:移动设备厂家为了保护设备,通常会对设备标定温度阈值,超过温度阈值会进行过载保护,降低cpu频率。
33.(7)极限测试:进行多轮对局测试,测试游戏与设备的性能极限。
34.(8)重度场景:指同一款游戏中相比较其他场景,对设备的性能消耗要求更高的场景。
35.在解释本技术实施例的降频点检测方法之前,首先对相关技术中的降频点检测方法和存在的问题进行说明。
36.相关技术,通常是根据apm的大盘数据获取分析降频节点与原因,或者,人工进行多轮对局进行极限测试,采集cpu降频的相关性能数据进行分析。
37.相关技术中的方法至少存在以下问题:大盘数据缺乏具体细节,无法精准定位到具体对应机型的降频相关数据,只能反应宏观的趋势变化;且大盘数据无法反应真实的玩家场景,无法避免其它因素对设备性能干扰项的影响,无法控制变量。而人工复现降频问题,需要人工进行多轮极限测试,极限测试的强度与一致性都受人为因素影响,且人力成本较高;同时,人工复现降频问题,无法实现对降频问题的持续迭代监测。相关技术中的降频检测方案,依赖于人工进行审核对比分析,筛选出降频拐点,效率较低且误差大,准确率无法满足要求。
38.基于相关技术中的方法所存在的至少一个问题,本技术实施例提供一种降频点检测方法,该方法能够实现自动化+极限测试+降频检测的全流程自动化实现,实现对超高帧率模式下降频相关性能数据的持续迭代监测。有效地帮助项目组人员实现性能优化,解决了降频的痛点问题。针对传统依靠人工复现降频问题的困难性与不可持续迭代性,本技术实施例基于自动化插件,针对复杂场景提供了超高帧率下的极限测试功能。实现了理论上无限制对局数的极限测试可能性,为后续的降频数据监测奠定了基础,可以极限压测设备与游戏性能。针对当前降频点获取不准确与误差率较大的痛点,对传统的拐点检测算法进行优化。与传统的仅根据cpu的频率波动进行降频判断不同,本技术实施例中考虑到了相关联的cpu温度、每秒传输帧数(fps,frames per second)等特征,将多种特征进行融合处理,极大地提高了算法对降频点检测的准确率。本技术实施例还能够实现对超高帧率下降频问题的持续监测,相关性能数据的持续迭代获取为超高帧率下的性能优化奠定了必要的基础。
39.本技术实施例提供的降频点检测方法中,首先,获取极限测试的配置参数;并基于配置参数,在待测设备上运行目标应用的特定场景,得到极限测试的性能数据;性能数据包括多个维度的特征数据;然后,对多个维度的特征数据进行数据融合处理,得到融合特征数据集;再然后,基于融合特征数据集,构建用于表征性能数据对应的融合特征的目标函数;最后,以目标函数为损失函数,对融合特征进行似然估计,得到待测设备在运行所述目标应用时的至少一个降频点。如此,基于目标函数进行似然估计,能够准确的计算出待测设备在运行目标应用时的至少一个降频点;通过本技术整体的方法,能够自动化完成极限测试,准确的分析出降频点,并提高降频点检测的效率。
40.下面说明本技术实施例的降频点检测设备的示例性应用,本技术实施例提供的降频点检测设备可以实施为终端,也可以实施为服务器。在一种实现方式中,本技术实施例提供的降频点检测设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人、智能家电和智能车载设备等任意的具备数据处理功能和游戏应用运行功能的终端;在另一种实现方式中,本技术实施例提供的降频点检测设备还可以实施为服务器,其中,服务器可以
是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。下面,将说明降频点检测设备实施为服务器时的示例性应用。
41.参见图1,图1是本技术实施例提供的降频点检测系统的一个可选的架构示意图,本技术实施例以降频点检测方法应用于游戏应用为例进行说明。为实现对游戏应用运行在待测设备上的降频情况的极限测试,本技术实施例的终端上至少安装有游戏应用或者提供有测试平台,测试平台可以实现为一测试应用。本技术实施例中,降频点检测系统10中至少包括终端100、网络200和服务器300,其中服务器300是测试应用的应用服务器。服务器300可以构成本技术实施例的降频点检测设备。终端100通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合。在运行测试应用时,终端100接收测试人员的测试选择操作,测试选择操作用于选择输入极限测试的配置参数,终端将极限测试的配置参数封装至极限测试请求中,将极限测试请求通过网络200发送给服务器300。服务器300解析极限测试请求,得到极限测试的配置参数;并基于配置参数,控制在待测设备上运行目标应用的特定场景,得到极限测试的性能数据,这里,待测设备可以与终端100是同一设备,也可以是不同的设备;性能数据包括多个维度的特征数据。然后,服务器300对多个维度的特征数据进行数据融合处理,得到融合特征数据集;基于融合特征数据集,构建用于表征性能数据对应的融合特征的目标函数;最后,以目标函数为损失函数,对融合特征进行似然估计,得到待测设备在运行目标应用时的至少一个降频点。在得到至少一个降频点之后,服务器300将至少一个降频点发送给终端100,终端100基于降频点对应的降频时刻,迭代渲染降频测试结果展示图,并展示降频测试结果展示图。
42.在一些实施例中,上述降频点检测过程还可以由终端100来实现,终端100可以构成上述待测设备,终端可以在获取到极限测试的配置参数之后,基于配置参数在终端自身运行目标应用的特定场景,得到极限测试的性能数据;性能数据包括多个维度的特征数据;然后,对多个维度的特征数据进行数据融合处理,得到融合特征数据集;基于融合特征数据集,构建用于表征性能数据对应的融合特征的目标函数;最后,终端以目标函数为损失函数,对融合特征进行似然估计,得到待测设备在运行所述目标应用时的至少一个降频点。终端在得到至少一个降频点之后,可以基于降频点对应的降频时刻,迭代渲染降频测试结果展示图,并展示降频测试结果展示图。
43.本技术实施例所提供的降频点检测方法还可以基于云平台并通过云技术来实现,例如,上述服务器300可以是云端服务器。通过云端服务器基于配置参数,控制在待测设备上运行目标应用的特定场景,得到极限测试的性能数据,或者,通过云端服务器对每一子语音信号进行语音特征提取,得到子语音嵌入表示特征,或者,通过云端服务器对多个维度的特征数据进行数据融合处理,或者,通过云端服务器构建用于表征性能数据对应的融合特征的目标函数,或者,通过云端服务器以目标函数为损失函数,对融合特征进行似然估计等。
44.在一些实施例中,还可以具有云端存储器,可以将极限测试的配置参数存储至云
端存储器中,或者,还可以将融合特征数据集和目标函数存储至云端存储器中,或者,还可以将检测到的至少一个降频点等存储至云端存储器中。这样,在进行降频问题分析时,可以直接从云端存储器中获取检测到的至少一个降频点,并基于检测到的至少一个降频点对待测设备运行游戏应用的降频问题进行分析。
45.这里需要说明的是,云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
46.图2是本技术实施例提供的降频点检测设备的结构示意图,图2所示的降频点检测设备包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。降频点检测设备中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统340。
47.处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
48.用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,以及一个或多个输入装置332。
49.存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
50.操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
51.在一些实施例中,本技术实施例提供的装置可采用软件方式实现,图2示出了存储在存储器350中的一种降频点检测装置354,该降频点检测装置354可以是降频点检测设备中的降频点检测装置,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块
3541、场景运行模块3542、数据融合模块3543、函数构建模块3544和降频点确定模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
52.在另一些实施例中,本技术实施例提供的装置可以采用硬件方式实现,作为示例,本技术实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的降频点检测方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
53.本技术各实施例提供的降频点检测方法可以由降频点检测设备来执行,其中,该降频点检测设备可以是任意一种具备数据处理功能的终端,或者也可以是服务器,即本技术各实施例的降频点检测方法可以通过终端来执行,也可以通过服务器来执行,或者还可以通过终端与服务器进行交互来执行。
54.参见图3,图3是本技术实施例提供的降频点检测方法的一个可选的流程示意图,下面将结合图3示出的步骤进行说明,需要说明的是,图3中的降频点检测方法是通过服务器作为执行主体为例来说明的。
55.步骤s301,获取极限测试的配置参数。
56.这里,极限测试是指进行多轮对局测试,测试目标应用与待测设备之间的性能极限。性能极限是指待测设备在超高帧率模式下运行目标应用时出现与降频相关的性能的变化;其中,与降频相关的性能包括目标应用的性能和待测设备的性能,待测设备的性能包括但不限于:cpu瞬时功耗、cpu频率、cpu温度、fps、cpu功耗均值等,目标应用的性能包括但不限于:应用的运行情况(例如是否存在卡顿)、应用的画面显示情况(例如是否存在渲染异常)等。在进行极限测试时,可以在超高帧率模型下多次运行目标应用,在多次运行目标应用的过程中,获取这些与降频相关的性能的变化情况,从而实现测试目标应用与待测设备之间的性能极限。本技术实施例的降频点检测方法,可以应用于对游戏应用在待测设备上的极限测试,也就是说,可以对游戏应用在待测设备上进行多轮对局,实现游戏应用与待测设备之间的性能极限测试。
57.在一些实施例中,在进行极限测试时,可以不针对目标应用的全部应用内容进行测试,可以选择目标应用中的部分进程对应的特定场景进行测试,例如,可以选择对设备消耗要求大于消耗阈值的部分场景进行测试。这里的消耗包括但不限于对设备的帧率要求、对设备的cpu频率要求等。
58.极限测试的配置参数是用于启动极限测试过程,并实现极限测试过程中目标应用运行的参数。极限测试的配置参数包括但不限于以下至少之一:极限测试的场景标识、极限测试的帧率配置、极限测试的对局方数量和极限测试的对局数。可以基于极限测试的配置参数运行目标应用,从而在运行目标应用的过程中,获取应用的性能数据,基于获取的性能数据实现极限测试过程。
59.本技术实施例中,极限测试的配置参数可以是测试人员根据测试需求输入的参数,也可以是极限测试的测试系统预先配置好的参数。
60.本技术实施例的降频点检测方法可以应用于一测试系统,该测试系统即降频点检测系统。
61.在本技术实施例的一种应用场景中,在该降频点检测系统中,至少包括终端和服务器,终端上至少安装有目标应用,终端可以与待测设备为同一设备,也可以是不同设备。服务器构成本技术实施例的降频点检测设备。当终端与待测设备为同一设备时,终端可以接收测试人员输入的配置参数,然后将配置参数发送给服务器,请求服务器基于配置参数控制在终端自身运行目标应用的特定场景,实现极限测试,生成性能数据,并进一步基于性能数据进行后续确定降频点的步骤。当终端与待测设备不是同一设备时,终端可以接收测试人员输入的配置参数,然后将配置参数发送给服务器,请求服务器基于配置参数控制待测设备运行目标应用的特定场景,实现极限测试,生成性能数据,并进一步基于性能数据进行后续确定降频点的步骤。
62.在本技术实施例的另一种应用场景中,在该降频点检测系统中,至少包括终端和服务器,终端上至少安装有目标应用,同时,终端还提供一测试平台,测试平台可以实现为一测试应用。终端可以通过运行测试应用,在测试应用的客户端输入针对目标应用的配置参数。服务器构成测试应用的应用服务器,同时,服务器也构成本技术实施例的降频点检测设备。当终端与待测设备为同一设备时,终端通过测试应用的客户端将配置参数发送给服务器,请求服务器基于配置参数控制在终端自身运行目标应用的特定场景,实现极限测试,生成性能数据,并进一步基于性能数据进行后续确定降频点的步骤。当终端与待测设备不是同一设备时,终端可以通过测试应用的客户端将配置参数发送给服务器,请求服务器基于配置参数控制待测设备运行目标应用的特定场景,实现极限测试,生成性能数据,并进一步基于性能数据进行后续确定降频点的步骤。
63.步骤s302,基于配置参数,在待测设备上运行目标应用的特定场景,得到极限测试的性能数据;性能数据包括多个维度的特征数据。
64.这里,在进行极限测试时,可以选择目标应用中的部分进程对应的特定场景进行测试,特定场景可以是对待测设备消耗要求大于消耗阈值的部分场景。在待测设备上运行目标应用的特定场景时,是运行该特定场景对应的程序片段。也就是说,当确定出目标应用的特定场景之后,可以提取该目标应用的特定场景对应的程序片段并运行该程序片段。
65.在一些实施例中,可以基于目标应用在不同场景下的场景功耗来筛选特定场景。其中,场景功耗是指在运行该场景时,待测设备的运行功耗值。运行功耗值可以基于待测设备的cpu单核使用率、cpu频率和cpu核心数进行计算。
66.在实现的过程中,可以获取待测设备在运行目标应用的每一场景时的cpu单核使用率、cpu频率,然后基于cpu单核使用率、cpu频率和cpu核心数,计算待测设备在运行目标应用的每一场景时的运行功耗值,将运行功耗值确定为相应场景的场景功耗。在确定出每一场景的场景功耗之后,将具有最大场景功耗的场景确定为特定场景。或者,也可以在确定出每一场景的场景功耗之后,基于场景功耗绘制场景功耗分布曲线图,并从场景功耗分布曲线图中筛选出特定场景。这里,绘制场景功耗分布曲线图时,可以以时间为横坐标,场景功耗的值为纵坐标,按照场景在目标应用中的时间先后顺序,将每一场景功耗对应的场景以点坐标的形式标注至场景功耗分布曲线图中的一个确定点位置,之后,对多个场景对应的多个确定点位置进行连线,形成场景功耗分布曲线图。
67.这里对确定特定场景的实现方式进行举例说明。这里以目标应用可以是游戏应用,特定场景可以是游戏应用中的重度场景为例进行说明。其中,重度场景例如可以是对cpu单核使用率、cpu频率消耗比较大(即cpu单核使用率大于单核使用率阈值、cpu频率消耗大于频率消耗阈值)的游戏场景,如激烈对战的实时对战场景相对于游戏规则简介的简介播放场景的cpu单核使用率和cpu频率均较大,因此,在游戏应用中,激烈对战的实时对战场景相对于游戏规则简介的简介播放场景为重度场景。
68.本技术实施例中,在运行目标应用的特定场景的过程中,生成与应用运行相关的性能数据,该性能数据即为极限测试的性能数据,其中,性能数据包括多个维度的特征数据。举例来说,性能数据包括但不限于:cpu瞬时功耗、cpu频率、cpu温度、fps、cpu功耗均值等性能数据。
69.在一些实施例中,在运行目标应用的特定场景的过程中,可以通过不同的性能数据采集设备持续采集性能数据。在实现形式上,性能数据采集设备可以是不同类型的数据采集工具或者不同类型的传感器。即通过运行不同类型的数据采集工具对应的进程来采集性能数据,或者通过不同类型的传感器采集性能数据。举例来说,可以通过温度传感器采集cpu温度;利用linux的perf工具(一种系统性能分析工具)获取cpu频率等。
70.步骤s303,对多个维度的特征数据进行数据融合处理,得到融合特征数据集。
71.这里,由于性能数据包括多个维度的特征数据,一个维度的特征数据即对应一种类型的特征数据。例如,对于特征数据中包含的cpu瞬时功耗、cpu频率和cpu温度等性能数据,其中,cpu瞬时功耗是一个维度的特征数据、cpu频率是一个维度的特征数据、cpu温度是一个维度的特征数据。在采集性能数据时,可以采集到运行目标应用的特定场景时系统的全部性能数据,但是,并不是所有类型的性能数据均与待测设备的降频情况相关,即不是所有类型的性能数据都能够准确反映出待测设备的降频点,因此可以对得到的多个维度的特征数据进行数据融合处理。这里的数据融合处理包括但不限于对多个维度的特征数据进行特征相关性分析、无效特征剔除等处理。特征相关性分析是指分析两个特征数据对应的特征类型之间的相关性。相关性越高的两个特征类型的特征数据,其中一个特征类型的特征数据的改变对另一个特征类型的特征数据的影响较大。也就是说,对于相关性高的两个特征类型的特征数据,当其中一个特征类型的特征数据发生较大的变化时,则可以确定出另一个特征类型的特征数据也将会发生较大的变化。
72.由于本技术实施例的降频点检测方法是用于对待测设备在运行目标应用时的降频情况进行分析,因此可以筛选出对降频情况影响比较大的多个特征类型的特征数据进行分析。在实现的过程中,可以将与cpu瞬时功耗、cpu频率、cpu功耗均值等性能数据具有较高的相关性的特征数据筛选出,构成融合特征数据集。
73.融合特征数据集中包括用于与分析待测设备降频情况强相关的多个特征类型的特征数据,其中,每一特征类型的特征数据为一子性能数据。因此,在融合特征数据集中,包括多个与对降频情况影响度大于影响度阈值的子性能数据。这里,影响度可以是上述相关度,相关度越高,对降频情况的影响度越大。
74.无效特征剔除可以是指,从多个维度的特征数据中,将相关度小于或等于相关度阈值的特征类型的特征数据剔除掉,仅保留相关度大于相关度阈值的特征类型的特征数据。也就是说,将影响度小于或等于影响度阈值的子性能数据剔除掉,仅包括影响度大于影
响度阈值的子性能数据。
75.步骤s304,基于融合特征数据集,构建用于表征性能数据对应的融合特征的目标函数。
76.这里,可以采用预先定义的函数构建方式,构建用于表征性能数据所对应的融合特征的目标函数。其中,在预先定义的函数构建方式中,可以定义融合特征数据集中的每一子性能数据的约束区间范围,在该约束区间范围内计算不同特征类型的特征数据的权重值,即在该约束区间范围内计算不同子性能数据的权重值。
77.步骤s305,以目标函数为损失函数,对融合特征进行似然估计,得到待测设备在运行目标应用时的至少一个降频点。
78.这里,可以通过对目标函数进行似然估计,实现对融合特征的似然估计。例如,可以通过对目标函数进行极大似然估计,得到待测设备在运行目标应用时的至少一个降频点。
79.本技术实施例中,由于融合特征能够表征待测设备在运行目标应用特定场景时的降频相关数据,因此,在对融合特征进行似然估计时,是对cpu瞬时频率曲线进行拐点检测。这里,拐点检测是指对于一条不平缓的时间序列曲线,认为存在一些时间点,使得曲线在这些点对应的位置发生突变,这些时间点对应的曲线点称为拐点,在连续的两个拐点之间曲线是平稳的。也就是说,本技术实施例通过以目标函数为损失函数对融合特征进行似然估计,能够实现对cpu瞬时频率曲线进行拐点检测,从而提取到cpu瞬时频率曲线中的多个降频点。
80.本技术实施例中,由于待测设备的cpu温度达到一定的温度阈值时,会对cpu进行限频,cpu频率会降低从而影响设备性能与游戏体验。因此,通过检测cpu瞬时频率曲线中的多个降频点,及时发现cpu频率在哪些时刻会降低,并分析cpu频率在这些时刻点降低的原因,对于游戏开发、设备投放、游戏性能分析、设备性能分析均具有一定的意义。
81.本技术实施例提供的降频点检测方法,基于极限测试的配置参数,在待测设备上运行目标应用的特定场景,得到极限测试的性能数据;并对性能数据中的多个维度的特征数据进行数据融合处理,得到融合特征数据集;之后基于融合特征数据集,构建用于表征性能数据对应的融合特征的目标函数;从而以目标函数为损失函数,对融合特征进行似然估计,得到待测设备在运行所述目标应用时的至少一个降频点。如此,通过在待测设备上运行目标应用的特定场景,实现对待测设备运行目标应用进行自动化运行和测试,且通过数据融合处理得到的融合特征数据集构建目标函数,从而基于目标函数进行似然估计,能够准确的计算出待测设备在运行目标应用时的至少一个降频点;通过本技术整体的方法,能够自动化完成极限测试,准确的分析出降频点,并提高降频点检测的效率。
82.在一些实施例中,降频点检测系统中至少包括终端和服务器,终端构成待测设备,即可以在终端上运行目标应用和目标应用的特定场景。图4是本技术实施例提供的降频点检测方法的另一个可选的流程示意图,如图4所示,方法包括以下步骤s401至步骤s416:步骤s401,终端获取测试选择操作。
83.这里,测试选择操作用于选择输入极限测试的配置参数。测试选择操作可以是测试人员通过终端输入的。
84.举例来说,在本技术实施例的一种应用场景中,终端上至少安装有目标应用,同
时,终端还提供一测试平台,测试平台可以实现为一测试应用。终端可以通过运行测试应用,在测试应用的客户端输入测试选择操作,该测试选择操作可以是输入针对目标应用的配置参数的输入操作,或者是选择针对目标应用的配置参数的选择操作。
85.步骤s402,终端响应于测试选择操作,将极限测试的配置参数封装至极限测试请求中。
86.终端在接收到测试选择操作之后,获取测试人员输入的配置参数,并将输入的配置参数作为本次极限测试的配置参数封装至极限测试请求中。
87.步骤s403,终端将极限测试请求发送给服务器。
88.本技术实施例中,可以通过传输控制协议(tcp,transmission control protocol)连接实现极限测试请求的发送,从而实现对配置参数的发送。
89.步骤s404,服务器解析极限测试请求,得到极限测试的配置参数。
90.这里,极限测试请求包括极限测试消息,极限测试消息的消息字段包括以下至少之一:极限测试的场景标识、极限测试的帧率配置、极限测试的对局方数量和极限测试的对局数。本技术实施例中,服务器可以解析极限测试请求,得到极限测试消息的消息字段;然后,将极限测试消息的消息字段中的内容,确定为极限测试的配置参数。也就是说,可以通过极限测试消息的消息字段中的内容,确定出极限测试的配置参数。
91.步骤s405,服务器对目标应用进行场景划分,得到目标应用对应的至少一个应用场景。
92.这里,可以根据目标应用的属性参数进行场景划分,将属性参数相同或相似的连续运行场景划分至同一场景中。例如,可以根据游戏的地图和模式来进行场景划分,例如不同的地图就是一种不同的场景,同一个地图下的游戏进程为一个游戏场景。
93.步骤s406,服务器运行目标应用,并在运行目标应用的过程中对每一应用场景进行功耗分析,对应得到每一应用场景的场景功耗。
94.这里,服务器在运行目标应用的过程中,会运行目标应用的每一应用场景。并且,在运行每一应用场景的过程中,会分别采集运行每一应用场景时的设备性能数据,并基于设备性能数据计算每一应用场景下的场景功耗。
95.举例来说,设备性能数据可以包括但不限于以下至少之一:待测设备的cpu单核使用率、cpu频率和cpu核心数。在得到每一场景下待测设备的cpu单核使用率、cpu频率和cpu核心数之后,基于cpu单核使用率、cpu频率和cpu核心数,计算待测设备在运行目标应用的每一场景时的运行功耗值,将运行功耗值确定为相应场景的场景功耗。例如,可以计算待测设备的每一cpu内核的使用率与cpu频率的乘积,得到每一cpu内核的使用率与频率积,然后对全部cpu内核的使用率与频率积进行求和,得到相应场景下的场景功耗。
96.步骤s407,服务器基于每一应用场景的场景功耗,从至少一个应用场景中确定出特定场景。
97.这里,在确定出每一应用场景的场景功耗之后,可按照以下两种方式中的任意一种方式确定特定场景:方式一:将具有最大场景功耗的应用场景确定为特定场景。
98.这里,可以通过比对多个应用场景的场景功耗,将具有最大场景功耗的一个应用场景确定为特定场景。例如,在游戏应用中,特定场景可以是重度场景,这里的重度场景即游戏应用运行过程中具有最高运行功耗值的游戏场景,也就是,对cpu单核使用率、cpu频率
消耗比较大(即cpu单核使用率大于单核使用率阈值、cpu频率消耗大于频率消耗阈值)的游戏场景。举例来说,针对激烈对战的实时对战场景和游戏规则简介的简介播放场景这两个游戏场景,由于实时对战场景的cpu单核使用率和cpu频率,均相对于简介播放场景的cpu单核使用率和cpu频率较大,因此,在游戏应用的激烈对战的实时对战场景和游戏规则简介的简介播放场景这两个游戏场景中,实时对战场景为重度场景。
99.方式二:在确定出每一应用场景的场景功耗之后,基于场景功耗绘制场景功耗分布曲线图,并从场景功耗分布曲线图中筛选出特定场景。
100.这里,绘制场景功耗分布曲线图时,可以以时间为横坐标,场景功耗的值为纵坐标,按照应用场景在目标应用中的时间先后顺序,将每一场景功耗对应的应用场景以点坐标的形式标注至场景功耗分布曲线图中的一个确定点位置,之后,对多个应用场景对应的多个确定点位置进行连线,形成场景功耗分布曲线图。在绘制完成场景功耗分布曲线图之后,将具有最高峰值的点对应的应用场景,确定为特定场景。
101.上述实施例说明了从多个应用场景中确定出一个特定场景的情况,在其他实施例中,还可以从多个应用场景中确定出多个特定场景。在实现的过程中,也可以通过两种方式实现,参见以下方式三和方式四:方式三:获取场景功耗阈值,将大于场景功耗阈值的多个应用场景确定为特定场景。
102.方式四:在场景功耗分布曲线图中设置场景功耗水平线,将位于场景功耗水平线之上的应用场景确定为特定场景。这里,场景功耗水平线是指平行于场景功耗分布曲线图中的横坐标且位于坐标零点之上一条水平线。
103.步骤s408,服务器确定目标应用在特定场景下的关键接口函数。
104.这里,可以通过目标应用的应用引擎提取目标应用在特定场景下的关键接口函数。关键接口函数是指在运行目标应用的特定场景时,对运行目标应用起关键作用的运行函数。例如,在游戏应用中,调用技能时与技能释放相关的接口函数、玩家对战时与对战操作相关的接口函数、场景退出时与退出场景相关的接口函数等。关键接口函数是能够影响目标应用的特征场景正常运行的接口函数。
105.步骤s409,服务器采用配置参数,调用关键接口函数控制自动运行和结束运行特定场景。这里,通过调用关键接口函数能够实现特定场景的自动运行和结束运行。
106.配置参数包括但不限于以下至少之一:极限测试的场景标识、极限测试的帧率配置、极限测试的对局方数量和极限测试的对局数。在控制自动运行和结束运行特定场景的过程中,可以采用配置参数自动运行和结束运行特定场景。例如,可以按照极限测试的场景标识,调用与该场景标识对应的特定场景的关键接口函数;可以按照极限测试的帧率配置对运行特定场景时的帧率进行配置;可以按照极限测试的对局方数量,配置本次极限测试运行特定场景时的对局方数量;可以按照极限测试的对局数运行特定场景,实现对特定场景运行与对局数相同的次数。
107.由于本技术实施例的方法应用于极限测试,因此,配置参数中的极限测试的对局数可以设置为大于对局数阈值的整数。也就是说,连续对特定场景进行多次自动运行和结束运行,且在每次运行特定场景时,调用的关键接口函数相同,并且,极限测试的场景标识、极限测试的帧率配置、极限测试的对局方数量也相同。如此,实现对特定场景进行循环多次
运行。
108.步骤s410,服务器在自动运行和结束运行特定场景的过程中,生成并获取极限测试的性能数据。
109.在一些实施例中,服务器在运行特定场景的过程中,由于相邻两次运行特定场景不仅包括特定场景的实际运行时间,还包括相邻两次运行特定场景的中间时间段,也就是说,性能数据包括:多次对局的对局性能数据和局外数据,其中,对局性能数据是指在每一次运行特定场景的开始时间至结束之间之间的时间段内的性能数据,局外数据是指相邻两次运行特定场景之间的中间时间段内所采集到的性能数据(可能为零或为空)。由此可见,该中间时间段对应的性能数据是不能进行降频点分析的无效数据,因此需要对这部分无效数据进行剔除。
110.在实现的过程中,可以通过以下方式确定出这部分无效数据并剔除:首先,基于配置参数确定每次对局的开局时间和结束对局时间;然后,在每相邻的两次对局中,将前一次对局的结束对局时间与后一次对局的开局时间之间的时间段,确定为局外时间段;并将在局外时间段内生成的性能数据,确定为局外数据。在确定出局外数据之后,从性能数据中,剔除局外数据。
111.本技术实施例中,性能数据是随时间变化的时间序列数据,在运行特定场景的过程中,每一时刻均对应时间序列数据中的一个数值。在确定出局外时间段之后,可以从时间序列数据中,确定与局外时间段中的每一时刻对应的数值,形成与该局外时间段对应的子序列数据,该子序列数据即上述局外数据。
112.步骤s411,服务器对多个维度的特征数据进行数据融合处理,得到融合特征数据集。
113.在一些实施例中,一个维度下的特征数据对应一种类型的子性能数据。本技术实施例再提供一种数据融合处理方法,通过该数据融合处理方法对多个维度的特征数据进行数据融合处理,得到融合特征数据集。图5是本技术实施例提供的数据融合处理方法的流程示意图,如图5所示,方法包括以下步骤s501至步骤s503:步骤s501,基于多个维度的特征数据,构建性能数据特征矩阵;性能数据特征矩阵中的每一元素对应一子性能数据。
114.这里,一个子性能数据即一个维度下的特征数据。性能数据特征矩阵中包括每一维度的特征数据,即性能数据特征矩阵包含特征数据的全量数据。
115.步骤s502,确定性能数据特征矩阵中的每两个子性能数据之间的相关性。
116.在一些实施例中,确定性能数据特征矩阵中的每两个子性能数据之间的相关性,可以通过以下方式实现:确定每两个子性能数据之间的协方差;将协方差确定为相应的两个子性能数据之间的相关性的数值。
117.在一种实现方式中,可以计算每两个子性能数据之间的协方差,由于子性能数据是一个维度下的特征数据,而每一维度下的特征数据可以是时间序列数据(例如cpu频率、cpu温度等),也可以是标量数值(例如cpu核心数等),因此,在进行协方差计算时,可以先对时间序列数据进行标量计算,即将时间序列数据转化为一标量的固定值。例如,可以按照时间长度,对时间序列数据中的多个数据求均值,得到每一维度下特征数据的特征数据均值,然后基于每两个子性能数据对应的特征数据均值计算协方差。
118.在另一种实现方式中,由于待测设备的cpu核心数大于1,因此可以获取在每一cpu内核下的子性能数据,并对多个cpu内核下的同一特征类型的子性能数据求均值,得到子性能数据均值,然后,基于每两个特征类型的子性能数据对应的子性能数据均值计算协方差。
119.步骤s503,基于每两个子性能数据之间的相关性,确定所述融合特征数据集;融合特征数据集中包括至少一个子性能数据。
120.在一些实施例中,基于每两个子性能数据之间的相关性,确定融合特征数据集,可以通过以下方式实现:首先,基于每两个子性能数据之间的协方差,构建相关性协方差矩阵;然后,基于相关性协方差矩阵,绘制多个维度的特征数据对应的相关性函数图像;最后,基于相关性函数图像,对多个子性能数据中的无效性能数据进行剔除,并将剔除无效性能数据后剩余的子性能数据,确定为融合特征数据集中的数据。
121.这里,相关性协方差矩阵中包括每两个子性能数据之间的协方差,其中,相关性协方差矩阵的行和列数值相同。对于预设数量的子性能数据,会得到每一子性能数据与其他的每一子性能数据之间的协方差,同时也会计算子性能数据与自身的协方差,之后,将计算得到的全部协方差按照子性能数据在行和列中相同的排列顺序,添加至相关性协方差矩阵中。
122.在相关性函数图像中,可以以协方差数值的形式呈现每一子性能数据与其他子性能数据之间的协方差。相关性函数图像中包括n乘n个数据块,n为大于1的整数,n是子性能数据对应的特征类型的数量。在相关性函数图像中,在横坐标的延伸方向上,依次分布有从第一个至第n个特征类型的子性能数据,在纵坐标的延伸方向上,依次分布有从第n个至第一个特征类型的子性能数据。如此,形成了与相关性协方差矩阵中的每一元素对应的n乘n个数据块。其中,在第n乘n的数据块位置,由于计算的是子性能数据与自身的协方差,因此,数据块中的协方差数值为1。本技术实施例中,每一数据块中的协方差数值的取值范围为[-1,1]。
[0123]
在一些实施例中,多个子性能数据包括至少一个基础性能数据和至少一个待分析性能数据;无效性能数据可以通过以下步骤s11和步骤s12(图中未示出)进行确定:步骤s11,从相关性函数图像中,针对每一基础性能数据,获取基础性能数据与每一待分析性能数据之间的相关性的数值。
[0124]
由于本技术实施例的降频点检测方法是用于对待测设备在运行目标应用时的降频情况进行分析,因此,基础性能数据是指与分析待测设备降频情况强相关的多个特征类型的子性能数据,可以预先设置基础性能数据的特征类型。在相关性函数图像中,可以包括多个基础性能数据。并且,在相关性函数图像中,还可以包括多个与对降频情况影响度大于影响度阈值的待分析性能数据,也就是说,在相关性函数图像中,具有多个待分析性能数据是与对降频情况影响度大于影响度阈值,但是这些待分析性能数据是为预先设置出的数据,因此,需要从相关性函数图像中识别出这些待分析性能数据。这里,影响度可以是上述相关度,相关度越高,对降频情况的影响度越大。
[0125]
步骤s12,将相关性的数值小于相关性阈值的待分析性能数据,确定为无效性能数据。
[0126]
本技术实施例中,无效性能数据是指相关性的数值小于相关性阈值的待分析性能数据。无效性能数据是指与分析待测设备降频情况不相关或者相关度小于或相关度阈值的
特征类型的子性能数据。
[0127]
本技术实施例中,通过筛选并剔除无效性能数据,能够极大的降低数据计算量,并避免无效数据对降频点分析的计算干扰,进一步提高降频点检测的准确性。
[0128]
步骤s412,服务器基于融合特征数据集,构建用于表征性能数据对应的融合特征的目标函数。
[0129]
在一些实施例中,可以通过以下方式构建目标函数:首先,获取融合特征数据集中的每一子性能数据的约束区间和每一子性能数据的权重函数;然后,基于每一子性能数据的约束区间和每一子性能数据的权重函数,构建多目标优化函数;最后,将多目标优化函数,确定为用于表征性能数据对应的融合特征的目标函数。
[0130]
步骤s413,服务器以目标函数为损失函数,对融合特征进行似然估计,得到待测设备在运行目标应用时的至少一个降频点。
[0131]
本技术实施例中,可以采用自底向上分割算法,对性能数据在时间维度上进行多次分割求解;在进行分割求解的过程中,以目标函数为损失函数,对融合特征进行似然估计,得到待测设备在运行目标应用时的至少一个降频点。
[0132]
这里,自底向上分割算法是指在时间维度上,对性能数据对应的时间序列曲线(即性能数据对应的曲线)进行多次分割处理。这里的分割处理是指以时间序列曲线上的拐点为目标,确定出时间序列曲线上的拐点,并在该拐点的位置,将时间序列曲线一分为二。可以在时间维度上,确定时间序列曲线对应的多个时间点;以多个时间点为分割位置,将时间序列曲线分割成多个时间子序列曲线。
[0133]
自底向上算法的基本思想:将n个待分段的时间序列数据点(即时间序列曲线上的n个时间点)两两连接,划分成不重合到的n/2个初始分段,并计算合并相邻段的拟合代价,即拟合误差。然后循环地从中选择拟合代价最小的,如果该最小值小于用户设定的分段阈值,则合并对应的两个相邻段,并重新计算合并的分段与它前后的分段的拟合代价。重复该过程,直到所有的拟合代价均不小于分段阈值,分段结束。
[0134]
在实现的过程中,可以先获取性能数据对应的时间序列曲线;然后,在时间维度上,以时间序列曲线上的多个点为分割位置,对时间序列曲线进行多次分割处理,形成多个时间子序列曲线;之后,再确定每相邻的两个时间子序列曲线之间存在拐点的概率,即合并相邻的两个时间子序列曲线。此时,如果存在拐点的概率大于概率阈值,则将相邻两个时间子序列曲线之间的连接点确定为一个拐点。如此,循环往复,对子序列曲线进行多步合并处理,确定出时间序列曲线上的全部拐点。
[0135]
本技术实施例中,通过多次的分割处理,并通过多步合并处理,从而逐渐逼向时间序列曲线的拐点位置,检测到时间序列曲线发生突变的位置。
[0136]
举例来说,假设在时间序列曲线上选择n个时间点(例如,n个时间点可以是p1、p2
……
pn)对时间序列曲线进行分割,得到n+1个时间子序列曲线,此时,对n+1个时间子序列曲线中每相邻的两个时间子序列曲线进行合并处理,如果确定出某个时间点(例如p2)不是拐点,也就是说,在p2这一点,时间序列曲线未发生突变,则将p2这一时间点标记出来,在后续合并步骤处理,不再对p2进行分析。如此,直至分析完全部时间点为止。
[0137]
本技术实施例中,在进行自底向上分割算法的计算过程中,可以以目标函数为损失函数,对融合特征进行似然估计,从而确定出在每一时间点发生突变的突变概率(即相邻
的两个时间子序列曲线之间存在拐点的概率),从而确定出时间序列曲线上的拐点。例如,可以将突变概率大于突变概率阈值的时间点,确定为降频点。
[0138]
这里需要解释的是,时间序列曲线上的拐点也可以通过拐点检测方式来确定,拐点检测方式是指对于一条不平缓的时间序列曲线,认为存在一些时间点,使得曲线在这些点对应的位置发生突变,这些时间点对应的曲线点称为拐点,在连续的两个拐点之间曲线是平稳的。因此,在进行拐点检测时,可以确定时间序列曲线上发生突变的位置,或者,可以计算时间序列曲线上的每一时间点对应的斜率,当任一时间点的斜率为零,且该时间点之前的第一时间点的第一斜率与该时间点之后的第二时间点的第二斜率的数值的正负符号相反时,表明该时间点即为时间序列曲线上发生突变的位置。
[0139]
本技术实施例中,可以将分割处理时在时间序列曲线上的分割位置,确定为预测降频点;即将分割处理时的多个时间点确定为预测降频点,然后,在这多个预测降频点中,确定出待测设备在运行目标应用时的至少一个降频点。也就是说,在进行完多次的时间子序列曲线的合并处理之后,在全部预测降频点中,确定出待测设备在运行目标应用时的至少一个降频点。
[0140]
本技术实施例中,在自底向上分割算法的计算过程中,可以通过对目标函数进行似然估计,实现对融合特征的似然估计。例如,可以通过对目标函数进行极大似然估计,预测待测设备在运行目标应用时的至少一个降频点。
[0141]
本技术实施例中,通过自底向上分割算法,能够准确的识别出时间序列曲线上的不同拐点,保证不会遗漏任一拐点,从而提高了降频点检测的准确性;另外,由于在对时间序列曲线进行分割处理之后能够得到多个时间子序列曲线,对于多个时间子序列曲线可以通过多线程并行进行合并处理,如此,能够极大的降低数据处理的处理时长,提高降频点检测的效率。
[0142]
步骤s414,服务器将检测得到的至少一个降频点发送给终端。
[0143]
步骤s415,终端确定每一降频点对应的降频时刻和降频频率。
[0144]
这里,降频时刻是指降频点对应的运行特定场景的时刻,降频频率包括降频前的频率、降频后的频率以及降频前后的频率差。
[0145]
步骤s416,终端基于降频时刻和降频频率,迭代渲染降频测试结果展示图,并展示降频测试结果展示图。
[0146]
这里,可以将降频点以特定图形标记的形式渲染至时间序列曲线的相应位置,生成降频测试结果展示图。在渲染降频测试结果展示图时,由于极限测试可以持续进行,因此,通过不断获取极限测试的性能数据进行分析得到降频点,相应地,可以不断对降频测试结果展示图进行迭代渲染,形成随时间推进而不断更新的降频测试结果展示图。
[0147]
本技术实施例中,由于待测设备的cpu温度达到一定的温度阈值时,会对cpu进行限频,cpu频率会降低从而影响设备性能与游戏体验。因此,通过检测cpu瞬时频率曲线中的多个降频点,及时发现cpu频率在哪些时刻会降低,并分析cpu频率在这些时刻点降低的原因,对于游戏开发、设备投放、游戏性能分析、设备性能分析均具有一定的意义。
[0148]
本技术实施例提供的降频点检测方法,基于极限测试的配置参数,在待测设备上运行目标应用的特定场景,得到极限测试的性能数据;并对性能数据中的多个维度的特征数据进行特征相关性分析、无效特征剔除等处理,从而实现对多个维度的特征数据进行数
据融合处理,能够有效的提高降频点检测的数据准确性,并极大的减小无效数据,提高有效数据的数据量,保证降频点检测的准确性的同时,提高降频点检测的效率。并且,通过本技术整体的方法,能够自动化完成极限测试,准确的分析出降频点。
[0149]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0150]
本技术实施例提供的降频点检测方法,基于gamerobot自动化插件,开发出能够满足极限测试的功能模式,使得可以自动化地完成不受限制地极限测试,最大程度地压测设备与游戏的性能。并且,自动化实现极限测试,满足日迭代监测需求。同时,针对当前人工分析性能数据实现降频点检测效率较低的问题,提出了基于特征融合下的拐点检测算法。该拐点检测算法解决了降频点检测效率低的问题,并且与自动化相结合实现了降频点的全自动检测。下面对本技术实施例提供的降频点检测方法进行说明。
[0151]
当前,随着游戏规模的快速增长与移动端设备性能的持续优化,对游戏的极限性能都提出了更高的要求。当前部分移动端设备已经能够实现90hz、120hz、144hz的屏幕刷新率,各头部游戏也基于此屏幕刷新率,在游戏上实现了超高帧率模式的开发。与传统正常帧率模式相比,超高帧率模式可以带给玩家更加流畅的体验,极大地提升游戏的用户留存率。但是与传统的模式相比,超高帧率模式下每帧的时间间隔更短,对游戏的逻辑层与设备的硬件层都提出了更高的挑战。并且,超高帧率模式下设备的耗电量与温度会显著增加,cpu与gpu出现瓶颈的可能性增大,对性能优化提出了极大的挑战。当前某游戏项目组通过分析玩家超高帧率模式下的性能数据,发现帧率会出现明显波动,但是无法精准定位到问题原因且人工多轮对局也未复现。因此希望能够在自动化测试中,实现对日常玩家超高帧率模式下的降频性能数据进行持续监测,能够帮助项目组定位到降频问题的原因。针对该需求,本技术实施例结合gamerobot自动化插件,针对该游戏的复杂场景开发了可调节对局数的极限测试功能。在测试过程中对相关的性能数据进行采集,并且对降频的关键多特征进行融合,实现了对降频时间等关键信息的自动化提取。
[0152]
基于gamerobot框架进行通用的自动化软件开发工具包(sdk,software development kit)插件开发,sdk插件与自动化周边系统通过传输控制协议(tcp,transmission control protocol)信息进行交互工作。针对该游戏的重度场景进行自动化开发,实现了关键的对局开始与对局结束,并且在对局开始与对局结束通过标志位tcp信息发出。通过tcp信息字段设定极限测试的对局数,理论上可以进行无限制多局测试,实现在重度场景下对设备与游戏性能的极限压测。在测试完成后,会自动上传性能数据到后台。通过分析真实数据,发现降频与fps、cpu温度、cpu频率等参数都有一定的相关联性。因此与传统的仅仅分析fps波动,来反应出cpu降频不同,本技术实施例中对相关联特征进行了融合处理得到了新的多特征拐点检测算法。将拐点检测算法部署到后台,对降频的相关性能数据进行检测,并将持续迭代的关键数据以可视化形式在平台展示,建立起了完整了降频监测体系。
[0153]
图6是本技术实施例提供的全自动极限测试降频检测方法的流程图,如图6所示,降频检测方法包括以下步骤:步骤s601,重度场景自动化极限测试,得到性能数据。
[0154]
步骤s602,性能数据上传。
[0155]
步骤s603,性能数据筛选。
[0156]
步骤s604,数据多特征融合。
[0157]
步骤s605,降频拐点提取,得到多个降频点。
[0158]
步骤s606,对多个降频点对应的数据可视化展示。
[0159]
下面对自动化极限测试场景模式的开发过程进行说明。
[0160]
当前随着游戏与移动端设备的持续优化,普通的人工测试无法在测试过程中逼近游戏与性能的极限,因此自动化+极限测试成为了自动测试的热门研究方向。而且受限制于人力成本与不一致性,人工进行极限测试无法实现不同版本间的快速迭代需求。而不实现快速迭代的极限测试是检测获取到降频相关数据的基本条件,因此根据游戏对重度场景进行了极限测试功能模块开发。
[0161]
在进行重度场景筛选时,为了更好的实现对设备与游戏性能的极限压测,首先需要对游戏中不同的场景进行分析,根据功耗对不同的场景进行遍历排序,筛选出重度场景。这里,自定义功耗的计算公式如以下公式(1)所示:
ꢀꢀꢀ
(1);其中,n表示cpu核心数;n表示cpu单核的使用率;f表示cpu单核的频率。
[0162]
基于上述参数指标,计算不同场景的功耗情况,从而得到场景功耗分布曲线图如图7所示,其中,图7中每一个圆点表示一个游戏场景。通过对不同场景的功耗数据分析,可以成功筛选获得重度场景。
[0163]
在极限测试模式开发过程中,可以基于上一步筛选获取到的重度场景,进行极限测试功能模块的开发。极限测试功能模块的工作结构图如图8所示。可以基于socket(一种独立于协议的网络编程接口)建立外围控制模块801与游戏中实现极限测试功能模块802的通信,基于socket建立的tcp连接实现了配置参数的发送,这里配置参数包括但不限于:极限测试的场景id、极限测试的帧率配置、极限测试的玩家数量和极限测试对局数等。消息的字段简化如以下公式(2)所示:(2);其中,表示极限测试的场景id、表示极限测试的帧率配置、表示极限测试的玩家数量、表示极限测试对局数。
[0164]
在获取到配置参数之后,寻找游戏中的关键接口函数,通过函数实现自动开局、局内自动跑图、自动结束对局等功能开发。之后,自动化对局结束后,自动生成性能数据文件并上传到后台进行解析。
[0165]
在对局核心数据筛选的过程中,由于极限测试生成的性能数据不仅由对局性能数据构成,还包含了结束对局到自动开局的中间段时间段内的性能数据。在超高帧率模式下,局内与局外的fps有较大差异,因此在进行降频分析时,需要对局外数据进行剔除。图9是本技术实施例提供的真实获取到的数据,如图9所示的极限测试的原始fps数据曲线。通过在极限测试中增加tcp消息机制,可以记录每轮对局开始与结束时间,通过该时间段对性能数据进行筛选,得到最后的性能数据如图10所示的极限测试局内fps数据曲线。
[0166]
下面对基于降频多关联特征下的降频检测算法进行说明。
[0167]
首先进行降频特征的相关性分析。
[0168]
这里,采集到的性能数据存在多维度的特征,与传统的仅分析cpu大核频率的变化来分析是否降频不同,本技术实施例提出了多维度特征融合下的降频提取方案。在进行特征的融合之前,首先需要对性能数据的不同特征与频率进行相关性分析,然后提取相关性较强的特征作为融合前的基本特征。本技术实施例中首先对cpu瞬时功耗(表示为)、cpu频率(表示为)、cpu温度(表示为)、fps(表示为f)等特征参数做了相关性分析,建立性能数据特征矩阵如以下公式(3):
ꢀꢀꢀꢀ
(3)。
[0169]
本技术实施例中,可以通过协方差与协方差矩阵来实现对不同特征的相关性分析,协方差公式如以下公式(4):
ꢀꢀꢀꢀꢀ
(4);其中,x、y分别对应的是两个特征维度的数据集。
[0170]
协方差可以衡量两个特征数据集的相关性,协方差矩阵可以衡量多个数据集的相关性,协方差矩阵的公式如以下公式(5)所示:
ꢀꢀꢀꢀꢀ
(5)。
[0171]
然后,分别计算和绘制各特征间的相关性函数图像,如图11所示的性能数据矩阵相关性分析示意图,为了数据保密性,各特征用字母a-z代替,且添加了无效特征。本技术实施例中,通过对性能数据矩阵的相关性分析,可以剔除无效的性能特征数据,建立降频有效的多特征表征矩阵,例如,采用cpu核心温度、cpu频率、cpu功耗进行融合处理。
[0172]
在特征融合构造损失函数阶段,可以采用多目标优化的方法构建优化目标函数作为融合特征的表征特点,其中,目标函数如以下公式(6):
ꢀꢀꢀꢀ
(6)。
[0173]
在cpu功耗、cpu核心温度、cpu核心频率多个特征数据的约束区间范围内,构建多目标优化函数方程,即上述目标函数。
[0174]
接下来,执行基于特征融合下的拐点检测算法的步骤。
[0175]
当前拐点检测算法主要分为两种,一种是提前确定拐点数量k,另外一种是拐点数量未确定,需要基于损失函数与补偿函数进行似然估计。在实际测试过程中发现,极限测试过程中降频次数即拐点数量是变化的,因此需要动态估计拐点数量。本技术实施例的方案中,采取自底向上分割算法(bottom-up segmentation)进行分割求解,采用上述步骤中的
多特征融合的目标函数作为损失函数进行似然估计,应用于可变k值的拐点检测算法。图12是本技术实施例提供的自底向上分割算法的实现过程示意图,如图12所示,首先在最底层,对性能数据进行分割,得到三段数据段;然后,在第二层,对这三段数据段分别再次进行分割,得到多个时间长度更小的数据段;再然后,在第三层,基于第二层得到的多个数据段再次进行分割,得到多个时间长度更小的数据段,并基于这些数据段来确定降频点对应的时刻。
[0176]
对比特征融合前后的拐点检测算法对降频检测的效果如图13和图14所示,其中图13是本技术实施例提供的基于特征融合下的降频点检测,图14是基于单特征下的降频点检测,可以看出,基于特征融合下的降频检测结果更加精准。
[0177]
图15是本技术实施例提供的平台超高帧率极限测试降频数据迭代展示效果图一,图1展示了cpu功耗趋势图;其中,横坐标为时间,纵坐标为cpu功耗。图16是本技术实施例提供的平台超高帧率极限测试降频数据迭代展示效果图二,图16展示了高频率降频情况统计结果,在图16中,不同曲线对应经过不同次数降频后的频率,因为在极限测试过程中,会存在多次降频的情况,因此用不同的曲线来表示经过不同次数降频后的降频情况;其中,横坐标表示不同游戏应用的版本,纵坐标为cpu帧率。图17是本技术实施例提供的平台超高帧率极限测试降频数据迭代展示效果图三,图17展示了降频次数趋势图;其中,横坐标表示不同游戏应用的版本,纵坐标为降频次数。图18是本技术实施例提供的平台超高帧率极限测试降频数据迭代展示效果图四,图18展示了降频帧率趋势图,在图18中,不同曲线表示经过不同次数的降频后的情况;其中,横坐标为时间,纵坐标为cpu帧率。
[0178]
本技术实施例提供的降频点检测方法可以应用到游戏的超高帧率极限测试中,并进行了持续的日迭代。保障了每天流水线构建的日版本都能够输出降频检测的自动化报告,建立起了超高帧率降频检测的质量保障体系。
[0179]
本身实施例所采用的技术方案首次实现了自动化+极限场景测试+降频检测的全自动方案,满足了项目组对超高帧率降频问题的持续迭代监测,实现了超高帧率性能瓶颈的优化。并且,传统的降频分析需要人工进行审核,误差率较大,本技术实施例的方案中,对特征的相关性进行了分析,提出了基于特征融合的拐点检测算法,来实现对降频点的全自动识别。经过实践证明,该算法的提出提高了降频点识别的准确率,满足需求节省了人力成本。
[0180]
下面继续说明本技术实施例提供的降频点检测装置354实施为软件模块的示例性结构,在一些实施例中,如图2所示,降频点检测装置354包括:获取模块3541,用于获取极限测试的配置参数;场景运行模块3542,用于基于所述配置参数,在待测设备上运行目标应用的特定场景,得到所述极限测试的性能数据;所述性能数据包括多个维度的特征数据;数据融合模块3543,用于对所述多个维度的特征数据进行数据融合处理,得到融合特征数据集;函数构建模块3544,用于基于所述融合特征数据集,构建用于表征所述性能数据对应的融合特征的目标函数;降频点确定模块3545,用于以所述目标函数为损失函数,对所述融合特征进行似然估计,得到所述待测设备在运行所述目标应用时的至少一个降频点。
[0181]
在一些实施例中,所述装置还包括:场景划分模块,用于对所述目标应用进行场景划分,得到所述目标应用对应的至少一个应用场景;功耗分析模块,用于运行所述目标应
用,并在运行所述目标应用的过程中对每一所述应用场景进行功耗分析,对应得到每一所述应用场景的场景功耗;场景确定模块,用于基于每一所述应用场景的场景功耗,从所述至少一个应用场景中确定出所述特定场景。
[0182]
在一些实施例中,所述获取模块还用于:获取极限测试请求;所述极限测试请求包括极限测试消息,所述极限测试消息的消息字段包括以下至少之一:极限测试的场景标识、极限测试的帧率配置、极限测试的对局方数量和极限测试的对局数;解析所述极限测试请求,得到所述极限测试消息的消息字段;将所述极限测试消息的消息字段中的内容,确定为所述极限测试的配置参数。
[0183]
在一些实施例中,所述场景运行模块还用于:确定所述目标应用在所述特定场景下的关键接口函数;采用所述配置参数,调用所述关键接口函数控制自动运行和结束运行所述特定场景;在自动运行和结束运行所述特定场景的过程中,生成所述极限测试的性能数据。
[0184]
在一些实施例中,所述性能数据包括:多次对局的对局性能数据和局外数据;所述装置还包括:对局时间确定模块,用于基于所述配置参数确定每次对局的开局时间和结束对局时间;局外时间段确定模块,用于在每相邻的两次对局中,将前一次对局的结束对局时间与后一次对局的开局时间之间的时间段,确定为局外时间段;局外数据确定模块,用于将在所述局外时间段内生成的性能数据,确定为所述局外数据;数据剔除模块,用于从所述性能数据中,剔除所述局外数据。
[0185]
在一些实施例中,一个维度下的特征数据对应一种类型的子性能数据;所述数据融合模块还用于:基于所述多个维度的特征数据,构建性能数据特征矩阵;所述性能数据特征矩阵中的每一元素对应一子性能数据;确定所述性能数据特征矩阵中的每两个子性能数据之间的相关性;基于每两个子性能数据之间的相关性,确定所述融合特征数据集;所述融合特征数据集中包括至少一个子性能数据。
[0186]
在一些实施例中,所述数据融合模块还用于:确定每两个子性能数据之间的协方差;将所述协方差确定为相应的两个子性能数据之间的相关性的数值。
[0187]
在一些实施例中,所述数据融合模块还用于:基于每两个子性能数据之间的协方差,构建相关性协方差矩阵;基于所述相关性协方差矩阵,绘制所述多个维度的特征数据对应的相关性函数图像;基于所述相关性函数图像,对多个子性能数据中的无效性能数据进行剔除,并将剔除无效性能数据后剩余的子性能数据,确定为所述融合特征数据集中的数据。
[0188]
在一些实施例中,所述多个子性能数据包括至少一个基础性能数据和至少一个待分析性能数据;所述装置还包括:相关性数值获取模块,用于从所述相关性函数图像中,针对每一基础性能数据,获取所述基础性能数据与每一待分析性能数据之间的相关性的数值;无效性能数据确定模块,用于将所述相关性的数值小于相关性阈值的待分析性能数据,确定为所述无效性能数据。
[0189]
在一些实施例中,所述函数构建模块还用于:获取所述融合特征数据集中的每一子性能数据的约束区间和每一子性能数据的权重函数;基于每一子性能数据的约束区间和每一子性能数据的权重函数,构建多目标优化函数;将所述多目标优化函数,确定为用于表征所述性能数据对应的融合特征的目标函数。
[0190]
在一些实施例中,所述降频点确定模块还用于:采用自底向上分割算法,对所述性能数据在时间维度上进行多次分割求解;在进行所述分割求解的过程中,以所述目标函数为损失函数,对所述融合特征进行似然估计,得到所述待测设备在运行所述目标应用时的至少一个降频点。
[0191]
在一些实施例中,所述降频点确定模块还用于:获取所述性能数据对应的时间序列曲线;在时间维度上,确定所述时间序列曲线对应的多个时间点;以所述多个时间点为分割位置,将所述时间序列曲线分割成多个时间子序列曲线;在每一所述时间点,对相邻的两个时间子序列曲线进行合并处理,其中,在进行所述合并处理的过程中,以所述目标函数为损失函数,对所述融合特征进行似然估计,得到每一所述时间点上所述时间序列曲线发生突变的突变概率;将突变概率大于突变概率阈值的时间点,确定为所述降频点。
[0192]
在一些实施例中,所述装置还包括:降频参数确定模块,用于确定每一所述降频点对应的降频时刻和降频频率;图像展示模块,用于基于所述降频时刻和所述降频频率,迭代渲染降频测试结果展示图,并展示所述降频测试结果展示图。
[0193]
需要说明的是,本技术实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0194]
本技术实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或可执行指令,该可执行指令是一种计算机指令;该计算机程序或可执行指令存储在计算机可读存储介质中。当降频点检测设备的处理器从计算机可读存储介质读取该可执行指令,处理器执行该可执行指令时,使得该降频点检测设备执行本技术实施例上述的方法。
[0195]
本技术实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的方法,例如,如图3示出的方法。
[0196]
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(fram,ferromagnetic random access memory)、只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read only memory)、可擦除可编程只读存储器(eprom,erasable programmable read only memory)、带电可擦可编程只读存储器(eeprom,electrically erasable programmable read only memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(cd-rom,compact disk-read only memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0197]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0198]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电
子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
[0199]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1