当前位置: 首页 > news >正文

数据获取以及处理系统 --- 功能规格说明书

产品规格说明书:

版本号: V2.0

版本说明:

 

Version 1.0简单得需求分析以及构思,初稿形成
Version 2.0细化beta阶段设计,增加典型用户尝尽以及功能罗列


 

1. 引言

1.1.  编写目的
  此规格说明书编写的目的是明确本项目的详细需求,供用户确认项目的功能和性能,和用户形成一致的理解和确认,帮助实际用户以及潜在用户更好的理解本产品,同时也帮助我们在开发过程拥有更加明确的目的。

1.2. 项目背景
项目名称:Xueba网上教学问答系统后台数据获取和处理系统
项目面向用户:Xueba网上教学系统前端团队

项目开发者:北京航空航天大学软件工程 龙威零式 小组

 


 

2. 总体描述

2.1.  项目背景
  在网上有许多关于某门学科 (例如计算机科学) 的许多知识和问答,这些问答散落在网上课件,维基百科,论坛,校园BBS,技术文档,教学视频… 中。许多网上大学也有很多相关内容。一个新手 (例如大学生) 往往要花许多时间搜索这些问题的答案。事实上,无数的师兄师姐们已经问过,答过这样的问题了。 为了方便刚接触新的技术领域的人可以尽快的进入某一领域,最大程度的解决相关的技术问题,那么一个可以将相关信息整合起来的系统就变得很有必要,整个系统的目的是要把高质量的内容都聚合起来 (在遵守相关知识产权规定的前提下),让用户能系统地浏览、搜索、编辑、评论; 同时也支持用户继续通过提问/回答完善这些内容。数据的来源是整个项目的基础,本数据处理系统的作用就是从网上最大程度的收集整合信息,同时将数据处理过后以供网页展示出来。

2.2. 项目目标

  依据一定的搜索种子,从网上搜索相关的网站,从网站上爬取有用的信息:包含html、word、pdf、MP4等,其中还有问答对形式的网页。系统将这些信息保存下来,并且进行分类整合。针对html、word、pdf文件,系统会提取里卖弄的文本文档,并且从中提取关键信息以供检索,同时还会提取作者、编辑时间等相关信息。最终将所有的信息上传到solr里面。同时,项目还提供一个后台管理网页,可以控制爬虫程序以及处理程序的开始以及暂停,线程数量,数据库链接,solr管理,同时可以从网页上看到当前的处理进度。

2.3. 典型用户场景:

  本产品基本上只有一个用户,那就是xueba网站前端开发管理人员姬大神:

 

名字姬某
性别
职业某校某学院某学生
专业能力geek
动机需要为广大的学生群体造福,完成一个专业辅助性质的网站,同时完成某课程的课程要求
目的需要人来完成后台数据的获取以及处理,并且最好可以依据一定的格式,按照我的需求来获得相关信息,供我的前台网页获取以及展示
困难精力主要放在前端程序交互的搭建,所以没有足够的精力去专注在数据的获取以及处理
用户偏好与前端接合完美,数据覆盖面广,数量充足
用户比例约占本产品用户的100%
典型场景登陆本系统的后台管理网页,启动数据获取以及处理程序,等这些处理好了就立马可以在前台展示出来,惬意且轻松
典型描述有人帮我搞后台,真实不能更好了!

2.4. 典型用户需求说明

 

  • 希望可以最主要的解决基本类型形式的数据获取功能,同时可以将关键词等信息提取出来
  • 数据可以按照希望的形式排列,储存到solr里面方便读取
  • 关键词需要准确
  • 最好可以获取视频教学文件
  • 问答对形式的内容可以专门提取出来
  • 提供手动修改关键词等接口
  • 可以直观的看到当前的处理进度

 

2.5. 运行环境要求

  程序后台运行在服务器上,管理网页将基本支持主流浏览器,因为只是后台管理网页,所以功能完善的前提下,对于网页排版没有特别要求。

2.6. 产品前景

  在满足当前用户的前提之下,可以对用户限制进行缩小,可以使得一般的网络用户也可以通过这个系统获取网页上的相关信息,作为一般小型系统的数据来源。并且可以进行管理,在接口做一些细小的变动之后,便可以拓展本系统的用户群体。

 

 


 

3. 功能描述

3.1. 数据来源个性化
  系统提供选项可以让用户输入爬取数据起始网址,这样就允许用户自定义数据来源,例如百度、知乎、知网甚至国外的相关学术网站等数据来源。同时还可以通过输入的关键词进行筛选,只有包含关键词的信息才会被保存下来,所有的爬取的数据会放在服务器上的数据库里面。

3.2. 获取标签数据

  对于初始保存下来的数据:包括html、doc、pdf文件等可以进行数据处理,提取出来里面的文本内容,并且可以根据里面的内容进行关键词、作者、生成时间等相关信息提取并保存。在关键词提取的时候,应该尽可能的避免冠词等没有实际意义的词汇。

3.3. 可视化当前处理进度

  可以通过后台管理网页进行系统的开始停止设定,并且查看当前处理进度:有多少待处理以及已处理等。

3.4. 处理目标配置

  对于处理结果的输出位置可以进行设置,例如是否需要输出到固定的solr服务器里面,同时可以在后台管理网页上面手动将数据从服务器数据库上上传到solr里面。同时可以允许用户选择是否即时将新处理的数据上传到solr里面。

3.5. 信息修改

  对于关键词提取不准确的情况,应该可以通过接口对于已经存入的关键词信息进行矫正,新增,删除。

 


 

4. 界面原型设计

 



描述:

这个作为主页面,直观的看到我们的系统的处理的进度,包含所有的数据信息

同时还有两个子页面用于更详细的设置。

“来源配置”:弹出爬虫控制页面

“输出配置”:弹出输出控制页面

“开始处理”:启动数据处理程序,可以看到进度条开始走动

 

 

描述:

爬虫配置网页,可以分类别看到爬取的进度,如果没有启动则数据为缺省,可以手动添加seed,关键词,目标数量信息。

“开始”:从后台启动一个爬虫线程并且即时的更新数据在页面上

“暂停”:将后台的爬虫线程停止。

 

 

描述:

输出配置页面,可以手动设置目标存放信息的内容。

“确认”:确认当前的设置,返回上一层

 

5. 系统功能描述 验收标准 Check List

测试功能测试项效果描述完成情况
管理页面处理程序启动点击“开始”按钮可以让处理程序开始处理 
打开爬虫管理页面点击“来源配置”弹出爬虫管理页面 
打开输出目标配置页面点击“输出配置”弹出输出配置页面 
爬虫功能爬虫爬取信息seed增加可以在爬虫管理页面手动增加爬取信息来源网站 
爬虫关键词筛选可以增加关键字在爬取信息的时候筛选内容 
爬虫多线程启动可以自定义启动几个爬取线程,并且可以看到各个线程的运行情况 
爬虫信息展示可以看到此处运行爬虫的信息,运行时间、爬取到的文件数 
爬虫爬取网站数量限制可以自定义爬虫爬取网站数,如果缺省则一致爬下去 
爬虫文件信息保存从网上爬下的信息可以按照格式保存在数据库里面,可以从数据库看到数据更新 
数据处理功能数据处理启动控制可以在网站上管理当前数据处理线程的启动与暂停 
doc数据文本信息获取从doc文件中提取文本信息出来 
doc关键信息提取从doc文件中提取关键信息并且保存 
html数据文本获取从html提取去噪后的文本 
html关键信息提取从html文件提取关键信息 
pdf数据文本获取从pdf文件提取文本信息 
pdf关键信息提取从pdf文件中提取关键词 
问答对网站信息提取从问答网站提取问题以及优质答案 
拓展功能配置链接的solr账户可以手动配置需要链接的solr数据库 
自定义上传允许用户进行solr索引删除以及重建选项 
提供修改关键词接口提供修改关键词接口以及访问方法 
登陆账户提供登陆界面,使用固定账号才可以登陆到管理界面里面 

转载于:https://www.cnblogs.com/longweilingshi/p/6003550.html

相关文章:

  • 【JAVA】设计模式之懒汉式与恶汉式的单例模式实现的方法与详解
  • asp.net定时任务
  • 14. Html5的局:WebGL的纹理格式
  • Tomcat编译jsp生成Servlet文件的存放位置
  • Android事件总线(三)otto用法全解析
  • 反思总结然后整装待发
  • 当SetTimeout遇到了字符串
  • ABP文档 - EntityFramework 集成
  • [Java基础] Java中List.remove报错UnsupportedOperationException
  • 查看linux服务器的系统信息
  • sql事务、视图和索引
  • 谈谈springmvc的ResponseBodyAdvice
  • C语言之从内存角度理解不同类型的变量
  • Android 利用线程运行栈StackTraceElement设计Android日志模块
  • .Net中ListT 泛型转成DataTable、DataSet
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 30天自制操作系统-2
  • angular2开源库收集
  • Apache Pulsar 2.1 重磅发布
  • CAP理论的例子讲解
  • github从入门到放弃(1)
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • java8 Stream Pipelines 浅析
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • python docx文档转html页面
  • Web标准制定过程
  • 工作手记之html2canvas使用概述
  • 配置 PM2 实现代码自动发布
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端面试总结(at, md)
  • 如何在 Tornado 中实现 Middleware
  • 深入 Nginx 之配置篇
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 学习笔记:对象,原型和继承(1)
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 我们雇佣了一只大猴子...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • #if #elif #endif
  • #QT(TCP网络编程-服务端)
  • #大学#套接字
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (30)数组元素和与数字和的绝对差
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Oracle)SQL优化技巧(一):分页查询
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (poj1.2.1)1970(筛选法模拟)
  • (pojstep1.3.1)1017(构造法模拟)
  • (阿里云万网)-域名注册购买实名流程
  • (二)斐波那契Fabonacci函数
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (十三)Maven插件解析运行机制