一种数据批量导入方法与流程

文档序号:11830552阅读:597来源:国知局

本发明涉及一种数据导入方法,特别是涉及一种批量导入数据的方法。



背景技术:

目前WEB应用中,当应用业务中需要录入大量的数据,人员手工录入已经不太可能了,必须依靠程序对既定格式的excel或者csv格式的文档进行解析,然后插入进数据库中,对于这样的导入文档,一般会引入目录层级结构+实质需要录入的内容来实现,比如一家在淘宝上卖书的店,新到了100本新书,该书店的工作人员需要将这100本新书的书名录入到自己的商品数据库中,以便能在淘宝店中进行出售。如果一本一本录入,会花费工作人员大量的精力,因此目前普遍采用批量导入的方式,但是批量导入的前提是先将这100本书录入一excel或者csv格式的文档中,在制作该文档时,工作人员首先会依据自己书店中各种书的分类规则,对这100本新书进行分类,该分类规则构成了该文档中的目录层级结构,比如小说,散文,诗歌等。目录层级结构可以是一级,也可以是多级,比如在小说下面还有言情小说、科幻小说、恐怖小说等等二级目录。设定外目录层级结构后,在最低一级目录下录入对应的书的书名,这些书名构成了实质需要录入的数据内容。录入完成之后,将该文档文件导入到数据库中,后台软件会对该文档进行解析,并依据数据库中存在的目录层级结构,将这100本书的书名分划到对应的目录中去。

然而当目录层级结构中,存在中文的时候,很容易出错,导致大批量的数据需要重新删除和重新导入,而且对于中文的文档的人工录入和校验也比较繁琐和容易出错。举例来说,“科幻小说”、“科幻小说(最后带空格)”、“科幻(中间带回车)小说”,这三个信息,单就数据值来说,是完全不同的三个信息,但是在人员录入的时候很容易发生手误,并且这个手误人员往往是发现不了的。此时如果在导入文档时,文档中的目录层级结构存在上述类似的错误,往往会导致批量导入的数据发生大规模的导入失败或导入错误的情况,等到导入过程完结之后,再发现该错误,只能删除大量的错误数据,并重新导入。

因此,现有的数据导入方法,在目录层级结构出现文字时,容易引入一些不易被人眼观察到的特殊符号,这些特殊符号的存在会导致这一项数据的值发生变化,从而使得目录层级结构导入的时候发生数据不匹配的现象,使得导入的成功率和效率大大降低。



技术实现要素:

有鉴于此,本发明的目的在于提供一种数据批量导入的方法,该方法可以杜绝在导入数据的时候,因为目录字段里出现隐蔽的特殊符号而导致大量数据错误导入的可能,确保数据批量导入准确性,提高导入过程中的成功率和效率。

根据本发明的目的提出的一种数据批量导入方法,所述数据记录在一文档文件中,所述批量导入方法用于将记录在所述文档文件中的数据导入到一数据库中,提供一目录层级结构命名规则,该命名规则以数字表征一目录层级结构的每一层级目录,使该每一层级目录对应一层级ID;解析所述文档文件,获得该文档文件中的目录层级结构;以所述目录层级结构命名规则对所述文档中的目录层级结构进行匹配,并用所述层级ID替换所述目录层级结构中的各层级目录;判断是否有未替换的层级目录,若有则中断导入,并发出提醒;否则,将每一层级目录下的数据导入到所述数据库中。

优选的,在所述目录层级结构的所有层级目录被所述层级ID替换之后,还包括将位于最底层目录的层级ID与对应该最底层目录的所有上级目录的层级ID进行组合,并生成新的最底层目录的层级ID。

优选的,将所述生成的新的最底层目录的层级ID替换该最底层目录所在的目录层级结构,数据导入时,通过对该最底层目录的层级ID进行解析,匹配到数据库的目录层级结构中。

所述对最底层目录的层级ID进行解析时,先解析所述最底层目录层级ID的位数,依据所述位数判断对应位数下的层级目录值,并在数据库中依次进行匹配,直至获取该最底层目录层级ID对应的完整目录层级结构。

优选的,所述层级ID由至少一个数字组成,将所述层级ID组合时,上级目录的层级ID在前,下级目录的层级ID在后。

优选的,在解析得到所述文档文件的目录层级结构之后,还包括步骤:判断所述目录层级结构是中是否存在新目录,若存在,则对该新目录以所述命名规则命名一个新的层级ID,并将该新的层级ID写入数据库中。

优选的,所述文档文件为excel格式文件或csv格式文件。

优选的,在发现有未替换的层级目录并中断导入后,还包括发出一提醒信息,用以提醒人员所述目录层级结构存在错误字段。

本发明的数据批量导入方法,与现有技术相比,将目录层级结构用一数字ID取代,匹配时,只要解析数字结构,就可以获得一组数据的目录情况,避免使用文字作为目录时,容易引入不确定的隐蔽符号,使目录值无法匹配,进而影响数据导入的难题,大大增加了大规模数据批量导入时的准确率,提升了数据导入的效率。

附图说明

图1是本发明数据批量导入方法的流程示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

正如背景技术中所述,现有的数据批量导入方法,需要人员将数据预先设置在一些excel或CSV文档文件中,导入时,先解析文档中的目录层级结构,依据目录层级结构决定数据内容的导入规则。这种方法,要求目录层级结构的字段值必须与数据库中的目录层级结构完全匹配。然而在制作文档文件的时候,往往会出现一些隐藏或不容易发现的特殊字符,尤其在目录层级结构需要使用中文时。此时,人员若发现不了这些特殊结构,会导致数据导入过程中,因为没有匹配原目录而使得数据出现大规模错乱现象,并且这种错误一旦发生,只能通过大规模数据删除和重新导入的手段进行更正,使得现有的数据批量导入的准确度和效率出现问题。

因此,本发明通过提出一种新的数据批量导入方法,通过对目录层级结构用数字ID的方式替换,使每个目录字段的值唯一化,让解析和匹配得以快速精准的实现,避免使用文字目录可能产生的特殊字符问题,从而提高数据批量带入的速度和效率。

下面将对本发明的技术方案做详细描述。

请参见图1,图1是本发明数据批量导入方法的流程示意图。如图所示,该数据批量导入方法包括如下的步骤:

S1:提供一目录层级结构命名规则,该命名规则以数字表征一目录层级结构的每一层级目录,使该每一层级中的目录对应一目录ID;

S2:解析所述文档文件,获得该文档文件中的目录层级结构;

S3:以所述目录层级结构命名规则对所述文档中的目录层级结构进行匹配,并用所述层级ID替换所述目录层级结构中的各层级目录;

S4:判断是否有未替换的层级目录,若有则中断导入,并发出提醒;否则,将每一层级目录下的数据导入到所述数据库中。

与现有技术一样,在实施本发明的方法之前,先要将待导入的数据记录到一文档文件中,然后才能用本发明的批量导入方法将记录在该文档文件中的数据导入到目标数据库。文档文件的类型可以是excel格式,也可以是csv格式,当然除此之外其他易于记录的数据格式文件也可以,在此不一一列举。

步骤S1中,具体的命名规则是指用一组或单个数字来命名某一个目录名称,比如“言情小说”、“科幻小说”、“恐怖小说”可以用数字“001”、“002”、“003”进行命名。对于每一层级的目录,每个数字ID之间应该有彼此之间的联系和区分,比如上述三个分类,处于同一目录层级,因此它们的数字ID之间应该至少位数相同,但是数字的具体数值不同。处于不同层级的目录,可以有不同的命名规则,也可以有相同的命名规则,比如“小说”是“言情小说”、“科幻小说”、“恐怖小说”的上级目录,对于“小说”这一目录,可以用“02”进行命名,也可以用“002”进行命名,不同层级之间的目录,可以有同样数值的数字ID存在。通过使用数字的方式命名每一个目录名称,使得计算机在做数据匹配的时候,可以非常精准的计算出每一目录字段的值,减少匹配错误的概率。

有了上述命名规则之后,可以设计一张文字目录名称和数字目录名称之间的映射关系表格,给出各个文字目录名称对应的数字目录名称,通过查询该表格,可以知道某一个目录名称应该用哪一个数字ID。

然后执行步骤S2,将录入数据的文档文件进行解析,获取该文档文件中的目录层级结构。该解析过程可以是一个在计算机内部执行的过程,不一定反应给人员获知,也可以解析之后向人员输出一个解析结果。解析的主要作用是对文档文件中的目录层级结构做字段提取,提取之后可用于下一步骤中的匹配。通常来说,目录层级结构中录入的目录采用中文(或其它语种)的文字进行表述,这符合人员在数据录入过程中的习惯,因为当你需要录入一组数据,比如10本书的书名的时候,总是习惯将这10本书归纳到对应的目录下,这个时候根据文字描述可以很方便的找到所需的目录。虽然在一种情况下,可以用一些代码代替文字说明,比如用拼音的首字母代替一个中文词组,就像“科幻小说”可以用“KHXS”代替一样,但是这种代替势必导致人员录入数据时的识别难度增加,因此在本发明中,主要考虑的是文字目录。 当然对于使用本发明的发明思想做的简单替换,比如预先制作好一个只包含层级目录的文档文件,然后采用本发明的方法将所有的目录替换成数字ID,然后再在此文档中录入数据,也可以视作本发明方法的一种延续或简单变形,作为本领域技术人员而言,应当明了这种技术方案隶属于本发明的总的发明思想之下。

字段提取之后,执行步骤S3,把各个目录字段和命名规则下的数字ID进行对应匹配。该过程可以利用上述的映射关系对应表,比如“科幻小说”对应的数字ID是“002”,因此在解析获取的目录层级结构中,如果识别出有“科幻小说”这一目录,就可以将该目录的字段值对应到数字“002”。具体对应过程,可能需要对目录的层级先做区分,第一层级的目录会去第一层级的数字ID中查找匹配,第二层级的目录会去第二层级的数字ID进行查找匹配,以此类推。匹配完成之后,采用替换的方式,将所有的文字目录替换层数字ID的目录,从而使得原文字目录变成数字目录。该替换比如利用excel中的替换功能,采用群替换的手段做批量替换,当然也可以匹配成功一个替换一个。替换完成之后,可以对应生成新的文档文件,此时该文档文件中的目录层级结果以数字的方式体现。

优选的,在目录层级结构的所有层级目录被数字ID替换之后,还可以将位于最底层目录的层级ID与对应该最底层目录的所有上级目录的层级ID进行组合,并生成新的最底层目录的层级ID。举例来说,如果一个具有三层的目录结构“小说”-“言情小说”-“现代都市言情”,在步骤S3执行完之后,会看到层级结构为“02”-“001”-“004”,这种替代仅将文字替换,并没有改动层级结构,在一些比较层级复杂的目录结构中,这种表述方式会使得目录层级结构看上去不友好,因此为了简化目录层级结构,在本发明中,可以将数字化之后的各个层级进行组合,以上述例子来说,最底层的目录为“现代都市言情”,以该目录为唯一目录,将上两级目标的数字ID组合进来,取代原先的层级结构,只保留组合后的最底层目录的层级ID。此时,该目录的数字ID即变为“02001004”,从层级上来看,原本三层结构的目录变成了只有一层,所有对应“现代都市言情”的书本将归集在该目录之下。而当数据导入时,对该目录的解析,先获取数字ID的位数情况,依据数字的位数,比如前两位对应一级目录,之后三位对应二级目录,最后三位对应三级目录,然后将对应位数上的数字值与数据库中设置的目录值进行匹配,就可以获取完整的目录层级结构,实现精确解析。利用这种方法,可以让复杂的目录层级结构简化,并且不影响解析的效率和准确率,这是传统的文字目录无法取代的技术效果。

通常的情况下,每一层目录的数字ID由至少1位数字组成,将这些不同层级的数字ID进行组合时,上级目录的数字ID放在前面,下级目录的数字ID放在后面,当然也可以倒过来设置,不影响本发明的使用。述层级ID由至少一个数字组成,将所述层级ID组合时,上 级目录的层级ID在前,下级目录的层级ID在后。

在一种情况下,当对文档文件的目录层级结构解析完成后,发现还有文字目录的字段值无法解析。此时就会发生两种情况,一种是该字段下的目录文字录入错误,即里面包含了隐藏的特殊字符或者出现了错别字,比如中文中形似的两个字往往很难区分,又比如英文单词出现拼写错误等等。此时,可以不做任何处理,让接下来的替换步骤继续,直至替换完成,再发出提醒信息,告诉人员在目录层级结构中出现错误字段,也可以在替换步骤之前就发出警报,告诉人员有字段出现错误。还有一种情况是,在目录层级结构中出现了新增字段,比如现有的书目录中并没有“诗歌”这一栏,现在新增“诗歌”,此时在录入的文档文件中,会多出“诗歌”目录,在解析结束后,可以发出询问信息,询问该目录的字段值是否需要保留,如果人员选择保留,那么利用命名规则,对“诗歌”这一目录赋予一个数字ID,比如“03”,并将该数字ID添加到已有的数据库中,而如果人员选择不保留,则按错误字段进行相应的处理。这样一来,就可以避免因为文字目录中出现的不易识别的错误字段而导致的整个数据无法导入的情况,在数据导入前,就将目录层级结构进行了数字化处理,确保导入过程中的精确匹配。

综上所述,本发明提出了一种数据批量导入的方法,该方法利用一命名规则,将传统的文字目录用数字ID的方式替换,在替换时,不仅可以学习获取新的目录ID,而且可以将错误的文字字段的目录进行发现和提醒,避免数据导入时,因这些错误字段的目录而导致的大批量数据出现无法导入的问题。确保了数据批量导入过程中的准确性,提高了数据导入的效率。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1