综合设计——多源异构数据采集与融合应用综合实践

1. 基本信息

这个项目属于哪个课程 https://edu.cnblogs.com/campus/fzu/2023DataCollectionandFusiontechnology
组名、项目简介 组名为冲就完事
项目需求与目标:当我们置身于日常生活或旅途中,常会被美景所震撼,但往往难以找到合适的诗句来表达内心的感悟。为了传承中华传统文化、提升人们的诗词修养和表达能力,我们需要一个智能系统能够根据用户拍摄的照片,自动匹配相应的诗句,并为用户提供相关的学习资源。
团队成员学号 102102101田甜、102102102刘燕莹、102102103李盈盈、102102106何雯彧、102102107张锦瑶、102102110饶雯捷、102102147高宝众、102102153彭诗忠
这个项目的目标 a. 图片解释:基于用户上传的图片,系统能够自动识别图片内容,并提供与图片相符合的文字解释。
b. 古诗详情:用户可以选择获取与所拍图片相关的一首古诗的详细信息,包括标题、作者、内容、出处等。
c. 同韵古诗:用户可以获取与所拍图片相关的同韵古诗,以便进行进一步学习和欣赏。
d. 相似句子查询:用户可以输入关键词或句子,系统将返回与输入内容相似的古诗句子,以帮助用户寻找相关诗歌作品。
e.获取诗句相关地点地图:当诗句蕴含地址时,用户可以获取到该地点在地图上的位置。
其他参考文献 Junnan Li, Dongxu Li, Silvio Savarese, Steven Hoi.BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models:arXiv:2301.12597https://arxiv.org/abs/2301.12597

Gitee 文件夹链接为:https://gitee.com/PicaPicasso/crawl_project/tree/master/综合设计——多源异构数据采集与融合应用综合实践


2. 个人分工

  在该实践作业中,我与何雯彧同学一同负责服务器部署工作。我们采用ECS弹性云服务器为基础进行部署,需要在ECS中配备Python环境、数据库连接环境与Java环境。与之前做过的华为云实验不同,服务器的部署是没有教程的,只能凭借网上已有的部分教程与自身的摸索。
ftp配置
   这个是一开始我们就要配的,因为后续本机与服务器的文件交互都要通过它来进行。
image
   中间一度因为没有添加入方向相关端口的安全组卡了很久,最后拿下!本机可以通过ftp访问服务器上面的文件了!

Python环境配置

   关于Python环境配置,在之前的华为云实验中有叙述了关于MRS的Python配置,但由于本组采用的是ECS弹性云服务器,故选择通过网络搜索得到ECS的Python配置教程,ECS本身是自带Python的,但因本组为了节省花费买的配置较低,故需要对其进行版本升级,有关这一部分的资料是比较充足的,升级后,配置爬虫运行的依赖库即可,即完成了Pythn部分的配置,这一部分的进展是较为顺利的。

MySql配置
  我们团队当时设想的时候就希望对数据进行一个持久化存储,所以也在服务器上开了一个数据库。
  数据库的配置其实花费了比较久的时间,华为云自身应该是openGauss数据库,但是该数据库会有一些与常用数据库语言不太相同的地方,为了避免出问题,在经过多番资料查询后,还是决定配置MySql较为主流的数据库。是在外部进行MySql安装包的下载,再使用Xftp进行传输的,解压是正常步骤,可能就是会略显缓慢一点。
  困扰的问题出现在安装环节,在安装时并没有显示成功安装,而是显示报错,查询之后发现是ECS弹性云服务器会自带一个数据库mariadb,需要将其卸载掉,防止它的驱动和MySQL的驱动冲突。后面的安装配置其实都较为正常,虽然也有出现一些小问题,但都很快解决,大部分只要按照搜寻到的教程一步一步完成即可。但关于驱动冲突问题是搜寻了非常多的资料,才找到了有效的解答。
  后对MySql赋予远程访问权限,再在华为云中对ECS进行安全组配置,就可使用Navicat Premium进行数据库远程连接了,就不必在ECS中查看,会简化一些操作。

Java环境配置
   因为我们后端同学比较熟悉的是springboot框架,所以我们需要在服务器上部署JAVA环境以及相关包。
   Java的配置应该是其中最复杂的了,需要对git、jdk、maven等进行安装配置,和MySql相同,均是在外部进行下载,再传输到ECS中。即使是外部下载再传输,过程也非常的缓慢。Java环境的安装步骤非常繁琐并且容易出错,在其中有遇到若干的小问题,都耗费了较长的时间进行解决,其中也有较为崩溃的时候,但平复心情还是继续配置。解决以上安装后,再进行Nginx的安装,即可编排MySql,让两者进行连接。Java环境的配置是有点头疼的,在之后部署时因为后端代码编写使用jdk与之前配置jdk版本不同,还重新配置了一次jdk。但好在还是顺利完成了。

项目部署
  以上配置结束后,整体环境配置也就结束了。而后则是将前端与后端项目的部署。后端需将项目中进行更改配置,改为购买服务器的地址与日志存放位置,再将jar包传输到服务器上,而后则为授予权限与执行,则可通过网址进行访问。前端则是用Ngnix进行配置,需要两个虚拟的serve,一个为Web服务,另一个则是Tomcat服务,配置结束,重启后,即完成整体部署。
  一开始测试接口的时候,并不能成功返回数据。观察了一下响应数据“500”,应该是服务器端出了问题。
image
  看了一下后端的报错,发现后端不能识别到上传的file,和我的小伙伴排查了下,是一个玄学bug,强制把参数名改成file就行。参考了博客:https://blog.csdn.net/lingyeran/article/details/122131756
image

3. 心得体会

   在综合实践这一块,部署看似简单,但要在一台全新的服务器上配置所需的环境与连接并不容易。不同于之前的华为云实验有教程,该次只能自行进行摸索,期间遇到了非常多的问题,也踩了很多的坑,也有过绝望时刻。但与伙伴的不懈努力下,最终完成了所有的部署,看到能够成功运行,是非常有成就感的!

posted @ 2023-12-14 23:04  困困困zzz  阅读(13)  评论(0编辑  收藏  举报