如何避免一个实时数据传输场景
如何处理一个实时数据传输场景
有一个这样的需求:
一个中心、多个分点,分点独立运行并且实时更新数据到中心(5分钟)。
问题:
1.网络不通。
2.网络问题造成遗漏数据的处理,数据量和网络中断的时间有关,不可估计。
------解决方案--------------------
说白了就是两个线程同时在抓取数据呗!服务器端给每个点都保存一个bookmark,同时每个分点产生的数据在保存时记录一个时间戳。然后通过上面相似的方法抓取数据。
将每个分点相关信息作为一个对象保存在集合中,然后写一个方法(加同步)供两个线程来获取一个分点信息,并对该分点进行数据抓取工作,当某个线程获取一个分点信息后将该分点信息从集合移除,当完成后将该分点信息中bookmark的时间更新抓取完成的时间,并将其放回集合中。
有一个这样的需求:
一个中心、多个分点,分点独立运行并且实时更新数据到中心(5分钟)。
问题:
1.网络不通。
2.网络问题造成遗漏数据的处理,数据量和网络中断的时间有关,不可估计。
------解决方案--------------------
说白了就是两个线程同时在抓取数据呗!服务器端给每个点都保存一个bookmark,同时每个分点产生的数据在保存时记录一个时间戳。然后通过上面相似的方法抓取数据。
将每个分点相关信息作为一个对象保存在集合中,然后写一个方法(加同步)供两个线程来获取一个分点信息,并对该分点进行数据抓取工作,当某个线程获取一个分点信息后将该分点信息从集合移除,当完成后将该分点信息中bookmark的时间更新抓取完成的时间,并将其放回集合中。