CN110489597A - 一种获取数据的方法和终端设备 - Google Patents

一种获取数据的方法和终端设备 Download PDF

Info

Publication number
CN110489597A
CN110489597A CN201810443356.0A CN201810443356A CN110489597A CN 110489597 A CN110489597 A CN 110489597A CN 201810443356 A CN201810443356 A CN 201810443356A CN 110489597 A CN110489597 A CN 110489597A
Authority
CN
China
Prior art keywords
parameter value
terminal device
server
configuration information
data
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
CN201810443356.0A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810443356.0A priority Critical patent/CN110489597A/zh
Publication of CN110489597A publication Critical patent/CN110489597A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供了一种获取数据的方法和终端设备,该获取数据的方法包括:终端设备获取配置信息,该配置信息由第一服务器在进行可视化埋点设置时生成;当控件事件被触发时,该终端设备根据该配置信息,获取该控件事件关联的参数值,该参数值包括页面元素数据和/或内存变量数据;该终端设备向第二服务器发送该参数值。本申请提供一种获取数据的方法和终端设备,可以采集到复杂的业务数据(包括页面元素数据和/或内存变量数据),有助于提高采集的信息的深度。

Description

一种获取数据的方法和终端设备
技术领域
本申请涉及电子设备领域,并且更具体地,涉及电子设备领域中获取数据的方法和终端设备。
背景技术
随着移动互联网的飞速发展,移动应用(Application,app)越来越多,版本发布越来越快。随着大数据的快速发展,越来越多的企业使用大数据技术驱动业务精细化运营,从数据中获取新的洞察力,用数据创造价值。数据采集是大数据的来源,如何方便快捷的采集app使用过程中的数据是大数据的一个关键技术点。
代码埋点技术是将收集数据的代码直接写在需要的地方,当用户点击某个控件或者打开某个页面时调用到该部分代码完成数据的收集。可视化埋点技术是用可视化交互手段来代替写代码,把核心代码和配置、资源分开。在app启动时通过网络更新配置,app运行过程中根据配置文件动态收集用户行为,从而获取数据进行分析。
可视化埋点技术在一定程度上解决了代码埋点的埋点代价大的问题,配置文件可动态更新。但是,可视化埋点技术覆盖功能有限,目前并不是所有控件操作都可通过可视化埋点定制,如弹出框,隐藏控件,滑动事件等行为就不能收集。并且,可视化埋点技术收集的数据比较简单,只能收集用户行为和默认属性,不能收集到与行为相关的具体数据,难以采集复杂的业务数据,信息深度浅。
发明内容
有鉴于此,本申请提供一种获取数据的方法和终端设备,以期在可视化埋点技术中,提高采集的信息的深度。
第一方面,提供了一种获取数据的方法,该方法包括:终端设备获取配置信息,该配置信息由第一服务器在进行可视化埋点设置时生成;当控件事件被触发时,该终端设备根据该配置信息,获取该控件事件关联的参数值,该参数值包括页面元素数据和/或内存变量数据;该终端设备向第二服务器发送该参数值。
在一些可能的实现方式中,该页面元素数据包括页面上固定存在的页面元素数据,以及在页面上输入的页面元素数据。
在一些可能的实现方式中,该终端设备获取配置信息,包括:该终端设备从该终端设备保存的信息中获取该配置信息。
在一些可能的实现方式中,该第一服务器为埋点服务器,该第二服务器为采集服务器。
在一些可能的实现方式中,该埋点服务器和该采集服务器集成在同一服务器中,或者,该埋点服务器和该采集服务器集成在不同的服务器中。
本申请提供一种获取数据的方法,在可视化埋点技术中,通过触发控件事件,可以采集到复杂的业务数据(包括页面元素数据和/或内存变量数据),有助于提高采集的信息的深度。
结合第一方面,在第一方面的某些可能的实现方式中,该配置信息包括该参数值的获取路径,该参数值的获取路径用于指示从触发该控件事件到获取该参数值的路径,该终端设备获取该控件事件的参数值,包括:该终端设备根据该参数值的获取路径,获取该参数值。
本申请实施例的获取数据的方法,终端设备可以通过参数值的获取路径,在控件事件被触发时采集到对应的页面元素数据和/或内存变量数据,有助于提高采集的信息的深度。
结合第一方面,在第一方面的某些可能的实现方式中,该终端设备获取配置信息,包括:该终端设备接收来自于该第一服务器的该配置信息。
在一些可能的实现方式中,该终端设备接收第三服务器发送的该配置信息。
在一些可能的实现方式中,该配置信息由该埋点服务器发送给该配置服务器,该终端设备在启动时,该终端设备向该配置服务器请求该配置信息;该终端设备接收该配置服务器发送该配置信息。
在一些可能的实现方式中,该埋点服务器、该采集服务器和该配置服务器集成在同一服务器中,或者,集成在不同的服务器中。
结合第一方面,在第一方面的某些可能的实现方式中,该第一服务器为埋点服务器,该第二服务器为采集服务器,该采集服务器和该埋点服务器合并在同一服务器中。
结合第一方面,在第一方面的某些可能的实现方式中,该终端设备根据该参数值的获取路径,获取该参数值,包括:该终端设备将该参数值获取路径匹配预定义规则库,该预定义规则库用于解析该参数值的获取路径;该终端设备根据该预定义规则库,获取该参数值。
在一些可能的实现方式中,该预定义规则库包括父节点规则库和/或子节点规则库,该父节点规则库和/或该子节点规则库用于定位到该参数值的位置。
在一些可能的实现方式中,该预定义规则库包括方法规则,该方法规则库用于获取该参数值。
结合第一方面,在第一方面的某些可能的实现方式中,该预定义规则库包括第一规则库和第二规则库,该终端设备根据该预定义规则库,获取该参数值,包括:该终端设备通过该第一规则库,定位到该参数值;该终端设备通过该第二规则库,获取该参数值。
结合第一方面,在第一方面的某些可能的实现方式中,该参数值包括页面元素数据,该终端设备根据该参数值的获取路径,获取该参数值,包括:该终端设备根据该参数值的获取路径,采用页面树形结构ViewTree逐级查找的方法,获取该页面元素数据。
本申请实施例可以采用页面元素树形结构ViewTree逐级查找的方法获取到页面元素的内容。终端设备应用每个布局文件对应一棵ViewTree,每个控件在ViewTree中以叶节点形式表示,将两个控件之间的可达路径设置为数据路径,就可以利用ViewTree逐级查找的方法获取页面上其他控件元素的值。
本申请实施例的获取数据的方法,当用户触发按钮控件时,会触发可视化采集,此时也触发页面元素数据的动态采集,通过ViewTree逐级查找的方法一层层向上查找,就可以定位到该页面元素数据的位置,并获取该页面元素数据。
结合第一方面,在第一方面的某些可能的实现方式中,该参数值包括内存变量数据,该终端设备根据该参数值的获取路径,获取该参数值,包括:该终端设备根据该参数值的获取路径,采用变量逐级反射的方法,获取该内存变量数据。
本申请实施例中,通过在参数获取路径中配置获取类中成员变量或数据结构中值的路径,可以利用反射机制逐级反射动态获取在事件发生时的值,即使这些值不在页面中呈现,也可以随控件事件一起上报。
本申请实施例的获取数据的方法,当用户触发按钮控件时,会触发可视化采集,此时也触发内存变量数据的动态采集,通过逐级反射的方法获取到内存变量数据。
第二方面,提供了一种获取数据的方法,该方法包括:
第一服务器确定配置信息,该配置信息包括参数值的获取路径,该参数值的获取路径用于指示从触发控件事件到获取该控件事件关联的参数值的路径,该参数值包括页面元素数据和/或内存变量数据;
该第一服务器向第三服务器发送所述配置信息。
在一些可能的实现方式中,该第一服务器为埋点服务器,该第三服务器为配置服务器。
在一些可能的实现方式中,该埋点服务器和该配置服务器集成在同一服务器中,或者,该埋点服务器和该配置服务器集成在不同的服务器中。
结合第二方面,在第二方面的某些可能的实现方式中,该第一服务器通过机器学习的方法确定该配置信息。
结合第二方面,在第二方面的某些可能的实现方式中,该第一服务器确定配置信息之前,该方法还包括:
所述第一服务器与终端设备建立可视化连接;
该第一服务器在进行可视化埋点设置时,生成该配置信息。
第三方面,提供了一种终端设备,该终端设备包括收发模块和处理模块,其中:该处理模块用于获取配置信息,该配置信息由第一服务器在进行可视化埋点设置时生成;该处理模块用于当控件事件被触发时,根据该配置信息,控制该收发模块获取该控件事件关联的参数值,该参数值包括页面元素数据和/或内存变量数据;该收发模块还用于向第二服务器发送该参数值。
结合第三方面,在第三方面的某些可能的实现方式中,该配置信息包括该参数值的获取路径,该参数值的获取路径用于指示从触发该控件事件到获取该参数值的路径,该处理模块具体用于:根据该参数值的获取路径,控制该收发模块获取该参数值。
结合第三方面,在第三方面的某些可能的实现方式中,该收发模块还用于接收来自于该第一服务器的该配置信息。
结合第三方面,在第三方面的某些可能的实现方式中,该第一服务器为埋点服务器,该第二服务器为采集服务器,该采集服务器和该埋点服务器合并在同一服务器中。
结合第三方面,在第三方面的某些可能的实现方式中,该处理模块具体用于:将该参数值的获取路径匹配预定义规则库,该预定义规则库用于解析该参数值的获取路径;根据该预定义规则库,控制该收发模块获取该参数值。
结合第三方面,在第三方面的某些可能的实现方式中,该预定义规则库包括第一规则库和第二规则库,该处理模块具体用于:通过该第一规则库,定位到该参数值;通过该第二规则库,控制该收发模块获取该参数值。
结合第三方面,在第三方面的某些可能的实现方式中,该处理模块具体用于:根据该参数值的获取路径,采用页面树形结构ViewTree逐级查找的方法,控制该收发模块获取该页面元素数据。
结合第三方面,在第三方面的某些可能的实现方式中,制该收发模块该处理模块具体用于:根据该参数值的获取路径,采用变量逐级反射的方法,获取该内存变量数据。
第四方面,提供了一种服务器,该服务器包括处理模块和收发模块,其中:该处理模块用于确定配置信息,该配置信息包括参数值的获取路径,该参数值的获取路径用于指示从触发控件事件到获取该控件事件关联的参数值的路径,该参数值包括页面元素数据和/或内存变量数据;该收发模块用于向第三服务器发送该配置信息。
在一些可能的实现方式中,该服务器为埋点服务器,该第三服务器为配置服务器。
在一些可能的实现方式中,该埋点服务器和该配置服务器集成在同一服务器中,或者,该埋点服务器和该配置服务器集成在不同的服务器中。
结合第四方面,在第四方面的某些可能的实现方式中,该服务器通过机器学习的方法确定所述配置信息。
结合第四方面,在第四方面的某些可能的实现方式中,该处理模块确定配置信息之前,该处理模块还用于与终端设备建立可视化连接;在进行可视化埋点设置时,生成该配置信息。
第五方面,提供了一种终端设备,该终端设备包括处理器和收发器,其中:该处理器用于获取配置信息,该配置信息由第一服务器在进行可视化埋点设置时生成;该处理器用于当控件事件被触发时,根据该配置信息,控制该收发器获取该控件事件关联的参数值,该参数值包括页面元素数据和/或内存变量数据;该收发器还用于向第二服务器发送该参数值。
应理解,该收发器还可以称之为“通信接口”。
结合第五方面,在第五方面的某些可能的实现方式中,该配置信息包括该参数值的获取路径,该参数值的获取路径用于指示从触发该控件事件到获取该参数值的路径,该处理器具体用于:根据该参数值的获取路径,控制该收发器获取该参数值。
结合第五方面,在第五方面的某些可能的实现方式中,该收发器还用于接收来自于该第一服务器的该配置信息。
结合第五方面,在第五方面的某些可能的实现方式中,该第一服务器为埋点服务器,该第二服务器为采集服务器,该采集服务器和该埋点服务器合并在同一服务器中。
结合第五方面,在第五方面的某些可能的实现方式中,该处理器具体用于:将该参数值的获取路径匹配预定义规则库,该预定义规则库用于解析该参数值的获取路径;根据该预定义规则库,控制该收发器获取该参数值。
结合第五方面,在第五方面的某些可能的实现方式中,该预定义规则库包括第一规则库和第二规则库,该处理器具体用于:通过该第一规则库,定位到该参数值;通过该第二规则库,控制该收发器获取该参数值。
结合第五方面,在第五方面的某些可能的实现方式中,该处理器具体用于:根据该参数值的获取路径,采用页面树形结构ViewTree逐级查找的方法,控制该收发器获取该页面元素数据。
结合第五方面,在第五方面的某些可能的实现方式中,制该收发器该处理器具体用于:根据该参数值的获取路径,采用变量逐级反射的方法,获取该内存变量数据。
第六方面,提供了一种服务器,该服务器包括处理器和收发器,其中:该处理器用于确定配置信息,该配置信息包括参数值的获取路径,该参数值的获取路径用于指示从触发控件事件到获取该控件事件关联的参数值的路径,该参数值包括页面元素数据和/或内存变量数据;该收发器用于向第三服务器发送该配置信息。
在一些可能的实现方式中,该服务器为埋点服务器,该第三服务器为配置服务器。
在一些可能的实现方式中,该埋点服务器和该配置服务器集成在同一服务器中,或者,该埋点服务器和该配置服务器集成在不同的服务器中。
结合第六方面,在第六方面的某些可能的实现方式中,该服务器通过机器学习的方法确定所述配置信息。
结合第六方面,在第六方面的某些可能的实现方式中,该处理器确定配置信息之前,该处理器还用于与终端设备建立可视化连接;在进行可视化埋点设置时,生成该配置信息。
第七方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机机构执行上述第一方面以及第一方面任意一种可能的实现方式中所述的方法。
第八方面,提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机机构执行上述第二方面以及第二方面任意一种可能的实现方式中所述的方法。
第九方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面任意一种可能的实现方式中所述的方法。
第十方面,提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面以及第二方面任意一种可能的实现方式中所述的方法。
附图说明
图1是本申请实施例的手机的示意性结构图。
图2是本申请实施例的应用场景的示意图。
图3是本申请实施例的获取数据的方法的示意性流程图。
图4是本申请实施例的手机的界面示意图。
图5是本申请实施例的在埋点服务器上设置页面元素数据的获取路径的界面示意图。
图6是本申请实施例的在埋点服务器上显示采集结果的界面示意图。
图7是是本申请实施例的获取数据的方法的另一示意性流程图。
图8是是本申请实施例的获取数据的方法的再一示意性流程图。
图9是本申请实施例的手机的另一界面示意图。
图10是本申请实施例的终端设备的示意性框图。
具体实施方式
本申请实施例的技术方案可以应用于各种具有数据采集功能的终端设备(也称为,用户设备),例如,手机、手环、平板电脑、笔记本电脑、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、个人数字助理(PersonalDigitalAssistant,PDA)设备、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备等,而不仅限于通信终端。
首先,以图1所示的手机100为例对本申请实施例所适用的终端设备进行介绍。在本申请实施例中,手机100可以包括:射频(Radio Frequency,RF)电路110、电源120、处理器130、存储器140、输入单元150、显示单元160、传感器170、音频电路180、以及无线保真(Wireless Fidelity,WIFI)模块190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对手机100的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器130处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器140可用于存储软件程序以及模块,处理器130通过运行存储在存储器140的软件程序以及模块,从而执行手机100的各种功能应用以及数据处理。存储器140可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机100的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器140可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元150可用于接收输入的数字或字符信息,以及产生与手机100的用户设置以及功能控制有关的键信号输入。具体地,输入单元150可包括触控面板151以及其他输入设备152。触控面板151,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板151上或在触控面板151附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板151可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器130,并能接收处理器130发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板151。除了触控面板151,输入单元150还可以包括其他输入设备152。具体地,其他输入设备152可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元160可用于显示由用户输入的信息或提供给用户的信息以及手机100的各种菜单。显示单元160可包括显示面板161,可选的,可以采用LCD、OLED等形式来配置显示面板161。进一步的,触控面板151可覆盖显示面板161,当触控面板151检测到在其上或附近的触摸操作后,传送给处理器130以确定触摸事件的类型,随后处理器130根据触摸事件的类型在显示面板161上提供相应的视觉输出。虽然在图1中,触控面板151与显示面板151是作为两个独立的部件来实现手机100的输入和输入功能,但是在某些实施例中,可以将触控面板151与显示面板161集成而实现手机100的输入和输出功能。本申请实施例中,用户可以通过点击显示单元160,触发控件事件,从而使得手机100采集到该控件事件,同时,手机100还可以通过该控件事件采集到该控件事件的参数值(包括页面元素数据和/或内存变量数据)。
音频电路180、扬声器181可提供用户与手机100之间的音频接口。音频电路180可将接收到的音频数据转换后的电信号,传输到扬声器181,由扬声器181转换为声音信号输出;另一方面,麦克风182将收集的声音信号转换为电信号,由音频电路180接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一手机,或者将音频数据输出至存储器140以便进一步处理。
蓝牙模块182是蓝牙功能的印刷电路板(Printed Circuit Board Assembly,PCBA),用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。
WIFI属于短距离无线传输技术,手机100通过WIFI模块190可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WIFI模块190,但是可以理解的是,其并不属于手机100的必须构成,完全可以根据需要在不改变本申请的本质的范围内而省略。本申请实施例中,手机100还可以通过WIFI模块190连接到配置服务器,从配置服务器获取埋点配置信息,还可以通过该WIFI模块190将采集的信息上报给采集服务器。
处理器130是手机100的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器140内的软件程序和/或模块,以及调用存储在存储器140内的数据,执行手机100的各种功能和处理数据,从而实现基于手机的多种业务。可选的,处理器130可包括一个或多个处理单元;优选的,处理器130可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器130中。本申请实施例中,处理器130解析配置服务器下发的埋点配置信息,并根据该埋点配置信息获取页面元素数据和/或内存变量数据。
手机100还包括给各个部件供电的电源120(比如电池),优选的,电源可以通过电源管理***与处理器130逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗等功能。
尽管未示出,手机100还可以包括摄像头等,在此不再赘述。
需要说明的是,图1所示手机仅为一种终端设备的举例,本申请实施例并未特别限定,本申请实施例可以应用于手机、平板电脑等电子设备,本申请实施例对此不做限定。
在介绍本申请实施例之前,首先简单介绍几个可视化埋点技术中的相关概念。
埋点服务器:与终端设备的app/软件开发包(soft development kit,sdk)进行可视化埋点操作的web服务器。在埋点服务器上可以展示终端设备的app的页面,并进行埋点操作。埋点服务器会将配置信息实时发送到正在埋点的app上;与埋点服务器连接的app会把打点信息发送到埋点服务器以进行可视化调测。可视化埋点结束后,埋点服务器将可视化采集配置信息发送到配置服务器。
配置服务器:保存可视化采集配置文件。终端设备的app/sdk会从配置服务器获取可视化采集配置文件。配置服务器可能和埋点服务器合并在一起。
终端设备的app/sdk:进行可视化采集、数据上报。运营人员使用时与埋点服务器建立可视化连接并进行可视化调测;普通用户使用时会从配置服务器获取可视化采集配置文件,解析配置文件,app/sdk运行过程中采集数据并将数据上报到采集服务器。
采集服务器:专门采集终端设备的app/sdk信息的服务器。采集服务器可能与埋点服务器、配置服务器合在一起。
应用程序编程接口(Application Programming Interface,API)是一些预先定义的函数,目的是提供应用程序(app)与开发人员基于某软件或者硬件得以访问一组例程的能力,而又无需访问源码,或者理解内部工作机制的细节。
软件开发包:一般是软件工程师为特定的软件包、软件框架、硬件平台、操作***等建立应用软件时的开发工具的集合。
本申请实施例在现有的***机构上,在可视化埋点服务器中增加了事件参数值采集设置,在终端设备的app上增加了事件参数值采集。
图2示出了本申请实施例的技术方案的一种***架构的示意性框图。图2所示的***架构可以应用于业界通用的可视化埋点技术中,如图2所示的可视化埋点管理、发布管理、配置管理、配置解析、可视化埋点采集和采集上报等都是业界通用的技术,本申请实施例中在既有的***框架上,在埋点服务器上新增了“业务数据采集设置”,在终端设备上新增了“业务数据采集”。
图3是根据本申请实施例的获取数据的方法200的示意性流程图,如图2所示,该方法200的执行主体可以是手机100,该方法200包括:
S210,终端设备获取配置信息,该配置信息由第一服务器在进行可视化埋点设置时生成。
可选地,该第一服务器为埋点服务器。
应理解,本申请实施例中的可视化埋点不同于代码埋点,该可视化埋点用可视化交互手段来代替写代码,把核心代码和配置、资源分开,在终端设备启动时,可以通过网络设备更新配置,终端设备(例如,终端设备的App)运行过程中根据配置信息动态收集用户的行为,从而获取数据进行分析。
具体而言,该终端设备可以从服务器获取该配置信息,也可以是,该终端设备之前就保存有该配置信息。
应理解,本申请实施例中的配置信息可以是埋点服务器在进行可视化埋点设置时生成的。
目前业界通用的可视化埋点流程如下:
(1)终端设备与埋点服务器建立可视化连接
具体而言,研发人员打开可视化埋点服务器的页面,同时,打开终端设备的应用程序(app),当app启动时,将终端设备短时间内连续摇晃多次,app即可与该埋点服务器建立长连接,在该埋点服务器上能够实时展示该终端设备的app页面。
(2)可视化埋点设置
具体而言,在埋点服务器上会显示该终端设备app的页面,例如,图4示出了一种终端设备的app页面,该埋点服务器上可以自动显示可以进行埋点操作的控件,比如图4中的“确定”按钮,此时,研发人员可以在该埋点服务器上点击埋点控件,设置埋点配置信息。
应理解,本申请实施例的埋点配置信息可以由研发人员在该埋点服务器上进行设置,进而该埋点服务器根据研发人员的设置生成该埋点配置信息,还可以是,该埋点服务器根据机器学习的方法,生成该埋点配置信息,本申请对此并不作任何限定。
(3)可视化调测
具体而言,在进行埋点配置信息设置的过程中,该埋点服务器可以将该埋点配置信息实时发送到正在进行埋点的终端设备上,当用户在app界面上触发该控件事件时,该埋点服务器就会将埋点配置信息实时发送到埋点服务器上,用于进行调测。
(4)埋点配置信息下发到配置服务器
具体而言,在可视化调测完成后,埋点服务器会将埋点配置信息发布到配置服务器上。
S220,当控件事件被触发时,该终端设备根据该配置信息,获取该控件事件关联的参数值,该参数值包括页面元素数据和/或内存变量数据;
S230,该终端设备向第二服务器发送该参数值。具体而言,当控件事件被触发时,***将被触发并获取到该控件事件,接着***可以获取到该控件事件关联的参数值,该参数值包括页面元素数据和/或内存变量数据。
可选地,该终端设备获取配置信息,包括:该终端设备从该终端设备保存的信息中获取该配置信息。
可选地,该第一服务器为埋点服务器,该第二服务器为采集服务器。
可选地,该埋点服务器和该采集服务器集成在同一服务器中,或者,该埋点服务器和该采集服务器集成在不同的服务器中。
可选地,该页面元素数据包括页面上固定存在的页面元素数据,以及在页面上输入的页面元素数据。
例如,图4示出了一种手机100的界面的示意图,用户打开“XX音乐”后,需要进行确认用户信息,手机100的显示单元160显示“请输入用户名:”以及文本框中待用户数据的信息,用户在看到此界面后,会输入自己的用户名,例如,用户输入“aaa”。最后,用户会点击“确认”按钮,完成用户信息的输入。图4示出的手机100的界面示意图,用户在点击“确定”按钮时,可以采集到页面元素数据(如图4所示的“请输入用户名:”和文本框中输入的内容)。
应理解,“请输入用户名:”和“aaa”均可以认为是页面元素数据,其中,“请输入用户名:”为页面上固定存在的页面元素数据,“aaa”为用户在页面上输入的页面元素数据。
现有的可视化埋点技术中,终端设备的***只能获取到简单的用户行为,例如,只能获取到用户点击“确认”按钮这一用户行为信息,但是无法获取更深层次的信息,例如,页面上的元素数据:“请输入用户名:”和“aaa”。
可选地,该配置信息包括该参数值的获取路径,该参数值的获取路径用于指示从触发该控件事件到获取该参数值的路径,该终端设备获取该控件事件的参数值,包括:
该终端设备根据该参数值的获取路径,获取该参数值,该参数值的获取路径用于指示从触发该控件事件到获取该参数值的路径。
具体而言,该控件事件被触发时,该终端设备根据该参数值获取路径,采集页面元素数据和/或内存变量数据,该参数值获取路径用于指示从触发该控件事件到获取该参数值的路径。
应理解,该参数值的获取路径可以是服务器配置给该终端设备的,可以是终端设备内部保存的。
例如,终端设备在采集数据之前可以向服务器请求可视化埋点配置信息,该可视化埋点配置信息包括该参数值的获取路径,终端设备在接收到该可视化埋点配置信息后,根据该可视化埋点配置信息中的参数值获取路径,获取从触发该控件事件到获取该参数值的路径,当该控件事件被触发时,通过该路径,获取到页面元素数据和/或内存变量数据。
又例如,终端设备在采集数据时,根据保存在该终端设备的配置信息,获取该参数值,该配置信息可以是上一次数据采集时保存在终端设备内部的,该配置信息包括该参数值的获取路径,终端设备根据该配置信息中的该参数值的获取路径,获取从触发该控件事件到获取该参数值的路径,当该控件事件被触发时,通过该路径,获取到页面元素数据和/或内存变量数据。
在第一时间段,该手机100处于蜂窝网络或者处于连接WIFI的环境下,手机100可以从配置服务器获取可视化埋点配置信息,该可视化埋点配置信息包括该参数值的获取路径,手机100可以根据该参数值的获取路径,获取控件事件和该控件事件对应的页面元素数据和/或内存变量数据。
在第一时间段后的第二时间段,该手机100关闭了蜂窝网络或者也没有连接WIFI,当有控件事件被触发时,该手机100可以利用第一时间段中从配置服务器获取的可视化埋点配置信息,获取控件事件和该控件事件对应的页面元素数据和/或内存变量数据。
可选地,该终端设备获取配置信息,包括:
该终端设备获取来自于该第一服务器的该配置信息。
下面通过举例介绍从埋点服务器设置埋点配置信息到终端设备获取页面元素数据的过程。
在采集页面元素数据之前,可以在埋点服务器中设置事件“search”,图5示出了在埋点服务器中设置页面元素数据的获取路径的界面示意图,如图5所示,定义了2个事件参数值和事件参数值的获取路径,分别是:
页面Title值:search_title:parent.childAt(0).getText()
页面Text值:search_text:parent.childAt(1).getText()
其中,parent触发父节点规则库,childAt()触发子节点规则库,getText()将触发方法规则库。
通过定义“确定”按钮到Title之间的路径parent.childAt(0)即可找到Title元素;
此时再执行getText()方法就能获取到Title中的页面元素值。
同理,通过定义“确定”按钮到文本框EditText之间的路径parent.childAt(1)即可找到文本框元素EditText;此时再执行getText()方法就能获取到文本框中的页面元素值。
图6示出了在服务器显示采集结果的界面示意图,如图6所示,当点击“确定”按钮时将发生“search”事件,此时携带的参数是“search_title”和“search_text”,采集到的参数值是“请输入用户名:”和“aaa”。
应理解,当在可视化埋点服务器上设置获取页面元素的获取路径时,本申请实施例可以采用页面元素树形结构ViewTree逐级查找的方法获取到页面元素的内容。手机100应用每个布局文件对应一棵ViewTree,每个控件在ViewTree中以叶节点形式表示,将两个控件之间的可达路径设置为数据路径,就可以利用ViewTree逐级查找的方法获取页面上其他控件元素的值。
本申请实施例中,当app触发按钮控件时,会触发可视化采集,此时也触发页面元素数据的采集,此时通过ViewTree逐级查找的方法一层层的向上查找元素,就能找到对应的元素,并获取该元素值。
图7示出了根据本申请实施例的获取数据的方法300的示意性流程图,如图7所示,该方法300包括:
S301,埋点服务器与终端设备的app进行可视化链接。
具体而言,终端设备的app与服务器建立可视化连接,此时在埋点服务器上能够实时展示端侧页面。
S302,埋点服务器进行事件信息设置。
具体而言,在埋点服务器上会显示端侧页面,并自动显示可以进行埋点操作的控件。此时可以点击埋点控件,设置埋点配置信息。
S303,埋点服务器进行事件参数值信息设置。
具体而言,在埋点服务器上可同时进行事件的参数值及参数值对应的获取方法的设置;参数及参数获取路径作为可视化埋点事件信息的一部分。
应理解,运营人员可以在埋点服务器上设置事件的参数值及参数值对应的获取路径,还可以是,埋点服务器通过机器学习等方式自己进行事件的参数值以及参数值的获取路径的设置。
S304,埋点服务器和终端设备的app进行可视化调测。
具体而言,在进行埋点设置的过程中,埋点服务器会将配置信息实时发送到正在进行埋点的app上;终端设备的app触发控件就会将埋点配置信息实时发送到埋点服务器上,用于进行调测。
S305,埋点服务器将可视化埋点配置信息发布到配置服务器。
具体而言,可视化调测完成后,埋点服务器将可视化埋点配置信息发布到配置服务器上。
S306,终端设备的app向配置服务器请求可视化埋点配置信息。
具体而言,终端设备的app在启动时(或定时)从配置服务器获取可视化埋点配置信息。
应理解,本申请实施例的埋点服务器和配置服务器可以集成在一个服务器中。
S307,终端设备的app从配置服务器获取可视化埋点配置信息。
具体而言,配置服务器根据app的app标示、版本号将可视化埋点配置信息发送回终端设备的app。
S308,终端设备的app进行可视化信息采集。
具体而言,终端设备的app解析从服务器获取的可视化配置信息,并加载到内存中;可视化配置信息中包括事件信息和事件属性参数设置信息。将可视化配置信息加载到***中,当控件触发时会触发***方法,在***的方法中根据配置采集控件事件信息、事件属性参数信息,并保持到缓存中。事件属性参数信息也就是业务数据包括页面信息采集和内存信息采集。
应理解,本申请实施例中的“控件事件的参数值”还可以称之为业务数据,该业务数据包括页面元素数据和/或内存变量数据。
S3081,终端设备的app进行页面元素数据采集。
具体而言,若配置信息中指定了页面元素数据的获取路径,那么终端设备的app会将端侧页面元素信息ViewTree采集下来。
应理解,以Android***为例,每个Window上都生长着一颗ViewTree,而屏幕上看到的各种控件都可以理解为这棵ViewTree上的节点。
本申请实施例中,每个控件在ViewTree中可以以叶节点的形式表示,将两个控件之间的可达路径设置为数据路径,可以利用ViewTree逐级查找的方法获取页面上其他控件元素的值。
S3082,终端设备的app进行内存变量数据采集。
具体而言,若配置信息中指定了内存变量数据的获取路径,那么终端设备的app会将控件执行时的内存变量数据通过逐级反射的方法获取。
本申请实施例中,终端设备可以按照内存变量的获取路径逐级反射获取到该内存变量数据,并将获取到的该内存变量数据上报给采集服务器。
应理解,该内存变量的获取路径可以为数据路径(DataPath),DataPath为向要收集的目标数据的一条引用路径,解析此路径并逐级反射最终可以获取到该内存变量数据。
S309,终端设备的app将采集到的数据上报到采集服务器。
具体而言,终端设备的app会将采集的事件信息、业务动态信息上报到采集服务器中,以进行大数据分析。
应理解,本申请实施例的埋点服务器、配置服务器和采集服务器可以集成在一个服务器中。
可选地,该终端设备根据该参数值的获取路径,获取该参数值,包括:
该终端设备将该参数值的获取路径匹配预定义规则库,该预定义规则库用于解析该参数值的获取路径;
该终端设备根据该预定义规则库,获取该参数值。
下面结合图8,对图7中的终端设备的app进行可视化信息采集过程进行具体说明。
图8示出了根据本申请实施例的终端设备的app进行可视化采集方法400的示意性流程图,如图8所示,该方法400包括:
S401,初始化规则库。
具体而言,本申请实施例中定义了参数值的获取路径设置规则,如:属性规则库、方法规则库、父节点规则库和子节点规则库。在这些规则库中定义了如何通过逐级查找、逐级反射的方法获取事件的参数值。
S402,配置信息解析。
具体而言,终端设备的app从服务器获取配置信息后,解析事件信息用于采集事件行为,解析参数及参数获取路径用于采集业务动态数据。
S403,配置信息保存。
具体而言,终端设备的app将解析得到的事件信息、参数值的获取路径保存到该终端设备的***中。
S404,***触发。
具体而言,当控件事件被触发时,***将被触发并获取到控件事件。
S405,采集事件信息。
具体而言,终端设备的app根据可视化配置中的事件信息,采集事件信息。
S406,事件参数获取路径分解。
具体而言,接着进行参数值获取,将参数值获取路径分解,分解为一个个的元路径(如parent.childAt(0).getId()将分解为parent,childAt(0),getId())。
可选地,该预定义规则库包括第一规则库和第二规则库,该终端设备根据该预定义规则库,获取该参数值,包括:
该终端设备通过该第一规则库,定位到该参数值;
该终端设备通过该第二规则库,获取该参数值。
S407,规则库匹配。
具体而言,将每个元路径都匹配规则库,若能匹配则采用对应的规则库解析,若无法解析,返回空字符串。
例如,若分解参数值获取路径后的元路径为parent,那么将匹配父节点规则库,此时就可以通过获取调用控件的getParent()方法定位到父节点。
又例如,若分解参数值获取路径后的元路径为childAt(inti),那么将匹配子节点规则库,此时就可以通过反射调用控件元素的getChildAt(inti)方法定位到子节点。
再例如,若分解参数值获取路径后的元路径为方法,那么将匹配方法规则库,此时就可以通过反射执行对象的方法,获取指定的值。
S408,规则库响应。
具体而言,匹配规则库后,将采用响应的规则库来获取对应的值。通过父节点规则库、子节点规则库能够定位到指定的对象;通过属性规则库能够通过反射的方法获取指定元素的属性;通过方法规则库能够通过反射执行指定的对象方法。
S409,页面元素采集。
具体而言,对于在页面上的元素,通过设置相对于当前控件的路径可以定位到页面元素,此时就可以通过getText()/getChecked()等方法获取到元素的值。
S410,内存变量采集。
具体而言,控件被触发执行时,此时可以通过属性规则库、方法规则库方法采集到控件被触发时的内存变量。
应理解,S409中页面元素数据采集和S410中内存变量采集并没有实际的先后顺序。
还应理解,本申请实施例中获取的数据还可以是内存变量数据。某些成员变量不在页面中呈现,但终端设备的app却需要获取此类变量的值用于大数据分析。此时就可以采用内存变量数据获取的方法。
通过在参数获取路径中配置获取类中成员变量或数据结构中值的路径,可以利用反射机制逐级反射动态获取在事件发生时的值,即使这些值不在页面中呈现,也可以随事件信息上报。
例如,图9示出了终端设备的界面的另一示意图,通过在可视化埋点服务器设置控件事件触发时内存变量数据的获取路径,就可以获取到内存变量数据。在可视化埋点服务器中设置第2个元素触发事件,此时设置参数:”strData”,设置参数获取路径”strData”,这样当第2个元素被点击时,就能获取到内存中的strData()值。
还应理解,某些成员变量不在页面中呈现,但终端设备的app却需要调用方法才能获取到值用于大数据分析。此时就可以采用动态执行方法来动态获取到业务的值。
通过在参数获取路径中配置获取类中的方法,可以利用反射机制逐级反射动态执行指定的方法,将该方法指定到对应的值,也随事件信息上报。
例如,如图5所示,当按钮被点击时,会动态执行getUserId()方法,并把这个方法的值设置到”user_id”中。
上文结合图1至图9,详细得描述了根据本申请实施例的获取数据的方法,下面结合图10,详细描述根据本申请实施例的终端设备。
图10示出了根据本申请实施例的终端设备500的示意性框图,如图10所示,该终端设备500包括:
收发模块510,用于获取配置信息,该配置信息由第一服务器在进行可视化埋点设置时生成;
处理模块520,用于当控件事件被触发时,根据该配置信息,控制该收发模块获取该控件事件关联的参数值,该参数值包括页面元素数据和/或内存变量数据;
该收发模块510还用于向第二服务器发送该参数值。
应理解,该收发模块510可以对应配置于图1手机100的WIFI模块190,RF电路110或蓝牙模块182,处理模块520可以对应配置于手机100的处理器130。
可选地,该配置信息包括该参数值的获取路径,该参数值的获取路径用于指示从触发该控件事件到获取该参数值的路径,该处理模块520具体用于:根据该参数值的获取路径,控制该收发模块获取该参数值。
可选地,该收发模块510还用于接收来自于该第一服务器的该配置信息。
可选地,该第一服务器为埋点服务器,该第二服务器为采集服务器,该采集服务器和该埋点服务器合并在同一服务器中。
可选地,该处理模块520具体用于:将该参数值的获取路径匹配预定义规则库,该预定义规则库用于解析该参数值的获取路径;根据该预定义规则库,控制该收发模块获取该参数值。
可选地,该预定义规则库包括第一规则库和第二规则库,该处理模块520具体用于:通过该第一规则库,定位到该参数值;通过该第二规则库,控制该收发模块获取该参数值。
可选地,该处理模块520具体用于:根据该参数值的获取路径,采用页面树形结构ViewTree逐级查找的方法,控制该收发模块510获取该页面元素数据。
可选地,该处理模块520具体用于:根据该参数值的获取路径,采用变量逐级反射的方法,控制该收发模块510获取该内存变量数据。
在本申请实施例中,应注意,本申请实施例上述的方法实施例可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的一个或多个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,本文中术语“***”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品可以包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁盘)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (18)

1.一种获取数据的方法,其特征在于,包括:
终端设备获取配置信息,所述配置信息由第一服务器在进行可视化埋点设置时生成;
当控件事件被触发时,所述终端设备根据所述配置信息,获取所述控件事件关联的参数值,所述参数值包括页面元素数据和/或内存变量数据;
所述终端设备向第二服务器发送所述参数值。
2.根据权利要求1所述的方法,其特征在于,所述配置信息包括所述参数值的获取路径,所述参数值的获取路径用于指示从触发所述控件事件到获取所述参数值的路径,所述终端设备获取所述控件事件的参数值,包括:
所述终端设备根据所述参数值的获取路径,获取所述参数值。
3.根据权利要求1或2所述的方法,其特征在于,所述终端设备获取配置信息,包括:
所述终端设备接收来自于所述第一服务器的所述配置信息。
4.根据权利要求2或3所述的方法,其特征在于,所述终端设备根据所述参数值的获取路径,获取所述参数值,包括:
所述终端设备将所述参数值的获取路径匹配预定义规则库,所述预定义规则库用于解析所述参数值的获取路径;
所述终端设备根据所述预定义规则库,获取所述参数值。
5.根据权利要求4所述的方法,其特征在于,所述预定义规则库包括第一规则库和第二规则库,所述终端设备根据所述预定义规则库,获取所述参数值,包括:
所述终端设备通过所述第一规则库,定位到所述参数值;
所述终端设备通过所述第二规则库,获取所述参数值。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述参数值包括页面元素数据,所述终端设备根据所述参数值的获取路径,获取所述参数值,包括:
所述终端设备根据所述参数值的获取路径,采用页面树形结构ViewTree逐级查找的方法,获取所述页面元素数据。
7.根据权利要求2至5中任一项所述的方法,其特征在于,所述参数值包括内存变量数据,所述终端设备根据所述参数值的获取路径,获取所述参数值,包括:
所述终端设备根据所述参数值的获取路径,采用变量逐级反射的方法,获取所述内存变量数据。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一服务器为埋点服务器,所述第二服务器为采集服务器,所述采集服务器和所述埋点服务器合并在同一服务器中。
9.一种终端设备,其特征在于,所述终端设备包括收发模块和处理模块,其中:
所述收发模块用于获取配置信息,所述配置信息由第一服务器在进行可视化埋点设置时生成;
所述处理模块用于当控件事件被触发时,根据所述配置信息,控制所述收发模块获取所述控件事件关联的参数值,所述参数值包括页面元素数据和/或内存变量数据;
所述收发模块还用于向第二服务器发送所述参数值。
10.根据权利要求9所述的终端设备,其特征在于,所述配置信息包括所述参数值的获取路径,所述参数值的获取路径用于指示从触发所述控件事件到获取所述参数值的路径,所述处理模块具体用于:
根据所述参数值的获取路径,控制所述收发模块获取所述参数值。
11.根据权利要求9或10所述的终端设备,其特征在于,所述收发模块还用于接收来自于所述第一服务器的所述配置信息。
12.根据权利要求10或11所述的终端设备,其特征在于,所述处理模块具体用于:
将所述参数值的获取路径匹配预定义规则库,所述预定义规则库用于解析所述参数值的获取路径;
根据所述预定义规则库,控制所述收发模块获取所述参数值。
13.根据权利要求12所述的终端设备,其特征在于,所述预定义规则库包括第一规则库和第二规则库,所述处理模块具体用于:
通过所述第一规则库,定位到所述参数值;
通过所述第二规则库,控制所述收发模块获取所述参数值。
14.根据权利要求10至13中任一项所述的终端设备,其特征在于,所述处理模块具体用于:
根据所述参数值的获取路径,采用页面树形结构ViewTree逐级查找的方法,控制所述收发模块获取所述页面元素数据。
15.根据权利要求10至13中任一项所述的终端设备,其特征在于,所述处理模块具体用于:
根据所述参数值的获取路径,采用变量逐级反射的方法,控制所述收发模块获取所述内存变量数据。
16.根据权利要求9至15中任一项所述的终端设备,其特征在于,所述第一服务器为埋点服务器,所述第二服务器为采集服务器,所述采集服务器和所述埋点服务器合并在同一服务器中。
17.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述权利要求1-8中任一项所述的方法。
18.一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述权利要求1-8中任一项所述的方法。
CN201810443356.0A 2018-05-10 2018-05-10 一种获取数据的方法和终端设备 Pending CN110489597A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810443356.0A CN110489597A (zh) 2018-05-10 2018-05-10 一种获取数据的方法和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810443356.0A CN110489597A (zh) 2018-05-10 2018-05-10 一种获取数据的方法和终端设备

Publications (1)

Publication Number Publication Date
CN110489597A true CN110489597A (zh) 2019-11-22

Family

ID=68543283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810443356.0A Pending CN110489597A (zh) 2018-05-10 2018-05-10 一种获取数据的方法和终端设备

Country Status (1)

Country Link
CN (1) CN110489597A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502415A (zh) * 2019-08-27 2019-11-26 北京思维造物信息科技股份有限公司 一种埋点设置方法、装置及设备
CN110941461A (zh) * 2019-11-26 2020-03-31 杭州皓智天诚信息科技有限公司 一种业务处理软件的参数配置终端
CN111026317A (zh) * 2019-11-28 2020-04-17 爱钱进(北京)信息科技有限公司 用于确定用户操作的方法、装置及存储介质
CN112162740A (zh) * 2020-09-25 2021-01-01 北京易观智库网络科技有限公司 基于ios-sdk的可视化数据采集方法及***
CN112182467A (zh) * 2020-10-09 2021-01-05 广州河东科技有限公司 Web构建***、生成方法、装置、电子设备及存储介质
CN112286501A (zh) * 2020-10-13 2021-01-29 北京易观智库网络科技有限公司 对终端设备的页面进行埋点的方法、装置以及存储介质
CN112667481A (zh) * 2020-12-31 2021-04-16 中国建设银行股份有限公司 数据采集工具包、方法及设备
CN113127336A (zh) * 2020-01-16 2021-07-16 北京沃东天骏信息技术有限公司 数据收集方法和装置
CN113297047A (zh) * 2021-05-19 2021-08-24 招商证券股份有限公司 一种数据采集方法、装置、第一终端及存储介质
CN114003272A (zh) * 2021-11-01 2022-02-01 焦点科技股份有限公司 一种埋点参数及触发条件配置化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156194A (zh) * 2015-04-21 2016-11-23 阿里巴巴集团控股有限公司 一种形成用户操作路径的方法及装置
CN106598868A (zh) * 2016-12-24 2017-04-26 上海亿账通互联网科技有限公司 对客户端的应用程序动态埋点的方法及***
CN106933472A (zh) * 2017-05-20 2017-07-07 南京西桥科技有限公司 一种基于手机app的用户行为数据采集***及其控制方法
WO2018024057A1 (zh) * 2016-08-01 2018-02-08 华为技术有限公司 用于访问业务的方法和装置
CN107818163A (zh) * 2017-11-01 2018-03-20 平安科技(深圳)有限公司 页面展示方法、装置、计算机设备和存储介质
CN107832218A (zh) * 2017-11-10 2018-03-23 平安科技(深圳)有限公司 动态页面中的埋点处理方法、装置和计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106156194A (zh) * 2015-04-21 2016-11-23 阿里巴巴集团控股有限公司 一种形成用户操作路径的方法及装置
WO2018024057A1 (zh) * 2016-08-01 2018-02-08 华为技术有限公司 用于访问业务的方法和装置
CN106598868A (zh) * 2016-12-24 2017-04-26 上海亿账通互联网科技有限公司 对客户端的应用程序动态埋点的方法及***
CN106933472A (zh) * 2017-05-20 2017-07-07 南京西桥科技有限公司 一种基于手机app的用户行为数据采集***及其控制方法
CN107818163A (zh) * 2017-11-01 2018-03-20 平安科技(深圳)有限公司 页面展示方法、装置、计算机设备和存储介质
CN107832218A (zh) * 2017-11-10 2018-03-23 平安科技(深圳)有限公司 动态页面中的埋点处理方法、装置和计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陶菜菜: ""Android无埋点数据收集SDK关键技术"", 《HTTPS://WWW.JIANSHU.COM/P/B5FFE845FE2D》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502415A (zh) * 2019-08-27 2019-11-26 北京思维造物信息科技股份有限公司 一种埋点设置方法、装置及设备
CN110502415B (zh) * 2019-08-27 2023-11-28 北京思维造物信息科技股份有限公司 一种埋点设置方法、装置及设备
CN110941461B (zh) * 2019-11-26 2023-08-04 杭州皓智天诚信息科技有限公司 一种业务处理软件的参数配置终端
CN110941461A (zh) * 2019-11-26 2020-03-31 杭州皓智天诚信息科技有限公司 一种业务处理软件的参数配置终端
CN111026317A (zh) * 2019-11-28 2020-04-17 爱钱进(北京)信息科技有限公司 用于确定用户操作的方法、装置及存储介质
CN113127336A (zh) * 2020-01-16 2021-07-16 北京沃东天骏信息技术有限公司 数据收集方法和装置
CN112162740A (zh) * 2020-09-25 2021-01-01 北京易观智库网络科技有限公司 基于ios-sdk的可视化数据采集方法及***
CN112182467A (zh) * 2020-10-09 2021-01-05 广州河东科技有限公司 Web构建***、生成方法、装置、电子设备及存储介质
CN112286501A (zh) * 2020-10-13 2021-01-29 北京易观智库网络科技有限公司 对终端设备的页面进行埋点的方法、装置以及存储介质
CN112667481A (zh) * 2020-12-31 2021-04-16 中国建设银行股份有限公司 数据采集工具包、方法及设备
CN112667481B (zh) * 2020-12-31 2024-05-10 中国建设银行股份有限公司 数据采集工具包、方法及设备
CN113297047A (zh) * 2021-05-19 2021-08-24 招商证券股份有限公司 一种数据采集方法、装置、第一终端及存储介质
CN114003272A (zh) * 2021-11-01 2022-02-01 焦点科技股份有限公司 一种埋点参数及触发条件配置化方法
CN114003272B (zh) * 2021-11-01 2024-04-16 焦点科技股份有限公司 一种埋点参数及触发条件配置化方法

Similar Documents

Publication Publication Date Title
CN110489597A (zh) 一种获取数据的方法和终端设备
CN108345543B (zh) 一种数据处理方法、装置、设备及存储介质
CN106453053B (zh) 群组消息显示方法及装置
CN107943683B (zh) 一种测试脚本生成方法、装置、电子设备及存储介质
CN107204964B (zh) 一种权限管理的方法、装置和***
CN108156508B (zh) 弹幕信息处理的方法、装置、移动终端、服务器及***
CN104035948A (zh) 地理位置显示方法及装置
CN106453692B (zh) 一种域名解析方法、装置和***
CN106708676A (zh) 接口测试方法及装置
CN110168566A (zh) 一种识别截图文字的方法及终端
CN105867751A (zh) 操作信息处理方法和装置
CN106973330A (zh) 一种屏幕直播方法、装置和***
CN106708554A (zh) 程序运行方法及装置
WO2017219293A1 (zh) 一种获取网页内容的方法及装置
CN106201547A (zh) 一种基于移动终端的消息显示的方法、装置及移动终端
CN112749074B (zh) 一种测试用例推荐方法以及装置
CN106293486A (zh) 一种终端之间的交互方法及装置
CN109246233A (zh) 基于在线监控的数据处理方法、装置、设备及存储介质
EP3105912B1 (en) Application-based service providing method and system
WO2015096660A1 (en) Methods and devices for displaying a webpage
CN108563476B (zh) 应用程序运行方法、装置、存储介质及电子设备
CN106020945A (zh) 快捷项添加方法及装置
CN107943687A (zh) 一种设备共享方法、装置、服务器及存储介质
CN104376259B (zh) 一种检测病毒的方法和装置
WO2014180134A1 (en) Method for analyzing spyware and computer system

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