CN108710677B - 通过NoSQL数据库实现BOM数据多组织多视图的解决方法 - Google Patents
通过NoSQL数据库实现BOM数据多组织多视图的解决方法 Download PDFInfo
- Publication number
- CN108710677B CN108710677B CN201810477372.1A CN201810477372A CN108710677B CN 108710677 B CN108710677 B CN 108710677B CN 201810477372 A CN201810477372 A CN 201810477372A CN 108710677 B CN108710677 B CN 108710677B
- Authority
- CN
- China
- Prior art keywords
- bom
- tree
- document
- view
- attribute
- 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.)
- Expired - Fee Related
Links
Images
Abstract
通过NoSQL数据库实现BOM数据的多组织多视图的解决方法。多组织是指大型企业中的多个业务组织以及上下级关系构成的网状关系,业务组织如设计、工艺、生产、销售、采购等,上下级关系如集团和分厂等。多视图,是指对应于同一产品的BOM树,不同的业务组织定义、维护、查看的内容或者值是不同的。比如常见的工时定额,在集团工艺部门维护的值,与A分厂或者B分厂维护的值是不同的。所以,对于BOM树中节点任何同一属性,在NoSQL数据中可以存储多个值,这些值用TAG进行区分。定义视图的时候,通过一个TAG或者多个TAG定义属性的取值。通过视图定义,为不同的业务组织展示不同的BOM结构、节点属性和属性的值。
Description
技术领域
本发明涉及离散制造行业的BOM系统。
背景技术
对于大型的离散制造企业,通常有以下的典型业务需求:其一,多组织架构,即BOM数据需要与企业组织相结合,如对于同一产品,在A工厂生产与在B工厂生产存在差异;其二,多视图,对于同一BOM数据,不同的业务部门、集团/公司/车间等的关注点不同,因此提供集团视图和公司视图是一个有效的方式;其三,异构数据,通常生产包括多家外协公司协同生产,不同公司数据的数据结构不同;其四,海量数据。
为满足上述业务需求,采用关系数据的已经提出了不少解决方案,但是有不少局限性:1)表结构复杂,理解困难,开发工作量大。2)存储大量数据的时候,处理效率低下,用户体验度低;比如,需要耗费相当时间才能检索出一棵完整的BOM树。3)受限于关系数据库,数据格式的灵活性差。
发明内容
本发明的目的是克服现有技术存在的上述问题,提供一种通过NoSQL数据库实现BOM数据多组织多视图的解决方法。
本发明的技术方案
通过NoSQL数据库实现BOM数据多组织多视图的解决方法,具体步骤如下:
1)元数据定义:同一属性,在NoSQL数据库中存储多个值;这些值用TAG进行区分,不要求每个TAG都需要维护值。
举例,对于属性A,设计部门定义值为2,工艺部门定义值为3,生产部门定义值为4,需要在NoSQL数据库中都存储属性A和其对应的不同的值。现在定义,TAG=1对应的值为设计部门的值,TAG=4为工艺部门的值,TAG=6为生产部门的值,那么在NoSQL存储的内容为:{属性A:{1:2,4:3,6:4}}。通过这种方式,一个属性可以存储不同的值,这些值通过TAG进行区分。
TAG需要在系统初始化的时候定义,并且一旦定义就不能更改。
2)数据存储:
a)以一颗BOM树存储作为一个文档,文档名即为根节点物料的组件编码,通过组件编码能够快速定位到文档(见图1,对应物料M001的存储组织方式);
b)BOM树中的一个物料存储为文档中的一条记录;物料之间的关系通过引用的方式存储;即BOM树中的一个组件/零件的关系,存储为引用关系,而非采用嵌套的方式;
c)BOM树的节点中的属性存储的是该记录的属性;同一属性根据TAG值不同,可以存储不同的值;比如,对应属性A,可以有两个值4(TAG=0)和4.5(TAG=2),那么存储为{属性A:{0:4,2:4.5}};
d)当修改BOM数据的时候,在对应的历史文档中新增一条记录,记录更改的相关信息;同时备份修改前文档,
e)备份文档的文件名为当前文档名加前缀BAK_和后缀,后缀为版本号,备份文档的文档名存储到历史文档中的当前记录;
f)通过对应的历史文档,可以完整的记录BOM数据的修改历史;
3)视图定义:
BOM视图的定义包括两部分的内容:
c)属性列表以及属性的先后顺序;
d)TAG列表,以及TAG之间的优先关系:
如果定义了多个TAG,根据优先关系得到对应的值;如果定义的TAG都没有值,则取TAG=0对应的默认值;如果TAG=0也没有定义值,则返回空值;
例如,对应属性A,定义包括TAG=[1,2,4],其取值优先顺序为4,2,1,那么先取TAG=4的值,如果TAG=4没有值,则取TAG=2的值,依次类推,如果TAG=[1,2,4]都没有值,则取TAG=0的值(默认值);如果TAG=0也没有值,则返回空值;
其对应的业务逻辑如下(示意性说明):如果车间定义了属性的值,则取车间定义的值,否则取分厂定义的值,如果分厂也没有定义值,则取总厂的值,否则取默认值。如果默认值为空,则返回空值。
4)视图映射(参见图2):
a)BOM树读取:完整读取一个BOM对应的文档;
b)BOM在内存中构建树:为了避免通过递归的方式构建树,在存储BOM树的时候,把BOM树按先父节点,再第一个子节点,第二个子节点等的顺序展开为一个数组,然后记录当前节点和父节点在数组中的序号。当读取BOM树的时候,顺序读取数据在内存中构建一个数组,然后根据数组的序号快速构建树。
c)根据视图定义过滤树:根据步骤3)视图定义规则,先过滤属性,再根据定义的TAG获得属性的值,然后把结果重新构建为一颗新的树,即BOM的一个视图。
5)视图展现:把视图映射后的新的树展现给用户。对于NoSQL数据库存储的同一个文档,根据视图定义的不同,展现给不同的用户的BOM树,可能有不同的树结构,节点属性以及节点属性不同的值。
本发明的优点和有益效果:
简单。为满足BOM的多组织多视图的业务需求,相对于采用关系数据库的解决方案,本发明简单明了,易于实现。避免了复杂的表结构和业务逻辑。
快速。其一,一个组件的BOM数据存储为一个文档,可以快速检索到当前BOM文档。其二,关系数据库BOM数据库存储于一张或者几张表,造成表单数据量大,查询耗时,而本发明一个组件对应为一个文档,每次完整读取文档,基本不需要数据检索时间。其三,由于不需要采用递归的方式构建树,可以快速的在内存中构建完成的BOM树。
大数据。通过采用NoSQL数据库,克服了关系数据库的局限,可以存储大量数据而且不用降低性能。
数据结构灵活。这是NoSQL数据库相对于关系数据库的一个特点。
附图说明
图1 BOM树在NoSQL数据库的存储组织方式。
图2 BOM树根据视图定义进行视图映射的示意图。
图3 一棵示例用的BOM树,括号内为默认的装配数量。
图4 一棵示例用的BOM树的展开顺序。括号内第一个数字表示当前节点的展开顺序,第二个数字表示父节点所在的顺序。用于展示如何顺序存储树的节点,以及快速(非递归的方式)构建树。
图5 一棵树对应一个文档,一个文档的示意数据在NoSQL数据中存储的内容。
图6 同一BOM数据映射为不同视图的示意图。
图7 实现本发明的软件功能模块示意图。
具体实施方式
假设一个集团A,下属两家分厂B和C。
定义TAG:TAG=0对应的值为默认值,TAG=1为集团用户,TAG=2为B分厂,TAG=3为C分厂。其值的优先顺序为,如果分厂有定义,则采用分厂的值,如果分厂没有定义值,则采用集团的值。如果都没有定义,则采用默认值。
假设BOM属性有上级物料(默认属性),数量,颜色等。
定义BOM视图,分别为视图1,对应集团A,视图包括的属性为上下级物料,数量,颜色,TAG=[1,2],定义优先级为(2,1)即TAG=2的值优先级高于TAG=1的值;
组件M001对应的BOM树,参见图3。
在内存中构建完整的BOM树,存储时候,根据展开顺序对节点进行排序,参见图4。
组件M001的BOM信息单独存储于一个文档(参见图5),文档名称为M001。这样,通过组件图号,可以快速得到对应的BOM数据。
读取M001的BOM数据,首先,完整的读取BOM数据。在内存中构建完整的BOM树。
根据视图定义的属性和TAG,对BOM树进行过滤。过滤后的树即该BOM视图展示的内容(参见图6)。
实现本发明的软件功能参考功能模型可参见图7。
Claims (1)
1.通过NoSQL数据库实现BOM数据多组织多视图的解决方法,其特征在于,具体步骤如下:
1)元数据定义:同一属性,在NoSQL数据库中存储多个值;这些值用TAG进行区分,不要求每个TAG都需要维护值;
2)数据存储:
a)以一颗BOM树存储作为一个文档,文档名即为根节点物料的组件编码,通过组件编码能够快速定位到文档;
b)BOM树中的一个物料存储为文档中的一条记录;物料之间的关系通过引用的方式存储;即BOM树中的一个组件与另外一个组件或者零件的关系,存储为引用关系,而非采用嵌套的方式;
c)BOM树的节点中的属性存储的是该记录的属性;同一属性根据TAG值不同,存储不同的值;
d)当修改BOM数据的时候,在对应的历史文档中新增一条记录,记录更改的相关信息;同时备份修改前文档;
e)备份文档的文件名为当前文档名加前缀BAK_和后缀,后缀为版本号,备份文档的文档名存储到历史文档中的当前记录;
f)通过对应的历史文档,能够完整的记录BOM数据的修改历史;
3)视图定义:
BOM视图的定义包括两部分的内容:
a)属性列表以及属性的先后顺序;
b)TAG列表,以及TAG之间的优先关系:
如果定义了多个TAG,根据优先关系得到对应的值;如果定义的TAG都没有值,则取TAG=0对应的默认值;如果TAG=0也没有定义值,则返回空值;
4)视图映射:
a)BOM树读取:完整读取一个BOM对应的文档;
b)BOM在内存中构建树:为了避免通过递归的方式构建树,在存储BOM树的时候,把BOM树按先父节点,再第一个子节点,第二个子节点的顺序展开为一个数组,然后记录当前节点和父节点在数组中的序号;当读取BOM树的时候,顺序读取数据在内存中构建一个数组,然后根据数组的序号快速构建树;
c)根据视图定义过滤树:根据步骤3)视图定义规则,先过滤属性,再根据定义的TAG获得属性的值,然后把结果重新构建为一颗新的树,即BOM的一个视图;
5)视图展现:把视图映射后的新的树展现给用户;对于NoSQL数据库存储的同一个文档,根据视图定义的不同,展现给不同的用户的BOM树,有不同的树结构,节点属性以及节点属性不同的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810477372.1A CN108710677B (zh) | 2018-05-18 | 2018-05-18 | 通过NoSQL数据库实现BOM数据多组织多视图的解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810477372.1A CN108710677B (zh) | 2018-05-18 | 2018-05-18 | 通过NoSQL数据库实现BOM数据多组织多视图的解决方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108710677A CN108710677A (zh) | 2018-10-26 |
CN108710677B true CN108710677B (zh) | 2021-08-17 |
Family
ID=63868372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810477372.1A Expired - Fee Related CN108710677B (zh) | 2018-05-18 | 2018-05-18 | 通过NoSQL数据库实现BOM数据多组织多视图的解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108710677B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990997A (zh) * | 2019-10-26 | 2020-04-10 | 重庆铁马工业集团有限公司 | 一种箱体参数化工艺模板的设计方案 |
CN112363756B (zh) * | 2020-12-04 | 2022-06-21 | 四川长虹电器股份有限公司 | 一种可动态切换bom版本的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124574A (zh) * | 2004-04-30 | 2008-02-13 | 微软公司 | 元数据导航和分配的属性树 |
CN101364288A (zh) * | 2008-09-03 | 2009-02-11 | 于万钦 | 基于soa架构的bom容器构建方法 |
CN102508706A (zh) * | 2011-11-18 | 2012-06-20 | 北京航空航天大学 | 一种多源数据集成平台及其构建方法 |
CN103064877A (zh) * | 2012-11-13 | 2013-04-24 | 北京航天情报与信息研究所 | 一种基于xml的制造bom存储模型构建方法 |
CN105303326A (zh) * | 2015-11-13 | 2016-02-03 | 上海交通大学 | 基于资源元模型的产品全生命周期信息系统 |
CN105718515A (zh) * | 2016-01-14 | 2016-06-29 | 神策网络科技(北京)有限公司 | 数据存储系统及其方法和数据分析系统及其方法 |
CN107077652A (zh) * | 2014-08-15 | 2017-08-18 | 元件Scm(开曼)有限公司 | 用于确定和分析事件在网络上的影响严重性的方法 |
CN107122252A (zh) * | 2017-04-21 | 2017-09-01 | 京东方科技集团股份有限公司 | 一种系统间交互方法和装置 |
CN107168263A (zh) * | 2017-06-16 | 2017-09-15 | 江南大学 | 一种基于大数据挖掘的针织mes生产计划与调度方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017513134A (ja) * | 2014-04-02 | 2017-05-25 | セマンティック テクノロジーズ ピーティーワイ リミテッド | オントロジーマッピング方法及び装置 |
US11625424B2 (en) * | 2014-04-24 | 2023-04-11 | Semantic Technologies Pty Ltd. | Ontology aligner method, semantic matching method and apparatus |
-
2018
- 2018-05-18 CN CN201810477372.1A patent/CN108710677B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124574A (zh) * | 2004-04-30 | 2008-02-13 | 微软公司 | 元数据导航和分配的属性树 |
CN101364288A (zh) * | 2008-09-03 | 2009-02-11 | 于万钦 | 基于soa架构的bom容器构建方法 |
CN102508706A (zh) * | 2011-11-18 | 2012-06-20 | 北京航空航天大学 | 一种多源数据集成平台及其构建方法 |
CN103064877A (zh) * | 2012-11-13 | 2013-04-24 | 北京航天情报与信息研究所 | 一种基于xml的制造bom存储模型构建方法 |
CN107077652A (zh) * | 2014-08-15 | 2017-08-18 | 元件Scm(开曼)有限公司 | 用于确定和分析事件在网络上的影响严重性的方法 |
CN105303326A (zh) * | 2015-11-13 | 2016-02-03 | 上海交通大学 | 基于资源元模型的产品全生命周期信息系统 |
CN105718515A (zh) * | 2016-01-14 | 2016-06-29 | 神策网络科技(北京)有限公司 | 数据存储系统及其方法和数据分析系统及其方法 |
CN107122252A (zh) * | 2017-04-21 | 2017-09-01 | 京东方科技集团股份有限公司 | 一种系统间交互方法和装置 |
CN107168263A (zh) * | 2017-06-16 | 2017-09-15 | 江南大学 | 一种基于大数据挖掘的针织mes生产计划与调度方法 |
Non-Patent Citations (5)
Title |
---|
PDM and ERP integration methodology using digital manufacturing to support global manufacturing;Changho Len等;《International journal of Advanced manufacturing technology》;20111231;399-409页 * |
PDM中BOM数据的MapReduce遍历查询研究;梁利亮;《小型微型计算机系统》;20161215;第37卷(第12期);2085-2689页 * |
PDM中单一BOM数据源的NoSQL数据组织研究;夏秀峰等;《小型微型计算机系统》;20160715;第37卷(第7期);1440-1444页 * |
基于NoSQL的BOM数据组织与管理;梁利亮;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315;I138-3612页 * |
基于单一数据源的产品BOM多视图映射技术;魏志强等;《清华大学学报(自然科学版)》;20020630;第42卷(第6期);802-805页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108710677A (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100468402C (zh) | 一种数据存储及查询方法 | |
US8140545B2 (en) | Data organization and evaluation using a two-topology configuration | |
US9218409B2 (en) | Method for generating and using a reusable custom-defined nestable compound data type as database qualifiers | |
CN110618983A (zh) | 基于json文档结构的工业大数据多维分析与可视化方法 | |
CN109145121B (zh) | 一种时变图数据的快速存储查询方法 | |
US20090012983A1 (en) | System and method for federated member-based data integration and reporting | |
CN102999537A (zh) | 一种数据迁移系统和方法 | |
CN108710677B (zh) | 通过NoSQL数据库实现BOM数据多组织多视图的解决方法 | |
CN109710618A (zh) | 知识图谱数据关系分离的混合存储方法及系统 | |
CN106294374A (zh) | 小文件合并的方法和数据查询系统 | |
WO2007136959A2 (en) | Apparatus and method for recursively rationalizing data source queries | |
US7860903B2 (en) | Techniques for generic data extraction | |
CN111435347A (zh) | 数据库中关系表的高效扩展方法和系统 | |
WO2013175422A4 (en) | Methodology supported business intelligence (bi) software and system | |
US11461293B2 (en) | Processes and systems for onboarding data for a digital duplicate | |
CN103996104A (zh) | 一种生产流程可自定义的信息记录和溯源系统 | |
CN101833511A (zh) | 数据管理方法、装置和系统 | |
US20200174985A1 (en) | Computer implemented and computer controlled method, computer program product and platform for arranging data for processing and storage at a data storage engine | |
US20200201834A1 (en) | Systems and methods of efficient extensions of relational tables in a database | |
CN117034582A (zh) | 数字孪生建模方法、装置、计算机设备、存储介质 | |
CN111046113B (zh) | 用于不同类型数据仓库的数据检索装置及方法 | |
US8312052B2 (en) | Process for transforming and consulting directed and attributed multigraphs based on the use of maps and bitmaps | |
CN115982177A (zh) | 一种基于树形维度的数据归集的方法、装置、设备及介质 | |
CN112818069B (zh) | 一种基于动态模型的编目数据采集系统 | |
CN104834742A (zh) | 一种基于sca的etl架构管理方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210817 |
|
CF01 | Termination of patent right due to non-payment of annual fee |