精华内容
下载资源
问答
  • 同步 一种 2 路文件同步工具,如 Dropbox。...HSync-客户端 客户端 HSync-服务器 HSync-服务器-API 实现客户端和服务器通信的 API。 HSync-通用 可以在客户端和服务器中找到的组件。 例如,数据类型定义等。
  • 同步 一种 2 路文件同步工具,如 Dropbox。...HSync-通用 可以在客户端和服务器中找到的组件。 例如,数据类型定义等。 HSync-客户端 客户端 HSync-服务器 HSync-服务器-API 实现客户端和服务器通信的 API。
  • 在液晶面板的TTL和LVDS接口中,包括的信号主要有RGB数据信号、像素时钟信号DCLK、行同步信号HS、场同步信号VS及有效显示数据选通信号DE。所有液晶面板都需要输入RGB数据和像素时钟DCLK,但其使用同步信号的方式却...

           在液晶面板的TTL和LVDS接口中,包括的信号主要有RGB数据信号、像素时钟信号DCLK、行同步信号HS、场同步信号VS及有效显示数据选通信号DE。所有液晶面板都需要输入RGB数据和像素时钟DCLK,但其使用同步信号的方式却不同。

    (1)仅使用DE同步信号液晶面板
    这种液晶面板不需要输入行同步信号HS和场同步信号VS,只需要输入DE作为同步信号使用即能正常工作。液晶面板的行同步信号输人端和场同步信号端一般都需要接低电平,否则不能正常工作。

    (2)同时使用DE/HS/VS同步信号液晶面板
    这种液晶面板需要同时输入有效显示数据选通信号DE、行同步信号HS、场同步信号VS才能正常工作。

    (3)液晶面板单像素/奇偶像素数据输入模式及信号定时
    液晶显示器驱动板向液晶面板传送RGB数据信号的方式有两种:一种为单像素模式(单路方式);另一种为奇偶双像素模式(双路方式),将RGB数据分为奇数像素和偶数像素两路向液晶面板传送。图2所示为双像素(双路)R(站数据传送方式(以1024×768液晶面板为例)各信号之间的定时关系。

    图2 双像素(双路)RGB数据传送方式各信号之间的定时关系。

     

    有数字视频信号的电路,一般都需要DE信号。对于液晶显示器,DE存在于液晶显示器的两端和中间。“两端”指的是液晶显示器的DVI接口和液晶显示器驱动板与液晶面板的接口;“中间”指的是液晶显示器主控电路。

      (3)DE信号与其他信号之间的关系

      有效数据选通信号DE、行同步信号HS、场同步信号VS、像素时钟信号DCLK和数字RGB信号这五类信号中,DE、HS、VS属于同步信号,DCLK属于时钟信号,RGB属于数据信号,它们一般都是同时出现的,且DE、IIS、VS、DCLK和数字RGB信号都与像素时钟信号DCLK保持同步。

      ①DE信号与行场同步信号之间的关系:DE信号与行场同步信号之间的定时关系如图2所示(以1024×768液晶面板为例)。图(a)所示为DE与行同步信号之间的定时关系;图(b)所示为DE与场同步信号之间的定时关系。图(b)中DE信号上的每一条竖线代表一个行周期的DE信号。

     

    展开全文
  • 2 FsDataOutputStream hflush和hsync 回到hdfs的hflush和hsync, 文件的meta信息存放在namenode上,文件的data信息存放在datanode上。 client调用hflush和hsync流程都是一样的,首先这里再次说明一下write的流程: ...

    本文是基于hadoop-2.8.0的源码实现

    1. linux上的sync, fsync, fdatasync的区别

    sync会将输出流缓冲区数据排入到OS维护的写磁盘对列,而不会等在磁盘操作完成,因此sync调用返回后数据依然有可能会丢失。

    fsync和sync不同的是它会等待写磁盘操作完成,同时它还会修改文件meta信息。因此fsync往往对应两次磁盘IO:一次写数据到磁盘,一次修改文件meta信息到磁盘。

    fdatasync 和fsync一样等到磁盘操作完成,但是它不会修改文件的meta信息。

    2 FsDataOutputStream hflush和hsync

    回到hdfs的hflush和hsync, 文件的meta信息存放在namenode上,文件的data信息存放在datanode上。

    client调用hflush和hsync流程都是一样的,首先这里再次说明一下write的流程:

    client端:

    输出流底层会缓冲数据,缓冲到一定大小后flush到datanode,这个缓冲区是一个block。

    写到block的数据又被切分成一个个packet,发送block的时候是一个个packet发送,发送完packet后会将packer移到等待确认对列中,然后等待datanode的确认。

    datanode端:

    写数据采用pipeline机制,比如数据需要在3个datanode(dn1, dn2, dn3)上备份,那么dn1收到 client端的packet后,写packet到dn2, 然后将packet写到本地磁盘并flush, dn2如法炮制写dn3并写本地。

    确认:

    dn3是pipeline中最后的datanode, dn3写完后发送对packet的ack到dn2, dn2发送ack到dn1,

    dn1 发送ack到client。client收到packet的确认后将packet从确认对列移除。

    下面比较两者的区别

    下面是FsDataoutputStream中hflush和hsync的实现:

    @Override // Syncable

    public void hflush() throws IOException {

    if (wrappedStream instanceof Syncable) {

    ((Syncable)wrappedStream).hflush();

    } else {

    wrappedStream.flush();

    }

    }

    @Override // Syncable

    public void hsync() throws IOException {

    if (wrappedStream instanceof Syncable) {

    ((Syncable)wrappedStream).hsync();

    } else {

    wrappedStream.flush();

    }

    }

    -----------------------------------------------------

    调用的是wrappedStream的hflush和hsync,此处wrappedStream只讨论是DFSOutputStream的情况,下面是DFSOutputStream的hflush和hsync:

    @Override

    public void hflush() throws IOException {

    try (TraceScope ignored = dfsClient.newPathTraceScope("hflush", src)) {

    flushOrSync(false, EnumSet.noneOf(SyncFlag.class));

    }

    }

    @Override

    public void hsync() throws IOException {

    try (TraceScope ignored = dfsClient.newPathTraceScope("hsync", src)) {

    flushOrSync(true, EnumSet.noneOf(SyncFlag.class));

    }

    }

    调用的都是flushOrSync,第一个参数的不同最终被导致了datanode端写数据处理方式的不同,不深挖代码了,后面的代码跟hdfs写数据流程重合,如果有空的化还会记录一下hdfs写数据过程。

    hflush

    上面简要的写流程可以看出,关键是datanode的收到packet后的flush。 client端调用FsDataoutputStream # hflush, 在datanode上实际上调用的是OutputStream # flush, 从jdk关于flush的解释可以知道,flush类似linux的sync操作,只是将文件输出流缓冲的的数据移动到os的写磁盘缓冲区,并不会等待写磁盘操作完成。

    hsync

    和hflush的不同只在与datanode write packet后不是调用flush,而是调用下面一段代码:

    public void syncDataOut() throws IOException {

    if (dataOut instanceof FileOutputStream) {

    ((FileOutputStream)dataOut).getChannel().force(true);

    }

    }

    dataOut是本地文件输出流。force(true)的语义保证会等待数据写到磁盘, 指定参数true还会是的刷新datanode上dataOut输出流对应文件的meta信息。

    所以hsync类似linux上的fsync调用。

    但是hdfs上文件的meta信息保存在namenode上,无论是hflush还是hsync都没有更改namenode的文件meta信息,主要是length信息。这和DFSoutputStream中hflush和hsync调用的flushOrSync参数有关,其第二个参数都被设置成

    EnumSet.noneOf(SyncFlag.class);

    实际上SyncFlag枚举了两个值如下:

    public enum SyncFlag {

    /**

    * When doing sync to DataNodes, also update the metadata (block length) in

    * the NameNode.

    */

    UPDATE_LENGTH,

    /**

    * Sync the data to DataNode, close the current block, and allocate a new

    * block

    */

    END_BLOCK

    }

    如果指定UPDATE_LENGTH 才会在flush之后修改namenode的meta信息。

    展开全文
  • 原文链接:... 在 Hadoop 2.0.2-alpha 之前,HDFS 在机器断电或意外崩溃的情况下,有可能出现正在写的数据丢失的问题。而最近刚发布的 CDH4 中 HDFS 在 Client 端提供了 hsync() 的方...

    原文链接:https://www.infoq.cn/article/large-data-processing-ensuring-data-not-lost-when-power-off

    在 Hadoop 2.0.2-alpha 之前,HDFS 在机器断电或意外崩溃的情况下,有可能出现正在写的数据丢失的问题。而最近刚发布的 CDH4 中 HDFS 在 Client 端提供了 hsync() 的方法调用 ( HDFS-744 ),从而保证在机器崩溃或意外断电的情况下,数据不会丢失。这篇文件将围绕这个新的接口对其实现细节进行简单的分析,从而希望找出一种合理使用 hsync() 的策略,避免重要数据丢失。

    HDFS 中 sync(),hflush() 和 hsync() 的差别
    在 hsync() 之前,HDFS 就已经提供了 sync() 和 hflush() 的调用,单从方法的名称上看,很难分辨这三个方法之间的区别。咱们先从这几个方法之间的差别介绍起。
    在 HDFS 中,调用 hflush() 会将 Client 端 buffer 中的存放数据更新到 Datanode 端,直到收到所有 Datanode 的 ack 响应时结束调用。这样可保证在 hflush() 调用结束时,所有的 Client 端都可以读到一致的数据。HDFS 中的 sync() 本质也是调用 hflush()。

    hsync() 则是除了确保会将 Client 端 buffer 中的存放数据更新到 Datanode 端外,还会确保 Datanode 端的数据更新到物理磁盘上,这样在 hsync() 调用结束后,即使 Datanode 所在的机器意外断电,数据并不会因此丢失。而 hflush() 在机器意外断电的情况下却有可能丢失数据,因为 Client 端传给 Datanode 的数据可能存在于 Datanode 的 cache 中,并未持久化到磁盘上。下图描述了从 Client 发起一次写请求后,在 HDFS 中的数据包传递的流程。


    hsync() 的实现本质
    hsync() 执行时,实际上会在对应 Datanode 的机器上产生一个 fsync 的系统调用,从而将内存中的相关文件的数据更新到磁盘。

    Client 端执行 hsync 时,Datanode 端会识别到 Client 发送过来的数据包中的 syncBlock_ 字段为 true,从而判定需要将内存中的数据更新到磁盘。此时会在 BlockReceiver.java 的 flushOrSync() 中执行如下语句:

    ((FileOutputStream)cout).getChannel().force(true);

    而 FileChannel 的 force(boolean metadata) 方法在 JDK 中,底层为于 FileDispatcherImpl.c 中调用 fsync 或 fdatasync。metadata 为 true 时执行 fsync,为 false 时执行 fdatasync。

    Java_sun_nio_ch_FileDispatcherImpl_force0(JNIEnv *env, jobject this, 
    jobject fdo, jboolean md)
    {
        jint fd = fdval(env, fdo);
        int result = 0;
    
        if (md == JNI_FALSE) {
            result = fdatasync(fd);
        } else {
            result = fsync(fd);
        }
        return handle(env, result, "Force failed");
    }

    当 Datanode 将数据持久化到磁盘上后,会发 ack 响应给 Client 端。当收到所有 Datanode 的 ack 响应时,hsync() 的调用结束。

    值得注意的是,fsync 或 fdatasync 本身是一个非常耗时的调用,因为磁盘的读写速度远低于内存的读写速度。在不调用 fsync 或 fdatasync 的情况下,数据可能保存在各级 cache 中。

    最开始笔者在测 hsync() 的读写性能时,发现不同机器上测试结果 hsync() 耗时差别巨大,有的集群平均调用耗时为 4ms,而有的集群平均调用耗时则需 25ms。后来在公司各位大神的点拨下才意识到是跟 Linux 文件系统的机制有关。在这种情况下,只有一探 Linux 相关部分的源码才能解开心中的疑惑,下面这节就将从更底层的角度来解析与 hsync() 密切相关的系统调用 fsync 及 fdatasync 方法。

    展开全文
  • 在电路中,行同步信号常用HS或HSYNC表示,场同步信号常用VS或VSYNC表示。 在液晶面板的TTL和LVDS接口中,包括的信号主要有RGB数据信号、像素时钟信号DCLK、行同步信号HS、场同步信号VS及有效显示数据选通信号DE。...

     

    只要是数字信号处理电路,就必须有时钟信号。在液晶面板中,像素时钟是一个非常重要的时钟信号。像素时钟信号的频率与液晶面板的工作模式有关,液晶面板分辨率越高,像素时钟信号的频率也越高。在一行内,像素时钟的个数与液晶面板一行内所具有的像素数量相等。例如,对于1024×768的液晶面板,一行有1024个像素,则在一行中(对应于有效视频区间)像素时钟的个数也是1024个。

    无论对TTL接口液晶面板,还是对LVDS接口面板,像素时钟信号都有以下两个方面的作用:
    (1)指挥RGB信号按顺序传输。像素时钟信号就像指挥员指挥队伍时发出的口令“一、二,一、二……”,数字RGB信号在像素时钟信号的作用下,按照一定的顺序,由驱动板传输到液晶面板中,使各电路按照一定的节拍协调地工作。
    (2)确保数据传输的正确性。无论是驱动板电路,还是液晶面板电路,在读取数字RGB信号时,都是在像素时钟的作用与控制下进行的,各电路只有在像素时钟的下降沿(或上升沿)到来时才对数字RGB数据进行读取,以确保读取数据的正确性。图1所示为像素时钟与数字RGB信号之间的对应关系示意图(1024×768液晶面板)。

     

    图1 像素时钟与数字视频信号之间的对应关系示意图


    液晶显示器行同步信号(HS)和场同步信号(VS)

    在液晶显示器中,行同步信号(HS)的作用是选择出液晶面板上有效行信号区间,场同步信号(VS)的作用是选择出液晶面板上有效场信号区间,行场同步信号的共同作用,可将选择出液晶面板上的有效视频信号区间。

    需要注意的是,液晶显示器中使用的同步信号是一个不包含消隐信号的两电平信号,而CRT显示器彩电中的同步信号是一个包含消隐信号的三电平信号。这是因为液晶显示器处理的是数字信号,数字信号只能有两种电平,高电平1和低电平0。

    在电路中,行同步信号常用HS或HSYNC表示,场同步信号常用VS或VSYNC表示。

    在液晶面板的TTL和LVDS接口中,包括的信号主要有RGB数据信号、像素时钟信号DCLK、行同步信号HS、场同步信号VS及有效显示数据选通信号DE。所有液晶面板都需要输入RGB数据和像素时钟DCLK,但其使用同步信号的方式却不同。

    (1)仅使用DE同步信号液晶面板
    这种液晶面板不需要输入行同步信号HS和场同步信号VS,只需要输入DE作为同步信号使用即能正常工作。液晶面板的行同步信号输人端和场同步信号端一般都需要接低电平,否则不能正常工作。

    (2)同时使用DE/HS/VS同步信号液晶面板
    这种液晶面板需要同时输入有效显示数据选通信号DE、行同步信号HS、场同步信号VS才能正常工作。

    (3)液晶面板单像素/奇偶像素数据输入模式及信号定时
    液晶显示器驱动板向液晶面板传送RGB数据信号的方式有两种:一种为单像素模式(单路方式);另一种为奇偶双像素模式(双路方式),将RGB数据分为奇数像素和偶数像素两路向液晶面板传送。图2所示为双像素(双路)R(站数据传送方式(以1024×768液晶面板为例)各信号之间的定时关系。

     

    图2 双像素(双路)RGB数据传送方式各信号之间的定时关系。

     

    DE信号(有效数据选通信号)

    有效数据选通信号也称数据使能信号,在液晶显示器电路中其表示符号有多种,如DSP、DSPTMG、DEN、DE等,在本书中,一般称其为DE信号。
      
      (1)设立DE信号的意义

      在输入到液晶显示器的视频信号中,有效视频信号(有效RGB信号)只占信号周期中的一部分,而信号的行消隐和场消隐期间并不包含有效的视频数据。因此,液晶显示器中的有关电路在处理视频信号时,必须将包含有效视频信号的区间和不包含有效视频信号的消隐区间区分开来。为了区分有效和无效视频信号,在液晶显示器电路中设置了DE信号。

      (2)DE信号及其产生

      图1所示为DE信号示意图,其中图(c)为DE信号。DE是一个高电平有效信号,在DE高电平期间所对应的视频数据信号被认为是有效数据信号,DE的高电平期间与CRT显示器中的扫描正程相对应。从图中可以看出,如果将消隐信号(见图(a))进行倒相,正好与DE信号相同,但因为在液晶显示器中不能处理三电平的同步/消隐信号,因此,单独设立了一个DE信号。

     

    图1 DE信号示意图

      有数字视频信号的电路,一般都需要DE信号。对于液晶显示器,DE存在于液晶显示器的两端和中间。“两端”指的是液晶显示器的DVI接口和液晶显示器驱动板与液晶面板的接口;“中间”指的是液晶显示器主控电路。

      (3)DE信号与其他信号之间的关系

      有效数据选通信号DE、行同步信号HS、场同步信号VS、像素时钟信号DCLK和数字RGB信号这五类信号中,DE、HS、VS属于同步信号,DCLK属于时钟信号,RGB属于数据信号,它们一般都是同时出现的,且DE、IIS、VS、DCLK和数字RGB信号都与像素时钟信号DCLK保持同步。

      ①DE信号与行场同步信号之间的关系:DE信号与行场同步信号之间的定时关系如图2所示(以1024×768液晶面板为例)。图(a)所示为DE与行同步信号之间的定时关系;图(b)所示为DE与场同步信号之间的定时关系。图(b)中DE信号上的每一条竖线代表一个行周期的DE信号。

    图2 DE信号与行场同步信号之间的定时关系

      ②DE信号与RGB数据信号之间的关系:图3所示为DE信号与RGB数据信号之间的定时关系(以1024×768液晶面板为例)。图(a)所示是液晶面板上像素的排列方式;图(b)中DE信号的高电平持续期间对应于1024×768分辨率液晶显示器信号的1024个像素,也就是对应于一行的有效显示时间;图(c)中DE信号上的每一个高电平区间代表一个行周期的DE信号。以对应于1024×768分辨率的液晶显示器信号为例,在一个场周期内共有768个行周期的DE信号,对应于液晶面板上的768行像素。

     

     图3 DE信号与RGB数据信号之间的定时关系

       ③DE信号与数据读取之间的关系:图4所示为DE信号与在像素时钟DCLK的作用下读取RGB数据的示意图。从图中可以看出,只有当DE信号在高电平期间,且在像素时钟DCLK为下降沿时,相关电路才能对RGB数据进行读取,以确保读取数据的正确性。数据读取时DE信号高电平的条件实际上就是选取有效数据的含义。

    图4 DE信号与数据读取之间的关系

      ④DE信号与显示画面之间的关系:图5所示为DE信号、有效RGB数据信号与显示画面之间的关系。

     

      图5 DE信号、有效RGB数据信号与显示画面之间的关系

    展开全文
  • ...HSYNC是水平同步信号。PCLK是象素时钟。ENABLE是数据使能信号,当它为高时,在PCLK的上升沿输出有效数据。P_DATA是输出的数据。水平同步信号的上升沿到ENABLE的上升沿的间隔称为HBP。把ENAB...
  • camera HSYNC:VSYNC

    2019-06-24 10:29:00
    HSYNC:行锁存,换行信号VSYNC:祯锁存,换页信号 320×240的屏,每一行需要输入320个脉冲来依次移位、锁存进一行的数据,然后来个HSYNC脉冲换一行;这样依次输入240行之后换行同时来个VSYNC脉冲把行计数器清零,...
  • hsync 2020.10.23 Build Date: Monday, 23 October 2020 /T /I / |/ | .-~/ T\ Y I |/ / _ /T | \I | I Y.-~/ I l /I T\ | | l | T / T\ | \ Y l /T | \I l \ ` l Y __ | \l \l \I l __l l \ ` _. | \ ~-l `...
  • vsync, hsync, VBLANK

    万次阅读 多人点赞 2016-09-25 16:59:05
    HSYNC是水平同步信号。PCLK是象素时钟。ENABLE是数据使能信号,当它为高时,在PCLK的上升沿输出有效数据。P_DATA是输出的数据。  水平同步信号的上升沿到ENABLE的上升沿的间隔称为HBP。把ENABLE的下降沿到水平同步...
  • java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check ...
  • java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Ple
  • vsync与hsync

    千次阅读 2016-07-20 21:28:18
    HSYNC: horizonal synchronization , 相比于 VSYNC 来说 , 同步的单位从帧降到行 , 即是保证操作不是在扫描一行的中间出现 , 而是同步到下一行 。 VBLANK:  显示器扫描线完成最后一行后 , 需要重返左上...
  • [1]的解決方案是: 更換hadoop版本,讓hadoop與hbase更加兼容 [2]的解決方案是: hbase-site.xml增加配置 ...[2]The procedure WAL relies on the ability to hsync for proper operation during component failures,...
  •  Hsync, Vsync  两者各表示一种信号 ,  分别由  HSPW  及  VSPW  两个参数确定信号持续时间 ,  也就是脉冲的宽度 .   在扫描一行中 ,  首先 HSYNC  脉冲信号为高电平 ,  一发出此信号 ,  电子...
  • VSYNC与HSYNC与PCLK与什么有关系

    千次阅读 2017-09-17 19:38:15
    在手机平台,LCD,Camera,TV的接线上,都会用到PCLK,VSYNC和HSYNC这三个信号。可见这三个信号和显示关系非常大。首先我们先看这三个信号的作用: PCLK:有些方案给他起名字叫:DotCLK。是像素点同步时钟信号。也...
  • java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so...
  • PCLK,VSYNC和HSYNC的关系

    千次阅读 2017-05-30 20:18:26
    PCLK,VSYNC和HSYNC的关系 (2013-7-11 11:02) 标签:PCLK HSYNC VSYNC LCD Camera 在手机平台,LCD,Camera,TV的接线上,都会用到PCLK,VSYNC和HSYNC这三个信号。可见这三个信号跟显示的关系非常的大。 首先...
  • 原文:http://www.tuicool.com/articles/NzQVR3 xres <===========> TEP yres <===========> Tvd left_margin <===========> Thf right_margin <===========>...hsync_len...
  • 近期项目中用到实时抽取ActiveMQ中的爬虫数据到HIVE表中,但是在持久化数据到HDFS的时候,发现FSDataOutputStream.hsync()不能实时持久化,只能持久化第一条数据。 从一些文章中了解到,只有当HDFS中的block达到128...
  • 视频信号vsync hsync dotclock 的关系

    千次阅读 2017-05-26 15:47:08
    本文为博主原创文章,未经博主允许不得转载。 在图像里面的参数如图所示: ...Htotal = Hactive + Hsync + HfrontPorch + HbackPorch Vtotal = Vactive + Vsync + VfrontPorch + VbackPorch
  • Controls whether HBase will check for stream capabilities (hflush/hsync). Disable this if you intend to run on LocalFileSystem, denoted by a rootdir with the 'file://' scheme, but be mindful of ...
  • HDFS中hsync方法介绍

    2018-07-12 14:30:13
    HDFS中hsync方法介绍原创文章,转载请注明:博客园aprogramer原文链接:HDFS中hsync方法介绍1. 背景介绍 HDFS在写数据务必要保证数据的一致性与持久性,从HDFS最初的版本到2.0版本HDFS提供了两种同步语义。 1. 将...
  • java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check ...
  • 在手机平台,LCD,Camera,TV的接线上,都会用到PCLK,VSYNC和HSYNC这三个信号。可见这三个信号跟显示的关系非常的大。 首先我们先看看这三个信号的作用: PCLK:有些方案给他起名叫:DotCLK。是像素点的同步时钟...
  • VSYNC和HSYNC的作用以及它们两者之间的关系 VSYNC和HSYNC的作用以及它们两者之间的关系 VSYNC和HSYNC是什么 VSYNC: vertical synchronization,指与显示器的帧数同步。 简单来说就是启用了VSYNC的渲染过程,帧数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,139
精华内容 3,255
关键字:

HSync