一种用于APP自身业务的统计系统及方法技术方案

技术编号:18289209 阅读:24 留言:0更新日期:2018-06-24 03:48
本发明专利技术公开了一种用于APP自身业务的统计系统及方法,统计系统包括统计业务库和统计引擎模块,统计业务库包括统计业务描述库、条件描述库、动作描述库和数据格式描述库,统计引擎模块包括装载解析器、识别网络和动作执行库;统计业务描述库映射到条件描述库、数据格式描述库和动作描述库;统计引擎模块根据统计业务库中的数据生成识别网络;装载解析器用于将统计业务库中的数据载入统计引擎模块;识别网络使用反射机制检测条件是否被触发,若被触发则进行条件匹配,条件匹配成功则动作执行库执行动作。本发明专利技术可有效降低或接触统计业务和APP自身业务之间的耦合,提高开发效率和降低维护成本,方便对统计业务进行统一管理。

【技术实现步骤摘要】
一种用于APP自身业务的统计系统及方法
本专利技术特别涉及一种用于APP自身业务的统计系统及方法。
技术介绍
对于APP自身业务而言,统计业务是指为了监控APP自身业务的运行状态,在APP自身业务运行到某个时刻时,采集当时APP自身业务的相关状态数据输出。传统的统计业务必须由开发人员硬编码到APP自身业务的代码中,造成统计业务和自身业务之间耦合,升级和部署APP自身业务必须同时维护耦合的统计业务,严重阻碍APP自身业务的开发、升级和维护;同时,统计业务的硬编码没有规律地散落在APP自身业务代码的各个地方,无法进行统一管理和维护。
技术实现思路
现有技术中,统计业务硬编码在APP自身业务的代码中,统计业务和APP自身业务紧密耦合,不利于APP自身业务的开发、升级和维护,无法对统计业务进行统一管理和维护。本专利技术的目的在于,针对上述现有技术的不足,提供一种用于APP自身业务的统计系统及方法,可有效降低或接触统计业务和APP自身业务之间的耦合,从而开发人员开发、升级或维护APP自身业务时,无需再同时维护统计业务,提高开发效率和降低维护成本,方便对统计业务进行统一管理。为解决上述技术问题,本专利技术所采用的技术方案是:一种用于APP自身业务的统计系统,其特点是包括统计业务库和统计引擎模块,统计业务库包括统计业务描述库、条件描述库、动作描述库和数据格式描述库,统计引擎模块包括装载解析器、识别网络和动作执行库;其中:统计业务库面向APP自身业务的切面编程;统计业务描述库通过业务描述的方式映射到条件描述库、数据格式描述库和动作描述库;条件描述库用于描述统计业务触发的条件;数据格式描述库用于配置采集数据输出的格式;动作描述库用于描述采集后数据输出的目标和方式;统计引擎模块为规则引擎,统计引擎模块根据装载解析器载入的统计业务库中的数据生成由条件和动作组成的识别网络;装载解析器用于将统计业务库中的数据载入统计引擎模块;识别网络使用反射机制检测识别网络中的条件是否被触发,若识别网络检测到条件被触发,则识别网络使用Rete算法进行条件匹配,如果条件匹配成功,则识别网络通知动作执行库执行与匹配条件相关联的动作;如果条件匹配不成功,则继续检测条件是否被触发;动作执行库用于在识别网络中的条件匹配成功时执行与匹配条件相关联的动作,与匹配条件相关联的动作包括根据数据格式描述库中配置的数据格式采集并输出数据。借由上述结构,本专利技术首先利用反射机制来检测APP自身业务运行的状态(切面),然后再执行统计业务。本专利技术将统计业务抽离APP自身业务,通过反射机制来触发统计业务,无需将统计业务硬编码到APP自身业务中,从而达到统计业务与APP自身业务解耦的目的,APP自身业务可独立升级和维护,开发人员开发、升级或维护APP自身业务时,无需再同时维护统计业务,提高开发效率和降低维护成本;同时,还可以把所有的统计业务集中到统计业务库中,方便统一维护和管理。进一步地,所述条件描述库使用谓词技术描述统计业务触发的条件。由于使用谓词技术描述统计业务触发的条件,从而各条件可以复用和组合,形成其他所需的触发条件,避免重复的条件描述冗余,降低系统复杂度,便于维护。进一步地,动作执行库根据数据格式描述库中配置的数据格式使用键值编码技术采集数据。由于采集数据时必须知道采集数据所属类型的定义,为避免统计业务因引用采集数据所属类型的定义而与该类型发生耦合、不利于后续维护和扩展,本专利技术使用键值编码机制,可动态地根据配置描述文件配置的instance和keypath来采集数据,避免引入具体类型的定义,使得统计业务与APP自身业务完全解耦。基于同一个专利技术构思,本专利技术还提供了一种利用所述的统计系统进行APP自身业务的统计方法,包括以下步骤:步骤A.将面向APP自身业务切面编程的统计业务描述库通过业务描述的方式映射到条件描述库、数据格式描述库和动作描述库;步骤B.装载解析器将统计业务库中的数据载入统计引擎模块;步骤C.统计引擎模块根据载入的统计业务库中的数据生成由条件和动作组成的识别网络;步骤D.识别网络使用反射机制检测识别网络中的条件是否被触发,若识别网络检测到条件被触发,则识别网络使用Rete算法进行条件匹配,如果条件匹配成功,则跳转至步骤E;如果条件匹配不成功,则循环执行步骤D;步骤E.识别网络通知动作执行库执行与匹配条件相关联的动作,动作执行库根据数据格式描述库中配置的数据格式采集并输出数据。进一步地,所述步骤D中,识别网络还使用谓词和键值编码技术检测识别网络中的条件是否被触发。进一步地,所述步骤E中,动作执行库根据数据格式描述库中配置的数据格式使用键值编码技术采集数据。与现有技术相比,本专利技术具有以下有益效果:第一,统计业务通过业务描述文件的方式来定义,修改和维护统计业务不需要再修改统计模块的代码,便于拓展。第二,统计业务通过动态装载业务描述文件的方式注册切面,避免了注册切面使用硬编码方式造成的代码冗余。第三,利用键值编码机制采集数据,避免在数据采集时需要知道类型定义而造成统计业务与APP自身业务耦合,将统计业务与APP自身业务完全解耦,提高开发效率、降低维护成本。第四,对触发条件、数据采集和数据输出进行细粒度配置,最大可能地复用这些配置,减少复杂统计业务的代码冗余。第五,统计业务统一在统计业务库中进行管理和维护,不会散落到APP自身业务代码中,方便对统计业务进行统一管理。附图说明图1为本专利技术统计系统结构框图。图2为统计业务库定义一实施例示意。图3为识别网络一实施例示意。其中,1为统计业务库,2为统计引擎模块,3为统计业务描述库,4为条件描述库,5为动作描述库,6为数据格式描述库,7为装载解析器,8为识别网络,9为动作执行库。具体实施方式本专利技术沿用了以下现有技术:反射:反射是一种计算机处理的方式,是程序可以访问、检测和修改它本身状态或行为的能力,它允许程序创建和修改任何类的对象,无需提前硬编码目标类。KVC:键值编码(keyedvaluecoding),是一种可以直接通过字符串(Key)来访问类对象属性值的机制,而无需知道类的定义。Rete算法:Rete算法是由c.L.Forgy在1979年设计专利技术,Rete是网络的意思,他将所有的规则最终解释(或编译)生成一个识别网络8,其中包含了alpha网络(规则网络),beta网络(执行动作网络),他根据外界输入快速识别是否存在条件成立,执行对应动作。谓词:通过字符串描述的表达式对输入的对象进行求值。AOP:面向切面编程,主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。关系数据库:关系数据库是建立在关系模型基础上的数据库,借助于集合袋鼠等数学概念和方法来处理数据库中的数据。关系模型:关系模型是指用二维表的形式表示实体和实体间联系数据模型。如图1至图3所示,本专利技术用于APP自身业务的统计系统包括统计业务库1和统计引擎模块2,统计业务库1包括统计业务描述库3、条件描述库4、动作描述库5和数据格式描述库6,统计引擎模块2包括装载解析器7、识别网络8和动作执行库9;其中:统计业务库1面向APP自身业务的切面编程,是一种基于关系模型的数据库。统计业务描述库3本文档来自技高网...
一种用于APP自身业务的统计系统及方法

【技术保护点】
1.一种用于APP自身业务的统计系统,其特征在于,包括统计业务库(1)和统计引擎模块(2),统计业务库(1)包括统计业务描述库(3)、条件描述库(4)、动作描述库(5)和数据格式描述库(6),统计引擎模块(2)包括装载解析器(7)、识别网络(8)和动作执行库(9);其中:统计业务库(1)面向APP自身业务的切面编程;统计业务描述库(3)通过业务描述的方式映射到条件描述库(4)、数据格式描述库(6)和动作描述库(5);条件描述库(4)用于描述统计业务触发的条件;数据格式描述库(6)用于配置采集数据输出的格式;动作描述库(5)用于描述采集后数据输出的目标和方式;统计引擎模块(2)为规则引擎,统计引擎模块(2)根据装载解析器(7)载入的统计业务库(1)中的数据生成由条件和动作组成的识别网络(8);装载解析器(7)用于将统计业务库(1)中的数据载入统计引擎模块(2);识别网络(8)使用反射机制检测识别网络(8)中的条件是否被触发,若识别网络(8)检测到条件被触发,则识别网络(8)使用Rete算法进行条件匹配,如果条件匹配成功,则识别网络(8)通知动作执行库(9)执行与匹配条件相关联的动作;如果条件匹配不成功,则继续检测条件是否被触发;动作执行库(9)用于在识别网络(8)中的条件匹配成功时执行与匹配条件相关联的动作,与匹配条件相关联的动作包括根据数据格式描述库(6)中配置的数据格式采集并输出数据。...

【技术特征摘要】
1.一种用于APP自身业务的统计系统,其特征在于,包括统计业务库(1)和统计引擎模块(2),统计业务库(1)包括统计业务描述库(3)、条件描述库(4)、动作描述库(5)和数据格式描述库(6),统计引擎模块(2)包括装载解析器(7)、识别网络(8)和动作执行库(9);其中:统计业务库(1)面向APP自身业务的切面编程;统计业务描述库(3)通过业务描述的方式映射到条件描述库(4)、数据格式描述库(6)和动作描述库(5);条件描述库(4)用于描述统计业务触发的条件;数据格式描述库(6)用于配置采集数据输出的格式;动作描述库(5)用于描述采集后数据输出的目标和方式;统计引擎模块(2)为规则引擎,统计引擎模块(2)根据装载解析器(7)载入的统计业务库(1)中的数据生成由条件和动作组成的识别网络(8);装载解析器(7)用于将统计业务库(1)中的数据载入统计引擎模块(2);识别网络(8)使用反射机制检测识别网络(8)中的条件是否被触发,若识别网络(8)检测到条件被触发,则识别网络(8)使用Rete算法进行条件匹配,如果条件匹配成功,则识别网络(8)通知动作执行库(9)执行与匹配条件相关联的动作;如果条件匹配不成功,则继续检测条件是否被触发;动作执行库(9)用于在识别网络(8)中的条件匹配成功时执行与匹配条件相关联的动作,与匹配条件相关联的动作包括根据数据格式描述库(6)中配置的数据格式采集并输出数据。2.如权利要求1所述的用于APP自身业务的统计系统,其特征在于,所述条件描述库...

【专利技术属性】
技术研发人员:颜昀车勇子
申请(专利权)人:湖南快乐阳光互动娱乐传媒有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1