【2022 深圳 ArchSummit 】大数据架构稳定性保障实践

在这里插入图片描述

文章目录

  • 一、前言
  • 二、现状
  • 三、大数据架构的历史变迁
    • (一)洪荒期&MR
    • (二)远古期&MPP
    • (四)近现代&Flink/Spark
    • (五)现如今&实时数据湖架构
  • 四、架构稳定的关键因素
    • (一)扩展性
    • (二)可用性&容灾双活
    • (三)自适性&自动化评估
    • (四)易用性&批流一体化
    • (五)先进性&数据库仓库实时化
  • 五、未来大数据架构畅想
    • (一)产业趋势
    • (二)场景趋势
    • (三)架构趋势
    • (四)关键能力

一、前言

在这里插入图片描述

2022年深圳的 ArchSummit 的主题是“数字化转型下的架构升级”,主要聚焦:云原生、研效提升、IoT 系统架构、微服务架构、低代码系统、出海业务架构、人工智能与机器学习、企业数字化转型、前端 Serverless 研发体系、金融领域数字化转型、大数据实践与应用等领域。

首先还是要感谢 ArchSummit,有这么一个非常好的机会,因为其实在疫情期间,其实有很难得这种机会,让大家线下来分享这种,就是纯技术的这种交流啊,其实非常非常难得,因为上半年本身就有很多因为疫情,取消的很多这种技术大会,所以这次的话呢,我相信 ArchSummit 是做了很多的努力啊,所以非常感谢。

看一下历史上这个大数据架构发展是怎么样的,然后我们会去看,也就是说对于我们架构师来说,或者对于我们的开发骨干来说,对于公司、对于集团来说,它的价值到底是什么?因为我们做技术的,其实不能只是盯着我的技术,可能还要看,就是说引入一个新的技术,引入一个新的架构,对公司的不管是商业增长,还是说对公司的本身这个“降本增效”到底有没有帮助,所以呢,我会从这些角度去跟大家分享一下一些经验,然后就是希望大家都能够在各自的领域能够得到公司对你价值的认可。

二、现状

大数据发展至今,已经有近10年时间,在这10年的时间里面,大数据架构发生了很多变化。而这些变化,不断冲击当前企业大数据架构,给业务部分和信息部门都带来很大的挑战。

其实今天顺丰我看了一些最新的数据,平均每天大概是有200TB,而且都是纯结构化的数据。我们还有海量视频数据,我没有把它放出来。我们目前的整个存储规模已经到了200PB,这个是我们单集群最大规模目前到了4000多个节点。

在这里插入图片描述

所以我觉得这个体量应该还是比较足够的,然后我们还是会从两方面去跟大家去分享,第一方面就是整个架构。整个架构的变迁啊,它大致是怎么样的。第二个方面就是从架构稳定性这方面,不管是扩展性也好,可用性也好,自适性、易用性、先进性也好,这一块到底有哪一些关键的点是值得大家去关注的?

然后我们也会来分享,就是说看到的目前这个大数据架构是怎么样的?然后我们未来的这个大数据架构应该是怎么样的?我们可以发挥我们的想象力去思考未来的大数据架构会怎么样?因为今天如果说我们不为未来的这个大数据这个正确的架构做准备的话,可能我们在接下来的这个转化的话,我们会硬着陆。所以我们希望的是我们这个架构是软着陆的,所以也会跟大家去畅想一下,我们未来的大数架构是怎么样的?

三、大数据架构的历史变迁

(一)洪荒期&MR

第一部分我们先分享一下大数据的整个架构的一个历史变迁。其实这个大家应该都是比较熟悉,这个就简单说一下,记得当时在2011年、2012年的时候,十几年前的时候,我们以前用的是最早用的是 Oracle。那么Oracle 其实对于日增长 100亿,每天大概有100T左右这种数据的时候,要做一个调度是非常非常困难的。我们在凌晨做的存储过程要到中午才能够出这个数据,即便是我们当时已经用了像 Oracle 一体机,用这种小型机去做这个事情,但是我们还是没办法解决这种规模下调度的一个准时性的问题,所以我们当时引入了这引入的 MR去解决这个问题,那么讲这个事情的关键点呢,就是说在于这个事情其实。可能这些架构对于大家来看的话,都是老的架构啊,待会会讲新的架构,那么这个老的架构的话,当时确实是解决了,呃,我们业务部门要在比如说每天的90点去看到这些报表的这么一个诉求,那这个诉求的话呢,也是,呃,解决了公司的这种大规模分析的问题,那么有一部分的员工,呃,因为解决了这些关键的这些问题。

MR的原理:

Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初由 Google 工程师设计并实现的,Google 已经把他完整的 MapReduce 论文公开发布了。
其中对它的定义是,Map/Reduce 是一个编程模型,是一个用于处理和生成大规模数据集的相关的实现。用户定义一个 map 函数来处理一个 key/value 对生成一批中间的 key/value 对,再定义一个reduce 函数将所有这些中间的有着相同 key 的 values 合并起来。很多现实世界中的任务都可以用这个模型表达。

在这里插入图片描述

  • 价值:Oracle、MySQL、DB2等传统数据库,无法处理海量数据,日增长 100 亿级,每天 100 PB左右的离线专题数据分析。引入Hadoop MR架构解决早期2011、2012年离线跑批的问题。

  • 变化:Oracle存储过程全部需要改为MR/HSQL,重新编写后端调度。

  • 收益:公司解决了大规模数据分析问题,一部分员工因为解决了关键业务痛点,脱颖而出,成立了最原始的大数据团队。这也是架构变化的一些机会。

(二)远古期&MPP

MPP原理:

MPP即大规模并行处理(Massively Parallel Processor )。 每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。
非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势架构相对比较简单,中下规模下比较有优势,确实也解决hardon查询响应的问题。架构迭代的一些机会。

在这里插入图片描述

  • 价值:架构简单, 端到端解决湖和仓的问题,在中小规模场景下,比较有优势,解决了原来hadoop架构响应速度和并发度问题,并且开发人员只需掌握sql即可

  • 变化:

    • 针对中小规模场景下,可以直接替换hadoop
    • 在大规模场景下,需要作为hadoop的后端输出承载,面向业务侧提供高价值数据分析
  • 收益:公司使用更加简单架构,更简单的开发模式,应对不断变化的需求,一部分员工因为对mpp熟悉,独立一个团队,专注此项工作

(三)近古期&Storm

Storm原理:
Storm采用Master/Slave体系结构,分布式计算由Nimbus和Supervisor两类服务进程实现,Nimbus进程运行在集群的主节点,负责任务的指派和分发,Supervisor运行在集群的从节点,负责执行任务的具体部分。

  • Nimbus: Storm集群的Master节点,负责资源分配和任务调度,负责分发用户代码,指派给具体的Supervisor节点上的Worker节点,去运行Topology对应组件(Spout/Bolt)的Task。
  • Supervisor: Storm集群的从节点,负责接受Nimbus分配的任务,启动和停止属于自己管理的worker进程。通过Storm的配置文件中的supervisor.slots.ports配置项,可以指定在一个Supervisor上最大允许多少个Slot,每个Slot通过端口号来唯一标识,一个端口号对应一个Worker进程(如果该Worker进程被启动)

在这里插入图片描述

  • 价值:storm没出来之前,大家主要是写后端的预警程序,实现实时预警,需求响应时间长,且大规模场景下的处理非常复杂,storm之后,有一个相对好的架构,支撑实时流处理业务,能够更快速响应业务,处理海量实时数据
  • 变化:需要把原先java、c、c++等编写的流处理程序,切换到storm,有一定的迁移工作,但是架构更稳定
  • 收益:公司有更弹性、更简单的架构处理实时流数据,能更快速应对业务需求,同时,一部分员工因为对这部分比较熟悉,成立实时数据团队不需要关注底层的通讯细节,专门的实时团队。

(四)近现代&Flink/Spark

Flink原理:

Flink 是一个流处理框架,支持流处理和批处理,特点是流处理可容错、可扩展、高吞吐、低延迟。批处理是只有处理一批完成后,才会经过网络传输到下一个节点,流处理的优点是低延迟,批处理的优点是高吞吐
相比storm吞吐性能提供3到4倍左右。

在这里插入图片描述

  • 价值:Flink比Storm的吞吐性能更强,具备一定的批处理能力,技术生态栈支持更广,架构更统一。

  • 变化:需要把基于storm编写的实时流处理程序,迁移至flink,改造量还是比较多在实时流和AI方面确实有一些生态的支撑。

  • 收益:公司具备吞吐性能更强的流处理架构,基于flink能够做更多场景,如实时预测、实时TF;由原来实时流处理团队负责这部分架构

Spark原理:

Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目
Spark基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大

在这里插入图片描述

  • 价值:Spark相比Hadoop mr架构,计算过程不需要反复落盘,减少大量IO操作,大大提高计算速度。且技术生态栈较广,很好支持ML和流处理相关板块。对AI兼容性更好。
  • 变化:从HSQL迁移至Spark SQL,最开始时,还是需要不少工作量;
  • 收益:公司离线数据湖计算能力大致提高了2~3倍;成立一个新的算法团队,承担Spark计算框架业务

(五)现如今&实时数据湖架构

实时数据湖原理:

Hudi是Hadoop Updates and Incrementals的简写,它是由Uber开发并开源的Data Lakes解决方案,最初是用于解决数仓中 Lambda 架构中数据一致性的问题,将增量处理模型替代流式处理模型,并提供了 Upsert 和Incremental Pull 两个非常重要的 feature
• Update/Delete记录:Hudi使用细粒度的文件/记录级别索引来支持Update/Delete记录,同时还提供写操作的事务保证。查询会处理最后一个提交的快照,并基于此输出结果。
• 变更流:Hudi对获取数据变更提供了一流的支持:可以从给定的时间点获取给定表中updated/inserted/deleted的所有记录的增量流现在比较前沿的架构。大家都在往这个架构发展。

在这里插入图片描述

  • 价值:解决了lambda架构指标一致性和资源重复投入问题,同时提高了指标分析时效性,提升了管理和运营的决策效率
  • 变化:从hive/spark切换到hudi体系,会在数据接入侧需要进行调整,从overwrite切换为merge into,开发侧需要修改增量获取方式,代价不大,局部改动
  • 收益:业务指标时效,从T+1天到T+0,大大提升了指标时效,面向业务侧具备显性价值。同时,一部分员工因为比较熟悉,单独成立实时数据湖团队

在金融领域、跨国集团都在这块发力。

混合lambda解决现在的一些问题

实时湖架构在解决lambda的一些痛点

上海某公司每年10多亿的投入,主要在实时指标。

解决指标不统一,大规模降本。

四、架构稳定的关键因素

(一)扩展性

原来的扩展性:

  • 纵向扩容:小机升到大型机
  • 横向扩容:节点增加,比如100个节点增加到200个节点
  • 存算分离:按计算和存储维度分别进行扩容。
    在这里插入图片描述

顺丰财报增加20,资源消耗成本同比下降10~20%,这是一个大的趋势。

做一个调度资源引擎。在高峰时期可以用到容灾的资源。

大数据混合云发展的趋势。

弹性伸缩,跨机房

非常关键的一个点。

(二)可用性&容灾双活

怎么保证kafka偏移量不一致。通过修改开源代码来解决一些问题。

在这里插入图片描述

客户端在双活和稳定性这块是非常关键。
在这里插入图片描述

(三)自适性&自动化评估

在这里插入图片描述

(四)易用性&批流一体化

在这里插入图片描述

(五)先进性&数据库仓库实时化

在这里插入图片描述

五、未来大数据架构畅想

(一)产业趋势

传统大数据厂商

  • 核心打法:平台(私有化为主)+数据治理+定制化开发方式
  • 发展情况:基本没有太多创新,更多是项目方式, 项目毛利平均在40%左右。行业上主要聚焦在金融、政府、零售、地产、制造,平均实施周期2~3月

公有云厂商

  • 核心打法:云基础设施+生态能力
  • 发展情况:都布局云原生数据湖能力,如datalake产品,相对早期,市场感知度不强。大数据EMR的布局相对成熟些,行业打法上,目前还是以生态为主,聚焦IaaS。平均实施周期1~2天

在这里插入图片描述

新兴独角兽、科技公司 Snowflake、Databrick:

  • 核心打法:聚焦单品
  • 发展情况:商业模式就是单品,不承接数据治理和定制化开发,做好标准化(SQL)支持、接口开放性和线上运营支持。聚焦金融、互联网、零售、央国企、制造等行业,平均实施周期1~2天。

第一代云上数仓(发展期)私有化数据湖:
主要代表产品:***等厂商,相比传统oracle、db2,解决大规模OLAP分析场景Hadoop技术路线,存算一体,以私有化为主,按节点license结算,除大数据节点外,提供数据治理和定制化开发服务

第二代云上数仓(成熟期)云上数据湖:
主要代表产品:AWS EMR、Alibaba EMR、Cloudera一定程度上增加弹性能力,解放IT维护成本,Hadoop技术路线,存算一体,依托公有云IaaS资源,以EMR形式对外提供服务降低集群扩缩容和运维自动化成本

第三代云上数仓(幻灭期)云原生数据湖:
主要代表产品如:***Datalake通过存算分离、弹性伸缩等技术,实现动态伸缩和精准计费计算存储分离、精细化资源管理,具备DLF能力(元数据迁移、对象存储元数据发现、元数据管理),通过弹性伸缩,降低计算成本,同时提供DLF能力,帮助客户快速建仓

第四代云上数仓(萌芽期)云原生实时数据湖:
主要代表产品:snowflake、databricks等,通过存算分离、实时数仓、多云融合等核心技术,实现弹性伸缩和多云统一架构多云适配,AWS、Azure、GCP、alibaba cloud、tencent cloud等
支持实时数仓统一架构,实现批流合一和数仓指标实时化兼顾私有云的数据安全需求和公有云的弹性资源需求

(二)场景趋势

“实时数仓,批流合一”场景

  • 痛点:面向金融、快消零售和物流行业,以前大部分指标是T+1天,少部分T+0,客户需求大部分指标1分钟内呈现,使用离线+实时lambda架构,不仅耗费大量资源,还会出现指标不一致情况,如某垂直电商
  • 说明:目前主流实时数仓技术hudi,虽已开源但是有不少生产问题,包括性能和稳定性问题,离实际生产应用还有一段距离顺丰在这个基础上,已经解决了社区尚未解决的问题,并在内部落地,数仓计算效率提高4倍,数仓时效到1分钟以内

“存算分离,弹性伸缩”场景

  • 痛点:金融、快消零售和物流行业具备季节性属性,业务高峰时后台计算资源需求成本增长,扩充IT资源耗资巨大且浪费
    容灾机房、公有云等资源池无法充分利用,这两部分的闲置计算资源较多

  • 说明: 目前国内主流公有云云目前只聚焦在自家单朵云的弹性伸缩能力上发展,我们从客户角度出发,目前已经具备混合云弹性伸缩能力

“多云管理,跨云计算”场景:

  • 痛点:跨国企业和大型央国企,业务常涉及多朵云,比如某化妆品企业两朵云、某零售头部企业三朵云、某奶制品巨头国内三朵云等,如何解决多云环境下,统一数据湖管理和合规跨云计算,是客户最关心的问题
  • 说明:目前Snowflake和Databricks支持多云适配,但不支持跨云统一管理。顺丰已经支持多云管理和部分跨云计算。

(三)架构趋势

云原生实时数据湖,打造存算分离、实时数仓、湖仓一体三大核心能力
客户价值:T+1–>T+0
天下武功、唯快不破,谁的数据结果出得快,谁赢的可能性就越大

在这里插入图片描述

(四)关键能力

极致弹性

• 通过存算分离技术,复用容灾和公有云资源,确保了数据安全的同时,复用公有云弹性资源
在这里插入图片描述

实时数据湖

• 基于Hudi升级后大幅提升的数仓更新时效,由原来的“天”级别提升到“秒”级别

在这里插入图片描述

统一SQL
跨云、跨大数据引擎全局统一元数据管理,支持基于代价估算的全局解析执行引擎
支持的跨云、跨大数据分析引擎的融合分析
支持无感优化用户大数据架构,支撑已有技术生态,实现向云上数仓的平滑过渡
在这里插入图片描述

安全托管
确保客户对数据密钥有自主管理权,确保通信从南北向到东西向都是安全的,确保数据落地的加密程度是足够
在这里插入图片描述

数据生态

默认为每一个公有云和私有云客户部署一个联邦学习节点,数据不共享,但是模型参数共享,构建隐私计算数据交易市场

在这里插入图片描述

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

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

相关文章

编程式导航

目录 一、问题引入 二、基本跳转 1.path路径跳转(简易方便) 2.name命名路由跳转(适合path路径长的场景) 三、路由传参 1.path路径跳转传参 (1)query传参 (2)动态路由传参 2.…

C语言UDP网络编程

目录 1. C语言UDP编程简介 1.1 背景与意义 1.2 UDP协议简介 1.3 C语言在网络编程中的应用 2. UDP网络编程基础 2.1 套接字编程概念 2.2 UDP套接字创建与绑定 2.3 数据发送与接收 2.4 关闭套接字 3. C语言UDP编程实例 3.1 简单聊天室 3.2 文件传输程序 3.3 广播消息…

后端返回文件流格式,前端vue 导出下载表格

//日期时间格式化 export const formatDate (edate, type) > { var date new Date(edate); var year date.getFullYear(); //年 var month date.getMonth() 1 < 10 ? "0" (date.getMonth() 1) : date.getMonth() 1; //月 var day date.getDate() &l…

家装新宠!装修APP开发解决方案,为业主提供全新装修模式

随着人们对家庭装修的需求度越来越高&#xff0c;装修APP开发也随之出现。如今装修APP开发可实现互联网与传统家装行业的信息结合&#xff0c;由传统的家装行业广告模式向移动端的互联网模式进行转移&#xff0c;实现传统家装行业与互联网的相辅相成&#xff0c;以此来推动家装…

电商核心技术揭秘54: 粉丝经济的挖掘与利用

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘相关系列文章合集&#xff08;3&#xff09; 电商技术揭秘四十一&#xff1a;电商平台的营销系统浅析 电商技术揭秘四十二&#…

2024年华为OD机试真题-螺旋数字矩阵-C++-OD统一考试(C卷D卷)

题目描述: 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数n和行数m(0 < n ≤ 999,0 < m ≤ 999),从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3...n,最终形成一个m行矩阵。 小明对这个矩阵有些要求: 1.每行数字的…

一、数据结构的三要素

数据的存储结构&#xff1a;顺序&#xff08;物理位置相邻&#xff09;、链式&#xff08;物理位置不相邻&#xff09;、索引&#xff08;还需要建立索引表&#xff09;、散列&#xff08;根据关键字直接计算出该元素的存储地址又称为hash存储&#xff09;、 时间复杂度&#x…

接口(Interface)和抽象类(Abstract Class)编程思想

目录 抽象类(Abstract Class)编程思想 接口(Interface)编程思想 接口(Interface)和抽象类(Abstract Class)是面向对象编程(OOP)中的两个重要概念,它们都是用于实现代码重用和定义共同行为的方式,但各自有其独特的应用场景和编程思想。 抽象类(Abstract Class)编程思…

6.5.Docker数据管理和端口映射应用

文章目录 实战总体步骤案例1:安装tomcat&#xff08;端口映射使用&#xff09;案例2:安装mysql&#xff08;数据卷应用&#xff09;测试版实战版 案例3:安装Redis&#xff08;数据卷应用&#xff09; 实战总体步骤 搜索镜像 可以在Dockerhub中查看容器如何使用&#xff0c;包括…

js原生三种弹框

第一种&#xff1a; alert("提示内容")&#xff1a;提示弹框&#xff1b; alert("提示"); 第二种&#xff1a; prompt("内容","输入框默认值")&#xff1a;输入弹框&#xff0c;第一个值输入框提示内容&#xff0c;第二个值输入框默…

23种设计模式——责任链

责任链模式是一种行为设计模式&#xff0c;它允许将请求沿着处理链传递&#xff0c;直到有一个处理者能够处理该请求为止。责任链模式将请求的发送者和接收者解耦&#xff0c;使得多个对象都有机会处理请求&#xff0c;同时也可以动态地组织和修改处理链。 在责任链模式中&…

【SpringSecurity源码】过滤器链加载流程

theme: smartblue highlight: a11y-dark 一、前言及准备 1.1 SpringSecurity过滤器链简单介绍 在Spring Security中&#xff0c;过滤器链&#xff08;Filter Chain&#xff09;是由多个过滤器&#xff08;Filter&#xff09;组成的&#xff0c;这些过滤器按照一定的顺序对进…

AI绘画Stable Diffusion 插件篇:智能标签提示词插件sd-danbooru-tags-upsampler

大家好&#xff0c;我是向阳。 关于智能标签提示词插件&#xff0c;在很早之前就介绍过很多款了&#xff0c;今天再给大家介绍一款智能标签提示词插件sd-danbooru-tags-upsampler。该智能提示词插件是今年2月23号才发布的第一版V0.1.0&#xff0c;算是比较新的智能提示词插件。…

简化多容器应用部署:深入理解 Docker Compose

Docker Compose 已成为现代应用开发和部署的核心工具之一。它为开发者提供了一种简单且高效的方式来定义、运行和管理多容器应用程序。无论是在本地开发环境还是生产环境中&#xff0c;Docker Compose 都能够帮助开发团队快速搭建、部署和扩展复杂的应用系统。本文将深入探讨 D…

第100+7步 ChatGPT文献复现:ARIMA-GRNN预测出血热

基于WIN10的64位系统演示 一、写在前面 这一次&#xff0c;我们来解读ARIMA-GRNN组合模型文章&#xff0c;也是老文章了&#xff1a; 《PLoS One》杂志的2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal…

代码随想录 动态规划 刷题记录

动态规划 动规的五部曲: 确定dp数组(dp table)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组509.斐波那契数列 70.爬楼梯 746.使用最小花费爬楼梯 62.不同路径 63.不同路径II 343.整数拆分 96.不同的二叉搜索树 本轮树可以分为当1,2,3……

uni-app(五):原生插件打包并使用(Android)

原生插件打包并使用 解决Gradle不显示命令问题解决方法 运行打包查看打包好的包引入到uni-app项目中编写配置文件TestModuleTestComponent 制作基座并运行 解决Gradle不显示命令问题 解决方法 运行打包 查看打包好的包 引入到uni-app项目中 编写配置文件 TestModule {"n…

vue2 Avoided redundant navigation to current location

再次点击同一个链接会报错 每次使用 push 方法时带上两个回调函数 this.$router.push({name: item.name}, ()>{}, ()>{}) //第二、第三个参数分别为成功和失败的回调函数重写 Vue-router 原型对象上的 push 函数不行 https://blog.csdn.net/weixin_43615570/article/d…

Linux -- Git

Git Git 是一个开源的分布式版本控制系统&#xff0c;主要用于软件开发中的源代码管理。它由 Linus Torvalds 创建&#xff0c;也是 Linux 内核的开发者。Git 使得多个开发者可以在同一个项目上协作&#xff0c;而不会相互干扰。它允许开发者在本地计算机上创建多个分支&#…

番外篇 | YOLOv8改进之利用SCINet解决黑夜目标检测问题 | 低照度图像增强网络

前言:Hello大家好,我是小哥谈。自校正照明网络(Self-Calibrating Illumination Network, SCINet)是一种基于深度学习的图像照明算法,可以自动分析图像的内容并根据图像内容自动优化照明。SCINet是一种专为低光照图像增强设计的框架。它通过级联照明学习过程和权重共享机制…