发明名称 一种基于用户聚类的skyline在线计算方法
摘要 本发明公开了一种基于用户聚类的sky line在线计算方法,(1)通过用户聚类,将QoS相似的用户聚集在一起,利用聚类共同特征代替用户个体特征,使得计算数据量有效减少;将对所有用户进行离线处理转化为对各个聚类进行离线处理,提高了离线计算的效率,大幅减少了存储空间消耗,提高了系统的可实施性,(2)将计算过程划分为离线和在线模块,通过将大量复杂运算在离线模块中进行,有效提高在线算法的执行效率,(3)利用群体特征sky line对个体sky line进行预测,一方面在精度要求不高时可以直接作为结果返回;另一方面在需要求解准确sky line时在此预测sky line基础上进行修正,可以简化计算过程。
申请公布号 CN103150336B 申请公布日期 2016.01.20
申请号 CN201310043441.5 申请日期 2013.02.04
申请人 浙江大学 发明人 吴健;陈克寒;吉利川;尹建伟;李莹;邓水光;吴朝晖
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州裕阳专利事务所(普通合伙) 33221 代理人 江助菊
主权项 一种基于用户聚类的sky line在线计算方法,其特征在于,包括如下步骤:11)基于用户‑服务QoS矩阵对相似用户进行聚类步骤:当为单维度场景时,采用将所有维度的QoS值归一化处理后按照其权重计算为一维数值,用户u对服务s的多维QoS的归一化公式如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mover><mi>q</mi><mo>~</mo></mover><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>R</mi></munderover><mfrac><mrow><msub><mi>q</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>min</mi><mrow><msup><mi>s</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>S</mi></mrow></msub><msub><mi>q</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow><mrow><msub><mi>max</mi><mrow><msup><mi>s</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>S</mi></mrow></msub><msub><mi>q</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>-</mo><msub><mi>min</mi><mrow><msup><mi>s</mi><mo>&prime;</mo></msup><mo>&Element;</mo><mi>S</mi></mrow></msub><msub><mi>q</mi><mi>i</mi></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow></mrow></mfrac><mo>&CenterDot;</mo><msub><mi>w</mi><mi>i</mi></msub></mrow>]]></math><img file="FDA0000788660220000011.GIF" wi="843" he="154" /></maths>其中q<sub>i</sub>(s)为第i个维度上的QoS值,w<sub>i</sub>为各维度的QoS权重,且∑w<sub>i</sub>=1,由此一维用户相似度可以由以下Pearson相似度公式计算:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>D</mi><mi>i</mi><mi>s</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>i</mi></msub><mo>,</mo><msub><mi>u</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>S</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>j</mi></msub><mo>,</mo><msub><mi>u</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><mi>s</mi><mo>&Element;</mo><mi>S</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><mrow><mo>(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>-</mo><mover><msub><mi>q</mi><mi>i</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo><mrow><mo>(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>-</mo><mover><msub><mi>q</mi><mi>j</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mrow><msqrt><mrow><msub><mi>&Sigma;</mi><mrow><mi>s</mi><mo>&Element;</mo><mi>S</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>(</mo><mi>s</mi><mo>)</mo><mo>-</mo><mover><msub><mi>q</mi><mi>j</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><msqrt><mrow><msub><mi>&Sigma;</mi><mrow><mi>s</mi><mo>&Element;</mo><mi>S</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></msub><msup><mrow><mo>(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>(</mo><mi>s</mi><mo>)</mo><mo>-</mo><mover><msub><mi>q</mi><mi>j</mi></msub><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow></mfrac></mrow>]]></math><img file="FDA0000788660220000012.GIF" wi="1477" he="211" /></maths>其中<img file="FDA0000788660220000013.GIF" wi="53" he="87" />为用户u<sub>i</sub>对所有服务调用的平均QoS,<img file="FDA0000788660220000014.GIF" wi="90" he="89" />用户u<sub>j</sub>对所有服务调用的平均QoS,基于此相似度进行聚类操作;当为多维度场景时,首先对每个维度的QoS仍然进行归一化操作,每一个维度上QoS的取值范围都是(0,1)之间,接着采用余弦距离计算两个用户u<sub>i</sub>与u<sub>j</sub>之间在服务s上的相似度:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>i</mi></msub><mo>,</mo><msub><mi>u</mi><mi>j</mi></msub><mo>,</mo><mi>s</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mover><msub><mi>q</mi><mi>i</mi></msub><mo>&RightArrow;</mo></mover><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mover><msub><mi>q</mi><mi>j</mi></msub><mo>&RightArrow;</mo></mover><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><mo>|</mo><mover><msub><mi>q</mi><mi>i</mi></msub><mo>&RightArrow;</mo></mover><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><mover><msub><mi>q</mi><mi>j</mi></msub><mo>&RightArrow;</mo></mover><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>|</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000788660220000015.GIF" wi="551" he="181" /></maths>其中<img file="FDA0000788660220000016.GIF" wi="455" he="91" />是用户i对服务s的归一化QoS向量,定义用户u<sub>i</sub>与u<sub>j</sub>的在服务集S上的多维QoS相似度为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>i</mi></msub><mo>,</mo><msub><mi>u</mi><mi>j</mi></msub><mo>,</mo><mi>S</mi><mo>)</mo></mrow><mo>=</mo><mi>J</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>i</mi></msub><mo>,</mo><msub><mi>u</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mrow><mi>s</mi><mo>&Element;</mo><mi>S</mi></mrow></munder><mi>si</mi><mi>m</mi><mrow><mo>(</mo><mrow><msub><mi>u</mi><mi>i</mi></msub><mo>,</mo><msub><mi>u</mi><mi>j</mi></msub><mo>,</mo><mi>s</mi></mrow><mo>)</mo></mrow></mrow><mrow><mo>|</mo><mi>S</mi><mo>|</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000788660220000017.GIF" wi="815" he="196" /></maths>定义S(u)为用户u调用的服务s所构成的集合,那么有:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>J</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>i</mi></msub><mo>,</mo><msub><mi>u</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mo>|</mo><mrow><mi>S</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&cap;</mo><mi>S</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><mo>|</mo></mrow><mrow><mo>|</mo><mi>S</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&cup;</mo><mi>S</mi><mo>(</mo><msub><mi>u</mi><mi>j</mi></msub><mo>)</mo><mo>|</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000788660220000018.GIF" wi="516" he="186" /></maths>基于此相似度进行聚类操作;12)基于用户聚类,计算聚类特征sky line步骤;由一个聚类中服务的QoS均值计算得到的sky line;13)基于离线聚类sky line执行在线sky line修正步骤:输入用户u对于目标等价服务集S中的每一个点,首先在对应类平均sky line的支配表中支配该点的原sky line点集,并逐个判断在预测QoS数值之后的支配关系,若仍存在支配关系,那么该点在预测过QoS的服务集仍然不属于sky line;若原支配该点的sky line点,在预测后的QoS数值上不再支配该点,那么将该点和不被该点支配的原sky line点都加入候选集,最后在候选集中进行最终sky line计算;所述支配表用来存储sky line中支配关系的HashTable,其键为每一个非sky line节点索引,值为支配该节点的sky line点的集合。
地址 310027 浙江省杭州市西湖区浙大路38号