精华内容
下载资源
问答
  • filebeat - logstash 多行合并 解决数据丢失以及无法读取最后一行,使用logstash-filter-multiline 最后一行日志会等待1s时间,如果日志没有新的数据,则发送最后一行日志数据

    logstash处理多行日志数据,网上大部分方法是在input插件中添加codec => multiline,如下beats插件


    beats {
            port => 5044
            codec => multiline {
                pattern => "^(%{TIMESTAMP_ISO8601}|%{MONTHNUM}\s%{WORD}\s%{YEAR}\s%{TIME})"
                negate => true
                what => "previous"
            }
        }


    如果是使用beats插件,不仅会导致日志数据最后一行无法读取,还会丢失最后一行日志的所有filebeat字段。


    使用logstash-filter-multiline插件可以解决此问题


    logstash5.0 默认没有安装此插件,需要自行安装

    ./bin/logstash-plugin install logstash-filter-multiline

    如果安装失败或者需要离线安装,可以到已安装的机器上复制gem文件

    目录 ./logstash/vendor/bundle/jruby/1.9/cache/logstash-filter-multiline-3.0.2.gem (http://download.csdn.net/download/abnersunyh/9683875)

    ./bin/logstash-plugin install ./vendor/bundle/jruby/1.9/cache/logstash-filter-multiline-3.0.2.gem


    logstash-filter-multiline插件使用示例

    filter{
        multiline {
            pattern => "^(%{TIMESTAMP_ISO8601}|%{MONTHNUM}\s%{WORD}\s%{YEAR}\s%{TIME})" negate => true what => "previous" 
        }
    }


    后续:
    logstash5.1貌似找不到logstash-filter-multiline插件,但仍然可以安装logstash-filter-multiline-3.0.2.gem,官方并没指明是否取消该插件。https://www.elastic.co/guide/en/logstash/5.1/breaking-changes.html#_logstash_with_all_plugins_download




    展开全文
  • C#串口通信数据丢失解决方案

    千次阅读 2019-03-30 14:06:08
    串口通信的一般思路是:先接收数据,然后处理数据,并在数据处理之后再次等待接收新的数据。但这种方法的缺点是,在串口高速率大信息量通信时,会出现丢失数据的...因此,只是增加缓存的容量不能解决数据丢失的根本...

    串口通信的一般思路是:先接收数据,然后处理数据,并在数据处理之后再次等待接收新的数据。但这种方法的缺点是,在串口高速率大信息量通信时,会出现丢失数据的情况。
    丢失数据的原因是数据接收和数据处理再同一个线程中,如果数据处理的时间太长,则来不及接收的数据只能暂存在缓存中。因此,一旦缓存满了,新到的数据就会冲刷掉未来得及接收的数据,从而造成数据的丢失。因此,只是增加缓存的容量不能解决数据丢失的根本问题。
    解决思路:

    数据接收与数据处理分别放在两个线程中进行;

    数据接收线程:接收数据并将接收到的数据存入数据池中;

    数据处理线程:从数据池中读取数据和处理数据;

    注意:
    由于两个线程可能会同时访问数据池,因此为了使数据接收得到最快的响应,最好不选用数组结构,而是选用队列Queue作为数据池的数据结构。
    队列在顺序存储方面非常有用。数据对象在队列的一段插入,另一端移除。当两个线程同时访问队列时,一个线程负责数据存入,另一个线程只负责操作数读取,就会提高程序的运行效率。
    代码:

    数据接收线程:

    ReceiveThread()
    {
         string str = serialport.ReadExisting();   //从串口读取数据
         queue.Enqueue(str);  //将数据存入队列
    }
    

    数据处理线程:

    DealDataThread()
    {
          if(queue.Count >=1)
          {
                  string data = queue.Dequeue();  //将数据出队
                  DealWithReceiveData( data );  //处理数据
           }
    }
    
    展开全文
  • 解决protobuf数据丢失bug

    万次阅读 多人点赞 2014-02-21 22:06:16
    protobuf是Google开发的一个开源序列化框架,...但是,protobuf在使用当中也发现一些问题,数据在protobuf序列化后无法反序列化,或者丢失部分数据,这就与protobuf的目的违背。文章将讨论和解决这个protobuf bug问题

    protobuf是Google开发的一个开源序列化框架,类似XML,JSON,其最大的特点是基于二进制,比传统的XML表示同样一段内容要短小得多。通过protobuf,可以很轻松的调用相关方法来完成业务数据的序列化与反序列化。但是,protobuf在使用当中也发现一些问题,数据在protobuf序列化后无法反序列化,或者丢失部分数据,这就与protobuf的目的违背。下面我们来看下这个问题吧。

    首先定义一个protobuf结构,如下:

    message Person {
      required int32 mid = 1;
      required int32 type = 2;
    }
    
    再来看下这段代码,看似没有问题:

    Person psn0;
    psn0.set_mid(1);
    psn0.set_type(0);
    
    string str0;
    psn0.SerializeToString(&str0);
    
    // 由于网络传输, string 需要转换成 char*
    const char* buf = str0.c_str();
    
    // 如果是这样解析,将会引起bug
    string str1 = buf;
    
    People psn1;
    bool ret1 = psn1.ParseFromString(str1);
    
    if (ret1)
    {
    	cout << "str1 parse success" << endl;
    }
    else
    {
    	cout << "str1 parse fail" << endl;
    }
    
    // 这样解析不会引起bug
    string str2;
    str2.assign(buf, str0.length());
    
    People psn2;
    bool ret2 = psn2.ParseFromString(str2);
    
    if (ret2)
    {
    	cout << "str2 parse success" << endl;
    }
    else
    {
    	cout << "str2 parse fail" << endl;
    }

    运行结果,如下:

    str1 parse fail
    str2 parse success

    这里解释一下原因:在以上例子中,protobuf 序列化的 string 数据里含有 '\0' 字符。如果以 char* 取protobuf序列化后的数据,将会丢失部分数据。

    虽然这个严格意义来讲也不算protobuf的bug,但在protobuf的使用中一般很少人注意protobuf 的数据中带有 '\0' 字符,这就导致了bug的发生。

    参考:

    http://blog.csdn.net/mycwq/article/details/19619875

    展开全文
  • vue 解决 刷新丢失数据

    千次阅读 2019-06-04 10:21:51
    使用vue开发时,遇到第二个问题就是刷新后登录的用户信息丢失了,这个主要是由vuex中的数据在页面刷新之后其中的数据会初始化。我们可以结合localStorage或sessionStorage来避免这个问题,如下: 1、在登录成功设置...

    使用vue开发时,遇到第二个问题就是刷新后登录的用户信息丢失了,这个主要是由vuex中的数据在页面刷新之后其中的数据会初始化。我们可以结合localStorage或sessionStorage来避免这个问题,如下:
    1、在登录成功设置用户信息时,同时保存到sessionStorage

    const mutations = {
      SET_USER : (state, user) => {
        state.user = user;
        state.token = user.token;
        state.name = user.sys_user_info.name;
    
        sessionStorage.setItem(sessionUserKey, JSON.stringify(user))
      }
    }
    

    2、在组件初始化时先从sessionStorage读取用户信息,如有则使用当前用户信息,否则使用默认空用户信息

    //  空用户对象
    const sessionUserKey = "session_user";
    const emptyuser = {"token":"","sys_user_info":{"name":""}};
    const sessionUserStr = sessionStorage.getItem(sessionUserKey);
    const sessionUser = sessionUserStr ? JSON.parse(sessionUserStr) : emptyuser
    
    //  状态
    const state = {
      token: sessionUser.token || getToken(),
      name: sessionUser.sys_user_info.name || '',
      user : sessionUser,
    }
    

    完毕…

    展开全文
  • vuex刷新后数据丢失怎么解决

    千次阅读 多人点赞 2020-10-05 16:51:12
    我们在写vue项目的时候,经常要用到vuex作为内存来储存,但是我们存放在vuex中的数据(用户数据,当前页面的数据等等)在刷新后就会丢失,那么如何解决呢?超级简单。 1,安装vuex-persistedstate npm install --...
  • 使用移动硬盘作为D盘,突然数据丢失。 各种声称免费缺收费的软件 1.数据恢复大师,超过1MB的无法恢复,要注册会员缴费,基本都是50-100之间。 2.万能数据恢复大师 3.EasyRecovery 4.超级硬盘数据恢复...
  • 解决-刷新页面Vuex数据丢失

    千次阅读 2020-07-02 15:02:33
    vue刷新页面vuex数据丢失 vuex数据丢失 vue刷新页面
  • 由于redis中的数据丢失导致value不存在,最终致使定时处理数据任务无法执行。 解决办法 1.编辑配置文件 vim /etc/sysctl.conf 2.在最后一行添加 vm.overcommit_memory = 1 3.使配置生效 sysctl...
  • 在进行自动化测试的脚本开发或者框架开发的过程...2)通过ADO访问excel数据源,这篇文章主要是描述一个ADO操作excel时,遇到数据丢失,数据错误或数据乱码的一个问题。 一个简单的使用ADO函数: ' ******************
  • Redis数据丢失解决方案

    千次阅读 2019-04-18 15:36:01
    Redis的数据回写机制 Redis的数据回写机制分同步和异步两种, 同步回写即SAVE命令,主进程直接向磁盘回写数据。在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的。 异步回写即BGSAVE命令,主进程fork...
  • redis数据丢失解决

    千次阅读 2017-11-30 11:31:00
    Redis的数据回写机制 Redis的数据回写机制分同步和异步两种,同步回写即SAVE命令,主进程直接向磁盘回写数据。在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的。 异步回写即BGSAVE命令,主进程fork后,...
  • 异步复制导致的数据丢失 因为master -> slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机了,此时这些部分数据就丢失了 脑裂导致的数据丢失 脑裂,也就是说,某个master所在机器突然脱离了...
  • 解决Linux重启redis数据丢失

    千次阅读 2017-08-24 09:54:53
    在Linux系统中,Redis本来是有数据的,但在Linux系统重启后,Redis中的数据全部丢失。经过几次测试都一样,只有在Linux系统重启才会丢失,Redis重启应该是没有问题的。这个问题只在Linux系统才存在,在Windows系统是...
  • 解决:MySQL Load Data数据丢失问题

    千次阅读 2017-07-13 20:57:40
    MySQL 5.7 MacOS Sirrea 10.12.1前言 很简单,我得文件里面... 既然数据丢失了,那把成表后的数据全部导出,然后和原始的数据进行对比验证 select * from db.table INTO OUTFILE '/usr/local/mysql-5.7.18-macos10.1
  • Redis大部分应用场景是纯...如果少量数据丢失,相当于请求"缓冲未命中"; 一般对业务的影响是无感知的。但现在Redis用作存储的业务场景变多,数据丢失对业务是致命的影响。 下面简单讨论几个Redis常见数据"丢失"现...
  • 解决redux刷新数据丢失

    千次阅读 2019-02-20 17:19:35
    为什么要存储react-redux中的数据? 当页面刷新之后,redux中的数据会回到初始值,之前存储到redux中的数据也就不复存在了。废话不多说,直接上代码: 在reducer文件中: let shopDetailInfo = sessionStorage....
  • vuex页面刷新数据丢失解决办法

    千次阅读 2019-12-24 17:30:19
    vuex页面刷新数据丢失解决办法 在vue项目中用vuex来做全局的状态管理, 发现当刷新网页后,保存在vuex实例store里的数据会丢失。 原因: 因为store里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载...
  • Mysql导入数据丢失解决方案

    千次阅读 2019-03-29 17:14:24
    在项目开发中我们都会把服务器上的数据导入到本地来开发,但是数据量比较大的时候就是导致数据导入不全、数据丢失等情况, 原因是解析时间太久导致写入超时,然后就会直接跳入下一个表,导致数据不全。 解决方案是...
  • vuex刷新数据丢失解决办法

    千次阅读 2020-11-12 09:56:52
    通常在vue项目中使用vuex做全局的状态管理,但是刷新之后,vuex中的数据丢失 因为store是存储在运行内存中,当浏览器刷新时,会重新加载vue实例,store也会重新赋值 通常将一些数据保存在localstorage、...
  • 数据丢失的原因 Kafka 消息发送分同步 (sync)、异步 (async) 两种方式,默认使用同步方式,可通过 producer.type 属性进行配置; 通过 request.required.acks 属性进行配置:值可设为 0, 1, -1(all) -1 和 all ...
  • fsck解决Linux数据丢失问题

    千次阅读 2018-06-08 08:37:03
    因此当某个用户发现自己丢失了某个文件,可以在执行fsck之后到/lost+found目录下去查找,这时通过文件名已无法辨认出文件的作用,只能用file之类的命令来确定文件的类型,如果是数据文件,可以用more或vi命令来查看...
  • 解决fragment中listview数据丢失问题

    千次阅读 2014-11-27 17:54:56
    在fragment 中使用listview ,跳转到其他页面在返回时数据丢失了,解决方法如下: // fragment返回时数据列表丢失,因为listview其实已经换了,直接调用adapter的notifyDataSetChanged就没有对listview进行...
  • ASP.NET 解决session数据丢失的问题

    万次阅读 2020-05-07 09:52:12
    在我的上篇博客中提到,可以改变session的生命周期(即使关闭了浏览器session数据也在),但是经过我的测试,关闭电脑或者重启电脑后,session的生命周期也会消失,即使你设置了timeout,也是一样的。这就让我很是...
  • Redis的数据回写机制 Redis的数据回写机制分同步和异步两种, 同步回写即SAVE命令,主进程直接向磁盘回写数据。在数据大的情况下会导致系统假死很长时间,所以一般不是推荐的。异步回写即BGSAVE命令,主进程fork后...
  • 异步复制导致的数据丢失: 描述: 由于master到slave的数据同步是异步的,也就是说master有请求时,master先反馈给客户端,然后才会向slave同步数据。期间可能存在部分数据还没有同步到slave,master就宕机了,...
  • 二、Kafka数据丢失解决方案 producer 数据不丢失: 1. 同步模式:配置=1 (只有Leader收到,-1 所有副本成功,0 不等待)Leader Partition挂了,数据就会丢失 解决:设置 -1 保证produce 写入所有副本算...
  • 但是在页面刷新的时候vuex里的数据会重新初始化,导致数据丢失。因为vuex里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,vuex里面的数据就会被重新赋值。 2、解决思路: 办法一:将vuex中的...
  • 但是当利用蓝牙传数据的时候,上位机端(安卓手机客户端)就会出现数据丢失的问题,如图: 可以发现,这个数据丢的特别严重,既然串口上面输出的结果是正确的,那么证明单片机本身没有任何问题。我把目光转移到了蓝

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 389,066
精华内容 155,626
关键字:

如何解决数据丢失