CN111143336A - 面向高校科研数据管理的网络爬虫管理方法及平台 - Google Patents
面向高校科研数据管理的网络爬虫管理方法及平台 Download PDFInfo
- Publication number
- CN111143336A CN111143336A CN201911179380.9A CN201911179380A CN111143336A CN 111143336 A CN111143336 A CN 111143336A CN 201911179380 A CN201911179380 A CN 201911179380A CN 111143336 A CN111143336 A CN 111143336A
- Authority
- CN
- China
- Prior art keywords
- scientific research
- data
- research data
- management
- task
- 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
- 238000011160 research Methods 0.000 title claims abstract description 153
- 238000007726 management method Methods 0.000 title claims abstract description 85
- 238000013523 data management Methods 0.000 claims abstract description 23
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000004458 analytical method Methods 0.000 claims abstract description 9
- 238000004140 cleaning Methods 0.000 claims abstract description 7
- 230000009193 crawling Effects 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 4
- 230000008878 coupling Effects 0.000 abstract description 6
- 238000010168 coupling process Methods 0.000 abstract description 6
- 238000005859 coupling reaction Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 11
- 230000006872 improvement Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241000238413 Octopus Species 0.000 description 1
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/24—Querying
- G06F16/245—Query processing
-
- 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/24—Querying
- G06F16/248—Presentation of query results
-
- 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/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational 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/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Tourism & Hospitality (AREA)
- Computational Linguistics (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向高校科研数据管理的网络爬虫管理方法,包括:管理端将任务数据发布至缓存数据库;脚本端定时从缓存数据库中获取任务数据并根据任务数据采集初始科研数据,再将初始科研数据存储至数据仓库中;业务系统对数据仓库中的初始科研数据进行拆分清洗处理,以生成基准科研数据;算法模块对基准科研数据进行匹配处理以计算出匹配科研数据,并将匹配科研数据反馈至业务系统;业务系统对所述匹配科研数据进行操作以生成目标科研数据,并将目标科研数据发送至业务分析平台进行展示。本发明还公开了一种面向高校科研数据管理的网络爬虫管理平台。采用本发明,具有高可用,高性能,高内聚,低耦合等特点。
Description
技术领域
本发明涉及网络爬虫技术领域,尤其涉及一种面向高校科研数据管理的网络爬虫管理方法及一种面向高校科研数据管理的网络爬虫管理平台。
背景技术
信息化快速发展的时代,大多数企业都已经离不开爬虫,爬虫是获取数据的一种有效方式。但是爬虫技术纷繁复杂,不同类型的抓取场景会运用到不同的技术。例如,简单的静态页面可以用HTTP请求+HTML解析器直接搞定;一个动态页面需要用Puppeteer或Selenium等自动化测试工具;有反爬的网站需要用到代理、打码等技术;等等。因此,对爬虫有规模量级要求的企业或个人需要同时处理不同类别的爬虫,这会凭空增添很多附加的管理成本。同时,爬虫管理者还需要应对网站内容变更、持续增量抓取、任务失败等问题。一个成熟的爬虫管理流程应该包含一个管理系统,能够有效处理上述问题。因此企业内部一般都会开发自己的内部爬虫管理系统,以应对复杂的爬虫管理需求。狭义的爬虫管理平台定义是一个一站式管理系统,集爬虫部署、任务调度、任务监控、结果展示等模块于一体,通常配有可视化UI界面,可以在Web端通过与UI界面交互来有效管理爬虫。爬虫管理平台一般来说是支持分布式的,可以在多台机器上协作运行。而广义爬虫管理平台,多定义为大众的商业爬虫抓取工具。
近年来,高校通过不断完善科研管理机制,采取多种措施鼓励教师从事科学研究,着力营造良好的学术氛围,大力促进教师学术水平的提升,因而学校教师在科学研究方面取得了比较突出的成绩。然而如何更好的管理、统计高校科研成果,也成为了一项急需解决的问题。传统的科研信息管理模式,通过人工操作的方式,要求教师重复填写论文、项目、获奖、专利等业绩以及个人信息,各类填报数据缺少共享和复用,信息更新不及时,重复填报浪费了教师的宝贵的时间;在工作中仍有大量表格通过纸质方式填报,相关数据缺少系统化的管理或需要重复录入系统,方式落后且浪费资源;同时,部分业务流程需要跨部门协同审批,现有填表方式流程繁冗,导致行政效率不高。实践表明,通过利用大数据信息化系统去辅助高校进行科研数据管理,实现科研数据可视化,是目前解决该问题的有效途径。同时信息化系统,可辅助高校进行更客观、简单化的人才考察,促进学校科研事业的持续、健康发展。
现有的爬虫管理平台,如后羿采集器(曾用名:神箭手),是基于云服务的,可以在线上编写、运行和监控爬虫,在广义爬虫平台中最接近狭义定义的爬虫管理平台;而八爪鱼,通常是一个大众的商业爬虫抓取工具,可以让用户拖拉拽编写、运行爬虫,导出数据。我们也可能见过各种API聚合服务商,例如聚合数据,这是一个可以直接调用网站接口获取数据的平台,这其实也算作爬虫平台的一个变种,只是它辅助完成了爬虫编写这一过程。而介于这两者之间的呢,国外有一家叫Kimonolab的公司,它开发了一个叫Kimono的Chrome插件,可以让用户在页面上可视化的点击元素并生成抓取规则,并在其网站上生成爬虫程序,用户提交任务,后台就可以自动在网站上抓取数据了。然而以上这类的爬虫管理平台,通常无法满足高校针对主题业务数据的采集和监测需求,因此,需要有针对性的开发一种面向高校科研数据管理业务的主题网络爬虫及网络爬虫监测系统,故一种面向高校科研数据管理的网络爬虫管理平台应运而生。
发明内容
本发明所要解决的技术问题在于,提供一种面向高校科研数据管理的网络爬虫管理方法及平台,具有高可用,高性能,高内聚,低耦合等特点。
为了解决上述技术问题,本发明提供了一种面向高校科研数据管理的网络爬虫管理方法,包括:管理端将任务数据发布至缓存数据库;脚本端定时从所述缓存数据库中获取所述任务数据并根据所述任务数据采集初始科研数据,再将所述初始科研数据存储至数据仓库中;业务系统对所述数据仓库中的初始科研数据进行拆分清洗处理,以生成基准科研数据;算法模块对所述基准科研数据进行匹配处理以计算出匹配科研数据,并将所述匹配科研数据反馈至业务系统;所述业务系统对所述匹配科研数据进行操作以生成目标科研数据,并将所述目标科研数据发送至业务分析平台进行展示。
作为上述方案的改进,脚本端将初始科研数据存储至数据仓库中的步骤包括:脚本端将初始科研数据直接存储至数据仓库中。
作为上述方案的改进,脚本端将初始科研数据存储至数据仓库中的步骤包括:脚本端将初始科研数据直接存储至关系型数据库中;ETL工具将关系型数据库中的初始科研数据抽取到数据仓库中。
作为上述方案的改进,所述脚本端根据所述任务数据采集初始科研数据时,采用并行方式进行采集。
作为上述方案的改进,所述脚本端定时从缓存数据库中获取所述任务数据并根据任务数据采集初始科研数据的步骤包括:当Docker容器启动时,将爬虫状态设置为“等待任务”;当Docker容器检测到缓存数据库中有新的任务数据时,获取所述任务数据并根据所述任务数据采集初始科研数据,将爬虫状态设置为“正在执行”;当Docker容器完成采集后,将爬虫状态设置为“已完成”;当Docker容器没有启动或停止采集时,将爬虫状态设置为“已停止”。
相应地,本发明还提供了一种面向高校科研数据管理的网络爬虫管理平台,包括:管理端,用于将任务数据发布至缓存数据库;缓存数据库,用于存储所述任务数据;脚本端,用于定时从所述缓存数据库中获取所述任务数据并根据所述任务数据采集初始科研数据;数据仓库,用于存储初始科研数据;业务系统,用于对所述数据仓库中的初始科研数据进行拆分清洗处理,以生成基准科研数据,还用于对匹配科研数据进行操作以生成目标科研数据;算法模块,用于对所述基准科研数据进行匹配处理以计算出匹配科研数据;业务分析平台,用于展示目标科研数据。
作为上述方案的改进,所述面向高校科研数据管理的网络爬虫管理平台还包括:关系型数据库,用于存储初始科研数据;ETL工具,用于将关系型数据库中的初始科研数据抽取到数据仓库中。
作为上述方案的改进,所述脚本端部署于至少一台服务器上。
作为上述方案的改进,所述服务器包括主题服务器及列表服务器,其中,部署于所述主题服务器上的脚本端用于爬取主题任务,部署于所述列表服务器上的脚本端用于爬取列表数据。
作为上述方案的改进,所述脚本端内设有Docker容器,其中,当Docker容器启动时,将爬虫状态设置为“等待任务”;当Docker容器检测到缓存数据库中有新的任务数据时,获取所述任务数据并根据所述任务数据采集初始科研数据,将爬虫状态设置为“正在执行”;当Docker容器完成采集后,将爬虫状态设置为“已完成”;当Docker容器没有启动或停止采集时,将爬虫状态设置为“已停止”。
实施本发明,具有如下有益效果:
针对传统的高校科研数据管理机制中存在的问题,以及高校对智能化科研管理辅助技术的诉求,本发明具有以下有益效果:
1、独特的设计构造思想进行不同技术栈之间的整合,简易方便的形式进行不同语言之间的相互通信机制,综合各类服务优势聚合而成,数据服务提供专业API,可供其他业务系统使用。
2、规划拆分爬虫脚本,功能点,一次爬取,多次使用。
3、具有高可用,高性能,高内聚,低耦合等特点。
附图说明
图1是本发明面向高校科研数据管理的网络爬虫管理方法的第一实施例流程图;
图2是本发明面向高校科研数据管理的网络爬虫管理平台的第一实施例结构示意图;
图3是本发明面向高校科研数据管理的网络爬虫管理平台的第二实施例结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
参见图1,图1显示了本发明面向高校科研数据管理的网络爬虫管理方法的第一实施例流程图,其包括:
S101,管理端将任务数据发布至缓存数据库。
本发明中,管理端自成体系,包含基本规则、爬虫管理、发布任务、监控任务、基本管理等操作,用于实现如何执行、调度爬虫抓取任务,以及如何监控任务,包括日志监控等等;同时,管理端分别采用微服务架构,可扩展,技术栈迎合最新流行技术,易上手。
工作时,管理端通过管理界面以便用户发布任务数据,所述任务数据包括主题任务数据及列表任务数据。主题任务数据可以选择论文、期刊、专利、基金等类型。
相应地,管理端与脚本端使用缓存数据库Redis进行数据通信,可提供高性能、丰富的数据类型支持,以最大程度支撑管理端和脚本端进行通信。
S102,脚本端定时从所述缓存数据库中获取所述任务数据并根据所述任务数据采集初始科研数据,再将所述初始科研数据存储至数据仓库中。
本发明中,脚本端可使用任何语言(一般以流行技术栈Python为主),任何形式的数据获取形式;在基本体系规则下,低耦合,高内聚,可与管理端进行无缝连接。具体地,脚本端可包括爬虫部署,即将开发好的爬虫部署(打包或复制)到相应的节点上,以及爬虫配置和版本管理。
需要说明的是,脚本端可将初始科研数据直接存储至数据仓库中,也可将初始科研数据直接存储至关系型数据库(Hive)中,再由ETL工具(Sqoop)将关系型数据库中的初始科研数据抽取到数据仓库中。所述关系型数据库包括Mysql、Pgsql等数据库,但不以此为限制。
另外,所述脚本端根据所述任务数据采集初始科研数据时,采用并行方式进行采集。同时,由于任务的执行规则各不相同,因此需要规划制定对应的执行策略。
因此,管理端发布完任务数据后可以立即执行,也可以先保存任务,然后待时间成熟的时候去执行;任务数据在未执行之前可以修改发布的任务;执行后,可在Kafka集群中创建一个Kafka的Topic,打包发布到Redis相关的Key中,然后脚本端会根据指定的Partition个数来具体的负责均衡存储对应的数据,负载均衡策略为数据的索引和分区的个数进行取模来指定此条数据具体存储在哪个分区中。
本发明采用统一Docker容器化各个组价,服务等,爬虫脚本一次打包发布,随意拉取扩展爬虫节点,体积小,低性能要求承载点,最大化产出完成任务。具体地,所述脚本端定时从缓存数据库中获取所述任务数据并根据任务数据采集初始科研数据的步骤包括:
(1)当Docker容器启动时,将爬虫状态设置为“等待任务”。
本发明中,将爬虫状态划分为“等待任务”、“正在执行”、“已完成”及“已停止”四种状态。
(2)当Docker容器检测到缓存数据库中有新的任务数据时,获取所述任务数据并根据所述任务数据采集初始科研数据,将爬虫状态设置为“正在执行”。
(3)当Docker容器完成采集后,将爬虫状态设置为“已完成”,并继续等待下一任务数据,并依次循环。
(4)当Docker容器没有启动或停止采集时,将爬虫状态设置为“已停止”。
S103,业务系统对所述数据仓库中的初始科研数据进行拆分清洗处理,以生成基准科研数据。
S104,算法模块对所述基准科研数据进行匹配处理以计算出匹配科研数据,并将所述匹配科研数据反馈至业务系统。
需要说明的是,算法模块可根据预设算法对基准科研数据进行匹配处理,其中,所述预设算法可根据匹配需求进行设定。
S105,所述业务系统对所述匹配科研数据进行操作以生成目标科研数据,并将所述目标科研数据发送至业务分析平台进行展示。
业务分析平台包括一个可视化UI界面,让用户可通过与其交互,与后台应用进行通信。
因此,本发明通过面向高校科研数据管理的网络爬虫管理方法,实现对国内外各研究机构的论文、基金项目、专利、科学技术奖励、期刊、精品课程、学术声誉、高端人才等相关主题信息的采集和监测,构建科研管理所需的数据库,为科研可视化系统做数据支持;为构建教师科研身份界定、教师与科研成果匹配提供数据支撑,从而实现了高校科研数据的有效管理。
参见图2,图2显示了本发明面向高校科研数据管理的网络爬虫管理平台的第一实施例,其包括:
管理端,用于将任务数据发布至缓存数据库。本发明中,管理端自成体系,包含基本规则、爬虫管理、发布任务、监控任务、基本管理等操作,用于实现如何执行、调度爬虫抓取任务,以及如何监控任务,包括日志监控等等;同时,管理端分别采用微服务架构,可扩展,技术栈迎合最新流行技术,易上手;工作时,管理端通过管理界面以便用户发布任务数据,所述任务数据包括主题任务数据及列表任务数据,其中,主题任务数据可以选择论文、期刊、专利、基金等类型。
缓存数据库,用于存储所述任务数据。需要说明的是,管理端与脚本端使用缓存数据库Redis进行数据通信,可提供高性能、丰富的数据类型支持,以最大程度支撑管理端和脚本端进行通信。
脚本端,用于定时从所述缓存数据库中获取所述任务数据并根据所述任务数据采集初始科研数据。本发明中,脚本端可使用任何语言(一般以流行技术栈Python为主),任何形式的数据获取形式;在基本体系规则下,低耦合,高内聚,可与管理端进行无缝连接。具体地,脚本端可包括爬虫部署,即将开发好的爬虫部署(打包或复制)到相应的节点上,以及爬虫配置和版本管理。另外,所述脚本端根据所述任务数据采集初始科研数据时,采用并行方式进行采集。同时,由于任务的执行规则各不相同,因此需要规划制定对应的执行策略。
数据仓库,用于存储初始科研数据。
业务系统,用于对所述数据仓库中的初始科研数据进行拆分清洗处理,以生成基准科研数据,还用于对匹配科研数据进行操作以生成目标科研数据。
算法模块,用于对所述基准科研数据进行匹配处理以计算出匹配科研数据。需要说明的是,算法模块可根据预设算法对基准科研数据进行匹配处理,其中,所述预设算法可根据匹配需求进行设定。
业务分析平台,用于展示目标科研数据。业务分析平台包括一个可视化UI界面,让用户可通过与其交互,与后台应用进行通信。
进一步,所述脚本端内设有Docker容器,本发明采用统一Docker容器化各个组价,服务等,爬虫脚本一次打包发布,随意拉取扩展爬虫节点,体积小,低性能要求承载点,最大化产出完成任务。具体地:
当Docker容器启动时,将爬虫状态设置为“等待任务”。本发明中,将爬虫状态划分为“等待任务”、“正在执行”、“已完成”及“已停止”四种状态。
当Docker容器检测到缓存数据库中有新的任务数据时,获取所述任务数据并根据所述任务数据采集初始科研数据,将爬虫状态设置为“正在执行”。
当Docker容器完成采集后,将爬虫状态设置为“已完成”,并继续等待下一任务数据,并依次循环。
当Docker容器没有启动或停止采集时,将爬虫状态设置为“已停止”。
如图3所示,所述面向高校科研数据管理的网络爬虫管理平台还包括:
关系型数据库,用于存储初始科研数据。
ETL工具,用于将关系型数据库中的初始科研数据抽取到数据仓库中。
所述脚本端部署于至少一台服务器上。
需要说明的是,脚本端可将初始科研数据直接存储至数据仓库中,也可将初始科研数据直接存储至关系型数据库(Hive)中,再由ETL工具(Sqoop)将关系型数据库中的初始科研数据抽取到数据仓库中。所述关系型数据库包括Mysql、Pgsql等数据库,但不以此为限制。
管理端发布完任务数据后可以立即执行,也可以先保存任务,然后待时间成熟的时候去执行;任务数据在未执行之前可以修改发布的任务;执行后,可在Kafka集群中创建一个Kafka的Topic,打包发布到Redis相关的Key中,然后脚本端会根据指定的Partition个数来具体的负责均衡存储对应的数据,负载均衡策略为数据的索引和分区的个数进行取模来指定此条数据具体存储在哪个分区中。
进一步,所述服务器包括主题服务器及列表服务器,其中,部署于所述主题服务器上的脚本端用于爬取主题任务,部署于所述列表服务器上的脚本端用于爬取列表数据。其中,列表服务器有N+1台服务器在随时待命,如果检测到管理端发布任务数据,就去拿对应的数据包进行解析,然后执行对应的任务,执行完成则处于空闲状态,继续等待执行下一次任务。
另外,本发明还包括:
机构管理模块,是对所要获取科研数据的机构进行管理,包括机构名称、机构代码等等,全部机构可进行分组管理,分组下包含一个或者多个机构,机构分组后用来在主体爬虫任务执行爬取列表数据。可以一次发布多个机构任务。同时也可以对单一机构或者分组机构进行增删改查操作。
用户管理模块,在网络爬虫管理平台中起到至关重要的作用;可以限制特定用户只能操作特定的模块权限;管理员用户可以对其他用户进行管理,包含删除,修改,启用停用等操作,也可以对其进行授权管理;对应的用户只能操作和浏览授权后的模块。
个人中心,用户可在此模块进行个人信息管理。
由上可知,针对传统的高校科研数据管理机制中存在的问题,以及高校对智能化科研管理辅助技术的诉求,本发明具有以下有益效果:
1、独特的设计构造思想进行不同技术栈之间的整合,简易方便的形式进行不同语言之间的相互通信机制,综合各类服务优势聚合而成,数据服务提供专业API,可供其他业务系统使用。
2、规划拆分爬虫脚本,功能点,一次爬取,多次使用。
3、具有高可用,高性能,高内聚,低耦合等特点。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种面向高校科研数据管理的网络爬虫管理方法,其特征在于,包括:
管理端将任务数据发布至缓存数据库;
脚本端定时从所述缓存数据库中获取所述任务数据并根据所述任务数据采集初始科研数据,再将所述初始科研数据存储至数据仓库中;
业务系统对所述数据仓库中的初始科研数据进行拆分清洗处理,以生成基准科研数据;
算法模块对所述基准科研数据进行匹配处理以计算出匹配科研数据,并将所述匹配科研数据反馈至业务系统;
所述业务系统对所述匹配科研数据进行操作以生成目标科研数据,并将所述目标科研数据发送至业务分析平台进行展示。
2.如权利要求1所述的面向高校科研数据管理的网络爬虫管理方法,其特征在于,脚本端将初始科研数据存储至数据仓库中的步骤包括:脚本端将初始科研数据直接存储至数据仓库中。
3.如权利要求1所述的面向高校科研数据管理的网络爬虫管理方法,其特征在于,脚本端将初始科研数据存储至数据仓库中的步骤包括:
脚本端将初始科研数据直接存储至关系型数据库中;
ETL工具将关系型数据库中的初始科研数据抽取到数据仓库中。
4.如权利要求1所述的面向高校科研数据管理的网络爬虫管理方法,其特征在于,所述脚本端根据所述任务数据采集初始科研数据时,采用并行方式进行采集。
5.如权利要求1所述的面向高校科研数据管理的网络爬虫管理方法,其特征在于,所述脚本端定时从缓存数据库中获取所述任务数据并根据任务数据采集初始科研数据的步骤包括:
当Docker容器启动时,将爬虫状态设置为“等待任务”;
当Docker容器检测到缓存数据库中有新的任务数据时,获取所述任务数据并根据所述任务数据采集初始科研数据,将爬虫状态设置为“正在执行”;
当Docker容器完成采集后,将爬虫状态设置为“已完成”;
当Docker容器没有启动或停止采集时,将爬虫状态设置为“已停止”。
6.一种面向高校科研数据管理的网络爬虫管理平台,其特征在于,包括:
管理端,用于将任务数据发布至缓存数据库;
缓存数据库,用于存储所述任务数据;
脚本端,用于定时从所述缓存数据库中获取所述任务数据并根据所述任务数据采集初始科研数据;
数据仓库,用于存储初始科研数据;
业务系统,用于对所述数据仓库中的初始科研数据进行拆分清洗处理,以生成基准科研数据,还用于对匹配科研数据进行操作以生成目标科研数据;
算法模块,用于对所述基准科研数据进行匹配处理以计算出匹配科研数据;
业务分析平台,用于展示目标科研数据。
7.如权利要求6所述的面向高校科研数据管理的网络爬虫管理平台,其特征在于,还包括:
关系型数据库,用于存储初始科研数据;
ETL工具,用于将关系型数据库中的初始科研数据抽取到数据仓库中。
8.如权利要求6所述的面向高校科研数据管理的网络爬虫管理平台,其特征在于,所述脚本端部署于至少一台服务器上。
9.如权利要求8所述的面向高校科研数据管理的网络爬虫管理平台,其特征在于,所述服务器包括主题服务器及列表服务器,其中,部署于所述主题服务器上的脚本端用于爬取主题任务,部署于所述列表服务器上的脚本端用于爬取列表数据。
10.如权利要求6所述的面向高校科研数据管理的网络爬虫管理平台,其特征在于,所述脚本端内设有Docker容器,其中,
当Docker容器启动时,将爬虫状态设置为“等待任务”;
当Docker容器检测到缓存数据库中有新的任务数据时,获取所述任务数据并根据所述任务数据采集初始科研数据,将爬虫状态设置为“正在执行”;
当Docker容器完成采集后,将爬虫状态设置为“已完成”;
当Docker容器没有启动或停止采集时,将爬虫状态设置为“已停止”。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911179380.9A CN111143336A (zh) | 2019-11-27 | 2019-11-27 | 面向高校科研数据管理的网络爬虫管理方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911179380.9A CN111143336A (zh) | 2019-11-27 | 2019-11-27 | 面向高校科研数据管理的网络爬虫管理方法及平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111143336A true CN111143336A (zh) | 2020-05-12 |
Family
ID=70516697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911179380.9A Pending CN111143336A (zh) | 2019-11-27 | 2019-11-27 | 面向高校科研数据管理的网络爬虫管理方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143336A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783119A (zh) * | 2020-06-30 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 表单数据安全控制方法、装置、电子设备及存储介质 |
CN111797297A (zh) * | 2020-09-09 | 2020-10-20 | 平安国际智慧城市科技股份有限公司 | 页面数据处理方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021274A (zh) * | 2016-04-29 | 2016-10-12 | 北京格分维科技有限公司 | 一种基于大数据的人才能力评价模型系统及方法 |
CN106021608A (zh) * | 2016-06-22 | 2016-10-12 | 广东亿迅科技有限公司 | 一种分布式爬虫系统及其实现方法 |
CN107657053A (zh) * | 2017-10-17 | 2018-02-02 | 山东浪潮云服务信息科技有限公司 | 一种爬虫实现方法及装置 |
CN109614550A (zh) * | 2018-12-11 | 2019-04-12 | 平安科技(深圳)有限公司 | 舆情监控方法、装置、计算机设备及存储介质 |
CN110110156A (zh) * | 2019-04-04 | 2019-08-09 | 平安科技(深圳)有限公司 | 行业舆情监控方法、装置、计算机设备及存储介质 |
CN110134845A (zh) * | 2019-04-04 | 2019-08-16 | 平安科技(深圳)有限公司 | 项目舆情监控方法、装置、计算机设备及存储介质 |
CN110457556A (zh) * | 2019-07-04 | 2019-11-15 | 重庆金融资产交易所有限责任公司 | 分布式爬虫系统架构、爬取数据的方法和计算机设备 |
-
2019
- 2019-11-27 CN CN201911179380.9A patent/CN111143336A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021274A (zh) * | 2016-04-29 | 2016-10-12 | 北京格分维科技有限公司 | 一种基于大数据的人才能力评价模型系统及方法 |
CN106021608A (zh) * | 2016-06-22 | 2016-10-12 | 广东亿迅科技有限公司 | 一种分布式爬虫系统及其实现方法 |
CN107657053A (zh) * | 2017-10-17 | 2018-02-02 | 山东浪潮云服务信息科技有限公司 | 一种爬虫实现方法及装置 |
CN109614550A (zh) * | 2018-12-11 | 2019-04-12 | 平安科技(深圳)有限公司 | 舆情监控方法、装置、计算机设备及存储介质 |
CN110110156A (zh) * | 2019-04-04 | 2019-08-09 | 平安科技(深圳)有限公司 | 行业舆情监控方法、装置、计算机设备及存储介质 |
CN110134845A (zh) * | 2019-04-04 | 2019-08-16 | 平安科技(深圳)有限公司 | 项目舆情监控方法、装置、计算机设备及存储介质 |
CN110457556A (zh) * | 2019-07-04 | 2019-11-15 | 重庆金融资产交易所有限责任公司 | 分布式爬虫系统架构、爬取数据的方法和计算机设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783119A (zh) * | 2020-06-30 | 2020-10-16 | 平安国际智慧城市科技股份有限公司 | 表单数据安全控制方法、装置、电子设备及存储介质 |
CN111783119B (zh) * | 2020-06-30 | 2024-06-04 | 平安国际智慧城市科技股份有限公司 | 表单数据安全控制方法、装置、电子设备及存储介质 |
CN111797297A (zh) * | 2020-09-09 | 2020-10-20 | 平安国际智慧城市科技股份有限公司 | 页面数据处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106022007B (zh) | 面向生物组学大数据计算的云平台系统及方法 | |
CN103902537B (zh) | 多业务的日志数据存储处理和查询系统及其方法 | |
CN109299180B (zh) | 一种数据仓库etl操作系统 | |
CN107766402A (zh) | 一种楼盘字典云房源大数据平台 | |
CN103605698A (zh) | 一种用于分布异构数据资源整合的云数据库系统 | |
CN101373474A (zh) | 海量数据实时处理架构及用于该架构的实时随需处理平台 | |
CN102917009B (zh) | 一种基于云计算技术的股票数据采集和存储方法和系统 | |
CN101356522A (zh) | 终端用户对工作流进行动态地重新定位 | |
CN107148617A (zh) | 日志协调存储组的自动配置 | |
CN107103064A (zh) | 数据统计方法及装置 | |
CN106101213A (zh) | 信息分布式存储方法 | |
CN103810272A (zh) | 一种数据处理方法和系统 | |
CN109067841A (zh) | 基于ZooKeeper的服务限流方法、系统、服务器及存储介质 | |
CN111143336A (zh) | 面向高校科研数据管理的网络爬虫管理方法及平台 | |
CN109800081A (zh) | 一种大数据任务的管理方法及相关设备 | |
CN110489441A (zh) | 一种基于大数据的即席查询方法及设备 | |
CN106101212A (zh) | 云平台下的大数据访问方法 | |
Rogers et al. | Bundle and pool architecture for multi-language, robust, scalable workflow executions | |
CN110825641B (zh) | 一种基于模拟数据生成器的微服务应用测试系统 | |
CN116340269A (zh) | 一种基于ElasticSearch的Flink任务日志实时采集与检索方法 | |
CN113849399B (zh) | 多国产化平台下的多机协同软件的自动化测试系统和方法 | |
CN106372082A (zh) | 一种单文件多表单数据自动入库的方法和系统 | |
CN104461893B (zh) | 数据处理方法与数据处理装置 | |
CN106254452A (zh) | 云平台下的医疗大数据访问方法 | |
Bischl et al. | Computing on high performance clusters with r: Packages batchjobs and batchexperiments |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200512 |