数据获取方法、装置、终端及存储介质与流程

文档序号:28158869发布日期:2021-12-24 17:42阅读:76来源:国知局
数据获取方法、装置、终端及存储介质与流程

1.本发明实施例涉及但不限于通信领域,具体而言,涉及但不限于一种数据获取方法、装置、终端及存储介质。


背景技术:

2.随着信息技术的发展,系统帧缓冲区中的数据通常是通过特定的指令去获取,如系统帧缓冲区中帧刷新次数对应的计数器的值是通过一些特定的命令去获取,但是该方式并不适用于在某些场景下的系统帧缓冲区中的数据获取,例如在游戏场景下时,由于游戏界面的绘制原理不一样,所以通过特定的命令去获取时,往往存在权限问题,并不能获取得到。此外,系统帧缓冲区中获取数据方式较为单一,且在某些场景下存在一定的权限问题并无法获取到,给相关工作人员带来困扰。


技术实现要素:

3.本发明实施例提供的数据获取方法、装置、终端及存储介质,主要解决的技术问题是相关技术中从系统帧缓冲区中获取数据方式较为单一,且在某些场景下存在一定的权限问题并无法获取到。
4.为至少解决上述技术问题,本发明实施例提供一种数据获取方法,包括:启动系统进程,所述系统进程为处于内核中的进程;接收安卓调试桥adb命令,所述adb命令用于指示从系统帧缓冲区中获取数据;所述系统进程根据所述adb命令在系统帧缓冲区中获取数据。
5.本发明实施例还提供一种数据获取装置,所述数据获取装置包括:启动模块、接收模块以及获取模块;所述启动模块,用于启动系统进程,所述系统进程为处于内核中的进程;所述接收模块,用于接收安卓调试桥adb命令,所述adb命令用于指示从系统帧缓冲区中获取数据;所述获取模块,用于所述系统进程根据安卓调试桥adb命令在系统帧缓冲区中获取数据。
6.本发明实施例还提供一种终端,所述终端包括:处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个计算机程序,以实现如上所述的数据获取方法的步骤。
7.本发明实施例还提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的数据获取方法的步骤。
8.本发明的有益效果至少包括:根据本发明实施例提供的数据获取方法、装置、终端及存储介质,通过启动处于内核中的系统进程,接收安卓调试桥adb命令,运行在内核中的系统进程可根据adb命令在系统帧缓冲区中获取数据,解决了相关技术中从系统帧缓冲区中获取数据方式较为单一,且在某些场景下存在一定的权限问题并无法获取到的问题。也即本发明实施例提供的数据获取方法、装置、终端及存储介质,通过先启动处于内核中的系统进程,接收adb命令,再进一步地,由运行在内核中的系统进程来执行adb命令,由于内核
中的系统进程权限最高,所以不存在权限相关问题能够直接执行adb命令;简言之,本发明实施例丰富了获取系统帧缓冲区中数据的方式,并保证了获取系统帧缓冲区中数据的准确性,这样便避免了相关技术中通过特定指令在某些场景(如游戏场景)下无法从系统帧缓冲区中获取到数据的现象的发生,大大降低了相关工作人员的困扰,为其带来诸多便利,提高了满意度。
9.本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。
附图说明
10.图1为本发明实施例一提供的数据获取方法的基本流程图;
11.图2为本发明实施例一提供的获取到数据后进行处理并显示处理结果的基本流程图;
12.图3为本发明实施例一提供的计算单位时间段内的帧刷新次数的基本流程图;
13.图4为本发明实施例二提供的数据获取方法的基本流程图;
14.图5为本发明实施例二提供的显示帧刷新次数的界面示意图;
15.图6-1为本发明实施例三提供的数据获取装置的结构示意图一;
16.图6-2为本发明实施例三提供的数据获取装置的结构示意图二;
17.图7为本发明实施例四提供的终端的结构示意图。
具体实施方式
18.为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
19.实施例一:
20.本发明实施例提供一种数据获取方法,通过启动系统进程,启动的系统进程根据安卓调试桥adb命令在系统帧缓冲区中获取数据;请参见图1所示。
21.步骤s101:启动系统进程。
22.步骤s102:接收安卓调试桥adb命令。
23.需要说明的是,本发明实施例中的系统进程为处于内核中的进程,其具有最高的权限;安卓调试桥(android debug bridge,adb)命令用于指示从系统帧缓冲区中获取数据,其是安卓步骤sdk里的一个工具,用这个工具可以直接操作管理安卓模拟器或者真实的安卓设备;由于系统进程被启动,运行在内核中权限最高,所以能够执行adb命令以在系统帧缓冲区中获取数据。
24.应当理解的是,步骤s101与步骤s101可以并行执行,也可以任一先执行,任一后执行,本发明对此不做具体限定。
25.在一实施例中,启动系统adb进程之前,还包括至少以下步骤:
26.接收第一设备发送的启动指令;其中启动系统进程包括:根据启动指令启动第二设备中的系统进程,第一设备和第二设备为不同设备。
27.应当理解的是,用户可以在第一设备上进行启动指令的下发,或者第一设备按照
预设规则自动生成启动指令,这样第二设备便能接收到第一设备发送过来的启动指令,第二设备便根据该启动指令将第二设备中的系统进程启动以便后续该启动的系统进程能够对第二设备中的系统帧缓冲区中的数据进行获取。
28.在一实施例中,也可以是第二设备直接接收到用户在第二设备上进行的启动指令的下发,这样第二设备便根据该启动指令将第二设备中的系统进程启动以便后续该启动的系统进程能够对第二设备中的系统帧缓冲区中的数据进行获取。
29.需要说明的是,本发明实施例中的第一设备包括但不限于电脑,第二设备包括但不限于智能设备,如智能手机、穿戴设备等;在实际应用中,可根据具体应用场景做灵活调整。
30.在一实施例中,adb命令可以是测试软件下发的,其中测试软件是安装在第二设备上的一个应用程序,简言之,可以通过对测试软件进行自定义设计,这样便实现了灵活地从系统帧缓冲区中获取到测试相关工作人员想要测试得到的数据,大大降低了测试相关工作人员的工作压力。
31.在一实施例中,adb命令也可以是其他任意应用程序下发,还可以是直接接收到的来自外部设备的adb命令。
32.值得注意的是,在实际应用中,adb命令的来源可根据具体应用场景做灵活调整,对此本发明不做具体限定。
33.步骤s103:系统进程根据adb命令在系统帧缓冲区中获取数据。
34.在一实施例中,系统进程根据adb命令在系统帧缓冲区中获取数据之后,还可以包括至少以下两种情况:
35.情况一:记录和/或直接显示获取到的数据。
36.一种实施方式中,在系统进程根据adb命令在系统帧缓冲区中获取到数据后,可以将获取到的数据进行记录,其中记录可以是相关工作人员进行的手动记录,也可以是第二设备上的相关程序自动进行的记录,这样可以减小相关工作人员的工作压力,且在第二设备上的相关程序自动进行记录时会涉及到记录的数据的保存。
37.一种实施方式中,在系统进程根据adb命令在系统帧缓冲区中获取到数据后,可以将获取到的数据直接进行显示,其中显示的数据可以是进行保存了的,也可以是未进行保存的;这样使得相关工作人员直接查看到获取到的数据,更加直观明了,便于相关工作人员根据该显示的数据进行相应处理。
38.其中,这里介绍的记录、显示两者可以单独执行,也可以结合执行;当结合执行时,可以是先对获取到的数据进行记录,记录后再显示获取到的数据,也可以是在获取到数据时同时进行记录和显示,即二者并行执行;值得注意的是,在实际应用中,可根据具体应用场景做灵活调整,对此本发明不做具体限定。
39.情况二,包括至少以下步骤,参见图2所示:
40.步骤s201:根据预设处理规则对获取到的数据进行处理得到处理结果。
41.步骤s202:显示处理结果。
42.应当理解的是,通常情况下系统进程根据adb命令在系统帧缓冲区中获取到数据后,还可能会涉及到利用该数据进行相应处理,从而得到最终的处理结果,以便工作人员根据对最终的处理结果进行判别,确定第二设备上的相关功能是否正常运行、运行好坏等。因
此,一种实施方式中,在系统进程根据adb命令在系统帧缓冲区中获取到数据后,还可以根据处理规则对获取到的数据进行处理以得到处理结果,进一步地,显示该处理结果。
43.需要说明的是,本发明实施例中的adb命令包括但不限于获取帧刷新次数对应计数器的值、获取cpu从开机到当前的运行时间对应值等;也即是说,本发明实施例中系统进程根据adb命令在系统帧缓冲区中获取的数据包括但不限于帧刷新次数对应计数器的值、cpu从开机到当前的运行时间对应值等。值得注意的是,这里是以两种具体的adb命令进行的示例说明,在实际应用中,需根据具体应用场景做灵活调整,本发明对此不做具体限定。
44.还需要说明的是,本发明实施例中的预设处理规则包括但不限于对获取到的数据进行计算得到单位时间内的相应参数,例如获取帧刷新次数对应计数器的值,则预设处理规则可以是计算单位时间内的帧刷新次数即处理得到帧率,或者获取cpu从开机到当前的运行时间对应值,则预设处理规则可以是计算cpu占用率即处理得到cpu占用率等。同样值得注意的是,这里是以两种具体的预设处理规则进行的示例说明,在实际应用中,需根据具体应用场景做灵活调整,本发明对此不做具体限定。
45.为了更好地理解,本发明实施例中以adb命令包括获取帧刷新次数对应计数器的值进行示例说明;其中:
46.一种实施方式中,系统进程根据adb命令在系统帧缓冲区中获取数据可以包括:系统进程执行adb命令以在系统帧缓冲区中获取帧刷新次数对应计数器的值。此时,可选择上述介绍的情况一,即记录和/或直接显示获取到的帧刷新次数对应计数器的值。
47.一种实施方式中,系统进程根据adb命令在系统帧缓冲区中获取数据可以包括:系统进程执行adb命令以在系统帧缓冲区中获取帧刷新次数对应计数器的值。此时,可选择上述介绍的情况二,即根据预设处理规则对获取到的数据进行处理得到处理结果,显示处理结果;其中:
48.根据预设处理规则对获取到的数据进行处理得到处理结果包括:根据帧刷新次数对应计数器的值计算单位时间段内的帧刷新次数;显示计算结果包括:显示单位时间段内的帧刷新次数;其中,根据帧刷新次数对应计数器的值计算单位时间段内的帧刷新次数包括至少以下步骤,请参见图3所示:
49.步骤s301:计算两个不同时刻分别对应的帧刷新次数的差值,以及两个时刻的差值。
50.步骤s302:利用帧刷新次数的差值除以时刻差值得到单位时间内的帧刷新次数。
51.为了更好地理解,这里一个具体示例进行说明;例如,在第一时刻t1获取到帧刷新次数的值为k1,在第二时刻t2获取到帧刷新次数的值为k2,此时计算得到第一时刻t1和第二时刻t2对应的帧刷新次数的差值k=k2-k1,两个时刻的差值t=t2-t1,则k/t则表示单位时间内的刷新次数,且可以根据需要将k/t进行显示,以便后续相关工作人员可根据显示的k/t确定第二设备上的帧刷新次数是否正常,并进一步地,在正常时确定其是属于较快、适中、较慢等。
52.本发明实施例提供的数据获取方法,通过启动处于内核中的系统进程,接收adb命令,运行在内核中的系统进程可根据adb命令在系统帧缓冲区中获取数据,解决了相关技术中从系统帧缓冲区中获取数据方式较为单一,且在某些场景下存在一定的权限问题并无法获取到的问题。简言之,本发明实施例提供的数据获取方法,丰富了获取系统帧缓冲区中数
据的方式,并保证了获取系统帧缓冲区中数据的准确性,这样便避免了相关技术中通过特定指令在某些场景(如游戏场景)下无法从系统帧缓冲区中获取到数据的现象的发生,大大降低了相关工作人员的困扰,为其带来诸多便利,提升了相关工作人员的满意度。
53.进一步地,本发明实施例提供的数据获取方法,通过接收第一设备如电脑端的启动指令来启动第二设备如安卓智能手机上的系统进程,并借助于安装在第二设备上的测试软件下发adb命令,从而系统进程根据该adb命令从系统帧缓冲区中获取到相应数据,流程简单易于实施利于部署,同时第二设备无需root,既可以在线获取系统帧缓冲区中的数据也可以离线获取系统帧缓冲区中的数据;且可以灵活对测试软件中的adb命令进行设置,这样便能实现灵活地从系统帧缓冲区中获取到相应数据,灵活性高,提升了测试相关人员的满意度。
54.进一步地,本发明实施例提供的数据获取方法,通过对从系统帧缓冲区中获取到相应数据进行直接显示或对相应数据进行处理后显示处理结果,均更加直观明了,便于测试相关人员的查看,进一步提升了测试相关人员的满意度。
55.实施例二:
56.本发明实施例是在实施例一的基础上,以一种具体的数据获取方法为例对本发明作进一步的示例说明,请参见图4所示:
57.步骤s401:手机端接收电脑端发送的启动指令,根据该启动指令启动手机端的系统进程。
58.在一实施例中,手机端的游戏应用已运行,即后续是从系统帧缓冲区中获取到游戏应用运行的相关数据。
59.在一实施例中,也可以是手机端的其他应用运行,例如视频播放应用、带有实时视频通话应用,即后续是从系统帧缓冲区中获取到视频播放应用、带有实时视频通话应用运行的相关数据。
60.值得注意的是,在实际应用中,以具体需要测试的应用为准。
61.需要说明的是,根据该启动指令启动手机端的系统进程为处于内核中的进程。
62.步骤s402:接收adb命令,其中adb命令用于指示从系统帧缓冲区中获取帧刷新次数对应计数器的值。
63.应当理解的是,adb命令由安装在手机端的测试软件下发,也即通过手机端的测试软件可以对手机端的应用进行测试,从系统帧缓冲区中获取到应用运行的相关数据,且adb命令包括获取帧刷新次数对应计数器的值。
64.在一实施例中,测试软件中可设计fpsinfo.fps()函数,通过执行adbtools()函数的execadbcmd()函数以实现通过adb命令在系统帧缓冲区中获取帧刷新次数对应计数器的值的功能,其中execadbcmd()函数实现了shell命令的抓取,是通过adb connection()函数来实现,adb connection通过建立socket的对象,crypto对象,进行命令传输,同时调用adbprotocol()对socket的输入输出数据进行解释;并且测试软件中也可设计getframenum()函数,通过执行shell命令dumpsys surfaceflinger"flips"获取系统帧缓冲区从第一时刻到第二时刻的界面的刷新次数。
65.值得注意的是,在实际应用中,以具体的adb命令指示为准,且需根据具体的adb命令对测试软件进行相应设计。
66.步骤s403:系统进程执行adb命令以在系统帧缓冲区中分别获取在两个不同时刻系统帧缓冲区中帧刷新次数对应计数器的值。
67.步骤s404:计算两个不同时刻分别对应的帧刷新次数的差值,以及两个时刻的差值。
68.步骤s405:利用帧刷新次数的差值除以时刻差值得到单位时间内的帧刷新次数。
69.步骤s406:显示单位时间段内的帧刷新次数。
70.在一实施例中,可以在测试应用界面中显示单位时间段内的帧刷新次数,如参见图5所示,为在测试应用界面显示游戏应用a在单位时间段内的帧刷新次数为k/t的界面示意图。
71.在一实施例中,也可以在测试应用界面中直接显示从系统帧缓冲区中获取到帧刷新次数对应计数器的值。
72.应当理解的是,本发明实施例中的帧刷新次数仅是以在两个不同时刻获取到的帧刷新次数和时刻的差值计算得到的一个单位时间内的帧刷新次数,在实际应用中,帧刷新次数还可以是得到的多个单位时间内的帧刷新次数取平均值得到,这样提高了单位时间段内的帧刷新次数的准确率,从而提高了测试软件测试手机端应用的准确性。
73.本发明实施例提供的数据获取方法,通过接收第一设备如电脑端的启动指令来启动第二设备如智能手机上的处于内核中的系统进程,并借助于安装在第二设备上的测试软件下发adb命令,从而运行在内核中的系统进程根据该adb命令从系统帧缓冲区中获取到游戏运行的相应数据,流程简单易于实施利于部署,同时第二设备无需root,既可以在线获取系统帧缓冲区中的数据也可以离线获取系统帧缓冲区中的数据;且可以灵活对测试软件中的adb命令进行设置,这样便能实现灵活地从系统帧缓冲区中获取到相应数据,灵活性高,提升了测试相关人员的满意度。
74.实施例三:
75.本发明实施例提供一种数据获取装置,请参见图6-1所示,本发明实施例提供的数据获取装置包括:启动模块601、接收模块602及获取模块603,其中:
76.启动模块601,用于启动系统进程,该系统进程为处于内核中的进程;
77.接收模块602,用于接收安卓调试桥adb命令,该adb命令用于指示从系统帧缓冲区中获取数据;
78.获取模块603,用于系统进程根据adb命令在系统帧缓冲区中获取数据。
79.在一实施例中,接收模块602,还用于接收第一设备发送的启动指令;进一步地,启动模块601根据启动指令启动第二设备中的处于内核中的系统进程,其中第一设备和第二设备为不同设备。
80.在一实施例中,adb命令包括但不限于获取帧刷新次数对应计数器的值、获取帧刷新次数对应计数器的值、获取cpu从开机到当前的运行时间对应值等;其中,当adb命令包括获取帧刷新次数对应计数器的值时,获取模块603利用系统进程执行adb命令以在系统帧缓冲区中获取帧刷新次数对应计数器的值。
81.在一实施例中,请参见图6-2所示,数据获取装置还包括:显示模块604,其中显示模块604,用于系统进程根据adb命令在系统帧缓冲区中获取数据之后,记录和/或直接显示获取到的数据;和/或,用于系统进程根据adb命令在系统帧缓冲区中获取数据之后,根据预
设处理规则对获取到的数据进行处理得到处理结果,显示处理结果。
82.在一实施例中,获取模块603分别获取在两个不同时刻系统帧缓冲区中帧刷新次数对应计数器的值,显示模块604计算两个不同时刻分别对应的帧刷新次数的差值以及两个时刻的差值,利用帧刷新次数的差值除以时刻差值得到单位时间内的帧刷新次数,即显示帧刷新次数。
83.值得注意的是,为了不累赘说明,在本发明实施例中并未完全阐述实施例一至二中的所有示例,应当明确的是,实施例一至二中的所有示例均适用于本发明实施例。
84.本发明实施例提供的通过启动处于内核中的系统进程,接收adb命令,运行在内核中的系统进程可根据adb命令在系统帧缓冲区中获取数据,解决了相关技术中从系统帧缓冲区中获取数据方式较为单一,且在某些场景下存在一定的权限问题并无法获取到的问题。所以和相关技术中的数据获取装置相比,本发明实施例提供的数据获取装置丰富了获取系统帧缓冲区中数据的方式,并保证了获取系统帧缓冲区中数据的准确性,这样便避免了相关技术中通过特定指令在某些场景(如游戏场景)下无法从系统帧缓冲区中获取到数据的现象的发生,大大降低了相关工作人员的困扰,为其带来诸多便利,提高了满意度。
85.实施例四:
86.本发明实施例提供一种终端,请参见图7所示,本发明实施例提供的终端包括处理器701、存储器702、及通信总线703。
87.其中,本发明实施例中的通信总线703用于实现处理器701与存储器702之间的连接通信,处理器701则用于执行存储器702中存储的一个或者多个程序,以实现以下步骤:
88.启动系统进程,所述系统进程为处于内核中的进程;
89.接收安卓调试桥adb命令,所述adb命令用于指示从系统帧缓冲区中获取数据;
90.系统进程根据adb命令在系统帧缓冲区中获取数据。
91.值得注意的是,为了不累赘说明,在本发明实施例中并未完全阐述实施例一至二中的所有示例,应当明确的是,实施例一至二中的所有示例均适用于本发明实施例。
92.本发明实施例还提供一种存储介质,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现如实施例一至二中的数据获取方法的步骤。
93.该存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically eraable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
94.可见,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的计算机程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实
施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。
95.此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、计算机程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。
96.以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1