本发明专利技术公开了面向大规模并发请求的电子商务交易撮合方法及系统,包括:获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;对每个买方终端设置唯一的序列号,并设置序列障碍;采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。解决了传统队列的CPU伪共享、有锁编程、独立线程之间数据交换低效的问题。设计一种电子商务交易撮合方法及引擎,基于该引擎开发的系统单线程能支撑每秒500万订单。
【技术实现步骤摘要】
面向大规模并发请求的电子商务交易撮合方法及系统
本申请涉及数据处理
,特别是涉及面向大规模并发请求的电子商务交易撮合方法及系统。
技术介绍
本部分的陈述仅仅是提到了与本申请相关的
技术介绍
,并不必然构成现有技术。快节奏的现代信息社会以“高效”为标签,商务活动也是如此,便利、快捷、省时成为交易主体的商业理念。尤其是计算机网络的应用普及,逐渐缩小了传统的时空局限,再加上现代企业制度的不断完善、金融支付手段的创新、信息处理技术的进步、电子安全交易协议的制定、通信技术的发达、网民的指数级增长等外部环境因素的推波助澜,传统商务的传统经营交易模式俨然已经不能满足人们的消费节奏和消费要求,忙碌的上班族不可能在下班后去商场购物,企业间不可能钱货一手交易,作为传统商务流程的延伸和创新,人文环境、科技环境、商业环境催生孕育除了电子商务。电子商务突破传统商务面对面交易的局限,消费者只需要一台电脑,足不出户就可以获得全球各个地区的商品信息并进行购买。电子商务不仅对传统的消费模式产生了深远的影响,而且正在引起整个社会经济获得产生重大的变革。交易撮合是指卖方在交易市场委托销售定单/销售应单、买方在交易委托购买定单/购买定单,交易市场按照价格优先、时间优先的原则确定双方成交价格并生成交易合同,并按照交易定单制定的交割仓库进行实物交割的交易方式。原本交易撮合是一种应用于国际或国内的期货、证券或股票的一种交易模式。近年来,随着电子商务的快速规模性发展,商家与购买者在各大电子商务平台上进行的交易就是一种撮合模式。然而,电子商务的撮合交易对平台系统的性能要求较高。电子商务平台需要能够应付大规模并发请求的情况,能够支持千人以上的在线提交订单,支持万人以上同时在线浏览行情和咨询信息。在交易达到最大峰值时,系统相应的运行速度仍然在可接受的范围之内,能海量存储信息并进行管理。传统的队列结构存在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:获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;S本文档来自技高网...
【技术保护点】
1.面向大规模并发请求的电子商务交易撮合方法,其特征是,包括:/n获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;/n对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;/n对每个买方终端设置唯一的序列号,并设置序列障碍;/n采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。/n
【技术特征摘要】
1.面向大规模并发请求的电子商务交易撮合方法,其特征是,包括:
获取若干个卖方终端的基本信息;获取若干个买方终端的基本信息;
对卖方终端信息和买方终端信息采用循环缓冲区进行存储;所述循环缓冲区为环形的地址块;
对每个买方终端设置唯一的序列号,并设置序列障碍;
采用CAS操作替换锁操作,解决买方终端彼此之间存在的交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端。
2.如权利要求1所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,对卖方终端信息和买方终端信息采用循环缓冲区进行存储;具体步骤包括:
通过CAS自增的方式为每个线程分配不同的数组空间;
将卖方终端信息和买方终端信息,存储到环形的地址块中。
3.如权利要求1所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,所述采用循环缓冲区进行存储,是指:采用连续的内存块规避内存的伪共享的形式进行存储;采用环形的地址块,新产生的序列只覆盖,从而不用重复进行内存地址回收工作,达到提高效率的目的。
4.如权利要求1所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,所述循环缓冲区,是一个长度为2n的数组。
5.如权利要求3所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,所述采用连续的内存块规避内存的伪共享的形式进行存储;具体步骤包括:
让不同线程操作的对象处于不同的缓存行,即可缓存行填充,使一个对象占用的内存大小为64bytes或它的整倍数,以一种以空间换时间的方案,从而保证了一个缓存行里不会有多个对象。
6.如权利要求1所述的面向大规模并发请求的电子商务交易撮合方法,其特征是,采用CAS操作替换锁操作,解决交易冲突,形成交易数据;将形成的交易数据发送给卖方终端和买方终端;具体步骤包括:
CAS操作模式下,当CPU去更新一个交易值,但如果更新过程中交易值发生了变化,操作就失败,然后重试,直到更新成功;
采用CAS操作替换锁操...
【专利技术属性】
技术研发人员:张庆,崔旭,岳涛,李奕,管绍朋,
申请(专利权)人:临沂市新商网络技术有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。