一种序列QoS驱动的服务集成方法与流程

文档序号:23815702发布日期:2021-02-03 13:25阅读:115来源:国知局
一种序列QoS驱动的服务集成方法与流程
一种序列qos驱动的服务集成方法
技术领域
[0001]
本发明涉及服务集成技术领域,特别涉及一种序列qos驱动的服务集成方法。


背景技术:

[0002]
目前,越来越多的企业、组织或个人将拥有的物理资源以服务的形式发布到互联网中。服务供应商根据业务流程划分将服务资源虚拟化,构建独立的服务模块。这些模块常常以应用程序或者api的形式出现,并且可在环境中独立部署、运行与管理。用户只需通过轻量的应用软件、接口或者api(application programming interface)即可调用具备相应功能的服务。然而由于服务提供商提供的服务功能有限,很多情况下单一服务可能无法满足用户的功能需求,此时需要在功能有限的服务集合中进行有效的集成以满足用户的功能需求,并且保证组合后的服务具备良好的服务质量(quality of service,qos),但是依靠用户解决服务集成问题具有一定的挑战。
[0003]
现实世界中服务在集成过程中因业务功能不同而具备多种执行顺序,例如顺序执行、并发执行和顺序、并发混合执行。为了更好地进行求解服务集成问题,许多学者已给出了并行服务串行化的解决方法。因此,只考虑顺序执行的服务序列。如图1所示,在一个服务流程中,每一个服务簇对应于一任务节点t
i
,i∈[1,5],每一任务节点t
i
对应一候选服务集合t
i
,即每一服务簇对应一候选服务集合。为了满足用户服务需求,应从每一任务节点中调度一具体服务实例,使最终若干原子服务组成的组合服务能够为用户提供单一原子服务无法提供的功能。
[0004]
如图1所示,由于候选服务集合内服务实例不唯一,导致产生多种集成方式,对应多个服务实例序列。为了得到最佳的服务序列集合,该方案同样采用服务质量作为区分服务序列的依据。但与原子服务的不同之处在于,服务序列的服务质量不能直接将参与其组成的各原子服务的服务质量单独考虑并直接进行处理。首先,在服务质量各特征属性的运算单位不同引起的数据“淹没”问题及用户偏好问题未能给出完整的解决方法,其次,许多集成方法适用于小的业务领域,在复杂大规模的服务集成过程的效率与服务质量不尽人意。


技术实现要素:

[0005]
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
[0006]
为此,本发明的一个目的在于提出一种序列qos驱动的服务集成方法,该方法可以提高服务集成算法的求解质量与求解速率。
[0007]
为达到上述目的,本发明实施例提出了序列qos驱动的服务集成方法,包括以下步骤:步骤s1,预设序列组合流程图,选取服务质量qos属性特征;步骤s2,处理所述服务质量qos属性特征,得到服务序列sc的初始向量cqos,并将所述初始向量cqos归一化处理,得到标准化向量cqos’,进而计算服务分数scorecqos’;步骤s3,利用skyline计算在所述预设序列组合流程图中任务节点对应的各候选服务对象数据库中抽取出不被其他任何候选服务
对象支配的数据对象子集合,将所述数据对象子集合作为蚁群算法求解的初始搜索空间;步骤s4,根据所述蚁群算法求解所述初始搜索空间中最优解对应的分配方案。
[0008]
本发明实施例的序列qos驱动的服务集成方法,通过针对业务序列集成中的服务质量计算方法给出完整定义,解决传统服务集成问题中的数据“淹没”问题和用户对于qos的不同属性有不同偏好的问题;基于skyline的蚁群算法,提高了服务集成算法的求解质量与求解速率。
[0009]
另外,根据本发明上述实施例的序列qos驱动的服务集成方法还可以具有以下附加的技术特征:
[0010]
进一步地,在本发明的一个实施例中,所述服务质量qos属性特征包括响应时间、可用性、吞吐量和成功率。
[0011]
进一步地,在本发明的一个实施例中,所述步骤s2中,基于所述预设序列组合流程图,分别计算所述服务质量qos属性特征中的响应时间、可用性、吞吐量和成功率,得到所述服务序列sc的初始向量cqos。
[0012]
可选地,在本发明的一个实施例中,所述响应时间为从开始节点到终止节点所经过的各原子服务调用的响应时间之和;所述可用性为从开始节点到终止节点所经过的各个原子服务可用性的乘积;所述吞吐量为从开始节点到终止节点所经过的各原子服务吞吐量的最小值;所述成功率为从开始节点到终止节点所经过的各原子服务调用成功的成功率乘积。
[0013]
进一步地,在本发明的一个实施例中,所述步骤s2中初始向量cqos归一化处理过程为:根据所述服务质量qos属性特征,规定所述可用性、所述吞吐量和所述成功率为正面属性特征,规定所述响应时间为正负面属性特征;根据归一化策略分别进行正面qos归一化与负面qos归一化,获得标准化的向量cqos’;根据用户偏好设置和所述标准化的向量cqos’计算得到所述服务分数scorecqos’。
[0014]
进一步地,在本发明的一个实施例中,所述蚁群算法包括觅食规则、最优解计算规则和信息素更新原则。
[0015]
进一步地,在本发明的一个实施例中,所述步骤s4包括:步骤s401,基于所述觅食规则为所述初始搜索空间中每一任务节点选择一个具体的服务实例;步骤s402,当将所有任务节点分配服务实例完成后,基于所述最优解计算规则,利用服务分数scorecqos’衡量当前服务组合方案的质量;迭代执行步骤s401直至所有蚂蚁均求解得到一种分配方式与对应的服务分数scorecqos’,即所述最优解对应的分配方案;步骤s404,通过所述最优解决对应的分配方案,基于所述信息素更新原则进行信息素更新。
[0016]
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0017]
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0018]
图1是服务业务序列示例图;
[0019]
图2是本发明一个实施例的序列qos驱动的服务集成方法的流程图;。
[0020]
图3是本发明一个实施例的蚁群算法求解流程图;
[0021]
图4是本发明一个具体实施例的蚁群算法aco、skyline结合蚁群算法skylineaco、强化学习方法rl和改进粒子群算法mpso的运行时间柱状对比图;
[0022]
图5是本发明一个具体实施例的skyline计算时间柱状示意图;
[0023]
图6是本发明一个具体实施例的蚁群算法aco、skyline结合蚁群算法skylineaco、强化学习方法rl和改进粒子群算法mpso的求解质量折线对比图;
[0024]
图7是本发明一个具体实施例的skyline结合蚁群算法skylineaco与强化学习方法rl求解质量对比图;
[0025]
图8是本发明一个具体实施例的蚁群算法aco、skyline结合蚁群算法skylineaco、强化学习方法rl和改进粒子群算法mpso的任务节点数为10的迭代次数敏感性对比图;
[0026]
图9是本发明一个具体实施例的蚁群算法aco、skyline结合蚁群算法skylineaco、强化学习方法rl和改进粒子群算法mpso的任务节点数为20的迭代次数敏感性对比图。
具体实施方式
[0027]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0028]
下面参照附图描述根据本发明实施例提出的序列qos驱动的服务集成方法。
[0029]
图2是本发明一个实施例的序列qos驱动的服务集成方法的流程图。
[0030]
如图2所示,该序列qos驱动的服务集成方法包括以下步骤:
[0031]
在步骤s1中,预设序列组合流程图,选取服务质量qos属性特征。
[0032]
需要说明的是,本发明实施例中选择的服务质量qos属性特征为响应时间(responsetime)、可用性(availability)、吞吐量(throughput)、成功率(successability),但并不限于此,本领域技术人员可根据实际需求进行调整。
[0033]
在步骤s2中,处理服务质量qos属性特征,得到服务序列sc的初始向量cqos,并将初始向量cqos归一化处理,得到标准化向量cqos’,进而计算服务分数scorecqos’。
[0034]
具体而言,为了描述服务序列的qos,本发明实施例将原子服务s
ij
的qos表示为向量qos(qos
responsetime
,qos
availability
,qos
throughput
,qos
successability
),i代表任务节点编号,j代表任务节点i对应的候选服务结合内服务实例编号。例如任选s
11
∈t1,s
21
∈t2,s
31
∈t3,s
41
∈t4,s
51
∈t5,则以s
11
、s
21
、s
31
、s
41
和s
51
组成一服务序列sc1。服务序列sc的qos表示为cqos(cqos
responsetime
,cqos
availability
,cqos
throughput
,cqos
successability
),其各项计算方法如下:
[0035]
响应时间:预设序列组合流程图,其组合服务响应时间为从开始节点到终止节点所经过的各原子服务调用的响应时间之和,则组合服务的响应时间cqos
responsetime
由公式(1)计算。
[0036][0037]
其中,n表示顺序组合服务涉及的原子服务数量,即任务节点个数,s
ij
代表第i个任务节点对应的候选服务集合中编号为j的服务实例,j大小取决于候选服务集合内实例个数。
[0038]
可用性:预设序列组合流程图,其组合服务可用性为从开始节点到终止节点所经过的各个原子服务可用性的乘积,由公式(2)计算。
[0039][0040]
其中,n表示顺序组合服务涉及的原子服务数量,即任务节点个数,s
ij
代表第i个任务节点对应的候选服务集合中编号为j的服务实例,j大小取决于候选服务集合内实例个数。
[0041]
吞吐量:预设序列组合流程图,其组合服务吞吐量为从开始节点到终止节点所经过的各原子服务吞吐量的最小值,由公式(3)计算。
[0042]
cqos
throughput
=min(qos
throughput
(s
ij
)),i∈[1,n]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0043]
成功率:预设序列组合流程图,其组合服务成功率为从开始节点到终止节点所经过的各原子服务调用成功的成功率乘积,由公式(4)计算。
[0044][0045]
进一步地,在本发明的一个实施例中,步骤s2中初始向量cqos归一化处理过程为:
[0046]
根据服务质量qos属性特征,规定可用性、吞吐量和成功率为正面属性特征,规定响应时间为正负面属性特征;
[0047]
根据归一化策略分别进行正面qos归一化与负面qos归一化,以将初始向量cqos标准化,得到服务对象集合cqos’。
[0048]
具体而言,经上述步骤计算可得到服务序列sc的初始向量cqos(cqos
responsetime
,cqos
availability
,cqos
throughput
,cqos
successability
),由cqos计算服务序列聚合值时,由于不同特征取值范围不同,为了防止较大范围数据致使较小范围数据“淹没”,需将cqos值进行标准化,将其归一化至[0,1]范围内。根据服务质量qos各属性特征,可用性、吞吐量、成功率为正面的qos属性特征,响应时间为负面属性特征,归一化策略分为正面qos归一化与负面qos归一化,其归一化公式如下公式(5)与公式(6)所示:
[0049]
正面:
[0050]
负面:
[0051]
需要说明的是,服务序列其cqos值在归一化过程中所涉及的cqos
max
与cqos
min
为所有可能的组合策略所对应的服务序列的cqos值中的最大值与最小值。以图1为例,任务节点为5个,假设每个任务节点对应的候选服务均为100个,则组合策略共100*100*100*100*100种,对应1005个组合服务,产生1005个cqos值,以响应时间为例,cqos
responsetimemax
为这1005个组合服务中cqos中响应时间的最大值,cqos
responsetimemin
为这1005个服务序列中cqos中响应时间最小值。
[0052]
考虑到每个任务节点对应的候选服务集合可能较大,不可能构造所有可能的组合
策略来计算全部的cqos以找到cqos
max
与cqos
min
,因此本发明实施例提出以下计算方法来求解各个qos属性的cqos
max
与cqos
min

[0053]
首先计算每个候选服务集合的qos
max
与qos
min
。仍以图1的工作流为例,共有5个候选服务集合t1、t2、t3、t4和t5,分别计算候选服务集合内各个属性值的qos
max
与qos
min
,经求解每个qos属性特征得到n个最大值与n个最小值,n为候选服务集合的个数,在此为5,根据此求解结果计算cqos
max
与cqos
min
,各属性特征计算方法如下。
[0054]
响应时间:根据候选服务集合t
i
计算得到响应时间最大值qos
responsetimemaxi
与响应时间最小值qos
responsetimemini
,则组合服务序列最大响应时间为各候选服务集合内的原子服务最大响应时间之和,组合服务序列最小响应时间为各候选服务集合内的原子服务最小响应时间之和,则cqos
responsetimemax
与cqos
responsetimemin
计算方法如公式(7)所示,其中i为任务节点编号。
[0055][0056]
可用性:根据候选服务集合t
i
计算得到可用性最大值qos
availabilitymaxi
与可用性最小值qos
availabilitymini
,则组合服务序列可用性最大值为各候选服务集合内的原子服务最大可用性之积,组合服务序列可用性最小值为各候选服务集合内的原子服务最小可用性之积,cqos
availabilitymax
与cqos
availabilitymin
计算如公式(8)所示。
[0057][0058]
吞吐量:根据候选服务集合t
i
计算得到吞吐量最大值qos
throughputmaxi
与吞吐量最小值qos
throughputmini
,则组合服务序列最大吞吐量为qos
throughputmaxi
中的最大值,组合服务序列最小吞吐量为qos
throughputmini
中的最小值,cqos
throughputmax
与cqos
throughputmin
计算如公式(9)所示。
[0059][0060]
成功率:根据候选服务集合t
i
计算得到qos
successabilitymaxi
与qos
successabilitymini
,组合服务序列成功率最大值与最小值计算方法与可用性相似,cqos
successabilitymax
与cqos
successabilitymin
计算如公式(10)所示。
[0061][0062]
经上述步骤初始组合服务的cqos(cqos
responsetime
,cqos
availability
,cqos
throughput
,cqos
successability
)标准化为cqos’(cqos
responsetime
',cqos
availability
',cqos
throughput
',
cqos
successability
')。考虑到用户对于qos的不同属性有不同偏好,给定一qos特征(qos1,qos2,qos3,...,qos
m
),根据用户偏好设定qos权重p(p1,p2,p3,...,p
m
),表示用户对于qos特征的关注程度,其满足约束如公式(11)所示。
[0063][0064]
根据用户偏好设置与cqos’经公式(12)计算得到cqos’聚合值,即服务分数scorecqos’。
[0065][0066]
在步骤s3中,利用skyline计算在预设序列组合流程图中任务节点对应的各候选服务对象数据库中抽取出不被其他任何候选服务对象支配的数据对象子集合,将数据对象子集合作为蚁群算法求解的初始搜索空间。
[0067]
需要说明的是,skyline计算是从一个数据库中抽取出不被其他任何数据对象支配的数据对象集合,以在多目标决策、数据挖掘、数据可视化等方面得到了潜在应用,其中经典例子就是旅馆选择问题,即在大量旅馆信息中找到一个离海边既近又便宜的旅馆。本质上,skyline计算是数据抽取方法,其反应了数据集合的内部特征。
[0068]
对于一个具备多维度qos信息的服务对象,即服务对象的qos属性特征不唯一,可将其看成具有一个多维qos的数据对象,通过比较不同的数据对象来选择较优的数据对象,从而为下一步的服务决策奠定基础。本发明使用skyline计算的目的就是通过从具备多维度服务质量的服务对象集合中抽取出没有被其他数据对象支配的数据对象子集合,即以缩减服务搜索空间,提高下一步服务组合决策搜索效率。
[0069]
举例而言,以服务s1与s2为例,其服务质量分别为qos1(qos1,qos2,qos3,qos4)和qos2(qos1,qos2,qos3,qos4),如果s1的服务质量在各维度上均优于或等于s2,并且至少在一个维度上s1优于s2,则称s1支配s2。
[0070]
对于正面的qos,其形式化定义如公式(13)所示,其中m为服务质量维度。
[0071][0072]
对于负面的qos,形式化定义如公式(14)所示。
[0073][0074]
通过skyline计算,在任务节点对应的各候选服务对象数据库中抽取出不被其他任何候选服务对象支配的服务对象,从而构成skyline服务,作为蚁群算法求解的初始搜索空间。
[0075]
在步骤s4中,根据蚁群算法求解初始搜索空间中最优解对应的分配方案。
[0076]
需要说明的是,蚁群算法的灵感来源于自然界中蚂蚁觅食的行为,其基本原理为蚂蚁在觅食的路途中会释放与路径信息有关的信息素,以供所有蚂蚁下次遇到此路口时提供选择依据,在前进过程中,碰到没走过的路口则随机选择,否则选择信息素浓度最大的路口,最终,最优路径上的信息素浓度越来越大,蚁群找到最优觅食路径。
[0077]
蚁群算法在求解最佳服务序列的过程中涉及以下几个重要过程。
[0078]
觅食规则:蚂蚁觅食每次经过路口进行选择的过程相当于从候选服务集合中选择
具体的服务实例,其服务实例选择规则主要有两类,若当前蚂蚁编号在此任务节点的蚂蚁编号临界点之前,采用最大信息素分配,蚂蚁将会选择信息素浓度最高的服务实例,若在临界点之后,则随机选择服务实例。
[0079]
例如:taskcritivalpoint[i]=10表示第i个任务节点的蚂蚁编号临界点为10,在蚂蚁在第i个任务节点选择服务实例时,若蚂蚁编号在10号之前(包括10号)则选择最大信息素浓度的服务实例,若蚂蚁编号在10号之后,则在候选服务集合内随机选择服务实例。
[0080]
最优解计算规则:一只蚂蚁在为所有任务节点均选择了服务实例之后,则得到一种分配方案,即一种组合服务方案,以标准化后的组合服务分数scorecqos’作为衡量分配方案质量的标准,其中,scorecqos’分数值越高代表分配方案越好。
[0081]
信息素更新原则:信息素在蚂蚁进行服务实例选择时起重要作用,例如phenomonematrix[i][j]=0.1代表在第i个任务节点选择第j个服务实例的信息素浓度为0.1。每次迭代结束后进行信息素更新,所有信息素浓度均衰减p%,将本次迭代中最优解对应的信息素浓度增加q%。
[0082]
因此,本发明步骤s4具体包括:
[0083]
步骤s401,基于觅食规则为初始搜索空间中每一任务节点选择一个具体的服务实例;
[0084]
步骤s402,当将所有任务节点分配服务实例完成后,基于最优解计算规则,利用服务分数scorecqos’衡量当前服务组合方案的质量;
[0085]
步骤s403,迭代执行步骤s401直至所有蚂蚁均求解,得到一种分配方式与对应的服务分数scorecqos’,即所述最优解对应的分配方案;
[0086]
步骤s404,通过最优解决对应的分配方案,基于信息素更新原则进行信息素更新。
[0087]
也就是说,如图3所示,使用蚁群算法求解最佳scorecqos’对应的组合服务过程为:基于觅食规则为每一任务节点选择一具体的服务实例,当为所有任务节点分配服务实例完毕后,基于最优解计算规则衡量本次分配方案即服务组合方案的质量,重复上述过程直至所有蚂蚁均求解得到一种分配方式与对应的方案质量,通过最优解对应的分配方案基于信息素更新原则进行信息素更新,至此完成一次迭代。
[0088]
由此,本发明实施例将大规模的候选服务集合使用skyline计算进行服务缩减,进行局部优化,以缩小蚁群算法的求解规模,提高求解速率与质量,之后再按照组合服务的qos使用蚁群算法进行全局寻优,找到具有最佳qos的服务实例序列解决方案。
[0089]
下面提出一个具体实施例对本发明的序列qos驱动的服务集成方法进一步说明。
[0090]
本具体实施例采用国际公开数据集:qws数据集进行算法有效性的实验验证。qws数据集是服务计算领域研究人员普遍认可的数据集,本具体实施例在数据集上保留响应时间、可用性、成功率和吞吐量4个qos属性信息。
[0091]
具体实施例中设计了5、10、15、20及25个任务节点的工作流模板模拟不同的组合服务复杂度,每个任务节点候选服务为100个,分别测试了蚁群算法(aco)、skyline结合蚁群算法(skylineaco)、强化学习方法(rl)以及改进粒子群算法(mpso)求解组合服务解决方案的过程,分别在算法的执行时间、组合服务求解质量、迭代次数等方面进行了四个算法的对比实验,以公式(12)的scorecqos’作为组合服务求解质量的评价标准,分数越高代表求解质量越好。
[0092]
(1)算法执行时间
[0093]
设定aco、skylineaco、rl以及mpso迭代次数均为100,aco、skylineaco的蚁群与mpso的粒子群大小设为50,算法的执行时间对比结果如图4所示。skyline计算时间如图5所示。
[0094]
在相同迭代次数设置下,随着任务节点数的增加,算法的执行时间显著增加。其中,aco算法平均执行时间明显高于其他方法,由此可见,本发明提出的skylineaco算法能够显著降低原aco算法的执行时间。其次,rl算法平均执行时间最低,skylineaco略高于mpso算法。
[0095]
(2)组合服务求解质量在图4的实验基础上收集了四个算法在不同任务节点数下的scorecqos’,并进行多次实验求取平均值作为算法最终的scorecqos’值,实验对比结果如图6所示。
[0096]
由图6可知,在不同任务节点数的实验中,本发明所提出的skylineaco算法求解质量均为最优,skylineaco能够显著提高原aco算法的求解质量。在任务节点数为10、15与20的实验对比中,其求解质量对比效果明显,skylineaco求解结果质量优于mpso求解结果质量,rl求解质量最差。随着任务节点数的增加,求解质量整体呈现下降趋势。
[0097]
综合图4及图6的对比结果,可知skylineaco在算法执行时间以及算法求解质量方面均优于aco算法,在算法执行时间上,rl算法执行时间最短,在算法求解质量方面,skylineaco求解质量最高。
[0098]
为此,为了进一步对比skylineaco与rl算法,采取增加rl算法迭代次数的方式增加rl算法的执行时间,使其与skylineaco算法执行时间大致相同,从而对比两个算法的求解质量。实验结果如图7所示,skylineaco算法求解质量优于rl算法求解质量。
[0099]
(3)迭代次数敏感性
[0100]
为了比较迭代次数对求解质量的影响,实验分别收集了四个算法在50、100、150、200及250次迭代次数下的求解质量,每个算法在指定迭代次数下进行10次实验,求取平均组合服务分数作为求解质量标准。图8与图9分别为任务节点数为10与任务节点数为20的实验结果。
[0101]
综合图8与9实验结果发现,rl算法对迭代次数最为敏感,随着迭代次数的增加,rl算法求解质量提升步幅最大,skylineaco算法次之,mpso改善较小,aco算法基本没有改善,推断aco算法陷入了局部最优解。
[0102]
综上,实验证明使用skyline计算改进的蚁群算法能够显著提升算法的执行效率,在求解质量上优于对比方法,因此所提出的skylineaco算法能够快速地找到全局最佳score
cqos’及其对应的组合服务方案。
[0103]
根据本发明实施例提出的序列qos驱动的服务集成方法,通过针对业务序列集成中的服务质量计算方法给出完整定义,解决传统服务集成问题中的数据“淹没”问题和用户对于qos的不同属性有不同偏好的问题;基于skyline的蚁群算法,提高了服务集成算法的求解质量与求解速率。
[0104]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三
个等,除非另有明确具体的限定。
[0105]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0106]
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1