CN109460288B - 一种事务处理方法、管理服务器、事务处理系统和存储介质 - Google Patents
一种事务处理方法、管理服务器、事务处理系统和存储介质 Download PDFInfo
- Publication number
- CN109460288B CN109460288B CN201811279895.1A CN201811279895A CN109460288B CN 109460288 B CN109460288 B CN 109460288B CN 201811279895 A CN201811279895 A CN 201811279895A CN 109460288 B CN109460288 B CN 109460288B
- Authority
- CN
- China
- Prior art keywords
- server
- transaction
- executed
- state
- state table
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种事务处理方法,包括:根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;根据所述事务状态表控制相应的操作服务器执行相应的操作;根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。本发明还公开了一种管理服务器,事务处理系统和存储介质。
Description
技术领域
本发明涉及一种计算机技术,尤其涉及一种事务处理方法、管理服务器、事务处理系统和存储介质。
背景技术
由于事务中包含多个操作,每一个操作都对应着相应的操作,现有技术中通常仅是通过执行操作的方式处理相应的事务,但是,由于同一个事务通常包含了不同的操作,因此,操作执行的周期较长。在较长的执行周期中,当服务器出现故障的时候,当前未执行完成的操作都会丢失,破坏了用户操作的连贯性,同时,由于过程中断,执行状态无法回溯程,影响事务中数据的准确性。
发明内容
本发明实施例提供一种事务处理方法,能够对事务的状态进行统计和管理,形成事务状态表,进而根据所述事务状态表,控制操作服务器执行相应的操作。
本发明实施例的技术方案是这样实现的:
本申请提供了一种事务处理方法,包括:
本发明实施例提供了一种事务处理方法,包括:
根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
根据所述事务状态表控制相应的操作服务器执行相应的操作;
根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
本发明实施例还提供了一种事务处理方法,包括:
客户端向管理服务器发送用于提交事务的业务请求;
所述管理服务器根据所述业务请求所提交的事务,提取所述事务中所包括的操作;
所述管理服务器根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
所述管理服务器根据所述事务状态表控制相应的操作服务器执行相应的操作;
所述管理服务器根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
本发明实施例还提供了一种管理服务器,包括:
信息传输模块,用于接收客户端发送的业务请求;
信息处理模块,用于根据所述客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
所述信息处理模块,用于根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
所述信息处理模块,用于根据所述事务状态表控制相应的操作服务器执行相应的操作;
所述信息处理模块,用于根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果;
所述信息传输模块,用于获取所述业务请求的操作结果并返回至所述客户端。
本发明实施例提供了一种事务处理系统,包括:
客户端,用于向管理服务器发送用于提交事务的业务请求;
管理服务器,用于接收所述业务请求;
所述管理服务器,用于根据所述业务请求所提交的事务,提取所述事务中所包括的操作;
所述管理服务器,用于根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
操作服务器,用于根据所述事务状态表控制相应的操作服务器执行相应的操作;
所述管理服务器,用于根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
本发明实施例还提供了一种管理服务器,所述服务器包括:
处理器和用于存储能够在处理器上运行的可执行指令的存储器,
其中,所述处理器用于运行所述可执行指令时,执行以下操作:
根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
根据所述事务状态表控制相应的操作服务器执行相应的操作;
根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
本发明实施例还提供了一种计算机可读存储介质,其存储有可执行指令,其特征在于,可执行指令被处理器执行时实现以下的操作:
根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
根据所述事务状态表控制相应的操作服务器执行相应的操作;
根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
本发明实施例中,通过将不同操作的状态、以及执行不同操作的操作服务器在事务状态表中维护,形成以事务驱动操作服务器执行事务的机制,避免了当操作服务器出现故障时,当前未执行完成的操作丢失的情况,提高了整体的可靠性。
附图说明
图1是本发明实施例提供的事务处理方法的一个可选的使用环境示意图;
图2为本发明实施例提供的终端运行的管理服务器200的一个可选的硬件结构示意图;
图3是本发明实施例提供的事务处理方法的一个可选的流程示意图;
图4A是本发明实施例提供的事务处理方法的一个可选的显示界面示意图;
图4B是本发明实施例提供的事务处理方法的一个可选的流程示意图;
图4C是本发明实施例提供的一个可选的事务处理系统的示意图;
图5A是本发明实施例提供的事务处理方法的一个可选的显示界面示意图;
图5B是本发明实施例提供的事务处理方法的一个可选的流程示意图;
图6是本发明实施例提供的事务处理方法的一个可选的流程示意图;
图7是本发明实施例提供的事务处理方法中事务状态表的数据结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
需要说明,在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)事务(Transaction),一般是指要做的或所做的数据操作。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(Unit),事务通常包括至少一个操作。确定事务中的相应操作的方式包括:从所述事务中提取不同的操作,或者,将所述事务进行分解,根据相应的分解结果,确定所述事务对应的不同操作。
2)操作:对数据进行的操作,包括在数据库中执行增加、删除、修改和查询的操作;通过相应的操作服务器执行与操作服务器类型相关的处理程序。
图1是本发明实施例提供的事务处理方法的一个可选的使用环境示意图,如图1所示,为实现支撑一个示例性应用,实现本发明实施例的事务处理方法的设备可以是服务器。
具体的,以管理服务器30为例,运行各种客户端的用户终端10(示例性示出了运行各种客户端的用户终端10-1和运行各种客户端的用户终端10-2)通过网络40连接管理服务器30,网络40可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。运行各种客户端的用户终端10可以提交不同的事务,所述事务中包括不同的操作。
例如,用户终端10可以运行专用的游戏程序,所运行的游戏程序还能够实现支付功能,所述管理服务器30可以接收用户终端10可以运行专用的游戏程序所发出的购买游戏装备的业务请求,控制游戏人物动作的业务请求,等等。
管理服务器30用于接收客户端发送的业务请求;确定所述业务请求所提交的事务,从所述事务中提取不同的操作;确定与所述不同的操作对应的状态;根据所述不同操作的状态、以及执行所述不同操作的操作服务器,更新事务状态表;根据所述事务状态表控制相应的操作服务器执行所述操作;获取所述业务请求的操作结果并返回至所述客户端。运行各种客户端的用户终端10通过图形界面110(示例性示出了展示操作处理情况的图形界面110-1和发出业务请求的图形界面110-2)向用户展示所述事务的处理情况,管理服务器30用于配合运行各种客户端的用户终端10在处理事务过程中分享的后台数据支持,以实现终端的事务处理应用中的不同阶段的处理结果。
基于上述图1所示的事务处理方法的使用环境,继续参考附图描述实现本发明实施例的管理服务器的硬件结构,下面参考图2,图2为本发明实施例提供的终端运行的管理服务器200的一个可选的硬件结构示意图。
本发明实施例中的终端运行的服务器200可以包括处理装置(例如中央处理器、图形处理器等)201,其可以根据存储在只读存储器(ROM,Read Only Memory)202中的程序或者从存储装置208加载到随机访问存储器(RAM,Random Access Memory)203中的程序而执行各种适当的动作和处理。在RAM203中,还存储有终端运行的服务器200操作所需的各种程序和数据。处理装置201、ROM 202以及RAM203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
通常,以下装置可以连接至I/O接口205:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置206;包括例如液晶显示器(LCD,LiquidCrystal Display)、扬声器、振动器等的输出装置207;包括例如磁带、硬盘等的存储装置208,其中,所述存储装置208包括了:信息传输模块2081、信息处理模块2082;以及通信装置209。通信装置209可以允许终端运行的服务器200与其他设备进行无线或有线通信以交换数据。虽然图2示出了具有各种装置的终端运行的服务器200,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本发明的实施例,本发明实施例提供的流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置209从网络上被下载和安装,或者从存储装置208被安装,或者从ROM 202被安装。在该计算机程序被处理装置201执行时,执行本发明实施例的方法中限定的上述功能。
需要说明的是,本发明上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、光纤、便携式紧凑磁盘只读存储器(CD-ROM,Compact Disc Read-OnlyMemory)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(RF,Radio Frequency)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述管理服务器中所包含的;也可以是单独存在,而未装配入该管理服务器中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该管理服务器执行时,使得该管理服务器能够根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
根据所述事务状态表控制相应的操作服务器执行相应的操作;
根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或管理服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN,Local Area Network)或广域网(WAN,Wide Area Network)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
管理服务器的硬件实施或软件实施的示例,管理服务器200可以提供为一系列在信号/信息/数据层面存在耦合关系的模块,图2中的存储装置208示出了实现管理服务器包括的一系列模块:信息传输模块2081、信息处理模块2082,但是管理服务器的模块结构不仅仅限于存储装置208所示,例如,可以对其中的模块根据所实现的不同功能而进一步拆分或者合并。
下面对各模块的功能进行详细说明。
信息传输模块2081,用于接收客户端发送的业务请求;
信息处理模块2082,用于根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
所述信息处理模块2082,用于根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
所述信息处理模块2082,用于根据所述事务状态表控制相应的操作服务器执行相应的操作;
所述信息处理模块2082,用于根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果;
所述信息传输模块2081,用于获取所述业务请求的操作结果并返回至所述客户端。
在本发明的一个实施例中,所述信息处理模块2082,用于根据所述操作的操作参数,确定维护所述操作的目标数据的操作服务器为执行相应操作的操作服务器;所述信息处理模块2082,用于生成所述操作处于未执行的初始状态;所述信息处理模块2082,用于将所述操作与执行所述操作的操作服务器的对应关系、以及所述操作的初始状态,存储到所述事务状态表中。
在本发明的一个实施例中,所述信息传输模块2081,用于接收所述操作服务器执行对应操作的结果,根据所接收的结果确定相应操作的实时的状态;所述信息处理模块2082,用于根据所确定的所述操作的实时的状态,更新所述事务状态表中相应操作的状态与所述实时状态同步。通过本实施例所示的技术方案,所述事务状态表中相应操作的状态能够实现与所述实时状态同步,以保证用户的操作顺利执行。
在本发明的一个实施例中,所述信息传输模块2081,用于接收所述操作服务器发送的查询请求;所述信息处理模块2082,用于在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的操作参数;所述信息传输模块2081,用于将所查询到的待执行的操作和待执行的操作对应的操作参数以任务的形式发送给所述操作服务器,以触发所述操作服务器根据所述待执行的操作对应的数据执行相应的操作。
在本发明的一个实施例中,所述信息处理模块2082,用于根据所述事务状态表查找执行所述事务所需要的操作服务器;所述信息传输模块2081,用于以并行或者串行的方式,向所查找到的操作服务器发送任务,所述任务包括相应操作服务器待执行的操作、以及待执行的操作对应的操作参数。
在本发明的一个实施例中,所述信息处理模块2082,用于根据分解所述事务得到的不同操作的目标数据,确定存储所述目标数据的操作服务器为执行相应的操作服务器;所述信息处理模块2082,用于生成所述操作处于未执行的初始状态;所述信息处理模块2082,用于将所述操作与执行所述操作的操作服务器的对应关系、以及所述操作的初始状态,存储到所述事务状态表中。
在本发明的一个实施例中,所述信息处理模块2082,用于通过与所述不同的操作对应的状态可以确定所述操作是否已经被执行,具体的,可以通过逻辑参数表征所述不同的操作对应的状态,例如:逻辑参数000可以表征相应操作对应的状态为未执行状态,逻辑参数111可以表征相应操作对应的状态为已执行状态,具体采用何种逻辑参数本发明实施例并不做具体限制。
在本发明的一个实施例中,所述信息传输模块2081,用于接收所述操作服务器执行对应操作的结果,根据所接收的结果确定相应操作的实时的状态;
所述信息处理模块2082,用于根据所确定的所述操作的实时的状态更新所述事务状态表中相应操作的状态。
在本发明的一个实施例中,所述信息处理模块2082,用于可以预设一个空的事务状态表,通过将所述事务进行分解,根据相应的分解结果,确定所述事务对应的不同操作,以更改所述的预设空的事务状态表。
在本发明的一个实施例中,所述信息处理模块2082,用于确定与所述不同操作对应的操作的状态,将所述不同的操作的操作状态和所述不同操作所需的执行服务器信息进行汇总,以形成与所述业务请求相对应的事务状态表。通过本实施例所示的技术方案,可以形成针对不同事务中操作的相应的事务状态表,以实现针对复杂的事务的处理。
在本发明的一个实施例中,所述信息处理模块2082,用于根据分解所述事务得到的不同操作的目标数据,确定存储所述目标数据的操作服务器为执行相应的操作服务器;生成所述操作处于未执行的初始状态;将所述操作与执行所述操作的操作服务器的对应关系、以及所述操作的初始状态,存储到所述事务状态表中。通过本实施例所示的技术方案,所述事务状态表中包括了不同操作的目标数据和相应的操作服务器,在出现当服务器的使用环境出现变化时(例如,服务器机房发生断电),由于事务状态表中的状态并未发生变化,因此,在服务器的使用环境恢复时,服务器能够根据所述事务状态表继续处理相应的操作,由此,当前未执行完成的操作不会丢失,也不会破坏用户操作的连贯性。
在本发明的一个实施例中,对于所述事务中待执行的相应操作,所述信息处理模块2082,用于生成所述操作处于未执行的初始状态,可以实现执行服务器根据所生成的所述操作处于未执行的初始状态,确定所述执行服务器能够执行的操作。
在本发明的一个实施例中,对于所述事务中待执行的相应操作,所述信息处理模块2082,用于生成所述操作处于未执行的初始状态,由于所述事物的操作中可以包括自启动应用程序,通过所述操作中的自启动应用程序,所述操作的初始状态可以为已经执行状态;例如:在游戏应用中,在用户通过客户端发起购买游戏道具的请求中,在接收到购买游戏道具的事务时,管理服务器将所述购买游戏道具的事务分解为不同的操作,在生成所述操作处于未执行的初始状态时,检查游戏运行环境的是否安全的应用程序自动执行,其初始状态为已经执行。
在本发明的一个实施例中,所述信息传输模块2081,用于接收所述操作服务器执行对应操作的结果,根据所接收的结果确定相应操作的实时的状态;根据所确定的所述操作的实时的状态更新所述事务状态表中相应操作的状态。通过本实施例所示的技术方案,管理服务器能够根据所确定的所述操作的实时的状态更新所述事务状态表中相应操作的状态,在出现当服务器的使用环境出现变化时(例如,服务器机房发生断电),由于事务状态表中的状态并未发生变化,因此,在服务器的使用环境恢复时,服务器能够根据所述事务状态表继续处理相应的操作,由此,当前未执行完成的操作不会丢失,也不会破坏用户操作的连贯性。
在本发明的一个实施例中,所述信息传输模块2081,用于接收所述操作服务器发送的查询请求;在本发明的一个实施例中,所述根据所述事务状态表控制相应的操作服务器执行相应的操作,包括:
接收所述操作服务器发送的查询请求;在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的数据;将所查询到的待执行的操作和待执行的操作对应的数据发送给所述操作服务器,以触发所述操作服务器根据所述待执行的操作对应的数据执行相应的操作。通过本实施例所示的技术方案,操作服务器向所述管理服务请发送查询请求,根据所述管理返回的查询结果,所述操作服务器能够获知自身所需要处理的相应的操作,并根据所述待执行的操作对应的数据执行相应的操作,有效提升了处理事务中操作的速度。
所述信息处理模块2082,用于在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的数据;
所述信息传输模块2081,用于将所查询到的待执行的操作和待执行的操作对应的数据发送给所述操作服务器,以触发所述操作服务器根据所述待执行的操作对应的数据执行相应的操作。
在本发明的一个实施例中,所述信息传输模块2081,用于在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的数据;将所查询到的待执行的操作和待执行的操作对应的数据发送给所述操作服务器,以触发所述操作服务器根据所述待执行的操作对应的数据执行相应的操作。通过本实施例所示的技术方案,操作服务器向所述管理服务请发送查询请求,根据所述管理返回的查询结果,所述操作服务器能够获知自身所需要处理的相应的操作,并根据所述待执行的操作对应的数据执行相应的操作,有效提升了处理事务中操作的速度。通过本实施例所示的技术方案,当管理服务器的应用场景为游戏操作等众多用户参与的应用场景时,通过业务请求中的优先级标识,可以及时的对所述请求等待队列中的待处理的业务请求的待处理顺序进行调整。
在本发明的一个实施例中,所述信息处理模块2082,用于当所述请求等待队列中的待处理的请求数量超过预设的阻塞阈值时,调用相应的第二管理服务器对所述请求等待队列中的待处理的请求进行处理。通过本实施例所示的技术方案,可以提升处理所述事务的速度,提升用户的使用体验。
在本发明的一个实施例中,所述信息传输模块2081,用于接收客户端发送的至少一个业务请求;所述信息处理模块2082,用于将所接收的至少一个业务请求加入请求等待队列;所述信息处理模块2082,用于根据所述客户端所发送的业务请求中的优先级标识,对所述请求等待队列中的待处理的业务请求的待处理顺序进行调整。
本发明实施例所提供的事务处理系统,包括:客户端和管理服务器,其中所述管理服务器的硬件实施或软件实施的示例与图2相同不再赘述。
其中:客户端,用于向管理服务器发送提交事务的业务请求;管理服务器,用于根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;所述管理服务器,用于根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;操作服务器,用于根据所述事务状态表控制相应的操作服务器执行相应的操作;根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
图3是本发明实施例提供的事务处理方法的一个可选的流程示意图,如图请3所示,本发明实施例提供的事务处理方法的一个可选的流程,包括以下步骤:
步骤301:根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
步骤302:根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
步骤303:根据所述事务状态表控制相应的操作服务器执行相应的操作;
步骤304:根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
在本发明的一个实施例中,所述根据所述不同操作的状态、以及执行所述不同操作的操作服务器,更新事务状态表,包括:根据所述操作的操作参数,确定维护所述操作的目标数据的操作服务器为执行相应操作的操作服务器;生成所述操作处于未执行的初始状态;将所述操作与执行所述操作的操作服务器的对应关系、以及所述操作的初始状态,存储到所述事务状态表中。进一步地,如果所述事务中并未指示目标数据,则所述管理服务器首先应当确定相应的目标数据,例如:所述事务为数据库中的操作,当所述业务请求的操作类型是增加操作时,对应的业务请求中携带相应的目标数据;当所述业务请求的操作类型是删除操作或查找操作时,对应的业务请求中携带相应的目标数据,仅指示目标数据的保存位置;当所述业务请求的操作类型是修改操作时,对应的业务请求中携带相应的修改后的目标数据。
由此,根据所述操作参数,可以确定操作需要操作的目标数据具体是由哪个操作服务器来维护的,以实现相应事务的执行。
在本发明的一个实施例中,所述根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表,包括:接收所述操作服务器执行对应操作的结果,根据所接收的结果确定相应操作的实时状态;根据所述操作的实时状态,更新所述事务状态表中相应操作的状态与所述实时状态同步。
在本发明的一个实施例中,所述根据所述事务状态表控制相应的操作服务器执行相应的操作,包括:接收所述操作服务器发送的查询请求,在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的操作参数,以任务的形式发送给所述操作服务器执行。
在本发明的一个实施例中,所述根据所述事务状态表控制相应的操作服务器执行相应的操作包括:根据所述事务状态表查找执行所述事务所需要的操作服务器;以并行或者串行的方式,向所查找到的操作服务器发送任务,所述任务包括相应操作服务器待执行的操作、以及待执行的操作对应的操作参数。
在本发明的一个实施例中,所述接收客户端发送的业务请求,包括:接收所述客户端发送的业务请求,并将所接收的业务请求加入请求等待队列;
根据所述客户端所发送的业务请求中的优先级标识,对所述请求等待队列中的待处理的业务请求的待处理顺序进行调整。
在本发明的一个实施例中,管理服务器可以预设一个空的事务状态表,通过将所述事务进行分解,根据相应的分解结果,确定所述事务对应的不同操作,以更改所述的预设空的事务状态表。
在本发明的一个实施例中,所述方法还包括:确定与所述不同操作对应的操作的状态,将所述不同的操作的操作状态和所述不同操作所需的执行服务器信息进行汇总,以形成与所述业务请求相对应的事务状态表。通过本实施例所示的技术方案,可以形成针对不同事务中操作的相应的事务状态表,以实现针对复杂的事务的处理。
在本发明的一个实施例中,所述根据所述不同操作的状态、以及执行所述不同操作的操作服务器,更新事务状态表,包括:
根据分解所述事务得到的不同操作的目标数据,确定存储所述目标数据的操作服务器为执行相应的操作服务器;生成所述操作处于未执行的初始状态;将所述操作与执行所述操作的操作服务器的对应关系、以及所述操作的初始状态,存储到所述事务状态表中。
通过上述技术方案,事务状态表中包括了不同操作的目标数据和相应的操作服务器,在出现当服务器的使用环境出现变化时(例如,服务器机房发生断电),由于事务状态表中的状态并未发生变化,因此,在服务器的使用环境恢复时,服务器能够根据所述事务状态表继续处理相应的操作,由此,当前未执行完成的操作不会丢失,也不会破坏用户操作的连贯性。
在本发明的一个实施例中,对于所述事务中待执行的相应操作,生成所述操作处于未执行的初始状态,可以实现执行服务器根据所生成的所述操作处于未执行的初始状态,确定所述执行服务器能够执行哪些操作。
在本发明的一个实施例中,对于所述事务中待执行的相应操作,生成所述操作处于未执行的初始状态,由于所述事物的操作中可以包括自启动应用程序,通过所述操作中的自启动应用程序,所述操作的初始状态可以为已经执行状态。
例如,在游戏应用中,在用户通过客户端发起购买游戏道具的请求中,在接收到购买游戏道具的事务时,管理服务器将所述购买游戏道具的事务分解为不同的操作,在生成所述操作处于未执行的初始状态时,检查游戏运行环境的是否安全的应用程序自动执行,其初始状态为已经执行。
在本发明的一个实施例中,所述根据所述不同操作的状态、以及执行所述不同操作的操作服务器,更新事务状态表,包括:
接收所述操作服务器执行对应操作的结果,根据所接收的结果确定相应操作的实时的状态;根据所确定的所述操作的实时的状态更新所述事务状态表中相应操作的状态。
通过上述的技术方案,管理服务器能够根据所确定的所述操作的实时的状态更新所述事务状态表中相应操作的状态,在出现当服务器的使用环境出现变化时(例如,服务器机房发生断电),由于事务状态表中的状态并未发生变化,因此,在服务器的使用环境恢复时,服务器能够根据所述事务状态表继续处理相应的操作,由此,当前未执行完成的操作不会丢失,也不会破坏用户操作的连贯性。
在本发明的一个实施例中,所述根据所述事务状态表控制相应的操作服务器执行相应的操作,包括:
接收所述操作服务器发送的查询请求;在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的数据;将所查询到的待执行的操作和待执行的操作对应的数据发送给所述操作服务器,以触发所述操作服务器根据所述待执行的操作对应的数据执行相应的操作。通过本实施例所示的技术方案,操作服务器向所述管理服务请发送查询请求,根据所述管理返回的查询结果,所述操作服务器能够获知自身所需要处理的相应的操作,并根据所述待执行的操作对应的数据执行相应的操作,有效提升了处理事务中操作的速度。
在本发明的一个实施例中,所述接收客户端发送的业务请求包括:
接收客户端发送的至少一个业务请求,并将所接收的至少一个业务请求加入请求等待队列;根据所述客户端所发送的业务请求中的优先级标识,对所述请求等待队列中的待处理的业务请求的待处理顺序进行调整。通过本实施例所示的技术方案,当管理服务器的应用场景为游戏操作等众多用户参与的应用场景时,通过业务请求中的优先级标识,可以及时的对所述请求等待队列中的待处理的业务请求的待处理顺序进行调整。
在本发明的一个实施例中,当所述请求等待队列中的待处理的请求数量超过预设的阻塞阈值时,调用相应的第二管理服务器对所述请求等待队列中的待处理的请求进行处理。可以提升处理所述事务的速度,提升用户的使用体验。
图4A是本发明实施例提供的事务处理方法的一个可选的显示界面示意图,如图4A所示,客户端运行的为游戏应用程序,所述事务为运行游戏应用程序的过程中,为用户喜欢的战队花费相应的游戏币进行支持。
图4B是本发明实施例提供的事务处理方法的一个可选的流程示意图,如图4B所示,在本发明的一个实施例中,所述事务为运行游戏应用程序的过程中,为用户喜欢的战队花费相应的游戏币进行支持,所述管理服务器分为状态服务器和逻辑服务器,所述事务包括以下操作:
操作1:检查游戏币余额;
操作2:扣除游戏币;
操作3:增加俱乐部战队支持数;
操作4:增加用户支持记录。
采用本发明所提供的事务处理方法,处理该事务的流程包括以下步骤:
步骤401:用户客户端向逻辑服务器发送花费游戏币的请求;
步骤402:逻辑服务器接收所述花费游戏币的请求;
步骤403:逻辑服务器响应于所接收的花费游戏币的请求,控制状态服务器,设置与花费游戏币的请求对应的事务状态表;
其中,所述事务状态表包括:操作1至操作4的初始状态;
步骤404:所述状态服务器将所设置的事务状态表的初始状态通知所述逻辑服务器;
步骤405:第一操作服务器向所述状态服务器发出第一查询请求;
其中,所述第一操作服务器用于执行操作1和操作2;
步骤406:所述状态服务器响应于所述第一查询请求,控制所述第一操作服务器执行相应的可执行的操作;
其中,当所述状态服务器控制所述第一操作服务器后执行操作1后,所述第一操作服务器确认用户账户的游戏币余额;
在本发明的一个实施例中,当用户的账户的游戏币余额大于等于待扣除的游戏币数量时,所述状态服务器控制所述第一操作服务器可以继续执行操作2,并向所述状态服务器发出通知消息,以实现改变所述操作2的初始状态,并有由所述状态服务器更改所述事务状态表中的操作2的状态。
在本发明的一个实施例中,当用户的账户的游戏币余额小于待扣除的游戏币数量时,所述状态服务器控制所述第一操作服务器拒绝执行操作2,并向所述状态服务器发出通知消息,以实现保持所述操作2的初始状态。
步骤407:第二操作服务器向所述状态服务器发出第二查询请求;
其中,所述第二操作服务器用于执行操作3。
步骤408:所述状态服务器响应于所述第二查询请求,控制所述第二操作服务器执行相应的可执行的操作;
在本发明的一个实施例中,所述增加俱乐部支持数可以与用户所花费的游戏币数量呈现一一对应的关系,即用户每花费1个游戏币,相应俱乐部战队支持数增加1;进一步的,所述增加俱乐部支持数可以与用户所花费的游戏币数量呈现正比例关系,即用户每花费10个游戏币,相应俱乐部战队支持数增加1,本发明实施例对于具体的选择方式不做限定。
在本发明的一个实施例中,当所述操作3执行完成后,所述第二操作服务器能够通知所述状态服务器更新所述事务状态表中操作3的状态。
步骤409:第三操作服务器向所述状态服务器发出第三查询请求;
其中,所述第三操作服务器用于执行操作4。
步骤410:所述状态服务器响应于所述第三查询请求,控制所述第三操作服务器执行相应的可执行的操作。
在本发明的一个实施例中,当所述操作4执行完成后,所述第三操作服务器能够通知所述状态服务器更新所述事务状态表中操作4的状态。
通过本实施例所示的技术方案,当步骤401至步骤410的执行过程中,由于对事务的状态进行统计和管理,形成事务状态表,进而根据所述事务状态表,控制操作服务器执行相应的操作,因此,当出现服务器的使用环境出现变化时(例如,服务器机房发生断电),由于事务状态表中的状态并未发生变化,因此,在服务器的使用环境恢复时,服务器能够根据所述事务状态表继续处理相应的操作,由此,当前未执行完成的操作不会丢失,也不会破坏用户操作的连贯性。
图4C是本发明实施例提供的一个可选的事务处理系统的示意图,如图4C所示,具体的,所述事务处理系统包括:客户端、逻辑服务器、状态服务器、第一操作服务器、第二操作服务器和第三操作服务器;所述逻辑服务器能够接收客户端所发送的消费请求,并将相应的请求结果向所述客户端发送,所述逻辑服务器能够设置所述状态服务器的状态,所述状态服务器能够控制相应的操作服务器执行不同的事务,例如:查询状态,执行操作,设置状态。在本发明的一个实施例中,所述事务为运行游戏应用程序的过程中,为用户喜欢的战队花费相应的游戏币进行支持,所述管理服务器分为状态服务器和逻辑服务器,图4C中的装置对应执行步骤401至步骤410。
图5A是本发明实施例提供的事务处理方法的一个可选的显示界面示意图,如图5A所示,客户端运行的为游戏应用程序,所述事务为运行游戏应用程序的过程中,用户花费相应的游戏币购买皮肤(包括游戏人物角色和相应技能)。
图5B是本发明实施例提供的事务处理方法的一个可选的流程示意图,如图5B所示,在本发明的一个实施例中,所述事务为运行游戏应用程序的过程中,用户购买游戏皮肤,所述事务包括以下操作:
操作1:发送购买游戏皮肤的请求;
操作2:选择需要购买的游戏皮肤;
操作3:选择游戏区域大区;
操作4:扣除相应数量的游戏币;
操作5:将用户所购买的游戏皮肤增加至用户皮肤库。
采用本发明所提供的事务处理方法,所述管理服务器分为逻辑服务器和状态服务器,处理该事务的流程包括以下步骤:
步骤501:用户客户端向逻辑服务器发送购买游戏皮肤的请求;
步骤502:逻辑服务器接收所述发送购买游戏皮肤的请求;
步骤503:逻辑服务器分解所接收的购买游戏皮肤的请求,控制状态服务器,设置与购买游戏皮肤的请求对应的事务状态表;
其中,所述事务状态表包括:操作1至操作5的初始状态;
步骤504:所述状态服务器将所设置的事务状态表的初始状态通知所述逻辑服务器;
步骤505:第一操作服务器向所述状态服务器发出第一查询请求;
其中,所述第一操作服务器用于执行操作1;
步骤506:所述状态服务器响应于所述第一查询请求,控制所述第一操作服务器执行相应的可执行的操作;
步骤507:第二操作服务器向所述状态服务器发出第二查询请求;
其中,所述第二操作服务器用于执行操作2。
步骤508:所述状态服务器响应于所述第二查询请求,控制所述第二操作服务器执行相应的可执行的操作;
步骤509:第三操作服务器向所述状态服务器发出第三查询请求;
其中,所述第三操作服务器用于执行操作3。
步骤510:所述状态服务器响应于所述第三查询请求,控制所述第三操作服务器执行相应的可执行的操作。
在本发明的一个实施例中,当所述选择游戏区域大区不支持所述操作2所选择的游戏皮肤时,所述第三操作服务器向所述状态服务器发送通知消息以实现保持所述事务状态表中的操作3的状态不变。
在本发明的一个实施例中,当所述选择游戏区域大区支持所述操作2所选择的游戏皮肤时,所述第三操作服务器向所述状态服务器发送通知消息以实现更新所述事务状态表中的操作3的状态。
步骤511:第四操作服务器向所述状态服务器发出第四查询请求;
其中,所述第四操作服务器用于执行操作4。
步骤512:所述状态服务器响应于所述第四查询请求,控制所述第四操作服务器执行相应的可执行的操作。
在本发明的一个实施例中,当用户的账户的游戏币余额大于等于待扣除的游戏币数量时,所述状态服务器控制所述操作服务器可以继续执行操作4,并向所述状态服务器发出通知消息,以实现改变所述操作4的初始状态,并有由所述状态服务器更改所述事务状态表中的操作4的状态。
在本发明的一个实施例中,当用户的账户的游戏币余额小于待扣除的游戏币数量时,所述状态服务器控制所述第一操作服务器拒绝执行操作4,并向所述状态服务器发出通知消息,以实现保持所述操作4的初始状态。
步骤513:第五操作服务器向所述状态服务器发出第五查询请求;
其中,所述第五操作服务器用于执行操作5。
步骤514:所述状态服务器响应于所述第五查询请求,控制所述第五操作服务器执行相应的可执行的操作。
在本发明的一个实施例中,当不同的事务中的操作占用相同的服务器中所保存的资源时,根据所示事务的优先级顺序,优先执行高优先级的事务中的操作,此时,占用相同资源的操作处于锁死状态。
在本发明的一个实施例中,当图4所示的事务与图5所示的事务同时发生时,所述管理服务器可以将分解后的不同操作进行并行处理,但当并行处理步406和步骤512时,由于均涉及对于用户账户余额的查询,因此,当图4所示事务执行步骤406时,图5中的步骤均处于锁死状态,由此可以避免同一用户的账户余额被重复利用。
图6是本发明实施例提供的事务处理方法的一个可选的流程示意图,如图6所示,本发明实施例提供的事务处理方法的一个可选的流程包括以下步骤:
步骤601:客户端向管理服务器发送用于提交事务的业务请求;
步骤602:管理服务器接收所述业务请求;
步骤603:所述管理服务器响应于所接收的业务请求,从所述事务中提取不同的操作;
步骤604:所述管理服务器根据所述不同操作的状态、以及执行所述不同操作的操作服务器,更新事务状态表;
在本发明的一个实施例中,所述方法还包括:确定与所述不同操作对应的操作的状态,将所述不同的操作的操作状态和所述不同操作所需的执行服务器信息进行汇总,以形成与所述业务请求相对应的事务状态表。通过本实施例所示的技术方案,可以形成针对不同事务中操作的相应的事务状态表,以实现针对复杂的事务的处理。
在本发明的一个实施例中,所述根据所述不同操作的状态、以及执行所述不同操作的操作服务器,更新事务状态表,包括:
根据分解所述事务得到的不同操作的目标数据,确定存储所述目标数据的操作服务器为执行相应的操作服务器;生成所述操作处于未执行的初始状态;将所述操作与执行所述操作的操作服务器的对应关系、以及所述操作的初始状态,存储到所述事务状态表中。通过本实施例所示的技术方案,所述事务状态表中包括了不同操作的目标数据和相应的操作服务器,在出现当服务器的使用环境出现变化时(例如,服务器机房发生断电),由于事务状态表中的状态并未发生变化,因此,在服务器的使用环境恢复时,服务器能够根据所述事务状态表继续处理相应的操作,由此,当前未执行完成的操作不会丢失,也不会破坏用户操作的连贯性。
在本发明的一个实施例中,对于所述事务中待执行的相应操作,生成所述操作处于未执行的初始状态,可以实现执行服务器根据所生成的所述操作处于未执行的初始状态,确定所述执行服务器能够执行哪些操作。
在本发明的一个实施例中,对于所述事务中待执行的相应操作,生成所述操作处于未执行的初始状态,由于所述事物的操作中可以包括自启动应用程序,通过所述操作中的自启动应用程序,所述操作的初始状态可以为已经执行状态;
例如:在游戏应用中,在用户通过客户端发起购买游戏道具的请求中,在接收到购买游戏道具的事务时,管理服务器将所述购买游戏道具的事务分解为不同的操作,在生成所述操作处于未执行的初始状态时,检查游戏运行环境的是否安全的应用程序自动执行,其初始状态为已经执行。
在本发明的一个实施例中,所述根据所述不同操作的状态、以及执行所述不同操作的操作服务器,更新事务状态表,包括:
接收所述操作服务器执行对应操作的结果,根据所接收的结果确定相应操作的实时的状态;根据所确定的所述操作的实时的状态更新所述事务状态表中相应操作的状态。通过本实施例所示的技术方案,管理服务器能够根据所确定的所述操作的实时的状态更新所述事务状态表中相应操作的状态,在出现当服务器的使用环境出现变化时(例如,服务器机房发生断电),由于事务状态表中的状态并未发生变化,因此,在服务器的使用环境恢复时,服务器能够根据所述事务状态表继续处理相应的操作,由此,当前未执行完成的操作不会丢失,也不会破坏用户操作的连贯性。
步骤605:所述管理服务器根据所述事务状态表控制相应的操作服务器执行相应的操作;
步骤606:所述管理服务器获取所述操作的操作结果并返回至所述客户端。
图7是本发明实施例提供的事务处理方法中事务状态表的数据结构示意图,如图7所示,本发明实施例提供的事务处理方法中事务状态表的数据结构包括了事务编号,相应事务中操作的执行状态和事务相关数据,通过在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的数据;可以将所查询到的待执行的操作和待执行的操作对应的数据发送给所述操作服务器,以触发所述操作服务器根据所述待执行的操作对应的数据执行相应的操作。
综上所述,本发明实施例能够通过将不同操作的状态、以及执行不同操作的操作服务器在事务状态表中维护,形成以事务驱动操作服务器执行事务的机制,避免了当操作服务器出现故障时,当前未执行完成的操作丢失的情况,提高了整体的可靠性。事务状态表中包括了不同操作的目标数据和相应的操作服务器,在出现当服务器的使用环境出现变化时(例如,服务器机房发生断电),由于事务状态表中的状态并未发生变化,因此,在服务器的使用环境恢复时,服务器能够根据所述事务状态表继续处理相应的操作,由此,当前未执行完成的操作不会丢失,也不会破坏用户操作的连贯性,进一步地,操作服务器向所述管理服务请发送查询请求,根据所述管理返回的查询结果,所述操作服务器能够获知自身所需要处理的相应的操作,并根据所述待执行的操作对应的数据执行相应的操作,有效提升了处理事务中操作的速度。当管理服务器的应用场景为游戏操作等众多用户参与的应用场景时,通过业务请求中的优先级标识,可以及时的对所述请求等待队列中的待处理的业务请求的待处理顺序进行调整;当所述请求等待队列中的待处理的请求数量超过预设的阻塞阈值时,调用相应的第二管理服务器对所述请求等待队列中的待处理的请求进行处理。可以提升处理所述事务的速度,提升用户的使用体验。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种事务处理方法,其特征在于,所述方法包括:
根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
根据所述事务状态表控制相应的操作服务器执行相应的操作;
根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表,包括:
根据所述操作的操作参数,确定维护所述操作的目标数据的操作服务器为执行相应操作的操作服务器;
生成所述操作处于未执行的初始状态;
将所述操作与执行所述操作的操作服务器的对应关系、以及所述操作的初始状态,存储到所述事务状态表中。
3.根据权利要求1所述的方法,其特征在于,所述根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表,包括:
接收所述操作服务器执行对应操作的结果,根据所接收的结果确定相应操作的实时状态;
根据所述操作的实时状态,更新所述事务状态表中相应操作的状态与所述实时状态同步。
4.根据权利要求1所述的方法,其特征在于,所述根据所述事务状态表控制相应的操作服务器执行相应的操作,包括:
接收所述操作服务器发送的查询请求,
在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的操作参数,以任务的形式发送给所述操作服务器执行。
5.根据权利要求1所述的方法,其特征在于,所述根据所述事务状态表控制相应的操作服务器执行相应的操作,包括:
根据所述事务状态表查找执行所述事务所需要的操作服务器;
以并行或者串行的方式,向所查找到的操作服务器发送任务,所述任务包括相应操作服务器待执行的操作、以及待执行的操作对应的操作参数。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的业务请求,并将所接收的业务请求加入请求等待队列;
根据所述客户端所发送的业务请求中的优先级标识,对所述请求等待队列中的待处理的业务请求的待处理顺序进行调整。
7.一种事务处理方法,其特征在于,所述方法包括:
客户端向管理服务器发送用于提交事务的业务请求;
所述管理服务器根据所述业务请求所提交的事务,提取所述事务中所包括的操作;
所述管理服务器根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
所述管理服务器根据所述事务状态表控制相应的操作服务器执行相应的操作;
所述管理服务器根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
8.一种管理服务器,其特征在于,所述管理服务器包括:
信息传输模块,用于接收客户端发送的业务请求;
信息处理模块,用于根据所述客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
所述信息处理模块,用于根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
所述信息处理模块,用于根据所述事务状态表控制相应的操作服务器执行相应的操作;
所述信息处理模块,用于根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果;
所述信息传输模块,用于获取所述业务请求的操作结果并返回至所述客户端。
9.根据权利要求8所述的服务器,其特征在于,
所述信息处理模块,具体用于根据所述操作的操作参数,确定维护所述操作的目标数据的操作服务器为执行相应操作的操作服务器;
所述信息处理模块,具体用于生成所述操作处于未执行的初始状态;
所述信息处理模块,具体用于将所述操作与执行所述操作的操作服务器的对应关系、以及所述操作的初始状态,存储到所述事务状态表中。
10.根据权利要求8所述的服务器,其特征在于,
所述信息传输模块,具体用于接收所述操作服务器执行对应操作的结果,根据所接收的结果确定相应操作的实时的状态;
所述信息处理模块,具体用于根据所确定的所述操作的实时的状态,更新所述事务状态表中相应操作的状态与所述实时状态同步。
11.根据权利要求8所述的服务器,其特征在于,
所述信息传输模块,具体用于接收所述操作服务器发送的查询请求;
所述信息处理模块,具体用于在所述事务状态表中查询所述操作服务器待执行的操作、以及待执行的操作对应的操作参数;
所述信息传输模块,具体用于将所查询到的待执行的操作和待执行的操作对应的操作参数以任务的形式发送给所述操作服务器,以触发所述操作服务器根据所述待执行的操作对应的数据执行相应的操作。
12.根据权利要求8所述的服务器,其特征在于,
所述信息处理模块,具体用于根据所述事务状态表查找执行所述事务所需要的操作服务器;
所述信息传输模块,具体用于以并行或者串行的方式,向所查找到的操作服务器发送任务,所述任务包括相应操作服务器待执行的操作、以及待执行的操作对应的操作参数。
13.一种事务处理系统,其特征在于,所述系统包括:
客户端,用于向管理服务器发送用于提交事务的业务请求;
管理服务器,用于接收所述业务请求;
所述管理服务器,用于根据所述业务请求所提交的事务,提取所述事务中所包括的操作;
所述管理服务器,用于根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
操作服务器,用于根据所述事务状态表控制相应的操作服务器执行相应的操作;
所述管理服务器,用于根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
14.一种管理服务器,其特征在于,所述服务器包括:
处理器和用于存储能够在处理器上运行的可执行指令的存储器,
其中,所述处理器用于运行所述可执行指令时,执行以下操作:
根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
根据所述事务状态表控制相应的操作服务器执行相应的操作;
根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
15.一种计算机可读存储介质,其存储有可执行指令,其特征在于,可执行指令被处理器执行时实现以下的操作:
根据客户端的业务请求所提交的事务,提取所述事务中所包括的操作;
根据与所述提取的操作对应的状态、以及执行所述操作的操作服务器,更新事务状态表;
根据所述事务状态表控制相应的操作服务器执行相应的操作;
根据所述操作服务器执行相应操作的结果,形成所述业务请求的操作结果,并返回至所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811279895.1A CN109460288B (zh) | 2018-10-30 | 2018-10-30 | 一种事务处理方法、管理服务器、事务处理系统和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811279895.1A CN109460288B (zh) | 2018-10-30 | 2018-10-30 | 一种事务处理方法、管理服务器、事务处理系统和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460288A CN109460288A (zh) | 2019-03-12 |
CN109460288B true CN109460288B (zh) | 2022-04-12 |
Family
ID=65608854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811279895.1A Active CN109460288B (zh) | 2018-10-30 | 2018-10-30 | 一种事务处理方法、管理服务器、事务处理系统和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460288B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739244B2 (en) * | 2004-10-14 | 2010-06-15 | Oracle International Corporation | Operating logging for online recovery in shared memory information systems |
US8918380B2 (en) * | 2009-07-09 | 2014-12-23 | Norsync Technology As | Methods, systems and devices for performing incremental updates of partial databases |
CN103500120A (zh) * | 2013-09-17 | 2014-01-08 | 北京思特奇信息技术股份有限公司 | 基于多线程异步双写的分布式缓存高可用处理方法及系统 |
CN107465725B (zh) * | 2017-07-20 | 2020-11-06 | 中国银行股份有限公司 | 基于客户信息控制系统的异构长事务处理系统及方法 |
-
2018
- 2018-10-30 CN CN201811279895.1A patent/CN109460288B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109460288A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11394769B2 (en) | Framework for the deployment of event-based applications | |
CN107483418A (zh) | 登录处理方法、业务处理方法、装置及服务器 | |
CN106462577A (zh) | 用于移动设备和移动云服务的同步的基础设施 | |
CN110781373B (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
US20210224076A1 (en) | Techniques for managing dependencies of an orchestration service | |
CN109408286A (zh) | 数据处理方法、装置、系统、计算机可读存储介质 | |
CN111126948A (zh) | 用于审批流程的处理方法和装置 | |
JP2023511114A (ja) | デプロイ命令のために有向非巡回グラフを利用するための技術 | |
CN112084044B (zh) | 系统中事件处理方法及相关装置 | |
CN110223179A (zh) | 资金的数据处理方法、装置、系统、介质 | |
US10127270B1 (en) | Transaction processing using a key-value store | |
CN117076096A (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
CN113791876A (zh) | 用于处理任务的系统、方法和装置 | |
CN109460288B (zh) | 一种事务处理方法、管理服务器、事务处理系统和存储介质 | |
CN111339187A (zh) | 基于智能合约的数据处理方法、装置、设备和存储介质 | |
US11949735B2 (en) | Centralized approach for managing cross-service data of cloud resources | |
US20230014233A1 (en) | Serverless Application Function Execution | |
CN111626802A (zh) | 用于处理信息的方法和装置 | |
CN115563160A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN113590358A (zh) | 基于rpa的服务并发治理方法及装置 | |
CN113723892A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112099841A (zh) | 一种生成配置文件的方法和系统 | |
CN110262756B (zh) | 用于缓存数据的方法和装置 | |
US20230102645A1 (en) | Resource Reuse for Pipeline Workloads | |
US20240187478A1 (en) | Centralized Approach For Managing Cross-Service Data Of Cloud Resources |
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 |