CN109783303A - 一种相容性判定方法、装置及计算机可读存储介质 - Google Patents

一种相容性判定方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN109783303A
CN109783303A CN201711123444.4A CN201711123444A CN109783303A CN 109783303 A CN109783303 A CN 109783303A CN 201711123444 A CN201711123444 A CN 201711123444A CN 109783303 A CN109783303 A CN 109783303A
Authority
CN
China
Prior art keywords
service
compatible
member service
compatibility
incompatible
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711123444.4A
Other languages
English (en)
Other versions
CN109783303B (zh
Inventor
刘芳
孙芳杰
陈亮
朱东昭
焦丽红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Group Heilongjiang Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Heilongjiang Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Group Heilongjiang Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201711123444.4A priority Critical patent/CN109783303B/zh
Publication of CN109783303A publication Critical patent/CN109783303A/zh
Application granted granted Critical
Publication of CN109783303B publication Critical patent/CN109783303B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种相容性判定方法,包括:对成员服务进行相容性分析;判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;根据所述补充相容要素对所述不相容成员服务进行适配。本发明还公开了一种相容性判定装置和计算机可读存储介质。

Description

一种相容性判定方法、装置及计算机可读存储介质
技术领域
本发明涉及电子通信技术领域,尤其涉及一种相容性判定方法、装置及计算机可读存储介质。
背景技术
随着面向服务的架构(Service-Oriented Architecture,SOA)与云计算技术的普及应用,面向服务体系架构满足了新一代系统架构能力开放的诉求。企业为了满足市场业务不断变更的需要,使企业内外部异构云应用得到有效、快速整合,将原有异构系统服务化根据公共规约集成为业务功能迭代的、满足需求变动的大型增值服务,即web服务组合。组合软件系统内各成员彼此相容是组合系统正确执行的必要条件,保证了服务彼此能够以组合编排规约按正确的时序发送和接收消息。成员服务高效相容是企业级服务组合在演化或设计阶段亟待解决的新的技术挑战。
为解决已有服务有效增值,对组合软件系统内各服务相容性分析的技术方案主要有:1、面向服务的SOA系统的服务行为相容性分析。根据服务编制流程和伙伴服务之间的操作语义为服务组合建模从而完成成员服务的行为相容性判定,该方法适用于服务内部流程可见的设计阶段,例如采用SOA架构企业订单平台,内部子系统发生变更或引入新系统,需要判定其内部流程行为逻辑相容性用以组合成大粒度软件系统。2、组合软件系统内部多个服务间演化的相容性判定。通过编排层面的端口、流程结构、行为三阶段相容性判定,实现演化阶段多成员服务相容性判定。例如订单系统多个企业内外部服务同时变更或新入,在编排层对服务公约三要素预判定,实现多服务的协同判定。
对于上述异构服务系统的成员服务间相容性分析与判定方案,其主要瓶颈在于以下几方面:
现有组合系统内部成员服务相容性分析效率低、开发成本提升,企业无法快速响应需求。例如,现有技术方案能够实现编排层面成员服务多要素的判定,一旦交互过程出现了判定不相容的情况,整个服务系统运行终止后仅返回成员服务间适配判定结果。例如,某团购电商平台其内部采用SOA架构引入了某第三方支付系统,在SOA系统联调过程中服务间的死锁、操作集合不一致等问题需要反复因为不同问题中断联调,没有自适应匹配和一次全流程呈现系统联调问题,造成了企业开发成本上升,降低了企业快速响应市场需求的效率。
因此,亟需一种相容性判定的技术方案,能够完成异构服务系统中各成员服务不相容情况的自适应调整,避免联调的中断。
发明内容
有鉴于此,本发明实施例希望提供一种相容性判定方法、装置及计算机可读存储介质,能够完成异构服务系统中各成员服务不相容情况的自适应调整,避免联调的中断。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种相容性判定方法,所述方法包括:
对成员服务进行相容性分析;
判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
根据所述补充相容要素对所述不相容成员服务进行适配。
上述方案中,所述对成员服务进行相容性分析包括:
调用所述成员服务的服务通信要素;
根据所述成员服务的服务通信要素对所述成员服务进行相容性分析。
上述方案中,所述根据所述成员服务的服务通信要素对所述成员服务进行相容性分析包括:
通过消息结构相容算法对所述服务通信要素中的消息结构进行消息结构的相容性分析,并通过推演动作相容算法对所述服务通信要素中的动作结构进行相容性分析。
上述方案中,所述方法还包括:
判断所述成员服务是否为自适应成员服务。
上述方案中,所述方法还包括:
根据相容调度类型从服务组合中选择自适应成员服务。
上述方案中,所述根据相容调度类型从服务组合中选择自适应成员服务包括:
当所述相容调度类型为第一调度类型时,选择所述服务组合中所有成员服务为自适应成员服务;
当所述相容调度类型为第二调度类型时,选择所述服务组合中部分成员服务为自适应成员服务;
当所述相容调度类型为第三调度类型时,根据接收的选择操作确定自适应成员服务。
本发明实施例还提供一种相容性判定装置,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行:
对成员服务进行相容性分析;
判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
根据所述补充相容要素对所述不相容成员服务进行适配。
上述方案中,所述处理器用于运行所述计算机程序时,执行所述对成员服务进行相容性分析包括:
调用所述成员服务的服务通信要素;
根据所述成员服务的服务通信要素对所述成员服务进行相容性分析。
上述方案中,所述处理器用于运行所述计算机程序时,执行所述根据所述成员服务的服务通信要素对所述成员服务进行相容性分析包括:
通过消息结构相容算法对所述服务通信要素中的消息结构进行消息结构的相容性分析,并通过推演动作相容算法对所述服务通信要素中的动作结构进行相容性分析。
上述方案中,所述处理器用于运行所述计算机程序时,还执行:判断所述成员服务是否为自适应成员服务。
上述方案中,所述处理器用于运行所述计算机程序时,还执行:根据相容调度类型从服务组合中选择自适应成员服务。
上述方案中,所述处理器用于运行所述计算机程序时,执行所述根据相容调度类型从服务组合中选择自适应成员服务包括:
当所述相容调度类型为第一调度类型时,选择所述服务组合中所有成员服务为自适应成员服务;
当所述相容调度类型为第二调度类型时,选择所述服务组合中部分成员服务为自适应成员服务;
当所述相容调度类型为第三调度类型时,根据接收的选择操作确定自适应成员服务。
本发明实施例还提供一种相容性判定装置,所述装置包括:分析模块、补充模块和适配模块;其中,
所述分析模块,用于对成员服务进行相容性分析;
所述补充模块,用于判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
所述适配模块,用于根据所述补充相容要素对所述不相容成员服务进行适配。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。
本发明实施例的相容性判定方法、装置及计算机可读存储介质,对成员服务进行相容性分析;判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;根据所述补充相容要素对所述不相容成员服务进行适配。如此,通过相容性分析确定不相容成员服务时,在给出表征成员服务不相容的不相容标识的同时,并确定解决成员服务不相容问题的补充相容要素,通过补充相容要素对不相容成员服务进行适配,实现不相容服务之间实现相容,从而完成各成员服务不相容情况的自适应调整,保证联调的不中断,降低成员服务演化所带来的全局判定成本消耗以及提升判定准确率。
附图说明
图1为本发明实施例一提供的相容性判定方法的流程示意图;
图2为本发明实施例二提供的相容性判定方法的流程框架示意图;
图3为本发明实施例三提供的成员服务调度的流程示意图;
图4为本发明实施例三提供的成员服务相容性分析的流程示意图;
图5为本发明实施例三提供的消息结构相容算法的流程示意图;
图6为本发明实施例三提供的推演动作相容算法的流程示意图;
图7为本发明实施例四提供的服务组合的业务流程示意图;
图8为本发明实施例五提供的一种相容性判定装置的结构示意图;
图9为本发明实施例六提供的一种相容性判定装置的结构示意图;
图10为本发明实施例六提供的另一种相容性判定装置的结构示意图。
具体实施方式
在本发明实施例中,对成员服务进行相容性分析;判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;根据所述补充相容要素对所述不相容成员服务进行适配。
下面结合附图对技术方案的实施作进一步的详细描述。
这里,对本发明实施例中相关的术语进行说明。
服务,是指服务组合的参与者,即成员服务,服务可表示为service=(name,port,operation),其中,name是成员服务名,port是成员服务端口集合,operation是服务的操作集合。operation包括fa(operation)、fm(operation)、fcha(operation)、fc(serviceα,serviceβ),其中,fa(operation)是操作包含的动作。fm(operation)是操作接收或发送的消息。fcha(operation)是操作使用的通道名。fc(serviceα,serviceβ)是服务组合中serviceα、serviceβ的交互通道。
服务通信要素是指服务组合全局规约的要素集合,定义通信要素PX={Ms,An},其中,Ms为消息结构,An为动作结构,PX为服务标识。
成员服务相容是指服务组合CWS,任意成员服务的服务通信要素PX={Ms,An}能够完全匹配,使得演化或设计阶段的服务组合CWS能够正确执行。
实施例一
本发明实施例提供一种相容性判定方法,如图1所示,所述方法包括:
S101、对成员服务进行相容性分析;
当业务增值或业务重组时,在原来的服务组合的基础上需要对服务组合进行添加或变更实现新的功能,是针对服务组合内某成员服务自身的演化,比如某电商服务原有接口为在线支付,新增加了货到付款功能。
当异构服务系统的服务组合增值或重组时,需要对异构服务系统的服务组合中的成员服务进行相容性分析,以判定各成员服务之间能否按照服务编排规约以正确的时序发送和接收消息。
当前的成员服务包括客户端服务、第三方支付服务和货运分拣中心服务时,物流分拣中心服务在原有先支付,后发货的交易模式基础上,又新引入星级客户信用度检查的快速付款模式,此时,在原来的服务组合CWS的基础上进行了演化,演化后的服务组合为CWS'。在演化后的服务组合CWS'中增加了星级客户信用度检查的快速付款模式,并添加了相关的检查信用、接收审核等状态。
对成员服务进行相容性判定包括:调用所述成员服务的服务通信要素;根据所述成员服务的服务通信要素对所述成员服务进行相容性判定。
这里,可通过代理服务进行相容性分析,代理服务独立于服务组合中成员服务,其在进行相容性分析时,并不需要存储各成员服务的内部流程,而只需要调用各成员服务的服务通信要素,根据调用的服务通信要素对成员服务进行相容性分析。其中,调用的服务通信要素包括:消息结构、动作结构、服务标识等信息。消息结构为成员服务间的交互通道进行交互的消息的结构,比如:消息结构Ms为Mes=(name,type,len,cMes),name为消息名称,type为消息结构类型,len为元素cMes包含子元素个数,子元素集合cMes={cMes1,cMes2,…,cMesn}。服务W的动作结构An可通过表示,表征存在动作a使服务的状态从状态t1到状态t'。
基于服务组合的演化进行相容性分析时,成员服务推演动作进程具有异步、并发等特征,基于一个功能涉及多个流程,因此,在流程中,在不同的时序涉及多个不同的成员服务的相容性分析,比如:在时序1,基于消息1的交互对成员服务1和成员服务2进行相容性分析,在时序2,基于消息2的交互对成员服务2、成员服务3和成员服务4进行相容性分析。
根据所述成员服务的服务通信要素对所述成员服务进行相容性分析包括:
通过消息结构相容算法对所述服务通信要素中的消息结构进行消息结构的相容性分析,并通过推演动作相容算法对所述服务通信要素中的推演动作进行相容性分析。
消息结构为成员服务的端口的静态要素,动作结构为成员服务的交互类的动态要素,从而在进行相容性分析时,对演化阶段服务编排层要素的归类重组,将静态要素和动态要素分开进行分析。静态要素较动态结构判定复杂度较低,可以根据企业不同的使用需求来定制优先判定要素,优先完成复杂度低的静态要素判定,降低后续复杂的动态要素判定运行成本。
在消息结构相容算法中,可通过对相容性分析的各成员服务的消息结构中的各元素进行依次判定,以判定是否相同,当各成员服务的消息结构的所有的元素相同时,各成员服务的消息结构相容,否则不相容。
通过推演动作相容算法对动作结构的相容性分析,确定成员的推演动作是否相容。成员服务推演动作是否相容描述了成员服务交互的通信时序问题,例如发送与接收消息产生死锁、当前消息无接收的成员服务。这里,可通过π演算实现推演动作相容算法。
当通过消息结构相容算法判断各成员服务相容且通过推演动作相容算法判断各成员服务的消息结构相容时,确定各成员服务相容;当通过消息结构相容算法判断各成员服务不相容或通过推演动作相容算法判断各成员服务的消息结构不相容时,确定成员服务不相容,此时,将该成员服务称为不相容成员服务。也就是说,在进行相容性分析时,只有当成员服务的消息结构相容和成员服务的动作结构相容两种相容条件同时满足时,确定成员服务相容,否则成员服务不相容。
S102、判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
通过相容性分析确定成员服务相容时,则输出相容标识;通过相容性分析确定成员服务不相容时,则输出不相容标识。这里,基于不同的时序对不同的成员服务进行相容性分析,因此,在输出包括相容标识和不相容标识形容性标识时,通过不同的标识来区分。比如:相容性标识为1,不相容标识为0。
当确定该相容性分析输出的相容性标识为不相容标识时,则确定该不相容成员服务的补充相容要素,这里,补充相容要素为实现不相容成员服务相容的补充信息,比如:在消息结构相容算法中,确定成员服务A和成员服务B的消息结构不相容,成员服务A的消息结构为消息结构A,成员服务B的消息结构为消息结构B,基于消息结构A与消息结构B不同,导致成员服务A发给成员服务B的消息无法进行识别,此时,对消息结构A和消息结构B进行分析,确定消息结构A相对于消息结构B的差异元素,将分析出的差异元素作为补充相容要素SAB,补充相容要素的确定方式可通过对不相容成员服务的消息结构或动作结构的分析得到,具体的分析方法这里不在赘述。
S103、根据所述补充相容要素对所述不相容成员服务进行适配。
在确定出补充相容元素后,通过补充相容元素的自适应匹配,对不相容成员服务进行适配,使得不相容成员服务相容。如上例,在消息结构A中添加补充相容要素SAB后的消息结构为自适应消息结构A',自适应消息结构A'和消息结构B相同,此时,成员服务A以自适应消息格式A'向成员服务B发送的消息成员服务B能够正确识别,实现成员服务A和成员服务B的消息结构的相容。
在根据所述补充相容要素对所述不相容成员服务进行适配的同时,可将补充相容要素输出在联调报告中,并在输出补充相容要素时,输出该补充相容要素对应的不相容成员服务,以及不相容的原因。
在本发明实施例中,还包括:判断所述成员服务是否为自适应成员服务。在本发明实施例中,可将成员服务分为自适成员服务和非自适应成员服务,其中,在确定不相容成员服务对应的补充相容要素时,当自适应成员服务为不相容成员服务时,确定该自适应成员服务为不相容服务时对应的补充相容要素。而对于非自适应成员服务,当非自适应成员服务为不相容成员服务时,则不对其补充相容要素进行分析。其中,可通过自适应标识来标识一个成员服务是否为自适应成员服务,在相容性分析的过程中,自适应标识始终跟随该成员服务。
这里,可根据相容调度类型从服务组合中选择自适应成员服务。具体的,当所述相容调度类型为第一调度类型时,选择所述服务组合中所有成员服务为自适应成员服务;当所述相容调度类型为第二调度类型时,选择所述服务组合中部分成员服务为自适应成员服务;当所述相容调度类型为第三调度类型时,根据接收的选择操作确定自适应成员服务。这里,能够相容调度类型为第三调度类型时,向用户提供相容选项,其中,相容选项可为各成员服务的标识,以接收用户的选择操作,根据用户的选择操作从成员服务中选择自适应成员服务。
在实际应用中,相容调度类型可布置包括上述三种相容调度类型,也可根据实际需求设置为其他的类型,其中,设置的类型可包括上述三种相容调度类型,也可不包括上述三种相容调度类型。
相容调度类型包括:第一调度类型、第二调度类型和第三调度类型,其中,第一调度类型也可称为完全委托,服务组合中的所有的成员服务为自适应成员服务,对服务组合中的所有成员服务进行不相容情况下的补充相容要素的分析;第二调度类型也可称为关联委托,服务组合中的部分成员服务为自适应成员服务,对服务组合中的部分成员服务进行不相容情况下的补充相容要素的分析;第三调度类型也可称为人工干预,所有的成员服务为非自适应成员服务,当成员服务为不相容成员服务时,不进行补充相容要素的分析。
通过不同的相容调度任务对服务组合进行不同的相容机制,从而根据成员服务实现成熟度、业务复杂程度等分类场景柔性设定了相容性判定调度任务分类,可根据不同业务验证需求与当前完成情况分类选择成员服务相容调度类型。
其中,相容调度类型可根据用户需求进行设置,当相容调度类型为第二调度类型,也就是关联委托时,对服务组合内部采用自适应的范围可以定制,从而可定制成员服务中不同的自适应成员服务的范围。
在本发明实施例中,在对成员服务进行相容性分析并确定当前成员服务不相容时,在输出不相容标识的同时可通过相容性分析确定不相容成员服务的补充相容要素,并通过相容补充要素对对应的不相容成员服务进行适配实现成员服务不相容情况下的自适应调整,实现不相容成员服务的相容,从而在联调过程中,通过补充相容要素的自适应实现不相容成员服务的相容,使得联调过程的每一个步骤都可以执行下去,不会因为联调过程中某一个状态的成员服务不相容导致联调过程的中断,并且能够将通过一次全流程呈现系统联调问题,降低了企业开发成本,提高了了企业快速响应市场需求的效率。进一步地,在进行相容性分析时,通过调用的成员服务的服务通信要素进行相容性分析,从而通过独立于服务组合的代理服务完成全局成员服务演化后的相容性判定与不相容情况的自适应适配,不需要完全复制增值业务的所有的业务信息的情况下实现相容性分析,减少了人为干预的同时自适应匹配相容的结果能够准确满足业务本原需求,降低了服务判定的集成部署成本,同时也兼顾了设计阶段要求。
实施例二
在本发明实施例中,通过流程框架对本发明实施例提供一种相容性判定方法进行进一步说明,流程框架图如图2所示,包括:相容性判定调度层和代理服务层。
在相容性判定调度层确定相容调度类型,相容调度类型包括完全委托、关联调度和人工干预三种相容调度类型,并将确定的相容调度类型发送至代理服务层。
代理服务层用于实现自适应的并发成员服务相容方法,具体的,根据相容性判定调度层所确定的相容调度类型自适应的并发成员服务相容方法。在并发成员服务相容方法时,通过消息结构相容算法对作为静态元素的消息结构进行相容性分析,并通过推演动作算法对作为动态元素的动作结构进行相容性分析。在图2中,消息结构1和消息结构2为消息结构算法中的输入参数,推演动作1和推演动作2为推演动作算法的输入参数。
需要说明的是,在图2中,通过消息结构相容算法对成员服务的消息结构进行相容性分析时,以消息结构1对应的成员服务1和消息结构2对应的成员服务2为例对成员服务进行说明,在实际进行消息结构形容算法时,成员服务的数量不受限制,且消息结构的数量同成员服务的数量。同样,通过推演动作相容算法对成员服务的推演动作进行相容性分析时,以推演动作1对应的成员服务1和推演动作2对应的成员服务2为例对成员服务进行说明,在实际进行消息结构形容算法时,成员服务的数量不受限制,且消息结构的数量同成员服务的数量,这里,动作结构为推演动作的具体结构。
本发明实施例提出的异构服务相容判定方法也可称为自适应成员服务相容CBOMS(Compatibility Based on Member Service)算法,如图2所示描述了实现自适应成员服务相容的系统架构。通过一个网上营业厅订单流程的应用案例来演示成员服务的自适应相容过程。成员服务推演动作进程具有异步、并发等特征,而Pi演算具备并发进程通信的移动性描述能力,采用Pi演算方法描述多并发成员服务进程的推演动作,并验证本提案的自适应成员服务相容方法与装置。
实施例三
在本发明实施例中,对本发明实施例提供的异构服务系统中的成员服务的相容性判定方法进行进一步说明。
这里,分别对本发明实施例中提供的异构服务相容性判定方法中的并发服务进程适配调度、自适应的并发成员服务相容方法、自适应成员服务消息结构相容方法和自适应成员服务推演动作相容方法进行分别进行说明。
1、并发服务进程适配调度
根据成员服务实现成熟度、业务复杂程度等分类场景柔性设定了相容性判定调度分类,包括:完全委托、关联委托、人工干预三种相容判定调度方式,根据不同业务验证需求与当前完成情况分类选择成员服务相容调度类型,这里,在实际应用中,可由用户根据不同业务验证需求与当前完成情况分类选择成员服务相容调度类型。这里,可设置默认类型为完全委托,此时,对成员服务判定过程中的不相容情况实现自适应相容。
完全委托是指服务组合发生演化时,成员服务间交互服务通信要素无法正确匹配,即服务成员不相容时,由代理服务完成缺失要素也就是补充相容要素的调用以完成自适应的服务组合持续演化正确完成执行,同时将自适应调整过的判定要素形成结果集合返回,帮助进一步分析成员服务间不相容的异常情况。判定要素是判定成员服务是否相容的要素,比如消息结构,是所有判定元素的集合;自适应调整过的判定要素为根据补充相容要素对判定要素进行补充后的要素。
关联委托实现了部分关注的成员服务的自适应相容,将部分成员服务添加到自适应成员服务集合,完成判定不相容情况的自适应相容。当服务组合在发生演化时,成员服务间交互服务通信要素无法正确匹配时,由代理服务完成编排规约包含的服务组合内若干个自适应的关联成员服务进行自适应的服务组合持续演化,同时代理服务将补充要素集合返回。
人工干预实现了完成了所有成员服务判定的人工选择,对于不相容情况会提供相容选项,这些相容选项包括成员服务选项,消息结构选项、推演动作选项等,通过用户对相容选择的选择确定进行相容性判定的成员服务、消息结构、推演动作等以确定相容性判定范围。人为干预做出选择后,按照选项可重新完成自适应的判定,从而更为准确的指导服务组合演化或设计阶段的相容性分析,为成员服务演化运行中提供满足业务需求的、正确有效的成员服务相容实现方法。
完全委托、关联委托与人工干预三类调度方式,分别承接后续自适应成员服务静态要素与动态要素相容,保障服务组合各成员服务能够依照具体调度方式进行演化阶段的正确有效执行。
在成员服务调度时,如图3所示,包括:
S301、获取相容调度类型;
通过Web视图接收用户设置的相容调度类型,这里,可向用户提供相容调度类型选项供用户选择。相容调度类型包括:完全委托、关联委托和人工干预。
S302、是否为完全委托?
确定S301中获取的相容调度类型是否为完全委托,是时执行S303,否则执行S304。
S303、自动相容适配;
确认所有的成员服务为自适应成员服务,对所有的成员服务进行自适应相容,并执行S308。
S304、是否为关联委托?
确定S301中获取的相容调度类型是否为关联委托,是时执行S305,否则执行S306。
S305、定制服务委托;
此时,根据成员服务的关联情况或用户重点关注的成员服务确定自适应成员,这里,自适应成员服务为服务组合中的部分自适应成员服务,并执行S308。
S306、人工干预;
此时,确定S301中获取的相容调度类型为人工干预。
S307、确定相容选项;
在相容选项中,可提供所有成员服务或部分成员服务的信息,使得用户在展示的成员信息中选择自适应成员服务,并基于用户的选择确定自适应成员服务。确定自适应成员服务后,执行S308。
S308、返回判定结果要素集合。
根据调度的类型确定自适应成员服务的范围后,对成员服务进行相容性分析,其中,自适应成员服务进行相容性分析后,确定不相容的情况下,返回不相容成员服务对应的补充相容要素,比如,类型不同导致消息结构不相容时新增的匹配类型等。其中,判定结果要素集合为所有不相容成员服务的补充相容要素的集合。
在实际应用中,可直接根据S301中获取的相容调度类型确定当前的相容调度类型。
2、自适应的并发成员服务相容方法
这里,成员服务W有t1、t2两个状态,若存在至少一个动作a,使为真,则t2为t1的子进程Psub(t1),成员服务W动作集合
在自适应相容方法,若则补充成员服务通信要素即若存在某动作y属于成员服务servicei的动作的集合,且其对称动作不属于成员服务的动作的集合,则将成员服务针对动作y的补充要素集合与当前补充要素集合PX合并为PX′。
CBOMS完成多个成员服务演化阶段自适应适配伙伴服务的实现方法,如图4所示。初始化成员服务集合Servicef={service1,service2,…,servicef}(0<f≤n),相容性判定执行者为成员服务servicei,其它成员服务构成的组合为遍历动态演化业务运行的成员servicei其中,成员服务servicei∈Servicef(0<=i<n),成员服务初始化i=0,n为服务组合中成员服务个数。这里,以为一固定值时的自适应相容方法为例本发明实施例提供的自适应相容方法进行说明。
S401、判断成员服务与其交互的成员服务的动作集合的交集是否为空;
通过对Servicei的遍历确定与成员服务组合中的每一个交互的成员服务之间的动作集合的交集是否为空,其中,当交集为空时,表征二者之间不存在相同的动作交互,不需要进行相容性分析;当交集不为空时,表征二者之间存在相同的动作,需要进行相容性分析。
当判断结果为空时,执行S402;若判断结果不为空时,执行步S403。
S402、遍历下一个交互的成员服务;
此时,执行i++,servicei∈Servicef(0<=i<n)。
S403、执行成员服务的自适应相容性分析并根据分析结果确定是否相容;
执行成员服务的自适应相容性分析时,包括执行自适应成员服务消息结构相容方法CMessage(CWS)与自适应成员服务推演动作相容方法得到消息结构的相容标识cflag和动作结构的相容标识kflag,这里,当消息结构相容时,cflag=1,当消息结构不相容时,cflag=0;当动作结构相容时,kflag=1,当动作结构不相容时,flag=0。只有当消息结构和动作结构都相容,即相容分析结果为cflag∧kflag=1时,确定成员服务相容。当相容分析结果为cflag∧kflag=0时,确定不相容。
当相容时,执行S402;当不相容时,执行S405。
这里,当与所有的Servicei都相容时,执行S404。
S404、返回相容标识。
所有成员服务无不相容情况发生,返回相容性标识flag,此时,flag=1。
S405、返回不相容标识,并返回补充相容要素。
返回相容性标识flag,此时,flag=0,并返回不相容时的补充相容要素。
当将所有Servicei都遍历后,返回所有成员服务的补充相容要素集合PX′。
由于在演化运行过程中,为自适应的消息结构算法与推演动作算法的复杂度的算数和,即相容算法的复杂度O(CBOMS)=O(CM)+O(KC),其中,O(CM)为消息结构算法的复杂度,O(KC)为推演动作算法的复杂度。
在实际应用中,上述流程是以为一固定值,以i为变量时的成员服务,在当上述流程执行完后,继续执行情况下的自适应相容流程,直到将所有的和i都遍历,实现成员服务组合Servicef内的成员服务的相容性判定。
3、自适应成员服务消息结构相容方法
消息结构为成员服务交互并发通信的基本单位,这里,可定义Mes=(name,type,len,cMes)为消息结构四元组,name为消息名称;type为消息结构类型,分为复杂类型comx和简单类型sim,复杂类型comx的消息自包含子元素集合,简单类型sim的消息为不可以再拆分的元素,例如int整型、float浮点型;len为消息的子元素集合cMes包含子元素个数,子元素集合cMes={cMes1,cMes2,…,cMesn}。
在图5中,以i=0时的消息结构相容方法为例,这里,初始化由成员服务serviceα发送或接收的消息mesα,其交互的服务组合Serviceβ发送或接收的消息mesβ,jd(mesα,mesβ)表征获得简单类型包含的数据类型是否一致,通过gc(mesα)[i]获取消息mesα子元素集合的第i个子元素。判断消息mesα和消息mesβ的具体的相容算法如图5所示,包括:
S501、判断名称是否相同;
通过mesα.name=mesβ.name判断消息mesα和消息mesβ元素名称是否相同,其中,mesα.name为消息mesα的名称,mesβ.name为消息mesβ的名称。若不相同则执行S5011,若相同则执行S502;
S5011、输出不相容标识,并确定名称不相同时的补充相容要素;
这里,可返回flag=0,并返回名称不相同时的补充相容要素:mes′α.name,mes′α.name表征成员服务serviceα的消息名称的补充相容要素。
在输出补充相容要素后,通过补充相容要素对serviceα的消息结构进行自适应调整,在调整后,mesα.name=mesβ.name,此时,执行S502。
S502、判断类型是否相同;
通过mesα.type=mesβ.type判断消息mesα和消息mesβ的元素类型是否相同,其中,mesα.type为消息mesα的元素类型,mesβ.type为消息mesβ的元素类型。若不相同则执行S5021,若相同则执行S503;
S5021、输出消息不相容标识,并确定类型不相同时的补充相容要素;
这里,可返回flag=0,并返回类型不相同时的补充相容要素:mes′α.type,mes′α.type表征成员服务serviceα的消息类型的补充相容要素。
在输出补充相容要素后,通过补充相容要素对serviceα的消息结构进行自适应调整,在调整后,mesα.type=mesβ.type,此时,执行S503。
S503、判断长度是否相同;
通过mesα.len=mesβ.len判断消息mesα和消息mesβ的长度是否相同,其中,mesα.len为消息mesα的长度,mesβ.len为消息β的长度。若不相同则执行S5031,若相同则执行S504;
S5031、输出消息不相容标识,并确定长度不相同时的补充相容要素;
这里,可返回flag=0,并返回长度不相同时的补充相容要素:mes′α.len,mes′α.len表征成员服务serviceα的消息长度的补充相容要素。
在输出补充相容要素后,通过补充相容要素对serviceα的消息结构进行自适应调整,在调整后,mesα.len=mesβ.len,此时,执行S504。
S504、判断类型是何种类型,
当为简单类型时,通过jd(cMesα,cMesβ)判定两者简单类型包含的数据类型是否相同,若相同则执行S505,若不同执行步骤5041;
当为复杂类型时,判定消息mesα的cMesα和消息mesβ的cMesβ包含的子元素的个数是否相同,若个数相同,则通过递归算法判定cMesα和cMesβ的子元素类型是否相同;若个数不相同,则执行S5041。
在通过递归算法判定cMesα和cMesβ的子元素类型是否相同时,若递归到最内层,子元素类型相同则执行S505,若不同执行S5041。
S5041、返回消息不相容标识,并确定子元素集合不相同时的补充相容要素。
这里,可返回flag=0,并返回子元素集合不相同时的补充相容要素:mes′α.cMes,mes′α.cMes表征成员服务serviceα的消息子元素集合的补充相容要素。
在输出补充相容要素后,通过补充相容要素对serviceα的消息结构进行自适应调整,在调整后,mes′α.cMes和mes′β.cMes相同,这里的相同包括长度和子元素的类型都相同。
S505、返回消息结构相容标识。
CMessage返回flag=1。
在确定图5所示的判定消息结构相容性的分析结果中,最终输出的补充相容要素为所有的补充相容要素的集合。通过输出的补充相容要素的集合对成员服务进行自适应调整,可将成员服务不相容调整为成员服务相容,实现联调流程的完整执行,并能够定位成员服务不相容的具体原因,方便维护人员对系统进行修改维护。
4、自适应成员服务推演动作相容方法
成员服务推演动作是否相容描述了成员服务交互的通信时序问题,例如发送与接收消息产生死锁、当前消息无接收的成员服务,自适应成员服务推演动作相容方法能够在问题时段完成服务组合内各成员服务自适应的推演动作相容,保证了服务组合能够在动态运行阶段可靠执行。
初始化服务组合Servicef={service1,service2,…,servicef}(0<f≤n),相容性判定执行者为成员服务servicei,其它成员服务构成的组合为其中,通过AF(x,ActionS)判定待发送动作的匹配性。具体的相容方法如图6所示,包括:
S601、判断成员服务和其它成员服务的动作集合是否为空;
按照服务编排规约遍历服务组合Servicef的成员服务,若servicei与其它成员服务动作集合为空,则i++,并再次执行S601,且在之后其它成员服务将不再重复分析与servicei是否相容;若不为空则执行S602;
S602、代理服务对成员服务进行动作结构相容性分析;
代理服务执行方法AF分析servicei与其它成员服务的动作相容性,若不相容,则执行S603,若相容,则执行S604;
具体的,在进行动作结构的相容性分析时,遍历servicei的待发送动作集的每个动作x,若在中不存在与该动作匹配的动作则执行S603;若存在,servicei执行动作x的子进程Psub(servicei),执行动作的子进程子进程递归对子进程Psub(servicei)和执行相容性判定,若子进程为空则执行S604,若有进程提前结束交互,则执行S603。这里,如果当前服务进程判定相容后,程序还在并发执行,还需要取当前服务进程的子进程继续判定后面的推演动作是否相容。
S603、返回动作不相容标识和补充相容要素,并判断不相容动作数量;
输出动作不相容标识flag=0,确定补充相容要素,在相容要素集合PX′中添加相容补充要素,并判断不相容动作数量。这里,可通过判断向PX′添加补充相容要素的次数来判断不相容动作数量,具体的不相容动作数量为t,若t>3,执行S605,若t<=3,则i++,并执行S601,进入下一个成员服务的判定,直到所有的成员服务都执行完成,结束相容性分析。
S604、返回动作相容标识;
输出动作不相容标识flag=1,此时,则i++,并执行S601,进入下一个成员服务的判定,直到所有的成员服务都执行完成,结束相容性分析。
S605、结束相容性分析。
代理服务终止该服务演化的相容性分析,并终止该服务演化,判断为多次补充相容要素已陷入循环。这里,通过对每次判断次数做累加,避免程序进入一个死循环重复判断,保证系统健壮性。
需要说明的是,S603中“t>3”中的3为设置的常量数值,该常量数值也可设置成其他的数值,以保证程序不会进入一个死循环重复判断。
成员服务进程的动作集合的元素个数最大为m,服务子进程数最大为n,则算法的时间复杂度为O(nm)。传统的编排层面服务组合相容性判定的复杂度为端口动作一致性判定、流程结构一致性判定与行为一致性算法的累加。基于自适应的并发成员服务相容算法实现了流程结构、端口动作与行为归并推演动作,传统判定行为复杂度O(nm2),大型组合系统的行为复杂使得m值较大,且复杂度呈平方上升,自适应的并发服务相容算法复杂度O(nm),优于传统相容性判定算法复杂度。
实施例四
在本发明实施例中,通过具体的应用场景对本发明实施例提供相容性判定方法进行说明。
以基于服务体系架构的混合云移动网上营业厅订单流程模块的演化服务组合CWS'为实例,业务流程如图7所示。当应用场景为移动公司网上营业厅选择资费商品,选定支付方式下订单,向第三方支付方发送请求支付消息,第三方支付方后端检查银行账户无误后扣除货款,若支付过程出现问题(比如账户信息、密码不正确等)时,返回支付失败;若支付成功,则将订单的信息发送给物流分拣中心服务services,此时物流分拣中心服务services向用户显示最终货单信息确认货单,用户确认后物流分拣中心服务services向客户终端发送物流信息,客户接收后完成交易。在图7中,网上营业厅的物流分拣中心服务services在原有先支付,后发货的交易模式基础上,又新引入星级客户信用度检查的快速付款模式。这里,物流分拣中心服务services带动了服务组合CWS'演化,在物流分拣中心服务services内部增加了检查信用和收款新流程。
客户移动终端系统在与第三方支付等公有云服务交互时,只需公布WS-CDL服务编排协议公约,与其他外部服务交互联调无需暴露内部流程,由代理服务负责对集成服务的相容情况反馈并做自适应适配。
当在serviceb中增加检查信用、在servicea中增加接收审核的状态时,基于增加的状态对服务组合进行了演化,此时,需要基于演化的动作判断服务组合的成员服务servicea、serviceb、services的相容性。包括消息结构的相容性和推演动作的相容性。
消息结构的相容性判断
代理服务在服务编排规约下对演化受影响服务services、servicea等具有公共通信交互的成员服务执行自适应的并发成员服务相容适配,在演化过程进行时,对成员服务交互不相容情况自适应推进,快速完成整个服务判定,并给出不相容情况补充通信要素集合,避免多次中断服务组合运行且能准确捕捉服务组合运行瓶颈。服务编排规约描述所有虚线部分公共交互的时序、消息、操作以及各服务之间的依赖关系。
此时,服务组合中除发起演化的成员服务以外的其他成员服务的组合Cothers中两个服务的交互行为将视为内部动作。以servicea为例,由于演化发生后消息没有发生改变,servicea与Cothers交互的消息定义与演化前相同,仍然保持消息类型相同。
服务services发起的演化,其它成员服务的消息通信格式并未改变,只需关注演化执行阶段services与servicea,services与serviceb之间的交互消息结构是否发生改变。这里将应用本提案算法实现演化自适应成员服务消息结构,以services与servicea交互为例,在services和servicea在交互的通道y发送或接收的消息的消息结构分别为:初始化入参(消息结构)如下:
经过算法判定消息结构的类型type不一致,将已受波及成员服务为基线,实现演化服务本身适应受波及服务,避免对其他未受波及服务产生影响,故添加补充相容要素,此时,补充相容要素内包括消息结构:
将上述补充相容要素加入到补充相容要素集合px1中,并将若干类似px1的补充要素集合组成一个大的集合结果集PX′作为一个整体返回给客户端。
在执行自适应成员服务消息结构相容方法期间,演化服务不会被中断将自适应继续执行后续并发服务进程,在最后代理服务系统统一返回补充交互要素集合PX′用以描述演化阶段瓶颈问题,services与serviceb的消息结构相容同理不再详述。
推演动作的相容性判断
由于多个成员服务的行为具有并发、动态等特性,通过π演算为演化后服务组合CWS'的各服务进程建模。初始化定义A为servicea,B为serviceb,S为services,CWS为成员服务进程的并发组合,通过自适应成员服务推演动作相容方法推演动作的交互过程中缺少了动作:通过通道y输出消息argChec'y<agrChec>,通过通道y′输出消息accConf'y<accConf>,使得当前演化遭遇瓶颈,根据自适应成员服务推演动作相容方法,经过算法判定:
动作结构不相容时flag=0;此时,执行动作如下:
PX′={px1(servicea)}∪PX
PX′={px2(servicea)}∪PX
分别将动作'y<agrChec>和动作'y<accConf>作为补充相容要素添加到补充相容要素集合px1(servicea)和px2(servicea)中,并将px1(servicea)和px2(servicea)分别与当前的补充要素PX合并为大的集合结果集PX′作为一个整体返回给客户端。其中,在添加补充相容要素时,补充相容要素集合可为补充相容要素和动作集合合并的结果,也即将此缺失动作纳入到服务动作集合对成员服务进行自适应调整。
上述两个服务在推演动作相容判定执行时,发现缺少两个动作和消息,通过通道y输出了消息agrChec和通道y输出了消息accConf,导致两个服务无法正确交互,代理服务系统将其纳入到动作集合及补充要素集合,完成了后续执行流程,补充要素集合在最后全流程执行完返回至客户端,帮助后续企业分析BPEL(可执行业务流程)。
即添加此动作结构要素到补充交互要素集合PX′,PX′通过补充通信要素集合对添加'y<agrChec>,'y<accConf>,推演动作的流程可通过Pi演算定理来计算,这里对通过Pi演算定理计算推演动作的相容的具体过程不再赘述。
服务进程推演的过程验证服务组合的能够正确完成各成员服务交互,即添加补充要素集合后,根据Pi演算定理,若成员服务M和N相容,则必定满足即服务A\B\S三个并发服务进程推演结果为空进程。通过任意路径推演均以空进程结束,也即成员服务并发业务流程时序正确。
通过本本发明实施例提供的相容性判定方法,统计已实现系统的27个服务程序开发与联调周期由原有的平均10.6人天缩减到3.4人天,效率平均提升约3.1倍,使基于异构服务的电子渠道应用系统缩短了系统上线周期,节约了企业内部开发维护成本,提升了响应市场需求变更速度。
本案例方法可推广到医疗保险理赔系统、物流系统等大型服务组合系统,例如由基于SOA架构的web服务技术实现的基于BPEL流程建模的复杂医疗保险理赔业务服务,可实现医院、保险公司、银行等复杂异构系统服务的快速相容判定与迭代集成,企业内部服务流程对代理服务系统透明,自适应适配实现方法与柔性任务分类方法灵活满足企业不同判定场景的需要,同时使服务组合及其内部服务演化增值得到优化提升,解决了移动公司等大型企业服务计算领域目前需要攻关的技术难题。
实施例五
本发明实施例还提供了一种相容性判定装置,该装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行:
对成员服务进行相容性分析;判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;根据所述补充相容要素对所述不相容成员服务进行适配。
处理器用于运行所述计算机程序时,执行述对成员服务进行相容性分析包括:
调用所述成员服务的服务通信要素;根据所述成员服务的服务通信要素对所述成员服务进行相容性分析。
处理器用于运行所述计算机程序时,执行所述根据所述成员服务的服务通信要素对所述成员服务进行相容性分析包括:
通过消息结构相容算法对所述服务通信要素中的消息结构进行消息结构的相容性分析,并通过推演动作相容算法对所述服务通信要素中的动作结构进行相容性分析。
处理器用于运行所述计算机程序时,还执行:判断所述成员服务是否为自适应成员服务。
处理器用于运行所述计算机程序时,还执行:根据相容调度类型从服务组合中选择自适应成员服务。
处理器用于运行所述计算机程序时,执行所述根据相容调度类型从服务组合中选择自适应成员服务包括:
当所述相容调度类型为第一调度类型时,选择所述服务组合中所有成员服务为自适应成员服务;
当所述相容调度类型为第二调度类型时,选择所述服务组合中部分成员服务为自适应成员服务;
当所述相容调度类型为第三调度类型时,根据接收的选择操作确定自适应成员服务。
图8是本发明实施利五的相容性判定装置的结构示意图,图8所示的相容性判定装置包括:至少一个处理器801和存储器802。相容性判定装置中的各个组件通过总线系统803耦合在一起。可理解,总线系统803用于实现这些组件之间的连接通信。
可以理解,存储器802可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器802用于存储各种类型的数据以支持实施例五的相容性判定装置的操作。
上述本发明实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器801可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,实施利五的相容性判定装置可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
实施例六
为实现实施例一提供的相容性判定方法,本发明实施例提供一种相容性判定装置,如图9所示,所述装置包括:分析模块901、补充模块902和适配模块903;其中,
分析模块901,用于对成员服务进行相容性分析;
补充模块902,用于判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
适配模块903,用于根据所述补充相容要素对所述不相容成员服务进行适配。
分析模块901对成员服务进行相容性分析包括:调用所述成员服务的服务通信要素;根据所述成员服务的服务通信要素对所述成员服务进行相容性分析。
分析模块901根据所述成员服务的服务通信要素对所述成员服务进行相容性分析包括:
通过消息结构相容算法对所述服务通信要素中的消息结构进行消息结构的相容性分析,并通过推演动作相容算法对所述服务通信要素中的动作结构进行相容性分析。
如图10所示,所述装置还包括:判断模块904,用于:判断所述成员服务是否为自适应成员服务。
如图10所示,所述装置还包括:选择模块905,用于:根据相容调度类型从服务组合中选择自适应成员服务。
选择模块905根据相容调度类型从服务组合中选择自适应成员服务包括:
当所述相容调度类型为第一调度类型时,选择所述服务组合中所有成员服务为自适应成员服务;
当所述相容调度类型为第二调度类型时,选择所述服务组合中部分成员服务为自适应成员服务;
当所述相容调度类型为第三调度类型时,根据接收的选择操作确定自适应成员服务。
实施例七
在示例性实施例中,本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器802,上述计算机程序可由相容性判定装置中的处理器801执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、FlashMemory、磁表面存储器、光盘、或CD-ROM等存储器。
一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器运行时,执行:
对成员服务进行相容性分析;
判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
根据所述补充相容要素对所述不相容成员服务进行适配。
所述计算机程序被处理器运行时,执行所述对成员服务进行相容性分析包括:
调用所述成员服务的服务通信要素;根据所述成员服务的服务通信要素对所述成员服务进行相容性分析。
所述计算机程序被处理器运行时,执行所述根据所述成员服务的服务通信要素对所述成员服务进行相容性分析包括:
通过消息结构相容算法对所述服务通信要素中的消息结构进行消息结构的相容性分析,并通过推演动作相容算法对所述服务通信要素中的动作结构进行相容性分析。
所述计算机程序被处理器运行时,还执行:判断所述成员服务是否为自适应成员服务。
所述计算机程序被处理器运行时,还执行:根据相容调度类型从服务组合中选择自适应成员服务。
所述计算机程序被处理器运行时,执行所述根据相容调度类型从服务组合中选择自适应成员服务包括:
当所述相容调度类型为第一调度类型时,选择所述服务组合中所有成员服务为自适应成员服务;
当所述相容调度类型为第二调度类型时,选择所述服务组合中部分成员服务为自适应成员服务;
当所述相容调度类型为第三调度类型时,根据接收的选择操作确定自适应成员服务。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种相容性判定方法,其特征在于,所述方法包括:
对成员服务进行相容性分析;
判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
根据所述补充相容要素对所述不相容成员服务进行适配。
2.根据权利要求1所述的方法,其特征在于,所述对成员服务进行相容性分析包括:
调用所述成员服务的服务通信要素;
根据所述成员服务的服务通信要素对所述成员服务进行相容性分析。
3.根据权利要求2所述的方法,其特征在于,所述根据所述成员服务的服务通信要素对所述成员服务进行相容性分析包括:
通过消息结构相容算法对所述服务通信要素中的消息结构进行消息结构的相容性分析,并通过推演动作相容算法对所述服务通信要素中的动作结构进行相容性分析。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述成员服务是否为自适应成员服务。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据相容调度类型从服务组合中选择自适应成员服务。
6.根据权利要求5所述的方法,其特征在于,所述根据相容调度类型从服务组合中选择自适应成员服务包括:
当所述相容调度类型为第一调度类型时,选择所述服务组合中所有成员服务为自适应成员服务;
当所述相容调度类型为第二调度类型时,选择所述服务组合中部分成员服务为自适应成员服务;
当所述相容调度类型为第三调度类型时,根据接收的选择操作确定自适应成员服务。
7.一种相容性判定装置,其特征在于,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行:
对成员服务进行相容性分析;
判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
根据所述补充相容要素对所述不相容成员服务进行适配。
8.根据权利要求7所述的装置,其特征在于,所述处理器用于运行所述计算机程序时,执行所述对成员服务进行相容性分析包括:
调用所述成员服务的服务通信要素;
根据所述成员服务的服务通信要素对所述成员服务进行相容性分析。
9.根据权利要求8所述的装置,其特征在于,所述处理器用于运行所述计算机程序时,执行所述根据所述成员服务的服务通信要素对所述成员服务进行相容性分析包括:
通过消息结构相容算法对所述服务通信要素中的消息结构进行消息结构的相容性分析,并通过推演动作相容算法对所述服务通信要素中的动作结构进行相容性分析。
10.根据权利要求7所述的装置,其特征在于,所述处理器用于运行所述计算机程序时,还执行:判断所述成员服务是否为自适应成员服务。
11.根据权利要求7所述的装置,其特征在于,所述处理器用于运行所述计算机程序时,还执行:根据相容调度类型从服务组合中选择自适应成员服务。
12.根据权利要求11所述的装置,其特征在于,所述处理器用于运行所述计算机程序时,执行所述根据相容调度类型从服务组合中选择自适应成员服务包括:
当所述相容调度类型为第一调度类型时,选择所述服务组合中所有成员服务为自适应成员服务;
当所述相容调度类型为第二调度类型时,选择所述服务组合中部分成员服务为自适应成员服务;
当所述相容调度类型为第三调度类型时,根据接收的选择操作确定自适应成员服务。
13.一种相容性判定装置,其特征在于,所述装置包括:分析模块、补充模块和适配模块;其中,
所述分析模块,用于对成员服务进行相容性分析;
所述补充模块,用于判定所述成员服务不相容时,输出不相容成员服务对应的不相容标识,并确定所述不相容成员服务对应的补充相容要素;
所述适配模块,用于根据所述补充相容要素对所述不相容成员服务进行适配。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述方法的步骤。
CN201711123444.4A 2017-11-14 2017-11-14 一种相容性判定方法、装置及计算机可读存储介质 Active CN109783303B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711123444.4A CN109783303B (zh) 2017-11-14 2017-11-14 一种相容性判定方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711123444.4A CN109783303B (zh) 2017-11-14 2017-11-14 一种相容性判定方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109783303A true CN109783303A (zh) 2019-05-21
CN109783303B CN109783303B (zh) 2022-05-03

Family

ID=66493474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711123444.4A Active CN109783303B (zh) 2017-11-14 2017-11-14 一种相容性判定方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109783303B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610445A (zh) * 2004-11-25 2005-04-27 开曼群岛威睿电通股份有限公司 相容于传统方式用于广播/多播服务指标信号扩增方法
CN101808109A (zh) * 2009-10-20 2010-08-18 清华大学 语义Web服务组合的模型转换及形式化验证方法
CN102571789A (zh) * 2011-12-31 2012-07-11 复旦大学 一种增强soa可生存性的降级服务替换验证方法
US20130283296A1 (en) * 2012-04-23 2013-10-24 Gary Peter Brown Method and system for generating a service definition based on service activity events

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1610445A (zh) * 2004-11-25 2005-04-27 开曼群岛威睿电通股份有限公司 相容于传统方式用于广播/多播服务指标信号扩增方法
CN101808109A (zh) * 2009-10-20 2010-08-18 清华大学 语义Web服务组合的模型转换及形式化验证方法
CN102571789A (zh) * 2011-12-31 2012-07-11 复旦大学 一种增强soa可生存性的降级服务替换验证方法
US20130283296A1 (en) * 2012-04-23 2013-10-24 Gary Peter Brown Method and system for generating a service definition based on service activity events

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑明等: "协同业务过程的相容性检测及修正", 《计算机科学与探索》 *

Also Published As

Publication number Publication date
CN109783303B (zh) 2022-05-03

Similar Documents

Publication Publication Date Title
US11509464B2 (en) System and method using a fitness-gradient blockchain consensus and providing advanced distributed ledger capabilities via specialized data records
Taylor Distributed simulation: state-of-the-art and potential for operational research
CN101410857B (zh) 关系逻辑管理系统
Magee et al. Behaviour analysis of software architectures
CN101777142A (zh) 一种将企事业规章制度转换为计算机可识别程序的方法
Besancon et al. A blockchain ontology for DApps development
Roldán et al. Dynamic validation of OCL constraints with mOdCL
CN101288090A (zh) 对主题系统的动作施加
Serrano Verification and Validation for data marketplaces via a blockchain and smart contracts
CN111080227A (zh) 一种经济活动业务内控审批系统
CN102364440A (zh) 一种用于建立软件需求模型的系统及建立软件需求模型的方法
CN109064329A (zh) 一种算力交易方法及计算通道
Repa Information modeling of organizations
CN109783303A (zh) 一种相容性判定方法、装置及计算机可读存储介质
Sun et al. TiCoBTx-Net: A model to manage temporal consistency of service-oriented business collaboration
Demeyer et al. Declarative workflows to efficiently manage flexible and advanced business processes
WO2022005911A1 (en) A machine learning framework and method for using the same
Amland Software quality and software testing in internet times
Cai et al. A CPN-based Software Testing Approach.
Fries et al. Implementing a financial derivative as smart contract
Ibba Agile methodologies and blockchain development
Sah et al. A software engineering perspective for development of enterprise applications
Daud et al. Sustainable social bank development using blockchain
dos Santos Diniz Multi-Concession Cloud-Based Toll Collection and Validation System
Diniz Multi-Concession Cloud-Based Toll Collection and Validation System

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant