CN112416995B - 一种数据统计方法、装置、计算机设备及存储介质 - Google Patents

一种数据统计方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN112416995B
CN112416995B CN201910785672.0A CN201910785672A CN112416995B CN 112416995 B CN112416995 B CN 112416995B CN 201910785672 A CN201910785672 A CN 201910785672A CN 112416995 B CN112416995 B CN 112416995B
Authority
CN
China
Prior art keywords
target
configuration information
control
data
point configuration
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
Application number
CN201910785672.0A
Other languages
English (en)
Other versions
CN112416995A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910785672.0A priority Critical patent/CN112416995B/zh
Publication of CN112416995A publication Critical patent/CN112416995A/zh
Application granted granted Critical
Publication of CN112416995B publication Critical patent/CN112416995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种数据统计方法、装置、计算机设备及存储介质,该方法通过可视化界面的方式传入用户设置的埋点配置信息,并根据埋点配置信息实现对程序中相应的控件进行埋点,进而在该控件被触发时执行相应的目标统计策略,并获取到统计后的埋点统计数据,由于本方法通过可视化界面的途径设置埋点配置信息,并实现了数据统计,因此避免了在程序源代码的不同位置中加入不同的埋点代码,降低了数据统计所需的人工开销,并提高了数据统计的整体效率。此外,本申请还提供一种数据统计装置、计算机设备及存储介质,有益效果同上所述。

Description

一种数据统计方法、装置、计算机设备及存储介质
技术领域
本申请涉及数据分析领域,特别是涉及一种数据统计方法、装置、计算机设备及存储介质。
背景技术
埋点分析,是数据分析的一种常用的数据采集方法。数据埋点是一种良好的私有化部署数据采集方式。数据采集准确,满足了企业去粗取精,实现产品、服务快速优化迭代的需求。
为收集用户行为数据,程序的厂商常采用的一种方式是在程序中设置埋点,当用户基于程序进行各种操作,如打开某个页面或选择页面中的某个选项时,埋点就会捕获用户的这些行为数据并上报至相应的服务器,从而实现用户行为的统计。
然而,目前开发人员在程序源代码中布置埋点时通常是手动埋点,即基于业务统计需求在程序源代码的不同位置加入不同的埋点代码,而由于实际埋点众多,工程量极大,手动埋点不仅效率低下而且很容易出现错误,在后续代码维护时,开发人员也需要基于不同的代码位置进行埋点代码修改,操作十分繁琐。
发明内容
本申请的目的是提供一种数据统计方法、装置、计算机设备及存储介质,以降低数据统计所需的人工开销,并提高数据统计的整体效率。
为解决上述技术问题,本申请提供一种数据统计方法,包括:
接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略;
获取在所述程序的运行过程中受触发控件的标识;
判断所述目标控件的标识是否与所述受触发控件的标识一致;
如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据。
又一方面,所述方法还包括:
获取预先存储于键值数据库的埋点配置信息;
所述判断所述目标控件的标识是否与所述受触发控件的标识一致,包括:
分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致;
所述如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据,包括:
如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成所述埋点统计数据。
又一方面,在所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计之前,所述方法还包括:
当所述目标埋点配置信息的数量大于1时,判断各所述目标埋点配置信息之间是否存在重复的内容;
如果各所述目标埋点配置信息之间存在重复的内容,则删除各所述目标埋点配置信息中内容重复的埋点配置信息,并执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤;
如果各所述目标埋点配置信息之间未存在重复的内容,则执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤。
又一方面,在所述生成埋点统计数据后,所述方法还包括:
对所述埋点统计数据标记时间戳;
将标记有时间戳的所述埋点统计数据存储至分布式数据仓库。
又一方面,在所述生成埋点统计数据后,所述方法还包括:
根据所述时间戳生成所述埋点统计数据的生成顺序;
根据所述生成顺序打印所述埋点统计数据以及与所述埋点统计数据对应的埋点配置信息。
又一方面,在所述接收通过可视化界面传入的埋点配置信息后,所述方法还包括:
对所述通过可视化界面传入的目标控件的标识以及所述目标统计策略建立键值对应关系;
根据所述键值对应关系将所述通过可视化界面传入的埋点配置信息存储至所述键值数据库。
又一方面,所述埋点统计数据中包含有所述目标控件的生命周期信息;
在所述生成埋点统计数据后,所述方法还包括:
根据所述埋点统计数据中所述目标控件的生命周期信息生成所述目标控件的控件拓扑图。
又一方面,所述获取在所述程序的运行过程中受触发控件的标识,包括:
依照预设时间间隔获取在所述程序的运行过程中所述受触发控件的标识。
又一方面,本申请还提供了一种数据统计装置,包括:
界面接收单元,用于接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略;
标识获取单元,用于获取在所述程序的运行过程中受触发控件的标识;
一致判断单元,用于判断所述目标控件的标识是否与所述受触发控件的标识一致;
数据统计单元,用于如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据。
又一方面,本申请还提供了一种计算机设备,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略;
获取在所述程序的运行过程中受触发控件的标识;
判断所述目标控件的标识是否与所述受触发控件的标识一致;
如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据。
又一方面,本申请还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述的数据统计方法。
本申请所提供的数据统计方法,首先接收由可视化界面传入的包含有程序中目标控件的标识以及目标统计策略的埋点配置信息,进而获取程序运算过程中受触发控件的标识,并判断受触发控件的标识与目标控件的标识是否一致,如果一致则根据目标统计策略对受触发控件的工作数据进行统计,生成埋点统计数据。本方法通过可视化界面的方式传入用户设置的埋点配置信息,并根据埋点配置信息实现对程序中相应的控件进行埋点,进而在该控件被触发时执行相应的目标统计策略,并获取到统计后的埋点统计数据,由于本方法通过可视化界面的途径设置埋点配置信息,并实现了数据统计,因此避免了在程序源代码的不同位置中加入不同的埋点代码,降低了数据统计所需的人工开销,并提高了数据统计的整体效率。此外,本申请还提供一种数据统计装置、计算机设备及存储介质,有益效果同上所述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例的一种数据统计方法所适用的硬件组成框架示意图;
图2示出了本申请实施例的另一种数据统计方法所适用的硬件组成框架示意图;
图3示出了本申请实施例的一种数据统计方法的一种流程示意图;
图4示出了本申请实施例的一种数据统计方法的另一种流程示意图;
图5示出了本申请实施例的一种数据统计方法的另一种流程示意图;
图6示出了本申请实施例的一种数据统计方法的另一种流程示意图;
图7示出了本申请实施例的一种数据统计方法的另一种流程示意图;
图8示出了本申请实施例的一种数据统计装置一个实施例的组成结构示框图;
图9示出了本申请一种具体应用场景实施例下的数据处理连接的流程示意图;
图10示出了本申请一种具体应用场景实施例下的用于设置埋点配置信息的可视化界面的示意图;
图11示出了本申请一种具体应用场景实施例下的用于对埋点统计数据进行数据展示的可视化界面的示意图。
具体实施方式
目前,应用程序的开发厂商需要获悉用户对于应用程序的使用情况,应用程序以下简称为“程序”,目的是能够对于程序进行有针对性的优化,或通过程序对向用户有针对性的提供用户喜好的数据内容等有针对性的服务策略。但是可以理解的是,根据用户的操作行为对程序的进行有针对性优化,或通过程序向用户提供有针对性的数据内容,均需要以用户的操作内容作为分析及执行的基础,因此往往预先需要获取到用户对程序的操作偏好以及在程序中访问的热点内容等与用户操作相关的行为数据。
埋点分析,是当前常用的一种数据采集方式。目的是利用终端程序或网页程序等用户使用的程序收集用户的行为数据。为了收集用户对于程序的行为数据,程序的厂商常采用的一种方式是在程序中设置埋点,当用户基于程序进行各种操作,如打开某个页面或选择页面中的某个选项时,埋点就会捕获用户的这些行为数据并上报至相应的服务器,从而实现用户行为的统计。虽然当前通过埋点的方式能够获取到用户在程序中的行为数据,但是目前普遍需要开发者通过编写代码的方式对程序中的控件进行全量埋点,也就是开发者在对程序进行埋点时,需要在全部的控件中写入埋点代码,埋点代码即为对控件进行数据统计的逻辑代码。
其中,控件指的是在程序中能够基于用户的操作而受到触发的功能模块,在程序中,控件体现为功能相对独立的、可以重复使用的元素,可以体现为输入框,按钮等,通过合理的组合控件可以初始化并通过接收参数改变自身属性,并在程序中提供相应的功能。根据需求不同,控件可以是完整的功能模块,也可以是基本元素的扩展或组合,控件可能会接受服务器数据进行显示或者处理,如报表控件,控件也可能会接受客户输入的数据并向服务端提交等等,也就是说,控件是程序中响应用户操作的本质模块。由于控件在开始响应用户的操作时,其生命周期即开始,直至用户的操作结束后,控件的生命周期结束,因此在控件中写入埋点代码,目的是在控件完整的生命周期中统计控件响应用户操作的相关数据。
由于程序中丰富的功能导致程序中所包含的控件数据相对庞大,对于开发者而言,通过编写代码的方式对程序中的控件进行全量埋点,在效率低下的同时会造成控件代码的可读性降低,另外埋点的灵活性较低,埋点后各个控件中的埋点代码均会产生并上报相应的行为数据,会给服务器和网络传输带来较大的负载。
由此可见,当前需要提供一种数据统计方法,降低了数据统计所需的人工开销,并提高数据统计的整体效率。
为了便于理解,先对本申请的数据统计方法对应的方案所适用的硬件组成框架进行介绍。可以参见图1至图2,其中,图1其示出了本申请一种数据统计方法所适用的硬件组成框架示意图。
由图1可知,数据统计方法所适用的硬件组成框架可以包括:用户终端10以及服务器20。用户终端10以及服务器20中均可以进一步包含有处理器、存储器、通信接口、输入单元、显示器以及通信总线等元件,并且处理器、存储器、通信接口、输入单元、显示器、均通过通信总线完成相互间的通信。由于本申请并没有对用户终端以及数据服务器中的元件进行改进,因此沿用当前已有的用户终端作为图1中的用户终端10,沿用当前已有的数据服务器作为图1中的服务器20。用户终端10中应包含有SDK,即软件开发工具包,软件开发工具包一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。用户终端10中的程序能够通过SDK与服务器20进行数据交互,目的是能够通过服务器20向用户终端10引入埋点配置信息,用户终端10根据埋点配置信息对用户使用程序时对控件的行为数据进行统计,并将统计得到的埋点统计数据上报给服务器20。
在本申请实施例中,处理器,可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。该处理器可以调用存储器中存储的程序。具体的,用户终端10中的处理器可以执行以下数据统计方法的实施例中用户终端10侧所执行的操作。
存储器中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,用户终端10的存储器中至少存储有用于实现以下功能的程序:
接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略;
获取在所述程序的运行过程中受触发控件的标识;
判断所述目标控件的标识是否与所述受触发控件的标识一致;
如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据。
在一种可能的实现方式中,用户终端10的存储器中可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如声音播放功能、图像播放功能等)所需的程序等;存储数据区可存储服务器20传入的埋点配置信息,以及根据埋点配置信息获取到的埋点统计数据。
此外,用户终端10的存储器也可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该用户终端10的通信接口可以为通信模块的接口,如GSM模块的接口,用于与服务器20进行数据的通信交互。
本申请中数据统计方法所适用的硬件组成框架,在宏观上是用户终端10响应服务器20对于用户终端10中程序的埋点配置,进而在程序响应用户操作的情况下,当埋点配置中的控件被触发时,则根据相应统计策略对用户操作进行统计,产生被触发控件的埋点统计数据,最终将埋点统计数据上报给服务器20。可见,在本申请的硬件组成框架中,服务器20负责向用户终端10配置程序的埋点配置信息,并在用户终端10上报埋点配置信息对应的埋点统计数据时,对该埋点统计数据进行接收。
在上述的硬件组成框架的基础上,可以进一步对服务器20进行细化,在一种可能的情况中,请参考图2。由图2可知,此种组成架构与前一种组成架构之间的区别主要体现在将服务器20细化为前端服务器21、配置服务器22以及数据服务器23,其中,前端服务器21用于与运维人员交互,运维人员在前端服务器21中设置埋点配置信息,进而前端服务器21将埋点配置信息引入至用户终端10的SDK中,其中,前端服务器21将埋点配置信息引入至用户终端10的SDK的过程可基于postMessage方法或代理服务器(Proxy Server)途径实现,进而用户终端10的程序在响应用户操作的情况下,当埋点配置信息对应的控件被触发时,用户终端10根据相应统计策略对用户操作进行统计,产生被触发控件的埋点统计数据,并将埋点统计数据上报至数据服务器23进行存储,此外,用户终端10能够进一步将埋点配置信息存储在配置服务器22中,以便用户终端10在配置服务器22中反复调用该埋点配置信息。相较于图1所示的组成架构的工作机制而言,图2中通过多种类型的服务器分别与用户终端10进行交互,由于各类型服务器的工作内容单一,因此能够在数据统计过程中相对确保各个服务器的工作稳定。
结合以上共性,参见图3,其示出了本申请一种数据统计方法一个实施例的流程图,本实施例的方法可以包括:
步骤S101、接收通过可视化界面传入的埋点配置信息,所述埋点配置信息包含程序中目标控件的标识以及目标统计策略。
本实施例中,可视化界面指的是系统和运维人员之间进行交互和信息交换的媒介,是介于用户与硬件之间,为彼此之间交互沟通而设计的相关软件,使得用户能够方便有效地去操作硬件以达成双向之交互,完成所希望的工作,用户界面定义广泛,包含了人机交互与图形用户界面,凡参与人类与机械的信息交流的领域都存在着可视化界面。通过可视化界面运维人员可以直观的设置埋点配置信息,无需考虑底层代码对于人机交互过程的实现原理。
需要说明的是,本实施例中的埋点配置信息是由运维人员在可视化界面中设置的,设置的方式可以为在可视化界面中输入埋点配置信息,也可以是通过在可视化界面中预设的选项集合中点选选项从而生成埋点配置信息。可视化界面应工作于运维人员的服务器设备中,运维人员在基于可视化界面对用户的程序设置埋点配置信息后,可视化界面会将埋点配置信息引入至用户设备的SDK中,因此本实施例的执行主体为用户设备,用户设备安装有待进行数据统计的程序,并且用户设备中的程序受用户控制并向用户提供相应的应用服务,SDK用于监测用户对程序的操作。埋点配置信息包含程序中目标控件的标识以及目标统计策略,其中,目标控件的标识指的是能够唯一对应目标控件身份的标识信息,具体可以为目标控件的Xpath,而目标控件即为需要进行用户行为数据统计的控件,目标统计策略即为对该控件进行用户行为统计的逻辑。例如,当目标控件为图片时,目标统计策略可以为统计用户在程序中单位时间内浏览该图片的次数,或统计用户在程序中浏览至该图片处时停留的时长等,在同一个埋点配置信息中,其所包含的目标控件的标识与目标统计策略之间是存在对应关系的,但是目标控件的标识与目标统计策略之间并不一定是一对一的对应关系,也可以为相同目标控件的标识对应多个目标统计策略,即存在多个目标统计策略时,多个目标统计策略中可以为相应目标控件的不同目标统计策略。更进一步的,为了确保埋点配置信息的唯一性,可以进一步对每个传入的埋点控制信息标记唯一的ID,以此通过唯一的ID信息准确的获取对应的埋点控制信息进行后续的使用。需要说明,本实施例中监测用户对程序的操作是经过用户授权或者各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
步骤S102、获取在所述程序的运行过程中受触发控件的标识。
本步骤为用户设备中的SDK对程序的与用户之间的交互进行监测的过程,进而获取程序运行过程中受到用户触发控件的标识,例如,当用户点选了程序中的按钮控件,则获取该按钮控件对应的标识;当用户浏览图片控件时,则获取该图片控件对应的标识。本步骤获取受触发控件的标识的目的是为了在后续过程中通过用户所触发控件的标识判断是否需要对于该控件的用户行为数据进行统计。
作为一种优选的实施方式,获取在所述程序的运行过程中受触发控件的标识,可以具体为依照预设时间间隔获取在所述程序的运行过程中所述受触发控件的标识。
需要说明的是,由于程序的运行过程中会不断响应用户的操作并向用户提供相应的服务,因此如果连续不间断的获取程序的运行过程中受触发控件的标识,并进行后续根据标识执行数据统计,可能会造成统计过程中整体数据量过大的情况,因此难以确保用户终端处理时的稳定性,因此可以依照预设时间间隔获取在程序的运行过程中受触发控件的标识,以此增加每次数据统计之间的间隔,能够相对降低用户终端在单位时间内需要处理的数据总量,确保了用户终端的整体稳定性。
步骤S103、判断所述目标控件的标识是否与所述受触发控件的标识一致。
步骤S104、如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据。
可以理解的是,判断目标控件的标识是否与受触发控件的标识一致,本质上是判断是否预先针对受触发控件设置有相应的目标统计策略,如果目标控件的标识与所述受触发控件的标识一致,则说明预先在埋点配置信息中设置的目标控件即为受触发控件,因此需要对受触发控件的用户行为数据进行统计,进而依照埋点配置信息中与受触发控件对应的目标统计策略进行数据统计,生成与用户行为相关的埋点统计数据。
作为一种优选的实施方式,埋点统计数据中包含有目标控件的生命周期信息,进而在生成埋点统计数据后,还可以进一步根据埋点统计数据中目标控件的生命周期信息生成目标控件的控件拓扑图。
需要说明的是,由于目标控件的生命周期信息能够反映目标控件当前所处的运行阶段,因此通过包含有目标控件生命周期信息的控件拓扑图,能够相对直观的体现目标控件所处页面的加载情况,确保目标控件以及页面当前状态的直观性。
本申请所提供的数据统计方法,首先接收由可视化界面传入的包含有程序中目标控件的标识以及目标统计策略的埋点配置信息,进而获取程序运算过程中受触发控件的标识,并判断受触发控件的标识与目标控件的标识是否一致,如果一致则根据目标统计策略对受触发控件的工作数据进行统计,生成埋点统计数据。本方法通过可视化界面的方式传入用户设置的埋点配置信息,并根据埋点配置信息实现对程序中相应的控件进行埋点,进而在该控件被触发时执行相应的目标统计策略,并获取到统计后的埋点统计数据,由于本方法通过可视化界面的途径设置埋点配置信息,并实现了数据统计,因此避免了在程序源代码的不同位置中加入不同的埋点代码,降低了数据统计所需的人工开销,并提高了数据统计的整体效率。
参见图4,其示出了本申请一种数据统计方法一个实施例的流程图,本实施例的方法可以包括:
步骤S201、获取预先存储于键值数据库的埋点配置信息。
需要说明的是,在本实施例中的埋点配置信息的获取途径为通过键值数据库获取以及通过可视化界面的获取途径。
键值数据库是用于对埋点配置信息进行存储的数据库,键值数据库是一种非关系数据库,它使用简单的键值方法来存储数据。键值数据库将数据存储为键值对集合,其中键作为唯一标识符。键和值都可以是从简单对象到复杂复合对象的任何内容。键值数据库存储有预先设置的埋点配置信息,预先设置的埋点配置信息可以通过底层开发人员通过数据库代码的形式存储至键值数据库,或通过底层开发人员将数据库类型文件导入至键值数据库的方式在键值数据库中产生,也可以是预先已通过可视化界面传入并存储至键值数据库。由于键值数据库中能够预先存储大量的埋点配置信息,因此获取预先存储于键值数据库的埋点配置信息,能够相对提高埋点配置信息的丰富性,进而提高对于数据统计内容的丰富性。
步骤S202、接收通过可视化界面传入的埋点配置信息,所述埋点配置信息包含程序中目标控件的标识以及目标统计策略。
步骤S203、获取在所述程序的运行过程中受触发控件的标识。
步骤S204、分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致。
步骤S205、如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成所述埋点统计数据。
可以理解的是,当同时存在由键值数据库获取的埋点配置信息以及由可视化界面传入的埋点配置信息时,由于各个埋点配置信息均包含有目标控件的标识以及目标统计策略,因此需要分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致,进而当存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致时,则说明预先在该目标埋点配置信息中设置的目标控件即为受触发控件,因此需要对受触发控件的用户行为数据进行统计,进而依照该目标埋点配置信息中与受触发控件对应的目标统计策略进行数据统计,生成与用户行为相关的埋点统计数据。
本实施例相对提高了埋点配置信息的丰富性,进而提高对于数据统计内容的丰富性。
参见图5,其示出了本申请一种数据统计方法一个实施例的流程图,本实施例的方法可以包括:
步骤S301、获取预先存储于键值数据库的埋点配置信息。
步骤S302、接收通过可视化界面传入的埋点配置信息,所述埋点配置信息包含程序中目标控件的标识以及目标统计策略。
步骤S303、获取在所述程序的运行过程中受触发控件的标识。
步骤S304、分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致。
步骤S305、如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则当所述目标埋点配置信息的数量大于1时,判断各所述目标埋点配置信息之间是否存在重复的内容。
步骤S306、如果各所述目标埋点配置信息之间存在重复的内容,则删除各所述目标埋点配置信息中内容重复的埋点配置信息。
需要说明的是,由于考虑到埋点配置信息的数量大于1时,可能会存在埋点配置信息相同的情况,进而当埋点配置信息中存在目标控件的标识与受触发控件的标识一致的目标埋点配置信息时,可能存在多个相同的目标埋点配置信息的情况,因此为了避免出现对于同一控件执行多次相同的统计策略,而造成用户设备运算资源的浪费,在当目标埋点配置信息的数量大于1时,判断各目标埋点配置信息之间是否存在重复的内容,如果各目标埋点配置信息之间存在重复的内容,则将目标埋点配置信息中内容重复的埋点配置信息删除,以此确保每一个目标埋点配置信息均具有唯一性。
步骤S307、根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成所述埋点统计数据。
在确保每一个目标埋点配置信息均具有唯一性后,根据目标埋点配置信息中的目标统计策略对受触发控件的工作数据进行统计,生成埋点统计数据,能够相对降低对于用户设备运算资源的浪费,进一步确保用户设备的整体稳定性。
参见图6,其示出了本申请一种数据统计方法一个实施例的流程图,本实施例的方法可以包括:
步骤S401、获取预先存储于键值数据库的埋点配置信息。
步骤S402、接收通过可视化界面传入的埋点配置信息,所述埋点配置信息包含程序中目标控件的标识以及目标统计策略。
步骤S403、获取在所述程序的运行过程中受触发控件的标识。
步骤S404、分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致。
步骤S405、如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成所述埋点统计数据。
步骤S406、对所述埋点统计数据标记时间戳。
步骤S407、将标记有时间戳的所述埋点统计数据存储至分布式数据仓库。
需要说明的是,本实施例的重点在于在根据目标埋点配置信息中的目标统计策略对受触发控件的工作数据进行统计,生成埋点统计数据后,将埋点统计数据存储至分布式数据仓库中,并且在将埋点统计数据存储至分布式数据仓库之前,先对埋点统计数据标记其在产生时刻相应的时间戳,以此能够在分布式数据仓库中根据埋点统计数据对应的时间戳判定埋点统计数据对应的时效性,并且将埋点统计数据存储至分布式数据仓库中能够相对确保埋点统计数据的可复用性以及可靠性,此处所指的分布式数据仓库可以具体为MySQL数据库或TDW数据库等。
步骤S408、根据所述时间戳生成所述埋点统计数据的生成顺序。
步骤S409、根据所述生成顺序打印所述埋点统计数据以及与所述埋点统计数据对应的埋点配置信息。
在对埋点统计数据标记时间戳的基础上,可以进一步根据时间戳生成埋点统计数据的生成顺序,进而根据生成顺序打印埋点统计数据以及与埋点统计数据对应的埋点配置信息,本处所指的打印可以是打印至运维人员的服务器设备中。通过根据埋点统计数据的生成顺序打印埋点统计数据以及与埋点统计数据对应的埋点配置信息,能够相对提高埋点统计数据的可读性。
参见图7,其示出了本申请一种数据统计方法一个实施例的流程图,本实施例的方法可以包括:
步骤S501、获取预先存储于键值数据库的埋点配置信息。
步骤S502、接收通过可视化界面传入的埋点配置信息,所述埋点配置信息包含程序中目标控件的标识以及目标统计策略。
步骤S503、获取在所述程序的运行过程中受触发控件的标识。
步骤S504、分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致。
步骤S505、如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成所述埋点统计数据。
步骤S506、对所述通过可视化界面传入的目标控件的标识以及所述目标统计策略建立键值对应关系。
步骤S507、根据所述键值对应关系将所述通过可视化界面传入的埋点配置信息存储至所述键值数据库。
需要说明的是,本实施例在获取到通过可视化界面传入的埋点配置信息后,对埋点配置信息中包含的目标控件的标识以及目标统计策略建立键值对应关系,进而根据该键值对应关系将通过可视化界面传入的埋点配置信息存储至键值数据库,目的是在便于后续对埋点配置信息访问时的可靠性,另外,根据键值关系将埋点配置信息存储至所述键值数据库,能够相对确保通过键值数据库存储的埋点配置信息的准确性。
另一方面,本申请还提供了一种数据统计装置。参见图8,其示出了一种数据统计装置一个实施例的组成结构示意图,该装置包括:
界面接收单元31,用于接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略;
标识获取单元32,用于获取在所述程序的运行过程中受触发控件的标识;
一致判断单元33,用于判断所述目标控件的标识是否与所述受触发控件的标识一致;
数据统计单元34,用于如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据。
可选的,所述装置还包括:
数据库读取单元,用于获取预先存储于键值数据库的埋点配置信息;
所述一致判断单元33,包括:
多信息判断单元,用于分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致;
所述数据统计单元34,包括:
目标数据统计单元,用于如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成所述埋点统计数据。
可选的,所述数据统计单元34,包括:
重复判断单元,用于当所述目标埋点配置信息的数量大于1时,判断各所述目标埋点配置信息之间是否存在重复的内容;
如果各所述目标埋点配置信息之间存在重复的内容,则删除各所述目标埋点配置信息中内容重复的埋点配置信息,并执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤;
如果各所述目标埋点配置信息之间未存在重复的内容,则执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤。
可选的,所述装置还包括:
时间戳标记单元,用于对所述埋点统计数据标记时间戳;
数据存储单元,用于将标记有时间戳的所述埋点统计数据存储至分布式数据仓库。
可选的,所述装置还包括:
对应关系建立单元,用于对所述通过可视化界面传入的目标控件的标识以及所述目标统计策略建立键值对应关系;
配置存储单元,用于根据所述键值对应关系将所述通过可视化界面传入的埋点配置信息存储至所述键值数据库。
可选的,所述埋点统计数据中包含有所述目标控件的生命周期信息;
所述装置还包括:
拓扑图生成单元,用于根据所述埋点统计数据中所述目标控件的生命周期信息生成所述目标控件的控件拓扑图。
可选的,所述标识获取单元32,包括:
间隔标识获取单元,用于依照预设时间间隔获取在所述程序的运行过程中所述受触发控件的标识。
另一方面,本申请还提供了一种计算机设备,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略;
获取在所述程序的运行过程中受触发控件的标识;
判断所述目标控件的标识是否与所述受触发控件的标识一致;
如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据。
另一方面,本申请还提供了一种存储介质,存储介质中存储有计算机可执行指令,计算机可执行指令被处理器加载并执行时,实现如上任意一个实施例中所描述的数据统计方法。
为了加深对于本申请技术方案的理解,下面提供一种具体应用场景下的场景实施例,参见图9,其示出了一种具体应用场景下的数据处理连接的流程示意图。
图9为实际应用场景下,noya可视化埋点系统,noya可视化埋点系统分为3个模块,分别为noya SDK、noya系统以及noya数据服务。
noya SDK的操作之一是通过可视化界面获取用户设置的埋点配置信息,并将埋点配置信息存储至noya系统的ckv键值数据库中;noya SDK的另一项操作是根据目标埋点配置信息中的目标统计策略对受触发控件的工作数据进行统计,生成埋点统计数据,并将埋点统计数据上报至noya数据服务。用于设置埋点配置信息的可视化界面的示意图如图10所示。
noya系统负责将埋点配置信息存储至ckv,也提供对于noya SDK的数据缓存,减轻noya SDK的缓存压力。另外,noya系统还可以进一步获取noya数据服务中存储的埋点统计数据,并通过可视化界面进行数据展示。对埋点统计数据进行数据展示的可视化界面的示意图如图11所示。
noya数据服务负责接收noya SDK上报的埋点统计数据,并将埋点统计数据存储至tdw数据库。
需要说明的是,说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (11)

1.一种数据统计方法,其特征在于,包括:
接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略,相同目标控件的标识对应多个目标统计策略;所述目标控件为需要进行用户行为数据统计的控件,所述目标统计策略为对所述控件进行用户行为统计的逻辑;
获取在所述程序的运行过程中受触发控件的标识;
获取预先存储于键值数据库的埋点配置信息;
分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致;
如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据;所述埋点统计数据中包含有所述目标控件的生命周期信息;
根据所述埋点统计数据中所述目标控件的生命周期信息生成所述目标控件的控件拓扑图;
在所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计之前,所述方法还包括:
当所述目标埋点配置信息的数量大于1时,判断各所述目标埋点配置信息之间是否存在重复的内容;
如果各所述目标埋点配置信息之间存在重复的内容,则删除各所述目标埋点配置信息中内容重复的埋点配置信息,并执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤;
如果各所述目标埋点配置信息之间未存在重复的内容,则执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤。
2.根据权利要求1所述的数据统计方法,其特征在于,在所述生成埋点统计数据后,所述方法还包括:
对所述埋点统计数据标记时间戳;
将标记有时间戳的所述埋点统计数据存储至分布式数据仓库。
3.根据权利要求2所述的数据统计方法,其特征在于,在所述生成埋点统计数据后,所述方法还包括:
根据所述时间戳生成所述埋点统计数据的生成顺序;
根据所述生成顺序打印所述埋点统计数据以及与所述埋点统计数据对应的埋点配置信息。
4.根据权利要求1所述的数据统计方法,其特征在于,在所述接收通过可视化界面传入的埋点配置信息后,所述方法还包括:
对所述通过可视化界面传入的目标控件的标识以及所述目标统计策略建立键值对应关系;
根据所述键值对应关系将所述通过可视化界面传入的埋点配置信息存储至所述键值数据库。
5.根据权利要求1至4任一项所述的数据统计方法,其特征在于,所述获取在所述程序的运行过程中受触发控件的标识,包括:
依照预设时间间隔获取在所述程序的运行过程中所述受触发控件的标识。
6.一种数据统计装置,其特征在于,包括:
界面接收单元,用于接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略,相同目标控件的标识对应多个目标统计策略;所述目标控件为需要进行用户行为数据统计的控件,所述目标统计策略为对所述控件进行用户行为统计的逻辑;
标识获取单元,用于获取在所述程序的运行过程中受触发控件的标识;
一致判断单元,用于判断所述目标控件的标识是否与所述受触发控件的标识一致;
数据统计单元,用于如果所述目标控件的标识与所述受触发控件的标识一致,则根据所述目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据;
数据库读取单元,用于获取预先存储于键值数据库的埋点配置信息;
所述一致判断单元,包括:
多信息判断单元,用于分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致;
所述数据统计单元,包括:
目标数据统计单元,用于如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成所述埋点统计数据;所述埋点统计数据中包含有所述目标控件的生命周期信息;
拓扑图生成单元,用于根据所述埋点统计数据中所述目标控件的生命周期信息生成所述目标控件的控件拓扑图;
所述数据统计单元,包括:
重复判断单元,用于当所述目标埋点配置信息的数量大于1时,判断各所述目标埋点配置信息之间是否存在重复的内容;
如果各所述目标埋点配置信息之间存在重复的内容,则删除各所述目标埋点配置信息中内容重复的埋点配置信息,并执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤;
如果各所述目标埋点配置信息之间未存在重复的内容,则执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤。
7.根据权利要求6所述的装置,其特征在于,还包括:
时间戳标记单元,用于对所述埋点统计数据标记时间戳;
数据存储单元,用于将标记有时间戳的所述埋点统计数据存储至分布式数据仓库。
8.根据权利要求6-7任一项所述的装置,其特征在于,还包括:
对应关系建立单元,用于对所述通过可视化界面传入的目标控件的标识以及所述目标统计策略建立键值对应关系;
配置存储单元,用于根据所述键值对应关系将所述通过可视化界面传入的埋点配置信息存储至所述键值数据库。
9.根据权利要求6所述的装置,其特征在于,所述标识获取单元,包括:
间隔标识获取单元,用于依照预设时间间隔获取在所述程序的运行过程中所述受触发控件的标识。
10.一种计算机设备,其特征在于,包括:
处理器和存储器;
其中,所述处理器用于执行所述存储器中存储的程序;
所述存储器用于存储程序,所述程序至少用于:
接收通过可视化界面传入的埋点配置信息;所述埋点配置信息包含程序中目标控件的标识以及目标统计策略,相同目标控件的标识对应多个目标统计策略;所述目标控件为需要进行用户行为数据统计的控件,所述目标统计策略为对所述控件进行用户行为统计的逻辑;
获取在所述程序的运行过程中受触发控件的标识;
获取预先存储于键值数据库的埋点配置信息;
分别判断各个埋点配置信息中目标控件的标识是否与所述受触发控件的标识一致;
如果存在目标埋点配置信息中目标控件的标识与所述受触发控件的标识一致,则根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计,生成埋点统计数据;所述埋点统计数据中包含有所述目标控件的生命周期信息;
根据所述埋点统计数据中所述目标控件的生命周期信息生成所述目标控件的控件拓扑图;
在所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计之前,还包括:
当所述目标埋点配置信息的数量大于1时,判断各所述目标埋点配置信息之间是否存在重复的内容;
如果各所述目标埋点配置信息之间存在重复的内容,则删除各所述目标埋点配置信息中内容重复的埋点配置信息,并执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤;
如果各所述目标埋点配置信息之间未存在重复的内容,则执行所述根据所述目标埋点配置信息中的目标统计策略对所述受触发控件的工作数据进行统计的步骤。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至5任一项所述的数据统计方法。
CN201910785672.0A 2019-08-23 2019-08-23 一种数据统计方法、装置、计算机设备及存储介质 Active CN112416995B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910785672.0A CN112416995B (zh) 2019-08-23 2019-08-23 一种数据统计方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910785672.0A CN112416995B (zh) 2019-08-23 2019-08-23 一种数据统计方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN112416995A CN112416995A (zh) 2021-02-26
CN112416995B true CN112416995B (zh) 2023-12-08

Family

ID=74779413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910785672.0A Active CN112416995B (zh) 2019-08-23 2019-08-23 一种数据统计方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN112416995B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099275A (zh) * 2021-03-16 2021-07-09 互影科技(北京)有限公司 互动视频的用户行为统计方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598868A (zh) * 2016-12-24 2017-04-26 上海亿账通互联网科技有限公司 对客户端的应用程序动态埋点的方法及系统
CN107861655A (zh) * 2017-11-01 2018-03-30 平安科技(深圳)有限公司 控件匹配方法、装置、计算机设备和存储介质
CN108038053A (zh) * 2017-11-29 2018-05-15 上海恺英网络科技有限公司 一种动态配置埋点的方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370796B2 (en) * 2008-08-26 2013-02-05 International Business Machines Corporation Development tooling enablement for audit event generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598868A (zh) * 2016-12-24 2017-04-26 上海亿账通互联网科技有限公司 对客户端的应用程序动态埋点的方法及系统
CN107861655A (zh) * 2017-11-01 2018-03-30 平安科技(深圳)有限公司 控件匹配方法、装置、计算机设备和存储介质
CN108038053A (zh) * 2017-11-29 2018-05-15 上海恺英网络科技有限公司 一种动态配置埋点的方法及设备

Also Published As

Publication number Publication date
CN112416995A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN110297759B (zh) 一种制作测试页面脚本的方法、装置、设备及存储介质
CN109684054B (zh) 信息处理方法及装置、电子设备及存储器
CN111563368B (zh) 报表生成方法、装置、计算机设备和存储介质
CN110309051B (zh) 管理测试用例的方法、系统、设备及存储介质
CN108984388B (zh) 一种生成自动化测试用例的方法及终端设备
CN101902756B (zh) M2m业务平台及其工作方法
CN104123227A (zh) 一种自动生成测试用例的方法
CN106569801A (zh) 一种基于复杂参数的组态化显控系统
CN108134812B (zh) 数据处理方法和装置
CN110309498B (zh) 基于参数生成审查报告的实现方法及装置,以及利用其生成审查报告的方法
CN111522728A (zh) 自动化测试用例的生成方法、电子设备及可读存储介质
CN112286806A (zh) 自动化测试方法、装置、存储介质及电子设备
CN103176892A (zh) 一种页面监控方法及系统
CN110147327B (zh) 一种基于多粒度的web自动化测试管理方法
CN110515795A (zh) 一种大数据组件的监控方法、装置、电子设备
CN110704097A (zh) 一种数据收集方法、装置及电子设备和存储介质
CN111784318A (zh) 数据处理方法、装置、电子设备及存储介质
CN110750453B (zh) 基于html5的智能移动端测试方法、系统、服务器及存储介质
CN115794641A (zh) 基于业务流程的造数方法、装置、设备及存储介质
CN112416995B (zh) 一种数据统计方法、装置、计算机设备及存储介质
CN106469175A (zh) 数据处理方法及装置
CN112115041A (zh) 应用程序的动态埋点方法、装置、存储介质及计算机设备
CN102486731B (zh) 增强软件的软件调用栈的可视化的方法、设备和系统
CN104462116A (zh) 数据选择的方法及装置
CN102799423A (zh) Jsf中执行动态方法的方法及装置

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
GR01 Patent grant
GR01 Patent grant