书签 分享 收藏 举报 版权申诉 / 9

LINUX操作系统下的数据储存方法及其LINUX计算机系统.pdf

  • 上传人:e1
  • 文档编号:4252189
  • 上传时间:2018-09-12
  • 格式:PDF
  • 页数:9
  • 大小:458.56KB
  • 摘要
    申请专利号:

    CN201010575507.1

    申请日:

    2010.11.30

    公开号:

    CN102479111A

    公开日:

    2012.05.30

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的视为撤回IPC(主分类):G06F 11/00申请公布日:20120530|||公开

    IPC分类号:

    G06F11/00

    主分类号:

    G06F11/00

    申请人:

    英业达股份有限公司

    发明人:

    孙佑良

    地址:

    中国台湾台北市士林区后港街六十六号

    优先权:

    专利代理机构:

    北京律诚同业知识产权代理有限公司 11006

    代理人:

    陈红

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供一种Linux操作系统下的数据储存方法及Linux计算机系统。所述方法包含下列步骤:判断共享内存是否处于使用状态。若否,则由第一虚拟机器取得共享内存的使用权。使第一虚拟机器基于使用权判断是否有第二虚拟机器处于死机状态。若是,则使第一虚拟机器基于使用权并根据死机状态,将第一虚拟机器与第二虚拟机器分别储存于共享内存中的第一数据与第二数据储存至储存装置中。

    权利要求书

    1: 一种 Linux 操作系统下的数据储存方法, 其特征在于, 包含下列步骤 : (a) 判断一共享内存是否处于一使用状态, 若否, 则执行步骤 (b) ; (b) 由一第一虚拟机器取得该共享内存的一使用权 ; (c) 使该第一虚拟机器基于该经取得的使用权判断是否有一第二虚拟机器处于一死机 状态, 若是, 则执行步骤 (d) ; 以及 (d) 使该第一虚拟机器基于该经取得的使用权并根据该死机状态, 将该第一虚拟机器 与该第二虚拟机器分别储存于该共享内存中的一第一数据与一第二数据储存至一储存装 置中。
    2: 根据权利要求 1 所述的 Linux 操作系统下的数据储存方法, 其特征在于, 若步骤 (a) 的判断结果为是, 则执行下列步骤 : (a1) 等待一预定时间之后重新执行步骤 (a)。
    3: 根据权利要求 1 所述的 Linux 操作系统下的数据储存方法, 其特征在于, 若步骤 (c) 的判断结果为否, 则步骤 (c) 进一步包含下列步骤 : (d1) 使该第一虚拟机器基于该经取得的使用权, 将该第一虚拟机器储存于该共享内存 中的该第一数据储存至该储存装置中。
    4: 根据权利要求 3 所述的 Linux 操作系统下的数据储存方法, 其特征在于, 步骤 (d1) 进一步包含下列步骤 : (e1) 在该第一数据储存于该储存装置之后, 使该第一虚拟机器归还该使用权。
    5: 根据权利要求 3 所述的 Linux 操作系统下的数据储存方法, 其特征在于, 进一步包含 下列步骤 : (e2) 在该第一数据与该第二数据储存至该储存装置之后, 使该第一虚拟机器归还该使 用权。
    6: 一种 Linux 计算机系统, 其特征在于, 包含 : 一共享内存, 提供一使用权 ; 一第一虚拟机器, 具有一第一数据, 可储存于该共享内存中 ; 一第二虚拟机器, 具有一第二数据, 可储存于该共享内存中 ; 一储存装置 ; 以及 一管理模块, 用以于该第一虚拟机器取得该使用权时, 允许该第一虚拟机器基于该使 用权将该第一数据储存至该储存装置, 并用以于该第二虚拟机器处于一死机状态时, 允许 该第一虚拟机器根据该死机状态将该第二数据储存至该储存装置。
    7: 根据权利要求 6 所述的 Linux 计算机系统, 其特征在于, 进一步包含 : 一自旋锁模块, 用以于该第一虚拟机器取得该使用权时标记该共享内存处于一使用状 态, 并在该第一虚拟机器归还该使用权之后取消该使用状态。
    8: 根据权利要求 7 所述的 Linux 计算机系统, 其特征在于, 该管理模在该第一数据与该 第二数据储存至该储存装置之后, 使该第一虚拟机器归还该使用权。
    9: 根据权利要求 6 所述的 Linux 计算机系统, 其特征在于, 进一步包含 : 一状态记录模块, 用以定期根据该第一虚拟机器与该第二虚拟机器的存活状态制作一 对照表, 其中该管理模块允许该第一虚拟机器基于该使用权并根据该对照表判断该第二虚 拟机器处于该死机状态。

    说明书


    Linux 操作系统下的数据储存方法及其 Linux 计算机系统

        【技术领域】
         本发明是有关于一种 Linux 操作系统下的数据储存方法及其 Linux 计算机系统。背景技术 操作系统 (Operation System, OS) 相当于计算机设备中的中央处理器 (Central Process Unit, CPU), 是 软 件 程 序 的 心 脏 部 位。 各 执 行 命 令 (command) 与 应 用 程 序 (application program) 等软件, 都是透过操作系统来驱动使用计算机设备中的硬件组件, 如主机板、 内存、 硬盘、 光驱、 显示卡、 声卡、 网络卡、 各类适配卡等等。
         当前个人或家庭的使用上, 以微软的窗口操作系统 (Microsoft Windows) 以及麦 金塔的 MacOS 操作系统分庭抗礼。而在企业中所使用的计算机设备, 必须肩负起庞大的数 据流量与高速运算性能, 因此操作系统稳定性与作业性能为其重要考虑, 除了发展已有数 十年历史的 Unix 操作系统以外, 如今功能类似 Unix 操作系统的 Linux 操作系统, 也逐渐被 企业青睐。
         Linux 操作系统可以说是 Unix 操作系统的衍生物, 在 1991 年 10 月左右由赫尔 辛基的某位程序员所设计, 它继承了 Unix 操作系统良好稳定性的优点, 再加上原始码的开 放, 所以企业可针对不同的需求, 量身打造合适的功能。而相关应用软件的发展也相当迅 速。如今, Linux 操作系统已成为业界举足轻重的操作系统之一。
         Linux 操作系统定位在网络操作系统, 其操作方式不同于窗口接口, 是以命令列的 方式由使用者键入命令数据来运作。对于熟悉图形环境的人来说, Linux 乍看之下可能显 得原始。但是 Linux 操作系统的运作, 关注的是它的内在功能而不是表面的东西。即使是 在纯文字的环境中, 同样拥有非常先进的网络、 脚本 (script) 与安全能力。 Linux 操作系统 是期望在网络上与其它系统协同执行这些任务。 Linux 操作系统的自动执行能力也很强, 只 需要设计批处理文件档案, 就可以让系统完成非常详细的任务。
         在现今网络盛行的时代, 在 Linux 操作系统底下, 使用者可针对需求在命令后加 上许多参数来完成许多不同的任务, Linux 操作系统强大的网络管理性能无庸置疑。话虽 如此, 但在异步写入数据部分, Linux 操作系统尚有些待改进之处。异步写入是为了提升储 存装置效能的一个重要技术, 其主要的功能是透过内存来加速储存装置的写入速度。现今 Linux 操作系统下异步写入的作法是透过 aio_write 指令, 配合内存分配特定内存区块来 使用快取加速写入数据, 但是此作法在虚拟机器死机时, aio_writhe 指令所用来作快取的 内存就会消失, 造成储存装置写入数据的错误。
         发明内容 为解决已知技术的问题, 本发明的一目的是提供一种 Linux 操作系统下的数据储 存方法, 通过在新式虚拟机器中常见的多虚拟机共享同一内存区块的技术, 提供一个平行 上使用的内存分配机制, 让使用 Linux 操作系统作为虚拟操作系统 (Guest OS) 的虚拟机 器, 具有如一般附上具有电池的高级磁盘阵列卡上的防止异步写入错误的功能, 进而消除
         在无预警死机时, 异步写入的错误。
         根据本发明一实施方式, 一种 Linux 操作系统下的数据储存方法包含下列步骤。 判断共享内存是否处于使用状态。若否, 则由第一虚拟机器取得共享内存的使用权。使第 一虚拟机器基于经取得的使用权判断是否有第二虚拟机器处于死机状态。若是, 则使第一 虚拟机器基于经取得的使用权并根据死机状态, 将第一虚拟机器与第二虚拟机器分别储存 于共享内存中的第一数据与第二数据储存至储存装置中。
         本发明的另一目的是提供一种 Linux 计算机系统。
         根据本发明另一实施方式, 一种 Linux 计算机系统包含有共享内存、 第一虚拟机 器、 第二虚拟机器、 储存装置以及管理模块。共享内存提供使用权。第一虚拟机器具有第一 数据。第一数据储存于共享内存中。其中第一虚拟机器取得使用权。第二虚拟机器具有第 二数据。第二数据储存于共享内存中。其中第二虚拟机器处于死机状态。管理模块用以允 许第一虚拟机器基于经取得的使用权将第一数据储存至储存装置, 并根据死机状态将第二 数据储存至储存装置。
         本发明的 Linux 操作系统下的数据储存方法及其 Linux 计算机系统, 主要通过在 新式虚拟机器中常见的多虚拟机共享同一内存区块的技术, 提供一个平行上使用的内存分 配机制, 让使用 Linux 操作系统作为虚拟操作系统 (Guest OS) 的虚拟机器, 具有如一般附 上具有电池的高级磁盘阵列卡上的防止异步写入错误的功能, 进而消除在无预警死机时, 异步写入的错误。 附图说明
         图 1 为绘示依照本发明一实施方式的 Linux 操作系统下的数据储存方法的步骤流 图 2 为绘示依照本发明一实施方式的 Linux 计算机系统的示意图。 【主要组件符号说明】 1: Linux 计算机系统 10 : 管理模块 12 : 第一虚拟机器 120 : 第一私有内存区块 14 : 第二虚拟机器 140 : 第二私有内存区块 16 : 自旋锁模块 18 : 状态记录模块 20 : 共享内存 22 : 储存装置 S100 ~ S114 : 流程步骤程图 ;
         具体实施方式
         以下将以附图揭露本发明的数个实施方式, 为明确说明起见, 许多实务上的细节 将在以下叙述中一并说明。然而, 应了解到, 这些实务上的细节不应用以限制本发明。也就 是说, 在本发明部分实施方式中, 这些实务上的细节是非必要的。 此外, 为简化附图起见, 一 些已知惯用的结构与组件在附图中将以简单示意的方式绘示之。
         本发明的一技术方案是一种 Linux 操作系统下的数据储存方法。更具体地说, 其 主要通过在新式虚拟机器中常见的多虚拟机共享同一内存区块的技术, 提供一个平行上使 用的内存分配机制, 让使用 Linux 操作系统作为虚拟操作系统 (Guest OS) 的虚拟机器, 具有如一般附上具有电池的高级磁盘阵列卡上的防止异步写入错误的功能, 进而消除在无预 警死机时, 异步写入的错误。
         请参照图 1, 其为绘示依照本发明一实施方式的 Linux 操作系统下的数据储存方 法的步骤流程图。
         如图 1 所示, 若第一虚拟机器想要使用共享内存, 则根据本实施方式的 Linux 操作 系统下的数据储存方法可以执行步骤 S100。
         S100 : 判断共享内存是否处于使用状态。
         在 Linux 系统下进行异步写入的动作, 若要避免竞速问题 ( 亦即, 共享内存同时被 多台虚拟机器写入所造成的数据覆盖错误 ), 则必须先确定供所有虚拟机器使用的共享内 存是否有被任何一台虚拟机器占据使用, 而且也必须确保共享内存在任何时刻最多只能供 一台虚拟机器使用。因此, 根据本实施方式的 Linux 操作系统下的数据储存方法, 在第一虚 拟机器要使用共享内存之前, 必须先执行步骤 S100。
         其中, 若步骤 S100 的判断结果为是的话, 则进一步执行步骤 S102。
         S102 : 等待预定时间之后重新执行步骤 S100。
         换言之, 若步骤 S100 的判断结果为共享内存正在被某一台虚拟机器使用, 则第一 虚拟计算机就不能使用了。若第一虚拟计算机要使用共享内存, 就必须等正在使用共享内 存的那台虚拟机器使用完毕, 因此可以等待预定时间之后再次确认共享内存是否已经未处 于使用状态。至于上述的预定时间并不受限, 可以根据实际应用上的需求或限制而弹性地 改变。 相对地, 若步骤 S100 的判断结果为否的话, 就代表目前没有任何虚拟计算机正在 使用共享内存, 则第一虚拟机器想要使用共享内存, 可进一步执行步骤 S104。
         S104 : 由第一虚拟机器取得共享内存的使用权。
         当第一虚拟机器取得了共享内存的使用权之后, 代表第一虚拟机器取得了使用共 享内存的主导权, 其它虚拟机器并不能同时使用。 若其它虚拟机器要使用共享内存, 还是得 等第一虚拟机器使用完毕并归还使用权。
         此外, 在 Linux 系统下进行异步写入的架构下, 可能会发生某虚拟机器死机的情 况, 若虚拟机器在取得使用权并使用共享内存时发生死机, 则其原本在共享内存中正在使 用的数据可能还来不及储存于储存装置中, 并随着虚拟机器的死机而消失。因此, 根据本 实施方式的 Linux 操作系统下的数据储存方法, 在第一虚拟机器取得共享内存的使用权之 后, 可以再执行步骤 S106。
         S106 : 使第一虚拟机器基于经取得的使用权判断是否有第二虚拟机器处于死机状 态。
         其中, 若步骤 S106 的判断结果为是的话, 则进一步执行步骤 S108。
         S108 : 使第一虚拟机器基于经取得的使用权并根据死机状态, 将第一虚拟机器与 第二虚拟机器分别储存于共享内存中的第一数据与第二数据储存至储存装置中。
         换句话说, 在第一虚拟机器取得共享内存的使用权之后, 根据步骤 S106 发现第二 虚拟机器处于死机状态, 则第一虚拟机器即可根据第二虚拟机器的死机状态进入共享内存 中搜寻第二内存在死机前正在使用的第二数据。 接着, 第一虚拟机器即可根据步骤 S108, 基 于其所取得的所有权将正在共享内存中使用的第一数据储存至储存装置中, 并根据第二虚
         拟机器的死机状态, 替第二虚拟机器将其在死机前暂时储存于共享内存中的第二数据也一 起储存至储存装置中。
         在第一虚拟机器使用共享内存完毕 ( 亦即, 将第一虚拟机器的第一数据与第二虚 拟机器的第二数据都储存至储存装置 ) 之后, 根据本实施方式的 Linux 操作系统下的数据 储存方法, 可以接着执行步骤 S110。
         S110 : 在第一数据与第二数据储存至储存装置之后, 使第一虚拟机器归还使用权。
         相对地, 若步骤 S106 的判断结果为否的话, 则代表在第一虚拟机器取得共享内存 的使用权之前, 并没有任何虚拟机器发生死机, 则可根据本实施方式的 Linux 操作系统下 的数据储存方法, 继续执行步骤 S112。
         S112 : 使第一虚拟机器基于经取得的使用权, 将第一虚拟机器储存于共享内存中 的第一数据储存至储存装置中。
         换句话说, 若第一虚拟机器基于使用权发现没有任何虚拟机器有发生死机的状 况, 则第一虚拟机器就只要专注于处理其本身在共享内存中使用的第一数据即可, 并在使 用完毕 ( 亦即, 将第一虚拟机器的第一数据储存至储存装置 ) 之后, 根据本实施方式的 Linux 操作系统下的数据储存方法执行步骤 S114。
         S114 : 在第一数据储存于储存装置之后, 使第一虚拟机器归还使用权。
         本发明的另一技术方案是一种 Linux 计算机系统。
         请参阅图 2, 其为绘示依照本发明一实施方式的 Linux 计算机系统 1 的示意图。 如 图 2 所示, 本实施方式的 Linux 计算机系统 1 可包含有共享内存 20、 第一虚拟机器 12、 第二 虚拟机器 14、 储存装置 22 以及管理模块 10。共享内存 20 可以提供使用权。当然, 如上一 实施方式所述, 在 Linux 系统下进行异步写入的动作, 若要避免竞速问题, 则必须确保共享 内存 20 的使用权在任何时刻最多只能供一台虚拟机器使用。
         如图 2 所示, 本实施方式中, 共享内存 20 的使用权由第一虚拟机器 12 取得。此 外, 第一虚拟机器 12 包含有第一私有内存区块 120。第一私有内存区块 120 可以用来暂时 储存第一虚拟机器 12 正在处理的第一数据, 并且在取得共享内存 20 的所有权之后, 第一虚 拟机器 12 的第一数据可进一步暂时储存于共享内存 20 中。第二虚拟机器 14 包含有第二 私有内存区块 140。第二私有内存区块 140 可以用来暂时储存第二数据。然而, 于本实施方 式中, 由于第二虚拟机器 14 处于死机状态, 代表在第二虚拟机器 14 死机之前, 第二虚拟机 器 14 的第二数据还暂时储存于共享内存 20 中。
         如图 2 所示, 上述的管理模块 10 可以于第一虚拟机器 12 取得使用权时, 允许第一 虚拟机器 12 基于使用权, 将暂时储存于共享内存 20 中的第一数据储存至储存装置 22, 并于 第二虚拟机器 14 处于死机状态时, 允许第一虚拟机器 12 根据死机状态, 将暂时储存于共享 内存 20 中的将第二数据储存至储存装置 22。借此, 处于死机状态的第二虚拟机器 14, 在其 死机之前暂存于共享内存 20 中的第二数据即可通过第一虚拟机器 12 的协助而储存至储存 装置 22 中, 第二数据就不会随着第二虚拟机器 14 的死机而消失。此外, 上述的管理模可在 第一数据与第二数据储存至储存装置 22 之后, 使第一虚拟机器 12 归还共享内存 20 的使用 权。
         如图 2 所示, 本实施方式的 Linux 计算机系统 1 还可进一步包含有自旋锁模块 16。 自旋锁模块 16 可以于第一虚拟机器 12 取得使用权时, 标记共享内存 20 处于使用状态, 使得其它虚拟机器无法同时使用共享内存 20。并且, 自旋锁模块 16 还可在第一虚拟机器 12 归还使用权之后, 将共享内存 20 的使用状态取消。后续, 若有其它虚拟机器想使用共享内 存 20, 可同样重复先取得共享内存 20 的使用权的步骤, 再透过自旋锁模块 16 标记共享内存 20 处于使用状态。
         同样示于图 2 中, 本实施方式的 Linux 计算机系统 1 还可进一步包含有状态记录 模块 18。状态记录模块 18 可以用来定期根据第一虚拟机器 12 与第二虚拟机器 14 的存活 状态制作对照表。借此, 管理模块 10 即可允许第一虚拟机器 12 基于使用权并根据定期更 新的对照表判断第二虚拟机器 14 处于死机状态。换句话说, 第一虚拟机器 12 是通过状态 记录模块 18 所制作的对照表, 判断第二虚拟机器 14 是否处于死机状态。
         于实际应用中, 上述处于死机状态的第二虚拟机器 14 的数量并不以本实施方式 为限, 只要是处于死机状态的虚拟机器, 皆可视为本实施方式的第二虚拟机器 14, 并且取得 共享内存 20 的使用权的第一虚拟机器 12, 即可将所有处于死机状态的第二虚拟机器 14 储 存于共享内存 20 中的第二数据, 进一步储存至储存装置 22 中。
         由以上对于本发明的具体实施例的详述, 可以明显地看出, 本发明的 Linux 操作 系统下的数据储存方法及其 Linux 计算机系统, 主要通过在新式虚拟机器中常见的多虚拟 机共享同一内存区块的技术, 提供一个平行上使用的内存分配机制, 让使用 Linux 操作系 统作为虚拟操作系统 (Guest OS) 的虚拟机器, 具有如一般附上具有电池的高级磁盘阵列卡 上的防止异步写入错误的功能, 进而消除在无预警死机时, 异步写入的错误。 虽然本发明已以实施方式揭露如上, 然其并非用以限定本发明, 任何熟悉此技艺 者, 在不脱离本发明的精神和范围内, 当可作各种的更动与润饰, 因此本发明的保护范围当 视所附的权利要求书所界定的范围为准。
        

    关 键  词:
    LINUX 操作系统 数据 储存 方法 及其 计算机系统
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:LINUX操作系统下的数据储存方法及其LINUX计算机系统.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4252189.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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