发明内容
本发明所要解决的技术问题在于,提供一种基于动态标签映射的大容量数据处理方法及装置,能够通过建立动态标签映射的方式,提高针对大容量XML文件的解析处理效率。
为了解决上述技术问题,本发明第一方面公开了一种基于动态标签映射的大容量数据处理方法,所述方法包括:
获取待处理文件;
解析所述待处理文件,得到所述待处理文件对应的文件标签;
根据所述文件标签以及多个数据库表对应的字段,从多个所述数据库表中筛选出与所述文件标签相匹配的目标数据库表;
确定所述目标数据库表与所述文件标签的映射关系,得到所述目标数据库表与所述文件标签唯一对应的映射关系;
从所述待处理文件中分别读取所述目标数据库表中每个目标字段对应的文件数据,将每个所述目标字段对应的所述文件数据组装成预设格式的数据语句,得到每个所述目标字段对应的目标文件;
根据所述映射关系,将每个所述目标字段对应的所述目标文件写入到与每个所述目标字段对应的所述目标数据库表对应的存储空间。
作为一种可选的实施方式,在本发明第一方面中,所述解析所述待处理文件,得到所述待处理文件对应的文件标签之后,所述方法还包括;
判断所述文件标签是否包括与预先确定的保密标签相匹配的文件标签,所述保密标签用于表示所述文件标签对应的数据的保密等级满足预设的保密等级阈值,且需要针对所述文件标签对应的所述数据执行保密处理操作;
当判断出所述文件标签包括与预先确定的所述保密标签相匹配的文件标签时,向所述待处理文件对应的处理系统发送针对所述文件标签对应的文件数据的授权申请,所述授权申请用于申请针对所述文件标签对应的文件数据执行数据处理操作的授权;
当接收到所述授权申请通过的反馈信息时,根据所述反馈信息包括的权限标识以及所述反馈信息所包括的针对所述文件标签对应的所述文件数据的处理要求,对所述文件数据执行所述数据处理操作。
作为一种可选的实施方式,在本发明第一方面中,所述根据所述文件标签以及多个数据库表对应的字段,从多个所述数据库表中筛选出与所述文件标签相匹配的目标数据库表,包括:
根据多个所述数据库表对应的字段,从所述字段中筛选得到与所述文件标签相匹配的目标字段;
根据所述目标字段确定出与所述目标字段对应的数据库表,作为与所述文件标签相匹配的目标数据库表;
以及,所述从所述待处理文件中分别读取所述目标数据库表中每个目标字段对应的文件数据,包括:
获取所述待处理文件对应的处理需求;
根据所述处理需求筛选并读取所述待处理文件中与所述目标数据库表对应的所述目标字段相匹配的数据,作为所述目标字段对应的文件数据。
作为一种可选的实施方式,在本发明第一方面中,在筛选出与所述文件标签相匹配的所有所述目标数据库表的数量大于等于2,以及所述根据所述映射关系,将每个所述字段对应的所述目标文件写入到与每个所述字段对应的所述目标数据库表对应的存储空间之后,所述方法还包括:
对于所有所述目标数据库表,判断所有所述目标数据库表是否存在满足数据库表的合并条件的至少一个数据库表组,每个所述数据库表组包括能够合并的至少两个数据库表;
当判断出所有所述目标数据库表中存在满足数据库表的所述合并条件的至少一个所述数据库表组时,根据所述合并条件对应的合并规则分别对每个所述数据库表组内的数据库表执行合并操作。
作为一种可选的实施方式,在本发明第一方面中,所述合并条件的内容包括:
所述数据库表组中任意两个数据库表存在的相同字段且存在的相同字段的数量大于等于预设数量阈值;或者,
所述数据库表组中任意两个数据库表存在的相同字段、存在的相同字段的数量大于等于预设数量阈值且所述数据库表组中某一数据库表的当前存放空间对应的存储空间大于等于所述数据库表组中所有数据库表所需的存储空间。
作为一种可选的实施方式,在本发明第一方面中,所述获取待处理文件之后,所述方法还包括:
判断所述待处理文件的文件格式与预先确定的文件格式一致,当判断出所述待处理文件的文件格式与预先确定的文件格式不一致时,针对所述待处理文件执行格式转换操作,以将所述待处理文件转换为符合所述文件处理要求的格式的文件;和/或,
判断所述待处理文件的文件大小是否在预设的文件容量阈值内,当判断出所述待处理文件的文件大小不在预设的文件容量阈值内时,针对所述待处理文件执行文件压缩处理或生成错误提示,所述错误提示用于提示所述待处理文件不符合所述文件处理要求,以及用于终止执行所述的解析所述待处理文件的操作。
作为一种可选的实施方式,在本发明第一方面中,所述根据所述映射关系,将每个所述字段对应的所述目标文件写入到与每个所述字段对应的所述目标数据库表对应的存储空间之后,所述方法还包括:
存储所述文件标签与所述目标数据库表对应的所述映射关系;
根据所述映射关系比对所述存储空间中的已存储文件与所述目标文件在各自的数据内容上是否一致,得到比对结果,所述已存储文件为所述目标文件根据所述映射关系写入到所述存储空间对应的文件;
当所述比对结果中包括所述已存储文件与所述目标文件在各自的数据内容上不一致的情况时,获取所述比对结果所包括的所述已存储文件与所述目标文件不一致的异常数据;
生成错误警告并调用与所述异常数据对应的处理程序处理所述异常数据,所述错误警告用于提示所述目标文件在写入到所述存储空间之后所述目标文件对应的数据内容与原本的所述目标文件对应的数据内容不一致。
本发明第二方面公开了一种基于动态标签映射的大容量数据处理装置,所述装置包括:
数据处理模块,用于获取待处理文件;
所述数据处理模块,还用于解析所述待处理文件,得到所述待处理文件对应的文件标签;
筛选模块,用于根据所述文件标签以及多个数据库表对应的字段,从多个所述数据库表中筛选出与所述文件标签相匹配的目标数据库表;
确定模块,用于确定所述目标数据库表与所述文件标签的映射关系,得到所述目标数据库表与所述文件标签唯一对应的映射关系;
第一处理模块,用于从所述待处理文件中分别读取所述目标数据库表中每个目标字段对应的文件数据,将每个所述目标字段对应的所述文件数据组装成预设格式的数据语句,得到每个所述目标字段对应的目标文件;
所述数据处理模块,还用于根据所述映射关系,将每个所述目标字段对应的所述目标文件写入到与每个所述目标字段对应的所述目标数据库表对应的存储空间。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括;
判断模块,用于在所述数据处理模块解析所述待处理文件,得到所述待处理文件对应的文件标签之后,判断所述文件标签是否包括与预先确定的保密标签相匹配的文件标签,所述保密标签用于表示所述文件标签对应的数据的保密等级满足预设的保密等级阈值,且需要针对所述文件标签对应的所述数据执行保密处理操作;
第二处理模块,用于当所述判断模块判断出所述文件标签包括与预先确定的所述保密标签相匹配的文件标签时,向所述待处理文件对应的处理系统发送针对所述文件标签对应的文件数据的授权申请,所述授权申请用于申请针对所述文件标签对应的文件数据执行数据处理操作的授权;
所述第二处理模块,还用于当接收到所述授权申请通过的反馈信息时,根据所述反馈信息包括的权限标识以及所述反馈信息所包括的针对所述文件标签对应的所述文件数据的处理要求,对所述文件数据执行所述数据处理操作。
作为一种可选的实施方式,在本发明第二方面中,所述筛选模块包括:
筛选子模块,用于根据多个所述数据库表对应的所述字段,从所述字段中筛选得到与所述文件标签相匹配的目标字段;
确定子模块,用于根据所述筛选子模块筛选出的目标字段确定出与所述目标字段对应的数据库表,作为与所述文件标签相匹配的目标数据库表;
以及,所述第一处理模块从所述待处理文件中分别读取所述目标数据库表中每个目标字段对应的文件数据的方式具体包括:
获取所述待处理文件对应的处理需求;
根据所述处理需求筛选并读取所述待处理文件中与所述目标数据库表对应的所述目标字段相匹配的数据,作为所述目标字段对应的文件数据。
作为一种可选的实施方式,在本发明第二方面中,所述判断模块,还用于在筛选出与所述文件标签相匹配的所有所述目标数据库表的数量大于等于2,以及所述数据处理模块根据所述映射关系,将每个所述目标字段对应的所述目标文件写入到与每个所述目标字段对应的所述目标数据库表对应的存储空间之后,判断所有所述目标数据库表是否存在满足数据库表的合并条件的至少一个数据库表组,每个所述数据库表组包括能够合并的至少两个数据库表;
所述第二处理模块,还用于当所述判断模块判断出所有所述目标数据库表中存在满足数据库表的所述合并条件的至少一个所述数据库表组时,根据所述合并条件对应的合并规则分别对每个所述数据库表组内的数据库表执行合并操作。
作为一种可选的实施方式,在本发明第二方面中,所述合并条件的内容包括:
所述数据库表组中任意两个数据库表存在的相同字段且存在的相同字段的数量大于等于预设数量阈值;或者,
所述数据库表组中任意两个数据库表存在的相同字段、存在的相同字段的数量大于等于预设数量阈值且所述数据库表组中某一数据库表的当前存放空间对应的存储空间大于等于所述数据库表组中所有数据库表所需的存储空间。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
第三处理模块,用于在所述数据处理模块获取待处理文件之后,判断所述待处理文件的文件格式与预先确定的文件格式一致,当判断出所述待处理文件的文件格式与预先确定的文件格式不一致时,针对所述待处理文件执行格式转换操作,以将所述待处理文件转换为符合所述文件处理要求的格式的文件;和/或,
判断所述待处理文件的文件大小是否在预设的文件容量阈值内,当判断出所述待处理文件的文件大小不在预设的文件容量阈值内时,针对所述待处理文件执行文件压缩处理或生成错误提示,所述错误提示用于提示所述待处理文件不符合所述文件处理要求,以及用于终止执行所述的解析所述待处理文件的操作。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
存储模块,用于在所述数据处理模块根据所述映射关系,将每个所述字段对应的所述目标文件写入到与每个所述字段对应的所述目标数据库表对应的存储空间之后,存储所述文件标签与所述目标数据库表对应的所述映射关系;
第四处理模块,用于根据所述映射关系比对所述存储空间中的已存储文件与所述目标文件在各自的数据内容上是否一致,得到比对结果,所述已存储文件为所述目标文件根据所述映射关系写入到所述存储空间对应的文件;当所述比对结果中包括所述已存储文件与所述目标文件在各自的数据内容上不一致的情况时,获取所述比对结果所包括的所述已存储文件与所述目标文件不一致的异常数据,生成错误警告并调用与所述异常数据对应的处理程序处理所述异常数据,所述错误警告用于提示所述目标文件在写入到所述存储空间之后所述目标文件对应的数据内容与原本的所述目标文件对应的数据内容不一致。
本发明第三方面公开了另一种基于动态标签映射的大容量数据处理装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的基于动态标签映射的大容量数据处理方法。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的基于动态标签映射的大容量数据处理方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,获取并解析待处理文件,得到文件标签,根据文件标签以及多个数据库表对应的字段,从多个数据库表中筛选出与文件标签相匹配的目标数据库表,确定目标数据库表与文件标签的映射关系,得到目标数据库表与文件标签唯一对应的映射关系,从待处理文件中分别读取目标数据库表中每个目标字段对应的文件数据,将每个目标字段对应的文件数据组装成预设格式的数据语句,得到每个目标字段对应的目标文件,根据映射关系,将每个目标字段对应的目标文件写入到与每个目标字段对应的目标数据库表对应的存储空间。可见,实施本发明能够智能化处理获取到的待处理文件,从而得到所需的文件标签,该文件标签可用于后续建立动态映射关系,以及根据文件标签以及解析需求有针对性的对待处理文件的数据执行数据解析,从而有利于提高待处理文件的解析效率;还能在组装得到目标文件后,根据建立的动态映射关系,将不同标签对应的数据保存到不同的存储空间(如数据库表),满足了根据待处理文件解析出的多种数据的存储需求。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种基于动态标签映射的大容量数据处理方法及装置,能够能够智能化处理获取到的待处理文件,从而得到所需的文件标签,该文件标签可用于后续建立动态映射关系,以及根据文件标签以及解析需求有针对性的对待处理文件的数据执行数据解析,从而有利于提高待处理文件的解析效率;还能在组装得到目标文件后,根据建立的动态映射关系,将不同标签对应的数据保存到不同的存储空间(如数据库表),满足了根据待处理文件解析出的多种数据的存储需求。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种基于动态标签映射的大容量数据处理方法的流程示意图。其中,图1所描述的基于动态标签映射的大容量数据处理方法可以应用于CIM(城市信息)模型的数据解析,也可以应用于建筑模型的数据解析,本发明实施例不做限定。如图1所示,该基于动态标签映射的大容量数据处理方法可以包括以下操作:
101、获取待处理文件。
本发明实施例中,该待处理文件可以包括XML格式的文件,该XML格式的文件的容量在预设的可处理容量阈值内(如10G),可以为超过1G、不超过10G的大容量,也可以是小于1G的正常容量,本发明实施例不做限定。
可见,本发明实施例能够适应不同容量的文件的解析需求。
102、解析待处理文件,得到待处理文件对应的文件标签。
在本发明实施例中,当待处理文件为XML格式的文件时,可以是基于Java这一数据语言,实现对XML文件的解析,进一步的,在采用Java执行解析操作时,该待处理文件的解析方式可以为DOM解析方式,也可以为SAX解析方式,本发明实施例不做限定,此外,解析待处理文件时读取文件的方式可以采用以行为单位,按行读取的方式读取文件。
103、根据文件标签以及多个数据库表对应的字段,从多个数据库表中筛选出与文件标签相匹配的目标数据库表。
在本发明实施例中,在数据库中预先存储有多个数据库表,每个数据库表中对应存储有多个字段;在解析待处理文件,得到文件标签之后,从个数据库表中筛选出与文件标签相匹配的目标数据库表的筛选方式可以具体包括以下步骤:
根据多个数据库表对应的字段,从字段中筛选得到与文件标签相匹配的目标字段,并根据目标字段确定出与目标字段对应的数据库表,作为与文件标签相匹配的目标数据库表。
104、确定目标数据库表与文件标签的映射关系,得到目标数据库表与文件标签唯一对应的映射关系。
在本发明实施例中,确定目标数据库表与文件标签的映射关系,也即在步骤103确定出于文件标签对应的目标数据库表之后,建立目标数据库表与文件标签唯一对应的映射关系,其中,该映射关系的建立可以基于Java的反射特性。
105、从待处理文件中分别读取目标数据库表中每个目标字段对应的文件数据。
本发明实施例中,该从待处理文件中分别读取目标数据库表中每个目标字段对应的文件数据,具体可以包括以下步骤:
获取待处理文件对应的处理需求;
根据处理需求筛选并读取待处理文件中与目标数据库表对应的目标字段相匹配的数据,作为目标字段对应的文件数据。
可见,本发明实施例中,除了读取待处理文件中与目标数据库对应的文件数据之外,还能根据处理需求,有针对性的筛选并读取待处理文件中与目标数据库对应的文件数据,有利于减少对待处理文件中不在处理需求范围内的文件数据的处理,从而一定程度上提高对待处理文件的处理效率以及提高对待处理文件处理的准确性。
106、将每个目标字段对应的文件数据组装成预设格式的数据语句,得到每个目标字段对应的目标文件。
在本发明实施例中,该预设格式的数据语句可以为sql(结构化查询语言)格式的数据语句,以及上述从待处理文件中分别读取目标数据库表中每个目标字段对应的文件数据时,可以读取待处理文件中所有的文件数据,也可以只读取待处理文件中部分文件数据,本发明实施例不做限定。
本发明实施例中,该目标字段指代每个目标数据库表所包括的所有的字段中,与文件标签对应的字段。
107、根据映射关系,将每个目标字段对应的目标文件写入到与每个目标字段对应的目标数据库表对应的存储空间。
本发明实施例中,在步骤104确定出文件标签与该文件标签对应的目标数据库表,得到映射关系之后,以及步骤106将每个目标字段对应的文件数据组装成预设格式的数据语句,得到每个目标字段对应的目标文件之后,根据映射关系,以及待处理文件的写入需求,将每个目标字段对应的目标文件写入到与每个目标字段对应的目标数据库表对应的存储空间,满足对解析待处理文件后得到的多种数据的存储需求。
本发明实施例中,该存储空间可以为预先确定的关系数据库,该关系数据库的数量可以是一个也可以是多个,本发明实施例不做限定。
可见,实施图1所描述的基于动态标签映射的大容量数据处理方法,能够智能化处理获取到的待处理文件,从而得到所需的文件标签,该文件标签可用于后续建立动态映射关系,以及根据文件标签以及解析需求有针对性的对待处理文件的数据执行数据解析,从而有利于提高待处理文件的解析效率;还能在组装得到目标文件后,根据建立的动态映射关系,将不同标签对应的数据保存到不同的存储空间(如数据库表),满足了根据待处理文件解析出的多种数据的存储需求。
在一个可选的实施例中,在上述解析待处理文件,得到待处理文件对应的文件标签之后,该方法还包括以下步骤;
判断文件标签是否包括与预先确定的保密标签相匹配的文件标签,保密标签用于表示文件标签对应的数据的保密等级满足预设的保密等级阈值,且需要针对文件标签对应的数据执行保密处理操作;
当判断出文件标签包括与预先确定的保密标签相匹配的文件标签时,向待处理文件对应的处理系统发送针对文件标签对应的文件数据的授权申请,授权申请用于申请针对文件标签对应的文件数据执行数据处理操作的授权;
当接收到授权申请通过的反馈信息时,根据反馈信息包括的权限标识以及反馈信息所包括的针对文件标签对应的文件数据的处理要求,对文件数据执行数据处理操作。
在该可选的实施例中,为了方便理解,对上述保密等级进行如下举例说明:
假定对文件进行保密等级划分,可以划分为普通文件以及存在商业机密数据的文件,则该预设的保密等级阈值可以划分为不需要授权就可以执行读取、编辑、压缩等处理操作的文件,以及需要授权才可以执行与授权内容对应的操作的文件,其中,针对文件的保密等级的划分方式,本发明实施例不做限定。
在该可选的实施例中,该处理要求可以包括针对该文件数据只需执行数据复制和/或修改和/或迁移操作,本发明是实施例不做限定。
可见,该可选的实施例能够智能化判断文件标签的保密等级,对文件标签对应的文件数据执行与该保密等级相匹配的操作,有利于提高待处理文件对应的文件数据的安全性能。
在另一个可选的实施例中,获取待处理文件之后,该方法还包括以下步骤:
判断待处理文件的文件格式与预先确定的文件格式一致,当判断出待处理文件的文件格式与预先确定的文件格式不一致时,针对待处理文件执行格式转换操作,以将待处理文件转换为符合文件处理要求的格式的文件;和/或,
判断待处理文件的文件大小是否在预设的文件容量阈值内,当判断出待处理文件的文件大小不在预设的文件容量阈值内时,针对待处理文件执行文件压缩处理或生成错误提示,错误提示用于提示待处理文件不符合文件处理要求,以及用于终止执行解析待处理文件的操作。
可见,在该可选的实施例中,提供两种针对待处理文件的判断条件,在对待处理文件执行数据解析处理之前,判断待处理文件的文件格式和/或文件容量是否符合处理要求,并根据判断结果执行对应的格式转换操作和/或文件压缩操作或生成错误提示的操作,有利于减少因获取到的待处理文件的文件格式和/或文件容量不符合处理要求,而无法对待处理文件执行后续操作或导致后续操作出错的情况发生。
实施例二
请参阅图2,图2是本发明实施例公开的一种基于动态标签映射的大容量数据处理方法的流程示意图。其中,图2所描述的基于动态标签映射的大容量数据处理方法可以应用于CIM(城市信息)模型的数据解析,也可以应用于建筑模型的数据解析,本发明实施例不做限定。如图2所示,该基于动态标签映射的大容量数据处理方法可以包括以下操作:
201、获取待处理文件。
202、解析待处理文件,得到待处理文件对应的文件标签。
203、根据文件标签以及多个数据库表对应的字段,从多个数据库表中筛选出与文件标签相匹配的目标数据库表。
204、确定目标数据库表与文件标签的映射关系,得到目标数据库表与文件标签唯一对应的映射关系。
205、从待处理文件中分别读取目标数据库表中每个目标字段对应的文件数据。
206、将每个目标字段对应的文件数据组装成预设格式的数据语句,得到每个目标字段对应的目标文件。
207、根据映射关系,将每个目标字段对应的目标文件写入到与每个目标字段对应的目标数据库表对应的存储空间。
本发明实施例中,针对步骤201-步骤207的其他描述请参阅实施例一中针对步骤101-步骤107的其他具体描述,本发明实施例不再赘述。
208、对于所有目标数据库表,判断所有目标数据库表是否存在满足数据库表的合并条件的至少一个数据库表组,当步骤208的判断结果为是时,触发执行步骤209。
本发明实施例中,在筛选出与文件标签相匹配的所有目标数据库表的数量大于等于2,以及根据映射关系,将每个字段对应的目标文件写入到与每个字段对应的目标数据库表对应的存储空间之后,判断所有目标数据库表是否存在满足数据库表的合并条件的至少一个数据库表组,其中,每个数据库表组包括能够合并的至少两个数据库表。
209、根据合并条件对应的合并规则分别对每个数据库表组内的数据库表执行合并操作。
本发明实施例中,该合并条件的具体内容可以包括:数据库表组中任意两个数据库表存在的相同字段且存在的相同字段的数量大于等于预设数量阈值(如5个或8个);或者,
数据库表组中任意两个数据库表存在的相同字段、存在的相同字段的数量大于等于预设数量阈值且数据库表组中某一数据库表的当前存放空间对应的存储空间大于等于数据库表组中所有数据库表所需的存储空间,本发明实施不做限定。
其中,上述数据库表组中某一数据库表的当前存放空间对应的存储空间大于等于数据库表组中所有数据库表所需的存储空间,也即,当数据库表组中某一特定数据库表在满足前两个前置条件的情况下,进一步的,要满足合并当前数据库表组中其他剩余的数据库表这一极端条件,需要满足该特定数据库表的当前存放空间对应的存储空间大于等于数据库表组中所有数据库表所需的存储空间这一条件,才可视为满足合并条件。
可见,实施图2所描述的基于动态标签映射的大容量数据处理方法,能够能够智能化处理获取到的待处理文件,从而得到所需的文件标签,该文件标签可用于后续建立动态映射关系,以及根据文件标签以及解析需求有针对性的对待处理文件的数据执行数据解析,从而有利于提高待处理文件的解析效率;还能在组装得到目标文件后,根据建立的动态映射关系,将不同标签对应的数据保存到不同的存储空间(关系数据库),满足了根据待处理文件解析出的多种数据的存储需求;除此之外,还能够在判断出目标数据库表中存在满足合并条件的数据库表组时,对满足合并条件的数据库表组执行合并操作,有利于减少不同数据库表组中存储有相同的数据内容,占用过多存储空间的情况。
在一个可选的实施例中,上述根据映射关系,将每个字段对应的目标文件写入到与每个字段对应的目标数据库表对应的存储空间之后,该方法还可以包括以下步骤:
存储文件标签与目标数据库表对应的映射关系;
根据映射关系比对存储空间中的已存储文件与目标文件在各自的数据内容上是否一致,得到比对结果,已存储文件为目标文件根据映射关系写入到存储空间对应的文件;
当比对结果中包括已存储文件与目标文件在各自的数据内容上不一致的情况时,获取比对结果所包括的已存储文件与目标文件不一致的异常数据;
生成错误警告并调用与异常数据对应的处理程序处理异常数据,错误警告用于提示目标文件在写入到存储空间之后目标文件对应的数据内容与原本的目标文件对应的数据内容不一致。
可见,在该可选的实施例中,能够根据存储的文件标签与目标数据库表对应的映射关系,检查比对上述将每个字段对应的目标文件写入到与每个字段对应的目标数据库表对应的存储空间的写入结果是否正确,当比对结果显示已存储文件与目标文件不一致时,执行相应的生成错误警告和调用异常数据对应的处理程序处理异常数据的操作,有利于提高写入结果的准确率。
在另一个可选的实施例中,上述调用与异常数据对应的处理程序处理异常数据,可以包括以下步骤:
调用与异常数据对应的处理程序清除该异常数据;
根据上述映射关系,重新执行上述将每个字段对应的目标文件写入到与每个字段对应的目标数据库表对应的存储空间的操作;或者,
根据比对结果所包括的已存储文件与目标文件一致的正确数据,将目标文件中除正确数据外的待写入数据重新写入到对应的目标数据库表对应的存储空间中。
本发明实施例中,该异常数据还可以作为数据支撑,用于分析目标文件写入发生异常的原因,如根据异常数据的代码出现的乱码类型判断是否是文件写入时格式不兼容(如特殊符号无法写入),本发明实施例不做限定。
可见,在该可选的实施例中,能够智能化根据出现的异常数据的执行对应的异常处理方案,有利于提高目标文件写入数据库后的数据准确率。
在又一个可选的实施例中,在根据映射关系,将每个目标字段对应的目标文件写入到与每个目标字段对应的目标数据库表对应的存储空间之前,该方法还可以包括以下步骤:
对比分析每个目标字段对应的目标文件对应的数据格式与目标数据库表对应的数据存储格式是否匹配,得到分析结果,其中,该数据格式可以包括文字的存储格式、图片的存储格式(如jpg、png)以及视频的存储格式(如wav、avi),本发明实施例不做限定;
当分析结果中包括每个目标字段对应的目标文件对应的数据格式与目标数据库表对应的数据存储格式不匹配时,将目标字段对应的目标文件中,数据格式与目标数据库表对应的数据存储格式不一致的数据格式转换为与目标数据库表对应的数据存储格式一致的格式。
可见,本发明实施例能够智能化转换目标文件的数据格式,实现目标文件的数据格式与目标数据库表对应的数据存储格式一致,减少了因数据格式不一致出现目标文件写入目标数据库时报错/出错的情况,提高了目标文件写入目标数据库表对应的写入结果的准确率。
实施例三
请参阅图3,图3是本发明实施例公开的一种基于动态标签映射的大容量数据处理装置的结构示意图。其中,图3所描述的基于动态标签映射的大容量数据处理装置可以应用于车辆预约管理系统中,该车辆预约管理系统可以应用于CIM(城市信息)模型的数据解析,也可以应用于建筑模型的数据解析,本发明实施例不做限定。如图3所示,该基于动态标签映射的大容量数据处理装置可以包括数据处理模块301、筛选模块302、确定模块303以及第一处理模块304,其中:
数据处理模块301,用于获取待处理文件。
数据处理模块301,还用于解析待处理文件,得到待处理文件对应的文件标签。
筛选模块302,用于根据数据处理模块301得到的文件标签以及多个数据库表对应的字段,从多个数据库表中筛选出与文件标签相匹配的目标数据库表。
确定模块303,用于确定筛选模块302筛选出的目标数据库表与文件标签的映射关系,得到目标数据库表与文件标签唯一对应的映射关系。
第一处理模块304,用于从数据处理模块301获取到的待处理文件中分别读取目标数据库表中每个目标字段对应的文件数据,将每个目标字段对应的文件数据组装成预设格式的数据语句,得到每个目标字段对应的目标文件。
数据处理模块301,还用于根据确定模块303确定出的映射关系,将每个目标字段对应的目标文件写入到与每个目标字段对应的目标数据库表对应的存储空间。
可见,实施图3所描述的基于动态标签映射的大容量数据处理装置,能够智能化处理获取到的待处理文件,从而得到所需的文件标签,该文件标签可用于后续建立动态映射关系,以及根据文件标签以及解析需求有针对性的对待处理文件的数据执行数据解析,从而有利于提高待处理文件的解析效率;还能在组装得到目标文件后,根据建立的动态映射关系,将不同标签对应的数据保存到不同的存储空间(如数据库表),满足了根据待处理文件解析出的多种数据的存储需求。
在一个可选的实施例中,如图4所示,该基于动态标签映射的大容量数据处理装置还可以包括判断模块305以及第二处理模块306,其中:
判断模块305,用于在数据处理模块301解析待处理文件,得到待处理文件对应的文件标签之后,判断文件标签是否包括与预先确定的保密标签相匹配的文件标签,保密标签用于表示文件标签对应的数据的保密等级满足预设的保密等级阈值,且需要针对文件标签对应的数据执行保密处理操作。
第二处理模块306,用于当判断模块305判断出文件标签包括与预先确定的保密标签相匹配的文件标签时,向待处理文件对应的处理系统发送针对文件标签对应的文件数据的授权申请,授权申请用于申请针对文件标签对应的文件数据执行数据处理操作的授权。
第二处理模块306,还用于当接收到授权申请通过的反馈信息时,根据反馈信息包括的权限标识以及反馈信息所包括的针对文件标签对应的文件数据的处理要求,对文件数据执行数据处理操作。
可见,该可选的实施例能够智能化判断文件标签的保密等级,对文件标签对应的文件数据执行与该保密等级相匹配的操作,有利于提高待处理文件对应的文件数据的安全性能。
在另一个可选的实施例中,如图4所示,该筛选模块302包括筛选子模块3021以及确定子模块3022,其中:
筛选子模块3021,用于根据多个数据库表对应的字段,从字段中筛选得到与文件标签相匹配的目标字段。
确定子模块3022,用于根据筛选子模块3021筛选出的目标字段确定出与目标字段对应的数据库表,作为与文件标签相匹配的目标数据库表。
以及,第一处理模块304从待处理文件中分别读取目标数据库表中每个目标字段对应的文件数据的方式具体包括:
获取待处理文件对应的处理需求;
根据处理需求筛选并读取待处理文件中与目标数据库表对应的目标字段相匹配的数据,作为目标字段对应的文件数据。
可见,实施图4所描述的基于动态标签映射的大容量数据处理装置,能够智能化筛选出与文件标签匹配的目标字段,从而根据目标字段所在的数据库表确定出与文件标签对应的目标数据库,有利提高后续建立文件标签与目标数据库的映射关系时,得到的映射关系的准确率;还能根据处理需求,有针对性的筛选并读取待处理文件中与目标数据库对应的文件数据,减少对待处理文件中不在处理需求范围内的文件数据的处理,从而一定程度上提高对待处理文件处理的效率以及提高对待处理文件处理的准确性。
在又一个可选的实施例中,判断模块305,还用于在筛选出与文件标签相匹配的所有目标数据库表的数量大于等于2,以及数据处理模块301根据映射关系,将每个目标字段对应的目标文件写入到与每个目标字段对应的目标数据库表对应的存储空间之后,判断所有目标数据库表是否存在满足数据库表的合并条件的至少一个数据库表组,每个数据库表组包括能够合并的至少两个数据库表;
第二处理模块306,还用于当判断模块305判断出所有目标数据库表中存在满足数据库表的合并条件的至少一个数据库表组时,根据合并条件对应的合并规则分别对每个数据库表组内的数据库表执行合并操作。
在该可选的实施例中,进一步的,该合并条件的内容可以包括:
数据库表组中任意两个数据库表存在的相同字段且存在的相同字段的数量大于等于预设数量阈值;或者,
数据库表组中任意两个数据库表存在的相同字段、存在的相同字段的数量大于等于预设数量阈值且数据库表组中某一数据库表的当前存放空间对应的存储空间大于等于数据库表组中所有数据库表所需的存储空间。
可见,实施图4所描述的基于动态标签映射的大容量数据处理装置,能够在判断出目标数据库表中存在满足合并条件的数据库表组时,对满足合并条件的数据库表组执行合并操作,有利于减少不同数据库表组中存储有相同的数据内容,占用过多存储空间的情况。
在另一个可选的实施例中,如图4所示,该基于动态标签映射的大容量数据处理装置还可以包括第三处理模块307,其中:
第三处理模块307,用于在数据处理模块301获取待处理文件之后,判断待处理文件的文件格式与预先确定的文件格式一致,当判断出待处理文件的文件格式与预先确定的文件格式不一致时,针对待处理文件执行格式转换操作,以将待处理文件转换为符合文件处理要求的格式的文件;和/或,
判断待处理文件的文件大小是否在预设的文件容量阈值内,当判断出待处理文件的文件大小不在预设的文件容量阈值内时,针对待处理文件执行文件压缩处理或生成错误提示,错误提示用于提示待处理文件不符合文件处理要求,以及用于终止执行的解析待处理文件的操作。
可见,实施图4所描述的基于动态标签映射的大容量数据处理装置,提供两种针对待处理文件的判断条件,在对待处理文件执行数据解析处理之前,判断待处理文件的文件格式和/或文件容量是否符合处理要求,并根据判断结果执行对应的格式转换操作和/或文件压缩操作或生成错误提示的操作,有利于减少因获取到的待处理文件的文件格式和/或文件容量不符合处理要求,而无法对待处理文件执行后续操作或导致后续操作出错的情况发生。
在又一个可选的实施例中,如图4所示,该基于动态标签映射的大容量数据处理装置还可以包括存储模块308以及第四处理模块309,其中:
存储模块308,用于在数据处理模块301根据映射关系,将每个字段对应的目标文件写入到与每个字段对应的目标数据库表对应的存储空间之后,存储确定模块303确定出的文件标签与目标数据库表对应的映射关系;
第四处理模块309,用于根据确定模块303确定出的映射关系比对存储空间中的由数据处理模块301写入后得到的已存储文件与第一处理模块304得到的目标文件在各自的数据内容上是否一致,得到比对结果,已存储文件为目标文件根据映射关系写入到存储空间对应的文件;当比对结果中包括已存储文件与目标文件在各自的数据内容上不一致的情况时,获取比对结果所包括的已存储文件与目标文件不一致的异常数据,生成错误警告并调用与异常数据对应的处理程序处理异常数据,错误警告用于提示目标文件在写入到存储空间之后目标文件对应的数据内容与原本目标文件对应的数据内容不一致。
可见,实施图4所描述的基于动态标签映射的大容量数据处理装置,能够根据存储的文件标签与目标数据库表对应的映射关系,检查比对上述将每个字段对应的目标文件写入到与每个字段对应的目标数据库表对应的存储空间的写入结果是否正确,当比对结果显示已存储文件与目标文件不一致时,执行相应的生成错误警告和调用异常数据对应的处理程序处理异常数据的操作,有利于提高写入结果的准确率。
实施例四
请参阅图5,图5是本发明实施例公开的又一种基于动态标签映射的大容量数据处理装置的结构示意图。如图5所示,该基于动态标签映射的大容量数据处理装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,执行本发明实施例一或本发明实施例二所描述的基于动态标签映射的大容量数据处理方法中的步骤。
实施例五
本发明实施例公开了一种计算机存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或本发明实施例二所描述的基于动态标签映射的大容量数据处理方法中的步骤。
实施例六
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二中所描述的基于动态标签映射的大容量数据处理方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机存储介质中,存储介质包括只读存储器(Read-OnlyMemory,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)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种基于动态标签映射的大容量数据处理方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。