CN110781387A - 证券行情快照的推送方法、证券交易系统及存储介质 - Google Patents
证券行情快照的推送方法、证券交易系统及存储介质 Download PDFInfo
- Publication number
- CN110781387A CN110781387A CN201910965869.2A CN201910965869A CN110781387A CN 110781387 A CN110781387 A CN 110781387A CN 201910965869 A CN201910965869 A CN 201910965869A CN 110781387 A CN110781387 A CN 110781387A
- Authority
- CN
- China
- Prior art keywords
- securities
- snapshot
- security
- market
- group
- 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.)
- Granted
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种证券行情快照的推送方法,包括以下步骤:获取行情快照待推送的证券的证券数量;根据所述证券数量将所述证券划分到至少两个证券组中;依次获取所述证券组;在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送;其中,获取的第一个所述证券组时的开始时间点与最后一个所述证券组中的所有所述行情快照推送完毕的结束时间点之间的第一时长小于或者等于第二时长,所述第二时长根据证券交易系统的行情快照更新频率确定得到。本发明还公开了一种证券交易系统以及计算机可读存储介质。本发明解决了在推送证券的行情快照时容易产生时延的问题。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种证券行情快照的推送方法、证券交易系统以及计算机可读存储介质。
背景技术
证券行情快照是证券交易所发布的一种以证券代码为基本粒度的行情数据,根据证券交易的实时数据生成,包含证券代码、证券状态、证券价格等,具有按顺序、定时、定量生成并发送的特点,每只证券对应一条证券行情快照数据。目前,每当到达行情发送时间点,证券交易系统会生成并发送所有挂牌证券的行情快照。
随着挂牌证券数量的增加,需要发送的行情快照量也会增加。当到达行情快照生成发送时点时,如果集中发送大量行情快照,则会导致交易系统处理压力瞬时激增,给网络带宽、下游系统带来瞬时较大的处理压力,进而可能引发丢包等问题,导致证券行情发布时延较大,从而无法及时的反映市场交易情况。
发明内容
本发明的主要目的在于提供一种证券行情快照的推送方法、证券交易系统以及计算机可读存储介质,解决了在推送证券的行情快照时容易产生时延的问题。
为实现上述目的,本发明提供一种证券行情快照的推送方法,所述证券行情快照的推送方法包括以下步骤:
获取行情快照待推送的证券的证券数量;
根据所述证券数量将所述证券划分到至少两个证券组中;
依次获取所述证券组;
在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送。
可选地,所述在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送的步骤包括:
在每次获取得到所述证券组后,获取所述证券组中每个证券的证券信息;
在获取到每个证券的证券信息后,根据当前获取到的证券信息生成行情快照;
推送所述证券组中的所述证券的所述行情快照。
可选地,所述推送所述证券组中的所述证券的所述行情快照的步骤包括:
依次获取所述证券组中的所述证券的所述行情快照并推送。
可选地,所述证券行情快照的推送方法还包括:
获取所述证券组中的当前推送的证券的所述行情快照;
判断当前是否获取到所述当前推送的证券的所述行情快照;
在获取不到所述当前推送的证券的所述行情快照时,预设时间间隔后重新获取所述当前推送的证券的所述行情快照;
在获取到所述当前推送的证券的所述行情快照时,推送所述当前推送的证券的所述行情快照,并将下一个证券的所述行情快照更新为所述当前推送的证券的所述行情快照,直至所述证券组中所有证券的所述行情快照推送完毕。
可选地,所述分别根据各个所述证券的证券信息生成各个所述证券的行情快照的步骤包括:
基于并发线程获取所述证券组中每个证券的证券信息。
可选地,所述证券行情快照的推送方法还包括:
在执行所述依次获取所述证券组的步骤时,记录第一时长;
在所述第一时长达到第二时长时,返回执行所述依次获取所述证券组的步骤,所述第二时长根据证券交易系统的行情快照更新频率确定得到。
为实现上述目的,本发明还提供一种证券交易系统,所述证券交易系统包括:
所述证券交易系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的证券行情快照的推送程序,所述证券行情快照的推送程序被所述处理器执行时实现如上述证券行情快照的推送方法的步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有证券行情快照的推送程序,所述证券行情快照的推送程序被处理器执行时实现如上述证券行情快照的推送方法的步骤。
本发明提供的证券行情快照的推送方法、证券交易系统以及计算机可读存储介质,获取行情快照待推送的证券的证券数量;根据所述证券数量将所述证券划分到至少两个证券组中;依次获取所述证券组;在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送。这样,解决了在推送证券的行情快照时容易产生时延的问题。
附图说明
图1为本发明实施例方案涉及的实施例终端的硬件运行环境示意图;
图2为本发明证券行情快照的推送方法第一实施例的流程示意图;
图3为本发明证券行情快照的推送方法第二实施例的流程示意图;
图4为本发明证券行情快照的推送方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种证券行情快照的推送方法,解决了在推送证券的行情快照时容易产生时延的问题。
如图1所示,图1是本发明实施例方案涉及的实施例终端的硬件运行环境示意图;
本发明实施例终端可以是证券交易系统,或者证券交易系统的服务器。
如图1所示,该终端可以包括:处理器1001,例如CPU中央处理器(centralprocessing unit),存储器1002,通信总线1003。其中,通信总线1003用于实现该终端中各组成部件之间的连接通信。存储器1002可以是高速RAM随机存储器(random-accessmemory),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1002可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端的结构并不构成对本发明实施例终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1002中可以包括证券行情快照的推送程序。
在图1所示的终端中,处理器1001可以用于调用存储器1002中存储的证券行情快照的推送程序,并执行以下操作:
获取行情快照待推送的证券的证券数量;
根据所述证券数量将所述证券划分到至少两个证券组中;
依次获取所述证券组;
在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送。
进一步地,处理器1001可以调用存储器1002中存储的证券行情快照的推送程序,还执行以下操作:
在每次获取得到所述证券组后,获取所述证券组中每个证券的证券信息;
在获取到每个证券的证券信息后,根据当前获取到的证券信息生成行情快照;
推送所述证券组中的所述证券的所述行情快照。
进一步地,处理器1001可以调用存储器1002中存储的证券行情快照的推送程序,还执行以下操作:
依次获取所述证券组中的所述证券的所述行情快照并推送。
进一步地,处理器1001可以调用存储器1002中存储的证券行情快照的推送程序,还执行以下操作:
获取所述证券组中的当前推送的证券的所述行情快照;
判断当前是否获取到所述当前推送的证券的所述行情快照;
在获取不到所述当前推送的证券的所述行情快照时,预设时间间隔后重新获取所述当前推送的证券的所述行情快照;
在获取到所述当前推送的证券的所述行情快照时,推送所述当前推送的证券的所述行情快照,并将下一个证券的所述行情快照更新为所述当前推送的证券的所述行情快照,直至所述证券组中所有证券的所述行情快照推送完毕。
进一步地,处理器1001可以调用存储器1002中存储的证券行情快照的推送程序,还执行以下操作:
基于并发线程获取所述证券组中每个证券的证券信息。
进一步地,处理器1001可以调用存储器1002中存储的证券行情快照的推送程序,还执行以下操作:
在执行所述依次获取所述证券组的步骤时,记录第一时长;
在所述第一时长达到第二时长时,返回执行所述依次获取所述证券组的步骤,所述第二时长根据证券交易系统的行情快照更新频率确定得到。
参照图2,在一实施例中,所述证券行情快照的推送方法包括:
步骤S10、获取行情快照待推送的证券的证券数量。
本实施例中,证券交易所的证券交易系统在股票市场开市的过程中,需要以一定的频率更新当前能进行正常交易的证券的行情快照。
证券行情快照是证券交易所发布的一种以证券代码为基本粒度的行情数据,根据证券交易的实时数据生成,包含证券代码、证券状态、证券价格等数据,具有按顺序、定时、定量生成并发送的特点,每只证券对应一条证券行情快照数据。每当到达行情发送时间点时(比如每隔3秒进行一次行情快照的发布),生成并发送所有挂牌证券的行情快照。
随着挂牌证券数量的增加,需要发送的行情快照量也会增加,到达行情快照生成发送时点时,如果集中发送大量行情快照,则会导致证券交易系统处理压力瞬时激增,给网络带宽、下游系统带来瞬时较大的处理压力,进而可能引发丢包等问题;同时,集中生成并发送大量行情,耗费时间会比较长,而行情应用组件在生成、发送行情快照期间无法处理新收到的委托及成交,这部分委托及成交也无法在本轮的行情快照中体现,造成了行情快照数据的失真率增大、证券行情发布时延增高,无法及时的反映市场交易情况。
可选地,证券交易系统的行情快照更新频率可由技术人员根据证券交易的相关规则设置,可选为每3秒发布一轮新的行情快照。需要说明的是,不同证券交易所的证券交易系统的行情快照更新频率可相同可不同,各个证券交易所均可以有其对应的行情快照更新频率。证券行情快照的生成发送是定时、定量的,比如,每隔3秒生成并发送所有证券的行情快照。如果从每日的9:15:00点起开始发布行情快照,则9:15:03、9:15:06、9:15:09……为每轮行情快照的触发时点。
可选地,行情快照待推送的证券,即为当前股市交易日中,可进行正常交易的证券交易所的挂牌证券。行情快照待推送的证券的证券数量可根据当前股市交易日中,可进行正常交易的证券交易所的挂牌证券的数量确定得到。
步骤S20、根据所述证券数量将所述证券划分到至少两个证券组中。
可选地,在获取得到行情快照待推送的证券的证券数量时,根据证券数量将所述证券划分到至少两个证券组中,证券组间分配得到的证券数量可相同或不同。可选地,终端可预先确定证券组的数量,然后根据证券数量将证券平均分配到每个证券组中;终端亦可先根据证券数量确定证券组数量,再把证券平均分配到每个证券组中。应当理解的是,在证券不能实现完全均分到每个证券组时,则至少存在一个证券组中证券数量与其余证券组不同,如1002个待推送证券分配至5个证券组时,可以是有4个证券组分配得到200个证券,1个证券组分配得到202个证券,也可以是有3个证券组分配得到200个证券,2个证券组分别分配得到201个证券。
可选地,每个证券组中可分配的证券数量与证券交易系统的瞬时数据处理能力呈正相关,如证券交易系统系统最多可瞬时处理100个证券的相关数据,则每个证券组最多可分配100个证券,即证券组的证券容量为100个。
可选地,证券组的数量可根据证券容量和行情快照待推送的证券的证券数量确定得到,确定得到的证券组的数量大于或者等于两个,即至少要确定两个证券组。
可选地,在不考虑时间限制的情况下,单个证券组分配的证券越少越好。但是,由于行情快照具有设定的更新频率,因此,如若单个证券组分配的证券过少,则可能会导致证券交易系统无法在行情快照更新频率对应的时长内(该时长为更新频率的倒数,如在每3秒发布一轮新的行情快照,该时长即为3秒)完成所有的证券的行情快照的推送。因此,证券组的数量可根据证券容量、行情快照更新频率和行情快照待推送的证券的证券数量确定得到。
可选地,由于每个证券均有其对应的证券代码,因此,可根据每个证券的证券代码的顺序,依次将所有证券分配至各个证券组中。如,在有1000个证券和5个证券组时,则第一证券组分配有证券代码1-200号的证券,第二证券组分配有证券代码201-400号的证券,第三证券组分配有401-600号的证券,第四证券组分配有601-800号的证券,第五证券组分配有证券代码801-1000号的证券。
步骤S30、依次获取所述证券组。
步骤S31、在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送。
可选地,证券交易系统的行情快照更新频率可由技术人员根据证券交易的相关规则设置,可选为每3秒发布一轮新的行情快照。证券行情快照的生成发送是定时、定量的,比如,每隔3秒生成并发送所有证券的行情快照。如果从每日的9:15:00点起开始发布行情快照,则9:15:03、9:15:06、9:15:09……为每轮行情快照的触发时间点。行情快照更新频率对应的时长即为第二时长,第二时长为更新频率的倒数,如在每3秒发布一轮新的行情快照,该第二时长即为3秒。
可选地,在达到每轮行情快照的触发时间点时,则依次获取每个证券组。在依次获取证券组时,可根据证券组的生成顺序依次获取证券组(如,根据每个证券的证券代码的顺序,依次将所有证券分配至各个证券组中时,在有1000个证券和5个证券组时,则分配有证券代码1-200号的证券的第一证券组的生成顺序第一,分配有证券代码201-400号的证券的第二证券组的生成顺序第二),也可以是根据证券组的组号排列顺序依次获取证券组(如,先获取第一证券组,再获取第二证券组)。
可选地,以预设间隔时长依次获取证券组。在具有N个证券组时,将第二时长分为N等份,1个等份的时长即为预设间隔时长(1个等份的时长对应1个证券组)。如,在第二时长为3秒时,在有3个证券组时,则证券组间的间隔时长即为1秒。每到达1个等份的触发时间点,则获取一个证券组。
可选地,在每次获取得到一个证券组时,则根据该证券组中各个证券的证券信息,生成各个所述证券的行情快照并推送。可选地,各个证券组中的行情快照的生成和推送,均在预设间隔时长内完成,即证券组对应的数据处理时长为预设间隔时长。
可选地,在确定每个证券组的数据处理时长,或者在确定预设间隔时长后,从每轮行情快照的触发时间点开始,根据数据处理时长(或者预设间隔时长)和证券组的排列顺序为每个证券组分配时间戳,终端在时间达到时间戳后,则获取该时间戳对应的证券组,即根据与当前时间对应的时间戳,获取该时间戳对应的证券组。
可选地,亦可以是根据每个证券组中的证券数量和第二时长,为每个证券组分配数据处理时长,证券组中证券越多,所分配的数据处理时长越大。在依次获取证券组时,可以是在当前证券组的数据处理时长完毕后(或者时间达到下一个证券组对应的时间戳后),则获取下一个证券组。
这样,即可实现在第二时长内,完成所有证券组中所有证券的行情快照的生成及推送。即在当轮次的行情快照推送过程中,若在获取第一个证券组时记录开始时间点,在最后一个所述证券组中的所有所述行情快照推送完毕时记录结束时间点,并将开始时间点与结束时间点之间的时长作为第一时长,那么该第一时长应当小于或者等于第二时长。
在到达每轮行情快照的触发时点时,集中发布的大批量的证券行情快照会给交易系统、网络、下游系统造成处理压力的激增,从而引发行情失真率增大、时延增高的问题。因此采用分时的方法,即,将到达触发时点时集中生成、发布一轮大批量行情快照的方法更改为将一轮行情快照按照n(n>1)个等份(即n个证券组)进行均分,同时把前后两个触发时间点之间的时间段也均分成n份,每到达1个等份(1个证券组)的触发时间,则发布1/n轮的行情快照,则到达下一个触发时点之前刚好能完成一整轮的行情快照的发布;并且,由于是对前后两个发布时点间的时间进行了均分,因此每1/n轮行情快照之间的间隔时间与集中发布的间隔时间是一致的,即满足证券行情快照定时的特点。
这样,将原本累积在触发时点的一轮大批量行情快照的发布压力拆分成n个1/n,均匀的分布在前后两个触发时点之间,将每次达到一轮的触发时点时发布一整轮的行情快照量改为每等份的触发时点发布1/n轮的行情快照量,从而达到降低行情时延的目的。
可选地,证券交易系统设置有分时并发处理器,根据分时并发处理器依次获取每个证券组,在每次获取得到证券组后,生成并推送该证券组中的行情快照。分时并发处理器维护一个存储所有证券组的vector动态数组,每个证券组对应1/n轮的行情发布任务执行信息(即一个证券组对应一等份的行情发布任务执行信息),具体维护了本1/n轮行情发布任务的触发时点share_end_time,以及first_job_it、last_job_it两个指针,分别指向当前的证券组需执行的第一个任务的地址及最后一个任务的地址。分时并发处理器实时接收并处理时间片,在时间片时间到达触发时点share_end_time时,执行从first_job_it到last_job_it之间的所有行情发布任务。在生成并发送完一轮行情,即vector动态数组中所有证券组对应行情发布任务都执行了一遍之后,更新触发时间share_end_time为当前证券组在下一轮行情发布任务的触发时点,在到达下一次触发时点时再次执行从first_job_it到last_job_it之间的所有行情发布任务,如此循环往复。
可选地,每个证券组配置有对应的时间戳,且该时间戳可根据第二时长进行刷新。在证券组被终端获取得到之后,则根据第二时长刷新当前获取得到的证券组的时间戳(将原时间戳累计第二时长得到新的时间戳)。这样,终端只需通过时间戳获取对应的证券组,生成该证券组中的证券的行情快照,并在一获取得到该证券组时则刷新该证券组的时间戳,即可实现每个证券组中对应的行情快照的更新推送。
可选地,在刷新证券组对应的时间戳时,也可以是在每一轮次的行情快照发布完毕后(即所有证券组均执行一次行情快照发布后),根据第二时长统一刷新所有证券组对应的时间戳。
可选地,在每一轮行情快照推送开始时(即在获取到第一个证券组时),开始记录时间,并将记录的时间作为第一时长。在累计得到的第一时长等于第二时长时,则返回执行步骤S30,开始新一轮的行情快照的推送。这样,即实现每隔一次第二时长,即进行一轮的行情快照的推送。
在一实施例中,获取行情快照待推送的证券的证券数量;根据所述证券数量将所述证券划分到至少两个证券组中;依次获取所述证券组;在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送。这样,解决了在推送证券的行情快照时容易产生时延的问题。
在第二实施例中,如图3所示,在上述图2所示的实施例基础上,所述在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送的步骤包括:
步骤S40、在每次获取得到所述证券组后,获取所述证券组中每个证券的证券信息。
步骤S41、在获取到每个证券的证券信息后,根据当前获取到的证券信息生成行情快照。
步骤S42、推送所述证券组中的所述证券的所述行情快照。
本实施例中,在证券组被获取到时(即当前时间达到该证券组对应的时间戳时),再进行该证券组内的各个证券的行情快照的生成。为了进一步降低行情快照的生成时延,对1/n轮行情快照的发布,即对每个证券组的行情快照任务的执行进行优化,使用并发的方法进一步缩短每个证券组的行情快照任务的执行时间。即对所有证券组进行串行获取,在获取得到证券组时,对证券组内的各个证券的行情快照进行并行生成。
可选地,证券交易系统的分时并发处理器维护有并发处理器,基于并发处理器,终端可通过并发线程分别获取证券组内的各个证券的证券信息。所述证券信息为实时数据,包含证券代码、证券状态、证券价格等数据,用于生成该证券当前的行情快照。
可选地,终端基于并发线程,分别根据每个所述证券的证券信息生成每个所述证券的行情快照,且在获取到每个证券的证券信息后,直接根据当前获取到的证券信息生成行情快照。
可选地,每一个证券组行情快照任务的发布包括生成、发送两个步骤,每一个证券组中各个证券的行情快照生成步骤无顺序要求,以多线程并发的方式提高每一个证券组内的行情快照的生成效率、降低行情发布时延。
可选地,终端可以是在一边生成行情快照,一边按照行情快照对应的证券的证券代码的顺序进行发布推送。
在一实施例中,在每次获取得到所述证券组后,分别获取所述证券组中各个证券的证券信息;分别根据各个所述证券的证券信息生成各个所述证券的行情快照;推送所述证券组中的所述证券的所述行情快照。这样,采取了并行生成快照,以及以保序为前提的并行推送的方法,降低了行情快照的总体发布时延。
在第三实施例中,如图4所示,在上述图2至图3的实施例基础上,所述推送所述证券组中的所述证券的所述行情快照的步骤包括:
步骤S50、依次获取所述证券组中的所述证券的所述行情快照并推送。
本实施例中,终端在生成每个证券组内的行情快照时,是在一边生成行情快照,则一边按照行情快照对应的证券的证券代码的顺序,依次获取证券组中的证券的行情快照进行发布推送。
可选地,每个证券组行情快照任务的发布包括生成、发送两个步骤,每个证券组中各个证券的行情快照生成步骤无顺序要求,但行情快照的发送必须按照证券代码递增的顺序发送以达到顺序发布的目的,因此在多线程并发的基础上增加有序的功能,以多线程并发的方式提高每个证券组内的行情快照的生成效率、降低行情时延,同时进行行情快照发送顺序的控制,以符合行情快照有序发布的特点。
可选地,分时并发处理器维护了一个并发处理器,用于高效、有序的执行每等份的行情快照发布任务。终端在获取到每一个证券组时,分时并发处理器将当前证券组待执行的每个任务的并行、串行方法提交给并发处理器,由并发处理器完成并发方法的高效执行以及串行方法的顺序执行。并发处理器维护了一个单生产者多消费者的无锁队列,用于维护及执行每等份的行情快照发布任务。当分时并发处理器每提交一个证券的行情快照发布任务,无锁队列生产一个相应的数据,分时并发处理器为无锁队列唯一的生产者,以N(N>1)个线程为一组的并发线程并为无锁队列的消费者。
可选地,基于并发线程,分别生成证券组内的各个证券的行情快照(即并发地从无锁队列中获取对应的消息并进行消费),同时,根据各个证券的证券代码顺序,基于串行线程依次获取各个证券的行情快照推送,其中,在串行线程执行的过程中,只有在当前证券代码序列的证券的行情快照推送成功后,才获取下一个证券的行情快照并推送。
可选地,由于证券组内的每个证券的行情快照是并行生成的,而行情快照又需要按照顺序推送,这样可会出现推送顺序在前的行情快照未生成,而推送顺序在后的行情快照已生成的情况,为了保证行情快照能进行有序发布,串行线程定时从无锁队列中按照FIFO的顺序逐个获取已消费的消息,获取成功,则执行消息的串行方法,即对生成的行情快照进行发送。完成串行方法的执行后,累计执行完的消息数finished_task_num加一,然后继续尝试获取下一个已消费的消息。获取失败则等待一段时间之后继续尝试获取。
可选地,判断当前是否获取到所述当前推送的证券的所述行情快照,检测到串行线程获取不到当前推送的证券的所述行情快照时,串行线程开始记录第三时长,在所述第三时长达到预设时长后,再次获取所述当前推送的证券的所述行情快照,即在获取不到所述当前推送的证券的所述行情快照时,预设时间间隔后重新获取所述当前推送的证券的所述行情快照。在获取得到所述当前推送的证券的所述行情快照时,推送所述当前推送的证券的所述行情快照,并将下一个证券的所述行情快照更新为所述当前推送的证券的所述行情快照,直至所述证券组中所有证券的所述行情快照推送完毕。所述预设时长可有技术人员根据实际情况需要设置,但务必要小于每个证券组对应的数据处理时长,可选为3000-5000ns。
可选地,串行线程维护finished_task_num用于判断当前证券组的消息是否已经全部执行完毕。当无锁队列中所有的消息都由串行线程执行完毕之后(即finished_task_num等于当前证券组已提交行情发布任务个数时),则当前证券组内的消息即完成执行,当前证券组的行情快照发布任务全部完成,此时,分时并发处理器可以继续提交下一证券组的行情快照发布任务,再由并发处理器完成下一证券组的消息的执行。
这样,将证券交易系统瞬时集中生成和发送行情快照改为分批次生成和发送,从而减少证券行情发布时延,提高快照发布的及时性。结合行情快照生成和发送的特点,优化每一批次的行情快照生成发送算法,进一步降低了行情快照的时延,从而降低整体证券交易系统行情发布时延,实现低时延高速行情发布的目标。
此外,本发明还提出一种证券交易系统,所述证券交易系统包括存储器、处理器及存储在存储器上并可在处理器上运行的证券行情快照的推送程序,所述处理器执行所述证券行情快照的推送程序时实现如以上实施例所述的证券行情快照的推送方法的步骤。
此外,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质包括证券行情快照的推送程序,所述证券行情快照的推送程序被处理器执行时实现如以上实施例所述的证券行情快照的推送方法的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是电视机,手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种证券行情快照的推送方法,其特征在于,所述证券行情快照的推送方法包括以下步骤:
获取行情快照待推送的证券的证券数量;
根据所述证券数量将所述证券划分到至少两个证券组中;
依次获取所述证券组;
在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送。
2.如权利要求1所述的证券行情快照的推送方法,其特征在于,所述在每次获取得到所述证券组后,分别根据所述证券组中每个证券的证券信息,生成每个所述证券的行情快照并推送的步骤包括:
在每次获取得到所述证券组后,获取所述证券组中每个证券的证券信息;
在获取到每个证券的证券信息后,根据当前获取到的证券信息生成行情快照;
推送所述证券组中的所述证券的所述行情快照。
3.如权利要求2所述的证券行情快照的推送方法,其特征在于,所述推送所述证券组中的所述证券的所述行情快照的步骤包括:
依次获取所述证券组中的所述证券的所述行情快照并推送。
4.如权利要求3所述的证券行情快照的推送方法,其特征在于,所述依次获取所述证券组中的所述证券的所述行情快照并推送的步骤包括:
获取所述证券组中的当前推送的证券的所述行情快照;
判断当前是否获取到所述当前推送的证券的所述行情快照;
在获取不到所述当前推送的证券的所述行情快照时,预设时间间隔后重新获取所述当前推送的证券的所述行情快照;
在获取到所述当前推送的证券的所述行情快照时,推送所述当前推送的证券的所述行情快照,并将下一个证券的所述行情快照更新为所述当前推送的证券的所述行情快照,直至所述证券组中所有证券的所述行情快照推送完毕。
5.如权利要求2所述证券行情快照的推送方法,其特征在于,所述获取所述证券组中每个证券的证券信息的步骤包括:
基于并发线程获取所述证券组中每个证券的证券信息。
6.如权利要求1所述的证券行情快照的推送方法,其特征在于,所述证券行情快照的推送方法还包括:
在执行所述依次获取所述证券组的步骤时,记录第一时长;
在所述第一时长达到第二时长时,返回执行所述依次获取所述证券组的步骤,所述第二时长根据证券交易系统的行情快照更新频率确定得到。
7.一种证券交易系统,其特征在于,所述证券交易系统包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的证券行情快照的推送程序,所述证券行情快照的推送程序被所述处理器执行时实现如权利要求1至6中任一项所述的证券行情快照的推送方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有证券行情快照的推送程序,所述证券行情快照的推送程序被处理器执行时实现如权利要求1至6中任一项所述的证券行情快照的推送方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965869.2A CN110781387B (zh) | 2019-10-10 | 2019-10-10 | 证券行情快照的推送方法、证券交易系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965869.2A CN110781387B (zh) | 2019-10-10 | 2019-10-10 | 证券行情快照的推送方法、证券交易系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110781387A true CN110781387A (zh) | 2020-02-11 |
CN110781387B CN110781387B (zh) | 2022-11-04 |
Family
ID=69385940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910965869.2A Active CN110781387B (zh) | 2019-10-10 | 2019-10-10 | 证券行情快照的推送方法、证券交易系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110781387B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965860A (zh) * | 2021-03-11 | 2021-06-15 | 中科驭数(北京)科技有限公司 | 一种快照行情分发方法、装置、设备及存储介质 |
CN115277595A (zh) * | 2022-07-26 | 2022-11-01 | 深圳证券通信有限公司 | 数据发送方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510293A (zh) * | 2009-01-14 | 2009-08-19 | 上证所信息网络有限公司 | 证券行情订单队列数据传输方法 |
US20120072368A1 (en) * | 2010-09-17 | 2012-03-22 | International Business Machines Corporation | Processing financial market data streams |
CN104516920A (zh) * | 2013-10-08 | 2015-04-15 | 北大方正集团有限公司 | 数据查询方法和数据查询系统 |
CN105760395A (zh) * | 2014-12-18 | 2016-07-13 | 华为技术有限公司 | 一种数据处理的方法、装置及系统 |
CN107656968A (zh) * | 2017-08-31 | 2018-02-02 | 武汉斗鱼网络科技有限公司 | 大批量业务数据导出方法及系统 |
CN108924176A (zh) * | 2018-05-04 | 2018-11-30 | 中国信息安全研究院有限公司 | 一种数据推送方法 |
-
2019
- 2019-10-10 CN CN201910965869.2A patent/CN110781387B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510293A (zh) * | 2009-01-14 | 2009-08-19 | 上证所信息网络有限公司 | 证券行情订单队列数据传输方法 |
US20120072368A1 (en) * | 2010-09-17 | 2012-03-22 | International Business Machines Corporation | Processing financial market data streams |
CN104516920A (zh) * | 2013-10-08 | 2015-04-15 | 北大方正集团有限公司 | 数据查询方法和数据查询系统 |
CN105760395A (zh) * | 2014-12-18 | 2016-07-13 | 华为技术有限公司 | 一种数据处理的方法、装置及系统 |
CN107656968A (zh) * | 2017-08-31 | 2018-02-02 | 武汉斗鱼网络科技有限公司 | 大批量业务数据导出方法及系统 |
CN108924176A (zh) * | 2018-05-04 | 2018-11-30 | 中国信息安全研究院有限公司 | 一种数据推送方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965860A (zh) * | 2021-03-11 | 2021-06-15 | 中科驭数(北京)科技有限公司 | 一种快照行情分发方法、装置、设备及存储介质 |
CN112965860B (zh) * | 2021-03-11 | 2022-02-11 | 中科驭数(北京)科技有限公司 | 一种快照行情分发方法、装置、设备及存储介质 |
CN115277595A (zh) * | 2022-07-26 | 2022-11-01 | 深圳证券通信有限公司 | 数据发送方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110781387B (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388479B (zh) | 延迟消息推送方法、装置、计算机设备及存储介质 | |
CN108804545B (zh) | 分布式全局唯一id生成方法及设备 | |
WO2017125015A1 (zh) | 分布式系统工作流处理方法和工作流引擎系统 | |
CN110781387B (zh) | 证券行情快照的推送方法、证券交易系统及存储介质 | |
CN111858055B (zh) | 任务处理方法、服务器及存储介质 | |
CN108664521B (zh) | 一种提供序列号的方法、装置、电子设备和可读存储介质 | |
CN111813868B (zh) | 数据同步方法及装置 | |
CN110740184A (zh) | 基于微服务架构的交易策略测试系统 | |
CN105096122A (zh) | 一种分片式交易匹配方法和装置 | |
CN111784318A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113448752A (zh) | 一种指标数据获取方法、装置、电子设备和存储介质 | |
CN113434282A (zh) | 流计算任务的发布、输出控制方法及装置 | |
CN110727507A (zh) | 一种消息的处理方法、装置、计算机设备和存储介质 | |
CN103475520A (zh) | 一种分布式网络中的事务处理控制方法及装置 | |
CN109426554B (zh) | 一种服务器的定时实现方法及装置 | |
CN113326150A (zh) | 一种联机小批量消息处理方法和装置 | |
CN111124708B (zh) | 面向微服务的批推理方法、服务器和计算机可读存储介质 | |
CN110750349B (zh) | 一种分布式任务调度方法及系统 | |
CN108769244B (zh) | 一种存储任务信息获取方法及相关装置 | |
US20200301732A1 (en) | Information processing system and non-transitory computer readable medium storing program | |
CN103761106A (zh) | 流程的控制方法及流程引擎 | |
CN108810645B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和系统 | |
US10313253B2 (en) | Non-blocking request processing method and device | |
CN112882940A (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 |