探秘开源隐语:架构深度剖析与隐私计算技术之旅

1.隐语架构

隐语(SecretFlow)作为蚂蚁集团开源的可信隐私计算框架,其架构设计具有多层次的特点,虽然具体分层名称可能会根据实际描述略有差异,但我们可以依据已有的技术和信息对其进行结构化的拆解:

  1. 硬件层(或称TEE层/TCS层)

    • 这一层主要涉及到硬件层面的安全保障,尤其是对于可信执行环境(Trusted Execution Environment, TEE)的支持,比如蚂蚁集团推出的HyperEnclave就是这一层的实例,它提供了金融级别的安全容器,能够在硬件级别保护数据的安全性和隐私性,确保数据在加密状态下的计算过程不受攻击。
  2. 资源管理层

    • 资源层负责管理计算资源的分配与调度,包括但不限于CPU、GPU、内存以及可能的专用加密硬件资源。这一层确保所有参与隐私计算任务的资源都能够得到有效的分配和安全管理。
  3. 计算层(或称执行层)

    • 计算层是框架的核心,包含了支持多方安全计算(MPC)、同态加密(HE)等多种隐私计算技术的具体实现,以及相应的任务调度、通信协议、数据传输和加密计算逻辑。这一层将安全原语转化为可执行的计算任务,并在满足隐私保护要求的前提下完成数据处理。
  4. 算法层

    • 这一层主要是指隐私计算所依赖的密码学算法和相关技术,如多方安全计算协议、同态加密算法、差分隐私机制、联邦学习算法等。这些算法构成了隐语框架中实现数据加密、密文运算和结果解密的基础模块。
  5. 产品层(或称应用层、服务层)

    • 最上层的产品层为用户提供了一系列易于使用的接口和服务,包括SDK、API、工具集及可视化界面等。开发者可通过此层便捷地集成隐语框架到各类应用场景中,如金融风控、医疗数据分析、智慧城市等,并能够借助隐语开放平台提供的白屏拖拽方式直接搭建和运行隐私计算任务,大大降低了隐私计算技术的应用门槛。

在这里插入图片描述
综上所述,隐语的架构从底层硬件安全保障到顶层用户友好接口,层层递进地构建了一个完整的隐私计算解决方案,确保在数据不泄露原始内容的情况下进行有效计算和分析。

2.架构拆解

1.产品层

SecretPad: SecretPad作为隐语(SecretFlow)家族中的一款轻量化安装工具,以其简洁易用的设计和高效的性能深受用户喜爱。通过SecretPad,用户能够迅速领略并体验到隐云强大的隐私计算能力与服务。这款精简应用不仅简化了初次接触隐私计算技术的用户入门流程,还极大地提升了部署效率,使用户在短时间内就能创建并运行安全的数据加密环境,进而开展各类敏感数据处理任务。

隐语团队充分考虑到不同客户群体的多样化需求,因而特别推出了多种形态的部署方案,无论是大规模的企业级部署,还是小型团队的灵活应用,均能匹配相应的部署策略。这意味着无论是在本地数据中心、混合云环境,还是完全托管的云端平台上,都能轻松部署和运用隐语的隐私计算技术

进一步地,隐语即将推出一种全新的部署模式——PUP(Private Unified Platform),这是一种让每个合作机构都能拥有独立、专享的隐私计算平台的创新举措。这种模式赋予了机构更高的自主控制权,确保数据主权的同时,也为其实现安全合规的数据共享和联合分析奠定了坚实基础。

在产品功能方面,隐语涵盖了业界领先的隐私计算核心技术,包括但不限于多方安全计算(MPC)、可信执行环境(TEE)、安全查询语言(SCQL)以及私人集交集(PSI)等一系列先进的隐私保护技术手段。这些技术综合运用,形成了全面而强大的隐私保护解决方案,能够广泛应用于金融风控、医疗健康、政务数据交换等多个领域,有力推动数据价值的安全释放和最大化利用。
SecretNote: SecretNote是隐语(SecretFlow)精心打造的一款极具特色且功能强大的交互式开发工具,它巧妙地融入了隐私计算的核心理念和技术优势,为用户带来了前所未有的安全、便捷的数据建模体验。作为一款专为隐私计算设计的创新型notebook,SecretNote不仅继承了传统notebook直观、灵活的工作模式,更在此基础上进行了深度定制和优化。

使用SecretNote,用户可以直接在一个高度集成的可视化界面上进行交互式的隐私保护数据建模,全程无需担心数据隐私泄露的风险。得益于隐语框架的强大支撑,即使面对复杂的数据处理任务和多阶段的机器学习模型训练,SecretNote也能在保持数据加密的状态下,高效流畅地完成各个环节的操作

更重要的是,SecretNote具备卓越的分布式计算管理能力,用户可以通过单一界面轻松掌控和协调多个计算节点,实现跨节点的资源调度和任务协同。这使得在处理大规模、高并发的隐私计算问题时,不仅简化了流程,提高了工作效率,而且严格保证了数据在流转和处理过程中的安全性与隐私性。

总之,SecretNote凭借其独特的隐私计算特性和一体化的管理界面,为数据科学家、分析师以及广大开发者提供了一个既能充分发挥数据潜能,又能严守数据隐私底线的理想工作台,真正意义上实现了安全与便捷并举的新型数据建模实践。
在这里插入图片描述

2.算法层

隐私求交(Private Set Intersection, PSI)和逆向查询(Private Information Retrieval, PIR)是两种隐私保护技术,旨在允许用户在不暴露其私密信息的情况下进行信息交换和查询。

  1. 隐私求交(PSI)

    • 隐私求交是一种协议,允许两个或多个参与者在彼此的数据集合中查找相交项,而不必透露各自的私密数据内容。
    • 在PSI协议中,每个参与者都持有一个私有的数据集合,希望在其他参与者的数据集合中查找匹配项。
    • PSI协议的设计目标是保护参与者的隐私,确保他们的数据内容不会被泄露给其他参与者,同时还能够有效地找到相交项。
    • PSI协议通常基于加密技术和零知识证明等隐私保护机制,以确保交换过程中的数据保密性和安全性。
  2. 逆向查询(PIR)

    • 逆向查询是一种允许用户在不泄露查询内容的情况下从服务器获取数据的技术。
    • 在PIR协议中,用户向服务器发送一个查询请求,请求特定的数据,但是服务器不能知道用户查询的内容。
    • PIR协议的设计目标是保护用户的隐私,确保用户的查询内容不会被服务器获取,同时还能够有效地获取所需的数据。
    • PIR协议通常基于密码学和信息论等技术,实现了用户查询内容与实际获取的数据之间的隔离,从而保护了用户的隐私。

在这里插入图片描述

这两种技术在保护用户隐私方面有着不同的应用场景和实现方式。隐私求交通常用于数据所有者之间进行数据匹配和交换,而逆向查询则更多地用于用户从服务器获取数据而无需暴露查询内容的情况下。这些技术在隐私保护领域发挥着重要作用,为用户提供了安全、私密的信息交换和查询方式。

3.SCQL
在数据分析中,SCQL(Secure Computation Query Language)是一种安全计算查询语言,旨在允许用户在保护数据隐私的同时进行数据分析和查询。SCQL结合了安全多方计算(Secure Multiparty Computation, MPC)和查询语言的特性,为用户提供了一种在不暴露私密数据的情况下进行数据分析的解决方案。

以下是SCQL的主要特点和工作原理:

  1. 安全多方计算(Secure Multiparty Computation, MPC):

    • SCQL基于安全多方计算的理念,允许多个参与者在不暴露私密数据的情况下进行计算。
    • 在MPC中,每个参与者都持有自己的私密数据,他们可以通过协议进行通信和计算,但是无法直接访问其他参与者的数据内容。
  2. 查询语言的特性:

    • SCQL提供了类似于SQL的查询语言,允许用户以类似于传统数据库查询的方式对数据进行分析和查询。
    • 用户可以使用SCQL语言编写复杂的查询,包括数据过滤、聚合、连接等操作,从而实现各种数据分析任务。
  3. 隐私保护:

    • SCQL的关键目标是保护数据隐私,确保用户的私密数据不会被泄露给其他参与者或第三方。
    • 通过MPC协议和加密技术,SCQL实现了数据在计算过程中的保密性和安全性,使得即使在多方参与计算的情况下,也能保护数据隐私。
  4. 灵活性和扩展性:

    • SCQL具有灵活性和扩展性,可以适用于各种类型的数据分析任务和应用场景。
    • 用户可以根据自己的需求编写不同类型的查询,从简单的数据过滤到复杂的统计分析,都可以通过SCQL语言实现。

在这里插入图片描述
通过结合安全多方计算和查询语言的特性,SCQL为用户提供了一种安全、灵活的数据分析解决方案。它可以应用于各种隐私敏感的场景,如医疗健康数据分析、金融数据分析等,为用户提供了一种保护隐私的数据分析工具。

4.Federated Learning
Federated Learning(联邦学习)是一种机器学习方法,旨在解决中心化数据集的隐私和安全问题。相较于传统的集中式机器学习模型,联邦学习允许在设备本地进行模型训练,而无需将原始数据传输到中央服务器。

以下是联邦学习的主要特点和工作原理:

  1. 分布式学习:

    • 联邦学习允许在多个设备或边缘节点上进行模型训练,每个设备都持有本地的数据集。
    • 在训练过程中,模型参数被发送到各个设备,然后在本地进行更新,而无需将原始数据传输到中央服务器。
  2. 保护隐私:

    • 联邦学习的关键优势之一是保护数据隐私。由于原始数据始终保留在本地,因此不会暴露给其他设备或中央服务器。
    • 每个设备只共享模型更新的梯度信息,而不是原始数据,从而有效地保护了用户的隐私。
  3. 安全性:

    • 联邦学习通过使用加密和安全计算技术来保障数据的安全性。
    • 在模型更新的过程中,可以采用加密通信和差分隐私等技术来防止信息泄露和模型逆向推断攻击。
  4. 节约计算资源:

    • 由于联邦学习在本地进行模型训练,因此减少了中央服务器的计算压力和数据传输量。
    • 这种分布式的学习方式可以充分利用设备本地的计算资源,并减少网络带宽的消耗。
  5. 持续学习和个性化模型:

    • 联邦学习使得模型可以在分布式环境下持续学习,并根据每个设备的特定数据进行个性化调整。
    • 这使得模型更加适应不同设备的特点和用户的个性化需求。

在这里插入图片描述

联邦学习已经被广泛应用于各种领域,如医疗保健、金融、物联网等,以解决数据隐私和安全问题。随着技术的发展和应用场景的扩展,联邦学习有望成为未来机器学习领域的重要发展方向。

3.计算层

1.混合编译调度RayFed
RayFed是一种混合编译调度技术,旨在通过结合传统的静态编译和动态调度方法,优化深度学习模型的训练过程,以提高模型训练效率和性能。它结合了静态编译的高效性和动态调度的灵活性,能够更好地适应不同硬件和工作负载的特点。

以下是RayFed的主要特点和工作原理:

  1. 混合编译调度:

    • RayFed利用混合编译调度的方式,将模型的计算图动态地划分为多个任务,并分配给不同的计算资源执行。
    • 静态编译部分负责将计算图转换为可执行的指令序列,以提高计算的效率;而动态调度部分负责在运行时根据计算负载和资源状况进行任务调度,以实现负载均衡和性能优化。
  2. 任务划分和调度:

    • RayFed将深度学习模型的计算图划分为多个任务单元,每个任务单元对应于模型中的一个子图或操作。
    • 在运行时,根据计算图的结构和依赖关系,动态地将任务单元分配给可用的计算资源,并调度执行顺序,以最大化并行性和资源利用率。
  3. 资源管理和优化:

    • RayFed实现了资源管理和优化,以确保模型训练过程中的计算资源能够被充分利用。
    • 它可以根据计算负载和硬件资源状况进行动态调整,包括任务调度、内存管理、数据传输等方面的优化。
  4. 分布式训练支持:

    • RayFed支持分布式训练,能够有效地利用多个计算节点和设备进行模型训练。
    • 它通过动态调度和任务划分,实现了分布式环境下的负载均衡和性能优化,以加速模型训练过程。
  5. 与Ray框架的集成:

    • RayFed与Ray分布式计算框架集成,能够利用Ray的分布式任务调度和资源管理功能,实现模型训练的高效并行化。

通过混合编译调度的方式,RayFed能够有效地优化深度学习模型的训练过程,提高训练效率和性能,并且具有良好的可扩展性和灵活性。它已经在多个深度学习框架和硬件平台上得到了广泛应用,成为优化深度学习模型训练的重要技术之一。

2.密态引擎SPU
密态引擎(Secure Processing Unit, SPU)是一种专门设计用于执行安全计算任务的硬件设备或处理器。SPU通常集成了专用的安全硬件模块,以提供强大的加密和安全计算功能,确保敏感数据在计算过程中的保密性和完整性。

以下是密态引擎SPU的主要特点和功能:

  1. 安全硬件模块:

    • SPU内部集成了专门的安全硬件模块,包括加密引擎、安全存储、随机数生成器等。
    • 这些硬件模块具有高度优化的性能和安全性,可以有效地保护敏感数据和执行安全计算任务。
  2. 加密功能:

    • SPU提供了各种加密算法的硬件实现,包括对称加密算法(如AES)、非对称加密算法(如RSA)、哈希函数(如SHA-256)等。
    • 用户可以利用SPU的加密功能对数据进行加密、解密、签名、验证等操作,保护数据的机密性和完整性。
  3. 安全计算支持:

    • SPU支持安全计算任务,包括安全多方计算(Secure Multiparty Computation, MPC)、安全搜索(Secure Search)、安全聚合(Secure Aggregation)等。
    • 用户可以利用SPU执行这些安全计算任务,确保计算过程中的数据隐私和安全。
  4. 隔离和保护:

    • SPU具有硬件级的隔离和保护机制,可以将安全计算任务和相关数据与普通计算任务和数据分开存储和处理。
    • 这种隔离和保护能够有效地防止恶意攻击和数据泄露,并保障安全计算任务的顺利执行。
  5. 可编程性和灵活性:

    • SPU通常具有一定的可编程性和灵活性,可以根据具体的安全计算需求进行定制和配置。
    • 用户可以利用SPU执行各种安全计算任务,并根据需要进行优化和定制,以满足特定的安全需求。

在这里插入图片描述

密态引擎SPU在各种安全领域都得到了广泛应用,包括安全通信、加密存储、安全计算等。它为保护敏感数据和执行安全计算任务提供了一种高效、可靠的硬件解决方案,成为安全领域的重要技术之一。

3.HEU
HEU(Homomorphic Encryption Unit)是一种专门设计用于支持全同态加密计算的硬件单元。全同态加密是一种特殊类型的加密技术,允许在加密状态下执行计算操作,而无需解密数据。HEU的设计旨在为计算任务提供硬件级的支持,以加速全同态加密计算,并降低计算开销。

以下是HEU的主要特点和功能:

  1. 全同态加密支持:

    • HEU专门设计用于支持全同态加密计算。全同态加密允许在密文状态下执行各种计算操作,包括加法、乘法、逻辑运算等,而不需要将数据解密。
    • HEU的硬件设计旨在加速全同态加密计算,并提高计算效率和性能。
  2. 加速硬件:

    • HEU通常包含高度优化的加密算法硬件实现和加速逻辑电路,以提高全同态加密计算的速度和效率。
    • 通过硬件加速,HEU可以在短时间内处理大量的加密数据,提高计算吞吐量和响应速度。
  3. 安全性保障:

    • HEU在设计上注重安全性,包括数据保密性、完整性和抗攻击性。
    • 它采用安全硬件模块和加密引擎,确保密文数据在计算过程中不被泄露或篡改,保障数据的安全性。
  4. 低能耗设计:

    • HEU通常采用低功耗设计,以确保在高性能的同时能够降低能耗和热量产生。
    • 低功耗设计可以使HEU适用于各种移动设备和嵌入式系统,以提供安全的全同态加密计算服务。
  5. 可扩展性和灵活性:

    • HEU具有一定的可扩展性和灵活性,可以根据具体的应用需求进行定制和配置。
    • 它可以与各种计算平台和系统集成,为用户提供安全的全同态加密计算解决方案。

在这里插入图片描述
总的来说,HEU作为一种专门设计的硬件单元,为全同态加密计算提供了高效、安全的硬件支持。它在保护数据隐私和实现安全计算方面具有重要的应用价值,在各种领域都有着广泛的应用前景。

4.TEEU
TEEU(Trusted Execution Environment Unit)是一种专门设计用于创建和管理可信执行环境(TEE)的硬件单元。可信执行环境是一种受保护的执行环境,可以提供安全的计算和存储环境,确保敏感数据和关键计算操作的安全性和隐私性。

以下是TEEU的主要特点和功能:

  1. 安全执行环境:

    • TEEU负责创建和管理可信执行环境(TEE),为应用程序提供受保护的执行环境。
    • 在TEE中,敏感数据和关键计算操作被隔离和保护,以防止恶意软件和攻击者对其进行窃取或篡改。
  2. 硬件级安全保障:

    • TEEU集成了专门的安全硬件模块和加密引擎,用于保护TEE中的数据和计算操作。
    • 它通过硬件级的安全保障机制,确保TEE中的数据在计算和传输过程中的机密性、完整性和可信性。
  3. 可信计算支持:

    • TEEU支持可信计算任务,包括安全运行环境(Secure Execution Environment)、安全存储(Secure Storage)等。
    • 用户可以利用TEE中的可信执行环境执行敏感操作,如加密解密、数字签名、身份验证等,而无需担心数据泄露或被篡改的风险。
  4. 安全应用隔离:

    • TEEU可以创建多个独立的可信执行环境,以实现安全的应用隔离。
    • 不同的应用程序可以在各自的TEE中执行,彼此之间相互隔离,确保各自的安全性和隐私性。
  5. 移动设备和嵌入式系统支持:

    • TEEU通常采用低功耗设计,适用于移动设备和嵌入式系统等资源受限的环境。
    • 它可以提供安全的计算和存储服务,为移动设备和嵌入式系统提供保护敏感数据和执行安全操作的解决方案。

在这里插入图片描述

TEEU作为一种专门设计的硬件单元,为创建和管理可信执行环境提供了高效、安全的硬件支持。它在保护数据隐私和执行安全计算方面具有重要的应用价值,在移动设备、物联网和云计算等领域都有着广泛的应用前景。

5.密码原语YACL
YACL(Yet Another Cryptographic Library)是一个密码原语库,用于在算法层中执行各种加密和安全操作。它旨在提供一套简单易用、高效可靠的密码学原语,用于构建安全的通信协议、数据加密系统和数字签名方案。

以下是YACL密码原语库的主要特点和功能:

  1. 密码学原语支持:

    • YACL库提供了各种常用的密码学原语,包括对称加密算法(如AES、DES)、非对称加密算法(如RSA、ECC)、哈希函数(如SHA-256、SHA-3)、消息认证码(MAC)等。
    • 用户可以利用YACL库中的密码学原语构建安全的通信协议、数据加密系统和数字签名方案。
  2. 简单易用的API:

    • YACL库设计了简单易用的应用程序接口(API),以方便开发人员使用密码学原语。
    • 用户可以轻松地调用YACL库中的函数来执行加密、解密、签名、验证等操作,无需深入了解密码学算法的细节。
  3. 高性能和可靠性:

    • YACL库实现了高效可靠的密码学原语,具有优秀的性能和安全性。
    • 它采用了优化的算法和数据结构,以确保在不同硬件平台和环境下的高性能和可靠性。
  4. 跨平台支持:

    • YACL库可以在各种计算平台上运行,包括桌面计算机、服务器、移动设备和嵌入式系统等。
    • 它提供了跨平台的实现,以满足不同应用场景和环境下的密码学需求。
  5. 开源和自由:

    • YACL库是开源的,采用自由软件许可证,任何人都可以免费使用、修改和分发。
    • 开发人员可以根据自己的需求定制和扩展YACL库,以满足特定的应用要求。

在这里插入图片描述

总的来说,YACL密码原语库是一个简单易用、高效可靠的密码学工具,适用于构建各种安全应用和系统。它提供了丰富的密码学原语和简单易用的API,为开发人员提供了构建安全通信和数据保护方案的便捷工具。

4.资源层

在资源层中,Kuscia(Kubernetes Underlying Scalability Infrastructure for AI)是一个针对人工智能(AI)工作负载优化的开源软件项目。它建立在Kubernetes(K8s)之上,旨在提供针对AI工作负载的高效、可扩展和可靠的资源管理和调度解决方案。

以下是Kuscia的主要特点和功能:

  1. 针对AI工作负载的优化:

    • Kuscia专注于优化针对AI工作负载的资源管理和调度,包括训练、推理、模型部署等任务。
    • 它针对AI工作负载的特点和需求进行了优化,如对GPU资源的需求、分布式训练任务的协调等。
  2. 基于Kubernetes的实现:

    • Kuscia建立在Kubernetes之上,利用Kubernetes的强大功能和生态系统,提供了AI工作负载的完整管理和调度解决方案。
    • 它与Kubernetes紧密集成,可以无缝地与Kubernetes集群集成,利用Kubernetes的API和控制平面来管理和调度AI工作负载。
  3. 资源管理和调度:

    • Kuscia提供了高效的资源管理和调度机制,可以根据AI工作负载的特点和需求,动态地分配和调整资源。
    • 它通过优化资源分配算法和调度策略,提高了AI工作负载的执行效率和性能。
  4. 可扩展性和可靠性:

    • Kuscia具有良好的可扩展性和可靠性,可以处理大规模的AI工作负载,并保证任务的高可用性和稳定性。
    • 它可以根据需要动态地扩展和缩减资源,以适应不同规模和需求的AI工作负载。
  5. 开源和社区支持:

    • Kuscia是一个开源项目,得到了社区的广泛关注和支持。
    • 它积极参与开源社区,与其他开源项目和工具进行整合和合作,不断改进和完善AI工作负载的资源管理和调度功能。

在这里插入图片描述

总的来说,Kuscia是一个针对AI工作负载优化的开源软件项目,建立在Kubernetes之上,提供了高效、可扩展和可靠的资源管理和调度解决方案。它为AI应用和服务提供了强大的基础设施支持,有助于提高AI工作负载的执行效率和性能。

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

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

相关文章

回归预测 | Matlab基于SAO-BiLSTM雪融算法优化双向长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SAO-BiLSTM雪融算法优化双向长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SAO-BiLSTM雪融算法优化双向长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SAO-B…

MySQL学习笔记------SQL(1)

关系型数据库(RDBMS) 建立在关系模型基础上,由多张相互连接的二维表组成的数据库 特点:使用表储存数据,格式统一,便于维护 使用SQL语言操作,标准统一,使用方便 SQL通用语法 SQL…

反序列化漏洞简单知识

目录: 一、概念: 二、反序列化漏洞原因 三、序列化漏洞的魔术方法: 四、反序列化漏洞防御: 一、概念: 序列化: Web服务器将HttpSession对象保存到文件系统或数据库中,需要采用序列化的…

蓝桥杯day12刷题日记

P8720 [蓝桥杯 2020 省 B2] 平面切分 思路&#xff1a;首先借用dalao的图解释一下&#xff0c;又多出一条与当前平面任意一条直线都不重合线时&#xff0c;多了的平面是交点数1&#xff0c;所以用双层循环每次往里面加一条直线&#xff0c;计算交点 #include <iostream>…

STM32--RC522学习记录

一&#xff0c;datasheet阅读记录 1.关于通信格式 2.读寄存器 u8 RC522_ReadReg(u8 address) {u8 addr address;u8 data0x00;addr((addr<<1)&0x7e)|0x80;//将最高位置一表示read&#xff0c;最后一位按照手册建议变为0Spi_Start();//选中从机SPI2_ReadWriteByte(ad…

STM32之HAL开发——HAL库框架介绍

HAL库外设设计思想 HAL库借鉴面向对象的设计思想&#xff0c;将外设驱动封装为对象。 HAL库使用主线 HAL使用的主要用在俩个地方&#xff0c;无外乎外设初始化以及外设的使用。想用好这两个功能&#xff0c;我们首先得对外设的封装有一定的了解。 句柄结构体 xx_HandleTypeDef…

[Java基础揉碎]final关键字

目录 介绍 在某些情况下&#xff0c;程序员可能有以下需求&#xff0c;就会使用到final final注意事项和讨论细节 1) final修饰的属性又叫常量&#xff0c;一般用XX_XX_XX来命名 2) final修饰的属性在定义时&#xff0c;必须赋初值&#xff0c;并且以后不能再修改&#…

国内IP地址和网关的定义与作用

在国内网络通信系统中&#xff0c;IP地址和网关扮演着至关重要的角色&#xff0c;它们相互配合&#xff0c;构成了连接各种网络设备和实现数据传输的基础。虎观代理小二将深入探讨国内IP地址和网关的定义、作用以及在网络通信中的重要性。 1. IP地址的作用和特点 IP地址定义&am…

python绘图matplotlib——使用记录1

本博文来自于网络收集&#xff0c;如有侵权请联系删除 使用matplotlib绘图 1 常用函数汇总1.1 plot1.2 legend1.3 scatter1.4 xlim1.5 xlabel1.6 grid1.7 axhline1.7 axvspan1.8 annotate1.9 text1.10 title 2 常见图形绘制2.1 bar——柱状图2.2 barh——条形图2.3 hist——直…

python第三方库的安装,卸载和更新,以及在cmd下pip install安装的包在pycharm不可用问题的解决

目录 第三方库pip安装&#xff0c;卸载更新 1.安装&#xff1a; 2.卸载 3.更新 一、第三方库pip安装&#xff0c;卸载更新 1.安装 pip install 模块名 加镜像下载&#xff1a;pip install -i 镜像网址模块名 常用的是加清华镜像&#xff0c;如 pip install -i https://pyp…

农夫山泉2024财报即将公布,首富地位恐难撼动,巨额利润或将流失海外

农夫山泉2024财报即将公布&#xff0c;首富地位恐难撼动&#xff0c;巨额利润或将流失海外 2024年3月26日&#xff0c;农夫山泉新一年的财报即将公布&#xff0c;根据现有的经济数据分析&#xff0c;农夫山泉此次财报应该不会受到近期负面事件的影响&#xff0c;钟晱晱的首富地…

JavaEE企业级分布式高级架构师课程

教程介绍 本课程主要面向1-5年及以上工作经验的Java工程师&#xff0c;大纲由IT界知名大牛 — 廖雪峰老师亲自打造&#xff0c;由来自一线大型互联网公司架构师、技术总监授课&#xff0c;内容涵盖深入spring5设计模式/高级web MVC开发/高级数据库设计与开发/高级响应式web开发…

stm32学习-vs1053使用

1.基本概念 vs1053是一款音频解码芯片&#xff0c;通过SPI不断输入音频数据&#xff0c;vs1053自动解码。 引脚说明 常用命令寄存器 码率&#xff1a;每秒数据数&#xff0c;单位一般为bit&#xff0c;越高越保真 2.配置流程 3.使用流程 4.问题总结 1.不能一次性从sd卡中读…

马斯克开源的 grok-1 底层 Transformer 模型论文 《Attention is All You Need》

拓展阅读 马斯克开源的 grok-1 底层 Transformer 模型论文 《Attention is All You Need》 马斯克开源的 grok-1 大模型底层 Transformer 模型到底是个啥&#xff1f; 马斯克开源的 grok-1 大模型硬核源码第 1 弹 马斯克开源的 grok-1 大模型硬核源码第 2 弹 马斯克开源的…

记录echarts各种地图json文件下载地址

今日绘图需要用到echarts的地图json文件&#xff0c;但是github上已经找不到了&#xff0c;后发现伟大的网友提供了地址如下&#xff1a;Index of /examples/data/asset/geohttps://echarts.apache.org/examples/data/asset/geo/

初探Flink集群【持续更新】

周末下雨&#xff0c;倒杯茶&#xff0c;在家练习Flink相关。 开发工具&#xff1a;IntelliJ Idea 第一步、创建项目 打开Idea&#xff0c;新建Maven项目&#xff0c;包和项目命名 在pom.xml 文件中添加依赖 <properties><flink.version>1.13.0</flink.vers…

Python从0到100(八):Python元组介绍及运用

一、什么是元组 Python的元组与列表类似&#xff0c;不同之处在于元组的元素不能修改。元组使用小括号&#xff0c;列表使用方括号。 tup1 (physics, chemistry, 1997, 2000) tup2 (1, 2, 3, 4, 5 ) tup3 "a", "b", "c", "d"二、…

超声波清洗机优势有哪些?全网火爆超声波清洗机品牌推荐

人们对于清洁效率和质量的要求越来越高&#xff0c;传统的清洗方法已经难以满足人们对于精细清洁的需求。这时&#xff0c;超声波清洗机以其独特的清洗机制和显著的清洗效果成为了市场上的新宠。它能够深入物体的微观世界&#xff0c;轻松去除污渍&#xff0c;同时不损伤物品表…

Python学习从0到1 day18 Python可视化基础综合案例 1.折线图

我默记这段路的酸楚&#xff0c;等来年春暖花开之时再赏心阅读 —— 24.3.24 python基础综合案例 数据可视化 — 折线图可视化 一、折线图案例 1.json数据格式 2.pyecharts模块介绍 3.pyecharts快速入门 4.数据处理 5.创建折线图 1.json数据格式 1.什么是json 2.掌握如何使用js…

华为数通 HCIP-Datacom H12-831 题库补充

2024年 HCIP-Datacom&#xff08;H12-831&#xff09;最新题库&#xff0c;完整题库请扫描上方二维码&#xff0c;持续更新。 缺省情况下&#xff0c;PIM报文的IP协议号是以下哪一项&#xff1f; A&#xff1a;18 B&#xff1a;59 C&#xff1a;103 D&#xff1a;9 答案&a…