[发明专利]一种用于实时数据库查询结果快速排序的方法在审
申请号: | 201310717023.X | 申请日: | 2013-12-23 |
公开(公告)号: | CN103646102A | 公开(公告)日: | 2014-03-19 |
发明(设计)人: | 姜闿笈;余斌;葛亮;王立鼎;房萍;王申强;潘合玉;闫振义 | 申请(专利权)人: | 北京四方继保自动化股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京金阙华进专利事务所(普通合伙) 11224 | 代理人: | 吴鸿维 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 实时 数据库 查询 结果 快速 排序 方法 | ||
技术领域
本发明属于电力系统中变电站监控领域,尤其涉及的是一种用于实时数据库查询结果快速排序的方法。
背景技术
在现代化的社会中,电力系统是保障国民经济正常运行的重要基础设施,电力系统的大面积停电故障将直接对人民生活、国民经济产生直接的重大影响。变电站监控系统(变电站的数据采集与监控SCADA)是电力系统的重要组成部分,是对电力系统进行分析、监控的重要手段。尤其是随着计算机技术、通讯技术、自动化水平的不断提高,变电站自动化系统对电力系统安全、稳定、经济运行的重要性越来明显。
在现有变电站监控系统中,关键设备、关键节点的计算机必须配置很大的内存来满足实时数据库的需要,而实时数据库本身就是电力系统中各种监控软件普遍采用的数据存储方式。
对数据库查询结果的排序,是实时数据库应用中最常见的处理。常用的关系数据库系统(Oracle、MySQL等),对本身查询结果都能够实现非常方便、快捷地按照各种组合条件进行排序运算。然而,实时数据库对本身查询结果的排序运算却没有提供像关系数据库一样方便快捷的算法。对实时数据查询结果排序常用的方法有冒泡法,冒泡法对多字段查询结果排序时存在算法复杂、容易出错的问题,尤其严重的是冒泡法需要数据高强度运算,对CPU占用很高。举例说明,一个有2万条记录的查询结果集,需要对其中的3个整型数据字段和2个字符型字段进行排序运算,其整个排序过程将持续10多分钟时间。整个排序过程对CPU占用过高,使其它应用程序无法得到CPU的及时处理,导致采集到的数据不能及时显示到监控界面上,以及重要告警无法及时展示给变电站运行人员等严重问题。
本发明提出采用一种用于实时数据库查询结果快速排序的方法处理实施对实时数据库查询结果进行排序运算,该方法与之前方法有着本质的区别,在目前已公开的各种文献中没有检索到类似的方法。
发明内容
本发明的目的在于克服实时数据库查询结果排序算法复杂且容易出错的问题,数字化变电站、智能变电站等变电站监控系统的实时数据库对大结果集进行排序运算时,使用传统处理方法使系统CPU占用高,从而使其它重要应用程序无法得到及时处理,导致系统采集到的数据不能及时显示到界面上,以及重要告警无法及时展示给变电站运行人员等严重问题。为此,本发明提供了一种用于实时数据库查询结果快速排序的方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种用于实时数据库查询结果快速排序的方法,其特征在于,所述快速排序的方法将实时数据库的任意查询结果集,经过快速排序运算,形成一个满足排序规则要求的新结果集。该方法的包括以下步骤:
(1)、从用于电力系统厂站端监控系统的实时数据库获取查询结果集;
(2)、把查询结果集中每条记录的用于排序的字段按顺序填入预先定义的数据结构中;
(3)、以填好的数据结构为主键,查询结果集中每条记录的顺序号为值,形成map的一个数据项;
(4)、循环执行步骤(2)至步骤(3),直到全部查询结果集处理结束;
(5)、从map中按顺序取出查询结果集中每条记录的顺序号;
(6)、根据记录的顺序号,取出查询结果集中对应记录;
(7)、循坏执行步骤(5)至步骤(6),完成查询结果集的排序过程。
本发明还进一步包括以下优选技术方案。
优选所述步骤(1)的从用于电力系统厂站端监控系统的实时数据库获取查询结果集的方法为:按照电力监控系统中变电站监控系统的实时数据库查询方法,从实时数据库获取查询结果集。
优选所述步骤(2)的把查询结果集中用于排序的字段按顺序填入事先定义的数据结构中的方法为:对步骤(1)得到查询结果进行处理,按照需要排序的字段次序,把查询结果集中每条记录的对应字段数据填写到预先定义的数据结构中。
优选在所述步骤(3)中,以这个数据结构为主键把查询结果集中每条记录的顺序号为值来形成map的一个数据项的方法为:为查询结果集中的每条记录编一个顺序号,这个顺序号唯一对应结果集中的一条记录;以步骤(2)填好数据的数据结构为主键,记录的唯一顺序号为值,形成map的一个数据项,填到map中。
优选在所述步骤(4)中,循环执行步骤(2)至步骤(3)直到全部查询结果集处理结束的方法为:把实时数据库的查询结果集中所有记录,都按照步骤(2)至步骤(3)的处理方法,全部填到map中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京四方继保自动化股份有限公司,未经北京四方继保自动化股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310717023.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:船舶侧推器液压油
- 下一篇:一种用磁性纳米石墨烯纯化离子液体的方法