零埋点数据采集方法、装置、电子设备及存储介质与流程

文档序号:19737560发布日期:2020-01-18 04:42阅读:137来源:国知局
本发明实施例涉及数据采集领域,具体涉及一种零埋点数据采集方法、装置、电子设备及存储介质。
背景技术
::埋点分析,是网站分析的一种常用的数据采集方法。通过埋点分析,可以对网站或应用程序中预设监测事件的监测点进行监测。其中,预设监测事件是用户在使用网站或应用程序时,通过操作触发的事件,比如用户点击点赞按钮,则会触发点击事件。这些事件会产生一些数据,比如,点赞个数,这些数据可以通过监测点代码来获取。其中,在将监测点代码植入到监测点的过程可以成为埋点。埋点的具体过程是:网页工程师(或者应用程序开发者)将一个一个专用的监测点代码植入到每一个需要统计数据的监测点上,还需要保证这些监测点代码跟监测点一一对应(因为监测点不同,植入的监测点代码在命名和属性设定上也不同,每个监测点都要植入一个专属于自身的点监测点代码),在监测点上植入监测点代码时不能错加或者漏加,由于埋点的工作量很大,需要植入的监测点代码很多,因此在埋点的过程中很容易出现错误。基于上述方案,埋点的过程比较复杂,并且,当某个网页或某个应用程序有新的统计需求时,就必须通过发布应用程序新版本的方式来修改或增加埋点,但是应用程序新版本的开发周期较长,使得通过修改或增加埋点的方式采集数据的效率较低。技术实现要素:为了解决上述技术问题或者至少部分地解决上述技术问题,本发明实施例提供了一种零埋点数据采集方法、装置、电子设备及存储介质。有鉴于此,本发明实施例提供一种零埋点数据采集方法,包括:检测目标应用程序上是否有事件发生;若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断所述事件是否是预设事件;若所述事件是所述预设事件,则获取所述预设事件的第一采集数据信息;所述第一采集数据信息至少包括页面访问路径信息,所述页面访问路径为所述预设事件发生时所述目标应用程序当前显示的页面的访问路径。进一步地,在所述检测目标应用程序上是否有事件发生之前,所述方法还包括:在目标应用程序初始化时,向服务器发送初始化请求;接收服务器响应于所述初始化请求发送的配置文件,所述配置文件包括预设事件的预设事件名称以及预设事件对应的业务数据的获取路径。进一步地,所述检测目标应用程序上是否有事件发生,包括:在所述目标应用程序上配置监测代码;根据所述监测代码检测目标应用程序上的事件是否发生。进一步地,当所述第一采集数据信息包括页面访问路径信息时,获取所述预设事件的第一采集数据信息,包括:在目标应用程序展示多级页面的状态下,从目标应用程序当前展示的页面遍历页面直至根页面;获取各页面的类名以及每个页面在父页面中的标识;将每个页面的类名与该页面在父页面中的标识进行组合,得到每个页面的路径信息;按照从根页面到当前展示的页面的顺序将每个页面的路径信息组合,得到预设事件的页面访问路径信息。进一步地,所述第一采集数据信息还包括:视图访问路径信息和与所述预设事件对应的业务数据。进一步地,当所述第一采集数据信息还包括视图访问路径信息时,获取所述预设事件的第一采集数据信息,包括:在目标应用程序接收到多级操作的状态下,从目标应用程序当前展示的视图遍历视图直至页面的根视图;获取各视图的类名以及每个视图在父视图中的标识;将每个视图的类名与所述视图在父视图中的标识进行组合,得到每个视图的路径信息;按照从根视图到当前展示的视图的顺序将每个视图的路径信息组合,得到预设事件的视图访问路径信息。进一步地,当所述第一采集数据信息还包括预设事件对应的业务数据时,获取所述预设事件的第一采集数据信息,包括:从配置文件中提取预设事件对应的业务数据的获取路径;通过所述预设事件对应的业务数据的获取路径,获取与所述预设事件对应的业务数据。进一步地,所述方法还包括:若所述事件不是所述预设事件,则获取所述事件的第二采集数据信息;所述第二采集数据信息包括页面访问路径信息。本发明实施例还提供了一种零埋点数据采集装置,包括:检测模块,用于检测目标应用程序上是否有事件发生;判断模块,用于若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断所述事件是否是预设事件;获取模块,用于若所述事件是所述预设事件,则获取所述预设事件的第一采集数据信息;所述第一采集数据信息至少包括页面访问路径信息,所述页面访问路径为所述预设事件发生时所述目标应用程序当前显示的页面的访问路径。本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的零埋点数据采集方法的步骤。本发明实施例还提供了一种存储介质,所述存储介质上存储有零埋点数据采集方法程序,所述零埋点数据采集方法程序被处理器执行时实现上述任一所述的零埋点数据采集方法的步骤。本发明实施例首先检测目标应用程序上是否有事件发生,若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断事件是否是预设事件,若事件是预设事件,则获取预设事件的第一采集数据信息。本方案根据服务器下发的配置文件采集预设事件对应的第一采集数据信息,这种通过服务器端来确定需要采集的事件的数据信息,与现有技术中通过埋点的方式获取事件的数据信息,当需要获取新的事件的数据信息是必须通过发布应用程序新版本的方式来修改或增加埋点的方式获取新的事件对应的数据信息相比,减少了因修改埋点而增加的应用程序版本发布的频率和次数,从而节省了开发时间和成本,提高了数据采集的效率。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种零埋点数据采集方法的应用场景示意图;图2为本发明实施例提供的一种零埋点数据采集方法的流程图;图3为本发明实施例提供的一种从服务器获取配置文件的方法流程图;图4为本发明实施例提供的一种检测目标应用程序上是否有事件发生的方法流程图;图5为本发明实施例提供的一种获取预设事件的第一采集数据信息的方法的流程图;图6为本发明实施例提供的另一种获取预设事件的第一采集数据信息的方法的流程图;图7为本发明实施例提供的另一种获取预设事件的第一采集数据信息的方法的流程图;图8为本发明实施例提供的另一种零埋点数据采集方法的流程图;图9为本发明实施例提供的另一种零埋点数据采集方法的流程图;图10为本发明实施例提供的一种将采集数据信息发送至服务器的方法流程图;图11为本发明实施例提供的一种零埋点数据采集方法的整体流程图;图12为本发明实施例提供的一种零埋点数据采集装置的结构示意图;图13为本发明实施例提供的一种电子设备的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。本发明的各步骤的执行主体是终端。该终端可以是诸如手机、平板电脑、笔记本电脑、掌上电脑、pad(personaldigitalassistant,个人数字助理)、pmp(portablemediaplayer,便捷式多媒体播放器)、导航装置等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图1是本发明一示例性实施例示出的一种零埋点数据采集方法的应用场景示意图,图中包括终端1和服务器2。在终端1上安装有应用程序,在应用程序初始化时,服务器2会下发配置文件至终端1,终端1根据上述配置文件获取应用程序上有事件发生时的数据信息。需要说明的是,图1所示仅为本发明的一种示意图,图中仅仅示出一台终端1,在实际情况中,服务器2会下发多个配置文件至一台或多台终端中,上述一台或多台终端利用本申请提供的零埋点数据采集方法采集与上述配置文件相对应的数据信息,并将采集的数据信息发送至服务器2。图2是本发明提供的一种零埋点数据采集方法的流程图。如图2所示,该方法应用于终端。在本发明的实施例中,由于对各种事件的关注度不同,在有事件发生时需要采集的数据也不相同。具体地,对一些关注度较高的事件需要采集较多的数据,相反,对关注度较低的事件需要采集较少的数据。服务器会将关注度较高的事件设定为预设事件,并将预设事件以及需要对预设事件获取的信息的路径放入配置文件中,然后将配置文件发送至终端。例如,在本发明的一些实施方式中,对预设事件需要获取第一采集数据信息,对非预设事件获取第二采集数据信息,具体地获取方式在下面的实施例中会详细描述,在此不再赘述。在步骤s201中,检测目标应用程序上是否有事件发生。具体地,上述事件为可以被目标应用程序所识别的操作,目标应用程序可以包括可以安装于终端上的多种应用程序;事件可以包括:应用程序的启动、进入后台、进入前台、页面的展现和消失、对控件的操作(如点击,滑动)等。在本发明的一个可能的实施例中,检测目标程序上是否有事件发生,可以通过在目标应用程序上设置监测代码的方式对上述事件进行检测,若检测到上述事件,则说明有事件发生。其中,对事件的检测在后续实施例中进行详细描述,此处不做赘述。在步骤s202中,若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断所述事件是否是预设事件。具体地,当监测代码检测到有事件发生,就会根据在目标应用程序初始化时从服务器获取的配置文件中包含的预设事件的预设事件名称,判断检测到的事件是否是预设事件。其中,预设事件是应用程序初始化时终端从服务器获取的配置文件中携带的事件,配置文件中携带有预设事件的预设事件名称以及预设事件对应的业务数据的获取路径。当需要采集不同事件发生所对应的数据时,可以通过服务器下发的不同的配置文件来获取相应的数据,与现有技术中通过发布应用程序新版本来修改或增加埋点的方式获取数据相比,减少了应用程序新版本的开发次数,从而节省了开发时间和成本,提高了数据采集的效率。进一步地,通过将配置文件中预设事件的预设事件名称与检测到的事件名称相比较,来确定检测到的事件是不是预设事件。若是名称相同,则说明检测到的事件是预设事件;若是名称不相同,则说明检测到的事件不是预设事件。在步骤203中,若所述事件是所述预设事件,则获取所述预设事件的第一采集数据信息;所述第一采集数据信息至少包括页面访问路径信息,所述页面访问路径为所述预设事件发生时所述目标应用程序当前显示的页面的访问路径。具体地,终端根据从服务器获取的配置文件中携带的预设事件的预设事件名称,判断出步骤s202中的事件是预设事件,则获取预设事件的第一采集数据信息。其中,第一采集数据信息至少包括页面访问路径信息,还可以包括其他的数据信息,例如视图访问路径信息和与所述预设事件对应的业务数据等。页面访问路径是由各个页面的路径信息连接起来组成的。其中,各个页面的路径信息的连接顺序是按照从根页面到当前显示的页面的顺序进行连接的。页面的路径信息是指页面的类名和该页面在父页面中的标识组成的字符串信息。当有预设事件发生并且应用程序显示多级页面时,按照用户操作页面的顺序,将目标应用程序当前显示的页面的根页面的路径信息到目标应用程序当前显示的页面的路径信息连接起来组成的字符串,作为当前展示的页面的页面访问路径。当前显示的页面所在的目标应用程序可以是展示多级页面的状态,也可以是展示一级页面的状态。也就是,当前显示的页面可以是点击多个控件后展示的页面,也可以是目标应用程序刚打开时展示的页面。在本实施例中,首先检测目标应用程序上是否有事件发生,若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断事件是否是预设事件,若事件是预设事件,则获取预设事件的第一采集数据信息。本方案根据从服务器获取的配置文件来获取配置文件携带的预设事件的数据信息,当检测到有预设事件发生时,即可采集预设事件对应的数据信息,与现有技术中通过埋点的方式获取事件的数据信息,而且当需要获取新的事件的数据信息时,必须通过发布应用程序新版本来修改或增加埋点的方式获取新的事件对应的数据信息相比,减少了因修改埋点而增加的应用程序版本发布的频率和次数,从而节省了开发时间和成本,提高了数据采集的效率。在本发明另一实施例中,如图3所示,在所述检测目标应用程序上是否有事件发生之前,该零埋点数据采集方法还包括:在步骤s301中,在目标应用程序初始化时,向服务器发送初始化请求。具体地,在目标应用程序初始化时,会向服务器发送初始化请求,该初始化请求中包含有与目标应用程序相关的一些信息,例如目标应用程序名称,版本信息等。例如目标应用程序是某视频app(application,应用程序),当该视频app初始化时,会向服务器发送包含有app名称、app的版本信息以及app的一些其他信息的初始化请求。在步骤s302中,接收服务器响应于所述初始化请求发送的配置文件,所述配置文件包括预设事件的预设事件名称以及预设事件对应的业务数据的获取路径。具体地,服务器会根据初始化请求中目标应用程序的名称以及版本信息等与目标应用程序相关的一些信息,向终端发送与目标应用程序相对应的配置文件,上述配置文件中包括预设事件的预设事件名称以及预设事件对应的业务数据的获取路径。例如,服务器接收到某视频app的初始化请求,会根据初始化请求中携带的app名称、app的版本信息以及app的一些其他信息,在预先设置好的文件中查询与上述app名称、app的版本信息相对应的配置文件,并将查询到的配置文件发送至终端,配置文件中包括点击某个电影以及该电影的点击量的获取路径。下面给出一个较为具体地检测目标程序上的事件发生的方法。如图4所示为本发明提供的检测目标应用程序上是否有事件发生的方法流程图。在步骤s401中,在所述目标应用程序上配置监测代码。在本发明实施例中,监测代码可以是多种代码,监测代码的类型根据事件的类型进行设定。具体地,监测代码可以是javascrip代码,javascrip代码可以根据实际需求进行自定义。例如,监测应用程序启动事件的javascrip代码、监测app进入后台事件的javascrip代码、监测app进入前台事件的javascrip代码,监测页面展现事件的javascrip代码和监测页面消失事件的javascrip代码,监测对控件的点击操作事件的javascrip代码、监测对控件的滑动操作事件的javascrip代码等。在应用程序上配置监测代码的方法是将javascrip代码提前植入到应用程序中。例如,通过调用uiapplicationdidfinishlaunchingnotification监控应用程序的启动事件;通过调用uiapplicationdidenterbackgroundnotification监控应用程序进入后台事件;通过调用uiapplicationwillenterforegroundnotification监控应用程序进入前台事件。通过调用viewdidappear监控页面展现事件;通过调用viewdiddisappear监控页面消失事件。通过调用sendaction:(sel)actionto:(nullableid)targetfrom:(nullableid)senderforevent:(nullableuievent*)event监控对空间的点击事件,等等。在步骤s402中,根据所述监测代码检测目标应用程序上的事件是否发生。在本发明实施例中,若是检测到上述任一种事件,则说明目标应用程序上有事件发生。下面给出一个较为具体地获取预设事件的第一采集数据信息的方法。在本发明的实施例中,第一采集数据信息至少包括页面访问路径信息,页面访问路径为预设事件发生时目标应用程序当前显示的页面的访问路径,是根据当前显示的页面所在的层次生成的能唯一标识页面的信息。第一采集数据信息还可以包括视图访问路径信息和与所述预设事件对应的业务数据。视图访问路径信息是由各个被操作的控件所在视图的视图路径信息连接起来组成的。其中,各个视图的视图路径信息的连接顺序是按照从根视图到当前显示的视图的顺序进行连接的。视图的视图路径信息是指视图的类名和该视图在父视图中的标识组成的字符串信息。当有预设事件发生并且应用程序展示多级视图时,按照用户操作控件的顺序,将被操作的控件所在的视图到该视图所在页面的根页面视图之间的所有被操作的控件所在视图的视图路径信息连接起来组成的字符串,作为当前视图的视图访问路径。该字符串是能唯一标识视图位置的信息。业务数据是根据从服务器获取的预设事件对应的业务数据的获取路径获取到的数据。如图5所示,为本发明提供的一种获取预设事件的第一采集数据信息的方法。应用于第一采集数据信息为页面访问路径信息的情况。在步骤s501中,在目标应用程序展示多级页面的状态下,从目标应用程序当前展示的页面遍历页面直至根页面。在步骤s502中,获取各页面的类名以及每个页面在父页面中的标识。在步骤s503中,将每个页面的类名与该页面在父页面中的标识进行组合,得到每个页面的路径信息。在步骤s504中,按照从根页面到当前展示的页面的顺序将每个页面的路径信息组合,得到预设事件的页面访问路径信息。具体地,在目标应用程序展示多级页面的状态下,从当前展示的页面开始遍历页面直到目标应用程序的根页面,把每个页面的类名和该页面在父页面中的标识记录下来作为一个页面的路径信息,其中,由于根页面没有父页面,因此根页面没有在父页面中的标识。例如,某页面的路径信息为uiviewcontroller[1],其中,uiviewcontroller表示类名,1表示该页面在父页面中的标识。按照从根页面到当前展示的页面的顺序把各个页面的路径信息用“-”连接起来组成字符串,作为页面访问路径信息。例如:qiyipaopaobasenavigationcontroller-qyppcardsquareviewcontroller[0]表示某应用程序展示两级状态时的当前展示的页面的页面访问路径,其中,qyppcardsquareviewcontroller[0]表示当前展示的页面的路径信息,qyppcardsquareviewcontroller表示当前展示的页面的类名,0表示当前展示的页面在根页面中的标识;qiyipaopaobasenavigationcontroller表示当前展示的页面的根页面的路径信息。如图6所示,为本发明提供的另一种获取预设事件的第一采集数据信息的方法。应用于第一采集数据信息为视图访问路径信息的情况。在步骤s601中,在目标应用程序接收到多级操作的状态下,从目标应用程序当前展示的视图遍历视图直至页面的根视图。在步骤s602中,获取各视图的类名以及每个视图在父视图中的标识。在步骤s603中,将每个视图的类名与所述视图在父视图中的标识进行组合,得到每个视图的路径信息。在步骤s604中,按照从根视图到当前展示的视图的顺序将每个视图的路径信息组合,得到预设事件的视图访问路径信息。具体地,在目标应用程序接收到多级操作的状态下,从当前展示的视图开始遍历直到页面的根视图,把每个视图的类名和该视图在父视图中的标识记录下来作为一个视图的路径信息,视图的路径信息表示控件在当前页面中的位置信息,其中,由于根视图没有父视图,因此根视图没有在父视图中的标识。例如,某视图的路径信息为uiview[1],其中,uiview表示类名,数字1表示该视图在父视图中的标识。对于列表项视图的标识是指该视图在列表中的顺序,列表项视图的标识的格式为[row:section],其中,section表示第几个区块,row表示区块里的第几个。按照从根视图到当前展示的视图的顺序把各个视图的路径信息用“-”连接起来组成字符串,作为视图访问路径信息。例如:qyppuimessagebox-uiview[0]-uibutton[3]表示某应用程序展示三级操作的状态时的当前展示的视图的视图访问路径,其中,uibutton[3]表示当前展示的视图的视图路径,uibutton表示当前展示的视图的类名,也就是当前控件的名称,3表示当前展示的视图在父视图中的标识;uiview[0]表示当前展示的视图的父视图的路径信息,uiview表示当前展示的视图的父视图的类名,0表示当前展示的视图的父视图在根视图中的标识;qyppuimessagebox表示当前展示的视图的根视图的路径信息。如图7所示,为本发明提供的另一种获取预设事件的第一采集数据信息的方法。应用于第一采集数据信息为预设事件对应的业务数据的情况。在步骤s701中,从配置文件中提取预设事件对应的业务数据的获取路径。在步骤s702中,通过所述预设事件对应的业务数据的获取路径,获取与所述预设事件对应的业务数据。具体地,当第一采集数据信息为预设事件对应的业务数据时,就会从服务器下发的配置文件中提取预设事件对应的业务数据的获取路径,然后根据上述业务数据的获取路径,获取与预设事件对应的业务数据。基于上述实施例,在本发明的另一实施例中,如图8所示,在若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断所述事件是否是预设事件之后,该零埋点数据采集方法还可以包括:步骤s204中,若所述事件不是所述预设事件,则获取所述事件的第二采集数据信息;所述第二采集数据信息包括页面访问路径信息。具体地,第二采集数据信息为页面访问路径信息时,第二采集数据信息的获取方法的步骤与第一采集数据信息为页面访问路径信息时,第一采集数据信息的获取方法的步骤相同,此处不再赘述。基于上述实施例,在本发明的另一实施例中,如图9所示,该零埋点数据采集方法还可以包括:步骤s205中,将获取的第一采集数据信息和/或第二采集数据信息发送至服务器。在本发明的一个可能的实施例中,可以先将上述实施例获取的第一采集数据信息和/或第二采集数据信息存储到预设存储空间中,当预设存储空间中存储的数据信息的大小大于或等于存储阈值或对目标应用程序操作的时长大于或等于时长阈值时,将上述第一采集数据信息和/或第二采集数据信息发送至服务器。具体地,如图10所示,将获取的第一采集数据信息和/或第二采集数据信息发送至服务器,具体包括:在步骤s1001中,将所述第一采集数据信息和/或第二采集数据信息存储到预设存储空间中;在步骤s1002中,当存储的数据信息满足预设条件时,将预设存储空间中存储的第一采集数据信息和/或第二采集数据信息发送至服务器。其中,当存储的数据信息满足预设条件时,将预设存储空间中存储的第一采集数据信息和/或第二采集数据信息发送至服务器,具体包括:判断所述预设存储空间的剩余空间是否小于预设存储值;若所述预设存储空间的剩余空间小于所述预设存储值,将所述预设存储空间中存储的第一采集数据信息和/或第二采集数据信息发送至服务器。在另一具体实施方式中,当用户操作目标应用程序的时长大于或等于时长阈值时,将预设存储空间中存储的第一采集数据信息和/或第二采集数据信息发送至服务器。如图11所示,为本发明提供的零埋点数据采集方法的整体流程图。首先判断目标应用程序上是否有事件发生;若是有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断所述事件是否是预设事件;若是事件是预设事件,则获取所述预设事件的第一采集数据信息,所述第一采集数据信息至少包括页面访问路径信息,所述页面访问路径为所述预设事件发生时所述目标应用程序当前显示的页面的访问路径;若是所述事件不是预设事件,则获取所述事件的第二采集数据信息,所述第二采集数据信息包括页面访问路径信息;将获取的第一采集数据信息和/或第二采集数据信息存储在预设存储空间中,当存储的数据信息满足预设条件时,将预设存储空间中存储的第一采集数据信息和/或第二采集数据信息发送至服务器。可以通过配置文件携带的预设事件的名称判断目标应用程序上发生的事件是不是预设事件,当目标应用程序上发生的事件是预设事件,获取预设事件相应的第一采集数据信息。与现有技术通过埋点的方式获取数据,而且当需要获取新的事件的数据信息时,必须通过发布应用程序新版本来修改或增加埋点的方式获取新的事件对应的数据信息相比,减少了因修改埋点而增加的应用程序版本发布的频率和次数,从而节省了开发时间和成本,提高了数据采集的效率。基于与上述方法相同的发明构思,在本发明另一实施例中,如图12所示,还公开了一种零埋点数据采集装置,该装置包括:检测模块101、判断模块102和获取模块103。该检测模块101被配置为检测目标应用程序上是否有事件发生。该判断模块102被配置为若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断所述事件是否是预设事件。该获取模块103被配置为若所述事件是所述预设事件,则获取所述预设事件的第一采集数据信息;所述第一采集数据信息至少包括页面访问路径信息,所述页面访问路径为所述预设事件发生时所述目标应用程序当前显示的页面的访问路径。由此可见,本发明实施例通过检测目标应用程序上是否有事件发生,若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断事件是否是预设事件,若事件是预设事件,则获取预设事件的第一采集数据信息。本方案根据从服务器获取的配置文件来获取配置文件携带的预设事件的数据信息,当检测到有预设事件发生时,即可采集预设事件对应的数据信息,与现有技术中通过埋点的方式获取事件的数据信息,而且当需要获取新的事件的数据信息时,必须通过发布应用程序新版本来修改或增加埋点的方式获取新的事件对应的数据信息相比,减少了因修改埋点而增加的应用程序版本发布的频率和次数,从而节省了开发时间和成本,提高了数据采集的效率。在本发明的一个可能的实施方式中,该零埋点数据采集装置还可以包括:请求模块104和接收模块105。该请求模块104被配置为在目标应用程序初始化时,向服务器发送初始化请求。该接收模块105被配置为接收服务器响应于所述初始化请求发送的配置文件,所述配置文件包括预设事件的预设事件名称以及预设事件对应的业务数据的获取路径。在本发明的一个可能的实施方式中,检测模块101具体用于:在所述目标应用程序上配置监测代码;根据所述监测代码检测目标应用程序上的事件是否发生。在本发明的一个可能的实施方式中,当所述第一采集数据信息包括页面访问路径信息时获取模块103具体用于:在目标应用程序展示多级页面的状态下,从目标应用程序当前展示的页面遍历页面直至根页面;获取各页面的类名以及每个页面在父页面中的标识;将每个页面的类名与该页面在父页面中的标识进行组合,得到每个页面的路径信息;按照从根页面到当前展示的页面的顺序将每个页面的路径信息组合,得到预设事件的页面访问路径信息。在本发明的一个可能的实施方式中,当所述第一采集数据信息还包括视图访问路径信息时,获取模块103具体用于:在目标应用程序接收到多级操作的状态下,从目标应用程序当前展示的视图遍历视图直至页面的根视图;获取各视图的类名以及每个视图在父视图中的标识;将每个视图的类名与所述视图在父视图中的标识进行组合,得到每个视图的路径信息;按照从根视图到当前展示的视图的顺序将每个视图的路径信息组合,得到预设事件的视图访问路径信息。在本发明的一个可能的实施方式中,当所述第一采集数据信息还包括预设事件对应的业务数据时,获取模块103具体用于:从配置文件中提取预设事件对应的业务数据的获取路径;通过所述预设事件对应的业务数据的获取路径,获取与所述预设事件对应的业务数据。在本发明的一个可能的实施方式中,该零埋点数据采集装置还可以包括:第二获取模块106。该第二获取模块106具体用于:若所述事件不是所述预设事件,则获取所述事件的第二采集数据信息;所述第二采集数据信息包括页面访问路径信息。上述零埋点数据采集装置与上述零埋点数据采集方法一一对应,其具体的原理和过程与上述实施例所述的方法相同,此处不再赘述。在本申请另一实施例中,还提供了一种电子设备,如图13所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信;存储器503,用于存放计算机程序;处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:检测目标应用程序上是否有事件发生;若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断所述事件是否是预设事件;若所述事件是所述预设事件,则获取所述预设事件的第一采集数据信息;所述第一采集数据信息至少包括页面访问路径信息,所述页面访问路径为所述预设事件发生时所述目标应用程序当前显示的页面的访问路径。在本实施例中,首先检测目标应用程序上是否有事件发生,若检测到有事件发生,根据从服务器获取的配置文件中包含的预设事件的预设事件名称,判断事件是否是预设事件,若事件是预设事件,则获取预设事件的第一采集数据信息。本方案根据从服务器获取的配置文件来获取配置文件携带的预设事件的数据信息,当检测到有预设事件发生时,即可采集预设事件对应的数据信息,与现有技术中通过埋点的方式获取事件的数据信息,而且当需要获取新的事件的数据信息时,必须通过发布应用程序新版本来修改或增加埋点的方式获取新的事件对应的数据信息相比,减少了因修改埋点而增加的应用程序版本发布的频率和次数,从而节省了开发时间和成本,提高了数据采集的效率。上述电子设备提到的通信总线504可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口502用于上述电子设备与其他设备之间的通信。存储器503可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。上述的处理器501可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。在本申请另一实施例中,还提供了一种存储介质,其特征在于,所述存储介质上存储有零埋点数据采集方法程序,所述零埋点数据采集方法程序被处理器执行时实现上述任一所述的零埋点数据采集方法的步骤。本发明实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(applicationspecificintegratedcircuits,asic)、数字信号处理器(digitalsignalprocessing,dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(programmablelogicdevice,pld)、现场可编程门阵列(field-programmablegatearray,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明各个实施例所述的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法或者实施例的某些部分所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1