树形存储在热工计量检定管理系统中的应用
关系数据库是目前海量数据组织处理中最有效的方法,它提供了高效的查询服务.但在关系数据库应用开发中,大多是处理以二维表为基础的线性结构数据,对于非线性树形结构,特别是层数及子女数未知的一般树形结构更是没有统一的解决方案和算法.而且对于网上数据缺乏统一、固定的模式,因为数据往往不规则且经常变动[1].
热工仪表计量检定的准确度直接影响仪表的出力水平和寿命,影响整个电力系统的安全运行和经济效益[2].我国现以300MW、600MW 机组为骨干机组,并逐步发展1 000MW 机组;机组类型逐步向超超临界机组方向发展[3].目前,国内很多热工仪表的检定,采用人工读取、记录数据,检定的准确度很大程度上取决于操作员的经验、认真程度,每类仪表建立一本检定记录本,采用人工检索,工作量大,不便于仪表数据的更新[4].
近年来随着大容量机组投入运营,热工仪表种类不断增多和更新,主要有温度、压力、流量、频率等类,每类仪表又可按工作原理、测量范围、精度等级等分类,分类交叉重叠,不同类别仪表检定记录模板和证书模板又存在差别,检定中涉及的数据量很大,因此我们需要对仪表进行合理分类存储.下面通过分析树形结构在关系数据库中存储的一般方法,提出以层次、顺序号编码、结点编号为基础的一种树形结构存储方法,最后给出以热工计量检定管理系统中数据的查询、增减和统计为例的数据操作算法.
1 关系数据库存储模式
在关系数据库中主要有双亲表和层次编号表两种存储模式.双亲表至少包含字段:Name、Parent,分别保存每个树结点的名称和其双亲结点的名称[5].利用父指针连接各结点,要得到一个树形结构需进行一个递归,通过递归可以得到任意结点的路径.这种方法的优点是空间利用率高,缺点是在实际应用中这种表结构的运行速度很慢,效率较低.一方面,在显示树时需多次连接数据库或多次从头到尾扫描表示整棵树的记录集,所需连接次数或扫描次数与树的形状有关;另一方面,在数据操作的分类统计中,需从某个结点开始遍历整棵子树找到该结点的所有子结点,然后进行统计,遍历子树同样需要多次连接数据库或多次扫描[6],因此运行效率较低.层次编号表至少包含字段:Name、ID,分别保存每个树结点的名称和其层次编号信息.要得到一个树形结构也需进行一个递归.但若只需查询某结点的子结点则通过简单的运算即可搜索出相应的结点信息.这种方法的优点是结构简单、容易理解,查询结点的双亲及孩子效率高,缺点是维护困难,尤其在新增结点时需避免编号重复.如需构建一张Max值表作为辅助,通过Max值记录每一个类存储的最大值,这种方法通用性不强,由于各结点的子结点数不均衡,导致空间浪费严重[7].
相关文章
- 2024-06-12振动的带通控制法
- 2023-04-26金属光栅衍射的电磁场理论分析(TM波)
- 2024-05-24浮子流量计流量方程的原理分析与修正
- 2024-09-1110CrNi3MoV薄板性能研究
- 2024-06-12浅析高速轨道交通减振降噪的实施和应用
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。