CN111737274B - 交易数据的处理方法、装置和服务器 - Google Patents
交易数据的处理方法、装置和服务器 Download PDFInfo
- Publication number
- CN111737274B CN111737274B CN202010563618.4A CN202010563618A CN111737274B CN 111737274 B CN111737274 B CN 111737274B CN 202010563618 A CN202010563618 A CN 202010563618A CN 111737274 B CN111737274 B CN 111737274B
- Authority
- CN
- China
- Prior art keywords
- transaction data
- target
- preset
- transaction
- node 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.)
- 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/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
- 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/526—Mutual exclusion algorithms
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种交易数据的处理方法、装置和服务器,其中,该交易数据的处理方法包括:第一节点服务器在接收到待处理的目标交易数据后,先为该目标交易数据设置基于redis分布式锁的预设的标签锁,并根据基于dubbo一致性负载均衡的预设的分配策略,结合目标交易数据的交易类型和交易要素,从分布式系统的多个节点服务器中确定出匹配的适合于处理目标交易数据的目标节点服务器,再将设置有预设的标签锁的目标交易数据发送至目标节点服务器;由目标节点服务器确定并根据目标交易数据的关联信息,以及预设的处理规则,通过确定是否取消预设的标签锁,对目标交易数据进行有序处理,从而能高效、有序地处理大批量的交易数据。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种交易数据的处理方法、装置和服务器。
背景技术
在许多应用场景中,常常需要通过分布式系统来批量处理数量庞大、种类繁多且相互关系复杂的数据(例如,交易数据)。而基于现有方法在处理上述数据时,往往存在无法同时兼顾处理效率和数据处理的有序性的技术问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种交易数据的处理方法、装置和服务器,以解决现有方法中存在的无法同时兼顾数据处理效率和数据处理的有序性的技术问题,达到能高效、有序地批量处理交易数据的技术效果。
本申请实施例提供了一种交易数据的处理方法,所述方法应用于分布式系统,所述分布式系统包括多个节点服务器,所述方法包括:
第一节点服务器接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;所述第一节点服务器确定所述目标交易数据的交易类型和交易要素;所述第一节点服务器根据所述目标交易数据的交易类型、交易要素以及预设的分配策略,从多个节点服务器中确定出目标节点服务器,并将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述预设的标签锁包括基于redis分布式锁的标签锁,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;
所述目标节点服务器接收设置有预设的标签锁的目标交易数据,并根据所述目标交易数据,获取关联信息;所述目标节点服务器根据所述关联信息、预设的处理规则,确定当前是否消除所述预设的标签锁;所述目标节点服务器在确定当前消除所述预设的标签锁的情况下,消除所述预设的标签锁,并按照有序任务队列的处理排序,处理所述目标交易数据。
本申请实施例还提供了一种交易数据的处理方法,包括:
接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;
确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;
将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据目标交易数据的关联信息和预设的处理规则,有序处理所述目标交易数据。
在一个实施例中,所述交易类型包括以下至少之一:外汇交易、贵金属交易、期货交易。
在一个实施例中,所述交易要素包括以下至少之一:交易数据的发起者、交易数据所涉及的交易对手、交易数据所涉及的产品品种。
在一个实施例中,所述根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器,包括:
根据所述目标交易数据的交易类型,从多个节点服务器中筛选出与目标交易数据的交易类型匹配的多个节点服务器,作为第二节点服务器;
根据所述目标交易数据的交易要素,从多个第二节点服务器中筛选出与目标交易数据的交易要素匹配的多个节点服务器,作为第三节点服务器;
根据所述预设的分配策略,从所述多个第三节点服务器中确定出目标节点服务器。
在一个实施例中,所述根据所述预设的分配策略,从所述多个第三节点服务器中确定出目标节点服务器,包括:
获取预设时间段内的交易数据的分配记录;
根据所述预设时间段内的交易数据的分配记录,确定预设时间段内各个第三节点服务器的交易数据的分配量;
根据所述预设的分配策略、所述预设时间段内各个第三节点服务器的交易数据的分配量,从所述多个第三节点服务器中确定出目标节点服务器。
本申请实施例还提供了一种交易数据的处理方法,包括:
接收设置有预设的标签锁的目标交易数据;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;
根据所述目标交易数据,获取关联信息;
根据所述关联信息,和预设的处理规则,确定当前是否消除所述预设的标签锁;
在确定当前消除所述预设的标签锁的情况下,消除设置在所述目标交易数据的预设的标签锁;
将所述目标交易数据加入有序任务队列,并按照有序任务队列的处理排序,处理所述目标交易数据。
在一个实施例中,所述方法还包括:
在确定当前不能消除所述预设的标签锁的情况下,保留所述预设的标签锁,并将所述目标交易数据加入无序任务队列。
本申请实施例还提供了一种交易数据的处理装置,包括:
接收模块,用于接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;
确定模块,用于确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;
发送模块,用于将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据目标交易数据的关联信息和预设的处理规则,有序处理所述目标交易数据。
本申请实施例还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据目标交易数据的关联信息和预设的处理规则,有序处理所述目标交易数据。
在本申请实施例中,第一节点服务器在接收到待处理的目标交易数据后,先为该目标交易数据设置基于redis分布式锁的预设的标签锁,并根据基于dubbo一致性负载均衡的预设的分配策略,结合目标交易数据的交易类型和交易要素,从分布式系统的多个节点服务器中智能地确定出匹配的适合于处理目标交易数据的目标节点服务器,再将上述设置有预设的标签锁的目标交易数据发送至对应的目标节点服务器;目标节点服务器在接收到目标交易数据后,可以确定并根据该目标交易数据的关联信息,以及预设的处理规则,通过确定是否取消预设的标签锁,对目标交易数据进行有序处理。通过上述方式可以将dubbo一致性负载均衡和redis分布式锁相结合,准确地从多个节点服务器中找到适合处理目标交易数据,且处理效率相对较高的目标节点服务器来分配待处理的目标交易数据;再由目标节点服务器通过根据预设的处理规则确定是否取消目标交易数据上设置的预设的标签锁,来对目标交易数据进行有序处理,从而可以有效地解决现有方法中存在的无法同时兼顾数据处理效率和数据处理的有序性的技术问题,达到能高效、有序地处理大批量的交易数据的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施方式提供的交易数据的处理方法的一个实施例示意图;
图2是根据本申请实施方式提供的交易数据的处理方法的处理流程图;
图3是根据本申请实施方式提供的交易数据的处理方法的处理流程图;
图4是根据本申请实施方式提供的交易数据的处理装置的组成结构图;
图5是基于本申请实施例提供的服务器的组成结构示意图;
图6是在一个场景示例中应用本申请实施例提供的交易数据的处理方法和装置的实施例示意图;
图7是在一个场景示例中应用本申请实施例提供的交易数据的处理方法和装置的实施例示意图;
图8是在一个场景示例中应用本申请实施例提供的交易数据的处理方法和装置的实施例示意图;
图9是在一个场景示例中应用本申请实施例提供的交易数据的处理方法和装置的实施例示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
现有的数据处理方法,往往会利用分布式系统来处理大批量的数据。而有些数据,例如交易数据,对于数据处理的有序性通常具有较高的要求。举例而言,交易系统在处理与用户甲购买商品相关的交易数据时,需要系统中的a节点先处理完用户甲购买商品的订单数据,系统中的b节点才可以处理用户甲购买商品时的支付数据。如果在a节点处理完订单数据之前,b节点先处理了支付数据,则会出现错误,对整个交易数据的处理链路造成影响。
而基于现有的数据处理方法往往存在无法同时兼顾数据处理效率和数据处理有序性的技术问题。针对产生上述技术问题的根本原因,本申请考虑可以将dubbo一致性负载均衡技术和redis分布式锁技术相结合,在分配待处理的目标交易数据之前,先确定出目标交易数据的交易类型、交易要素等信息,再根据基于dubbo一致性负载均衡的预设的分配策略,结合目标交易数据的交易类型和交易要素,从分布式系统的多个节点服务器中确定出匹配的适合于处理目标交易数据的数据处理,具有较好的处理效率的目标节点服务器;同时还会目标交易数据设置基于redis分布式锁的预设的标签锁,以便在取消该预设的标签锁之前,节点服务器无法直接对该目标交易数据进行处理;再将设置有预设的标签锁的目标交易数据发送至目标节点服务器;目标节点服务器在接收到目标交易数据后,不会直接取消预设的标签锁,对目标交易数据进行处理,而是会先获取目标交易数据的关联信息,再通过根据预设的处理规则和目标交易数据的关联信息,确定当前是否要取消预设的标签锁,以对该目标交易数据进行具体处理,可以避免在与目标交易数据关联的在线交易数据处理之前处理目标交易数据。从而可以有效地解决现有方法中存在的无法同时兼顾数据处理效率和处理的有序性的技术问题,达到能高效、有序地处理大批量的交易数据的技术效果。
基于上述思考思路,本申请实施例提供了一种交易数据的处理方法。具体请参阅图1所示的。本申请实施例提供的交易数据的处理方法,具体实施时,可以包括以下内容。
其中,该方法应用于分布式系统中。该分布式系统具体可以理解为一种用于负责处理交易数据的分布式系统。该分布式系统具体可以包括多个不同的节点服务器。
具体实施时,分布式系统中的第一节点服务器接收待处理的目标交易数据,并为目标交易数据设置预设的标签锁;所述第一节点服务器确定所述目标交易数据的交易类型和交易要素;所述第一节点服务器根据所述目标交易数据的交易类型、交易要素以及预设的分配策略,从多个节点服务器中确定出目标节点服务器,并将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述预设的标签锁包括基于redis分布式锁的标签锁,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略。
所述目标节点服务器接收设置有预设的标签锁的目标交易数据,并根据所述目标交易数据,获取关联信息;所述目标节点服务器根据所述关联信息、预设的处理规则,确定当前是否消除所述预设的标签锁;所述目标节点服务器在确定当前消除所述预设的标签锁的情况下,消除所述预设的标签锁,并按照有序任务队列的处理排序,处理所述目标交易数据。
在一个实施例中,上述第一节点服务器具体可以理解为接收到待处理的目标交易数据的节点服务器。
在一个实施例中,上述目标交易数据具体可以理解为刚接收到的,等待分配处理的交易数据。其中,上述交易数据根据不同的业务场景,可以是包含有不同信息内容或者需要进行不同类型处理的与交易相关的数据。例如,上述交易数据具体可以是待处理的用户订单,也可以是期货交易数据,还可以是用户的行内转账数据等等。当然,上述所列举的交易数据只是一种示意性说明。具体实施时,根据具体情况和处理需求,上述交易数据还可以包括其他类型的与交易相关的数据。对此,本说明书不作限定。
在一个实施例中,还需要说明的是,上述交易数据的处理方法还可以进一步扩展应用于除交易数据以外,其他类型数据的数据处理中。例如,还可以将上述方法应用于对大批量物流数据的数据处理等。
在一个实施例中,上述预设的标签锁具体可以理解为是一种基于redis分布式锁生成的标签锁。设置有上述预设的标签锁的交易数据相当于一个加了redis分布式锁的上锁了的交易数据。在消除上述预设的标签锁之前,系统中的节点服务器无法直接对该数据进行处理。当然,需要说明的是,上述所列举的基于redis分布式锁的标签锁只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以使用其他类型的分布式锁作为上述预设的标签锁。
在一个实施例中,上述交易类型具体可以包括以下至少之一:外汇交易、贵金属交易、期货交易等。当然,上述所列举的交易类型只是一种示意性说明。具体实施时,根据具体的业务场景和处理需要,还可以引入除上述所列举的交易类型以外其他的数据类型作为交易类型。对此,本说明书不作限定。
在一个实施例中,上述交易要素具体可以包括以下至少之一:交易数据的发起者、交易数据所涉及的交易对手、交易数据所涉及的产品品种等。当然,上述所列举的交易要素只是一种示意性说明。具体实施时,根据具体的业务场景和处理需要,还可以引入除上述所列举的交易要素以外其他的信息要素作为交易要素。
其中,上述交易要素的组合可以用于指示某一个交易类型的交易数据具体的数据处理。例如,通过目标交易数据的交易要素的组合,可以区分出目标交易数据是针对外汇交易的卖出处理,还是针对外汇交易的买入处理等。
在一个实施例中,具体实施之前,可以预先根据分布式系统中所包含的各个节点服务器的处理性能、运行状态等特征,结合不同交易类型的交易数据的不同种类的数据处理过程的处理特点和处理要求,从多个节点服务器中分别为不同交易类型的交易数据的不同种类的数据处理找到适合的节点服务器,并在该节点服务器上设置相应的标签信息,以指示出该节点服务器所适用的交易类型,以及所适用的交易类型的交易数据的具体数据处理类型。
在一个实施例中,具体实施时,第一节点服务器可以先对所接收到的目标交易数据进行解析处理,以确定出该目标交易数据的交易类型;对目标交易数据进行数据拆解,从所述目标交易数据中提取出交易要素。
在一个实施例中,具体实施时,第一节点服务器可以先根据目标交易数据的交易类型,通过检索系统中节点服务器的标签信息,找到与目标交易数据的交易类型匹配的,适用于目标交易数据所属的交易类型的节点服务器作为第二节点服务器。进一步,第一节点服务器可以根据目标交易数据的交易要素,通过检索系统中节点服务器的标签信息,找到与目标交易数据的交易要素匹配的,适用目标交易数据所属的交易类型中具体的某个数据处理的节点服务器作为第三节点服务器。这样第一节点服务器可以根据目标交易数据的交易类型,以及所涉及的具体的数据处理,从分布式系统中找到适合目标交易数据处理的第三节点服务器,以便后续能够通过上述节点服务器更加高效、准确地处理目标交易数据。
在一个实施例中,为了进一步提高目标交易数据的处理效率,第一节点服务器还可以根据预设的分配策略,结合第三节点服务器当前的负载情况,从多个第三节点服务器中进一步确定出当前处理目标交易数据具有相对更好的处理效率的节点服务器作为负责处理目标交易数据的目标节点服务器。其中,上述目标节点服务器具体可以理解为负责处理目标交易数据的节点服务器。
在一个实施例中,上述预设的分配策略具体可以理解为一种基于dubbo一致性负载均衡得到的分配策略。通过上述基于dubbo一致性负载均衡得到的分配策略,可以较为全面地考虑到当前各个第三节点服务器的具体负载情况,进而可以根据上述负载情况,找到能够同时保证目标交易数据的数据处理可以获得相对较高的处理效率,又不引起某个第三节点服务器过载的一个节点服务器作为最终负责处理目标交易数据的目标节点服务器。通过上述方式确定出的目标节点服务器不但能够进一步保证针对目标交易数据的数据处理效率,还有助于避免系统中的节点服务器出现过载,保证系统整体运行的安全性和稳定性。
在一个实施例中,具体实施时,第一节点服务器可以先获取预设时间段内的交易数据的分配记录;再根据上述预设时间段内的交易数据的分配记录,确定出能够反映出各个第三节点服务器当前负载情况的预设时间段内各个第三节点服务器的交易数据的分配量(或者第三节点服务器的数据处理流量);再根据预设的分配策略、所述预设时间段内各个第三节点服务器的交易数据的分配量,从所述多个第三节点服务器中确定出目标节点服务器。
在一个实施例中,上述预设时间段具体可以是最近一小时,也可以是最近的十分钟等,具体实施时,可以根据具体情况和精度要求,灵活设置上述预设时间段的具体时长。
在一个实施例中,上述第一节点服务器每次在对外分配交易数据时,都记录下分配交易数据的时间点、所分配的节点服务器等信息,以生成分配记录。
在一个实施例中,具体实施时,第一节点服务器可以根据预设时间段内各个第三节点服务器的交易数据的分配量来预估各个第三节点服务器当前的负载情况。例如,预估各个第三节点服务器当前的数据处理任务是否已经饱和,或者预估各个第三节点服务器如果处理目标交易数据需要耗费多少时长等。进而可以利用上述预设的分配策略,根据各个第三节点服务器当前的负载情况,从多个第三节点服务器中进一步匹配到当前不能适合处理目标交易数据,还能够保证以相对较高的处理效率来处理目标交易数据的节点服务器作为目标节点服务器。
在一些实施例中,具体实施时,第一节点服务器除了可以根据基于dubbo一致性负载均衡的分配策略(或者基于dubbo一致性哈希负载均衡的分配策略)来确定目标节点服务器外,还可以结合预设的记忆算法和/或预测模型,更加精准地找到目标节点服务器。
在一些实施例中,第一节点服务器在按照上述方式确定出目标节点服务器后,进一步可以通过有线或无线的方式,将设置有的预设的标签锁的目标交易数据发送给目标节点服务器。
在一些实施例中,目标节点服务器在接收到设置有预设的标签锁的目标交易数据后,不会直接对目标交易数据进行处理,而是会先判断当前是否要取消设置在目标交易数据上的预设的标签锁。
在一些实施例中,具体实施时,目标节点服务器可以先获取与目标交易数据的关联信息;再根据所述关联信息,和预设的处理规则确定当前是否要取消设置在目标交易数据上的预设的标签锁。
在一些实施例中,上述关联信息具体可以包括与目标交易数据关联的在先交易数据的处理进度等。其中,上述与目标交易数据关联的在先交易数据具体可以理解为一种需要在处理目标交易数据处理之前处理掉的交易数据。
在一些实施例中,具体实施时,目标节点服务器可以与系统中的负责处理相同交易类型的除目标节点服务器以外的其他第二节点服务器定期(例如每隔1分钟等)进行数据交互,以定期更新其他第二节点服务器上的交易数据的处理记录。
目标节点服务器在接收到目标交易数据后,可以先根据目标交易数据的身份标识,检索最新收到的其他第二节点服务器的交易数据的处理记录,以确定在其他第二节点服务器上是否存在与目标交易数据关联的在先交易数据。
在确定在其他第二节点服务器上不存在与目标交易数据关联的在先交易数据的情况下,目标节点服务器可以取消原先设置在目标交易数据上的预设的标签锁,对目标交易数据进行解锁处理。进一步,可以将目标交易数据加入目标节点服务器的有序任务队列中,按照有序任务队列的处理排序,处理目标交易数据。
其中,上述有序任务队列可以理解为已经确定可以处理的交易数据,按照接收时间的先后顺序排列等待目标节点服务器处理的任务队列。
在确定在其他第二节点服务器上存在与目标交易数据关联的在先交易数据的情况下,目标节点服务器可以进一步根据其他第二节点服务器上的交易数据的处理记录,确定该在先交易数据是否已经处理结束。在确定在先交易数据处理结束的情况下,目标节点服务器可以取消原先设置在目标交易数据上的预设的标签锁,对目标交易数据进行解锁处理。进一步,可以将目标交易数据加入目标节点服务器的有序任务队列中,再按照有序任务队列的处理排序,处理目标交易数据。
在确定在其他第二节点服务器上存在与目标交易数据关联的在先交易数据的情况下,并且根据其他第二节点服务器上的交易数据的处理记录,确定该在先交易数据目前还没有处理结束。这时,目标节点服务器不会取消设置在目标交易数据上的预设的标签锁,因此也无法对该目标交易数据进行具体处理。同时,目标节点服务器还会将该目标交易数据加入无序任务队列中。暂时不对目标交易数据处理。
其中,上述无序任务队列可以理解为已经确定暂时不能处理的交易数据,按照接收时间的先后顺序排列等待进一步确定是否能处理的任务队列。
进一步,目标节点服务器会等待接收下一次更新的其他第二节点服务器上的交易数据的处理记录。如果根据下一次更新的其他第二节点服务器上的交易数据的处理记录,确定在先交易数据已经处理结束,则可以取消目标交易数据上的预设的标签锁,并将上述目标交易数据由无序任务队列转移到有序任务队列中,按照有序任务队列的处理排序进行处理。相反,如果根据下一次更新的其他第二节点服务器上的交易数据的处理记录,确定在先交易数据还没有处理结束,可以继续保持目标交易数据上的预设的标签锁,继续等待下一次更新的交易数据处理记录。
在本申请实施例中,相较于现有方法,第一节点服务器在接收到待处理的目标交易数据后,先为该目标交易数据设置基于redis分布式锁的预设的标签锁,并根据基于dubbo一致性负载均衡的预设的分配策略,结合目标交易数据的交易类型和交易要素,从分布式系统的多个节点服务器中智能地确定出匹配的适合于处理目标交易数据的目标节点服务器,再将上述设置有预设的标签锁的目标交易数据发送至对应的目标节点服务器;目标节点服务器在接收到目标交易数据后,可以确定并根据该目标交易数据的关联信息,以及预设的处理规则,通过确定是否取消预设的标签锁,对目标交易数据进行有序处理。通过上述方式可以将dubbo一致性负载均衡和redis分布式锁相结合,准确地从多个节点服务器中找到适合处理目标交易数据,且处理效率相对较高的目标节点服务器;再由目标节点服务器基于目标交易数据上设置的预设的标签锁对目标交易数据进行有序处理,从而可以有效地解决现有方法中存在的无法同时兼顾数据处理效率和处理的有序性的技术问题,达到能高效、有序地处理大批量的交易数据的技术效果。
本申请还提供了另一种的交易数据的处理方法,具体可以参阅图2所示。该方法具体可以应用于第一节点服务器一侧。具体实施时,该方法可以包括以下内容。
S201:接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁。
S202:确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略。
S203:将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据目标交易数据的关联信息和预设的处理规则,有序处理所述目标交易数据。
在一个实施例中,所述交易类型具体可以包括以下至少之一:外汇交易、贵金属交易、期货交易等。
在一个实施例中,所述交易要素具体可以包括以下至少之一:交易数据的发起者、交易数据所涉及的交易对手、交易数据所涉及的产品品种等。
在一个实施例中,所述根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器,具体实施时,可以包括以下内容:根据所述目标交易数据的交易类型,从多个节点服务器中筛选出与目标交易数据的交易类型匹配的多个节点服务器,作为第二节点服务器;根据所述目标交易数据的交易要素,从多个第二节点服务器中筛选出与目标交易数据的交易要素匹配的多个节点服务器,作为第三节点服务器;根据所述预设的分配策略,从所述多个第三节点服务器中确定出目标节点服务器。
在一个实施例中,所述根据所述预设的分配策略,从所述多个第三节点服务器中确定出目标节点服务器,具体实施时,可以包括以下内容:获取预设时间段内的交易数据的分配记录;根据所述预设时间段内的交易数据的分配记录,确定预设时间段内各个第三节点服务器的交易数据的分配量;根据所述预设的分配策略、所述预设时间段内各个第三节点服务器的交易数据的分配量,从所述多个第三节点服务器中确定出目标节点服务器。
在一个实施例中,具体实施时,还可以接收用户根据交易类型、交易要素等自定义设置的配置参数;进而可以根据上述配置参数,生成符合用户自定义要求的,基于dubbo一致性负载均衡的预设的分配策略。相应的,可以根据上述预设的分配策略,来确定目标节点服务器,分配目标交易数据,从而满足用户的多样化的个性要求。
在一个实施例中,具体实施时,在生成预设的分配策略后,可以将该预设的分配策略加载到缓存中,以便可以更加高效地调用预设的分配策略来确定目标节点服务器,进一步提高处理效率。
本申请还提供了另一种交易数据的处理方法,具体可以参阅图3所示。该方法具体可以应用于第一节点服务器一侧。具体实施时,该方法可以包括以下内容。
S301:接收设置有预设的标签锁的目标交易数据;其中,所述预设的标签锁包括基于redis分布式锁的标签锁。
S302:根据所述目标交易数据,获取关联信息。
S303:根据所述关联信息,和预设的处理规则,确定当前是否消除所述预设的标签锁。
S304:在确定当前消除所述预设的标签锁的情况下,消除设置在所述目标交易数据的预设的标签锁。
S305:将所述目标交易数据加入有序任务队列,并按照有序任务队列的处理排序,处理所述目标交易数据。
在一个实施例中,所述方法具体实施时,还可以包括以下内容:在确定当前不能消除所述预设的标签锁的情况下,保留所述预设的标签锁,并将所述目标交易数据加入无序任务队列。
在一个实施例中,所述方法具体实施时,还可以接收用户根据具体情况自定义设置的处理参数,并根据上述处理参数更新预设的处理规则,进而可以根据更新后的预设的处理规则,处理目标交易数据,以满足不同用户多样化的处理要求。
从以上的描述中,可以看出,本申请实施例提供的交易数据的处理方法,通过第一节点服务器在接收到待处理的目标交易数据后,先为该目标交易数据设置基于redis分布式锁的预设的标签锁,并根据基于dubbo一致性负载均衡的预设的分配策略,结合目标交易数据的交易类型和交易要素,从分布式系统的多个节点服务器中智能地确定出匹配的适合于处理目标交易数据的目标节点服务器,再将上述设置有预设的标签锁的目标交易数据发送至对应的目标节点服务器;目标节点服务器在接收到目标交易数据后,可以确定并根据该目标交易数据的关联信息,以及预设的处理规则,通过确定是否取消预设的标签锁,对目标交易数据进行有序处理。通过上述方式可以将dubbo一致性负载均衡和redis分布式锁相结合,准确地从多个节点服务器中找到适合处理目标交易数据,且处理效率相对较高的目标节点服务器;再由目标节点服务器基于目标交易数据上设置的预设的标签锁对目标交易数据进行有序处理,从而可以有效地解决现有方法中存在的无法同时兼顾数据处理效率和处理的有序性的技术问题,达到能高效、有序地处理大批量的交易数据的技术效果。
基于同一发明构思,本申请实施例中还提供了一种交易数据的处理装置,如下面的实施例所述。由于交易数据的处理装置解决问题的原理与交易数据的处理方法相似,因此交易数据的处理装置的实施可以参见交易数据的处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。请参阅图4所示,是本申请实施例提供的交易数据的处理装置的一种组成结构图,该装置具体可以包括:接收模块401、确定模块402和发送模块403,下面对该结构进行具体说明。
接收模块401,具体可以用于接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;
确定模块402,具体可以用于确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;
发送模块403,具体可以用于将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据目标交易数据的关联信息和预设的处理规则,有序处理所述目标交易数据。
在一个实施例中,所述交易类型具体可以包括以下至少之一:外汇交易、贵金属交易、期货交易等。
在一个实施例中,所述交易要素具体可以包括以下至少之一:交易数据的发起者、交易数据所涉及的交易对手、交易数据所涉及的产品品种等。
在一个实施例中,所述确定模块402具体实施时,可以用于根据所述目标交易数据的交易类型,从多个节点服务器中筛选出与目标交易数据的交易类型匹配的多个节点服务器,作为第二节点服务器;根据所述目标交易数据的交易要素,从多个第二节点服务器中筛选出与目标交易数据的交易要素匹配的多个节点服务器,作为第三节点服务器;根据所述预设的分配策略,从所述多个第三节点服务器中确定出目标节点服务器。
在一个实施例中,所述确定模块402具体实施时,还可以用于获取预设时间段内的交易数据的分配记录;根据所述预设时间段内的交易数据的分配记录,确定预设时间段内各个第三节点服务器的交易数据的分配量;根据所述预设的分配策略、所述预设时间段内各个第三节点服务器的交易数据的分配量,从所述多个第三节点服务器中确定出目标节点服务器。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,在本说明书中,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
此外,在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
从以上的描述中,可以看出,本申请实施例提供的交易数据的处理装置,可以有效地解决现有方法中存在的无法同时兼顾数据处理效率和处理的有序性的技术问题,达到能高效、有序地处理大批量的交易数据的技术效果。
本申请还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据目标交易数据的关联信息和预设的处理规则,有序处理所述目标交易数据。
为了能够更加准确地完成上述指令,参阅图5所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口501、处理器502以及存储器503,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口501,具体可以用于接收待处理的目标交易数据。
所述处理器502,具体可以用于为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略。
所述网络通信端口501,具体还可以用于将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据目标交易数据的关联信息和预设的处理规则,有序处理所述目标交易数据。
所述存储器503,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口501可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器502可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器503可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本申请实施例还提供了一种基于交易数据的处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据目标交易数据的关联信息和预设的处理规则,有序处理所述目标交易数据。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
在一个具体实施场景示例中,可以应用本申请实施例提供的交易数据的处理方法和装置进行大批量的交易数据的处理。具体实施,可以参阅以下内容。
为了解决在保证分布式体系下金融市场交易数据处理有序性时所存在的配置繁琐单一、效率低下等问题,提出了一种基于分布式体系下金融市场交易数据的有序处理方法,通过采用dubbo一致性负载均衡与redis分布式锁相结合的策略,优化负载均衡,注入记忆算法,智能化定义锁缓存结构,将效率与有序达到一个最佳平衡点。
具体实施时,所使用的负责交易数据处理的系统可以包括:交易接入装置1、交易规则(例如,预设的分配策略、预设的处理规则等)定义装置2、交易处理装置3、数据存储装置4。其中,交易规则定义装置2分别与交易接入装置1、交易处理装置3以及数据存储装置4相连接,交易处理装置3与数据存储装置4相连接。
其中,交易接入装置1:交易数据接入的入口装置,可以根据基于dubbo一致性hash负载均衡策略(例如,预设的分配策略),结合注入记忆算法,通过流量、策略等多维度接入匹配规则,智能调整交易接入策略进行分配,并为交易数据设置特定标签(例如,预设的标签锁)。
比如同一类型的交易,可通过判断单位时间内流量等自适应算法,判定是否可再次转发分配到同一节点(例如节点服务器),并打上特定标签。其中,所使用到的主要配置信息具体可以参阅图8所示。
交易规则定义装置2:交易规则定义装置,交易数据处理过程中,用户可通过交易要素,自定义交易有序匹配规则,通过动态指令动态加载到缓存,也可以通过数据存储装置获取匹配规则。其中,所涉及到的主要交易要素参考具体可以参阅图9所示。
交易处理装置3:交易处理装置,根据交易接入装置的交易特定标签,以及交易规则定义装置的交易有序匹配规则,区分有序处理队列(例如,有序任务队列)和无序处理队列(例如,无序任务队列)。同时,有序处理队列还可以有根据规则划分成多个子队列,通过分布式锁构件有效性机制,保证分类交易有序处理情况下的高效执行。
数据存储装置4:数据存储装置与交易规则定义装置和交易处理装置相连,用于交易有序匹配规则的存储,以及用于交易数据的存储。
进一步,交易接入该装置1具体可以包括交易解析单元11、交易匹配单元12、交易标记单元13。其中,交易解析单元11,用于解析交易信息中的交易概要信息,组装成交易匹配单元12所需要执行时的配置信息。交易匹配单元12,用于执行交易解析单元11输入的参数配置信息,准备不同规则匹配工作。比如用户配置为高并发量下通过交易类型随机分配下一处理节点,那么该匹配规则需传递给交易标记单元13。交易标记单元13,用于解析交易匹配单元12传递的规则信息,对交易打上特定化标签,供下一阶段流程解读匹配使用。
交易规则定义装置2包括交易有序规则生成单元22、交易有序规则匹配单元23。其中,交易有序规则生成单元22,用于支持用户根据自定义的一系列交易要素,结合交易本身,生成一种交易有序规则。交易有序规则匹配单元23用于根据交易有序规则生成单元22提供的交易有序规则,动态调整分布式锁缓存,用于交易匹配。
交易处理装置3具体可以包括交易标签识别单元31、交易路由单元32、交易有序处理单元33。其中,交易标签识别单元31,用于根据交易接入装置提供的交易特定标签,识别交易处理方式。交易路由单元32,用于通过交易标签识别单元31识别出交易处理方式,通过路由功能将交易转到不同的处理队列,比如有序处理队列、无序处理队列等。交易有序处理单元33,用于通过交易路由单元32,以及交易有序规则匹配单元23相结合,系统通过分布式锁构件机制,对分类交易进行有序性处理。
数据存储装置4具体可以包括交易规则数据预录入单元41、交易规则数据输出单元42。其中,交易规则数据预录入单元41,用于用户可自定义各类规则的交易规则数据,预先录入到系统中,供数据降级使用。交易规则数据输出单元42,用于通过交易规则数据预录入单元41录入的规则数据,提供给交易规则定义装置使用。
在一个场景示例中,具体实施时,可以参阅图6所示,利用上述系统对接入的交易数据进行如下处理。
步骤S601:利用交易解析单元11对接入交易进行格式、交易类型等要素拆解。
步骤S602:利用交易匹配单元12将交易解析单元11接入的请求进行交易接入规则匹配。
步骤S603:利用交易标记单元13对交易进行标签化处理。
步骤S604:利用交易规则定义装置提前生成有序规则,对进入交易进行有序规则匹配。
步骤S605:交易处理装置对通过交易标记单元13的标签、以及交易规则定义装置的有序规则,进行分类处理。
步骤S606:数据存储装置支持有序规则预录入,并存储交易信息。
步骤S607:结束。
在另一个场景示例中,具体实施时,可以参阅图7所示,利用上述系统对接入的交易数据进行如下处理。
步骤S701:交易请求接到系统,交易解析单元11对交易进行格式、交易类型等要素进行解析。
步骤S702:交易匹配单元12对交易进行接入规则匹配,打上特定标签,来判断需要有序处理还是无序处理。
步骤S703:交易规则定义装置动态生成有序规则,通过交易有序规则匹配单元23对进入交易进行有序规则匹配。
步骤S704:交易处理装置通过交易有序规则匹配单元23,拆分不同有序队列,通过分布式锁构件进行分类有序控制。
步骤S705:交易有序处理单元33对交易进行有序处理。
步骤S706:数据存储装置支持有序规则预录入,并存储交易信息。
通过上述场景示例,验证了本申请实施例提供的交易数据处理方法和装置,确实能够利用智能算法及规则匹配精准定位服务,实现定制化负载均衡;还能能够提供灵活可配置化策略,更细粒度地定位有序规则,提升执行效率;还能够可控的数据存储降级方案,提升交易执行安全可靠性。
尽管本申请内容中提到不同的具体实施例,但是,本申请并不局限于必须是行业标准或实施例所描述的情况等,某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、处理、输出、判断方式等的实施例,仍然可以属于本申请的可选实施方案范围之内。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的实施方式包括这些变形和变化而不脱离本申请。
Claims (10)
1.一种交易数据的处理方法,其特征在于,所述方法应用于分布式系统,所述分布式系统包括多个节点服务器,所述方法包括:
第一节点服务器接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;所述第一节点服务器确定所述目标交易数据的交易类型和交易要素;所述第一节点服务器根据所述目标交易数据的交易类型、交易要素以及预设的分配策略,从多个节点服务器中确定出目标节点服务器,并将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述预设的标签锁包括基于redis分布式锁的标签锁,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;
所述目标节点服务器接收设置有预设的标签锁的目标交易数据,并根据所述目标交易数据,获取关联信息;所述目标节点服务器根据所述关联信息、预设的处理规则,确定当前是否消除所述预设的标签锁;所述目标节点服务器在确定当前消除所述预设的标签锁的情况下,消除所述预设的标签锁,并按照有序任务队列的处理排序,处理所述目标交易数据;所述关联信息包括与目标交易数据关联的在先交易数据的处理进度。
2.一种交易数据的处理方法,其特征在于,包括:
接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;
确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;
将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据所述关联信息、预设的处理规则,确定当前是否消除所述预设的标签锁;所述目标节点服务器在确定当前消除所述预设的标签锁的情况下,消除所述预设的标签锁,并按照有序任务队列的处理排序,处理所述目标交易数据;所述关联信息包括与目标交易数据关联的在先交易数据的处理进度。
3.根据权利要求2所述的方法,其特征在于,所述交易类型包括以下至少之一:外汇交易、贵金属交易、期货交易。
4.根据权利要求2所述的方法,其特征在于,所述交易要素包括以下至少之一:交易数据的发起者、交易数据所涉及的交易对手、交易数据所涉及的产品品种。
5.根据权利要求2所述的方法,其特征在于,所述根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器,包括:
根据所述目标交易数据的交易类型,从多个节点服务器中筛选出与目标交易数据的交易类型匹配的多个节点服务器,作为第二节点服务器;
根据所述目标交易数据的交易要素,从多个第二节点服务器中筛选出与目标交易数据的交易要素匹配的多个节点服务器,作为第三节点服务器;
根据所述预设的分配策略,从多个第三节点服务器中确定出目标节点服务器。
6.根据权利要求5所述的方法,其特征在于,所述根据所述预设的分配策略,从所述多个第三节点服务器中确定出目标节点服务器,包括:
获取预设时间段内的交易数据的分配记录;
根据所述预设时间段内的交易数据的分配记录,确定预设时间段内各个第三节点服务器的交易数据的分配量;
根据所述预设的分配策略、所述预设时间段内各个第三节点服务器的交易数据的分配量,从所述多个第三节点服务器中确定出目标节点服务器。
7.一种交易数据的处理方法,其特征在于,应用于目标节点服务器,包括:
接收设置有预设的标签锁的目标交易数据;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;所述目标节点服务器由第一节点服务器根据所述目标交易数据的交易类型、交易要素以及预设的分配策略,从多个节点服务器中确定出的,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;
根据所述目标交易数据,获取关联信息;所述关联信息包括与目标交易数据关联的在先交易数据的处理进度;
根据所述关联信息和预设的处理规则,确定当前是否消除所述预设的标签锁;
在确定当前消除所述预设的标签锁的情况下,消除设置在所述目标交易数据的预设的标签锁;
将所述目标交易数据加入有序任务队列,并按照有序任务队列的处理排序,处理所述目标交易数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在确定当前不能消除所述预设的标签锁的情况下,保留所述预设的标签锁,并将所述目标交易数据加入无序任务队列。
9.一种交易数据的处理装置,其特征在于,包括:
接收模块,用于接收待处理的目标交易数据,并为所述目标交易数据设置预设的标签锁;其中,所述预设的标签锁包括基于redis分布式锁的标签锁;
确定模块,用于确定所述目标交易数据的交易类型和交易要素,并根据所述目标交易数据的交易类型、交易要素和预设的分配策略,从多个节点服务器中确定出目标节点服务器;其中,所述预设的分配策略包括基于dubbo一致性负载均衡的分配策略;
发送模块,用于将设置有预设的标签锁的目标交易数据发送至目标节点服务器;其中,所述目标节点服务器用于获取目标交易数据的关联信息,并根据所述关联信息、预设的处理规则,确定当前是否消除所述预设的标签锁;所述目标节点服务器在确定当前消除所述预设的标签锁的情况下,消除所述预设的标签锁,并按照有序任务队列的处理排序,处理所述目标交易数据;所述关联信息包括与目标交易数据关联的在先交易数据的处理进度。
10.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求2至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010563618.4A CN111737274B (zh) | 2020-06-19 | 2020-06-19 | 交易数据的处理方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010563618.4A CN111737274B (zh) | 2020-06-19 | 2020-06-19 | 交易数据的处理方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737274A CN111737274A (zh) | 2020-10-02 |
CN111737274B true CN111737274B (zh) | 2023-08-08 |
Family
ID=72650191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010563618.4A Active CN111737274B (zh) | 2020-06-19 | 2020-06-19 | 交易数据的处理方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737274B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116128641B (zh) * | 2022-12-07 | 2023-10-17 | 申万宏源证券有限公司 | 一种竞价交易与非竞价交易分离的分布式证券交易系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107105064A (zh) * | 2017-06-02 | 2017-08-29 | 上海艾融软件股份有限公司 | 一种交易信息的推送方法及系统 |
CN111145028A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 分布式文本预检方法和装置 |
CN111181865A (zh) * | 2019-12-11 | 2020-05-19 | 天翼电子商务有限公司 | 一种基于业务的流量分发方法及系统、存储介质及终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025559B (zh) * | 2017-01-26 | 2020-09-18 | 创新先进技术有限公司 | 一种业务处理方法及装置 |
-
2020
- 2020-06-19 CN CN202010563618.4A patent/CN111737274B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107105064A (zh) * | 2017-06-02 | 2017-08-29 | 上海艾融软件股份有限公司 | 一种交易信息的推送方法及系统 |
CN111181865A (zh) * | 2019-12-11 | 2020-05-19 | 天翼电子商务有限公司 | 一种基于业务的流量分发方法及系统、存储介质及终端 |
CN111145028A (zh) * | 2019-12-31 | 2020-05-12 | 中国银行股份有限公司 | 分布式文本预检方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111737274A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN102147746B (zh) | 动态线程池管理系统及管理方法 | |
US7450008B2 (en) | Sending service data to an RFID tag while an attached computer system is powered off | |
CN108319496B (zh) | 资源访问方法、业务服务器、分布式系统及存储介质 | |
CN104065636B (zh) | 数据处理方法和系统 | |
CN110188110B (zh) | 一种构建分布式锁的方法及装置 | |
JPH11259443A (ja) | クライアント要求をスケジュ―ルしディスパッチする装置及び方法 | |
EP3295293B1 (en) | Thread safe lock-free concurrent write operations for use with multi-threaded in-line logging | |
CN110597531A (zh) | 分布式的模块升级方法、装置及存储介质 | |
CN109218385B (zh) | 处理数据的方法和装置 | |
US7606906B2 (en) | Bundling and sending work units to a server based on a weighted cost | |
CN104618304A (zh) | 数据处理方法及数据处理系统 | |
CN111490963A (zh) | 基于quic协议栈的数据处理方法、系统、设备及存储介质 | |
CN115421922A (zh) | 一种分布式系统的限流方法、装置、设备、介质及产品 | |
CN111737274B (zh) | 交易数据的处理方法、装置和服务器 | |
CN110838987B (zh) | 队列限流方法、存储介质 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
CN111949681A (zh) | 数据的聚合处理装置、方法和存储介质 | |
JP2005128866A (ja) | 計算機装置及び計算機装置の制御方法 | |
CN110069217A (zh) | 一种数据存储方法及装置 | |
CN113364857A (zh) | 业务数据的处理方法、装置和服务器 | |
CN111752961A (zh) | 一种数据处理方法及装置 | |
CN111259045A (zh) | 一种数据处理方法、装置、服务器及介质 | |
CN116775231A (zh) | 业务处理方法、业务处理装置、电子设备和存储介质 | |
US9098613B2 (en) | Logging of application messages |
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 |