一种多层结构关系数据库的存储方法

文档序号:6537677阅读:422来源:国知局
一种多层结构关系数据库的存储方法
【专利摘要】本发明公开了一种基于关系数据库的数据存储方法,当对象的属性发生变化时,不需要修改数据库表的结构,给系统开发、维护带来了极大的方便。本发明提供的基于关系数据库的数据存储方法,包括如下步骤:创建数据存储的五层架构,包括一级索引表、二级索引表、三级索引表、数据属性主存储表和对象属性定义索引表;在对象属性定义索引表中插入对象属性定义索引数据;根据上位机传输的数据和下位机传输的数据,在一级索引表、二级索引表和三级索引表中依次插入数据,并根据对象属性定义索引数据中的代码和三级索引表中的三级外键,插入数据属性主存储表数据。
【专利说明】一种多层结构关系数据库的存储方法
[0001]
【技术领域】
[0002]本发明属于工业数据库存储【技术领域】,尤其是涉及一种适用于冶金、化工等领域的基于关系数据库的五层架构数据存储方法。
[0003]
【背景技术】
[0004]一般常用的数据存储于数据库中,不同的系统设计一套不同的数据表结构,当存储对象的属性发生变化时,例如需要增加新的属性时,就需要修改数据库表的结构,这不但造成数据存储系统不通用,而且也带来了大量的后期修改和维护工作,给系统的开发、维护带来不便。
[0005]

【发明内容】

[0006]为解决上述问题,本发明公开了一种基于关系数据库的数据存储方法,当对象的属性发生变化时,不需要修改数据库表的结构,给系统开发、维护带来了极大的方便。
[0007]为了达到上述目的,本发明提供如下技术方案:
一种基于关系数据库的数据存储方法,包括如下步骤:
步骤1,创建数据存储的五层架构,包括一级索引表、二级索引表、三级索引表、数据属性主存储表和对象属性定义索引表,其中,
一级索引表,用于存储数据对象的一级主关键字,以及与二级索引表之间关联的一级外键;其中一级外键对应二级索引表的二级主关键字;
二级索引表用于存储数据对象的二级主关键字,与三级索引表之间关联的二级外键,以及二级辅助属性;其中二级外键对应三级索引表的三级主关键字,二级主关键字对应一级索引表的一级外键;
三级索引表用于存储数据对象的三级主关键字,与数据属性主存储表之间关联的三级外键,以及三级辅助属性;其中三级外键对应数据属性主存储表的属性主关键字,三级主关键字对应二级索引表的二级外键;
数据属性主存储表用于存储数据对象的的各属性数据,包括属性主关键字、关联码和属性数据,其中属性主关键字对应三级索引表的三级外键,关联码对应对象属性定义索引表的代码;
对象属性定义索引表用于存储数据对象属性的代码和属性定义的说明;
其中,一级主关键字用于存储工业生产主索引,二级辅助属性用于存储生产工位索引,三级辅助属性用于存储工业生产阶段索引;
步骤2,在对象属性定义索引表中插入对象属性定义索引数据;
步骤3,接收上位机发出的数据信号,在一级索引表中插入数据,从上位机数据中获得工业生产主索引存储在一级主关键字中,并自动生成一级外键;
步骤4,在二级索引表中插入至少一条数据,其中每条记录的二级主关键字与一级外键相同,二级辅助属性中存储生产的各个工位索引,并自动生成二级外键;
步骤5,接收下位机发送的生产阶段结束数据信号,在三级索引表中插入一条记录,其中三级主关键字与二级外键相同,该二级外键为生产阶段所属工位在二级索引表中存储时对应的二级外键,且下位机数据中的生产阶段索引存储入三级辅助属性中,并自动生成三级外键,
步骤6,在数据属性主存储表中插入数据,其中属性主关键字与三级外键相同,关联码与对象属性定义索引表的代码相同,属性数据中存储工业生产阶段的相关数据。
[0008]进一步的,所述一级索引表的主关键字中存储出钢计划号,所述二级索引表的二级辅助属性中存储钢水的生产工位属性索引,所述三级索引表的三级辅助属性中存储钢水在相应工位的生产阶段属性索引。
[0009]有益效果:本发明提供的数据库的存储方法,在工业数据对象的属性发生变化时,不需要修改数据存储装置,直接增加一条数据即可,避免了对数据库结构的整体修改,减少了数据库的维护量,本发明通用于需要进行分阶段操作并进行数据记录的冶金、化工等各种领域中工艺方法的数据存储。
【专利附图】

【附图说明】
[0010]图1为本发明提供的五层架构数据库结构示意图。
[0011]
【具体实施方式】
[0012]以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述【具体实施方式】仅用于说明本发明而不用于限制本发明的范围。
[0013]我们以炼钢过程控制系统的数据存储为例,首先需要创建数据存储的五层架构,如图1所示,包括一级索引表——出钢计划索引表(PLAN_INDEX)、二级索引表——生产工位索引表(PRUDUCT10N_INDEX )、三级索引表——生产工序索引表(PHASE_INDEX )、数据属性主存储表——实绩数据存储表(ACT_DATA)和对象属性定义索引表(ACT_DATAINDEX),其中,
出钢计划索引表(PLAN_INDEX):包括PIDl表示出钢计划对应的计划号,FIDl表示出钢计划对应的生产工位索引表的主关键字;
生产工位索引表(PRUDUCTION_INDEX):包括PID2对应出钢计划索引表的FID1,AID2表示炼钢生产的工位索引,如包括转炉、LF精炼炉、连铸等工位,FID2表示生产工位对应的三级索引表的主关键字;
生产工序索引表(PHASE_INDEX):包括PID3对应生产工位索引表的FID2,AID3表示对应工位下的的各冶炼阶段的索引,包括转炉吹炼阶段、出钢阶段等工序,FID3对应实绩数据存储表的属性族关键字(一组属性关键字)。
[0014]实绩数据存储表(ACT_DATA):包括PID4、ATID4 (attribute id),PID4 对应生产工序索引表的FID3,ATID4对应对象属性定义索引表的VID,另外在ACT_DATA还需要存储工业数据,本例中采用NDATA和SDATA两个字段存储数据,其中NDATA用于存储数值型的数据(如整数、浮点数),SDATA用于存储字符型的数据(除数值型的外,全部转化为字符型数据)。
[0015]对象属性定义索引表(ACT_ DATAINDEX):包括VID表示实绩数据的代码,VE表示实绩数据的含义。
[0016]上述这些数据表中仅仅列出了最为关键的字段,根据需要,在各表中还可加入其它字段用于存储数据,例如在出钢计划索引表(PLAN_I NDEX )中还可包括PR0DUCT_I D,PR0DUCT_ID表示生产钢水炉次,即该炉次生产的制造命令号,一炉钢水只有一个制造命令号(制造命令号表示要生产的一炉钢水的唯一代号,终身不变,来自于上位机)。
[0017]我们知道,钢水生产时上位机会发布出钢计划;在该计划中,钢水在各生产工位进行生产,生产工位包括转炉、精炼炉、连铸等;钢水在某一生产工位具有各个不同的阶段,如转炉生产的吹炼阶段、出钢阶段、溅渣护炉阶段等。
[0018]以炼钢转炉生产控制系统为例,假设根据工艺要求,需要增加新的数据项“转炉出钢用时”(指出刚开始到出钢结束的时间间隔)。
[0019]首先,我们在表ACT_ DATAINDEX中增加新的记录,其中VID表示转炉出钢用时的代码,该代码可根据需要设定或自动编号,本例中设为110032 ;VE存储VID为110032的含义,即“转炉出钢用时”。
[0020]在接收上位机发送的出钢计划时,在表PLAN_INDEX增加相应的记录,其中出钢计划对应的计划号存储在PIDl中,由系统自动生成FIDl,FIDl可从I开始依次生成;同时在PRUDUCTION_INDEX表中插入多条记录;其中每条记录的PID2=FID1,AID2中存储炼钢生产的各个工位号,此处仅以存储转炉生产的数据记录为例,AID2= “B0F”,对应的FID2自动生成,其中“B0F”表示转炉工位,若AID2= “CC”则表示连铸工位;
在系统收到下位机发送的出钢结束的状态信号(该信号中包括大量的工位数据、阶段数据、例如当前工位、当前阶段、出钢结束时刻等等)时,在表PHASE_INDEX中插入一条记录,其中 PID3=FID2 且 AID3= “ ” “ ” “ ” “ ” “ ” “ ” “ ” “ ” “ ” “ ” “ ’ ‘ ”TAPPINGIN”的记录,对应的 FID3 自动生成,其中 AID3= “ ” “ ” “ ” “ ” “ ” “ ” “ ” “ ” “ ” “ ” “ ’ ‘ ”TAPPINGIN”表示出钢阶段,是根据系统收到下位机的转炉生产状态的状态定义,如AID3= “B0FSTART”则表示炉次开始开始阶段;
在ACT_DATAINDEX表中查找VE^转炉出钢用时”的记录,得到VID为110032 ;根据相应的方法(例如查找下位机发送的出钢阶段开始时间或前一个阶段结束的时间,具体的方式可以根据现场对数据的精度需求和数据获取难易程度自行决定)查找出钢开始的时间,与系统的当前时间计算时间差,假设为350秒,将该数据值插入表ACT_DATA中,具体为:在表ACT_DATA 中插入记录,其中 PID 4= FID3、ATID4 = 110032,NDATA=350,SDATA=NULL (NULL表示为空)。
[0021]在传统的数据库架构中,增加一个数据项,需要修改需要增加数据项的表,增加一个新的字段,并需要修改涉及到增加新字段的表的所有非数据库程序,增加了大量的维护工作。而通过本发明提供的五层架构数据存储方法,在新的数据库架构中,增加一个数据项时,仅仅需要在ACT_DATAINDEX表中增加一条记录即可;完全不修改需要数据库表的结构;由于数据库表结构无需修改,因此在也仅仅需要修改涉及数据项的数据库程序程序和非数据库程序,而不是涉及整张 表的程序。
[0022]本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
【权利要求】
1.一种基于关系数据库的数据存储方法,其特征在于,包括如下步骤: 步骤1,创建数据存储的五层架构,包括一级索引表、二级索引表、三级索引表、数据属性主存储表和对象属性定义索引表,其中, 一级索引表,用于存储数据对象的一级主关键字,以及与二级索引表之间关联的一级外键;其中一级外键对应二级索引表的二级主关键字; 二级索引表用于存储数据对象的二级主关键字,与三级索引表之间关联的二级外键,以及二级辅助属性;其中二级外键对应三级索引表的三级主关键字,二级主关键字对应一级索引表的一级外键; 三级索引表用于存储数据对象的三级主关键字,与数据属性主存储表之间关联的三级外键,以及三级辅助属性;其中三级外键对应数据属性主存储表的属性主关键字,三级主关键字对应二级索引表的二级外键; 数据属性主存储表用于存储数据对象的的各属性数据,包括属性主关键字、关联码和属性数据,其中属性主关键字对应三级索引表的三级外键,关联码对应对象属性定义索引表的代码; 对象属性定义索引表用于存储数据对象属性的代码和属性定义的说明; 其中,一级主关键字用于存储工业生产主索引,二级辅助属性用于存储生产工位索引,三级辅助属性用于存储工业生产阶段索引; 步骤2,在对象属性定义索引表中插入对象属性定义索引数据; 步骤3,接收上位机发出的数据信号,在一级索引表中插入数据,从上位机数据中获得工业生产主索引存储在一级主关键字中,并自动生成一级外键; 步骤4,在二级索引表中插入至少一条数据,其中每条记录的二级主关键字与一级外键相同,二级辅助属性中存储生产的各个工位索引,并自动生成二级外键; 步骤5,接收下位机发送的生产阶段结束数据信号,在三级索引表中插入一条记录,其中三级主关键字与二级外键相同,该二级外键为生产阶段所属工位在二级索引表中存储时对应的二级外键,且下位机数据中的生产阶段索引存储入三级辅助属性中,并自动生成三级外键, 步骤6,在数据属性主存储表中插入数据,其中属性主关键字与三级外键相同,关联码与对象属性定义索引表的代码相同,属性数据中存储工业生产阶段的相关数据。
2.根据权利要求1所述的基于关系数据库的数据存储方法,其特征在于:所述一级索引表的主关键字中存储出钢计划号,所述二级索引表的二级辅助属性中存储钢水的生产工位属性索引,所述三级索引表的三级辅助属性中存储钢水在相应工位的生产阶段属性索引。
【文档编号】G06F17/30GK103823850SQ201410049910
【公开日】2014年5月28日 申请日期:2014年2月13日 优先权日:2014年2月13日
【发明者】梁明芹, 王绪国 申请人:南京梅山冶金发展有限公司, 上海梅山科技发展有限公司, 上海梅山钢铁股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1