专利名称:基于规则解析的数据导入方法、装置及设备
专利类型:发明专利
专利申请号:CN201911044288.1
专利申请(专利权)人:北京国双科技有限公司
权利人地址:北京市海淀区北四环中路229号海泰大厦4层南401号
专利发明(设计)人:徐和银
专利摘要:本发明实施方式提供一种基于规则解析的数据导入方法,所述导入方法包括:获取源列名和目标列名;配置所述源列名与所述目标列名之间的映射关系;基于所述映射关系,将具有映射关系的源列名的列数据导入对应的目标列名所标识的列中。同时还提供了一种基于规则解析的数据导入方法的装置和设备。本发明的上述技术方案通过对列名之间的映射关系的配置,以及对节点数据之间的映射关系配置和关联关系配置,适用于对导入数据进行入库到结构化数据库和非结构化数据库,避免了现有数据导入中的字段配置复杂的问题。
主权利要求:
1.一种基于规则解析的数据导入方法,其特征在于,所述导入方法包括:
获取源列名和目标列名;
配置所述源列名与所述目标列名之间的映射关系,包括:通过图形界面显示所述目标列名,并提供下拉菜单显示所述源列名供用户选择;根据所述用户的选择生成所述源列名与所述目标列名之间的映射关系;
基于所述映射关系,将所述源列名的列数据导入对应的目标列名所标识的列中;
在所述获取源列名和目标列名之前,所述方法还包括:定义节点,并对所述节点所包含的目标列名进行配置,包括:将导入数据按照列名称进行自由组合映射到图数据库中的节点的属性上,同时将映射的节点进行关联,来构建图节点中的关系;
在界面中用户通过系统封装的检索控件进行数据查询并选择查询结果中记录或者通过添加的方式新增一个新的node节点,如果选择添加按钮,用户需要填写节点名称、节点属性集合,属性集合中的每一项包含属性名称、属性数据类型、属性值三项,添加完成节点后,外部框将新增一个node节点,用户对内部节点之间进行连线,该连线是存在方向的,并填写两个node节点的关系名称,外部node也可以和内部node之间进行连线,操作和内部node节点之间一样。
2.根据权利要求1所述的方法,其特征在于,所述映射关系包括:一个源列名对应于一个或多个所述目标列名。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述源列名不存在与所述目标列名的映射关系,则所述源列名中的列数据不被导入。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在完成对所述节点中目标列名所标识的列的数据导入之后,对所述节点与其他节点的关联关系进行配置。
5.一种基于规则解析的数据导入装置,其特征在于,所述装置包括:
列名配置模块,用于获取源列名和目标列名;
规则配置模块,用于配置所述源列名与所述目标列名之间的映射关系,包括:通过图形界面显示所述目标列名,并提供下拉菜单显示所述源列名供用户选择;根据所述用户的选择生成所述源列名与所述目标列名之间的映射关系;
数据导入模块,用于基于所述映射关系,将与目标列名具有映射关系的源列名的列数据导入对应的目标列名所标识的列中;
所述装置还包括:在所述获取源列名和目标列名之前,定义节点,并对所述节点所包含的目标列名进行配置,包括:将导入数据按照列名称进行自由组合映射到图数据库中的节点的属性上,同时将映射的节点进行关联,来构建图节点中的关系;
在界面中用户通过系统封装的检索控件进行数据查询并选择查询结果中记录或者通过添加的方式新增一个新的node节点,如果选择添加按钮,用户需要填写节点名称、节点属性集合,属性集合中的每一项包含属性名称、属性数据类型、属性值三项,添加完成节点后,外部框将新增一个node节点,用户对内部节点之间进行连线,该连线是存在方向的,并填写两个node节点的关系名称,外部node也可以和内部node之间进行连线,操作和内部node节点之间一样。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:节点配置模块和节点关系配置模块;
所述节点配置模块用于对一个节点所包含的目标列名进行配置;
所述节点关系配置模块用于对所述节点与其他节点的关联关系进行配置。
7.一种基于规则解析的数据导入设备,其特征在于,所述设备包括至少一个处理器、与所述处理器连接的至少一个存储器以及总线,所述处理器及所述存储器通过所述总线完成相互间的通信;
所述处理器用于调用所述存储器中的程序指令,以执行权利要求1至4中任意一项权利要求所述的基于规则解析的数据导入方法。
8.一种存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至4中任一项权利要求所述的基于规则解析的数据导入方法。 说明书 : 基于规则解析的数据导入方法、装置及设备技术领域[0001] 本发明涉及数据处理领域,具体地涉及一种基于规则解析的数据导入方法、一种基于规则解析的数据导入装置以及一种基于规则解析的数据导入设备。背景技术[0002] 现今市面上存在多种数据导入工具,绝大部分在导入时,是以导入数据列的列名称作为入库的列名称,进行数据列的结构,同时在导入的数据库一般也是结构化数据库,缺少在导入数据时,无法做到列名的映射与过滤,而且缺少导入非结构化数据库,比如将数据导入到图数据库。具体表现在:[0003] 导入结构化数据库,通常以表的方式进行数据存储,常见的导入数据是将数据表中所有列都导入数据库中,无法做到导入数据列的过滤,以及生成表的结构中的列就是导入数据的列名称,无法做到数据库中表结构的列名称和导入数据列名称不一致时,数据就无法进行导入,缺少导入数据与数据库列名称映射的过程。[0004] 导入非结构化数据库,比如图数据库,现有技术无法将导入数据中的数据按照列组合进行入库,也无法方便地将映射的节点进行关联,以构建图节点中的关系,因此不能满足绝大部分构建非关系型数据导入的需求。发明内容[0005] 本发明实施方式的目的是提供一种基于规则解析的数据导入方法及装置,以至少解决目前数据导入中存在的数据导入操作繁琐的问题。[0006] 为了实现上述目的,在本发明第一方面,提供一种基于规则解析的数据导入方法,所述导入方法包括:[0007] 获取源列名和目标列名;[0008] 配置所述源列名与所述目标列名之间的映射关系;[0009] 基于所述映射关系,将所述源列名的列数据导入对应的目标列名所标识的列中。[0010] 可选的,所述方法还包括:所述配置所述源列名和所述目标列名的映射关系,包括:[0011] 通过图形界面显示所述目标列名,并提供下拉菜单显示所述源列名供用户选择;[0012] 根据所述用户的选择,生成所述源列名与所述目标列名之间的映射关系。[0013] 可选的,所述映射关系包括:一个源列名对应于一个或多个所述目标列名。[0014] 可选的,所述方法还包括:若所述源列名不存在映射关系,则所述源列名中的列数据不会被导入。[0015] 可选的,在所述获取源列名和目标列名之前,所述方法还包括:定义节点,并对节点所包含的目标列名进行配置。[0016] 可选的,所述方法还包括,在所述节点中目标列名所标识的列的数据导入之后,对所述节点与其他节点的关联关系进行配置。[0017] 在本发明的第二方面,还提供了一种基于规则解析的数据导入装置,所述装置包括:[0018] 列名配置模块,用于获取源列名和目标列名;[0019] 规则配置模块,用于配置所述源列名和所述目标列名的映射关系;[0020] 数据导入模块,用于将将具有映射关系的源列名的列数据导入对应的目标列名所标识的列中。[0021] 可选的,所述装置还包括:节点配置模块和节点关系配置模块;[0022] 所述节点配置模块用于对一个节点所包含的目标列名进行配置;[0023] 所述节点关系配置模块用于对所述节点与其他节点的关联关系进行配置。[0024] 在本发明的第三方面,还提供了一种基于规则解析的数据导入设备,包括至少一个处理器、以及与所述处理器连接的至少一个存储器及总线;其中,所述处理器及存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以前述的基于规则解析的数据导入方法。[0025] 在本发明的第四方面,还提供了一种存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前述的基于规则解析的数据导入方法。[0026] 本发明上述技术方案通过解析导入规则完成对导入数据进行入库,满足了入库到结构化数据库和非结构化数据库的需求,避免了现有数据导入中的字段配置复杂的问题。[0027] 本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明[0028] 附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:[0029] 图1是本发明一种实施方式提供的基于规则解析的数据导入方法的示意图;[0030] 图2是本发明一种实施方式提供的基于规则解析的数据导入方法的规则配置示意图;[0031] 图3是本发明一种实施方式提供的基于规则解析的数据导入方法的节点配置示意图;[0032] 图4是本发明一种实施方式提供的基于规则解析的数据导入方法的节点的关系配置示意图;[0033] 图5是本发明一种实施方式提供的基于规则解析的数据导入设备的示意图。具体实施方式[0034] 以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。[0035] 在本发明实施方式中,在未作相反说明的情况下,使用的方位词如“上、下、顶、底”通常是针对附图所示的方向而言的或者是针对竖直、垂直或重力方向上而言的各部件相互位置关系描述用词。[0036] 图1是本发明一种实施方式提供的基于规则解析的数据导入方法的示意图。如图1所示,本发明实施方式提供一种基于规则解析的数据导入方法,所述导入方法包括:[0037] 获取源列名和目标列名;配置所述源列名和所述目标列名的映射关系;基于所述映射关系,将所述源列名的列数据导入对应的目标列名所标识的列中。[0038] 如此,能够通过解析导入规则,完成对导入数据进行入库到结构化数据库和非结构化数据库的需求,避免了现有数据导入中的字段配置复杂的问题。[0039] 具体的,本发明提供的实施方式通过列名映射方式,以达到对现有数据的拆分、映射和删除的目的。在导入表的规则配置过程中,需要配置将导入数据中的那些列,和表模板中的列进行列名称映射处理,并要保证数据类型的对应。例如:目标数据表中存在三列,分别是A、B、C,即A、B、C为源列名;源数据表的结构存在四列,分别为姓名、年龄、地址、备注,即为目标列名。在将源数据表中的数据导入目标数据表中时,需要先进行列名之间的规则配置,即映射关系的配置。比如:配置源列名中的A列和目标列名中的姓名进行映射,源列名中的B列和目标列名中的年龄进行映射,配置完成后,在导入页面将数据进行导入,通过解析导入配置规则,导入数据中的A列的数据导入到表中的姓名列中,导入数据中的B列的数据导入表中的年龄列中,通过本实施方式,可以实现对导入数据列的操作并进行结构化数据入库。[0040] 图2是本发明一种实施方式提供的基于规则解析的数据导入方法的规则配置示意图,如图2所示。在本发明提供的一种实施方式中,所述配置所述源列名和所述目标列名的映射关系,包括:通过图形界面显示所述目标列名,并提供下拉菜单显示所述源列名供用户选择;获取所述用户的选择,生成所述源列名和所述目标列名的映射关系。用户可以选择库中已存在的表集合中选择其中一张表,也可以新增一张表。在该界面中,用户完成填写表名称以及定义表中的列与列类型。在构造完成表后,确认后,在会跳转到图3中,刚刚新建的表将会在下拉选中出现,用户就可以选择刚刚新增的表,选择完成表后,确定后进入表列映射界面。用户可以在该界面进行导入数据与选择表的数据列的映射,界面可以设置“数据是否包含表头”、“行/列”以及数据列名称与选择表模板列的映射。设置中的“数据是否包含表头”默认值为包含,我们都知道在excel中,第一行数据一般是数据的标题行,如果数据不包含表头的话,则在excel中,表头那就是excel的列引用,就是“A、B、C、D…”。设置中的“行/列”体现是数据存储结构,通常数据是按行存储的,对于列存储的导入数据,需要将列数据转换为行数据进行入库处理。[0041] 在本发明提供的一种实施方式中,所述映射关系包括:一个源列名对应于一个或多个所述目标列名。当然也可以将导入数据中的一列映射到表中的多列,接前述的实施例,可以将导入数据中的A列和B列都映射到目标列名中的姓名列,通过本实施方式,以实现对源数据进行复制或拆分后再进行入库的目的。[0042] 在本发明提供的一种实施方式中,所述方法还包括:若所述源列名不存在映射关系,则所述源列名中的列数据不会被导入。接前述的实施例,当源列名中的C列没有配置,则其不存在映射关系,因此在数据导入中,C列的数据将不会进入目标数据表中。通过本实施方式,以实现对源数据进行过滤后再进行入库的目的。[0043] 图3是本发明一种实施方式提供的基于规则解析的数据导入方法的节点配置示意图,如图3所示。在本发明提供的一种实施方式,除了能够导入表等结构化数据,还能导入节点等非结构化数据。前述的实施方式用于导入数据表等数据,而本发明的实施方式还提供了一种对节点数据的导入方法。在所述获取源列名和目标列名之前,所述方法还包括:定义节点,并对节点所包含的目标列名进行配置。此处的定义包括:需要配置导入数据中的那些列组成一个node节点,并设置节点的属性的数据类型。以下以图数据库为例进行描述,在本方案中可以实现将导入数据按照列名称能够进行自由组合映射到图数据库中的某个节点的某个属性上,并将按照配置的规则将导入数据进行入库,通过这种方式,可以将导入数据中的数据按照列组合进行入库,同时可以将映射的节点,进行关联,来构建图节点中的关系,这样能够满足绝大部分构建非关系型数据导入的需求。比如:导入数据存在三列:A、B、C,这里将导入的数据的A、B两列,映射到内部节点中的姓名与年龄属性,将C列映射到内部节点中的班级,并对上述内部两个节点进行关联。[0044] 在本发明提供的一种实施方式中,所述方法还包括,在所述节点中目标列名所标识的列的数据导入之后,对所述节点与其他节点的关联关系进行配置。接前述的例子,如果两个节点之间是属于关系,例如学生属于班级,那么两者的关联关系是“属于”。除了框里的节点之间存在联系,也可以和外部节点之间建立关联关系,通过这样的配置规则,在进行数据导入的过程,将对导入的数据按照规则进行解析。例如:源导入的数据中有10行数据,通过解析配置规则,导入数据中的每一条数据,将按照列拆分成两部分,A、B两列组成一个节点,C列组成一个节点,两个节点之间再建立关系名称为“属于”的关系,通过拆分后,导入的10行数据,按照每一行拆分两个节点,则10条数据就拆分成20个节点,并按照规则和外部节点建立关联关系。[0045] 图4是本发明一种实施方式提供的基于规则解析的数据导入方法的节点的关系配置示意图,如图4所示。以下对建立关联关系的方法进行描述:在本实施方式中,在界面中用户可以通过系统封装的检索控件进行数据查询并选择查询结果中某条记录或者通过添加的方式,新增一个新的node节点,如果选择添加按钮,用户需要填写节点名称、节点属性集合,属性集合中的每一项包含属性名称、属性数据类型、属性值三项,添加完成节点后,外部框将新增一个node节点,用户可以对内部节点之间进行连线,该连线是存在方向的,并填写两个node节点的关系名称,外部node也可以和内部node之间进行连线,操作和内部node节点之间一样。[0046] 在本发明提供的一种实施方式中,还提供了一种基于规则解析的数据导入装置,所述装置包括:[0047] 列名配置模块,用于获取源列名和目标列名;[0048] 规则配置模块,用于配置所述源列名与所述目标列名之间的映射关系;[0049] 数据导入模块,用于将将具有映射关系的源列名的列数据导入对应的目标列名所标识的列中。[0050] 以上模块用于将数据导入结构化数据库。[0051] 进一步的,所述装置还包括:节点配置模块和节点关系配置模块;[0052] 所述节点配置模块用于对一个节点所包含的目标列名进行配置;[0053] 所述节点关系配置模块用于对所述节点与其他节点的关联关系进行配置。[0054] 以上模块用于将数据导入非结构化数据库,比如图数据库。其中节点内的数据的导入和前述的结构化数据导入相同。模块和方法对应设置,其实施方式的细节不在此处重复。[0055] 图5是本发明一种实施方式提供的基于规则解析的数据导入设备的示意图,如图5所示。在本发明提供的一种实施方式中,还提供了一种基于规则解析的数据导入设备,包括至少一个处理器、以及与所述处理器连接的至少一个存储器及总线;其中,所述处理器及存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行前述的基于规则解析的数据导入方法。[0056] 所述基于规则解析的数据导入装置包括处理器和存储器,上述列名配置模块、规则配置模块、数据导入模块、节点配置模块和节点关系配置模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。[0057] 处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现对数据的基于规则解析的导入。[0058] 本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于规则解析的数据导入方法。[0059] 本发明实施例提供了一种设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的基于规则解析的数据导入方法。本文中的设备可以是服务器、PC、PAD、手机等。[0060] 本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:[0061] 获取源列名和目标列名;[0062] 配置所述源列名与所述目标列名之间的映射关系;[0063] 基于所述映射关系,将具有映射关系的源列名的列数据导入对应的目标列名所标识的列中。[0064] 所述方法还包括:所述配置所述源列名和所述目标列名的映射关系,包括:通过图形界面显示所述目标列名,并提供下拉菜单显示所述源列名供用户选择;[0065] 根据所述用户的选择,生成所述源列名和所述目标列名的映射关系。[0066] 所述映射关系包括:一个源列名对应于一个或多个所述目标列名。[0067] 所述方法还包括:若所述源列名不存在映射关系,则所述源列名中的列数据不会被导入。[0068] 在所述获取源列名和目标列名之前,所述方法还包括:对一个节点所包含的目标列名进行配置。[0069] 所述方法还包括,在所述节点中目标列名所标识的列的数据导入之后,对所述节点与其他节点的关系进行配置。[0070] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0071] 在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。[0072] 通过本发明上述技术方案,能够灵活配置列数据之间的导入规则,增加数据导入的灵活性,并能够完成非结构化数据的导入。[0073] 以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。[0074] 另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。[0075] 本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0076] 此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。
专利地区:北京
专利申请日期:2019-10-30
专利公开日期:2024-07-26
专利公告号:CN112749216B