CN110674093A - 文件数据处理方法、装置、计算机设备和存储介质 - Google Patents
文件数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110674093A CN110674093A CN201910802087.7A CN201910802087A CN110674093A CN 110674093 A CN110674093 A CN 110674093A CN 201910802087 A CN201910802087 A CN 201910802087A CN 110674093 A CN110674093 A CN 110674093A
- Authority
- CN
- China
- Prior art keywords
- byte data
- current
- byte
- data
- separator
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, 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)
Abstract
本申请提供了一种文件数据处理方法、装置、计算机设备和存储介质。所述方法包括:获取目标文件所对应的当前顺序字节数据;识别所述当前顺序字节数据是否为分隔符;若否,则将所述当前顺序字节数据写入到缓存;若是,则对缓存的字节数据进行对象处理;当获取到下一顺序字节数据时,将所述下一顺序字节数据作为当前顺序字节数据,返回所述识别所述当前顺序字节数据是否为分隔符的步骤,直至所述当前顺序字节数据为结束字节。采用本方法能够提高文件数据的处理效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种文件数据处理方法、装置、计算机设备和存储介质。
背景技术
为了对终端或应用服务器生成的大文件数据进行数据提取、数据分析等处理,常需要将生成的大文件数据传输至目标服务器,通过目标服务器的业务处理接口对大文件数据进行处理。
通常,终端或应用服务器将生成的大文件数据传输至目标服务器后,由目标服务器对接收到的所有数据进行解析,进一步,目标服务器调用业务处理接口对解析后的数据进行分析处理。该方法需要服务端一次性解析完所有数据,需要占用服务端大量内存和处理器资源,容易引起内存溢出和线程堵塞的问题,进而造成大文件数据处理的效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高处理效率的文件数据处理方法、装置、计算机设备和存储介质。
一种文件数据处理方法,所述方法包括:
获取目标文件所对应的当前顺序字节数据;
识别所述当前顺序字节数据是否为分隔符;
若否,则将所述当前顺序字节数据写入到缓存;
若是,则对缓存的字节数据进行对象处理;
当获取到下一顺序字节数据时,将所述下一顺序字节数据作为当前顺序字节数据,返回所述识别所述当前顺序字节数据是否为分隔符的步骤,直至所述当前顺序字节数据为结束字节。
在其中一个实施例中,所述若是,则对缓存的字节数据进行对象处理包括:
当识别到所述当前顺序字节数据为分隔符,加载对象转换脚本;
通过所述对象转换脚本将所述缓存的字节数据转换为相应的类对象,并删除所述缓存中的字节数据;
调用相应数量的线程对转换得到的一组或多组类对象并行处理。
在其中一个实施例中,所述分隔符包含多个按序排列的字节数据,所述当识别到所述当前顺序字节数据为分隔符,加载对象转换脚本包括:
将所述分隔符中的第一顺序字节数据记为当前顺序分隔字节;
判断所述当前顺序字节数据与所述当前分隔字节是否匹配;
若是,则获取下一顺序字节数据作为当前顺序字节数据;
将分隔符中的下一顺序字节数据作为当前顺序分隔字节,返回到判断所述当前顺序字节数据与所述当前顺序分隔字节是否匹配的步骤,直至所述分隔符所对应的多个字节数据全部匹配成功后,加载对象转换脚本。
在其中一个实施例中,所述通过所述对象转换脚本将所述缓存的字节数据转换为相应的类对象包括:
将所述缓存的字节数据与格式符进行匹配;
若匹配到相应的格式符,则删除与所述格式符匹配的字节数据,得到非格式符字节数据;
加载对象转换脚本将所述非格式符字节数据转换为相应的类对象。
在其中一个实施例中,所述方法还包括:
当接收到所述目标文件的流转指令时,展示流转界面;
获取在所述流转界面上输入的目标文件的流转路径信息;所述流转路径信息包括生成所述目标文件的发送端标识和流转启动时间;
根据所述发送端标识和流转启动时间,获取所述发送端发送的目标文件。
一种文件数据处理装置,所述装置包括:
字节数据获取模块,用于获取目标文件所对应的当前顺序字节数据;
分隔符识别模块,用于识别所述当前顺序字节数据是否为分隔符;若否,则将所述当前顺序字节数据写入到缓存;若是,则对缓存的字节数据进行对象处理;
循环处理模块,用于当获取到下一顺序字节数据时,将所述下一顺序字节数据作为当前顺序字节数据,返回所述识别所述当前顺序字节数据是否为分隔符的步骤,直至所述当前顺序字节数据为结束字节。
在其中一个实施例中,所述分隔符识别模块还用于当识别到所述当前顺序字节数据为分隔符,加载对象转换脚本;通过所述对象转换脚本将所述缓存的字节数据转换为相应的类对象,并删除所述缓存中的字节数据;调用相应数量的线程对转换得到的一组或多组类对象并行处理。
在其中一个实施例中,所述分隔符包含多个按序排列的字节数据,所述分隔符识别模块还用于将所述分隔符中的第一顺序字节数据记为当前顺序分隔字节;判断所述当前顺序字节数据与所述当前分隔字节是否匹配;若是,则获取下一顺序字节数据作为当前顺序字节数据;将分隔符中的下一顺序字节数据作为当前顺序分隔字节,返回到判断所述当前顺序字节数据与所述当前顺序分隔字节是否匹配的步骤,直至所述分隔符所对应的多个字节数据全部匹配成功后,加载对象转换脚本。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述文件数据处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述文件数据处理方法的步骤。
上述文件数据处理方法、装置、计算机设备和存储介质,基于发送端发送的目标文件所对应的当前顺序的字节数据,对当前顺序的字节数据进行分隔符识别,当识别到分隔符时,通过加载对象转换脚本对缓存的字节数据进行对象处理;否则,存储当前顺序字节数据;进一步,获取下一顺序字节数据并进行分隔符识别,并依据识别结果执行相应的处理,直至目标文件传输结束为止。通过在目标文件的传输过程中,对目标文件进行分段处理,实现了目标文件的边传输边处理,提高了目标文件的处理效率,克服了传统方案中目标服务器需一次性对目标文件的所有数据进行解析所导致的处理效率低的问题。
附图说明
图1a为一个实施例中文件数据处理方法的应用场景图;
图1b为另一个实施例中文件数据处理方法的应用场景图;
图2为一个实施例中文件数据处理方法的流程示意图;
图3为一个实施例中确定文件发送端的流程示意图;
图4为一个实施例中文件数据处理装置的结构框图;
图5为另一个实施例中文件数据处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的文件数据处理方法,可以应用于如图1a所示的应用环境中。该文件数据处理方法应用于文件数据处理系统中。该文件数据处理系统包括终端102以及目标服务器104。其中,终端102内设置有多种应用程序,在为用户提供服务过程中,终端102产生大量的文件数据,以记录提供服务过程中运行状态和用户的行为。其中,终端102与目标服务器104通过网络进行通信,终端102通过网络将文件所对应的大量数据,按字节传输至目标服务器104,目标服务器104识别接收到的单个字节数据是否为分隔符,并根据识别结果对接收到的字节数据进行处理。其中,终端102可以有多个,每个都有目标服务器104通过网络进行通信;终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,目标服务器104可以用独立的目标服务器或者是多个目标服务器组成的目标服务器集群来实现。
本申请提供的文件数据处理方法,还可以应用于如图1b所示的应用环境中。该文件数据处理系统还包括应用服务器106。应用服务器106中设置有多种用于提供服务的应用。应用服务器106与终端102通过网络进行通信,在提供服务调用过程中,终端102通过网络向应用服务器106发起服务调用,同时应用服务器106产生大量的文件数据。其中,应用服务器106与目标服务器104通过网络进行通信;应用服务器106将产生的大量的文件数据传输至目标服务器,通过目标服务器对文件数据进行处理。应用服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种文件数据处理方法,以该方法应用于图1a和1b中的目标服务器为例进行说明,包括以下步骤:
步骤S202,获取目标文件所对应的当前顺序字节数据。
其中,目标文件是由包含多个按序排列的字节数据按照固定格式构成的文本数据。比如,目标文件可以是日志数据、XML格式数据等。终端通过网络将目标文件对应的多个按序排列的字节数据依次传输至目标服务器,以供目标服务器进行处理。
具体地,终端与目标服务器建立TCP(Transmission Control Protocol,传输控制协议)连接,终端向目标服务器发起上传目标文件的请求,并生成该目标文件的输入流。目标服务器接收该目标文件的请求,接收终端通过输入流上传的目标文件的数据。该目标文件包括多个按序排列的字节数据,终端通过输入流依次将目标文件所对应的当前顺序字节数据传输至目标服务器,目标服务器实时接收上传的字节数据。
步骤S204,识别当前顺序字节数据是否为分隔符。
步骤S206,若否,则将当前顺序字节数据写入到缓存。
步骤S208,若是,则对缓存的字节数据进行对象处理。
步骤S210,当获取到下一顺序字节数据时,将下一顺序字节数据作为当前顺序字节数据,返回识别当前顺序字节数据是否为分隔符的步骤,直至当前顺序字节数据为结束字节。
其中,分隔符可以是单字节数据,也可以是由多个连续字节数据组成的字符数据。分隔符包括符号、字母、数字中的一种或多种组合。例如,分隔符可以是单字节的换行符“\n”,也可以是字符“我”。
具体地,目标服务器针对实时接收到的当前顺序字节数据,判断当前顺序字节数据是否为分隔符。首先,目标服务器根据接收到的目标文件的文件扩展名(即文件后缀)获取与目标文件对应的分隔符,判断当前顺序字节数据是否为预先设置的分隔符。例如,当目标文件的文件扩展名为“.log”时,根据预先设置的分隔符数据库查找与文件扩展名对应的分隔符。
若当前顺序字节数据与预先设置的分隔符一一对应,则目标服务器加载对象转换脚本对已缓存的字节数据进行数据处理。目标服务器上不部署有对象转换脚本,对象转换脚本可以是包括多个静态文件的函数库;对象转换脚本用于将字节数据转换为特定类型的类对象。比如,对于日期数据“time:2019-08-19”,通过对象转换脚本将“time”转化为日期对象,从而能够对日期数据(time:2019-08-19)进行相应的处理。
若当前顺序字节数据与预先设置的分隔符不对应,则目标服务器将该当前顺序字节数据存储到缓存中。进一步,目标服务器获取下一顺序字节数据,将下一顺序字节数据作为当前顺序字节数据,识别当前顺序字节数据是否为结束字节,若否,返回执行步骤S204;若是,则结束目标文件的传输。其中,该结束字节可以是预先设置的特定单字节符号。
在其中一个实施例中,终端读取本地存储的目标文件,当读取到目标文件的结束字节时,终端向目标服务器发送输入流结束通知,用于指示目标服务器停止接收目标文件的输入流。
在其中一个实施例中,缓存目标文件所对应的字节数据包括多个缓存,比如第一缓存,第二缓存等。目标服务器识别当前顺序字节数据是否为分隔符,若是,则加载对象转换脚本对第一缓存的字节数据进行处理;进一步,获取下一顺序字节数据,并识别下一顺序字节数据是否为分隔符,若否,则将该下一顺序字节数据写入到第二缓存中;进一步,获取下一顺序字节数据,并识别下一顺序字节数据是否为分隔符,若是,则加载对象转换脚本对第二缓存的字节数据进行处理。
在其中一个实施例中,缓存目标文件所对应的字节数据只有一个缓存。目标服务器识别当前顺序字节数据是否为分隔符,若是,则加载对象转换脚本对缓存的字节数据进行对象处理,并删除缓存中的字节数据;进一步,获取下一顺序字节数据,并识别下一顺序字节数据是否为分隔符,若否,则将下一顺序字节数据写入到缓存中;进一步,获取下一顺序字节数据,并识别下一顺序字节数据是否为分隔符,若是,则加载对象转换脚本对缓存的字节数据进行对象处理,并删除缓存中的字节数据。
上述实施例中,基于发送端发送的目标文件所对应的当前顺序的字节数据,对当前顺序的字节数据进行分隔符识别,当识别到分隔符时,通过加载对象转换脚本对缓存的字节数据进行对象处理;否则,存储当前顺序字节数据;进一步,获取下一顺序字节数据并进行分隔符识别,并依据识别结果执行相应的处理,直至目标文件传输结束为止。通过在目标文件的传输过程中,对目标文件进行分段处理,实现了目标文件的边传输边处理,提高了目标文件的处理效率,克服了传统方案中目标服务器需一次性对目标文件的所有数据进行解析所导致的处理效率低的问题。
在一个实施例中,若是,则对缓存的字节数据进行对象处理包括:当识别到当前顺序字节数据为分隔符,加载对象转换脚本;通过对象转换脚本将缓存的字节数据转换为相应的类对象,并删除缓存中的字节数据;调用相应数量的线程对转换得到的一组或多组类对象并行处理。
具体地,目标服务器对当前顺序字节数据进行识别,当识别到当前顺序字节数据为分隔符时,加载部署在目标服务器内的对象转换脚本,将该目标文件对应的缓存的字节数据转换为相应的类对象,并将之前缓存的字节数据删除。基于转化后的一组或多组类对象,进一步,目标服务器调用与类对象的数量一致的线程,对转化后的类对象进行并行处理,得到每个类对象的处理结果。在本实施例中,通过目标服务器内置的对象转换脚本,将缓存的字节数据转化为对应的类对象,通过线程对转化后的数据进行并行处理,提高了文件数据处理的速率。
在其中一个实施例中,分隔符包含多个按序排列的字节数据,当识别到当前顺序字节数据为分隔符,加载对象转换脚本包括:将分隔符中的第一顺序字节数据记为当前顺序分隔字节;判断当前顺序字节数据与当前分隔字节是否匹配;若是,则获取下一顺序字节数据作为当前顺序字节数据;将分隔符中的下一顺序字节数据作为当前顺序分隔字节,返回到判断当前顺序字节数据与当前顺序分隔字节是否匹配的步骤,直至分隔符所对应的多个字节数据全部匹配成功后,加载对象转换脚本。
具体的,当分隔符包括多个按序排列的字节数据时,将位于第一顺序字节数据记为当前顺序分隔字节。当目标服务器获取到当前顺序字节数据时,识别当前顺序字节数据是否为分隔符,若当前顺序字节数据与当前顺序分隔字节相匹配,则目标服务器获取下一顺序字节数据作为当前顺序字节数据;并将分隔符中的下一顺序字节数据作为当前顺序分隔字节,进一步,判断当前顺序字节数据与当前顺序分隔字节是否匹配,若匹配,则获取下一顺序字节数据作为当前顺序字节数据,进一步执行当前顺序字节数据与当前顺序分隔数据是否匹配的步骤,直至该分隔符中所有字节数据全部匹配成功后,目标服务器加载对象转换脚本。本实施例中,当分隔符为多个字节数据时,将实时获取的字节数据与对应顺序位的分隔数据进行匹配,当分隔符对应的多个字节数据全部匹配成功后,加载对象转换脚本对缓存的数据进行处理,克服了单字节分隔符的范围限制,扩大了分隔符的选取范围,实现了针对多字节分隔符的文件数据处理技术。
在其中一个实施例中,通过对象转换脚本将缓存的字节数据转换为相应的类对象包括:将缓存的字节数据与格式符进行匹配;若匹配到相应的格式符,则删除与格式符匹配的字节数据,得到非格式符字节数据;加载对象转换脚本将非格式符字节数据转换为相应的类对象。
在本实施例中,格式符是指按照目标文件的文件扩展名所对应的特定的字符,比如,对于XML文件,该文件由多个元素块构成,每个元素块包括开始标记“<”,以及结束标记“>”,该开始标记和结束标记即为格式符。具体地,目标服务器根据目标文件的文件扩展名确定对应的格式符,将缓存的字节数据与确定的格式符进行匹配,若缓存的字节数据中匹配到相应的格式符,则目标服务器删除与该格式符匹配的字节数据,以此得到非格式字符字节数据,即不包含格式符的字节数据。进一步,目标服务器加载对象转换脚本将该非格式字符字节数据转化为类对象。
在一个实施例中,如图3所示,提供了一种文确定文件发送端的示意图,包括:
步骤S302,当接收到目标文件的流转指令时,展示流转界面。
步骤S304,获取在流转界面上输入的目标文件的流转路径信息;流转路径信息包括生成目标文件的发送端标识和流转启动时间。
步骤S306,根据发送端标识和流转启动时间,获取发送端发送的目标文件。
具体地,目标服务器在接收到触发目标文件的流转指令时,在目标服务器的显示界面上显示流转界面。其中,流转是指目标文件从发送端传输至目标服务器中;流转界面主要用于获取待传输的目标文件的流转路径信息;该流转路径信息包括生成该目标文件的发送端标识和流转启动时间;该发送端标识可以采用数字、字符以及字母中的一种或多种组合,该发送端可以是终端或服务器;该发送端标识可以是终端或服务器的物理地址;该流转启动时间是指目标服务器开始将目标文件进行流转的时间,比如该流转启动时间可以是发送端生成目标文件后2个小时。该流转界面上至少包括发送端标识、流转启动时间等输入选项,目标服务器根据用户在输入选项中输入的信息,确定目标文件待续流转的发送端和启动时间。
目标服务器在获取到用户的输入信息后,根据多个输入选项信息所确定的流转路径信息执行流转。当达到该流转路径信息的流转启动时间时,目标服务器根据流转路径信息的发送端标识,从对应的发送端中读取相应的目标文件,并将读取到的目标文件传输至目标服务器。目标服务器获取目标文件所对应的当前顺序的字节数据,识别当前顺序字节数据是否为分割符,若否,则将当前顺序字节数据写入到缓存;若是,则加载对象转换脚本对缓存的字节数据进行对象处理;当获取到下一顺序字节数据时,将下一顺序字节数据作为当前顺序字节数据返回识别当前顺序字节数据是否为分隔符的步骤,直至当前顺序字节数据为结束字节。
进一步,目标流转路径信息还可以包括目标文件在发送端和目标服务器的存储路径。目标服务器根据发送端标识查找到相应的发送端,根据发送端的存储路径获取目标文件。且目标服务器根据目标服务器的存储路径,将获取到的目标文件存储到与该路径对应的缓存中。
在本实施例中,通过流转界面采集待流转的目标文件所需信息,并根据采集的信息实现目标文件的流转以及文件数据处理。只需要在流转界面中输入流转信息即可实现,克服了人工编写流转程序指令所带来的效率低的问题,节省了流转时间,从而提高了文件数据处理的效率。并且,由于省略了在数据分析脚本中编写代码的过程,也大大提高了数据分析脚本的开发效率。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种文件数据处理装置400,包括:字节数据获取模块402、分隔符识别模块404和循环处理模块406,其中:
字节数据获取模块402,用于获取目标文件所对应的当前顺序字节数据。
分隔符识别模块404,用于识别当前顺序字节数据是否为分隔符;若否,则将当前顺序字节数据写入到缓存;若是,则对缓存的字节数据进行对象处理。
循环处理模块406,用于当获取到下一顺序字节数据时,将下一顺序字节数据作为当前顺序字节数据,返回识别当前顺序字节数据是否为分隔符的步骤,直至当前顺序字节数据为结束字节。
在一个实施例中,上述分隔符识别模块404还用于当识别到当前顺序字节数据为分隔符,加载对象转换脚本;通过对象转换脚本将缓存的字节数据转换为相应的类对象,并删除缓存中的字节数据;调用相应数量的线程对转换得到的一组或多组类对象并行处理。
在一个实施例中,分隔符包含多个按序排列的字节数据,上述分隔符识别模块404还用于将分隔符中的第一顺序字节数据记为当前顺序分隔字节;判断当前顺序字节数据与当前分隔字节是否匹配;若是,则获取下一顺序字节数据作为当前顺序字节数据;将分隔符中的下一顺序字节数据作为当前顺序分隔字节,返回到判断当前顺序字节数据与当前顺序分隔字节是否匹配的步骤,直至分隔符所对应的多个字节数据全部匹配成功后,加载对象转换脚本。
在一个实施例中,上述分隔符识别模块404还用于将缓存的字节数据与格式符进行匹配;若匹配到相应的格式符,则删除与格式符匹配的字节数据,得到非格式符字节数据;加载对象转换脚本将非格式符字节数据转换为相应的类对象。
在一个实施例中,如图5所示,上述装置还包括文件发送端确定模块408,用于当接收到目标文件的流转指令时,展示流转界面;获取在流转界面上输入的目标文件的流转路径信息;流转路径信息包括生成目标文件的发送端标识和流转启动时间;根据发送端标识和流转启动时间,获取发送端发送的目标文件。
在本实施例中,基于发送端发送的目标文件所对应的当前顺序的字节数据,对当前顺序的字节数据进行分隔符识别,当识别到分隔符时,通过加载对象转换脚本对缓存的字节数据进行对象处理;否则,存储当前顺序字节数据;进一步,获取下一顺序字节数据并进行分隔符识别,并依据识别结果执行相应的处理,直至目标文件传输结束为止。通过在目标文件的传输过程中,对目标文件进行分段处理,实现了目标文件的边传输边处理,提高了目标文件的处理效率,克服了传统方案中目标服务器需一次性对目标文件的所有数据进行解析所导致的处理效率低的问题。
关于文件数据处理装置的具体限定可以参见上文中对于文件数据处理方法的限定,在此不再赘述。上述文件数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示界面和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标文件所对应的多个字节数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文件数据处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取目标文件所对应的当前顺序字节数据;识别当前顺序字节数据是否为分隔符;若否,则将当前顺序字节数据写入到缓存;若是,则对缓存的字节数据进行对象处理;当获取到下一顺序字节数据时,将下一顺序字节数据作为当前顺序字节数据,返回识别当前顺序字节数据是否为分隔符的步骤,直至当前顺序字节数据为结束字节。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当识别到当前顺序字节数据为分隔符,加载对象转换脚本;通过对象转换脚本将缓存的字节数据转换为相应的类对象,并删除缓存中的字节数据;调用相应数量的线程对转换得到的一组或多组类对象进行并行处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将分隔符中的第一顺序字节数据记为当前顺序分隔字节;判断当前顺序字节数据与当前分隔字节是否匹配;若是,则获取下一顺序字节数据作为当前顺序字节数据;将分隔符中的下一顺序字节数据作为当前顺序分隔字节,返回到判断当前顺序字节数据与当前顺序分隔字节是否匹配的步骤,直至分隔符所对应的多个字节数据全部匹配成功后,加载对象转换脚本。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将缓存的字节数据与格式符进行匹配;若匹配到相应的格式符,则删除与格式符匹配的字节数据,得到非格式符字节数据;加载对象转换脚本将非格式符字节数据转换为相应的类对象。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到目标文件的流转指令时,展示流转界面;获取在流转界面上输入的目标文件的流转路径信息;流转路径信息包括生成目标文件的发送端标识和流转启动时间;根据发送端标识和流转启动时间,获取发送端发送的目标文件。
在本实施例中,基于发送端发送的目标文件所对应的当前顺序的字节数据,对当前顺序的字节数据进行分隔符识别,当识别到分隔符时,通过加载对象转换脚本对缓存的字节数据进行对象处理;否则,存储当前顺序字节数据;进一步,获取下一顺序字节数据并进行分隔符识别,并依据识别结果执行相应的处理,直至目标文件传输结束为止。通过在目标文件的传输过程中,对目标文件进行分段处理,实现了目标文件的边传输边处理,提高了目标文件的处理效率,克服了传统方案中目标服务器需一次性对目标文件的所有数据进行解析所导致的处理效率低的问题。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取目标文件所对应的当前顺序字节数据;识别当前顺序字节数据是否为分隔符;若否,则将当前顺序字节数据写入到缓存;若是,则对缓存的字节数据进行对象处理;当获取到下一顺序字节数据时,将下一顺序字节数据作为当前顺序字节数据,返回识别当前顺序字节数据是否为分隔符的步骤,直至当前顺序字节数据为结束字节。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当识别到当前顺序字节数据为分隔符,加载对象转换脚本;通过对象转换脚本将缓存的字节数据转换为相应的类对象,并删除缓存中的字节数据;调用相应数量的线程对转换得到的一组或多组类对象进行并行处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将分隔符中的第一顺序字节数据记为当前顺序分隔字节;判断当前顺序字节数据与当前分隔字节是否匹配;若是,则获取下一顺序字节数据作为当前顺序字节数据;将分隔符中的下一顺序字节数据作为当前顺序分隔字节,返回到判断当前顺序字节数据与当前顺序分隔字节是否匹配的步骤,直至分隔符所对应的多个字节数据全部匹配成功后,加载对象转换脚本。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将缓存的字节数据与格式符进行匹配;若匹配到相应的格式符,则删除与格式符匹配的字节数据,得到非格式符字节数据;加载对象转换脚本将非格式符字节数据转换为相应的类对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到目标文件的流转指令时,展示流转界面;获取在流转界面上输入的目标文件的流转路径信息;流转路径信息包括生成目标文件的发送端标识和流转启动时间;根据发送端标识和流转启动时间,获取发送端发送的目标文件。
在本实施例中,基于发送端发送的目标文件所对应的当前顺序的字节数据,对当前顺序的字节数据进行分隔符识别,当识别到分隔符时,通过加载对象转换脚本对缓存的字节数据进行对象处理;否则,存储当前顺序字节数据;进一步,获取下一顺序字节数据并进行分隔符识别,并依据识别结果执行相应的处理,直至目标文件传输结束为止。通过在目标文件的传输过程中,对目标文件进行分段处理,实现了目标文件的边传输边处理,提高了目标文件的处理效率,克服了传统方案中目标服务器需一次性对目标文件的所有数据进行解析所导致的处理效率低的问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种文件数据处理方法,所述方法包括:
获取目标文件所对应的当前顺序字节数据;
识别所述当前顺序字节数据是否为分隔符;
若否,则将所述当前顺序字节数据写入到缓存;
若是,则对缓存的字节数据进行对象处理;
当获取到下一顺序字节数据时,将所述下一顺序字节数据作为当前顺序字节数据,返回所述识别所述当前顺序字节数据是否为分隔符的步骤,直至所述当前顺序字节数据为结束字节。
2.根据权利要求1所述的方法,其特征在于,所述若是,则对缓存的字节数据进行对象处理包括:
当识别到所述当前顺序字节数据为分隔符,加载对象转换脚本;
通过所述对象转换脚本将所述缓存的字节数据转换为相应的类对象,并删除所述缓存中的字节数据;
调用相应数量的线程对转换得到的一组或多组类对象进行并行处理。
3.根据权利要求2所述的方法,其特征在于,所述分隔符包含多个按序排列的字节数据,所述当识别到所述当前顺序字节数据为分隔符,加载对象转换脚本包括:
将所述分隔符中的第一顺序字节数据记为当前顺序分隔字节;
判断所述当前顺序字节数据与所述当前分隔字节是否匹配;
若是,则获取下一顺序字节数据作为当前顺序字节数据;
将分隔符中的下一顺序字节数据作为当前顺序分隔字节,返回到判断所述当前顺序字节数据与所述当前顺序分隔字节是否匹配的步骤,直至所述分隔符所对应的多个字节数据全部匹配成功后,加载对象转换脚本。
4.根据权利要求2所述的方法,其特征在于,所述通过所述对象转换脚本将所述缓存的字节数据转换为相应的类对象包括:
将所述缓存的字节数据与格式符进行匹配;
若匹配到相应的格式符,则删除与所述格式符匹配的字节数据,得到非格式符字节数据;
加载对象转换脚本将所述非格式符字节数据转换为相应的类对象。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述目标文件的流转指令时,展示流转界面;
获取在所述流转界面上输入的目标文件的流转路径信息;所述流转路径信息包括生成所述目标文件的发送端标识和流转启动时间;
根据所述发送端标识和流转启动时间,获取所述发送端发送的目标文件。
6.一种文件数据处理装置,其特征在于,所述装置包括:
字节数据获取模块,用于获取目标文件所对应的当前顺序字节数据;
分隔符识别模块,用于识别所述当前顺序字节数据是否为分隔符;若否,则将所述当前顺序字节数据写入到缓存;若是,则对缓存的字节数据进行对象处理;
循环处理模块,用于当获取到下一顺序字节数据时,将所述下一顺序字节数据作为当前顺序字节数据,返回所述识别所述当前顺序字节数据是否为分隔符的步骤,直至所述当前顺序字节数据为结束字节。
7.根据权利要求6所述的装置,其特征在于,所述分隔符识别模块还用于当识别到所述当前顺序字节数据为分隔符,加载对象转换脚本;通过所述对象转换脚本将所述缓存的字节数据转换为相应的类对象,并删除所述缓存中的字节数据;调用相应数量的线程对转换得到的一组或多组类对象并行处理。
8.根据权利要求7所述的装置,其特征在于,所述分隔符包含多个按序排列的字节数据,所述分隔符识别模块还用于将所述分隔符中的第一顺序字节数据记为当前顺序分隔字节;判断所述当前顺序字节数据与所述当前分隔字节是否匹配;若是,则获取下一顺序字节数据作为当前顺序字节数据;将分隔符中的下一顺序字节数据作为当前顺序分隔字节,返回到判断所述当前顺序字节数据与所述当前顺序分隔字节是否匹配的步骤,直至所述分隔符所对应的多个字节数据全部匹配成功后,加载对象转换脚本。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802087.7A CN110674093A (zh) | 2019-08-28 | 2019-08-28 | 文件数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802087.7A CN110674093A (zh) | 2019-08-28 | 2019-08-28 | 文件数据处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110674093A true CN110674093A (zh) | 2020-01-10 |
Family
ID=69075647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910802087.7A Pending CN110674093A (zh) | 2019-08-28 | 2019-08-28 | 文件数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674093A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506874A (zh) * | 2020-12-14 | 2021-03-16 | 福建福讯人才服务有限公司 | 一种基于Qt的文件缓存数据控制方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08286889A (ja) * | 1995-04-14 | 1996-11-01 | Hitachi Ltd | データファイル圧縮復元方法 |
CN1703041A (zh) * | 2005-06-08 | 2005-11-30 | 武汉虹信通信技术有限责任公司 | 通信服务器并发处理大数据量的方法 |
CN101472189A (zh) * | 2007-12-24 | 2009-07-01 | 新奥特(北京)视频技术有限公司 | 一种能够对收录过程中的文件进行切分的收录系统 |
CN101770470A (zh) * | 2008-12-31 | 2010-07-07 | 中国银联股份有限公司 | 一种文件类型识别分析方法及系统 |
CN105677754A (zh) * | 2015-12-30 | 2016-06-15 | 华为技术有限公司 | 获取文件系统中子项元数据的方法、装置和系统 |
CN107153633A (zh) * | 2016-03-02 | 2017-09-12 | 北大方正集团有限公司 | 在线文档文件的切分方法和在线文档文件的切分系统 |
CN108255494A (zh) * | 2018-01-30 | 2018-07-06 | 平安科技(深圳)有限公司 | 一种xml文件解析方法、装置、计算机设备及存储介质 |
-
2019
- 2019-08-28 CN CN201910802087.7A patent/CN110674093A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08286889A (ja) * | 1995-04-14 | 1996-11-01 | Hitachi Ltd | データファイル圧縮復元方法 |
CN1703041A (zh) * | 2005-06-08 | 2005-11-30 | 武汉虹信通信技术有限责任公司 | 通信服务器并发处理大数据量的方法 |
CN101472189A (zh) * | 2007-12-24 | 2009-07-01 | 新奥特(北京)视频技术有限公司 | 一种能够对收录过程中的文件进行切分的收录系统 |
CN101770470A (zh) * | 2008-12-31 | 2010-07-07 | 中国银联股份有限公司 | 一种文件类型识别分析方法及系统 |
CN105677754A (zh) * | 2015-12-30 | 2016-06-15 | 华为技术有限公司 | 获取文件系统中子项元数据的方法、装置和系统 |
CN107153633A (zh) * | 2016-03-02 | 2017-09-12 | 北大方正集团有限公司 | 在线文档文件的切分方法和在线文档文件的切分系统 |
CN108255494A (zh) * | 2018-01-30 | 2018-07-06 | 平安科技(深圳)有限公司 | 一种xml文件解析方法、装置、计算机设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506874A (zh) * | 2020-12-14 | 2021-03-16 | 福建福讯人才服务有限公司 | 一种基于Qt的文件缓存数据控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN108256114B (zh) | 文档在线预览方法、装置、计算机设备和存储介质 | |
CN110908778B (zh) | 任务部署方法、系统和存储介质 | |
CN109040191B (zh) | 文件下载方法、装置、计算机设备和存储介质 | |
CN110866491A (zh) | 目标检索方法、装置、计算机可读存储介质和计算机设备 | |
CN109246235B (zh) | 监测数据的接收方法、装置和数据监测系统 | |
CN108924258B (zh) | 后台信息推送方法、装置、计算机设备和存储介质 | |
CN111144402A (zh) | Ocr识别准确率的计算方法、装置、设备以及存储介质 | |
CN112597020A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN110909629A (zh) | 人脸识别数据处理方法、装置、计算机设备和存储介质 | |
CN113472803A (zh) | 漏洞攻击状态检测方法、装置、计算机设备和存储介质 | |
CN110275703B (zh) | 键值对数据的赋值方法、装置、计算机设备和存储介质 | |
CN110674093A (zh) | 文件数据处理方法、装置、计算机设备和存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112687375A (zh) | Dicom文件传输方法、系统、装置、服务器和存储介质 | |
CN109474386B (zh) | 信令跟踪方法、系统、网元设备和存储介质 | |
CN108460116B (zh) | 搜索方法、装置、计算机设备、存储介质及搜索系统 | |
CN112287265B (zh) | 一种基于异步事件驱动的文件转换方法及系统 | |
CN110460585B (zh) | 设备身份识别方法、装置、计算机设备以及存储介质 | |
CN112463791A (zh) | 核电站文档数据获取方法、装置、计算机设备及存储介质 | |
CN110557374B (zh) | 电力数据采集方法、装置、计算机设备和存储介质 | |
CN110147531B (zh) | 一种相似文本内容的识别方法、装置及存储介质 | |
CN111985446A (zh) | 人脸识别方法以及系统 | |
CN112528832A (zh) | 对pdf格式的继电保护定值单进行处理的方法和系统 | |
CN117077624B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200110 |
|
RJ01 | Rejection of invention patent application after publication |