CN112328675A - 异构数据转换方法、装置、设备及存储介质 - Google Patents

异构数据转换方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112328675A
CN112328675A CN202011345338.2A CN202011345338A CN112328675A CN 112328675 A CN112328675 A CN 112328675A CN 202011345338 A CN202011345338 A CN 202011345338A CN 112328675 A CN112328675 A CN 112328675A
Authority
CN
China
Prior art keywords
data
target
database
source
conversion
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
Application number
CN202011345338.2A
Other languages
English (en)
Inventor
卢超
洪镇洲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI INSTITUTE OF COMPUTING TECHNOLOGY
Original Assignee
SHANGHAI INSTITUTE OF COMPUTING TECHNOLOGY
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI INSTITUTE OF COMPUTING TECHNOLOGY filed Critical SHANGHAI INSTITUTE OF COMPUTING TECHNOLOGY
Priority to CN202011345338.2A priority Critical patent/CN112328675A/zh
Publication of CN112328675A publication Critical patent/CN112328675A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database

Abstract

本发明实施例公开了一种异构数据转换方法、装置、设备及存储介质。本发明中,通过基于源数据库的结构和目标数据库的结构,制定将分散在各个源数据库中的数据,集成到一个目标数据库中所依据的转换规则,进而在将各个源数据库中的数据集成到目标数据库的时候,根据各个源数据库的数据源的类型,从制定的转换规程中选取与当前数据源类型的源数据库匹配的目标转换规则,并根据选取的目标转换规则构建数据转换器,最终基于得到数据转换器对当前数据源类型对应的源数据库中的数据进行转换,并将转换得到的目标数据写入目标数据库,从而将原本存在内在联系,但单独存放在不同源数据库中的数据,快速、准确的集成到了一个目标数据库。

Description

异构数据转换方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机信息技术领域,特别涉及一种异构数据转换方法、装置、设备及存储介质。
背景技术
随着企业和政府部门的信息化程度不断提高,应用系统的数量越来越多,数据的存放日益分散。在政府信息化建设过程中,由于各种历史条件的限制,各个部门根据自己的信息要求和功能需求选择了各自的软硬件环境以及不同品牌的数据库系统。这种按部门或功能组织和管理数据的形式,导致了政府数据资源与服务的分片,形成了一个个“信息孤岛”。
但是,在实际应用中,这些分散的数据往往存在内在联系,这就使得用户在应用这些数据之前,需要先解决数据集成的问题。
然而,由于前期设计未充分考虑到数据集成的需求,这就使得不同数据库,即异构数据之间的转换、集成变得相当困难。
发明内容
本发明实施例的目的在于提供一种异构数据转换方法、装置、设备及存储介质,旨在解决上述技术问题。
为解决上述技术问题,本发明的实施例提供了一种异构数据转换方法,包括以下步骤:
在将各源数据库中的数据写入到目标数据库时,基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则;
根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器;
根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库。
本发明的实施例还提供了一种异构数据转换装置,包括:
转换规则制定模块,用于在将各源数据库中的数据写入到目标数据库时,基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则;
数据转换器构建模块,用于根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器;
异构数据转换模块,用于根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库。
本发明的实施例还提供了一种异构数据转换设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上文所述的异构数据转换方法。
本发明的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的异构数据转换方法。
本发明实施例提供的异构数据转换方法、装置、设备及存储介质,通过基于源数据库的结构和目标数据库的结构,制定将分散在各个源数据库中的数据,集成到一个目标数据库中所依据的转换规则,进而在将各个源数据库中的数据集成到目标数据库的时候,根据各个源数据库的数据源的类型,从制定的转换规程中选取与当前数据源类型的源数据库匹配的目标转换规则,并根据选取的目标转换规则构建数据转换器,最终基于得到数据转换器对当前数据源类型对应的源数据库中的数据进行转换,并将转换得到的目标数据写入目标数据库,从而将原本存在内在联系,但单独存放在不同源数据库中的数据,快速、准确的集成到了一个目标数据库。
另外,所述基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则,包括:提取所述源数据库中的源数据表,并从所述源数据表中提取源字段信息;提取所述目标数据库中的目标数据表,并从所述目标数据表中提取目标字段信息;建立所述源数据表和所述目标数据表之间的表映射关系,所述源字段信息和所述目标字段信息之间的字段映射关系;所述表映射关系和所述字段映射关系,制定所述转换规则。本发明的实施例,通过确定源数据库与目标数据库之间存在的表映射关系和字段映射关系,并根据表映射关系和字段映射关系来制定转换规则,使得转换规则能够精准的体现不同数据库之间的存在的关系,从而基于这种转换规则构建的数据转换器,能够实现对异构数据,即不同数据库中数据的转换。
另外,在所述根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器之前,所述方法还包括:检测是否存在已经创建好的数据转换器;若检测到存在已经创建好的数据转换器,则执行所述根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库的步骤;否则,执行所述根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器的步骤。本发明的实施例,在从制定的转换规则中选取与当前源数据库的数据源对应的目标转换规则,根据选取的目标转换规则构建数据转换器之前,先检测系统是否存在已经构建好的数据转换器,在系统不存在已经构建好的数据转换器时才进行构建,从而避免了重复构建数据转换器,降低了对设备资源的消耗;在已有构建好的数据转换器时,直接进行异构数据的转换,从而节省了构建数据转换器所需的时耗,进而提升了异构数据的转换速度。
另外,所述根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库,包括:从所述源数据库中读取数据,得到待转换数据;将所述待转换数据输入所述数据转换器,由所述数据转换器基于所述目标转换规则,对所述待转换数据进行转换,得到所述目标数据;将所述目标数据写入所述目标数据库。
另外,所述将所述目标数据写入所述目标数据库,包括:对所述目标数据库进行遍历;将所述目标数据与当前遍历到的数据进行比较;若相同,则以覆盖写的方式,将所述目标数据写入所述目标数据库,或者,将所述目标数据删除;否则,将所述目标数据写入所述目标数据库。本发明的实施例,在将目标数据写入目标数据库时,通过基于目标数据对目标数据库进行遍历,即对目标数据库进行重复性验证,从而可以避免目标数据库中存在重复、冗余的数据,有效减少了对目标数据库存储空间的占用。
另外,在所述根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库的过程中,所述方法还包括:记录数据转换过程中生成的日志信息,并将所述日志信息写入日志文件。本发明的实施例,在进行异构数据转换的过程中,通过记录转换过程中生成的日志信息,并将日志信息写入日志文件,从而可以方便技术人员获知每次异构数据转换的结果,进而在异构数据转换失败时,能够根据日志文件快速定位失败原因。
另外,所述将所述日志信息写入日志文件,包括:启动同步定时任务;在到达预设时间时,以所述预设时间内生成的所述日志信息为一个写入批次,将所述日志信息写入所述日志文件。本发明的实施例,在将日志信息写入日志文件的过程中,通过启动同步定时任务,进而在达到预设时间时,将预设时间内生成的所有日志信息作为一个写入批次写入日志文件,从而大大提升了写入效率,同时降低了对设备资源的消。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明第一实施例提供的异构数据转换方法的具体流程图;
图2是针对本发明第一实施例提供的异构数据转换方法中涉及的转换规则的一种具体层次架构图;
图3是针对本发明第一实施例提供的异构数据转换方法中涉及的异构数据转换的具体转换示意图;
图4是针对本发明第一实施例提供的异构数据转换方法的异构数据转换原理图;
图5是本发明第二实施例提供的异构数据转换方法的具体流程图;
图6是针对本发明第二实施例提供的异构数据转换方法的异构数据转换原理图;
图7是本发明第三实施例的异构数据转换装置的结构示意图;
图8是本发明第四实施例的异构数据转换设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。
以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明第一实施例涉及一种异构数据转换方法,该方法可以应用于客户端,也可以应用于服务端,本实施例对此不做限制。
此外,应当理解的是,上述所说的客户端,在实际应用中可以是PC机、服务器等,服务端也可以是PC机、服务器等,此处不再一一列举,本实施例对此也不做限制。
下面对本实施例的异构数据转换方法的实现细节进行说明,以下内容仅为方便理解而提供的实现细节,并非实施本方案的必须。
本实施例的具体流程如图1所示,具体包括以下步骤:
步骤101,在将各源数据库中的数据写入到目标数据库时,基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则。
具体的说,在实际应用中,可能是将多个源数据库中的数据进行转换,进而集成到一个目标数据库中。因此,在制定转换规则时,具体是基于各源数据库的结构和目标数据库的结构,分别制定各源数据库与目标数据库之间适用的转换规则。
此外,应当理解的是,关于上述所说的源数据库,在实际应用中,可以是企业或政府机构中,各个部门根据自己的信息要求和功能需求选择的不同软硬件环境以及不同品牌的数据库系统,比如Oracle、SQLServer、Excel等。
相应地,上述所说的目标数据库,在实际应用中,也可以是Oracle、SQLServer、Excel等。
为了便于理解,上述所说的基于各源数据库的结构和目标数据库的结构,制定转换规则的操作,本实施例给出一种具体的实现方式:
(1)提取所述源数据库中的源数据表,并从所述源数据表中提取源字段信息;提取所述目标数据库中的目标数据表,并从所述目标数据表中提取目标字段信息。
即,分别从各源数据库中提取对应的源数据表,并从各源数据表中提取对应的源字段信息。
同样的提取操作,还需要对目标数据库进行一次,以获取目标数据库中的目标数据表,以及目标数据表中的目标字段信息。
(2)建立所述源数据表和所述目标数据表之间的表映射关系,所述源字段信息和所述目标字段信息之间的字段映射关系。
具体的说,此处所说的建连表映射关系,在实际应用中可以是一对一的关系,即一个源数据表对应一个目标数据表,也可以是多对一的关系,即多个源数据表对应一个目标数据表,还可以是根据业务需求确定的某种自定义关系,如一个源数据中的某一部分,对应一个目标数据表。
相应地,在实际应用中,体现源字段信息和目标字段信息之间关系的字段映射关系,与上述所说的表映射关系类似,此处不再赘述。
此外,值得一提的是,关于上述所说的建连表映射关系和字段映射关系的方式,在实际应用中,可以是基于预先编译好的脚步文件自动构建的,也可以是由技术人员通过用户界面,采用拖、拉、拽等操作方式,将源数据表跟需要映射的目标数据表通过连线对应起来,将源字段信息跟需要映射的目标字段信息通过连线对应起来,然后由设备自动解析用户界面的连线结果,进而根据解析结果确定源数据表与目标数据表之间的表映射关系,源字段信息与目标字段信息之间的字段映射关系。
应当理解的是,以上仅为举例说明,对本实施例的技术方案并不构成任何限定,在实际应用中,本领域技术人员可以根据业务需要进行设置,本实施例对此不做限制。
(3)根据所述表映射关系和所述字段映射关系,制定所述转换规则。
具体的说,在实际应用中,根据所述表映射关系和所述字段映射关系,制定的所述转换规则包括,但不限于标准转换规则和自定义转换规则。
所谓标准转换规则,是指直接体现所述表映射关系和所述字段映射关系的转换规则;所谓自定义转换规则,是指针对有额外需求的目标数据库,需要基于所述表映射关系和所述字段映射关系,从源数据库中抽取满足所述需求的数据,然后根据需求对数据进行组合或者拆分,这种情况下,就需要自定义以下转换规则,以便后续基于该转换规则进行的数据转换满足该业务需求。
进一步地,由于目前数据基础比较流行的趋势是采用公用数据模型作为数据集成的中间数据格式,而XML(Extensible Markup Language,可扩展标记语言)由于其以开放的、自我描述方式定义了数据结构,具有强大的标识能力和平台无关性,因而十分适合作为数据交换的载体。
基于此,本实施例中制定的转换规则,具体为XML转换规则,从而使得基于XML转换规则进行的异构数据转换,能够实现跨平台。
此外,为了更好的理解本实施例中制定的转换规则,以下结合图2进行说明:
具体的说,如图2所示,转换规则是基于表映射关系和字段映射关系生成的,其主要定义了转换的连接方式,即哪一源数据表对应到哪一目标数据表,哪一源字段信息对应到哪一目标字段信息,以及数据源(相对于源数据库而言的)、数据目标(相对于目标数据库而言的)。
此外,图2中的表示“表映射关系”的标签,以下称为MAP标签,具体是代表源数据表与目标数据表之间的映射关系。
具体的说,在实际应用中,MAP标签对应的关系属性RELATION,可以为1N1(一表对一表转换),1NN(一表对多表转换)和CUSTOM(自定义转换)。
也就是说,在实际应用中,如果RELATION="1N1",则目标数据表只能有一个;如果RELATION="1NN",则目标数据表可以由多个;如果RELATION="CUSTOM",则将忽略后续的字段对应关系,直接使用数据技术类,如DT_CLASS中的自定义转换策略类来做转换。
此外,值得一提的是,从源数据库中提取的源数据表,可以用SOURCETABLE标签表示。在实际应用中,SOURCETABLE标签还会包括表名称信息。
需要说明的是,由于在实际应用中,源数据库可能是Oracle、SQLServer等数据库,也可能是Excel,还可能是CSV,因而对于Oracle、SQLServer等数据库,NAME具体是TABLE_NAME;对于Excel,NAME具体是SHEETNAME;对于CSV,NAME句是文件名。
进一步地,在源数据库是Excel或者CSV时,还包括标识数据起始行的STARTROW标签,以及标识数据结束行的ENDROW标签。
其中,对于ENDROW标签,在对应的值为空值NULL或者默认值AUTO时,规定转换规则为取数到值全部为NULL时,自动结束。
进一步地,在实际应用中,转换规则中,还可以包括数据源参数标签,即PARAMETER标签,具体用于定义源数据表取值参数,供数据转换使用,即在实际应用中,该标签可以定义从固定的某行(属性ROW),或者某列(属性COL)指定位置取出值作为参数供下面的转换使用。
进一步地,在实际应用中,PARAMETER标签下,还可以包括对特定行做公式定义的FORMULA属性。如果有该属性,则参数值是根据公式算出的,如果没有该属性,则直接取源数据的值作为参数值。
与源数据表类似,目标数据表也可以用专门的标签表示,如TARGETTABLE标签。
同样,在实际应用中,TARGETTABLE标签还会包括表名称信息。
与SOURCETABLE标签下的表名称信息类似,对于Oracle、SQLServer等数据库,NAME具体是TABLE_NAME;对于Excel,NAME具体是SHEETNAME;对于CSV,NAME句是文件名。
由此,完成了源数据表与目标数据表之间的表映射关系构建。
相应地,关于字段信息映射关系,在实际应用中可以用FIELDS标签表示。
具体而言,在实际应用中,一个字段信息映射关系,也可以称之为字段集合代表一条记录。其中的KEY_BACK属性需要符合公式定义规范。
在实际应用中,一个TARGETTABLE标签下可以有多个FIELDS标签,即允许一个TARGETTABLE下的字段转换成多条记录。
相应地,FIELD标签,则表示单个字段转换关系,其TYPE属性可以是DT或DF。
其中,DT表示该数据有Source标签下的Name值给出或通过TARGET标签下的Formula进行转换。
DF代表数据填充,表示通过Source标签下的Name值对应记录的TARGET标签下的Formula规则进行转换。
SOURCE标签,代表一个源字段信息,NUM属性代表是源数据库中数据的第几列,NAME代表是源字段信息的名称。
应当理解的是,在实际应用中,NUM和NAME只需要有一个,如果都有的话,取NUM为准。ALIAS代表字段别名,可用于中文辅助名称,日志记录中使用。
CONDITION代表源数据库中数据的数据检验标准,采取逻辑表达式验证;FORMAT代表数据源格式验证标准,采取正则表达式验证。
TARGET标签,代表一个目标字段信息,NUM属性代表是目标数据库中数据的第几列,NAME代表是目标字段信息的名称。
同样,在实际应用中,NUM和NAME只需要有一个,如果都有的话,取NUM为准。ALIAS代表字段别名,可用于中文辅助名称,日志记录中使用。
FORMULA属性可以对该字段做公式转换,即如果有这个属性,目标字段信息可以根据公式算出;如果没有,则直接取源字段信息的值填充目标字段信息。
REPLACE_NULL属性,表示可以是公式定义一样的方式填充;或者LAST_VALUE支持上一条记录该字段的原值;或者用LAST_KEY支持上一FIELDS的KEY_BACK属性换算得到的值。
通过上述描述可知,在实际应用中,制定转换规则时,除了需要基于确定的表映射关系和字段映射关系,还会基于预先定义的各种标签、属性。
步骤102,根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器。
具体的说,在实际应用中,在从制定的转换规则中选取与当前源数据库的数据源对应的目标转换规则,根据选取的目标转换规则构建数据转换器之前,可以先检测系统是否存在已经构建好的数据转换器,在系统不存在已经构建好的数据转换器时才执行步骤102进行构建,从而避免重复构建数据转换器,降低对设备资源的消耗;在已有构建好的数据转换器时,直接进入步骤103执行异构数据的转换,从而节省构建数据转换器所需的时耗,进而提升异构数据的转换速度。
步骤103,根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库。
为了便于理解,以下结合图3进行具体说明:
具体的说,在实际应用中,当异构数据转换服务启动后,会先通过供XML使用的数据转换操作类,如XmlTransferDataProvider类实例化转换规则;同时,通过供SQL使用的数据转换操作类,如SqlTransferDataProvider类读取需同步的源数据库中的数据,并将读取到每条数据进行转换后,写入Hashtable中。
需要说明的是,在实际应用中,图3中示出的转换规则,可以用Sys_ScTableInfo表示。
此外,SqlTransferDataProvider类的实现,需要依赖于图3中示出的数据库操作帮助类源文件,如OracleHelperSource。
此外,关于SqlTransferDataProvider类读取需同步的源数据库中的数据,并将读取到每条数据进行转换后,存储到Hashtable中的操作,实质需要按照转换规则实例,将源数据库中的数据通过数据转换上下文,如TransferContxt类进行映射,并根据映射结果进行后续处理。
具体而言,如果经映射处理后,确定需要进行数据转换,则调用转换公式,如TransferFormula类中定义的转换函数进行数据转换,并在转换后,将返回的目标数据写入目标数据库中目标表对应的Hashtable中。
进一步地,如图3所示,在实际应用中,将返回的目标数据写入目标数据库中目标表对应的Hashtable中后,还需要将Hashtable和实例化转换规则,通过数据同步类,如SyncData转换为SQL语句,然后调用数据库操作帮助类,如OracleHelper类,将转换数据更新进目标数据库中,由此完成将源数据库中的数据写入目标数据库的操作。
应当理解的是,以上仅为举例说明,对本实施例的技术方案并不构成任何限定,在实际应用中,本领域技术人员可以根据业务需要进行设置,本实施例对此不做限制。
此外,为了从整理理解本实施例提供的异构数据转换方法,以下结合图4进行具体说明:
如果4所示,在将源数据库(图4中的Oracle、SQLServer、Excel...)中的数据转换到目标数据库(图4中的Oracle、SQLServer、Excel...)时,首先基于各源数据库的结构和目标数据库的结构,制定转换规则,在本实施例中具体为XML转换规则;然后,根据当前需要转换的源数据库的数据源的类型,从制定的多个XML转换规则中选取与当前需要转换的源数据库匹配的XML转换规则,作为目标转换规则;接着,基于选取的目标转换规则构建数据转换器,并从源数据库中读取数据,得到待转换数据;接着,将得到的待转换数据输入构建好的数据转换器,由数据转换器基于所述目标转换规则,对所述待转换数据进行转换,进而得到目标数据;最后,将得到的目标数据写入目标数据库即可。
此外,如图4所示,在实际应用中,为了更好了实现异构数据的转换,数据转换工具中除了包括本实施例中所说的数据转换器,还可以包括转换设置中心和转换作业控制中心。
进一步地,还需要部署一个设置数据库,具体是用于存储转换规则的定义信息、转换认为的定义信息和转换权限的定义信息。
进而,在具体实现时,通过转换设置中心设置上述提到的转换规则的定义信息、转换认为的定义信息和转换权限的定义信息,然后将它们写入设置数据库进行存储,以便在进行数据转换时,由转换作业控制中心从设置数据库中取出相应的信息,并通知数据转换器,结合制定的转换规则和取出的上述信息,对源数据库中的数据进行转换。
此外,值得一提的是,在实际应用中,在将目标数据写入目标数据库时,可以基于目标数据对目标数据库进行遍历,即对目标数据库进行重复性验证,在目标数据与当前遍历到的数据相同时,覆盖写的方式所述目标数据写入所述目标数据库,或者,将所述目标数据删除,在目标数据与当前遍历到的数据不相同时,才将所述目标数据写入所述目标数据库,从而可以避免目标数据库中存在重复、冗余的数据,有效减少了对目标数据库存储空间的占用。
应当理解的是,以上仅为举例说明,对本实施例的技术方案并不构成任何限定,在实际应用中,本领域技术人员可以根据业务需要进行设置,本实施例对此不做限制。
通过上述描述不难发现,本实施例提供的异构数据转换方法,通过基于源数据库的结构和目标数据库的结构,制定将分散在各个源数据库中的数据,集成到一个目标数据库中所依据的转换规则,进而在将各个源数据库中的数据集成到目标数据库的时候,根据各个源数据库的数据源的类型,从制定的转换规程中选取与当前数据源类型的源数据库匹配的目标转换规则,并根据选取的目标转换规则构建数据转换器,最终基于得到数据转换器对当前数据源类型对应的源数据库中的数据进行转换,并将转换得到的目标数据写入目标数据库,从而将原本存在内在联系,但单独存放在不同源数据库中的数据,快速、准确的集成到了一个目标数据库。
本发明的第二实施例涉及一种异构数据转换方法。第二实施例在第一实施例的基础上做了进一步改进,主要改进之处为:在根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库的过程中,还会记录数据转换过程中生成的日志信息,并将得到的日志信息写入日志文件,以供技术人员在异构数据转换失败时,根据日志文件定位失败原因。
如图5所示,第二实施例涉及的异构数据转换方法,包括如下步骤:
步骤501,在将各源数据库中的数据写入到目标数据库时,基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则。
步骤502,根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器。
不难发现,本实施例中的步骤501和步骤502与第一实施例中的步骤101和步骤102大致相同,在此就不再赘述。
步骤503,根据所述数据转换器,对所述源数据库中的数据进行转换,将转换得到的目标数据写入所述目标数据库,并记录数据转换过程中生成的日志信息,将所述日志信息写入日志文件。
具体的说,本实施例中所说的日志信息包括,但不限于:数据转换日志信息、系统运行日志信息和系统运行记录日志信息。
其中,数据转换日志信息,是指异构数据的转换过程中,即将由数据转换器,基于目标转换规则,将源数据库中的数据转换到目标数据库的过程中,同步产生的信息。
在本实施例中,数据转换日志信息包括,但不限于标识源数据库唯一性的身份标识ID、转换类型(即数据源的类型)、转换时间(转换的开始时间和结束时间)和转换状态(如成功或失败)。
系统运行日志信息,具体记录的是用于执行本实施例提供的异构数据转换的转换系统的运行状态信息。
在本实施例中,系统运行日志信息包括,但不限于一次转换的时间、转换进度和转换结束时间。
系统运行记录日志信息,具体记录的是转换系统的错误记录和转换记录。
通过上述描述可知,本实施例通过将异构数据转换过程中涉及的各种日志信息,写入到日志文件,从而可以方便技术人员获知每一次异构数据转换过程中涉及的信息,进而在出现异构数据转换失败或异常的时候,能够根据日志文件中记录的日志信息,快速定位失败或异常的原因,从而及时进行处理。
此外,值得一提的是,在实际应用中,所述日志文件可以理解为一个日志文件数据库,即写入日志文件数据库中的日志信息,为计算人员实际要获取的日志文件。
进一步地,在实际应用中,为了实现日志信息的批量写入,即通过一次写多个日志信息来减少写入次数,在提升写入效率的同时,尽可能降低对设备资源的消耗,可以在进行异构数据转换的过程中,启动同步定时任务。
进而在同步定时任务监测到从启动到当前时刻,到达预设时间或者说预设时长时,以所述预设时间或者说预设时长内生成的所有日志信息为一个写入批次,将该时间段内的所有日志信息批量写入日志文件。
进一步地,在实际应用中,为了避免将相同的日志信息,重复写入日志文件,可以在每次执行写入操作时,检测日志文件中是否存在与待写入的日志信息相同的日志信息,若存在,则说明已经将生成的日志信息同步至了日志文件,此时可以进入下一个同步定时任务;否则,先将本次同步定时任务监测到的预设时间内生成的日志信息写入日志文件,然后在进入下一个同步定时任务。
此外,为了更好的理解本实施例中提供的异构数据转换方法,以下结合图6进行说明。
不难发现,图6示出的异构数据转换原理图与图4示出的异构数据转换原理图大致相同,主要区别之处为,数据转换器在根据从各源数据库与目标数据库之间的XML转换规则中选取的目标转换规则,对与目标转换规则匹配的源数据库中的数据进行转换,进而将转换得到的目标数据写入目标数据库的过程中,还会记录数据转换过程中生成的日志信息,并将生成的日志信息按照某种预设方式,如批量写入的方式写入到日志文件数据库,进而方便技术人员后续使用。
应当理解的是,以上仅为举例说明,对本实施例的技术方案并不构成任何限定,在实际应用中,本领域技术人员可以根据业务需要进行设置,本实施例对此不做限制。
由此,本实施例提供的异构数据转换方法,在进行异构数据转换的过程中,通过记录转换过程中生成的日志信息,并将日志信息写入日志文件,从而可以方便技术人员获知每次异构数据转换的结果,进而在异构数据转换失败时,能够根据日志文件快速定位失败原因。
此外,应当理解的是,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施例涉及一种异构数据转换装置,如图7所示,包括:转换规则制定模块701、数据转换器构建模块702和异构数据转换模块703。
其中,转换规则制定模块701,用于在将各源数据库中的数据写入到目标数据库时,基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则;数据转换器构建模块702,用于根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器;异构数据转换模块703,用于根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库。
此外,在另一个例子中,转换规则制定模块701,具体用于按照如下方式,制定转换规则:
提取所述源数据库中的源数据表,并从所述源数据表中提取源字段信息;
提取所述目标数据库中的目标数据表,并从所述目标数据表中提取目标字段信息;
建立所述源数据表和所述目标数据表之间的表映射关系,所述源字段信息和所述目标字段信息之间的字段映射关系;
根据所述表映射关系和所述字段映射关系,制定所述转换规则。
此外,在另一个例子中,异构数据转换装置,还包括数据转换器检测模块。
具体而言,数据转换器检测模块,用于检测是否存在已经创建好的数据转换器。
相应地,若检测到存在已经创建好的数据转换器,则通知异构数据转换模块703执行所述根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库的操作;否则,通知数据转换器构建模块702执行述根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器的操作。
此外,在另一个例子中,异构数据转换模块703在根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库时,具体为:
从所述源数据库中读取数据,得到待转换数据;
将所述待转换数据输入所述数据转换器,由所述数据转换器基于所述目标转换规则,对所述待转换数据进行转换,得到所述目标数据;
将所述目标数据写入所述目标数据库。
此外,在另一个例子中,异构数据转换模块703在将所述目标数据写入所述目标数据库时,具体为:
对所述目标数据库进行遍历;
将所述目标数据与当前遍历到的数据进行比较;
若相同,则以覆盖写的方式,将所述目标数据写入所述目标数据库,或者,将所述目标数据删除;
否则,将所述目标数据写入所述目标数据库。
此外,在另一个例子中,异构数据转换装置,还可以包括日志模块。
具体而言,日志模块,用于在异构数据转换模块703根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库的过程中,记录数据转换过程中生成的日志信息,并将所述日志信息写入日志文件。
此外,在另一个例子中,日志模块在将日志信息写入日志文件时,具体为:
启动同步定时任务;
在到达预设时间时,以所述预设时间内生成的所述日志信息为一个写入批次,将所述日志信息写入所述日志文件。
不难发现,本实施例为与第一或第二实施例相对应的装置实施例,本实施例可与第一或第二实施例互相配合实施。第一或第二实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第一或第二实施例中。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本发明第四实施例涉及一种异构数据转换设备,如图8所示,包括至少一个处理器801;以及,与所述至少一个处理器801通信连接的存储器802;其中,所述存储器802存储有可被所述至少一个处理器801执行的指令,所述指令被所述至少一个处理器801执行,以使所述至少一个处理器801能够执行上述第一或第二实施例所描述的异构数据转换方法。
其中,存储器802和处理器801采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器801和存储器802的各种电路链接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器801处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器801。
处理器801负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器802可以被用于存储处理器801在执行操作时所使用的数据。
本申请的第五实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例所描述的人像图片质量评估方法。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (10)

1.一种异构数据转换方法,其特征在于,包括:
在将各源数据库中的数据写入到目标数据库时,基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则;
根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器;
根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库。
2.根据权利要求1所述的异构数据转换方法,其特征在于,所述基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则,包括:
提取所述源数据库中的源数据表,并从所述源数据表中提取源字段信息;
提取所述目标数据库中的目标数据表,并从所述目标数据表中提取目标字段信息;
建立所述源数据表和所述目标数据表之间的表映射关系,所述源字段信息和所述目标字段信息之间的字段映射关系;
根据所述表映射关系和所述字段映射关系,制定所述转换规则。
3.根据权利要求1所述的异构数据转换方法,其特征在于,在所述根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器之前,所述方法还包括:
检测是否存在已经创建好的数据转换器;
若检测到存在已经创建好的数据转换器,则执行所述根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库的步骤;
否则,执行所述根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器的步骤。
4.根据权利要求1至3任一项所述的异构数据转换方法,其特征在于,所述根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库,包括:
从所述源数据库中读取数据,得到待转换数据;
将所述待转换数据输入所述数据转换器,由所述数据转换器基于所述目标转换规则,对所述待转换数据进行转换,得到所述目标数据;
将所述目标数据写入所述目标数据库。
5.根据权利要求4所述的异构数据转换方法,其特征在于,所述将所述目标数据写入所述目标数据库,包括:
对所述目标数据库进行遍历;
将所述目标数据与当前遍历到的数据进行比较;
若相同,则以覆盖写的方式,将所述目标数据写入所述目标数据库,或者,将所述目标数据删除;
否则,将所述目标数据写入所述目标数据库。
6.根据权利要求1至3任一项所述的异构数据转换方法,其特征在于,在所述根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库的过程中,所述方法还包括:
记录数据转换过程中生成的日志信息,并将所述日志信息写入日志文件。
7.根据权利要求6所述的异构数据转换方法,其特征在于,所述将所述日志信息写入日志文件,包括:
启动同步定时任务;
在到达预设时间时,以所述预设时间内生成的所述日志信息为一个写入批次,将所述日志信息写入所述日志文件。
8.一种异构数据转换装置,其特征在于,包括:
转换规则制定模块,用于在将各源数据库中的数据写入到目标数据库时,基于所述各源数据库的结构和所述目标数据库的结构,制定转换规则;
数据转换器构建模块,用于根据所述各源数据库的数据源的类型,从所述转换规则中选取匹配的目标转换规则,并根据所述目标转换规则构建数据转换器;
异构数据转换模块,用于根据所述数据转换器,对所述源数据库中的数据进行转换,并将转换得到的目标数据写入所述目标数据库。
9.一种异构数据转换设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7任一所述的异构数据转换方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的异构数据转换方法。
CN202011345338.2A 2020-11-25 2020-11-25 异构数据转换方法、装置、设备及存储介质 Pending CN112328675A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011345338.2A CN112328675A (zh) 2020-11-25 2020-11-25 异构数据转换方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011345338.2A CN112328675A (zh) 2020-11-25 2020-11-25 异构数据转换方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN112328675A true CN112328675A (zh) 2021-02-05

Family

ID=74308897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011345338.2A Pending CN112328675A (zh) 2020-11-25 2020-11-25 异构数据转换方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112328675A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905700A (zh) * 2021-02-23 2021-06-04 杭州网易云音乐科技有限公司 一种数据同步的方法和装置及设备
CN113076365A (zh) * 2021-04-07 2021-07-06 杭州数梦工场科技有限公司 数据同步方法、装置、电子设备及存储介质
CN113111101A (zh) * 2021-03-18 2021-07-13 武汉中地众思科技有限公司 一种数据库转换方法
CN113220732A (zh) * 2021-03-19 2021-08-06 浪潮云信息技术股份公司 一种联通同享的数据匹配方法及系统
CN113326316A (zh) * 2021-04-14 2021-08-31 深圳新贝奥数字科技有限公司 一种异构系统数据快捷同步方法
CN113741904A (zh) * 2021-08-27 2021-12-03 浙江惠瀜网络科技有限公司 数据处理方法、装置及存储介质
CN114064720A (zh) * 2021-11-15 2022-02-18 中国建设银行股份有限公司 一种异构流数据处理方法及装置
CN117076574A (zh) * 2023-10-16 2023-11-17 北京持安科技有限公司 一种可编排多数据源数据同步聚合方法及装置
CN113076365B (zh) * 2021-04-07 2024-05-10 杭州数梦工场科技有限公司 数据同步方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122401A (zh) * 2017-03-22 2017-09-01 广州优视网络科技有限公司 向数据库存储数据的方法、设备、中间件设备和服务器
CN107948194A (zh) * 2017-12-22 2018-04-20 北京农业信息技术研究中心 一种数据接入方法及系统
CN108984652A (zh) * 2018-06-27 2018-12-11 北京圣康汇金科技有限公司 一种可配置数据清洗系统和方法
CN110263081A (zh) * 2019-06-18 2019-09-20 普元信息技术股份有限公司 云计算平台下实现异构数据处理功能的etl系统及其处理方法
CN111460019A (zh) * 2020-04-02 2020-07-28 中电工业互联网有限公司 一种异构数据源的数据转换方法及中间件

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122401A (zh) * 2017-03-22 2017-09-01 广州优视网络科技有限公司 向数据库存储数据的方法、设备、中间件设备和服务器
CN107948194A (zh) * 2017-12-22 2018-04-20 北京农业信息技术研究中心 一种数据接入方法及系统
CN108984652A (zh) * 2018-06-27 2018-12-11 北京圣康汇金科技有限公司 一种可配置数据清洗系统和方法
CN110263081A (zh) * 2019-06-18 2019-09-20 普元信息技术股份有限公司 云计算平台下实现异构数据处理功能的etl系统及其处理方法
CN111460019A (zh) * 2020-04-02 2020-07-28 中电工业互联网有限公司 一种异构数据源的数据转换方法及中间件

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
岳健: "基于柔性工作流的制造执行系统的研究", 《现代计算机》, 31 December 2017 (2017-12-31), pages 4 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905700A (zh) * 2021-02-23 2021-06-04 杭州网易云音乐科技有限公司 一种数据同步的方法和装置及设备
CN113111101A (zh) * 2021-03-18 2021-07-13 武汉中地众思科技有限公司 一种数据库转换方法
CN113220732A (zh) * 2021-03-19 2021-08-06 浪潮云信息技术股份公司 一种联通同享的数据匹配方法及系统
CN113076365A (zh) * 2021-04-07 2021-07-06 杭州数梦工场科技有限公司 数据同步方法、装置、电子设备及存储介质
CN113076365B (zh) * 2021-04-07 2024-05-10 杭州数梦工场科技有限公司 数据同步方法、装置、电子设备及存储介质
CN113326316A (zh) * 2021-04-14 2021-08-31 深圳新贝奥数字科技有限公司 一种异构系统数据快捷同步方法
CN113741904A (zh) * 2021-08-27 2021-12-03 浙江惠瀜网络科技有限公司 数据处理方法、装置及存储介质
CN114064720A (zh) * 2021-11-15 2022-02-18 中国建设银行股份有限公司 一种异构流数据处理方法及装置
CN117076574A (zh) * 2023-10-16 2023-11-17 北京持安科技有限公司 一种可编排多数据源数据同步聚合方法及装置
CN117076574B (zh) * 2023-10-16 2024-01-23 北京持安科技有限公司 一种可编排多数据源数据同步聚合方法及装置

Similar Documents

Publication Publication Date Title
CN112328675A (zh) 异构数据转换方法、装置、设备及存储介质
US20210263948A1 (en) Content transfer
JP2680201B2 (ja) データベースにおける要求処理方法
CN100485670C (zh) 用于从数据库取得和呈现数据的方法及系统
CN113792077B (zh) 一种数据处理方法、程序产品、可读介质和电子设备
CN112000696B (zh) 一种多架构云平台镜像仓库的镜像列表查询的架构
CN110109981B (zh) 工作队列的信息展示方法、装置、计算机设备和存储介质
CN113961643A (zh) 搜索引擎更新方法及其装置、设备、介质、产品
JP7063563B2 (ja) 標準化データベースアクセスシステムおよび方法
US7685546B2 (en) Method and apparatus for supporting verification, and computer product
CN112765197B (zh) 数据查询方法、装置、计算机设备和存储介质
KR100693710B1 (ko) 마스터/슬레이브 구조를 갖는 데이터베이스간의 데이터 일치 방법
JPH1031603A (ja) 情報処理システム、クライアント/サーバシステム、およびデータベースアクセス方法
CN114791933B (zh) 一种主数据处理方法、基于主数据的交互方法和系统
CN117687961A (zh) 空空任务分析数据的预处理方法、系统、设备和存储介质
JPH1165904A (ja) データ管理システム、データ管理方法およびデータ管理プログラムを記録した媒体
JP3303810B2 (ja) システム構成仕様転送装置
CN117278377A (zh) 一种服务接口信息表的更正方法和装置
JP2003271579A (ja) 報告書作成システムと報告書作成方法と報告書作成プログラム
CN109241293A (zh) 应用于民用飞机的afdx网络数据分析系统及方法
JPH10187510A (ja) データベース移行方法及び装置
JP2002117039A (ja) 管理情報ベースを用いたネットワーク管理方法
JPH11110322A (ja) ネットワークシステム及びその管理方法
JPH07129614A (ja) 電子フアイリングシステム
JPH04291635A (ja) 性能改善手段を持つデータベース管理システム

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