CN113254747A - 基于分布式网络爬虫的地理空间数据获取系统及方法 - Google Patents
基于分布式网络爬虫的地理空间数据获取系统及方法 Download PDFInfo
- Publication number
- CN113254747A CN113254747A CN202110640002.7A CN202110640002A CN113254747A CN 113254747 A CN113254747 A CN 113254747A CN 202110640002 A CN202110640002 A CN 202110640002A CN 113254747 A CN113254747 A CN 113254747A
- Authority
- CN
- China
- Prior art keywords
- data
- crawler
- task
- module
- database
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式网络爬虫的地理空间数据获取系统及方法,系统包括用户需求发布模块、调度引擎服务模块、可执行爬虫程序集模块、HTCondor集群模块和分布式爬虫数据库模块,通过网络爬虫的方式进行互联网空间信息采集,抽取出目标数据及时存入数据库中,可以为对泛在地理空间数据进行进一步的管理使用提供了数据基础。清楚各种来源数据的特点和共同之处。通过归类总结不同类型数据、不同来源数据的获取方法,针对重要的泛在地理空间数据源设计定制化的数据获取应用,并将其融合到分布式爬虫框架中进行综合调度管理,可以实现良好的泛在数据获取效果。
Description
技术领域
本发明涉及数据挖掘技术领域,具体涉及一种基于分布式网络爬虫的地理空间数据获取系统及方法。
背景技术
空间信息在过去是依赖专业人员通过专业工具测量的方式获取,而随着互联网、物联网等技术的发展,任何人都可以通过手机等个人设备快捷获取、并共享空间位置信息。这种智能、实时、高效的地理情境感知式的“全民测绘”体现了泛在地理信息服务的特征,让我们进入了泛在测绘的时代。泛在地理空间信息由空间信息和泛在测绘的概念拓展而来,指无处不在的地理空间信息,既包括专业测绘数据,也包括互联网上各类垂直网站、社交媒体中带有地理位置信息的视频流、文章等主题信息,以及人们使用智能手机共享的地理位置相关信息。
公开互联网环境下的信息搜集,是获取泛在地理空间信息的重要途径之一。由于互联网环境下数据种类多样、来源广泛,如何高效快速地从公开互联网获取各类泛在地理空间信息成为一个重要问题。
当前,网络爬虫是一种可以自动在网络上遍历网页查找信息的技术,它可以辅助相关人员从目标数据源站点定向爬取数据。网络爬虫的基础工作逻辑是从一个链接请求开始,在固定的目标网站上进行精准的数据搜集,之后通过网络协议获取网页加载结果,解析页面内容并抽取出有效数据链接,再以循环迭代的方式完成对整个数据网络的遍历访问。
因此,如何通过网络爬虫的方式进行互联网空间信息采集,抽取出目标数据及时存入数据库中,为对泛在地理空间数据进行进一步的管理使用提供了数据基础,是当前需要解决的问题。
发明内容
本发明的目的是克服如何通过网络爬虫的方式获取地理空间数据的问题。本发明的基于分布式网络爬虫的地理空间数据获取系统及方法,能够支持对多源异构web互联网站点的地理空间数据进行分布式获取,支持纳管多类型的单机地理空间爬虫应用;通过独有的调度引擎机制,充分利用分布式集群环境下的多机计算资源,调用单体爬虫应用来进行并行的数据获取,从而能够提高数据获取效率,具有良好的应用前景。
为了达到上述目的,本发明所采用的技术方案是:
一种基于分布式网络爬虫的地理空间数据获取系统,包括用户需求发布模块、调度引擎服务模块、可执行爬虫程序集模块、HTCondor集群模块和分布式爬虫数据库模块,
所述用户需求发布模块,用于支持用户在选择获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,并编辑完成后提交调度引擎服务模块,并由调度引擎服务模块将用户需求保存分布式爬虫数据库模块;
所述调度引擎服务模块,用于接收用户需求,并将用户需求拆解为可执行的爬虫子任务,同时支持向HTCondor集群模块提交爬虫任务,并监控爬虫任务的执行状态,对不同的任务状态做出针对性的响应操作;
所述可执行爬虫程序集模块,用于执行各类数据的任务拆分、数据源解析、数据抓取、数据下载入数据库的过程,并由各个定制化的爬虫小程序来完成,将定制化爬虫程序集合在一起,构成可执行程序集,便于可执行爬虫程序集模块分发任务提交HTCondor集群模块执行;
所述HTCondor集群模块,用于将当前提交的所有爬虫子任务,有序分配到符合爬虫程序资源要求的计算机节点下执行,执行结果通过分布式爬虫数据库模块输出到指定路径下,具体是通过一个任务提交节点、一个中央管理节点匹配若干个任务执行节点的配置,该任务提交节点可同时为中央管理节点;
所述分布式爬虫数据库模块,包括任务数据库、去重数据库,所述任务数据库,用于负责存储用户需求配置信息和爬虫任务的状态记录信息;所述去重数据库,用于存储各类定制化爬虫程序,且保存爬虫获取抓取数据的唯一标识键值对信息,辅助爬虫进行数据抓取时的元数据比对,去重数据库已有的数据爬虫将不再重复爬取。
前述的基于分布式网络爬虫的地理空间数据获取系统,所述用户需求发布模块,用于支持用户在选择获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,具体为:
数据的类型为GE影像,其的支持用户配置包括空间范围:经纬度矩形范围; 层级范围:瓦片切割层级;时间范围:影像发布年限范围;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为鸽群卫星影像,其的支持用户配置包括空间范围:经纬度矩形范围;层级范围:瓦片切割层级;数据来源:可多选,将近10个影像源;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为AIS船舶动态数据,其的支持用户配置包括空间范围:经纬度矩形范围;时间范围:船舶行驶轨迹的时间范围;精准监测:可输入船舶id、或船舶名称;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为水深测量重磁力数据其的支持用户配置包括空间范围:经纬度矩形范围;层级范围:瓦片切割层级;下载周期:可设置一次性抓取或按指定频率循环抓取。
前述的基于分布式网络爬虫的地理空间数据获取系统,所述调度引擎服务模块,包括用户需求管理单元、任务分割单元、HTCondor作业提交单元和HTCondor任务监控单元,
所述用户需求管理单元,用于任务调度引擎响应用户在前端提交的数据获取需求,将需求保存入分布式爬虫数据库模块,并在对应需求在整个爬虫任务调度执行过程中的状态进行同步更新和维护;
所述任务分割单元,用于任务调度引擎根据用户提交需求中的配置信息,驱动对应的爬虫程序完成子任务分割,并将分割生成的子任务保存入分布式爬虫数据库模块;
所述HTCondor作业提交单元,用于任务调度引擎从分布式爬虫数据库模块中读取未提交任务,并驱动HTCondor集群模块内的节点来完成任务的提交,该过程已HTCondor集群模块分配该作业执行节点为终点;
所述HTCondor任务监控单元,用于在爬虫任务创建后,任务调度引擎轮询HTCondor集群模块作业状态,并根据HTCondor集群模块下对应每个任务的状态、进度更新对应数据库记录,并对异常状态进行对应处理。
前述的基于分布式网络爬虫的地理空间数据获取系统,所述可执行爬虫程序集模块的爬虫程序包括GE倾斜摄影模型数据爬虫程序、GE遥感影像瓦片爬虫程序、OSM矢量\栅格爬虫程序、运动轨迹数据爬虫程序、AIS船舶轨迹爬虫程序、人文类数据爬虫程序,
所述可执行爬虫程序集模块还包括任务分割接口、进度反馈接口、数据去重接口和数据输出接口,各接口均符合爬虫架构的调度接口规范,所述任务分割接口,用于响应任务调度引擎的任务分割请求,并将任务分割结果反馈给任务调度引擎;所述进度反馈接口,用于将任务完成进度及时反馈入分布式爬虫数据库模块;所述数据去重接口,用于连接分布式爬虫数据库模块内的去重数据库,实现数据的更新获取;所述数据输出接口,用于识别数据储存目标地址,实现规范化的数据输出。
前述的基于分布式网络爬虫的地理空间数据获取系统,所述HTCondor集群模块,一组HTCondor集群资源池默认只允许一台中央管理主机,该中央管理主机节点是集群的计算资源信息库,资源池中所有作业的调度都与该机关联。
前述的基于分布式网络爬虫的地理空间数据获取系统,所述任务数据库选型为PostgreSQL,并包括三张数据表,分别为存储用户原始数据需求信息记录表、爬虫任务单次执行记录表和HTCondor任务记录表;所述去重数据库选型为key-velue类型数据库RocksDB,每个需要获取的数据类型会对应创建一张表,相同数据类型的多个任务实例通过连接、维护相同的去重数据表来保证数据更新获取。
一种基于分布式网络爬虫的地理空间数据获取系统的获取方法,
步骤(A),用户需求发布,用户在前端选择自己想要获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,编辑完成后可提交后台调度引擎服务;
步骤(B),用户需求管理启动,任务调度引擎响应用户在前端提交的数据获取需求,将需求保存入库,并在对应需求在整个爬虫任务调度执行过程中的状态进行同步更新和维护;
步骤(C),任务分割,任务调度引擎根据用户提交需求中的配置信息,驱动对应的爬虫程序完成子任务分割,并将分割生成的子任务保存入数据库;
步骤(D),HTCondor作业提交,任务调度引擎从数据库中读取未提交任务,并驱动HTCondor作业提交节点来完成任务的提交,该过程已HTCondor集群分配了作业执行节点为终点,且任务调度引擎会轮询HTCondor集群作业状态,并根据集群下对应每个任务的状态、进度更新对应数据库记录,并对异常状态进行对应处理;
步骤(E),通过HTConodor集群资源池下提交的所有爬虫子任务会被有序分配到符合爬虫程序资源要求的计算机节点下执行,执行结果输出到分布式爬虫数据库模块指定路径下,完成用户需求发布的内容;
步骤(F),根据用户需求发布,重复步骤(A)-步骤(E),完成基于分布式网络爬虫的地理空间数据获取。
本发明的有益效果是:本发明的基于分布式网络爬虫的地理空间数据获取系统及方法,能够支持对多源异构web互联网站点的地理空间数据进行分布式获取,支持纳管多类型的单机地理空间爬虫应用;通过独有的调度引擎机制,充分利用分布式集群环境下的多机计算资源,调用单体爬虫应用来进行并行的数据获取,从而能够提高数据获取效率,通过网络爬虫的方式进行互联网空间信息采集,抽取出目标数据及时存入数据库中,可以为对泛在地理空间数据进行进一步的管理使用提供了数据基础,并针对互联网环境下地理空间数据的特征进行分布式网络爬虫设计,增量数据的特点在数据源数量多、数据结构各异、数据获取方式各有差别,想要获取对应数据,必须研究数据源的数据加载机制,清楚各种来源数据的特点和共同之处,通过归类总结不同类型数据、不同来源数据的获取方法,针对重要的泛在地理空间数据源设计定制化的数据获取应用,并将其融合到分布式爬虫框架中进行综合调度管理,可以实现良好的泛在数据获取效果,具有良好的应用前景。
附图说明
图1是本发明的基于分布式网络爬虫的地理空间数据获取系统的系统框图;
图2是本发明的调度引擎服务模块的结构图;
图3是本发明的可执行爬虫程序集模块的接口示意图;
图4是本发明的分布式爬虫数据库模块的结构图;
图5是本发明的任务数据库的结构图;
图6是本发明的去重数据库的的结构图。
具体实施方式
下面将结合说明书附图,对本发明作进一步的说明。
本发明的基于分布式网络爬虫的地理空间数据获取系统,基于地理空间信息数据源特点,研究了针对性的数据获取方法,并设计了一套可以纳管、调度多源可执行爬虫程序的分布式网络爬虫框架,该框架基于HTCondor资源池实现爬虫任务的并行作业,通过高效的任务调度引擎来管理用户提交的各类数据获取需求,监控各类数据获取任务的执行状态,并通过使用分布式文件系统支持多源异构数据爬取结果的输出,如图1所示,包括用户需求发布模块、调度引擎服务模块、可执行爬虫程序集模块、HTCondor集群模块和分布式爬虫数据库模块,
上述各模块通过分布式网络爬虫支持用户在web界面配置数据获取需求,提交爬虫任务,可视化预览各类任务进度;后台使用爬虫任务调度引擎服务管理用户提交的任务,通过进程交互方式监控HTCondor集群作业信息,同步任务状态;HTCondor集群则通过调度执行爬虫程序集来实现各类数据获取任务的任务切割、数据解析、数据去重以及数据下载的过程,具体功能如下:
所述用户需求发布模块,用于支持用户在选择获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,并编辑完成后提交调度引擎服务模块,并由调度引擎服务模块将用户需求保存分布式爬虫数据库模块;
所述调度引擎服务模块,用于接收用户需求,并将用户需求拆解为可执行的爬虫子任务,同时支持向HTCondor集群模块提交爬虫任务,并监控爬虫任务的执行状态,对不同的任务状态做出针对性的响应操作;
所述可执行爬虫程序集模块,用于执行各类数据的任务拆分、数据源解析、数据抓取、数据下载入数据库的过程,并由各个定制化的爬虫小程序来完成,将定制化爬虫程序集合在一起,构成可执行程序集,便于可执行爬虫程序集模块分发任务提交HTCondor集群模块执行;
所述HTCondor集群模块,用于将当前提交的所有爬虫子任务,有序分配到符合爬虫程序资源要求的计算机节点下执行,执行结果通过分布式爬虫数据库模块输出到指定路径下,具体是通过一个任务提交节点、一个中央管理节点匹配若干个任务执行节点的配置,该任务提交节点可同时为中央管理节点;
所述分布式爬虫数据库模块,包括任务数据库、去重数据库,所述任务数据库,用于负责存储用户需求配置信息和爬虫任务的状态记录信息;所述去重数据库,用于存储各类定制化爬虫程序,且保存爬虫获取抓取数据的唯一标识键值对信息,辅助爬虫进行数据抓取时的元数据比对,去重数据库已有的数据爬虫将不再重复爬取。
所述用户需求发布模块,用于支持用户在选择获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,具体为:
数据的类型为GE影像,其的支持用户配置包括空间范围:经纬度矩形范围; 层级范围:瓦片切割层级;时间范围:影像发布年限范围;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为鸽群卫星影像,其的支持用户配置包括空间范围:经纬度矩形范围;层级范围:瓦片切割层级;数据来源:可多选,将近10个影像源;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为AIS船舶动态数据,其的支持用户配置包括空间范围:经纬度矩形范围;时间范围:船舶行驶轨迹的时间范围;精准监测:可输入船舶id、或船舶名称;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为水深测量重磁力数据其的支持用户配置包括空间范围:经纬度矩形范围;层级范围:瓦片切割层级;下载周期:可设置一次性抓取或按指定频率循环抓取。
该用户需求发布模块不局限于上述数据的类型,可扩展增加,如表1所示,
如图2所示,所述调度引擎服务模块,包括用户需求管理单元、任务分割单元、HTCondor作业提交单元和HTCondor任务监控单元,
所述用户需求管理单元,用于任务调度引擎响应用户在前端提交的数据获取需求,将需求保存入分布式爬虫数据库模块,并在对应需求在整个爬虫任务调度执行过程中的状态进行同步更新和维护;
所述任务分割单元,用于任务调度引擎根据用户提交需求中的配置信息,驱动对应的爬虫程序完成子任务分割,并将分割生成的子任务保存入分布式爬虫数据库模块;
所述HTCondor作业提交单元,用于任务调度引擎从分布式爬虫数据库模块中读取未提交任务,并驱动HTCondor集群模块内的节点来完成任务的提交,该过程已HTCondor集群模块分配该作业执行节点为终点;
所述HTCondor任务监控单元,用于在爬虫任务创建后,任务调度引擎轮询HTCondor集群模块作业状态,并根据HTCondor集群模块下对应每个任务的状态、进度更新对应数据库记录,并对异常状态进行对应处理。
如图3所示,所述可执行爬虫程序集模块的爬虫程序包括GE倾斜摄影模型数据爬虫程序、GE遥感影像瓦片爬虫程序、OSM矢量\栅格爬虫程序、运动轨迹数据爬虫程序、AIS船舶轨迹爬虫程序、人文类数据爬虫程序,
所述可执行爬虫程序集模块还包括任务分割接口、进度反馈接口、数据去重接口和数据输出接口,各接口均符合爬虫架构的调度接口规范,所述任务分割接口,用于响应任务调度引擎的任务分割请求,并将任务分割结果反馈给任务调度引擎;所述进度反馈接口,用于将任务完成进度及时反馈入分布式爬虫数据库模块;所述数据去重接口,用于连接分布式爬虫数据库模块内的去重数据库,实现数据的更新获取;所述数据输出接口,用于识别数据储存目标地址,实现规范化的数据输出。
所述HTCondor集群模块, 一组HTCondor集群资源池默认只允许一台中央管理主机,该中央管理主机节点是集群的计算资源信息库,资源池中所有作业的调度都与该机关联,在要作为中央管理主机的主机上安装HTCondor环境时,需要创建HTCondor Pool,并为其命名(如“HTC_Host”)。对于想要连接到资源池的机器,则相应的节点配置应选择加入已有资源池,并将中央管理主机的IP地址设置为节点的管理中心地址,如实验环境下4台主机搭建完毕后的HTCondor集群配置如表2所示,
如图4-6所示,所述任务数据库选型为PostgreSQL,并包括三张数据表,分别为存储用户原始数据需求信息记录表(Jobinfo)、爬虫任务单次执行记录表(rJobinfo)和HTCondor任务记录表(rTaskinfo);所述去重数据库选型为key-velue类型数据库RocksDB,每个需要获取的数据类型会对应创建一张表,相同数据类型的多个任务实例通过连接、维护相同的去重数据表来保证数据更新获取。
本发明的基于分布式网络爬虫的地理空间数据获取系统的获取方法,
步骤(A),用户需求发布,用户在前端选择自己想要获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,编辑完成后可提交后台调度引擎服务;
步骤(B),用户需求管理启动,任务调度引擎响应用户在前端提交的数据获取需求,将需求保存入库,并在对应需求在整个爬虫任务调度执行过程中的状态进行同步更新和维护;
步骤(C),任务分割,任务调度引擎根据用户提交需求中的配置信息,驱动对应的爬虫程序完成子任务分割,并将分割生成的子任务保存入数据库;
步骤(D),HTCondor作业提交,任务调度引擎从数据库中读取未提交任务,并驱动HTCondor作业提交节点来完成任务的提交,该过程已HTCondor集群分配了作业执行节点为终点,且任务调度引擎会轮询HTCondor集群作业状态,并根据集群下对应每个任务的状态、进度更新对应数据库记录,并对异常状态进行对应处理;
步骤(E),通过HTConodor集群资源池下提交的所有爬虫子任务会被有序分配到符合爬虫程序资源要求的计算机节点下执行,执行结果输出到分布式爬虫数据库模块指定路径下,完成用户需求发布的内容;
步骤(F),根据用户需求发布,重复步骤(A)-步骤(E),完成基于分布式网络爬虫的地理空间数据获取。
下面根据本发明的基于分布式网络爬虫的地理空间数据获取系统及方法,介绍一具体实施例:
(1)数据需求提交
数据获取需求,在分布式爬虫系统下由用户在web交互界面中提交框选需要获取数据的空间范围(最大经度114.37,最小经度114.22,最大纬度30.61,最小纬度30.52),设置好要获取的影像瓦片显示层级范围(最大层级15、最小层级0)、更新探测周期(一天一次),点击“确认下载”。提交成功以后,界面下方出现对应爬虫任务的完成进度条;
(2)爬虫任务分割
分布式爬虫系统下,用户提交的数据获取需求会被自动分割为若干个爬虫子任务提交给HTCondor集群资源池。不同数据类型的任务分割依据不同。本文应用案例的任务分割介绍如表3所示:
(3)爬虫任务调度执行
HTConodor集群资源池下提交的所有爬虫子任务会被有序分配到符合爬虫程序资源要求的计算机节点下执行,执行结果输出到分布式文件系统指定路径下。此外,本发明还将每个应用案例对应的任务需求,使用了相同爬虫程序在单机环境下执行,记录了对应的爬取结果和爬取耗时信息。单机爬虫执行结果与分布式爬虫系统执行结果进行比对分析,可以辅助验证分布式爬虫系统作业结果的正确性,分析其作业效率。
(4)结果分析
7个爬虫子任务从在在前端提交数据获取需求开始,到全部执行一次完毕,时差5分钟。累计下载瓦片数量1260张,下载结果的经纬度范围与前端框选经纬度范围一致,瓦片的显示层级范围为0-15层,瓦片的发布时间范围为2010.01.01至今。下载结果与单机爬虫获取结果一致。在分布式集群环境下耗时则为单机状态下的1/15,分布式爬虫系统应用案例说明,如表4所示:
综上所述,本发明的基于分布式网络爬虫的地理空间数据获取系统及方法,能够支持对多源异构web互联网站点的地理空间数据进行分布式获取,支持纳管多类型的单机地理空间爬虫应用;通过独有的调度引擎机制,充分利用分布式集群环境下的多机计算资源,调用单体爬虫应用来进行并行的数据获取,从而能够提高数据获取效率,通过网络爬虫的方式进行互联网空间信息采集,抽取出目标数据及时存入数据库中,可以为对泛在地理空间数据进行进一步的管理使用提供了数据基础,并针对互联网环境下地理空间数据的特征进行分布式网络爬虫设计,增量数据的特点在数据源数量多、数据结构各异、数据获取方式各有差别,想要获取对应数据,必须研究数据源的数据加载机制,清楚各种来源数据的特点和共同之处,通过归类总结不同类型数据、不同来源数据的获取方法,针对重要的泛在地理空间数据源设计定制化的数据获取应用,并将其融合到分布式爬虫框架中进行综合调度管理,可以实现良好的泛在数据获取效果,具有良好的应用前景。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.基于分布式网络爬虫的地理空间数据获取系统,其特征在于:包括用户需求发布模块、调度引擎服务模块、可执行爬虫程序集模块、HTCondor集群模块和分布式爬虫数据库模块,
所述用户需求发布模块,用于支持用户在选择获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,并编辑完成后提交调度引擎服务模块,并由调度引擎服务模块将用户需求保存分布式爬虫数据库模块;
所述调度引擎服务模块,用于接收用户需求,并将用户需求拆解为可执行的爬虫子任务,同时支持向HTCondor集群模块提交爬虫任务,并监控爬虫任务的执行状态,对不同的任务状态做出针对性的响应操作;
所述可执行爬虫程序集模块,用于执行各类数据的任务拆分、数据源解析、数据抓取、数据下载入数据库的过程,并由各个定制化的爬虫小程序来完成,将定制化爬虫程序集合在一起,构成可执行程序集,便于可执行爬虫程序集模块分发任务提交HTCondor集群模块执行;
所述HTCondor集群模块,用于将当前提交的所有爬虫子任务,有序分配到符合爬虫程序资源要求的计算机节点下执行,执行结果通过分布式爬虫数据库模块输出到指定路径下,具体是通过一个任务提交节点、一个中央管理节点匹配若干个任务执行节点的配置,该任务提交节点可同时为中央管理节点;
所述分布式爬虫数据库模块,包括任务数据库、去重数据库,所述任务数据库,用于负责存储用户需求配置信息和爬虫任务的状态记录信息;所述去重数据库,用于存储各类定制化爬虫程序,且保存爬虫获取抓取数据的唯一标识键值对信息,辅助爬虫进行数据抓取时的元数据比对,去重数据库已有的数据爬虫将不再重复爬取。
2.根据权利要求1所述的基于分布式网络爬虫的地理空间数据获取系统,其特征在于:所述用户需求发布模块,用于支持用户在选择获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,具体为:
数据的类型为GE影像,其的支持用户配置包括空间范围:经纬度矩形范围; 层级范围:瓦片切割层级;时间范围:影像发布年限范围;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为鸽群卫星影像,其的支持用户配置包括空间范围:经纬度矩形范围;层级范围:瓦片切割层级;数据来源:可多选,将近10个影像源;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为AIS船舶动态数据,其的支持用户配置包括空间范围:经纬度矩形范围;时间范围:船舶行驶轨迹的时间范围;精准监测:可输入船舶id、或船舶名称;下载周期:可设置一次性抓取或按指定频率循环抓取,
数据的类型为水深测量重磁力数据其的支持用户配置包括空间范围:经纬度矩形范围;层级范围:瓦片切割层级;下载周期:可设置一次性抓取或按指定频率循环抓取。
3.根据权利要求2所述的基于分布式网络爬虫的地理空间数据获取系统,其特征在于:所述调度引擎服务模块,包括用户需求管理单元、任务分割单元、HTCondor作业提交单元和HTCondor任务监控单元,
所述用户需求管理单元,用于任务调度引擎响应用户在前端提交的数据获取需求,将需求保存入分布式爬虫数据库模块,并在对应需求在整个爬虫任务调度执行过程中的状态进行同步更新和维护;
所述任务分割单元,用于任务调度引擎根据用户提交需求中的配置信息,驱动对应的爬虫程序完成子任务分割,并将分割生成的子任务保存入分布式爬虫数据库模块;
所述HTCondor作业提交单元,用于任务调度引擎从分布式爬虫数据库模块中读取未提交任务,并驱动HTCondor集群模块内的节点来完成任务的提交,该过程已HTCondor集群模块分配该作业执行节点为终点;
所述HTCondor任务监控单元,用于在爬虫任务创建后,任务调度引擎轮询HTCondor集群模块作业状态,并根据HTCondor集群模块下对应每个任务的状态、进度更新对应数据库记录,并对异常状态进行对应处理。
4.根据权利要求3所述的基于分布式网络爬虫的地理空间数据获取系统,其特征在于:所述可执行爬虫程序集模块的爬虫程序包括GE倾斜摄影模型数据爬虫程序、GE遥感影像瓦片爬虫程序、OSM矢量\栅格爬虫程序、运动轨迹数据爬虫程序、AIS船舶轨迹爬虫程序、人文类数据爬虫程序,
所述可执行爬虫程序集模块还包括任务分割接口、进度反馈接口、数据去重接口和数据输出接口,各接口均符合爬虫架构的调度接口规范,所述任务分割接口,用于响应任务调度引擎的任务分割请求,并将任务分割结果反馈给任务调度引擎;所述进度反馈接口,用于将任务完成进度及时反馈入分布式爬虫数据库模块;所述数据去重接口,用于连接分布式爬虫数据库模块内的去重数据库,实现数据的更新获取;所述数据输出接口,用于识别数据储存目标地址,实现规范化的数据输出。
5.根据权利要求4所述的基于分布式网络爬虫的地理空间数据获取系统,其特征在于:所述HTCondor集群模块, 一组HTCondor集群资源池默认只允许一台中央管理主机,该中央管理主机节点是集群的计算资源信息库,资源池中所有作业的调度都与该机关联。
6.根据权利要求5所述的基于分布式网络爬虫的地理空间数据获取系统,其特征在于:所述任务数据库选型为PostgreSQL,并包括三张数据表,分别为存储用户原始数据需求信息记录表、爬虫任务单次执行记录表和HTCondor任务记录表;所述去重数据库选型为key-velue类型数据库RocksDB,每个需要获取的数据类型会对应创建一张表,相同数据类型的多个任务实例通过连接、维护相同的去重数据表来保证数据更新获取。
7.基于权利要求6所述的基于分布式网络爬虫的地理空间数据获取系统的获取方法,其特征在于:
步骤(A),用户需求发布,用户在前端选择自己想要获取数据的类型、设置获取数据的时空范围,配置数据抓取的周期参数,编辑完成后可提交后台调度引擎服务;
步骤(B),用户需求管理启动,任务调度引擎响应用户在前端提交的数据获取需求,将需求保存入库,并在对应需求在整个爬虫任务调度执行过程中的状态进行同步更新和维护;
步骤(C),任务分割,任务调度引擎根据用户提交需求中的配置信息,驱动对应的爬虫程序完成子任务分割,并将分割生成的子任务保存入数据库;
步骤(D),HTCondor作业提交,任务调度引擎从数据库中读取未提交任务,并驱动HTCondor作业提交节点来完成任务的提交,该过程已HTCondor集群分配了作业执行节点为终点,且任务调度引擎会轮询HTCondor集群作业状态,并根据集群下对应每个任务的状态、进度更新对应数据库记录,并对异常状态进行对应处理;
步骤(E),通过HTConodor集群资源池下提交的所有爬虫子任务会被有序分配到符合爬虫程序资源要求的计算机节点下执行,执行结果输出到分布式爬虫数据库模块指定路径下,完成用户需求发布的内容;
步骤(F),根据用户需求发布,重复步骤(A)-步骤(E),完成基于分布式网络爬虫的地理空间数据获取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110640002.7A CN113254747B (zh) | 2021-06-09 | 2021-06-09 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110640002.7A CN113254747B (zh) | 2021-06-09 | 2021-06-09 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254747A true CN113254747A (zh) | 2021-08-13 |
CN113254747B CN113254747B (zh) | 2021-10-15 |
Family
ID=77187176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110640002.7A Active CN113254747B (zh) | 2021-06-09 | 2021-06-09 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254747B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398456A (zh) * | 2021-12-30 | 2022-04-26 | 如皋市勘测院有限公司 | 一种基于全量数据的地理服务发布系统及方法 |
CN114564553A (zh) * | 2022-04-27 | 2022-05-31 | 北京东方融创信息技术有限公司 | 数字地球可视化系统及方法 |
CN115225719A (zh) * | 2022-08-31 | 2022-10-21 | 中建电子商务有限责任公司 | 一种分布式定向网络数据采集解析方法 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067521A (zh) * | 2013-01-08 | 2013-04-24 | 中国科学院声学研究所 | 一种分布式爬虫集群中的节点和系统 |
CN104063479A (zh) * | 2014-07-02 | 2014-09-24 | 成都数联铭品科技有限公司 | 一种基于社会网络的品牌网络热度计算方法 |
CN104899324A (zh) * | 2015-06-19 | 2015-09-09 | 成都国腾实业集团有限公司 | 一种基于idc有害信息监测系统的样本训练系统 |
US20160092591A1 (en) * | 2014-09-29 | 2016-03-31 | International Business Machines Corporation | Clustering repetitive structure of asynchronous web application content |
CN106021608A (zh) * | 2016-06-22 | 2016-10-12 | 广东亿迅科技有限公司 | 一种分布式爬虫系统及其实现方法 |
CN106484886A (zh) * | 2016-10-17 | 2017-03-08 | 金蝶软件(中国)有限公司 | 一种数据采集的方法及其相关设备 |
CN107071009A (zh) * | 2017-03-28 | 2017-08-18 | 江苏飞搏软件股份有限公司 | 一种负载均衡的分布式大数据爬虫系统 |
CN107608786A (zh) * | 2017-08-25 | 2018-01-19 | 北京科技大学 | 一种基于gpu和分布式计算的高层建筑群震害分析方法 |
CN110442769A (zh) * | 2019-08-05 | 2019-11-12 | 深圳乐信软件技术有限公司 | 分布式数据爬取系统、方法、装置、设备和存储介质 |
CN110737814A (zh) * | 2019-10-21 | 2020-01-31 | 软通动力信息技术有限公司 | 一种网站数据的爬取方法、装置、电子设备及存储介质 |
CN110866167A (zh) * | 2019-11-14 | 2020-03-06 | 北京知道创宇信息技术股份有限公司 | 任务分配方法、装置、服务器和存储介质 |
CN111026945A (zh) * | 2019-12-05 | 2020-04-17 | 北京创鑫旅程网络技术有限公司 | 多平台爬虫调度方法、装置和存储介质 |
CN111580954A (zh) * | 2020-04-01 | 2020-08-25 | 中国科学院信息工程研究所 | 一种可扩展的分布式数据采集方法和系统 |
CN112035721A (zh) * | 2020-07-22 | 2020-12-04 | 大箴(杭州)科技有限公司 | 一种爬虫集群监控方法、装置、存储介质及计算机设备 |
CN112597373A (zh) * | 2020-12-29 | 2021-04-02 | 科技谷(厦门)信息技术有限公司 | 一种基于分布式爬虫引擎的数据采集方法 |
CN112612939A (zh) * | 2020-12-18 | 2021-04-06 | 山东中创软件工程股份有限公司 | 一种爬虫部署方法、系统、装置、设备及存储介质 |
CN112699291A (zh) * | 2021-01-12 | 2021-04-23 | 浪潮卓数大数据产业发展有限公司 | 一种基于爬虫系统的任务采集平台实现方法 |
-
2021
- 2021-06-09 CN CN202110640002.7A patent/CN113254747B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067521A (zh) * | 2013-01-08 | 2013-04-24 | 中国科学院声学研究所 | 一种分布式爬虫集群中的节点和系统 |
CN104063479A (zh) * | 2014-07-02 | 2014-09-24 | 成都数联铭品科技有限公司 | 一种基于社会网络的品牌网络热度计算方法 |
US20160092591A1 (en) * | 2014-09-29 | 2016-03-31 | International Business Machines Corporation | Clustering repetitive structure of asynchronous web application content |
CN104899324A (zh) * | 2015-06-19 | 2015-09-09 | 成都国腾实业集团有限公司 | 一种基于idc有害信息监测系统的样本训练系统 |
CN106021608A (zh) * | 2016-06-22 | 2016-10-12 | 广东亿迅科技有限公司 | 一种分布式爬虫系统及其实现方法 |
CN106484886A (zh) * | 2016-10-17 | 2017-03-08 | 金蝶软件(中国)有限公司 | 一种数据采集的方法及其相关设备 |
CN107071009A (zh) * | 2017-03-28 | 2017-08-18 | 江苏飞搏软件股份有限公司 | 一种负载均衡的分布式大数据爬虫系统 |
CN107608786A (zh) * | 2017-08-25 | 2018-01-19 | 北京科技大学 | 一种基于gpu和分布式计算的高层建筑群震害分析方法 |
CN110442769A (zh) * | 2019-08-05 | 2019-11-12 | 深圳乐信软件技术有限公司 | 分布式数据爬取系统、方法、装置、设备和存储介质 |
CN110737814A (zh) * | 2019-10-21 | 2020-01-31 | 软通动力信息技术有限公司 | 一种网站数据的爬取方法、装置、电子设备及存储介质 |
CN110866167A (zh) * | 2019-11-14 | 2020-03-06 | 北京知道创宇信息技术股份有限公司 | 任务分配方法、装置、服务器和存储介质 |
CN111026945A (zh) * | 2019-12-05 | 2020-04-17 | 北京创鑫旅程网络技术有限公司 | 多平台爬虫调度方法、装置和存储介质 |
CN111580954A (zh) * | 2020-04-01 | 2020-08-25 | 中国科学院信息工程研究所 | 一种可扩展的分布式数据采集方法和系统 |
CN112035721A (zh) * | 2020-07-22 | 2020-12-04 | 大箴(杭州)科技有限公司 | 一种爬虫集群监控方法、装置、存储介质及计算机设备 |
CN112612939A (zh) * | 2020-12-18 | 2021-04-06 | 山东中创软件工程股份有限公司 | 一种爬虫部署方法、系统、装置、设备及存储介质 |
CN112597373A (zh) * | 2020-12-29 | 2021-04-02 | 科技谷(厦门)信息技术有限公司 | 一种基于分布式爬虫引擎的数据采集方法 |
CN112699291A (zh) * | 2021-01-12 | 2021-04-23 | 浪潮卓数大数据产业发展有限公司 | 一种基于爬虫系统的任务采集平台实现方法 |
Non-Patent Citations (1)
Title |
---|
周小董: "使用Docker Swarm搭建分布式爬虫集群", 《HTTPS://BLOG.CSDN.NET/XC_ZHOU/ARTICLE/DETAILS/83243077》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398456A (zh) * | 2021-12-30 | 2022-04-26 | 如皋市勘测院有限公司 | 一种基于全量数据的地理服务发布系统及方法 |
CN114564553A (zh) * | 2022-04-27 | 2022-05-31 | 北京东方融创信息技术有限公司 | 数字地球可视化系统及方法 |
CN115225719A (zh) * | 2022-08-31 | 2022-10-21 | 中建电子商务有限责任公司 | 一种分布式定向网络数据采集解析方法 |
CN115225719B (zh) * | 2022-08-31 | 2023-01-10 | 中建电子商务有限责任公司 | 一种分布式定向网络数据采集解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113254747B (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113254747B (zh) | 基于分布式网络爬虫的地理空间数据获取系统及方法 | |
CN111400326B (zh) | 一种智慧城市数据管理系统及其方法 | |
Park et al. | Web-based collaborative big data analytics on big data as a service platform | |
CN104850583B (zh) | 海量气候模式输出数据的分布式协同分析系统及方法 | |
CN105512162A (zh) | 一种基于Storm的流数据实时智能化处理框架 | |
CN105447088A (zh) | 一种基于志愿者计算的多租户专业云爬虫 | |
KR20150092586A (ko) | 데이터 플로 기반 대규모 데이터 스트림 처리 방법 및 장치 | |
CN107807983B (zh) | 一种支持大规模动态图数据查询的并行处理框架的设计方法 | |
US11507739B2 (en) | Systems and methods for collaborative data entry and integration | |
CN106296788B (zh) | 一种跨机房集群渲染部署实现系统 | |
CN111475506B (zh) | 数据存储、查询的方法、装置、系统、设备、存储介质 | |
CN103413041B (zh) | 一种基于复杂产品研制对象的协同感知系统构建方法 | |
CN103810272A (zh) | 一种数据处理方法和系统 | |
CN105144155A (zh) | 可视地表示多源数据的查询 | |
Corradi et al. | Automatic extraction of POIs in smart cities: Big data processing in ParticipAct | |
CN110766375A (zh) | 工作平台任务构建系统及构建方法 | |
CN113010296A (zh) | 基于形式化模型的任务解析与资源分配方法及系统 | |
RU2635886C2 (ru) | Системы и способы для управления файлами посредством мобильных вычислительных устройств | |
Ma | A survey of big data for IoT in cloud computing | |
CN109165203A (zh) | 基于Hadoop架构的大型公共建筑能耗数据存储分析方法 | |
Arulswamy et al. | Columbus: Enabling scalable scientific workflows for fast evolving spatio-temporal sensor data | |
CN102054235A (zh) | 基于数字资源服务构件模型的机构仓储搭建方法和装置 | |
CN113468166A (zh) | 元数据处理方法、装置、存储介质及服务器 | |
Xiong et al. | HiGIS: An open framework for high performance geographic information system | |
Yang et al. | Developing a cloud-based online geospatial information sharing and geoprocessing platform to facilitate collaborative education and research |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |