CN109522189B - 一种数据监测方法、装置及系统 - Google Patents
一种数据监测方法、装置及系统 Download PDFInfo
- Publication number
- CN109522189B CN109522189B CN201710846254.9A CN201710846254A CN109522189B CN 109522189 B CN109522189 B CN 109522189B CN 201710846254 A CN201710846254 A CN 201710846254A CN 109522189 B CN109522189 B CN 109522189B
- Authority
- CN
- China
- Prior art keywords
- class
- execution system
- execution
- monitored
- event
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供的一种数据监测方法、装置、系统及存储介质,该数据监测方法应用于执行系统,通过获取待监控事件的属性标识,然后,为同一属性标识创建一个代理类,最后,基于代理类,将执行系统的系统类替换为代理类。其中,代理类用于监控待监控事件,且代理类包括执行系统的预设执行动作,系统类包括执行系统的默认执行动作。这样,即可自动实现对同一属性标识的待监控事件进行系统类的替换,例如需要对一个网页进行多个点击事件的监测,本方案只需调用一个点击事件监控API将客户端的执行的系统类改变,直接自动配置点击事件API,无需人工手动编码,极大减少了代码部署量,进而降低数据异常的出现频率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据监测方法、装置及系统。
背景技术
随着科技的不断发展,网络搜索日益普遍,而基于某些需求,需要对用户触发的行为数据进行监测,分析得到符合该用户行为习惯的一系列数据,并基于此,进行相应的产品推荐或者数据统计等行为。
目前,以安卓系统为例,数据采集通常是通过开发人员根据监测内容的不同部署数据采集模块SDK中的不同的API来实现数据的监测,例如,需要监测一个点击事件,则为该点击事件配置一个点击API,又如,当需要监测一个页面浏览事件,则为该页面浏览事件配置一个页面浏览API。
然而,通常一个数据分析过程需要进行多个行为数据的监测,例如对一个购物网页的点击动作进行监测,可能不同的用户对该网页中的物品进行了多次点击,因此,需要进行多个API的部署,导致代码部署量大。除此,随着部署API数量的增多,会增加部署错误的发生概率,导致数据异常。
因此如何提供一种数据监测方法、装置及系统,减少代码的部署量、降低数据异常,成为本领域技术人员亟待解决的一大技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的技术方案:
一种数据监测方法,应用于执行系统,该数据监测方法包括:
获取待监控事件的属性标识;
创建与所述属性标识对应的代理类,所述代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作;
根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,所述系统类包括所述执行系统的默认执行动作。
可选的,所述创建与所述属性标识对应的代理类,包括:
按照预设划分规则,对所述属性标识进行分类;
为每类所述属性标识创建一个代理类。
可选的,所述根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,包括:
获取所述执行系统的运行状态;
当所述执行系统运行时,获取所述执行系统当前运行的系统类,将所述当前运行的系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统按照替换后的所述代理类执行预设动作;
当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
可选的,当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,包括:
当所述执行系统未运行且处于编译状态时,构建Gradle插件,所述Gradle插件的jvm参数包括所述待监控事件的属性标识;
判断所述执行系统的默认系统类中是否包含与所述Gradle插件的jvm参数相同的属性标识;
如果包含,将所述默认系统类中具有与所述Gradle插件的jvm参数相同的属性标识的系统类替换为对应的所述代理类。
一种数据监测装置,应用于执行系统,该数据监测装置包括:
获取模块,用于获取待监控事件的属性标识;
创建模块,用于创建与所述属性标识对应的代理类,所述代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作;
替换模块,用于根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,所述系统类包括所述执行系统的默认执行动作。
可选的,所述创建模块包括:
分类单元,用于按照预设划分规则,对所述属性标识进行分类;
创建单元,用于为每类所述属性标识创建一个代理类。
可选的,所述替换模块包括:
获取单元,用于获取所述客户端的运行状态;
当所述执行系统运行时,获取所述执行系统当前运行的系统类,将所述当前运行的系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统按照替换后的所述代理类执行预设动作;
当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
可选的,所述获取单元包括:
创建子单元,用于当所述执行系统未运行且处于编译状态时,构建Gradle插件,所述Gradle插件的jvm参数包括所述待监控事件的属性标识;
判断子单元,用于判断所述执行系统的默认系统类中是否包含与所述Gradle插件的jvm参数相同的属性标识;
替换子单元,用于当所述执行系统的默认系统类中包含与所述Gradle插件的jvm参数相同的属性标识时,将所述默认系统类中具有与所述Gradle插件的jvm参数相同的属性标识的系统类替换为对应的所述代理类。
一种数据监测系统,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序运行时执行任意一项上述的数据监测方法。
一种存储介质,存储有程序,所述程序被处理器执行时实现任意一项上述的数据监测方法。
借由上述技术方案,本发明提供的一种数据监测方法,应用于执行系统,通过获取待监控事件的属性标识,然后,为同一属性标识创建一个代理类,最后,基于所述代理类,将所述执行系统的系统类替换为所述代理类。其中,代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作,系统类包括所述执行系统的默认执行动作。这样,即可自动实现对同一属性标识的待监控事件进行系统类的替换,例如需要对一个网页进行十个点击事件的监测和两个网页浏览事件的监测,现有技术中需要人工配置12个监控API,而采用本方案只需调用一个点击事件监控API和一个网页浏览事件监控API,将客户端的执行的系统类改变,直接自动配置点击事件API和网页浏览事件API,无需人工手动编码,极大减少了代码部署量,进而降低数据异常的出现频率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据监测方法的流程示意图;
图2示出了本发明实施例提供的又一种数据监测方法的流程示意图;
图3示出了本发明实施例提供的一种数据监测装置的结构示意图;
图4示出了本发明实施例提供的又一种数据监测装置的结构示意图;
图5示出了本发明实施例提供的又一种数据监测装置的结构示意图;
图6示出了本发明实施例提供的又一种数据监测装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据监测方法,请参阅图1,示出了该数据监测方法的流程示意图,可以包括:
S11、获取待监控事件的属性标识。
正如背景技术所述,基于某些需求,需要对用户触发的行为数据进行监测,分析得到符合该用户行为习惯的一系列数据,并基于此,进行相应的产品推荐或者数据统计等行为。
通常,监控事件根据类型的不同可以包括鼠标点击事件、网页浏览事件、鼠标滚动事件、电子订单事件等事件。而每种事件均包含独有的一个属性标识,例如,鼠标点击事件、网页浏览事件、鼠标滚动事件以及电子订单事件的属性标识可以依次为属性标识a、属性标识b、属性标识c以及属性标识d。根据标识的不同,可以确定待监控事件的具体内容,例如,用户需要对一个网页的鼠标点击事件进行监控,那么,本步骤就是获取该鼠标点击事件的属性标识的过程,即获得属性标识a。
S12、创建与所述属性标识对应的代理类。
通常,执行系统(例如客户端)会按照系统类对用户触发的预设事件或者动作进行执行,即,系统类包括所述执行系统的默认执行动作。例如,用户点击一个购买链接,那么浏览器会反馈与该购买链接对应的数据信息,该数据信息可以是下一步的付款界面或者用户地址选择界面。
可见,系统类记录了属性标识与默认执行动作的关联关系,如用户点击购买链接时,该点击事件的属性标识为属性标识a,而系统类则记录了属性标识a与默认执行动作的关系,如属性标识a对应默认执行动作为响应该鼠标点击动作,而非页面滚动的动作。
而,本步骤是为每个种类的属性标识对应创建一个代理类,其中代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作,即所述代理类记录有java的执行方法和相关参数。其中,待监控事件可以为多个,那么所述创建与所述属性标识对应的代理类,可以按照预设划分规则,对所述属性标识进行分类,然后,为每类所述属性标识创建一个代理类。
示意性的,鼠标点击事件对应一个代理类a,网页浏览事件对应一个代理类b、鼠标滚动事件对应一个代理类c以及电子订单事件对应一个代理类d。假设监控网页上十个鼠标点击事件,两个网页浏览事件,那么,本方案只需选用一个代理类a以及一个代理类b。
S13、根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类。
客户端的运行状态可以分为运行中或未运行,例如,APP打开状态为运行中,而APP未被用户触发,则为客户端未运行。又如,一个网页页面,在用户点开后,为运行中状态,在未点开或者关闭时,可以属于未运行状态。
本步骤中,所述根据客户端的运行状态,将客户端的系统类替换为所述代理类,可以通过如图2所示的步骤实现,该步骤包括:
S21、获取所述执行系统的运行状态;
当所述执行系统运行时,获取所述执行系统当前运行的系统类,将所述当前运行的系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统按照替换后的所述代理类执行预设动作。
由于执行系统正在运行,即此时,执行系统按照系统类中的默认的执行动作进行执行,而,默认的执行动作会对应相应的属性标识,即此时需要对系统类进行代理类的更改,只需将具有带监控的属性标识的系统类进行对应的替换即可。
示意性的,新建一个代理类,让相应的系统类全部通过代理进行处理。如在执行系统默认的OnClickListener类(系统类)时,会被我们自定义的MyOnClickListener(代理类)劫持,在调用系统的OnClickListener类(系统类)前触发我们自定义类中的方法(代理类的方法)。
当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
其中,执行系统的默认系统类为系统的默认设置,即在执行系统安装某些APP软件时,该APP软件在运行时,需要依赖客户端的执行系统(如android系统)中记录的默认的执行动作来执行各APP的运行动作。例如,在执行系统中,默认配置了点击调用点击动作,滑动调用滑动动作等系统默认的执行动作。
由于执行系统处于未运行状态,即无法直接获取执行系统运行中的系统类,因此,需要通过创建插件,通过插件将默认系统类中的属性标识进行暴露出来,然后在进行代理类的替换时,将具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
具体的,当所述执行系统未运行且处于编译状态时,构建Gradle插件,所述Gradle插件的jvm参数包括所述待监控事件的属性标识;
判断所述执行系统的默认系统类中是否包含与所述Gradle插件的jvm参数相同的属性标识;
如果包含,将所述默认系统类中具有与所述Gradle插件的jvm参数相同的属性标识的系统类替换为对应的所述代理类。
示意性的,首先创建一个代理类,该代理类的jar包代码如下:
Public static void agentmain(String agentArgs,Instrumentationinstrumentation){premain(agentArgs,instrumentation);}
public static void premain(String agentArgs,Instrumentationinstrumentation){//此处可以进行类的修改}
然后创建Gradle插件,将当前编译的jvm参数(其中包括属性标识)暴露给上述的代理类的jar包(jar包中同样记录了代理类对应的属性标识),使jar包可以影响当前的编译过程,将编译过程由java---class更改为java---class---(jar代理进行修改class)---class(替换后的代理类)。
其中,经过代理类jar替换后的具体代码可以为:
可见,本实施例是通过设置代理类,对具有相同属性标识的系统类进行替换和监控,以使具有与待监控事件的属性标识相同的系统类替换成代理类,然后按照代理类包括的系统预设执行动作进行执行。
综上,本发明提供的一种数据监测方法,应用于执行系统,通过获取待监控事件的属性标识,然后,为同一属性标识创建一个代理类,最后,基于所述代理类,将所述执行系统的系统类替换为所述代理类。其中,代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作,系统类包括所述执行系统的默认执行动作。这样,即可自动实现对同一属性标识的待监控事件进行系统类的替换,例如需要对一个网页进行十个点击事件的监测和两个网页浏览事件的监测,现有技术中需要人工配置12个监控API,而采用本方案只需调用一个点击事件监控API和一个网页浏览事件监控API,将客户端的执行的系统类改变,直接自动配置点击事件API和网页浏览事件API,无需人工手动编码,极大减少了代码部署量,进而降低数据异常的出现频率。
除此,在上述实施例的基础上,与上述方法相对应,本发明实施例还提供了一种数据监测装置,请参阅图3,示出了该数据监测装置的结构示意图,可以包括:
获取模块31,用于获取待监控事件的属性标识;
创建模块32,用于创建与所述属性标识对应的代理类,所述代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作;
替换模块33,用于根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,所述系统类包括所述执行系统的默认执行动作。
优选的,如图4所示,所述创建模块32包括:
分类单元41,用于按照预设划分规则,对所述属性标识进行分类;
创建单元42,用于为每类所述属性标识创建一个代理类。
优选的,如图5所示,所述替换模块33包括:
获取单元51,用于获取所述客户端的运行状态;
当所述执行系统运行时,获取所述执行系统当前运行的系统类,将所述当前运行的系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统按照替换后的所述代理类执行预设动作;
当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
优选的,如图6所示,所述获取单元51包括:
创建子单元61,用于当所述执行系统未运行且处于编译状态时,构建Gradle插件,所述Gradle插件的jvm参数包括所述待监控事件的属性标识;
判断子单元62,用于判断所述执行系统的默认系统类中是否包含与所述Gradle插件的jvm参数相同的属性标识;
替换子单元63,用于当所述执行系统的默认系统类中包含与所述Gradle插件的jvm参数相同的属性标识时,将所述默认系统类中具有与所述Gradle插件的jvm参数相同的属性标识的系统类替换为对应的所述代理类。
所述数据监测装置包括处理器和存储器,上述获取模块、创建模块以及替换模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来直接自动配置点击事件API和网页浏览事件API,无需人工手动编码,极大减少了代码部署量,进而降低数据异常的出现频率。。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据监测方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据监测方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
获取待监控事件的属性标识;
创建与所述属性标识对应的代理类,所述代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作;
根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,所述系统类包括所述执行系统的默认执行动作。
可选的,所述创建与所述属性标识对应的代理类,包括:
按照预设划分规则,对所述属性标识进行分类;
为每类所述属性标识创建一个代理类。
可选的,所述根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,包括:
获取所述执行系统的运行状态;
当所述执行系统运行时,获取所述执行系统当前运行的系统类,将所述当前运行的系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统按照替换后的所述代理类执行预设动作;
当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
可选的,当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,包括:
当所述执行系统未运行且处于编译状态时,构建Gradle插件,所述Gradle插件的jvm参数包括所述待监控事件的属性标识;
判断所述执行系统的默认系统类中是否包含与所述Gradle插件的jvm参数相同的属性标识;
如果包含,将所述默认系统类中具有与所述Gradle插件的jvm参数相同的属性标识的系统类替换为对应的所述代理类。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取待监控事件的属性标识;
创建与所述属性标识对应的代理类,所述代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作;
根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,所述系统类包括所述执行系统的默认执行动作。
可选的,所述创建与所述属性标识对应的代理类,包括:
按照预设划分规则,对所述属性标识进行分类;
为每类所述属性标识创建一个代理类。
可选的,所述根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,包括:
获取所述执行系统的运行状态;
当所述执行系统运行时,获取所述执行系统当前运行的系统类,将所述当前运行的系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统按照替换后的所述代理类执行预设动作;
当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
可选的,当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,包括:
当所述执行系统未运行且处于编译状态时,构建Gradle插件,所述Gradle插件的jvm参数包括所述待监控事件的属性标识;
判断所述执行系统的默认系统类中是否包含与所述Gradle插件的jvm参数相同的属性标识;
如果包含,将所述默认系统类中具有与所述Gradle插件的jvm参数相同的属性标识的系统类替换为对应的所述代理类。
综上所述,本发明提供的一种数据监测方法、装置、系统及存储介质,该数据监测方法应用于执行系统,通过获取待监控事件的属性标识,然后,为同一属性标识创建一个代理类,最后,基于所述代理类,将所述执行系统的系统类替换为所述代理类。其中,代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作,系统类包括所述执行系统的默认执行动作。这样,即可自动实现对同一属性标识的待监控事件进行系统类的替换,例如需要对一个网页进行十个点击事件的监测和两个网页浏览事件的监测,现有技术中需要人工配置12个监控API,而采用本方案只需调用一个点击事件监控API和一个网页浏览事件监控API,将客户端的执行的系统类改变,直接自动配置点击事件API和网页浏览事件API,无需人工手动编码,极大减少了代码部署量,进而降低数据异常的出现频率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种数据监测方法,其特征在于,应用于执行系统,该数据监测方法包括:
获取待监控事件的属性标识;根据所述属性标识的不同,可以确定待监控事件的具体内容;
创建与所述属性标识对应的代理类,所述代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作;
获取所述执行系统的运行状态;
当所述执行系统运行时,获取所述执行系统当前运行的系统类,将所述当前运行的系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统按照替换后的所述代理类执行预设动作;
当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
2.根据权利要求1所述的数据监测方法,其特征在于,所述创建与所述属性标识对应的代理类,包括:
按照预设划分规则,对所述属性标识进行分类;
为每类所述属性标识创建一个代理类。
3.根据权利要求1所述的数据监测方法,其特征在于,当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,包括:
当所述执行系统未运行且处于编译状态时,构建Gradle插件,所述Gradle插件的jvm参数包括所述待监控事件的属性标识;
判断所述执行系统的默认系统类中是否包含与所述Gradle插件的jvm参数相同的属性标识;
如果包含,将所述默认系统类中具有与所述Gradle插件的jvm参数相同的属性标识的系统类替换为对应的所述代理类。
4.一种数据监测装置,其特征在于,应用于执行系统,该数据监测装置包括:
获取模块,用于获取待监控事件的属性标识;根据所述属性标识的不同,可以确定待监控事件的具体内容;
创建模块,用于创建与所述属性标识对应的代理类,所述代理类用于监控所述待监控事件,且所述代理类包括所述执行系统的预设执行动作;
替换模块,用于根据所述执行系统的运行状态,基于所述代理类,将所述执行系统的系统类替换为所述代理类,所述系统类包括所述执行系统的默认执行动作;
所述替换模块包括:
获取单元,用于获取所述执行系统的运行状态;
当所述执行系统运行时,获取所述执行系统当前运行的系统类,将所述当前运行的系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统按照替换后的所述代理类执行预设动作;
当所述执行系统未运行且处于编译状态时,获取所述执行系统的默认系统类,将所述执行系统的默认系统类中具有所述待监控事件的属性标识的系统类替换为对应的所述代理类,以使所述执行系统在运行时按照替换后的所述代理类执行预设动作。
5.根据权利要求4所述的数据监测装置,其特征在于,所述创建模块包括:
分类单元,用于按照预设划分规则,对所述属性标识进行分类;
创建单元,用于为每类所述属性标识创建一个代理类。
6.根据权利要求4所述的数据监测装置,其特征在于,所述获取单元包括:
创建子单元,用于当所述执行系统未运行且处于编译状态时,构建Gradle插件,所述Gradle插件的jvm参数包括所述待监控事件的属性标识;
判断子单元,用于判断所述执行系统的默认系统类中是否包含与所述Gradle插件的jvm参数相同的属性标识;
替换子单元,用于当所述执行系统的默认系统类中包含与所述Gradle插件的jvm参数相同的属性标识时,将所述默认系统类中具有与所述Gradle插件的jvm参数相同的属性标识的系统类替换为对应的所述代理类。
7.一种数据监测系统,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述程序,所述程序运行时执行如权利要求1-3中任意一项所述的数据监测方法。
8.一种存储介质,其特征在于,存储有程序,所述程序被处理器执行时实现如权利要求1-3中任意一项所述的数据监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710846254.9A CN109522189B (zh) | 2017-09-19 | 2017-09-19 | 一种数据监测方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710846254.9A CN109522189B (zh) | 2017-09-19 | 2017-09-19 | 一种数据监测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109522189A CN109522189A (zh) | 2019-03-26 |
CN109522189B true CN109522189B (zh) | 2022-06-21 |
Family
ID=65767672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710846254.9A Active CN109522189B (zh) | 2017-09-19 | 2017-09-19 | 一种数据监测方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109522189B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110333979A (zh) * | 2019-04-16 | 2019-10-15 | 中国人民银行清算总中心 | 基于cics的监控数据的采集方法及装置 |
CN111638923B (zh) * | 2020-06-04 | 2023-03-24 | 北京思特奇信息技术股份有限公司 | 一种基于Java注解进行数据路由的方法和装置 |
CN112306803A (zh) * | 2020-10-29 | 2021-02-02 | 金蝶云科技有限公司 | 一种性能监控方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987775A (zh) * | 2005-12-21 | 2007-06-27 | 国际商业机器公司 | 用于对事件进行处理的方法和设备 |
CN103902890A (zh) * | 2012-12-24 | 2014-07-02 | 珠海市君天电子科技有限公司 | 一种Android程序行为的监控方法及监控系统 |
CN104182688A (zh) * | 2014-08-26 | 2014-12-03 | 北京软安科技有限公司 | 基于动态激活及行为监测的Android恶意代码检测装置和方法 |
CN105095741A (zh) * | 2014-05-13 | 2015-11-25 | 北京奇虎测腾科技有限公司 | 一种应用程序的行为监测方法和系统 |
CN106250107A (zh) * | 2016-07-18 | 2016-12-21 | 福建天泉教育科技有限公司 | 一种数据统计方法及系统 |
CN106844182A (zh) * | 2017-02-07 | 2017-06-13 | 网易(杭州)网络有限公司 | 用于记录用户行为的方法、系统及移动终端 |
-
2017
- 2017-09-19 CN CN201710846254.9A patent/CN109522189B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1987775A (zh) * | 2005-12-21 | 2007-06-27 | 国际商业机器公司 | 用于对事件进行处理的方法和设备 |
CN103902890A (zh) * | 2012-12-24 | 2014-07-02 | 珠海市君天电子科技有限公司 | 一种Android程序行为的监控方法及监控系统 |
CN105095741A (zh) * | 2014-05-13 | 2015-11-25 | 北京奇虎测腾科技有限公司 | 一种应用程序的行为监测方法和系统 |
CN104182688A (zh) * | 2014-08-26 | 2014-12-03 | 北京软安科技有限公司 | 基于动态激活及行为监测的Android恶意代码检测装置和方法 |
CN106250107A (zh) * | 2016-07-18 | 2016-12-21 | 福建天泉教育科技有限公司 | 一种数据统计方法及系统 |
CN106844182A (zh) * | 2017-02-07 | 2017-06-13 | 网易(杭州)网络有限公司 | 用于记录用户行为的方法、系统及移动终端 |
Non-Patent Citations (1)
Title |
---|
网易HubbleData之Android无埋点实践;张丹;《https://neyoufan.github.io/2017/07/11/a ndroid/%E7%BD%91%E6%98%93HubbleData%E4%B9%8BAndroid%E6%97%A0%E5%9F%8B%E 7%82%B9%E5%AE%9E%E8%B7%B5/》;20170711;第1-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109522189A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836346B2 (en) | Error troubleshooting using a correlated knowledge base | |
CN110020339B (zh) | 基于无埋点的网页数据采集方法及装置 | |
CN109522189B (zh) | 一种数据监测方法、装置及系统 | |
CN108121633B (zh) | 异常捕获方法及装置 | |
CN109104327B (zh) | 一种业务日志生成方法、装置及设备 | |
CN108134812B (zh) | 数据处理方法和装置 | |
CN107844518B (zh) | 评估指定app下载量的方法、数据服务器、打包平台及系统 | |
CN108874379B (zh) | 页面的处理方法及装置 | |
CN109558143B (zh) | 一种集群中部署应用的方法及装置 | |
CN111858252B (zh) | 基于前端框架的动态埋点方法及装置 | |
CN111782328A (zh) | 应用处理的方法及装置 | |
CN109558548A (zh) | 一种消除css样式冗余的方法及相关产品 | |
CN114253587A (zh) | 应用程序更新方法、装置、电子设备及可读存储介质 | |
CN106293890B (zh) | 一种基于复杂度的业务处理方法和装置 | |
CN108228193A (zh) | 数据获取方法及装置 | |
WO2019047677A1 (zh) | 一种应用下载来源的监测方法及装置 | |
CN110502251B (zh) | 应用安装方法及装置 | |
CN106648714B (zh) | 应用程序卸载信息的分析方法及装置 | |
CN110020332B (zh) | 一种基于圈选元素的事件生成方法及装置 | |
CN111651194B (zh) | 基于iOS的适配方法及装置 | |
JP2021506010A (ja) | リモートデバイスからのアプリケーションアクティビティデータをトラッキングし、リモートデバイスのための修正動作データ構造を生成するための方法およびシステム | |
CN110955813A (zh) | 一种数据爬取方法及装置 | |
CN115113898A (zh) | 微应用的动态更新方法、装置、计算机设备和存储介质 | |
CN108228145A (zh) | 混合型应用程序的数据处理方法、系统及移动设备 | |
CN107329880A (zh) | 一种java环境中动态获取日志实例的方法及系统 |
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 | ||
CB02 | Change of applicant information |
Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |