一种环形分布式信息处理系统及其实现方法

文档序号:6379101阅读:123来源:国知局
专利名称:一种环形分布式信息处理系统及其实现方法
技术领域
本发明涉及一种分布式信息处理的方法和系统,特别是一种建立环形的服务请求响应机制,以达到减少通讯量、提高分布式处理性能的技术方法,以及依照这种方法建立的分布式信息处理系统。
背景技术
分布式信息处理技术是一种将一个或多个大型信息处理任务分解为多个子任务,并在不同的系统中分别处理的技术。这项技术中很关键的一个问题就是子任务的分布式组织方法。
目前的分布式信息处理系统主要可以分为三类,一类是客户机-服务器系统,这类系统也称为两层系统。客户机-服务器系统中主要包含一台或多台提供特定服务功能的服务器和多台供用户使用的客户机,当用户需要执行某种特定功能的时候客户机向特定的服务器发送请求,服务器对请求进行处理以后将结果返回给该客户机。
第二类分布式信息处理系统通常称为中间件系统或者三层系统。这一类系统主要是在客户机和服务器之间添加了一层中间件,用于屏蔽硬件平台、操作系统和网络协议的差异,使应用软件能够比较平滑地运行于不同平台上。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使应用的性能得到大幅提升,以满足关键业务的需求。
第三类分布式信息处理系统通常称为分布式对象系统或者多层系统。在该系统中,每一台计算机既作为客户机,也作为为其他系统提供服务的服务器,所提供的服务以对象的形式进行描述。当某个用户需要进行某种形式的信息处理时,他所用的计算机自动在网上搜寻适当的对象(服务器),并向这些服务器发送处理请求。
然而,现在所有的分布式信息处理系统仅仅解决独立的请求与响应关系,而由客户系统来决定具体的任务处理方法。例如,客户系统U上的某个应用要从A、B、C三个服务系统分别请求服务,系统U将首先发送请求给系统A,系统A处理完毕将结果返回给系统U,系统U再向系统B发送处理请求,系统B处理完毕将结果返回给系统U,最后系统U再向系统C发送处理请求,系统C处理完毕将结果返回给系统U。当A、B、C三个系统都处理完毕并将处理的结果返回之后,系统U才完成了整个处理。这种分布式信息处理的方式具有以下问题1、由客户系统具体组织分布式计算,带来客户系统的复杂化,降低性能。2、多个独立请求和响应带来大量的通讯量,对网络造成压力。

发明内容
针对以上问题,本发明提供一种环形分布式系统及其实现方法,以减少通讯量并提高分布式处理的性能。
本发明所述的环形分布式信息处理系统,包括一个用于发送服务请求的客户系统,多个与客户系统相连,用于处理客户系统的服务请求的服务系统,以及在上述客户系统和服务系统之间提供通信路径的通信网络。环形分布式信息处理系统的结构见附图1。
本发明所述的客户系统可以是手机、信息电器或者Web浏览器等本身不具备信息处理能力,而只有信息输入和显示能力的瘦客户机,也可以是本身具备信息处理能力的胖客户机,如各种计算机信息处理系统。
本发明所述的服务系统可以是一台装有相应服务软件,能够提供相应信息服务的计算机,也可以是由多台计算机组成,用于提供信息服务的计算机集群。
本发明所述的通信网络既可以是专用网络,也可以是公用网络;既可以是有线网络,也可以是无线网络或者卫星网络。
本发明所述的环形分布式式信息处理系统的实现方法包括正向处理方法和回滚处理方法两个部分。正常处理时采用正向处理方法,而发生故障时执行回滚处理。
本发明所述的正向处理方法包括以下步骤客户系统根据处理的需要建立组合请求;客户系统将组合请求发送给任务序列中的第一个服务系统;服务系统在收到组合请求之后根据任务序列中的相应任务从组合请求中取出需要的数据进行处理,记录执行情况并将结果并入组合请求;判断该服务系统是否是最后一个服务系统;如果该系统不是最后一个,则将组合请求发送给任务序列中的下一个服务系统进行处理;如果该系统是最后一个服务系统,则将组合请求传送给客户系统,客户系统根据所返回的组合请求进行后续处理。具体步骤参见附图2。
本发明所述的回滚处理方法包括以下步骤当服务系统无法继续进行处理时首先将故障记录在组合请求中并对故障进行判断;如果本系统已经正确处理了任务,则执行该任务的反任务并在组合请求中进行记录然后判断服务系统是否是第一个服务系统,如果该系统没有处理任务,则直接判断该系统是否是第一个服务系统;如果该服务系统不是任务序列中的第一个服务系统,则将组合请求传送给上一个任务;否则将组合请求传送给客户系统,客户系统根据组合请求中记录的执行信息进行后续处理。具体步骤参见附图3。
本发明所述的组合请求包括处理所需的输入数据、任务序列、任务执行结果和任务执行过程记录。
本发明所述的任务序列包含按照任务执行顺序排列的所有任务,其中每个任务包含任务所对应的服务系统、所请求任务的详细描述、执行任务所需的设置以及任务的执行状态。
本发明所述的组合请求和任务序列可以用可扩展标识语言(XML)来表示,也可以用所有服务系统均可以识别的特殊协议表示。
本发明的主要优点主要在于可以将网络通讯量大大减小,同时也可以有效地降低客户系统的复杂度。在现有分布式通讯系统中,如果一次处理包含N个相对独立的任务,整个系统需要进行2N次通讯,其中客户系统要管理2N次通讯,每个服务系统需要管理2次通讯。在本发明所述的环形分布式信息处理系统中,进行包含N个任务的处理只需要进行N+1次通讯,其中客户系统和服务系统都只要管理2次通讯,在减小通讯量的同时降低了客户系统的复杂度。


图1是表示本发明所述的环形分布式信息处理系统的结构示意图;图2是表示本发明所述的环形分布式信息处理系统进行正向处理的流程图;图3是表示本发明所述的环形分布式信息处理系统进行回滚处理的流程图;图4是表示本发明的第一实施例的结构示意图;图5是表示本发明的第二实施例的结构示意图。
具体实施例方式
下面结合附图详细描述本发明的环形分布式信息处理系统及其实现方法。
参见图1描述本发明所述的环形分布式信息处理系统。如图1所示,该环形分布式信息处理系统由客户系统1,服务系统2a、2b、2c、2d和通信网络3组成。客户系统1负责根据用户需要进行的处理生成组合请求并将组合请求通过通信网络3传送给任务序列中的第一个服务系统2a,服务系统2a对任务序列中的第一个任务进行处理,如果处理无误则将处理结果并入组合请求并将组合请求通过通信网络3传送给第二个服务系统2b,服务系统2b对第二个任务进行处理之后将结果并入组合请求并将组合请求通过通信网络3传送给第三个服务系统2c,服务系统2c对第三个任务进行处理之后将结果并入组合请求并将组合请求通过通信网络3传送给第四个服务系统2d,服务系统2d对第四个任务进行处理之后将结果并入组合请求并将组合请求通过通信网络3传送给客户系统1,客户系统1根据组合请求中各服务系统的处理结果发送响应给用户。
如果服务系统2b无法继续进行处理,它首先要对故障进行判断。故障可能有两种情况,一是服务系统2b已经正常对请求进行了处理,但由于种种原因无法将组合请求发送给下一个服务系统2c,此时服务系统2b需要进行该任务的反任务,消除执行该任务对服务系统2b的影响,再将组合请求传送给上一个服务系统2a。另一种情况是服务系统2b无法根据组合请求中的信息正确进行处理,此时服务系统2b直接将组合请求传送给服务系统2a。服务系统2a收到来自服务系统2b的组合请求后则执行任务序列中第一个任务的反任务,消除执行该任务对服务系统2a的影响,然后将组合请求传送给客户系统1。客户系统1根据组合请求中记录的任务执行状态产生错误信息。
下面参考图2说明本发明所述的环形分布式信息处理系统进行正向处理的流程。如图2所示,在步骤S1中,客户系统1根据用户需要进行的处理生成组合请求,其中包括用户输入的数据和任务序列;在步骤S2中,客户系统1将组合请求通过通信网络传送给任务序列中的第一个服务系统2a;在步骤S3中,服务系统收到组合请求之后根据任务序列中对相应任务的描述并从输入数据和以前服务系统的处理结果获取需要的数据对任务进行处理,并将结果并入组合请求中;在步骤S4中,该服务系统判断是否是最后一个服务系统;如果该服务系统不是最后一个服务系统,在步骤S5中,该服务系统将组合请求传送给下一个服务系统进行步骤S3中的操作;如果该服务系统是最后一个服务系统,在步骤S6中,该服务系统将组合请求传送给客户系统1,客户系统1根据组合请求中各任务的运行结果对用户进行响应。
下面参考图3说明本发明所述的环形分布式信息处理系统进行回滚处理的流程。在步骤S7中,某个服务系统发现无法继续进行组合请求中的处理时,它首先将故障情况记录在组合请求中,并对故障进行判断,如果是该服务系统无法执行任务序列中规定的任务,则执行步骤S9,否则执行步骤S8;在步骤S8中,服务系统执行任务序列中相应任务的反任务,消除执行该任务的影响并将情况记录在组合请求中;在步骤S9中,判断该服务系统是否是第一个服务系统;如果该服务系统不是第一个服务系统,在步骤S10中,该服务系统将组合请求传送给上一个服务系统,执行步骤S8;如果该服务系统已经是第一个服务系统,在步骤S11中,将组合请求传送给客户系统1,客户系统1再根据组合请求中记录的执行情况产生错误信息。
下面参考图4说明本发明的第一实施例。图4显示了采用本发明所述的环形分布式信息处理系统实现的一个视频点播系统的简化结构。该系统包括客户系统4和询价5、取款6、收款7、播放8、记录9等5个服务系统。当用户向客户系统4发出点播某部电影(价格1元)的指令时,客户系统4生成组合请求并传送给询价系统5,询价系统5在数据库中查询出该影片的点播价格(1元),写入组合请求并传送给取款系统6,取款系统6从用户账户中扣除1元,将结果写入组合请求并传送给收款系统7,收款系统7将1元添加到该影片对应的账户中,再将结果写入组合请求传送给播放系统8,播放系统8取出该影片向用户播放,播放完毕之后将播放过程写入组合请求并传送给记录系统9,记录系统将播放过程记录在数据库中以备查阅,再将组合请求传送给客户系统4,客户系统4根据组合请求中记录的信息修改界面上的提示。
如果在整个处理过程中发生了某种故障,如由于某种原因播放系统8无法播放所点播的影片,则执行回滚处理。首先播放系统8将故障情况写入组合请求并对故障进行判断。由于播放系统8尚未进行处理,因此直接将组合请求传送给前一个服务系统,即收款系统7。收款系统7收到回滚的组合请求之后执行收款任务的反任务,即从影片对应的账户中扣除1元,然后将组合请求传送给取款系统6。取款系统6执行取款任务的反任务,向用户账户中添加1元,然后将组合请求传送给询价系统5。询价系统5执行询价任务的反任务,由于询价任务只是查询,没有任何修改操作,因此其反任务什么也不做。由于询价系统5是第一个服务系统,因此它将组合请求传送给客户系统4。客户系统4根据回滚的组合请求中记录的信息提示用户播放系统出了故障。
下面参考图5说明本发明的第二实施例。图5显示了一个采用本发明所述的环形分布式信息处理系统实现的企业信息系统的简化结构。该系统由人事管理系统10、生产管理系统11、设备管理系统12和财务管理系统13组成。老王来到人事部办理退休手续,人事部的员工登录到人事管理系统10中发出退休指令,则人事管理系统10首先生成组合请求发送给生产管理系统11;生产管理系统11将老王从生产编制中除去,并将组合请求传送给设备管理系统12;设备管理系统12对数据库中设备借用信息进行检查,如果老王已经归还了所借设备,则将组合请求传送给财务管理系统13;财务管理系统13根据老王工作时间计算老王应得的退休金,并将退休金转到老王的账户中。最后,财务管理系统13将组合请求传送给人事管理系统10,人事管理系统10将老王的档案转到退休人员数据库中,并提示老王的退休手续已完成。
如果老王借了一套工具尚未归还,则老王需要归还该工具才能办理退休手续。此时设备管理系统12无法完成处理,它将老王借用该工具的情况写入组合请求,并将组合请求回滚给生产管理系统11,生产管理系统11执行反任务,重新将老王加入到生产编制之中,然后将组合请求回滚给人事管理系统10。人事管理系统10提示老王需要归还工具,然后重新到人事部办理退休手续。
以上所描述的仅是本发明的部分应用实例,而不应该被视为对本发明的局限。根据本发明所公开的概念,本领域的技术人员可以很容易地设计出其他类似的实施方案。本发明的权力要求书应被视为包含那些不背离本发明宗旨的类似设计。
权利要求
1.一种环形分布式信息处理系统,其特征在于该系统包括一个用于发送服务请求的客户系统,多个与客户系统相连,用于处理客户系统的服务请求的服务系统,以及在上述客户系统和服务系统之间提供通信路径的通信网络。
2.如权利要求1所述的环形分布式信息处理系统,其特征在于所述客户系统可以是本身不具备信息处理能力,而只有信息输入和显示能力的瘦客户机,也可以是本身具备信息处理能力的胖客户机。
3.如权利要求1所述的环形分布式信息处理系统,其特征在于所述服务系统可以是一台装有相应服务软件,能够提供相应信息服务的计算机,也可以是由多台计算机组成,用于提供信息服务的计算机集群。
4.如权利要求1所述的环形分布式信息处理系统,其特征在于所述的通信网络既可以是专用网络,也可以是公用网络;既可以是有线网络,也可以是无线网络或者卫星网络。
5.如权利要求1所述的环形分布式信息处理系统,其特征在于所述处理系统的实现方法包括正向处理方法和回滚处理方法两个部分,正常处理时采用正向处理,而发生故障时执行回滚处理。
6.如权利要求5所述的实现环形分布式信息处理系统的方法,其特征在于所述正向处理方法包括以下步骤1)客户系统根据处理的需要建立组合请求;2)客户系统将组合请求发送给任务序列中的第一个服务系统;3)服务系统在收到组合请求之后根据任务序列中的相应任务从组合请求中取出需要的数据进行处理,记录执行情况并将结果并入组合请求;4)判断服务系统是否是最后一个服务系统;5)如果服务系统不是最后一个,则将组合请求发送给任务序列中的下一个服务系统进行处理;6)如果服务系统是最后一个,则将组合请求传送给客户系统,客户系统根据所返回的组合请求进行后续处理。
7.如权利要求6所述的正向处理方法,其特征在于,所述组合请求包括处理所需的输入数据、任务序列、任务执行结果和任务执行过程记录,它可以用可扩展标识语言(XML)来表示,也可以用所有服务系统均可以识别的特殊协议表示。
8.如权利要求5所述的实现环形分布式信息处理系统的方法,其特征在于所述的回滚处理方法包括以下步骤1)当服务系统无法继续进行处理时首先将故障记录在组合请求中并对故障进行判断;2)如果本系统已经正确处理了任务,则执行该任务的反任务并在组合请求中进行记录然后判断服务系统是否是第一个服务系统,如果该系统没有处理任务,则直接判断该系统是否是第一个服务系统;3)如果该服务系统不是任务序列中的第一个服务系统,则将组合请求传送给上一个任务;4)否则将组合请求传送给客户系统,客户系统根据组合请求中记录的执行信息进行后续处理。
9.如权利要求8所述的回滚处理方法,其特征在于,所述组合请求包括处理所需的输入数据、任务序列、任务执行结果和任务执行过程记录,它可以用可扩展标识语言(XML)来表示,也可以用所有服务系统均可以识别的特殊协议表示。
10.如权利要求7和9所述的组合请求,其特征在于所述的任务序列包含按照任务执行顺序排列的所有任务,其中每个任务包含任务所对应的服务系统、所请求任务的详细描述、执行任务所需的设置以及任务的执行状态,它可以用可扩展标识语言(XML)来表示,也可以用所有服务系统均可以识别的特殊协议表示。
全文摘要
本发明涉及一种环形分布式信息处理系统,它将客户系统和多个服务系统组成一个环,客户系统生成组合请求传送给执行第一个任务的服务系统,该服务系统完成任务后传送给下一个服务系统,所有服务系统执行完毕后再将组合请求传送给客户系统。本发明的主要优点是能够减少分布式处理过程中的通讯量,同时降低客户系统的复杂度。
文档编号G06F15/16GK1598800SQ03157320
公开日2005年3月23日 申请日期2003年9月18日 优先权日2003年9月18日
发明者张文辉, 易海江 申请人:北京摩诘软件技术开发中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1