一种基于软件主体的环境探知平台系统及其环境探知方法

2017-01-11 18:53

本发明涉及一种基于软件主体的环境探知平台系统及其环境探知方法,该系统安装在每一个网络计算机节点,包括基础通讯模块、软件主体运行管理模块、环境信息分发模块和集成命令处理模块。其通过在构成网络应用系统的各个组成构件所在的运行节点安装或部署各种硬件或软件传感器,并进一步通过动态部署软件主体对底层的各种传感器进行封装,屏蔽了底层的异构性;软件主体同时也是环境信息融合处理以及分发的基本单位,能够对所获取的环境信息进行进一步处理和融合操作以获得新的高层次的环境信息,并将此信息进一步提供给其他软件主体使用,从而形成一个统一的层次化的环境信息获取、融合和分发框架。

1.一种基于软件主体的环境探知平台系统,其特征在于该平台系统安装在每一个网络计算机节点上,并包括以下相互连接的组成部分:基础通讯模块:用于实现不同计算机节点的基本通信能力,并支持软件主体运行管理模块、环境信息分发模块以及集成命令处理模块的跨网络通信;软件主体运行管理模块:用于具体管理软件主体,提供创建软件主体,部署软件主体,运行或暂停软件主体,销毁软件主体的基本功能;环境信息分发模块:集中负责当前计算机节点有关环境信息的分发操作,其代表运行在当前计算机节点的所有软件主体向运行在其他计算机节点的软件主体获取相应的环境信息;同时,也负责向其他计算机节点的软件主体分发本地软件主体所维护的相应环境信息;

集成命令处理模块:用于接收集成方发送的集成命令并处理,集成方发送的命令包括:查询环境中的软件主体,创建指定软件主体,部署指定软件主体,运行指定软件主体,暂停指定软件主体,销毁指定软件主体,修改软件主体之间环境信息需求关系;集成命令处理模块收到集成方命令之后,联系软件主体管理模块以及环境信息分发模块以最终完成命令的操作。

2.一种基于软件主体的环境探知方法,首先在每一个网络计算机节点上安装环境探知平台系统,该平台系统包括相互连接的基础通讯模块、软件主体运行管理模块、环境信息分发模块和集成命令处理模块;其特征在于该方法包括以下步骤:1)首先明确所关注的环境信息类型以及所关注的节点;2)查询是否已有能够满足步骤1)所关注节点的环境信息的软件主体部署并运行:2a)向集成命令处理模块发送查询命令;2b)集成命令处理模块进一步通过基础通讯模块联系各个节点的软件主体管理模块以完成相应的具体查询操作;3)如果存在上述满足要求的软件主体,则直接使用并转7),否则转4);4)软件主体的创建:4a)向集成命令处理模块发送创建软件主体的命令;4b)集成命令处理模块接收命令之后通过基础通讯模块调用软件主体运行管理模块的创建软件主体功能,以创建指定类型的软件主体实例;5)软件主体的部署:5a)向集成命令处理模块发送部署命令;5b)集成命令处理模块接收部署命令之后进一步通过基础通讯模块联系软件主体运行管理模块;

5c)软件主体运行管理模块通过基础通讯模块将创建好的软件主体实例部署到指定的网络节点上;

6)软件主体的绑定:当一个节点接收到软件主体之后,其软件主体运行管理模块首先判断软件主体是底层软件主体还是高层软件主体,如果是底层软件主体则转6a),否则转6b);

6a)底层软件主体到达指定网络节点后,同底层相应的软硬件传感器建立通讯;软件主体运行管理模块启动底层软件主体运行,底层软件主体从底层传感器获得原始信息并转

化为统一格式信息,并利用节点的环境信息分发模块进一步提供给高层软件主体,转7);6b)高层软件主体到达指定网络节点后,利用环境信息分发模块建立同所依赖的其他低层次的软件主体的环境信息分发链路;软件主体运行管理模块启动高层软件主体,向其所依赖的其他软件主体获得环境信息并汇总、融合,获得高层次的环境信息,并利用环境信息分发模块进一步提供给更高层软件实体;7)结束。

一种基于软件主体的环境探知平台系统及其环境探知方法技术领域

本发明涉及一种自适应网络应用系统支持技术,特别涉及一种探知网络应用系统相关运行环境信息的方法。

背景技术

随着Internet的出现和迅速普及,计算机软件所面临的运行环境开始从封闭、静态、可控逐步走向开放、动态、难控。如何在开放、动态和难控的网络环境下实现各类资源的共享和集成已经成为计算机软件技术面临的重要挑战之一。为适应这样一种发展趋势,软件系统应能感知其运行环境的动态变化,并随着这种变化按照预先定义的功能指标、性能指标和可靠性指标进行静态离线的调整和动态在线的演化,即要求系统具有感知环境并自动调整的能力。

探知软件系统运行环境及其动态变化的能力则是这种自适应信息软件系统形态得以存在和发展的最为重要的基础和前提。构成软件系统运行环境的因素众多,包括其物理环境因素,例如温度、湿度、亮度、电磁等物理信息;还有数字环境因素,例如网络带宽、网络负载、资源消耗、系统响应时间。

探知系统运行环境主要是依靠各种传感器。现阶段存在各式各样的软硬件传感器。硬件传感器方面,有测量温度、湿度、亮度、电磁等物理信息的传感器,它们可以用来探测系统运行节点所处的客观物理环境的相关信息;软件传感器方面,有用于测量网络带宽、网络负载、资源消耗、系统响应时间等格式传感器,利用它们可以测量应用系统所处计算机世界的相关环境信息。但由于各种传感器在通信介质、通信协议、数据表示等各方面都存有异构,要简单、有效的使用各种传感器的信息,支持上层自适应网络应用的开发和运行,则必须提供一个统一的环境探知平台。该平台能够有效屏蔽底层各种传感器的异构,对上层自适应网络应用提供统一的应用接口。

但是,现有的环境探知平台并不能较好的支持自适应网络应用的需求,具体表现在以下几点:1.传统环境探知平台针对一个相对独立的空间,而非整个Internet环境;2.传统环境探知平台忽视了自适应网络应用的分布性和网络连接的普遍性,应用的分布性使得其相关环境信息同样具有分布性,而传统集中式的处理方式不能满足需求;3.传统环境信息探知平台先传输环境信息然后再处理,带来的大量网络开销。

软件主体技术通常包含两层概念,分别是移动主体和自治主体。前者是传统面向对象思想的延伸,一个移动主体是状态和行为的良好封装,它能代表用户在网络空间自由流动,完成指定的功能,由于其移动性兼具有独立性的特征故而称之为移动主体;后者强调其智能性,它能代表用户自主感知外界情境变化,并能根据变化做出相应的反应从而适应环境,由于它的这种自治性兼具有独立性的特征故而称之为自治主体。如何将软件主体技术和环境探知平台相结合,利用软件主体的优势实现对环境的探知是目前本领域探索的方向。

发明内容

本发明所要解决的技术问题是提供一种基于软件主体的环境探知平台系统及其环境探知方法,该系统及方法可以有效屏蔽底层软硬件传感器的异构性,提供统一的环境信息获取方式,降低网络负载,并动态的调整系统所需的相关环境信息及其处理逻辑。

本发明所述的一种基于软件主体的环境探知平台系统,该平台系统安装在每一个网络计算机节点上,并包括以下相互连接的组成部分:

基础通讯模块:用于实现不同计算机节点的基本通信能力,并支持软件主体运行管理模块、环境信息分发模块以及集成命令处理模块的跨网络通信;

软件主体运行管理模块:用于具体管理软件主体,提供创建软件主体,部署软件主体,运行或暂停软件主体,销毁软件主体的基本功能;

环境信息分发模块:集中负责当前计算机节点有关环境信息的分发操作,其代表运行在当前计算机节点的所有软件主体向运行在其他计算机节点的软件主体获取相应的环境信息;同时,也负责向其他计算机节点的软件主体分发本地软件主体所维护的相应环境信息;

集成命令处理模块:用于接收集成方发送的集成命令并处理,集成方发送的命令包括:查询环境中的软件主体,创建指定软件主体,部署指定软件主体,运行指定软件主体,暂停指定软件主体,销毁指定软件主体,修改软件主体之间环境信息需求关系;集成命令处理模块收到集成方命令之后,联系软件主体管理模块以及环境信息分发模块以最终完成命令的操作。

本发明所述的基于软件主体的环境探知方法,首先在每一个网络计算机节点上安装环境探知平台系统,该平台系统包括相互连接的基础通讯模块、软件主体运行管理模块、环境信息分发模块和集成命令处理模块;该方法包括以下步骤:

1)首先明确所关注的环境信息类型以及所关注的节点,

2)查询是否已有能够满足步骤1)所关注节点的环境信息的软件主体部署并运行:

2a)向集成命令处理模块发送查询命令;

2b)集成命令处理模块进一步通过基础通讯模块联系各个节点的软件主体管理模块以完成相应的具体查询操作;

3)如果存在上述满足要求的软件主体,则直接使用并转7;否则转4);

4)软件主体的创建

4a)向集成命令处理模块发送创建软件主体的命令;

4b)集成命令处理模块接收命令之后通过基础通讯模块调用软件主体运行管理模块的创建软件主体功能,以创建指定类型的软件主体实例;

5)软件主体的部署

5a)向集成命令处理模块发送部署命令;

5b)集成命令处理模块接收部署命令之后进一步通过基础通讯模块联系软件主体运行管理模块;

c)软件主体运行管理模块通过基础通讯模块将创建好的软件主体实例部署到指定的网络节点上;

6)软件主体的绑定;当一个节点接收到软件主体之后,其软件主体运行管理模块首先判断软件主体是底层软件主体还是高层软件主体,如果是底层软件主体则转6a),否则转6b);

6a)底层软件主体到达指定网络节点后,同底层相应的软硬件传感器建立通讯;软件主体运行管理模块启动底层软件主体运行,底层软件主体从底层传感器获得原始信息并转化为统一格式信息,并利用节点的环境信息分发模块进一步提供给高层软件主体,转7);

6b)高层软件主体到达指定网络节点后,利用环境信息分发模块建立同所依赖的其他低层次的软件主体的环境信息分发链路;软件主体运行管理模块启动高层软件主体,向其所依赖的其他软件主体获得环境信息并汇总、融合,获得高层次的环境信息,并利用环境信息分发模块进一步提供给更高层软件实体;

7)结束。

本发明采用软件主体技术为基础,通过在构成网络应用系统的各个组成构件所在的运行节点安装或部署各种硬件或软件传感器,并进一步通过动态部署软件主体对底层的各种传感器进行封装,屏蔽了底层的异构性;软件主体同时也是环境信息融合处理以及分发的基本单位,能够对所获取的环境信息进行进一步处理和融合操作以获得新的高层次的环境信息,并将此信息进一步提供给其他软件主体使用,从而形成一个统一的层次化的环境信息获取、融合和分发框架。

本发明的有益效果:

1)提供统一的环境信息获取方式,简化应用开发,提高自适应网络应用系统开发效率。

2)利用软件主体的自主性、移动性和封装性,将环境信息的获取、处理和分发逻辑分散到不同的软件主体之中,并将其部署到网络的不同节点,一方面可以充分利用分散的网络计算资源,同时减少传统环境探知平台集中式处理带来的性能瓶颈和单点失效带来的灾难。

3)利用软件主体的移动性和封装性,用软件主体封装环境信息的处理逻辑并迁移到环境信息源所在节点,可以实现环境信息处理本地化;这种先处理再传输的方式可以降低传统环境信息探知平台直接传输环境信息在处理所带来的大量网络开销。

4)利用软件主体的移动性和封装性,可以在应用系统的运行过程中动态的创建新的软件主体并部署,或者用新的软件主体替换原有的软件主体,或者删除原有的软件主体,从而实现环境信息处理的动态调整。

附图说明

图1:基于软件主体环境探知平台的系统位置,

图2:探知环境的软件主体的基本逻辑结构示意图,

图3:基于软件主体的环境信息获取、融合、分发框架逻辑视图,

图4:本发明的概要结构图,

图5:本发明的使用流程图,

图6:环境信息分发顺序图,

图7a:一个网络订票应用示意图,

图7b:具有环境探知能力的网络订票应用示意图,

图7c:新构件及相应软件主体的动态添加,

图7d:构件及相应软件主体运行时刻动态迁移。

具体实施方式

本发明的硬件环境

本发明需要部署若干传感器,以建立一个获取网络运行系统所处物理环境的相关信息,例如,温度、湿度等信息,但不限于上述信息;

针对应用系统所运行的所用网络节点计算机要求其网络连接时刻不会间断。

本发明的软件环境

针对应用系统所运行的所用网络节点计算机,推荐以下软件环境:

Java运行环境——JRE1.6或以上版本。

软件主体的生成和管理

软件主体由主体管理器管理,除基本的生命周期管理之外,还提供迁移部署、通讯等基本支持。

下面结合附图具体介绍:

图1,给出了使用本发明的在计算机系统的具体位置,针对使用本发明的计算机,需要在操作系统之上安装Java运行环境,以支持基于软件主体的环境探知平台的正常运行。

图2,给出了本发明中软件主体基本结构,每个软件主体都具有一个可以唯一标识它的标示符id;此外软件主体还具有从外界获取环境信息的“环境信息获取模块”;获取到的信息经由软件主体的“环境信息处理模块”进行分析、融合、推理处理,得到更高抽象层次的环境信息,并存放在软件主体的“环境信息存储模块”;存储的环境信息可以进一步提供给其他软件主体所使用。

图3,给出了本发明的基本逻辑结构视图,在网络应用系统所运行的各个网络节点上部署着各式各样的软硬件传感器。硬件传感器方面,有测量温度、湿度、亮度、电磁等物理信息的传感器,它们可以用来探测系统运行节点所处的客观物理环境的相关信息;软件传感器方面,有用于测量网络带宽、网络负载、资源消耗、相应时间等格式传感器,利用它们可以测量应用系统所处计算机世界的相关环境信息。

底层软件主体封装底层各个软硬件传感器,屏蔽各个传感器之间的异构性,提供统一的访问、控制操作方式;它们从底层各个传感器获取原始的环境信息,将其转换统一的形式存放,并进一步提供给上层的高层软件主体。

高层的软件主体则从底层软件主体或其他高层软件主体获取相应的不同抽象层次担任环境信息,并对这些信息进行进一步的汇总、推理等融合操作,获得更高抽象层次的环境信息。

应用则可依据需要从不同的软件主体处获取所关注的环境信息。

图4,给出了基于软件主体的环境探知技术的整体框架图,针对每一个使用本发明的网络计算机节点,都必须事先安装本发明的基于软件主体的环境探知平台系统;该平台

系统包括以下几个部分:

基础通讯模块:用于实现不同计算机节点的基本通信能力,其他几个模块的跨网络通信都有基础通讯模块支持。

软件主体管理模块:用于具体管理软件主体,提供创建软件主体,部署软件主体,运行或暂停软件主体,销毁软件主体的基本功能。本部分可以使用现有的不同软件主体平台来具体实现。

环境信息分发模块:集中负责当前计算机节点有关环境信息的分发操作。他代表运行在当前计算机节点的所有软件主体向运行在其他计算机节点的软件主体获取相应的环境信息;同时,也负责向其他计算机节点的软件主体分发本地软件主体所维护的相应环境信息。

集成命令处理模块:用于接收集成方发送的集成命令并处理。集成方发送的命令包括:创建指定软件主体,部署指定软件主体,运行指定软件主体,暂停指定软件主体,销毁指定软件主体,修改软件主体之间环境信息需求关系。集成命令处理模块收到集成方命令之后,联系软件主体管理模块以及环境信息分发模块以最终完成命令的操作。

图5,给出了如何使用本发明的整体流程:

1)首先是需要明确所关注的环境信息类型以及所关注的节点,

2)查询是否已经有满足上述要求的软件主体已部署并运行,

3)如果存在上述满足要求的软件主体,则直接使用并转11);否则转4),

4)创建指定类型的软件主体实例,

5)将创建好的软件主体实例部署到指定的网络节点上,

6)软件主体到达指定网络节点后,进行绑定工作;首先判断软件主体是底层软件主体还是高层软件主体,如果是底层软件主体则转7),否则转9)

7)底层软件主体到达指定网络节点后,同底层相应的软硬件传感器建立通讯,

8)启动底层软件主体运行,向底层传感器获得原始信息并转化为统一格式信息,进一步提供给高层软件主体,转11),

9)高层软件主体到达指定网络节点后,建立同所依赖的其他低层的软件主体的通信链路,

10)启动高层软件主体,向其所依赖的其他软件主体获得环境信息并汇总、融合,获得高层次的环境信息,并进一步提供给更高层软件实体,

11)结束。

图6给出了环境信息从底层软件实体获取到应用处理的顺序关系:

1)当底层软件主体得到底层传感器探知到的原始环境信息后,其首先将该原始信息转换为统一的数据格式;然后判断该环境信息是否发生了变化,如果是则将更新后的新数据通知给上层的高层软件主体。

2)高层软件主体接收到环境更新消息后,首先将其同现有信息进行融合,以获取高层的环境信息;然后判断该环境信息是否发生了变化,如果是则将更新后的新数据通知给上层的高层软件主体或应用系统。

3)应用系统接收到环境更新消息后,进行进一步的处理,处理逻辑由应用自身指定。

图7a给出了一个示例应用的示意图:

该应用是针对一个网络订票的场景,系统由分布在3个网络节点的3个构件组成,其中一个构件M专门负责接收订票请求,其他两个构件S1,S2则接收M发送的命令完成订票的具体操作。

为了提高服务的质量,这里主要是订票服务的响应时间;我们要求M总是选择S1,S2中相应时间最快的一个执行具体的订票操作。

如图7b所示,为了次目标,我们在上述3个网络节点上部署我们的基于主体的环境探知平台,然后进一步部署两个底层软件主体A1,A2到S1,S2所在节点,分别探知S1,S2的响应时间;于此同时,部署一个高层软件主体AM到M所在节点,A3从A1,A2及时获取S1,S2的响应时间,这样M则可以依据获取的S1,S2的响应时间进行决策,选择响应最快的构件完成具体的订票操作。

如图7c所示,网络订票系统运行的过程中,我们可以动态的添加一个新的计算构件S3,它同S1,S2一样也是完成具体订票操作的。为了保持图7b中的环境感知需求,我们也可以在S3所在节点部署一个探知S3响应时间的软件主体A3.;相反的,当我们将图7c中S3从系统删除之后,相应的软件主体A3也将被销毁,从而又转回图7b所示配置。

如图7d所示,当由于人为因素(系统管理员对系统进行调整)或系统自动调整因素的影响,我们需要将图7b中S2构件迁移到一个新的节点,此时相应的探知环境的软件主体A2也自动随S2的迁移而迁移到新的节点继续探知S2构件的响应时间。

图1
图2
图3

图4

图5

图7a

图6
图7b

图7c

图7d