一种基于股票数据服务器的管理设备及方法

文档序号:10492262阅读:175来源:国知局
一种基于股票数据服务器的管理设备及方法
【专利摘要】本发明公开了本发明提供了一种基于股票数据服务器的管理设备及方法,其中设备包括股票数据服务器、至少一个管理装置,所述股票数据服务器,用于接收用户客户端发送的股票数据请求,所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令,将所述股票数据请求按照所述交易市场ID发送至对应的所述管理装置;所述管理装置,用于根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作。本发明实现了提高IO效率、错漏数据维护的效率、增强数据管理装置功能的目的,同时调高了其灵活性。
【专利说明】
一种基于股票数据服务器的管理设备及方法
技术领域
[0001 ]本发明属于计算机技术领域,具体而言,涉及一种基于股票数据服务器的管理设备及方法。
【背景技术】
[0002]随着证券行业的发展,证券类型越来越多,股票数量也越来越多,例如A股、港股、美股等,因此证券数据的管理是一个很大的问题。
[0003]通常的历史数据管理装置存在以下问题:每读写一个股票数据需要占用一个文件描述符,并且落地文件管理装置又是与数据服务器集成在一起,服务器每接收一个客户请求,也需要占用文件描述符,而系统的1性能是有限,这样就导致客户请求量越大时,1效率越低,影响服务器响应时间;读取采用整读模式,将所有历史数据读入内存,然后再做筛选,历史数据可能数年,但需要的可能就I天,这样会对内存造成极大的浪费与消耗;写时采用尾部追加的方式,当落地文件由于特殊原因缺失部分数据,或部分数据异常时,修复起来相当麻烦,通常是整读数据到内存,补充缺失数据或修复错误数据,然后重新写入落地文件;读取文件内容时只能整读文件,但实际只需要I天或一个时间段数据,读写操作上便捷性不足;功能单一,必须依赖数据服务器,不能单独存在且扩展性非常差,当历史数据量非常庞大时,整个系统负荷非常重,灵活性不足。

【发明内容】

[0004]为解决现有历史数据管理装置通常采用整读整写、1效率低且功能单一、扩展性差的技术缺陷,本发明提供了一种基于股票数据数据服务器的管理装置实现按照交易市场ID查找文件标识符从而提高1效率,同时通过股票数据偏移位置的标记提高错漏数据维护的效率,同时通过通信模块的实现增强数据管理装置功能的目的,调高其灵活性。
[0005]本发明提供了一种基于股票数据服务器的管理设备,包括股票数据服务器、至少一个管理装置,所述管理装置包括接口模块、处理模块,其中,
[0006]用于接收用户客户端发送的股票数据请求,所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令,将所述股票数据请求按照所述交易市场ID发送至对应的所述管理装置;
[0007]所述管理装置,用于根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作。
[0008]本发明所述的基于股票数据服务器的管理设备中,所述管理装置包括接口模块、处理模块,其中
[0009]所述接口模块,用于接收用户客户端发送的股票数据请求,所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令;
[0010]所述处理模块,用于根据所述股票数据请求对应的交易市场ID获取访问所述股票数据请求对应的文件标识符,通过所述文件标识符访问预存的数据信息并按照所述控制指令进行相应的操作。
[0011]本发明所述的基于股票数据服务器的管理设备中,预存的所述数据信息包括码头区、位置区、数据区,其中,码头区包括交易市场ID、股票代码,位置区包括股票代码、股票交易信息、偏移位置,数据区包括股票数据。
[0012]本发明所述的基于股票数据服务器的管理设备中,该处为要描述的为开始偏移、结束偏移,该偏移实现了传统采用整读整写造成的修复错漏数据的困难。请
【申请人】在此处进行举例说明,开始偏移、结束偏移指的是什么。
[0013]本发明所述的基于股票数据服务器的管理设备中,所述数据信息存储在股票管理文件夹、mysql数据库或redis数据库中。
[0014]本发明还提供了一种基于股票数据服务器的管理方法,包括股票数据服务器、至少一个管理装置,包括如下步骤:
[0015]利用所述股票数据服务器接收用户客户端发送的股票数据请求,所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令;
[0016]所述管理装置根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作。
[0017]本发明所述的基于股票数据服务器的管理方法中,预存的所述数据信息包括码头区、位置区、数据区,其中,码头区包括交易市场ID、股票代码,位置区包括股票代码、股票交易信息、偏移位置,数据区包括股票数据。
[0018]本发明所述的基于股票数据服务器的管理方法中,所述数据信息存储在股票管理文件夹、mysql数据库或redis数据库中。
[0019]本发明所述的基于股票数据服务器的管理方法中,实现与所述股票数据服务器的通信,将所述数据信息进行格式转换后存储至所述股票数据服务器。
[0020]本发明所述的基于股票数据服务器的管理方法中,所述管理装置根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作包括
[0021]接收用户客户端发送的股票数据请求;
[0022]根据所述股票数据请求对应的交易市场ID获取访问所述股票数据请求对应的文件标识符,通过所述文件标识符访问预存的数据信息并按照所述控制指令进行相应的操作
[0023]综上,本发明提高了落地文件的可维护性,以证券市场为单位管理股票历史数据文件,大大减少了落地文件个数,提高维护的便捷性。提供便捷的访问接口,提供增、删、改、查操作,可根据实际需要新增、修改、删除数据,提高历史数据管理装置的可用性。历史数据管理装置与数据服务器集成在一起,提高数据服务器的内存利用率,不再将股票整个时期数据读到内存再做筛选,而是根据实际请求,拿对应数据,提升使用效率。历史数据管理装置大大减轻系统1负荷,使数据服务器具备接入更多客户请求的能力,极大提高系统1使用率,间接提高数据服务器处理请求的效率。历史数据管理装置采用分布式设计,即可与数据服务器集成,也做作为单独服务器提供数据服务器,提高系统的扩展性及灵活性。
【附图说明】
[0024]图1为本发明所述的基于股票数据服务器的管理设备的结构示意图;
[0025]图2为本发明所述的基于股票数据服务器的管理设备的框图结构示意图;
[0026]图3为本发明所述的基于股票数据服务器的管理方法的流程示意图。
【具体实施方式】
[0027]下面通过具体的实施例并结合附图对本发明做进一步的详细描述。
[0028]通常的历史数据管理装置以股票为单位管理落地文件,每读写一个股票数据需要占用一个文件描述符,并且落地文件管理装置又是与数据服务器集成在一起,服务器每接收一个客户请求,也需要占用文件描述符,而系统的10性能是有限,这样就导致客户请求量越大时,1效率越低,影响服务器的响应时间。
[0029]为此本发明提供了一种根据交易市场ID为单位的基于股票数据服务器的管理装置,如图1所示,包括股票数据服务器100、至少一个管理装置200。
[0030]其中,
[0031]所述股票数据服务器100,用于接收用户客户端发送的股票数据请求,所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令,将所述股票数据请求按照所述交易市场ID发送至对应的所述管理装置;
[0032]所述管理装置200,用于根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作。
[0033]如图2所示,所述管理装置包括接口模块1、处理模块20,其中,
[0034]所述接口模块,用于接收所述股票数据请求;所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令;
[0035]所述处理模块,用于根据所述股票数据请求对应的交易市场ID获取访问所述股票数据请求对应的文件标识符,通过所述文件标识符访问预存的数据信息并按照所述控制指令进行相应的操作。
[0036]现有的股票管理装置以股票为单位进行管理(即以股票代码为单位进行管理),也就是用户没访问(读或者写)一只股票文件,即需要占用一个文件描述符。文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件。由于股票数量多,因此采用股票代码为单位进行管理时所需占用的文件描述符相应的增多,从而导致1效率低。而进行股票交易的市场的数量是有限的,因此将交易市场ID为单位进行股票管理,即便存在大量用户请求,那么所有用户请求占用的文件标识符的数量也是有限的几个(以交易市场的数量相等),因此系统1效率高。
[0037]具体实施时,数据信息可单独存储在管理装置内,也可与所述股票数据服务器合设(所述管理装置可集成在所述股票数据服务器上)。所述管理装置可集成在所述股票数据服务器上的前提是所述股票数据服务器的性能足够好,内存足够大的场景,但是性能越好,内存越大的服务器一般成本比较高昂。将数据信息单独存储在所述管理装置内时,一般是在一台机器上,所述股票数据服务器采用的是线程池的方式连接客户请求,当并发访问量特别频繁时,由于线程池的大小是有限的(一般是20-50个工作线程),超过池容量的客户请求需要等待前面处理完成后,才能处理,造成数据堵塞。影响数据服务器响应速度。
[0038]本发明通过将数据信息按市场划分,每个市场(A股,港股,美股等)的股票数据单独用一台机器管理,原来是不管访问哪个市场的数据,都需要集中排队,现在是将数据分块,用户访问不同市场的数据,不再需要集中排队,而是互不影响,间接提高数据服务器的性能。
[0039]预存的所述数据信息包括码头区、位置区、数据区,其中,码头区包括交易市场ID、股票代码,位置区包括股票代码、股票交易信息、偏移位置,数据区包括股票数据。
[0040]Linux系统中,当程序打开某个文件或新建一个文件,那么系统即向进程返回一个文件标识符,该文件标识符指向用户客户端发送的股票数据请求对应的文件。因此处理模块根据所述股票数据请求对应的交易市场ID查询系统进程,获取该交易市场对应的进程从而获取所述交易市场ID对应的文件标识符。
[0041]本发明通调用函数获取当前进程号的函数。具体实施时,获取进程文件描述符的方式有很多种,但是Iinux读写文件的接口函数只有一个。Windows系统与Iinux系统有所区另1J,读写文件的接口函数不同,windows中用文件句柄来描述打开的文件,与Iinux系统的文件标识符概念类似,都是要占用系统资源的。本发明通过在在windows和Iinux系统差异性上做了一些兼容性处理,在2种环境上都能运行。Windows和Iinux系统对于文件描述符的概念有差异,windows称为文件句柄,I inux称为文件描述符,表示的意义是一致,不管是windows的文件句柄,还是Iinux的文件描述符,都表示一种系统资源的,而该资源对于操作系统而言是有限的。
[0042]由于所述数据信息包括码头区、位置区,而码头区及位置区均包括股票代码,因此码头区与位置区以股票代码为映射,因此系统访问码头区与位置区的效率相同。
[0043]所述偏移位置包括开始偏移位置及结束偏移位置。开始偏移,结束偏移指的是位置信息,开始偏移是指标记距离文件开头多少字节的位置为开始位置;结束偏移,是指标记距离开始位置多少字节的位置为结束位置。读取文件内容时必须要知道从文件的哪个位置开始读取,读到哪里结束。默认情况下,系统设置开始位置就是文件头,结束位置就文件末尾。传统的读写方式,文件只存放具体数据,是将文件内容整个读到内存中,然后在内存中提取需要的数据,这种处理非常浪费内存,可能仅仅某一天的数据,却将10几年的数据都读到内存,非常浪费性能。当有数据存在错漏问题时,由于不知道错漏数据在文件中的具体位置,因此修复起来非常困难。本发明通过预先将文件划分为码头区,位置区,数据区,每个股票的具体历史数据在文件中的位置信息(开始偏移,结束偏移)在位置区都有记录(按天记录),因此当需要某股票某一天数据时,只需要将该天的数据读到内存即可,不需要整体读到内存中。由于数据在位置区都有记录,因此非常方便的定位到错漏数据的位置,修复起来也非常便捷。
[0044]所述数据信息存储在股票管理文件夹、mysql数据库或redis数据库中。用mysql或redis内存数据库的好处是,历史数据可单独查询,也可增删改查。文件夹存储的优点便捷性强,使用方便,利于转移;缺点是由于文件是10操作,属于低速设备,所以在效率上有相对的不足。Mysql数据库的查询效率高,占用磁盘空间占用少,易于安装,免费,数据体量不大时性能不比oracle差,数据管理便捷,增删改查方便且高效;缺点是不支持自定义的数据类型。Redis内存数据库的存储效率高,容量大,支持多种数据类型,高速读写;缺点是redis存储成本高,因为使用的是纯内存,容量越大越昂贵。文件存储方式是必须的,其他2种是存储方式是可选的,根据实际需求是否使用。mysql用来存储股票的一些静态数据,如股本,财务等数据,方便查阅,redis用来存储交易明细,交易明细数据量大,用redis存储非常合适,对股票数据的挖掘有一定帮助。
[0045]由于现有的历史数据管理装置必须依赖数据服务器,不能单独存在,因此一般是与数据服务器集成在一起。因而现有的历史数据管理装置扩展性非常差,当历史数据量非常庞大时,整个系统负荷非常重,灵活性不足。为了提高了现有的历史数据管理装置的扩展性,使得其不仅可与数据服务器集成,也可作为独立的历史数据服务器,本发明通过通信模块的设置实现与所述股票数据服务器通信连接。当管理装置性能不足时,可拆分历史数据,通过多个管理装置来管理历史数据,通过网络串联数据服务器,从而提高所述管理装置的扩展性。
[0046]因此,本发明所述的管理装置即可与所述股票数据服务器集成在一起,也可选的与所述股票数据服务器采用分布式设置提高其扩展性。
[0047]如图3所示为本发明所述的基于股票数据服务器的管理设备的另一个实施例的结构示意图。
[0048]本实施例中包括至少一个所述管理装置,所述管理装置与所述股票数据服务器采用分布式设置。当管理装置性能不足时,可拆分数据信息,通过多个管理装置来管理数据信息,通过网络串联数据服务器,从而提高所述管理装置的扩展性。当一台机器的性能不足以支持所有市场的数据信息时,这时通过将数据按市场拆分,一个管理装置只管理一个股票市场的数据,大大降低数据量,也减轻了系统负荷,各个管理装置通过网络连接数据服务器。
[0049]如图3所示,本发明还提供了一种基于股票数据数据服务器的管理方法,包括股票数据服务器、至少一个管理装置,包括如下步骤:
[0050]S201、利用所述股票数据服务器接收用户客户端发送的股票数据请求,所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令;
[0051]S202、所述管理装置根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作。
[0052]预存的所述数据信息包括码头区、位置区、数据区,其中,码头区包括交易市场ID、股票代码,位置区包括股票代码、股票交易信息、偏移位置,数据区包括股票数据。所述偏移位置包括开始偏移位置及结束偏移位置。
[0053]所述偏移位置包括开始偏移位置及结束偏移位置。开始偏移,结束偏移指的是位置信息,开始偏移是指标记距离文件开头多少字节的位置为开始位置;结束偏移,是指标记距离开始位置多少字节的位置为结束位置。
[0054]读取文件内容时必须要知道从文件的哪个位置开始读取,读到哪里结束。默认情况下,系统设置开始位置就是文件头,结束位置就文件末尾。传统的读写方式,文件只存放具体数据,是将文件内容整个读到内存中,然后在内存中提取需要的数据,这种处理非常浪费内存,可能仅仅某一天的数据,却将10几年的数据都读到内存,非常浪费性能。当有数据存在错漏问题时,由于不知道错漏数据在文件中的具体位置,因此修复起来非常困难。新的读写方式,由于预先已将文件划分为码头区,位置区,数据区,每个股票的具体历史数据在文件中的位置信息(开始偏移,结束偏移)在位置区都有记录(按天记录),因此当需要某股票某一天数据时,只需要将该天的数据读到内存即可,不需要整体读到内存中。由于数据在位置区都有记录,因此非常方便的定位到错漏数据的位置,修复起来也非常便捷。
[0055]所述数据信息存储在股票管理文件夹、mysql数据库或redis数据库中。
[0056]S202包括
[0057]接收所述股票数据请求;
[0058]根据所述股票数据请求对应的交易市场ID获取访问所述股票数据请求对应的文件标识符,通过所述文件标识符访问预存的数据信息并按照所述控制指令进行相应的操作。
[0059]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种基于股票数据服务器的管理设备,其特征在于,包括股票数据服务器、至少一个管理装置, 所述股票数据服务器,用于接收用户客户端发送的股票数据请求,所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令,将所述股票数据请求按照所述交易市场ID发送至对应的所述管理装置; 所述管理装置,用于根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作。2.根据权利要求1所述的基于股票数据服务器的管理设备,其特征在于,所述管理装置包括接口模块、处理模块,其中, 所述接口模块,用于接收所述股票数据请求; 所述处理模块,用于根据所述股票数据请求对应的交易市场ID获取访问所述股票数据请求对应的文件标识符,通过所述文件标识符访问预存的数据信息并按照所述控制指令进行相应的操作。3.根据权利要求2所述的基于股票数据服务器的管理设备,其特征在于,预存的所述数据信息包括码头区、位置区、数据区,其中,码头区包括交易市场ID、股票代码,位置区包括股票代码、股票交易信息、偏移位置,数据区包括股票数据。4.根据权利要求3所述的基于股票数据服务器的管理设备,其特征在于,所述偏移位置包括开始偏移位置及结束偏移位置。5.根据权利要求1或2所述的基于股票数据服务器的管理设备,其特征在于,所述数据信息存储在股票管理文件夹、mysql数据库或redis数据库中。6.一种基于股票数据服务器的管理方法,包括股票数据服务器、至少一个管理装置,其特征在于,包括如下步骤: 利用所述股票数据服务器接收用户客户端发送的股票数据请求,所述股票数据请求包括股票代码、交易市场ID、股票数据、控制指令; 所述管理装置根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作。7.根据权利要求6所述的基于股票数据服务器的管理方法,其特征在于,预存的所述数据信息包括码头区、位置区、数据区,其中,码头区包括交易市场ID、股票代码,位置区包括股票代码、股票交易信息、偏移位置,数据区包括股票数据。8.根据权利要求7所述的基于股票数据服务器的管理方法,其特征在于,所述偏移位置包括开始偏移位置及结束偏移位置。9.根据权利要求1所述的基于股票数据服务器的管理方法,其特征在于,所述数据信息存储在股票管理文件夹、mysql数据库或redis数据库中。10.根据权利要求1所述的基于股票数据服务器的管理方法,其特征在于,所述管理装置根据接收到的所述股票数据服务器发送的所述股票数据请求执行相应的操作包括 接收用户客户端发送的股票数据请求; 根据所述股票数据请求对应的交易市场ID获取访问所述股票数据请求对应的文件标识符,通过所述文件标识符访问预存的数据信息并按照所述控制指令进行相应的操作。
【文档编号】G06Q40/04GK105847329SQ201610145800
【公开日】2016年8月10日
【申请日】2016年3月15日
【发明人】邱新颖, 代超仁, 左宏伟, 黄伟
【申请人】优品财富管理有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1