基于HTTP的客户机-服务器通信系统和方法技术方案

技术编号:8349547 阅读:209 留言:0更新日期:2013-02-21 07:33
提供用于健壮、有效且安全的客户机-服务器通信的系统和方法。例如,这种客户机-服务器通信的一种方法可以包括在服务器中经由HTTP接收来自客户机的长轮询HTTP请求和客户机状态消息,例如文件供给。这种文件供给可以指示例如从客户机可供传输的一个或多个文件。之后,服务器可以发出作为对长轮询HTTP请求的响应的命令,例如文件请求。这种文件请求可以请求可供传输的一个或多个文件中的至少一个文件。之后,服务器可以从客户机经由FTP接收一个或多个文件中的至少一个文件。

【技术实现步骤摘要】
【国外来华专利技术】基于HTTP的客户机-服务器通信系统和方法
技术介绍
该部分旨在向读者介绍可能与本公开的下面所描述或要求保护的各方面有关的现有技术的各个方面。该介绍被认为有助于向读者提供便于更好地理解本公开的各个方面的背景信息。因此,应当明白,这些阐述应当以这种方式理解,而不应当视为是对现有技术的认可。用户可以将多个文件在本地存储在若干个不同的计算机上,但是可能希望从每个计算机访问这些文件。例如,用户可以将多个媒体文件(例如照片、音乐和视频)建立或存储在属于用户的多个家庭计算机上。这些文件可以被复制到家庭服务器(例如基于微软视窗家庭服务器(WHS)的服务器)上。家庭服务器可以允许用户将照片、音乐和视频的远程副本从服务器串流至各个家庭计算机。将文件从单独的计算机手动复制到服务器可能是繁琐的。因此,用户可能希望服务器在没有明显用户干预的情况下对特定文件执行自动收集。已经开发出执行这种自动文件收集的技术,但是这些技术可能具有某些限制。例如,这些技术可能鉴于访问安全的目的而限制服务器发起的通信和/或可能低效地复制来自多个客户机的相同文件。附图说明图I是根据实施例的客户机-服务器系统的框图;图2是描述根据实施例可以将来自客户机的文件存储在服务器上的方式的框图;图3是图示根据实施例的自动文件收集的方式的流程图;图4是描述图3的自动文件收集的客户机侧方法的实施例的流程图;以及图5是描述图3的自动文件收集的服务器侧方法的实施例的流程图。具体实施例方式下面将描述本公开的一个或多个实施例。为了提供这些实施例的简洁描述,在说明书中未描述实际实现的全部特征。应当理解,在开发任何这样的实际实现过程中,如在任何的工程或设计项目中,必须做出多个特定实现的判定来实现开发者的特定目标,例如符合系统相关的和商业相关的限制,这些限制可能因实现不同而不同。而且,应当理解,这种开发努力可能是复杂且耗时的,但是对于得到本公开益处的本领域技术人员来说仍然是设计、生产和制造的常规任务。提供的实施例涉及健壮、安全和有效的基于HTTP的客户机-服务器通信。根据这样的实施例,不是提供每个客户机直接访问服务器上的存储器共享并且允许每个客户机将文件保存到服务器共享上,而是每个客户机仅在服务器请求这么做时才可以传输文件。具体地说,指定的客户机可以向服务器发起长轮询超文本传输协议(HTTP)请求。然后,服务器可以在服务器准备好时以发给客户机的命令来对长轮询请求做出响应。以此方式,服务器可以在不直接访问客户机的文件系统的情况下安全地从客户机请求特定文件。同时,客户机可以收集与本地客户机存储器中的可用文件有关的信息。客户机可以将该收集的文件信息经由HTTP通过文件供给(file offer)传送给服务器侧的HTTP处理机(HTTP handler),服务器侧的HTTP处理机可以作出HTTP确收的响应。正是根据这种文件供给,服务器可以确定存储在各个客户机上但未储存在服务器上的文件。然后,服务器响应于客户机最初所发送的长轮询HTTP请求而可以通过发送文件请求命令来从客户机请求那些文件。随后,通过经由文件传输协议(FTP )将文件传输至服务器,客户机可以在不直接访问服务器共享的情况下提供文件。由于客户机发起所有与服务器的通信,因此可以维持客户机的相对高的安全水平。而且,由于服务器可以根据需要决定何时响应于长轮询HTTP请求来向客户机发出文件请求,因此服务器可以请求客户机仅在网络带宽可用时发送某些文件。还应当注意到,因为当在多个客户机上可获得指定文件时,服务器可以选择哪个客户机提供该文件,因此所提供的实施例可能是更有效的。通过允许服务器选择文件的单个来源点,可以降低或消除多个客户机将同一文件复制给服务器的倾向。考虑到以上所述的,图I呈现了这种客户机-服务器系统10,该客户机-服务器系·统10包括能够经由HTTP与服务器14通信的一个或多个客户机12。因此,客户机-服务器系统10可以包括至少一个服务器14和任何合适数量的客户机12,合适数量的客户机12在图I中被标记为I至N。每个客户机12可以包括内存18、存储器20、用户接口 22、网络接口 24以及一个或多个处理器16,还可以包括其它装置。客户机12的各个功能框可以包括硬件要素、软件要素或硬件要素和软件要素的结合。图I所示的客户机12的框旨在仅代表客户机12的具体实现的一个示例,并且旨在图示在客户机12中可以存在的组件类型。作为示例,客户机12可以是由惠普公司生产的笔记本或台式计算机。此外或可替代地,客户机12可以是能够存储文件并经由HTTP发起与服务器14通信的任何其它适合的电子设备。处理器16和/或其它数据处理电路可以可操作地联接到内存18和存储器20,以执行用于实现当前公开的客户机-服务器技术的各种算法。这些算法可以被编码在可以由处理器12运行的并且可以存储在任何适合的制品中的程序和/或指令,任何适合的制品包括至少共同地存储指令或例行程序的一种或多种有形计算机可读介质,例如内存18和/或存储器20。存储器20可以存储大量文件,这些文件中的一些文件可以被复制在其它客户机12的非易失性存储器20中。客户机12的存储器20可以包含媒体文件,例如照片、音乐和视频,还可以包含其它文件。当用户经由用户接口 22(例如显示器、扬声器和/或键盘和鼠标)与客户机12交互时,用户可以访问或修改在存储器20中包含的文件。在某些实施例中,客户机12可以串流来自服务器14的文件或者可以访问位于服务器14处的文件。服务器14可以代表能够实现目前公开的客户机-服务器通信的任何适合的服务器。作为示例,服务器14可以是能够运行微软视窗家庭服务器(WHS)的家庭服务器,例如由惠普公司生产的HP MediaSmart服务器。与客户机12类似,服务器14可以包括内存28、非易失性存储器30、网络接口 32以及一个或多个处理器26。这些组件26-32可以以与客户机12的对应组件类似的方式操作。服务器14可以从与服务器14通信的客户机12的存储器20收集某些文件。具体地说,如图2所示,服务器的存储器30通常可以包括指定文件的至多一个副本,即便该文件可能同时存储在不止一个客户机12处。图2图示分别属于客户机-服务器系统10中的两个不同客户机12的两个存储器20A和20B。如图所示,客户机的存储器20A包括被标记为和“Z”的三个文件。客户机的存储器20B包括被标记为“A”、“Y”和“Z”的三个文件。虽然在客户机的存储器20A和20B上存储六个文件例子,但是总共仅存在四个唯一的文件。因此,为了获得每个文件的一个唯一的副本,服务器的存储器30可仅需要从客户机的存储器20A和20B中的每个存储器接收几个文件。如图所示,服务器的存储器30可以从第一客户机的存储器20A获得第一组文件34 (文件“A”和“B”),并且从第二客户机的存储器20B获得第二组文件36 (文件“Y”和“Z”)。为了收集某些文件,客户机-服务器系统10可以执行自动文件收集技术40,如图3所示。自动文件收集技术40可以包括服 务器14和任何合适数量的客户机12之间的通信。如图3所示,加入到客户机-服务器系统10中的每个客户机12可以经由两个并行线程(即命令/请求线程42和文件收集线程44)操作。一般而言,命本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:詹森·D·戈德曼
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1