CN112598517B - 面向大规模并发请求的电子商务交易撮合方法及系统 - Google Patents

面向大规模并发请求的电子商务交易撮合方法及系统 Download PDF

Info

Publication number
CN112598517B
CN112598517B CN202011548137.2A CN202011548137A CN112598517B CN 112598517 B CN112598517 B CN 112598517B CN 202011548137 A CN202011548137 A CN 202011548137A CN 112598517 B CN112598517 B CN 112598517B
Authority
CN
China
Prior art keywords
buyer
transaction
memory
circular buffer
seller
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
Application number
CN202011548137.2A
Other languages
English (en)
Other versions
CN112598517A (zh
Inventor
张庆
崔旭
岳涛
李奕
管绍朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Linyi Xinshang Network Technology Co ltd
Original Assignee
Linyi Xinshang Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Linyi Xinshang Network Technology Co ltd filed Critical Linyi Xinshang Network Technology Co ltd
Priority to CN202011548137.2A priority Critical patent/CN112598517B/zh
Publication of CN112598517A publication Critical patent/CN112598517A/zh
Application granted granted Critical
Publication of CN112598517B publication Critical patent/CN112598517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

本发明公开了面向大规模并发请求的电子商务交易撮合方法及系统,包括:获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;对每个买方终端设置唯一的序列号,并设置序列障碍;采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。解决了传统队列的CPU伪共享、有锁编程、独立线程之间数据交换低效的问题。设计一种电子商务交易撮合方法及引擎,基于该引擎开发的系统单线程能支撑每秒500万订单。

Description

面向大规模并发请求的电子商务交易撮合方法及系统
技术领域
本申请涉及数据处理技术领域,特别是涉及面向大规模并发请求的电子商务交易撮合方法及系统。
背景技术
本部分的陈述仅仅是提到了与本申请相关的背景技术,并不必然构成现有技术。
快节奏的现代信息社会以“高效”为标签,商务活动也是如此,便利、快捷、省时成为交易主体的商业理念。尤其是计算机网络的应用普及,逐渐缩小了传统的时空局限,再加上现代企业制度的不断完善、金融支付手段的创新、信息处理技术的进步、电子安全交易协议的制定、通信技术的发达、网民的指数级增长等外部环境因素的推波助澜,传统商务的传统经营交易模式俨然已经不能满足人们的消费节奏和消费要求,忙碌的上班族不可能在下班后去商场购物,企业间不可能钱货一手交易,作为传统商务流程的延伸和创新,人文环境、科技环境、商业环境催生孕育除了电子商务。电子商务突破传统商务面对面交易的局限,消费者只需要一台电脑,足不出户就可以获得全球各个地区的商品信息并进行购买。电子商务不仅对传统的消费模式产生了深远的影响,而且正在引起整个社会经济获得产生重大的变革。
交易撮合是指卖方在交易市场委托销售定单/销售应单、买方在交易委托购买定单/购买定单,交易市场按照价格优先、时间优先的原则确定双方成交价格并生成交易合同,并按照交易定单制定的交割仓库进行实物交割的交易方式。原本交易撮合是一种应用于国际或国内的期货、证券或股票的一种交易模式。近年来,随着电子商务的快速规模性发展,商家与购买者在各大电子商务平台上进行的交易就是一种撮合模式。
然而,电子商务的撮合交易对平台系统的性能要求较高。电子商务平台需要能够应付大规模并发请求的情况,能够支持千人以上的在线提交订单,支持万人以上同时在线浏览行情和咨询信息。在交易达到最大峰值时,系统相应的运行速度仍然在可接受的范围之内,能海量存储信息并进行管理。传统的队列结构存在CPU伪共享、有锁编程、线程之间数据交换低效的问题。
发明内容
为了解决现有技术的不足,本申请提供了面向大规模并发请求的电子商务交易撮合方法及系统;
第一方面,本申请提供了面向大规模并发请求的电子商务交易撮合方法;
面向大规模并发请求的电子商务交易撮合方法,包括:
获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;
对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;
对每个买方终端设置唯一的序列号,并设置序列障碍;
采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。
第二方面,本申请提供了面向大规模并发请求的电子商务交易撮合系统;
面向大规模并发请求的电子商务交易撮合系统,包括:
获取模块,其被配置为:获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;
存储模块,其被配置为:对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;
设置模块,其被配置为:对每个买方终端设置唯一的序列号,并设置序列障碍;
交易冲突解决模块,其被配置为:采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。
第三方面,本申请还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
第五方面,本申请还提供了一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现前述第一方面任意一项的方法。
与现有技术相比,本申请的有益效果是:
1.解决了传统队列的CPU伪共享、有锁编程、独立线程之间数据交换低效的问题。
2.设计一种电子商务交易撮合方法及引擎,基于该引擎开发的系统单线程能支撑每秒500万订单。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为第一个实施例的方法流程图;
图2为第一个实施例的传统队列的锁的机制;
图3为第一个实施例的CAD原理示意图;
图4为第一个实施例的不同线程下有锁、无锁、CAS的计数器循环自增5亿次的时间消耗对比;
图5为第一个实施例的首尾相接的环形数组图;
图6为第一个实施例的循环缓冲区的数据写入示意;
图7为第一个实施例的缓存伪共享;
图8为第一个实施例的并行读写示意图;
图9为第一个实施例的电子商务交易撮合系统的买方、卖方模型;
图10为第一个实施例的电子商务交易撮合系统的全链流程图;
图11为第一个实施例的电子商务交易撮合系统的内屏屏障的设置;
图12为第一个实施例的多个卖方情况下,买方消费过程示意图;
图13为第一个实施例的多个买方情况下,卖方生产过程示意图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
现代信息技术的不断发展,便利、快捷的商业理念的逐渐萌发,电子商务应运而生。电子商务中的商家与购买者在各大电子商务平台上的交易实质上是一种交易撮合模式。电子商务交易撮合要求系统支持大规模并发性操作。传统的队列结构存在CPU伪共享、有锁编程、线程之间数据交换效率低的问题,无法支撑电子商务交易撮合系统。因此,为了解决传统队列结构存在的问题,本发明设计一种一种电子商务交易撮合系统。
实施例一
本实施例提供了面向大规模并发请求的电子商务交易撮合方法;
如图1所示,面向大规模并发请求的电子商务交易撮合方法,包括:
S101:获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;
S102:对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;
S103:对每个买方终端设置唯一的序列号,并设置序列障碍;
S104:采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。
示例性的,所述卖方终端的基本信息,包括:卖方终端编号、商品名称、商品类型和商品编号。
示例性的,所述买方终端的基本信息,包括:买方终端编号、买方希望购买的商品名称、买方希望购买的商品类型和买方希望购买的商品编号。
作为一个或多个实施例,所述S102:对卖方终端信息和买方终端信息采用循环缓冲区进行存储;具体步骤包括:
通过CAS自增的方式为每个线程分配不同的数组空间;
将卖方终端信息和买方终端信息,存储到环形的地址块中。
所述采用循环缓冲区进行存储,是指:采用连续的内存块规避内存的伪共享的形式进行存储;采用环形的地址块,新产生的序列只覆盖,从而不用重复进行内存地址回收工作,达到提高效率的目的。
进一步地,所述循环缓冲区,是一个长度为2n的数组。
作为一个或多个实施例,所述采用连续的内存块规避内存的伪共享的形式进行存储;具体步骤包括:
让不同线程操作的对象处于不同的缓存行,即可缓存行填充,使一个对象占用的内存大小为64bytes或它的整倍数,以一种以空间换时间的方案,从而保证了一个缓存行里不会有多个对象。
所述S104:采用CAS操作替换锁操作,解决交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端;具体步骤包括:
CAS操作模式下,当CPU去更新一个交易值,但如果更新过程中交易值发生了变化,操作就失败,然后重试,直到更新成功;
采用CAS操作替换锁操作,解决交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。
如果遇到多个线程重复写同一个元素的问题,则通过CAS自增的方式为每个线程分配不同的数组空间;
在多个卖方的情况下,引入了一个与循环缓冲区大小相同的缓冲区:可用缓冲区;
当某个位置写入成功的时候,便把可用缓冲区相应的位置置位,标记为写入成功;读取的时候,通过遍历可用缓冲区,来判断元素是否已经就绪。
交易冲突,就是两个人看上了同一个商品,同一个商品的信息是存储在一个内存地址上的,如果不采用CAS替换锁操作,如果一个人只是简单的浏览商品,那么其他人就没办法去浏览这个商品了,是一个极端情况。
1.CAS替换锁操作
首先,解决了传统队列因为锁的机制导致电子商务交易撮合系统效率低下的问题。如图2所示,传统线程通常采用有锁的方式来保证系统的稳定,而锁的操作却带来了高额的时间消耗。
因此,本发明所提的采用CAS操作(Compare And Swap,比较和替换)来替换线程中锁的操作,从而大大提高内存使用的效率,如图3所示。CAS模式下,当CPU去更新一个值,但如果更新过程中值发生了变化,操作就失败,然后重试,直到更新成功。
例如一个计数器循环自增5亿次的场景,如图4所示,采用CAS的线程相较于无锁的线程的时间消耗略高,但却远低于有锁线程的时间消耗。多线程锁竞争导致的上下文切换时间成本远远大于了线程持有锁的性能损耗。同时,采用CAS的线程相较于无锁线程带来了更稳定的系统性能。
2.循环缓冲区
解决了传统队列需要频繁垃圾回收的问题。循环缓冲区,是一个长度为2n的数组,如图5所示。
采用位运算的方式,加快定位的速度。
内存地址采取递增的形式,不用担心指数溢出的问题。因为,指数是long类型,即使100万QPS的处理速度,也需要30万年才能用完。
持续向循环缓冲区写入数据,内存地址会一直增长,直到绕过整个环,如图6所示。新产生的序列只覆盖,相对于传统队列不需要频繁垃圾回收。
3.采用连续内存块规避缓存伪共享
计算机系统中为了解决主内存与CPU运行速度的差距,在CPU与主内存之间添加缓存(Cache)。CPU硬件级别缓存系统中是以缓存行为单位储存的,当多线程修改互相独立的变量时,如果这些变量共享同一个缓存行,就会影响彼此的性能,造成缓存的伪共享。
如图7所示,变量x,y同时被放到了CPU的一级和二级缓存,当线程1使用CPU 1对变量X进行更新时候,首先会修改CPU 1的一级缓存变量X的时候就只能去二级缓存区查找,这就破坏了一级缓存,而一级缓存比二级缓存更快。更坏的情况下如果CPU只有一级缓存,那么会导致频繁地直接访问主内存,增大系统开销。
区块数组队列有三个成员变量:
提取索引:出队元素下标;
写入索引:入队元素的下标;
Count:队列中元素的数量。
这三个变量很容易放到一个缓存行中,但是之间修改没有太多的关联。所以每次修改,都会使之前缓存的数据失效,需要从主存中重新读取,从而不能完全达到共享的效果。
让不同线程操作的对象处于不同的缓存行即可缓存行填充,使一个对象占用的内存大小刚好为64bytes或它的整倍数,以一种以空间换时间的方案,从而保证了一个缓存行里不会有多个对象。
4.提高独立线程之间数据交换的效率
多个卖方的情况下,会遇到“多个线程重复写同一个元素”的问题,如图8所示。通过CAS自增的方式为每个线程分配不同的数组空间。
在多个卖方的情况下,引入了一个与循环缓冲区大小相同的缓冲区:可用缓冲区。
当某个位置写入成功的时候,便把可用缓冲区相应的位置置位,标记为写入成功。读取的时候,会遍历可用缓冲区,来判断元素是否已经就绪。
买方保持一个自己的序列,每次累加后得到下一个序列,进而获取可访问的最大序列。
对于一个卖方,可访问的最大序列就是下一个序列到循环缓冲区当前游标的序列。
对于多个卖方,可访问的最大序列就是下一个序列到循环缓冲区当前游标之间,最大的连续的序列集。
当读写发生冲突的情况,将采用阻塞等待策略、繁忙等待策略、让步等待策略。
基于的电子商务交易撮合系统的买方、卖方模型如图9所示。
基于的电子商务交易撮合系统的全链流程图如图10所示。
基于的电子商务交易撮合系统的内屏屏障的设置如图11所示。买方获取循环缓冲区序列号,涉及到读冲突的缓存失效,C2在C1之后,C2拿到C1更新过的序列号之后,C2才能获取下一个序列号。内存屏障保证了他们之前的执行顺序,买方总能获取最新的序列号。内存屏障作为另一个CPU级的指令,没有锁那样大的开销,获得系统性能的提升。
电子商务交易撮合系统的多个卖方情况下,买方消费过程示意图,如图12所示。
电子商务交易撮合系统的多个买方,卖方生产过程示意图如图13所示。
实施例二
本实施例提供了基于循环缓冲区的电子商务交易撮合系统;
面向大规模并发请求的电子商务交易撮合系统,包括:
获取模块,其被配置为:获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;
存储模块,其被配置为:对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;
设置模块,其被配置为:对每个买方终端设置唯一的序列号,并设置序列障碍;
交易冲突解决模块,其被配置为:采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。
此处需要说明的是,上述获取模块、存储模块、设置模块和交易冲突解决模块对应于实施例一中的步骤S101至S104,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.面向大规模并发请求的电子商务交易撮合方法,其特征是,包括:
获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;
对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;
对每个买方终端设置唯一的序列号,并设置序列障碍;
采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端;
所述采用循环缓冲区进行存储,是指:采用连续的内存块规避内存的伪共享的形式进行存储;采用环形的地址块,新产生的序列只覆盖,从而不用重复进行内存地址回收工作,达到提高效率的目的;
所述采用连续的内存块规避内存的伪共享的形式进行存储;具体步骤包括:
让不同线程操作的对象处于不同的缓存行,即可缓存行填充,使一个对象占用的内存大小为64bytes或它的整倍数,以一种以空间换时间的方案,从而保证了一个缓存行里不会有多个对象。
2.如权利要求1所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,对卖方终端信息和买方终端信息采用循环缓冲区进行存储;具体步骤包括:
通过CAS自增的方式为每个线程分配不同的数组空间;
将卖方终端信息和买方终端信息,存储到环形的地址块中。
3.如权利要求1所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,所述循环缓冲区,是一个长度为2n的数组。
4.如权利要求1所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,采用CAS操作替换锁操作,解决交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端;具体步骤包括:
CAS操作模式下,当CPU去更新一个交易值,但如果更新过程中交易值发生了变化,操作就失败,然后重试,直到更新成功;
采用CAS操作替换锁操作,解决交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。
5.如权利要求4所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,如果遇到多个线程重复写同一个元素的问题,则通过CAS自增的方式为每个线程分配不同的数组空间;
在多个卖方的情况下,引入了一个与循环缓冲区大小相同的缓冲区:可用缓冲区;
当某个位置写入成功的时候,便把可用缓冲区相应的位置置位,标记为写入成功;读取的时候,通过遍历可用缓冲区,来判断元素是否已经就绪;
买方保持一个自己的序列,每次累加后得到下一个序列,进而获取可访问的最大序列;
对于一个卖方,可访问的最大序列就是下一个序列到循环缓冲区当前游标的序列;
对于多个卖方,可访问的最大序列就是下一个序列到循环缓冲区当前游标之间,最大的连续的序列集;
当读写发生冲突的情况,将采用阻塞等待策略、繁忙等待策略或让步等待策略。
6.面向大规模并发请求的电子商务交易撮合系统,其特征是,包括:
获取模块,其被配置为:获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;
存储模块,其被配置为:对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;
设置模块,其被配置为:对每个买方终端设置唯一的序列号,并设置序列障碍;
交易冲突解决模块,其被配置为:采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端;
所述采用循环缓冲区进行存储,是指:采用连续的内存块规避内存的伪共享的形式进行存储;采用环形的地址块,新产生的序列只覆盖,从而不用重复进行内存地址回收工作,达到提高效率的目的;
所述采用连续的内存块规避内存的伪共享的形式进行存储;具体步骤包括:
让不同线程操作的对象处于不同的缓存行,即可缓存行填充,使一个对象占用的内存大小为64bytes或它的整倍数,以一种以空间换时间的方案,从而保证了一个缓存行里不会有多个对象。
7.一种电子设备,其特征是,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-5任一项所述的方法。
CN202011548137.2A 2020-12-24 2020-12-24 面向大规模并发请求的电子商务交易撮合方法及系统 Active CN112598517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011548137.2A CN112598517B (zh) 2020-12-24 2020-12-24 面向大规模并发请求的电子商务交易撮合方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011548137.2A CN112598517B (zh) 2020-12-24 2020-12-24 面向大规模并发请求的电子商务交易撮合方法及系统

Publications (2)

Publication Number Publication Date
CN112598517A CN112598517A (zh) 2021-04-02
CN112598517B true CN112598517B (zh) 2022-08-23

Family

ID=75200769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011548137.2A Active CN112598517B (zh) 2020-12-24 2020-12-24 面向大规模并发请求的电子商务交易撮合方法及系统

Country Status (1)

Country Link
CN (1) CN112598517B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112669115A (zh) * 2020-12-31 2021-04-16 深圳市辰宝信息服务有限公司 大宗商品撮合交易系统及方法
CN113342836A (zh) * 2021-06-23 2021-09-03 平安普惠企业管理有限公司 同步数据处理方法、装置、计算机设备及存储介质
CN113986555B (zh) * 2021-11-10 2023-04-07 深圳前海微众银行股份有限公司 缓存优化方法、装置、设备及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735077A (zh) * 2015-04-01 2015-06-24 积成电子股份有限公司 一种使用环形缓存和环形队列实现udp高效并发的方法
CN105406999A (zh) * 2015-11-20 2016-03-16 福建星网锐捷安防科技有限公司 一对多数据分发方法和分发设备
CN106330764A (zh) * 2016-08-15 2017-01-11 北京蓝海讯通科技股份有限公司 管理数据缓冲的方法、应用及计算设备
CN106530080A (zh) * 2015-09-14 2017-03-22 成都娇子意航星科技有限公司 一种基于队列动态变化的可休眠交易撮合方法
CN110377606A (zh) * 2019-07-24 2019-10-25 福建威盾科技集团有限公司 高转水车数据结构读写方法
CN110929380A (zh) * 2019-10-25 2020-03-27 深圳市蘑菇财富技术有限公司 一种模拟炒股撮合系统和装置
CN111415229A (zh) * 2020-04-21 2020-07-14 昆明大棒客科技有限公司 基于区块链的电子商务交易方法、装置和设备
CN111985998A (zh) * 2020-08-19 2020-11-24 江苏经贸职业技术学院 一种电子商务交易架构与流程

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9806843D0 (en) * 1998-03-24 1998-05-27 Kal Software application development system
CN1959729A (zh) * 2006-11-20 2007-05-09 山东寿光蔬菜电子交易市场有限公司 一种电子撮合交易系统
CN101251917A (zh) * 2007-02-19 2008-08-27 高思兵 一种信息网络环境下集体议价式商品(服务)交易模式
CN101783000A (zh) * 2009-12-10 2010-07-21 重庆文迅网络科技有限公司 一种具有撮合交易功能的金属材料电子交易系统
CN111402050A (zh) * 2020-03-11 2020-07-10 北京价值互联科技有限公司 一种基于区块链的去中心撮合方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735077A (zh) * 2015-04-01 2015-06-24 积成电子股份有限公司 一种使用环形缓存和环形队列实现udp高效并发的方法
CN106530080A (zh) * 2015-09-14 2017-03-22 成都娇子意航星科技有限公司 一种基于队列动态变化的可休眠交易撮合方法
CN105406999A (zh) * 2015-11-20 2016-03-16 福建星网锐捷安防科技有限公司 一对多数据分发方法和分发设备
CN106330764A (zh) * 2016-08-15 2017-01-11 北京蓝海讯通科技股份有限公司 管理数据缓冲的方法、应用及计算设备
CN110377606A (zh) * 2019-07-24 2019-10-25 福建威盾科技集团有限公司 高转水车数据结构读写方法
CN110929380A (zh) * 2019-10-25 2020-03-27 深圳市蘑菇财富技术有限公司 一种模拟炒股撮合系统和装置
CN111415229A (zh) * 2020-04-21 2020-07-14 昆明大棒客科技有限公司 基于区块链的电子商务交易方法、装置和设备
CN111985998A (zh) * 2020-08-19 2020-11-24 江苏经贸职业技术学院 一种电子商务交易架构与流程

Also Published As

Publication number Publication date
CN112598517A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN112598517B (zh) 面向大规模并发请求的电子商务交易撮合方法及系统
CN100378655C (zh) 并行处理器中的多线程执行
US6996821B1 (en) Data processing systems and method for batching tasks of the same type in an instruction cache
US10853249B2 (en) Read and write sets for transactions of a multithreaded computing environment
WO2015164425A1 (en) Method and system of processing commodity object information
CN107230092B (zh) 账务处理方法、装置及服务器
JPH04505818A (ja) 並列多重糸データ処理システム
JPH08505725A (ja) 命令実行を制御するため命令にタグを割り当てるシステム及び方法
US20070142925A1 (en) Bundling database
CN108959620A (zh) 一种数据清洗方法及设备
US7606906B2 (en) Bundling and sending work units to a server based on a weighted cost
US20200272512A1 (en) Hardware for supporting os driven observation and anticipation based on more granular, variable sized observation units
CN109740083A (zh) 一种页面跳转的方法及装置
US20050268028A1 (en) Programmable parallel lookup memory
US8655775B1 (en) Method and system for merchant debit routing table change detection
US20220068075A1 (en) Methods and apparatuses for creating times card voucher and methods and apparatuses for writing off times card voucher
US9250977B2 (en) Tiered locking of resources
CN106204263B (zh) 交易运行控制方法和装置
US20090164729A1 (en) Sync-id for multiple concurrent sync dependencies in an out-of-order store queue
CN109325766A (zh) 基于多币种的跨境支付场景下的定价方法及装置
US20050240537A1 (en) Transaction Oriented Promotion Conflict Resolution
JPH01118956A (ja) データ処理装置
US20070088700A1 (en) Sending keys that identify changes to clients
WO2000010128A1 (en) Graphic request management system
CN113792056A (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