CN100399338C - 一种数据记录处理方法 - Google Patents

一种数据记录处理方法 Download PDF

Info

Publication number
CN100399338C
CN100399338C CNB021215642A CN02121564A CN100399338C CN 100399338 C CN100399338 C CN 100399338C CN B021215642 A CNB021215642 A CN B021215642A CN 02121564 A CN02121564 A CN 02121564A CN 100399338 C CN100399338 C CN 100399338C
Authority
CN
China
Prior art keywords
record
thresholding
chained list
global buffer
merger
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.)
Expired - Fee Related
Application number
CNB021215642A
Other languages
English (en)
Other versions
CN1464451A (zh
Inventor
孙雅莎
丁刚
杨柏梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New venture (Beijing) Consulting Service Co., Ltd.
Original Assignee
Lenovo Beijing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CNB021215642A priority Critical patent/CN100399338C/zh
Publication of CN1464451A publication Critical patent/CN1464451A/zh
Application granted granted Critical
Publication of CN100399338C publication Critical patent/CN100399338C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种数据记录处理方法,将记录按数据结构划分为归并段;以过滤域值为条件过滤每个归并段中的记录,对过滤后的归并段进行排序,形成有序子归并段;将每个有序子归并段中最小或最大记录存入预先设置的全局缓冲区;对全局缓冲区中的记录进行排序;取出全局缓冲区中的最小记录或最大记录作为提取返回记录;并记下该返回记录所属的有序子归并段;在返回记录所属的有序子归并段中提取该返回记录的下一条记录作为新记录,然后,插入全局缓冲区中;若返回记录所属的有序子归并段中已无记录可取,则减少全局缓冲区中一个记录的存储空间;循环执行所有记录都提取返回为止。本发明解决了数据处理过程中减少系统内存资源的占用问题,优化处理大型数据量的性能。

Description

一种数据记录处理方法
技术领域
本发明涉及计算机数据处理技术,具体地说,涉及嵌入式系统中对大量数据记录进行处理的方法。
背景技术
计算机对数据进行排序、查询、修改等处理是计算机的基本操作和功能。在对数据进行排序的处理过程中,由于待排序的记录数量不同,使得排序过程中涉及的存储器不同,可将排序方法分为两大类:一类是内部排序,另一类是外部排序。
内部排序指的是待排序记录放在计算机内存中进行的排序过程,在整个排序过程不需要访问外存就能完成,主要使用于数据记录数量小的排序。其排序方法有下列几类:
插入类,即将无序子序列中的一个或几个记录插入到有序序列中,从而增加记录的有序子序列的长度,如直接插入排序、折半插入排序、希尔排序等;
交换类,即通过交换无序序列中的记录从而得到其中关键字最大或最小的记录,并将该记录加入到有序子序列中,以此增加记录的有序子序列的长度,如起泡排序、快排序;
选择类,即从记录的无序子序列中选择关键字最大或最小的记录,并将该记录加入到有序子序列中,以此增加记录的有序子序列的长度,如堆排序;
归并类,即通过归并两个或两个以上的记录有序子序列,逐步增加记录的有序子序列的长度。
外部排序指的是待排序记录的数据量很大,以致内存一次不能容纳全部记录,在排序过程中尚需对外存进行访问的排序过程。对于外部排序,首先按可用内存大小,利用上述内部排序的方法,在外存中构造若干记录的有序子序列,以形成归并段,然后通过归并,逐步扩大有序子序列的长度,直至外存中整个记录序列按关键字有序为止。
在现有的嵌入式数据库系统中,由于排序的数据记录量少,数据记录的排序通常采用内部排序。而若想在嵌入式系统资源下实现大批量的数据记录排序,不得不采用外部排序方法,而外部排序由于需要占用较多内存,且数据处理的速度慢,如果直接应用于嵌入式数据库系统中,将造成嵌入式数据库系统内存资源的缺乏,因此,目前对于在嵌入式数据库系统中进行大数据量的数据处理,尚无一较好的解决方案。
发明内容
本发明的目的在于提供一种数据记录处理方法,以解决大数据量的数据排序处理过程中减少系统内存资源占用的问题。
本发明是通过以下技术方案实现的:
一种数据记录处理方法,该方法包括:
A.将记录按数据结构划分为归并段;
B.以过滤域值为条件过滤每个归并段中的记录,形成过滤后的归并段,然后以指定域值为条件对过滤后的归并段进行大小排序,形成有序子归并段;
C.设置全局缓冲区,且全局缓存区记录存储的数目与有序子归并段的数目相同;将每个有序子归并段中的指定域值最小记录/最大记录存入全局缓冲区;
D.以指定域值为条件对全局缓冲区中的记录进行大小排序;
E.取出全局缓冲区中当前指定域值最小记录/最大记录,释放所述全局缓存区中该记录的存储空间;并记下所取出记录归属的有序子归并段;
F.在所取出记录归属的有序子归并段中提取该记录的下一条记录作为新记录,然后,将新记录以指定域值为条件按序插入全局缓冲区中;若所取出记录归属的有序子归并段中已无记录可取,则减少全局缓冲区中一个记录的存储空间;
G.循环执行步骤E、F,直至全局缓冲区中所有记录都提取完为止。
进一步地,设置归并段中的记录格式至少包括过滤域值、排序域值、记录地址,其中,排序域有可以是多个过滤域中的一个,也可以是非过滤域以外的其它的域;设置存入全局缓冲区的记录格式至少包括排序域值、有序子归并段记录地址链表中的记录地址、记录所属的有序子归并段号;所述的指定域值为排序域值,所述的大小排序为指定域值的大小排序。
较佳地,所述数据记录以哈希索引的存储方式存储,具体为,以记录的哈希值作为索引,将记录映射到哈希表中的存储位置,建立哈希值与物理数据之间的对应关系;步骤A所述的数据结构为以桶构成的哈希表结构,哈希值相同的记录链接到同一桶下;所述的步骤A进一步包括将哈希表中每个桶中的所有记录划分为一个归并段;所述记录的哈希值是这样获得的:把每个字符串对应的整数分别乘以不同的基数,再累加,并将累加的总和除以桶的个数,然后取余数;其中,基数为0~(N-1)之间的整数,N为字符串的长度。
较佳地,所述的步骤B进一步包括:设置由横向链表和纵向链表构成的十字链表,并将记录地址记录于链表中,其中,横向链表为有序子归并段中记录的记录地址链表,该链表按有序子归并段中记录的顺序依次链接;纵向链表为横向链表的表头链表,链接所有有序子归并段的记录地址链表的表头;所述的步骤C进一步包括在十字链表的每个横向链表中提取指定域值最小记录/最大记录对应的记录地址,得到与该记录地址对应的记录;步骤E所述的记下返回记录所属的有序子归并段的步骤为记下返回记录所属的横向链表;所述的步骤F进一步包括在返回记录所属的横向链表中提取该返回记录链接的下一记录的记录地址,获得新记录,若横向链表中已无地址记录可取,则将该横向链表的上一横向链表的表头与下一横向链表的表头链接,然后删除该横向链表。
本发明针对数据库中数据的物理存储方式,提供了一种新型式的大记录量数据处理的方法,大大提高了数据库排序过滤方面的速度,优化数据库处理大型数据量的性能。首先,对记录在以哈希表为索引的散列存储结构中的数据,在构造归并段时,选择一个哈希索引下的所有记录为基本单位,并且每次只将一条记录返回,在用户对该记录操作时进行下一次归并,从用户的角度来看,避免了一次返回所有有序记录的等待时间,保证了排序的高效性。其次,本发明提供的排序方法并不是将整条记录拿出来排序,而是将记录中需要排序的字段提取出来进行排序,从而节约了内存;对数据进行堆排序形成的有序子归并段,排序后并不是将结果集存放在内存中,而是将其物理地址存放起来,这不但节约了物理内存,同时又加快了最后提取记录时的速度。
附图说明
图1为哈希表结构示意图;
图2为归并段及其中的记录格式示意图;
图3为对归并段中的记录按指定域值过滤过程的示意图;
图4为所有归并段排序完毕后建立的十字链表图;
图5为设置的全局缓冲区及其记录格式的示意图;
图6为按升序归并排序时,向全局缓冲区插入桶中仍有可取的新记录的插入位置示意图,其中,图6(a)为新记录的指定域值与全局缓冲区中所有记录指定域值相比是最大的情况下,新记录的插入位置;图6(b)为新记录的指定域值与全局缓冲区中所有记录指定域值相比不是最大的情况下,新记录的插入位置;
图7为按降序归并排序时,向全局缓冲区插入桶中仍有可取的新记录的插入位置示意图,其中图7(a)为新记录的指定域值与全局缓冲区中所有记录指定域值相比是最大的情况下,新记录的插入位置;图7(b)为新记录的指定域值与全局缓冲区中所有记录指定域值相比不是最大的情况下,新记录的插入位置;
图8为桶中无可取的新记录时,或降序归并的情况下,全局缓冲区指针变化示意图,其中,图8(a)为升序归并排序的情况下,全局缓冲区指针变化示意图;图8(b)为降序归并排序的情况下,全局缓冲区指针变化示意图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,以哈希索引存储数据记录的存储方式为例对本发明进行说明。
哈希索引是数据库索引技术的主要手段,哈希索引是这样建立的:
A.把每个记录字符串中的各个字符分别乘以不同的基数,再累加,并将累加的总和除以所要建立的哈希表中元素的个数,然后取余数,从而得到哈希值。即按公式(1)计算得到哈希值。式中,N为该字符串的长度,i为基数,其值为0~(N-1),B为所要建立的哈希表的元素个数即哈希表的大小,哈希表中的元素称为桶(bucket)。按上述方法所计算的哈希值为一个介于0到B-1的整数。
B.将上述方法计算的哈希值作为索引,在哈希表(Hash Table)中找到记录实际应该存储的位置,以建立哈希值与物理数据之间的对应关系。例如,如果记录的哈希值为K,那么通过将该记录映射到哈希表第K个桶中来存储。为了解决冲突问题,实际上哈希表中存储的只是B个链表的表头,哈希值相同的记录都被链接到同一表头下。也就是说,哈希值相同的记录以链接的方式存储于同一桶下。
按步骤A的方法计算哈希值的优点在于,在哈希表不是很大的情况下,其哈希值可以在一定程度上均匀的分布在哈希表中,缩短了对查询结果在桶链表内的二次查找时间,同时,这一计算为线性计算,节约了计算时间,减少了数据计算开支,提高了嵌入式特性系统平台的资源利用率,而且,此函数可以兼容二进制格式的数据,满足了数据库的平台无关特性。
参见图1所示,图1为哈希表结构的示意图,图中纵向为哈希表中的元素,横向为以桶链表方式链接的相同的哈希值。
本发明的基本思想是:根据哈希表结构,首先将哈希表中属于同一个桶中的记录作为一个归并段,不同的桶形成不同的归并段,对各个归并段中的数据分别按过滤域值排序后再按该域值进行过滤,从而保证了在每个归并段中过滤出的记录都是有序的,然后再对过滤出的记录进行归并排序。
下面以一具体实施例说明。具体实现上可分为以下几个步骤:
1.将哈希表中每个桶中的所有记录作为一个归并段。由于哈希表的桶为B个,因此最多有B个归并段,归并段中每条记录格式包括:过滤域值,用于表示需要进行过滤的域值;排序域值,用于表示过滤出的记录按某域值进行排序的域值;记录地址,用于表示记录在物理磁盘上的位置。其中,如果排序域值是按某一过滤的域值进行排序,则该排序域值不会重复出现在记录格式中,这是因为按该域值过滤的过程中就已经同时按该域值进行了排序。
参见图2所示,图中表示了b[0]、b[2]、b[4]、b[5]四个归并段,每个归并段分别对应了哈希表中桶b[0]、b[2]、b[4]、b[5]中的记录,归并段中的每条记录包括了过滤域值,如flter_field1、filter_field2...分别表示需要按field1、field2...域值进行过滤;排序域值,如sort_field表示过滤出的记录将按field域值进行排序;记录地址,如record_address表示记录在物理磁盘上的位置。其中,较佳地,如果sort_field中的field域值是field1、field2域值中的一个,该域值应不会重复出现在记录格式中,即field≠field1,或者field≠field2。
2.对每个归并段中的记录以过滤域值为条件进行过滤。例如,参见图3所示,该归并段中的每条记录格式包括filter_field1、filter_field2、filter_field3、sort_field、record_address,根据filter_field1按域值field1的条件进行过滤,原来有30条记录的归并段过滤后形成有20条记录的归并段;根据filter_field2按域值field2的条件进行过滤,20条记录的归并段过滤后形成有15条记录的归并段;根据filter_field3按域值field3的条件进行过滤,15条记录的归并段过滤后形成有9条记录的归并段。
接着,以sort_field中的field域值为条件对每个归并段按堆排序的方法进行从小到大顺序排序,形成有序子归并段。为了节约内存,可以建立链表用以存放有序子归并段中记录的记录地址,而不必把结果集存放在内存中。因此,将有序子归并段中记录的record_address记录于链表的数据地址(data_address)中,并按有序子归并段中记录的顺序依次链接该链表,形成有序子归并段记录地址链表,然后将所有有序子归并段记录地址链表的表头按对应的桶顺序链接起来,形成十字链表。
例如,参见图4所示,图中横向链表为排序后同一归并段的记录的地址链表,即有序子归并段记录地址链表,b[0][0]~b[0][3]为归并段b[0]中记录的记录地址,即桶b[0]中的记录在物理磁盘上的位置,链表按记录排序的从小到大链接,则横向上从左至右即第一项至最后一项依次对应field域值由小至大的记录,即b[0][0]为b[0]归并段中field域值最小的记录,b[0][3]为b[0]归并段中field域值最大的记录,其它有序子归并段的横向链表与此类似。
图4中,纵向链表为哈希表中桶的链表,即所有有序子归并段的链表表头通过按哈希表中的桶顺序链接起来,例如,桶b[0]对应的有序子归并段记录地址表头b[0][0]链接了桶b[1]对应的有序子归并段记录地址表头b[1][0],桶b[1]对应的有序子归并段记录地址表头b[1][0]链接了桶b[2]对应的有序子归并段记录地址表头b[2][0]......这里,该纵向链表对应的记录是无序的。上述纵向链表和横向链表构成了十字链表,该十字链表是动态的,当所有归并段的记录按指定域值进行过滤、排序处理后,该十字链表便形成完毕;当十字链表中的记录均进行了归并排序后,该链表也将删除。
3.设置一个全局缓冲区(global_buffer),其大小与十字链表中纵向数组个数相同,若对记录进行升序归并排序,则提取十字链表每个桶中对应的最小记录存入global_buffer,若对记录进行降序归并排序,则提取十字链表每个桶中对应的最大记录存入global_buffer。例如,在有序子归并段记录地址链表按记录排序的升序链接的情形下,则将十字链表中每个桶的第一项对应的记录存入global_buffer,以准备对过滤出的记录进行升序归并排序;或者将十字链表中每个桶的最后一项对应的记录存入global_buffer,以准备对过滤出的记录进行降序归并排序。global_buffer中的数据格式包括排序域值,表示排序的域值;记录地址,表示记录在物理磁盘上的位置;桶号,表示记录所在的桶。
参见图5所示。图5中,global_buffer中的数据格式为:sort_field表示排序的域值,record_address表示记录在物理磁盘上的位置,bucket_number表示该记录所在的桶号,用于指示下次归并时记录的来源。参见表1、表2所示,表1表示按升序归并排序时,global_buffer中的记录。例如,若图4有序子归并段记录地址链表按记录排序的升序链接,则图4中每个桶的第一项对应的记录即为最小记录,分别为b[0][0]、b[1][0]、b[2][0]、b[3][0]......因此表1中记录地址应有b[0][0]、b[1][0]、b[2][0]、b[3][0]......表2表示为按降序归并排序时,global_buffer中的记录,例如,图4中每个桶的最后一项对应的记录即为最大记录,分别为b[0][3]、b[1][2]、b[2][0]、b[3][1]......因此表2中记录地址应有b[0][3]、b[1][2]、b[2][0]、b[3][1]......
表1:按升序归并排序                               表2:按降序归并排序
4.对global_buffer中的记录按sort_field以从小到大顺序按堆排序的方法进行排序。例如,以从小到大的顺序排序,这样,最小的记录为global_buffer的第一条,最大的记录为global_buffer最后一条记录。
5.从global_buffer中取出第一条记录返回给用户,则形成升序归并排序;从global_buffer中取出最后一条记录返回给用户,则形成降序归并排序,并记下该记录所属的bucket number。
6.升序归并排序时,在十字链表中提取返回给用户的第一条记录所属桶的下一条记录地址,得到新记录;降序归并排序时,在十字链表中提取返回给用户的最后一条记录所属桶的上一条记录地址,得到新记录。在global_buffer中找到第一个sort_field比该新记录sort_field大的记录(firstbigger),将新记录插入其前;如果bucket number中已没有记录地址可取,则global_buffer总记录条数减1。循环执行步骤5,步骤6,直至所有记录都返回给用户为止。
下面对步骤6插入新记录的过程详细说明。
在某一桶中仍有步骤6所述的新记录可提取时:
a.按升序归并排序的情况下,若新记录的sort_field与global_buffer中所有记录的sort_field相比是最大的,则将global_buffer中的记录依次前移一个记录的存储空间,以释放该表中的尾部的存储空间,然后将新记录插在global_buffer尾部,如图6(a)所示,插入前,由于提取了global_buffer中的第一条记录返回给用户,使得该记录所存储的空间得以释放,如图中空白处表示释放的存储空间,左斜线部分为有记录的存储空间;通过依次前移左斜线部分的记录,使得释放空间移至尾部,再在尾部插入新记录,即图中方格部分为插入的新记录;否则在global_buffer找到第一个sort_field比其sort_field大的记录,将first bigger记录之前的记录依次前移,以将first bigger记录之前的存储空间释放,再于该处插入新记录,即新记录插在第一个sort_field比其sort_field大的记录前面,如图6(b)所示。
b.按降序归并排序的情况下,若新记录的sort_field与global_buffer中所有记录的sort_field相比是最大的,由于步骤5提取global_buffer中最后一条记录返回给用户,释放了最尾部的存储空间,则将新记录直接插在global_buffer尾部,如图7(a)所示,方格部分为插入的新记录;否则,在global_buffer找到第一个sort_field_val比其sort_field大的记录,将firstbigger记录以及其之后的记录依次后移一个记录的存储空间,以将firstbigger记录之前的存储空间释放,再于该处插入新记录,即新记录插在第一个sort_field比其sort_field大的记录前面,如图7(b)所示,方格部分为插入的新记录。
在某一桶中没有步骤6所述的新记录可提取时,说明已完成了某一桶中的所有记录的归并排序,global_buffer总记录条数减1,也就应减少一个记录存储空间,因此在升序归并的情况下,将global_buffer的头地址指针移至下一个记录的存储空间,例如,如图8(a)所示,图中,存储空间80中的记录返回给用户后,当该记录所属桶中无记录可取,则将存储空间81中的记录返回给用户,同时将头地址指针移至存储空间81处,使指针指向global_buffer中的第一条记录;在降序归并的情况下,将global_buffer中所有的记录依次后移一个记录的存储空间,再将global_buffer的头地址指针移至下一个记录的存储空间,例如,如图8(b)所示,由于降序归并时,返回给用户的记录是global_buffer中最后一条记录,即将存储空间85中的记录返回给用户,当该记录所属桶中无记录可取,则将global_buffer中所有的记录依次后移一个记录的存储空间,同时,将global_buffer的头地址指针移至下一个记录的存储空间,再将存储空间85中的记录返回给用户,实质上是将存储空间84返回给用户。
由上述步骤和说明可见,存储记录地址的十字链表形成后,从归并段中取第一条/最后一条记录填入global_buffer,对global_buffer再按从小到大排序后,对于升序归并排序来说,global_buffer取出的第一条记录一定是所有待排序记录中最小的;反之,对于降序归并排序,global_buffer取出的最后一条记录一定是所有待排序记录中最大的。基于这个思想,上述十字链表的形成顺序、global_buffer中记录的排序顺序、选取十字链表中的第一项还是最后一项存入global_buffer、返回记录是global_buffer中的第一条还是最后一条等都不重要,具体实施时可适当组合匹配,只要能达到同样的效果和目的即可。
本发明并不局限于上述实施例的具体介绍。本发明可进一步更新,或者对本发明所公开的特征加以新的组合(包括任何相关的权利要求、摘要和附图),也可对本发明所公开的任何方法或者过程进行更新或者进行新组合。

Claims (9)

1.一种数据记录处理方法,其特征在于,该方法包括:
A.将记录按数据结构划分为归并段;
B.以过滤域值为条件过滤每个归并段中的记录,形成过滤后的归并段,然后以指定域值为条件对过滤后的归并段进行排序,形成有序子归并段;
C.设置全局缓冲区,且所述全局缓存区中记录存储的数目与有序子归并段的数目相同;将每个有序子归并段中的指定域值最小记录/最大记录存入全局缓冲区;
D.以指定域值为条件对全局缓冲区中的记录进行排序;
E.取出全局缓冲区中当前指定域值最小记录/最大记录,释放所述全局缓存区中该记录的存储空间;并记下所取出记录归属的有序子归并段;
F.在所取出记录归属的有序子归并段中提取该记录的下一条记录作为新记录,然后,将新记录以指定域值为条件按序插入全局缓冲区中;若所取出记录归属的有序子归并段中已无记录可取,则减少全局缓冲区中一个记录的存储空间;
G.循环执行步骤E、F,直至全局缓冲区中所有记录都提取完为止。
2.根据权利要求1所述的方法,其特征在于,设置归并段中的记录格式至少包括过滤域值、排序域值、记录所在物理磁盘位置的记录地址,其中,排序域为过滤域中的一个,或者是非过滤域值。
3.根据权利要求1所述的方法,其特征在于,设置存入全局缓冲区的记录格式至少包括排序域值、记录所在物理磁盘位置的记录地址、记录所属的有序子归并段号。
4.根据权利要求1所述的方法,其特征在于,所述的指定域值为排序域值。
5.根据权利要求1所述的方法,其特征在于,所述数据记录以哈希索引的存储方式存储,具体为,以记录的哈希值作为索引,将记录映射到哈希表中的存储位置,建立哈希值与物理数据之间的对应关系;步骤A所述的数据结构为以桶构成的哈希表结构,哈希值相同的记录链接到同一桶下。
6.根据权利要求5所述的方法,其特征在于,所述的步骤A包括将哈希表中每个桶中的所有记录划分为一个归并段。
7.根据权利要求5所述的方法,其特征在于,所述记录的哈希值是这样获得的:把记录的每个字符串对应的整数分别乘以不同的基数,再累加,并将累加的总和除以桶的个数,然后取余数;其中,基数为0~(N-1)之间的整数,N为字符串的长度。
8.根据权利要求1所述的方法,其特征在于,
所述的步骤B进一步包括:设置由横向链表和纵向链表构成的十字链表,并将记录地址记录于链表中,其中,横向链表为有序子归并段中记录的记录地址链表,该链表按有序子归并段中记录的顺序依次链接;纵向链表为横向链表的表头链表,链接所有有序子归并段的记录地址链表的表头;
所述的步骤C进一步包括在十字链表的每个横向链表中提取指定域值最小记录/最大记录对应的记录地址,得到与该记录地址对应的记录;
步骤E所述的记下返回记录所属的有序子归并段的步骤为记下所取出记录归属的横向链表;
所述的步骤F进一步包括在所取出记录归属的横向链表中提取该返回记录链接的下一记录的记录地址,获得新记录,若横向链表中已无地址记录可取,则将该横向链表的上一横向链表的表头与下一横向链表的表头链接,然后删除该横向链表。
9.根据权利要求1所述的方法,其特征在于,步骤D进一步包括,在全局缓冲区头部至尾部按指定域值以从小到大的顺序依次存储全局缓冲区中,
步骤F所述将新记录以指定域值为条件按序插入全局缓冲区中包括,在全局缓冲区中查找比该新记录指定域值大的第一大记录,如果没有找到,则将该新纪录存储于全局缓冲区尾部,否则,
如果全局缓冲区中头部的存储空间被释放,则将存储于第一大记录之前的记录依次向全局缓冲区头部方向的存储空间前移,然后将新记录插入第一大记录之前的存储空间;
如果全局缓冲区中尾部的存储空间被释放,则将存储于第一大记录以及其后的记录依次向全局缓冲区尾部方向的存储空间后移,然后将新记录插入所述第一大记录之前的存储空间。
CNB021215642A 2002-06-26 2002-06-26 一种数据记录处理方法 Expired - Fee Related CN100399338C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB021215642A CN100399338C (zh) 2002-06-26 2002-06-26 一种数据记录处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB021215642A CN100399338C (zh) 2002-06-26 2002-06-26 一种数据记录处理方法

Publications (2)

Publication Number Publication Date
CN1464451A CN1464451A (zh) 2003-12-31
CN100399338C true CN100399338C (zh) 2008-07-02

Family

ID=29743011

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB021215642A Expired - Fee Related CN100399338C (zh) 2002-06-26 2002-06-26 一种数据记录处理方法

Country Status (1)

Country Link
CN (1) CN100399338C (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003084B2 (en) * 2011-02-18 2015-04-07 Ab Initio Technology Llc Sorting
CN103092885A (zh) * 2011-11-07 2013-05-08 中国移动通信集团公司 稀疏索引的建立方法和装置、稀疏索引及查询方法和装置
CN102968496B (zh) * 2012-12-04 2016-04-27 天津神舟通用数据技术有限公司 基于任务驱动和双缓冲机制的并行排序方法
CN104021169B (zh) * 2014-05-30 2018-01-16 江苏大学 一种基于SDD‑1算法的Hive连接查询方法
CN106294348B (zh) * 2015-05-13 2019-07-09 深圳市智美达科技有限公司 针对实时上报数据的实时排序方法和装置
CN105224697B (zh) * 2015-11-16 2018-10-02 北京京东尚科信息技术有限公司 带过滤条件的排序方法和用于执行所述方法的装置
CN107169017A (zh) * 2017-03-31 2017-09-15 北京奇艺世纪科技有限公司 一种数据格式化存储、格式化数据读取方法及装置
CN108647302B (zh) * 2018-05-09 2022-03-25 联想(北京)有限公司 一种数据库排序方法及电子设备
CN111142839A (zh) * 2019-12-30 2020-05-12 武汉轻工大学 双链表折半插入排序方法、装置、设备及存储介质
CN112947890B (zh) * 2021-03-09 2021-11-02 中科驭数(北京)科技有限公司 一种归并排序方法及装置
CN113392140B (zh) * 2021-06-11 2023-05-09 上海达梦数据库有限公司 一种数据排序方法、装置、电子设备及存储介质
CN114817341B (zh) * 2022-06-30 2022-09-06 北京奥星贝斯科技有限公司 访问数据库的方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1115545A (zh) * 1994-01-18 1996-01-24 大宇电子株式会社 能进行快速系数更新操作的均衡设备
JPH10243028A (ja) * 1997-01-15 1998-09-11 At & T Corp ダイナミックフィルタのためのセッションキャッシュおよびルールキャッシング方法
CN1272656A (zh) * 1999-04-30 2000-11-08 国际商业机器公司 内容-索引搜索系统和方法
US6275819B1 (en) * 1999-03-16 2001-08-14 Novell, Inc. Method and apparatus for characterizing and retrieving query results
US6347312B1 (en) * 1998-11-05 2002-02-12 International Business Machines Corporation Lightweight directory access protocol (LDAP) directory server cache mechanism and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1115545A (zh) * 1994-01-18 1996-01-24 大宇电子株式会社 能进行快速系数更新操作的均衡设备
JPH10243028A (ja) * 1997-01-15 1998-09-11 At & T Corp ダイナミックフィルタのためのセッションキャッシュおよびルールキャッシング方法
US6347312B1 (en) * 1998-11-05 2002-02-12 International Business Machines Corporation Lightweight directory access protocol (LDAP) directory server cache mechanism and method
US6275819B1 (en) * 1999-03-16 2001-08-14 Novell, Inc. Method and apparatus for characterizing and retrieving query results
CN1272656A (zh) * 1999-04-30 2000-11-08 国际商业机器公司 内容-索引搜索系统和方法

Also Published As

Publication number Publication date
CN1464451A (zh) 2003-12-31

Similar Documents

Publication Publication Date Title
CN101315628B (zh) 内存数据库系统及实现内存数据库的方法和装置
CN101751406B (zh) 一种实现基于列存储的关系型数据库的方法及装置
CN110413611B (zh) 数据存储、查询方法及装置
US7558802B2 (en) Information retrieving system
JP2957703B2 (ja) データを記憶し検索する方法及びメモリ構成体
CN102129458B (zh) 关系型数据库的存储方法及装置
US6240418B1 (en) Database apparatus
EP2924594A1 (en) Data encoding and corresponding data structure in a column-store database
CN100440221C (zh) 管理文件系统的设备和方法
CN100399338C (zh) 一种数据记录处理方法
CN105117417A (zh) 一种读优化的内存数据库Trie树索引方法
JP2002501256A (ja) データベース装置
CN116450656B (zh) 数据处理方法、装置、设备及存储介质
CN110109894B (zh) 非关系型数据库的实现方法、装置、存储介质和设备
US20230195769A1 (en) Computer system and method for indexing and retrieval of partially specified type-less semi-infinite information
CN110096509A (zh) 大数据环境下实现历史数据拉链表存储建模处理的系统及方法
CN101763415A (zh) 一种数据库的b树索引的生成方法及装置
CN115935020A (zh) 一种图数据存储方法和装置
CN116975006A (zh) 基于磁盘缓存及b树索引的数据去重方法、系统及介质
CN116662019A (zh) 请求的分配方法、装置、存储介质及电子装置
CN113360551B (zh) 一种靶场中时序数据的存储与快速统计方法及系统
CN113254720A (zh) 一种基于新型存储器的存储内哈希排序构建方法
CN112667859A (zh) 基于内存的数据处理方法及装置
CN104765656A (zh) 一种冷数据的备份方法及装置
JP2000517448A (ja) データベース・システム及びn次元データセットの編成方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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
TR01 Transfer of patent right

Effective date of registration: 20170505

Address after: 100055 Beijing, Guang'an, No. 305 Xicheng District street, No. two, building 10, floor 9, floor 1112

Patentee after: New venture (Beijing) Consulting Service Co., Ltd.

Address before: 100085 Beijing, Haidian District information industry base on the road No. 6

Patentee before: Lenovo (Beijing) Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080702

Termination date: 20170626

CF01 Termination of patent right due to non-payment of annual fee