一种主辅同步的方法及装置的制作方法

文档序号:7554669阅读:186来源:国知局
专利名称:一种主辅同步的方法及装置的制作方法
技术领域
本发明涉及通信技术领域,尤其涉及一种主辅同步的方法及装置。
背景技术
主辅转发器中的数据可能会发生丢失,或者未接收到更新的信息等,此时需要主转发器和辅转发器互相发送数据,实现主辅同步。当需要主辅同步时,主转发器需要将所有的信息发送给辅转发器。转发器只能向已连接并注册的设备发送信息,而转发器不具有向其他转发器进行连接、注册的功能。所以,当主转发器需要向辅转发器发送数据时,由于辅转发器不能向主转发器注册,因此主转发器不能向辅转发器发送数据。同理,辅转发器也不能向主转发器发送数据,因此无法保证主辅同步。

发明内容
本发明实施例提供一种主辅同步的方法及装置,用于实现在不改变主辅转发器结构时,实现主辅同步。一种主辅同步的方法,包括以下步骤:在需要主辅同步时,虚拟用户设备接收第一转发器发送的转发指令,转发指令包括同步数据;虚拟用户设备向第二转发器发送所述转发指令。通过虚拟用户设备,在不改变主辅转发器结构的情况下完成主辅转发器之间所有指令的传输,实现了主辅同步。优选的,在虚拟用户设备接收第一转发器发送的转发指令之前,还包括步骤:虚拟用户设备向第一转发器注册;虚拟用户设备判断注册是否成功。虚拟用户设备接收第一转发器发送的转发指令的步骤包括:在注册成功后,虚拟用户设备接收第一转发器发送的转发指令。虚拟用户设备可以模拟成一个高级权限用户,有权限分别向主辅转发器注册,这样虚拟用户设备就可以接收主辅转发器的所有指令。优选的,转发指令还包括第二转发器的设备标识。根据转发指令中的第二转发器的设备标识,虚拟用户设备可以准确无误地将同步数据发送给第二转发器。优选的,虚拟用户设备接收第一转发器发送的转发指令的步骤包括:虚拟用户设备判断第一转发器中写有转发指令的目标内存块是否被第一转发器的写操作加锁,若否,则读取目标内存块。在虚拟用户设备向第二转发器发送所述转发指令步骤之前,还包括步骤:虚拟用户设备根据第二转发器的设备标识判断所述转发指令的目标与本地的第二转发器的设备标识是否相对应;虚拟用户设备向第二转发器发送所述转发指令的步骤包括:在判断为相对应时,虚拟用户设备虚拟用户设备向第二转发器发送所述转发指令。虚拟用户设备对第一转发器的目标内存块进行读操作,可以借助线程实现,能够提高资源使用率。一种主辅同步的方法,包括以下步骤:第一转发器生成转发指令,转发指令包括第二转发器的设备标识和同步数据;第一转发器将转发指令发送给虚拟用户设备,指示虚拟用户设备将转发指令发送给第二转发器。
优选的,当需要发送转发指令时,第一转发器锁住环形内存队列中待写入的目标内存块,以禁止对目标内存块的读操作;第一转发器将转发指令写入所述目标内存块,转发指令包括第二转发器的设备标识和同步数据;在写满目标内存块或写完转发指令时,第一转发器将目标内存块解锁,以便虚拟用户设备从目标内存块中读取转发指令。每个注册的虚拟用户设备对第一转发器的目标内存块进行读操作,然后接收第一转发器发送的数据,可以提闻并发效率。一种主辅同步的虚拟用户设备端,包括:接收模块,用于接收第一转发器发送的转发指令,转发指令包括同步数据;发送模块,用于向第二转发器发送所述转发指令。优选的,所述虚拟用户设备端还包括:注册模块,用于向第一转发器注册;判断模块,用于判断向第一转发器注册是否成功;接收模块在注册成功时接收第一转发器发送的转发指令。优选的,转发指令还包括第二转发器的设备标识。优选的,判断模块还用于判断第一转发器中写有转发指令的目标内存块是否被第一转发器的写操作加锁。接收模块在目标内存块没有加锁时读取所述目标内存块。判断模块还用于根据第二转发器的设备标识判断所述转发指令的目标与本地的第二转发器的设备标识是否相对应;发送模块用于当所述的第二转发器的设备标识相对应时向第二转发器发送所述转发指令。一种主辅同步的第一转发器侧,包括:指令生成模块,用于生成转发指令,转发指令包括同步数据;发送模块,用于将转发指令发送给虚拟用户设备,指示虚拟用户设备将转发指令发送给第二转发器。优选的,发送模块包括:加锁模块,用于当需要发送转发指令时,锁住环形内存队列中待写入的目标内存块,以禁止对目标内存块的读操作;指令写入模块,用于将转发指令写入所述目标内存块,转发指令包括第二转发器的设备标识和同步数据;解锁模块,用于在写满目标内存块或写完转发指令时,将目标内存块解锁,以便虚拟用户设备从目标内存块中读取转发指令。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明实施例中实现主辅同步的主要方法流程图2为本实施例中主辅转发器实现主辅同步的详细方法流程图;图3为本发明实施例中第一转发器向虚拟用户设备发送转发指令的主要流程图;图4为本发明实施例中第一转发器向虚拟用户设备发送转发指令的详细流程图;图5为本发明实施例中虚拟用户设备侧的主要结构图;图6为本发明实施例中虚拟用户设备侧的详细结构图;图7为本发明实施例中第一转发器侧的主要结构图;图8为本发明实施例中第一转发器侧发送模块的详细结构图。
具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。本实施例中,在主辅转发器之间添加一个虚拟用户设备,所述虚拟用户设备可以模拟成一个高级权限用户,有权限分别向主辅转发器注册,这样虚拟用户设备就可以接收主辅转发器的所有指令。通过所述虚拟用户设备来转发主辅转发器之间的所有转发指令,从而实现主辅转发器的同步。参见图1,本实施例中实现主辅同步的主要方法流程如下:步骤101:在需要主辅同步时,虚拟用户设备接收第一转发器发送的转发指令,转发指令包括同步数据。步骤102:虚拟用户设备向第二转发器发送所述转发指令。本实施例中,主转发器通过虚拟用户设备向辅转发器发送指令或者辅设备通过虚拟用户设备向主转发器发送指令的方法相同,所述第一转发器为发送设备,第二转发器为接收设备。在需要主辅同步时,虚拟用户设备将第一转发器的所有转发指令无条件的转发给第二转发器。比如当主转发器为第一转发器、辅转发器为第二转发器时,虚拟用户设备将主转发器的所有转发指令无条件的转发给辅转发器;当辅转发器为第一转发器、主转发器为第二转发器时,虚拟用户设备将辅转发器的所有转发指令无条件的转发给主转发器。在步骤101之前,虚拟用户设备首先需要向第一转发器注册,然后判断注册是否成功,若注册成功,则继续步骤101。实际应用中,在主辅同步时主转发器和辅转发器都需要向虚拟用户设备发送指令,以便与对端转发器同步,所以虚拟用户设备既需要向主转发器注册,也需要向辅转发器注册。下面通过一个典型实施例来详细介绍主辅同步实现过程。在该典型实施例中,虚拟用户设备首先向第一转发器注册,成功后即有权限接收第一转发器发送的转发指令,所述转发指令包括第二转发器的设备标识和同步数据,通过识别第二转发器的设备标识,可以提高转发指令传输的准确率。参见图2,本实施例中主辅转发器实现主辅同步的详细方法流程如下:步骤201:虚拟用户设备向第一转发器注册。步骤202:虚拟用户设备判断向第一转发器注册是否成功。若注册成功,则继续步骤203,否则继续步骤201。当注册成功时,第一转发器为注册的虚拟用户设备创建一个设备线程,并且将转发指令写入环形内存块中待写入的目标内存块,所述设备线程用于读取目标内存块。
步骤203:虚拟用户设备判断第一转发器中写有转发指令的目标内存块是否被第一转发器的写操作加锁,若否,则继续步骤204,若是,则等待目标内存块解锁,并继续步骤203。所述转发指令包括第二转发器的设备标识和同步数据。步骤204:虚拟用户设备对所述目标内存块加锁,并读取目标内存块。步骤205:虚拟用户设备根据第二设备的设备标识判断所述转发指令的目标与本地的第二转发器的设备标识否是相对应,若是,则继续步骤207,否则,继续步骤206。步骤206:虚拟用户设备将目标内存块解锁,并且将下一块内存块作为目标内存块,继续步骤203。步骤207:虚拟用户设备将目标内存块解锁,并且向第二转发器发送所述转发指令。主转发器通过所述虚拟用户设备,不需要向辅转发器注册就可以将所有指令发送给辅转发器;辅转发器通过所述虚拟用户设备,不需要向主转发器注册就可以将所有指令发送给主转发器。通过虚拟用户设备,在不改变主辅转发器结构的情况下完成主辅转发器之间所有指令的传输,实现了主辅同步。以上介绍了虚拟用户设备侧的实现过程,下面对第一转发器侧实现过程进行介绍。参见图3,第一转发器向虚拟用户设备发送转发指令的主要流程如下:步骤301:第一转发器生成转发指令,转发指令包括同步数据。步骤302:第一转发器将转发指令发送给虚拟用户设备,指示虚拟用户设备将转发指令发送给第二转发器。当第一转发器向虚拟用户设备发送转发指令时,第一转发器将转发指令写入目标内存块并为注册的虚拟用户设备创建一个设备线程,用来读取目标内存块。下面通过一个实施例介绍第一转发器侧,向虚拟用户设备发送转发指令的详细步骤。参见图4,第一转发器向虚拟用户设备发送转发指令的详细流程如下:步骤401:第一转发器生成转发指令,转发指令包括第二转发器的设备标识和同步数据;步骤402:当需要发送转发指令时,第一转发器锁住环形内存队列中待写入的目标内存块,以禁止对目标内存块的读操作。目标内存块处于锁住状态表示目标内存块正在写入转发指令。步骤403:第一转发器将转发指令写入所述目标内存块,转发指令包括第二转发器的设备标识和同步数据。步骤404:在写满目标内存块或写完转发指令时,第一转发器将目标内存块解锁,以便虚拟用户设备从目标内存块中读取转发指令。当第一转发器目标内存块解锁时,同时将环形内存块的下一块内存块作为目标内存块为其加锁,从而可以使转发指令写入此目标内存块,如此循环直到转发指令全部传输完毕。虚拟用户设备通过对目标内存块进行读操作,然后可以接收目标内存块中的指令数据,这样当转发指令数据较多时,可以提高传输并发效率。通过以上描述了解了主辅同步的方法实现过程,该过程主要由虚拟用户设备和第一转发器实现,下面对这两个设备的内部结构和功能进行介绍。
参见图5,本实施例中虚拟用户设备端包括:接收模块501和发送模块502。接收模块501用于接收第一转发器发送的转发指令;发送模块502用于向第二转发器发送所述转发指令。较佳的,虚拟用户设备端还包括注册模块503和判断模块504,参见图6所示。注册模块503用于向第一转发器注册;判断模块504用于判断向第一转发器注册是否成功。接收模块在注册成功时接收第一转发器发送的转发指令。较佳的,转发指令还包括第二转发器的设备标识。较佳的,判断模块还用于判断第一转发器中写有转发指令的目标内存块是否被第一转发器的写操作加锁;接收模块在目标内存块没有加锁时读取所述目标内存块。判断模块还用于根据第二转发器的设备标识判断所述转发指令的目标与本地的第二转发器的设备标识是否相对应;发送模块用于当所述的第二转发器的设备标识相对应时向第二转发器发送所述转发指令。参见图7,本实施例中第一转发器端包括:指令生成模块701和发送模块702。指令生成模块701用于生成转发指令,转发指令包括同步数据;发送模块702用于将转发指令发送给虚拟用户设备,指示虚拟用户设备将转发指令发送给第二转发器。较佳的,发送模块还包括加锁模块801、指令写入模块802和解锁模块803,参见图8所示。加锁模块801用于当需要发送转发指令时,第一转发器锁住环形内存队列中待写入的目标内存块,以禁止对目标内存块的读操作; 指令写入模块802用于将转发指令写入所述目标内存块,转发指令包括第二转发器的设备标识和同步数据;解锁模块803用于在写满目标内存块或写完转发指令时,将目标内存块解锁,以便虚拟用户设备从目标内存块中读取转发指令。本实施例中,通过虚拟用户设备,可以将第一转发器的转发指令无条件的发送给第二转发器,完成指令数据的传输,这样在不改变主辅转发器结构的情况下可以实现主辅转发器之间的主辅同步。本实施例中,虚拟用户设备具有高级权限,可以向第一转发器注册,从而解决了第二转发器不能向第一转发器注册的问题。第一转发器将转发指令写入目标内存块,指示虚拟用户设备读取所述目标内存块,当发送对象正确时虚拟用户设备接收转发指令,然后发送给第二转发器。通过对内存块的读操作,可以提高资源使用率,提高传输效率。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种主辅同步方法,其特征在于,包括以下步骤: 在需要主辅同步时,虚拟用户设备接收第一转发器发送的转发指令,转发指令包括同步数据; 虚拟用户设备向第二转发器发送所述转发指令。
2.如权利要求1所述的方法,其特征在于,在虚拟用户设备接收第一转发器发送的转发指令之前,还包括步骤: 虚拟用户设备向第一转发器注册; 虚拟用户设备判断注册是否成功; 虚拟用户设备接收第一转发器发送的转发指令的步骤包括:在注册成功后,虚拟用户设备接收第一转发器发送的转发指令。
3.如权利要求1所述的方法,其特征在于,转发指令还包括第二转发器的设备标识。
4.如权利要求3所述的方法,其特征在于,虚拟用户设备接收第一转发器发送的转发指令的步骤包括: 虚拟用户设备判断第一转发器中写有转发指令的目标内存块是否被第一转发器的写操作加锁,若否,则读取目标内存块; 在虚拟用户设备向第二转发器发送所述转发指令步骤之前,还包括步骤: 虚拟用户设备根据第二转发器的设备标识判断所述转发指令的目标与本地的第二转发器的设备标识是否相对应; 虚拟用户设备向第二转发器发送所述转发指令的步骤包括:在判断为相对应时,虚拟用户设备虚拟用户设备向第二转发器发送所述转发指令。
5.一种主辅同步的方法,其特征在于,包括以下步骤: 第一转发器生成转发指令,转发指令包括同步数据; 第一转发器将转发指令发送给虚拟用户设备,指示虚拟用户设备将转发指令发送给第二转发器。
6.如权利要求5所述的方法,其特征在于,第一转发器将转发指令发送给虚拟用户设备的步骤包括: 当需要发送转发指令时,第一转发器锁住环形内存队列中待写入的目标内存块,以禁止对目标内存块的读操作; 第一转发器将转发指令写入所述目标内存块,转发指令包括第二转发器的设备标识和同步数据; 在写满目标内存块或写完转发指令时,第一转发器将目标内存块解锁,以便虚拟用户设备从目标内存块中读取转发指令。
7.一种主辅同步的虚拟用户设备端,其特征在于,包括: 接收模块,用于接收第一转发器发送的转发指令,转发指令包括同步数据; 发送模块,用于向第二转发器发送所述转发指令。
8.如权利要求7所述的装置,其特征在于,还包括: 注册模块,用于向第一转发器注册; 判断模块,用于 判断向第一转发器注册是否成功; 接收模块在注册成功时接收第一转发器发送的转发指令。
9.如权利要求7所述的装置,其特征在于,转发指令还包括第二转发器的设备标识。
10.如权利要求9所述的装置,其特征在于,判断模块还用于判断第一转发器中写有转发指令的目标内存块是否被第一转发器的写操作加锁; 接收模块在目标内存块没有加锁时读取所述目标内存块; 判断模块还用于根据第二转发器的设备标识判断所述转发指令的目标与本地的第二转发器的设备标识是否相对应; 发送模块用于当所述的第二转发器的设备标识相对应时向第二转发器发送所述转发指令。
11.一种主辅同步的第一转发器端,其特征在于,包括: 指令生成模块,用于生成转发指令,转发指令包括同步数据; 发送模块,用于将转发指令发送给虚拟用户设备,指示虚拟用户设备将转发指令发送给第二转发器。
12.如权利要求11所述的装置,其特征在于,发送模块还包括: 加锁模块,用于当需要发送转发指令时,锁住环形内存队列中待写入的目标内存块,以禁止对目标内存块的读操作; 指令写入模块,用于将转发指令 写入所述目标内存块,转发指令包括第二转发器的设备标识和同步数据; 解锁模块,用于在写满目标内存块或写完转发指令时,将目标内存块解锁,以便虚拟用户设备从目标内存块中读取转发指令。
全文摘要
本发明公开了一种主辅同步的方法及装置,于实现在不改变主辅转发器结构时,实现主辅同步。所述方法包括虚拟用户设备接收第一转发器发送的转发指令,转发指令包括同步数据;虚拟用户设备向第二转发器发送所述转发指令。本发明还公开了用于实现所述方法的装置。
文档编号H04L29/08GK103200265SQ201310116480
公开日2013年7月10日 申请日期2013年4月3日 优先权日2013年4月3日
发明者张俊丰 申请人:天脉聚源(北京)传媒科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1