首页> 中国专利> 基于偏序关系的缓冲区版本产生方法

基于偏序关系的缓冲区版本产生方法

摘要

本发明公开了一种基于偏序关系的缓冲区版本产生方法,用在数据库集群系统中。当首次加载数据块到缓冲区时,该数据块为缓冲区版本,数据块的时间戳为缓冲区版本的时间戳;如果后续加载到缓冲区的数据块的时间戳大于缓冲区版本的时间戳,则将该数据块的时间戳作为缓冲区版本新的时间戳;在修改缓冲区完成之后,将数据库集群系统的时间戳更新为该新的时间戳。本发明可以确保同一个数据块的缓冲区版本在其生命周期内是单调更新的,并且无需为每一次版本的更新再与其它节点进行通讯,从而减少了数据库集群节点间的通信量,改善了数据库集群系统的性能。

著录项

  • 公开/公告号CN102314505A

    专利类型发明专利

  • 公开/公告日2012-01-11

    原文格式PDF

  • 申请/专利号CN201110263513.8

  • 申请日2011-09-07

  • 分类号G06F17/30(20060101);

  • 代理机构北京汲智翼成知识产权代理事务所(普通合伙);

  • 代理人陈曦;郭亚芳

  • 地址 100085 北京市海淀区上地西路8号院4号楼601室

  • 入库时间 2023-12-18 04:04:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-04-13

    授权

    授权

  • 2013-01-16

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20110907

    实质审查的生效

  • 2012-01-11

    公开

    公开

说明书

技术领域

本发明涉及一种数据库集群中缓冲区版本的产生方法,尤其涉及 一种基于偏序关系实现的数据库集群中缓冲区版本的产生方法,属于 数据库集群技术领域。

背景技术

随着经济的高速发展,用户数量、数据量呈现爆炸式增长。在用 户需求不断增长的应用环境下,对数据库技术提出了严峻的考验。对 于所有的数据库而言,除了记录正确的处理结果之外,还面临着以下 几方面的挑战:如何提高处理速度,实现数据库的负载均衡;如何保 证数据库的可用性、数据安全性以及如何实现数据集可扩展性。

为了应对上述技术挑战,人们借鉴计算机集群(将一组松散集成 的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作)的技 术理念,将多个数据库连接起来组成数据库集群系统。数据库集群系 统(Database Cluster System,简称DBCS)将集群技术与数据库系统 相结合,是一组完整的、自治的计算处理单元(节点),每个节点均有 独自的CPU、内存以及磁盘等硬件资源,运行独立的操作系统和自治 的数据库系统。各个节点通过高速专用网络或者商业通用网络互连, 彼此协同计算,作为统一的数据库系统提供并行事务处理服务。

在数据库集群系统中,由于多个数据库节点(简称节点)并行运 行,会导致多个节点都会读取或修改同一数据块,从而形成在整个数 据库集群系统中存在同一数据块的多个版本。为了保证多个版本的数 据块得到有效管理,防止节点访问过时的数据块,人们通常为数据块 添加一个新的属性,即数据块版本属性。当数据块加载到缓冲区后, 即称为缓冲区版本。为了保证多节点之间缓冲区版本的一致性,各节 点在产生缓冲区版本的过程中必须与其它节点通信,以产生内容完全 一致的缓冲区版本。在现有技术中,普遍采用集中控制的方法产生缓 冲区版本,即由一个版本控制器来统一管理缓冲区版本的产生,各个 节点向版本控制器申请新的缓冲区版本。这种方式的缺点在于一是通 信的开销比较大,二是版本控制器本身可能成为数据库集群系统的性 能瓶颈。

发明内容

针对现有技术所存在的不足,本发明所要解决的技术问题在于提 供一种基于偏序关系的缓冲区版本产生方法。使用该方法可以显著减 少数据库集群系统中各节点之间的通信量。

为实现上述的发明目的,本发明采用下述的技术方案:

一种基于偏序关系的缓冲区版本产生方法,用在数据库集群系统 中,其中,

当首次加载数据块到缓冲区时,所述数据块为缓冲区版本,所述 数据块的时间戳为缓冲区版本的时间戳;

如果后续加载到所述缓冲区的数据块的时间戳大于所述缓冲区版 本的时间戳,则将该数据块的时间戳作为所述缓冲区版本新的时间戳;

在修改所述缓冲区完成之后,将数据库集群系统的时间戳更新为 该新的时间戳。

当数据库集群系统中的节点读取所述缓冲区版本时,首先检查所 述缓冲区版本的时间戳,如果所述缓冲区版本的时间戳大于所述数据 库集群系统当前的时间戳,则将所述缓冲区版本的时间戳设置为所述 数据库集群系统新的时间戳。

当传送所述缓冲区版本到其它节点时,比较所述缓冲区版本的时 间戳与接收节点的时间戳,取其中较大者作为所述缓冲区版本新的时 间戳。

如果所述缓冲区版本的时间戳大于所述接收节点的时间戳,则将 所述缓冲区版本的时间戳作为所述接收节点新的时间戳。

本发明利用不同缓冲区版本之间的偏序关系,确保了同一个数据 块的缓冲区版本在其生命周期内是单调更新的,并且无需为每一次版 本的更新再与其它节点进行通讯,从而减少了数据库集群节点间的通 信量,改善了数据库集群系统的性能。

附图说明

下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明所提供的缓冲区版本产生方法中,确保缓冲区版本 偏序关系的操作流程图。

具体实施方式

在本发明所提供的缓冲区版本产生方法中,首先为每个数据块添 加一个新的属性,即数据块版本属性。该数据块版本属性用时间戳来 表示。数据库集群系统中的每个节点都可以设置自己的时间戳。每个 节点分别维护自己的时间戳,该时间戳随时间的变化而不断增大。同 一数据块的缓冲区版本单调增长,但不同数据块的缓冲区版本之间没 有关系。在整个数据库集群系统中,可以存在多个不同版本的数据块 缓冲区。其中,版本最大的缓冲区是最新版本,其它版本的缓冲区是 过期版本。过期版本可用于实现缓冲区的回朔操作。

当缓冲区只与单一节点的操作有关时,可以取该节点的当前时间 戳作为数据块的时间戳。当数据块首次被加载到缓冲区时,该数据块 即成为缓冲区版本,数据块的时间戳也成为缓冲区版本的时间戳。当 后续加载数据块到缓冲区时,若后续加载的数据块的时间戳大于缓冲 区版本当前的时间戳,则将该数据块的时间戳作为缓冲区版本新的时 间戳。在缓冲区修改完成后,更新其时间戳为数据库集群系统当前的 时间戳。当发生各个节点之间缓冲区的交换时,需要校正时间戳,防 止新的缓冲区版本时间戳小于旧的缓冲区版本时间戳,从而导致访问 过期的缓冲区。

为了解决这一问题,本发明引入了数学中的偏序关系概念。在数 学上,设R为非空集合A上的关系,如果R是自反的、反对称的和传 递的,则称R为A上的偏序关系。在本发明中,偏序关系可以理解为 两个缓冲区版本的时间戳之间“大于或等于”或者“小于或等于”之 类的顺序关系。因此,不同缓冲区版本在时间戳上存在偏序关系。

下面结合附图和具体实施例对本发明的具体实施步骤作进一步说 明,但该实施例并不能理解为对本发明的限定。

在某个基于共享磁盘的数据库集群系统中,包括4个数据库节点 和一个全局资源管理节点。其中,数据库节点指提供数据库服务的服 务器,接受用户的数据库查询请求,并返回结果,它属于数据库集群 系统的组成部分,可以有一个或多个;全局资源管理节点是指提供数 据库集群系统共享资源管理服务的节点,它是数据库集群系统的核心 组件。

当数据库集群系统中的节点从磁盘缓冲区中读取缓冲区版本时, 首先检查缓冲区版本的时间戳。若缓冲区版本的时间戳大于当前数据 库集群系统的时间戳时,则将缓冲区版本的时间戳设置为数据库集群 系统新的时间戳。当传送缓冲区版本到其它节点时,比较该缓冲区版 本的时间戳与接收节点的时间戳,取其中较大者作为缓冲区版本新的 时间戳,并将其作为接收节点新的时间戳。

下面以图1为例,详细说明访问数据块的过程中缓冲区版本的变 化情况。

在步骤101中,节点产生数据块访问事件,提出某一数据块(即 缓冲区版本)访问请求。在步骤102中,判断本地缓冲区中是否存在 此数据块:若存在包含此数据块的缓冲区,则跳转步骤103;若不存 在包含此数据块的缓冲区,则跳转步骤107;在步骤103,通过时间戳 判断此缓冲区版本是否是最新版本:若是最新版本,则跳转步骤104; 若不是最新版本,则跳转步骤108。

在步骤104中,进行访问数据块的相关操作;在步骤105中,判 断所访问的数据块是否被修改:若被修改,则跳转步骤106;若未修 改,则跳转步骤112;在步骤106中,鉴于此时的缓冲区版本为最新 版本,设置缓冲区版本的时间戳为数据库集群系统当前的时间戳,跳 转至步骤112,完成缓冲区的访问操作。

另一方面,在步骤107中,判断其它节点是否有此数据块:若存 在,则跳转步骤108;若不存在,则跳转步骤110。在步骤108中,向 其它节点请求传送最新版本的数据块,并接收到本地缓冲区;然后转 入步骤109。在步骤109中,判断缓冲区版本的时间戳是否大于数据 库集群系统当前的时间戳:若大于数据库集群系统当前的时间戳,则 跳转步骤111;否则跳转回步骤104。在步骤110中,从磁盘中读取数 据块到本地缓冲区,完成后跳转回步骤109。在步骤111中,将缓冲 区版本的时间戳设置为数据库集群系统新的时间戳,完成后跳转回步 骤104。

通过上述的操作步骤,可以保证同一个数据块的缓冲区版本在其 生命周期内是单调更新的(满足偏序关系的要求),并且无需为每一次 版本的更新再与其它节点进行通讯,只需要在传送页面时通讯一次即 可。

以上对本发明所提供的基于偏序关系的缓冲区版本产生方法进行 了详细的说明。对本领域的技术人员而言,在不背离本发明实质精神 的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权 的侵犯,将承担相应的法律责任。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号