一种更新内存数据的方法、系统和装置的制作方法

文档序号:6480149阅读:131来源:国知局
专利名称:一种更新内存数据的方法、系统和装置的制作方法
技术领域
本发明涉及计算机网络技术领域,特别涉及一种更新内存数据的方法、 系统和装置。
背景技术
在现代通信技术中,数据库用于向应用服务器提供应用服务器需要的业 务数据,应用服务器通过访问数据库,更新和使用数据库中的数据,实现对 数据库的数据共享。
数据库中存储的数据大体可以分为两部分 一部分为数据库中变更不频 繁的数据,这部分数据很少进行更新,属于较为稳定的数据,数据库中这一 部分数据的数据量较少。另一部分则属于较不稳定的数据,该部分的数据经 常更新。应用服务器在使用数据库中的数据时,频繁读取数据库中的数据不 仅降低应用服务器的工作效率,影响读取数据的速度。
现有技术中,将应用服务器使用较为频繁的数据预先存储于应用服务器 的内存中,需要应用时直接调用自身内存中的数据使用。由于数据库中的数 据会变动,为了使内存中的数据与数据库中相应的数据保持同步,通常采用 对数据库进行定时查询,并对内存中的数据进行定时更新。
在实现本申请的过程中,发明人发现现有技术至少存在以下问题
每次查询后,都必须将数据库中的数据重新装入内存才行,然而,大多 数查询都是无效的查询,不需要同步数据,因此,每次查询都进行数据的同 步增加了应用服务器与数据库服务器的压力,降低工作效率。

发明内容
本申请实施例提供一种更新内存数据的方法、系统和装置,提高数据查询 的效率,降低应用服务器与数据库的负载,提高查询的有效性。为达到上述目的,本申请实施例一方面提供一种更新内存数据的方法,
统中,包括
所述应用服务器比较所述数据库中数据的第 一版本信息和所述应用服务 器内存中数据的第二版本信息;
当所述比较结果为所述第 一版本信息新于所述第二版本信息时,所述应 用服务器根据所述数据库更新所述内存中的数据,并更新所述第二版本信息 为所述第一版本信息,所述更新所述内存中的数据与更新所述第二版本信息 为所述第 一版本信息为原子性的操作。
其中,所述应用服务器获取所述数据库中数据的第一版本信息之前还包

设置与数据库中数据对应的版本信息;
根据所述应用服务器的需求对所述数据库中的数据进行更新,更新后的 数据为所述更新数据,并更新所述版本信息为所述第一版本信息,对所述数 据库中的数据进行更新与更新所述数据库中数据的版本信息为所述第 一版本 信息为原子性的操作。
其中,所述设置与所述数据库中数据对应的版本信息之后还包括
应用服务器查询所述数据库中的第 一版本信息。
其中,当所述比较结果为所述第 一版本信息与所述第二版本信息相同时, 结束对所述内存中的凄t据更新。
其中,当所迷比较结果为所述第一版本信息旧于所述第二版本信息时, 所述应用服务器重新获取所述第 一版本信息。
其中,更新所述第一版本信息和/或第二版本信息包括更新所述第一版本 信息和/或第二版本信息的次数项和操作项。
其中,所述应用服务器更新所述内存中的待更新数据,包括,
所述应用服务器#^居所述第一版本信息,查询所述数据库中与所述第一 版本信息对应的更新数据;
所述应用服务器获取所述数据库中与所述第 一版本信息对应的更新数据;
所述应用服务器根据所述获取的与所述第 一版本信息对应的更新数据, 更新所述内存中的待更新数据。
其中,所述应用服务器更新所述内存中的待更新数据后,如果更新所述 第二版本信息为所述第 一版本信息失败,则恢复所述内存中的数据为所述待 更新数据,应用服务器重新进行更新所述内存中的待更新数据和更新所述第 二版本信息为所述第 一版本信息。
一方面还提供一种更新内存数据的系统,包括
应用服务器,用于获取所述数据库中数据的第一版本信息、以及所述应 用服务器内存中数据的第二版本信息,比较所述数据库中的数据的第一版本 信息和所述应用服务器内存中数据的第二版本信息,当所述比较结果为所述 第一版本信息新于所述第二版本信息时,根据所述数据库更新所述内存中的 数据,并更新所述第二版本信息为所述第一版本信息,所述更新所述内存中 的数据与更新所述第二版本信息为所述第一版本信息为原子性的操作。
其中,还包括 版本信息设置设备,用于设置与所述数据库中数据对应的版本信息,根 据所述应用服务器的需求对所述数据库中的数据进行更新,更新后的数据为 所述更新数据,并更新所述版本信息为所述第一版本信息,对所述数据库中 的数据进行更新与更新所述数据库中数据的版本信息为所述第 一版本信息为 原子性的操作。
数据库,用于存储应用服务器所需的数据。 一方面还提供一种更新内存数据的应用服务器,包括 获取模块,用于获取数据库中数据的第一版本信息、以及在所述应用服 务器内存中的第二版本信息;
比较模块,用于比较所述数据库中数据的第 一版本信息和所述内存中数 据的第二版本信息;
更新模块,用于当所述比较结果为所述第一版本信息新于所述第二版本 信息时,根据所述数据库更新所述内存中的数据,并更新所述第二版本信息为所述第 一版本信息,所述更新所述内存中的数据与更新所述第二版本信息 为所述第 一版本信息为原子性的操作。
其中,还包括
查询模块,用于查询所述数据库中的第一版本信息。
其中,所述获取模块还用于当所述比较模块的比较结果为所述第 一版本 信息旧于所述第二版本信息的值时,重新获取所述数据库中对应于所述内存 数据的第一版本信息。
一方面还包括一种更新内存数据的版本信息设置设备,包括 设置模块,用于设置与数据库中数据对应的版本信息; 更新模块,用于根据所述应用服务器的需求对所述数据库中的数据进行 更新,并更新所述版本信息为所述第一版本信息,对所述数据库中的数据进 行更新与更新所述数据库中数据的版本信息为所述第 一版本信息为原子性的 操作。
与现有技术相比,本申请实施例具有以下优点通过本申请实施例可知, 查询数据的效率提高,降低了应用服务器与数据库的负载,提高查询的有效 性,并在数据更新的同时更新版本信息。


为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申 请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种内存数据更新的方法流程图; 图2是本申请实施例的一种内存数据更新的方法的具体流程图; 图3是本申请实施例的一种内存数据更新的方法的流程图; 图4是本申请实施例的 一种内存数据更新的方法的流程8图5是本申请实施例的 一种更新内存数据的系统结构示意图。
具体实施例方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例, 而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有 做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例才是供一种内存数据更新的方法,如图l所示,具体用于包括 具有内存的应用服务器和与应用服务器对应的数据库的系统中,包括,
步骤S101,应用服务器获取数据库中数据的第一版本信息、以及应用服 务器内存中数据的第二版本信息;
步骤S102,应用服务器比较数据库中数据的第一版本信息和应用服务器 内存中数据的第二版本信息;
步骤S103,当比较结果为第一版本信息新于第二版本信息时,应用服务 器根据数据库更新内存中的数据,并更新第二版本信息为第一版本信息,更 新内存中的数据与更新第二版本信息为第 一版本信息为原子性的操作。
通过本申请实施例可知,查询数据的效率提高,降低了应用服务器与数 据库的负载,提高查询的有效性,并在数据更新的同时更新版本信息。
本申请实施例提供一种内存数据更新的方法,如图2所示,包括, 步骤S201,在数据库中设置所存储的数据相对应的版本信息。数据库用 于存储应用服务器应用和共享的业务数据,在数据库设置一块预留的存储空 间,在该空间中设置信息记录,用于记录数据库中与应用服务器对应的数据 的版本信息。在实际应用中,可以具有以下几种情况
(1) 在某些情况下,如在局域范围内,单个凄史据库只为该范围内的其中 一台应用服务器提供业务数据,数据库中仅配置对应于该应用服务器的版本 信息。
(2) —个数据库可以向多台应用服务器提供业务数据,因此数据库中存储空间可以对应多个应用服务器,存储多个版本信息。不同版本信息用于标 识相应的应用服务器使用的业务数据。
例如,数据库向应用服务器A,应用服务器B,应用服务器C提供业务数 据共享,对应于上述应用服务器,数据库分别配置版本信息可以为al、 bl、 cl, 以数据库l为例,配置关系如下
应用服务器A -〉版本信息al;
应用服务器B -)版本信息bl;
应用服务器C —〉版本信息cl。 (3)对于一台应用服务器,也不局限于应用一台数据库中的业务数据, 也可以使用多个数据库中的业务数据,应用服务器对应的数据库对该应用服 务器分别配置版本信息,以应用力l务器A为例,配置关系如下
数据库l —〉版本信息al;
数据库2 -〉版本信息a2;
数据库3-〉版本信息a3。
综上所述,在一个数据库中可以包含与不同应用服务器相对应的多个版
本信息,对于一个应用服务器来说,也可以与不同的数据库相匹配。
步骤S202,查询数据库中对应于应用服务器内存的业务数据版本信息。
根据应用服务器的需求,数据库中存储的数据随时都会更新,数据库的
数据更新后,会将与此次更新相关的业务数据版本信息进行更新。 对数据库的数据进行更新具体为
应用服务器向数据库插入更新数据;
数据库根据该更新数据进行对原数据更新,并在更新完成后,更新对应 的版本信息。
更新版本信息包括更新版本信息的更新次数项和更新操作项,根据应用 服务器对业务数据的更新方式,对版本信息进行更新。
更新次数项为该版本信息被更新的次数,对次数项进行更新采用累加的 方式,即更新一次,该次数项加l。更新操作项为此次数据更新的具体操作。
例如,应用服务器A对数据库1的原数据进行更新后,增加了新的数据,
10对原版本信息"al"进行更新,更新后的版本信息为"al-l-A,,,其中-l表示 更新了1次,次数项+1, A表示此次更新操作为增加数据,即,操作项A(Add, 增加)。当更新操作为删除数据时,则操作项为D (Delete,删除)。或者, 如果只是对数据库中的原数据进行了修改,而没有增加或减少数据量,则操 作项为U (Update,刷新),对原数据进行了刷新。当一次更新对数据库进行 多次操作时,则次数项+1,操作项可以为M (Multi,多次),》务改时间表示 对数据库的修改时间,当数据库中这条记录发生变化时,更新数据的同时更 新这个时间。
存储于数据库中的信息记录,如下表所示
字段描述字段类型是否 可空描述
版本信息Data—versionNumber (15)N数据版本信息,顺序 递增
操作类型0p一typeVarchar2(1)NA-add (增加数据) D-delete(删除#t 据) U-update(更新凄t 据) M—more (—次才喿作多 条记录)
业务关联 键Biz_keyVarchar2 (256)Y根据此值从数据库 中获取数据中被更 新的数据,来增量更 新应用服务器的内 存
修改时间Gmt_modifiedTimestamp (6)N
更新数据操作和更新版本信息的操作是原子性的操作,即更新数据操作 后,紧接着进行更新版本信息的操作,二者之间不能被其他操作所打断。
查询数据库中对应于应用服务器内存的业务数据版本信息具体可以为 应用服务器在数据库的预留空间中查询与该应用服务器对应的版本信
ii息,获取该版本信息。该查询版本信息可以为定时查询,时间可以预先进行 设置。也可以为实时查询。
该获取版本信息具体可以为
应用服务器查询到相应的版本信息后,向数据库发送获取版本信息请求,
数据库根据该请求发送相应的版本信息,应用服务器接收该版本信息; 或,应用服务器查询到相应的版本信息后,直接获取该版本信息。 上述得到的数据库中相应数据的版本信息是通过得到包括该版本信息的
信息记录,提:f又该信息记录中的版本信息获得。
步骤S203,比较获取的版本信息与内存中数据的版本信息。在此将数据 库得到的版本信息设为第一版本信息,将应用服务器内存中原有的版本信息 设为第二版本信息。
如果第一版本信息新于第二版本信息,则转步骤S204;
如果第一版本信息旧于第二版本信息,则转步骤S205;
如果第一版本信息等于第二版本信息,即第一版本信息与第二版本信息 相同时,则转步骤S206。
在步骤S203中,应用服务器对数据库的相应数据的版本信息与内存中的 版本信息进行比较,该比较过程具体可以为 (1 )第一版本信息新于第二版本信息
数据库中的数据相对于内存中存储的数据,已经进行了更新,因此,需 要对内存中的数据进行更新,转步骤S204。
步骤S204,当第一版本信息新于第二版本信息时,对内存中的数据进行 更新,更新内存中数据的版本信息。
在此,内存中的数据的更新操作与内存中数据的版本信息更新的操作是 原子性的操作,即更新数据操作后,紧接着进行更新版本信息的操作,二者 之间不能被其他操作所打断。
进行数据更新具体为
应用服务器根据该得到的版本信息,向数据库请求更新与该版本信息相对应的数据,数据库根据该请求向应用服务器发送相对应的数据;
或,应用服务器根据得到的版本信息,直接从数据库中获取相应的数据。 应用服务器更新内存中的数据,包括,
应用服务器根据由数据库处得到的版本信息,查询数据库中与该版本信 息对应的数据;
应用服务器获取与该得到的版本信息对应的数据;
应用服务器根据获取与该得到的版本信息对应的数据,更新内存中的数据。
(2) 第一版本信息旧于第二版本信息
此种情况说明,数据库中的数据版本低于内存中数据的版本,由于内存 中的数据来源于数据库,因此内存中的版本信息应小于或等于数据库中的数 据版本信息,如果出现数据库中的数据版本高于内存中数据的版本的情况, 则说明获取的数据库的数据版本不正确或者原内存中的数据的版本有问题。 需要重新获取数据库中相应数据的版本信息,并检查内存中数据的版本信息, 转步骤S205,以避免数据库进行数据更新时,只更新了数据,却没有更新版 本信息,或内存中获取版本信息错误的情况。
步骤S205,获取的版本信息与内存中的版本信息不同,重新获取数据库 中相应数据的版本信息,并检查内存中数据的版本信息。
(3) 第一版本信息等于第二版本信息
此时,数据库中相应数据的版本与内存中的数据版本相同,不需要更新, 转步骤S206。
步骤S206,获取的版本信息与内存中数据的版本信息相同,结束对内存 中数据的更新。
应用服务器更新内存中的数据后,如果更新第二版本信息为第一版本信 息失败,则恢复内存中的数据,应用服务器重新进行更新内存中的数据,并 更新第二版本信息为第一版本信息。例如,在进行更新内存数据或版本信息 时,数据库与应用服务器之间的链接发生故障,则应用服务器可以在内存中 预先设置一个具有临时存储数据的空间,用以在更新数据与更新版本信息失败时,緩存已更新的数据部分。
在此可以在应用服务器内部设置一个定时装置,当应用服务器内存数据 更新失败后,在一个固定时间内内存没有进行更新时,恢复对内存中的数据 进行更新时,可以根据第 一版本信息重新从数据库中获取与第 一版本信息对 应的数据,将获取数据库中的数据与緩存中的数据结合,对应用服务器内存 中的数据重新进行更新。
在本申请实施例中,各步骤流程顺序可以根据实际情况进行相应调整。 通过本申请实施例可知,查询数据的效率提高,降低了应用服务器与数 据库的负载,提高查询的有效性,并在数据更新的同时更新版本信息。
如图3所示, 一种内存数据更新的方法实施例,包括,
1 、应用服务器A向数据库插入1条数据;数据库在对自身数据进行更新前, 应用服务器对数据库的数据进行修改,以应用服务器A为例,向数据库中插入 数据,该数据包括了需要更改的数据。
2、 数据库进行数据更新,同时更新数据的版本信息;根据应用服务器A 发送的数据,对数据库中的相应数据进行更新,并在进行数据更新后更新数 据的版本信息。
3、 应用服务器B获取版本信息,当数据库的版本信息比应用服务器B的版 本信息大1时,根据数据库的数据版本信息更新应用服务器B的内存中对应的 数据,同时将应用服务器B的版本信息更新为数据库的版本信息。当应用服务 器B需要更新自身的数据时,首先通过查询数据库的版本信息,根据该版本信 息判断是否需要对自身内存的数据进行更新。
其中应用服务器B可以为定时获取版本信息。
在本申请实施例中,各步骤流程顺序可以根据实际情况进行相应调整。 通过本申请实施例可知,查询数据的效率提高,返回的记录条数也仅仅
有一条,即版本信息,降低了应用服务器与数据库的负载,提高查询的有效
性,并在数据更新的同时更新版本信息。
在上述实施例中,应用服务器A也可以在一次数据更新时向数据库同时发
14送多条数据,这种内存数据更新的方法,包括,
1、 应用服务器A向数据库插入多条数据;数据库在对自身数据进行更新 前,应用服务器对数据库的数据进行修改,以应用服务器A为例,向数据库中 插入数据,该数据包括了需要更改的数据。
2、 数据库进行数据更新,同时更新数据的版本信息;根据应用服务器A 发送的数据,对数据库中的相应数据进行更新,并在进行数据更新后更新数 据的版本信息。
3、 应用服务器B获取版本信息,当数据库的版本信息比应用服务器B的版 本信息大l时,更新应用服务器B内存中所有的数据,同时将应用服务器B的版 本信息更新为数据库的版本信息。当应用服务器B需要更新自身的数据时,首 先通过查询数据库的版本信息,根据该版本信息判断是否需要对自身内存的 数据进行更新。
应用服务器更新内存中的待更新数据后,如果更新版本信息失败,则恢 复内存中的数据,应用服务器重新进行更新内存中的数据和更新版本信息。 在本申请实施例中,各步骤流程顺序可以才艮据实际情况进行相应调整。 通过本申请实施例可知,查询数据的效率提高,降低了应用服务器与数 据库的负载,提高查询的有效性,并在数据更新的同时更新版本信息。
如图4所示, 一种内存数据更新的方法,包括,
1、 应用服务器A向数据库插入1条数据;
2、 应用服务器B向数据库插入1条数据;数据库在对自身数据进行更新前, 应用服务器对数据库的数据进行修改,以应用服务器A和应用服务器B为例, 向数据库中插入数据,该数据包括了需要更改的数据。
3、 数据库进行数据更新,同时更新数据的版本信息;4艮据应用服务器A 和应用服务器B发送的数据,对数据库中的相应数据进行更新,并在进行数据 更新后更新数据的版本信息。
4、 应用服务器C获取版本信息,当数据库的版本信息比应用服务器C的版 本信息大2时,更新应用服务器C内存中所有的数据,同时将应用服务器C的版本信息更新为数据库的版本信息。当应用服务器C需要更新自身的数据时,首 先通过查询数据库的版本信息,根据该版本信息判断是否需要对自身内存的 数据进行更新。
应用服务器更新内存中的待更新数据后,如果更新版本信息失败,则恢 复内存中的数据,应用服务器重新进行更新内存中的数据和更新版本信息。 在本申请实施例中,各步骤流程顺序可以根据实际情况进行相应调整。 通过本申请实施例可知,查询数据的效率提高,降低了应用服务器与数 据库的负载,提高查询的有效性,并在数据更新的同时更新版本信息。
如图5所示,本申请实施例还提供一种更新内存数据的系统,包括 应用服务器510,用于获取数据库530中数据的第一版本信息、以及应用 服务器510内存中数据的第二版本信息,比较数据库530中的数据的第一版 本信息和应用服务器510内存中数据的第二版本信息,当比较结果为第一版 本信息新于第二版本信息时,根据数据库530更新内存中的数据,并更新第 二版本信息为第 一版本信息,更新内存中的数据与更新第二版本信息为第一 版本信息为原子性的操作。 其中,还包括
版本信息设置设备520,用于设置与所述数据库中数据对应的版本信息, 根据所述应用服务器的需求对所述数据库中的数据进行更新,并更新所述版 本信息为所述第一版本信息,对所述数据库中的数据进行更新与更新所述数 据库中数据的版本信息为所述第 一版本信息为原子性的操作。
数据库530,用于存储应用服务器所需的数据。
其中,应用服务器510,包括
获取模块511,用于获取数据库中数据的第一版本信息、以及在应用服务 器内存中的第二版本信息;
比较模块512,用于比较数据库中数据的第一版本信息和内存中数据的第 二版本信息;
更新模块513,用于当比较结果为第一版本信息新于第二版本信息时,根据数据库更新内存中的数据,并更新第二版本信息为第一版本信息,更新内 存中的数据与更新第二版本信息为第 一版本信息为原子性的操作。
其中,应用服务器510还包括
查询模块514,用于查询数据库中的第一版本信息。
查询模块514还用于当更新模块513更新内存中的数据时,根据第一版 本信息,查询数据库530中与第一版本信息对应的数据,获取模块511还用 于获取与第一版本信息对应的数据,更新模块513根据获取模块511获取的 与第一版本信息对应的数据,更新内存中的数据。
其中,获取模块511还用于当比较模块的比较结果为第一版本信息旧于 第二版本信息的值时,重新获取数据库中对应于内存数据的第 一版本信息。
上述版本信息设置设备520,包括
设置模块521,用于设置与数据库530中数据对应的版本信息;
更新模块522,用于根据应用服务器的需求对数据库530中的数据进行更 新,并更新版本信息为第一版本信息,对数据库530中的数据进行更新与更 新数据库530中数据的版本信息为第一版本信息为原子性的才喿作。
上述实施例中,第一版本信息为数据库中数据对应的版本信息,第二版 本信息为应用服务器内存中与数据对应的版本信息。
应用服务器更新内存中的待更新数据后,如果更新第二版本信息为第一 版本信息失败,则恢复内存中的数据为待更新数据,应用服务器重新进行更 新内存中的待更新数据和更新第二版本信息为第 一版本信息。
通过本申请实施例可知,查询数据的效率提高,降低了应用服务器与数
据库的负载,提高查询的有效性,并在数据更新的同时更新版本信息。
为了描述的方便,以上所述系统的各部分以功能分为各种模块或设备分 别描述。当然,在实施本发明时可以把各模块或设备的功能在同一个或多个 软件或^5更件中实现
上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以 合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。 基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软
件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬 盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服 务器,或者网络设备等)执行本申请各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的 模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述 进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一 个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆 分成多个子模块。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此, 任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
权利要求
1、一种更新内存数据的方法,具体用于包括具有内存的应用服务器和与所述应用服务器对应的数据库的系统中,其特征在于,包括所述应用服务器获取所述数据库中数据的第一版本信息、以及所述应用服务器内存中数据的第二版本信息;所述应用服务器比较所述数据库中数据的第一版本信息和所述应用服务器内存中数据的第二版本信息;当所述比较结果为所述第一版本信息新于所述第二版本信息时,所述应用服务器根据所述数据库更新所述内存中的数据,并更新所述第二版本信息为所述第一版本信息,所述更新所述内存中的数据与更新所述第二版本信息为所述第一版本信息为原子性的操作。
2、 如权利要求l所述的方法,其特征在于,所述应用服务器获取所述数 据库中数据的第 一版本信息之前还包括设置与数据库中数据对应的版本信息;根据所述应用服务器的需求对所述数据库中的数据进行更新,并更新所 述版本信息为所述第一版本信息,对所述凄t据库中的数据进行更新与更新所 述数据库中数据的版本信息为所述第 一版本信息为原子性的操作。
3、 如权利要求2所述的方法,其特征在于,所述设置与所述数据库中数 据对应的版本信息之后还包括应用服务器查询所述数据库中的第 一版本信息。
4、 如权利要求l所述的方法,其特征在于,当所述比较结果为所述第一 版本信息与所述第二版本信息相同时,结束对所述内存中的数据更新。
5、 如权利要求l所述的方法,其特征在于,当所述比较结果为所述第一 版本信息旧于所述第二版本信息时,所述应用服务器重新获取所述第一版本 信息。
6、 如权利要求1所述的方法,其特征在于,更新所述第一版本信息和/ 或第二版本信息包括更新所述第 一版本信息和/或第二版本信息的次数项和操 作项。
7、 如权利要求l所述的方法,其特征在于,所述应用服务器更新所述内 存中的数据,包括,所述应用服务器根据所述第 一版本信息,查询所述数据库中与所述第一版本信息对应的数据;所述应用服务器获取所述数据库中与所述第 一版本信息对应的数据; 所述应用服务器根据所述获取的与所述第 一版本信息对应的数据,更新所述内存中的数据。
8、 如权利要求1或7所述的方法,其特征在于,所述应用服务器更新所 述内存中的数据后,如果更新所述第二版本信息为所述第一版本信息失败, 则恢复所述内存中的数据,应用服务器重新进行更新所述内存中的数据,并 更新所述第二版本信息为所述第 一版本信息。
9、 一种更新内存数据的系统,其特征在于,包括应用服务器,用于获取所述数据库中数据的第一版本信息、以及所述应 用服务器内存中数据的第二版本信息,比较所述数据库中的数据的第 一版本 信息和所述应用服务器内存中数据的第二版本信息,当所述比较结果为所述 第一版本信息新于所述第二版本信息时,根据所述数据库更新所述内存中的 数据,并更新所述第二版本信息为所述第一版本信息,所述更新所述内存中 的数据与更新所述第二版本信息为所述第 一版本信息为原子性的操作。
10、 如权利要求9所述的系统,其特征在于,还包括版本信息设置设备,用于设置与所述数据库中数据对应的版本信息,根 据所述应用服务器的需求对所述数据库中的数据进行更新,并更新所述版本 信息为所述第一版本信息,对所述数据库中的数据进行更新与更新所述数据 库中数据的版本信息为所述第 一版本信息为原子性的操作。
11、 如权利要求9所述的系统,其特征在于,还包括数据库,用于存 储应用服务器所需的数据。
12、 一种更新内存数据的应用服务器,其特征在于,包括 获取模块,用于获取数据库中数据的第一版本信息、以及在所述应用服务器内存中的第二版本信息;比较模块,用于比较所述数据库中数据的第 一版本信息和所述内存中数据的第二版本信息;更新模块,用于当所述比较结果为所述第一版本信息新于所述第二版本 信息时,根据所述数据库更新所述内存中的数据,并更新所述第二版本信息 为所述第 一版本信息,所述更新所述内存中的数据与更新所述第二版本信息 为所述第 一 版本信息为原子性的操作。
13、 如权利要求12所述的应用服务器,其特征在于,还包括 查询模块,用于查询所述数据库中的第一版本信息。
14、 如权利要求13所述的应用服务器,其特征在于,所述查询模块还用 于当更新模块更新所述内存中的数据时,根据所述第一版本信息,查询所述 数据库中与所述第一版本信息对应的数据,获取模块还用于获取与所述第一 版本信息对应的数据,所述更新模块根据所述获取模块获取的与所述第一版 本信息对应的数据,更新所述内存中的数据。
15、 如权利要求12所述的应用服务器,其特征在于,所述获取模块还用 于当所述比4交模块的比较结果为所述第 一版本信息旧于所述第二版本信息的 值时,重新获取所述数据库中对应于所述内存数据的第 一版本信息。
16、 一种更新内存数据的版本信息设置设备,其特征在于,包括 设置模块,用于设置与数据库中数据对应的版本信息;更新模块,用于根据所述应用服务器的需求对所述数据库中的数据进行 更新,并更新所述版本信息为所述第一版本信息,对所述数据库中的数据进 行更新与更新所述数据库中数据的版本信息为所述第 一版本信息为原子性的 操作。
全文摘要
本申请公开了一种更新内存数据的方法、系统和装置,其中方法用于包括具有内存的应用服务器和与应用服务器对应的数据库的系统中,包括应用服务器获取数据库中数据的第一版本信息、以及应用服务器内存中数据的第二版本信息;应用服务器比较数据库中的数据的第一版本信息和应用服务器内存中数据的第二版本信息;当比较结果为第一版本信息新于第二版本信息时,应用服务器根据数据库更新内存中的数据,并更新第二版本信息为第一版本信息,更新内存中的数据与更新第二版本信息为第一版本信息为原子性的操作。通过本申请实施例可知,查询数据的效率提高,降低了应用服务器与数据库的负载,提高查询的有效性,并在数据更新的同时更新版本信息。
文档编号G06F17/30GK101464895SQ20091000091
公开日2009年6月24日 申请日期2009年1月21日 优先权日2009年1月21日
发明者于新林 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1