CN105824914A - 一种基于配置的雪花模型信息抽取方法 - Google Patents
一种基于配置的雪花模型信息抽取方法 Download PDFInfo
- Publication number
- CN105824914A CN105824914A CN201610148250.9A CN201610148250A CN105824914A CN 105824914 A CN105824914 A CN 105824914A CN 201610148250 A CN201610148250 A CN 201610148250A CN 105824914 A CN105824914 A CN 105824914A
- Authority
- CN
- China
- Prior art keywords
- model
- snowflake
- snowflake model
- data
- configuration file
- 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
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于配置的雪花模型信息抽取方法。首先,根据雪花模型定义,需要对数据库中数据模型进行分析,将不满足条件的模型进行设计转换。其次,分析不同数据源的特点,概括其共同的抽象特征,且以配置文件方式表示,并实现对应配置文件解析器以及后续的通用处理程序。接着,对于某特定数据库,选取需要进行处理的表和字段,编写符合规范的配置文件。最后,配置文件解析器根据配置文件,抽取用户所需内容并进行处理。通过此种方法,对于符合雪花模型且后续处理过程相同的任务,只需重新编写配置文件,即可将原先通用处理程序复用于另一个任务,省时省力。
Description
技术领域
本发明涉及数据模型处理领域,具体涉及一种基于配置的雪花模型信息抽取方法。
背景技术
随着科技的发展,数据产生越来越快,寻求一种高效的数据处理的手段成为当务之急。所谓高效,即无需对处理程序进行大范围的修改,即可复用处理其他具有相似信息处理任务的若干个数据库。
目前常用数据组织的模型,主要有两种,星型模型和雪花模型。星型模型是一种非正规化的结构,多维数据集的每一个维度都直接与事实表相连接,不存在渐变维度,所以数据存在一定的冗余,但相对而言查询效率较高。雪花模式是对星形模式维表的进一步层次化,通过分解多维表尽量减少数据冗余。雪花模式的维度表是基于范式理论的,是界于第三范式和星形模式之间的一种设计模式,通常是部分数据组织采用第三范式的规范结构,部分数据组织采用星形模式的事实表和维度表结构。雪花模式的优点是在一定程度上减少了存储空间,规范化的结构更容易更新和维护。同样雪花模式也存在不少缺点。雪花模式比较复杂,用户不容易理解,浏览内容相对困难,额外的连接将使查询性能下降。
连接事实表的多维度表分解后虽然具体的字段各不相同,但是结构都较为相似,故可以通过定义配置文件方式表征不同的多维表,复用处理程序。
发明内容
本发明的目的是通过概括抽象雪花模型下不同信息源的特征,以配置文件的方式用来区分,实现现有处理程序的复用,提高数据处理效率。
本发明的目的实现的技术方案包括以下步骤:
一种基于配置的雪花模型信息抽取方法,针对特定模型数据库,通过修改配置文件方式实现处理程序的复用,具体包括以下步骤:
1)分别判断待处理的若干个数据库的数据模型是否符合雪花模型定义,若非雪花模型,则将其转换为雪花模型;若是雪花模型,则进行第2)步;
2)对于雪花模型分解后的多维度表,是一对多的关系,且不同的数据源通常字段数目以及字段名的不同,结构则相同,以外键形式相连接。分析待处理的若干个数据库的整体特点,概括若干个其共同的抽象特征,并将其定义于配置文件中;
3)针对配置文件,实现解析器读取其内容,作为程序遍历数据库的运行参数。同时,还需要实现用于对数据库信息进行抽取后再处理的通用处理程序;而该通用处理程序具体因任务需求而异。
4)自定义配置文件并复用程序:不同数据库的相同处理任务,只需要观察分析数据特点,并且将其特征定义在配置文件中,即可实现程序的复用,提高信息处理效率。具体来说,当针对待处理的某个特定数据库信息处理任务时,首先分析该数据库的数据特点,并且在步骤2)得到的配置文件基础上,将其中已定义的抽象特征中的一部分或全部作为有效抽象特征置于配置文件中,而无需修改其程序代码,高效的实现程序的复用。
所述的雪花模型定义为:有一个或多个维度表没有直接连接到事实表上,而是通过主维度表连接到事实表上的模型。
所述的步骤2)具体为:针对不同的雪花模型数据库,将其主维度表、主键、分解表、过滤字段以特征方式配置在文件中;分别定义特定符号(该符号可视实际情况而定)作为每一类特征的起始行和结束行,起始行和结束行之间为每一类特征的值。
所述的步骤3)中遍历数据库中信息的过程如下:遍历主维度表中的每一条记录,对于其中的任何一条记录,获取其非过滤字段的值进行处理,在一条记录处理完毕后根据其主键,遍历所有分解表,对其中的任何一张表,获取其以外键形式与主维度表关联的记录,并对过滤字段的值再进行处理;其中对信息进行处理的程序根据实际任务需求确定。
本发明与现有技术相比具有的有益效果:
1.针对不同任务只需修改配置文件,无需对程序源代码进行修改和编译,节省时间;
2.配置文件可读性强,非专业人士上手容易;
3.通过修改完善配置文件解析器,可进一步扩展后续功能。
附图说明
图1为实施例中“药治疗病”的星型模型;
图2为实施例中“药治疗病”的雪花模型;
图3为实施例中药处理自定义配置文件;
图4为实施例中配置解析器处理流程;
图5为实施例中病处理自定义配置文件。
具体实施方式
以下结合具体实例以及附图对本发明作进一步详细说明,其中对原始数据进行简化处理,但不影响方法说明。本发明所记载的技术特征在不相互冲突的情况下,均可进行相互组合。
本发明的基于配置的雪花模型信息抽取方法,核心思想针对特定模型数据库,通过修改配置文件方式实现处理程序的复用。具体包括以下步骤:
(1)判断数据库的数据模型是否符合雪花模型定义,若非雪花模型,则需要将其转换为雪花模型。所谓雪花模型,其特点是有一个或多个维度表没有直接连接到事实表上,而是通过主维度表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。其中事实表保存度量值的详细值或事实,但不包含描述性信息,如药治病关系中药和病的主键,而它们各自的描述则由维度表记录,维度表可以进一步拆分为通过外键关联的主维度表和拆分表。雪花模型的设计和转化,通过将与事实表相连的维度表分解为主维度表和分解表实现,两者之间以外键进行关联。
(2)分析不同数据库的特点,对其共同特征进行抽象概括,并设计配置文件,将上述共同特征定义于其中。不同的雪花模型数据库,其区别主要为主维度表、主键、分解表,需要将其以特征方式配置在文件中,此外后续数据处理也并非针对表中每一个字段,故也可将过滤字段作为特征配置在文件中。最终,配置文件包含主维度表、主键、分解表、过滤字段四部分特征。为了方便计算机读取处理,定义“#特征名”作为每一类特征的起始行,定义“”作为每一类特征的结束行,之间为每一类特征的值。实现的解析器需要读取其中的内容,并存储到程序内存变量中。对于数据库中信息遍历的过程如下:遍历主维度表中的每一条记录,对于其中的任何一条记录,获取其非过滤字段的值进行处理,在一条记录处理完毕后根据其主键,遍历所有分解表,对其中的任何一张表,获取其以外键形式与主维度表关联的记录,并对过滤字段的值再进行处理。其中对信息进行处理的通用处理程序因具体需求而异。
(3)通过以上方式定义配置文件,实现配置解析器以及通用处理程序后,针对不同数据库的相同信息处理任务,在之前已经定义好的配置文件基础上,只需要观察分析数据特点,分析该数据库所需的特征,并且将其特征定义在配置文件中。若某个步骤(2)中已定义的共同特征在本数据库中不需要,则可将其设为“空”。从而在不需要修改程序代码的情况下,即可实现程序的复用,提高信息处理效率。
实施例
本实施例中的一种基于配置的雪花模型信息抽取方法包括如下步骤:
(1)如图1所示为星型模型的“药治疗病”数据,例如若存在多个相同名字如“麻黄”但不同来源功效表述不同的药,则“麻黄”这个名字会存储多次,造成数据冗余。对多维度数据表进行分解重构,形成图2所示的雪花模型。可见功效与来源字段从原先的表中拆分,以药编号为外键进行了关联。由于同一种药不同来源的功效描述不同,所以药表和功效表是一对多的关系。
(2)观察病相关表以及药相关表的数据形式,两者虽然具体的字段数目和字段名称,但是结构都较为相似,故定义配置文件的属性,包括主维度表、基本表、关系表以及忽略字段。鉴于配置文件需要被计算机读取,所以需要对格式有规定,实例中以“#+属性名”作为一个属性值的起始点,以“”作为一个属性值的结束点,之间内容即为属性值集合,如一个合法的药处理配置文件如图3所示。相应的配置解析器的处理流程如图4所示,读取相应参数值到对应变量中。
(3)进行通用部分的处理,如本例程序通用处理是生成语义网的程序,此部分可根据具体任务改变。
(4)由图3所示的配置文件可完成药相关数据源的处理任务,若需要处理病相关的数据源,且忽略名称时,则配置如图5所示文件即可实现程序的复用。
Claims (4)
1.一种基于配置的雪花模型信息抽取方法,其特征在于针对特定数据模型数据库,通过修改配置文件方式实现处理程序的复用,具体包括以下步骤:
1)分别判断待处理的若干个数据库的数据模型是否符合雪花模型定义,若非雪花模型,则将其转换为雪花模型;若是雪花模型,则进行第2)步;
2)分析待处理的若干个数据库的整体特点,概括若干个其共同的抽象特征,并将其定义于配置文件中;
3)针对配置文件,实现解析器读取其内容并存储到程序内存变量中,用于遍历数据库中信息;同时,实现用于对数据库信息进行抽取后再处理的通用处理程序;
4)针对待处理的特定数据库的信息处理任务,分析该数据库的数据特点,并且在步骤2)得到的配置文件基础上,将其中已定义的抽象特征中的一部分或全部作为有效抽象特征置于配置文件中,实现程序的复用。
2.如权利要求1所述的基于配置的雪花模型信息抽取方法,其特征在于所述的雪花模型定义为:有一个或多个维度表没有直接连接到事实表上,而是通过主维度表连接到事实表上的模型。
3.如权利要求1所述的基于配置的雪花模型信息抽取方法,其特征在于所述的步骤2)具体为:针对不同的雪花模型数据库,将其主维度表、主键、分解表、过滤字段以特征方式配置在文件中;分别定义特定符号作为每一类特征的起始行和结束行,起始行和结束行之间为每一类特征的值。
4.如权利要求1所述的基于配置的雪花模型信息抽取方法,其特征在于所述的步骤3)中遍历数据库中信息的过程如下:遍历主维度表中的每一条记录,对于其中的任何一条记录,获取其非过滤字段的值进行处理,在一条记录处理完毕后根据其主键,遍历所有分解表,对其中的任何一张表,获取其以外键形式与主维度表关联的记录,并对过滤字段的值再进行处理;其中对信息进行处理的程序根据实际任务需求确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610148250.9A CN105824914A (zh) | 2016-03-15 | 2016-03-15 | 一种基于配置的雪花模型信息抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610148250.9A CN105824914A (zh) | 2016-03-15 | 2016-03-15 | 一种基于配置的雪花模型信息抽取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105824914A true CN105824914A (zh) | 2016-08-03 |
Family
ID=56987823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610148250.9A Pending CN105824914A (zh) | 2016-03-15 | 2016-03-15 | 一种基于配置的雪花模型信息抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105824914A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427938A (zh) * | 2020-03-18 | 2020-07-17 | 中国建设银行股份有限公司 | 数据转存的方法和装置 |
CN113010611A (zh) * | 2019-12-19 | 2021-06-22 | 北京阿博茨科技有限公司 | 一种自动生成关系型数据库表间关系的方法和*** |
CN110019357B (zh) * | 2017-09-29 | 2021-06-29 | 北京国双科技有限公司 | 数据库查询脚本生成方法及装置 |
CN114706575A (zh) * | 2022-06-07 | 2022-07-05 | 杭州比智科技有限公司 | 一种迁移和复用数据模型的方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833708A (zh) * | 2010-05-07 | 2010-09-15 | 山东中创软件工程股份有限公司 | 一种生成预警消息的方法和装置 |
CN105335412A (zh) * | 2014-07-31 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 用于数据转换、数据迁移的方法和装置 |
CN103092866B (zh) * | 2011-11-03 | 2016-08-31 | 金蝶软件(中国)有限公司 | 数据监控方法及监控装置 |
-
2016
- 2016-03-15 CN CN201610148250.9A patent/CN105824914A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833708A (zh) * | 2010-05-07 | 2010-09-15 | 山东中创软件工程股份有限公司 | 一种生成预警消息的方法和装置 |
CN103092866B (zh) * | 2011-11-03 | 2016-08-31 | 金蝶软件(中国)有限公司 | 数据监控方法及监控装置 |
CN105335412A (zh) * | 2014-07-31 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 用于数据转换、数据迁移的方法和装置 |
Non-Patent Citations (1)
Title |
---|
汤晓炜: ""电信经营分析中的指标上传***研究与实现"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019357B (zh) * | 2017-09-29 | 2021-06-29 | 北京国双科技有限公司 | 数据库查询脚本生成方法及装置 |
CN113010611A (zh) * | 2019-12-19 | 2021-06-22 | 北京阿博茨科技有限公司 | 一种自动生成关系型数据库表间关系的方法和*** |
CN111427938A (zh) * | 2020-03-18 | 2020-07-17 | 中国建设银行股份有限公司 | 数据转存的方法和装置 |
CN111427938B (zh) * | 2020-03-18 | 2023-08-29 | 中国建设银行股份有限公司 | 数据转存的方法和装置 |
CN114706575A (zh) * | 2022-06-07 | 2022-07-05 | 杭州比智科技有限公司 | 一种迁移和复用数据模型的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104965735B (zh) | 用于生成升级sql脚本的装置 | |
US10860632B2 (en) | Information query method and device | |
CN105868204B (zh) | 一种转换Oracle脚本语言SQL的方法及装置 | |
JP6165864B2 (ja) | 外部テーブルを伴う分散型データベースの操作 | |
CN107622103B (zh) | 管理数据查询 | |
EP2608074A2 (en) | Systems and methods for merging source records in accordance with survivorship rules | |
Chung et al. | JackHare: a framework for SQL to NoSQL translation using MapReduce | |
EP3671526B1 (en) | Dependency graph based natural language processing | |
CN105824914A (zh) | 一种基于配置的雪花模型信息抽取方法 | |
CN103425780A (zh) | 一种数据的查询方法和装置 | |
CN1592908B (zh) | 具有异种对象类型的数据库*** | |
Jiang et al. | Mapping-driven XML transformation | |
JP5927886B2 (ja) | クエリシステム及びコンピュータプログラム | |
JP2008171181A (ja) | 構造化データ検索装置 | |
CN107491476A (zh) | 一种适用于多种大数据管理***的数据模型转换及查询分析方法 | |
JP2006053724A (ja) | Xmlデータ管理方法 | |
US20140067853A1 (en) | Data search method, information system, and recording medium storing data search program | |
WO2013111287A1 (ja) | Sparqlクエリ最適化方法 | |
AU2003222783A1 (en) | Method and apparatus for querying relational databases | |
Budikova et al. | Query language for complex similarity queries | |
US20080126317A1 (en) | Method and system for converting source data files into database query language | |
CN113297251A (zh) | 多源数据检索方法、装置、设备及存储介质 | |
Elamparithi et al. | A Review on Database Migration Strategies, Techniques and Tools | |
CN107818181A (zh) | 基于Plcient交互式引擎的索引方法及其*** | |
JP2014089646A (ja) | 電子データ処理装置、及び電子データ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160803 |
|
RJ01 | Rejection of invention patent application after publication |