CN100342377C - 一种提高数据处理效率的方法 - Google Patents

一种提高数据处理效率的方法 Download PDF

Info

Publication number
CN100342377C
CN100342377C CNB031098770A CN03109877A CN100342377C CN 100342377 C CN100342377 C CN 100342377C CN B031098770 A CNB031098770 A CN B031098770A CN 03109877 A CN03109877 A CN 03109877A CN 100342377 C CN100342377 C CN 100342377C
Authority
CN
China
Prior art keywords
data
foreground
memory block
browse window
database
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 - Lifetime
Application number
CNB031098770A
Other languages
English (en)
Other versions
CN1538324A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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
Priority to CNB031098770A priority Critical patent/CN100342377C/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CA002522578A priority patent/CA2522578C/en
Priority to DE602004008760T priority patent/DE602004008760D1/de
Priority to EP04711974A priority patent/EP1615144B1/en
Priority to PCT/CN2004/000130 priority patent/WO2004092973A1/zh
Priority to AU2004230500A priority patent/AU2004230500B2/en
Priority to AT04711974T priority patent/ATE372555T1/de
Publication of CN1538324A publication Critical patent/CN1538324A/zh
Priority to US11/252,269 priority patent/US7451128B2/en
Application granted granted Critical
Publication of CN100342377C publication Critical patent/CN100342377C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing

Abstract

本发明公开了一种提高数据处理效率的方法,该方法包括以下步骤:1)在后台为前台浏览窗口开辟对应内存块,依浏览窗口需要显示的数据量建立数据块,每个内存块分别暂存每个浏览窗口对应数据库中N个数据块;2)在前台浏览窗口显示的数据移动时,如果浏览窗口需要显示的数据块及其相关的数据块全部在内存块中,则浏览窗口对应内存块中相应数据块的数据,否则,将数据库中浏览窗口需要显示的数据块及其相关数据块保存到内存块中,替换内存块原有的数据块;3)前台向后台发送数据操作命令,对数据库数据进行操作;4)操作完毕,用对应的内存块的数据库数据更新数据库。本发明方法,实现简便、节省系统资源,能够提高数据处理的速度和效率。

Description

一种提高数据处理效率的方法
技术领域
本发明涉及数据处理技术,特别涉及一种提高数据处理效率的方法。
背景技术
数据库表格的规模越来越大,每张表格中的记录数通常达到数万条,甚至更多。在对数据库数据进行数据处理时,各个数据配置的前台采用多窗口技术(MDI)的方式,前台会同时打开多张表格。另外,数据库在网络应用中,存在多个客户端同时操作一张表格的情况。
对于多窗口数据库处理,目前,浏览窗口与数据库的对应关系参见图1,图1为现有技术查询浏览窗口与数据库对应关系示意图。如图1所示,前台浏览窗口101与数据库表102是直接对应的。数据处理中,查询操作是一项重要的操作,查询到数据后,才能对该数据进行下一步的删除、修改、排序等操作。
对数据进行查询操作的基本过程参见图2,图2为现有技术数据查询流程示意图。如图2所示,前台浏览窗口202直接向数据库201查询记录,数据库201将查询到的记录203直接返回给前台浏览窗口202。
可见,一般普通的数据查询,只是简单的对数据库中表的直接操作,当数据量非常大时,操作速度慢。如前台保存所有的数据,在查询的时候,可以减少与数据库交互的次数,但数据量非常大时,要占用非常大的前台内存资源。所以,在数据量非常大的时候,目前的方法对数据库进行数据处理的效率很低,然而,当前在通信、金融等各种领域的应用中数据量越来越大,这使得如何提高数据处理效率成为一个急需解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种提高数据处理效率的方法,能够提高数据库数据处理的速度和效率。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种提高数据处理效率的方法,该方法包括以下步骤:
1)在后台为每个前台浏览窗口开辟对应内存块,依浏览窗口需要显示的数据量建立数据块,每个内存块分别暂存每个浏览窗口在数据库中对应的数据块及其在数据库中相关的共N个数据块;
2)在前台浏览窗口显示的数据移动时,如果浏览窗口需要显示的数据块及其相关的数据块全部在内存块中,则浏览窗口对应内存块中相应数据块的数据,
如果浏览窗口需要显示的数据块及其相关的数据块部分在内存块中,则将数据库中浏览窗口需要显示的数据块及其相关的数据块保存到内存块中,替换内存块原有的数据块;
3)前台向后台发送数据操作命令,对前台浏览窗口对应的内存块中的数据库数据进行操作;
4)前台浏览窗口操作完毕,关闭该窗口,同时用该浏览窗口对应的内存块的数据库数据更新数据库。
所述在后台为前台浏览窗口开辟对应内存块可以为:在后台为每个前台浏览窗口开辟一个对应内存块。
所述在数据库中相关的数据块可以为在数据库中相邻的数据块。
该方法可以进一步包括设置索引数组集,根据前台浏览窗口对内存块大小的要求,生产相应大小的索引数组,前台浏览窗口通过对应的索引数组来映射具体的内存块,索引数组以内存块大小为索引。
该方法也可以进一步包括,当一索引数组不够用时,向索引数组集申请更大型号的索引数组,将该旧数组交给索引数组集来回收,索引数组集将收到的废弃索引数组保留,当收到新的开辟内存申请时,将该索引数组重新提交给后台使用。
该方法还可以进一步包括,当需要的内存块大小超过预定的大小时,后台收到申请,无法找到合适的索引数组时,则删除最不常用的内存块,建立新的索引数组。
该方法可以进一步包括为每条数据库记录设置一个唯一标识的资源号(ResID),在数据库中以资源号为记录索引建立索引表。
其中,步骤1)所述开辟内存块的过程可以进一步包括以下步骤:
11)前台浏览窗口向后台发送开辟内存块命令,包括数据库表单名和一个数据块包含的记录数;
12)后台收到该命令后,在指定的数据库表单中查找出对应数据块及其相邻数据块共N个数据块,将N个数据块保存到该前台浏览窗口对应的内存块中;
13)后台向前台返回浏览窗口需要显示的数据块中的记录。
步骤2)可以进一步包括:
21)查询记录过程:
a、前台浏览窗口向后台发送数据库表单名和用户指定的数据查询信息;
b、后台根据这些信息,从索引表中读取相关记录索引,根据记录索引判断要查询的记录是否在前台浏览窗口对应的内存块中,如果在,则将该记录所在的数据块返回给前台,执行步骤c;否则,到数据库中查找,将包含要查询记录的数据块返回前台浏览窗口,执行步骤d;
c、判断包含要查询记录的数据块相关的数据块是否在前台浏览窗口对应的内存块中,如果在,则执行步骤e;否则,在数据库中查找相关的数据块;
d、用包含要查询记录的数据块及相关的数据块,更新前台浏览窗口对应的内存块;
e、前台用收到的查询记录刷新浏览窗口;
22)增加记录过程:
a、前台浏览窗口向后台发送数据库表单名、增加记录命令和增加记录的数据;
b、后台收到命令后根据这些条件,在内存块的数据中插入指定数据,成功后获得对应的记录索引,将该记录索引添加到索引表;
c、后台向前台发送记录增加成功消息、当前记录数和刷新浏览窗口通知;
d、前台收到步骤c中所述记录增加成功消息后,刷新该浏览窗口数据;
23)删除记录过程:
a、前台浏览窗口向后台发送数据库表名、删除命令和记录索引;
b、后台收到命令后根据这些条件,在内存块的数据中删除指定数据;
c、后台向前台发送删除成功消息、当前记录数和刷新浏览窗口通知;
d、前台收到步骤c中所述删除成功消息后,刷新当前浏览窗口的数据;
24)修改记录过程:
a、前台浏览窗口向后台发送数据库表名、修改命令、记录索引和修改后的记录数据;
b、后台收到命令后根据这些条件,在内存块的数据中修改指定数据;
c、后台向前台发送修改成功消息和刷新浏览窗口通知;
d、前台收到步骤c中所述修改成功消息后,刷新当前窗口的数据。
步骤2)还可以进一步包括:在增加记录或删除记录或修改记录过程中,对于包含增加或删除的记录的前台非发起操作的浏览窗口,刷新数据。
步骤2)还可以进一步包括对数据库的刷新方法为:重新使用排序条件进行数据库排序,生产新的索引表,并通知前台刷新数据。
步骤2)还可以进一步包括对数据库的刷新方法为:将新增的记录追加到数据库表尾,不进行排序,用户发现后下发排序命令和排序条件重新排序。
该方法可以进一步包括:当用户按翻页键的速度特别快或长按不放时,根据用户按键的次数计算出最后定位的页面,先在当前浏览窗口对应的内存块中查找该页面对应的数据,如果找不到,则到数据库中查找该页面对应的数据。
该方法还可以进一步包括:当用户滚屏到页面的顶部或底部时,显示选择页面按钮,根据用户选择先在当前浏览窗口对应的内存块中查找对应的数据,如果找不到,则到数据库中查找对应的数据。
由上述的技术方案可见,本发明的这种提高数据处理效率的方法,实现简便、节省系统资源,能够提高数据处理的速度和效率。
附图说明
图1为现有技术查询浏览窗口与数据库对应关系示意图;
图2为现有技术数据查询示意图;
图3为本发明一个较佳实施例中前台浏览窗口与后台数据库表对应关系示意图;
图4为图3所示实施例的滑动窗口机制示意图;
图5为图3所示实施例的索引数据工厂结构示意图;
图6为图3所示实施例的数据查询示意图;
图7为图3所示实施例的查询记录的流程图;
图8-1为图3所示实施例中浏览的数据块及相邻数据块不超出内存块时翻页示意图;
图8-2为图3所示实施例中浏览的数据块相邻的数据块超出内存块时翻页示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达的更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明主要采用滑动窗口的技术来提高数据处理效率。
首先,在后台为前台浏览窗口开辟对应内存块,参见图3,图3为本发明一个较佳实施例中前台浏览窗口与后台数据库表对应关系示意图。本实施例中,在后台300为每个前台浏览窗口301开辟了一个对应的内存块302,也可以多个浏览窗口对应一个内存块或一个浏览窗口对应多个内存块,以一个浏览窗口需要显示的数据量为一个数据块,每个内存块302暂存浏览窗口在数据库303中对应的数据块及其在数据库303中相邻的共N个数据块。其中,各内存块302中的数据可以重合也可以不重合,如图3中内存块1和内存块2之间存在数据重合,它们和数据块n之间没有数据重合。后台各内存块302的大小可以根据具体情况制定,后台内存块越大,访问数据库的次数就越少,同时为了防止出现较大的资源开销,一般3~5个数据块为宜,以下实施例的内存块中存储了3个数据块:浏览窗口对应的数据块,和与浏览窗口对应的数据块相邻的上、下数据块,这里也可以是其他与浏览窗口对应数据块相关的数据块,比如数据库表中某个域内容相同的数据块。
在前台浏览窗口显示的数据移动时,如果浏览窗口需要显示的数据块及其相邻的数据块全部在内存块中,则在内存块中移动,如果浏览窗口需要显示的数据块及其相邻的数据块不全部在内存块中,则将数据库中浏览窗口需要显示的数据块及其相邻的数据块保存到内存块中,替换内存块原有的数据块。
也就是说,内存块302存储的数据根据前台浏览窗口301的移动在数据库表303中移动,形成了映射数据库数据的滑动窗口。如图4所示,图4为图3所示实施例的滑动窗口机制示意图,前台浏览窗口401对应的后台内存块402中存储的数据块1~3是数据库表403中的数据集1,当前台浏览窗口401需要的数据超出了数据块1~3,而需要的数据在数据集2中时,则后台内存块402改为存储数据集2。
然后,通过前台向后台发送数据操作命令,对前台浏览窗口对应的内存块中的数据库数据进行操作。
最后,前台浏览窗口操作完毕,关闭该窗口,同时用该浏览窗口对应的内存块的数据库数据更新数据库。
这样,当前台需要数据的时候,不用直接访问数据库表,而是通过前台浏览窗口301向后台300发送数据操作命令,对前台浏览窗口301对应的内存块302中的数据库数据进行操作;前台浏览窗口301操作完毕,关闭该窗口,用该窗口301对应的内存块302的数据库数据更新数据库。只对此内存块进行操作,能够大大提高数据处理的速度和效率。当在前台打开多个浏览窗口301时,一个浏览窗口301对应一个内存块302,浏览窗口301之间不相互影响。
上述方案在实现过程中,后台中会生成大量的内存块,其数量等于所有前台中打开浏览窗口数的总和,因此消耗的内存,随着前台打开浏览窗口的增多,会有若干个大大小小的内存块,另外在数据的增删时,还会有大量的内存增删操作。为了提供内存使用的效率,减少内存碎片的产生,本实施例在后台建造一个内存块索引数组集,它负责内存块的生成和回收。其结构参见图5,图5为图3所示实施例的索引数据工厂结构示意图。索引数组集500根据浏览窗口对内存块大小的需要,生产相应大小的索引数组501,每个索引数组501对应一个内存块502。当某个后台因为增加数据导致原来的索引数组不够用时,直接向索引数组集500申请更大型号的索引数组,将原来的旧数组交给索引数组集500来回收,索引数组集500收到废弃的数组后,并不马上删除,而是保留起来,如果收到新开辟内存块申请,就可以将这些数组重新提交给后台使用。为了保证内存块使用的总量不会无限的增大,当总的内存块超过一定数量,如果收到后台申请,但无法找到合适的数组,必须更新时,就删除最不常用的内存块,建立新的索引数组。
采用这种方式的好处是,理想状态下,当系统运行一段时间后,就会有足够多的索引数组来满足后台的需要,不会再有不断的内存申请和删除的操作,另外在整个处理过程中,后台也不必为了增加一个索引而进行一系列的内存增删操作。
因为对于数据库记录的操作非常频繁,考虑到数据库的可移植性,本发明为每一条记录设置了一个唯一标识的资源号-ResID;使用此ResID可屏蔽不同数据库使用记录号来访问数据库的差异性,可减少数据库移植的工作量。因此,所有的表格必须以它为索引,并在数据库中建立相关的索引表,建立索引表可以提高记录定位和查询的速度。这个ResID是在添加记录时,由后台程序为每条记录设置的。除了本发明设置的ResID,系统中的下面2个对象也可以用来标识记录:
a、Sybase数据库中的记录号,由数据库缺省分配;
b、Oracle数据库中的行内部地址(RowID)也由数据库缺省分配;
其中记录号和RowID都是数据库自动分配的,可能会对操作的性能有所提高,但因为属于不同的数据库,必须进行统一的封装;而ResID是自己定义的数据,与使用的数据库系统无关,在数据库支持上不会带来额外的麻烦,因此本发明实施例使用ResID。
以下具体说明对数据库数据进行操作的过程:
首先,通过前述的过程为前台浏览窗口开辟一个内存块:前台浏览窗口向后台发送开辟内存块命令、数据库表单名和前台浏览窗口需要显示的记录数。后台收到该命令后,找出数据库中浏览窗口显示的数据块、数据库中该数据块相邻的上、下共3个数据块;最后,后台向前台返回浏览窗口需要显示的数据块中的记录。
然后,就可以对浏览窗口上的数据库记录进行操作。
其中,查询记录操作参见图6,图6为图3所示实施例的数据查询示意图。后台内存块604中存储了数据库601中的3个数据块数据,其中一个数据块数据显示在前台浏览窗口602上。当用户查询时,执行以下步骤:a、前台浏览窗口602向后台发送查询记录命令;b、后台在内存块604的数据块中查询指定数据,如果要查询的数据不在内存块604中,则到数据库601中查找,查找到数据后,后台向前台发送查询记录603;c、前台浏览窗口602显示查询结果。
由于查询记录操作是数据库操作中一个重要的操作,下面详细说明查询记录操作过程。图7为图3所示实施例的查询记录的流程图,其具体流程包括以下步骤:
执行步骤701,前台浏览窗口向后台发送包含数据库表单名和用户指定的数据查询命令。
步骤702,后台根据查询命令,从索引表中读取相关记录索引(ResID),根据记录索引判断要查询的记录是否在前台浏览窗口对应的内存块中,如果要查询的记录在该内存块中,则执行步骤703;否则,执行步骤706。
步骤703,将该记录所在的数据块N返回给前台。
步骤704,判断包含要查询记录的数据块相邻的数据块是否在内存中,如果在,则执行步骤709,否则执行步骤705。
步骤705,向数据库发送查询该记录的命令,在数据库中查找到要查询记录的数据块的相邻上、下数据块,执行步骤708。
步骤706,向数据库发送查询命令,在数据库中查找到要查询记录的数据块N及其相邻上、下数据块N+1、N-1。
步骤707,将查询到记录所在的数据块N返回给前台。
步骤708,用包含查询到记录数据块N及相邻上、下数据块N+1、N-1,更新前台浏览窗口对应的内存块。
步骤709,前台用收到的查询记录刷新浏览窗口;
增加记录操作包括以下步骤:a、前台浏览窗口向后台发送数据库表单名、增加记录命令和增加记录的数据;b、后台收到命令后根据这些条件,拼装SQL语句,在内存块的数据集中插入指定数据,成功后获得对应记录的ResID,将该ResID添加到索引数组;c、后台向前台发送记录增加成功消息、当前记录数,和刷新浏览窗口通知;d、前台收到c中所述记录增加成功消息后,刷新该浏览窗口数据。
删除记录操作包括以下步骤:a、前台浏览窗口向后台发送数据库表名、删除命令和记录索引(ResID);b、后台收到命令后根据这些条件,拼装SQL语句,在数据库中删除指定数据;c、后台向前台发送删除成功消息、当前记录数和刷新浏览窗口通知;d、前台收到c中所述删除成功消息后,刷新当前浏览窗口的数据。
修改记录操作包括以下步骤:a、前台浏览窗口向后台发送数据库表名、修改命令、记录索引(ResID)和修改后的记录数据;b、后台收到命令后根据这些条件,拼装SQL语句,在数据库中修改指定数据;c、后台向前台发送修改成功消息和刷新浏览窗口通知;d、前台收到c中所述修改成功消息后,刷新当前窗口的数据。
在增加记录或删除或修改记录过程中,在刷新发起操作浏览窗口的同时,可以同时刷新其他包含增加记录或删除或修改记录的浏览窗口,方法为:遍历所有非发起操作浏览窗口的索引数组,当检查到增加或删除的记录在前台非发起增加操作浏览窗口中时,则刷新该前台浏览窗口的数据。对于增加记录后窗口的刷新,可以采用追加的方法,新增记录的ResID添加在索引数组的尾部,这样可以大大提高更新索引数组的效率。
在记录增加,后台需要对索引表进行刷新,但是排序的索引有一定的特殊性,当数据集按照制定的条件排序后,它们的索引--ResID,很可能是无序的,因此在这种情况下,要把新的ResID正确的插入索引表中是比较困难的,可采用下述两种方式:
一、重新使用排序条件进行数据库排序,生产新的索引表,并通知前台刷新数据。该方法,处理简单,但增加后台的处理工作量,刷新数组的速度比较慢,但是前台可能感觉不到。
二、将新增的记录追加到索引表尾,不进行排序,这种方法处理最简单,用户发现后可以下发条件重新排序。
另外,前台浏览窗口翻页操作的过程参见图8-1、图8-2,图8-1为图3所示实施例中浏览的数据块及相邻数据块不超出内存块时翻页示意图、图8-2为图3所示实施例中浏览的数据块相邻的数据块超出内存块时翻页示意图。
如图8-1所示,如果前台浏览窗口811需要显示的记录为100条,当前对应的数据块是内存块812中的数据块1,每个数据块的记录也是100条,在向下翻页时,显示的数据超出数据块1,则前台浏览窗口811对应内存块812中的数据块2,将数据块2的数据返回给前台,这种情况不对数据库813进行操作。
如图8-2所示,如果当前前台浏览窗口811对应的是内存块812中的数据块2,在向下翻页时,显示的数据超出数据块2,则前台浏览窗口811对应内存块812中的数据块3,将数据块3的数据返回给前台,由于此时与数据块3相邻的数据块4不在内存块812中,所以删除与数据块3不相邻的数据块1的数据,同时向数据库813发出数据请求,将数据块4的数据保存到内存块812中。
如果此时向上翻页,则前台浏览窗口811对应内存块812中的数据块2,将数据块2的数据返回给前台,同时在内存块812中删除数据块4,将数据块1添加到数据块2前面,其结果如图8-1。
在实际应用中,当用户按翻页键的速度特别快或长按不放时,根据用户按键的次数计算出最后定位的页面,到数据库中查找该页面对应的数据块及其相邻的数据块。当用户滚屏到页面的顶部或底部时,显示选择页面按钮,根据用户选择在数据库中查找对应的数据块及其相邻的数据块。
由上述的实施例可见,本发明的这种提高数据处理效率的方法,实现简便、节省系统资源,能够提高数据处理的速度和效率。

Claims (13)

1、一种提高数据处理效率的方法,其特征在于,该方法包括以下步骤:
1)在后台为前台浏览窗口开辟对应内存块,依浏览窗口需要显示的数据量建立数据块,每个内存块分别暂存每个浏览窗口在数据库中对应的数据块及其在数据库中相关的共N个数据块;
2)在前台浏览窗口显示的数据移动时,如果浏览窗口需要显示的数据块及其相关的数据块全部在内存块中,则浏览窗口对应内存块中相应数据块的数据,
如果浏览窗口需要显示的数据块及其相关的数据块部分在内存块中,则将数据库中浏览窗口需要显示的数据块及其相关的数据块保存到内存块中,替换内存块原有的数据块;
3)前台向后台发送数据操作命令,对前台浏览窗口对应的内存块中的数据库数据进行操作;
4)前台浏览窗口操作完毕,关闭该窗口,同时用该浏览窗口对应的内存块的数据库数据更新数据库。
2、如权利要求1所述的方法,其特征在于,所述在后台为前台浏览窗口开辟对应内存块为:在后台为每个前台浏览窗口开辟一个对应内存块。
3、如权利要求1所述的方法,其特征在于:所述在数据库中相关的数据块为在数据库中相邻的数据块。
4、如权利要求1所述的方法,其特征在于:该方法进一步包括设置索引数组集,根据前台浏览窗口对内存块大小的要求,生产相应大小的索引数组,前台浏览窗口通过对应的索引数组来映射具体的内存块,索引数组以内存块大小为索引。
5、如权利要求4所述的方法,其特征在于:该方法进一步包括,当一索引数组不够用时,向索引数组集申请更大型号的索引数组,将该旧数组交给索引数组集来回收,索引数组集将收到的废弃索引数组保留,当收到新的开辟内存块申请时,将该索引数组重新提交给后台使用。
6、如权利要求4或5所述的方法,其特征在于:该方法进一步包括,当需要的内存块大小超过预定的大小时,后台收到申请,无法找到合适的索引数组时,则删除最不常用的内存块,建立新的索引数组。
7、如权利要求1所述的方法,其特征在于:步骤1)所述开辟内存块的过程进一步包括以下步骤:
11)前台浏览窗口向后台发送开辟内存块命令,包括数据库表单名和一个数据块包含的记录数;
12)后台收到该命令后,在指定的数据库表单中查找出对应数据块及其相邻数据块共N个数据块,将N个数据块保存到该前台浏览窗口对应的内存块中;
13)后台向前台返回浏览窗口需要显示的数据块中的记录。
8、如权利要求1所述的方法,其特征在于:为每条数据库记录设置一个唯一标识的资源号ResID,在数据库中以资源号为记录索引建立索引表,所述步骤2)进一步包括:
21)查询记录过程:
a、前台浏览窗口向后台发送数据库表单名和用户指定的数据查询信息;
b、后台根据这些信息,从索引表中读取相关记录索引,根据记录索引判断要查询的记录是否在前台浏览窗口对应的内存块中,如果在,则将该记录所在的数据块返回给前台,执行步骤c;否则,到数据库中查找,将包含要查询记录的数据块返回前台浏览窗口,执行步骤d;
c、判断包含要查询记录的数据块相关的数据块是否在前台浏览窗口对应的内存块中,如果在,则执行步骤e;否则,在数据库中查找相关的数据块;
d、用包含要查询记录的数据块及相关的数据块,更新前台浏览窗口对应的内存块;
e、前台用收到的查询记录刷新浏览窗口;
22)增加记录过程:
a、前台浏览窗口向后台发送数据库表单名、增加记录命令和增加记录的数据;
b、后台收到命令后根据这些条件,在内存块的数据中插入指定数据,成功后获得对应的记录索引,将该记录索引添加到索引表;
c、后台向前台发送记录增加成功消息、当前记录数和刷新浏览窗口通知;
d、前台收到步骤c中所述记录增加成功消息后,刷新该浏览窗口数据;
23)删除记录过程:
a、前台浏览窗口向后台发送数据库表名、删除命令和记录索引;
b、后台收到命令后根据这些条件,在内存块的数据中删除指定数据;
c、后台向前台发送删除成功消息、当前记录数和刷新浏览窗口通知;
d、前台收到步骤c中所述删除成功消息后,刷新当前浏览窗口的数据;
24)修改记录过程:
a、前台浏览窗口向后台发送数据库表名、修改命令、记录索引和修改后的记录数据;
b、后台收到命令后根据这些条件,在内存块的数据中修改指定数据;
c、后台向前台发送修改成功消息和刷新浏览窗口通知;
d、前台收到步骤c中所述修改成功消息后,刷新当前窗口的数据。
9、如权利要求8所述的方法,其特征在于,所述步骤2)进一步包括:在增加记录或删除记录或修改记录过程中,对于包含增加或删除的记录的前台非发起操作的浏览窗口,刷新数据。
10、如权利要求8所述的方法,其特征在于,所述步骤2)进一步包括对数据库的刷新方法为:重新使用排序条件进行数据库排序,生产新的索引表,并通知前台刷新数据。
11、如权利要求8所述的方法,其特征在于,所述步骤2)进一步包括对数据库的刷新方法为:将新增的记录追加到数据库表尾,不进行排序,用户发现后下发排序命令和排序条件重新排序。
12、如权利要求1所述的方法,其特征在于,该方法进一步包括:当用户按翻页键的速度特别快或长按不放时,根据用户按键的次数计算出最后定位的页面,先在当前浏览窗口对应的内存块中查找该页面对应的数据,如果找不到,则到数据库中查找该页面对应的数据。
13、如权利要求1所述的方法,其特征在于,该方法进一步包括:当用户滚屏到页面的顶部或底部时,显示选择页面按钮,根据用户选择,先在当前浏览窗口对应的内存块中查找对应的数据,如果找不到,则到数据库中查找对应的数据。
CNB031098770A 2003-04-16 2003-04-16 一种提高数据处理效率的方法 Expired - Lifetime CN100342377C (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CNB031098770A CN100342377C (zh) 2003-04-16 2003-04-16 一种提高数据处理效率的方法
DE602004008760T DE602004008760D1 (de) 2003-04-16 2004-02-18 Verfahren zur vergrösserung der datenverarbeitungseffizienz
EP04711974A EP1615144B1 (en) 2003-04-16 2004-02-18 A method for increasing the data processing efficiency
PCT/CN2004/000130 WO2004092973A1 (fr) 2003-04-16 2004-02-18 Procede d'augmentation de l'efficacite de traitement de donnees
CA002522578A CA2522578C (en) 2003-04-16 2004-02-18 A method for improving data processing efficiency
AU2004230500A AU2004230500B2 (en) 2003-04-16 2004-02-18 A method for improving data processing efficiency
AT04711974T ATE372555T1 (de) 2003-04-16 2004-02-18 Verfahren zur vergrösserung der datenverarbeitungseffizienz
US11/252,269 US7451128B2 (en) 2003-04-16 2005-10-17 Method for increasing data processing efficiency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031098770A CN100342377C (zh) 2003-04-16 2003-04-16 一种提高数据处理效率的方法

Publications (2)

Publication Number Publication Date
CN1538324A CN1538324A (zh) 2004-10-20
CN100342377C true CN100342377C (zh) 2007-10-10

Family

ID=33163871

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031098770A Expired - Lifetime CN100342377C (zh) 2003-04-16 2003-04-16 一种提高数据处理效率的方法

Country Status (8)

Country Link
US (1) US7451128B2 (zh)
EP (1) EP1615144B1 (zh)
CN (1) CN100342377C (zh)
AT (1) ATE372555T1 (zh)
AU (1) AU2004230500B2 (zh)
CA (1) CA2522578C (zh)
DE (1) DE602004008760D1 (zh)
WO (1) WO2004092973A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814047B2 (en) * 2003-08-25 2010-10-12 Oracle International Corporation Direct loading of semistructured data
EP1591916B1 (en) * 2004-04-26 2013-11-06 Sap Ag Method, computer program and device for deleting data sets contained in a table system
US7933928B2 (en) * 2005-12-22 2011-04-26 Oracle International Corporation Method and mechanism for loading XML documents into memory
CN100371900C (zh) * 2006-01-19 2008-02-27 华为技术有限公司 数据同步的方法和系统
US7933935B2 (en) 2006-10-16 2011-04-26 Oracle International Corporation Efficient partitioning technique while managing large XML documents
US8010889B2 (en) * 2006-10-20 2011-08-30 Oracle International Corporation Techniques for efficient loading of binary XML data
US8495292B2 (en) 2006-12-06 2013-07-23 Fusion-Io, Inc. Apparatus, system, and method for an in-server storage area network
US11226947B1 (en) * 2007-10-10 2022-01-18 United Services Automobile Association (Usaa) Systems and methods for storing time-series data
US8543898B2 (en) 2007-11-09 2013-09-24 Oracle International Corporation Techniques for more efficient generation of XML events from XML data sources
US8250062B2 (en) 2007-11-09 2012-08-21 Oracle International Corporation Optimized streaming evaluation of XML queries
US7836226B2 (en) * 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8429196B2 (en) 2008-06-06 2013-04-23 Oracle International Corporation Fast extraction of scalar values from binary encoded XML
CN101847153B (zh) * 2010-01-27 2012-08-22 深圳市龙视传媒有限公司 一种数据动态处理的方法及装置
CN102339193A (zh) * 2010-07-21 2012-02-01 Tcl集团股份有限公司 一种声控会议演讲的方法及系统
CN102567434B (zh) * 2010-12-31 2013-04-10 百度在线网络技术(北京)有限公司 一种数据块处理方法
CN102446082A (zh) * 2011-08-29 2012-05-09 广东威创视讯科技股份有限公司 窗口刷新方法与装置
CN103544153B (zh) * 2012-07-10 2016-07-27 阿里巴巴集团控股有限公司 一种基于数据库的数据更新方法和系统
CN103631824B (zh) * 2012-08-28 2016-03-30 腾讯科技(深圳)有限公司 一种网页显示方法及装置
US10509768B2 (en) * 2015-06-30 2019-12-17 Siemens Aktiengesellschaft Method and system for secure data storage and retrieval from cloud based service environment
CN108664481B (zh) * 2017-03-27 2021-03-23 中国移动通信集团内蒙古有限公司 一种数据检索方法及服务器
CN108958572B (zh) * 2017-05-25 2022-12-16 腾讯科技(深圳)有限公司 消息数据处理方法、装置、存储介质和计算机设备
CN114443654B (zh) * 2022-01-14 2024-01-26 苏州浪潮智能科技有限公司 一种在线修改数据库表空间数据块长度的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469567A (en) * 1991-03-14 1995-11-21 Nec Corporation System for secondary database data block buffering with block save generations and read/write access and with separate management
US5822749A (en) * 1994-07-12 1998-10-13 Sybase, Inc. Database system with methods for improving query performance with cache optimization strategies

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5598519A (en) * 1994-11-08 1997-01-28 Microsoft Corporation Method and system for direct cell formatting in a spreadsheet
JP4127575B2 (ja) * 1998-06-30 2008-07-30 株式会社東芝 情報提供サーバにおける現在表示文書情報保存・管理方法
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
US6457000B1 (en) * 1999-07-29 2002-09-24 Oracle Corp. Method and apparatus for accessing previous rows of data in a table
US7039669B1 (en) * 2001-09-28 2006-05-02 Oracle Corporation Techniques for adding a master in a distributed database without suspending database operations at extant master sites

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469567A (en) * 1991-03-14 1995-11-21 Nec Corporation System for secondary database data block buffering with block save generations and read/write access and with separate management
US5822749A (en) * 1994-07-12 1998-10-13 Sybase, Inc. Database system with methods for improving query performance with cache optimization strategies

Also Published As

Publication number Publication date
US7451128B2 (en) 2008-11-11
AU2004230500B2 (en) 2008-03-20
DE602004008760D1 (de) 2007-10-18
CA2522578C (en) 2009-06-30
CN1538324A (zh) 2004-10-20
WO2004092973A1 (fr) 2004-10-28
AU2004230500A1 (en) 2004-10-28
EP1615144A1 (en) 2006-01-11
EP1615144B1 (en) 2007-09-05
US20060074972A1 (en) 2006-04-06
EP1615144A4 (en) 2006-09-27
CA2522578A1 (en) 2004-10-28
ATE372555T1 (de) 2007-09-15

Similar Documents

Publication Publication Date Title
CN100342377C (zh) 一种提高数据处理效率的方法
CN1299223C (zh) 提供关系数据的一致性层次抽象化
TWI682285B (zh) 用於索引鍵值結構樹資料庫的產品、方法及機器可讀媒體
CN1277213C (zh) 一种闪存文件系统管理方法
CN1955958A (zh) 一种基于目录树的分类数据存储及分类目录查询方法
CN1841379A (zh) 将文件系统模型映射到数据库对象
CN101055589A (zh) 嵌入式数据库的存储管理方法
CN1858747A (zh) 一种数据存储/检索方法及系统
CN1764916A (zh) 用于频率计数的方法和装置
CN1545048A (zh) 一种用二维表实现的树的存储、访问的方法
CN1846207A (zh) 类型路径索引
CN1845093A (zh) 一种属性可扩展的对象文件系统
CN1790335A (zh) Xml文件数据存取的方法
CN104636502A (zh) 一种查询系统的数据加速查询方法
CN100338607C (zh) 一种组织和访问分布式文件系统目录的方法
CN101051317A (zh) 一种fat文件系统及其处理方法
CN1667607A (zh) 用于文档浏览的个性化分类处理方法及系统
CN1811759A (zh) 一种对信息建增量索引的方法
CN1687899A (zh) 将应用程序动态下载到用户识别模块的方法、系统及模块
CN1900935A (zh) 访问扇区数据的方法和系统
CN1825306A (zh) 基于关系数据库的xml数据存储与访问方法
CN101030230A (zh) 一种图像检索方法及系统
CN1783063A (zh) 历史数据归档和查询装置及方法
CN1723463A (zh) 用于将可扩展标记语言映射到n维数据结构的方法和系统
CN1791873A (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
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20071010