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

一种数据同步方法、装置及存储介质

文献发布时间:2023-06-19 19:40:14


一种数据同步方法、装置及存储介质

技术领域

本公开涉及数据处理技术领域,具体涉及一种数据同步方法、装置及存储介质。

背景技术

数字哨点设备在通行核验场景下,需要在设备本地存储人脸数据,方便在人脸识别校验时快速返回比对结果。现有方案是通过数字哨点设备周期性(10-20分钟之间)地向云端发起全量数据的同步请求,以同步得到最新的人脸数据。另外,即使云端数据未发生变化,该方案也依然会进行一次全量数据同步。全量数据同步耗时较久,而且会对云端造成不必要性能损耗和数据同步压力。

发明内容

为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据同步方法、装置及存储介质。

第一方面,本公开提供了一种数据同步方法,适用于服务器,包括:

接收终端发送的包含第一时间戳的同步请求,所述第一时间戳记录了所述终端上一次进行数据同步的时间;

基于所述第一时间戳确定自身未同步给所述终端的目标数据;

将所述目标数据对应的第一标识号发送给所述终端,以使所述终端根据所述第一标识号同步得到所述目标数据。

可选的,所述方法还包括:

在存储数据时,为存储的数据赋予记录存储时间的第二时间戳。

可选的,所述基于所述第一时间戳确定自身未同步给所述终端的目标数据,包括:

将所述第一时间戳与每个存储的数据对应的第二时间戳进行比对;

确定时间在所述第一时间戳之后的第二时间戳对应的数据,为所述目标数据。

可选的,所述方法还包括:

响应于选定的数据和选定所述终端的主动同步操作,将选定的数据对应的第二标识号发送给所述终端,以使所述终端根据所述第二标识号同步得到所述选定的数据。

第二方面,本公开提供了一种数据同步方法,适用于终端,包括:

向服务器发送包含第一时间戳的同步请求,以使所述服务器基于所述第一时间戳确定未同步到自身的目标数据;

响应于接收到第一标识号,根据所述第一标识号调用所述服务器的第一数据传输接口,利用第一数据传输接口同步得到所述第一标识号对应的目标数据。

可选的,所述方法还包括:

在发送所述同步请求时,生成记录数据同步时间的时间戳。

可选的,所述方法还包括:

响应于输入第三标识号的指定同步操作,根据所述第三标识号调用所述服务器的第二数据传输接口,利用第二数据传输接口同步得到所述第三标识号对应的数据。

第三方面,本公开提供了一种数据同步装置,适用于服务器,包括:

接收模块,用于接收终端发送的包含第一时间戳的同步请求,所述第一时间戳记录了所述终端上一次进行数据同步的时间;

确定模块,用于基于所述第一时间戳确定自身未同步给所述终端的目标数据;

发送模块,用于将所述目标数据对应的第一标识号发送给所述终端,以使所述终端根据所述第一标识号同步得到所述目标数据。

可选的,所述装置还包括辅助模块,用于在存储数据时,为存储的数据赋予记录存储时间的第二时间戳。

可选的,所述确定模块在基于所述第一时间戳确定自身未同步给所述终端的目标数据时,具体用于将所述第一时间戳与每个存储的数据对应的第二时间戳进行比对;确定时间在所述第一时间戳之后的第二时间戳对应的数据,为所述目标数据。

可选的,所述发送模块还用于响应于选定的数据和选定所述终端的主动同步操作,将选定的数据对应的第二标识号发送给所述终端,以使所述终端根据所述第二标识号同步得到所述选定的数据。

第四方面,本公开提供了一种数据同步装置,适用于终端,包括:

请求模块,用于向服务器发送包含第一时间戳的同步请求,以使所述服务器基于所述第一时间戳确定未同步到自身的目标数据;

同步模块,用于响应于接收到第一标识号,根据所述第一标识号调用所述服务器的第一数据传输接口,利用第一数据传输接口得到所述第一标识号对应的目标数据。

可选的,所述装置还包括记录模块,用于在发送所述同步请求时,生成记录数据同步时间的时间戳。

可选的,所述同步模块还用于响应于输入第三标识号的指定同步操作,根据所述第三标识号调用所述服务器的第二数据传输接口,利用第二数据传输接口同步得到所述第三标识号对应的数据。

第五方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面所述的方法。

本公开提供的技术方案与现有技术相比具有如下优点:

本公开提供的数据同步方法、装置及存储介质,通过在接收到终端的同步请求后,利用同步请求中记录了终端上次请求同步时间的第一时间戳,来确定还未同步给终端的目标数据,然后将目标数据第一标识号发送给终端,以使终端根据第一标识号同步获取目标数据,由此将数据同步的方式从全量同步改为增量同步,从而减少数据同步的耗时和占用的资源,同时降低了因数据同步而产生的访问压力。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例提供的数据同步方法流程图;

图2为本公开实施例提供的一种应用场景的示意图;

图3为本公开又一实施例提供的数据同步方法流程图;

图4为本公开实施例提供的数据同步装置的结构示意图;

图5为本公开又一实施例提供的数据同步装置的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

数字哨点设备在通行核验场景下,需要在设备本地存储人脸数据,方便在人脸识别校验时快速返回比对结果。现有方案是通过数字哨点设备周期性(10-20分钟之间)地向云端发起全量数据的同步请求,以同步得到最新的人脸数据。另外,即使云端数据未发生变化,该方案也依然会进行一次全量数据同步。全量数据同步耗时较久,而且会对云端造成不必要性能损耗和数据同步压力。针对该问题,本公开实施例提供了一种数据同步方法,下面结合具体的实施例对该方法进行介绍。

图1为本公开实施例提供的数据同步方法流程图。该方法适用于服务器,该方法可以应用于图2所示的应用场景,该应用场景中包括云端服务器201和数字哨点设备202。可以理解的是,本公开实施例提供的数据同步方法还可以应用在其他场景中。

下面结合图2所示的应用场景,对图1所示的数据同步方法进行介绍,例如,图2中的云端服务器可以执行该方法。该方法包括如下步骤:

S101、接收终端发送的包含第一时间戳的同步请求,第一时间戳记录了终端上一次进行数据同步的时间。

示例性的,数字哨点设备202发起人脸数据同步时,首先会向云端服务器201发送同步请求,该同步请求中包含了上次发起数据同步的时间戳,即第一时间戳。第一时间戳具体可以是记录的数字哨点设备202上一次向云端服务器201发送同步请求的时间。云端服务器201接收同步请求后执行后续与数字哨点设备202的同步步骤。

S102、基于第一时间戳确定自身未同步给终端的目标数据。

云端服务器201中存储了不断录入到哨点系统里的人脸数据,因此云端服务器201中存储的人脸数据在不断变更。云端服务器201通过同步请求中的第一时间戳来确定自身存储的人脸数据中,有哪些人脸数据未同步给数字哨点设备202。因为第一时间戳记录的是数字哨点设备202上一次发送同步请求的时间,云端服务器201可以确定在第一时间戳记录的时间之后存储的人脸数据,就是未同步给数字哨点设备202的目标数据。

云端服务器201若是没有在第一时间戳记录的时间之后存储的人脸数据,则表明在数字哨点设备202上次进行同步后未获得新的人脸数据,意味着此次数据同步可以终止,避免了全量同步方式中产生的无效同步。

S103、将目标数据对应的第一标识号发送给终端,以使终端根据第一标识号同步得到目标数据。

云端服务器201中存储的每个人脸数据都具有对应的ID(Identity document,身份标识号)。通常来说需要同步的人脸数据的数据量较大,直接打包目标数据发送给数字哨点设备来完成数据同步会占用大量资源。为了进一步减少资源占用,云端服务器201会调取目标数据对应的ID(即第一标识号)生成ID集合,并将ID集合发送给数字哨点设备202,让数字哨点设备202根据ID集合调用用于数据同步的接口,单独拉取目标数据以完成数据同步,从而避免因为资源被过多占用而无法处理其它数字哨点设备的数据同步请求。

本公开实施例通过在接收到终端的同步请求后,利用同步请求中记录了终端上次请求同步时间的第一时间戳,来确定还未同步给终端的目标数据,然后将目标数据第一标识号发送给终端,以使终端根据第一标识号同步获取目标数据,由此将数据同步的方式从全量同步改为增量同步,从而减少数据同步的耗时和占用的资源,同时降低了因数据同步而产生的访问压力。

在上述实施例的基础上,该方法还包括:在存储数据时,为存储的数据赋予记录存储时间的第二时间戳。

结合上述实施例,为了可以通过时间戳来确定哪些人脸数据是终端上次发起同步后新增的,云端服务器201会在存储数据时,为存储的人脸数据赋予记录了该人脸数据存储时间的时间戳,即第二时间戳。

在上述实施例的基础上,基于第一时间戳确定自身未同步给终端的目标数据,包括:将第一时间戳与每个存储的数据对应的第二时间戳进行比对;确定时间在第一时间戳之后的第二时间戳对应的数据,为目标数据。

云端服务器201通过将第一时间戳与每个存储的人脸数据对应的第二时间戳进行比对,来确定哪些已存储的人脸数据是未同步到数字哨点设备202的目标数据。因为人脸数据对应的第二时间戳记录的是该人脸数据存储的时间,所以在进行第二时间戳与第一时间戳的比对时,若第二时间戳记录的时间在第一时间戳记录的时间之后,则代表具有这个第二时间戳的人脸数据,是在上次数字哨点设备202做数据同步之后存储到云端服务器201的,表示这个人脸数据还未同步到数字哨点设备202。可见时间在第一时间戳之后的第二时间戳对应的人脸数据,均为未同步到数字哨点设备202的目标数据。

本公开实施例通过在存储数据时,为数据赋予记录存储时间的第二时间戳,从而可以在确定未同步到终端的目标数据时,通过比对每个数据的第二时间戳与第一时间戳,来确定哪些数据是在终端上次发起数据同步后存储的数据,进行确定这些数据就是未同步到终端的目标数据,以实现增量数据同步,减少数据同步的耗时和占用的资源。

在上述实施例的基础上,该方法还包括:响应于选定的数据和选定终端的主动同步操作,将选定的数据对应的第二标识号发送给终端,以使终端根据第二标识号同步得到选定的数据。

当只有部分数字哨点设备需要同步新增的人脸数据时,工作人员可以通过在云端服务器201后台进行操作,选定这部分数字哨点设备以及想要同步的数据,云端服务器201在收到这些操作时会主动推送选定的人脸数据的ID给这部分数字哨点设备。例如,工作人员选定了数字哨点设备202和人脸数据A,并触发了针对数字哨点设备202的主动同步操作,云端服务器201会将人脸数据A对应的ID发送给数字哨点设备202,让数字哨点设备202调用数据传输的接口单独拉取人脸数据A。

本公开实施例通过在收到针对终端的主动同步操作时,将选定的数据对应的第二标识号发送给终端,让终端根据第二标识号同步得到选定的数据,增加了方案的灵活性。

图3为本公开又一实施例提供的数据同步方法流程图。该方法适用于终端,例如数字哨点设备、手机或电脑等。下面结合图2所示的应用场景,对图1所示的数据同步方法进行介绍,例如,图2中的数字哨点设备可以执行该方法。该方法包括如下步骤:

S301、向服务器发送包含第一时间戳的同步请求,以使服务器基于第一时间戳确定未同步到自身的目标数据。

结合上述实施例,在S101之前,数字哨点设备202调取记录了同步请求发送时间的第一时间戳,并将该第一时间戳写入同步请求中发送给云端服务器201,开始此次数据同步。该第一时间戳可以帮助云端服务器201确定未同步到自身的目标数据。

S302、响应于接收到第一标识号,根据第一标识号调用服务器的第一数据传输接口,利用第一数据传输接口同步得到第一标识号对应的目标数据。

在接收到S103中云端服务器201发送的第一标识号后,数字哨点设备202根据第一标识号调用云端服务器201的数据传输接口。通常来说目标数据会有多个,数字哨点设备202在进行数据同步时,会根据每个目标数据的ID调用一个数据传输接口来完成数据同步,从而避免在进行数据同步时占用云端服务器201过多资源,影响其它数字哨点设备访问云端服务器201。

本公开实施例通过向服务器发送包含第一时间戳的同步请求,从而让服务器可以通过第一时间戳确定未同步的目标数据,然后在接收到目标数据对应的第一标识号后,根据第一标识号调用服务器的第一数据传输接口,以利用第一数据传输接口同步得到目标数据,从而进行减少数据同步占用的服务器资源,避免影响其它终端访问服务器。

在上述实施例的基础上,该方法还包括:在发送同步请求时,生成记录数据同步时间的时间戳。

为了通过增量同步的方式来进行数据同步,数字哨点设备202在每次发送同步请求时,都会生成记录此次进行数据同步的时间的时间戳,该时间戳具体记录的可以是此次同步请求的发送时间,该时间戳用于在数字哨点设备202进行下次数据同步时,发送给云端服务器201进行时间戳比对。

本公开实施例通过在发送同步请求时,生成记录此次数据同步时间的时间戳,方便在下次进行数据同步时发送给服务器,支持本方案进行。

在上述实施例的基础上,该方法还包括:响应于输入第三标识号的指定同步操作,根据第三标识号调用服务器的第二数据传输接口,利用第二数据传输接口同步得到第三标识号对应的数据。

当数字哨点设备202只有个别人脸数据需要同步时,工作人员可以在数字哨点设备202的操作界面输入需要同步的人脸数据的ID(即第三标识号),触发针对该ID的指定同步操作,数字哨点设备202会根据该ID调用云端服务器201的数据传输接口,通过这个数据传输接口进行数据同步,获取上述需要同步的人脸数据。

本公开实施例通过在收到针对第三标识号的指定同步操作时,根据第三标识号调用服务器的第二数据传输接口来同步得到第三标识号对应的数据,增加了方案的灵活性。

图4为本公开实施例提供的数据同步装置的结构示意图。该数据同步装置可以是如上实施例的服务器中的部件或组件。本公开实施例提供的数据同步装置可以执行用于服务器的数据同步方法实施例提供的处理流程,如图4所示,该数据同步装置400包括:接收模块401,用于接收终端发送的包含第一时间戳的同步请求,第一时间戳记录了终端上一次进行数据同步的时间;确定模块402,用于基于第一时间戳确定自身未同步给终端的目标数据;发送模块403,用于将目标数据对应的第一标识号发送给终端,以使终端根据第一标识号同步得到目标数据。

在一些实施例中,数据同步装置400还包括辅助模块404,用于在存储数据时,为存储的数据赋予记录存储时间的第二时间戳。

在一些实施例中,确定模块402在基于第一时间戳确定自身未同步给终端的目标数据时,具体用于将第一时间戳与每个存储的数据对应的第二时间戳进行比对;确定时间在第一时间戳之后的第二时间戳对应的数据,为目标数据。

在一些实施例中,发送模块403还用于响应于选定的数据和选定终端的主动同步操作,将选定的数据对应的第二标识号发送给终端,以使终端根据第二标识号同步得到选定的数据。

图4所示实施例的数据同步装置可用于执行上述用于服务器的数据同步方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图5为本公开又一实施例提供的数据同步装置的结构示意图。该数据同步装置可以是如上实施例的终端中的部件或组件。本公开实施例提供的数据同步装置可以执行用于终端的数据同步方法实施例提供的处理流程,如图5所示,该数据同步装置500包括:请求模块501,用于向服务器发送包含第一时间戳的同步请求,以使服务器基于第一时间戳确定未同步到自身的目标数据;同步模块502,用于响应于接收到第一标识号,根据第一标识号调用服务器的第一数据传输接口,利用第一数据传输接口得到第一标识号对应的目标数据。

在一些实施例中,数据同步装置500还包括记录模块503,用于在发送同步请求时,生成记录数据同步时间的时间戳。

在一些实施例中,同步模块502还用于响应于输入第三标识号的指定同步操作,根据第三标识号调用服务器的第二数据传输接口,利用第二数据传输接口同步得到第三标识号对应的数据。

图5所示实施例的数据同步装置可用于执行上述用于终端的数据同步方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现上述实施例中任一项所示的数据同步方法。

可以理解的是,上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120115991322