System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,特别涉及一种预埋单存储方法、装置、设备及存储介质。
技术介绍
1、在证券和期货交易过程中,对高频交易的专业投资者来说,处理订单做到‘0延时’是技术追求的目标之一,所以应运而生了预埋单的功能在还没有开盘之前先提前下好单,等开盘后单子直接报给交易所,所以单子数量很大对应存储也会比较大,由于不同平台存储的单子不同,所以为了保证存储空间的最大使用率,就生成了对预埋单的存储管理算法。由此在fpga(field programmable gate array,现场可编程逻辑门阵列)内,在相同资源存储格式下,能尽可能的复用这些存储空间,灵活的使用存储空间,是高频交易柜台研究的课题之一。
技术实现思路
1、有鉴于此,本专利技术的目的在于提供一种预埋单存储方法、装置、设备及存储介质,能够对预埋单存储方式进行方案优化,大大减少了存储空间,提升了空间的使用率。其具体方案如下:
2、第一方面,本申请公开了一种预埋单存储方法,包括:
3、在收到预埋单时,根据所述预埋单对应的下单通道号查询预设fpga内部地址管理中是否存在所述下单通道号对应的预设一级地址管理区域地址;
4、若存在,则根据所述预设一级地址管理区域地址读取预设一级地址管理区域,获取相应的各预设二级数据存储区域的最大订单编号,基于所述最大订单编号与所述预埋单的订单编号的大小关系确定所述预埋单的插入位置;
5、利用所述插入位置查询所述预设一级地址管理区域中的预设二级数据存储区域地
6、基于各所述目标订单编号的大小顺序确定所述预埋单的待插入地址,并根据所述待插入地址将所述预埋单存储至所述预设二级数据存储区域。
7、可选的,所述根据所述预埋单对应的下单通道号查询预设fpga内部地址管理中是否存在所述下单通道号对应的预设一级地址管理区域地址之后,还包括:
8、若所述预设fpga内部地址管理中不存在所述下单通道号对应的预设一级地址管理区域地址,则新建一级地址管理区域以及二级地址管理区域对所述预埋单的信息进行存储。
9、可选的,所述基于所述最大订单编号与所述预埋单的订单编号的大小关系确定所述预埋单的插入位置,包括:
10、若所述预埋单的订单编号小于所述最大订单编号,则将所述最大订单编号对应的预设二级数据存储区域确定为所述预埋单的插入位置。
11、可选的,所述方法,还包括:
12、若所述预设一级地址管理区域存储预设二级地址管理区域地址的数量达到第一数量阈值时,申请一片新的一级地址管理区域,并将所述新的一级地址管理区域对应的新的一级地址管理区域地址存储至所述预设一级地址管理区域;
13、若所述预设二级地址管理区域存储预埋单的数量达到第二数量阈值时,申请一片新的二级地址管理区域,并将所述新的二级地址管理区域对应的新的二级地址管理区域地址存储至当前一级地址管理区域。
14、可选的,所述方法,还包括:
15、若所述预设一级地址管理区域中不存在下一链路的一级地址管理区域,则在前端删除所述预埋单时,将所述预设一级地址管理区域地址回收至预设地址缓存池,以便所述前端申请一级地址管理区域地址时对所述预设一级地址管理区域地址进行再次利用;
16、若所述预设一级地址管理区域中存在下一链路的一级地址管理区域,且不存在上一链路的一级地址管理区域,则在所述前端删除所述预埋单时,将所述预设一级地址管理区域地址回收至所述预设地址缓存池,以便所述前端申请一级地址管理区域地址时对所述预设一级地址管理区域地址进行再次利用,并将下一链路的一级地址管理区域地址写入所述预设fpga内部地址管理中;
17、若所述预设一级地址管理区域中存在下一链路的一级地址管理区域和上一链路的一级地址管理区域,且上一链路的一级地址管理区域为从非预设fpga内部地址管理中读出的地址,则在所述前端删除所述预埋单时,将所述预设一级地址管理区域地址回收至所述预设地址缓存池,以便所述前端申请一级地址管理区域地址时对所述预设一级地址管理区域地址进行再次利用,并将下一链路的一级地址管理区域地址写入上一链路的一级地址管理区域对应的第一个地址位,以剔除无效链路。
18、可选的,所述根据所述待插入地址将所述预埋单存储至所述预设二级数据存储区域之后,还包括:
19、若所述预设二级数据存储区域中的预埋单数量达到第三数量阈值,则重新申请一片新的二级数据存储区域,将所述预设二级数据存储区域中的满足预设条件的订单编号存储至所述新的二级数据存储区域。
20、可选的,所述方法,还包括:
21、在前端删除所述预埋单时,若所述预设二级数据存储区域中存在一个预埋单,则将所述预设二级数据存储区域地址回收至预设地址缓存池,以便所述前端申请二级地址管理区域地址时对所述预设二级地址管理区域地址进行再次利用;
22、在前端删除所述预埋单时,若所述预设二级数据存储区域中存在若干个预埋单,则根据所述待插入地址将所述预设二级数据存储区域中所述预埋单删除,并对所述预设二级数据存储区域中的剩余预埋单进行重新排列后,将相应的排列后预埋单写入所述预设二级数据存储区域。
23、第二方面,本申请公开了一种预埋单存储装置,包括:
24、地址查询模块,用于在收到预埋单时,根据所述预埋单对应的下单通道号查询预设fpga内部地址管理中是否存在所述下单通道号对应的预设一级地址管理区域地址;
25、插入位置确定模块,用于若存在,则根据所述预设一级地址管理区域地址读取预设一级地址管理区域,获取相应的各预设二级数据存储区域的最大订单编号,基于所述最大订单编号与所述预埋单的订单编号的大小关系确定所述预埋单的插入位置;
26、订单编号获取模块,用于利用所述插入位置查询所述预设一级地址管理区域中的预设二级数据存储区域地址,并基于所述预设二级数据存储区域地址读取所述预设二级数据存储区域,以获取已存储预埋单的各目标订单编号;
27、预埋单存储模块,用于基于各所述目标订单编号的大小顺序确定所述预埋单的待插入地址,并根据所述待插入地址将所述预埋单存储至所述预设二级数据存储区域。
28、第三方面,本申请公开了一种电子设备,包括:
29、存储器,用于保存计算机程序;
30、处理器,用于执行所述计算机程序,以实现如前述的预埋单存储方法。
31、第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如前述的预埋单存储方法。
32、本申请在存储预埋单时,首先在收到预埋单时,根据所述预埋单对应的下单通道号查询预设fpga内部地址管理中是否存在所述下单通道号对应的预设一级地址管理区域地址;若存在,则根据所述预设一级地址管理区域地址本文档来自技高网...
【技术保护点】
1.一种预埋单存储方法,其特征在于,包括:
2.根据权利要求1所述的预埋单存储方法,其特征在于,所述根据所述预埋单对应的下单通道号查询预设FPGA内部地址管理中是否存在所述下单通道号对应的预设一级地址管理区域地址之后,还包括:
3.根据权利要求1所述的预埋单存储方法,其特征在于,所述基于所述最大订单编号与所述预埋单的订单编号的大小关系确定所述预埋单的插入位置,包括:
4.根据权利要求1所述的预埋单存储方法,其特征在于,还包括:
5.根据权利要求1所述的预埋单存储方法,其特征在于,还包括:
6.根据权利要求1所述的预埋单存储方法,其特征在于,所述根据所述待插入地址将所述预埋单存储至所述预设二级数据存储区域之后,还包括:
7.根据权利要求1至6任一项所述的预埋单存储方法,其特征在于,还包括:
8.一种预埋单存储装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利
...【技术特征摘要】
1.一种预埋单存储方法,其特征在于,包括:
2.根据权利要求1所述的预埋单存储方法,其特征在于,所述根据所述预埋单对应的下单通道号查询预设fpga内部地址管理中是否存在所述下单通道号对应的预设一级地址管理区域地址之后,还包括:
3.根据权利要求1所述的预埋单存储方法,其特征在于,所述基于所述最大订单编号与所述预埋单的订单编号的大小关系确定所述预埋单的插入位置,包括:
4.根据权利要求1所述的预埋单存储方法,其特征在于,还包括:
5.根据权利要求1所述的预埋单存储方...
【专利技术属性】
技术研发人员:李红英,陈旺,
申请(专利权)人:盛立安元科技杭州股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。