一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据入库方法、装置、电子装置、程序产品及存储介质与流程

2021-10-24 14:36:00 来源:中国专利 TAG:
1.本技术涉及大数据挖掘领域,特别是涉及数据入库方法、装置、电子装置、程序产品及存储介质。
背景技术
::2.在大数据挖掘领域,经常需要对大量的不同结构的表格数据进行快速采集入库,以支撑后续的数据处理、分析和挖掘。例如疫情的流调过程中,需要对来自公安、铁路、医院、社区等各个部门的数据进行入库分析。由于疫情的特殊性,此类数据有以下特点:数据结构类型多,来自不同部门的数据结构基本都不一样,都有各自的特点;数据结构变化快,很多数据结构都是摸索阶段,会随着时间的推移,在不同阶段会增加、调整;由于不同人员编辑、手工编写错误等原因,导致表格的结构名称有差异;数据响应时间短,为了防止疫情的大规模传播,需要对数据进行快速的入库分析,及时发现问题人员,要求数据能在尽可能短的时间进行入库……基于以上的特点,实现流调数据的快速、及时、准确的入库是一项非常困难的事情。3.传统的解决方式主要通过人海战术,用大量人员进行手工导入,表结构很难统一、管理,或者使用能自定义模板的导入工具进行导入,需要频繁的新增或修改模板后手工导入,以上方法都存在效率低、用时长、难维护、管理复杂等问题,不能满足疫情等特殊时期的需要。4.现有技术基本是采用人工自定义模板的方式导入,虽然灵活,能适用各种结构的数据,但是由于有需要人工去进行模板的添加和判断,由于依赖人工的过程多,不仅导致整个数据导入的周期时间变长,而且导入后表的维护和使用非常复杂、效率低、容易出错,不适应大数据时代数据挖掘的需要,更不适用疫情等特殊时期对数据快速入库的要求。5.综上,针对相关技术中数据快速动态入库的实现技术无法适用于快速对当下格式多变、复杂、相似的表格数据进行入库的问题,目前尚未得到有效的解决方案。技术实现要素:6.本技术实施例提供了一种数据入库方法、装置、电子装置、程序产品及存储介质,针对目前结构多变、复杂、相似的表格数据能够实现自动模板匹配、自动建表、自动入库的目的,实现流调数据的快速、及时、准确的入库。7.第一方面,本技术实施例提供了一种数据入库方法,所述方法包括:获取待入库数据表,将所述待入库数据表中的每行特征数据转换为对应的特征标识,其中,所述特征数据用于表示每一目标行号对应的记录行数据;分别比对每一所述特征标识与预置的每一标识模板的匹配度,基于所述匹配度为满足匹配条件的所述标识模板创建入库表;根据所述标识模板对应的表头字段生成所述入库表中的插入列,将从所述待入库数据表中提取到的所述特征数据对应插入每一所述插入列中。8.在其中一些实施例中,所述匹配条件包括:在所述特征标识与每一所述标识模板进行遍历匹配的情况下,选择所述匹配度最高且高于匹配阈值的所述标识模板;或者在所述特征标识与当前的所述标识模板的匹配度高于匹配阈值的情况下,选择当前的所述标识模板。9.在其中一些实施例中,“将从所述待入库数据表中提取到的所述特征数据对应插入所述入库表中的每一所述插入列中”包括:将所述入库数据表中所述匹配度满足所述匹配条件的所述特征标识的所在行确定为标题行;从所述标题行后一行的所述特征数据开始提取,将提取到的所述特征数据对应插入所述入库表中每一所述插入列中。10.在其中一些实施例中,获取模板配置映射表,通过预设转换方式将所述模板配置映射表的表头数据转换成标识模板,其中,所述预设转换方式还用于将每行所述特征数据转换为对应的特征标识。11.在其中一些实施例中,所述预设转换方式包括:对所述模板配置映射表中的表头字段进行拼接,得到第一字符串;将所述第一字符串转换为预设长度的第一数字摘要,将所述第一数字摘要确定为所述表头字段的所述标识模板;或者对所述待入库数据表中的每行所述特征数据进行拼接,得到第二字符串;将所述第二字符串转换为所述预设长度的第二数字摘要,将所述第二数字摘要确定为所述待入库数据表中的特征数据的特征标识。12.在其中一些实施例中,依据字符串模板生成规则对所述表头字段或者每行所述特征数据进行标准化处理得到每个标准字符串数据,其中,相邻两个所述标准字符串数据以连接符拼接得到所述第一字符串或者所述第二字符串。13.在其中一些实施例中,在“获取待入库数据表”之前,所述方法包括:获取当前数据表,比对所述当前数据表的第一文件信息与已入库数据表的第二文件信息的文件重复度,在所述文件重复度低于阈值的情况下,将所述当前数据表确定为待入库数据表。14.在其中一些实施例中,在所述匹配度不满足匹配条件的情况下,将所述特征数据输入至已训练的文本分类模型,得到所述已训练的文本分类模型输出的文本分类结果,其中,所述文本分类结果用于表征分类后的所述特征数据与每一所述表头字段的相似度;基于所述相似度满足相似条件的所述标识模板创建所述入库表;根据所述标识模板对应的所述表头字段生成所述插入列,将所述待入库数据表中提取到的所述特征数据对应插入所述入库表中的每一所述插入列中。15.在其中一些实施例中,所述相似条件包括:在分类后的所述特征数据与每一所述表头字段遍历比对的情况下,选择所述相似度最高且高于相似度阈值的所述标识模板。16.在其中一些实施例中,“基于所述匹配度满足匹配条件的所述标识模板创建入库表”包括:在所述匹配度满足匹配条件的情况下,基于所述标识模板的模板表名称生成入库表名称,根据所述入库表名称创建入库表。17.第二方面,本技术实施例提供了一种数据入库装置,包括:特征标识转换模块,获取待入库数据表,将所述待入库数据表中的每行特征数据转换为对应的特征标识,其中,所述特征数据用于表示每一目标行号对应的记录行数据;匹配模块,用于分别比对每一所述特征标识与预置的每一标识模板的匹配度,基于所述匹配度为满足匹配条件的所述标识模板创建入库表;入库模块,用于根据所述标识模板对应的表头字段生成所述入库表中的插入列,将从所述待入库数据表中提取到的所述特征数据对应插入每一所述插入列中。18.第三方面,本技术实施例提供了一种计算机程序产品,包括软件代码部分,当所述计算机程序产品在计算机上被运行时,所述代码软件部分用于执行根据第一方面任一项所述的数据入库方法。19.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据第一方面任一项所述的数据入库方法。20.本发明的主要贡献和创新点如下:21.本技术实施例通过对待入库数据表的头部多行特征数据使用文件分类特征标识计算后得到对应数量的特征标识,将每行特征标识与模板库中的标识模板比对从而快速准确定位到待入库数据表的标题行以及与标题行匹配度高的模板表,通过模板表与待入库数据表的映射关系创建入库表,批量导入数据到入库表中实现了全自动化地数据快速入库的有益效果。通过本技术实施例,可以对不同来源,不同格式,不同批次,或是由于人为原因导致标题名称命名不统一、字段顺序不一致等情况下的待入库数据表进行动态的、快速准确的,减少人工参与并实现全自动化的入库问题。22.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。附图说明23.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:24.图1是根据本技术实施例的数据入库方法的流程图;25.图2是根据本技术一种实施例的数据入库方法的流程图;26.图3是根据本技术实施例的数据入库装置的结构框图;27.图4是根据本技术实施例的电子装置的硬件结构示意图。具体实施方式28.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。29.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。30.实施例一31.本技术旨在提出一种通过待入库数据表与模板表的匹配度高低撮合匹配完成数据入库的技术方案,在实现时,通过将待入库数据表中的每行特征数据转换为对应的特征标识,并与模板表中的标识模板进行比对,若匹配,则基于模板表创建入库表,将待入库数据表中的特征数据插入模板表中,进而完整整个数据入库过程。32.例如,由上述待入库数据表为excel文件为例,根据当前excel文件匹配到的模板进行动态创建数据表,再根据模板表中映射后模板表中的字段,动态组成插入列。33.本技术实施例提供了一种数据入库方法,可以实现数据快速、自动导入的目的,具体地,参考图1,所述方法包括:34.步骤s101、获取待入库数据表,将所述待入库数据表中的每行特征数据转换为对应的特征标识,其中,所述特征数据用于表示每一目标行号对应的记录行数据。35.在本步骤中,目标行号指的是预设的行号,通过提取预设的行号对应的记录行数据能够在大多数情况下查询到待入库数据表的标题行。具体地,针对每一待入库数据表,无论其总行数多少,都可以根据目标行号获取预设的行号对应的记录行数据,例如,当预设的行号为前十行,则获取每一待入库数据表的前十行记录行数据,不足十行的取实际行数;当预设的行数为后五行,啧获取每一待入库数据表的后五行记录行数据,不足五行的取实际行数。或者,当预设的行号为预设规则下提取例如奇数行、偶数行记录行数据,则获取每一待入库数据表的奇数行或偶数行记录行数据。36.示例性的,以待入库数据表为excel文件举例,大部分情况下标题行出现在excel文件的首行,但是不排除一些情况下标题行出现在其他行。现有技术中一般通过人工判断的方式确定每一excel文件的标题行。在本步骤中,设置需要提取出的目标行号,例如,当目标行号为第1至10行,则提取前10行特征数据,将每行特征数据转换为对应的特征标识,其中特征标识是唯一对应于一行的特征数据的固定长度的值,通过生成特征标识能大大减少每行特征数据的长度,在后续步骤中能提高匹配效率。37.在本实施例中,特征标识也可被称作特征指纹。类似于人的指纹是每个人独有的,特征指纹指的是能唯一标识这个特征数据的一个值,不同特征数据对应的特征标识/特征指纹也不同。38.在其中一些实施例中,在“获取待入库数据表”之前,所述方法包括:获取当前数据表,比对所述当前数据表的第一文件信息与已入库数据表的第二文件信息的文件重复度,在所述文件重复度低于阈值的情况下,将所述当前数据表确定为待入库数据表。39.在本实施例中,通过文件重复比对的方式跳过已入库的当前数据表,避免对同一当前数据表进行多次入库操作。40.具体地,采用安全散列算法(securehashalgorithm,简称为sha)对当前数据表进行摘要计算,生成第一文件信息,比对该第一文件信息与已入库数据表的第二文件信息的文件重复度,基于重复度判断当前数据表是否与库中已有的文件一致,若一致则说明同样的文件已入库,当前数据表无需进行入库,则读取下一个数据表进行判断,直到读取到未入库的文件,再对文件进行后续的入库处理。采用安全散列算法一方面能够保护敏感的疫情流调数据不以明文的方式进行匹配,提高安全性,另一方面缩短了比对文本的长度,提高了匹配效率。且当匹配为一致文本时,过已入库的当前数据表,避免对同一当前数据表进行多次入库操作,减少待入库数据表的入库时间。41.针对上述步骤s101,通过生成当前数据表的摘要信息,将复杂的文件内容转换为256‑bit的报文摘要字符串,通过字符串的重复度比对来判断当前数据表是否已经完成入库操作,跳过已完成入库的数据表,直接对待入库数据表进行后续匹配操作,从而大大减少了处理时间。42.步骤s102、分别比对每一所述特征标识与预置的每一标识模板的匹配度,基于所述匹配度为满足匹配条件的所述标识模板创建入库表。43.在本步骤中,将生成的每个特征标识与标识模板进行比对,从而快速查找定位到每个待入库数据表的标题行以及每个待入库数据表导入时参照的模板。44.本步骤区别于现有技术在于通过指定行数的特征标识与模板库中的标识模板进行一一匹配。以待入库数据表为excel文件为例,excel文件的标题行一般在文件头部几行,并不一定在首行,但是大多数情况下不会超过十行,而目前技术在没有人为参与筛选的情况下,无法知道具体哪行是excel文件的标题行。45.示例性的,以表1‑1表示待入库数据表,表1‑2表示模板表。比对表1‑1与表1‑2可以看出,表1‑1中第三行的每一特征数据都能与表1‑2的第一行数据匹配到,且二者匹配度高于表1‑1其他行与表1‑2的第一行数据的匹配度,换言之,表1‑1中第三行特征数据与模板表的匹配度满足匹配条件,因此可以快速得出第三行为表1‑1的标题行,且表1‑2为表1‑1的匹配模板。因此以表1‑2创建入库表。需要说明的是,表1‑2中的表头字段的数量为7,表1‑1的表头字段为4,说明模板表的字段数大于待入库数据表,即,在本步骤中采用最大模板表的方式能减少模板表的数量以及提高匹配命中率。46.表1‑147.第一行202010098张三123456789集中隔离第二行202010099李四123456987居家观察第三行序号姓名联系电话隔离方式第四行202110001王五987654321居家观察48.表1‑2[0049][0050]由上述示例可知,数据入库时匹配的不是excel文件中的每一特征数据本身,而是匹配excel文件的表结构是否能在模板库中找到,如果能找到,则将该excel文件中的每列数据导入模板中,因此获取每个待入库数据表的标题行的效率直接影响数据入库的效率。本步骤通过特征标识与标识模板自动比对的方式能在不依赖人为参与筛选的情况下快速查找定位到每个待入库数据表的标题行以及与标题行相似度。[0051]在其中一些实施例中,所述匹配条件包括:在所述特征标识与每一所述标识模板进行遍历匹配的情况下,选择所述匹配度最高且高于匹配阈值的所述标识模板;或者在所述特征标识与当前的所述标识模板的匹配度高于匹配阈值的情况下,选择当前的所述标识模板。[0052]在本实施例中提供了两种判断是否匹配的方式,第一种是遍历匹配,将匹配度最高值与匹配阈值进行比对,若高于,则确定所述模板表,若低于,则未找到相应的模板表。第二种将每个匹配值与匹配阈值进行比对,若高于,则确定所述模板表,若低于,则读取下一匹配值。[0053]在其中一些实施例中,获取模板表,通过预设转换方式将所述模板表的表头数据转换成标识模板,其中,所述预设转换方式还用于将每行所述特征数据转换为对应的特征标识。[0054]在本实施例中模板表指的是如表1‑2所示的表结构,表头数据以明文显示,包括了序号、姓名、联系电话等字段,将表头数据转换成标识模板,且特征数据也以同样的转换方式进行转换。示例性的,当采用sha‑256将表头数据转换成256‑bit字符串时,每行特征数据也采用sha‑256转换成256‑bit字符串,两个同样方式转换得到的字符串进行比较时,若相等则说明对应的表头数据、特征数据也相同,两个字符串越相似则说明表头数据、特征数据匹配度越高。[0055]作为另一种可行实施方式,采用文件模板配置映射表管理每个模板表,在比对时,将待入库数据表的每一特征标识与文件模板配置映射表中每一所述标识模板进行匹配。具体地,如表1‑3所示,在文件模板配置映射表中包括了主键、特征标识、模板表名称、表头所在行、列个数、映射顺序等,其中,主键用于唯一的标识表中的某一条记录,特征标识指的是已入库的数据表的标题行的摘要字段,模板表名称指的是与该数据表对应的模板表的表名称,表头所在行指的是该特征标识对应的特征数据所在行,列个数表示表头所在行的列的总数,映射顺序指的是表头所在行的列与模板的映射关系。可以通过表头数据模板配置映射表中的已有字段对待入库数据表进行匹配,将满足匹配条件的特征标识及其相应字段填入该文件模板配置映射表中。[0056]表1‑3[0057][0058]表头数据模板配置映射表可以存储在数据库中,从数据库获取该表,加载表中的所有配置数据到redis缓存或内存,可以大大加快后续入库判断和推荐的性能。[0059]在其中一些实施例中,“基于所述匹配度满足匹配条件的所述标识模板创建入库表”包括:在所述匹配度满足匹配条件的情况下,基于所述标识模板的模板表名称生成入库表名称,根据所述入库表名称创建入库表。[0060]在本实施例中如表1‑3所示,模板表名称可以用于生成入库表名称,例如,入库表名称为tpl_00_yyyymmdd_001,其中tpl_00为模板表名称,yyyymmdd为当天日期,001为当天入库的对应tpl_00模板的自增序列号,从1开始自增,在数据库中执行上述语句,就可以快速动态的创建表。在本实施例中,通过与模板表名称为tpl_00相匹配的表的创建方式为:createtabletpl_00_yyyymmdd_001liketpl_00。执行上述语句,能够快速动态创建表。[0061]在其中一些实施例中,所述预设转换方式包括:对所述模板表中的表头字段进行拼接,得到第一字符串;将所述第一字符串转换为预设长度的第一数字摘要,将所述第一数字摘要确定为所述表头字段的所述标识模板;或者对所述待入库数据表中的每行所述特征数据进行拼接,得到第二字符串;将所述第二字符串转换为所述预设长度的第二数字摘要,将所述第二数字摘要确定为所述待入库数据表中的特征数据的特征标识。[0062]在本实施例中分别对表头字段、特征数据进行拼接,并通过安全散列算法对标题行进行指纹特征提取。需要说明的是,指纹特征指的是对原始的明文数据,如表头字段、特征数据进行摘要计算得到长度为256‑bit的加密字符串。[0063]作为优选地,在拼接字符串过程中,所述方法还包括:依据字符串模板生成规则对所述表头字段或者每行所述特征数据进行标准化处理得到每个标准字符串数据,其中,相邻两个所述标准字符串数据以连接符拼接得到所述第一字符串或者所述第二字符串。[0064]示例性地,如表1‑4所示,将第一行的特征数据进行标准化处理,包括去空格、全角转半角、小写转大写处理,以空格作为连接符,空格分隔相邻两个标准字符串数据,最终特征数据合并成一个特征数据字符串“序号姓名身份证号码联系电话(手机)省份城市县区乡镇(街道)村(社区)具体地址管控开始时间当前管控状态隔离方式”。在本实施例中通过标准化处理使得一些在数据导入时因不同人员编辑或是手工编写错误等原因,导致数据格式不一的数据表能以标准格式导入,且匹配时避免了因为对非标准化的特征数据进行摘要计算而影响匹配结果。[0065]在其中一些实施例中,所述方法还包括:在所述匹配度不满足匹配条件的情况下,将所述特征数据输入至已训练的文本分类模型,得到所述已训练的文本分类模型输出的文本分类结果,其中,所述文本分类结果用于表征分类后的所述特征数据与每一所述表头字段的相似度;基于所述相似度满足相似条件的所述标识模板创建所述入库表;根据所述标识模板对应的所述表头字段生成所述插入列,将所述待入库数据表中提取到的所述特征数据对应插入所述入库表中的每一所述插入列中。[0066]具体地,所述相似条件包括:在分类后的所述特征数据与每一所述表头字段遍历比对的情况下,选择所述相似度最高且高于相似度阈值的所述标识模板。在本实施例中,可以将相似度最高的标识模板作为推荐模板供人工选择。在入库过程中随着数据的导入以及对标识模板的完善,文本分类模型推荐的相似度最高的标识模板的分类判断准确度会越来越高逼近于准确值,因此人工筛选时只看相似度最高的标识模板是否匹配待入库数据表即可,提高入库人员的筛选效率。[0067]本实施例示出了一种针对通过摘要比对无法获取对应的模板表进一步匹配的方法。具体地,可以采用有监督文本分类算法(fasttext)训练文本分类模型,其中,该算法由facebook在2016年开源,常用于解决带监督的文本分类问题。通过训练好的文本分类模型对标题行进行分类,自动推荐合适的文档分类以供选择。在本实施例中可以通过人工筛选的方式确定入库表的模板是从自动推荐合适的文档分类中选择,还是手动新增一个全新的模板表,进行标题行和模板表中的数据列的映射,并在文件模板配置映射表中添加相应的模板表和映射关系的信息,同时加载到redis缓存,以供给后续的文件判断使用。同时将人工选择的“分类特征数据”和文件分类的关系纳入疫情流调数据文本分类模型训练样本中,进行模型训练更新。在本实施例中实现了对于无法自动匹配模板的文件,通过fasttext训练的文本分类模型进行已有模板推荐或手工创建新模板和字段映射的有益效果。[0068]针对上述步骤s102,通过读取待入库数据表的目标行号的特征数据,以空格分隔合并成一个特征数据字符串,并通过sha‑256算法进行摘要指纹计算,生成对应数量的特征标识,并通过与缓存中的标识模板进行匹配,从而快速查找定位到对应的模板表以及对应的模板映射。[0069]步骤s103、根据所述标识模板对应的表头字段生成插入列,将从所述待入库数据表中提取到的所述特征数据对应插入每一所述插入列中。[0070]在本步骤中,所述标识模板对应的表头字段指的是待入库数据表与模板表的映射顺序,例如,当映射顺序为1,2,3,4,5,6,7,8,9,10,11,12,13则说明待入库数据表中的每一列与模板表中的前13列的每一列对应。读取所需特征数据并插入至对应列中,完成对待入库数据表的数据入库操作。[0071]在其中一些实施例中,“将从所述待入库数据表中提取到的所述特征数据对应插入所述入库表中的每一所述插入列中”包括:将所述待入库数据表中所述匹配度满足所述匹配条件的所述特征标识的所在行确定为标题行;从所述标题行后一行的所述特征数据开始提取,将提取到的所述特征数据对应插入所述入库表中每一所述插入列中。[0072]在本实施例中,根据待入库数据表与模板表的映射顺序,从待入库数据表的标题行往后一行开始读取,将读取到的所有记录组成需要插入的记录内容,进行动态、批量以及快速地导入到数据库中。[0073]针对上述步骤s103,本步骤采用最大模板表方式进行数据表管理,获取到模板表后通过模板和字段映射完数据批量导入的自动过程。[0074]图2是根据本技术一种实施例的数据入库方法的流程图,参考图2,本技术实施例示例性地提供了一种数据入库方法,具体地,该方法包括:[0075]s201:从数据库获取并缓存配置[0076]从关系型数据库例如mysql中读取文件模板配置映射表数据到缓存,通常根据数据库的服务地址、端口、用户名、密码、数据库实例信息连接到数据源,加载文件模板配置映射表中的所有配置数据到redis缓存或内存。[0077]s202:读取疫情流调文档[0078]可以在配置文件中指定主目录,循环遍历主目录下所有的子目录和子目录中的excel文件。除了读取当前数据表的文件内容之外,还要读取文件名称、全路径、大小、创建日期、修改日期、sha‑256文件信息摘要等信息,用于进行文件重复判断。当文件信息摘要和库中已有的一样时,说明同样的文件已经入库,无需再次进行入库,继续读取下一个文件进行判断,直到读取到从未入库的文件,继续后续的处理。[0079]s203:读取数据,生成结构指纹、数据特征[0080]一般excel的标题行都会在文件头部几行,大部分不会超过十行,但在不人为参与的情况下,无法知道具体哪行是标题行,即使是同一类数据,也有可能因为人为原因导致头部所在行各不相同,因此在本步骤中为了快速准确地定位标题行,读取前十行的数据,将每列数据进行内容进行去空格、全角转半角、小写转大写等处理,并以空格分隔合并成一个特征数据的字符串,通过sha‑256算法进行摘要指纹计算,生成十个特征标识的字符串。[0081]表1‑4[0082][0083]如表1‑4所述,会将第一行的“特征数据”字符串数据“序号姓名身份证号码联系电话(手机)省份城市县区乡镇(街道)村(社区)具体地址管控开始时间当前管控状态隔离方式”通过sha‑256算法生成“特征标识”“7b54b9d5652f45ca97d6a083b05150838ca8e7ad4fd8ac4cb9da9a932d9e6ff4”,依次类推,直到前10行,记录数不足10行的,以实际行数为准,生成结果参见表1‑5。[0084]表1‑5[0085][0086]s204:匹配文件分类及模板[0087]将读取到的文件前10行的特征标识,通过“特征标识”列的值和redis缓存中加载的文件模板配置映射表的“标识模板”列的值进行完全匹配,如果能匹配到对应的标识模板,则读取缓存中对应的文件模板配置信息进行后续的处理,文件模板配置信息参见表1‑6。表1‑6存储的是每个文件模板对应的表里的字段名称、类型等信息,模板表的名称是第二列,如图的tpl_01等,值域第一列的主键这个不是摘要形式,这个是数据库里的常用的主键类型guid,可以由36位字符组成,表示就是系统生成的表里的唯一主键,用来标识每一行记录的;需要说明的是,在表1‑6中的主键与上述提到的信息摘要只是形式上都由字符串组成,二者并没有联系。[0088]表1‑6[0089]土键模板表英文名称字段顺序字断英文名称字段中文名称字段类型001aa0eatpl_011seqnum序号int001c44a6tpl_012name姓名varchar00214006tpl_013idcard_no身份证号码varcharc046bc96tpl_014phone手机号码varchar004a7c63tpl_015address_cty所属市varcharc05cf6dctpl_016address_district所属区县varchar006004d2tpl_017address_town所属街道varchar..................c187b2d1tpl_0116isexists保留varchar[0090]s205:文件分类推荐[0091]如果根据“特征标识”无法找到匹配的模板表,则使用fasttext训练好的疫情流调数据文本分类模型,对“特征数据”列的文本进行文本分类,并按照匹配度从高到底进行分类推荐,人工选择确认后,系统根据标题中文名称和选中的文本分类模板中的字段中文名称进行完全匹配来进行自动关系映射,无法完全匹配上的,则进行人工关系映射,并在文件模板配置映射表中添加相应信息,将文件“特征数据”、“特征标识”和对应的模板配置映射表数据加载到redis缓存,以供给后续的待入库数据表判断使用。同时将“特征数据”和模板表的关系加入疫情流调数据文本分类模型训练样本集中,进行模型训练更新。[0092]s206:文件分类维护及映射[0093]若经过上面两步后,还是无法得到任何匹配或相似的指纹特征模板,则需要通过人工进行分类的新增和模板的维护。根据s30步骤生成好的前10行的“特征数据”,和通过数据文本分类模型匹配后的匹配度进行综合判断,是新增一个全新的模板表,还是在已有模板表上增加新的字段。人工查看判断哪一行是该文件的标题行,并进行标题中文名称和模板表中数据项中文名称的映射,并在文件模板配置映射表中添加相应信息,将表格文件“特征数据”、“特征标识”和对应的模板配置映射表数据加载到redis缓存,以供给后续的文件判断使用。同时将人工选择的“特征数据”和模板表的映射关系纳入疫情流调数据文本分类模型训练样本中,进行模型训练更新。[0094]s207:动态生成数据表[0095]经过上述步骤,已经匹配到或新建了一个模板表后,将根据当前excel文件匹配到的模板,进行动态创建数据表,将对应的模板表结构通过createtabletpl_00_yyyymmdd_001liketpl_00方法创建出一个和当前需要入库的文件对应的当天批次的表,其中tpl_00是一类模板表的表名称,yyyymmdd为当天日期,001为当天入库的对应tpl_00模板的自增序列号,从1开始自增,在数据库中执行上述语句,就可以快速动态的创建表。[0096]s208:动态插入数据[0097]数据表创建后,再根据模板配置映射表中映射后模板表中的字段,动态组成插入列,如:insertintotpl_00_yyyymmdd_001(`seqnum`,`name`,`idcard_no`,`phone`,`address_city`,`address_district`,`address_town`,`address_village`,`address`,`ctl_begin_date`,`tag`,`ctl_name`,`ctl_phone`,`ctl_status`,`isolation_method`),括号中的字段英文名称就是当前文件分类对应的模板中的需要插入的字段,字段顺序和excel中的列顺序对应;然后从excel中的标题行往后一行开始,读取到所有的记录,组成需要插入的记录内容,进行动态的、批量的、快速的将数据插入到数据库中。[0098]s209:判断所有文件是否处理完毕?[0099]循环对下一个文件进行处理,如果下一个文件存在,则跳到s30对下一个数据文件进行处理。如果无法自动匹配到文件分类,则记录下推荐或手工处理需要的信息:前10行的“特征数据”、“特征标识”等信息,并跳过此文件,继续处理后面的文件,如果没有需要处理的文件时,则结束整个循环入库操作,并提示将无法自动处理的文件,根据记录的信息进行手工处理。[0100]手工处理完毕后,再次启动自动入库过程,进行上述步骤的循环。[0101]通过本技术实施例可以对疫情相关的各种不同来源的、同一来源不同格式的、同一来源不同批次的、由于人为原因导致标题名称命名不统一、字段顺序不一致等各种复杂情况下的excel文件,进行动态的、快速准确的、逐步减少人工参与并最终实现全自动化的入库问题。针对传统的靠人海战术,用大量人员进行手工导入,或者使用能自定义模板的导入工具进行导入,需要频繁的新增或修改模板后手工导入的效率低、用时长、难维护、管理复杂等问题导致难以快速适用疫情防控期间对数据入库时间周期要求非常高的情况,本技术实施例提出了一种数据入库方法,通过对文件头部多行数据使用特征标识计算后和模板库中的标识模板进行比对,并采用文本分类算法模型进行智能模板推荐,同时采用最大模板表方式进行数据表管理,最终通过模板和字段映射自动地完成文件分类识别、模板选择、自动通过模板表建表、自动组装数据批量导入到表等一系列自动过程,并随着积累的文件类别和模板越来越多,人工参与越来越少,最终实现全自动化疫情流调数据快速入库功能。[0102]实施例二[0103]基于相同的构思,参考图3,本技术还提出了一种数据入库装置,包括:[0104]特征标识转换模块301,用于获取待入库数据表,将所述待入库数据表中的每行特征数据转换为对应的特征标识,其中,所述特征数据用于表示每一目标行号对应的记录行数据;[0105]匹配模块302,用于分别比对每一所述特征标识与预置的每一标识模板的匹配度,基于所述匹配度满足匹配条件的所述标识模板创建入库表;[0106]入库模块303,用于根据所述标识模板对应的表头字段生成插入列,将从所述待入库数据表中提取到的所述特征数据对应插入所述入库表中的每一所述插入列中。[0107]实施例三[0108]本实施例还提供了一种电子装置,参考图4,包括存储器404和处理器402,该存储器404中存储有计算机程序,该处理器402被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。[0109]具体地,上述处理器402可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。[0110]其中,存储器404可以包括用于数据或指令的大容量存储器404。举例来说而非限制,存储器404可包括硬盘驱动器(harddiskdrive,简称为hdd)、软盘驱动器、固态驱动器(solidstatedrive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(non‑volatile)存储器。在特定实施例中,存储器404包括只读存储器(read‑onlymemory,简称为rom)和随机存取存储器(randomaccessmemory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmableread‑onlymemory,简称为prom)、可擦除prom(erasableprogrammableread‑onlymemory,简称为eprom)、电可擦除prom(electricallyerasableprogrammableread‑onlymemory,简称为eeprom)、电可改写rom(electricallyalterableread‑onlymemory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(staticrandom‑accessmemory,简称为sram)或动态随机存取存储器(dynamicrandomaccessmemory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器404(fastpagemodedynamicrandomaccessmemory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extendeddateoutdynamicrandomaccessmemory,简称为edodram)、同步动态随机存取内存(synchronousdynamicrandom‑accessmemory,简称sdram)等。[0111]存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。[0112]处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意一种数据入库方法。[0113]可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。[0114]传输设备406可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。[0115]输入输出设备408用于输入或输出信息。在本实施例中,输入的信息可以是当前数据表例如疫情流调文档、特征数据、模板表等,输出的信息可以是特征标识、标识模板、文本分类推荐信息、文件模板配置映射表、文件模板配置信息表等。[0116]可选地,在本实施例中,上述处理器402可以被设置为通过计算机程序执行以下步骤:[0117]s101、获取待入库数据表,将所述待入库数据表中的每行特征数据转换为对应的特征标识,其中,所述特征数据用于表示每一目标行号对应的记录行数据;[0118]s102、分别比对每一所述特征标识与预置的每一标识模板的匹配度,基于所述匹配度为满足匹配条件的所述标识模板创建入库表;[0119]s103、根据所述标识模板对应的表头字段生成所述入库表的插入列,将从所述待入库数据表中提取到的所述特征数据对应插入每一所述插入列中。[0120]需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。[0121]通常,各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。本发明的一些方面可以以硬件来实现,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。[0122]本发明的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器诸如在处理器实体中可执行,或者由硬件来实现,或者由软件和硬件的组合来实现。包括软件例程、小程序和/或宏的计算机软件或程序(也称为程序产品)可以存储在任何装置可读数据存储介质中,并且它们包括用于执行特定任务的程序指令。计算机程序产品可以包括当程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。另外,在这一点上,应当注意,如图中的逻辑流程的任何框可以表示程序步骤、或者互连的逻辑电路、框和功能、或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储块等物理介质、诸如硬盘或软盘等磁性介质、以及诸如例如dvd及其数据变体、cd等光学介质上。物理介质是非瞬态介质。[0123]本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0124]以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜