CN101551799A - 数据库更新系统及其方法 - Google Patents
数据库更新系统及其方法 Download PDFInfo
- Publication number
- CN101551799A CN101551799A CNA2008100845708A CN200810084570A CN101551799A CN 101551799 A CN101551799 A CN 101551799A CN A2008100845708 A CNA2008100845708 A CN A2008100845708A CN 200810084570 A CN200810084570 A CN 200810084570A CN 101551799 A CN101551799 A CN 101551799A
- Authority
- CN
- China
- Prior art keywords
- data item
- storage area
- index position
- primitive data
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是一种数据库更新系统及其方法,其通过将数据库储存空间中的原始数据项先批次暂移到储存空间的闲置空间,再将更新数据项批次插入储存空间的预定索引位置,然后于增加更新数据项后重新计算出原始数据项的重设索引位置,并依照重设索引位置重新批次填入储存空间,通过前述的批次资料搬移演算技术手段,可以解决现有技术中所存在更新大量数据项至数据库时所产生搬移次数频繁及搬移时间冗长的问题,由此达成提高数据库更新稳定度及更新效率的技术功效。
Description
技术领域
本发明涉及一种数据库更新系统及其方法,尤其是指一种对原始数据项及更新数据项进行批次数据搬移演算之数据库更新系统及其方法。
背景技术
知识经济的时代里,能够掌握最新最完整资料的人便能够掌握各种致胜的关键。
然而在数据需求日益增加的情况下,为了有效管理庞大涌入的数据量,往往就必须拥有一套强大的数据库系统来满足各种不同的数据需求,以便能够在第一时间将最新最完整的数据提供给需要数据的人。因此,数据库系统基本上除了要能够提供足够的储存空间来存放如此庞大的数据之外,另外一个更重要的条件就是如何能够随时保持数据库数据的及时性,而这就必须依赖完善的数据库更新机制来予以实现。
在数据库更新的技术发展上,要求的是如何能够在最短的时间内以稳定的更新方式完成对数据库的更新。以目前普遍的作法,由于数据储存上必须具有一定的储存顺序(即索引位置),因此一般都会采取逐笔更新的方式进行,也就是在每笔更新资料项要被处理时,先将该笔更新资料项所应该被储存的预定索引位置给计算出来,然后再将该笔更新数据项依照其预定索引位置顺序插入至数据库的储存空间,然后再进行下一笔更新数据项的处理作业,而为了顺利插入该笔更新数据项,原始数据项的索引位置就必须被更动,因此在整个处理过程中就必须对原始资料项进行搬移,以确保该笔更新数据项所对应的预定索引位置的储存空间可以被保留给该笔更新数据项而顺利被更新至数据库中。当更新数据项被成功插入到数据库的储存空间后,会把所有的原始数据项往后搬移,此时原始数据项所具有的原始索引位置顺序将会被重新调整后,然后接着被填入在该笔更新数据项之后的储存空间,以维持整个数据库中数据储存的完整性与顺序性。每笔更新数据项的处理作业一直不断重复的上述的过程,直到将所有打算更新至数据库的更新数据项都成功的被插入为止。
但是这种作法却无法满足数据库更新上所需求的效率性和稳定性,特别是在目前更新资料项的数量动辄数万笔、数十万笔,甚至是数百万笔的情况上,因为庞大的数据项搬移次数将导致数据库更新的不稳定,并且频繁的数据项搬移程序将导致大量时间的浪费,造成数据库更新时产生不稳定和没有效率的结果,而且可能进一步导致对整体数据库系统产生运作上的影响。
我们以图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)是已知数据库更新过程示意图。
具体实施方式
以下将配合图式及实施例来详细说明本发明之实施方式,由此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
本发明为一种数据库更新系统,文中所述的数据库为具有一定容量大小的储存空间,并且至少已储存有一笔的原始数据项,其中各原始数据项均分别对应至储存空间中的索引位置,数据库可以通过此一索引位置直接查找到所要的数据项,索引位置是依据各个数据项的内容的排序顺序来决定的,在本发明中数据项的内容具有较高排序顺序的就可以具有较优先的索引位置,惟此部分属于数据库现有技术不多作赘述,本发明也未对此作限制。以图1所示为例,图中所示的数据库50可以通过本发明的数据库更新系统100来进行更新处理,其中数据库50的储存空间55中则预先储存有至少一笔原始数据项551,这些原始数据项551则分别对应到索引位置5511(如图中所示的“1”、“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的重设索引位置计算出来后,数据处理模块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依序为“1”、“3”、“4”、“5”、“7”、“9”、“10”及“11”。最后,由数据处理模块103利用这些重设索引位置5512重新批次的将这些原始数据项551重新填入图3(C)中所示的储存空间55(步骤250)。完成所有运算之后,整个数据库50所储存的内容将会如图3(D),新的更新数据项651连同原先的原始数据项551一共有十一个资料项。
本发明所揭露的系统与方法如上,与现有技术之间的差异在于本发明并非采取逐笔更新的方式来进行数据项的更新,而是通过批次数据搬移演算技术手段进行批处理程序。因此通过上述的技术手段,本发明可以明显减少数据项搬移次数和数量,达成提高数据库更新稳定度及更新效率的技术功效。
虽然本发明所揭露的实施方式如上,但所述内容并非用以直接限定本发明的专利保护范围。任何本发明所属技术领域中具有通常知识者,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作些许的更动。本发明的专利保护范围,仍须以所附的申请专利范围所界定者为准。
Claims (6)
1、一种数据库更新系统,所述数据库具有一储存空间,储存有至少一笔原始数据项,各所述原始数据项分别对应至所述储存空间中的一索引位置,其特征在于,包含:
一数据加载模块,用以加载至少一笔更新数据项;
一索引运算模块,用以运算出这些更新数据项在这些原始数据项中对应的一预定索引位置;以及运算出这些原始数据项所对应的一重设索引位置;及
一数据处理模块,用以将这些原始数据项批次暂移至所述储存空间中的一闲置空间;以及用以依照这些预定索引位置批次插入这些更新数据项至所述储存空间;以及用以依照这些重设索引位置重新批次依序填入这些原始数据项至所述储存空间。
2、如权利要求1所述的数据库更新系统,其特征在于,所述预定索引位置为这些更新数据项的内容于这些原始数据项中的内容排序顺序;且所述重设索引位置为这些原始数据项的内容于增加这些更新数据项后的内容排序顺序。
3、如权利要求1所述的数据库更新系统,其特征在于,所述闲置空间之前至少保留大小为2N+T单位的储存空间,其中N代表这些原始数据项数量,T代表这些更新数据项数量。
4、一种数据库更新方法,所述数据库具有一储存空间,储存有至少一笔原始数据项,各所述原始数据项分别对应至所述储存空间中的一索引位置,其特征在于,包含下列步骤:
加载至少一笔更新数据项;
运算出这些更新数据项在这些原始数据项中对应的一预定索引位置;
将这些原始数据项批次暂移至属于这储存空间中的一闲置空间;
依照这些预定索引位置批次插入这些更新数据项至所述储存空间;
运算出这些原始数据项所对应的一重设索引位置;及
依照这些重设索引位置重新批次依序填入这些原始数据项至所述储存空间。
5、如权利要求4所述的数据库更新方法,其特征在于,所述预定索引位置为这些更新数据项的内容于这些原始数据项中的内容排序顺序;且所述重设索引位置为这些原始数据项的内容于增加这些更新数据项后的内容排序顺序。
6、如权利要求4所述的数据库更新方法,其特征在于,所述闲置空间之前至少保留大小为2N+T单位的储存空间,其中N代表这些原始数据项数量,T代表这些更新数据项数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100845708A CN101551799B (zh) | 2008-04-03 | 2008-04-03 | 数据库更新系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100845708A CN101551799B (zh) | 2008-04-03 | 2008-04-03 | 数据库更新系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101551799A true CN101551799A (zh) | 2009-10-07 |
CN101551799B CN101551799B (zh) | 2011-01-19 |
Family
ID=41156047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100845708A Active CN101551799B (zh) | 2008-04-03 | 2008-04-03 | 数据库更新系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101551799B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136308A (zh) * | 2011-11-23 | 2013-06-05 | 英业达股份有限公司 | 应用系统数据库更新的方法和系统 |
-
2008
- 2008-04-03 CN CN2008100845708A patent/CN101551799B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136308A (zh) * | 2011-11-23 | 2013-06-05 | 英业达股份有限公司 | 应用系统数据库更新的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101551799B (zh) | 2011-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103975303B (zh) | 用于预链接软件以改善虚拟系统中的存储器去重的技术 | |
CN101183304B (zh) | 并发非阻塞无锁队列及其实施方法和装置 | |
CN101566839B (zh) | 一种梯形图内嵌组态算法的实现方法 | |
CN106201613A (zh) | 预热软件安装 | |
CN1240966A (zh) | 根据控制的使用在工具条显示中动态显示控制的方法 | |
CN102567399B (zh) | 一种访问数据库的方法和装置 | |
CN103489061A (zh) | 批量数据处理装置和批量数据处理方法 | |
CN104111994A (zh) | 一种基于混合数据源的标签数据筛选方法及装置 | |
CN108369562A (zh) | 具有增强型访问调度器的智能编码存储器架构 | |
CN100507921C (zh) | 一种嵌入式系统中的文字显示方法及系统 | |
CN102467488A (zh) | 一种文字处理文档异步加载的方法 | |
Moradi et al. | Transportation planning for petroleum products and integrated inventory management | |
CN106156301A (zh) | 一种大字段数据的处理方法及装置 | |
CN101763415A (zh) | 一种数据库的b树索引的生成方法及装置 | |
CN101551799B (zh) | 数据库更新系统及其方法 | |
CN104679793A (zh) | 一种基于动态发票模板的发票开具系统 | |
CN110516985A (zh) | 仓库选择方法、系统、计算机系统和计算机可读存储介质 | |
CN107430599A (zh) | 用于提供包括上下文相关定义和示例的可视翻译卡的技术 | |
CN102422276B (zh) | 在双向同步期间同步自引用字段 | |
CN103064948A (zh) | 基于散列链表的内容寻址方法及相应的存储器电路 | |
US20110138265A1 (en) | Method and apparatus for presenting date in a tabular format | |
CN102937948A (zh) | 一种移动终端的图文数据编辑方法 | |
CN103593606B (zh) | 上下文信息管理方法及系统 | |
CN104636260A (zh) | 一种用于计费业务的数据管理方法及系统 | |
CN105468570B (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 | ||
ASS | Succession or assignment of patent right |
Owner name: I VALLEY HOLDINGS CO., LTD. Free format text: FORMER OWNER: YINGYEDA CO., LTD., TAIWAN Effective date: 20150810 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150810 Address after: Cayman Islands, George Town Patentee after: IValley Holding Co., Ltd. Address before: Taipei City, Taiwan Chinese Shilin District Hougang Street No. 66 Patentee before: Inventec Corporation |