CN116578395B - 事务处理方法、系统、装置、电子设备及存储介质 - Google Patents

事务处理方法、系统、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116578395B
CN116578395B CN202310859509.0A CN202310859509A CN116578395B CN 116578395 B CN116578395 B CN 116578395B CN 202310859509 A CN202310859509 A CN 202310859509A CN 116578395 B CN116578395 B CN 116578395B
Authority
CN
China
Prior art keywords
task
server
segmentation
execution
segment
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
CN202310859509.0A
Other languages
English (en)
Other versions
CN116578395A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310859509.0A priority Critical patent/CN116578395B/zh
Publication of CN116578395A publication Critical patent/CN116578395A/zh
Application granted granted Critical
Publication of CN116578395B publication Critical patent/CN116578395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种事务处理方法、系统、装置、电子设备及存储介质,涉及云技术及大数据技术领域。本申请实施例中,接收事务处理指令后,生成事务处理指令的执行计划,进而将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。

Description

事务处理方法、系统、装置、电子设备及存储介质
技术领域
本申请涉及云技术及大数据技术领域,尤其涉及一种事务处理方法、系统、装置、电子设备及存储介质。
背景技术
在互联网技术中,众多应用系统在运行过程中会产生大量数据,其中,应用系统例如电商平台系统、媒体平台系统、游戏平台系统等等;由此导致应用系统的数据库中存储的数据量非常可观。
对于上述数据库,通常涉及多种事务处理,例如,在数据库操作过程中,通常涉及针对数据或数据表的增加、删除、修改、查询等事务处理,以及针对多个数据表的连接、聚合等事务处理;因此,针对海量数据,如何准确、高效的处理事务已成为巨大的挑战。
发明内容
本申请实施例提供了一种事务处理方法,以解决相关技术中,事务处理效率低的技术问题。
相应的,本申请实施例还提供了一种事务处理系统、一种事务处理装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
一方面,本申请实施例提供一种事务处理方法,该方法包括:
接收事务处理指令,生成事务处理指令的执行计划;
将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行,分段服务器至少包括第一分段服务器和第二分段服务器;其中,每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,任务分片被重新分配至第二分段服务器执行。
另一方面,本申请实施例提供一种事务处理方法,该方法包括:
接收任务分片;
其中,任务分片为对执行计划进行划分得到分片;执行计划为响应于接收到的事务处理指令而生成的执行计划;
对任务分片进行任务处理;
其中,每个任务分片分别被至少一个分段服务器执行,分段服务器至少包括第一分段服务器和第二分段服务器;在第一分段服务器执行任务分片过程中,若第一分段服务器的状态参数满足预设条件,则第一分段服务器执行的任务分片被重新分配至第二分段服务器执行。
另一方面,本申请实施例提供了一种事务处理系统,该系统包括:
协调服务器,用于接收事务处理指令,生成事务处理指令的执行计划;将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行;
分段服务器,用于接收任务分片;对任务分片进行任务处理;
其中,分段服务器至少包括第一分段服务器和第二分段服务器;每个任务分片分别被至少一个分段服务器执行;且分段服务器中的第一分段服务器的状态参数满足预设条件时,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行。
另一方面,本申请实施例提供了一种事务处理装置,该装置包括:
指令接收模块,用接收事务处理指令,生成事务处理指令的执行计划;
分片发送模块,用于将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行;
其中,分段服务器至少包括第一分段服务器和第二分段服务器;每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,任务分片被重新分配至第二分段服务器执行。
可选的,分片发送模块将每个任务分片发送至分段服务器时,用于根据执行任务分片所需的处理资源参数及分段服务器的空闲资源参数,将任务分片分配至对应的分段服务器进行执行;
将任务分片平均分配给至少两个分段服务器执行;
随机将任务分片分配给至少两个分段服务器执行。
可选的,装置还包括标识模块,用于为执行计划创建第一事务标识,以及指示分段服务器为所执行的任务分片创建第二事务标识;第二事务标识为分段服务器的本地事务标识;
创建第一事务标识第一事务标识与第二事务标识之间的映射关系。
可选的,装置还包括收集模块,用于在将每个任务分片发送至分段服务器之后,获取分段服务器返回的结果反馈信息,其中,结果反馈信息包括任务分片的分片执行结果,或者,确认完成信息和任务分片的分片执行结果;
根据每个任务分片的分片执行结果,确定执行计划的事务处理结果。
可选的,装置还包括合并模块,用于在获取分段服务器返回的结果反馈信息之前,将结果查询指令与任务执行的确认指令进行合并处理,得到结果反馈指令;
其中,结果查询指令为协调服务器对任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;确认指令用于向分段服务器确认任务分片是否执行完成。
可选的,装置还包括创建模块,用于在接收事务处理指令之前,在协调服务器所属的数据库中创建至少一项以下数据表:
本地堆表,行存储表,列存储表;
其中,本地堆表的存储方式包括面向行存储;
行存储表和列存储表均支持数据追加操作。
另一方面,本申请实施例提供了一种事务处理装置,该装置包括:
分片接收模块,用于接收任务分片;
其中,任务分片为对执行计划进行划分得到分片;执行计划为响应于接收到的事务处理指令而生成的执行计划;
任务处理模块,用于对任务分片进行任务处理;
其中,每个任务分片分别被至少一个分段服务器执行,分段服务器至少包括第一分段服务器和第二分段服务器;在第一分段服务器执行任务分片过程中,若第一分段服务器的状态参数满足预设条件,则第一分段服务器执行的任务分片被重新分配至第二分段服务器执行。
可选的,任务处理模块对任务分片进行任务处理时用于:
获取任务分片的任务数据;
根据分段服务器的上下文参数、状态参数,对任务数据进行任务处理,得到分片执行结果;
上下文参数包括环境变量、配置信息中的至少一项;
状态参数包括执行进程状态、执行位置、程序堆栈信息中的至少一项。
可选的,任务处理模块获取任务分片的任务数据时用于:接收移动服务器发送的任务数据;
其中,任务数据通过移动服务器自第三分段服务器获取,任务数据包括第三分段服务器的原始任务数据或第三分段服务器对原始任务数据进行处理得到的处理结果数据。
可选的,装置还包括反馈模块,用于接收结果反馈指令;
其中,结果反馈指令由结果查询指令与确认指令进行合并得到;结果查询指令为协调服务器对任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;确认指令用于向分段服务器确认任务分片是否执行完成;
向协调服务器反馈分片执行结果及确认完成信息。
另一方面,本申请实施例提供了一种电子设备,包括处理器和存储器,该处理器和存储器相互连接;
上述存储器用于存储计算机程序;
上述处理器被配置用于在调用上述计算机程序时,执行本申请实施例提供的事务处理方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行以实现本申请实施例提供的事务处理方法。
另一方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,上述计算机程序被处理器执行时实现本申请实施例提供的事务处理方法。
本申请实施例中,接收事务处理指令后,生成事务处理指令的执行计划,进而将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的一种数据处理流程示意图;
图2示出了本申请实施例提供的一种事务处理方法的系统架构示意图;
图3示出了本申请实施例提供的一种事务处理方法的流程示意图之一;
图4示出了本申请实施例提供的一种任务分片的示意图;
图5示出了本申请实施例提供的一种任务分片的执行流程示意图;
图6示出了本申请实施例提供的一种一阶段提交优化示意图;
图7示出了本申请实施例提供的一种两阶段提交优化示意图;
图8示出了本申请实施例提供的一种事务处理方法的一应用场景示意图;
图9示出了本申请实施例提供的一种事务处理方法的流程示意图之二;
图10示出了本申请实施例提供的一种事务处理装置的结构示意图之一;
图11示出了本申请实施例提供的一种事务处理装置的结构示意图之二;
图12示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的事务处理方法可以通过云技术(Cloud technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。具体地,云技术可以指基于云计算(cloud computing)商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。
在该基础上,云计算技术将变成重要支撑。其中,云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
随着云计算技术的发展,可以基于云计算技术对技术网络系统的后台服务进行大量的计算,其中,后台服务可例如为视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,都可以通过云计算技术来实现。
作为云计算的基础能力提供商,可以建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务))平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,目标对象可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个目标对象共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。例如,在本申请实施例中,事务处理指令为对数据库中的数据或数据表进行操作的指令;协调服务器可以接收事务处理指令,生成事务处理指令的执行计划,将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器,以通过分段服务器并行执行任务分片。
大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
本申请实施例所提供的事务处理方法可以通过事务处理装置实现,该事务处理装置可以为服务器,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
可以理解的是,在本申请的具体实施方式中,涉及到目标对象信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得目标对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本申请实施例提供的事务处理方法可以具体应用于对数据库中的目标数据(或者目标数据表等)进行数据操作的过程中。其中,对数据库中的目标数据(或者目标数据表等)进行数据操作可以视为事务处理。例如,可以应用于对目标数据或者目标数据表进行查询的数据操作过程;或者还可应用于对目标数据表进行合并的数据操作过程;或者还可以应用于对目标数据表中的数据进行增加、删除、修改、查询等数据操作过程等等;本申请实施例对此不做具体限制。
作为示例,图1为本申请实施例提供的一个实际应用场景中的数据处理工作流程,本申请的事务处理方法可以应用于对该流程中数据库或者数据仓库中的目标数据(或者目标数据表等)进行数据操作的过程中。
具体的,图1展示了一个可选的数据处理工作流程:
基于对象关系映射框架技术,可以将应用系统(应用系统例如电商平台系统、媒体平台系统等)的数据映射到对象属性,进而将数据存储至数据库,并且可通过面向对象的方式进行数据库操作。然后,可以使用数据仓库技术(Extract-Transform-Load,ETL)(ETL技术例如抽取,转换,加载)等流程对数据库中的数据进行周期性转换(例如,通过流处理平台执行流式数据的处理、通过批处理平台处理离线数据),将其转换成适用于分析的格式,并加载到数据仓库系统中,以进行进一步的分析,满足目标对象的联机分析处理(On-LineAnalytical Processing,OLAP)及联机事务处理(On-Line Transaction Processing,OLTP)需求。其中,上述数据库可以用于存储原始数据;数据仓库用于存储对原始数据进行聚合或统计后得到的加工数据,数据仓库中的加工数据可用于进行数据分析。
图2示出了本申请实施例提供的事务处理系统的架构示意图。如图2所示,该事务处理系统20可以包括协调服务器201以及至少两个分段服务器202。其中,协调服务器201可以作为事务处理系统的核心,用于接收客户端的事务处理指令,生成事务处理指令的执行计划,将执行计划分成至少两个任务分片,并将每个任务分片发送至分段服务器,由各分段服务器执行任务分片,再由协调服务器汇总任务分片的执行结果并反馈至客户端。系统中可以仅存在一个协调服务器,其作为数据的主要存储服务器和计算服务器;另外,协调服务器还负责创建分布式事务标识、分布式快照以及协调事务提交等全局级别任务。
具体的,协调服务器201可包括解析器、查询优化器、查询执行器、目录、分布式事务管理器、分发器、本地存储引擎等。
其中,解析器用于解析和转换结构化查询(Structured Query Language,SQL)语句,以便进行查询优化和执行。解析器处理输入的SQL语句并将其转换为查询计划和任务。
查询优化器用于将SQL查询转换为可执行的查询计划,并提高执行查询的效率。查询优化器能够自动检测和优化SQL查询,以提高查询的性能和效率。通常情况下,查询优化器利用索引和其他技术来提高查询性能,这些技术可以包括扫描、过滤、排序、合并等。本申请的查询优化灵活依赖工作负载,其中,工作负载包括多个特定查询,特定查询例如连接、聚合等。本申请的查询优化器包括为分析工作负载的基于成本的优化器。另外,事务工作负载由短期查询组成,分布式数据系统中支持多核处理器的实例优化器适用于此类事务工作负载。
查询执行器用于执行查询计划并返回执行结果。另外,每个分段服务器中也设置有查询执行器,一套查询的查询计划被分发器分发到各个分段服务器中,每个分段服务器运行该查询计划的一部分,并向协调服务器反馈执行结果,最终由协调服务器中的查询服务器合并执行结果得到最终结果,并将最终结果反馈至客户端。
目录存储了数据库的元数据信息及其管理的对象,元数据信息包括对表、列、索引等数据结构的定义、描述及状态等信息。
分布式事务管理器协调分布式系统中的事务,保证ACID性质(Atomicity,原子性;Consistency,一致性;Isolation,隔离性;Durability,持久性)的一系列机制和算法。分布式事务管理器用于分配和管理全局唯一的事务标识符、协调分布式快照和两阶段提交协议。分布式事务管理的目的在于使分布式环境中保持事务的一致性和隔离性。
本地存储引擎为底层软件组件,协调服务器使用本地存储引擎进行数据创建、查询、更新和删除数据等操作。
分段服务器202也可以称之为工作服务器。事务处理系统中可包括多个分段服务器,每个分段服务器负责存储和处理数据的一部分,协同完成事务处理指令的执行计划。例如,分段服务器可以接收协调服务器发送的任务分片,并对任务分片进行任务处理。
分段服务器202可包括查询执行器、目录、本地事务管理器、本地存储引擎等。
其中,本地事物管理器用于管理本地事务的提交和回滚,并确保在整个分布式环境中保持ACID属性。本地事物管理器使用分布式快照和二阶段提交协议,采用了多版本并发控制(Multi-version Concurrency Control,MVCC)来实现分布式事务。
查询执行器、目录、本地存储引擎可参见协调服务器中的查询执行器、目录、本地存储引擎的相关介绍,在此不再赘述。
此外,客户端未在图2中示出,客户端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。客户端与协调服务器201可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
如图3所示,本申请实施例提供的事务处理方法,应用于协调服务器,该方法包括:
步骤S301:接收事务处理指令,生成事务处理指令的执行计划。
其中,事务处理指令包括对数据库或者数据仓库中的数据(或者数据表等)进行数据操作的指令;其中,数据库中的数据可以是应用系统(应用系统例如电商平台系统、媒体平台系统等)的原始数据;数据仓库中的数据可以是对数据库中的原始数据进行加工、运算等操作(加工、运算等操作例如聚合操作、修改操作等)后得到的加工数据。
可选的,上述对数据或者数据表进行的数据操作可以包括对数据或数据表的查询操作、增加操作、删除操作、修改操作、连接操作,或者上述多种操作的组合。可以理解的是,事务处理指令可以指示对数据或数据表进行上述一种或多种数据操作。
事务处理指令为协调服务器接收自客户端,然后由协调服务器中的解析器生成事务处理指令的执行计划。可选的,在实际实施场景中,客户端发出的事务处理指令可以为SQL语句。
其中,执行计划包括执行事务处理指令的执行流程和/或执行步骤等;可以理解的是,执行计划可以表征如何执行事务处理指令。
以事务处理指令为对两张数据表进行连接为例,两张数据表分别为student数据表及classes数据表;生成的执行计划可以包括扫描classes数据表、数据重分布、扫描student数据表、构建哈希表、通过哈希连接来连接student数据表及classes数据表等。
可选的,在一些实施场景中,由于生成的执行计划的执行效率较低,还可通过协调服务器的查询优化器对执行计划进行优化;其中,优化处理可以包括调整所操作的数据或者数据表的操作顺序,或者调整执行计划中各个操作的步骤等。例如,生成的执行计划为数据表A连接数据表B,其中,数据表A比较大,数据表B比较小;先加载大数据表(数据表A)的加载速度较慢,以至于执行效率较低;因此,可以通过查询优化器优化数据表的操作顺序,即调整为数据表B连接数据表A,这样,先加载小数据表(数据表B),的加载速度较快,由此可以提升执行效率。
步骤S302:将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行。
其中,分段服务器至少包括第一分段服务器和第二分段服务器;每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,任务分片被重新分配至第二分段服务器执行。
具体的,任务分片为执行计划的一部分;执行计划可以划分为至少两个任务分片。
在对执行计划进行划分时,可以根据执行计划中的处理步骤(或处理操作)进行划分,例如,执行计划中包括多个查询操作,可以将每个查询操作划分为一个任务分片,也可以将多个查询操作划分为一个任务分片。又如,执行计划中包括多个处理步骤,可以将每个处理步骤划分为一个任务分片,也可以将多个处理步骤划分为一个任务分片。
结合图4所示,仍以连接student数据表及classes数据表为示例,生成的执行计划包括扫描student数据表、数据重分布、扫描classes数据表、构建哈希表、通过哈希连接来连接student数据表及classes数据表、收集连接结果等。在对执行计划进行划分时,可以将扫描student数据表、数据重分布的处理步骤划分为任务分片1;将扫描classes数据表、构建哈希表、通过哈希连接来连接student数据表及classes数据表的处理步骤划分为任务分片2;将收集连接结果的处理步骤划分为任务分片3。
将执行计划划分为至少两个任务分片后,可以通过协调服务器中的分发器将任务分片分配并发送至分段服务器;由分段服务器中的执行进程来执行任务分片。
可选的,本申请实施例遵循无共享体系结构,协调服务器与分段服务器之间各自拥有独立的内存和数据目录,协调服务器可通过网络与分段服务器进行通信,以向分段服务器发送任务分片。这样,无共享体系中的节点(例如协调服务器、分段服务器)是相互独立的,扩展能力强,整个集群拥有较强的并行处理能力。
其中,在一些可选的实施方式中,可以通过以下方式对任务分片进行分配:
方式一:可以根据执行任务分片所需的处理资源参数及分段服务器的空闲资源参数进行分配。即将任务分片分配至与其所需的处理资源匹配的分段服务器进行执行。其中,处理资源例如中央处理器(Central Processing Unit,CPU)资源、内存资源等等。
方式二:将任务分片平均分配至至少两个分段服务器执行。例如,每个分段服务器分配相同数量的任务分片。作为示例,如,任务分片包括9个,可分别将3个任务分片分配给分段服务器1、分段服务器2及分段服务器3执行。
方式三:随机将任务分片分配至至少两个分段服务器。如,任务分片包括9个,随机的将9个任务分片分配给分段服务器1、分段服务器2及分段服务器3;作为示例,随机情况下,可能将1个任务分片分配给分段服务器1执行1,将2个任务分片分配给分段服务器2执行,将6个任务分片分配给分段服务器3执行等等。
其中,在上述分配方式下,每个分段服务器可以执行一个任务分片,也可以执行多个任务分片,多个任务分片例如执行计划的一部分任务分片或者全部任务分片。
此外,结合图5所示,分段服务器的执行结果可以通过动作发送器发送,并由协调服务器中的收集器来收集;此外,分段服务器之间的数据交互可以通过动作发送器发送数据,并由动作接收器接收数据。
本申请实施例中,全部任务分片被分配至至少两个分段服务器中,这样,即可实现通过至少两个分段服务器并行执行任务分片,从而可以提升事务处理的执行效率。
可选的,在一些实施方式中,每个任务分片可以由至少两个分段服务器执行,作为示例,可以参见图5所示,分段服务器1执行任务分片1及任务分片2;分段服务器2也执行任务分片1及任务分片2;也就是说,任务分片1及任务分片2分别由不同分段服务器中的执行进程来执行,即任务分片由一组分布式进程执行,其中,执行同一任务分片的执行进程可以称为群租。
这样,当执行某任务分片的分段服务器出现异常情况(异常情况例如宕机)时,该任务分片仍可在另一个分段服务器上执行,由此提升了事务处理的容错能力,使得进行事务处理的系统具有高可用性。也就是说,本申请实施例不仅可以实现点查询的高度响应,同时也扩展了长时间运行的分析查询。
此外,本申请实施例中,协调服务器还可以根据分段服务器的状态参数,对分段服务器所执行的任务分片进行重分配。例如,当分段服务器中的第一分段服务器的状态参数满足预设条件,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行;如,当第一分段服务器宕机时,可以将第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行。作为示例,结合图5所示,若分段服务器1出现异常,可以将任务分片1和任务分片2从分段服务器1重新分发到分段服务器3执行。因此,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,进一步提升了事务处理的容错能力及可扩展性。
本申请实施例中,接收事务处理指令后,生成事务处理指令的执行计划,进而将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
在本申请的一个实施例中,方法还包括:
为执行计划创建第一事务标识,以及指示分段服务器为所执行的任务分片创建第二事务标识;第二事务标识为分段服务器的本地事务标识;
创建第一事务标识与第二事务标识之间的映射关系。
本申请实施例中,协调服务器可以为每个事务处理指令的执行计划创建第一事务标识(第一事务标识还可称为分布式事务标识),第一事务标识用于唯一的标识执行计划,其中,在一些可选的实施方式中,第一事务标识可以为单调递增的整数。
此外,分段服务器可以为所执行的任务分片创建本地事务标识。可选的,分段服务器可以使用本地事务管理器生成本地事务标识。本地事务标识可以在分段服务器内唯一地标识一个任务分片。在实际实施场景中,当分段服务器启动一个任务分片时,可以生成该任务分片的本地事务标识,并将该本地事务标识与其所连接的其他分段服务器共享。例如,当修改一个数据时,分段服务器可以创建该数据的一个新版本(并非原地修改数据),并为新版本的数据创建本地事务标识。
可选的,协调服务器还可为执行计划创建分布式快照。分布式快照包括分布式事务标识列表和最新提交的分布式事务标识。分段服务器还可使用本地的实例机制生成本地快照。通过分布式快照及本地快照来确定数据的可见性,例如,通过分布式快照及本地快照来确定在某个时间节点前数据是可查询的。
其中,分布式事务标识列表为每个分段服务器中的本地事务标识列表,由于本地事务标识唯一地标识一个任务分片,这样,可以保证分布式事务处理过程中的隔离性、一致性以及原子性,以避免不同服务器之间产生事务竞争问题。
可选的,还可以创建本地事务标识与分布式事务标识之间的映射关系;在扫描操作期间,可以从此映射关系中提取数据的分布式事务标识,通过分布式事务标识与分布式快照,扫描操作符,可以确定数据的可见性,即确定相应的操作数据。
可选的,为了减少维护上述映射关系的开销,在一些实施方式中,还可以仅维护分布式事务标识与最近一次更新数据对应的本地事务标识之间的映射关系。分段服务器可截断映射的元数据,并使用本地事务标识及本地快照的结合来确定数据的可见性。
在本申请的一个实施例中,将每个任务分片发送至分段服务器执行之后,方法还包括:
获取分段服务器返回的结果反馈信息,其中,结果反馈信息包括任务分片的分片执行结果,或者,确认完成信息和任务分片的分片执行结果;
根据每个任务分片的分片执行结果,确定执行计划的事务处理结果。
本申请实施例中,协调服务器还可以收集分段服务器的分片执行结果,将分片执行结果汇总得到事务处理结果,并将事务处理结果反馈至客户端。
可选的,协调服务器可以通过向分段服务器发送结果反馈指令,以通知分段服务器提交分片执行结果。
在提交过程中,可以采用事务提交的一阶段提交协议及两阶段提交协议;其中,一阶段提交协议用于一阶段提交,一阶段提交通常用于数据更新发生在一个分段服务器上;两阶段提交协议用于两阶段提交,两阶段提交通常用于多个分段服务器上的数据更新。
可选的,本申请实施例中,可以对一阶段提交及两阶段提交进行优化,其中,优化可以包括可以将结果查询指令与确认指令进行合并,得到结果反馈指令;以及将分片执行结果及确认完成信息进行合并,得到结果反馈信息;也就是说,协调服务器一次性发送结果查询指令与确认指令,分段服务器一次性反馈分片执行结果及确认完成信息,这样,可以节省协调服务器与分段服务器之间的交互次数,提升交互效率。
其中,结果查询指令为协调服务器对任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;确认指令用于向分段服务器确认任务分片是否执行完成。分片执行结果包括分段服务器执行任务分片的执行结果,例如,任务分片为查询目标数据,那么,分片执行结果可以为分段服务器所查询的目标数据等。确认完成信息用于表征确认任务分片执行完成。
具体的,结合图6所示,图6为本申请的一阶段提交优化示意图,优化前,在提交分片执行结果之前,协调服务器可与分段服务器之间多次交互分段服务器的中间处理结果,例如,协调服务器向分段服务器发送查询指令1、分段服务器反馈查询结果1;协调服务器向分段服务器发送查询指令2、分段服务器反馈查询结果2等等,直至最终的任务分片执行结束,协调服务器向分段服务器发送提交指令(即本申请实施例中的确认指令),分段服务器反馈提交完成(即反馈确认完成信息)。本申请可以对该提交过程进行优化,即,将最后一次查询指令与提交指令合并为结果反馈指令,或者也可以理解为一同发送最后一次查询指令与提交指令,然后分段服务器一同反馈分片执行结果(即最后一次查询的查询结果)以及提交完成(即确认完成信息)。
分段服务器存储了本地事务标识和分布式事务标识符之间的映射,与两阶段提交一样,一阶段提交事务在并发创建的分布式快照中仍处于进行中的状态,直到协调服务器接收到分段服务器发送“提交完成”的消息,一阶段提交事务会在新创建的分布式快照中呈现为已提交状态。
结合图7所示,图7为本申请的两阶段提交优化示意图,优化前,在提交分片执行结果之前,协调服务器可与分段服务器之间多次交互分段服务器的中间处理结果,例如,协调服务器向分段服务器发送查询指令1、分段服务器反馈查询结果1;协调服务器向分段服务器发送查询指令2、分段服务器反馈查询结果2等等。直至最终的任务分片执行结束,协调服务器向分段服务器发送第一提交指令(即图7中的准备,也即本申请实施例的提交指令),即向分段服务器确认任务分片是否执行完成、分段服务器向协调服务器反馈确认完成信息(即图7中的准备完成)。而后,协调服务器向分段服务器发送第二提交指令,第二提交指令指示所有分段服务器同步确认执行完成;所有分段服务器同步反馈提交完成,即同步确认执行完成。本申请可以对该提交过程进行优化,即,将最后一次查询指令与提交指令(即上述第一提交指令)合并为结果反馈指令,或者也可以理解为一同发送最后一次查询指令与提交指令,然后分段服务器一同反馈分片执行结果(即最后一次查询的查询结果)以及确认完成信息(即图7中的准备完成)。
本申请实施例中,对于二阶段提交,分段服务器在已知执行事务的最终查询结果的情况下,即可执行准备操作,无需来自协调服务器的通知。例如,事务只有一个插入操作,则可执行插入操作及准备操作,无需协调服务器通知执行准备操作。这样,可以节省协调服务器与分段服务器之间的交互次数,提升交互效率。
在本申请的一个实施例中,在接收事务处理指令之前,方法还包括:
在协调服务器所属的数据库中创建至少一项以下数据表:
本地堆表,行存储表,列存储表;
其中,本地堆表的存储方式包括面向行存储;
行存储表和列存储表均支持数据追加操作。
本申请实施例,可以在协调服务器所属的数据库中创建本地堆表,行存储表,列存储表等。其中,本地堆表的存储方式包括面向行的存储方式,本地堆表具有固定大小的数据块以及缓冲区缓存,以便支持并发读写操作。行存储(Row-table)表和列存储(Column-table)表支持追加数据操作。Column-table表中每列数据被分配为一个独立的文件,优先支持批量I/O操作,不支持随机访问操作,因此,其更适合于分析工作负载;Column-table表中,每列数据均可以通过各种算法进行压缩,算法例如zstd、quicklz、zlib等算法;其中,压缩文件中包括Delta压缩的运行长度编码(run-length encoding,RLE)。本申请实施例中,查询执行引擎对表存储类型不可知;Row-table表、Column-table表、本地堆表可以在同一查询中进行连接。
可选的,数据库中,可以通过指定的键和分区策略(分区策略例如列表分区策略)对表进行分区操作;分区操作也可通过在根表下创建子表的层次结构实现;其中,子表包含对象数据;层次结构中的每个分区可包括本地堆表、Row-table表、Column-table表或外部表;外部表用于读取/写入存储在分布式数据系统之外的数据,外部表例如云服务存储系统中的数据表。
作为示例,图8展示了按销售日期划分的销售数据表,例如,1月-3月的销售数据采用本地堆表,10月-12月的销售数据采用Column-table表,8月-9月的销售数据采用外部表。在查询过程中,可以查询各个时间段的销售数据,而无需感知表的存储方式。
本申请实施例中,接收事务处理指令后,生成事务处理指令的执行计划,进而将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,在分段服务器中的第一分段服务器的状态参数满足预设条件的情况下,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
如图9所示,本申请实施例提供的事务处理方法,应用于分段服务器,该方法包括:
步骤S901:接收任务分片;
其中,任务分片为对执行计划进行划分得到分片;执行计划为响应于接收到的事务处理指令而生成的执行计划;
步骤S902:对任务分片进行任务处理;
其中,每个任务分片分别被至少一个分段服务器执行,分段服务器至少包括第一分段服务器和第二分段服务器;在第一分段服务器执行任务分片过程中,若第一分段服务器的状态参数满足预设条件,则第一分段服务器执行的任务分片被重新分配至第二分段服务器执行。
其中,事务处理指令包括对数据库或者数据仓库中的数据(或者数据表等)进行数据操作的指令;其中,数据库中的数据可以是应用系统(应用系统例如电商平台系统、媒体平台系统等)的原始数据;数据仓库中的数据可以是对数据库中的原始数据进行加工、运算等操作(加工、运算等操作例如聚合操作、修改操作等)后得到的加工数据。
可选的,上述对数据或者数据表进行的数据操作可以包括对数据或数据表的查询操作、增加操作、删除操作、修改操作、连接操作,或者上述多种操作的组合。可以理解的是,事务处理指令可以指示对数据或数据表进行上述一种或多种数据操作。
事务处理指令为协调服务器接收自客户端,然后由协调服务器中的解析器生成事务处理指令的执行计划。可选的,在实际实施场景中,客户端发出的事务处理指令可以为SQL语句。
其中,执行计划包括执行事务处理指令的执行流程和/或执行步骤等;可以理解的是,执行计划可以表征如何执行事务处理指令。
分段服务器包括至少两个,每个任务分片分别被至少一个分段服务器执行;且分段服务器中的第一分段服务器的状态参数满足预设条件时,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行。
具体的,任务分片为执行计划的一部分;执行计划可以划分为至少两个任务分片。
在对执行计划进行划分时,可以根据执行计划中的处理步骤(或处理操作)进行划分,例如,执行计划中包括多个查询操作,可以将每个查询操作划分为一个任务分片,也可以将多个查询操作划分为一个任务分片。又如,执行计划中包括多个处理步骤,可以将每个处理步骤划分为一个任务分片,也可以将多个处理步骤划分为一个任务分片。
将执行计划划分为至少两个任务分片后,可以将任务分片分配并发送至分段服务器;由分段服务器中的执行进程来执行任务分片。
其中,在一些可选的实施方式中,可以通过以下方式对任务分片进行分配:
方式一:可以根据执行任务分片所需的处理资源参数及分段服务器的空闲资源参数进行分配。即将任务分片分配至与其所需的处理资源匹配的分段服务器进行执行。其中,处理资源例如中央处理器(Central Processing Unit,CPU)资源、内存资源等等。
方式二:将任务分片平均分配至至少两个分段服务器执行。例如,每个分段服务器分配相同数量的任务分片。作为示例,如,任务分片包括9个,可分别将3个任务分片分配给分段服务器1、分段服务器2及分段服务器3执行。
方式三:随机将任务分片分配至至少两个分段服务器。如,任务分片包括9个,随机的将9个任务分片分配给分段服务器1、分段服务器2及分段服务器3;作为示例,随机情况下,可能将1个任务分片分配给分段服务器1执行1,将2个任务分片分配给分段服务器2执行,将6个任务分片分配给分段服务器3执行等等。
其中,在上述分配方式下,每个分段服务器可以执行一个任务分片,也可以执行多个任务分片,多个任务分片例如执行计划的全部任务分片。
本申请实施例中,全部任务分片被分配至至少两个分段服务器中,这样,即可实现通过至少两个分段服务器并行执行任务分片,从而可以提升事务处理的执行效率。
此外,本申请实施例中,协调服务器还可以根据分段服务器的状态参数,对分段服务器所执行的任务分片进行重分配。例如,当分段服务器中的第一分段服务器的状态参数满足预设条件,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行;如,当第一分段服务器宕机时,可以将第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行。
本申请实施例中,分段服务器接收任务分片,并对任务分片进行任务处理,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,在分段服务器中的第一分段服务器的状态参数满足预设条件的情况下,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
在本申请的一个实施例中,对任务分片进行任务处理,包括:
获取任务分片的任务数据;
根据分段服务器的上下文参数、状态参数,对任务数据进行任务处理,得到分片执行结果;
上下文参数包括环境变量、配置信息中的至少一项;
状态参数包括执行进程状态、执行位置、程序堆栈信息中的至少一项。
具体的,分段服务器可获取任务分片的任务数据,然后根据分段服务器的上下文参数、状态参数等,对任务数据进行任务处理,得到分片执行结果。
其中,上下文参数包括环境变量、配置信息等。其中,环境变量包括由操作系统管理并且可被进程访问的一种数据。作为示例,环境变量例如PATH环境变量、HOME环境变量等;PATH环境变量包含系统在寻找命令时需要搜索的目录列表;HOME环境变量包含目录路径等。配置信息包括进程运行时的各种设定。作为示例,配置信息例如文件描述符表(文件描述符表存储了进程打开的所有文件的引用)、当前工作目录(当前工作目录包括进程读写文件时默认的目录)、进程优先级等等。
状态参数包括执行进程状态、执行位置、程序堆栈信息等。执行进程状态包括执行进程的状态,作为示例,执行进程状态例如扫描表的进度,建立哈希表的进度等等。执行位置用于表征程序执行的位置,作为示例,执行位置例如执行任务分片2等。程序堆栈信息包括程序堆栈的信息,其中,程序堆栈为程序执行过程中,用来表征函数调用的数据结构,作为示例,程序堆栈信息例如堆栈帧中的函数的参数,返回地址,以及局部变量等等。
可选的,在一些可选的实施方式中,可以通过移动服务器获取任务数据;例如,当事务处理指令指示连接两张数据表,在符合连接条件的情况下(连接条件例如两张表的行数或列数相同),可通过数据移动服务器在分段服务器之间移动数据,即分段服务器接收移动服务器发送的任务数据;其中,任务数据通过移动服务器自第三分段服务器获取,任务数据包括第三分段服务器的原始任务数据或第三分段服务器对原始任务数据进行处理得到的处理结果数据。例如,原始任务数据可以为任务分片的原始数据表的数据,作为示例,原始任务数据可以为图4所示的classes表的数据。处理结果数据可以为第三分段服务器对原始任务数据进行处理得到的数据,作为示例,处理结果数据可以为图4所示的对classes表的数据进行数据重分布处理得到的数据等。
在本申请的一个实施例中,方法还包括:
接收结果反馈指令;
其中,结果反馈指令由结果查询指令与确认指令进行合并得到;结果查询指令为协调服务器对任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;确认指令用于向分段服务器确认任务分片是否执行完成;
向协调服务器反馈分片执行结果及确认完成信息。
本申请实施例中,协调服务器还可以收集分段服务器的分片执行结果,将分片执行结果汇总得到事务处理结果,并将事务处理结果反馈至客户端。
可选的,协调服务器可以通过向分段服务器发送结果反馈指令,以通知分段服务器提交分片执行结果。
在提交过程中,可以采用事务提交的一阶段提交协议及两阶段提交协议;其中,一阶段提交协议用于一阶段提交,一阶段提交通常用于数据更新发生在一个分段服务器上;两阶段提交协议用于两阶段提交,两阶段提交通常用于多个分段服务器上的数据更新。
可选的,本申请实施例中,可以对一阶段提交及两阶段提交进行优化,其中,优化可以包括可以将结果查询指令与提交指令进行合并,得到结果反馈指令;以及将分片执行结果及确认完成信息进行合并,得到结果反馈信息;也就是说,协调服务器一次性发送结果查询指令与提交指令,分段服务器一次性反馈分片执行结果及确认完成信息,这样,可以节省协调服务器与分段服务器之间的交互次数,提升交互效率。
其中,结果查询指令为协调服务器对任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;确认指令用于向分段服务器确认任务分片是否执行完成。分片执行结果包括分段服务器执行任务分片的执行结果,例如,任务分片为查询目标数据,那么,分片执行结果可以为分段服务器所查询的目标数据等。确认完成信息用于表征确认任务分片执行完成。
本申请实施例的部分处理步骤可以与协调服务器的部分处理步骤相对应,具体处理可参见上述实施例,在此不再赘述。
本申请实施例中,分段服务器接收任务分片,并对任务分片进行任务处理,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,在分段服务器中的第一分段服务器的状态参数满足预设条件的情况下,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
本申请实施例还提供一种事务处理系统,该系统包括:
协调服务器,用于接收事务处理指令,生成事务处理指令的执行计划;将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行;
分段服务器,用于接收任务分片;对任务分片进行任务处理;
其中,分段服务器至少包括第一分段服务器和第二分段服务器;每个任务分片分别被至少一个分段服务器执行;且分段服务器中的第一分段服务器的状态参数满足预设条件时,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行。
本申请实施例的系统可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的系统中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于系统的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中,接收事务处理指令后,生成事务处理指令的执行计划,进而将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,在分段服务器中的第一分段服务器的状态参数满足预设条件的情况下,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
基于与本申请实施例提供的事务处理方法相同的原理,本申请实施例中还提供了一种事务处理装置。如图10所示,该装置100包括:
指令接收模块1001,用接收事务处理指令,生成事务处理指令的执行计划;
分片发送模块1002,用于将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器执行;
其中,分段服务器至少包括第一分段服务器和第二分段服务器;每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,任务分片被重新分配至第二分段服务器执行。
在本申请的一个实施例中,分片发送模块1002具体用于根据执行任务分片所需的处理资源参数及分段服务器的空闲资源参数,将任务分片分配至对应的分段服务器进行执行;
将任务分片平均分配给至少两个分段服务器执行;
随机将任务分片分配给至少两个分段服务器执行。
在本申请的一个实施例中,装置还包括标识模块,用于为执行计划创建第一事务标识,以及指示分段服务器为所执行的任务分片创建第二事务标识;第二事务标识为分段服务器的本地事务标识;
创建第一事务标识第一事务标识与第二事务标识之间的映射关系。
在本申请的一个实施例中,装置还包括收集模块,用于在将每个任务分片发送至分段服务器之后,
获取分段服务器返回的结果反馈信息,其中,结果反馈信息包括任务分片的分片执行结果,或者,确认完成信息和任务分片的分片执行结果;
根据每个任务分片的分片执行结果,确定执行计划的事务处理结果。
在本申请的一个实施例中,装置还包括合并模块,
用于在获取分段服务器返回的结果反馈信息之前,将结果查询指令与任务执行的确认指令进行合并处理,得到结果反馈指令;
其中,结果查询指令为协调服务器对任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;确认指令用于向分段服务器确认任务分片是否执行完成。
在本申请的一个实施例中,装置还包括创建模块,用于在接收事务处理指令之前,在协调服务器所属的数据库中创建至少一项以下数据表:
本地堆表,行存储表,列存储表;
其中,本地堆表的存储方式包括面向行存储;
行存储表和列存储表均支持数据追加操作。
本申请实施例中,接收事务处理指令后,生成事务处理指令的执行计划,进而将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,在分段服务器中的第一分段服务器的状态参数满足预设条件的情况下,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
基于与本申请实施例提供的事务处理方法相同的原理,本申请实施例中还提供了一种事务处理装置。如图11所示,该装置110包括:
分片接收模块1101,用于接收任务分片;
其中,任务分片为对执行计划进行划分得到分片;执行计划为响应于接收到的事务处理指令而生成的执行计划;
任务处理模块1102,用于对任务分片进行任务处理;
其中,每个任务分片分别被至少一个分段服务器执行,分段服务器至少包括第一分段服务器和第二分段服务器;在第一分段服务器执行任务分片过程中,若第一分段服务器的状态参数满足预设条件,则第一分段服务器执行的任务分片被重新分配至第二分段服务器执行。
在本申请的一个实施例中,任务处理模块1102具体用于获取任务分片的任务数据;
根据分段服务器的上下文参数、状态参数,对任务数据进行任务处理,得到分片执行结果;
上下文参数包括环境变量、配置信息中的至少一项;
状态参数包括执行进程状态、执行位置、程序堆栈信息中的至少一项。
在本申请的一个实施例中,任务处理模块1102具体用于接收移动服务器发送的任务数据;
其中,任务数据通过移动服务器自第三分段服务器获取,任务数据包括第三分段服务器的原始任务数据或第三分段服务器对原始任务数据进行处理得到的处理结果数据。
在本申请的一个实施例中,装置还包括反馈模块,用于接收结果反馈指令;
其中,结果反馈指令由结果查询指令与确认指令进行合并得到;结果查询指令为协调服务器对任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;确认指令用于向分段服务器确认任务分片是否执行完成;
向协调服务器反馈分片执行结果及确认完成信息。
本申请实施例中,分段服务器接收任务分片,并对任务分片进行任务处理,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,在分段服务器中的第一分段服务器的状态参数满足预设条件的情况下,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
基于与本申请实施例提供的事务处理方法及装置相同的原理,本申请实施例中还提供了一种电子设备(如服务器),该电子设备可以包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现以下方法:
接收事务处理指令,生成事务处理指令的执行计划;
将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器;
其中,分段服务器包括至少两个,每个任务分片分别被至少一个分段服务器执行;且分段服务器中的第一分段服务器的状态参数满足预设条件时,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行。
本申请实施例中,接收事务处理指令后,生成事务处理指令的执行计划,进而将执行计划分成至少两个任务分片,将每个任务分片发送至分段服务器,这样,由至少两个分段服务器并行执行上述执行计划的任务分片,由此可以提升事务处理的执行效率。此外,在分段服务器中的第一分段服务器的状态参数满足预设条件的情况下,第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行,这样,通过上述重分配机制,保障了在服务器出现异常的情况下,仍可正常执行任务分片,提升了事务处理的容错能力。
参见图12,图12示出了本申请实施例提供的一种电子设备的结构示意图。如图12所示,本实施例中的电子设备1400可以包括:处理器1401,网络接口1404和存储器1405,此外,上述电子设备1400还可以包括:对象接口1403,和至少一个通信总线1402。其中,通信总线1402用于实现这些组件之间的连接通信。其中,对象接口1403可以包括显示屏(Display)、键盘(Keyboard),可选对象接口1403还可以包括标准的有线接口、无线接口。网络接口1404可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1405可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器。存储器1405可选的还可以是至少一个位于远离前述处理器1401的存储装置。如图12所示,作为一种计算机可读存储介质的存储器1405中可以包括操作系统、网络通信模块、对象接口模块以及设备控制应用程序。
在图12所示的电子设备1400中,网络接口1404可提供网络通讯功能;而对象接口1403主要用于为对象提供输入的接口;而处理器1401可以用于调用存储器1405中存储的设备控制应用程序,以实现:
在一些可行的实施方式中,上述处理器1401用于:
应当理解,在一些可行的实施方式中,上述处理器1401可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,上述电子设备1400可通过其内置的各个功能模块执行如上述图2中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,被处理器执行以实现图3中各个步骤所提供的方法,具体可参见上述各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的事务处理装置或电子设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart mediacard,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。上述计算机可读存储介质还可以包括磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random access memory,RAM)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,上述计算机程序被处理器执行图3中各个步骤所提供的方法。
本申请的权利要求书和说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
此外,本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或电子设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或电子设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (13)

1.一种事务处理方法,应用于协调服务器,其特征在于,所述方法包括:
接收事务处理指令,生成所述事务处理指令的执行计划;
将所述执行计划分成至少两个任务分片,将每个所述任务分片发送至分段服务器执行,所述分段服务器至少包括第一分段服务器和第二分段服务器;其中,每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,所述任务分片被重新分配至第二分段服务器执行;
所述方法还包括:
若确定所述第一分段服务器执行第二任务分片时,所述第一分段服务器的状态参数满足所述预设条件,将所述第二任务分片重新分配至所述第二分段服务器执行,指示所述第二分段服务器根据第一任务分片的第一分片执行结果执行所述第二任务分片;
其中,所述第一任务分片为所述至少两个任务分片中、已被所述第一分段服务器执行的任务分片,所述第二任务分片为所述至少两个任务分片中、尚未被所述第一分段服务器执行的任务分片;所述第一分片执行结果通过所述第一任务分片在所述第一分段服务器中的动作发送器发送,通过所述第二任务分片在所述第二分段服务器中的动作接收器接收;
所述将每个所述任务分片发送至分段服务器执行之后,所述方法包括:
将结果查询指令与任务执行的确认指令进行合并处理,得到结果反馈指令;并向所述分段服务器发送所述结果反馈指令;
其中,所述结果查询指令为所述协调服务器对所述任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;所述确认指令用于向所述分段服务器确认所述任务分片是否执行完成;
获取所述分段服务器返回的结果反馈信息,其中,结果反馈信息包括所述任务分片的分片执行结果,或者,确认完成信息和所述任务分片的分片执行结果;
根据每个任务分片的分片执行结果,确定所述执行计划的事务处理结果。
2.根据权利要求1所述的事务处理方法,其特征在于,所述将每个所述任务分片发送至分段服务器执行,包括以下至少一项:
根据执行所述任务分片所需的处理资源参数及所述分段服务器的空闲资源参数,将所述任务分片分配至对应的分段服务器进行执行;
将所述任务分片平均分配给至少两个分段服务器执行;
随机将所述任务分片分配给至少两个分段服务器执行。
3.根据权利要求1所述的事务处理方法,其特征在于,所述方法还包括:
为所述执行计划创建第一事务标识,以及指示分段服务器为所执行的任务分片创建第二事务标识;所述第二事务标识为所述分段服务器的本地事务标识;
创建所述第一事务标识与所述第二事务标识之间的映射关系。
4.根据权利要求1所述的事务处理方法,其特征在于,在接收事务处理指令之前,所述方法包括:
在所述协调服务器所属的数据库中创建至少一项以下数据表:
本地堆表,行存储表,列存储表;
其中,所述本地堆表的存储方式包括面向行存储;
所述行存储表和所述列存储表均支持数据追加操作。
5.一种事务处理方法,应用于分段服务器,其特征在于,所述方法包括:
接收任务分片;
其中,所述任务分片为对执行计划进行划分得到分片;所述执行计划为响应于接收到的事务处理指令而生成的执行计划;
对所述任务分片进行任务处理;
其中,每个所述任务分片分别被至少一个所述分段服务器执行,所述分段服务器至少包括第一分段服务器和第二分段服务器;在所述第一分段服务器执行所述任务分片过程中,若所述第一分段服务器的状态参数满足预设条件,则所述第一分段服务器执行的任务分片被重新分配至第二分段服务器执行;
所述第一分段服务器在执行完成第一任务分片后,通过所述第一任务分片在所述第一分段服务器中的动作发送器,将所述第一任务分片的第一分片执行结果发送至第二任务分片在所述第二分段服务器中的动作接收器;其中,所述第一任务分片为所述至少两个任务分片中、已被所述第一分段服务器执行的任务分片,所述第二任务分片为所述至少两个任务分片中、尚未被所述第一分段服务器执行的任务分片;
若所述第一分段服务器执行第二任务分片时,所述第一分段服务器的状态参数满足所述预设条件,所述第二分段服务器接收被重新分配的所述第二任务分片,并根据所述第一分片执行结果执行所述第二任务分片;
接收结果反馈指令;
其中,所述结果反馈指令由结果查询指令与确认指令进行合并得到;所述结果查询指令为协调服务器对所述任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;所述确认指令用于向所述分段服务器确认所述任务分片是否执行完成;
向所述协调服务器返回结果反馈信息,指示所述协调服务器根据每个任务分片的分片执行结果,确定所述执行计划的事务处理结果;
其中,所述结果反馈信息包括所述任务分片的分片执行结果,或者,确认完成信息和所述任务分片的分片执行结果。
6.根据权利要求5所述的事务处理方法,其特征在于,所述对所述任务分片进行任务处理,包括:
获取任务分片的任务数据;
根据所述分段服务器的上下文参数、状态参数,对所述任务数据进行任务处理,得到分片执行结果;
所述上下文参数包括环境变量、配置信息中的至少一项;
所述状态参数包括执行进程状态、执行位置、程序堆栈信息中的至少一项。
7.根据权利要求6所述的事务处理方法,其特征在于,所述获取任务分片的任务数据,包括:
接收移动服务器发送的所述任务数据;
其中,所述任务数据通过所述移动服务器自第三分段服务器获取,所述任务数据包括所述第三分段服务器的原始任务数据或所述第三分段服务器对所述原始任务数据进行处理得到的处理结果数据。
8.一种事务处理系统,其特征在于,包括:
协调服务器,用于接收事务处理指令,生成所述事务处理指令的执行计划;将所述执行计划分成至少两个任务分片,将每个所述任务分片发送至分段服务器执行;
分段服务器,用于接收任务分片;对所述任务分片进行任务处理;
其中,所述分段服务器至少包括第一分段服务器和第二分段服务器;每个所述任务分片分别被至少一个所述分段服务器执行;且所述分段服务器中的第一分段服务器的状态参数满足预设条件时,所述第一分段服务器所执行的任务分片被重新分配至第二分段服务器执行;
所述第一分段服务器还用于,在执行完成第一任务分片后,通过所述第一任务分片在所述第一分段服务器中的动作发送器,将所述第一任务分片的第一分片执行结果发送至第二任务分片在所述第二分段服务器中的动作接收器;其中,所述第一任务分片为所述至少两个任务分片中、已被所述第一分段服务器执行的任务分片,所述第二任务分片为所述至少两个任务分片中、尚未被所述第一分段服务器执行的任务分片;
所述协调服务器还用于,若确定所述第一分段服务器执行第二任务分片时,所述第一分段服务器的状态参数满足所述预设条件,将所述第二任务分片重新分配至所述第二分段服务器;
所述第二分段服务器还用于,根据所述第一分片执行结果执行所述第二任务分片;
所述协调服务器还用于,将结果查询指令与任务执行的确认指令进行合并处理,得到结果反馈指令;并向所述分段服务器发送所述结果反馈指令;
其中,所述结果查询指令为所述协调服务器对所述任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;所述确认指令用于向所述分段服务器确认所述任务分片是否执行完成;
所述分段服务器还用于,向所述协调服务器返回结果反馈信息,指示所述协调服务器根据每个任务分片的分片执行结果,确定所述执行计划的事务处理结果;
其中,所述结果反馈信息包括所述任务分片的分片执行结果,或者,确认完成信息和所述任务分片的分片执行结果;
所述协调服务器还用于根据每个任务分片的分片执行结果,确定所述执行计划的事务处理结果。
9.一种事务处理装置,其特征在于,所述装置包括:
指令接收模块,用接收事务处理指令,生成所述事务处理指令的执行计划;
分片发送模块,用于将所述执行计划分成至少两个任务分片,将每个所述任务分片发送至分段服务器执行;
其中,所述分段服务器至少包括第一分段服务器和第二分段服务器;每个任务分片在被第一分段服务器执行且第一分段服务器的状态参数满足预设条件时,所述任务分片被重新分配至第二分段服务器执行;
所述分片发送模块还用于,若确定所述第一分段服务器执行第二任务分片时,所述第一分段服务器的状态参数满足所述预设条件,将所述第二任务分片重新分配至所述第二分段服务器执行,指示所述第二分段服务器根据第一任务分片的第一分片执行结果执行所述第二任务分片;
其中,所述第一任务分片为所述至少两个任务分片中、已被所述第一分段服务器执行的任务分片,所述第二任务分片为所述至少两个任务分片中、尚未被所述第一分段服务器执行的任务分片;所述第一分片执行结果通过所述第一任务分片在所述第一分段服务器中的动作发送器发送,通过所述第二任务分片在所述第二分段服务器中的动作接收器接收;
合并模块,用于将结果查询指令与任务执行的确认指令进行合并处理,得到结果反馈指令;
其中,所述结果查询指令为所述分片发送模块对所述任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;所述确认指令用于向所述分段服务器确认所述任务分片是否执行完成;
所述分片发送模块还用于,向所述分段服务器发送所述结果反馈指令;
收集模块,用于获取所述分段服务器返回的结果反馈信息,其中,结果反馈信息包括所述任务分片的分片执行结果,或者,确认完成信息和所述任务分片的分片执行结果;
所述分片发送模块还用于,根据每个任务分片的分片执行结果,确定所述执行计划的事务处理结果。
10.一种事务处理装置,其特征在于,所述装置包括:
分片接收模块,用于接收任务分片;
其中,所述任务分片为对执行计划进行划分得到分片;所述执行计划为响应于接收到的事务处理指令而生成的执行计划;
任务处理模块,用于对所述任务分片进行任务处理;
其中,每个所述任务分片分别被至少一个分段服务器执行,所述分段服务器至少包括第一分段服务器和第二分段服务器;在所述第一分段服务器执行所述任务分片过程中,若所述第一分段服务器的状态参数满足预设条件,则所述第一分段服务器执行的任务分片被重新分配至第二分段服务器执行;
第一任务分片在所述第一分段服务器中的动作发送器,在所述第一分段服务器的任务处理模块在执行完成第一任务分片后,将所述第一任务分片的第一分片执行结果发送至第二任务分片在所述第二分段服务器中的动作接收器;其中,所述第一任务分片为所述至少两个任务分片中、已被所述第一分段服务器执行的任务分片,所述第二任务分片为所述至少两个任务分片中、尚未被所述第一分段服务器执行的任务分片;
若所述第一分段服务器执行第二任务分片时,所述第一分段服务器的状态参数满足所述预设条件,所述第二分段服务器的分片接收模块还用于,接收被重新分配的所述第二任务分片;
所述第二分段服务器的任务处理模块还用于,并根据所述第一分片执行结果执行所述第二任务分片;
反馈模块,用于接收结果反馈指令;
其中,所述结果反馈指令由结果查询指令与确认指令进行合并得到;所述结果查询指令为协调服务器对所述任务分片的多个中间处理结果分别进行查询中,最后一次查询对应的查询指令;所述确认指令用于向所述分段服务器确认所述任务分片是否执行完成;
向所述协调服务器返回结果反馈信息,指示所述协调服务器根据每个任务分片的分片执行结果,确定所述执行计划的事务处理结果;
其中,所述结果反馈信息包括所述任务分片的分片执行结果,或者,确认完成信息和所述任务分片的分片执行结果。
11.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接;
所述存储器用于存储计算机程序;
所述处理器被配置用于在调用所述计算机程序时,执行权利要求1至4或权利要求5至7任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至4或权利要求5至7任一项所述的方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至4或权利要求5至7任一项所述的方法。
CN202310859509.0A 2023-07-13 2023-07-13 事务处理方法、系统、装置、电子设备及存储介质 Active CN116578395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310859509.0A CN116578395B (zh) 2023-07-13 2023-07-13 事务处理方法、系统、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310859509.0A CN116578395B (zh) 2023-07-13 2023-07-13 事务处理方法、系统、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116578395A CN116578395A (zh) 2023-08-11
CN116578395B true CN116578395B (zh) 2024-04-05

Family

ID=87541693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310859509.0A Active CN116578395B (zh) 2023-07-13 2023-07-13 事务处理方法、系统、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116578395B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990182A (zh) * 2019-12-03 2020-04-10 腾讯科技(深圳)有限公司 事务处理方法、装置、设备及存储介质
CN111045794A (zh) * 2019-12-17 2020-04-21 深圳前海环融联易信息科技服务有限公司 分布式事务处理方法、装置、系统、计算机设备及存储介质
WO2021103036A1 (zh) * 2019-11-30 2021-06-03 华为技术有限公司 一种事务提交系统、方法及相关设备
CN113886089A (zh) * 2021-10-21 2022-01-04 上海勃池信息技术有限公司 一种任务处理方法、装置、系统、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934276B2 (en) * 2012-10-15 2018-04-03 Teradata Us, Inc. Systems and methods for fault tolerant, adaptive execution of arbitrary queries at low latency

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021103036A1 (zh) * 2019-11-30 2021-06-03 华为技术有限公司 一种事务提交系统、方法及相关设备
CN110990182A (zh) * 2019-12-03 2020-04-10 腾讯科技(深圳)有限公司 事务处理方法、装置、设备及存储介质
CN111045794A (zh) * 2019-12-17 2020-04-21 深圳前海环融联易信息科技服务有限公司 分布式事务处理方法、装置、系统、计算机设备及存储介质
CN113886089A (zh) * 2021-10-21 2022-01-04 上海勃池信息技术有限公司 一种任务处理方法、装置、系统、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Web服务的工作流事务处理的研究与实现;郭民 等;《计算机应用与软件》;第26卷(第8期);第147-149、188页 *

Also Published As

Publication number Publication date
CN116578395A (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
US10191932B2 (en) Dependency-aware transaction batching for data replication
CN105468720A (zh) 集成分布式数据处理系统的方法、相应系统及其数据处理方法
US11899648B2 (en) Concurrency control for transactions in database systems
US11537613B1 (en) Merge small file consolidation
US11620310B1 (en) Cross-organization and cross-cloud automated data pipelines
US11645281B1 (en) Caching query plans in database systems
CN115114374B (zh) 事务执行方法、装置、计算设备及存储介质
KR20200092095A (ko) 관계형 데이터베이스의 DML문장을 NoSQL 데이터베이스로 동기화하기 위한 트랜잭션 제어 방법
US11216421B2 (en) Extensible streams for operations on external systems
Jiang et al. Alibaba hologres: A cloud-native service for hybrid serving/analytical processing
US20240020298A1 (en) Serialization of data in a concurrent transaction processing distributed database
US20230237043A1 (en) Accelerating change data capture determination using row bitsets
CN116578395B (zh) 事务处理方法、系统、装置、电子设备及存储介质
US20220405249A1 (en) Providing writable streams for external data sources
US11514080B1 (en) Cross domain transactions
US12007993B1 (en) Multi database queries
US11709866B2 (en) Scalable compaction in a concurrent transaction processing distributed database
US20230350921A1 (en) Database processing using hybrid key-value tables
US20240028567A1 (en) Schema evolution for key columnar data into row-organized sequences
US20230315720A1 (en) Long-lived statements optimizations in a database system
Parab HBase v/s MongoDB
CN118132555A (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