`
大涛学长
  • 浏览: 121898 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

拐点已至,云原生引领数字化转型升级

阅读更多
作者 | 易立  阿里云资深技术专家
本文整理自易立在 2019 携程技术峰会上发表的题目为《拐点已至,云原生引领数字化转型升级》的演讲。
关注“阿里巴巴云原生”公众号,回复关键词“转型”即可下载本文 PPT。
今天我跟大家分享的题目是“拐点已至,云原生引领数字化转型升级”。先做个简单的自我介绍,我叫易立,来自于阿里云容器平台,从 2015 年开始负责阿里云容器产品,之前在 IBM 工作 14 年,主要负责企业中间件和云计算的产品研发。
今天会跟大家分享我们对云原生领域的简单思考,以及我们对云原生发展四个趋势大概的介绍:
拥抱 Serverless – 极致弹性,无需运维;
服务网格 – 将服务治理能力与应用解耦,并下沉到基础设施层;
云原生应用管理标准化 – 构建高效、自动化和可信赖的应用交付体系;
计算无边界 – 实现云-边缘-IoT 设备的高效协同。
云原生基本概念
先简单介绍云原生一些基本的概念。



我们接触了很多的客户,对于这些客户而言,上不上云已经不是问题,他们关注的是该怎么上云?该如何充分利用云的能力、最大化云的价值?在 All in Cloud 的时代,企业的技术能力已经成为核心竞争力,他们非常愿意用云作为企业 IT 能力的增效器。
云原生计算是一组最佳实践和方法论,在公共云、专有云环境中,构建可伸缩、健壮、松耦合的应用,可以更加快速地创新和低成本试错;容器、服务网格、无服务计算等新的计算范型不断涌现。



容器掀开了云原生技术的序幕:
Docker 镜像形成了应用分发和交付的标准,可以将应用与底层运行环境实现解耦;
Kubernetes 技术成为了分布式资源调度和编排的标准,Kubernetes 屏蔽了底层基础架构的差异,帮助应用运行在不同的基础设施之中;
在此基础之上,社区开始建立上层的应用抽象。比如服务治理层,Istio 成为了服务通信的网络协议栈,将服务治理能力与应用层实现解耦。
在此之上,面向领域的云原生框架也在迅速出现,比如面向机器学习的云原生平台 Kubeflow 和面向无服务器的 Knative 等等。通过这样的架构分层,开发者只需关注自身的业务逻辑,而无需关注底层实现的复杂性。
我们可以看到一个云原生操作系统的雏形开始出现,这是开发者最好的时代,极大地提升了业务创新的速度。



在早期,Kubernetes上主要运行无状态的 Web 应用,比如基于 Apache Dubbo/Spring Cloud 的微服务应用。而现在,越来越多的企业核心业务、数据智能业务以及创新业务也运行在 Kubernetes 之上。
以阿里云自身的云产品举例,如企业级分布式应用服务 EDAS、实时计算平台 Flink、弹性 AI 算法服务 EAS 以及区块链平台 BaaS 也部署在阿里云 Kubernetes 服务 ACK 之上。
K8s 已经成为云时代操作系统,成为应用使用云基础设施能力的界面。阿里云 ACK 实现了对云基础设施的优化集成,提供敏捷、弹性和可移植的云原生应用平台;而且可以在公共云、专有云、边缘云上实现一致的应用部署和管理。
从容器到无服务器
Serverless Kubernetes
下面我们来谈一下,Kubernetes 的 Serverless 进化。



所有人都喜欢 K8s 提供的强大和灵活,但是运维一个 Kubernetes 生产集群极具挑战。
阿里云的 Kubernetes 服务 ACK 简化了 K8s 集群的生命周期管理,托管了集群的 master 节点被,但是用户依然要保有 worker 节点资源池,还需要维护节点,比如进行升级安全补丁等,并根据自己的使用情况对资源层进行容量规划。
针对 K8s 的运维复杂性挑战,阿里云推出了 Serverless Kubernetes 容器服务  ASK,完全兼容现有 K8s 容器应用,但是所有容器基础设施被阿里云托管,用户可以专注于自己的应用。它具备几个特点:
首先用户没有任何预留资源,按照容器应用实际消耗的资源付费;
对用户而言没有节点的概念,零维护;
所有资源按需创建,无需任何容量规划。
Serverless Kubernetes 极大降低了运维复杂性,而且其自身设计非常适合突发类应用负载,如 CI/CD,批量计算等等。比如一个典型的在线教育客户,根据教学需要按需部署教学应用,课程结束自动释放资源,整体计算成本只有使用包月节点的 1/3。
云规模的 Nodeless 架构 —— Viking
它是怎么实现的呢? 在 2017 年底,我们启动 Serverless Kubernetes 项目的时候,就一直在思考:如果 Kubernetes 天生长在云上,它的架构应该如何设计?我们为它内部的产品代号为 Viking,因为古代维京战船以迅捷和便于操作而著称。



首先,我们希望兼容 Kubernetes。用户可以直接使用 Kubernetes 的声明式 API,兼容 Kubernetes 的应用定义,Deployment, StatefulSet, Job, Service 等无需修改。
其次 Kubernetes 底层尽可能充分利用云基础设施服务的能力和云服务来实现,比如计算、存储、网络、资源的调度等;根本性简化容器平台的设计,提升规模,降低用户运维复杂性。我们遵从 Kubernetes 控制器设计模式,驱动整个 IaaS 资源状态不断地向用户应用声明的状态逼近。
我们在资源层提供了弹性容器实例 - ECI。与 Azure Container Instance ACI, AWS Fargate 不同,ECI 提供 Kubernetes Pod 的原生支持而不是提供单独 container 实例。ECI 基于轻量虚拟机提供了沙箱环境实现安全隔离,完全兼容 Pod 的语义、支持多容器进程、健康检查、启动顺序等能力。这样使得上层构建 K8s 兼容层,变得非常简单直接。
在编排调度层,我们使用了微软的 Virtual-Kubelet,并对其进行了深度扩展。Virtual-Kubelet 提供了一个抽象的控制器模型来模拟一个 Kubernetes 节点。当一个 Pod 被调度到虚拟节点上,控制器会利用 ECI 服务创建一个 ECI 实例来运行 Pod。同时控制器支持双向状态同步,如果一个运行中的 ECI 实例被删除,控制器会根据应用目标状态重新恢复一个新的 ECI 实例。
同时我们基于阿里云的云服务实现了 Kube-Proxy、Kube-DNS、Ingress Controller 的行为,提供了完整的 Kubernetes Service 能力支持:
比如利用阿里云的 DNS 服务 PrivateZone,为 ECI 实例动态配置 DNS 地址解析,支持了 Headless Service;
通过内网 SLB 提供了 Cluster IP,提供负载均衡能力;
通过 SLB 提供的 7 层路由来实现 Ingress 的路由规则。
我们也为 ECI 提供了端到端可观测性能力,并与阿里云日志服务,云监控等服务进行了深度集成,也可以轻松支持 HPA 水平扩容。
容器启动加速——“零秒”镜像下载
对于 Serverless 容器技术而言,应用启动速度是一个核心指标。容器对应用启动速度的影响主要在于:
资源的准备:通过端到端管控链路的优化和针对容器场景虚拟化和操作系统的剪裁和优化,ECI 可以将资源准备时间优化到秒级;
镜像下载时间:从 Docker 镜像仓库下载镜像并在本地解压缩是一个非常耗时的操作。下载时间取决于镜像大小,通常在 30 秒到数分钟不等。
在传统 Kubernetes 中, worker 节点会在本地缓存已下载过的镜像,这样下次启动不会重复下载和解压。为了实现极致弹性成本效率,ECI 和 ECS 采用并池的策略,计算存储分离的架构,这也意味着我们不可能通过传统方式利用本地盘来做容器镜像的缓存。



为此我们实现了一个创新的方案:可以将容器镜像制作成一个数据盘快照。
当 ECI 启动时,如果镜像快照存在,可以直接基于快照创建一个只读数据盘,并随着实例启动自动挂载,容器应用直接利用挂载数据盘作为 rootfs 进行启动。基于盘古 2.0 架构和阿里云 ESSD 云盘的极致 I/O 性能,我们可以将镜像加载的时间缩小到 1 秒以内。
为了简化用户操作,我们在 K8s 中提供了 CRD 可以让用户指明哪些镜像需要构建镜像快照。同时,在 ACR 镜像仓库服务的软件交付流水线上,我们可以声明哪些镜像需要进行加速,这样当用户推送一个新镜像时,就会自动构建相应的快照缓存。
极致弹性
下面谈弹性,对于绝大多数的企业来讲,弹性是上云最重要的一个诉求,双 11 就是一个典型的脉冲式计算,峰值计算资源会是平时的很多倍。也有不可预期的峰值发生,比如一个爆款游戏大热之后,就需要迅速地在云上扩容。Kubernetes 可以将云的弹性能力发挥到极致。



ACK 在资源层和应用层提供了丰富的弹性策略,在资源层目前主流的方案是通过 cluster-autoscaler 进行节点的水平伸缩。当出现 Pod 由于资源不足造成无法调度时,cluster-autoscaler 会选择一个伸缩组中,并自动向组内加入实例。
在弹性伸缩组中,我们可以根据应用负载需求选择 ECS 虚拟机,神龙裸金属和 GPU 实例进行扩容。值得一提的是 Spot instance,竞价实例可以利用阿里云的空闲计算资源,成本折扣可以低至按量付费实例的 90%。
竞价实例非常适合无状态和容错性好的应用,比如批量数据处理或者视频渲染等,可以大大降低计算成本。基于阿里云强大的弹性计算能力,我们可以在分钟级实现千节点伸缩。
进一步结合上文提到的 ECI,我们可以在 ACK 中基于虚拟节点实现弹性伸缩。virtual-kubelet 可以注册为一个虚拟节点,理论上拥有无限大的容量。当 Pod 调度到虚拟节点上时,会利用 ECI 动态创建 Pod,这非常适合大数据离线任务、CI/CD 作业、突发型在线负载等。在一个大型客户的生产环境中,弹性容器实例可以在 30 秒内启动 500 Pod,轻松应对突发的请求峰值。
在应用层,Kubernetes 提供了 HPA 的方式进行 Pod 的水平伸缩,和 VPA 进行 Pod 的垂直伸缩。阿里云提供了 alibaba-cloud-metrics-adapter,可以提供更加丰富的弹性指标,比如可以根据 Ingress Gateway 的 QPS 指标、云监控的指标,动态调整应用 Pod 数量。
另外对很多行业客户而言,应用负载的资源画像是具有周期性的。比如,我们一个证券行业的客户,每周一到周五,股市开盘时间是交易时间,而其他的时间,只能查询不提供交易,峰谷资源需求量高达 20 倍以上的差异。
为了解决这个场景,阿里云容器服务提供了定时伸缩组件,专门应对资源画像存在周期性的场景 ,开发者可以定义 time schedule,提前扩容好资源,而在波谷到来后定时回收资源;结合底层 cluster-autoscaler 的节点伸缩能力,很好平衡了系统的稳定性和资源成本的节约。
未来我们会发布一些基于机器学习的弹性伸缩策略,可以根据历史资源画像,实现更好地资源预测,提升弹性的 SLA。
赋能下一代无服务器应用



上文说到了为什么 Serverless 受到越来越多开发者的欢迎,因为大家更关注自己的业务,而不是基础设施的维护。Serverless 化是云服务发展的必然趋势,我们需要将资源调度,系统运维等能力下沉到基础设施。Google, IBM,CloudFoundry 等共同推出了 Knative 作为 Serverless 编排框架,可以非常简洁、高效地实现无服务器化应用。它提供了几个核心能力:
Eventing - 提供了事件驱动的处理模型,我们针对阿里云,扩展了丰富的事件源,比如当 OSS 接收到用户上传的一个视频片段,触发容器中的应用进行视频转码;
Serving- 提供了灵活的服务响应能力,可以根据业务的请求量自动弹性伸缩,甚至支持缩容到零,利用阿里云弹性基础设施,可以大大降低资源成本;
Tekton - 可以轻松实现从代码到应用部署的自动化流水线。
结合应用管理能力和应用性能监控服务, 我们可以基于 Knative 快速搭建具备领域特色的应用托管服务 (Micro PaaS),大大降低直接操作 Kubernetes 资源的复杂度,让开发者更加专注于应用迭代和服务交付效率提升。
安全沙箱容器技术进化
刚才谈完了编程模型,看一下底层实现,所有的 Serverless下面核心实现就是安全容器沙箱。传统的 Docker RunC 容器与宿主机 Linux 共享内核,通过 CGroup 和 namespace 实现资源隔离。这种方式非常高效,但是由于操作系统内核的攻击面比较大,一旦恶意容器利用内核漏洞,可以影响整个宿主机上所有的容器。



越来越多企业客户关注容器的安全性,为了提升安全隔离,阿里云和蚂蚁金服团队合作,引入安全沙箱容器技术。今年 9 月份我们发布了基于轻量虚拟化技术的 RunV 安全沙箱。相比于 RunC 容器,每个 RunV 容器具有独立内核,即使容器所属内核被攻破,也不会影响其他容器,非常适合运行来自第三方不可信应用或者在多租户场景下进行更好的安全隔离。
经过性能优化,安全沙箱容器现在可以达到 90% 的原生 RunC 性能,并且 RunV 容器提供了和 RunC 容器完全一致的用户体验,包括日志、监控、弹性等。同时,ACK 可以在一台神龙裸金属实例上同时混布 RunC 和 RunV 容器,用户可以根据自己的业务特性自主选择。
在财年年底,我们会推出基于 Intel SGX 可信计算技术的可信容器沙箱 RunE。容器应用运行在 CPU 中被称为 enclave 的安全可信执行环境中。一个比喻:我们把容器放进了保险箱,任何人,包括云服务供应商,都无法从外部篡改和截获之中数据。客户可以将高机密应用,比如秘钥的加签、验签,隐私数据处理等逻辑运行在 RunE 容器中。
从微服务到服务网格
下面谈另外一个方面——微服务架构的演化。 互联网应用架构催生了微服务架构的发展。它的核心思想是通过应用功能拆分,将复杂应用拆解为一组松耦合服务,每个服务遵守单一责任原则(Single Responsibility Principle)。每个服务可以独立部署和交付,大大提升了业务敏捷性;每个服务可以独立横向扩展/收缩,应对互联网规模的挑战。
服务治理能力下沉



微服务框架,比如 HSF/Dubbo 或 Spring Cloud,都提供了强大的服务治理能力,比如服务发现、负载均衡、熔断降级等。这些服务治理能力以 Fat SDK 的方式与应用程序构建在一起,随着应用一起发布和维护,服务治理能力与业务逻辑的生命周期耦合在一起。
微服务框架的升级会导致整个应用的重新构建和部署。此外由于 Fat SDK 通常与特定语言所绑定,难以支持企业应用的多语言(polyglot)实现。
为了解决上述挑战,社区提出了 Service Mesh(服务网格)架构。它将服务治理能力下沉到基础设施,通过一个独立的 Sidecar 进程来提供服务治理能力,而应用侧只保留协议的编解码即可。从而实现了服务治理与业务逻辑的解耦,二者可以独立演进不相互干扰,提升了整体架构的灵活性;同时服务网格架构减少了对业务逻辑的侵入性,降低了多语言支持的复杂性。
服务网格



在阿里巴巴经济体内部,我们已经开始大规模应用服务网格技术,来提供多语言支持,降低业务对接门槛;提供统一架构模式,提升技术迭代速度。以 Istio 为代表的服务网格技术具有光明的前途,但是大规模生产落地时仍然存在非常多的挑战。
首先是 Istio 服务网格技术自身的复杂性;
其次是规模化带来的稳定性和性能的挑战:

在海量服务的情况下,控制平面是否可以支持服务配置的高效分发?
数据平面是否可以尽可能降低增加两跳后的通信延迟?
下沉可观测性和策略管理能力到数据平面,避免集中化 Mixer 引入的性能瓶颈等。

最后是和现有的微服务架构兼容并存,支持现有微服务的统一配置管理服务和通信协议。
为了解决上述挑战,阿里巴巴和蚂蚁金服与 Istio 社区兼容的技术体系上,构建了服务网格能力。在今年 618,蚂蚁金服已经完成核心系统上到 SOFAMosn 的验证工作,刚刚结束的双 11,阿里巴巴和蚂蚁金服在核心系统大规模上线了 Service Mesh。
同时阿里巴巴经济体会把自身技术演进的结果及时反馈到上游去,与社区共同推进 Service Mesh 发展。比如在阿里巴巴开源的服务发现与配置管理项目 Nacos 最新版本中,就提供了 Istio 对 MCP 协议支持。 晚些时候,阿里云会推出托管 Service Mesh 服务,帮助云上的开发者能够便捷地使用服务网格技术。
聚焦应用生命周期
另外一个关注的焦点是应用生命周期的自动化、标准化。我们知道 Kubernetes 的定位是 Platform for Platform,帮助企业实现自动化应用运维、管理。



Kubernetes 为分布式应用管理提供了很多基础的元语抽象,比如面向无状态应用的 Deployment 和面向有状态应用的 StatefulSet。但是在企业生产环境中,面对应用的不同需求,现有能力还存在一些不足。参加技术分享我们经常会听到每个企业都在谈如何修改 K8s 来解决自己的问题,这里面很多问题都是相似的。
OpenKruise
作为云原生技术的引领者,阿里巴巴将我们在云原生计算技术上大规模生产的最佳实践沉淀下来,以开源项目 OpenKruise 的方式与社区开放、共建。
一方面帮助企业客户在云原生的探索的过程中,少走弯路,减少技术碎片;
一方面推动上游技术社区,逐渐完善和丰富 Kubernetes 的应用周期自动化能力。



以如下几个新的控制器为例:
Broadcast Job:可以让一次性任务运行在机器上指定的节点,比如我们要在节点上安装安全补丁,或者在节点上预先下载一个容器镜像;
Sidecar Set:越来越多的运维能力以 Sidecare 方式提供,比如日志、监控、和服务网格中的数据平面组件 Envoy。我们可以通过 Sidecar Set 以声明式方法管理 Sidecar的生命周期;
Advanced StatefulSet: 支持原地发布和批量升级,让大家在更加简单地支持有状态服务。
这些控制器解决了很多客户的真实痛点。
OAM-首个开放应用模型
在 11 月 16 日,微软和阿里云共同发布了 Open Application Model(OAM),希望能够建立起一个标准化的云原生应用模型,帮助开发者、应用运维和基础设施运维团队,进行更加高效的协同。



它采用的关注点设计标准包括不同的维度,开发者负责定义应用的组件、依赖与架构;应用运维人员负责定义应用运行时配置与运维需求,比如发布策略和监控指标,而基础架构运维团队可以针对应用部署环境的不同,配置定制化参数。



通过这种关注点分离(Separation of Concerns)的设计,可以将应用定义、运维能力与基础设施实现解构。让应用交付变得更加高效、可靠和自动化。
计算无边界
最后一个方面,我们来讲一下对未来无边界云计算的思考。 随着 5G 时代的临近,低延迟网络、AI 硬件算力提升和智能化应用快速发展,一个万物智联的时代必将到来,将计算能力从云延展到到边缘侧、设备侧,并通过云进行统一应用交付、资源管控,将会是云计算发展的必然趋势。
云边端一体协同



基于容器,我们建立了云边端一体协同平台 —— ACK@Edge。这样我们可以将一些需要低延迟处理的应用部署在边缘节点实现就近访问。比如,我们可以把 AI 模型预测和实时数据处理放置到边缘,进行实时智能决策,而将模型训练,大数据处理等需要海量算力应用放到云端。
ACK 边缘版提供了统一管控能力,在 K8s 集群中可以同时支持云端 ECS、边缘 ENS 节点以及 IoT 设备。并且针对边缘的特殊性,提供了单元化隔离和断连自治、自愈能力。我们已经在阿里云视频云、优酷等场景中开始大规模应用。
优酷筋斗云



我们以优酷筋斗云为例介绍其计算架构演进。
优酷是国内最大的视频平台,随着优酷业务的快速发展,需要将原来部署在若干 IDC 内的集中式架构,演进到云+边缘计算的架构。这时候需要一种方式来统一管理阿里云十几个 region 和众多的边缘节点。
优酷选择了 ACK@Edge,可以统一管理云与边缘的节点,并实现了统一的应用发布和弹性扩缩容。通过弹性能力,节省了机器成本 50%。采用新的架构之后,用户终端可以就近访问边缘节点,让端到端网络延迟降低了 75%。
源于社区,回馈开源



最后,云原生技术源自于社区的共同的建设。阿里巴巴作为云原生的实践者和引领者,全面拥抱云原生技术,并将我们在大规模生产最佳实践回馈到社区,与社区共同建设更加美好的云原生技术生态。


原文链接
本文为云栖社区原创内容,未经允许不得转载。
分享到:
评论

相关推荐

    【重磅】史上最全的阿里云分享的云原生技术学习资料合集(120份).zip

    拐点已至,云原生引领数字化转型升级易立 函数计算在 双11 小程序场景中的应用 基于 K8s 扩展机制实现 PaaS 平台云原生演进 金融级云原生 PaaS 探索与实践 客如云容器化改造经验 蚂蚁金服双十一 Service Mesh 超大...

    2022年十大数字科技前沿应用趋势.docx

    分布式云服务的兴起,使得云原生不仅能够优化资源分配,还促进了软硬件的深度整合,进一步推动IT体系的云化转型。 二、量子计算进入NISQ时代 量子计算在2021年取得了显著进展,量子比特数量大幅增长。未来,尽管仍...

    2022年十大数字科技前沿应用趋势.pdf

    一、云原生推动IT体系全面云化 云原生技术,如容器、无服务器计算,以及分布式云服务,正在加速IT体系的进化。它们使得应用程序能够更好地适应多云和混合云环境中的动态变化,促进了软硬件的协同发展,引领IT系统迈...

    无人机轨迹规划中的内外安全策略及其Matlab实现

    内容概要:本文详细探讨了无人机轨迹规划中的内外安全策略。外部安全主要依靠RRT(快速扩展随机树)算法,在未知环境中随机探索路径,避免障碍物。内部安全则关注无人机电机的工作状态,通过序列二次规划(SQP)优化轨迹,确保电机推力在合理范围内,避免过载。两者结合,形成了一种高效的无人机轨迹规划方法。文中还提供了具体的Matlab代码实现,展示了如何将这两种安全策略融合在一起,以提高无人机的安全性和能效。 适合人群:从事无人机研究、开发的技术人员,尤其是对轨迹规划感兴趣的工程师。 使用场景及目标:适用于需要在复杂环境中进行高效、安全飞行的无人机项目。目标是通过合理的算法设计,使无人机能够在避开障碍物的同时,保持电机在最佳工作状态,从而延长电池寿命,降低故障率。 其他说明:文中提到的实际案例和实验数据进一步验证了所提出方法的有效性。同时,作者强调了在实际应用中需要注意的一些细节问题,如平面度特性的正确使用、轨迹离散化的粒度选择以及电机模型的理想化处理等。

    基于物质点法的边坡滑坡破坏模拟:Anura3d软件的应用与案例分析

    内容概要:本文详细介绍了利用物质点法(Material Point Method, MPM)和Anura3D软件进行边坡滑坡破坏模拟的过程。文章首先解释了MPM的基本原理,即通过物质点跟踪材料属性并结合欧拉网格进行计算,适用于大变形和破坏问题。接着,作者分享了一个具体的案例——台阶边坡在降雨或地震作用下的滑坡模拟,涵盖了前处理建模、数值模拟计算和后处理分析三个主要步骤。前处理中使用Gid 11进行几何建模和网格划分,定义材料属性;数值模拟中设定边界条件和初始条件,采用显式积分方法;后处理中使用ParaView进行数据可视化,生成位移云图、应力云图等。此外,还讨论了一些常见问题和技术细节,如接触算法、时间步长的选择等。 适合人群:对数值模拟特别是物质点法感兴趣的地质工程研究人员、岩土工程师及相关领域的学生。 使用场景及目标:①理解和掌握物质点法的基本原理及其在边坡滑坡模拟中的应用;②学习使用Anura3D和ParaView进行数值模拟和结果可视化的具体操作;③探索滑坡破坏过程中的微观机制和宏观表现。 阅读建议:本文不仅提供了详细的理论介绍和技术指导,还包括了许多实用的操作技巧和注意事项。建议读者在实践中逐步尝试文中提到的方法和参数设置,同时关注可能出现的问题及其解决方案。

    Altium Designer 25.5.2 Build 35 (x64)

    Altium Designer 25.5.2 Build 35 (x64) ,不知道更新了什么,不好下载就先下载到雷盘再下载

    基于ssm的大学生创新创业项目管理系统(源码+数据库)171

    基于ssm的大学生创新创业项目管理系统:前端 jsp、jquery,后端 maven、springmvc、spring、mybatis;角色分为管理员、学生;集成学院、专业、班级管理,创新计划,项目管理等功能于一体的系统。 ## 功能介绍 - 学院管理:学院信息的增删改查,按名称模糊搜索查询,学院简介信息支持富文本编辑 - 专业管理:专业信息的增删改查,按名称模糊搜索,按学院选择查询 - 班级管理:班级信息的增删改查,,按名称模糊搜索,按学院、专业选择查询 - 用户管理:用户信息的增删改查,多条件搜索查询 - 创新计划:创新计划信息增删改查,详情信息支持富文本编辑,上传附件,查看申请 - 项目管理:项目列表查询,申请审核 ## 环境 - <b>IntelliJ IDEA 2021.3</b> - <b>Mysql 5.7.26</b> - <b>Tomcat 7.0.73</b> - <b>JDK 1.8</b>

    石油工程中基于深度学习的FracPredictor裂缝建模与压裂模拟技术解析

    内容概要:本文详细介绍了FracPredictor这一基于深度学习的裂缝预测工具及其应用。首先探讨了数据处理部分,如利用滑窗处理时序+空间特征混合体的方法,以及如何将岩石力学数据转换为适合神经网络的格式。接着深入剖析了模型架构,包括时空双流网络、注意力机制用于跨模态融合、HybridResBlock自定义层等创新设计。此外,文章还分享了训练技巧,如渐进式学习率衰减、CosineAnnealingWarmRestarts调度器的应用。对于可视化方面,则推荐使用PyVista进行三维渲染,以直观展示裂缝扩展过程。文中还提到了一些实用的小技巧,如数据预处理中的自动标准化、配置文件参数调整、以及针对特定地质条件的优化措施。最后,通过多个实际案例展示了FracPredictor在提高预测准确性、降低计算成本方面的优势。 适合人群:从事石油工程、地质勘探领域的研究人员和技术人员,尤其是对裂缝建模与压裂模拟感兴趣的从业者。 使用场景及目标:适用于需要高效、精准地进行裂缝预测和压裂模拟的工程项目。主要目标是帮助用户掌握FracPredictor的工作原理,学会从数据准备到结果可视化的完整流程,从而优化压裂方案,减少工程风险。 其他说明:文章不仅提供了详细的代码示例,还附带了丰富的实战经验和注意事项,有助于读者更好地理解和应用这项新技术。

    基于ssm的二手汽车销售管理系统(源码+数据库+万字文档)107

    基于ssm的二手汽车销售管理系统:前端 jsp、jquery,后端 maven、springmvc、spring、mybatis,角色分为经理和员工;集成品牌管理、客户管理、销售管理、库存管理、收购管理等功能于一体的系统。 ## 功能介绍 - 品牌管理:品牌信息的增删改查,热门品牌列表,销量比较好的顺序排行 - 客户管理:客户资料信息的增删改查 - 销售管理:车辆销售登记,列表查询,付款 - 库存管理:车辆库存情况查询,下订单 - 收购管理:收购评估,收购订单查询 - 统计管理:财务状况(柱状图),下载excel表格 - 员工管理:员工信息的增删改查,账号激活操作 - 聊天管理:聊天内容查看,指定人员发送聊天内容 ## 环境 - <b>IntelliJ IDEA 2009.3</b> - <b>Mysql 5.7.26</b> - <b>Tomcat 7.0.73</b> - <b>JDK 1.8</b>

    光伏MPPT中改进的樽海鞘群算法:领导更新与局部全局开发能力提升

    内容概要:本文详细介绍了改进的樽海鞘群算法(SSA)在光伏最大功率点跟踪(MPPT)中的应用。首先探讨了领导者更新机制的改进,引入反向学习思想,使算法能够更好地进行全局和局部搜索。其次,对追随者更新公式进行了优化,使其更倾向于适应度较高的个体,从而提高搜索效率。此外,增加了光照突变重启功能,确保算法在光照条件突变时仍能快速响应并重新定位最大功率点。通过仿真实验表明,改进后的算法显著提升了收敛速度和稳定性,尤其在光照突变情况下表现优异。 适合人群:从事光伏系统研究和技术开发的专业人士,尤其是对优化算法感兴趣的科研人员和工程师。 使用场景及目标:适用于光伏系统的最大功率点跟踪(MPPT)优化,旨在提高光伏系统的效率和稳定性,特别是在光照条件不稳定的情况下。 其他说明:文中提供了详细的代码示例和参数调优建议,有助于实际工程应用中的实施和调试。

    基于ssm的学生选课管理系统(源码+数据库)146

    基于ssm的学生选课管理系统:前端 html、jquery,后端 springmvc、spring、mybatis;角色分为:老师、学生;集成课程管理、上传成绩、选课等功能于一体的系统。 ## 功能介绍 - 基本功能:登录,注册,退出 - 我的课程:教师可以增加自己的课程供学生选择,可以查看当前课程有哪些学生选择 - 上传成绩:课程列表展示,双击课程可以进入该课程下面上传学生成绩 - 个人信息:个人信息查询与修改,密码修改 - 系统消息:系统消息列表查询 - 我的选课:选课信息查询,课程退选 - 网上选课:课程列表查询,关键词搜索,课程报名 - 往期课程:课程列表查询,导出成绩为word文档 ## 环境 - <b>IntelliJ IDEA 2021.3</b> - <b>Mysql 5.7.26</b> - <b>Tomcat 7.0.73</b> - <b>JDK 1.8</b>

    基于springboot+vue的物业管理系统(源码+数据库)129

    基于springboot+vue的物业管理系统:前端 vue、elementui,后端 maven、springmvc、spring、mybatis,角色分为管理员、用户;集成小区管理、楼盘管理、保障管理等功能于一体的系统。 ## 功能介绍 - 小区管理:小区基本信息查询与修改,周边设施增删改查,物业公告信息增删改查,支持模糊查询 - 楼宇管理:小区楼宇信息增删改查 - 房间管理:房间信息的增删改查,导出excel - 报修管理:报修信息列表查询,删除,审核 - 投诉管理:投诉信息列表查询,删除,审核 - 收费类型管理:收费类型信息的增删改查,关键词搜索 - 用户管理:物业人员信息的增删改查,住户信息的增删改查 - 定时任务管理:定时任务执行特定任务或数据处理任务 ## 环境 - <b>IntelliJ IDEA 2021.3</b> - <b>Mysql 5.7.26</b> - <b>Node 14.14.0</b> - <b>JDK 1.8</b>

    智能办公基于Dify和飞书知识库的AI智能问答助手构建:提升团队工作效率的企业级应用方案

    内容概要:本文介绍如何利用Dify和飞书知识库构建智能问答助手,解决团队高效提取信息的难题。Dify作为一个开源AI平台,适合构建自然语言处理应用;飞书提供API接口,方便获取知识库内容。通过结合两者,可创建24/7在线的智能问答助手,减少人工搜索文档时间。文中详细描述了实现步骤:准备开发环境(获取飞书API权限、注册使用Dify、搭建环境)、获取飞书知识库内容(调用API、数据处理)、使用Dify进行智能问答(训练或使用现成模型、调用API)、构建问答服务(搭建后端服务、部署服务、配置飞书机器人)以及持续优化模型和知识库内容。 适合人群:对AI技术和企业协作工具有一定了解的企业IT人员、开发者。 使用场景及目标:①为企业内部提供全天候智能问答服务,自动回答常见问题;②减少人工搜索文档时间,提高工作效率;③通过用户提问日志优化AI模型,提升答案准确性。 阅读建议:在实践过程中,需结合实际需求调整API权限和模型训练,确保系统的实用性和高效性。同时,定期更新飞书知识库内容,保证信息的时效性和准确性。

    基于GOOSE-Transformer-LSTM的时间序列数据回归预测模型及其优化

    内容概要:本文探讨了一种结合Transformer的全局注意力机制和LSTM的短期记忆及序列处理能力的数据回归预测模型,并引入了最新提出的GOOSE优化算法。Transformer通过自注意力机制捕捉数据的全局依赖性,LSTM则专注于捕捉短期依赖关系。GOOSE算法用于优化LSTM的隐含层神经元数目,从而提高模型的泛化能力和预测精度。文中提供了多个Python代码片段,展示了模型的具体实现和优化过程。实验结果显示,该模型在电力负荷预测、商品销量预测等场景中表现出色,预测误差显著降低。 适用人群:从事机器学习、深度学习研究的专业人士,尤其是对时间序列预测感兴趣的开发者和技术爱好者。 使用场景及目标:适用于需要同时考虑长期趋势和短期波动的时间序列预测任务,如电力负荷预测、股票价格预测、商品销售预测等。目标是提高预测精度,减少预测误差,增强模型的鲁棒性和泛化能力。 其他说明:文中提到的实际应用场景包括电力负荷预测和风电功率预测,强调了模型在处理异常波动数据时的优势。此外,还讨论了一些潜在的改进方向,如引入因果卷积和MoE架构等。 标签1: Transformer 标签2: LSTM 标签3: GOOSE优化算法 标签4: 时间序列预测 标签5: 自注意力机制

    脑肿瘤实例分割医疗影像数据集.zip

    数据集介绍:脑肿瘤实例分割医疗影像数据集 一、基础信息 数据集名称:脑肿瘤实例分割医疗影像数据集 数据规模: - 训练集:803张医学影像 - 验证集:237张医学影像 - 测试集:129张医学影像 标注类别: - Brain_Tumor(脑肿瘤):包含各类脑部肿瘤病变区域标注 标注特性: - YOLO实例分割格式:通过多边形坐标点精确标注肿瘤边界 - 包含正常脑组织与肿瘤组织的对比样本 - 数据来源于临床医学影像采集系统 二、适用场景 医疗影像AI系统开发: 支持构建脑肿瘤自动识别与病灶定位系统,辅助医生进行术前规划与病灶量化分析 智能诊断工具研发: 可用于开发脑部CT/MRI影像智能分析工具,实现肿瘤位置、形态的精准三维重建 医学影像算法研究: 为深度学习在医学图像分割领域的研究提供标准测试基准,支持UNet、Mask R-CNN等算法的训练验证 放射科医师培训: 可作为教学材料帮助医师学习脑肿瘤的影像学特征识别与病灶标注规范 三、核心优势 临床精准性: - 标注结果经三甲医院放射科医师双重校验 - 涵盖胶质瘤、脑膜瘤等多种常见脑肿瘤类型 技术适配性: - 原生支持YOLOv5/v7/v8等主流实例分割框架 - 提供标准化的数据划分方案与验证指标 科研价值: - 包含完整病例的DICOM原始数据转换样本 - 标注数据呈现肿瘤异质性和边界模糊等临床特征 工程实用性: - 提供肿瘤区域面积占比等量化指标计算基准 - 支持医疗影像PACS系统直接对接的数据格式

    永磁同步电机SVPWM算法故障诊断与容错控制的Simulink建模及应用

    内容概要:本文详细介绍了如何在Simulink中构建永磁同步电机(SVPWM)算法的故障诊断与容错控制模型。首先,通过搭建电流残差观测器进行故障诊断,采用瞬态突变和累积误差双重判据,确保能够及时捕捉到IGBT故障。接着,针对故障情况,提出了重构电压矢量的方法,将故障相的电压分配给其他相,从而实现系统的容错控制。此外,文中还讨论了模型中各个模块之间的耦合关系以及一些具体的实现细节,如故障注入模块、观测器环路延迟、磁饱和参数设置等。最后,通过仿真验证了该方法的有效性,展示了故障发生后系统的快速响应能力和良好的性能恢复。 适用人群:从事电机控制研究的技术人员、研究生及以上学历的相关专业学生。 使用场景及目标:适用于需要提高永磁同步电机控制系统可靠性的应用场景,特别是在工业自动化、电动汽车等领域。目标是在IGBT故障情况下,确保电机系统能够在短时间内恢复正常运行,减少故障带来的负面影响。 其他说明:文中提供了详细的MATLAB/Simulink代码片段,帮助读者更好地理解和实现相关算法。同时,强调了一些容易忽视的关键点,如IGBT模型的选择、采样周期的设定等,有助于提高仿真的准确性。

    高速公路联网收费系统优化升级:收费站标准化接口规范解析

    高速公路联网收费系统优化升级收费站标准化专项试点技术方案2024.11

    基于Matlab/Simulink的锂离子电池SOC估计:EKF与UKF结合二阶RC模型的应用

    内容概要:本文详细介绍了利用Matlab/Simulink实现锂离子电池荷电状态(SOC)估计的方法,特别关注扩展卡尔曼滤波(EKF)和无迹卡尔曼滤波(UKF)两种算法。首先,文章解释了二阶RC等效电路模型的基本原理及其参数设定,该模型用于描述电池内部动态行为。接着,分别阐述了EKF和UKF的工作机制,包括它们各自的状态预测和更新步骤,并给出了具体的MATLAB代码片段。此外,还讨论了这两种方法在不同工况下的表现差异以及如何选择合适的滤波器以提高估计精度。最后,强调了OCV-SOC曲线拟合质量和参数辨识的重要性,指出这是确保良好估计效果的关键因素之一。 适合人群:从事电池管理、电动汽车、储能系统等领域研究的技术人员,尤其是那些对卡尔曼滤波理论有一定了解并希望通过实际案例深入理解其应用的人士。 使用场景及目标:适用于需要精确估算锂离子电池SOC的研究项目或产品开发阶段,旨在帮助研究人员更好地掌握EKF和UKF的特点,从而为具体应用场景挑选最适合的算法。 其他说明:文中提供的代码仅为示例,实际应用时需根据具体情况调整参数配置。同时提醒读者重视电池模型本身的准确性,因为即使是最先进的滤波算法也无法弥补模型缺陷带来的误差。

    电动汽车动力系统仿真的关键技术:双向DCDC变换器与电机控制策略

    内容概要:本文详细介绍了电动汽车动力系统的仿真技术,涵盖双向DCDC变换器的能量反馈机制和支持异步电机与永磁同步电机的仿真。文中展示了多个关键控制策略,如电流环控制、最大转矩电流比(MTPA)控制、弱磁控制以及基于事件触发的协调控制。通过MATLAB、Python和C等多种编程语言的具体代码实例,解释了如何实现高效的能量管理和电机控制。此外,文章还讨论了仿真过程中遇到的实际问题及其解决方案,如电压过冲、电流振荡和系统耦合等问题。 适合人群:从事电动汽车研究与开发的技术人员、高校相关专业师生、对电动汽车动力系统感兴趣的工程师。 使用场景及目标:适用于电动汽车动力系统的设计与优化,帮助工程师理解和掌握双向DCDC变换器的工作原理及电机控制策略,提高能量利用效率,确保系统稳定性。 其他说明:文章不仅提供了详细的理论和技术背景,还分享了许多实践经验,有助于读者更好地将理论应用于实际项目中。

Global site tag (gtag.js) - Google Analytics