1.基于云计算的个人医疗信息推荐方法,其特征在于,包括以下步骤:
S1、采集用户的个人健康信息并存储至云端,得到用户的个人云;
S2、获取用户输入的查询条件;
S3、根据查询条件和个人云中的个人健康信息,采用MapReduce并行运算对云端的所有页面集合P={P1,P2,P3,...,Pn}进行聚类,得到簇集合T={T1,T2,T3,...,Tk},其中每个簇中包含若干个页面;
S4、计算第i个簇Ti(1≤i≤k)的信息熵
S5、根据第i个簇的信息熵 计算第i个簇中的第i+1个页面Pi+1的推荐度CEPR(Pi+1),计算公式为:
CEPR(Pi)=Sup(Pi)
其中,α为预设参数,cpi为第i个页面Pi被点击的次数;
S6、根据每个页面的推荐度对所有页面进行排序,将推荐度高的页面推荐给用户;
步骤S3中具体利用模糊C聚类算法对云端的所有页面集合进行聚类,具体包括:
S31、随机选择k个页面E={E1,E2,E3,...,Ek}作为k个簇的中心点;
S32、计算页面Pi与E中每个簇的中心点的欧氏距离Di;
S33、根据欧氏距离Di将页面Pi划分到距离最近的簇中;
S34、调整每个簇的中心点,当确定聚类准则函数收敛时,转至S32;
S35、当确定聚类准则函数不收敛时,得到聚类后的簇集合T={T1,T2,T3,...,Tk};
步骤S32中,计算任意两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),具体包括:
S321、根据查询条件和个人健康信息对页面Pi(1≤i≤n)进行分词,得到表征页面Pi特征的关键词集合K={K1,K2,K3,...,Ki},其中,每个关键词Ki(1≤i≤l)在页面Pi中的权值为Pij(1≤j≤n),页面Pi的向量表示为Pi={Pi1,Pi2,Pi3,...,Pii},Ps={Ps1,Ps2,Ps3,...,Psa},Pt={Pt1,Pt2,Pt3,...,Ptb},1≤s,t≤n,1≤a,b≤l;
S322、将a和b中较小变量对应的页面向量扩充至V个向量分量,并将该页面向量中原有分量的值保持不变,将扩充分量的值赋为0,其中V=max(a,b);
S323、当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词没有出现在页面向量Pt中时,将向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值置为0;
S324、当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词出现在页面向量Pt中时,计算向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值;
S325、当确定页面向量Ps中每一个向量分量对应的关键词遍历完毕时,计算两个页面向量Ps和Pt的欧氏距离D(Ps,Pt)。
2.如权利要求1所述的个人医疗信息推荐方法,其特征在于,所述S1中,云端中所有数据存储在分布式数据库或分布式文件系统中。
3.如权利要求1所述的个人医疗信息推荐方法,其特征在于,所述S4具体包括:
S41、计算第i个簇中每个页面的PR值,得到集合Ti={PRi1,PRi2,PRi3,...,PRiN},其中N为第i个簇中的页面个数;
S42、计算第i个簇的信息熵 计算公式为:
4.基于云计算的个人医疗信息推荐系统,其特征在于,所述系统包括:
采集模块,用于采集用户的个人健康信息并存储至云端,得到用户的个人云;
获取模块,用于获取用户输入的查询条件;
聚类模块,用于根据查询条件和个人云中的个人健康信息,采用MapReduce并行运算对云端的所有页面集合P={P1,P2,P3,...,Pn}进行聚类,得到簇集合T={T1,T2,T3,...,Tk},其中每个簇中包含若干个页面;
第一计算模块,用于计算第i个簇Ti(1≤i≤k)的信息熵
第二计算模块,用于根据第i个簇的信息熵 计算第i个簇中的第i+1个页面Pi+1的推荐度CEPR(Pi+1),计算公式为:
CEPR(Pi)=Sup(Pi),
其中,α为预设参数,cpi为第i个页面Pi被点击的次数;
推荐模块,用于根据每个页面的推荐度对所有页面进行排序,将推荐度高的页面推荐给用户;
所述聚类模块中具体利用模糊C聚类算法对云端的所有页面集合进行聚类,具体包括:
选择单元,用于随机选择k个页面E={E1,E2,E3,...,Ek}作为k个簇的中心点;
计算单元,用于计算页面Pi与E中每个簇的中心点的欧氏距离Di;
划分单元,用于根据欧氏距离Di将页面Pi划分到距离最近的簇中;
调整单元,用于调整每个簇的中心点,当确定聚类准则函数收敛时,返回至计算单元;
确定单元,用于当确定聚类准则函数不收敛时,得到聚类后的簇集合T={T1,T2,T3,...,Tk};
所述计算单元中,计算任意两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),具体包括:
分词部件,用于根据查询条件和个人健康信息对页面Pi(1≤i≤n)进行分词,得到表征页面Pi特征的关键词集合K={K1,K2,K3,...,Ki},其中,每个关键词Ki(1≤i≤l)在页面Pi中的权值为Pij(1≤j≤n),页面Pi的向量表示为Pi={Pi1,Pi2,Pi3,...,Pii},Ps={Ps1,Ps2,Ps3,...,Psa},Pt={Pt1,Pt2,Pt3,...,Ptb},1≤s,t≤n,1≤a,b≤l;
扩充部件,用于将a和b中较小变量对应的页面向量扩充至V个向量分量,并将该页面向量中原有分量的值保持不变,将扩充分量的值赋为0,其中V=max(a,b);
第一确定部件,用于当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词没有出现在页面向量Pt中时,将向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值置为0;
第二确定部件,用于当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词出现在页面向量Pt中时,计算向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值;
第三确定部件,用于当确定页面向量Ps中每一个向量分量对应的关键词遍历完毕时,计算两个页面向量Ps和Pt的欧氏距离D(Ps,Pt)。
5.如权利要求4所述的个人医疗信息推荐系统,其特征在于,所述采集模块中,云端中所有数据存储在分布式数据库或分布式文件系统中。
6.如权利要求4所述的个人医疗信息推荐系统,其特征在于,所述第一计算模块具体包括:
第一计算单元,用于计算第i个簇中每个页面的PR值,得到集合Ti={PRi1,PRi2,PRi3,...,PRiN},其中N为第i个簇中的页面个数;
第二计算单元,用于计算第i个簇的信息熵 计算公式为:
基于云计算的个人医疗信息推荐方法及系统\n技术领域\n[0001] 本发明涉及云计算技术领域,尤其涉及一种基于云计算的个人医疗信息推荐方法。\n背景技术\n[0002] 我国许多地区的医疗卫生服务与设施还相对比较落后,普遍存在看病难和医疗保健信息缺乏等问题。如何将一些先进城市的医疗服务资源以及健康保健信息发挥更大的区域性效用,将是一个非常值得研究和探讨的问题。随着移动通信技术的迅猛发展,移动医疗(MobileHealth,也称MHealth)已开始成为学术界和医疗行业的一个热门话题。移动医疗旨在通过使用移动通信技术与设备,以电子医疗应用形式给人们提供所需的医疗信息管理和医疗事务处理,其最大特点是提供随时随地的、普适的医疗服务(Pervasive H ealthcare)。随着移动智能终端和全球性移动通信网络的普及与覆盖,移动电话为支持面向区域医疗服务提供了坚实的技术基础,可作为一个有效的服务工具来实现医疗保健信息的实时交付、访问和存储。\n[0003] 然而,目前所提出的基于云计算的智慧医疗的解决方案,大都是面向医院或者区域性的社区等等(即医院云、社区云等等)。却没有面向个人的解决方案,而这种面向医疗机构和区域的方案,无疑是无法摆脱传统医疗的依赖的。\n发明内容\n[0004] 本发明要解决的技术问题在于针对现有技术中缺乏面向个人的医疗解决方案的缺陷,提供一种基于云计算的个人医疗信息推荐方法。\n[0005] 本发明解决其技术问题所采用的技术方案是:\n[0006] 基于云计算的个人医疗信息推荐方法,包括以下步骤:\n[0007] S1、采集用户的个人健康信息并存储至云端,得到用户的个人云;\n[0008] S2、获取用户输入的查询条件;\n[0009] S3、根据查询条件和个人云中的个人健康信息对云端的所有页面集合P={P1,P2,P3,...,Pn}进行聚类,得到簇集合T={T1,T2,T3,...,Tk},其中每个簇中包含若干个页面;\n[0010] S4、计算第i个簇Ti(1≤i≤k)的信息熵\n[0011] S5、根据第i个簇的信息熵 计算第i个簇中的第i+1个页面Pi+1的推荐度CEPR(Pi+1),计算公式为:\n[0012]\n[0013] CEPR(Pi)=Sup(Pi),\n[0014]\n[0015] 其中,α为预设参数,cpi为第i个页面Pi被点击的次数;\n[0016] S6,根据每个页面的推荐度对所有页面进行排序,将推荐度高的页面推荐给用户。\n[0017] 本发明所述的方法中,所述S1中,云端中所有数据存储在分布式数据库或分布式文件系统中。\n[0018] 本发明所述的方法中,所述S3中,采用MapReduce并行运算对云端的所有页面集合进行聚类。\n[0019] 本发明所述的方法中,所述S3中具体利用模糊C聚类算法云端的所有页面集合进行聚类,具体包括:\n[0020] S31、随机选择k个页面E={E1,E2,E3,...,Ek}作为k个簇的中心点;\n[0021] S32、计算页面Pi与E中每个簇的中心点的欧氏距离Di;\n[0022] S33、根据欧氏距离Di将页面Pi划分到距离最近的簇中;\n[0023] S34、调整每个簇的中心点,当确定聚类准则函数收敛时,转至S32;\n[0024] S35、当确定聚类准则函数不收敛时,得到聚类后的簇集合\n[0025] T={T1,T2,T3,...,Tk}。\n[0026] 本发明所述的方法中,所述S32中,计算任意两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),具体包括:\n[0027] S321、根据查询条件和个人健康信息对页面Pi(1≤i≤n)进行分词,得到表征页面Pi特征的关键词集合K={K1,K2,K3,...,Ki},其中,每个关键词Ki(1≤i≤l)在页面Pi中的权值为Pij(1≤j≤n),页面Pi的向量表示为Pi={Pi1,Pi2,Pi3,...,Pii},Ps={Ps1,Ps2,Ps3,...,Psa},Pt={Pt1,Pt2,Pt3,...,Ptb},1≤s,t≤n,1≤a,b≤l;\n[0028] S322、将a和b中较小变量对应的页面向量扩充至V个向量分量,并将该页面向量中原有分量的值保持不变,将扩充分量的值赋为0,其中V=max(a,b);\n[0029] S323、当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词没有出现在页面向量Pt中时,将向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值置为\n0;\n[0030] S324、当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词出现在页面向量Pt中时,计算向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值;\n[0031] S325、当确定页面向量Ps中每一个向量分量对应的关键词遍历完毕时,计算两个页面向量Ps和Pt的欧氏距离D(Ps,Pt)。\n[0032] 本发明所述的方法中,所述S4具体包括:\n[0033] S41、计算第i个簇中每个页面的PR值,得到集合Ti={PRi1,PRi2,PRi3,...,PRiN},其中N为第i个簇中的页面个数;\n[0034] S42、计算第i个簇的信息熵 计算公式为:\n[0035]\n[0036] 本发明还提供基于云计算的个人医疗信息推荐系统,所述系统包括:\n[0037] 采集模块,用于采集用户的个人健康信息并存储至云端,得到用户的个人云;\n[0038] 获取模块,用于获取用户输入的查询条件;\n[0039] 聚类模块,用于根据查询条件和个人云中的个人健康信息对云端的所有页面集合P={P1,P2,P3,...,Pn}进行聚类,得到簇集合T={T1,T2,T3,...,Tk},其中每个簇中包含若干个页面;\n[0040] 第一计算模块,用于计算第i个簇Ti(1≤i≤k)的信息熵\n[0041] 第二计算模块,用于根据第i个簇的信息熵 计算第i个簇中的第i+1个页面Pi+1的推荐度CEPR(Pi+1),计算公式为:\n[0042]\n[0043] CEPR(Pi)=Sup(Pi),\n[0044]\n[0045] 其中,α为预设参数,cpi为第i个页面Pi被点击的次数;\n[0046] 推荐模块,用于根据每个页面的推荐度对所有页面进行排序,将推荐度高的页面推荐给用户。\n[0047] 本发明所述的系统中,所述采集模块中,云端中所有数据存储在分布式数据库中。\n[0048] 本发明所述的系统中,所述聚类模块中,采用MapReduce并行运算对云端的所有页面集合进行聚类。\n[0049] 本发明所述的系统中,所述聚类模块中具体利用模糊C聚类算法云端的所有页面集合进行聚类,具体包括:\n[0050] 选择单元,用于随机选择k个页面E={E1,E2,E3,...,Ek}作为k个簇的中心点;\n[0051] 计算单元,用于计算页面Pi与E中每个簇的中心点的欧氏距离Di;\n[0052] 划分单元,用于根据欧氏距离Di将页面Pi划分到距离最近的簇中;\n[0053] 调整单元,用于调整每个簇的中心点,当确定聚类准则函数收敛时,返回至计算单元;\n[0054] 确定单元,用于当确定聚类准则函数不收敛时,得到聚类后的簇集合[0055] T={T1,T2,T3,...,Tk}。\n[0056] 本发明所述的系统中,所述计算单元中,计算任意两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),具体包括:\n[0057] 分词部件,用于根据查询条件和个人健康信息对页面Pi(1≤i≤n)进行分词,得到表征页面Pi特征的关键词集合K={K1,K2,K3,...,Ki},其中,每个关键词Ki(1≤i≤l)在页面Pi中的权值为Pij(1≤j≤l),页面Pi的向量表示为Pi={Pi1,Pi2,Pi3,...,Pii},Ps={Ps1,Ps2,Ps3,...,Psa},Pt={Pt1,Pt2,Pt3,...,Ptb},1≤s,t≤n,1≤a,b≤l;\n[0058] 扩充部件,用于将a和b中较小变量对应的页面向量扩充至V个向量分量,并将该页面向量中原有分量的值保持不变,将扩充分量的值赋为0,其中V=max(a,b);\n[0059] 第一确定部件,用于当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词没有出现在页面向量Pt中时,将向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值置为0;\n[0060] 第二确定部件,用于当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词出现在页面向量Pt中时,计算向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值;\n[0061] 第三确定部件,用于当确定页面向量Ps中每一个向量分量对应的关键词遍历完毕时,计算两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),计算公式为:\n[0062] D(Ps,Pt)=√[∑(Psi-Pti)2](i=1,2,…,V)。\n[0063] 本发明所述的系统中,所述第一计算模块具体包括:\n[0064] 第一计算单元,用于计算第i个簇中每个页面的PR值,得到集合Ti={PRi1,PRi2,PRi3,...,PRiN},其中N为第i个簇中的页面个数;\n[0065] 第二计算单元,用于计算第i个簇的信息熵 计算公式为:\n[0066]\n[0067] 本发明产生的有益效果是:通过采集用户的个人健康信息建立“个人云”,提供面向个人的健康信息查询入口,提供更可靠的推荐信息,从而提高疾病判断的准确度,并为实现个体疾病预测提供了可能。\n附图说明\n[0068] 下面将结合附图及实施例对本发明作进一步说明,附图中:\n[0069] 图1是本发明实施例的一种基于云计算的个人医疗信息推荐方法的流程示意图;\n[0070] 图2是本发明实施例中的医疗云体系结构示意图;\n[0071] 图3是本发明实施例中的MHBT分布式数据库架构示意图;\n[0072] 图4是本发明的实施例中MHMR逻辑模型示意图;\n[0073] 图5是本发明的种基于云计算的个人医疗信息推荐系统的结构示意图。\n具体实施方式\n[0074] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。\n[0075] 本发明实施例基于云计算的个人医疗信息推荐方法,如图1所示,包括:\n[0076] S1、采集用户的个人健康信息并存储至云端,得到用户的个人云;\n[0077] 智能穿戴层和手机应用层的信息采集模块,采集用户个人信息,经过传输,储存到云计算层的个人信息储存中,完成“个人云”的搭建。\n[0078] 本方案在传统的医疗云、医院云、社区云之外,采取可穿戴智能设备或用户自己手动输入的方式,长时间记录个人信息,形成个人特质的“个人云”,并将“个人云”与传统的“医院云”、“社区云”与“医疗云”结合起来。\n[0079] “医疗云”搜索方案从三个层次——移动应用层(手机应用层、智能穿戴层)、医疗服务层、云计算平台层着手实现。其体系结构图如图2所示。\n[0080] 云计算平台层的三大核心功能就是提供存储、数据和计算服务。存储云基于MHFS(Mobile Health File System)分布式文件系统,为移动医疗平台提供海量的数据存储,也是云计算平台的基石。数据云采用MHBT(Mobile Health BigTable)分布式存储系统,满足存储不同类型医学数据的需要。计算云采用结合MapReduce并行编程模式,用于大规模数据集的并行运算。\n[0081] 医疗服务层是整个平台基本架构的中间层,不仅要与手机客户端和云端进行交互,还要提供包括用户管理服务、数据存储服务和功能性服务等模块。\n[0082] 医疗服务层的交互模式,包括了与手机端的交互和云计算层的交互。医疗服务层在接收到来自手机端的数据请求后,通过与云端的通信接口查询并获取存储在分布式数据库MHBT或文件系统MHFS中的数据,再按通用的格式作为响应返回给手机端。而手机端获得来自服务器端的数据后进行解析并映射至视图呈现给用户,若此次数据请求在预设时间内未获得响应,则视为失败并在客户端予以提示。相应的,用户通过手机端操作输入数据并提交后,手机端将数据信息经过本地处理后以特定地格式作为请求发到医疗服务层。服务器端接收到来自客户端的数据后,执行写入操作并调用云端接口把数据持久化到分布式存储设备中,并将该操作的成败结果以请求响应的形式返回给客户端,由客户端作出用户友好方面的响应。\n[0083] 医疗服务层为应用程序构建数据存储区实体,相当于关系型数据库中的“表”。每个实体都有唯一的Key与之对应,作为数据操作的索引。实体可以包含一个或多个属性,每个属性都是一个对,value可以是任何基本的数据类型。应用程序根据功能需要创建一个实体类别,新增加一条记录相当于新建一个实体对象,并有相应的接口提供CURD基本数据操作(创建(Create)、更新(Update)、读取(Retrive)和删除(Delete)操作)。\n[0084] 应用服务层通过云计算平台提供的API将数据对象写入到集群中的存储介质上,实现数据持久化。并可通过索引执行查询,根据查询条件对数据对象进行过滤并排序,返回单一类别的实体或实体的Key值。\n[0085] 移动应用层作为人机交互接口,为普通用户提供医疗应用访问,主要包括应用UI模块、资源管理模块、应用通信模块、通知管理模块和服务调用模块等。应用UI模块为应用建立友好的操作视图,包括一些基本的构成元素,如文本、列表、表单、图标等。资源管理模块主要为应用程序提供所需的静态文件或资源,如配置文件、图形图像、样式文件等。应用通信模块为手机客户端应用与服务层交互提供通信接口。通知管理模块可以在智能手机的状态栏显示提示信息,通过调用手机端的接口自定义要显示的信息。服务调用模块主要指通过手机平台接口调用其他的应用服务,例如手机浏览器、短信息、联系人、地理位置信息、地图导航等。\n[0086] 移动应用层最重要的一大模块就是要与服务器端通信,即要获取服务器端的响应数据,也要向服务器端发出请求提交数据,可以通过蓝牙通讯、射频通讯、移动3G通讯或无线通讯等通讯方式进行通信。\n[0087] S2、获取用户输入的查询条件;\n[0088] S3、根据查询条件和个人云中的个人健康信息对云端的所有页面集合P={P1,P2,P3,...,Pn}进行聚类,得到簇集合T={T1,T2,T3,...,Tk},其中每个簇中包含若干个页面;\n[0089] S4、计算第i个簇Ti(1≤i≤k)的信息熵\n[0090] 所谓信息熵,是一个数学上颇为抽象的概念,一般把信息熵理解成某种特定信息的出现概率。一般而言,当一种信息出现概率更高的时候,表明它被传播得更广泛,或者说,被引用的程度更高。我们可以认为,从信息传播的角度来看,信息熵可以表示信息的价值。\n这样子我们就有一个衡量信息价值高低的标准,可以做出关于知识流通问题的更多推论。\n[0091] S5、根据第i个簇的信息熵 计算第i个簇中的第i+1个页面Pi+1的推荐度CEPR(Pi+1),计算公式为:\n[0092]\n[0093] CEPR(Pi)=Sup(Pi),\n[0094]\n[0095] 其中,α为预设参数,cpi为第i个页面Pi被点击的次数;\n[0096] S6,根据每个页面的推荐度对所有页面进行排序,将推荐度高的页面推荐给用户。\n[0097] 本发明实施例中,所述S1中,云端中所有数据存储在分布式数据库或分布式文件系统中。\n[0098] MHBT(Mobile Health BigTable)是一个分布式数据库系统,可搭建在多个服务器节点组成的集群上,提供高性能、可扩展的数据处理,需要依赖其他服务,比如分布式文件系统、分布式锁服务等。MHBT以结构化的文件存储多种类型的非关系型数据,通过多级映射的数据结构实现海量数据的分布式存储。\n[0099] 与普通的关系型数据库系统单节点的特性相比,MHBT的系统结构显得相当复杂,包括多节点构成的集群和依赖的服务。从结构上看,MHBT集群包括了两类节点,其一是提供元数据相关操作及集群内负载均衡处理的Master节点,其二是用于存储数据子表的Tablet节点,同时还处理来自客户端的数据操作请求。对于依赖的服务,主要包括:(1)进行集群监控和故障处理的集群调度系统;(2)提供Tablet数据和日志存储的分布式文件系统MHFS;\n(3)协调节点关系和负责Master节点选取的分布式锁服务。(如图3)\n[0100] Mobile Health分布式文件系统MHFS可以部署在大量普通硬件之上,实现高可靠的、高扩展性的海量数据(大文件和大数据模块,大小可达到TB级别甚至更高)存储,是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统。与分布式编程模式结合,能更好得为应用程序提供高吞吐量和可容错的数据操作,向大量用户提供高性能服务。\n[0101] MHFS由一些互联的节点集群组成,文件和目录驻留在那些节点上。一个MHFS集群包含一个节点,称为NameNode,该节点管理文件系统名称空间并规范客户端对文件的访问。\n另外,Data node(DataNodes)将数据作为块存储在文件中。\n[0102] 在MHFS中,一个给定的Name node管理一些文件系统名称空间操作,比如打开、关闭以及重命名文件和目录。Name node还将数据块映射到Data node,处理来自MHFS客户端的读写请求。Data node还根据Name node的指令创建、删除和复制数据块。\n[0103] 本发明实施例中,所述S3中,采用MapReduce并行运算对云端的所有页面集合进行聚类。\n[0104] MHMR(Moblie Health MapReduce)是一个并行处理海量数据的编程模型,可实现大规模数据集的并行运算。MHMR将对数据集的操作,交给一个主节点并由其分发给其下的分支节点共同完成。同时,主节点会周期性的监测分支节点的状态信息,一旦分支节点出现异常,即该节点的状态标记为dead状态时,原先在该节点上的处理任务将转给其他分支节点接替。用户应用程序只需通过接口将并行处理任务提交给模型主机,而并行处理、容错处理、负载均衡等都可交给MHMR来实现。\n[0105] MHMR编程模型主要分为Map(映射)和Reduce(化简)两个步骤,基本的流程就是:先通过Map函数将原始数据进行切割,分成不相关的数据块,再交由计算机集群处理,实现分布式运算的效果,再经由Reduce函数将结果汇总输出(如图4)。\n[0106] 本发明实施例中,所述S3中具体利用模糊C聚类算法云端的所有页面集合进行聚类,具体包括:\n[0107] S31、随机选择k个页面E={E1,E2,E3,...,Ek}作为k个簇的中心点;\n[0108] S32、计算页面Pi与E中每个簇的中心点的欧氏距离Di;\n[0109] S33、根据欧氏距离Di将页面Pi划分到距离最近的簇中;\n[0110] S34、调整每个簇的中心点,当确定聚类准则函数收敛时,转至S32;\n[0111] S35、当确定聚类准则函数不收敛时,得到聚类后的簇集合T={T1,T2,T3,...,Tk}。\n[0112] 本发明实施例中,还可以采用划分法(包括K-MEANS算法、K-MEDOIDS算法、CLARANS算法)、层次法(包括BIRCH算法、CURE算法、CHAMELEON算法等)、密度算法(包括DBSCAN算法、OPTICS算法、DENCLUE算法等)、图论聚类法、网格算法(包括STING算法、CLIQUE算法、WAVE-CLUSTER算法)和模型算法来对云端的所有页面集合进行聚类。\n[0113] 本发明实施例中,所述S32中,计算任意两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),具体包括:\n[0114] 欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。\n[0115] S321、根据查询条件和个人健康信息对页面Pi(1≤i≤n)进行分词,得到表征页面Pi特征的关键词集合K={K1,K2,K3,...,Ki},其中,每个关键词Ki(1≤i≤l)在页面Pi中的权值为Pij(1≤j≤l),页面Pi的向量表示为Pi={Pi1,Pi2,Pi3,...,Pii},Ps={Ps1,Ps2,Ps3,...,Psa},Pt={Pt1,Pt2,Pt3,...,Ptb},1≤s,t≤n,1≤a,b≤l;\n[0116] S322、将a和b中较小变量对应的页面向量扩充至V个向量分量,并将该页面向量中原有分量的值保持不变,将扩充分量的值赋为0,其中V=max(a,b);\n[0117] S323、当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词没有出现在页面向量Pt中时,将向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值置为\n0;\n[0118] S324、当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词出现在页面向量Pt中时,计算向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值;\n[0119] S325、当确定页面向量Ps中每一个向量分量对应的关键词遍历完毕时,计算两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),计算公式为:\n[0120] D(Ps,Pt)=√[∑(Psi-Pti)2](i=1,2,…,V)。\n[0121] 本发明实施例中,所述S4具体包括:\n[0122] S41、计算第i个簇中每个页面的PR值,得到集合Ti={PRi1,PRi2,PRi3,...,PRiN},其中N为第i个簇中的页面个数;\n[0123] S42、计算第i个簇Ti(1≤i≤k)的信息熵 计算公式为:\n[0124]\n[0125] PR值,即PageRank,网页的级别技术。取自Google的创始人Larry Page,它是Google排名运算法则(排名公式)的一部分,用来标识网页的等级/重要性。级别从0到10级,\n10级为满分。PR值越高说明该网页越受欢迎(越重要)。例如:一个PR值为1的网站表明这个网站不太具有流行度,而PR值为7到10则表明这个网站非常受欢迎(或者说极其重要)。\n[0126] Google关于网页PR值的算法:PR(A)=(1-d)+d(PR(t1)/C(t1)+...+PR(tn)/C(tn))。PR(A)为要计算PR值的A页面,d为阻尼因数,一般为0.85,PR(t1)...PR(tn)分别是各个链接到你的网站的PR值,C(t1)...C(tn)分别是各个链接到你的网站的外部链接数量,由此可以看出对方给你做链接时,并不只是对方网站的PR越高越好,对方网站链出的外部链接数量也很重要。一个网站的外部链接数越多其PR值就越高;外部链接站点的级别越高(假如Macromedia的网站链到你的网站上),网站的PR值就越高。PR值最高为10,一般PR值达到\n4,就算是一个不错的网站了。\n[0127] 本发明还提供基于云计算的个人医疗信息推荐系统,如图5所示,系统包括:\n[0128] 采集模块1,用于采集用户的个人健康信息并存储至云端,得到用户的个人云;采集模块1包括智能穿戴设备和移动终端设备。\n[0129] 获取模块2,用于获取用户输入的查询条件;\n[0130] 聚类模块3,用于根据查询条件和个人云中的个人健康信息对云端的所有页面集合P={P1,P2,P3,...,Pn}进行聚类,得到簇集合T={T1,T2,T3,...,Tk},其中每个簇中包含若干个页面;\n[0131] 第一计算模块4,用于计算第i个簇Ti(1≤i≤k)的信息熵\n[0132] 第二计算模块5,用于根据第i个簇的信息熵 计算第i个簇中的第i+1个页面Pi+1的推荐度CEPR(Pi+1),计算公式为:\n[0133]\n[0134] CEPR(Pi)=Sup(Pi),\n[0135]\n[0136] 其中,α为预设参数,cpi为第i个页面Pi被点击的次数;\n[0137] 推荐模块6,用于根据每个页面的推荐度对所有页面进行排序,将推荐度高的页面推荐给用户。\n[0138] 本发明实施例中,所述采集模块1中,云端中所有数据存储在分布式数据库中。\n[0139] 本发明实施例中,所述聚类模块1中,采用MapReduce并行运算对云端的所有页面集合进行聚类。\n[0140] 本发明实施例中,所述聚类模块3中具体利用模糊C聚类算法云端的所有页面集合进行聚类,具体包括:\n[0141] 选择单元31,用于随机选择k个页面E={E1,E2,E3,...,Ek}作为k个簇的中心点;\n[0142] 计算单元32,用于计算页面Pi与E中每个簇的中心点的欧氏距离Di;\n[0143] 划分单元33,用于根据欧氏距离Di将页面Pi划分到距离最近的簇中;\n[0144] 调整单元34,用于调整每个簇的中心点,当确定聚类准则函数收敛时,返回至计算单元;\n[0145] 确定单元35,用于当确定聚类准则函数不收敛时,得到聚类后的簇集合[0146] T={T1,T2,T3,...,Tk}。\n[0147] 本发明实施例中,所述计算单元32中,计算任意两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),具体包括:\n[0148] 分词部件321,用于根据查询条件和个人健康信息对页面Pi(1≤i≤n)进行分词,得到表征页面Pi特征的关键词集合K={K1,K2,K3,...,Ki},其中,每个关键词Ki(1≤i≤l)在页面Pi中的权值为Pij(1≤j≤l),页面Pi的向量表示为Pi={Pi1,Pi2,Pi3,...,Pii},Ps={Ps1,Ps2,Ps3,...,Psa},Pt={Pt1,Pt2,Pt3,...,Ptb},1≤s,t≤n,1≤a,b≤l;\n[0149] 扩充部件322,用于将a和b中较小变量对应的页面向量扩充至V个向量分量,并将该页面向量中原有分量的值保持不变,将扩充分量的值赋为0,其中V=max(a,b);\n[0150] 第一确定部件323,用于当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词没有出现在页面向量Pt中时,将向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值置为0;\n[0151] 第二确定部件324,用于当确定页面向量Ps中任意一个向量分量Psr(1≤r≤V)对应的关键词出现在页面向量Pt中时,计算向量分量Psr(1≤r≤V)对应的关键词在页面向量Ps中的权值;\n[0152] 第三确定部件325,用于当确定页面向量Ps中每一个向量分量对应的关键词遍历完毕时,计算两个页面向量Ps和Pt的欧氏距离D(Ps,Pt),计算公式为:\n[0153] D(Ps,Pt)=√[∑(Psi-Pti)2](i=1,2,…,V)。\n[0154] 本发明实施例中,所述第一计算模块4具体包括:\n[0155] 第一计算单元41,用于计算第i个簇中每个页面的PR值,得到集合Ti={PRi1,PRi2,PRi3,...,PRiN},其中N为第i个簇中的页面个数;\n[0156] 第二计算单元42,用于计算第i个簇的信息熵 计算公式为:\n[0157]\n[0158] 应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。