左手医生:医疗 AI 企业的云原生提效降本之路

相信这样的经历对很多人来说并不陌生:为了能到更好的医院治病,不惜路途遥远奔波到大城市;或者只是看个小病,也得排上半天长队。这些由于医疗资源分配不均导致的就医问题已是老生长谈。

云计算、人工智能、大数据等技术的发展和融合,让医疗行业的智能诊断不再是遥不可及的事情,近年来不少科技创新企业也纷纷投入医疗健康领域,希望能用技术的手段推动优质医疗资源集中、患者需求分散等问题的缓解。

图片

左医科技就是其中之一。秉持“打造主动式 AI、让优质医疗触手可及”的理念,左医科技推出了核心产品“左手医生” App,使大众用户可以通过其解决症状自诊、小病找药、智能分诊导诊、医疗健康知识问答等健康需求。

在不久前举办的“2024 阿里云战略发布会”上,左手医生作为经典案例,诠释了云计算如何在企业及行业发展的“成本·成长·成功”方面释放价值。通过使用阿里云云原生等产品,左手医生项目的上线时间缩短了 67%。 在这个过程中,左手医生也更加直接地体会到了架构向云原生演进为业务带来的增效、降本。

医疗行业快速变化让传统架构不堪重负

左手医生的目标是通过将深度学习、大数据处理、语义理解、交互式对话等技术与医学相融合,打造智能医生驱动的数字医疗平台。目前其已能够覆盖医院 35 个科室中的 6000 多种常见病,发展为国内领先的“全科智能医生”。

过去左手医生的服务采用传统方式部署在云服务器 ECS 上,随着平台的快速发展,及对医疗大数据处理需求的增长,单体架构给业务带来的挑战日益明显:

图片

  • 稳定性风险: 用户访问量越来越大,服务难以应对高流量、高并发带来的冲击。
  • 难以支撑业务扩展: 原有架构难以满足业务快速扩展和对灵活性的需求;同时,业务对于医疗大数据的存储、分析需求日益增长,传统架构也难以支撑这些需求。
  • 故障解决效率低: 原架构下对于系统整体运行状态、服务调用链路跟踪、性能瓶颈定位等方面的监控能力较为有限,影响问题诊断和优化决策的效率。
  • 运维复杂度陡升: 随着业务拆分为多个微服务,服务间的依赖关系变得错综复杂,业务之间耦合性太强,对系统运维带来极大挑战。

云原生为医疗 AI 场景提效降本

为解决以上挑战,左手医生决定采用云原生技术重构其核心医疗服务平台,通过使用 ACK、MSE、ARMS、Kafka 等阿里云产品进行业务微服务化改造和容器化部署,将原有 ECS 上的服务迁移至容器环境,实现了服务模块化、资源弹性调度、以及更为健壮的消息传递机制。

图片

  • 容器服务 ACK: 将原有服务容器化并迁移到 ACK 集群上,实现服务的动态伸缩、滚动升级与灰度发布等功能,大大提升了资源管理和应用交付效率,同时极大减少了 K8s 运维工作。
  • 微服务引擎 MSE: 通过引入 MSE,提供了完整的微服务治理解决方案,实现服务注册发现、配置管理、限流降级等功能,增强系统的稳定性与韧性,帮助客户实现服务平滑升级。
  • 应用实时监控服务 ARMS: 集成 ARMS 以实现对分布式系统的深度监控和性能分析,如全链路追踪、实时性能监控、异常检测等功能,帮助团队快速定位问题和优化性能。
  • 消息队列 Kafka: 作为核心的消息中间件组件,用于处理业务解耦、异步处理及数据流场景,确保系统间通信高效可靠。

业务价值

通过此次架构改造,左医科技获得了以下显著收益:

1)资源利用率提升: 通过容器化部署和 ACK 的自动化运维特性,使服务器资源利用率提升了近 60%,并且大大降低 IT 运维成本。

2)敏捷交付与可扩展: 容器化的环境使得新功能上线周期从之前的天级别缩短至小时甚至分钟级别,同时轻松应对业务高峰时段的负载变化,实现了快速响应市场需求的能力,使项目上线时间整体缩短了 67%。

3)系统稳定性和可靠性增强: 借助 MSE 服务治理工具,增强了服务间的稳定性和可靠性,减少了因服务异常导致的业务中断风险。

4)业务平滑升级: 结合 MSE 微服务治理功能,如无损上下线功能,实现了业务的平滑升级。

5)运维效能增强: 一体化的监控平台 ARMS 为团队提供了全面深入的业务洞察,能够更快地定位并解决线上问题,运维效率提升 70% 左右。

6)优化数据处理能力: Kafka 和消息队列 MQ 的引入确保了数据的高效处理和传输,使消息处理的效率提升了 80% 左右。

通过与阿里云合作,左医科技的架构改造为公司带来了显著的业务价值和竞争优势。新的云原生架构不仅提高了系统的稳定性和可伸缩性,还加快了产品迭代速度,提升了运维效能,使得左医科技能够更好地适应医疗行业的快速变化和市场需求。

身处像 AI 医疗这样正处于快速发展的领域,对于市场需求变化的快速响应,即是让企业能够更早地找准赛道、抓住红利,更为推动医疗效率和大众健康水平的提升发挥重要作用。阿里云云原生产品愿与更多企业携手,用科技推动行业创新、创造社会价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/775368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLMs之Grok-1:model.py文件解读—实现了基于Transformer的预训练语言模型+利用JAX框架支持高性能分布式计算

LLMs之Grok-1:model.py文件解读—实现了基于Transformer的预训练语言模型+利用JAX框架支持高性能分布式计算 目录 model.py文件解读—实现了基于Transformer的预训练语言模型+利用JAX框架支持高性能分布式计算

【嵌入式——C语言】VScode编写C程序、交叉编译

【嵌入式——C语言】VScode编写C程序、交叉编译 第一步第二步第三步第四步第五步第六步第七步第八步 第一步 下载Visual Studio Code下载地址 然后直接安装就可以了。 第二步 前提是你的电脑上安装了WSL。。。 打开vscode的扩展,输入WSL进行安装 安装完之后在窗…

装饰器模式实战运用(功能增强)

目录 前言 装饰器模式与代理模式的区别 UML plantuml 类图 实战代码 mybatis cache 前言 装饰器模式和代理模式在使用上很相似,都是在不修改原始类代码的情况下,动态地给真实对象的方法做增强。 装饰器模式是通过创建一个包装对象来包裹原有对象…

HuggingFace: 掌握自然语言处理的利器

引言 在当今人工智能领域中,自然语言处理(NLP)一直是备受关注的焦点之一。从智能助手到情感分析,NLP技术已经深入到我们日常生活和工作的方方面面。然而,随着数据量的增长和模型复杂性的提升,开发和部署高…

c# RichTextbox添加行号

使用另一个RichTextBox放在要添加行号的左边 使用以下代码 //uiRichTextBox1为右侧文本框,uiRichTextBox2为左侧文本框int lineIndex 0;private void uiRichTextBox1_TextChanged(object sender, EventArgs e){if (lineIndex > uiRichTextBox1.Lines.Length){L…

C++之STL整理(1)之vector、map数据结构初识

C之STL整理(1)之vector、map数据结构初识 注:整理一些突然学到的C知识,随时mark一下 例如:忘记的关键字用法,新关键字,新数据结构 C 的 STL C之STL整理(1)之vector、map数…

腾讯云4核8G12M云服务器一年646元,送3个月时长

2024年腾讯云4核8G服务器租用优惠价格:轻量应用服务器4核8G12M带宽646元15个月,CVM云服务器S5实例优惠价格1437.24元买一年送3个月,腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图: 腾讯云4核8G服务器优惠价格 轻…

《每天十分钟》-红宝书第4版-对象、类与面向对象编程(六)

盗用构造函数 上节提到原型包含引用值导致的继承问题,为了解决这种问题,一种叫作“盗用构造函数”(constructor stealing)的技术在开发社区流行起来(这种技术有时也称作“对象伪装”或“经典继承”)。基本…

若依 3.8.7版本springboot前后端分离 整合mabatis plus

1.去掉mybatis 这一步我没有操作&#xff0c;看别人的博客有说不去掉可能冲突&#xff0c;也可能不冲突&#xff0c;我试下来就没去掉如需要去除&#xff0c;到总的pom.xml中properties标签下的<mybatis-spring-boot.version>x.x.x</mybatis-spring-boot.version>…

C++ pdf 打印 插入图片

一&#xff1a;使用PODOFO给PDF插入图片&#xff1a; #include <podofo.h> int main() { PoDoFo::PdfMemDocument pdfDocument; PoDoFo::PdfPage* page; PoDoFo::PdfImage image; PoDoFo::PdfVecObjects* vec_objects; PoDoFo::PdfRect rect; …

Kotlin by关键字

委托的概念 委托是一种设计模式,它的基本概念是:操作对象自己不会去处理某段逻辑,而是会把工作委托给另外一个辅助对象去处理。 class NewList<out T>(private val list: MutableList<T>) {fun isEmpty() = list.isEmpty()fun add(item: @UnsafeVariance T) = l…

iPad Pro安装Code APP结合内网穿透实现公网SSH远程连接服务器云开发

文章目录 1. 在iPad下载Code APP2.安装cpolar内网穿透2.1 cpolar 安装2.2 创建TCP隧道 3. iPad远程vscode4. 配置固定TCP端口地址4.1 保留固定TCP地址4.2 配置固定的TCP端口地址4.3 使用固定TCP地址远程vscode 本文主要介绍开源iPad应用IDE Code App 如何下载安装&#xff0c;并…

零基础Web3入门到精通

Web3 是互联网的下一代&#xff0c;它将使人们能够拥有自己的数据并控制自己的在线体验。Web3 基于区块链技术&#xff0c;该技术为安全、透明和可信的交易提供支持。 现在的web已被成为传统互联网了&#xff0c;那么如何抓住下一代互联网的红利呢&#xff0c;有没有想一起学习…

react 简单的demo

实现些简单的deomo 显示时间 自定义hooks 使用定时器、生命周期、通过状态渲染更新 // hooks 文件 import { useEffect, useState } from reactfunction getDate() {let date new Date();let year date.getFullYear()let hour date.getHours();let minutes date.getMinut…

爬虫requests.get中的参数

requests.get 是 Python 中 requests 库的一个方法&#xff0c;用于发送 GET 请求。它有许多参数可以配置&#xff0c;以下是一些常见的参数&#xff1a; url&#xff1a;指定要发送 GET 请求的 URL。params&#xff1a;可选参数&#xff0c;用于向请求添加 URL 参数。data&…

多线程基础:线程创建、同步与通信——学习指南

多线程基础&#xff1a;线程创建、同步与通信——学习指南 文章目录 多线程基础&#xff1a;线程创建、同步与通信——学习指南前言一、线程创建1、原理2、案例3、使用场景推荐 二、线程同步1、原理2、案例1&#xff09;synchronized关键字1.1&#xff09;修饰实例方法&#xf…

qt-C++笔记之QSpinBox控件

qt-C笔记之QSpinBox控件 code review! 文章目录 qt-C笔记之QSpinBox控件1.运行2.main.cpp3.main.pro4.《Qt6 C开发指南》&#xff1a;4.4 QSpinBox 和QDoubleSpinBox 1.运行 2.main.cpp #include <QApplication> #include <QSpinBox> #include <QPushButton&g…

Vue3 实现基于token 用户登录

前后端分离情况下&#xff0c;实现的大致思路 1 第一次登录的时候&#xff0c;前端调用后端的登录接口&#xff0c;发送用户名与密码 2 后端收到请求&#xff0c;验证用户名和密码&#xff0c;验证成功 给前端返回一个token 3 前段拿到token 将token 存储进localStorage 和…

electron打包桌面版.exe之vue项目踩坑(vue3+electron 解决打包后首页打开空白,打包后路由不跳转及请求不到后端数据等问题)

vue项目https://www.qingplus.cn/components-web/index打包桌面版问题集合 一、静态资源加载问题 npm run electron_dev桌面版运行后页面空白&#xff0c;内容未加载。 填坑&#xff1a; 打包配置要用相对路径 vite.config.ts文件中的base要改成./&#xff0c;之前加了项目…

golang 和java对比

Go(也称为 Golang)和 Java 是两种流行的编程语言,它们在某些方面有相似之处,但在其他方面又有很大的区别。以下是它们之间的对比: 性能和并发性 Go:Go 是一种编译型语言,以其出色的并发性能而闻名。它具有轻量级的协程(goroutines)和通道(channels),使得编写并发代…