一种数据存储方法及设备的制造方法

文档序号:9547294阅读:340来源:国知局
一种数据存储方法及设备的制造方法
【技术领域】
[0001]本发明涉及数据库技术领域,具体涉及一种数据存储方法及设备。
【背景技术】
[0002]云数据库并未建立数据文件之间的对应关系,而是采用处理文件记录方式处理数据,由多个服务器并行处理数据,因此,只适合于非结构化的数据处理,而不适用于业务处理系统的场景。关系数据库的优势是编程接口简单,数据关系清晰,适合于结构化的数据形式,例如,金融、电信等业务处理系统,但是,现有的关系数据库(例如Orac 1 e、mysql),是在裸盘上建立的,属于重量级数据库,数据库本身占用较多的常用内存资源和硬盘资源,对存储服务器的硬件要求较高。另一方面,关系数据库的数据查询、读取效率低,尤其是进行海量数据查询时,这个问题更为突出。

【发明内容】

[0003]本发明实施例提供一种数据存储方法及设备,用以解决现有的关系型数据读取速度慢、查询效率低的问题。
[0004]为了实现上述目的,本发明实施例采用以下技术手段:
[0005]本发明实施例提供一种数据存储方法,所述方法应用于数据存储设备,数据存储设备中存储有数据结构编号与数据结构名称的对应关系,所述方法包括以下步骤:
[0006]当接收到写入数据请求时,根据数据结构将数据写入硬盘,生成数据记录,并根据数据记录生成一个或多个数据文件,所述数据文件为500-50M字节;
[0007]在数据写入完成后,建立数据结构编号、数据记录范围和数据文件范围的对应关系Ο
[0008]本发明实施例还提供一种数据存储方法,所述方法应用于数据存储设备,所述方法包括以下步骤:
[0009]当接收到写入数据请求时,根据数据结构将数据写入硬盘,生成数据记录,并根据数据记录生成一个或多个数据文件,所述数据文件为500-50Μ字节,包括主键数据文件和外键数据文件,主键数据文件包括多条主键数据记录,外键数据文件包括多条外键数据记录;
[0010]在主键数据和外键数据写入过程中,建立主键数据记录编号、主键数据文件编号、外键数据文件编号和外键数据记录编号的对应关系。
[0011]本发明实施例还提供一种数据存储设备,所述设备包括:存储模块、数据写入模块和对应关系建立模块;
[0012]所述存储模块用于,存储数据结构编号与数据结构名称的对应关系;以及,存储数据写入模块生成的数据文件;
[0013]所述数据写入模块用于,在接收到写入数据请求时,根据数据结构将数据写入硬盘,生成数据记录,并根据数据记录生成一个或多个数据文件,所述数据文件为500-50Μ字-κ-
τ ;
[0014]所述对应关系建立模块用于,在数据写入完成后,建立数据结构编号、数据记录范围和数据文件范围的对应关系,并将所述对应关系存储与所述存储模块。
[0015]本发明实施例提供一种数据存储设备,所述设备包括:数据写入模块、对应关系建立模块和存储模块;
[0016]所述数据写入模块用于,当接收到写入数据请求时,根据数据结构将数据写入硬盘,生成数据记录,并根据数据记录生成一个或多个数据文件,所述数据文件为500-50Μ字节,包括主键数据文件和外键数据文件,主键数据文件包括多条主键数据记录,外键数据文件包括多条外键数据记录;
[0017]所述对应关系建立模块用于,在主键数据和外键数据写入过程中,建立主键数据记录编号、主键数据文件编号、外键数据文件编号和外键数据记录编号的对应关系;
[0018]所述存储模块用于,存储所述主键数据记录编号、主键数据文件编号、外键数据文件编号和外键数据记录编号的对应关系;以及,存储所述主键数据文件和外键数据文件。
[0019]与现有技术相比,本发明的上述实施例具有以下有益技术效果:
[0020]本发明实施例提供的数据存储方案,通过将数据以500-50Μ字节的数据文件的形式进行存储,改进现有的数据库文件存储方式,将数据扁平化、碎片化处理,为数据快速读取提供保证,提高数据查询效率。通过建立数据结构编号与数据结构名称的对应关系,以及数据结构编号、数据记录范围和数据文件范围的对应关系,采用多进程方式并行在各数据文件中查找数据记录,对于海量数据查询,可以大幅提高数据读取效率。通过在写入数据过程中建立主键数据和外键数据的关联关系,可以根据主键数据记录精确查询到对应的外键数据文件,或者,根据外键数据记录精确查询到对应的主键数据文件,并将相应数据文件导入数据缓冲层,在数据缓冲层中进一步查询、读取相应的数据记录,数据缓冲层中只临时存放业务查询相关的数据文件,且该数据文件小,占用空间少,数据读取效率高,数据读取完成后,数据缓冲层的存储空间能够及时得到释放,数据存储成本低。此外,在写入数据时建立主键数据与外键数据的关联关系,在读取数据时采用非关系型读取方法读取数据,可以进一步提高数据查询、读取的效率,对于海量数据查询,可以大幅提高数据读取效率,尤其适用于有关联关系的海量数据查询的应用场景。
【附图说明】
[0021]图1为本发明实施例的数据存储原理示意图;
[0022]图2为本发明实施例的数据存储流程示意图之一;
[0023]图3为本发明实施例的数据存储流程示意图之二 ;
[0024]图4为本发明实施例的数据存储设备的结构示意图之一;
[0025]图5为本发明实施例的数据存储设备的结构示意图之二。
【具体实施方式】
[0026]针对现有技术存在的上述问题,本发明实施例提供了一种数据存储方案,将数据以500-50Μ字节的数据文件的形式进行存储,改进现有的数据库文件存储方式,将数据扁平化、碎片化处理,为数据快速读取提供保证,提高数据查询效率。下面结合附图对本发明实施例进行详细描述。
[0027]本发明提供一种数据存储方法,应用于数据存储设备,数据存储设备中存储有数据结构编号与数据结构名称的对应关系,数据结构编号是指,对同一种数据结构赋予的唯一的编号,数据结构编号可以为4位,数据结构名称是指,同一种数据结构的数据集合的名称。数据结构编号与数据结构名称的对应关系可以通过表结构的形式存储,例如存储为结构关系编号对应表。数据结构是在数据录入前预先设置好的,也就是说,某个数据结构的名称、编号以及该数据结构中各条数据记录包含的字段以及各字段定义都是已知的。
[0028]需要说明的是,数据可以包括主键数据和外键数据,主键数据与外键数据是相对而言的,或者,也可以不区分主键与外键。当数据包括主键数据和外键数据时,所述数据结构编号与数据结构名称的对应关系包括:主键数据结构编号与主键数据结构名称的对应关系以及外键数据结构编号与外键数据结构名称的对应关系。
[0029]为了清楚说明本发明的技术方案,以下结合图1和图2,以包括主键数据和外键数据的数据为例,进行详细说明。图1为本发明实施例的数据存储原理示意图,图2为本发明实施例的存储流程示意图,结合图1和图2所示,所述数据存储方法包括数据写入阶段和数据读取阶段,数据写入阶段包括以下步骤:
[0030]步骤201,当接收到写入数据请求时,根据数据结构将数据写入硬盘,生成数据记录,并根据数据记录生成一个或多个数据文件,所述数据文件为500-50M字节。
[0031]具体的,数据按照数据记录的形式存储于数据文件中,每个数据文件为500-50M字节(byte)。若单个数据文件小于500字节,则数据存储形成的数据文件量较大,后续数据读取、调用过程较为繁琐;若单个数据文件大于50M字节,则无法实现数据扁平化、碎片化存储,相应的,就无法提高数据查询效率。
[0032]以下以Linux操作系统为例,举例说明数据文件大小的划分原则。单机Linux操作系统允许的最大文件数量是32000个,考虑到数据读取效率,以磁盘空间的50%利用率为存储上限,单机可以最多建立16000个文件。每个目录存储一种类型的数据结构,通常,Linux操作系统的一个目录最多管理100个文件,因此,单机Linux操作系统最多可以建立16000/100 = 160个类型的数据结构的数据表。
[0033]单个数据表的大小dataTableSize =每条记录的字节数*记录的总数量。那么,各个类型的单个数据文件的大小TableSize可以按照以下公式计算:dataFileSize =
dataTableSize/100。 TotalTableSize = dataTableSize(1)+dataTableSize(2)+......+
dataTableSize (n);其中,n小于或等于160。也就是说,针对所述160个数据结构类型,分别确定各类型数据结构的数据文件的大小。
[0034]当一个
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1