CN111538588A - 分布式数据处理方法及相关装置 - Google Patents
分布式数据处理方法及相关装置 Download PDFInfo
- Publication number
- CN111538588A CN111538588A CN202010234072.8A CN202010234072A CN111538588A CN 111538588 A CN111538588 A CN 111538588A CN 202010234072 A CN202010234072 A CN 202010234072A CN 111538588 A CN111538588 A CN 111538588A
- Authority
- CN
- China
- Prior art keywords
- consumption message
- execution
- consumption
- message
- server
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 172
- 230000008569 process Effects 0.000 claims abstract description 134
- 238000004088 simulation Methods 0.000 claims description 79
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 230000001172 regenerating effect Effects 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000003111 delayed effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/524—Deadlock detection or avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种分布式数据处理方法及相关装置,其中方法包括:从第一服务器获取消费消息以及消费消息对应的唯一标识;确定所述消费消息为满足执行条件的待执行消费消息;从第二服务器获取待执行消费消息对应的分布式锁,其中消费消息对应的唯一标识未被第二服务器记录;根据获取到的分布式锁执行待执行消费消息对应的业务过程;根据业务过程的执行结果通知第一服务器修改待执行消费消息的执行状态。本申请实施例通过确定消费消息满足执行条件,并根据消费消息的唯一标识获取消费消息对应的分布式锁并完成业务过程的执行。避免分布式锁获取过程的拥塞和重复,提升了业务过程的执行效率,防止消息重复消费,提升了平台数据的正确率。
Description
技术领域
本申请涉及分布式处理技术领域,具体涉及一种分布式数据处理方法及相关装置。
背景技术
分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。分布式锁是控制分布式系统之间同步访问共享资源的一种方式。分布式消息系统中,会因为多次执行、多个业务执行或者消息交互等产生多条消息,在消息消费时,也会因为网络抖动、循环消费或者其他原因产生消息的重复消费。消息重复消费可能造成系统脏数据,乃至造成业务方时间和金钱的损耗。采用分布式锁可以达成不同消息的互斥访问,但是如何通过合理的方式分配分布式锁,并且使分布式锁用于防止消息重复消费,是一个值得探讨的问题。
发明内容
本申请实施例提供了一种分布式数据处理方法及相关装置,以期在确定消费消息满足执行条件时,根据消费消息的唯一标识获取消费消息对应的分布式锁并完成业务过程的执行。避免分布式锁获取过程的拥塞和重复,提升业务过程的执行效率,防止消息重复消费,提升平台数据的正确率。
第一方面,本申请实施例提供一种分布式数据处理方法,所述方法包括:
从第一服务器获取消费消息以及所述消费消息对应的唯一标识;
确定所述消费消息为满足执行条件的待执行消费消息;
从第二服务器获取所述待执行消费消息对应的分布式锁,其中所述待执行消费消息对应的唯一标识未被所述第二服务器记录;
根据获取到的分布式锁执行所述待执行消费消息对应的业务过程;
根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
在一个可选的示例中,所述确定所述消费消息为满足执行条件的待执行消费消息包括:
获取所述消费消息对应的执行时间,所述执行时间包括根据计时器确定或根据消费消息生成时长确定;
当距离所述执行时间小于第一预设时间阈值时,则确定所述消费消息为到达执行时间的消费消息;
确定所述到达执行时间的消费消息为满足执行条件的待执行消费消息。
在一个可选的示例中,在确定所述消费消息为到达执行时间的消费消息之后,所述方法还包括:
确定到达执行时间的消费消息个数;
当所述到达执行时间的消费消息个数大于预设个数时,获取所述多个到达执行时间的消费消息的多个等候时长;
按照所述等候时长大小关系进行排序,并将排序最前的所述等候时长对应的消费消息确定为最高优先级;
获取最高优先级的消费消息作为待执行消费消息。
在一个可选的示例中,在从第二服务器获取所述待执行消费消息对应的分布式锁之前,所述方法还包括:
获取与所述唯一标识对应的业务ID;
根据所述业务ID遍历模拟执行系统中的模拟执行表格;
若确定所述模拟执行表格中不包括所述业务ID,则获取所述业务ID对应的消费消息,并模拟执行所述消费消息对应的业务过程;
若所述业务过程的执行结果为执行失败,则延后所述消费消息对应的执行时间,并重新生成与所述消费消息的唯一标识对应的业务ID;
诊断并修改所述消费消息对应的业务逻辑,并重复模拟执行过程。
在一个可选的示例中,所述方法还包括:
获取模拟执行成功的所述消费消息对应的业务ID,并根据所述业务ID生成模拟执行表格。
在一个可选的示例中,所述根据所述业务过程的执行结果通知所述第一服务器修改所述消费消息的执行状态,包括:
若所述业务过程的执行结果为执行失败,则向所述第一服务器发送第一提示消息,用于提示所述第一服务器生成所述消费消息对应的新的唯一标识;
若所述业务过程的执行结果为执行成功,则向所述第一服务器发送第二提示消息,用于提示所述第一服务器将所述消费消息的执行状态标记为已执行。
在一个可选的示例中,所述从第一服务器获取消费消息以及所述消费消息对应的唯一标识,包括:
从第一服务器获取执行状态为未执行的消费消息以及所述消费消息对应的唯一标识。
第二方面,本申请提供一种业务执行装置,所述装置包括:
第一获取单元,用于从第一服务器获取消费消息以及所述消费消息对应的唯一标识,并确定所述消费消息为满足执行条件的待执行消费消息;
第二获取单元,从第二服务器获取所述待执行对应的分布式锁,其中所述待执行消费消息对应的唯一标识未被所述第二服务器记录;
执行单元,用于根据获取到的分布式锁执行所述待执行消费消息对应的业务过程;
通知单元,用于根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
在一个可选的示例中,所述第一获取单元具体用于:
获取所述消费消息对应的执行时间,所述执行时间包括根据计时器确定或根据消费消息生成时长确定;
当距离所述执行时间小于第一预设时间阈值时,则确定所述消费消息为到达执行时间的消费消息;
确定所述到达执行时间的消费消息为满足执行条件的待执行消费消息。
在一个可选的示例中,所述第一获取单元还用于:
确定到达执行时间的消费消息个数;
当所述到达执行时间的消费消息个数大于预设个数时,获取所述多个到达执行时间的消费消息的多个等候时长;
获取所述等候时长最大值对应的消息消费为待执行消费消息。
在一个可选的示例中,所述第一获取单元还用于:
获取与所述唯一标识对应的业务ID;
根据所述业务ID遍历模拟执行系统中的模拟执行表格;
若确定所述模拟执行表格中不包括所述业务ID,则获取所述业务ID对应的消费消息,并模拟执行所述消费消息对应的业务过程;
若所述业务过程的执行结果为执行失败,则延后所述消费消息对应的执行时间,并重新生成与所述消费消息的唯一标识对应的业务ID;
诊断并修改所述消费消息对应的业务逻辑,并重复模拟执行过程。
在一个可选的示例中,所述第一获取单元还用于:
获取模拟执行成功的所述消费消息对应的业务ID,并根据所述业务ID生成模拟执行表格。
在一个可选的示例中,所述通知单元具体用于:
若所述业务过程的执行结果为执行失败,则向所述第一服务器发送第一提示消息,用于提示所述第一服务器生成所述消费消息对应的新的唯一标识;
若所述业务过程的执行结果为执行成功,则向所述第一服务器发送第二提示消息,用于提示所述第一服务器将所述消费消息的执行状态标记为已执行。
在一个可选的示例中,所述第一获取单元具体用于:
从第一服务器获取执行状态为未执行的消费消息以及所述消费消息对应的唯一标识。
第三方面,本申请实施例提供一种电子装置,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面任一方法所述的步骤的指令。
附图说明
下面将对本申请实施例所涉及到的附图作简单地介绍。
图1A为本申请实施例提供的一种分布式消息消费场景示意图;
图1B为本申请实施例提供的一种分布式数据处理方法流程示意图;
图1C为本申请实施例提供的一种抽奖平台架构示意图;
图1D为本申请实施例提供的一种模拟执行业务过程示意图;
图2为本申请实施例提供的另一种分布式数据处理方法流程示意图;
图3为本申请实施例提供的另一种分布式数据处理方法流程示意图;
图4为本申请实施例提供的另一种分布式数据处理方法流程示意图;
图5为本申请实施例提供的一种电子装置的结构示意图;
图6为本申请实施例中所涉及的业务执行装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了更方便的理解本方案实施例,首先对本方案的实施场景进行说明。
请参阅图1A,图1A为本申请实施例提供的一种分布式消息消费场景示意图,如图1A所示,消费端10与第一服务器20通过网络进行连接,与第二服务器30通过网络或结构连接,其中消费端是指用户使用的终端,每个终端上包括应用服务器,用于曝露应用程序对应的商业逻辑。消费端的应用程序需要从第一服务器20获取消费消息进行消费或执行,第一服务器20为分布式消息系统或分布式消息系统中的负载均衡服务器,分布式消息系统中包括多个终端或服务器,且终端中包括代理程序,形成代理服务器。消费端的应用程序从第一服务器20获取到消费消息后,需要从第二服务器30中获取分布式锁以便获取到该消费消息对应的访问资源,第二服务器30为分布式锁服务器,或者分布式数据库redis。
下面对本申请实施例进行详细介绍。
请参阅图1B,图1B是本申请实施例提供的一种分布式数据处理方法流程示意图,如图1B所示,该方法包括如下步骤:
101、消费端从第一服务器获取消费消息以及所述消费消息对应的唯一标识。
消费端从第一服务器获取消费消息以便进行该消费消息的消费,即是完成该消费消息对应业务过程的执行。消费消息可能是分布式系统中任一代理服务器发放的消息。在获取消费消息时,同时要获取该消费消息对应的唯一标识,唯一标识用于标记该消费消息的唯一性。为了避免该消费消息因为网络抖动、循环消费或者其他原因产生消息的重复消费,分布式锁服务器为每一个消费消息只发放一次分布式锁,获得分布式锁的消费消息进行业务过程的执行,如果执行失败,也不会再次获得分布式锁。
举例来说,假设图1A中的消费端10中的应用程序为抽奖平台,请参阅图1C,图1C为本申请实施例提供的一种抽奖平台架构示意图,如图1C所示,该抽奖平台能够进行的业务流程包括用户注册、抽奖活动、信息分享、社区交流、咨询浏览和抽奖预约,针对这些业务流程,数据层包括用户信息数据,抽奖数据,社区数据和用户浏览日志。抽奖平台向分布式消息系统发送请求消息以获取消费消息,在这里请求消息可以是抽奖请求,那么分布式消息系统可以针对该抽奖请求回应的消费消息包括抽奖成功并发放奖励,或者抽奖失败。这两种消费消息对应的唯一标识不同,以用于唯一标记该消费消息。
可选情况下,消费端向第一服务器发起请求消息以获取消费消息和消费消息对应的唯一标识,唯一标识可以根据消费端硬件参数和请求消息相关参数确定。硬件参数包括设备硬件的名称、型号、形状、颜色、功能,物理地址(MAC Address),中央处理器(CPU,Central Processing Unit)型号等。请求消息相关参数包括请求消息的产生时间、业务类型或业务类型编号等,例如该抽奖平台中,将用户注册、抽奖活动、信息分享、社区交流、咨询浏览和抽奖预约这6中业务进行1~6的编号,抽奖活动的消息请求发生时间对应的时间戳为1574930871,那么业务类型编号+时间戳生成的唯一标识为2-1574930871,消费端MAC地址为B0-25-AA-21-75-5E,根据业务类型编号+时间戳+MAC地址生成的唯一标识为:2-1574930871-(B0-25-AA-21-75-5E),这样就能够通过唯一标识区分不同消费端在不同时间生成的不同业务对应的消费消息。上述硬件参数和业务类型或业务类型编号还可以有其他变形,这里不再详述。
102、消费端确定所述消费消息为满足执行条件的待执行消费消息。
因为可能存在多个消费端需要获取分布式锁的情况,或者还存在同一个消费端存在多个需要执行消费消息的业务过程的情况,为了公平分配消费端获取分布式锁的机会,要满足执行条件的消费消息才能获取分布式锁。满足执行条件可以是达到执行时间,满足执行优先级,具有加急执行标识等。
可选的,确定消费消息为满足执行条件的待执行消费消息包括:获取消费消息对应的执行时间,执行时间包括根据计时器确定或根据消费消息生成时长确定;当执行时间与当前时间的差值小于第一预设时间阈值,则确定消费消息为到达执行时间的消费消息;确定到达执行时间的消费消息为满足执行条件的待执行消费消息。
在第一服务器生成消费消息的时候,或者在消费端获取到消费消息后,可以为消费消息生成计时器用来倒计时,倒计时结束即到达执行时间;或者用时间戳标记消费消息的生成时间,生成时间到达一定时长则确定到达执行时间;可以将到达执行时间的消费消息确定为满足执行条件的待执行消费消息。或者,在到达执行时间之前,即距离执行时间小于第一预设时间阈值时,就可以将消费消息确定为满足执行条件的待执行消费消息。
在消费端获取分布式锁时,可能存在多个消费端的消费消息都满足执行时间的情况,在这种前提下,分布式锁的分配策略可以根据消费消息的优先级确定。消费消息的优先级可以根据消费消息是否包括优先级标识,消费消息的业务逻辑排序,以及消费消息的等待时间等因素确定。
可选的,在确定消费消息为到达执行时间的消费消息之后,方法还包括:确定到达执行时间的消费消息个数;当到达执行时间的消费消息个数大于预设个数时,获取多个到达执行时间的消费消息的多个等候时长;获取等候时长最大值对应的消息消费为待执行消费消息。
具体地,先检测到达执行时间的消费消息个数,如果大于预设个数,则需要为它们设置优先级,具体为:获取每个消费消息对应的等候时长,并按照等候时长的长短顺序进行先后排序,等候时长最长的消费消息排序最前,其对应的优先级为最高优先级;将最高优先级的消费消息确定为待执行消费消息。或者,如果只有一个消费消息在等候,可能是这个消费消息对应的业务过程还未开放访问资源,例如图1C中对应的抽奖预约业务过程,未到达抽奖时间,则抽奖活动对应的访问资源需要等待。当该消费消息的第一等候时长大于预设阈值时,可以优先为该消费消息分配分布式锁以便进行后续业务过程的执行。
可见,在本申请实施例中,通过确定消费消息达到执行时间和消费消息为最高优先级确定消费消息满足执行条件,使得多个达到执行时间的消费消息能够按照优先级顺序进一步明确获取分布式锁的顺序,提升了获取分布式锁的效率。
可选的,在从第二服务器获取待执行消费消息对应的分布式锁之前,该方法还包括:获取与唯一标识对应的业务ID;根据业务ID遍历模拟执行系统中的模拟执行表格;若确定模拟执行表格中不包括业务ID,则获取业务ID对应的消费消息,并模拟执行消费消息对应的业务过程;若业务过程执行失败,则延后消费消息对应的执行时间,并重新生成与消费消息的唯一标识对应的业务ID;诊断并修改消费消息对应的业务逻辑,并重复模拟执行过程。
因为每个唯一标识对应的消费消息只会生成一次分布式锁,也就是只会为其分配一次访问资源,为了增加该消费消息对应的业务过程的顺利执行概率,可以在正式执行该消费消息对应的业务过程之前,模拟执行该业务过程。如果模拟执行失败,则延长消费消息对应的执行时间,那么消费消息不能达到执行时间,也就无法获取分布式锁,无法进行该消费消息对应的业务过程的正式执行过程。
请参阅图1D,图1D为本申请实施例提供的一种模拟执行业务过程示意图,如图1D所示,每一个唯一标识对应生成一个业务ID,然后根据业务ID遍历模拟执行系统中的模拟执行表格,确定模拟执行表格中是否包括该业务ID,如果包括,说明该业务ID对应的消费消息的业务过程已经被模拟执行过;如果不包括,说明该业务ID对应的消费消息的业务过程未被模拟执行过,可以对其进行模拟执行。如果执行成功,说明该业务过程没有逻辑错误,可以顺利执行,那么可以按照该业务过程对应的消费消息的执行时间等待分布式锁,以进行后续的执行过程。如果执行不成功,说明该业务过程存在逻辑错误,不能顺利执行,延后该业务过程对应的消费消息的执行时间,例如该消费消息在t1时间后可以执行,现在延后t2时长,则该消费消息需要在t1+t2后才能执行。同时,诊断该消费消息的业务过程的逻辑错误并进行修改,修改后的消费消息对应的唯一标识不变,但是需要生成新的业务ID,然后根据新的业务ID与模拟执行表格进行匹配,以便进行后续模拟执行过程。直到确定该业务过程模拟执行成功,不再延后该业务过程对应的消费消息的执行时间,该消费消息才能成功获取到分布式锁并进行后续的业务过程执行。
可选的,根据业务ID遍历模拟执行系统中的模拟执行表格包括:根据业务ID对所述模拟执行表格进行倒序遍历。
如果一个业务ID对应的消费消息业务过程模拟执行失败,会为这个消费消息生成新的业务ID,而通常情况下,只要模拟执行的消费消息没有在之前被模拟执行过,都不会在模拟执行表格中匹配到对应的业务ID,而匹配到业务ID的一种情况,就是对执行失败的消费消息生成新的业务ID失败,已经被模拟执行过的消费消息用了原本的业务ID再次进行模拟执行,那么倒序遍历时可以使该业务ID尽快匹配到模拟执行表格中的原业务ID,提升匹配效率。进一步地,在根据业务ID倒序遍历模拟执行表格时,设置遍历个数或遍历百分比,例如遍历10个,或者遍历表格中1/3的业务ID,如果没有匹配到,则确定模拟执行表格中不包括该业务ID。
可选的,方法还包括:获取模拟执行成功的消费消息对应的业务ID,并根据业务ID生成模拟执行表格。
模拟执行表格中包括所有已经模拟执行成功的消费消息对应的业务ID,因为只有执行失败的消费消息才会重新生成业务ID,因此每一个已经模拟执行成功的消费消息对应的业务ID都能够在模拟执行表格中找到,而没有执行成功的消费消息的业务ID,至少是最新的业务ID,都不能在模拟执行表格中找到,可以对未成功执行的消费消息重复模拟执行。另外,在初始的消费消息进行模拟执行时,模拟执行表格是空白的,不需要进行业务ID的匹配。在一些情况下,可以在执行完成一个完整的业务逻辑后,清空原本的模拟执行表格,生成新的模拟执行表格,可以有效提升模拟执行过程的效率。
可见,在本申请实施例中,设置满足执行条件为达到执行时间,在消费消息获取分布式锁之前,对该消费消息对应的业务过程进行模拟执行和调错,如果业务过程不存在逻辑错误,则消费消息可以正常达到执行时间并获取分布式锁,否则消费消息无法达到执行时间也无法获得分布式锁。这个过程避免了因为只为消费消息分配一次分布式锁造成消费消息对应的业务过程无法完成的情况,提升了业务过程执行有效率。
103、消费端从第二服务器获取所述待执行消费消息对应的分布式锁,其中所述待执行消费消息对应的唯一标识未被所述第二服务器记录。
消费端获取到消费消息以及消费消息对应的唯一标识并确定其为待执行消费消息后,需要获取该消费消息的访问资源的,为了防止多个消费消息同时获取访问资源造成拥塞的情况,首先需要获取到消费消息对应的分布式锁,只有获取到分布式锁的消费消息才可以获取到访问资源并执行后续的业务过程。
在获取消费消息对应的分布式锁时,需要确定该消费消息历史上未获得过分布式锁,即同一个消费消息只能获得一次分布式锁。因为用来区分不同消费消息的是唯一标识,因此,可以将消费消息的唯一标识与已经获得过分布式锁的其他唯一标识进行匹配,如果匹配失败,标识该唯一标识对应的消费消息未获得过分布式锁,可以为该唯一标识对应的消费消息分配分布式锁。
104、消费端根据获取到的分布式锁执行所述待执行消费消息对应的业务过程;
105、消费端根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
获取到分布式锁的消费消息对应的业务过程可以正常执行,如果执行成功,则完成该业务过程,第二服务器删除对应的分布式锁并记录该唯一标识。如果执行失败,同样的,第二服务器删除对应的分布式锁并记录该唯一标识。即,所有执行过的业务过程对应的唯一标识都会被记录,且其对应的分布式锁会被删除,同一个唯一标识只有一次获得分布式锁的机会,也就只有一次获得访问资源的机会。
完成业务过程的执行后,还需要通知第一服务器(分布式消息系统)该消费消息的执行结果,以便第一服务器记录并判定后续是否再将该消费消息发送给消费端。例如图1C中的抽奖活动,如果消费端A第一次获取到消费消息为抽奖成功和发放奖励,消费端从分布式锁服务器获取到分布式锁并执行该业务过程后,发放奖励未成功,这个结果需要反馈给第一服务器,以便第一服务器确定是否再次为消费端A发放奖励。
可选的,根据业务过程的执行结果通知第一服务器修改消费消息的执行状态,包括:若业务过程的执行结果为执行失败,则向第一服务器发送第一提示消息,用于提示第一服务器生成消费消息对应的新的唯一标识;若业务过程的执行结果为执行成功,则向第一服务器发送第二提示消息,用于提示第一服务器将消费消息的执行状态标记为已执行。
可选的,从第一服务器获取消费消息以及消费消息对应的唯一标识,包括:从第一服务器获取执行状态为未执行的消费消息以及消费消息对应的唯一标识。
如果消费消息对应的业务过程执行失败,消费端可以提示第一服务器为该消费消息生成新的唯一标识,这样消费端再次发起请求时,第一服务器再次发放原来的消费消息,该消费消息也可以根据新的唯一标识获得分布式锁,继而进行后续业务过程的执行。如果消费消息对应的业务过程执行成功,消费端也可以提示第一服务器,第一服务器将该消费消息对应的执行状态标记为已执行,这样消费端再次发起请求时,第一服务器可以发放已执行的消费消息。或者,消费端获取到已执行的消费消息,自动进行丢弃,而不再获取分布式锁。
可见,在本申请实施例中,首先从第一服务器获取消费消息以及消费消息对应的唯一标识;再从第二服务器获取满足执行条件的消费消息对应的分布式锁,其中消费消息对应的唯一标识未被第二服务器记录;并根据获取到的分布式锁执行消费消息对应的业务过程;最后根据业务过程的执行结果通知第一服务器修改消费消息的执行状态。在这个过程中,通过设置执行条件,并确定满足执行条件的消费消息才能获取分布式锁,提升了获取分布式锁的针对性和有效率,并且按照唯一标识为消费消息分配分布式锁,能够有效防止消费消息重复执行,减少系统脏数据,提升系统数据的正确性。
请参阅图2,图2是本申请实施例提供的另一种分布式数据处理方法流程示意图,如图2所示,所述方法包括如下步骤:
201、消费端从第一服务器获取消费消息以及所述消费消息对应的唯一标识,并获取与所述唯一标识对应的业务ID;
202、消费端根据所述业务ID遍历模拟执行系统中的模拟执行表格;
203、若确定所述模拟执行表格中不包括所述业务ID,则消费端获取所述业务ID对应的消费消息,并模拟执行所述消费消息对应的业务过程;
204、若所述业务过程的执行结果为执行失败,则延后所述消费消息对应的执行时间;
205、消费端诊断并修改所述消费消息对应的业务逻辑,并重复模拟执行过程;
206、确定到达执行时间的所述消费消息为待执行消费消息,消费端从第二服务器获取所述待执行消费消息对应的分布式锁,其中所述消费消息对应的唯一标识未被所述第二服务器记录;
207、消费端根据获取到的分布式锁执行所述待执行消费消息对应的业务过程,并根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
消费端从第一服务器获取到消费消息和其对应的唯一标识后,在本地生成与唯一标识对应的业务ID,然后根据业务ID进行消费消息的模拟执行,如果模拟执行成功,则不延后该消费消息的执行时间,否则,延后该消费消息的执行时间,并对该消费消息进行诊断和修改,再次模拟执行,直到确定该消费消息模拟执行成功,这样可以有效避免因为只为消费消息分配一次分布式锁造成消费消息对应的业务过程无法完成的情况,提升了业务过程执行有效率。其他描述具体参见步骤101-步骤104所描述的分布式数据处理方法的相应描述,在此不再赘述。
请参阅图3,图3是本申请实施例提供的另一种分布式数据处理方法流程示意图,如图3所示,所述方法包括如下步骤:
301、消费端从第一服务器获取消费消息以及所述消费消息对应的唯一标识,并获取与所述唯一标识对应的业务ID;
302、消费端根据所述业务ID遍历模拟执行系统中的模拟执行表格;
303、若确定所述模拟执行表格中不包括所述业务ID,则消费端获取所述业务ID对应的消费消息,并模拟执行所述消费消息对应的业务过程;
304、若所述业务过程的执行结果为执行失败,则延后所述消费消息对应的执行时间;
305、消费端诊断并修改所述消费消息对应的业务逻辑,并重复模拟执行过程;
306、确定到达执行时间的消费消息个数;
307、当所述到达执行时间的消费消息个数大于预设个数时,获取所述多个到达执行时间的消费消息的多个等候时长;
308、按照所述等候时长大小关系进行排序,并将排序最前的所述等候时长对应的消费消息确定为最高优先级;
309、获取最高优先级的消费消息作为待执行消费消息;
310、消费端从第二服务器获取所述待执行消费消息对应的分布式锁,其中所述待执行消费消息对应的唯一标识未被所述第二服务器记录;
311、消费端根据获取到的分布式锁执行所述待执行消费消息对应的业务过程,并根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
消费端从第一服务器获取到消费消息以及其对应的唯一标识后,在本地生成业务ID与唯一标识对应的业务ID,然后根据业务ID进行消费消息的模拟执行,并根据模拟消费结果确定是否延后消费消息的执行时间;在确定消费消息到达执行时间后,再根据消费消息的等候时长确定消费消息的优先级,如果消费消息为最高优先级,则确定消费消息达到执行条件,获取消费消息对应的分布式锁并进行后续业务过程的执行。在这个过程中,通过设定达到执行时间且为最高优先级确定消费消息是否达到执行条件,提升了获得分布式锁的效率。其他描述具体参见步骤101-步骤104所描述的分布式数据处理方法的相应描述,在此不再赘述。
请参阅图4,图4是本申请实施例提供的另一种分布式数据处理方法流程示意图,如图4所示,所述方法包括如下步骤:
401、消费端从第一服务器获取执行状态为未执行的消费消息以及所述消费消息对应的唯一标识;
402、消费端从第二服务器获取满足执行条件的所述消费消息对应的分布式锁,其中所述消费消息对应的唯一标识未被所述第二服务器记录;
403、消费端根据获取到的分布式锁执行所述消费消息对应的业务过程;
404、若所述业务过程的执行结果为执行失败,则消费端向所述第一服务器发送第一提示消息,用于提示所述第一服务器生成所述消费消息对应的新的唯一标识;
405、若所述业务过程的执行结果为执行成功,则消费端向所述第一服务器发送第二提示消息,用于提示所述第一服务器将所述消费消息的执行状态标记为已执行。
消费端从第一服务器获取执行状态为未执行的消费消息以及消费消息对应的唯一标识,根据唯一标识获得分布式锁并进行业务过程执行后,如果执行成功,则需要通知第一服务器将消费消息的执行状态修改为已执行,已执行的消费消息不能再被消费端获取;如果执行失败,则需要通知第一服务器对消费消息生成新的唯一标识,以便消费端再次获取该消费消息时,能够根据新的唯一标识从第二服务器获取到该消费消息对应的分布式锁。这个过程给予了消费消息多次执行的机会,同时又杜绝了执行成功的消费消息重复执行的可能,保证了系统数据正确率的同时,提升了业务过程执行成功的概率。
另外,图4对应的实施例方案可以与图2或图3对应的实施例方案进行结合,即模拟执行消费消息对应的业务过程时成功了,消费消息获得了其对应的分布式锁,但是在正式执行时消费消息对应的业务过程执行失败。通过在第一服务器为消费消息再次分配新的唯一标识以进行补漏,进一步提升了业务过程执行成功的概率。
如上述一致地,请参阅图5,图5是本申请实施例提供的一种电子装置的结构示意图,如图5所示,该电子装置包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行以下步骤的指令:
从第一服务器获取消费消息以及所述消费消息对应的唯一标识;
确定所述消费消息为满足执行条件的待执行消费消息;
从第二服务器获取所述待执行消费消息对应的分布式锁,其中所述待执行消费消息对应的唯一标识未被所述第二服务器记录;
根据获取到的分布式锁执行所述待执行消费消息对应的业务过程;
根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
可见,在本申请实施例中,首先从第一服务器获取消费消息以及消费消息对应的唯一标识;再从第二服务器获取满足执行条件的消费消息对应的分布式锁,其中消费消息对应的唯一标识未被第二服务器记录;并根据获取到的分布式锁执行消费消息对应的业务过程;最后根据业务过程的执行结果通知第一服务器修改消费消息的执行状态。在这个过程中,通过设置执行条件,并确定满足执行条件的消费消息才能获取分布式锁,提升了获取分布式锁的针对性和有效率,并且按照唯一标识为消费消息分配分布式锁,能够有效防止消费消息重复执行,减少系统脏数据,提升系统数据的正确性。
在一个可能的示例中,所述确定所述消费消息为满足执行条件的待执行消费消息包括:
获取所述消费消息对应的执行时间,所述执行时间包括根据计时器确定或根据消费消息生成时长确定;
当距离所述执行时间小于第一预设时间阈值时,则确定所述消费消息为到达执行时间的消费消息;
确定所述到达执行时间的消费消息为满足执行条件的待执行消费消息。
在一个可能的示例中,在确定所述消费消息为到达执行时间的消费消息之后,所述方法还包括:
确定到达执行时间的消费消息个数;
当所述到达执行时间的消费消息个数大于预设个数时,获取所述多个到达执行时间的消费消息的多个等候时长;
按照所述等候时长大小关系进行排序,并将排序最前的所述等候时长对应的消费消息确定为最高优先级;
获取最高优先级的消费消息作为待执行消费消息。
在一个可能的示例中,在从第二服务器获取所述待执行消费消息对应的分布式锁之前,所述方法还包括:
获取与所述唯一标识对应的业务ID;
根据所述业务ID遍历模拟执行系统中的模拟执行表格;
若确定所述模拟执行表格中不包括所述业务ID,则获取所述业务ID对应的消费消息,并模拟执行所述消费消息对应的业务过程;
若所述业务过程的执行结果为执行失败,则延后所述消费消息对应的执行时间,并重新生成与所述消费消息的唯一标识对应的业务ID;
诊断并修改所述消费消息对应的业务逻辑,并重复模拟执行过程。
在一个可能的示例中,所述方法还包括:
获取模拟执行成功的所述消费消息对应的业务ID,并根据所述业务ID生成模拟执行表格。
在一个可能的示例中,所述根据所述业务过程的执行结果通知所述第一服务器修改所述消费消息的执行状态,包括:
若所述业务过程的执行结果为执行失败,则向所述第一服务器发送第一提示消息,用于提示所述第一服务器生成所述消费消息对应的新的唯一标识;
若所述业务过程的执行结果为执行成功,则向所述第一服务器发送第二提示消息,用于提示所述第一服务器将所述消费消息的执行状态标记为已执行。
在一个可能的示例中,所述从第一服务器获取消费消息以及所述消费消息对应的唯一标识,包括:
从第一服务器获取执行状态为未执行的消费消息以及所述消费消息对应的唯一标识。
图6是本申请实施例中所涉及的业务执行装置600的功能单元组成框图。该业务执行装置600应用于电子装置,该业务执行装置600包括:
第一获取单元601,用于从第一服务器获取消费消息以及所述消费消息对应的唯一标识,并确定所述消费消息为满足执行条件的待执行消费消息;
第二获取单元602,从第二服务器获取所述待执行消费消息对应的分布式锁,其中所述待执行消费消息对应的唯一标识未被所述第二服务器记录;
执行单元603,用于根据获取到的分布式锁执行所述待执行消费消息对应的业务过程;
通知单元604,用于根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
可见,在本申请实施例中,业务执行装置首先从第一服务器获取消费消息以及消费消息对应的唯一标识;再从第二服务器获取满足执行条件的消费消息对应的分布式锁,其中消费消息对应的唯一标识未被第二服务器记录;并根据获取到的分布式锁执行消费消息对应的业务过程;最后根据业务过程的执行结果通知第一服务器修改消费消息的执行状态。在这个过程中,通过设置执行条件,并确定满足执行条件的消费消息才能获取分布式锁,提升了获取分布式锁的针对性和有效率,并且按照唯一标识为消费消息分配分布式锁,能够有效防止消费消息重复执行,减少系统脏数据,提升系统数据的正确性。
在一个可选的示例中,所述第一获取单元601具体用于:
获取所述消费消息对应的执行时间,所述执行时间包括根据计时器确定或根据消费消息生成时长确定;
当距离所述执行时间小于第一预设时间阈值时,则确定所述消费消息为到达执行时间的消费消息;
确定所述到达执行时间的消费消息为满足执行条件的待执行消费消息。
在一个可选的示例中,所述第一获取单元601还用于:
确定到达执行时间的消费消息个数;
当所述到达执行时间的消费消息个数大于预设个数时,获取所述多个到达执行时间的消费消息的多个等候时长;
按照所述等候时长大小关系进行排序,并将排序最前的所述等候时长对应的消费消息确定为最高优先级;
获取最高优先级的消费消息作为待执行消费消息。
在一个可选的示例中,所述第一获取单元601还用于:
获取与所述唯一标识对应的业务ID;
根据所述业务ID遍历模拟执行系统中的模拟执行表格;
若确定所述模拟执行表格中不包括所述业务ID,则获取所述业务ID对应的消费消息,并模拟执行所述消费消息对应的业务过程;
若所述业务过程的执行结果为执行失败,则延后所述消费消息对应的执行时间,并重新生成与所述消费消息的唯一标识对应的业务ID;
诊断并修改所述消费消息对应的业务逻辑,并重复模拟执行过程。
在一个可选的示例中,所述第一获取单元601还用于:
获取模拟执行成功的所述消费消息对应的业务ID,并根据所述业务ID生成模拟执行表格。
在一个可选的示例中,所述通知单元604具体用于:
若所述业务过程的执行结果为执行失败,则向所述第一服务器发送第一提示消息,用于提示所述第一服务器生成所述消费消息对应的新的唯一标识;
若所述业务过程的执行结果为执行成功,则向所述第一服务器发送第二提示消息,用于提示所述第一服务器将所述消费消息的执行状态标记为已执行。
在一个可选的示例中,所述第一获取单元601具体用于:
从第一服务器获取执行状态为未执行的消费消息以及所述消费消息对应的唯一标识。
本申请实施例还提供一种计算机可读存储介质,其中,该计算机可读存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括移动终端。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括移动终端。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、ROM、RAM、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种分布式数据处理方法,其特征在于,应用于消费端,所述方法包括:
从第一服务器获取消费消息以及所述消费消息对应的唯一标识;
确定所述消费消息为满足执行条件的待执行消费消息;
从第二服务器获取所述待执行消费消息对应的分布式锁,其中所述待执行消费消息对应的唯一标识未被所述第二服务器记录;
根据获取到的分布式锁执行所述待执行消费消息对应的业务过程;
根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
2.根据权利要求1所述的方法,其特征在于,所述确定所述消费消息为满足执行条件的待执行消费消息包括:
获取所述消费消息对应的执行时间,所述执行时间包括根据计时器确定或根据消费消息生成时长确定;
当距离所述执行时间小于第一预设时间阈值时,则确定所述消费消息为到达执行时间的消费消息;
确定所述到达执行时间的消费消息为满足执行条件的待执行消费消息。
3.根据权利要求2所述的方法,其特征在于,在确定所述消费消息为到达执行时间的消费消息之后,所述方法还包括:
确定到达执行时间的消费消息个数;
当所述到达执行时间的消费消息个数大于预设个数时,获取所述多个到达执行时间的消费消息的多个等候时长;
按照所述等候时长大小关系进行排序,并将排序最前的所述等候时长对应的消费消息确定为最高优先级;
获取最高优先级的消费消息作为待执行消费消息。
4.根据权利要求2或3任一项所述的方法,其特征在于,在从第二服务器获取所述待执行消费消息对应的分布式锁之前,所述方法还包括:
获取与所述唯一标识对应的业务ID;
根据所述业务ID遍历模拟执行系统中的模拟执行表格;
若确定所述模拟执行表格中不包括所述业务ID,则获取所述业务ID对应的消费消息,并模拟执行所述消费消息对应的业务过程;
若所述业务过程的执行结果为执行失败,则延后所述消费消息对应的执行时间,并重新生成与所述消费消息的唯一标识对应的业务ID;
诊断并修改所述消费消息对应的业务逻辑,并重复模拟执行过程。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取模拟执行成功的所述消费消息对应的业务ID,并根据所述业务ID生成模拟执行表格。
6.根据权利要求1所述的方法,其特征在于,所述根据所述业务过程的执行结果通知所述第一服务器修改所述消费消息的执行状态,包括:
若所述业务过程的执行结果为执行失败,则向所述第一服务器发送第一提示消息,用于提示所述第一服务器生成所述消费消息对应的新的唯一标识;
若所述业务过程的执行结果为执行成功,则向所述第一服务器发送第二提示消息,用于提示所述第一服务器将所述消费消息的执行状态标记为已执行。
7.根据权利要求6所述的方法,其特征在于,所述从第一服务器获取消费消息以及所述消费消息对应的唯一标识,包括:
从第一服务器获取执行状态为未执行的消费消息以及所述消费消息对应的唯一标识。
8.一种业务执行装置,其特征在于,所述装置包括:
第一获取单元,用于从第一服务器获取消费消息以及所述消费消息对应的唯一标识,并确定所述消费消息为满足执行条件的待执行消费消息;
第二获取单元,从第二服务器获取所述待执行消费消息对应的分布式锁,其中所述待执行消费消息对应的唯一标识未被所述第二服务器记录;
执行单元,用于根据获取到的分布式锁执行所述待执行消费消息对应的业务过程;
通知单元,用于根据所述业务过程的执行结果通知所述第一服务器修改所述待执行消费消息的执行状态。
9.一种电子装置,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-7任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010234072.8A CN111538588A (zh) | 2020-03-30 | 2020-03-30 | 分布式数据处理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010234072.8A CN111538588A (zh) | 2020-03-30 | 2020-03-30 | 分布式数据处理方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111538588A true CN111538588A (zh) | 2020-08-14 |
Family
ID=71978413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010234072.8A Pending CN111538588A (zh) | 2020-03-30 | 2020-03-30 | 分布式数据处理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538588A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732731A (zh) * | 2020-12-29 | 2021-04-30 | 京东数字科技控股股份有限公司 | 业务数据的消费方法、装置、电子设备和可读存储介质 |
CN114996031A (zh) * | 2022-08-03 | 2022-09-02 | 飞狐信息技术(天津)有限公司 | 抽奖方法及相关装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874552A (zh) * | 2018-06-28 | 2018-11-23 | 杭州云英网络科技有限公司 | 分布式锁执行方法、装置及系统、应用服务器和存储介质 |
CN109582466A (zh) * | 2017-09-29 | 2019-04-05 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
CN110471780A (zh) * | 2019-08-21 | 2019-11-19 | 北京百佑科技有限公司 | 分布式事件处理装置、终端和计算机存储介质 |
-
2020
- 2020-03-30 CN CN202010234072.8A patent/CN111538588A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582466A (zh) * | 2017-09-29 | 2019-04-05 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
CN108874552A (zh) * | 2018-06-28 | 2018-11-23 | 杭州云英网络科技有限公司 | 分布式锁执行方法、装置及系统、应用服务器和存储介质 |
CN110471780A (zh) * | 2019-08-21 | 2019-11-19 | 北京百佑科技有限公司 | 分布式事件处理装置、终端和计算机存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732731A (zh) * | 2020-12-29 | 2021-04-30 | 京东数字科技控股股份有限公司 | 业务数据的消费方法、装置、电子设备和可读存储介质 |
CN112732731B (zh) * | 2020-12-29 | 2024-06-18 | 京东科技控股股份有限公司 | 业务数据的消费方法、装置、电子设备和可读存储介质 |
CN114996031A (zh) * | 2022-08-03 | 2022-09-02 | 飞狐信息技术(天津)有限公司 | 抽奖方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107087033B (zh) | 消息推送方法、装置、存储介质及计算机设备 | |
CN108228363A (zh) | 一种消息发送方法及装置 | |
WO2020087948A1 (zh) | 网络切片模板生成方法、装置、设备及存储介质 | |
CN101944048B (zh) | 一种终端在音频资源冲突时的管理方法及该终端 | |
CN111338773A (zh) | 一种分布式定时任务调度方法、调度系统及服务器集群 | |
CN111698315B (zh) | 针对区块的数据处理方法、数据处理装置及计算机设备 | |
CN111538588A (zh) | 分布式数据处理方法及相关装置 | |
CN110673933A (zh) | 基于ZooKeeper的分布式异步队列实现方法、装置、设备及介质 | |
CN106101220A (zh) | 信息同步方法及装置、信息同步处理系统 | |
CN109819023B (zh) | 分布式事务处理方法及相关产品 | |
CN108366176A (zh) | 一种终端应用的计费方法、装置及系统 | |
CN106358065A (zh) | 一种多媒体信息处理方法和系统 | |
CN102055644A (zh) | 分布式目录服务系统中负载管理的方法、装置和系统 | |
CN110705893A (zh) | 一种业务节点管理方法、装置、设备以及存储介质 | |
CN112380229A (zh) | 业务数据同步方法及装置、非易失性存储介质、处理器 | |
CN110708400A (zh) | 网络地址分配方法、装置、节点设备及存储介质 | |
CN109495528B (zh) | 分布式锁所有权调度方法和装置 | |
CN111311254A (zh) | 一种基于区块链的业务处理方法、装置和系统 | |
WO2016149945A1 (zh) | 一种生命周期事件的处理方法及vnfm | |
CN107908481A (zh) | 一种数据同步方法、装置和系统 | |
CN107094085B (zh) | 一种信令传送方法及装置 | |
CN112799796A (zh) | 一种定时任务管理方法、装置及存储介质 | |
CN111835809B (zh) | 工单消息分配方法、装置、服务器及存储介质 | |
CN112882765A (zh) | 数字孪生模型调度方法和装置 | |
CN109739667B (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 |