CN112286909B - 执行状态确定方法、装置、服务器及存储介质 - Google Patents
执行状态确定方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN112286909B CN112286909B CN202011179528.1A CN202011179528A CN112286909B CN 112286909 B CN112286909 B CN 112286909B CN 202011179528 A CN202011179528 A CN 202011179528A CN 112286909 B CN112286909 B CN 112286909B
- Authority
- CN
- China
- Prior art keywords
- writing
- state
- execution
- transaction
- data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及计算机技术领域,提供一种执行状态确定方法、装置、服务器及存储介质,所述方法包括:当接收到针对目标数据的数据写入指令时,根据所述数据写入指令生成写入标识;将所述目标数据的写入操作以及所述写入标识的写入操作合并为写入事务;根据所述写入标识及所述写入事务生成状态键,其中,所述状态键用于存储所述执行节点上报的状态值;当接收到所述写入事务的成功提交指示后,在预设时间段内持续获取所述状态键中的状态值;根据所述状态键中的状态值确定所述执行节点的执行状态。本发明能提高系统的稳定性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种执行状态确定方法、装置、服务器及存储介质。
背景技术
目前,为了提高系统性能,可以将数据存储至分布式的键值对数据库中,但在实践中发现,写入数据的节点无法知道读取数据的节点是否读取成功,无论读取数据的节点是否读取成功,写入数据的节点都会收到写入成功的指示,这会引起其它关联业务的执行失败,导致系统的稳定性不高。
因此,如何提高系统的稳定性是一个需要解决的技术问题。
发明内容
鉴于以上内容,有必要提供一种执行状态确定方法,能够提高系统的稳定性。
本发明的第一方面提供一种执行状态确定方法,应用于服务器中,所述服务器与执行节点相通信,所述执行状态确定方法包括:
当接收到针对目标数据的数据写入指令时,根据所述数据写入指令生成写入标识;
将所述目标数据的写入操作以及所述写入标识的写入操作合并为写入事务;
根据所述写入标识及所述写入事务生成状态键,其中,所述状态键用于存储所述执行节点上报的状态值;
当接收到所述写入事务的成功提交指示后,在预设时间段内持续获取所述状态键中的状态值;
根据所述状态键中的状态值确定所述执行节点的执行状态。
在一种可能的实现方式中,所述根据所述数据写入指令生成写入标识包括:
解析所述数据写入指令,得到所述数据写入指令携带的指令数据;
从所述指令数据中获取写入位置;
将所述写入位置输入至随机数据生成器,得到所述写入标识。
在一种可能的实现方式中,所述从所述指令数据中获取写入位置包括:
获取位置标签,所述位置标签用于指示位置;
从所述指令数据中获取与所述位置标签对应的信息作为所述写入位置。
在一种可能的实现方式中,所述根据所述写入标识及所述写入事务生成状态键包括:
获取所述写入事务的事务标签;
拼接所述事务标签及所述写入标识,得到所述状态键。
在一种可能的实现方式中,当所述执行节点有多个时,所述执行状态确定方法还包括:
接收多个执行节点发送的多个当前状态值;
根据所述多个当前状态值确定目标状态值;
将所述目标状态值写入所述状态键中。
在一种可能的实现方式中,所述根据所述状态键中的状态值确定所述执行节点的执行状态包括:
当所述状态键中的状态值为空值时,将与所述状态键对应的执行节点确定为异常节点,并根据所述异常节点生成告警信息;
确定所述数据写入指令的发出终端;
将所述告警信息发送至所述发出终端。
在一种可能的实现方式中,所述执行状态确定方法还包括:
当接收到所述写入事务的执行失败指示后,获取事务日志;
根据所述事务日志对所述写入事务进行事务回滚操作。
本发明的第二方面提供一种执行状态确定装置,运行于服务器中,所述服务器与执行节点相通信,所述执行状态确定装置包括:
生成模块,用于当接收到针对目标数据的数据写入指令时,根据所述数据写入指令生成写入标识;
合并模块,用于将所述目标数据的写入操作以及所述写入标识的写入操作合并为写入事务;
所述生成模块,还用于根据所述写入标识及所述写入事务生成状态键,其中,所述状态键用于存储所述执行节点上报的状态值;
获取模块,用于当接收到所述写入事务的成功提交指示后,在预设时间段内持续获取所述状态键中的状态值;
确定模块,用于根据所述状态键中的状态值确定所述执行节点的执行状态。
本发明的第三方面提供一种服务器,所述服务器包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的执行状态确定方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的执行状态确定方法。
由以上技术方案可知,本发明中,可以通过数据写入指令生成写入标识,并根据写入标识,生成与写入标识及写入事务具有关联的状态键,状态键用于存储执行节点上报的状态值,通过对状态键进行监控,即可以确定执行节点的状态,当执行节点未执行成功时,可以通过日志快速定位出错位置进行错误排查,同时,通过获取执行节点的状态,可以确保具有前后依赖关系的多个命令顺利下发,不会出现执行节点因前面的命令执行失败了,执行后面的命令而没有执行前面的命令,导致后面的命令执行出错的情况,提高了系统的稳定性。
附图说明
图1是本发明公开的一种执行状态确定方法的较佳实施例的流程图。
图2是本发明公开的一种执行状态确定装置的较佳实施例的功能模块图。
图3是本发明实现执行状态确定方法的较佳实施例的服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例的执行状态确定方法应用在服务器中,也可以应用在服务器和通过网络与所述服务器进行连接的电子设备所构成的硬件环境中,由服务器和电子设备共同执行。网络包括但不限于:广域网、城域网或局域网。
其中,服务器可以是指能对网络中其它设备(如电子设备)提供服务的计算机系统。如果一个个人电脑能够对外提供文件传输协议(File Transfer Protocol,简称FTP)服务,也可以叫服务器。从狭义范围上讲,服务器专指某些高性能计算机,能通过网络,对外提供服务,其相对于普通的个人电脑来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通的个人电脑有所不同。
所述服务器是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述服务器还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络设备、多个网络设备组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络设备构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机组成的一个超级虚拟计算机。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理PDA等。
请参见图1,图1是本发明公开的一种执行状态确定方法的较佳实施例的流程图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
本发明实施例中,本发明应用于服务器中,所述服务器与执行节点相通信。
S11、当接收到针对目标数据的数据写入指令时,根据所述数据写入指令生成写入标识。
本发明实施例中,所述服务器主要用来控制etcd的数据更新,所述etcd是一种无状态的分布式数据存储集群,数据以键值对的形式存储在其中。
本发明实施例中,当需要进行数据更新时,所述服务器根据所述数据写入指令生成所述写入标识。
本发明实施例中,所述根据所述数据写入指令生成写入标识包括:
解析所述数据写入指令,得到所述数据写入指令携带的指令数据;
从所述指令数据中获取写入位置;
将所述写入位置输入至随机数据生成器,得到所述写入标识。
例如:所述写入标识可以是123456。
通过上述实施方式,由于所述写入位置是唯一的,因此,根据所述写入位置能够生成唯一标识所述写入位置的写入标识。
具体地,所述从所述指令数据中获取写入位置包括:
获取位置标签,所述位置标签用于指示位置;
从所述指令数据中获取与所述位置标签对应的信息作为所述写入位置。
通过所述位置标签,能够快速并准确确定出所述写入位置。
S12、将所述目标数据的写入操作以及所述写入标识的写入操作合并为写入事务。
本发明实施例中,所述写入事务是数据库的一个事务,是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,数据库的事务是一个不可分割的工作单位,事务由事务开始与事务结束之间执行的全部数据库操作组成。
本发明实施例中,所述目标数据需要写入至所述数据写入指令指定的键中,所述写入标识需要写入至预设的标识键中,通过将所述目标数据的写入操作以及所述写入标识的写入操作合并为同一个写入事务,可以将这两个写入操作关联起来,相同事务的操作记录(revision)属性是相同的。
S13、根据所述写入标识及所述写入事务生成状态键,其中,所述状态键用于存储所述执行节点上报的状态值。
本发明实施例中,所述执行节点可以是执行与指定的键保存的数据相关的业务处理逻辑的节点,当检测到某个键的值发生了变化时,所述执行节点需要进行相关的业务处理操作。
本发明实施例中,所述根据所述写入标识及所述写入事务生成状态键包括:
获取所述写入事务的事务标签;
拼接所述事务标签及所述写入标识,得到所述状态键。
例如:所述事务标签为/status/,所述写入标识为“123456”,因此,能够生成的状态键为“/status/123456”。
通过上述实施方式,利用所述写入事务的事务标签生成所述状态键,能够使生成的所述状态键具有所述写入事务的特性,利用所述写入标识能够生成唯一标识所述状态键。
作为一种可选的实施方式,当所述执行节点有多个时,所述执行状态确定方法还包括:
接收多个执行节点发送的多个当前状态值;
根据所述多个当前状态值确定目标状态值;
将所述目标状态值写入所述状态键中。
在该可选的实施方式中,若所述执行节点有多个,则当任意一个执行节点的任务执行成功时,任务执行成功的执行节点可以把所述状态键存储的当前状态值读取出来,比如所述当前状态值为“0”,然后可以将所述当前状态值+1,获得所述目标状态值“1”,将所述目标状态值写入至所述状态键中,下一个任务执行成功的执行节点读取到的当前状态值为“1”,当服务器监听到所述状态键中的值为“3”,确定有3个执行节点已经执行成功。
可选的,当检测到所述执行节点的任务执行失败时,不需要对所述状态键进行任何操作。
可选的,对所述状态键的读写操作需要加分布式锁,防止多个执行节点并行更新所述状态键的状态值,从而导致数据出错。
S14、当接收到所述写入事务的成功提交指示后,在预设时间段内持续获取所述状态键中的状态值。
本发明实施例中,所述服务器可以对所述状态键存储的状态值进行监控。
作为一种可选的实施方式,所述执行状态确定方法还包括:
当接收到所述写入事务的执行失败指示后,获取事务日志;
根据所述事务日志对所述写入事务进行事务回滚操作。
其中,所述事务回滚是指将数据恢复到事务开始前的状态。
在该可选的实施方式中,可以通过事务日志获得事务开始前的状态,进行事务回滚操作,确保数据库的数据不出错。
S15、根据所述状态键中的状态值确定所述执行节点的执行状态。
本发明实施例中,可以预先设置好不同的状态值对应不同的执行状态,比如状态值“0”对应的执行状态为执行失败,状态值“1”对应的执行状态为执行成功。
具体的,所述服务器根据所述状态键中的状态值确定所述执行节点的执行状态包括:
当所述状态键中的状态值为空值时,将与所述状态键对应的执行节点确定为异常节点,并根据所述异常节点生成告警信息;
确定所述数据写入指令的发出终端;
将所述告警信息发送至所述发出终端。
本发明实施例中,若所述状态值为空值,确定所述执行节点为上报自身的执行状态,所述执行节点可能执行超时或者执行出错,可以将所述执行节点确定为异常节点。
在图1所描述的方法流程中,可以通过数据写入指令生成写入标识,并根据写入标识,生成与写入标识及写入事务具有关联的状态键,状态键用于存储执行节点上报的状态值,通过对状态键进行监控,即可以确定执行节点的状态,当执行节点未执行成功时,可以通过日志快速定位出错位置进行错误排查,同时,通过获取执行节点的状态,可以确保具有前后依赖关系的多个命令顺利下发,不会出现执行节点因前面的命令执行失败了,执行后面的命令而没有执行前面的命令,导致后面的命令执行出错的情况,提高了系统的稳定性。
图2是本发明公开的一种执行状态确定装置的较佳实施例的功能模块图。
请参见图2,所述执行状态确定装置20可运行于服务器中。所述执行状态确定装置20可以包括多个由程序代码段所组成的功能模块。所述执行状态确定装置20中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的执行状态确定方法中的部分或全部步骤。
本实施例中,所述执行状态确定装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:生成模块201、合并模块202、获取模块203、确定模块204、接收模块205、写入模块206及操作模块207。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
本发明实施例中,本发明运行于服务器中,所述服务器与执行节点相通信。
生成模块201,用于当接收到针对目标数据的数据写入指令时,根据所述数据写入指令生成写入标识。
本发明实施例中,所述服务器主要用来控制etcd的数据更新,所述etcd是一种无状态的分布式数据存储集群,数据以键值对的形式存储在其中。
本发明实施例中,当需要进行数据更新时,所述生成模块201根据所述数据写入指令生成所述写入标识。
本发明实施例中,所述生成模块201根据所述数据写入指令生成写入标识包括:
解析所述数据写入指令,得到所述数据写入指令携带的指令数据;
从所述指令数据中获取写入位置;
将所述写入位置输入至随机数据生成器,得到所述写入标识。
例如:所述写入标识可以是123456。
通过上述实施方式,由于所述写入位置是唯一的,因此,根据所述写入位置能够生成唯一标识所述写入位置的写入标识。
具体地,所述生成模块201从所述指令数据中获取写入位置包括:
获取位置标签,所述位置标签用于指示位置;
从所述指令数据中获取与所述位置标签对应的信息作为所述写入位置。
通过所述位置标签,能够快速并准确确定出所述写入位置。
合并模块202,用于将所述目标数据的写入操作以及所述写入标识的写入操作合并为写入事务。
本发明实施例中,所述写入事务是数据库的一个事务,是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,数据库的事务是一个不可分割的工作单位,事务由事务开始与事务结束之间执行的全部数据库操作组成。
本发明实施例中,所述目标数据需要写入至所述数据写入指令指定的键中,所述写入标识需要写入至预设的标识键中,通过将所述目标数据的写入操作以及所述写入标识的写入操作合并为同一个写入事务,可以将这两个写入操作关联起来,相同事务的操作记录(revision)属性是相同的。
所述生成模块201,还用于根据所述写入标识及所述写入事务生成状态键,其中,所述状态键用于存储所述执行节点上报的状态值。
本发明实施例中,所述执行节点可以是执行与指定的键保存的数据相关的业务处理逻辑的节点,当检测到某个键的值发生了变化时,所述执行节点需要进行相关的业务处理操作。
本发明实施例中,所述生成模块201根据所述写入标识及所述写入事务生成状态键包括:
获取所述写入事务的事务标签;
拼接所述事务标签及所述写入标识,得到所述状态键。
例如:所述事务标签为/status/,所述写入标识为“123456”,因此,能够生成的状态键为“/status/123456”。
通过上述实施方式,利用所述写入事务的事务标签生成所述状态键,能够使生成的所述状态键具有所述写入事务的特性,利用所述写入标识能够生成唯一标识所述状态键。
作为一种可选的实施方式,当所述执行节点有多个时,接收模块205接收多个执行节点发送的多个当前状态值;
确定模块204根据所述多个当前状态值确定目标状态值;
写入模块206将所述目标状态值写入所述状态键中。
在该可选的实施方式中,若所述执行节点有多个,则当任意一个执行节点的任务执行成功时,任务执行成功的执行节点可以把所述状态键存储的当前状态值读取出来,比如所述当前状态值为“0”,然后可以将所述当前状态值+1,获得所述目标状态值“1”,将所述目标状态值写入至所述状态键中,下一个任务执行成功的执行节点读取到的当前状态值为“1”,当服务器监听到所述状态键中的值为“3”,确定有3个执行节点已经执行成功。
可选的,当检测到所述执行节点的任务执行失败时,不需要对所述状态键进行任何操作。
可选的,对所述状态键的读写操作需要加分布式锁,防止多个执行节点并行更新所述状态键的状态值,从而导致数据出错。
获取模块203,用于当接收到所述写入事务的成功提交指示后,在预设时间段内持续获取所述状态键中的状态值。
本发明实施例中,所述服务器可以对所述状态键存储的状态值进行监控。
作为一种可选的实施方式,当接收到所述写入事务的执行失败指示后,所述获取模块203获取事务日志;
操作模块207根据所述事务日志对所述写入事务进行事务回滚操作。
其中,所述事务回滚是指将数据恢复到事务开始前的状态。
在该可选的实施方式中,可以通过事务日志获得事务开始前的状态,进行事务回滚操作,确保数据库的数据不出错。
所述确定模块204,用于根据所述状态键中的状态值确定所述执行节点的执行状态。
本发明实施例中,可以预先设置好不同的状态值对应不同的执行状态,比如状态值“0”对应的执行状态为执行失败,状态值“1”对应的执行状态为执行成功。
具体的,所述确定模块204根据所述状态键中的状态值确定所述执行节点的执行状态包括:
当所述状态键中的状态值为空值时,将与所述状态键对应的执行节点确定为异常节点,并根据所述异常节点生成告警信息;
确定所述数据写入指令的发出终端;
将所述告警信息发送至所述发出终端。
本发明实施例中,若所述状态值为空值,确定所述执行节点为上报自身的执行状态,所述执行节点可能执行超时或者执行出错,可以将所述执行节点确定为异常节点。
在图2所描述的执行状态确定装置20中,可以通过数据写入指令生成写入标识,并根据写入标识,生成与写入标识及写入事务具有关联的状态键,状态键用于存储执行节点上报的状态值,通过对状态键进行监控,即可以确定执行节点的状态,当执行节点未执行成功时,可以通过日志快速定位出错位置进行错误排查,同时,通过获取执行节点的状态,可以确保具有前后依赖关系的多个命令顺利下发,不会出现执行节点因前面的命令执行失败了,执行后面的命令而没有执行前面的命令,导致后面的命令执行出错的情况,提高了系统的稳定性。
如图3所示,图3是本发明实现执行状态确定方法的较佳实施例的服务器的结构示意图。所述服务器3包括存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
本领域技术人员可以理解,图3所示的示意图仅仅是所述服务器3的示例,并不构成对所述服务器3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器3还可以包括输入输出设备、网络接入设备等。
所述服务器3还包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(InternetProtocol Television,IPTV)、智能式穿戴式设备等。所述服务器3所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述服务器3的控制中心,利用各种接口和线路连接整个服务器3的各个部分。
所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述服务器3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器3的使用所创建的数据等。此外,存储器31可以包括易失性和非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件等。
结合图1,所述服务器3中的所述存储器31存储多个指令以实现一种执行状态确定方法,所述处理器32可执行所述多个指令从而实现:
当接收到针对目标数据的数据写入指令时,根据所述数据写入指令生成写入标识;
将所述目标数据的写入操作以及所述写入标识的写入操作合并为写入事务;
根据所述写入标识及所述写入事务生成状态键,其中,所述状态键用于存储所述执行节点上报的状态值;
当接收到所述写入事务的成功提交指示后,在预设时间段内持续获取所述状态键中的状态值;
根据所述状态键中的状态值确定所述执行节点的执行状态。
具体地,所述处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在图3所描述的服务器3中,可以通过数据写入指令生成写入标识,并根据写入标识,生成与写入标识及写入事务具有关联的状态键,状态键用于存储执行节点上报的状态值,通过对状态键进行监控,即可以确定执行节点的状态,当执行节点未执行成功时,可以通过日志快速定位出错位置进行错误排查,同时,通过获取执行节点的状态,可以确保具有前后依赖关系的多个命令顺利下发,不会出现执行节点因前面的命令执行失败了,执行后面的命令而没有执行前面的命令,导致后面的命令执行出错的情况,提高了系统的稳定性。
所述服务器3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存储器(RAM,Random Access Memory)等。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种执行状态确定方法,应用于服务器中,所述服务器用来控制etcd的数据更新,所述etcd是一种无状态的分布式数据存储集群,所述服务器与执行节点相通信,其特征在于,所述执行状态确定方法包括:
当接收到针对目标数据的数据写入指令时,根据所述数据写入指令生成写入标识;
将所述目标数据的写入操作以及所述写入标识的写入操作合并为写入事务;
根据所述写入标识及所述写入事务生成状态键,其中,所述状态键用于存储所述执行节点上报的状态值;
当接收到所述写入事务的成功提交指示后,在预设时间段内持续获取所述状态键中的状态值;
根据所述状态键中的状态值确定所述执行节点的执行状态;
当所述执行节点有多个时,接收多个执行节点发送的多个当前状态值;
根据所述多个当前状态值确定目标状态值。
2.根据权利要求1所述的执行状态确定方法,其特征在于,所述根据所述数据写入指令生成写入标识包括:
解析所述数据写入指令,得到所述数据写入指令携带的指令数据;
从所述指令数据中获取写入位置;
将所述写入位置输入至随机数据生成器,得到所述写入标识。
3.根据权利要求2所述的执行状态确定方法,其特征在于,所述从所述指令数据中获取写入位置包括:
获取位置标签,所述位置标签用于指示位置;
从所述指令数据中获取与所述位置标签对应的信息作为所述写入位置。
4.根据权利要求1所述的执行状态确定方法,其特征在于,所述根据所述写入标识及所述写入事务生成状态键包括:
获取所述写入事务的事务标签;
拼接所述事务标签及所述写入标识,得到所述状态键。
5.根据权利要求1所述的执行状态确定方法,其特征在于,所述执行状态确定方法还包括:
将所述目标状态值写入所述状态键中。
6.根据权利要求1所述的执行状态确定方法,其特征在于,所述根据所述状态键中的状态值确定所述执行节点的执行状态包括:
当所述状态键中的状态值为空值时,将与所述状态键对应的执行节点确定为异常节点,并根据所述异常节点生成告警信息;
确定所述数据写入指令的发出终端;
将所述告警信息发送至所述发出终端。
7.根据权利要求1所述的执行状态确定方法,其特征在于,所述执行状态确定方法还包括:
当接收到所述写入事务的执行失败指示后,获取事务日志;
根据所述事务日志对所述写入事务进行事务回滚操作。
8.一种执行状态确定装置,运行于服务器中,所述服务器用来控制etcd的数据更新,所述etcd是一种无状态的分布式数据存储集群,所述服务器与执行节点相通信,其特征在于,所述执行状态确定装置包括:
生成模块,用于当接收到针对目标数据的数据写入指令时,根据所述数据写入指令生成写入标识;
合并模块,用于将所述目标数据的写入操作以及所述写入标识的写入操作合并为写入事务;
所述生成模块,还用于根据所述写入标识及所述写入事务生成状态键,其中,所述状态键用于存储所述执行节点上报的状态值;
获取模块,用于当接收到所述写入事务的成功提交指示后,在预设时间段内持续获取所述状态键中的状态值;
确定模块,用于根据所述状态键中的状态值确定所述执行节点的执行状态;
接收模块,用于当所述执行节点有多个时,接收多个执行节点发送的多个当前状态值;
所述确定模块,还用于根据所述多个当前状态值确定目标状态值。
9.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至7中任意一项所述的执行状态确定方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至7中任意一项所述的执行状态确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011179528.1A CN112286909B (zh) | 2020-10-29 | 2020-10-29 | 执行状态确定方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011179528.1A CN112286909B (zh) | 2020-10-29 | 2020-10-29 | 执行状态确定方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286909A CN112286909A (zh) | 2021-01-29 |
CN112286909B true CN112286909B (zh) | 2023-09-05 |
Family
ID=74373895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011179528.1A Active CN112286909B (zh) | 2020-10-29 | 2020-10-29 | 执行状态确定方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286909B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114501057A (zh) * | 2021-12-17 | 2022-05-13 | 阿里巴巴(中国)有限公司 | 数据处理方法、存储介质、处理器和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716395B (zh) * | 2014-12-24 | 2019-04-19 | 华为技术有限公司 | 事务处理的方法、装置及计算机系统 |
CN110677493A (zh) * | 2019-10-11 | 2020-01-10 | 深圳市网心科技有限公司 | 服务状态确定方法及装置、计算机装置及存储介质 |
CN110716793A (zh) * | 2019-10-10 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 一种分布式事务的执行方法、装置、设备及存储介质 |
CN111143389A (zh) * | 2019-12-27 | 2020-05-12 | 腾讯科技(深圳)有限公司 | 事务执行方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9727625B2 (en) * | 2014-01-16 | 2017-08-08 | International Business Machines Corporation | Parallel transaction messages for database replication |
-
2020
- 2020-10-29 CN CN202011179528.1A patent/CN112286909B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106716395B (zh) * | 2014-12-24 | 2019-04-19 | 华为技术有限公司 | 事务处理的方法、装置及计算机系统 |
CN110716793A (zh) * | 2019-10-10 | 2020-01-21 | 腾讯科技(深圳)有限公司 | 一种分布式事务的执行方法、装置、设备及存储介质 |
CN110677493A (zh) * | 2019-10-11 | 2020-01-10 | 深圳市网心科技有限公司 | 服务状态确定方法及装置、计算机装置及存储介质 |
CN111143389A (zh) * | 2019-12-27 | 2020-05-12 | 腾讯科技(深圳)有限公司 | 事务执行方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112286909A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9367598B2 (en) | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation | |
CN108932338B (zh) | 数据更新方法、装置、设备和介质 | |
US7757015B2 (en) | Device, method and computer program product readable medium for determining the identity of a component | |
US10048978B2 (en) | Apparatus and method for identifying a virtual machine having changeable settings | |
CN112632163B (zh) | 大数据报表导出方法及相关设备 | |
CN111818145B (zh) | 一种文件传输方法、装置、系统、设备及存储介质 | |
CN111767270A (zh) | 数据迁移方法、装置、服务器及存储介质 | |
CN112286909B (zh) | 执行状态确定方法、装置、服务器及存储介质 | |
CN109885431B (zh) | 用于备份数据的方法和装置 | |
US7747829B2 (en) | Arrangement and method for update of configuration cache data | |
US9471235B1 (en) | Storage device data overlay tracking and prevention | |
JP5352027B2 (ja) | 計算機システムの管理方法及び管理装置 | |
US10127270B1 (en) | Transaction processing using a key-value store | |
CN112306648A (zh) | 事务调用方法、装置、电子设备及存储介质 | |
CN110941625B (zh) | 支付一致性校验方法、系统、设备及存储介质 | |
CN110928945B (zh) | 一种针对数据库的数据处理方法及装置,数据处理系统 | |
US6658470B1 (en) | Centralized logging of global reliability, availability, and serviceability (GRAS) services data for a distributed environment and backup logging system and method in event of failure | |
CN116324726A (zh) | 加速的非易失性存储器设备检查和取证 | |
CN109903161B (zh) | 基于区块链的对象处理方法、装置、设备及介质 | |
JP6788188B2 (ja) | 制御装置および制御プログラム | |
CN110674622B (zh) | 可视化图表生成方法、系统、存储介质及电子设备 | |
US11886277B2 (en) | Systems, apparatuses, and methods for assessing recovery viability of backup databases | |
CN111399841B (zh) | 基于区块链的代码处理方法、装置、存储介质与电子设备 | |
JP2023184059A (ja) | 推定装置、推定方法、および推定プログラム | |
CN115293605A (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 |