[发明专利]非递归分类方法和装置在审
| 申请号: | 201711476700.8 | 申请日: | 2017-12-29 |
| 公开(公告)号: | CN110019236A | 公开(公告)日: | 2019-07-16 |
| 发明(设计)人: | 韩至;孟广辉 | 申请(专利权)人: | 北京金风科创风电设备有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/28 |
| 代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 董钢;于翔 |
| 地址: | 100176 北京市大*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 非根节点 递归 方法和装置 分类处理 父节点 分类 数据集中 根节点 内存 排序 访问 查询 广度优先 节点存储 气象数据 溢出 合并 | ||
本发明提供了一种非递归分类方法和装置。所述非递归分类方法可包括:获取多个节点,其中,所述多个节点包括一个根节点和多个非根节点,每个非根节点具有一个父节点;对所述多个节点进行排序;按照广度优先来逐个访问经过排序的所有节点;在所述访问的过程中,每当一个节点被访问时,将该节点存储到数据集中,每当被访问的节点是非根节点时,从数据集中查询出该非根节点的父节点,并且将该非根节点合并到查询出的父节点中。本发明的非递归分类方法和装置可对气象数据进行分类处理,可减少分类处理时间,提高分类处理效率,以及避免内存或内存栈溢出。
技术领域
本发明涉及风力发电领域中的气象数据处理,更具体地,涉及一种非递归分类方法和装置。
背景技术
风力发电领域中的一部分气象数据能够形成树型关系。也就是说,每条数据对应一个节点,各个节点之间可形成一对一关系或一对多关系。对这样的气象数据进行分类的目的是确定节点之间的关联关系,并生成具有关联关系的结果集合。例如,通过分类可获得如下的结果,其中,所述结果可以是可扩展标记语言(eXtensible Markup Language,简称为XML)文档或Javascript对象标记(JavaScript Object Notation,简称为JSON)文档。
目前,在对能够形成树型关系的多个节点分类时,通常采用的分类方法利用子节点的标识符和父节点的标识符之间的关联进行分类或者通过修改数据库中的数据表来进行分类,这样的分类方法可包括:
(1)递归分类方法:通过结构化查询语言(Structured Query Language,简称为SQL)对数据库进行处理,例如,递归调用功能函数,以确定各个节点之间的关联关系,该功能函数包括带有where条件的SELECT语句,或者,从数据表中读取所有节点,并且递归调用判断子节点和父节点之间的关联关系的功能函数,以确定各个节点之间的关联关系。
(2)迭代分类方法:例如,分类与回归树(Classification and regression tree,简称为CART)算法,大部分的递归分类方法可以通过迭代的方式实现。
(3)利用数据表的分类方法:在数据库中新建数据表或更改已有数据表,以记录各个节点之间的层级关系。
(4)使用字符串的分类方法:生成用于表示各个节点之间的关联关系的字符串,所述字符串通过拼接针对每个节点的子字符串而生成,在使用时需要将所述字符串拆分成子字符串。
上述分类方法存在如下不足:
(1)递归分类方法:这种方法的缺点是时间和存储空间消耗大,每一次调用功能函数都需要在内存栈中分配存储空间以保存参数、返回地址以及临时变量,而且向内存栈压入数据和从内存栈弹出数据都需要耗费时间,且这种方法只适用于层级比较少的情况,当层级超过特定数量时,容易造成内存栈溢出,导致分类失败。
(2)迭代分类方法:该方法将一个总的分类任务分解成若干个子分类任务,不容易编写代码或编写出的代码繁琐,而且执行所述若干个子分类任务比执行总的分类任务耗费更长的时间。
(3)利用数据表的分类方法:该方法需要新建或更改数据表,当其它处理需要利用被更改的数据表或与新增数据表相关联的数据表时,影响其它处理的正常进行,尤其是当层级超过特定数量时,将其它处理将耗费更长的时间。
(4)使用字符串的分类方法:该方法需要拼接和拆分字符串的额外处理,操作繁琐且耗时长。
在传统的分类方法中,无论是递归分类方法还是非递归分类方法,仅适用于层级是2或3的情形,当层级超过预定数量甚至趋向于无限(例如,数量是正无穷)时,容易出现内存栈益处和耗时长的问题。
发明内容
本发明的各个方面至少可解决以上提到的问题和/或缺点,并且至少提供以下优点。另外,本发明可不解决以上提到的问题和/或缺点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金风科创风电设备有限公司,未经北京金风科创风电设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711476700.8/2.html,转载请声明来源钻瓜专利网。





