CN107870928A - 文件读取方法和装置 - Google Patents

文件读取方法和装置 Download PDF

Info

Publication number
CN107870928A
CN107870928A CN201610851849.9A CN201610851849A CN107870928A CN 107870928 A CN107870928 A CN 107870928A CN 201610851849 A CN201610851849 A CN 201610851849A CN 107870928 A CN107870928 A CN 107870928A
Authority
CN
China
Prior art keywords
file
data
buffer area
read
caching
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
CN201610851849.9A
Other languages
English (en)
Inventor
米维聪
席强辉
徐超
Original Assignee
Shanghai Wisdom Mdt Infotech 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 Shanghai Wisdom Mdt Infotech Ltd filed Critical Shanghai Wisdom Mdt Infotech Ltd
Priority to CN201610851849.9A priority Critical patent/CN107870928A/zh
Priority to PCT/CN2017/099554 priority patent/WO2018054200A1/zh
Publication of CN107870928A publication Critical patent/CN107870928A/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
    • 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/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files

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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种文件读取方法和装置。其中,该方法包括:读取步骤,以流的方式从文件中按照缓存区的大小读取预定长度的数据;缓存步骤,将读取到的数据放在缓存区进行缓存;预处理步骤,根据预先配置的预处理要求对缓存的数据进行预处理以得到数据的内容;导入步骤,将数据的内容保存至数据平台;循环依次执行读取步骤、缓存步骤、预处理步骤以及导入步骤完成对文件的读取。本发明解决了由于文件比较大而导致的技术问题。

Description

文件读取方法和装置
技术领域
本发明涉及大数据领域,具体而言,涉及一种文件读取方法和装置。
背景技术
现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便,大数据就是这个高科技时代的产物。大数据导致了大文件的产生,而大文件的读取与之前的小文件的处理相比是有问题的。
例如,在某些特殊的行业中,经常需要面对十几GB乃至几十TB容量的巨型文件,而一个32位进程所拥有的虚拟地址空间只有4G,显然不能一次性将文件全部加载到内存中。
又例如,如果文件比较大,在将文件的内容读取到数据库中也会存在问题。
针对上述由于文件比较大而导致的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种文件读取方法和装置,以至少解决由于文件比较大而导致的技术问题。
根据本发明实施例的一个方面,提供了一种文件读取方法,包括:读取步骤,以流的方式从文件中按照缓存区的大小读取预定长度的数据;缓存步骤,将读取到的数据放在缓存区进行缓存;预处理步骤,根据预先配置的预处理要求对缓存的数据进行预处理以得到数据的内容;导入步骤,将数据的内容保存至数据平台;循环依次执行读取步骤、缓存步骤、预处理步骤以及导入步骤完成对文件的读取。
根据本发明实施例的另一方面,还提供了一种文件读取装置,包括:读取模块,用于执行读取步骤,以流的方式从文件中按照缓存区的大小读取预定长度的数据;缓存模块,用于执行缓存步骤,将读取到的数据放在缓存区进行缓存;预处理模块,用于执行预处理步骤,根据预先配置的预处理要求对缓存的数据进行预处理以得到数据的内容;导入模块,用于执行导入步骤,将数据的内容保存至数据平台。
在本发明实施例中,采用分布式读取大数据文件的方式,通过以流的方式读取预定长度的数据,将该数据放入缓存区中,并对其进行预处理,得到数据的内容,最后将数据的内容保存至数据平台,达到了快速加载大数据文件至内存的目的,进而解决了由于文件比较大而导致的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种文件读取方法流程图;
图2是根据本发明实施例的一种可选的文件读取方法流程图;
图3是根据本发明实施例的一种可选的读取预定长度数据的方法流程图;
图4是根据本发明实施例的一种可选的读取预定长度数据之前的方法流程图;以及
图5是根据本发明实施例的一种文件读取装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种文件读取的方法实施例。
图1是根据本发明实施例的一种文件读取方法,如图1所示,该方法包括如下步骤:
步骤S102,读取步骤,以流的方式从文件中按照缓存区的大小读取预定长度的数据。
步骤S104,缓存步骤,将读取到的数据放在缓存区进行缓存。
步骤S106,预处理步骤,根据预先配置的预处理要求对缓存的数据进行预处理以得到数据的内容。
步骤S108,导入步骤,将数据的内容保存至数据平台。
步骤S110,循环依次执行读取步骤、缓存步骤、预处理步骤以及导入步骤完成对文件的读取。
作为一种可选的实施例,根据缓存区的大小,以字节流的方式从文件中读取固定长度的数据,将该固定长度的数据放入缓存区进行缓存,然后从缓存区中按照字节对缓存的数据进行读取,根据文件的长度信息、文件内容的数据类型以及特殊字符、字节序、编解码方式等信息对文件的数据内容进行解析,即完成对数据的预处理过程,最后将解析后的数据保存到数据平台上,可以对其进行数据处理、数据存储、查询检索以及分析挖掘和展示等操作。循环执行上述读取步骤、缓存步骤、预处理步骤以及导入步骤,直至完成对该大文件的读取操作。
在本实施例中,采用分布式读取大数据文件的方式,通过以流的方式读取预定长度的数据,将该数据放入缓存区中,并对其进行预处理,得到数据的内容,最后将数据的内容保存至数据平台,达到了快速加载大数据文件至内存的目的,进而解决了由于文件比较大而导致的技术问题。
考虑到文件本身比较大,为了加快处理速度,可以考虑并行处理,即可以将文件拆分为多个部分再进行处理。图2示出了该可选实施方式的流程,如图2所示,上述方法还可以包括如下步骤:
步骤S202,将文件拆分为多个部分。
步骤S204,通过多个分布式服务对文件中的多个部分分别执行读取步骤、缓存步骤、预处理步骤、以及导入步骤,将多个部分对应的内容保存至数据平台;或者,通过多个分布式服务对文件中的多个部分分别执行读取步骤、缓存步骤、以及预处理步骤得到多个部分对应的内容,再将得到的内容进行合并,并将合并之后的内容导入到数据平台。
在拆分的时候,可以根据不同分布式服务的处理能力进行拆分,即,可以根据多个分布式服务各自的处理能力,将文件拆分为多个部分,并将多个部分分配至对应的分布式服务进行处理。例如,第一个分布式服务的处理能力是第二个分布式服务处理能力的两倍,那么给第一个分布式处理服务的文件大小可以是第二个分布式处理服务器文件大小的两倍。这种拆分方法拆分出来的文件大小是不相同的,与分布式服务的处理能力相对应。作为另外一种处理方式,可以将文件拆分成大小相同的部分,然后根据处理能力分配对应数量的文件。
例如,将原始文件拆分为4部分,分别记为:a、b、c和d,而分布式服务也有4个,分别为A、B、C和D,分布式服务A对文件a执行读取步骤、缓存步骤、预处理步骤以及导入步骤,执行完毕后可得到对文件a进行解析后的内容A’,同样,对文件b、c和d进行解析后的内容分别为B’、C’和D’,最后将解析后的文件内容A’、B’、C’、D’保存到数据平台上。又例如,同样对原始文件进行拆分,将其拆分为a、b、c和d 4部分,而分布式服务也有4个,分别为A、B、C和D,分布式服务A、B、C和D对文件a、b、c和d执行读取步骤、缓存步骤和预处理步骤后,得到这四部分文件的内容A’、B’、C’和D’,将这四部分内容合并为一体A’B’C’D’,并将合并后的内容执行导入步骤,将其导入到数据平台上。
在使用多个分布式服务的时候,为了使分布式服务处理更快,每个分布式服务分别可以对应独立的缓存区,并且,多个分布式服务对应的缓存区是根据分布式服务所在服务器的资源确定的。
作为一种可选的实施例,每个分布式服务对应有一个独立的缓存区,该缓存区由分布式服务所在服务器的缓存管理器进行资源的配置。
需要说明的是,对资源的配置可以是静态配置,也可以是动态配置。动态配置可以根据分布式服务目前的负荷以及剩余处理能力来进行配置。
作为一种可选的实施例,由于每个分布式服务都有一个独立的缓存区,其缓存区是由分布式服务所在的服务器的资源确定的,所以每个分布式服务的处理能力各不相同,每个分布式服务对应的缓存区的大小也是不相同的。将文件拆分为多个部分,拆分后文件的每部分不一定都是均等的。每个分布式服务根据各自处理能力的大小处理相应拆分后的部分文件。
可选地,如图4所示,在以流文件的方式从文件中按照缓存区的大小读取预定长度的数据之前,方法还包括如下步骤:
步骤S402,配置缓存区的大小。
步骤S404,配置缓存区的备用缓存区,其中,备用缓存区的大小与缓存区的大小一致,备用缓存区为缓存区的备份。
作为一种可选的实施例,根据内存的使用情况可自动配置缓存区的大小和数量,并配置两个缓存区,两个缓存区的大小相同,可以用来处理对文件进行解析式出现的乱码问题;也可以配置多个缓存区,这些缓存区循环使用。
图1中示出的方法可以应用到所有文件的读取上,但是,也可以仅仅应用到大文件的处理上,图3示出了这样的一个可选的实施方式,图3为以流的方式从文件中按照缓存区的大小读取预定长度的数据的方法流程图,如图3所示,该方法包括如下步骤:
步骤S302,获取文件的大小。
步骤S304,在文件的大小超过阈值的情况下,以流文件的方式从文件中按照缓存区的大小读取预定长度的数据。
作为一种可选的实施例,例如,文件的大小为100M,而可处理的文件大小的阈值为10M,由于文件的大小远远超过了可处理文件的大小,所以通过流文件的方式读取文件。假设缓存区的大小为1M,则每次以流文件的方式读取1M原始文件的内容。
可选地,根据元数据信息对缓存的数据进行预处理包括:从缓存区中按照字节进行读取,根据元数据信息获取数据中的内容,其中,元数据信息用于对数据进行内容解析,元数据信息包括以下至少之一:长度信息、数据类型、特殊字符、字节序、编解码方式的信息。
作为一种可选的实施例,不同的文件有不同的编码方式,在对文件进行解析处理进而获得文件内容的过程中,如果使用的编码方式不同,将会出现乱码,为了解决汉子乱码的问题,在缓存区中对数据进行解析时,需要根据原始文件的编码方式来进行解析,即获得原始文件的元数据信息,例如,对于一个文件,该文件的长度可能为50个字节,文件中的数据类型可能为整型,特殊字符“$”位于文件中第34个字节的位置处。其中,文件的长度、文件的数据类型以及特殊字符的信息均为元数据信息。
可选地,上述方法还包括:在读取步骤、缓存步骤、预处理步骤、导入步骤中的至少之一设置断点,其中,断点用于在步骤执行出错的情况下进行信息的记录,记录的信息用于进行任务恢复。
作为一种可选的实施例,在每个执行步骤中设置断点,后台运行的程序是多任务并发执行的,所以当在该执行步骤中发生故障时,断点记录步骤执行出错的相关信息。例如,当对文件进行预处理操作时,在对数据进行解析时出现了错误,出现了缓存区的溢满的错误,此时,断点记录下发生错误的时间、发生错误的原因、错误的位置以及发生错误时后台运行程序所执行的状态等信息。当对任务进行恢复时,可以直接从断点中获取相关的信息,并从发生错误的步骤开始执行,而无需再重新执行全部的步骤,节省了任务执行的时间。
实施例2
根据本发明实施例,提供了一种文件读取的装置实施例。
图5是根据本发明实施例的一种文件读取装置的结构示意图,如图5所示,该装置包括读取模块501、缓存模块503、预处理模块505、导入模块507和循环模块509。
读取模块501,用于执行读取步骤,以流的方式从文件中按照缓存区的大小读取预定长度的数据。
缓存模块503,用于执行缓存步骤,将读取到的数据放在缓存区进行缓存。
预处理模块505,用于执行预处理步骤,根据预先配置的预处理要求对缓存的数据进行预处理以得到数据的内容。
导入模块507,用于执行导入步骤,将数据的内容保存至数据平台。
循环模块509,用于循环依次执行读取步骤、缓存步骤、预处理步骤以及导入步骤完成对文件的读取。
作为一种可选的实施例,根据缓存区的大小,以字节流的方式从文件中读取固定长度的数据,将该固定长度的数据放入缓存区进行缓存,然后从缓存区中按照字节对缓存的数据进行读取,根据文件的长度信息、文件内容的数据类型以及特殊字符、字节序、编解码方式等信息对文件的数据内容进行解析,即完成对数据的预处理过程,最后将解析后的数据保存到数据平台上,可以对其进行数据处理、数据存储、查询检索以及分析挖掘和展示等操作。循环执行上述读取步骤、缓存步骤、预处理步骤以及导入步骤,直至完成对该大文件的读取操作。
在本实施例中,采用分布式读取大数据文件的方式,通过以流的方式读取预定长度的数据,将该数据放入缓存区中,并对其进行预处理,得到数据的内容,最后将数据的内容保存至数据平台,达到了快速加载大数据文件至内存的目的,进而解决了由于文件比较大而导致的技术问题。
可选地,如图5所示,上述装置还包括:
拆分模块511,用于将文件拆分为多个部分;
处理模块513,用于通过多个分布式服务对文件中的多个部分分别执行读取步骤、缓存步骤、预处理步骤、以及导入步骤,将多个部分对应的内容保存至数据平台;或者,用于通过多个分布式服务对文件中的多个部分分别执行读取步骤、缓存步骤、以及预处理步骤得到多个部分对应的内容,再将得到的内容进行合并,并将合并之后的内容导入到数据平台。
在拆分的时候,可以根据不同分布式服务的处理能力进行拆分,即,可以根据多个分布式服务各自的处理能力,将文件拆分为多个部分,并将多个部分分配至对应的分布式服务进行处理。例如,第一个分布式服务的处理能力是第二个分布式服务处理能力的两倍,那么给第一个分布式处理服务的文件大小可以是第二个分布式处理服务器文件大小的两倍。这种拆分方法拆分出来的文件大小是不相同的,与分布式服务的处理能力相对应。作为另外一种处理方式,可以将文件拆分成大小相同的部分,然后根据处理能力分配对应数量的文件。
作为一种可选的实施例,例如,将原始文件拆分为4部分,分别记为:a、b、c和d,而分布式服务也有4个,分别为A、B、C和D,分布式服务A对文件a执行读取步骤、缓存步骤、预处理步骤以及导入步骤,执行完毕后可得到对文件a进行解析后的内容A’,同样,对文件b、c和d进行解析后的内容分别为B’、C’和D’,最后将解析后的文件内容A’、B’、C’、D’保存到数据平台上。又例如,同样对原始文件进行拆分,将其拆分为a、b、c和d 4部分,而分布式服务也有4个,分别为A、B、C和D,分布式服务A、B、C和D对文件a、b、c和d执行读取步骤、缓存步骤和预处理步骤后,得到这四部分文件的内容A’、B’、C’和D’,将这四部分内容合并为一体A’B’C’D’,并将合并后的内容执行导入步骤,将其导入到数据平台上。
在使用多个分布式服务的时候,为了使分布式服务处理更快,每个分布式服务分别可以对应独立的缓存区,并且,多个分布式服务对应的缓存区是根据分布式服务所在服务器的资源确定的。
作为一种可选的实施例,每个分布式服务对应有一个独立的缓存区,该缓存区由分布式服务所在服务器的缓存管理器进行资源的配置。
需要说明的是,对资源的配置可以是静态配置,也可以是动态配置。动态配置可以根据分布式服务目前的负荷以及剩余处理能力来进行配置。
作为一种可选的实施例,由于每个分布式服务都有一个独立的缓存区,其缓存区是由分布式服务所在的服务器的资源确定的,所以每个分布式服务的处理能力各不相同,每个分布式服务对应的缓存区的大小也是不相同的。将文件拆分为多个部分,拆分后文件的每部分不一定都是均等的。每个分布式服务根据各自处理能力的大小处理相应拆分后的部分文件。
可选地,如图5所示,上述装置还包括:
第一配置模块515,用于配置缓存区的大小。
第二配置模块517,用于配置缓存区的备用缓存区,其中,备用缓存区的大小与缓存区的大小一致,备用缓存区为缓存区的备份。
作为一种可选的实施例,根据内存的使用情况可自动配置缓存区的大小和数量,并配置两个缓存区,两个缓存区的大小相同,可以用来处理对文件进行解析式出现的乱码问题;也可以配置多个缓存区,这些缓存区循环使用。
可选地,如图5所示,读取模块501包括:
第一读取模块5011,用于获取文件的大小。
第二读取模块5013,用于在文件的大小超过阈值的情况下,以流文件的方式从文件中按照缓存区的大小读取预定长度的数据。
作为一种可选的实施例,例如,文件的大小为100M,而可处理的文件大小的阈值为10M,由于文件的大小远远超过了可处理文件的大小,所以通过流文件的方式读取文件。假设缓存区的大小为1M,则每次以流文件的方式读取1M原始文件的内容。
可选地,如图5所示,预处理模块,用于根据元数据信息对缓存的数据进行预处理,预处理模块505包括:
信息获取模块5051,用于从缓存区中按照字节进行读取,根据元数据信息获取数据中的内容,其中,元数据信息用于进行对数据进行内容解析,元数据信息包括以下至少之一:长度信息、数据类型、特殊字符、字节序、编解码方式的信息。
作为一种可选的实施例,不同的文件有不同的编码方式,在对文件进行解析处理进而获得文件内容的过程中,如果使用的编码方式不同,将会出现乱码,为了解决汉子乱码的问题,在缓存区中对数据进行解析时,需要根据原始文件的编码方式来进行解析,即获得原始文件的元数据信息,例如,对于一个文件,该文件的长度可能为50个字节,文件中的数据类型可能为整型,特殊字符“$”位于文件中第34个字节的位置处。其中,文件的长度、文件的数据类型以及特殊字符的信息均为元数据信息。
可选地,如图5所示,上述装置还包括:
断点模块519,用于在读取步骤、缓存步骤、预处理步骤、导入步骤中的至少之一设置断点,其中,断点用于在步骤执行出错的情况下进行信息的记录,记录的信息用于进行任务恢复。
作为一种可选的实施例,在每个执行步骤中设置断点,后台运行的程序是多任务并发执行的,所以当在该执行步骤中发生故障时,断点记录步骤执行出错的相关信息。例如,当对文件进行预处理操作时,在对数据进行解析时出现了错误,出现了缓存区的溢满的错误,此时,断点记录下发生错误的时间、发生错误的原因、错误的位置以及发生错误时后台运行程序所执行的状态等信息。当对任务进行恢复时,可以直接从断点中获取相关的信息,并从发生错误的步骤开始执行,而无需再重新执行全部的步骤,节省了任务执行的时间。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种文件读取方法,其特征在于,包括:
读取步骤,以流的方式从文件中按照缓存区的大小读取预定长度的数据;
缓存步骤,将读取到的所述数据放在所述缓存区进行缓存;
预处理步骤,根据预先配置的预处理要求对缓存的所述数据进行预处理以得到所述数据的内容;
导入步骤,将所述数据的内容保存至数据平台;
循环依次执行所述读取步骤、所述缓存步骤、所述预处理步骤以及所述导入步骤完成对所述文件的读取。
2.根据权利要求1所述的方法,其特征在于,
将所述文件拆分为多个部分;
通过多个分布式服务对所述文件中的多个部分分别执行所述读取步骤、所述缓存步骤、所述预处理步骤、以及所述导入步骤,将所述多个部分对应的内容保存至所述数据平台;或者,
通过所述多个分布式服务对所述文件中的多个部分分别执行所述读取步骤、所述缓存步骤、以及所述预处理步骤得到所述多个部分对应的内容,再将得到的内容进行合并,并将合并之后的内容导入到所述数据平台。
3.根据权利要求2所述的方法,其特征在于,所述多个分布式服务分别对应独立的缓存区,并且,所述多个分布式服务对应的缓存区是根据所述分布式服务所在服务器的资源确定的。
4.根据权利要求2所述的方法,其特征在于,根据所述多个分布式服务各自的处理能力,将所述文件拆分为多个部分,并将所述多个部分分配至对应的分布式服务进行处理。
5.根据权利要求1至4中任一项所述的方法,其特征在于,以流的方式从所述文件中按照缓存区的大小读取预定长度的所述数据包括:
获取所述文件的大小;
在所述文件的大小超过阈值的情况下,以流文件的方式从所述文件中按照缓存区的大小读取预定长度的所述数据。
6.根据权利要求1至4中任一项所述的方法,其特征在于,在以流文件的方式从文件中按照缓存区的大小读取预定长度的数据之前,所述方法还包括:
配置所述缓存区的大小;
配置所述缓存区的备用缓存区,其中,所述备用缓存区的大小与所述缓存区的大小一致,所述备用缓存区为所述缓存区的备份。
7.根据权利要求1所述的方法,其特征在于,根据元数据信息对缓存的所述数据进行预处理包括:
从所述缓存区中按照字节进行读取,根据所述元数据信息获取所述数据中的内容,其中,所述元数据信息用于对数据进行内容解析,所述元数据信息包括以下至少之一:长度信息、数据类型、字节序、特殊字符、编解码方式、结束符的信息。
8.根据权利要求1至4中任一项所述的方法,其特征在于,还包括:
在所述读取步骤、所述缓存步骤、所述预处理步骤、所述导入步骤中的至少之一设置断点,其中,所述断点用于在步骤执行出错的情况下进行信息的记录,记录的所述信息用于进行任务恢复。
9.一种文件读取装置,其特征在于,包括:
读取模块,用于执行读取步骤,以流的方式从文件中按照缓存区的大小读取预定长度的数据;
缓存模块,用于执行缓存步骤,将读取到的所述数据放在所述缓存区进行缓存;
预处理模块,用于执行预处理步骤,根据预先配置的预处理要求对缓存的所述数据进行预处理以得到所述数据的内容;
导入模块,用于执行导入步骤,将所述数据的内容保存至数据平台;
循环模块,用于循环依次执行所述读取步骤、所述缓存步骤、所述预处理步骤以及所述导入步骤完成对所述文件的读取。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
拆分模块,用于将所述文件拆分为多个部分;
处理模块,用于通过多个分布式服务对所述文件中的多个部分分别执行所述读取步骤、所述缓存步骤、所述预处理步骤、以及所述导入步骤,将所述多个部分对应的内容保存至所述数据平台;或者,用于通过所述多个分布式服务对所述文件中的多个部分分别执行所述读取步骤、所述缓存步骤、以及所述预处理步骤得到所述多个部分对应的内容,再将得到的内容进行合并,并将合并之后的内容导入到所述数据平台。
CN201610851849.9A 2016-09-26 2016-09-26 文件读取方法和装置 Pending CN107870928A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610851849.9A CN107870928A (zh) 2016-09-26 2016-09-26 文件读取方法和装置
PCT/CN2017/099554 WO2018054200A1 (zh) 2016-09-26 2017-08-30 文件读取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610851849.9A CN107870928A (zh) 2016-09-26 2016-09-26 文件读取方法和装置

Publications (1)

Publication Number Publication Date
CN107870928A true CN107870928A (zh) 2018-04-03

Family

ID=61689371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610851849.9A Pending CN107870928A (zh) 2016-09-26 2016-09-26 文件读取方法和装置

Country Status (2)

Country Link
CN (1) CN107870928A (zh)
WO (1) WO2018054200A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750505A (zh) * 2019-08-31 2020-02-04 苏州浪潮智能科技有限公司 一种大文件读取优化方法、装置、设备及存储介质
TWI698740B (zh) * 2018-08-27 2020-07-11 宏碁股份有限公司 還原映像檔的部署方法與使用此方法的電子裝置
CN112764908A (zh) * 2021-01-26 2021-05-07 北京鼎普科技股份有限公司 网络数据采集处理方法、装置和电子设备
CN113783939A (zh) * 2021-08-20 2021-12-10 奇安信科技集团股份有限公司 文件传输方法、装置、电子设备及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344092B (zh) * 2018-09-11 2023-06-23 天津易华录信息技术有限公司 一种提高冷存储数据读取速度的方法和系统
CN112698877B (zh) * 2019-10-21 2023-07-14 上海哔哩哔哩科技有限公司 数据处理方法及系统
CN110784756B (zh) * 2019-12-31 2020-05-29 珠海亿智电子科技有限公司 文件读取方法、装置、计算设备及存储介质
CN111552440B (zh) * 2020-04-26 2023-05-30 全球能源互联网研究院有限公司 一种电力物联网“云-边-端”数据同步方法
CN111680474B (zh) * 2020-06-08 2024-02-23 中国银行股份有限公司 文件乱码修复方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0762300A2 (en) * 1995-09-12 1997-03-12 Kabushiki Kaisha Toshiba Real time stream server for handling a plurality of real time stream data with different data rates
CN101119278A (zh) * 2007-09-14 2008-02-06 广东威创日新电子有限公司 一种处理海量数据的方法及系统
CN101127578A (zh) * 2007-09-14 2008-02-20 广东威创日新电子有限公司 一种处理海量数据的方法及系统
CN101202882A (zh) * 2007-07-19 2008-06-18 深圳市同洲电子股份有限公司 一种媒体资源传输方法、系统及机顶盒
CN103077149A (zh) * 2013-01-09 2013-05-01 厦门市美亚柏科信息股份有限公司 一种数据传输方法和系统
CN103164538A (zh) * 2013-04-11 2013-06-19 深圳市华力特电气股份有限公司 一种数据解析方法和装置
CN104394229A (zh) * 2014-12-09 2015-03-04 浪潮电子信息产业股份有限公司 一种基于并发传输模式的大文件上传方法
CN105701178A (zh) * 2016-01-05 2016-06-22 北京汇商融通信息技术有限公司 分布式图片存储系统
CN105761039A (zh) * 2016-02-17 2016-07-13 华迪计算机集团有限公司 快递信息大数据处理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615175A (zh) * 2009-08-11 2009-12-30 深圳市五巨科技有限公司 一种读取移动终端电子书的系统和方法
CN102521349A (zh) * 2011-12-12 2012-06-27 深圳市创新科信息技术有限公司 一种文件预读方法
CN103412950B (zh) * 2013-08-28 2016-06-22 浙江大学 加速空间大数据文件读写速度的方法
CN104331255B (zh) * 2014-11-17 2018-04-17 中国科学院声学研究所 一种基于嵌入式文件系统的流式数据读取方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0762300A2 (en) * 1995-09-12 1997-03-12 Kabushiki Kaisha Toshiba Real time stream server for handling a plurality of real time stream data with different data rates
CN101202882A (zh) * 2007-07-19 2008-06-18 深圳市同洲电子股份有限公司 一种媒体资源传输方法、系统及机顶盒
CN101119278A (zh) * 2007-09-14 2008-02-06 广东威创日新电子有限公司 一种处理海量数据的方法及系统
CN101127578A (zh) * 2007-09-14 2008-02-20 广东威创日新电子有限公司 一种处理海量数据的方法及系统
CN103077149A (zh) * 2013-01-09 2013-05-01 厦门市美亚柏科信息股份有限公司 一种数据传输方法和系统
CN103164538A (zh) * 2013-04-11 2013-06-19 深圳市华力特电气股份有限公司 一种数据解析方法和装置
CN104394229A (zh) * 2014-12-09 2015-03-04 浪潮电子信息产业股份有限公司 一种基于并发传输模式的大文件上传方法
CN105701178A (zh) * 2016-01-05 2016-06-22 北京汇商融通信息技术有限公司 分布式图片存储系统
CN105761039A (zh) * 2016-02-17 2016-07-13 华迪计算机集团有限公司 快递信息大数据处理方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI698740B (zh) * 2018-08-27 2020-07-11 宏碁股份有限公司 還原映像檔的部署方法與使用此方法的電子裝置
CN110750505A (zh) * 2019-08-31 2020-02-04 苏州浪潮智能科技有限公司 一种大文件读取优化方法、装置、设备及存储介质
CN112764908A (zh) * 2021-01-26 2021-05-07 北京鼎普科技股份有限公司 网络数据采集处理方法、装置和电子设备
CN112764908B (zh) * 2021-01-26 2024-01-26 北京鼎普科技股份有限公司 网络数据采集处理方法、装置和电子设备
CN113783939A (zh) * 2021-08-20 2021-12-10 奇安信科技集团股份有限公司 文件传输方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2018054200A1 (zh) 2018-03-29

Similar Documents

Publication Publication Date Title
CN107870928A (zh) 文件读取方法和装置
CN103310475B (zh) 动画播放方法及装置
CN104735468B (zh) 一种基于语义分析将图像合成新视频的方法及系统
CN104391954B (zh) 数据库日志的处理方法及装置
CN108595583A (zh) 动态图表类页面数据爬取方法、装置、终端及存储介质
CN102148805B (zh) 特征匹配方法和装置
CN108334895B (zh) 目标数据的分类方法、装置、存储介质及电子装置
CN109885828A (zh) 基于语言模型的词语纠错方法、装置、计算机设备及介质
CN103455475A (zh) 排版方法、设备及系统
CN103294718A (zh) 网页缓存管理方法和装置
CN108681547A (zh) 一种基于小程序的网页内容转换方法及装置
CN111079408A (zh) 一种语种识别方法、装置、设备及存储介质
CN102999480A (zh) 编辑文档的方法及系统
CN106991314A (zh) 一种数据存储方法及装置
CN106293862B (zh) 一种可扩展标记语言xml数据的解析方法和装置
CN112380348B (zh) 元数据处理方法、装置、电子设备及计算机可读存储介质
CN113419957A (zh) 基于规则的大数据离线批处理性能容量扫描方法及装置
CN103546466B (zh) 一种多业务交互处理的方法和网络设备
CN108255888A (zh) 一种数据处理方法及系统
CN113468377A (zh) 一种视频与文献关联整合方法
CN106708713A (zh) 日志文件的写入方法及装置
CN105893521A (zh) 一种读写分离的HBase入库方法
CN103914481A (zh) 数据存储方法和装置
CN112328838B (zh) 一种报文解析预处理方法、系统及存储介质
CN111324732B (zh) 模型训练方法、文本处理方法、装置及电子设备

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180727

Address after: 200336 room 402, Tianshan Road, Changning District, Shanghai, 402

Applicant after: Shanghai wisdom Mdt InfoTech Ltd

Applicant after: Hangzhou Bo Yan Information Technology Co., Ltd.

Address before: 200336 room 402, Tianshan Road, Changning District, Shanghai, 402

Applicant before: Shanghai wisdom Mdt InfoTech Ltd

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 402, room 8, 200336 Tian Shan Road, Shanghai, Changning District

Applicant after: Boyan Hongzhi Technology (Shanghai) Co., Ltd

Applicant after: Hangzhou Bo Yan Information Technology Co.,Ltd.

Address before: 402, room 8, 200336 Tian Shan Road, Shanghai, Changning District

Applicant before: SHANGHAI HONGZHI INFORMATION TECHNOLOGY Co.,Ltd.

Applicant before: Hangzhou Bo Yan Information Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180403