CN101212491A - 使用客户端的高速缓存来备份服务器上数据的设备和方法 - Google Patents
使用客户端的高速缓存来备份服务器上数据的设备和方法 Download PDFInfo
- Publication number
- CN101212491A CN101212491A CN200710192745.2A CN200710192745A CN101212491A CN 101212491 A CN101212491 A CN 101212491A CN 200710192745 A CN200710192745 A CN 200710192745A CN 101212491 A CN101212491 A CN 101212491A
- Authority
- CN
- China
- Prior art keywords
- backed
- resource data
- data
- server
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Abstract
本发明提供了一种用于通过使用客户端的高速缓存容易地备份服务器上的数据以及用于将所备份数据上传到该服务器的方法。该方法包括步骤:将待备份资源数据发送到客户端;确定是否需要对待备份资源数据进行恢复;响应于确定结果表明需要恢复待备份资源数据,将具有表明需要恢复待备份资源数据的消息以及表明待备份资源数据没有更新的消息的HTTP响应发送到客户端;以及通过从客户端接收待备份资源数据的备份来恢复待备份资源数据。
Description
技术领域
本发明涉及使用客户端的web浏览器的高速缓存存储器来备份服务器中的数据。
背景技术
近年来,web服务器上积累的数据(web数据)越来越重要。而且,有必要对数据进行备份以防意外丢失。这些数据的总量持续增长。此外,由于用户数量也有所增加,存在各种各样的方法用于数据备份,诸如为每个用户保留历史数据等等。作为结果,备份操作变得很复杂,并且完成备份的工作量也变得很繁重。为了在服务器侧备份这些数据,提高了需要提供给服务器的资源和管理成本。在服务器中,利用磁带驱动器等来进行当前的数据备份以及使用备份数据的恢复操作。
除此之外,就可能在客户端侧进行的备份和恢复操作而言,使用手动执行的用于构建web应用的方法。这种方法在家庭网络路由器之类的小规模web应用中尤其多见。在这些小规模的web应用中,经由HTTP(用于执行GET方法或POST方法的命令输入)在客户端和服务器之间发送/接收备份数据,并且随后进行存储。此外,当出现使用备份数据来恢复web数据的需要时,通过使用类型属性为文件的HTML输入形式来规定包括备份数据的文件,并且随后经由HTTP(用于执行POST方法的命令输入)将该文件从客户端发送到服务器,以便恢复web数据。换言之,在现有的环境中,web浏览器的操作者手动地执行关于备份和恢复的操作。
此外,在日本专利申请公开No.2004-185263中,客户端具有用于临时存储web服务器的内容的高速缓存功能,并且系统是用于传送内容的分布式系统。然而,其中没有清楚地公开,当web服务器的内容被破坏或在其他类似情况下,如何将客户端保留的内容作为备份数据上传。
发明内容
本发明提供了一种用于通过使用客户端的高速缓存容易地备份服务器上的数据以及用于将所备份数据上传到该服务器的方法和设备。
为了解决上述问题,在本发明中,提出了一种方法,其中服务器通过使用HTTP协议使得客户端备份服务器的资源数据的一部分。该方法包括步骤:将待备份资源数据发送到客户端;确定是否需要对待备份资源数据进行恢复;响应于确定结果表明需要恢复待备份资源数据,将具有表明需要恢复待备份资源数据的消息以及表明待备份资源数据没有更新的消息的HTTP响应发送到客户端;以及通过从客户端接收待备份资源数据的备份来恢复待备份资源数据。本发明的方法支持如下处理,即在客户端中备份服务器的待备份资源数据并在服务器的待备份资源数据丢失时恢复该数据。
如上所述,已经作为一种方法描述了本发明的概要。然而,本发明还可以被考虑为一种设备、一种程序或者一种程序产品。例如,程序产品可以包括存储上述程序的记录介质,或者传送该程序的介质。
本发明的上述概要并没有述及本发明的所有需要的特征,但是应当理解,这些构成要素的组合或者再组合也属于本发明。
附图说明
为了更全面地理解本发明及其优点,现在结合附图参考下文的描述。
图1是备份系统100的高级示意图,该备份系统根据本发明通过使用客户端的高速缓存容易地备份服务器上的数据并将所备份数据上传到服务器。
图2是示意图200,其示意性地示出了本发明的备份系统的功能框。
图3例示了客户端对web服务器的资源数据进行备份的序列。
图4例示了通过使用在客户端中备份的资源数据恢复web服务器的资源数据的序列。
图5示出了备份和恢复由门户站点中的portlet管理的数据的例子,该例子使用了本发明。
图6示出了通过使用本发明自动备份和恢复路由器设置信息的例子。
图7示出了通过使用本发明避免永久性地存储购物站点等上的个人信息的例子。
图8示出了在匿名购物站点上购物的例子。
图9示出了对公司的Wiki服务器进行备份的例子。
图10是一个视图,示出了根据本发明的一个实施例的用于获得客户端210和web服务器250的优选信息处理器硬件配置的例子。
具体实施方式
图1是本发明的备份系统100的高级示意图,该系统通过使用客户端的高速缓存容易地备份服务器上的数据并将所备份的数据上传到服务器。客户端110a-110c经由网络101连接到服务器130a和130b。在此,服务器130a和130b例如是web服务器,并且提供多个服务器130。然而,服务器130的数量可以是一个。而且,提供多个客户端终端,但是本发明的系统可以利用单个客户端终端来执行。
客户端110a-110c经由网络101与web服务器130a和130b通信,并下载备份数据。此外,当web服务器130a和130b的任何备份数据损坏时,将客户端110a-110c中任一个客户端中的该已损坏数据的备份上传到web服务器130a或130b。
图2是示意图200,其示意性地示出了根据本发明的备份系统的功能框。客户端210a-210c经由网络201连接到web服务器250。标号290表示资源发布器,其是web服务器250中存储的资源263的源。该资源263通常是web数据,但是其也可以是需要备份的另一种类型的数据。当web服务器250的资源是原始资源时,资源发布器290并不一定要存在于本发明的备份系统中。
客户端210a包括web浏览器211。在下载colback的JavaScript 213后,客户端210a通过使用web浏览器211执行下载资源的功能215,确定恢复资源的必要性的功能217;以及递送资源的功能219。下载资源的功能215是从web服务器250下载应当被备份的资源数据的功能。确定恢复资源的必要性的功能217是确定是否需要在web服务器250中恢复资源数据的功能。递送资源的功能219是向web服务器250发送资源数据的功能。顺便提及,标号213使用了JavaScript语言,但是也可以配置为使用另一种语言、硬件、软件等等。
将给出关于这些功能参考后面提及的序列图进行操作时的描述。客户端210a具有存储器221,并且存储已经被备份的资源数据263。资源数据223是web服务器250中的复制资源数据263的一部分或全部。然而,资源数据223和263在数据格式等方面可以是不同的。客户端210b、210c,...都具有与客户端210a的功能类似的功能。
web服务器250通过使用colback servlet 251执行接收资源的功能253,确定恢复资源的功能255,以及发送资源的功能257。接收资源的功能253从客户端210接收需要恢复的资源数据263。而且,功能253可以首先从资源发布器290接收曾经备份的资源数据,或者可以通过另一种方法接收数据。确定恢复资源的功能255确定是否需要恢复资源数据263。功能255可以例如针对文件单元的每一部分确定是否需要恢复资源数据263。发送资源的功能257发送资源数据263以便客户端可以备份该数据。colback servlet 251使用Java(注册商标)技术,但是除Java以外的技术也可以用于执行类似的功能。
web服务器250包括存储器259,其具有colback JavaScript 261和资源数据263。当客户端210访问web服务器250时,colback JavaScript 261被下载到客户端210。colback JavaScript 261和colback JavaScript 213是相同的。注意在系统中可以提供多个web服务器。
图3示出了客户端对web服务器的资源数据进行备份的序列。按照下述的a-d进行处理。
a)资源发布器为colback servlet提供资源数据(步骤1和步骤2)。
尽管在此直接为colback servlet提供资源数据,但是也可以通过另一种方法,例如通过使用ftp协议为web服务器提供数据。所提供的资源数据与指定的URL(/.../res1)相关联。
b)将资源数据的副本高速缓存在web浏览器上。
web浏览器访问网页(步骤3)。在此,web浏览器访问/.../index.html代表的URL,并通过HTTP的GET方法获得请求数据。此时,服务器将colback JavaScript发送到客户端(步骤4)。web浏览器解析并执行下载的colback JavaScript(步骤5)。colback JavaScript利用URL(/.../res1)访问colback servlet(web服务器的存储)(步骤5.1),并下载需要备份的资源数据(步骤5.2)。web浏览器接收资源数据(步骤6),并对资源数据进行高速缓存(步骤7和步骤8)。
c)假定web服务器上的数据由资源发布器更新(步骤9和步骤10)。
d)web浏览器更新已经在web浏览器上高速缓存的资源数据的副本。
web浏览器再次访问web服务器(colback servlet)(步骤11和步骤12)。图3的步骤12例示了一种情况,其中/.../index.html上的数据在colback JavaScript中没有变化。当/.../index.html上的数据有变化时,在步骤12中执行与步骤3相同的处理。web浏览器执行colback JavaScript(步骤13)。所执行的colback JavaScript向colback servlet输出HTTP的GET请求,同时在报头中包括URL(/.../res1)和If-Modified-Since(步骤13.1)。If-Modified-Since意味着如果所请求的数据被更新则下载该数据。
接收到HTTP的GET请求的colback servlet检查是否需要更新或恢复资源数据(步骤13.1.1和步骤13.1.2)。由于此时资源数据尚未丢失,colback servlet通过使用web浏览器发送来的URL(/.../res1)和从报头中提取的时间戳,检查是否有必要更新已经由web浏览器高速缓存的资源数据的副本。由于资源数据的副本需要更新,将更新的资源数据的副本和HTTP响应200OK返回到web浏览器(colback JavaScript)(步骤13.2)。如果不需要更新资源数据的副本,则返回HTTP响应303 NotModified。接收200OK的web浏览器利用接收到的新资源数据更新之前高速缓存的资源数据的副本作为副本(步骤15和步骤16)。
图4示出了利用在客户端中备份的资源数据恢复web浏览器的资源数据的序列。按照下述的e-f进行处理。
e)假定存储在web服务器中的资源数据由于某种原因被损坏和丢失(步骤17和步骤18)。
f)恢复资源数据。
web浏览器访问web服务器(colback servlet)(步骤19和步骤20)。步骤20例示了一种情况,其中/.../index.html上的数据在colbackJavaScript等中没有变化。web浏览器执行colback JavaScript(步骤21)。所执行的colback JavaScript向colback servlet输出HTTP的GET请求,同时在报头中包括URL(/.../res1)和If-Modified-Since(步骤21.1)。If-Modified-Since意味着如果所请求的数据被更新则下载该数据。接收到HTTP的GET请求的colback servlet检查是否需要更新或恢复资源数据(步骤21.1.1和步骤21.1.2)。
由于此时资源数据已经丢失,colback servlet通过使用web浏览器发送来的URL(/.../res1)和时间戳,检查是否有可能利用已经由web浏览器高速缓存的资源数据的副本来恢复丢失数据。作为检查的结果,确定数据是否可以被恢复。此后,将具有表明恢复请求的特殊报头(Cache-Control:ColBack=DoRecovery)的HTTP响应304 Not Modified返回到web浏览器(步骤21.2)。利用常规的已有HTTP响应304 NotModified,web浏览器可以下载新请求的数据(在此为.../index.html)并随后转向下一处理。
如果确定由于数据副本太陈旧或其他原因资源数据不能被恢复,则返回HTTP响应404 Not Found,以便表明没有找到数据。否则,返回HTTP响应503 Service Unavailable,以便表明在资源数据恢复之前访问不可用。然后,web浏览器将来自已经接收到具有Cache-Control:ColBack=DoRecovery的HTTP响应304 Not Modified的高速缓存的资源数据的副本提取到存储器上(步骤21.3),并将该副本发送到colbackservlet(步骤21.5)。接收到资源数据副本的colback servlet通过将该副本存储到资源数据存储区域中而恢复丢失的资源(步骤21.5.1)。colbackJavaScript和web浏览器接收表明已经成功地进行了恢复的消息(步骤21.6和步骤22)。
下面是在colback JavaScript当中,将具有包括If=Modified-Since的报头的HTTP请求输出到colback servlet,并随后基于colback servlet的响应更新高速缓存或恢复资源的程序代码。
<!DOCTYPE html PUBLIC″-//W3C//DTD XHTML 1.0 Strict//EN″
″http://www.w3.org/TR/xhtmll/DTD/xhtmll-strict.dtd″>
<html xmlns=″http://www.w3.org/1999/xhtml″lang=″en″
xml:lang=″en″>
<head>
<title>ColBack JavaScript</title>
<script type=″text/javascript″>
//<![CDATA[
var lastModified = ″Thu, 01 Jun 1970 00:00:00 GMT″;
function isRecoveryNeeded(req) {
var cacheControl=req.getResponseHeader(″Cache-Control″);
return cacheControl &&
cacheControl. match(/¥s * ColBack¥s*=¥s*¥″DoRecovery¥″¥s*/);
}
function checkStatus() {
var req =new XMLHttpRequest ();
req.open(″GET″,″resource″,false);
req.setRequestHeader(″If-Modified-Since″,lastModified);
req.send(″″);
if(req.getAllResponseHeaders().match(″Last-Modified″)) {
lastModified=req.getResponseHeader(″Last-Modified″);
}
if(req.status == 200 || req.status == 304) {//OK or Not
Modified
if(isRecoveryNeeded(req)) {
var responseText = req.responseText
// send req.responseText to the ColBack servlet for recovery
req.open(″POST″,″recovery ″,false);
req.setRequestHeader(′Content-Type′,
′application/x-www-form-urlencoded′);
req.send(′value=′+responseText);
} else {
// cache may be updated
}
}
}
//]]>
</script>
</head>
<body>
<button onclick=″checkStatus()″>Check Status</button>
<div id=″content″></div>
</body>
</html>
在HTTP1.1的基础上例示了本发明。HTTP1.1具有高速缓存控制扩展功能,并且可以以“name=value”的格式指定任意字符串,作为HTTP响应304 Not Modified允许的cache-control报头的值。相应地,假设在本发明中,Cache-Control:ColBack=DoRecovery用于HTTP响应304 NotModified以便表明需要对资源进行恢复。
如果不使用Cache-Control:ColBack=DoRecovery,则可能在图3和图4的步骤5.1、步骤13.1和步骤21.1中输出HTTP请求之前或与之同时通过另一HTTP请求明确地检查恢复的必要性(通过使用另一线程)。换言之,考虑到依赖于浏览器类型的情况,本领域普通技术人员显然可以理解可以通过改变序列的上述方法来实现本发明的目的。
(应用示例1)
图5示出了自动地备份和恢复由门户站点中的portlet管理的数据的例子,该例子使用了本发明。在客户端520a中,portlet 531管理三种类型的用户个人数据,包括portlet设置533、portlet数据535和portlet会话537。客户端520a中包括的portlet 531对应于门户站点的portlet 513a。客户端520b中包括的portlet 531b对应于门户站点的portlet 513b。门户站点常规地需要备份数据513a,513b...并且由此备份的成本很高。然而,本发明即使在删除了门户站点的portlet的情况下依然支持恢复。本发明的机制支持自动备份和恢复portlet的数据。在图5的情况中,可以通过向portlet容器或portlet中添加colback servlet功能来完成恢复。
(应用示例2)
图6示出了自动备份和恢复路由器设置信息的例子,该例子使用了本发明。某些常规的路由器包括web浏览器功能640作为管理者的设置管理界面,并且设置被设计为从管理者的计算机通过访问作为web浏览器的指定URL而被管理。管理者通过执行保存命令(诸如按压保存键)在计算机的硬盘中保存从路由器下载到浏览器的文件(设置信息),以便备份设置信息。而且,可以通过指定保存文件的区域并执行恢复命令(诸如按压恢复键)而从所保存的文件中恢复设置信息。
如上所述,常规地,需要管理者明确地将该设置作为文件保存并根据需要进行手动恢复。通过使用本发明的机制,可以通过在浏览器的高速缓存中保存路由器的设置信息,而自动地备份和恢复设置信息,而不必再麻烦管理者。
按照下述步骤进行备份。
1)管理者按压浏览器上的“设置更新”键,以便更新路由器的设置信息。
2)在更新后路由器存储设置信息613。
3)通过向浏览器返回响应,路由器在浏览器的高速缓存中存储路由器的设置信息631(执行图3中的步骤3-步骤11)。
按照下述步骤进行恢复。
1)管理者通过打开浏览器上的设置窗口而开始图4中的步骤19以便检查设置,并且从高速缓存中的路由器的设置信息631中恢复路由器的原始设置信息613。
2)该方法不仅可以适用于路由器,而且可以适用于连接到网络并具有web浏览器界面的其他信息设备(硬盘记录器等)。
(应用示例3)
图7示出了避免永久性地存储购物站点等上的个人信息的例子,该例子使用了本发明。在某些购物站点上,一旦在第一次使用时注册了个人信息,从第二次使用开始存储在服务器中的个人信息就自动地输入到表单中。然而,最近,在保护个人信息方面的关注持续增长,从而web站点的运营商们倾向于尽可能少地保留个人信息。在此个人信息不仅包括姓名、地址和信用卡号码,而且包括用户的购物记录。在某种程度上这些信息被认为是数量巨大的。
按照下述程序在服务器和客户端之间执行具有更高安全性的个人信息交换。
(a)用户第一次使用站点。
1)用户输入其个人信息并将信息发送到服务器。
2)服务器利用服务器的密钥715a对包括“购物记录”的个人信息713a进行签名和编码,并且通过向浏览器返回已签名和编码的信息,将个人信息731a高速缓存为个人信息713a的副本(同时执行图3中的步骤5-步骤8)。
3)服务器利用该个人信息完成对应用报告的处理。
4)服务器从磁盘删除该个人信息。
(b)用户再次使用该站点。
1)将web浏览器的高速缓存中的个人信息发送到具有本发明的应用的服务器。服务器检查签名并对签名进行解码,自动地将该个人信息输入到表单中(执行图4中的步骤19-步骤22)。
2)基于“购物记录”显示推荐商品。
3)服务器利用该个人信息完成对应用报告的处理。
4)服务器从磁盘删除该个人信息。
利用该程序,服务器的密钥和已编码的数据存储在不同的区域,即服务器和客户端。如果服务器的密钥在步骤(a)之后被盗,由于已编码的数据在客户端的磁盘上,这比服务器的密钥和已编码的数据都在服务器的情况更安全。此外,关于个人信息的处理,站点的运营商可以向用户表示他们将在对报告进行处理之后立即删除个人信息,而又不会有损自动输入个人信息的便利性。由此,运营商可以为其服务增值。
(应用示例4)
图8示出了在匿名购物站点上购物的例子。按照下述程序进行对购物车信息的备份。
1)用户匿名地使用购物站点(不登录到该站点)。
2)用户通过指定不同的选项(诸如待打印的图像)在购物车813a中添加不同的商品(诸如T恤衫),并且也在客户端侧存储购物车831a(执行图3中的步骤13-步骤16)。
3)用户由于某种原因简单地关闭了浏览器应用。
4)用户重新启动浏览器应用,并且来到购物站点。
5)购物站点恢复关于之前的购物车831a的数据(执行图4的步骤19-步骤22)。
6)在添加商品之后,用户输入注册信息和卡信息,并购买商品。
在现有的环境下,购物车的状态存储在购物站点服务器侧,并且客户端将保存ID存储为cookie。然而,当有很多用户时,购物车的数量将很多,这导致服务器侧的高昂管理成本。另一方面,本发明使得有可能在服务器侧临时地存储购物车的状态,并在客户端侧上保存其备份数据。因此,即使由于时间和操作限制,服务器侧的数据被清除,也有可能恢复关于购物车状态的数据。
(应用示例5)
图9示出了对公司的Wiki服务器进行备份的例子。按照下述程序进行对Wiki服务器的备份。
1)操作者准备需要严格备份的重要区915(高成本),以及不需要严格备份的简化区913。
2)用户将对商务而言重要的信息写入到严格的重要区915中,将不重要的信息(诸如俱乐部活动)写入到简化区913中,不重要的信息913a存储在客户端中作为不重要的信息931a(执行图3的步骤3-步骤8)。
3)简化区中的数据由于服务器的磁盘故障和操作中的意外而丢失。
4)服务器通过使用本发明恢复简化区中的数据(即使是部分的)(执行图4中步骤19-步骤22)。
在现有的情况下,备份的成本很高。不然就是没有备份。然而,有很多情况,尽管信息对商务而言不那么重要,但是如果有信息的备份副本,将是很方便的,即使这个备份是简化的。
图10是一个视图,示出了根据本发明的一个实施例的用于获得客户端210和web服务器250的优选信息处理器硬件配置的例子。
信息处理器包括CPU(中央处理单元)1001和主存储器1004,二者都连接到总线1002。诸如硬盘设备1013、1030,CD-ROM设备1026、1029,软盘设备1020,MO设备1028以及DVD设备1031之类的可移动存储装置(其中可以交换记录介质的外部存储系统)经由软盘控制器1019、IDE控制器1025和SCSI控制器1027等连接到总线1002。
将诸如软盘、MO、CD-ROM和DVD-ROM之类的记录介质插入到可移动存储装置中。可以通过给与操作系统协作的CPU等提供命令而在这些记录介质、硬盘设备1013和1030以及ROM1014中存储用于实现本发明的计算机程序的代码。通过将计算机程序加载到主存储器1004中来执行计算机程序。计算机程序可以经过压缩而存储,或者可以通过分为若干部分存储在多个介质中。
信息处理器经由键盘/鼠标控制器1005从诸如键盘1006和鼠标1007之类的输入装置接收输入信息。信息处理器经由DAC/LCDC1010连接到显示器1011以向用户提供可视数据。
信息处理器可以经由网络适配器1018(以太网(R)卡或令牌环卡)等连接到网络,并且可以与其他计算机等进行通信。尽管没有示出,但是信息处理器可以经由并行端口连接到打印机或经由串行端口连接到调制解调器。
根据以上的描述,可以容易地理解用于实现根据本发明的实施例的系统的优选信息处理器由诸如通用个人计算机、工作站和大型机之类的信息处理器或通过这些信息处理器的组合完成。然而,这些构成要素只是例子,并且并非所有的构成要素对本发明来说都是必需的。
当然,本领域普通技术人员可以容易地想到结合多种机器对在本发明的实施例中所用的信息处理器的每个硬件构成要素进行各种修改,向这些构成要素分配功能,以及实现功能等等。实际上这些修改都是包括在本发明的精神范围内的概念。
根据本发明的实施例的系统可以采用支持图形用户接口(GUI)多窗口环境的操作系统,诸如微软公司提供的Windows操作系统、苹果计算机公司提供的MacOS以及包括X Window System的UNIX系统(例如国际商业机器公司提供的AIX)之类。
如上所述,可以理解,在本发明的实施例中使用的系统不限于特定的操作系统环境。换言之,只要操作系统可以提供其中应用软件等可以使用数据处理系统的资源的资源管理功能,则任何操作系统都可以采用。注意,资源管理功能可以包括硬件资源管理的功能、文件处理功能、假脱机(spooling)功能、任务管理功能、存储保护功能、虚拟存储管理功能等。然而,这些功能对于本领域普通技术人员来说是公知的。因此,省略了对这些功能的详细描述。
此外,本发明可以实现为硬件、软件或硬件和软件的组合。关于硬件和软件的组合的执行,在具有指定程序的数据处理系统中的执行可以被作为一个典型的例子来描述。在这种情况下,通过使得指定程序被加载到数据处理系统并被执行,程序控制数据处理系统并实现本发明的处理。程序由可以由通过任意语言、代码和符号表达的命令组来构成。这种命令组使得系统可以直接执行特定功能,或者在1)被转换成另一种语言、代码和符号和/或2)复制到另一种介质上之后执行特定功能。
本发明当然不仅包括这种程序本身,而且包括将程序存储在自身范围内的介质。执行本发明的功能的程序可以存储在诸如软盘、MO、CD-ROM、DVD、硬盘设备、ROM、MRAM和RAM之类的任意计算机可读记录介质中。为了存储在记录介质中,程序可以从经由通信线路连接的另一数据处理系统下载并且可以从另一记录介质复制。而且,程序可以被压缩或者被分成若干单元以便存储在单个或多个记录介质中。此外,应当注意,当然可以以各种形式提供用以实现本发明的程序产品。
如上所述,根据本发明的实施例可以容易地构建这样一种系统,其允许客户端备份web服务器的资源数据,并且其能够在web服务器的资源数据损坏时,利用客户端备份的资源数据来恢复资源数据。
本领域普通技术人员显然可以理解,在上述的实施例中可以进行各种改变和修改。应当注意,进行了改变和修改的这种实施例当然包括在本发明的技术范围内。
Claims (17)
1.一种方法,其中服务器通过使用HTTP协议使得客户端备份服务器的资源数据的一部分,所述方法包括步骤:
将待备份资源数据发送到所述客户端;
确定是否需要对所述待备份资源数据进行恢复;
响应于确定结果表明需要恢复所述待备份资源数据,将具有表明需要恢复所述待备份资源数据的消息以及表明所述待备份资源数据没有更新的消息的HTTP响应发送到所述客户端;以及
通过从所述客户端接收所述待备份资源数据的备份来恢复所述待备份资源数据。
2.根据权利要求1所述的方法,还包括步骤:当通过HTTP协议向所述客户端发送所请求数据时,发送用于备份所述待备份资源数据的程序。
3.根据权利要求2所述的方法,其中所述程序以JavaScript编写。
4.根据权利要求2所述的方法,其中所述程序是用于使得所述客户端的web浏览器的高速缓存备份所述待备份资源数据的程序。
5.根据权利要求1所述的方法,其中所述确定步骤通过使用URL和时间戳来进行所述确定,所述URL和时间戳两者都是所述客户端发送的。
6.根据权利要求1所述的方法,其中所述服务器是路由器,以及所述待备份资源数据是所述路由器的设置信息。
7.根据权利要求1所述的方法,其中所述服务器是购物站点,并且其中所述待备份资源数据是使用所述购物站点的用户的个人信息,所述方法还包括步骤:
通过使用密钥来编码所述个人信息;
在所述发送步骤之后从所述服务器删除所述个人信息;以及
在所述恢复步骤之后解码所述已编码个人信息。
8.根据权利要求1所述的方法,其中所述服务器是购物站点,并且其中所述待备份资源数据是所述服务器上保留的关于客户端购物车状态的数据,所述方法还包括步骤:当所述客户端在完成购物之前关闭与所述服务器的会话时,删除关于所述购物车状态的数据。
9.根据权利要求1所述的方法,其中所述服务器是Wiki服务器,所述服务器包括:
重要区,用于管理重要数据;以及
简化区,用于管理非重要数据,
并且所述待备份资源数据是在所述简化区中管理的数据。
10.一种使得计算机执行根据权利要求1-10中任一项所述的各步骤的计算机程序。
11.一种设备,其中服务器通过使用HTTP协议使得客户端备份服务器的资源数据的一部分,所述设备包括:
用于将待备份资源数据发送到所述客户端的装置;
恢复确定单元,当响应于来自所述客户端的对HTTP的GET请求而确定需要恢复所述待备份资源数据时,所述恢复确定单元将具有表明需要恢复所述待备份资源数据的消息以及表明所述待备份资源数据没有更新的消息的HTTP响应发送到所述客户端,其中所述客户端在所述待备份资源数据有更新的情况下接收所述待备份资源数据;以及
通过从所述客户端接收所述待备份资源数据的备份来恢复所述待备份资源数据的装置。
12.根据权利要求11所述的设备,还包括向客户端发送用于在浏览器的高速缓存中备份所述待备份资源数据的程序的装置。
13.根据权利要求11所述的设备,其中通过使用URL和时间戳来进行所述确定,所述URL和时间戳两者都是所述客户端发送的。
14.根据权利要求11所述的设备,其中所述服务器是路由器,以及所述待备份资源数据是所述路由器的设置信息。
15.根据权利要求11所述的设备,其中所述服务器是购物站点,其中所述待备份资源数据是使用所述购物站点的用户的个人信息,并且其中所述恢复装置包括用于解码已编码个人信息的装置,所述设备还包括:
密钥;
通过使用密钥来编码所述个人信息的装置;以及
在从所述客户端接收到所述待备份资源数据后,从所述服务器删除所述个人信息的装置。
16.根据权利要求11所述的设备,其中所述服务器是购物站点,并且其中所述待备份资源数据是关于客户端购物车状态的数据,所述数据保留在所述服务器上,所述设备还包括:当所述客户端在完成购物之前关闭与所述服务器的会话时,删除关于所述购物车状态的数据的装置。
17.根据权利要求11所述的设备,其中所述服务器是Wiki服务器,所述服务器包括:
重要区,用于管理重要数据;以及
简化区,用于管理非重要数据,
并且所述待备份资源数据是在所述简化区中管理的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006-352187 | 2006-12-27 | ||
JP2006352187 | 2006-12-27 | ||
JP2006352187A JP5068071B2 (ja) | 2006-12-27 | 2006-12-27 | サーバ上のデータを、クライアントのキャッシュを利用してバックアップする装置および方法。 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101212491A true CN101212491A (zh) | 2008-07-02 |
CN101212491B CN101212491B (zh) | 2011-04-27 |
Family
ID=39585568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710192745.2A Expired - Fee Related CN101212491B (zh) | 2006-12-27 | 2007-11-16 | 使用客户端的高速缓存来备份服务器上数据的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7870422B2 (zh) |
JP (1) | JP5068071B2 (zh) |
CN (1) | CN101212491B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102687487A (zh) * | 2009-12-31 | 2012-09-19 | 诺基亚公司 | 用于提供客户端高速缓存的方法和设备 |
CN103095759A (zh) * | 2011-11-02 | 2013-05-08 | 华为技术有限公司 | 恢复资源环境的方法及设备 |
CN106603269A (zh) * | 2016-11-01 | 2017-04-26 | 上海斐讯数据通信技术有限公司 | 一种测试页面回退或升级路由器软件版本的方法及系统 |
CN109408279A (zh) * | 2017-08-16 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 数据备份方法和装置 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9081735B2 (en) | 2011-02-12 | 2015-07-14 | International Business Machines Corporation | Collaborative information source recovery |
US9189532B2 (en) | 2011-07-26 | 2015-11-17 | Salesforce.Com, Inc. | System, method and computer program product for locally defining related reports using a global definition |
US10121110B2 (en) * | 2011-07-27 | 2018-11-06 | Salesforce.Com, Inc. | System, method and computer program product for progressive rendering of report results |
GB2505179A (en) | 2012-08-20 | 2014-02-26 | Ibm | Managing a data cache for a computer system |
CN104468641B (zh) * | 2013-09-12 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 一种业务数据迁移方法、装置和云存储系统 |
JP5830581B1 (ja) * | 2014-06-23 | 2015-12-09 | 株式会社ショーケース・ティービー | 入力支援サーバ、入力支援方法及び入力支援プログラム |
CN105786648A (zh) * | 2016-02-25 | 2016-07-20 | 深圳天珑无线科技有限公司 | 数据处理方法及装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006331A (en) * | 1997-07-29 | 1999-12-21 | Microsoft Corporation | Recovery of online sessions for dynamic directory services |
JPH11134234A (ja) * | 1997-08-26 | 1999-05-21 | Reliatec Ltd | バックアップ・リストア方法およびその制御装置,並びにバックアップ・リストアプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6018805A (en) * | 1997-12-15 | 2000-01-25 | Recipio | Transparent recovery of distributed-objects using intelligent proxies |
US6539494B1 (en) * | 1999-06-17 | 2003-03-25 | Art Technology Group, Inc. | Internet server session backup apparatus |
US6687849B1 (en) * | 2000-06-30 | 2004-02-03 | Cisco Technology, Inc. | Method and apparatus for implementing fault-tolerant processing without duplicating working process |
US6883110B1 (en) * | 2001-06-18 | 2005-04-19 | Gateway, Inc. | System and method for providing a data backup of a server on client systems in a network |
US7409420B2 (en) * | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
US7065674B2 (en) * | 2002-08-01 | 2006-06-20 | Microsoft Corporation | Computer system fault recovery using distributed fault-recovery information |
US20040034807A1 (en) * | 2002-08-14 | 2004-02-19 | Gnp Computers, Inc. | Roving servers in a clustered telecommunication distributed computer system |
JP2004185263A (ja) | 2002-12-03 | 2004-07-02 | Oki Electric Ind Co Ltd | 分散協調型コンテンツ配信システム |
US7206910B2 (en) * | 2002-12-17 | 2007-04-17 | Oracle International Corporation | Delta object replication system and method for clustered system |
JP2005122602A (ja) * | 2003-10-20 | 2005-05-12 | Internatl Business Mach Corp <Ibm> | キャッシュシステム、情報処理システム、キャッシュ方法、プログラム、及び記録媒体 |
US7698428B2 (en) * | 2003-12-15 | 2010-04-13 | International Business Machines Corporation | Apparatus, system, and method for grid based data storage |
US7624160B2 (en) * | 2004-05-04 | 2009-11-24 | International Business Machines Corporation | Methods, systems, and computer program products for client side prefetching and caching of portlets |
CN100481835C (zh) * | 2004-12-17 | 2009-04-22 | 上海证券通信有限责任公司 | 数据集中备份方法,还原方法及其系统 |
US20060136524A1 (en) * | 2004-12-20 | 2006-06-22 | Claria Corporation | Method and device for backing up cookies |
JP4144885B2 (ja) * | 2004-12-28 | 2008-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーション・オブジェクトの再利用方法 |
US7673134B2 (en) * | 2005-04-07 | 2010-03-02 | Lenovo (Singapore) Pte. Ltd. | Backup restore in a corporate infrastructure |
US7480822B1 (en) * | 2005-07-13 | 2009-01-20 | Symantec Corporation | Recovery and operation of captured running states from multiple computing systems on a single computing system |
JP4285655B2 (ja) * | 2005-07-19 | 2009-06-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Webサービスを提供する方法、装置、プログラム |
US8326956B2 (en) * | 2006-03-31 | 2012-12-04 | Cisco Technology, Inc. | System and method for handling persistence information in a network |
US7783763B2 (en) * | 2006-06-06 | 2010-08-24 | International Business Machines Corporation | Managing stateful data in a partitioned application server environment |
US8862553B2 (en) * | 2006-06-07 | 2014-10-14 | Avaya Inc. | Telephone stations with independent backup/restore feature |
-
2006
- 2006-12-27 JP JP2006352187A patent/JP5068071B2/ja not_active Expired - Fee Related
-
2007
- 2007-11-16 CN CN200710192745.2A patent/CN101212491B/zh not_active Expired - Fee Related
- 2007-12-12 US US11/954,876 patent/US7870422B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102687487A (zh) * | 2009-12-31 | 2012-09-19 | 诺基亚公司 | 用于提供客户端高速缓存的方法和设备 |
CN102687487B (zh) * | 2009-12-31 | 2015-05-06 | 诺基亚公司 | 用于提供客户端高速缓存的方法和设备 |
CN103095759A (zh) * | 2011-11-02 | 2013-05-08 | 华为技术有限公司 | 恢复资源环境的方法及设备 |
WO2013063953A1 (zh) * | 2011-11-02 | 2013-05-10 | 华为技术有限公司 | 恢复资源环境的方法及设备 |
CN103095759B (zh) * | 2011-11-02 | 2017-09-19 | 华为技术有限公司 | 恢复资源环境的方法及设备 |
CN106603269A (zh) * | 2016-11-01 | 2017-04-26 | 上海斐讯数据通信技术有限公司 | 一种测试页面回退或升级路由器软件版本的方法及系统 |
CN109408279A (zh) * | 2017-08-16 | 2019-03-01 | 北京京东尚科信息技术有限公司 | 数据备份方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US7870422B2 (en) | 2011-01-11 |
JP2008165363A (ja) | 2008-07-17 |
US20080162684A1 (en) | 2008-07-03 |
JP5068071B2 (ja) | 2012-11-07 |
CN101212491B (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101212491B (zh) | 使用客户端的高速缓存来备份服务器上数据的设备和方法 | |
US7814234B2 (en) | Offline execution of web based applications | |
JP4254178B2 (ja) | 分散格納制御装置及び方法 | |
US6195677B1 (en) | Distributed network computing system for data exchange/conversion between terminals | |
CN103636165A (zh) | 透明故障转移 | |
CN101854392B (zh) | 一种基于云计算环境的个人数据管理方法 | |
CN101194233B (zh) | 测试无线组件应用程序的系统和方法 | |
US8296263B2 (en) | Systems and methods for data upload and download | |
CN101416183B (zh) | 保存无线设备当前数据的方法和系统 | |
US8554735B1 (en) | Systems and methods for data upload and download | |
CN108093015B (zh) | 文件传输系统 | |
CN103595559A (zh) | 一种大数据的传输系统、传输方法及其业务系统 | |
KR20020079830A (ko) | 분산 매체 네트워크 및 메타 데이타 서버를 위한 시스템 | |
CN101072163A (zh) | 一种网络文件自动转存方法及系统 | |
US11556400B2 (en) | Handling large messages via pointer and log | |
CN113542402B (zh) | 文件传输方法、装置、系统、电子设备及存储介质 | |
CN101809570B (zh) | 使能对受防火墙保护的数据的访问的方法 | |
CN101978665A (zh) | 对网络通信请求的选择性过滤 | |
JP2008146342A (ja) | データ管理システム | |
CN1889418B (zh) | 一种网络存储方法与网络存储系统 | |
JP4266107B2 (ja) | データ転送装置、データ転送先装置、データ収集装置、データ転送プログラム、データ転送先プログラム及びデータ収集プログラム | |
CN111858153B (zh) | 网络存储装置的数据备份和还原方法 | |
EP3879789B1 (en) | Data processing method and apparatus | |
KR100416691B1 (ko) | 대용량 데이터통신 관리 서버 시스템 및 그를 이용한 방법 | |
CN104539619B (zh) | 用于互联网在线交易的数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110427 Termination date: 20181116 |
|
CF01 | Termination of patent right due to non-payment of annual fee |