一种数据统计方法及系统与流程

文档序号:12469445阅读:566来源:国知局
一种数据统计方法及系统与流程

本发明涉及计算机应用技术领域,尤其涉及一种数据统计方法及系统。



背景技术:

可通过埋点获取用户数据,对数据进行统计,进而分析用户的喜好,改善应用。在保证移动端流量不会受较大影响的前提下,产品经理们总是希望埋点覆盖面越广越好。目前常规的做法是将埋点代码封装成工具类,但凡工程中需要埋点(如点击事件、页面跳转)的地方都插入埋点代码。如,为了统计某个按钮控件的点击次数,在该按钮对应的执行代码后插入埋点代码,所述埋点代码用于统计该按钮控件的点击次数。但是,一旦项目越来越复杂,埋点的代码散落在程序的各个角落,不利于维护以及复用。



技术实现要素:

本发明所要解决的技术问题是:提供一种数据统计方法及系统,实现可复用,低耦合,易维护的数据统计方法。

为了解决上述技术问题,本发明采用的技术方案为:

本发明提供一种数据统计方法,包括步骤:

预设第一点击方法用于识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用;

将点击触发的系统点击方法替换为第一点击方法;所述系统点击方法用于调用与所述点击事件相对应的函数。

本发明提供一种数据统计系统,包括:

预设模块,用于预设第一点击方法用于识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用;

替换模块,用于将点击触发的系统点击方法替换为第一点击方法;所述系统点击方法用于调用与所述点击事件相对应的函数。

上述的数据统计方法及系统,其有益效果在于:通过将系统点击方法替换为可识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用的第一点击方法,实现了可使用通用的方法进行埋点获取用户数据并对数据进行统计,从而实现可复用并且低耦合的数据统计方法,从而提高了程序代码的可维护性。

附图说明

图1为本发明一种数据统计方法的流程框图;

图2为本发明一种数据统计系统的结构框图;

标号说明:

1、预设模块;2、替换模块;

21、第一获取模块;22、第二获取模块;23、地址调换模块。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:通过将系统点击方法替换为可识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用的第一点击方法,实现了可使用通用的方法进行埋点获取用户数据并对数据进行统计。

请参照图1及图2:

如图1所示,本发明提供一种数据统计方法,包括步骤:

预设第一点击方法用于识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用;

将点击触发的系统点击方法替换为第一点击方法;所述系统点击方法用于调用与所述点击事件相对应的函数。

进一步地,所述第一点击方法包括:

识别方法、执行方法和统计方法;

所述识别方法用于识别点击事件;

所述执行方法用于调用并执行与点击事件相对应的函数;

所述统计方法用于统计各个点击事件的操作次数。

由上述描述可知,所述第一点击方法可识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用。

进一步地,将点击触发的系统点击方法替换为第一点击方法具体为:

获取与系统点击方法相对应的系统点击对象;

获取与第一点击方法相对应的第一点击对象;

调换所述系统点击对象和所述第一点击对象的地址。

由上述描述可知,将点击触发的系统点击方法替换为第一点击方法可使用户点击按钮控件时触发第一点击方法。

进一步地,所述识别方法具体为:

获取与按钮控件对应的方法名;

根据所述方法名,得到点击事件所属模块名称;

获取与按钮控件对应的标签;

根据所述模块名称和所述标签,得到点击事件对应的功能名称。

由上述描述可知,通过上述识别方法可识别出点击事件。

进一步地,所述执行方法具体为:

调用与点击事件相对应的函数;

执行所述函数。

由上述描述可知,通过上述执行方法可执行与点击事件相对应的函数。

进一步地,所述统计方法具体为:

上传点击事件对应的ID;

统计所述ID对应的点击事件的操作次数。

上述统计所述ID对应的点击事件的操作次数,有两种实现方式,

第一实现方式:获取点击事件对应的ID;将所述ID对应的总数加1。

第二实现方式:获取并存储点击事件对应的ID;统计所述ID对应的个数。

由上述描述可知,通过上述统计方法可统计用户对按钮控件的点击操作次数。

如图2所示,本发明提供一种数据统计系统,包括:

预设模块1,用于预设第一点击方法用于识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用;

替换模块2,用于将点击触发的系统点击方法替换为第一点击方法;所述系统点击方法用于调用与所述点击事件相对应的函数。

进一步地,所述替换模块包括:

第一获取模块21,用于获取与系统点击方法相对应的系统点击对象;

第二获取模块22,用于获取与第一点击方法相对应的第一点击对象;

地址调换模块23,用于调换所述系统点击对象和所述第一点击对象的地址。

由上述描述可知,通过调换第一点击方法和系统点击方法的地址,可实现用户点击按钮控件时触发执行第一点击方法。

本发明的实施例一为:

现有技术中用于统计某个按钮控件的点击次数方法为:点击触发系统点击方法,系统点击方法用于调用与所述点击事件相对应的函数;当执行完点击事件相对应的函数后,对该按钮控件的点击操作次数进行统计。本发明用于统计某个按钮控件的点击次数方法为:预设第一点击方法用于识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用;将点击触发的系统点击方法替换为第一点击方法;当用户点击按钮控件时,触发第一点击方法,第一点击方法识别出用户所点击的按钮控件对应的点击事件,记录所述点击事件的名称并上传至服务器,服务器统计按钮控件的点击次数,第一点击方法调用与所述点击事件相对应的函数。

基于iOS操作系统的实施例为:

重写按钮类的load方法,具体为:根据iOS操作系统的按钮控件点击函数sendAction:to:forEvent,自定义一个点击函数swiz_sendAction:to:forEvent,用于识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用,且该函数的参数与系统的按钮控件点击函数相同;使用iOS操作系统的函数class_getInstanceMethod获得函数sendAction:to:forEvent和函数swiz_sendAction:to:forEvent的Method对象methodSend,methodSwizSend;使用iOS操作系统的函数class_replaceMethod或函数method_exchangeImplementations对methodSend和methodSwizSend进行函数调换。

当用户点击某个按钮控件时,触发按钮类的load方法,load方法将系统的按钮控件点击函数与自定义的点击函数调换。因此,用户点击某个按钮控件后执行的是自定义的点击函数,执行过程具体为:通过iOS操作系统的函数NSStringFromSelector获取动作的方法名actionName,得到点击事件所属模块,如,学科工具模块的actionName是subjectClick,计算器模块的actionName为calc;获取iOS操作系统的UIControl的tag字段,得到点击事件在所述模块中的具体功能,如,学科工具的子功能植树工具的tag为0214,摸球功能的tag为0220;识别出点击事件后,从代码库中调取相应的函数并执行;将点击事件的ID通过http协议上传至点击操作统计系统,其中点击事件的ID是根据actionName和tag确定的,是和点击操作统计系统约定好的值;点击操作统计系统获取点击事件的ID,并将所述ID对应的总数加1,得到当前该按钮控件的用户操作次数。

综上所述,本发明提供一种数据统计方法及系统,通过将系统点击方法替换为可识别各个点击事件并调用与点击事件相对应的函数,记录所述点击事件被调用的第一点击方法,实现了可使用通用的方法进行埋点获取用户数据并对数据进行统计,从而实现可复用并且低耦合的数据统计方法,从而提高了程序代码的可维护性;进一步地,通过获取按钮控件对应的方法名和标签,识别出点击事件;进一步地,通过获取并统计点击事件对应的ID,得到点击事件的操作次数。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

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