CN112395470A - 终端系统中操作事件统计方法、装置、终端及存储介质 - Google Patents
终端系统中操作事件统计方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN112395470A CN112395470A CN201910762806.7A CN201910762806A CN112395470A CN 112395470 A CN112395470 A CN 112395470A CN 201910762806 A CN201910762806 A CN 201910762806A CN 112395470 A CN112395470 A CN 112395470A
- Authority
- CN
- China
- Prior art keywords
- event
- package name
- target
- interface
- terminal system
- 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
Links
- 238000007619 statistical method Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012544 monitoring process Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1865—Transactional file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请适用于计算机技术领域,提出一种操作事件统计方法,包括:监听预设时长内终端系统中所有控件的操作事件;若监听到目标控件的目标操作事件,则获取目标操作事件对应的目标事件信息;将目标事件信息记录在预先建立的事件数据库中;基于事件数据库中记录的所有事件信息,统计在预设时长内发生在终端系统中的所有应用内的操作事件。由于将监听到的目标事件信息记录在预先建立的事件数据库中,且基于事件数据库中记录的所有事件信息,统计发生在终端系统中的所有应用内的操作事件,能够避免在统计操作事件的过程中将对应的布局文件导入第三方包文件,导致第三方文件偏大,使得统计操作事件的相关工作量大且冗余繁杂的问题。
Description
技术领域
本申请属于计算机技术领域,尤其涉及一种终端系统中操作事件统计方法、装置、终端系统中及存储介质。
背景技术
目前统计终端应用的控件操作事件主要是在宿主应用中嵌入统计事件的第三方包文件,通过调用第三方包文件中相关操作事件的统计接口,并根据事先约定的统计事件协议将统计的控件操作事件相关信息写入第三方包文件,最后通过判断预设的上报事件允许条件将记录的相关信息上报云端。由于各个统计操作事件的第三方包文件的统计操作事件协议往往不一致,导致需要将各个统计操作事件的应用对应的布局文件全部导入第三方包文件,导致第三方包文件偏大,统计控件的操作事件的相关工作量大且冗余繁杂。
发明内容
有鉴于此,本申请实施例提供了终端系统中操作事件统计方法、装置、终端及存储介质,以解决现有技术中由于在统计操作事件的过程中将对应的布局文件导入第三方包文件,导致第三方文件偏大,使得统计操作事件的相关工作量大且冗余繁杂的问题。
本申请实施例的第一方面提供了一种终端系统中操作事件统计方法,,包括:
监听预设时长内终端系统中所有控件的操作事件;
若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;
将所述目标事件信息记录在预先建立的事件数据库中;
基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件;所有所述事件信息包括所述预设时长内不同时刻获取到的所有所述目标事件信息,所述事件信息包括应用包名。
可选地,在所述实时监听预设时长内终端系统中所有控件的操作事件之前,包括:
对所有所述控件添加操作事件监听函数,所述操作事件监听函数用于监听预先设置的控件的操作事件。
可选地,所述若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息,包括:
当所述操作事件监听函数监听到目标控件的操作事件时,获取所述目标控件的控件标识信息、所述目标控件在当前时刻所属应用的第一应用包名以及所述目标控件在当前时刻所在界面的第一界面包名;
基于所述控件标识信息遍历预先建立的控件数据库,获取所述目标控件的目标控件信息,所述控件数据库存储有控件标识信息与控件信息之间的映射关系;
基于所述目标控件信息、所述第一应用包名以及所述第一界面包名,确定所述操作事件对应的事件信息。
可选地,所述目标控件信息包括第二应用包名和第二界面包名;所述第二应用包名为在所述预设时长的第一时刻所述目标控件所属应用的应用包名,所述第二界面包名为在所述预设时长的第一时刻所述目标控件所在界面的界面包名,所述第一时刻为所述当前时刻之前的时刻;
所述基于所述目标控件信息、所述第一应用包名以及所述第一界面包名称,确定所述操作事件对应的事件信息,包括:
若所述第二应用包名与所述第一应用包名相同,且所述第二界面包名与所述第一界面包名相同,则判定所述操作事件发生在同一界面内,所述事件信息包括所述第二应用包名和所述第二界面包名;
若所述第二应用包名与所述第一应用包名相同,且所述第二界面包名与所述第一界面包名不同,则判定所述操作事件发生在同一应用内的不同界面,所述事件信息包括所述第二应用包名、所述第二界面包名和所述第一界面包名;
若所述第二应用包名与所述第一应用包名不同,且所述第二界面包名称与所述第一界面包名称不同,则判定所述操作事件发生在不同应用间,所述事件信息包括所述第一应用包名、所述第一界面包名、所述第二应用包名和所述第二界面包名。
可选地,所述基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件,包括:
基于所述事件数据库中记录的所有事件信息包含的应用包名,统计在所述预设时长内发生在所述终端系统中所有应用包名各自对应的应用内的操作事件,所述应用包名包括所述第一应用包名和所述第二应用包名。
可选地,所述基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件,包括:
基于所述事件数据库中记录的所有事件信息包含的界面包名,统计在所述预设时长内发生在所述终端系统中的所有界面包名各自对应的界面上的操作事件,所述界面包名包括所述第一界面包名和所述第二界面包名。
可选地,在所述将所述事件信息记录在预先建立的事件数据库中之前,包括:
获取所述终端系统中安装的应用程序对应的配置文件;
解析所述配置文件,得到每个所述应用程序的所有应用界面的布局文件;
获取所述布局文件中的控件信息,将所述控件信息存入预先建立的控件数据库。
本申请实施例的第二方面提供了一种终端系统中操作事件统计装置,包括:
监听模块,用于监听预设时长内终端系统中所有控件的操作事件;
获取模块,用于在若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;
记录模块,用于将所述目标事件信息记录在预先建立的事件数据库中;
统计模块,用于基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件;所有所述事件信息包括所述预设时长内不同时刻获取到的所有所述目标事件信息,所述事件信息包括应用包名。
本申请实施例的第三方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一实施例所述终端系统中操作事件统计方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一实施例所述终端系统中操作事件统计方法。
本申请实施例与现有技术相比存在的有益效果是:通过监听预设时长内终端系统中所有控件的操作事件;若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;将所述目标事件信息记录在预先建立的事件数据库中;基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件。由于将监听到的目标事件信息记录在预先建立的事件数据库中,且基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件,能够避免在统计操作事件的过程中将对应的布局文件导入第三方包文件,避免由于第三方文件偏大,导致的统计操作事件的相关工作量大且冗余繁杂的问题,提高统计操作时间的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请第一实施例提供的终端系统中操作事件统计方法的实现流程图;
图2是图1中S102的具体实施流程图;
图3是图2中S1023的具体实施流程图;
图4是本申请第二实施例提供的终端系统中操作事件统计方法的实现流程图;
图5是本申请第三实施例提供的终端系统中操作事件统计方法的实现流程图;
图6是本申请提供的终端系统中操作事件统计装置的装置示意图;
图7是本申请提供的终端的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。如图1所示,是本申请第一实施例提供的终端系统中操作事件统计方法的实现流程图,本实施例的执行主体为终端系统中。详述如下:
S101,监听预设时长内终端系统中的所有控件的操作事件。
具体地,在本实施例中,通过预先对所述终端系统中的所有控件分别设置事件监听函数来监听预设时长内终端系统中所有控件的操作事件,需要说明的是,终端系统中的任何一个控件都是直接或间接继承自所有控件的父类(View类)实现的。另外,预设时长可根据具体情况进行设置。
因此,在一种可选的实施方式中,可以通过分别在所有控件的View类中添加每个控件对应的属性如控件类别、控件布局等,生成每个控件对应的监听对象,进一步地,为每个控件的监听对象设置操作事件监听函数。
需要说明的是,在实际使用中,无论用户操作的是哪个应用,无论是在应用中的哪个界面,都是通过触发界面上的控件来满足用户需求,比如通过操作界面上的某些按键控件进行界面的跳转等。在本实施例中,将用户触发界面上的控件的过程称为所述操作事件,例如,将用户点击控件的过程。
S102,若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息。
需要说明的是,在本实施例中,当监听到触发控件的操作事件时,例如,点击(或按键)控件,则以当前控件为目标控件,以当前触发控件的操作事件为目标操作事件。
具体地,在一种可能的实现方式中,可以通过获取目标控件的控件标识信息如控件id,目标控件在当前时刻所在界面的第一界面包名以及目标控件在当前时刻所属应用的第一应用包名确定目标事件信息。
具体地,如图2所示,是图1中S102的具体实施流程图。由图2可知,S102包括:
S1021,当所述操作事件监听函数监听到目标控件的操作事件时,获取所述目标控件的控件标识信息、所述目标控件在当前时刻所属应用的第一应用包名以及所述目标控件在当前时刻所在界面的第一界面包名。
需要说明的是,每个控件的控件标识信息为唯一的,且可以用来识别控件的身份标,例如,在本实施例中,控件标识信息为控件id,应用包名为应用的身份标示信息,界面包名为界面的身份标示信息。
在本实施例中,用第一应用包名表示目标控件在当前时刻所属应用的身份标示,用第一界面包名表示目标控件在当前时刻所在界面的身份标示。
S1022,基于所述控件标识信息遍历预先建立的控件数据库,获取所述目标控件的目标控件信息,所述控件数据库存储有控件标识信息与控件信息之间的映射关系。
具体地,预先建立的控件数据库包括控件标识信息与控件信息之间的映射关系,具体地,控件信息可以包括控件在预设时长的第一时刻所属应用的第二应用包名,控件在预设时长的第一时刻所在界面的第二界面包名,控件在当前时刻所属应用的第一应用包名,空间在当前时刻所在界面的第一界面包名,控件所在界面的布局文件信息,控件类型,控件在对应界面的位置信息如控件坐标、控件宽度、控件高度等,所述第一时刻为所述当前时刻之前的时刻。
S1023,基于所述目标控件信息、所述第一应用包名以及所述第一界面包名,确定所述操作事件对应的事件信息。
具体地,在本实施例中,所述目标控件信息包括第二应用包名和第二界面包名;所述第二应用包名为在所述预设时长的第一时刻所述目标控件所属应用的应用包名,所述第二界面包名为在所述预设时长的第一时刻所述目标控件所在界面的界面包名,所述第一时刻为所述当前时刻之前的时刻。
具体地,由于界面包名是界面的唯一身份标示信息,应用包名是应用的唯一身份标示信息。在本实施例中,可以通过操作事件发生前后,控件所在界面的界面包名以及控件所属应用的应用包名是否相同,确定操作事件是否发生在同一界面内,或者是否发生在同一应用内。
具体地,如图3所示,图3是图2中S1023的具体实施流程图,由图3可知,S1023包括:
S301,若所述第二应用包名与所述第一应用包名相同,且所述第二界面包名与所述第一界面包名相同,则判定所述操作事件发生在同一界面内,所述事件信息包括所述第二应用包名和所述第二界面包名。
具体地,若判定操作事件发生在同一界面内,则确定控件在操作事件发生前后对应的应用包名及界面包名均不变,对应的事件信息包括控件在操作事件发生前后对应的应用包名及界面包名。具体地,事件信息包括第二应用包名和第二界面包名,或者,事件信息包括第一应用包名和第一界面包名。
S302,若所述第二应用包名与所述第一应用包名相同,且所述第二界面包名与所述第一界面包名不同,则判定所述操作事件发生在同一应用内的不同界面,所述事件信息包括所述第二应用包名、所述第二界面包名和所述第一界面包名。
具体地,若判定操作事件发生在同一应用的不同界面内,则确定控件在操作事件发生前后对应的应用包名不变,界面包名发生变化,对应的事件信息包括控件在操作事件发生前后对应的应用包名及界面包名。具体地,事件信息包括第二应用包名、第二界面包名和第一界面包名,或者,事件信息包括第二应用包名、第二界面包名和第二界面包名。
S303,若所述第二应用包名与所述第一应用包名不同,且所述第二界面包名称与所述第一界面包名称不同,则判定所述操作事件发生在不同应用间,所述事件信息包括所述第一应用包名、所述第一界面包名、所述第二应用包名和所述第二界面包名。
具体地,若判定操作事件发生在不同应用内,则确定控件在操作事件发生前后对应的应用包名以及界面包名均发生变化,对应的事件信息包括控件在操作事件发生前后对应的应用包名及界面包名。具体地,事件信息包括第二应用包名、第二界面包名、第一界面包名和第二界面包名。
S103,将所述目标事件信息记录在预先建立的事件数据库中。
具体地,在本实施例中,为了方便统计在预设时长内各个控件的操作事件,预先建立事件数据库,用于记录目标事件信息。
可以理解的是,可以将所述目标事件信息按照预设的格式进行格式化处理之后,记录在预先建立的事件数据库中。具体地,对预设的格式不做具体限制。
S104,基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件;所有所述事件信息包括所述预设时长内不同时刻获取到的所有所述目标事件信息,所述事件信息包括应用包名。
具体地,所述终端系统中的所有应用均具有唯一的应用包名,根据每个事件信息包含的应用包名,可以统计得到发生在所述终端系统中的所有应用内的操作事件。进一步地,可以根据统计得到的终端系统中的所有应用内的操作事件确定哪个应用的操作事件最多,以此确定应用的受欢迎程度等。
具体地,在一种可能的实现方式中,所述基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件具体包括:
基于所述事件数据库中记录的所有事件信息包含的应用包名,统计在所述预设时长内发生在所有应用包名各自对应的应用内的操作事件,所述应用包名包括所述第一应用包名和所述第二应用包名。
例如,遍历所述事件数据库中记录的所有应用包名,获取位于所述预设时长内的所有应用包名并生成对应的列表。该列表中的信息则是所述预设时长内所有应用包名对应的应用内的操作事件的事件信息。基于该列表中的信息分别统计在所述预设时长内发生在所有应用包名各自对应的应用内的操作事件。
进一步地,在另一种实现方式中,所述基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件具体包括:
基于所述事件数据库中记录的所有事件信息包含的界面包名,统计在所述预设时长内发生在所有界面包名各自对应的界面上的操作事件,所述界面包名包括所述第一界面包名和所述第二界面包名。
例如,遍历所述事件数据库中记录的所有界面包名,获取位于所述预设时长内的所有应用包名并生成对应的列表。该列表中的信息则是该时间段内所有界面包名对应的操作事件的事件信息。基于该列表中的信息分别统计在所述预设时长内发生在所有界面包名各自对应的界面上的操作事件。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
通过上述分析可知,本申请提出的终端系统中内控件事件统计方法,通过在监听预设时长内终端系统中所有控件的操作事件;若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;将所述目标事件信息记录在预先建立的事件数据库中;基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件。由于将监听到的目标事件信息记录在预先建立的事件数据库中,且基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件,能够避免在统计操作事件的过程中将对应的布局文件导入第三方包文件,避免由于第三方文件偏大,导致的统计操作事件的相关工作量大且冗余繁杂的问题,提高统计操作时间的效率。
如图4所示,是本申请第二实施例提供的终端系统中操作事件统计方法的实现流程图。由图4可知,本实施例与图1所示实施例相比,S402~S405的具体实施过程与S101~S104的具体实施过程相同,不同之处在于,在S402之前还包括S401,具体地,S401的具体实施过程详述如下。
S401,对所有所述控件添加操作事件监听函数,所述操作事件监听函数用于监听预先设置的控件的操作事件。
具体地,在本实例中,所述事件监听函数包括监听对象以及监听对象的监听类对象,所述监听对象为由所有控件的View类中添加的每个控件对应的属性确定的控件的操作事件。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
通过上述分析可知,本申请提出的终端系统中内控件事件统计方法,通过监听预设时长内终端系统中所有控件的操作事件;若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;将所述目标事件信息记录在预先建立的事件数据库中;基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件。由于将监听到的目标事件信息记录在预先建立的事件数据库中,且基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件,能够避免在统计操作事件的过程中将对应的布局文件导入第三方包文件,避免由于第三方文件偏大,导致的统计操作事件的相关工作量大且冗余繁杂的问题,提高统计操作时间的效率。
如图5所示,是本申请第三实施例提供的终端系统中操作事件统计方法的实现流程图。由图5可知,本实施例与图4所示实施例相比,S501~S504的具体实施过程与S401~S404的具体实施过程相同,S508与S405的具体实施过程相同,不同之处在于,在S508之前还包括S505~S507,S505可以在S504之前执行,也可以在S504之后执行,具体地,S505~S507的具体实施过程详述如下。
S505,获取所述终端系统中安装的应用程序对应的配置文件。
具体地,终端系统在启动的过程中,会启动一个应用程序管理服务(PackageManager Service),所述应用程序管理服务负责扫描终端系统中特定的目录,并查找到所述特定的目录里面的应用程序文件,所述应用程序文件为以apk为后缀的文件,在查找到所述应用程序文件后,对查找到的所述应用程序文件进行解析,得到应用程序的相关配置文件。在本实例中,获取所述应用程序管理服务解析得到的应用程序对应的配置文件。
S506,解析所述配置文件,得到每个所述应用程序的所有应用界面的布局文件。
通过预先确定的反汇编工具,如apktool工具,可以反汇编所述配置文件,通过反汇编所述配置文件后,获取到存放应用界面的布局文件的文件夹,从所述存放应用界面的布局文件的文件夹中获取每个所述应用程序的所有界面的布局文件。
S507,获取所述布局文件中的控件信息,将所述控件信息存入预先建立的控件数据库。
需要说明的是,终端系统的每个应用的每个界面(Activity)对应一个布局文件,每个界面中展示的元素都位于其对应的布局文件中,每个元素对应布局文件中的一个控件。
在本实例中,通过对获取到的每个布局文件进行解析,获取布局文件中的每一个控件的控件属性。具体地,所述控件属性包括控件标识信息、控件宽度、控件高度、控件类型、控件所属应用的应用包名、控件所在界面的界面包名以及控件所在界面对应布局文件名称。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
通过上述分析可知,本申请提出的终端系统中内控件事件统计方法,通过监听预设时长内终端系统中所有控件的操作事件;若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;将所述目标事件信息记录在预先建立的事件数据库中;基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件。由于将监听到的目标事件信息记录在预先建立的事件数据库中,且基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件,能够避免在统计操作事件的过程中将对应的布局文件导入第三方包文件,避免由于第三方文件偏大,导致的统计操作事件的相关工作量大且冗余繁杂的问题,提高统计操作时间的效率。
图6是本申请提供的终端系统中操作事件统计装置的装置示意图。如图6所示,该实施例的终端系统中操作事件统计装置6包括:监听模块601、获取模块602、记录模块603以及统计模块604。其中,
监听模块601,用于监听预设时长内终端系统中所有控件的操作事件;
获取模块602,用于在若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;
记录模型603,用于将所述目标事件信息记录在预先建立的事件数据库中;
统计模块604,用于基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件;所有所述事件信息包括所述预设时长内不同时刻获取到的所有所述目标事件信息,所述事件信息包括应用包名。
优选地,还包括:
添加模块,用于对所有所述控件添加操作事件监听函数,所述操作事件监听函数用于监听预先设置的控件的操作事件。
优选地,获取模块602,包括:
第一获取单元,用于在当所述操作事件监听函数监听到目标控件的操作事件时,获取所述目标控件的控件标识信息、所述目标控件在当前时刻所属应用的第一应用包名以及所述目标控件在当前时刻所在界面的第一界面包名;
第二获取单元,用于在基于所述控件标识信息遍历预先建立的控件数据库,获取所述目标控件的目标控件信息,所述控件数据库存储有控件标识信息与控件信息之间的映射关系;
确定单元,用于基于所述目标控件信息、所述第一应用包名以及所述第一界面包名,确定所述操作事件对应的事件信息。
优选地,所述目标控件信息包括第二应用包名和第二界面包名;所述第二应用包名为在所述预设时长的第一时刻所述目标控件所属应用的应用包名,所述第二界面包名为在所述预设时长的第一时刻所述目标控件所在界面的界面包名,所述第一时刻为所述当前时刻之前的时刻;
所述确定单元,包括:
第一判定单元,用于在若所述第二应用包名与所述第一应用包名相同,且所述第二界面包名与所述第一界面包名相同,则判定所述操作事件发生在同一界面内,所述事件信息包括所述第二应用包名和所述第二界面包名;
第二判定单元,用于在若所述第二应用包名与所述第一应用包名相同,且所述第二界面包名与所述第一界面包名不同,则判定所述操作事件发生在同一应用内的不同界面,所述事件信息包括所述第二应用包名、所述第二界面包名和所述第一界面包名;
第三判定单元,用于在若所述第二应用包名与所述第一应用包名不同,且所述第二界面包名称与所述第一界面包名称不同,则判定所述操作事件发生在不同应用间,所述事件信息包括所述第一应用包名、所述第一界面包名、所述第二应用包名和所述第二界面包名。
优选地,统计模块604具体用于:
基于所述事件数据库中记录的所有事件信息包含的应用包名,统计在所述预设时长内发生在所述终端系统中所有应用包名各自对应的应用内的操作事件,所述应用包名包括所述第一应用包名和所述第二应用包名。
优选地,统计模块604具体用于:
基于所述事件数据库中记录的所有事件信息包含的界面包名,统计在所述预设时长内发生在所述终端系统中的所有界面包名各自对应的界面上的操作事件,所述界面包名包括所述第一界面包名和所述第二界面包名。
优选地,还包括:
配置文件获取模块,用于获取所述终端系统中安装的应用程序对应的配置文件;
解析模块,用于解析所述配置文件,得到每个所述应用程序的所有应用界面的布局文件;
控件信息获取模块,用于获取所述布局文件中的控件信息,将所述控件信息存入预先建立的控件数据库。
图7是本申请提供的终端的示意图。如图7所示,该实施例的终端7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如终端系统中操作事件统计程序。所述处理器70执行所述计算机程序72时实现上述各个终端系统中操作事件统计方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器70执行所述计算机程序72时实现上述终端系统中操作事件统计装置实施例中各模块/单元的功能,例如图6所示模块601至604的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在终端7中的执行过程。例如,所述计算机程序72可以被分割成监听模块、获取模块、记录模块以及统计模块(虚拟装置中的模块),各模块具体功能如下:
监听模块,用于监听预设时长内终端系统中所有控件的操作事件;
获取模块,用于在若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;
记录模块,用于将所述目标事件信息记录在预先建立的事件数据库中;
统计模块,用于基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件;所有所述事件信息包括所述预设时长内不同时刻获取到的所有所述目标事件信息,所述事件信息包括应用包名。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个通信单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种终端系统中操作事件统计方法,其特征在于,包括:
监听预设时长内终端系统中所有控件的操作事件;
若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;
将所述目标事件信息记录在预先建立的事件数据库中;
基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件;所有所述事件信息包括所述预设时长内不同时刻获取到的所有所述目标事件信息,所述事件信息包括应用包名。
2.如权利要求1所述的终端系统中操作事件统计方法,其特征在于,在所述实时监听预设时长内终端系统中所有控件的操作事件之前,包括:
对所有所述控件添加操作事件监听函数,所述操作事件监听函数用于监听预先设置的控件的操作事件。
3.如权利要求2所述的终端系统中操作事件统计方法,其特征在于,所述若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息,包括:
当所述操作事件监听函数监听到目标控件的操作事件时,获取所述目标控件的控件标识信息、所述目标控件在当前时刻所属应用的第一应用包名以及所述目标控件在当前时刻所在界面的第一界面包名;
基于所述控件标识信息遍历预先建立的控件数据库,获取所述目标控件的目标控件信息,所述控件数据库存储有控件标识信息与控件信息之间的映射关系;
基于所述目标控件信息、所述第一应用包名以及所述第一界面包名,确定所述操作事件对应的事件信息。
4.如权利要求3所述的终端系统中操作事件统计方法,其特征在于,所述目标控件信息包括第二应用包名和第二界面包名;所述第二应用包名为在所述预设时长的第一时刻所述目标控件所属应用的应用包名,所述第二界面包名为在所述预设时长的第一时刻所述目标控件所在界面的界面包名,所述第一时刻为所述当前时刻之前的时刻;
所述基于所述目标控件信息、所述第一应用包名以及所述第一界面包名称,确定所述操作事件对应的事件信息,包括:
若所述第二应用包名与所述第一应用包名相同,且所述第二界面包名与所述第一界面包名相同,则判定所述操作事件发生在同一界面内,所述事件信息包括所述第二应用包名和所述第二界面包名;
若所述第二应用包名与所述第一应用包名相同,且所述第二界面包名与所述第一界面包名不同,则判定所述操作事件发生在同一应用内的不同界面,所述事件信息包括所述第二应用包名、所述第二界面包名和所述第一界面包名;
若所述第二应用包名与所述第一应用包名不同,且所述第二界面包名称与所述第一界面包名称不同,则判定所述操作事件发生在不同应用间,所述事件信息包括所述第一应用包名、所述第一界面包名、所述第二应用包名和所述第二界面包名。
5.如权利要求4所述的终端系统中操作事件统计方法,其特征在于,所述基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件,包括:
基于所述事件数据库中记录的所有事件信息包含的应用包名,统计在所述预设时长内发生在所述终端系统中所有应用包名各自对应的应用内的操作事件,所述应用包名包括所述第一应用包名和所述第二应用包名。
6.如权利要求4或5所述的终端系统中操作事件统计方法,其特征在于,所述基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件,包括:
基于所述事件数据库中记录的所有事件信息包含的界面包名,统计在所述预设时长内发生在所述终端系统中的所有界面包名各自对应的界面上的操作事件,所述界面包名包括所述第一界面包名和所述第二界面包名。
7.如权利要求1-6任一所述的终端系统中操作事件统计方法,其特征在于,在所述将所述事件信息记录在预先建立的事件数据库中之前,包括:
获取所述终端系统中安装的应用程序对应的配置文件;
解析所述配置文件,得到每个所述应用程序的所有应用界面的布局文件;
获取所述布局文件中的控件信息,将所述控件信息存入预先建立的控件数据库。
8.一种终端系统中操作事件统计装置,其特征在于,包括:
监听模块,用于监听预设时长内终端系统中所有控件的操作事件;
获取模块,用于在若监听到目标控件的目标操作事件,则获取所述目标操作事件对应的目标事件信息;
记录模块,用于将所述目标事件信息记录在预先建立的事件数据库中;
统计模块,用于基于所述事件数据库中记录的所有事件信息,统计在所述预设时长内发生在所述终端系统中的所有应用内的操作事件;所有所述事件信息包括所述预设时长内不同时刻获取到的所有所述目标事件信息,所述事件信息包括应用包名。
9.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述终端系统中操作事件统计方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述终端系统中操作事件统计方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910762806.7A CN112395470A (zh) | 2019-08-19 | 2019-08-19 | 终端系统中操作事件统计方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910762806.7A CN112395470A (zh) | 2019-08-19 | 2019-08-19 | 终端系统中操作事件统计方法、装置、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112395470A true CN112395470A (zh) | 2021-02-23 |
Family
ID=74603288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910762806.7A Pending CN112395470A (zh) | 2019-08-19 | 2019-08-19 | 终端系统中操作事件统计方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395470A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635480A (zh) * | 2016-01-19 | 2016-06-01 | 广州彩瞳网络技术有限公司 | 一种应用程序推荐方法及相应装置 |
CN107491488A (zh) * | 2017-07-18 | 2017-12-19 | 北京京东尚科信息技术有限公司 | 页面数据采集的方法和装置 |
CN107784065A (zh) * | 2017-08-17 | 2018-03-09 | 平安壹钱包电子商务有限公司 | 业务数据跟踪方法、装置、计算机设备及存储介质 |
CN107908443A (zh) * | 2017-10-10 | 2018-04-13 | 武汉极意网络科技有限公司 | 一种事件监听方法、智能设备及存储介质 |
CN108763016A (zh) * | 2018-05-15 | 2018-11-06 | 广州市千钧网络科技有限公司 | 一种采集用户行为数据的方法及装置 |
CN109299960A (zh) * | 2017-07-24 | 2019-02-01 | Tcl集团股份有限公司 | 监控广告的方法、装置及计算机可读存储介质、终端设备 |
CN109933976A (zh) * | 2017-12-15 | 2019-06-25 | 深圳Tcl工业研究院有限公司 | 一种安卓应用相似性检测方法、移动终端及存储装置 |
-
2019
- 2019-08-19 CN CN201910762806.7A patent/CN112395470A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635480A (zh) * | 2016-01-19 | 2016-06-01 | 广州彩瞳网络技术有限公司 | 一种应用程序推荐方法及相应装置 |
CN107491488A (zh) * | 2017-07-18 | 2017-12-19 | 北京京东尚科信息技术有限公司 | 页面数据采集的方法和装置 |
CN109299960A (zh) * | 2017-07-24 | 2019-02-01 | Tcl集团股份有限公司 | 监控广告的方法、装置及计算机可读存储介质、终端设备 |
CN107784065A (zh) * | 2017-08-17 | 2018-03-09 | 平安壹钱包电子商务有限公司 | 业务数据跟踪方法、装置、计算机设备及存储介质 |
CN107908443A (zh) * | 2017-10-10 | 2018-04-13 | 武汉极意网络科技有限公司 | 一种事件监听方法、智能设备及存储介质 |
CN109933976A (zh) * | 2017-12-15 | 2019-06-25 | 深圳Tcl工业研究院有限公司 | 一种安卓应用相似性检测方法、移动终端及存储装置 |
CN108763016A (zh) * | 2018-05-15 | 2018-11-06 | 广州市千钧网络科技有限公司 | 一种采集用户行为数据的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245078B (zh) | 一种软件的压力测试方法、装置、存储介质和服务器 | |
CN108881294B (zh) | 基于网络攻击行为的攻击源ip画像生成方法以及装置 | |
US20200153864A1 (en) | Event integration frameworks | |
CN106649063B (zh) | 用于监测程序运行时耗时数据的方法及系统 | |
CN111708749B (zh) | 操作日志记录方法、装置、计算机设备及存储介质 | |
CN109600441B (zh) | 联盟链信息发布控制方法及终端设备 | |
CN110362455B (zh) | 一种数据处理方法和数据处理装置 | |
CN113489713B (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN101976209A (zh) | 相冲突的应用程序的适应性配置 | |
CN112256542B (zh) | 基于eBPF的微服务系统性能检测方法、装置和系统 | |
WO2019227641A1 (zh) | 一种应用程序测试方法、装置、终端设备及介质 | |
CN107277019B (zh) | 数据明文获取方法、装置、电子终端及可读存储介质 | |
CN109407984B (zh) | 一种存储系统性能监测方法、装置和设备 | |
CN105187241A (zh) | 一种基于linux内核的日志记录方法及系统 | |
CN112688806A (zh) | 一种网络资产呈现的方法及系统 | |
CN111740868A (zh) | 告警数据的处理方法和装置及存储介质 | |
JP2019028891A (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN109359027B (zh) | Monkey测试方法、装置、电子设备及计算机可读存储介质 | |
CN111522703A (zh) | 监控访问请求的方法、设备和计算机程序产品 | |
CN112306700A (zh) | 一种异常rpc请求的诊断方法和装置 | |
CN111045879A (zh) | 压力测试报告的生成方法、装置及存储介质 | |
CN111400720A (zh) | 一种终端信息处理方法、系统及装置和一种可读存储介质 | |
CN110851334A (zh) | 流量统计方法、电子设备、系统及介质 | |
CN113708986B (zh) | 服务器监控装置、方法及计算机可读存储介质 | |
CN112395470A (zh) | 终端系统中操作事件统计方法、装置、终端及存储介质 |
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 |