数据处理方法和装置.pdf

上传人:1*** 文档编号:4572368 上传时间:2018-10-20 格式:PDF 页数:16 大小:714.76KB
返回 下载 相关 举报
摘要
申请专利号:

CN01817070.6

申请日:

2001.10.01

公开号:

CN1468404A

公开日:

2004.01.14

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

最佳收益有限公司;

发明人:

J·S·塔倍

地址:

新西兰奥克兰

优先权:

2000.10.09 NZ 507386

专利代理机构:

上海专利商标事务所

代理人:

张政权

PDF下载: PDF下载
内容摘要

本发明涉及数据处理的方法和系统,包括把信息串分配到串行组来处理的数据复制的方法。当没有数据被写入时,从存储空间区域读出数据的存储器管理方法。建立动态表,以向数据库项提供处理信息的复制数据库的方法。程序组成之间不交互作用而把任务分配到程序组成的复制数据库的方法。

权利要求书

1.一种从源系统复制信息到目标系统的方法,其特征在于,它包括下列
步骤:
1)接收来自于源系统的信息串;以及
2)将信息串分配到串行组进行处理,使得在同一串行组中处理相互关联
的信息串。
2.如权利要求1所述的方法,其特征在于,信息串是来自源数据库的日
志项。
3.如权利要求2所述的方法,其特征在于,把信息串分配到串行组,使
得相同类型的日志项或者与其它日志项有关的日志项,在同一串行组中得到
处理。
4.如权利要求2或3任一项所述的方法,其特征在于,当在处理操作中
第一次遇到每个数据库对象时,产生一个临时索引对象,它包含该数据库对
象的串行组和相关处理信息。
5.如权利要求4所述的方法,其特征在于,如果一个临时索引对象已经
存在,则根据该临时索引对象数据分配数据库对象的串行组。
6.如权利要求4所述的方法,其特征在于,如果一个临时索引对象不存
在,则进行分配数据库的对象全称查询,从分配数据库中获得串行组并产生
一个临时索引对象。
7.如上述权利要求中的任一项所述的方法,其特征在于,数据库对象的
处理信息是保持在动态存储器中。
8.一种在数据传递操作中管理存储器空间的方法,其特征在于,它包括
以下步骤:
1)定义多个存储器空间区域;
2)将数据写入第一个存储器空间区域;以及
3)当没有数据写入第一个存储器空间区域时,从第一个存储器空间区域
读取数据。
9.如权利要求8所述的方法,其特征在于,数据是数据库日志项。
10.如权利要求9所述的方法,其特征在于,把日志项连续地写到第一
个存储空间区域,直到该第一个存储空间区域填充满为止,然后把数据写到
下一个存储数据空间。
11.如权利要求9或10任一项所述的方法,其特征在于,每个日志项有
相关的字头,该字头记录到有相同串行组的下一个日志项的偏移量。
12.如权利要求8至11任一项所述的方法,其特征在于,当数据从第一
个存储空间读出时,把数据写到第二个存储空间。
13.如权利要求8至12任一项所述的方法,其特征在于,每个存储空间
有存储空间字头,该字头记录在该存储空间内有日志项的串行组的数量。
14.如权利要求13所述的方法,其特征在于,从一存储空间读出所述数
据时,存储空间字头递减,且存储空间可供数据写入。
15.一种将数据库从源计算机系统复制到目标计算机系统的方法,其特
征在于,它包括以下步骤:
1)接收来自于源计算机系统的日志项;
2)检查日志项,查看是否在动态索引中有一个输入项,它给出与一数据
库项有关的处理信息,所述日志项与该数据库有关;以及
3)如果在动态表中存在输入项,则按照相关的处理信息处理日志项;或者
4)如果在动态索引中没有输入项,则在分配数据库中寻找数据库项的相
关处理信息,建立输入项并在动态索引中存储,并且按照处理信息处理日志
项。
16.如权利要求15所述的方法,其特征在于动态索引包括关于一个数据
库项是否需要与一个或多个其它数据库项一起处理的信息。
17.如权利要求15或16任一项所述的方法,其特征在于,日志项在复
制过程进行之前被临时存储。
18.如权利要求15至17任一项所述的方法,其特征在于,使用如权利
要求8至14中任一项的存储器管理方法。
19.如权利要求15至18中任一项所述的方法,其特征在于,使用如权
利要求1至7中任一项的复制方法。
20.一种将数据库从源计算机系统复制到目标计算机系统的方法,其特
征在于,它包括以下步骤:
1)接收来自于源计算机系统的日志项;以及
2)分配程序组成来处理日志项和更新目标数据库,其中一控制程序将任
务分配给程序组成,并充分地控制程序组成,使得程序组成不互相干扰。
21.如权利要求20所述的方法,其特征在于,目标计算机系统实现并行
处理。
22.如权利要求20或21任一项所述的方法,其特征在于,目标计算机
系统是多处理器计算机。
23.一种计算机系统,其特征在于,按照上述权利要求中的任一项的方
法来编制程序来工作。
24.一个计算机程序,其特征在于,适合执行如权利要求1至22中任一
项所述的方法。
25.一种计算机可读媒体,其特征在于,包含如权利要求24所述的计算
机程序。
26.一个数据库,其特征在于,它是用如权利要求1至22中任一项所述
的方法复制的。

说明书

数据处理方法和装置

发明领域

本发明是关于数据处理的方法和装置。本发明尤其涉及,但不仅仅涉及,
用于数据库复制的方法和装置。

发明背景

在许多数据处理应用中,从源系统发送的数据碎片必须处理成在目标系
统上所需要的数据格式。

在许多情况下,需要从源系统上的数据库复制数据库到目标计算机系统
上。该过程可以包括从源数据库发送日志项,以允许目标数据库的更新。数
据库可以包括一个或多个库,每个库包含一个或多个文件,每个文件具有一
个或多个项。每个项有一个表,该表有一行或多行。一个日志项可以包括库
的标识符;文件;文件项和文件项的已改变的数据行。该日志项可以由目标
计算机系统用来更新它的数据库。

以正确顺序更新来自于给定表的数据库输入项,以及以正确顺序更新互
相关联的项是很重要的。为了保证日志项被正确处理,目标计算机系统的接
收处理过程可以将对象名称(库/文件/项)与存储在目标计算机系统上的对象
数据库相比较。当找到匹配的对象时,与该对象相关联的处理信息就可以用
来处理该日志项。

传统的方法是传递日志项,存储它们,并使用单个引擎来复制数据库。
这种方法慢且复杂。

希望数据库复制系统满足以下要求:

1.保证日志项由数据库项(以最低限度)以及由任意用户规定的分组串
行化。

2.支持一特别大数量的数据库应用程序,使得可以很容易地管理数据库
I/O(输入/输出)。

3.处理日志项是以这样的方式:在从日志中获得的输入项时与将输入项
应用于复制数据库时之间的这段时间里,最小化系统I/O(例如分页)的量。

4.功能支持任何一种类型的数据包,不仅仅是日志项,以允许未来能扩
展到其它类型的复制(例如,对象、流文件等)。

5.系统对其它组成隐藏了存储器管理功能的复杂性。

本发明的目的是提供信息复制的方法和装置,它满足了这些要求或至少
向公众提供有用的选择。

发明揭示

按照本发明的第一个方面,提供了一种从源系统复制信息到目标系统的
方法,它包括以下步骤:

1)、接收来自于源系统的信息串;以及

2)、将信息串分配到串行组进行处理,使得在同一串行组中处理相互关
联的信息串。

信息串可以是来自源数据库的日志项,可以分配到串行组,使得相同类
型的日志项,或者与其它日志项有关的日志项,在同一串行组中得到处理。

按照本发明的进一步的方面,提供了一种在数据传递操作中管理存储器
空间的方法,它包括以下步骤:

1)、定义多个存储器空间区域;

2)、将数据写入第一个存储器空间区域;以及

3)、当没有数据写入第一个存储器空间区域时,从第一个存储器空间区
域读取数据。

该方法使得当信息仅仅写入第一个存储空间区域时,能多次同时读取其
它数据存储空间区域中的数据。

按照本发明的进一步的方面,提供了一种将数据库从源计算机系统复制
到目标计算机系统的方法,它包括以下步骤:

1)、接收来自于源计算机系统的日志项;

2)、检查日志项,查看是否在动态索引中有一个输入项,它给出与一数
据库项有关的处理信息,所述日志项与该数据库有关;以及

3)、如果在动态表中存在输入项,则按照相关的处理信息处理日志项;或

4)、如果在动态索引中没有输入项,则在分配数据库中寻找数据库项的
相关处理信息,建立输入项并在动态索引中存储,并且按照处理信息处理日
志项。

在动态索引中的输入项可以提供关于是否该项需要与其它项一起被处理
的信息。一个日志项可在按照处理信息被处理之前被临时存储起来。

按照本发明的进一步的方面,提供了一种将数据库从源计算机系统复制
到目标计算机系统的方法,它包括以下步骤:

1)、接收来自于源计算机系统的日志项;以及

2)、分配程序组成来处理日志项和更新目标数据库,其中一控制程序将
任务分配给程序组成,并充分地控制程序组成,使得程序组成不互相干扰。

目标计算机系统最好是多处理器计算机系统。

附图简述

现在本发明将用举例的方式加以描述,参考附图,其中:

图1:示出了源计算机系统的示意图,它将日志项提供给目标计算机系统。

图2:是功能图,说明在目标计算机系统数据库复制过程中所涉及的几个
过程。

图3:示出了在目标计算机系统内存储空间的映像。

图4:示出了将日志项分配给串行组的过程的流程图。

较佳实施例的详细描述

以下描述了数据库复制的方法,其中,源和目标计算机系统是在OS/400
操作系统下操作的IBM AS/400计算机。应理解该方法作适当的修改可适用于
其它系统。

请看图1,源系统A包含一个主数据库1。主数据库1可以包含一个或多
个的库。每个库可以包括一个或多个文件。每个文件可包含一个或多个项。
每个项包含一个表,该表有一行或多行。一个唯一的库/文件/项组合称为一个
对象。

当主数据库1的任何项的一行被修改时,包含对象名称和修改过的行的
日志项被发送到本地日志接收器2。本地日志接收器2经过通信链路3发送日
志项到目标计算机系统B的远程日志接收器4。数据库复制过程5接收日志项,
并修改复制数据库6的内容,以使它与主数据库1保持一致。

现在参考图2,将描述复制目标计算机系统的目标数据库6的过程和装置。
为了保证复制数据库6的正确复制,数据库项在数据库6复制库中更新的顺
序与它们在主数据库1中修改的顺序相同。为此,定义若干串行组8。有相同
对象名称的日志项被分组到公共串行组,使得它们以正确的顺序得到更新。
某些数据库项可能与其它数据库项有关系(联合等),所以可被分配到公共
串行组,以保证所有的相互关联的项以正确的顺序被更新。一个串行组因此
包含若干对象的日志项。对这种串行组的使用使得数据库复制能够以合适的
序列进行,并且使有效的并行处理更容易。

接收处理过程7可以将接收到的日志项分配到串行组,将日志项分配到
缺省串行组或丢弃该日志项。串行组分配是根据分配数据库(MXSGMBAS)
和临时OS/400用户索引对象而进行的。日志项分配功能是经一个ILE服务程
序来提供的,该程序允许底层实现得到修改,而不用将重新编译/连接调用功
能。

分配数据库MXSGMBAS包含所有对象、它们与其它对象的关系(也就
是在处理过程中它们需要与其它对象一起分组)以及它们所需要的处理方式。
将日志项分配到串行组8只要将每个所接收到的日志项的对象名称与分配数
据库MXSGMBAS相比较,并且根据相关的信息将日志项分配到串行组就可
以实现。不过,分配数据库MXSGMBAS包含许多对象,并且需要相当多的
处理时间进行数据库定位操作和提取相关的处理信息。按照本发明,使用一
个项分配(MBIX)索引临时对象来存储对象的处理信息。这是对象的索引,
这些对象给出了它们相关的串行组和相关的处理信息(包括到与它们相关的
控制结构的链路)。

现在请看图2和图4,将描述串行组分配。当在步骤11接收到日志项时,
接收处理过程7在步骤12进行比较,看该对象是否存在于MBIX索引中。如
果是的话,则操作进行到步骤13,返回串行组号和数据库文件索引(DBFIDX),
并且在所分配的串行组内继续进行处理。

如果该对象名没有存储在MBIX索引中,则在步骤14中在MXSGMBAS
数据库9中进行对象全称查找。如果查找成功,则返回串行组,分配数据库
文件索引(DBFIDX),它将指向由相关的串行组保持的动态阵列中所存储的
处理信息,并在步骤15中把一输入项加到MBIX索引中。每个数据库文件索
引(DBFIDX)仅仅是通过增加一索引来产生的,该索引对于各串行组来说是
唯一的。

如果在步骤14没有得到匹配,则在步骤16中进行类属名查找。这包括
通过“库/文件/*所有”然后通过“库/*所有/*所有”来搜索。如果实现了类属
匹配,则在步骤17中将全称加到MBIX表中,处理在步骤15和13像前面一
样继续进行。如果不能得到匹配,则在步骤18中删除该日志项。

因此,开始时,在MBIX索引10中将不存在输入项。当处理日志项时,
串行组和对象的处理信息将被添加到MBIX索引10中。从MBIX表10比从
MXSGMBAS数据库9可快得多地获得串行组和处理信息。

该方法有以下显著的性能好处:

1.串行组不需要搜索项的相关处理信息。它们仅仅在动态阵列中保持处
理信息,并保持数据库文件索引作为存取访问的手段。

2.所有关于某一特定名称的操作可涉及串行组和数据库文件索引值,来
唯一识别项(一个“句柄”)。

现在请看图3,将描述在目标计算机系统内存储器管理的方法。存储对象
空间分成若干存储单元SU1-SUN。每个存储单元有存储单元字头20。存储单
元字头20给出在该存储单元中有日志项的串行组的数量。每个数据碎片由存
储输入项字头21和存储输入项22组成。存储输入项在16字节边界处与填充
块23对齐,填充块23填充了输入项和16字节边界之间的空白。

日志项从接收处理过程7传送出去,以存储在存储对象空间24中。来自
接收处理过程7的日志项存储在块22的存储空间对象24中。每个日志项22
有相关的存储输入项字头21(或句柄),它包含关于在该串行组的存储单元
中下一个日志项的偏移信息,以及包含与日志项相关联的项的处理信息的有
关数据库文件索引(DBFIDX)。处理信息在动态存储器中与数据库文件索引
一起保存,后者作为存取访问手段。

在正常操作中,日志项是连续写到一个存储单元的,直到存储单元满了为
止,然后日志项写到下一个可用的存储单元。一旦完成写入存储单元,日志项
可以从已输入数据的存储单元中读出。当系统资源没有派其它用场(即无输
入的日志项需要存储)时,就可以从部分存满的存储单元读取。

这种方法意味着在读和写期间不需要将存储器加锁。在写处理过程期间,
接收处理过程7有专门的通路来写到存储单元。在读操作期间不需要加锁,
因此日志项可以同时读到它们相关的串行组。唯一需要加锁的是当一个串行
组的最后一个日志项被读出时要减少存储单元字头20的值。

可用存储单元队列(ASUQ)25控制使用空闲存储单元的顺序。ASUQ 25
包括后进先出(LIFO)缓存器,它存储空闲存储单元的地址。串行组的日志
项从一个存储单元读出,直到在存储单元字头中出现空值为止。随着每个存
储输入项22被读出,存储单元字头20就递减。当从一个存储单元完全读出
所有日志项时,存储单元字头20减少到零并且存储单元号返回给ASUQ,且
当新的日志项必须写到存储空间时,该号是重新分配的第一个存储单元。这
样,最近使用的存储单元保持着有效,以将存储单元的工作组减少到最少数
量。

当存储单元中的所有的日志项已被读出并且存储单元被释放时,可以清
除存储单元的整个地址范围,而不需要将数据写入辅助存储器。

再回到图2,进一步描述处理的方式。控制处理过程19监视复制过程并
控制接收处理过程7中和串行组8内的处理。这样一来,可在每个串行组内
进行处理,不用考虑在其它串行组内处理。通过将整个处理过程由拱形的控
制过程19控制,每个串行组就可独立地进行它的处理,而不用考虑整个操作
的复杂性。

当每个串行组按顺序接收一个项的日志项时,该项在复制数据库6中的
更新也是按顺序进行的。通过在某一特定的串行组中处理相链接的项,串行
组处理是流水线型的。

当准备制作复制数据库6时,必须去除主数据库部分施加的任务。首先,
控制处理过程19暂停接收处理过程7以及通过串行组8进行的处理。然后控
制处理过程19识别所有“开放”的任务组(如,未收到任务或重新运行日志
项的任务标识符)。这些是以从最近的(即有最近日志项的任务组)到最早
的顺序连续地处理的,如下所述:

1)接收处理过程7的接收处理过程接收来自于日志接收器26的任务组
的日志项;

2)把所有的输入项分配到“缺省”串行组;

3)输入项以通常的方式存储在存储单元24中,但以相反顺序链接(即
列表的开头是存储单元的最近输入项,然后链接往后移直到存储单元的第一
个输入项);

4)如果在任务组的输入项完成之前存储单元就满了,则该存储单元被压
入LIFO队列TLQ 27(而不是将它释放到缺省串行组)。然后,分配新的存
储单元(像往常一样),继续存储输入项;

5)当任务组的有效日志项被完全接收并存储在存储单元中时,存储单元
以LIFO的顺序被分配到缺省串行组。结果是串行组以相反次序接收日志项(从
最近的到最早的);

6)缺省串行组以“相反的”输入项(这些输入项包括一个表明它们是相
反的输入项的标志符)来处理这些输入项。结果是所有的插入被处理成删除、
更新被移动到它们前一幅镜像,删除被插入等等。只有已经被应用到数据库
(例如在正常处理期间)的日志项才被处理。

7)缺省串行组直到接收到“数据任务组”日志项时才执行关于“相反”
输入项的任务。这保证了如果在“清理”时遇到故障,则数据库处于一已知
的状态中。这就能够使“清理”能重新开始。

一旦所有“开放”的任务组已经“去除”,则控制处理过程19暂停其它
处理过程,复制数据库就可作为主数据库来使用。

除非次级数据库实际上必须作为主数据库这种情况以外,这种方法可以
将部分施加的并不需要系统处理能力的任务快速地予以“清理”。

本发明的方法和装置提供以下优点:

1.存储单元块在存储空间对象内的分配和读/写控制避免了加锁的需要以
及读/写同时性的问题;

2.串行组的使用使得项可以连续的方式被更新,并且相互间有关系的项
以正确的时序被更新。串行组使得一起处理相互间有关系的项时,日志项的
多个流可以同时被处理。

3.MBIX索引的使用极大地减少了对每个日志项的查找时间。对存储输
入项字头21(句柄)的使用使得串行组的下一个日志项可以很快地被定位。

4.使用一个控制处理过程来监视接收处理过程的工作和串行组内的处
理,使得使得不需要与其它过程交互作用就能启动子过程有效地处理信息。

5.次级数据库将被作为主数据库的地方,简单地处理任务。

在以上的描述中,已引用了具有已知等同物的整数或组成,则在此包括
的此类等同物如个别提出的一样。

尽管本发明是通过举例的形式,应理解只要不偏离本发明的范围或精神,
可以做改进和/或修改。

数据处理方法和装置.pdf_第1页
第1页 / 共16页
数据处理方法和装置.pdf_第2页
第2页 / 共16页
数据处理方法和装置.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《数据处理方法和装置.pdf》由会员分享,可在线阅读,更多相关《数据处理方法和装置.pdf(16页珍藏版)》请在专利查询网上搜索。

本发明涉及数据处理的方法和系统,包括把信息串分配到串行组来处理的数据复制的方法。当没有数据被写入时,从存储空间区域读出数据的存储器管理方法。建立动态表,以向数据库项提供处理信息的复制数据库的方法。程序组成之间不交互作用而把任务分配到程序组成的复制数据库的方法。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1