数据同步方法及装置、存储介质、处理器、终端与流程

文档序号:16276840发布日期:2018-12-14 22:38阅读:172来源:国知局
数据同步方法及装置、存储介质、处理器、终端与流程

本发明涉及数据同步领域,具体而言,涉及一种数据同步方法及装置、存储介质、处理器、终端。

背景技术

目前,餐饮行业基于saas结构的餐饮软件管理系统针对营业数据处理主要有2种方式:a.纯云端存储;b.云端存储+门店本地存储。纯云端存储方式当门店互联网不稳定时会导致门店本地系统无法使用,严重影响餐饮商户正常生产营业。云端存储+门店本地存储方式可摆脱餐饮商户对互联网的完全依赖,通过同步+异步处理逻辑保证数据一致性,但是,依然依赖本地局域网的稳定性,当本地局域网出现广播风暴、丢包、信号干扰等恶劣网络环境时无法及时同步。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种数据同步方法及装置、存储介质、处理器、终端,以至少解决相关技术中存储的同步方案过渡依赖互联网或局域网的稳定性的技术问题。

根据本发明实施例的一个方面,提供了一种数据同步方法,包括:第一终端检测第一终端与至少一个第二终端之间的网络链路是否发生故障,其中,第一终端与第二终端接入同一应用平台;在第一终端检测到故障时,第一终端向至少一个第二终端发送第一广播消息,其中第一广播消息中携带有同步信息。

可选地,第一广播消息为对同步信息采用udp协议进行封装后得到的消息;网络链路为采用传输控制协议tcp的链路。

可选地,第一终端向至少一个第二终端发送第一广播消息之前,方法还包括:第一终端接收至少一个第二终端的第二广播消息,其中,第二广播消息携带有用于请求第一终端的访问地址的请求信息;第一终端向至少一个第二终端发送访问地址。

可选地,第一终端为主终端,第二终端为从终端;第一终端故障时,方法还包括:

至少一个第二终端中的指定终端接收设置指令;依据设置指令将指定终端设置为主终端;或者,至少一个第二终端间进行协商,按照预设规则从至少一个第二终端中确定主终端。

可选地,第一终端检测第一终端与至少一个第二终端之间的链路是否发生故障,包括:第一终端检测第一终端是否发生故障;第一终端检测到网络链路所在的网络环境发生故障。

可选地,在网络链路的故障恢复正常时,方法还包括:第一终端向网络侧设备请求网络侧设备当前存储的第一配置信息;第一终端接收第一配置信息;第一终端比较第一配置信息和本地存储的第二配置信息是否一致;在比较结果指示不一致时,第一终端依据第一配置信息更新第二配置信息。

可选地,第一终端比较第一配置信息和本地存储的第二配置信息是否一致,包括:第一终端从第一配置信息和第二配置信息中分别提取第一标记和第二标记,以及第一终端比较第一标记和第二标记是否相同,其中,在相同时,确定第一配置信息和第二配置信息一致;在不同时,确定第一配置信息和第二配置信息不一致。

根据本发明实施例的另一个方面,提供了一种数据同步方法,包括:在第一终端和第二终端之间的网络链路发生故障时,第二终端接收第一终端发送的第一广播消息,第一终端与第二终端接入同一应用平台,第一广播消息中携带有同步信息;第二终端依据同步信息进行同步。

根据本发明实施例的又一个方面,提供了一种数据同步装置,包括:同步模块,用于检测第一终端与至少一个第二终端之间的网络链路是否发生故障,其中,第一终端与第二终端接入同一应用平台;广播模块,用于在第一终端检测到故障时,向至少一个第二终端发送第一广播消息,其中第一广播消息中携带有同步信息。

根据本发明实施例的再一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,程序执行以上任一的数据同步方法。

根据本发明实施例的再一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行以上任一的数据同步方法。

根据本发明实施例的再一个方面,提供了一种终端,包括:处理器,用于检测第一终端与至少一个第二终端之间的网络链路是否发生故障,其中,第一终端与第二终端接入同一应用平台;通信装置,用于在第一终端检测到故障时,向至少一个第二终端发送第一广播消息,其中,第一广播消息中携带有同步信息。

在本发明实施例中,采用第一终端检测第一终端与至少一个第二终端之间的网络链路是否发生故障的方式,通过在第一终端检测到故障时,第一终端向至少一个第二终端发送第一广播消息,达到了云端存储和门店本地存储的目的,从而实现了保证数据一致性和准确性的技术效果,进而解决了相关技术中存储的同步方案过度依赖互联网或局域网的稳定性的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的一种数据同步的方法的流程示意图;

图2是根据本发明实施例的一种可选的数据同步的方法流程示意图;

图3为根据本申请实施例的一种可选的数据同步系统的结构示意图;

图4为根据本申请实施例的一种数据同步装置的结构框图;以及

图5为根据本申请实施例的另一种计算机终端的结构框图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本发明实施例,提供了一种数据同步方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例一种数据同步的方法,如图1所示,该方法包括如下步骤:

步骤s102,第一终端检测第一终端与至少一个第二终端之间的网络链路是否发生故障,其中,第一终端与第二终端接入同一应用平台;

在上述步骤s102中,当第一终端与至少一个第二终端之间存在网络链路之间的网络链路的通讯故障时,确定为两者之间的网络链路发生故障;其中,第一终端与第二终端接入同样的门店系统平台;具体地,从门店系统登录时,根据第一终端的访问地址对第一终端与至少一个第二终端之间进行访问,检测两者之间是否发生故障;可以表现为以下实现方式:如果网络状况连接出现故障(例如网络信号变弱或消失等)或者是终端出现故障时,可以确认两者之间的网络链路发生故障。

在一种可选的实施例中,第一终端检测第一终端与至少一个第二终端之间的链路是否发生故障,包括:第一终端检测第一终端是否发生故障;第一终端检测到网络链路所在的网络环境发生故障;

通过上述步骤,可以实现第一终端检测第一终端与至少一个第二终端之间的网络链路是否发生故障的目的。

步骤s104,在第一终端检测到故障时,第一终端向至少一个第二终端发送第一广播消息,其中,第一广播消息中携带有同步信息;

在上述步骤s104中,上述同步信息是指第一终端的配置信息和第二终端的配置信息之间的同步信息,具体地,第一终端在配置信息发生变更时,向至少一个第二终端同步变更后的配置信息;

在一种可选的实施例中,第一终端向至少一个第二终端发送第一广播消息之前,方法还包括:第一终端接收至少一个第二终端的第二广播消息,其中,第二广播消息携带有用于请求第一终端的访问地址的请求信息;第一终端向至少一个第二终端发送访问地址。

通过上述步骤,可以实现第一终端通过广播的方式向至少一个第二终端发送同步信息的目的,从而摆脱了对互联网和本地局域网的依赖。

通过上述步骤s102和步骤s104,采用第一终端检测第一终端与至少一个第二终端之间的网络链路是否发生故障的方式,通过在第一终端检测到故障时,第一终端向至少一个第二终端发送第一广播消息,由于可以通过广播的方式发送同步信息,因此,可以摆脱对互联网和本地局域网的依赖,从而保证了同步过程的稳定性,进而解决了相关技术中存储的同步方案过渡依赖互联网或局域网的稳定性的技术问题。

可选地,上述第一广播消息为对同步信息采用udp协议进行封装后得到的消息;网络链路为采用传输控制协议tcp的链路。也就是说,上述同步信息可以采用udp协议进行广播。

可选地,上述第一终端为主终端,第二终端为从终端;第一终端故障时,可以通过以下方式确定主终端,但不限于此:至少一个第二终端中的指定终端接收设置指令;依据设置指令将指定终端设置为主终端;或者,至少一个第二终端间进行协商,按照预设规则从至少一个第二终端中确定主终端;

在上述步骤中,设置指令中包含设置主终端的ip地址以及第二终端的ip地址;预设规则可以是预设优先级,也可以根据第一终端和第二终端在应用平台的注册时间,对于后者,可以表现为以下实现方式:第二终端中的a终端的注册时间为2015-1-1,第二终端中的b终端的注册时间为2015-5-1,由于a终端的注册时间早于b终端的注册时间,因此确定a终端为主终端。

具体地,至少一个从终端按照设置指令或者预设规则设置为主终端;在设置完成后,主终端发送变更信息告知至少一个第二终端,同时更改网络侧设备中主终端的配置信息。

可选地,在网络链路的故障恢复正常时,第一终端向网络侧设备请求网络侧设备当前存储的第一配置信息;第一终端接收第一配置信息;第一终端比较第一配置信息和本地存储的第二配置信息是否一致;在比较结果指示不一致时,第一终端依据第一配置信息更新第二配置信息;

具体地,上述网络链路的故障恢复正常时,云终端同步获取主终端配置的最新配置信息,并与本地存储的配置信息进行对比,不一致时修改本地存储的配置信息。

可选地,可以通过多种方式比较第一配置信息和本地存储的第二配置信息是否一致,例如,可以通过但不限于此:第一终端从第一配置信息和第二配置信息中分别提取第一标记和第二标记,以及第一终端比较第一标记和第二标记是否相同,其中,在相同时,确定第一配置信息和第二配置信息一致;在不同时,确定第一配置信息和第二配置信息不一致;

具体地,第一标记和第二标记是指配置信息的版本号,在上述步骤中,所有终端启动时,需同步网络侧设备的配置信息,并向网络侧设备返回本机信息,可以表现为以下实现方式:如果第一标记中配置信息的版本号为1.0,第二标记中配置信息的版本号为1.0,则第一配置信息与第二配置信息一致;如果第一标记中的配置信息的版本号为2.0,第二标记中配置信息的版本号为3.0,则第一配置信息与第二配置信息不一致。

以下结合一个具体应用场景说明一下本申请实施例的一个应用场景,如图2所示:

步骤s202,从门店系统登陆时,根据存储的主终端地址访问主终端,其中,当本地未存储或访问失败后,局域网内通过udp广播询问主终端地址;主终端接收到询问信息后,将反馈告知主终端以及ip地址的信息发送至从终端;

步骤s204,当主终端故障时,商户在终端机上设置其他终端为主终端,其中,设置完成后,主终端发送广播通知告知局域网内主终端已变更,同时调用云端接口修改云端主终端设置;

步骤s206,从终端接收信息后修改本地主终端的配置信息,其中,设置完成后,对主终端设备进行数据更新,更新后主终端发送广播通知局域网内主终端已变更;从终端接收信息后修改本地主终端配置信息;

步骤s208,当主终端网络异常重新联网后,云端同步获取最新的主终端配置信息,并与本地配置信息进行对比,其中,当两者不一致时修改本地的主终端的配置信息;

步骤s210,所有终端设备启动时,需同步云端主终端配置信息并向云端返回本机信息,其中,云端主终端设置变更时,需通过变更标示来判断是否同步成功;

通过上述步骤s202至步骤s210,采用第一终端检测第一终端与至少一个第二终端之间的网络链路是否发生故障的方式,通过在第一终端检测到故障时,第一终端向至少一个第二终端发送第一广播消息,由于可以通过广播的方式发送同步信息,因此,可以摆脱对互联网和本地局域网的依赖,从而保证了同步过程的稳定性,进而解决了相关技术中存储的同步方案过渡依赖互联网或局域网的稳定性的技术问题。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

实施例3

根据本发明实施例,还提供了一种数据同步的系统,如图3所示,包括:

终端设备301,用于登陆门店系统;该终端设备包括但不限于:平板电脑、移动电话、计算机等。

主终端303,用于与终端设备301进行配置信息的同步;该终端设备包括但不限于:pos机等。

从终端305,用于与主终端303进行配置信息的同步;该终端设备包括但不限于:pos机等。

打印机307,用于打印主终端303输出的数据;

云端服务器309,用于在网络侧存储主终端303和从终端307的同步信息,并监控主终端303和从终端305状态,以及向主从终端下发响应数据,例如,在餐饮领域,在主从终端为pos机时,可以下发账单数据。

实施例4

根据本发明实施例,还提供了一种数据同步装置,如图4所示,包括:

检测模块401,用于检测第一终端与至少一个第二终端之间的网络链路是否发生故障,其中,第一终端与第二终端接入同一应用平台;

广播模块403,用于在第一终端检测到故障时,向至少一个第二终端发送第一广播消息,其中第一广播消息中携带有同步信息。

此处需要说明的是,上述各个模块对应于实施例1中的步骤s102至步骤s104,各个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端中。

在一个可选实施例中,上述各个模块可以表现为以下硬件实现方式:上述各个模块位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。

实施例5

本申请的实施例,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例1所提供的数据同步方法所执行的程序代码。

上述存储介质,用于存储执行以下功能的程序:第一终端检测第一终端与至少一个第二终端之间的网络链路是否发生故障,其中,第一终端与第二终端接入同一应用平台;在第一终端检测到故障时,第一终端向至少一个第二终端发送第一广播消息,其中,第一广播消息中携带有同步信息。

可选地,上述第一广播消息为对同步信息采用udp协议进行封装后得到的消息;网络链路为采用传输控制协议tcp的链路。

可选地,上述第一终端为主终端,第二终端为从终端;第一终端故障时,方法还包括:至少一个第二终端中的指定终端接收设置指令;依据设置指令将指定终端设置为主终端;或者,至少一个第二终端间进行协商,按照预设规则从至少一个第二终端中确定主终端;

在上述步骤中,设置指令中包含设置主终端的ip地址以及第二终端的ip地址;预设规则可以是预设优先级,也可以根据第一终端和第二终端在应用平台的注册时间,对于后者,可以表现为以下实现方式:第二终端中的a终端的注册时间为2015-1-1,第二终端中的b终端的注册时间为2015-5-1,设置主终端时则按照注册时间的排序确定,则主终端为a终端。

可选地,在网络链路的故障恢复正常时,第一终端向网络侧设备请求网络侧设备当前存储的第一配置信息;第一终端接收第一配置信息;第一终端比较第一配置信息和本地存储的第二配置信息是否一致;在比较结果指示不一致时,第一终端依据第一配置信息更新第二配置信息;

具体地,上述网络链路的故障恢复正常时,云终端同步获取主终端配置的最新配置信息,并与本地化进行对比,不一致时修改本地信息。

可选地,可以通过多种方式比较第一配置信息和本地存储的第二配置信息是否一致,例如,可以通过但不限于此:第一终端从第一配置信息和第二配置信息中分别提取第一标记和第二标记,以及第一终端比较第一标记和第二标记是否相同,其中,在相同时,确定第一配置信息和第二配置信息一致;在不同时,确定第一配置信息和第二配置信息不一致;

具体地,第一标记和第二标记是指配置信息的版本号,在上述步骤中,所有终端启动时,需同步网络侧设备的配置信息,并向网络侧设备返回本机信息,可以表现为以下实现方式:如果第一标记中配置信息的版本号为1.0,第二标记中配置信息的版本号为1.0,则第一配置信息与第二配置信息一致;如果第一标记中的配置信息的版本号为2.0,第二标记中配置信息的版本号为3.0,则第一配置信息与第二配置信息不一致。

实施例6

本申请的实施例还提供了一种处理器。可选地,在本实施例中,上述处理器可以用于保存上述实施例1所提供的数据同步方法所执行的程序代码。

上述处理器,用于执行以下实现以下功能的程序:第一终端检测第一终端与至少一个第二终端之间的网络链路是否发生故障,其中,第一终端与第二终端接入同一应用平台;在第一终端检测到故障时,第一终端向至少一个第二终端发送第一广播消息,其中,第一广播消息中携带有同步信息。

可选地,上述第一广播消息为对同步信息采用udp协议进行封装后得到的消息;网络链路为采用传输控制协议tcp的链路。

可选地,上述第一终端为主终端,第二终端为从终端;第一终端故障时包括:至少一个第二终端中的指定终端接收设置指令;依据设置指令将指定终端设置为主终端;或者,至少一个第二终端间进行协商,按照预设规则从至少一个第二终端中确定主终端;

在上述步骤中,设置指令中包含设置主终端的ip地址以及第二终端的ip地址;预设规则可以是预设优先级,也可以根据第一终端和第二终端在应用平台的注册时间,对于后者,可以表现为以下实现方式:第二终端中的a终端的注册时间为2015-1-1,第二终端中的b终端的注册时间为2015-5-1,设置主终端时则按照注册时间的排序确定,则主终端为a终端。

可选地,在网络链路的故障恢复正常时,第一终端向网络侧设备请求网络侧设备当前存储的第一配置信息;第一终端接收第一配置信息;第一终端比较第一配置信息和本地存储的第二配置信息是否一致;在比较结果指示不一致时,第一终端依据第一配置信息更新第二配置信息;

具体地,上述网络链路的故障恢复正常时,云终端同步获取主终端配置的最新配置信息,并与本地化进行对比,不一致时修改本地信息。

可选地,可以通过多种方式比较第一配置信息和本地存储的第二配置信息是否一致,例如,可以通过但不限于此:第一终端从第一配置信息和第二配置信息中分别提取第一标记和第二标记,以及第一终端比较第一标记和第二标记是否相同,其中,在相同时,确定第一配置信息和第二配置信息一致;在不同时,确定第一配置信息和第二配置信息不一致;

具体地,第一标记和第二标记是配置信息的版本号,在上述步骤中,在上述步骤中,所有终端启动时,需同步网络侧设备的配置信息,并向网络侧设备返回本机信息,可以表现为以下实现方式:如果第一标记中配置信息的版本号为1.0,第二标记中配置信息的版本号为1.0,则第一配置信息与第二配置信息一致;如果第一标记中的配置信息的版本号为2.0,第二标记中配置信息的版本号为3.0,则第一配置信息与第二配置信息不一致。

实施例7

根据本发明实施例的再一个方面,提供了一种终端,如图5所示,包括:

处理器501,用于检测第一终端与至少一个第二终端之间的网络链路是否发生故障,其中,第一终端与第二终端接入同一应用平台;

通信装置503,用于在第一终端检测到故障时,向至少一个第二终端发送第一广播消息,其中,第一广播消息中携带有同步信息。

此处需要说明的是,上述各个装置对应于实施例1中的步骤s102至步骤s104,各个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1