【技术实现步骤摘要】
一种电力物联数据可变长归并排序实现方法
本专利技术涉及电气工程和计算机通信领域,特别是一种电力物联数据可变长归并排序实现方法。
技术介绍
排序算法在科学
已经有了极其详尽的研究,已有许多成熟的排序算法,近年来,在不同的应用下也提出了多种基于的排序方法,根据应用的不同,排序一般分为两类,基于网络的排序和基于线性数组的排序。基于网络的排序一般使用两输入的交换比较器来排序,采用固定大小的排序网络,分为输入队列,乒乓排序网络,和输出检测模块等。基于线性数组的排序基于可扩展的线性数组,采用比较插入单元,每个单元包含比较器,乘法器和控制单元,可扩展线性数组包含一系列的单元。归并排序是建立在归并操作上的一种有效排序算法,归并操作是将两个或两个以上有序队列合并成一组新的有序表,其实现方法属于基于网络的排序方法,现有的归并排序方法其输入队列是固定的,无法对不同长度队列归并比较排序,无法满足电力物联数据的数据库SQL语句的排序需求。现有技术中,没有对归并排序队列不同长情况下归并进行优化。
技术实现思路
本专利技术所要解 ...
【技术保护点】
1.一种电力物联数据可变长归并排序实现方法,其特征在于,采用排序系统实现电力物联数据可变长归并排序实现方法,排序系统包括待排序队列A、待排序队列B、比较器、读取控制模块和排序结果存储队列;其中,/n所述待排序队列A与待排序队列B采用首数据预读模式,所述待排序队列A和所述待排序队列B中分别存储了已按一定规则排序的数据队列,所述待排序队列A与待排序队列B分别输出待排序数据data_A、data_B以及本次排序数据是否为最后一个的标志位last_A、last_B;/n其中对于待排序队列A每次读出的数据锁存在数据data_A,待排序队列B每次读出的数锁存在数据data_B,data ...
【技术特征摘要】
1.一种电力物联数据可变长归并排序实现方法,其特征在于,采用排序系统实现电力物联数据可变长归并排序实现方法,排序系统包括待排序队列A、待排序队列B、比较器、读取控制模块和排序结果存储队列;其中,
所述待排序队列A与待排序队列B采用首数据预读模式,所述待排序队列A和所述待排序队列B中分别存储了已按一定规则排序的数据队列,所述待排序队列A与待排序队列B分别输出待排序数据data_A、data_B以及本次排序数据是否为最后一个的标志位last_A、last_B;
其中对于待排序队列A每次读出的数据锁存在数据data_A,待排序队列B每次读出的数锁存在数据data_B,data_A与data_B送入比较器进行比较并获得比较结果,如果数据data_A的数大于等于数据data_B,则通过读取控制模块将数据data_A写入排序结果队列中,将数据data_B锁存,继续读取待排序队列A的数据依次与待排序队列B锁存数据data_B送入比较器进行比较并获得比较结果,重复上述过程,直至将两待排序队列归并为一个有序队列并存储在排序结果存储队列,设排序结果存储队列最后一个数据为数据标志位last_flag;读取控制模块分别输出排序结果存储队列的写使能信号result_fifo_wena、排序结果数据result_fifo_data以及本次排序结果队列最后一个数据标志位last_flag。
2.如权利要求1所述的一种电力物联数据可变长归并排序实现方法,其特征在于,所述比较器完成待排序数据data_A与data_B比较,需要K个时钟周期,所述K≥1。
3.如权利要求2所述的一种电力物联数据可变长归并排序实现方法,其特征在于,所述待排序队列A与待排序队列B输出标志待排序队列内部FIFO是否为空的标志位fifo_empty_A、fifo_empty_B,比较器输出比较结果A_first,读取控制模块分别根据数据状态信号fifo_empty_A、last_A、fifo_empty_B、last_B以及比较器的输出结果A_first信号向待排序队列A和待排序队列B输出读使能信号fifo_rena_A、fifo_rena_B,排序结果存储队列内部FIFO将满时向读取控制模块输出排序结果队列满信号result_fifo_prog_full;设置fifo_rena_A逻辑与last_A为a_fifo_finish,设置fifo_rena_B逻辑与last_B为b_fifo_finish;所述读取控制模块包括以下步骤:
3-1)等待待排序队列内部FIFO是否为空的标志位fifo_empty_A、fifo_empty_B以及result_f...
【专利技术属性】
技术研发人员:官国飞,徐妍,宋庆武,蒋超,陈志明,蒋峰,
申请(专利权)人:江苏方天电力技术有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。