CN112333233A - 事件信息的上报方法、装置、电子设备及存储介质 - Google Patents

事件信息的上报方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112333233A
CN112333233A CN202011009408.7A CN202011009408A CN112333233A CN 112333233 A CN112333233 A CN 112333233A CN 202011009408 A CN202011009408 A CN 202011009408A CN 112333233 A CN112333233 A CN 112333233A
Authority
CN
China
Prior art keywords
event information
identifier
reporting
attribute
reported
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.)
Granted
Application number
CN202011009408.7A
Other languages
English (en)
Other versions
CN112333233B (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202011009408.7A priority Critical patent/CN112333233B/zh
Publication of CN112333233A publication Critical patent/CN112333233A/zh
Application granted granted Critical
Publication of CN112333233B publication Critical patent/CN112333233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本公开关于一种事件信息的上报方法、装置、电子设备和存储介质。其中,方法包括:获取待上报的事件信息;创建第一进程,并根据第一进程的识别符和事件信息在第一进程中实例化计数器类以生成计数对象;在需要调用计数对象的上报函数上报事件信息时,确定当前用以调用上报函数的进程的识别符;根据计数对象之中第一进程的识别符和当前用以调用上报函数的进程的识别符,判断当前进程环境是否发生变化;以及在当前进程环境发生变化时,根据待上报的事件信息,对进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。本公开可以避免数据重复上报,保证了待上报事件信息数据的准确性。

Description

事件信息的上报方法、装置、电子设备及存储介质
技术领域
本公开涉及计算机应用技术领域,尤其涉及一种事件信息的上报方法、装置、电子设备及存储介质。
背景技术
随着网络技术发展以及业务扩展的需要,对应用程序的业务数据的收集和分析也随之日益重要。例如,收集应用程序的日活、月活用户数,收集用户对应用程序的点击行为、交互行为等,对用户行为的收集上报称为打点上报。打点是常用的数据统计的方式之一,是客户端上用于统计用户对感兴趣区域的操作行为的数据上报给服务器的动作。服务器可以根据客户端上报的数据进行统计,以便根据统计的数据进行数据挖掘。因此,如何避免数据重复上报以保证待上报事件信息数据的准确性,是至关重要的。
发明内容
本公开提供一种事件信息的上报方法、装置、电子设备及存储介质,以至少解决如何避免数据重复上报以保证待上报事件信息数据的准确性的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种事件信息的上报方法,包括:
获取待上报的事件信息;
创建第一进程,并根据所述第一进程的识别符和所述事件信息在所述第一进程中实例化计数器类以生成计数对象;其中,所述计数对象是由对所述计数器类进行实例化后而得到的对象,所述计数对象用于对所述事件信息进行计数并上报;
在需要调用所述计数对象的上报函数上报所述事件信息时,确定当前用以调用所述上报函数的进程的识别符;
根据所述计数对象之中所述第一进程的识别符和所述当前用以调用所述上报函数的进程的识别符,判断当前进程环境是否发生变化;以及
在所述当前进程环境发生变化时,根据所述待上报的事件信息,对所述进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。
在本公开的一些实施例中,所述计数器类包括第一属性和第二属性,其中,所述第一属性表示待上报的事件信息,所述第二属性表示用来实例化计数器类的进程的标识符。
在本公开的一些实施例中,所述根据所述第一进程的识别符和所述事件信息在所述第一进程中实例化计数器类以生成计数对象,包括:
以所述待上报的事件信息为第一属性参数,所述第一进程的标识符为第二属性参数,在所述第一进程中实例化所述计数器类以生成计数对象。
在本公开的一些实施例中,所述根据所述计数对象之中所述第一进程的识别符和所述当前用以调用所述上报函数的进程的识别符,判断当前进程环境是否发生变化,包括:
根据所述计数对象之中的第二属性参数以获取所述计数对象之中所述第一进程的识别符;
将所述计数对象之中所述第一进程的识别符与所述当前用以调用所述上报函数的进程的标识符进行比较;
在所述计数对象之中所述第一进程的识别符与所述进程的标识符不一致时,确定当前进程环境发生变化。
在本公开的一些实施例中,所述上报方法还包括:
在所述计数对象之中所述第一进程的识别符与所述进程的标识符一致时,确定当前进程环境未发生变化。
在本公开的一些实施例中,所述根据所述待上报的事件信息,对所述进程所对应的计数对象之中的待上报数据进行更新,包括:
获取所述事件信息之中的事件属性以及所述事件属性对应的属性值;
清空所述进程所对应的计数对象之中第一属性参数的数据;
在所述进程所对应的计数对象之中的第一属性上,以所述事件属性及其属性值为传入参数,将所述事件信息作为所述进程所对应的计数对象之中第一属性参数的数据,以将所述进程所对应的计数对象之中的待上报数据更新成所述待上报的事件信息。
在本公开的一些实施例中,所述上报方法还包括:
在所述当前进程环境未发生变化时,获取所述事件信息之中的事件属性以及所述事件属性对应的属性值;
在所述第一进程所对应的计数对象之中的第一属性上,以所述事件属性及其属性值为传入参数,将所述事件信息作为所述第一进程所对应的计数对象之中的第一属性参数的数据,并将所述第一进程所对应的计数对象之中的第一属性参数的数据进行上报。
在本公开的一些实施例中,以哈希表的形式存储所述待上报的事件信息,其中,所述哈希表包括键以及所述键对应的值,所述键用于表示待上报事件的事件属性,所述值用于表示所述事件属性的属性值。
根据本公开实施例的第二方面,提供一种事件信息的上报装置,包括:
第一获取模块,被配置为获取待上报的事件信息;
进程创建模块,被配置为创建第一进程;
生成模块,被配置为根据所述第一进程的识别符和所述事件信息在所述第一进程中实例化计数器类以生成计数对象;其中,所述计数对象是由对所述计数器类进行实例化后而得到的对象,所述计数对象用于对所述事件信息进行计数并上报;
确定模块,被配置为在需要调用所述计数对象的上报函数上报所述事件信息时,确定当前用以调用所述上报函数的进程的识别符;
判断模块,被配置为根据所述计数对象之中所述第一进程的识别符和所述当前用以调用所述上报函数的进程的识别符,判断当前进程环境是否发生变化;以及
上报模块,被配置为在所述当前进程环境发生变化时,根据所述待上报的事件信息,对所述进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。
在本公开的一些实施例中,所述计数器类包括第一属性和第二属性,其中,所述第一属性表示待上报的事件信息,所述第二属性表示用来实例化计数器类的进程的标识符。
在本公开的一些实施例中,所述生成模块具体被配置为:以所述待上报的事件信息为第一属性参数,所述第一进程的标识符为第二属性参数,在所述第一进程中实例化所述计数器类以生成计数对象。
在本公开的一些实施例中,所述判断模块具体被配置为:
根据所述计数对象之中的第二属性参数以获取所述计数对象之中所述第一进程的识别符;
将所述计数对象之中所述第一进程的识别符与所述当前用以调用所述上报函数的进程的标识符进行比较;
在所述计数对象之中所述第一进程的识别符与所述进程的标识符不一致时,确定当前进程环境发生变化。
在本公开的一些实施例中,所述判断模块还被配置为:在所述计数对象之中所述第一进程的识别符与所述进程的标识符一致时,确定当前进程环境未发生变化。
在本公开的一些实施例中,所述上报模块具体被配置为:
获取所述事件信息之中的事件属性以及所述事件属性对应的属性值;
清空所述进程所对应的计数对象之中第一属性参数的数据;
在所述进程所对应的计数对象之中的第一属性上,以所述事件属性及其属性值为传入参数,将所述事件信息作为所述进程所对应的计数对象之中第一属性参数的数据,以将所述进程所对应的计数对象之中的待上报数据更新成所述待上报的事件信息。
在本公开的一些实施例中,所述上报模块还被配置为:
在所述当前进程环境未发生变化时,获取所述事件信息之中的事件属性以及所述事件属性对应的属性值;
在所述第一进程所对应的计数对象之中的第一属性上,以所述事件属性及其属性值为传入参数,将所述事件信息作为所述第一进程所对应的计数对象之中的第一属性参数的数据,并将所述第一进程所对应的计数对象之中的第一属性参数的数据进行上报。
在本公开的一些实施例中,以哈希表的形式存储所述待上报的事件信息,其中,所述哈希表包括键以及所述键对应的值,所述键用于表示待上报事件的事件属性,所述值用于表示所述事件属性的属性值。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现本公开实施例的第一方面所述的事件信息的上报方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行本公开实施例的第一方面所述的事件信息的上报方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行上述第一方面所述的事件信息的上报方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在获得待上报的事件信息之后,创建第一进程,并根据第一进程的识别符和事件信息在第一进程中实例化计数器类以生成计数对象,在需要调用计数对象的上报函数上报事件信息时,确定当前用以调用上报函数的进程的识别符,并根据计数对象之中第一进程的识别符和当前用以调用上报函数的进程的识别符,判断当前进程环境是否发生变化,在当前进程环境发生变化时,根据待上报的事件信息,对进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。由此,通过利用用以实例化计数器类的进程的标识符来生成计数对象,使得所生成的计数对象中的属性参数中包含有该用以实例化计数器类的进程的标识符,这样,在调用计数对象的上报函数需要对事件信息进行上报时,可根据计数对象之中所包含的进程的标识符与当前用以调用上报函数的进程的标识符,判断当前进程环境是否发生变化,以便在当前进程环境发生变化时,对当前用以调用上报函数的进程所对应的计数对象之中的待上传数据进行更新,从而可以避免多进程环境下造成上报过多数据以导致严重影响统计结果,即可以避免数据重复上报,保证了待上报事件信息数据的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种事件信息的上报方法的流程图。
图2是根据一示例性实施例示出的另一种事件信息的上报方法的流程图。
图3是根据一示例性实施例示出的又一种事件信息的上报方法的流程图。
图4是根据一示例性实施例示出的一种事件信息的上报装置框图。
图5是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,打点是常用的数据统计的方式之一,是客户端上用于统计用户对感兴趣区域的操作行为的数据上报给服务器的动作。服务器可以根据客户端上报的数据进行统计,以便根据统计的数据进行数据挖掘。相关技术中,常用的打点方案是直接在应用程序的业务代码中进行埋点,即在目标事件的后代代码中嵌套打点代码,当触发目标事件时,通过进程执行该打点代码以将相应待上传数据上报给服务器,完成该目标事件的打点。但是,由于客户端系统的原因,在对目标事件的打点上报的实现过程中,可能出现多进程同时对同一目标事件的待上报数据进行上报操作,使得多进程环境下造成上报过多数据的情况,严重影响统计结果。
为解决多进程环境下造成上报过多数据,严重影响统计结果的问题,本公开提出一种事件信息的上报方法、装置、电子设备及存储介质。具体地,下面参考附图描述本公开实施例的事件信息的上报方法、装置、电子设备及存储介质。
图1是根据一示例性实施例示出的一种事件信息的上报方法的流程图,如图1所示,该事件信息的上报方法用于事件信息的上报装置中,该上报装置可被配置于电子设备上,包括以下步骤。
在步骤S11中,获取待上报的事件信息。
可选地,在应用程序的业务代码中进行埋点,即在目标事件的后代代码中嵌套打点代码,当触发目标事件时,可获取该目标事件的事件信息,并将该目标事件的事件信息作为待上报的事件信息。该待上报的事件信息可理解为待上报的打点数据,其中,该打点数据可包括但限于用户的行为数据等,比如该行为数据可为评论次数、视频观看时长、视频观看次数等。
在步骤S12中,创建第一进程,并根据第一进程的识别符和事件信息在第一进程中实例化计数器类以生成计数对象。其中,该计数对象可以是由对计数器类进行实例化后而得到的对象,计数对象用于对所述事件信息进行计数并上报。
在本公开的实施例中,该计数器类可包括第一属性和第二属性,其中,第一属性表示待上报的事件信息,第二属性表示用来实例化计数器类的进程的标识符。其中,该计数器类可为Counter类。也就是说,本公开对计数器类的数据结构进行了改进,使得该计数器类Counter至少包括两个属性,如第一属性和第二属性,其中,该第一属性可表示待上报的事件信息,该第二属性可表示用来实例化计数器类的进程的标识符。
在获得待上报的事件信息之后,需要对计数器类进行实例化。在实例化计数器类时,可先创建第一进程,并根据该第一进程的识别符和待上报的事件信息在该第一进程中实例化该计数器类,从而生成对应的计数对象。
作为一种可能实现方式的示例,所述根据第一进程的识别符和事件信息在第一进程中实例化计数器类以生成计数对象的实现方式可如下:以待上报的事件信息为第一属性参数,第一进程的标识符为第二属性参数,在第一进程中实例化计数器类以生成计数对象。也就是说,实例化计数器类时,将将计数器类中的第一属性保存待上报的事件信息,将计数器类中的第二属性保存用以实例化计数器类的第一进程的标识符,从而生成对应的计数对象,即该计数对象中的第一属性参数为待上报的事件信息,该计数对象中的第二属性参数为用以实例化计数器类的第一进程的标识符。
在步骤S13中,在需要调用计数对象的上报函数上报事件信息时,确定当前用以调用上报函数的进程的识别符。
可以理解,由于电子设备系统的原因,可能存在多进程来调用计数对象。例如,当fork函数生成子进程后,子进程可拥有和父进程相同的计数对象Counter,如果父进程的计数对象Counter之中的数据不为空的话,子进程的计数对象Counter之中的数据也不为空,这样,在将计数对象Counter之中的数据进行上报时,会造成上报过多数据的情况,从而导致数据重复。因此,在需要调用计数对象的上报函数上报事件信息时,需先确定当前用以调用该上报函数的进程,以便判断该当前用以调用该上报函数的进程是否为第一进程,即识别当前进程环境是否发生了变化。
在步骤S14中,根据计数对象之中第一进程的识别符和当前用以调用上报函数的进程的识别符,判断当前进程环境是否发生变化。
可选地,由于计数对象之中第二属性参数是用于保存第一进程的标识符,所以,在本步骤中,可将当前用以调用上报函数的进程的标识符与该计数对象之中第二属性参数的参数值进行比较,根据比较结构来判断当前进程环境是否发生变化,即判断当前用以调用上报函数的进程是否为之前用于生成计数对象的第一进程,若当前用以调用上报函数的进程为之前用于生成计数对象的第一进程,则说明当前进程环境未发生变化,若当前用以调用上报函数的进程不是之前用于生成计数对象的第一进程,则说明当前进程环境发生了变化。
在步骤S15中,在当前进程环境发生变化时,根据待上报的事件信息,对进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。
可选地,在当前进程环境发生变化时,可获取所述事件信息之中的事件属性以及所述事件属性对应的属性值,并清空当前用以调用上报函数的进程所对应的计数对象之中第一属性参数的数据,在该进程所对应的计数对象之中的第一属性上,以该事件属性及其属性值为传入参数,将该事件信息作为该进程所对应的计数对象之中第一属性参数的数据,以将该进程所对应的计数对象之中的待上报数据更新成该待上报的事件信息。
也就是说,清空当前用以调用上报函数的进程所对应的计数对象之中第一属性参数的数据,然后,再在将上述待上报的事件信息作为该进程所对应的计数对象之中第一属性参数的新数据,从而实现对该进程所对应的计数对象之中的待上报数据进行了更新,之后,可将该更新后的待上报数据进行上报,以完成事件信息的上报操作。
根据本公开实施例的事件信息的上报方法,在获得待上报的事件信息之后,创建第一进程,并根据第一进程的识别符和事件信息在第一进程中实例化计数器类以生成计数对象,在需要调用计数对象的上报函数上报事件信息时,确定当前用以调用上报函数的进程,并根据计数对象之中第一进程的识别符和当前用以调用上报函数的进程的识别符,判断当前进程环境是否发生变化,在当前进程环境发生变化时,根据待上报的事件信息,对进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。由此,通过利用用以实例化计数器类的进程的标识符来生成计数对象,使得所生成的计数对象中的属性参数中包含有该用以实例化计数器类的进程的标识符,这样,在调用计数对象的上报函数需要对事件信息进行上报时,可根据计数对象之中所包含的进程的标识符与当前用以调用上报函数的进程的标识符,判断当前进程环境是否发生变化,以便在当前进程环境发生变化时,对当前用以调用上报函数的进程所对应的计数对象之中的待上传数据进行更新,从而可以避免多进程环境下造成上报过多数据以导致严重影响统计结果,即可以避免数据重复上报,保证了待上报事件信息数据的准确性。
图2是根据一示例性实施例示出的另一种事件信息的上报方法的流程图。如图2所示,该事件信息的上报方法可以包括以下步骤:
在步骤S21中,获取待上报的事件信息。
在步骤S22中,创建第一进程,并根据该第一进程的识别符和该事件信息在该第一进程中实例化计数器类以生成计数对象。
在步骤S23中,在需要调用该计数对象的上报函数上报该事件信息时,确定当前用以调用该上报函数的进程。
在步骤S24中,根据该计数对象之中的第二属性参数以获取计数对象之中第一进程的识别符。可以理解,该计数对象是由第一进程所生成的计数对象,此时该计数对象之中第二属性参数的参数值应为该第一进程的标识符。
在步骤S25中,将计数对象之中第一进程的识别符与该当前用以调用该上报函数的进程的标识符进行比较。
也就是说,将第一进程的标识符与该当前用以调用该上报函数的进程的标识符进行比较,以识别第一进程的标识符与该当前用以调用该上报函数的进程的标识符是否一致。
在步骤S26中,在计数对象之中第一进程的识别符与该进程的标识符不一致时,确定当前进程环境发生变化。
也就是说,在计数对象之中第一进程的识别符与该进程的标识符不一致时,说明当前用以调用该上报函数的进程不再是之前用以实例化计数器类的第一进程,说明当前进程环境已经发生变化。
在步骤S27中,在当前进程环境发生变化时,根据该待上报的事件信息,对该进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。
可以理解,在当前进程环境发生变化时,为了能够避免数据上报重复,此时可清空当前用以调用上报函数的进程所对应的计数对象之中第一属性参数的数据,然后,再在将上述待上报的事件信息作为该进程所对应的计数对象之中第一属性参数的新数据,从而实现对该进程所对应的计数对象之中的待上报数据进行了更新,之后,可将该更新后的待上报数据进行上报,以完成事件信息的上报操作。
在步骤S28中,在计数对象之中第一进程的识别符与该进程的标识符一致时,确定当前进程环境未发生变化。
也就是说,在计数对象之中第一进程的识别符与该进程的标识符一致时,说明当前用以调用该上报函数的进程依旧是之前用以实例化计数器类的第一进程,即说明当前进程环境未发生变化。
在步骤S29中,在当前进程环境未发生变化时,获取该事件信息之中的事件属性以及该事件属性对应的属性值。
在步骤S210中,在该第一进程所对应的计数对象之中的第一属性上,以该事件属性及其属性值为传入参数,将该事件信息作为该第一进程所对应的计数对象之中的第一属性参数的数据,并将该第一进程所对应的计数对象之中的第一属性参数的数据进行上报。
也就是说,在当前进程环境未发生变化时,可按原有方式进行工作,即:获取该事件信息之中的事件属性以及该事件属性对应的属性值,之后,在该第一进程所对应的计数对象之中的第一属性上,以该事件属性及其属性值为传入参数,将该事件信息作为该第一进程所对应的计数对象之中的第一属性参数的数据,并将该第一进程所对应的计数对象之中的第一属性参数的数据进行上报。
为了方便本领域技术人员更加清楚了解本公开,下面将结合图3进行描述。首先,需要说明的是,本公开以哈希表的形式存储待上报的事件信息,其中,该哈希表包括键以及该键对应的值,该键用于表示待上报事件的事件属性,该值用于表示所述事件属性的属性值。例如,可使用一个带锁的哈希表来存储待上报的事件信息,哈希表的键key是一个标签tag,表示一种事件,值value是一个整数,代表这个事件发生的次数。
举例而言,如图3所示,该事件信息的上报方法可包括以下步骤:
在步骤S31中,对计数器类Counter的属性结构进行修改,以使得计数器类Counter至少包括两个属性,如第一属性data和第二属性PID,其中,该第一属性data可表示待上报的事件信息,其中,该待上报的事件信息是以哈希表进行存储的,也就是说,该第一属性data可标识用于存储待上报的事件信息的哈希表,该第二属性PID可表示用来实例化计数器类的进程的标识符。
在步骤S32中,实例化计数器类Counter时,PID属性保存实例化Counter的进程ID(如标识符),data属性保存用于存储待上报的事件信息的哈希表。之后可启动一个后台线程定时上报所有的Counter数据到服务器。
在步骤S33中,在调用类Counter实例的report方法(如上报函数)需要进行打点数据上报时,可先判断当前用以调用该report方法的进程是否发生变化。
在本步骤中,可通过比对当前用以调用该report方法的进程的ID和Counter实例的PID属性来判断当前进程环境是否发生变化,如果两个值不一样则说明当前进程环境发生变化,此时执行步骤S35,如果两个值一样,则说明当前进程环境未发生变化,此时可执行步骤S34。
在步骤S34中,如果当前进程环境未发生变化,则按原有方式工作,即:在Counter实例的data属性上,对key为传入参数tag的值加上相应的count值,之后将Counter实例的data属性所对应的数据进行上报,以完成该事件信息的上报操作。
在步骤S35中,如果当前进程环境发生变化,则清空当前进程中的Counter实例data属性的数据,然后再在当前进程中的Counter实例的data属性上,对key为传入参数tag的值加上相应的count值,之后将Counter实例的data属性所对应的数据进行上报,以完成该事件信息的上报操作。
根据本公开实施例的事件信息的上报方法,可通过利用用以实例化计数器类的进程的标识符来生成计数对象,使得所生成的技术对象中的属性参数中包含有该用以实例化计数器类的进程的标识符,这样,在需要调用计数对象的上报函数上报事件信息时,可根据计数对象之中所包含的进程的标识符与当前用以调用上报函数的进程的标识符,判断当前进程环境是否发生变化,以便在当前进程环境发生变化时,可清空当前用以调用上报函数的进程所对应的计数对象之中第一属性参数的数据,然后,再在将上述待上报的事件信息作为该进程所对应的计数对象之中第一属性参数的新数据,从而实现对该进程所对应的计数对象之中的待上报数据进行了更新,之后,可将该更新后的待上报数据进行上报,以完成事件信息的上报操作;在当前进程环境未发生变化时,可按照原有方式进行上报,即无需清空该当前进程所对应的计数对象之中第一属性参数的数据。由此,本公开可以避免多进程环境下造成上报过多数据以导致严重影响统计结果,即可以避免数据重复上报,保证了待上报事件信息数据的准确性。
图4是根据一示例性实施例示出的一种事件信息的上报装置框图。参照图4,该事件信息的上报装置400包括第一获取模块401、进程创建模块402、生成模块403、确定模块404、判断模块405和上报模块406。
其中,第一获取模块401被配置为获取待上报的事件信息。在本公开的一些实施例中,以哈希表的形式存储所述待上报的事件信息,其中,所述哈希表包括键以及所述键对应的值,所述键用于表示待上报事件的事件属性,所述值用于表示所述事件属性的属性值。
进程创建模块402被配置为创建第一进程。
生成模块403被配置为根据该第一进程的识别符和该事件信息在该第一进程中实例化计数器类以生成计数对象。其中,在本公开实施例中,计数对象是由对计数器类进行实例化后而得到的对象,计数对象用于对事件信息进行计数并上报;计数器类包括第一属性和第二属性,其中,该第一属性表示待上报的事件信息,该第二属性表示用来实例化计数器类的进程的标识符。
在本公开的实施例中,生成模块403以该待上报的事件信息为第一属性参数,该第一进程的标识符为第二属性参数,在该第一进程中实例化该计数器类以生成计数对象。
确定模块404被配置为在需要调用该计数对象的上报函数上报该事件信息时,确定当前用以调用该上报函数的进程的识别符。
判断模块405被配置为根据该计数对象之中第一进程的识别符和该当前用以调用该上报函数的进程的识别符,判断当前进程环境是否发生变化。在本公开的实施例中,判断模块405根据该计数对象之中的第二属性参数以获取计数对象之中第一进程的识别符,之后,将计数对象之中第一进程的识别符与该当前用以调用该上报函数的进程的标识符进行比较,在计数对象之中第一进程的识别符与该进程的标识符不一致时,确定当前进程环境发生变化。
上报模块406被配置为在该当前进程环境发生变化时,根据该待上报的事件信息,对该进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。作为一种示例,上报模块406获取该事件信息之中的事件属性以及该事件属性对应的属性值,并清空该进程所对应的计数对象之中第一属性参数的数据,之后,在该进程所对应的计数对象之中的第一属性上,以该事件属性及其属性值为传入参数,将该事件信息作为该进程所对应的计数对象之中第一属性参数的数据,以将该进程所对应的计数对象之中的待上报数据更新成该待上报的事件信息。
在本公开的一些实施例中,判断模块405还被配置为在计数对象之中第一进程的识别符与该进程的标识符一致时,确定当前进程环境未发生变化。其中,在本公开的实施例中,上报模块406还被配置为在该当前进程环境未发生变化时,获取该事件信息之中的事件属性以及该事件属性对应的属性值,并在该第一进程所对应的计数对象之中的第一属性上,以该事件属性及其属性值为传入参数,将该事件信息作为该第一进程所对应的计数对象之中的第一属性参数的数据,并将该第一进程所对应的计数对象之中的第一属性参数的数据进行上报。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
根据本公开实施例的事件信息的上报装置,在获得待上报的事件信息之后,创建第一进程,并根据第一进程的识别符和事件信息在第一进程中实例化计数器类以生成计数对象,在需要调用计数对象的上报函数上报事件信息时,确定当前用以调用上报函数的进程的识别符,并根据计数对象之中第一进程的识别符和当前用以调用上报函数的进程的识别符,判断当前进程环境是否发生变化,在当前进程环境发生变化时,根据待上报的事件信息,对进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。由此,通过利用用以实例化计数器类的进程的标识符来生成计数对象,使得所生成的计数对象中的属性参数中包含有该用以实例化计数器类的进程的标识符,这样,在调用计数对象的上报函数需要对事件信息进行上报时,可根据计数对象之中所包含的进程的标识符与当前用以调用上报函数的进程的标识符,判断当前进程环境是否发生变化,以便在当前进程环境发生变化时,对当前用以调用上报函数的进程所对应的计数对象之中的待上传数据进行更新,从而可以避免多进程环境下造成上报过多数据以导致严重影响统计结果,即可以避免数据重复上报,保证了待上报事件信息数据的准确性。
为了实现上述实施例,本公开还提供了一种电子设备,图5是根据一示例性实施例示出的一种电子设备500的框图。例如,电子设备500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在电子设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述电子设备500和用户之间的提供一个输出接口的触控显示屏。在一些实施例中,触控显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当电子设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到电子设备500的打开/关闭状态,组件的相对定位,例如所述组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述事件信息的上报方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由电子设备500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备500的处理器执行时,使得电子设备500能够执行一种事件信息的上报方法。
一种计算机程序产品,当计算机程序产品中的指令由电子设备500的处理器执行时,使得电子设备500能够执行一种事件信息的上报方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种事件信息的上报方法,其特征在于,包括:
获取待上报的事件信息;
创建第一进程,并根据所述第一进程的识别符和所述事件信息在所述第一进程中实例化计数器类以生成计数对象;其中,所述计数对象是由对所述计数器类进行实例化后而得到的对象,所述计数对象用于对所述事件信息进行计数并上报;
在需要调用所述计数对象的上报函数上报所述事件信息时,确定当前用以调用所述上报函数的进程的识别符;
根据所述计数对象之中所述第一进程的识别符和所述当前用以调用所述上报函数的进程的识别符,判断当前进程环境是否发生变化;以及
在所述当前进程环境发生变化时,根据所述待上报的事件信息,对所述进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。
2.根据权利要求1所述的事件信息的上报方法,其特征在于,所述计数器类包括第一属性和第二属性,其中,所述第一属性表示待上报的事件信息,所述第二属性表示用来实例化计数器类的进程的标识符。
3.根据权利要求1或2所述的事件信息的上报方法,其特征在于,所述根据所述第一进程的识别符和所述事件信息在所述第一进程中实例化计数器类以生成计数对象,包括:
以所述待上报的事件信息为第一属性参数,所述第一进程的标识符为第二属性参数,在所述第一进程中实例化所述计数器类以生成计数对象。
4.根据权利要求3所述的事件信息的上报方法,其特征在于,所述根据所述计数对象之中所述第一进程的识别符和所述当前用以调用所述上报函数的进程的识别符,判断当前进程环境是否发生变化,包括:
根据所述计数对象之中的第二属性参数以获取所述计数对象之中所述第一进程的识别符;
将所述计数对象之中所述第一进程的识别符与所述当前用以调用所述上报函数的进程的标识符进行比较;
在所述计数对象之中所述第一进程的识别符与所述进程的标识符不一致时,确定当前进程环境发生变化。
5.根据权利要求4所述的事件信息的上报方法,其特征在于,还包括:
在所述计数对象之中所述第一进程的识别符与所述进程的标识符一致时,确定当前进程环境未发生变化。
6.根据权利要求1所述的事件信息的上报方法,其特征在于,所述根据所述待上报的事件信息,对所述进程所对应的计数对象之中的待上报数据进行更新,包括:
获取所述事件信息之中的事件属性以及所述事件属性对应的属性值;
清空所述进程所对应的计数对象之中第一属性参数的数据;
在所述进程所对应的计数对象之中的第一属性上,以所述事件属性及其属性值为传入参数,将所述事件信息作为所述进程所对应的计数对象之中第一属性参数的数据,以将所述进程所对应的计数对象之中的待上报数据更新成所述待上报的事件信息。
7.根据权利要求1至6中任一项所述的事件信息的上报方法,其特征在于,还包括:
在所述当前进程环境未发生变化时,获取所述事件信息之中的事件属性以及所述事件属性对应的属性值;
在所述第一进程所对应的计数对象之中的第一属性上,以所述事件属性及其属性值为传入参数,将所述事件信息作为所述第一进程所对应的计数对象之中的第一属性参数的数据,并将所述第一进程所对应的计数对象之中的第一属性参数的数据进行上报。
8.一种事件信息的上报装置,其特征在于,包括:
第一获取模块,被配置为获取待上报的事件信息;
进程创建模块,被配置为创建第一进程;
生成模块,被配置为根据所述第一进程的识别符和所述事件信息在所述第一进程中实例化计数器类以生成计数对象;其中,所述计数对象是由对所述计数器类进行实例化后而得到的对象,所述计数对象用于对所述事件信息进行计数并上报;
确定模块,被配置为在需要调用所述计数对象的上报函数上报所述事件信息时,确定当前用以调用所述上报函数的进程的识别符;
判断模块,被配置为根据所述计数对象之中所述第一进程的识别符和所述当前用以调用所述上报函数的进程的识别符,判断当前进程环境是否发生变化;以及
上报模块,被配置为在所述当前进程环境发生变化时,根据所述待上报的事件信息,对所述进程所对应的计数对象之中的待上报数据进行更新,并将更新后的待上报数据进行上报。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的事件信息的上报方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的事件信息的上报方法。
CN202011009408.7A 2020-09-23 2020-09-23 事件信息的上报方法、装置、电子设备及存储介质 Active CN112333233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011009408.7A CN112333233B (zh) 2020-09-23 2020-09-23 事件信息的上报方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011009408.7A CN112333233B (zh) 2020-09-23 2020-09-23 事件信息的上报方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112333233A true CN112333233A (zh) 2021-02-05
CN112333233B CN112333233B (zh) 2023-11-24

Family

ID=74303981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011009408.7A Active CN112333233B (zh) 2020-09-23 2020-09-23 事件信息的上报方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112333233B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114885013A (zh) * 2022-05-06 2022-08-09 北京达佳互联信息技术有限公司 打包信息上报方法、装置、电子设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951623A (zh) * 2010-09-13 2011-01-19 中兴通讯股份有限公司 一种基于用户事件的用户行为统计方法及装置
US20150347205A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Dynamic Adjustment of Mobile Device Based on Adaptive Prediction of System Events
CN107436839A (zh) * 2017-07-17 2017-12-05 广东欧珀移动通信有限公司 进程负载获取方法、电子终端及计算机可读存储介质
CN108023788A (zh) * 2017-11-29 2018-05-11 中国平安人寿保险股份有限公司 监控数据上传方法、装置、设备、系统及存储介质
CN109154920A (zh) * 2016-04-22 2019-01-04 超威半导体公司 对象被标记的存储器监测方法及处理设备
CN109474515A (zh) * 2018-11-13 2019-03-15 平安科技(深圳)有限公司 风险事件的邮件推送方法、装置、计算机设备及存储介质
CN109614260A (zh) * 2018-11-28 2019-04-12 北京小米移动软件有限公司 通信故障判断方法、装置和存储介质
CN110109770A (zh) * 2019-05-06 2019-08-09 Oppo广东移动通信有限公司 调试方法、装置、电子设备及介质
CN110263070A (zh) * 2019-05-30 2019-09-20 北京创鑫旅程网络技术有限公司 事件上报方法及装置
CN110457195A (zh) * 2019-08-05 2019-11-15 深圳乐信软件技术有限公司 客户端本地日志的获取方法、装置、服务器及存储介质
CN110704097A (zh) * 2019-09-29 2020-01-17 腾讯科技(深圳)有限公司 一种数据收集方法、装置及电子设备和存储介质
CN110717130A (zh) * 2018-06-27 2020-01-21 武汉斗鱼网络科技有限公司 打点方法、装置、终端及存储介质
CN111475263A (zh) * 2020-04-10 2020-07-31 上海移为通信技术股份有限公司 事件处理方法、设备及存储介质
CN111597106A (zh) * 2020-04-09 2020-08-28 北京五八信息技术有限公司 一种埋点管理方法及装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101951623A (zh) * 2010-09-13 2011-01-19 中兴通讯股份有限公司 一种基于用户事件的用户行为统计方法及装置
US20150347205A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Dynamic Adjustment of Mobile Device Based on Adaptive Prediction of System Events
CN109154920A (zh) * 2016-04-22 2019-01-04 超威半导体公司 对象被标记的存储器监测方法及处理设备
CN107436839A (zh) * 2017-07-17 2017-12-05 广东欧珀移动通信有限公司 进程负载获取方法、电子终端及计算机可读存储介质
CN108023788A (zh) * 2017-11-29 2018-05-11 中国平安人寿保险股份有限公司 监控数据上传方法、装置、设备、系统及存储介质
CN110717130A (zh) * 2018-06-27 2020-01-21 武汉斗鱼网络科技有限公司 打点方法、装置、终端及存储介质
CN109474515A (zh) * 2018-11-13 2019-03-15 平安科技(深圳)有限公司 风险事件的邮件推送方法、装置、计算机设备及存储介质
CN109614260A (zh) * 2018-11-28 2019-04-12 北京小米移动软件有限公司 通信故障判断方法、装置和存储介质
CN110109770A (zh) * 2019-05-06 2019-08-09 Oppo广东移动通信有限公司 调试方法、装置、电子设备及介质
CN110263070A (zh) * 2019-05-30 2019-09-20 北京创鑫旅程网络技术有限公司 事件上报方法及装置
CN110457195A (zh) * 2019-08-05 2019-11-15 深圳乐信软件技术有限公司 客户端本地日志的获取方法、装置、服务器及存储介质
CN110704097A (zh) * 2019-09-29 2020-01-17 腾讯科技(深圳)有限公司 一种数据收集方法、装置及电子设备和存储介质
CN111597106A (zh) * 2020-04-09 2020-08-28 北京五八信息技术有限公司 一种埋点管理方法及装置
CN111475263A (zh) * 2020-04-10 2020-07-31 上海移为通信技术股份有限公司 事件处理方法、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114885013A (zh) * 2022-05-06 2022-08-09 北京达佳互联信息技术有限公司 打包信息上报方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112333233B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN105843615B (zh) 通知消息的处理方法及装置
CN106372204A (zh) 推送消息处理方法及装置
CN107562349B (zh) 一种执行处理的方法和装置
CN109842612B (zh) 基于图库模型的日志安全分析方法、装置及存储介质
CN103995834A (zh) 敏感信息检测方法及相关装置
CN106354504A (zh) 消息显示方法及装置
CN105323152A (zh) 消息的处理方法、装置及设备
CN107402767B (zh) 显示推送消息的方法和装置
CN113259226A (zh) 信息同步方法、装置、电子设备及存储介质
CN114237784A (zh) 用户界面的生成方法、装置、电子设备及存储介质
CN112256563A (zh) 安卓应用稳定性测试方法、装置、电子设备及存储介质
CN104951522B (zh) 一种进行搜索的方法和装置
CN112486770B (zh) 客户端打点上报方法、装置、电子设备和存储介质
CN114124866A (zh) 会话处理方法、装置、电子设备及存储介质
CN105095296B (zh) 文件管理方法及装置
CN112333233B (zh) 事件信息的上报方法、装置、电子设备及存储介质
CN106506808B (zh) 对通讯消息提示的方法及装置
CN105786561B (zh) 进程调用的方法及装置
CN111382161A (zh) 状态数据处理方法、装置、电子设备及存储介质
CN110764847A (zh) 用户信息处理方法、装置、电子设备及存储介质
CN115951944A (zh) 快捷键设置方法、装置、电子设备及存储介质
CN105553772B (zh) 流量监控方法及装置
CN113778398A (zh) 代码生成方法、装置、电子设备及存储介质
CN113420205A (zh) 分享来源帐号的确定方法、装置、终端设备及服务器
CN107168693B (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
GR01 Patent grant
GR01 Patent grant