CN106559439B - 一种业务处理方法及设备 - Google Patents
一种业务处理方法及设备 Download PDFInfo
- Publication number
- CN106559439B CN106559439B CN201510621776.XA CN201510621776A CN106559439B CN 106559439 B CN106559439 B CN 106559439B CN 201510621776 A CN201510621776 A CN 201510621776A CN 106559439 B CN106559439 B CN 106559439B
- Authority
- CN
- China
- Prior art keywords
- operation requests
- distributed node
- controller
- code
- business object
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000009826 distribution Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000012805 post-processing Methods 0.000 claims description 9
- 239000004744 fabric Substances 0.000 claims description 7
- 230000001419 dependent effect Effects 0.000 claims description 6
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 230000006399 behavior Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种业务处理方法及设备,业务处理方法应用于包括第一分布式节点和至少两个第二分布式节点的系统中,第一分布式节点通过至少两个第二分布式节点与控制器通信,业务处理方法包括:第一分布式节点获取第一操作请求,第一操作请求中包括第一业务对象;第一分布式节点按照预设规则为第一操作请求分配第一标识码,第一标识码用于标识第一操作请求对第一业务对象的处理顺序;第一分布式节点通过至少两个第二分布式节点中的一个第二分布式节点向控制器发送第一操作请求及第一标识码,以使得控制器根据预设规则和第一标识码确定是否需要处理第一操作请求,本发明能够保证业务处理的正确性。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种业务处理方法及设备。
背景技术
软件定义网络(Software Defined Network,SDN)是一种优化和简化网络操作的体系结构,将SDN技术引入云计算领域后,SDN控制器北向接入分布式云平台,能够实现更为智能化的业务功能。将SDN引入云计算领域后,系统架构可如图1所示,管理员通过分布式平台提供的云平台界面管理分布式云平台的设备与资源,分布式云平台由多台分布式节点组成,分布式节点分为两类,一类提供北向接口能力,如分布式节点1,而另一类提供业务处理能力以及南向接口能力,例如分布式节点2、3、4。分布式云平台南向与SDN控制器对接,利用SDN控制器来控制大量的网络数据,由此对分布式云平台而言,看到的不再是大量的网络设备,而只是一个巨型的超级网络设备。
目前系统架构中,由于云平台界面不感知云平台的分布式的存在,所以每个云平台界面实例都是通过一个分布式节点接入,当然不同的云平台界面实例通过不同的分布式节点接入是完全可行的。图1所示的云平台界面通过分布式节点1接入云平台,所以所有通过该云平台界面下发的操作请求都会先通过分布式节点1,再通过其它分布式节点(如分布式节点2、3、4)转发给SDN控制器进行处理。
上述网络架构下,当针对同一业务对象先后发送了两个互为更新关系的操作请求时,由于分布式节点1通过不同的分布式节点(例如分布式节点2、3)先后向控制器发送这两个操作请求,要保证处理结果正确,则必须保证先发的操作请求先至控制器,这样最终生效的才是后发的操作请求。但在分布式云平台中,由于平台中各节点之间的分布式特性,不同节点的处理能力不同,通常无法保障先发操作请求先至控制器,如果后发的操作请求到达控制器的时间早于先发的操作请求到达控制器的时间,最后处理的是先发的操作请求,则最终生效的反而是先发的操作请求,从而导致了处理结果错误。
发明内容
有鉴于此,本发明实施例提供了一种业务处理方法及设备,能够在分布式云平台中保证业务处理的正确性。
第一方面,提供了一种业务处理方法,应用于包括第一分布式节点和至少两个第二分布式节点的系统中,所述第一分布式节点通过所述至少两个第二分布式节点与控制器通信,所述方法包括:
所述第一分布式节点获取第一操作请求,所述第一操作请求中包括第一业务对象;
所述第一分布式节点按照预设规则为所述第一操作请求分配第一标识码,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
所述第一分布式节点通过所述至少两个第二分布式节点中的一个第二分布式节点向所述控制器发送所述第一操作请求及所述第一标识码,以使得所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求。
结合第一方面,在第一方面的第一种实施方式中,所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:
若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,所述第一标识码为时间戳,或者所述第一标识码是递增或递减的自然数;
所述预设规则是:针对包含同一业务对象的不同操作请求,按照操作请求的先后顺序分配对应的标识码。
结合第一方面,或第一方面的第一种、或第二种实施方式,在第一方面的第三种实施方式中,所述方法还包括:
所述第一分布式节点获取第三操作请求,所述第三操作请求中包括第二业务对象;
所述第一分布式节点按照所述预设规则为所述第三操作请求分配第三标识码,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序;
若所述第一分布式节点确定所述第三操作请求依赖于所述第一操作请求,则将所述第一标识码作为所述第三操作请求的依赖码;
所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点向所述控制器发送所述第三操作请求,所述第三标识码以及所述第三操作请求的依赖码,以使得所述控制器根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
第二方面,提供了一种业务处理方法,应用于包括第一分布式节点和至少两个第二分布式节点的系统中,所述第一分布式节点通过所述至少两个第二分布式节点与控制器通信,所述方法包括:
所述控制器接收所述第一分布式节点通过所述至少两个第二分布式节点中的一个第二分布式节点发送的第一操作请求和第一标识码,所述第一操作请求中包括第一业务对象,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
所述控制器根据预设规则和所述第一标识码,确定是否需要处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
结合第二方面,在第二方面的第一种实施方式中,所述方法还包括:
所述控制器接收所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送的第三操作请求,第三标识码及所述第三操作请求的依赖码,所述第三操作请求中包括第二业务对象,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序,所述第一标识码为所述第三操作请求的依赖码;
所述控制器根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
第三方面,提供了一种第一分布式节点,所述第一分布式节点通过至少两个第二分布式节点与控制器通信,所述第一分布式节点包括:
获取单元,用于获取第一操作请求,所述第一操作请求中包括第一业务对象;
分配单元,用于按照预设规则为所述第一操作请求分配第一标识码,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
发送单元,用于通过所述至少两个第二分布式节点中的一个第二分布式节点向所述控制器发送所述第一操作请求及所述第一标识码,以使得所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求。
结合第三方面,在第三方面的第一种实施方式中,所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:
若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则所述控制器处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则所述控制器不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
结合第三方面,或第三方面的第一种实施方式,在第三方面的第二种实施方式中,所述获取单元还用于,获取第三操作请求,所述第三操作请求中包括第二业务对象;
所述分配单元还用于,根据所述第二业务对象为所述第三操作请求分配第三标识码,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序;
所述第一分布式节点还包括:
确定单元,用于确定所述第三操作请求依赖于所述第一操作请求,将所述第一标识码作为所述第三操作请求的依赖码;
所述发送单元还用于,通过所述至少两个第二分布式节点中的另一个第二分布式节点向所述控制器发送所述第三操作请求,所述第三标识码以及所述第三操作请求的依赖码,以使得所述控制器根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
第四方面,提供了一种控制器,包括:
接收单元,用于接收第一分布式节点通过至少两个第二分布式节点中的一个第二分布式节点发送的第一操作请求和第一标识码,所述第一操作请求中包括第一业务对象,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
确定单元,用于根据预设规则和所述第一标识码,确定是否需要处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
结合第四方面,在第四方面的第一种实施方式中,所述接收单元还用于,接收所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送的第三操作请求,第三标识码及所述第三操作请求的依赖码,所述第三操作请求中包括第二业务对象,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序,所述第一标识码为所述第三操作请求的依赖码;
所述控制器还包括处理单元,所述处理单元用于根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
本申请的技术方案具有以下优点:
第一分布式节点会为操作请求分配标识码,以标识包含同一业务对象的不同操作请求对该业务对象的处理顺序,并将操作请求及其标识码对应发送给控制器,以使得控制器根据预设规则及操作请求的标识码确定是否需要处理该操作请求,以保证最终生效的是第一分布式节点最后发出的包含该业务对象的操作请求,以此避免了节点的分布式特性导致的业务处理错误,保证了业务处理的正确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术分布式云平台系统架构示意图;
图2为本发明实施例提供的一种业务处理方法流程图;
图3为本发明实施例提供的一种业务处理方法的交互示意图;
图4为本发明实施例提供的另一种业务处理方法的交互示意图;
图5为本发明实施例提供的又一种业务处理方法的交互示意图;
图6为本发明实施例提供的一种第一分布式节点的结构示意图;
图7为本发明实施例提供的另一种第一分布式节点的结构示意图;
图8为本发明实施例提供的一种控制器的结构示意图;
图9为本发明实施例提供的另一种控制器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于分布式云平台中各节点之间的分布式特性,不同节点的处理能力不同,无法保障先发业务先至,因此也就无法保证业务处理的正确性。本发明实施例提供了一种业务处理方法及相关设备,能够在分布式云平台中保证业务处理的正确性。
本发明实施例中,系统中由两类分布式节点组成,可以将提供北向接口能力的分布式节点称为第一分布式节点,例如图1中的分布式节点1;将提供业务处理能力以及南向接口能力的分布式节点称为第二分布式节点,例如图1中的分布式节点2、3、4,第二分布式节点至少有两个,第一分布式节点通过所述至少两个第二分布式节点与控制器通信。
请参阅图2,为本发明实施例提供的一种业务处理方法的流程图,所述方法包括:
步骤201、第一分布式节点获取第一操作请求,第一操作请求中包括第一业务对象;
云平台界面可以根据用户的操作向第一分布式节点下发第一操作请求。
步骤202、第一分布式节点按照预设规则,为所述第一操作请求分配第一标识码;
第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序。针对包含同一业务对象的不同操作请求,先发的操作请求对该业务对象的处理顺序应该先于后发的操作请求对该业务对象的处理顺序。
步骤203、第一分布式节点通过所述至少两个第二分布式节点中的一个第二分布式节点向所述控制器发送所述第一操作请求及所述第一标识码,以使得所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求。
具体实现中,控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送(即先发的第二操作请求,后发的第一操作请求,第二操作请求对第一业务对象的处理顺序应该先于第一操作请求对第一业务对象的处理顺序,实际处理顺序与之相符),则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送(即先发的第一操作请求,后发的第二操作请求,第一操作请求对第一业务对象的处理顺序应该先于第二操作请求对第一业务对象的处理顺序,而实际处理顺序与之相反,先处理了第二操作请求),则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
包含同一业务对象的操作请求具有不同的标识码,可选地,标识码可以是时间戳,所述第一分布式节点可以将发送操作请求时的时间戳作为该操作请求的标识码。预设规则可以是:时间先后顺序。例如,第一分布式节点先向控制器发送了包含第一业务对象的第一操作请求,后向控制器发送了包含所述第一业务对象的第二操作请求,则所述第一操作请求对应的第一标识码为早于所述第二操作请求对应的第二标识码的时间戳。若控制器先接收到第二操作请求,在处理第二操作请求之后,接收到了第一操作请求,则根据上述预设规则及第一标识码,所述控制器确定第一分布式节点先发的第一操作请求,后发的第二操作请求,则不处理第一操作请求。
可选地,标识码也可以是递增或递减的自然数,所述第一分布式节点可按照发送操作请求的先后,以递增或递减的自然数作为标识符分配给操作请求。所述预设规则可以是:从小到大或从大到小。以标识码是递增自然数为例,例如,第一分布式节点先向控制器发送了包含第一业务对象的第一操作请求,后向控制器发送了包含所述第一业务对象的第二操作请求,则为所述第一操作请求分配的第一标识码为小于所述第二操作请求对应的第二标识码的自然数。若控制器先接收到第二操作请求,在处理第二操作请求之后,接收到了第一操作请求,则根据上述预设规则及所述第一标识码可以确定第一分布式节点先发的第一操作请求,后发的第二操作请求,则不处理第一操作请求。
为便于理解,下面以一个具体实施例说明本发明提供的业务处理方法,请参阅图3,为本发明实施例提供的一种业务处理方法的交互示意图,所述方法包括:
步骤301、云平台界面向分布式节点1发送第一操作请求,第一操作请求中包括第一业务对象;
步骤302、分布式节点1为第一操作请求分配第一标识码,并将第一标识码及第一操作请求发送给分布式节点2;
具体地,分布式节点1可以按照预设规则为第一操作请求分配第一标识码。本实施例以标识码为递增的自然数,预设规则为时间先后顺序为例进行说明。例如,此处为第一操作请求分配的第一标识码g_id为1。
在分布式节点1接收到第一操作请求之后,可以通过分布式算法选择一个第二分布式节点,或者根据当前各个第二分布式节点的负载情况选择一个第二分布式节点,或者可以随机选择一个第二分布式节点,将第一操作请求及其标识码1发送给所选的第二分布式节点,例如本次所选的第二分布式节点为分布式节点2。由于网络或分布式节点2自身的原因,此处第一操作请求及其标识码没有得到分布式节点2的及时转发。
步骤303、云平台界面向分布式节点1发送第二操作请求,第二操作请求中包括所述第一业务对象;
即云平台界面先后向分布式节点1发送了两个包含同一业务对象(第一业务对象)的操作请求。
步骤304、分布式节点1为第二操作请求分配第二标识码并将第二标识码及第二操作请求发送给分布式节点3;
即分布式节点1通过不同的第二分布式节点将包含同一业务对象的不同操作请求转发给控制器。例如,此处为第二操作请求分配的第二标识码g_id为2。
步骤305、分布式节点3将第二操作请求及第二标识码转发给控制器;
即分布式节点3在接收到第二操作请求及第二标识码之后,及时做了处理,将第二操作请求及第二标识码及时转发给了控制器。
步骤306、控制器处理第二操作请求并在处理之后,保存第二操作请求的标识码2;
具体地,控制器可以在本地缓存中维持如下表1,用于记录已处理的操作请求的相关信息。
表1
本实施例中的已处理指的是已成功处理,未处理或未成功处理的操作请求的相关信息将不记录在上述表格中。
具体在本实施例中,在控制器接收到第二操作请求(包含第一业务对象)及标识码2时,由于控制器中没有保存与第二操作请求包含的业务对象相同的其他操作请求的标识码,即在此之前,控制器未处理或未成功处理与第二操作请求包含的业务对象相同的其他操作请求,因此,可以直接处理第二操作请求。
步骤307、控制器向对应的网络设备下发处理结果;
此时,第二操作请求生效。
步骤308、分布式节点2将第一操作请求及第一标识码转发给控制器;
步骤309、控制器根据预设规则及第一标识码确定不处理第一操作请求。
由于预设规则为时间先后顺序,第一操作请求的标识码为1,而控制器中存储的已处理的包含同一业务对象(第一业务对象)的另一操作请求的标识码为2,即表明分布式节点1先发的第一操作请求,后发的第二操作请求,第一操作请求的处理顺序应该在第二操作请求之前,但实际情况是第二操作请求已在第一操作请求之前处理了,所以第一操作请求无需处理。
本实施例中,控制器可以直接判断当前操作请求的标识码是否大于控制器中已存储的与当前操作请求包含的业务对象相同的其他操作请求的标识码,如果大于,则确定需要处理当前操作请求,否则,确定不需要处理当前操作请求。
下面举例进行说明,同样以更新IP地址为例,例如云平台界面根据用户的操作,针对同一网络实体先后发送了两次IP地址更新请求,按照本发明提供的业务处理方法,无论先发的操作请求先至控制器,还是后发的操作请求先至控制器,最终生效的都将是后发的操作请求;即如果操作请求先发先至,则处理器可以根据操作请求的标识码依次处理操作请求,最终生效后发的操作请求,如果操作请求先发后至,则处理器可以根据操作请求的标识码决定不处理不符合预设处理顺序的操作请求,保证最终生效的仍是后发的操作请求。
本实施例中,第一分布式节点在将针对同一业务对象的不同操作请求通过不同的第二分布式节点发送给控制器时,会为不同的操作请求分配不同的标识码,标识码用于标识操作请求对业务对象的处理顺序,并将操作请求及其标识码发送给控制器,以使得控制器根据操作请求对应的标识码确定是否需要处理当前操作请求,从而保证最终生效的是第一分布式节点最后发出的包含该业务对象的操作请求,避免了节点的分布式特性导致的业务处理错误,保证了业务处理的正确性。
上面的实施例解决了针对同一业务对象前后发送了互为操作更新关系的两个操作请求,当前后处理乱序时导致的处理错误问题。实际应用中,还可能出现针对不同的业务对象,前后发了两个操作请求,后一操作请求是否能够处理依赖前一操作请求的处理状态的应用场景,只有当前一操作请求已成功处理,后一操作请求才能处理,如果前一操作请求未成功处理(未处理或处理失败),则直接导致后一操作请求处理失败。而现有技术中,针对后一操作请求依赖前一操作请求的处理状态的应用场景,还没有有效的机制保证前后操作请求能够依次处理,因而容易出现前一操作请求还未处理,而直接处理后一操作请求导致的处理失败。针对这种应用场景,本发明提供了进一步的解决方案,请参阅图4,为本发明实施例提供的另一种业务处理方法的交互示意图,所述方法包括:
步骤401、云平台界面向分布式节点1发送第一操作请求,第一操作请求中包括第一业务对象;
步骤402、分布式节点1为第一操作请求分配第一标识码g_id=1并将g_id=1及第一操作请求发送给分布式节点2;
由于网络或分布式节点2自身的原因,此处第一操作请求及g_id=1没有得到分布式节点2的及时转发。
步骤403、云平台界面向分布式节点1发送第三操作请求,第三操作请求中包括第二业务对象;
步骤404、分布式节点1确定第三操作请求依赖于第一操作请求,将所述第一标识码作为所述第三操作请求的依赖码;
具体实现中,分布式节点1可以根据业务逻辑确定操作请求的依赖关系,例如第一操作请求为创建路由器R1的操作请求,第三操作请求为在路由器R1上创建接口A的操作请求,则根据业务逻辑即可确定第三操作请求依赖第一操作请求。
步骤405、分布式节点1为第三操作请求分配第三标识码g_id=3并将第三操作请求及g_id=3及依赖码pg_id=1发送给分布式节点3;
步骤406、分布式节点3将第三操作请求,g_id=3,pg_id=1转发给控制器;
即分布式节点3在接收到第三操作请求及g_id=3,pg_id=1之后,及时做了处理,将第三操作请求及g_id=3,pg_id=1及时转发给了控制器。
步骤407、控制器判断所依赖的标识码为1的第一操作请求还未处理,暂不处理第二操作请求;
具体地,控制器可以在本地缓存中维持如下表2,用于记录每个操作请求的处理状态。
表2
包括的业务对象 | 操作请求及其标识码g_id |
g_id=1(未处理) | |
第二业务对象 | 第三操作请求,g_id=3(待处理),pg_id=1 |
第三业务对象 | 第四操作请求,g_id=4(待处理),pg_id=1 |
控制器在接收到第三操作请求及g_id=3,pg_id=1之后,可以判断所依赖的第一操作请求的标识码1的状态(由于此时控制器还未接收到分布式节点2转发的第一操作请求及其标识码1,控制器中未保存标识码1及其状态,故控制器在接收到第三操作请求及g_id=3,pg_id=1之后,可以将标识码1标记为未处理状态。当然,若控制器在接收到第三操作请求及g_id=3,pg_id=1之前,已接收到分布式节点2转发的第一操作请求及其标识码1,但对第一操作请求的处理结果为处理失败,则控制器中也不会保存标识码1及其状态,这种情况下,控制器在接收到第二操作请求及g_id=2,pg_id=1,仍可以将标识码1标记为未处理状态,故本实施例的未处理状态可以表示未处理,也可以表示处理失败),由于标识码1为未处理状态,则控制器暂不处理第三操作请求,保存第三操作请求、标识码3及其依赖码,并将其标识码3设置为待处理状态。
步骤408、分布式节点2将第一操作请求及其标识码g_id=1转发给控制器;
步骤409、控制器处理第一操作请求;
在第一操作请求处理成功之后,控制器将第一操作请求的标识码设置为已处理状态。
步骤410、控制器将处理结果下发给网络设备;
步骤411、控制器查找依赖第一操作请求的第三操作请求并处理;
控制器在成功处理第一操作请求之后,查找依赖第一操作请求,且标识码的状态为待处理的第三操作请求,处理第三操作请求,并在处理成功之后,将第三操作请求的标识码3标记为已处理状态。
步骤412、控制器将处理结果下发给网络设备;
此后,若分布式节点1接收到第四操作请求,第四操作请求包括第三业务对象,且确定第四操作请求也依赖第一操作请求,则将第一操作请求的标识码作为第四操作请求的依赖码,则在控制器接收到第四操作请求之后,根据第四操作请求的依赖码的状态可以直接处理第四操作请求(由于第一操作请求的标识码为已处理状态)。
例如管理员通过云平台界面向分布式节点1下发了创建路由器R1的操作请求,分布式节点1为该操作请求分配标识码并将操作请求及其标识码通过分布式节点2转发给控制器,接下来管理员又通过云平台界面向分布式节点1下发了在路由器R1中创建接口A的操作请求,分布式节点1根据业务逻辑获知本次操作请求依赖之前的创建路由器R1的操作请求,分布式节点1在为本次操作请求分配标识码之后,将本次操作请求及标识码,以及所依赖的创建路由器R1的操作请求的标识码通过分布式节点3转发给控制器,如果创建接口A的操作请求在创建路由器R1的操作请求之前到达控制器,则控制器将在路由器R1中创建接口A的操作请求的标识码标记为待处理状态,并保存该操作请求(如果直接处理该操作请求,将会因为找不到路由器R1而失败),直到控制器在接收到创建路由器R1的操作请求及其标识码,并成功处理创建路由器R1的操作请求之后,控制器才开始处理在路由器R1中创建接口A的操作请求,此后如果控制器通过分布式节点3收到了在路由器R1中创建接口B的操作请求,则控制器可以直接处理该操作请求(因为创建路由器A的操作请求已被成功处理)。
本实施例中,某个操作请求还可以同时依赖多个先发的操作请求,具体实现中,如果某个操作请求同时依赖多个先发的操作请求,只需将该操作请求及其标识码,以及多个依赖码同时发送给控制器即可,这种情况下,只有当被依赖的多个操作请求的标识码均为已处理状态时,控制器才处理该操作请求。
另外,本实施例中,由于第三操作请求依赖第一操作请求,如果第一操作请求未处理,则第三操作请求将一直处于待处理状态。当被依赖的第一操作请求出现丢包时,将会导致第三操作请求长时间无法处理,影响处理效率。针对这一问题,本发明提供了如下解决方案,请参阅图5,为本发明实施例提供的又一种业务处理方法的交互示意图,所述方法包括:
步骤501、终端向第一分布式节点发送第一操作请求,第一操作请求中包括第一业务对象;
步骤502、第一分布式节点为第一操作请求分配第一标识码g_id=1并g_id=1及第一操作请求发送给分布式节点2;
步骤503、终端向分布式节点1发送第三操作请求,第三操作请求中包括第二业务对象;
步骤504、分布式节点1确定第三操作请求依赖于第一操作请求,则将所述第一标识码作为所述第三操作请求的依赖码;
步骤505、分布式节点1为第三操作请求分配第三标识码g_id=3并将第二操作请求及g_id=3及依赖码pg_id=1发送给分布式节点3;
步骤506、分布式节点3将第三操作请求,g_id=3,pg_id=1转发给控制器;
步骤507、控制器判断所依赖的第一操作请求未处理,暂不处理第三操作请求;
步骤501至步骤507的详细描述可参阅前述步骤401至407,此处不再赘述。
步骤508、控制器获知第一操作请求超过预设时间未处理,;
控制器可在接收到第三操作请求,g_id=3,pg_id=1之后,记录等待第一操作请求的标识码1的状态变化的时长,当等待时间超过预设时长,标识码1仍为未处理状态时,即可发送第三操作请求处理失败通知消息。本实施例中,若标识码1的未处理状态表示操作请求1未处理,则在预设时长内,若操作请求1被成功处理了,则标识码1的状态将更新为已处理状态,若标识码1的未处理状态表示操作请求1处理失败,则在预设时长内标识码1的状态将仍为未处理状态。
步骤509、控制器通过分布式节点3向分布式节点1发送第三操作请求处理失败通知消息;
第三操作请求处理失败通知消息中可以包括第三操作请求的标识码g_id=3,依赖码pg_id=1及处理失败原因,处理失败原因即所依赖的第一操作请求超时未成功处理。
步骤510、分布式节点1将第三操作请求处理失败通知消息发送给云平台界面,以供用户排障。
本实施例中,第一分布式节点会为每个操作请求分配标识码,当后发的操作请求依赖前一操作请求时,第一分布式节点在通过第二分布式节点向控制器发送后一操作请求及标识码时,同时发送依赖码,以使得控制器根据所依赖码的状态确定能否是否处理后一操作请求,即前一操作请求已成功处理时,才处理后一操作请求,否则暂不处理后一操作请求,因而能够保证前后操作请求能够依次处理,避免前一操作请求还未处理,而直接处理后一操作请求导致的处理失败。另外,通过超时判断机制可以及时上报操作请求的处理状态,有助于及时排除故障。
下面请参阅图6,图6为本发明实施例提供的一种第一分布式节点的结构示意图,本发明的第一分布式节点通过至少两个第二分布式节点与控制器通信,所述第一分布式节点包括:
获取单元601,用于获取第一操作请求,所述第一操作请求中包括第一业务对象;
分配单元602,用于按照预设规则为所述第一操作请求分配第一标识码,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
发送单元603,用于通过所述至少两个第二分布式节点中的一个第二分布式节点向所述控制器发送所述第一操作请求及所述第一标识码,以使得所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求。
进一步地,所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:
若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则所述控制器处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则所述控制器不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
进一步地,所述获取单元601还用于,获取第三操作请求,所述第三操作请求中包括第二业务对象;
所述分配单元602还用于,根据所述第二业务对象为所述第三操作请求分配第三标识码,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序;
所述第一分布式节点还包括:
确定单元604,用于确定所述第三操作请求依赖于所述第一操作请求,将所述第一标识码作为所述第三操作请求的依赖码;
所述发送单元603还用于,通过所述至少两个第二分布式节点中的另一个第二分布式节点向所述控制器发送所述第三操作请求,所述第三标识码以及所述第三操作请求的依赖码,以使得所述控制器根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
本实施例中,第一分布式节点会为操作请求分配标识码,以标识包含同一业务对象的不同操作请求对该业务对象的处理顺序,并将操作请求及其标识码对应发送给控制器,以使得控制器根据预设规则及操作请求的标识码确定是否需要处理该操作请求,以保证最终生效的是第一分布式节点最后发出的包含该业务对象的操作请求,以此避免了节点的分布式特性导致的业务处理错误,保证了业务处理的正确性。
通过图6所示实施例描述,本领域的技术人员可以清楚地了解到本申请可借助软件加通用硬件平台的方式来实现。参见图7,为本发明实施例提供的另一种第一分布式节点的结构示意图,该第一分布式节点至少包括通信接口701、处理器702及存储器703。
该存储器703存储一组程序指令,该存储器可以是是高速RAM存储器,也可能是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器等。
该处理器702可以是通用处理器,例如中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP),也可以是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
该处理器702,用于调用该存储器703存储的程序指令,执行如下操作:
获取第一操作请求,所述第一操作请求中包括第一业务对象;
按照预设规则为所述第一操作请求分配第一标识码,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
通过所述至少两个第二分布式节点中的一个第二分布式节点向所述控制器发送所述第一操作请求及所述第一标识码,以使得所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求。
所述第一分布式节点通过所述通信接口701与所述至少两个第二分布式节点通信。
进一步地,控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:
若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则所述控制器处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则所述控制器不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
进一步地,处理器702还用于,
获取第三操作请求,所述第三操作请求中包括第二业务对象;
根据所述第二业务对象为所述第三操作请求分配第三标识码,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序;
确定所述第三操作请求依赖于所述第一操作请求,将所述第一标识码作为所述第三操作请求的依赖码;
通过所述至少两个第二分布式节点中的另一个第二分布式节点向所述控制器发送所述第三操作请求,所述第三标识码以及所述第三操作请求的依赖码,以使得所述控制器根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
请参阅图8,图8为本发明实施例提供的一种控制器的结构示意图,所述控制器包括:
接收单元801,用于接收第一分布式节点通过至少两个第二分布式节点中的一个第二分布式节点发送的第一操作请求和第一标识码,所述第一操作请求中包括第一业务对象,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
确定单元802,用于根据预设规则和所述第一标识码,确定是否需要处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
进一步地,所述接收单元801还用于,接收所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送的第三操作请求,第三标识码及所述第三操作请求的依赖码,所述第三操作请求中包括第二业务对象,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序,所述第一标识码为所述第三操作请求的依赖码;
所述控制器还包括处理单元803,所述处理单元803用于根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
本实施例中,控制器接收的信息包括操作请求及其标识码,标识码用于标识包含同一业务对象的不同操作请求对该业务对象的处理顺序,控制器可以根据预设规则及操作请求的标识码确定是否需要处理该操作请求,以保证最终生效的是第一分布式节点最后发出的包含该业务对象的操作请求,以此避免了节点的分布式特性导致的业务处理错误,保证了业务处理的正确性。
通过图8所示实施例描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。参见图9,为本发明实施例提供的另一种控制器的结构示意图,该控制器至少包括通信接口901、处理器902及存储器903。
该存储器903存储一组程序指令,该存储器可以是是高速RAM存储器,也可能是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器等。
该处理器902可以是通用处理器,例如CPU,NP等,也可以是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
该处理器902,用于调用该存储器903存储的程序指令,执行如下操作:
从所述通信接口901接收第一分布式节点通过至少两个第二分布式节点中的一个第二分布式节点发送的第一操作请求和第一标识码,所述第一操作请求中包括第一业务对象,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
根据预设规则和所述第一标识码,确定是否需要处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
进一步地,处理器902还用于,
从所述通信接口901接收所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送的第三操作请求,第三标识码及所述第三操作请求的依赖码,所述第三操作请求中包括第二业务对象,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序,所述第一标识码为所述第三操作请求的依赖码;
根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
以上装置实施例中未做详细描述的步骤或过程可参阅对应方法实施例的描述,此处不再赘述。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上对本发明实施例所提供的一种业务处理方法及设备进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例,在具体实施方式及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种业务处理方法,应用于包括第一分布式节点和至少两个第二分布式节点的系统中,其特征在于,所述第一分布式节点通过所述至少两个第二分布式节点与控制器通信,所述方法包括:
所述第一分布式节点获取第一操作请求,所述第一操作请求中包括第一业务对象;
所述第一分布式节点按照预设规则为所述第一操作请求分配第一标识码,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
所述第一分布式节点通过所述至少两个第二分布式节点中的一个第二分布式节点向所述控制器发送所述第一操作请求及所述第一标识码,以使得所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求;
所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:
若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
2.根据权利要求1所述的方法,其特征在于,所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:
若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
3.根据权利要求2所述的方法,其特征在于,所述第一标识码为时间戳,或者所述第一标识码是递增或递减的自然数;
所述预设规则是:针对包含同一业务对象的不同操作请求,按照操作请求的先后顺序分配对应的标识码。
4.根据权利要求1至3任意一项所述的方法,其特征在于,还包括:
所述第一分布式节点获取第三操作请求,所述第三操作请求中包括第二业务对象;
所述第一分布式节点按照所述预设规则为所述第三操作请求分配第三标识码,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序;
若所述第一分布式节点确定所述第三操作请求依赖于所述第一操作请求,则将所述第一标识码作为所述第三操作请求的依赖码;
所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点向所述控制器发送所述第三操作请求,所述第三标识码以及所述第三操作请求的依赖码,以使得所述控制器根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
5.一种业务处理方法,应用于包括第一分布式节点和至少两个第二分布式节点的系统中,其特征在于,所述第一分布式节点通过所述至少两个第二分布式节点与控制器通信,所述方法包括:
所述控制器接收所述第一分布式节点通过所述至少两个第二分布式节点中的一个第二分布式节点发送的第一操作请求和第一标识码,所述第一操作请求中包括第一业务对象,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
所述控制器根据预设规则和所述第一标识码,确定是否需要处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述控制器接收所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送的第三操作请求,第三标识码及所述第三操作请求的依赖码,所述第三操作请求中包括第二业务对象,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序,所述第一标识码为所述第三操作请求的依赖码;
所述控制器根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
7.一种第一分布式节点,其特征在于,所述第一分布式节点通过至少两个第二分布式节点与控制器通信,所述第一分布式节点包括:
获取单元,用于获取第一操作请求,所述第一操作请求中包括第一业务对象;
分配单元,用于按照预设规则为所述第一操作请求分配第一标识码,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
发送单元,用于通过所述至少两个第二分布式节点中的一个第二分布式节点向所述控制器发送所述第一操作请求及所述第一标识码,以使得所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求;
所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:
若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
8.根据权利要求7所述的第一分布式节点,其特征在于,所述控制器根据所述预设规则和所述第一标识码确定是否需要处理所述第一操作请求包括:
若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则所述控制器处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则所述控制器不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
9.根据权利要求7或8所述的第一分布式节点,其特征在于,
所述获取单元还用于,获取第三操作请求,所述第三操作请求中包括第二业务对象;
所述分配单元还用于,根据所述第二业务对象为所述第三操作请求分配第三标识码,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序;
所述第一分布式节点还包括:
确定单元,用于确定所述第三操作请求依赖于所述第一操作请求,将所述第一标识码作为所述第三操作请求的依赖码;
所述发送单元还用于,通过所述至少两个第二分布式节点中的另一个第二分布式节点向所述控制器发送所述第三操作请求,所述第三标识码以及所述第三操作请求的依赖码,以使得所述控制器根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
10.一种控制器,其特征在于,包括:
接收单元,用于接收第一分布式节点通过至少两个第二分布式节点中的一个第二分布式节点发送的第一操作请求和第一标识码,所述第一操作请求中包括第一业务对象,所述第一标识码用于标识所述第一操作请求对所述第一业务对象的处理顺序;
确定单元,用于根据预设规则和所述第一标识码,确定是否需要处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之后发送,则处理所述第一操作请求;若根据所述预设规则和所述第一标识码,确定所述第一操作请求是在所述控制器已处理的第二操作请求之前发送,则不处理所述第一操作请求;所述第二操作请求由所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送给所述控制器,所述第二操作请求中包括所述第一业务对象。
11.根据权利要求10所述的控制器,其特征在于,
所述接收单元还用于,接收所述第一分布式节点通过所述至少两个第二分布式节点中的另一个第二分布式节点发送的第三操作请求,第三标识码及所述第三操作请求的依赖码,所述第三操作请求中包括第二业务对象,所述第三标识码用于标识所述第三操作请求对所述第二业务对象的处理顺序,所述第一标识码为所述第三操作请求的依赖码;
所述控制器还包括处理单元,所述处理单元用于根据所述第三操作请求的依赖码,在处理所述第一操作请求之后处理所述第三操作请求。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510621776.XA CN106559439B (zh) | 2015-09-25 | 2015-09-25 | 一种业务处理方法及设备 |
PCT/CN2016/084750 WO2017049959A1 (zh) | 2015-09-25 | 2016-06-03 | 一种业务处理方法及设备 |
EP16847841.0A EP3346671B1 (en) | 2015-09-25 | 2016-06-03 | Service processing method and equipment |
US15/935,788 US10951732B2 (en) | 2015-09-25 | 2018-03-26 | Service processing method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510621776.XA CN106559439B (zh) | 2015-09-25 | 2015-09-25 | 一种业务处理方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106559439A CN106559439A (zh) | 2017-04-05 |
CN106559439B true CN106559439B (zh) | 2019-10-01 |
Family
ID=58385807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510621776.XA Active CN106559439B (zh) | 2015-09-25 | 2015-09-25 | 一种业务处理方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10951732B2 (zh) |
EP (1) | EP3346671B1 (zh) |
CN (1) | CN106559439B (zh) |
WO (1) | WO2017049959A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200218994A1 (en) * | 2019-01-08 | 2020-07-09 | International Business Machines Corporation | Generating a sequence rule |
CN113127023B (zh) * | 2019-12-31 | 2024-04-09 | 华为技术有限公司 | 业务升级的方法、装置和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101589594A (zh) * | 2007-01-22 | 2009-11-25 | 高通股份有限公司 | 针对基于网络的移动性管理系统的多链路支持 |
CN101589602A (zh) * | 2007-01-22 | 2009-11-25 | 高通股份有限公司 | 用于基于网络的移动性管理系统的消息排序 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6971098B2 (en) * | 2001-06-27 | 2005-11-29 | Intel Corporation | Method and apparatus for managing transaction requests in a multi-node architecture |
US20060195606A1 (en) * | 2003-08-22 | 2006-08-31 | Wardwell David R | Method and system for collating data in a distributed computer network |
CN1859263B (zh) * | 2005-11-16 | 2010-10-06 | 华为技术有限公司 | 信元重排序方法、使用该方法的信元处理方法及装置 |
WO2009031617A1 (ja) * | 2007-09-05 | 2009-03-12 | Nec Corporation | プロキシモバイルipシステム、アクセスゲートウェイ及びそれらに用いる登録通知メッセージ順序判定方法 |
CN102714628B (zh) * | 2010-01-05 | 2015-11-25 | 日本电气株式会社 | 通信系统、控制装置、处理规则设置方法和分组传输方法 |
BR112012021765A2 (pt) * | 2010-03-17 | 2016-05-10 | Nec Corp | sistema de comunicação, nó, servidor de controle, método de comunicação e programa |
US9203748B2 (en) * | 2012-12-24 | 2015-12-01 | Huawei Technologies Co., Ltd. | Software defined network-based data processing method, node, and system |
US9246778B2 (en) * | 2013-08-12 | 2016-01-26 | International Business Machines Corporation | System to enhance performance, throughput and reliability of an existing cloud offering |
US9667416B1 (en) * | 2014-12-18 | 2017-05-30 | EMC IP Holding Company LLC | Protecting master encryption keys in a distributed computing environment |
CN104883695A (zh) * | 2015-04-24 | 2015-09-02 | 南京航空航天大学 | 一种多跳认知无线电网络架构及部署方法 |
-
2015
- 2015-09-25 CN CN201510621776.XA patent/CN106559439B/zh active Active
-
2016
- 2016-06-03 WO PCT/CN2016/084750 patent/WO2017049959A1/zh active Application Filing
- 2016-06-03 EP EP16847841.0A patent/EP3346671B1/en active Active
-
2018
- 2018-03-26 US US15/935,788 patent/US10951732B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101589594A (zh) * | 2007-01-22 | 2009-11-25 | 高通股份有限公司 | 针对基于网络的移动性管理系统的多链路支持 |
CN101589602A (zh) * | 2007-01-22 | 2009-11-25 | 高通股份有限公司 | 用于基于网络的移动性管理系统的消息排序 |
Non-Patent Citations (1)
Title |
---|
immediate ordered service in distributed systems;KEARNS ET AL.;《9th internatioanl conference on distributed computing systems》;19890605;611-618 * |
Also Published As
Publication number | Publication date |
---|---|
EP3346671A4 (en) | 2018-08-29 |
US20180219971A1 (en) | 2018-08-02 |
EP3346671B1 (en) | 2020-08-26 |
WO2017049959A1 (zh) | 2017-03-30 |
EP3346671A1 (en) | 2018-07-11 |
CN106559439A (zh) | 2017-04-05 |
US10951732B2 (en) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111984395B (zh) | 一种数据迁移方法、系统及计算机可读存储介质 | |
US20160352578A1 (en) | System and method for adaptive paths locator for virtual network function links | |
US10523753B2 (en) | Broadcast data operations in distributed file systems | |
CN111654399B (zh) | 基于sd-wan的组网方法、装置、设备及存储介质 | |
KR20190029486A (ko) | 탄력적 허니넷 시스템 및 그 동작 방법 | |
CN106161396B (zh) | 一种实现虚拟机网络访问控制的方法及装置 | |
EP3200416A1 (en) | Sas system, traversal method and device thereof | |
CN113505027B (zh) | 业务系统备份方法、装置、设备及存储介质 | |
US11070614B2 (en) | Load balancing method and related apparatus | |
CN106294627A (zh) | 数据管理方法及数据服务器 | |
CN106559439B (zh) | 一种业务处理方法及设备 | |
CN102938711B (zh) | 网口信息配置方法及网络设备 | |
CN110798402A (zh) | 业务消息处理方法、装置、设备及存储介质 | |
CN108768849A (zh) | 报文处理方法及装置 | |
CN107819594B (zh) | 网络故障定位方法及装置 | |
CN110324202B (zh) | 一种探测线路质量的方法和装置 | |
US11595419B2 (en) | Communication monitoring system, communication monitoring apparatus, and communication monitoring method | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 | |
CN107493181B (zh) | 虚拟扩展端口的指示方法和装置 | |
CN105939278B (zh) | 一种流量处理方法及装置 | |
WO2021082538A1 (zh) | 会话控制处理方法、装置、设备及介质 | |
CN104869532B (zh) | 一种群组成员管理方法和装置 | |
CN108418709B (zh) | 端口聚合方法及装置 | |
CN105760431A (zh) | 一种文件块的迁移方法和装置 | |
CN108874530B (zh) | 对报文转发设备的业务板进行扩容、缩容的方法和装置 |
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 |