一种数据采集系统及其数据采集的方法

文档序号:7712414阅读:128来源:国知局
专利名称:一种数据采集系统及其数据采集的方法
技术领域
本发明涉及数据业务技术领域,特别涉及一种数据采集系统及其数据采集的方法。
背景技术
数据采集系统做为数据平台的统ー数据入口,为数据平台提供数据的接收、解密、解析、存储等功能,数据采集系统使用HTTP (HyperText Transfer Protocol,超文本传输协议)协议,接收POST方法的数据。由于数据发起方的系统和接ロ比较多,并在未来一段时间内会逐渐增加新的数据发起方和接ロ,所以要求数据采集系统必须能够灵活的变更接ロ ;同时,在某一接ロ进行变更时,不得影响其它接ロ的正常工作。现有方案之一使用nginx软件作为HTTP服务器,编写模块实现数据的接收、解密、解析、存储等功能。由于nginx的软件设计结构要求模块在变更后,需要将整个nginx软件一起重新编译、重启服务,所以无法灵活的变更接ロ。并且,限制在nginx的框架之下,很难实现复杂的逻辑;nginx软件过于庞大,很多功能使用不到,浪费服务器资源。

发明内容
(一 )要解决的技术问题本发明要解决的技术问题是如何提供一种数据采集系统及其数据采集的方法,以便能够对接ロ进行灵活的变更,而不影响其他接ロ的正常工作。( ニ )技术方案为解决上述技术问题,本发明提高ー种数据采集系统,其包括工作単元100;所述工作単元100包括协议层子単元103和命令子単元104 ;所述协议层子单元103包括URL模块1031 ;所述URL模块1031包括接ロ子模块10311 ;所述命令子単元104包括用于监听管理命令类型的HTTP连接请求的网络端ロ,所述命令子単元104用于将监听到的所述管理命令类型的HTTP连接请求发送给所述协议层子単元103 ;所述协议层子单元103用于接收HTTP连接请求,井根据所述连接请求,通知所述工作単元100加载和初始化所述URL模块1031以及所述URL模块1031的接ロ子模块10311,或者调用所述URL模块1031 ;所述URL模块1031用于对所述连接请求中的数据进行解密和分类,井根据所述数据的类型调用所述接ロ子模块10311 ;所述接ロ子模块10311用于将所述数据写入本地文件系统。优选地,所述工作単元100还包括接收子单元101和传输子単元102 ;所述接收子単元101包括用于监听数据接收类型的HTTP连接请求的网络端ロ,所述接收子単元101用于将监听到的所述数据接收类型的HTTP连接请求发送给所述协议层子単元103 ;所述传输子単元102包括用于监听数据传输类型的HTTP连接请求的网络端ロ,所述传输子単元102用于将监听到的所述数据传输类型的HTTP连接请求发送给所述协议层子单元103。优选地,所述系统还包括管理単元200 ;所述管理単元200用于向所述工作単元100发送数据传输类型和命令管理类型的HTTP连接请求,并且用于接收所述工作単元100发送的,数据传输完成消息和数据接收完成消息。本发明还提供一种所述数据采集系统实现数据采集的方法,其包括步骤
C :加载并且初始化URL模块和所述URL模块的接ロ子模块;D :接收HTTP连接请求,如果所述连接请求的类型为管理命令类型,执行所述步骤C,如果所述连接请求的类型为数据传输类型,执行步骤E,如果所述连接请求的类型为数据接收类型,执行步骤F ;E :将所述连接请求中的数据写入分布式文件系统,然后向管理单元发送数据传输完成消息,执行所述步骤D ;F :调用所述URL模块对所述连接请求中的数据进行解密和分类;G :根据所述连接请求中的数据的类型,调用所述接ロ模块,将所述连接请求中的数据写入本地文件系统,判断所述接ロ模块的处理周期是否结束,如果结束,向所述管理单元发送数据接收完成消息,然后执行所述步骤D,否则,直接执行所述步骤D。优选地,在所述步骤C之前还包括步骤B :创建主进程和多个子进程,所述子进程通过接收子単元的网络端口和命令子単元的网络端ロ监听HTTP连接请求,所述主进程通过所述接收子单元的网络端ロ、所述命令子単元的网络端口和传输子単元的网络端ロ监听HTTP连接请求。优选地,在所述步骤B之前还包括步骤A :读取工作単元的系统配置文件。优选地,所述步骤D具体包括步骤Dl :接收HTTP连接请求;D2 :如果所述连接请求通过所述命令子単元的网络端ロ监听获得,则所述连接请求的类型为管理命令类型,执行步骤C ;D3:如果所述连接请求通过所述传输子単元的网络端ロ监听获得,则所述连接请求的类型为数据传输类型,执行步骤E ;D4:如果所述连接请求通过所述接收子单元的网络端ロ监听获得,则所述连接请求的类型为数据接收类型,执行步骤F。优选地,所述步骤F具体包括步骤Fl :根据所述连接请求中的URL地址,调用对应所述连接请求的URL模块;F2 :根据所述连接请求中的IP地址判断所述连接请求是否合法,如果合法,执行步骤F3,否则,忽略所述连接请求,执行所述步骤D ;F3:对所述连接请求中的数据进行解密,然后提取所述数据中的分类标示,并根据所述分类标示对所述数据进行分类。优选地,所述URL模块包含ー个黑名单和ー个白名单;所述黑名单用于存储非法的IP地址,所述白名单用于存储合法的IP地址。
优选地,所述步骤F2具体包括步骤F21 :当所述黑名单有效时,如果所述黑名单不包含所述连接请求中的IP地址,则所述连接请求合法,执行所述步骤F3,否则,忽略所述连接请求,执行所述步骤D ;F22:当所述白名单有效并且所述黑名单无效时,如果所述白名单包含所述连接请求中的IP地址,则所述连接请求合法,执行所述步骤F3,否则,忽略所述连接请求,执行所述步骤D。(三)有益效果本发明的数据采集系统及其数据采集的方法,分层设置协议层子単元、URL模块和接ロ子模块,并且URL模块和接ロ子模块可以根据管理単元的命令动态加载,从而实现了,对任ー URL模块进行变更而不会影响其他URL模块,对任ー接ロ子模块进行变更而不会影响其他接ロ子模块。并且每ー个URL模块配置独立的黑名单和白名单,可以通过IP地址对连接请求进行过滤,提高了安全性


图I是本发明实施例所述的ー种数据采集系统的模块结构图;图2是本发明实施例所述协议层子单元的模块结构图;图3是本发明实施例所述的数据采集系统实现数据采集的方法流程图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进ー步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。图I是本发明实施例所述的ー种数据采集系统的模块结构图,图2是本发明实施例所述协议层子单元的模块结构图。如图I、图2所示,所述系统包括工作単元100和管理单元200。所述工作単元100包括接收子单元101、传输子単元102、协议层子単元103和命令子单元104。所述接收子単元101包括用于监听数据接收类型的HTTP连接请求的网络端ロ,所述接收子単元101用于将监听到的所述数据接收类型的HTTP连接请求发送给所述协议层子单元103。所述传输子単元102包括用于监听数据传输类型的HTTP连接请求的网络端ロ,所述传输子単元102用于将监听到的所述数据传输类型的HTTP连接请求发送给所述协议层子单元103。所述命令子単元104包括用于监听管理命令类型的HTTP连接请求的网络端ロ,所述命令子単元104用于将监听到的所述管理命令类型的HTTP连接请求发送给所述协议层子单元103。所述协议层子单元103包括多个URL模块1031。所述URL模块1031包括多个接ロ子模块10311。所述协议层子单元103用于接收HTTP连接请求,根据所述连接请求,加载和初始化所述URL模块1031以及所述URL模块1031所包含的多个接ロ子模块10311,或者调用所述URL模块1031。所述URL模块1031用于对所述连接请求中的数据进行解密和分类,井根据所述数据的类型调用所述接ロ子模块10311。所述接ロ子模块10311用于将所述数据写入本地文件系统。所述管理単元200用于向所述工作単元100发送数据传输类型和管理命令类型的HTTP连接请求,并且用于接收所述工作単元100发送的,数据传输完成消息和数据接收完成消息。当需要加载新的URL模块1031以及URL模块1031的接ロ子模块10311时,管理单元200会想工作单元100发送管理命令类型的HTTP连接请求,工作单元100根据接收到的管理命令类型的HTTP连接请求,加载和初 始化对应的URL模块1031以及URL模块1031的接ロ子模块10311。图3是本发明实施例所述的数据采集系统实现数据采集的方法流程图。如图3所示,所述方法包括步骤A :读取工作单元的系统配置文件。步骤B :创建主进程和多个子进程,所述子进程通过接收子単元的网络端口和命令子単元的网络端ロ监听HTTP连接请求,所述主进程通过所述接收子单元的网络端ロ、所述命令子単元的网络端口和传输子単元的网络端ロ监听HTTP连接请求。步骤C :加载并且初始化URL模块和所述URL模块的接ロ子模块。 步骤D :接收HTTP连接请求,如果所述连接请求的类型为管理命令类型,执行步骤C,如果所述连接请求的类型为数据传输类型,执行步骤E,如果所述连接请求的类型为数据接收类型,执行步骤F。所述步骤D具体包括步骤Dl :接收HTTP连接请求;步骤D2 :如果所述连接请求通过所述命令子単元的网络端ロ监听获得,则所述连接请求的类型为管理命令类型,执行步骤C。管理命令类型的连接请求中包含URL地址,エ作単元根据所述URL地址加载并且初始化相应的URL模块和所述URL模块的接ロ子模块。步骤D3 :如果所述连接请求通过所述传输子単元的网络端ロ监听获得,则所述连接请求的类型为数据传输类型,执行步骤E ;步骤D4 :如果所述连接请求通过所述接收子单元的网络端ロ监听获得,则所述连接请求的类型为数据接收类型,执行步骤F。步骤E :将所述连接请求中的数据写入分布式文件系统,然后向管理单元发送数据传输完成消息,执行所述步骤D。步骤F :调用所述URL模块对所述连接请求中的数据进行解密和分类。所述步骤F具体包括步骤Fl :根据所述连接请求中的URL地址,调用对应所述连接请求的URL模块;步骤F2 :根据所述连接请求中的IP地址判断所述连接请求是否合法,如果合法,执行步骤F3,否则,忽略所述连接请求,执行所述步骤D ;所述URL模块包含ー个黑名单和ー个白名单;所述黑名单用于存储非法的IP地址,所述白名单用于存储合法的IP地址。所述黑名单和白名单支持对IP地址段的过滤。所述步骤F2具体包括
步骤F21 :当所述黑名单有效时,如果所述黑名单不包含所述连接请求中的IP地址,则所述连接请求合法,执行所述步骤F3,否则,忽略所述连接请求,执行所述步骤D。步骤F21的规定了,保证了在黑名单和白名单冲突时,以黑名单的记录为准。步骤F22 :当所述白名单有效并且所述黑名单无效时,如果所述白名单包含所述连接请求中的IP地址,则所述连接请求合法,执行所述步骤F3,否则,忽略所述连接请求,执行所述步骤D。步骤F3 :对所述连接请求中的数据进行解密,然后提取所述数据中的分类标示,井根据所述分类标示对所述数据进行分类。步骤G :根据所述连接请求中的数据的类型,调用所述接ロ模块,将所述连接请求中的数据写入本地文件系统,判断所述接ロ模块的处理周期是否 结束,如果结束,向所述管理单元发送数据接收完成消息,然后执行所述步骤D,否则,直接执行所述步骤D。本发明实施例所述数据采集系统及其数据采集的方法,分层设置协议层子単元、URL模块和接ロ子模块,并且URL模块和接ロ子模块可以根据管理単元的命令动态加载,从而实现了,对任ー URL模块进行变更而不会影响其他URL模块,对任ー接ロ子模块进行变更而不会影响其他接ロ子模块。并且每ー个URL模块配置独立的黑名单和白名单,可以通过IP地址对连接请求进行过滤,提高了安全性。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种数据采集系统,其特征在于,包括工作单元(100); 所述工作单元(100)包括协议层子单元(103)和命令子单元(104); 所述协议层子单元(103)包括URL模块(1031); 所述URL模块(1031)包括接口子模块(10311); 所述命令子单元(104)包括用于监听管理命令类型的HTTP连接请求的网络端口,所述命令子单元(104)用于将监听到的所述管理命令类型的HTTP连接请求发送给所述协议层子单元(103); 所述协议层子单元(103)用于接收HTTP连接请求,并根据所述连接请求,通知所述工作单元(100)加载和初始化所述URL模块(1031)以及所述URL模块(1031)的接口子模块(10311),或者调用所述URL模块(1031); 所述URL模块(1031)用于对所述连接请求中的数据进行解密和分类,并根据所述数据的类型调用所述接口子模块(10311); 所述接口子模块(10311)用于将所述数据写入本地文件系统。
2.如权利要求I所述的系统,其特征在于,所述工作单元(100)还包括接收子单元(101)和传输子单元(102); 所述接收子单元(101)包括用于监听数据接收类型的HTTP连接请求的网络端口,所述接收子单元(101)用于将监听到的所述数据接收类型的HTTP连接请求发送给所述协议层子单元(103); 所述传输子单元(102)包括用于监听数据传输类型的HTTP连接请求的网络端口,所述传输子单元(102)用于将监听到的所述数据传输类型的HTTP连接请求发送给所述协议层子单元(103)。
3.如权利要求I所述的系统,其特征在于,所述系统还包括管理单元(200);所述管理单元(200)用于向所述工作单元(100)发送数据传输类型和命令管理类型的HTTP连接请求,并且用于接收所述工作单元(100)发送的,数据传输完成消息和数据接收完成消息。
4.一种权利要求I至3之一所述数据采集系统实现数据采集的方法,其特征在于,包括步骤 C :加载并且初始化URL模块和所述URL模块的接口子模块; D :接收HTTP连接请求,如果所述连接请求的类型为管理命令类型,执行所述步骤C,如果所述连接请求的类型为数据传输类型,执行步骤E,如果所述连接请求的类型为数据接收类型,执行步骤F ; E :将所述连接请求中的数据写入分布式文件系统,然后向管理单元发送数据传输完成消息,执行所述步骤D ; F :调用所述URL模块对所述连接请求中的数据进行解密和分类; G :根据所述连接请求中的数据的类型,调用所述接口模块,将所述连接请求中的数据写入本地文件系统,判断所述接口模块的处理周期是否结束,如果结束,向所述管理单元发送数据接收完成消息,然后执行所述步骤D,否则,直接执行所述步骤D。
5.如权利要求4所述的方法,其特征在于,在所述步骤C之前还包括步骤B:创建主进程和多个子进程,所述子进程通过接收子单元的网络端口和命令子单元的网络端口监听HTTP连接请求,所述主进程通过所述接收子单元的网络端口、所述命令子单元的网络端口和传输子单元的网络端口监听HTTP连接请求。
6.如权利要求5所述的方法,其特征在于,在所述步骤B之前还包括步骤A:读取工作单元的系统配置文件。
7.如权利要求5所述的方法,其特征在于,所述步骤D具体包括步骤 Dl :接收HTTP连接请求; D2:如果所述连接请求通过所述命令子单元的网络端口监听获得,则所述连接请求的类型为管理命令类型,执行步骤C ; D3:如果所述连接请求通过所述传输子单元的网络端口监听获得,则所述连接请求的类型为数据传输类型,执行步骤E ; D4:如果所述连接请求通过所述接收子单元的网络端口监听获得,则所述连接请求的类型为数据接收类型,执行步骤F。
8.如权利要求4所述的方法,其特征在于,所述步骤F具体包括步骤 Fl :根据所述连接请求中的URL地址,调用对应所述连接请求的URL模块; F2 :根据所述连接请求中的IP地址判断所述连接请求是否合法,如果合法,执行步骤F3,否则,忽略所述连接请求,执行所述步骤D ; F3 :对所述连接请求中的数据进行解密,然后提取所述数据中的分类标示,并根据所述分类标示对所述数据进行分类。
9.如权利要求8所述的方法,其特征在于,所述URL模块包含一个黑名单和一个白名单;所述黑名单用于存储非法的IP地址,所述白名单用于存储合法的IP地址。
10.如权利要求9所述的方法,其特征在于,所述步骤F2具体包括步骤 F21 :当所述黑名单有效时,如果所述黑名单不包含所述连接请求中的IP地址,则所述连接请求合法,执行所述步骤F3,否则,忽略所述连接请求,执行所述步骤D ; F22:当所述白名单有效并且所述黑名单无效时,如果所述白名单包含所述连接请求中的IP地址,则所述连接请求合法,执行所述步骤F3,否则,忽略所述连接请求,执行所述步骤D。
全文摘要
本发明公开了一种数据采集系统及其数据采集的方法,涉及数据业务领域。所述方法包括步骤C加载并且初始化URL模块和接口子模块;D接收并判断HTTP连接请求的类型,如果为管理命令类型,执行步骤C,如果为数据传输类型,执行步骤E,如果为数据接收类型,执行步骤F;E将连接请求中的数据写入分布式文件系统,向管理单元发送数据传输完成消息,执行步骤D;F调用URL模块对连接请求中的数据进行解密和分类;调用接口模块,将连接请求中的数据写入本地文件系统,判断接口模块的处理周期是否结束,如果结束,发送数据接收完成消息,执行步骤D,否则,执行步骤D。所述方法实现了对任一接口子模块进行变更而不会影响其他接口子模块。
文档编号H04L29/06GK102857480SQ20111018245
公开日2013年1月2日 申请日期2011年6月30日 优先权日2011年6月30日
发明者韩磊 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1