CN109325002B - 文本文件处理方法、装置、系统、电子设备、存储介质 - Google Patents

文本文件处理方法、装置、系统、电子设备、存储介质 Download PDF

Info

Publication number
CN109325002B
CN109325002B CN201811024836.XA CN201811024836A CN109325002B CN 109325002 B CN109325002 B CN 109325002B CN 201811024836 A CN201811024836 A CN 201811024836A CN 109325002 B CN109325002 B CN 109325002B
Authority
CN
China
Prior art keywords
text file
data
processing
pieces
file
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.)
Active
Application number
CN201811024836.XA
Other languages
English (en)
Other versions
CN109325002A (zh
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.)
JD Digital Technology Holdings Co Ltd
Jingdong Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding 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 Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201811024836.XA priority Critical patent/CN109325002B/zh
Publication of CN109325002A publication Critical patent/CN109325002A/zh
Application granted granted Critical
Publication of CN109325002B publication Critical patent/CN109325002B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种文本文件处理方法、装置、系统、电子设备、存储介质,文本文件处理方法包括:对一文本文件,分批加载该文本文件的多条数据;以及遍历所加载的文本文件的多条数据,以将该多条数据加入一消息队列中,所述消息队列由多个处理设备监听,供该多个处理设备分别自所述消息队列中消费并处理该多条数据。本发明提供的方法及装置可以降低机器内存压力、提高处理效率。

Description

文本文件处理方法、装置、系统、电子设备、存储介质
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种文本文件处理方法、装置、系统、电子设备、存储介质。
背景技术
系统处理文本文件是一种较常见的需求,文本文件也作为一种数据载体为系统间数据传输提供支持。在处理文本文件过程中往往遇到格式错误、数据量巨大、文件内容业务复杂等各种问题。处理文件往往伴随着文件中数据所对应的业务处理,业务复杂程度各有不同,若仅使用单台机器处理存在严重的性能问题。目前大部分系统处理文本文件是采用单台服务器通过SFTP(Secure File Transfer Protocol,安全文件传送协议)获取文件并一次性加载整个文件在内存中,然后逐条读取,每处理一条会串行执行相关业务处理。
然而这样的文本文件的处理方式会导致如下问题:
1)一次性加载整个文件在内存中容易导致内存溢出。
2)文件中其中一条数据处理失败,则整个文件处理失败。
3)文件在单台机器上处理,强依赖机器性能,并且处理效率较低。
4)数据处理失败不支持重试。
发明内容
本发明为了克服上述相关技术存在的缺陷,提供一种文本文件处理方法、装置、系统、电子设备、存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本发明的一个方面,提供一种文本文件处理方法,包括:
对一文本文件,分批加载该文本文件的多条数据;以及
遍历所加载的文本文件的多条数据,以将该多条数据加入一消息队列中,所述消息队列由多个处理设备监听,供该多个处理设备分别自所述消息队列中消费并处理该多条数据。
可选地,所述对一文本文件,分批加载该文本文件的多条数据包括:
每次加载该文本文件的N条数据,N为大于等于1小于M的整数,该文本文件共M条数据,M为大于等于1的整数。
可选地,每次加载该文本文件的数据条数N根据各所述处理设备的负载调整。
可选地,所述对一文本文件,分批加载该文本文件的多条数据之前还包括:
对所述文本文件进行校验。
可选地,所述对所述文本文件进行校验还包括:
对同一业务类型的所述文本文件,若该文本文件的字节数小于等于该业务类型的前一文本文件的字节数的两倍,且该文本文件的字节数大于等于该业务类型的前一文本文件的字节数的二分之一时,所述文本文件校验成功。
可选地,所述对所述文本文件进行校验还包括:
校验所述文本文件的文件名和/或文件类型是否符合预设规则。
可选地,还包括:
将处理失败的各条数据存入缓存;以及
以定时任务检索缓存中各条数据,并对各条数据发起重试处理。
可选地,所述以定时任务检索缓存中各条数据,并对各条数据发起重试处理包括:
采用步长重试机制对各条数据发起重试处理,步长基数为s秒,第i+1次重试与第第i次重试之间的时间间隔为2(i-1)×r,其中,r为大于0的常数,i为大于等于1的整数。
根据本发明的又一方面,还提供一种文本文件处理装置,包括:
加载模块,用于对一文本文件,分批加载该文本文件的多条数据;以及
遍历模块,用于遍历所加载的文本文件的多条数据,以将该多条数据加入一消息队列中,所述消息队列由多个处理设备监听,供该多个处理设备分别自所述消息队列中消费并处理该多条数据。
根据本发明的又一方面,还提供一种文本文件处理系统,包括:
如上所述的文本文件处理装置;以及
多个处理设备,用于自所述消息队列中消费并处理该多条数据。
根据本发明的又一方面,还提供一种电子设备,所述电子设备包括:处理器;存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如上所述的步骤。
根据本发明的又一方面,还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的步骤。
相比现有技术,本发明的优势在于:
一方面,分批次加载文本文件,每次读取若干条数据,降低机器内存压力;另一方面,通过多个处理设备异步处理文件,提高处理效率,且不会出现文件中其中一条数据处理失败,则整个文件处理失败的情况;再一方面,文本文件的数据处理失败支持重试,不会中断程序,失败的数据会采用重试机制继续处理,以达到不强依赖外部,不受网络抖动影响,容灾,容错的目的。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的文本文件处理方法的流程图。
图2示出了根据本发明具体实施例的文本文件处理方法的流程图。
图3示出了根据本发明实施例的文本文件处理装置的模块图。
图4示出了根据本发明实施例的文本文件处理系统的模块图。
图5示意性示出本发明示例性实施例中一种计算机可读存储介质示意图。
图6示意性示出本发明示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此,实际执行的顺序有可能根据实际情况改变。
图1示出了根据本发明实施例的文本文件处理方法的流程图。参考图1,所述文本文件处理方法包括如下步骤:
步骤S110:对一文本文件,分批加载该文本文件的多条数据;以及
步骤S120:遍历所加载的文本文件的多条数据,以将该多条数据加入一消息队列中,所述消息队列由多个处理设备监听,供该多个处理设备分别自所述消息队列中消费并处理该多条数据。
在本发明的示例性实施方式的文本文件处理方法中,一方面,分批次加载文本文件,每次读取若干条数据,降低机器内存压力;另一方面,通过多个处理设备异步处理文件,提高处理效率,且不会出现文件中其中一条数据处理失败,则整个文件处理失败的情况;再一方面,文本文件的数据处理失败支持重试,不会中断程序,失败的数据会采用重试机制继续处理,以达到不强依赖外部,不受网络抖动影响,容灾,容错的目的。
具体而言,本发明各实施例中,所述的文本文件包括但不限于txt格式文件、doc格式文件、xls格式文件。
下面结合图2示出的根据本发明具体实施例的文本文件处理方法的流程图,进一步对上述步骤进行描述。
首先,在上述步骤S110对一文本文件,分批加载该文本文件的多条数据之前执行如图2所示的步骤S210:对所述文本文件进行校验。
具体而言,步骤S210对所述文本文件进行校验可以包括文本文件数据大小的校验。例如,对同一业务类型的所述文本文件,若该文本文件的字节数小于等于该业务类型的前一文本文件的字节数的两倍,且该文本文件的字节数大于等于该业务类型的前一文本文件的字节数的二分之一时,所述文本文件校验成功。可以理解,同一业务类型的文本文件的大小基本一致。同一业务类型的文本文件例如是以天为单位整合该天的多条数据。在一个具体实施例中,文本文件可以来源于远程SFTP服务器,同一业务类型文本文件每天都会生成一个,由第三方程序上传。通过登录SFTP服务器即可将文本文件下载到本地。在该实施例中,上述校验步骤可以是:对同一业务类型的所述文本文件,若该文本文件的字节数小于等于该业务类型的前一天的文本文件的字节数的两倍,且该文本文件的字节数大于等于该业务类型的前一天的文本文件的字节数的二分之一时,所述文本文件校验成功。本领域技术人员可以实现更多的变化方式,在此不予赘述。具体而言,若上述文本文件数据大小校验不成工,则可以进行报警,以免影响后续处理流程。进一步地,上述字节数的阈值设定可以根据实际情况自由配置,本发明并非以此为限。
具体而言,步骤S210对所述文本文件进行校验还可以包括校验所述文本文件的文件名和/或文件类型是否符合预设规则。例如,文件名的预设规则为:日期_类型_识别码.txt;预设文件类型为UTF-8(8-bit Unicode Transformation Format,万国码)。在步骤S210中需要使得文件名遵循文件名的预设规则和/或文件类型符合预设文件类型。若文件名不符合遵循文件名的预设规则和文件类型不符合预设文件类型则可以进行报警,以免影响后续处理流程。文件名的预设规则和预设文件类型可依据实际情况自由配置,本发明并非以此为限。
进一步地,上述校验方式以“可插拔”的组件形式单独使用、组合使用或者也可以不使用,本发明并非以此为限。
然后执行步骤S220:所述对一文本文件,分批加载该文本文件的多条数据。具体而言,步骤S220包括每次加载该文本文件的N条数据,N为大于等于1小于M的整数,该文本文件共M条数据,M为大于等于1的整数。
具体而言,步骤S220为避免一次加载整个文本文件进入内存导致内存溢出,故采用分批解析,可以每次读取N条数据来批量插入数据库以待后续处理设备进行处理。
然后执行步骤S230:遍历所加载的文本文件的多条数据,以将该多条数据加入一消息队列中,所述消息队列由多个处理设备监听,供该多个处理设备分别自所述消息队列中消费并处理该多条数据。
然后执行步骤S240:处理设备A至处理设备C分别自所述消息队列中消费并处理该多条数据中的至少一条数据。多台处理设备同时监听此消息队列,并行处理,大大提升了数据吞吐量,提升文件处理整体效率,此机制解决传统的单机处理瓶颈。
具体而言,本发明提供的文本文件处理方法通过消息队列使用生产者消费者模式,生产者就是生产数据的进程(将多条数据存入消息队列),消费者就是消费数据的进程(从消息队列中消费多条数据),生产者消费者模式通过消息队列来解决生产者和消费者的强耦合问题,所以这两者之间不需要直接通信。
基于上述生产者和消费者模式,本发明提供的文本文件处理方法在不间断循环检测,处理设备一旦发现有需要处理的数据即可从消息队列中消费并按文本文件的业务类型对该条数据进行处理。
在一个具体实施例中,步骤S220的加载步骤、步骤S230的加入消息队列的步骤及步骤240的消费消息队列的步骤可以同时进行,例如,文本文件的第一批的多条数据在步骤S240进行处理时,文本文件的第二批的多条数据可同时加载并加入消息队列。由此,每次加载该文本文件的数据条数N根据各所述处理设备的负载调整。例如,当各处理设备的处理速度、CPU使用率、内存中的一项或多项大于等于预设阈值时,减少每次加载该文本文件的数据条数;当各处理设备的处理速度、CPU使用率、内存中的一项或多项小于预设阈值时,增加每次加载该文本文件的数据条数。以上仅仅是本发明的一个具体实施方式,本发明并非以此为限。
处理文本文件中每条数据通常伴随着对应的业务处理,受外部调用、网络抖动、系统未知异常等各种异常场景时有发生。故本发明还提供失败重试机制。具体而言,上述步骤S240之后,还包括:步骤S250将处理失败的各条数据存入缓存;步骤S260以定时任务检索缓存中各条数据,并对各条数据发起重试处理。
进一步地,步骤S250所述的缓存包括但不限于使用redis、memcache等可持久化缓存数据存储介质,以达到数据存储目的。
进一步地,为避免高频无效重试,给服务器带来不必要压力,上述步骤S260所述以定时任务检索缓存中各条数据,并对各条数据发起重试处理包括:采用步长重试机制对各条数据发起重试处理,步长基数为s秒,第i+1次重试与第第i次重试之间的时间间隔为2(i-1)×r,其中,r为大于0的常数,i为大于等于1的整数。例如,步长基数可以为2秒,则每次重试时间间隔1×2=2秒、2×2=4秒、4×2=8秒、8×2=16秒、16×2=32秒,以此类推。若重试成功则将此条数据在缓存中删除。此机制体现高可靠特性。
由此,本发明可以通过文件校验机制,提前发现目标文件异常之处停止处理并发出警告,能避免不必要的处理设备消耗也能提前发现文件异常;可以通过采用消息队列模式,使多台处理设备并行处理文件中业务数据,提升效率;可通过文件分批解析处理方式,减轻一次性加载入内存导致的设备压力;可以通过将重试机制做为一种容错机制,能够发起重试,使程序高可靠运行。
下面结合图3描述本发明提供的文本文件处理装置。图3示出了根据本发明实施例的文本文件处理装置的模块图。文本文件处理装置300包括加载模块310及遍历模块320。
加载模块310用于对一文本文件,分批加载该文本文件的多条数据;以及
遍历模块320用于遍历所加载的文本文件的多条数据,以将该多条数据加入一消息队列中,所述消息队列由多个处理设备监听,供该多个处理设备分别自所述消息队列中消费并处理该多条数据。
具体而言,本发明各实施例中,所述的文本文件包括但不限于txt格式文件、doc格式文件、xls格式文件。
在本发明的示例性实施方式的文本文件处理装置中,一方面,分批次加载文本文件,每次读取若干条数据,降低机器内存压力;另一方面,通过多个处理设备异步处理文件,提高处理效率,且不会出现文件中其中一条数据处理失败,则整个文件处理失败的情况;再一方面,文本文件的数据处理失败支持重试,不会中断程序,失败的数据会采用重试机制继续处理,以达到不强依赖外部,不受网络抖动影响,容灾,容错的目的。
下面结合图4描述本发明提供的一种文本文件处理系统。文本文件处理系统包括文本文件处理装置410及多个处理设备430。文本文件处理装置410可以与图2所述的文本文件处理装置300具有相同的模块。
多个处理设备430用于自所述消息队列420中消费并处理该多条数据。
在本发明的示例性实施方式的文本文件处理系统中,一方面,分批次加载文本文件,每次读取若干条数据,降低机器内存压力;另一方面,通过多个处理设备异步处理文件,提高处理效率,且不会出现文件中其中一条数据处理失败,则整个文件处理失败的情况;再一方面,文本文件的数据处理失败支持重试,不会中断程序,失败的数据会采用重试机制继续处理,以达到不强依赖外部,不受网络抖动影响,容灾,容错的目的。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述电子处方流转处理方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品500,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在租户计算设备上执行、部分地在租户设备上执行、作为一个独立的软件包执行、部分在租户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到租户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本发明的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述电子处方流转处理方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图6来描述根据本发明的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得租户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明实施方式的上述电子处方流转处理方法。
相比现有技术,本发明的优势在于:
一方面,分批次加载文本文件,每次读取若干条数据,降低机器内存压力;另一方面,通过多个处理设备异步处理文件,提高处理效率,且不会出现文件中其中一条数据处理失败,则整个文件处理失败的情况;再一方面,文本文件的数据处理失败支持重试,不会中断程序,失败的数据会采用重试机制继续处理,以达到不强依赖外部,不受网络抖动影响,容灾,容错的目的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。

Claims (12)

1.一种文本文件处理方法,其特征在于,包括:
对一文本文件,分批加载该文本文件的多条数据;以及
遍历所加载的文本文件的多条数据,以将该多条数据加入一消息队列中,所述消息队列由多个处理设备监听,供该多个处理设备分别自所述消息队列中消费并处理分批加载的文本文件的该多条数据,
其中,当各处理设备的处理速度、CPU使用率、内存中的一项或多项大于等于预设阈值时,减少每次加载该文本文件的数据条数;当各处理设备的处理速度、CPU使用率、内存中的一项或多项小于预设阈值时,增加每次加载该文本文件的数据条数。
2.如权利要求1所述的文本文件处理方法,其特征在于,所述对一文本文件,分批加载该文本文件的多条数据包括:
每次加载该文本文件的N条数据,N为大于等于1小于M的整数,该文本文件共M条数据,M为大于等于1的整数。
3.如权利要求2所述的文本文件处理方法,其特征在于,每次加载该文本文件的数据条数N根据各所述处理设备的负载调整。
4.如权利要求1所述的文本文件处理方法,其特征在于,所述对一文本文件,分批加载该文本文件的多条数据之前还包括:
对所述文本文件进行校验。
5.如权利要求4所述的文本文件处理方法,其特征在于,所述对所述文本文件进行校验还包括:
对同一业务类型的所述文本文件,若该文本文件的字节数小于等于该业务类型的前一文本文件的字节数的两倍,且该文本文件的字节数大于等于该业务类型的前一文本文件的字节数的二分之一时,所述文本文件校验成功。
6.如权利要求4所述的文本文件处理方法,其特征在于,所述对所述文本文件进行校验还包括:
校验所述文本文件的文件名和/或文件类型是否符合预设规则。
7.如权利要求1所述的文本文件处理方法,其特征在于,还包括:
将处理失败的各条数据存入缓存;以及
以定时任务检索缓存中各条数据,并对各条数据发起重试处理。
8.如权利要求7所述的文本文件处理方法,其特征在于,所述以定时任务检索缓存中各条数据,并对各条数据发起重试处理包括:
采用步长重试机制对各条数据发起重试处理,步长基数为s秒,第i+1次重试与第第i次重试之间的时间间隔为2(i-1)×r,其中,r为大于0的常数,i为大于等于1的整数。
9.一种文本文件处理装置,其特征在于,包括:
加载模块,用于对一文本文件,分批加载该文本文件的多条数据;以及
遍历模块,用于遍历所加载的文本文件的多条数据,以将该多条数据加入一消息队列中,所述消息队列由多个处理设备监听,供该多个处理设备分别自所述消息队列中消费并处理分批加载的文本文件的该多条数据,
其中,当各处理设备的处理速度、CPU使用率、内存中的一项或多项大于等于预设阈值时,减少每次加载该文本文件的数据条数;当各处理设备的处理速度、CPU使用率、内存中的一项或多项小于预设阈值时,增加每次加载该文本文件的数据条数。
10.一种文本文件处理系统,其特征在于,包括:
如权利要求9所述的文本文件处理装置;以及
多个处理设备,用于自所述消息队列中消费并处理该分批加载的文本文件的多条数据。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如权利要求1至8任一项所述方法。
12.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至8任一项所述的方法。
CN201811024836.XA 2018-09-03 2018-09-03 文本文件处理方法、装置、系统、电子设备、存储介质 Active CN109325002B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811024836.XA CN109325002B (zh) 2018-09-03 2018-09-03 文本文件处理方法、装置、系统、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811024836.XA CN109325002B (zh) 2018-09-03 2018-09-03 文本文件处理方法、装置、系统、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN109325002A CN109325002A (zh) 2019-02-12
CN109325002B true CN109325002B (zh) 2021-03-05

Family

ID=65263952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811024836.XA Active CN109325002B (zh) 2018-09-03 2018-09-03 文本文件处理方法、装置、系统、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN109325002B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445866A (zh) * 2019-08-13 2021-03-05 北京京东振世信息技术有限公司 数据处理方法、装置、计算机可读介质及电子设备
CN111158939A (zh) * 2019-12-31 2020-05-15 中消云(北京)物联网科技研究院有限公司 数据处理方法、装置、存储介质及电子设备
CN112199201B (zh) * 2020-12-09 2021-03-16 深圳市房多多网络科技有限公司 延时任务处理方法、装置和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855311A (zh) * 2012-08-24 2013-01-02 乐视网信息技术(北京)股份有限公司 文件资源智能加载器及文件资源智能加载方法
CN104408147A (zh) * 2014-12-02 2015-03-11 浪潮(北京)电子信息产业有限公司 一种多线程数据上传方法
CN106407442A (zh) * 2016-09-28 2017-02-15 中国银行股份有限公司 一种海量文本数据处理方法及装置
CN106909554A (zh) * 2015-12-22 2017-06-30 亿阳信通股份有限公司 一种数据库文本表数据的加载方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870977A (zh) * 2012-12-18 2014-06-18 风网科技(北京)有限公司 移动广告平台数据同步方法及其系统
US9338226B2 (en) * 2013-08-12 2016-05-10 Fred Korangy Actor system and method for analytics and processing of big data
CN104408047A (zh) * 2014-10-28 2015-03-11 浪潮电子信息产业股份有限公司 一种基于nfs文件服务器的文本文件多机并行上传到hdfs方法
CN107273195B (zh) * 2017-05-24 2020-06-02 上海艾融软件股份有限公司 一种大数据的批处理方法、装置及计算机系统
CN107330096A (zh) * 2017-07-05 2017-11-07 恒生电子股份有限公司 文件处理方法及装置、计算机可读存储介质和电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102855311A (zh) * 2012-08-24 2013-01-02 乐视网信息技术(北京)股份有限公司 文件资源智能加载器及文件资源智能加载方法
CN104408147A (zh) * 2014-12-02 2015-03-11 浪潮(北京)电子信息产业有限公司 一种多线程数据上传方法
CN106909554A (zh) * 2015-12-22 2017-06-30 亿阳信通股份有限公司 一种数据库文本表数据的加载方法及装置
CN106407442A (zh) * 2016-09-28 2017-02-15 中国银行股份有限公司 一种海量文本数据处理方法及装置

Also Published As

Publication number Publication date
CN109325002A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
CN110968438B (zh) 事件消息异步通知方法、装置、电子设备、存储介质
CN109325002B (zh) 文本文件处理方法、装置、系统、电子设备、存储介质
CN111880826A (zh) 云业务应用升级方法、装置、电子设备和存储介质
CN108874825B (zh) 一种异常数据的校验方法和装置
US11604808B2 (en) Methods, electronic devices and computer program product for replicating metadata
CN111338834B (zh) 数据存储方法和装置
CN111913938A (zh) 数据迁移方法、系统、装置、电子设备和介质
CN114297278A (zh) 批量数据快速写入方法、系统和装置
US11386153B1 (en) Flexible tagging and searching system
CN110134419B (zh) 一种双面柜的系统升级方法、装置、设备及存储介质
US10705755B2 (en) Method, apparatus and computer program product for data backup
CN112800006B (zh) 用于网络设备的日志存储方法及装置
CN112783903B (zh) 生成更新日志的方法和装置
CN113742355A (zh) 更新库存的方法、装置、设备和计算机可读介质
CN112732728A (zh) 一种数据同步方法和系统
CN115826934B (zh) 一种应用开发系统和方法
CN111008202A (zh) 分布式事务处理方法和框架
US11941432B2 (en) Processing system, processing method, higher-level system, lower-level system, higher-level program, and lower-level program
CN113760765B (zh) 代码测试方法、装置、电子设备和存储介质
CN110750410B (zh) 一种监听数据库日志的方法和装置
CN112732471A (zh) 接口返回数据的纠错方法和纠错装置
US20210286680A1 (en) Method, electronic device and computer program product for storage management
US20150288638A1 (en) Event driven dynamic multi-purpose internet mail extensions (mime) parser
CN117675846A (zh) 缓存集群维护方法、装置、电子设备和计算机可读介质
US20150066871A1 (en) DATA DEDUPLICATION IN AN INTERNET SMALL COMPUTER SYSTEM INTERFACE (iSCSI) ATTACHED STORAGE SYSTEM

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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP03 Change of name, title or address

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address before: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing, 100176

Patentee before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.

CP03 Change of name, title or address