CN116909760B - 数据处理方法、装置、可读存储介质、电子设备 - Google Patents
数据处理方法、装置、可读存储介质、电子设备 Download PDFInfo
- Publication number
- CN116909760B CN116909760B CN202311178975.9A CN202311178975A CN116909760B CN 116909760 B CN116909760 B CN 116909760B CN 202311178975 A CN202311178975 A CN 202311178975A CN 116909760 B CN116909760 B CN 116909760B
- Authority
- CN
- China
- Prior art keywords
- service
- data
- service node
- compensation
- identifier
- 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
- 238000003672 processing method Methods 0.000 title abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 59
- 230000002159 abnormal effect Effects 0.000 claims abstract description 21
- 238000012216 screening Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 10
- 230000015556 catabolic process Effects 0.000 claims description 6
- 238000006731 degradation reaction Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001447 compensatory effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- 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
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置、可读存储介质、电子设备,涉及分布式服务领域,包括:通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点,其中,所述分布式服务节点集群中包含多个用于对当前服务执行数据补偿的服务节点;利用所述主服务节点周期性的从业务数据表中查询所述当前服务对应业务执行状态为异常的待补偿数据,以及基于所述待补偿数据执行对所述当前服务的数据补偿处理,其中,所述业务数据表中记录有所述当前服务对应不同业务执行状态下的业务数据。本公开能够通过数据补偿处理,保证分布式服务间的数据最终一致性。
Description
技术领域
本公开涉及分布式服务领域,尤其涉及到一种数据处理方法、装置、可读存储介质、电子设备。
背景技术
随着互联网技术的不断发展,越来越多的业务系统基于分布式服务框架进行研发。分布式服务调用过程包含服务调用方、服务提供方,服务调用方利用接口调用服务提供方。服务调用过程中,存在由于服务宕机、网络抖动等原因导致的调用失败的情况,使得服务间数据不一致。
在服务调用中,如何保证服务调用方和服务提供方数据一致性的有效性,是当下亟需解决的问题。
发明内容
有鉴于此,本申请提供了一种数据处理方法、装置、可读存储介质、电子设备,可通过数据补偿处理,保证分布式服务间的数据最终一致性。
根据本申请的第一个方面,提供了一种数据处理方法,包括:
通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点,其中,所述分布式服务节点集群中包含多个用于对当前服务执行数据补偿的服务节点;
利用所述主服务节点周期性的从业务数据表中查询所述当前服务对应业务执行状态为异常的待补偿数据,以及基于所述待补偿数据执行对所述当前服务的数据补偿处理,其中,所述业务数据表中记录有所述当前服务对应不同业务执行状态下的业务数据。
根据本申请的第二个方面,提供了一种数据处理装置,包括:
筛选模块,用于通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点,其中,所述分布式服务节点集群中包含多个用于对当前服务执行数据补偿的服务节点;
处理模块,用于利用所述主服务节点周期性的从业务数据表中查询所述当前服务对应业务执行状态为异常的待补偿数据,以及基于所述待补偿数据执行对所述当前服务的数据补偿处理,其中,所述业务数据表中记录有所述当前服务对应不同业务执行状态下的业务数据。
根据本申请的第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据处理方法。
根据本申请的第四个方面,提供了一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的数据处理方法。
根据本申请的第五个方面,提供了一种芯片,包括一个或多个接口电路和一个或多个处理器;接口电路用于从电子设备的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令,当处理器执行计算机指令时,使得电子设备执行本公开第一方面实施例中描述的方法。
借由上述技术方案,本申请提供的一种数据处理方法、装置、可读存储介质、电子设备,本申请可通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点;之后利用主服务节点周期性的从业务数据表中查询当前服务对应业务执行状态为异常的待补偿数据,以及基于待补偿数据执行对当前服务的数据补偿处理。本公开中的技术方案,可根据业务执行状态从业务数据表中过滤出待补偿数据,周期性的补偿自身服务的业务数据。补偿任务获取过程简单便捷,在补偿逻辑和自身服务一体化的同时,保证分布式服务间的数据最终一致性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本身取得上述和其他目的、特折和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种数据处理方法的流程示意图;
图2为本公开实施例提供的一种数据处理的原理流程示意图;
图3为本公开实施例提供的一种数据处理方法的流程示意图;
图4为本公开实施例提供的一种集群选主流程示意图;
图5为本公开实施例提供的一种预指定数据主键生成的实例示意图;
图6为本公开实施例提供的一种数据补偿流程示意图;
图7为本公开实施例提供的一种数据处理装置的结构示意图;
图8为本公开实施例提供的一种数据处理装置的结构示意图;
图9为本公开实施例提供的电子设备的结构示意图;
图10为本公开实施例提供的芯片的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节有助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本公开实施例的数据处理方法、装置、可读存储介质、电子设备。
随着互联网技术的不断发展,越来越多的业务系统基于分布式服务框架进行研发。分布式服务调用过程包含服务调用方、服务提供方,服务调用方利用接口调用服务提供方。服务调用过程中,存在由于服务宕机、网络抖动等原因导致的调用失败的情况,使得服务间数据不一致。
在服务调用中,数据补偿是保证服务调用方和服务提供方数据一致性的有效方法。数据补偿的目的是处理各种调用失败的情况,消除由于调用失败产生的不一致,使系统恢复到一致的状态。
现有技术中主要采用的技术方案为:应用服务端利用补偿服务端提供的中间件工具捕获异常信息,获取异常信息对应的目标补偿策略信息以及目标接口参数信息,根据目标补偿策略信息和目标接口参数信息创建目标消息,发送至补偿服务端。目标消息中含有根据目标补偿策略信息中的关键字和目标接口参数信息生成的唯一标识。补偿服务端接收应用服务端发送的目标消息,检验接口管理信息库中是否存在该目标消息的唯一标识,若不存在,则将目标消息存储至接口管理信息库中,生成目标接口补偿任务,并根据目标消息对应的目标补偿策略信息确定目标接口补偿任务的执行规则。最后,补偿服务端基于执行规则,根据目标消息对应的目标接口参数信息,执行目标接口补偿任务。目标接口补偿任务执行失败且不可以再次重新执行时,向日志系统插入一条附带目标接口参数信息的失败日志,并将该目标消息从接口管理信息库中删除。
现有技术中与本申请提案最为接近的技术方案存在以下不足:
1)应用服务端发送目标消息给补偿服务端的行为缺乏事务保证,存在通信失败,丢失潜在待补偿数据的风险。
2)当目标接口补偿任务执行失败且不可以再次重新执行时,仅向日志系统插入失败日志,交互性较差。
3)唯一标识符的生成与解析逻辑较为复杂,需要精细控制,补偿服务端对目标消息的唯一标识符进行判重验证时存在误判的风险。
4)额外引入了补偿服务端、分布式任务框架、目标消息存储装置,且分布式任务处理缺乏编排功能,忽略了复杂业务接口调用顺序问题。
为解决上述技术问题,本公开提供了一种数据处理方法、装置、可读存储介质、电子设备,本方案利用数据表记录主服务节点信息,实现服务节点集群的选主功能,进行周期性的数据补偿,保证唯一服务节点执行数据的补偿逻辑。同时,本方案根据业务执行状态从业务数据表中过滤出待补偿数据,周期性的补偿自身服务的业务数据,在补偿逻辑和自身服务一体化的同时,保证分布式服务间的数据最终一致性。
如图1所示,本公开的实施例提供了一种数据处理方法,包括:
步骤101、通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点。
其中,集群是由若干个相互独立的计算机利用高速通信网络组成的一个计算机服务系统,集群中的计算机是运行服务的独立服务器,通常被称为节点。在本公开实施例中,可构建分布式服务节点集群,在分布式服务节点集群中包含多个用于对当前服务执行数据补偿的服务节点。在本公开实施例中,数据补偿逻辑与业务服务一体化。在需要对当前服务执行数据补偿时,可从分布式服务节点集群中筛选主服务节点,利用主服务节点执行对当前服务的数据补偿处理。
对于本公开实施例,可利用业务系统存储组件创建轻量级的互斥资源,服务节点通过“争抢锁”达到集群选主目的。集群选主是为了在分布式服务节点集群所包含的多个服务节点中筛选出一个主服务节点,利用主服务节点执行对当前服务的数据补偿处理。集群选主的过程可以描述为:使用数据表记录主服务节点信息,主服务节点信息包括集群唯一标识符(id)、节点唯一标识符(master_id)、选主成功时间(elect_time)三个字段,数据表根据预先配置的集群id初始化一条master_id和elect_time为空的初始化数据。集群中的各服务节点启动后尝试周期性地对初始化数据添加排他锁以实现选主,具体为:若数据表中的节点唯一标识符是自身唯一标识符,更新elect_time进行续约并释放锁;若数据表中的节点唯一标识符不是自身唯一标识符,且elect_time与当前时间戳之差未超过选主有效期,则释放锁;若数据表中的节点唯一标识符不是自身唯一标识符,且elect_time与当前时间戳之差超过选主有效期,更新节点唯一标识符为自身唯一标识符以及更新elect_time,执行数据补偿,并释放锁。在集群选主步骤,整个选主过程为周期任务。服务节点选主成功后周期性执行数据补偿以及续约,未选主成功的其他服务节点周期性执行集群选主,主服务节点续约失败即停止数据补偿操作。
对于本公开的执行主体可为数据处理设备,数据处理设备可通过执行集群选主、待补偿数据获取、数据补偿三部分,保证分布式服务间的数据最终一致性。其流程示意图如图2所示,分布式服务节点集群中的各服务节点参与选主,选主成功后周期性执行数据补偿。其中,首先查询业务数据库,根据业务执行状态从业务数据表中过滤出待补偿数据。然后,根据待补偿数据执行数据补偿。
步骤102、利用主服务节点周期性的从业务数据表中查询当前服务对应业务执行状态为异常的待补偿数据,以及基于待补偿数据执行对当前服务的数据补偿处理。
其中,业务数据表中记录有当前服务对应不同业务执行状态下的业务数据。
对于本公开实施例,待补偿数据获取步骤可为,从数据库的业务数据表中获取各种需要进行数据补偿的异常状态下的业务数据,如“创建失败”状态数据、“更新失败”状态数据等,这部分数据统称待补偿数据。具体地,可根据配置文件或其他配置信息中设置的补偿时间间隔,定期扫描业务数据表中的业务数据信息,根据预设的异常状态过滤出待补偿数据。特别地,对于“创建中”状态数据,可以通过预设等待时长的方法对数据是否需要补偿进行控制。判断当前时间戳与数据表中数据的更新时间之差是否超过等待时长,超过等待时长则进行数据补偿。
对于本公开实施例,在数据补偿过程中,主服务节点可以在配置文件或其他配置信息中预先设置最大补偿次数,数据补偿过程中利用补偿表维护资源的补偿次数信息。补偿表包含资源标识(resource_id)、资源类型(resource_type)、状态(status)和补偿次数(count)四个字段,根据资源标识和资源类型唯一确定一条数据。执行数据补偿时,首先判断该待补偿数据在当前状态下是否超过最大补偿次数,未超过最大补偿次数则继续进行补偿步骤。若该数据在当前状态下达到最大补偿次数,则对该数据进行状态降级,即对该数据在状态方面进行降级,如从“创建中”状态降级为“创建失败”状态。可以有选择地人工指定可以进行数据补偿的最低状态等级,当一条数据在最低状态等级下达到最大尝试次数,则在业务数据表中将该数据的状态更新为人工指定的“新状态”,此“新状态”表明不再主动对该数据进行数据补偿,以避免过于积极的数据补偿对服务造成性能等方面的不利影响。对于不再主动进行数据补偿的数据,在服务需要的情况下可以有选择的由开发人员或运维人员人工介入处理。
本方案周期性的补偿自身服务的业务数据,不同业务根据业务处理逻辑制定对应的数据补偿逻辑,数据补偿过程中根据不同条件、状态进入到不同的补偿逻辑分支进行处理,实现数据最终一致性。
综上,根据本公开的一种数据处理方法,可通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点;之后利用主服务节点周期性的从业务数据表中查询当前服务对应业务执行状态为异常的待补偿数据,以及基于待补偿数据执行对当前服务的数据补偿处理。本公开中的技术方案,可根据业务执行状态从业务数据表中过滤出待补偿数据,周期性的补偿自身服务的业务数据。补偿任务获取过程简单便捷,在补偿逻辑和自身服务一体化的同时,保证分布式服务间的数据最终一致性。
基于图1所示的实施例,图3进一步示出本公开提供的一种数据处理方法的流程图。如图3所示,该方法可以包括:
步骤201、通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点。
对于本公开实施例,分布式服务节点集群中的每个服务节点可通过“争抢锁”达到选主目的,在筛选出主服务节点后,可利用主服务节点执行后续的数据补偿操作。在筛选主服务节点时,可使用数据表记录主服务节点信息,数据表包含集群唯一标识符(id)、主服务节点唯一标识符(master_id)和选主成功时间(elect_time)三个字段。数据表根据预先配置的集群id初始化一条master_id和elect_time为空的数据。各服务节点启动后生成表示各自信息的随机master_id,记录到配置文件中,并参与选主。集群选主的流程示意图如图4所示,各服务节点分别尝试对初始化数据添加排他锁。节点加锁成功即可得到数据表中的数据信息,若master_id为当前节点,则更新elect_time进行续约,该节点释放锁;若master_id不为当前节点,且选主成功时间elect_time和当前时间戳之差(当前时间-elect_time)未超过选主有效期,该节点释放锁;若master_id不为当前节点,elect_time和当前时间戳之差(当前时间-elect_time)超过选主有效期或者master_id为空,则更新master_id为当前节点,更新elect_time,执行数据补偿,该节点释放锁。
对于本公开实施例,实施例步骤可包括:获取数据表,数据表中包含分布式服务节点集群的唯一标识符,以及分布式服务节点集群的主服务节点信息,主服务节点信息至少包括当前主服务节点的第一标识符、选主成功时间;基于数据表中分布式服务节点集群的唯一标识符,生成第一标识符和选主成功时间为空的初始化数据;利用分布式服务节点集群中的每个服务节点分别周期性的对初始化数据添加排它锁,得到加锁成功的节点信息;通过比较加锁成功的节点信息和主服务节点信息,在分布式服务节点集群中动态确定主服务节点,并更新主服务节点信息。其中,加锁成功的节点信息至少包括加锁成功的服务节点的第二标识符和加锁时间。
相应的,在通过比较加锁成功的节点信息和主服务节点信息,在分布式服务节点集群中动态确定主服务节点,并更新主服务节点信息时,实施例步骤可包括:在判断第一标识符和选主成功时间为空时,将主服务节点更新为第二标识符对应的服务节点,将选主成功时间更新为加锁时间;在判断第一标识符和选主成功时间不为空,且第二标识符与第一标识符相同时,确定主服务节点继续为第一标识符对应的服务节点,并将选主成功时间更新为加锁时间;在判断第一标识符和选主成功时间不为空,且第二标识符与第一标识符不相同,且判断选主成功时间与当前时间戳之差超过选主有效期时,将当前主服务节点更新为第二标识符对应的服务节点,并将选主成功时间更新为加锁时间;在判断第一标识符和选主成功时间不为空,且第二标识符与第一标识符不相同,且判断选主成功时间与当前时间戳之差未超过选主有效期时,确定第一标识符对应的服务节点继续为主服务节点。
步骤202、利用主服务节点周期性的从业务数据表中查询当前服务对应业务执行状态为异常的待补偿数据。
其中,从业务数据表中获取的每条待补偿数据包含资源标识、资源类型、执行状态、预指定的目标服务中目标资源的数据主键标识等信息,目标服务为当前服务调用目标资源的服务。
在具体的应用场景中,在主业务流程处理过程中,服务端收到客户端发起的请求后,可同步持久化请求信息,确保用户请求不丢失,异步申请跨服务资源,将业务数据关联的三方服务资源的数据主键标识进行预指定,并为业务数据定义状态字段及相应的枚举值,在业务数据表中记录业务执行状态。预指定数据主键可用于跨服务查询目标资源的资源生成状态。异步使得请求本身在事务中持久化,并以补偿的方式化解请求其他服务资源时面临的分布式事务问题。除此之外,异步解决了同步等待超时的问题,主线程不需要阻塞等待响应,可以继续进行后续的处理,提升处理效率,优化交互感受。
其中,预指定数据主键能够保证请求的幂等性。幂等性是指用户对于同一操作发起的一次请求或者多次请求得到的结果是一致的,目标服务不会对相同的调用请求重复执行,资源也不会重复生成。在数据补偿过程中,当前服务可以根据数据主键标识跨服务查询目标资源的资源生成状态,进而确定对该目标资源执行何种处理操作。此外,数据主键标识还能够有效避免脏数据的产生,保证数据可查可追踪。在数据主键标识申请跨服务资源时,数据主键标识可以使用但不限于使用由32位十六进制数字和四个连字符组成的通用唯一识别码(Universally Unique Identifier,UUID)。可以根据业务逻辑,将业务信息标识在数据主键标识中,便于在业务数据库中识别数据的来源,如某条记录由何种业务关联创建生成、是否由外部服务创建生成等等。若服务中限制了数据主键标识的长度,在保证转换前后数据主键标识唯一性的前提下,可采用缩短UUID的系列方法对主键id的内容进行转换。例如,根据进制转换规则,使用4位32进制数表示5位16进制数。根据具体的长度需求,选取特定一处(或几处)位置的5位数字进行转换。图5是在32位UUID的基础上,选取前五位,将32位数转换为31位数的一个示例(图5仅为一个一般情况示例,在转换操作过程中,需判断转换后数据主键标识的长度,长度不足时补充数字等占位)。
对于本公开实施例,主服务节点可在业务数据表中获取业务执行状态为异常执行状态的待补偿数据,如“创建失败”状态数据、“更新失败”状态数据等,这部分数据统称待补偿数据。
作为一种可能的实现方式,在确定待补偿数据时,可根据配置文件或其他配置信息中设置的补偿时间间隔,定期扫描业务数据表中的业务数据信息,根据预设的异常状态过滤出待补偿数据。特别地,对于“创建中”状态数据,可以通过预设等待时长的方法对数据是否需要补偿进行控制。判断当前时间戳与数据表中数据的更新时间之差是否超过等待时长,超过等待时长则进行数据补偿。
步骤203、利用主服务节点基于待补偿数据执行对当前服务的数据补偿处理。
对于本公开实施例,在数据补偿过程中,如图6所示,主服务节点在基于待补偿数据执行数据补偿时,首先判断该待补偿数据在当前状态下是否超过最大补偿次数,未超过最大补偿次数则继续进行补偿步骤。若该数据在当前状态下达到最大补偿次数,则对该数据进行状态降级,即对该数据在状态方面进行降级,如从“创建中”状态降级为“创建失败”状态。
相应的,实施例步骤可包括:确定待补偿资源在异常执行状态下的最大补偿次数,利用补偿表维护待补偿资源的补偿信息,补偿信息至少包括资源标识、资源类型、当前服务的业务执行状态以及补偿累计次数;基于最大补偿次数和补偿信息,对待补偿资源执行数据补偿处理过程:其中,数据补偿过程包括:确定待补偿资源的当前执行状态;判断待补偿资源在当前执行状态下的补偿累计次数是否超过最大补偿次数;若是,则对待补偿资源进行状态降级,并将待补偿资源在业务数据表中的状态更新为状态降级后的状态;若否,则继续执行补偿步骤。
在具体的应用场景中,在对待补偿数据进行数据补偿的时候,需要根据实际情况按照某种业务特定逻辑去执行,其中,业务特定逻辑包括但不限于对目标服务中目标资源的调用。相应的,在数据补偿处理涉及跨服务资源调用时,可根据主业务流程处理过程中预指定的数据主键标识判断目标资源的资源生成情况,若目标资源未生成,则先进行目标资源的生成。例如,服务1(当前服务)调用服务2前,需要完成对服务3的调用,生成服务3侧的资源。则对服务1进行数据补偿时,首先需要调用服务3,根据预指定的数据主键标识,查询服务3侧资源信息返回至服务1。若服务3侧资源不存在,则服务1需先完成对服务3的调用,成功生成服务3侧资源后再调用服务2。若服务3侧资源已经存在,则对服务1进行数据补偿时,服务1直接调用服务2即可。
相应的,实施例步骤可包括:根据当前服务预指定的目标服务中目标资源的数据主键标识,跨服务查询目标资源的资源生成状态,目标服务为当前服务调用目标资源的服务;若资源生成状态为未生成状态,则调用目标服务生成目标资源;若资源生成状态为已生成状态,则无需调用目标服务生成目标资源。
步骤204、依据数据补偿结果,更新业务数据表中当前服务的业务执行状态。
对于本公开实施例,在每次数据补偿执行结束时,可依据数据补偿结果对业务数据表中当前服务的业务执行状态进行同步更新,如将异常的业务执行状态,如“创建失败”、“更新失败”等更新为正常的业务执行状态,如“创建成功”、“创建完成”等,或者还可更新为人工指定的“新状态”,此“新状态”表明不再主动对该数据进行数据补偿,以避免过于积极的数据补偿对服务造成性能等方面的不利影响。通过实时对业务数据表进行业务执行状态的更新,可便于进行待补偿数据的选取,及时进行对待补偿数据的数据补偿,保证分布式服务间的数据最终一致性。
步骤205、依据数据补偿结果,更新补偿表中的补偿数据。
对于本公开实施例,在每次数据补偿执行结束时,可依据数据补偿结果对补偿表中的数据进行信息同步。对比待补偿数据获取步骤传递来的在当前状态下未超过最大补偿次数的待补偿数据与补偿表中的数据,在资源类型、状态已定的情况下,根据资源标识删除不在待补偿数据中的补偿表数据,并删除补偿表中与待补偿数据资源标识相同,状态与已定状态不同的数据;更新存在于待补偿数据中的补偿表数据的补偿次数;增加初次执行数据补偿的数据信息并将补偿次数设置为1。未在本次数据补偿过程中补偿成功,且状态未被标记为不再进行补偿状态的数据,根据补偿结束后的状态,等待下一次数据补偿操作。
综上,根据本公开的一种数据处理方法,可通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点;之后利用主服务节点周期性的从业务数据表中查询当前服务对应业务执行状态为异常的待补偿数据,以及基于待补偿数据执行对当前服务的数据补偿处理。本公开中的技术方案,可根据业务执行状态从业务数据表中过滤出待补偿数据,周期性的补偿自身服务的业务数据。补偿任务获取过程简单便捷,在补偿逻辑和自身服务一体化的同时,保证分布式服务间的数据最终一致性。此外,在本方案中,还具有如下有益效果:补偿逻辑和自身服务一体化,未引入额外的补偿服务端、存储装置,无待补偿数据丢失的风险;在业务数据表中记录业务执行状态,方便查看请求处理结果,交互感受更佳;跨服务调用资源时预指定数据主键标识,可保证请求的幂等性和数据补偿过程中的资源可查可追踪;根据主业务流程处理过程中预指定的数据主键标识判断服务资源生成情况,可保证接口调用顺序。
基于上述图1、图2所示方法的具体实现,本实施例提供了一种数据处理装置,如图7,该装置包括:筛选模块31,处理模块32。
筛选模块31,可用于通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点,其中,分布式服务节点集群中包含多个用于对当前服务执行数据补偿的服务节点;
处理模块32,可用于利用主服务节点周期性的从业务数据表中查询当前服务对应业务执行状态为异常的待补偿数据,以及基于待补偿数据执行对当前服务的数据补偿处理,其中,业务数据表中记录有当前服务对应不同业务执行状态下的业务数据。
在具体的应用场景中,筛选模块31,可用于获取数据表,数据表中包含分布式服务节点集群的唯一标识符,以及分布式服务节点集群的主服务节点信息,主服务节点信息至少包括当前主服务节点的第一标识符、选主成功时间;基于数据表中分布式服务节点集群的唯一标识符,生成第一标识符和选主成功时间为空的初始化数据;利用分布式服务节点集群中的每个服务节点分别周期性的对初始化数据添加排它锁,得到加锁成功的节点信息;通过比较加锁成功的节点信息和主服务节点信息,在分布式服务节点集群中动态确定主服务节点,并更新主服务节点信息。
在具体的应用场景中,加锁成功的节点信息至少包括加锁成功的服务节点的第二标识符和加锁时间,筛选模块31,可用于在判断第一标识符和选主成功时间为空时,将主服务节点更新为第二标识符对应的服务节点,将选主成功时间更新为加锁时间;在判断第一标识符和选主成功时间不为空,且第二标识符与第一标识符相同时,确定主服务节点继续为第一标识符对应的服务节点,并将选主成功时间更新为加锁时间;在判断第一标识符和选主成功时间不为空,且第二标识符与第一标识符不相同,且判断选主成功时间与当前时间戳之差超过选主有效期时,将当前主服务节点更新为第二标识符对应的服务节点,并将选主成功时间更新为加锁时间;在判断第一标识符和选主成功时间不为空,且第二标识符与第一标识符不相同,且判断选主成功时间与当前时间戳之差未超过选主有效期时,确定第一标识符对应的服务节点继续为主服务节点。
在具体的应用场景中,在基于待补偿数据周期性执行对当前服务的数据补偿处理时,处理模块32,可用于确定待补偿资源在异常执行状态下的最大补偿次数,利用补偿表维护待补偿资源的补偿信息,补偿信息至少包括资源标识、资源类型、当前服务的业务执行状态以及补偿累计次数;基于最大补偿次数和补偿信息,对待补偿资源执行数据补偿处理过程:其中,数据补偿过程包括:确定待补偿资源的当前执行状态;判断待补偿资源在当前执行状态下的补偿累计次数是否超过最大补偿次数;若是,则对待补偿资源进行状态降级,并将待补偿资源在业务数据表中的状态更新为状态降级后的状态;若否,则继续执行补偿步骤。
在具体的应用场景中,在数据补偿处理涉及跨服务资源调用时,处理模块32,可用于根据当前服务预指定的目标服务中目标资源的数据主键标识,跨服务查询目标资源的资源生成状态,目标服务为当前服务调用目标资源的服务;若资源生成状态为未生成状态,则调用目标服务生成目标资源;若资源生成状态为已生成状态,则无需调用目标服务生成目标资源。
在具体的应用场景中,如图8所示,该装置还包括:更新模块33;
更新模块33,可用于依据数据补偿结果,更新业务数据表中当前服务的业务执行状态。
在具体的应用场景中,更新模块33,还可用于依据数据补偿结果,更新补偿表中的补偿数据。
由于本公开实施例提供的装置与上述几种实施例提供的方法相对应,因此方法的实施方式也适用于本实施例提供的装置,在本实施例中不再详细描述。
上述本申请提供的实施例中,对本申请实施例提供的方法及装置进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构、软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能可以以硬件结构、软件模块、或者硬件结构加软件模块的方式来执行。
图9是根据一示例性实施例示出的一种用于实现上述数据处理方法的电子设备500的框图。例如,电子设备500可以是移动电话,计算机,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图9,电子设备500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制电子设备500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在电子设备500的操作。这些数据的示例包括用于在电子设备500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为电子设备500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为电子设备500生成、管理和分配电力相关联的组件。
多媒体组件508包括在电子设备500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当电子设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当电子设备500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为电子设备500提供各个方面的状态评估。例如,传感器组件514可以检测到电子设备500的打开/关闭状态,组件的相对定位,例如组件为电子设备500的显示器和小键盘,传感器组件514还可以检测电子设备500或电子设备500一个组件的位置改变,用户与电子设备500接触的存在或不存在,电子设备500方位或加速/减速和电子设备500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于电子设备500和其他设备之间有线或无线方式的通信。电子设备500可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G LTE、5G NR(NewRadio)或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由电子设备500的处理器520执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本公开的实施例还提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开上述实施例中描述的数据处理方法。
本公开的实施例还提出一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行本公开上述实施例中描述的数据处理方法。
本公开的实施例还提出了一种芯片,可参见图10所示的芯片的结构示意图。图10所示的芯片包括处理器601和接口电路602。其中,处理器601的数量可以是一个或多个,接口电路602的数量可以是一个或多个。
可选的,芯片还包括存储器603,存储器603用于存储必要的计算机程序和数据;接口电路602用于从存储器603接收信号,并向处理器601发送信号,信号包括存储器603中存储的计算机指令,当处理器601执行计算机指令时,使得电子设备执行本公开上述实施例中描述的数据处理方法。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(控制方法),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本发明的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施实施进行变化、修改、替换和变型。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点包括:基于数据表中所述分布式服务节点集群的唯一标识符,生成第一标识符和选主成功时间为空的初始化数据,所述数据表中包含所述分布式服务节点集群的主服务节点信息,所述主服务节点信息至少包括当前主服务节点的第一标识符和选主成功时间;利用分布式服务节点集群中的每个服务节点分别周期性的对所述初始化数据添加排它锁,得到加锁成功的节点信息;通过比较所述加锁成功的节点信息和所述主服务节点信息,在所述分布式服务节点集群中动态确定所述主服务节点,并更新所述主服务节点信息,其中,所述分布式服务节点集群中包含多个用于对当前服务执行数据补偿的服务节点;
利用所述主服务节点周期性的从业务数据表中查询所述当前服务对应业务执行状态为异常的待补偿数据,以及基于所述待补偿数据执行对所述当前服务的数据补偿处理,其中,所述业务数据表中记录有所述当前服务对应不同业务执行状态下的业务数据。
2.根据权利要求1所述的方法,其特征在于,所述加锁成功的节点信息至少包括加锁成功的服务节点的第二标识符和加锁时间,所述通过比较所述加锁成功的节点信息和所述主服务节点信息,在所述分布式服务节点集群中动态确定所述主服务节点,并更新所述主服务节点信息,包括:
在判断所述第一标识符和所述选主成功时间为空时,将所述主服务节点更新为所述第二标识符对应的服务节点,将所述选主成功时间更新为所述加锁时间;
在判断所述第一标识符和所述选主成功时间不为空,且所述第二标识符与所述第一标识符相同时,确定所述主服务节点继续为所述第一标识符对应的服务节点,并将所述选主成功时间更新为所述加锁时间;
在判断所述第一标识符和所述选主成功时间不为空,且所述第二标识符与所述第一标识符不相同,且判断所述选主成功时间与当前时间戳之差超过选主有效期时,将所述当前主服务节点更新为所述第二标识符对应的服务节点,并将所述选主成功时间更新为所述加锁时间;
在判断所述第一标识符和所述选主成功时间不为空,且所述第二标识符与所述第一标识符不相同,且判断所述选主成功时间与当前时间戳之差未超过选主有效期时,确定所述第一标识符对应的服务节点继续为所述主服务节点。
3.根据权利要求1所述的方法,其特征在于,所述基于所述待补偿数据执行对所述当前服务的数据补偿处理,包括:
确定待补偿资源在异常执行状态下的最大补偿次数,利用补偿表维护所述待补偿资源的补偿信息,所述补偿信息至少包括资源标识、资源类型、所述当前服务的业务执行状态以及补偿累计次数;
基于所述最大补偿次数和所述补偿信息,对所述待补偿资源执行数据补偿处理过程:
其中,数据补偿处理过程包括:
确定所述待补偿资源的当前执行状态;
判断所述待补偿资源在当前执行状态下的补偿累计次数是否超过最大补偿次数;
若是,则对所述待补偿资源进行状态降级,并将所述待补偿资源在业务数据表中的状态更新为状态降级后的状态;
若否,则继续执行补偿步骤。
4.根据权利要求3所述的方法,其特征在于,在所述数据补偿处理涉及跨服务资源调用时,所述方法还包括:
根据所述当前服务预指定的目标服务中目标资源的数据主键标识,跨服务查询所述目标资源的资源生成状态,所述目标服务为所述当前服务调用所述目标资源的服务;
若所述资源生成状态为未生成状态,则调用所述目标服务生成所述目标资源;
若所述资源生成状态为已生成状态,则无需调用所述目标服务生成所述目标资源。
5.根据权利要求3中所述的方法,其特征在于,在所述基于所述待补偿数据执行对所述当前服务的数据补偿处理之后,所述方法还包括:
依据数据补偿结果,更新所述业务数据表中所述当前服务的业务执行状态。
6.根据权利要求3所述的方法,其特征在于,在所述基于所述待补偿数据执行对所述当前服务的数据补偿处理之后,所述方法还包括:
依据数据补偿结果,更新所述补偿表中的所述补偿数据。
7.一种数据处理装置,其特征在于,包括:
筛选模块,用于通过周期性添加排他锁,在分布式服务节点集群中筛选主服务节点包括:基于数据表中所述分布式服务节点集群的唯一标识符,生成第一标识符和选主成功时间为空的初始化数据,所述数据表中包含所述分布式服务节点集群的主服务节点信息,所述主服务节点信息至少包括当前主服务节点的第一标识符和选主成功时间;利用分布式服务节点集群中的每个服务节点分别周期性的对所述初始化数据添加排它锁,得到加锁成功的节点信息;通过比较所述加锁成功的节点信息和所述主服务节点信息,在所述分布式服务节点集群中动态确定所述主服务节点,并更新所述主服务节点信息,其中,所述分布式服务节点集群中包含多个用于对当前服务执行数据补偿的服务节点;
处理模块,用于利用所述主服务节点周期性的从业务数据表中查询所述当前服务对应业务执行状态为异常的待补偿数据,以及基于所述待补偿数据执行对所述当前服务的数据补偿处理,其中,所述业务数据表中记录有所述当前服务对应不同业务执行状态下的业务数据。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。
9.一种电子设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法。
10.一种芯片,其特征在于,包括一个或多个接口电路和一个或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令,当所述处理器执行所述计算机指令时,使得所述电子设备执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311178975.9A CN116909760B (zh) | 2023-09-13 | 2023-09-13 | 数据处理方法、装置、可读存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311178975.9A CN116909760B (zh) | 2023-09-13 | 2023-09-13 | 数据处理方法、装置、可读存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116909760A CN116909760A (zh) | 2023-10-20 |
CN116909760B true CN116909760B (zh) | 2023-11-28 |
Family
ID=88368145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311178975.9A Active CN116909760B (zh) | 2023-09-13 | 2023-09-13 | 数据处理方法、装置、可读存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909760B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552072B2 (en) * | 2004-04-06 | 2009-06-23 | International Business Machines Corporation | Compensation of data item processing |
CN111258790A (zh) * | 2018-12-03 | 2020-06-09 | 北京京东振世信息技术有限公司 | 异常补偿方法和装置 |
CN111813791A (zh) * | 2020-06-17 | 2020-10-23 | 上海悦易网络信息技术有限公司 | 一种分布式补偿事务的方法及设备 |
CN112256484A (zh) * | 2020-10-30 | 2021-01-22 | 新华三技术有限公司成都分公司 | 一种数据备份的方法、装置和系统 |
CN112764968A (zh) * | 2020-12-29 | 2021-05-07 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113190371A (zh) * | 2021-05-18 | 2021-07-30 | 京东数科海益信息科技有限公司 | 一种任务补偿方法、装置、电子设备及可读存储介质 |
CN113873005A (zh) * | 2021-08-20 | 2021-12-31 | 浙江中控技术股份有限公司 | 一种微服务集群的节点选主方法、系统、设备及介质 |
CN114968498A (zh) * | 2022-06-10 | 2022-08-30 | 中国银行股份有限公司 | 一种分布式事务处理方法及装置 |
CN115509770A (zh) * | 2022-09-22 | 2022-12-23 | 北京车欢欢信息技术有限公司 | 微服务调用方法、装置、电子设备及可读存储介质 |
CN116149827A (zh) * | 2023-04-04 | 2023-05-23 | 云粒智慧科技有限公司 | 分布式任务调度系统和分布式任务调度执行系统 |
CN116560896A (zh) * | 2023-07-11 | 2023-08-08 | 智慧眼科技股份有限公司 | 一种异常补偿方法、装置、设备及存储介质 |
-
2023
- 2023-09-13 CN CN202311178975.9A patent/CN116909760B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7552072B2 (en) * | 2004-04-06 | 2009-06-23 | International Business Machines Corporation | Compensation of data item processing |
CN111258790A (zh) * | 2018-12-03 | 2020-06-09 | 北京京东振世信息技术有限公司 | 异常补偿方法和装置 |
CN111813791A (zh) * | 2020-06-17 | 2020-10-23 | 上海悦易网络信息技术有限公司 | 一种分布式补偿事务的方法及设备 |
CN112256484A (zh) * | 2020-10-30 | 2021-01-22 | 新华三技术有限公司成都分公司 | 一种数据备份的方法、装置和系统 |
CN112764968A (zh) * | 2020-12-29 | 2021-05-07 | 杭州海康威视系统技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113190371A (zh) * | 2021-05-18 | 2021-07-30 | 京东数科海益信息科技有限公司 | 一种任务补偿方法、装置、电子设备及可读存储介质 |
CN113873005A (zh) * | 2021-08-20 | 2021-12-31 | 浙江中控技术股份有限公司 | 一种微服务集群的节点选主方法、系统、设备及介质 |
CN114968498A (zh) * | 2022-06-10 | 2022-08-30 | 中国银行股份有限公司 | 一种分布式事务处理方法及装置 |
CN115509770A (zh) * | 2022-09-22 | 2022-12-23 | 北京车欢欢信息技术有限公司 | 微服务调用方法、装置、电子设备及可读存储介质 |
CN116149827A (zh) * | 2023-04-04 | 2023-05-23 | 云粒智慧科技有限公司 | 分布式任务调度系统和分布式任务调度执行系统 |
CN116560896A (zh) * | 2023-07-11 | 2023-08-08 | 智慧眼科技股份有限公司 | 一种异常补偿方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于补偿业务生成图的组合服务异常处理方法研究;尚宗敏;崔立真;王海洋;史玉良;;计算机学报(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116909760A (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515709B (zh) | 任务调度系统、方法、装置、电子设备及存储介质 | |
CN111224795B (zh) | 入群申请处理方法、装置、电子设备及存储介质 | |
CN112187862B (zh) | 一种任务处理方法、装置和用于任务处理的装置 | |
RU2642843C2 (ru) | Способ и устройство обработки записи контактов | |
CN113094378B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN111241134B (zh) | 一种数据处理方法及装置 | |
CN111857806A (zh) | 权限配置文件更新方法、装置、电子设备及存储介质 | |
CN116909760B (zh) | 数据处理方法、装置、可读存储介质、电子设备 | |
CN113111123A (zh) | 集群业务的调用方法、装置、电子设备、存储介质及产品 | |
CN115794853B (zh) | 政务数据资源目录的更新方法、装置、电子设备及介质 | |
CN110764847A (zh) | 用户信息处理方法、装置、电子设备及存储介质 | |
CN113778398B (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN112667474B (zh) | 一种数据监控方法、装置、电子设备及存储介质 | |
CN109948012B (zh) | 序列号的生成方法、装置及存储介质 | |
CN116048757A (zh) | 任务处理方法、装置、电子设备和存储介质 | |
CN110995767B (zh) | 一种请求处理方法及装置 | |
CN112017640A (zh) | 唤醒决策方法、装置、电子设备及存储介质 | |
CN115190158A (zh) | 信息交互方法、信息交互装置、系统及存储介质 | |
CN114237497B (zh) | 一种分布式存储方法及装置 | |
CN112182027B (zh) | 信息查询方法、装置、电子设备及存储介质 | |
CN112102081B (zh) | 生成区块链的方法、装置、可读存储介质及区块链网络 | |
CN115361352B (zh) | 消息更新方法、装置、电子设备及存储介质 | |
CN112685061B (zh) | 访问方法及装置 | |
CN115113915A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN116450245A (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 |