首页> 中国专利> 一种基于社交网络的服务竞争性实现系统及方法

一种基于社交网络的服务竞争性实现系统及方法

摘要

一种基于社交网络的服务竞争性实现系统及方法,包括服务采集模块、服务信息分析模块、服务社交网络构建模块、服务竞争性分析模块、服务数据库及终端用户接口。本发明在用户当前所使用的Web服务中断或失效时,可以为其提供准确的替代服务。

著录项

  • 公开/公告号CN103455593A

    专利类型发明专利

  • 公开/公告日2013-12-18

    原文格式PDF

  • 申请/专利权人 北京航空航天大学;

    申请/专利号CN201310390913.4

  • 申请日2013-09-01

  • 分类号G06F17/30(20060101);

  • 代理机构11251 北京科迪生专利代理有限责任公司;

  • 代理人成金玉;贾玉忠

  • 地址 100191 北京市海淀区学院路37号

  • 入库时间 2024-02-19 21:57:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-05

    授权

    授权

  • 2014-01-15

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130901

    实质审查的生效

  • 2013-12-18

    公开

    公开

说明书

技术领域

本发明涉及一种基于社交网络的服务竞争性实现系统及方法,属于计算机软件,Web服 务技术领域。

背景技术

传统的Web服务竞争性分析方法仅仅考虑服务自身的静态信息,例如服务质量、服务 功能的相似性等,当用户的原有服务中断或失效而需要替代服务时,往往通过比较用户的需 求描述和已有服务的功能的匹配程度,来为用户推荐服务。

为了更准确地说明服务之间的匹配程度,相似度计算方法被引入到服务比较过程中。它 通过一个相似度计算公式将服务之间的功能、质量及其它静态描述信息作比较,从而得到一 个量化的相似度分数,并依据此分数来判断服务之间的竞争性。然而,随着Web服务规模 的扩大,这种比较过程变得越来越耗时,更为严重的是推荐结果的准确性也越来越低。由于 服务数量的增多,功能相似的服务静态描述信息的差别也微乎其微,进而导致量化的相似度 分数的差别也变得越来越不显著,使得用户在面对诸多竞争性分数相似的服务时而无法选 择,这严重影响了依靠相似度分数来判断服务竞争性解决方案的准确性。

现有的Web服务竞争性分析方法仅从服务的静态描述信息来判断服务之间的竞争性, 而没有从用户使用的动态历史信息中挖掘服务之间的关系,即,现有方法丢失了一部分描述 服务之间关系的信息,进而影响了对服务竞争性判断的准确性。另一方面,现有方法对服务 竞争结果采用一次计算的方法来进行比较,这种方法在服务规模较小时,可以比较容易的看 出结果。但是,当服务规模增大时,这种通过一次计算的结果很难区分服务之间的竞争程度, 这也干扰了对服务竞争性判断的准确性。

发明内容

本发明的技术解决问题:克服现有技术的不足,提供一种基于社交网络的服务竞争性实 现系统及方法,在用户当前所使用的Web服务中断或失效时,可以为其提供准确的替代服 务。

本发明的技术解决方案:一种基于社交网络的服务竞争性实现系统,包括服务采集模块、 服务信息分析模块、服务社交网络构建模块、服务竞争性分析模块、服务数据库及终端用户 接口,该系统组成结构如图1所示,其中,服务采集模块用于从Internet上采集用户相关服 务信息并将这些信息送至服务信息分析模块;服务信息分析模块再将这些信息进行解析、分 类、组合等处理后存储至服务数据库;服务社交网络构建模块从服务数据库中读取分析后的 服务信息,组建服务社交网络;服务竞争性分析模块根据服务社交网络挖掘服务之间的相互 关系,并通过传播理论将这些关系加强,以确定每个Web服务的竞争性分数,然后将这些 信息存储在服务数据库中;用户可以通过系统终端用户接口从服务数据库中快速搜索和选择 所需服务。每个模块的详细过程如下所述:

所述的服务采集模块,用于从不同的Web服务publisher搜集与用户所需功能相关的各 种服务,该模块采集的大量服务及相关信息将按照特定格式送至服务信息分析模块。

所述的服务信息分析模块,是构建服务网络的预处理过程,其作用主要包括:接收并解 析服务采集信息,并将解析后的服务信息发送至服务数据库;按照用户的要求对服务添加分 类属性标签,即,用户可以根据定制的服务类别属性,来快速搜索并选择所需服务;将服务 组建成三元组模式,即<user,publisher,service>,并存储在服务数据库中,为Web服务社交 网络的构建提供基础数据;提取服务描述的关键字并存储在服务数据库,以供在服务竞争性 分析模块中初始化服务竞争性分数使用。

所述的服务社交网络构建模块,根据服务数据库中服务三元组中的元素及其关系,组建 并显示Web服务社交网络,该网络中Web服务之间的相互关系是服务竞争性分析的重要依 据。

所述的服务竞争性分析模块,是该系统的核心部件,该分析过程主要涉及三个主要步骤: 首先,初始化各个Web服务竞争性分数。对于每一个功能领域的Web服务,确定一个标准 服务(通常为用户当前所使用的服务),采用相似度计算方法,将所采集的服务与标准服务 比较,该结果即为服务竞争性初始值。其次,利用传播理论来加强上述竞争性分数的初值。 这里需要挖掘Web服务社交网络中服务之间的关系,同时将这种关系与传播理论相关联, 然后采用迭代计算的方法使得竞争性分数得到加强和收敛。最后,按照竞争性分数大小对 Web服务进行排序。这主要是为了方便终端用户的服务查询需求。

所述的服务数据库,用户保存采集的服务信息,分析后的服务信息以及服务的竞争性分 析结果等内容,是本系统的数据存储截至和交互中心。

所述终端接口,用户可通过系统终端接口来快速搜索和选择所需服务。

一种基于社交网络的服务竞争性实现方法的步骤如下:

(1)根据用户当前使用或所需要的服务功能,从Internet上各个Web服务publisher中采 集相关的服务信息;

(2)将上述服务信息,按照功能领域进行分类,并添加用户自定义的分类属性标签后存 储的在服务数据库中;

(3)从服务数据库中的服务信息中提取服务描述的关键字,并存储在服务数据库中;

(4)从服务数据库中的服务信息中读取服务的user,publisher,service信息,组成<user, publisher,service>三元组;

(5)以此三元组中的元素为节点,并以元素之间的关系为边,则构成了一个Web服务社 交网络,如图7所示;

(6)根据用户使用历史信息,挖掘并确定上述Web服务社交网络中服务之间的关系,通 常包括竞争和协作两种;

(7)利用相似度计算公式,确定每个Web服务的竞争性分数的初值;

(8)利用传播理论并结合步骤(6)中的服务之间的关系信息,通过迭代计算来加强和 收敛服务的竞争性分数;

(9)用户可通过上述服务竞争性分数来准确获得所需的服务。

本发明与现有技术相比的优点在于:

(1)本发明的优点在于综合利用Web服务自身的静态描述信息和用户的历史使用信息 来分析服务的竞争性。现有的Web服务的竞争性分析方法着眼于服务自身描述信息,仅仅 考虑了服务的质量及功能描述等静态信息,而忽略了用户的历史使用信息。本发明从用户使 用的历史信息中,充分挖掘了服务之间的关系,确保了服务竞争性分析中信息的完整性。

(2)本发明提供了一种描述服务之间相互关系的新方法。用户对服务调用的历史信息体 现了服务之间竞争与组合的关系。如果某几个功能相似的服务同时被一个用户调用,则认为 这几个服务之间存在一定的组合关系,被调用次数越多,这种组合关系越强烈;如果某几个 功能相似的服务先后被一个用户调用,则认为这几个服务之间存在一定的竞争关系,被调用 次数越多,这种竞争性越强烈。本发明采用了社交网络的形式来表现这种服务之间的竞争与 组合关系,为服务关系的描述提供了一种新途径。

(3)本发明采用相似度公式来描述服务之间的竞争性初值,为不同服务之间的比较和选 择提供了量化依据。

(4)本发明与传统方法相比显著增强了Web服务竞争性分析的准确性。首先,对用户 历史信息的充分挖掘,避免了服务关系信息的丢失;其次,相似度方法的使用为服务竞争性 分析结果从定性到定量提供了基础;最后传播理论的迭代方法加强和收敛了竞争性分析结 果,从而为用户提供了可靠的选择依据。上述理论和方法确保在用户所使用服务中断或失效 时,为其提供准确的替代服务。

(5)本发明可以按照用户自定义的分类属性标签对服务进行分类,极大地方便了用户快 速查找并选择替代服务的需求。

附图说明

图1为本发明系统的组成框图;

图2为本发明方法的实现流程图;

图3为服务采集模块的实现流程图;

图4为服务信息分析模块的实现流程图;

图5为服务信息关键字提取的实现流程图;

图6为服务社交网络构建模块的实现流程图;

图7为服务社交网络示意图;

图8为服务竞争性分析模块的实现流程图;

图9为服务关系示意图;

图10为相似度方法初始化服务竞争性分数实现流程图。

具体实施方式

如图1所示,本发明系统包括:服务信息采集模块、服务信息分析模块、服务网络构建 模块、服务竞争性分析模块、服务数据库及终端用户接口。其中:

服务信息采集模块,主要用于从Internet的Web服务publisher中心,搜索下载用户所需 服务或与用户现有服务功能相关的类似服务及其用户使用历史信息。

服务信息分析模块是在采集过程结束后,对下载后的信息进行功能领域归类、用户自定 义标签添加及服务信息三元组构建,并将处理后的信息存储在服务数据库中。

服务网络构建模块,是为获取服务之间相互关系而使用服务数据库中的服务三元组基础 信息来构建Web服务社交网络,这种服务之间的相互关系是本发明中服务竞争性分析的关 键依据,也是本发明与传统Web服务竞争性分析的显著区别,它保证了Web服务竞争性分 析中服务信息的完整性。

服务竞争性分析模块,是本系统的核心组成部分,通过相似度公式计算和服务社交网络 可以分别得到服务竞争性初始分数和传播系数,然后利用传播理论将服务竞争性初始分数进 行迭代计算,从而获取加强后服务竞争性分数,最后再对这些分数进行排序,以确定服务的 竞争性,为用户提供准确的替代服务。

服务数据库是本发明系统的存储介质和数据交换中心,用于存储系统中各类型的服务信 息数据,例如,服务信息解析数据、用户自定义服务属性标签及服务三元组等数据。

终端是本发明系统与用户的交互接口,用户既可以直接通过功能等关键字查询来获取所 需服务,也可以通过开发以本系统中服务数据库为中心的终端系统来使用本发明系统。

如图2所示,为本发明方法的实现流程图,其主要步骤如下:

(1)服务信息采集模块从Internet\Web Service Publisher中抓取相关与用户现有或所需服 务相关的服务信息,形成服务信息的元素数据,即,按照预定义的格式将抓取的服务信息包 括用户使用记录、注册中心等传送至服务信息分析模块;

(2)服务信息分析模块将从服务采集模块输送的原始服务信息进行解析,并按照用户自 定义的服务属性标签及服务自身功能领域,对解析后的原始服务信息进行归类存储。同时, 以<user,publisher,service>三元组的形式提取服务中的信息,存储的服务数据库中作为构建 Web服务社交网络的基础数据。此外,在该模块中对服务的关键字进行了提取并存储在服务 数据库中,以便为服务竞争性模块中的初始化服务竞争性分数提供输入;

(3)服务社交网络构建模块,调用服务数据库中的服务三元组信息,构建并显示Web 服务社交网络,该网络中主要提供Web服务历史调用信息包括使用用户、使用时间等信息, 以作为社交网络中服务之间相互关系挖掘的基础;

(4)服务竞争性分析模块,依据服务社交网络中提供的Web服务信息,挖掘服务之间 的相互关系包括竞争和协作(也称组合)关系。然后,再利用传播理论将这种关系加强,并 量化加强的结果,形成服务竞争性分析结果并存储在服务数据中,以供终端用户使用。

如图3所示,为服务采集模块的实现流程图,其实现过程如下:

(1)开始服务信息采集,与用户现有或所需服务相关的初始Web Service的URL被加 入处理队列;

(2)判断运行队列是否为空;

(3)若处理队列为空,则结束服务信息采集工作;

(4)若处理队列不为空,则抓取网页中所含的Web服务信息,并将等待队列中的一个 URL移入运行队列;

(5)将抓取的Web服务信息按照预先定义的格式输出;

(6)判断移入的URL中是否有新的服务信息链接;

(7)若没有新的服务信息链接,则将该网页的URL移入完成队列,然后转至步骤(2);

(8)若有新的服务信息链接,检查网页中包含的下一Web服务信息链接;

(9)网页中的下一服务信息链接是否指向html的链接;

(10)若不是指向html链接,则报告其他Web服务链接,然后,转至步骤(6);

(11)若为指向html链接,则判断新Web服务信息链接与前一Web服务信息链接是否 在同一服务器;

(12)若步骤(11)中的两个Web服务信息链接不是同一服务器,则报告外部链接,然 后,转至步骤(6);

(13)若步骤(11)中的两个Web服务信息链接在同一服务器,则将新链接加入等待队 列,然后转至步骤(6)。

如图4所示,为服务信息处理模块的实现流程图,其实现过程如下:

(1)启动Web服务数据分析程序;

(2)接收从Internet\Web Service Publisher采集的格式化Web服务数据;

(3)根据预定义规则解析格式化服务信息数据,并将解析后的数据存储到服务数据库;

(4)添加用户自定义的Web服务属性标签,例如,除功能领域分类外,还可以添加Web 服务的使用周期(即使用时间)、自定义的服务质量评级以及服务的历史调用信息等属性标 签,并将这些属性标签一并存储在服务数据库中;

(5)利用采集的Web服务数据构建服务三元组,即通过查找服务相关的user和publisher, 以<user,publisher,service>的形式组成服务三元组,作为构建Web服务社交网络的基础数据, 并存储在服务数据库中;

(6)对服务描述中的关键字进行提取,以便为下面的服务相似度函数提供输入,其具体 的提取流程参见图5。

如图5所示,为服务信息关键字提取的实现流程图,这里为提取Web服务描述的关键 字,采用了TF-IDF(term frequency–inverse document frequency)算法,其基本思想是一个 词的重要程度(即关键字)不仅取决与该次在文中出现的频率TF,而且与该词的逆文档频 率IDF(可以理解为该词的权重)相关联。即,一个词的重要性的大小可以用该词出现的频 率与其逆文档频率的乘积来表示。这里,逆文档频率表示该词的权重,它的大小与一个词的 常见程度成反比。下面是实现流程图的具体步骤:

(1)去除服务描述中的停用词,即过滤掉对结果毫无帮助的词,例如,语气词、助词等。 如果是非英文等需要分词的描述,则先分词;

(2)统计每个词的词频TF,记录每个词在服务描述中出现的次数;

(3)考虑到不同服务描述的长短不同,为便于比较,使用公式(1)对词频进行标准化, 即,

(4)分别统计Web服务总数目和包含每个词的服务的数目,以便计算该词的逆文档频 率IDF;

(5)利用公式(2)计算每个词的逆文档频率IDF,即,

如果一个词越常见,即包含它的服务数目越多,那么分母就越大,逆文档频率就越小,越接 近0。分母之所以要加1,是为了避免分母为0(即所有服务都不包含该词)。log表示对得到 的值取对数;

(6)计算每个词TF-IDF值,如公式(3)所示,然后降序排序,取排名靠前20个(可 自行定义)作为关键字,并存入服务数据库中。

TF-IDF=词频(TF)×逆文档频率(IDF)       (3)

如图6所示,为服务社交网络构建模块的实现流程图,其实现过程如下:

(1)初始化Web服务社交网络G=(V,E),其中V=E=NULL;

(2)判断服务数据库中Web服务三元组数据是否为空;

(3)若服务数据库中三元组数据为空,则结束程序;

(4)若服务数据库中三元组数据不为空,则依次从服务数据库中读取Web服务三元组 数据;

(5)判断读取的Web服务三元组数据中的service元素是否在服务社交网络G的节点V 中;

(6)若该三元组的service元素在服务社交网络的节点V中,则转至步骤(2);

(7)若该三元组的service元素不在服务社交网络的节点V中,则将该元素添加到V中;

(8)判断新添加的三元组中的Web服务与V中已有服务是否相关;

(9)若新添加的Web服务与已有服务无关,则转至步骤(2);

(10)若新添加的Web服务与已有服务相关,则判断新添加的Web服务与V中已有服 务是否被同一用户调用;

(11)若新添加的服务与已有服务没有被同一用户调用,则转至步骤(2);

(12)若新添加的服务与已有服务被同一用户调用过,则判断调用时间是否相同;

(13)若新添加的服务与已有服务被同一用户调用的时间相同,则认为新添加服务节点 与已有服务存在协作关系,在这两个服务之间增加一条边E,同时边的权重减1(初始为0);

(14)若新添加的服务与已有服务被同一用户调用的时间不同,则认为新添加服务节点 与已有服务存在竞争关系,在这两个服务之间增加一条边E,同时边的权重加1(初始为0)。

如图7所示,为Web服务社交网络示意图,社交网络G=(V,E)由节点V和边E构成, 每个Web服务都可以表示为一个三元组<user,publisher,service>,即user在某一时刻T使用 了publisher提供的服务。以此三元组中的元素为节点,并以元素之间的关系为边,则构成了 一个Web服务社交网络。

如图8所示,为服务竞争性分析模块的实现流程图,其实现过程由初始化服务竞争性分 数、确定传播系数和迭代计算服务竞争性分数并输出竞争性结果3个步骤组成,前2个步骤 为第3步的传播理论的使用提供初始信息,是迭代计算的前提和基础。每个步骤的详细过程 如下所示:

(1)开始初始化Web服务社交网络中每个服务的竞争性分数;

(1.1)获取用户现有或所需服务的功能描述,然后利用图5中的TF-IDF算法提取服务 关键字并存储到服务数据库中;

(1.2)利用数据库中的服务关键字,根据相似度方法计算每个服务初始竞争性分数;

(1.3)相似度方法说明:在对服务的竞争分数进行初始赋值时,采用了一种叫做余弦相 似性的比较方法。其基本思想是:首先将两个服务描述的关键字合并成一个集合,然后计算 这两个服务描述对于这个集合中关键字的词频,从而根据每个词的词频来生成两个服务的词 频向量,最后计算这两个向量的余弦相似度,即这两个向量夹角的余弦值,值越大就表示这 两个服务越相似。如图9所示,如果用户使用的当前服务S2中断或失效时,需要计算网络 中每个Web服务与服务S2的初始竞争性分数,图10详细地描述了利用相似度方法来初始 化服务竞争性分数的过程,其实现过程如下所述:

(1.3.1)从服务数据库中读取用户使用或所需服务的关键字;

(1.3.2)从服务数据库中依次读取所采集的服务的关键字;

(1.3.3)合并步骤(1)和步骤(2)中的服务关键字,即合并相同的关键字,生成一个 关键字集合,这里强调该集合中的关键字是有序的,这样,利用该关键字生成的词频向量才 具有可比性;

(1.3.4)从服务数据库中获取上述两个服务的描述信息,对于每一个服务描述,计算该 关键字集合的词频。例如,假设因中断而需要替代的服务Si有20个关键字,从数据库中读 取的某个服务Sj也有20个关键字,经合并后共有30个关键字(假设有10个相同的关键字), 那么,对于服务Si的描述而言,利用图5描述中的公式(1)可以得到这30个关键字的词频, 其值分别为si1,si2,…,si30。同理,对于服务Sj的描述而言,同样也有一组30个关键字的词频 sj1,sj2,…,sj30

(1.3.5)利用步骤(4)中的两组关键字词频分别生成服务Si和Sj的词频向量,即,

Si=(si1,si2,…,si30)            (4)

Sj=(sj1,sj2,…,sj30)          (5)

(1.3.6)利用公式(6)可以计算两个服务的相似度,从而得到每一个服务的初始竞争性 分数;

DS(Si,Sj)=Σk(sik×sjk)Σk(sik)2×Σk(sjk)2=Si·Sj||Si||×||Sj||---(6)

其中,Si,Sj分别表示服务i和服务j,k表示这两个服务的关键字个数,sik,sjk,分别表 示向量Si,Sj的第k个分量,Si·Sj表示两个向量的内积,||Si||×||Sj||表示两个向量的长度的积, 它们的比值在这里定义为两个服务的相似度,也是两个服务竞争性的初始分数;

(1.3.7)判断服务数据库中所采集服务是否读取完毕,若是,则结束初始化服务竞争性 分数,若否,则返回步骤至(1.3.2)继续循环。

(2)确定传播系数,为传播理论初始化参数;

(2.1)搜索服务社交网络,获取服务关系数据(即服务社交网络中边的权重信息),作为 传播理论传播的途径;

(2.2)建立服务关系与传播系数关系表,为下面的迭代公式提供初始参数;

(2.2.1)根据用户使用历史信息,挖掘并确定服务之间的关系。本发明将服务之间的关 系定义为竞争和协作两种关系,其划分标准为用户调用服务的时间信息。如果一个用户在某 一时刻同时调用几个功能相关的服务,则认为这几个服务之间的关系为协作关系;如果一个 用户在不同时刻先后调用几个功能相似的服务,则认为这几个服务之间的关系为竞争关系;

(2.2.2)依据用户的调用次数来判断服务之间竞争和协作的程度,并通过传播系数来表 示。本发明中,如果服务之间具有较强的竞争性,则它们之间的传播系数较大;反之,如果 服务之间具有组合关系,则它们之间的传播系数较小。这样做的结果是,当传播迭代过程结 束时,分数越高表明竞争性越强。这里,将传播系数大小定义在(0,1)之间,一个具体的划 分标准如下表1示;

表1服务关系与传播系数

(3)利用传播理论并结合步骤(2)中确定的传播系数对初始竞争性分数进行迭代计算。 迭代方法如公式(7)所示:

socre(Si)n+1=score(Si)n+ΣSjNΣeRijw(Si,Sj,e)×score(Sj)n---(7)

其中,score(Si)表示服务Si的初始竞争性分数,w(Si,Sj,e)表示传播系数,N代表网络 中服务Si的邻居。e∈Rij表示服务Si和Sj的一种关系类型,Rij表示服务Si和Sj的所有关系。 此外,这里n表示迭代的次数,最终的迭代结果是直到服务的竞争性分数收敛为止。

(3.1)判断是否达到迭代次数n(这里n表示Web服务社交网络中服务节点数量);

(3.2)若没有达到迭代次数,则返回至步骤(3);

(3.3)若已经达到迭代次数,则停止迭代;

(3.4)判断迭代次数时,同时记录并判断迭代结果是否收敛(迭代结果连续三次相同, 则认为已经收敛);

(3.5)若迭代结果没有收敛,则返回至步骤(3);

(3.6)若迭代结果已经收敛,则停止迭代;

(3.7)根据迭代结果的竞争性分数对Web服务的竞争性进行排序,分数越高,竞争性越 强,同时存储Web服务的竞争性排序结果,以供终端用户使用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号