分布式系统数据同步方法及装置制造方法及图纸

技术编号:12221177 阅读:85 留言:0更新日期:2015-10-22 00:00
本发明专利技术涉及一种分布式系统数据同步方法及装置,基于帧编号和sift特征向量,根据帧编号分为两种情况:帧编号相同时,查找帧编号与参考当前帧的帧编号相同且特征向量与参考当前帧的特征向量的相似度为1的帧,若可以查找到则直接显示该帧,若查找不到,将该缓冲队列为基准作为新的参考队列,重新判断;帧编号不相同时,查找特征向量与参考当前帧的特征向量的相似度为1的帧,若可以查找到则直接显示该帧,若查找不到,将该缓冲队列为基准作为新的参考队列,重新判断。本发明专利技术将多个队列中显示最快的队列作为基准,根据特征向量的相似度找到同步显示的各帧,从而实现了数据的精确同步;具有处理速度快、稳定可靠等优点。

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

【技术保护点】
一种分布式系统数据同步方法,其特征在于,包括步骤:从各缓存队列中选取一个缓存队列作为参考队列;检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相同;若帧编号相同,检测该缓存队列中是否存在帧编号与参考当前帧的帧编号相同且特征向量与参考当前帧的特征向量的相似度为1的帧;若存在,将该帧作为该缓存队列的当前显示帧;否则将该缓存队列作为新的参考队列,返回检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相同的步骤;若帧编号不相同,检测该缓存队列中是否存在特征向量与参考当前帧的特征向量的相似度为1的帧;若存在,将该帧作为该缓存队列的当前显示帧;否则将该缓存队列作为新的参考队列,返回检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相同的步骤。

【技术特征摘要】
1.一种分布式系统数据同步方法,其特征在于,包括步骤:从各缓存队列中选取一个缓存队列作为参考队列;检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相同;若帧编号相同,检测该缓存队列中是否存在帧编号与参考当前帧的帧编号相同且特征向量与参考当前帧的特征向量的相似度为1的帧;若存在,将该帧作为该缓存队列的当前显示帧;否则将该缓存队列作为新的参考队列,返回检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相同的步骤;若帧编号不相同,检测该缓存队列中是否存在特征向量与参考当前帧的特征向量的相似度为1的帧;若存在,将该帧作为该缓存队列的当前显示帧;否则将该缓存队列作为新的参考队列,返回检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相同的步骤。2.根据权利要求1所述的分布式系统数据同步方法,其特征在于,若帧编号相同,检测该缓存队列中是否存在帧编号与参考当前帧的帧编号相同且特征向量与参考当前帧的特征向量的相似度为1的帧的步骤包括:判断该缓存队列的当前帧的特征向量与参考当前帧的特征向量的第一相似度是否为1;若第一相似度为1,将当前帧作为该缓存队列的当前显示帧;若第一相似度不为1,确定该缓存队列中下一个帧编号与参考当前帧的帧编号相同的新帧,并确定新帧的特征向量与参考当前帧的特征向量的第二相似度;若第二相似度为1,将新帧作为该缓存队列的当前显示帧;若第二相似度不为1且大于第一相似度,从新帧后面的帧中,确定帧编号与参考当前帧的帧编号相同且特征向量与参考当前帧的特征向量的相似度为1的帧,将该帧作为该缓存队列的当前显示帧;若第二相似度小于第一相似度,将该缓存队列作为新的参考队列,返回检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相同的步骤。3.根据权利要求1所述的分布式系统数据同步方法,其特征在于,若帧编号不相同,检测该缓存队列中是否存在特征向量与参考当前帧的特征向量的相似度为1的帧的步骤包括:确定该缓存队列中各帧的特征向量分别与参考当前帧的特征向量的相似度;若有相似度为1,将相似度为1对应的帧作为该缓存队列的当前显示帧;若各相似度均不为1,检测相似度最大值对应的帧在该缓存队列中的位置;若相似度最大值对应的帧在该缓存队列的队列头,将该缓存队列作为新的参考队列,返回检测其它缓存队列的当前帧的帧编号与参考队列的参考当前帧的帧编号是否相同的步骤;若相似度最大值对应的帧在该缓存队列的队列尾,消耗该缓存队列的帧直至得到与参考当前帧的相似度为1的帧,将该相似度为1对应的帧作为该缓存队列的当前显示帧。4.根据权利要求1至3任意一项所述的分布式系统数据同步方法,其特征在于,通过确定各帧的灰度直方图得到各帧的特征向量。5.根据权利要求1至3任意一项所述的分布式系统数据同步方法,其特征在于,通过确定缓存队列中某一帧的特征向量与参考当前帧的特征向量的相似度;其中V1表示参考当前帧的特征向量...

【专利技术属性】
技术研发人员:沈三明
申请(专利权)人:广东威创视讯科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1