CN110377561A - 一种文件管理方法及装置 - Google Patents

一种文件管理方法及装置 Download PDF

Info

Publication number
CN110377561A
CN110377561A CN201910655376.9A CN201910655376A CN110377561A CN 110377561 A CN110377561 A CN 110377561A CN 201910655376 A CN201910655376 A CN 201910655376A CN 110377561 A CN110377561 A CN 110377561A
Authority
CN
China
Prior art keywords
file
stored
data
essential information
storage region
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
Application number
CN201910655376.9A
Other languages
English (en)
Inventor
王和平
尹强
刘有
黄山
杨峙岳
邸帅
卢道和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201910655376.9A priority Critical patent/CN110377561A/zh
Publication of CN110377561A publication Critical patent/CN110377561A/zh
Priority to PCT/CN2020/102468 priority patent/WO2021013047A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种文件管理方法及装置,其中方法包括:获取待存储文件以及待存储文件的文件类型;通过待存储文件的文件类型关联的序列化器对待存储文件中的数据进行序列化,从而得到该数据对应的字节数组;将该数据对应的字节数组写入第一文件对应的第一存储区域,将待存储文件的基本信息写入第一文件对应的第二存储区域,将基本信息的长度写入第一文件对应的第三存储区域,以及将预设标识写入第一文件对应的第四存储区域;其中,待存储文件的基本信息包括所述待存储文件的文件类型、所述待存储文件的元数据;本发明可以用于解决现有技术中对接文件系统单一性的技术问题,实现对多种文件类型的文件进行统一存储。

Description

一种文件管理方法及装置
技术领域
本发明涉及金融科技(Fintech)的数据存储技术领域,特别涉及一种文件管理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(如分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,越来越多的技术应用于金融行业。在网络迅速发展的今天,大数据时代已经悄然到来,随着网络数据的急剧增加必然要对需要记录网络数据的文件进行存储。目前有ORC(Optimized Row Columnar)、Textfile、CSV(Comma-Separated Values)、JSON等多种格式的存储方式,它们分别对不同的文件类型进行存储,由此,人们可以根据文件类型将数据存储起来。
但是由于网络数据变得愈加复杂,基于人们的需要,在有些服务中很多时候都面临着将多种文件类型的文件的存储问题,比如可能需要存储表格类型的文件、文本类型的文件。然而,目前提供的文件存储方案一般都是支持特定的类型进行存储,如ORC支持表格类型的文件的存储、textFile支持文本类型的文件的存储、CSV支持以纯文本形式存储表格数据、JSON只能存储结构化的数据。采用上述方法,由于不同文件类型的文件存储的格式不同,从而造成读取文件时需要通过不同的接口实现对不同类型的文件进行读取,增加了文件系统的复杂度。
因此,现在亟需一种文件管理方法及装置,用于实现对多种文件类型的文件进行统一存储。
发明内容
本发明实施例提供一种文件管理方法及装置,用于实现对多种文件类型的文件进行统一存储。
第一方面,本发明实施例提供一种文件管理方法,该方法包括:
获取待存储文件以及所述待存储文件的文件类型;通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组;将所述数据对应的字节数组写入第一文件对应的第一存储区域,将所述待存储文件的基本信息写入所述第一文件对应的第二存储区域,将所述基本信息的长度写入所述第一文件对应的第三存储区域,以及将预设标识写入所述第一文件对应的第四存储区域;其中,所述待存储文件的基本信息包括所述待存储文件的文件类型、所述待存储文件的元数据。
采用上述方法,可以基于待存储文件的文件类型关联的序列化器对待存储文件中的数据进行序列化,进而存储序列化后的字节数组以及待存储文件的基本信息等;也就是说,本申请实施例中,针对于不同文件类型的待存储文件,可以通过不同文件类型关联的序列化器对待存储文件中的数据进行序列化,从而实现了对不同文件类型的文件进行统一存储。
在一种可能的设计中,通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组,包括:通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的初始字节数组;采用第一编码方式对所述初始字节数组进行编码,得到所述数据对应的字节数组;所述基本信息还包括所述第一编码方式。
采用上述方法,在对待存储文件中的数据进行序列化后,可以进一步地对序列化得到的初始字节数组进行编码,从而保证文件存储的安全性。此外,基本信息中可以包括第一编码方式,从而便于读取待存储文件时,可以基于基本信息中所包括的第一编码方式对待存储文件进行解码。
在一种可能的设计中,所述待存储文件的文件类型为二维表;通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组,包括:通过所述二维表关联的序列化器对所述待存储文件中的每一行数据进行序列化,得到所述每一行数据对应的字节数组和行长索引;将所述数据对应的字节数组写入第一文件对应的第一存储区域,包括:将所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域,以及在写入所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域时,更新行记录数;所述基本信息还包括所述行记录数。
在一种可能的设计中,所述方法还包括:接收到读取所述第一文件的指令后,从所述第一文件对应的第四存储区域读取所述第一文件的标识;若所述第一文件的标识为所述预设标识,则从所述第一文件对应的第三存储区域读取所述基本信息的长度,并根据所述基本信息的长度,从所述第二存储区域读取所述基本信息;若所述第一指令用于指示返回所述基本信息,则将所述基本信息返回给用户;若所述第一指令用于指示返回所述第一文件的内容,则从所述第一存储区域读取所述数据对应的字节数组,通过解序列化器将所述数据对应的字节数组解序列化为所述数据,根据所述基本信息将所述数据封装为所述待存储文件返回给所述用户。
第二方面,本发明实施例提供一种文件管理装置,该装置包括:
获取模块,用于获取待存储文件以及所述待存储文件的文件类型;序列化模块,用于通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组;写入模块,用于将所述数据对应的字节数组写入第一文件对应的第一存储区域,将所述待存储文件的基本信息写入所述第一文件对应的第二存储区域,将所述基本信息的长度写入所述第一文件对应的第三存储区域,以及将预设标识写入所述第一文件对应的第四存储区域;其中,所述待存储文件的基本信息包括所述待存储文件的文件类型、所述待存储文件的元数据。
在一种可能的设计中,所述序列化模块具体用于:通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的初始字节数组;采用第一编码方式对所述初始字节数组进行编码,得到所述数据对应的字节数组;所述基本信息还包括所述第一编码方式。
在一种可能的设计中,所述待存储文件的文件类型为二维表;所述序列化模块具体用于:通过所述二维表关联的序列化器对所述待存储文件中的每一行数据进行序列化,得到所述每一行数据对应的字节数组和行长索引;所述写入模块具体用于:将所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域,以及在写入所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域时,更新行记录数;所述基本信息还包括所述行记录数。
在一种可能的设计中,所述装置还包括:读取模块,用于接收到读取所述第一文件的指令后,从所述第一文件对应的第四存储区域读取所述第一文件的标识;若所述第一文件的标识为所述预设标识,则从所述第一文件对应的第三存储区域读取所述基本信息的长度,并根据所述基本信息的长度,从所述第二存储区域读取所述基本信息;若所述第一指令用于指示返回所述基本信息,则将所述基本信息返回给用户;若所述第一指令用于指示返回所述第一文件的内容,则从所述第一区域读取所述数据对应的字节数组;解序列化模块,用于将所述数据对应的字节数组解序列化为所述数据,并根据所述基本信息将所述数据封装为所述待存储文件;所述读取模块,还用于将所述待存储文件返回给所述用户。
第三方面,本申请实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面的各种可能的设计中所述的方法。
第四方面,本申请实施例还提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面的各种可能的设计中所述的方法。
本申请的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种文件管理方法的流程示意图;
图2为本申请实施例提供的又一种文件管理方法的流程示意图;
图3为本申请实施例提供的一种文件的结构示意图;
图4为本申请实施例提供的又一种文件管理方法的流程及结构的示意图;
图5为本申请实施例提供的一种成绩表示例;
图6为本申请实施例提供的文件管理装置的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合附图对本申请实施例进行详细描述。
现有技术中通过不同的文件存储方式对不同类型的文件进行存储,从而可以将需要的数据保存下来,但由于对数据需求的增加导致文件类型越来越多,相应的也需要更多的相对于该类型文件的存储方式,增加了文件系统的复杂度。基于此,本发明实施例提供一种文件管理方法及装置,用于实现对多种文件类型的文件进行存储。
图1为本申请实施例提供一种文件管理方法所对应的流程示意图,如图1所示,该方法包括:
步骤101、获取待存储文件以及待存储文件的文件类型。
此处,待存储文件的文件类型可以为文本类型、表格类型、图片类型等,还可以为其它可能的文件类型,具体不做限制。
步骤102、通过待存储文件的文件类型关联的序列化器对待存储文件中的数据进行序列化,得到数据对应的字节数组。
本申请实施例中,不同的文件类型可以对应不同的序列化器,或者也可以描述为:不同的文件类型关联不同的序列化器。当获取待存储文件后,可以根据文件类型选择其关联的序列化器,进而通过待存储文件的文件类型关联的序列化器对待存储文件中的数据进行序列化,得到数据对应的字节数组。例如当存储文件是表格时,表格中的内容可以包含文字及数字,将表格中某一行的文字部分通过ASCII码或者Unicode等编码法转化成十进制数字,再由十进制数字转化为二进制数字,另外将该行的数字部分由十进制数字转化为二进制数字。
在一个示例中,如图5所示,有一个成绩表,其中该成绩表中第一行的内容表示:周思同学的语文成绩为86、数学成绩为97。那么当存储该成绩表时,可以将第一行的内容经序列化器进行转化。具体来说,可以转化得到:101010001101000(这个二进制数为‘周’字,通过unicode编码法得到十进制数,并通过将十进制数转化二进制得来的),110000000011101(这个二进制数为‘思’字,通过unicode编码法得到十进制数,并通过将十进制数转化二进制得来的),1010110(十进制数86转化为二进制得到的),1100001(十进制数97转化为二进制得到的)。以上为通过序列化器序列化所得到的内容,即101010001101000,110000000011101,1010110,1100001这一字节数组。进一步地,还可以在字节数组前设置一个固定字节大小,用来表示行长以用来索引该字节数组,行长后接字节数组的内容长度,再接字节数组。沿用上述示例,这里‘周’字的二进制数有15个,‘思’字的二进制数有15个,86的二进制数有7个,97的二进制数有7个,那么初始字节数组内容长度可以表示为15,15,7,7,转化为二进制数则是1111,1111,111,111,这一数组共有17位,17的二进制数为10001,那么字节数组前的固定字节大小可以是一个字节,将空位补0得到00010001,;最后得到000100011111,1111,111,11110101000110100011000000001110110101101100001一组字节数组作为存储内容;为了便于看清,这里对其加以解释:00010001(字节数组前的固定字节大小)1111,1111,111,111(节数组内容长度)101010001101000(周)110000000011101(思)1010110(86)1100001(97)。
其中,当存储文件是纯文字时,先将文字通过ASCII码或者Unicode等编码法转化成十进制数字,再由十进制数字转化为二进制数字;从而得到存储文件中的数据对应的字节数组。
在一个示例中,可以通过待存储文件的文件类型关联的序列化器对待存储文件中的数据进行序列化,得到数据对应的初始字节数组;为保证文件存储的安全性,可以采用第一编码方式对初始字节数组进行编码,从而得到数据对应的字节数组。此种情形下,上述序列化器转化得到的101010001101000,110000000011101,1010110,1100001可以理解为初始字节数组,进而可以采用第一编码方式再对该初始字节数组进行编码,从而得到数据对应的字节数组。第一编码方式可以为本领域技术人员根据实际需要和经验预先设置的编码方式,具体不做限定。示例性地,对不同文件类型存储过程中所使用的编码方式不做限制。
步骤103、将数据对应的字节数组写入第一文件对应的第一存储区域。
此处,将存储文件经过序列化器转化后得到的字节数组存储在第一存储区域,例如当存储文件是表格时,将表格的每行数据内容经序列化器转化,得到每行数据内容相对应的字节数组,并将此字节数组存储在第一存储区域。
在上一个示例中,如图5所示,成绩表中周思同学的语文成绩为86、数学成绩为97为一行内容,那么当存储文件时,最后得到相对应的000100011111,1111,111,11110101000110100011000000001110110101101100001一组字节数组作为存储内容存储到第一存储区域,继续读取下一行内容李明、语文成绩为90、数学成绩为99,最后得到相对应的000100011111,1111,111,11111001110100111011001100000111010110101100011一组字节数组存储到第一存储区域;如此依次存储行内容000100011111,1111,111,11110101000110100011000000001110110101101100001,000100011111,1111,111,11111001110100111011001100000111010110101100011…直到最后一行完成表格内容存入第一存储区域。
其中,当存储文件是纯文字时,将文件中的正文文字内容经序列化器转化,得到正文文字内容相对应的字节数组,将此字节数组存储在第一存储区域。
步骤104、将待存储文件的基本信息写入第一文件对应的第二存储区域。
此处,将存储文件的基本信息可以包括文件类型(Type)、关键字、最大值、最小值、行记录数、编码方式(Codec)、元数据(MetaData)等,其中,元数据可以是对所存储文件的数据内容的描述性数据或注释类数据;存储文件的基本信息经过序列化器转化后得到相应的字节数组,并将这些字节数组存储在第二存储区域。
在上一个示例中,元数据(MetaData)包括列名,如图5所示,即:语文、数学,经序列转化器序列化后得到1000101111101101(‘语’经unicode编码法得到十进制数,并将十进制数转化二进制得来的),110010110000111(‘文’经unicode编码法得到十进制数,并将十进制数转化二进制得来的),1011001(表示空格二进制数),110010101110000(‘数’经unicode编码法得到十进制数,并将十进制数转化二进制得来的),101101101100110(‘学’经unicode编码法得到十进制数,并将十进制数转化二进制得来的),由此得到的字节数组记录列名,用相同的方式可以记录文件类型(Type)、关键字、最大值、最小值、行记录数、编码方式(Codec)等,并将这些信息经序列化器序列化后得到的字节数组存储到第二存储区域中。
步骤105、将基本信息的长度写入所述第一文件对应的第三存储区域;
此处,存储文件的基本信息经过序列化器转化后得到相应的字节数组,该字节数组本身具有一个长度,这个长度是基本信息的长度,序列转化器将基本信息的长度转化为字节数组存储到对应的第三存储区域。
在上一个示例中,当元数据(MetaData)只有列名时,如图5所示,可以得到1000101111101101,110010110000111,110010101110000,101101101100110一串字节数组来表示基本信息,那么表示基本信息的数组位数为67位,转化为字节数组为1000011,1000011即为基本信息的长度并将其存入第三存储区域。
步骤106、以及将预设标识写入所述第一文件对应的第四存储区域。
此处,预设标识为一个固定的可读字符串,用来表征该字符串标记的存储文件的存储方式为通用存储方式,即本发明实施例所提供的文件管理方式的标记。如图3所示,预设标识可以为Dolphin,预设标识也可以为其它字符串,具体不做限定。
通过上述步骤101至步骤106,可以将待存储文件存储为第一文件。如图3所示,第一文件包括第四存储区域的文件标识(即预设标识,比如Dolphin)、第三存储区域的基本信息长度(Post Data Len)、第二存储区域的基本信息(Post Data)、第一存储区域的字节数组(Index Data(行长索引)和Row Data(行数据))。
采用上述方法,可以基于待存储文件的文件类型关联的序列化器对待存储文件中的数据进行序列化,进而存储序列化后的字节数组以及待存储文件的基本信息等;也就是说,本申请实施例中,针对于不同文件类型的待存储文件,可以通过不同文件类型关联的序列化器对待存储文件中的数据进行序列化,从而实现了对不同文件类型的文件进行统一存储。
图2为本申请实施例提供又一种文件管理方法所对应的流程示意图,如图2所示,该方法包括:
步骤201、接收到读取第一文件的指令后,从第一文件对应的第四存储区域读取第一文件的标识。
步骤202、判断第一文件的标识是否为预设标识。
示例性地,可以从第一文件对应的第四存储区域中读取出为预设标识的字符串,若该字符串存在并符合预设标识的字符串,则进行第一文件的读取,即进行步骤203,否则文件读取失败。
步骤203、从第一文件对应的第三存储区域读取所述基本信息的长度,并根据基本信息的长度,从第二存储区域读取基本信息。
根据以上步骤105中的示例,第三存储区域中存储有字节数组1000011表示基本信息长度为67位,如此从第二存储区域中读取出元数据(MetaData),也就是列名1000101111101101,110010110000111,110010101110000,101101101100110这一串字节数组,并将其转化为语文、数学。
步骤204、判断第一指令内容。
若第一指令用于指示返回基本信息,则将基本信息读取后返回给用户;若第一指令用于指示返回第一文件的内容,则进行步骤204。
步骤204、第一指令用于指示返回第一文件的内容,则从第一存储区域读取数据对应的字节数组,通过解序列化器将数据对应的字节数组解序列化为数据。
由以上步骤103的示例中,将第一存储区域中的存储行内容000100011111,1111,111,11110101000110100011000000001110110101101100001,000100011111,1111,111,11111001110100111011001100000111010110101100011…经解序列化器将数据转化为原数据形式,首先读取行长索引00010001,即字节数组前设置的固定字节大小表示为17位,那么从这一数组00010001之后再读取17位,也就是1111,1111,111,111,得到字节数组内容长度,在这之后再分别读取15,15,7,7,也就是101010001101000,110000000011101,1010110,1100001,最后得到第一内容,即成绩表中周思同学的语文成绩为86、数学成绩为97的行内容,依照此种方法继续读取得到第二行内容为成绩表中李明同学的语文成绩为90、数学成绩为99的行内容。
步骤206、根据所述基本信息将所述数据封装为所述待存储文件返回给所述用户。
通过上述步骤201至步骤206,可以将第一存储区域、第二存储区域、第三存储区域、第四存储区域中的数组内容经解序列化器转化为原来的形式,即可以得到图5。
也就是说,本申请实施例中,上述步骤101至步骤106所描述为的将待存储文件存储为第一文件的具体实现过程,而步骤201至步骤206所描述的为将第一文件还原为待存储文件的具体实现过程。步骤201至步骤206可以为步骤101至步骤106的逆过程,二者在具体实现时,可以相互参照。进一步地,如图4所示,为本申请实施例提供又一种文件管理方法所对应的流程及结构的示意图,更加直观的表示上述图1及图2的文件管理流程以及结构。其中,图4中的步骤301、步骤302、步骤303、步骤304、步骤305、步骤306所描述的为将待存储文件存储为第一文件的具体实现过程,即对应于上述步骤101至步骤106;图4中的步骤307、步骤308、步骤309、步骤310、步骤311所描述的为将第一文件还原为待存储文件的具体实现过程,即对应于上述步骤201至步骤206。图4中各个步骤的具体实现可以参照上述有关图1和图2的描述,此处不再赘述。
需要说明的是:图1、图2及图4中所涉及的步骤编号仅为执行流程的一种可能示例,具体实施中对各个步骤的先后顺序不做限定,比如图1中步骤103和步骤107可以同时执行,或者,步骤104先于步骤103执行。
基于同样的构思,本发明实施例还提供一种数据压缩装置。图6为本申请实施例提供的文件管理的结构示意图,如图6所示,包括:
获取模块601,用于获取待存储文件以及所述待存储文件的文件类型;
序列化模块602,用于通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组;
写入模块603,用于将所述数据对应的字节数组写入第一文件对应的第一存储区域,将所述待存储文件的基本信息写入所述第一文件对应的第二存储区域,将所述基本信息的长度写入所述第一文件对应的第三存储区域,以及将预设标识写入所述第一文件对应的第四存储区域;其中,所述待存储文件的基本信息包括所述待存储文件的文件类型、所述待存储文件的元数据。
在一种可能的设计中,所述序列化模块602具体用于:通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的初始字节数组;采用第一编码方式对所述初始字节数组进行编码,得到所述数据对应的字节数组;所述基本信息还包括所述第一编码方式。
在一种可能的设计中,所述待存储文件的文件类型为二维表;所述序列化模块602具体用于:通过所述二维表关联的序列化器对所述待存储文件中的每一行数据进行序列化,得到所述每一行数据对应的字节数组和行长索引;所述写入模块603具体用于:将所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域,以及在写入所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域时,更新行记录数;所述基本信息还包括所述行记录数。
在一种可能的设计中,所述装置还包括:读取模块605,用于接收到读取所述第一文件的指令后,从所述第一文件对应的第四存储区域读取所述第一文件的标识;若所述第一文件的标识为所述预设标识,则从所述第一文件对应的第三存储区域读取所述基本信息的长度,并根据所述基本信息的长度,从所述第二存储区域读取所述基本信息;若所述第一指令用于指示返回所述基本信息,则将所述基本信息返回给用户;若所述第一指令用于指示返回所述第一文件的内容,则从所述第一区域读取所述数据对应的字节数组;
解序列化模块604,用于将所述数据对应的字节数组解序列化为所述数据,并根据所述基本信息将所述数据封装为所述待存储文件;
所述读取模块605,还用于将所述待存储文件返回给所述用户。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种文件管理方法,其特征在于,所述方法包括:
获取待存储文件以及所述待存储文件的文件类型;
通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组;
将所述数据对应的字节数组写入第一文件对应的第一存储区域,将所述待存储文件的基本信息写入所述第一文件对应的第二存储区域,将所述基本信息的长度写入所述第一文件对应的第三存储区域,以及将预设标识写入所述第一文件对应的第四存储区域;其中,所述待存储文件的基本信息包括所述待存储文件的文件类型、所述待存储文件的元数据。
2.根据权利要求1所述的方法,其特征在于,通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组,包括:
通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的初始字节数组;
采用第一编码方式对所述初始字节数组进行编码,得到所述数据对应的字节数组;
所述基本信息还包括所述第一编码方式。
3.根据权利要求1所述的方法,其特征在于,所述待存储文件的文件类型为二维表;
通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组,包括:通过所述二维表关联的序列化器对所述待存储文件中的每一行数据进行序列化,得到所述每一行数据对应的字节数组和行长索引;
将所述数据对应的字节数组写入第一文件对应的第一存储区域,包括:将所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域,以及在写入所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域时,更新行记录数;
所述基本信息还包括所述行记录数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
接收到读取所述第一文件的指令后,从所述第一文件对应的第四存储区域读取所述第一文件的标识;
若所述第一文件的标识为所述预设标识,则从所述第一文件对应的第三存储区域读取所述基本信息的长度,并根据所述基本信息的长度,从所述第二存储区域读取所述基本信息;
若所述第一指令用于指示返回所述基本信息,则将所述基本信息返回给用户;若所述第一指令用于指示返回所述第一文件的内容,则从所述第一存储区域读取所述数据对应的字节数组,通过解序列化器将所述数据对应的字节数组解序列化为所述数据,根据所述基本信息将所述数据封装为所述待存储文件返回给所述用户。
5.一种文件管理装置,其特征在于,所述装置包括:
获取模块,用于获取待存储文件以及所述待存储文件的文件类型;
序列化模块,用于通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的字节数组;
写入模块,用于将所述数据对应的字节数组写入第一文件对应的第一存储区域,将所述待存储文件的基本信息写入所述第一文件对应的第二存储区域,将所述基本信息的长度写入所述第一文件对应的第三存储区域,以及将预设标识写入所述第一文件对应的第四存储区域;其中,所述待存储文件的基本信息包括所述待存储文件的文件类型、所述待存储文件的元数据。
6.根据权利要求5所述的装置,其特征在于,所述序列化模块具体用于:
通过所述待存储文件的文件类型关联的序列化器对所述待存储文件中的数据进行序列化,得到所述数据对应的初始字节数组;采用第一编码方式对所述初始字节数组进行编码,得到所述数据对应的字节数组;
所述基本信息还包括所述第一编码方式。
7.根据权利要求5所述的装置,其特征在于,所述待存储文件的文件类型为二维表;
所述序列化模块具体用于:通过所述二维表关联的序列化器对所述待存储文件中的每一行数据进行序列化,得到所述每一行数据对应的字节数组和行长索引;
所述写入模块具体用于:将所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域,以及在写入所述每一行数据对应的字节数组和行长索引写入所述第一文件对应的第一存储区域时,更新行记录数;
所述基本信息还包括所述行记录数。
8.根据权利要求5至7中任一项所述的装置,其特征在于,所述装置还包括:
读取模块,用于接收到读取所述第一文件的指令后,从所述第一文件对应的第四存储区域读取所述第一文件的标识;若所述第一文件的标识为所述预设标识,则从所述第一文件对应的第三存储区域读取所述基本信息的长度,并根据所述基本信息的长度,从所述第二存储区域读取所述基本信息;若所述第一指令用于指示返回所述基本信息,则将所述基本信息返回给用户;若所述第一指令用于指示返回所述第一文件的内容,则从所述第一区域读取所述数据对应的字节数组;
解序列化模块,用于将所述数据对应的字节数组解序列化为所述数据,并根据所述基本信息将所述数据封装为所述待存储文件;
所述读取模块,还用于将所述待存储文件返回给所述用户。
9.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至4任一项所述的方法。
10.一种计算机程序产品,其特征在于,当其在计算机上运行时,使得计算机执行权利要求1至4任一项所述的方法。
CN201910655376.9A 2019-07-19 2019-07-19 一种文件管理方法及装置 Pending CN110377561A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910655376.9A CN110377561A (zh) 2019-07-19 2019-07-19 一种文件管理方法及装置
PCT/CN2020/102468 WO2021013047A1 (zh) 2019-07-19 2020-07-16 一种文件管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910655376.9A CN110377561A (zh) 2019-07-19 2019-07-19 一种文件管理方法及装置

Publications (1)

Publication Number Publication Date
CN110377561A true CN110377561A (zh) 2019-10-25

Family

ID=68254207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910655376.9A Pending CN110377561A (zh) 2019-07-19 2019-07-19 一种文件管理方法及装置

Country Status (2)

Country Link
CN (1) CN110377561A (zh)
WO (1) WO2021013047A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111666257A (zh) * 2020-06-03 2020-09-15 中国建设银行股份有限公司 一种文件分片存储的方法、装置、设备和存储介质
WO2021013047A1 (zh) * 2019-07-19 2021-01-28 深圳前海微众银行股份有限公司 一种文件管理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382876A (zh) * 2008-10-07 2009-03-11 北京创毅视讯科技有限公司 一种数据存储方法
CN101477532A (zh) * 2008-12-23 2009-07-08 北京畅游天下网络技术有限公司 实现数据存储、读取的方法、装置及系统
CN103389992A (zh) * 2012-05-09 2013-11-13 北京百度网讯科技有限公司 一种结构化数据存储方法及装置
CN103699585A (zh) * 2013-12-06 2014-04-02 华为技术有限公司 文件的元数据存储以及文件恢复的方法、装置和系统
US20160224245A1 (en) * 2015-02-02 2016-08-04 HGST Netherlands B.V. File management system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377561A (zh) * 2019-07-19 2019-10-25 深圳前海微众银行股份有限公司 一种文件管理方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101382876A (zh) * 2008-10-07 2009-03-11 北京创毅视讯科技有限公司 一种数据存储方法
CN101477532A (zh) * 2008-12-23 2009-07-08 北京畅游天下网络技术有限公司 实现数据存储、读取的方法、装置及系统
CN103389992A (zh) * 2012-05-09 2013-11-13 北京百度网讯科技有限公司 一种结构化数据存储方法及装置
CN103699585A (zh) * 2013-12-06 2014-04-02 华为技术有限公司 文件的元数据存储以及文件恢复的方法、装置和系统
US20160224245A1 (en) * 2015-02-02 2016-08-04 HGST Netherlands B.V. File management system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021013047A1 (zh) * 2019-07-19 2021-01-28 深圳前海微众银行股份有限公司 一种文件管理方法及装置
CN111666257A (zh) * 2020-06-03 2020-09-15 中国建设银行股份有限公司 一种文件分片存储的方法、装置、设备和存储介质
CN111666257B (zh) * 2020-06-03 2024-03-19 中国建设银行股份有限公司 一种文件分片存储的方法、装置、设备和存储介质

Also Published As

Publication number Publication date
WO2021013047A1 (zh) 2021-01-28

Similar Documents

Publication Publication Date Title
CN110457302B (zh) 一种结构化数据智能清洗方法
US7707488B2 (en) Analyzing lines to detect tables in documents
CN108154211A (zh) 二维码生成、业务处理方法、装置和设备以及二维码
US7958133B2 (en) Application conversion of source data
CN114424257A (zh) 使用机器学习对表格数据进行自动描绘和提取
US20160140116A1 (en) Data Migration System
CN110046637B (zh) 一种合同段落标注模型的训练方法、装置及设备
CN107451106A (zh) 文本纠正方法及装置、电子设备
CN110377561A (zh) 一种文件管理方法及装置
CN107566090B (zh) 一种定长/变长的文本报文处理方法及装置
CN111507075B (zh) 一种进行数据格式转换的方法及装置
CN110516125A (zh) 识别异常字符串的方法、装置、设备及可读存储介质
CN114969353A (zh) 基于实体感知的关系抽取方法、装置、设备及存储介质
WO2019024627A1 (zh) 一种用于生成环形二维码的方法及其使用该二维码的印章
US11481547B2 (en) Framework for chinese text error identification and correction
CN106874181A (zh) 一种接口转换的验证方法和装置
CN111797626B (zh) 一种命名实体识别方法及装置
US20230153550A1 (en) Machine Translation Method and Apparatus, Device and Storage Medium
CN115935950A (zh) 文档级论元抽取方法、装置及相关设备
CN112948580B (zh) 一种文本分类的方法和系统
CN112926314A (zh) 文档的重复性识别方法、装置、电子设备以及存储介质
CN100580673C (zh) 已知格式字库的对比系统
CN105389295A (zh) 一种卡片个人化的数据处理方法及系统
CN111126082A (zh) 一种翻译方法及装置
KR102384508B1 (ko) 전자점자 파일을 생성하는 장치 및 방법

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