发明内容
针对现有技术中存在的问题,本发明提出了一种根据周围环境的变化和自身系统内部的要求动态重构统一业务终端系统的方法从而能够使统一业务终端能够适应多种状况下组网要求。
根据本发明的一个方面,提供了一种用于将两个统一业务终端系统融合成一个统一业务终端系统的方法,所述方法包括步骤:
(1)对第一统一业务终端系统是否能够融合到第二统一业务终端系统进行鉴权,以确定所述第一统一业务终端系统能够融合到所述第二统一业务终端系统;
(2)所述第一统一业务终端系统将所述第二统一终端系统的身份信息通告给其所拥有的能力服务器以及在其上运行的业务,并且所述第一统一业务终端系统将保存在其主控设备上的各种信息转移到所述第二统一业务终端系统的主控设备上;
(3)所述第二统一业务终端系统根据所转移的信息,与所述第一统一业务终端系统的能力服务器以及在所述第一统一业务终端系统上运行的业务建立连接,并且根据所述业务的信息配置所述第二统一业务终端系统的执行环境;
(4)所述第二统一业务终端系统通知在所述第一统一业务终端系统上运行的业务切换到所述第二统一业务终端系统的执行环境,并在所述执行环境中运行;
(5)切换结束后,所述第一统一业务终端系统中断与其拥有的能力服务器以及在其上运行的业务的连接,并且删除所述第一统一业务终端系统的框架功能模块和执行环境中的信息,去激活所述框架功能模块和所述执行环境。
根据本发明的另一个方面,提供了一种将统一业务终端系统的框架功能模块从当前主控设备转移到目标设备的方法,其中所述目标设备是所述统一业务终端系统中的一个一类设备,
所述方法包括步骤:
(1)对当前主控设备是否能够将其框架功能模块中的信息转移到目标设备进行鉴权,以确定当前主控设备能够将框架功能模块中的信息转移到目标设备;
(2)所述目标设备启动框架功能模块以及执行环境,并且通知当前主控设备进行框架模块功能转移;
(3)当前主控设备将所述目标设备的身份信息通告给所述统一业务终端系统所拥有的能力服务器以及在所述统一业务终端系统上运行的业务,同时当前主控设备将保存在其上的各种信息转移到所述目标设备;
(4)所述目标设备根据所转移的信息与所述能力服务器以及所述业务建立连接,并根据所述业务的信息配置所述目标设备的执行环境,生成所述业务所需的能力服务器代理;
(5)所述目标设备通知在当前主控设备上运行的业务切换到所述目标设备的执行环境,并在所述执行环境中运行;
(6)当前主控设备中断与其所拥有的能力服务器以及在其上运行的业务的连接,删除其框架功能模块以及执行环境中的信息,去激活其框架功能模块以及执行环境。
根据本发明的再一个方面,提供了一种从统一业务终端系统中分离设备的方法,所述统一业务终端系统包括主控设备,所述主控设备包括框架功能模块以及执行环境,所述方法包括步骤:
(1)所述主控设备向将要分离的设备发出分离通知;
(2)所述主控设备查找由所述将要分离的设备发起的业务,并且结束所述业务;
(3)所述主控设备还查找由其他设备发起的业务使用了由所述将被分离的设备所提供的能力服务器,并且通过重新分配业务能力,从不包括所述将被分离的设备的设备中提供所述能力服务器的替代能力服务器,在执行环境中生成所述替代能力服务器的代理,以便由所述业务调用所述替代能力服务器;
(4)所述主控设备中断与所述将要分离的设备的连接,并且删除与所述将被分离的设备相关的信息。
根据本发明的再一个方面,提供了一种从统一业务终端系统中分离设备的方法,所述统一业务终端系统包括主控设备,所述主控设备包括框架功能模块以及执行环境,所述方法包括步骤:
(1)将从统一业务终端系统分离的设备向所述统一业务终端的主控设备发出分离请求,请求成为一个新的统一业务终端系统;
(2)所述将要分离的设备接收到所述主控设备发出的分离请求同意响应后,激活其框架功能模块以及执行环境,并向所述主控设备发布其存在信息;
(3)所述主控设备将所述将要分离的设备的身份信息通告给所述将要分离的设备的能力服务器以及由所述将要分离的设备发起的业务;
(4)所述主控设备查找由所述将要分离的设备发起的业务,并且将由所述将要分离的设备发起的业务的所有信息转移到所述将要分离的设备;
(5)所述主控设备还查找由其他设备发起的业务使用了由所述将要分离的设备所提供的能力服务器,并且通过重新分配业务能力,从不包括所述将被分离的设备的设备中提供所述能力服务器的替代能力服务器,在执行环境中生成所述替代能力服务器的代理,以便由所述业务调用所述替代能力服务器;
(6)所述将要分离的设备获得其所拥有的能力服务器的所有信息;
(7)所述将要分离的设备根据所得到的能力信息以及业务信息,与其拥有的能力服务器以及从其发起的业务建立连接,并且配置执行环境,生成与其发起的业务相对应的能力服务器代理,并通知所述统一业务终端系统转移由其发起的业务;
(8)所述统一业务终端系统中断与所述将要分离的设备以及由其发起的业务的连接,并且删除与所述将要分离的设备相关的信息。
根据本发明的再一个方面,提供了一种从统一业务终端系统中分离设备的方法,所述统一业务终端系统包括主控设备,所述主控设备包括框架功能模块以及执行环境,所述方法包括步骤:
(1)将从统一业务终端系统分离的设备向所述统一业务终端的主控设备发出分离请求,请求成为一个普通的终端;
(2)所述主控设备向所述将要分离的设备发出分离请求同意响应;
(3)所述主控设备查找由所述将要分离的设备发起的业务,并且结束所述业务;
(4)所述主控设备还查找由其他设备发起的业务使用了由所述将被分离的设备所提供的能力服务器,并且通过重新分配业务能力,从不包括所述将被分离的设备的设备中提供所述能力服务器的替代能力服务器,在执行环境中生成所述替代能力服务器的代理,以便由所述业务调用所述替代能力服务器;
(5)所述主控设备中断与所述将要分离的设备的连接,并且删除与所述将被分离的设备相关的信息。
根据本发明的方法,根据周围环境的变化和自身系统内部的要求动态重构统一业务终端系统,从而能够适配各种情况下网络组织的需求。
具体实施方式
为了使统一业务终端系统更加灵活,能够适配各种情况下网络组织的需求,本发明提供了根据周围环境的变化和自身系统内部的要求动态重构统一业务终端系统的方法,这些方法的触发条件可以多种多样,但每种方法的过程在不同的触发条件下仍是一致的。这些方法包括:多个统一业务终端系统的融合,统一业务终端系统的框架转移以及统一业务终端系统的设备分离。
下面结合本发明的具体实施方式来描述上述方法。
一、统一业务终端系统的构建
本发明所述的统一业务终端系统是根据用户要求,利用无线或有线的个人域连接技术,将具有一种或多种能力的设备聚合在一起而形成的一个虚拟终端。所构建的统一业务终端系统是一种分布式的终端系统。
本发明中将统一业务终端从功能角度抽象成一个逻辑上的体系结构,如附图1所示,所述统一业务终端系统包括框架功能模块、执行环境功能模块、聚合控制功能模块和多个能力服务器功能模块。
所述框架功能模块用于实现统一业务终端的中央管理控制功能,它负责控制统一业务终端系统中各个设备的聚合和分离,管理统一业务终端系统中所有分布式设备的信息、用户信息及业务信息,根据业务需求对统一业务终端的能力资源进行评估,为业务提供最佳的能力提供方案,并对执行环境进行配置。
所述执行环境功能模块对统一业务终端系统的能力服务器的具体调度和协同工作进行管理和协调,并为业务提供统一的终端运行接口。
所述聚合控制功能模块负责管理各个分布式设备的能力收集以及设备状态,并主要控制统一业务终端中各个分布式设备的聚合和分离过程。
所述能力服务器封装了统一业务终端系统的各个能力特征,能够方便的为业务提供能力服务,在本发明中一个能力服务器只封装一种能力特征。
本发明所涉及的构建统一业务终端的方法需要在设备上安装一系列软件,这些软件包括框架功能软件、聚合控制功能软件、执行环境软件及能力服务器软件。框架功能软件实现所述框架功能模块的功能,聚合控制功能软件实现聚合控制功能模块的功能,执行环境软件实现执行环境功能模块的功能,能力服务器软件实现能力服务器功能模块的功能;
安装了包括框架功能软件、聚合控制功能软件、执行环境软件及能力服务器软件的设备具备了框架功能、执行环境、聚合控制功能、能力服务器,成为一类设备。也就是说,本发明所述的一类设备是具有框架功能、执行环境、聚合控制功能、能力服务器的设备。一类设备在统一业务终端系统中可以作为主控设备。
安装了聚合控制功能软件和能力服务器的设备,只具备聚合控制功能和能力服务器,为二类设备。也就是说,本发明所述的二类设备是指只具有聚合控制功能和能力服务器的设备。二类设备不能作为统一业务终端的主控设备。
本发明所涉及的主控设备是统一业务终端系统中的中央控制设备,只有一类设备可以充当主控设备,并且每个统一业务终端系统中只有一个主控设备。
在本发明中,首先需要构建一个统一业务终端系统,具体步骤如下:
(1)用户选择其中一个一类设备,并且运行所述一类设备上的框架功能模块以及执行环境模块,从而所述一类设备成为将被构建的统一业务终端系统的主控设备。
在该步骤中,在运行所述一类设备上的框架功能模块以及执行环境模块时,所述一类设备自身所包含的若干个能力服务器聚合到所述一类设备上,从而成为将被构建的统一业务终端系统的主控设备。
(2)所述统一业务终端系统的主控设备发送广播消息。其中所述广播消息是一个对所述统一业务终端系统的自描述信息,包含所述主控设备的标识符以及设备类型。
(3)周围的一类设备或二类设备接收到广播消息后,向所述主控设备的框架功能模块发送聚合请求消息。
在该步骤中,所述的一类设备或二类设备收到所述广播消息后,判断自身是否已经加入到其他的统一业务终端系统中;
如果没有加入,则向所述主控设备发送聚合请求消息,并保存所述广播消息中的所述统一业务终端系统的自描述信息,表明所述设备请求加入所述统一业务终端系统中;
如果已经加入到其他的统一业务终端系统中,则不能再加入到所述统一业务终端系统,从而所述设备对所述主控设备的广播消息不做出响应。
(4)所述主控设备对请求聚合的这些设备进行鉴权,从这些设备中鉴权出能够与所述主控设备相聚合的设备作为统一业务终端系统的功能组件。
在该步骤中,所述主控设备的框架功能模块随机生成一个鉴权码,将所述鉴权码发送给请求聚合的设备,并通过鉴权算法生成对应于所述鉴权码的密钥;
请求聚合的设备收到所述鉴权码后,通过相同的鉴权算法生成应答密钥,并将所述应答密钥发送给所述主控设备;
所述主控设备根据所接收到的应答密钥,比较所述密钥和所述应答密钥,如果两者相同,则向请求聚合的设备返回鉴权成功消息;如果两者不相同,则向请求聚合的设备返回鉴权失败消息;
所述主控设备和鉴权成功的请求聚合的设备利用所述鉴权码,通过相同的加密算法生成能力服务密钥,用于在调用对应于所述能力服务密钥的设备能力服务器时进行加解密。
鉴权失败的请求聚合的设备清除之前保存的所述广播消息中的统一业务终端系统的自描述信息。
(5)被鉴权成功的设备将自身信息注册到所述主控设备的框架功能模块,从而构成所述统一业务终端系统。
在该步骤中,所述鉴权成功的请求聚合的设备将设备的自描述信息发送给所述主控设备,将设备信息注册到所述主控设备的框架功能模块,
将所述能力服务密钥告诉本设备的各个能力服务器,
所述主控设备向请求聚合的设备返回聚合成功消息。
其中所述设备的自描述信息包括:设备ID、设备类型、框架功能信息、执行环境信息、能力信息。
二、统一业务终端系统为业务调度能力服务器的方法
在本发明中,还公开了一种统一业务终端系统为业务调度能力服务器的方法,所述统一业务终端系统包括一个框架功能模块、执行环境以及若干个能力服务器,所述方法包括步骤:
(1)业务启动后,由所述框架功能模块对所述业务进行鉴权。
在该步骤中,所述业务启动后向所述统一业务终端系统发布其存在的消息,所述统一业务终端系统的框架功能模块收到所述业务的消息后,向所述业务返回确认消息,并且发起业务鉴权流程。
(2)所述经过鉴权后的业务向所述框架功能模块注册自身信息,并提出业务能力需求;所述框架功能模块接收到所述业务能力需求之后,根据所述业务能力需求为所述业务提供适配的能力提供方案。
所述业务能力需求包括业务对能力服务器类型的需求以及用户偏好信息。其中所述框架功能模块选择出与所述业务能力需求相适配的能力服务器的步骤还包括:
所述框架功能模块在收到所述业务发出的业务能力需求之后,查询所述业务选用的能力类型,在所述统一业务终端系统的数据库中选定相应的能力类型,再根据用户偏好选定能力等级,并且根据所选定的能力类型和能力等级确定能力服务器。
在根据用户偏好选定能力等级的步骤中,如果多个能力服务器的能力等级与所述选定的能力等级相同,则从这些能力服务器中随机选择其中一个能力服务器作为统一业务终端系统的功能组件。
(3)所述业务接收到所述能力提供方案之后,判断其提出的所述业务能力需求是否能够基于所述适配的能力提供方案而被执行,当能够被执行时,向所述统一业务终端系统返回能力调用确认信息。
在该步骤中,当所述业务能力需求不能基于所述适配的能力提供方案而被执行时,所述业务选择终止应用程序,或者挂起,并等待所述统一业务终端系统的能力更新以满足所述业务的业务能力需求。
(4)所述框架功能模块在所述执行环境中生成与所述适配的能力服务器相对应的能力服务器代理,并向所述业务提供所述适配的能力服务器的信息、所述执行环境的信息以及相应的能力调用命令。
在步骤中,所述框架功能模块还将所述业务的信息、为所述业务选择的能力服务器的信息以及所述执行环境的信息保存在所述框架功能模块的注册表中。
(5)所述业务向所述执行环境发送能力调用命令,通过所述业务环境中的能力服务器代理来调用相应的能力服务器。
在该步骤中,所述业务根据接收到所述信息之后,向所述执行环境发送调用命令进行调用,所述执行环境对所述调用命令进行解析,并在所述执行环境中通过所述能力服务器代理来实现对各个能力服务器的调用。
在本发明中,在业务进行过程中,当统一业务终端系统的能力服务器的状态发生变化时,框架功能模块对已注册的能力服务器信息进行更新,并且将更新后的能力服务器信息与由业务选用的、保存在注册表中的能力服务器信息相比较。如果由业务选用的能力服务器发生变化,框架功能模块向该业务发送能力服务器变化的消息,并与之协商,确定业务对能力服务器的使用。经过协商,如果业务继续,框架功能模块再一次进行优化的能力适配,找出统一业务终端系统中最优化的能力组合并提供给业务,并且通知执行环境更新相应的能力服务器代理。如果业务选择挂起,则挂起并等待统一业务终端系统的能力更新以满足业务应用的能力需求;如果业务选择结束,向执行环境提交业务结束请求,根据该请求,执行环境通过能力服务器代理向各能力服务器发出调用结束命令,各能力服务器根据该命令结束调用操作。同时,执行环境自动释放相关能力服务器代理,通知框架该业务结束消息,框架清除该业务相应信息。最后由框架向业务应用发出确认信息。业务应用正常退出。
在业务进行过程中,如果某个能力服务器提供的服务不能达到业务的要求时,业务可以主动地与框架功能模块进行协商,在与该能力服务器类型相同的其他能力服务器中重新选择,或者弃用该能力服务器。进行选择后,框架功能模块将原能力服务器的状态标为可用。
在同一个统一业务终端系统中,允许同时运行多个业务。各个业务启动后,分别与框架功能模块完成相互发现并进行鉴权,注册自身业务信息,提交业务需求。框架功能模块收到业务需求后,按照先到先服务的原则,为各个业务配置能力服务器和执行环境。配置完成后,框架功能模块在数据库中保存每一个业务的信息及其选用的能力服务器的信息。当某一业务选用的能力服务器发生变化时,进行能力服务器状态变化时的操作。
业务结束时,向执行环境提交业务结束请求,根据该请求,执行环境通过能力服务器代理向各能力服务器发出调用结束命令,各能力服务器根据该命令结束调用操作。同时,执行环境自动释放相关能力服务器代理,删除对应的能力调用与代理映射表,通知框架该业务结束消息,框架清除该业务相应信息。最后由框架向业务应用发出确认信息。
三、多个统一业务终端系统的融合
本发明还提供了将两个统一业务终端系统融合成一个统一业务终端系统的方法。实际上,多个统一业务终端系统的融合只是两个统一业务终端系统融合的多次重复。如附图2所示,该方法包括以下步骤:
1、对第一统一业务终端系统是否能够第二统一业务终端系统进行鉴权,以确定所述第一统一业务终端系统融合到所述第二统一业务终端系统。
如果所述第一统一业务终端系统主动要求融合进入所述第二统一业务终端系统(这种情况称为顺向融合),则所述第一业务终端系统向所述第二统一业务终端系统发出融合请求,所述第二统一业务终端系统的主控设备作为鉴权发起设备,接收到所述融合请求后对作为鉴权目标设备的所述第一统一业务终端设备的主控设备进行鉴权。
如果所述第二统一业务终端系统请求所述第一统一业务终端系统融入(这种情况称为逆向融合),则所述第二业务终端系统向所述第一统一业务终端系统发出融合请求,所述第一统一业务终端系统的主控设备作为鉴权发起设备,接收到所述融合请求后对作为鉴权目标设备的所述第二统一业务终端设备的主控设备进行鉴权。
融合请求消息的具体格式如表1所示。
融合请求 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:SyncretizeRequest |
请求发起系统的身份信息 |
请求发起系统的主控设备ID |
字符串 |
32字节长的字符串 |
融合方向 |
顺向融合还是逆向融合 |
无符号整数 |
0至1“0”表示顺向融合“1”表示逆向融合 |
表1
如果鉴权成功,所述第一统一业务终端系统融合进入所述第二统一业务终端系统,鉴权发起设备将成功的鉴权结果发送给鉴权目标设备。如果鉴权失败,所述第一统一业务终端系统不能融合进入所述第二统一业务终端系统,鉴权发起设备将鉴权失败结果发送给鉴权目标设备,请求融合过程结束。
其中所述鉴权步骤还包括步骤:
(1)鉴权发起设备向鉴权目标设备发出鉴权请求,所述鉴权请求包括一个由所述鉴权发起设备随机生成的鉴权值,并根据鉴权算法生成一个密钥。
鉴权请求消息的具体格式如表2所示。
鉴权请求 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:AuthenticationRequest |
鉴权发起设备的身份信息 |
鉴权发起设备的ID |
字符串 |
32字节长的字符串 |
鉴权值 |
由鉴权发起设备随机生成,用于创建密钥 |
无符号整数 |
0到0xFFFFFFFF |
表2
(2)所述鉴权目标设备接收到所述鉴权请求后,取出所述鉴权值,根据其自带的鉴权算法生成应答密钥,向所述鉴权发起设备返回鉴权响应消息,所述鉴权响应消息包含所述应答密钥。
鉴权响应消息的具体格式如表3所示。
鉴权响应 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:AuthenticationResponse |
鉴权目标设备的身份信息 |
鉴权目标设备的ID |
字符串 |
32字节长的字符串 |
应答密钥 |
鉴权目标设备根据鉴权值和本设备自带的鉴权算法生成 |
无符号整数 |
0到0xFFFFFFFF |
表3
(3)所述鉴权发起设备根据所述鉴权响应消息判断所述密钥和所述应答密钥是否相同,如果相同,则鉴权成功,如果不相同,则鉴权失败。鉴权发起设备向鉴权目标设备发送鉴权确认消息,其中包括鉴权发起设备的身份信息和鉴权结果,具体格式如表4所示。
鉴权确认 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:AuthenticationAcknowledgement |
鉴权发起设备的身份信息 |
鉴权发起设备的ID |
字符串 |
32字节长的字符串 |
鉴权结果 |
鉴权成功/鉴权失败 |
无符号整数 |
0至1“0”表示鉴权成功“1”表示鉴权失败 |
表4
2、所述第一统一业务终端系统将所述第二统一终端系统的身份信息以广播的形式通告给其所拥有的能力服务器以及在其上运行的业务,从而使所述第二统一业务终端系统能够与这些能力服务器以及业务建立连接。只有这样,这些能力服务器才能同时连接所述第一统一业务终端系统的主控设备以及所述第二统一业务终端系统的主控设备。而且,所述第一统一业务终端系统将保存在其主控设备上的能力信息、业务信息以及用户信息从数据库中读出且转换成网络数据流(如socket流),并且写入所述第二统一业务终端系统的主控设备上。
3、所述第二统一业务终端系统根据所转移的信息,与所述第一统一业务终端系统的能力服务器以及在所述第一统一业务终端系统上运行的业务建立连接,并且根据所述业务的信息配置所述第二统一业务终端系统的执行环境,生成所述业务需要的能力服务器代理,并且生成能力服务器和能力调用命令的映射表。
在所述统一业务终端系统与所述统一业务终端系统的能力服务器建立连接时,重新对每个所述能力服务器分配数据加密方式。
4、所述第二统一业务终端系统通知在所述第一统一业务终端系统上运行的业务切换到所述第二统一业务终端系统的执行环境,并在所述执行环境中运行。
具体地说,第二统一业务终端系统向第一统一业务终端系统上的业务发出业务切换请求,请求将这些业务切换到第二统一业务终端系统的执行环境上运行。业务切换请求包括切换请求发起系统的身份信息,业务切换请求消息的具体格式如表5所示。
业务切换请求 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:ServiceSwitchRequest |
发起系统的身份信息 |
请求发起系统的主控设备ID |
字符串 |
32字节长的字符串 |
表5
业务收到请求后,从第一统一业务终端系统的执行环境上切换到第二统一业务终端系统的执行环境上。切换完成后进入下一步骤;否则,如果有业务无法完成切换,则向第一统一业务终端系统发出业务结束请求以结束该业务的运行,业务结束请求包括发起系统的身份信息和欲结束业务的ID,具体格式如表6所示。
结束业务请求 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:ServiceStopRequest |
发起系统的身份信息 |
结束业务请求发起系统的主控设备ID |
字符串 |
32字节长的字符串 |
欲结束业务的ID |
欲结束业务的ID |
字符串 |
最大长度为256字节的字符串 |
表6
第一统一业务终端系统收到结束业务请求后,判断是否发起系统的身份信息是否合法(即与第二统一业务终端系统的身份信息是否吻合)以及欲结束业务是否在本系统上运行(即在业务信息中是否存在该业务的ID),如果一切吻合,则结束该业务,完成后,第一统一业务终端系统向第二统一业务终端系统发出业务结束响应,业务结束响应包括响应发起系统的身份信息和业务ID,具体格式如表7所示。
业务结束响应 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:ServiceStopResponse |
发起系统的身份信息 |
业务结束响应发起系统的主控设备ID |
字符串 |
32字节长的字符串 |
业务ID |
已结束业务的ID |
字符串 |
最大长度为256字节的字符串 |
表7
5、切换结束后,所述第一统一业务终端系统中断与其拥有的能力服务器以及在其上运行的业务的连接,并且删除所述第一统一业务终端系统的框架功能模块和执行环境中的信息,去激活所述框架功能模块和所述执行环境。
当所述第一统一业务终端系统的能力服务器中断与所述第一统一业务终端系统的连接时,拥有该能力服务器的设备将其保留的主控设备的身份信息进行更新,将身份信息由所述第一统一业务终端系统的主控设备更新为所述第二统一业务终端系统的主控设备。
四、统一业务终端系统的框架功能模块的转移
本发明还公开了一种将统一业务终端系统的框架功能模块从当前主控设备转移到所述统一业务终端系统中的另一个一类设备的方法,由所述一类设备充当所述统一业务终端系统的新的主控设备。如附图3所示,所述方法包括步骤:
1、对当前主控设备是否能够将其框架功能模块中的信息转移到目标设备进行鉴权,以确定当前主控设备能够将框架功能模块中的信息转移到目标设备。
在本发明中,框架功能模块的转移可以由当前主控设备向目标设备发起转移请求(该过程称为顺向转移),也可以由充当目标设备的某一一类设备向当前主控设备发起转移请求(该过程称为逆向转移)。
如果转移请求是由当前主控设备主动发起,则当前主控设备向目标设备发出框架转移请求,所述框架转移请求包含发起设备的身份信息,并表明是顺向转移。
框架转移请求的具体格式如表8所示。
框架转移请求 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:FrameworkTransferRequest |
请求发起设备的身份信息 |
请求发起系统的主控设备ID |
字符串 |
32字节长的字符串 |
转移方向 |
顺向转移还是逆向转移 |
无符号整数 |
0至1“0”表示顺向转移“1”表示逆向转移 |
表8
目标设备接收到所述框架转移请求之后,判断是否是由其所在的统一业务终端系统的主控设备所发出的请求,是则进入下一步骤,反之则结束本过程。
如果转移请求是由目标设备主动发起,则目标设备向当前主控设备发出框架转移请求,所述框架转移请求包含发起设备的身份信息,并表明是逆向转移。当前主控设备接收到所述框架转移请求之后,判断所述目标设备是否是所述统一业务终端系统中的一类设备,是则向目标设备发出框架转移响应,所述框架转移响应包含响应发起系统的身份信息,通知所述目标设备准备开始框架功能模块转移,进入下一步骤,反之则通知目标设备无法进行框架功能模块转移,并且结束本过程。
框架转移响应的具体格式如表9所示。
框架转移响应 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:FrameworkTransferResponse |
响应发起设备的身份信息 |
目标设备的ID |
字符串 |
32字节长的字符串 |
转移方向 |
允许转移还是拒绝转移 |
无符号整数 |
0至1“0”表示拒绝转移“1”表示允许转移 |
表9
2、鉴权成功后,所述目标设备启动框架功能模块以及执行环境,并且通知当前主控设备进行框架功能模块转移。
具体地,目标设备启动框架自身的框架功能模块以及执行环境。完成后目标设备向当前主控设备发出框架转移实施请求,包括消息类型和发起设备的身份信息,具体格式如表10所示。
框架转移实施请求 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:FrameworkTransferExecuteRequest |
消息类型 |
消息的类型 |
字符串 |
固定为: |
响应发起设备的身份信息 |
目标设备的ID |
字符串 |
32字节长的字符串 |
表10
3、当前主控设备将所述目标设备的身份信息通告给所述统一业务终端系统所拥有的能力服务器以及在所述统一业务终端系统上运行的业务,从而使所述目标设备能够与这些能力服务器以及业务建立连接。只有这样,能力服务器才可以同时连接当前主控设备和目标设备。同时,当前主控设备将保存在其主控设备上的能力信息、业务信息、用户信息从数据库中读出并转化成网络数据流(如socket流)传输到目标设备上,并写入目标设备的数据库。
4、所述目标设备根据所转移的信息与所述能力服务器以及所述业务建立连接,并根据所述业务的信息配置所述目标设备的执行环境,即构建业务所需能力服务器的代理以及生成能力服务器和能力调用命令的映射表。
5、所述目标设备通知在当前主控设备上运行的业务切换到所述目标设备的执行环境,并在所述执行环境中运行。
具体地,目标设备向当前主控设备上的业务发出业务切换请求,请求将这些业务切换到目标设备的执行环境上运行。业务切换请求包括切换请求发起设备的身份信息,业务切换请求消息的具体格式如表5所示。业务收到请求后,从当前主控设备的执行环境上切换到目标设备的执行环境上。切换完成后进入下一步骤。否则,如果有业务无法完成切换,则目标设备向当前主控设备发出业务结束请求以结束该业务的运行,业务结束请求包括发起设备的身份信息和欲结束业务的ID,具体格式如表6所示。当前主控设备收到结束业务请求后,判断是否发起系统的身份信息是否合法(即与目标设备的身份信息是否吻合)以及欲结束业务是否在本系统上运行(即在业务信息中是否存在该业务的ID),如果一切吻合,则结束该业务,完成后,当前主控设备向目标设备发出业务结束响应,业务结束响应包括响应发起设备的身份信息和业务ID,具体格式如表7所示。所有需要结束的业务都已经完全结束后,进入下一步骤。
6、当前主控设备中断与其所拥有的能力服务器以及在其上运行的业务的连接,删除其框架功能模块以及执行环境中的信息,去激活其框架功能模块以及执行环境。
在该步骤中,当前主控设备所拥有的能力服务器在中断与当前主控设备的连接时,对所保留的主控设备的身份信息进行更新,将身份信息由所述当前主控设备更新为目标设备。经过框架功能模块转移之后,当前主控设备与目标地位互换,由目标设备充当统一业务终端系统的主控设备。
五、统一业务终端系统中的设备动态分离方法
本发明还提供了一种统一业务终端系统中的设备动态分离方法,其主要目的是为了保证在发生设备分离时,无论是原统一业务终端系统的业务还是将要分离的设备上运行的业务都能够保证连续性,或者在无法继续实现业务连续性的情况下,业务能够以一种稳定的方式结束,从而统一业务终端系统仍能够正常工作。
如附图4所示,设备分离过程可以由将要分离的设备主动发起(该过程称为逆向分离),也可以由统一业务终端系统的主控设备发起(该过程称为顺向分离)。下面分别讨论这两种情况。
(一)由将要从统一业务终端系统分离的设备发起的设备分离过程
在设备分离过程由将要从统一业务终端系统中分离的设备发起的情况下,当所述将要分离的设备要求成为新的统一业务终端系统时,所述方法包括以下步骤:
1、将从统一业务终端系统分离的设备主动要求从统一业务终端系统内分离出去,所述将要分离设备的聚合模块向统一业务终端系统的主控设备的框架发出分离请求,并表明分离后的状态,请求成为一个新的统一业务终端系统。分离请求中包括请求发起设备的身份信息,分离方向以及分离后的状态。分离请求的具体格式如表11所示。
分离请求 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:SeparateRequest |
请求发起设备的身份信息 |
请求发起设备的ID,此处指将要分离设备的ID |
字符串 |
32字节长的字符串 |
分离方向 |
顺向分离还是逆向分离 |
无符号整数 |
0至1“0”表示顺向分离“1”表示逆向分离 |
分离后的状态 |
成为普通终端还是成为一个新的统一业务终端系统 |
无符号整数 |
0至1“0”表示成为普通终端“1”表示成为一个新的统一业务终端系统 |
表11
2、所述主控设备判断所述将要分离的设备是否是所述统一业务终端系统中的一类设备,如果不是的话,则向所述将要分离的设备发出分离拒绝响应,本过程结束,否则向所述将要分离的设备发出分离同意响应。所述分离请求响应包括响应发起设备的身份信息以及分离请求结果,具体格式如表12所示。
分离响应 |
字段名 |
内容 |
类型 |
取值范围 |
消息类型 |
消息的类型 |
字符串 |
固定为:SeparateResponse |
响应发起设备的身份信息 |
响应发起设备的ID,此处指主控设备的ID |
字符串 |
32字节长的字符串 |
分离请求结果 |
拒绝/同意 |
无符号整数 |
0至1“0”表示拒绝“1”表示同意 |
表12
所述将要分离的设备接收到所述分离同意响应后,激活其框架功能模块以及执行环境,并向所述主控设备发布其存在信息。
3、所述主控设备将所述将要分离的设备的身份信息通告给所述将要分离的设备的能力服务器以及由所述将要分离的设备发起的业务,以便所述将要分离的设备能够与这些能力服务器以及业务建立连接。
4、所述主控设备通过查找业务信息,查找是否有业务是由所述将要分离的设备发起,如果有的话,将由所述将要分离的设备发起的业务的所有信息从数据库中读出并转化为网络数据流(如socket流),传输到所述将要分离的设备,并且写入所述将要分离的设备的数据库中。
5、所述主控设备还通过查找业务信息,查找是否有其他设备发起的业务使用了由所述将要分离的设备所提供的能力服务器,如果使用了所述将被分离的设备的能力服务器,则所述主控设备通过重新分配业务能力,从不包括所述将被分离的设备在内的设备中寻找所述能力服务器的替代能力服务器,如果能够找到所述的替代能力服务器,则在执行环境中生成所述替代服务器的代理,以便由所述业务调用所述替代能力服务器,否则通知所述业务中止或挂起。
6、所述将要分离的设备获得其所拥有的能力服务器的信息。
如果所述将要分离设备分离后的状态是成为一个新的统一业务终端系统,则当前主控设备还将保存在其主控设备上的将要分离设备上的能力服务器的所有信息从数据库中读出并转化成网络数据流(如socket流)传输到所述将要分离的设备上去,并写入所述将要分离的设备的数据库中。或者用另一种方法,所述将要分离的设备将自身拥有的能力服务器的信息注册进入新系统的数据库。
7、所述将要分离的设备根据所得到的能力信息以及业务信息,与其拥有的能力服务器以及从其发起的业务建立连接,将要分离的设备的框架模块重新进行业务能力分配,如果能够满足业务的需求,则配置执行环境,即生成与其发起的业务相对应的能力服务器代理以及能力服务器与能力调用命令之间的映射表,并通知所述统一业务终端系统转移由其发起的业务,否则,通知需求无法得到满足的业务中止或挂起。
8、当转移完成后,所述统一业务终端系统中断与所述将要分离的设备以及由其发起的业务的连接,并且删除与所述将要分离的设备相关的设备信息、能力信息以及业务信息。
当所述将要分离的设备中断与所述统一业务终端系统的连接时,将其保留的主控设备的身份信息进行更新,将身份信息由所述统一业务终端系统的主控设备更新为所述将要分离设备的身份信息。
在设备分离过程由将要从统一业务终端系统中分离的设备发起的情况下,当所述将要分离的设备要求成为普通终端时,所述方法包括以下步骤:
1、将从统一业务终端系统分离的设备主动要求从统一业务终端系统内分离出去,所述将要分离设备的聚合模块向统一业务终端系统的主控设备的框架发出分离请求,并表明分离后的状态,请求成为一个普通的终端。分离请求中包括请求发起设备的身份信息,分离方向以及分离后的状态。分离请求的具体格式如表11所示。
2、所述主控设备判断所述将要分离的设备是否是所述统一业务终端系统中的设备,如果不是的话,则向所述将要分离的设备发出分离拒绝响应,本过程结束,否则向所述将要分离的设备发出分离同意响应。所述分离请求响应包括响应发起设备的身份信息以及分离请求结果,具体格式如表12所示。
3、所述主控设备查找由所述将要分离的设备发起的业务,并且结束所述业务;
4、所述主控设备还查找由其他设备发起的业务使用了由所述将被分离的设备所提供的能力服务器,并且通过重新分配业务能力,从不包括所述将被分离的设备在内的设备集中寻找所述能力服务器的替代能力服务器,如果如果能够找到所述提到能力服务器,则在执行环境中生成所述替代能力服务器的代理,以便由所述业务调用所述替代能力服务器;
5、所述主控设备中断与所述将要分离的设备的连接,并且删除所述将被分离的设备的设备信息、能力服务器信息以及业务信息。
(二)由统一业务终端系统的主控设备发起的设备分离过程
在设备分离过程由统一业务终端系统的主控设备发起时,所述方法包括步骤:
1、所述主控设备向将要分离的设备发出分离通知;
2、所述主控设备还查找数据库中的信息,查找是否有所述将要分离的设备发起的业务,如果有这种业务,所述主控设备的框架功能模块结束所述业务;
3、所述主控设备还查找是否有其他设备发起的业务使用了由所述将被分离的设备所提供的能力服务器,如果使用了所述将被分离的设备的能力服务器,则所述主控设备通过重新分配业务能力,从不包括所述将被分离的设备在内的设备中寻找所述能力服务器的替代能力服务器,如果能够找到所述提到能力服务器,则在执行环境中生成所述替代能力服务器的代理,以便由所述其他设备调用所述替代能力服务器,否则通知业务中止或挂起;
4、所述主控设备中断与所述将要分离的设备的连接,并且删除所述将被分离的设备的设备信息、能力服务器信息以及业务信息。