【发明内容】
基于此,有必要提供一种可协调不同的云合作完成云服务以提高网络资源利用率的多云之间的云服务调度方法。
一种多云之间的云服务调度方法,包括:
接收各云发送的注册信息,所述注册信息包含云具有的服务的服务信息;
根据所述注册信息建立云之间相互匹配的服务的对应关系;
接收云发送的云服务请求;
查找具有与所述云服务请求中所请求的服务相匹配的服务的云,得到相匹配的云;
将所述云服务请求调度到所述相匹配的云。
在其中一个实施例中,所述服务信息包括服务功能内容信息;所述根据所述注册信息建立云之间相互匹配的服务的对应关系的步骤包括:
为云分配云ID,并为云具有的各项服务分配服务ID,建立云ID与服务ID的对应关系以及服务ID与服务信息的对应关系;
将各云之间具有的服务功能内容信息进行对比,获取相互匹配的服务功能内容信息,建立相互匹配的服务功能内容信息对应的服务ID之间的对应关系,得到相互匹配的服务ID之间的对应关系。
在其中一个实施例中,所述云服务请求中包含请求的服务信息;
所述查找具有与云服务请求中所请求的服务相匹配的服务的云的步骤包括:
查找所述请求的服务信息对应的服务ID,在所述相互匹配的服务ID之间的对应关系中查找与该服务ID相匹配的服务ID,并在所述云ID与服务ID的对应关系中查找所述相匹配的服务ID对应的云ID,得到相匹配的云ID。
在其中一个实施例中,所述云服务请求中还包含请求的服务实例数量;所述注册信息还包括云通信地址;所述方法还包括步骤:建立云ID与云通信地址的对应关系;
所述将云服务请求调度到所述相匹配的云的步骤包括:
查找所述相匹配的云ID对应的云通信地址,并查找所述相匹配的服务ID对应的服务信息;
根据查找到的云通信地址向所述相匹配的云发送启动服务的指令,所述指令中包含查找到的服务信息,并包含所述云服务请求中包含的服务实例数量。
在其中一个实施例中,所述方法还包括步骤:
接收所述查找到云发送的处理结果数据;
将所述处理结果数据返回给发起所述云服务请求的云。
一种多云之间的云服务调度***,包括:
接收模块,用于接收各云发送的注册信息,所述注册信息包含云具有的服务的服务信息;
匹配服务信息构建模块,用于根据所述注册信息建立云之间相互匹配的服务的对应关系;
所述接收模块还用于接收云发送的云服务请求;
匹配云查找模块,用于查找具有与所述云服务请求中所请求的服务相匹配的服务的云,得到相匹配的云;
服务请求调度模块,用于将所述云服务请求调度到所述相匹配的云。
在其中一个实施例中,所述服务信息包括服务功能内容信息;
所述匹配服务信息构建模块包括:
标识分配模块,用于为云分配云ID,并为云具有的各项服务分配服务ID;
对应关系建立模块,用于建立云ID与服务ID的对应关系以及服务ID与服务信息的对应关系;
功能内容匹配模块,用于将各云之间具有的服务功能内容信息进行对比,获取相互匹配的服务功能内容信息;
所述对应关系建立模块还用于建立相互匹配的服务功能内容信息对应的服务ID之间的对应关系,得到相互匹配的服务ID之间的对应关系。
在其中一个实施例中,所述云服务请求中包含请求的服务信息;
所述匹配云查找模块用于查找所述请求的服务信息对应的服务ID,在所述相互匹配的服务ID之间的对应关系中查找与该服务ID相匹配的服务ID,并在所述云ID与服务ID的对应关系中查找所述相匹配的服务ID对应的云ID,得到相匹配的云ID。
在其中一个实施例中,所述云服务请求中还包含请求的服务实例数量;所述注册信息还包括云通信地址;所述对应关系建立模块还用于建立云ID与云通信地址的对应关系;
所述服务请求调度模块包括:
查找模块,用于查找所述相匹配的云ID对应的云通信地址,并查找所述相匹配的服务ID对应的服务信息;
指令调度模块,用于根据查找到的云通信地址向所述相匹配的云发送启动服务的指令,所述指令中包含查找到的服务信息,并包含所述云服务请求中包含的服务实例数量。
在其中一个实施例中,所述接收模块还用于接收所述查找到云发送的处理结果数据;
所述***还包括处理结果调度模块,用于将所述处理结果数据返回给发起所述云服务请求的云。
上述多云之间的云服务调度方法和***,预先根据各云发送的注册信息建立云之间具有的相互匹配的服务的对应关系,当接收到某云发送的云服务请求时,则将该云服务请求调度到可提供匹配的云服务的云,从而可协调不同的云共同合作完成云服务,提高云之间的资源共享率,从而提高网络资源利用率。
【具体实施方式】
如图1所示,在一个实施例中,一种多云之间的云服务调度方法,包括:
步骤S101,接收各云发送的注册信息,注册信息包含云具有的服务的服务信息。
步骤S102,根据注册信息建立云之间相互匹配的服务的对应关系。即,若第一云的第一服务与第二云的第二服务相互匹配,则建立第一服务与第二服务的对应关系。
在一个实施例中,服务信息包括服务功能内容信息;步骤S102包括以下步骤:为云分配云ID,并为云具有的各项服务分配服务ID,建立云ID与服务ID的对应关系以及服务ID与服务信息的对应关系;进一步的,将各云之间具有的服务功能内容信息进行对比,获取相互匹配的服务功能内容信息,建立相互匹配的服务功能内容信息对应的服务ID之间的对应关系,得到相互匹配的服务ID之间的对应关系。
在一个实施例中,可将两个进行对比的服务功能内容信息进行分词,比较两个服务功能内容信息是否存在相同词语,获取两个服务功能内容信息的词语相同率,若词语相同率达到预设值,则判定两个服务功能内容信息相互匹配。
步骤S103,接收某云发送的云服务请求。
步骤S104,查找具有与该云服务请求中所请求的服务相匹配的服务的云,得到相匹配的云。
在一个实施例中,云服务请求中包含请求的服务信息;步骤S104包括以下步骤:查找请求的服务信息对应的服务ID,在上述建立的相互匹配的服务ID之间的对应关系中查找与该服务ID相匹配的服务ID,并在上述建立的云ID与服务ID的对应关系中查找该相匹配的服务ID对应的云ID,得到相匹配的云ID。
在一个实施例中,上述多云之间的云服务调度方法还包括步骤:接收云发送的可启动服务实例数量信息,可启动服务实例数量信息包括服务信息与该服务信息对应的服务实例数量组成的数对;记录服务信息对应的服务ID与该服务信息对应的服务实例数量之间的对应关系。
步骤S104在上述建立的相互匹配的服务ID之间的对应关系中查找与该服务ID相匹配的服务ID之后,选取查找到的相匹配的服务ID中服务实例数量最大的服务ID作为相匹配的服务ID,判断该相匹配的服务ID对应的服务实例数量是否大于等于请求的服务实例数量,若是,则进入在上述建立的云ID与服务ID的对应关系中查找所述相匹配的服务ID对应的云ID的步骤,若否,则向发起云服务请求的云返回请求失败的信息。
步骤S105,将云服务请求调度到相匹配的云。
在一个实施例中,云服务请求中还包含请求的服务实例数量;上述注册信息还包括云通信地址;上述多云之间的云服务调度方法还包括步骤:建立云ID与云通信地址的对应关系。
步骤S105包括以下步骤:查找上述相匹配的云ID对应的云通信地址,并查找该相匹配的服务ID对应的服务信息;根据查找到的云通信地址向上述相匹配的云发送启动服务的指令,该指令中包含查找到的服务信息,并包含云服务请求中包含的服务实例数量。
在一个实施例中,服务信息还包括服务的输入数据格式;步骤S102还包括:将相互匹配的服务功能内容信息对应的输入数据格式之间进行对比,若两个输入数据格式不同,则获取将两个输入数据格式转化成相同格式的输入转化函数的地址;建立相互匹配的服务功能内容信息对应的服务ID、输入转化函数的地址的对应关系。
云服务请求还包括请求处理的数据。
步骤S105还包括以下步骤:判断请求的服务信息对应的服务ID与上述相匹配的服务ID是否存在对应的输入转化函数的地址,若否,则根据上述查找到的云通信地址向上述相匹配的云发送请求处理的数据,若是,则根据对应的输入转化函数的地址调用函数,将请求处理的数据进行转化,根据上述查找到的云通信地址向上述相匹配的云发送转化后的请求处理的数据。
在一个实施例中,服务信息还包括服务的输出数据格式;步骤S102还包括以下步骤:将相互匹配的服务功能内容信息对应的输出数据格式之间进行对比,若两个输出数据格式不同,则获取将两个输出数据格式转化成相同格式的输出转化函数的地址;建立相互匹配的服务功能内容信息对应的服务ID、输出转化函数的地址的对应关系。
上述多云之间的云服务调度方法还包括以下步骤:接收所述查找到云发送的处理结果数据;将处理结果数据返回给发起云服务请求的云。在一个实施例中,将处理结果数据返回给发起所述云服务请求的云的步骤包括以下步骤:判断请求的服务信息对应的服务ID与上述相匹配的服务ID是否存在对应的输出转化函数的地址,若否,向发起云服务请求的云发送处理结果数据,若是,则根据对应的输出转化函数的地址调用函数,将处理结果数据进行转化,向发起云服务请求的云发送转化后的处理结果数据。
上述多云之间的云服务调度方法中包括的步骤可由云中心管理节点来执行。
在一个实施例中,一种多云之间的云服务调度方法,包括以下步骤:
(1)云中心管理节点接收各云发送的注册信息,注册信息包含云具有的服务的服务信息和云通信地址;服务信息包括服务功能内容信息、服务的输入数据格式和服务的输出数据格式。
(2)云中心管理节点为云分配云ID,并为云具有的各项服务分配服务ID,建立云ID与服务ID的对应关系以及服务ID与服务信息的对应关系,并建立云ID与云通信地址的对应关系。
(3)云中心管理节点将各云之间具有的服务功能内容信息进行对比,获取相互匹配的服务功能内容信息,建立相互匹配的服务功能内容信息对应的服务ID之间的对应关系,得到相互匹配的服务ID之间的对应关系。
(4)云中心管理节点将相互匹配的服务功能内容信息对应的输入数据格式之间进行对比,若两个输入数据格式不同,则获取将两个输入数据格式转化成相同格式的输入转化函数的地址;建立相互匹配的服务功能内容信息对应的服务ID、输入转化函数的地址的对应关系。
将相互匹配的服务功能内容信息对应的输出数据格式之间进行对比,若两个输出数据格式不同,则获取将两个输出数据格式转化成相同格式的输出转化函数的地址;建立相互匹配的服务功能内容信息对应的服务ID、输出转化函数的地址的对应关系;
在一个实施例中,可建立相互匹配的服务功能内容信息对应的服务ID、输入转化函数的地址和输出转化函数的地址的对应关系。例如,Si和Sj为相互匹配的服务ID,Si对应的输入数据格式和Sj对应的输入数据格式之间的输入转化函数的地址为Adress1,Si对应的输出数据格式和Sj对应的输出数据格式之间的输出转化函数的地址为Adress2,则可建立Si、Sj、Adress1和Adress2的对应关系,将Si、Sj、Adress1和Adress2对应存储到数据表中。
(5)云中心管理节点接收云发送的可启动服务实例数量信息,可启动服务实例数量信息包括服务信息与该服务信息对应的服务实例数量组成的数对;云中心管理节点记录服务信息对应的服务ID与该服务信息对应的服务实例数量之间的对应关系。
(6)云中心管理节点接收云发送的云服务请求;云服务请求中包含请求的服务信息、请求的服务实例数量和请求处理的数据。
(7)云中心管理节点查找请求的服务信息对应的服务ID,在上述建立的相互匹配的服务ID之间的对应关系中查找与该服务ID相匹配的服务ID,选取查找到的相匹配的服务ID中服务实例数量最大的服务ID作为相匹配的服务ID,判断该相匹配的服务ID对应的服务实例数量是否大于等于请求的服务实例数量,若是,在上述建立的云ID与服务ID的对应关系中查找该相匹配的服务ID对应的云ID,得到相匹配的云ID,若否,则向发起云服务请求的云返回请求失败的信息,并结束。
(8)云中心管理节点查找上述相匹配的云ID对应的云通信地址,并查找该相匹配的服务ID对应的服务信息;根据查找到的云通信地址向上述相匹配的云发送启动服务的指令,该指令中包含查找到的服务信息,并包含云服务请求中包含的服务实例数量。
(9)云中心管理节点判断请求的服务信息对应的服务ID与上述相匹配的服务ID是否存在对应的输入转化函数的地址,若否,则根据上述查找到的云通信地址向上述相匹配的云发送请求处理的数据,若是,则根据对应的输入转化函数的地址调用函数,将请求处理的数据进行转化,根据上述查找到的云通信地址向所述相匹配的云发送转化后的请求处理的数据。
(10)云根据启动服务的指令启动相应数量的服务实例,对上述请求处理的数据进行处理,并向云中心管理节点返回处理结果数据。
(11)云中心管理节点接收上述查找到云发送的处理结果数据;
判断请求的服务信息对应的服务ID与上述相匹配的服务ID是否存在对应的输出转化函数的地址,若否,向发起云服务请求的云发送处理结果数据,若是,则根据对应的输出转化函数的地址调用函数,将处理结果数据进行转化,向发起云服务请求的云发送转化后的处理结果数据。
如图2所示,在一个实施例中,一种多云之间的云服务调度***,包括接收模块10、匹配服务信息构建模块20、匹配云查找模块30和服务请求调度模块40,其中:
接收模块10用于接收各云发送的注册信息,注册信息包含云具有的服务的服务信息。
匹配服务信息构建模块20用于根据注册信息建立云之间相互匹配的服务的对应关系。即,若第一云的第一服务与第二云的第二服务相互匹配,则匹配服务信息构建模块20建立第一服务与第二服务的对应关系。
在一个实施例中,服务信息包括服务功能内容信息;如图3所示,匹配服务信息构建模块20包括标识分配模块210、对应关系建立模块220和功能内容匹配模块230,其中:
标识分配模块210用于为云分配云ID,并为云具有的各项服务分配服务ID。
对应关系建立模块220用于建立云ID与服务ID的对应关系以及服务ID与服务信息的对应关系。
功能内容匹配模块230用于将各云之间具有的服务功能内容信息进行对比,获取相互匹配的服务功能内容信息。
在一个实施例中,功能内容匹配模块230可将两个进行对比的服务功能内容信息进行分词,比较两个服务功能内容信息是否存在相同词语,获取两个服务功能内容信息的词语相同率,若词语相同率达到预设值,则判定两个服务功能内容信息相互匹配。
对应关系建立模块220还用于建立相互匹配的服务功能内容信息对应的服务ID之间的对应关系,得到相互匹配的服务ID之间的对应关系。
接收模块10还用于接收某云发送的云服务请求。
匹配云查找模块30用于查找具有与该云服务请求中所请求的服务相匹配的服务的云,得到相匹配的云。
在一个实施例中,云服务请求中包含请求的服务信息;匹配云查找模块30查找请求的服务信息对应的服务ID,在上述建立的相互匹配的服务ID之间的对应关系中查找与该服务ID相匹配的服务ID,并在上述建立的云ID与服务ID的对应关系中查找该相匹配的服务ID对应的云ID,得到相匹配的云ID。
在一个实施例中,接收模块10还用于接收云发送的可启动服务实例数量信息,可启动服务实例数量信息包括服务信息与该服务信息对应的服务实例数量组成的数对;对应关系建立模块220还用于记录服务信息对应的服务ID与该服务信息对应的服务实例数量之间的对应关系。
本实施例中,匹配云查找模块30用于在上述建立的相互匹配的服务ID之间的对应关系中查找与该服务ID相匹配的服务ID之后,选取查找到相匹配的服务ID中服务实例数量最大的服务ID作为相匹配的服务ID,判断该相匹配的服务ID对应的服务实例数量是否大于等于请求的服务实例数量,若是,则执行在上述建立的云ID与服务ID的对应关系中查找所述相匹配的服务ID对应的云ID的步骤,若否,则向发起云服务请求的云返回请求失败的信息。
服务请求调度模块40用于将云服务请求调度到相匹配的云。
在一个实施例中,云服务请求中还包含请求的服务实例数量;上述注册信息还包括云通信地址;对应关系建立模块220还用于建立云ID与云通信地址的对应关系。
如图4所示,服务请求调度模块40包括查找模块410和指令调度模块420,其中:
查找模块410用于查找上述相匹配的云ID对应的云通信地址,并查找该相匹配的服务ID对应的服务信息。
指令调度模块420用于根据查找到的云通信地址向上述相匹配的云发送启动服务的指令,该指令中包含查找到的服务信息,并包含云服务请求中包含的服务实例数量。
在一个实施例中,服务信息还包括服务的输入数据格式;如图5所示,匹配服务信息构建模块20还包括数据格式匹配模块240和转化函数获取模块250,其中:数据格式匹配模块240用于将相互匹配的服务功能内容信息对应的输入数据格式之间进行对比。转化函数获取模块250用于若两个输入数据格式不同,则获取将两个输入数据格式转化成相同格式的输入转化函数的地址。对应关系建立模块220还用于建立相互匹配的服务功能内容信息对应的服务ID、输入转化函数的地址的对应关系。
云服务请求还包括请求处理的数据。
如图6所示,服务请求调度模块40还包括输入数据调度模块430,用于判断请求的服务信息对应的服务ID与上述相匹配的服务ID是否存在对应的输入转化函数的地址,若否,则根据上述查找到的云通信地址向上述相匹配的云发送请求处理的数据,若是,则根据对应的输入转化函数的地址调用函数,将请求处理的数据进行转化,根据上述查找到的云通信地址向上述相匹配的云发送转化后的请求处理的数据。
在一个实施例中,服务信息还包括服务的输出数据格式;数据格式匹配模块240还用于将相互匹配的服务功能内容信息对应的输出数据格式之间进行对比。转化函数获取模块250还用于若两个输出数据格式不同,则获取将两个输出数据格式转化成相同格式的输出转化函数的地址。对应关系建立模块220还用于建立相互匹配的服务功能内容信息对应的服务ID、输出转化函数的地址的对应关系。
接收模块10还用于接收查找到云发送的处理结果数据;上述多云之间的云服务调度***还包括处理结果调度模块(图中未示出),用于将处理结果数据返回给发起云服务请求的云。在一个实施例中,处理结果调度模块用于判断请求的服务信息对应的服务ID与上述相匹配的服务ID是否存在对应的输出转化函数的地址,若否,向发起云服务请求的云发送处理结果数据,若是,则根据对应的输出转化函数的地址调用函数,将处理结果数据进行转化,向发起云服务请求的云发送转化后的处理结果数据。
上述多云之间的云服务调度方法和***,预先根据各云发送的注册信息建立云之间具有的相互匹配的服务的对应关系,当接收到某云发送的云服务请求时,则可将该云服务请求调度到可提供匹配的云服务的云,从而可协调不同的云共同合作完成云服务,提高云之间的资源共享率,从而提高网络资源利用率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。