当前位置: 首页 > 专利查询>福州大学专利>正文

IoT系统中的自适应计算迁移中间件技术方案

技术编号:16152653 阅读:28 留言:0更新日期:2017-09-06 18:10
本发明专利技术涉及一种IoT系统中的自适应计算迁移中间件,包括创建模块:通过调用ObjectFactory提供的创建服务,创建服务支持对象的本地创建以及对象的远程创建;迁移模块:通过调用ObjectFactory提供的迁移服务,迁移服务支持对象迁移到远程以及对象的迁回操作;调用模块:通过调用代理对象,代理对象将调用操作转发给ObjectFactory的调用服务,调用服务将操作发送给实际对象进行处理,返回调用结果;决策模块:中间件通过拦截器获取程序执行顺序以及获取IoT的网络环境参数,通过决策算法计算部署方案的适应性函数值来获取最优部署方案,最后通过迁移模块以及调用模块进行部署实现。本发明专利技术使得普通IoT应用通过中间件的支持后可自适应计算迁移以及动态部署。

【技术实现步骤摘要】
IoT系统中的自适应计算迁移中间件
本专利技术涉及一种IoT系统中的自适应计算迁移中间件。
技术介绍
随着IoT的发展以及IoT应用的普及,IoT应用的数据传输、计算能力得到一定的挑战,智能设备在性能和能耗方面存在问题,同时由于IoT应用多节点部署的特性,同一个IoT应用在不同的环境中,存在不同的部署方案,因此,IoT应用无法确定部署,导致了IoT应用开发以及部署的难度。计算迁移是一种可能的解决方案。然而,随着云、雾、智能终端等的增多,计算迁移面临新的挑战:即能够在一定约束下,实现IoT应用的动态部署:因为IoT应用在同一环境下,不同部署方案对IoT应用的效率起到了决定性的作用,如何根据IoT应用的复杂度以及计算资源,制定合适的部署方案。我们的工作为IoT应用提供了中间件的支持:(1)框架支持:提供了计算迁移框架,使得IoT应用获得迁移能力;(2)决策机制:提供了基于遗传算法的迁移决策机制,使得IoT应用能能够根据当前环境自适应部署在计算节点上。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种IoT系统中的自适应计算迁移中间件,使得普通IoT应用通过中间件的支持后可自适应计算迁移以及动态部署。为实现上述目的,本专利技术采用如下技术方案:一种IoT系统中的自适应计算迁移中间件,其特征在于:包括创建模块、迁移模块、调用模块和迁移决策模块;创建模块:通过调用ObjectFactory提供的创建服务,创建服务支持对象的本地创建以及对象的远程创建,创建服务返回的结果是对象的代理对象,迁移模块:通过调用ObjectFactory提供的迁移服务,迁移服务支持对象迁移到远程以及对象的迁回操作,迁移服务返回的结果是对象的代理对象,调用模块:通过调用代理对象,代理对象将调用操作转发给ObjectFactory的调用服务,调用服务将操作发送给实际对象进行处理,之后返回调用结果,决策模块:渗透在以上三个模块中,中间件通过拦截器获取程序执行顺序以及获取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对象所属的类需要提供默认的构造函数。进一步的,所述创建服务包括:对象的本地创建:首先传入对象的构造参数以及对象的类类型,ObjectFactory对这些构造参数进行类型处理,通过处理之后的构造参数来匹配对应的构造函数,然后利用构造函数进行对象的创建,最后创建对象的代理对象并记录其计算节点位置;对象的远程创建:首先传入构造参数以及对象类型,ObjectFactory处理构造参数,然后将其发送至目标计算节点,目标计算节点的ObjectFactory处理接收到的构造参数,匹配构造函数,然后创建对象和对象代理,保存对象代理的计算节点位置,然后将对象副本发送回源计算节点,源计算节点接收到对象副本,然后创建代理对象同时保存代理的计算节点位置。进一步的,所述迁移模块中,对迁移对象的fields进行处理,然后将fields以及对象类型发送至远程目标节点,远程目标节点处理接收到的fields,然后创建对象及其代理对象,然后对对象的fields进行设置,保存代理对象的计算节点位置,源计算节点更新代理对象的计算节点位置。进一步的,所述调用服务包括:对象的本地调用:代理对象执行函数调用触发中间件拦截器的拦截,拦截器判断该代理对象的计算节点位置是否与当前计算节点位置一致,如果一致,拦截器通过方法参数与方法名匹配方法对象,利用代理对象获取到实际对象,然后执行对象调用;对象的远程调用:代理对象调用方法触发拦截器拦截,拦截器判断代理对象的计算节点位置是否与当前节点一致,如果不一致,拦截器处理方法参数,然后将方法参数,方法名以及代理对象ID发送至代理对象计算节点位置,代理对象计算节点接收到以上信息之后,处理方法处理,通过方法参数与方法名获取方法对象,利用代理对象ID找到代理对象,通过代理对象找到实际对象,然后执行方法调用。进一步的,所述决策算法包括以下两部分:(1)数据矩阵矩阵E表示每个计算节点对应每个功能模块所需要的计算时间Texecute其中,eij表示第i个计算节点对应第j个功能模块的计算时间;矩阵V表示两个计算节点之间的数据传输速率Vtransfer其中,vij表示第i个计算节点与第j个计算节点之间的数据传输速率;矩阵C表示每个计算节点对应每个功能模块的对象创建时间Tcreate其中,cij表示第i个计算节点在第j个功能模块对象的创建时间;(2)调用序列图以G=<V,E>vi∈V表示每个方法节点,方法节点表示:class_object_function_node其中class为类类型,object为对象实例,function为方法,node为部署节点;eij∈E表示为<vi,vj,wij>,其中vi,vj分别表示方法节点i和方法节点j本文档来自技高网...
IoT系统中的自适应计算迁移中间件

【技术保护点】
一种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系统中的自适应计算迁移中间件,其特...

【专利技术属性】
技术研发人员:陈星陈世鸿林俊鑫
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1