分布式系统数据同步方法及装置的制造方法
【技术领域】
[0001] 本发明涉及工业系统技术领域,特别是涉及一种分布式系统数据同步方法、分布 式系统数据同步装置。
【背景技术】
[0002] 随着工业系统越来越复杂,分布式系统也越来越多。分布式系统具有稳定性、容错 性以及伸缩性等优点,利用分布式系统更容易的构造出稳定、高效的应用。然而分布式系统 的使用仍然具有很大的挑战,其中核心的就是不同系统之间的同步问题。
[0003] 在分布式视频显示系统中,如图1所示,如果拼接墙每个屏幕单独显示不一样的 视频,则不存在同步的问题,但是如果在几个屏上开同一个信号源,如在图1所示的线条区 域开同一个信号源,则需要考虑同步的问题。
[0004] 在分布式系统中,目前应用的一般是基于时间戳的同步机制。在绝大多数嵌入式 系统中,在显示前,数据被解码成YUV(亮度和色度)数据后是没有时间戳的,因此,需要在 YUV数据的前几个字节通过计数器打上时间戳,通过时间戳来判断当前应该显示哪一帧。考 虑到显示效果,时间戳的字节数一般较少,所以仅根据时间戳并不能确保所有的实体的物 理时钟都是完全同步的。以时间戳是4个bit (字节)为例,它只能表示0~7,到7后计数 器就重新从〇开始。假设有两个队列,如果时间戳都为〇,有可能是同一帧,也有可能是一 个队列比另一个队列刚好快了 8帧。所以基于时间戳的同步机制并不能保证数据的精确同 步。
【发明内容】
[0005] 基于此,有必要针对问题,提供一种分布式系统数据同步方法及装置,能够实现数 据的精确同步。
[0006] 一种分布式系统数据同步方法,包括步骤:
[0007] 从各缓存队列中选取一个缓存队列作为参考队列;
[0008] 检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相 同;
[0009] 若帧编号相同,检测该缓存队列中是否存在帧编号与参考当前帧的帧编号相同且 特征向量与参考当前帧的特征向量的相似度为1的帧;
[0010] 若存在,将该帧作为该缓存队列的当前显示帧;否则将该缓存队列作为新的参考 队列,返回检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相 同的步骤;
[0011] 若帧编号不相同,检测该缓存队列中是否存在特征向量与参考当前帧的特征向量 的相似度为1的帧;
[0012] 若存在,将该帧作为该缓存队列的当前显示帧;否则将该缓存队列作为新的参考 队列,返回检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相 同的步骤。
[0013] -种分布式系统数据同步装置,包括:
[0014] 参考队列选取模块,用于从各缓存队列中选取一个缓存队列作为参考队列;
[0015] 帧编号检测模块,用于检测其它缓存队列的当前帧的帧编号与参考队列的参考当 前帧的帧编号是否相同;
[0016] 第一帧检测模块,用于在帧编号相同时,检测该缓存队列中是否存在帧编号与参 考当前帧的帧编号相同且特征向量与参考当前帧的特征向量的相似度为1的帧;在存在该 帧时,将该帧作为该缓存队列的当前显示帧;在不存在该帧时,将该缓存队列作为新的参考 队列;
[0017] 第二帧检测模块,用于在帧编号不相同时,检测该缓存队列中是否存在特征向量 与参考当前帧的特征向量的相似度为1的帧;在存在该帧时,将该帧作为该缓存队列的当 前显示帧;在不存在该帧时,将该缓存队列作为新的参考队列。
[0018] 本发明分布式系统数据同步方法及装置,基于帧编号和sift特征向量,根据帧编 号分为两种情况:帧编号相同时,查找帧编号与参考当前帧的帧编号相同且特征向量与参 考当前帧的特征向量的相似度为1的帧,若查找不到,说明该缓冲队列的数据显示比参考 队列快,将该缓冲队列为基准作为新的参考队列,重新判断;帧编号不相同时,查找特征向 量与参考当前帧的特征向量的相似度为1的帧,若查找不到,说明该缓冲队列的数据显示 比参考队列快,将该缓冲队列为基准作为新的参考队列,重新判断。本发明将多个队列中显 示最快的队列作为基准,根据特征向量的相似度找到同步显示的各帧,从而实现了数据的 精确同步,另外,本发明还具有处理速度快、稳定可靠等优点。
【附图说明】
[0019] 图1为现有技术中同步系统实施例的结构示意图;
[0020] 图2为本发明分布式系统数据同步方法实施例的流程示意图;
[0021] 图3为本发明同步系统具体实施例的结构示意图;
[0022] 图4为本发明同步前的数据队列具体实施例的示意图;
[0023] 图5为本发明在帧编号相同时数据同步具体实施例的流程示意图;
[0024] 图6为本发明在帧编号不相同时数据同步具体实施例的流程示意图;
[0025] 图7为本发明分布式系统数据同步装置实施例的结构示意图;
[0026] 图8为本发明第一帧检测模块实施例的结构示意图;
[0027] 图9为本发明第二帧检测模块实施例的结构示意图。
【具体实施方式】
[0028] 为了更好的理解本发明要解决的技术问题、采取的技术方案和达到的技术效果, 下面结合附图对本发明分布式系统数据同步方法及装置的【具体实施方式】做详细描述。需要 说明的是,文字中出现的第一相似度、第二相似度和相似度为同一概念,仅为了表述清楚简 洁做以区别,各模块中出现的第一、第二等字眼并不对器件的顺序和数量加以限定。
[0029] 如图1所示,一种分布式系统数据同步方法,包括步骤:
[0030] S110、从各缓存队列中选取一个缓存队列作为参考队列;
[0031] S120、检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是 否相同;
[0032] S130、若帧编号相同,检测该缓存队列中是否存在帧编号与参考当前帧的帧编号 相同且特征向量与参考当前帧的特征向量的相似度为1的帧;若存在,进入步骤S140,否则 进入步骤Sl 50 ;
[0033] S140、将该帧作为该缓存队列的当前显示帧;
[0034] S150、将该缓存队列作为新的参考队列,返回步骤S120 ;
[0035] S160、若帧编号不相同,检测该缓存队列中是否存在特征向量与参考当前帧的特 征向量的相似度为1的帧;若存在,进入步骤S170,否则进入步骤S180 ;
[0036] S170、将该帧作为该缓存队列的当前显示帧;
[0037] S180、将该缓存队列作为新的参考队列,返回步骤S120。
[0038] 将数据解码为YUV数据后,可以在YUV数据的左上角取4个bit位,根据时间戳对 7求余将当前帧编号设置为0到6。也可以在不影响显示效果的前提下,将YUV数据前的时 间戳设置为其它形式,本发明并不对此做出限定。
[0039] 确定各帧的特征向量的方式有很多,在一个实施例中,可以通过确定各帧的灰度 直方图得到各帧的特征向量。灰度直方图是灰度级的函数,描述图像中该灰度级的像素个 数(或该灰度级像素出现的频率)。一维直方图的结构表示为:
[0040] H (P) = [h (X1),h (X2),......,h (Xn)]
征向量,H⑵表示队列的各帧的特征向量。
[0044] 高维直方图可以理解为图像在每个维度上灰度级分布的直方图。常见的是二维直 方图。如红_蓝直方图的两个分量分别表示红光图像的灰度值和蓝光图像灰度值的函数, 其图像坐标(Dr,Db)处对应在红光图像中具有灰度级Dr同时在蓝光图像中具有灰度级Db 的像素个数。
[0045] 确定特征向量之间的相似度的方式也有很多,例如采用相似形函数表示图像之间 的相似度,其值越小,两图像的特征向量的相似性越小,差异越大。相似性函数相较于其他 方法,具有准确性高等优点。余弦相似性是常见的相似性函数,所以,在一个实施例中,可以
其中V1表示参考当前帧的特征向量,W i表示缓存队列中某一帧的特征向量,d i表示相似度。
[0046] 由于每个队列的第一帧是最先显示的,优先级最高,所以可以根据第一帧确定各 队列显示的快慢。即可以将参考队列的第一帧作为参考当前帧,将其它缓冲队列中的当前 帧的帧编号与参考队列的第一帧的帧编号进行比较。
[0047] 在一个实施例中,若帧编号相同,检测该缓存队列中是否存在帧编号与参考当前 帧的帧编号相同且特征向量与参考当前帧的特征向量的相似度为1的帧的步骤可以包括: