CN112131251A - 竞价交易方法、装置、可读存储介质及电子设备 - Google Patents
竞价交易方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN112131251A CN112131251A CN202010623390.3A CN202010623390A CN112131251A CN 112131251 A CN112131251 A CN 112131251A CN 202010623390 A CN202010623390 A CN 202010623390A CN 112131251 A CN112131251 A CN 112131251A
- Authority
- CN
- China
- Prior art keywords
- order information
- information
- trading
- memory
- trade
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000002085 persistent effect Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000002035 prolonged effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000002688 persistence Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
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/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- 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/08—Auctions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Computational Linguistics (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明实施例公开了一种竞价交易方法、装置、可读存储介质及电子设备,若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,其中,所述第一买卖订单信息存储在内存和磁盘中;若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户;若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘中。从而使得在接收到用户的买卖请求信息后,直接从内存中读取数据,进而大大提升匹配过程中寻找匹配单的时间,降低了数据处理的延迟,进而提高了竞价交易的效率。
Description
技术领域
本发明涉计算机技术领域,具体而言,涉及一种竞价交易方法、装置、可读存储介质及电子设备。
背景技术
目前进行竞价交易的业务形态中,一般使用数据库进行匹配以促进、完成交易,即基于存储用户的交易记录的数据库中,获得用户的买卖单、价格、时间、数量等信息,针对用户的买卖单,根据价格、时间、数量进行买卖房之间的匹配,促进(撮合)完成买卖双方的价值交换,即依据价格、时间、数量在数据库中获取满足用户订单条件的匹配单。同时根据匹配规则更新用户订单和匹配单数量、状态并将用户订单和匹配单最新数量和状态回写数据库。
现有技术中,在一次匹配(撮合)中需要进行3次数据库的读写操作:1.读用户订单;2.根据条件筛选(读)匹配单;3.更新用户订单和匹配单,这些操作都是基于磁盘进行的读写 (Input/Output,IO)(输入/输出)操作。因为,磁盘读写效率低,特别是对于尤其是第三步(更新用户订单和匹配单)中对用户订单的写操作,会出现系统的瓶颈,其理由在于,在数据库的写过程中,需要进行数据的插入和索引的维护,需要进行大量的IO,因此,这是一次比较耗时的磁盘IO操作,其操作耗时长。 而基于数据库进行交易,对行情信息更新的实时性要求很高,但是,由于数据库在磁盘中进行读写操作存在的耗时问题,导致在生成行情(宏观的交易信息)的时候会产生延迟,导致竞价交易的效率低。
发明内容
本发明的目的在于提供了一种竞价交易方法、装置、可读存储介质及电子设备,用以解决现有技术中存在的上述问题。
第一方面,本发明实施例提供了一种竞价交易方法,所述方法包括:
若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,其中,所述第一买卖订单信息存储在内存和磁盘中;
若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户;
若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘和数据库中。
可选的,在所述从内存中读取买卖订单信息之前,所述方法还包括:
将所述买卖请求信息作为第二买卖订单信息;
将所述第二买卖订单信息存入内存和磁盘的数据库中。
可选的,在监听到所述用户完成对所述第一买卖订单信息的买卖操作之后,所述方法还包括:
从所述内存中删除所述第二买卖订单信息。
可选的,所述将所述匹配结果写入所述磁盘中,包括:
以追加写的方式将所述匹配结果写入所述磁盘中。
可选的,所述以追加写的方式将所述匹配结果写入所述磁盘中,包括:
按照时间先后顺序将所述匹配结果加入写入队列;
采用异步处理方式读取所述写入队列中的所述匹配结果,将所述写入队列中的所述匹配结果持久化至所述磁盘的数据库中。
可选的,所述匹配结果在所述磁盘中以队列的形式存储;在所述将所述匹配结果写入所述磁盘中之后,所述方法还包括:
对所述队列中的匹配结果进行异步更新。
可选的,在所述将所述匹配结果写入所述磁盘后,所述方法还包括:
根据所述匹配结果更新行情信息;
发送所述行情信息至所述用户。
第二方面,本发明实施例提供了一种竞价交易装置,所述装置包括:
接收模块,用于若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,其中,所述第一买卖订单信息存储在内存和磁盘中;
匹配模块,用于匹配所述第一买卖订单信息与所述买卖请求信息;若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户;
处理模块,用于若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘中。
第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一项所述方法的步骤。
第四方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
与现有技术相比,本发明达到的有益效果如下:
本发明实施例提供了一种竞价交易方法、装置、可读存储介质及电子设备,所述方法包括:若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,其中,所述第一买卖订单信息存储在内存和磁盘中;若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户;若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘中。从而使得在接收到用户的买卖请求信息后,直接从内存中读取数据,进而大大提升匹配过程中寻找匹配单的时间,降低了数据处理的延迟,进而提高了竞价交易的效率。
附图说明
图1是本发明实施例提供的一种竞价交易方法的流程图。
图2是本发明实施例提供的一种竞价交易方法的示意图。
图3是本发明实施例提供的一种竞价交易装置的方框结构示意图。
图4是本发明实施例提供的一种电子设备的方框结构示意图。
具体实施方式
下面结合附图,对本发明作详细的说明。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前进行竞价交易(用户出买卖价格,由系统进行匹配,典型的业务场景为:股票交易、期货交易、数字货币交易)的业务形态中,一般使用数据库进行匹配,即针对用户的买卖单,根据价格、时间、数量进行匹配,完成买卖双方的价值交换。
使用数据库的撮合方式交易的流程如下:从数据库中获取用户订单,依据价格、时间、数量在数据库中获取满足用户订单条件的匹配单,根据匹配规则更新用户订单和匹配单数量、状态并将用户订单和匹配单最新数量和状态回写数据库。
使用数据库进行课件在一次匹配中需要进行3次数据库的读写操作:1. 读用户订单(买卖请求信息);2.根据买卖条件(买卖请求信息包括买卖条件)读匹配单(预先存储在磁盘中);3.更新用户订单(买卖请求信息)和匹配单。尤其是第三步用户订单的写操作,会造成系统的瓶颈:因为在数据库的写操作过程中,需要进行数据的插入和索引的维护,这是一次比较耗时的磁盘输入\输出(Input \Output,I\O)操作(指对于数据进行读取和写入操作,对于计算机而言,一般指针对磁盘的读取或者写入操作),一般会需要几毫秒的操作耗时。由于竞价交易存在竞争的关系,数据的写入操作需要串行保证一次只有一个写入的操作。首先由于写入耗时和串行操作的限制,匹配效率比较低下。假设3次数据库的读写操作的耗时为5ms,由于串行写入的限制,系统的吞吐量(Transactions Per Second,tps)(每秒传输的事物处理个数,即服务器每秒处理的事务数,是通常衡量计算机性能的指标。在本申请中表示表示一秒钟可以完成的交易次数)不会超过200(1000ms/5ms=200)。
同时,由于写入操作速度的限制,导致在生成行情信息(由订单匹配生成的成交单形成的价格趋势称为行情,常见的就是股票中的k线)的时候会产生延迟。因为,基于数据库的匹配从而导致行情需要在成交数据写入数据库之后才能生成,理想情况下需要在匹配完成的那一刻就生成行情数据,但是由于数据库写入的耗时,从而导致行情数据的生成落后于匹配时间一个磁盘IO操作。而行情的实时性对于竞价交易而言是非常重要的一个指标,行情的快慢决定了很多交易策略的可执行性,这也是目前竞价交易系统中的核心指标之一。为此快速生成准确的行情对促成交易的具有重要意义。
为此,本发明实施例提供了一种竞价交易方法,在接收到用户的买卖请求信息后,直接从内存中读取数据,大大提升匹配过程中寻找匹配单的时间,降低了数据处理的延迟,进而提高了竞价交易的效率。同时,可以快速、及时地根据匹配结果更新行情信息,进一步提高了促成交易成功的可能性。
具体的,请参阅图1,图1是本发明提供的一种竞价交易方法的流程图,所述方法包括:
S101:若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息。
其中,所述第一买卖订单信息是预先存储在内存和磁盘中的。也就是说,磁盘中存储的数据与内存中存储的数据是实时同步的。可选地,磁盘可以是SSD硬盘或机械硬盘。而内存是指诸如计算机上的运行内存。
S102:若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户。
即内存和磁盘中存储的第一买卖订单信息有多个,第一买卖订单信息可以是在接收到该用户的买卖请求信息之前,其他用户发出的买卖请求信息。
简单来说,就是很多用户在平台中发送(发布)出售信息和求购信息(买卖请求信息包括出售信息和求购信息),如果接收到该用户的买卖请求信息是求购信息,则在内存中找到预先存储的出售信息,如果该用户的买卖请求信息(求购信息)中的买卖条件(购买条件)与第一买卖订单信息(出售信息)的买卖条件(出售条件)匹配,则确定第一买卖订单信息与买卖请求信息匹配成功,就把该匹配成功的第一买卖订单信息(出售信息)推送给用户。如果接收到该用户的买卖请求信息是出售信息,则在内存中找到预先存储的求购信息,如果该用户的买卖请求信息(出售信息)中的买卖条件(出售条件)与第一买卖订单信息(购买信息)的买卖条件(购买条件)匹配,则确定第一买卖订单信息与买卖请求信息匹配成功,就把该匹配成功的第一买卖订单信息(购买信息)推送给用户。即买卖条件包括出售条件和购买条件,买卖条件包括价格、时间、数量,时间表示的是以该出价、该数量进行买卖的最晚时间。
可以理解成,如果该用户的买卖请求信息(求购信息)中的价格高于或者等于第一买卖订单信息(出售信息)的买卖条件(出售条件)的价格、该用户的买卖请求信息(求购信息)中的时间在第一买卖订单信息(出售信息)的买卖条件(出售条件)的时间之前、该用户的买卖请求信息(求购信息)中的数量少于或者等于第一买卖订单信息(出售信息)的买卖条件(出售条件)的数量,则认为该用户的买卖请求信息(求购信息)中的买卖条件(购买条件)在第一买卖订单信息(出售信息)的买卖条件(出售条件)匹配,则确定第一买卖订单信息与买卖请求信息匹配成功。如果该用户的买卖请求信息(出售信息)中的价格低于或者等于第一买卖订单信息(求购信息)的买卖条件(求购条件)的价格、该用户的买卖请求信息(出售信息)中的时间在第一买卖订单信息(求购信息)的买卖条件(求购条件)的时间之前、该用户的买卖请求信息(出售信息)中的数量大于或者等于第一买卖订单信息(求购信息)的买卖条件(求购条件)的数量,则认为该用户的买卖请求信息(出售信息)中的买卖条件(出售条件)在第一买卖订单信息(求购信息)的买卖条件(求购条件)匹配,则确定第一买卖订单信息与买卖请求信息匹配成功。
举个简单的例子,该用户发送的是对于某一个股票的出售信息,出售信息中,价格是5元,时间是在22:30之前,数量是200股。那么平台就会根据本申请的方法,从内存中找到预先记录(存储)的、还未成交的求购信息,如果某个求购信息的价格是3元,时间是在22:50之前,数量是200股,则确实该出售信息与该求购信息匹配成功。
所述第一买卖订单信息与所述买卖请求信息匹配成功后,将匹配成功的所述第一买卖订单信息推送给所述用户。推送给第一买卖订单信息给用户,但是用户不一定就购买或者出售,因此需要监听用户是否选中的第一买卖订单信息。若监听到用户选中第一买卖订单信息,并完成对第一买卖订单信息的买卖操作,该条第一买卖订单信息和用户的买卖请求信息已经完成,确定为失效,为了维护系统的秩序和有效性,在若监听到所述用户完成对所述第一买卖订单信息的买卖操作后,将所述第一买卖订单信息从内存中删除,即执行S103所述的步骤。
S103:若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘中。
可选的,在将所述匹配结果写入所述磁盘中之后,所述方法还包括将所述匹配结果写入所述数据库中,具体的,以异步写入的方式,将所述匹配结果写入所述数据库中。
在本发明实施例中,用户的买卖请求信息其实也属于第一买卖订单信息,将完成买卖、失效的第一买卖订单信息删除,一方面维护了系统的稳定性、有效性、秩序,还节省了存储空间,提高了系统的性能。
可选的,若所述第一买卖订单信息与所述买卖条件匹配,所述方法还包括:更新所述内存中所存储的所述第一买卖订单信息和所述买卖请求信息,并根据更新后的所述买卖请求信息和更新后的所述第一买卖订单信息生成匹配结果。
可选地,更新所述内存中所存储的所述第一买卖订单信息是指在匹配后,由于存在用户需要的第一买卖订单,则会将该订单交易给该用户,从而使得该订单中的数据发生变化,而正因为已经发生了交易,则买卖请求信息也已经完成,则也需要更新。举例来说,假设在炒股时A用户生成的买卖请求信息为:股票1购买100股、报价2元每股,时间是9:45,则第一买卖订单信息为卖出200股、报价2元每股,时间是9:45,则确定该买卖请求信息与第一买卖订单匹配,双方进行交易,交易完成后,第一买卖订单信息更新为:卖出100股、报价2元每股,时间9:46。
应理解,上述举例仅为示例,而非限定。
通过采用以上方案,由于第一买卖订单信息是存储在内存和磁盘中的,一方面在读取第一买卖订单信息时直接从内存中读取,读取速度快,保证了第一买卖订单信息读取的效率,提高了竞价交易的信息调取实时性,提高了竞价交易的成功率。另一方面,第一买卖订单信息还存储在磁盘中,保证了第一买卖订单信息的安全性,使得第一买卖订单信息不容易丢失,客服了内存存储易失性的问题(相对于持久性而言,在计算机中,磁盘是持久性的,内存是易失性的。指在计算机重启之后,数据是否能否恢复,持久性指在重启之后,之前的数据依然存在,易失性指重启之后数据丢失)。在接收到用户的买卖请求信息后,直接从内存中读取数据,大大提升匹配过程中寻找匹配单的时间,降低了数据处理的延迟,进而提高了竞价交易的效率。同时,可以快速、及时地根据匹配结果更新行情信息,进一步提高了促成交易成功的可能性。
可选的,在所述从内存中读取买卖订单信息之前,所述方法还包括:将所述买卖请求信息作为第二买卖订单信息;
将所述第二买卖订单信息存入内存和磁盘的数据库中。在本发明实施例中,第二买卖订单信息和第一买卖订单信息都是订单信息,都包括买卖条件,买卖条件都包括价格、时间、数量。在本发明实施例中,为了便于区分,故将买卖请求信息称作第二买卖订单信息,将预先存储、原先就有的、还未成交的订单信息称作第一买卖订单信息。第二买卖订单信息存储到内存中后,可以将其称作第一买卖订单信息。
可选的,在监听到所述用户完成对所述第一买卖订单信息的买卖操作之后,所述方法还包括:从所述内存中删除所述第二买卖订单信息。如此以释放内存空间,提高系统性能。
可选的,所述将所述匹配结果写入所述磁盘中,包括:以追加写的方式将所述匹配结果写入所述磁盘中。所述以追加写的方式,将所述匹配结果写入所述磁盘中,具体为:按照时间先后顺序将所述匹配结果加入写入队列;采用异步处理方式读取所述写入队列中的所述匹配结果,将所述写入队列中的所述匹配结果持久化至所述磁盘的数据库中。如此,防止数据易失,保证了匹配结果的数据的安全性和稳定性高。
因为所述匹配结果在所述磁盘中以队列的形式存储,在所述将所述匹配结果写入所述磁盘中之后,所述方法还包括:对所述队列中的匹配结果进行异步更新。从而完成数据的最终持久化行为。
可选的,在所述将所述匹配结果写入所述磁盘后,所述方法还包括:根据所述匹配结果更新行情信息;发送所述行情信息至所述用户。
其中,根据所述匹配结果更新行情信息具体的可以是:在原有的行情信息的基础上,添加该匹配结果,形成新的行情信息。行情信息表征了买卖的趋势。
作为一种应用场景,用户在进行股票交易、期货交易或数字货币交易时,通过用户的终端(或网页)输入该买卖请求信息。然后通过后台平台接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,匹配所述第一买卖订单信息与所述买卖请求信息,若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户,具体的可以发送到用户的终端或者网页账户中;然后平台会若监听所述用户完成对所述第一买卖订单信息的买卖操作,若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘中。
作为一种实施方式,竞价交易方法应用于平台。如图2所示,用户下单后(即发起买卖请求信息后),平台会根据用户单(即买卖请求信息)查询是否有与该用户单匹配的匹配单(即第一买卖订单信息),如果有匹配的,则更新用户单与匹配单,并生成匹配结果,按照生成的匹配结果的顺序形成队列,然后采用异步处理读取未处理完成队列,最后将匹配结果持久化到磁盘的数据库中。发送成交信息到用户,以告知用户该买卖前请求信息已完成交易。且根据已经成交的匹配结果更新行情信息,以为用户提供交易参考,提高平台撮合成功率。
图2中,用户单(买卖请求信息)来自于用户的终端或者网页,匹配单(第一买卖订单信息)来自于内存,通过对用户单和匹配单进行匹配,匹配成功后得到匹配结果,更新匹配单和用户单(将匹配单和用户单从内存删除的操作)。匹配成功后,将匹配结果(成交信息)至行情服务模块,通过行情服务模块更新行情。同时,将匹配结果以顺序写的方式写入匹配完成队列(以顺序写的文件形式存在),然后通过一部处理的方式读物匹配完成队列中未处理完成的队列信息(匹配成果),完成队列任务调度以后,将匹配结果持久化到磁盘的数据库中。可选的,对于还未进入匹配完成的匹配结果、用户单、匹配单,也都直接持久化到磁盘数据库中,以保证数据的安全性。
举例来说,在本申请中,在用户下单的时候会把数据(例如订单)存入数据库的同时把订单存储在内存中,由于数据都在内存中,那么访问内存的数据的访问速度相对于访问磁盘的速度快,因此把1. 读用户订单、2根据条件读匹配单这两步从现有的数据库操作转化为内存操作,大大提升匹配过程中寻找匹配单的时间。
进一步地,针对完成匹配后写入数据库的操作,这次操作是匹配过程中最耗时的操作,在完成匹配后,首先更新内存中用户单和匹配单的信息,生成一条匹配信息,对匹配信息通过追加写的方式写入到本地磁盘(称为匹配完成队列)。后续通过任务调度将匹配完成队列中的数据进行异步更新数据库中的信息,从而完成数据的最终持久化行为。通过这种方式,原来匹配完成后写入数据库的操作变成了内存更新和一次磁盘追加写操作,进而有效提高处理效率,根据目前的测试数据,本方法与现有技术相比,速度高出有几十倍的速度。
在完成追加写之后立即发送一条成交消息给行情服务,行情服务根据成交消息来更新行情信息。行情的效率从原来的一次数据库写入操作变成一次顺序文件的写入,效率提升了几十倍。
总的来说,本发明通过结合内存的高效读写和磁盘顺序写的特性,将原来基于数据库的交易模型改造为一种非易失的内存交易匹配模型,同时将行情数据生成的效率从原来一次数据库操作的延迟降低为一次顺序写的延迟,将交易匹配的性能和行情发布的效率提升了几十倍。
针对上述实施例提供一种竞价交易方法,本申请实施例还对应提供一种用于执行上述的步骤的执行主体,该执行主体可以为图3中竞价交易装置200。请参考图3,该装置包括:
接收模块210,用于若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,其中,所述第一买卖订单信息存储在内存和磁盘中;
匹配模块220,用于匹配所述第一买卖订单信息与所述买卖请求信息;若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户;
处理模块230,用于若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘中。
可选的,接收模块210还用于,将所述买卖请求信息作为第二买卖订单信息;将所述第二买卖订单信息存入内存和磁盘的数据库中。
可选的,处理模块230还用于:从所述内存中删除所述第二买卖订单信息。
可选的,处理模块230还用于:以追加写的方式将所述匹配结果写入所述磁盘中。
可选的,处理模块230还用于:按照时间先后顺序将所述匹配结果加入写入队列;采用异步处理方式读取所述写入队列中的所述匹配结果,将所述写入队列中的所述匹配结果持久化至所述磁盘的数据库中。
可选的,处理模块230还用于:对所述队列中的匹配结果进行异步更新。
可选的,所述装置还包括行情模块,行情模块用于:根据所述匹配结果更新行情信息;发送所述行情信息至所述用户。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供了一种电子设备,如图4所示,所述电子设备至少包括数据接口501和处理器502。处理器502通过数据接口501与存储系统600进行数据交互,具体的处理器502通过数据接口501与存储系统600中的存储区块进行数据交互。
为了能够说明处理器502与存储系统600之间的数据交互情况,作为一种可能的实施方式,处理器502在执行上述的竞价交易方法时执行下述步骤:若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,其中,所述第一买卖订单信息存储在内存和磁盘中;若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户;若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘中。
可选的,如图4所示,电子设备还包括存储系统600。同样的,处理器502通过数据接口501与存储系统600中的存储区块进行数据交互。
可选的,电子设备还包括存储器504存储在存储器504上并可在处理器502上运行的计算机程序,所述处理器502执行所述程序时实现前文所述竞价交易方法的任一方法的步骤。
其中,存储系统600可以是存储器504,也可以与存储器504不同,存储系统600也可以是存储器504的部分存储分区,还可以是存储器504是存储系统600中的某个存储区块。
其中,在图4中,总线架构(用总线500来代表),总线500可以包括任意数量的互联的总线和桥,总线500将包括由处理器502代表的一个或多个处理器和存储器504代表的存储器的各种电路链接在一起。总线500还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进进一步描述。处理器502负责管理总线500和通常的处理,而存储器504可以被用于存储处理器502在执行操作时所使用的数据。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述竞价交易方法的任一方法的步骤。一种计算机可读存储介质还用于存储所述的买卖请求信息、第一买卖订单信息和第二买卖订单信息以及匹配结果。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种竞价交易方法,其特征在于,所述方法包括:
若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,其中,所述第一买卖订单信息存储在内存和磁盘中;
若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户;
若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘和数据库中。
2.根据权利要求1所述的方法,其特征在于,在所述从内存中读取买卖订单信息之前,所述方法还包括:
将所述买卖请求信息作为第二买卖订单信息;
将所述第二买卖订单信息存入内存和磁盘的数据库中。
3.根据权利要求2所述的方法,其特征在于,在监听到所述用户完成对所述第一买卖订单信息的买卖操作之后,所述方法还包括:
从所述内存中删除所述第二买卖订单信息。
4.根据权利要求1所述的方法,其特征在于,所述将所述匹配结果写入所述磁盘和数据库中,包括:
以同步追加写的方式,将所述匹配结果写入所述磁盘中;
在将所述匹配结果写入所述磁盘中之后,以异步写入的方式,将所述匹配结果写入所述数据库中。
5.根据权利要求4所述的方法,其特征在于,所述以追加写的方式,将所述匹配结果写入所述磁盘中,包括:
按照时间先后顺序将所述匹配结果加入写入队列;
采用异步处理方式读取所述写入队列中的所述匹配结果,将所述写入队列中的所述匹配结果持久化至所述磁盘的数据库中。
6.根据权利要求1所述的方法,其特征在于,所述匹配结果在所述磁盘中以队列的形式存储;在所述将所述匹配结果写入所述磁盘中之后,所述方法还包括:
对所述队列中的匹配结果进行异步更新。
7.根据权利要求1所述的方法,其特征在于,在所述将所述匹配结果写入所述磁盘后,所述方法还包括:
根据所述匹配结果更新行情信息;
发送所述行情信息至所述用户。
8.一种竞价交易装置,其特征在于,所述装置包括:
接收模块,用于若接收到用户的买卖请求信息,从内存中读取第一买卖订单信息,其中,所述第一买卖订单信息存储在内存和磁盘中;
匹配模块,用于匹配所述第一买卖订单信息与所述买卖请求信息;若所述第一买卖订单信息与所述买卖请求信息匹配成功,将所述第一买卖订单信息推送给所述用户;
处理模块,用于若监听到所述用户完成对所述第一买卖订单信息的买卖操作,将所述第一买卖订单信息从内存中删除,并根据所述买卖请求信息和所述第一买卖订单信息生成匹配结果,将所述匹配结果写入所述磁盘中。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010623390.3A CN112131251A (zh) | 2020-07-01 | 2020-07-01 | 竞价交易方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010623390.3A CN112131251A (zh) | 2020-07-01 | 2020-07-01 | 竞价交易方法、装置、可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131251A true CN112131251A (zh) | 2020-12-25 |
Family
ID=73851165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010623390.3A Pending CN112131251A (zh) | 2020-07-01 | 2020-07-01 | 竞价交易方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131251A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112669158A (zh) * | 2021-01-06 | 2021-04-16 | 深圳市金证科技股份有限公司 | 交易系统及其交易服务的控制方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002050730A1 (fr) * | 2000-12-18 | 2002-06-27 | Kabushiki Kaisha Toshiba | Procede et systeme permettant d'assurer un service de negociation d'actions, serveur d'intermediation pour la negociation d'actions et support de stockage de donnees |
US20070136179A1 (en) * | 2005-12-14 | 2007-06-14 | Toolow, Inc., A Delaware Corporation | System & method for providing reverse auction services |
CN106682981A (zh) * | 2016-11-11 | 2017-05-17 | 广州普惠创新金融信息服务有限公司 | 一种资产指定交易的处理方法、装置和系统 |
CN107507051A (zh) * | 2017-07-14 | 2017-12-22 | 广州普惠创新金融信息服务有限公司 | 一种分类交易系统的交易撮合方法、装置和储存介质 |
CN108885762A (zh) * | 2016-02-22 | 2018-11-23 | 塔塔咨询服务有限公司 | 用于在数据市场中分配价格发现机制的方法和系统 |
CN110264353A (zh) * | 2019-05-28 | 2019-09-20 | 必成汇(成都)科技有限公司 | 基于内存的高可用交易撮合系统及方法 |
CN110634071A (zh) * | 2019-09-06 | 2019-12-31 | 北京神州同道智能信息技术有限公司 | 一种基于自动量化交易平台的全市场多品种智能金融资管系统 |
CN110929380A (zh) * | 2019-10-25 | 2020-03-27 | 深圳市蘑菇财富技术有限公司 | 一种模拟炒股撮合系统和装置 |
CN111225001A (zh) * | 2020-03-12 | 2020-06-02 | 北京跨联元焕网络科技有限公司 | 区块链去中心化通讯方法、电子设备及系统 |
-
2020
- 2020-07-01 CN CN202010623390.3A patent/CN112131251A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002050730A1 (fr) * | 2000-12-18 | 2002-06-27 | Kabushiki Kaisha Toshiba | Procede et systeme permettant d'assurer un service de negociation d'actions, serveur d'intermediation pour la negociation d'actions et support de stockage de donnees |
US20070136179A1 (en) * | 2005-12-14 | 2007-06-14 | Toolow, Inc., A Delaware Corporation | System & method for providing reverse auction services |
CN108885762A (zh) * | 2016-02-22 | 2018-11-23 | 塔塔咨询服务有限公司 | 用于在数据市场中分配价格发现机制的方法和系统 |
CN106682981A (zh) * | 2016-11-11 | 2017-05-17 | 广州普惠创新金融信息服务有限公司 | 一种资产指定交易的处理方法、装置和系统 |
CN107507051A (zh) * | 2017-07-14 | 2017-12-22 | 广州普惠创新金融信息服务有限公司 | 一种分类交易系统的交易撮合方法、装置和储存介质 |
CN110264353A (zh) * | 2019-05-28 | 2019-09-20 | 必成汇(成都)科技有限公司 | 基于内存的高可用交易撮合系统及方法 |
CN110634071A (zh) * | 2019-09-06 | 2019-12-31 | 北京神州同道智能信息技术有限公司 | 一种基于自动量化交易平台的全市场多品种智能金融资管系统 |
CN110929380A (zh) * | 2019-10-25 | 2020-03-27 | 深圳市蘑菇财富技术有限公司 | 一种模拟炒股撮合系统和装置 |
CN111225001A (zh) * | 2020-03-12 | 2020-06-02 | 北京跨联元焕网络科技有限公司 | 区块链去中心化通讯方法、电子设备及系统 |
Non-Patent Citations (1)
Title |
---|
ALEX PETROV: "数据库系统内幕", 31 May 2020, 机械工业出版社, pages: 16 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112669158A (zh) * | 2021-01-06 | 2021-04-16 | 深圳市金证科技股份有限公司 | 交易系统及其交易服务的控制方法和装置 |
CN112669158B (zh) * | 2021-01-06 | 2023-12-15 | 深圳市金证科技股份有限公司 | 交易系统及其交易服务的控制方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5785556B2 (ja) | ネットワーク化されたコンピューティングリソースを用いたデータの同期処理 | |
Altmann et al. | GridEcon: A market place for computing resources | |
CN110599182A (zh) | 一种资源管理方法及装置 | |
US20220207013A1 (en) | Optimized data structure | |
CN104732441A (zh) | 一种适用于基金代销机构的数据核对方法及装置 | |
JP2019160196A (ja) | ポイント投資システム、及び投資ポイント管理方法 | |
US11503108B1 (en) | Systems and methods of distributed processing | |
US20240111547A1 (en) | Systems and methods of distributed processing | |
CN112131251A (zh) | 竞价交易方法、装置、可读存储介质及电子设备 | |
TW202032483A (zh) | 保險交易處理方法及裝置 | |
CN112435097A (zh) | 一种交易过程中专利价格评估系统及评估方法 | |
CN116402583A (zh) | 一种订单处理方法、装置、存储介质及设备 | |
CN114926253A (zh) | 行情快照的生成方法、装置及电子设备 | |
CN114022258A (zh) | 一种拍卖交易方法、智能拍卖平台及存储介质 | |
KR20210127506A (ko) | 온라인 차량 구매 희망자의 서비스 이용 기록을 참조하여 구매자 중심으로 차량을 거래하기 위한 방법 및 이를 이용한 서버 | |
US12079870B2 (en) | Smart decentralized platform for settlement of delisted stocks | |
US11483380B1 (en) | Systems and methods of distributed processing | |
US20240070768A1 (en) | Bidder buyer pool system | |
US11809412B2 (en) | Systems and methods of distributed processing | |
US11915037B2 (en) | Systems and methods of validating commands sent from processing instances to a matching engine in a distributed processing environment | |
US20230032268A1 (en) | Systems and methods of distributed processing | |
CN113901150A (zh) | 业务处理方法、装置和电子设备 | |
US10956985B1 (en) | Scalable, service-based architecture for efficiently processing accrual-basis, out-of-order events | |
CA2995912C (en) | Big-data-based loan method and system | |
CN111402056A (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 |