手机实时提取SIM卡打电话的信令声音-智能拨号器的SIP线路-双卡双待单通方案
手机实时提取SIM卡打电话的信令声音
--智能拨号器的SIP线路-双卡双待单通方案
- 一、前言
蓝牙电话的技术方案最初是从蓝牙耳机和车机蓝牙的使用领域延伸出来的技术方式。通过蓝牙的HFP协议,把手机通话的声音和通话事件状态提取出来进行复用和处理。但中国大陆现行的手机基本都是双卡双待手机,在外呼的时候通常采用默认呼叫卡或者呼叫的时候在手机屏幕中弹框进行实时选择后外呼。通常的蓝牙耳机和车机拨打手机电话外呼时基本都是手机中设置了默认拨号卡的方式进行呼叫。
来电时,不同的SIM卡来电在手机上是可以正常的展示是SIM1或SIM2卡产生的来电。但在蓝牙耳机中,由于它没有界面,以及蓝牙HFP协议并不存在卡1卡2的扩展指令,因此它们仅仅能够知道有来电、对方号码是多少。但是并不会知道本地到底是哪个SIM卡接收的来电。
智能拨号器Android的app中,前期由于采用蓝牙电话的方案进行外呼和来电的处理,在技术上同样无法做出SIM卡1和SIM卡2的区分。因此才衍生出了一系列的“切换SIM卡”、“手机固定SIP账号”等这些需求。
事实上,经过了前面几个篇章的技术预研,我们发现做为一个纯Android的app,其实完全可以做到代码在呼叫过程中指定到底是由哪一个SIM卡发起呼叫,也能做到来电时感知到是哪个SIM卡产生的来电。
这样的话,原先规划的配置一个SIP坐席,通过呼叫中心一对多配置,然后拨打一定周期和频率后就自动切换SIM卡的操作方式已经不能适应实际用户的使用场景。
我们依托现有技术,完全可以把配置两个SIP坐席号,使它们同时在线;呼叫时随机选择一个坐席对应的中继SIM卡进行呼叫即可,当手机处于呼叫状态时,当前SIP坐席或者另一个SIP坐席打算发起新呼叫时,由手机主动返回486-busy here即可。
来电的时候采用同样的调度方式,识别出来电的本地SIM卡的手机号,找到对应的SIP坐席,将通话业务和语音调度到对应的SIP坐席上接听或操作即可。
这样的话,就构成了【智能拨号器SIP线路的双卡双待单通】的方案,使SIP坐席跟双卡SIM手机一样,能同一时刻同时在线两个坐席,可以分别进行外呼和来电的操作。如果手机本身是“双卡双待双通”的手机,就更加不用考虑,默认就能支持两路并发的呼叫。
- 二、双SIP坐席+双SIM卡的外呼方案
本章的详细技术细节可以参考《手机实时提取SIM卡打电话的信令声音-智能拨号器的双SIM卡切换方案》这篇文档的实现方式。主要是Android操作系统本身天然就具备了双卡或多卡的对外呼叫方式。
在本次方案中,我们基于这个技术实现,将两个SIM卡的手机号,分别注册为SIP中继号码,并将其分别分流到两个局域网的SIP坐席上,使这两个SIP坐席号同时在线。
SIP坐席外呼时,由于手机设备是双卡双待“单通”的方式,因此这两个SIP坐席之间、以及单SIP坐席同时外呼多个目标时,手机均会自动的拒绝新呼叫的发起(直接返回486-busy here),最大限度的保障当前呼叫会话的完整进行。
- 三、双SIM卡的来电方案
本章的详细技术细节,在上一篇的《手机实时提取SIM卡打电话的信令声音-双卡手机来电如何获取哪一个卡的来电》中进行了详细的论述。来电时,手机设备的app,能够根据内部广播的事件触发,从广播参数中读取得到来电所在的SIM卡槽和来电号码。
手机app可以根据这个卡1/卡2的来电、以及来电号码,从SIP连接中找到对应的局域网SIP坐席,并将来电和对应的呼叫会话调度到对应的SIP坐席当中。
在呼叫过程中,由于通话状态和控制命令仍然依赖蓝牙的AT指令来进行,并且通话的声音仍然需要依赖蓝牙SLC连接建立的sco连接来进行传输,因此手机app仍然需要依赖外置的USB蓝牙模块+手机自带的蓝牙模块来进行,这部分的功能和呼叫逻辑与之前的蓝牙电话方案保持一致。
- 四、单SIM卡的呼叫方案
智能拨号器app在以下两种场景会存在单SIM卡的呼叫场景:
- 手机只插入了1张SIM卡。
- App中配置了【固定SIP账号密码】
在这些情况下,智能拨号器app仍然采用手机自带的【默认拨号卡】的呼叫策略。此时,蓝牙电话方案与蓝牙耳机、蓝牙车机拨打手机电话的使用方式完全相同。
- 五、手机固定SIP账号密码的方案
在实际使用过程中,手机终端作为运营商基站入网的终端节点,理论上不管它插入几张SIM卡甚至根本没有插入卡,只要手机它能正常发起电话呼叫,蓝牙电话方案都应该能将其分流到局域网SIP坐席中。
在这样的情况下,把手机设备作为SIP坐席的目标节点来进行对接,app中增设了【固定SIP账号密码】的功能,用户使用时可以在app的设置界面中手动录入中继SIP账号密码与局域网SIP服务器地址,或者输入序号或手机号进行账号的拉取。录入完毕后保存即可将中继SIP号码保存到手机中。
在SIP注册和呼叫时,手机app自动会读取这个【固定SIP账号密码】的数据,注册到局域网SIP平台中。这样,不管手机中插入或更换了什么SIM卡,手机号有任何不同,均不影响局域网SIP这一侧的功能和业务。
【固定SIP账号密码】的功能,就是为了这种场景而使用的,不管手机更换了多少张SIM卡,SIP坐席中对这个是不关注的。相反,默认方式是根据手机号来进行局域网中继SIP账号的注册和登录,插入1张SIM卡就注册一个SIP坐席,插入2张SIM卡就注册两个SIP坐席,若中途更换了SIM卡,则SIP会退出旧坐席号登录新手机号,调度得更加灵活。
- 六、切换SIM卡的操作方式
新的【双SIP坐席+双SIM卡的外呼方案】不再需要做切换SIM卡的操作,默认两张SIM卡的SIP坐席都同时在线。
针对上章节的“单SIM卡的呼叫方案”,手机app仍然保留了切换SIM卡的操作方式。用户在主界面右上角的设置图标点击出现的菜单中,可以点击【切换SIM卡】的菜单项,点击后自动跳转到手机本身的设置应用中,对手机SIM卡的默认拨号卡和默认上网卡进行设置。
SIM卡的默认拨号卡切换后,SIP坐席在【单SIM卡的呼叫方案】外呼时,将采用默认拨号卡的方式进行外呼,此部分功能与蓝牙电话方案之前的呼叫方式保持一致。
- 七、局限性和风险点
由上一篇文章《手机实时提取SIM卡打电话的信令声音-双卡手机来电如何获取哪一个卡的来电》中可知,当前这一批双SIM卡呼叫方案的功能,对Android操作系统的版本依赖相当的大。目前基本都要求手机安卓系统版本要在Android6.0及以上。
在Android系统中,API Level大于等于23,即Android6.0版本的手机,在大陆乃至全球市场上占据几乎100%的市场份额。因此在手机设备选型上,当前的双SIM卡呼叫方案基本不存在设备选型的问题。
同时,由于通话状态和控制命令仍然依赖蓝牙的AT指令来进行,并且通话的声音仍然需要依赖蓝牙SLC连接建立的sco连接来进行传输,因此手机app仍然需要依赖外置的USB蓝牙模块+手机自带的蓝牙模块来进行。
蓝牙电话方案中针对接通状态、来电接听/拒接操作,均通过蓝牙HFP协议的AT指令来完成。假设蓝牙模块在使用中因故障不能正常工作,或者后续规划的去掉外置蓝牙模块的场景下,手机的多SIM卡呼叫需要针对这块内容进行专项的分析和深入挖掘。
- 八、总结
从这一期的版本起,智能拨号器的手机app默认自动支持局域网双SIP坐席同时在线的能力。在呼叫和来电时手机app自动可以根据电话的呼叫方的手机号码,自动选择SIM1/SIM2的的手机卡进行外呼和来电的调度。真正的实现了局域网SIP坐席的双卡双待单通的电话呼叫方案。
上一篇:手机实时提取SIM卡打电话的信令声音-双卡手机来电如何获取哪一个卡的来电
下一篇:编写中。
相关文章:
手机实时提取SIM卡打电话的信令声音-智能拨号器的SIP线路-双卡双待单通方案
手机实时提取SIM卡打电话的信令声音 --智能拨号器的SIP线路-双卡双待单通方案 一、前言 蓝牙电话的技术方案最初是从蓝牙耳机和车机蓝牙的使用领域延伸出来的技术方式。通过蓝牙的HFP协议,把手机通话的声音和通话事件状态提取出来进行复用和处理。但中国大陆现行…...
LangChain教程 - 表达式语言 (LCEL) -构建智能链
系列文章索引 LangChain教程 - 系列文章 LangChain提供了一种灵活且强大的表达式语言 (LangChain Expression Language, LCEL),用于创建复杂的逻辑链。通过将不同的可运行对象组合起来,LCEL可以实现顺序链、嵌套链、并行链、路由以及动态构建等高级功能…...
pytorch学习笔记汇总
一.tensor创建 1.张量的定义 张量在形式上就是多维数组,例如标量就是0维张量,向量就是一维张量,矩阵就是二维张量,而三维张量就可以想象RGB图片,每个channel是一个二维的矩阵,共有三个channel࿰…...
uniapp配置文字艺术字体风格
1.vue配置 App.vue中: <style>/*每个页面公共css *//* 全局字体风格 */font-face {font-family: gufengFont;src: url(./static/font/gufeng.ttf) format(truetype);font-weight: normal;font-style: normal;} </style>页面中: .text1 {f…...
江科大学习笔记之——HAL库点亮一个LED灯
HAL三步走:1.建工程。2.设配置。3.写代码 一.建立工程 HAL库写法 点击FinIsh 2.配置时钟 2 、设置配置参数 把模块.C.h单独设置文件 生产代码 三写代码 控制GPIO就三步 1.RCC时钟使能 2.结构体配置GPIO寄存器 3.控制GPIO值 上面的步骤已经把前两步的配置完成了接下…...
java web项目软件自动生成使用初体验-帅帅软件生成平台ASoft
软件默认 登陆账号 admin 密码 123456 一、软件使用简介说 AI软件自动生成越来越成熟,但AI生成的软件代码只是片段化的,不成体系。有没有一款可以10-30分钟自动生成JAVA WEB休系的软件?我也找了好久,终于找到了,开发…...
损失函数-二分类和多分类
二分类和多分类的损失函数 二分类 损失函数 L ( y , y ^ ) − ( y l o g ( y ^ ) ) ( 1 − y ) l o g ( 1 − y ^ ) L(y,\hat{y}) -(ylog(\hat{y})) (1-y)log(1-\hat{y}) L(y,y^)−(ylog(y^))(1−y)log(1−y^) 其中真实标签表示为y(取值为 0 或 1&#…...
Springboot:后端接收数组形式参数
1、接收端写法 PermissionAnnotation(permissionName "",isCheckToken true)PostMapping("/batchDeleteByIds")public ReturnBean webPageSelf( NotNull(message "请选择要删除的单据!") Long[] ids) {for (Long string : ids) {l…...
CSS系列(46)-- Color Functions详解
前端技术探索系列:CSS Color Functions详解 🎨 致读者:探索颜色函数的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS Color Functions,这个强大的颜色处理特性。 基础函数 🚀 颜色空间 /…...
MySQL数据库误删恢复_mysql 数据 误删
2、BigLog日志相关 2.1、检查biglog状态是否开启 声明: 当前为mysql版本5.7 当前为mysql版本5.7****当前为mysql版本5.7 2.1.1、Navicat工具执行 SHOW VARIABLES LIKE LOG_BIN%;OFF 是未开启状态,如果不是ON 开启状态需要开启为ON。{默认情况下就是关闭状态} 2.…...
ModiLeo交易平台:引领数字货币交易新未来
在当今数字化高速发展的时代,数字货币作为一种新兴的金融资产形式,正逐渐改变着全球金融格局。而此刻,由印度 ModiLeo 实验室联合全球顶级投行共同打造的全球领先的一站式数字货币交易平台——ModiLeo 即将上线,这无疑是数字货币领…...
57.插入区间 python
插入区间 题目题目描述示例 1:示例 2:提示: 题解解题思路python实现代码解释提交结果 题目 题目描述 给你一个 无重叠的 ,按照区间起始端点排序的区间列表 intervals,其中 intervals[i] [starti, endi] 表示第 i 个…...
使用WebRTC进行视频通信
一、WebRTC技术简介 什么是WebRTC? 是一种支持浏览器之间实时音频、视频和数据传输的开放源代码项目。它允许开发者在不需要任何第三方插件或软件的情况下实现点对点的实时通信。WebRTC已经成为现代Web应用中的关键技术,为开发者提供了强大的工具和API…...
详细讲解axios封装与api接口封装管理
一、axios封装 axios是基于promise的http客户端,用于浏览器和nodejs发送http请求 ,对它进行封装主要是为了统一管理请求配置和处理请求和响应的通用逻辑等。以下是常用的封装逻辑和要点 1:引入axios相关依赖 首先引用项目中的axios库&…...
likeAdmin架构部署(踩坑后的部署流程
1、gitee下载 https://gitee.com/likeadmin/likeadmin_java.git 自己克隆 2、项目注意 Maven:>3.8 ❤️.9 (最好不要3.9已经试过失败 node :node14 (不能是18 已经测试过包打不上去使用14的换源即可 JDK:JDK8 node 需要换源 npm c…...
算法-回文数判断
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,…...
力扣-数据结构-7【算法学习day.78】
前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关…...
计算机组成原理的学习笔记(8)-- 指令系统·其一 指令的组成以及数据寻址方式/RISK和CISK
学习笔记 前言 本文主要是对于b站尚硅谷的计算机组成原理的学习笔记,仅用于学习交流。 1. 指令 1.1 组成 操作码(Opcode):指指令中执行特定操作的部分。地址码:指令中用于指定操作数位置的部分。 1.2 扩展操作…...
Hive刷分区MSCK
一、MSCK刷分区 我们平时通常是通过alter table add partition方式增加Hive的分区的,但有时候会通过HDFS put/cp命令或flink、flum程序往表目录下拷贝分区目录,如果目录多,需要执行多条alter语句,非常麻烦。Hive提供了一个"…...
2024年12月HarmonyOS应用开发者基础认证全新题库
注意事项:切记在考试之外的设备上打开题库进行搜索,防止切屏三次考试自动结束,题目是乱序,每次考试,选项的顺序都不同,如果有两台电脑设备建议一台打开题库一台考试,如果只有一台电脑设备建议手…...
集成方案 | Docusign + 蓝凌 EKP,打造一站式合同管理平台,实现无缝协作!
本文将详细介绍 Docusign 与蓝凌 EKP 的集成步骤及其效果,并通过实际应用场景来展示 Docusign 的强大集成能力,以证明 Docusign 集成功能的高效性和实用性。 在当今数字化办公环境中,企业对于提高工作效率和提升用户体验的需求日益迫切。蓝凌…...
centos7 免安装mysql5.7及配置(支持多个mysql)
一) 下载免安装包: mysql下载地址: https://dev.mysql.com/downloads/mysql/下载时,选择以前5.7版本: image 下载第一个TAR压缩包: image 二) 定义安装路径并解压安装包 1、假设需要把MySQL放到 /usr/local…...
【若依框架】代码生成详细教程,15分钟搭建Springboot+Vue3前后端分离项目,基于Mysql8数据库和Redis5,管理后台前端基于Vue3和Element Plus,开发小程序数据后台
今天我们来借助若依来快速的搭建一个基于springboot的Java管理后台,后台网页使用vue3和 Element Plus来快速搭建。这里我们可以借助若依自动生成Java和vue3代码,这就是若依的强大之处,即便你不会Java和vue开发,只要跟着石头哥也可…...
什么是容器?
什么是容器? 容器是一种虚拟化技术,用于将应用程序及其所有依赖项打包在一起,以便在不同的计算环境中进行移植和运行。容器提供了一种隔离的运行环境,使不同应用程序能够在独立的文件系统、网络和进程空间等独立运行环境中运行&a…...
苍穹外卖——准备工作
模块介绍 后端的工程基于Maven进行项目构建,并且进行分模块开发,我们创建四个模块: sky-take-out:maven父工程,统一管理依赖版本,聚合其他子模块sky-common:子模块,存放公共类&…...
LLMs之o3:《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读
LLMs之o3:《Deliberative Alignment: Reasoning Enables Safer Language Models》翻译与解读 导读:2024年12月,这篇论文提出了一种名为“审慎式对齐 (Deliberative Alignment)”的新方法,旨在提高大型语言模型 (LLM) 的安全性。论…...
百度二面,MySQL 怎么做权重搜索?
考虑这样一个搜索需求,有一个 MySQL 表,表中很多个列存放着不同的内容,希望用户通过关键词进行搜索的时候,能够模糊匹配多个列,比如有 t1 列、t2 列、t3 列,同时还希望 t1 列的匹配权重最高,t3 …...
PHP:IntelliJ IDEA 配置 PHP 开发环境及导入PHP项目
在创建PHP项目之前我们需要安装PHP插件,安装步骤如下:Windows:IntelliJ IDEA Ultimate 安装 PHP 插件-CSDN博客 1、导入已有PHP项目,导入之后选择,File > Setting 选择对应CLL Interpreter,如果没有操作…...
国产数据库TiDB从入门到放弃教程
国家层面战略,安全的角度,硬件、软件国产化是趋势,鸿蒙电脑操作系统、鸿蒙手机操作系统…数据库也会慢慢国产化,国产数据库TiDB用起来比OceanBase丝滑,本身没有那么重。 从入门到放弃 1. 介绍1.1 TiDB 的主要特点1.2 T…...
Android 自定义控件
目录 Android 自定义控件 一、什么是自定义控件 二、创建自定义控件的常见方式 2.1继承现有控件(如 Button、TextView 等) 2.2直接继承 View 类 2.3组合控件 三、自定义控件的基本步骤 3.1创建一个继承自 View 或现有控件的类 3.2重写 onDraw()…...
学习笔记 --C#基础其他知识点(同步和异步)
C#中的同步和异步《一》 以下理解借鉴博客:借鉴博客地址1 异步编程(Asynchronous) 允许任务在后台执行,而不会阻塞调用线程。C#使用async和await关键字 async Task AsynchronousMethod() {// 等待异步操作完成await Task.Dela…...
药片缺陷检测数据集,8625张图片,使用YOLO,PASICAL VOC XML,COCO JSON格式标注,可识别药品是否有缺陷,是否完整
药片缺陷检测数据集,8625张图片,使用YOLO,PASICAL VOC XML,COCO JSON格式标注,可识别药品是否有缺陷,是否完整 有缺陷的标注信息: 无缺陷的标注信息 数据集下载: yolov11:https://d…...
Hive如何创建自定义函数(UDF)?
目录 1 自定义UDF函数基础 2 自定义UDF函数案例 3 创建临时函数 4 创建永久函数 1 自定义UDF函数基础 1. 内置函数:Hive 自带了一些函数...
深入理解MVCC:快照读与当前读的原理及实践
一、引言 MVCC是数据库系统中一种常见的并发控制技术,它允许多个事务同时对同一数据进行读取和修改,而不会相互干扰。在MVCC中,数据行存在多个版本,每个版本对应一个事务。本文将重点讨论MVCC中的两种读取方式:快照读…...
活动预告 |【Part1】Microsoft Azure 在线技术公开课:数据基础知识
课程介绍 参加“Azure 在线技术公开课:数据基础知识”活动,了解有关云环境和数据服务中核心数据库概念的基础知识。通过本次免费的介绍性活动,你将提升在关系数据、非关系数据、大数据和分析方面的技能。 活动时间:01 月 07 日…...
小程序笔记
1.小程序全局配置app.json {"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor": "#fff","navigationBarTit…...
linux安装nginxs报错:openssl not found
系统: linux 版本:centOS7 nginx版本:nginx-1.20.2 linux安装nginx时 执行下面命令时报错: ./configure --with-http_stub_status_module --with-http_ssl_module --prefix/usr/local/nginxchecking for OpenSSL library ... not …...
Vite内网ip访问,两种配置方式和修改端口号教程
目录 问题 两种解决方式 结果 总结 preview.host preview.port 问题 使用vite运行项目的时候,控制台会只出现127.0.0.1(localhost)本地地址访问项目。不可以通过公司内网ip访问,其他团队成员无法访问,这是因为没…...
地理数据库Telepg面试内容整理-如何在高并发情况下保证GIS服务的高可用性?
在高并发情况下,保证 GIS 服务的高可用性是一个重要的挑战,尤其是当空间数据量巨大、请求频繁时。为了确保 GIS 服务的高可用性和稳定性,需要考虑以下几个方面: 分布式架构设计 分布式架构通过将工作负载分配到多个服务器上,能够大大提高服务的可用性和扩展性。通过设计高…...
ES中查询中参数的解析
目录 query中参数match参数match_allmatch:匹配指定参数match_phrase query中其他的参数query_stringprefix前缀查询:wildcard通配符查询:range范围查询:fuzzy 查询: 组合查询bool参数mustmust_notshould条件 其他参数 query中参数 词条查询term:它仅匹配在给定字段…...
【Java 数据结构】合并两个有序链表
🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 解析 3. 代码实现 4. 小结 1. 题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示…...
OpenCV-Python实战(8)——图像变换
一、缩放 cv2.resize() img cv2.resize(src*,dsize*,fx*,fy*,interpolation*) img:目标图像。 src:原始图像。 dsize:(width,height)图像大小。 fx、fy:可选参数,水平/垂直方向…...
深入浅出:从入门到精通大模型Prompt、SFT、RAG、Infer、Deploy、Agent
阅读原文 渐入佳境 我们都知道,通过编写一个提示词(prompt),我们可以引导大模型生成回答,从而开启愉快的人工智能对话,比如让模型介绍一下卡皮巴拉。上边简图描述了这个过程,我们拆成两部分 pr…...
GXUOJ-算法-第二次作业(矩阵连乘、最长公共子序列、0-1背包问题、带权区间调度)
1.矩阵连(链)乘 问题描述 GXUOJ | 矩阵连乘 代码解答 #include<bits/stdc.h> using namespace std;const int N50; int m[N][N]; int p[N]; int n;int main(){cin>>n;//m[i][j] 存储的是从第 i 个矩阵到第 j 个矩阵这一段矩阵链相乘的最小…...
生态碳汇涡度相关监测与通量数据分析实践技术应用
1.以涡度通量塔的高频观测数据为例,基于MATLAB开展上机操作: 2.涡度通量观测基本概况:观测技术方法、数据获取与预处理等 3.涡度通量数据质量控制:通量数据异常值识别与剔除等 4.涡度通量数据缺失插补:结合气象数据…...
使用OpenAI、LangChain、MongoDB构建一个AI agent
LangChain真是好起来了。24年中的时候用LangChain V2差点把我气死,现在V3用起来开始真香了~ 像 ChatGPT、Gemini 和 Claude 这样的大模型已成为企业必不可少的工具。如今,几乎每家公司都希望根据自己的需求或客户群体,开发一款定制化的AI Age…...
如何在 Ubuntu 22.04 上安装并开始使用 RabbitMQ
简介 消息代理是中间应用程序,在不同服务之间提供可靠和稳定的通信方面发挥着关键作用。它们可以将传入的请求存储在队列中,并逐个提供给接收服务。通过以这种方式解耦服务,你可以使其更具可扩展性和性能。 RabbitMQ 是一种流行的开源消息代…...
【ETCD】【实操篇(十九)】ETCD基准测试实战
目录 1. 设定性能基准要求2. 使用基准测试工具基准测试命令 3. 测试不同的负载和场景4. 监控集群性能5. 评估硬件和网络的影响6. 对比性能基准7. 负载均衡和容错能力测试8. 优化与调优9. 测试在高负载下的表现总结 1. 设定性能基准要求 首先,明确集群性能的目标&am…...
HTML——29. 音频引入二
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>音频引入</title></head><body><!--audio:在网页中引入音频IE8以及之前版本不支持属性名和属性值一样,可以只写属性名src属性:指定音频文件…...
【SQLi_Labs】Basic Challenges
什么是人生?人生就是永不休止的奋斗! Less-1 尝试添加’注入,发现报错 这里我们就可以直接发现报错的地方,直接将后面注释,然后使用 1’ order by 3%23 //得到列数为3 //这里用-1是为了查询一个不存在的id,好让第一…...