IEC61850实现方案和测试-2
IEC61850实现方案和测试-1作为介绍实现方案和测试的第二篇文章,后续会继续更新,欢迎关注。
第一篇是:IEC61850实现方案和测试-1-CSDN博客
UCA详细测试用例下载:
链接: https://pan.baidu.com/s/1TTMlYRfzKITgrkWwwtcrDg 提取码: wrwx
本篇主要介绍IEC61850的UCA测试用例,该篇主要介绍对服务器server的测试用例。
1、应用关联测试用例

sAss1,配置好正确的连接和认证参数,建立连接,释放链接,重复建立和释放链接250次
sAss2,配置好正确的连接和认证参数,建立连接,中断链接,重复建立和中断链接250次
sAss3,配置好正确的连接和认证参数,建立 max个连接,释放max个链接,重复建立和释放max个链接250次
sAss4,主要测试协商参数

sAssN1,server开启认证服务,配置错误的认证参数建立连接失败,server关闭认证服务,错误的认证参数建立连接成功
sAssN2,配置正确的认证参数请求连接成功,释放也成功,分别配置如下不正确的认证参数
• called / calling transport selector
• called / calling session selector
• called / calling presentation selector
• called / calling AP title
• called / calling AE qualifier
建立连接失败
sAssN3,测试支持同时连接的最大个数,配置正确的认证参数,建立n个连接,直到建立链接失败,重复250次
sAssN4,测试连接超时和超时检测,配置正确的认证参数,建立连接,读一个数据,client等待数倍超时时间,等待server发送keep alive心跳,确认超时时间,
断开网络连接时间长于连接检测时间在恢复网络,通过向之前建立的连接发送一个请求数据的命令,server不会应答,检测server已经检测到连接丢失
再次建立max个连接,释放max个连接
sAssN5,电源中断,配置正确的认证参数请求连接成功,中断电源供电,等待server断电,恢复供电,经过上电时间后,client再次请求建立连接,连接成功
sAssN6,测试释放的连接资源可重用,client1建立max个连接成功,然后释放1个连接,使用client2 建立连接,可以成功;断开client2的网络,大于超时时间,在恢复网络
,client2重新建立连接成功,请求数据也成功
2、模型和数据服务


sSrv1,获取服务目录测试,client建立连接成功,请求GetServerDirectory,server响应成功(包含逻辑设备的列表),继续sSrv2测试
sSrv2,获取逻辑设备目录测试,对sSrv1返回的每个逻辑设备请求GetLogicalDeviceDirectory,server响应成功(包含逻辑节点的列表),继续sSrv3测试
sSrv3,获取逻辑节点目录测试,对sSrv2返回的每个逻辑节点请求GetLogicalNodeDirectory,server响应成功(包含数据对象的列表),继续sSrv4测试
sSrv4,获取数据对象目录测试,对sSrv3返回的每个数据对象请求GetDataDirectory、GetDataDefinition、GetDataValues,server对各个请求响应成功
sSrv5,对数据分层进行读数据测试,至少读取如下数据
• Functional constrained data: LLN0$ST$Beh
• Functional constrained data attribute: LLN0$ST$Beh$stVal
• Functional constrained data attribute type attribute
sSrv6,设置数据测试
对功能约束为 FC=ST, MX or EX的数据对象发送当前值的设置请求,server应答为response- with data access error “object-access-denied”
对功能约束为 FC=BL, CF ,SP or DC的数据对象发送当前值的设置请求(写使能类型数据对象),只读数据回复response-,写使能回复response+(只读标志为valKind=”RO,写使能标志为valKind="Set”或者为设置),设置新值并读出对比
sSrv7,测试设置数据时最大数据对象个数
sSrv8,测试获取全部数据,针对每个逻辑节点和支持的功能约束fc,client发送获全部取数据值(至少包含一个FC=ST, MX, CF, SP, DC, EX, BL, OR)
对于每个逻辑节点,使用数据对象引用(<IED><LD>/<LN>$<FC>)的方式发送获全部取数据值
sSrv9,测量值含义测试
sSrv10,单点和双点信息含义测试
sSrv11,闭锁测试,针对支持blkEna的数据对象进行测试,当blkEna为真时,即使通过模拟器改变过程值,该闭锁对象的数据也不会变化,当blkEna为假时,通过模拟器改变过程值,该闭锁对象的数据会变化
sSrv12,mode测试, off, test and/or blocked
mode=off,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质为无效
mode=test,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质为test
mode=test/blocked,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质为test
mode=blocked,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质保持mode=on时的状态
mode=on,请求mode、behaviour,health和过程值,mode和behaviour值更新,过程值品质的值被clear
Mod、Beh、Health不是过程值,他们的品质总是validity=good
sSrv13,逻辑设备层次测试,引用一个不是无线循环的引用,引用格式GrRef.setSrcRef value in SCL is: “@<LDevice.inst>” or “<IED.name><LDevice.inst>” and in the online datamodel:
“<IED.name><LDevice.inst>” or <LDevice.ldName>
在mod的上级请求GetDataValues所有下层级数据,server响应成功
sSrv14,同sSrv11
sSrvN1,逻辑设备、节点、数据服务参数错误测试
对于GetLogicalDeviceDirectory、GetLogicalDeviceDirectory、GetDataDirectory / GetDataDefinition、GetDataValues、SetDataValues、GetAllDataValues 回复error “object-non-existent”
sSrvN2,设置数据值超出枚举值范围,回复data access error “object-value-invalid”
sSrvN3,设置数据值数据类型不匹配(如整数和浮点数),回复data access error “type-inconsistent”
sSrvN4,对只读数据进行设置,回复 data access error “object-access-denied”
3、数据集服务

sDs1,获取数据集信息测试,对每个逻辑节点,请求逻辑节点目录(DATA-SET),正常响应;对数据集请求数据集目录,正常响应;对数据集的数据请求值,正常响应
sDs2,创建永久数据集测试,创建包含一个成员的永久数据集,client1进行GetLogicalNodeDirectory(DATA-SET)操作,响应包含创建的数据集名字;client2进行GetLogicalNodeDirectory(DATA-SET)操作,响应包含创建的数据集名字;创建最大个数成员的永久数据集,操作同上
sDs3,创建非永久数据集测试,创建包含一个成员的非永久数据集,client1进行GetLogicalNodeDirectory(DATA-SET)操作,响应包含创建的数据集名字,client2进行GetLogicalNodeDirectory(DATA-SET)操作,响应不包含创建的数据集名字;创建最大个数成员的永久数据集,操作同上
sDs4,创建和删除永久数据集测试,创建一个永久数据集,至少包含2个成员,请求数据集数据,返回包含成员的数据集数据,删除刚才创建的数据集,删除成功
创建一个永久数据集,至少包含1个扩展成员,请求数据集数据,返回包含成员的数据集数据,删除刚才创建的数据集,删除成功
再次创建刚才创建的永久数据集,包含两个成员,但两个成员的顺序重新排列,请求数据集数据,返回包含成员的数据集数据(顺序与创建时候排序一致)
sDs5,创建和删除非永久数据集测试,测试同sDs4
sDs6,非永久数据集链接断开后类似于删除,变为不可用状态
sDs7,永久数据集链接断开后不删除,数据集依然可用状态
sDs8,多次创建和删除永久数据集测试,数据集为多成员数据集
sDs9,多次创建和删除非永久数据集测试,数据集为多成员数据集
sDs10,数据集获取数值和设置数值
sDs11,创建永久数据集(最大成员)最大个数
sDs12,创建非永久数据集(最大成员)最大个数
sDs13,创建永久数据集(最大名称长度32 char)最大个数
sDs14,创建非永久数据集(最大名称长度32 char)最大个数
sDs15,创建从少到多层级的FCDA元素
• MMXU.PhV
• MMXU.A.phsA
• MMXU.A.phsB.cVal
• MMXU.A.phsC.cVal.mag
• MMXU.A.neut.cVal.mag.f

sDsN1,数据集服务非法参数测试
sDsN2,重复创建两个完全相同的永久数据集测试,第二次创建时提示error with errorClass=definition errorCode=object-exists
sDsN3,重复创建两个完全相同的非永久数据集测试,第二次创建时提示error with errorClass=definition errorCode=object-exists
sDsN4,持续创建永久数据集,直到提示创建否定应答,response- with errorClass=resource and errorCode=capability-unavailable,已创建数据集总个数大于或等于支持的最大数据集个数
sDsN5,持续创建非永久数据集,直到提示创建否定应答,response- with errorClass=resource and errorCode=capability-unavailable,已创建数据集总个数大于或等于支持的最大数据集个数
sDsN6,使用未知的数据引用创建永久数据集,否应应答,response- with errorClass=definition and errorCode=object-undefined
sDsN7,使用未知的数据引用创建非永久数据集,否应应答,response- with errorClass=definition and errorCode=object-undefined
sDsN8,删除预配置的数据集(不可删除的,未被报告控制块引用的),response+ with numberMatched=1 and numberDeleted = 0
sDsN9,删除2次永久数据集,第一次应答 response+ with numberMatched=1 and numberDeleted = 1,第二次应答response+ with numberMatched=0 and numberDeleted = 0
sDsN10,删除2次非永久数据集,第一次应答 response+ with numberMatched=1 and numberDeleted = 1,第二次应答response+ with numberMatched=0 and numberDeleted = 0
sDsN11,删除被引用的永久数据集
引用数据集的URCB使能,删除数据集时响应 response- with MMS service error with errorClass “service”, errorCode “object-constraint-conflict”
and serviceSpecificInformation deleteNamedVarList 0
引用数据集的URCB禁能,删除数据集时响应response- with MMS service error with errorClass “service”, errorCode “object-constraint-conflict”
and serviceSpecificInformation deleteNamedVarList 0
引用数据集的URCB与数据集分离,响应response+ with numberMatched=1 and NumberDeleted=1
sDsN12,删除被引用的非永久数据集,测试同sDsN11
sDsN13,对只读数据属性进行SetDataSetValues设置数据集值操作,响应response- with errorCode=object-access-denied
4、服务追踪

sTrk1, 缓存报告控制块BRCB跟踪测试
client1为LTRK.BrcbTrk[SR]配置引用数据集的一个BRCB或URCB或LCB,配置触发选项为数据更新以及上报原因
server上报的报告包含跟踪的数据集成员对象或者创建了日志条目
client2配置另一个BRCB,配置触发选项、上报原因,使能上报,并执行总召GI请求
server上报的报告包含跟踪的数据集成员对象或者创建日志条目并记录原因
sTrk2, 非缓存报告控制块URCB跟踪测试,同sTrk1
sTrk3,日志控制块跟踪测试
sTrk4,goose控制块跟踪测试
sTrk5,多路采样值SV控制块跟踪测试、
sTrk6,单路采样值SV控制块跟踪测试
sTrk7,定值组控制块跟踪测试
client1为LTRK.SgcbTrk[SR] 配置引用数据集的一个BRCB或URCB或LCB,配置触发选项为数据更新以及上报原因
client2改变定制组状态,包括选择定值组,编辑定制组,设置定值组值,server发送给client1的报告包含跟踪的数据集成员或者创建日志条目并记录原因
sTrk8,单点控制跟踪测试
client1为LTRK.SpcTrk[SR]配置引用数据集的一个BRCB或URCB或LCB,配置触发选项为数据更新以及上报原因
client2进行单点控制,包括选择、执行、取消等操作,server发送给client1的报告包含跟踪的数据集成员或者创建日志条目并记录原因
sTrk9,双点控制跟踪测试,参考sTrk8
sTrk10,整形控制跟踪测试,参考sTrk8
sTrk11,枚举控制跟踪测试,参考sTrk8
sTrk12,整数步进控制跟踪测试,参考sTrk8
sTrk13,二进制步进控制跟踪测试,参考sTrk8
sTrk14,浮点型模拟设点控制跟踪测试,参考sTrk8
sTrk15,整型模拟设点控制跟踪测试,参考sTrk8
sTrk16,二进制模拟设点控制跟踪测试,参考sTrk8
sTrk17,其他支持服务跟踪测试,参考sTrk8
5、取代测试用例

sSub1,测试subEna为假时,subVal、subMag等取代值不会立即对过程值进行取代,subEna为真时,subVal、subMag等会立即取代过程值
sSub2,测试subEna为假时,设置subVal、subMag等取代值,再设置subEna为真,立即取代过程值,然后断开连接并重新连接,确认subVal、subMag等取代值未改变
sSub3,测试subEna为假时,设置subVal、subMag等取代值,再设置subEna为真,立即取代过程值,再继续设置subVal、subMag等取代值,确认subVal、subMag等取代值已取代了上次的取代值
6、控制测试用例


sCtl1,检查控制对象路径以及控制模式
sCtl2,改变控制模式测试,分别设置为direct-with-normal-security、SBO-with-normal-security、direct-with-enhanced-security、SBO-with-enhanced-security
正确响应
sCtl3,激活第二次激活的控制对象
client给控制对象1和控制对象2发送相同的时间激活时间operTm,两个都应答且到执行时间能够执行操作命令
sCtl4,stSeld状态测试,client发送选择(或选择带值)和执行,server响应并置stSeld状态
sCtl5,test flag和test mode测试,LN.Beh=on,client发送带有test flag的正确控制命令,命令无法下发
sCtl6,选择取消多个SBO控制对象
client选择多个SBO控制对象,无内联的多个控制对象响应正常,内联的多个控制对象响应异常
client 取消已经选择的控制对象,响应正确
sCtl7,Check条件检查
sCtl8,对SBO对象直接控制
sCtl9,对SBO对象连续选择2次
sCtl10,选择值或者操作值与当前值一样
sCtl11,对SBO对象从2个client进行选择2次测试
sCtl13,对直控对象进行选择
sCtl14,对直控对象从2个client进行操作2次测试
sCtl15,对不可控制的逻辑节点对象进行控制
逻辑节点Beh=off(设置Mod为Off,LLN0.Mod=Off)
sCtl16,对本地模式的控制对象操作
(LLN0.Loc=True or CSWI.Loc=True)
sCtl17 DOns,对本地模式的控制对象进行站控操作
(LLN0.Loc=True or CSWI.Loc=True)
sCtl17 SBOns,对本地模式的控制对象进行站控操作
(LLN0.Loc=True or CSWI.Loc=True)
sCtl17 SBOes,对本地模式的控制对象进行站控操作
(LLN0.Loc=True or CSWI.Loc=True)
sCtl18,当命令被闭锁的时候控制对象
(CmdBlk.stVal=TRUE, Mod.stVal = on)
sCtl20,选择后参数改变
sCtl21,改变达到极限测试
sCtl23,APC超越测试
sCtl24,APC测量值偏移
sCtl25,取消未选择测试
sCtl26,取消测试
sCtl27,对SBOns对象选择带值得测试
sCtl28,
DOns,Verify FC=OR attributes opOk, opRcvd, tOpOk
DOes,Verify FC=OR attributes opOk, opRcvd, tOpOk
SBOns,Verify FC=OR attributes opOk, opRcvd, tOpOk
SBOes,Verify FC=OR attributes opOk, opRcvd, tOpOk
7、文件传输

UCA详细测试用例下载:
链接: https://pan.baidu.com/s/1TTMlYRfzKITgrkWwwtcrDg 提取码: wrwx
欢迎关注!!
相关文章:
IEC61850实现方案和测试-2
IEC61850实现方案和测试-1作为介绍实现方案和测试的第二篇文章,后续会继续更新,欢迎关注。 第一篇是:IEC61850实现方案和测试-1-CSDN博客 UCA详细测试用例下载: 链接: https://pan.baidu.com/s/1TTMlYRfzKITgrkWwwtcrDg 提取码:…...
flume-将日志采集到hdfs
看到hdfs大家应该做什么? 是的你应该去把集群打开, cd /export/servers/hadoop/sbin 启动集群 ./start-all.sh 在虚拟机hadoop02和hadoop03上的conf目录下配置相同的日志采集方案,‘ cd /export/servers/flume/conf 切换完成之后&#…...
一文学习开源框架LeakCanary
LeakCanary 简介 LeakCanary 是一个由 Square 开发的开源工具,主要用于检测和诊断 Android 应用中的内存泄漏问题。它通过自动化的方式帮助开发者捕捉和分析可能导致内存泄漏的对象,简化了内存问题的排查过程。 LeakCanary 的功能 自动检测内存泄漏&a…...
jetson orin系列开发版安装cuda的gpu版本的opencv
opencv安装包下载地址: https://github.com/opencv/opencv/扩展库下载地址: https://github.com/opencv/opencv_contrib1. 删除jetpack包中的opencv版本 原先的opencv库安装在目录/usr/lib/aarch64-linux-gnu/下(一般其他的第三方库也都安…...
数据结构-8.Java. 七大排序算法(中篇)
本篇博客给大家带来的是排序的知识点, 由于时间有限, 分两天来写, 中篇主要实现后三种排序算法: 冒泡排序,快速排序,下一篇讲 归并排序. 文章专栏: Java-数据结构 若有问题 评论区见 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作…...
数据结构C语言描述4(图文结合)--栈的实现,中序转后序表达式的实现
前言 这个专栏将会用纯C实现常用的数据结构和简单的算法;有C基础即可跟着学习,代码均可运行;准备考研的也可跟着写,个人感觉,如果时间充裕,手写一遍比看书、刷题管用很多,这也是本人采用纯C语言…...
python基本数据类型 -- 元组tuple
在 Python 中,元组(Tuple)是一种轻量级的、不可变的数据结构。与列表类似,元组用于存储有序的数据集合,但它一旦创建,其内容就无法更改。这种特性让元组在某些场景下更加安全和高效。本文将从定义、操作、应…...
tcpdump交叉编译
TCPDUMP在Libpcap上开发。 首先需要编译libcap。 网上那么多教程,下载地址都只给了一个英文的官网首页, 你尽可以试试,从里面找到下载地址都要费半天时间。 \color{red}网上那么多教程,下载地址都只给了一个英文的官网首页&#…...
Spring IOC注入方式、Bean作用域
Spring IOC注入 手动注入 set方法注入 需要提供set方法 public class UserService {private UserDao userDao; public void setUserDao(UserDao userDao) {this.userDao userDao;} } 设置属性字段的值 <bean id"userService" class"com.shsxt.servi…...
uniapp微信小程序转发跳转指定页面
onShareAppMessage 是微信小程序中的一个重要函数,用于自定义转发内容。当用户点击右上角的菜单按钮,并选择“转发”时,会触发这个函数。开发者可以在这个函数中返回一个对象,用于定义分享卡片的标题、图片、路径等信息。 使用场…...
利用uniapp开发鸿蒙:运行到鸿蒙模拟器—踩坑合集
从uniapp运行到鸿蒙模拟器上这一步,就有非常多的坑,一些常见的坑,官网都有介绍,就不再拿出来了,这里记录一下官网未记录的大坑 1.运行路径从hbuilderx启动鸿蒙模拟器 解决方法: Windows系统,官…...
【Vue】Vue3.0(二十五)Vue3.0中的具名插槽 的概念和使用场景
上篇文章 【Vue】Vue3.0(二十四)Vue3.0中 r e f s 、 refs 、 refs、parent 的概念和使用场景 🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年11月20日16点30分 …...
【pytorch-02】:张量的索引、形状操作和常见运算函数
文章目录 1 张量索引1.1 简单行列索引和列表索引1.2 布尔索引和多维索引 2 张量的形状操作2.1 reshape函数2.2 transpose和permute函数的使用2.3 view和contiguous函数2.4 squeeze和unsqueeze函数用法2.5 张量更改形状小结 3 常见运算函数 1 张量索引 1.1 简单行列索引和列表索…...
C语言-指针作为函数返回值及二级指针
1、指针作为函数返回值 c语言允许函数的返回值是一个指针(地址)我们将这样的函数称为指针函数,下面的例子定义一了一个函数strlong(),用来返回两个字符串中较长的一个: 1. #include <stdio…...
css 使用图片作为元素边框
先看原始图片 再看效果 边框的四个角灭有拉伸变形,但是图片的中部是拉伸的 代码 border-style: solid;/* 设置边框图像的来源 */border-image-source: url(/static/images/mmwz/index/bk_hd3x.png);/* 设置如何切割图像 */border-image-slice: 66;/* 设置边框的宽度 */border…...
Linux无sudo权限将zsh作为默认shell
由于我只有用户权限,没有sudo权限,将zsh作为用户默认shell需要密码,所以没法在系统层面进行操作,下面另寻他法。 安装zsh 可以根据网上教程去安装zsh,一般电脑上会带有zsh,可以使用下述命令查看是否安装z…...
【React 进阶】掌握 React18 全部 Hooks
一、数据更新驱动 1. useState 1. 基础介绍 useState主要用于声明和操作状态变量,可以使函数组件像类组件一样拥有state const [state, setState] useState(initialState);state:状态,作为渲染视图的数据源 setState:改变st…...
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter) 更新以gitee为准: 文章目录 数据预测概念和适用方式线性系统的适用性 数据预测算法和卡尔曼滤波公式推导状态空间方程和观测器先验估计后验估计…...
【SQL50】day 2
目录 1.每位经理的下属员工数量 2.员工的直属部门 3.判断三角形 4.上级经理已离职的公司员工 5.换座位 6.电影评分 7.修复表中的名字 8.患某种疾病的患者 9.删除重复的电子邮箱 1.每位经理的下属员工数量 # Write your MySQL query statement below #e1是经理,…...
【内存管理】理解 `WeakReference` 以更好地管理 Android 应用中的内存
在 Android 应用开发中,内存管理至关重要。糟糕的内存管理可能导致“内存泄漏”,即一些不再需要的对象仍然留在内存中,最终导致性能下降,甚至应用崩溃。WeakReference 就是帮助解决这个问题的一种工具。在本文中,我们将…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
EasyRTC音视频实时通话功能在WebRTC与智能硬件整合中的应用与优势
一、WebRTC与智能硬件整合趋势 随着物联网和实时通信需求的爆发式增长,WebRTC作为开源实时通信技术,为浏览器与移动应用提供免插件的音视频通信能力,在智能硬件领域的融合应用已成必然趋势。智能硬件不再局限于单一功能,对实时…...
SQL进阶之旅 Day 22:批处理与游标优化
【SQL进阶之旅 Day 22】批处理与游标优化 文章简述(300字左右) 在数据库开发中,面对大量数据的处理任务时,单条SQL语句往往无法满足性能需求。本篇文章聚焦“批处理与游标优化”,深入探讨如何通过批量操作和游标技术提…...
