一种基于云平台的客户端应用的信息统计方法和装置与流程

文档序号:11230449阅读:399来源:国知局
一种基于云平台的客户端应用的信息统计方法和装置与流程

本申请涉及云平台技术领域,特别是涉及一种基于云平台的客户端应用的信息方法和一种基于云平台的客户端应用的信息统计装置。



背景技术:

目前,对客户端应用进行信息统计的技术方案,通常采用类方法的注解或者通过配置文件的方式声明面向切面编程(aspectorientedprogramming,aop)拦截。具体流程图如图1所示,客户端应用通过需要通过注解或者通过spring(一个开源框架)的aop配置文件配置代理,由代理对客户端应用的执行方法进行拦截,访问到某个配置为被拦截的执行方法后,记录访问到的执行方法,将拦截到执行方法的次数进行汇总。

现有的通过代理拦截的方式收集客户端应用的信息,代理拦截的对象是预先针对某种场景定制的,无法根据实际需求进行调整。并且,代理拦截只能拦截客户端应用的执行方法,对于与执行方法相关的参数或者数据无法拦截得到,这种情况下对代理拦截得到的拦截结果无法进一步利用,代理拦截结果的利用转化率不高。



技术实现要素:

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于云平台的客户端应用的信息统计方法和相应的一种基于云平台的客户端应用的信息统计装置。

为了解决上述问题,本申请公开了一种基于云平台的客户端应用的信息统计方法,包括:

监听各个客户端应用调用埋点软件开发工具包创建的埋点日志,并从所述埋点日志中提取出埋点信息,所述埋点日志根据预先定义的埋点属性创建,所述客户端应用通过调用所述埋点软件开发工具包的应用编程接口预先定义所述埋点属性;

按照至少一个维度对所述埋点信息进行聚合;

根据查询请求查询并展示聚合后的埋点信息。

优选地,所述埋点属性包括所述埋点信息的埋点类别和/或埋点关键字,所述埋点类别包括所述埋点信息所属埋点父类别或埋点子类别。

优选地,所述监听各个客户端应用调用埋点软件开发工具包创建的埋点日志包括:

监听所述埋点日志的目录和/或所述埋点信息的变化状态;

若所述目录和/或所述埋点信息发生变化,则确定所述埋点日志中新增埋点信息。

优选地,所述从所述埋点日志中提取出埋点信息包括:

从所述埋点日志中以增量方式提取出埋点信息。

优选地,在从所述埋点日志中提取出埋点信息之后,所述方法还包括:

将所述埋点信息发送至消息中间件,所述消息中间件用于传输所述埋点信息,并控制传输速度;

在所述按照至少一个维度对所述埋点信息进行聚合之前,所述方法还包括:

从所述消息中间件读取出所述埋点信息。

优选地,在所述按照至少一个维度对所述埋点信息进行聚合之前,所述方法还包括:

筛选与所述埋点属性对应的埋点信息。

优选地,所述按照至少一个维度对所述埋点信息进行聚合包括:

按照应用维度和/或时间维度对所述埋点信息进行聚合。

优选地,所述查询请求携带通过查询接口输入的查询参数;

所述根据查询请求查询并展示聚合后的埋点信息包括:

根据所述查询参数查询并展示聚合后的埋点信息;所述查询参数包括时间段、所述埋点属性和所述客户端应用的应用标识中至少一种。

本申请还公开了一种基于云平台的客户端应用的信息统计装置,包括:

埋点日志监听模块,用于监听各个客户端应用调用埋点软件开发工具 包创建的埋点日志;

埋点信息提取模块,用于从所述埋点日志中提取出埋点信息,所述埋点日志根据预先定义的埋点属性创建,所述客户端应用通过调用所述埋点软件开发工具包的应用编程接口预先定义所述埋点属性;

埋点信息聚合模块,用于按照至少一个维度对所述埋点信息进行聚合;

埋点信息展示模块,用于根据查询请求查询并展示聚合后的埋点信息。

优选地,所述埋点属性包括所述埋点信息的埋点类别和/或埋点关键字,所述埋点类别包括所述埋点信息所属埋点父类别或埋点子类别。

优选地,所述埋点日志监听模块,具体用于监听所述埋点日志的目录和/或所述埋点信息的变化状态;若所述目录和/或所述埋点信息发生变化,则确定所述埋点日志中新增埋点信息。

优选地,所述埋点信息读取模块,具体用于从所述埋点日志中以增量方式读取出埋点信息。

优选地,所述装置还包括:

埋点信息发送模块,用于在所述从所述埋点日志中提取出埋点信息之后,将所述埋点信息发送至消息中间件,所述消息中间件用于传输所述埋点信息,并控制传输速度;

所述装置还包括:

埋点信息提取模块,用于在所述按照至少一个维度对所述埋点信息进行聚合之前,从所述消息中间件读取出所述埋点信息。

优选地,所述装置还包括:

埋点信息筛选模块,用于在所述按照至少一个维度对所述埋点信息进行聚合之前,筛选与所述埋点属性对应的埋点信息。

优选地,所述埋点信息聚合模块,具体用于按照应用维度和/或时间维度对所述埋点信息进行聚合。

优选地,所述查询请求携带通过查询接口输入的查询参数;

所述埋点信息展示模块,具体用于根据所述查询参数查询并聚合后的埋点信息;所述查询参数包括时间段、所述埋点属性和所述客户端应用的应用 标识中至少一种。

本申请实施例包括以下优点:

本申请实施例基于云平台,对客户端应用调用埋点软件开发工具包(softwaredevelopmentkit,sdk)中的应用编程接口(applicationprogramminginterface,api)所创建的埋点日志进行监听,从埋点日志中读取出埋点信息,并针对用户的查询请求查询并展示按照不同的维度聚合后的埋点信息进行查询并展示。本申请实施例可以通过sdk埋点中的api自定义埋点,由于支持不同应用场景下根据用户需求自定义收集客户端应用相关数据,扩大了针对客户端应用的信息收集范围,并提高了收集结果的利用转化率;而且,对从埋点日志中读取出的埋点信息按不同维度进行聚合,实现了对客户端应用的收集结果进行分类统计。

附图说明

图1是背景技术中客户端应用的信息统计流程示意图;

图2是本申请的一种基于云平台的客户端应用的信息统计方法实施例的步骤流程图;

图3是本申请的一种基于云平台的客户端应用的信息统计方法实施例中logagent的结构示意图;

图4是本申请的一种基于云平台的客户端应用的信息统计方法实施例中聚合系统的结构示意图;

图5是本申请的一种基于云平台的客户端应用的信息统计方法实施例中消息中间件、jstorm和聚合系统之间的关系示意图;

图6是本申请的另一种基于云平台的客户端应用的信息统计方法实施例的步骤流程图;

图7是本申请的一种基于云平台的客户端应用的信息统计方法实施例的系统结构逻辑示意图;

图8是本申请的一种基于云平台的客户端应用的信息统计装置实施例的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

本申请实施例的核心构思之一在于,提供一种基于云平台的客户端应用的信息统计方法,可以应用于服务器端,服务器端提供埋点sdk,客户端应用调用埋点sdk中的api自定义埋点,服务器端对埋点日志进行系统化监听,通过智能代理收集并自动、实时的聚合埋点日志中的消息,并对聚合结果进行查询和展示,实现对客户端应用的信息收集和统计。

参照图2,示出了本申请的一种基于云平台的客户端应用的信息统计方法实施例的步骤流程图,具体可以包括如下步骤:

步骤100,监听各个客户端应用调用埋点软件开发工具包创建的埋点日志,并从所述埋点日志中提取出埋点信息,所述埋点日志根据预先定义的埋点属性创建,所述客户端应用通过调用所述埋点软件开发工具包的应用编程接口预先定义所述埋点属性。

埋点软件开发工具包sdk由服务器端提供给客户端应用,由埋点软件开发工具包生成埋点日志,埋点日志是一种特定的日志文件,用于记录采集的埋点信息。具体而言,在埋点软件开发工具包自定义埋点属性,通过自定义埋点属性,由埋点软件开发工具包将客户端应用运行过程中的每一条与上述自定义的埋点属性相关的埋点消息存储到埋点日志中。

其中,埋点属性可以在埋点软件开发工具包预先定义或是通过客户端应用自定义。例如,埋点sdk可以以jar包的方式提供给客户端应用使用,对于java客户端应用,java客户端应用需要依赖埋点sdk的jar包自定义埋点。具体的,客户端应用可以通过访问埋点sdk中提供的应用编程接口api,配置用于创建埋点日志的埋点属性,以根据埋点属性采集的埋点信息,由于支持不同应用场景下根据用户需求自定义收集客户端应用相关数据,扩大了针对客户端应用的信息收集范围,并提高了收集结果的利用转化率。

具体实现中,还可以预先通过sdk定义埋点日志的名称、存储路径等信息。

其中,所述埋点属性可以包括所述埋点类别、埋点关键字中至少一种。

所述埋点属性可以包括埋点类别,例如在云平台中部署的客户端应用如果想进行压力测试,用户想知道在应用维度下整个云平台系统的压力情况,可以通过自定义埋点类别为用户查询,可以根据埋点类别获取记录的各次用户查询,以进一步根据各次用户查询统计出云平台系统的最大qps(每秒查询率)。

对所述埋点类别还可以进行分级,包括将所述埋点类别分为所述埋点信息所属埋点父类别(category)或埋点子类别(subcategory),也就是通过对埋点类别定义父与子的关系,实现对获取的埋点信息的分类统计。例如,需要对一个客户端应用的对数据库调用的多种执行方法进行分析,则可以对该数据库调用定义埋点父类别,对具体的各种执行方法定义埋点子类别。

埋点属性可以包括埋点关键字,通过客户端应用定义所需收集的埋点关键字,进一步获取与埋点关键字相关的埋点信息。例如,对客户端应用的多个运行参数进行分析,则可以通过分别定义sdk埋点的埋点关键字,以区分各个运行参数。埋点关键字可以与埋点类别结合定义,例如,一个客户端应用部署在云环境中的10台虚拟机上,可以通过定义sdk埋点的埋点关键字,区分出每台虚拟机的cpu(中央处理器)、memory(内存)、disk(硬盘)等运行参数。具体的,对每台虚拟机定义埋点类别,对各台虚拟机的运行参数定义在该埋点类别下的埋点关键字。

所述埋点属性还可以包括对目标对象的调用耗时和调用成功标识等,分别用于表示客户端应用的某个目标对象(例如某个执行方法)的调用耗时,,以及该目标对象是否成功调用。以将调用耗时和调用是否成功等信息记录入埋点日志中,供分析使用。

具体而言,api接口的名称为logstat,可以对埋点类别、埋点子类别、埋点关键字、调用耗时、调用是否成功中至少一种进行定义。当对埋点类别和埋点子类别进行定义时,埋点sdk记录本次结果为logstat(stringcategory,subcategory);当对埋点类别、埋点子类别和调用耗时进行定义时,埋点sdk 记录本次结果为logstat(stringcategory,subcategory,longresponsetime);当对埋点类别、埋点关键字、调用耗时和调用是否成功进行定义时,埋点sdk记录本次结果为logstat(stringcategory,stringkeyword,longresponsetime,booleansuccess)。

以对执行方法的相关参数进行收集为例进行具体说明。假设sdk提供的api接口的具体类为monitorservice,api接口的名称为monitorservicelogstat,客户端应用中存在对mysql数据库的操作,方法名分别为insertmethod方法和updatemethod方法。现需要统计这两个方法在应用运行中每分钟调用的次数,那么在使用埋点sdk记录方法被调用一次时,假设父类别(category)设为mysql,子类别(subcategory)分别定义为insert和update。对于insertmethod方法的埋点,举例如下:

在不需要记录方法调用耗时的情况下,埋点sdk记录本次结果为monitorservice.logstat(”mysql”,”insert”)。

如需要记录insertmethod方法执行耗时,则用记录的insertmethod方法的结束时间减去开始时间就是insertmethod方法的执行时间,假设为10毫秒,则埋点sdk记录的结果为monitorservice.logstat(”mysql”,”insert”,”10”)。

如需记录调用是否成功,则记录结果为monitorservice.logstat(”mysql”,”insert”,”10”,”true”)表示调用成功,monitorservice.logstat(”mysql”,”insert”,”10”,”false”)表示调用失败。对于updatemethod的埋点同理使用。

监听埋点日志可以是监听埋点日志的变化,以发现新增的埋点信息。针对具备日志目录的埋点日志,可以监听埋点日志目录的变化,当目录发生变化时确定新增了埋点信息,或是监听埋点信息的变化,当埋点信息发生变化时确定新增了埋点信息,或是结合两种方式进行监听。

所述步骤100可以利用logagent(日志代理)对埋点日志进行监听,logagent用于监听埋点日志,具体可以划分为如下几个模块:pathwatch(目录监听),用于监听埋点日志的目录变化;filewatch(文件监听),用于监听 埋点日志的埋点信息变化;watchchecker(监听限制),用于对监听埋点日志中的埋点信息的数量做限制;logseeker(日志探索),用于实现增量读取埋点日志中的埋点信息。应用到本申请,利用logagent对埋点日志进行监听,具体可以通过pathwatch监听埋点日志的目录变化状态,若目录变化,则表示埋点日志中新增埋点信息。对埋点日志的监听,不仅包括对埋点日志的目录的监听,还包括在pathwatch监听埋点日志的目录变化状态的基础上,进一步通过filewatch对埋点日志中埋点信息的监听,并且,监听过程中还可以利用watchchecker对监听的埋点信息的数量进行限制,在通过filewatch监听到埋点日志中的埋点信息变化后,利用logseeker实现增量的方式读取埋点信息,logagent的结构示意图如图3所示。

所述步骤100中从埋点日志中读取出埋点信息,具体可以从埋点日志中以增量方式读取出埋点信息。例如,埋点日志为xx.log文件,其中的每条埋点信息以段为单位顺序排列,埋点日志中每增加一段内容,则认为增加一条埋点信息,在读取埋点信息时,忽略已读取的埋点信息,仅读取新增的埋点信息,由于无需读取整个埋点日志,可以减少处理的数据量。

在本申请的一个优选的实施例中,在所述步骤100从埋点日志读取埋点信息之后,还可以将读取出的埋点信息发送至消息中间件。所述消息中间件可以为metaq(队列模型消息中间件)或者kafka(分布式发布订阅消息系统),所述消息中间件用于传输埋点信息,同时利用消息中间件的消息堆积功能,控制埋点信息的传输速度。相应的,在对埋点信息进行处理之前,需要先从消息中间件提取出埋点信息。

步骤102,按照至少一个维度对所述埋点信息进行聚合。

在得到埋点信息之后,可以按照从至少一个维度分别对埋点信息进行聚合,实现了对客户端应用的收集结果进行分类统计。例如,从应用维度和时间维度进行聚合,最终提供最小粒度为1分钟的某客户端应用的聚合信息,即属于某客户端应用的时间维度的最小单位为1分钟的聚合信息。

可以预先在服务器端部署的一套用于聚合埋点日志中的埋点信息的聚合系统,对埋点信息的聚合操作可以在聚合系统中执行,聚合系统的结构如 图4所示。在聚合系统中可以利用数据接收器接收聚合信息;利用数据分析器分析聚合信息,并存入数据库;数据库用于存储经过分析的聚合信息据,还可以提供数据查询接口,用于查询聚合信息。采用聚合系统进行数据聚合处理可以保证数据处理的实时性和准确性。

其中,按照时间维度对埋点信息进行聚合,具体可以根据埋点信息对应的时间点或时间段,将属于相同时间点或者相同时间段的多条埋点信息聚合在一起,作为该相同时间点或相同时间段内的聚合信息;按照应用维度对埋点信息进行聚合,具体可以根据埋点信息对应的客户端应用的标识,将属于相同客户端应用的多条埋点信息聚合在一起,作为该相同客户端应用的聚合信息。其中,多条埋点信息可以为同一客户端应用的埋点信息,也可以为不同客户端应用的埋点信息。

由于埋点日志中除了实际有用的埋点信息之外,还包括一些冗余的信息。因此,在本申请的一个优选的实施例中,在所述步骤102之前,还可以对读取出的埋点信息进行清洗和过滤。通过清洗删除一些无意义的字符或是标记,例如分隔符等,通过过滤可以从剩余的信息中提取出有用的埋点信息,具体的,可以根据埋点属性中的埋点类别和埋点关键字中至少一种进行筛选。

具体的,可以利用实时计算框架读取出埋点信息以及对埋点信息的清洗和过滤。例如可以采用jstorm实时计算框架,利用jstorm提取出与埋点属性对应的埋点信息。jstorm是参考storm的实时流式计算框架,在网络输入输出、线程模型、资源调度、可用性及稳定性上做了持续改进,相比于storm具有运行更稳定、调度功能更强大、执行效率更高等优点。如图5所示,示出了消息中间件、jstorm和聚合系统之间的关系示意图,jstorm从消息中间件获取埋点信息,在jstorm中经过spout(喷射)进行清洗,通过bolt(筛选)进行过滤,将清洗和过滤后的与埋点关键字对应的埋点信息发送至聚合系统。

步骤104,根据查询请求查询并展示聚合后的埋点信息。

执行本申请的服务端可以提供给用户查询埋点信息的接口,具体的可以 由上述聚合系统提供接口。用户可以通过访问该接口发送对埋点信息的查询请求,服务端接收到该查询请求后,查询所需的埋点信息并展示给用户。

具体而言,用户可以通过访问该接口输入表征所需信息的查询参数,服务端接收到的查询请求携带查询参数,进一步根据查询参数查询对应的埋点信息。查询参数可以包括时间段、所述埋点属性和所述客户端应用的应用标识中至少一种,以查询参数包括时间段、埋点属性和应用标识为例,根据查询参数在聚合系统中可以查询到某个时间段内某个应用的某个关键字的埋点信息。查询结果可以以图表、文档、走势图等各种形式进行展示。例如,针对按照时间维度聚合的埋点信息,可以生成可视化曲线图,并根据实时获取的新的埋点数据对曲线图进行更新。

综上所述,本申请实施例中的技术方案,对客户端应用调用埋点sdk中的api所创建的埋点日志进行监听,从埋点日志中读取出埋点信息,并针对用户的查询请求查询并展示按照不同的维度聚合后的埋点信息进行查询并展示。本申请实施例可以通过sdk埋点中的api自定义埋点,由于支持不同应用场景下根据用户需求自定义收集客户端应用相关数据,扩大了针对客户端应用的信息收集范围,并提高了收集结果的利用转化率;而且,对从埋点日志中读取出的埋点信息按不同维度进行聚合,实现了对客户端应用的收集结果进行分类统计。同时,利用消息中间件传输埋点信息,并控制传输速度,可以缓解聚合系统的压力。

参照图6,示出了本申请的另一种基于云平台的客户端应用的信息统计方法实施例的步骤流程图,具体可以包括如下步骤:

步骤200,客户端应用调用服务器端提供的埋点sdk自定义埋点。

步骤202,埋点sdk创建埋点日志。

步骤204,logagent监听埋点日志,并以增量方式读取埋点日志中的埋点信息,并将埋点信息发送至消息中间件。

步骤206,jstorm从消息中间件中读取出埋点信息,并对埋点信息进行实时计算,将计算后的埋点信息发送给至聚合系统。

步骤208,聚合系统按照应用维度和/或时间维度对埋点信息进行聚合。

步骤210,服务端根据查询请求查询并展示聚合后的埋点信息。

综上所述,本申请实施例中的客户端应用可以通过sdk埋点中的api自定义埋点,由于支持不同应用场景下根据用户需求自定义收集客户端应用相关数据,扩大了针对客户端应用的信息收集范围,并提高了收集结果的利用转化率;而且,对从埋点日志中读取出的埋点信息按不同维度进行聚合,实现了对客户端应用的收集结果进行分类统计。

参照图7,示出了本申请的一种基于云平台的客户端应用的信息统计方法实施例的系统结构逻辑示意图,客户端应用调用埋点sdk中的api自定义埋点,创建埋点日志;logagent读取出埋点日志中的埋点信息,并发送至消息中间件,jstorm实时从消息中间件读取出埋点信息,并进行清洗和过滤,将清洗和过滤后的埋点信息发送至聚合系统;聚合系统对接收到的埋点信息按照至少一个维度进行聚合,并对外提供数据查询功能和数据展示功能。

综上所述,本申请实施例中的技术方案,对客户端应用调用埋点sdk中的api所创建的埋点日志进行监听,从埋点日志中读取出埋点信息,并针对用户的查询请求查询并展示按照不同的维度聚合后的埋点信息进行查询并展示。本申请实施例可以通过sdk埋点中的api自定义埋点,由于支持不同应用场景下根据用户需求自定义收集客户端应用相关数据,扩大了针对客户端应用的信息收集范围,并提高了收集结果的利用转化率;而且,对从埋点日志中读取出的埋点信息按不同维度进行聚合,实现了对客户端应用的收集结果进行分类统计。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。

参照图8,示出了本申请的一种基于云平台的客户端应用的信息统计装置实施例的结构框图,具体可以包括如下模块:

埋点日志监听模块800,用于监听各个客户端应用调用埋点软件开发工具包创建的埋点日志;

埋点信息提取模块802,用于从所述埋点日志中提取出埋点信息,所述埋点日志根据预先定义的埋点属性创建,所述客户端应用通过调用所述埋点软件开发工具包的应用编程接口预先定义所述埋点属性;

埋点信息聚合模块804,用于按照至少一个维度对所述埋点信息进行聚合;

埋点信息展示模块806,用于根据查询请求查询并展示聚合后的埋点信息。

本申请实施例中,优选地,所述埋点属性包括所述埋点信息的埋点类别和/或埋点关键字,所述埋点类别包括所述埋点信息所属埋点父类别或埋点子类别。

本申请实施例中,优选地,所述埋点日志监听模块,具体用于监听所述埋点日志的目录和/或所述埋点信息的变化状态;若所述目录和/或所述埋点信息发生变化,则确定所述埋点日志中新增埋点信息。

本申请实施例中,优选地,所述埋点信息读取模块,具体用于从所述埋点日志中以增量方式读取出埋点信息。

本申请实施例中,优选地,所述装置还包括:

埋点信息发送模块,用于在所述从所述埋点日志中提取出埋点信息之后,将所述埋点信息发送至消息中间件,所述消息中间件用于传输所述埋点信息,并控制传输速度;

所述装置还包括:

埋点信息提取模块,用于在所述按照至少一个维度对所述埋点信息进行聚合之前,从所述消息中间件读取出所述埋点信息。

本申请实施例中,优选地,所述装置还包括:

埋点信息筛选模块,用于在所述按照至少一个维度对所述埋点信息进行 聚合之前,筛选与所述埋点属性对应的埋点信息。

本申请实施例中,优选地,所述埋点信息聚合模块,具体用于按照应用维度和/或时间维度对所述埋点信息进行聚合。

本申请实施例中,优选地,所述查询请求携带通过查询接口输入的查询参数;

所述埋点信息展示模块,具体用于根据所述查询参数查询并聚合后的埋点信息;所述查询参数包括时间段、所述埋点属性和所述客户端应用的应用标识中至少一种。

综上所述,本申请实施例中的技术方案,对客户端应用调用埋点sdk中的api所创建的埋点日志进行监听,从埋点日志中读取出埋点信息,并针对用户的查询请求查询并展示按照不同的维度聚合后的埋点信息进行查询并展示。本申请实施例可以通过sdk埋点中的api自定义埋点,由于支持不同应用场景下根据用户需求自定义收集客户端应用相关数据,扩大了针对客户端应用的信息收集范围,并提高了收集结果的利用转化率;而且,对从埋点日志中读取出的埋点信息按不同维度进行聚合,实现了对客户端应用的收集结果进行分类统计。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

在一个典型的配置中,所述计算机设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设 备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种基于云平台的客户端应用的信息统计方法和一种基于云平台的客户端应用的信息统计装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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