客户-服务器动态文件访问系统和方法

文档序号:6419308阅读:159来源:国知局
专利名称:客户-服务器动态文件访问系统和方法
技术领域
本发明一般涉及在客户-服务器环境中操作的动态文件访问系统,并且尤其涉及允许文件更新被动态查看的用于多计算平台环境的动态文件访问系统。
常常需要从用户计算机或终端访问被存储在网络服务器或其它远程计算机的盘驱动器或存储器装置上的计算机文件。用户计算机或终端可通过通信媒体以及通信硬件,如电话线和调制解调器、局域网和网络接口卡、互联网或其它适当的通信媒体连接到网络服务器或其它远程计算机。
尽管用户计算机以这种方式连接到网络服务器或其它远程计算机,但允许一个以上的用户在任何给定时间访问数据文件通常是困难的。当第一个用户正在访问数据文件并执行对数据文件的更新时,必须锁住其它用户对该数据文件的访问,以防止执行多个并行的更新。尤其,不能把控制对数据文件的更新的操作系统配置成允许其它计算平台的其后操作系统访问该数据文件,这样是为了防止数据文件的讹误。
尽管如果多个用户要求访问文件有可能导致在数据文件中讹误数据的风险,仍希望允许某些用户在数据文件更新时查看数据文件的内容。例如,UNIX操作系统提供“tail-f”命令,该命令允许数据文件在其被存储到盘驱动器或其它存储装置后被查看。但是,“tail-f”命令仅对于正由UNIX的常驻版本控制的文件有效。在多计算机环境中,诸如客户-服务器环境中,不能把UNIX“tail-f”命令用于查看数据文件的内容。
因此,需要一种减少或消除与提供对数据文件的多用户访问的已知系统和方法相关的问题的文件访问系统和方法。
根据本发明,提供一种文件访问系统和方法,其基本上减少或消除了与先前开发的提供对数据文件的多用户访问的系统和方法相关的缺陷和问题。
本发明的一个目的是提供一种文件访问系统,甚至在用户正使用一种采用与控制对数据文件更新的操作系统不同的操作系统的计算平台时,其都允许用户动态查看对数据文件的更新。
本发明的另一目的是提供一种文件访问系统,其允许对数据文件执行除更新的动态查看外的附加功能,如数据串搜索。
本发明的又一目的是提供一种方法,用于提供对可结合到多个应用中的数据文件更新的动态访问,以允许服务器所使用的用于这些应用的数据文件由用户从系统的任何节点动态查看。
根据本发明,提供一种在数据文件更新随时间发生时查看数据文件更新的系统。该系统包括文件访问客户,如在通用计算机上操作的软件包,其请求对数据文件的动态访问。该系统还包括文件访问服务器,如在通用计算机上操作的软件包。文件访问服务器例如经网络连接到文件访问客户,并把数据文件的初始内容和随时间发生的任何数据文件修改发送到文件访问客户。
本发明还有一方面是一种用于在数据文件更新随时间而发生时查看数据文件更新的方法。该方法包括从文件访问客户(如带有软件系统的计算机)向文件访问服务器(如带有不同软件系统的另一计算机)发送对文件访问的请求。然后把作出请求时数据文件的文件内容从文件访问服务器传送到文件访问客户。在文件更新随时间而发生时把文件更新从文件访问服务器传送到文件访问客户。
本发明又一方面是一种用于动态查看数据文件更新的方法。该方法包括在文件状态服务器(如在通用计算平台上操作的计算机软件程序)接收消息。从该消息提取数据文件名,并对该数据文件开始回调服务。然后对数据文件执行预定功能来确定数据文件是否有变化。如果有,则把执行该功能的结果传送到用户。
本发明提供很多重要的技术优点。本发明的一个重要的技术优点是一种用于提供对计算平台的数据文件动态访问的系统,其允许从另一计算平台动态查看数据文件的内容,却不用担心产生数据讹误的风险。
本发明的另一个重要的技术优点是一种提供对计算平台的数据文件动态访问的方法,其允许用户从网络的其它节点查看那一数据文件的改变,从而甚至当用户实际不在控制该数据文件的计算平台处时也允许执行调试、维护或其它适当的功能。
为更完全理解本发明和其优点,参考下面联系附图的说明,其中相同参考序号表示相同部件,其中

图1是体现本发明的概念的计算机网络图;图2是体现本发明的概念的文件访问客户和文件访问服务器的框图;图3是根据本发明的教导提供对数据文件的动态访问的方法的流程图;图4是根据本发明的教导提供对数据文件的动态访问的方法的流程图。
下面给出的是对本发明的例示实施例的具体描述。
图1是体现本发明的概念的计算机网络100的图。计算机网络100可被用于允许用户从计算机网络100的其它任何一个节点动态查看对计算机网络100的第一节点上数据文件的更新。以这种方式,用户可不需要对数据文件进行访问就能查看在数据文件中发生的变化,并且还可在网络的另一节点上发生这些改变时查看这些改变。因此用户不需要实际在节点处就能查看文件更新,从而可从网络的任何节点执行网络的维护或故障查找。
计算机网络100包括两个或更多个节点102到104。各个节点102到104可包括文件查看客户110。节点102到104连接到通信媒体106,该媒体进而连接到服务器108。在这个应用中,连接包括通过其可以使两个组件相互作用的任何机构或机构的组合,诸如网卡、调制解调器、双绞导线、同轴导线、光纤导线、通过逻辑电路或数据存储装置的逻辑连接或者其它适当的机构。服务器108包括文件查看服务器112。
把节点102到104用于对网络100的用户提供服务。例如,节点102到104可包括具有微处理器、盘驱动器、随机存取存储器、视频协处理器、光盘驱动器和其它适当的个人计算设备的个人计算机。同样,节点102到104可包括具有充足的微处理器和存储器组件来远程操作存储在服务器108上的软件应用程序的远程终端。节点102到104还可包括其它适当的计算组件。
文件查看客户110是在节点102到104之一或多个上操作的系统。文件查看客户110可包括软件、硬件或软件与硬件的适当组合。文件查看客户110优选地包括在通用计算平台上操作的软件,并且驻留在节点102到104上。或者,可在用户登录到服务器,如服务器108后把文件查看客户110从服务器108或另一适当的服务器转移到节点102到104。
通信媒体106是把两个或多个节点102到104连接到服务器108的数据通信媒体。例如,通信媒体106可以是10baseT局域网通信媒体、100baseT局域网通信媒体、互联网通信媒体、光纤通信媒体或其它适当的通信媒体。通信媒体106可根据电、光、电磁或其它适当的物理原理操作。把通信媒体106用于在节点102到104与服务器108之间传送编码的数据通信,如数字编码的数据。
服务器108是计算网络服务提供者,其包括文件查看服务器112。例如,服务器108可包括具有一个或多个盘驱动器、随机存取存储器和其它适当计算硬件的微计算机。服务器108还可以包括个人计算机、工作站、膝上计算机或可操作文件查看服务器112的其它适当的计算平台。
文件查看服务器112是可操作地向文件查看客户110提供文件查看服务的系统。文件查看服务器112可包括软件、硬件或软件与硬件的适当组合。文件查看服务器112优选地是在服务器108上操作的软件应用程序。文件查看服务器112还可包括或者另选地包括在通用计算平台上操作的适当软件系统的系统或子系统,如操作系统。
操作中,节点102到104处的用户在诸如激活软件系统时,或者通过手工地输入请求或者通过自动地输入请求来请求对存储在服务器108上的文件的访问。同样,如果服务器108包括用户接口,客户可以是在服务器108而不是通过通信媒体106正访问服务器108的操作员。在那种情况下,文件察看客户110还可驻留在服务器108上,使得文件查看客户110与文件查看服务器112之间的所有通信通过服务器108的计算平台的数据结构和总线发生。
文件查看客户110优选地向用户提示一个输入屏幕,请求(输入)数据文件名和定位数据文件所必须的任何其它信息。例如,向用户呈现一个提供文件名、服务器、驱动器、应用目录或其它适当信息的请求。如果用户不知道某个信息,还可向用户提供下拉菜单,搜索屏幕或其它适当的用于识别用户感兴趣的数据文件的帮助。还可根据用户位置、与用户相关的用户标识数据或其它的适当处理自动地产生或交叉引用文件和服务器位置。
在接收用于识别所请求文件的用户输入后,文件查看客户110向文件查看服务器112发送包括文件名的请求。优选地,接收该请求的文件查看服务器112驻留在存储该文件的服务器108上。但是,文件查看服务器112还可交替地控制其它服务器108或计算机网络100的节点上的数据存储装置。之后文件查看服务器112组装包括所请求数据文件的当前内容的初始传输并且将数据文件的当前内容传送给用户。在用户的节点上操作的文件查看客户110把数据文件内容以用户可阅读的格式提供给用户。
根据本发明的一个实施例,文件查看服务器112把数据文件的初始内容以预定方式提供给文件查看客户110。例如,文件查看服务器112如通过把数据文件大小和访问时间记录与最后一次监视数据文件的数据文件大小和访问时间记录进行比较,可周期地检查数据文件的变化。例如,文件查看服务器112在数据文件的初始内容被传送到用户时可以存储访问时间和文件大小,并且然后在预定时间周期,如2秒后,将访问时间和文件大小与这些存储的值相比较。如果访问时间或文件大小数据字段有变化,那么存储这些新数据字段值,以用于将来比较。
其它适当的处理同样可用于确定文件是否发生了变化。例如,文件查看服务器112可控制到数据文件的数据存储,使得对数据文件的任何修改被缓冲,以传送到文件查看客户110。或者,文件查看服务器112可执行诸如文本串搜索的其它功能,可比较数据文件的当前内容和数据文件的缓冲版本,或执行其它适当的数据文件功能。
直到预定时间之前,由文件查看服务器112检测到的数据文件的更新都被传送到文件查看客户110。例如,在文件查看客户110发送命令到文件查看服务器112来指令文件查看服务器112停止传送数据文件更新之前,可一直传送数据文件更新。或者,文件查看服务器112可验证是否发生数据文件的更新,如数据文件是否被另一用户或另一应用软件打开。如果这种数据文件更新没有发生,文件查看服务器112可传送适当的消息到文件查看客户110以告知文件查看客户110该文件处于闲置并且没有进行进一步的更新。可实施其它适当的特征来停止数据文件更新的传送。
以这种方式,文件查看客户110可随着数据文件的内容改变动态地接收数据文件的当前内容。这些数据文件更新可从任何如前所述通过通信媒体106连接到在节点102到104上或在服务器108上操作的文件查看客户110的文件查看服务器112接收到。这样,文件查看客户110和文件查看服务器112允许网络管理者通过查看诸如文件服务器、邮件服务器、通信服务器或其它适当服务器的服务器上的记录文件来监视服务,以看到当网络用户登录并使用这些服务器提供的服务时,它们如何随时间而响应。同样,也可不需要网络维护人员实际走到存储记录文件的节点就能对节点或服务器位置执行维护和调试操作。
如前所述,本发明可以以除客户-服务器结构以外的适当结构来实施。例如,文件查看客户110和文件查看服务器112的功能可组合到通用程序中,如操作系统、字处理系统、通信系统、邮件系统或其它适当系统,使得提供的唯一访问是对于某预定的记录文件。而且或另选地,本发明还提供安全限制,使得仅允许某类用户查看与其类别相关的文件。
图2是体现本发明的概念的文件查看客户202和文件查看服务器204的框图。文件查看客户202可用于类似于文件查看客户110的应用中,文件查看服务器204可用于类似于图1的文件查看服务器112的应用中。
文件查看客户202可包括硬件、软件或硬件和软件的适当组合。文件查看客户202优选地包括在通用计算平台上操作的软件应用系统。文件查看客户202包括连接到格式器系统208的数据输入系统206。数据输出系统210也连接到格式器系统208。格式器系统208连接到接口系统212,接口系统212再连接到通信媒体106。
文件查看服务器204还包括连接到通信媒体106的接口系统214。格式器系统216连接到接口系统214、命令处理器系统218和文件扫描器系统220。回调系统222连接到命令处理器系统218。回调系统222和命令处理器系统还或者另选地包括命令或功能的命令库224或单个命令处理系统224。
文件查看客户202优选是允许文件内容被动态查看的用户启动系统,但在发生预定的情况时可以自动调用。文件查看客户202驻留在客户或服务器节点上,如个人计算机、远程终端、服务器的访问终端或其它适当系统或设备。文件查看客户202允许在文件内容随时间发生改变时查看文件的内容,如允许网络管理者监视服务器记录文件,以看到在用户访问服务器时记录文件的内容如何改变。另外,可不要求网络管理者实际出现在服务器的服务终端,由网络管理者使用文件查看客户202执行调试和维护活动。
在操作中,用户通过启动数据输入系统206操作,如通过选择视窗操作环境中的图标来操作文件查看客户202。数据输入系统206提示用户输入访问数据文件所需的文件标识信息。例如,数据输入系统206可请求用户的文件名、服务器节点位置或其它适当的数据。或者,这种数据可根据用户、激活文件查看客户202的节点或其它适当数据而自动地产生。
数据输入系统206连接到格式器系统208并且把用户输入的文件标识数据传递到格式器系统208。该文件标识数据通常为文件查看客户202的其它系统或文件查看客户202在其上操作的计算平台使用的预定数据结构。文件标识数据还可或另选地以文件查看客户202使用的优化数据结构来提供。格式器系统208从数据输入系统206接收数据并把数据转换为通用消息数据格式,如在局域网或其它数据通信媒体上使用的规范消息格式。然后格式器系统208把消息传送到接口系统212,该接口系统把消息经通信媒体106传送到文件查看服务器204。
接口212可以是分布式客户-服务器系统使用的应用程序接口。或者或另外,接口系统212可包括网络硬件卡系统、调制解调器或其它对通信媒体106的硬件接口。优选地,接口系统212是可操作地接收对于硬件网络接口设备或调制器解调器设备以及通信媒体透明的数据消息并把这些消息传送到网络内定址的目的地的分布式系统。这种目的地还可以包括经广域网的局域网门户、互联网到达的目的地或经通信媒体到达的其它适当的位置。
格式器系统208还可操作地从接口系统212接收消息并把这些数据消息转换为适合于数据输出系统210使用的数据格式。数据输出系统210被用于把数据以用户可读出格式从文件查看服务器204提供出去。例如,这个数据可以是表示文件不存在的消息。数据还可包括用户请求的数据文件的初始内容,当那一文件发生这些更新时对用户请求的数据文件的更新或其它适当数据。
文件查看服务器204可通过软件、硬件或软件与硬件的适当组合来实施,并且优选地是在通用计算平台上操作的软件应用程序。文件查看服务器204接收自动产生的或用户输入的文件信息,为用户定位所请求的文件,传送数据文件的初始数据内容以及在更新发生时的更新内容。文件查看服务器204包括连接到通信媒体106的接口系统214。接口系统214优选地是应用程序接口,可操作地以对于网络中多个位置的底层硬件和软件通信设备透明的方式在网络上这些位置之间传送数据消息。接口系统214还可包括网络访问卡、调制器解调器设备或其它适当的硬件以及对该硬件操作的软件。
接口系统214连接到格式器系统216。格式器系统216可操作地从接口系统214接收数据消息并把数据消息转换为命令处理器系统218、文件扫描器系统220和回调系统222可使用的格式。这个数据格式可以是文件查看服务器204在其上操作的计算平台的操作系统所使用的数据格式或是文件查看服务器204的子系统所使用的优化的数据格式。
命令处理器系统218从格式器系统216接收数据消息并确定这些数据消息是否包含文件查看服务器204使用的操作命令。例如,命令处理器系统218可确定数据消息包含一个命令,该命令包括对数据文件进行动态访问的请求,并且随后确定是否数据文件可由文件查看服务器204访问。然后命令处理器系统218指令文件扫描器系统220开始动态访问数据文件,并指令回调系统222开始对用户或请求这种服务的文件查看客户202回调动态文件更新。或者,如果命令处理器系统218确定请求的文件不能在文件查看服务器204操作的服务器上被访问,命令处理器系统218可产生错误消息,以发送到用户,或者尝试识别正确的服务器并对用户产生确认请求,以确认选择了正确的服务器。
文件扫描器系统220连接到命令处理器系统218和格式器系统216,并且可操作地打开数据文件并当更新发生时访问对数据文件的更新。例如,文件扫描器系统220可类似于UNIX“tail-f”命令操作,使得已经被存储到盘或其它数据存储器设备的数据文件的内容被提取并传送到用户而无需以一种会产生文件中数据的不稳定状况的方式改变这些内容。但是与UNIX“tail-f”命令不同,文件扫描器系统220可在具有2个或多个计算节点的局域网上操作。文件扫描器系统220通过适当方法,如通过在数据字段中存储文件状态特性并周期地检查这些文件状态特性的改变来跟踪数据文件发生的更新。
例如,可每2秒检查一次文件大小和访问时间数据并与文件大小和访问时间数据字段的存储值相比。如果有改变发生,那么文件扫描器系统220在对应的数据字段存储文件大小和访问时间的新值,并对数据文件执行预定功能。例如,预定功能可包括由文件扫描器系统220定位用于识别原先在数据文件中存储的最后数据字段的数据地址的指针字段。具有在指针的数据地址后发生的数据地址或具有大于该指针地址的地址的任何数据可能是在最后一次扫描文件后已经被增加到文件的数据。
或者,数据文件可构成为使得文件可通过直接修改文件内的数据结构来更新。在这种情况下,文件中的最后一个数据记录的先前存储的地址将不提供已经被改变的数据记录的指示。因此可执行或必须执行其它功能来确定是否有改变,或者识别出已经改变了的数据。例如,数据文件的内容可被存储在缓冲器中,并且如果文件访问时间或数据文件大小字段发生了改变,则可将缓冲的文件与当前数据文件相比。或者,可以执行用于识别出预定数据的数据串搜索,其中该数据将表示出数据文件已经被修改或者感兴趣的数据已经被增加到数据文件中,例如一个错误消息。一般而言,文件扫描器系统220可对数据文件执行任何适当的数据文件功能,并且如果有结果的话,把结果返回到用户以进行用户评估。
回调系统222连接到命令处理器系统218,并且可以是命令处理器系统218的子系统、相关的库功能或其它适当的系统。回调系统222周期地使得文件扫描器系统220对数据执行预定功能并把数据传送到格式器系统216。例如,从文件扫描器系统220接收到的初始响应可以是数据文件的初始数据内容。回调系统222使得文件扫描器系统220把这些数据内容以预定格式(如文件查看服务器204在其上操作的计算平台的操作系统的格式或文件查看服务器204使用的优化数据格式)传送到格式器系统216。回调系统222还使得文件扫描器系统220在文件更新动态发生时传送文件更新。多个用户可请求对单个数据文件的访问,并且单个用户也可请求访问多个数据文件。
在操作中,用户通过数据输入系统206访问文件查看客户202。数据输入系统206可使用文本提示、显示窗口或其它适当提示来提示用户。数据输入系统206还可或者另选地是当用户格式化适当的命令结构时自动激活的命令库224,其典型代表是一个命令标题和适当的命令数据结构,如文件名、服务器位置或其它适当命令数据。然后文件查看客户202与文件查看服务器204连接来向用户提供数据文件的初始内容,接着是当数据文件更新时提供更新内容。
在图2所示的实施例中,对于动态文件状态访问的请求从格式器系统208传送到接口系统212和214,再经文件查看服务器204的格式器系统216并到达命令处理器系统218。命令处理器系统218把对于所请求的文件的命令传送到文件扫描器系统220,并且文件扫描器系统220启动那一文件的动态状态覆盖。回调系统222产生周期命令以使得数据经格式器系统216、接口系统214和212、格式器系统208和数据输出系统210传回用户。
对数据文件的动态访问的终止可以适当方式处理。优选地,用户通过数据输入系统206输入命令来终止对文件的访问。这个命令由命令处理器系统218接收,其验证命令的正确结构并对文件扫描器系统220产生附加命令来引起对数据文件访问的终止。或者,可使用其它适当方法来终止对文件的访问,如通过扫描对数据文件的用户访问来确定何时不再发生进一步的用户访问。在这个另选实施例中,可以由文件扫描器系统220或命令处理器系统218产生一个消息,通知用户该文件已经被关闭并且当前没进行修改。同样,命令处理器系统218可从其它用户或服务器接收将引起文件的动态访问中止的命令,如闭锁命令、维护命令、管理命令或其它适当命令。
文件扫描器系统220还可被配置成在预定时间周期提供对文件的动态访问随后终止动态访问,除非用户再发出指令来重新启动动态访问。文件扫描器系统220还可用于调整对数据文件的访问,使得存储到盘上的对数据文件的任何修改必须经文件扫描器系统220路由,从而允许文件扫描器系统220监视对数据文件的更新的状态。普通技术人员将认识到可使用其它适当方法来提供对数据文件的动态访问。
图3是根据本发明的教导用于提供对数据文件的动态访问的方法300的流程图。方法300可通过文件访问客户-服务器系统实施,如在图2中已知的那种系统,或通过其它适当的系统实施。
方法300开始于步骤302,其中对于文件访问的请求从客户发送到服务器。在这方面,客户和服务器可以是在不同计算平台上操作的驻留应用程序,但可以不是截然不同地识别为客户和服务器。例如,从第一操作系统发送请求并且由第二操作系统来接收,其中各个操作系统包括客户功能和服务器功能。
然后方法进行到步骤304,其中服务器得到当前文件数据并把当前文件数据传送到客户。例如,服务器可首先验证数据文件是在服务器的计算平台上还是服务器诸如在远程或本地数据存储设备处控制该数据文件。然后服务器验证是否许可客户访问数据文件、数据文件已经改变了还是被最近的版本替代或其它适当功能。如果服务器确定数据文件的传送不应发生,可以提供附加的步骤来通知用户动态访问失败的原因。如果服务器确定数据文件向用户的传送被批准了,那么数据文件的内容可被拷贝到缓冲器中并且以适当的消息格式传送过连接服务器和客户的通信媒体。之后方法进行到步骤306。
在步骤306中,确定计时器是否超时,如果发生计时器超时,则方法进行到步骤308,在那里确定文件是否发生改变。例如,当服务器在步骤304向用户传送当前数据文件信息时,数据文件的大小和数据文件的访问信息也可在此时被存储在数据字段中。这些数据字段在步骤308与数据文件的当前大小和访问信息作比较以确定数据文件是否发生了改变。如果数据文件已经发生改变,则方法进行到步骤310,否则方法进行到步骤314。
在步骤310中,由服务器对数据文件执行一个或多个数据文件功能。例如,服务器可从存储器取出指针数据字段,其识别出先前容纳有数据文件的最后数据字段的数据文件存储器地址。在那一数据字段后的所有数据,例如具有大于与指针相关的数据字段的数据地址的数据地址的数据,可被服务器取出并传送到用户。或者,服务器执行数据文件的当前内容与已经存储到缓冲器中的数据文件的先前内容的内容之间的比较,对文件执行数据串搜索,或对数据文件执行其它适当数据功能。然后方法进行到步骤312。
在步骤312中,把对数据文件执行该功能的结果传送到客户。例如,如果该功能的结果是数据文件中所有的数据字段具有在指针的数据字段地址后发生的数据地址,那么该信息可被传送到客户。同样。其它适当的数据可被传送到客户,例如如果该功能的结果是产生数据串,则传送一个通知用户一数据串现在存在于数据文件中的消息。该方法然后进行到步骤314。
如果在步骤306发生计时器超时或者在步骤308没有发生文件改变,方法直接进行到步骤314。在步骤314中,确定是否应终止文件访问。优选地,在一从用户接收到指令服务器终止动态文件访问的命令时就终止文件访问。也可由于其它适当原因或一接收到其它适当命令就终止动态文件访问。例如,如果数据文件的所有用户已经离开数据文件,那么数据文件的动态访问可以终止直到发生对文件的附加更新。同样,可产生管理命令来封锁对数据文件的访问。还可查看出错消息来确定对数据文件的访问是否应终止。还可把计时器用于确定是否对数据文件的访问应被终止。如果在步骤314确定对数据文件的动态访问应终止,那么,方法进行到步骤316并且终止。否则,方法返回到步骤306。
在操作中,把方法300用于对用户提供动态文件访问。方法300可通过互补应用程序或包括客户-服务器功能的操作系统、或者通过其它适当系统被用于客户-服务器环境中。方法300允许用户在其实际位于除控制对数据文件访问的服务器之外的位置时查看数据文件的内容。方法300提供的数据文件访问是动态的,以允许用户执行网络维护,调试或其它适当操作。
图4是根据本发明的教导提供对数据文件的动态访问的方法400的流程图。方法400可被操作系统、服务器或其它适当系统或设备使用,以向本地的或远程终端或设备的用户提供动态访问。
方法400开始于步骤402,其中从数据结构中抽取一个消息。然后方法进行到步骤404,其中确定该消息是否为取消消息。如果消息是取消消息,那么方法进行到步骤406并且文件访问服务被取消。否则方法进行到步骤408。
在步骤408中,把消息解包为适当的数据结构,例如可由操作方法400的操作系统或计算平台使用的数据结构。然后方法进行到步骤410,其中文件名从数据结构抽取出来。还可随后修改这个文件名来包括定位数据文件位置所需的附加数据,例如作为请求对数据文件访问的用户的功能的数据,作为接收消息的服务器的功能的数据或其它适当数据。
在步骤412中,数据文件被打开并且数据文件的内容被取出和缓冲,以传送到用户。另外,此时其它信息也可被缓冲,如文件大小、访问信息、数据文件中的最后数据字段或数据记录的数据地址或其它适当数据。然后方法进行到步骤414,其中启动回调服务。回调服务通常跟踪请求对数据文件访问的用户,并且确保对数据文件的更新被传送到用户。在步骤414数据文件的初始状态也可被传送到用户。然后方法进行到步骤416。
在步骤416中,确定是否发生文件状态的改变。例如,通过比较当前文件大小和访问参数与在先前存储的文件大小和访问参数来确定文件大小或访问参数的改变。可使用其它适当方法来确定文件状态是否改变,例如通过监视存储到文件的数据,通过对数据文件执行数据文件功能(如比较或文本串搜索),或者通过其它适当方法。如果文件状态没有发生改变,方法进行到步骤422。如果文件状态发生改变,方法进行到步骤418。
在步骤418中,对数据文件执行数据文件功能。例如,数据文件功能可包括确定指针的数据地址以及拷贝存储在数据文件中的在指针的地址之后发生的或具有大于指针的地址的地址的所有数据。或者,或另外,可执行其它数据文件功能,如比较功能、文本串搜索或其它适当功能。也可执行随动功能,例如重置指针的数据手段地址,或执行其它适当功能。然后方法进行到步骤420。
在步骤420中,把对数据文件执行功能的结果传送到客户。例如,如果结果是在指针的数据地址后发生的所有数据,那么,该数据从数据文件被缓冲并且转换为适合于向客户节点或其它操作系统上的用户传送的消息格式。然后方法进行到步骤422。
在步骤422中,确定是否接收到一个消息,例如来自用户的消息、出错消息,管理消息或其它适当消息。如果没有接收到消息,那么方法返回到步骤416。否则方法返回到步骤402。
在操作中,方法400可被用于提供对数据文件的动态访问。方法400可结合文件访问客户和文件访问服务器使用,或可合并到应用程序中使用,如邮件应用程序、通信应用程序、字处理应用程序或其它适当应用程序。方法400允许用户在记录文件或其它适当数据文件更新时访问这些文件,从而用户可执行管理功能、操作功能、维护功能、调试功能或其它适当功能。方法400允许用户从网络(如局域网、广域网、互联网或其它适当的网络)的任何节点或通过远程通信链路访问数据文件。
尽管本发明参考图示的实施例作了描述,本说明书并不意欲构成限制。例如,这里公开的优选实施例可包括各种系统和子系统,其仅用来提供公开和实施本发明的最佳方式,但其并非旨在限制后附权利要求中包含的本发明。对于本领域技术人员而言,在参考了说明书后,图示的实施例的各种变形和组合以及本发明的其它实施例变得非常明显。因此旨在由后附权利要求来包括任何这种修改或实施例。
权利要求
1.一种用于动态查看对数据文件的更新的系统,包括可操作地请求对数据文件的动态访问的文件访问客户;和连接到文件访问客户的文件访问服务器,文件访问服务器可操作地把数据文件的初始内容和随时间动态产生的数据文件修改传送到文件访问客户。
2.根据权利要求1的系统,其中文件访问客户还包括可操作地提示用户输入数据文件标识数据并把数据文件标识数据放置在预定数据结构中的数据输入系统。
3.根据权利要求2的系统,其中文件访问客户还包括连接到数据输入系统的格式器系统,格式器系统可操作地以预定数据结构从数据输入系统接收数据文件标识数据并把数据文件标识数据转换为规范消息格式。
4.根据权利要求3的系统,其中文件访问客户还包括连接到格式器系统的数据输出系统,格式器系统还可操作地接收规范消息格式的数据文件状态数据并将数据文件状态数据转换为另一预定数据结构,数据输出系统可操作地把数据文件状态数据以用户可读出的格式给出。
5.根据权利要求1的系统,其中文件访问客户和文件访问服务器都包括可操作地把数据传送到通信媒体和从通信媒体传送数据的接口系统。
6.根据权利要求1的系统,其中接口系统是应用程序接口。
7.根据权利要求1的系统,其中文件访问服务器还包括可操作地对数据文件执行一个或多个功能的文件扫描器系统;连接到文件扫描器系统的回调系统,该回调系统可操作地把文件扫描器系统输出的数据进行编译以向文件访问客户传送。
8.根据权利要求7的系统,其中文件扫描器系统可操作地确定文件访问时间字段和文件大小字段的当前值是否与文件访问时间字段和文件大小字段的先前值不同,以输出在数据文件的指针位置后产生的数据文件中的所有数据,并且改变数据文件的指针位置以与数据文件中的最后一个数据记录一致。
9.根据权利要求7的系统,其中文件访问服务器还包括连接到文件扫描器系统的命令处理器系统,该命令处理器系统可操作地把一个或多个命令传送到文件扫描器系统以引起文件扫描器系统启动对数据文件的文件扫描,该命令处理器系统还可操作地把一个或多个命令传送到文件扫描器系统以引起文件扫描器系统停止对数据文件的文件扫描。
10.根据权利要求7的系统,其中文件扫描器系统执行的功能是数据串搜索。
11.根据权利要求7的系统,其中文件扫描器系统执行的功能是比较数据文件的当前内容与数据文件的缓冲版本。
12.根据权利要求9的系统,其中文件访问服务器还包括连接到命令处理器系统和回调系统的格式器系统,格式器系统可操作地接收规范消息格式的数据文件标识数据,以把规范消息格式转换为预定格式,把预定格式的数据文件标识数据传送到命令处理器系统,从回调系统接收编译的数据,并把编译的数据转换为规范消息格式。
13.一种用于动态查看数据文件的更新的方法,包括从文件访问客户向文件访问服务器发送对文件访问的请求;从文件访问服务器向文件访问客户传送初始文件内容;把文件更新从文件访问服务器动态传送到文件访问客户。
14.根据权利要求13的方法,其中从文件访问服务器向文件访问客户传送文件更新还包括在经过预定时间量后确定数据文件是否发生改变;对数据文件执行功能以产生改变数据;从文件访问服务器向文件访问客户传送改变数据。
15.根据权利要求14的方法,其中对数据文件执行功能以产生改变数据还包括确定一个指针的数据地址;拷贝在指针的数据地址后发生的数据以产生改变数据;把指针位置设置成等于数据文件中的最后数据地址。
16.根据权利要求14的方法,其中对数据文件执行功能以产生改变数据还包括对数据文件执行数据串搜索;如果在数据文件中发现数据串,则把预定值作为改变数据返回。
17.根据权利要求14的方法,其中对数据文件执行功能以产生改变数据还包括利用数据文件的当前内容和数据文件的缓冲版本执行文件比较;把文件比较结果作为改变数据返回。
18.根据权利要求13的方法,还包括从文件访问客户向文件访问服务器传送命令,以终止文件更新的传送。
19.根据权利要求13的方法,还包括如果文件不被另一用户访问,则终止文件更新的传送。
20.一种用于动态查看数据文件的更新的方法,包括在文件状态服务器接收一个消息;从该消息提取数据文件名;如果数据文件有变化则对该数据文件周期性地执行一个功能;把功能结果传送到用户。
21.根据权利要求20的方法,还包括如果该消息是终止服务消息,则终止对数据文件的回调服务。
22.根据权利要求20的方法,其中对数据文件开始回调服务还包括把数据文件的初始内容传送到用户;开始一个计时器循环。
23.根据权利要求20的方法,其中如果数据文件有变化则对该数据文件执行功能还包括比较在当前计时器循环结束的文件大小与在前一计时器循环结束的文件大小;确定在文件访问时间字段中存储的时间值是否大于前一计时器循环的结束的时间值;如果在当前计时器循环结束的文件大小与在前一计时器循环结束的文件大小不等并且如果在文件访问时间字段中存储的时间值大于前一计时器循环的结束的时间值,则对数据文件执行该功能。
24.根据权利要求20的方法,其中对该数据文件执行功能还包括拷贝该文件中带有指针地址后的地址的所有数据;把指针地址重置到等于数据文件中的最后数据记录的地址。
全文摘要
提供一种用于在数据文件更新随时间发生时动态查看该数据文件的更新的系统。系统包括文件访问客户(202),例如在通用计算机上操作的软件包,其向数据服务器(204)请求对数据文件的动态访问。系统还包括文件访问服务器,例如在通用计算机上操作的软件包。文件访问服务器通过例如网络连接到文件访问客户,并把数据文件的初始内容以及随时间产生的任何数据文件修改传送到文件访问客户。
文档编号G06F15/00GK1338079SQ99815055
公开日2002年2月27日 申请日期1999年12月29日 优先权日1998年12月31日
发明者克里斯托弗J·迈克德维特, 肯尼思D·马特森 申请人:联合想象计算机公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1