一种基于业务插件化的电商大数据采集系统技术方案

技术编号:20243515 阅读:341 留言:0更新日期:2019-01-29 23:39
一种大数据场景下基于业务插件化的电商大数据采集系统,针对电商平台风格各异的页面内容和数据类型,为每个网站构建单独的网络爬虫业务,并实现插件化管理和业务的单独升级配置,通过对任务的管理,能够使调用方即插即用,并且支持第三方调用;所述数据采集系统部署在服务端和客户端,分为三个功能模块:任务管理模块、任务处理模块和数据处理模块。本发明专利技术能够使用户快速准确地抓取目标电商数据,增大信息采集的规模。

【技术实现步骤摘要】
一种基于业务插件化的电商大数据采集系统
本专利技术涉及互联网大数据领域,具体涉及一种基于业务插件化的电商大数据采集系统。
技术介绍
随着互联网技术的日新月异,电子商务发展也十分迅猛,已经成为推动地区经济发展的重要力量。针对以上背景,我们迫切地需要得到大体量、高质量的数据来做分析调研,以便能够更直观地反映地区电商产业发展状况,及时做出更好的调整。电商大数据主要包括两块内容:电商经营主体的基本信息和电商经营主体的交易信息。这些数据分布在各大主流电商网站上,其内容错综复杂,结构各异,而且随着时间推移和技术的发展,内容和结构也在推陈出新。针对这种情况,做出单一的解决方案显然是不现实的。大数据采集作为大数据领域的一个关键技术,为大数据分析提供了重要的数据支持,从而为传统的数据分析方法注入了新的活力。它通过网络爬虫的方式,在短时间内能获取到大量的目标数据,且对数据经过一定的处理后,数据变得层次分明。传统的大数据采集中,侧重点往往是针对单一网站的采集,或者将多个网站采集时的爬虫业务固定化,没有考虑到电商网站升级之后随之而来的系统升级造成的系统开销,使用户体验大大降低。
技术实现思路
为了在各大主流电商网站上都能实现快速准确地抓取电商数据,以便为地区性电商发展的评估提供数据支持,本专利技术提出了一种大数据场景下基于业务插件化的电商大数据采集系统。为了解决上述技术问题本专利技术提供如下技术方案:一种大数据场景下基于业务插件化的电商大数据采集系统,所述数据采集系统部署在服务端和客户端,分为三个功能模块:任务管理模块、任务处理模块和数据处理模块;所述任务管理模块,用于通过任务调度服务,分配待执行的任务,由任务认领服务接收待处理的任务到客户端,然后交由任务解析服务,该服务对任务内容进行解析并后结合任务处理模块管理服务去判断是否存在对应的业务处理插件,若不存在,则去下载响应的业务插件;若存在,则进行版本号比对并进行相应处理;所述任务处理模块,由不同的具体业务插件组成,用于负责实际的爬虫任务;所述数据处理模块,用于将任务处理模块返回的页面内容进行解析,并整理入库。进一步,所述任务管理模块中,由DelphiIDE集成开发框架为开发平台开发,所述任务处理模块是由Delphi语言进行开发,以Indy组件作为HTTP通信的基础,数据处理模块由Java语言开发而成,使用MySQL进行数据库存储。再进一步,所述任务管理模块中,根据电商平台风格各异的页面内容和数据类型,以及对电商网站内容的请求进行分析,对各大主流电商网站开发了不同的爬虫采集程序,并编译成动态链接库文件部署在该模块中,利用任务管理的方式,将第三方推送或保存于数据库中的任务以XML的数据格式打包,经过分配解析,完成业务模块的动态下载。任务管理的方式是通过消息队列的跨进程机制实现的,摆脱了在高并发情况下同步处理发生的堵塞,通过使用消息队列,可以异步处理请求,缓解了系统的压力。所述任务处理模块中,采用DLL通用导出函数去执行完成爬虫业务,基于现有常见的反爬策略,通过大量的测试、分析和总结,归纳出了各电商平台的反爬手段以及相应的解决办法。所述数据处理模块中,针对爬虫返回的不同页面内容,设计了不同的页面解析程序,通过自动匹配去执行解析过程。本专利技术的技术构思:针对当前大量的数据采集系统,存在着采集站点单一性和爬虫业务升级的问题,我们基于各电商平台的特点,在爬虫业务基本一致的基础上,提出了基于业务插件化的电商大数据采集方法,通过将爬虫业务程序编译成动态链接库文件的方式和任务的管理,使得调用者可以动态下载需要的爬虫业务模块来执行,即插即用,提高业务的可扩展性。在后续数据处理过程中,针对不同爬虫业务返回的内容开发了相应的解析程序,抽取其中需要的数据,达到分而治之的效果。该方法可以快速准确地在各大主流电商网站采集电商数据,为后续的数据分析提供了数据支持,对电商产业的发展具有重要意义。针对电商平台风格各异的页面内容和数据类型,为每个网站构建单独的网络爬虫业务,并实现插件化管理和业务的单独升级配置,通过任务的管理,能够使调用方即插即用,并且支持第三方调用;所述数据采集系统部署在服务端和客户端,分为三个功能模块:任务管理模块、任务处理模块和数据处理模块。本专利技术能够使用户快速准确地抓取目标电商数据,增大信息采集的规模。本专利技术的有益效果主要表现在:(1)为各主流电商网站都单独设计爬虫业务,具有较强的针对性,爬取数据的准确性和规模得到了提升。(2)爬虫业务以DLL的形态部署在服务端,可动态进行下载调用,增强了系统的可扩展性,由服务端对这些业务进行维护升级,降低了系统开销。(3)在数据处理方面也进行了多种应对,设计了多种数据解析过程,提高了数据入库的准确性。附图说明图1是在大数据场景下基于业务插件化的电商大数据采集系统的架构设计图。图2是任务生成的流程图。图3是任务获取的流程图。图4是实时任务认领时序图。图5是第三方调用任务认领时序图。图6是爬虫流程图。图7是数据处理流程图。具体实施方式下面结合附图对本专利技术作进一步描述。参照图1~图7,一种大数据场景下基于业务插件化的电商大数据采集系统,所述数据采集系统部署在服务端和客户端,分为三个功能模块:任务管理模块、任务处理模块和数据处理模块;所述任务管理模块,用于通过任务调度服务,分配待执行的任务,由任务认领服务接收待处理的任务到客户端,然后交由任务解析服务,该服务对任务内容进行解析并后结合任务处理模块管理服务去判断是否存在对应的业务处理插件,若不存在,则去下载响应的业务插件;若存在,则进行版本号比对并进行相应处理;所述任务处理模块,由不同的具体业务插件组成,用于负责实际的爬虫任务;所述数据处理模块,用于将任务处理模块返回的页面内容进行解析,并整理入库。进一步,所述任务管理模块中,由DelphiIDE集成开发框架为开发平台开发,所述任务处理模块是由Delphi语言进行开发,以Indy组件作为HTTP通信的基础,数据处理模块由Java语言开发而成,使用MySQL进行数据库存储。再进一步,所述任务管理模块中,根据电商平台风格各异的页面内容和数据类型,以及对电商网站内容的请求进行分析,对各大主流电商网站开发了不同的爬虫采集程序,并编译成动态链接库文件部署在该模块中,利用任务管理的方式,将第三方推送或保存于数据库中的任务以XML的数据格式打包,经过分配解析,完成业务模块的动态下载。任务管理的方式是通过消息队列的跨进程机制实现的,摆脱了在高并发情况下同步处理发生的堵塞,通过使用消息队列,可以异步处理请求,缓解了系统的压力。所述任务处理模块中,采用DLL通用导出函数去执行完成爬虫业务,基于现有常见的反爬策略,通过大量的测试、分析和总结,归纳出了各电商平台的反爬手段以及相应的解决办法。所述数据处理模块中,针对爬虫返回的不同页面内容,设计了不同的页面解析程序,通过自动匹配去执行解析过程。图1所示的是在大数据场景下基于业务插件化的电商大数据采集系统的系统架构图,图中展示出了任务管理模块、任务处理模块和数据处理模块等功能模块,其中任务管理模块又包含任务调度服务、任务认领服务、任务解析服务和任务处理模块管理服务。任务管理模块从任务的创建开始,通过任务调度服务发送到客户端的任务认领服务,任务认领本文档来自技高网...

【技术保护点】
1.一种大数据场景下基于业务插件化的电商大数据采集系统,其特征在于:所述数据采集系统部署在服务端和客户端,分为三个功能模块:任务管理模块、任务处理模块和数据处理模块;所述任务管理模块,用于通过任务调度服务,分配待执行的任务,由任务认领服务接收待处理的任务到客户端,然后交由任务解析服务,该服务对任务内容进行解析并后结合任务处理模块管理服务去判断是否存在对应的业务处理插件,若不存在,则去下载响应的业务插件;若存在,则进行版本号比对并进行相应处理;所述任务处理模块,由不同的具体业务插件组成,用于负责实际的爬虫任务,采用DLL通用导出函数去执行完成这些业务;所述数据处理模块,用于将任务处理模块返回的页面内容进行解析,并整理入库。

【技术特征摘要】
1.一种大数据场景下基于业务插件化的电商大数据采集系统,其特征在于:所述数据采集系统部署在服务端和客户端,分为三个功能模块:任务管理模块、任务处理模块和数据处理模块;所述任务管理模块,用于通过任务调度服务,分配待执行的任务,由任务认领服务接收待处理的任务到客户端,然后交由任务解析服务,该服务对任务内容进行解析并后结合任务处理模块管理服务去判断是否存在对应的业务处理插件,若不存在,则去下载响应的业务插件;若存在,则进行版本号比对并进行相应处理;所述任务处理模块,由不同的具体业务插件组成,用于负责实际的爬虫任务,采用DLL通用导出函数去执行完成这些业务;所述数据处理模块,用于将任务处理模块返回的页面内容进行解析,并整理入库。2.如权利要求1所述的大数据场景下基于业务插件化的电商大数据采集系统,其特征在于:所述任务管理模块中,由DelphiIDE集成开发框架为开发平台开发,所述任务处理模块是由Delphi语言进行开发,以Indy组件作为HTTP通信的基础,数据处理模块由Java语言开发而成,使用MySQL进行数据库存储。3.如权利要求1或2所述的大数据场景下基于业务插件化的电商大...

【专利技术属性】
技术研发人员:徐志江李天琦张昱卢为党
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

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

1