数据库更新系统及其方法

文档序号:6461514阅读:148来源:国知局
专利名称:数据库更新系统及其方法
技术领域
本发明涉及一种数据库更新系统及其方法,尤其是指一种对原始数据项 及更新数据项进行批次数据搬移演算之数据库更新系统及其方法。
背景技术
知识经济的时代里,能够掌握最新最完整资料的人便能够掌握各种致胜 的关键。
然而在数据需求日益增加的情况下,为了有效管理庞大涌入的数据量, 往往就必须拥有一套强大的数据库系统来满足各种不同的数据需求,以便能 够在第一时间将最新最完整的数据提供给需要数据的人。因此,数据库系统 基本上除了要能够提供足够的储存空间来存放如此庞大的数据之外,另外一 个更重要的条件就是如何能够随时保持数据库数据的及时性,而这就必须依 赖完善的数据库更新机制来予以实现。
在数据库更新的技术发展上,要求的是如何能够在最短的时间内以稳定 的更新方式完成对数据库的更新。以目前普遍的作法,由于数据储存上必须 具有一定的储存顺序(即索引位置),因此一般都会采取逐笔更新的方式进 行,也就是在每笔更新资料项要被处理时,先将该笔更新资料项所应该被储 存的预定索引位置给计算出来,然后再将该笔更新数据项依照其预定索引位 置顺序插入至数据库的储存空间,然后再进行下一笔更新数据项的处理作 业,而为了顺利插入该笔更新数据项,原始数据项的索引位置就必须被更动, 因此在整个处理过程中就必须对原始资料项进行搬移,以确保该笔更新数据 项所对应的预定索引位置的储存空间可以被保留给该笔更新数据项而顺利 被更新至数据库中。当更新数据项被成功插入到数据库的储存空间后,会把 所有的原始数据项往后搬移,此时原始数据项所具有的原始索引位置顺序将 会被重新调整后,然后接着被填入在该笔更新数据项之后的储存空间,以维持整个数据库中数据储存的完整性与顺序性。每笔更新数据项的处理作业一 直不断重复的上述的过程,直到将所有打算更新至数据库的更新数据项都成 功的被插入为止。
但是这种作法却无法满足数据库更新上所需求的效率性和稳定性,特别 是在目前更新资料项的数量动辄数万笔、数十万笔,甚至是数百万笔的情况 上,因为庞大的数据项搬移次数将导致数据库更新的不稳定,并且频繁的数 据项搬移程序将导致大量时间的浪费,造成数据库更新时产生不稳定和没有 效率的结果,而且可能进一步导致对整体lt据库系统产生运作上的影响。
我们以图4 (A)到图4 (D)为例,可以发现,现有技术是通过逐笔将 更新数据项651——插入原先的原始数据项551的作法来完成对数据库50 的更新,针对每一个更新数据项651的插入就必需进行一次的更新处理循 环,在此我们以图4 (B)中插入第一个更新数据项651为例,处理循环的 一开始必须先算出第一个更新数据项651的索引位置,例如为"2",然后 便需要将原始数据项551中索引位置自"2"开始的所有原始数据项551都 向后搬移(搬移范围为a),然后将第一个更新数据项651插入到索引位置 "1"的原始数据项551之后(即索引位置为"2"处),再重新计算被搬移 的剩余原始数据项551的索引位置,再将这些原始数据项551搬移回到对应 的索引位置处,完成第一个更新数据项651的更新处理循环,以图4 (A) 图到图4 (D)为例,现有技术就必须通过三次的更新处理循环来完成三个 更新数据项651的更新。换句话说,当更新数据项651的数量越多时,所需 的更新处理循环越多次,同时整体对原始数据项551所进行的搬移次数和数 量也会非常庞大,很容易会因为庞大的数据项搬移次数将导致数据库更新的 不稳定,并且频繁的数据项搬移程序将导致大量时间的浪费,造成数据库更 新时产生不稳定和没有效率的结果,而且可能进一步导致对整体数据库系统 产生运作上的影响。
综上所述,可知现有技术中长期以来一直存在数据库更新时搬移次数频 繁及搬移时间冗长的问题,造成产生数据库更新不稳定及没有效率的影响, 因此有必要对数据库更新的机制上提出改进的技术手段,来解决上述现有技 术所存在的问题。

发明内容
有鉴于在数据库更新的现有技术上长期存在有搬移次数频繁及搬移时 间冗长的问题,本发明遂揭露一种改良的数据库更新系统,用以对具有一储
存空间且储存有至少 一笔原始数据项的数据库进行更新处理,其中
本发明所揭露的数据库更新系统,至少包含 一数据加载才莫块,用以自 数据库外部加载至少一笔欲更新的更新数据项; 一索引运算模块,用以运算 出更新数据项在原始数据项中对应的预定索引位置,以及运算出原始数据项 所对应的重设索引位置;及一数据处理模块,用以将原始数据项批次暂移至 属于储存空间中的闲置空间;以及用以依照预定索引位置批次插入更新数据 项至储存空间;以及用以依照重设索引位置重新批次依序填入原始数据项至 属于储存空间。
本发明所揭露的数据库更新方法,至少包含下列步骤加载至少一笔更 新数据项;于批次插入更新数据项前执行运算出更新数据项在原始数据项 中对应的预定索引位置,以及将原始数据项批次暂移至属于储存空间中的闲 置空间两步骤;依照预定索引位置批次插入更新数据项至储存空间;最后执 行运算出原始数据项所对应的重设索引位置,以及依照重设索引位置重新 批次依序填入原始数据项至储存空间的两步骤。
本发明所揭露的系统与方法如上,与现有技术之间的差异在于本发明并 非采取逐笔更新的方式来进行数据项的更新,而是透过批次数据搬移演算技 术手段来批处理原始数据项。
因此通过上述的技术手段,本发明可以达成提高数据库更新稳定度及更 新效率的技术功效。


图1是本发明数据库更新系统方框图; 图2是本发明数据库更新方法流程图; 图3 (A)至图3 (D)是本发明数据库更新过程示意图;图4 (A)至图4 (D)是已知数据库更新过程示意图。
具体实施例方式
以下将配合图式及实施例来详细说明本发明之实施方式,由此对本发明 如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解 并据以实施。
本发明为 一种数据库更新系统,文中所述的数据库为具有一定容量大'J、 的储存空间,并且至少已储存有一笔的原始数据项,其中各原始数据项均分 别对应至储存空间中的索引位置,数据库可以通过此一索引位置直接查找到 所要的数据项,索引位置是依据各个数据项的内容的排序顺序来决定的,在 本发明中数据项的内容具有较高排序顺序的就可以具有较优先的索引位置, 惟此部分属于数据库现有技术不多作赘述,本发明也未对此作限制。以图1 所示为例,图中所示的数据库50可以通过本发明的数据库更新系统100来 进行更新处理,其中数据库50的储存空间55中则预先储存有至少一笔原始 数据项551,这些原始数据项551则分别对应到索引位置5511 (如图中所示 的T 、 "2"及"3")。
本发明的数据库更新系统100,包含以下几个模块
(1) 数据加载模块101,用以加载一笔以上更新数据项651作为数据 库更新使用。这些更新资料项651可以由其它档案或者数据库系统提供,再 经由数据加载模块101中对不同数据项的数据结构进行数据转换的程序设 计,可以快速将外部档案或者数据库中的数据项迅速导入到本发明的数据库 更新系统100中进行使用,不同数据项的数据结构可以采取不同数据加载模 块101的设计,以顺利进行数据项的汇入,本发明并未对数据加载模块101 的程序设计作任何具体限制。
(2) 索引运算模块102,与数据加载模块101连结,负责两个程序处 理。第一程序处理是在接收数据加载模块101所汇入后的更新数据项651后, 分别运算出每一更新数据项651在原始数据项551中对应的预定索引位置, 换言之预定索引位置为更新数据项651的内容于原始数据项551中的内容排 序顺序,举例来说若数据库50中原先储存有三个原始数据项551,索引位置依序分别为"1" 、 "2"及"3",则当有一个更新数据项651要被更 新至数据库50时,索引运算模块102会先运算此更新数据项651的预定索 引位置,此一预定索引位置同样是依照更新数据项651内容在原始数据项 551内容中的排序顺序位置来决定,例如是以更新数据项651内容与原始数 据项551内容中所出现的顺序,由首个字符开始依序比对排序的大小, 一般 都是依照"数字优先于英文"且"英文又优先于中文"的排序逻辑进行排序, 遇到相同时则比对次一个字符,以此类推。例如排序顺序位置为"2",则 此更新数据项651的预定索引位置便为"2",以便让数据处理模块103将 此一更新数据项651更新至数据库50;第二程序处理则是在更新资料项651 被依照预定索引位置插入至储存空间55时,负责分别运算出原先的原始数 据项551所对应的重设索引位置,重设索引位置为原始数据项551的内容于 增加更新数据项651之后的内容排序顺序,接续前面的例子,当更新数据项 651依照预定索引位置"2"插入储存空间55时,索引运算模块102将重新 计算原先储存的原始数据项551的重设索引位置,例如将原先索引位置为 "2"及"3"的原始数据项551进行索引位置的运算,计算出此二原始数据 项551的重设索引位置为"3"及"4",以顺利让数据处理模块103重新插 入此二原始数据项551至数据库50。
(3)数据处理模块103,与数据加载模块101及索引运算模块102相 连结,负责以下对数据库50的程序处理于开始启动更新时,先将原始数 据项551批次暂移至数据库50储存空间55中的闲置空间,闲置空间的配置 可由数据处理模块103根据数据库50中的原始数据项551以及更新数据项 651的数量来动态配置,较佳的配置规则是将储存空间2N+T单位以后的储 存位置设为闲置空间,其中N代表原始数据项数量,T代表更新数据项数量, 单位则是指每个数据项所占储存空间55的大小,但本发明对此配置方式并 未限制;另夕卜,当索引运算模块102计算出更新数据项651的预定索引位置 之后,数据处理模块103负责批次插入更新数据项651至储存空间55,或 可进一步定义为储存空间中的预定空间,为了避免数据搬移上的冲突,可以 在进行处理时设定预定空间为这些更新数据项651在前述2N+T单位储存空 间中所占用的所有储存空间总和(也称第一子集合);另外,当索引运算模 块102将原始数据项551的重设索引位置计算出来后,数据处理^t块103负责依照重设索引位置重新批次依序填入原始数据项551至储存空间55,或 可进一 步定义为储存空间中的剩余空间,同样为了避免数据搬移上的冲突, 可以在进行处理时设定剩余空间为这些原始数据项551在前述2N+T单位储 存空间中所占用的所有储存空间总和(也称第二子集合)。预定空间所代表 的第一子集合与剩余空间所代表的第二子集合必然为互斥关系,并且最佳才莫 式下,预定空间加上剩余空间所占用的空间总和应该等于2N+T单位,但实 际上预定空间加上剩余空间所占用的空间总和可能小于2N+T单位。
请再次参照图1,并同时配合图2以及图3 (A)至图3 (D)的实施例 来说明本发明实际运作的过程。如图3(A)所示,实施例中假设数据库50 的储存空间55中预先储存有原始数据项数量(N)为八项,八项原始数据 项551的索引位置分别为"1"到"8",其余储存空间55中未使用到的部 份即称为闲置空间56。
首先,当启动本发明数据库更新系统100时,会先自外部档案或者数据 库中将需要更新的至少一笔更新数据项651加载(步骤200),如图3 (A) 所示更新数据项数量(T)为三项,此时将同时进行步骤210及步骤220的 部分(实际上步骤210及步骤220亦可先后分别执行,先后顺序并无限定), 在步骤210中,数据处理模块103负责先将原始数据项551批次暂时搬移到 闲置空间56中,如图3 (B)所示,原始数据项551如前述会被搬移到储存 空间55至少2N+T单位,以本实施例为例,N为8, T为3,因此原始数据 项551将自19 (8*2+3)单位后开始暂存;步骤220部份,则是由索引运算 模块102负责依照各个数据项的内容排序顺序来运算出此三项更新数据项 651所对应的预定索引位置6511,如图3 (A)所示,三项更新凝:据项651 的预定索引位置6511分别为"2" 、 "6"及"8"。步骤210及步骤220之 后,数据处理模块103会进一步依照索引运算模块102所提供的预定索引位 置6511来分别插入更新数据项651至储存空间55 (步骤230 ),如图3 ( C ) 所示。接着,再由索引运算模块102重新运算原始数据项551的重设索引位 置(步骤240),如图3 (C)所示,八项原始数据项551的重设索引位置 5512依序为T 、 "3" 、 "4" 、 "5" 、 "7" 、 "9" 、 "10"及"11"。 最后,由数据处理模块103利用这些重设索引位置5512重新批次的将这些原始数据项551重新填入图3(C)中所示的储存空间55 (步骤250)。完 成所有运算之后,整个数据库50所储存的内容将会如图3 (D),新的更新 数据项651连同原先的原始数据项551 —共有十一个资料项。
本发明所揭露的系统与方法如上,与现有技术之间的差异在于本发明并 非采取逐笔更新的方式来进行数据项的更新,而是通过批次数据搬移演算技 术手段进行批处理程序。因此通过上述的技术手段,本发明可以明显减少数 据项搬移次数和数量,达成提高数据库更新稳定度及更新效率的技术功效。
虽然本发明所揭露的实施方式如上,但所述内容并非用以直接限定本发 明的专利保护范围。任何本发明所属技术领域中具有通常知识者,在不脱离 本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作些许 的更动。本发明的专利保护范围,仍须以所附的申请专利范围所界定者为准。
权利要求
1、一种数据库更新系统,所述数据库具有一储存空间,储存有至少一笔原始数据项,各所述原始数据项分别对应至所述储存空间中的一索引位置,其特征在于,包含一数据加载模块,用以加载至少一笔更新数据项;一索引运算模块,用以运算出这些更新数据项在这些原始数据项中对应的一预定索引位置;以及运算出这些原始数据项所对应的一重设索引位置;及一数据处理模块,用以将这些原始数据项批次暂移至所述储存空间中的一闲置空间;以及用以依照这些预定索引位置批次插入这些更新数据项至所述储存空间;以及用以依照这些重设索引位置重新批次依序填入这些原始数据项至所述储存空间。
2、 如权利要求1所述的数据库更新系统,其特征在于,所述预定索引位置为这些更新数据项的内容于这些原始数据项中的内容排序顺序;且所述重设索引位置为这些原始数据项的内容于增加这些更新数据项后的内容排序顺序。
3、 如权利要求1所述的数据库更新系统,其特征在于,所述闲置空间之前至少保留大小为2N+T单位的储存空间,其中N代表这些原始数据项数量,T代表这些更新数据项数量。
4、 一种数据库更新方法,所述数据库具有一储存空间,储存有至少一笔原始数据项,各所述原始数据项分别对应至所述储存空间中的一索引位置,其特征在于,包含下列步骤加载至少 一笔更新tt据项;运算出这些更新数据项在这些原始数据项中对应的一预定索引位置;将这些原始数据项批次暂移至属于这储存空间中的 一 闲置空间;依照这些预定索引位置批次插入这些更新数据项至所述储存空间;运算出这些原始数据项所对应的一重设索引位置;及依照这些重设索引位置重新批次依序填入这些原始数据项至所述储存空间。
5、 如权利要求4所述的数据库更新方法,其特征在于,所述预定索引位置为这些更新数据项的内容于这些原始凄丈据项中的内容排序顺序;且所述重设索引位置为这些原始数据项的内容于增加这些更新数据项后的内容排序顺序。
6、 如权利要求4所述的数据库更新方法,其特征在于,所述闲置空间之前至少保留大小为2N+T单位的储存空间,其中N代表这些原始数据项数量,T代表这些更新数据项数量。
全文摘要
本发明是一种数据库更新系统及其方法,其通过将数据库储存空间中的原始数据项先批次暂移到储存空间的闲置空间,再将更新数据项批次插入储存空间的预定索引位置,然后于增加更新数据项后重新计算出原始数据项的重设索引位置,并依照重设索引位置重新批次填入储存空间,通过前述的批次资料搬移演算技术手段,可以解决现有技术中所存在更新大量数据项至数据库时所产生搬移次数频繁及搬移时间冗长的问题,由此达成提高数据库更新稳定度及更新效率的技术功效。
文档编号G06F17/30GK101551799SQ200810084570
公开日2009年10月7日 申请日期2008年4月3日 优先权日2008年4月3日
发明者邱全成, 正 陈 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1