目 录
摘 要 I
Abstract II
引 言 1
1 相关技术 3
1.1 SpringBoot框架 3
1.2 MyBatis框架 3
1.3 WebSocket技术 4
1.4 Selenium技术 5
1.5 EL-ADMIN技术 5
1.6 Ajax技术 5
1.7 本章小结 6
2 系统分析 7
2.1 功能需求分析 7
2.2 非功能需求 9
2.3 本章小结 10
3 系统设计 11
3.1 系统总体设计 11
3.1.1 系统体系结构 11
3.1.2 系统层次结构 11
3.1.3 系统功能结构 12
3.2 系统详细设计 12
3.2.1 数据库设计 12
3.2.2 系统功能设计 15
3.3 本章小结 20
4 系统实现 21
4.1 开发环境 21
4.2 开发规范 21
4.3 数据库实现 21
4.4 核心功能实现 21
4.5 本章小结 24
5 系统测试 25
5.1 测试计划 25
5.2 用例测试 25
5.3 压力测试 26
5.4 本章小结 27
结 论 28
致 谢 29
参考文献 30
摘 要
随着改革开放、经济发展、城市化的推行,人们对医疗信息服务的要求持续提升,然而医疗资源大多集中在一线城市,导致了医疗资源受众不平衡、不均匀,故此十分有必要建设医疗资源共享服务平台。
目前未在网络上搜索到国外有关于医疗资源共享平台的相关信息,到是国内近些年关于医疗资源共享计划的信息越来越多。然而从百度搜索到的讯息,充满着大量的广告、莆田系医院等,往往把真实的、能够帮助解决问题的链接和讯息挤在后面,有时甚至连第一个页面都搜索不到真正能够帮助解决问题的讯息。在这个鱼目混珠的讯息时代,非常迫切的需要开发一款能够解决问题的基于SpringBoot的医疗资源共享平台。
通过对技术的调研,本项目使用SpringBoot+Mybatis构造系统架构,使用Bootstrap+ELAdmin作为页面框架,使用MySQL作为后台数据库,使用WebSocket作为实时通讯框架,使用Java+selenium作为爬虫工具,使用Tomcat为应用服务器,运用瀑布模式设计并实现了基于SpringBoot的医疗资源共享平台本文采用的技术,使开发变得更敏捷,使系统更加高效、扩展性更好。通过系统性的开发编码,严谨的用例、压力测试,基于SpringBoot的医疗资源共享平台已成功实现,并已投入使用。
关键词:Springboot; WebSocket; 医疗资源共享平台
Abstract
With the implementation of reform and opening up, economic development and urbanization, people’s requirements for medical information services continue to improve. However, most of the medical resources are concentrated in the first tier cities, resulting in the imbalance and imbalance of the audience of medical resources. Therefore, it is very necessary to build a medical resources sharing service platform.
At present, no information about the medical resource sharing platform has been searched on the Internet. In recent years, more and more information about the medical resource sharing plan has been found in China. However, the information searched from Baidu is full of advertisements, Putian hospitals, etc., which often crowd out the real links and information that can help solve the problem. Sometimes even the first page can’t find the information that can help solve the problem. In this information age, there is an urgent need to develop a spring boot based medical resource sharing platform that can solve the problem.
Through the research of technology, this project will use springboot + mybatis to construct the system architecture, bootstrap + eladmin as the page framework, MySQL as the background database, Tomcat as the application server, websocket as the real-time communication framework, java + selenium as the crawler tool, waterfall development mode to design and implement the spring boot based medical treatment Resource sharing platform. The technology adopted in this paper makes the system have the characteristics of good cross platform, strong scalability, high reusability and rapid development. After specific coding implementation and system test, the medical resource sharing platform based on springboot has been successfully implemented and put into use.
Keywords: Springboot; WebSocket; Medical resource sharing platform
引 言
随着改革开放、经济发展,我们的生活越来越中心化,城市化率越来越高,人们从乡村走向城市,出现了大城市群,然而这种发展导致了不能平均的分配医疗资源,导致了我国人民生活质量水平的下降,导致了人民的不幸福。鉴于当前我国医疗资源分配不均匀的现状,人民急切盼望实现医疗资源的公平分配[1]。医药卫生事业关系亿万人民的健康,关系千家万户的幸福,是重大民生问题[2]。经济的腾飞、医学的发展、网络的现状,也使得线上医疗成为了医疗业的必然发展趋势。
自2012年起,为了缓解医疗资源分配不均匀的现状[3],我国已经有十多家公司加入到了线上医疗的领域。然而这些主导线上医疗产业的“先行者”们,本身就被各种影响其自身健康成长的诟病和问题束缚住了创新的手脚[4]。2020年伴随着新冠状病毒2019-nCoV的出现,又为线上医疗注入了新鲜沸腾的血液,然而目前大型互联网公司尚未加入,各种参差不齐的公司加入其中,此情此景本文针对当前存在的此种迫切需求开发了基于SpringBoot的医疗资源共享平台。
本设计采用JavaWeb技术对系统进行设计,使用SpringBoot+MyBatis框架对系统进行搭建,该框架可以有效的提高开发效率和降低耦合性,框架中的Mybatis对数据库操作进行了统一管理,方便快捷。使用MySql数据库作为本系统的储存数据库,使用WebSocket框架实现基于实时通讯的问医生功能,使用java爬虫实现医疗知识搜索功能。本系统采用分层、分模块模式,设计四层三模块,使每个层次、模块进行分离,有利于对业务进行单独管理,为程序二次开发提供更多便利。
本文将分为六个部分来完成,第一部分相关技术,主要介绍了医疗资源共享平台所使用的关键性技术,如管理系统框架EL-ADMIN,即时通讯框架WebSocket,爬虫实现技术Selenium技术。第二部分系统分析,通过对系统进行需求分析,综述了本系统所需要的开发环境和运行环境,以及需要完成的功能。第三部分系统设计,主要介绍了系统体系结构、系统层次结构、系统功能结构、系统功能设计、数据库设计[5]。第四部分系统实习,主要介绍了开发环境、开发规范、数据库实现、核心功能代码及界面。第五部分系统测试,主要介绍了测试计划、用例测试、压力测试。第六部分结论、致谢、参考文献,主要介绍了对本文的感悟,对学校、学院、诸位老师的感谢之情,和论文中所涉及到的参考文献。
1 相关技术
医疗资源共享平台系统采用Win10作为操作系统,采用Eclipse2017进行的开发工具,后台使用SpringBoot作为Java框架,采用SpringBoot整合WebSocket作为及时通讯框架,采用SpringBoot整合Selenium作为爬虫工具,采用JQuery库提升前端用户交互体验,采用MySQL数据库来对海量数据进行存储。
1.1 SpringBoot框架
SpringBoot是基于开源项目Spring的应用程序,在开发SpringBoot项目时只需要很少的配置,就可以创建一个稳定的、优秀的、产品级别的Spring应用,相比传统的SpringMVC框架,能够极大的提高开发效率[6]。
SpringBoot的特征有以下几点:
(1)“约定大于配置”,简化了Spring应用程序各个方面的配置。
(2)直接嵌入Tomcat,Jetty或Undertow(不需要部署WAR文件)[7]。
(3)简化Maven配置,使项目的部署和管理都非常方便。
(4)SpringBoot提供了可以针对大多数Spring应用常用功能的相关配置。
(5))SpringBoot提供编码、运行状态检查、外部配置等准备功能。
(6)可以针对大多数Spring应用常用功能的相关配置。没有代码生成,不需要XML配置。
(7)提供了创新性的POM启动方式,大大简化Maven配置并且可以自动配置Spring。
1.2 MyBatis框架
在JavaWeb应用程序的开发过程中,应用程序对数据库的访问通常通过Java数据库连接技术来实现[8]。随着敏捷开发观点的提出、计算机技术的不断发展,开发人员对JDBC进行封装,形成基于Java的持久层框架Mybatis。Mybatis框架还具有无第三方依赖,对SQL语句管理与优化更加方便,解除了应用程序代码和SQL语句的耦合,支持动态SQL编写,支持ORM字段关系维系,学习成本低等特点。Mybatis三层功能架构及模块如图1.1所示。
图1.1 Mybatis工作流程图
1.3 WebSocket技术
以前,为了实现推送技术,很多网站都使用Ajax轮询技术,但是这种技术有着非常明显的缺点,即浏览器需要不断地向服务器发送请求,但是HTTP请求可能包含一个很长的报头,其中真正有效的数据可能只占很小的一部分,显然这会浪费大量的带宽和其他资源[9]。