CN113672598B - 一种面向供应链采购的多视角数据维度模型的构建方法 - Google Patents
一种面向供应链采购的多视角数据维度模型的构建方法 Download PDFInfo
- Publication number
- CN113672598B CN113672598B CN202111230103.3A CN202111230103A CN113672598B CN 113672598 B CN113672598 B CN 113672598B CN 202111230103 A CN202111230103 A CN 202111230103A CN 113672598 B CN113672598 B CN 113672598B
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- field
- tables
- fields
- 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.)
- Active
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
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种面向供应链采购的多视角数据维度模型的构建方法,步骤如下:确定所有与指定主事务表相关的表之中的对象表和事务表,将连接关系加入图中,形成事务的关联链并生成事务对象图;逐一对事务对象图中每个事务表以及其外链表执行元组抽取处理并将抽取得到的目标字段加入对应的元组结构中,对各事务表或对象表的元组结构进行组合处理,生成每个事务表其对应视角的数据维度模型。本发明可依据数据表的特征生成初步的分析型数据维度模型并将业务型数据转换为分析型数据,降低了对业务专家的依赖度;自动生成多个围绕不同级别事务的维度模型,满足了多种业务视角的分析需求,可显著减少字段或数据视角缺失问题。
Description
技术领域
本发明涉及大数据处理及数据转换技术领域,具体而言,涉及一种面向供应链采购的多视角数据维度模型的构建方法。
背景技术
大数据处理过程基本分为数据抽取、数据转换、数据载入、数据计算、数据展示等几个过程。其中在数据转换过程中,需要通过转换建模,将数据从业务支持型转换为分析支持型,其目的在于将不同维度、不同格式、不同业务含义的数据能够统一为同种数据模型,从而形成扁平化的数据维度模型,并存入数据集市或数据仓库,以便数据载入过程和数据计算过程可以进行相应的准备和计算。
在当前主流的数据工具或平台中,虽然基本原理和方法是公开的,但在具体业务场景上,依然是以提供工具支持,通过业务专家或数据专家进行手动建模的方式来开展数据转换工作的。该种方式主要存在手动建模效率低,专家业务场景知识依赖度过高的问题。且因人工建模过程的局限性,数据维度模型视角常常不够完整,容易出现在数据计算时才发现数据字段缺失或数据维度细粒度不够而被迫重新调整转换建模的情况,进而导致大数据处理的建模、计算整体过程反复调整的概率高,总体任务效率受影响。
此外,在供应链采购中,因数据统计分析需求的多样化,需要数据转换的业务类型繁多,更需要一种根据供应链采购场景的业务普遍特征进行初步数据维度模型自动化转换的方法,以减轻人工依赖,提高转换建模的设计效率。
发明内容
本发明的目的在于提供一种面向供应链采购的多视角数据维度模型的构建方法,以解决背景技术中所指出的问题。
本发明的实施例通过以下技术方案实现:一种面向供应链采购的多视角数据维度模型的构建方法,包括如下步骤:
S1.确定与指定主事务表相关的表之中的对象表和事务表,将其连接关系加入图中,形成事务的关联链并生成事务对象图,其中,事务表指面向承载业务的事实表,对象表指在业务记录过程中,与业务或与业务相关对象有关联关系,且还具备属性特征的对象的数据模型表,所述关联链反应供应链采购过程中事务由大到小的逐层驱动关系;
S2.逐一对所述事务对象图中每个事务表以及其外链表执行元组抽取处理并将抽取得到的目标字段加入对应的元组结构中,对各事务表或对象表的元组结构进行组合处理,生成每个事务表其对应视角的数据维度模型。
根据一种优选实施方式,步骤S1进一步包括如下步骤:
S11.选择初始主事务表作为当前表;
S12.采用深度优先遍历当前表的所有外键ID,统计得到外键ID的数量WJ,若WJ=0,则当前表判断为对象表,将连接关系加入图中;
若WJ>0,则跳转S13;
S13.根据所述外键ID遍历当前表所有的外链表,初始化统计量NMB和当前表的tList列表;
若外链表的字段中无时间或日期字段,则该外链表判断为配置参数表,NMB保持不变;
否则该外链表判断为对象表或事务表,将该外链表加入tList列表,NMB自加1;
遍历完成后,若NMB=0,则当前表判断为对象表,将连接关系加入图中;
若NMB>0,则跳转S14;
S14.若tList列表中所有表的类型均已完成判断,则跳转S15;
否则,依次将tList列表中未判断的表作为当前表,跳转S12;
S15.若tList列表中对象表数量大于或等于2,则当前表判断为事务表;
否则当前表判断为对象表;
S16.对事务连通图的连通程度进行判断,当连通程度不够时,选择未被遍历的事务表跳转S12;
S17.循环步骤S11至S16,直至与初始主事务表相关的表均已被遍历并完成类型判断。
根据一种优选实施方式,步骤S16中采用如下方式对事务连通图的连通程度进行判断:
计算事务对象图的连通程度C,公式表示为:
上式中,m指事务对象图中事务表的数量,n指事务对象图中对象表的数量,LT j 指某个事务表的外键数量,LO i 指某个对象表的外键数量;
其中,当C<1时,认为事务连通图的连通程度不够。
根据一种优选实施方式,步骤S2进一步包括如下步骤:
S21.选择初始主事务表作为当前生成事务表M-table;
S22.若M-table不作为其它任何事务表的外链表,且尚未生成对应的数据维度模型,则跳转S24;
否则,跳转S23;
S23.将外链M-table的另一事务表O-table作为新的M-table,并跳转S22;
S24.读取M-table中第一条业务数据,并根据M-table的tList列表中的外键字段,找到对应的外链表;
读取tList列表,将tList列表中属于事务表的外链表进行关联;
并根据M-table中第一条业务数据找到外链表中对应的数据,将该数据作为当前待抽取数据,跳转S25;
S25.根据针对于当前待抽取数据的目标字段的抽取条件,从当前待抽取数据中抽取满足抽取条件的目标字段,并将抽取得到的目标字段加入对应的元组结构中,所述元组结构包括对应事务表的事务元组结构filed-T以及对应对象表的对象元组结构filed-O;
S26.循环步骤S24至S25,直至M-table的tList列表中所有事务表的事务元组完成抽取;
S27.将M-table中第一条业务数据本身作为当前待抽取数据,跳转S25;
S28.对各事务表或对象表的元组结构进行组合处理,生成元单位的维度模型;
将元单位的维度模型的数据存入数据集市中的单独数据表中;
S29.重复步骤S21至S28,直至M-table中每一条数据均生成了其对应的维度模型,并存入数据集市中;
S2910.重复步骤S21至S29,直至生成每个事务表其对应视角的数据维度模型。
根据一种优选实施方式,步骤S25进一步包括如下步骤:
S251.为当前待抽取数据创建元组结构,并逐项遍历该事务表中的所有字段,当字段为字符串型字段、浮点型小数字段、整数型字段、事件或日期字段时,将满足抽取条件的字段加入事务元组结构filed-T;
S252.当字段为外键字段,且外键对应的外链表为对象表时,则通过计算变量L以判断是否进行对象元组抽取,公式表示为:
上式中,LT lk 指其它事务表外键包含当前对象表的数量,LO lk 指其它对象表外键包含当前对象表的数量,LT to 指当前对象表的外键关联事务表的数量,LO to 指当前对象表的外键关联对象表的数量;
其中,当L<0时,跳转S253;
否则,根据外键字段找到外链对象表对应的所有对象表,创建其元组结构,并逐项遍历对象表中的所有字段,当字段为字符串型字段、浮点型小数字段、整数型字段、事件或日期字段时,将满足抽取条件的字段加入对象元组结构filed-O;
当字段为外键字段,且外键对应的外链表为配置表时,则将配置表中除关联ID字段外所有数据内容加入filed-O:
若外链表为另一对象表,则重复S252;
S253.重复步骤S251至S252,直至当前待抽取数据的所有字段遍历完成;
S254.重复步骤S251至S253,直至M-table中第一条业务数据所有对应的数据完成事务元组抽取。
根据一种优选实施方式,步骤S251中将满足抽取条件的字段加入事务元组结构filed-T具体包括如下步骤:
当字段为字符串型字段时,计算此时的比例商值B1:
上式中,n fs 指此时filed-T中字符串型字段的数量,n fd 指此时filed-T中浮点小数型字段的数量,n f 指该事务表的总字段数;
其中,当B1<0.5时,将该字符串型字段值加入filed-T;
当字段为浮点型小数字段时,将其字段值加入filed-T;
当字段为整数型字段时,若满足下式,则不做处理,反之则加入filed-T,公式表示为:
上式中,V指该整数型字段值,con max 指该业务系统中所有配置参数的最大值,con min 指该业务系统中所有配置参数的最小值;
当字段为事件或日期字段时,将其字段值加入filed-T,并对格式进行统一。
根据一种优选实施方式,步骤S252中将满足抽取条件的字段加入对象元组结构filed-O具体包括如下步骤:
当字段为字符串型字段时,计算此时的比例商值B2:
当B2>0.5时,将该字符串型字段值加入filed-O;
当字段为浮点型小数字段时,将其字段值加入filed-O;
当字段为整数型字段时,若满足下式,则不做处理,反之则加入filed-O,公式表示为:
当字段为事件或日期字段时,将其字段值加入filed-O,并对格式进行统一。
根据一种优选实施方式,步骤S28进一步包括如下步骤:
假设M-table中有N个事务表,采用笛卡尔相乘法对N个事务表数据中的元组进行处理,以Nlist中不同数据项的数据最大的filed-T作为最左侧字段,依次将其它filed-T与filed-O进行组合,生成元单位的维度模型的详细数据,其中,Nlist指N个事务表中可关联的数据条数。
根据一种优选实施方式,所述方法还包括:
S3.基于不同视角的数据维度模型结构,生成多维视角访问主表c-table,用以分析查询。
根据一种优选实施方式,步骤S3进一步包括如下步骤:
S31.创建哈希结构的快表,以事务表的名称为键,以链表作为值;
S32.逐个遍历不同视角的数据维度模型结构,若发现某事务表的filed-T,则将该事务表第一条数据的filed-T中的首个字段位置POS插入到访问主表c-table中;
S33.检查该事务表作为键的对应值是否为空,若为空,则创建链表头部,并将POS放入头部之后;
若不为空,则将POS放入最后一个POS之后;
S34.检查深度平衡值D:
上式中,Link Max 指快表中最长链表的长度值,n t 指已遍历统计到的事务表数量;
其中,当D>1时,切换到其它视角的数据维度模型结构继续遍历;
S35.重复步骤S31至S34,直至所有事务表的filed-T均已遍历;
S36.将访问主表c-table与不同视角的数据维度模型一同存放在数据集市中。
本发明实施例的技术方案至少具有如下优点和有益效果:1)本发明所提供的方法可依据数据表的特征生成初步的分析型数据维度模型,并进行数据的转换,通过将供应链采购业务的业务型数据转换为分析型数据,以此降低了对业务专家的依赖度;2)本方法可自动生成多个围绕不同级别事务的维度模型,满足多种业务视角的分析需求,可显著减少在数据载入或数据计算时的字段或数据视角缺失问题;3)采用本方法不影响现有的数据处理架构,可直接应用在数据处理的ETL环节,生成的数据可直接进行数据集市或数据仓库,与现有数据体系的可融合度较高。
附图说明
图1为本发明实施例1提供的多视角数据维度模型的构建方法的流程示意图;
图2为本发明实施例1提供的事务对象图的示意图;
图3为本发明实施例1提供的元组对应关系的示意图;
图4为本发明实施例1提供的元单位的维度模型的详细数据示意图;
图5为本发明实施例1提供的数据集市(数据仓库)的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
实施例1
参考图1所示,图1示出了本发明实施例所提供的多视角数据维度模型的构建方法的流程示意图。
经申请人研究发现,在当前主流的数据工具或平台中,虽然基本原理和方法是公开的,但在具体业务场景上,依然是以提供工具支持,通过业务专家或数据专家进行手动建模的方式来开展数据转换工作的。该种方式主要存在手动建模效率低,专家业务场景知识依赖度过高的问题。且因人工建模过程的局限性,数据维度模型视角常常不够完整,容易出现在数据计算时才发现数据字段缺失或数据维度细粒度不够而被迫重新调整转换建模的情况,进而导致大数据处理的建模、计算整体过程反复调整的概率高,总体任务效率受影响。
此外,在供应链采购中,因数据统计分析需求的多样化,需要数据转换的业务类型繁多,更需要一种根据供应链采购场景的业务普遍特征进行初步数据维度模型自动化转换的方法,以减轻人工依赖,提高转换建模的设计效率。因此,本发明实施例提供一种面向供应链采购的多视角数据维度模型的构建方法,以解决上述所指出的问题,方案具体如下所述:
本实施例以典型的供应链采购场景为例,对本方法的具体实施过程进行说明;其中,该场景的供应链业务主要由订购下单、仓库备货以及包装出库3大事务组成。
执行步骤S1,确定与指定主事务表相关的表之中的对象表和事务表,将其连接关系加入图中,形成事务的关联链并生成事务对象图,事务对象图参考图2所示;其中,事务表指面向承载业务的事实表,对象表指在业务记录过程中,与业务或与业务相关对象有关联关系,且还具备属性特征的对象的数据模型表,所述关联链反应供应链采购过程中事务由大到小的逐层驱动关系。需要说明的是,将其连接关系加入图中的图所指的是:不同节点以链表的形式形成的关系图,驱动关系用以反应各事务表之间,或事务表与对象表之间的影响关系。在本实施例中,该图初始状态为0个节点,加入图中即将表作为一个节点加入关系图中。
在一种实施方式中,步骤S1具体包括:
S11.选择初始主事务表作为当前表,本实施例将订购下单表(t_order)作为当前表。
S12.采用深度优先遍历当前表的所有外键ID,统计得到外键ID的数量WJ,若WJ=0,则当前表判断为对象表,将连接关系加入图中;若WJ>0,则跳转S13。
S13.根据所述外键ID遍历当前表所有的外链表(如客户表(t_client)、货物表(t_goods)),初始化统计量NMB和当前表的tList列表,NMB初始化为0,tList列表初始化为空列表。
进一步的,若外链表的字段中无时间或日期字段,则该外链表判断为配置参数表,NMB保持不变;否则该外链表判断为对象表或事务表,将该外链表加入当前表的tList列表,当前表的NMB加1。遍历完成后,若NMB=0,则当前表判断为对象表,将连接关系加入图中;若NMB>0,则跳转S14。
S14.当前表的NMB>0,则当前表可能为对象表,也可能为事务表,此时tList不为空;若当前表的tList列表中指向的所有表的类型均已判断完毕,则跳转S15;否则,依次将当前表的tList列表中未判断类型的表作为当前表,跳转S12。
S15.若当前表的tList列表中对象表数量大于或等于2,则当前表判断为事务表;否则当前表判断为对象表。
S16.对事务连通图的连通程度进行判断,计算事务对象图的连通程度C,公式表示为:
上式中,m指事务对象图中事务表的数量,n指事务对象图中对象表的数量,LT j 指某个事务表的外键数量,LO i 指某个对象表的外键数量;其中,当C<1时,认为连通程度不够,则选择未被遍历的事务表跳转S12继续处理。
S17.循环步骤S11至S16,直至与初始主事务表相关的均已被遍历并完成类型判断;此时可形成事务的关键链,该关联链的特征紧密对应供应链采购过程中由大到小的逐层驱动的事务。
进一步的,执行步骤S2,逐一对所述事务对象图中每个事务表以及其外链表执行元组抽取处理并将抽取得到的目标字段加入对应的元组结构中,对各事务表或对象表的元组结构进行组合处理,生成每个事务表其对应视角的数据维度模型。
在一种实施方式中,步骤S2进一步包括如下步骤:
S21.选择初始主事务表作为当前生成事务表M-table,本实施例中当前生成事务表M-table为订购下单表(t_order)。
S22.若当前生成事务表M-table不作为其它任何事务表的外链表,且尚未生成对应的数据维度模型,则跳转S24;否则,跳转S23。
S23.将外链当前生成事务表M-table的另一事务表O-table作为新的当前生成事务表M-table,并跳转S22。本实施例中,O-table在不同的循环过程中可能为仓库备货表(t_warhouse_task)或包装出库表(t_ship)。
在对每个事务表生成维度模型数据时,是以当前生成事务表M-table中的一条数据为单位。
在本实施例的一种实施方式中,步骤S24为,读取M-table中第一条业务数据,并根据该表的tList列表中的外键字段,找到对应的外链表;如在包装出库表(t_ship)中的第一业务数据为:
{“warhouse_task”:”18374”,“workerID”:”002”,”shipTime”:”2021-09-01 20:22:00”},该数据在业务代表了某个员工应该在某个时间进行另一个事务的作业。
读取tList列表,将tList列表中属于事务表的外链表(如:t_warhouse_task)进行关联;并根据当前生成事务表M-table的第一条业务数据找到外链表中对应的数据,将该数据作为当前待抽取数据,跳转S25。
进一步的,进行事务元组抽取;需要说明的是,事务元组从事务中表进行抽取,事务元组代表了表达该事务特征的重要业务信息。
S25.根据针对于当前待抽取数据的目标字段的抽取条件,从当前待抽取数据中抽取满足抽取条件的目标字段,并将抽取得到的目标字段加入对应的元组结构中,所述元组结构包括对应事务表的事务元组结构filed-T以及对应对象表的对象元组结构filed-O。
步骤S25具体包括:
S251.为当前待抽取数据创建元组结构,并逐项遍历该事务表中的所有字段,当字段为字符串型字段、浮点型小数字段、整数型字段、事件或日期字段时,将满足抽取条件的字段加入事务元组结构filed-T。步骤S251中将满足抽取条件的字段加入事务元组结构filed-T具体包括:
当字段为字符串型字段时,计算此时的比例商值B1:
上式中,n fs 指此时事务元组结构filed-T中字符串型字段的数量,n fd 指此时事务元组结构filed-T中浮点小数型字段的数量,n f 指该事务表的总字段数;其中,当B1<0.5时,将该字符串型字段值加入事务元组结构filed-T;当字段为浮点型小数字段时,将其字段值加入事务元组结构filed-T;当字段为整数型字段时,若满足下式,则不做处理,反之则加入事务元组结构filed-T,公式表示为:
上式中,V指该整数型字段值,con max 指该业务系统中所有配置参数的最大值,con min 指该业务系统中所有配置参数的最小值。需要说明的是,满足以上条件时,该整数型字段更大概率是通过外链表来表达某种业务状态(即该数值是一种特定范围值,常见于各类MIS系统中)。反之,不满足条件时,该字段大概率是表达对事务某参数的具体刻画(如金额、体积),因此需要保留到filed-T中。
进一步的,当字段为事件或日期字段时,将其字段值加入事务元组结构filed-T,并对格式进行统一,例如统一格式为“YYYY-MM-DD HH:mm:ss”。
此时,仓库备货表(t_warhouse_task)当中,以下数据构成了filed-T:{“orderNo”:”3762”,”stackPosNo”:”12”,”amount”:”20.5”,”dealineTime”:”2021-09-0121:22:00”,”mark”:”加急供应”},该结构表达了关于仓库备货的一项事务。
进一步的,进行对象元组抽取。
S252.当字段为外键字段,且外键对应的外链表为对象表时,则通过计算变量L以判断是否进行对象元组抽取,公式表示为:
上式中,LT lk 指其它事务表外键包含当前对象表的数量,LO lk 指其它对象表外键包含当前对象表的数量,LT to 指当前对象表的外键关联事务表的数量,LO to 指当前对象表的外键关联对象表的数量;其中,当L<0时,跳转S253;否则,根据外键字段找到外链对象表对应的所有对象表,例如:”stackPosNo”:”12”,对应的库位表(t_stack_pos)。
创建其元组结构,并逐项遍历对象表中的所有字段,当字段为字符串型字段、浮点型小数字段、整数型字段、事件或日期字段时,将满足抽取条件的字段加入对象元组结构filed-O;步骤S252中将满足抽取条件的字段加入对象元组结构filed-O具体包括:当字段为字符串型字段时,计算此时的比例商值B2:
当B2>0.5时,将该字符串型字段值加入对象元组结构filed-O;当字段为浮点型小数字段时,将其字段值加入对象元组结构filed-O;当字段为整数型字段时,因对象表中属性值通常偏小,若满足下式,则不做处理,反之则加入对象元组结构filed-O,公式表示为:
当字段为事件或日期字段时,将其字段值加入对象元组结构filed-O,并对格式进行统一。
进一步的,当字段为外键字段,且外键对应的外链表为配置表时,则将配置表中除关联ID字段外所有数据内容加入对象元组结构filed-O;若外链表为另一对象表,则重复S252。此时,可得到如以下数据构成的filed-O:{“line”:“3”,“row”:“9”,floor:“2”,”type”:”boxOnly”},该结构包含了库位表中的信息。
S253.重复步骤S251至S252,直至当前待抽取数据的所有字段遍历完成。
S254.重复步骤S251至S253,直至当前生成事务表M-table的第一条业务数据的所有对应的数据完成事务元组抽取。
S26.循环步骤S24至S25,直至当前生成事务表M-table中的tList列表的所有事务表的事务元组抽取全部完成。
S27.将当前生成事务表M-table的第一条业务数据本身直接作为当前待抽取数据,跳转S25。此时,形成的元组对应关系参考图3所示。
S28.对各事务表或对象表的元组结构进行组合处理,生成元单位的维度模型,将元单位的维度模型的数据存入数据集市中的单独数据表中。
步骤S28进一步包括如下步骤:
假设当前生成事务表M-table下有N个事务表,且当前生成事务表M-table中的一条业务数据,在N个事务表中可关联的数据条数分别为Nlist条,可表示为向量Nlist{n1、n2、n3…}条,即Nlist的长度与N相等。则该条业务数据可进行组合展开的数据条数为n max 条,n max 为向量Nlist中的最大值。
在本实施例的一种实施方式中,1条订购下单表数据,对应2条仓库备货数据,对应4条包装出库数据,即此时n max =4。
进一步的,将N个事务表的数据,采用笛卡尔相乘法对其数据中的元组进行处理,以Nlist中不同数据项的数据最大(此时数据为4)的filed-T结构作为最左侧字段,依次将其它元组结构filed-T与filed-O进行组合,生成元单位的维度模型的详细数据,参考图4所示。在本实施例的一种实施方式中,以不同数据项的最大的包装出库表(t_ship)为视角的元组结构数据组合,可构成4条以包装出库表(t_ship)为视角的数据:
数据1:{"warhouse_task":"18374","workerID":"002","shipTime":"2021-09-01 20:22:00","workerName":"王小五","age":"24",orderNo":"3762","stackPosNo":"12","amount":"20.5","dealineTime":"2021-09-01 21:22:00","mark":"加急供应","line":"3","row":"9",floor:"2","type":"boxOnly","client":"东区配件站","supply":"西区建筑公司","goods":"铜质线缆","fund":"7390.99",orderTime:"2021-09-01 9:22:00"};
数据2:{"warhouse_task":"18374","workerID":"004","shipTime":"2021-09-01 20:22:00","workerName":"张文林","age":"27",orderNo":"3762","stackPosNo":"12","amount":"20.5","dealineTime":"2021-09-01 21:22:00","mark":"加急供应","line":"3","row":"9",floor:"2","type":"boxOnly","client":"东区配件站","supply":"西区建筑公司","goods":"铜质线缆","fund":"7390.99",orderTime:"2021-09-01 9:22:00"};
数据3:{"warhouse_task":"18375,"workerID":"005","shipTime":"2021-09-0120:22:00","workerName":"祝平国","age":"24",orderNo":"3762","stackPosNo":"19","amount":"15","dealineTime":"2021-09-01 21:19:00","mark":"加急供应","line":"3","row":"5",floor:"4","type":"boxOnly","client":"东区配件站","supply":"西区建筑公司","goods":"铜质线缆","fund":"7390.99",orderTime:"2021-09-01 9:22:00"};
数据4:{"warhouse_task":"18375","workerID":"007","shipTime":"2021-09-01 20:22:00","workerName":"龙宝生","age":"24",orderNo":"3762","stackPosNo":"19","amount":"15","dealineTime":"2021-09-01 21:19:00","mark":"加急供应","line":"3","row":"5",floor:"4","type":"boxOnly","client":"东区配件站","supply":"西区建筑公司","goods":"铜质线缆","fund":"7390.99",orderTime:"2021-09-01 9:22:00"}。
将上述元单位的维度模型的数据存入数据集市中的单独数据表中。
S29.重复步骤S21至S28,直至当前生成事务表M-table中每一条数据均生成了其对应的维度模型,并存入数据集市中。
S2910.重复步骤S21至S29,直至生成每个事务表其对应视角的数据维度模型。
在本实施例中,将生成包装出库表(t_ship)、仓库备货表(t_warhouse_task)、订购下单表(t_order)3个视角维度。
本实施例还包括步骤S3,基于不同视角的数据维度模型结构,生成多维视角访问主表c-table,用以分析查询。步骤S3进一步包括如下步骤:
S31.创建哈希结构的快表,以事务表的名称为键,以链表作为值。
S32.逐个遍历不同视角的数据维度模型结构,若发现某事务表的事务元组结构filed-T,则将该事务表表第一条数据的事务元组结构filed-T中的首个字段位置POS插入到访问主表c-table中。
S33.检查该事务表作为键的对应值是否为空,若为空,则创建链表头部,并将POS放入头部之后;若不为空,则将POS放入最后一个POS之后。
S34.检查深度平衡值D:
上式中,Link Max 指快表中最长链表的长度值,n t 指已遍历统计到的事务表数量;其中,当D>1时,切换到其它视角的数据维度模型结构继续遍历。
S35.重复步骤S31至S34,直至所有事务表的事务元组结构filed-T均已遍历。
本实施例中,访问主表c-table结构可参考表1所示:
表1.访问主表c-table结构
S36.将访问主表c-table与不同视角的数据维度模型(以寛表结构)一同存放在数据集市中,参考图5所示。
综上所述,本发明实施例的技术方案至少具有如下优点和有益效果:1)本发明所提供的方法可依据数据表的特征生成初步的分析型数据维度模型,并进行数据的转换,通过将供应链采购业务的业务型数据转换为分析型数据,以此降低了对业务专家的依赖度;2)本方法可自动生成多个围绕不同级别事务的维度模型,满足多种业务视角的分析需求,可显著减少在数据载入或数据计算时的字段或数据视角缺失问题;3)采用本方法不影响现有的数据处理架构,可直接应用在数据处理的ETL环节,生成的数据可直接进行数据集市或数据仓库,与现有数据体系的可融合度较高。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种面向供应链采购的多视角数据维度模型的构建方法,其特征在于,包括如下步骤:
S1.确定与指定主事务表相关的表之中的对象表和事务表,将其连接关系加入图中,形成事务的关联链并生成事务对象图,其中,事务表指面向承载业务的事实表,对象表指在业务记录过程中,与业务或与业务相关对象有关联关系,且还具备属性特征的对象的数据模型表,关联链反应供应链采购过程中事务由大到小的逐层驱动关系;
S2.逐一对所述事务对象图中每个事务表以及其外链表执行元组抽取处理并将抽取得到的目标字段加入对应的元组结构中,针对具有外链表的事务表,将外链表对应所述事务表中第一条业务数据的数据以及第一条业务数据本身作为待抽取数据,将待抽取数据中满足针对字段类型所设定的抽取条件的目标字段加入事务元组结构,所述字段类型包括字符串型字段、浮点型小数字段、整数型字段、事件或日期字段,若字段类型为外键字段,且外键对应的外链表为对象表,则将该对象表中满足针对字段类型所设定的抽取条件的字段加入对象元组结构;
对各事务表或对象表的元组结构进行组合处理,生成每个事务表其对应视角的数据维度模型。
2.如权利要求1所述的面向供应链采购的多视角数据维度模型的构建方法,其特征在于,步骤S1进一步包括如下步骤:
S11.选择初始主事务表作为当前表;
S12.采用深度优先遍历当前表的所有外键ID,统计得到外键ID的数量WJ,若WJ=0,则当前表判断为对象表,将连接关系加入图中;
若WJ>0,则跳转S13;
S13.根据所述外键ID遍历当前表所有的外链表,初始化统计量NMB和当前表的tList列表;
若外链表的字段中无时间或日期字段,则该外链表判断为配置参数表,NMB保持不变;
否则该外链表判断为对象表或事务表,将该外链表加入tList列表,NMB自加1;
遍历完成后,若NMB=0,则当前表判断为对象表,将连接关系加入图中;
若NMB>0,则跳转S14;
S14.若tList列表中所有表的类型均已完成判断,则跳转S15;
否则,依次将tList列表中未判断的表作为当前表,跳转S12;
S15.若tList列表中对象表数量大于或等于2,则当前表判断为事务表;
否则当前表判断为对象表;
S16.对事务连通图的连通程度进行判断,当连通程度不够时,选择未被遍历的事务表跳转S12;
S17.循环步骤S11至S16,直至与初始主事务表相关的表均已被遍历并完成类型判断。
4.如权利要求1所述的面向供应链采购的多视角数据维度模型的构建方法,其特征在于,步骤S2进一步包括如下步骤:
S21.选择初始主事务表作为当前生成事务表M-table;
S22.若M-table不作为其它任何事务表的外链表,且尚未生成对应的数据维度模型,则跳转S24;
否则,跳转S23;
S23.将外链M-table的另一事务表O-table作为新的M-table,并跳转S22;
S24.读取M-table中第一条业务数据,并根据M-table的tList列表中的外键字段,找到对应的外链表;
读取tList列表,将tList列表中属于事务表的外链表进行关联;
并根据M-table中第一条业务数据找到外链表中对应的数据,将该数据作为当前待抽取数据,跳转S25;
S25.根据针对于当前待抽取数据的目标字段的抽取条件,从当前待抽取数据中抽取满足抽取条件的目标字段,并将抽取得到的目标字段加入对应的元组结构中,所述元组结构包括对应事务表的事务元组结构filed-T以及对应对象表的对象元组结构filed-O;
S26.循环步骤S24至S25,直至M-table的tList列表中所有事务表的事务元组完成抽取;
S27.将M-table中第一条业务数据本身作为当前待抽取数据,跳转S25;
S28.对各事务表或对象表的元组结构进行组合处理,生成元单位的维度模型;
将元单位的维度模型的数据存入数据集市中的单独数据表中;
S29.重复步骤S21至S28,直至M-table中每一条数据均生成了其对应的维度模型,并存入数据集市中;
S2910.重复步骤S21至S29,直至生成每个事务表其对应视角的数据维度模型。
5.如权利要求4所述的面向供应链采购的多视角数据维度模型的构建方法,其特征在于,步骤S25进一步包括如下步骤:
S251.为当前待抽取数据创建元组结构,并逐项遍历该事务表中的所有字段,当字段为字符串型字段、浮点型小数字段、整数型字段、事件或日期字段时,将满足抽取条件的字段加入事务元组结构filed-T;
S252.当字段为外键字段,且外键对应的外链表为对象表时,则通过计算变量L以判断是否进行对象元组抽取,公式表示为:
上式中,LT lk 指其它事务表外键包含当前对象表的数量,LO lk 指其它对象表外键包含当前对象表的数量,LT to 指当前对象表的外键关联事务表的数量,LO to 指当前对象表的外键关联对象表的数量;
其中,当L<0时,跳转S253;
否则,根据外键字段找到外链对象表对应的所有对象表,创建其元组结构,并逐项遍历对象表中的所有字段,当字段为字符串型字段、浮点型小数字段、整数型字段、事件或日期字段时,将满足抽取条件的字段加入对象元组结构filed-O;
当字段为外键字段,且外键对应的外链表为配置表时,则将配置表中除关联ID字段外所有数据内容加入filed-O:
若外链表为另一对象表,则重复S252;
S253.重复步骤S251至S252,直至当前待抽取数据的所有字段遍历完成;
S254.重复步骤S251至S253,直至M-table中第一条业务数据所有对应的数据完成事务元组抽取。
6.如权利要求5所述的面向供应链采购的多视角数据维度模型的构建方法,其特征在于,步骤S251中将满足抽取条件的字段加入事务元组结构filed-T具体包括如下步骤:
当字段为字符串型字段时,计算此时的比例商值B1:
上式中,n fs 指此时filed-T中字符串型字段的数量,n fd 指此时filed-T中浮点小数型字段的数量,n f 指该事务表的总字段数;
其中,当B1<0.5时,将该字符串型字段值加入filed-T;
当字段为浮点型小数字段时,将其字段值加入filed-T;
当字段为整数型字段时,若满足下式,则不做处理,反之则加入filed-T,公式表示为:
上式中,V指该整数型字段值,con max 指该业务系统中所有配置参数的最大值,con min 指该业务系统中所有配置参数的最小值;
当字段为事件或日期字段时,将其字段值加入filed-T,并对格式进行统一。
8.如权利要求4所述的面向供应链采购的多视角数据维度模型的构建方法,其特征在于,步骤S28进一步包括如下步骤:
假设M-table中有N个事务表,采用笛卡尔相乘法对N个事务表数据中的元组进行处理,以Nlist中不同数据项的数据最大的filed-T作为最左侧字段,依次将其它filed-T与filed-O进行组合,生成元单位的维度模型的详细数据,其中,Nlist指N个事务表中可关联的数据条数。
9.如权利要求4-8任一项所述的面向供应链采购的多视角数据维度模型的构建方法,其特征在于,所述方法还包括:
S3.基于不同视角的数据维度模型结构,生成多维视角访问主表c-table,用以分析查询。
10.如权利要求9所述的面向供应链采购的多视角数据维度模型的构建方法,其特征在于,步骤S3进一步包括如下步骤:
S31.创建哈希结构的快表,以事务表的名称为键,以链表作为值;
S32.逐个遍历不同视角的数据维度模型结构,若发现某事务表的filed-T,则将该事务表第一条数据的filed-T中的首个字段位置POS插入到访问主表c-table中;
S33.检查该事务表作为键的对应值是否为空,若为空,则创建链表头部,并将POS放入头部之后;
若不为空,则将POS放入最后一个POS之后;
S34.检查深度平衡值D:
上式中,Link Max 指快表中最长链表的长度值,n t 指已遍历统计到的事务表数量;
其中,当D>1时,切换到其它视角的数据维度模型结构继续遍历;
S35.重复步骤S31至S34,直至所有事务表的filed-T均已遍历;
S36.将访问主表c-table与不同视角的数据维度模型一同存放在数据集市中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111230103.3A CN113672598B (zh) | 2021-10-22 | 2021-10-22 | 一种面向供应链采购的多视角数据维度模型的构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111230103.3A CN113672598B (zh) | 2021-10-22 | 2021-10-22 | 一种面向供应链采购的多视角数据维度模型的构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672598A CN113672598A (zh) | 2021-11-19 |
CN113672598B true CN113672598B (zh) | 2022-01-21 |
Family
ID=78550808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111230103.3A Active CN113672598B (zh) | 2021-10-22 | 2021-10-22 | 一种面向供应链采购的多视角数据维度模型的构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672598B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185713B (zh) * | 2022-09-08 | 2022-12-02 | 国能(北京)商务网络有限公司 | 供应链协同中的数据语义协商方法及业务信息交换方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214176A (zh) * | 2010-04-02 | 2011-10-12 | 中国人民解放军国防科学技术大学 | 超大维表的切分与表连接方法 |
CN102867066A (zh) * | 2012-09-28 | 2013-01-09 | 用友软件股份有限公司 | 数据汇总装置和数据汇总方法 |
CN105488231A (zh) * | 2016-01-22 | 2016-04-13 | 杭州电子科技大学 | 一种基于自适应表维度划分的大数据处理方法 |
CN109657066A (zh) * | 2018-11-19 | 2019-04-19 | 平安科技(深圳)有限公司 | 基于多视角的知识图谱构建方法、装置和计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11036929B2 (en) * | 2017-11-15 | 2021-06-15 | Adaptam Inc. | Methods and systems for connecting a spreadsheet to external data sources with ordered formulaic use of data retrieved |
-
2021
- 2021-10-22 CN CN202111230103.3A patent/CN113672598B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102214176A (zh) * | 2010-04-02 | 2011-10-12 | 中国人民解放军国防科学技术大学 | 超大维表的切分与表连接方法 |
CN102867066A (zh) * | 2012-09-28 | 2013-01-09 | 用友软件股份有限公司 | 数据汇总装置和数据汇总方法 |
CN105488231A (zh) * | 2016-01-22 | 2016-04-13 | 杭州电子科技大学 | 一种基于自适应表维度划分的大数据处理方法 |
CN109657066A (zh) * | 2018-11-19 | 2019-04-19 | 平安科技(深圳)有限公司 | 基于多视角的知识图谱构建方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113672598A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6338053B2 (en) | Inventory managing method for automatic inventory retrieval and apparatus thereof | |
US7788305B2 (en) | Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node | |
US7530012B2 (en) | Incorporation of spreadsheet formulas of multi-dimensional cube data into a multi-dimensional cube | |
US9639814B2 (en) | Automated default dimension selection within a multidimensional enterprise software system | |
US7716253B2 (en) | Centralized KPI framework systems and methods | |
RU2370808C2 (ru) | Система и способ для отображения данных с вложенными таблицами без схемы | |
US8131533B2 (en) | Reporting model generation within a multidimensional enterprise software system | |
US7593955B2 (en) | Generation of aggregatable dimension information within a multidimensional enterprise software system | |
AU779250B2 (en) | Method and apparatus for populating multiple data marts in a single aggregation process | |
US7840606B2 (en) | Systems, methods, and articles of manufacture for performing product availability check | |
US20060117057A1 (en) | Automated relational schema generation within a multidimensional enterprise software system | |
US20100262581A1 (en) | Order commitment method and system | |
EP1465062A2 (en) | Dynamically generated user interface for business application integration | |
US20100114355A1 (en) | Method and system for management of manufacturing information | |
CN113672598B (zh) | 一种面向供应链采购的多视角数据维度模型的构建方法 | |
Berkani et al. | Value-driven Approach for Designing Extended Data Warehouses. | |
US8639590B2 (en) | Systems, methods, and articles of manufacture for checking availability of products | |
CN101297290A (zh) | 用于控制关系型数据库系统的方法 | |
US20160342919A1 (en) | System and Method of Scenario Versioning | |
JP2007293874A (ja) | 文書の圧縮格納方法及び装置 | |
US9400814B2 (en) | Hierarchy nodes derived based on parent/child foreign key and/or range values on parent node | |
US8515947B2 (en) | Analyzing XML data | |
CN114996298A (zh) | 一种高效的跨主体跨流程个性化服务流程节点归并方法 | |
CN112764749A (zh) | 一种软件功能界面组的生成方法及系统 | |
Krompaß et al. | Data staging for OLAP-and OLTP-applications on RFID data |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |