CN113051182B - 一种基于分布式事务的灰度发布方法、装置及设备 - Google Patents

一种基于分布式事务的灰度发布方法、装置及设备 Download PDF

Info

Publication number
CN113051182B
CN113051182B CN202110486483.0A CN202110486483A CN113051182B CN 113051182 B CN113051182 B CN 113051182B CN 202110486483 A CN202110486483 A CN 202110486483A CN 113051182 B CN113051182 B CN 113051182B
Authority
CN
China
Prior art keywords
gray
transaction
release
gray level
processed
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
Application number
CN202110486483.0A
Other languages
English (en)
Other versions
CN113051182A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110486483.0A priority Critical patent/CN113051182B/zh
Publication of CN113051182A publication Critical patent/CN113051182A/zh
Application granted granted Critical
Publication of CN113051182B publication Critical patent/CN113051182B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本说明书实施例提供一种基于分布式事务的灰度发布方法、装置及设备,可应用于大数据技术领域。所述方法包括:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务;基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器;将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。上述方法保证针对不同子事务的灰度发布的有效区分,有效地实现了灰度发布,改善了应用或软件的测试过程。

Description

一种基于分布式事务的灰度发布方法、装置及设备
技术领域
本说明书实施例涉及大数据技术领域,特别涉及一种基于分布式事务的灰度发布方法、装置及设备。
背景技术
灰度发布是一种在产品或应用上线之前对其进行有效测试的方式。在完成新版本的产品或应用后,可以将新开发的版本提供给一部分目标测试用户,而提供给其他用户的仍然是原有版本。相应的,用于处理产品和应用的节点包括正常节点和灰度发布节点,分别应用在不同的环境中,从而实现灰度发布的效果。
分布式事务是一种有效保障业务执行效果的事务处理方式,往往将一个业务拆分为多项子业务,由相应的节点进行执行。在事务处理的第一阶段,对各个节点的处理事务中所涉及的资源进行冻结或者预配置,在第二阶段再由这些节点正式实现事务的处理,从而在一阶段执行出错时能够有效避免一阶段错误结果所造成的干扰。
随着分布式事务的应用日益广泛,基于分布式事务也不可避免的存在灰度发布的需求。但是,由于分布式事务涉及多个节点对于子事务的顺序执行,这些节点又存在不同的灰度发布要求,使得基于分布式事务处理过程的灰度发布具有较大的难度,无法有效地实现灰度发布过程。因此,目前亟需一种能够有效地基于分布式事务实现灰度发布的方法。
发明内容
本说明书实施例的目的是提供一种基于分布式事务的灰度发布方法、装置及设备,以解决如何有效地基于分布式事务实现灰度发布的问题。
为解决上述技术问题,本说明书实施例提供一种基于分布式事务的灰度发布方法,应用于灰度发布系统;所述方法包括:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务;基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器;将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
本说明书实施例还提出一种基于分布式事务的灰度发布装置,包括:灰度发布任务获取模块,用于获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;灰度发布链路确定模块,用于根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务;灰度标签设置模块,用于基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器;灰度标签发送模块,用于将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
本说明书实施例还提出一种灰度发布系统,包括存储器和处理器;所述存储器,用于存储计算机程序指令;所述处理器,用于执行所述计算机程序指令以实现以下步骤:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务;基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器;将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
为了解决上述技术问题,本说明书实施例还提出一种基于分布式事务的灰度发布方法,应用于分布式事务系统,所述方法包括:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器;将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
本说明书实施例还提出一种基于分布式事务的灰度发布装置,包括:灰度发布任务获取模块,用于获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;灰度标签接收模块,用于接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器;传递模块,用于将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
本说明书实施例还提出一种分布式事务系统,包括存储器和处理器;所述存储器,用于存储计算机程序指令;所述处理器,用于执行所述计算机程序指令以实现以下步骤:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器;将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
由以上本说明书实施例提供的技术方案可见,本说明书实施例中,在基于分布式事务的执行流程进行灰度发布时,基于灰度发布任务中的各项待处理事务预先确定灰度发布链路,即确定用于具体执行待处理事务的多个节点服务器,再根据灰度发布的要求针对这些节点服务器设置相应的灰度标签,从而在后续的事务处理过程中,可以根据灰度标签确定当前所针对的是灰度发布事务还是正常事务,顺利地基于分布式事务的处理逻辑实现。通过上述方法,在基于分布式事务的执行流程对各个子事务进行处理的同时,保证了针对不同子事务的灰度发布的有效区分,有效地实现了灰度发布,改善了应用或软件的测试过程。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书实施例一种基于分布式事务的灰度发布系统的结构图;
图2为本说明书实施例一种基于分布式事务的灰度发布方法的流程图;
图3为本说明书实施例一种灰度发布架构的示意图;
图4为本说明书实施例一种基于分布式事务的灰度发布方法的流程图;
图5为本说明书实施例一种基于分布式事务的灰度发布方法的流程图;
图6为本说明书实施例一种基于分布式事务的灰度发布装置的模块图;
图7为本说明书实施例一种基于分布式事务的灰度发布装置的模块图;
图8为本说明书实施例一种灰度发布系统的结构图;
图9为本说明书实施例一种分布式事务系统的结构图。
具体实施方式
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
为了更好地理解本申请的发明构思,首先介绍本说明书实施例一种基于分布式事务的灰度发布系统。如图1所示,所述基于分布式事务的灰度发布系统100包括灰度发布系统110、分布式事务系统120和节点服务器130。
灰度发布系统用于接收灰度发布请求,以及针对灰度发布请求设置具体的执行流程。由于灰度发布的过程中往往涉及执行灰度发布的节点的选取,因此所述灰度发布系统可以在确定执行灰度发布任务的链路后,根据所述链路中的各个节点分配用于执行灰度发布的节点。此外,还可以构造相应的灰度标签,使得后续分布式事务系统在处理事务时能够基于灰度标签有效地实现确定相应的节点,以更好地完成灰度发布流程。
分布式事务系统可以用于实现分布式事务的调度。分布式事务一般包含有较多的子事务,由不同的节点分别进行处理,分布式事务系统可以实现这些节点处理流程中的调度工作,帮助实现分布式事务的具体执行过程。具体的,分布式事务的执行过程可以包括一阶段和二阶段,一阶段主要用于实现各个节点服务器的资源配置工作,二阶段主要用于执行具体的事务处理过程,例如针对预先配置的资源的调度或扣除等。
节点服务器可以处理相应的事务,例如,在购物订单中,可以存在负责扣款的服务器、负责创建订单的服务器、负责发货的服务器。由于分布式事务中一般包含有多个不同的子事务,因此,可以通过这些节点服务器完成相应的事务的处理。
在本说明书实施例中,用于处理同一事务的节点服务器可以包括正常服务器和灰度发布服务器。灰度发布服务器所应用的环境可以与正常处理事务时的环境相隔离,从而实现灰度发布。而针对不同的灰度发布需求,在不同的任务中,可能对于灰度发布中的环节存在有差异,从而需要根据灰度发布任务的需求确定执行过程中设置的灰度发布服务器和正常服务器。
需要说明的是,灰度发布系统和分布式事务系统可以分别位于不同设备上,也可以是同一个系统的不同部分,即位于同一个设备上,实际应用中对此不做限制。
基于上述基于分布式事务的灰度发布系统,介绍本说明书实施例一种基于分布式事务的灰度发布方法。所述基于分布式事务的灰度发布方法的执行主体为所述基于分布式事务的灰度发布系统。如图2所示,所述基于分布式事务的灰度发布方法可以包括以下具体实施步骤。
S210:灰度发布系统获取灰度发布任务。
灰度发布任务可以是要求执行灰度发布的请求。灰度发布系统在接收到所述灰度发布任务之后,可以基于该任务执行对应的灰度发布流程。所述灰度发布任务可以是测试人员基于终端设备所发出的测试请求,也可以是系统中基于预设逻辑所生成的请求,对此不做限制。
所述灰度发布任务中可以包含具体的要求,例如灰度发布的内容、灰度发布所针对受众等,基于这些具体的要求构造相应的灰度发布任务。所述灰度发布任务也可以只对应有相应的标识,从而能够根据灰度发布任务的标识确定对应的预先设置的模板,并基于模板生成灰度发布任务。实际应用中也可以根据需要利用其他方式生成灰度发布任务,并不限于上述示例,在此不再赘述。
所述灰度发布任务可以是基于分布式事务的灰度发布方式。分布式事务处理流程包括一阶段和二阶段。一阶段主要用于在各个节点服务器中配置用于处理待处理事务的应用资源,一般不进行业务的实际处理操作,二阶段用于使各个节点服务器基于所述应用资源完成待处理事务的处理,可以根据一阶段中对于资源的配置情况,针对各个节点实现具体的事务执行过程。相应的,一般在二阶段时实现具体的灰度发布的效果。
所述灰度发布任务中可以包含有至少两项待处理事务。所述待处理事务可以具有对应的事务类型,从而被相应的节点服务器所处理。对应于同一类型的待处理事务,也可以预先设置应用于正常事务的节点服务器和应用于灰度发布环境的节点服务器。应用于正常事务的节点服务器基于一般的流程实现待处理事务的处理,在事务处理的过程也可以与实际应用中的数据进行交互。应用于灰度发布环境的节点服务器被设置在灰度发布环境中,所述灰度发布环境可以与正常的数据交互环境相隔离,从而实现灰度发布。
S220:灰度发布系统根据所述灰度发布任务确定灰度发布链路。
灰度发布链路可以是基于灰度发布任务的处理流程所设置的节点关系,用于确定节点服务器之间执行待处理事务的顺序。所述灰度发布链路中包含有至少两个节点服务器,这些节点服务器可以依次对应有需要执行的待处理事务。通过确定灰度发布链路,能够有效对分布式事务结构的事务进行处理。
在一些实施方式中,确定所述灰度发布链路时,可以先根据灰度发布任务中的待处理事务,确定用于处理各个待处理事务的至少一个候选节点服务器。所述候选节点服务器中可以包含有应用于正常环境的节点服务器和/或应用于灰度发布环境的节点服务器。基于灰度发布任务中的需求,可以确定处理对应待处理事务时是否需要基于灰度发布的流程进行执行。在待处理事务为灰度发布事务的情况下,从所述候选节点服务器中选取应用于灰度发布环境的节点服务器;在待处理事务为正常事务的情况下,从所述候选节点服务器中选取应用于正常环境的节点服务器。基于所选取的节点服务器,能够有效实现灰度发布链路的构建。
在一些实施方式中,若基于灰度发布任务的要求,需要针对某一待处理事务执行灰度发布,但对应于所述待处理事务的候选节点服务器中不包含应用于灰度发布环境的节点服务器,则可以对所述待处理事务进行降级,将其调整为正常事务。相应的,可以从候选节点服务器中选取应用于正常环境的节点服务器,从而保证了灰度发布过程的有效进行,避免因为设备的错误影响灰度发布进程。
由于灰度发布任务一般具有多样的测试方式,针对不同的节点服务器可能需要设置较为灵活的灰度发布方式,每一次灰度发布时所设置的链路,以及所设置的链路中针对不同节点的灰度发布的需求都可能存在差异,因此,可以通过灰度标签的方式对具体的灰度发布的过程进行设置,从而能够灵活地配置灰度发布链路,有效地适应不同灰度发布的要求。
在一些实施方式中,所述灰度发布任务的一阶段事务可以由所述灰度发布系统进行执行。具体的,灰度发布链路可以将所述一阶段事务分配至灰度发布链路中的各个节点服务器以使所述节点服务器完成应用资源的配置。具体的资源配置过程可以参考实际应用中处理分布式事务时的操作,在此不再赘述。
S230:灰度发布系统基于灰度发布任务设置对应于所述灰度发布链路的灰度标签。
在确定灰度发布链路,即明确了处理待处理事务的节点的情况下,灰度发布系统可以基于灰度发布链路构造灰度标签。灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器,以使分布式事务端在后续步骤中基于灰度标签能够判断具体的执行灰度发布任务的节点信息,保障了处理过程中的一致性。
所述灰度标签还可以用于标识这些节点服务器的处理过程,即节点服务器在灰度发布链路中的顺序关系,从而能够更为有效地实现具体的灰度发布过程。
S240:灰度发布系统将所述灰度标签发送至分布式事务系统。
在生成所述灰度标签之后灰度发布系统可以将所述灰度标签发送至分布式事务处理系统,由分布式事务处理系统调度各个节点服务器处理事务时,基于所述灰度标签确定节点的选取以及灰度或正常节点的分配情况。
在一些实施方式中,所述灰度发布系统可以将所述灰度标签存储至应用数据库中,以使分布式事务系统在执行灰度发布任务时,直接从应用数据库中调用所述灰度标签,从而简化传递灰度标签的步骤。
S250:分布式事务系统将所述灰度发布任务和灰度标签传递至灰度发布链路中的各个节点服务器。
分布式事务系统在接收到灰度测试任务后,同时还可以获取灰度发布系统所传输的灰度标签,从而能够基于灰度标签标识相应的执行灰度发布操作的节点,实现具体的处理流程。
基于步骤S240中的示例,分布式事务系统可以是从存储灰度标签的数据表中提取相应的灰度标签,从而执行后续步骤。
在得到所述灰度标签之后,分布式事务系统可以确定用于执行所述灰度发布任务的灰度发布链路,从而能够利用灰度发布链路中所包含的节点服务器以及这些节点服务器之间的对应关系,依次对相应的待处理事务进行处理以完成所述灰度发布任务。
S260:节点服务器处理所述待处理事务。
确定服务调度链路之后,所述分布式事务端可以将所述灰度发布任务发送至服务调度链路,以使服务调度链路中的节点对相应的待处理事务进行处理,从而完成相应的灰度发布过程。具体的处理过程可以基于实际应用的需求进行设置,在此不再赘述。
在一些实施方式中,所述待处理事务包括一阶段事务和二阶段事务的情况下,在当前步骤中可以是由节点服务器完成相应的二阶段事务的处理,实现具体的资源的扣除和配置等操作。具体的执行过程可以参考实际应用中执行分布式事务的过程,在此不再赘述。
在一些实施方式中,节点服务器在处理二阶段事务之前,可以判断一阶段事务处理是否正常。在所述一阶段事务处理正常的情况下,节点服务器基于提交流程处理所述待处理事务,所述提交流程,用于正常执行并完成所述待处理事务。在所述一阶段事务处理异常的情况下,节点服务器基于回滚流程处理所述待处理事务,所述回滚流程,用于取消一阶段事务中的操作过程。
下面结合附图3利用一个具体的场景示例进行说明,如图3所示,在处理对应于灰度测试的主事务时,可以先执行步骤1,在切面执行时获取灰度标签,进而执行步骤2,基于一阶段的try方法对灰度标签拼接try方法字段,进而存储到本地数据库中。之后,在二阶段执行时,可以执行步骤3,进行字段拆分以获取对应于主事务的灰度标签,发起二阶段调用,针对各个计算节点所处理的子事务,执行具体的提交或回滚流程,从而有效地实现了全链路灰度发布的过程。
基于上述实施例和场景示例的介绍,可以看出,本方法中,在基于分布式事务的执行流程进行灰度发布时,基于灰度发布任务中的各项待处理事务预先确定灰度发布链路,即确定用于具体执行待处理事务的多个节点服务器,再根据灰度发布的要求针对这些节点服务器设置相应的灰度标签,从而在后续的事务处理过程中,可以根据灰度标签确定当前所针对的是灰度发布事务还是正常事务,顺利地基于分布式事务的处理逻辑实现。通过上述方法,在基于分布式事务的执行流程对各个子事务进行处理的同时,保证了针对不同子事务的灰度发布的有效区分,有效地实现了灰度发布,改善了应用或软件的测试过程。
基于图2所对应的基于分布式事务的灰度发布方法,介绍本说明书实施例另一种基于分布式事务的灰度发布方法。所述基于分布式事务的灰度发布方法的执行主体为灰度发布系统。如图4所示,所述基于分布式事务的灰度发布方法可以包括以下具体实施步骤。
S410:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务。
对于该步骤的具体描述可以参考步骤S210中的说明,在此不再赘述。
S420:根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务。
对于该步骤的具体描述可以参考步骤S220中的说明,在此不再赘述。
S430:基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器。
对于该步骤的具体描述可以参考步骤S230中的说明,在此不再赘述。
S440:将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
对于该步骤的具体描述可以参考步骤S240、S250、S260中的说明,在此不再赘述。
基于图2所对应的基于分布式事务的灰度发布方法,介绍本说明书实施例另一种基于分布式事务的灰度发布方法。所述基于分布式事务的灰度发布方法的执行主体为所述分布式事务系统。如图5所示,所述基于分布式事务的灰度发布方法可以包括以下具体实施步骤。
S510:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务。
对于该步骤的具体描述可以参考步骤S210中的说明,在此不再赘述。
S520:接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器。
对于该步骤的具体描述可以参考步骤S220、S230、S240中的说明,在此不再赘述。
S530:将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
对于该步骤的具体描述可以参考步骤S250、S260中的说明,在此不再赘述。
基于图4所对应的基于分布式事务的灰度发布方法,介绍本说明书实施例一种基于分布式事务的灰度发布装置。所述基于分布式事务的灰度发布装置设置于灰度发布系统。如图6所示,所述基于分布式事务的灰度发布装置包括以下模块。
灰度发布任务获取模块610,用于获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务。
灰度发布链路确定模块620,用于根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务。
灰度标签设置模块630,用于基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器。
灰度标签发送模块640,用于将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
基于图5所对应的基于分布式事务的灰度发布方法,介绍本说明书实施例一种基于分布式事务的灰度发布装置。所述基于分布式事务的灰度发布装置设置于所述分布式事务系统。如图7所示,所述基于分布式事务的灰度发布装置包括以下模块。
灰度发布任务获取模块710,用于获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务。
灰度标签接收模块720,用于接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器。
传递模块730,用于将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
基于图4所对应的基于分布式事务的灰度发布方法,本说明书实施例提供一种灰度发布系统。如图8所示,所述灰度发布系统可以包括存储器和处理器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。所述存储器可以用于存储计算机程序指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以执行所述计算机程序指令实现以下步骤:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务;基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器;将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
基于图5所对应的基于分布式事务的灰度发布方法,本说明书实施例提供一种分布式事务系统。如图9所示,所述分布式事务系统可以包括存储器和处理器。
在本实施例中,所述存储器可以按任何适当的方式实现。例如,所述存储器可以为只读存储器、机械硬盘、固态硬盘、或U盘等。所述存储器可以用于存储计算机程序指令。
在本实施例中,所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述处理器可以执行所述计算机程序指令实现以下步骤:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器;将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
需要说明的是,上述基于分布式事务的灰度发布方法、装置及设备可以应用于大数据技术领域,也可以应用至除大数据技术领域外的其他技术领域,对此不做限制。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的第一硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书可用于众多第一或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (11)

1.一种基于分布式事务的灰度发布方法,其特征在于,应用于灰度发布系统;所述方法包括:
获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;所述待处理事务包括正常事务和/或灰度发布事务;
根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务;所述根据所述灰度发布任务确定灰度发布链路,包括:获取用于处理所述待处理事务的至少一个候选节点服务器;在待处理事务为灰度发布事务的情况下,从所述候选节点服务器中选取应用于灰度发布环境的节点服务器;基于各个所选取的节点服务器构建所述灰度发布链路;所述待处理事务包括一阶段事务和二阶段事务;所述一阶段事务,用于在各个节点服务器中配置用于处理待处理事务的应用资源;所述二阶段事务,用于使各个节点服务器基于所述应用资源完成待处理事务的处理;
基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器;
将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
2.如权利要求1所述的方法,其特征在于,所述从所述候选节点服务器中选取应用于灰度发布环境的节点服务器,包括:
若所述候选节点服务器中不包含应用于灰度发布环境的节点服务器,将所述待处理事务调整为正常事务;
从候选节点服务器中选取应用于正常环境的节点服务器。
3.如权利要求1所述的方法,其特征在于,所述根据所述灰度发布任务确定灰度发布链路之后,还包括:
基于灰度发布链路将所述一阶段事务分配至灰度发布链路中的各个节点服务器以使所述节点服务器完成应用资源的配置。
4.如权利要求1所述的方法,其特征在于,所述将所述灰度标签发送至分布式事务系统,包括:
将所述灰度标签存储至应用数据库中,以使分布式事务系统在执行灰度发布任务时从所述应用数据库中调用所述灰度标签。
5.一种基于分布式事务的灰度发布装置,其特征在于,包括:
灰度发布任务获取模块,用于获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;所述待处理事务包括正常事务和/或灰度发布事务;
灰度发布链路确定模块,用于根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务;所述根据所述灰度发布任务确定灰度发布链路,包括:获取用于处理所述待处理事务的至少一个候选节点服务器;在待处理事务为灰度发布事务的情况下,从所述候选节点服务器中选取应用于灰度发布环境的节点服务器;基于各个所选取的节点服务器构建所述灰度发布链路;所述待处理事务包括一阶段事务和二阶段事务;所述一阶段事务,用于在各个节点服务器中配置用于处理待处理事务的应用资源;所述二阶段事务,用于使各个节点服务器基于所述应用资源完成待处理事务的处理;
灰度标签设置模块,用于基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器;
灰度标签发送模块,用于将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
6.一种灰度发布系统,包括存储器和处理器;
所述存储器,用于存储计算机程序指令;
所述处理器,用于执行所述计算机程序指令以实现以下步骤:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;所述待处理事务包括正常事务和/或灰度发布事务;根据所述灰度发布任务确定灰度发布链路;所述灰度发布链路中包含有至少两个节点服务器;所述节点服务器用于分别处理所述待处理事务;所述根据所述灰度发布任务确定灰度发布链路,包括:获取用于处理所述待处理事务的至少一个候选节点服务器;在待处理事务为灰度发布事务的情况下,从所述候选节点服务器中选取应用于灰度发布环境的节点服务器;基于各个所选取的节点服务器构建所述灰度发布链路;所述待处理事务包括一阶段事务和二阶段事务;所述一阶段事务,用于在各个节点服务器中配置用于处理待处理事务的应用资源;所述二阶段事务,用于使各个节点服务器基于所述应用资源完成待处理事务的处理;基于灰度发布任务设置对应于所述灰度发布链路的灰度标签;所述灰度标签用于限定灰度发布链路中用于执行灰度发布的节点服务器;将所述灰度标签发送至分布式事务系统以使所述分布式事务系统基于所述灰度标签执行所述灰度发布任务。
7.一种基于分布式事务的灰度发布方法,其特征在于,应用于分布式事务系统,所述方法包括:
获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;所述待处理事务包括正常事务和/或灰度发布事务;
接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器;所述灰度发布链路通过以下方式确定:获取用于处理所述待处理事务的至少一个候选节点服务器;在待处理事务为灰度发布事务的情况下,从所述候选节点服务器中选取应用于灰度发布环境的节点服务器;基于各个所选取的节点服务器构建所述灰度发布链路;所述待处理事务包括一阶段事务和二阶段事务;所述一阶段事务,用于在各个节点服务器中配置用于处理待处理事务的应用资源;所述二阶段事务,用于使各个节点服务器基于所述应用资源完成待处理事务的处理;
将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
8.如权利要求7所述的方法,其特征在于,所述将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,包括:
将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使所述节点服务器执行所述二阶段事务。
9.如权利要求7所述的方法,其特征在于,所述节点服务器执行对应的待处理事务,包括:
在所述一阶段事务处理正常的情况下,节点服务器基于提交流程处理所述待处理事务,所述提交流程,用于正常执行并完成所述待处理事务,或,
在所述一阶段事务处理异常的情况下,节点服务器基于回滚流程处理所述待处理事务,所述回滚流程,用于取消一阶段事务中的操作过程。
10.一种基于分布式事务的灰度发布装置,其特征在于,包括:
灰度发布任务获取模块,用于获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;所述待处理事务包括正常事务和/或灰度发布事务;
灰度标签接收模块,用于接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器;所述灰度发布链路通过以下方式确定:获取用于处理所述待处理事务的至少一个候选节点服务器;在待处理事务为灰度发布事务的情况下,从所述候选节点服务器中选取应用于灰度发布环境的节点服务器;基于各个所选取的节点服务器构建所述灰度发布链路;所述待处理事务包括一阶段事务和二阶段事务;所述一阶段事务,用于在各个节点服务器中配置用于处理待处理事务的应用资源;所述二阶段事务,用于使各个节点服务器基于所述应用资源完成待处理事务的处理;
传递模块,用于将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
11.一种分布式事务系统,包括存储器和处理器;
所述存储器,用于存储计算机程序指令;
所述处理器,用于执行所述计算机程序指令以实现以下步骤:获取灰度发布任务;所述灰度发布任务中包含有至少两项待处理事务;所述待处理事务包括正常事务和/或灰度发布事务;接收灰度发布系统发送的灰度标签;所述灰度标签用于表示灰度发布链路和所述灰度发布链路中执行灰度发布的节点服务器;所述灰度发布链路中包括至少两个节点服务器;所述灰度发布链路通过以下方式确定:获取用于处理所述待处理事务的至少一个候选节点服务器;在待处理事务为灰度发布事务的情况下,从所述候选节点服务器中选取应用于灰度发布环境的节点服务器;基于各个所选取的节点服务器构建所述灰度发布链路;所述待处理事务包括一阶段事务和二阶段事务;所述一阶段事务,用于在各个节点服务器中配置用于处理待处理事务的应用资源;所述二阶段事务,用于使各个节点服务器基于所述应用资源完成待处理事务的处理;将所述灰度发布任务和灰度标签基于所述灰度发布链路传递至各个节点服务器,以使节点服务器执行对应的待处理事务。
CN202110486483.0A 2021-04-30 2021-04-30 一种基于分布式事务的灰度发布方法、装置及设备 Active CN113051182B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110486483.0A CN113051182B (zh) 2021-04-30 2021-04-30 一种基于分布式事务的灰度发布方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110486483.0A CN113051182B (zh) 2021-04-30 2021-04-30 一种基于分布式事务的灰度发布方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113051182A CN113051182A (zh) 2021-06-29
CN113051182B true CN113051182B (zh) 2024-02-09

Family

ID=76518146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110486483.0A Active CN113051182B (zh) 2021-04-30 2021-04-30 一种基于分布式事务的灰度发布方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113051182B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391655A (zh) * 2017-08-09 2019-02-26 腾讯科技(深圳)有限公司 服务灰度发布方法、装置、系统及存储介质
CN110071960A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 管理灰度发布的方法、系统、设备及存储介质
CN110471746A (zh) * 2019-08-22 2019-11-19 中国工商银行股份有限公司 一种分布式事务回调方法、装置及系统
CN111786885A (zh) * 2020-06-23 2020-10-16 中国工商银行股份有限公司 分布式全链路灰度路由方法及装置
CN111953780A (zh) * 2020-08-13 2020-11-17 中国工商银行股份有限公司 微服务灰度发布方法、装置、设备、系统及存储介质
CN112699038A (zh) * 2020-12-30 2021-04-23 杭州贝嘟科技有限公司 版本测试方法、装置、系统和计算机设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109391655A (zh) * 2017-08-09 2019-02-26 腾讯科技(深圳)有限公司 服务灰度发布方法、装置、系统及存储介质
CN110071960A (zh) * 2019-03-12 2019-07-30 平安科技(深圳)有限公司 管理灰度发布的方法、系统、设备及存储介质
CN110471746A (zh) * 2019-08-22 2019-11-19 中国工商银行股份有限公司 一种分布式事务回调方法、装置及系统
CN111786885A (zh) * 2020-06-23 2020-10-16 中国工商银行股份有限公司 分布式全链路灰度路由方法及装置
CN111953780A (zh) * 2020-08-13 2020-11-17 中国工商银行股份有限公司 微服务灰度发布方法、装置、设备、系统及存储介质
CN112699038A (zh) * 2020-12-30 2021-04-23 杭州贝嘟科技有限公司 版本测试方法、装置、系统和计算机设备

Also Published As

Publication number Publication date
CN113051182A (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
CN110806923B (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
CN108345977B (zh) 一种业务处理方法及装置
CN107016029B (zh) 一种业务数据的处理方法、装置及系统
CN100511156C (zh) 强制性地终止输入/输出操作阻止的线程的设备和方法
CN111552945B (zh) 一种资源处理方法、装置及设备
US9086911B2 (en) Multiprocessing transaction recovery manager
CN109522128B (zh) 分段式多线程任务执行方法及装置
CN107196772A (zh) 一种广播消息的方法及装置
CN110609755A (zh) 跨区块链节点的消息处理方法及装置、设备、介质
CN111899008A (zh) 资源转移方法、装置、设备及系统
CN110992040A (zh) 交易处理方法、装置及设备
TW436701B (en) Task and stack manager for digital video decoding
US8812578B2 (en) Establishing future start times for jobs to be executed in a multi-cluster environment
CN112965809A (zh) 深度学习任务处理系统和方法
CN111178846B (zh) 一种工作流文件生成方法、装置、设备及存储介质
CN113051182B (zh) 一种基于分布式事务的灰度发布方法、装置及设备
CN113760561A (zh) 一种数据处理方法和装置
CN110046028B (zh) 数据处理方法、装置及服务器
CN111176641A (zh) 流程节点执行方法、装置、介质及电子设备
US6675238B1 (en) Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor
CN112835707A (zh) 分布式系统负载调度方法、装置、计算机存储介质及设备
CN107247621B (zh) 批处理任务的调度方法及装置
CN113037871A (zh) 会议通话的恢复方法、装置、系统、电子设备和可读存储介质
CN112099956A (zh) 一种资源分配方法、装置及设备
Handte et al. Supporting pluggable configuration algorithms in pcom

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