【技术实现步骤摘要】
IoT系统中的自适应计算迁移中间件
本专利技术涉及一种IoT系统中的自适应计算迁移中间件。
技术介绍
随着IoT的发展以及IoT应用的普及,IoT应用的数据传输、计算能力得到一定的挑战,智能设备在性能和能耗方面存在问题,同时由于IoT应用多节点部署的特性,同一个IoT应用在不同的环境中,存在不同的部署方案,因此,IoT应用无法确定部署,导致了IoT应用开发以及部署的难度。计算迁移是一种可能的解决方案。然而,随着云、雾、智能终端等的增多,计算迁移面临新的挑战:即能够在一定约束下,实现IoT应用的动态部署:因为IoT应用在同一环境下,不同部署方案对IoT应用的效率起到了决定性的作用,如何根据IoT应用的复杂度以及计算资源,制定合适的部署方案。我们的工作为IoT应用提供了中间件的支持:(1)框架支持:提供了计算迁移框架,使得IoT应用获得迁移能力;(2)决策机制:提供了基于遗传算法的迁移决策机制,使得IoT应用能能够根据当前环境自适应部署在计算节点上。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种IoT系统中的自适应计算迁移中间件,使得普通IoT应用通过中间件的支持后可自适应计算迁移以及动态部署。为实现上述目的,本专利技术采用如下技术方案:一种IoT系统中的自适应计算迁移中间件,其特征在于:包括创建模块、迁移模块、调用模块和迁移决策模块;创建模块:通过调用ObjectFactory提供的创建服务,创建服务支持对象的本地创建以及对象的远程创建,创建服务返回的结果是对象的代理对象,迁移模块:通过调用ObjectFactory提供的迁移服务,迁移服务支持对象迁移到 ...
【技术保护点】
一种IoT系统中的自适应计算迁移中间件,其特征在于:包括创建模块、迁移模块、调用模块和迁移决策模块;创建模块:通过调用ObjectFactory提供的创建服务,创建服务支持对象的本地创建以及对象的远程创建,创建服务返回的结果是对象的代理对象,迁移模块:通过调用ObjectFactory提供的迁移服务,迁移服务支持对象迁移到远程以及对象的迁回操作,迁移服务返回的结果是对象的代理对象,调用模块:通过调用代理对象,代理对象将调用操作转发给ObjectFactory的调用服务,调用服务将操作发送给实际对象进行处理,之后返回调用结果,决策模块:渗透在以上三个模块中,中间件通过拦截器获取程序执行顺序以及获取IoT的网络环境参数,通过决策算法计算部署方案的适应性函数值来获取最优部署方案,最后通过迁移模块以及调用模块进行部署实现。
【技术特征摘要】
1.一种IoT系统中的自适应计算迁移中间件,其特征在于:包括创建模块、迁移模块、调用模块和迁移决策模块;创建模块:通过调用ObjectFactory提供的创建服务,创建服务支持对象的本地创建以及对象的远程创建,创建服务返回的结果是对象的代理对象,迁移模块:通过调用ObjectFactory提供的迁移服务,迁移服务支持对象迁移到远程以及对象的迁回操作,迁移服务返回的结果是对象的代理对象,调用模块:通过调用代理对象,代理对象将调用操作转发给ObjectFactory的调用服务,调用服务将操作发送给实际对象进行处理,之后返回调用结果,决策模块:渗透在以上三个模块中,中间件通过拦截器获取程序执行顺序以及获取IoT的网络环境参数,通过决策算法计算部署方案的适应性函数值来获取最优部署方案,最后通过迁移模块以及调用模块进行部署实现。2.根据权利要求1所述的IoT系统中的自适应计算迁移中间件,其特征在于:所述自适应计算迁移中间件要求IoT应用符合以下持久性约束:A、Movable、Anchored类的划分基于对象的迁移涉及到对象所属的类类型,中间件将用户所提供的类进行两种类型的划分即Movable类和Anchored类Movable类:1、不涉及调用特定硬件资源的类,2、不包括Anchored类对象3、不能继承Anchored类或者实现Anchored接口Anchored类:1、涉及调用特定硬件资源的类,2、包含Anchored类对象,3、继承Anchored类或者实现Anchored接口B、Movable类的封装中间件为了支持对象的迁移,要求符合以下规定1.Movable类中public方法封装成接口2.实现Serializable接口支持序列化3.类中的成员变量设置其修饰符为private4.对成员变量的访问必须通过get方法以及set方法C、对象数组的转化中间件提供了Array泛型接口以及其实现类ArrayImpl,对于对象数组的处理需要符合以下规定1.对象数组的创建必须使用Array接口进行实现Array<AInf>a_array=newArrayImpl<AInf>(n);2.对象数组的访问必须通过Array接口提供的get以及set方法进行其中set方法对数组内容进行赋值,get方法是对数组内容进行读取,具体如下:AInfa=a_array.get(index);a_array.set(index,a);D、对象创建中间件提供ObjectFactory类负责对象代理的创建,所有Movable对象都是通过这个类进行创建、迁移,ObjectFactory负责对参数进行处理以及构造函数的匹配以及创建的对象的代理对象,所有可迁移对象的创建均需要通过ObjectFactory进行AInfa=(AInf)ObjectFactory.create(A.class,args);E、Anchored对象的Location配置中间件提供了Anchored对象Location的配置,特定对象必须在指定的Location节点上进行方法调用,中间件通过解析用户提供的XML配置文件,将这些特定对象注册到中间件默认的注册服务器上,由于中间件通过反射机制进行这些Anchored对象的初始化,因此这些Anchored对象所属的类需要提供默认的构造函数。3.根据权利要求1所述的IoT系统中的自适应计算迁移中间件,其特...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。