本发明涉及数据处理领域,具体涉及一种数据同步方法和数据同步系统。
背景技术:
在公安机关侦查办案过程,需要通过图像检索系统进行图侦。图侦即视频图像侦查,指的是根据案件的需要,通过对现场及周边监控图像的调取、观看、分析和研判,从中发现侦查线索,将现代科技手段与传统侦查措施结合使用,形成一种多方参与、整体作战以实现打击和防控刑事犯罪目的的方法体系,是公安机关侦查办案过程中获取证据、线索的重要组成部分。
在图像检索系统中,图像数据需要从用户终端上传至网络服务器进行存储,写入数据库成功后,将图像数据发送至比对服务器进行提取特征。由于该流程涉及多端网络传输,故可能出现网络中断,网络响应缓慢,服务器出错等问题,以上问题可能会导致图像数据于网络服务器端保存后并没有在比对服务器端进行处理,导致数据不同步。
技术实现要素:
本发明提供一种数据同步方法和数据同步系统,用于解决图像检索系统中的数据同步问题。
本发明第一方面提供一种数据同步方法,包括:
网络服务器接收用户终端发送的第一数据报文,所述第一数据报文包括:图像数据;
所述网络服务器根据所述图像数据进行数据处理,并根据所述数据处理结果更新状态标识,所述状态标识用于表示图像数据当前在网络端的同步状态;
当所述网络服务器确认数据同步流程结束时,则所述网络服务器向所述用户终端发送第一数据反馈报文;所述第一数据反馈报文包括:状态标识。
本发明第二方面提供一种数据同步系统,包括:
用户终端,网络服务器,比对服务器;
所述用户终端用于向网络服务器发送第一数据报文,所述第一数据报文包括:图像数据;接收所述网络服务器发送的第一数据反馈报文,所述第一数据反馈报文包括:状态标识,所述状态标识用于表示图像数据当前在网络端的同步状态;
所述网络服务器用于接收所述用户终端发送的第一数据报文,根据所述图像数据进行数据处理,并根据所述数据处理结果更新状态标识;当所述网络服务器确认数据同步流程结束时,则所述网络服务器向所述用户终端发送第一数据反馈报文;所述第一数据反馈报文包括:状态标识;
所述比对服务器用于接收所述网络服务器发送的第二数据报文,并获取所述第二数据报文中的所述图像数据;对所述图像数据进行特征提取;并向所述网络服务器反馈所述特征提取结果。
由上可见,在本发明实施例中,网络服务器接收到用户终端发送的第一数据报文并根据第一数据报文中的图像数据进行数据处理后,会根据所述数据处理结果更新状态标识,当所述网络服务器确认数据同步流程结束时,则向所述用户终端反馈该状态标识;由于该状态标识用于表示图像数据当前在网络端的同步状态,因此,用户终端可以及时获知图像数据在网络端的同步状态,及时地根据该同步状态进行相应的处理,避免了图像数据在各个网络端不同步的情况出现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的数据同步方法的一个流程图;
图2为本发明实施例中的数据同步方法的另一个流程图;
图3为本发明实施例中的数据同步方法的另一个流程图;
图4为本发明实施例中的数据同步系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,本发明实施例中数据同步方法的一个实施例包括:
101、网络服务器接收用户终端发送的第一数据报文;
网络服务器接收用户终端发送的第一数据报文,所述第一数据报文包括:图像数据。
在实际应用中,网络(web)服务器可以包括文件服务器,缓存服务器(如,redis服务器)以及数据库(如,mysql数据库);所述网络服务器用于数据交互,数据存储以及数据处理,进一步的,还可以用于用户管理相关功能的具体逻辑,如将数据处理结果返回前端进行展示等。
具体的,所述用户终端可以为网页客户端,也可以为独立应用的客户端。在实际应用中,用户可以在客户端中选择目标库上传人脸图像。当用户在客户端上传人脸图像之后,即可实施本发明的数据同步流程。
具体的,所述第一数据报文用于传输图像数据;可选的,所述第一数据报文还可以携带有状态标识,所述状态标识用于表示图像数据当前在网络端的同步状态,所述状态标识的初始化状态为未入库。在实际应用中,若网络服务器中没有预设有状态标识,则第一数据报文中可包含有状态标识位,网络服务器可在接收到所述第一数据报文后,根据该状态标识位更新并维护该状态标识。
102、网络服务器根据所述图像数据进行数据处理,并根据所述数据处理结果更新状态标识;
所述网络服务器根据所述图像数据进行数据处理,并根据所述数据处理结果更新状态标识,所述状态标识用于表示图像数据当前在网络端的同步状态。
具体的,所述数据处理包括:提取图像数据,将图像数据写入数据库,将图像数据发送至比对服务器进行特征提取。
可选的,所述同步状态包括:
未入库;
入库成功且提取特征成功;
入库成功但提取特征失败;
入库成功但因网络问题提取特征失败;
上传网络服务器成功写入数据库失败;
上传网络服务器失败。
具体的,在数据报文中,所述同步状态可以用状态标识位表示,即上述每个同步状态可对应一个数字,标注在所述数据报文的状态标识位中。
103、网络服务器向所述用户终端发送第一数据反馈报文。
当所述网络服务器确认数据同步流程结束时,则所述网络服务器向所述用户终端发送第一数据反馈报文;所述第一数据反馈报文包括:状态标识。
由上可见,在本发明实施例中,网络服务器接收到用户终端发送的第一数据报文并根据第一数据报文中的图像数据进行数据处理后,会根据所述数据处理结果更新状态标识,当所述网络服务器确认数据同步流程结束时,则向所述用户终端反馈该状态标识;由于该状态标识用于表示图像数据当前在网络端的同步状态,因此,用户终端可以及时获知图像数据在网络端的同步状态,及时地根据该同步状态进行相应的处理,避免了图像数据在各个网络端不同步的情况出现。
下面从各个网络端交互的角度对本发明实施例中的数据同步方法进行描述,请参阅图2,本发明实施例中数据同步方法的另一个实施例包括:
201、用户终端向网络服务器发送第一数据报文;
用户终端向网络服务器发送第一数据报文,以在网络端对图像数据进行同步,所述第一数据报文包括:图像数据。
202、网络服务器在所述第一数据报文中提取图像数据;
网络服务器接收到用户终端发送的第一数据报文之后,在所述第一数据报文中提取图像数据。
若所述图像数据提取失败,则当前的数据同步流程结束,并执行步骤208更新相应的将状态标识。
若所述图像数据提取成功,则执行步骤203。
203、网络服务器将所述图像数据写入数据库;
在所述图像数据提取成功之后,网络服务器将所述图像数据写入数据库。
若所述图像数据写入数据库失败,则当前的数据同步流程结束,并执行步骤208更新相应的将状态标识。
若所述图像数据写入数据库成功,则执行步骤204。
204、网络服务器向比对服务器发送第二数据报文;
所述网络服务器向比对服务器发送第二数据报文,使得所述比对服务器对所述第二数据报文中的图像数据进行特征提取,并向所述网络服务器反馈所述特征提取结果。
205、比对服务器获取所述第二数据报文中的所述图像数据;
比对服务器接收到所述网络服务器发送的第二数据报文之后,获取所述第二数据报文中的所述图像数据。
206、比对服务器对所述图像数据进行特征提取;
比对服务器对所述图像数据进行特征提取。
若所述特征提取失败,则当前的数据同步流程结束,将所述状态标识更新为:入库成功但提取特征失败。
若所述特征提取成功,则当前的数据同步流程结束,并将所述状态标识更新为:入库成功且提取特征成功。
207、比对服务器向所述网络服务器发送第二数据反馈报文;
比对服务器向所述网络服务器发送第二数据反馈报文,所述第二数据反馈报文包括:状态标识。
208、网络服务器更新相应的状态标识;
在网络服务器确认当前的数据同步流程结束之后,网络服务器更新相应的状态标识。
具体的:
若所述图像数据提取失败,则将状态标识更新为:上传网络服务器失败;
若所述图像数据写入数据库失败,则将所述状态标识更新为:上传网络服务器成功写入数据库失败;
若接收到所述比对服务器发送的第二数据反馈报文,则根据第二数据反馈报文携带的状态标识更新本地的状态标识。
209、网络服务器向所述用户终端发送第一数据反馈报文。
所述网络服务器向所述用户终端发送第一数据反馈报文;所述第一数据反馈报文包括:状态标识。以使得用户终端识别所述状态标识做出相应的数据同步操作。
具体的,在图像数据上传时,同步状态可以包括:
a.未入库(初始化定义):0;
b.入库成功且提取特征成功:1;
c.入库成功但提取特征失败:2;
d.入库成功但因网络问题提取特征失败:3;
e.上传网络服务器成功写入数据库失败:4;
f.上传网络服务器失败:5。
下面以图像数据删除的实施例进行描述,请参阅图3,本发明实施例中数据同步方法的另一个实施例包括:
301、用户终端向网络服务器发送第一删除报文;
用户终端向网络服务器发送第一删除报文,以在网络端对图像数据进行同步,所述第一删除报文包括:待删除数据的标识。
302、网络服务器在所述第一删除报文中提取图像数据;
网络服务器接收到用户终端发送的第一删除报文之后,根据所述第一删除报文进行数据处理,并根据所述数据处理结果更新所述状态标识。
具体的,网络服务器根据所述第一删除报文进行数据处理包括:
在网络服务器的数据库中删除记录;
在网络服务器的文件服务器中删除图像数据;
向所述比对服务器发送第二删除报文,用于指示所述比对服务器删除待删除数据的标识相对应的特征数据。
具体的,根据所述数据处理结果更新所述状态标识包括:
若在数据库中删除记录失败,在文件服务器以及比对服务器中删除成功,则将所述状态标识更新为:删除特征成功,删除网络服务器文件成功,数据库保留数据;
若在数据库和文件服务器中删除记录失败,在比对服务器中删除成功,则将所述状态标识更新为:删除特征成功,数据库与网络服务器还保留数据;
若在数据库、文件服务器以及比对服务器中都删除成功,则将所述状态标识更新为:完全删除。
303、网络服务器向所述用户终端发送第一删除反馈报文;
所述网络服务器向所述用户终端发送第一删除反馈报文;所述第一删除反馈报文包括:状态标识。以使得用户终端识别所述状态标识做出相应的数据同步操作。
具体的,在图像数据删除时,同步状态可以包括:
删除特征成功,数据库与文件服务器还保留数据;
删除特征成功,删除文件服务器文件成功,数据库保留数据;
完全删除。
下面对实现上述数据同步方法的数据同步系统进行描述,请参阅图4,本发明实施例中的数据同步系统包括:
用户终端401,网络服务器402,比对服务器403;
所述用户终端用于向网络服务器发送第一数据报文,所述第一数据报文包括:图像数据;接收所述网络服务器发送的第一数据反馈报文,所述第一数据反馈报文包括:状态标识,所述状态标识用于表示图像数据当前在网络端的同步状态;
所述网络服务器用于接收所述用户终端发送的第一数据报文,根据所述图像数据进行数据处理,并根据所述数据处理结果更新状态标识;当所述网络服务器确认数据同步流程结束时,则所述网络服务器向所述用户终端发送第一数据反馈报文;所述第一数据反馈报文包括:状态标识;
所述比对服务器用于接收所述网络服务器发送的第二数据报文,并获取所述第二数据报文中的所述图像数据;对所述图像数据进行特征提取;并向所述网络服务器反馈所述特征提取结果。
具体的,所述同步状态包括:
未入库;
入库成功且提取特征成功;
入库成功但提取特征失败;
入库成功但因网络问题提取特征失败;
上传网络服务器成功写入数据库失败;
上传网络服务器失败;
删除特征成功,数据库与文件服务器还保留数据;
删除特征成功,删除文件服务器文件成功,数据库保留数据;
完全删除。
进一步的,所述网络服务器具体还用于:
在所述第一数据报文中提取图像数据;若所述图像数据提取失败,则当前的数据同步流程结束,并将状态标识更新为:上传网络服务器失败,所述状态标识用于表示图像数据当前在网络端的同步状态;若所述图像数据提取成功,则所述网络服务器将所述图像数据写入数据库;若所述图像数据写入数据库失败,则当前的数据同步流程结束,并将所述状态标识更新为:上传网络服务器成功写入数据库失败;若所述图像数据写入数据库成功,则所述网络服务器向比对服务器发送第二数据报文,使得所述比对服务器对所述第二数据报文中的图像数据进行特征提取,并向所述网络服务器反馈所述特征提取结果;当所述网络服务器接收到所述特征提取结果时,确认当前的数据同步流程结束,并根据所述特征提取结果更新所述状态标识;
所述对比服务器具体还用于:若所述特征提取失败,则当前的数据同步流程结束,并将所述状态标识更新为:入库成功但提取特征失败;若所述特征提取成功,则当前的数据同步流程结束,并将所述状态标识更新为:入库成功且提取特征成功;当所述比对服务器确认数据同步流程结束时,则所述比对服务器向所述网络服务器发送第二数据反馈报文;所述第二数据反馈报文包括:状态标识。
所述网络服务器具体还用于:
若所述特征提取失败,则当前的数据同步流程结束,并将所述状态标识更新为:入库成功但提取特征失败;若所述特征提取成功,则当前的数据同步流程结束,并将所述状态标识更新为:入库成功且提取特征成功。
所述网络服务器还用于:
接收用户终端发送的第一删除报文,所述第一删除报文包括:待删除数据的标识;根据所述第一删除报文进行数据处理,并根据所述数据处理结果更新所述状态标识;向所述用户终端发送第一删除反馈报文;所述第一删除反馈报文包括:状态标识。
上述各个单元具体的操作方法在上述图1至图3实施例中已经有相应的描述,此处不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。