CN114661771A - 一种股票数据的存储与读取方法、设备以及可读存储介质 - Google Patents
一种股票数据的存储与读取方法、设备以及可读存储介质 Download PDFInfo
- Publication number
- CN114661771A CN114661771A CN202210390371.XA CN202210390371A CN114661771A CN 114661771 A CN114661771 A CN 114661771A CN 202210390371 A CN202210390371 A CN 202210390371A CN 114661771 A CN114661771 A CN 114661771A
- Authority
- CN
- China
- Prior art keywords
- target
- stock data
- check code
- stock
- data
- 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 52
- 238000013500 data storage Methods 0.000 title abstract description 12
- 238000004590 computer program Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 239000013589 supplement Substances 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 2
- 238000011144 upstream manufacturing Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/23—Updating
-
- 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
- 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
Abstract
本申请涉及一种股票数据的存储与读取方法、设备以及可读存储介质,其存储方法包括获取目标交易时间下的目标股票数据并进行命名,得到与目标股票数据相对应的目标校验码标识,由目标校验码标识归档的目标股票数据判断目标股票数据中是否包含有大于或等于目标校验码标识的历史校验码标识,若是,则在目标股票数据中删除历史校验码标识以及相对应的历史股票数据,若否,则将目标股票数据和目标校验码标识存入数据库中;其读取方法包括:接收下游终端发送的数据请求,根据数据请求中的请求校验码标识与数据库中的历史校验码标识进行比对,根据比对结果读取相应的历史股票数据并发送至下游终端。本申请具有降低股票数据存储的内的效果。
Description
技术领域
本发明涉及股票数据的技术领域,尤其是涉及一种股票数据的存储与读取方法、设备以及可读存储介质。
背景技术
目前,随着新股票上市速率的不断加快以及股票历史数据的不断积累,股票数据库中存储了海量的股票数据及其衍生数据,从而导致股票数据库的内存一直处于不断膨胀的状态,而在对股票数据进行归档时,可能会出现重复归档或者股票数据出现偏差的情况,而导致数据库的内存被这些无用重叠的股票数据占用,不利于股票数据的正确存储的同时也增加了股票数据的存储成本。
上述中的现有技术方案存在以下缺陷:大量的股票数据的不断存储导致股票数据库一直处于不断膨胀的状态,且当股票数据重复归档时重复的股票数据占用了数据库的内存,导致数据库的内存过大从而增加了股票数据的存储成本。
发明内容
为了降低股票数据存储的内存,本申请提供一种股票数据的存储与读取方法、设备以及可读存储介质。
本申请的上述发明目的一是通过以下技术方案得以实现的:
提供一种股票数据的存储方法,所述股票数据的存储方法包括:
获取目标交易时间下的目标股票数据;
根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识;
根据所述由目标校验码标识归档的目标股票数据判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识;
若是,则在所述目标股票数据中删除所述历史校验码标识以及与所述历史校验码标识相对应的历史股票数据;
若否,则将所述目标股票数据和所述目标校验码标识存入所述数据库中。
需要说明的是,所述数据库为分布式可存储数据库,如levelDB数据库、MongoDB数据库等,优选levelBD数据库,应理解对股票数据的存储不局限于本实施例中的一种数据库。
通过采用上述技术方案,在对股票数据进行归档存储时,首先,获取目标交易时间下的目标股票数据,根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识,根据所述由目标校验码标识归档的目标股票数据判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识,若所述目标股票数据中包含有大于或等于所述目标校验码标识的历史校验码标识,说明目标股票数据中存在重复归档的股票数据,会造成股票数据库内存的占用,因此需要在所述目标股票数据中删除所述历史校验码标识以及与历史校验码标识相对应的历史股票数据,若所述目标股票数据中不包含有大于或等于所述目标校验码标识的历史校验码标识,说明目标股票数据中不存在重复归档的股票数据,此时则将所述目标股票数据和对应的目标校验码标识存入所述数据库中,实现对股票数据的存储,本申请通过删除重复归档的股票数据来降低股票数据存储的内存,减少股票数据存储的成本。
本申请在一较佳示例中可以进一步配置为:所述根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识,具体包括:
根据预设命名方式对所述目标股票数据中的目标交易时间进行命名,得到基于目标交易时间的目标校验码标识;
根据交易时间顺序判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识;
根据所述判断结果对所述目标股票数据做数据处理。
通过采用上述技术方案,在对股票数据进行归档时,根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识,具体的,根据预设命名方式对所述目标股票数据中的目标交易时间进行命名,得到基于目标交易时间的目标校验码标识,根据交易时间顺序判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识,具体的,根据交易时间顺序对所述目标校验码和所述历史校验码标识进行比对,若历史校验码标识大于或等于所述目标校验码标识,则判断所述目标股票数据中存在有与所述历史校验码相对应的历史股票数据,此时需要删除目标股票数据中的历史股票数据以及对应的历史校验码标识,以避免重复归档的无用的历史股票数据占用数据库内存,从而达到降低股票数据存内存,减少股票数据存储成本的目的。
本申请在一较佳示例中可以进一步配置为:所述根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据相对应的目标校验码,具体包括:
根据预设校验码算法对所述目标股票数据进行计算,得到与目标股票数据相关联的目标校验码值;
根据预设命名方式对所述目标校验码值进行命名,得到基于目标校验码值的目标校验码标识;
根据目标校验码值的大小判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识;
根据所述判断结果对所述目标股票数据做数据处理。
通过采用上述技术方案,在对股票数据进行归档存储时,具体的,根据预设校验码算法对所述目标股票数据进行计算,得到与目标股票数据相关联的目标校验码值,根据预设命名方式对所述目标校验码值进行命名,得到基于目标校验码值的目标校验码标识,根据所述目标校验码标识可以对所述目标股票数据进行查找,根据目标校验码值的大小判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识,若历史校验码标识大于或等于所述目标校验码标识,则说明目标股票数据中存在历史校验码标识所对应的历史股票数据,此时目标股票数据中出现重复归档的情况,因此需要将目标股票数据中重复归档的历史股票数据以及对应的历史校验码标识删除,以避免重复的股票数据占用股票数据库内存,从而降低了股票存储的内存,进而减少了股票存储的成本。
本申请在一较佳示例中可以进一步配置为:所述根据预设校验码算法对所述目标股票数据进行计算,得到与目标股票数据相关联的目标校验码值,具体包括:
根据预设校验码算法对所述目标股票数据进行计算,得到第一校验码值;
根据所述目标校验码标识在数据库中查找仅次于所述目标校验码标识的第二历史校验码标识;
根据查找结果读取与所述第二历史校验码标识相对应的第二历史校验码值;
将所述第一校验码值与第二历史校验码值做和运算,得到目标股票数据的目标校验码值,所述目标校验码值与所述目标校验码标识对应关联。
通过采用上述技术方案,在对股票数据进行归档存储时,首先,根据预设校验码算法对所述目标股票数据进行计算,得到第一校验码值,根据所述目标校验码标识在数据库中查找仅次于所述目标校验码标识的第二历史校验码标识,根据查找结果读取与所述第二历史校验码标识相对应的第二历史校验码值,将所述第一校验码值与第二历史校验码值做和运算,得到目标股票数据的目标校验码值,所述目标校验码值与所述目标校验码标识对应关联,例如,所述股票上市交易时间所对应的校验码值为上市当天的股票数据所计算得到的数值,上市第二天的校验码值为上市第二天的股票数据所计算得到的数值加上上市第一天的校验码值,以此类推,因为股票校验码值是在股票交易时间的基础上不断累加的,所以每一个股票交易日所对应的校验码值都不一样,保证了股票校验码的连续性,也不至于在对数据存储时查找全部的股票数据来判断是否有重复归档的情况,减少股票数据库的运行压力。
本申请在一较佳示例中可以进一步配置为:所述根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据对应关联的目标数据标识,所述目标数据标识与所述目标校验码标识至少存在部分相同字段,以便通过目标校验码标识查找相应的目标数据标识。
通过采用上述技术方案,在对股票数据进行归档存储时,首先,根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据对应关联的目标数据标识,所述目标数据标识与所述目标校验码标识至少存在部分相同字段,例如所述部分相同字段可以为股票代码、交易时间等,以便通过目标校验码标识查找相应的目标数据标识,具体的,通过查找目标校验码标识,判断目标校验码是否存在,若存在,则根据与目标校验码标识相同字段关联到目标股票数据标识,根据所述目标股票数据标识查找对应的目标股票数据,因为股票数据是复杂且庞大的,如果直接对股票数据进行查找,对股票数据库的运行性能的要求会更加的苛刻,而且查找难度也直线上升,本申请中通过合理拆分股票数据与校验码,在对股票数据进行存储读取时,仅需要对校验码进行查找就可判断目标股票数据中是否有重复归档的股票数据,从而降低股票数据库的运行压力,同时也便于判断下游终端请求中的股票数据是否与服务器存储的数据一致,进而判断服务器与下游终端之间的数据传输是否出现误差。
本申请的上述发明目的二是通过以下技术方案得以实现的:
提供一种股票数据的读取方法,所述股票数据的读取方法用于读取由上述存储方法所存储的股票数据,包括:
接收下游终端发送的数据请求;
根据所述数据请求中的请求校验码标识与数据库中的历史校验码标识进行比对;
根据比对结果读取相应的历史股票数据并发送至下游终端。
通过采用上述技术方案,在对股票数据进行存储时,首先,接收下游终端发送的数据请求,根据所述数据请求中的请求校验码标识与数据库中的历史校验码标识进行比对,根据比对结果读取相应的历史股票数据并发送至下游终端。通过校验码就可以查找到对应的历史股票数据,通过校验码比对就可以知道服务器的数据库与下游终端之间传输的数据有没有出现偏差,根据比对结果对下游终端中占用多余库存的无用股票数据进行更替或者数据更新,降低股票数据的存储内存,且不需要每一次读取股票数据都对庞大的股票数据进行遍历查找,降低服务器的运行压力。
本申请在一较佳示例中可以进一步配置为:所述根据比对结果读取相应的历史股票数据并发送至下游终端,具体包括:
根据比对结果判断下游终端中的缓存股票数据是否与数据库中对应股票代码下的目标股票数据相匹配;
若匹配,则读取所述历史校验码标识之后的所有股票数据,并发送至下游终端,以便对下游终端的缓存股票数据进行补充更新。
通过采用上述技术方案,在对下游终端的数据请求做处理时,对股票数据进行读取时,首先,根据比对结果判断下游终端中的缓存股票数据是否与数据库中对应股票代码下的目标股票数据相匹配,若匹配说明下游终端与上游服务器之间的数据传输正常,没有出现数据偏差,则读取所述历史校验码标识之后的所有股票数据,并发送至下游终端,以便对下游终端的缓存股票数据进行补充更新,通过校验码匹配成功再读取相对应的股票数据,不需要在对数据处理时对庞大的股票数据进行遍历查找运算对比,减少了股票服务器的运行压力,优化股票服务器的服务性能。
本申请在一较佳示例中可以进一步配置为:所述根据比对结果判断下游终端中的缓存股票数据是否与数据库中对应股票代码下的目标股票数据相匹配,还包括:
若缓存股票数据与数据库中的目标股票数据之间不匹配,则读取数据库中对应股票代码的全部股票数据发送至下游终端,以便对下游终端中的缓存股票数据进行替换。
通过采用上述技术方案,在对下游终端的数据请求做处理时,在对股票数据进行读取时,当缓存股票数据与数据库中的目标股票数据之间不匹配,说明下游终端中已缓存的缓存股票数据与上游服务器传输的股票数据不相匹配,则读取数据库中对应股票代码的全部股票数据发送至下游终端,以便对下游终端中的缓存股票数据进行替换,需要对下游终端中有偏差的股票数据进行全部替换,通过校验码匹配来判断上游服务器与下游终端之间的数据传输是否出现偏差,再对有偏差的股票数据进行全部的更新替换,减少无用股票数据对内存的占用,有效降低股票数据存储的内存和数据错误性,且通过校验码匹配来保证下游终端接收到的是正确的股票数据,根据匹配结果来查找对应的股票数据,并对下游服务器的数据请求做出相应的处理,减少上游服务器对股票数据的查找压力,优化上游服务器的服务性能。
本申请的上述发明目的三是通过以下技术方案得以实现的:
提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的股票数据的存储方法的步骤;或者,所述计算机程序被处理器执行时实现如上所述股票数据的读取方法的步骤。
本申请的上述发明目的四是通过以下技术方案得以实现的:
提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的股票数据的存储方法的步骤;或者,所述计算机程序被处理器执行时实现如上所述股票数据的读取方法的步骤。
综上所述,本申请包括以下至少一种有益技术效果:
1、通过校验码匹配来查找相应的股票数据,并根据匹配结果对数据库中的无用重叠的股票数据进行删除或更新替换,从而降低股票数据存储的内存;
2、根据预设的校验码计算公式对股票数据进行计算,得到基于股票数据的连续叠加的校验码,所述校验码与股票数据对应关联,通过校验码匹配结果来查找对应的股票数据,相对于在庞大的股票数据中直接查找股票数据并实时计算校验码来说,通过校验码匹配来进行查找的方式提升股票数据查找的速度。
附图说明
图1是一实施例中股票数据的存储方法的流程图。
图2是一实施例中股票数据的存储方法的步骤S20的实现流程图。
图3是一实施例中股票数据的存储方法的步骤S20的另一实现流程图。
图4是一实施例中股票数据的存储方法的步骤S301的实现流程图。
图5是一实施例中股票数据的读取方法的流程图。
具体实施方式
以下结合附图对本申请作进一步详细说明。
在一实施例中,如图1所示,本申请公开了一种股票数据的存储方法,具体包括如下步骤:
S10:获取目标交易时间下的目标股票数据。
具体的,在股票收盘后对当天的所有股票数据进行整理归档,得到目标交易时间下的目标股票数据,目标股票数据包括股票代码、交易时间、开盘价、最高价、最低价、收盘价、成交量和成交额等。
S20:根据预设命名方式对目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识。
结合图2,步骤S20的子步骤具体如下:
S201:根据预设命名方式对目标股票数据中的目标交易时间进行命名,得到基于目标交易时间的目标校验码标识。
具体的,预设命名方式为校验码符号、股票代码和交易时间,根据交易时间的大小顺序对目标股票数据进行排序,目标校验码标识包括校验码标识和数据标识,校验码标识与数据标识的区别在于校验码符号不同,如校验码标识为校验码key=CRC_SH600000_00000000001639726200,其中CRC为校验码标识符号,SH600000为股票代码,00000000001639726200为根据交易时间计算得到的特定格式的交易时间数据,数据标识为数据key=DAT_SH600000_00000000001639726200,其中,数据标识符号为DAT。
S202:根据交易时间顺序判断目标股票数据中是否包含有大于或等于目标校验码标识的历史校验码标识。
具体的,在股票收盘后对股票数据进行存储时,根据交易时间顺序对目标股票数据进行查找,判断目标股票数据中是否包含有大于或等于目标校验码标识的历史校验码标识,若有,说明数据库中存在相同校验码key值的股票数据,可能是由于对同一交易时间下的股票数据的重复归档或者在对该股票数据进行数据修复时未及时删除无用的股票数据而造成的数据重叠,重叠的无用的股票数据占用了股票数据库的内存,导致股票数据库的内存过大,因此需要判断目标股票数据中是否有大于或等于目标校验码标识的历史校验码标识,从而来判断目标股票数据中是否有重叠的无用股票数据。
S203:根据判断结果对目标股票数据做数据处理。
具体的,若目标股票数据中包含大于或等于目标校验码标识的历史校验码标识,则删除目标股票数据中的大于或等于目标校验码标识的历史校验码标识以及历史校验码标识所对应的重叠的历史股票数据,以释放被无用的股票数据占用的数据库内存,达到降低股票数据存储内存的目的;若目标股票数据中不包含大于或等于目标校验码标识的历史校验码标识,则根据交易时间的顺序将目标股票数据存入数据库中。
本实施例中,在对股票数据进行归档时,根据预设命名方式对目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识,具体的,根据预设命名方式对目标股票数据中的目标交易时间进行命名,得到基于目标交易时间的目标校验码标识,根据交易时间顺序判断目标股票数据中是否包含有大于或等于目标校验码标识的历史校验码标识,具体的,根据交易时间顺序对目标校验码和历史校验码标识进行比对,若历史校验码标识大于或等于目标校验码标识,则判断目标股票数据中存在有与历史校验码相对应的历史股票数据,此时需要删除目标股票数据中的历史股票数据,以避免重复归档的无用的历史股票数据占用数据库内存,从而达到降低股票数据存内存,减少股票数据存储成本的目的。
需要说明的是,还可以根据校验码值来对目标校验码标识进行命名,具体的,结合图3,根据校验码值来对目标校验码标识进行命名的步骤具体包括:
S301:根据预设校验码算法对目标股票数据进行计算,得到与目标股票数据相关联的目标校验码值。
具体的,根据预设校验码算法对目标股票数据进行计算,如获取同一股票代码下的日k线校验码,日k线数据包括交易时间、开盘价、最高价、最低价、收盘价、成交量和成交额等数据,该日k线的校验码=交易时间+开盘价<<10+最高价<<8+最低价<<6+收盘价<<4+成交量<<2+成交额,其中的<<符号为左移符号,对日k线的股票数据依次左移组合得到目标校验码值,需要说明的是,目标校验码值由包括交易时间在内的股票数据计算得到,股票交易时间是递增的,所得到的目标校验码值也是递增的。
S302:根据预设命名方式对目标校验码值进行命名,得到基于目标校验码值的目标校验码标识。
具体的,目标校验码标识为校验码标识key=CRC_股票代码_校验码值,目标校验码标识与数据标识key相对应,通过目标校验码标识直接关联对应的数据key,从而查找到对应的目标股票数据。
S303:根据目标校验码值的大小判断目标股票数据中是否包含有大于或等于目标校验码标识的历史校验码标识。
在股票收盘后对股票数据进行存储时,根据目标校验码值的大小对目标股票数据进行查找,判断目标股票数据中是否包含有大于或等于目标校验码标识的历史校验码标识,若有,说明数据库中存在相同校验码key值的股票数据,可能是由于对同一交易时间下的股票数据的重复归档或者在对该股票数据进行数据修复时未及时删除无用的股票数据而造成的数据重叠,重叠的无用的股票数据占用了股票数据库的内存,导致股票数据库的内存过大,因此需要判断目标股票数据中是否有大于或等于目标校验码标识的历史校验码标识,从而来判断目标股票数据中是否有重叠的无用股票数据。
S304:根据判断结果对目标股票数据做数据处理。
具体的,若目标股票数据中包含大于或等于目标校验码标识的历史校验码标识,则删除目标股票数据中的历史校验码标识以及与历史校验码对应的重叠的历史股票数据,以释放被无用的股票数据占用的数据库内存,达到降低股票数据存储内存的目的;若目标股票数据中不包含大于或等于目标校验码标识的历史校验码标识,则根据校验码值的大小顺序将目标股票数据存入数据库中。
S30:根据由目标校验码标识归档的目标股票数据判断目标股票数据中是否包含有大于或等于目标校验码标识的历史校验码标识。
具体的,因为校验码标识是依次连续叠加的,所以当目标校验码标识中包含有大于或等于目标校验码标识时,说明目标股票数据中存在重叠或者重复归档的股票数据。
S40:若是,则在目标股票数据中删除历史校验码标识以及与历史校验码标识相对应的历史股票数据。
具体的,若目标股票数据中包含有大于或等于目标校验码标识的历史校验码标识,则说明目标股票数据中包含有重叠或重复归档的历史股票数据,该重叠的历史股票数据占用了股票数据库的内存,因此要删除该重叠的历史股票数据以及对应的历史校验码标识以达到释放股票数据库的内存的目的,从而降低股票存储的内存。
S50:若否,则将目标股票数据和目标校验码标识存入数据库中。
具体的,若目标股票数据中不包含大于或等于目标校验码标识的历史校验码标识,则说明目标股票数据中没有重叠或重复归档的历史股票数据,此时将目标校验码标识结合目标股票数据存入数据库中。需要说明的是,本实施例中的数据库为levelDB 数据库,应理解对股票数据的存储不局限于本实施例中的一种数据库,可根据实际需要进行设置。
本实施例中,在对股票数据进行归档存储时,首先,获取目标交易时间下的目标股票数据,根据预设命名方式对目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识,根据目标校验码判断目标股票数据中是否包含有大于或等于目标校验码标识的历史校验码标识,若目标股票数据中包含有大于或等于目标校验码标识的历史校验码标识,说明目标股票数据中存在重复归档的股票数据,会造成股票数据库内存的占用,因此需要在目标股票数据中删除历史校验码标识以及历史校验码所对应的历史股票数据,若目标股票数据中不包含有大于或等于目标校验码标识的历史校验码标识,说明目标股票数据中不存在重复归档的股票数据,此时则将目标股票数据和目标校验码标识存入数据库中,实现对股票数据的存储,本实施例通过删除重复归档的股票数据来降低股票数据存储的内存,减少股票数据存储的成本。
在一实施例中,如图4所示,根据预设校验码算法对目标股票数据进行计算,得到与目标股票数据相关联的目标校验码值,具体包括:
S401:根据预设校验码算法对目标股票数据进行计算,得到第一校验码值。
具体的,目标股票数据包括交易时间、开盘价、最高价、收盘价、最低价、成交额和成交量等,根据预设校验码算法对目标股票数据进行计算,如获取同一股票代码下的日k线校验码,日k线数据包括交易时间、开盘价、最高价、最低价、收盘价、成交量和成交额等数据,该日k线的校验码=交易时间+开盘价<<10+最高价<<8+最低价<<6+收盘价<<4+成交量<<2+成交额,其中的<<符号为左移符号,对日k线的股票数据依次左移组合得到目标校验码值,根据交易时间的不同所计算出来的每一个校验码值都是不相同且连续叠加的,对校验码的计算方式不局限于本实施例中的一种。
S402:根据目标校验码标识在数据库中查找仅次于目标校验码标识的第二历史校验码标识。
具体的,根据目标校验码标识在数据库中查找仅次于目标校验码标识的第二历史校验码标识,例如,目标交易时间为12月21号,则第二历史校验码标识所对应的交易时间为12月20号。
S403:根据查找结果读取与第二历史校验码标识相对应的第二历史校验码值。
具体的,根据查找结果读取与第二历史校验码标识相对应的第二历史校验码值,具体的,根据交易时间的顺序在数据库中进行查找,若历史校验码标识与目标股票校验码标识相匹配,则读取对应的第二历史校验码值。
S404:将第一校验码值与第二历史校验码值做和运算,得到目标股票数据的目标校验码值,目标校验码值与目标校验码标识对应关联。
具体的,通过将第一校验码值与第二历史校验码值做和运算,得到目标股票数据的目标校验码值,目标校验码值与历史校验码值之间是连续叠加的,目标校验码值与目标校验码标识对应关联,以便通过目标校验码标识直接读取目标校验码值,保证校验码的合理拆分。
本实施例中,在对股票数据进行归档存储时,首先,根据预设校验码算法对目标股票数据进行计算,得到第一校验码值,根据目标校验码标识在数据库中查找仅次于目标校验码标识的第二历史校验码标识,根据查找结果读取与第二历史校验码标识相对应的第二历史校验码值,将第一校验码值与第二历史校验码值做和运算,得到目标股票数据的目标校验码值,目标校验码值与目标校验码标识对应关联,例如,股票上市交易时间所对应的校验码值为上市当天的股票数据所计算得到的数值,上市第二天的校验码值为上市第二天的股票数据所计算得到的数值加上上市第一天的校验码值,以此类推,因为股票校验码值是在累加的,所以每一个股票交易日所对应的校验码值都不一样,保证了股票校验码的连续性,也不至于在对数据存储时查找全部的股票数据来判断是否有重读归档的情况,减少股票数据库的运行压力。
在一实施例中,根据预设命名方式对目标股票数据进行命名,得到与目标股票数据对应关联的目标数据标识,目标数据标识与目标校验码标识至少存在部分相同字段,以便通过目标校验码标识查找相应的目标数据标识。
具体的,目标数据标识与目标校验码标识之间至少存在部分相同字段,如股票代码、股票交易时间等,目标数据标识和目标校验码标识不同之处在于校验码标识符号不同,如数据标识符号为DAT,校验码标识为CRC。
本实施例中,在对股票数据进行归档存储时,首先,根据预设命名方式对目标股票数据进行命名,得到与目标股票数据对应关联的目标数据标识,目标数据标识与目标校验码标识至少存在部分相同字段,例如部分相同字段可以为股票代码、交易时间等,以便通过目标校验码标识查找相应的目标数据标识,具体的,通过查找目标校验码标识,判断目标校验码是否存在,若存在,则根据与目标校验码标识相同字段关联到目标股票数据标识,根据目标股票数据标识查找对应的目标股票数据,因为股票数据是复杂且庞大的,如果直接对股票数据进行查找,对股票数据库的运行性能的要求会更加的苛刻,而且查找难度也直线上升,本申请中通过合理拆分股票数据与校验码,在对股票数据存储时,仅需要对校验码进行查找就可判断是否有重复归档的股票数据,降低股票数据库的运行压力。
在一实施例中,如图5所示,公开了一种股票数据的读取方法,该股票数据的读取方法用于读取由上述存储方法所存储的股票数据,包括:
S501:接收下游终端发送的数据请求。
具体的,数据请求中的请求参数至少包括股票代码、交易时间和请求校验码,根据预设命名方式对数据请求中的请求参数进行命名,得到请求校验码key=CRC_股票代码_交易时间;根据请求校验码key在数据库中查找对应的校验码key。
S502:根据数据请求中的请求校验码标识与数据库中的历史校验码标识进行比对。
具体的,根据请求校验码标识key在数据库中与校验码key进行查找对比,根据比对结果向数据请求做出处理,若查找的到相同的校验码,则判断传输至下游终端的股票数据是正确的,若查找不到相同的股票校验码则判断服务器传输至下游终端的股票数据是有误差的。
S503:根据比对结果读取相应的历史股票数据并发送至下游终端。
具体的,根据比对结果读取相应的历史股票数据并发送至下游终端,如若下游终端接收到的股票数据是无误的,则发送请求时间之后的股票数据至下游终端,以便对下游终端中的股票数据进行进一步的更新,若下游终端接收到的股票数据是有误差的,则发送对应股票代码的从上市时间开始的所有股票数据至下游终端中,以便对有误差的股票数据进行替换,以及对请求时间之后的股票数据进行更新。
步骤S503具体以下子步骤:
S5031:根据比对结果判断下游终端中的缓存股票数据是否与数据库中对应股票代码下的目标股票数据相匹配。
具体的,根据校验码匹配结果判断下游终端中的缓存股票数据是否与数据库中对应的股票代码下的目标股票数据相匹配,若校验码匹配一致,则说明下游终端与上游服务器之间的数据传输没有出现误差,下游终端接收到的股票数据与数据库中的一致,若校验码匹配不一致,则说明下游终端与上游服务器之间的数据传输出现偏差,下游终端中的缓存股票数据可能有误差。
S5032:若匹配,则读取历史校验码标识之后的所有股票数据,并发送至下游终端,以便对下游终端的缓存股票数据进行替换和补充更新。
具体的,若下游终端接收到的股票数据没有误差,则不需要对正确传输的股票数据再次进行传输,仅需要对请求时间之后的股票数据进行传输,以对下游终端中的缓存股票数据进行补充更新。
S5033:若不匹配,则读取数据库中对应股票代码的全部股票数据发送至下游终端,以便对下游终端中的缓存股票数据进行替换。
具体的,若不匹配则说明缓存股票数据与上游服务器的数据传输出现误差,此时需要读取对应股票代码下的所有股票数据并传输至下游终端,以便对有误差的股票数据进行覆盖替换并对请求时间之后的股票数据进行更新,避免有误差的无用股票数据继续占用数据库内存,减少股票数据存储的内存。
本实施例中,在对下游终端的数据请求做处理时,对股票数据进行读取时,首先,根据比对结果判断下游终端中的缓存股票数据是否与数据库中对应股票代码下的目标股票数据相匹配,若匹配说明下游终端与上游服务器之间的数据传输正常,没有出现数据偏差,则读取历史校验码标识之后的所有股票数据,并发送至下游终端,以便对下游终端的缓存股票数据进行补充更新,通过校验码匹配成功再读取相对应的股票数据,不需要在对数据处理时对庞大的股票数据进行遍历查找对比,减少了股票服务器的运行压力,优化股票服务器的服务性能。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一实施例中,提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的股票数据的存储方法的步骤;或者,所述计算机程序被处理器执行时实现如上所述股票数据的读取方法的步骤。
在一实施例中,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的股票数据的存储方法的步骤;或者,所述计算机程序被处理器执行时实现如上所述股票数据的读取方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种股票数据的存储方法,其特征在于,所述股票数据的存储方法包括:
获取目标交易时间下的目标股票数据;
根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识;
根据所述由目标校验码标识归档的目标股票数据判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识;
若是,则在所述目标股票数据中删除所述历史校验码标识以及与历史校验码标识相对应的历史股票数据;
若否,则将所述目标股票数据和所述目标校验码标识存入所述数据库中。
2.根据权利要求1所述的股票数据的存储方法,其特征在于,所述根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据相对应的目标校验码标识,具体包括:
根据预设命名方式对所述目标股票数据中的目标交易时间进行命名,得到基于目标交易时间的目标校验码标识;
根据交易时间顺序判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识;
根据所述判断结果对所述目标股票数据做数据处理。
3.根据权利要求1所述的股票数据的存储方法,其特征在于,所述根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据相对应的目标校验码,具体包括:
根据预设校验码算法对所述目标股票数据进行计算,得到与目标股票数据相关联的目标校验码值;
根据预设命名方式对所述目标校验码值进行命名,得到基于目标校验码值的目标校验码标识;
根据目标校验码值的大小判断所述目标股票数据中是否包含有大于或等于所述目标校验码标识的历史校验码标识;
根据所述判断结果对所述目标股票数据做数据处理。
4.根据权利要求3所述的股票数据的存储方法,其特征在于,所述根据预设校验码算法对所述目标股票数据进行计算,得到与目标股票数据相关联的目标校验码值,具体包括:
根据预设校验码算法对所述目标股票数据进行计算,得到第一校验码值;
根据所述目标校验码标识在数据库中查找仅次于所述目标校验码标识的第二历史校验码标识;
根据查找结果读取与所述第二历史校验码标识相对应的第二历史校验码值;
将所述第一校验码值与第二历史校验码值做和运算,得到目标股票数据的目标校验码值,所述目标校验码值与所述目标校验码标识对应关联。
5.根据权利要求1所述的股票数据的存储方法,其特征在于,还包括:
根据预设命名方式对所述目标股票数据进行命名,得到与目标股票数据对应关联的目标数据标识,所述目标数据标识与所述目标校验码标识至少存在部分相同字段,以便通过目标校验码标识查找相应的目标数据标识。
6.一种股票数据的读取方法,其特征在于,所述股票数据的读取方法用于读取由上述权利要求1-5任一项所述的存储方法所存储的股票数据,包括:
接收下游终端发送的数据请求;
根据所述数据请求中的请求校验码标识与数据库中的历史校验码标识进行比对;
根据比对结果读取相应的历史股票数据并发送至下游终端。
7.根据权利要求6所述的股票数据的读取方法,其特征在于,根据比对结果读取相应的历史股票数据并发送至下游终端,具体包括:
根据比对结果判断下游终端中的缓存股票数据是否与数据库中对应股票代码下的目标股票数据相匹配;
若匹配,则读取所述历史校验码标识之后的所有股票数据,并发送至下游终端,以便对下游终端的缓存股票数据进行补充更新。
8.根据权利要求7所述的股票数据的读取方法,其特征在于,所述根据比对结果判断下游终端中的缓存股票数据是否与数据库中对应股票代码下的目标股票数据相匹配,还包括:
若缓存股票数据与数据库中的目标股票数据之间不匹配,则读取数据库中对应股票代码的全部股票数据发送至下游终端,以便对下游终端中的缓存股票数据进行替换以及数据更新。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的股票数据的存储方法的步骤;或者,所述计算机程序被处理器执行时实现如权利要求6至8任一项所述股票数据的读取方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述股票数据的存储方法的步骤;或者,所述计算机程序被处理器执行时实现如权利要求6至8任一项所述股票数据的读取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210390371.XA CN114661771A (zh) | 2022-04-14 | 2022-04-14 | 一种股票数据的存储与读取方法、设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210390371.XA CN114661771A (zh) | 2022-04-14 | 2022-04-14 | 一种股票数据的存储与读取方法、设备以及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114661771A true CN114661771A (zh) | 2022-06-24 |
Family
ID=82035106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210390371.XA Pending CN114661771A (zh) | 2022-04-14 | 2022-04-14 | 一种股票数据的存储与读取方法、设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661771A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116957808A (zh) * | 2023-07-25 | 2023-10-27 | 海通证券股份有限公司 | 股票筛选方法、系统、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110125771A1 (en) * | 2009-11-25 | 2011-05-26 | Cleversafe, Inc. | Data de-duplication in a dispersed storage network utilizing data characterization |
CN106776837A (zh) * | 2016-11-25 | 2017-05-31 | 国云科技股份有限公司 | 一种基于MongoDB的证券实时交易关联分析的方法 |
CN109635084A (zh) * | 2018-11-30 | 2019-04-16 | 宁波深擎信息科技有限公司 | 一种多源数据文档实时快速去重方法及系统 |
CN111258966A (zh) * | 2020-01-14 | 2020-06-09 | 软通动力信息技术有限公司 | 一种数据去重方法、装置、设备及存储介质 |
CN112667675A (zh) * | 2021-03-17 | 2021-04-16 | 杭州趣链科技有限公司 | 数据查验方法、电子装置和存储介质 |
US20210334275A1 (en) * | 2020-04-24 | 2021-10-28 | International Business Machines Corporation | Processing multiple data sets to generate a merged location-based data set |
-
2022
- 2022-04-14 CN CN202210390371.XA patent/CN114661771A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110125771A1 (en) * | 2009-11-25 | 2011-05-26 | Cleversafe, Inc. | Data de-duplication in a dispersed storage network utilizing data characterization |
CN106776837A (zh) * | 2016-11-25 | 2017-05-31 | 国云科技股份有限公司 | 一种基于MongoDB的证券实时交易关联分析的方法 |
CN109635084A (zh) * | 2018-11-30 | 2019-04-16 | 宁波深擎信息科技有限公司 | 一种多源数据文档实时快速去重方法及系统 |
CN111258966A (zh) * | 2020-01-14 | 2020-06-09 | 软通动力信息技术有限公司 | 一种数据去重方法、装置、设备及存储介质 |
US20210334275A1 (en) * | 2020-04-24 | 2021-10-28 | International Business Machines Corporation | Processing multiple data sets to generate a merged location-based data set |
CN112667675A (zh) * | 2021-03-17 | 2021-04-16 | 杭州趣链科技有限公司 | 数据查验方法、电子装置和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116957808A (zh) * | 2023-07-25 | 2023-10-27 | 海通证券股份有限公司 | 股票筛选方法、系统、设备和介质 |
CN116957808B (zh) * | 2023-07-25 | 2024-02-23 | 海通证券股份有限公司 | 股票筛选方法、系统、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325865B (zh) | 异常处理方法、装置、计算机设备及存储介质 | |
WO2020220860A1 (zh) | 一种基于区块链系统的交易处理方法及装置 | |
CN112328294A (zh) | 一种车辆ecu的ota升级方法及系统 | |
CN112035144B (zh) | 区块链系统的升级方法、装置、计算机设备及存储介质 | |
CN114661771A (zh) | 一种股票数据的存储与读取方法、设备以及可读存储介质 | |
CN112613993A (zh) | 交易数据处理方法、装置、计算机设备和存储介质 | |
CN113407525B (zh) | K线数据检查方法、装置、计算机设备及可读存储介质 | |
CN114265613B (zh) | 一种整车所有电控单元固件差分升级方法及系统 | |
CN115277677A (zh) | 批量档案挂接方法、装置、计算机设备及存储介质 | |
CN113935443A (zh) | 异构设备多域联合故障预测方法、装置、终端及存储介质 | |
CN113672634A (zh) | 保单数据的校验方法、装置、设备及存储介质 | |
CN113407515A (zh) | 应用于人工智能的大数据维护方法及大数据服务器 | |
CN105630625A (zh) | 检测数据副本之间的一致性的方法和装置 | |
CN115883308A (zh) | 共识算法中主节点选取方法、装置、电子设备和存储介质 | |
WO2022217795A1 (zh) | 失效位置的修补方法和装置 | |
CN110955647A (zh) | 数据库辅助方法、装置、计算机设备和存储介质 | |
CN114968963A (zh) | 文件覆盖写方法、装置和电子设备 | |
CN113242147A (zh) | 多云环境的自动化运维部署方法、装置、设备和存储介质 | |
CN110673987A (zh) | 数据库的恢复方法、装置、设备和存储介质 | |
CN114268624B (zh) | 版本文件传输方法、装置及服务器 | |
CN111562926A (zh) | 用于更新断路器固件的系统和方法 | |
CN109753500B (zh) | 刀闸状态异常数据识别方法、装置和计算机设备 | |
CN116028078B (zh) | 一种基于vpn技术的软件远程升级方法 | |
CN117473200B (zh) | 一种用于网站信息数据的综合采集分析方法 | |
CN113313594B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220624 |
|
RJ01 | Rejection of invention patent application after publication |