1.一种基于Hadoop的智能家居管理平台,其特征在于:包括智能家居管理模块和任务调度器;
所述智能家居管理模块包括
表示层,由JSP页面构成,用于向用户显示接收到的控制层数据,包括智能家居设备信息管理页面、智能家居用户信息管理页面、智能家居设备控制页面、设备数据查看页面以及室内环境监控页面;
控制层,用于接收用户的控制请求信息并调用业务层完成业务运算逻辑;
业务层,用于完成系统的业务逻辑操作,业务层接收控制层传入的参数实现整个系统的业务逻辑;
数据持久层,用于将业务层处理后的数据进行持久化,把智能家居系统的数据信息保存在数据库中,或将数据库的数据取出,输出给业务层;
数据层,用于实现智能家居管理系统的数据库管理,同时通过数据库中的用户行为及环境数据,结合数据挖掘技术在业务层实现对用户行为及环境数据的分析,训练出符合用户生活习惯的智能控制决策;
所述任务调度器用于实现对平台的访问任务进行调度,合理分配计算资源,提高平台的负载均衡水平、减少任务执行时间,改善用户体验效果。
2.根据权利要求1所述的基于Hadoop的智能家居管理平台,其特征在于:所述智能家居管理模块是基于Struts2+Spring4+Hibernate框架设计的;
所述控制层采用Struts2框架的StrutsPrepareAndExecuteFilter组件和Action对象,StrutsPrepareAndExecuteFilter组件接收用户的请求信息,然后根据系统配置要求将请求传递给相应的Action对象,Action对象调用相应的业务方法,将返回的业务结果转换为逻辑视图名返回给StrutsPrepareAndExecuteFilter组件,StrutsPrepareAndExecuteFilter组件根据返回的逻辑视图名定位到相应的视图页面,生成相应内容并输出响应;
所述业务层采用Spring4框架,主要由系统的业务逻辑Service对象组成;
所述数据持久层采用Hibernate框架的数据访问DAO对象,通过DAO对象将业务层处理后的数据进行持久化,把智能家居系统的数据信息保存在数据库中,或通过DAO对象将数据库的数据取出,输出给业务层。
3.根据权利要求1-2任一所述的基于Hadoop的智能家居管理平台,其特征在于:在所述表示层中,所述智能家居设备信息管理页面包括设备信息、设备管理、设备报修、远程维护设备,所述智能家居用户信息管理页面包括用户信息、用户权限管理、用户管理,所述智能家居设备控制页面包括设备控制及参数设置,所述设备数据查看页面可以对设备能耗数据进行查看,所述室内视频监控页面包括监控视频查看、摄像头操作控制及参数设置。
4.根据权利要求1-2任一所述的基于Hadoop的智能家居管理平台,其特征在于:所述数据库包括MySQL数据库和Hadoop的Hive数据仓库,Hive数据仓库主要用于获取MySQL数据库传来的用户行为及环境数据,并结合数据挖掘技术在业务层实现对用户行为及环境数据的分析,训练出符合用户生活习惯的智能控制决策。
5.根据权利要求1-2任一所述的基于Hadoop的智能家居管理平台,其特征在于:所述任务调度器是基于改进后的遗传-蚁群算法的任务调度方法进行调度的,其调度步骤包括:S1:将所有可能的应用任务调度方案编码成染色体,初始化种群;
S2:选取完成时间、成本、CPU利用率、内存利用率四个目标来量化资源调度的满意程度,选取合适的适应度函数,并计算种群染色体适应度值:适应度函数:F=-ω1Timetotal-ω2Costtotal+ω3ldcpu+ω4ldmem+ω5ldnet,式中Timetotal表示任务总运行时间, 表示每个计算资源M执行该资源上的所有子任务所需的时间,ETC(i,M)表示第i个子任务在第M个计算资源上执行完成所需的时间,j表示第j个计算资源;
Costtotal表示任务总运行成本, TimeM表示每个计算资源
执行该资源上的所有子任务所需的时间,RCU(M)表示计算资源单元时间任务运行的成本;
ldcpu表示CPU利用率, 表示资源集群k在t时刻的CPU负载;
ldmem表示内存利用率, 表示应用集群k在t时刻的内存负载;
ldnet表示带宽利用率, 表示应用集群k在t时刻的网络负载,其
中,N表示Δt时间内采集到监控数据的次数;cpuki、memki、netki分别表示集群k的第i台计算资源的CPU、内存、网络容量;cpuusedkitm、memusedkitm、netusedkitm分别表示集群k的第i台计算资源在tm监控时刻的CPU、内存、网络使用量;
ω1,ω2,ω3,ω4,ω5表示权重系数,且0≤ωi≤1,
S3:轮盘赌的方式选择适应度函数值两个染色体p1、p2,个体被选中的概率通过公式表示,S表示种群规模;
S4:以交叉概率cross_rate将所述S3中获取的两个染色体进行交叉操作,和cross_rate=k2, 其中Fmax表示
种群中最大的适应度值,F′表示要交叉的两个个体中较大的适应度值,表示该代种群的平均适应度值,k1,k2为0-1之间取值的系数;
S5:随机选取种群中的一个染色体,以变异概率mutate_rate将该染色体进行变异操作, 和mutate_rate=k4, 其中F表示要变异个体的适应度值,k3,k4为0-1之间取值的系数,变异的概率一般为0.0001-0.1之间;
S6:当遗传算法阶段满足收敛条件时,将结果作为蚁群算法开始的信息素初始值,进入蚁群算法;若不满足收敛条件则将结果作为新的染色体种再次进行遗传算法直至满足收敛条件,收敛条件采用了最优跨度适应度函数值的标准差来判断,即F(i)表示这一代种群的第i个个体的适应度值,ξ表示收敛阈值;
S7:根据遗传算法退出时所得到的当前最优调度方案,将m只蚂蚁分别置于相应的计算节点,并为每个计算节点的信息素分别赋初值:τi(0)=ri-loadi(0),i=1,2,…,n;ri为计算节点pi所实际拥有的计算能力,loadi(0)为根据遗传算法终止时所得到的最优调度方案,应指派给计算节点pi的应用任务所实际占用的计算负载;
S8:将每个蚂蚁当前所在的计算节点分别置于各自的解集tabu中;
S9:检查每个计算节点上的任务执行情况,并根据具体的任务执行结果,为每个计算节点分别赋予不同的信息素增量Δτ,若任务从节点i执行成功并返回,则该节点赋予信息素增量Δτi=Ce×K,若任务从节点i执行失败并返回,则该节点赋予信息素增量Δτi=Cp×K,K表示对应任务的执行开销,Ce、Cp表示相应的奖惩因子;
S10:更新所有计算节点的信息素值τi(t)=τi(t)+Δτi,i=1,2,…,n;检查是否有计算节点加入或退出云计算系统,对于新加入的节点,根据其计算能力为其设置信息素初始值,对于退出的节点,将其信息素值置为0;
S11:根据各计算节点的信息素分布情况,计算概率 当节点i,j可用时,
否则 基于得到的最大概率值为每只蚂蚁分别选取下一个计算节点
j,tj(t)表示t时刻计算节点j的信息素,ηj表示计算节点j固有的计算能力,α和β分别表示计算节点的信息素及其固有计算能力的重要程度;
S12:将计算节点j置于当前蚂蚁的解集tabu中,根据所有蚂蚁所选取的计算节点,计算对应的时间、成本、CPU利用率、内存利用率四个目标函数值,修正并记录当前最优的任务调度方案;
S13:若循环计数器N达到约定的最大迭代次数,或者迭代出现退化现象,那么当前记录的最优解即为求取的最优调度方案,则修正当前各计算节点的信息素ρ为信息素的挥发率,K为当前任务的执行开销,输出当前的最优任务调度方案,否则,清空所有蚂蚁的解集tabu,返回S9继续执行算法。