一种用于数字钢卷系统的数据存储方法及装置与流程

文档序号:32751657发布日期:2022-12-31 01:12阅读:18来源:国知局
一种用于数字钢卷系统的数据存储方法及装置与流程

1.本发明属于数据存储、管理技术领域,具体涉及一种用于数字钢卷系统的数据存储方法及装置。


背景技术:

2.数字钢卷是依附在实物钢卷上的、与实物钢卷有关的一系列数据集合。以数字钢卷的形式来实现冷轧产品的全程可视化和数字化,可以为后续的大数据分析与挖掘,提供完善、准确、可靠的数据基础,是实现智能工厂最关键的一步。数据的管理和存储是数字钢卷最核心的过程之一。设备数据、操作记录、能耗数据、缺陷数据、工艺数据、成本数据以及用户信息等一系列的信息被收集成统一的数据。在数据库中,收集上来的数据被统一编码,并以钢卷为载体,按照长度方向进行赋值,从而产出与实物钢卷同步的数字钢卷。
3.典型的数字钢卷使用关系数据库存储数字钢卷信息,采用主从表,存储结构如下:
4.主表:
5.序号字段名称数据类型备注1idint自增,主键(或者采用guid)2工序号varchar索引3钢卷号varchar索引
6.从表:
[0007][0008][0009]
然而,随着系统的不断运行发现,数据的存储量不断膨胀,初期设计的硬件配置需要定期升级才能满足日益增加的数据需求,这无疑提高了使用成本。


技术实现要素:

[0010]
本发明的目的在于克服现有技术之缺陷,提供了一种用于数字钢卷系统的数据存储方法,采用本发明的方法存储数字钢卷能极大节省存储空间,可以满足数字钢卷日益增加的数据存储需求。
[0011]
本发明的技术方案是这样实现的:本发明公开了一种用于数字钢卷系统的数据存储方法,包括如下步骤:
[0012]
设定用于表达数字钢卷信息的半结构化数据模型,并在数据库中建立数字钢卷表与该半结构化数据模型一一对应;该半结构化数据模型的数据结构包括:id字段、工序号编
号、钢卷号编号、工艺参数编号、工艺参数的详细信息;
[0013]
在数据库中建立工序信息表,包含两个字段,第一字段为工序号编号,数据类型采用数字类型,且设置为主键;第二字段为工序号名称,数据类型采用字符串类型,且设置为索引;
[0014]
在数据库中建立钢卷号信息表,包含两个字段,第一字段为钢卷号的编号,数据类型采用数字类型,且设置为主键;第二字段为钢卷号,数据类型采用字符串类型,且设置为索引;
[0015]
在数据库中建立参数信息表,包含两个字段,第一字段为参数编号,数据类型采用数字类型,且设置为主键;第二字段为参数名称,数据类型采用字符串类型,且设置为索引;
[0016]
获取生产信息形成数字钢卷,数字钢卷包括工序号、钢卷号、工艺参数名称、工艺参数详细信息,给各个数字钢卷分配唯一id,并将该id与数字钢卷信息对应存入数字钢卷表、工序信息表、钢卷号信息表、参数信息表中。
[0017]
其中存入数字钢卷表的数据按照s1所述的半结构化方式。
[0018]
进一步地,id字段的数据类型为int,工序号编号的数据类型为byte,钢卷号编号的数据类型为int,工艺参数编号的数据类型为short;工艺参数的详细信息的数据类型为byte数组。
[0019]
进一步地,将id字段设置为主键,工序号编号、钢卷号编号、工艺参数编号都设置为索引;工艺参数详细信息是工序号编号、钢卷号编号、工艺参数编号的详细工艺数据,包括了一组长度及该长度对应的值。
[0020]
给各个数字钢卷分配唯一的id字段采用全局静态变量。每次取出数据后自增1,确保下次取出的数据不同。
[0021]
进一步地,工序号名称为字符串,得到工序号名称后,从工序信息表查询该工序号名称,如果查询到至少一行结果,则返回第一行结果的工序号编号,否则,获取工序信息表中的最大工序号编号,如工序信息表为空则最大工序号编号为0,然后将最大工序号编号加1,形成新的工序号编号,将新的工序号编号和被查询的工序号名称对应插入到工序信息表中,然后将新的工序号编号返回给数字钢卷表存储。
[0022]
进一步地,钢卷号为字符串,得到钢卷号后,从钢卷号信息表查询该钢卷号,如果查询到至少一行结果,则返回第一行结果的钢卷号编号;否则,获取钢卷号信息表中的最大钢卷号编号,如钢卷号信息表为空则最大钢卷号编号为0,然后将最大钢卷号编号加1,形成新的钢卷号编号,将新的钢卷号编号和被查询的钢卷号对应插入到钢卷号信息表中,然后将新的钢卷号编号返回给数字钢卷表存储。
[0023]
进一步地,参数名称为字符串,得到参数名称后,从参数信息表查询该参数名称,如果查询到至少一行结果,则返回第一行结果的参数编号;否则,获取参数信息表中的最大参数编号,如参数信息表为空则最大参数编号为0,然后将最大参数编号加1,形成新的参数编号,将新的参数编号和被查询的参数名对应插入到参数信息表中,然后将新的参数编号返回给数字钢卷表存储。
[0024]
进一步地,根据生产信息得到指定工序号、指定钢卷、指定参数的一系列长度及该长度处的工艺参数值,将这些信息转成byte数组,作为工艺参数的详细信息存入数字钢卷表,其转换步骤如下:
[0025]
创建一个空的byte数组re1;
[0026]
遍历每个长度,解析成byte数组后,依次追加到re1中;
[0027]
遍历每个长度处的工艺参数值,解析成byte数组后,依次追加到re1中;
[0028]
将re1进行压缩,得到一个新的byte数组re2,存入数字钢卷表。
[0029]
进一步地,所述数据库采用非关系数据库。
[0030]
进一步地,所述数据库采用mongodb或者redis。
[0031]
本发明公开了一种用于数字钢卷系统的数据存储装置,包括存储器,用于存储程序;
[0032]
以及处理器,所述处理器用于执行所述程序时实现如上所述数据存储方法的步骤。
[0033]
本发明至少具有如下有益效果:
[0034]
本发明提出了一种用于数字钢卷存储的半结构化数据结构记录钢卷各类参数,以及每个长度处的工艺信息。采用本发明的方法存储数字钢卷能极大节省存储空间,可以满足数字钢卷日益增加的数据存储与管理需求。
[0035]
本发明提出了使用非关系数据库存储数字钢卷,会显著提升性能。
附图说明
[0036]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0037]
图1为本发明实施例提供的用于数字钢卷系统的数据存储方法的流程图。
具体实施方式
[0038]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0039]
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
[0040]
参见图1,本发明实施例提供一种用于数字钢卷系统的数据存储方法,包括如下步骤:
[0041]
设定用于表达数字钢卷信息的半结构化数据模型,并在数据库中建立数字钢卷表与该半结构化数据模型一一对应;该半结构化数据模型的数据结构包括:id字段、工序号编号、钢卷号编号、工艺参数编号、工艺参数的详细信息;
[0042]
id字段的数据类型为int,工序号编号的数据类型为byte,钢卷号编号的数据类型为int,工艺参数编号的数据类型为short;工艺参数的详细信息的数据类型为byte数组。
[0043]
具体的数据结构如下:
[0044]
序号字段名称数据类型备注1idint自增,主键(或者采用guid)2工序号编号byte索引3钢卷号编号int索引4参数编号short索引5该参数的长度与值array [0045]
工艺参数详细信息是工序号编号、钢卷号编号、工艺参数编号的详细工艺数据,包括了一组长度及该长度对应的值。其中该参数的长度与值是一个数组,每条记录具体结构如下:
[0046]
序号字段名称数据类型备注1长度ushort 2值float [0047]
将id字段设置为主键,工序号编号、钢卷号编号、工艺参数编号都设置为索引。
[0048]
在数据库中建立工序信息表,包含两个字段,第一字段为工序号编号,数据类型采用数字类型,且设置为主键;第二字段为工序号名称,数据类型采用字符串类型,且设置为索引;
[0049]
在数据库中建立钢卷号信息表,包含两个字段,第一字段为钢卷号的编号,数据类型采用数字类型,且设置为主键;第二字段为钢卷号,数据类型采用字符串类型,且设置为索引;
[0050]
在数据库中建立参数信息表,包含两个字段,第一字段为参数编号,数据类型采用数字类型,且设置为主键;第二字段为参数名称,数据类型采用字符串类型,且设置为索引;
[0051]
获取生产信息形成数字钢卷,数字钢卷包括工序号、钢卷号、工艺参数名称、工艺参数详细信息,给各个数字钢卷分配唯一id,并将该id与数字钢卷信息对应存入数字钢卷表、工序信息表、钢卷号信息表、参数信息表中。其中存入数字钢卷表的数据按照所述的半结构化方式,给各个数字钢卷分配唯一id需要确保id字段的值各不相同,典型的处理方式是采用全局静态变量,每次取出数据后自增1,确保下次取出的数据不同。
[0052]
附图1所示的流程仅仅只是本发明其中一种具体实施例的流程,不能用来限定本发明的流程,本发明的在数据库中建立数字钢卷表、工序信息表、钢卷号信息表、参数信息表的顺序可以根据需要进行调整。
[0053]
进一步地,工序号名称为字符串,得到工序号名称后,从工序信息表查询该工序号名称,如果查询到至少一行结果,则返回第一行结果的工序号编号,否则,获取工序信息表中的最大工序号编号,如工序信息表为空则最大工序号编号为0,然后将最大工序号编号加1,形成新的工序号编号,将新的工序号编号和被查询的工序号名称对应插入到工序信息表中,然后将新的工序号编号返回给数字钢卷表存储。
[0054]
进一步地,钢卷号为字符串,得到钢卷号后,从钢卷号信息表查询该钢卷号,如果查询到至少一行结果,则返回第一行结果的钢卷号编号;否则,获取钢卷号信息表中的最大钢卷号编号,如钢卷号信息表为空则最大钢卷号编号为0,然后将最大钢卷号编号加1,形成新的钢卷号编号,将新的钢卷号编号和被查询的钢卷号对应插入到钢卷号信息表中,然后将新的钢卷号编号返回给数字钢卷表存储。
[0055]
进一步地,参数名称为字符串,得到参数名称后,从参数信息表查询该参数名称,如果查询到至少一行结果,则返回第一行结果的参数编号;否则,获取参数信息表中的最大参数编号,如参数信息表为空则最大参数编号为0,然后将最大参数编号加1,形成新的参数编号,将新的参数编号和被查询的参数名对应插入到参数信息表中,然后将新的参数编号返回给数字钢卷表存储。
[0056]
进一步地,根据生产信息得到指定工序号、指定钢卷、指定参数的一系列长度及该长度处的工艺参数值,将这些信息转成byte数组,作为工艺参数的详细信息存入数字钢卷表,其转换步骤如下:
[0057]
创建一个空的byte数组re1;
[0058]
遍历每个长度,解析成byte数组后,依次追加到re1中;
[0059]
遍历每个长度处的工艺参数值,解析成byte数组后,依次追加到re1中;
[0060]
将re1进行gzip压缩,得到一个新的byte数组re2,存入数字钢卷表。
[0061]
针对数字钢卷系统的真实场景,本发明的优化分析如下:
[0062]
工序号,通常使用字符串表示,长度在5~10之间。由于钢铁的工序号有限,比如热连轧,酸洗,1#冷轧机,2#冷轧机,1#连退,2#连退,3#连退等等。工序不会操作30个。可以采用一个字节的byte(范围0~255)来类型存储,即可节省80~90%的空间。
[0063]
钢卷号,通常使用字符串表示,长度在12~25之间。以数字为主,可能包含字母。建立一个哈希表,使用4个字节的int(最高可到21亿)和钢卷号进行映射。不考虑哈希表的空间的话,这样可以节省67~84%的空间。
[0064]
参数名称,通常使用字符串表示,长度在5~30之间。比如轧制力,旋转速度等概念。可以采用两个字节的short(范围-32768~32767)来类型存储,即可节省60~93%的空间。
[0065]
长度,通常使用double表示,占用了8个字节。其实冷轧带钢的长度800~6000m之间,即数字范围是(0~6000)数字钢卷的应用场景来说,精度在0.1m已经足够,因此可以使用两个字节的ushort(范围0~65535)来存储,再除以10及表示真实长度。此时可以节省75%的空间。
[0066]
值,通常使用double表示,占用了8个字节。可以使用四个字节的float来表示,能节省50%的空间。
[0067]
基于本发明的半结构化数据存储方式,能极大节省存储空间。考虑到nosql具有灵活的数据模型,可以处理非结构化/半结构化的大数据。且nosql很容易实现可伸缩性(向上扩展与水平扩展),使用价格低廉,nosql的自动分片能轻松做成分布式系统,保证存储系统的稳定性和快速性。基于nosql的动态模式,无需实现定义好模式,即可存储数据,使得开发变得简单。
[0068]
因此,更优方案是使用非关系数据(nosql)来存储数字钢卷,会显著提升性能。比如mongodb或者redis。
[0069]
当然,本发明也可以使用传统关系数据库(oracle 20c,sql server2016,mysql 5.7,postgresql 9.2这些版本及以后开始支持json)即可存储上述半结构化数据,其中该参数的长度与值采用json存储。
[0070]
本发明提出半结构化数据使用关系数据库存储,其关键在于使用json字段存储具
体的长度处工艺信息。在不支持json的关系数据库,也可以使用二进制流存储具体的长度处工艺信息,即设计为blob格式。针对二进制流,可以使用gzip对二进制流进行压缩,进一步缩小存储空间。
[0071]
基于同一发明构思,本发明还提供了一种用于数字钢卷系统的数据存储装置,包括存储器,用于存储程序;
[0072]
以及处理器,所述处理器用于执行所述程序时实现如上所述数据存储方法的步骤。
[0073]
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
[0074]
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
[0075]
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
[0076]
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动磁盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。该asic可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
[0077]
对于软件实现,本技术中描述的技术可用执行本技术所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
[0078]
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性
的或者”。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1