运用分布式网络的应用程序修复方法

文档序号:6653088阅读:182来源:国知局
专利名称:运用分布式网络的应用程序修复方法
技术领域
本发明涉及一种应用程序的修复方法,且特别涉及一种运用在分布式网络中,通过位于各结点处的计算机相互支援而修复应用程序的方法。
在使用计算机的过程中,有时会因操作过程的不当而使得程序中断、无法执行,或者因中毒而使得某些档案被病毒感染而破坏,甚至会原因不明地损失某些功能等等;一旦有类似上述的情形发生,使用者往往会采取重新安装应用程序的方式,以求得到彻底的解决。目前的应用程序往往体积庞大,并且必须由许许多多不同属性的档案互相关联、参照而完成执行的操作,一旦程序的运行出现了问题,通常难以从其错综复杂的档案关系中找到其症结所在,即使幸运地找到了程序损坏的原因,也往往因为没有定时备份正确的资料,而丧失了直接更正的机会,因此还是必须回到重新安装的方式。
由以上可知,在多数应用程序出现问题的情况下,使用者常常会采取直接重新安装的方法,如此一来,不但浪费了大量不必要的安装时间,例如可能只要修复一个10KB大小的档案即可让程序的运作恢复正常,可是使用者不知道而去重新安装一个10MB大的应用程序,其间花费的时间可能不只相差1000倍,如此一来会严重影响使用者的工作效率;此外,有些档案会随着使用者的操作而记录其环境设定等,重新安装势必会影响使用者之前的操作设定,造成资料错误、甚至是资料丢失,而使得问题变得更加地麻烦。
再者,目前大多数机关团体内部的计算机系统,大都会连接成一内部网络的型式,并且是一种分布式的架构方式;也就是说每一网络结点的计算机,本身会拥有完整的硬件设备与软件程序,它们可以各自独立运作,也可以通过网络的连接而共享某些资源,因此可以理解,在网络中应有许多不同结点的计算机会具备某些相同的应用程序。
有鉴于此,本发明的目的是要提出一种以较简单、方便的方式来修复分布式网络中各结点计算机的软件错误,让使用者无须再重新安装应用程序。
根据上述本发明的目的,提供一种运用分布式网络的应用程序修复方法,利用分布式网络中,各结点计算机的资源独立且可以共享的特性,使得当其中一结点计算机(称为客户端)的资料出现错误时,可以藉由网络发送一服务需求,寻求其他结点计算机的帮助;而拥有相同资料的结点计算机(称为服务端),则予以回应并根据该服务需求的内容,由本地(Local)系统中复制正确的资料,并将其发送至网络中让客户端计算机接收。如此一来,由于各结点计算机间可以相互支援,而使得出现问题的应用程序可以自动被修复,不须再重新执行安装程序。
为使本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举一较佳实施例,并结合附图,作详细说明如下。


图1A示出了本发明中服务端的功能模块方块图;图1B示出了本发明中客户端的功能模块方块图;图2示出了本发明中服务端计算机的操作流程图;图3A、图3B示出了本发明中客户端计算机的操作流程图;图4A示出了客户端消息示意图;图4B示出了服务端消息示意图;图5示出了需求列示意图;图6示出了发送列示意图;以及图7示出了本发明所列举的具体实施例的硬件架构示意图。
本发明为一种通过分布式网络而支援修复应用程序的方法,是将网络中的每台计算机视为一个网络节点,并采用平行设计的方式,使得网络中某一节点处的计算机(称为客户端)出现软件损坏的问题时,其他节点处的计算机(称为服务端)可以支援提供正确的档案,因而以较简单的方式解决软件问题,不需再重新执行安装操作;亦即本发明采用标准同步演算法,来完成各计算机节点间的协调运作。
请参照图1A,图1A为本发明中服务端的功能模块方块图,如图所示,服务端计算机以一网络端口接收模块101a随时监测网络中是否有服务请求,一旦接收到客户端计算机传送出来的服务请求,则将该服务请求传送给一需求分析模块102a,通过该需求分析模块102分析所需档案的特征,在本地(Local)系统中复制正确的档案,然后将上述正确的档案经过一数据封装模块103a而放在消息表中,并将之插入一发送列之中,其中发送列的型态如图6所示,之后,将其结果通过一需求发送模块104a发送到分布式网络中,以等待客户端计算机接收利用。
请参照图1B,图1B为本发明中客户端的功能模块方块图,如图所示,客户端计算机利用一需求提交模块101b,将计算机中关于损坏软件的服务需求自动发送到网络中,并且形成需求列依序等待处理,而该需求列的型态如图5所示,此时,再由一数据封装模块102b将待处理的数据填写到消息表中,封装好的数据通过一需求发送模块103b发送到网络中,一网络端口接收模块104b会即时接收来自网络的客户端需求,并将该需求依照需求列中的先后顺序接收到一需求分析模块105b,通过网络传送有客户端需求的档案,送至一档案恢复模块106b,从作为服务端的计算机拷贝正确的资料,进行档案恢复。
请参照图2,图2为本发明中服务端计算机的操作流程图。首先藉由网络端口接收模块101a,监测服务端的计算机端口(步骤201),查看是否有服务请求(步骤202),如果没有,则继续监测;如果有服务请求,则接收来自网络的数据(步骤203),并将数据传送给需求分析模块102a(步骤204),之后读取该数据所表示的档案的特征码(步骤205),并根据该特征码搜寻本地(Local)系统,扫描本地计算机上所有档案(步骤206),同时判断是否有客户端计算机需要的档案(步骤207),如果没有,则操作结束;如果有客户端计算机所需要的档案,则向该客户端的计算机发出确认消息(步骤208),之后启动数据封装模块103a(步骤209),依序从上述需求列中读取一项(步骤210),并且先查看需求列是否为空(步骤211),如果是,则程序结束;如果否,则根据需求对列中读取的内容填写服务端消息列表(其结构如图4B所示)中的讯息识别码(MessageID)(步骤212),同时将数据复制到缓冲区(Buffer)中,并填写缓冲区大小(Buffer Size)(步骤213),将填写好的消息表插入发送列之中(步骤214)。此后,只要再依序从需求列中读取一项(步骤210),并循序执行之后的步骤,直到需求列中所有的需求都处理完毕为止。
请参照图3A、图3B,其为本发明中客户端计算机的操作流程图。首先从客户端所提交的需求档案列表中依序取出一项内容(步骤301),并先判断档案列表是否为空(步骤302),如果否,则提取该档案的格式描述,计算循环冗余校验值(步骤303),而生成对该档案的描述单元(步骤304),然后将该描述单元插入到需求列之中(步骤305),然后重复前述步骤,继续从客户端计算机所提交的需求档案列表中取下一项内容(步骤301)。判断档案列表是否为空(步骤302),如果仍然为否,则继续上述的操作,直到客户端计算机所提交的需求档案列表全部读取完毕,需求列完成。
接下来从需求列中取出一项(步骤306),亦先判断需求列是否为空(步骤307),如果是,则程序结束,表示没有需要处理的客户端计算机需求;如果否,则根据该需求填写客户端消息表(其结构如图4A所示)中的讯息识别码(Message ID)(步骤308),将相关数据复制到客户端消息表的缓冲区(Buffer)中,并填写缓冲区的大小(Buffer Size)(步骤309),将写好内容的消息表插入发送列中(步骤310),之后通过需求发送模块103b将发送列传送入网络中(步骤311),便完成发送服务需求的过程。此后,客户端计算机便通过网络端口接收模块104b,监测客户端的计算机端口(步骤312),以查看网络中是否有回应传来(步骤313),如果有,则接收该回应(步骤314);如果没有,则继续监测(步骤312)。接收到回应后,通过网络接收传送过来的正确档案(步骤315),将该正确档案传送到需求分析模块105b(步骤316),并搜寻本地(Local)系统(步骤317),扫描所有档案(步骤318),判断是否是客户端计算机需要的档案备份(步骤319),如果是,则将该正确档案拷贝到客户端计算机的相应资料夹中(步骤321),如果没有,则在网络中继续发送需求,寻找其他可以满足需求的服务端计算机(步骤320)。
上述本发明所描述的操作过程中,分布式网络中的每一节点处的计算机都既可以充当服务端计算机,又可以充当客户端计算机。当某一计算机有档案修复需求时,它就是客户端,可通过网络发送需求,而其他计算机会适时响应该需求而提供服务,此时提供服务的计算机就是服务端。
以下特列举一具体实施例,以说明本发明的运作内容假设有一分散网络,其中包括四个节点的计算机,分别是A、B、C、D,其分布情况如图7所示。其中,节点A的计算机使用者发现office应用软件中的Word不能正常使用,事实上是Wwint132.dll遭到破坏,此时使用者若是没有利用本发明所提供的方法修复,则只能重新安装Office软件,才能重新正常使用Word。
相对地,若是采用本发明的方法,计算机A会自动将自己的服务需求提交到网络上,然后将欲恢复的软件的格式描述自动取出,经循环冗余校验后生成冗余校验值,与该档案格式描述组成描述单元,将这个有需求档案的特征描述单元插到需求列之中,依序等待,此时按照需求内容填写消息表,并将填写好的消息表填入发送列中,依序由需求发送模块在网络中发送。
而分布式网络中的其他计算机B、C、D,都通过网络端口接收模块101a随时监测是否有服务请求,当收到来自计算机A的服务请求后,三台计算机分别将接收到的数据送到各自的需求分析模块102a,读取所接收的数据档案的特征码,然后分别扫描本地系统中所有档案,查看是否有计算机A所需要的Wwint132.dll档案。经确认后发现计算机B和计算机C中没有该档案,则在网络中继续发送需求,寻找下一台计算机,此时确认计算机D中有该档案,则计算机D向作为客户端的计算机A发出确认消息,并从需求列中将计算机A的需求取出,根据需求列填写服务端消息表,包括讯息识别码(Message ID)以及缓冲区(Buffer)等,在缓冲区中填入计算机A所需的正确档案,之后将该消息列表插入发送列,向网络中发送。
客户端计算机接收到来自网络的回应后,会自动扫描客户端计算机本地系统,扫描所有档案,并将由计算机D来的正确档案复制到计算机A中的相应资料夹中,如此便完成整个修复的过本发明藉由分布式网络中各节点处的计算机的资源独立且可以分享的特性,而使得发生软件问题的计算机,可以轻易藉由网络而寻求到支援并解决问题,因此不须执行重新安装的程序,可大幅提高使用者的工作效率。
虽然本发明已以一较佳实施例披露如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围的前提下,可作若干更动与润饰,因此本发明的保护范围以后面所附权利要求所界定。
权利要求
1.一种运用分布式网络的应用程序修复方法,用于利用分布式网络中各结点计算机相互支援的手段,而自动解决软件损坏的问题,其包括有步骤自一客户端计算机发送一修复软件的服务需求至该分布式网络中;一服务端计算机接收该服务需求,并根据该服务需求的内容,搜寻本地(Local)系统的资料;该服务端计算机由本地系统的资料中复制一可修复该损坏软件的正确档案,并且将该正确档案发送至该分布式网络中;以及该客户端计算机经由该分布式网络取得该正确档案,并且根据该正确档案而修复该损坏软件。
2.如权利要求1所述的运用分布式网络的应用程序修复方法,其中该客户端计算机发送该服务需求的步骤还包括有将描述该损坏软件的一描述单元,写入一需求列之中;根据该需求列中该描述单元的内容,将其相关数据填写于一客户端消息列表;以及将该客户端消息列表插入一发送列而发送到该分布式网络中。
3.如权利要求2所述的运用分布式网络的应用程序修复方法,其中该客户端消息列表包含有客户端讯息、讯息识别码(Message ID)、缓冲区大小以及缓冲区内容。
4.如权利要求3所述的运用分布式网络的应用程序修复方法,其中该缓冲区内容为一字串。
5.如权利要求2所述的运用分布式网络的应用程序修复方法,其中该描述单元的形成方式从该客户端计算机所提交的一需求档案表中,提取该损坏软件所需档案的格式描述,并且计算其循环多余校验值。
6.如权利要求1所述的运用分布式网络的应用程序修复方法,其中该服务端计算机分析该服务需求中至少一所需档案的特征,并据此搜寻本地(Local)系统资料。
7.如权利要求6所述的运用分布式网络的应用程序修复方法,其中该所需档案的特征为其特征码。
8.如权利要求1所述的运用分布式网络的应用程序修复方法,其中该服务端计算机在搜寻本地(Local)系统资料后,还增加一向客户端计算机发送确认讯息的步骤。
9.如权利要求2所述的运用分布式网络的应用程序修复方法,其中该服务端计算机根据该需求列中该描述单元的内容,而填写一服务端消息列表。
10.如权利要求9所述的运用分布式网络的应用程序修复方法,其中将该服务端消息列表插入该发送列之中,并发送到该分布式网络之中。
11.如权利要求9所述的运用分布式网络的应用程序修复方法,其中该服务端消息列表包含有服务端讯息、讯息识别码(Message ID)、缓冲区大小以及缓冲区内容。
12.如权利要求11所述的运用分布式网络的应用程序修复方法,其中该缓冲区内容为一备份档案。
13.如权利要求1所述的运用分布式网络的应用程序修复方法,其中该客户端计算机通过分析其所取得的该正确档案的特征,以确定该正确档案与其所发出的该服务需求内容吻合。
14.如权利要求1所述的运用分布式网络的应用程序修复方法,其中该客户端计算机将取得的该正确档案复制至其相对应的目录中,而完成修复该损坏软件的步骤。
全文摘要
本发明为一种运用分布式网络的应用程序修复方法,应用于构成分布式网络的各个结点的计算机,可以在其中某一计算机(称为客户端)的应用程序损坏时,通过向分布于网络的其余各计算机(称为服务端)请求协助的手段,进而修复损坏的应用程序;因此,使用者无须烦恼应用程序的问题所在,且不须执行重新安装的程序,可以大幅提高使用者的工作效率。
文档编号G06F1/16GK1369757SQ0110461
公开日2002年9月18日 申请日期2001年2月15日 优先权日2001年2月15日
发明者陈玄同, 林光信 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1