专利名称:实时远程备份系统及方法
技术领域:
本发明涉及一种实时远程备份系统及方法,特别涉及一种能在数个LINUX计算机装置中动态备份变异档案的网络数据实时备份系统及方法。
背景技术:
目前因网络技术的突飞猛进,造就了许多网络设备(Internet Appliance)或称信息设备(Information Appliance)等新兴产品的问世,例如由磁盘阵列(RAID)所组成的网络储存器(NAS,Network Attached Storage)。此类网络储存器大多可用于直接连接网络系统,以供位于远程的使用者(来源端)计算机系统通过该网络系统下载大量数据储存至网络储存器。然而,此类网络储存器除了可作为该使用者计算机专属的数据储存,也可当作另一独立作业的远程备份系统(Remote Backup System)。但正因为该类网络储存器要能提供独立的远程备份能力,其内除要具备有暂存内存(RAM)或闪存(Flash ROM)、数个磁盘驱动器及IC控制器外,最重要的是要有嵌入专属的操作系统及应用程序,但该等操作系统及应用程序的内容大多依各厂商的需求不一而在设计上有所不同。
如市面已出现一种受欢迎的全自动网络备份软件(RSYNCSOFTWARE),它原始码是由一位名为Andrew Tridgell的人所撰写,但经由许多遍及世界各地的程序开发者所改进,现是隶属GNU通用公共授权(General Public License)下的一自由软件,其具有简单的安装特性及优异的快速备份功能。任何装设该RSYNC备份软件的计算机系统可以依需要选择性扮演一客户端(Client)或一伺服端(Server),或甚至同时具有客户端及伺服端两种角色。当两台装设有RSYNC软件的计算机系统如一客户端及一伺服端之间要进行备份作业时,会先依照同一特定备份数据演算逻辑(Rsync Algorithm)运算彼此间的档案数据确认(Checksum Test),往后此客户端只要设定一备份时间检查其内的档案数据确认,即可发掘档案中有发生异动的部份并仅将此部份备份至伺服端,而非每次总是传送整笔档案,藉此可以加快网络传送速度,提高备份效率。
为更强化前述RSYNC软件的备份效能,申请人认为能以下列方式达到当一具Linux作业环境的客户端计算机系统内有发生任何变动的档案事件时,立即将该发生变动的档案数据直接通知RSYNC软件进行备份,如此将使整体的备份速度更加快速,且不用每次到达约定的时间才进行档案异动运算及备份。但如要在具Linux作业环境的计算机系统内动态抓取任何档案变动的信息并自动通知该RSYNC软件,即需要重新改写其核心程序并要进行多次除错(debug),此对程序设计人员而言实非易事。
发明内容
为解决上述已知技术的问题,本发明的一主要目的在于提供一种实时远程备份系统及方法,用于多个具Linux作业环境的计算机系统之间,由于可动态侦测来源端计算机系统的应用层中的档案变动事件,并自动通知一网络备份软件如RSYNC只对档案中发生变动的部份加以备份至指定端计算机系统中,故每次备份皆能以较少的数据负载及处理达到快速网络传送并提高备份效率的目的。
本发明的次要目的在于提供一种实时远程备份系统及方法,可在多个具Linux作业环境的计算机系统之间,使一来源端计算机系统及一指定端计算机系统之间的档案更新趋近于同步(sync)。
本发明的再一目的在于提供一种实时远程备份系统及方法,可方便程序设计人员在无需重新改写Linux计算机系统中原有核心程序(Kernel)下,即可轻易地知道欲备份文件的变动信息。
为达到前述目的,本发明提供一种实时远程备份系统及方法运用于一网络系统中,且该网络系统至少连接一具Linux作业环境的来源端计算机系统及一具Linux作业环境的指定端计算机系统,其中每一计算机系统至少分成一核心层及一应用层。
前述实时远程备份系统包括一成对的网络备份单元、一核心加载模块及一工作排程模块。其中该对网络备份单元,可分别装设于前述指定端计算机系统及该来源端计算机系统中;该核心加载模块,位于该来源端计算机系统的核心层中,其具有一置换单元、一呼叫判断单元及一信息处理单元。当该来源端计算机系统中的应用层有发生任何档案变动事件时,该核心加载模块的置换单元事先在核心层置换的新系统呼叫,会在同时通知一核心作业程序与该核心加载模块有档案变动事件发生,并使该核心加载模块的呼叫判断单元判断此系统呼叫的类型,以决定是否使该信息处理单元相对产生一档案变动信息予该工作排程模块,该档案变动信息至少包括欲备份文件的名称及路径。
前述工作排程模块包括一排程处理单元、一排程管理单元及一队列单元,其中该排程处理单元与排程管理单元皆利用同一种期约运算逻辑来处置前述核心加载模块的信息处理单元所产生的档案变动信息,并据此产生一备份命令予前述该网络备份单元,其中该备份命令至少包括发生变动的档案路径。之后,该网络备份单元即可直接依据前述备份命令内所记载的档案路径,仅将档案中变动的部份经由该网络系统备份至该指定端计算机系统中存放,因此可使备分效率更高、网络传送速度更快。
此外,本发明进一步提供一种实时远程备份方法,运用于一网络系统中且该网络系统至少连接一具Linux作业环境的来源端计算机系统及一具Linux作业环境的指定端计算机系统,其中每一计算机系统至少分成一核心层及一应用层,前述方法包括以下步骤当该来源端计算机系统的应用层发生一档案变动事件时,即呼叫一对应的系统呼叫以通知该来源端计算机系统的一核心程序进行档案变动工作,其中该系统呼叫为一核心加载模块所设定并预先加载该核心层中与至少一原始系统呼叫置换;藉由该系统呼叫被呼叫,使前述核心加载模块迅速得知有档案变动事件,并判断出此系统呼叫的类型属于其预设的系统呼叫之一时,该核心加载模块会相对产生一档案变动信息,否则结束该核心加载模块,其中该档案变动信息至少包括档案发生变动的文件名称及路径;将前后产生的档案变动信息加以依序队列在一队列单元中;自该队列单元中依序取出每一档案变动信息加以处理以对应产生一备份命令,其中该备份命令至少包括发生变动的档案路径;以及该网络备份单元即可直接依据前述备份命令内所记载的档案路径,将档案中变动的部份经由该网络系统备份至该指定端计算机系统。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合附图,详细说明如下
图1是本发明较佳实施例的实时远程备份系统的主要架构图;图2是依据图1的实时远程备份系统的局部结构图;图3是依据本发明实施例的实时远程备份方法流程图。
其中,附图标记说明如下10 来源端计算机系统112 置换单元20 网络系统114 呼叫判断单元30 指定端计算机系统116 信息处理单元100 实时远程备份系统122 排程管理单元102 核心层 124 队列单元104 应用层 126 排程处理单元106 档案变动事件120 工作排程模块108 核心作业程序130,302网络备份单元109 系统呼叫110 核心加载模块具体实施方式
如图1所示,依据本发明较佳实施例的一实时远程备份系统100是运用于一网络系统20中,且该网络系统20至少连接一具Linux作业环境的来源端计算机系统10及一具Linux作业环境的指定端计算机系统30。每一计算机系统10及30皆分成一核心层(Kernel Space)102及一应用层(UserSpace)104,其中该核心层102分布有一核心作业程序(kernel)108。
前述实时远程备份系统100至少包括一核心加载模块(Loadable KernelModule)110,设置于该来源端计算机系统10的核心层102中,以侦测应用层104中有无发生特定档案变动事件(File Modification Events)106(细节待后详述);一工作排程模块120,设置于该来源端计算机系统10的应用层104中,用于将前述核心加载模块110传来的每一档案变动信息加以队列排程,藉使每一档案变动信息经处理后对应可产生一备份命令;一成对的网络备份单元130,302,如一对RSYNC备份软件,分别装设于前述来源端计算机系统10及该指定端计算机系统30的应用层104中,以指定成客户-伺服端关系。当该网络备份单元130接收前述工作排程模块120传来的备份命令时,即执行档案变动备份至该指定端计算机系统30的网络备份单元302存放。
请进一步参阅图2,前述核心加载模块110具有一置换单元112、一呼叫判断单元114及一信息处理单元116。其中该置换单元112用于事先将核心层102内特定的原始系统呼叫(System Calls)置换成一些自定的新系统呼叫109。事实上,每一系统呼叫为一种函数(function)并永久储存在一固定的内存中,当该来源端计算机系统10的应用层104发生档案变动事件如删除/储存档案、删除/建立目录、档案关闭时,必会呼叫相对应的系统呼叫以通知该核心作业程序108进行前述档案变动工作,是以通过更换此新的系统呼叫109,即可达到无需须改核心程序108又可快速获知档案变动事件的目的。当此新的系统呼叫109被呼叫时,会同时通知该核心加载模块110,使前述核心加载模块110迅速得知有档案变动的事件发生。此外,该实时远程备份系统100还可设计成具有一使用者接口(GUI)(未显示),其上设有一网络自动备份开关,以供使用者依需要选择启动或关闭网络自动备份功能。但当使用者关闭该网络自动备份功能时,该核心加载模块110的置换单元112会自动换回或称存回原始系统呼叫。
如上所述,当此新的系统呼叫109通知该核心加载模块110时,该核心加载模块110的呼叫判断单元114会先判断此新系统呼叫109是否属其预定的新系统呼叫之一,像是SYS_RMDIR,SYS_MKDIR,SYS_REMANE,SYS_LINK,SYS_CHMOD等;如果为″是″时,则由该信息处理单元116依据收到的系统呼叫,相对产生一档案变动信息予该工作排程模块120处理,其中该档案变动信息至少包括档案发生变动的文件名称及路径;反之,如果为″否″,则不予理会,结束该核心加载模块110。
前述工作排程模块120,包括一排程管理单元122、一队列单元(queue)124及一排程处理单元126,其中该排程管理单元122与排程处理单元126皆利用同一种期约运算逻辑(Scheduling Algorithm)处置前述核心加载模块110的信息处理单元116所产生的档案变动信息,而前述期约运算逻辑的运算模式又必须与前述网络备份单元130的运算逻辑协同(Coordination),方能确保多笔数据在分别处理/传递时不会有遗漏的意外发生。利用前述期约运算逻辑,前述该排程管理单元122可将收到的前后信息依序填入(Cramming)该队列单元124中,以及该排程处理单元126依序自该队列单元124中取出每一档案变动信息加以处理,以对应产生一备份命令予该网络备份单元130,令该网络备份单元130开始执行备份工作,该备份命令至少包括档案发生变动的路径。事实上,前述该排程处理单元126与该排程管理单元122各自包含一些特定的执行线程(Threads),其中至少一执行线程用于定义一可调整的最佳工作时间间隔(Optimized Time Interval),以限定及协调该两单元122,126在该队列单元124中放入/取得前后信息及传送命令的工作。对于本领域的普通技术人员而言,若将该两单元122及126合并成同一单元仍属本发明的范畴。
一旦该网络备份单元130直接收到前述工作排程模块120传来有关备份文件异动的命令时,即依据该命令中所提供的变动档案的路径,在该来源端计算机系统10中执行档案数据确认(Checksum Test),以比对出该来源端计算机系统10及指定端计算机系统30两者档案间的差异,之后仅将档案其中变动的部份通过网络系统20传予该指定端计算机系统30存放。
因为本发明的实时远程备份系统100是采动态性地截取每一发生变动的档案信息,再将该档案变动信息直接转予网络备份单元130处理,而非如已知技术是以约定备份时间或人为指定该网络备份单元130运算整个该来源端计算机系统10以找出所有发生变动的档案且一次备份完成,因此可使网络备分效率更高,且避免网络壅塞、网络传送速度更快。
此外,图3为依据本发明图1及图2所实施的一实时远程备份方法,其步骤如下首先进行步骤60,即将核心程序中至少一原始系统呼叫预置成该核心加载模块110所设定的一新系统呼叫109。
接着步骤61,即当该来源端计算机系统10的应用层104发生一档案变动事件如删除/储存档案、删除/建立目录、档案关闭时,即进行步骤62,即呼叫一对应的(预置)系统呼叫109,藉以通知核心层102中的核心作业程序108进行步骤64,即进行前述档案变动工作。
接着步骤65,当此系统呼叫109被呼叫时,亦会同时通知该核心加载模块110的呼叫判断单元114,使前述核心加载模块110迅速得知有档案变动的事件发生。
步骤70,该核心加载模块110的呼叫判断单元114判断此系统呼叫109是否属于其预设的系统呼叫之一,像是SYS_RMDIR,SYS_MKDIR,SYS_REMANE,SYS_LINK,SYS_CHMOD等;如果为″是″时,则进行步骤72,由该信息处理单元116依据该系统呼叫109,相对产生一档案变动信息予该工作排程模块120,其中该档案变动信息至少包括档案发生变动的文件名称及路径;反之,如果为″否″,则进行步骤74,则结束。
步骤76,前述工作排程模块120将收到的前后信息依序队列至一队列单元124中。
步骤80,前述工作排程模块120自该队列单元124中依序取得的档案变动信息,对应产生一备份命令予该网络备份单元130,使该网络备份单元130开始执行备份工作,该命令至少包括发生变动的档案路径。
步骤85,该网络备份单元130收到前述工作排程模块120传来有关备份文件异动的备份命令时,依据该备份命令中所提供的变动档案的路径,在该来源端计算机系统10中执行档案数据确认(Checksum Test),以比对出该来源端计算机系统10及指定端计算机系统30两者档案间的差异,之后仅将档案其中变动的部份通过网络系统20传予该指定端计算机系统30存放。本发明的一实时远程备份系统100并不限于本实施例中的一对一的网络架构,亦可运用在一对多的网络架构或多对多的网络架构中。
因此,本发明的实时远程备份方法是采用动态性地截取每一发生变动的档案信息,即将该档案变动信息直接转予网络备份单元130处理,而非如已知技术是以事先约定的备份时间或人为指定该网络备份单元运算整个该来源端计算机系统,找出所有发生变动的档案后一次备份完成,因此可使备分效率更高,避免网络壅塞,故使网络传送速度更快。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域的普通技术人员,在不脱离本发明的精神和范围内,可做一些更动与润饰。
权利要求
1.一种实时远程备份系统,运用于一网络系统中且该网络系统至少连接一来源端计算机系统及一指定端计算机系统,其中每一计算机系统至少分成一核心层及一应用层,且该实时远程备份系统包括一核心加载模块,于该来源端计算机系统的核心层中预设至少一自定的系统呼叫,当该来源端计算机系统的应用层内发生一档案变动事件时,使该系统呼叫通知该核心加载模块对应产生一档案变动信息;一工作排程模块,将该核心加载模块传来的档案变动信息加以队列排程,并依序处理每一档案变动信息以产生一对应备份命令;以及至少一网络备份单元,装设于该来源端计算机系统中,当该来源端计算机系统的网络备份单元接收到该工作排程模块传来的备份命令时,直接依此命令提供的档案信息,将档案中变动的部份经由网络系统备份至该指定端计算机系统内存放。
2.如权利要求1所述的实时远程备份系统,其中该核心加载模块进一步具有一置换单元,将自定的系统呼叫与该来源端计算机系统中原始的系统呼叫作置换。
3.如权利要求2所述的实时远程备份系统,其中该核心加载模块进一步具有一使用者接口,其上设有一网络自动备份开关,可依使用者依需要选择启动或关闭网络自动备份功能,其中当网络自动备份功能关闭时,该核心加载模块的置换单元会自动换回该原始系统呼叫。
4.如权利要求1所述的实时远程备份系统,其中该核心加载模块进一步具有一呼叫判断单元,判断该系统呼叫的类型是否属于其预设的系统呼叫范围之一,以决定是否对应产生一档案变动信息;以及一信息处理单元,依据该呼叫判断单元对的判断结果,相对产生一档案变动信息予该工作排程模块。
5.如权利要求1所述的实时远程备份系统,其中该档案变动信息至少包括档案发生变动的文件名称及路径。
6.如权利要求1所述的实时远程备份系统,其中该工作排程模块进一步包括一队列单元,用于依序队列收容该核心加载模块传来的档案变动信息。
7.如权利要求6所述的实时远程备份系统,其中该工作排程模块进一步包括一排程管理单元,将前后信息依序放入该队列单元中,以及一排程处理单元,自该队列单元中依序取出前后信息并据此传送对应的备份命令。
8.如权利要求7所述的实时远程备份系统,其中该排程管理单元及该排程处理单元皆使用相同于同一种运算逻辑。
9.如权利要求8所述的实时远程备份系统,其中该排程管理单元与该排程处理单元使用的运算逻辑与该网络备份单元的一运算逻辑协同,以确保数据在分别处理时不会有遗漏。
10.如权利要求9所述的实时远程备份系统,其中该排程处理单元与排程管理单元分别具有至少一特定的执行线程,以定义一可调整的最佳工作时间间隔。
11.如权利要求1所述的实时远程备份系统,其中该备份命令中的档案信息至少包括档案发生变动的路径。
12.如权利要求1所述的实时远程备份系统,其中该指定端计算机系统进一步设有另一网络备份单元用于接收来源端计算机系统传来的备份数据。
13.一种实时远程备份系统,装设于一来源端计算机系统中,且该来源端计算机系统经由一网络系统至少连接一指定端计算机系统,其中每一计算机系统至少具有一核心层以放置一核心程序,及一应用层以放置一网络备份单元,且该实时远程备份系统包括一核心加载模块,于该来源端计算机系统的核心层中预设至少一自定的系统呼叫,当该来源端计算机系统的应用层内发生一档案变动事件,而使该系统呼叫通知该核心程序处理时,该核心加载模块同时会依该系统呼叫的类型决定是否对应产生一档案变动信息;以及一工作排程模块,将该核心加载模块传来的档案变动信息加以队列排程,并依序处理每一档案变动信息以对应传送一备份命令予该来源端计算机系统的网络备份单元,使该网络备份单元备份经由该网络系统备份变动的档案数据至该指定端计算机系统内存放。
14.如权利要求13所述的实时远程备份系统,其中该档案变动信息至少包括档案发生变动的文件名称及路径。
15.如权利要求13所述的实时远程备份系统,其中该备份命令至少包括档案发生变动的路径。
16.一种实时远程备份方法,运用于一网络系统中且该网络系统至少连接一来源端计算机系统及一指定端计算机系统,其中每一计算机系统至少分成一核心层及一应用层,该方法包括当该来源端计算机系统的应用层发生一档案变动事件时,即呼叫一对应的系统呼叫以通知该来源端计算机系统的一核心程序进行档案变动工作,其中该系统呼叫为一核心加载模块所设定并预先加载该核心层中;藉由该系统呼叫被呼叫,使该核心加载模块迅速得知有档案变动事件,因而判断此系统呼叫的类型,以决定是否相对产生一档案变动信息;将前后产生的档案变动信息加以依序队列在一队列单元中;自该队列单元中依序取出每一档案变动信息加以处理以对应产生一备份命令;以及该网络备份单元依据该备份命令,将档案中变动的部份经由该网络系统备份至该指定端计算机系统。
17.如权利要求16所述的实时远程备份方法,其中该档案变动信息至少包括档案发生变动的文件名称及路径。
18.如权利要求16所述的实时远程备份方法,其中该备份命令至少包括发生变动的档案路径。
19.如权利要求16所述的实时远程备份方法,其中当该核心加载模块判断此系统呼叫属于其预设的系统呼叫之一时,该核心加载模块会相对产生一档案变动信息,否则结束该核心加载模块。
全文摘要
本发明公开了一种实时远程备份系统及方法,适用于一至少连接来源端计算机系统及指定端计算机系统的网络系统中。该实时远程备份系统包括一网络备份单元、一核心加载模块及一工作排程模块;当该来源端计算机系统的应用层发生任何档案变动事件时,该核心加载模块事先在核心层内置换的新系统呼叫会同时通知一核心作业程序与该核心加载模块,使该核心加载模块相对产生一档案变动信息予该工作排程模块。该工作排程模块将收到的每一档案变动信息加以队列及处理以对应产生一备份命令予该网络备份单元。该网络备份单元直接依据该备份命令内所记载的档案路径,将档案中变动的部分经该网络系统备份至该指定端计算机系统,使备分效率更高、网络传送速度更快。
文档编号H04B1/74GK1642085SQ20041000284
公开日2005年7月20日 申请日期2004年1月17日 优先权日2004年1月17日
发明者吴祉松 申请人:威达电股份有限公司