CN108694230A - 数据库中的唯一标识符的管理 - Google Patents
数据库中的唯一标识符的管理 Download PDFInfo
- Publication number
- CN108694230A CN108694230A CN201810311506.2A CN201810311506A CN108694230A CN 108694230 A CN108694230 A CN 108694230A CN 201810311506 A CN201810311506 A CN 201810311506A CN 108694230 A CN108694230 A CN 108694230A
- Authority
- CN
- China
- Prior art keywords
- identifier
- page
- pointer
- database
- directed toward
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于将唯一标识符与对象相关联的***,其中该***包括:‑具有存储器单元(101)、索引单元(102)和控制指针单元(103)的数据库(100),‑至少一个标识符管理单元(120、121、122),以及‑至少一个更新单元(140),其中:‑存在组织在各页面中的有限标识符集,每个页面包括表示标识符的可用性的位图,‑索引中指向数据的所述指针包括指向由标识符管理单元加载的最后页面的指针,以及指向由更新单元更新的最后页面的指针。
Description
发明名称
数据库中的唯一标识符的管理
技术领域
本发明涉及对可大规模由更新率很高的大量客户端访问的数据库的管理。
更具体地,本发明涉及对存储到数据库中的对象的标识符指派,与给定对象相关联的该标识符在任何给定时间在数据库中是唯一的。
背景技术
在大规模信息***中,数据库中存储的对象通常被指派一标识符,该标识符例如包括字母数字字符串。
标识符可被用作用于标识具有有限大小的数据结构的给定对象的手段。通过处理该标识符而非对象本身,整体***的资源得以优化。
在数据库中处理和存储的对象本质上可以不是静态的。对象可以各种速率被创建、删除和修改。因此,标识符也可被相应地创建、删除和修改。
然而,对于处理可由大量客户端访问的大量数据的数据库而言,创建、删除、修改以及还有指派标识符可能变为影响***的总体性能的任务。可能被影响的性能参数的一个示例是响应时间。其它示例是需要存储标识符的存储器及其与相应对象的关联性以及用于更新标识符及其对应性的通信带宽。
在一些应用中,每个对象被指派唯一标识符,该唯一标识符贯穿***以唯一方式代表该对象。
在数据库中使用唯一标识符是重要的领域是旅行预定的管理。
诸如航空公司和酒店公司之类的旅行公司例如使用非常复杂的数据库和预定软件用于处理顾客的预定。
旅行预定涉及大量的参与者:商业代理、运输公司、顾客和其它行政机关等。这些参与者通常还分布在大的地理区域上。
因此,必须使用共用数据库和通信架构以忍受对每个顾客的每个预定的旅行规范所代表的大量信息的适当管理。
共用数据库由此(在旅行公司)同时被来自大量地点的大量客户端设备访问。
TPF(“事务处理设施”的缩写)是由IBMTM开发的用于处理旅行预定***中涉及的数据事务的实时操作***的示例。如由本领域技术人员将理解的,存在其它***。
为了共享关于给定预定的信息,旅行行业已经开发了要在数据事务处理***中使用的公共描述符和数据结构。
历史上,航空行业定义PNR(“旅客姓名记录”的缩写),PNR是数据库中包含关于旅行者或一起旅行的旅行团的信息(包括预定信息)的记录。PNR的目的是使航空公司在旅行涉及针对若干目的地的若干航线的情况下交换预定信息成为可能。IATA(“国际航空运输协会”的缩写)――重组世界各地的航空公司的贸易协会,是定义PNR标准(内容、格式等)的主体。
尽管最初已经针对航空行业定义了PNR,但它们也可被用于酒店预定、车辆租赁、火车预定等。
为了促成对PNR的访问,唯一标识符与PNR相关联。该唯一标识符通常被称为“记录定位符”,但是存在其它名称。
记录定位符通常被定义为字母数字字符串,例如6个字符(数字和字母)。使用字母数字串是行业中的当前标准。
记录定位符的管理必须满足大量技术约束。以下实施例是示例性约束:
-高吞吐量,例如,每秒超过50个标识符要求,
-低响应延迟,例如小于1毫秒中处理至少90%的标识符要求,
-在给定时间可靠并且唯一地与活跃PNR相关联以及避免因标识符冲突导致的故障,
-一旦标识符的先前使用被耗尽就被重用,在不可能恢复标识符(例如,以供重用)的情况下,确保避免“失去”标识符,例如指派给不活跃PNR的标识符,
-操作简化,避免手工干预,
-尊重***架构的通信约束(消息接发约束等),事务数据处理***(由IBMTM开发的TPF以及其它***)之间是互操作的,
-尊重标准约束。
为了应对此类约束,存在对从集中式主机演进到分布式***的需要,其中独立和冗余服务器(称为“后端”)可针对新创建的预定记录同时并且独立地执行记录定位符的分配。
在一些集中式主机中,记录定位符不仅充当针对PNR的标识符,而且它们还充当数据库中的低级地址。为了生成记录定位符,集中式***实现能能将数据库中的地址转换为与标准兼容的记录定位符的算法。
针对唯一标识符的此种生成方法对于分布式架构是不便利的。在不增加***复杂性同时保持满足对标识符的约束(具有受限数量的字符的短尺寸、高性能、兼容性等)的情况下,基于地址的生成不能在每个后端中实现。
由此,存在对改善针对数据库***的唯一标识符生成的需要。
本发明在该上下文内。
发明内容
根据本发明的第一方面,提供了一种用于将标识符与***中表示的对象相关联的***,其中在给定时间,***的数据库中表示的给定对象与唯一标识符相关联,
该***包括:
-数据库,所述数据库包括:
ο被配置用于存储所述对象及其与所述标识符的相应关联的存储器单元,
ο被配置用于存储***的标识符的可用性状态的索引单元,以及
ο被配置用于将指向数据的指针存储到索引单元中的控制指针单元;
-被配置用于访问所述数据库的至少一个标识符管理单元;以及
-被配置用于更新***的标识符的可用性状态的至少一个更新单元,
其中:
-所述标识符属于根据标识符页面在所述索引单元内组织的有限标识符集,
ο每个页面由位图来表示
ο其中位图的每个位对应于相应的标识符值,以及
ο每个位值对应于相应标识符的可用性,
-索引中的所述指向数据的指针至少包括
ο指向由***的标识符管理单元加载的最后页面的第一指针,以及
ο指向由***的更新单元更新的最后页面的第二指针,以及
其中:
-所述至少一个标识符管理单元被进一步配置用于:
ο基于所述第一指针来加载第一标识符页面,用于基于与所述第一所加载页面对应的位图来向要被存储到数据库中的对象分配所述标识符页面的标识符,以及
-所述至少一个更新单元被进一步配置用于:
ο基于所述第二指针来确定与第二标识符页面对应的标识符,
ο访问所述存储器单元以检查所确定的标识符的可用性,以及
ο基于所述所确定的标识符的可用性来更新表示所述第二所加载页面的位图,以及
-所述数据库被进一步配置用于:
ο一旦对象在***中激活,就在所述存储器单元中存储对象及其所分配的标识符,以及
ο一旦对象在***中停用,就从所述存储器单元中删除对象及其所分配的标识符。
各实施例提供了短时间响应同时将实现的复杂性保持为较低。各实施例还提供了与现有数据库的兼容性。
根据各实施例,所述至少一个标识符管理单元被进一步配置用于在不超过最大页面有效期历时的历时之后,丢弃所述所加载的第一标识符页面。
根据各实施例,所述至少一个更新单元被进一步配置用于在确定与所述第二标识符页面对应的标识符之前,等待所述最大页面有效期历时。
根据各实施例,标识符管理单元和更新单元中的至少一者被进一步配置用于检查所述第一指针和所述第二指针是否同时指向同一标识符页面。
根据各实施例,所述标识符页面以循环方式来排序。
根据各实施例,在向要被存储到数据库中的对象分配标识符之前,检查各指针以验证第二指针不正在指向与第一指针所指向的标识符页面相邻的标识符页面。
例如,每次页面被加载时检查各指针。
根据各实施例,在更新标识符页面的位图之前,检查各指针以验证第一指针不正在指向与第二指针所指向的标识符页面相邻的标识符页面。
根据本发明的第二方面,提供了一种用于将标识符与***中表示的对象相关联的方法,其中在给定时间,***的数据库中表示的给定对象与唯一标识符相关联,
该***包括:
-数据库,所述数据库包括:
ο配置用于存储所述对象及其与所述标识符的相应关联的存储器单元,
ο配置用于存储***的标识符的可用性状态的索引单元,以及
ο配置用于将指向数据的指针存储到索引单元中的控制指针单元,
-配置用于访问所述数据库的至少一个标识符管理单元,以及
-配置用于更新***中的标识符的可用性状态的至少一个更新单元,
其中:
-所述标识符属于根据标识符页面在所述索引单元(102)内组织的有限标识符集,ο每个页面由位图来表示
ο其中位图的每个位对应于相应的标识符值,以及
ο每个位值对应于相应标识符的可用性,
-索引中的所述指向数据的指针至少包括
ο指向由***的标识符管理单元加载的最后页面的第一指针,以及
ο指向由***的更新单元更新的最后页面的第二指针,
该方法包括由所述至少一个标识符管理单元执行的以下步骤:
-基于所述第一指针来加载第一标识符页面,
-基于与所述第一所加载页面对应的位图来将所述标识符页面的标识符分配给要被存储到数据库中的对象,
该方法包括由所述至少一个更新单元执行的以下步骤:
-基于所述第二指针来确定与第二标识符页面对应的标识符,
-访问所述存储器单元以检查所确定的标识符的可用性,
-基于所述所确定的标识符的可用性来更新表示所述第二所加载页面的位图,以及
该方法包括由所述数据库执行的以下步骤:
ο一旦对象在***中激活,就在所述存储器单元中存储对象及其所分配的标识符,以及
ο一旦对象在***中停用,就从所述存储器单元中删除对象及其所分配的标识符。
根据各实施例,所述至少一个标识符管理单元进一步在不超过最大页面有效期历时的历时之后,丢弃所述所加载的第一标识符页面。
根据各实施例,所述至少一个更新单元进一步在确定与所述第二标识符页面对应的标识符之前,等待所述最大页面有效期历时。
根据各实施例,标识符管理单元和更新单元中的至少一者进一步检查所述第一指针和所述第二指针是否同时指向同一标识符页面。
根据各实施例,所述标识符页面以循环方式来排序。
根据各实施例,在向要被存储到数据库中的对象分配标识符之前,检查各指针以验证第二指针不正在指向与第一指针所指向的标识符页面相邻的标识符页面。
根据各实施例,在更新标识符页面的位图之前,检查各指针以验证第一指针不正在指向与第二指针所指向的标识符页面相邻的标识符页面。
根据本发明的第三方面,提供了一种计算机程序产品,该计算机程序产品包括当程序被加载并且被可编程装置执行时用于实现根据本发明的第二方面的方法的指令。
还提供了一种可由存储计算机程序指令的计算机或微处理器读取的非瞬态信息存储装置,当程序被加载并且被该计算机或微处理器执行时用于实现根据本发明的第二方面的方法。
根据本发明的第二和第三方面的对象至少提供与由根据第一方面的***提供的优点同样的优点。
附图说明
根据参考附图所进行的非限制性实施例的以下描述,本发明的特征和优点将变得更显而易见,在附图中:
-图1解说了各实施例的实现的一般上下文;
-图2A和2B解说了根据各实施例的记录定位符;
-图3示意性地解说了根据各实施例的表示PNR的表;
-图4示意性地解说了根据各实施例的索引表;
-图5A-5B示意性地解说了根据各实施例的控制指针单元中存储的表;
-图6是解说根据各实施例的用于向客户端设备分配记录定位符的步骤的数据流;
-图7是解说根据各实施例的用于更新数据库***的步骤的数据流;以及
-图8示意性地解说了根据各实施例的设备。
具体实施方式
图1解说了各实施例的实现的一般上下文。
提供了用于存储可由多个外部设备放置并检索的对象的数据库***100。数据库***可被实现为关系数据库或对象-关系数据库管理***(ORDBMS)。例如,ORDBMS可以是如由Oracle CorporationTM标记的***。
例如,数据库***100可存储由旅行代理计算机实现的管理***创建的PNR。
数据库包括用于存储对象(诸如PNR)及其与唯一标识符的关联的存储器单元101。例如,唯一标识符可以是记录定位符。
根据各实施例,存储器单元101仅存储到整个***中活跃的对象。在PNR的情形中,存储器单元101在存储器中将仅具有活跃的PNR。因此,一旦不再需要PNR(例如,它所代表的旅行终止),它就从存储器单元101中被移除。对象可根据任何其它机制被擦除或停用。此种机制可由外部PNR移除单元(未表示)来执行。由PNR移除单元进行的动作可由其后描述的控制单元150来触发。
存储器单元101仅包括活跃对象的事实使得根据对象与其唯一标识符之间的关联来确定唯一标识符是否可用于指派给另一对象成为可能。换句话说,因为存储器单元101仅包括活跃对象,可推断出,一旦唯一标识符与存储器单元101中的对象相关联,则它就不可用于另一对象。
数据库***100进一步包括索引单元102。索引单元102包括***中的所有唯一标识符的可用性状态的概述。***的每个唯一标识符在索引单元102中被标记为可用或不可用。
数据库***100进一步包括控制指针单元103。控制指针单元103包括指向索引单元102中的数据的指针。
数据库***100进一步通过通信网络(未表示)连接至可在和/或从数据库***中读和/写数据的若干设备。例如,通信网络是基于网际协议的网络。
事务管理单元110是连接至数据库***100的负责关于其中存储的对象对其进行更新的处理单元。在客户端设备请求之际,它就基于由客户端设备提供的信息(包括要与之管理的唯一标识符)来创建要被存储到存储器单元101中的对象。事务管理单元110还将所创建的对象传送给管理数据库***以供存储到存储器单元101中。事务管理单元110还可涉及数据库***100的存储器单元101中的对象的删除和/或修改。
唯一标识符通过连接至数据库***100的一个或多个标识符管理单元120、121、122被提供给客户端设备。标识符管理单元是可独立地访问数据库***100以读取数据的独立单元120、121、122(“后端”)。标识符管理单元120、121、122(“后端”)也可独立地被一个或多个客户端设备130、131、132访问以便获得唯一标识符。
使用唯一标识符的同步是通过连接至数据库***100的更新单元140来执行的。根据整个***的一般目标,在给定时间,一个唯一标识符应该不被指派给一个以上活跃对象。在标识符与两个或更多个活跃对象相关联的情况下,***中发生错误。根据各实施例,标识符可在不与对象相关联的情况下(类似预定)存在于***中:例如,在在它被有意滤除的情况下(例如,标识符表示坏字或者活跃对象尚未正式在***中)。
在示例性实施例中,更新单元140以批处理模式刷新唯一标识符的可用性状态。唯一标识符可用性的更新可由连接至更新单元140的控制单元150来管理。控制单元150可使用BMC softwareTM的Control-MTM工作负载自动化软件来实现。
在上述各实施例的实现的一般上下文中,客户端设备130、131、132连接至标识符管理单元120、121、122以获得与要被存储到数据库***中的对象相关联的唯一标识符。客户端设备130、131、132还连接至事务管理单元110用于基于由客户端设备提供的信息来创建所述对象并且用于将与唯一标识符相关联的对象存储到数据库***100中。
在下文中,将描述旅行管理***的示例。然而,本发明并不限于这种类型的应用。在对象要与唯一标识符相关联并且可用唯一标识符的数量有限的***中,各实施例具有其它类型的应用。
在下文中,唯一标识符可被称为“记录定位符”、“recloc”或“rloc”。各对象可被称为“PNR”。数据库***可被称为缩写“RDBMS”。
参照图2A和2B描述了根据各实施例的记录定位符。
记录定位符由有限数量的整数“RLC”来表示。例如,它们以基数34左填充以拟合6个字符来表达。因此:010=222 22234,110=222 22334...高达ZZZ ZZZ34。
有限记录定位符集逻辑上被分为页面P1、…、P5。每个页面可包括同样数量的记录定位符。它们还可包括不同数量的记录定位符。例如,每个页面包括16000个记录定位符。这些页面可被顺序编号。同样,例如,页面可以是毗邻的,也就是说,一个页面包括相继的记录定位符。替换地,这些页面可包括不毗邻的记录定位符。
在数据库***中,一些操作可处理整个页面。数据库***外的其它操作可处理单个记录定位符。
每个记录定位符可与表示其在***中的可用性的值相关联。例如,当记录定位符可用时,具有值“1”的位状态,而当它不可用时值为“0”。
在图2A中,记录定位符在有限段上表示,例如从222 222到ZZZ ZZZ。
然而,根据各实施例,记录定位符被表示为循环值,类似在图2B中。记录定位符是有限数量的并且是“翻滚”的:当“经过”最大数量时,数目从第一个数字重新开始。换句话说,资源定位符满足以下关系ZZZ ZZZ+222 223=222 222。紧邻最后一个记录定位符的记录定位符是第一个记录定位符。
因此,记录定位符在数量上是有限的,以循环方式排序并且根据页面来分类。它们还具有用于指示它们是否可用的使用特性。
图3示意性地解说了表示存储器单元101中的PNR的表。
表300具有存储PNR的第一列301。例如,仅在***中活跃的PNR被存储到该表中。替换地,数据结构可被用于区分活跃和不活跃的PNR。
第二列302存储记录定位符。因为表仅包含活跃PNR,该表中的记录定位符因此处于使用中并且不可用。在表区分活跃和不活跃PNR的情况下,该区分还应用于记录定位符。
因此,在表的每行303、304中,PNR是与唯一记录定位符唯一相关联的。
图4示意性地解说了索引表400,其表示存储器单元101中的记录定位符的可用性状态的概述(存储在单元102中的)。
记录定位符根据环形缓冲器来表示。
列401包括记录定位符的页面(“Pg”)。列402包括与列401中的相应页面相关联的表示每个页面中的每个记录定位符的可用性状态的位图(“BM”)。
值“1”表示可用的记录定位符。值“0”表示处于使用中并且不可用的记录定位符。另外声明,存储器单元101中存在的与活跃PNR相关联的记录定位符由与它所属的页面对应的位图中的值“0”来表示。在存储器单元101中没有记录定位符的情况下,它由“1”来表示。
在列401的每个位图中,记录定位符具有它在其所属的页面中具有的位置。另外声明,位图的第一个位对应于页面中的最低记录定位符,最后一个位对应于该页面中的最高记录定位符。
根据各实施例,对于索引表400中表示的给定页面而言,所有记录定位符都被使用。
这意味着位图的所有位都是有意义的。不论怎样,在分配过程期间,如果相应的记录定位符包含在存储器单元101(或任何类似的存储***)的表中,则标识符管理单元120、121、122可跳过一些位。由此,该表可包含该***不能出于技术和/或功能原因而生成的记录定位符。
图5A-5B示意性地解说了在控制指针单元103中存储的表500。
表500将指向页面的指针存储在索引表400中。行501表示指向特定页面的存储到索引表400中的指针。行502表示这些特定页面。
在一些实现中,表500可具有针对不同记录定位符范围的不同行。如图5A中表示的具有行和列的表500的组织允许行的此种添加和此类实现。
指针503(“B”针对“开始”)指向包括***中的经授权的记录定位符的第一页面。这意味着属于排在具有最低数字的页面与指针B所指页面之间的页面的记录定位符不能被使用。在该页面包括相继值的情况下,这意味着其值低于指针B所指页面中的第一记录定位符的值的记录定位符不能被使用。
指针504(“E“针对“结束”)指向包括***中的经授权的记录定位符的最后页面。这意味着属于排在指针E所指页面与具有最高数字的页面之间的页面或者属于指针E所指页面的记录定位符不能被使用。在该页面包括相继值的情况下,这意味着其值高于或等于指针E所指页面中的第一记录定位符的值的记录定位符不能被使用。
指针505(“R”针对“读取”)指向由标识符管理单元120、121、122加载的最后页面。
指针506(“W”针对“写”)指向刚好在由更新单元140更新的最后页面的后一页面。
如下文所述,标识符管理单元在逐页的基础上读取页面上的记录定位符。唯一标识符管理单元针对一个或多个给定客户端设备加载整个页面,这一个或多个给定客户端将被允许使用所加载页面的可用记录定位符。
实现规定指针R和W从不同时指向相同页面的控制规则。例如,这些控制规则可由标识符管理单元120、121、122来实现。它们还可由更新单元140来实现。
同样,规则规定了指针R所指页面正由唯一标识符管理单元使用(或加载)。
检查各指针以确定以下关系是否为真:R+1=W。这可被定期检查。这还可在每个页面被加载时检查。在指针R所指页面是刚好在指针W所指页面前一的页面的情况下,这意味着没有带有记录定位符的页面可用。PNR不能被创建知道PNR被停用并且更新管理单元用相应的记录定位符来更新页面。
还检查各指针以确定以下关系是否为真:W+1=R。在指针W所指页面是刚好在指针R所指页面之前的页面的情况下,这意味着所有页面都是最新的。因此,可确定不需要由更新单元140来更新。
图6是解说用于向客户端设备分配记录定位符的步骤的数据流。
在第一步骤600中,客户端设备130向唯一标识符管理单元120请求记录定位符。
接着,在步骤601中,唯一标识符管理单元120从控制指针单元103加载指针505指针值(“R”)。唯一标识符管理单元120随后在步骤602递增指针值。
指针值实际上不直接从控制指针单元被加载。“读”请求被定址到数据库***,该数据库***执行从控制指针单元读取值并将这些值发送回唯一标识符管理单元所需的处理。数据流出于清楚和简明起见被简化。
唯一标识符管理单元120在步骤605中将递增值存储到控制指针单元103中。
在步骤604中,唯一标识符管理单元120在索引单元102中加载与指针505对应的页面(在递增之后)。
数据库***实现并发控制规则,该控制规则使得确保指针R的值的加载、递增和存储是原子的(atomic)成为可能,即同一页面不能被两个不同的唯一标识符管理单元读取。作为示例,这些控制规则由关系数据库事务的“ACID”(“原子性、一致性、隔离、持久性”的首字母缩略词)性质来确保。
在没有页面可用的情况下,这些***返回错误(未表示)。
第一页面可被唯一标识符管理单元120在启动时加载。替换地,页面的首次加载可在收到第一请求时执行。在给定时间段期间或者直到页面中没有更多的记录定位符可用为止,标识符管理单元将所加载页面保持在存储器中。
例如,在旅行管理***中,所加载页面的有效期可以是12分钟。
唯一标识符管理单元120在每次它访问页面本身(用于寻找针对客户端设备的可用记录定位符)时检查它是否能将所加载页面保持在存储器中。
当与页面咨询时段对应的称为“页面有效期”的历时过去时或者当没有更多的记录定位符可用时(步骤606,否),唯一标识符管理单元120立即重新加载另一页面(步骤601到605)。
在已经向客户端设备分配了记录定位符之后,(在检查以上提交后)唯一标识符管理单元120还可重新加载页面。
加载整个页面,而非单个记录定位符使得确保可满足大多数请求而无需访问数据库成为可能。
在答复最后一个客户端设备之后但在接受客户端设备的下一请求之前,测试页面状态将响应时间保持较短(页面加载发生在请求的处理“之间”而非“期间”)。
一旦唯一标识符管理单元120在存储器中具有有效页面,则它在步骤606期间在其中查找可用记录定位符并且在步骤607期间将其返回(是)至客户端设备130。
在步骤608期间,唯一标识符管理单元120更新它已经加载的页面中的记录定位符的可用性状态。唯一标识符管理单元120不直接更新索引单元102(以避免数据库访问并且由此增加性能)。
***使得确保在更新单元140已经刷新了页面中的信息之前,没有其它唯一标识符管理单元能读取(现在过时)该页面成为可能。
处理没有结束,除非唯一标识符管理单元由操作者关闭。它们保持回答客户端设备的查询。
如果PNR创建完成,则在步骤610期间,其数据被存储到存储器单元101中。
客户端设备130用它从唯一标识符管理单元中检索的相关联记录定位符来确认创建PNR并且将相应的数据发送给事务管理单元110(步骤609)。随后,事务管理单元在步骤611期间将该数据发送给数据库并且在步骤610期间执行存储。
在以上过程中,指针R和W所指的页面肯定是不同的,因此在正由更新单元140当前读取的记录定位符上不可能发生数据库写。这确保由更新单元140访问数据库的正确性,即使它不锁定PNR。
图7是解说用于根据记录定位符对PNR的分配来更新数据库***的步骤的数据流。
该更新是由更新单元140独立于唯一标识符管理单元120、121、122的操作来执行的。
该更新是由单元150在步骤701期间触发的。
更新单元140随后在步骤702期间从控制指针单元103读取指针503到506(B、R、W、E)的值。
读取请求实际上不直接定址到控制指针单元。读取请求行进到数据库***,该数据库***执行从控制指针单元读取值以及将这些值发送回更新单元所需的处理。数据流出于清楚和简明起见被简化。
在启动之后,在步骤703期间,更新单元存储指针R的初始值。随后,在步骤704期间,它等待称为“页面有效期”的历时(对应于页面咨询时段)。页面历时时间与唯一标识符管理单元要保持这些页面的历时相同。
步骤704使得确保存储器中由唯一标识符管理单元加载的任何页面在该步骤结束处已经确定被使用或被丢弃成为可能。
随后,更新单元在步骤705期间从控制指针单元加载指针W的值并且在步骤706期间计算在相应页面中包含的记录定位符的框。
更新单元随后在步骤707期间查询数据库***关于这些记录定位符的可用性状态。更新单元检查记录定位符是否被存储到包括活跃PNR的存储器单元101中。
通过每页面使用一个查询,更新单元一次加载针对大量记录定位符的信息,由此减少了网络等待时间的数据库话务和影响。
一旦数据由数据库***返回,更新单元将其编码到页面中(步骤708)并将其存储到数据库的索引单元102中(步骤709)。最后,在步骤710中,更新单元递增指针W的值。在步骤711中,指针W的递增值随后被存储到控制指针单元103中。以上过程随后环回以处理另一页面。
在等待步骤704之前,更新单元在图7的过程的每次实现处规则地检查值W是否达到如(步骤703中)所存储的指针R的值,因为该点之后的页面可能仍由在先节点使用。
图8是用于本发明的一个或多个实施例的实现的设备800的示意性框图。以上描述的***的各个部件可具有与设备800相同的结构。
设备800包括通信总线,其被连接至:
标示为CPU的中央处理单元801,诸如微处理器;
标示为RAM的随机存取存储器802,用于存储本发明的实施例的方法的可执行代码,以及适配成记录用于实现根据实施例的方法所需的变量和参数寄存器,其存储器容量可由例如连接至扩展端口的可任选RAM来扩展。
标示为ROM的只读存储器803,用于存储用于实现本发明的实施例的计算机程序;
网络接口804,通常被连接至通信网络,要处理的数字数据可通过该通信网络被传送和接收。网络接口804可以是单个网络接口,或包括不同网络接口(例如,有线和无线接口,或不同种类的有线或无线接口)的集合。数据被写入到网络接口用于在运行在CPU软801中的件应用的控制下从该网络接口传输或读取以供接收;
用户接口805,用于从用户接收输入或向用户显示信息;
标示为HD的硬盘806
I/O模块807,用于从/向外部设备(诸如视频源或显示器)接收/发送数据
可执行代码可被存储到硬盘806或可移除数字介质(例如盘)上的只读存储器803中。根据变体,程序的可执行代码可藉由通信网络、经由网络接口804被接收,以便在被执行之前被存储到通信设备800的存储装置之一(诸如,硬盘806)中。
中央处理单元801被适配成控制可引导根据本发明的实施例的一个或多个程序的指令或各部分软件代码的执行,这些指令被存储到前述存储装置之一中。在通电后,在那些指令已经从例如程序ROM 803或硬盘(HD)806被加载后,CPU 801能够执行来自主RAM存储器802的与软件应用有关的指令。此种软件应用在由CPU 801执行时,导致执行根据实施例的方法的步骤。
尽管已经在附图和前面的描述中具体地解说和描述了本发明,但是此类解说和描述被认为是解说性的或者示例性的而非限制性的,本发明并不限于所公开的实施例。通过研究附图、公开和所附权利要求,本领域技术人员可在实践要求保护的发明时理解和实施所公开实施例的其他变体。
在权利要求中,单词“包括”不排除其他元素或步骤,并且不定冠词“一”或“一个”不排除复数。在相互不同的从属权利要求中陈述不同特征的纯粹事实并不表示不能有利地使用这些特征的组合。权利要求中的任何附图标记不应被解释为限制本发明的范围。
Claims (15)
1.一种用于将标识符与***中表示的对象相关联的***,其中,在给定时间,所述***的数据库中表示的给定对象与唯一标识符相关联,
所述***包括:
-数据库(100),所述数据库包括:
o被配置用于存储所述对象及其与所述标识符的相应关联的存储器单元(101),
o被配置用于存储所述***的所述标识符的可用性状态的索引单元(102),以及
o被配置用于将指向数据的指针(503、504、505、506)存储到所述索引单元中的控制指针单元(103);
-被配置用于访问所述数据库(100)的至少一个标识符管理单元(120、121、122);以及被配置用于更新所述***的所述标识符的所述可用性状态的至少一个更新单元(140),
其中:
-所述标识符属于根据标识符页面(P1、P2、P3、P4、P5)在所述索引单元(102)内组织的有限标识符集,
o每个页面由位图来表示
o其中所述位图的每个位对应于相应的标识符值,以及
-每个位值对应于所述相应的标识符的所述可用性,所述索引中的指向数据的所述指针至少包括
o指向由所述***的标识符管理单元(120、121、122)加载的最后页面的第一指针(505),以及
o指向由所述***的更新单元(140)更新的最后页面的第二指针(506),以及
其中:
-所述至少一个标识符管理单元(120、121、122)被进一步配置用于:
o基于所述第一指针(505)来加载(604)第一标识符页面,用于基于与所述第一所加载页面对应的位图来向要被存储到所述数据库中的对象分配所述标识符页面的标识符(610),以及
-所述至少一个更新单元(140)被进一步配置用于:
o基于所述第二指针(506)来确定(706)与第二标识符页面对应的标识符,
o访问(707)所述存储器单元以检查所确定的标识符的可用性,以及
-基于所述所确定的标识符的可用性来更新(708)表示所述第二所加载页面的位图,以及所述数据库被进一步配置用于:
o一旦对象在所述***中激活,就在所述存储器单元(101)中存储(610)所述对象及其所分配的标识符,以及
o一旦对象在所述***中停用,就从所述存储器单元(101)中删除所述对象及其所分配的标识符。
2.如权利要求1所述的***,其特征在于,所述至少一个标识符管理单元(120、121、122)被进一步配置用于在不超过最大页面有效期历时的历时之后,丢弃所述所加载的第一标识符页面。
3.如权利要求2所述的***,其特征在于,所述至少一个更新单元(140)被进一步配置用于在确定与所述第二标识符页面对应的标识符之前,等待(704)所述最大页面有效期历时。
4.如前述权利要求中任一项所述的***,其特征在于,标识符管理单元和更新单元中的至少一者被进一步配置用于检查所述第一指针和所述第二指针是否同时指向同一标识符页面。
5.如前述权利要求中任一项所述的***,其特征在于,所述标识符页面以循环方式被排序。
6.如权利要求5所述的***,其特征在于,在向要被存储到所述数据库中的对象分配标识符之前,检查所述指针以验证所述第二指针不正在指向与所述第一指针所指向的标识符页面相邻的所述标识符页面。
7.如权利要求5或6所述的***,其特征在于,在更新标识符页面的位图之前,检查所述指针以验证所述第一指针不正在指向与所述第二指针所指向的标识符页面相邻的标识符页面。
8.一种用于将标识符与***中表示的对象相关联的方法,其中,在给定时间,所述***的数据库中表示的给定对象与唯一标识符相关联,
所述***包括:
-数据库(100),所述数据库包括:
o被配置用于存储所述对象及其与所述标识符的相应关联的存储器单元(101),
o被配置用于存储所述***的所述标识符的可用性状态的索引单元(102),以及
o被配置用于将指向数据的指针(503、504、505、506)存储到所述索引单元中的控制指针单元(103)
-被配置用于访问所述数据库(100)的至少一个标识符管理单元(120、121、122),以及
-被配置用于更新所述***中的所述标识符的所述可用性状态的至少一个更新单元(140),
其中:
-所述标识符属于根据标识符页面(P1、P2、P3、P4、P5)在所述索引单元(102)内组织的有限标识符集,
o每个页面由位图来表示
o其中所述位图的每个位对应于相应的标识符值,以及
o每个位值对应于相应标识符的所述可用性,以及
-所述索引中的指向数据的所述指针至少包括
o指向由所述***的标识符管理单元(120、121、122)加载的最后页面的第一指针(505),以及
o指向由所述***的更新单元(140)更新的最后页面的第二指针(506);以及
所述方法包括由所述至少一个标识符管理单元(120、121、122)执行的以下步骤:
-基于所述第一指针(505)由所述至少一个标识符关联单元(120、121、122)加载(604)第一标识符页面,
-基于与所述第一所加载页面对应的位图来将所述标识符页面的标识符分配(607)给要被存储(610)到所述数据库中的对象,
所述方法包括由所述至少一个更新单元(140)执行的以下步骤:
-基于所述第二指针(506)来确定(706)与第二标识符页面对应的标识符,
-访问(707)所述存储器单元以检查所确定的标识符的可用性,以及
-基于所述所确定的标识符的可用性来更新(708)表示所述第二所加载页面的位图,以及
所述方法包括由所述数据库执行的以下步骤:
o一旦对象在所述***中激活,就在所述存储器单元(101)中存储(610)所述对象及其所分配的标识符,以及
o一旦对象在所述***中停用,就从所述存储器单元(101)中删除所述对象及其所分配的标识符。
9.如权利要求8所述的方法,其特征在于,所述至少一个标识符管理单元(120、121、122)进一步在不超过最大页面有效期历时的历时之后,丢弃所述所加载的第一标识符页面。
10.如权利要求9所述的方法,其特征在于,所述至少一个更新单元(140)进一步在确定与所述第二标识符页面对应的标识符之前,等待(704)所述最大页面有效期历时。
11.如权利要求8到10中任一项所述的方法,其特征在于,标识符管理单元和更新单元中的至少一者进一步检查所述第一指针和所述第二指针是否同时指向同一标识符页面。
12.如权利要求8到11中任一项所述的方法,其特征在于,所述标识符页面以循环方式被排序。
13.如权利要求12所述的方法,其特征在于,在向要被存储到所述数据库中的对象分配标识符之前,检查所述指针以验证所述第二指针不正在指向与所述第一指针所指向的标识符页面相邻的所述标识符页面。
14.如权利要求12或13所述的方法,其特征在于,在更新标识符页面的位图之前,检查所述指针以验证所述第一指针不正在指向与所述第二指针所指向的标识符页面相邻的标识符页面。
15.一种包括指令的计算机程序产品,当程序被加载并且被可编程装置执行时,所述指令用于实现根据权利要求8到14中任一项的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/479,880 | 2017-04-05 | ||
US15/479,880 US10289708B2 (en) | 2017-04-05 | 2017-04-05 | Management of unique identifiers in a database |
FR1752977A FR3065093B1 (fr) | 2017-04-05 | 2017-04-05 | Gestion d'identifiants uniques dans une base de donnees |
FR1752977 | 2017-04-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694230A true CN108694230A (zh) | 2018-10-23 |
CN108694230B CN108694230B (zh) | 2021-04-02 |
Family
ID=61763906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810311506.2A Active CN108694230B (zh) | 2017-04-05 | 2018-04-09 | 数据库中的唯一标识符的管理 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3385867B1 (zh) |
CN (1) | CN108694230B (zh) |
ES (1) | ES2764761T3 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446202A (zh) * | 2018-11-09 | 2019-03-08 | 上海达梦数据库有限公司 | 标识符分配方法、装置、服务器和存储介质 |
CN109491987A (zh) * | 2018-11-01 | 2019-03-19 | 恒生电子股份有限公司 | 数据管理方法与装置 |
CN113377636A (zh) * | 2021-06-07 | 2021-09-10 | 上海微盟企业发展有限公司 | 一种页面浏览量计算的方法、***、设备及可读存储介质 |
CN113544605A (zh) * | 2019-03-29 | 2021-10-22 | 西门子股份公司 | 自动配置自动化设备的方法、自动化设备、计算机程序和计算机可读的介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138442A1 (en) * | 2008-11-28 | 2010-06-03 | International Business Machines Corporation | Database access using partitioned data areas |
CN102609432A (zh) * | 2011-01-20 | 2012-07-25 | 富士施乐株式会社 | 文件管理装置和文件管理方法 |
US20150347589A1 (en) * | 2014-05-30 | 2015-12-03 | Amadeus S.A.S. | Content access in a travel management system |
-
2018
- 2018-04-03 EP EP18165366.8A patent/EP3385867B1/en active Active
- 2018-04-03 ES ES18165366T patent/ES2764761T3/es active Active
- 2018-04-09 CN CN201810311506.2A patent/CN108694230B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138442A1 (en) * | 2008-11-28 | 2010-06-03 | International Business Machines Corporation | Database access using partitioned data areas |
CN102609432A (zh) * | 2011-01-20 | 2012-07-25 | 富士施乐株式会社 | 文件管理装置和文件管理方法 |
US20150347589A1 (en) * | 2014-05-30 | 2015-12-03 | Amadeus S.A.S. | Content access in a travel management system |
Non-Patent Citations (1)
Title |
---|
YUAN SHI等: "Object Identifier Reuse Mechanism for TOTEM", 《22ND INTERNATIONAL CONFERENCE ON DATA ENGINEERING WORKSHOPS (ICDEW"06)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491987A (zh) * | 2018-11-01 | 2019-03-19 | 恒生电子股份有限公司 | 数据管理方法与装置 |
CN109446202A (zh) * | 2018-11-09 | 2019-03-08 | 上海达梦数据库有限公司 | 标识符分配方法、装置、服务器和存储介质 |
CN109446202B (zh) * | 2018-11-09 | 2021-08-17 | 上海达梦数据库有限公司 | 标识符分配方法、装置、服务器和存储介质 |
CN113544605A (zh) * | 2019-03-29 | 2021-10-22 | 西门子股份公司 | 自动配置自动化设备的方法、自动化设备、计算机程序和计算机可读的介质 |
US11669075B2 (en) | 2019-03-29 | 2023-06-06 | Siemens Aktiengesellschaft | Automation device, computer program, computer-readable medium and method for automatically configuring an automation device |
CN113377636A (zh) * | 2021-06-07 | 2021-09-10 | 上海微盟企业发展有限公司 | 一种页面浏览量计算的方法、***、设备及可读存储介质 |
CN113377636B (zh) * | 2021-06-07 | 2022-08-26 | 上海微盟企业发展有限公司 | 一种页面浏览量计算的方法、***、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
ES2764761T3 (es) | 2020-06-04 |
EP3385867B1 (en) | 2019-11-20 |
EP3385867A1 (en) | 2018-10-10 |
CN108694230B (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593337B2 (en) | Data processing method, device, and a storage medium | |
CN108694230A (zh) | 数据库中的唯一标识符的管理 | |
CA2436517C (en) | Method and apparatus for data processing | |
CN107608773B (zh) | 任务并发处理方法、装置及计算设备 | |
US8135688B2 (en) | Partition/table allocation on demand | |
US11487714B2 (en) | Data replication in a data analysis system | |
US7313572B2 (en) | Attribute partitioning for user extensibility | |
US20130318129A1 (en) | Systems and methods for asynchronous schema changes | |
CN108055343A (zh) | 用于机房的数据同步方法及装置 | |
CN103544153A (zh) | 一种基于数据库的数据更新方法和*** | |
CN106537350A (zh) | 用于处理数据处理***中的数据质量异常的方法 | |
CN101268439A (zh) | 数据库片段克隆和管理 | |
CN110399333B (zh) | 删除快照的方法、设备和计算机程序产品 | |
US20100030994A1 (en) | Methods, systems, and computer readable media for memory allocation and deallocation | |
US10311033B2 (en) | Alleviation of index hot spots in data sharing environment with remote update and provisional keys | |
WO2021147773A1 (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
JP5976779B2 (ja) | キャッシュメモリ構造および方法 | |
EP2662783A1 (en) | Data archiving approach leveraging database layer functionality | |
US10956385B2 (en) | Management of unique identifiers in a database | |
US10740323B1 (en) | Global uniqueness checking in distributed databases | |
CN115687359A (zh) | 数据表分区方法及装置、存储介质、计算机设备 | |
US20150100545A1 (en) | Distributed database system and a non-transitory computer readable medium | |
US20020138693A1 (en) | Method, apparatus and article of manufacture for managing a reusable linear access storage medium | |
US7146462B2 (en) | Storage management method | |
JP3296570B2 (ja) | ファイル転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |