数据存储方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:20914840 阅读:25 留言:0更新日期:2019-04-20 09:22
本申请涉及一种数据存储方法、装置、计算机设备和存储介质。所述方法包括:获取包括多个数据段的待存储文件;按照待存储文件中数据段顺序依次读取每个数据段;当识别到数据段中存在有效数据段部分时,统计有效数据段部分的数据数量;存储数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量;根据记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至待存储文件中的数据段被读取完毕;根据生成的索引段生成待存储文件对应的索引文件。采用本方法进行数据存储时,仅存储数据段中的有效数据段部分,节约了存储空间。

Data storage methods, devices, computer equipment and storage media

This application relates to a data storage method, device, computer equipment and storage medium. The method includes: acquiring a file to be stored which includes multiple data segments; reading each data segment in sequence according to the data segment in the file to be stored; counting the number of data segments when there is a valid data segment in the data segment; storing the valid data segment in the data segment and recording the storage offset corresponding to the valid data segment in the stored data segment. According to the storage offset of records and the number of data in the effective data segment of statistics, the index segment corresponding to the effective data segment of storage is generated until the data segment in the file to be stored is read out; and the index file corresponding to the file to be stored is generated according to the index segment generated. When using this method to store data, only the effective data segments in the data segments are stored, which saves the storage space.

【技术实现步骤摘要】
数据存储方法、装置、计算机设备和存储介质
本申请涉及数据处理
,特别是涉及一种数据存储方法、装置、计算机设备和存储介质。
技术介绍
随着数据处理技术的发展,需要经常对一些数据进行存储,出现了位图技术。通过位图技术可以将大量的数据以位图的形式进行存储,位图中的每一位可以表示一个数据。然而,传统的位图技术会对所有数据对应的位图进行存储。当数据中存在大量无效数据的情况时,仍然会对大量无效数据对应的位图进行存储,占用了较多的存储空间,造成了存储空间的浪费。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够节约存储空间的数据存储方法、装置、计算机设备和存储介质。一种数据存储方法,所述方法包括:获取包括多个数据段的待存储文件;按照所述待存储文件中数据段顺序依次读取每个数据段;当识别到所述读取到的数据段中存在有效数据段部分时,统计所述有效数据段部分的数据数量;存储所述读取到的数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量;根据记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至所述待存储文件中的数据段被读取完毕;根据生成的索引段生成所述待存储文件对应的索引文件。一种数据存储装置,其特征在于,所述装置包括:文件获取模块,用于获取包括多个数据段的待存储文件;数据读取模块,用于按照所述待存储文件中数据段顺序依次读取每个数据段;数量统计模块,用于当识别到所述读取到的数据段中存在有效数据段部分时,统计所述有效数据段部分的数据数量;数据存储模块,用于存储所述读取到的数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量;索引段生成模块,用于根据记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至所述待存储文件中的数据段被读取完毕;索引生成模块,用于根据生成的索引段生成所述待存储文件对应的索引文件。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取包括多个数据段的待存储文件;按照所述待存储文件中数据段顺序依次读取每个数据段;当识别到所述读取到的数据段中存在有效数据段部分时,统计所述有效数据段部分的数据数量;存储所述读取到的数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量;根据记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至所述待存储文件中的数据段被读取完毕;根据生成的索引段生成所述待存储文件对应的索引文件。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取包括多个数据段的待存储文件;按照所述待存储文件中数据段顺序依次读取每个数据段;当识别到所述读取到的数据段中存在有效数据段部分时,统计所述有效数据段部分的数据数量;存储所述读取到的数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量;根据记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至所述待存储文件中的数据段被读取完毕;根据生成的索引段生成所述待存储文件对应的索引文件。上述数据存储方法、装置、计算机设备和存储介质,通过获取包括多个数据段的待存储文件,按照待存储文件中数据段顺序依次读取每个数据段,当识别到读取到的数据段中存在有效数据段部分时,统计有效数据段部分的数据数量,存储识别到的有效数据段部分,无效数据段部分不进行存储,并生成相应的索引文件,通过只存储有效数据段部分,减少了存储的数据量,节省了数据存储空间。附图说明图1为一个实施例中数据存储方法的应用环境图;图2为一个实施例中数据存储方法的流程示意图;图3为一个实施例中统计数据数量的步骤的流程示意图;图4为一个实施例中存储有效数据段部分的步骤的流程示意图;图5为一个实施例中生成索引段的步骤的流程示意图;图6为一个实施例中查询数据的步骤的流程示意图;图7为一个实施例中数据存储的示意图;图8为一个实施例中数据存储装置的结构框图;图9为另一个实施例中数据存储装置的结构框图;图10为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的数据存储方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一个实施例中,如图2所示,提供了一种数据存储方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:步骤202,获取包括多个数据段的待存储文件。其中,待存储文件可以是需要被存储的位图。数据段是将待存储文件在逻辑上划分成等长的部分。每一个数据段都包含相同预设数量的整型数据,每一个整型数据都包含相同预定数量的位图数据。具体地,终端获取用户触发的文件存储指令及用户输入的待存储文件,将文件存储指令及待存储文件发送至服务器。服务器接收文件存储指令及待存储文件,准备对接收到的待存储文件进行存储。步骤204,按照待存储文件中数据段顺序依次读取每个数据段。具体地,服务器按照待存储文件中数据段的排列顺序依次读取每个数据段。服务器在读取每个数据段时,按照数据段中整型数据的排列顺序依次读取每个整型数据。步骤206,当识别到读取到的数据段中存在有效数据段部分时,统计有效数据段部分的数据数量。其中,有效数据段部分是数据段中包含至少一个有效整型数据的部分数据段,有效数据段部分的头部第一个整型数据和尾部第一个整型数据为有效整型数据,数据段中有效数据段部分之外不再包含有效整型数据。有效整型数据是指数值不为0的整型数据。具体地,服务器按照数据段中整型数据的排列顺序依次读取每个整型数据,当读取到有效整型数据时,确定数据段中存在有效数据段部分。服务器获取读取到的第一个有效整型数据在待存储文件中的位置序号,标记为第一位置序号,当再次读取到有效整型数据时,获取再次读取到的有效整型数据在待存储文件中的位置序号,标记为第二位置序号,服务器随着读取到有效整型数据,更新第二位置序号的数值。服务器对一个数据段读取完毕后,根据第二位置序号和第一位置序号确定有效数据段部分的数据数量,并确定与第一位置序号对应的有效整型数据和与第二位置序号对应的有效整型数据之间的数据段为有效数据段部分。在一个实施例中,服务器在数据段中只读取到一个有效整型数据,确定有效数据段部分的数据数量为1。在一个实施例中,数据段中有效数据段部分之外的部分为无效数据段部分。无效数据段部分可以在数据段的头部和尾部中的至少一个部位。整个数据段可以是有效数据段部分,也可以是无效数据段部分。步骤208,存储读取到的数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量。其中,存储偏移量是被存储的有效数据段部分的头部到存储文件头部的字节数目,存储文件由被存储的有效数据本文档来自技高网...

【技术保护点】
1.一种数据存储方法,所述方法包括:获取包括多个数据段的待存储文件;按照所述待存储文件中数据段顺序依次读取每个数据段;当识别到所述读取到的数据段中存在有效数据段部分时,统计所述有效数据段部分的数据数量;存储所述读取到的数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量;根据记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至所述待存储文件中的数据段被读取完毕;根据生成的索引段生成所述待存储文件对应的索引文件。

【技术特征摘要】
1.一种数据存储方法,所述方法包括:获取包括多个数据段的待存储文件;按照所述待存储文件中数据段顺序依次读取每个数据段;当识别到所述读取到的数据段中存在有效数据段部分时,统计所述有效数据段部分的数据数量;存储所述读取到的数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量;根据记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至所述待存储文件中的数据段被读取完毕;根据生成的索引段生成所述待存储文件对应的索引文件。2.根据权利要求1所述的方法,其特征在于,所述当识别到所述读取到的数据段中存在有效数据段部分时,统计所述有效数据段部分的数据数量包括:按照读取到的数据段中数据排列顺序依次识别整型数据;当识别到的整型数据为有效整型数据时,获取所述有效整型数据在所述待存储文件中的位置序号;当识别到的整型数据为所述读取到的数据段中的第一个有效整型数据时,根据获取到的位置序号,确定所述读取到的数据段中无效数据段部分的数据数量;根据所述获取到的位置序号和所述无效数据段部分的数据数量,统计有效数据段部分的数据数量。3.根据权利要求1所述的方法,其特征在于,所述存储所述读取到的数据段中的有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量包括:获取前次存储的有效数据段部分对应的索引段;从获取的索引段中提取所述前次存储的有效数据段部分所对应的数据数量和存储偏移量;根据提取到的数据数量和存储偏移量,确定当前有效数据段部分对应的存储偏移量;根据所述当前有效数据段部分对应的存储偏移量,存储所述读取到的数据段中有效数据段部分,并记录存储的有效数据段部分对应的存储偏移量。4.根据权利要求1所述的方法,其特征在于,所述根据记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至所述待存储文件中的数据段被读取完毕包括:获取所述读取到数据段中头部无效数据段部分的数据数量;根据获取的头部无效数据段部分的数据数量、记录的存储偏移量和统计的有效数据段部分的数据数量,生成存储的有效数据段部分对应的索引段,直至所述待存储文件中的数据段被读取完毕。5.根据权利要求1所述的方法,其特征在于,所述根据生成的索引段生成所述待存储文件对应的索引文件之后,还包括:获取数据查询指令;确定所述数据查询指令中的位置序号对应的段编号;在所述索引文件提取与所述段编号对应的索引...

【专利技术属性】
技术研发人员:谈少民
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1