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

文件入库方法、装置及电子装置、计算机程序产品与流程

2021-11-03 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.本技术实施例的主要贡献和创新点如下:
25.1.本技术实施例提供一种数据文件处理规范对数据文件进行预处理,使其成为符合数据采集标准的待导入文件,也就是说本技术实施例提供的方法可以对不同类型的文件进行处理,改善文件入库只能识别单独类型的数据文件而导致兼容性差的问题。
26.2.本技术实施例提供了一种自动匹配规则,使待导入文件可以自动匹配目标数据库中的目标数据表,并且使待导入文件中的数据段自动匹配到目标数据表的对应字段,也就是说本技术实施例提供的方法将待导入文件中的数据准确对应到相应的字段,优化了文件入库时可能造成部分数据错误或丢失,以至于难以实现高质量文件入库的问题。
27.3.本技术实施例提供的是一种自动化方法,从上传数据文件匹配目标数据表,读取数据文件中的数据匹配目标数据表中对应字段都是一体化完成,也就是说只需要确定需要导入的数据文件和将要导入的目标数据库,后续操作可以交由计算机快速处理,减少需
要人工配置的操作,提高文件入库的效率。
28.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
29.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
30.图1是根据本技术实施例的文件入库方法的流程图;
31.图2是根据本技术实施例的待导入文件的示意图;
32.图3是根据本技术实施例的待处理文件的示意图;
33.图4是根据本技术实施例的完全对应关系的示意图;
34.图5是根据本技术实施例的映射关系的示意图;
35.图6是根据本技术实施例的文件入库装置的结构框图;
36.图7是根据本技术实施例的电子装置的硬件结构示意图。
具体实施方式
37.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
38.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
39.实施例一
40.本实施例旨在提出一种文件入库的技术方案,实现批量数据文件快速准确入库。在实现时,该技术方案提供了数据文件的处理规范,通过将数据文件中的数据结构化处理,得到统一形式的待导入文件,使每个待导入文件都符合数据采集标准。然后从目标数据库中自动查询并获取与该待导入文件匹配的目标数据表,从待导入文件提取出数据段,根据待导入文件中数据段与目标数据表中字段的完全对应关系和/或映射关系进行导入,实现了高质量文件入库的自动化过程,减轻大批量文件入库时的人工压力。
41.本实施例提供了一种文件入库方法,可以实现高质量数据文件自动入库,具体地,参考图1,图1是根据本技术实施例的文件入库方法的流程图。如图1所示,该方法包括步骤s1

s4:
42.步骤s1:获取待导入文件,其中所述待导入文件包括至少一数据段名以及至少一数据组,每一所述数据组中含有对应所述数据段名的数据。
43.在该步骤中,待导入文件是符合后续数据采集标准的数据文件,也就是说,待导入
文件中包含至少一数据组,数据组中包含至少一数据,对应该数据对应有一数据段名,如果数据组中包含两个及以上数据,那么每一数据都应该对应有一数据段名。如果待导入文件中有两个及以上的数据段名,数据段名都顺序排列,那么每个数据组中的数据都按照这个顺序排列。
44.如果最初获取到的数据文件不符合待导入文件的形式,可以先将数据文件作为待处理文件对其进行一个预处理。以批量文件入库为例,首先选择需要进行批量入库的数据文件作为待处理文件,这个些文件可以是不同类型的数据文件,然后设置待处理文件对应导入的数据库作为目标数据库,在待处理文件上传或开始导入后会自动对这些待处理文件中的数据进行一种结构化处理。
45.所述待导入文件的获取方法,也就是待处理文件具体的处理方法包括:获取待处理文件,所述待处理文件包括至少一数据组,每一所述数据组中包括至少一数据,同一所述数据组中的不同数据对应不同数据段名;所有所述数据段名之间设置分隔符,且同一所述数据组中对应不同数据段名的数据之间设置所述分隔符。
46.也就是说,需要对待处理文件进行调整,在同一数据组中的相邻数据间插入分隔符,以用于将数据组中的数据对应不同的数据段名。具体待处理文件可以参考图3,图3是根据本技术实施例的待处理文件的示意图。如图3所示,待处理文件是json类型的数据文件,所述数据组保存在“[”和“]”之间,相邻数据组之间用逗号隔开,每一数据组之间都有表示id、name和c_id的数据,将表述相同含义的数据提取出组成一数据段,用id、name和c_id作为对应数据段的数据段名,就可以得到符合数据采集标准的待导入文件。
[0047]
具体待导入文件的格式可以参考图2,图2是根据本技术实施例的待导入文件的示意图。如图2所示,该待导入文件中包括多个数据组,每一数据组记录一条完整信息,也就是说,在本实施例中除第一行外的每一行代表一数据组,每一数据组都记录了一个对应数据段名did、dage、dname的数据。然后将所有数据中的表示含义相同的数据组合起来就形成了数据段,例如图2中所有表示did的数据组成了一数据段,且该数据段的数据段名为did。其中同一数据组的相邻数据之间设有分隔符“#”,目的是为了让数据与数据之间区分开,以便于计算机读取待导入文件时区分同一数据组中的不同数据。
[0048]
需要说明的是图2只是本实施例提供的一种参考样式,并不是唯一的待导入文件形式,只要符合步骤s1中待导入文件描述的形式,都可以用于导入数据库。
[0049]
步骤s2:获取目标数据库中匹配所述待导入文件的目标数据表。
[0050]
对应待导入文件设有对应导入的目标数据库,然后从目标数据库中查询到匹配待导入文件的目标数据表,也就是说,每一待导入文件是对应一目标数据表,将待导入文件中的数据导入到对应的目标数据表中。
[0051]
在本实施例中,获取目标数据表的方法包括:获取待导入文件的文件名称,根据文件名称获取匹配待导入文件的目标数据表。也就是说,是通过待导入文件的文件名称并在目标数据库查询表名相同的数据表作为匹配该待导入文件的目标数据表。
[0052]
在另一些实施例中,所述待导入文件的所述文件名称包括原始文件名和其余信息,获取表名与根据所述原始文件名相同的数据表作为所述目标数据表。也就是说,文件名称不一定完全对应目标数据表的表名,有可能是文件名称中的部分是原始文件名,也就是对应目标数据表的表名,然后还包括了其余信息,例如对待导入文件进行统一处理时形成
的前缀或者后缀。具体的,其余信息可以对应待导入文件使用的分隔符,也就是说相当于给每个待导入文件都在文件名称中注明了所使用的分隔符。
[0053]
例如文件名称为“a_test”的待导入文件的原始文件名为“test”,该待导入文件的前缀也就是“a_”对应某一种分隔符。如果待导入文件的文件名称没有注明分隔符,也就是本实施例中直接用待导入文件的文件名称匹配目标数据表的情况,可以默认其使用的分隔符为“#”,也可以通过对数据进行分析得到相应的分隔符。
[0054]
在批量导入的场景中,会将每个待导入文件与对应的目标数据表自动匹配起来,并可视化展示,可以直观地让操作人员确认每个待导入文件是否正确对应上匹配的目标数据表,若经过上述方法处理后部分待导入文件仍然无法寻找到相匹配的目标数据表,操作人员也可以选择进行手动干预。也就是说,若无法通过所述文件名称或所述原始文件名获取所述目标数据表,根据所述待导入文件包含的内容选择对应的数据表作为所述目标数据表,以确保待导入文件准确匹配目标数据库。
[0055]
步骤s3:建立所述待导入文件中数据段与所述目标数据表中字段的完全对应关系,或建立所述待导入文件中数据段与所述目标数据表中字段的映射关系。
[0056]
确认好每一个待导入文件匹配的目标数据表后,需要将待导入文件中的数据按数据段名对应上目标数据表中的字段。也就是说,根据数据段名和字段的字段名,将数据段名和字段名相同的数据段和字段一一对应,以建立完全对应关系,或者根据数据段的数据段含义与字段的字段含义,以建立数据段名和字段名的映射关系。具体的可以如参考图4,如图4所示的数据段对应相同的字段并可视化呈现给操作人员。
[0057]
优选的,可以将两种方法结合使用,以尽量保证数据段名和字段名之间的对应。在一些实施例中,若无法建立所述待导入文件中数据段名与所述目标数据表中字段的完全对应关系,则建立所述待导入文件中数据段名与所述目标数据表中字段的映射关系。也就是说,可以先根据数据段名和字段的字段名,将数据段名和字段名相同的数据段和字段一一对应,以建立完全对应关系,如果有些数据段和字段无法根据数据段名和字段名实现对应,那么再根据数据段的数据段含义与字段的字段含义,将数据段名和字段建立映射,以建立映射关系。具体的可以参考图5,如图5所示将不同的数据段名和字段名对应上并可视化呈现给操作人员。根据上述方法建立完全对应关系和/或映射关系,最后可能存在部分字段没有对应的数据段名,不过这并不影响数据导入的最后效果,因为只要保证每一数据段都能找到对应的字段名就能实现将待导入文件中的数据全部导入到对应的目标数据表中。
[0058]
步骤s4:根据所述完全对应关系或所述映射关系将所述待导入文件中数据导入所述目标数据表。
[0059]
在该步骤中,根据完全对应关系,就是将数据导入到与其对应数据段名相同的字段中;根据映射关系,就是将数据导入到与其对应数据段名建立映射关系的字段中。
[0060]
在另外一些实施例中,在步骤s4之后还需要对已经导入的数据进行校验,以检查是否所有数据都准确入库了,如果入库后的数据中存在缺漏或与待导入文件中的数据不匹配,需要提醒用户,用户才可以针对不同的情况进行相应的处理。
[0061]
也就是说,将待导入文件数据导入目标数据表后,对目标数据表中新导入的数据进行数据校验。一些实施例中的校验方法为:获取所述待导入文件中的数据组数量、所述目标数据表的导入前数据行数以及所述目标数据表的导入后数据行数;比对所述数据组数量
serial bus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器304可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(non

volatile)存储器。在特定实施例中,存储器404包括只读存储器(read

only memory,简称为rom)和随机存取存储器(random access memory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmable read

only memory,简称为prom)、可擦除prom(erasable programmable read

only memory,简称为eprom)、电可擦除prom(electrically erasable programmable read

only memory,简称为eeprom)、电可改写rom(electrically alterable read

only memory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(static random

access memory,简称为sram)或动态随机存取存储器(dynamic random access memory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器304(fast page mode dynamic random access memory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extended date out dynamic random access memory,简称为edodram)、同步动态随机存取内存(synchronous dynamic random

access memory,简称sdram)等。
[0076]
存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。
[0077]
处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意一种数据入库方法。
[0078]
可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。
[0079]
传输设备406可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
[0080]
输入输出设备408用于输入或输出信息。在本实施例中,输入的信息可以是当前数据表例如疫情流调文档、特征数据、模板表等,输出的信息可以是特征指纹、指纹模板、文本分类推荐信息、文件模板配置映射表、文件模板配置信息表等。
[0081]
可选地,在本实施例中,上述处理器402可以被设置为通过计算机程序执行以下步骤:
[0082]
获取待导入文件,其中所述待导入文件包括至少一数据段名以及至少一数据组,每一所述数据组中含有对应所述数据段名的数据;
[0083]
获取目标数据库中匹配所述待导入文件的目标数据表;
[0084]
建立所述待导入文件中数据段名与所述目标数据表中字段的完全对应关系,或建立所述待导入文件中数据段名与所述目标数据表中字段的映射关系;
[0085]
根据所述完全对应关系或所述映射关系将所述待导入文件中数据导入所述目标数据表。
[0086]
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0087]
另外,结合上述实施例一中的任意一种文件入库方法,本实施例可一种计算机程序产品来实现。该计算机程序产品包括:程序或指令,当所述程序或指令在计算机上运行时,使得所述计算机执行实现上述实施例一中的任意一种文件入库方法。
[0088]
并且,结合上述实施例一中的任意一种文件入库方法,本实施例可提供一种可读存储介质来实现。该可读存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例一中的任意一种文件入库方法。
[0089]
通常,各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。本技术的一些方面可以以硬件来实现,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本技术不限于此。尽管本技术的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
[0090]
本技术的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器诸如在处理器实体中可执行,或者由硬件来实现,或者由软件和硬件的组合来实现。包括软件例程、小程序和/或宏的计算机软件或程序(也称为程序产品)可以存储在任何装置可读数据存储介质中,并且它们包括用于执行特定任务的程序指令。计算机程序产品可以包括当程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。另外,在这一点上,应当注意,如图中的逻辑流程的任何框可以表示程序步骤、或者互连的逻辑电路、框和功能、或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储块等物理介质、诸如硬盘或软盘等磁性介质、以及诸如例如dvd及其数据变体、cd等光学介质上。物理介质是非瞬态介质。
[0091]
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0092]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

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

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

相关文献