欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 节点、网络系统和数据同步方法独创技术42020字

节点、网络系统和数据同步方法

2021-02-02 01:17:18

节点、网络系统和数据同步方法

  技术领域

  本文件涉及节点、网络系统以及网络系统的多个节点之间的数据同步方法。

  该节点适用于在不同节点之间提供自动数据同步的网络系统中使用,即,在节点之间无需人为干预并且没有任何中央控制节点即可使数据同步的网络系统中使用。

  背景技术

  网络系统是包括链接在一起以共享资源或信息的多个节点的系统。数据链路通常通过有线介质(如光缆)或无线介质(如Wi-Fi)建立。由于网络系统以便捷高效的数据交换而著称,因此它们广泛用于我们的日常生活中,如计算机网络、电信、云计算、电视网络。其他应用包括工业类型的控制系统,这些控制系统用于控制与制造和/或仓储相关的物品的处理和移动。又进一步的应用包括车辆中的内部通信网络,用于车辆的各个部件之间的通信。

  网络系统通常包括多个节点,这些节点能够通过连接到另一节点的通信信道来创建、接收或传输信息。

  对于网络系统的各种应用,如文件同步,基本的是随时间推移保持网络系统的不同节点之间的数据一致性。因此,需要从网络系统的源节点到目标节点的某些数据之间的连续同步,反之亦然。例如,如果一个节点被告知另一节点发生故障,则它可能会停止向异常节点发送数据,而将数据路由到其他功能节点,使得数据将不会丢失并且数据传输将不会延迟。因此,将避免由于异常节点而需要重新平衡网络系统中的节点的数据处理容量(这通常涉及中央控制节点和大量的劳动),使得可以提高网络系统的效率和稳健性。

  此外,期望能够通过稳健的程序来重新配置节点。

  因此,需要一种节点,该节点可以在减少人为干预的情况下提高网络系统的效率和稳健性。

  发明内容

  本披露内容的目的是提供一种改进的节点,并且具体地,一种可以在减少人为干预的情况下提高网络系统的效率和稳健性的节点。

  本发明由所附独立权利要求、以及在所附从属权利要求中以及在以下说明中和在附图中阐述的实施例限定。

  根据第一方面,提供了一种节点,该节点包括数据存储单元,该数据存储单元被配置为存储多个数据条目,每个数据条目包括数据条目ID、数据条目版本标识符和表示该节点或另一节点的操作信息的数据有效载荷。该节点进一步包括处理单元和用于与所述另一节点通信的第一接口。该节点被配置为经由该第一接口向其他节点传输第一心跳数据包,该第一心跳数据包包括该数据存储单元中的数据条目的数据条目ID和数据条目版本标识符。该节点被配置为经由该第一接口接收由所述另一节点传输的第二心跳数据包,该第二心跳数据包包括所述另一节点的数据条目的数据条目ID和数据条目版本标识符。该节点被配置为将该第二心跳数据包的接收到的数据条目版本标识符与该数据存储单元中同该第二心跳数据包具有相同数据条目ID的对应数据条目的数据条目版本标识符进行比较。当该节点确定存储在其存储单元中的该数据条目比所述另一节点中的对应数据条目新时,该节点被配置为向所述另一节点传输第一同步数据包,该第一同步数据包包括该数据存储单元中的该对应数据条目的该数据条目ID、该数据条目版本标识符、以及该数据有效载荷的至少一部分。该第一同步数据包的大小大于该第一心跳数据包的大小。

  该第一数据包可以基本上由该数据存储单元中的该数据条目的该数据条目ID和该数据条目版本标识符组成。

  通过仅包括数据条目中的一个或多个数据条目的数据条目ID和对应数据条目版本标识符,该第一数据包可以用于仅以少量数据广播该数据条目的该数据条目版本标识符。

  当一个节点要触发其他节点的同步时,由于包括用于同步的附加数据(比如数据有效载荷的一部分),所传输的第一同步数据包可能具有更大的大小。

  控制所传输的数据包的内容和/或大小的优点是,由于只有触发同步的节点可以传输大小较大的数据包,而所有其他数据包的大小相对较小,因此使得即使该网络系统包括大量节点,即,在节点之间同时传送大量数据包,窄带宽的数据通信信道也可以处理节点之间的数据包传送,这还降低了用于实施网络系统的成本和复杂性。

  此外,改善了本披露内容的方法和节点的灵活性,使得它们可以在甚至包括大量节点的网络系统中使用,而无需进行任何修改,否则这些修改对于处理由大量或大小较大的所传输和/或接收到的数据包引起的问题是必需的。

  还有利的是,由于当需要在包括多个现存节点的网络系统中安装新的节点时,或者需要重新配置现有节点时,该节点可以通过由具有“较新”数据条目的那些节点触发的同步来自动与其他节点同步。因此,可以有助于网络系统中的新节点的安装和现有节点的重新配置。

  本发明的一个节点定期地向另一节点传输心跳数据包并从该另一节点接收心跳数据包。当一个节点了解其比另一节点具有较新的数据条目(比如节点的新操作信息)时,该节点将向具有较旧的数据条目的另一节点发送同步数据包以进行更新。因此,在同步周期期间,仅需要在两个节点之间传输以下两种类型的数据包:1)心跳数据包,和2)同步数据包。

  进一步地,当一个节点意识到其比其他节点具有较新的数据条目时,可以由该节点自动初始化两个节点之间的同步。也就是说,在本发明中,不需要用于初始化两个节点之间的同步的特殊的“同步请求”。因此,本发明中的每个节点具有用于初始化同步的相同状态。

  还有利的是,由于一个节点可以用作用于触发其他节点的同步的临时“主”节点,并且其他节点可以用作用于在“主”节点上进行同步的“从”节点。因此,可以在网络系统中的多个节点之间实现数据同步,而无需中央控制节点或任何人为干预。

  由于每个节点都可以充当“主”节点来触发其他节点的同步,因此实现了浮动主网络系统。

  该节点可以进一步被配置为接收第二同步数据包,该第二同步数据包包括所述另一节点的数据存储单元中的第二数据条目的第二数据条目ID、第二数据条目版本标识符、以及第二数据有效载荷的至少一部分。该第二同步数据包的大小大于该第二数据包的大小。当该第二同步数据包的该第二数据条目版本标识符被指示为比该数据存储单元中的对应数据条目的数据条目版本标识符新时,该节点被配置为根据该第二同步数据包的该第二数据有效载荷的一部分和该第二数据条目版本标识符来更新该数据存储单元中的该对应数据条目的该数据有效载荷和该数据条目版本标识符。

  该节点可以被配置为基于存储在其存储单元中的该数据条目的数据有效载荷的变化和/或该数据条目的数据版本标识符的变化来确定该数据条目比所述另一节点中的该对应数据条目新。

  该节点可以被配置为基于该第二心跳数据包的该数据条目版本标识符被指示为比该数据存储单元中的该对应数据条目的该数据条目版本标识符旧来确定存储在该节点的存储单元中的该数据条目比所述另一节点中的该对应数据条目新。

  该节点可以被配置为使得该第一同步数据包包括该数据有效载荷的一部分,所述部分是该数据条目的该数据有效载荷的子集,并且其中,该第一同步数据包进一步包括对该数据条目的总数据有效载荷大小的指示和/或数据有效载荷部分顺序指示符。

  在这种情况下,该节点可以被配置为合并来自两个或更多个同步包的数据有效载荷。可以基于数据有效载荷大小和数据有效载荷部分顺序指示符来执行这种合并。

  此外,在这种情况下,该节点可以被配置为仅在已经接收到关于数据条目的至少两个、优选地所有同步包之后才更新数据条目版本标识符。

  该节点可以被配置为仅针对满足比如数据条目ID或数据条目ID范围的预定标准的数据条目传输该第一心跳数据包。

  该节点可以被配置为仅当该第二心跳数据包的该数据条目ID满足比如数据条目ID或数据条目ID范围的预定标准时接收所述心跳第二数据包。

  该节点可以进一步包括用于与外部单元通信的第二接口。

  该节点可以进一步被配置为经由该第二接口从该外部单元接收第一信号,该第一信号用于更新该数据存储单元中的数据条目的数据有效载荷;和/或经由该第二接口向该外部单元提供第二信号,该第二信号用于控制该外部单元。

  该节点可以被配置为:当接收到该第一信号时,根据该第一信号更新该数据存储单元中的该数据条目的该数据有效载荷;并且更新已更新数据条目的数据条目版本标识符以指示较新的版本。

  该外部单元可以包括致动器、传感器、标签写入器、标签读取器、相机、摄影眼、按钮、键盘、手机、智能设备、扫描仪等。

  该数据条目版本标识符可以包括计数器或时间戳。

  该操作信息可以包括比如节点配置的操作模式和/或比如传感器状态或错误状态的操作状态。

  该第一接口可以包括无线接口或有线接口,比如但不限于使用选自由CAN、以太网、PROFIBUS、ProfiNET、I2C、SPI和RS-485组成的组的协议的串行接口。

  该第二接口可以是单个接口或两个或更多个单独的接口。

  可以通过对该计数器的值执行算术运算来更新该已更新数据条目的数据条目版本标识符,该算术运算包括向该计数器的该值加上预定数和/或从该值减去预定数,优选地,预定数是1。

  该操作信息可以包括操作模式和/或操作状态。

  该节点可以被配置为向与该节点和所述另一节点不同的至少一个节点传输该第一心跳数据包。该节点可以被配置为向所有可访问的节点传输该第一心跳数据包。

  该节点可以被配置为:经由该第一接口接收由所述至少一个节点传输的心跳数据包,所述心跳数据包包括所述至少一个节点的数据条目的数据条目ID和数据条目版本标识符;并且将所述心跳数据包的接收到的数据条目版本标识符与该数据存储单元中同所述心跳数据包具有相同数据条目ID的对应数据条目的数据条目版本标识符进行比较;其中,当该节点确定存储在其存储单元中的该数据条目比所述至少一个节点中的该对应数据条目新时,该节点被配置为向所述至少一个节点传输同步数据包,该同步数据包包括该数据存储单元中的该对应数据条目的该数据条目ID、该数据条目版本标识符、以及该数据有效载荷的至少一部分;其中,所述同步数据包的大小大于该第一心跳数据包的大小。

  该数据有效载荷可以进一步表示与该节点和所述另一节点不同的至少一个节点的操作信息。该数据有效载荷可以表示所有节点的操作信息。根据第二方面,提供了一种网络系统,该网络系统包括第一节点和第二节点。

  该第一节点包括:第一数据存储单元,该第一数据存储单元被配置为存储多个第一数据条目,每个第一数据条目包括数据条目ID、数据条目版本标识符和表示该第一节点或该第二节点的操作信息的数据有效载荷;第一处理单元;以及第一接口,该第一接口用于与该第二节点通信。

  该第二节点包括:第二数据存储单元,该第二数据存储单元被配置为存储多个第二数据条目,每个第二数据条目包括数据条目ID、数据条目版本标识符和表示该第一节点或该第二节点的操作信息的数据有效载荷;第二处理单元;以及第二接口,该第二接口用于与该第一节点通信。

  该第一节点被配置为:经由该第一接口向该第二节点传输第一心跳数据包,该第一心跳数据包包括该第一数据存储单元中的第一数据条目的数据条目ID和数据条目版本标识符;经由该第一接口接收由该第二节点传输的第二心跳数据包,该第二数据包包括该第二节点的第二数据条目的数据条目ID和数据条目版本标识符;并且将该第二心跳数据包的接收到的数据条目版本标识符与该数据存储单元中同该第二数据包具有相同数据条目ID的对应数据条目的数据条目版本标识符进行比较。当该第一节点确定存储在其存储单元中的该数据条目比该第二节点中的该对应数据条目新时,该第一节点被配置为向该第二节点传输第一同步数据包,该第一同步数据包包括该数据存储单元中的该对应第一数据条目的该数据条目ID、该数据条目版本标识符、以及该数据有效载荷的至少一部分;其中,该第一同步数据包的大小大于该第一心跳数据包的大小。

  该第二节点被配置为:传输该第二心跳数据包,该第二心跳数据包包括该第二节点的该第二数据条目的数据条目ID和数据条目版本标识符;接收该第一同步数据包,该第一同步数据包包括该第一数据存储单元中的该对应第一数据条目的该数据条目ID、该数据条目版本标识符、以及该数据有效载荷的该至少一部分;并且将该第一同步数据包的接收到的数据条目版本标识符与该第二数据存储单元中的该第二数据条目的数据条目版本标识符进行比较;并且其中,当该第一同步数据包的该数据条目版本标识符被指示为比该第二数据存储单元中的该第二数据条目的该数据条目版本标识符新时,并且当该第一同步数据包包括与同该第二数据存储单元中的该第二数据条目相同的数据条目ID相关联的数据有效载荷的一部分时,该第二节点被配置为根据该第一同步数据包的该数据有效载荷的一部分和该数据条目版本标识符来更新该第二数据存储单元中的该第二数据条目的该数据有效载荷和该数据条目版本标识符。

  如通过引言所定义的,两个或更多个节点可以在网络系统中使用。

  该第一节点可以进一步包括用于与外部单元通信的第二接口。

  根据第三方面,提供了一种在形成网络系统的一部分的多个节点之间的数据同步方法,其中,每个节点包括:数据存储单元,该数据存储单元被配置为存储多个数据条目,每个数据条目包括数据条目ID、数据条目版本标识符和表示该节点或另一节点的操作信息的数据有效载荷;处理单元;以及第一接口,该第一接口用于与所述另一节点通信。

  该方法包括:在每个节点中,经由该第一接口向其他节点传输第一心跳数据包,该第一心跳数据包包括该数据存储单元中的数据条目的数据条目ID和数据条目版本标识符;经由该第一接口接收由所述另一节点传输的第二心跳数据包,该第二数据包包括所述另一节点的数据条目的数据条目ID和数据条目版本标识符;以及将该第二心跳数据包的接收到的数据条目版本标识符与该数据存储单元中同该第二数据包具有相同数据条目ID的对应数据条目的数据条目版本标识符进行比较。当该节点确定存储在其存储单元中的该数据条目比所述另一节点中的该对应数据条目新时,该方法包括向所述另一节点传输第一同步数据包,该第一同步数据包包括该数据存储单元中的该对应数据条目的该数据条目ID、该数据条目版本标识符、以及该数据有效载荷的至少一部分。该第一同步数据包的大小大于该第一心跳数据包的大小。

  该第一心跳数据包和该第二心跳数据包可以基本上由相应数据条目ID和数据条目版本标识符组成。

  该方法可以进一步包括:接收第二同步数据包,该第二同步数据包包括所述另一节点的数据存储单元中的第二数据条目的第二数据条目ID、第二数据条目版本标识符、以及第二数据有效载荷的至少一部分,其中,该第二同步数据包的大小大于该第二数据包的大小,并且当该第二同步数据包的该第二数据条目版本标识符被指示为比该数据存储单元中的对应数据条目的数据条目版本标识符新时,该方法进一步包括根据该第二同步数据包的该第二数据有效载荷的一部分和该第二数据条目版本标识符来更新该数据存储单元中的该对应数据条目的该数据有效载荷和该数据条目版本标识符。

  该方法可以进一步包括向与该节点和所述另一节点不同的至少一个节点传输该第一心跳数据包。该方法可以进一步包括向所有可访问的节点传输该第一心跳数据包。

  该方法可以进一步包括:经由该第一接口接收由所述至少一个节点传输的心跳数据包,所述心跳数据包包括所述至少一个节点的数据条目的数据条目ID和数据条目版本标识符;以及将所述心跳数据包的接收到的数据条目版本标识符与该数据存储单元中同所述心跳数据包具有相同数据条目ID的对应数据条目的数据条目版本标识符进行比较;其中,当该节点确定存储在其存储单元中的该数据条目比所述至少一个节点中的该对应数据条目新时,该方法包括:向所述至少一个节点传输同步数据包,该同步数据包包括该数据存储单元中的该对应数据条目的该数据条目ID、该数据条目版本标识符、以及该数据有效载荷的至少一部分;其中,所述同步数据包的大小大于该第一心跳数据包的大小。

  该数据有效载荷可以进一步表示与该节点和所述另一节点不同的至少一个节点的操作信息。该数据有效载荷可以表示所有节点的操作信息。

  该方法可以由节点和包括两个或更多个这种节点的网络系统执行,如通过引言所描述的。

  附图说明

  图1是根据本披露内容的网络系统的示意图。

  图2是根据本披露内容的节点的示意图。

  图3是存储在根据本披露内容的节点的数据存储单元中的数据条目的第一示例。

  图4a至图4c是存储在根据本披露内容的节点的数据存储单元中的数据条目的第二示例。

  图5是根据本披露内容的方法流程图。

  具体实施方式

  图1展示了根据本披露内容的网络系统1的示意图。网络系统1可以包括多个节点。例如,图1中的网络系统1包括四个节点11、12、13、14。

  网络系统1可以包括除了这些节点之外的设备(未示出),比如用于执行某些任务的设备,或用于从用户接收指令和/或向用户提供反馈的HMI设备。节点可以与用于执行某些任务的相应设备相关联,比如传感器、微处理器、外部硬盘驱动器、键盘、显示器、触摸屏。节点11、12、13、14可以是用于控制和/或监测网络系统的一个或多个设备的设备。

  如图2所示,每个节点11、12、13、14可以包括数据存储单元101、处理单元102和第一接口103。

  数据存储单元101可以是适于在其中记录数据或信息的任何类型的设备或介质。可以读出存储在数据存储单元中的数据。任何新数据都可以写入数据存储单元中。这种数据存储单元的示例可以是易失性或非易失性存储器设备,包括但不限于CD-RW盘、硬盘驱动器和闪存存储器。

  处理单元102可以是适于通过执行由指令所指定的基本算术、逻辑、控制和输入/输出操作来执行指令的任何类型的设备。处理单元可以是CPU、MCU、DSP、PLC或单个集成电路。

  第一接口103可以用于与一个或多个其他节点通信。节点可以经由第一接口103将第一数据包传输到网络系统中的另一节点或多个其他节点。节点可以经由第一接口103接收由其他节点之一传输的第二数据包。

  第一接口103可以包括无线接口。第二接口可以包括有线接口。因此,一个节点与其他节点之间的通信可以是有线和/或无线的。有线接口可以是包括选自CAN、以太网、PROFIBUS、I2C、SPI或RS-485的协议的串行接口。无线接口可以根据从无线LAN、Wi-Fi、蜂窝网络等中选择的标准来启用无线通信。

  如图2所示,每个节点11、12、13、14可以包括用于与外部单元通信的第二接口104。在图2中,第二接口104与两个外部单元15和16通信。

  第二接口可以是单个接口或两个或更多个单独的接口。

  外部单元15、16可以是外部硬盘驱动器、致动器、传感器、标签写入器、标签读取器、相机、摄影眼、按钮、键盘、手机、智能设备、扫描仪等。

  节点11、12、13、14因此可以经由第二接口104从外部单元15、16接收第一信号。接收到这种信号可以使处理单元更新数据存储单元101中的数据条目的数据有效载荷。

  例如,在接收到指示外部硬盘驱动器的数据溢出的信号时,处理器可以更新对应的数据条目以指示在外部硬盘驱动器中发生数据溢出。

  节点可以经由第二接口104向外部单元提供第二信号,比如用于控制外部单元执行任务的指令。

  例如,该节点可以向外部硬盘驱动器提供信号以使其重启。

  第二接口104可以包括无线接口。替代性地,第二接口可以包括有线接口,比如串行接口。因此,节点与外部单元之间的经由第二接口的通信可以是有线的或无线的。

  本披露内容特别适用于被配置为经由公共通信网络传输信息的节点11、12、13、14。节点11、12、13、14可以被配置为以这种允许所有节点接收经由公共通信网络传送的所有信息的方式进行通信。

  在数据存储单元101中,存储了多个数据条目。图3是存储在节点11、12、13、14的数据存储单元101中的数据条目的示例。

  每个数据条目可以包括数据条目ID、数据条目版本标识符和数据有效载荷。

  每个数据条目的数据条目ID可以是唯一的,如图3和图4a至图4c所示。因此,唯一数据条目ID可以用于将一个数据条目与其他数据条目区分开。

  数据有效载荷可以表示一个节点的操作信息。操作信息可以包括节点的操作模式和/或操作状态。

  操作模式可以包括操作配置信息,例如,该节点或另一节点要执行的功能的信息。

  操作状态可以包括节点的实际状态的信息,比如节点处于满载容量或发生故障。作为非限制性示例,操作状态可以指示外部设备的操作状态,比如外部硬盘驱动器的操作状态。

  数据条目版本标识符可以指示数据条目的版本。因此,当与例如另一节点的对应数据条目进行比较时,该数据条目版本标识符可以用于表示数据条目是较新的或是较旧的。

  数据条目版本标识符可以是计数器,如图3和图4a至图4c所示。当例如用已更新数据有效载荷更新数据条目时,可以通过对计数器的值执行算术运算来更新计数器。对于所有数据条目,计数器的值可以被初始地设置为“0”。对于一个数据条目中的每次更新,其数据条目版本标识符,即,计数器,可以增加预定值。预定值可以是“1”。替代性地,也可以对计数器的值执行其他算术运算,比如减法。

  数据条目版本标识符可以是时间戳。当系统启动时,所有数据条目的时间戳都可以被初始地设置为“0”。对于系统启动后数据条目中的每次更新,可以将时间戳赋予(accorded)为其数据条目版本标识符。赋予的时间戳可以是从系统启动时间直到更新发生时间计算的时间间隔。

  如果使用实时系统,则网络系统中的每个节点可以通过例如系统的全局时钟信号、外部公共时间服务器或外部GPS信号进行同步,这将不可避免地增加整个系统的复杂性。此外,网络系统可以另外包括用于实时同步所有节点的中央节点。因此,使用数据条目版本标识符可以简化网络系统。

  进一步,如果使用实时系统,则两个节点之间的较小未同步可能会导致数据条目的时间顺序错误,使得系统无法按所期望地运行。然而,通过使用时间戳而不是实时,可以通过在系统启动时简单地将时间戳设置为初始值“0”来保证这种正确的时间顺序。因此,使用数据条目版本标识符可以提高网络系统的稳健性。

  每个节点可以存储整个数据集,该整个数据集包括网络系统中所有节点的所有数据条目。替代性地,每个节点可以存储整个数据集的仅一部分。例如,每个节点可以仅存储网络系统中与其自身有关的一些节点的数据条目。特别地,可以配置某一组节点,使得每个节点存储形成该组的节点的完整信息。

  图4a至图4c是存储在节点的数据存储单元中的数据条目的第二示例。

  在图4a中,已经展示了可以如何设计每个数据条目以表示如上文所描述的操作信息的一个或多个变量。在此示例中,长度为10个位置的第一数据条目(数据条目ID 100)可以表示四个不同的变量。因此,数据结构被定义为使得数据有效载荷的前两个位置表示变量1;接下来的三个位置表示变量2;接下来的两个位置表示变量3并且最后三个位置表示变量4。此数据结构定义对所有需要能够处理此数据条目的节点是已知的。

  以类似的方式,第二数据条目101的长度可以为15个位置,并且被定义为表示五个不同的变量,并且第三数据条目102可以具有四个位置的数据有效载荷并且表示单个变量。

  然后心跳数据包将具有以下形式:

  100 1,

  其中“100”表示数据条目ID并且“1”表示数据条目版本标识符。

  数据同步包可以被定义为使得可以在一个同步数据包中传输数据条目的整个数据有效载荷。这种数据同步包仅需要包含数据条目ID、数据条目版本标识符和数据有效载荷。

  因此,基于图4a的同步数据包可以采用以下形式:

  100 1 1234567890。

  在图4b中,展示了在正在传输的数据有效载荷长度限于四个位置的情况下用于传输数据同步包的数据结构。也就是说,数据有效载荷长度小于与特定数据条目相关联的总数据有效载荷。因此,数据条目分为三个消息。在这种情况下,有必要提供将允许接收节点基于包含数据有效载荷的一部分的两个或更多个包将数据条目的整个数据有效载荷正确地修补(patch)在一起的信息。

  在图4b中,已经提供了对数据有效载荷大小的指示和指示正在传输数据有效载荷的哪一部分的标志。因此,基于最大数据有效载荷大小为四的知识,接收节点将能够确定应该以何种顺序将来自包的数据有效载荷修补在一起。因此,数据同步包可以采用以下形式:

  

  作为一种替代方案,每个数据条目的有效载荷大小可以对所有节点是已知的,在这种情况下,仅需要标志。

  值得注意的是,在上文的示例中,有效载荷标志在数据条目中形成单独的数据字段或预定位置。

  作为一种替代方案,有效载荷标志可以包括在其他数据字段之一中,比如在数据条目ID字段中。例如,根据上文的示例,用于第一数据条目100的同步数据包可以是:

  

  也就是说,指示数据条目ID的数据字段可以被扩展以指示此数据条目的哪一部分附于数据包中。

  参考图4c,作为又另一个替代方案,可以通过确定一定范围的数据条目ID一起形成一个数据条目来完全分配有效载荷标志,使得具有该范围内的ID的每个同步数据包可以被标识为属于该数据条目,由此接收节点将合并具有所述范围内的数据条目ID的同步数据包的数据有效载荷。在这种情况下,用于第一数据条目100的对应数据包可以为:

  

  同样在此示例中,可以省略数据有效载荷大小。

  现在将参考图5针对网络系统1的操作进行描述。

  节点11、12、13、14可以被配置为经由第一接口103向其他节点传输第一数据包,该第一数据包包括数据存储单元中的一个或多个(优选地所有)数据条目的数据条目ID和数据条目版本标识符,步骤s1。此传输可以作为心跳信号定期地执行。

  节点11、12、13、14可以被配置为经由第一接口103接收由其他节点中的一个、一些或所有节点传输的一个或多个第二数据包,其中,第二数据包包括其他节点中的所述一个节点的数据条目的数据条目ID和数据条目版本标识符,步骤s2。因此,每个节点可以传输其自身心跳信号以及从其他节点中的一个或所有节点接收心跳信号。

  节点11、12、13、14可以被配置为将第二心跳数据包的接收到的数据条目版本标识符与数据存储单元中同第二数据包具有相同数据条目ID的对应数据条目的数据条目版本标识符进行比较,步骤s3。典型地,可以对每个接收到的第二数据包执行这种比较。

  节点可以被配置为例如在接收到用于更新数据有效载荷的第一信号时更新数据存储单元中的数据条目的数据有效载荷,并且更新已更新数据条目的数据条目版本标识符以指示较新的版本。

  当在步骤s3中第二数据包的数据条目版本标识符被指示为比数据存储单元中的对应数据条目的数据条目版本标识符旧时,节点可以被配置为传输第一同步数据包,该第一同步数据包包括数据存储单元中的对应数据条目的数据条目ID、数据条目版本标识符和数据有效载荷的至少一部分,优选地所有数据有效载荷,其中,第一同步数据包的大小大于第一数据包的大小,步骤s4。

  因此,当节点接收到包括相比于节点的数据存储单元中的对应数据条目较旧的数据条目的数据包时,节点发出最当前的对应数据条目直到所有节点都已经关于数据条目更新。

  当第二数据包的数据条目版本标识符被指示为比数据存储单元中对应数据条目的数据条目版本标识符新时,并且当第二数据包包括与同数据存储单元中的对应数据条目相同的数据条目ID相关联的数据有效载荷的一部分时,节点可以被配置为根据第二数据包的数据有效载荷的一部分和数据条目版本标识符来更新数据存储单元中的对应数据条目的数据有效载荷和数据条目版本标识符,步骤s5。

  另一方面,如果第二数据包的数据条目版本标识符与存储单元中的对应数据条目的数据条目版本标识符相同,则不需要执行同步操作。

  在以下涉及两个节点11、12的示例中,将描述网络系统1的多个节点11、12、13、14之间的数据同步。

  第一节点11可以具有存储在其数据存储单元中的数据条目A-11。数据条目A-11可以具有数据条目ID 100、数据条目版本标识符1以及包括第一节点11的操作状态的信息的数据有效载荷。

  第二节点12可以具有存储在其数据存储单元中的数据条目A-12。数据条目A-12可以是数据条目A-11的副本。因此,数据条目A-12还可以具有数据条目ID 100、数据条目版本标识符1以及包括第一节点11的操作状态的信息的数据有效载荷,如数据条目A-11那样。

  第一节点11可以从外部硬盘驱动器接收指示外部硬盘驱动器的数据溢出的信号。

  在接收到信号时,节点11的处理单元102可以引起数据条目A-11的数据有效载荷的更新。因此,在已更新数据条目A’-11中,已更新数据有效载荷可以指示外部硬盘驱动器的数据溢出。因此,节点11可以更新已更新数据条目A’-11的数据条目版本标识符以指示较新的版本。例如,A’-11的数据条目版本标识符可以从1更新为2。

  也就是说,数据条目的数据有效载荷的变化可以触发对同步数据包的发送。

  替代性地,可以响应于第一节点发现接收到的心跳数据包具有较旧的数据条目版本标识符来触发对数据同步包的发送。

  第二节点12可以向第一节点11传输第二数据包,该第二数据包包括数据条目A-12的数据条目ID 100和数据条目版本标识符1。

  第一节点11可以接收由第二节点12传输的第二数据包。由于接收到的数据条目ID是100,因此第一节点11可以将接收到的第二数据包的接收到的数据条目版本标识符1与在其数据存储单元中具有相同数据条目ID 100的对应数据条目A’-11的数据条目版本标识符2进行比较。

  比较之后,得出结论,第二数据包的数据条目版本标识符1被指示为比对应数据条目A’-11的数据条目版本标识符2旧。也就是说,第二节点12的对应于数据条目A-11的数据条目A-12不像第一节点11的已更新数据条目A’-11那样进行更新。

  在检测到接收到的第二数据包的数据条目A-12的较旧版本时,第一节点11可以传输第一同步数据包,该第一同步数据包包括已更新数据条目A’-11的数据条目ID 100、数据条目版本标识符2以及指示外部硬盘驱动器的数据溢出的数据有效载荷的至少一部分。

  由于包括用于更新的附加数据有效载荷,因此第一同步数据包的大小可以大于其先前发送的数据包的大小。

  第二节点12可以接收由第一节点11传输的第一同步数据包。第一同步数据包可以包括第一节点11的已更新数据条目A’-11的数据条目ID 100、数据条目版本标识符2以及指示外部硬盘驱动器的数据溢出的数据有效载荷的该一部分。

  由于接收到的第一同步数据包的数据条目ID为100,因此第二节点12可以将第一同步数据包的接收到的数据条目版本标识符2与在其数据存储单元中的具有相同数据条目ID 100的对应数据条目A-12的数据条目版本标识符1进行比较。

  比较之后,得出结论,第一同步数据包的数据条目版本标识符2被指示为比对应数据条目A-12的数据条目版本标识符1新。也就是说,存储在第二节点12中的作为数据条目A-11的副本的数据条目A-12不像存储在第一节点11中的已更新数据条目A’-11那样进行更新。

  在检测到节点11的数据条目A’-11的较新版本并且第一同步数据包包括属于节点11的数据存储单元中的对应数据条目A’-11的数据有效载荷的一部分时,第二节点12可以根据接收到的第一同步数据包来更新数据条目A-12的数据有效载荷和数据条目版本标识符1。

  已更新数据条目A’-12可以具有数据条目ID 100、已更新数据条目版本标识符2以及指示外部硬盘驱动器的数据溢出的已更新数据有效载荷,如数据条目A’-11那样。也就是说,存储在第二节点12中的已更新数据条目A’-12被更新为第一节点11的已更新数据条目A’-11的副本。

  第二节点12将继续发出指示旧数据条目版本的第二数据包,直到数据条目已经更新。在数据条目已经更新之后,节点12还将更新数据条目版本标识符。

  如果需要传输多于一个数据同步包,则第二节点12可以推迟更新其数据条目版本标识符,直到已经接收到所有数据同步包并且已经完整接收到对应数据有效载荷。

  任选地,节点12可以向节点11发送第一通知,该第一通知用于告知节点11第一同步数据包已经被完整接收、完整存储和/或成功更新。第一通知可以是包括已更新数据条目A’-12的数据条目ID 100和已更新数据条目版本标识符2的数据包。

  任选地,第二节点12可以向第一节点11发送包括数据条目A-12的数据条目版本标识符1和数据条目ID 100的第二通知,直到第一同步数据包被完整接收、完整存储、和/或成功更新。第二通知可以用于告知第一节点11第一同步数据包尚未被完整接收、尚未被完整存储和/或尚未完成更新。

  网络系统1中的其他节点13、14可以各自包括数据条目A-13和A-14,分别作为节点11的数据条目A-11的副本。其他节点13、14也可以执行与节点11、12相同的同步,使得已更新数据条目A’-13和A’-14的已更新数据条目版本标识符也可以如已更新数据条目A’-12那样被更新为2。此后,第一节点11可以不从第二节点12和其他节点13、14接收其中具有数据条目ID 100的数据条目的数据条目版本标识符被指示为比数据条目版本标识符2旧的数据包。

  第一节点11可以传输第二同步数据包,该第二同步数据包包括在其数据存储单元中的数据条目A’-11的数据条目ID 100、数据条目版本标识符2。第二同步数据包的大小可以小于第一同步数据包的大小。

  也就是说,在网络系统中的所有节点12、13、14与已更新数据条目A’-11同步之后,节点11没有必要继续传输包括任何数据有效载荷的第一同步数据包。第一节点11可以开始传输具有较小大小的数据包,该数据包仅包括已更新数据条目A’-11的数据条目ID 100和数据条目版本标识符2,或者包括已更新数据条目A’-11的数据条目ID 100、数据条目版本标识符2以及数据有效载荷的一小部分。

  当需要在包括多个现存节点11、12、13、14的网络系统1中安装新节点时,新节点可以被配置为包括具有例如“0”的旧数据条目版本标识符的数据条目。因此,新节点可以通过由具有“较新”数据条目的那些节点触发的同步而自动与其他现有节点11、12、13、14同步。因此,可以有助于网络系统中的新节点的安装。

  当需要重新配置节点11时,节点可以通过由具有“较新”数据条目的那些节点触发的同步而自动与其他节点同步,而无需任何人为干预。因此,可以有助于现有节点的重新配置。

  在图4a至图4c中披露的数据条目结构中,可以包括附加字段,该附加字段可以用于指示节点是否需要此数据条目。基于这种字段,节点可能会忽略与不需要的数据条目有关的所有数据包。

  网络系统可以进一步包括流配置器,即,用于确定每个节点的功能的设备。可以基于来自用户接口的输入或基于已经接收到的配置计划来做出这种确定。流配置器可以以与上文关于节点所描述的方式的相同的方式进行通信,不同之处在于,其有效载荷可以通过用户接口或通过配置计划进行操纵。

  因此,可以通过更新流配置器的数据条目中的一些或全部数据条目来实现对节点的配置。因此,一旦开始接收来自其他节点的指示这些节点具有较旧的数据条目的消息,流配置器就将开始发出已更新数据条目。

  此外,可以通过向节点分配某种功能来引入该节点,使得该节点将知道需要接收和存储哪些数据,并且可以将其数据条目重置为非常低的数据条目版本指示符值,比如0或1,由此,当将该节点引入到现有网络系统中并开始发出第一心跳数据包时,其他节点将识别出存在具有较旧数据版本的节点,并且因此开始发出同步数据包以允许新的节点更新其数据条目。

《节点、网络系统和数据同步方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)