一种物联网多网关数据同步的方法、系统、装置和介质与流程

    专利查询2022-07-07  114



    1.本技术涉及物联网技术应用领域,特别是涉及一种物联网多网关数据同步的方法、系统、装置和介质。


    背景技术:

    2.在物联网系统中,通过网关将大量的子设备连接到物联网平台上,网关承担着子设备接入物联网平台的任务,也管理着大量的场景、家庭等用户数据。大多数物联网系统的设计都只有一个网关,之所以大多数方案采用单网关的方式,是因为多网关存在数据同步难的问题,网关之间协同困难,各自数据隔离,不方便随时加入和退出,当用户需要管理全屋的数据时,只能分别管理每一个网关的数据。
    3.目前针对相关技术中物联网多网关存在的协同困难、数据隔离的问题,尚未提出有效的解决方案。


    技术实现要素:

    4.本技术实施例提供了一种物联网多网关数据同步的方法、系统、装置和介质,以至少解决相关技术中物联网多网关存在的协同困难、数据隔离的问题。
    5.第一方面,本技术实施例提供了一种物联网多网关数据同步的方法,所述方法包括:
    6.通过组播组内的预设网关发起数据同步请求;
    7.根据所述数据同步请求向所述组播组内的其他网关发起组播;
    8.若所述组播组内的其他网关接收到的数据版本比自身的数据版本新,则更新为新的数据版本,并停止所述组播;
    9.若所述组播组内的其他网关接收到的数据版本比自身的数据版本旧,则由所述其他网关发起数据同步请求,继续进行组播直到所述组播组内所有网关的数据版本同步为最新版本。
    10.在其中一些实施例中,在通过组播组内的预设网关发起数据同步请求之前,所述方法还包括:
    11.网关接入预设局域网后,通过udp注册到相同的组播组内,所有的数据信息在组播组内通过组播进行同步。
    12.在其中一些实施例中,通过组播组内的预设网关发起数据同步请求包括:
    13.在组播组内的预设网关管理的网络设备处于预设状态下时,通过所述预设网关发起数据同步请求,其中,所述预设状态包括设备上电、设备重连和网络初始化。
    14.在其中一些实施例中,通过组播组内的预设网关发起数据同步请求包括:
    15.若组播组内的预设网关在预设时间段内没有接受到其他网关发来的数据同步消息,则重建所述预设网关与组播组的socket并发起数据同步请求。
    16.在其中一些实施例中,通过组播组内的预设网关发起数据同步请求包括:
    17.在组播组内的预设网关接收到其他网关发来的数据同步消息时开始计算,经过一定时间后,通过所述预设网关发起数据同步请求。
    18.在其中一些实施例中,通过组播组内的预设网关发起数据同步请求包括:
    19.通过组播组内的预设网关在随机时间间隔后发起数据同步请求。
    20.在其中一些实施例中,通过组播组内的预设网关发起数据同步请求,其中,所述数据同步的数据为所述预设网关维护的数据。
    21.第二方面,本技术实施例提供了一种物联网多网关数据同步的系统,所述系统包括组播组模块和网关模块;
    22.所述网关模块向所述组播组模块发起数据同步请求;
    23.所述组播组模块根据所述数据同步请求向所述组播组内的其他网关发起组播;
    24.若所述组播组内的其他网关接收到的数据版本比自身的数据版本新,则更新为新的数据版本,并停止所述组播;
    25.若所述组播组内的其他网关接收到的数据版本比自身的数据版本旧,则由所述其他网关发起数据同步请求,继续进行组播直到所述组播组内所有网关的数据版本同步为最新版本。
    26.第三方面,本技术实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的物联网多网关数据同步的方法。
    27.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的物联网多网关数据同步的方法。
    28.相比于相关技术,本技术实施例提供的一种物联网多网关数据同步的方法、系统、装置和介质,通过组播组内的预设网关发起数据同步请求,根据数据同步请求向组播组内的其他网关发起组播,若组播组内的其他网关接收到的数据版本比自身的数据版本新,则更新为新的数据版本,并停止组播;若组播组内的其他网关接收到的数据版本比自身的数据版本旧,则由其他网关发起数据同步请求,继续进行组播直到组播组内所有网关的数据版本同步为最新版本,解决了物联网多网关存在的协同困难、数据隔离的问题,实现了组播组内的网关彼此间自动同步数据消息,保证了最新数据的同步,遏制了旧数据的传播,数据消息同步收敛速度快。
    附图说明
    29.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
    30.图1是根据本技术实施例的物联网多网关数据同步方法的步骤流程图;
    31.图2是各个网关注册到相同组播组后与设备交互的结构示意图;
    32.图3是根据本技术具体实施例的物联网多网关数据同步方法的时序示意图;
    33.图4是根据本技术实施例的物联网多网关数据同步系统的结构框图;
    34.图5是根据本技术实施例的电子设备的内部结构示意图。
    35.附图说明:41、组播组模块;42、网关模块。
    具体实施方式
    36.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
    37.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
    38.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
    39.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
    40.本技术实施例提供了一种物联网多网关数据同步的方法,图1是根据本技术实施例的物联网多网关数据同步方法的步骤流程图,如图1所示,该方法包括以下步骤:
    41.步骤s102,通过组播组内的预设网关发起数据同步请求;
    42.具体地,通过组播组内的预设网关发起数据同步请求,其中,数据同步的数据为发起请求的预设网关维护的数据。
    43.步骤s104,根据数据同步请求向组播组内的其他网关发起组播;
    44.步骤s106,若组播组内的其他网关接收到的数据版本比自身的数据版本新,则更新为新的数据版本,并停止组播;
    45.步骤s108,若组播组内的其他网关接收到的数据版本比自身的数据版本旧,则由其他网关发起数据同步请求,继续进行组播直到组播组内所有网关的数据版本同步为最新版本。
    46.通过本技术实施例中的步骤s102至步骤s108,解决了物联网多网关存在的协同困难、数据隔离的问题,实现了组播组内的网关彼此间自动同步数据消息,保证了最新数据的同步,遏制了旧数据的传播,数据消息同步收敛速度快。
    47.在其中一些实施例中,步骤s102,在通过组播组内的预设网关发起数据同步请求之前,方法还包括:
    48.网关接入预设局域网后,通过udp注册到相同的组播组内,所有的数据信息在组播组内通过组播进行同步。
    49.具体地,在同一局域网下,连接有多个网关,各个网关地位相同,从路由器动态获取ip地址。图2是各个网关注册到相同组播组后与设备交互的结构示意图,如图2所示,所有的网关接入局域网后,通过udp注册到相同的组播组内,所有的消息通过组播内同步。
    50.其优点在于,网关上电,网关无需广播发现其他设备,只要注册到组播组后,自动可以收到组播内的同步消息;网关需要向其他组播成员同步消息时,只要向组播组内发送消息即可;局域网内的消息数量,比单播要小很多,也不会出现广播风暴;每个网关无需维护其他网关的设备连接信息,即不需要知道其他网关的设备连接信息。
    51.在其中一些实施例中,步骤s102,通过组播组内的预设网关发起数据同步请求包括:
    52.在组播组内的预设网关管理的网络设备处于预设状态下时,通过预设网关发起数据同步请求,其中,预设状态包括设备上电、设备重连和网络初始化。
    53.在其中一些实施例中,步骤s102,通过组播组内的预设网关发起数据同步请求包括:
    54.若组播组内的预设网关在预设时间段内没有接受到其他网关发来的数据同步消息,则重建预设网关与组播组的socket并发起数据同步请求。
    55.在其中一些实施例中,步骤s102,通过组播组内的预设网关发起数据同步请求包括:
    56.在组播组内的预设网关接收到其他网关发来的数据同步消息时开始计算,经过一定时间后,通过预设网关发起数据同步请求。
    57.需要说明的是,接收预设网关接收自身发送的数据同步消息除外。
    58.在其中一些实施例中,步骤s102,通过组播组内的预设网关发起数据同步请求包括:
    59.通过组播组内的预设网关在随机时间间隔后发起数据同步请求。
    60.需要说明的是,每次的时间间隔通过随机产生。这样可以使得每次发起同步的网关不同,且发起的时间不冲突。
    61.本技术具体实施例提供了一种物联网多网关数据同步的方法,图3是根据本技术具体实施例的物联网多网关数据同步方法的时序示意图,如图3所示,该方法包括以下步骤:
    62.步骤一,网关1、网关2和网关3接入预设局域网后,通过udp注册到相同的组播组内,所有的数据信息在组播组内通过组播进行同步,其中,网关1维护的数据版本(version1)最旧,网关2维护的数据版本(version2)次新,网关3维护的数据版本(version3)最新。
    63.步骤二,通过网关2发起数据同步请求。
    64.步骤三,根据数据同步请求向网关1和网关3发起组播。
    65.步骤四,由于网关2维护的数据版本比网关1维护的数据版本要新,故将网关1维护的数据更新为网关2维护的数据(version1数据更新成version2数据),并停止组播。
    66.需要说明的是,由于是网关2发起的数据同步请求,故网关2可以忽略该请求。
    67.步骤五,由于网关2维护的数据版本比网关3维护的数据版本要旧,故网关3维护的数据(version3数据)不变,并继续发起数据同步请求(组播)
    68.步骤六,由于网关3维护的数据版本比网关1维护的数据版本要新,故将网关1维护的数据更新为网关3维护的数据(version1数据更新成version3数据),并停止组播。
    69.步骤七,由于网关3维护的数据版本比网关2维护的数据版本要新,故将网关2维护的数据更新为网关3维护的数据(version2数据更新成version3数据),并停止组播。
    70.需要说明的是,由于是网关3发起的数据同步请求,故网关3可以忽略该请求。
    71.至此,该组播组内所有网关的数据版本同步为最新版本。
    72.通过本技术具体实施例中的步骤一至步骤七,网关只要注册到组播组后,自动可以收到组播内的同步消息。网关需要向其他组播成员同步消息时,只要向组播组内发送消息即可。所有的网关都不需要知道其他网关的连接信息。消息收敛速度快。通过一系列的原则,保证了最新数据的同步,遏制了旧数据的传播。局域网内的消息数量,比单播要小很多,也不会出现广播风暴。数据健壮性好。任意网关离线或者损坏,不会影响整个系统数据的健壮性。
    73.需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
    74.本技术实施例提供了一种物联网多网关数据同步的系统,图4是根据本技术实施例的物联网多网关数据同步系统的结构框图,如图4所示,系统包括组播组模块41和网关模块42,其中,网关模块包含若干个网关;
    75.网关模块42向组播组模块发起数据同步请求;
    76.组播组模块41根据数据同步请求向组播组内的其他网关发起组播;
    77.若组播组内的其他网关接收到的数据版本比自身的数据版本新,则更新为新的数据版本,并停止组播;
    78.若组播组内的其他网关接收到的数据版本比自身的数据版本旧,则由其他网关发起数据同步请求,继续进行组播直到组播组内所有网关的数据版本同步为最新版本。
    79.通过本技术实施例中的包括组播组模块41和网关模块42,解决了物联网多网关存在的协同困难、数据隔离的问题,实现了组播组内的网关彼此间自动同步数据消息,保证了最新数据的同步,遏制了旧数据的传播,数据消息同步收敛速度快。
    80.需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
    81.本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算
    机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
    82.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
    83.需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
    84.另外,结合上述实施例中的物联网多网关数据同步的方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种物联网多网关数据同步的方法。
    85.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种物联网多网关数据同步的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
    86.在一个实施例中,图5是根据本技术实施例的电子设备的内部结构示意图,如图5所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图5所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种物联网多网关数据同步的方法,数据库用于存储数据。
    87.本领域技术人员可以理解,图5中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
    88.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
    89.本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,
    只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
    90.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
    转载请注明原文地址:https://tc.8miu.com/read-1354.html

    最新回复(0)