对来自传感器网络的数据包进行同步的装置和方法

文档序号:7719129阅读:108来源:国知局
专利名称:对来自传感器网络的数据包进行同步的装置和方法
技术领域
本发明涉及数据同步,具体涉及对来自传感器网络的数据包进行同步的装置和方法。·
背景技术
在传感器网络中,经常出现以下数据处理要求接收端从多个传感器接收数据包,其中,数据包的每个具有同步因子,同步因子通常为指示该数据包的产生时间的时间戳;以及按照同步因子对数据包进行同步,即,根据同步因子顺序地输出这些数据包。图I示出上述情形的一个示例,其中,传感器I和传感器2各自独立地向服务器(接收端)发送数据包,接收端按照数据包的时间戳指示的时间对接收到的数据包进行排序,也就是这里所说的同步。由于网络延迟等原因,后发送的数据包可能早于先发送的数据包到达接收端,并且有的数据包甚至可能丢失。顺便指出,在这里及以下说明的情形中,假设传感器I和传感器2具有一致的时钟,也就是说,来自不同传感器的数据包中的时间戳指示的时间均参照同一时间轴。对于不同传感器的时钟不一致的情况,可以通过现有的时钟同步方法使其时钟变得一致。对于图I所示的情形,由于同步的对象是动态流数据,因此对于同步完成的判断存在这样的问题在当前时间点,哪些数据包已经完全同步了?完全同步是指所有发送方在这个时间段内发送的数据包都已经到达并完成同步。因此,同步问题涉及以下两个问题(I)判断当前时间缓存中哪些数据已经同步完成(可以被输出);(2)对局部数据进行动态同步,即实时排序。关于对数据同步完成的判断,通常的方法是假设k个发送方分别发送ηι、η2、…、nk个数据包,当接收方接收到ηι+η2+…+nk个数据包后即认为同步完成。然而在动态环境下,由于发送方的数据包是以流的形式发出的,因此接收方无法获知发送方有多少数据包需要处理。关于对数据包进行动态排序的问题,传统的同步方法是划定时间窗口,将对动态数据的排序转换为对多组静态数据分别进行的排序。该方法的一个缺点是时间窗口的选择难以确定,因为窗口和窗口之间可能存在不同步,例如,由于传输延迟,包含在后一窗口中的数据包的产生时间(时间戳指示时间)可能早于包含在前一窗口中的数据包的产生时间。另外,该方法实现动态数据同步的时间、空间效率较低。

发明内容
本发明的目的在于提供一种对来自传感器网络的数据包进行同步的装置和方法,以至少部分地解决现有技术中存在的问题。根据本发明的一个实施例,提供一种用于对来自传感器网络的数据包进行同步的装置,包括输入单元,其被配置为从至少两个传感器接收带有时间戳的数据包;输出时间确定单元,其被配置为将每个数据包的时间戳指示的时间与时延的和确定为数据包的最早输出时间,该时延取决于希望的数据包到达率;以及输出单元,其被配置为在存在最早输出时间早于当前时间的未输出数据包的情况下,按照时间戳指示的时间从早到晚的顺序输出这些未输出数据包。根据本发明的另一个实施例,提供一种对来自传感器网络的数据包进行同步的方法,包括步骤从至少两个传感器接收带有时间戳的数据包;将每个数据包的时间戳指示的时间与时延的和确定为数据包的最早输出时间,该时延取决于希望的数据包到达率;确定是否存在最早输出时间早于当前时间的未输出数据包;如果存在最早输出时间早于当前时间的未输出数据包,则按照时间戳指示的时间从早到晚的顺序输出这些未输出数据包。



参照以下结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。为了避免因不必要的细节而模糊了本发明,在附图中仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其它细节。图I示出接收端从多个传感器接收数据包的一个示例;图2是示出根据本发明实施例的同步装置100的配置的示意图;图3示出通过根据本发明实施例的同步装置对来自两个传感器的数据包进行同步的示例;图4是示出数据包的时间戳指示的时间与接收到数据包的时间之间的时间差的概率密度函数示例的曲线图;图5是示出根据本发明另一个实施例的同步装置200的配置的示意图;图6是示出根据本发明又一个实施例的同步装置300的配置的示意图;图7示出同步装置300中的同步缓存350所使用的两级哈希表(hash)的示例及其与数据缓存340中的数据包位置的对应关系;图8示出同步装置300中的同步缓存350利用两级hash存储数据包的示意图;图9是示出根据本发明实施例的数据同步方法的流程图;图10是示出根据本发明的另一个实施例的数据同步方法的流程图;图11是示出根据本发明的又一个实施例的数据同步方法的流程图;图12是示出其中实现本发明的装置和方法的计算机的示例性结构的框图。
具体实施例方式下面参照

本发明的实施例。应当注意,为了清楚的目的,附图和说明中省略了与本发明无关的、本领域普通技术人员已知的部件和处理的表示和描述。图2是示出根据本发明实施例的同步装置100的配置的示意图。同步装置100包括输入单元110、输出时间确定单元120、输出单元130和数据缓存140。输入单元110从至少两个传感器接收带有时间戳的数据包。接收到的数据包被存储在数据缓存140中。数据包中包含的数据内容例如是由传感器生成的感测数据,而时间戳指示该数据包的产生时间(也就是发送方发送该数据包的时间)。
当对时间戳指示时间在某一范围内的数据包进行同步时,理想的状态是在所有发送方在该时间段内发送的数据包都已经到达同步装置的情况下才进行同步(输出),也就是完全同步。然而,一方面由于数据包传输延迟的不确定性,另一方面由于方无法获知有多少来自发送方的数据包需要同步,因此难以在同步时确定数据包的实际到达率。根据本发明实施例的同步装置100的输出时间确定单元120根据希望的数据包到达率确定时延,将每个数据包的时间戳指示的时间与所确定的时延相加以得到该数据包的最早输出时间。输出单元130在数据缓存140中存在最早输出时间早于当前时间的未输出数据包的情况下,按照时间戳指示的时间从早到晚的顺序输出这些未输出数据包。输出单元130可以在每输入一个输入数据包后检查是否有满足输出条件的数据包,也可以按预定的时间间隔进行输出操作,或者可以在未输出数据包的数量达到预定阈值时执行输出操作。下面结合图3的示例说明同步装置100进行的同步处理。在图3所示的示例中,同步装置从两个传感器依次接收到数据包〈2,v21>、〈1,vn>、〈3,v12>、〈7,v14>、〈4,v22>、〈6,v23>和〈8, v24>0在数据包的表示<t, Vij)中,t表示时间戳,Vij表示数据内容,i表示传感器的序号,j表示该数据包在该传感器发送的数据流中的序号。例如,〈2,v21>表示时间戳为2的来自传感器2的第I个数据包。为了说明的简单,本示例中的时间戳值为整数,并且未注明单位,而实际的时间戳值可以具有任意的数据精度和单位(例如,毫秒)。输出时间确定单元120根据希望的数据到达率确定时延,例如,输出时间确定单元120可以取某一尝试值作为时延的初始值,使用该时延对数据包进行同步,并确定实际的数据包到达率。通过比较实际数据包达到率与希望的数据包到达率,对时延进行调整,直至得到希望的数据到达率。在图3的例子中,在要进行同步的当前时刻(时间轴上的坐标11),时间戳值小于等于5的数据包满足输出条件,而在接收到的数据包中满足该条件的为〈2,v21>、〈1,vn>、〈3,v12>和〈4,v22>。因此,输出单元130按照时间戳由早到晚的顺序输出数据包〈1,vn>、〈2,v21>、〈3,v12>和〈4,v22>,从而完成对这些数据包的同步。
由于在进行本次同步时传感器I的数据包〈5,V13>还未到达同步装置,因此在本次同步时,在满足条件的时间段内从发送方发送的数据包并未全部到达同步装置,本次同步的实际数据到达率为80%。当希望达到更高的数据到达率时,输出时间确定单元120可以增大时延,例如,可以将时延确定为7。仍以图3所示的情形为例,当时延为7时,时间戳值小于等于4的数据包满足输出条件。因此输出单元130按照时间戳由早到晚的顺序输出数据包〈1,vn>、〈2,v21>、〈3,v12>和〈4,v22>,从而完成对这些数据包的同步。由于在同步时满足输出条件的数据包已全部到达同步装置,因此本次同步的数据到达率为100%。根据本发明的一个实施例,同步装置100的输出时间确定单元120根据数据包传输延迟的概率密度函数,按照希望的数据包到达率确定时延。数据包的传输延迟是指该数据包的时间戳指示时间(即发送方发送该数据包的时间)与输入单元110接收到该数据包的时间之间的时间差。可能的传输延迟分布包括正态分布、二项式分布、泊松分布等。根据一个具体实施例,传输延迟的概率函数具有下式所表不的正态分布
权利要求
1.一种用于对来自传感器网络的数据包进行同步的装置,包括 输入单元,其被配置为从至少两个传感器接收带有时间戳的数据包; 输出时间确定単元,其被配置为将每个所述数据包的所述时间戳指示的时间与时延的和确定为所述数据包的最早输出时间,所述时延取决于希望的数据包到达率;以及 输出单元,其被配置为在存在最早输出时间早于当前时间的未输出数据包的情况下,按照时间戳所指示的时间从早到晚的顺序输出所述未输出数据包。
2.根据权利要求I所述的装置,其中,所述输出时间确定单元根据数据包的时间戳指示的时间与所述输入単元接收到所述数据包的时间之间的时间差的概率密度函数,按照希望的数据包到达率确定所述时延。
3.根据权利要求2所述的装置,其中,所述输出时间确定单元根据样本数据预先确定所述概率密度函数。
4.根据权利要求2所述的装置,还包括更新単元,其被配置为如果同步过程中对于数据包到达的预测的失误率高于预定阈值,则根据所同步的数据包的所述时间差来更新所述概率密度函数。
5.根据前述任ー权利要求所述的装置,还包括同步缓存,所述同步缓存利用两级哈希表来存储所述数据包,其中,一级哈希表对应于所存储的数据包的时间戳的值的起始值,ニ级哈希表对应于所存储的数据包的时间戳的值的偏移量。
6.一种对来自传感器网络的数据包进行同步的方法,包括步骤 从至少两个传感器接收带有时间戳的数据包; 将每个所述数据包的所述时间戳指示的时间与时延的和确定为所述数据包的最早输出时间,所述时延取决于希望的数据包到达率; 确定是否存在最早输出时间早于当前时间的未输出数据包; 如果存在最早输出时间早于当前时间的未输出数据包,则按照时间戳指示的时间从早到晚的顺序输出所述未输出数据包。
7.根据权利要求6所述的方法,其中,根据数据包的时间戳指示的时间与接收到所述数据包的时间之间的时间差的概率密度函数,按照希望的数据包到达率确定所述时延。
8.根据权利要求7所述的方法,其中,根据样本数据预先确定所述概率密度函数。
9.根据权利要求7所述的方法,还包括步骤 如果同步过程中对于数据包到达的预测失误率高于预定阈值,则根据所同步的数据包的所述时间差来更新所述概率密度函数。
10.根据权利要求6-9中任一项所述的方法,其中,利用两级哈希表来存储所述数据包,其中,一级哈希表对应于所存储的数据包的时间戳的值的起始值,ニ级哈希表对应于所存储的数据包的时间戳的值的偏移量。
全文摘要
一种对来自传感器网络的数据包进行同步的装置和方法。该装置包括输入单元,其被配置为从至少两个传感器接收带有时间戳的数据包;输出时间确定单元,其被配置为将每个数据包的时间戳指示的时间与时延的和确定为数据包的最早输出时间,该时延取决于希望的数据包到达率;以及输出单元,其被配置为在存在最早输出时间早于当前时间的未输出数据包的情况下,按照时间戳指示的时间从早到晚的顺序输出这些未输出数据包。
文档编号H04L1/16GK102857333SQ20111019023
公开日2013年1月2日 申请日期2011年6月28日 优先权日2011年6月28日
发明者葛付江, 夏迎炬, 孟遥, 于浩, 贾文杰, 贾晓建 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1