CN109992618A - 一种基于web访问日志提取转化为业务数据的方法 - Google Patents
一种基于web访问日志提取转化为业务数据的方法 Download PDFInfo
- Publication number
- CN109992618A CN109992618A CN201910230650.8A CN201910230650A CN109992618A CN 109992618 A CN109992618 A CN 109992618A CN 201910230650 A CN201910230650 A CN 201910230650A CN 109992618 A CN109992618 A CN 109992618A
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- business
- web access
- access log
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种基于web访问日志提取转化为业务数据的方法,该发明是业务系统通过Spring切面技术收集web访问日志,然后再经过系统设置好的数据过滤规则和数据提取规则对数据进行实时处理后,按照系统设置的存储规则持久化业务数据的一种方法。本发明通过实时分析web访问日志,不需要通过业务代码的实现获取业务数据,而是通过过滤处理web访问日志后生对应的业务数据,提升系统业务灵活度。
Description
技术领域
本发明涉及一种基于web访问日志提取转化为业务数据的方法,属于电子信息技术领域。
背景技术
在微服务应用服务大行其道的环境下,仍然有很多应用环境需要单应用或多个组合应用支撑着相关的应用场景,这种应用场景一般都是业务比较简单或者比较单一,不需要微服务应用服务架构来支撑,但是这一类应用通常都是来一个需求开发一个需求,通过业务代码收集转换业务数据。普遍存在一个问题就是当系统已上线后无法再次添加业务数据来源,业务实现不够灵活。
发明内容
本发明提供一种基于web访问日志提取转化为业务数据的方法,该方法通过灵活可配置的业务规则从日志中提取有用的业务数据。
为实现上述目的,本发明采用如下技术方案:
一种基于web访问日志提取转化为业务数据的方法,包括如下步骤:
步骤1:根据业务场景设置若干个业务规则,所述业务规则包括数据过滤规则、数据提取规则和数据存储规则;
步骤2:获取web访问日志;
步骤3:将web访问日志依次通过所有业务规则,经数据过滤规则过滤后获取有效业务规则;
步骤4:根据有效业务规则对应的数据提取规则从web访问日志提取业务数据;
步骤5:将业务数据传递到数据存储规则进行数据持久化。
优选的,步骤2中,通过Spring切面技术获取web访问日志。
优选的,步骤1中,每一条业务规则设置多条数据过滤规则、数据提取规则和数据存储规则,其中数据过滤规则单独设立,数据提取规则和数据存储规则一一对应组合设立。
优选的,步骤1中,每个所述业务场景单独设立一个存储目标表,同时设置该存储目标表数据存储类型,存储类型包括累加值类型和固定值类型,当存储类型为累加值时代表存储目标为一个累加计数值,当存储类型为固定值代表存储值为一个常量值。
优选的,步骤3中,所述数据过滤规则过滤业务规则包括如下步骤:
步骤3.1:将所有的业务规则中配置的数据过滤规则组装成一个两层队列,第一层为业务规则队列,第二层为单个业务规则的数据过滤规则;
步骤3.2:每一条web访问日志的数据逐条通过业务规则队列,数据过滤规则的通过标准以在数据过滤规则中配置的表达式经过SpringEL计算引擎返回true时为成功,继续往下执行下一个数据过滤规则,当返回false时则代表该业务规则不匹配,直接忽略掉该业务规则中其他的匹配逻辑,数据进入下一个业务规则的过滤逻辑处理程序中,当该数据通过所有的业务规则处理过后提取所有返回成功后该数据的数据过滤处理结束。
优选的,数据过滤规则包含第一数据表达式、业务规则编码、排序。
优选的,数据提取规则包含第二数据表达式、业务规则编码、数据类型,当数据类型为常量时提取的数据为第二数据表达式中配置的常量值,当数据类型为变量时,第二数据表达式通过内置的计算引擎从业务数据中提取数据。
优选的,数据存储规则包括业务规则编码、存储目标,该存储目标为所述存储目标表中的一个字段,通过数据提取规则提取出的数据保存到该字段中。
有益效果:
本发明通过实时分析web访问日志,不需要通过业务代码的实现获取业务数据,而是通过过滤处理web访问日志后生对应的业务数据,提升系统业务灵活度。
附图说明
图1为本方法中实施例提供的web访问日志分析处理的工作流程图;
图2为本方法中实施例提供的数据扭转示意图;
图3为本方法中实施例提供的数据过滤规则示意图。
具体实施方式
下面结合实例对本发明做更进一步的解释。
该方法主要实施流程如下,相关流程图见图1,相关数据扭转图见图2。
1、在处理数据前需要提前设置好相关的业务规则,包含数据过滤规则、数据提取规则和数据存储规则,多条业务规则组合在一起将组成一个业务场景,每一个业务场景单独设立一个存储目标(storageTarget)同时设置该表数据存储类型(storageType)。存储目标为数据库中一张表。每一条业务规则设置多条数据过滤规则,数据提取规则和数据存储规则,其中数据过滤规则单独设立,数据提取规则和数据存储规则一一对应组合设立。存储类型为累加值类型(01)和固定值类型(02)两大类,当存储类型为累加值时代表存储目标为一个累加计数值,当存储类型为固定值代表存储值为一个常量值。
数据过滤规则主要包含第一数据表达式(expression)、业务规则编码(itemCode)、排序(seq)。数据过滤的目的是一个是为了从杂乱无章的web访问日志数据中筛选出对业务有用的数据,另一个作用是匹配出有用的数据提取规则和数据存储规则。
匹配流程如下:
列举出所有生效的业务规则,将所有的业务规则中配置的数据过滤规则组装成一个两层队列,第一次代表所有的业务规则,第二层代表某个业务规则的数据过滤规则。
每一条web访问日志数据的数据逐条通过业务规则队列,只有当所有的过滤规则都通过的时候该条web访问日志数据才算通过该业务规则进入数据提取器进行处理。过滤规则的通过标准以在数据过滤规则中配置的表达式经过SpringEL计算引擎返回true时为成功,继续往下执行下一个数据过滤规则,当返回false时则代表该业务规则不匹配,直接忽略掉该业务规则中其他的匹配逻辑,数据进入下一个业务规则的过滤逻辑处理程序中,当该数据通过所有的业务规则处理过后提取所有返回成功后该数据的数据过滤处理才算结束。数据过滤示意图见图3.
数据提取规则主要包含第二数据表达式(expression)、业务规则编码(itemCode)、数据类型(dataType)等,当数据类型为常量(01)时提取的数据为表达式中配置的常量值,当数据类型为变量(02)时,通过数据表达式通过内置的计算引擎从业务数据中提取数据。
web访问日志数据通过了数据过滤规则后,确定了哪些业务规则是符合业务过滤条件的,我们将该业务规则中的数据提取规则和web访问日志数据进行二次处理,提取规则的通过标准以在数据提取规则中配置的表达式经过SpringEL计算引擎返回数据,提取完数据将数据传递到数据存储规则进行数据持久化。
数据存储规则主要包括业务规则编码(itemCode)、存储目标(storageTarget)等,该存储目标(storageTarget)为业务场景设置中设置的存储目标表中的一个字段,每一条数据存储规则与数据提取规则一一对应,通过数据提取规则提取出的数据将会保存到该字段中,数据字段归属于业务规则归属的业务场景配置的存储目标表中,数据持久化到该表中。
2、web容器中获取web访问日志。
web访问日志主要包含如下内容:请求时间(requestTime),请求地址(requestUrl),请求人ID(userId),请求参数(arguments),响应结果(result)等,该方法将会经过业务规则实时处理web数据提取有用的业务数据。
3、将上一步获取的web访问日志依次通过所有的业务规则,通过数据过滤器获取所有有效的数据提取规则和数据存储规则。
4、将上一步获取的业务提取规则和数据存储规则对获取的web访问日志提取出来并持久化到配置的存储目标表中。
5、将所有的web访问日志做持久化,该持久化过程可以脱离于业务规则处理过程,以方便后续可以对web访问日志重新处理。
实例1:假设业务场景,提取门店变更记录。
1)设置日志处理规则
业务场景主要配置如下:
业务场景主要配置如下:
场景编码 | 场景名称 | 存储类型 | 存储目标表 |
G0001 | 店铺变更记录 | 02 | store_change_log |
store_change_log表的主要字段如下:
场景编码(group_code)、规则编码(item_code)、操作时间(opt_time)、门店ID(store_id)、变更状态(opt_state)。
该业务场景下配置的业务规则如下:
该业务场景下配置的数据过滤规则如下:
场景编码 | 规则编码 | 第一数据表达式 | 排序 |
G0001 | R0001 | ‘/store/create’==requestUrl | 1 |
G0001 | R0002 | ‘/store/edit==requestUrl | 1 |
G0001 | R0003 | ‘/store/pass’==requestUrl | 1 |
G0001 | R0004 | ‘/store/close==requestUrl | 1 |
该业务场景下配置的数据提取规则和数据存储规则如下:
2)web容器中获取web访问日志。
通过SpringAOP切面技术将通过拦截请求地址对应的接口方法,从切面对象里获取请求参数,返回结果,从当前会话中获取用户ID,并保存到日志对象中对应的属性arguments、result、userId中,同时将对象中的requestTime属性设置成当前Unix时间戳,将对象中的requestUrl设置成当前请求地址。
上文中配置的四个请求地址进过拦截获取的对象实例如下:
3)依次通过系统过滤业务规则,获取有效的业务规则
上文提取门店变更记录业务场景中配置了4条业务规则,我们将上文获取的日志对象依次通过该四条业务规则中配置的数据过滤规则。
以上文序号1的数据为例,将数据依次通过R0001、R0002、R0003、R0004配置的业务规则中的数据过滤规则。通过计算数据过滤规则中的表达式后发现只有R0001的所有数据过滤规则返回true,这表明R0001的业务规则通过业务规则过滤进入数据提取步骤。由于表达式计算方法借助于SpringEL内置计算引擎实现,因此表达式需按照SpringEL表达式规范进行配置。
4)通过有效的业务规则及web访问日志提取业务数据
上文中我们通过数据过滤后获取R0001为有效业务规则,则根据R0001获取其相关的数据提取规则和数据存储规则,获取3条数据提取和数据存储规则,通过SpringEL计算引擎将通过过滤引擎的数据【{"arguments":{"store":{"name":"门店1","address":"南京市鼓楼区XXXXXX"}},"result":{"storeId":1},"userId":1,"requestUrl":"/store/create","requestTime":1551918943021}】中提取相应的数据,提取方式与结果如下:
5)将处理过后的业务数据入库
根据上文中提取的数据及对应通过的业务场景里配置的数据表【store_change_log】持久化到数据库中。
同理日志对象2、3、4都可以通过如上方式提取相关的业务数据进行持久化。
以上为本发明的技术实施例和技术特点,仅用于说明本发明的技术方案而非限制。然而本领域技术人员仍可能基于本发明的教示和揭示内容而作出对本发明的技术方案的修改和等同替换。因此,本发明的保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替代和修正,并为上述权利要求书所涵盖。
Claims (8)
1.一种基于web访问日志提取转化为业务数据的方法,其特征在于,包括如下步骤:
步骤1:根据业务场景设置若干个业务规则,所述业务规则包括数据过滤规则、数据提取规则和数据存储规则;
步骤2:获取web访问日志;
步骤3:将web访问日志依次通过所有业务规则,经数据过滤规则过滤后获取有效业务规则;
步骤4:根据有效业务规则对应的数据提取规则从web访问日志提取业务数据;
步骤5:将业务数据传递到数据存储规则进行数据持久化。
2.根据权利要求1所述的一种基于web访问日志提取转化为业务数据的方法,其特征在于,步骤2中,通过Spring切面技术获取web访问日志。
3.根据权利要求1所述的一种基于web访问日志提取转化为业务数据的方法,其特征在于,步骤1中,每一条业务规则设置多条数据过滤规则、数据提取规则和数据存储规则,其中数据过滤规则单独设立,数据提取规则和数据存储规则一一对应组合设立。
4.根据权利要求1所述的一种基于web访问日志提取转化为业务数据的方法,其特征在于,步骤1中,每个所述业务场景单独设立一个存储目标表,同时设置该存储目标表数据存储类型,存储类型包括累加值类型和固定值类型,当存储类型为累加值时代表存储目标为一个累加计数值,当存储类型为固定值代表存储值为一个常量值。
5.根据权利要求1所述的一种基于web访问日志提取转化为业务数据的方法,其特征在于,步骤3中,所述数据过滤规则过滤业务规则包括如下步骤:
步骤3.1:将所有的业务规则中配置的数据过滤规则组装成一个两层队列,第一层为业务规则队列,第二层为单个业务规则的数据过滤规则;
步骤3.2:每一条web访问日志的数据逐条通过业务规则队列,数据过滤规则的通过标准以在数据过滤规则中配置的表达式经过SpringEL计算引擎返回true时为成功,继续往下执行下一个数据过滤规则,当返回false时则代表该业务规则不匹配,直接忽略掉该业务规则中其他的匹配逻辑,数据进入下一个业务规则的过滤逻辑处理程序中,当该数据通过所有的业务规则处理过后提取所有返回成功后该数据的数据过滤处理结束。
6.根据权利要求1所述的一种基于web访问日志提取转化为业务数据的方法,其特征在于,数据过滤规则包含第一数据表达式、业务规则编码、排序。
7.根据权利要求1所述的一种基于web访问日志提取转化为业务数据的方法,其特征在于,数据提取规则包含第二数据表达式、业务规则编码、数据类型,当数据类型为常量时提取的数据为第二数据表达式中配置的常量值,当数据类型为变量时,通过第二数据表达式内置的计算引擎从业务数据中提取数据。
8.根据权利要求4所述的一种基于web访问日志提取转化为业务数据的方法,其特征在于,数据存储规则包括业务规则编码、存储目标,该存储目标为所述存储目标表中的一个字段,通过数据提取规则提取出的数据保存到该字段中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910230650.8A CN109992618A (zh) | 2019-03-26 | 2019-03-26 | 一种基于web访问日志提取转化为业务数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910230650.8A CN109992618A (zh) | 2019-03-26 | 2019-03-26 | 一种基于web访问日志提取转化为业务数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109992618A true CN109992618A (zh) | 2019-07-09 |
Family
ID=67131463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910230650.8A Pending CN109992618A (zh) | 2019-03-26 | 2019-03-26 | 一种基于web访问日志提取转化为业务数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992618A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257987A (zh) * | 2012-12-30 | 2013-08-21 | 北京讯鸟软件有限公司 | 基于规则的分布式日志服务实现方法 |
CN103617287A (zh) * | 2013-12-12 | 2014-03-05 | 用友软件股份有限公司 | 一种分布式环境下的日志管理方法和装置 |
CN106304122A (zh) * | 2015-05-21 | 2017-01-04 | 中国移动通信集团福建有限公司 | 一种业务数据分析方法及系统 |
US20190012458A1 (en) * | 2017-07-10 | 2019-01-10 | Dell Products, Lp | System and method for a security filewall system for protection of an information handling system |
CN109271349A (zh) * | 2018-09-29 | 2019-01-25 | 四川长虹电器股份有限公司 | 一种基于日志通用性规则引擎的规则处理方法 |
-
2019
- 2019-03-26 CN CN201910230650.8A patent/CN109992618A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257987A (zh) * | 2012-12-30 | 2013-08-21 | 北京讯鸟软件有限公司 | 基于规则的分布式日志服务实现方法 |
CN103617287A (zh) * | 2013-12-12 | 2014-03-05 | 用友软件股份有限公司 | 一种分布式环境下的日志管理方法和装置 |
CN106304122A (zh) * | 2015-05-21 | 2017-01-04 | 中国移动通信集团福建有限公司 | 一种业务数据分析方法及系统 |
US20190012458A1 (en) * | 2017-07-10 | 2019-01-10 | Dell Products, Lp | System and method for a security filewall system for protection of an information handling system |
CN109271349A (zh) * | 2018-09-29 | 2019-01-25 | 四川长虹电器股份有限公司 | 一种基于日志通用性规则引擎的规则处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050182780A1 (en) | Data de-duplication | |
CN106599197A (zh) | 数据采集交换引擎 | |
CN101086732A (zh) | 一种海量数据管理方法 | |
CN106897285A (zh) | 数据要素抽取分析系统及数据要素抽取分析方法 | |
CN110795471B (zh) | 数据匹配的方法及装置、计算机可读存储介质、电子设备 | |
CN106844320B (zh) | 一种财务报表整合方法和设备 | |
CN108287889B (zh) | 一种基于弹性表模型的多源异构数据存储方法和系统 | |
CN105095436A (zh) | 数据源数据自动建模方法 | |
CN114675985A (zh) | 一种基于大数据的网络消息处理系统 | |
CN112948429B (zh) | 一种数据报送方法、装置和设备 | |
CN112925899B (zh) | 排序模型建立方法、案件线索推荐方法、装置及介质 | |
CN109992618A (zh) | 一种基于web访问日志提取转化为业务数据的方法 | |
CN105573984B (zh) | 社会经济指标的识别方法及装置 | |
CN109063063B (zh) | 基于多源数据的数据处理方法及装置 | |
CN105095455A (zh) | 一种数据连接优化方法和数据运算系统 | |
CN111460052B (zh) | 一种基于监察数据关联分析的低保资金监督方法与系统 | |
CN112416922B (zh) | 一种群体关联数据挖掘方法、装置、设备及存储介质 | |
CN106649678A (zh) | 一种数据处理方法及系统 | |
CN110457323B (zh) | 数据表的处理方法及装置 | |
CN107391551A (zh) | 一种基于数据挖掘的web业务数据分析方法及系统 | |
CN110929064B (zh) | 一种人脸辨识样本库及检索方法 | |
CN112185083A (zh) | 一种重复报警判断方法 | |
CN113111061B (zh) | 一种基于多维分析的数据处理系统 | |
CN112800176B (zh) | 一种基于身份标识和终端标识的组织成员挖掘方法及装置 | |
CN107038608A (zh) | 一种大数据分析系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190709 |
|
RJ01 | Rejection of invention patent application after publication |