CN106845787A - 一种数据自动交换方法及装置 - Google Patents
一种数据自动交换方法及装置 Download PDFInfo
- Publication number
- CN106845787A CN106845787A CN201611219549.5A CN201611219549A CN106845787A CN 106845787 A CN106845787 A CN 106845787A CN 201611219549 A CN201611219549 A CN 201611219549A CN 106845787 A CN106845787 A CN 106845787A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- target data
- target
- item
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information 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/84—Mapping; Conversion
- G06F16/86—Mapping to a database
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据自动交换方法及装置,所述方法包括:根据数据源元数据设置源/目标数据源中各个源/目标数据集对应的源/目标数据集信息结构,以及源/目标数据项信息结构;根据所述源数据集信息结构和目标数据集信息结构,确定各个源数据集和各个目标数据集之间的数据集映射匹配对;以及数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对;从源数据源中获取待交换数据;根据所述数据集映射匹配对和数据项映射匹配对,将所述待交换数据加载到所述目标数据源中。通过实施本发明,无需技术人员参与即可自动完成数据的匹配和转换,节约了大量时间。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据自动交换方法及装置。
背景技术
目前,企业在生产经营活动中基于不同的业务需求通常构建有多个不同的应用系统,如财务系统、企业生产管理系统等。为了充分利用存储在不同应用系统中的数据,企业需要在不同应用系统之间进行数据交换,例如,财务系统(目标应用系统)从企业生产管理系统(源应用系统)中获取员工的业务数据以便计算该员工奖金。
现有技术通常通过以下方式实现源应用系统和目标应用系统之间的数据交换:首先,由技术人员预先对源应用系统和目标应用系统所对应数据库中的数据结构、类型、范围等数据特征进行识别分析,然后建立源应用系统中各个字段的映射关系,最后,基于上述映射关系编写数据交换的程序,并通过运行该程序实现源应用系统和目标应用系统之间的数据交换。
可以看出,上述数据交换过程需要技术人员针对每项源应用系统和目标应用系统进行分析编程,当技术人员需要在不同源应用系统、目标应用系统之间进行数据交换时,就需要多次进行上述分析编程过程,整个数据交换过程非常繁琐、耗时。
发明内容
有鉴于此,提出了本发明以便提供一种克服上述问题或至少部分的解决上述问题的一种数据自动交换方法及装置。
根据本发明的一个方面,提供了一种数据自动交换方法,主要包括:
配置源数据源与目标数据源的数据源元数据;
根据所述数据源元数据设置源数据源中各个源数据集对应的源数据集信息结构,以及所述源数据集中各个源数据项对应的源数据项信息结构;
根据所述数据源元数据设置目标数据源中各个目标数据集对应的目标数据集信息结构,以及所述目标数据集中各个目标数据项对应的目标数据项信息结构;
根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对;
根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对;
从源数据源中获取待交换数据;
根据所述数据集映射匹配对和数据项映射匹配对,将所述待交换数据加载到所述目标数据源中。
可选的,所述根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对的步骤包括:
按照所述源数据集信息结构确定对应的源数据集特征向量;
按照所述目标数据集信息结构确定对应的目标数据集特征向量;
根据所述源数据源中各个源数据集的源数据集特征向量和目标数据源中各个目标数据集的目标数据集特征向量,确定源数据集与目标数据集的相似度;
将相似度满足预设条件的源数据集和目标数据集确定为数据集映射匹配对。
可选的,所述根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对的步骤包括:
按照所述源数据项信息结构确定源数据项特征向量;
按照所述目标数据项信息结构确定目标数据项特征向量;
根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间相似度;
将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对。
可选的,所述将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对的步骤之前,还包括:
识别所述源数据项和目标数据项中的主键数据项;
将所述源数据项中的主键数据项和目标数据项中的主键数据项确定为数据项匹配映射对。
可选的,
所述数据源元数据包括:数据集元数据、数据项元数据;
所述源数据集信息结构和目标数据集信息结构具体可表示为:
R={key1,key2,...keyNt},其中key1-Nt为数据集信息结构中分解出的Nt个实词文本向量;
所述源数据项信息结构和目标数据项信息结构具体可表示为:
R={key1,key2,...keyN,Type,Length},其中key1-Nt为数据项信息结构中分解出的N个实词文本向量;所述Type为数据项类型;所述Length为数据项长度。
依据本发明的另一方面,还提供了一种数据自动交换装置,主要包括:
数据源元数据配置模块,用于配置源数据源与目标数据源的数据源元数据;
第一设置模块,用于根据所述数据源元数据设置源数据源中各个源数据集对应的源数据集信息结构,以及所述源数据集中各个源数据项对应的源数据项信息结构;
第二设置模块,用于根据所述数据源元数据设置目标数据源中各个目标数据集对应的目标数据集信息结构,以及所述目标数据集中各个目标数据项对应的目标数据项信息结构;
数据集匹配模块,用于根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对;
数据项匹配模块,用于根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对;
待交换数据获取模块,用于从源数据源中获取待交换数据;
待交换数据加载模块,用于根据所述数据集映射匹配对和数据项映射匹配对,将所述待交换数据加载到所述目标数据源中。
可选的,所述数据集匹配模块,具体用于按照所述源数据集信息结构确定对应的源数据集特征向量;按照所述目标数据集信息结构确定对应的目标数据集特征向量;根据所述源数据源中各个源数据集的源数据集特征向量和目标数据源中各个目标数据集的目标数据集特征向量,确定源数据集与目标数据集的相似度;将相似度满足预设条件的源数据集和目标数据集确定为数据集映射匹配对。
可选的,所述数据项匹配模块具体用于按照所述源数据项信息结构确定源数据项特征向量;按照所述目标数据项信息结构确定目标数据项特征向量;根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间相似度;将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对。
可选的,所述数据项匹配模块具体包括:
第一匹配单元,用于识别所述源数据项和目标数据项中的主键数据项;将所述源数据项中的主键数据项和目标数据项中的主键数据项确定为数据项匹配映射对;
第二匹配单元,用于根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的除主键数据项之外各个源数据项与目标数据集的各个目标数据项之间相似度;将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对
可选的,
所述数据源元数据包括:数据集元数据、数据项元数据;
所述源数据集信息结构和目标数据集信息结构具体可表示为:
R={key1,key2,...keyNt},其中key1-Nt为数据集信息结构中分解出的Nt个实词文本向量;
所述源数据项信息结构和目标数据项信息结构具体可表示为:
R={key1,key2,...keyN,Type,Length},其中key1-Nt为数据项信息结构中分解出的N个实词文本向量;所述Type为数据项类型;所述Length为数据项长度。
与现有技术相比,本发明实施例包括以下优点:
现有技术实现数据交换时需要技术人员预先分析源数据源和目标数据源中数据集和数据项的特征,并通过编码的方式将数据集和数据项之间的映射关系固化在程序代码中,不仅耗时长,使用起来非常不便。本发明实施例通过设置数据集信息结构和数据项信息结构,自动匹配确定数据集映射匹配对和数据项映射匹配对,然后将待交换数据按照确定的数据集映射匹配对和数据项映射匹配对加载到目标数据源中,该数据交换过程可无需技术人员参与,自动完成数据的匹配和交换,为用户节约了大量时间。
附图说明
图1示出了本发明的一种数据自动交换方法实施例一的步骤流程图;
图2示出了本发明的一种数据自动交换方法实施例二的步骤流程图;
图3示出了本发明一种数据自动交换装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明的一种数据自动交换方法实施例一的步骤流程图,具体可以包括:
步骤101、配置源数据源与目标数据源的数据源元数据;
其中,数据源是指数据的来源或载体,其具体可以是数据库、Excel表格文件等,本发明实施例对数据源的类型不作具体限制。
在本发明实施例中,将数据的集合作为数据集,该数据集中包含多条独立的数据记录,每列为数据的公有属性,该列所对应的字段即数据项,例如,数据库中的表和视图、Excel文件中的表格等。所述源数据源或目标数据源可分别包括若干个数据集和对应的数据项。
所述数据源元数据用于描述源数据源或目标数据源,具体可以包括:数据源类型、数据源地址或端口、访问数据源所需的用户名、密匙、数据集元数据、数据项元数据等。
具体的,所述数据源类型可以包括:关系数据库类型、非关系数据库类型、文件类型、服务接口类型。当所述数据源类型为关系型数据库类型时,所述数据源具体可以为Oracle、Mysql等;当所述数据源类型为非关系型数据库时,所述数据源具体可以为Mongodb、Redis、Hbase等;当所述数据源类型为文件类型时,所述数据源具体可以为Excel文件、远程FTP文件、HDFS文件等;当所述数据源类型为服务接口类型时,所述数据源具体可以为WebService、Rest、Thrift等各类服务接口。
所述数据集元数据根据数据源类型的不同具体可包括不同的内容,例如,当数据源为关系型数据库时,所述数据集元数据具体可包括数据表名、编码、注释说明等;当数据源类型为Excel文件时,所述数据集元数据具体可包括工作表(sheet)名等。所述数据项元数据具体可包括该数据项的数据项名称、数据项标识、主键/外键、数据项类型、数据项长度、数据项注释说明等。
具体配置所述数据源元数据时,当所述数据源为关系型数据库时,可直接从关系型数据库的元数据中获取信息作为所述数据源元数据;此外,本领域技术人员可根据实际需要使用其他方式设置数据源元数据的内容,本发明对此不作限制。
步骤102、根据所述数据源元数据设置源数据源中各个源数据集对应的源数据集信息结构,以及所述源数据集中各个源数据项对应的源数据项信息结构;
本发明实施例中,根据所述数据集元数据设置各个源/目标数据集对应的源/目标数据集信息结构。优选的,所述源/目标数据集信息结构具体可表示为:
R={key1,key2,...keyNt},其中key1-Nt为数据集元数据中分解出的Nt个实词文本向量,并且还可将所述Nt个实词按首字排序。
例如,假设Nt=3,key1为数据集名称,key2为数据集编码,key3为数据集描述信息。
进一步的,根据数据项元数据设置源/目标数据集中各个源/目标数据项对应的源/目标数据项信息结构。优选的,所述源/目标数据项信息结构具体可表示为:
R={key1,key2,...keyN,Type,Length},其中key1-Nt为数据项元数据中分解出的N个实词文本向量。优选的,所述N个实词文本向量按照首字排序。
例如,假设Nt=3,key1为数据项名称,key2为数据项编码,key3为数据项描述信息,Type为数据项类型,Length为数据项长度。
步骤103、根据所述数据源元数据设置目标数据源中各个目标数据集对应的目标数据集信息结构,以及所述目标数据集中各个目标数据项对应的目标数据项信息结构;
具体的,可按照源数据集/项信息结构的设置方式设置目标数据集信息结构,以及该目标数据集中各个目标数据项对应的目标数据项信息结构。
步骤104、根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对;
具体的,可根据源数据集信息结构和目标数据集信息结构确定源数据集与目标数据集之间的相似度,并将相似度满足预设条件的源数据集和目标数据集确定为数据集映射匹配对。
在本发明的一个优选实施例中,所述根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对的步骤,具体包括:
子步骤11、按照所述源数据集信息结构确定对应的源数据集特征向量;
子步骤12、按照所述目标数据集信息结构确定对应的目标数据集特征向量;
子步骤13、根据所述源数据源中各个源数据集的源数据集特征向量和目标数据源中各个目标数据集的目标数据集特征向量,确定源数据集与目标数据集的相似度;
将相似度最大的源数据集和目标数据集确定为数据集映射匹配对。
步骤105、根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对;
在本发明的一个优选实施例中,所述根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对的步骤,具体包括:
子步骤21、按照所述源数据项信息结构确定源数据项特征向量;
子步骤22、按照所述目标数据项信息结构确定目标数据项特征向量;
子步骤23、根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间相似度;
子步骤24、将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对。
具体的,所述相似度满足预设条件具体可以为相似度最大。
步骤106、从源数据集中获取待交换数据;
具体的,从源数据集中获取增量数据并进行映射转换后作为待交换数据,此外,也可以按照用户指定的查询/筛选条件从源数据集中获取数据并进行映射转换后作为待交换数据,本发明实施例对待交换数据的内容不作具体限制。
进一步的,针对从源数据集中获取的每一条源数据记录,根据数据项映射匹配对,对源数据记录进行数据映射转换,然后,将转换后的源数据记录作为待交换数据。
其中,所述对源数据记录进行数据映射转换具体可包括:直接映射、数据类型转换、字符集编码转换、编码转换等。
下面通过伪码举例说明上述映射转换过程:
直接映射实现伪代码为:
t.name=s.name;表示将源数据项‘name’直接映射为目标数据项‘name’;
数据类型转换伪代码为:
t.age=atoi(s.age);其中,s.age表示源数据项为字符串类型,t.age表示目标数据项为整数类型,atoi为提供的基本类型匹配转换函数;
字符编码转换伪代码为:
encode(s.name,t.name,“big5”,“utf8”);其中,s.name表示源数据项字符编码名称为GBK编码,t.name表示目标数据项的字符变为UTF-8编码,encode为提供的编码转换函数。
步骤107、根据所述数据集映射匹配对和数据项映射匹配对,将所述待交换数据加载到所述目标数据源中。
具体的,首先根据数据集映射匹配对确定当前源数据集匹配的目标数据集,然后将待交换数据加载到该匹配的目标数据集中。
具体实现时,可根据数据源的类型使用对应的加载方式加载待交换数据。例如,当数据源是关系型数据库类型时,通过生成SQL指令将待交换数据加载到目标数据集中;当数据源类型为文件时,通过文件操作接口将所述待交换数据插入到目标数据集对应的文件中。
综上,现有技术实现数据交换时需要技术人员预先分析源数据源和目标数据源中数据集和数据项的特征,并通过编码的方式将数据集和数据项之间的映射关系固化在程序代码中,不仅耗时长,使用起来非常不便。本发明实施例通过设置数据集信息结构和数据项信息结构,自动匹配确定数据集映射匹配对和数据项映射匹配对,然后将待交换数据按照确定的数据集映射匹配对和数据项映射匹配对加载到目标数据源中,该数据交换过程可无需技术人员参与,自动完成数据的匹配和交换,为用户节约了大量时间。
实施例二
参照图2,示出了本发明的一种数据自动交换方法实施例二的步骤流程图,该方法具体可以包括:
步骤201、配置源数据源与目标数据源的数据源元数据;
其中,所述数据元数据包括:数据集元数据、数据项元数据。
步骤202、根据源数据源的数据集元数据和数据项元数据设置源数据源中各个源数据集对应的源数据集信息结构,以及所述源数据集中各个源数据项对应的源数据项信息结构;
例如,假设:源数据集“客户基本信息表”,该源数据集的数据集名称为“客户基本信息表”,数据集编码为“CUST PRIMARY INFO”,数据集描述信息为“客户基本信息,初级”,其数据集信息结构R={key1,key2,...keyNt}Nt=3,
当key1为数据集名称时,则
当key2为数据集编码时,则
key2={"CUST","PRAMARY","INFO"};
当key3为数据集描述时,则
进一步的,设置源数据集“客户基本信息表”中源数据项“客户名称”的源数据项信息结构:
假设,源数据项“客户名称”的数据项名称为“客户名称”,数据项编码为“CUSTNAME”,数据项描述信息为“客户姓名全称”,数据项类型Type为char,数据项长度Length为32,其数据项信息结构R={key1,key2,...keyN,Type,Length},N=3,
key2={"CUST","NAME"};
Type={"char"};
Length={"32"}
步骤203、根据目标数据源的数据集元数据和数据项元数据设置目标数据源中各个目标数据集对应的目标数据集信息结构,以及所述目标数据集中各个目标数据项对应的目标数据项信息结构;
步骤204、按照源/目标数据集信息结构确定源/目标数据集特征向量;
为了便于计算相似度,本发明实施例将源/目标数据集信息结构中的特征项keyx转换为数值标识的数据特征向量。
假设源数据集信息特征ci和目标数据集信息特征cj,其对应的源、目标数据集特征向量分别为Ci和Cj,其中特征向量在空间映射表示为:
Ci=(Q1i,Q2i,…,Qli),Cj=(Q1j,Q2j,…,Qlj)
其中,Q1i和Q1j分别为向量Ci和Cj在实词词典(大小为l)空间上的数据状态,取值为0或1。例如,假设实词词典大小l为10000,实词词典数据结构如表1所示,其包括序号、词语的数组表格,当数据集名称特征“客户”、“基本”、“信息”在实词词典中编号为500、601、700,那么其特征向量为Q500i=1,Q601i=1,Q711i=1,不包含的词语为Q为0。这时“客户基本信息表”数据集名称特征key1对应向量为:
C={Q1=0,...,Q500=1,0,...,Q601=1,…,Q700=1,...,Q10000=0}。
表1
1 | 姓名 |
2 | 年龄 |
3 | 消息 |
… | … |
451 | 基础 |
… | … |
500 | 客户 |
… | … |
600 | 全称 |
601 | 基本 |
… | … |
700 | 信息 |
… | …. |
10000 | 住址 |
优选的,根据预先设置的同义词词典,可进一步对Ci进行同义词处理,把具备的同义词所在特征向量Qx设置为1,同义词词典数据结构可以描述为一组同义词组成的数组表格,如下表2所示:
表2
… | … |
451 | 基本,基础 |
… | … |
步骤205、根据源/目标数据项信息结构确定源/目标数据项特征向量;
按照上述步骤204相同的原理确定源数据项特征向量Ti和目标数据项特征向量Tj。
步骤206、根据所述源数据源中各个源数据集的源数据集特征向量和目标数据源中各个目标数据集的目标数据集特征向量,确定源数据集与目标数据集的相似度;将相似度满足预设条件的源数据集和目标数据集确定为数据集映射匹配对;
假设,所述源数据集特征向量和目标数据集特征向量分别为Ci和Cj,两者之间的距离d可通过公式1计算:
其中,Nt为实词个数;disA(Ci,Cj)=fa*dis(Ci,Cj);其中,fa为权因子系数,dis(Ci,Cj)在Ci=Cj时,或者<Ci,Cj>为同义词库中的同义库对时取1。其中,dis(Ci,Cj)通过余弦相似度计算表示如公式2:
其中Ci=(Q1i,Q2i,…,Qli),Cj=(Q1j,Q2j,…,Qlj),l为所述近义词词典中实词数。
最后,将上述计算结果中距离d最小的源数据集和目标数据集确定为数据集映射匹配对。
步骤207、针对数据集映射匹配对中源数据集的各个源数据项和目标数据集中各个目标数据项,识别所述源数据项和目标数据项中的主键数据项;将所述源数据项中的主键数据项和目标数据项中的主键数据项确定为数据项匹配映射对;
主键是能确定唯一一条记录的唯一标识。例如关系型数据库中的用户表(用户名、密码、登录级别),该用户表中每一条用户记录的‘用户名’是唯一的,该‘用户名’就是一个主键。
具体实现时:
当所述源/目标数据源为关系型数据库,并且数据源元数据中包括了数据项元数据,则可根据该数据项元数据识别确定源数据项中的主键和目标数据项中的主键,并且将源/目标主键数据项确定为数据项匹配映射对;
当所述源/目标数据源为非关系型数据库,或者所述数据源元数据中未包括数据项元数据时,可利用从源/目标数据源中获取的数据样本来分析得到该源/目标数据源的主键数据项,具体包括:
首先对所述源/目标数据集的源/目标数据项信息结构中的每个数据项的存储空间值的大小进行排序,去除数据项存储空间较大的数据项,例如大于64字节的数据项,其次对数据项数值大小进行一次散列(又称hash)运算,若每个值都只对应有一条记录,则该数据项可作为主键。
当第一次散列运算查找中未找到符合要求的主键,则按照散列链最长、数据值空间最小、冲突数据的平均次数,冲突数据的均匀度对数据项排序;依次找到2个数据项作为联合主键,若每个键值都只对应有一条记录,则将所述两个数据项确定为联合主键;当2个数据项作为联合主键不符合要求时采用3个,依次类推,直到找到最大数据项为止。
步骤208,根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的除所述主键数据项之外的各个源数据项与目标数据集的各个目标数据项之间相似度;将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对;
假设,数据集映射匹配对中源数据集的各个源数据项的源数据项特征向量为Ti,目标数据集的各个目标数据项的目标数据项特征向量为Tj,任意两个源/目标数据项特征向量之间的距离可通过公式3表示为:
其中,
disA(Ti,Tj)=fa*dis(Ti,Tj);其中fa为权因子系数,dis(Ti,Tj)在Ti=Tj时,或者<Ti,Tj>为同义词库中的同义库对时取1;
disB(Ti,Tj)=fb*dis(Ti,Tj);其中fb为权因子系数dis(Ti,Tj)在Ti=Tj时,或者<Ti,Tj>为同义词库中的同义库对时取1;
disC(Ti,Tj)=fc*(Ti+Tj-|Ti-Tj|)/(Ti+Tj)系数fc为权因子系数。
其中dis(Ti,Tj)通过余弦相似度表示如公式4所示:
其中Ti=(w1i,w2i,…,wli),Tj=(w1j,w2j,…,wlj),l为所述近义词词典中实词数。
一般fa>fb>fc,例如,fa=20.0,fb=10.0,fc=5.0。
最后,根据上述计算结果,将距离d最小的源数据项和目标数据项确定为数据项映射匹配对。
步骤209、从源数据集中获取待交换数据;
步骤210、根据所述数据集映射匹配对和数据项映射匹配对,将所述待交换数据加载到所述目标数据源中。
装置实施例
参照图3,示出了本发明一种数据自动交换装置实施例的结构框图,具体可以包括:数据源元数据配置模块310、第一设置模块320、第二设置模块330、数据集匹配模块340、数据项匹配模块350、待交换数据获取模块360和待交换数据加载模块370,其中,
数据源元数据配置模块310,用于配置源数据源与目标数据源的数据源元数据;
第一设置模块320,用于根据所述数据源元数据设置源数据源中各个源数据集对应的源数据集信息结构,以及所述源数据集中各个源数据项对应的源数据项信息结构;
第二设置模块330,用于根据所述数据源元数据设置目标数据源中各个目标数据集对应的目标数据集信息结构,以及所述目标数据集中各个目标数据项对应的目标数据项信息结构;
数据集匹配模块340,用于根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对;
数据项匹配模块350,用于根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对;
待交换数据获取模块360,用于从源数据源中获取待交换数据;
待交换数据加载模块370,用于根据所述数据集映射匹配对和数据项映射匹配对,将所述待交换数据加载到所述目标数据源中。
可选的,所述数据集匹配模块,具体用于按照所述源数据集信息结构确定对应的源数据集特征向量;按照所述目标数据集信息结构确定对应的目标数据集特征向量;根据所述源数据源中各个源数据集的源数据集特征向量和目标数据源中各个目标数据集的目标数据集特征向量,确定源数据集与目标数据集的相似度;将相似度满足预设条件的源数据集和目标数据集确定为数据集映射匹配对。
可选的,所述数据项匹配模块具体用于按照所述源数据项信息结构确定源数据项特征向量;按照所述目标数据项信息结构确定目标数据项特征向量;根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间相似度;将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对。
可选的,所述数据项匹配模块具体包括:
第一匹配单元,用于识别所述源数据项和目标数据项中的主键数据项;将所述源数据项中的主键数据项和目标数据项中的主键数据项确定为数据项匹配映射对;
第二匹配单元,用于根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的除主键数据项之外各个源数据项与目标数据集的各个目标数据项之间相似度;将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对
可选的,
所述数据源元数据包括:数据集元数据、数据项元数据;
所述源数据集信息结构和目标数据集信息结构具体可表示为:
R={key1,key2,...keyNt},其中key1-Nt为数据集信息结构中分解出的Nt个实词文本向量;
所述源数据项信息结构和目标数据项信息结构具体可表示为:
R={key1,key2,...keyN,Type,Length},其中key1-Nt为数据项信息结构中分解出的N个实词文本向量;所述Type为数据项类型;所述Length为数据项长度。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种显示控制装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例是参照根据本发明实施例的方法、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据自动交换方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据自动交换方法,主要包括:
配置源数据源与目标数据源的数据源元数据;
根据所述数据源元数据设置源数据源中各个源数据集对应的源数据集信息结构,以及所述源数据集中各个源数据项对应的源数据项信息结构;
根据所述数据源元数据设置目标数据源中各个目标数据集对应的目标数据集信息结构,以及所述目标数据集中各个目标数据项对应的目标数据项信息结构;
根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对;
根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对;
从源数据源中获取待交换数据;
根据所述数据集映射匹配对和数据项映射匹配对,将所述待交换数据加载到所述目标数据源中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对的步骤包括:
按照所述源数据集信息结构确定对应的源数据集特征向量;
按照所述目标数据集信息结构确定对应的目标数据集特征向量;
根据所述源数据源中各个源数据集的源数据集特征向量和目标数据源中各个目标数据集的目标数据集特征向量,确定源数据集与目标数据集的相似度;
将相似度满足预设条件的源数据集和目标数据集确定为数据集映射匹配对。
3.根据权利要求1所述的方法,其特征在于,所述根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对的步骤包括:
按照所述源数据项信息结构确定源数据项特征向量;
按照所述目标数据项信息结构确定目标数据项特征向量;
根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间相似度;
将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对。
4.根据权利要求3所述的方法,其特征在于,所述将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对的步骤之前,还包括:
识别所述源数据项和目标数据项中的主键数据项;
将所述源数据项中的主键数据项和目标数据项中的主键数据项确定为数据项匹配映射对。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,
所述数据源元数据包括:数据集元数据、数据项元数据;
所述源数据集信息结构和目标数据集信息结构具体可表示为:
R={key1,key2,...keyNt},其中key1-Nt为数据集信息结构中分解出的Nt个实词文本向量;
所述源数据项信息结构和目标数据项信息结构具体可表示为:
R={key1,key2,...keyN,Type,Length},其中key1-Nt为数据项信息结构中分解出的N个实词文本向量;所述Type为数据项类型;所述Length为数据项长度。
6.一种数据自动交换装置,主要包括:
数据源元数据配置模块,用于配置源数据源与目标数据源的数据源元数据;
第一设置模块,用于根据所述数据源元数据设置源数据源中各个源数据集对应的源数据集信息结构,以及所述源数据集中各个源数据项对应的源数据项信息结构;
第二设置模块,用于根据所述数据源元数据设置目标数据源中各个目标数据集对应的目标数据集信息结构,以及所述目标数据集中各个目标数据项对应的目标数据项信息结构;
数据集匹配模块,用于根据所述源数据集信息结构和目标数据集信息结构,确定所述源数据源中各个源数据集和目标数据源中各个目标数据集之间的数据集映射匹配对;
数据项匹配模块,用于根据源数据项信息结构和目标数据项信息结构确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间的数据项映射匹配对;
待交换数据获取模块,用于从源数据源中获取待交换数据;
待交换数据加载模块,用于根据所述数据集映射匹配对和数据项映射匹配对,将所述待交换数据加载到所述目标数据源中。
7.根据权利要求6所述的装置,其特征在于,所述数据集匹配模块,具体用于按照所述源数据集信息结构确定对应的源数据集特征向量;按照所述目标数据集信息结构确定对应的目标数据集特征向量;根据所述源数据源中各个源数据集的源数据集特征向量和目标数据源中各个目标数据集的目标数据集特征向量,确定源数据集与目标数据集的相似度;将相似度满足预设条件的源数据集和目标数据集确定为数据集映射匹配对。
8.根据权利要求6所述的装置,其特征在于,所述数据项匹配模块具体用于按照所述源数据项信息结构确定源数据项特征向量;按照所述目标数据项信息结构确定目标数据项特征向量;根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的各个源数据项与目标数据集的各个目标数据项之间相似度;将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对。
9.根据权利要求8所述的装置,其特征在于,所述数据项匹配模块具体包括:
第一匹配单元,用于识别所述源数据项和目标数据项中的主键数据项;将所述源数据项中的主键数据项和目标数据项中的主键数据项确定为数据项匹配映射对;
第二匹配单元,用于根据所述源数据项特征向量和目标数据项特征向量,确定数据集映射匹配对中源数据集的除主键数据项之外各个源数据项与目标数据集的各个目标数据项之间相似度;将所述相似度满足预设条件的源数据项和目标数据项确定为数据项映射匹配对。
10.根据权利要求6至9中任意一项所述的装置,其特征在于,
所述数据源元数据包括:数据集元数据、数据项元数据;
所述源数据集信息结构和目标数据集信息结构具体可表示为:
R={key1,key2,...keyNt},其中key1-Nt为数据集信息结构中分解出的Nt个实词文本向量;
所述源数据项信息结构和目标数据项信息结构具体可表示为:
R={key1,key2,...keyN,Type,Length},其中key1-Nt为数据项信息结构中分解出的N个实词文本向量;所述Type为数据项类型;所述Length为数据项长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611219549.5A CN106845787A (zh) | 2016-12-26 | 2016-12-26 | 一种数据自动交换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611219549.5A CN106845787A (zh) | 2016-12-26 | 2016-12-26 | 一种数据自动交换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106845787A true CN106845787A (zh) | 2017-06-13 |
Family
ID=59136585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611219549.5A Pending CN106845787A (zh) | 2016-12-26 | 2016-12-26 | 一种数据自动交换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106845787A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704543A (zh) * | 2019-08-19 | 2020-01-17 | 上海机电工程研究所 | 多类型多平台信息数据自适应融合系统及方法 |
CN111190970A (zh) * | 2019-12-27 | 2020-05-22 | 远光软件股份有限公司 | 数据映射方法、装置以及计算机可读存储介质 |
CN113468125A (zh) * | 2021-09-03 | 2021-10-01 | 深圳市信润富联数字科技有限公司 | 一种文件服务方法、系统、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226583A (zh) * | 2013-04-08 | 2013-07-31 | 北京奇虎科技有限公司 | 一种广告插件识别的方法和装置 |
CN104346377A (zh) * | 2013-07-31 | 2015-02-11 | 克拉玛依红有软件有限责任公司 | 一种基于唯一标识的数据集成和交换方法 |
-
2016
- 2016-12-26 CN CN201611219549.5A patent/CN106845787A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226583A (zh) * | 2013-04-08 | 2013-07-31 | 北京奇虎科技有限公司 | 一种广告插件识别的方法和装置 |
CN104346377A (zh) * | 2013-07-31 | 2015-02-11 | 克拉玛依红有软件有限责任公司 | 一种基于唯一标识的数据集成和交换方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704543A (zh) * | 2019-08-19 | 2020-01-17 | 上海机电工程研究所 | 多类型多平台信息数据自适应融合系统及方法 |
CN111190970A (zh) * | 2019-12-27 | 2020-05-22 | 远光软件股份有限公司 | 数据映射方法、装置以及计算机可读存储介质 |
CN111190970B (zh) * | 2019-12-27 | 2023-09-15 | 远光软件股份有限公司 | 数据映射方法、装置以及计算机可读存储介质 |
CN113468125A (zh) * | 2021-09-03 | 2021-10-01 | 深圳市信润富联数字科技有限公司 | 一种文件服务方法、系统、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103164507B (zh) | 行与列数据库表在原生方向上的混合联接 | |
US9607061B2 (en) | Using views of subsets of nodes of a schema to generate data transformation jobs to transform input files in first data formats to output files in second data formats | |
CN107038207A (zh) | 一种数据查询方法、数据处理方法及装置 | |
CN111767303A (zh) | 一种数据查询方法、装置、服务器及可读存储介质 | |
US8880463B2 (en) | Standardized framework for reporting archived legacy system data | |
US20150006509A1 (en) | Incremental maintenance of range-partitioned statistics for query optimization | |
CN107016001A (zh) | 一种数据查询方法及装置 | |
CN107609154A (zh) | 一种多源异构数据的处理方法及装置 | |
CN109117440B (zh) | 一种元数据信息获取方法、系统和计算机可读存储介质 | |
CN104573022A (zh) | 一种HBase的数据查询方法及装置 | |
JP2007172384A5 (zh) | ||
CN102999637B (zh) | 根据文件特征码为文件自动添加文件标签的方法及系统 | |
CN106326475A (zh) | 一种高效的静态哈希表实现方法及系统 | |
US20140067810A1 (en) | Methods and apparatus for partitioning data | |
US11520733B2 (en) | Source data assignment based on metadata | |
CN110795524A (zh) | 主数据映射处理方法、装置、计算机设备及存储介质 | |
CN103455335A (zh) | 一种多级分类的Web实现方法 | |
CN106095964A (zh) | 一种对数据进行可视化归档与搜索的方法 | |
CN103970842A (zh) | 一种面向防洪减灾领域的水利大数据存取系统及方法 | |
US20180357278A1 (en) | Processing aggregate queries in a graph database | |
CN105117442A (zh) | 一种基于概率的大数据查询方法 | |
US20110184956A1 (en) | Accessing digitally published content using re-indexing of search results | |
CN106845787A (zh) | 一种数据自动交换方法及装置 | |
CN109471874A (zh) | 数据分析方法、设备及存储介质 | |
CN104462349B (zh) | 一种文件处理方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170613 |
|
RJ01 | Rejection of invention patent application after publication |