云机埋点数据的上报方法、装置、计算机设备和介质与流程
未命名
07-22
阅读:84
评论:0
1.本发明涉及外呼处理领域,特别是涉及一种云机埋点数据的上报方法、装置、计算机设备和介质。
背景技术:
2.市场上现有的云机埋点数据上报的方式,上报的内容比较单一,主要包括云机重启、云机登录和退出一些埋点数据,同时也没有及时上报到资源管理平台,导致资源管理平台对用户操作云机分析缺少必要的数据分析。
技术实现要素:
3.本发明的目的在于克服现有技术的不足,提供了一种云机埋点数据的上报方法、装置、计算机设备和介质,能够获得并上传任一云机应用的多种埋点数据,增加了埋点数据上报的多样性,从而使得资源源管理平台能够远程监控和数据统计分析多种云机埋点数据,并基于数据统计分析结果进行云机资源分配。
4.为了解决上述中至少一个技术问题,本发明实施例提供了一种云机埋点数据的上报方法,所述方法包括:
5.获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据;
6.获取任一云机应用前后台切换的埋点数据;
7.获取任一云机应用异常的埋点数据;
8.分别将所述任一云机应用安装时的埋点数据、所述获取任一云机应用卸载时的埋点数据、所述任一云机应用前后台切换的埋点数据、以及所述任一云机应用异常的埋点数据写入到埋点数据文件;
9.通过云插件将所述埋点数据文件中的埋点数据上报到资源管理平台,所述资源管理平台用于一个或多个云机应用的埋点数据进行远程监控和数据统计分析并基于数据统计分析结果进行云机资源分配。
10.优选地,所述获取任一云机应用安装时的埋点数据,包括:
11.通过intent.getdatastring()方法获取安装时任一云机应用的包名和应用名,所述任一云机应用安装时的埋点数据包括所述任一云机应用的包名和应用名。
12.优选地,所述获取任一云机应用卸载时的埋点数据,包括:
13.通过intent.getdatastring()方法获取卸载时任一云机应用的包名,所述任一云机应用卸载时的埋点数据包括所述任一云机应用的包名。
14.优选地,任一云机应用被安装时云机系统发送android.intent.action.package_added广播,以使得通过intent.getdatastring()方法获取安装时任一云机应用的包名和应用名;
15.任一云机应用被卸载时云机系统发送android.intent.action.package_removed
广播,以使得通过intent.getdatastring()方法获取卸载时任一云机应用的包名。
16.优选地,所述获取任一云机应用前后台切换的埋点数据,包括:
17.通过安卓系统的updatefocusedwindowlocked()方法监听window.focus()方法的变化情况;
18.当监听到window.focus()方法中的lastfocus()方法和newfocus()方法中apk不同类名的切换时,调用lastfocus.getowningpackage()方法获得第一云机应用的包名,调用newfocus.getowningpackage()方法获取第二云机应用的包名,所述任一云机应用前后台切换的埋点数据包括所述第一云机应用的包名和所述第二云机应用的包名。
19.优选地,所述获取任一云机应用异常的埋点数据,包括:
20.当监控到任一云机应用的anr和app异常无响应的错误弹窗时,基于所述错误弹窗的弹窗代码逻辑,获取handleshowapperrorui()handleshowanrui()dialog.show()之前的云机应用的包名,所述任一云机应用异常的埋点数据包括获得的云机应用的包名。
21.优选地,所述云插件开启轮询子线程按照预设时间间隔并根据所述埋点数据文件的文件路径读取所述埋点数据文件中的埋点数据,并通过http方式将所述埋点数据文件中的埋点数据上报到资源管理平台。
22.一种云机埋点数据的上报装置,所述装置包括:
23.第一获取模块,用于获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据;
24.第二获取模块,用于获取任一云机应用前后台切换的埋点数据;
25.第三获取模块,用于获取任一云机应用异常的埋点数据;
26.写入模块,用于分别将所述任一云机应用安装时的埋点数据、所述获取任一云机应用卸载时的埋点数据、所述任一云机应用前后台切换的埋点数据、以及所述任一云机应用异常的埋点数据写入到埋点数据文件;
27.上报模块,用于通过云插件将所述埋点数据文件中的埋点数据上报到资源管理平台,所述资源管理平台用于一个或多个云机应用的埋点数据进行远程监控和数据统计分析并基于数据统计分析结果进行云机资源分配。
28.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述方法的步骤。
29.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实现上述任一实施例所述方法的步骤。
30.上述一种云机埋点数据的上报方法、装置、计算机设备和介质,获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据;获取任一云机应用前后台切换的埋点数据;获取任一云机应用异常的埋点数据;分别将任一云机应用安装时的埋点数据、获取任一云机应用卸载时的埋点数据、任一云机应用前后台切换的埋点数据、以及任一云机应用异常的埋点数据写入到埋点数据文件;通过云插件将埋点数据文件中的埋点数据上报到资源管理平台,资源管理平台用于一个或多个云机应用的埋点数据进行远程监控和数据统计分析并基于数据统计分析结果进行云机资源分配。因此,能够获得并上传任一云机应用的多种埋点数据,增加了埋点数据上报的多样性,从而使得资源源管理平台能够远程监控和数据统计分析多种云机埋点数据,并基于数据统计分析结果进行云机资源分
配。
附图说明
31.图1是本发明实施例中的一种云机埋点数据的上报方法的流程图;
32.图2是本发明实施例中的一种云机埋点数据的上报方法的交互流程图;
33.图3是本发明实施例中的一种云机埋点数据的上报装置的结构框图;
34.图4是本发明实施例中的计算机设备的结构组成示意图。
具体实施方式
35.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
36.本发明实施例提供了一种云机埋点数据的上报方法。如图1所示,该一种云机埋点数据的上报方法,包括以下步骤:
37.s101,获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据。
38.在一示例中,所述获取任一云机应用安装时的埋点数据,包括:通过intent.getdatastring()方法获取安装时任一云机应用的包名和应用名,所述任一云机应用安装时的埋点数据包括所述任一云机应用的包名和应用名。
39.在一示例中,所述获取任一云机应用卸载时的埋点数据,包括:通过intent.getdatastring()方法获取卸载时任一云机应用的包名,所述任一云机应用卸载时的埋点数据包括所述任一云机应用的包名。
40.其中,任一云机应用被安装时云机系统发送android.intent.action.package_added广播,以使得通过intent.getdatastring()方法获取安装时任一云机应用的包名和应用名;任一云机应用被卸载时云机系统发送android.intent.action.package_removed广播,以使得通过intent.getdatastring()方法获取卸载时任一云机应用的包名。
41.具体地,云机应用安装获得的埋点数据和云机应用卸载获得的埋点数据:在android系统中,应用的安装和卸载都会发送系统广播,应用安装完成后android系统会发送android.intent.action.package_added广播。可以通过intent.getdatastring()获取安装的应用包名和应用名。应用卸载时android系统会android.intent.action.package_removed广播。同样intent.getdatastring()获取卸载的应用的包名。通过文件写入方式写入埋点数据文件。
42.s102,获取任一云机应用前后台切换的埋点数据。
43.在一示例中,所述获取任一云机应用前后台切换的埋点数据,包括:通过安卓系统的updatefocusedwindowlocked()方法监听window.focus()方法的变化情况;当监听到window.focus()方法中的lastfocus()方法和newfocus()方法中apk不同类名的切换时,调用lastfocus.getowningpackage()方法获得第一云机应用的包名,调用newfocus.getowningpackage()方法获取第二云机应用的包名,所述任一云机应用前后台
切换的埋点数据包括所述第一云机应用的包名和所述第二云机应用的包名。
44.具体地,云机应用前后台切换埋点数据:在android系统windowmanagerservice中updatefocusedwindowlocked方法可以监听window的focus的变化,并且lastfocus()和newfocus()可以看到apk之间的切换,也可以监听到apk不同类名界面之前的切换。每当lastfocus()和newfocus()不相同的时候,分别调用lastfocus.getowningpackage()方法和newfocus.getowningpackage()方法获取对应应用的包名,从而获取应用前后台切换的埋点数据,通过文件写入方式写入到埋点数据文件。
45.s103,获取任一云机应用异常的埋点数据。
46.在一示例中,所述获取任一云机应用异常的埋点数据,包括:当监控到任一云机应用的anr和app异常无响应的错误弹窗时,基于所述错误弹窗的弹窗代码逻辑,获取handleshowapperrorui()handleshowanrui()dialog.show()之前的云机应用的包名,所述任一云机应用异常的埋点数据包括获得的云机应用的包名。
47.具体地,云机应用异常的埋点数据:在android系统中,云机应用出现anr和app异常无响应时,android系统会弹出app无响应的错误弹窗。当监控到anr和app异常无响应的错误弹窗时,弹窗代码逻辑是在/frameworks/base/services/core/java/com/android/server/am/apperrors.java。因此在该类的handleshowapperrorui()handleshowanrui()dialog.show()之前获取包名,通过文件写入方式生成对应应用异常的埋点数据。
48.上述各埋点数据获得方式如下:
49.云机系统拦截应用前后台切换:系统frameworks windowmanagerservice内中监控当前window的焦点的变化,调用lastfocus和newfocus的getowningpackage方法,获取前后台切换云机应用的包名,通过文件写入方式,生成埋点数据。
50.云机系统拦截应用异常方式生成埋点数据:系统frameworks中,云机应用出现anr和app异常无响应,apperrors弹出异常弹窗时,获取异常云机应用的包名、通过文件写入方式生成对应应用异常的埋点数据。
51.s104,分别将所述任一云机应用安装时的埋点数据、所述获取任一云机应用卸载时的埋点数据、所述任一云机应用前后台切换的埋点数据、以及所述任一云机应用异常的埋点数据写入到埋点数据文件。
52.s105,通过云插件将所述埋点数据文件中的埋点数据上报到资源管理平台,所述资源管理平台用于一个或多个云机应用的埋点数据进行远程监控和数据统计分析并基于数据统计分析结果进行云机资源分配。
53.在一示例中,所述云插件开启轮询子线程按照预设时间间隔并根据所述埋点数据文件的文件路径读取所述埋点数据文件中的埋点数据,并通过http方式将所述埋点数据文件中的埋点数据上报到资源管理平台。
54.具体地,定时监控云机的埋点数据文件,通过端云通道上报到资源管理平台。如,埋点数据文件的路径为/data/system/usagestats.txt。端云的云插件开启轮询子线程,每隔半个小时读取埋点数据文件,通过http方式及时上传到资源管理平台。
55.上述一种云机埋点数据的上报方法,获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据;获取任一云机应用前后台切换的埋点数据;获取任一云机应用异常的埋点数据;分别将任一云机应用安装时的埋点数据、获取任一云机应用
卸载时的埋点数据、任一云机应用前后台切换的埋点数据、以及任一云机应用异常的埋点数据写入到埋点数据文件;通过云插件将埋点数据文件中的埋点数据上报到资源管理平台,资源管理平台用于一个或多个云机应用的埋点数据进行远程监控和数据统计分析并基于数据统计分析结果进行云机资源分配。因此,能够获得并上传任一云机应用的多种埋点数据,增加了埋点数据上报的多样性,从而使得资源源管理平台能够远程监控和数据统计分析多种云机埋点数据,并基于数据统计分析结果进行云机资源分配。
56.具体地,一种云机埋点数据的上报方法的实现逻辑如图2所示。如图2所示,云应用为云机的终端应用,即云机应用。云系统为云应用的支持系统,如安卓系统。端云插件为上述端云的云插件。
57.云系统获取云应用的前后台切换、云应用异常、云应用安装和云应用卸载等场景获得的埋点数据,生成埋点数据文件。端云插件定时轮询,获得云系统的埋点数据文件中的埋点数据,并将埋点数据通过http方式及时上传到资源管理平台。
58.综上,本技术不仅提供了多种云机埋点数据生成方法,该方法增加应用安装、应用卸载、应用前后台切换、应用异常等的埋点数据,解决了埋点数据只有一些云机重启、云机登录和退出单一的埋点数据的单一问题。此外,增加了埋点数据文件轮询检查上传到资源管理平台的功能,便于资源管理平台埋点数据的收集和统计。
59.本技术还提供一种云机埋点数据的上报装置,如图3所示,包括第一获取模块301、第二获取模块302、第三获取模块303、写入模块304和上报模块305。第一获取模块301,用于获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据;第二获取模块302,用于获取任一云机应用前后台切换的埋点数据;第三获取模块303,用于获取任一云机应用异常的埋点数据;写入模块304,用于分别将所述任一云机应用安装时的埋点数据、所述获取任一云机应用卸载时的埋点数据、所述任一云机应用前后台切换的埋点数据、以及所述任一云机应用异常的埋点数据写入到埋点数据文件;上报模块305,用于通过云插件将所述埋点数据文件中的埋点数据上报到资源管理平台,所述资源管理平台用于一个或多个云机应用的埋点数据进行远程监控和数据统计分析并基于数据统计分析结果进行云机资源分配。
60.关于一种云机埋点数据的上报装置的具体限定可以参见上文中对于一种云机埋点数据的上报方法的限定,在此不再赘述。上述一种云机埋点数据的上报装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
61.本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有应用程序,该程序被处理器执行时实现上述实施例中任意一个实施例的一种云机埋点数据的上报方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-only memory,只读存储器)、ram(random access memory,随即存储器)、eprom(erasable programmable read-only memory,可擦写可编程只读存储器)、eeprom(electrically erasable programmableread-only memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
62.本发明实施例还提供了一种计算机应用程序,其运行在计算机上,该计算机应用程序用于执行上述中任意一个实施例的一种云机埋点数据的上报方法。
63.此外,图4是本发明实施例中的计算机设备的结构组成示意图。
64.本发明实施例还提供了一种计算机设备,如图4所示。所述计算机设备包括处理器402、存储器403、输入单元404以及显示单元405等器件。本领域技术人员可以理解,图4示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器403可用于存储应用程序401以及各功能模块,处理器402运行存储在存储器403的应用程序401,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、zip盘、u盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
65.输入单元404用于接收信号的输入,以及接收用户输入的关键字。输入单元404可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元405可用于显示用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元405可采用液晶显示器、有机发光二极管等形式。处理器402是终端设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器403内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
66.作为一个实施例,所述计算机设备包括:一个或多个处理器402,存储器403,一个或多个应用程序401,其中所述一个或多个应用程序401被存储在存储器403中并被配置为由所述一个或多个处理器402执行,所述一个或多个应用程序401配置用于执行上述实施例中的任意一实施例中的一种云机埋点数据的上报方法。
67.另外,以上对本发明实施例所提供的一种云机埋点数据的上报方法、装置、计算机设备和介质进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种云机埋点数据的上报方法,其特征在于,所述上报方法包括:获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据;获取任一云机应用前后台切换的埋点数据;获取任一云机应用异常的埋点数据;分别将所述任一云机应用安装时的埋点数据、所述获取任一云机应用卸载时的埋点数据、所述任一云机应用前后台切换的埋点数据、以及所述任一云机应用异常的埋点数据写入到埋点数据文件;通过云插件将所述埋点数据文件中的埋点数据上报到资源管理平台,所述资源管理平台用于一个或多个云机应用的埋点数据进行远程监控和数据统计分析并基于数据统计分析结果进行云机资源分配。2.根据权利要求1所述的方法,其特征在于,所述获取任一云机应用安装时的埋点数据,包括:通过intent.getdatastring()方法获取安装时任一云机应用的包名和应用名,所述任一云机应用安装时的埋点数据包括所述任一云机应用的包名和应用名。3.根据权利要求2所述的上报方法,其特征在于,所述获取任一云机应用卸载时的埋点数据,包括:通过intent.getdatastring()方法获取卸载时任一云机应用的包名,所述任一云机应用卸载时的埋点数据包括所述任一云机应用的包名。4.根据权利要求3所述的上报方法,其特征在于,任一云机应用被安装时云机系统发送android.intent.action.package_added广播,以使得通过intent.getdatastring()方法获取安装时任一云机应用的包名和应用名;任一云机应用被卸载时云机系统发送android.intent.action.package_removed广播,以使得通过intent.getdatastring()方法获取卸载时任一云机应用的包名。5.根据权利要求1-4任一项所述的上报方法,其特征在于,所述获取任一云机应用前后台切换的埋点数据,包括:通过安卓系统的updatefocusedwindowlocked()方法监听window.focus()方法的变化情况;当监听到window.focus()方法中的lastfocus()方法和newfocus()方法中apk不同类名的切换时,调用lastfocus.getowningpackage()方法获得第一云机应用的包名,调用newfocus.getowningpackage()方法获取第二云机应用的包名,所述任一云机应用前后台切换的埋点数据包括所述第一云机应用的包名和所述第二云机应用的包名。6.根据权利要求5所述的上报方法,其特征在于,所述获取任一云机应用异常的埋点数据,包括:当监控到任一云机应用的anr和app异常无响应的错误弹窗时,基于所述错误弹窗的弹窗代码逻辑,获取handleshowapperrorui()handleshowanrui()dialog.show()之前的云机应用的包名,所述任一云机应用异常的埋点数据包括获得的云机应用的包名。7.根据权利要求1所述的上报方法,其特征在于,所述云插件开启轮询子线程按照预设时间间隔并根据所述埋点数据文件的文件路径读取所述埋点数据文件中的埋点数据,并通过http方式将所述埋点数据文件中的埋点数据上报到资源管理平台。
8.一种云机埋点数据的上报装置,其特征在于,所述装置包括:第一获取模块,用于获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据;第二获取模块,用于获取任一云机应用前后台切换的埋点数据;第三获取模块,用于获取任一云机应用异常的埋点数据;写入模块,用于分别将所述任一云机应用安装时的埋点数据、所述获取任一云机应用卸载时的埋点数据、所述任一云机应用前后台切换的埋点数据、以及所述任一云机应用异常的埋点数据写入到埋点数据文件;上报模块,用于通过云插件将所述埋点数据文件中的埋点数据上报到资源管理平台,所述资源管理平台用于一个或多个云机应用的埋点数据进行远程监控和数据统计分析并基于数据统计分析结果进行云机资源分配。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
技术总结
本发明涉及一种云机埋点数据的上报方法、装置、计算机设备和介质,方法包括:获取任一云机应用安装时的埋点数据,以及获取任一云机应用卸载时的埋点数据;获取任一云机应用前后台切换的埋点数据;获取任一云机应用异常的埋点数据;分别将任一云机应用安装时的埋点数据、获取任一云机应用卸载时的埋点数据、任一云机应用前后台切换的埋点数据、以及任一云机应用异常的埋点数据写入到埋点数据文件;通过云插件将埋点数据文件中的埋点数据上报到资源管理平台。上述方法能够增加埋点数据上报的多样性,从而使得资源源管理平台能够远程监控和数据统计分析多种云机埋点数据,并基于数据统计分析结果进行云机资源分配。分析结果进行云机资源分配。分析结果进行云机资源分配。
技术研发人员:卫伟 陈春攀 陆伟鸿 区锦棠
受保护的技术使用者:广东悦伍纪网络技术有限公司
技术研发日:2023.05.04
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
