彼节者有间,而刀刃者无厚;以无厚入有间,恢恢乎其于游刃必有余地矣 ----- 庖丁解牛

前言:随着移动互联网、IoT、5G等的应用和普及,一步一步地我们走进了数字经济时代。随之而来的海量数据将是一种客观的存在,并发挥出越来越重要的作用。时序数据是海量数据中的一个重要组成部分,除了挖掘分析预测等,如何高效的压缩存储是一个基础且重要的课题。同时,我们也正处在人工智能时代,深度学习已经有了很多很好的应用,如何在更多更广的层面发挥作用?深度学习的本质是做决策,用它解决具体的问题时很重要的是找到契合点,合理建模,然后整理数据优化loss等最终较好地解决问题。在过去的一段时间,我们在用深度强化学习进行数据压缩上做了一些研究探索并取得了一些成绩,已经在ICDE 2020 research track发表(Two-level Data Compression using Machine Learning in Time Series Database)并做了口头汇报。在这里做一个整体粗略介绍,希望对其它的场景,至少是其它数据的压缩等,带来一点借鉴作用。

1. 背景描述

1.1 时序数据

时序数据顾名思义指的是和时间序列相关的数据,是日常随处可见的一种数据形式。下图罗列了三个示例 a)心电图,b)股票指数,c)具体股票交易数据。

关于时序数据库的工作内容,简略地,在用户的使用层面它需要响应海量的查询,分析,预测等;而在底层它则需要处理海量的读写,压缩解压缩,采用聚合等操作,而这些的基本操作单元就是时序数据,一般(也可以简化)用两个8 byte的值进行统一描述。
可以想象,任何电子设备每天都在产生各种各样海量的时序数据,需要海量的存储空间等,对它进行压缩存储及处理是一个自然而然的方法。而这里的着重点就是如何进行更高效的压缩。

1.2 强化学习

机器学习按照样本是否有groundTruth可分为有监督学习,无监督学习,以及强化学习等。强化学习顾名思义是不停得努力得去学习,不需要groundTruth,真实世界很多时候也没有groundTruth,譬如人的认知很多时间就是不断迭代学习的过程。从这个意义上来说,强化学习是更符合或更全面普遍的一直处理现实世界问题的过程和方法,所以有个说法是:如果深度学习慢慢地会像C/Python/Java那样成为解决具体问题的一个基础工具的话,那么强化学习是深度学习的一个基础工具。


强化学习的经典示意图如下,基本要素为State,Action,和Environment。基本过程为:Environment给出State,Agent根据state做Action决策,Action作用在Environment上产生新的State及reward,其中reward用来指导Agent做出更好的Action决策,循环往复….
而常见的有监督学习则简单很多,可以认为是强化学习的一种特殊情况,目标很清晰就是groudTruth,因此对应的reward也比较清晰。

强化学习按照个人理解可以归纳为以下三大类:

  • DQN:Deep Q network,比较符合人的直观感受逻辑的一种类型,它会训练一个评估Q-value的网络,对任一state能给出各个Action的reward,然后最终选择reward最大的那个action进行操作即可。训练过程通过评估"估计的Q-value“”和“真正得到的Q-value”的结果进行反向传递,最终让网络估计Q-value越来越准。
  • Policy Gradient:是更加端到端的一种类型,训练一个网络,对任一state直接给出最终的action。DQN的适用范围需要连续state的Q-value也比较连续(下围棋等不适用这种情况),而Policy Gradient由于忽略内部过程直接给出action,具有更大的普适性。但它的缺点是更难以评价及收敛。一般的训练过程是:对某一state,同时随机的采取多种action,评价各种action的结果进行反向传递,最终让网络输出效果更好的action。
  • Actor-Critic:试着糅合前面两种网络,取长补短,一方面用policy Gradient网络进行任一state的action输出,另外一方面用DQN网络对policy gradient的action输出进行较好的量化评价并以之来指导policy gradient的更新。如名字所示,就像表演者和评论家的关系。训练过程需要同时训练actor(policy Graident)和critic(DQN)网络,但actor的训练只需要follow critic的指引就好。它有很多的变种,也是当前DRL理论研究上不停发展的主要方向。

2. 时序数据的压缩

对海量的时序数据进行压缩是显而易见的一个事情,因此在学术界和工业界也有很多的研究和探索,一些方法有:

  • Snappy:对整数或字符串进行压缩,主要用了长距离预测和游程编码(RLE),广泛的应用包括Infuxdb;
  • Simple8b:先对数据进行前后delta处理,如果相同用RLE编码;否则根据一张有16个entry的码表把1到240个数(每个数的bits根据码表)pack到8B为单位的数据中,有广泛的应用包括Infuxdb;
  • Compression planner:引入了一些general的压缩tool如scale, delta, dictionary, huffman, run length和patched constant等,然后提出了用静态的或动态办法组合尝试这些工具来进行压缩;想法挺新颖但实际性能会是个问题;
  • ModelarDB:侧重在有损压缩,基于用户给定的可容忍损失进行压缩。基本思想是把维护一个小buff,探测单前数据是否符合某种模式(斜率的直线拟合),如果不成功,切换模式重新开始buff等;对支持有损的IoT领域比较合适;
  • Sprintz:也是在IoT领域效果会比较好,侧重在8/16 bit的整数处理;主要用了scale进行预测然后用RLC进行差值编码并做bit-level的packing;
  • Gorilla:应用在Facebook高吞吐实时系统中的当时sofa的压缩算法,进行无损压缩,广泛适用于IoT和云端服务等各个领域。它引入delta-of-delta对时间戳进行处理,用xor对数据进行变换然后用Huffman编码及bit-packing。示例图如下。
  • MO:类似Gorilla,但去掉了bit-packing,所有的数据操作基本都是字节对齐,降低了压缩率但提供了处理性能;


还有很多相关的压缩算法,总的来说:

  1. 它们基本都是支持单模式,或者有限的偏static的模式进行数据的压缩;
  2. 很多为了提高压缩率,都用了bit-packing (甚至有损压缩),但对越来越广泛使用的并行计算不太友好;

3. 两阶段的基于深度学习的压缩算法

3.1 时序数据压缩的特性

时序数据来源于IoT、金融、互联网、业务管理监控等方方面面,形态特性相差很多,然后对数据精确度等的要求也不尽相同。如果只能有一种统一的压缩算法进行无差别对待地处理,那应该是基于无损的、用8B数据进行数据描述的算法。


下图是阿里云业务中一些时序数据的示例,无损是从宏观还是微观层面,数据的pattern都是五花八门的,不仅仅是形状曲线,也包括数据精度等。所以压缩算法很有必要支持尽量多的一些压缩模式,然后又可以既有效又经济地选择其中一种进行压缩。

对于一个大型的商用的时序数据压缩算法,需要重点关注三个重要的特性:

  • Time correlation:时序数据有很强的时间相关性,然后对应的数据基本上是连续的。采样间隔通常是1s,100ms等;
  • Pattern diversity:如上图,pattern及特性差距会很大;
  • Data massiveness:每天、每小时、每秒需要处理的数据量都是海量的,总体处理数据至少是在每天10P的level,对应的压缩算法需要高效且有高吞吐率。

3.2 新算法核心理念

追本溯源,数据压缩的本质可分为两阶段:首先Transform阶段把数据从一个空间转化到另外一个更规则的空间,然后在差值编码阶段用各种各样的办法较好的标识变换后的差值。


根据时序数据的特点,可以定义以下6个基本的transform primitives(可扩展)。

然后定义以下3中基本的differential coding primitives(可扩展)。

接下来把上面的两种tools排列组合进行压缩?这样可行但效果肯定是不太好,因为模式选择和相关参数的cost比重太高了,需要2B(primitive choice + primitive parameter)的控制信息,占了8B需要表达数据的25%。


更好的应该是对数据的特性进行抽象化分层表达,示意图如下。创建一个控制参数集较好的表达所有的情况,然后在全局(一个timeline)层面选择合适的参数来确定一个搜索空间(只包含少量的压缩模式,譬如4种);然后在具体进行每个点的压缩时,遍历从中选择出最好的那一种压缩模式进行压缩。控制信息的比重在~3%。

3.3 两阶段压缩框架AMMMO

AMMMO(adatpive multiple mode middle-out)整体过程分为两个阶段,第一阶段确定当前这条时间线的总体特性(确定9个控制参数的具体值);然后在第二阶段在少量的压缩模式中遍历并查找最后的一种进行压缩,具体框图如下。

第二阶段的模式选择没有难度,逻辑简单适合高效率执行;第一阶段确定各参数值(9个这里)得到合适的压缩空间有比较大的挑战,需要从理论上的300K多个排列组合选择里找出合适的那一个。

3.4 基于规则的模式空间选择算法

可以设计一种算法,譬如创建各个压缩模式的效果记录牌(scoreboard),然后遍历一个timeline里的所有点并进行分析记录,然后再经过统计分析比较等选择最好的模式。一些显而易见的问题有:

  • 选择的评估指标是否理想?
  • 需要人工去思考并编写程序,有较多的实现,debug和maintain的工作量;
  • 如果算法中的primitive,压缩模式等做了改变,整个代码都需要重构,基于上面的选择不是理论选择,需要一种自动且较智能的方法支撑不停的演化等。

4. 深度强化学习

4.1 问题建模

简化上面的整个模式空间选择算法如下图,我们可以把这个问题等同于多目标的分类问题,每个参数就是一个目标,每个参数空间的取值范围就是可选择的类目数。深度学习在图像分类,语义理解等方面证明了它的高可用性。类似地,咱们也可以把这里的模式空间的选择问题用深度学习来实现,把它当做一个multi-label的classification问题。

用什么样的网络?考虑到识别的主要关系是delta/xor, shift,bitmask等为主,cnn不恰当,full-connect的mlp比较合适。相应地,把一条时间线上的所有点,如果1小时就是3600个共3600*8B,有些太多,考虑到同一timeline内部一段一段的相似性,把32个点作为一个最基本的处理单元。


接下来,怎么去创建训练样本?怎么给样本寻找label呢?


在这里我们引入了强化学习,而不是有监督的学习去训练,因为:

  • 去创建有label的样本很难:32个样本256B,理论上sample有256^256中可能性,对每个这种样本,需要遍历300K的可能性才能找出最好的那一个。创建及选择sample,create label的工作量都非常大;
  • 这不是普通的one-class-label问题:给定一个样本,并不是有唯一的最好的一个结果,很有可能很多的选择都能取得相同的压缩效果;N class(N基本不可知)的训练又增加了很多难度;
  • 需要一种自动化的方法:压缩的tool等参数选择很有可能是需要扩展的,如果发生整个训练样本的创建等都需要重新再来。需要一种自动化的办法。

用什么样的强化学习呢?DQN,policy gradient, 还是actor-critic? 如前面分析,DQN是不太适合reward/action不连续的的情况,这里的参数,譬如majorMode 0和1是完全不同的两种结果,所以DQN不合适。此外,压缩问题一方面不容易评价另外网络也没有那么复杂,不需要actor-critic。最终我们选择了policy gradient。


Policy gradient常见的loss是用一个慢慢提高的baseline作为衡量标准来反馈当前的action是否合适,但这里并不太合适(效果尝试了也不太好),因为这里sample的理论block(256^256) state太多了一些。为此,我们专门设计了一个loss。

得到了每个block的参数后,考虑到block的相关性等。可以用统计的办法,聚合得到整个timeline的最终参数设置。

4.2 深度强化学习网络框架

整体的网络框架示意图如下:

在训练端:随机选择M个block,每个block复制N份,然后输入到有3个隐含层的全连接网络中,用region softmax得到各参数各种choice的概率,然后按照概率去sample每个参数的值,得到参数后输入到底层的压缩算法进行实际压缩并得到压缩值。复制的N个block相互比较计算loss然后做反向传播。loss的整体设计为:

fn(copi)描述了压缩效果,比N个block的均值高就正反馈,Hcs(copi)是交叉熵,希望得分高的概率越大越确定越好;反之亦然。后面的H(cop)是交叉熵作为正则化因子来尽量避免网络固化且收敛到局部最优。


在推理端,可以把一个timeline的全部或局部block输入到网络中,得到参数,做统计聚合然后得到整个timeline的参数。

5. 结果数据

5.1 实验设计

测试数据部分一方面随机选取了阿里云业务IoT和server两个大场景下共28个大的timeline;另外也选取了时序数据分析挖掘领域最通用的数据集UCR。基本信息如下:

对比算法选取了比较有对比性的Gorilla,MO和Snappy。因为AMMMO是两阶段的压缩算法框架,第一阶段的参数选择可以有各种各样的算法,这里选用了Lazy(简单粗暴的设置一些普世参数),rnd1000Avg(随机1000次取效果平均值),Analyze(用人工代码的算法)和 ML(深度强化学习的办法)等。

5.2 压缩效果对比

首先从整体压缩率来看,AMMMO两阶段自适应多模式的压缩比起Gorila/MO等有明显的效果提升,平均压缩率提升在50%左右。

然后ML的效果怎么样呢?下图在ML的视野对比了测试集B上的压缩效果,总的来说,ML相比人工精心设计的算法略好,比随机平均等明显好很多。

5.3 运行效率

AMMMO借鉴了MO的设计思想,移除了bit-packing,不仅仅在CPU上能高速运行,也特别适合于并行计算平台如GPU。此外AMMMO分两阶段,其中第一阶段的性能会差一些,但很多时候,譬如对一个特定的设备过去2天的数据,全局压缩参数是可以复用的。下图描述了整体的性能对比,实验环境为“Intel CPU 8163 + Nvidia GPU P100",其中AMMMO的代码使用了P100。

从上图中看出,AMMMO在压缩端和解压缩端都能达到GB/s的处理性能,性能指标还是很不错的。

5.4 算法学到的效果

深度强化学习训练的网络从最终效果上看着不错,那它是不是真的有学到有意义的内容呢?下标对比了3中算法在几个测试集上的表现,可以看出,ML版本的参数选择和分析算法/最优效果选择是差不多的,特别是在byte offset和majorMode的选择上。

这种压缩的全连接网络参数表象会是怎么样的?对第一层进行了参数heatmap可视化(正的参数为红色,负的为蓝色,值越大颜色越亮),如下:

可以明显看到32个点在相同的byte上有很多规则的操作,竖线(如果跨越byte则混淆情况),可以认为是在对应的位置上做delta或xor运算等。然后数字变动最大的Byte0的参数也比较活跃。


综上,深度学习学到的东西还是挺有解释性的。

6. 相关人员和致谢

在整个过程中,Yanqing peng,飞刀,汪晟,乐予,麦君和Yue Xie等一起付出了很多的努力,特别感谢飞刀老师的方向指引和总体判断;


此外,特别感谢矽厉等在工作中给予的支持,感谢德施等在业务上给予的帮助和支持。

 

原文链接

本文为阿里云原创内容,未经允许不得转载。

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

相关文章

  1. ftp工具,ftp工具专业版

    ftp工具专业版的汉化版不是很多,网络上的基本上都是英文的。所以可能会比较的难找一点。ftp工具专业版汉化版的比较符合国人的使用要求,简单方便快捷明了。那ftp工具专业版怎么配置连接呢?下面小编给大家介绍ftp工具专业版怎么配置连接吧。 使用工具:IIS7服务器管理工具 II…...

    2024/4/11 19:56:28
  2. 配置Docker镜像加速器

    阿里云镜像加速器 官网在终端中输入sudo mkdir -p /etc/docker --- sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://c5wd2c7l.mirror.aliyuncs.com"] } EOF --- sudo systemctl daemon-reload sudo systemctl restart doc…...

    2024/4/26 17:41:07
  3. [ 深度学习 - 实操笔记 ] 注意力机制

    注意力机制 注意力机制参考这篇博客中的部分:https://blog.csdn.net/jiaowoshouzi/article/details/89073944 从seq2seq说起 学完深度学习之后,我知道seq2seq这种编解码模型经常用在翻译软件上。 也就是说,要翻译的那句话首先会在一个编码模型上进行语义编码(压缩),将这段…...

    2024/5/1 16:37:07
  4. 整理一下第一次参加华为大数据挑战赛自己的一些收获吧(热身赛篇)

    写在前面 去年九月份(应该是上一届比赛结束的时候吧),学校(那时)研一的学长简单讲了这个比赛,但是觉得机器学习很高大上很牛的感觉,听说了这个比赛当时就决定冲一冲,拿不拿奖是其次了,多少能学点东西吧哈哈哈哈~ 当时是根据学长的建议入门的,边看吴恩达老师的机器学习…...

    2024/4/25 21:51:07
  5. SpringAmqp之java配置参考

    连接工厂配置/** Copyright (c) 2020. tangjianghua All rights reserved..*/package com.springamqp.rabbitmq.example.config;import com.rabbitmq.client.Channel; import com.springamqp.rabbitmq.example.config.channellisteners.ChannelListener1; import com.springamq…...

    2024/4/11 19:56:24
  6. Oracle| 下载安装

    Oralce各个版本下载地址: https://www.oracle.com/database/technologies/oracle-database-software-downloads.html...

    2024/4/11 19:56:22
  7. Lua元表与元方法解析

    Lua元表与元方法解析元表元表的概念元方法元方法的概念算术类和关系类的元方法rawget 和 rewset 方法index 元方法ipairs 和 pairsnewindex 元方法简单应用实例具有默认值的 table跟踪 table 的访问只读 table 元表 lua中的变量是没有数据类型的,值有类型。类型有八种nil,numb…...

    2024/4/27 15:44:42
  8. Android Q WifiP2pService启动流程图

    分析WifiP2pService启动流程,主要流程参考流程图从SystemServer开始分析:frameworks/base/services/java/com/android/server/SystemServer.javaprivate static final String WIFI_P2P_SERVICE_CLASS ="com.android.server.wifi.p2p.WifiP2pService";frameworks/op…...

    2024/4/19 10:30:00
  9. 解决Centos7无法全屏显示

    一、应用程序->系统工具->设置二、选择设备三、调节合适的分辨率即可。...

    2024/4/19 2:27:15
  10. Oracle| Oracle常见操作

    Oracle 是先有用户, 可以给用户对那个数据库的那个表设置指定的权限 Oracle 数据库的创建,哪些用户有权限来管理. Oracle 用户的管理,是哪些用户来管理的. Oracle 表的管理,是哪些用户来管理的. system sys sysdba system 、sys、scott,当中system和sys的差别在与是否能创建数…...

    2024/4/11 19:56:18
  11. maven思维导图

    ...

    2024/4/27 22:31:11
  12. JSONArray转换成List<T>

    常用的方法: 1.首先有一个JSONArray对象,比如是jsonArray JSONObject jsonObject1 = new JSONObject(); JSONObject1.put("username","zhangsan"); JSONObject jsonObject2 = new JSONObject(); JSONObject2.put("username","lisi");…...

    2024/4/15 13:42:47
  13. 数据化运营-优秀的运营人必备的数据预处理12条(上)

    数据预处理是数据操作过程的重要组成部分,它直接确定所有后续数据工作的质量和价值输出。从数据预处理的主要内容出发,包括数据的清理,转换,缩减,聚合,采样等。由于全部篇幅较长将12个条原则拆分成上、中、下三篇。 本3篇文章不讲技术只介绍业务思路,具体操作代码可以参…...

    2024/4/27 13:15:50
  14. Nginx实战教程大神必经之路4:Nginx反向代理

    1.1 概述1.1.1 代理在 Java 设计模式中,代理模式指:给某个对象提供一个代理对象,并由代理对象控制原对象的引用。简单来说就是我想要买一套房,但是这需要我自己去跑楼盘,看房子,比较麻烦,然后我就去做中介的朋友哪里,让他帮我搞定,我付钱就好了。这就是代理的思想,娱…...

    2024/4/23 16:06:51
  15. lca_trajan

    package LCA;import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Arrays; import java.util.Scanner;/*** @Author: * @Date : 2020/8/20 8:44* Tarjan算法基于深度优先搜索的框架,对于新搜索到的一个结点,首先创…...

    2024/4/16 9:46:44
  16. 无处下手,输入的为标准长度是啥意思,字符分割函数怎么运用啊

    ...

    2024/4/14 12:55:56
  17. 《Python 测试开发技术栈—巴哥职场进化记》—每日站会的意义

    上文《Python测试开发技术栈—巴哥职场进化记》—一道作业题我们讲到华哥给巴哥出了一道作业题,让巴哥用Python实现记录日志的功能,巴哥历经“千辛万苦”,终于做出了一个版本,但是也意识到当前由很多开源方案可供选择。今天我们来看看巴哥会经历哪些事情,精彩还在继续………...

    2024/4/17 5:47:09
  18. Docker中bash等快捷键“失灵”解决办法

    博文背景 在我们使用docker容器中的bash时,会经常感受到快捷键失灵等现象,尤其是在使用Ctrl + P向上翻动命令行时现象会更为明显,那么这是怎么回事呢? 具体操作 在docker中,暂时deatch命令行终端的快捷键是Ctrl + P + Q其实也可以先Ctrl + P再Ctrl + Q所以这个里面Ctrl + …...

    2024/4/25 16:15:07
  19. ASP网站在手机上访问时出现布局混乱的解决办法

    在控件加个最小宽度的属性即可,如下min-width:300px效果如下:...

    2024/4/22 11:42:25
  20. Python要点

    Python要点一、Python语言 1.1 Python语言基本概念 官方介绍: Python是一款易于学习且功能强大的编程语言,它具有高效率的数据结构,能够简单又有效地实现面向对象编程。Python简洁的语法与动态输入之特性,加之其解释性语言的本质,使得它成为一种在多种领域与绝大多数平台都…...

    2024/5/1 11:33:03

最新文章

  1. 信息安全-古典密码学简介

    目录 C. D. Shannon: 一、置换密码 二、单表代替密码 ① 加法密码 ② 乘法密码 ③密钥词组代替密码 三、多表代替密码 代数密码 四、古典密码的穷举分析 1、单表代替密码分析 五、古典密码的统计分析 1、密钥词组单表代替密码的统计分析 2、英语的统计规…...

    2024/5/8 13:10:38
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/7 10:36:02
  3. 01背包问题 小明的背包

    2.小明的背包1 - 蓝桥云课 (lanqiao.cn) #include <bits/stdc.h> using namespace std; const int N1010;//开始写的105 开小了 样例过了但最后只过了很少一部分 int n,m; int v[N],w[N]; int f[N][N];int main() {cin>>n>>m;for(int i1;i<n;i){cin>&…...

    2024/5/5 8:41:06
  4. C++ //练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。

    C Primer&#xff08;第5版&#xff09; 练习 11.14 练习 11.14 扩展你在11.2.1节练习&#xff08;第378页&#xff09;中编写的孩子姓到名的map&#xff0c;添加一个pair的vector&#xff0c;保存孩子的名和生日。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#x…...

    2024/5/5 8:38:52
  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/5/7 19:05:20
  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/5/7 22:31:36
  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/5/8 1:37:40
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

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

    2024/5/7 14:19:30
  9. VB.net WebBrowser网页元素抓取分析方法

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

    2024/5/8 1:37:39
  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/5/7 16:57:02
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

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

    2024/5/7 14:58:59
  12. 【ES6.0】- 扩展运算符(...)

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

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

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

    2024/5/7 21:15:55
  14. Go语言常用命令详解(二)

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

    2024/5/8 1:37:35
  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/5/7 16:05:05
  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/5/7 16:04:58
  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/5/8 1:37:32
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

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

    2024/5/7 16:05:05
  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/5/8 1:37:31
  20. 基于深度学习的恶意软件检测

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

    2024/5/8 1:37:31
  21. JS原型对象prototype

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

    2024/5/8 12:44:41
  22. C++中只能有一个实例的单例类

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

    2024/5/8 9:51:44
  23. python django 小程序图书借阅源码

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

    2024/5/8 1:37:29
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

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

    2024/5/7 17:09:45
  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