CN1581060A - 合并排序分布式数据的方法 - Google Patents
合并排序分布式数据的方法 Download PDFInfo
- Publication number
- CN1581060A CN1581060A CN 03152258 CN03152258A CN1581060A CN 1581060 A CN1581060 A CN 1581060A CN 03152258 CN03152258 CN 03152258 CN 03152258 A CN03152258 A CN 03152258A CN 1581060 A CN1581060 A CN 1581060A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer zone
- sequencing
- group
- ordering
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
一种合并排序(Merge Sort)分布式数据的方法,该方法根据使用者的需求自多个数据组中决定出多个选定数据组,并且每次仅读取每一个选定数据组中的预设数目(例如:40条)的数据记录至每一个选定数据组所对应的缓冲区(Buffer),再通过本发明的合并排序的方式,来获得使用者所要取出(Retrieve)的数目(例如:1000条)的数据,其中这些数据依照由小到大;由大到小或其它的排序类别的依序排列,借此,本发明可大幅地减少缓冲区所需使用的存储容量,并可有效地缩短合并排序分布式数据的时间。
Description
技术领域
本发明涉及一种合并排序(Merge Sort)分布式数据的方法,尤其涉及一种可应用于主从式(Master-Slave)装置,且只需小存储容量的缓冲区(Buffers)的合并排序分布式数据的方法。
背景技术
随着网络应用的大幅增长,愈来愈需要处理能力强大且具有高可靠度的网络装置来提供稳定的支持与运作。其中,由于可堆栈式的网络装置具有的高可靠度、高效率且弹性连接等特性,故例如可堆栈式交换器(Stackable Switch)、可堆栈式集线器(Stackable Hub)、可堆栈式交换集线器(Stackable Switching Hub)或可堆栈式交换路由器(Stackable Switching Router)等的可堆栈式网络装置,已广泛地被应用在各种的网络建置中,以方便日后的网络扩充或调整网络布线拓扑(Topology)之用。
可堆栈式的网络装置为一种主从式装置,其由一个主端装置和多个从端装置所组成。主端装置和每一个从端装置各自具有多个连接端口(Ports),借以连接至多个通讯装置,而每一个通讯装置均具有独一(Unique)的媒体访问控制(Medium Access Control;MAC)地址(Address)。主端装置具有一主端数据组,而每一个从端装置各自具有一从端数据组,用以记录连接于其连接端口的通讯装置的MAC地址。这些MAC地址分散地记载于主端数据组和多个从端数据组中,即为所谓的分布式数据。为了管理上的需要,使用者常常须查询分散于从端数据组和主端数据组中的各连接端口的MAC地址。
请参照图1,图1为现有技术的主从式装置合并排序其分布式数据的结构示意图。其中,主端装置100的主端数据组102可储存8000条MAC地址数据记录,而每一个从端装置120a、120b和120c的从端数据组122a、122b和122c也可储存8000条MAC地址数据记录。通常,主端装置100会将主端数据组102中的8000条MAC地址数据记录全部输出缓冲区130,每一个从端装置120a、120b和120c也会分别进行数据输出的步骤200,以将从端数据组122a、122b和122c的8000条MAC地址数据记录全部输出缓冲区130,然后,对缓冲区130中的数据记录进行排序的步骤,以供使用者查询。
然而,上述缓冲区130所需使用的存储容量相当大。假设有(n-1)个从端数据组122a、122b和122c加上一个主端数据组102,且每一个从端数据组122a、122b和122c和主端数据组102均有8000条MAC地址数据记录,则缓冲区130需要可容纳8000×n条MAC地址数据记录的存储容量。即使使用者仅要取出(Retrieve)例如1000条MAC地址数据记录,缓冲区130仍需使用上述的庞大的存储容量。因此,造成制作成本的增加。另一方面,现有的主从式装置合并排序其分布式数据的方式极费时间,造成使用者许多不便。
综上可知,所述现有技术的主从式装置合并排序其分布式数据的方式,在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明目的在于提供一种合并排序分布式数据的方法,借以大幅地减少缓冲区所需使用的存储容量,并可有效地缩短合并排序分布式数据的时间。
根据上述目的,本发明提出一种合并排序分布式数据的方法,借以适用于主从式装置,其中该主从式装置至少包括具有主端数据组的主端装置,和具有多个从端数据组的多个从端装置,且从端装置与从端数据组以一对一的方式相对应。
依照本发明一较佳实施例,该合并排序分布式数据的方法至少包括:开始产生排序结果表;自主端数据组和从端数据组中决定出多个选定数据组;对每一个选定数据组进行排序的步骤;分配一缓冲区至每一个选定数据组;进行第一读取数据的步骤,以读取每一个选定数据组中的排列于最前面的预设数目的数据记录至缓冲区;将每一个缓冲区的第一条数据记录移到排序暂存表;进行移动数据的步骤;进行合并数据的步骤;以及重复该合并数据的步骤,其中若排序结果表的数据记录的数目等于预设取出的数据数目,则停止执行;若这些选定数据组的所有数据记录均已读取完毕,则停止执行。并且,该移动数据的步骤至少包括:对排序暂存表进行该排序的步骤;找出排序暂存表的第一条数据记录的出处的特别缓冲区和特别选定数据组;将排序暂存表的第一条数据记录移到排序结果表;以及将特别缓冲区的第一条数据记录移到排序暂存表。合并数据的步骤至少包括:检查特别缓冲区是否存有数据记录;若特别缓冲区存有数据记录,则进行移动数据的步骤;以及若特别缓冲区没存有数据记录,则进行第二读取数据的步骤,以读取特别选定数据组中的预设数目的下一组数据记录至特别缓冲区后,进行移动数据的步骤。
因此,应用本发明,当使用者要取出一预设取出的数据数目的数据记录时,每次仅读取每一个选定数据组中的预设数目的数据记录至每一个选定数据组所对应的缓冲区,再通过本发明的合并排序的方式,便可充分地满足使用者的要求,因而可大幅地减少缓冲区所需使用的存储容量,并有效地缩短合并排序分布式数据的时间。
附图简要说明
下面结合附图,通过对本发明的较佳实施例的详细描述,将使本发明的技术方案及其他有益效果显而易见。
附图中,
图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条)的数据数目;或若从端数据组122a、122b和122c和主端数据组102的所有数据记录均已读取完毕,则停止执行。
由于最多仅同时自从端数据组122a、122b和122c和主端数据组102分别输出40条MAC地址数据记录至其对应的缓冲区150a、150b和150c和缓冲区152,所以上述的缓冲区所使用的总存储容量为40×n条MAC地址数据记录。
与如图1所示的现有技术的方法相较,本发明可大幅地减少使用存储容量(由8000×n数据记录条减为40×n条数据记录)。
值得一提的是,上述的说明基于从端数据组122a、122b和122c和主端数据组102均为使用者要查询的选定数据组。然而,根据实际需要,使用者可先自从端数据组122a、122b和122c和主端数据组102中决定出多个选定数据组,然后,再指定一个缓冲区给每一个选定数据组。如此则可进一步减少缓冲区所使用的总存储容量。并且,该主端数据组102位于一主从式装置的一主端装置100中,而从端数据组122a、122b和122c分别位于该主从式装置的多个从端装置120a、120b和120c中。该主从式装置可为一可堆栈式网络装置,例如可堆栈式交换器、可堆栈式集线器、可堆栈式交换集线器以及可堆栈式交换路由器等。另外,决定出选定数据组的步骤可通过指定主从式装置(主端装置100和从端装置120a、120b和120c)上的多个连接端口来进行;也可通过指定至少一个虚拟局域网络(VLAN),以选定主从式装置的多个连接端口来进行。
以下将整理说明本发明的合并排序分布式数据的方法的流程:
请参照图3A至图3C,其为本发明的合并排序分布式数据的方法的流程图。首先,进行步骤300,以开始产生一排序结果表。接着,自多个数据组中决定出多个选定数据组(步骤310)。然后,对每一个选定数据组进行排序的步骤(步骤320),并分配一缓冲区至每一个选定数据组(步骤330)。接着,进行第一读取数据的步骤340,以读取每一个选定数据组中的位于最前面的预设数目的数据记录至其所对应的缓冲区。然后,将每一个缓冲区的第一条数据记录移到排序暂存表(步骤350),并进行移动数据的步骤(步骤360),其中移动数据的步骤至少包括:对排序暂存表进行排序(步骤362);找出排序暂存表的第一条数据记录的出处的特别缓冲区和特别选定数据组(步骤364);将排序暂存表的第一条数据记录移到排序结果表(步骤366);以及将特别缓冲区的第一条数据记录移到排序暂存表(步骤368)。
然后,检查排序结果表的数据记录的数目是否等于预设取出的数据数目(步骤370),若步骤370的结果为是,则停止执行(步骤400);若步骤370的结果为否,则检查选定数据组的所有数据记录是否均已读取完毕(步骤380),若步骤380的结果为是,则停止执行(步骤400);若步骤380的结果为否,则进行合并数据的步骤390,其中合并数据的步骤390至少包括:检查特别缓冲区是否存有数据记录(步骤392);若步骤392的结果为是,则进行移动数据的步骤360;若步骤392的结果为否,则进行第二读取数据的步骤394,以读取特别选定数据组中的预设数目的下一组数据记录至特别缓冲区后,进行移动数据的步骤360。然后,重复步骤370、步骤380和步骤390。
由上述本发明较佳实施例可知,应用本发明的优点为:可大幅地减少缓冲区所需使用的存储容量,并有效地缩短合并排序分布式数据的时间。因而降低制作成本,提高使用效率。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术方案和技术构思作出其他各种相应的改变和变形,而所有这些改变和变形都应属于本发明后附的权利要求的保护范围。
Claims (10)
1、一种合并排序分布式数据的方法,其特征在于,至少包括:
开始产生一排序结果表;
自多个数据组中决定出多个选定数据组;
对每一这些选定数据组进行一排序的步骤;
分配一缓冲区至每一这些选定数据组;
进行一第一读取数据的步骤,以读取每一这些选定数据组中的位于最前面的一预设数目的数据记录至该缓冲区;
将每一这些选定数据组的该缓冲区的一第一条数据记录移到一排序暂存表;
进行一移动数据的步骤,其中该移动数据的步骤至少包括:
对该排序暂存表进行该排序的步骤;
找出该排序暂存表的一第一条数据记录的出处的一特别缓冲区和一特别选定数据组;
将该排序暂存表的该第一条数据记录移到该排序结果表;以及
将该特别缓冲区的一第一条数据记录移到该排序暂存表;
进行一合并数据的步骤,其中该合并数据的步骤至少包括:
检查该特别缓冲区是否存有数据记录;
若该特别缓冲区存有数据记录,则进行该移动数据的步骤;以及
若该特别缓冲区没存有数据记录,则进行一第二读取数据的步骤,以读取该特别选定数据组中的该预设数目的下一组数据记录至该特别缓冲区后,进行该移动数据的步骤;以及
重复该合并数据的步骤,其中若该排序结果表的数据记录的数目等于一预设取出(Retrieve)的数据数目,则停止执行;若这些选定数据组的所有数据记录均已读取完毕,则停止执行。
2、根据权利要求1所述的合并排序分布式数据的方法,其特征在于,该排序的步骤依照由小到大或由大到小的次序。
3、根据权利要求1所述的合并排序分布式数据的方法,其特征在于,每一这些数据组由多个媒体存取控制地址所组成。
4、根据权利要求1所述的合并排序分布式数据的方法,其特征在于,这些数据组至少包括一主端数据组和多个从端数据组。
5、根据权利要求4所述的合并排序分布式数据的方法,其特征在于,该主端数据组位于一主从式装置的一主端装置中,和这些从端数据组分别位于该主从式装置的多个从端装置中。
6、根据权利要求5所述的合并排序分布式数据的方法,其特征在于,该主从式装置为一可堆栈式网络装置。
7、根据权利要求6所述的合并排序分布式数据的方法,其特征在于,该可堆栈式网络装置选自于由可堆栈式交换器、可堆栈式集线器、可堆栈式交换集线器以及可堆栈式交换路由器所组成的一族群。
8、根据权利要求5所述的合并排序分布式数据的方法,其特征在于,所述自这些数据组中决定出这些选定数据组的步骤通过指定该主从式装置的多个连接端口来进行。
9、根据权利要求5所述的合并排序分布式数据的方法,其特征在于,所述自这些数据组中决定出这些选定数据组的步骤通过指定至少一虚拟局域网络,以选定该主从式装置的多个连接端口来进行。
10、根据权利要求1所述的合并排序分布式数据的方法,其特征在于,这些选定数据组为这些数据组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031522580A CN100470463C (zh) | 2003-07-30 | 2003-07-30 | 合并排序分布式数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB031522580A CN100470463C (zh) | 2003-07-30 | 2003-07-30 | 合并排序分布式数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1581060A true CN1581060A (zh) | 2005-02-16 |
CN100470463C CN100470463C (zh) | 2009-03-18 |
Family
ID=34579812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB031522580A Expired - Fee Related CN100470463C (zh) | 2003-07-30 | 2003-07-30 | 合并排序分布式数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100470463C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186651A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 一种分布式关系数据库及其建立、查询方法和装置 |
CN103186651B (zh) * | 2011-12-31 | 2016-12-14 | 中国移动通信集团公司 | 一种分布式关系数据库及其建立、查询方法和装置 |
CN106462386A (zh) * | 2014-05-30 | 2017-02-22 | 华为技术有限公司 | 并行归并排序 |
-
2003
- 2003-07-30 CN CNB031522580A patent/CN100470463C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186651A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 一种分布式关系数据库及其建立、查询方法和装置 |
CN103186651B (zh) * | 2011-12-31 | 2016-12-14 | 中国移动通信集团公司 | 一种分布式关系数据库及其建立、查询方法和装置 |
CN106462386A (zh) * | 2014-05-30 | 2017-02-22 | 华为技术有限公司 | 并行归并排序 |
CN106462386B (zh) * | 2014-05-30 | 2019-09-13 | 华为技术有限公司 | 排序分布式输入数据的排序方法和处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100470463C (zh) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101620617B (zh) | 日志文件的查询和处理的方法及装置 | |
CN101159619B (zh) | Arp表项的快速添加方法、装置及交换设备 | |
CN1016835B (zh) | 用于检索的方法和装置 | |
CN1453713A (zh) | 应用管理系统、管理装置、管理方法和管理程序 | |
CN1574785A (zh) | 使用缓存来维护分组顺序的方法和系统 | |
CN107493327A (zh) | 分布式缓存管理方法、系统及数据管理系统 | |
US7305458B2 (en) | System and method for auto-configuring stackable network devices | |
CN101159658A (zh) | 虚拟私用网路由查找的方法和装置 | |
CN100486212C (zh) | 一种提高路由表容量的方法 | |
CN1581060A (zh) | 合并排序分布式数据的方法 | |
CN101051947A (zh) | 一种设备配置参数创建方法及基站单板配置系统 | |
CN1412975A (zh) | 路由器的ip地址的建立和寻找方法及其装置 | |
CN100487697C (zh) | 一种应用改进的哈希方法进行查找的方法 | |
CN1464468A (zh) | 网络存储系统中的数据管理系统 | |
CN109240989A (zh) | 文件对象查询方法、装置、终端设备及可读存储介质 | |
CN101699442B (zh) | 一种三态内容可寻址存储器tcam的寻址方法及装置 | |
CN2790052Y (zh) | 单网线网络隔离系统 | |
CN200947207Y (zh) | 复合usb集线器设备 | |
CN1310170C (zh) | 自动配置可堆栈式网络装置的系统与方法 | |
CN101827175A (zh) | 一种话单分拣分目录存储的方法及系统 | |
CN1242659A (zh) | 单板大容量数字时分交换网络 | |
CN1122387C (zh) | 万维网站的网页全文检索方法 | |
KR100503423B1 (ko) | Mstp에서의 메모리 맵핑 장치 및 방법 | |
US20030163445A1 (en) | Method and apparatus for high-speed address learning in sorted address tables | |
CN1858712A (zh) | 一种实现设备测试的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090318 Termination date: 20160730 |