掌桥专利:专业的专利平台
掌桥专利
首页

数据同步方法及系统、网关设备、代理网关及存储介质

文献发布时间:2023-06-19 19:28:50


数据同步方法及系统、网关设备、代理网关及存储介质

技术领域

本申请涉及通信领域,尤其是涉及一种设备控制数据同步方法及系统、网关设备、代理网关及计算机可读存储介质。

背景技术

目前市面上大部分基于无线、低速率、低功耗Mesh网状网络(如Zigbee无线网络技术)的智能家居系统实现“自动化场景”(如无线开关按下,则执行离家场景即网络中的所有设备关闭;或如果无线人体传感器检测到有人移动并且亮度低于某个阈值,则相应位置的灯打开等)都是在云端或协调器网关中执行,且自动化场景数据同步都是通过高速率的传输介质(如WIFI、4G等)进行传输。但目前这种方案有个严重的缺陷,当协调器网关失效后,自动化场景就无法执行,严重影响用户体验。故有些改进方案,即将自动化场景数据下沉到网络的某些特殊节点中,当协调器网关失效后,这些节点就可以代替网关来执行自动化场景。然而,在无线、低速率、低功耗的网状网络中,如何将自动化场景数据同步到这些代理网关节点中去,会遇到一些困难如下:

第一,在无线、低速率、低功耗网状网络中一个协调器网关需要对多个代理网关节点进行数据同步,当协调器网关对这些节点进行同步操作时,某些代理网关节点可能处在“在线”状态,某些节点可能因设备自身掉电或与协调器之间距离较远而处在“离线”状态,因此会出现各个代理网关节点的自动化场景数据内容不一致。

第二,如果数据同步时每次都全量进行,在此低速率的网络中严重占用带宽,影响其他无线报文传输的可靠性。

发明内容

为解决上述存在的技术问题,本申请提供一种能够有效确保系统中每个代理网关节点的自动化场景数据内容一致、且实现高效可靠同步数据的设备控制数据传输的方法及系统、网关设备、代理网关及计算机可读存储介质。

为达到上述目的,本申请实施例的技术方案是这样实现的:

第一方面,本申请实施例提供一种设备控制数据同步方法,应用于网关设备,包括:

获取对设备控制场景的配置更新数据;

根据所述配置更新数据,按照设定规则对所述设备控制场景的配置数据版本信息进行更新得到更新场景版本号;

在满足数据同步触发条件的情况下,将所述更新场景版本号下发给代理网关,确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给所述代理网关。

第二方面,本申请实施例还提供了设备控制数据同步方法,应用于代理网关,包括:

接收网关设备下发的设备控制场景的更新场景版本号;

根据当前存储的历史场景版本号,将所述历史场景版本号上报所述网关设备,和/或确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值上报给所述网关设备;

接收所述网关设备基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值下发的待同步的设备控制事件,根据所述待同步的设备控制事件对所述设备控制场景的场景数据和配置数据版本信息进行更新。

第三方面,本申请实施例还提供了一种网关设备,包括:

获取模块,用于获取对设备控制场景的配置更新数据;

第一更新模块,用于根据所述配置更新数据,按照设定规则对所述设备控制场景的配置数据版本信息进行更新得到更新场景版本号;

第一发送模块,用于在满足数据同步触发条件的情况下,将所述更新场景版本号下发给代理网关,确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给所述代理网关。

第四方面,本申请实施例还提供了一种代理网关,包括:

接收模块,用于接收网关设备下发的设备控制场景的更新场景版本号;

第二发送模块,用于根据当前存储的历史场景版本号,将所述历史场景版本号上报所述网关设备,和/或确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值上报给所述网关设备;

第二更新模块,用于接收所述网关设备基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值下发的待同步的设备控制事件,根据所述待同步的设备控制事件对所述设备控制场景的场景数据和配置数据版本信息进行更新。

第五方面,本申请实施例还提供了一种网关设备,包括第一处理器及第一存储器,所述第一存储器内存储有可被所述第一处理器执行的计算机程序,所述计算机程序被所述第一处理器执行时实现本申请任一实施例中应用于网关设备的所述的设备控制数据同步方法。

第六方面,本申请实施例还提供了一种代理网关,包括第二处理器及第二存储器,所述第二存储器内存储有可被所述第二处理器执行的计算机程序,所述计算机程序被所述第二处理器执行时实现本申请任一实施例中应用于代理网关的所述的数据同步方法。

第七方面,本申请实施例还提供了一种设备控制数据同步系统,包括:本申请任一实施例所述的网关设备以及多个本申请任一实施例中所述的代理网关,其中,

所述网关设备,用于在满足数据同步触发条件的情况下,将待同步的设备控制事件下发给至少一个所述代理网关;

所述代理网关,用于接收所述待同步的设备控制事件,并根据所述待同步的设备控制事件对所述设备控制场景的场景数据和配置数据版本信息进行更新。

第八方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被控制器执行时实现本申请任一实施例所述的设备控制数据同步方法。

本申请上述实施例提供的设备控制数据同步方法及系统、网关设备、代理网关及计算机可读存储介质,网关设备获取设备控制场景中对应设备控制事件的配置更新数据,根据配置更新数据对设备控制场景的配置数据版本信息按照设定规则进行更新得到更新场景版本号,并在满足数据同步触发条件的情况下,将所述更新场景版本号下发给代理网关,基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值确定待同步的所述设备控制事件下发给所述代理网关。如此,在网关设备与多个代理网关之间设置数据同步的触发机制,对网关设备获取的配置数据场景版本号与代理网关所存储的场景版本号进行差值比较,并根据差值确定需要同步的设备控制事件,然后下发给存在差值的代理网关,即解决了“离线”的代理网关和“在线”代理网关不同步的问题,能有效实现每个代理网关当前存储的所有设备控制事件与网关设备当前存储的所有设备控制事件同步;而且,网关设备与代理网关之间采用差异化数据的增量传输,有效减轻网关设备与代理网关同步数据时的传输压力,确保数据的高效和可靠传输,提升了用户体验。

附图说明

图1为本申请一实施例中设备控制数据同步系统的应用场景图;

图2为本申请一实施例中设备控制数据同步系统的另一可选的应用场景图;

图3为本申请一实施例中应用于网关设备的设备控制数据同步方法的方法流程图;

图4为本申请一实施例中应用于代理网关的设备控制数据同步方法的方法流程图;

图5为本申请一可选的具体示例中应用于设备控制数据同步系统的设备控制数据同步方法的流程图;

图6为本申请一实施例中网关设备的装置示意图;

图7为本申请一实施例中代理网关的装置示意图;

图8为本申请一实施例中网关设备的结构示意图;

图9为本申请一实施例中代理网关的结构示意图。

具体实施方式

以下结合说明书附图及具体实施例对本申请技术方案做进一步的详细阐述。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请的实现方式。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

在本申请的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

请结合参阅图1和图2,为适用于本申请实施例的一种设备控制数据同步方法的应用环境示意图。本申请实施例提供的设备控制数据同步方法可以应用于如图1所示的设备控制数据同步系统中,该设备控制数据同步系统包括一个网关设备101及多个代理网关102。在无线网状网络中,网关设备101作为代理网关和服务器之间的“控制门”,可用于接收终端201和/或服务器202下发的配置更新指令,确定在满足数据同步触发条件的情况下,将待同步的设备控制事件下发给多个代理网关;所述代理网关102,用于接收所述待同步的设备控制事件,并根据所述待同步的设备控制事件对当前存储的设备控制场景的场景数据和配置数据版本信息进行更新。本实施例中,网关设备101可以为协调器网关设备。代理网关102可以是智能家居产品中的强供电产品,例如空调、电视机、智能门锁、智能灯具等家居产品。终端设备201可以是任何具备通信和存储功能的设备,例如:智能手机、台式电脑、笔记本电脑、平板电脑或其他具有网络连接功能的智能通信设备。服务器202可以是网络接入服务器、数据库服务器、云服务器等。本申请实施例对此不作限定。

可选的,网关设备101可以为基于ZigBee协议搭建,代理网关102可以预先加入网关设备101,例如,代理网关102可以是网关设备101出厂时网关设备所归属套件中的设备;也可以是后续通过用户操作连接至网关设备101中的设备。

可选的,网关设备101和代理网关102可以基于ZigBee协议建立网络连接,从而加入到ZigBee无线网状网络中,所述无线网状网络为ZigBee无线网状网络。

可以理解的是,以上应用环境仅为方便理解下述实施例作出的一种示例性描述,并不对本申请实施例实际可实施的应用环境构成任何限定。

请参阅图3,为本申请实施例提供的一种设备控制数据同步方法,可应用于图1中的网关设备101。所述设备控制数据同步方法包括但不限于S301至S303,具体介绍如下:

S301:获取对设备控制场景的配置更新数据。

这里,场景是指让预设的一个或多个被控设备的状态达到人为设置的某一预期状态,如回家场景,通常用户回家时想要把客厅灯打开、窗帘打开、空调开启,如此可以配置“打开客厅灯、打开窗帘、开启空调”作为回家场景下包含的被控设备的执行动作;再比如起床场景,通常用户起床的时候想要把窗帘打开、桌上的插座打开、客厅的插座打开,如此可以配置“打开窗帘、打开桌上的插座、打开客厅的插座”作为起床场景下包含的被控设备的执行动作。设备控制场景是指包含至少一个设备控制事件,通过所述设备控制事件控制相应被控设备的状态达到人为设置的预期状态。其中,一个设备控制事件对应一条自动化控制,一个设备控制事件与用于控制相应被控设备的一次相应的执行动作的自动化控制数据对应,如一个设备控制事件对应某一被控设备的开启或关闭或工作状态切换等。

所述配置更新数据包括对所述设备控制场景中包含的设备控制事件的增加和/或删除和/或修改等等。所述设备控制事件是指控制被控设备开启、关闭、工作状态切换的操作事件。所述获取对设备控制场景的配置更新数据可以是指网关设备获取对设备控制场景的配置更新数据,例如,网关设备从数据库服务器中全量获取设备控制场景的配置更新数据,即所述配置更新数据包含未更新的设备控制事件,包括对已有的设备控制场景增加的某一设备控制事件、删除的某一设备控制事件、和/或进行修改的某一设备控制事件。其中,所述设备控制场景的配置更新数据可以是数据库服务器基于用户采用终端设备对设备控制场景进行配置操作,通过配置操作新增设备控制事件、删除设备控制事件或修改设备控制事件对应生成的,在一个可选的示例中,配置更新数据是以设备控制事件的新增/删除/修改为单元所形成内容映射表,所述设备控制场景的配置更新数据对应的内容映射表具体可以参考下表1。

表1

这里,所述内容映射表包括:设备控制场景的配置更新数据中的多件设备控制事件、用于标识不同设备控制事件的序号ID、用于表征设备控制事件的更新时机以确定是否为待同步设备控制事件的版本编号以及表征设备控制事件是否有效的有效值。

S302:根据所述配置更新数据,按照设定规则对所述设备控制场景的配置数据版本信息进行更新得到更新场景版本号。

设定规则是指事先设定的对设备控制场景的配置数据的版本信息进行更新的规则。所述配置数据版本信息包括配置数据版本号和/或配置数据版本生成时间等。其中,每一次根据配置更新数据对设备控制场景的配置数据版本信息进行更新时,作为更新的基础所依据的配置数据版本信息是指设备控制场景当前已包含的设备控制事件中版本编号最大的设备控制事件的版本编号和/或配置数据版本生成时间距离当前时间最近的设备控制事件的更新时间。以配置数据版本信息中包含的配置数据版本号为设备控制事件中版本编号最大的设备控制事件的版本编号为例,其中,表1中ID号为4的设备控制事件的版本编号13为所有设备控制事件中版本编号最大的设备控制事件的版本编号,故将表1所代表的设备控制场景的配置数据版本号设置为13。其中,设备控制事件的版本编号是对设备控制事件的编号,例如表1中将ID号为1的设备控制事件的版本编号设置为11、将ID号为2的设备控制事件的版本编号设置为12。更新场景版本号是指每一次根据配置更新数据对设备控制场景的配置数据版本号进行更新后得到的最新的场景版本号。

对应的,以设定规则为以自然数线性递增对设备控制场景的配置数据版本号进行编码的编码方式为例,所述根据所述配置更新数据,按照设定规则对所述设备控制场景的配置数据版本信息进行更新得到更新场景版本号可以是指:网关设备根据所述配置更新数据,将设备控制场景中增加的、和/或删除的和/或修改的设备控制事件的版本编号在配置数据版本号的基础上按照自然数递增的规则逐条进行特定编号,并将版本编号最大的设备控制事件的版本编号作为更新场景版本号。例如,表2为所述设备控制场景的配置数据对应的内容映射表,结合表1可知,表1中ID为4的设备控制事件便是在表2的基础上增加的设备控制事件,其中,ID为4的设备控制事件的版本编号13便是在表2所对应的配置数据版本号12的基础上根据自然数递增的规则所确定的更新后的版本号。

表2

S303:在满足数据同步触发条件的情况下,将所述更新场景版本号下发给代理网关,确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给所述代理网关。

满足数据同步触发条件可以是指网关设备具备下发数据给代理网关的先决条件,当满足时,则触发网关设备下发所述更新场景版本号以及待同步的设备控制事件给代理网关。所述代理网关当前存储的历史场景版本号可以是指代理网关在当前时刻之前最后一次成功接收网关设备下发的更新场景版本号。所述在满足数据同步触发条件的情况下,将所述更新场景版本号下发给代理网关可以是指在满足数据同步触发条件的情况下,网关设备将所述更新场景版本号下发给代理网关;所述确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给所述代理网关可以是指:网关设备获取代理网关当前存储的历史场景版本号,并根据自身存储的所述更新场景版本号与所述历史场景版本号进行比较,根据比较后的差值确定待同步的所述设备控制事件,然后将待同步的所述设备控制事件发送给代理网关。例如,请参考表3,为代理网关当前存储的历史场景数据对应的内容映射表。

表3

这里,网关设备获取代理网关当前存储的历史场景版本号为12;请结合表1,网关设备获取自身存储的所述更新场景版本号为13;网关设备根据自身存储的所述更新场景版本号与所述历史场景版本号进行比较,根据比较后的差值为1确定待同步的设备控制事件为版本号为13的设备控制事件,故网关设备将自身存储的版本号为13的设备控制事件确定为待同步的设备控制事件,并将其发送给代理网关。

本申请上述实施例提供的设备控制数据同步方法,网关设备获取设备控制场景中对应设备控制事件的配置更新数据,根据配置更新数据对设备控制场景的配置数据版本信息按照设定规则进行更新得到更新场景版本号,并在满足数据同步触发条件的情况下,将所述更新场景版本号下发给代理网关,确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给所述代理网关。如此,在网关设备与多个代理网关之间设置数据同步的触发机制,对网关设备获取的配置数据场景版本号与代理网关所存储的场景版本号进行差值比较,并根据差值确定需要同步的设备控制事件,然后下发给存在差值的代理网关,即解决了“离线”的代理网关和“在线”代理网关不同步的问题,能有效实现每个代理网关当前存储的所有设备控制事件与网关设备当前存储的所有设备控制事件同步;而且,网关设备与代理网关之间采用差异化数据的增量传输,有效减轻网关设备与代理网关同步数据时的传输压力,确保数据的高效和可靠传输,提升了用户体验。

在一可选实施例中,所述根据所述配置更新数据,按照设定规则对所述设备控制场景的配置数据版本信息进行更新得到更新场景版本号,包括:根据所述配置更新数据,按照设定编码规则对所述设备控制场景包含的设备控制事件的编号和有效性进行更新得到更新的事件版本对应关系;以及对所述设备控制场景的配置数据版本号进行更新得到更新场景版本号。

其中,所述设定编码规则包括事先设定的对设备控制场景的配置数据的版本号进行编码的第一规则、以及事先设定的对设备控制场景中的设备控制事件的版本编号和有效性进行更新的第二规则,如第一规则可以是以自然数线性递增对设备控制场景的配置数据版本号进行编码的编码方式,第二规则可以是以自然数线性递增对设备控制事件的版本编号进行编号、并以指定数值表征对应设备控制事件的更新方式。设备控制事件的编号是指每一设备控制事件对应的版本编号。设备控制事件的有效性是指用于表征对应的设备控制事件当前处于生效状态或者失效状态。事件版本对应关系是指设备控制事件与版本编号之间的对应关系。

以第一规则可以是以自然数线性递增对设备控制场景的配置数据版本号进行编码的编码方式,第二规则可以是以自然数线性递增对设备控制事件的版本编号进行编号、并以指定数值表征对应设备控制事件的更新方式为例,所述根据所述配置更新数据,按照设定编码规则对所述设备控制场景包含的设备控制事件的编号和有效性进行更新得到更新的事件版本对应关系;以及对所述设备控制场景的配置数据版本号进行更新得到更新场景版本号可以是指:网关设备根据配置更新数据,按照第二规则对所述设备控制场景包含的设备控制事件的编号和有效性进行更新,得到更新的事件版本对应关系;以及对所述设备控制场景的配置数据版本号按照第一规则进行更新,得到更新场景版本号。如,网关设备根据所述设备控制场景中包含的设备控制事件的增加,在设备控制场景的配置数据版本号的基础上,按照每增加一件设备控制事件确定该设备控制事件的版本编号加一的方式对设备控制场景包含的设备控制事件的版本编号进行更新,并且,根据设备控制事件为增加的更改性质确定该设备控制事件的有效性为有效,最终得到该增加的设备控制事件的版本编号和有效性的对应关系。

上述实施例中,网关设备根据所述配置更新数据,按照设定编码规则对所述设备控制场景包含的设备控制事件的编号和有效性进行更新得到更新的事件版本对应关系;以及对所述设备控制场景的配置数据版本号进行更新得到更新场景版本号。如此,将配置更新数据拆分成多个设备控制事件,并按照设定编码规则对更新的设备控制事件的版本编号和有效性以及配置数据版本号进行更新,有助于快速确定配置更新数据与配置数据之间的差异化数据,从而减轻网关设备与代理网关之间同步数据的传输压力,有助于同步数据的高效和可靠传输,提升了用户体验。

在一可选实施例中,所述确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给所述代理网关,包括:基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值以及所述更新的事件版本对应关系,确定待同步的设备控制事件的目标编号;将所述目标编号匹配的所述设备控制事件下发给所述代理网关。

目标编号是指网关设备所确定的待下发的设备控制事件的版本编号。所述基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值以及所述更新的事件版本对应关系,确定待同步的设备控制事件的目标编号;将所述目标编号匹配的所述设备控制事件下发给所述代理网关可以是指:网关设备获取代理网关当前存储的历史场景版本号,并根据自身存储的所述更新场景版本号与所述历史场景版本号进行比较,根据比较后的差值确定待同步的所述设备控制事件的数量,然后根据待同步的所述设备控制事件的数量以及事件版本对应关系确定待下发的设备控制事件的版本编号。例如,请参考表4,为代理网关当前存储的另一历史配置数据对应的内容映射表,结合表1中网关设备的更新场景版本号,这里,网关设备获取代理网关当前存储的历史场景版本号10,并根据自身存储的更新场景版本号13与所述历史场景版本号10进行比较,根据比较后的差值确定待同步的所述设备控制事件的数量为3,然后根据待同步的所述设备控制事件的数量以及表1中的事件版本对应关系确定待下发的设备控制事件为表1中版本编号为11至13的设备控制事件。

表4

上述实施例中,基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值以及所述更新的事件版本对应关系,确定待同步的设备控制事件的目标编号;将所述目标编号匹配的所述设备控制事件下发给所述代理网关。如此,有助于快速确定配置更新数据中的差异化数据,从而减轻网关设备与代理网关之间同步数据的传输压力,有助于数据的高效和可靠传输,提升了用户体验。

在一可选实施例中,所述基于所述差值以及所述更新的事件版本对应关系,确定待同步的设备控制事件的目标编号,包括:确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所属差值确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号;根据所述中间场景版本号对应的所述事件版本对应关系,确定相对于所述历史场景版本号包含的新编号为待同步的设备控制事件的目标编号。

中间场景版本号是指介于历史场景版本号与更新场景版本号之间的所有其它版本号。所述基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号可以是指网关设备基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号。例如,请继续参考表1和表4,其中,网关设备基于表1中更新场景版本号与表4中代理网关当前存储的历史场景版本号的差值为3,确定网关设备相对于代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号11和/或中间场景版本号12和/或中间场景版本号13。所述根据所述中间场景版本号对应的所述事件版本对应关系,确定相对于所述历史场景版本号包含的新编号为待同步的设备控制事件的目标编号可以是指网关设备根据所述中间场景版本号对应的所述事件版本对应关系,确定相对于所述历史场景版本号包含的新编号为待同步的设备控制事件的目标编号。例如,网关设备根据有过变更的中间场景版本号11和/或中间场景版本号12和/或中间场景版本号13以及对应的事件版本对应关系,确定中间场景版本号11中包含的版本编号为11的设备控制事件为待同步的设备控制事件的目标编号,确定中间场景版本号12中包含的版本编号为11和12的设备控制事件为待同步的设备控制事件的目标编号;确定中间场景版本号13中包含的版本编号为11、12和13的设备控制事件为待同步的设备控制事件的目标编号。

值得说明的是,当离线后的代理网关重新加入网关设备所在网络时,该代理网关与网关设备之间可能存在多个中间版本,例如,请参考表5,为离线后重新加入网关设备所在网络的代理网关当前存储的历史配置数据对应的内容映射表,其中,代理网关当前存储的历史场景版本号为7,且该代理网关的设备控制场景的配置数据仅包含ID为1和ID为2的设备控制事件。结合表6,为网关设备更新后的配置更新数据的内容映射表,其中,网关设备的场景版本号为13,且该网关设备的设备控制场景的配置更新数据包含ID为1至ID为4的设备控制事件。这里,网关设备获取代理网关当前存储的历史场景版本号7,并根据自身存储的更新场景版本号13与所述历史场景版本号7进行比较,根据比较后的差值确定待同步的所述设备控制事件的数量为6,则可以确定该代理网关与网关设备之间存在6个中间版本号。鉴于网关设备更新后的配置更新数据只包含4件设备控制事件,则可以推断出在代理网关从离线至重新加入网关设备所在网络的事件段内,网关设备中版本号为8至10的中间版本号已被版本号更大的中间版本号覆盖,故网关设备在与该代理网关同步数据的过程中,将忽略被覆盖的中间版本号,以当前存在的、版本号最大的中间版本号所对应的内容映射表确定待同步的数据。因此,网关设备根据待同步的所述设备控制事件的数量以及表6中当前存在的事件版本对应关系确定待下发的设备控制事件为表6中版本编号为11至13的设备控制事件。

表5

表6

本申请实施例中,网关设备确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号;根据所述中间场景版本号对应的所述事件版本对应关系,确定相对于所述历史场景版本号包含的新编号为待同步的设备控制事件的目标编号。如此,有助于网关设备快速确定配置更新数据中的差异化数据,并毫无遗漏的将待同步的设备控制事件下发给代理网关,从而减轻网关设备与代理网关之间同步数据的传输压力,有助于数据的高效和可靠传输,提升了用户体验。

在一可选的实施例中,例如,所述更新场景版本号为N2,所述历史场景版本号为N1,所述差值为D;所述确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值以及所述更新的事件版本对应关系,确定待同步的设备控制事件的目标编号,包括:基于所述更新场景版本号N2与所述代理网关当前存储的历史场景版本号N1的差值D,确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号在N2-D+1和N2之间;其中,N2大于N1;将N2-D+1和N2之间的所述中间场景版本号分别对应的所述事件版本对应关系,确定所述中间场景版本号相对于所述历史场景版本号包含的新编号的所述设备控制事件为待同步的设备控制事件。

所述基于所述更新场景版本号N2与所述代理网关当前存储的历史场景版本号N1的差值D,确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号在N2-D+1和N2之间可以是指:网关设备基于所述更新场景版本号N2与所述代理网关当前存储的历史场景版本号N1的差值D,确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号在N2-D+1和N2之间;其中,N2大于N1。例如,请继续参考表1和表5,其中,网关设备基于表1的更新场景版本号为13,代理网关基于表5的当前存储的历史场景版本号为10,所述更新场景版本号与所述当前存储的历史场景版本号的差值为3,因此,网关设备确定网关设备相对于代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号可以是中间场景版本号11和/或中间场景版本号12和/或中间场景版本号13,可以分别下表7和表8以及上表1。所述将N2-D+1和N2之间的所述中间场景版本号分别对应的所述事件版本对应关系,确定所述中间场景版本号相对于所述历史场景版本号包含的新编号的所述设备控制事件为待同步的设备控制事件可以是指:网关设备根据N2-D+1和N2之间的所述中间场景版本号分别对应的所述事件版本对应关系,确定所述中间场景版本号相对于所述历史场景版本号包含的新编号的所述设备控制事件为待同步的设备控制事件。例如,请参考表7,为中间场景数据的内容映射表,这里,网关设备根据中间场景版本号11对应的事件版本对应关系,确定中间场景版本号11相对于表5中历史场景版本号10包含的版本编号为11的设备控制事件为待同步的设备控制事件。又例如,请参考表8,为另一中间场景数据的内容映射表,这里,网关设备根据中间场景版本号12对应的所述事件版本对应关系,确定中间场景版本号12相对于表5中历史场景版本号10包含的版本编号为11的设备控制事件和版本编号为12的设备控制事件为待同步的设备控制事件。

表7

表8

本申请实施例中,网关设备基于所述更新场景版本号的数值与所述代理网关当前存储的历史场景版本号的数值之间的差值,确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号在N2-D+1和N2之间;根据N2-D+1和N2之间中间场景版本号对应的所述事件版本对应关系,确定所述中间场景版本号相对于所述历史场景版本号包含的新编号的所述设备控制事件为待同步的设备控制事件。如此,有助于网关设备快速确定待同步的设备控制事件,并毫无遗漏的将待同步的设备控制事件下发给代理网关,从而减轻网关设备与代理网关之间同步数据的传输压力,有助于数据的高效和可靠传输,提升了用户体验。

在一可选的实施例中,所述配置更新数据包括对所述设备控制场景中包含的设备控制事件的增加、删除和/或修改;所述根据所述配置更新数据,按照设定编码规则对所述设备控制场景包含的设备控制事件的编号和有效性进行更新得到更新的事件版本对应关系,包括:所述配置更新数据为增加设备控制事件的情况下,对所述设备控制场景包含的设备控制事件进行新增,并按照设定编码规则对新增的所述设备控制事件增加新编号,设置新增的所述设备控制事件的有效性值为第一数值,根据新增后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系;和/或,所述配置更新数据为删除设备控制事件的情况下,设置所述设备控制场景包含的待删除的设备控制事件的有效值为第二数值,根据删除后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系;和/或,所述配置更新数据为修改设备控制事件的情况下,设置修改前的设备控制事件的有效值为第二数值,新增修改后的设备控制事件并按照设定编码规则对新增的所述设备控制事件增加新编号,设置新增的所述设备控制事件的有效性值为第一数值,根据修改后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系。

这里,所述配置更新数据为增加设备控制事件的情况下,网关设备对所述设备控制场景包含的设备控制事件进行新增,并按照设定编码规则对新增的所述设备控制事件增加新编号,设置新增的所述设备控制事件的有效性值为第一数值,根据新增后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系。例如:请参考表9,为网关设备的配置场景数据对应的内容映射表,当网关设备的配置更新数据为增加设备控制事件的情况,网关设备设置设备控制场景中新增的设备控制事件的版本编号为在设备控制场景的配置场景版本号的基础上按照自然数递增的编码规则逐条进行特定编号,并设置新增的设备控制事件的有效性为有效,采用数值1代表新增的设备控制事件的有效值,具体可对照表10中新增的版本编号为10的设备控制事件,其中,表10为新增设备控制事件后的配置更新数据对应的内容映射表。

表9

表10

这里,所述配置更新数据为删除设备控制事件的情况下,网关设备设置所述设备控制场景包含的待删除的设备控制事件的有效值为第二数值,根据删除后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系具体可以为:所述配置更新数据为删除设备控制事件的情况下,网关设备设置所述设备控制场景包含的待删除的设备控制事件为无效,采用数值0代表待删除的设备控制事件的有效值,且将删除的设备控制事件的版本编号在原始设备控制场景的版本号的基础上按照自然数递增的编码规则逐条进行特定编号,具体请对照表9中版本编号为7的设备控制事件和表11中版本编号为10的设备控制事件,其中,表11为删除设备控制事件后的配置更新数据对应的内容映射表。

表11

这里,所述配置更新数据为修改设备控制事件的情况下,网关设备设置修改前的设备控制事件的有效值为第二数值,新增修改后的设备控制事件并按照设定编码规则对新增的所述设备控制事件增加新编号,设置新增的所述设备控制事件的有效值为第一数值,根据修改后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系。例如,所述配置更新数据为修改设备控制事件的情况下,网关设备设置所述设备控制场景包含的待修改的设备控制事件为无效,将待修改的设备控制事件的有效值修改为数值0,然后,网关设备新增设备控制事件,网关设备设置新增的设备控制事件的版本编号为在修改前的设备控制场景的版本号的基础上按照自然数递增的编码规则逐条进行的特定编号,并设置新增的设备控制事件的有效性为有效,采用数值1代表新增的设备控制事件的有效值,具体可以对照表9中版本编号为7和表12中版本编号为11的设备控制事件,其中,表12为修改设备控制事件后的配置更新数据对应的内容映射表。

本申请实施例中,通过列举配置更新数据包含的如新增、删除、修改设备控制事件的几种方式,网关设备对应更新设备控制事件的事件版本对应关系的情况,有利于网关设备快速确定配置更新数据中相对于历史场景数据中的差异化数据,从而减轻网关设备与代理网关之间同步数据的传输压力,有助于数据的高效和可靠传输,提升了用户体验。

在一可选的实施例中,所述设备控制数据同步方法还包括:判断是否符合如下条件中至少之一:获取到终端设备或云端下发的配置更新指令、获取到终端设备或云端下发的配置更新数据、获取到代理网关发送的请求同步指令、网络条件不符合预设要求、设定的同步时间周期;若符合,则确定当前满足数据同步触发条件。

网络条件是指表征网络质量的条件,如网络数据的传输速率。所述获取到终端设备或云端下发的配置更新指令、获取到终端设备或云端下发的配置更新数据、获取到代理网关发送的请求同步指令、网络条件不符合预设要求、设定的同步时间周期具体可以是:网关设备主动获取到终端设备或云端下发的配置更新指令、网关设备接收到终端设备或云端下发的配置更新数据、网关设备接收到代理网关发送的请求同步指令、网关设备的网络数据的传输速率达不到网络数据顺利传达的情况、网关设备检测到当前已到向代理网关同步数据的时刻。这里,网关设备判断出存在上述条件中的至少一条,网关设备则确定当前满足数据同步触发条件。

如此,通过预先设置数据同步触发条件,网关设备可以自动检测是否满足预设的同步触发条件来触发与代理网关之间的数据同步,多方位的触发条件触发网关设备与代理网关之间进行数据同步,有利于适时的实现各个代理网关与网关设备之间的数据同步,提升了用户体验。

在一可选的实施例中,本申请所述基于所述差值确定待同步的所述设备控制事件下发给所述代理网关之后,还包括:向所述代理网关发送数据完整性校验信息;接收所述代理网关基于接收到所述数据完整性校验信息对更新是否成功进行验证返回的校验信息,根据所述校验信息确定所述网关设备的数据同步完成状态。

完整性校验信息可以是根据更新的配置更新数据的内容生成的消息摘要信息。该消息摘要信息是将任意长度的消息变成固定长度的消息,它由一个单向Hash函数对消息进行计算而产生,摘要算法具有不可逆性,例如CRC32、MD5、SHA1等等,所述消息摘要信息主要用于校验网关设备的待同步的设备控制事件的内容是否完整下发给代理网关。所述向所述代理网关发送数据完整性校验信息可以是指网关设备向所述代理网关发送消息摘要信息;所述接收所述代理网关基于接收到所述数据完整性校验信息对更新是否成功进行验证返回的校验信息,根据所述校验信息确定所述网关设备的数据同步完成状态可以是指网关设备接收代理网关基于接收到所述消息摘要信息对更新是否成功进行验证返回的校验信息,并根据所述校验信息确定所述网关设备的数据同步完成状态。例如,网关设备向代理网关发送消息摘要信息为0x123xx678的内容,代理网关接收该消息摘要信息后对自身历史场景数据更新后生成的消息摘要信息进行比对,若代理网关自身生成的消息摘要信息的内容也是0x123xx678,则向网关设备返回成功的校验信息;网关设备根据所述成功的校验信息确定所述网关设备的数据同步完成;若代理网关自身生成的消息摘要信息的内容不是0x123xx678,则向网关设备返回失败的校验信息;网关设备根据所述失败的校验信息确定所述网关设备的数据同步未完成。

本申请实施例中的网关设备通过向代理网关发送数据完整性校验信息来确定与代理网关的数据同步是否完成,如此,有利于网关设备确定网络中哪些代理网关已完成配置场景数据的同步,哪些代理网关未完成配置场景数据的同步,从而对未完成配置场景数据同步的代理网关单独下发数据,有利于高效完成网关设备与所有代理网关之间的数据同步。

请参阅图4,为本申请实施例提供的一种设备控制数据同步方法,应用于代理网关,包括:

步骤S401:接收网关设备下发的设备控制场景的更新场景版本号。

更新场景版本号是指网关设备每一次根据配置更新数据对设备控制场景的配置数据版本号进行更新后得到的最新的版本号。所述设备控制场景的配置数据版本号是指设备控制场景包含的设备控制事件中版本号最大的设备控制事件的版本号,例如表1中ID号为4的设备控制事件的版本号13为所有设备控制事件中版本号最大的设备控制事件的版本号,故将表1所代表的设备控制场景的配置数据版本号设置为13。所述接收网关设备下发的设备控制场景的所述更新场景版本号是指代理网关接收网关设备下发的设备控制场景的所述更新场景版本号。例如,代理网关接收网关设备下发的表1中场景版本号为13的场景版本号。

步骤S402:根据当前存储的历史场景版本号,将所述历史场景版本号上报所述网关设备,和/或确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值上报给所述网关设备。

当前存储的历史场景版本号是指代理网关在当前时刻之前最后一次成功接收网关设备下发的配置更新场景版本号。所述根据当前存储的历史场景版本号,将所述历史场景版本号上报所述网关设备,和/或确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值上报给所述网关设备可以是指:代理网关将当前存储的历史场景版本号发送给网关设备;和/或代理网关比较当前存储的历史场景版本号以及接收的所述更新场景版本号,确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,并将所述差值上报给所述网关设备,例如,请参考表1和表14,其中,表1为网关设备的配置更新数据对应的内容映射表;表14为代理网关的历史场景数据对应的内容映射表。这里,网关设备下发给代理网关的更新场景版本号是13,代理网关当前存储的历史场景版本号为10,代理网关确定更新场景版本号与所述代理网关当前存储的历史场景版本号的差值为3,并将所述差值3上报给所述网关设备。

表14

步骤S403:接收所述网关设备基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值下发的待同步的设备控制事件,根据所述待同步的设备控制事件对所述设备控制场景的场景数据和配置数据版本信息进行更新。

代理网关接收网关设备下发的设备控制场景的所述更新场景版本号,如,请参考表1,网关设备根据新增的ID为4的设备控制事件的配置更新数据,对所述设备控制场景的配置数据版本号进行更新得到更新场景版本号为13,网关设备在确定满足同步触发条件的情况下将更新场景版本号13下发代理网关,代理网关接收网关设备下发的设备控制场景的更新场景版本号13。所述接收所述网关设备基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值下发的待同步的设备控制事件,根据所述待同步的设备控制事件对所述设备控制场景的场景数据和配置数据版本信息进行更新可以是指:代理网关接收网关设备基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值下发的待同步的设备控制事件,根据所述待同步的设备控制事件对所述设备控制场景的场景数据和配置数据版本号进行更新。例如,请参考表1和表14,其中,表1为网关设备的配置更新数据对应的内容映射表;表14为代理网关的历史场景数据对应的内容映射表。这里,网关设备基于更新场景版本号13与代理网关当前存储的历史场景版本号10的差值3确定待同步的设备控制事件为版本编号为11至13的设备控制事件。代理网关接收网关设备下发的版本编号为11至13的设备控制事件,根据所述版本编号为11至13的设备控制事件对网关设备当前存储的设备控制场景中的设备控制事件、是否有效以及配置数据版本号进行更新。

上述实施例中,代理网关接收网关设备下发的设备控制场景的所述更新场景版本号,根据所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值来确定二者之间待同步的设备控制事件,如此,网关设备与代理网关之间采用差异化数据的增量传输,有效减轻网关设备与代理网关同步数据时的传输压力,确保数据的高效和可靠传输,提升了用户体验。

在一可选的实施例中,所述设备控制数据同步方法还包括:接收所述网关设备下发的数据完整性校验信息;根据所述数据完整性校验信息判断更新后的所述设备控制场景的配置数据版本号是否与所述网关设备下发的所述更新场景版本号一致;若一致,返回验证成功的校验信息给所述网关设备。

所述接收所述网关设备下发的数据完整性校验信息可以是指代理网关接收网关设备下发的数据完整性校验信息,例如,代理网关接收网关设备下发的消息摘要信息。所述消息摘要信息可以是0x123xx678(CRC32或MD5等)。所述根据所述数据完整性校验信息判断更新后的所述设备控制场景的配置数据版本号是否与所述网关设备下发的所述更新场景版本号一致;若一致,返回验证成功的校验信息给所述网关设备可以是指:代理网关根据所述数据完整性校验信息判断更新后的所述设备控制场景的配置数据版本号是否与所述网关设备下发的所述更新场景版本号一致;若一致,返回验证成功的校验信息给所述网关设备。例如,代理网关接收网关设备下发的消息摘要信息,并根据更新的设备控制场景的配置更新数据生成更新的消息摘要信息,之后,代理网关判断网关设备下发的消息摘要信息与更新的消息摘要信息是否一致,若一致,代理网关确定更新后的设备控制场景的配置数据版本号与网关设备下发的所述更新场景版本号一致,返回验证成功的校验信息给所述网关设备。

上述实施例中,代理网关通过接收网关设备下发的数据完整性校验信息来判断自身与网关设备之间的数据同步是否成功,如此,有利于适时地、高效地完成代理网关与网关设备之间的数据同步。

在一可选的实施例中,所述的设备控制数据同步方法,还包括:周期性将所述代理网关的历史场景版本号上报给所述网关设备;接收所述网关设备发送的基于所述历史场景版本号的响应信息,根据所述响应信息是否包含待同步的设备控制事件判断是否更新所述代理网关的设备控制场景的场景数据和配置数据信息。

所述周期性将所述代理网关的历史场景版本号上报给所述网关设备可以是指:代理网关周期性将所述代理网关的历史场景版本号主动上报给所述网关设备;或者是,代理网关接收到网关设备周期性下发的获取代理网关的历史场景版本号的触发信息,代理网关基于所述触发信息将所述代理网关的历史场景版本号上报给所述网关设备。所述接收所述网关设备发送的基于所述历史场景版本号响应信息,根据所述响应信息是否包含待同步的设备控制事件判断是否更新所述代理网关的设备控制场景的场景数据和配置数据版本信息可以是指:代理网关接收网关设备发送的基于所述历史场景版本号作出的响应信息,若所述响应信息包含待同步的设备控制事件,则确定代理网关需要更新当前存储的设备控制场景的场景数据和配置数据版本信息;若所述响应信息未包含待同步的设备控制事件,则确定代理网关不需要更新当前存储的设备控制场景的场景数据和配置数据版本信息。

上述实施例中,代理网关通过周期性向网关设备发送当前存储的历史场景版本号来检验代理网关与网关设备之间的场景数据是否同步,有利于适时、高效的保证代理网关与网关设备之间的数据同步,提升了用户的体验。

为了能够对本申请提供的设备控制数据同步方法具有更加整体的理解,请参阅图5,下面以一可选的具体示例对设备控制数据同步方法进行示例性说明,该方法应用于一个网关设备和多个代理网关组成的设备控制数据同步系统,其中,所述网关设备和多个代理网关其中之一实现数据同步具体可以包括:

S501,网关设备获取到云端下发的对设备控制场景的配置更新数据;

所述配置更新数据包括对所述设备控制场景中包含的设备控制事件的增加、删除和/或修改。

S502,网关设备根据所述配置更新数据,按照设定编码规则对所述设备控制场景包含的设备控制事件的编号和有效性进行更新得到更新的事件版本对应关系以及对所述设备控制场景的配置数据版本号进行更新得到更新场景版本号;

S503,网关设备获取代理网关的当前存储的历史场景版本号;

S504,网关设备判断所述更新场景版本号与所述历史场景版本号的差值,若所述差值大于零,执行S505;否则,执行S512。

S505,网关设备根据所述差值以及所述更新的事件版本对应关系确定待同步的设备控制事件;

S506,网关设备将所述待同步的设备控制事件以及所述更新场景版本号下发给代理网关;

S507,代理网关接收所述更新场景版本号以及所述待同步的设备控制事件,并根据所述待同步的设备控制事件对所述设备控制场景的场景数据和配置数据版本号进行更新;

S508,网关设备根据所述配置更新数据生成消息摘要信息,并将所述消息摘要信息下发给代理网关;

S509,代理网关接收所述配置更新数据生成的消息摘要信息,并将其与自身存储的所述设备控制场景的场景数据和配置数据版本号所生成的消息摘要信息进行比对;若两者的消息摘要信息一致,执行S510;否则,执行S511;

S510,代理网关向网关设备返回更新成功的校验信息;

S511,代理网关向网关设备返回更新失败的校验信息;

S512,网关设备确定数据同步完成。

上述实施例中,网关设备通过获取到云端下发的对设备控制场景的配置更新数据启动与多个代理网关之间的数据同步的触发机制,能有效实现每个代理网关当前存储的所有设备控制事件与网关设备当前存储的所有设备控制事件同步;而且,网关设备与代理网关之间采用差异化数据的增量传输,有效减轻网关设备与代理网关同步数据时的传输压力,确保数据的高效和可靠传输,提升了用户体验。

为了能够对本申请提供的设备控制数据同步方法具有更加清晰的理解,下面以表15至表18作为具体示例为例,对网关设备中设备控制场景的原始配置数据和配置更新数据进行说明。

表15

表16

表17

表18

用户可以采用终端设备对设备控制场景的配置数据进行更新,终端设备获取到用户对设备控制场景的配置更新数据并发送给网关设备。请参阅表15和16,其中,表15是网关设备中设备控制场景的原始配置数据,表16是网关设备中设备控制场景的配置更新数据。在设备控制场景的原始配置数据包含ID为1、2、3三个设备控制事件的基础上,对ID为3的设备控制事件进行删除,网关设备获取到对设备控制场景的配置更新数据为:网关设备获取到对原始配置数据中ID为3、版本编号为9的设备控制事件进行删除的配置更新数据;并根据所述配置更新数据,按照预设规则将ID为3、版本编号为9的设备控制事件的版本编号设置为10、有效值设置为0以及更新后的场景版本号设置为10。请参阅表16和17,这里,表16是网关设备中设备控制场景的历史配置数据,表17是网关设备中设备控制场景的配置更新数据。在设备控制场景的原始配置数据包含ID为1、2、3三个设备控制事件的基础上,对ID为1和2的设备控制事件进行修改,网关设备获取到对设备控制场景的配置更新数据为:网关设备获取到对原始配置数据中ID为1、版本编号为7;ID为2、版本编号为8的设备控制事件进行修改的配置更新数据;并根据所述配置更新数据,按照预设编码规则将ID为1、版本编号为7的设备控制事件的版本编号设置为11、有效值设置为1;将ID为2、版本编号为8的设备控制事件的版本编号设置为12、有效值设置为1以及更新后的场景版本号设置为12。请参阅表17和18,这里,表17是网关设备中设备控制场景的历史配置数据,表18是网关设备中设备控制场景的配置更新数据。在设备控制场景的历史配置数据包含ID为1、2、3三个设备控制事件的基础上新增ID为4的设备控制时间,网关设备获取到对设备控制场景的配置更新数据为:网关设备获取到对ID为4的新增设备控制事件的配置更新数据;并根据所述配置更新数据,按照预设编码规则将ID为4的新增设备控制事件的版本编号设置为13,有效值设置为1以及更新后的场景版本号设置为13。

为了能够对本申请提供的设备控制数据同步方法具有更加清晰的理解,下面以一可选的具体示例对网关设备中设备控制场景的配置更新数据和代理网关中当前存储的历史场景数据的比较进行说明。

表19

表20

/>

表21

表22

网关设备获取终端下发的配置更新数据以及代理网关发送的当前存储的历史场景版本号,请参阅表19和表20,其中,表19是网关设备中设备控制场景的配置更新数据的内容映射表,表20是代理网关中当前存储的历史场景数据的内容映射表。这里,在网关设备获取到的更新场景版本号为13,代理网关历史场景版本号为9的基础上,网关设备确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给代理网关为:网关设备基于表19中更新场景版本号13与表20中代理网关当前存储的历史场景版本号9的差值4,确定将表19中版本编号为10至13的设备控制事件下发给代理网关,但是,由于代理网关当前存储的历史配置数据不包含ID为3的设备控制事件,且表19中ID为3、版本编号为10的设备控制事件的有效值为0,即表19中版本编号为10的设备控制事件为无效事件,故网关设备只需将版本标号为11至13的设备控制事件下发给代理网关。请参阅表19和表21,其中,表19是网关设备中设备控制场景的配置更新数据的内容映射表,表21是代理网关中当前存储的又一历史场景数据的内容映射表。这里,在网关设备获取到的更新后的场景版本号为13,代理网关历史场景版本号为10的基础上,网关设备确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给代理网关为:网关设备基于表19中更新场景版本号13与表21中代理网关当前存储的历史场景版本号10的差值3,确定将表19中版本编号为11至13的设备控制事件下发给代理网关。请参阅表19和表22,其中,表19是网关设备中设备控制场景的配置更新数据的内容映射表,表22是代理网关中当前存储的另一历史场景数据的内容映射表。这里,在网关设备获取到的更新后的场景版本号为13,代理网关历史场景版本号为12的基础上,网关设备确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给代理网关为:网关设备基于表19中更新场景版本号13与表22中代理网关当前存储的历史场景版本号12的差值1,确定将表19中版本编号为13的设备控制事件下发给代理网关。

请参阅图6,本申请另一方面,还提供一种网关设备,包括:获取模块601,用于获取对设备控制场景的配置更新数据;第一更新模块602,用于根据所述配置更新数据,按照设定规则对所述设备控制场景的配置数据版本信息进行更新得到更新场景版本号;第一发送模块603,用于在满足数据同步触发条件的情况下,将所述更新场景版本号下发给代理网关,确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定待同步的所述设备控制事件下发给所述代理网关。

所述第一更新模块602,还用于根据所述配置更新数据,按照设定编码规则对所述设备控制场景包含的设备控制事件的编号和有效性进行更新得到更新的事件版本对应关系,以及对所述设备控制场景包含的设备控制场景的配置数据版本号进行更新得到更新场景版本号。

所述第一发送模块603,还用于确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值以及所述更新的事件版本对应关系,确定待同步的设备控制事件的目标编号;将所述目标编号匹配的所述设备控制事件下发给所述代理网关。

所述第一发送模块603,还用于确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值,基于所述差值确定所述网关设备相对于所述代理网关对所述设备控制场景的所述配置数据有过变更的中间场景版本号;根据所述中间场景版本号对应的所述事件版本对应关系,确定相对于所述历史场景版本号包含的新编号为待同步的设备控制事件的目标编号。

所述第一更新模块602,还用于所述配置更新数据为增加设备控制事件的情况下,对所述设备控制场景包含的设备控制事件进行新增,并按照设定编码规则对新增的所述设备控制事件增加新编号,设置新增的所述设备控制事件的有效性值为第一数值,根据新增后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系;和/或,所述配置更新数据为删除设备控制事件的情况下,设置所述设备控制场景包含的待删除的设备控制事件的有效值为第二数值,根据删除后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系;和/或,所述配置更新数据为修改设备控制事件的情况下,设置修改前的设备控制事件的有效值为第二数值,并新增修改后的设备控制事件并按照设定编码规则对新增的所述设备控制事件增加新编号,设置新增的所述设备控制事件的有效值为第一数值,根据修改后的所述设备控制事件的编号和有效性得到更新的事件版本对应关系。

所述网关设备还包括:确定模块604,用于判断是否符合如下条件中至少之一:获取到终端设备或云端下发的配置更新指令、获取到终端设备或云端下发的配置更新数据、获取到代理网关发送的请求同步指令、网络条件不符合预设要求、设定的同步时间周期;若符合,则确定当前满足数据同步触发条件。

所述网关设备还包括:所述第一发送模块603,还用于向所述代理网关发送数据完整性校验信息;所述确定模块604,还用于接收所述代理网关基于接收到所述数据完整性校验信息对更新是否成功进行验证返回的校验信息,根据所述校验信息确定所述网关设备的数据同步完成状态。

请参阅图7,本申请另一方面,还提供一种代理网关,包括:接收模块701,用于接收网关设备下发的设备控制场景的所述更新场景版本号;第二发送模块702,用于根据当前存储的历史场景版本号,将所述历史场景版本号上报所述网关设备,和/或确定所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值上报给所述网关设备;第二更新模块703,用于接收所述网关设备基于所述更新场景版本号与所述代理网关当前存储的历史场景版本号的差值下发的待同步的设备控制事件,根据所述待同步的设备控制事件对所述设备控制场景的场景数据和配置数据版本号进行更新。

所述代理网关还包括:所述接收模块701,还用于接收所述网关设备下发的数据完整性校验信息;所述第二发送模块702,还用于根据所述数据完整性校验信息判断更新后的所述设备控制场景的配置数据版本号是否与所述网关设备下发的所述更新场景版本号一致;若一致,返回验证成功的校验信息给所述网关设备。

所述代理网关还包括:所述第二发送模块702,还用于周期性将所述代理网关的历史场景版本号上报给所述网关设备;所述第二更新模块703,还用于接收所述网关设备发送的基于所述历史场景版本号作出的响应信息,根据所述响应信息是否包含待同步的设备控制事件判断是否更新所述代理网关的设备控制场景的场景数据和配置数据版本号。

需要说明的是:上述实施例提供的网关设备和代理网关在实现设备控制数据同步的过程中,仅以上述各程序模块的划分进行举例说明,在实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即可将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或部分方法步骤。另外,上述实施例提供的网关设备与应用于网关设备的设备控制数据同步方法实施例属于同一构思,上述实施例提供的代理网关与应用于代理网关的设备控住数据同步方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本申请另一方面,请参阅图8,还提供一种网关设备,包括第一处理器801及第一存储器802,所述第一存储器802内存储有可被所述第一处理器801执行的计算机程序,所述计算机程序被所述第一处理器801执行时实现本申请任一实施例应用于网关设备所提供的设备控制数据同步方法,且能达到相同的技术效果,为避免重复,这里不再赘述。

本申请另一方面,请参阅图9,还提供一种代理网关,包括第二处理器901及第二存储器902,所述第二存储器902内存储有可被所述第二处理器901执行的计算机程序,所述计算机程序被所述第二处理器901执行时实现本申请任一实施例应用于代理网关所提供的设备控制数据同步方法,且能达到相同的技术效果,为避免重复,这里不再赘述。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述设备控制数据同步方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccessMemory,简称RAM)、磁碟或者光盘等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围之内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 数据同步方法、系统、电子设备及计算机可读存储介质
  • 数据同步方法、系统、计算机设备和可读存储介质
  • 分流网关链路切换方法、装置、计算机存储介质及设备
  • 基于双控的存储设备数据同步方法、装置、设备及介质
  • 产品数据的数据同步方法、装置、计算机设备及存储介质
  • 衔接云端物联网平台和边端设备的智能网关代理系统、方法、装置、处理器及其存储介质
  • 机巡数据存储方法、装置、系统、网关设备和存储介质
技术分类

06120115924231