精华内容
下载资源
问答
  • OpenStack 虚拟机/迁移的实现原理与代码分析
    千次阅读
    更多相关内容
  • 数据库优化整理之:冷热分离

    千次阅读 2021-01-13 10:52:43
    、 引言 工作中,随着数据库表数据量的增大,我们会发现,对表数据的读写操作会变得越来越慢,有时候查询条数据会耗费几十秒或几分钟才查出结果,甚至...为了更好的理解冷热分离的概念,我们先了解下什么时候数据

    一、 引言

    工作中,随着数据库表数据量的增大,我们会发现,对表数据的读写操作会变得越来越慢,有时候查询一条数据会耗费几十秒或几分钟才查出结果,甚至多点击几次查询还会出现宕机。

    这个时候,我们可能首先会想到通过对表结构、业务代码、索引、SQL语句等方面进行优化,以此来提高读写操作响应速度。然而,对于表数据量相对较大的情况,我们发现优化效果有限,并未达到预期效果。

    此时,我们可以考虑是否可以通冷热分离来提升读写、查询效率。


    二、 什么是冷热分离?

    为了更好的理解冷热分离的概念,我们先了解下什么是热数据,什么是冷数据。

    热数据
    热数据指的是需要即时对用户进行分发的数据,即从数据源抓取之后经过数据处理,需要即时存储到可快速分发的存储介质供API或直接面向用户的系统使用。
    热数据需要重点保障服务质量和稳定性,为了保证数据的时效性,在数据处理上也是优先级高的数据。


    冷数据
    冷数据指的是不需要即时发给用户的数据。
    这些数不会原样分发给用户,它们需要经过长期的积累,使我们可以从中得到基于此更高层次的分析。


    冷热分离
    冷热分离指的是在处理数据时将数据库分为冷库和热库,冷库指用于存放走到了终态的数据(冷数据)的数据库,热库用于存放还需要修改的数据(热数据)的数据库。


    三、 什么情况下使用冷热分离?

    从冷热分离的定义我们可以知道当业务需求涉及到冷热数据,表数据量增长速度快或数据量较大时, 我们就该考虑是否使用冷热分离解决方案了。比如:
    1)数据走到终态后,只有读没有写的需求。
    2)用户能够接受新旧数据分开实现业务,比如查询新旧数据的时候分开操作。


    四、 冷热分离实现思路

    在这里插入图片描述


    4.1 如何判断一个数据到底是冷数据还是热数据?

    一个数据是冷数据还是热数据,需要根据实际的业务需求来制定判定条件。满足热数据条件的归为热数据,满足冷数据条件的归为冷数据。

    判定条件可以是表里的1个字段或多个字段组合的方式组成。
    时间、状态等都是比较适合用作判定条件的字段。

    比如,我们管理一个订单系统,针对订单主表,我们可以使用下面两种方式作为冷热数据的界定:

    • 方式1:使用“下单时间”字段作为判定条件,3个月内的订单数据作为热数据,3个月前的订单数据作为冷数据。
    • 方式2:使用“完结状态”字段作为判定条件,未完结的订单作为热数据,已完结的订单作为冷数据。

    关于判断冷热数据的逻辑,这里还有 2 个注意要点必须说明:
    1)如果一个数据被标识为冷数据,业务代码不会再对它进行写操作;
    2)不会同时存在读冷/热数据的需求。


    4.2 如何触发冷热数据分离?

    一般来说,冷热数据分离的触发实现有3种方式:业务层代码实现、binlog实现、定时扫描数据库实现

    (一)业务层代码实现
    在代码中实现,当有对数据进行写操作时,触发冷热分离。
    建议使用场景:业务代码比较简单,并且不按照时间区分冷热数据时使用。
    在这里插入图片描述


    (二)binlog实现
    监听数据库变更日志binlog的方式来触发。
    建议使用场景:业务代码比较复杂,不敢随意变更,并且不按照时间区分冷热数据时使用。
    在这里插入图片描述

    实际使用binlog方式实现过程中,我们可能会遇到以下问题:

    问题描述:
    定时任务删除数据时,也会产生binlog,如何区别数据的删除是定时任务产生的,还是正常的业务?

    解决方案:
    我们可以通过设置binlog的session级别,也就是在此session中操作的语句,并不会产生binlog。

    set session sql_log_bin=0;//optset session sql_log_bin=1;
    

    我们在定时任务执行时,先关闭binlog,然后,执行删除语句,然后,重新恢复binlog。这些删除的数据,就不会通过canal同步到冷库中了。


    (三)定时扫描数据库实现
    通过定时扫描数据库的方式来触发。
    建议使用场景:在按照时间区分冷热数据时使用。
    在这里插入图片描述


    3种触发方式的优缺点比较
    在这里插入图片描述


    4.3 如何实现冷热数据分离?
    冷热数据分离示意图如下:
    在这里插入图片描述
    上述分离逻辑看起来比较简单,不过在实际方案实施的时候,我们需要考虑以下情况:

    (1)一致性:同时修改多个数据库,如何保证数据的一致性?

    情形描述:一致性要求指的是,当分离过程中如何保证任何一步出错后数据还是一致的。
    解决方法:保证每一步都可以重试,并且操作都有幂等性。

    具体逻辑分4步:

    • 在热数据库中,给要搬的数据加个标识: ColdFlag=WaittingForMove。(实际处理中标识字段的值用数字即可)
    • 找出所有待搬的数据(ColdFlag=WaittingForMove):这步是为了确保前面有些线程因为部分原因失败,出现有些待搬的数据没有搬的情况。
    • 在冷数据库中保存一份数据,但在保存逻辑中需加个判断以此保证幂等性(这里需要用事务包围起来),通俗点说就是假如我们保存的数据在冷数据库已经存在了,也要确保这个逻辑可以继续进行。
    • 从热数据库中删除对应的数据。


    (2)数据量:假设数据量大,一次性处理不完,该怎么办?是否需要使用批量处理?

    情形描述:定时扫描的逻辑需要考虑数据量问题。
    解决方法:在搬数据的地方增加批量逻辑。

    如:假设我们每次可以搬50条数据
    a. 在热数据库中给要搬的数据加个标识:ColdFlag=WaittingForMove;
    b. 找出前 50 条待搬的数据(ColdFlag=WaittingForMove);
    c. 在冷数据库中保存一份数据;
    d. 从热数据库中删除对应的数据;
    e. 循环执行 b。


    (3)并发性:假设数据量大到要分到多个地方并行处理,该怎么办?

    情形描述:数据量过大,以致单线程无法处理时,我们使用多线程需要考虑哪些问题。

    step1:如何启动多线程?

    • 方式1:采用的是定时器触发逻辑,设置多个定时器,并让每个定时器之间的间隔短一些,然后每次定时启动一个线程就开始搬运数据。

    • 方式2:自建一个线程池,然后定时触发后面的操作:先计算待搬动的热数据的数量,再计算要同时启动的线程数,如果大于线程池的数量就取线程池的线程数,假设这个数量为 N,最后循环 N 次启动线程池的线程搬运冷热数据。

    step2:某线程宣布某个数据正在操作,其他线程不要动(锁)

    • 获取锁的原子性: 当一个线程发现某个待处理的数据没有加锁,然后给它加锁,这 2 步操作必须是原子性的,即要么一起成功,要么一起失败。实际操作为先在表中加上 LockThread 和 LockTime 两个字段,然后通过一条 SQL 语句找出待迁移的未加锁或锁超时的数据,再更新 LockThread=当前线程,LockTime=当前时间,最后利用 MySQL 的更新锁机制实现原子性。
    • 获取锁必须与开始处理保证一致性: 当前线程开始处理这条数据时,需要再次检查下操作的数据是否由当前线程锁定成功,实际操作为再次查询一下 LockThread= 当前线程的数据,再处理查询出来的数据。
    • 释放锁必须与处理完成保证一致性: 当前线程处理完数据后,必须保证锁释放出去。

    step3:如果出现某线程正常处理完后,数据不在热库,直接跑到了冷库,这是正常的,无需处理。

    step4:某线程失败退出了,结果锁没释放怎么办(锁超时)?
    分两种情况处理:

    • 如果锁定这个数据的线程异常退出了且来不及释放锁,导致其他线程无法处理这个数据:解决方案为给锁设置一个超时时间,如果锁超时了还未释放,其他线程可正常处理该数据。
    • 如果正在处理的线程并未退出,因还在处理数据导致了超时:解决方案为尽量给超时的时间设置成超过处理数据的合理时间,且处理冷热数据的代码里必须保证是幂等性的。

    考虑到前面逻辑比较复杂,这里我们特地画了一个分离的流程图,如下图所示:
    在这里插入图片描述


    4.4 如何使用冷热数据?
    如何使用冷热数据,需要根据实际业务需求来定。
    比如我们要查询未完结订单,这个时候使用的就是热库中的数据。
    在这里插入图片描述

    需要注意的是:
    在判断数据是冷数据还是热数据时,必须确保用户不允许同时有读冷热数据的需求。


    五、 冷热分离整体方案及不足


    5.1 冷热分离整体方案
    在这里插入图片描述


    5.2 冷热分离解决方案的不足

    冷热分离确实可以在某种程度上解决写读写数据慢的问题,但是仍然存在诸多不足。具体表现有:
    1)用户查询冷数据速度依旧很慢。
    2)由于冷数据多到一定程度,业务就无法再修改冷数据,因为数据量太大系统承受不住。

    展开全文
  • 知道是不是翻译问题,在查阅官方文档的过程中,遇到了一些表述含义接近的名词,个人认为这是对同个单词的... 有“暖启动”、“启动”和“启动”三种启动模式,本文详述。用户可指定S7-CPU上电时的启动类型。 .

    在这里插入图片描述

    不知道是不是翻译问题,在查阅官方文档的过程中,遇到了一些表述含义接近的名词,个人认为这是对同一个单词的几种不同翻译,因此在文章中,将这几种名词进行合并,只给出了最贴切的名词。

    1 S7-CPU 操作模式的原理

    正常情况下,S7-CPU具有以下操作模式:
    STOP(停止): CPU 处于“STOP”操作模式时,不执行用户程序。
    STARTUP(启动):接通 CPU 后,先执行启动程序再执行用户程序。 有“暖启动”、“热启动”和“冷启动”三种启动模式,本文详述。用户可指定S7-CPU上电时的启动类型。
    RUN(运行):CPU 执行用户程序、更新输入和输出、并处理中断和错误消息。
    HOLD(暂缓):CPU暂停执行用户程序,适用于设备调试时。

    此外还有断电故障两种其它操作模式。

    摘自官方文档《S7-CPU操作模式的原理》

    2 STARTUP模式

    本文以S7-400为例,这是因为S7-400具备全部的STARTUP模式,并非所有的CPU都具备这三种启动模式,例如热启动便是S7-400独有的。

    除了重上电的情况下将历经STARTUP模式,当操作模式选择开关由STOP模式切换至RUN模式时也将触发STARTUP模式。

    2.1冷启动

    冷启动模式下,将从头开始重新执行程序。
    冷启动过程中,所有数据都被重置为存储在程序中的起始值,而与这些数据组态为可保持还是不可保持无关。

    2.2暖启动

    暖启动是PLC的默认启动方式。

    暖启动模式下,程序执行在调用第一个启动 OB 时开始。
    与冷启动过程不同的是,暖启动过程中,所有非保持性位存储器内容都将被删除,并且所有非保持性数据块内容将被复位为程序设定的起始值;保持性位存储器和保持性数据块中的内容将被保留。

    暖启动有手动暖启动自动暖启动两种方式,效果一致,触发方式不同。此外还有“不带备用电池的自动段启动”。

    2.2.1手动暖启动

    手动暖启动在以下任意情况下生效:

    1. 操作模式选择开关;
    2. 编程设备的菜单命令或通过某种通信功能(这时操作模式选择开关为 RUN);

    2.2.2自动暖启动

    自动暖启动是指当接通电源时,自动进入暖启动模式,在以下任意情况下生效:

    1. 电源关闭时,CPU 不处于“STOP”操作模式;
    2. 操作模式选择开关(即PLC上的物理拨动开关)为“RUN”;
    3. 暖启动时由于电源故障中断了 CPU。 这与是否分配 STARTUP 操作模式无关;

    2.2.3不带备用电池的自动暖启动

    如果 CPU 运行时没有备用电池,则在接通电源之后或电源关闭再接通时,CPU 会自动进行存储器复位,然后执行“暖启动”。 用户程序必须保存在闪存 EPROM(存储卡)上,以便可将用户程序再次复制到工作存储器;如果CPU未插入存储卡,则每次关机一段时间后,需要重新下载程序(短时间关机的情况下,数据将被保留,通常只有几分钟的时间)。

    2.3热启动

    这种启动模式仅适用于 S7-400,且CPU需具备备用电池(用于数据保持)。

    在热启动过程中,所有数据和过程映像都会保持其最后有效值,用户程序将从进程中断处继续执行。 在电源故障前未处理的那部分用户程序,将认为是循环剩余部分。 循环剩余部分也可包含时间和中断控制的程序部分。

    暖启动有手动热启动自动热启动两种方式,效果一致,触发方式不同。

    2.3.1手动热启动

    只有 CPU 设置的参数正确而且在发生以下原因的 STOP 时,才可以进行手动热启动:

    1. 操作模式选择开关从 RUN 切换到 STOP;
    2. 通过用户编写的 STOP,在调用未装载的 OB 后转入 STOP;
    3. 由编程设备或通信功能导致的 STOP 状态;

    2.3.2自动热启动(自动重启)

    如果 CPU 在电源关闭时,不在 STOP 模式或 HOLD 模式,则上电后将触发自动热启动。 注意触发条件为在启动参数中未禁用热启动。
    在这里插入图片描述

    关于CRST/WRST开关

    冷启动 (CRST) 或暖启动 (WRST)
    S7-400部分CPU独有。

    PORTAL中切换上电后启动模式

    打开CPU属性:
    在这里插入图片描述
    可在此选择上电后启动模式:
    在这里插入图片描述
    默认模式为暖启动。

    3关于网络上对STARTUP模式的一种误解

    在网络上搜索到了一篇资料,其最后对STARTUP模式的总结为:
    在这里插入图片描述
    在这里插入图片描述
    个人认为其见解是不正确的,其最大的问题在于只讲到此三类启动方式的某一方面,没有概括完全。
    ●关于冷启动
    “冷启动是断电后重新上电的一种启动”,这种说法的问题在于(自动)暖启动或(自动)热启动也是断电后重新上电的一种启动,因此这种说法缺乏精确性;此外PLC的重上电启动方式一般为(自动)暖启动。
    如果把这句话改为,“当电源关闭时CPU处在“STOP”操作模式,则断电后重新上电的启动方式为冷启动” 是正确的。
    ●关于暖启动
    文中所讲应该为手动暖启动方式,问题在于手动热启动方式也可通过此方法触发。
    ●关于热启动
    如文中所言此操作可以触发自动热启动,但仅限于S7-400,其它CPU在执行此操作时只触发手动热启动。

    附录·备用电池的作用:PLC的断电保持特性

    为避免断电时丢失数据,可设定保持存储区保持性数据包括那些存储在 CPU 保持性存储区中,即使在电源关闭时仍然保留的变量、数据或块。
    CPU携带备用电池与否将影响到CPU的保持性。在三种启动方式中,热启动必须携带备用电池,,因此备用电池主要影响冷启动和暖启动下的保持性(特别是暖启动)。

    以S7-300/400为例,带备用电池的 CPU 的保持性:
    在这里插入图片描述

    不带备用电池的 CPU 的保持性:
    在这里插入图片描述

    摘自官方文档《断电后的保持特性》

    附录·CPU的几种存储器

    存储器分为装载存储器、系统存储器和工作存储器。

    关于装载存储器
    装载存储器存放用户项目中不包括符号地址分配或注释的所有用户程序和数据。装载存储器分为内部装载存储器外部装载存储器。每个 CPU 都具有内部装载存储器,即内部集成的RAM。可以用外部存储卡来替代该内部装载存储器:如果未插入存储卡,CPU 将使用内部装载存储器;如果插入了存储卡,CPU 将使用该存储卡作为装载存储器,同时擦除内部装载存储器中的数据。
    外部存储卡有RAM卡FEPROM卡两种,RAM卡跟CPU内置的RAM区形成无缝连接,完成扩展功能;FEPROM与内置RAM区各自独立,新型S7-300 CPU使用MMC卡作为装载存储器。

    装载存储器功能类似ROM,内部装载存储器其掉电实现方法为内部集成RAM+备用电池。

    关于工作存储器
    工作存储器是非保持性存储器区域(可部分掉电保持,即设置保持性DB),用于存放运行相关的程序和数据。用户程序只能在工作存储器和系统存储器中执行。工作存储器集成在CPU中不能扩展(极少部分型号支持),通过后备电池保持。

    工作存储器功能类似RAM,不同的地方在于工作存储器可以部分掉电保存。

    工作存储器中保持性 DB 的内容在重启和电源开/关时始终保留;在重新启动或电源开/关时,将使用非保持性 DB 的起始值,从装载存储器中初始化非保持性 DB。

    ==工作存储器、集成的装载存储器和RAM扩展的装载存储器都需要后备电池保持;==保持性存储器的内容即使在断电或重新启动(暖启动)时也能被保留。

    S7-300CPU存储器介绍及存储卡使用
    S7-400CPU存储器介绍及存储卡使用

    总结

    首先关于西门子PLC的启动方式,总共有三种,冷启动、暖启动和热启动,热启动只有S7-400的部分型号才有

    三者的区别主要在于数据保持性:
    冷启动:此过程中,所有数据都被重置为存储在程序中的起始值;
    暖启动:此过程中,非保持性存储器内容复位,保持性存储器内容保留;
    热启动:此过程中,所有数据和过程映像都会保持其最后有效值,用户程序将从进程中断处继续执行;

    用户可以通过PORTAL设置重上电时的启动方式,默认为暖启动;供电情况下S7-400在STOP->RUN时的启动方式默认为热启动,参数中手动禁用后则为暖启动

    为什么热启动必须使用后备电池,首先讲一下西门子PLC的存储器特性:

    西门子PLC的存储器分为3种,装载存储器、工作存储器和系统存储器,后备电池主要和前两者有关:
    装载存储器存储用户程序,工作存储器存储运行相关的程序和数据。工作存储器掉电不保持,内部装载存储器同样掉电不保持,若插入存储卡,则掉电保持。

    显然热启动需要装载存储器和工作存储器的数据同时存在。
    插入存储卡,电源断电情况下,PLC利用备用电池保持工作存储器数据实现热启动;如果没有备用电池供电,则工作存储器的数据丢失,将无法实现热启动。

    上述所指的热启动方式为自动热启动方式,于重上电时触发。实际上热启动分为手动热启动和自动热启动,满足生效条件的情况下,手动热启动于STOP->RUN时手动触发

    显然在手动条件下并没有要求系统重上电,此时存储器数据供电保持,那么在没有备用电池的情况下,是否能触发手动热启动模式,这个在文档中并未提及,但就个人从理论上认为,应该是可以实现的。

    最后,通常启动方式选用暖启动,其它方式相当少见。
    在这里插入图片描述

    展开全文
  • 今天下午开会讨论个业务方的需求,我去旁听,领导提了句“数据”,当时心里脸蒙蔽,数据还能有温度? 脸懵逼的网络图.jpeg 临下班的时候,整理今天的会议笔记,看到了打着问号的数据,于是决定查...

    文|乡野山人左大瑞
    今天下午开会讨论一个业务方的需求,我去旁听,领导提了一句“热数据”,当时心里一脸蒙蔽,数据还能有温度?

                                                                                一脸懵逼的网络图.jpeg

    临下班的时候,整理今天的会议笔记,看到了打着问号的热数据,于是决定查一查到底是什么。

    下面会从两个层面上来说:一个是数据的访问频次层面,一个是数据分析层面。

     

    一,访问频次

    从字面意思来简单的说,热数据就是访问的多,门庭若市,自带体温且有可能摩擦起热,你懂的,于是温度就起来了。冷数据就是基本上没什么客人来访,门庭冷落车马稀,没人气儿,空气里都冷了几分。

    热数据:是需要被计算节点频繁访问的在线类数据。
    冷数据:是对于离线类不经常访问的数据,比如企业备份数据、业务与操作日志数据、话单与统计数据。

    两个不同的访问频次,就导致了在数据库搭建的各自不同,有一句话简单明了:

    热数据就近计算,冷数据集中存储

    所以,热数据因为访问频次需求大,效率要求高,所以就近计算和部署;冷数据访问频次低,效率要求慢,可以做集中化部署,而基于大规模存储池里,可以对数据进行压缩、去重等降低成本的方法。

    由此看来,数据基于访问频次部署的好的话还能给公司节省服务器,这就造福了多少因为服务器夭折的项目。

                                                                                      以视频为例的冷热存储

     

    二,数据分析层面

    这两年,互联网公司开始打数据的旗号增加公司价值和估值,比如我上家公司,是一个传统体检行业下的互联网子公司,是希望把做体检积累了很多年的数据进行分析,做健康管理和大病预测。以为这个海量数据,真的是吸引了很多高才能人事,也是我和科学家们打交道最多的一份工作,有医学博士、数据科学家、图像处理穿甲、返聘的主任医师。
    但是但是,在建立数据模型的时候发现,这些数据只是刚刚起步,还处于数据清洗的阶段,甚至有些数据,还不能很好的指标化,文字化。
    所以,就算打着大数据的旗号,也无奈的没能做出数据分析的事情,所以在生产数据的时候,做好数据部署和数据分析的准备,提前做好字段拆分,埋点部署……

    从数据分析的层面来看,不仅有冷热两种数据,还有温数据,而提出这个概念的是个灯,个灯是这么介绍的:

    个灯独有的数据技术引擎:冷数据、温数据和热数据。

    • 冷数据——性别、兴趣、常住地、职业、年龄等数据画像,表征“这是什么样的人”;
    • 温数据——近期活跃应用、近期去过的地方等具有一定时效性的行为数据,表征“最近对什么感兴趣”;
    • 热数据——当前地点、打开的应用等场景化明显的、稍纵即逝的营销机会,表征“正在哪里干什么”。

    它基于这三个不同温度的数据,打造了个灯的三条业务线,志在打造个灯广告产品生态圈,多多赚钱。

    个灯将其说成是数据技术引擎,对于我来说,这个的层面更像是数据的分析和应用层面,上面的第一点说的是打地基,而第二点更像是盖楼还是盖房。

    个灯的三温度赚钱工具zhuan qian zApp

    不管是哪个层面的,当数据动起来的时候,才会产生价值,而数据的价值,就像是一座有无数宝藏的矿山,挖矿的人对于数据的洞察力、提取力和分析力决定了他能挖出钻石还是煤炭。

    互联网发展的太快,快到政府意识到的时候,都有点儿跟不上节奏了,所以现在海量的数据在各个公司下,没有有效且有力的监管。总有一天,数据全权开放给政府,数据共享,到了那一天,数据将比自己更了解我们。而那个时候,是不是就像《未来简史》里说的,我们都有一个比我们自己更懂自己的机器人管家,想想其实有点儿小恐怖,毕竟我心里有一些小秘密,没有告诉任何人。



    作者:乡野山人左大瑞
    链接:https://www.jianshu.com/p/053ba529bf02/
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • 冷热电三联供算例

    千次阅读 2018-08-03 15:27:29
    周六日,采用市网运行 设计原则: 以办公楼最低电负荷为标准选配发电机,产生的余热即烟气和缸套水进入烟气热水型直燃机和板式换器制冷制。 机组选型: 电负荷:0.03×20000=600KW 负荷:0.05×20000=...
  • 在数据中心机房中,为了实现能源的高可利用率,一般都会考虑设置封闭式通道,与之配套的自然还有环监控系统。封闭通道环监控系统对精密配电、EPD、UPS、空调、温湿度、烟感等进行实施监控,并可实现与消防...
  • 2.redis的数据和数据? 2.1 方案 配合SSDB 2.2 redis的lru? 2.3数据的冷热? 2.4建议 1.二八定律 网站访问数据的特点大多数呈现在"二八定律":80%的业务访问集中在20%的数据上。这时为了减轻数据的压力...
  • 我的第份实习——钛科技

    千次阅读 多人点赞 2020-09-20 09:34:35
    到了今天,才想起应该给第份实习留下点什么,我认为自己是个比较喜欢总结的人,第份实习于我而言,其实是影响很大,成长很多的次经历,那么我应该为它写点什么,待日后回忆起来,至于对于第份实习的记忆...
  • Android 启动 启动 测试

    千次阅读 2017-12-29 09:04:11
    Android 启动 启动 测试 启动呢:就是你已经打开过APP但是实际上面你使用home键等。就是还存在后台的应用。再次打开的时候算是属于启动了。 启动呢:属于你第次打开APP,系统在给你开个进程。  这...
  • 众所周知GPS接收机定位的时候,需要两种基本信息,种卫星星历和卫星的观测数据(伪距、载波相位、测距码)。定位的条件星历和卫星的观测数据,缺一不可。...星历直接从是中频信号中剥离,一般受接收机的特性影...
  • 读书笔记之一动气,你输了一半

    千次阅读 2018-08-24 12:56:42
    作者:慧闻前言一动气,身体很受伤。气伤脑,气伤神,气伤肤...一动气,气打一处来,拿东西发泄,把东西摔得粉碎,毁了东西又赔钱。一动气,怒火中烧,会铤而走险,最终小不忍则乱大谋,功败垂成。一动气,会...
  • 使用云主机,硬件层面可控,只能从软件和设计角度去考虑了 优化手段 优化原理 说明 将(Long.MAX_VALUE – timestamp)加到rowkey 如果最近写入HBase表中的数据是最可能被访问的,可以考虑将时间戳...
  • ----------案例:KVM图形界面动态迁移---------什么是动态迁移(迁移)?在保证虚拟机上服务正常运行的同时,将个虚拟机系统从个物理主机移动到另个物理主机的过程,要基于共享存储。什么是迁移?在虚拟机...
  • 启动、启动时间性能优化

    千次阅读 2018-01-05 13:35:24
    个启动速度慢的应用程序符合这个期望,可能会令用户失望。 这种糟糕的体验可能会导致用户在应用商店中对您的应用进行糟糕的评价,甚至完全放弃您的应用。 本文档提供的信息可帮助您优化应用的启动时间。 它...
  • 目录 文章目录目录迁移的应用场景迁移的类型迁移迁移迁移时需要处理的数据类型迁移的运行场景 迁移的应用场景 当物理服务器发生故障修复时,或当物理服务器...、即冷冻,数据的冷冻,存在动态数据的...
  • Redis混合存储-冷热数据识别与交换

    千次阅读 2018-07-18 00:06:04
    背景Redis混合存储产品是阿里云自主研发的完全兼容Redis协议和特性的混合存储产品。通过将部分数据存储到磁盘,在保证绝大部分访问性能下降的基础上,大大降低了用户成...
  • ocata 迁移和迁移

    千次阅读 2017-11-29 10:42:32
    云主机迁移,即:将台云主机从个计算节点上,迁移到另外个计算节点上。但是迁移到另外的计算节点时的这段时间虚拟机实例是处于宕机状态的。在此情况下,实例需要重启才能工作。因为环境原因,所以我们需要...
  • 部署与加载的区别

    千次阅读 2018-09-14 15:15:59
     加载的实现原理主要依赖java的类加载机制,在实现方式可以概括为在容器启动的时候起条后台线程,定时的检测类文件的时间戳变化,如果类的时间戳变掉了,则将类重新载入。对比反射机制,反射是在运...
  • 动力电池组已在混动/电动汽车中占有十分重要的地位,其性能直接影响...为了给大家提供个充分沟通、学习的平台,探讨电池管理的前沿技术,中国汽车技术培训网(www.auttra.com)特举办“动力电池管理设计与仿真...
  • (fuel)openstack 迁移+迁移

    千次阅读 2018-05-28 21:43:31
    前言:在已经搭建好的openstack上进行虚拟机迁移,在此之前需要先创建个虚拟机实例,具体创建过程自行百度(随便创建一下好了,作为demo也需要这个实例能联网啥的),参考博客openstack迁移。最后,本篇的...
  • 用前端代码编写个动态的罗盘时钟

    万次阅读 多人点赞 2021-01-11 13:43:49
    用前端代码编写个动态的罗盘时钟前言、代码如下1.index2.js3.css页面效果 前言 今天给大家分享个罗盘时钟的前端代码,喜欢的小伙伴帮忙点赞一下噢! 、代码如下 1.index <!DOCTYPE html> <...
  • Android 修复实现原理

    千次阅读 2022-04-03 15:57:37
    Bug 需要及时修复的时候,如果按照传统的方式,这需要去解决 Bug、测试打包重新发布,而用户也需要重新安装你发布的新版本才能解决这个 Bug,使用这个时候可以使用修复去进行及时修复,而且需要发布新的版本,...
  • 爱你像爱生命——王小波·李银河
  • 设计总结

    千次阅读 2019-11-22 23:28:45
    总体概述:笑谈设计书,看似简单的叙事情节穿插技术分析,实际上包含了作者多年的经验和能力,本次阅读为浅读,大概了解 了相关的设计尝试和一些技术经验。从而拓展己在电子电路设计和产品设计中关于设计的...
  • 个启动速度慢的应用程序符合这个期望,可能会令用户失望。 这种糟糕的体验可能会导致用户在应用商店中对您的应用进行糟糕的评价,甚至完全放弃您的应用。  如果是对原来的类方法修改,那么启动非常好用;...
  • 然而,这并是苹果应用商店第次因为“更新”而作出如此大规模的动作。不过,此次多款知名应用遭遇突然下架,也体现出苹果对其封闭生态系统的强力维护。数据显示,年初至今苹果商店中国区单日超万款APP下架的...
  • 笑话精选句话笑话精选,脑筋急转弯笑话精选段子小明滚出去! 1.清洁阿姨说给我介绍个女朋友,是个大二的老师。老激动了,没想到单身三十多年临了还能找到个美女大学老师。后来见了面才知道,她是小太阳...
  • 传导和对流

    千次阅读 2020-10-28 16:55:25
    热量传递的三种基本方式:传导,对流和辐射。 基本概念: 传导:通常也称为导热,是物体内部或相互接触的物体表面之间,由于分子、原子及电子等微观粒子的运动而产生的热量传递现象。导热依赖两个基本...
  • ARM上的linux如何实现无线网卡的插拔和插拔 fulinux凌云实验室 1.插拔 如果在系统上电之前将RT2070/RT3070芯片的无线网卡(以下简称wlan)插上,即插拔。我们通过分析系统启动流程过程中的运行的脚本,...
  • 配置文件加载的go语言实现

    千次阅读 2018-07-25 10:18:07
    假设组服务部署在10台机器上,你需要借助批量运维工具执行重启命令,而且10台同时重启可能还会造成服务短暂可用。要是更新配置后,服务自动刷新配置多好...今天我们用go实现配置文件加载的小功能,以后更新...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,919
精华内容 16,767
关键字:

不动就冷一动就热