一种基于FREEMARKER模板的数据采集系统及采集方法与流程

文档序号:17536126发布日期:2019-04-29 14:00阅读:199来源:国知局
一种基于FREEMARKER模板的数据采集系统及采集方法与流程

本发明属于计算机数据采集技术领域,具体涉及一种基于freemarker模板的数据采集系统及采集方法。



背景技术:

freemarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(html网页、电子邮件、配置文件、源代码等)的通用工具。它不是面向最终用户的,而是一个java类库,是一款程序员可以嵌入他们所开发产品的组件,模板和数据模型是freemarker来生成输出所必须的组成部分。

在当前一个大数据信息时代,我们可能要提前从各种渠道获取跟用户相关的数据信息;比如对于网站来说我们需要知道用户的登录信息,访问信息,购买的商品信息,看过的商品信息还有其它跟用户相关的信息,大数据时代会根据用户的这些行为习惯数据进行统计,分析出用户的行为习惯,可以提前预测用户需要购买的商品,我们可以将该类商品可以提前存储发货。但是该类行为数据采集来源众多,且来源数据格式不一,不同的数据源格式需要用复杂的程序来分别进行采集和汇总,不能进行统一适配和汇总。



技术实现要素:

为了解决现有技术中存在的多种数据源格式的数据不能进行统一采集和汇总的问题,本发明提供了一种基于freemarker模板的数据采集系统及采集方法,达到了高效采集多种来源和格式的数据的效果。本发明要解决的技术问题通过以下技术方案实现:

一种基于freemarker模板的数据采集系统,该系统包括:

第一配置模块,用于将性能数据采集任务配置为多个任务队列,任务队列中包括采集性能数据所需的采集参数;

第二配置模块,用于根据每个任务队列中的采集参数配置采集模板,采集模板中包括与采集参数对应的采集配置信息、与采集配置信息对应的数据源的地址信息以及用于将采集的性能数据格式化为自定义的javabean信息的处理子模块;

执行模块,用于根据所述数据源的地址信息以及所述采集配置信息进行性能数据的采集;

调度模块,用于调度所述处理子模块;

存储模块,用于将所述处理子模块处理完成的数据进行系统多线程处理后插入数据库。

进一步的,所述的采集参数包括第一数据源类型的标识、第一数据源的请求方法、第一数据源接口协议信息、全量采集周期和增量采集周期。

进一步的,所述采集配置信息为第二数据源类型的标识、第二数据源接口协议信息以及第二数据源的请求方法;

所述数据源的地址信息为第二接口协议信息的接口地址信息和携带参数;

所述处理子模块用于将采集的性能数据封装为自定义格式的封装数据,并将封装数据格式化为自定义的javabean信息。

进一步的,所述执行模块包括:

执行子模块:用于根据所述全量采集周期和增量采集周期,通过所述第二数据源接口协议信息、第二数据源的请求方法以及第二接口协议信息的接口地址信息和携带参数进行性能数据的周期性采集。

进一步的,所述处理子模块包括:

前置插件,用于将采集到的性能数据中含有的特殊字符进行替换或删除;

封装模块,用于将前置插件处理后的数据封装为自定义的封装数据,并将封装数据格式化为自定义的javabean信息;

后置插件,用于将封装数据的特殊字段进行替换或删除。

一种基于freemarker模板的数据采集系统的采集方法,该方法包括以下步骤:

步骤s1,第一配置模块将性能数据采集任务配置为多个任务队列,任务队列中包括采集性能数据所需的采集参数;

步骤s2,第二配置模块根据每个任务队列中的采集参数配置采集模板;

步骤s3,执行模块根据采集模板中的数据源的地址信息以及采集配置信息进行性能数据的采集;

步骤s4,调度模块调度处理子模块处理所采集的性能数据;

步骤s5,存储模块将处理子模块处理完成的数据进行系统多线程处理后插入对应的数据库。

进一步的,所述步骤s2的具体步骤为:第二配置模块根据每个任务队列中的第一数据源类型的标识、第一数据源的请求方法和第一数据源接口协议信息配置采集模板中的第二数据源类型的标识、第二数据源的请求方法、第二数据源接口协议信息以及与第二数据源接口协议信息对应的数据源的地址信息和携带参数。

进一步的,所述步骤s3的具体步骤为:执行子模块根据所述全量采集周期和增量采集周期,通过第二数据源接口协议信息、第二数据源的请求方法以及所述数据源的地址信息和携带参数进行性能数据的周期性采集。

进一步的,所述步骤s4中处理子模块处理所采集的性能数据的方法为:将采集到的性能数据封装为自定义格式的封装数据,并将封装数据格式化为自定义的javabean信息。

进一步的,所述步骤s4中处理子模块处理所采集的性能数据的具体步骤为:

步骤s41,前置插件将采集到的性能数据中含有的特殊字符进行替换或删除;

步骤s42,封装模块将前置插件处理后的数据封装为自定义的封装数据,并将封装数据格式化为自定义的javabean信息;

步骤s43,后置插件将封装数据的特殊字段进行替换或删除。

与现有技术相比,本发明的有益效果:

本发明通过将性能数据采集的任务分类配置成多个任务队列,然后根据任务队列配置采集模板,当需要采集性能数据时,直接将各种数据采集任务队列与采集模板相匹配,可以确定唯一一个采集模板,并根据采集模板进行性能数据的采集,达到了将多种来源的数据和多种格式的数据快速分类并进行采集的效果,提高了性能数据采集的效率,降低了工作量,为后续工作提供了有力的数据支持。

附图说明

图1是本发明的结构框图;

图2是本发明的流程框图。

具体实施方式

下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。

如图1所示的一种基于freemarker模板的数据采集系统,该系统包括:

第一配置模块10,用于将性能数据采集任务配置为多个任务队列,任务队列中包括采集性能数据所需的采集参数。

采集参数包括第一数据源类型的标识、第一数据源的请求方法、第一数据源接口协议信息、全量采集周期和增量采集周期。第一数据源类型的标识作为数据源类型的标识,全局唯一。第一数据源接口协议信息包括jdbc、rest、webservice、jms、ftp或其它数据采集方式。第一数据源的请求方法根据第一数据源接口协议信息的不同配置对应的第一数据源的请求方法方法进行统一采集处理。第一数据源的请求方法为在http请求中的post、get、delete或put等其它接口方法。

第二配置模块20,用于根据每个任务队列中的采集参数配置采集模板,采集模板中包括与采集参数对应的采集配置信息、与采集配置信息对应的数据源的地址信息以及用于将采集的性能数据格式化为自定义的javabean信息的处理子模块。采集配置信息为第二数据源类型的标识、第二数据源接口协议信息以及第二数据源的请求方法;数据源的地址信息为第二接口协议信息的接口地址信息和携带参数;处理子模块用于将采集的性能数据封装为自定义格式的封装数据,并将封装数据格式化为自定义的javabean信息。

第一数据源类型的标识、第一数据源的请求方法、第一数据源接口协议信息分别与第二数据源类型的标识、第二数据源的请求方法、第二数据源接口协议信息对应,即为内容完全相同。第二数据源接口协议信息包括jdbc、rest、webservice、jms、ftp或其它数据采集方式。与第二数据源的请求方法根据第二数据源接口协议信息的不同配置对应的请求方法方法进行统一采集处理。例如,rest对应post。在采集模板中第二接口协议信息的接口地址信息和携带参数如果是jdbc方式可以生成连接数据的相关信息,包含数据库连接url、用户名和密码等信息;如果是ftp或rest其它接口方式,生成请求接口的url信息,用户名密码信息,并根据需求生成对应的携带参数。

处理子模块包括:

前置插件,用于将采集到的性能数据中含有的特殊字符进行替换或删除;

封装模块,用于将前置插件处理后的数据封装为自定义的封装数据,并将封装数据格式化为自定义的javabean信息;javabean是一种java语言写成的可重用组件。

后置插件,用于将封装数据的特殊字段进行替换或删除。

执行模块30,用于根据所述数据源的地址信息、携带参数以及所述采集配置信息进行性能数据的采集;第二数据源接口协议信息是jdbc、rest、webservice、jms、ftp或其它数据接口协议,根据接口协议的不同调度不同数据源的请求方法进行统一采集。

执行模块包括执行子模块,执行子模块用于根据所述全量采集周期和增量采集周期,通过所述第二数据源接口协议信息、第二数据源的请求方法以及第二接口协议信息的接口地址信息和携带参数进行性能数据的周期性采集。

调度模块40,用于调度所述处理子模块,以实现处理子模块的功能。

存储模块50,用于将所述处理子模块处理完成的数据进行系统多线程处理后插入数据库。

如图2所示的一种基于freemarker模板的数据采集系统的采集方法,包括以下步骤:

步骤s1,第一配置模块10将性能数据采集任务配置为多个任务队列,任务队列中包括采集性能数据所需的采集参数;

步骤s2,第二配置模块20根据每个任务队列中的采集参数配置采集模板;

步骤s3,执行模块30根据采集模板中的数据源的地址信息以及采集配置信息进行性能数据的采集;

步骤s4,调度模块40调度处理子模块处理所采集的性能数据;

步骤s5,存储模块50将处理子模块处理完成的数据进行系统多线程处理后插入对应的数据库。

在本发明的可选实施例中,优选的步骤s2还可以为以下具体步骤:第二配置模块20根据每个任务队列中的第一数据源类型的标识、第一数据源的请求方法和第一数据源接口协议信息配置采集模板中的第二数据源类型的标识、第二数据源的请求方法、第二数据源接口协议信息以及与第二数据源接口协议信息对应的数据源的地址信息和携带参数。

在本发明的可选实施例中,优选的步骤s3还可以为以下具体步骤:

执行子模块根据所述全量采集周期和增量采集周期,通过第二数据源接口协议信息、第二数据源的请求方法以及所述数据源的地址信息和携带参数进行性能数据的周期性采集。

在本发明的可选实施例中,优选的步骤s4还可以为以下具体步骤:将采集到的性能数据封装为自定义格式的封装数据,并将封装数据格式化为自定义的javabean信息。例如将采集到的性能数据封装为json(javascriptobjectnotation,对象表示法)格式,字段可以根据自己的要求修改格式,再将json格式数据格式化为自定义的javabean信息。

在本发明的可选实施例中,优选的步骤s4还可以为以下具体步骤:

步骤s41,前置插件将采集到的性能数据中含有的特殊字符进行替换或删除;

步骤s42,封装模块将前置插件处理后的数据封装为自定义的封装数据,并将封装数据格式化为自定义的javabean信息;

步骤s43,后置插件将封装数据的特殊字段进行替换或删除。

本发明根据配置不同的多个任务队列配置不同的采集模板,在性能数据采集过程中只需要根据采集模板中的采集配置信息和数据源的地址信息即可实现性能数据的采集,达到了进行分类,并根据分类进行采集处理,达到了高效采集数据的效果,提高了工作效率。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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