一种基于环境感知的主动服务获取方法

文档序号:9727212阅读:265来源:国知局
一种基于环境感知的主动服务获取方法
【技术领域】
[0001 ]本发明涉及一种基于环境感知的主动服务获取方法。
【背景技术】
[0002]几乎所有基于Android的设备都具有多个内置传感器,如加速计,GPS,电池,距离感应器,基于这些传感器数据的应用程序已被广泛使用。在这些系统中,上下文信息被收集和分析,以提供相关的服务到客户端。因为在传感器技术在客户端的快速增长的,上下文信息可以容易地从传感器获得的。
[0003]Han等人通过向量作为情感状态变化的分类提出了用户的情感分析算法的推荐系统。Liang等人对全面的社会背景分析算法进行了调查,并整合成一个推荐系统,提供基于用户的年龄,职业,地点和性别的服务。Oh等人提出了一种协同过滤算法以量化的用户在组中的兴趣和重要程度。此外,D等人提出了一种基于日期,温度,季节,时间的上下文分析算法。这些系统被广泛应用于各种领域,如旅游,感兴趣建议和健康管理软件等。
[0004]上述技术没有提供一个统一的框架,对于上下文感知应用程序部署的基本框架是不一样的应用;此外,这些技术集中在低级别的传感器数据,且不涉及高级别上下文信息,如用户的活动和行为。

【发明内容】

[0005]本发明所要解决的技术问题是,针对现有技术不足,提供一种基于环境感知的主动服务获取方法。
[0006]为解决上述技术问题,本发明所采用的技术方案是:一种基于环境感知的主动服务获取方法,该方法主要实现过程为:移动客户端向服务端发送请求,服务端将需要获知的环境数据发送给移动客户端,移动客户端读取环境数据,并以〈键,值〉对的形式储存环境数据,然后将环境数据以及身份标识码发送给服务端,服务端根据移动客户端发送的环境数据进行处理。
[0007]所述环境数据包括速度、经玮度、WiFi状态、蓝牙状态、时间。
[0008]本发明方法的具体实现流程包括以下步骤:
1)初始化列表1 ist,初始化键值对map,初始化数字exp,对于服务端中的每一条数据p,保证该数据P的identity字段和客户端identity相等,然后执行如下操作:
la)初始化列表array,如果数据p的serviceld字段在map中,贝ijarray赋值为缓存在map中的数据;否则,map添加一条键为serviceld,值为array的数据,向array中添加数据p ;lb)将数字exp赋值为零,对于map中任何一条数据s,进行如下操作:
对于s的array的任何一条数据sp,将exp赋值为exp加上距离值dis,其中:dis = 1 - (sp的值value -移动客户端相对应的值value) | / (sp的值value +移动客户端相对应的值value);
确定exp的最终值为赋值后的exp除以s的array的长度,在列表list中添加结构为〈identity, s的serviceld, exp的最终值〉的数据;
2)将上述添加了结构为〈identity,s的serviceld,exp的最终值〉的数据的列表list发送给移动客户端;
3)移动客户端根据列表list中的每一条数据s进行如下操作:
3a)初始化列表1,获取移动客户端已安装的服务列表,如果数据s不存在该服务列表中,则将数据s添加到列表1中,根据数据s数据的exp降序对列表1进行排序;
3b)下载列表1的前11%条数据的服务并安装这些服务;将列表1的后(l-n)%条数据展示为“手动安装”图标,当用户点击该图标时,系统下载并安装该服务;
3c)当用户点击任何一个服务时,移动客户端将当前的环境数据以〈键,值〉对的形式储存,并将该环境数据、身份标识码以及用户点击的服务相应标识发送给服务端,服务端接收到环境数据时,进行下述处理:对于移动客户端发来的任何一条〈键,值〉对环境数据,如果该键在服务端中且identity和移动客户端发来的标识符相同,同时该环境数据的值和数据库中值的距离值dis大于值m,则更新数据库中的数据,将权值加1;否则在数据库中添加一条新数据。
[0009]η的取值范围为1?99 ;m的取值范围为0?1。
[0010]与现有技术相比,本发明所具有的有益效果为:本发明采用了基于环境感知的主动服务获取方法,达到了为开发者提供统一开发接口的效果,节省了开发时间,提高了开发效率。将本发明方法作为框架进行开发,框架代码只需要写一次;将框架代码作为开发库,具体的环境数据的获取由开发者自己定义,相比于开发者写完整代码,使用本方法作为框架进行开发可以减少近70%的开发量。
【具体实施方式】
[0〇11]以Android Stud1作为编译器,以Android设备作为客户终端,开发客户端功能,包括请求环境参数,收集环境数据,发送环境数据,接收服务列表,接收服务推送,手动下载服务,发送反馈数据给服务端;以PHP作为服务端开发语言,以MySQL作为服务端数据库,开发服务端功能,包括推送环境参数,处理用户环境数据、产生服务列表并发送给客户端,处理用户反馈数据并更新数据。
[0012]具体实验方式:客户端获取20个服务,用户点击服务列表中的第一个,准确度加20,用户点击服务列表中的第二个,准确度加19,以此类推;对多个用户进行多次实验,计算平均的准确度并除以服务总数,得出服务的平均准确率为72%。同时,记录用户停留在系统的时间作为用户等待时间,对多个用户进行多次实验,得出平均用户等待时间为8秒。对用户进行调查,得出用户平均满意度为75%。
【主权项】
1.一种基于环境感知的主动服务获取方法,其特征在于,该方法主要实现过程为:移动客户端向服务端发送请求,服务端将需要获知的环境数据发送给移动客户端,移动客户端读取环境数据,并以〈键,值〉对的形式储存环境数据,然后将环境数据以及身份标识码发送给服务端,服务端根据移动客户端发送的环境数据进行处理。2.根据权利要求1所述的基于环境感知的主动服务获取方法,其特征在于,所述环境数据包括速度、经玮度、WiFi状态、蓝牙状态、时间。3.根据权利要求1所述的基于环境感知的主动服务获取方法,其特征在于,该方法的具体实现流程包括以下步骤: 1)初始化列表1ist,初始化键值对map,初始化数字exp,对于服务端中的每一条数据p,保证该数据P的identity字段和客户端identity相等,然后执行如下操作: la)初始化列表array,如果数据p的serviceld字段在map中,贝ijarray赋值为缓存在map中的数据;否则,map添加一条键为serviceld,值为array的数据,向array中添加数据p ;lb)将数字exp赋值为零,对于map中任何一条数据s,进行如下操作: 对于s的array的任何一条数据sp,将exp赋值为exp加上距离值dis,其中:dis = 1 - (sp的值value -移动客户端相对应的值value) | / (sp的值value +移动客户端相对应的值value); 确定exp的最终值为赋值后的exp除以s的array的长度,在列表list中添加结构为〈identity, s的serviceld, exp的最终值〉的数据; 2)将上述添加了结构为〈identity,s的serviceld,exp的最终值〉的数据的列表list发送给移动客户端; 3)移动客户端对经步骤2)处理后的列表list中的每一条数据s进行如下操作: 3a)初始化列表1,获取移动客户端已安装的服务列表,如果数据s不存在该服务列表中,则将数据s添加到列表1中,根据数据s数据的exp降序对列表1进行排序; 3b)下载列表1的前11%条数据的服务并安装这些服务;将列表1的后(l-n)%条数据展示为“手动安装”图标,当用户点击该图标时,系统下载并安装该服务; 3c)当用户点击任何一个服务时,移动客户端将当前的环境数据以〈键,值〉对的形式储存,并将该环境数据、身份标识码以及用户点击的服务相应标识发送给服务端,服务端接收到环境数据时,进行下述处理:对于移动客户端发来的任何一条〈键,值〉对环境数据,如果该键在服务端中,且identity和移动客户端发来的标识符相同,同时该环境数据的值和数据库中值的距离值dis大于值m,则更新数据库中的数据,将权值加1;否则在数据库中添加一条新数据。4.根据权利要求3所述的基于环境感知的主动服务获取方法,其特征在于,η的取值范围为1?99;m的取值范围为0?1。
【专利摘要】本发明公开了一种基于环境感知的主动服务获取方法,移动客户端向服务端发送请求,服务端将需要获知的环境数据发送给移动客户端,移动客户端读取环境数据,并以<键,值>对的形式储存环境数据,然后将环境数据以及身份标识码发送给服务端,服务端根据移动客户端发送的环境数据进行处理。本发明采用了基于环境感知的主动服务获取方法,达到了为开发者提供统一开发接口的效果,节省了开发时间,提高了开发效率。
【IPC分类】G06F9/54
【公开号】CN105487935
【申请号】CN201510886506
【发明人】郭克华, 黄宇健, 潘威, 田彪
【申请人】中南大学
【公开日】2016年4月13日
【申请日】2015年12月7日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1