数据抽取方法、装置、计算机设备和存储介质
文献发布时间:2023-06-19 11:49:09
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据抽取方法、装置、计算机设备和存储介质。
背景技术
在互联网高速发展的今天,无论是政府、企业、甚至社会的方方面面,时刻都在发生着巨大的变化,捕获这些变化的数据,以形成报告对于相关用户来说显得尤为重要,因此,报表分析应运而生,即将这些变化的数据转变为用户可视化的文字和/或图像。
在现有技术中,报表分析工具采用直连数据源所在生产库,使用结构化查询语言(Structured Query Language,SQL)脚本在生产库中拽取所需要的数据,然后将这些数据进行可视化展示,例如,生成报表,以供用户查看。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:需要从数据源所在生产库获取数据时,均需要直连该生产库,会对生产库产生访问压力,并且可能会存在污染生产库的情况发生。
发明内容
本申请实施例提供一种数据抽取方法、装置、计算机设备和存储介质,用以解决现有技术中直连数据源所在生产库时存在的生产库访问压力大、可能会污染生产库的问题。
第一方面,本申请实施例提供一种数据抽取方法,包括:
获取用户的报表分析请求,所述报表分析请求包括:至少一个生产库的标识;
根据所述至少一个生产库的标识,查询本地数据库,获取每个生产库的数据,所述本地数据库中预先存储有从至少一个生产库获取到的至少一个数据源类型的数据;
根据所述至少一个生产库的数据,生成报表分析结果。
在第一方面一种可能的设计中,所述报表分析请求还包括:每个生产库对应的数据源类型标识;
相应的,所述根据所述至少一个生产库的标识,查询本地数据库,获取每个生产库的数据,包括:
对于每个生产库,根据所述生产库对应的数据源类型标识,在所述本地数据库中,获取所述生产库对应数据源类型标识的数据。
在第一方面另一种可能的设计中,还包括:
获取用户的数据抽取请求,所述数据抽取请求包括:第一生产库的标识和数据源类型;
根据预置的数据抽取规则,通过与每个生产库之间的数据连接通路,从每个生产库中获取所述数据源类型的数据;
将所述数据源类型的数据存储至本地数据库中。
在该种可能的设计中,在所述获取用户的数据抽取请求之前,所述方法还包括:
获取用户的数据连接请求,所述数据连接请求包括:第二生产库的标识;
根据所述数据连接请求,跳转到指示用户输入通路建立配置信息的界面;
获取所述用户输入的通路建立配置信息;
在所述通路建立配置信息验证通过时,根据所述第二生产库的标识和所述通路建立配置信息,分别建立与所述第二生产库的数据连接通路。
可选的,所述方法还包括:
获取所述用户的连接通路操作请求,所述连接通路操作请求包括如下任意一种:删除、更新、查询;
根据所述连接通路操作请求,对已建立的数据连接通路进行处理。
可选的,在所述获取用户的数据抽取请求之前,所述方法还包括:
获取用户的数据抽取任务建立请求,所述数据抽取任务建立请求,包括:目标生产库的标识;
根据所述数据抽取任务建立请求,跳转到指示用户输入所述目标生产库对应的抽取规则配置界面;
获取所述用户在所述抽取规则配置界面上配置的所述数据抽取规则,所述数据抽取规则包括如下至少一种:数据写入方式和抽取方式。
可选的,在所述根据预置的数据抽取规则,通过与每个生产库之间的数据连接通路,从每个生产库中获取所述数据源类型的数据之前,所述方法还包括:
根据所述第一生产库的标识和所述数据源类型,获取数据抽取脚本;
对所述数据抽取脚本进行校验。
可选的,在所述将所述数据源类型的数据存储至本地数据库中之前,所述方法还包括:
根据预设的数据处理规则,对所述数据源类型的数据进行处理,所述数据处理规则包括如下至少一种:类型转换、别名设置、存储信息。
第二方面,本申请实施例提供一种数据抽取装置,包括:获取模块、处理模块和生成模块;
所述获取模块,用于获取用户的报表分析请求,所述报表分析请求包括:至少一个生产库的标识;
所述处理模块,用于根据所述至少一个生产库的标识,查询本地数据库,获取每个生产库的数据,所述本地数据库中预先存储有从至少一个生产库获取到的至少一个数据源类型的数据;
所述生成模块,用于根据所述至少一个生产库的数据,生成报表分析结果。
在第二方面一种可能的设计中,所述报表分析请求还包括:每个生产库对应的数据源类型标识;
相应的,所述处理模块,具体用于:
对于每个生产库,根据所述生产库对应的数据源类型标识,在所述本地数据库中,获取所述生产库对应数据源类型标识的数据。
在第二方面另一种可能的设计中,所述获取模块,还用于:
获取用户的数据抽取请求,所述数据抽取请求包括:第一生产库的标识和数据源类型;
根据预置的数据抽取规则,通过与每个生产库之间的数据连接通路,从每个生产库中获取所述数据源类型的数据;
所述处理模块,还用于将所述数据源类型的数据存储至本地数据库中。
在该种可能的设计中,所述获取模块,还用于获取用户的数据连接请求,所述数据连接请求包括:第二生产库的标识;
所述处理模块,还用于根据所述数据连接请求,跳转到指示用户输入通路建立配置信息的界面;
所述获取模块,还用于获取所述用户输入的通路建立配置信息;
所述处理模块,还用于在所述通路建立配置信息验证通过时,根据所述第二生产库的标识和所述通路建立配置信息,分别建立与所述第二生产库的数据连接通路。
可选的,所述获取模块,还用于获取所述用户的连接通路操作请求,所述连接通路操作请求包括如下任意一种:删除、更新、查询;
所述处理模块,还用于根据所述连接通路操作请求,对已建立的数据连接通路进行处理。
可选的,所述获取模块,还用于获取用户的数据抽取任务建立请求,所述数据抽取任务建立请求,包括:目标生产库的标识;
所述处理模块,还用于根据所述数据抽取任务建立请求,跳转到指示用户输入所述目标生产库对应的抽取规则配置界面;
所述获取模块,还用于获取所述用户在所述抽取规则配置界面上配置的所述数据抽取规则,所述数据抽取规则包括如下至少一种:数据写入方式和抽取方式。
可选的,所述获取模块,还用于根据所述第一生产库的标识和所述数据源类型,获取数据抽取脚本;
所述处理模块,还用于对所述数据抽取脚本进行校验。
可选的,所述处理模块,还用于根据预设的数据处理规则,对所述数据源类型的数据进行处理,所述数据处理规则包括如下至少一种:类型转换、别名设置、存储信息。
第三方面,本申请实施例提供一种计算机设备,包括:至少一个处理器、存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述计算机执行指令,使得所述计算机设备执行如上述第一方面及各种可能的设计中所述的数据抽取方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面及各种可能的设计中所述的数据抽取方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于实现如上述第一方面及各种可能的设计中所述的数据抽取方法。
本申请实施例提供的数据抽取方法、装置、计算机设备和存储介质,通过获取用户的报表分析请求,报表分析请求包括:至少一个生产库的标识,再根据至少一个生产库的标识,查询本地数据库,获取每个生产库的数据,本地数据库中预先存储有从至少一个生产库获取到的至少一个数据源类型的数据,最后根据至少一个生产库的数据,生成报表分析结果。该技术方案中,通过在本地数据库中查询至少一个数据源类型的数据,避免了对生产库产生访问压力、以及可能会存在污染生产库的情况发生,同时数据抽取可以将多种类型的生产库的数据进行融合,以达到跨库分析的目的。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的数据抽取方法的应用场景示意图;
图2为本申请实施例提供的数据抽取方法实施例一的流程示意图;
图3为本申请实施例提供的操作界面示意图;
图4为本申请实施例提供的数据抽取方法实施例二的流程示意图;
图5为本申请实施例提供的数据处理规则的界面示意图;
图6为本申请实施例提供的日志查询界面示意图;
图7为本申请实施例提供的本地数据库的数据统计示意图;
图8为本申请实施例提供的数据抽取方法实施例三的流程示意图;
图9为本申请实施例提供的通路建立配置信息的界面示意图;
图10为本申请实施例提供的连接通路操作的界面示意图;
图11为本申请实施例提供的数据抽取方法实施例四的流程示意图;
图12为本申请实施例提供的抽取规则配置界面的示意图;
图13为本申请实施例提供的数据抽取方法实施例的总流程示意图;
图14为本申请实施例提供的创建数据连接通路的流程示意图;
图15为本申请实施例提供的创建抽取的数据源类型建模的流程示意图;
图16为本申请实施例提供的数据抽取装置的结构示意图;
图17为本申请实施例提供的计算机设备的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本申请的实施例之前,首先对本申请的背景技术进行解释说明:
随着互联网的高速发展,社会的方方面面都时刻发生着巨大的变化,而这些变化所产生的数据,对于相关用户来说实时掌握显得尤为重要,因此,可将这些数据进行可视化处理,以直观的方式展示给用户。
现有的可视化处理一般是报表分析,即通过报表分析系统直连业务的生产库,通过SQL脚本在生产库中拽取所需要的数据,然后将这些数据进行可视化展示,例如,生成报表的方式展示。
然而,报表分析系统直连生产库的方式,在每次访问生产库时,会产生一定的访问压力;在访问权限控制不当时,使用插入或删除SQL脚本的语句来执行操作拽取数据时,有可能会对生产库的数据造成污染;该种方式通常一次只能连接一种类型的生产库,无法满足跨库的报表分析。
在上述现有技术存在的问题基础上,图1为本申请实施例提供的数据抽取方法的应用场景示意图,用以解决上述技术问题。如图1所示,该应用场景示意图包括:生产库集合10和数据抽取装置11。
其中,数据抽取装置11包括:本地数据库110;生产库集合10包括:至少一个类型的生产库,例如,生产库100、生产库101、生产库102和生产库103,应理解,生产库集合10中生产库的数量和类型可根据实际情况而定。
可选的,生产库100可以是Kylin的数据库,生产库101可以是Impala的数据库,生产库102可以是Oracle的数据库,生产库103可以是Presto的数据库,本地数据库110可以是click house数据库,数据抽取装置11可以是计算机设备、也可以是一种报表分析系统。
在一种可能的实现中,数据抽取装置11分别建立与生产库100、生产库101、生产库102和生产库103的数据连接通路,然后基于预置的数据抽取规则,将生产库100、生产库101、生产库102和生产库103中的数据存储至本地数据库110。
进一步地,当用户需要对某一个生产库的数据进行报表分析时,例如,用户下发的是关于生产库100的报表分析请求,则数据抽取装置11在本地数据库110中查询生产库100的数据,并生成对应的报表分析结果,以展示给用户查看。
本申请针对上述技术问题,发明人的技术构思过程如下:发明人发现,可以通过额外设置一个缓存中心,按照预设规则将所有生产库的数据写入到该缓存中心中去,在进行报表分析时,只需要在缓存中心中抽取数据即可,相对于生产库而言,抽取数据的过程是离线的,这样就避免了现有技术中存在的技术问题,且可以实现不同类型数据的即时展示。
下面以图1所示的应用场景示意图,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的数据抽取方法实施例一的流程示意图。如图2所示,可以包括如下步骤:
步骤21、获取用户的报表分析请求。
其中,报表分析请求包括:至少一个生产库的标识。
在本步骤中,用户需要通过屏幕将至少一个生产库的数据进行可视化展示时,首先需要对数据抽取装置下发相应的生产库的数据可视化展示指令,即数据抽取装置接收到的报表分析请求。
可选的,该报表分析请求中携带有生产库的标识,用于表示用户需要查看的相应的生产库,可以是1个、2个、甚至更多。
步骤22、根据至少一个生产库的标识,查询本地数据库,获取每个生产库的数据。
其中,本地数据库中预先存储有从至少一个生产库获取到的至少一个数据源类型的数据。
在本方案中,本地数据库是数据抽取装置的内部存储区域,预先存储有按照预设规则抽取的各个生产库的数据,根据生产库的标识,数据抽取装置在本地数据库中查找与该标识相关的数据,并将该数据提取出来,以支持后续的处理。
可选的,报表分析请求还包括:每个生产库对应的数据源类型标识,则相应的,对于每个生产库,根据生产库对应的数据源类型标识,在本地数据库中,获取生产库对应数据源类型标识的数据。
具体的,每个生产库对应有不同的数据源类型,在报表分析时,还可以根据报表分析请求中生产库对应的数据源类型标识,在本地数据库中,获取生产库对应数据源类型标识的数据。
步骤23、根据至少一个生产库的数据,生成报表分析结果。
在本步骤中,将获取到的本地数据库中相应的生产库的数据进行报表的创建,以生成该生产库相关数据的报表分析结果。
在一种可能的实现中,图3为本申请实施例提供的操作界面示意图。如图3所示,假设该操作界面中的数据源名称有数据源1、数据源2和数据源3。例如,数据源1的名称可以是wrltest2,数据源2的名称可以是Organization,数据源3的名称可以是test1。
示例性的,通过点击数据源名称“数据源1”中的“创建应用”按钮,便可跳转至报表分析结果相关的界面。
可选的,图3中还包括:类型、状态、负责人(例如,A、B、C)、日期(例如,03-26、03-27、03-30)、操作(例如,创建应用、其他操作)、关联应用(详情)。
其中,类型可以包括:抽取(表示该类型的数据源对应的数据缓存至本地数据库)、直连(表示该类型的数据源对应的数据与数据抽取装置直接相连,该数据没有缓存至本地数据库,例如test1);状态可以包括:已发布、未发布(例如,在Organization中,表示将数据抽取至本地数据库未成功)等。
应理解,上述操作界面中的相关功能可根据实际情况添加或删除。
本申请实施例提供的数据抽取方法,通过获取用户的报表分析请求,报表分析请求包括:至少一个生产库的标识,再根据至少一个生产库的标识,查询本地数据库,获取每个生产库的数据,本地数据库中预先存储有从至少一个生产库获取到的至少一个数据源类型的数据,最后根据至少一个生产库的数据,生成报表分析结果。该技术方案中,通过在本地数据库中查询至少一个数据源类型的数据,避免了对生产库产生访问压力、以及可能会存在污染生产库的情况发生。
在上述实施例的基础上,图4为本申请实施例提供的数据抽取方法实施例二的流程示意图。如图4所示,该数据抽取方法还可以包括如下步骤:
步骤41、获取用户的数据抽取请求。
其中,数据抽取请求包括:第一生产库的标识和数据源类型。
在本步骤中,数据抽取装置并不会将从生产库中抽取到的数据直接用于报表分析,而是根据用户需求,先将生产库中的数据抽取到本地数据库中,此时,数据抽取装置先获取到用户下发的数据抽取请求。
可选的,该数据抽取请求用于请求对应的生产库中相应的数据,即第一生产库可以是该次请求需要访问的生产库,数据源类型为该生产库中不同的数据源。
步骤42、根据预置的数据抽取规则,通过与每个生产库之间的数据连接通路,从每个生产库中获取数据源类型的数据。
在本步骤中,根据数据抽取请求,已经确定了需要抽取的数据源对应的数据,此时,需要确定具体的抽取方式,基于该抽取方式,并通过该生产库与本地数据库之间数据传输通路,对用户需要的数据进行抽取。
可选的,预置的数据抽取规则包括数据写入方式和抽取方式,由下述实施例详述。
可选的,在本步骤之前,根据第一生产库的标识和数据源类型,获取数据抽取脚本,对数据抽取脚本进行校验。
可选的,抽取脚本可以是SQL脚本,即SQL语句,具体的,在一种可能的实现中,下述为编写抽取脚本的部分代码,对SQL语句进行编译的一个例子,可以是:
进一步地,对该抽取脚本进行校验,在校验通过后,执行下述步骤。
步骤43、将数据源类型的数据存储至本地数据库中。
在本步骤之前,根据预设的数据处理规则,对数据源类型的数据进行处理,数据处理规则包括如下至少一种:类型转换、别名设置、存储信息。
可选的,可以对原字段进行类型转换、别名设置,并指定本地数据库中的主键、排序字段以及分区字段。
在一种可能的实现中,图5为本申请实施例提供的数据处理规则的界面示意图。该界面示意图仅展示数据处理规则的一部分,如图5所示,以生产库中数据源(例如,wrltset2)为例,可通过上下滑动按钮,选择字段(例如,开放时间OPE_TIME、开放日期OPE_DATE等),然后选择维度、选择度量,还可以对字段别名重置。
可选的,选择维度、选择度量中还包括:来源、字段名、别名、排序等。
在本步骤中,将抽取到的数据源类型的数据进行处理后,得到符合处理规则的数据,并将该数据存储至本地数据库中。
在一种可能的实现中,如上图3所示,在状态栏中,包括已发布和未发布,例如,未发布可以表示将数据源2(例如,Organization)中的数据抽取至本地数据库未成功,已发布可以表示将数据源1(例如,wrltest2)中的数据抽取至本地数据库未成功,其他数据源的状态同理。
可选的,若抽取数据失败,可通过查询失败日志,返回至用户修改界面再次准备抽取形影的数据,图6为本申请实施例提供的日志查询界面示意图。如图6所示,以生产库1(例如,Organization)为例,可以通过选择添加运行时间段的开始时间和结束时间,点击“查询”,得到该时间段具体标号的抽取任务,“最新运行状态”种显示该抽取数据的任务是否失败,若失败,点击“查看”最新运行日志,返回至用户修改界面。
可选的,在点击“查询”之后,该界面示意图还包括任务编号、开始运行时间、结束运行时间,执行时长,例如,5990、15:39:34、15:40:06、00:00:32。
在此步骤之后,图7为本申请实施例提供的本地数据库的数据统计示意图。如图7所示,在抽取任务的数据统计中,包括:模块(新增、发布、下线、删除等)、任务类型(数据源服务)、作业时间(O、P、Q、R、S)、模块相关柱状图(纵轴单位:万、下线60、删除1、新增13、发布7)。
可选的,图7还包括:抽取任务的样式、高级、数据,其中,数据包括:字段设置、数据源(维度:模块、任务类型、作业时间、模块相关柱状图)。
本申请实施例提供的数据抽取方法,基于获取道德用户的数据抽取请求,根据预置的数据抽取规则,通过与每个生产库之间的数据连接通路,从每个生产库中获取数据源类型的数据,并将数据源类型的数据存储至本地数据库中。该技术方案,实现了将各个生产库中的数据抽取至本地数据库中,为后续报表分析提供了数据支持,避免了现有技术在报表分析时,报表分析系统直连生产库出现的问题。
在上述实施例的基础上,图8为本申请实施例提供的数据抽取方法实施例三的流程示意图。如图8所示,在上述步骤41之前,该数据抽取方法还可以包括如下步骤:
步骤81、获取用户的数据连接请求。
其中,数据连接请求包括:第二生产库的标识。
在本步骤中,用户需要通过数据抽取装置分别与各个生产库建立之间数据传输通道,即通路建立,此时,数据抽取装置获取到用户下发的数据连接请求。
可选的,第二生产库即指将要建立数据传输通道的生产库。
步骤82、根据数据连接请求,跳转到指示用户输入通路建立配置信息的界面。
在一种可能的实现中,图9为本申请实施例提供的通路建立配置信息的界面示意图。如图9所示,生产库可以包括:生产库1(例如,MySQL)、生产库2(例如,Kylin)、生产库3(例如,Presto)、生产库4(例如,Impala)等类型。
以MySQL为例,用户可以在配置信息的界面输入显示名称、域名、传输控制协议(Transmission Control Protocol,TCP)端口、数据库、用户名、密码等。
可选的,图9中还包括:添加连接,即添加新的生产库的通路建立配置信息。
应理解,上述图9中的生产库编号仅作举例。
步骤83、获取用户输入的通路建立配置信息。
在本步骤中,在上述用户输入配置信息后,数据抽取装置获取到该配置信息。
步骤84、在通路建立配置信息验证通过时,根据第二生产库的标识和通路建立配置信息,分别建立与第二生产库的数据连接通路。
在本步骤中,如图9所述,获取到上述配置信息后,用户可以通过点击“测试”按键,测试通路建立配置信息是否成功,即进度条中“0%”产生相应变化,在测试成功后,点击“提交”,即通路建立配置信息验证通过。
进一步地,根据第二生产库的标识和通路建立配置信息,建立数据抽取装置与该第二生产库的数据连接通路。
可选的,获取用户的连接通路操作请求,连接通路操作请求包括如下任意一种:删除、更新、查询;
根据连接通路操作请求,对已建立的数据连接通路进行处理。
在一种可能的实现中,图10为本申请实施例提供的连接通路操作的界面示意图。如图10所示,以连接名称“云服务”、“企业业务报表数据存储”为例,生产库1的类型为“MySQL”,负责人“H”、“L”,操作部分可以包括:删除、更新、查询,分别表示删除该数据连接通路、更新该数据连接通路的状态、查询可以是修改该数据连接通路的相关信息。
可选的,在图10中,还可以通过点击“添加连接”,转至图10所示页面,建立本地数据库与其他第二生产库的数据连接通路。
本申请实施例提供的数据抽取方法,首先获取用户的数据连接请求,并基于该数据连接请求,跳转到指示用户输入通路建立配置信息的界面,再获取用户输入的通路建立配置信息,最后在通路建立配置信息验证通过时,根据第二生产库的标识和通路建立配置信息,分别建立与第二生产库的数据连接通路。该技术方案中,通过建立各个生产库与数据抽取装置之间的数据连接通路,为数据存储至本地数据库中提供了安全保障以及传输通路。
在上述实施例的基础上,图11为本申请实施例提供的数据抽取方法实施例四的流程示意图。如图11所示,在上述步骤41之前,该数据抽取方法还可以包括如下步骤:
步骤111、获取用户的数据抽取任务建立请求。
其中,数据抽取任务建立请求,包括:目标生产库的标识。
在本步骤中,在数据抽取之前,还应当设置对生产库中相关数据的抽取规则,即用户向数据抽取装置下发指令,用于数据抽取任务的建立。
可选的,目标生产库为本次数据抽取对应的生产库。
步骤112、根据数据抽取任务建立请求,跳转到指示用户输入目标生产库对应的抽取规则配置界面。
其中,数据抽取规则包括如下至少一种:数据写入方式和抽取方式。
在一种可能的实现中,图12为本申请实施例提供的抽取规则配置界面的示意图。如图12所示,该抽取规则配置界面包括:抽取方式(周期运行和立即运行,即数据抽取的频率,周期运行可以是1天、1周等)和数据写入方式(覆盖和追加,覆盖可以是从生产库中抽取对应的数据后,覆盖掉本地数据库中相应的数据,追加可以是从生产库中抽取对应的新的数据后,追加到本地数据库中相应的数据之后)。
可选的,若抽取方式为周期运行时,可以设置周期类型为1个月,运行时间从01日00时00分开始,任务生效日期:2021-03-03 10:00:00,任务结束日期:2021-03-06 10:00:00。
该抽取规则配置界面还包括:监控设置中的监控内容(任务失败、任务成功),任务失败时的报警方式(邮件),任务成功时的提示方式(响铃)。
步骤113、获取用户在抽取规则配置界面上配置的数据抽取规则。
在本步骤中,数据抽取装置获取用户预设的数据抽取规则相关信息,开始具体的数据抽取任务。
本申请实施例提供的数据抽取方法,首先获取用户的数据抽取任务建立请求,再基于该数据抽取任务建立请求,跳转到指示用户输入目标生产库对应的抽取规则配置界面,然后获取用户在抽取规则配置界面上配置的数据抽取规则。该技术方案中,通过获取到的抽取规则,使得报表分析相应的数据按照一定规则更新,不回对报表分析结果的准确性产生影响,且为数据抽取规则中的脚本编写提供了参考。
在上述实施例的基础上,对本申请涉及的据抽取方法进行简单说明,图13为本申请实施例提供的数据抽取方法实施例的总流程示意图。如图13所示,该总流程示意图包括:
第1步、开始;
第2步、获取用户的数据抽取请求;
第3步、创建数据连接通路;
第4步、创建抽取的数据源类型建模;
第5步、将数据源类型的数据通过数据连接通路存储至本地数据库中,即发布抽取数据源,包括:查看、修改、删除;
第6步、从本地数据库中抽取数据源类型的数据;
第7步、生成报表分析结果;
第8步、结束。
可选的,图14为本申请实施例提供的创建数据连接通路的流程示意图。如图14所示,该流程示意图包括:
第1步、开始;
第2步、选择数据源类型;
第3步、设置通路建立配置信息;
第4步、测试通路建立配置信息是否成功,若成功,执行第5步;若不成功,返回执行第3步;
第5步、数据连接通路建立成功;
第6步、结束。
可选的,图15为本申请实施例提供的创建抽取的数据源类型建模的流程示意图,如图15所示,该流程示意图包括:
第1步、开始;
第2步、设置数据抽取规则;
第3步、选择数据源类型,并确定数据抽取脚本;
第4步、抽取脚本校验,确定验证是否通过,包括:语法校验、库表信息基本校验、函数校验,若是,执行第5步;若否,执行第3步;
第5步、创建抽取的数据源类型建模成功;
第6步、结束。
本申请实施例提供的数据抽取方法,通过获取用户的数据抽取请求,创建数据连接通路,并创建抽取的数据源类型建模,再将数据源类型的数据通过数据连接通路存储至本地数据库中,最后基于本地数据库中抽取数据源类型的数据,生成报表分析结果。该方案中,将各个生产库中的数据,按照预定规则离线抽取至本地数据库中,避免了数据抽取装置访问生产库产生的压力,以及对生产库可能造成污染的问题,并且实现了跨库分析的目的。
在上述数据抽取方法实施例的基础上,图16为本申请实施例提供的数据抽取装置的结构示意图。如图16所示,该数据抽取装置包括:获取模块161、处理模块162和生成模块163;
获取模块161,用于获取用户的报表分析请求,报表分析请求包括:至少一个生产库的标识;
处理模块162,用于根据至少一个生产库的标识,查询本地数据库,获取每个生产库的数据,本地数据库中预先存储有从至少一个生产库获取到的至少一个数据源类型的数据;
生成模块163,用于根据至少一个生产库的数据,生成报表分析结果。
在一种可能的设计中,报表分析请求还包括:每个生产库对应的数据源类型标识;
相应的,处理模块162,具体用于:
对于每个生产库,根据生产库对应的数据源类型标识,在本地数据库中,获取生产库对应数据源类型标识的数据。
在另一种可能的设计中,获取模块161,还用于:
获取用户的数据抽取请求,该数据抽取请求包括:第一生产库的标识和数据源类型;
根据预置的数据抽取规则,通过与每个生产库之间的数据连接通路,从每个生产库中获取数据源类型的数据;
处理模块162,还用于将数据源类型的数据存储至本地数据库中。
在该种可能的设计中,获取模块161,还用获取用户的数据连接请求,该数据连接请求包括:第二生产库的标识;
处理模块162,还用于根据数据连接请求,跳转到指示用户输入通路建立配置信息的界面;
获取模块161,还用于获取用户输入的通路建立配置信息;
处理模块162,还用于在通路建立配置信息验证通过时,根据第二生产库的标识和通路建立配置信息,分别建立与第二生产库的数据连接通路。
可选的,获取模块161,还用于获取用户的连接通路操作请求,连接通路操作请求包括如下任意一种:删除、更新、查询;
处理模块162,还用于根据连接通路操作请求,对已建立的数据连接通路进行处理。
可选的,获取模块161,还用于获取用户的数据抽取任务建立请求,该数据抽取任务建立请求,包括:目标生产库的标识;
处理模块162,还用于根据数据抽取任务建立请求,跳转到指示用户输入目标生产库对应的抽取规则配置界面;
获取模块161,还用于获取用户在抽取规则配置界面上配置的数据抽取规则,数据抽取规则包括如下至少一种:数据写入方式和抽取方式。
可选的,获取模块161,还用于根据第一生产库的标识和数据源类型,获取数据抽取脚本;
处理模块162,还用于对数据抽取脚本进行校验。
可选的,处理模块162,还用于根据预设的数据处理规则,对数据源类型的数据进行处理,数据处理规则包括如下至少一种:类型转换、别名设置、存储信息。
本申请实施例提供的数据抽取装置,可用于执行上述实施例中数据抽取方法对应的技术方案,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图17为本申请实施例提供的计算机设备的结构示意图。如图17所示,该计算机设备可以包括:至少一个处理器170、存储器171及存储在该存储器171上并可在处理器170上运行的计算机程序指令。
可选的,该计算机设备还可以包括:收发器172。
处理器170执行存储器171存储的计算机执行指令,使得处理器170执行上述实施例中的方案。处理器170可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器171和收发器172通过系统总线与处理器170连接并完成相互间的通信,存储器171用于存储计算机程序指令。
收发器172用于和其他计算机设备进行通信,该收发器172构成通信接口。
可选的,在硬件实现上,上述图16所示实施例中的获取模块161对应于本实施例中的收发器172。
在一种可能的实现中,该计算机设备还可以包括:显示器,该显示器用于显示报表分析结果、以及上述数据抽取方法实施例中涉及的可显示的相关内容。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的计算机设备,可用于执行上述实施例中数据抽取方法对应的技术方案,其实现原理和技术效果类似,在此不再赘述。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中数据抽取方法的技术方案。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机设备上运行时,使得计算机设备执行上述实施例中数据抽取方法的技术方案。
本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时用于执行上述实施例中数据抽取方法的技术方案。
上述的计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机设备能够存取的任何可用介质。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
- 数据抽取方法、装置、电子设备及计算机可读存储介质
- 一种数据抽取的方法、装置、计算机设备及存储介质