具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。另外,虽然在装置示意图中进行了功能模块的划分,但是在某些情况下,可以以不同于装置示意图中的模块划分。
本申请实施例提供一种数据处理方法、装置、设备及计算机可读存储介质。其中,该数据处理方法可应用于终端设备或服务器中,该终端设备可以为手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备;该服务器可以为单台的服务器,也可以为由多台服务器组成的服务器集群。以下以该数据处理方法应用于服务器为例进行解释说明。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1为本申请实施例提供的一种数据处理方法的步骤流程示意图。
如图1所示,该数据处理方法包括步骤S101至步骤S105。
步骤S101、获取影像资料文件的压缩数据包,并读取压缩数据包的文件目录,文件目录包括影像资料文件中的多个子文件的文件名。
其中,影像资料文件包括至少一个影像数据,在一些实施例中,影像资料文件还包括影像数据的至少一个资料数据,该资料数据例如为影像数据的档案信息或者拍摄影像时的拍摄信息。
示例性的,资料数据包括留影对象的用户信息、拍摄影像涉及的合同信息、订单信息和借据信息等业务信息,其中,用户信息例如为姓名、身份证号等信息,合同信息例如为合同号、甲乙方、见证人、合同内容、签约时间等信息,订单信息例如为单号、订单金额、订单内容、订单时间等信息,借据信息例如为借据号、拮据人、担保人、被拮据人等信息。
在一实施例中,影像资料文件包括多个子文件夹,影像数据和影像数据的资料数据可以存储于多个子文件夹中。在一些实施例中,影像数据的资料数据可以由子文件夹中的文档进行记录,或者资料数据包括子文件夹的文件名,又或者资料数据包括子文件夹中的文档数据的文档名,即资料数据可以以文本记录、文件名或者文档名的方式来标识影像数据。
在一实施例中,对影像资料文件进行压缩处理,得到影像资料文件的压缩数据包。其中,压缩数据包的格式包括RAR、ZIP和JAR等。在一些实施例中,影像资料文件的压缩数据包可以通过数据库或者外部设备获取,该数据库包括本地数据库和云端数据库,外部设备可以是终端设备配备的插接式硬盘,安全数字卡,闪存卡等。
在一实施例中,从压缩包数据中读取影像资料文件的文件结构信息,得到压缩数据包的文件目录,该文件目录可以为树形结构数据,影像资料文件的文件结构以分支关系定义的层次结构,包括多个节点,每个节点有零个或多个子节点。
示例性的,树形结构数据的文件目录包括一个根节点和多个子节点,每个子节点表示一个子文件夹。子节点存储有文件目录信息,该文件目录信息可以包括子文件夹的目录层级和子文件夹的文件名,子文件夹的文件名例如为文件夹的名称标识。由于影像数据的资料数据可以为文档名或者文件名,因此文件目录信息可以包括影像数据的资料数据,例如文件名为姓名加身份证号和合同号。
在一实施例中,影像资料文件包括多个影像数据,不同的影像数据放置在不同的子文件夹中,因此影像资料数据包括有多个子文件夹,压缩数据包也包括有多个子文件夹,压缩数据包的文件目录可表示不同的子文件夹之间的归属关系,文件目录可以包括子文件夹的子目录信息。
示例性的,如图2所示,图2为影像资料文件的压缩数据包的文件目录的示意图。其中,文件目录包括根节点的文件名ROOT,根节点下的子节点包括文件夹A和文件夹B,每个子节点存储有文件目录信息,文件夹A包括子文件夹a1和子文件夹a2,子文件夹A1包括文件a11,子文件夹A2包括文件a22,文件夹B包括子文件夹b1和子文件夹b2,子文件夹b1包括文件b11和b12,子文件夹b2包括文件b22。例如,文件夹A的文件目录信息包括文件夹A的文件名A和子目录的文件名a1和a2,文件夹B的文件目录信息包括文件夹B的文件名B和子目录的文件名b1和b2。
步骤S102、获取待匹配的业务数据的关键字信息。
在一实施例中,与前述的压缩数据包的获取方式相同,待匹配的业务数据的关键字信息可以实时地从业务数据中提取,也可以从数据库或者外部设备中获取,本实施例不做具体限定。
在一实施例中,获取待匹配的业务数据的关键字信息的方式包括:获取待匹配的业务数据,并从业务数据中获取文本信息;对文本信息进行关键字提取,得到业务数据的关键字信息。其中,业务数据可以是文本格式、图片格式、视频格式或者音频格式的数据。需要说明的是,根据不同数据格式的业务数据采取不同的文本转换技术,利用人工智能相关技术手段,例如语音识别技术、图像识别技术等相关技术、从业务数据中获取文本信息,并从文本信息中提取得到关键字信息,丰富了关键字信息的获取渠道,有利于业务数据与影像资料数据之间的快速匹配,提高业务数据与影像资料数据之间的匹配效率。
示例性的,业务数据为图片数据,则对业务数据进行文字识别,例如OCR识别,以获取业务数据中的文本信息,再通过预设的关键词识别模型,对文本信息进行关键字识别,得到至少一个关键字信息。关键词识别模型例如为神经网络模型,可以通过散列树词典进行训练直至收敛得到,通过内容识别可以准确获取待匹配的业务数据的关键字信息。
步骤S103、通过第一预设线程将关键字信息与文件目录进行匹配,得到业务数据与多个子文件之间的匹配关系。
其中,通过第一预设线程将关键字信息与文件目录进行匹配,从而确定业务数据与文件目录中的多个子文件之间的匹配关系,业务数据可以包括一个或多个关键字信息,文件目录可以包括多个子文件的文件名,根据每个关键字信息与多个子文件的文件名之间的匹配结果,能够确定业务数据与多个子文件之间的匹配关系。
在一实施例中,如图3所示,步骤S103包括:子步骤S1031至子步骤S1032。
子步骤S1031、根据关键字信息和每个子文件的文件名,确定业务数据与每个子文件之间的匹配度。
示例性的,通过预设递归匹配算法,将关键字信息与文件目录的多个子文件的文件名进行匹配,得到多个匹配度,该匹配度为关键字信息对应的业务数据与每个子文件之间的匹配度。
在一实施例中,根据文件目录中的每个子文件的目录层级,确定每个子文件的匹配顺序;按照匹配顺序,将关键字信息与每个子文件的文件名进行匹配,得到业务数据与每个子文件之间的匹配度。需要说明的是,文件目录为自上而下的树形结构数据,多个子文件处于不同的目录层级,每个目录层级对应一个或多个子文件,根据每个子文件的目录层级确定每个子文件的匹配顺序,同一目录层级的子文件的匹配顺序可以相同或者不同,本实施例对此不做具体限定。按照每个子文件的匹配顺序,将关键字信息与每个子文件的文件名进行匹配,快捷地得到务数据与每个子文件之间的匹配度。
可选的,如图2所示,当子文件的目录层级越高时,子文件的匹配顺序越靠前,也即子文件距离根文件夹的路径越近,则子文件的匹配顺序的优先级越高,例如文件夹A的匹配顺序优先于子文件a1,子文件a1和子文件a2的匹配顺序可以相同或者不同。将关键字信息与树状的文件目录自上而下的进行匹配,得到关键字信息与目录每个层级的一个或者多个子文件夹的文件名之间的匹配度,匹配效率较高。例如,关键字信息与文件夹A的文件名进行匹配,得到的匹配度为55%,关键字信息再与子文件a1和子文件a2的文件名进行匹配,得到的匹配度分别为65%和75%。
子步骤S1032、根据业务数据与每个子文件之间的匹配度,确定业务数据与每个子文件之间的匹配关系。
在一实施例中,从多个匹配度中选取大于或等于预设匹配度的第一匹配度,并确定第一匹配度对应的第一子文件,且将第一子文件与业务数据之间的匹配关系记录为相匹配;从多个匹配度中选取小于预设匹配度的第二匹配度,并确定第二匹配度对应的第二子文件,且将第二子文件与业务数据之间的匹配关系记录为不匹配。其中,预设匹配度可根据实际情况灵活设置,可选的预设匹配度为70%,根据业务数据与每个子文件之间的匹配度,将子文件分类为第一子文件和第二子文件,第一子文件与业务数据之间的匹配关系为相匹配,第二子文件与业务数据之间的匹配关系为不匹配。快速且便捷地获取业务数据与每个子文件之间的匹配关系。
在一实施例中,对多个匹配度进行排序,选取最大匹配度对应的子文件的文件名作为第一文件名,将第一文件名之外的多个文件名作为第二文件名;确定关键字信息与第一文件名对应的第一文件夹之间的匹配关系为相匹配,并确定关键字信息与第二文件名对应的第二文件夹之间的匹配关系为不相匹配,快速且便捷地得到业务数据与每个子文件之间的匹配关系。
在一实施例中,确定业务数据与每个子文件之间的匹配关系之后,将匹配关系进行存储。例如将业务数据与每个子文件之间的匹配关系存储至数据库,便于后续从数据库中调取匹配关系。可以理解的,也可以将业务数据与每个子文件之间的匹配关系存储至内部存储器或者外部存储设备,本实施例不做具体限定。
在一实施例中,确定业务数据与每个子文件之间的匹配关系之后,还包括:在文件目录中删除第一子文件的文件名,以更新文件目录,其中,第一子文件与业务数据之间的匹配关系为相匹配。需要说明的是,确定第一子文件与业务数据之间的匹配关系为相匹配之后,后续处理过程中会输出第一子文件对应的解压缩的目标子文件,因此在文件目录中删除第一子文件的文件名,以便下次进行数据匹配时无需对输出的目标子文件进行二次匹配,使得后续的数据匹配更加快速高效,从而提高整体的影像资料数据与业务数据之间的匹配效率。
步骤S104、通过第二预设线程对压缩数据包进行解压缩处理,得到影像资料数据。
其中,第二预设线程和第一预设线程均为独立线程,第二预设线程可与第一预设线程并行执行。通过并行且独立执行的第二预设线程对压缩数据包进行解压缩处理,得到解压缩的影像资料数据。
在一实施例中,得到影像资料数据以及业务数据与文件目录之间的匹配关系,将影像资料数据以及匹配关系存入数据库或者内存,便于后续直接调取影像资料数据以及匹配关系,加快匹配处理速度。
需要说明的是,传统的影像资料文件的数据匹配方法是先将压缩数据包解压到磁盘目录上,然后对磁盘目录进行循环递归读取,以对影像资料文件的压缩数据包里的文件结构进行读取,然后才能与业务数据的关键字信息进行匹配,这种数据匹配方法需要等待压缩文件解压完,并且匹配速度还取决于磁盘IO读写效率,因此匹配效率较低。基于影像资料文件普遍较大,因此IO读写耗时较多,如果一开始就把压缩数据包进行解压,然后再进行关键字匹配,则整个流程所花费的时间将会是两个流程时间的叠加T=T1+T2。
而本申请是直接读取压缩数据包里的文件结构,在读取文件结构得到文件目录之后,会有一个守护线程(第一预设线程)对读取的文件目录与关键字信息进行匹配,同时还有另一个独立线程(第二预设线程)对压缩数据包进行解压缩处理,通过将影像解压与影像匹配同步进行,两流程并行执行,所需要花费的时间T=Max(T1,T2),整个流程所花费的时间会有效降低,影像资料数据与业务数据之间的匹配效率得到极大的提高。
步骤S105、根据匹配关系,从影像资料数据中确定与业务数据相匹配的目标子文件,并输出目标子文件。
其中,压缩数据包进行解压缩处理之后,得到的影像资料数据同样包括多个子文件,且影像资料数据的文件目录与压缩数据包提取得到的文件目录一致,因此,根据业务数据与多个子文件之间的匹配关系,能够从影像资料数据中确定与业务数据相匹配的目标子文件,该目标子文件的文件名与压缩数据包中的第一子文件的文件名相同。然后上传影像资料数据的目标子文件,便于工作人员厘清目标子文件与业务数据之间的关联关系,无需人工审核调阅,实现了业务数据与影像资料数据之间的自动匹配,且匹配效率得到极大提高,有利于业务发展。
在一实施例中,根据匹配关系,从文件目录中选择第一子文件的文件名作为目标文件名,其中,第一子文件与业务数据之间的匹配关系为相匹配;从影像资料数据中选择目标文件名对应的子文件作为目标子文件,目标子文件与业务数据相匹配。需要说明的是,由于第一子文件与业务数据之间的匹配关系为相匹配,且影像资料数据的文件目录与压缩数据包提取得到的文件目录一致,因此选择第一子文件的文件名作为目标文件名,再从解压缩的影像资料数据中选择与目标文件名对应的子文件作为目标子文件,该目标子文件的文件名与目标文件名相同,或者子文件的文件名与目标文件名之间相似度高于预设相似度,将该子文件作为目标子文件,并确定目标子文件与业务数据之间相匹配,实现了业务数据与影像资料数据的目标子文件之间的自动匹配,便于快速输出解压缩的目标子文件。
在一实施例中,输出目标子文件,包括:对目标子文件进行分块处理,得到多个子文件块,其中,每个子文件块携带目标子文件的标识符;向服务器发送多个子文件块,以使多个子文件块在上传完成后,服务器能够基于标识符将多个子文件块合并为新的目标子文件。其中,目标子文件可以是分片输出的,目标子文件的标识符例如为MD5值。服务器确定目标子文件的多个子文件块上传完成后,生成文件合并指令,并基于文件合并指令和标识符,将多个子文件块合并为新的目标子文件。
示例性的,服务器例如为影像管理系统服务器,影像管理系统服务器执行文件合并指令,将目标子文件的标识符作为文件夹名,将携带有相同标识符的多个子文件块合并于一个文件夹内,得到上传且合并完成的目标子文件。
上述实施例提供的数据处理方法,通过获取影像资料文件的压缩数据包,并读取压缩数据包的文件目录,文件目录包括影像资料文件中的多个子文件的文件名;获取待匹配的业务数据的关键字信息;通过第一预设线程将关键字信息与文件目录进行匹配,得到业务数据与多个子文件之间的匹配关系;以及通过与第一预设线程并行执行的第二预设线程对压缩数据包进行解压缩处理,得到影像资料数据;根据匹配关系从影像资料数据中确定与业务数据相匹配的目标子文件,并输出目标子文件。通过上述方式无需人工整理影像资料数据与业务数据之间的关系,有效提高影像资料数据与业务数据之间的匹配效率,能够快速输出解压缩的目标子文件。
请参照图4,图4为本申请实施例提供的一种数据处理装置的示意性框图。
如图4所示,该数据处理装置200,包括:第一获取模块201、第二获取模块202、第一处理模块203、第二处理模块204和第三处理模块205。
第一获取模块201,用于获取影像资料文件的压缩数据包,并读取所述压缩数据包的文件目录,所述文件目录包括所述影像资料文件中的多个子文件的文件名;
第二获取模块202,用于获取待匹配的业务数据的关键字信息;
第一处理模块203,用于通过第一预设线程将所述关键字信息与所述文件目录进行匹配,得到所述业务数据与多个所述子文件之间的匹配关系;以及
第二处理模块204,用于通过第二预设线程对所述压缩数据包进行解压缩处理,得到影像资料数据,其中,所述第二预设线程与所述第一预设线程并行执行;
第三处理模块205,用于根据所述匹配关系,从所述影像资料数据中确定与所述业务数据相匹配的目标子文件,并输出所述目标子文件。
在一个实施例中,如图5所示,第一处理模块203包括:
第一确定子模块2031,用于根据所述关键字信息和每个所述子文件的文件名,确定所述业务数据与每个所述子文件之间的匹配度;
第二确定子模块2032,用于根据所述业务数据与每个所述子文件之间的匹配度,确定所述业务数据与每个所述子文件之间的匹配关系。
在一个实施例中,第一处理模块203还用于:
根据所述文件目录中的每个子文件的目录层级,确定每个所述子文件的匹配顺序;
按照所述匹配顺序,将所述关键字信息与每个所述子文件的文件名进行匹配,得到所述业务数据与每个所述子文件之间的匹配度。
在一个实施例中,第一处理模块203还用于:
将所述匹配关系进行存储;以及
在所述文件目录中删除第一子文件的文件名,以更新所述文件目录,其中,所述第一子文件与所述业务数据之间的匹配关系为相匹配。
在一个实施例中,第二获取模块202还用于:
获取待匹配的业务数据,并从所述业务数据中获取文本信息;
对所述文本信息进行关键字提取,得到所述业务数据的关键字信息。
在一个实施例中,第三处理模块205还用于:
根据所述匹配关系,从所述文件目录中选择第一子文件的文件名作为目标文件名,其中,所述第一子文件与所述业务数据之间的匹配关系为相匹配;
从所述影像资料数据中选择所述目标文件名对应的子文件作为目标子文件,所述目标子文件与所述业务数据相匹配。
在一个实施例中,第三处理模块205还用于:
对所述目标子文件进行分块处理,得到多个子文件块,其中,每个所述子文件块携带所述目标子文件的标识符;
向服务器发送多个所述子文件块,以使多个所述子文件块在上传完成后,所述服务器能够基于所述标识符将多个所述子文件块合并为新的目标子文件。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块及单元的具体工作过程,可以参考前述数据处理方法实施例中的对应过程,在此不再赘述。
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
请参阅图6,图6为本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以为服务器或终端设备。
如图6所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括存储介质和内存储器,存储介质可以是非易失性的,也可以是易失性的。
存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种数据处理方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种数据处理方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取影像资料文件的压缩数据包,并读取所述压缩数据包的文件目录,所述文件目录包括所述影像资料文件中的多个子文件的文件名;
获取待匹配的业务数据的关键字信息;
通过第一预设线程将所述关键字信息与所述文件目录进行匹配,得到所述业务数据与多个所述子文件之间的匹配关系;以及
通过第二预设线程对所述压缩数据包进行解压缩处理,得到影像资料数据,其中,所述第二预设线程与所述第一预设线程并行执行;
根据所述匹配关系,从所述影像资料数据中确定与所述业务数据相匹配的目标子文件,并输出所述目标子文件。
在一个实施例中,所述处理器在实现所述将所述关键字信息与所述文件目录进行匹配,得到所述业务数据与多个所述子文件之间的匹配关系时,用于实现:
根据所述关键字信息和每个所述子文件的文件名,确定所述业务数据与每个所述子文件之间的匹配度;
根据所述业务数据与每个所述子文件之间的匹配度,确定所述业务数据与每个所述子文件之间的匹配关系。
在一个实施例中,所述处理器在实现所述根据所述关键字信息和每个所述子文件的文件名,确定所述业务数据与每个所述子文件之间的匹配度时,用于实现:
根据所述文件目录中的每个子文件的目录层级,确定每个所述子文件的匹配顺序;
按照所述匹配顺序,将所述关键字信息与每个所述子文件的文件名进行匹配,得到所述业务数据与每个所述子文件之间的匹配度。
在一个实施例中,所述处理器在实现所述根据所述业务数据与每个所述子文件之间的匹配度,确定所述业务数据与每个所述子文件之间的匹配关系之后,还用于实现:
将所述匹配关系进行存储;以及
在所述文件目录中删除第一子文件的文件名,以更新所述文件目录,其中,所述第一子文件与所述业务数据之间的匹配关系为相匹配。
在一个实施例中,所述处理器在实现所述获取待匹配的业务数据的关键字信息时,用于实现:
获取待匹配的业务数据,并从所述业务数据中获取文本信息;
对所述文本信息进行关键字提取,得到所述业务数据的关键字信息。
在一个实施例中,所述处理器在实现所述根据所述匹配关系,从所述影像资料数据中确定与所述业务数据相匹配的目标子文件时,用于实现:
根据所述匹配关系,从所述文件目录中选择第一子文件的文件名作为目标文件名,其中,所述第一子文件与所述业务数据之间的匹配关系为相匹配;
从所述影像资料数据中选择所述目标文件名对应的子文件作为目标子文件,所述目标子文件与所述业务数据相匹配。
在一个实施例中,所述处理器在实现所述输出所述目标子文件时,用于实现:
对所述目标子文件进行分块处理,得到多个子文件块,其中,每个所述子文件块携带所述目标子文件的标识符;
向服务器发送多个所述子文件块,以使多个所述子文件块在上传完成后,所述服务器能够基于所述标识符将多个所述子文件块合并为新的目标子文件。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述计算机设备的具体工作过程,可以参考前述数据处理方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序中包括程序指令,所述程序指令被执行时所实现的方法可参照本申请数据处理方法的各个实施例。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。