CN105760404A - 数据集成方法和装置 - Google Patents

数据集成方法和装置 Download PDF

Info

Publication number
CN105760404A
CN105760404A CN201410804593.7A CN201410804593A CN105760404A CN 105760404 A CN105760404 A CN 105760404A CN 201410804593 A CN201410804593 A CN 201410804593A CN 105760404 A CN105760404 A CN 105760404A
Authority
CN
China
Prior art keywords
data
domain name
domain
bitmap
data source
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
CN201410804593.7A
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to CN201410804593.7A priority Critical patent/CN105760404A/zh
Publication of CN105760404A publication Critical patent/CN105760404A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据集成方法和装置。根据本发明的一个方面,数据集成方法包括:从多个数据源所包含的多个不同数据域中选取关联域;基于所选取的关联域,建立位图和哈希表;利用所建立的位图和哈希表,以所述关联域中的数据元素为索引,依次判断所述多个数据源的多个数据域中的每个数据元素是否具有冲突;以及根据判断结果,将所述多个数据源中的数据元素集成为数据仓库。

Description

数据集成方法和装置
技术领域
本发明涉及数据集成领域,具体涉及将多个数据源中的数据进行集成的方法和装置。
背景技术
随着信息化社会的发展和进步,出现了大量的数据信息。随着个人的成长、机构的发展、事件的推进等,必然会出现大量关于个人、机构、事件等的数据信息片段,即,关于个人、机构、事件等的数据信息会被记录在不同的数据源中,而每个数据源也仅包含了关于个人、机构、事件等的一部分数据信息。为了完善信息记录,对个人、机构、事件等的情况进行全面了解,需要将多个数据源中所包含的数据信息整合到一起。
在整合数据信息的过程中,不可避免地会遇到数据冲突问题。例如,不同的数据源中所记录的针对同一个人、机构、事件等的数据信息是彼此矛盾的。这就需要在整合数据信息时,考虑如何处理这些数据冲突。
在现有技术中,提出了一种处理数据冲突的方法,根据该方法,需计算来自不同数据源的每两条数据记录的相似度。采用基于语义的向量空间模型,每一对数据记录都被映射到二进制向量上。这样,两条数据记录的相似度就可以用向量的相似度方法来计算。但这种方法必须计算每两条数据记录的相似度,数据复杂度为O(n2),计算量大,处理速度慢,并且耗费系统资源。
发明内容
有鉴于此,本发明提出了一种数据集成方法和装置,以对多个数据源中的数据进行快速集成。
根据本发明的一个方面,提供了一种数据集成方法,包括:从多个数据源所包含的多个不同数据域中选取关联域;基于所选取的关联域,建立位图和哈希表;利用所建立的位图和哈希表,以所述关联域中的数据元素为索引,依次判断所述多个数据源的多个数据域中的每个数据元素是否具有冲突;以及根据判断结果,将所述多个数据源中的数据元素集成为数据仓库(datarepository)。
根据本发明的另一方面,提供了一种数据集成装置,包括:关联域选取单元,用于从多个数据源所包含的多个不同数据域中选取关联域;位图建立单元,用于基于所述关联域选取单元选取的关联域,建立位图;哈希表建立单元,用于基于所述关联域选取单元选取的关联域,建立哈希表;冲突检测单元,用于利用所述位图建立单元建立的位图和所述哈希表建立单元建立的哈希表,以所述关联域中的数据元素为索引,依次判断所述多个数据源的多个数据域中的每个数据元素是否具有冲突;以及集成单元,用于根据所述冲突检测单元的判断结果,将所述多个数据源中的数据元素集成为数据仓库。
根据本发明所提供的技术方案,可以将多个数据源中的数据快速地集成为数据仓库。
附图说明
参照附图来阅读本发明的各实施方式,将更容易理解本发明的其它特征和优点,在此描述的附图只是为了对本发明的实施方式进行示意性说明的目的,而非全部可能的实施,并且不旨在限制本发明的范围。在附图中:
图1示出了根据本发明一个实施方式的数据集成方法的流程图;
图2示出了两个示例性数据源;
图3示出了根据本发明一个实施例基于图2中两个数据源的关联域所建立的位图和哈希表的示例;
图4a示出了一个8位的哈希表的更新操作;
图4b示出了一个8位的哈希表的检测操作;
图5示例性地示出了通过本发明的数据集成方法所获得的数据仓库;
图6示例性地示出了通过本发明的数据集成方法所生成的冲突报告;
图7示出了根据本发明的一个实施方式从多个数据源所包含的多个不同数据域中选取关联域的流程图;
图8示出了根据本发明一个实施方式的数据集成装置的框图;
图9示出了根据本发明另一实施方式的数据集成装置的框图;
图10示出了根据本发明另一实施方式的关联域选取单元的框图;以及
图11示出了可用于实施根据本发明实施例的方法和装置的计算机的示意性框图。
具体实施方式
现参照附图对本发明的实施方式进行详细描述。应注意,以下描述仅仅是示例性的,而并不旨在限制本发明。此外,在以下描述中,将采用相同的附图标号表示不同附图中的相同或相似的部件。在以下描述的不同实施方式中的不同特征,可彼此结合,以形成本发明范围内的其他实施方式。
图1示出了根据本发明一个实施方式的数据集成方法的流程图。如图1所示,数据集成方法100包括步骤S110至S140。在步骤S110中,从多个数据源所包含的多个不同数据域中选取关联域。通常,每个数据源可包括一个或多个数据域,每个数据域可包含一个或多个数据元素。图2示出了两个示例性数据源。在图2中,数据源210和220中的每一列代表一个数据域,每个数据域均具有域名,例如图2中所示的“公司名称”、“所在地区”、“行业类别”、“总收入”、“职工人数”、“组织机构代码”等。如图2所示,数据源210和220中的每个数据域均包含多个数据元素,例如,数据源210中的“公司名称”数据域包含了“A公司”、“B公司”、“C公司”等多个数据元素。在选取多个数据源的关联域时,可考虑一个或多个因素,这将在以下详述。例如,对于图2中所示的数据源210和220,可将均出现在其中的数据域“公司名称”选为数据源210和220的关联域。
再参照图1,在步骤S120中,基于在步骤S110中所选取的关联域,建立位图和哈希表。图3示出了根据本发明一个实施例基于图2中两个数据源的关联域所建立的位图和哈希表的示例。如图3所示,假定已在步骤S110中将数据域“公司名称”选取为关联域,则对应于关联域中的每个数据元素“A公司”、“B公司”、“C公司”、“D公司”等,分别建立一个位图和一个哈希表,即图3所示的位图B1、B2、B3、B4等以及哈希表H1、H2、H3、H4等。
位图是多位的二进制表,位图中的每一位均代表一个数据域,表示与其相应关联域中的数据元素(如图3所示)相对应的该数据域中的数据元素(如图2所示)是否已被处理,例如,“0”可代表还未处理,“1”可代表已处理,则在初始状态下,位图中各位的数值均是“0”。例如,在处理图2中的数据源210中的数据域“行业类别”中的数据元素“化工”时,由于与该数据元素“化工”对应的关联域中的元素是“A公司”,因此将图3中与关联域中的数据元素“A公司”相对应的位图B1中表示数据域“行业类别”的位更新为“1”,代表已处理。
哈希表也是多位的二进制表,本领域技术人员可以理解,哈希表中可以记录数据元素的信息。这样,在数据集成过程中,在处理某个数据源的某个数据域中的某个数据元素时,如果相应位图中的相应位表示该数据域中的相应数据元素已在处理其他数据源时处理过,但哈希表中未记录正在处理的数据元素信息,则说明哈希表中所记录的信息与该正在处理的数据元素不一致,因此说明该数据元素具有冲突,如果哈希表中已记录正在处理的数据元素信息,则说明该数据元素与已在处理其他数据源时处理过的数据元素之间不具有冲突。
为了简单起见,下面以一个8位的哈希表为例,举例说明哈希表的操作。图4a示出了一个8位的哈希表的更新操作。初始状态的哈希表中各位均为0,即00000000。如图4a所示,当需要将x1=01001010和x2=00100110插入哈希表时,将初始的哈希表先后与x1和x2做OR运算,即(00000000)OR(01001010)=01001010,然后(01001010)OR(00100110)=01101110,此即更新后的哈希表。图4b示出了一个8位的哈希表的检测操作。假设当前的哈希表为01101110,y1=01001010,y2=00100101。如图4b所示,y1中所有为1的位在当前的哈希表中也均为1,说明当前的哈希表已记录了y1的信息,而y2的最后一位为1,但哈希表中该位为0,则说明当前的哈希表未记录y2的信息。也就是说,只有当一个二进制代码所有呈现为1的位在当前的哈希表中也均为1时,则说明当前的哈希表已记录了该二进制代码,否则,未记录该二进制代码。
再参照图1,在步骤S130中,利用在步骤S120中建立的位图和哈希表,并以步骤S110中选取的关联域中的数据元素为索引,依次判断多个数据源的多个数据域中的每个数据元素是否具有冲突。随后,在步骤S140中,根据步骤S130的判断结果,将多个数据源中的数据元素集成为数据仓库。由此,实现了数据的集成,并能够快速检测出不同数据源之间的数据冲突。图5示例性地示出了通过上述数据集成方法所获得的数据仓库。
参照图2和图3,根据本发明的一个实施方式,为了利用位图和哈希表进行冲突判断,数据源210和220中的每个数据元素均可通过关联域中与其相对应的数据元素索引至位图中的相应位和哈希表中的相应位。
例如,如图2所示,对于数据源210中的数据元素“中国北京”,在关联域“公司名称”中与其相对应的数据元素是“A公司”。数据元素“中国北京”可通过关联域中的该数据元素“A公司”索引至位图B1中的相应位和哈希表H1中的相应位,如图3所示。
根据本发明的一个实施方式,在处理某个数据源中某个数据域中的某个数据元素时,如果位图中的相应位为0,即表明还未处理其所处数据域的数据元素,则将该位图中的该相应位更新为1,即表明已处理该数据元素所处的数据域,并将该数据元素的哈希码(预设的或根据预定规则确定的)插入相应哈希表,并且将该数据元素插入结果数据仓库。
例如,在处理数据源210中数据域“所在地区”的数据元素“中国北京”时,位图B1中的相应位为0,即表明还未处理“A公司”的“所在地区”。那么将位图B1中的相应位更新为1,即表明已处理了“A公司”的“所在地区”,并将“中国北京”的哈希码插入哈希表H1,并且将“中国北京”插入结果数据仓库。
根据本发明的一个实施方式,数据集成方法还包括:基于具有冲突的数据元素,生成冲突报告。判断是否具有冲突的具体方式如下:在处理某个数据源中某个数据域中的某个数据元素时,如果相应位图中的相应位为1,即表明已处理过其所处数据域的数据元素,则需要判断相应哈希表是否包含正在被处理的数据元素的哈希码(预设的或根据预定规则确定的)。如果相应哈希表未包含该正在被处理的数据元素的哈希码,则说明先前处理的数据源中的数据元素与该数据元素不同,该数据元素确定为具有冲突,并将具有冲突的数据元素插入冲突报告。如果相应哈希表已包含该正在被处理的数据元素的哈希码,则说明该数据元素与先前已处理的数据源中的数据元素相同,不具有冲突。图6示例性地示出了根据本发明的数据集成方法所生成的冲突报告。
例如,如图2所示,在处理完数据源210并开始处理数据源220中与“A公司”相对应的、“行业类别”中的“医药”时,“医药”通过关联域中的数据元素“A公司”索引至位图B1中的相应位。由于在数据源210中已处理了“A公司”的“行业类别”为“化工”,因此位图B1中的相应位为1,即表明已处理了与“A公司”相对应的“行业类别”,但哈希表H1中记录的是“化工”而不是“医药”的哈希值,因此正在处理的数据源220中与“A公司”相应的、“行业类别”中的“医药”与先前处理的数据源210中的数据元素有冲突。相反,在处理数据源220中与“C公司”相对应的、“行业类别”中的“通信”时,由于在数据源210中已处理了“C公司”的“行业类别”为“通信”,因此位图B3中的相应位为1,即表明已处理了与“C公司”相对应的“行业类别”,而且哈希表H3中也已记录了“通信”的哈希值,因此正在处理的数据源220中与“C公司”相应的、“行业类别”中的“通信”与先前处理的数据源210中的数据元素不冲突。
图7示出了根据本发明的一个实施方式从多个数据源所包含的多个不同数据域中选取关联域的流程图。如图7所示,上述步骤S110包括子步骤S710和S720。在子步骤S710中,计算多个数据源所包含的每个数据域的域名权重。在子步骤S720中,根据子步骤S710的结果,将具有最高域名权重的数据域选取为用于每个数据源的关联域。例如,如图2所示,数据源210和220共包含6个数据域:“公司名称”、“所在地区”、“行业类别”、“总收入”、“职工人数”和“组织机构代码”。在图7所示的流程中,需要计算这6个数据域的域名权重,然后从中选取具有最高域名权重的数据域作为数据源210和220的关联域。
根据本发明的一个实施例,每个数据域的域名权重是根据每个数据域的域名在多个数据源中出现的次数、每个域名的长度和/或每个数据域所处的数据源所包含的数据条目数计算得出的。通常,在数据源中出现的次数越多,说明该数据域越重要,越应被选为关联域。此外,域名的长度也可作为计算权重的考虑因素,域名过长或过短,均不适合作为关联域。另外,对于多个数据源而言,包含的数据条目越多,该数据源的数据量就越大,其重要性就越强,则出现在该数据源中的数据域就越应被选为关联域。根据一个实施例,每个数据域的域名权重根据下式计算:
weight ( f k ) = α * Occ f k Σ i = 1 N Occ f i + β * 1 | Len ( f k ) - Len ( f ) ‾ | + 1 + γ * Σ l = 1 L Num tab l Σ j = 1 M Num tab j
其中,fk表示特定的数据域,Occfk表示数据域fk的域名在所述多个数据源中的出现次数,N表示所述多个数据源的多个数据域所具有的不同域名的个数,Len(fk)表示数据域fk的域名长度,表示所述多个数据源的多个数据域所具有的不同域名的长度平均值,L表示包含数据域fk的域名的数据源的个数,Numtabl表示特定数据源l所包含的数据条目数,M表示所述多个数据源的个数,α、β和γ均为预设的可调系数,可根据实际需要调整α、β和γ的大小。
根据一个实施例,数据域的域名在多个数据源中出现的次数是最重要的考虑因素,因此将上述可调系数设为α>β且α>γ。
根据本发明的一个实施方式,上述步骤S110还包括:调整具有相同域名权重的数据域的域名权重,以使多个数据源所包含的不同数据域具有不同的域名权重。可以通过调节上述可调系数来调整不同数据域的域名权重,以使其彼此不同。这样,可以避免由于不同数据域的域名权重相等而造成在选取关联域时出现故障。
根据本发明的一个实施例,在实际操作中,存在着以下这样一种可能性。参见图2,数据源210中“A公司”的“职工人数”是“50”人,而数据源220中“A公司”的“职工人数”是“30”人,因此是具有冲突的。但由于数据源220中“A公司”的“总收入”也是“30”(万元),其数值与职工人数相等。如果先处理数据源220中“A公司”的“总收入”“30”(万元),则哈希表H1中已记录了数值“30”的哈希码。然后在判断数据源220中“A公司”的“职工人数”“30”是否具有冲突时,由于其哈希码已记录在哈希表H1中,所以会错误地判断其不具有冲突。为此,可将多个数据源的多个数据域中的每个数据元素的哈希码设定为该数据元素预设的哈希码与该数据元素所处数据域的域名权重的乘积。如上所述,由于可通过调节,使不同数据域具有不同的域名权重,因此可避免上述错误的判断。
根据本发明的一个实施方式,上述步骤S140还包括:生成域名权重表。在域名权重表中,域名按权重降序排列。下列表1为所生成的域名权重表的一例。
表1
所生成的数据仓库中数据域的排列顺序与其域名在域名权重表中的排列顺序相同。由此,可以使得域名权重较大的数据域(即相对较重要的数据域)在所生成的数据仓库中的排序较靠前。
根据本发明的一个实施方式,所建立的每个位图的位数均等于多个数据源中所包含的不同数据域的个数减1,这样使得每个位图中的每一位与除去关联域之外的一个数据域相对应。此外,所建立的每个哈希表的位数可为32、64、128或256位。本领域技术人员可以理解,哈希表的位数越多,处理的结果越准确,但计算量越大,较适用于数据量较小的情况。而哈希表的位数越少,处理结果相对越容易出错,但处理速度越快,对于数据量较大的情况较适用。
上述对于本发明实施方式的描述以企业信息为示例,但本发明并不限于此,本领域技术人员可以理解,包含数据元素的任何数据源均适用于本发明,例如,包含个人信息、事件信息、活动信息、场地信息等等的各种数据源。
图8示出了根据本发明一个实施方式的数据集成装置的框图。如图8所示,数据集成装置800包括关联域选取单元810、位图建立单元820、哈希表建立单元830、冲突检测单元840和集成单元850。关联域选取单元810用于从多个数据源所包含的多个不同数据域中选取关联域。位图建立单元820用于基于关联域选取单元810选取的关联域,建立位图。哈希表建立单元830用于基于关联域选取单元810选取的关联域,建立哈希表。冲突检测单元840用于利用位图建立单元820建立的位图和哈希表建立单元830建立的哈希表,以所选取的关联域中的数据元素为索引,依次判断多个数据源的多个数据域中的每个数据元素是否具有冲突。集成单元850用于根据冲突检测单元840的判断结果,将多个数据源中的数据元素集成为数据仓库。
根据本发明的一个实施方式,冲突检测单元840将多个数据源的多个数据域中的每个数据元素通过关联域中的相应数据元素索引至位图中的相应位和哈希表中的相应位。可选地,对于每个数据元素而言,当冲突检测单元840检测到位图中的相应位表明还未处理其所处数据域时,位图建立单元820将位图中的该相应位更新为表明已处理该数据元素所处的数据域,哈希表建立单元830将该数据元素的哈希码插入已建立的哈希表,并且集成单元850将该数据元素插入数据仓库。.
图9示出了根据本发明另一实施方式的数据集成装置的框图。图9所示实施方式的数据集成装置900与图8所示的数据集成装置800的区别在于,还包括报告生成单元960。图9所示实施方式的数据集成装置900的其余部件与图8所示的数据集成装置800类似,为简洁起见,在此不再详述。如图9所示的数据集成装置900的报告生成单元960用于基于具有冲突的数据元素,生成冲突报告。对于每个数据元素,当冲突检测单元840检测到位图中的相应位表明已处理其所处数据域并检测到哈希表未包含其哈希码时,冲突检测单元840确定该数据元素具有冲突,并且报告生成单元960将该数据元素插入所述冲突报告。
图10示出了根据本发明另一实施方式的关联域选取单元的框图。如图10所示,关联域选取单元810包括计算子单元1010和选取子单元1020。根据本实施方式,多个数据源中的每个数据源所包含的每个数据域均具有域名作为标识。计算子单元1010用于计算多个数据源所包含的每个数据域的域名权重,并且选取子单元1020用于将具有最高域名权重的数据域选取为用于每个数据源的关联域。
根据本发明的一个实施例,计算子单元1010根据每个数据域的域名在多个数据源中出现的次数、每个域名的长度和/或每个数据域所处的数据源所包含的数据条目数,计算域名权重。可选地,计算子单元1010根据下式计算每个数据域的域名权重:
weight ( f k ) = α * Occ f k Σ i = 1 N Occ f i + β * 1 | Len ( f k ) - Len ( f ) ‾ | + 1 + γ * Σ l = 1 L Num tab l Σ j = 1 M Num tab j
其中,fk表示特定的数据域,Occfk表示数据域fk的域名在所述多个数据源中的出现次数,N表示所述多个数据源的多个数据域所具有的不同域名的个数,Len(fk)表示数据域fk的域名长度,表示所述多个数据源的多个数据域所具有的不同域名的长度平均值,L表示包含数据域fk的域名的数据源的个数,Numtabl表示特定数据源l所包含的数据条目数,M表示所述多个数据源的个数,α、β和γ均为预设的可调系数。
根据一个实施例,数据域的域名在多个数据源中出现的次数是最重要的考虑因素,因此将上述可调系数设为α>β且α>γ。
根据本发明的一个实施方式,关联域选取单元810还包括调整子单元。调整子单元用于调整具有相同域名权重的数据域的域名权重,以使多个数据源所包含的不同数据域具有不同的域名权重。可选地,可将多个数据源的多个数据域中的每个数据元素的哈希码设置为其预设的哈希码与其所处数据域的域名权重的乘积。
根据本发明的另一实施方式,集成单元850包括权重表生成子单元。该权重表生成子单元用于生成域名权重表,在所生成的域名权重表中,域名按权重降序排列,其中集成单元850所生成的数据仓库中数据域的排列顺序与其域名在域名权重表中的排列顺序相同。
根据本发明的一个实施方式,位图建立单元820所建立的每个位图的位数均等于多个数据源中所包含的不同数据域的个数减1。此外,哈希表建立单元830所建立的每个哈希表的位数可为32、64、128或256位。
另外,这里尚需指出的是,上述装置中各个组成部件可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图11所示的通用计算机1100)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
图11示出了可用于实施根据本发明实施例的方法和装置的计算机的示意性框图。
在图11中,中央处理单元(CPU)1101根据只读存储器(ROM)1102中存储的程序或从存储部分1108加载到随机存取存储器(RAM)1103的程序执行各种处理。在RAM1103中,还根据需要存储当CPU1101执行各种处理等等时所需的数据。CPU1101、ROM1102和RAM1103经由总线1104彼此连接。输入/输出接口1105也连接到总线1104。
下述部件连接到输入/输出接口1105:输入部分1106(包括键盘、鼠标等等)、输出部分1107(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1108(包括硬盘等)、通信部分1109(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1109经由网络比如因特网执行通信处理。根据需要,驱动器1110也可连接到输入/输出接口1105。可拆卸介质1111比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器1110上,使得从中读出的计算机程序根据需要被安装到存储部分1108中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1111安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图11所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1111。可拆卸介质1111的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM1102、存储部分1108中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施方式的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的范围内。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
应当注意,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的次序顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
以上对本发明各实施方式的描述是为了更好地理解本发明,其仅仅是示例性的,而非旨在对本发明进行限制。应注意,在以上描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。本领域技术人员可以理解,在不脱离本发明的发明构思的情况下,针对以上所描述的实施方式进行的各种变化和修改,均属于本发明的范围内。
综上,在根据本发明的实施例中,本发明提供了如下技术方案。
方案1、一种数据集成方法,包括:
从多个数据源所包含的多个不同数据域中选取关联域;
基于所选取的关联域,建立位图和哈希表;
利用所建立的位图和哈希表,以所述关联域中的数据元素为索引,依次判断所述多个数据源的多个数据域中的每个数据元素是否具有冲突;以及
根据判断结果,将所述多个数据源中的数据元素集成为数据仓库。
方案2、如方案1所述的方法,其中
所述多个数据源的多个数据域中的每个数据元素通过所述关联域中的相应数据元素索引至所述位图中的相应位和所述哈希表中的相应位。
方案3、如方案2所述的方法,其中
对于所述位图中的相应位表明还未处理其所处数据域的数据元素,将所述位图中的所述相应位更新为表明已处理所述数据元素所处的数据域,并将所述数据元素的哈希码插入所述哈希表,并且将所述数据元素插入所述数据仓库。
方案4、如方案2或3所述的方法,还包括:基于具有冲突的数据元素,生成冲突报告,其中对于所述位图中的相应位表明已处理其所处数据域的数据元素,将所述哈希表未包含其哈希码的数据元素确定为具有冲突,并将具有冲突的数据元素插入所述冲突报告。
方案5、如方案1至4中任一项所述的方法,其中所述多个数据源中的每个数据源所包含的每个数据域均具有域名作为标识,并且从多个数据源所包含的多个不同数据域中选取关联域的步骤包括:
计算所述多个数据源所包含的每个数据域的域名权重;以及
将具有最高域名权重的数据域选取为用于每个数据源的关联域。
方案6、如方案5所述的方法,其中根据每个数据域的域名在所述多个数据源中出现的次数、每个域名的长度和/或每个数据域所处的数据源所包含的数据条目数,计算域名权重。
方案7、如方案6所述的方法,其中每个数据域的域名权重根据下式计算:
weight ( f k ) = α * Occ f k Σ i = 1 N Occ f i + β * 1 | Len ( f k ) - Len ( f ) ‾ | + 1 + γ * Σ l = 1 L Num tab l Σ j = 1 M Num tab j
其中,fk表示特定的数据域,Occfk表示数据域fk的域名在所述多个数据源中的出现次数,N表示所述多个数据源的多个数据域所具有的不同域名的个数,Len(fk)表示数据域fk的域名长度,表示所述多个数据源的多个数据域所具有的不同域名的长度平均值,L表示包含数据域fk的域名的数据源的个数,Numtabl表示特定数据源l所包含的数据条目数,M表示所述多个数据源的个数,α、β和γ均为预设的可调系数,其中α>β且α>γ。
方案8、如方案5-7中任一项所述的方法,其中从多个数据源所包含的多个不同数据域中选取关联域的步骤还包括:调整具有相同域名权重的数据域的域名权重,以使所述多个数据源所包含的不同数据域具有不同的域名权重,
其中所述多个数据源的多个数据域中的每个数据元素的哈希码为其预设的哈希码与其所处数据域的域名权重的乘积。
方案9、如方案5-8中任一项所述的方法,其中根据判断结果,将所述多个数据源中的数据元素集成为数据仓库的步骤包括:
生成域名权重表,在所述域名权重表中,域名按权重降序排列,其中所生成的数据仓库中数据域的排列顺序与其域名在所述域名权重表中的排列顺序相同。
方案10、如方案1-9中任一项所述的方法,其中所建立的每个位图的位数均等于所述多个数据源中所包含的不同数据域的个数减1,并且所建立的每个哈希表的位数均为32、64、128或256位。
方案11、一种数据集成装置,包括:
关联域选取单元,用于从多个数据源所包含的多个不同数据域中选取关联域;
位图建立单元,用于基于所述关联域选取单元选取的关联域,建立位图;
哈希表建立单元,用于基于所述关联域选取单元选取的关联域,建立哈希表;
冲突检测单元,用于利用所述位图建立单元建立的位图和所述哈希表建立单元建立的哈希表,以所述关联域中的数据元素为索引,依次判断所述多个数据源的多个数据域中的每个数据元素是否具有冲突;以及
集成单元,用于根据所述冲突检测单元的判断结果,将所述多个数据源中的数据元素集成为数据仓库。
方案12、如方案11所述的装置,其中
所述冲突检测单元将所述多个数据源的多个数据域中的每个数据元素通过所述关联域中的相应数据元素索引至所述位图中的相应位和所述哈希表中的相应位。
方案13、如方案12所述的装置,其中
对于每个数据元素,当所述冲突检测单元检测到所述位图中的相应位表明还未处理其所处数据域时,所述位图建立单元将所述位图中的所述相应位更新为表明已处理所述数据元素所处的数据域,所述哈希表建立单元将所述数据元素的哈希码插入所述哈希表,并且所述集成单元将所述数据元素插入所述数据仓库。
方案14、如方案12或13所述的装置,还包括:
报告生成单元,用于基于具有冲突的数据元素,生成冲突报告,
其中对于每个数据元素,当所述冲突检测单元检测到所述位图中的相应位表明已处理其所处数据域并检测到所述哈希表未包含其哈希码时,所述冲突检测单元确定所述数据元素具有冲突,并且所述报告生成单元将所述数据元素插入所述冲突报告。
方案15、如方案11至14中任一项所述的装置,其中所述多个数据源中的每个数据源所包含的每个数据域均具有域名作为标识,并且所述关联域选取单元包括:
计算子单元,用于计算所述多个数据源所包含的每个数据域的域名权重;以及
选取子单元,用于将具有最高域名权重的数据域选取为用于每个数据源的关联域。
方案16、如方案15所述的装置,其中所述计算子单元根据每个数据域的域名在所述多个数据源中出现的次数、每个域名的长度和/或每个数据域所处的数据源所包含的数据条目数,计算域名权重。
方案17、如方案16所述的装置,其中所述计算子单元根据下式计算每个数据域的域名权重:
weight ( f k ) = α * Occ f k Σ i = 1 N Occ f i + β * 1 | Len ( f k ) - Len ( f ) ‾ | + 1 + γ * Σ l = 1 L Num tab l Σ j = 1 M Num tab j
其中,fk表示特定的数据域,Occfk表示数据域fk的域名在所述多个数据源中的出现次数,N表示所述多个数据源的多个数据域所具有的不同域名的个数,Len(fk)表示数据域fk的域名长度,表示所述多个数据源的多个数据域所具有的不同域名的长度平均值,L表示包含数据域fk的域名的数据源的个数,Numtabl表示特定数据源l所包含的数据条目数,M表示所述多个数据源的个数,α、β和γ均为预设的可调系数,其中α>β且α>γ。
方案18、如方案15-17中任一项所述的装置,其中所述关联域选取单元还包括:
调整子单元,用于调整具有相同域名权重的数据域的域名权重,以使所述多个数据源所包含的不同数据域具有不同的域名权重,其中所述多个数据源的多个数据域中的每个数据元素的哈希码为其预设的哈希码与其所处数据域的域名权重的乘积。
方案19、如方案15-18中任一项所述的装置,其中所述集成单元包括:
权重表生成子单元,用于生成域名权重表,在所述域名权重表中,域名按权重降序排列,其中所述集成单元所生成的数据仓库中数据域的排列顺序与其域名在所述域名权重表中的排列顺序相同。
方案20、如方案11-19中任一项所述的装置,其中所述位图建立单元所建立的每个位图的位数均等于所述多个数据源中所包含的不同数据域的个数减1,并且所述哈希表建立单元所建立的每个哈希表的位数均为32、64、128或256位。

Claims (10)

1.一种数据集成方法,包括:
从多个数据源所包含的多个不同数据域中选取关联域;
基于所选取的关联域,建立位图和哈希表;
利用所建立的位图和哈希表,以所述关联域中的数据元素为索引,依次判断所述多个数据源的多个数据域中的每个数据元素是否具有冲突;以及
根据判断结果,将所述多个数据源中的数据元素集成为数据仓库。
2.如权利要求1所述的方法,其中
所述多个数据源的多个数据域中的每个数据元素通过所述关联域中的相应数据元素索引至所述位图中的相应位和所述哈希表中的相应位。
3.如权利要求2所述的方法,其中
对于所述位图中的相应位表明还未处理其所处数据域的数据元素,将所述位图中的所述相应位更新为表明已处理所述数据元素所处的数据域,并将所述数据元素的哈希码插入所述哈希表,并且将所述数据元素插入所述数据仓库。
4.如权利要求2或3所述的方法,还包括:基于具有冲突的数据元素,生成冲突报告,其中对于所述位图中的相应位表明已处理其所处数据域的数据元素,将所述哈希表未包含其哈希码的数据元素确定为具有冲突,并将具有冲突的数据元素插入所述冲突报告。
5.如权利要求1至4中任一项所述的方法,其中所述多个数据源中的每个数据源所包含的每个数据域均具有域名作为标识,并且从多个数据源所包含的多个不同数据域中选取关联域的步骤包括:
计算所述多个数据源所包含的每个数据域的域名权重;以及
将具有最高域名权重的数据域选取为用于每个数据源的关联域。
6.如权利要求5所述的方法,其中根据每个数据域的域名在所述多个数据源中出现的次数、每个域名的长度和/或每个数据域所处的数据源所包含的数据条目数,计算域名权重。
7.如权利要求6所述的方法,其中每个数据域的域名权重根据下式计算:
weight ( f k ) = α * Occ f k Σ i = 1 N Occ f i + β * 1 | Len ( f k ) - len ( f ) ‾ | + 1 + γ * Σ l = 1 L Num tab l Σ j = 1 M Num tab j
其中,fk表示特定的数据域,Occfk表示数据域fk的域名在所述多个数据源中的出现次数,N表示所述多个数据源的多个数据域所具有的不同域名的个数,Len(fk)表示数据域fk的域名长度,表示所述多个数据源的多个数据域所具有的不同域名的长度平均值,L表示包含数据域fk的域名的数据源的个数,Numtabl表示特定数据源l所包含的数据条目数,M表示所述多个数据源的个数,α、β和γ均为预设的可调系数,其中α>β且α>γ。
8.如权利要求5-7中任一项所述的方法,其中从多个数据源所包含的多个不同数据域中选取关联域的步骤还包括:调整具有相同域名权重的数据域的域名权重,以使所述多个数据源所包含的不同数据域具有不同的域名权重,
其中所述多个数据源的多个数据域中的每个数据元素的哈希码为其预设的哈希码与其所处数据域的域名权重的乘积。
9.如权利要求5-8中任一项所述的方法,其中根据判断结果,将所述多个数据源中的数据元素集成为数据仓库的步骤包括:
生成域名权重表,在所述域名权重表中,域名按权重降序排列,其中所生成的数据仓库中数据域的排列顺序与其域名在所述域名权重表中的排列顺序相同。
10.一种数据集成装置,包括:
关联域选取单元,用于从多个数据源所包含的多个不同数据域中选取关联域;
位图建立单元,用于基于所述关联域选取单元选取的关联域,建立位图;
哈希表建立单元,用于基于所述关联域选取单元选取的关联域,建立哈希表;
冲突检测单元,用于利用所述位图建立单元建立的位图和所述哈希表建立单元建立的哈希表,以所述关联域中的数据元素为索引,依次判断所述多个数据源的多个数据域中的每个数据元素是否具有冲突;以及
集成单元,用于根据所述冲突检测单元的判断结果,将所述多个数据源中的数据元素集成为数据仓库。
CN201410804593.7A 2014-12-19 2014-12-19 数据集成方法和装置 Pending CN105760404A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410804593.7A CN105760404A (zh) 2014-12-19 2014-12-19 数据集成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410804593.7A CN105760404A (zh) 2014-12-19 2014-12-19 数据集成方法和装置

Publications (1)

Publication Number Publication Date
CN105760404A true CN105760404A (zh) 2016-07-13

Family

ID=56341370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410804593.7A Pending CN105760404A (zh) 2014-12-19 2014-12-19 数据集成方法和装置

Country Status (1)

Country Link
CN (1) CN105760404A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066534A (zh) * 2017-03-02 2017-08-18 人谷科技(北京)有限责任公司 多源数据聚合方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101416150A (zh) * 2006-02-06 2009-04-22 泰克莱克公司 用于索引、验证、恢复和合并由范围限定数字数据索引的数据库的方法、系统和计算机程序产品
CN101676917A (zh) * 2008-09-18 2010-03-24 英赛特半导体有限公司 用于把来自多个数据源的著录项目数据存入数据库的方法和系统
CN102194002A (zh) * 2011-05-25 2011-09-21 中兴通讯股份有限公司 哈希表的表项添加、删除、查找方法及哈希表存储装置
CN102523112A (zh) * 2011-12-14 2012-06-27 华为技术有限公司 信息处理方法及设备
JP2014232532A (ja) * 2013-05-29 2014-12-11 富士通株式会社 範囲クエリを処理するデータベース制御部、方法及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101416150A (zh) * 2006-02-06 2009-04-22 泰克莱克公司 用于索引、验证、恢复和合并由范围限定数字数据索引的数据库的方法、系统和计算机程序产品
CN101676917A (zh) * 2008-09-18 2010-03-24 英赛特半导体有限公司 用于把来自多个数据源的著录项目数据存入数据库的方法和系统
CN102194002A (zh) * 2011-05-25 2011-09-21 中兴通讯股份有限公司 哈希表的表项添加、删除、查找方法及哈希表存储装置
CN102523112A (zh) * 2011-12-14 2012-06-27 华为技术有限公司 信息处理方法及设备
JP2014232532A (ja) * 2013-05-29 2014-12-11 富士通株式会社 範囲クエリを処理するデータベース制御部、方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066534A (zh) * 2017-03-02 2017-08-18 人谷科技(北京)有限责任公司 多源数据聚合方法及系统
CN107066534B (zh) * 2017-03-02 2019-08-20 人谷科技(北京)有限责任公司 多源数据聚合方法及系统

Similar Documents

Publication Publication Date Title
US10778441B2 (en) Redactable document signatures
US9594741B1 (en) Learning new words
Laorden et al. Study on the effectiveness of anomaly detection for spam filtering
CN106599317B (zh) 问答系统的测试数据处理方法、装置及终端
Almongy et al. The Weibull generalized exponential distribution with censored sample: estimation and application on real data
CN105897402A (zh) 参数加密方法、装置
CN105989080A (zh) 确定实体属性值的装置和方法
CN106909600A (zh) 用户背景信息的收集方法及装置
JP2015075993A (ja) 情報処理装置及び情報処理プログラム
CN112084342A (zh) 试题生成方法、装置、计算机设备及存储介质
CN113934834A (zh) 一种问句匹配的方法、装置、设备和存储介质
CN112199939B (zh) 一种评审专家智能推荐方法和存储介质
CN111460109A (zh) 摘要及对话摘要生成方法和装置
CN105760404A (zh) 数据集成方法和装置
JP2017513252A (ja) 最適化されたデータ凝縮器及び方法
CN107305522A (zh) 用于对应用程序的重复崩溃进行检测的装置和方法
CN114297693B (zh) 一种模型预训练方法、装置、电子设备及存储介质
JP2021140228A (ja) 広告文自動作成システム
CN106648723A (zh) iOS系统应用程序的更新方法、装置及系统
JP2008146162A (ja) 正規表現生成装置及び正規表現生成方法及び正規表現生成プログラム
CN115936010A (zh) 文本缩写数据处理方法、装置
JP5824429B2 (ja) スパムアカウントスコア算出装置、スパムアカウントスコア算出方法、及びプログラム
CN106909665A (zh) 一种基于本体的专利检索方法
JP6123372B2 (ja) 情報処理システム、名寄せ判定方法及びプログラム
CN104951471A (zh) 信息处理设备、信息处理方法以及电子装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160713