CN102667734A - 用于检查分层型数据库中的指针的一致性的***、方法以及程序 - Google Patents

用于检查分层型数据库中的指针的一致性的***、方法以及程序 Download PDF

Info

Publication number
CN102667734A
CN102667734A CN2010800580721A CN201080058072A CN102667734A CN 102667734 A CN102667734 A CN 102667734A CN 2010800580721 A CN2010800580721 A CN 2010800580721A CN 201080058072 A CN201080058072 A CN 201080058072A CN 102667734 A CN102667734 A CN 102667734A
Authority
CN
China
Prior art keywords
pointer
section
son
value
segment
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
Application number
CN2010800580721A
Other languages
English (en)
Other versions
CN102667734B (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102667734A publication Critical patent/CN102667734A/zh
Application granted granted Critical
Publication of CN102667734B publication Critical patent/CN102667734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明以检查分层型数据库中的指针的一致性为目的,包含:提取部,根据所述数据库中的段信息,判别段的类型以及段中包含的指针的类型,当所述判别结果表示一个母段和多个子段属于母子关系的情况下,提取在所述多个子段中指示所述母段的母指针、在所述多个子段中指示下一子段的兄弟指针、以及在所述母段中指示所述特定的子段的子指针;以及根据所述母段的保存目的地地址以及所述子指针的值的组合和所述子段中包含的母指针以及兄弟指针的值的组合来计算第1散列值,根据所述子段的保存目的地地址以及所述子段中包含的母指针的值的组合来计算第2散列值,两者不同时示出一致性错误的结构。

Description

用于检查分层型数据库中的指针的一致性的***、方法以及程序
技术领域
本发明涉及用于检查数据库的一致性的***、方法以及程序,特别涉及用于检查分层型数据库中的指针的一致性的***、方法以及程序。
背景技术
在IBM(注册商标)IMS(商标)(参照非专利文献1)那样的分层型数据库中,为了检查数据库的一致性,提供了被称为散列(hash)检查功能的高速指针检查功能(参照非专利文献2)。该散列检查功能中,不是直接比较数据库中记录的各个段(segment)持有的指针(Pointer)的值和指针指示的目标段的相对字节地址(RBA),而是通过比较指针的值的合计和目标段的RBA的合计,从而检查一致性。
散列检查功能中,如果双方的合计值相同则判断为有一致性,如果合计值不同则判断为没有一致性。但是,即使在判断为没有一致性的情况下,仅凭散列判断也不知晓是哪个指针或者RBA不正确,因此,为了进行准确的检查,需要执行指针值与RBA的直接比较。
显然,要使散列检查有效,指针的数目和目标段的数目必须一致。即,指针和目标段必须是一对一的关系。但是,根据指针的类型,有时指针和目标段的关系会成为n对一。例如,多个子段持有用于指示相同的母段的母指针的情况就是这样。这时,母段的数目为n(>1),相对地,作为目标段的母段的数目为1,因此在以往的散列检查功能中,无法检查这样的母指针的一致性。
现有技术文献
非专利文献
非专利文献1:IMS Administration Guide:Database Manager Version 9(http://publibfi.dhe.ibm.com/epubs/pdf/dfsadbg4.pdf)
非专利文献2:IMS High Performance Pointer Checker User’s Guide(http://publibfi.bouler.ibm.com/cgi-bin/bookmgr/BOOKS/fabp1b10/CCONTENTS)
发明内容
发明要解决的课题
因此,本发明的目的在于提供一种在分层型数据库中即使指针的数目和这些指针所指示的目标段的数目不同,也能够通过正确的散列检查来检查指针的一致性的***、方法以及程序。
用于解决课题的方案
根据本发明的第1方式,提供一种用于检查分层型数据库中的指针的一致性的***,包括:读取部,读取在所述分层型数据库中记录的段的信息;判别部,根据所述读取部读取的段信息,判别各段的类型以及在各段中包含的指针的类型;提取部,根据所述判别部的判别结果,提取从多个子段指示相同的母段的母指针和在所述多个子段中从特定的子段起按顺序指示下一子段的兄弟指针,并且提取从母段指示特定的子段的子指针;计算部,根据所述母段的保存目的地地址以及所述子指针的值的组合和所述子段中包含的母指针以及兄弟指针的值的组合来计算第1散列值,根据所述子段的保存目的地地址以及所述子段中包含的母指针的值的组合来计算第2散列值;以及***,在所述第1散列值以及所述第2散列值不同的情况下,示出一致性错误。
根据本发明的第2方式,提供一种用于在具有读取部、判别部、提取部、计算部以及***的计算机上检查分层型数据库中的指针的一致性的方法,包括:所述读取部读取在所述分层型数据库中记录的段的信息的步骤;所述判别部根据所述读取部读取的段信息,判别各段的类型以及在各段中包含的指针的类型的步骤;根据所述判别部的判别结果,所述提取部提取从多个子段指示相同的母段的母指针和在所述多个子段中从特定的子段起按顺序指示下一子段的兄弟指针,并且提取从母段指示特定的子段的子指针的步骤;所述计算部根据所述母段的保存目的地地址以及所述子指针的值的组合和所述子段中包含的母指针以及兄弟指针的值的组合来计算第1散列值,根据所述子段的保存目的地地址以及所述子段中包含的母指针的值的组合来计算第2散列值的步骤;以及所述***在所述第1散列值以及所述第2散列值不同的情况下,示出一致性错误的步骤。
根据本发明的第3方式,提供一种用于检查分层型数据库中的指针的一致性的程序,该程序使计算机作为以下部件发挥作用:读取部,读取在所述分层型数据库中记录的段的信息;判别部,根据所述读取部读取的段信息,判别各段的类型以及在各段中包含的指针的类型;提取部,根据所述判别部的判别结果,提取从多个子段指示相同的母段的母指针和在所述多个子段中从特定的子段起按顺序指示下一子段的兄弟指针,并且提取从母段指示特定的子段的子指针;计算部,根据所述母段的保存目的地地址以及所述子指针的值的组合和所述子段中包含的母指针以及兄弟指针的值的组合来计算第1散列值,根据所述子段的保存目的地地址以及所述子段中包含的母指针的值的组合来计算第2散列值;以及***,在所述第1散列值以及所述第2散列值不同的情况下,示出一致性错误。
在任一方式中,都可以设为特定的子段是多个子段中的最初的子段,兄弟指针指示从最初的子段起正向按顺序的下一子段,此外,也可以设为特定的子段是多个子段中的最后的子段,兄弟指针指示从最后的子段起反向按顺序的下一子段。
此外,在计算部中用于计算第1散列值以及第2散列值的组合都是相同的运算,该运算可以是加法、减法、乘法或者除法。计算部将母段的保存目的地地址以及子指针的值的组合累加计算相应于母段的数目,并且将子段中包含的母指针以及兄弟指针的值的组合累加计算相应于从子段的数目中除去了多个子段中的最后的子段后的量,从而计算第1散列值,将子段的保存目的地地址以及子段中包含的母指针的值的组合累加计算相应于子段的数目,从而计算第2散列值。
附图说明
图1是表示本发明作为对象的数据库***的概略的图。
图2是表示在图1的数据库***中包含的分层型数据库的构成例的方框图。
图3是表示在分层型数据库中多个子段具有指示相同的母段的母指针的情况下的构成例的方框图。
图4是表示根据本发明的数据库管理***的功能构成例的方框图。
图5是表示根据本发明的数据库管理***的动作的流程图。
图6是表示作为根据本发明的数据库管理***发挥作用的信息处理装置的硬件结构的一例的方框图。
具体实施方式
以下,参照附图说明用于实施本发明的方式(以下,简称为实施方式),但以下的说明只不过是例示,并非用于限制在权利要求书中记载的本发明。例如,在实施方式中,作为分层型数据库的例子,采用如非专利文献2所记载的IBM公司的IMS(商标),当然,本发明也可以应用于其他的分层型数据库。
在本发明中,利用母指针、子指针以及兄弟指针这3种指针,因此首先弄清这些指针的含义。
母指针
在子段中包含的指针之一,是指示母段的保存目的地地址(例如,相对字节地址RBA)的指针。
子指针
在母段中包含的指针之一,是指示特定的子段的保存目的地地址的指针。当特定的子段和其他子段成为兄弟时,通过子指针指示的子段是这些多个子段(兄弟段)中最初的子段或者最后的子段。
兄弟指针
在子段中包含的指针之一,是指示多个子段中的下一子段的保存目的地地址的指针。如果子指针指示的特定的子段为最初的子段,则兄弟指针指示从最初的子段起正向按顺序下一个子段。此外,如果子指针指示的特定的子段为最后的子段,则兄弟指针指示从最后的子段起反向按顺序下一个子段。
图1表示本发明作为对象的数据库***10的概略。数据库***10包括分层型数据库20、根据本发明的数据库管理***30。
如图2所示,分层型数据库20记录了段200-1~4所代表的多个段。在图示的例子中,段200-1成为根段,能够通过根定位点(RAP)来指定。段200-1包含前缀部210-1和数据部220-1。此外,段200-1的保存目的地地址为1000。这里,保存目的地地址例如是指与分层型数据库20的规定的基准地址相比的段200-1的开头地址的位置(相对字节地址:RBA)。前缀部210-1包含用于指示作为段200-2的保存目的地地址的1100的指针230-1、用于指示其他段的保存目的地地址的指针240-1、段码(SC)250-1。段码250-1是从根段起为了确定段类型而依次分配的号码。在图示的例子中,段200-1是根段,因此段码250-1例如被设定为“01”。
段200-2与段200-1同样地,包含前缀部210-2和数据部220-2。前缀部210-2包含用于指示作为段200-3的保存目的地地址的1200的指针230-2、用于指示另一其他段的保存目的地地址的指针240-2、段码250-2。段200-2是根段的下一段(从属段),因此段码250-2例如被设定为“02”。
段200-3也包含前缀部210-3和数据部220-3。段200-3位于从段200-1开始的一连串的分层结构的终端部分。因此,前缀部210-3不具有指示下位的段的指针,仅具有指向同母的兄弟的指针。实际上,前缀部210-3也可以包含不表示任何地址的规定的数据(例如,Null)作为指针240-3。此外,前缀部210-3的段码250-3例如被设定为“03”。
图2表示各个指针和由它们指示的目标段为一对一的关系的通常的情况,能够应用以往的散列检查。但是,如前述那样,根据情况,该关系有时会成为n对一。图3表示该例子。
图3表示包含一个母段300、分别具有指示该相同的母段300的母指针的第1子段310(子1)和第2子段320(子2)以及第3子段330(子3)的母子关系的构成例。母段300包含表示段的类型的段码(SC)301、指示子段310、320、330中的特定的子段的子指针302、以及数据303。在图3的例子中,子指针302指示的特定的子段是三个子段310、320、330中的最初的子段310。母段300的段码301在生成母段时例如被设定为“01”。
第1子段310包含段码311、指示下一子段320的兄弟指针312、指示母段300的母指针313以及数据314。同样地,第2子段320包含段码321、指示下一子段330的兄弟指针322、指示母段300的母指针323以及数据324,第3子段330包含段码331、兄弟指针332、母指针333以及数据334。
由于各个子段以相同的段300作为母段,因此段码311、321、331被设定为表示兄弟的同一值(例如“02”)。
在图3的例子中,在各个子段中包含的兄弟指针从最初的子段310开始正向按顺序指示下一子段。由于最后的子段330没有下一子段,因此它的兄弟指针332例如被设定为null(全为零)。
在IBM(注册商标)IMS(商标)中,在母段300中包含的子指针302也可以指示最后的子段330。这时,在各个子段中包含的兄弟指针与上述相反的方向指示下一子段。即,最后的子段330的兄弟指针332指示前一个第2子段320,第2子段320的兄弟指针322指示最初的子段310。这时,第1子段310的兄弟指针312被设定为null。
另外,在图3中,各个段的左侧所示的RBA表示用于表示各个段的保存目的地地址(在图3的例子中为开始位置)的相对字节地址,但保存目的地地址不限于RBA,也可以是绝对地址等的其他地址。在图3中仅示出了本发明的理解所需的字段,但实际上,各个段除了图示的之外还包含各种字段。例如,在段码SC之后有被称为删除字节的字段,包含用于表示该段是否被删除而成为无效的位。
在图3所示的各种指针中,子指针302以及兄弟指针312、322分别只具有一个对应的目标段,因此指针和目标段为一对一的关系,因而能够通过以往的散列检查来检查一致性。但是,关于母指针,对于三个母指针313、323、333,一个相同的母段300成为目标段,因此指针和目标段为三对一的关系,无法通过以往的散列检查来检查一致性。
一般,在对于n个指针只存在一个目标段的情况下,如果分别包含该指针的n个不同的算式成立,则可以说能够进行该指针的散列检查。本发明在图3那样的构成例中,鉴于如果没有指针的一致性错误则下式会成立的情况,将n对一的指针(母指针)和一对一的指针(子指针以及兄弟指针)进行组合而执行散列检查。
f(母的ADDR、CP)=f(子1的ADDR、子1的PP)    (1)
f(子1的PP、子1的SP)=f(子2的ADDR、子2的PP)(2)
f(子2的PP、子2的SP)=f(子3的ADDR、子3的PP)(3)
在上式中,ADDR表示保存目的地地址(例如RBA),CP表示子指针,PP表示母指针,SP表示兄弟指针。此外,上式中的f(A、B)表示将A以及B作为操作数的二元运算。二元运算可以是加法(A+B)、减法(A-B)、乘法(A×B)以及除法(A÷B)的任意算术运算。其中,在减法或者除法的情况下,需要在左边和右边让操作数的顺序相同。即,例如在左边,将与母的保存目的地地址有关的值(保存目的地地址本身和母指针)设为操作数A的情况下,在右边也必须将母指针设为操作数A。
在实际的数据库中,存在多组上述那样的、一个母段和多个子段的组合。若将那样的组合的总数、即母段的总数设为n,将子段的总数设为m,则能够将上述的式(1)~(3)关于所有的母子关系如下进行合并。
1f(母i的ADDR、CP)+∑2f(子j的PP、子j的SP)
=∑3f(子k的ADDR、子k的PP)    (4)
在式(4)中,∑1表示将函数f(母i的ADDR、CP)的值累加计算相应于母段的数目n、即从母1到母n,∑2表示将函数f(子j的PP、子j的SP)的值累加计算相应于除去各个母子关系的组合中的最后的子段的量(总数为n-m),∑3表示函数f(子k的ADDR、子k的PP)的值累加计算相应于子段的数目m、即从子1到子m。累加计算例如通过加法来执行。在∑2中除去最后的子段是因为最后的子段的兄弟指针SP(在图3的例子中为兄弟指针332)不具有对应的目标段。其中,如果最后的子段的兄弟指针SP的值为零,并且f(子i的PP、子i的SP)的二元运算为乘法,则与∑3同样地,∑2也累加计算相应于子段的数目m也可以。这样的话就能够省去排除最后的子段的处理。另外,这里所说的最后的子段是指追溯了兄弟指针时的最后的子段,根据在母段中包含的子指针是指示哪个子段而不同。
图4表示按照上述的式(4)执行散列检查的数据库管理***30的功能构成例。数据库管理***30包括:读取在分层型数据库20中记录的段的信息的读取部402;根据读取部402读取的段信息来判别各段的类型以及在各段中包含的指针的类型的判别部404;根据判别部404的判别结果,提取从多个子段指示相同的母段的母指针和在所述多个子段中从特定的子段起依次指示下一子段的兄弟指针,提取从母段指示特定的子段的子指针的提取部406;通过母段的保存目的地地址以及子指针的值的组合和子段中包含的母指针以及兄弟指针的值的组合来计算第1散列值,根据子段的保存目的地地址以及子段中包含的母指针的值的组合来计算第2散列值的计算部408;以及在第1散列值以及第2散列值不同的情况下表示一致性错误的***410。
下面,参照图5的流程图说明数据库管理***30的动作。
在最初的步骤S1中,读取部402将在分层型数据库20中记录的段,按照段的物理地址的顺序来读取。若以图3的例子来说明,则在分层型数据库20中记录的段为4个段300、310、320、330的情况下,读取部402按照物理地址最先读取段310,接着按顺序读取段320、330、300。在IBM(注册商标)IMS(商标)中,定义了在分层型数据库20中记录的段的物理构造的控制信息被保存到控制信息存储部412,读取部402参照该控制信息来读取段,并将读取的内容送到判别部404。另外,在前述的删除位字段中,如果表示段无效的位成为开启(on),则读取部402不会将读取的内容送到判别部404而是将其丢弃。
在下一步骤S2中,判别部404首先利用从读取部402送来的段的前缀部中的段码(例如SC311),访问在控制信息存储部412中保存的控制信息。该控制信息中,按照每个段码,包含表示该段为什么类型,表示将怎样的指针放在哪个位置的信息,判别部404通过读取该信息,从而判别该段的类型以及该段所具有的指针的类型。在本实施方式中,读取部402最初读取的段310的段码311为“02”,这表示段310是具有相同母指针的多个子中的一个。段320以及330也同样。相对于此,段300的段码为“01”,这表示段300具有指示特定的子段的子指针。
在下一步骤S3中,判别部404判断根据前述的控制信息判别的段的类型是否为具有相同母指针的多个子中的一个,如果不是,则进至步骤S4,并判断该段是否具有指示特定的子段的子指针。如果步骤S3的判断结果为“是”,则进至步骤S5,提取部406提取在步骤S2中通过判别部404判别的该子段中包含的母指针以及兄弟指针。此外,如果步骤S4中的判断结果为“是”,则进至步骤S6,提取部406提取在步骤S2中通过判别部404判别的该母段中包含的子指针。
在步骤S5中提取了母指针以及兄弟指针之后,在步骤S7中,提取部406判断在步骤S3中检测出的子是否为多个子中的最后的子。这可以通过读取在步骤S5中提取的兄弟指针是否为零来判断。如果不是最后的子,则提取部406将在步骤S5中提取的母指针以及兄弟指针送到计算部408,如果是最后的子,则不将这些指针送到计算部408,而是进至步骤S9。
在下一步骤S8中,计算部408计算通过前述的式(4)的左边表示的第1散列值和通过式(4)的右边表示的第2散列值。如式(4)所示,计算部408根据母段的保存目的地地址以及子指针的值的组合和子段中包含的母指针以及兄弟指针的组合来计算第1散列值,根据子段的保存目的地地址以及子段中包含的母指针的组合来计算第2散列值。这里所说的组合可以是加法、减法、乘法以及除法中的任意的运算,但由于是计算应比较的散列值,因此都必须是相同的运算。即,母段的保存目的地地址以及子指针的值的组合例如通过母段的保存目的地地址和子指针的值的加法来进行的情况下,其他所有的组合也通过加法来进行。
如前述那样,当组合为减法或者除法时,需要将所有的组合中让应组合的两个操作数的顺序相同。此外,当组合为乘法时,能够省略排除最后的子段的处理(步骤S7)。
在下一步骤S9中,读取部402判断在步骤S1中读取的段是否为在分层型数据库20中记录的最后的段。如果不是最后的段,则返回到步骤S1,读取部402读取下一段。如果是最后的段,则进至步骤S10,***410比较在步骤S8中计算的第1散列值和第2散列值,如果一致则在步骤S11中示出有一致性,如果不一致则在步骤S12中示出没有一致性。
***410在步骤S10中检测出散列值的不一致的情况下,根据式(4)可知,这表示母段的保存目的地地址、子段的保存目的地地址、母指针、子指针以及兄弟指针中的某一个不正确,但不清楚是哪一个不正确。但是,关于子指针以及兄弟指针,由于与目标段具有一对一的对应关系,因此可以单独应用以往的散列检查功能。
例如,若在图5的步骤S8中,计算子指针的散列值(累加计算值)、子指针指示的子段的保存目的地地址的散列值、兄弟指针的散列值、以及兄弟指针的指示的子段的散列值,在步骤S10中,查看(子指针的散列值=子指针指示的子段的保存目的地地址的散列值)、以及(兄弟指针的散列值=兄弟指针的指示的子段的散列值)是否成立,则可实现子指针以及兄弟指针的散列检查。如果在该散列检查中没有检测出一致性错误,但第1散列值以及第2散列值仍然不一致,则可知在母指针和母段的保存目的地地址之间存在不匹配。
另外,从步骤S9到达步骤S10时的、步骤S3的判断结果为“是”的次数表示本发明作为对象的子段的总数。同样地,从步骤S9到达步骤S10时的、步骤S4的判断结果为“是”的次数表示本发明作为对象的母段的总数。进而,从步骤S9到达步骤S10时的、步骤S7的判断结果为“是”的次数表示本发明作为对象的子段中的最后的子段的总数。因此,如果将包含分别对从步骤S3到达步骤S5的次数、从步骤S4到达步骤S6的次数、从步骤S7到达步骤S9的次数进行计数的计数器的计数部设置在图4的数据库管理***30,则能够知晓本发明应处理的母段以及子段的总数、应当从处理中排除的最后的子段的总数。
如上所述,本发明的散列检查将由一个母段和包含指示该母段的母指针的多个子段组成的母子关系作为对象,但除此以外的情况、即指针和目标段为一对一的关系的情况下,执行用于对指针值和目标段的保存目的地地址分别进行累加计算的通常的散列检查处理即可。在图5中,在步骤S3以及S4的判断结果都是“否”的情况下执行的步骤S13就表示该处理。
另外,在IBM(注册商标)IMS(商标)中,能够将上述的母子关系设定为物理关系以及逻辑关系。物理关系是母段位于与子段相同的分区(partition)或者数据库中的情况,将前者称为物理母,将后者称为物理子。相对于此,逻辑关系是母段位于与子段不同的分区或者数据库中的情况,将前者称为逻辑母,将后者称为逻辑子。无论母子关系属于哪一种,本发明都能够同等地应用。
图6表示作为数据库管理***30发挥作用的信息处理装置500的硬件结构的一例。在本图中,以信息处理装置500是被称为主机的大型通用计算机的情况为例,说明其硬件结构。信息处理装置500包括主存储装置502、至少一个中央处理装置504、存储控制部506、信道子***508、至少一个控制装置510、至少一个输入输出设备512a~d。
主存储装置502存储从输入输出设备512a~d输入的数据以及程序。然后,若主存储装置502从中央处理装置504以及信道子***508接受地址的指定,则将在该地址中存储的数据送到中央处理装置504以及信道子***508。主存储装置502能够高速读取所存储的数据,通过该高速的读取,能够实现中央处理装置504的高速运算处理。
中央处理装置504发挥用于控制信息处理装置500的整体的中心作用,例如执行至少一个操作***505。操作***505对信息处理装置500中的程序的执行以及输入输出处理进行控制。例如,操作***505可以对在中央处理装置504上动作的其他程序的执行进行控制,也可以对输入输出设备512a~d的每一个中的数据传输进行控制。
存储控制部506经由能够双方向或者单方向进行通信的总线514,连接到中央处理装置504。存储控制部506还经由总线516连接到主存储装置502,经由总线518连接到信道子***508。存储控制部506例如也可以临时存储从中央处理装置504或者信道子***508接受的接入请求(排队处理),并在规定的定时将该接入请求发送到主存储装置502。
信道子***508经由数据传输路520连接到各个控制装置510。然后,信道子***508控制输入输出设备512a~d以及主存储装置502之间的数据传输。由此,中央处理装置504与输入输出设备512a~d之间通信的处理负担被减轻,因此能够并行地执行中央处理装置504进行的运算处理和中央处理装置504进行的输入输出处理,作为结果,能够使信息处理装置500有效地工作。
此外,信道子***508通过至少一个信道总线522与输入输出设备512a~d进行数据传输。各个信道总线522具有在信道子***508内设置的信道524。此外,各个信道总线522具有至少一个控制装置510和数据传输路520。这里,数据传输路520例如也可以是基于ESCON(注册商标)(EnterpriseSystems Connection Architecture;企业***连接架构)的串行链路。取而代之,数据传输路520也可以是并行OEMI,也可以是光纤信道。
控制装置510控制输入输出设备512a~d的至少一个。例如,控制装置510也可以控制输入输出设备512a~d的每一个中的数据传输的定时。控制装置510经由总线526连接到输入输出设备512a~d的至少一个。作为一例,控制装置510最大可连接到256个输入输出设备。
输入输出设备512a~d的每一个,依次经由控制装置510、信道子***508以及存储控制部506,与主存储装置502之间进行数据传输。这里,输入输出设备512a具体为磁带驱动,输入输出设备512b为硬盘驱动。取而代之,或者除此之外,输入输出设备512a~d的每一个也可以是穿孔卡片阅读器、显示器、键盘、打印机、通信总线、各种传感器、或者其他存储装置。作为一例,输入输出设备512a~d的至少一个与数据库20连接,可以进行对于数据库20的接入。
提供给信息处理装置500的程序在被存储到带记录介质535等记录介质之后通过用户来提供。程序通过输入输出设备512a读出,并经由信道子***508被存储到主存储装置502。然后,存储到主存储装置502的程序再次经由信道子***508被安装到输入输出设备512d(硬盘驱动)。程序推动信息处理装置500等进行的动作如在从图1到图5中说明的那样。该程序使信息处理装置500作为前述的读取部402、判别部404、提取部406、计算部408以及***410发挥作用。
以上所示的程序也可以被存储到外部的存储介质。作为存储介质,除了软盘、CD-ROM之外,也能利用DVD和PD等光学记录介质、MD等光磁记录介质、IC卡等半导体存储器等。此外,也可以将连接到专用通信网络或互联网的服务器***中设置的硬盘或者RAM等的存储装置作为记录介质来使用,也可以经由网络将程序提供给信息处理装置500。
以上,利用实施方式说明了本发明,但本发明的技术范围不限于在上述实施方式中记载的范围。本领域技术人员清楚的是,能够对上述实施方式施加各种变更或者改良。根据权利要求书的记载可知,施加了这样的变更或者改良的方式也能包含在本发明的技术范围内。
标号说明
20分层型数据库
30数据库管理***
402读取部
404判别部
406提取部
408计算部
410***

Claims (10)

1.一种用于检查分层型数据库中的指针的一致性的***,包括:
读取部,读取在所述分层型数据库中记录的段的信息;
判别部,根据所述读取部读取的段信息,判别各段的类型以及在各段中包含的指针的类型;
提取部,根据所述判别部的判别结果,提取从多个子段指示相同的母段的母指针和在所述多个子段中从特定的子段起按顺序指示下一子段的兄弟指针,并且提取从母段指示特定的子段的子指针;
计算部,根据所述母段的保存目的地地址以及所述子指针的值的组合和所述子段中包含的母指针以及兄弟指针的值的组合来计算第1散列值,根据所述子段的保存目的地地址以及所述子段中包含的母指针的值的组合来计算第2散列值;以及
***,在所述第1散列值以及所述第2散列值不同的情况下,示出一致性错误。
2.如权利要求1所述的***,其中,
所述特定的子段是所述多个子段中的最初的子段,所述兄弟指针指示从所述最初的子段起正向按顺序的下一子段。
3.如权利要求1所述的***,其中,
所述特定的子段是所述多个子段中的最后的子段,所述兄弟指针指示从所述最后的子段起反向按顺序的下一子段。
4.如权利要求1所述的***,其中,
在所述计算部中用于计算所述第1散列值以及所述第2散列值的所述组合都是相同的运算。
5.如权利要求4所述的***,其中,
所述运算是加法、减法、乘法或者除法。
6.如权利要求5所述的***,其中,
所述计算部将所述母段的保存目的地地址以及所述子指针的值的组合累加计算相应于所述母段的数目,并且将所述子段中包含的母指针以及兄弟指针的值的组合累加计算相应于除去了所述多个子段中的最后的子段后的量,从而计算所述第1散列值,将所述子段的保存目的地地址以及所述子段中包含的母指针的值的组合累加计算相应于所述子段的数目,从而计算所述第2散列值。
7.如权利要求6所述的***,其中,
所述累加计算通过加法来执行。
8.如权利要求6或7所述的***,其中,
当所述运算为减法或者除法的情况下,所述计算部将计算所述第1散列值以及所述第2散列值时的操作数的顺序设为相同而执行减法或者除法。
9.一种用于在具有读取部、判别部、提取部、计算部以及***的计算机上检查分层型数据库中的指针的一致性的方法,包括:
所述读取部读取在所述分层型数据库中记录的段的信息的步骤;
所述判别部根据所述读取部读取的段信息,判别各段的类型以及在各段中包含的指针的类型的步骤;
根据所述判别部的判别结果,所述提取部提取从多个子段指示相同的母段的母指针和在所述多个子段中从特定的子段起按顺序指示下一子段的兄弟指针,并且提取从母段指示特定的子段的子指针的步骤;
所述计算部根据所述母段的保存目的地地址以及所述子指针的值的组合和所述子段中包含的母指针以及兄弟指针的值的组合来计算第1散列值,根据所述子段的保存目的地地址以及所述子段中包含的母指针的值的组合来计算第2散列值的步骤;以及
所述***在所述第1散列值以及所述第2散列值不同的情况下,示出一致性错误的步骤。
10.一种用于检查分层型数据库中的指针的一致性的程序,该程序使计算机作为以下部件发挥作用:
读取部,读取在所述分层型数据库中记录的段的信息;
判别部,根据所述读取部读取的段信息,判别各段的类型以及在各段中包含的指针的类型;
提取部,根据所述判别部的判别结果,提取从多个子段指示相同的母段的母指针和在所述多个子段中从特定的子段起按顺序指示下一子段的兄弟指针,并且提取从母段指示特定的子段的子指针;
计算部,根据所述母段的保存目的地地址以及所述子指针的值的组合和所述子段中包含的母指针以及兄弟指针的值的组合来计算第1散列值,根据所述子段的保存目的地地址以及所述子段中包含的母指针的值的组合来计算第2散列值;以及
***,在所述第1散列值以及所述第2散列值不同的情况下,示出一致性错误。
CN201080058072.1A 2009-12-25 2010-11-16 用于检查分层型数据库中的指针的一致性的***和方法 Active CN102667734B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009-294273 2009-12-25
JP2009294273 2009-12-25
PCT/JP2010/070347 WO2011077858A1 (ja) 2009-12-25 2010-11-16 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム

Publications (2)

Publication Number Publication Date
CN102667734A true CN102667734A (zh) 2012-09-12
CN102667734B CN102667734B (zh) 2014-08-20

Family

ID=44195400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080058072.1A Active CN102667734B (zh) 2009-12-25 2010-11-16 用于检查分层型数据库中的指针的一致性的***和方法

Country Status (6)

Country Link
US (1) US8812513B2 (zh)
JP (1) JP5341209B2 (zh)
CN (1) CN102667734B (zh)
DE (1) DE112010004565B4 (zh)
GB (1) GB2489147A (zh)
WO (1) WO2011077858A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014070055A1 (en) * 2012-10-31 2014-05-08 Telefonaktiebolaget L M Ericsson (Publ) Method for configuring a communication device using a configuration file template
US9367575B1 (en) * 2013-06-28 2016-06-14 Veritas Technologies Llc System and method for managing deduplication between applications using dissimilar fingerprint types
JP6280006B2 (ja) * 2014-08-29 2018-02-14 日本電信電話株式会社 データベースシステム、データベースシステムの動作方法およびコンピュータプログラム
US10387547B2 (en) 2014-09-09 2019-08-20 Intentional Software Corporation Layout engine for creating a visual layout tree for a document
US10353991B2 (en) 2014-09-09 2019-07-16 Intentional Software Corporation Generating a visual description tree based on a layout interruption record
US11003833B2 (en) 2014-09-09 2021-05-11 Microsoft Technology Licensing, Llc Adding visual description nodes to a visual description tree during layout
US10387540B2 (en) 2014-09-09 2019-08-20 Intentional Software Corporation Generating a visual layout tree using caching techniques
US10430500B2 (en) * 2014-09-09 2019-10-01 Intentional Software Corporation Detecting and animating a change in position of a visual layout node of a visual layout tree
US10402478B2 (en) 2014-09-09 2019-09-03 Intentional Software Corporation Linking visual layout nodes of a visual layout tree using positioning pointers
US11308043B2 (en) * 2019-11-13 2022-04-19 Salesforce.Com, Inc. Distributed database replication
KR102315432B1 (ko) * 2021-06-22 2021-10-20 주식회사 크라우드웍스 데이터 포인터를 활용한 프로젝트 관리 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139619A (ja) * 2004-11-12 2006-06-01 Internatl Business Mach Corp <Ibm> データベース管理システム、データベース管理方法、及びプログラム
JP2007052583A (ja) * 2005-08-17 2007-03-01 Internatl Business Mach Corp <Ibm> システム、判断方法およびプログラム
JP2007102461A (ja) * 2005-10-04 2007-04-19 Internatl Business Mach Corp <Ibm> データベースの整合性を判断する装置、およびその方法
US20070244850A1 (en) * 2006-04-17 2007-10-18 Microsoft Corporation Perfect multidimensional spatial hashing

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155678A (en) 1985-10-29 1992-10-13 International Business Machines Corporation Data availability in restartable data base system
US4751702A (en) 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities
JP2668438B2 (ja) 1989-04-21 1997-10-27 三菱電機株式会社 データ検索装置
JPH0581110A (ja) 1991-09-25 1993-04-02 Hitachi Ltd インデクスフアイルの整合性自動検証方式
JPH0675840A (ja) 1992-08-26 1994-03-18 Hitachi Ltd データベースメンテナンス方式
JPH06139124A (ja) 1992-10-28 1994-05-20 Nec Software Ltd インバーテッドファイル方式データベース内不整合削除方式
US5418947A (en) 1992-12-23 1995-05-23 At&T Corp. Locating information in an unsorted database utilizing a B-tree
JPH06243011A (ja) 1993-02-18 1994-09-02 Hitachi Ltd データベースの自動メンテナンス方式
DE4410060B4 (de) 1993-04-08 2006-02-09 Hewlett-Packard Development Co., L.P., Houston Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
US5475826A (en) 1993-11-19 1995-12-12 Fischer; Addison M. Method for protecting a volatile file using a single hash
JPH08249222A (ja) 1995-03-14 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> データベース整合性チェック方法および装置
US5778387A (en) 1995-05-19 1998-07-07 Sprint Communications Co., L.P. Database automated recovery system
JP3636773B2 (ja) 1995-06-19 2005-04-06 株式会社日立製作所 データベースのチェックを行う情報処理装置
US5881379A (en) 1996-05-20 1999-03-09 International Business Machines Corporation System, method, and program for using duplicated direct pointer sets in keyed database records to enhance data recoverability without logging
US5933820A (en) 1996-05-20 1999-08-03 International Business Machines Corporation System, method, and program for using direct and indirect pointers to logically related data and targets of indexes
US6098110A (en) 1996-12-30 2000-08-01 Compaq Computer Corporation Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses
JPH10260876A (ja) 1997-03-19 1998-09-29 Hitachi Ltd データベースのデータ構造及びデータベースのデータ処理方法
JPH10312329A (ja) 1997-05-09 1998-11-24 Matsushita Electric Ind Co Ltd データ・バックアップ・リストア装置
US5950191A (en) 1997-05-21 1999-09-07 Oracle Corporation Method and system for accessing an item in a linked list using an auxiliary array
US6073129A (en) 1997-12-29 2000-06-06 Bull Hn Information Systems Inc. Method and apparatus for improving the performance of a database management system through a central cache mechanism
CN1298514A (zh) * 1998-02-26 2001-06-06 太阳微***公司 确定性散列识别远程方法的方法和***
US6052799A (en) 1998-05-15 2000-04-18 International Business Machines Corporation System and method for recovering a directory for a log structured array
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6185569B1 (en) 1998-06-29 2001-02-06 Microsoft Corporation Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table
US6411964B1 (en) 1998-12-23 2002-06-25 International Business Machines Corporation Methods for in-place online reorganization of a database
JP2001142765A (ja) 1999-11-17 2001-05-25 Nec Corp データベースファイル整合性検証方法およびその装置ならびに記録媒体
US6792418B1 (en) 2000-03-29 2004-09-14 International Business Machines Corporation File or database manager systems based on a fractal hierarchical index structure
CA2302981C (en) 2000-03-29 2004-06-01 Ibm Canada Limited-Ibm Canada Limitee Online database table reorganization
US6856651B2 (en) 2000-07-25 2005-02-15 Peribit Networks, Inc. System and method for incremental and continuous data compression
US6516380B2 (en) 2001-02-05 2003-02-04 International Business Machines Corporation System and method for a log-based non-volatile write cache in a storage controller
US7107430B2 (en) 2001-06-19 2006-09-12 Massachusetts Institute Of Technology Mechanism to reduce the cost of forwarding pointer aliasing
US6889225B2 (en) 2001-08-09 2005-05-03 Integrated Silicon Solution, Inc. Large database search using content addressable memory and hash
US6697276B1 (en) 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device
JP2004013228A (ja) 2002-06-03 2004-01-15 Ricoh Co Ltd データベースシステム及びその整合制御方法
US7085787B2 (en) 2002-07-19 2006-08-01 International Business Machines Corporation Capturing data changes utilizing data-space tracking
US7308456B2 (en) 2002-12-19 2007-12-11 International Business Machines Corporation Method and apparatus for building one or more indexes on data concurrent with manipulation of data
US6823493B2 (en) 2003-01-23 2004-11-23 Aurilab, Llc Word recognition consistency check and error correction system and method
JP4439202B2 (ja) 2003-05-09 2010-03-24 株式会社東芝 X線コンピュータ断層撮影装置及び画像ノイズシミュレーション装置
JP4401132B2 (ja) 2003-09-19 2010-01-20 株式会社日立国際電気 循環記録装置
US7133884B1 (en) 2003-11-26 2006-11-07 Bmc Software, Inc. Unobtrusive point-in-time consistent copies
JP2005190047A (ja) 2003-12-25 2005-07-14 Hitachi Ltd データソート機能を持つストレージシステム
JP4390570B2 (ja) 2004-01-21 2009-12-24 株式会社エヌ・ティ・ティ・ドコモ 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置
US7277905B2 (en) 2004-03-31 2007-10-02 Microsoft Corporation System and method for a consistency check of a database backup
JP4554256B2 (ja) 2004-04-02 2010-09-29 三菱電機株式会社 送風装置
US7440936B2 (en) 2004-10-07 2008-10-21 International Business Machines Corporation Method for determining an access mode to a dataset
US7707477B2 (en) * 2005-09-29 2010-04-27 Apple Inc. Checksum calculation
US20070118547A1 (en) 2005-11-22 2007-05-24 Monish Gupta Efficient index versioning in multi-version databases
US8176052B2 (en) * 2006-03-03 2012-05-08 Perfect Search Corporation Hyperspace index
JP4148529B2 (ja) 2006-12-28 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム
JP5081110B2 (ja) 2008-09-05 2012-11-21 オリジン電気株式会社 昇圧形コンバータ
US7990976B2 (en) * 2009-05-13 2011-08-02 Telefonaktiebolaget L M Ericsson (Publ) Negotiated secure fast table lookups for protocols with bidirectional identifiers
US8370315B1 (en) * 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139619A (ja) * 2004-11-12 2006-06-01 Internatl Business Mach Corp <Ibm> データベース管理システム、データベース管理方法、及びプログラム
JP2007052583A (ja) * 2005-08-17 2007-03-01 Internatl Business Mach Corp <Ibm> システム、判断方法およびプログラム
JP2007102461A (ja) * 2005-10-04 2007-04-19 Internatl Business Mach Corp <Ibm> データベースの整合性を判断する装置、およびその方法
US20070244850A1 (en) * 2006-04-17 2007-10-18 Microsoft Corporation Perfect multidimensional spatial hashing

Also Published As

Publication number Publication date
GB2489147A (en) 2012-09-19
JPWO2011077858A1 (ja) 2013-05-02
US8812513B2 (en) 2014-08-19
WO2011077858A1 (ja) 2011-06-30
DE112010004565T5 (de) 2012-09-13
JP5341209B2 (ja) 2013-11-13
US20130086005A1 (en) 2013-04-04
CN102667734B (zh) 2014-08-20
GB201211368D0 (en) 2012-08-08
DE112010004565B4 (de) 2021-07-01

Similar Documents

Publication Publication Date Title
CN102667734B (zh) 用于检查分层型数据库中的指针的一致性的***和方法
CN110297866A (zh) 基于日志分析的数据同步方法及数据同步装置
US7676502B2 (en) Recovery point data view shift through a direction-agnostic roll algorithm
US9104662B2 (en) Method and system for implementing parallel transformations of records
US9639542B2 (en) Dynamic mapping of extensible datasets to relational database schemas
US8732136B2 (en) Recovery point data view shift through a direction-agnostic roll algorithm
Lee et al. Large-scale incremental processing with MapReduce
CN104239438B (zh) 基于分离存储的文件信息存储方法和文件信息读写方法
JP2005267600A5 (zh)
CN108399338A (zh) 基于进程行为的平台完整性状态信息度量方法
US8554727B2 (en) Method and system of tiered quiescing
US20210044423A1 (en) Summary chains in distributed systems
US10459804B2 (en) Database rollback using WAL
CN110399333B (zh) 删除快照的方法、设备和计算机程序产品
CN107506260A (zh) 一种动态分块数据库增量备份方法
CN106844102A (zh) 数据恢复方法和装置
CN107944041A (zh) 一种hdfs的存储结构优化方法
US7653663B1 (en) Guaranteeing the authenticity of the data stored in the archive storage
Wust et al. Efficient logging for enterprise workloads on column-oriented in-memory databases
CN109522273A (zh) 一种实现数据写入的方法及装置
JP6549786B2 (ja) データクレンジングシステム、方法、及び、プログラム
Zhang et al. Improved deduplication through parallel binning
CN111857883A (zh) 页面数据校验方法、装置、电子设备及存储介质
CN111680004B (zh) 核对非结构化影像文件迁移准确性的方法和装置
US20130132443A1 (en) Structure-specific record count database operations

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