文档介绍:合并排序分布式数据的方法
专利名称:合并排序分布式数据的方法
技术领域:
本发明涉及一种合并排序(Merge Sort)分布式数据的方法,尤其涉及一种可应用于主从式(Master-Slave)装置,且只需小存储容量的缓冲区(Buffe。
因此,应用本发明,当使用者要取出一预设取出的数据数目的数据记录时,每次仅读取每一个选定数据组中的预设数目的数据记录至每一个选定数据组所对应的缓冲区,再通过本发明的合并排序的方式,便可充分地满足使用者的要求,
因而可大幅地减少缓冲区所需使用的存储容量,并有效地缩短合并排序分布式数据的时间。
附图简要说明下面结合附图,通过对本发明的较佳实施例的详细描述,将使本发明的技术方案及其他有益效果显而易见。
附图中,图1为现有技术的主从式装置合并排序其分布式数据的结构示意图;图2为应用本发明的合并排序分布式数据的方法在主从式装置的结构示意图;图3A至图3C为本发明的合并排序分布式数据的方法的流程图。
具体实施例方式
下文,将详细描述本发明。
请参照图2,其为应用本发明的合并排序分布式数据的方法于主从式装置的结构示意图。在对每一个从端数据组122a、122b和122c,及主端数据组102进行排序的步骤后,首先,本发明分别读取每一个从端数据组122a、122b和122c中排列于最前面的预设数目(例如40条)的数据记录至每一个从端数据组122a、122b和122c所对应的缓冲区150a、150b和150c(即数据输出的步骤200),以及读取主端数据组102中排列于最前面的预设数目的数据记录至主端数据组102所对应的缓冲区152。其中排序的步骤可依照由小到大;由大到小或其它的排序类别来进行,为方便说明起见,以下以由小到大的排序来做说明。
接着,将缓冲区152、缓冲区150a、150b和150c中的第一条数据记录(即各缓冲区中最小的数据记录)移到一排序暂存表。
然后,进行移动数据的步骤,该移动数据的步骤为对排序暂存表中的数据记录进行的排序步骤(由小到大);再将排序暂存表中的第一条数据记录(即全部数据记录中最小的数据记录)移到一排序结果表;并找出该第一条数据记录的出处特别缓冲区(例如缓冲区150a)和特别选定数据组(例如从端数据组122a);接着,将特别缓冲区的第一条数据记录(即特别缓冲区中次小的数据记录)移到排序暂存表。
接着,进行一合并数据的步骤,该合并数据的步骤为检查特别缓冲区是否仍存有数据记录;若特别缓冲区仍存有数据记录,则进行移动数据的步骤,将排序后的排序暂存表中的第一条数据记录(即全部数据记录中次小的数据记录)移到排序结果表,并找出该第一条数据记录的出处新的特别缓冲区(例如缓冲区150b)和新的特别选定数据组(例如从端数据组122b);若特别缓冲区没存有数据记录,则进行第二读取数据的步骤,以读取特别选定数据组中的下一组40条数据记录至特别缓冲区(即数据输出的步骤200)后,进行移动数据的步骤,将排序后的排序暂存表中的第一条数据记录(即全部数据记录中次小的数据记录)移到排序结果表,并找出该第一条数据记录的出处新的特别缓冲区(例如缓冲区150b)和新的特别选定数据组(例如从端数据组122b)。
然后,重复上述的合并数据的步骤,直到排序结果表的数据记录的数目等于预设取出(例如1000条)的数据数目;或若从端数