CN115438024A - 数据导入中台的方法、装置、系统、电子设备、存储介质 - Google Patents
数据导入中台的方法、装置、系统、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115438024A CN115438024A CN202211017525.7A CN202211017525A CN115438024A CN 115438024 A CN115438024 A CN 115438024A CN 202211017525 A CN202211017525 A CN 202211017525A CN 115438024 A CN115438024 A CN 115438024A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- check
- field
- importing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供数据导入中台的方法、装置、系统、电子设备,所述方法包括:根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;将梳理后的数据导入中台。本申请摒弃了需要依靠第三方咨询公司搭建中台的方案,消除了数据暴露在第三方人员以及其他无权限人员的风险,而且用户对数据的熟悉程度高于第三方咨询公司,在对数据梳理时会更加可靠和全面。
Description
技术领域
本申请涉及数据处理技术领域,更具体地涉及一种数据导入中台的方法、装置、系统、电子设备、存储介质。
背景技术
在生产制造企业内部不同的业务部门有不同的系统,不同的系统可能连接不同的数据源。例如生产报表系统连接的MySQL数据库,运营SIS系统连接的Oracle数据库、财务金蝶系统连接的SQLServer数据库以及主数据系统连接的Oracle数据库等。这些数据源的数据结构、存取方式、形式往往是不一样的,导致前台读取时存在效率低下等问题。
数据中台可以理解为介于前后台之间的中间层,通过数据处理技术将海量数据收集、清洗和转换成统一口径的数据并进行存储、计算和分析的系统。
目前的中台建设需要第三方咨询公司帮助建立,导致数据源内的数据会直接暴露给第三方,而且第三方不能对系统理解得很透彻,因此会导致在数据梳理时发生遗漏等问题。
鉴于上述问题的存在,本申请提出一种新的数据导入中台的方法、装置、系统、电子设备、存储介质。
发明内容
在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
本申请实施例一方面提供了一种数据导入中台的方法,包括:根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;将梳理后的数据导入中台。
在一个示例中,所述数据库的连接插入到预先创建的连接池内,以使得所述用户通过所述连接池访问所述数据库。
在一个示例中,所述根据所述梳理操作对所述数据进行梳理,包括:根据所述梳理操作选取待梳理的数据库;选取所述待梳理的数据库中符合要求的所述数据表;选取所述数据表中符合要求的字段;对所述字段进行分析,根据分析结果确定所述字段导入中台的方式;导入方式包括全量导入和增量导入。
在一个示例中,在对所述字段进行分析,根据分析结果确定所述字段导入中台的方式之后,还包括对所述字段进行校验的步骤,检验方式包括文本类型校验和数值类型校验,所述文本类型校验用于表征对字段的文本进行校验,所述数值类型校验用于表征对字段的数值进行校验。
在一个示例中,所述文本类型校验包括通用文本类校验和复杂文本类校验,所述通用文本类校验表征按照预先导入的校验规则对所述字段进行校验;所述复杂文本类校验表征在预先导入的校验规则的基础上添加规则对所述字段进行校验。
在一个示例中,所述在预先导入的校验规则的基础上添加规则,包括:获取用户添加的与梳理向导相匹配的规则;编辑规则信息并生成规则代码;所述规则信息包括以下至少之一:校验规则名称、校验类型、校验长度和校验限定;解析所述规则代码,并将解析结果插入预先导入的校验规则内。
在一个示例中,所述数值类型校验包括统计校验和运算校验;所述统计校验包括最大最小值校验、历史数据求和校验和均值校验中的至少一项;所述运算校验包括算术运算校验、范围校验和逻辑校验中的至少一项。
在一个示例中,所述方法还包括:在校验结束后返回校验日志并确定校验结果是否存在错误,当所述校验结果存在错误时在所述校验日志中定位错误位置并进行修正。
在一个示例中,所述方法还包括:在根据所述梳理操作对所述数据进行梳理之后,将梳理后的数据对应地插入到表级别信息表和字段级别信息表内。
在一个示例中,在对所述字段进行分析,根据分析结果确定所述字段导入中台的方式之后,还包括以下至少之一的步骤:设定所述表级别信息表的生命周期、确定是否对所述表级别信息表进行分区、确定所述表级别信息表导入中台的优先级。
在一个示例中,所述将梳理后的数据导入中台,包括:生成用于将梳理后的数据导入中台的导入代码;执行所述导入代码。
在一个示例中,所述生成用于将梳理后的数据导入中台的导入代码,包括:获取所述字段级别信息表内未经更新的字段,并存入第一字段信息对象;获取与所述字段相关联的表级别信息表,并存入第一表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第一数据库信息对象;所述数据库信息表用于存储所述数据库的信息;根据所述第一数据库信息对象和所述第一表信息对象在数据库和表级别信息表之间建立第一映射;循环遍历所述第一映射,在指定的文件中生成所述导入代码。
在一个示例中,将梳理后的数据导入中台后,更新所述字段级别信息表中的更新标志信息和更新时间信息。
在一个示例中,所述方法还包括对导入中台后的数据进行跟踪检查的步骤,所述对导入中台后的数据进行跟踪检查,包括:获取所述字段级别信息表中经过更新的字段,并存入第二字段信息对象;获取与所述字段相关联的表级别信息表,并存入第二表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第二数据库信息对象;根据所述第二数据库信息对象和所述第二表信息对象在数据库和表级别信息表之间建立第二映射;根据所述数据库信息表访问数据库;根据所述第二映射遍历查找所述数据表,并检查所述数据表中的数据与所述字段之间是否存在差异。
本发明实施例再一方面提供一种数据导入中台的装置,包括:权限分配模块,用于根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;数据梳理模块,用于接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;数据导入模块,用于将梳理后的数据导入中台。
本申请实施例又一方面提供了一种数据导入中台的系统,包括:后台数据库;数据导入中台的装置,所述数据导入中台的装置能够执行上述中任意一项所述的数据导入中台的方法;所述数据导入中台的装置包括用于从异构数据源获取数据的数据源IO接口和用于向文件中实现读写操作的文件IO接口。
本申请实施例又一方面提供了一种电子设备,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述中任意一项所述的数据导入中台的方法。
本申请实施例又一方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述中任意一项所述的数据导入中台的方法。
根据本申请实施例的数据导入中台的方法、装置、系统、电子设备、存储介质,通过向不同的用户分配不同的访问权限,使得用户可以通过分配得到的访问权限访问相应的异构数据源中的数据库,在访问到相应的数据库之后,可以接收用户对数据的梳理操作,从而根据用户的梳理操作对数据库内的数据进行梳理,而后将梳理后的数据导入到中台内,从而摒弃了需要依靠第三方咨询公司搭建中台的方案,消除了数据暴露在第三方人员以及其他无权限人员的风险,而且用户对数据的熟悉程度高于第三方咨询公司,在对数据梳理时会更加可靠和全面。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
在附图中:
图1示出根据本申请实施例的电子设备的示意性框图;
图2示出根据本申请一实施例的数据导入中台的方法的示意性流程图;
图3示出根据本申请一实施例的根据所述梳理操作对所述数据进行梳理的示意性流程图;
图4示出根据本申请一实施例的生成用于将梳理后的数据导入中台的导入代码的示意性流程图;
图5示出根据本申请一实施例的对导入中台后的数据进行跟踪检查的示意性流程图;
图6示出了根据本发明实施例的数据导入中台的装置的示意性框图;
图7示出了根据本发明实施例的数据导入中台的系统与外界交互的示意性框图;
图8示出根据本申请一实施例的数据导入中台的方法的示意性流程图。
具体实施方式
为了使得本申请的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。基于本申请中描述的本申请实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本申请的保护范围之内。
在下文的描述中,给出了大量具体的细节以便提供对本申请更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本申请可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本申请发生混淆,对于本领域公知的一些技术特征未进行描述。
应当理解的是,本申请能够以不同形式实施,而不应当解释为局限于这里提出的实施例。相反地,提供这些实施例将使公开彻底和完全,并且将本申请的范围完全地传递给本领域技术人员。
在此使用的术语的目的仅在于描述具体实施例并且不作为本申请的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。
为了彻底理解本申请,将在下列的描述中提出详细的结构,以便阐释本申请提出的技术方案。本申请的可选实施例详细描述如下,然而除了这些详细描述外,本申请还可以具有其他实施方式。
首先,参照图1来描述用于实现本发明实施例的数据导入中台的方法和装置的示例电子设备100。
如图1所示,电子设备100包括数据源IO接口101、后台数据库IO接口102、一个或多个处理器103、一个或多个存储装置104、输入装置105、输出装置106,这些组件通过总线系统107和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。
电子设备100通过数据源IO接口101与外界的异构数据源进行连接,从而从异构数据源获取数据,数据源IO接口101可以是无线通信模块,也可以是有线通信模块,或者两者的组合。数据源IO接口101也可基于USB、如CAN等总线协议、和/或有线网络协议等来实现。
电子设备100通过后台数据库IO接口102与后台数据库进行连接,从而从后台数据库读取数据或者将数据写入到后台数据库内,后台数据库IO接口102可以是无线通信模块,也可以是有线通信模块,或者两者的组合。后台数据库IO接口102也可基于USB、如CAN等总线协议、和/或有线网络协议等来实现。
处理器103可以实现为软件、硬件、固件或其任意组合,并且可以使用单个或多个专用集成电路(Application Specific Integrated Circuit,ASIC)、单个或多个通用集成电路、单个或多个微处理器、单个或多个可编程逻辑器件、或者前述电路和/或器件的任意组合、或者其他适合的电路或器件。并且,处理器116可以控制所述电子设备100中的其它组件以执行本说明书中的各个实施例中的方法的相应步骤。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序,处理器103可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的数据导入中台的方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置105用于检测用户的输入信息,该输入信息例如可以是用户对数据库进行访问的权限操作,用户对数据库中的数据表内的数据进行梳理的操作,或者还可以包括其他指令类型。输入设备可以包括键盘、鼠标、滚轮、轨迹球、麦克风、移动式输入设备(例如带触摸显示屏的移动设备、手机等等)、多功能旋钮等等其中之一或者多个的结合。
所述输出装置106与处理器103连接,可以向外部(例如用户)输出各种信息(例如文字、图表等),输出装置106可以为触摸显示屏、液晶显示屏等;或者,输出装置106可以为独立于电子设备100之外的液晶显示器、电视机等独立显示器;或者,输出装置106可以是智能手机、平板电脑等电子设备的显示屏,等等。其中,输出装置106的数量可以为一个或多个。
示例性地,用于实现根据本发明实施例的数据导入中台方法和装置的示例电子设备可以被实现为诸如智能手机、电脑、平板等。
下面,将参考图2描述根据本发明实施例的数据导入中台的方法。图2是本申请实施例的数据导入中台的方法200的一个示意性流程图。本申请实施例的数据导入中台的方法用于数据导入中台的装置,数据导入中台的装置包括数据源IO接口、后台数据库IO接口、处理器、输入装置和输出装置等,该数据导入中台的装置可以实现为如上的电子设备100。具体地,本申请实施例的数据导入中台的方法200包括如下步骤:
首先,在步骤S210,根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;
异构数据源指的是数据结构、存取方式、形式不一样的多个数据源。
在步骤S220,接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;
在步骤S230,将梳理后的数据导入中台。
示例性地,根据本发明实施例的数据导入中台的方法可以在具有存储器和处理器的设备、装置或者系统中实现。
根据本发明实施例的数据导入中台的方法200可以部署在生产制造企业中各个部门的业务平台内,例如在钢铁行业,可以部署在钢铁生产中各个部门的业务平台内;在水泥行业,可以部署在水泥生产中各个部门的业务平台内等。
替代地,根据本发明实施例的数据导入中台的方法200还可以分布地部署在服务器端(或云端)和个人终端处。例如在钢铁行业,可以在服务器端(或云端)向用户分配访问权限,用户通过个人终端访问异构数据源的数据库并对数据库内的数据输入梳理操作。再例如,可以在服务器端(或云端)向用户分配访问权限,用户通过个人终端连接服务器端(或云端),再通过服务器端(或云端)根据访问权限访问相应的异构数据源中的数据库,以及用户通过个人终端向服务器端(或云端)输入对数据进行梳理的操作,服务器端(或云端)根据梳理操作对数据进行梳理。
根据本发明实施例的数据导入中台的方法200,通过向不同的用户分配不同的访问权限,使得用户可以通过分配得到的访问权限访问相应的异构数据源中的数据库,在访问到相应的数据库之后,可以接收用户对数据的梳理操作,从而根据用户的梳理操作对数据库内的数据进行梳理,而后将梳理后的数据导入到中台内,从而摒弃了需要依靠第三方咨询公司搭建中台的方案,消除了数据暴露在第三方人员以及其他无权限人员的风险,而且用户对数据的熟悉程度高于第三方咨询公司,在对数据梳理时会更加可靠和全面。
具体的,在数据导入中台的方法200开始实现的阶段,可以预先创建连接池,而后将异构数据源中的数据库的连接插入到连接池内,后续在对数据库进行访问时,首先访问连接池,进而通过连接池访问其内相应的数据库。通过将数据库的连接插入到预先创建的连接池内,每次访问数据库只需与连接池建立连接,从而用空间换取时间,可以避免每次访问不同的数据库带来的反复建立连接和注销连接的性能开销。而且通过对连接池的统一管理,可以降低使用成本。
用户在访问(包括通过连接池访问)数据库时,需要依据相应的访问权限。根据不同的访问权限,用户可以实现对不同的数据库的访问。为了访问方便,在准备阶段,可以获取数据库的信息,例如数据库的id、连接名、类型、端口号、用户名、密码、schema、字符编码等信息,并将数据库信息存储到sys_db表,在增加数据库或者减少数据库时,只需在sys_db表内相应的增加或者减少记录,即可方便地对数据库进行维护管理。
在一个示例中,访问权限依据用户的类型进行分类,依据不同的用户类型分配不同的访问权限。例如访问权限由低到高可以分为一级访问权限、二级访问权限、三级访问权限等,相应的,用户类型可以分为一级用户、二级用户、三级用户等,一级用户分配到一级访问权限,二级用户分配到二级访问权限、三级用户分配到三级访问权限等。
可以以多种方式将访问权限分配给不同类型的用户,例如可以直接根据用户的类型,将不同的访问权限分配给相应类型的用户,或者,对于某些生产制造企业中的系统,系统内部存在不同的用户角色,这种情况下可以先将相应的数据库的访问权限分配给相应的用户角色,然后再将相应的用户角色分配给相应类型的用户,从而使得相应类型的用户获得相应的数据库的访问权限。对于后者,可以在准备阶段,获取用户角色信息,并将用户角色信息导入到sys_role表内,在将相应的数据库的访问权限分配给相应的用户角色时,在数据库和用户角色之间建立对应关系,并将对应关系存储在t_role_db表,在将相应的用户角色分配给相应类型的用户时,在用户角色和用户类型之间建立对应关系,并将对应关系存储在t_user_role表中。具体而言,可以在sys_role表中记录有角色唯一标识(role_id)和数据库唯一标识(db_id),在t_user_role表中可以记录有用户唯一标识(user_id)和角色唯一标识(role_id)。
如图3所示,数据库中的数据可以存储在数据表中。用户在获得访问权限后,根据访问权限访问相应的数据库,而后,用户输入对数据库中的数据表内的数据进行梳理的操作,根据用户输入的梳理操作对数据表内的数据进行梳理。
值得注意的是,在梳理过程中,为了便于用户理解,梳理过程中的文字全部用中文表示。
在一个示例中,如图3所示,根据所述梳理操作对所述数据进行梳理,包括:首先根据所述梳理操作选取待梳理的数据库。具体的,用户输入选取待梳理的数据库的操作,数据导入中台的装置根据用户的操作选取待梳理的数据库。选取到待梳理的数据库后,选取所述待梳理的数据库中符合要求的数据表,具体的选取要求可以根据实际情况而定。之后,选取所述数据表中符合要求的字段,具体的选取要求同样可以根据实际情况而定。字段选取好后,对所述字段进行分析,根据分析结果确定所述字段导入中台的方式。其中,导入方式包括全量导入和增量导入,全量导入是指将所有字段都导入中台,增量导入是指将新增的或者经过更新的字段导入到中台。
例如,可以对字段的更新时间戳属性进行分析,当更新时间戳显示字段均未经过更新时,可以选取全量导入的方式,或者,只有部分字段的更新时间戳经过更新时,可以采取增量导入的方式将更新过的字段导入中台。当然,也可以对字段的其他属性如生命周期等进行分析,根据其他属性的分析结果确定字段导入中台的方式。
在一些实现方式中,结合图3,确定了字段导入中台的方式之后,还可以对所述字段进行校验。通过对字段进行校验,可以保证字段的完整性和准确性。其中,检验方式包括多种,例如文本类型校验和数值类型校验等,所述文本类型校验用于表征对字段的文本进行校验,所述数值类型校验用于表征对字段的数值进行校验。
通过文本类型对字段进行校验的方式包括:通用文本类校验,即按照预先导入的校验规则对所述字段进行校验。例如,可以在准备阶段,获取通用校验规则信息,并将通用校验规则信息导入到sys_rule表内。通过sys_rule表可以对通用型文本例如人资明细表中的密码、电话和邮编等字段进行校验从而得到校验结果。
通过文本类型对字段进行校验的方式还包括:复杂文本类校验,即在预先导入的校验规则的基础上添加规则对所述字段进行校验。具体的,对于一些复杂型文本可以在上述的sys_rule表或其他校验规则表内添加相应的规则,从而对字段进行校验并得到校验结果。
进一步地,在预先导入的校验规则的基础上添加规则包括:首先获取用户添加的与梳理向导相匹配的规则。其中,梳理向导是指对数据表内的数据进行梳理是的流程方向。此处是指校验规则应该与梳理向导一致,例如梳理向导是由上至下,根据校验规则进行校验时也应该自上而下。获取到规则后,对规则的信息进行编辑,提交保存后,解析生产规则代码。其中,规则信息包括以下至少之一:校验规则名称、校验类型、校验长度和校验限定。之后,解析规则代码,将解析结果例如正则公式等插入预先导入的校验规则内。规则添加完成后,可以对字段进行校验,判断字段是否符合规则并得到校验结果。
通过数值类型校验对字段进行校验的方式包括:统计校验,即根据抽样结果,在一定可靠程度上对整体数据进行检验。其中,统计校验包括最大最小值校验、历史数据求和校验和均值校验等方式。例如以采购业务为例,在校验数据表中的公司年采购支出列时,可以编辑相应的统计校验公式,例如sum(库.表.采购支出)limit(库.表.公司=**公司)dim(库.表.采购日期&&Y)=库.表.校验列对象,其中,上述统计校验公式中参数带有数据库信息和数据表信息,另外按日期进行统计还需要选择日期的粒度是按照年、月还是日,统计校验公式编辑完成后进行运行,运行过程中程序后台按关键字查找定位并对特殊字符串拆解,完成自动解析后生成对应的统计公式,并将运行结果和目标字段的值逐一对比,从而得到校验结果。
通过数值类型校验对字段进行校验的方式还包括:运算校验,即通过运算的方式对数据进行校验。其中,运算校验包括算术运算校验、范围校验和逻辑校验等。同样以采购业务为例,在校验数据表中的公司年采购支出列时,可以综合各种运算符,组成相应的运算校验公式,例如库.表.年采购支出+库.表.年非采购支出=年支出金额&&库.表.年采购支出<=年支出金额,运行编辑好的运算校验公式,在程序后台生成对应的运算公式,将公式运算结果和目标字段的值一一对比,从而得到校验结果。
在一个示例中,结合图3,在校验结束后返回校验日志,校验结果输出到校验日志中。对校验日志进行分析,确定校验日志中的校验结果是否存在错误,当校验结果存在错误时,在校验日志中定位出错误所在位置,并对错误进行修正。具体的,可以在校验日志中列出所有的校验信息和显眼的错误提示信息,以便准确定位问题及时修正。在校验结果不存在错误时,可以判断是否需要对其他数据库内的数据进行梳理,如果需要则按照上述梳理过程对数据进行梳理,如果不需要则完成数据梳理过程并将梳理后的数据导出并对应地插入到表级别信息表(可以表示为table_inf表)和字段级别信息表(可以表示为field_inf表)内。其中,table_inf表中可以包括表id、表中文名、表英文名、生命周期、导入中台方式、分区字段、导入中台优先级、数据库id等信息,field_inf表可以包括字段id、字段中文名、字段英文名、字段类型、是否主键、是否分区、是否允许为空、默认值、表id、用户唯一标识(user_id)、更新标志位(update_tag)、更新时间戳(update_time)等信息。
在一个示例中,上述中的sys_db表、sys_role表、t_role_db表、t_user_role表、sys_rule表、table_inf表、field_inf表都可以存储在后台数据库内,后台数据库通过后台数据库IO接口与数据导入中台的装置连接。
此外,结合图3,在对校验日志中定位出的错误进行修正后,可以再次进行校验,并返回含有校验结果的校验日志。对校验日志进行分析,在校验结果存在错误时重复上述修正过程,在校验结果不存在错误时,重复上述判断是否需要对其他数据库内的数据进行梳理的过程。
在一些实现方式中,结合图3,确定了字段导入中台的方式之后,可以对表级别信息表的生命周期进行设定。通常情况下,表级别信息表存在默认的生命周期,例如3600s。通过设定表级别信息表的生命周期,可以对存活时间超出生命周期的表级别信息表进行清理。从而节约数据存储空间,降低存储成本。
在一些实现方式中,结合图3,确定了字段导入中台的方式之后,也可以进一步确定是否对表级别信息表进行分区。对表级别信息表进行分区是指在数据表较为庞大时,可以根据一定的条件例如时间(通常情况下,默认为时间)等将表级别信息表分为若干个小表,从而改善在表级别信息表中查询数据的效率,提高表级别信息表的管理性。具体的,可以在表级别信息表中增加分区字段属性,通过对分区字段属性进行分析,从而确定是否对表级别信息表进行分区。
在一些实现方式中,结合图3,确定了字段导入中台的方式之后,也可以进一步确定表级别信息表导入中台的优先级。例如,可以通过表级别信息表的重要程度来确定其优先级。对于优先级高的表级别信息表,优先导入中台。通常情况下,表级别信息表的优先级属性默认为中级(即中等优先级)。
在将数据插入到table_inf表、field_inf表之后,可以根据table_inf表、field_inf表和sys_db表,生成将梳理后的数据导入中台的的导入代码,例如将梳理后的数据转化为直接导入中台的代码文件,执行代码文件,即可将梳理后的数据导入到中台内。
进一步地,如图4所示,生成用于将梳理后的数据导入中台的导入代码包括:首先获取字段级别信息表内未经更新的字段,并将其存入到第一字段信息对象,第一字段信息对象可以采用FieldInf表示。其中,字段级别信息表内可以设定更新标志位,例如update_tag,当update_tag=0时代表未经更新。此外,在获取未经更新的字段时,也可以先获取当前登录用户的身份信息,根据身份信息和更新标志位共同获取相应的字段。其中,字段级别信息表内可以设定用户身份信息,例如user_id,user_id代表用户唯一标识。之后,获取与所述字段相关联的表级别信息表,并存入第一表信息对象,第一表信息对象可以采用TableInf表示。其中,在字段级别信息表内可以设定表身份信息,例如table_id,根据table_id可以获取相关联的表级别信息表,此外,可以给TableInf中的字段信息列表(成员变量FieldList)赋值。之后,获取与所述表级别信息表相关联的数据库信息表,并存入第一数据库信息对象,第一数据库信息对象可以采用DbInf表示。其中,在表级别信息表内可以设定数据库身份信息,例如db_id,根据db_id可以获取相关联的数据库信息表。然后,根据第一数据库信息对象和第一表信息对象在数据库和表级别信息表之间建立第一映射,第一映射可以采用map<DbInf,List<TableInf>>表示。之后,层次循环遍历第一映射,在指定的文件中生成所述导入代码。具体的,可以根据数据库对应的表级别信息表和表级别信息表对应的字段,通过带有缓存的文件读写接口将建表语句、插入语句、增量合并代码、JSON语句、shell脚本以及上中台后的校验代码分别写入指定路径的对应文件中。其中,通过插入语句可以向表中插入数据,增量合并语句(merge)用于将前一天的全量表和在此基础上增加的数据按主键对应关系进行合并(full outer join),JSON文件用于读取源数据表中的数据并将数据写入中台里对应的数据表中,目的是验证数据表构建的正确性,同时也是为了对数据表进行初始化,shell脚本文件用于执行JSON文件编写的运行脚本。
进一步地,在中台读取上述文件后,完成将梳理后的数据导入中台的操作。同时,在将梳理后的数据导入中台之后,更新字段级别信息表中的更新标志信息和更新时间信息。例如,更新标志信息采用update_tag表示,更新时间信息采用update_time表示,在将梳理后的数据导入中台之后,可以将update_tag设置为1,update_time设置为上传到云端的时间戳。
在一个示例中,数据导入中台的方法200还包括对导入中台后的数据进行跟踪检查的步骤。通过对导入中台后的数据进行跟踪检查,防止源端数据变化后中台数据无法更新同步的现象。
具体的,如图5所示,对导入中台后的数据进行跟踪检查包括:首先获取所述字段级别信息表中经过更新的字段,并存入第二字段信息对象,第二字段信息对象也可以用FieldInf表示。其中,可以按需求调整检查的周期频率设置定时任务,根据定时任务定时获取字段存入第二字段信息对象。字段级别信息表内可以设定更新标志位,例如update_tag,当update_tag=1时代表经过更新。之后,获取与所述字段相关联的表级别信息表,并存入第二表信息对象,第二表信息对象也可以采用TableInf表示。之后,获取与所述表级别信息表相关联的数据库信息表,并存入第二数据库信息对象,第二数据库信息对象也可以采用DbInf表示。然后,根据第二数据库信息对象和第二表信息对象在数据库和表级别信息表之间建立第二映射。之后,根据所述数据库信息表访问数据库。其中,可以遍历第二映射以通过数据库信息表获取连接池中的连接,之后通过连接访问数据库。之后,根据所述第二映射遍历查找所述数据表,并检查所述数据表中的数据与所述字段之间是否存在差异。其中,可以根据第二映射层层向下遍历找其对应的表级别信息表和相应的字段进行逐一对比,整体上查找是否存在表结构变化和表字段增删,细节上查找是否存在字段名称改变、字段类型变化等差异。如果存在的话,通过消息触发机制将具体的差异定位信息发送给对应的用户,用户通过提交申请进一步确定是要重新上云还是由供应商在源端修改差异;如果不存在的话,循环遍历其他的数据库进行查找,直至所有的数据核对完毕为止。
此外,还可以在中台上设置每天调度的校验代码,将数据表的表名、字段个数和分区量以及每个分区的数据量等信息插入数据检查表(例如data_check_table表)做备份以待检查,判断中台是否稳定运行。
综上所述,本申请中,在整体上,是获取异构数据源的数据,并将所述异构数据源的数据导入相应的后台数据库中的表内,再读取表中的信息将数据导入中台;如图8所示,在细节上,在准备阶段,先根据用户的类型向用户分配相应的异构数据源的数据库的访问权限,用户登录并根据分配到的权限访问相应的数据库,对数据库内的数据进行梳理,梳理结束后,将梳理后的数据导出到后台数据库存入到table_inf表和field_inf表中,再根据field_inf表、table_inf表和sys_db表,用户可以将梳理后的数据转化为直接导入中台的代码文件,最后中台读取指定路径的对应代码文件,完成数据导入中台的操作,完成上中台任务后还要进行跟踪检查,保证源端数据和中台一致。
根据本发明实施例的数据导入中台的方法200,通过向不同的用户分配不同的访问权限,使得用户可以通过分配得到的访问权限访问相应的异构数据源中的数据库,在访问到相应的数据库之后,可以接收用户对数据的梳理操作,从而根据用户的梳理操作对数据库内的数据进行梳理,而后将梳理后的数据导入到中台内,从而摒弃了需要依靠第三方咨询公司搭建中台的方案,消除了数据暴露在第三方人员以及其他无权限人员的风险,而且用户对数据的熟悉程度高于第三方咨询公司,在对数据梳理时会更加可靠和全面。
图6示出了根据本发明实施例的数据导入中台的装置的示意性框图。如图6所示,根据本发明实施例的数据导入中台的装置600包括权限分配模块610、数据梳理模块620和数据导入模块630。
权限分配模块610用于根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作。
数据梳理模块620用于接收所述梳理操作,根据所述梳理操作对所述数据进行梳理。
数据导入模块630用于将梳理后的数据导入中台。
其中,权限分配模块610、数据梳理模块620和数据导入模块630可以由图1所示的电子设备100中的处理器103运行存储装置104中存储的程序指令来实现,并且可以执行根据本发明实施例的数据导入中台的方法200中相应的步骤。
根据本发明实施例的数据导入中台的装置600,通过向不同的用户分配不同的访问权限,使得用户可以通过分配得到的访问权限访问相应的异构数据源中的数据库,在访问到相应的数据库之后,可以接收用户对数据的梳理操作,从而根据用户的梳理操作对数据库内的数据进行梳理,而后将梳理后的数据导入到中台内,从而摒弃了需要依靠第三方咨询公司搭建中台的方案,消除了数据暴露在第三方人员以及其他无权限人员的风险,而且用户对数据的熟悉程度高于第三方咨询公司,在对数据梳理时会更加可靠和全面。
在一个示例中,数据导入中台的装置600还可以包括连接池创建模块,用于预先创建连接池。数据库的连接可以插入到连接池内,数据导入中台的装置600后续在对数据库进行访问时,首先访问连接池,进而通过连接池访问其内相应的数据库。
在一个示例中,权限分配模块610包括角色分配单元和用户分配单元,角色分配单元用于将相应的数据库的访问权限分配给相应的角色,用户分配单元用于将相应的角色分配给相应类型的用户,以使所述用户获得相应的数据库的访问权限。
在一个示例中,数据梳理模块620包括梳理操作接收单元和数据梳理单元,梳理操作接收单元用于接收用户输入的梳理操作,数据梳理单元用于根据所述梳理操作对所述数据进行梳理。具体的,根据所述梳理操作对所述数据进行梳理,包括:根据所述梳理操作选取待梳理的数据库;选取所述待梳理的数据库中符合要求的数据表;选取所述数据表中符合要求的字段;对所述字段进行分析,根据分析结果确定所述字段导入中台的方式;导入方式包括全量导入和增量导入。
在一个示例中,数据梳理模块620还包括数据校验单元,数据校验单元能实现对所述字段进行校验的步骤,检验方式包括文本类型校验和数值类型校验,所述文本类型校验用于表征对字段的文本进行校验,所述数值类型校验用于表征对字段的数值进行校验。
在一个示例中,文本类型校验包括通用文本类校验和复杂文本类校验,所述通用文本类校验表征按照预先导入的校验规则对所述字段进行校验;所述复杂文本类校验表征在预先导入的校验规则的基础上添加规则对所述字段进行校验。
进一步地,所述文本类型校验包括通用文本类校验和复杂文本类校验,所述通用文本类校验表征按照预先导入的校验规则对所述字段进行校验;所述复杂文本类校验表征在预先导入的校验规则的基础上添加规则对所述字段进行校验。其中,在预先导入的校验规则的基础上添加规则,包括:获取用户添加的与梳理向导相匹配的规则;编辑规则信息并生成规则代码;所述规则信息包括以下至少之一:校验规则名称、校验类型、校验长度和校验限定;解析所述规则代码,并将解析结果插入预先导入的校验规则内。
进一步地,所述数值类型校验包括统计校验和运算校验;所述统计校验包括最大最小值校验、历史数据求和校验和均值校验中的至少一项;所述运算校验包括算术运算校验、范围校验和逻辑校验中的至少一项。
在一个示例中,数据梳理模块620还包括错误修正单元,错误修正单元能实现以下步骤:在校验结束后返回校验日志并确定校验结果是否存在错误,当所述校验结果存在错误时在所述校验日志中定位错误位置并进行修正。
在一个示例中,数据梳理模块620还包括数据插入单元,用于在根据所述梳理操作对所述数据进行梳理之后,将梳理后的数据对应地插入到表级别信息表和字段级别信息表内。
在一个示例中,在对所述字段进行分析,根据分析结果确定所述字段导入中台的方式之后,数据梳理单元还能实现以下至少之一的步骤:设定所述表级别信息表的生命周期、确定是否对所述表级别信息表进行分区、确定所述表级别信息表导入中台的优先级。
在一个示例中,数据导入模块630包括代码生成单元和代码执行单元,代码生成单元用于生成用于将梳理后的数据导入中台的导入代码,代码执行单元用于执行所述导入代码。具体的,生成用于将梳理后的数据导入中台的导入代码,包括:获取所述字段级别信息表内未经更新的字段,并存入第一字段信息对象;获取与所述字段相关联的表级别信息表,并存入第一表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第一数据库信息对象;所述数据库信息表用于存储所述数据库的信息;根据所述第一数据库信息对象和所述第一表信息对象在数据库和表级别信息表之间建立第一映射;循环遍历所述第一映射,在指定的文件中生成所述导入代码。
在一个示例中,数据导入模块630还包括数据更新单元,用于将梳理后的数据导入中台后,更新所述字段级别信息表中的更新标志信息和更新时间信息。
在一个示例中,数据导入中台的装置600还可以包括跟踪检查模块,用于对导入中台后的数据进行跟踪检查。具体的,所述对导入中台后的数据进行跟踪检查,包括:获取所述字段级别信息表中经过更新的字段,并存入第二字段信息对象;获取与所述字段相关联的表级别信息表,并存入第二表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第二数据库信息对象;根据所述第二数据库信息对象和所述第二表信息对象在数据库和表级别信息表之间建立第二映射;根据所述数据库信息表访问数据库;根据所述第二映射遍历查找所述数据表,并检查所述数据表中的数据与所述字段之间是否存在差异。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
图7示出了根据本发明实施例的数据导入中台的系统与外界交互的示意性框图。数据导入中台的系统700包括后台数据库710和数据导入中台的装置720。其中,数据导入中台的装置720能够执行根据本发明实施例的数据导入中台的方法。
其中,数据导入中台的装置720包括数据源IO接口721,数据导入中台的装置720通过数据源IO接口721从异构数据源获取数据。
数据导入中台的装置720还包括文件IO接口722,数据导入中台的装置720通过文件IO接口722向建表语句、插入语句、增量合并代码、JSON文件、shell脚本、校验语句等文件写入数据。
数据导入中台的装置720与后台数据库710之间配置了连接,数据导入中台的装置720可以通过后台数据库IO接口与后台数据库710进行数据传输。例如,数据导入中台的装置720可以将sys_db表、sys_role表、t_role_db表、t_user_role表、sys_rule表、table_inf表、field_inf表等存储在后台数据库710内。
需要明确的是,后台数据库710虽然主要起到存储上述表格的作用,但是后台数据库710也只能由登录数据导入中台的系统700用户访问,对于其他人员,通常是不允许访问后台数据库710,以避免后台数据库710中的数据遭到随意修改。
此外,对于数据导入中台的系统700,可以设置用户名和密码,用户在登录数据导入中台的系统700时需要输入相应的用户名和密码,从而使得只有相应的用户能够进入到系统内,而没有登录权限的用户则无法进入系统。
在一个实施例中,数据导入中台的装置720能够执行以下步骤:根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;将梳理后的数据导入中台。
此外,数据导入中台的装置720还能够执行以下步骤:将所述数据库的连接插入到预先创建的连接池内,以使得所述用户通过所述连接池访问所述数据库。
此外,数据导入中台的装置720还能够执行以下步骤:根据所述梳理操作选取待梳理的数据库;选取所述待梳理的数据库中符合要求的所述数据表;选取所述数据表中符合要求的字段;对所述字段进行分析,根据分析结果确定所述字段导入中台的方式;导入方式包括全量导入和增量导入。
此外,数据导入中台的装置720还能够执行以下步骤:对所述字段进行校验,检验方式包括文本类型校验和数值类型校验,所述文本类型校验用于表征对字段的文本进行校验,所述数值类型校验用于表征对字段的数值进行校验;所述文本类型校验包括通用文本类校验和复杂文本类校验,所述通用文本类校验表征按照预先导入的校验规则对所述字段进行校验;所述复杂文本类校验表征在预先导入的校验规则的基础上添加规则对所述字段进行校验;所述数值类型校验包括统计校验和运算校验;所述统计校验包括最大最小值校验、历史数据求和校验和均值校验中的至少一项;所述运算校验包括算术运算校验、范围校验和逻辑校验中的至少一项。
此外,数据导入中台的装置720还能够执行以下步骤:获取用户添加的与梳理向导相匹配的规则;编辑规则信息并生成规则代码;所述规则信息包括以下至少之一:校验规则名称、校验类型、校验长度和校验限定;解析所述规则代码,并将解析结果插入预先导入的校验规则内。
此外,数据导入中台的装置720还能够执行以下步骤:在校验结束后返回校验日志并确定校验结果是否存在错误,当所述校验结果存在错误时在所述校验日志中定位错误位置并进行修正。
此外,数据导入中台的装置720还能够执行以下步骤:在根据所述梳理操作对所述数据进行梳理之后,将梳理后的数据对应地插入到表级别信息表和字段级别信息表内。
此外,数据导入中台的装置720还能够执行以下步骤:设定所述表级别信息表的生命周期、确定是否对所述表级别信息表进行分区、确定所述表级别信息表导入中台的优先级。
此外,数据导入中台的装置720还能够执行以下步骤:生成用于将梳理后的数据导入中台的导入代码;执行所述导入代码。
此外,数据导入中台的装置720还能够执行以下步骤:获取所述字段级别信息表内未经更新的字段,并存入第一字段信息对象;获取与所述字段相关联的表级别信息表,并存入第一表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第一数据库信息对象;所述数据库信息表用于存储所述数据库的信息;根据所述第一数据库信息对象和所述第一表信息对象在数据库和表级别信息表之间建立第一映射;循环遍历所述第一映射,在指定的文件中生成所述导入代码。
此外,数据导入中台的装置720还能够执行以下步骤:将梳理后的数据导入中台后,更新所述字段级别信息表中的更新标志信息和更新时间信息。
此外,数据导入中台的装置720还能够执行以下步骤:对导入中台后的数据进行跟踪检查,所述对导入中台后的数据进行跟踪检查包括:获取所述字段级别信息表中经过更新的字段,并存入第二字段信息对象;获取与所述字段相关联的表级别信息表,并存入第二表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第二数据库信息对象;根据所述第二数据库信息对象和所述第二表信息对象在数据库和表级别信息表之间建立第二映射;根据所述数据库信息表访问数据库;根据所述第二映射遍历查找所述数据表,并检查所述数据表中的数据与所述字段之间是否存在差异。
根据本发明实施例,还提供了一种电子设备,包括存储器和处理器。
所述存储器存储用于实现根据本发明实施例的数据导入中台的方法中的程序代码。
所述处理器用于运行所述存储器中存储的程序代码,以执行根据本发明实施例的数据导入中台的方法,并且用于实现根据本发明实施例的数据导入中台的装置中的权限分配模块610、数据梳理模块620、数据导入模块630等。
在一个实施例中,在所述程序代码被所述处理器运行时执行以下步骤:根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;将梳理后的数据导入中台。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:将所述数据库的连接插入到预先创建的连接池内,以使得所述用户通过所述连接池访问所述数据库。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:根据所述梳理操作选取待梳理的数据库;选取所述待梳理的数据库中符合要求的所述数据表;选取所述数据表中符合要求的字段;对所述字段进行分析,根据分析结果确定所述字段导入中台的方式;导入方式包括全量导入和增量导入。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:对所述字段进行校验,检验方式包括文本类型校验和数值类型校验,所述文本类型校验用于表征对字段的文本进行校验,所述数值类型校验用于表征对字段的数值进行校验;所述文本类型校验包括通用文本类校验和复杂文本类校验,所述通用文本类校验表征按照预先导入的校验规则对所述字段进行校验;所述复杂文本类校验表征在预先导入的校验规则的基础上添加规则对所述字段进行校验;所述数值类型校验包括统计校验和运算校验;所述统计校验包括最大最小值校验、历史数据求和校验和均值校验中的至少一项;所述运算校验包括算术运算校验、范围校验和逻辑校验中的至少一项。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:获取用户添加的与梳理向导相匹配的规则;编辑规则信息并生成规则代码;所述规则信息包括以下至少之一:校验规则名称、校验类型、校验长度和校验限定;解析所述规则代码,并将解析结果插入预先导入的校验规则内。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:在校验结束后返回校验日志并确定校验结果是否存在错误,当所述校验结果存在错误时在所述校验日志中定位错误位置并进行修正。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:在根据所述梳理操作对所述数据进行梳理之后,将梳理后的数据对应地插入到表级别信息表和字段级别信息表内。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:设定所述表级别信息表的生命周期、确定是否对所述表级别信息表进行分区、确定所述表级别信息表导入中台的优先级。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:生成用于将梳理后的数据导入中台的导入代码;执行所述导入代码。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:获取所述字段级别信息表内未经更新的字段,并存入第一字段信息对象;获取与所述字段相关联的表级别信息表,并存入第一表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第一数据库信息对象;所述数据库信息表用于存储所述数据库的信息;根据所述第一数据库信息对象和所述第一表信息对象在数据库和表级别信息表之间建立第一映射;循环遍历所述第一映射,在指定的文件中生成所述导入代码。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:将梳理后的数据导入中台后,更新所述字段级别信息表中的更新标志信息和更新时间信息。
此外,在所述程序代码被所述处理器运行时还执行以下步骤:对导入中台后的数据进行跟踪检查,所述对导入中台后的数据进行跟踪检查包括:获取所述字段级别信息表中经过更新的字段,并存入第二字段信息对象;获取与所述字段相关联的表级别信息表,并存入第二表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第二数据库信息对象;根据所述第二数据库信息对象和所述第二表信息对象在数据库和表级别信息表之间建立第二映射;根据所述数据库信息表访问数据库;根据所述第二映射遍历查找所述数据表,并检查所述数据表中的数据与所述字段之间是否存在差异。
此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的数据导入中台的方法,并且用于实现根据本发明实施例的数据导入中台的装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含用于获取异构数据源的数据的计算机可读的程序代码,另一个计算机可读存储介质包含用于向用户分配相应的异构数据源中数据库的访问权限的计算机可读的程序代码。
在一个实施例中,所述计算机程序在被计算机运行时可以实现根据本发明实施例的数据导入中台的装置的各个功能模块,并且/或者可以执行根据本发明实施例的数据导入中台的方法。
在一个实施例中,所述计算机程序在被计算机运行时执行以下步骤:根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;将梳理后的数据导入中台。
此外,所述计算机程序在被计算机运行时还执行以下步骤:将所述数据库的连接插入到预先创建的连接池内,以使得所述用户通过所述连接池访问所述数据库。
此外,所述计算机程序在被计算机运行时还执行以下步骤:根据所述梳理操作选取待梳理的数据库;选取所述待梳理的数据库中符合要求的所述数据表;选取所述数据表中符合要求的字段;对所述字段进行分析,根据分析结果确定所述字段导入中台的方式;导入方式包括全量导入和增量导入。
此外,所述计算机程序在被计算机运行时还执行以下步骤:对所述字段进行校验,检验方式包括文本类型校验和数值类型校验,所述文本类型校验用于表征对字段的文本进行校验,所述数值类型校验用于表征对字段的数值进行校验;所述文本类型校验包括通用文本类校验和复杂文本类校验,所述通用文本类校验表征按照预先导入的校验规则对所述字段进行校验;所述复杂文本类校验表征在预先导入的校验规则的基础上添加规则对所述字段进行校验;所述数值类型校验包括统计校验和运算校验;所述统计校验包括最大最小值校验、历史数据求和校验和均值校验中的至少一项;所述运算校验包括算术运算校验、范围校验和逻辑校验中的至少一项。
此外,所述计算机程序在被计算机运行时还执行以下步骤:获取用户添加的与梳理向导相匹配的规则;编辑规则信息并生成规则代码;所述规则信息包括以下至少之一:校验规则名称、校验类型、校验长度和校验限定;解析所述规则代码,并将解析结果插入预先导入的校验规则内。
此外,所述计算机程序在被计算机运行时还执行以下步骤:在校验结束后返回校验日志并确定校验结果是否存在错误,当所述校验结果存在错误时在所述校验日志中定位错误位置并进行修正。
此外,所述计算机程序在被计算机运行时还执行以下步骤:在根据所述梳理操作对所述数据进行梳理之后,将梳理后的数据对应地插入到表级别信息表和字段级别信息表内。
此外,所述计算机程序在被计算机运行时还执行以下步骤:设定所述表级别信息表的生命周期、确定是否对所述表级别信息表进行分区、确定所述表级别信息表导入中台的优先级。
此外,所述计算机程序在被计算机运行时还执行以下步骤:生成用于将梳理后的数据导入中台的导入代码;执行所述导入代码。
此外,所述计算机程序在被计算机运行时还执行以下步骤:获取所述字段级别信息表内未经更新的字段,并存入第一字段信息对象;获取与所述字段相关联的表级别信息表,并存入第一表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第一数据库信息对象;所述数据库信息表用于存储所述数据库的信息;根据所述第一数据库信息对象和所述第一表信息对象在数据库和表级别信息表之间建立第一映射;循环遍历所述第一映射,在指定的文件中生成所述导入代码。
此外,所述计算机程序在被计算机运行时还执行以下步骤:将梳理后的数据导入中台后,更新所述字段级别信息表中的更新标志信息和更新时间信息。
此外,所述计算机程序在被计算机运行时还执行以下步骤:对导入中台后的数据进行跟踪检查,所述对导入中台后的数据进行跟踪检查包括:获取所述字段级别信息表中经过更新的字段,并存入第二字段信息对象;获取与所述字段相关联的表级别信息表,并存入第二表信息对象;获取与所述表级别信息表相关联的数据库信息表,并存入第二数据库信息对象;根据所述第二数据库信息对象和所述第二表信息对象在数据库和表级别信息表之间建立第二映射;根据所述数据库信息表访问数据库;根据所述第二映射遍历查找所述数据表,并检查所述数据表中的数据与所述字段之间是否存在差异。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种数据导入中台的方法,其特征在于,包括:
根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;
接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;
将梳理后的数据导入中台。
2.如权利要求1所述的数据导入中台的方法,其特征在于,所述数据库的连接插入到预先创建的连接池内,以使得所述用户通过所述连接池访问所述数据库。
3.如权利要求1所述的数据导入中台的方法,其特征在于,所述根据所述梳理操作对所述数据进行梳理,包括:
根据所述梳理操作选取待梳理的数据库;
选取所述待梳理的数据库中符合要求的数据表;
选取所述数据表中符合要求的字段;
对所述字段进行分析,根据分析结果确定所述字段导入中台的方式;导入方式包括全量导入和增量导入。
4.如权利要求3所述的数据导入中台的方法,其特征在于,在对所述字段进行分析,根据分析结果确定所述字段导入中台的方式之后,还包括对所述字段进行校验的步骤,检验方式包括文本类型校验和数值类型校验,所述文本类型校验用于表征对字段的文本进行校验,所述数值类型校验用于表征对字段的数值进行校验。
5.如权利要求4所述的数据导入中台的方法,其特征在于,所述文本类型校验包括通用文本类校验和复杂文本类校验,所述通用文本类校验表征按照预先导入的校验规则对所述字段进行校验;所述复杂文本类校验表征在预先导入的校验规则的基础上添加规则对所述字段进行校验。
6.如权利要求5所述的数据导入中台的方法,其特征在于,所述在预先导入的校验规则的基础上添加规则,包括:
获取用户添加的与梳理向导相匹配的规则;
编辑规则信息并生成规则代码;所述规则信息包括以下至少之一:校验规则名称、校验类型、校验长度和校验限定;
解析所述规则代码,并将解析结果插入预先导入的校验规则内。
7.如权利要求5所述的数据导入中台的方法,其特征在于,所述数值类型校验包括统计校验和运算校验;所述统计校验包括最大最小值校验、历史数据求和校验和均值校验中的至少一项;所述运算校验包括算术运算校验、范围校验和逻辑校验中的至少一项。
8.如权利要求5~8中任意一项所述的数据导入中台的方法,其特征在于,所述方法还包括:在校验结束后返回校验日志并确定校验结果是否存在错误,当所述校验结果存在错误时在所述校验日志中定位错误位置并进行修正。
9.如权利要求1所述的数据导入中台的方法,其特征在于,所述方法还包括:在根据所述梳理操作对所述数据进行梳理之后,将梳理后的数据对应地插入到表级别信息表和字段级别信息表内。
10.如权利要求9所述的数据导入中台的方法,其特征在于,在对所述字段进行分析,根据分析结果确定所述字段导入中台的方式之后,还包括以下至少之一的步骤:设定所述表级别信息表的生命周期、确定是否对所述表级别信息表进行分区、确定所述表级别信息表导入中台的优先级。
11.如权利要求9所述的数据导入中台的方法,其特征在于,所述将梳理后的数据导入中台,包括:
生成用于将梳理后的数据导入中台的导入代码;
执行所述导入代码。
12.如权利要求11所述的数据导入中台的方法,其特征在于,所述生成用于将梳理后的数据导入中台的导入代码,包括:
获取所述字段级别信息表内未经更新的字段,并存入第一字段信息对象;
获取与所述字段相关联的表级别信息表,并存入第一表信息对象;
获取与所述表级别信息表相关联的数据库信息表,并存入第一数据库信息对象;所述数据库信息表用于存储所述数据库的信息;
根据所述第一数据库信息对象和所述第一表信息对象在数据库和表级别信息表之间建立第一映射;
循环遍历所述第一映射,在指定的文件中生成所述导入代码。
13.如权利要求12所述的数据导入中台的方法,其特征在于,将梳理后的数据导入中台后,更新所述字段级别信息表中的更新标志信息和更新时间信息。
14.如权利要求12所述的数据导入中台的方法,其特征在于,所述方法还包括对导入中台后的数据进行跟踪检查的步骤,所述对导入中台后的数据进行跟踪检查,包括:
获取所述字段级别信息表中经过更新的字段,并存入第二字段信息对象;
获取与所述字段相关联的表级别信息表,并存入第二表信息对象;
获取与所述表级别信息表相关联的数据库信息表,并存入第二数据库信息对象;
根据所述第二数据库信息对象和所述第二表信息对象在数据库和表级别信息表之间建立第二映射;
根据所述数据库信息表访问数据库;
根据所述第二映射遍历查找所述数据表,并检查所述数据表中的数据与所述字段之间是否存在差异。
15.一种数据导入中台的装置,其特征在于,包括:
权限分配模块,用于根据用户的类型向其分配相应的异构数据源中数据库的访问权限,以使得所述用户基于所述访问权限访问所述数据库并对所述数据库中的数据输入梳理操作;
数据梳理模块,用于接收所述梳理操作,根据所述梳理操作对所述数据进行梳理;
数据导入模块,用于将梳理后的数据导入中台。
16.一种数据导入中台的系统,其特征在于,包括:
后台数据库;
数据导入中台的装置,所述数据导入中台的装置能够执行权利要求1至14中任意一项所述的数据导入中台的方法;所述数据导入中台的装置包括用于从异构数据源获取数据的数据源IO接口和用于向文件中实现读写操作的文件IO接口。
17.一种电子设备,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至14中任意一项所述的数据导入中台的方法。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至14中任意一项所述的数据导入中台的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211017525.7A CN115438024A (zh) | 2022-08-23 | 2022-08-23 | 数据导入中台的方法、装置、系统、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211017525.7A CN115438024A (zh) | 2022-08-23 | 2022-08-23 | 数据导入中台的方法、装置、系统、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115438024A true CN115438024A (zh) | 2022-12-06 |
Family
ID=84245247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211017525.7A Pending CN115438024A (zh) | 2022-08-23 | 2022-08-23 | 数据导入中台的方法、装置、系统、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115438024A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150249A (zh) * | 2023-04-13 | 2023-05-23 | 新兴际华集团财务有限公司 | 表格数据导出方法、装置、电子设备和计算机可读介质 |
CN117076504A (zh) * | 2023-08-18 | 2023-11-17 | 北京博望华科科技有限公司 | 数据处理方法、系统、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605663A (zh) * | 2013-10-22 | 2014-02-26 | 芜湖大学科技园发展有限公司 | 通用的数据库校验及元数据导入方法 |
CN108595597A (zh) * | 2018-04-19 | 2018-09-28 | 平安科技(深圳)有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN111274326A (zh) * | 2018-12-04 | 2020-06-12 | 北京嘀嘀无限科技发展有限公司 | 特征数据的导入方法、管控方法、装置及电子设备 |
CN112287011A (zh) * | 2020-11-23 | 2021-01-29 | 湖北文理学院 | 一种基于中间文件的可配置多源异构数据共享系统及方法 |
CN114090671A (zh) * | 2021-11-23 | 2022-02-25 | 深圳市元征科技股份有限公司 | 数据导入方法、装置、电子设备及存储介质 |
CN114090580A (zh) * | 2021-11-22 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、存储介质及产品 |
-
2022
- 2022-08-23 CN CN202211017525.7A patent/CN115438024A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103605663A (zh) * | 2013-10-22 | 2014-02-26 | 芜湖大学科技园发展有限公司 | 通用的数据库校验及元数据导入方法 |
CN108595597A (zh) * | 2018-04-19 | 2018-09-28 | 平安科技(深圳)有限公司 | 数据导入方法、装置、计算机设备和存储介质 |
CN111274326A (zh) * | 2018-12-04 | 2020-06-12 | 北京嘀嘀无限科技发展有限公司 | 特征数据的导入方法、管控方法、装置及电子设备 |
CN112287011A (zh) * | 2020-11-23 | 2021-01-29 | 湖北文理学院 | 一种基于中间文件的可配置多源异构数据共享系统及方法 |
CN114090580A (zh) * | 2021-11-22 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、设备、存储介质及产品 |
CN114090671A (zh) * | 2021-11-23 | 2022-02-25 | 深圳市元征科技股份有限公司 | 数据导入方法、装置、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150249A (zh) * | 2023-04-13 | 2023-05-23 | 新兴际华集团财务有限公司 | 表格数据导出方法、装置、电子设备和计算机可读介质 |
CN116150249B (zh) * | 2023-04-13 | 2023-06-16 | 新兴际华集团财务有限公司 | 表格数据导出方法、装置、电子设备和计算机可读介质 |
CN117076504A (zh) * | 2023-08-18 | 2023-11-17 | 北京博望华科科技有限公司 | 数据处理方法、系统、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9594797B2 (en) | Data quality assessment | |
CN111190881A (zh) | 一种数据治理方法和系统 | |
US11281568B2 (en) | Automation of enterprise software inventory and testing | |
US10339035B2 (en) | Test DB data generation apparatus | |
WO2023098462A1 (en) | Improving performance of sql execution sequence in production database instance | |
CN116541372A (zh) | 一种数据资产治理方法及系统 | |
CN115438024A (zh) | 数据导入中台的方法、装置、系统、电子设备、存储介质 | |
US20240256576A1 (en) | Data processing system with manipulation of logical dataset groups | |
US11449628B2 (en) | System and method for data security grading | |
CN116661758B (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
CN109947797A (zh) | 一种数据检查装置及方法 | |
CN115130130B (zh) | 网盘文件解锁方法、装置、网盘及存储介质 | |
CN114356848B (zh) | 元数据管理方法、计算机存储介质及电子设备 | |
CN114004542B (zh) | 一种企业任务管理方法、系统、计算机设备及存储介质 | |
CN115759742A (zh) | 企业风险评估方法、装置、计算机设备和存储介质 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
CN113076086B (zh) | 元数据管理系统和使用其对模型对象进行建模的方法 | |
CN114860759A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN113934729A (zh) | 一种基于知识图谱的数据管理方法、相关设备及介质 | |
CN111143322A (zh) | 一种数据标准治理系统及方法 | |
Esser et al. | Using graph data structures for event logs | |
CN114327377B (zh) | 需求跟踪矩阵生成方法、装置、计算机设备及存储介质 | |
US11561979B2 (en) | Dynamically detecting and correcting errors in queries | |
CN112559580B (zh) | 一种数据查询方法、装置及设备 | |
US20230010147A1 (en) | Automated determination of accurate data schema |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |