针对终端中应用数据的统计方法和系统与流程

文档序号:12801941阅读:278来源:国知局
针对终端中应用数据的统计方法和系统与流程

本公开一般涉及统计技术领域,具体涉及一种针对终端中应用数据的统计方法和系统。



背景技术:

统计属于管理层,统计的对象是待管理目标的相关数据;根据统计结果可以实现目标的统筹管理和优化。例如,为了全面帮助移动开发者实现数据化、精细化运营,可以针对终端设备中移动应用的相关数据进行统计。这样,移动开发者可以依据统计结果来评估该移动应用的运行情况,并以此作为决策分析的依据,使该移动应用提供更好的服务。

现有的统计方案中,通常可以预先根据移动应用的统计需求设置对应的统计功能模块,其中,统计功能模块通过代码来实现,且封装成固定的模块。这样,统计系统可以通过调用封装好的统计功能模块来进行指定需求的统计。

事实上,随着终端应用技术的发展,手机应用的统计需求不断呈现多样性和多变性,现有的统计方案则逐渐呈现灵活性差、甚至不适用的问题。



技术实现要素:

鉴于现有技术中的上述缺陷或不足,期望提供一种能够提高终端中应用数据统计的灵活性和通用性,扩展适用范围的统计方案。

第一方面,本申请实施例提供了一种针对终端中应用数据的统计方法,包括:

根据服务器下发的统计配置信息,对终端中应用的统计项进行配置,其中,所述统计项包括:单一事件和/或含多个单一事件的流程;以及

根据统计项的当前配置对终端中相关应用数据进行统计,并上传统计结果。

第二方面,本申请实施例还提供了一种针对终端中应用数据的统计系统,包括:

配置模块,配置用于根据服务器下发的统计配置信息对终端中应用的统计项进行配置,所述统计项包括:单一事件和/或含多个单一事件的流程;以及

统计模块,配置用于根据统计项的当前配置对终端中相关应用数据进行统计;

上传模块,配置用于上传统计结果。

第三方面,本申请实施例还提供了一种计算机系统,包括处理器、存储器,所述存储器包含可由所述处理器执行的指令以使得所述处理器执行本发明各实施例提供的针对终端中应用数据的统计方法。

第四方面,本申请实施例还提供了一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行本发明各实施例提供的针对终端中应用数据的统计方法。

本申请实施例提供的针对终端中应用数据的统计方案,支持单一事件,以及含多个单一事件的流程的统计,扩展了终端应用的统计范围,提高了终端中应用数据统计的通用性;且通过服务器来动态下发统计项的配置数据,可提高终端中应用数据统计的灵活性,减少开发成本。进一步地,本申请的部分实施例可以对统计项进行动态开关以及动态优先级调整,以此满足终端应用复杂多变的统计需求。进一步地,本申请的部分实施例可以设置灵活的数据发送策略,打消开发者对数据收集频率和数据消耗用户流量的担忧。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了其中可以应用本申请实施例的示例性系统架构;

图2示出了根据本申请实施例的针对终端中应用数据的统计方法的示例性流程图;

图3示出了根据本申请一个实施例的针对终端中应用数据的统计系统的示例性结构框图;以及

图4示出了适于用来实现本申请实施例的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

请参考图1,其示出了可以应用本申请实施例的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、网络103和服务器104、105、106和107。网络103用以在终端设备101、102和服务器104、105、106、107之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户110可以使用终端设备101、102通过网络103与服务器104、105、106、107交互,以访问各种服务,例如浏览网页、下载数据等。终端设备101、102上可以安装有各种客户端应用。

终端设备101、102可以是各种电子设备,包括但不限于个人电脑、智能手机、智能电视、平板电脑、个人数字助理、电子书阅读器等等。

服务器104、105、106、107可以是提供各种服务的服务器。服务器可以响应于用户的服务请求而提供服务。可以理解,一个服务器可以提供一种或多种服务,同一种服务也可以由多个服务器来提供。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

如背景技术中所提到的,现有技术存在通用性和灵活性差的问题,无法满足多种多样、以及多变的统计需求。

例如,手机应用的统计需求场景可能不再是单一事件的统计,而是一系列事件作为一个流程进行统计,比如一次用户的购买行为统计可能包含多个页面的跳转以及多个按钮的点击行为,而且同一个统计流程可能会同时存在多个。然而,目前现有的统计方案仅仅支持单一事件的统计,即适用于单一事件的统计需求场景,并不能支持对由多个单一事件构成的流程的数据统计需求,也就存在适用范围窄、通用性差的缺陷。

而且,一旦用户(比如移动应用的开发者)的需求变更,需要新增、修改或者删除一条统计项时,现有的统计方案中,就必须将根据变更的统计需求对相应的统计功能模块的源代码进行修改,重新编译。或者,在新的项目中,由于业务需求可能完全不同,现有的统计方案中,就需要重新编写统计功能模块。重新编译或编写,不论从用户的角度还是开发者自身角度来看,都存在灵活性差又浪费资源的缺陷。

鉴于现有技术的上述缺陷,本申请实施例提供了一种针对终端中应用数据的统计方案,既可以支持单一事件的统计,也可以支持由多个单一事件构成的流程的统计,满足终端应用复杂多变的统计需求,扩展统计方案的适用范围,提高终端中应用数据统计的通用性;而且可以灵活设置与统计需求对应的统计项,增强统计系统的灵活性。将本申请的统计方案应用于不同需求的项目中而无需修改移动应用程序,降低开发成本。

下面将结合流程图来描述本申请实施例的方法。

参考图2,其示出了根据本申请一个实施例的针对终端中应用数据的统计方法的示例性流程图。图2所示的方法可以在图1中的终端设备执行。

如图2所示,该实施例提供的针对终端中应用数据的统计方法包括:步骤210,根据服务器下发的统计配置信息,对终端中应用的统计项进行配置;步骤220,根据统计项的当前配置对终端中相关应用数据进行统计,并上传统计结果。

在步骤210中,根据服务器下发的统计配置信息,对终端中应用的统计项进行配置。

其中,终端中应用的统计项可以包括:单一事件和/或含多个单一事件的流程。实际应用中,流程所包含的多个单一事件可以属于同一页面或同一功能模块;也可以跨越不同页面、不同功能模块。例如,一次用户的购买行为,可能涉及到多个页面的跳转以及多个按钮的点击行为。因此,可以将一次用户的购买行为当作是一个流程;并将该流程作为一个统计项进行统计。

终端从服务器接收的统计配置信息中包括各个统计项所对应的id(identification,身份标识),以及对应的配置信息。终端从服务器接收到统计配置信息之后,可以根据终端应用中待配置的统计项的id,确定统计配置信息中与该id对应的配置信息;并根据确定出的配置信息对该统计项进行相应的配置。

步骤210中,统计项具体为单一事件时,可以按照现有的技术方案,根据对应的配置信息进行配置。

考虑到流程通常有开始、结束、取消,以及向其中添加事件等操作。因此,本发明实施例中,统计项具体为流程时,对终端中应用的统计项进行配置包括:为流程分配对应的流对象;以及,通过流对象完成如下至少一项操作:开始流程、结束流程、取消流程、向流程中增加事件。

实际应用中,使用者若想统计一个流程,需要先开始一个流程,终端系统会返回一个流对象,流对象关联一个类似文件句柄一样的id,用来唯一标识一个流程。使用者可以通过该流对象向流程中增加事件,流程结束时可以通过该流对象结束流程,也可以取消流程。

由于流程所包含的事件可能跨越不同页面不同功能模块,因此,较佳地,流对象可以设计为内存可序列化,以便统计过程中可以随意传送流对象。

本申请实施例中,应用开发者可以根据实际需求灵活设置统计项,包括单一事件或流程;并针对设置的统计项设计对应的配置信息。继而,将设置好的统计项及其对应配置信息作为统计配置信息存于服务器。

实际应用中,在应用的统计需求发生变更时(比如,增加统计项、删除统计项、修改统计项等),可以对服务器中的统计配置信息进行调整。为了区分修改前和修改后的统计配置信息,可以针对统计配置信息设置对应的校验信息,例如,可以分配版本标识;或者可以将统计配置信息的md5(messagedigestalgorithm,消息摘要算法)值作为校验信息。

本申请实施例中的终端可支持两种方式来获取服务器侧的统计配置信息。

在一种实现方式中,服务器可以主动将统计配置信息发送到终端。比如,在初始化阶段,或者统计配置信息有更新时,或者设定维护周期到达时,服务器主动将最新的统计配置信息发送给终端。

在另一种实现方式中,终端可以主动向服务器请求获取最新的统计配置信息。具体地,终端可以向服务器发送配置请求,以获取最新的统计配置信息,其中,配置请求可以包括用于识别终端当前的统计配置信息的校验消息。终端当前的统计配置信息的校验消息可以是预先分配的版本标识,或者当前的统计配置信息的md5值。这样,服务器接收到配置请求后,可以先根据校验信息来判断是否应该下发新配置。

服务器确定要下发最新的统计配置信息的情况下,可以将最新的全量配置信息下发至终端;或者,可以确定最新的统计配置信息与终端当前的统计配置信息之间的差异,将差异作为增量配置信息下发至终端。

因此,服务器下发的统计配置信息具体为:全量配置信息或增量配置信息。

当终端接收的统计配置信息具体为全量配置信息时,则终端可以根据接收的全量配置信息,对终端中应用的统计项重新配置;或者,根据接收的全量配置信息,以及当前的统计配置信息,确定配置信息发生变更的统计项;并根据全量配置信息中新的配置信息,对发生变更的统计项进行重新配置。

当终端接收的统计配置信息具体为增量配置信息时,则终端可以确定增量配置信息所关联的统计项;并根据增量配置信息对终端中关联的统计项进行相应配置的调整。

实际应用中,调整的配置可以包括如下至少一项:开关配置、优先级配置。通过开关配置、优先级配置的调整,可以及时关闭不再需要的统计项,或根据场景调整统计项的优先级,实现终端中应用的统计项的动态开关,以及优先级的动态调整,进一步提高了终端中应用数据统计的灵活性,而且使统计结果的更加符合开发者的复杂多变的个性化统计需求。其中,统计项的优先级主要是由应用开发者根据实际场景和重要程度来设计。

接着,在步骤220中,根据统计项的当前配置对终端中相关应用数据进行统计。

关于如何根据统计项的配置对终端中相关应用数据进行统计,可以采用本林业常用技术手段,在此不再详述。

最后,步骤230中,上传统计结果。

考虑到统计项存在对应优先级,因此,可以根据优先级实施灵活的数据发送策略,根据预先设置的数据发送策略进行统计结果的上传,来打消开发者对数据收集频率和数据消耗用户流量的担忧。例如,开发者可以自行配置数据的发送策略、发送间隔,并自定义发送网络环境。

为了及时上传重要的统计项的统计数据,可以采用分时上传的数据发送策略:实时上传优先级高于第一设定阈值的统计项的统计结果;以及非实时上传优先级低于或等于第一设定阈值的统计项的统计结果。其中,第一设定阈值由开发者根据经验进行设置。对于优先级低于或等于第一设定阈值的统计项,可以按照预设的发送间隔和网络环境来上传统计结果。

或者,可以按照优先级降序,选择出排序靠前的n个统计项;实时上传该n个统计项的统计结果;而非实时上传其他统计项的统计结果。其中n为自然数。

更优地,为了最大化利用资源,可以实时上传优先级高于第一设定阈值的统计项的统计结果,或实时上传优先级降序排列靠前的n个统计项的统计结果时,对非实时上传的统计项的统计结果进行打包压缩。其中,非实时上传的统计项是指优先级低于或等于第一设定阈值的统计项,或者除优先级降序排列靠前的n个统计项以外的统计项。

实际应用中,非实时上传的统计项可以按照统一的发送间隔来上传统计结果;或者,可以根据优先级设置不同的发送间隔。

对于优先级低于或等于第一设定阈值的统计项,或者除优先级降序排列靠前的n个统计项以外的统计项,可以预先配置与该统计项的优先级对应的上传周期,其中,优先级越高其所对应的上传周期越短。

为了便于描述,对于上传周期不等的两个非实时上传的统计项,优先级相对较高的统计项,可以简称为非实时的高优先级统计项;而优先级相对较低的统计项,可以简称为非实时的低优先级统计项。

考虑到非实时上传的统计项,在上传周期不同的情况下,非实时的高优先级统计项的上传周期小于非实时的低优先级统计项,所以很有可能会出现如下情形:非实时的高优先级统计项的上传周期到达的时间与非实时的低优先级统计项的上传周期的到达时间重合,或者到达时间的差值小于非实时的高优先级统计项的上传周期。

因此,为了最大化利用资源,步骤220中,可以在非实时的高优先级统计项的统计结果上传时,对齐非实时的低优先级统计项的统计结果上传。

具体地,非实时的高优先级统计项的上传周期到达时,查找出上传周期到达时间与非实时的高优先级统计项的到达时间相差小于或等于非实时的高优先级统计项的上传周期的非实时的低优先级统计项;将查找出的非实时的低优先级统计项的统计结果与非实时的高优先级统计项的统计结果一起上传发送。

例如,第一统计项的优先级高于第一设定阈值,第二统计项、第三统计项、第四统计项的优先级低于第一设定阈值,且优先级按照从高到低的排序为:第二统计项、第三统计项、第四统计项。第二统计项的上传周期为5分钟,第三统计项的上传周期为10分钟,第二统计项的上传周期为15分钟。

因此,在上传统计结果时,实时上传第一统计项的统计结果,并可以打包第二统计项、第三统计项、第四统计项的统计结果。若第二统计项的上传周期将在10:45到达,而第三统计项的上传周期将在10:50到达,第四统计项的上传周期将在10:45达到,那么在10:45到达时,上传第二统计项的统计结果时可以对齐上传第三统计项、第四统计项的统计结果,即同时上传第二统计项、第三统计项、第四统计项的统计结果。

从上面描述可以看出,在本申请的实施例中,针对适用范围窄、灵活性差的问题,提出了根据服务器下发的统计配置信息支持单一事件和含多个单一事件的流程的统计需求的统计方案。这样做不仅扩展了统计范围,而且还可以通过统计配置信息的变更,灵活设置终端中应用的统计项的配置,提高了终端应用数据统计的灵活性。

进一步参考图3,其示出了根据本申请一个实施例的针对终端中应用数据的统计系统300的示例性结构框图。

如图3所示,针对终端中应用数据的统计系统300可以包括:配置模块301、统计模块302、上传模块303。

其中,配置模块301配置用于根据服务器下发的统计配置信息对终端中应用的统计项进行配置;其中,终端中应用的统计项包括:单一事件和/或含多个单一事件的流程。

统计模块302配置用于根据统计项的当前配置对终端中相关应用数据进行统计.

上传模块303配置用于上传统计结果。

可选地,服务器下发的统计配置信息具体为:全量配置信息或增量配置信息。配置模块301配置用于根据增量配置信息对终端中关联的统计项进行相应配置的调整。其中,调整的配置包括如下至少一项:开关配置、优先级配置。

可选地,配置模块301还配置用于向服务器发送配置请求,以获取最新的统计配置信息,其中,配置请求包括用于识别终端当前的统计配置信息的校验消息。所述校验消息为md5值或者预先分配的版本标识。

统计项具体为流程时,配置模块301配置用于为流程分配对应的流对象;通过流对象完成如下至少一项操作:开始流程、结束流程、取消流程、向流程中增加事件。

为了统计过程中可以随意传送流对象,流程对应的流对象可以设置为内存可序列化。

可选地,上传模块303配置用于根据预先设置的数据发送策略进行统计结果的上传,以此打消开发者对数据收集频率和数据消耗用户流量的担忧。具体地,可以实时上传优先级高于第一设定阈值的统计项的统计结果;非实时上传优先级低于或等于第一设定阈值的统计项的统计结果。或者,可以按照优先级降序,选择出排序靠前的n个统计项;实时上传该n个统计项的统计结果;而非实时上传其他统计项的统计结果。其中n为自然数。

可选地,为了最大化利用资源,上传模块303还可以实时上传优先级高于第一设定阈值的统计项的统计结果,或实时上传优先级降序排列靠前的n个统计项的统计结果时,对非实时上传的统计项的统计结果进行打包压缩。

对于优先级低于或等于第一设定阈值的统计项,或者除优先级降序排列靠前的n个统计项以外的统计项,可以预先配置与该统计项的优先级对应的上传周期,其中,优先级越高其所对应的上传周期越短。

进一步地,上传模块303非实时的高优先级统计项的统计结果上传时,对齐非实时的低优先级统计项的统计结果上传。具体地,非实时的高优先级统计项的上传周期到达时,查找出上传周期到达时间与非实时的高优先级统计项的到达时间相差小于或等于非实时的高优先级统计项的上传周期的非实时的低优先级统计项;将查找出的非实时的低优先级统计项的统计结果与非实时的高优先级统计项的统计结果一起上传发送。

应当理解,针对终端中应用数据的统计系统300中记载的诸模块与图2描述的针对终端中应用数据的统计方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于系统300及其中包含的模块,在此不再赘述。

下面参考图4,其示出了适于用来实现本申请实施例的计算机系统400的结构示意图。

如图4所示,计算机系统400包括中央处理单元(cpu)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有系统400操作所需的各种程序和数据。cpu401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。

以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

特别地,根据本公开的实施例,上文参考图2描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图2所示的针对终端中应用数据的统计方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中。这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本申请还提供了一种存储有计算机程序的计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本申请的公式输入方法。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1