CN115170152A - 一种数据分发方法、装置、设备和存储介质 - Google Patents
一种数据分发方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115170152A CN115170152A CN202210646837.8A CN202210646837A CN115170152A CN 115170152 A CN115170152 A CN 115170152A CN 202210646837 A CN202210646837 A CN 202210646837A CN 115170152 A CN115170152 A CN 115170152A
- Authority
- CN
- China
- Prior art keywords
- order
- data
- processed
- order data
- receiving object
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/01—Customer relationship services
- G06Q30/015—Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
- G06Q30/016—After-sales
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据分发方法、装置、设备和存储介质。主要技术方案包括:当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁,当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序,依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据,根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据。本申请能够保证数据传输的时效性和顺序性,提高售后作业***的可用性。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据分发方法、装置、设备和存储介质。
背景技术
销售平台在产品售卖过程中,售后作业***会进行订单处理,记录相关的订单数据。为了便于各厂家的售后作业管理,销售平台需将销售信息及时传输给各合作厂家。
目前,售后作业***进行订单处理后,查询预先配置的厂家需求信息判断该订单相关数据是否下发给厂家,若确定下发订单数据,则调用厂家接口分发数据。若厂家的外部***异常,售后作业***则无法发送该订单数据,且影响该订单的后续操作,从而难以保证数据传输的时效性和顺序性,降低了售后作业***的可用性。
发明内容
基于此,本申请提供了一种数据分发方法、装置、设备和存储介质,能够保证数据传输的时效性和顺序性,提高售后作业***的可用性。
第一方面,提供一种数据分发方法,该方法包括:
当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁;
当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序;
依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据;
根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据。
根据本申请实施例中一种可实现的方式,请求顺序信息包括至少一个请求单号和请求单号对应的至少一个请求序号,编号信息包括预设单号和预设序号;根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序,包括:
根据与预设单号相同的请求单号对应的至少一个请求序号和预设序号的大小关系,确定已处理订单的订单数据的分发顺序。
根据本申请实施例中一种可实现的方式,根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据,包括:
当已处理订单的订单数据的分发顺序不是第一个时,通过消息队列将目标订单数据移存至待处理队列;
定时轮询待处理队列,直至已处理订单的订单数据的分发顺序为第一个,通过消息队列向接收对象分发目标订单数据。
根据本申请实施例中一种可实现的方式,在通过消息队列向接收对象分发目标订单数据后,该方法还包括:
删除分布式锁中与已处理订单的编号信息相同的请求顺序信息以释放分布式锁。
根据本申请实施例中一种可实现的方式,配置数据包括字段信息和数据格式;依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据,包括:
根据用户通过可视化界面预设的字段信息,基于责任链获取接收对象所需的待发送订单数据;
根据用户通过可视化界面预设的数据格式,封装待发送订单数据,得到目标订单数据。
根据本申请实施例中一种可实现的方式,该方法还包括:当未获取到分布式锁时,通过消息队列将订单数据移存至待处理队列;
定时轮询待处理队列的订单数据,直至获取到分布式锁。
根据本申请实施例中一种可实现的方式,消息队列包括WINDQ消息队列,分布式锁为redis分布式锁。
第二方面,提供了一种数据分发装置,该装置包括:
判断模块,用于当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁;
确定模块,用于当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序;
获取模块,用于依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据;
分发模块,用于根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据。
第三方面,提供了一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面中涉及的方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行上述第一方面中涉及的方法。
根据本申请实施例所提供的技术内容,当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁,当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序,依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据,根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据,能够保证数据传输的时效性和顺序性,提高售后作业***的可用性。
附图说明
图1为一个实施例中数据分发方法的应用环境图;
图2为一个实施例中数据分发方法的流程示意图;
图3为一个实施例中数据分发装置的结构框图;
图4为一个实施例中计算机设备的示意性结构图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据分发方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104当确定向接收对象分发已处理订单的订单数据时,服务器104判断是否获取到分布式锁,当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序。依据用户通过终端102的可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据,根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
图2为本申请实施例提供的一种数据分发方法的流程图。如图2所示,该方法可以包括以下步骤:
S210,当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁。
接收对象可以为与销售平台合作的厂家、店铺等。
销售平台的售后作业***进行订单处理后,查询预先配置的厂家需求信息判断该订单相关数据是否下发给接收对象,以便于接收对象的售后管理。
当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁。若获取到分布式锁,表明此时***内没有处理订单数据;若未获取到分布式锁,表明此时***正在处理订单数据,需等待处理完该订单数据才能处理处理其他的订单数据。分布式锁可以为redis分布式锁,通过分布式锁可以避免同时处理多个订单数据,从而保证数据分发的顺序性。
S220,当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序。
在进行数据分发之前,先在分布式锁中记录接收对象对应的服务器的请求顺序信息,可以表示为:单号为key,序号为value,比如,key:1,value:[1,2],表示请求1单号为1,序号为1和请求2单号为1,序号为2。
当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序,以免打乱数据分发顺序。
S230,依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据。
基于责任链模式,针对各个接收对象的需求构建不同的处理链条,即,责任链,分别处理不同接收对象的数据分发请求,有利于增强***的可扩展性。对于新接入的接收对象,只需新增请求处理类,加入到链路中即可。当变更业务逻辑时,只需修改对应类的具体的处理对象逻辑,或者调整链路顺序即可,不会对其他业务造成影响,极大地提升了***的稳定性。
以接收对象为某厂家为例,构建的责任链可以为:接收请求模块、公共数据校验模块、厂家数据校验模块、厂家业务逻辑处理模块,数据传输模块。如果需要对公共数据进行修改,只需修改公共数据校验模块对应的逻辑。
通过构建责任链可以对代码进行重构,解决了因接入的接收对象较多设计逻辑复杂导致代码的维护性差的问题。
用户可以根据接收对象的需求通过可视化界面灵活设置的配置数据,配置数据可以包括字段信息和数据格式,其中,字段信息可以包括字段长度、字段名称等。
***可以根据用户通过可视化界面设置的配置数据,进行数据定制化处理,比如字段长度校验、字段名称转换等,获取接收对象所需的目标订单数据。这样,有效地解决了因一些简单的需求变更,从而投入大量的人力资源和时间进行开发、测试、联合调试工作。不仅节省了研发成本,而且能更加快速的响应业务变化需求。
S240,根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据。
消息队列具有异步、解耦和削峰功能,消息队列可以将接收对象分发处理逻辑解耦出来,进行异步处理。当外部***不可用时,售后作业***无法将订单数据发送至外部***,通过WINDQ消息队列将该订单数据解耦出来,后续再尝试发送,不会影响售后作业***的使用,极大地提高了***的可用性,极大的提高了接口的响应时间,和高并发处理能力。其中,消息队列可以为WINDQ消息队列。
根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据,既可以保证数据毫无遗漏地分发,也可以提高***的可用性。
可以看出,本申请实施例当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁,当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序。依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据,根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据,能够保证数据传输的时效性和顺序性,提高售后作业***的可用性和稳定性。
下面对上述方法流程中的各步骤进行详细描述。首先结合实施例对上述步骤S220即“根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序”进行详细描述。
请求顺序信息包括至少一个请求单号和请求单号对应的至少一个请求序号,编号信息包括预设单号和预设序号。
作为一种可实现的方式,根据与预设单号相同的请求单号对应的至少一个请求序号和预设序号的大小关系,确定已处理订单的订单数据的分发顺序。
将至少一个请求序号和预设序号的大小关系进行排序,若预设序号最小,将已处理订单的订单数据第一个进行发送;若至少一个请求序号存在小于预设序号的请求序号,则将已处理订单的订单数据稍后发送。
结合实施例对上述步骤S230即“依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据”进行详细描述。
作为一种可实现的方式,根据用户通过可视化界面预设的字段信息,基于责任链获取接收对象所需的待发送订单数据;
根据用户通过可视化界面预设的数据格式,封装待发送订单数据,得到目标订单数据。
字段信息包括必填字段、字段长度、字段名称等。根据用户通过可视化界面预先设置的必填字段,基于责任链获取接收对象所需的待发送订单数据,根据字段长度、字段名称等校验待发送订单数据,使得待发送订单数据与接收对象的***数据的字段长度、字段名称一致,保证数据的准确分发。
根据用户通过可视化界面预先设置的数据格式封装待发送订单数据,得到目标订单数据,使得目标订单数据的格式与接收对象的接口数据格式一致,通过调用相应接口进行传输,能够提高传输效率,提高数据分发的时效性。
结合实施例对上述步骤S240即“根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据”进行详细描述。
作为一种可实现的方式,当已处理订单的订单数据的分发顺序不是第一个时,通过消息队列将目标订单数据移存至待处理队列;
定时轮询待处理队列,直至已处理订单的订单数据的分发顺序为第一个,通过消息队列向接收对象分发目标订单数据。
当已处理订单的订单数据的分发顺序不是第一个时,说明该已处理订单前面还有其他订单的数据未分发,暂时不能分发该已处理订单的订单数据。通过消息队列将订单数据移存至待处理队列,并定时轮询待处理队列,直至已处理订单的订单数据的分发顺序为第一个,通过消息队列向接收对象分发目标订单数据。当待处理队列为空时,停止轮询。如此,有效保证了数据分发的顺序性。
作为一种可实现的方式,在通过消息队列向接收对象分发目标订单数据后,删除分布式锁中与已处理订单的编号信息相同的请求顺序信息以释放分布式锁,供后续处理订单的订单数据时,获取分布式锁,执行上述数据分发的方法。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图3为本申请实施例提供的一种数据分发装置的结构示意图,用以执行如图1中所示的方法流程。如图3所示,该装置300可以包括:判断模块310、确定模块320、获取模块330和分发模块340,还可以进一步包括:删除模块。其中各组成模块的主要功能如下:
判断模块310,用于当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁;
确定模块320,用于当获取到分布式锁时,根据分布式锁中预先记录的请求顺序信息和已处理订单的编号信息,确定已处理订单的订单数据的分发顺序;
获取模块330,用于依据用户通过可视化界面预设的配置数据,基于责任链获取接收对象所需的目标订单数据;
分发模块340,用于根据已处理订单的订单数据的分发顺序,通过消息队列向接收对象分发目标订单数据。
作为一种可实现的方式,请求顺序信息包括至少一个请求单号和请求单号对应的至少一个请求序号,编号信息包括预设单号和预设序号;确定模块320,具体用于根据与预设单号相同的请求单号对应的至少一个请求序号和预设序号的大小关系,确定已处理订单的订单数据的分发顺序。
作为一种可实现的方式,分发模块340,具体用于当已处理订单的订单数据的分发顺序不是第一个时,通过消息队列将目标订单数据移存至待处理队列;
定时轮询待处理队列,直至已处理订单的订单数据的分发顺序为第一个,通过消息队列向接收对象分发目标订单数据。
作为一种可实现的方式,该装置还包括删除模块,用于在通过消息队列向接收对象分发目标订单数据后,删除分布式锁中与已处理订单的编号信息相同的请求顺序信息以释放分布式锁。
作为一种可实现的方式,配置数据包括字段信息和数据格式;获取模块330,具体用于根据用户通过可视化界面预设的字段信息,基于责任链获取接收对象所需的待发送订单数据;
根据用户通过可视化界面预设的数据格式,封装待发送订单数据,得到目标订单数据。
上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如用户明确同意,对用户切实通知,用户明确授权等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。
如图4所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。
如图4所示,设备400包括计算单元401、ROM 402、RAM 403、总线404以及输入/输出(I/O)接口405,计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
计算单元401可以根据存储在只读存储器(ROM)402中的计算机指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元408。
RAM 403还可存储设备400操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM 802和/或通信单元409而被载入和/或安装到设备400上。
设备400中的输入单元406、输出单元407、存储单元408和通信单元409可以连接至I/O接口405。其中,输入单元406可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元407可以是诸如显示器、扬声器、指示灯等。设备400能够通过通信单元409与其他设备进行信息、数据等的交换。
需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。
用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元401,使得计算机指令当由诸如处理器等计算单元401执行时使执行本申请方法实施例中涉及的各步骤。
本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (10)
1.一种数据分发方法,其特征在于,所述方法包括:
当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁;
当获取到分布式锁时,根据所述分布式锁中预先记录的请求顺序信息和所述已处理订单的编号信息,确定所述已处理订单的订单数据的分发顺序;
依据用户通过可视化界面预设的配置数据,基于责任链获取所述接收对象所需的目标订单数据;
根据所述已处理订单的订单数据的分发顺序,通过消息队列向所述接收对象分发所述目标订单数据。
2.根据权利要求1所述的方法,其特征在于,所述请求顺序信息包括至少一个请求单号和所述请求单号对应的至少一个请求序号,所述编号信息包括预设单号和预设序号;所述根据所述分布式锁中预先记录的请求顺序信息和所述已处理订单的编号信息,确定所述已处理订单的订单数据的分发顺序,包括:
根据与所述预设单号相同的请求单号对应的至少一个请求序号和所述预设序号的大小关系,确定所述已处理订单的订单数据的分发顺序。
3.根据权利要求1所述的方法,其特征在于,所述根据所述已处理订单的订单数据的分发顺序,通过消息队列向所述接收对象分发所述目标订单数据,包括:
当所述已处理订单的订单数据的分发顺序不是第一个时,通过所述消息队列将所述目标订单数据移存至待处理队列;
定时轮询所述待处理队列,直至所述已处理订单的订单数据的分发顺序为第一个,通过消息队列向所述接收对象分发所述目标订单数据。
4.根据权利要求1所述的方法,其特征在于,在通过消息队列向所述接收对象分发所述目标订单数据后,所述方法还包括:
删除所述分布式锁中与所述已处理订单的编号信息相同的请求顺序信息以释放所述分布式锁。
5.根据权利要求1所述的方法,其特征在于,所述配置数据包括字段信息和数据格式;所述依据用户通过可视化界面预设的配置数据,基于责任链获取所述接收对象所需的目标订单数据,包括:
根据用户通过可视化界面预设的字段信息,基于责任链获取所述接收对象所需的待发送订单数据;
根据用户通过可视化界面预设的数据格式,封装所述待发送订单数据,得到目标订单数据。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当未获取到分布式锁时,通过所述消息队列将所述订单数据移存至待处理队列;
定时轮询所述待处理队列的订单数据,直至获取到所述分布式锁。
7.根据权利要求1所述的方法,其特征在于,所述消息队列包括WINDQ消息队列,所述分布式锁为redis分布式锁。
8.一种数据分发装置,其特征在于,所述装置包括:
判断模块,用于当确定向接收对象分发已处理订单的订单数据时,判断是否获取到分布式锁;
确定模块,用于当获取到分布式锁时,根据所述分布式锁中预先记录的请求顺序信息和所述已处理订单的编号信息,确定所述已处理订单的订单数据的分发顺序;
获取模块,用于依据用户通过可视化界面预设的配置数据,基于责任链获取所述接收对象所需的目标订单数据;
分发模块,用于根据所述已处理订单的订单数据的分发顺序,通过消息队列向所述接收对象分发所述目标订单数据。
9.一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210646837.8A CN115170152A (zh) | 2022-06-08 | 2022-06-08 | 一种数据分发方法、装置、设备和存储介质 |
CA3202557A CA3202557A1 (en) | 2022-06-08 | 2023-06-08 | A data distribution method, apparatus, device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210646837.8A CN115170152A (zh) | 2022-06-08 | 2022-06-08 | 一种数据分发方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115170152A true CN115170152A (zh) | 2022-10-11 |
Family
ID=83485880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210646837.8A Pending CN115170152A (zh) | 2022-06-08 | 2022-06-08 | 一种数据分发方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115170152A (zh) |
CA (1) | CA3202557A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117541356A (zh) * | 2023-12-04 | 2024-02-09 | 广州方舟信息科技有限公司 | 一种订单执行方法、***、电子设备和存储介质 |
-
2022
- 2022-06-08 CN CN202210646837.8A patent/CN115170152A/zh active Pending
-
2023
- 2023-06-08 CA CA3202557A patent/CA3202557A1/en active Granted
Also Published As
Publication number | Publication date |
---|---|
CA3202557A1 (en) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125057B (zh) | 一种业务请求的处理方法、装置及计算机*** | |
US12001450B2 (en) | Distributed table storage processing method, device and system | |
CN110753084A (zh) | 上链数据读取方法、缓存服务器及计算机可读存储介质 | |
CN111338834B (zh) | 数据存储方法和装置 | |
CN112035405A (zh) | 一种文档转码方法、装置、调度服务器和存储介质 | |
CN111966653A (zh) | 微服务调用链路数据处理方法、装置、服务器及存储介质 | |
CN115170152A (zh) | 一种数据分发方法、装置、设备和存储介质 | |
CN110888972A (zh) | 一种基于Spark Streaming的敏感内容识别方法及装置 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN113282589A (zh) | 一种数据获取方法和装置 | |
CN113760522A (zh) | 一种任务处理方法和装置 | |
CN113157405A (zh) | 业务流程断点重试的方法和装置 | |
CN111767126A (zh) | 分布式批量处理的***和方法 | |
CN112445860A (zh) | 一种处理分布式事务的方法和装置 | |
CN112148705A (zh) | 数据迁移的方法和装置 | |
CN112540839B (zh) | 信息变更方法、装置、电子设备及存储介质 | |
CN111061576B (zh) | 一种实体对象的创建方法及*** | |
CN110727694B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113986833A (zh) | 文件合并方法、***、计算机***及存储介质 | |
CN116503005A (zh) | 流程动态修改方法、装置、***及存储介质 | |
CN108959405B (zh) | 数据的强一致性读取方法及终端设备 | |
CA3202557C (en) | A data distribution method, apparatus, device and storage medium | |
CN113760487A (zh) | 一种业务处理方法和装置 | |
CN112948430B (zh) | 一种日期数据查询方法和装置 | |
CN111045723B (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 |