本发明涉及计算机技术领域,尤其涉及一种以服务质量为中心的个性化服务推荐方法和系统。
背景技术:
电子商务的发展和普及,尤其是由云计算推广的现收现付业务模式,推动了web服务的快速增长。由programmableweb(一个在线web服务目录)发布的统计数据表明过去几年中已发布的web服务数量正在快速增长。这使得np完全的质量感知服务选择问题变得难以解决。近年来,大量的相关工作通过web服务推荐技术来优化,致力于降低质量感知服务选择问题的复杂性。通过推荐合适的候选服务以减少问题的搜索空间。这样,系统工程师不必列举所有的候选服务及其可能的组合。
这里的关键问题就是如何鉴别出合适的候选服务,能够尽可能的满足系统工程师的质量约束。不幸的是,没有一种现有的web服务推荐方法能够解决这个问题。
技术实现要素:
基于背景技术存在的技术问题,本发明提出了一种以服务质量为中心的个性化服务推荐方法和系统;
本发明提出的一种以服务质量为中心的个性化服务推荐方法,包括:
s1、根据服务的质量维度p建立p维空间坐标系a,根据所有服务建立候选服务集合s;
s2、获取参考服务sr;
s3、以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’,并将a转换为新坐标系a’;
s4、对s’进行skyline计算,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl;
s5、向用户推送集合sdsl。
优选地,步骤s3,具体包括:
以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’=(f1(s),…,fp(s)),其中,fj(s)=|qj(sr)-qj(s)|,1≤j≤p,qj(sr)-qj(s)表示服务s到参考服务sr的各维位移值,此时a转换为以sr为原点的新坐标系a’。
优选地,步骤s4,具体包括:
检查s’中的服务是否被其他服务支配,将所有未被其他服务支配的服务添加到集合s’dl中,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,其中,一个服务s1支配另一个服务s2表示服务s1在所有质量维度上都高于或者等于s2,且服务s1至少在一个维度上比服务s2严格好。
一种以服务质量为中心的个性化服务推荐系统,包括:
服务集合建立模块,用于根据服务的质量维度p建立p维空间坐标系a,根据所有服务建立候选服务集合s;
参考服务获取模块,用于获取参考服务sr;
服务映射模块,用于以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’,并将a转换为新坐标系a’;
集合计算模块,用于对s’进行skyline计算,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl。
服务推送模块,用于向用户推送集合sdsl。
优选地,所述服务映射模块,具体用于:
以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’=(f1(s),…,fp(s)),其中,fj(s)=|qj(sr)-qj(s)|,1≤j≤p,qj(sr)-qj(s)表示服务s到参考服务sr的各维位移值,此时a转换为以sr为原点的新坐标系a’。
优选地,所述集合计算模块,具体用于:
检查s’中的服务是否被其他服务支配,将所有未被其他服务支配的服务添加到集合s’dl中,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,其中,一个服务s1支配另一个服务s2表示服务s1在所有质量维度上都高于或者等于s2,且服务s1至少在一个维度上比服务s2严格好。
本发明根据质量维度p建立p维空间坐标系a,根据所有服务建立候选服务集合s,再获取参考服务sr,以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’,对s’进行skyline计算,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,向用户推送集合sdsl中的服务,如此,根据参考服务发现那些不被其它任何服务支配过的服务,为鉴别出合适的候选服务及其可能的组合,使得系统工程师不必列举所有的候选服务,在满足系统工程师的质量约束的情况下,节省大量时间和人工成本,提高系统工程师的工作效率。
附图说明
图1为本发明提出的一种以服务质量为中心的个性化服务推荐方法的流程示意图;
图2为本发明提出的一种以服务质量为中心的个性化服务推荐系统的模块示意图。
具体实施方式
参照图1,本发明提出的一种以服务质量为中心的个性化服务推荐方法,包括:
s1、根据服务的质量维度p建立p维空间坐标系a,根据所有服务建立候选服务集合s;
在具体方案中,获取服务的所有质量维度,根据质量维度建立以质量维度为维数的空间坐标系,在p维空间坐标系a中根据所有服务建立候选服务集合s。
s2、获取参考服务sr;
s3、以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’,并将a转换为新坐标系a’,具体包括:
以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’=(f1(s),…,fp(s)),其中,fj(s)=|qj(sr)-qj(s)|,1≤j≤p,qj(sr)-qj(s)表示服务s到参考服务sr的各维位移值,此时a转换为以sr为原点的新坐标系a’。
在具体方案中,对于s中的每一个服务s根据映射函数进行函数映射,得到新的候选服务集合s’,此时a转换为以sr为原点的新坐标系a’。
s4、对s’进行skyline计算,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,具体包括:
检查s’中的服务是否被其他服务支配,将所有未被其他服务支配的服务添加到集合s’dl中,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,其中,一个服务s1支配另一个服务s2表示服务s1在所有质量维度上都高于或者等于s2,且服务s1至少在一个维度上比服务s2严格好。
s5、向用户推送集合sdsl。
在具体方案中,skyline操作是去发现那些没有被其它任何服务支配过的服务,一个服务s1支配另一个服务s2表示服务s1在所有质量维度上都高于或者等于s2,且服务s1至少在一个维度上比服务s2严格好,通过对s’进行skyline计算,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,再将得到的集合sdsl向用户推送。
参考图2,本发明提出的一种以服务质量为中心的个性化服务推荐系统,包括:
服务集合建立模块,用于根据服务的质量维度p建立p维空间坐标系a,根据所有服务建立候选服务集合s;
在具体方案中,获取服务的所有质量维度,根据质量维度建立以质量维度为维数的空间坐标系,在p维空间坐标系a中根据所有服务建立候选服务集合s。
参考服务获取模块,用于获取参考服务sr;
服务映射模块,用于以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’,并将a转换为新坐标系a’,所述服务映射模块,具体用于:以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’=(f1(s),…,fp(s)),其中,fj(s)=|qj(sr)-qj(s)|,1≤j≤p,qj(sr)-qj(s)表示服务s到参考服务sr的各维位移值,此时a转换为以sr为原点的新坐标系a’。
在具体方案中,对于s中的每一个服务s根据映射函数进行函数映射,得到新的候选服务集合s’,此时a转换为以sr为原点的新坐标系a’。
集合计算模块,用于对s’进行skyline计算,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,具体用于:
检查s’中的服务是否被其他服务支配,将所有未被其他服务支配的服务添加到集合s’dl中,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,其中,一个服务s1支配另一个服务s2表示服务s1在所有质量维度上都高于或者等于s2,且服务s1至少在一个维度上比服务s2严格好。
服务推送模块,用于向用户推送集合sdsl。
在具体方案中,skyline操作是去发现那些没有被其它任何服务支配过的服务,一个服务s1支配另一个服务s2表示服务s1在所有质量维度上都高于或者等于s2,且服务s1至少在一个维度上比服务s2严格好,通过对s’进行skyline计算,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,再将得到的集合sdsl向用户推送。
本实施方式根据质量维度p建立p维空间坐标系a,根据所有服务建立候选服务集合s,再获取参考服务sr,以s中的每一个服务到参考服务sr的各维位移值作为映射函数进行函数映射,得到新的候选服务集合s’,对s’进行skyline计算,得到s’的skyline集合s’dl,则s的dynamicskyline集合sdsl=s’dl,向用户推送集合sdsl中的服务,如此,根据参考服务发现那些不被其它任何服务支配过的服务,为鉴别出合适的候选服务及其可能的组合,使得系统工程师不必列举所有的候选服务,在满足系统工程师的质量约束的情况下,节省大量时间和人工成本,提高系统工程师的工作效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。