《LINUX操作系统下的数据储存方法及其LINUX计算机系统.pdf》由会员分享,可在线阅读,更多相关《LINUX操作系统下的数据储存方法及其LINUX计算机系统.pdf(9页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102479111 A (43)申请公布日 2012.05.30 C N 1 0 2 4 7 9 1 1 1 A *CN102479111A* (21)申请号 201010575507.1 (22)申请日 2010.11.30 G06F 11/00(2006.01) (71)申请人英业达股份有限公司 地址中国台湾台北市士林区后港街六十六 号 (72)发明人孙佑良 (74)专利代理机构北京律诚同业知识产权代理 有限公司 11006 代理人陈红 (54) 发明名称 Linux操作系统下的数据储存方法及其 Linux计算机系统 (57) 摘要 本发明提供一种Linux操作系。
2、统下的数据储 存方法及Linux计算机系统。所述方法包含下列 步骤:判断共享内存是否处于使用状态。若否,则 由第一虚拟机器取得共享内存的使用权。使第一 虚拟机器基于使用权判断是否有第二虚拟机器处 于死机状态。若是,则使第一虚拟机器基于使用权 并根据死机状态,将第一虚拟机器与第二虚拟机 器分别储存于共享内存中的第一数据与第二数据 储存至储存装置中。 (51)Int.Cl. 权利要求书1页 说明书5页 附图2页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 5 页 附图 2 页 1/1页 2 1.一种Linux操作系统下的数据储存方法,其特征在于,包含下列。
3、步骤: (a)判断一共享内存是否处于一使用状态,若否,则执行步骤(b); (b)由一第一虚拟机器取得该共享内存的一使用权; (c)使该第一虚拟机器基于该经取得的使用权判断是否有一第二虚拟机器处于一死机 状态,若是,则执行步骤(d);以及 (d)使该第一虚拟机器基于该经取得的使用权并根据该死机状态,将该第一虚拟机器 与该第二虚拟机器分别储存于该共享内存中的一第一数据与一第二数据储存至一储存装 置中。 2.根据权利要求1所述的Linux操作系统下的数据储存方法,其特征在于,若步骤(a) 的判断结果为是,则执行下列步骤: (a1)等待一预定时间之后重新执行步骤(a)。 3.根据权利要求1所述的Lin。
4、ux操作系统下的数据储存方法,其特征在于,若步骤(c) 的判断结果为否,则步骤(c)进一步包含下列步骤: (d1)使该第一虚拟机器基于该经取得的使用权,将该第一虚拟机器储存于该共享内存 中的该第一数据储存至该储存装置中。 4.根据权利要求3所述的Linux操作系统下的数据储存方法,其特征在于,步骤(d1) 进一步包含下列步骤: (e1)在该第一数据储存于该储存装置之后,使该第一虚拟机器归还该使用权。 5.根据权利要求3所述的Linux操作系统下的数据储存方法,其特征在于,进一步包含 下列步骤: (e2)在该第一数据与该第二数据储存至该储存装置之后,使该第一虚拟机器归还该使 用权。 6.一种Li。
5、nux计算机系统,其特征在于,包含: 一共享内存,提供一使用权; 一第一虚拟机器,具有一第一数据,可储存于该共享内存中; 一第二虚拟机器,具有一第二数据,可储存于该共享内存中; 一储存装置;以及 一管理模块,用以于该第一虚拟机器取得该使用权时,允许该第一虚拟机器基于该使 用权将该第一数据储存至该储存装置,并用以于该第二虚拟机器处于一死机状态时,允许 该第一虚拟机器根据该死机状态将该第二数据储存至该储存装置。 7.根据权利要求6所述的Linux计算机系统,其特征在于,进一步包含: 一自旋锁模块,用以于该第一虚拟机器取得该使用权时标记该共享内存处于一使用状 态,并在该第一虚拟机器归还该使用权之后取。
6、消该使用状态。 8.根据权利要求7所述的Linux计算机系统,其特征在于,该管理模在该第一数据与该 第二数据储存至该储存装置之后,使该第一虚拟机器归还该使用权。 9.根据权利要求6所述的Linux计算机系统,其特征在于,进一步包含: 一状态记录模块,用以定期根据该第一虚拟机器与该第二虚拟机器的存活状态制作一 对照表,其中该管理模块允许该第一虚拟机器基于该使用权并根据该对照表判断该第二虚 拟机器处于该死机状态。 权 利 要 求 书CN 102479111 A 1/5页 3 Linux 操作系统下的数据储存方法及其 Linux 计算机系统 技术领域 0001 本发明是有关于一种Linux操作系统下。
7、的数据储存方法及其Linux计算机系统。 背景技术 0002 操作系统(Operation System,OS)相当于计算机设备中的中央处理器(Central Process Unit,CPU),是软件程序的心脏部位。各执行命令(command)与应用程序 (application program)等软件,都是透过操作系统来驱动使用计算机设备中的硬件组件, 如主机板、内存、硬盘、光驱、显示卡、声卡、网络卡、各类适配卡等等。 0003 当前个人或家庭的使用上,以微软的窗口操作系统(Microsoft Windows)以及麦 金塔的MacOS操作系统分庭抗礼。而在企业中所使用的计算机设备,必须肩负。
8、起庞大的数 据流量与高速运算性能,因此操作系统稳定性与作业性能为其重要考虑,除了发展已有数 十年历史的Unix操作系统以外,如今功能类似Unix操作系统的Linux操作系统,也逐渐被 企业青睐。 0004 Linux操作系统可以说是Unix操作系统的衍生物,在1991年10月左右由赫尔 辛基的某位程序员所设计,它继承了Unix操作系统良好稳定性的优点,再加上原始码的开 放,所以企业可针对不同的需求,量身打造合适的功能。而相关应用软件的发展也相当迅 速。如今,Linux操作系统已成为业界举足轻重的操作系统之一。 0005 Linux操作系统定位在网络操作系统,其操作方式不同于窗口接口,是以命令列。
9、的 方式由使用者键入命令数据来运作。对于熟悉图形环境的人来说,Linux乍看之下可能显 得原始。但是Linux操作系统的运作,关注的是它的内在功能而不是表面的东西。即使是 在纯文字的环境中,同样拥有非常先进的网络、脚本(script)与安全能力。Linux操作系统 是期望在网络上与其它系统协同执行这些任务。Linux操作系统的自动执行能力也很强,只 需要设计批处理文件档案,就可以让系统完成非常详细的任务。 0006 在现今网络盛行的时代,在Linux操作系统底下,使用者可针对需求在命令后加 上许多参数来完成许多不同的任务,Linux操作系统强大的网络管理性能无庸置疑。话虽 如此,但在异步写入数。
10、据部分,Linux操作系统尚有些待改进之处。异步写入是为了提升储 存装置效能的一个重要技术,其主要的功能是透过内存来加速储存装置的写入速度。现今 Linux操作系统下异步写入的作法是透过aio_write指令,配合内存分配特定内存区块来 使用快取加速写入数据,但是此作法在虚拟机器死机时,aio_writhe指令所用来作快取的 内存就会消失,造成储存装置写入数据的错误。 发明内容 0007 为解决已知技术的问题,本发明的一目的是提供一种Linux操作系统下的数据储 存方法,通过在新式虚拟机器中常见的多虚拟机共享同一内存区块的技术,提供一个平行 上使用的内存分配机制,让使用Linux操作系统作为虚。
11、拟操作系统(Guest OS)的虚拟机 器,具有如一般附上具有电池的高级磁盘阵列卡上的防止异步写入错误的功能,进而消除 说 明 书CN 102479111 A 2/5页 4 在无预警死机时,异步写入的错误。 0008 根据本发明一实施方式,一种Linux操作系统下的数据储存方法包含下列步骤。 判断共享内存是否处于使用状态。若否,则由第一虚拟机器取得共享内存的使用权。使第 一虚拟机器基于经取得的使用权判断是否有第二虚拟机器处于死机状态。若是,则使第一 虚拟机器基于经取得的使用权并根据死机状态,将第一虚拟机器与第二虚拟机器分别储存 于共享内存中的第一数据与第二数据储存至储存装置中。 0009 本发。
12、明的另一目的是提供一种Linux计算机系统。 0010 根据本发明另一实施方式,一种Linux计算机系统包含有共享内存、第一虚拟机 器、第二虚拟机器、储存装置以及管理模块。共享内存提供使用权。第一虚拟机器具有第一 数据。第一数据储存于共享内存中。其中第一虚拟机器取得使用权。第二虚拟机器具有第 二数据。第二数据储存于共享内存中。其中第二虚拟机器处于死机状态。管理模块用以允 许第一虚拟机器基于经取得的使用权将第一数据储存至储存装置,并根据死机状态将第二 数据储存至储存装置。 0011 本发明的Linux操作系统下的数据储存方法及其Linux计算机系统,主要通过在 新式虚拟机器中常见的多虚拟机共享同。
13、一内存区块的技术,提供一个平行上使用的内存分 配机制,让使用Linux操作系统作为虚拟操作系统(Guest OS)的虚拟机器,具有如一般附 上具有电池的高级磁盘阵列卡上的防止异步写入错误的功能,进而消除在无预警死机时, 异步写入的错误。 附图说明 0012 图1为绘示依照本发明一实施方式的Linux操作系统下的数据储存方法的步骤流 程图; 0013 图2为绘示依照本发明一实施方式的Linux计算机系统的示意图。 0014 【主要组件符号说明】 0015 1:Linux计算机系统 10:管理模块 0016 12:第一虚拟机器 120:第一私有内存区块 0017 14:第二虚拟机器 140:第二私。
14、有内存区块 0018 16:自旋锁模块 18:状态记录模块 0019 20:共享内存 22:储存装置 0020 S100S114:流程步骤 具体实施方式 0021 以下将以附图揭露本发明的数个实施方式,为明确说明起见,许多实务上的细节 将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就 是说,在本发明部分实施方式中,这些实务上的细节是非必要的。此外,为简化附图起见,一 些已知惯用的结构与组件在附图中将以简单示意的方式绘示之。 0022 本发明的一技术方案是一种Linux操作系统下的数据储存方法。更具体地说,其 主要通过在新式虚拟机器中常见的多虚拟机共享同一内存区块。
15、的技术,提供一个平行上使 用的内存分配机制,让使用Linux操作系统作为虚拟操作系统(Guest OS)的虚拟机器,具 说 明 书CN 102479111 A 3/5页 5 有如一般附上具有电池的高级磁盘阵列卡上的防止异步写入错误的功能,进而消除在无预 警死机时,异步写入的错误。 0023 请参照图1,其为绘示依照本发明一实施方式的Linux操作系统下的数据储存方 法的步骤流程图。 0024 如图1所示,若第一虚拟机器想要使用共享内存,则根据本实施方式的Linux操作 系统下的数据储存方法可以执行步骤S100。 0025 S100:判断共享内存是否处于使用状态。 0026 在Linux系统下进。
16、行异步写入的动作,若要避免竞速问题(亦即,共享内存同时被 多台虚拟机器写入所造成的数据覆盖错误),则必须先确定供所有虚拟机器使用的共享内 存是否有被任何一台虚拟机器占据使用,而且也必须确保共享内存在任何时刻最多只能供 一台虚拟机器使用。因此,根据本实施方式的Linux操作系统下的数据储存方法,在第一虚 拟机器要使用共享内存之前,必须先执行步骤S100。 0027 其中,若步骤S100的判断结果为是的话,则进一步执行步骤S102。 0028 S102:等待预定时间之后重新执行步骤S100。 0029 换言之,若步骤S100的判断结果为共享内存正在被某一台虚拟机器使用,则第一 虚拟计算机就不能使用。
17、了。若第一虚拟计算机要使用共享内存,就必须等正在使用共享内 存的那台虚拟机器使用完毕,因此可以等待预定时间之后再次确认共享内存是否已经未处 于使用状态。至于上述的预定时间并不受限,可以根据实际应用上的需求或限制而弹性地 改变。 0030 相对地,若步骤S100的判断结果为否的话,就代表目前没有任何虚拟计算机正在 使用共享内存,则第一虚拟机器想要使用共享内存,可进一步执行步骤S104。 0031 S104:由第一虚拟机器取得共享内存的使用权。 0032 当第一虚拟机器取得了共享内存的使用权之后,代表第一虚拟机器取得了使用共 享内存的主导权,其它虚拟机器并不能同时使用。若其它虚拟机器要使用共享内存。
18、,还是得 等第一虚拟机器使用完毕并归还使用权。 0033 此外,在Linux系统下进行异步写入的架构下,可能会发生某虚拟机器死机的情 况,若虚拟机器在取得使用权并使用共享内存时发生死机,则其原本在共享内存中正在使 用的数据可能还来不及储存于储存装置中,并随着虚拟机器的死机而消失。因此,根据本 实施方式的Linux操作系统下的数据储存方法,在第一虚拟机器取得共享内存的使用权之 后,可以再执行步骤S106。 0034 S106:使第一虚拟机器基于经取得的使用权判断是否有第二虚拟机器处于死机状 态。 0035 其中,若步骤S106的判断结果为是的话,则进一步执行步骤S108。 0036 S108:使。
19、第一虚拟机器基于经取得的使用权并根据死机状态,将第一虚拟机器与 第二虚拟机器分别储存于共享内存中的第一数据与第二数据储存至储存装置中。 0037 换句话说,在第一虚拟机器取得共享内存的使用权之后,根据步骤S106发现第二 虚拟机器处于死机状态,则第一虚拟机器即可根据第二虚拟机器的死机状态进入共享内存 中搜寻第二内存在死机前正在使用的第二数据。接着,第一虚拟机器即可根据步骤S108,基 于其所取得的所有权将正在共享内存中使用的第一数据储存至储存装置中,并根据第二虚 说 明 书CN 102479111 A 4/5页 6 拟机器的死机状态,替第二虚拟机器将其在死机前暂时储存于共享内存中的第二数据也一。
20、 起储存至储存装置中。 0038 在第一虚拟机器使用共享内存完毕(亦即,将第一虚拟机器的第一数据与第二虚 拟机器的第二数据都储存至储存装置)之后,根据本实施方式的Linux操作系统下的数据 储存方法,可以接着执行步骤S110。 0039 S110:在第一数据与第二数据储存至储存装置之后,使第一虚拟机器归还使用权。 0040 相对地,若步骤S106的判断结果为否的话,则代表在第一虚拟机器取得共享内存 的使用权之前,并没有任何虚拟机器发生死机,则可根据本实施方式的Linux操作系统下 的数据储存方法,继续执行步骤S112。 0041 S112:使第一虚拟机器基于经取得的使用权,将第一虚拟机器储存于。
21、共享内存中 的第一数据储存至储存装置中。 0042 换句话说,若第一虚拟机器基于使用权发现没有任何虚拟机器有发生死机的状 况,则第一虚拟机器就只要专注于处理其本身在共享内存中使用的第一数据即可,并在使 用完毕(亦即,将第一虚拟机器的第一数据储存至储存装置)之后,根据本实施方式的 Linux操作系统下的数据储存方法执行步骤S114。 0043 S114:在第一数据储存于储存装置之后,使第一虚拟机器归还使用权。 0044 本发明的另一技术方案是一种Linux计算机系统。 0045 请参阅图2,其为绘示依照本发明一实施方式的Linux计算机系统1的示意图。如 图2所示,本实施方式的Linux计算机系。
22、统1可包含有共享内存20、第一虚拟机器12、第二 虚拟机器14、储存装置22以及管理模块10。共享内存20可以提供使用权。当然,如上一 实施方式所述,在Linux系统下进行异步写入的动作,若要避免竞速问题,则必须确保共享 内存20的使用权在任何时刻最多只能供一台虚拟机器使用。 0046 如图2所示,本实施方式中,共享内存20的使用权由第一虚拟机器12取得。此 外,第一虚拟机器12包含有第一私有内存区块120。第一私有内存区块120可以用来暂时 储存第一虚拟机器12正在处理的第一数据,并且在取得共享内存20的所有权之后,第一虚 拟机器12的第一数据可进一步暂时储存于共享内存20中。第二虚拟机器1。
23、4包含有第二 私有内存区块140。第二私有内存区块140可以用来暂时储存第二数据。然而,于本实施方 式中,由于第二虚拟机器14处于死机状态,代表在第二虚拟机器14死机之前,第二虚拟机 器14的第二数据还暂时储存于共享内存20中。 0047 如图2所示,上述的管理模块10可以于第一虚拟机器12取得使用权时,允许第一 虚拟机器12基于使用权,将暂时储存于共享内存20中的第一数据储存至储存装置22,并于 第二虚拟机器14处于死机状态时,允许第一虚拟机器12根据死机状态,将暂时储存于共享 内存20中的将第二数据储存至储存装置22。借此,处于死机状态的第二虚拟机器14,在其 死机之前暂存于共享内存20中。
24、的第二数据即可通过第一虚拟机器12的协助而储存至储存 装置22中,第二数据就不会随着第二虚拟机器14的死机而消失。此外,上述的管理模可在 第一数据与第二数据储存至储存装置22之后,使第一虚拟机器12归还共享内存20的使用 权。 0048 如图2所示,本实施方式的Linux计算机系统1还可进一步包含有自旋锁模块16。 自旋锁模块16可以于第一虚拟机器12取得使用权时,标记共享内存20处于使用状态,使 说 明 书CN 102479111 A 5/5页 7 得其它虚拟机器无法同时使用共享内存20。并且,自旋锁模块16还可在第一虚拟机器12 归还使用权之后,将共享内存20的使用状态取消。后续,若有其它。
25、虚拟机器想使用共享内 存20,可同样重复先取得共享内存20的使用权的步骤,再透过自旋锁模块16标记共享内存 20处于使用状态。 0049 同样示于图2中,本实施方式的Linux计算机系统1还可进一步包含有状态记录 模块18。状态记录模块18可以用来定期根据第一虚拟机器12与第二虚拟机器14的存活 状态制作对照表。借此,管理模块10即可允许第一虚拟机器12基于使用权并根据定期更 新的对照表判断第二虚拟机器14处于死机状态。换句话说,第一虚拟机器12是通过状态 记录模块18所制作的对照表,判断第二虚拟机器14是否处于死机状态。 0050 于实际应用中,上述处于死机状态的第二虚拟机器14的数量并不以。
26、本实施方式 为限,只要是处于死机状态的虚拟机器,皆可视为本实施方式的第二虚拟机器14,并且取得 共享内存20的使用权的第一虚拟机器12,即可将所有处于死机状态的第二虚拟机器14储 存于共享内存20中的第二数据,进一步储存至储存装置22中。 0051 由以上对于本发明的具体实施例的详述,可以明显地看出,本发明的Linux操作 系统下的数据储存方法及其Linux计算机系统,主要通过在新式虚拟机器中常见的多虚拟 机共享同一内存区块的技术,提供一个平行上使用的内存分配机制,让使用Linux操作系 统作为虚拟操作系统(Guest OS)的虚拟机器,具有如一般附上具有电池的高级磁盘阵列卡 上的防止异步写入错误的功能,进而消除在无预警死机时,异步写入的错误。 0052 虽然本发明已以实施方式揭露如上,然其并非用以限定本发明,任何熟悉此技艺 者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当 视所附的权利要求书所界定的范围为准。 说 明 书CN 102479111 A 1/2页 8 图1 说 明 书 附 图CN 102479111 A 2/2页 9 图2 说 明 书 附 图CN 102479111 A 。