文章目录
选择开源 WebRTC 媒体服务器架构的十二条建议
您是否理解代码
代码是否持续维护
有人使用吗
该项目有文档吗
它是否是 Debuggable 的
是否易于服务横向扩展
该媒体服务器使用什么语言开发的
它是否符合您的信令模式
开源许可证对您合适吗
有人为此提供付费支持吗
现在流行开源媒体服务器预览
做出决定
选择开源 WebRTC 媒体服务器架构的十二条建议
太多的开源媒体服务器开源项目,到底哪一个适合您呢太多的开源媒体服务器开源项目,到底哪一个适合您呢太多的开源媒体服务器开源项目,到底哪一个适合您呢


您有在 github 上搜索您需要的 WebRTC 相关资料的经历吗?之前的资料特别少,可是今天您再去搜一下,上面关于 WebRTC 的资料就和现在 WebRTC 在 LinkedIn 上面的简介一样多,下面这幅图是 WebRTC 这几年来在 github 上使用的走势图


从开源项目的一些仓库使用的案例来看,有的使用量确实非常之高,下面这幅图是我搜索 github 之后的一些例子

当您在 github 上搜索 WebRTC,并让它默认为您选择最佳匹配时,您会得到 PubNub 的列子,使用 PubNub 作为您使用 WebRTC 进行简单的一对一视频通话的信令。有趣的是,它已经不能再继续工作了。因为它使用了旧的 PubNub WebRTC SDK,这是一个不需要您花太多精力的领域(发送信令)。

假设您确实找到了一个您喜欢的 WebRTC 开源媒体服务器(当然是在 github 上)。您怎么知道它有什么好处? 这里有 10 种不同的建议,您可以用来参考一下做出好的选择。

您是否理解代码


如果您打算为 WebRTC 项目采用开源媒体服务器,那么需要每隔一段时间就深入研究一下该项目的 WebRTC 业务相关代码。

有几件事情您必须要做,第一让这个该死的媒体服务器运行起来,修复其中的 BUG、调整设置、修改其中的插件或者扩展以及为媒体服务器改名。

在我看到的许多情况下,当供应商依赖于一个开源的 WebRTC 媒体服务器框架时,他们最终不得不深入挖掘它的代码,有时甚至达到完全拥有它的程度,并完全改变项目的结构。

为了确保您做出了正确的决定 —— 首先检查一下您是否理解了自己要做的事情,并尝试先研究一下代码。

我自己的个人偏好是代码中包含注释,不能脱离代码按自己的想法理解。所以一定要检查那些不明显的部分(比如带宽估计,RTP 处理,STUN 或者 TURN 协议处理) 是否正确注释了。

代码是否持续维护


苹果也是最近几年才开始在浏览器中启用 WebRTC,SDK 中的 WKWebView 目前还在内测中,暂时不能使用,当然了我们还是非常高兴的。

但现在我们都需要将焦点转移到 H.264 上。包括您计划使用的 WebRTC 媒体服务器。
谷歌呢? 他们刚刚宣布将缓慢地从 PlanB 迁移到 UnifiedPlan。不要担心细节 —— 它只是改变了处理多个流的方式。

自从 WebRTC 的规范草案最终确定了正确的定义以来,getstats() API最近发生了很多次变化,这与它的 Chrome 实现不同。

实际问题呢?一两年前编写的代码在实际运行时存在严重的问题,甚至不谈论升级、更新、安全补丁等等。只是基本的一个能让它工作的东西。

当您检查您计划采用的 WebRTC 媒体服务器的 github 页面时,请确保查看它最后一次更新的时间。如果您检查更新是关于什么的以及更新发生的频率,就会得到额外的参考标准。

有人使用吗


没有什么比犯别人正在犯的同样的错误更好的了。(错误描述)

您想要的是一个流行的开源 WebRTC 媒体服务器。任何其他的东西都有它存在的理由,而这个理由不会是您发现了一颗未经雕琢的钻石。

使用流行的框架,一个是久经考验的,最好是名人使用,在生产环境中,在商业产品中,这些都是是参考标准

为什么?因为他给了您需要的两件事

验证和有效性
生态
它会让您确认这个东西是有价值的 —— 其他人已经用过它了。

它给您一个知识和经验的生态系统(因为有很多人使用,很多相关的示例和文档)。有时可以利用这一点来找到一些已经使用过它的自由职业者,或者从社区中更多的人那里获得帮助,我不会仅仅根据流行程度来选择一个平台,但我会将它作为一个强有力的参考标准。

该项目有文档吗


WebRTC 的媒体框架就像一个引擎,需要将其集成到您整个项目中。要实现这一点,您需要以某种方式与它集成 —— 或者通过它的 api,或者通过 REST api(或者GraphQL,等等)。

要做到这一点,您需要知道哪些 API 接口是适合您的,哪些不适合,比如那些写出来的东西或者文档。

当涉及到开放源码框架时,文档并不能保证具有特定的质量 —— 它会因项目的不同而有很大的差异,只要确保您所使用的文档达到了可以理解的程度就可以了。

如果可能,请检查文件是否包括:

一些介绍性材料的组成和架构的项目说明
一些 API 参考示例
一些演示如何使用这个东西的例子
一些关于安装,配置,维护,可扩展文档,…
文档越多,一年之后您的情况就越好。

它是否是 Debuggable 的


WebRTC是实时的,实时很难调试。

如果您需要关注的不是信号部分(或者音视频信令部分),而是媒体部分,那就更难了。

我知道您只是喜欢在 c++ 代码中添加您自己的 printf 和 cout 语句,并尝试复现那个烦人的 bug。更有圣者,收集 PCAP (TCP Dump)文件,然后……呃……阅读它们(估计您会疯的)。

如果能够提供一些日志记录、调试等功能,而不必总是将这些语句添加到代码中,那就太好了。甚至可能有一个具有不同日志级别的机制,并在日志中写入合理的信息,这样就可以减少查找 bug 所需的时间。

另外,要确保将监控系统集成到您将要使用的媒体服务器中是非常方便的。如果在生产中没有简单的方法来测试这个东西的健康状况,那么它要么没有在生产中使用,要么需要进行一些修改才能实现。我想您应该不想陷入那种困境。

同时 —— 确保代码本身有良好的文档记录。没有什么比自我解释的代码概念更令人沮丧(也更愚蠢)了。人 —— 代码不能解释它自己 —— 自己做自己的事情。我知道那个写媒体服务器的人是上帝的化身,但我们其他人不是。您们的程序员很优秀,但是相信我 —— 不是那么好。选择一些易于维护 —— 这是不言自明的,因为有人花时间在代码的棘手部分写了一些非常好的注释,我知道这也是摸索代码的一部分,但它很重要 —— 检查两次。

对我来说,更快地调试、排除故障和发现问题的能力通常对我自己的业务至关重要。

是否易于服务横向扩展


媒体服务器占用了大量的资源,比如内存、CPU、带宽(甚至是 GPU)

这意味着,如果您的业务以任何方式获得成功,您将需要更多的媒体服务器来规模化运行。

您可以从在亚马逊 AWS 上搜索一下从 m4.large 到 m4.16xlarge(这是机器名称哦)看看您就知道了那是多么昂贵了。最终,媒体服务器的横向扩展归结为增加更多的机器,这很好理解,直到您开始使用群组音视频通话时您就明白了

下面是一个列子

假设一台机器可以处理 100 个参与者,可以分成任何类型的测试小组(这里只是一个简化)
每一个音视频电话平均有 10 个参与者
每组呼叫可以有2个参与者,最多 50 个参与者
现在我们考虑一下如何横向扩展我们的音视频服务能力呢?

我们需要投入多少台机器? 我们什么时候决定不向正在运行的机器增加新的音视频呼叫进入? 这些机器人员都满了,我们要把它们级联起来吗? 丢掉该音视频的呼入并尝试将它们转移到其他机器上?

我不知道,但您应该知道。至少您是认真对待您的产品的。

您可能无法在开源 WebRTC 媒体服务器的文档中找到这个问题的答案,但至少应该确保您有一些关于如何大规模运用和部署它的合理文档,而不是作为一次性实例。

该媒体服务器使用什么语言开发的


他们是用 Kotlin 写的哦。因为这是有史以来最伟大的语言,谷歌甚至将其成立为 Android 的官方版本。

如果我们使用 Kotlin 开发媒体服务器有问题吗?我在使用的语言中寻找两件事:

音视频媒体服务最终的结果都是支持高性能的音视频接入,记住,我们在这里要处理的是一个资源浪费的问题,所有我们要考虑得长远一点,一个词:优化
我必须知道如何使用它,并且我的开发人员也要必须精通此事
其中有一些媒体服务器是基于 Node.js 的,而另一些是用 Java 编写的。您的开发人员更喜欢哪一个? 哪一个更适合您公司未来 5 年的技术计划?

如果您需要在两个媒体服务器之间做出选择,而它们之间的主要区别在于语言,那么选择对您的组织更有效的语言。

它是否符合您的信令模式


您的 WebRTC 产品需要三样东西:

信令服务
STUN/TURN 服务
媒体服务器
第三条不是强制性的,但如果您正在读这篇文章,它是强制性的。该媒体服务器需要与信令服务器和 STUN/TURN 服务器交互。

当然,您可以使用媒体服务器的信令功能,但它们并不是真正的信令功能,我的建议是不要将媒体服务器公开用于任何事情 —— 在您的服务中对其进行内部控制。

因此,您需要让它与您的信令服务器进行交互。检查它们是否共享相似的范例和概念,否则,这本身就是一件很头疼和混乱的事情,否则调试测试时您会疯掉的。

检查一下您要选择的媒体服务器架构是否有很容易集成的 STUN/TURN 开源服务器供您选择

开源许可证对您合适吗


BSD? MIT? APL? GPL? AGPL?

这个开源的 WebRTC 媒体服务器框架到底附带什么许可证?

有趣的是,有些项目在这个过程中会转换它们的许可证。Jitsi 是在被 Atlassian 收购之后这么做的 —— 从 LGPL 转移到一个更宽松的 APL。

您的业务模式的方式,以及您计划部署服务的方式将会影响您想要的开源许可的类型,并将能够在您的服务中采用。

当涉及到开源许可时,有不同类型的免费。当涉及到开源许可时,有不同类型的免费。当涉及到开源许可时,有不同类型的免费。

您挑选和使用的每段代码都需要遵守这些许可证内部要求和约束,这也包括媒体服务器本身。既然媒体服务器不像一个用过的电池那样可以随时更换,我的建议是选择一个带有开放源码许可的东西 —— 或者选择一个商业产品(它会让您付出代价,但会解决这个烦人的问题)。

我以前写过关于开放源码许可的文章——也可以去看看。

有人为此提供付费支持吗


我知道,您使用开源来避免支付任何费用。然而,如果您查看许多成功且维护良好的开源项目 —— 特别是中小型项目,您将看到它们背后的业务模式。为那些在 IT 上投入时间的人提供了一种谋生的方式。在许多情况下,业务模型是支持和定制开发的。

选择付费支持意味着两件事:

有些人愿意承担责任并改进这件事,他把它当作日常工作来做,而不是当作业余爱好
如果您需要帮助尽快 —— 您可以随时支付得到它
如果没有人提供任何付费支持,那么谁来维护这些代码,目的是什么? 怎样才能鼓励他们继续投入时间开发呢? 他们会在下个月决定停止投入开发吗? 上个月吗? 明年吗?

现在流行开源媒体服务器预览
Jitsi Platform
Jitsi不仅是WebRTC媒体服务器,而且还有一个完整的平台。 Jitsi系列产品包括Jitsi Videobridge(媒体中继,SFU),Jitsi Meet(会议网络客户端),Jicofo(Jitsi Conference Focus),Jigasi(Jitsi Gateway to SIP)和Jitsi SIP Phone。借助Jitsi我们能在几个小时之内迅速搭建一个完整可用的通信平台。 它还使用Jingle(XMPP)和功能齐全的Web界面实现自己的信令控制。 然而,令人遗憾的是,它对于媒体录制没有提供稳定易用的解决方案。

Kurento Media Server
这是最通用的解决方案之一。 它不仅是一个媒体服务器,而且是一个开发工具包。Kurento的主要优势在于其多功能性,引入了媒体工作流的概念,允许在代码中定义媒体流的方式和位置。 这允许WebRTC开发者组合和集成非常有趣的特征,例如增强现实,AR计算机视觉(例如识别QR码,面部检测),实时媒体修改和与RTP(VoIP)服务互操作。Kurento可以配置为SFU或MCU,或两者兼备。

Janus WebRTC Gateway
虽然它的描述在任何地方都没有提到“媒体服务器”,但Janus可以很容易地设置为SFU。 其最显着的特征之一是其插件架构,可以增强服务的核心功能。有一些有趣的Janus用例,例如SIP Gateway,屏幕共享等。

mediasoup
这是一个相对较新而且有趣的媒体服务器,它与其他媒体服务器的不同之处在于它被设计成一个用于Node的开发库,这允许它可以被容易的集成到更大的应用程序中。

licode
底层基于 c++ 进行开发,内部使用 WebRTC 部分 P2P 源码,健壮性比较强,信令和业务控制通过 nodejs 做桥接方便调用,使用方便,结构设计合理

做出决定
考虑需求和约束,理解总是存在未知和部分信息。然后从中提炼出一个决定,决定性的选择。

在 Gustavo Garcia 编写的这个伟大的汇编中,您可以找到更多关于媒体服务器的技术信息。

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

相关文章

  1. 【024期】JavaWeb面试题(五):Filter和Listener

    开篇介绍 大家好,我是Java最全面试题库的提裤姐,今天这篇是JavaWeb系列的第五篇,主要总结了JavaWeb中Filter和Listener相关的问题,在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养成一个好习惯。 什…...

    2024/4/19 13:18:51
  2. Mysql-binlog日志分析

    由于最近线上数据经常被改动,导致程序错误,并且找不出问题根源,因此去拿线上mysql的binlog日志,来分析数据最近做了什么改动,好进一步分析问题原因。从生产上获取日志1、查看mysql的配置信息vi /etc/my.cnf2、查看binlog日志呃.......生产上mysql的binlog日志设置了权限,…...

    2024/4/9 2:22:06
  3. python12_异常处理

    错误:语法错误(大小写拼写错误、括号不匹配等...)=> 不能正常执行 逻辑错误(程序运行正常,只是最后结果不符合预期) 异常:程序运行过程中,出现的意料之外的错误(如:打开的文件不存在、被除数为0、操作的数据类型不对、存储错误,互联网请求错 误等)常见异常类: …...

    2024/4/9 2:22:05
  4. 移动端ios输入框遇到的一些问题

    移动端ios输入框 日常开发中使用input固定定位在底部遇到的一些问题,话不多说上代码 ~~~~(大佬勿喷) 输入框收起时底部留白一大块let scrollY = null;$(.animated).focus(function(){scrollY = $(this).offset().top // 记录获取焦点时页面距离顶部的距离});$(.animated…...

    2024/4/12 7:55:03
  5. 线程池组成部分

    线程池组成部分 线程池管理器(ThreadPoolManager):用于创建并管理线程池 工作线程(WorkThread): 线程池中线程 任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行 任务队列:用于存放没有处理的任务 提供一种缓冲机制...

    2024/4/9 2:22:03
  6. Windows+VS2019环境各密码算法库(openssl\GMP\ZLib)的环境配置及用法总结

    文章目录GMPZLIBOPENSSL GMP 要点:首先VS中只能使用.lib文件作静态库,网上用.a的纯属** 安装:教程+编译完成的文件 环境: 首先将gmp.h及libgmp-10.lib放到同一文件夹下,记为GMPLib工程右键→属性→c/c++→常规→附加包含目录:GMPLib(gmp.h所在目录) 工程右键→属性→链…...

    2024/4/12 14:23:24
  7. [蓝桥杯][算法提高]能量项链

    文章目录题目连接题目描述输入输出样例输入样例输出c语言AC代码 题目连接 题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有 N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记…...

    2024/4/9 2:22:03
  8. jdk1.8Hashmap源码学习

    前言 jdk1.8中的hashmap有了诸多修改。包括扩容方式,链表结构等等。 成员变量static final int DEFAULT_INITIAL_CAPACITY = 16;static final int MAXIMUM_CAPACITY = 1073741824;static final float DEFAULT_LOAD_FACTOR = 0.75F;//如果单链表长度超过这个值,将单链表转换为…...

    2024/4/9 2:22:00
  9. Activiti工作流会签三 撤销,审批,驳回

    撤销操作 在发请流程之后经常会遇到,内容有误,申请撤销的操作。下面就聊一聊撤销操作。 我们定义一个接口,核心代码只有一行,就是 runtimeService.deleteProcessInstance(procInstId, "canceled-"+reason); 第一个参数是流程实例id 5001 这个ID是在启动实例的…...

    2024/4/15 9:09:39
  10. 前端面试常见问题——css布局

    css布局 题目:假设高度已知,请写出三栏布局,其中左栏,右栏高度各为300px,中间自适应 ①浮动方式(优点:兼容性好,缺点:清楚浮动脱离文档流) <!-- //浮动方法 -->​ <section class="layout float"><style media="screen">​…...

    2024/4/17 7:04:56
  11. MQ消息处理方式(自定义注解)

    mq回调的类,一般都提供onMessage, messageArrived这样的方法让我们重写,但是我们的需求是通过不同topic,去调用不同的方法,如果使用if else开发,那都会写到一个文件,回调和消息处理函数耦合度也很高,也不利于团队的开发,通过改造可以达到以下效果,业务代码写到单独的文…...

    2024/4/9 2:21:57
  12. svn客户端的操作使用

    前言 部署好了svn服务端后,因其部署在Linux系统上(详见docker搭建svn服务),为了方便对其进行操作使用,需要安装svn客户端,满足在win或者mac系统上的日常操作,利于工作相应的开展 客户端操作使用 win系统端的安装 请自行下载svn客户端,其安装操作,这里亦不再赘述 win系统…...

    2024/4/12 8:27:40
  13. 整理好心情,重新出发

    路漫漫其修远兮,吾将上下而求索。从长沙奔赴心之所向-魔都上海还记得当初来时路上的兴奋和向往呀 我终于来到了我高中恋恋不忘的地方这个城市,是我的初心向往地,一个来自小县城的平凡女孩。做好面试准备,投简历,面试,一次一次 对未知的好奇和经历面试失败的过程,都在丰…...

    2024/4/20 11:56:38
  14. C++ push方法与push_back方法

    【摘要】push与push_back是STL中常见的方法,都是向数据结构中添加元素。初识STL,对于添加元素的方法以产生混淆,这里暂对两种方法作出比较分析。此外,本文还将简述push对应的stack与queue系列,常见方法的介绍,以及与push_back相对应的vector系列常见方法介绍。详见下文。…...

    2024/4/19 9:23:07
  15. [VIP试题] 蓝桥杯 BASIC-14 时间转换

    问题描述给定一个以秒为单位的时间t,要求用<“H:M:S”的格式来表示这个时间。H表示时间,M表示分钟,而S表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。 输入格式输入只有一行,是一个整数t(0<=t<=86399)…...

    2024/4/13 20:29:24
  16. STM32F407——I2C笔记

    I2C 通讯协议(Inter-Integrated Circuit),I2C是一种通信协议!!和USART串口和SPI、SDIO等等都是通信协议。由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、 CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。 类似的,学习通信协…...

    2024/4/10 8:11:09
  17. 创建一个简单的maven文件

    @创建一个简单的maven文件TOC 创建一个简单的maven文件 1、在pom.xml 引入依赖添加SpringMVC依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.7.RELEASE</version&g…...

    2024/4/17 1:09:55
  18. python使用re模块实现正则表达式操作

    python使用re模块实现正则表达式操作python使用re模块实现正则表达式操作1. 正则表达式语法1.1常用元字符1.2 常用限定符2.python中使用re2.1匹配字符串2.1.1 使用match()方法进行匹配2.1.2 使用search()方法进行匹配2.1.3 使用findall()方法进行匹配2.2 替换字符串2.3分割字符…...

    2024/4/19 16:12:39
  19. 惊醒,追梦

    年过中年,突然厌倦了现在的工作和单位环境。觉得不该这样委屈自己,应该追求自己想要的生活。现在工作单调机械繁忙透支健康,十几年的蹉跎,基础基本为0,但还是要挤出休息时间努力提高自己,争取早日辞职。(希望有好的工作机会) 大龄,女,没学历,没基础,没经验,只有自信…...

    2024/4/8 21:49:25
  20. 第五届蓝桥杯大赛个人赛(软件类)真题 (C语言B组)

    目录第五届蓝桥杯大赛个人赛(软件类)真题 (C语言B组)第一题第二题第三题第四题第五题第六题第七题第五届蓝桥杯大赛个人赛(软件类)真题 (C语言B组)第一题输入一个字符串,求它包含多少个单词。单词间以一个或者多个空格分开。 第一个单词前,最后一个单词后也可能有0到…...

    2024/4/16 6:11:52

最新文章

  1. Flask vs FastApi 性能对比测试

    Flask和Fastapi都是Python下流行的Web框架&#xff0c;前者有大量拥趸&#xff0c;是一个老牌框架&#xff0c;后者相对较新&#xff0c;但是利用了异步技术和uvloop&#xff0c;都说性能比Flask好很多&#xff0c;于是就我就对比实测一下。由于Windows下不支持uvloop&#xff…...

    2024/4/20 20:28:46
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 方案分享 | 嵌入式指纹方案

    随着智能设备的持续发展&#xff0c;指纹识别技术成为了现在智能终端市场和移动支付市场中占有率最高的生物识别技术。凭借高识别率、短耗时等优势&#xff0c;被广泛地运用在智能门锁、智能手机、智能家居等设备上。 我们推荐的品牌早已在2015年进入指纹识别应用领域&#xff…...

    2024/4/16 10:23:30
  4. 数据挖掘中的PCA和KMeans:Airbnb房源案例研究

    目录 一、PCA简介 二、数据集概览 三、数据预处理步骤 四、PCA申请 五、KMeans 聚类 六、PCA成分分析 七、逆变换 八、质心分析 九、结论 十、深入探究 10.1 第 1 步&#xff1a;确定 PCA 组件的最佳数量 10.2 第 2 步&#xff1a;使用 9 个组件重做 PCA 10.3 解释 PCA 加载和特…...

    2024/4/19 13:01:38
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/4/19 19:02:10
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/4/20 15:00:23
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/4/19 11:33:34
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/4/19 11:52:08
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/20 9:42:32
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/20 7:01:14
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/4/19 11:52:49
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/4/19 18:52:15
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/4/19 23:08:02
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/4/20 0:22:23
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/19 23:04:54
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/4/20 1:12:38
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/4/20 19:58:29
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/19 19:50:16
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/4/20 1:43:00
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/4/20 13:55:02
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/4/19 23:35:17
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/4/19 10:00:05
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/4/20 6:45:17
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/4/20 3:28:04
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57