当前位置: 首页 > news >正文

堆叠、集群技术

1.堆叠、集群技术的概述

堆叠、集群简介

堆叠(iStack),将多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上虚拟成一台交换设备,作为一个整体参与数据转发。
集群(Cluster Switch System,CSS),将两台支持集群特性的交换机设备组合在一起,从逻辑上虚拟成一台交换设备。
集群只支持两台设备,一般高端框式交换机支持CSS、盒式设备支持iStack。
通过使用堆叠、集群技术结合链路聚合技术可以简单构建高可靠、无环的园区网络。
堆叠、集群架构
使用堆叠、集群技术将独立的交换机虚拟化成一台逻辑的交换机,一般接入、汇聚层盒式交换机采用堆叠技术,汇聚、核心层交换机采用集群技术。
在逻辑交换机之间使用链路聚合技术,无需部署STP、VRRP实现高可靠性。
实现高可靠性的同时设备之间的链路可以同时传输流量,链路利用率得以提升。

堆叠、集群的优势

1)使用堆叠、集群可有效提高资源利用率,获得更高的转发性能、链路带宽。
2)使用堆叠、集群可以降低网络规划的复杂度,方便对于网络的管理。
3)使用堆叠、集群可以大大降低故障导致的业务中断时间。

2.堆叠技术原理

堆叠基本概念

堆叠系统中所有的单台交换机都称为成员交换机,按照功能不同,可以分为三种角色:
主交换机(Master):主交换机负责管理整个堆叠。堆叠系统中只有一台主交换机。
备交换机(Standby):备交换机是主交换机的备份交换机。堆叠系统中只有一台备交换机。当主交换机故障时,备交换机会接替原主交换机的所有业务。
从交换机(Slave):从交换机用于业务转发,堆叠系统中可以有多台从交换机。从交换机数量越多,堆叠系统的转发带宽越大。除主交换机和备交换机外,堆叠中其他所有的成员交换机都是从交换机。当备交换机不可用时,从交换机承担备交换机的角色。
堆叠优先级:堆叠优先级是成员交换机的一个属性,主要用于角色选举过程中确定成员交换机的角色,优先级值越大表示优先级越高,优先级越高当选为主交换机的可能性越大。

堆叠ID

堆叠ID,即成员交换机的槽位号(Slot ID),用来标识和管理成员交换机,堆叠中所有成员交换机的堆叠ID都是唯一的。
设备堆叠ID缺省为0。堆叠时由堆叠主交换机对设备的堆叠ID进行管理,当堆叠系统有新成员加入时,如果新成员与已有成员堆叠ID冲突,则堆叠主交换机从0~最大的堆叠ID进行遍历,找到第一个空闲的ID分配给该新成员。

堆叠逻辑接口

堆叠逻辑接口:交换机之间用于建立堆叠的逻辑接口,每台交换机支持两个逻辑堆叠端口,分别为stack-port n/1和stack-port n/2,其中n为成员交换机的堆叠ID。
一个逻辑堆叠端口可以绑定多个物理成员端口,用来提高堆叠的可靠性和堆叠带宽。
堆叠成员设备之间,本端设备的逻辑堆叠端口stack-port n/1必须与对端设备的逻辑堆叠端口stack-port m/2相连。
在这里插入图片描述

堆叠系统组建过程

①物理连接:选择适当的连接方式和连接拓扑,组建堆叠网络
②主交换机选举:成员交换机之间相互发送堆叠竞争报文,并根据选举原则,选出堆叠系统主交换机。
③拓扑收集和备交换机选举:主交换机收集所有成员交换机的拓扑信息,向成员交换机分配堆叠ID,之后选出堆叠系统备交换机。
④软件和配置同步:主交换机将堆叠系统的拓扑信息同步给所有成员交换机,成员交换机同步主交换机的系统软件和配置文件,之后进入稳定运行状态。

堆叠方式

1)堆叠卡堆叠:使用专用的堆叠插卡或者交换机自身集成的堆叠插卡,使用专用的堆叠线缆进行堆叠。
2)业务口堆叠:交换机之间使用逻辑堆叠接口(stack-port)相连,可使用普通线缆网线、光纤或者专用堆叠线缆连接物理成员端口。

堆叠连接拓扑

1)链型连接:堆叠成员交换机距离较远时,组建环形连接比较困难,可以使用链形连接。
可靠性较低,其中一条堆叠链路出现故障就会导致已经形成的堆叠断开。
2)环形连接:堆叠成员交换机距离较近时,从可靠性和堆叠链路利用率上考虑,建议使用环形连接。
可靠性较高,其中一条堆叠链路出现故障,环形拓扑变成链形拓扑,不影响堆叠系统正常工作。

交换机的选举

1)主交换机的选举
①运行状态比较,已经运行的交换机比处于启动状态的交换机优先竞争为主交换机
堆叠主交换机选举超时时间为20s,堆叠成员交换机上电或重启时,由于不同成员交换机所需的启动时间可能差异比较大,因此不是所有成员交换机都有机会参与主交换机的第一次选举。
②堆叠优先级高的交换机优先竞争为主交换机
③堆叠优先级相同时,MAC地址小的交换机优先竞争为主交换机
2)备用交换机的选举
①堆叠优先级最高的交换机成为备交换机
②堆叠优先级相同时,MAC地址最小的成为备交换机
3) 软件、配置同步
①角色选举、拓扑收集完成之后,所有成员交换机会自动同步主交换机的系统软件和配置文件:
堆叠具有自动加载系统软件的功能,待组成堆叠的成员交换机不需要具有相同软件版本,只需要版本间兼容即可。
当备交换机或从交换机与主交换机的软件版本不一致时,备交换机或从交换机会自动从主交换机下载系统软件,然后使用新系统软件重启,并重新加入堆叠。
②堆叠具有配置文件同步机制,备交换机或从交换机会将主交换机的配置文件同步到本设备并执行,以保证堆叠中的多台设备能够像一台设备一样在网络中工作,并且在主交换机出现故障之后,其余交换机仍能够正常执行各项功能。

堆叠管理与文件配置

堆叠管理

登录任意成员的Console口即可管理整个堆叠系统。
与堆叠系统上的任意IP地址路由可达,即可通过Telnet、Stelnet、WEB、SNMP等方式登录、管理整个堆叠系统。

配置文件

堆叠建立后,竞争为主的交换机的配置文件生效,整个堆叠系统的配置都保存在主交换机的配置文件中。
备交换机上会备份主交换机的配置文件,当主交换机故障时备份交换机的配置继续运行。

堆叠成员加入

堆叠成员加入是指向已经稳定运行的堆叠系统添加一台新的交换机:
①将未上电的交换机连线加入堆叠之后再上电启动,新加入的交换机会选举为从交换机,堆叠系统中原有主备从角色不变。
②角色选举结束后,主交换机更新堆叠拓扑信息,同步到其他成员交换机上,并向新加入的交换机分配堆叠ID(新加入的交换机没有配置堆叠ID或配置的堆叠ID与原堆叠系统的冲突时)。
③新加入的交换机更新堆叠ID,并同步主交换机的配置文件和系统软件,之后进入稳定运行状态。

堆叠成员的退出

堆叠成员退出是指成员交换机从堆叠系统中离开。根据退出成员交换机角色的不同,对堆叠系统的影响也有所不同:
①当主交换机退出,备份交换机升级为主交换机,重新计算堆叠拓扑并同步到其他成员交换机,指定新的备交换机,之后进入稳定运行状态。
②当备交换机退出,主交换机重新指定备交换机,重新计算堆叠拓扑并同步到其他成员交换机,之后进入稳定运行状态。
③当从交换机退出,主交换机重新计算堆叠拓扑并同步到其他成员交换机,之后进入稳定运行状态。

堆叠合并

堆叠合并是指稳定运行的两个堆叠系统合并成一个新的堆叠系统。

堆叠分裂

堆叠分裂是指稳定运行的堆叠系统中带电移出部分成员交换机,或者堆叠线缆多点故障导致一个堆叠系统变成多个堆叠系统。

MAD检测

多主检测MAD(Multi-Active Detection):一种检测和处理堆叠分裂的协议,链路故障导致堆叠系统分裂后,MAD可以实现堆叠分裂的检测、冲突处理和故障恢复,降低堆叠分裂对业务的影响。
MAD检测方式有两种:直连检测方式和代理检测方式。在同一个堆叠系统中,两种检测方式互斥,不可以同时配置。
1)直连检测
直连检测方式是指堆叠成员交换机间通过普通线缆直连的专用链路进行多主检测。在直连检测方式中,堆叠系统正常运行时,不发送MAD报文;堆叠系统分裂后,分裂后的两台交换机以1秒为周期通过检测链路发送MAD报文进行多主冲突处理。
2)代理检测
代理检测方式是在堆叠系统Eth-Trunk上启用代理检测,在代理设备上启用MAD检测功能。此种检测方式要求堆叠系统中的所有成员交换机都与代理设备连接,并将这些链路加入同一个Eth-Trunk内。与直连检测方式相比,代理检测方式无需占用额外的接口,Eth-Trunk接口可同时运行MAD代理检测和其他业务。

MAD冲突处理

1)堆叠分裂后,MAD冲突处理机制使用MAD报文进行MAD竞争,竞争结果为堆叠系统处于Detect状态或者Recovery状态:
Detect:竞争成功,堆叠系统将处于正常工作状态。
Recovery:竞争失败,堆叠系统将状态处于禁用状态,关闭除手动配置的保留端口以外的其它所有物理端口。
2)MAD竞争原则与主交换机的竞争原则类似:
①先比较启动时间,启动完成时间早的堆叠系统成为Detect状态。启动完成时间差在20秒内则认为堆叠的启动完成时间相同。
②启动完成时间相同时,比较堆叠中主交换机的优先级,优先级高的堆叠系统成为Detect状态。
③优先级相同时,比较堆叠系统的MAC,MAC小的堆叠系统成为Detect状态。

堆叠主备倒换

如果堆叠系统当前的主交换机不是用户期望的,此时可以通过配置主备倒换实现将堆叠备交换机升为堆叠主交换机。
除了用户通过命令执行的主备倒换之外,主交换机故障重启也会引起主备倒换。

堆叠升级

堆叠升级方式有三种:智能升级、传统升级和平滑升级。
①智能升级:堆叠建立或者新的交换机加入堆叠时会自动和主交换机的版本进行同步。
②传统升级:和普通设备升级一样,指定下次启动版本,重启整个堆叠系统进行升级,会造成较长时间的业务中断。
③平滑升级:将堆叠系统划分成为active、backup区域,可以分区域升级,整个堆叠系统的上下行采用备份组网,主、备链路分别处于active、backup区域,可以实现升级时的业务不中断。

跨设备链路聚合

堆叠支持跨设备链路聚合技术,堆叠后成为逻辑上的一台交换机,支持将Eth-Trunk的成员接口分布在不同的成员交换机上。
当其中一条聚合链路故障或堆叠中某台成员交换机故障时,Eth-Trunk接口通过堆叠线缆将流量重新分布到其他聚合链路上,实现了链路间和设备间的备份,保证了数据流量的可靠传输。

流量本地优先转发

1)链路聚合的负载分担算法根据流量特征将报文分担在不同的成员链路上,对于跨设备链路聚合极有可能出现报文的出接口和入接口不在同一台成员设备之上的情况,此时堆叠成员之间将会通过堆叠线缆转发流量,这增加了堆叠线缆的流量负担,同时也降低了转发效率。
2)为保证流量转发效率、降低堆叠线缆带宽负载,设备可以开启流量本地优先转发,从本设备进入的流量优先从本地转发出去,当本设备无出接口或者出接口全部故障,才会从其它成员交换机的接口转发出去。

3.集群技术原理

集群介绍

集群交换机系统CSS(Cluster Switch System),又称为集群,是指将两台支持集群特性的交换机设备组合在一起,从逻辑上虚拟成一台交换设备。
CSS与iStack的区别在于,一般框式交换机堆叠称为CSS,盒式交换机称为堆叠,堆叠与集群两者只是叫法和实现有些差异,但是功能是一样的。

集群的特点

①集群内物理设备转发平面合一,转发信息共享并实时同步。
②集群交换机对外表现为一台逻辑交换机,控制平面合一,统一管理。
③跨集群物理设备的链路被聚合成一个Eth-Trunk端口和下游设备实现互联。

集群基本概念

集群中的单台交换机称为集群成员交换机,按照功能不同,可以分为两种角色:
①主交换机(Master):主交换机,即Master,负责管理整个集群。
②备交换机(Standby):备交换机,即Standby,是主交换机的备份交换机。
集群ID:即CSS ID,用来标识成员交换机,集群中成员交换机的集群ID是唯一的。
CSS Link:集群链路,专门用于组建集群,实现主交换机和备交换机之间数据通信。
集群优先级:即CSS Priority,主要用于角色选举过程中确定成员交换机的角色。优先级值越大优先级越高,默认为1。

集群控制平面

两台交换机使用集群线缆连接好,分别使能集群功能并完成配置后重启,集群系统会自动建立。
集群系统建立后,在控制平面上,主交换机的主用主控板成为集群系统的控制平面,作为整个系统的管理主角色。备交换机的主用主控板成为集群系统的备用控制平面,作为系统的管理备角色。主交换机和备交换机的备用主控板作为集群系统候选备用主控板。
在这里插入图片描述

集群物理连接

根据集群技术发展阶段不同,集群物理连接方式也存在区别:
传统CSS:使用主控板上的集群卡建立集群连接,或者使用业务口建立集群连接。
传统CSS分为主控板集群卡连接方式和业务口连接方式。
对于只支持CSS构架的框式交换机,框内接口板之间流量、跨框流量必须经过主控板。
单框上没有正常工作的主控板时流量无法从一个接口板转发到另外一个接口板,同时也无法跨框转发到另一个框。
CSS2:第二代集群交换机系统,专指使用交换网板上的集群卡方式建立集群连接的集群。
支持CSS2构架的框式交换机采用转控分离的构架,单框内接口板之间流量、跨框流量无需经过主控板,集群系统内单台框无能够正常工作的主控板不影响该框的流量转发。
CSS2支持任意一个框式交换机内存在一个主控板运行正常,集群的两个框式交换机上的接口板都可以正常转发报文,该特性被称为“集群主控1+N备份”。

相关文章:

堆叠、集群技术

1.堆叠、集群技术的概述 堆叠、集群简介 堆叠(iStack),将多台支持堆叠特性的交换机通过堆叠线缆连接在一起,从逻辑上虚拟成一台交换设备,作为一个整体参与数据转发。 集群(Cluster Switch System&#xf…...

SpringCould微服务保护01——Sentinel组件下载并使用

1.初识Sentinel 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。 如图,如果服务提供者I发生了故障,当前的应用的部分业务因为依赖于服务I,因此也会被…...

可扩展性对物联网管理系统有哪些影响?

可扩展性对于物联网管理系统的设计和开发非常重要,它直接影响着系统的性能、可靠性和能耗等方面,是评估一个系统优劣的重要因素之一。可扩展性对物联网管理系统的影响主要体现在以下几个方面: 设备兼容性:物联网管理系统的可扩展性…...

洗地机哪个品牌最耐用质量好?2023年最好用的洗地机

随着科技的发展,人们的生活越来越便利,就拿打扫卫生来说,现在越来越多人抛弃扫把、地拖,转而选择让清洁更加轻松的清洁家电,而洗地机就是这样一种让打扫卫生变得简单轻松的家电。近年来洗地机销量剧增,是目…...

计算机视觉(Computer Vision, CV)是什么?

什么是计算机视觉 近年来,计算机视觉 (Computer Vision,简称CV) 不断普及,已成为人工智能 (AI) 增长最快的领域之一。计算机视觉致力于使计算机能够识别和理解图像和视频中的物体和人。 计算机视觉应用程序使用来自传感设备、人工智能、机器…...

【【萌新的SOC学习之自定义IP核 AXI4接口】】

萌新的SOC学习之自定义IP核 AXI4接口 自定义IP核-AXI4接口 AXI接口时序 对于一个读数据信号 AXI突发读 不要忘记 最后还有拉高RLAST 表示信号的中止 实验任务 : 通过自定义一个AXI4接口的IP核 ,通过AXI_HP接口对PS端 DDR3 进行读写测试 。 S_AXI…...

设计模式-创建型模式

文章目录 一、单例模式1.饿汉式(1) 静态变量(2) 静态代码块(3) 枚举方式 2.懒汉式(1) 双检锁(2) 静态内部类 3.破坏单例模式(1) 序列化(2) 反射 4.解决单例模式被破坏(1) 序列化、反序列化破坏单例模式的解决方法(2) 反射破坏单例解决 二、工厂方法模式1.简单工厂模式2.工厂方法…...

golang中的RSA算法,加密解密,签名校验,导出公钥密钥,导入公钥密钥

RSA算法广泛应用与数据加密(比如 SSL 传输层加密),数字签名(比如支付宝的支付签名)。 1、加密解密 // encrypts the given message with RSA-OAEP func f1() {// random 用来生成随机的素数rsaPriviteKey, err : rsa…...

修炼k8s+flink+hdfs+dlink(四:k8s(二)组件)

一:控制平面组件。 控制平面组件会为集群做出全局决策,比如资源的调度。 以及检测和响应集群事件,例如当不满足部署的 replicas 字段时, 要启动新的 pod)。 1. kube-apiserver。 该组件负责公开了 Kubernetes API&a…...

Android约束布局ConstraintLayout流式Flow

Android约束布局ConstraintLayout流式Flow <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.…...

Android JNI代码语法解释

文章目录 JNI中的JNIEXPORT、JNIIMPORT和JNICALLJVM如何查找native方法①按照JNI规范的命名规则②调用JNI提供的RegsterNatives函数&#xff0c;将本地函数注册到JVM中示例代码 JNI数据类型JNI字符串的处理①获取字符串②释放字符串③创建字符串④其他字符串处理API JNI中的JNI…...

小程序和前台开发软件定制的相关信息|APP网站搭建

小程序和前台开发软件定制的相关信息 在如今数字化时代&#xff0c;软件、小程序和前台开发软件定制已经成为了企业必备的工具之一。那么&#xff0c;这些工具到底有什么作用呢&#xff1f;接下来&#xff0c;我将为大家详细介绍。 首先&#xff0c;让我们来了解一下软件。软件…...

JVM监控及诊断工具-GUI篇

文章目录 JVM监控及诊断工具-GUI篇工具概述JConsoleVisual VM再谈内存泄漏Java中内存泄漏的8种情况Arthas&#xff08;阿尔萨斯&#xff09;康师傅使用阿尔萨斯的例子help指令 JVM监控及诊断工具-GUI篇 工具概述 使用上一章命令行工具或组合能获取目标Java应用性能相关的基础…...

【C++STL基础入门】list基本使用

文章目录 前言一、list简介1.1 list是什么1.2 list的头文件 二、list2.1 定义对象2.2 list构造函数2.3 list的属性函数 总结 前言 STL&#xff08;Standard Template Library&#xff09;是C标准库的一个重要组成部分&#xff0c;提供了一套丰富的数据结构和算法&#xff0c;可…...

WSL+vscode配置miniob环境

1.配置WSL Windows Subsystem for Linux入门&#xff1a;安装配置图形界面中文环境vscode wu-kan 2.获取源码 找个位置Git Bash然后拉取代码 git clone https://github.com/oceanbase/miniob.git 3.安装相关依赖 https://gitee.com/liangcha-xyy/source/blob/master/how…...

Flutter SliverAppBar 吸顶效果

吸顶是常见的布局&#xff0c;主要使用的是CustomScrollView 和SliverApp组件实现的 页面布局 overrideWidget build(BuildContext context) {return CustomScrollView(controller: controller.scrollController!,physics: const BouncingScrollPhysics(),slivers: [SliverApp…...

Java Spring Boot 自动装配:简化配置和提高开发效率

Spring Boot 自动装配是 Spring Boot 提供的一种特性&#xff0c;它可以根据应用程序的依赖关系和配置信息&#xff0c;自动配置应用程序的各种组件和功能。这样&#xff0c;开发者可以将更多的精力放在业务逻辑的实现上&#xff0c;而不需要手动配置和管理各种组件。 1. 自动…...

对象转换之modelmapper

1. 官网地址&#xff1a;http://modelmapper.org 源码地址&#xff1a;GitHub - modelmapper/modelmapper: Intelligent object mapping 2.实现原理&#xff1a; 主要是基于匹配策略进行属性的转化&#xff0c;目前支持三种策略&#xff1a; 2.1 Standard&#xff08;默认标准…...

Ant Design+react 路由跳转

今天我们来继续探讨react的路由跳转 首先&#xff0c;创建router文件夹中的index import { lazy } from "react"; import { Outlet,useRoutes } from react-router-dom; //引入页面&#xff0c;引用了路由懒加载 const One lazy(() > import(../pages/one)); c…...

提高爬虫效率的秘诀之一:合理配置库池数量

在提高爬虫效率的过程中&#xff0c;合理配置库池数量是一个重要的秘诀。通过增加或减少库池的数量&#xff0c;可以有效提升爬虫系统的效率和稳定性。本文将介绍如何合理配置库池数量&#xff0c;以及配置不同数量库池的优缺点&#xff0c;帮助您提高爬虫效率&#xff0c;顺利…...

初学者必看,前端 Debugger 调试学习

1.文章简介&#xff1a; 报错和Bug&#xff0c;是贯穿程序员整个编程生涯中&#xff0c;无法回避的问题。而调试&#xff0c;就是帮助程序员定位问题、解决问题的重要手段&#xff0c;因此调试是每个程序员必备技能。 调试本身可分为两个过程: 定位问题 和 解决问题&#xff0…...

Dubbo—Admin 整体架构与安装步骤

​回顾 Dubbo 服务治理体系的总体架构&#xff0c;Admin 是服务治理控制面中的一个核心组件&#xff0c;负责微服务集群的服务治理、可视化展示等。 Admin 部署架构 总体上来说&#xff0c;Admin 部署架构分为以下几个部分&#xff1a; Admin 主进程&#xff0c;包括服务发现…...

C++11打断线程的几种方式

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pthread_cancel1.代码演示2.两个重要方法1.pthread_setcancelstate2.pthread_setcanceltype 3.资源回收 二、Boost1.看代码2.资源泄露2.资源回收 总结 前言…...

如何提升网站排名和用户体验:优化网站速度

网站的排名和用户满意度直接受到站点内容的加载速度影响深远。通过精心的网站优化&#xff0c;您不仅可以提高排名&#xff0c;还可以提供更出色的用户体验&#xff0c;尽管用户可能不会察觉到您的网站加载得更快&#xff0c;但这是一个非常有意义的改进。在这篇文章中&#xf…...

【Redis】Hash 哈希内部编码方式

Hash 哈希内部编码方式 哈希的内部编码有两种&#xff1a; ziplist&#xff08;压缩列表&#xff09;&#xff1a;当哈希类型元素个数⼩于hash-max-ziplist-entries配置&#xff08;默认512个&#xff09;、同时所有值都⼩于hash-max-ziplist-value配置&#xff08;默认64字节…...

JUC第二十八讲:JUC工具类: Semaphore详解

JUC工具类: Semaphore详解 本文是JUC第二十八讲&#xff0c;JUC工具类: Semaphore详解。Semaphore底层是基于AbstractQueuedSynchronizer来实现的。Semaphore称为计数信号量&#xff0c;它允许n个任务同时访问某个资源&#xff0c;可以将信号量看做是在向外分发使用资源的许可证…...

vue3组合式API实现父组件触发子组件中的方法 | vue3中ref的用法 | defineExpose的使用场景

vue3组合式API实现父组件触发子组件中的方法 | vue3中ref的用法 | defineExpose的使用场景 目录 vue3组合式API实现父组件触发子组件中的方法 | vue3中ref的用法 | defineExpose的使用场景一、问题背景二、解决方法三、示例 一、问题背景 代码环境&#xff1a;vue3 &#xff0…...

【Qt之QTableWidget和QTreeWidget】树悬停、选择样式及表格表头和首行间隔线

QTableWidget设置表头与首行间隔线 win10 实例化QTableWidget后&#xff0c;表格表头和首行中间无间隔线&#xff0c;以下是通过样式表进行设置&#xff1a; // 设置横向表格头的间隔线&#xff0c;可设置四个方向的间隔线,不需要间隔线的可以设置为0px// border-left:0px sol…...

使用余弦算法计算向量相似性

import pandas as pd import numpy as np import openaifrom openai.embeddings_utils import get_embedding, cosine_similarityopenai.api_key sk-???? embedding_model "text-embedding-ada-002" embedding_encoding "cl100k_base" # this the …...

存档&改造【06】Apex-Fancy-Tree-Select花式树的使用误删页数据还原(根据时间节点导出导入)

之前一直想实现厂区-区域-产线之间的级联选取&#xff0c;于是导入插件Apex-Fancy-Tree-Select花式树 存档&#xff06;改造【03】Apex-Fancy-Tree-Select花式树的导入-CSDN博客 现在则是在Oracle Apex中的应用 花式书级联列表展示厂区-区域-产线 想要实现的效果 由厂区>…...