CN105045713B - 数据处理方法及移动终端 - Google Patents
数据处理方法及移动终端 Download PDFInfo
- Publication number
- CN105045713B CN105045713B CN201510415584.3A CN201510415584A CN105045713B CN 105045713 B CN105045713 B CN 105045713B CN 201510415584 A CN201510415584 A CN 201510415584A CN 105045713 B CN105045713 B CN 105045713B
- Authority
- CN
- China
- Prior art keywords
- exercise data
- data
- application programming
- programming interface
- mobile terminal
- 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.)
- Active
Links
Landscapes
- Medical Treatment And Welfare Office Work (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种数据处理方法及移动终端;方法包括:对移动终端运行的操作***中的应用程序编程接口执行劫持操作,所述应用程序编程接口为所述操作***输出运动数据输出对应所述移动终端的运动数据的接口;获取测试场景的需求参数信息,基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据。采用本发明,能够快速构建运动数据量较大的测试场景,提高测试待测试应用中的原始筛选策略的效率,便于对原始筛选策略进行调整。
Description
技术领域
本发明涉及移动终端中的应用测试技术,尤其涉及一种数据处理方法及移动终端。
背景技术
移动终端(如智能手机、智能手表、平板电脑等)应用于用户的运动场景时,如图1所示,移动终端中的应用(如微信、QQ等社交应用)能够读取移动终端操作***(如Google的安卓***、苹果的iOS***)的数据接口(可以视为操作***的应用程序编程接口API,是移动终端中的计步器基于移动终端中的传感器输出的传感数据进行分析并输出运动数据的接口)输出的运动数据(如表征用户运动步数的运动数据),可以读取运动数据并将用户的运动数据进行显示或分享(可以将运动数据上报服务器,由服务器进行分析后得到运动信息,如运动总步数,发送至移动终端中的应用进行显示,或发送至其他移动终端中的应用进行分享);
如果移动终端的应用将移动终端操作***的数据接口(也即操作***中提供获取运动数据的接口)输出的运动数据全部作为表征用户运动状态的数据,那么由于数据接口输出的运动数据存在误差(如操作***自身的问题导致的误差、或者移动终端中的电噪声导致的误差)而输出异常数据,如果应用将异常数据也发送到服务器将导致服务器分析出的用户的运动信息出现错误,例如,当前应用从数据接口所读取的运动步数为100,那么由于误差的影响下次从数据接口读取的运动步数可能为80或1000(由于运动步数发生减少,或不符合实际情况的增加);
因此,移动终端中的应用在上报运动数据前需要对运动数据进行筛选,筛选通过的运动数据才会被上报至服务器进行分析处理(或进行分享);当测试移动终端中的应用筛选运动数据所使用的筛选策略时,每个测试场景中测试人员需要持有移动终端运动既定的步数(对应先验运动数据),并使移动终端中的应用对从数据接口读取的运动数据进行筛选并输出,基于输出的运动数据与先验运动数据的差值调整筛选策略,直至应用输出的运动数据与先验运动数据的差值在允许的误差范围内;
实际应用中,在确定移动终端应用使用的筛选策略时,往往需要构造多个测试场景,每个测试场景的运动数据不同,当一个测试场景的运动数据量较大时(如以万步计的运动步数)时,由测试人员频繁持有移动终端进行运动来达到对应的运动数据量以构造测试场景是不现实的,如果仅使用运动数据量较小的测试场景来确定运动数据的筛选策略,又会影响移动终端中的应用输出运动数据的精度;
综上所述,对于如何快速构建运动数据量较大的测试场景,以对移动终端中的应用所使用的筛选策略进行调整,以筛除异常的运动数据,相关技术尚无有效解决方案。
发明内容
本发明实施例提供一种数据处理方法及移动终端,能够快速构建运动数据量较大的测试场景,提高测试待测试应用中的原始筛选策略的效率,便于对原始筛选策略进行调整。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据处理方法,所述方法包括:
对移动终端运行的操作***中的应用程序编程接口执行劫持操作,所述应用程序编程接口为所述操作***输出运动数据输出对应所述移动终端的运动数据的接口;
获取测试场景的需求参数信息,基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据。
上述方案中,所述基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据,包括:
解析出所述需求参数信息表征所述测试场景需求运动数据的类型、以及所需求类型的运动数据的数据量;
控制所劫持的应用程序编程接口输出对应类型的运动数据,且输出的对应类型的运动数据的数据量,与所述需求参数信息指示的对应类型的运动数据的数据量一致。
上述方案中,所述方法还包括:
基于对应待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据。
上述方案中,所述方法包括:
获取目标筛选策略,所述目标筛选策略为基于所述目标虚拟运动数据表征的第一运动信息与所述原始虚拟运动数据表征的第二运动信息的差值,对所述原始筛选策略进行调整得到
基于所述目标筛选策略对从处于未被劫持状态的所述应用程序编程接口获取的运动数据进行筛选处理,得到筛选处理后的目标运动数据。
上述方案中,所述基于待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据,包括:
比较从第i次从所述应用程序编程接口获取的第i组原始虚拟运动数据、以及第j次从所述应用程序编程接口获取的第j组原始虚拟运动数据,其中,1≤i≤j≤N,i和j均为整数,N为原始虚拟运动数据的分组的最大值;
当所述第j组原始虚拟运动数据相较于所述第i组原始虚拟运动数据的波动值超出波动值阈值时,从原始虚拟运动数据中筛除所述第j组原始虚拟运动数据,得到所述目标虚拟运动数据。
上述方案中,所述对所检测到应用程序编程接口执行劫持操作,包括:
在加载所述操作***时,对所述操作***中特定进程进行替换,以使所述替换后的进程对所检测到的应用程序编程接口执行劫持操作;
或者,在加载所述操作***时运行设置于所述操作***中特定插件的方式,对所检测到的应用程序编程接口执行劫持操作。
本发明实施例还提供了一种移动终端,所述移动终端包括:
劫持单元,用于对所述移动终端运行的操作***中的应用程序编程接口执行劫持操作,所述应用程序编程接口为所述操作***输出运动数据输出对应所述移动终端的运动数据的接口;
第一获取单元,用于获取测试场景的需求参数信息;
输出单元,用于基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据。
上述方案中,所述输出单元包括:
解析模块,用于解析出所述需求参数信息表征所述测试场景需求运动数据的类型、以及所需求类型的运动数据的数据量;
输出模块,用于控制所劫持的应用程序编程接口输出对应类型的运动数据,且输出的对应类型的运动数据的数据量,与所述需求参数信息指示的对应类型的运动数据的数据量一致。
上述方案中,所述移动终端还包括:
第一筛选单元,用于基于对应待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据。
上述方案中,所述移动终端还包括:
第二获取单元,用于获取目标筛选策略,所述目标筛选策略为基于所述目标虚拟运动数据表征的第一运动信息与所述原始虚拟运动数据表征的第二运动信息的差值,对所述原始筛选策略进行调整得到
第二筛选单元,用于基于所述目标筛选策略对从处于未被劫持状态的所述应用程序编程接口获取的运动数据进行筛选处理,得到筛选处理后的目标运动数据。
上述方案中,所述第一筛选单元包括:
比较模块,用于比较从第i次从所述应用程序编程接口获取的第i组原始虚拟运动数据、以及第j次从所述应用程序编程接口获取的第j组原始虚拟运动数据,其中,1≤i≤j≤N,i和j均为整数,N为原始虚拟运动数据的分组的最大值;
筛除模块,用于当所述第j组原始虚拟运动数据相较于所述第i组原始虚拟运动数据的波动值超出波动值阈值时,从原始虚拟运动数据中筛除所述第j组原始虚拟运动数据,得到所述目标虚拟运动数据。
上述方案中,所述劫持单元还用于在加载所述操作***时,对所述操作***中特定进程进行替换,以使所述替换后的进程对所检测到的应用程序编程接口执行劫持操作;
或者,所述劫持单元还用于在加载所述操作***时运行设置于所述操作***中特定插件的方式,对所检测到的应用程序编程接口执行劫持操作。
本发明实施例中,通过对输出运动数据的应用呈现结果的劫持,可以基于测试场景的需求快速输出任意类型的虚拟运动数据,不需要测试测试人员持有移动终端运动以构成各种不同的测试场景,明显提升了对待测试应用中的原始筛选策略进行测试的效率,便于对原始筛选策略进行快速调整。
附图说明
图1是运动数据的处理场景示意图;
图2是本发明实施例中数据处理方法的实现流程图一;
图3是本发明实施例中移动终端中数据处理的结构拓扑示意图;
图4是本发明实施例中数据处理过程中的数据流的示意图一;
图5是本发明实施例中数据处理过程中的数据流的示意图二;
图6是本发明实施例中数据处理方法的实现流程图二;
图7是本发明实施例中数据处理方法的实现流程图三;
图8是本发明实施例中数据处理方法的实现流程图四;
图9是本发明实施例中数据处理方法的实现流程图五;
图10是本发明实施例中待测试应用的一个应用场景示意图;
图11是本发明实施例中移动终端的功能结构示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
本实施例记载一种数据处理方法,可以应用于移动终端中,移动终端在产品形态上可以为智能手机、平板电脑、智能手表和智能手环等,移动终端设置支持运行智能操作***,如苹果的iOS***和Google的安卓***;
如图2所示,本实施例记载的数据处理方法包括以下步骤:
步骤S101,检测移动终端运行的操作***输出运动数据的应用程序编程接口(API,Application Programming Interface)。
对应用程序编程接口的检测,可以通过检测对应用程序编程接口的调用行为来实现;移动终端中的应用(如微信、QQ等)支持从上述应用程序编程接口获取运动数据(如用户运动的步数、用户运动的位置),当检测到移动终端中的应用的调用行为时,同时即可实现对移动终端中的应用调用的应用程序编程接口的检测。
应用程序编程接口为移动终端运动的操作***输出运动数据输出对应所述移动终端的运动数据的接口,移动终端中可以设置传感器(如陀螺仪、全球卫星导航***GPS模块)以采集用户持有移动终端运动(如走路、跑步)时的传感数据,移动终端中的处理器(如协处理器)周期性的通过应用程序编程接口输出解析传感数据得到的运动数据,运动数据表征用于表征用户的运动,如用户运动的步数、用户运动的位置。
以运动数据为运动步数的数据、操作***为安卓***为例,从版本4.4(API19)开始具有脚步移动识别和移动步数计算的查询接口(API),通过读取传感器事件(SensorEvent)对象TYPE_STEP_COUNTER的值,可以获取表征移动步数的运动数据。
步骤S102,对所检测到应用程序编程接口执行劫持操作。
对于iOS操作***,在加载所述操作***时运行设置于所述操作***中特定插件的方式,对所检测到的应用程序编程接口执行劫持操作;例如,可以通过破解iOS操作***最高权限的方式,在iOS操作***中设置Cydia Substrate插件,Cydia Substrate插件会在iOS操作***启动时通过钩子函数如MSHookeMessage函数来替换Objective-C的消息,以及通过MSHookFunction来替换iOS***的C/C++函数,以达到劫持应用程序编程接口的目的。
对于Android操作***,在加载Android操作***时,对Android操作***中特定进程进行替换,以使所述替换后的进程对所检测到的应用程序编程接口执行劫持操作;例如,可以采用动态劫持项目的工具XPosed,通过替换zygote进程,zygote进程用于执行Android操作***中以下路径的程序:/system/bin/app_proces,使得app_process在启动过程中会加载XposedBridge.jar,从而完成对Android操作***中输出运动数据的应用程序编程接口的劫持。
步骤S103,获取测试场景的需求参数信息,基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据。
需求参数信息可以在上述实现劫持的特定插件或特定进程中预先设置相应的需求参数,以控制被劫持的应用程序编程接口输出原始虚拟运动数据;原始虚拟运动数据是指应用程序编程接口输出的运动数据并不能真实表征移动终端当前的运动,本质上通过劫持应用程序编程接口、控制了应用程序编程接口的读写权限,从而能够使应用程序编程接口输出任意篡改的运动数据;如图3所示,移动终端运动的操作***中输出运动数据的应用程序编程接口未被劫持时,如果移动终端发生运动,移动终端中的传感器(如用于陀螺仪、GPS模块)会输出传感数据,由协处理器解析后通过操作***中的特定的应用程序编程接口输出运动数据,该运动数据能够真实表征移动终端用户的运动信息;如果移动终端运行操作***中输出运动数据的应用程序编程接口被劫持,即使移动终端不发生运动,也可以控制应用程序编程接口基于测试场景的需求参数信息(如运动步数、运动位置)输出原始虚拟运动数据,原始虚拟运动数据不能表征用户的真实的运动信息;
结合图4,如果移动终端发生运动,移动终端中的传感器(如用于陀螺仪、GPS模块)会输出传感数据,由协处理器解析后通过操作***中的特定的应用程序编程接口输出运动数据,该运动数据能够真实表征移动终端用户的运动信息;
结合图5,如果移动终端运行操作***中输出运动数据的应用程序编程接口被劫持,即使移动终端不发生运动,也可以控制应用程序编程接口基于测试场景的需求参数信息(如运动步数、运动位置)输出原始虚拟运动数据,原始虚拟运动数据不能表征用户的真实的运动信息。
移动终端运行的操作***中输出运动数据的应用程序编程接口处于劫持状态时,移动终端中运行的待测试应用(如微信、QQ等)能够从被劫持的应用程序编程接口获取原始虚拟数据,当然,对于待测试应用来说并不知道应用程序编程接口输出的运动数据是虚拟的,即待测试应用认为当前获得的原始虚拟运动数据是用户持有移动终端进行运动时触发应用程序编程接口输出的运动数据,待测应用被“欺骗”认为该原始虚拟运动数据能够移动终端用户的运动信息,例如移动终端用户的运动的步数、以及移动终端用户的位置的变化(也即运动的路径)等信息;
这样,在需要构造一个测试场景(如以万步计的运动步数的测试场景),测试人员无需持有移动终端,以触发应用程序编程接口输出对应的运动数据,只需要设置需要的测试场景的需求参数,就可以控制应用程序编程接口输出满足需求参数的原始虚拟运动数据,与相关技术相比,明显节省了构造运动数据的时间。
实施例二
本实施例对上述实施例中输出原始虚拟运动数据的处理进行说明,如图6所示,基于需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据,可以通过以下步骤实现:
步骤S201,解析出所述需求参数信息表征所述测试场景需求运动数据的类型、以及所需求类型的运动数据的数据量。
所述运动数据的类型包括:正常运动数据和异常运动数据;其中,正常运动数据的波动值未超出波动阈值,所述异常运动数据的波动值超出波动阈值;以运动数据表征用户的运动步数为例,运动数据的数据量可以用运动总步数来表征,或者用输出的原始虚拟运动数据分组的数量来表征;上述的波动值是指相邻两组(如第1组和第2组)或相近的两组(如第1组和第3组)原始虚拟运动数据的差值;
以运动数据表征运动步数为例进行说明,设在输出的原始虚拟运动数据中,第1组原始虚拟运动数据为2,表征在第1个采样周期内用户运动的步数为2,如果第2组原始虚拟运动数据为20,表征在第1个采样周期内用户运动的步数为20,这超出了用户运动的最大值5(也就是说用户在一个采用周期中做多运动5步),由于第2组原始虚拟运动数据为20,较第1组原始虚拟运动数据2的波动值18超出了波动值阈值5,因此,第2组原始虚拟运动数据为一组异常运动数据;同理,如果第3组原始虚拟运动数据为3,表征在第3个采样周期内用户运动的步数为3,与第1组原始虚拟运动数据相比波动值为1(由于第2组原始虚拟运动数据为异常运动数据,因此将第3组原始虚拟运动数据与的1组原始虚拟运动数据进行比较得到波动值,由于第3组原始虚拟运动数据较第1组原始虚拟运动数据的波动值未超出波动值阈值,因此第3组原始虚拟运动数据为正常运动数据。
步骤S202,控制所劫持的应用程序编程接口输出对应类型的运动数据。
输出的虚拟运动数据的类型需求参数指示的类型一致,并且,输出的对应类型的运动数据的数据量,与需求参数信息指示的对应类型的运动数据的数据量一致。
实际应用中,控制劫持的应用程序编程接口输出的原始虚拟运动数据可以全部为正常原始虚拟运动数据,或者,包括正常原始虚拟运动数据和异常原始虚拟运动数据;例如,测试场景的需求参数可以为:运动数据类型:正常运动数据;异常运动数据;正常运动数据量,1000步,异常运动数据量,200步;当然,测试场景的需求参数也可以为:运动数据类型:正常运动数据;异常运动数据;正常运动数据量,1000组;异常运动数据量,200组。
可以看出,基于测试场景的需求参数可以构造任意的原始虚拟运动数据,从而可以对待测试应用中的原始筛选策略进行快速测试,提升测试效率。
实施例三
如前实施例所述,移动终端运动的操作***(如安卓操作***、iOS操作***)中的输出运动数据的应用程序编程接口处于劫持状态时,可以基于测试的需求参数输出的虚拟原始运动数据,其中,输出的原始虚拟运动数据用于移动终端运行的待测试应用进行筛选处理,并输出目标虚拟运动数据。
如图7所示,本实施例记载的数据处理方法包括以下步骤:
步骤S301,检测移动终端运行的操作***输出运动数据的应用程序编程接口。
对应用程序编程接口的检测,可以通过检测对应用程序编程接口的调用行为来实现;移动终端中的应用(如微信、QQ等)支持从上述应用程序编程接口获取运动数据(如用户运动的步数、用户运动的位置),当检测到移动终端中的应用的调用行为时,同时即可实现对移动终端中的应用调用的应用程序编程接口的检测。
应用程序编程接口为移动终端运动的操作***输出运动数据输出对应所述移动终端的运动数据的接口,移动终端中可以设置传感器(如陀螺仪、全球卫星导航***GPS模块)以采集用户持有移动终端运动(如走路、跑步)时的传感数据,移动终端中的处理器(如协处理器)周期性的通过应用程序编程接口输出解析传感数据得到的运动数据,运动数据表征用于表征用户的运动,如用户运动的步数、用户运动的位置。
以运动数据为运动步数的数据、操作***为安卓***为例,从版本4.4(API19)开始具有脚步移动识别和移动步数计算的查询接口,通过读取传感器事件对象TYPE_STEP_COUNTER的值,可以获取表征移动步数的运动数据。
步骤S302,对所检测到应用程序编程接口执行劫持操作。
对于iOS操作***,在加载所述操作***时运行设置于所述操作***中特定插件的方式,对所检测到的应用程序编程接口执行劫持操作;例如,可以通过破解iOS操作***最高权限的方式,在iOS操作***中设置Cydia Substrate插件,Cydia Substrate插件会在iOS操作***启动时通过钩子函数如MSHookeMessage函数来替换Objective-C的消息,以及通过MSHookFunction来替换iOS***的C/C++函数,以达到劫持应用程序编程接口的目的。
对于Android操作***,在加载Android操作***时,对Android操作***中特定进程进行替换,以使所述替换后的进程对所检测到的应用程序编程接口执行劫持操作;例如,可以采用动态劫持项目的工具XPosed,通过替换zygote进程,zygote进程用于执行Android操作***中以下路径的程序:/system/bin/app_proces,使得app_process在启动过程中会加载XposedBridge.jar,从而完成对Android操作***中输出运动数据的应用程序编程接口的劫持。
步骤S303,获取测试场景的需求参数信息,基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据。
需求参数信息可以在上述实现劫持的特定插件或特定进程中预先设置相应的需求参数,以控制被劫持的应用程序编程接口输出原始虚拟运动数据;原始虚拟运动数据是指应用程序编程接口输出的运动数据并不能真实表征移动终端当前的运动,本质上通过劫持应用程序编程接口、控制了应用程序编程接口的读写权限,从而能够使应用程序编程接口输出任意篡改的运动数据;如图3所示,移动终端运动的操作***中输出运动数据的应用程序编程接口未被劫持时,如果移动终端发生运动,移动终端中的传感器(如用于陀螺仪、GPS模块)会输出传感数据,由协处理器解析后通过操作***中的特定的应用程序编程接口输出运动数据,该运动数据能够真实表征移动终端用户的运动信息;如果移动终端运行操作***中输出运动数据的应用程序编程接口被劫持,即使移动终端不发生运动,也可以控制应用程序编程接口基于测试场景的需求参数信息(如运动步数、运动位置)输出原始虚拟运动数据,原始虚拟运动数据不能表征用户的真实的运动信息;
结合图4,如果移动终端发生运动,移动终端中的传感器(如用于陀螺仪、GPS模块)会输出传感数据,由协处理器解析后通过操作***中的特定的应用程序编程接口输出运动数据,该运动数据能够真实表征移动终端用户的运动信息;
结合图5,如果移动终端运行操作***中输出运动数据的应用程序编程接口被劫持,即使移动终端不发生运动,也可以控制应用程序编程接口基于测试场景的需求参数信息(如运动步数、运动位置)输出原始虚拟运动数据,原始虚拟运动数据不能表征用户的真实的运动信息。
移动终端运行的操作***中输出运动数据的应用程序编程接口处于劫持状态时,移动终端中运行的待测试应用(如微信、QQ等)能够从被劫持的应用程序编程接口获取原始虚拟数据,当然,对于待测试应用来说并不知道应用程序编程接口输出的运动数据是虚拟的,即待测试应用认为当前获得的原始虚拟运动数据是用户持有移动终端进行运动时触发应用程序编程接口输出的运动数据,待测应用被“欺骗”认为该原始虚拟运动数据能够移动终端用户的运动信息,例如移动终端用户的运动的步数、以及移动终端用户的位置的变化(也即运动的路径)等信息;
这样,在需要构造一个测试场景(如以万步计的运动步数的测试场景),测试人员无需持有移动终端,以触发应用程序编程接口输出对应的运动数据,只需要设置需要的测试场景的需求参数,就可以控制应用程序编程接口输出满足需求参数的原始虚拟运动数据,与相关技术相比,明显节省了构造运动数据的时间。
步骤S304,基于对应待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据。
对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,目的在于筛除原始虚拟运动数据中存在误差的运动数据,后续可以将进行筛选处理后得到的目标虚拟运动数据上报至服务器,例如,待测试应用为微信时,微信可以在利用微信中的筛选策略对从应用程序编程接口获取的原始虚拟运动数据进行筛选处理后,将得到的目标虚拟运动数据上传至微信服务器,由微信服务器进行分析处理,当然,微信在利用微信中的筛选策略对从应用程序编程接口获取的原始虚拟运动数据进行筛选处理后,也可以由移动终端在本地进行分析处理(视移动终端的运算能力决定)。
实施例四
如前实施例所述,移动终端运动的操作***(如安卓操作***、iOS操作***)中的输出运动数据的应用程序编程接口处于劫持状态时,可以基于测试的需求参数输出的虚拟原始运动数据,其中,输出的原始虚拟运动数据用于移动终端运行的待测试应用进行筛选处理,并输出目标虚拟运动数据,目标虚拟运动数据用于供服务器进行分析处理,以调整待测试应用中的原始筛选策略,确定待测试应用正式上线时所使用的目标筛选策略。
如图8所示,本实施例记载的数据处理方法包括以下步骤:
步骤S401,检测移动终端运行的操作***输出运动数据的应用程序编程接口。
对应用程序编程接口的检测,可以通过检测对应用程序编程接口的调用行为来实现;移动终端中的应用(如微信、QQ等)支持从上述应用程序编程接口获取运动数据(如用户运动的步数、用户运动的位置),当检测到移动终端中的应用的调用行为时,同时即可实现对移动终端中的应用调用的应用程序编程接口的检测。
应用程序编程接口为移动终端运动的操作***输出运动数据输出对应所述移动终端的运动数据的接口,移动终端中可以设置传感器(如陀螺仪、全球卫星导航***GPS模块)以采集用户持有移动终端运动(如走路、跑步)时的传感数据,移动终端中的处理器(如协处理器)周期性的通过应用程序编程接口输出解析传感数据得到的运动数据,运动数据表征用于表征用户的运动,如用户运动的步数、用户运动的位置。
以运动数据为运动步数的数据、操作***为安卓***为例,从版本4.4(API19)开始具有脚步移动识别和移动步数计算的查询接口,通过读取传感器事件对象TYPE_STEP_COUNTER的值,可以获取表征移动步数的运动数据。
步骤S402,对所检测到应用程序编程接口执行劫持操作。
对于iOS操作***,在加载所述操作***时运行设置于所述操作***中特定插件的方式,对所检测到的应用程序编程接口执行劫持操作;例如,可以通过破解iOS操作***最高权限的方式,在iOS操作***中设置Cydia Substrate插件,Cydia Substrate插件会在iOS操作***启动时通过钩子函数如MSHookeMessage函数来替换Objective-C的消息,以及通过MSHookFunction来替换iOS***的C/C++函数,以达到劫持应用程序编程接口的目的。
对于Android操作***,在加载Android操作***时,对Android操作***中特定进程进行替换,以使所述替换后的进程对所检测到的应用程序编程接口执行劫持操作;例如,可以采用动态劫持项目的工具XPosed,通过替换zygote进程,zygote进程用于执行Android操作***中以下路径的程序:/system/bin/app_proces,使得app_process在启动过程中会加载XposedBridge.jar,从而完成对Android操作***中输出运动数据的应用程序编程接口的劫持。
步骤S403,获取测试场景的需求参数信息,基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据。
需求参数信息可以在上述实现劫持的特定插件或特定进程中预先设置相应的需求参数,以控制被劫持的应用程序编程接口输出原始虚拟运动数据;原始虚拟运动数据是指应用程序编程接口输出的运动数据并不能真实表征移动终端当前的运动,本质上通过劫持应用程序编程接口、控制了应用程序编程接口的读写权限,从而能够使应用程序编程接口输出任意篡改的运动数据;如图3所示,移动终端运动的操作***中输出运动数据的应用程序编程接口未被劫持时,如果移动终端发生运动,移动终端中的传感器(如用于陀螺仪、GPS模块)会输出传感数据,由协处理器解析后通过操作***中的特定的应用程序编程接口输出运动数据,该运动数据能够真实表征移动终端用户的运动信息;如果移动终端运行操作***中输出运动数据的应用程序编程接口被劫持,即使移动终端不发生运动,也可以控制应用程序编程接口基于测试场景的需求参数信息(如运动步数、运动位置)输出原始虚拟运动数据,原始虚拟运动数据不能表征用户的真实的运动信息;
结合图4,如果移动终端发生运动,移动终端中的传感器(如用于陀螺仪、GPS模块)会输出传感数据,由协处理器解析后通过操作***中的特定的应用程序编程接口输出运动数据,该运动数据能够真实表征移动终端用户的运动信息;
结合图5,如果移动终端运行操作***中输出运动数据的应用程序编程接口被劫持,即使移动终端不发生运动,也可以控制应用程序编程接口基于测试场景的需求参数信息(如运动步数、运动位置)输出原始虚拟运动数据,原始虚拟运动数据不能表征用户的真实的运动信息。
移动终端运行的操作***中输出运动数据的应用程序编程接口处于劫持状态时,移动终端中运行的待测试应用(如微信、QQ等)能够从被劫持的应用程序编程接口获取原始虚拟数据,当然,对于待测试应用来说并不知道应用程序编程接口输出的运动数据是虚拟的,即待测试应用认为当前获得的原始虚拟运动数据是用户持有移动终端进行运动时触发应用程序编程接口输出的运动数据,待测应用被“欺骗”认为该原始虚拟运动数据能够移动终端用户的运动信息,例如移动终端用户的运动的步数、以及移动终端用户的位置的变化(也即运动的路径)等信息;
这样,在需要构造一个测试场景(如以万步计的运动步数的测试场景),测试人员无需持有移动终端,以触发应用程序编程接口输出对应的运动数据,只需要设置需要的测试场景的需求参数,就可以控制应用程序编程接口输出满足需求参数的原始虚拟运动数据,与相关技术相比,明显节省了构造运动数据的时间。
步骤S404,基于对应待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据。
对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,目的在于筛除原始虚拟运动数据中存在误差的运动数据,后续可以将进行筛选处理后得到的目标虚拟运动数据上报至服务器,例如,待测试应用为微信时,微信可以在利用微信中的筛选策略对从应用程序编程接口获取的原始虚拟运动数据进行筛选处理后,将得到的目标虚拟运动数据上传至微信服务器,由微信服务器进行分析处理,当然,微信在利用微信中的筛选策略对从应用程序编程接口获取的原始虚拟运动数据进行筛选处理后,也可以由移动终端在本地尽心分析处理(视移动终端的运算能力决定)。
步骤S405,获取目标筛选策略。
目标筛选策略为服务器基于所述目标虚拟运动数据表征的第一运动信息与所述原始虚拟运动数据表征的第二运动信息的差值,对所述原始筛选策略进行调整得到,原始目标筛选策略包括对原始虚拟运动数据进行筛选的一系列条件,用于在原始虚拟运动数据中筛除异常运动数据得到目标虚拟运动数据,例如波动值过滤条件,当从应用程序编程接口获取到一组原始虚拟运动数据时,如果获取的该组原始虚拟运动数据较相邻或相邻的一组正常运动数据(也就是基于原始筛选策略判定为正常运动数据的原始虚拟运动数据)的波动值小于波动值阈值时,则保留当前获取的一组原始虚拟运动数据,否则,筛除当前获取的该组原始虚拟运动数据;
当服务器接收到待测试应用上报的目标运动数据时,确定目标虚拟运动数据表征用户运动的总步数(对应第一运动信息,以运动数据表征运动的步数为例),将目标虚拟运动数据表征用户运动的总步数,与原始虚拟运动数据表征用户运动的总步数(对应第二运动信息,以运动数据表征运动的步数为例),基于步数的差值确定是否需要调整待测试应用中的原始筛选策略,如果差值超出阈值,则可以调整原始筛选策略得到目标筛选策略并下发至待测试应用;从属上述过程,直至获得的第一运动信息与第二运动信息的差值小于阈值,此时待测试应用中使用的目标筛选策略满足筛选原始虚拟运动数据中筛除异常运动数据的精度满足精度要求,不需要继续调整。
步骤S406,基于目标筛选策略对从处于未被劫持状态的所述应用程序编程接口获取的运动数据进行筛选处理,得到筛选处理后的目标运动数据。
由于待测试应用使用目标筛选策略从原始虚拟运动数据中筛除异常运动数据的精度满足精度要求,从而,当待测试应用从应用程序编程接口获取到表征用于真实的运动信息的运动数据时,从获取的运动数据中筛除异常运动数据的精度必然满足精度要求,这就能使不同移动终端由于平台内置的应用程序编程接口输出运动数据均在误差时,能够对存在的误差的运动数据(也就是异常运动数据)进行筛除得到目标运动数据,保证了后续利用目标运动数据进行处理如得到运动信息进行分享或呈现的准确性。
实施例五
本实施例对基于待测试应用的原始筛选策略,对从应用程序编程接口获取的原始虚拟运动数据进行筛选处理的具体实现进行说明,如图9所示,包括以下步骤:
步骤S501,比较从第i次从应用程序编程接口获取的第i组原始虚拟运动数据、以及第j次从应用程序编程接口获取的第j组原始虚拟运动数据。
其中,1≤i≤j≤N,i和j均为整数,N为原始虚拟运动数据的分组的最大值,第i组原始虚拟运动数据的获取时刻早于第j组原始虚拟运动数据的获取时刻,第i组原始虚拟运动数据的获取时刻早于第j组原始虚拟运动数据的获取时刻可以为相邻的两组原始虚拟运动数据,也即为相邻时刻从应用程序编程接口获取的原始虚拟运动数据,此时,j的取值为i+1;第i组原始虚拟运动数据的获取时刻早于第j组原始虚拟运动数据的获取时刻可以为间隔的两组原始虚拟运动数据,也即为间隔时刻从应用程序编程接口获取的原始虚拟运动数据,此时,j的取值为i+k,k为大于1的整数。
步骤S502,所述第j组原始虚拟运动数据相较于所述第i组原始虚拟运动数据的波动值是否超出波动值阈值,如果是,表征第j组原始虚拟运动数据为异常运动数据,则执行步骤S503,否则,表征第j组原始虚拟运动数据为正常运动数据,更新j+1为j,并执行步骤S504。
步骤S503,从原始虚拟运动数据中筛除所述第j组原始虚拟运动数据,更新j+1为j,并执行步骤S504。
步骤S504,判断j取值是否为N,如果是,则执行步骤S505,否则,返回步骤S501。
步骤S505,生成目标虚拟运动数据,也就是将经过上述筛除异常运动数据后的运动数据作为目标虚拟运动数据。
实施例六
本实施例结合实际使用中的一个场景对上述实施例记载的技术方案进行说明,本实施例以待测试应用为微信,移动终端为智能手表、运动数据表征智能手表用户的运动步数(实际应用中还可以表征)为例进行说明。
微信需要实现以下功能,如图10所示,获取用户佩戴智能手表时智能手表中应用程序编程接口(为智能手表运动的操作***的API)输出的运动数据,以确定用户的运动步数,运动步数可以由智能手表自身基于运动数据确定用户的运动步数,或者,由智能手表将运动数据上传至服务器,由服务器确定用户的运动步数并下发至智能手表,智能手表与服务器之间的通信链路可以使用蜂窝通信方式如2G/3G/4G,微信在智能手表的显示界面中显示用户的运动步数,并且,可以将用户的运动步数发送至服务器(微信服务器),由微信服务器将用户的运动步数转发至用户的好友持有的移动终端(如掌上电脑、手机等),实现用户的运动信息的分享功能;
由于微信是从智能手表运动的操作***提供的特定应用程序接口获取运动数据,由于不同操作***的差异,不同操作***的应用程序编程接口输出的运动数据都存在一定的误差,可以理解为不同操作***的应用程序编程接口在输出表征用户的运动信息的运动数据(也即正常运动数据)时,还不可避免地输出了异常运动数据(以及存在明显误差,不符合用于运动的实际情况的运动数据);鉴于此问题,微信中内置筛选策略,微信在从应用程序编程接口获取到运动数据时,可以基于筛选策略筛除获取到中的运动数据中的异常运动数据得到目标运动数据,基于目标运动数据可以准确地确定用户的运动信息;
为了使微信中筛选策略准确,需要内置筛选策略的微信上线前对微信内置的筛选策略进行调整,本实施例中将调整前的筛选策略成为原始筛选策略,将最后调整得到的满足实际筛选精度要求的筛选策略成为目标筛选策略;在对原始筛选策略进行调整时,通过劫持输出运动数据的应用程序编程接口,输出符合测试场景的需求参数的原始虚拟运动数据(包括有异常运动数据),比较微信对原始虚拟运动数据进行筛选得到的筛选结果(也即目标虚拟运动数据)表征的运动步数,与原始虚拟运动数据表征的运动步数(不包括异常运动数据表征的运动步数)的差值,对原始筛选策略进行调整,例如差值大于阈值时,表明需要提高筛选策略中的筛选条件的标准;直至,微信利用调整后的筛选策略对获取的原始虚拟运动数据筛选后得到的目标虚拟运动数据表征的用户的运动步数,与原始虚拟运动数据(不包括异常虚拟运动数据)表征的用户的运动步数的差值低于阈值,表征调整后的筛选策略筛除异常运动数据的精度满足要求;
后续,当内置调整后的筛选策略也即目标筛选策略的微信上线后,可以对应用程序编程接口输出的运动数据中准确筛除异常运动数据,从而得到目标运动数据,从而确保利用目标运动数据确定的用户的运动信息的精度。
实施例七
本实施例记载一种计算机可读介质,可以为ROM(例如,只读存储器、FLASH存储器、转移装置等)、磁存储介质(例如,磁带、磁盘驱动器等)、光学存储介质(例如,CD-ROM、DVD-ROM、纸卡、纸带等)以及其他熟知类型的程序存储器;所述计算机可读介质中存储有计算机可执行指令,当执行所述指令时,引起至少一个处理器执行包括以下的操作:对移动终端运行的操作***中的应用程序编程接口执行劫持操作,所述应用程序编程接口为所述操作***输出运动数据输出对应所述移动终端的运动数据的接口;获取测试场景的需求参数信息,基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据。
实施例八
本实施例记载一种移动终端,与上述实施例记载的移动终端相对应,如图11所示,本实施例记载的移动终端包括:
劫持单元100,用于对移动终端运行的操作***中的应用程序编程接口执行劫持操作,所述应用程序编程接口为所述操作***输出运动数据输出对应所述移动终端的运动数据的接口;
第一获取单元110,与劫持单元100连接,用于获取测试场景的需求参数信息;
输出单元120,与第一获取单元110连接,用于基于所述需求参数信息控制所劫持的应用程序编程接口输出原始虚拟运动数据。
作为一个示例,所述输出单元120包括:
解析模块1201,用于解析出所述需求参数信息表征所述测试场景需求运动数据的类型、以及所需求类型的运动数据的数据量;
输出模块1202,与解析模块1201连接,用于控制所劫持的应用程序编程接口输出对应类型的运动数据,且输出的对应类型的运动数据的数据量,与所述需求参数信息指示的对应类型的运动数据的数据量一致。
作为一个示例,所述测试移动终端还包括:
第一筛选单元130,与输出单元120连接,用于基于对应待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据。
作为一个示例,所述测试移动终端还包括:
第二获取单元140,用于获取目标筛选策略,所述目标筛选策略为基于所述目标虚拟运动数据表征的第一运动信息与所述原始虚拟运动数据表征的第二运动信息的差值,对所述原始筛选策略进行调整得到
第二筛选单元150,用于基于所述目标筛选策略对从处于未被劫持状态的所述应用程序编程接口获取的运动数据进行筛选处理,得到筛选处理后的目标运动数据。
作为一个示例,所述第一筛选单元130包括:
比较模块1301,用于比较从第i次从所述应用程序编程接口获取的第i组原始虚拟运动数据、以及第j次从所述应用程序编程接口获取的第j组原始虚拟运动数据,其中,1≤i≤j≤N,i和j均为整数,N为原始虚拟运动数据的分组的最大值;
筛除模块1302,与比较模块1301连接,用于当所述第j组原始虚拟运动数据相较于所述第i组原始虚拟运动数据的波动值超出波动值阈值时,从原始虚拟运动数据中筛除所述第j组原始虚拟运动数据,得到所述目标虚拟运动数据。
作为一个示例,所述劫持单元100还用于在加载所述操作***时,对所述操作***中特定进程进行替换,以使所述替换后的进程对所检测到的应用程序编程接口执行劫持操作;
或者,所述劫持单元100还用于在加载所述操作***时运行设置于所述操作***中特定插件的方式,对所检测到的应用程序编程接口执行劫持操作。
实际应用中,上述各单元可由移动终端中微处理器(MCU)、专用集成电路(ASIC)或逻辑可编程门阵列(FPGA)实现。
综上所述,本发明实施例具有以下有益效果:
通过对输出运动数据的应用呈现结果的劫持,可以基于测试场景的需求快速输出任意类型的虚拟运动数据,不需要测试测试人员持有移动终端运动以构成各种不同的测试场景,明显提升了对待测试应用中的原始筛选策略进行测试的效率,便于对原始筛选策略进行快速调整,提升了测试人员的测试效率;
后续移动终端可以基于调整后的筛选策略也即目标筛选策略,对从应用程序编程接口获取的表征用户真实运动信息的运动数据进行筛选处理以筛除异常运动数据(也即存在误差的运动数据),提升待测试应用输出运动数据的精度。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、RAM、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据处理方法,其特征在于,所述方法包括:
对移动终端运行的操作***中的应用程序编程接口执行劫持操作,所述应用程序编程接口为所述操作***输出对应所述移动终端的运动数据的接口;
获取测试场景的需求参数信息,基于所述需求参数信息控制所劫持的应用程序编程接口输出不同于所劫持的所述移动终端的运动数据的且满足所述需求参数信息的原始虚拟运动数据。
2.如权利要求1所述的方法,其特征在于,所述基于所述需求参数信息控制所劫持的应用程序编程接口输出不同于所劫持的所述移动终端的运动数据的且满足所述需求参数信息的原始虚拟运动数据,包括:
解析出所述需求参数信息表征所述测试场景需求运动数据的类型、以及所需求类型的运动数据的数据量;
控制所劫持的应用程序编程接口输出对应类型的运动数据,且输出的对应类型的运动数据的数据量,与所述需求参数信息指示的对应类型的运动数据的数据量一致。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于对应待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据。
4.如权利要求3所述的方法,其特征在于,所述方法包括:
获取目标筛选策略,所述目标筛选策略为基于所述目标虚拟运动数据表征的第一运动信息与所述原始虚拟运动数据表征的第二运动信息的差值,对所述原始筛选策略进行调整得到;
基于所述目标筛选策略对从处于未被劫持状态的所述应用程序编程接口获取的运动数据进行筛选处理,得到筛选处理后的目标运动数据。
5.如权利要求3所述的方法,其特征在于,所述基于对应待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据,包括:
比较从第i次从所述应用程序编程接口获取的第i组原始虚拟运动数据、以及第j次从所述应用程序编程接口获取的第j组原始虚拟运动数据,其中,1≤i≤j≤N,i和j均为整数,N为原始虚拟运动数据的分组的最大值;
当所述第j组原始虚拟运动数据相较于所述第i组原始虚拟运动数据的波动值超出波动值阈值时,从原始虚拟运动数据中筛除所述第j组原始虚拟运动数据,得到所述目标虚拟运动数据。
6.如权利要求1所述的方法,其特征在于,对应用程序编程接口执行劫持操作,包括:
在加载所述操作***时,对所述操作***中特定进程进行替换,以使替换后的进程对应用程序编程接口执行劫持操作;
或者,在加载所述操作***时运行设置于所述操作***中特定插件的方式,对应用程序编程接口执行劫持操作。
7.一种移动终端,其特征在于,所述移动终端包括:
劫持单元,用于对所述移动终端运行的操作***中的应用程序编程接口执行劫持操作,所述应用程序编程接口为所述操作***输出对应所述移动终端的运动数据的接口;
第一获取单元,用于获取测试场景的需求参数信息;
输出单元,用于基于所述需求参数信息控制所劫持的应用程序编程接口输出不同于所劫持的所述移动终端的运动数据的且满足所述需求参数信息的原始虚拟运动数据。
8.如权利要求7所述的移动终端,其特征在于,所述输出单元包括:
解析模块,用于解析出所述需求参数信息表征所述测试场景需求运动数据的类型、以及所需求类型的运动数据的数据量;
输出模块,用于控制所劫持的应用程序编程接口输出对应类型的运动数据,且输出的对应类型的运动数据的数据量,与所述需求参数信息指示的对应类型的运动数据的数据量一致。
9.如权利要求7所述的移动终端,其特征在于,所述移动终端还包括:
第一筛选单元,用于基于对应待测试应用的原始筛选策略,对从所述应用程序编程接口获取的原始虚拟运动数据进行筛选处理,得到筛选处理后的目标虚拟运动数据。
10.如权利要求9所述的移动终端,其特征在于,所述移动终端还包括:
第二获取单元,用于获取目标筛选策略,所述目标筛选策略为基于所述目标虚拟运动数据表征的第一运动信息与所述原始虚拟运动数据表征的第二运动信息的差值,对所述原始筛选策略进行调整得到;
第二筛选单元,用于基于所述目标筛选策略对从处于未被劫持状态的所述应用程序编程接口获取的运动数据进行筛选处理,得到筛选处理后的目标运动数据。
11.如权利要求9所述的移动终端,其特征在于,所述第一筛选单元包括:
比较模块,用于比较从第i次从所述应用程序编程接口获取的第i组原始虚拟运动数据、以及第j次从所述应用程序编程接口获取的第j组原始虚拟运动数据,其中,1≤i≤j≤N,i和j均为整数,N为原始虚拟运动数据的分组的最大值;
筛除模块,用于当所述第j组原始虚拟运动数据相较于所述第i组原始虚拟运动数据的波动值超出波动值阈值时,从原始虚拟运动数据中筛除所述第j组原始虚拟运动数据,得到所述目标虚拟运动数据。
12.如权利要求7至11任一项所述的移动终端,其特征在于,
所述劫持单元还用于在加载所述操作***时,对所述操作***中特定进程进行替换,以使所述替换后的进程对应用程序编程接口执行劫持操作;
或者,所述劫持单元还用于在加载所述操作***时运行设置于所述操作***中特定插件的方式,对应用程序编程接口执行劫持操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510415584.3A CN105045713B (zh) | 2015-07-14 | 2015-07-14 | 数据处理方法及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510415584.3A CN105045713B (zh) | 2015-07-14 | 2015-07-14 | 数据处理方法及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105045713A CN105045713A (zh) | 2015-11-11 |
CN105045713B true CN105045713B (zh) | 2018-02-13 |
Family
ID=54452276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510415584.3A Active CN105045713B (zh) | 2015-07-14 | 2015-07-14 | 数据处理方法及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105045713B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105354143A (zh) * | 2015-12-02 | 2016-02-24 | 北京奇虎科技有限公司 | 一种用于应用程序的测试方法及装置 |
CN106095609B (zh) * | 2016-05-31 | 2019-10-25 | Oppo广东移动通信有限公司 | 步行数据校验、修正方法和*** |
CN107463359A (zh) * | 2016-06-02 | 2017-12-12 | 深圳市慧动创想科技有限公司 | 一种在iOS ipa包植入代码的便捷方法 |
CN106227664B (zh) * | 2016-07-22 | 2019-04-12 | 华为技术有限公司 | 一种测试应用程序的方法及装置 |
CN106686049B (zh) * | 2016-08-09 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 位置虚拟方法及位置虚拟装置 |
CN106482742B (zh) * | 2016-09-13 | 2019-05-28 | Oppo广东移动通信有限公司 | 计步数据的获取方法及装置 |
US11228613B2 (en) | 2017-05-22 | 2022-01-18 | International Business Machines Corporation | Adaptive adjustment using sensor data and distributed data |
CN110109938B (zh) * | 2017-12-20 | 2021-04-30 | 北京国双科技有限公司 | 一种数据筛选方法及装置 |
CN108681436B (zh) * | 2018-03-13 | 2020-09-22 | Oppo广东移动通信有限公司 | 画质参数调节方法、装置、终端及存储介质 |
EP3779690A4 (en) | 2018-04-20 | 2021-05-12 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | PROCESSOR CORE PLANNING METHOD AND DEVICE, TERMINAL DEVICE AND STORAGE MEDIUM |
CN109146558A (zh) * | 2018-07-31 | 2019-01-04 | 宜人恒业科技发展(北京)有限公司 | 一种识别虚假运动步数的方法和装置 |
CN110046100B (zh) * | 2019-04-15 | 2022-09-23 | 上海掌门科技有限公司 | 一种分组测试的方法、电子设备及介质 |
CN110347583A (zh) * | 2019-05-23 | 2019-10-18 | 平安科技(深圳)有限公司 | 一种数据分析***会诊方法及相关装置 |
CN112445692B (zh) * | 2019-08-27 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 一种用例测试方法及终端 |
CN114025079B (zh) * | 2021-09-29 | 2024-02-13 | 大连中科创达软件有限公司 | 一种图像质量优化参数的处理方法、装置和*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034725A (zh) * | 2012-12-19 | 2013-04-10 | 中国科学院深圳先进技术研究院 | 数据获取、分析以及预警***及其方法 |
CN103458007A (zh) * | 2013-08-18 | 2013-12-18 | 苏州量跃信息科技有限公司 | Im数据导出的方法、客户端及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI536292B (zh) * | 2014-01-03 | 2016-06-01 | 飛捷科技股份有限公司 | 伺服資訊紀錄系統及應用該伺服資訊紀錄系統的端點銷售系統 |
-
2015
- 2015-07-14 CN CN201510415584.3A patent/CN105045713B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034725A (zh) * | 2012-12-19 | 2013-04-10 | 中国科学院深圳先进技术研究院 | 数据获取、分析以及预警***及其方法 |
CN103458007A (zh) * | 2013-08-18 | 2013-12-18 | 苏州量跃信息科技有限公司 | Im数据导出的方法、客户端及*** |
Also Published As
Publication number | Publication date |
---|---|
CN105045713A (zh) | 2015-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105045713B (zh) | 数据处理方法及移动终端 | |
TW201941058A (zh) | 異常檢測方法及裝置 | |
CN107038108B (zh) | 软件的测试方法和装置 | |
CN107908631A (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN110070005A (zh) | 图像目标识别方法、装置、存储介质及电子设备 | |
CN109558416A (zh) | 一种异常交易的检测方法、装置及存储介质 | |
CN108874470A (zh) | 一种信息处理方法及服务器、计算机存储介质 | |
CN107861864A (zh) | 自动化测试方法、***及计算机可读存储介质 | |
CN106201856A (zh) | 一种多版本性能测试方法及装置 | |
US20150359201A1 (en) | Methods and Apparatus for Tracking and Analyzing Animal Behaviors | |
CN110362492A (zh) | 人工智能算法测试方法、装置、服务器、终端及存储介质 | |
CN109684302A (zh) | 数据预测方法、装置、设备及计算机可读存储介质 | |
CN105429792B (zh) | 用户行为流量获取方法及装置、用户行为分析方法及*** | |
CN110633255B (zh) | 一种获取用户使用时长的方法和装置 | |
CN110338769A (zh) | 告警处理方法、装置、存储介质及电子装置 | |
CN112612472A (zh) | 一种嵌入式模型sdk开发方法和开发平台 | |
CN110046633A (zh) | 一种数据质量检测方法及装置 | |
CN106487602B (zh) | 应用程序发布版本监控方法与监控装置 | |
CN109598302A (zh) | 就诊费用预测方法、装置、设备及计算机可读存储介质 | |
CN113485931A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
CN109815702A (zh) | 软件行为的安全检测方法、装置及设备 | |
CN105848104B (zh) | 基于区域的人员流动状态监测方法及装置 | |
KR101629773B1 (ko) | 약물 펩타이드 후보 선별 장치 및 이를 이용한 약물 펩타이드 후보 선별 방법 | |
CN104753728B (zh) | 一种用户流量监测方法及*** | |
CN106547693B (zh) | ***测试方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |