2019年第24期
信息与电脑
China Computer & Communication
软件开发与应用
基于微服务架构的智能医疗平台设计与开发
李晓明 黄 慧 应 毅 吴 德
(三江学院,江苏 南京 210012)
摘 要:近年来,随着云技术发展以及医疗服务业功能需要,相关研究人员不断设计开发智能医疗平台,有效实现医疗简洁化。然而,由于平台开发处于初步设计阶段,仍有诸多技术尚未明朗,例如无法选择合适网络架构等问题。同时,现代技术无法全部涵盖医疗功能需求,影响医疗平台的推进使用。笔者基于Spring Boot 便利性,在Spring Boot 基础上通过Spring Cloud 建立智能医疗平台框架,Eureka 作为服务注册中心,Feign 作为服务通讯,对于构建智能医疗平台具有重要的现实意义。
关键词:微服务架构;智能医疗平台;设计开发;API
中图分类号:TP311.52 文献标识码:A 文章编号:1003-9767(2019)24-056-03
Design and Development of Intelligent Medical Platform Based on
Microservice Architecture
Li Xiaoming, Huang Hui, Ying Yi, Wu De
(Sanjiang University, Nanjing Jiangsu 210012, China)
Abstract: In recent years, with the development of cloud technology and the functional needs of medical service industry,
relevant researchers have continuously designed and developed intelligent medical platforms to effectively realize medical
simplification. However, as platform development is in the preliminary design phase, there are still many technologies that are not yet clear, such as the inability to choose the appropriate network architecture. At the same time, modern technology cannot fully cover the needs of medical functions and affect the promotion and use of medical platforms. Based on the convenience of spring boot, the a
uthor establishes the framework of intelligent medical platform through spring cloud on the basis of spring boot, Eureka as the service registration center, feign as the service communication, which has important practical significance for the construction of intelligent
medical platform.
Key words: microservice architecture; intelligent medical platform; design development; API
1 研究目的
随着云计算与物联网被广泛使用,使得医疗行业为促进医疗服务更加快速、方便,构建了智能医疗平台[1-2]。智能医疗平台将用户数据存储在云端,对其进行分析,能够为医院、个人提供更周到的服务,进一步提高医疗效率。笔者对相关研究进行梳理时,发现多数学者对于智能医疗平台的构建无法全面考虑,基于此,提出在微服务架构上构建智能医疗平台,以期为开发新智能医疗平台提供相关参考。
2 微服务架构理论概述
微服务是由软件作者Martin Fowler 于2012年初步提出的理论,并且随着云计算技术深入发展,衍生出诸多相关产品。微服务架构就是一项基于云计算技术在云中运转工作的新型技术。微服务架构的主要职能是独自运转子程序,并通过API 进行自主运行,而且微服务架构最大优势在于添加新功能时,不会影
响其余程序运转。因此微服务架构被认为是未来最适宜将应用程序部署在云环境中的架构。在微服务架构的理论
基金项目:江苏省高等学校自然科学研究项目“大数据质量关键技术研究及其在智能医疗中的应用”(项目编号:19KJB520049);江苏省高等学校自然科学研究项目“大数据技术在智能物流中的应用研究”(项目编号:17KJB520033);
江苏省高等学校自然科学研究项目“基于计算智能的大数据舆情预测研究”(项目编号:18KJB520042);江苏高校哲学社会科学研究基金项目“大数据环境下社交网络的舆情热点发现研究”(项目编号:2018SJA0506)。
作者简介:李晓明(1978—),男,江苏沭阳人,硕士研究生,讲师。研究方向:人工智能、Java 与大数据应用开发。
2019年第24期
信息与电脑
China Computer & Communication
软件开发与应用
上可以将应用和服务分解成松散耦合组件,更加容易升级和扩展。用于构建微服务架构框架的工具是Seneca,之后部署到devops工作程序中。由于微服务架构发展处于初步阶段,现阶段基于微服务架构的应用程序难以进行维护。此外,还要在架构中设计持续交付模型,将其当做服务中心进行管理、更新功能。但是由于微服务架构横向、纵向扩展架构均可使用,因此现代应用程序的构建使用微服务架构仍然较为广泛。
由于医疗服务项目较多,基于微服务架构进行智能医疗平台构建相对来说更加适宜。依据微服务架构的医疗平台可以按照不同业务需求进行逻辑划分,构建一中心多主体的应用软件,从而提升每一个步骤的执行效率。与传统医疗平台不同,基于微服务架构的新型医疗服务平台可利用中心化智能终端,按照不同要求确定对应的服务种类。
3 基于微服务架构的智能医疗平台设计方案近年来,随着计算机技术普及程度愈加广泛,基于此的医疗智能设备也呈现出跨越式发展态势。智能医疗平台以医院PC为终端,连接到用户手中的智能手机设备,实时传递信息。在物联网深入应用的今天,智能医疗平台将得到大批量市场应用,针对此类平台的探析与研发将是未来研究重点领域。智能平台在医疗预防、身体保健方面具有重要的作用。同时,随着最新的科学技术应用在医疗行业中,许多信息以及医疗设备能够通过连接网络传输各种医用数据。搭建一个完整的智能医疗平台,首先要对数据来源进行统计,将数据存储在云平台中,利用云技术中的Hadoop等云计算模型对数据进行处理,最终服务于众。
首先,数据来源方面主要分为两部分。首选医院方面的病例、药物史以及应对各种疾病的方案,其次可以对接用户私人平台,例如智能手机中的APP,在用户允许的情况下读取其运动数据、身体数据等。其次,数据存储方面。由于用户的信息量较大,因此要在保证能够快速检索的情况下,对数据进行有效云端存储。同样,数据储存有两种方式,首选存在公有云中,方便医院进行信息索引,实现高效。第二种方式则是存储在私有云中,此种方式是隐私保护度高,但医院进行医疗服务时,会造成一定程度影响。
具体的智能医疗平台设计要包含以下内容。(1)选择医院,有医疗需求时,可以按照个人意愿选择就近医院或知名度较高医院。(2)预约挂号,通过私人智能终端在所选择的医院进行挂号,挂号后根据挂号科室,显示就诊医生信息等相关资料。(3)地图API,私人挂号确认就诊以后,通过API进行室内导航,节约就诊时间,实现快捷性。(4)自动缴费,院方可设置缴费连接,用户通过智能终端进行网上支付,例如使用支付宝、等支付方式。(5)排队提醒,缴费完成后,自动进入排队模式,及时提醒用户之前候诊人数,并预估响应时间,实时对接用户。(6)就诊结果查询,就诊结束后,通过私人终端获取检查结果。(7)取药指引,如需服食药品,将药房方同时发到用户终端以及取药窗口,之后根据导航去往取药处。(8)流程指导,通过患者就诊科室智能判别患者就诊流程,实现全程就医指导。(9)医保报销,针对我国医疗保障的优惠性政策,平台要对医保信息进行登记,做到一对一、零问询就可实现医保报销。(10)电子病历,将用户就诊完成的病历制作成电子版存储到云端,随时可以
调取。(11)线上询问,专业人员提供线上疑难问题解决。(12)宣传信息,可以针对各种疾病进行预防宣传。(13)就诊评价,用户就诊完成后,可对医疗服务做出评价,促进院方改正不足之处。
4 智能医疗平台设计原则
4.1 协同性
医院的系统需要覆盖多种功能,因此其下设的子系统数量较为庞大,多个子系统要相互协同合作,整个平台方能正常运转。此外,平台需要与外部HIS进行信息对换。因此,整个平台的子系统之间都需要协同考虑。
4.2 实用性
平台设计必须按照国家技术标准制作,以医院和国家数据为基准进行信息采集,消除信息闭塞,实现平台数据真实反映用户情况,避免设计繁杂冗余。所有功能务实可用,并保持不断更新。
4.3 科技性
平台设计要使用最新数据建模方式,采用面向用户的归纳和设计方法,对医疗智能进行本质分析,组织科学合理的业务流程,以此适应业务补充、用户信息增加等需要。同时,要预留与其他系统对接借口,实现数据互通、共享。
4.4 拓展性
智能医疗平台开发的目的,就是为民众提供切实可用医疗服务。虽然智能医疗平台的功能需求相对稳定,但是仍需要完善许多细节,添加部分功能。如此,就应保持平台拓展性,为日后升级预留空间。
5 智能医疗平台架设结构设计
由于医疗服务平台需要划分多个子服务系统,这使得整个平台都具有灵活性,但是过多的子系统交互也让平台运转工作时难以管理。因此开发智能医疗平台采用模块服务功能划分,主要包括客户端、网关层、微架构层、业务层、资源层和数据存储层等六层架构,具体如下。
5.1 客户端
客户端提供Web应用给用户使用,通过智能手机等手持计算机设备,共享平台上的信息资源。客户端根据Myciient htbridge 调用,不同的进程在连接互联网的前提下,使用wsHttpBinding 启动远程服务,并实现检索远程平台服务提供的元数据,将其转化为队列契约。其实质是基于Internet的工作站。
2019年第24期
信息与电脑
China Computer & Communication
软件开发与应用
5.2 网关层
智能医疗平台中的网关是指TCP/IP 协议网关,其主要作用是为外部提供对接口,并在此基础上进行安全控制。医疗平台需要保证快速高效运转,因此需要避免因网络负载过重使用核心网关GGP ,能够随时知道子系统发生的情况,包括实时路由信息以及子网特点。5.3 微架构层
微架构层为平台提供账号注册中心,并配合网关层开放API 接口,每个微架构中单独服务,都可以实现横向扩展和独立功能。5.4 业务层
业务层是由Biz 提供的调用服务,简单来说,业务层是整个平台的逻辑控制终端,负责提供增值服务以及维护智能平台网络环境,支持新功能引入,但目前业务层技术尚未成熟,现阶段只有其他网络互联互通的功能。5.5 资源层
对于平台相关的数据资源、应用资源、信息资源,都需要对应放置到集成层中,资源层就是提供系统外部资源微服务层次。5.6 存储层
微服务项目技术架构该层主要目的是储存外部资源,主要提供数据、消息、应用三方面资源储存。其中数据包括用户数据库和文件数据访问。消息包括来往信息交换、通信,而应用方面则是凭条与外部系统的交互行为。除上述六层结构以外,平台还需提供基础服务以及容器管理。5.7 基础服务
此项基础服务指平台中针对微架构层、业务层、存储层提供服务,主要包括数据缓存、对象传输、日志读取、权限管制、事务管理以及任务调度等。并不包括针对用户提供的基础服务。5.8 容器管理
容器管理是将业务层、集成层以及上述的基础服务容纳在内,由于使用的容器不同,例如SPring ioC 提供业务引入功能,Web 提供控制反转功能等。上述层架构建的智能医疗平台,能初步满足医疗服务中的简单需求,运营人员仍需开发新的业务模块,以期达到良好的性能指标。
6 基于Spring Cloud 微服务架构的设计与开发
6.1 Spring Cloud 框架技术
Spring Cloud 是近年被广泛应用的微服务框架。在智能
医疗平台系统设计过程中,首先需要创建Spring Cloud 配置服务器,其次构建对应的Java 程序开发框架,最后在Spring Boot 基础上进行系统构建。此框架利用Spring Boot 的开发便利性,将分布式系统基础设施开发过程简化,实现一键启动以及部署。
6.2 Spring Cloud Eureka 服务注册中心
使用Eureka 在微服务架构中构建服务注册中心需要两个步骤。第一,搭建Eureka 服务端,之后在相关服务项目中声明使用Eureka 注册中心即可。第二,搭建Eureka 服务端的前提在于创建新的Spring Boot 项目,要求在其项目入口文件的公共类上添加@EnableErekaServer 注解方可。一般使用的注解有两种选择,一是@EnableErekaClient ,二是@EnableDiscoveryClient 。在用Eureka 作为服务注册中心时,两种注解方式都可实现声明作用。但是使用非Eureka 作为服务注册中心时,则只能使用单一性的@EnableDiscoveryClient 进行注解,例如使用Zookeeper 等作为注册中心时。
6.3 Spring Cloud Feign 服务通讯
一般来说,在平台设计中,基于Spring Cloud 的微服务架构存在两种通讯方式:一种是restTemplate 与Ribbon 两相配合的通讯方式,另一种是Feign 。在智能医疗平台设计开发中,使用Spring Cloud Feign 作为服务间通讯。Feign 的优势在于其代码量较少,且在Feign 内核使用Ribbon 进行负载均衡处理,以期在使用Spring Cloud Feign 进行服务间通讯过程中,实现服务间调用负载均衡。使用Feign 时需要创建新接口,在类上添加@FeignClient 注解,且必须声明name 参数,以此表示调用服务在Eureka 注册中心声明的服务别名。此外,在调试过程中需要经常声明url 参数,用以表示调用服务的物理地址。
7 结 语
云技术的普及,为医疗系统带来了前所未有的发展机遇。基于Spring Cloud 的智能医疗平台不仅能够改变传统就医模式,也为患者提供就医便利性。医院在平台辅助下,提高其诊疗效率和服务质量,是未来主要发展方向。本文中智能医疗平台在结合医院实际情况下,对诊疗流程进行完整化设计,力求实现智能化移动端诊疗。
参考文献
[1]李明,王伟,张栋栋.传统架构升级微服务的设计与实现[J].科技传播,2019(10):140-142.
[2]郭志涛,郭忠,王振.基于Android 平台的智能医疗系统的设计与实现[J].郑州大学学报:工学版,2014(6):60-63.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论