一种数据压缩存储处理装置及方法与流程

文档序号:17724766发布日期:2019-05-22 02:25阅读:116来源:国知局
一种数据压缩存储处理装置及方法与流程

本发明涉及计算技术领域,尤其涉及证券交易过程中的一种数据压缩存储处理装置及方法。



背景技术:

随着社会的发展,从事证券交易相关的公司越来越多,随着金融投资策略研究的深入,及时获取准确相关行情及交易数据是这些公司的基本需求。而证券交易过程中,产生的数据体积比较庞大,并随着交易的进行不断增加,需要对交易过程中产生的大量数据进行压缩,以方便存储、处理和传输。现有技术中,虽然有针对证券交易数据进行压缩处理的技术,但是通常仅针对行情数据进行压缩处理,能处理的数据类型有限。并且由于算法效率较低,加载速度受限,实时性不够高。对于交易速度要求高,数据量大的机构公司来说,依然不能满足要求;因此需要提供一种数据压缩存储处理装置及方法。



技术实现要素:

本发明为克服上述的不足之处,目的在于提供一种数据压缩存储处理装置及方法,本方法能处理交易过程中获取或产生的一系列数据混合数据流,包括股票、期货、期权等二级市场所有交易行情数据,开盘时各个股票信息、品种信息,盘中行情数据、逐笔下单和成交数据,日内交易系统内部的资金、仓位信息、下单和交易回报等内部系统协议等多种数据,通过识别不同的数据类型采用不同的压缩方式,并且在存储空间分配上采用预先分配默认存储空间再根据数据实际大小进行的动态调节,实现数据存储的自适应。能实现在保证数据精度的同时,有效的减少了数据量,提高了传输效率,减少数据存储的空间,为交易系统的实时性提供保障。

本发明是通过以下技术方案达到上述目的:一种数据压缩存储处理装置,包括数据获取模块、预处理模块、分类模块、压缩处理模块、调整模块、数据写入模块;所述数据获取模块,用于从数据来源处采集需要进行处理的原始数据,所述原始数据为证券市场交易过程中产生的各种数据的混合数据流。所述预处理模块,对从数据获取模块中取得的数据进行预处理,使数据符合压缩标准,包括取绝对值和浮点取整,将符号位单独存放。所述分类模块,用于对预处理后的混合数据流进行识别和分类,分出不同的数据类型,通过类型标记位予以标记。所述压缩处理模块,根据标记位标记的数据类型的不同,按照不同的预设方式对数据进行数据压缩处理,提高数据关联性,减少数据量。所述调整模块,能实现每个字段的需要的存储大小进行预估,根据预估存储长度的不同,对压缩后的数据分配不同默认存储长度,再根据压缩后数据的实际情况,对超过预定分配空间的数据进行动态调整,实现储存空间与数据长度相适配。所述数据写入模块,用于将处理后的数据,写入按分配的存储空间长度的存储格式中,得到处理后的数据。

作为优选,所述压缩处理模块可以划分为基准确定单元,差值计算单元和替换压缩单元,其中所述基准确定单元,能实现针对不同类型的数据的不同字段,选择一个恰当的数据的一个字段为数据压缩算法的基准;所述差值计算单元,能够实现将待压缩数据与基准做差,得到差值。所述替换压缩单元,能够实现将差值符号位与绝对值分开存放,将差值符号位与绝对值替换待处理数据,实现数据压缩。

作为优选,所述压缩处理模块根据标记位标记的数据类型的不同,其预设对数据进行数据处理和数据替换的方式也不同,包括基准的选择可以为取一个传输的具体数据值或取数据样本预测值,为第一基准;做差的方式可以为待压缩数据与第一基准做差,其中待压缩数据可以为与基准相同数据类型同一字段的数据,或者不同数据类型同一字段数据,或者不同数据类型不同但是相关的字段数据。

作为优选,基准的选择可以取数据与同类型同字段的前一数据值之差,为第二基准;做差的方式可以为取待压缩数据与同类型同字段的前一数据值之差与第二基准之差。

作为优选,所述调整模块能够实现,首先对每个字段的需要的存储大小进行预估,得到预估存储长度。并根据预估存储长度对字段分配默认的大、中、小三档标准存储长度作为默认存储长度;在系统运行过程开始后,对压缩处理完成的数据,首先按照默认存储长度对该字段相应的数据进行存储长度的分配;对于分配默认存储长度的数据字段,先判断该待存数据长度是否小于等于默认存储长度,得到判断结果为是,则将该存储空间分配给该待存数据;如果上述判断结果为否,对于默认存储长度为中、小档的数据字段,将该数据的初始分配的存储长度调大一档标准,再判断该数据长度是否小于等于新分配存储长度,该判断结果为是,则将该调整后的分配存储长度分配给该数据;如果该判断结果为否,则继续将该数据的分配的存储长度调大一档标准;当数据分配存储空间为调整到大档时,则直接判断该字段数据的实际长度,并按照实际长度进行分配空间;当数据字段默认存储空间为大档时,判断该待存数据长度是否小于等于默认存储长度,如果该判断结果为是,将该数则将该存储空间分配给该待存数据;如果该判断结果为否,则判断该数据的实际长度,并按照实际长度进行分配空间。

作为优选,数据的实际占有的存储长度为该数据长度作为实际存储,取同一字段最近m次实际存储长度,取平均值作为该字段的预估存储长度。将该预估存储长度与大、中、小三档标准存储长度进行比较,在大中小三档默认存储长度中进行调整。

一种数据压缩存储处理方法,包括以下步骤:

(a)获取需要进行压缩存储处理的数据,所述数据为证券市场交易过程中产生的各种数据的混合数据流;

(b)数据预处理,使数据符合压缩标准,包括取绝对值和浮点取整,将符号位单独存放;

(c)数据识别和分类,通过类型标记位标记不同数据类型;

(d)根据标记位标记的数据类型的不同,按照不同的预设方式对数据进行数据压缩处理,提高数据关联性,减少数据量;

(e)对压缩后的数据分配默认存储长度,并根据实际数据大小进行对存储长度进行调整;

(f)将压缩处理后的数据,写入分配的存储空间中。

作为优选,步骤(d)标记位标记的数据类型的不同,按照不同的预设方式对数据进行数据处理和数据替换,包括取某一数据值或者数据的预测值为第一基准,将待压缩数据项与第一基准做差,得到第一差值,将第一差值符号位与绝对值分开存放,再将第一差值的绝对值和差值符号位替换待处理数据。

作为优选,步骤(d)标记位标记的数据类型的不同,按照不同的预设方式对数据进行数据处理和数据替换包括取数据与同类型同字段的前一数据值之差作为第二基准,压缩数据与同类型同字段的前一数据值之差与第二基准做差,得到第二差值,将第二差值符号位与绝对值分开存放,再将第二差值的绝对值和差值符号位替换待处理数据。

作为优选,步骤(e)包括首先对每个字段的需要的存储大小进行预估,得到预估存储长度。并根据预估存储长度对字段分配默认的大、中、小三档标准存储长度作为默认存储长度;系统运行后,对压缩处理完成的数据,按照默认存储长度对该字段相应的数据进行存储长度的分配,对于分配默认存储长度的数据字段,先判断该待存数据长度是否小于等于默认存储长度,得到判断结果为是,则将该存储空间分配给该待存数据;如果上述判断结果为否,对于默认存储长度为中、小档的数据字段,将该数据的初始分配的存储长度调大一档标准,再判断该数据长度是否小于等于新分配存储长度,该判断结果为是,则将该调整后的分配存储长度分配给该数据;如果该判断结果为否,则继续将该数据的分配的存储长度调大一档标准;当数据分配存储空间为调整到大档时,则直接判断该字段数据的实际长度,并按照实际长度进行分配空间;当数据字段默认存储空间为大档时,判断该待存数据长度是否小于等于默认存储长度,如果该判断结果为是,将该数则将该存储空间分配给该待存数据;如果该判断结果为否,则判断该数据的实际长度,并按照实际长度进行分配空间。

作为优选,数据的实际占有的存储长度为该数据长度作为实际存储,取同一字段最近m次实际存储长度,取平均值作为该字段的预估存储长度。将该预估存储长度与大、中、小三档标准存储长度进行比较,在大中小三档默认存储长度中进行调整。

作为优选,所述小档标准存储空间为3bit,所述中档存储空间为7bit,所述大档存储空间为7bit以上,大档存储为可变分配空间,可以根据不同数据字段的预估长度进行分配。

一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现数据压缩存储处理方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有一个或多个计算机程序,该一个或多个程序当被包括多个应用程序的电子设备执行时,实现所述数据压缩存储处理方法的步骤。

本发明的有益效果在于:本发明通过数据压缩存储装置对交易过程连续产生或者获得的一系列数据进行处理,实现多种数据类型在混合传输的情况下的压缩与存储。通过差值替换,只涉及加减法和位移操作,易于硬件实现。跟现有技术相比,在数据序列“连续性”较为显著的时候,可以获得较大的压缩效率。且该压缩处理方式针对不同的数据类型自动识别与适配,提高了数据传输的效率,保证了数据传输的精度;同时实现存储长度的动态调整与自适应,减少数据存储的空间,实现无损压缩。

附图说明

图1是本发明较佳实施例提供数据压缩存储处理装置方框示意图;

图2是本发明较佳实施例提供的压缩处理模块的方框示意图;

图3是本发明较佳实施例提供的数据压缩存储处理方法流程图;

图4是本发明较佳实施例提供的数据压缩算法流程图;

图5是本发明较佳实施例提供的数据存储长度分配算法流程图;

图6是本发明较佳实施例提供的数据压缩存储电子设备的模块图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

实施例:应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本发明中,术语“包括”和“包含”以开放的方式实用并因此被解释为是指“包括,但不限于……”。另外,术语“数据类型”,可以指本发明所述系统涉及的所有不同的数据结构。包括股票、期货、期权等二级市场所有交易行情数据,开盘时各个股票信息、品种信息,盘中行情数据、逐笔下单和成交数据,日内交易系统内部的资金、仓位信息、下单和交易回报等内部系统协议等。术语“原始数据”可以指证券市场交易过程中产生的各种未处理数据的混合数据流。术语“字段”可以指一种数据类型中的某一数据项。比如某只股票行情数据中的时间字段,价格字段等。术语“待处理数据”可以指针对某一条特定的经过预处理后的待压缩存储处理的数据,比如为某一个时间点的某只股票的价格,一个时间点某个股票成交的手数等。

图1是本发明较佳实施例提供的数据压缩存储装置的方框示意图,本发明提供一种数据压缩存储处理装置,该数据压缩存储处理装置包括数据获取模块101、预处理模块102、分类模块103、压缩处理模块104、调整模块105、数据写入模块106。

所述数据获取模块101,用于从数据来源处采集需要处理的原始数据,存放在内存中,进行下一步处理。

在一个实施例中,所述数据来源包括股票行情服务器、券商柜台服务器、指令交易服务器、交易系统客户端及其他内部系统。

在一个实施例中,所述原始数据可以为股票、期货、期权等二级市场所有交易行情,包括开盘时各个股票、品种信息,盘中行情数据、逐笔下单和成交数据,日内交易系统内部的资金、仓位信息、下单和交易回报等内部系统协议组成的混合数据流。

所述预处理模块102,对从数据获取模块中取得的原始数据进行预处理,使数据符合压缩标准。包括对于浮点数取整形,带正负号将去掉符号,并将对应的符号位和浮点位作为一种数据类型单独存放,并同样进行后续处理。

所述分类模块103,是对预处理后的混合数据流进行识别和分类,分出不同的数据类型,通过类型标记位予以标记,以便在后续的压缩处理模块中根据不同的数据类型进行不同的压缩操作。

所述压缩处理模块104,根据标记位标记的数据类型的不同,安装预设方式对数据进行数据处理和数据替换,提高数据关联性,减少数据量,实现数据压缩处理。具体地,如图2所示的压缩处理模块的方框示意图所示,从功能模块上,压缩处理模块可以划分为:基准确定单元401,差值计算单元402和替换压缩单元403。根据分析,本发明涉及的数据,通常为具有一定规律的数值,一些字段具有一定的连续性,相邻数据点之间的差值不会太大,而一些字段具有规律的变化。因此可以考虑旨在降低数值存储位数的压缩方法,使数据存储的绝对值接近0。

所述基准确定单元401:能实现针对不同类型的数据的不同字段,选择某一恰当的数据的一个字段为数据压缩算法的基准。

在一个具体实施例中,由于数据为多种数据类的组成的混合数据流,针对不同的类型的数据流,基准选择的方式也不同。可以取一个传输的具体数据值,或者取数据样本预测值为第一基准。对一些规律变化的数据,也可以将数据与同类型同字段的前一数据值之差作为第二基准。

所述差值计算单元402,能够实现将待压缩数据项与第一基准做差,得到第一差值。其中待压缩数据,可以为相同数据类型同一字段的数据,可以是不同数据类型同一字段数据,也可以是不同数据类型不同但是相关的字段数据。差值计算单元,也能够将待压缩数据与同类型同字段的前一数据值之差与第二基准做差,得到第二差值。

所述替换压缩单元403,将第一、第二差值符号位与绝对值分开,符号位单独使用一个bit存放。由此,压缩后的数据分为两个部分,一个部分是差值符号位的编码部分,一部分是去除符号位后的剩余的差值的绝对值部分。再通过第一差值、第二差值符号位和绝对值替换待处理数据。并将经过差值替换后的数据,绝对值都很小,接近于0,而字节之间的相关性大大增加,极大的提高的压缩的效率。

在一个具体实施例中,当数据为股票交易行情分时交易数据时,针对价格字段,由于在一段时间内,交易价格变化基本为连续变化,相邻价格之间差值为连续变化,选择特定时间点交易价格为第一基准,取当前时间点再先或再后的相应交易数据价格与第一基准做差,得到第一差值,将第一差值符号位与数据位分开存放并进行对待处理数据进行替换,使得数据存储的绝对值接近0,实现对原始数据的压缩。

在一个具体实施例中,对于一些按规律出现但是存在部分连续部分跳变的数据,可以采用以数据样本的预测值为第一基准。在一个实施例中,针对股票代码,由于持仓的原因或者股票代码本身可能是部分连续部分跳变的情况,比如股票代码600010,600011,600012之后就是600015,相应地,针对一段时间的行情数据,其股票代码也是按一定规律出现的,因此,可以根据股票代码出现的规律对下一个出现的股票代码数据进行预测,以预测值为第一基准,再将实际出现的下一股票代码数据与第一基准做差,得到第一差值。将第一差值符号位与数据位分开存放并进行对待处理数据进行替换,使得数据存储的绝对值接近0,实现对原始数据的压缩。

在一个具体实施例中,对于规律变化的数据,比如时间信息,可以取一特定时间字段与其前一数据时间字段做差,得到第二基准。将待压缩数据时间字段与当前待压缩数据时间字段的前一时间字段的差与第二基准做差,得到第二差值。将第二差值符号位与数据位分开存放并进行对待处理数据进行替换,使得数据存储的绝对值接近0,实现对原始数据的压缩。

在一个具体实施例中,与基准做差的数据可以是不同数据类型同一字段数据,比如不同结构体的时间字段可以直接互相做差。也可以是不同数据类型不同但是相关的字段数据,通过对应关系表的维护实现,比如成交回报的成交数量字段可以跟对应下单回报的下单数量做差。

所述调整模块105,能实现根据数据类型不同,对压缩后的数据分配不同默认存储长度,并根据实际数据大小进行对存储长度进行调整,使得储存空间与数据长度相适配,即保证了数据精度又减少了存储空间的占用。

在压缩时,除了减少原始证券交易数据的数据量,得到数据量相对较少的处理后的证券交易数据之外,为压缩算法处理后的数据规划合理的存储空间长度也显得尤为重要。即不仅仅需要考虑减少数据量的问题,还需要考虑存储空间长度的规划,如果存储空间长度规划的不合理,仅通过减少数据量所取得的压缩效果可能并不显著。

本发明的实施例中,首先对每个字段的需要的存储大小进行预估,得到预估存储长度。将存储长度分配分为大中小三档,再根据压缩后数据的实际情况,对超过预定分配空间的数据进行动态调整,通过长度可变的存储方式,保证了数据精度又减少了存储空间。同时动态的为每个字段的预估标准进行,根据实际情况调整每个字段预分配的三档存储长度。

在一个具体实施例中,预设大、中、小三档存储空间作为大、中、小三档标准存储长度。可选地,小档标准存储空间为3bit,中档存储空间为7bit,大档存储空间为7bit以上,大档存储为可变分配空间,可以根据不同数据字段的预估长度进行分配。

初始状态下,字段所占空间的情况进行预估,得到该字段的预估存储长度,并根据预估存储长度对字段分配默认的大、中、小三档标准存储长度作为默认存储长度。可选地,对于预估长度小于等于3bit的数据字段分配为小档默认存储长度,对于预估长度大于3bit小于等于7bit的数据字段分配为中档默认存储长度,对于少数大于7bit的数据字段,按其预估存储长度分配。

在系统运行过程中,调整模块在存放压缩好的数据前,对于分配默认存储长度的数据字段,先判断该待存数据长度是否小于等于默认存储长度,得到判断结果为是,则将该存储空间分配给该待存数据。如果上述判断结果为否,对于默认存储长度为中、小档的数据字段,将该数据的初始分配的存储长度调大一档标准,即对于从小存储长度到中存储长度或从中存储长度到大存储长度,再判断该数据长度是否小于等于分配存储长度,该判断结果为是,则将该调整后的分配存储长度分配给该数据。如果该判断结果为否,则继续将该数据的分配的存储长度调大一档标准。即从中存储长度到大存储长度。当数据分配存储空间为调整到大档时,则直接判断该字段数据的实际长度,并按照实际长度进行分配空间。

当数据字段默认存储空间为大档时,判断该待存数据长度是否小于等于默认存储长度,如果该判断结果为是,将该数则将该存储空间分配给该待存数据。如果该判断结果为否,则判断该数据的实际长度,并按照实际长度进行分配空间。所有数据的实际占有的存储长度为该数据长度作为实际存储。

在一个具体实施例中,所有非默认经过调整的存储长度的字段数据,均在预留长度标记位予以标记。

在一个具体实施例中,随着数据存储传输量的增加,取同一字段最近m次实际存储长度,取平均值作为该字段的预估存储长度。将该预估存储长度与大、中、小三档标准存储长度进行比较,在大中小三档默认存储长度中进行调整。

所述数据写入模块106,用于将处理后的数据,写入按分配的存储空间长度的存储格式中,得到压缩存储后的目标数据,以便后续使用。所述的存储空间可以是虚拟存储空间、文件夹,或者是硬盘下的数据库。

可以理解的是,上述通过预估存储空间分档及每个档位存储空间具体数值,判断储存长度是否适配,动态分配长度的方法,仅仅是一种示例性的方式,本领域技术人员还可以采用其他方式来实现,本发明的实施例对此不作限定。

上述装置能通过差值替换的方式在尽可能保持精度的情况下,减少了数据量的大小,同时能够实现根据数据字段大小动态的分配存储空间,减小了数据整体所占的存储空间大小,以及数据庞大造成的传输及加载的延时,提高的交易效率。

基于同一发明构思,本发明还提供一种数据压缩存储处理方法,包括如下步骤:

获取需要进行处理的数据,所述数据为证券市场交易过程中产生的各种数据的混合数据流。

数据预处理,包括取绝对值和浮点取整,将符号位单独存放。

数据识别和分类,通过类型标记位标记不同数据类型。

根据标记位标记的数据类型的不同,按照预设方式对数据进行数据压缩处理,提高数据关联性,减少数据量。

对压缩后的数据分配默认存储长度,并根据实际数据大小进行对存储长度进行调整。

将压缩处理后的数据,写入前述分配的存储空间中。

图3是数据压缩存储处理方法流程图,是本发明较佳实施例提供的数据压缩存储方法的流程图,本发明实施例数据压缩存储方法包括以下步骤:

s101,获取需要进行压缩、存储的数据,并将数据存储在内存中,进行下一步处理。

采用数据获取模块,从数据来源处获取。在一个实施例中,所述数据来源包括股票行情服务器、券商柜台服务器、指令交易服务器、交易系统客户端及其他内部系统。

在一个实施例中,所述数据可以为股票、期货、期权等二级市场所有交易行情,包括开盘时各个股票、品种信息,盘中行情数据、逐笔下单和成交数据,日内交易系统内部的资金、仓位信息、下单和交易回报等内部系统协议组成的混合数据流。

通常情况下,针对不同的数据类型,数据产生的频率和时间单位都是不相同的。在交易时间,盘中行情、逐笔和成交数据等数据为实时数据,股票、期货等历史k线数据以“日”为单位。下单、成交数量、交易回报等根据系统交易情况不定时传输处理。

s102按照预设的预处理方式,对数据进行预处理,得到预处理后的标准待压缩数据。其中,预处理可以包括数据取绝对值和浮点取整。预处理后的数据为无符号整型,便于后期压缩运算处理。其中,符号位、浮点位信息单独作为一种数据类型进行处理和存放。

s103,对数据进行识别和分类,由于数据本身是由多处来源多种类型组成的混合数据流,需要对预处理后的数据进行识别和分类,将不同的数据类型通过标记位予以标记,以便在后续的压缩处理模块中根据不同的数据类型进行不同的压缩操作。

s104,对预处理和分类后的数据进行压缩处理,如图4数据压缩算法流程图所示,具体参考以下步骤:

s401进入压缩算法后,首先读取混合数据流中数据类型标记位,确定该数据的类型。

s402根据混合数据流不同的类型,确定不同的压缩处理方式,分配不同的压缩处理算法。

s403根据数据类型及具体字段,确定是否采用数据值为第一基准。如果判断结果为是,则转到s404,如果不是则转到s408。

s404,进一步判断是否采用某传输数据值为第一基准,如果判断结果为是,则转到s405,如果不是,则转到s406。

s405,取传输的一个具体数据为第一基准。

在一个具体实施例中,当数据连续变化,相邻价格之间差值不会太大的数量类型采用这种方式,比如股票交易行情分时数据的价格,逐笔下单的价格等。可以针对交易行情分时数据的价格取一个特定时间对应的行情分时数据价格为第一基准,针对某一时段内逐笔下单价格,取特定一笔下单价格为第一基准。

s406,通过预测算法,取数据预测值为第一基准。

在一个具体实施例中,对于一些按规律出现但是存在部分连续部分跳变的数据,可以采用以数据样本的预测值为第一基准。在一个实施例中,针对股票代码,由于持仓的原因或者股票代码本身可能是部分连续部分跳变的情况,比如股票代码600010,600011,600012之后就是600015,相应地,针对一段时间的行情数据,其股票代码也是按一定规律出现的,因此,可以根据股票代码出现的规律对下一个出现的股票代码数据进行预测,以预测值为第一基准。

s407,将能够实现将待压缩数据项与第一基准做差,得到第一差值。

在一个具体实施例中,待压缩数据可以为相同数据类型同一字段的数据,可以是不同数据类型同一字段数据,也可以是不同数据类型不同但是相关的字段数据。其中,不同结构体的时间字段可以直接互相做差。也可以是不同数据类型不同但是相关的字段数据,通过对应关系表的维护实现,比如成交回报的成交数量字段可以跟对应下单回报的下单数量做差。

s408,将数据与同类型同字段的前一数据值之差作为第二基准。

s409,压缩数据与同类型同字段的前一数据值之差与第二基准做差,得到第二差值。

在一个具体实施例中,对于规律变化的数据,比如时间信息,可以采用第二基准的方式,比如可以取一特定时间字段与其前一数据时间字段做差,得到第二基准。将待压缩数据时间字段与当前待压缩数据时间字段的前一时间字段的差与第二基准做差,得到第二差值。

s410将第一、第二差值的符号位与绝对值分开存放。其中符号位单独使用一个bit存放。由此,压缩后的的数据分为两个部分,一个部分是差值符号位的编码部分,一部分是去除符号位后的的剩余的差值的绝对值部分。

s411第一差值、第二差值的绝对值和差值符号位替换待处理数据。经过差值替换后的数据,绝对值都很小,接近于0,而字节之间的相关性大大增加,极大的提高的压缩的效率。由此压缩部分结束。

s105所有压缩后的数据类型的不同字段分配并调整合适和存储空间,使得储存空间与数据长度相适配,即保证了数据精度又减少了存储空间的占用。以图5数据存储长度分配算法流程图所示,其中s105具体分为以下步骤。

s501初始状态下,对每个字段的需要的存储大小进行预估,得到预估存储长度。同时,将存储长度分配分为大中小三档的标准存储长度,再进行步骤s502。

在一个实施例中,小档标准存储空间为3bit,中档存储空间为7bit,大档存储空间为7bit以上,大档存储为可变分配空间,可以根据不同数据字段的预估长度进行分配。

s502,对预估长度跟大、中、小三档标准存储长度之间进行比较。判断预估长度是否小于等于小档标准存储长度,如果是则进行步骤s503,如果为否则进行步骤s504。

s503,给字段分配小档存储长度为该字段的默认存储长度,再进行步骤s507。

s504,判断预估长度是否大于小档标准存储长度,小于等于中档标准存储长度,如果是则进行步骤s505,如果为否则进行步骤s506。

s505,给字段分配中档存储长度为该字段的默认存储长度,再进行步骤s507。

s506,给字段分配为大档存储长度,并按实际预估长度为该字段的默认存储长度,再进行步骤s507。

s507,系统运行后,对压缩处理完成的数据,按照默认存储长度对该字段相应的数据进行存储长度的分配。再进行步骤s508。

s508,系统开始运行,按之前的步骤获取数据并进行压缩处理。将压缩后的数据放入存储空间前,获取压缩后带存储的数据的具体长度。再进行步骤s509。

s509,判断数据长度是否小于该字段的默认存储长度,判断结果为是,则进行步骤s510。该判断结果为否,则进行步骤s511。

s510,将该字段的默认存储长度分配给该待存储数据,并进行步骤s518.

s511,判断该数据的字段的默认存储长度属于大、中、小三档中的哪一档。如果字段默认存储长度为小档,则进行步骤s512,如果字段默认存储长度为中档,则进行步骤s515,如果字段默认存储长度为大档,则进行步骤s516。

s512,将该数据分配的长度调整为中档存储长度。并进行步骤s513。

s513,判断该待存储数据长度是否小于等于中档标准存储长度,如果判断结果为是,则进行步骤s514,如果判断结果为否,则进行步骤s515。

s514,将该数据的存储长度调整为中档的存储长度,进行步骤s517。

s515,将该数据的存储长度调整为中档的存储长度,进行步骤s518。

s516,按断该数据的实际存储长度为分配该数据的存储长度,并进行步骤s517。

s517,将调整后分配存储长度分配给该数据,并进行步骤s518。

在一个实施例中,一个字段默认存储长度为小档3bit,如果压缩后的数据大于3bit,则将该数据的对应的存储长度由小档3bit,改为中档7bit,如果该压缩后数据长度小于等于7bit,则将中档长度7bit分配给该数据,如果该压缩后数据大于7bit,则将数据对应的存储长度由中档改为大档,大档标准直接判断数据长度,并分配相应的存储空间。

在一个实施例中,一个字段默认存储长度为中档7bit,如果压缩后的数据大于7bit,则将该数据的对应的存储长度由中档改为大档,大档标准直接判断数据长度,并分配相应的存储空间。

在一个实施例中,大档存储长度按各个字段的预估存储长度分配,作为默认存储长度。如果压缩后的数据大于默认存储长度,则判断数据长度,并分配相应的存储空间。

需要注意的是,存储长度的调整只对该数据有效,该字段下一个数据进行存储长度的分配依然按照该字段的默认存储长度进行分配。

s518,收集每个数据实际占用的长度,并进行步骤s519。

s519,在收集每个字段的m个数据实际占用存储长度后,取m个数据的存储长度的平均值,将该平均值作为该字段的预估存储长度,并进行步骤s512。

在具体实施例中,m的值可以由系统管理员进行设置。

s106,将处理后的数据,写入按分配的存储空间长度的存储格式中,得到压缩存储后的目标数据,以便后续使用。所述的存储空间可以是虚拟存储空间、文件夹,或者是硬盘下的数据库。

图6所示的是本发明实施例提供的一种电子设备的模块图。在硬件层面,该电子设备包括处理器,可选地,还包括网络接口、存储模块和其他外设接口。数据压缩存储方法可以通过在该电子设备实现。当然,该电子设备还可能包括其他业务所需要的硬件。

存储器、处理器、网络接口、其他外设接口各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过通讯总线或信号线实现电性连接。该通讯总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线、qpi(quickpathinterconnect,快速通道互联)或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

所述数据压缩存储装置包括至少一个可以软件或固件(firmware)的形式存储于存储模块中或固化一个终端设备的操作系统(operatingsystem,os)中的软件功能模块。存储模块可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。存储模块用于存放程序,所述处理器用于执行存储模块中存储的可执行程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储模块可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成网络覆盖性能表征装置。处理器,执行存储模块所存放的程序,并具体用于执行以下操作:

从数据来源处采集需要进行处理的数据,所述数据为证券市场交易过程中产生的各种数据的混合数据流,并存放在内存中。

数据预处理,包括取绝对值和浮点取整,将符号位单独存放。

数据识别和分类,通过类型标记位标记不同数据类型。

根据标记位标记的数据类型的不同,按照预设方式对数据进行数据压缩处理,提高数据关联性,减少数据量。

对压缩后的数据分配默认存储长度,并根据实际数据大小进行对存储长度进行调整。

将压缩处理后的数据,写入前述分配的存储空间中。

处理器可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

所述网络接口用于网络专线通讯的输入/输出装置接口,使得该电子设备能够实现与包括股票行情服务器、券商柜台服务器、指令交易服务器、交易系统客户端及其他电子设备之间实现数据传输。

所述外设接口将各种外设输入/输入装置耦合至处理器以及存储器。在一些实施例中,外设接口,处理器以及存储控制器可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有一个或多个计算机程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,实现如下步骤。

从数据来源处采集需要进行处理的数据,所述数据为证券市场交易过程中产生的各种数据的混合数据流,并存放在内存中。

数据预处理,包括取绝对值和浮点取整,将符号位单独存放。

数据识别和分类,通过类型标记位标记不同数据类型。

根据标记位标记的数据类型的不同,按照预设方式对数据进行数据压缩处理,提高数据关联性,减少数据量。

对压缩后的数据分配默认存储长度,并根据实际数据大小进行对存储长度进行调整。

将压缩处理后的数据,写入前述分配的存储空间中。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1