CN112084297A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112084297A CN112084297A CN201910517906.3A CN201910517906A CN112084297A CN 112084297 A CN112084297 A CN 112084297A CN 201910517906 A CN201910517906 A CN 201910517906A CN 112084297 A CN112084297 A CN 112084297A
- Authority
- CN
- China
- Prior art keywords
- read
- vocabulary
- file
- reading
- vocabulary 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 239000013598 vector Substances 0.000 claims abstract description 151
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000007717 exclusion Effects 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (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
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
在当今的互联网领域中,为了加快信息访问速度,大量的信息都是存放在词表文件中,词表文件通常包含多列,且具有一定的存放规则。在现有技术中,读取词表文件是按照可扩展标记语言(Extensible Markup Language,XML)文件中定义的读取顺序依次读取词表文件。
但是,随着后期需求迭代变更,词表文件的数量越来越多,采用上述顺序读取的方式所需时间较长,导致词表文件读取效率较低。
发明内容
本发明提供一种数据处理方法、装置、电子设备及存储介质,以提高词表文件的读取效率。
第一方面,本发明提供一种数据处理方法,该方法包括:
获取待读取词表文件;
根据所述待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,并将所述读取向量存储至互斥队列中,其中,所述待读取词表文件的类型为独立读取的词表文件或者具有依赖关系的词表文件;
调用空闲线程依次读取所述互斥队列中按照预设顺序排列的读取向量,以使所述空闲线程根据读取到的读取向量读取词表文件。
可选地,所述预设顺序为读取向量存放至互斥队列中的时间先后顺序。
可选地,所述根据所述待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,包括:
根据所述待读取词表文件对应的配置文件,获取所述待读取词表文件对应的读取向量,其中,所述配置文件至少包括具有依赖关系的待读取词表文件的读取顺序。
可选地,所述待读取词表文件还包括类型标签;
所述根据待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,包括:
根据待读取词表文件的类型标签以及所述待读取词表文件对应的标识,获取所述待读取词表文件对应的读取向量。
可选地,所述根据待读取词表文件的类型标签以及所述待读取词表文件对应的标识,获取所述待读取词表文件对应的读取向量,包括:
若根据所述待读取词表文件的类型标签,确定所述待读取词表文件对应的类型为独立读取的词表文件,则获取所述读取向量,所述读取向量包括所述待读取词表文件对应的标识;
若根据所述待读取词表文件的类型标签,确定所述待读取词表文件对应的类型为具有依赖关系的词表文件,则获取所述读取向量,所述读取向量包括所述待读取词表文件对应的标识,以及与所述待读取词表文件具有依赖关系的多个词表文件的标识。
可选地,当所述待读取词表文件为具有依赖关系的词表文件,所述读取向量还包括:用于指示所述待读取词表文件,以及与所述待读取词表文件具有依赖关系的多个词表文件的读取顺序。
可选地,所述方法还包括:所述调用空闲线程依次读取所述互斥队列中按照预设顺序排列的读取向量之前,还包括:
根据中央处理器CPU占用状态、所述互斥队列中读取向量的个数以及待读取词表文件的数量中的一项或多项,动态配置用于读取词表文件的线程数
可选地,所述方法还包括:
将所述互斥队列中已被空闲线程读取的读取向量删除,更新所述互斥队列。
第二方面,本发明提供一种数据处理装置,该装置包括:
第一获取模块,用于获取待读取词表文件;
第二获取模块,用于根据所述待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,并将所述读取向量存储至互斥队列中,其中,所述待读取词表文件的类型为独立读取的词表文件或者具有依赖关系的词表文件;
调用模块,用于调用空闲线程依次读取所述互斥队列中按照预设顺序排列的读取向量,以使所述空闲线程根据读取到的读取向量读取词表文件。
可选地,所述预设顺序为读取向量存放至互斥队列中的时间先后顺序。
第三方面,本发明提供一种电子设备,包括:存储器、处理器以及计算机程序指令;
所述存储器存储所述计算机程序指令;
所述处理器用于执行所述计算机程序指令,以执行第一方面所述的方法。
第四方面,本发明还提供一种可读存储介质,包括:程序;
所述程序在被处理器执行时,以执行第一方面所述的方法。
本发明提供一种数据处理方法、装置、电子设备及存储介质,其中,该方法包括:获取待读取词表文件,接着,根据待读取词表文件的类型,获取待读取词表文件对应的读取向量,并将读取向量存储至互斥队列中,其中,待读取词表文件的类型为独立读取的词表文件或者具有依赖关系的词表文件;进一步,调用空闲线程依次读取互斥队列中按照预设顺序排列的读取向量,以使所述空闲线程根据读取到的读取向量读取词表文件。本发明根据待读取词表文件的类型生成读取向量,将独立读取的词表文件对应的读取向量和具有依赖关系的词表文件对应的读取向量分别作为整体存储至互斥队列中,有效提高了词表文件读取效率,进一步,通过采用互斥队列结构,有效保证了信息的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的数据处理方法实施例一的流程示意图;
图2为互斥队列的结构示意图;
图3为本发明提供的数据处理方法实施例二的流程示意图;
图4为本发明提供的数据处理方法实施例三的流程示意图;
图5为本发明提供的数据处理装置实施例一的结构示意图;
图6为本发明提供的数据处理装置实施例二的结构示意图;
图7为本发明提供的电子设备实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在当今互联网领域中,为了加快信息访问速度,大量的信息都是存放在词表文件中,词表文件通常包含多列,且具有一定的存放规则。在现有技术中,读取词表文件是按照XML文件中定义的读取顺序依次读取词表文件,这种方式能够清晰的知道读取词表文件的顺序关系,但是,随着后期需求迭代变更,词表文件的数量越来越多,顺序读取的方式导致使得读取时间越来越长,导致读取效率较低。
具体地,按照读取顺序依次读取词表文件还可分为以下两种方式:
第一:串行读取。这种方式仅适用于词表文件数量较小,且对时间延迟要求不高的场景。
第二:并行读取。这种方式可以在词表文件数量较大的场景下使用,但是,仅适用于词表文件之间没有依赖关系的场景。
基于上述现有技术中存在的问题,本发明提供一种数据处理方法,以提高词表文件的读取效率,且能够适用于多种不同的场景中。
图1为本发明提供的数据处理方法实施例一的流程示意图。本发明实施例提供的数据处理方法的执行主体为本发明提供的数据处理装置,该装置可通过任意的软件和/或硬件的方式实现。
示例性地,该装置可以为终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统,服务器计算机系统,手持或膝上设备,基于微处理器、CPU、GPU的系统,可编程消费电子产品,网络个人电脑,小型计算机系统,大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本实施例中,以执行主体为数据处理装置为例进行详细说明。
如图1所示,本实施例的方法包括:
S101、获取待读取词表文件。
其中,数据处理装置获取待读取词表文件,待读取词表文件中包含所要访问的信息,在实际应用中,待读取词表文件的数量可以为一个,也可以为多个。
S102、根据待读取词表文件的类型,获取待读取词表文件对应的读取向量,并将读取向量存储至互斥队列中。
本步骤的目的在于:根据待读取词表文件的类型,将独立读取的词表文件和具有依赖关系的词表文件分别作为整体,获取待读取词表文件对应的读取向量,并将读取向量存储至互斥队列中。
其中,独立读取的词表文件表示该词表文件与其他词表文件之间无依赖关系,其读取顺序不受其他词表文件的影响;具有依赖关系的词表文件表示该词表文件与其他词表文件具有依赖关系,具有依赖关系的多个词表文件需按照固定的读取顺序读取,才能够获取正确的信息。
其中,互斥队列是队列的一种,互斥队列的结构可参照图2所示,在图2所示的互斥队列中存储多个读取向量,多个读取向量按照存储至互斥队列中的时间先后顺序排列。也就是说,互斥队列具有以下特点:第一、先进先出,也就是说,即先进入队列的数据先被移出,后进入队列的数据后被移出;第二、具有互斥特性,即同一时刻只能够有一个空闲线程占用该互斥队列,并读取互斥队列中的读取向量。
由于现有技术中,采用多线程读取词表文件时,容易发生抢占词表文件的现象,进一步导致读取的信息准确性低,为解决该问题,本实施例采用互斥队列来存储读取向量,保证同一时刻仅能够有一个空闲线程占用互斥队列,从而保证了信息的准确性。
示例性地,根据待读取词表文件的类型,获取待读取词表文件对应的读取向量可通过以下方式实现:
一种可能的实现方式,数据处理装置获取与待读取词表文件对应的配置文件,配置文件包括配置信息,该配置信息至少包括具有依赖关系的词表文件的读取顺序,数据处理装置根据配置文件以及待读取词表文件的标识生成读取向量。
具体地,针对具有依赖关系的词表文件:数据处理装置根据配置文件中的信息能够确定具有依赖关系的词表文件的读取顺序,并根据该读取顺序以及具有依赖关系的多个词表文件的标识生成读取向量。针对独立读取的词表文件:由于独立读取的词表文件的读取顺序并不受其他词表文件的影响,因此,针对独立读取的词表文件的读取顺序无需进行专门的配置,相应地,配置文件中可不包括独立读取的词表文件的相关配置信息,也就是说,数据处理装置将配置文件中并未出现的词表文件确定为独立读取的词表文件,并根据每个独立读取的词表文件的标识分别生成对应的读取向量。
示例性地,数据处理装置获取待读取词表文件有4个,分别命名为:词表文件A、词表文件B、词表文件C、词表文件D,其中,词表文件A为独立读取的词表文件,和词表文件B、词表文件C以及词表文件D为具有依赖关系的词表文件,那么,数据处理装置获取配置文件,配置文件中包含配置信息,该配置信息可以表示为dict_relative_load_sequence=B,C,D,数据处理装置根据配置信息确定词表文件B、词表文件C以及词表文件D为具有依赖关系的词表文件,并根据配置信息生成读取向量(B,C,D),由于配置文件中并未配置词表文件A的读取顺序,因此,数据处理装置确定词表文件A为独立读取的词表文件,并针对词表文件A生成对应的读取向量(A)。之后,数据处理装置将上述读取向量(B,C,D)和读取向量(A)存储至互斥队列中。
另一种可能的实现方式,在步骤S101中获取的待读取词表文件还包括类型标签,该类型标签用于表示待读取词表文件为独立读取的词表文件或者具有依赖关系的词表文件,且针对具有依赖关系的词表文件,类型标签中还可以包括与其具有依赖关系的其他词表文件的标识,以及用于指示具有依赖关系的多个词表文件的读取顺序的指示信息。因此,数据处理装置可根据待读取词表文件的类型标签以及待读取词表文件的标识,获取待读取词表文件对应的读取向量。
具体地,首先,数据处理装置根据待读取词表文件的类型标签,确定待读取词表文件是独立读取词表文件,还是具有依赖关系的词表文件;接着,若根据待读取词表文件的类型标签确定该词表文件为独立读取的词表文件,则根据该词表文件的标识生成对应的读取向量,该读取向量中仅包含该唯一的独立读取的词表文件;若根据待读取词表文件的类型标签确定该词表文件为具有依赖关系的词表文件,则根据该词表文件的标识、类型标签中包括的与该词表文件具有依赖关系的其他词表文件的标识、以及类型标签中用于指示具有依赖关系的多个词表文件的读取顺序的指示信息生成读取向量,该读取向量中包含该词表文件的标识以及与该词表文件具有依赖关系的其他词表文件的标识。由于具有依赖关系的词表文件在被读取时,需要按照一定的顺序读取,才能够保证信息的正确性,因此,针对具有依赖关系的词表文件生成的读取向量还需要保证读取顺序,例如,读取向量中的多个标识可按照读取顺序排列,或者,读取向量中的多个标识在无需按照读取顺序排列时,在读取向量中还包括用于指示多个词表文件读取顺序的指示信息。
需要说明的是,可在具有依赖关系的多个词表文件中的任一词表文件的类型标签中携带用于指示具有依赖关系的多个词表文件的读取顺序的指示信息,也可在具有依赖关系的多个词表文件中的每个词表文件的类型标签中携带上述指示信息。可根据实际需求确定,本发明实施例对此不作限制。
其中,词表文件的标识可以为预先配置的序号或者名称,当然,词表文件的标识也可以为其他属性参数,并不限制为前述描述的几种,其只要具备区分词表文件的功能即可。
示例性地,数据处理装置获取待读取词表文件有4个,分别命名为:词表文件A、词表文件B、词表文件C、词表文件D,其中,词表文件A携带的类型标签表示词表文件A为独立读取的词表文件,数据处理装置针对词表文件A生成对应的读取向量(A),词表文件B、词表文件C以及词表文件D分别携带的类型标签,且类型标签均用于表示词表文件为具有依赖关系的词表文件,具有依赖关系的词表文件B的类型标签还包括与该词表文件B具有依赖关系的词表文件C和词表文件D的标识,词表文件B的类型标签中还包括用于指示词表文件B、词表文件C、词表文件D的读取顺序的指示信息,根据该指示信息,数据处理装置生成词表文件B、词表文件C以及词表文件D对应的读取向量(B,C,D)。之后,数据处理装置将上述读取向量(A)和读取向量(B,C,D)存储至互斥队列中。
S103、调用空闲线程依次读取互斥队列中按照预设顺序排列的读取向量,以使空闲线程根据读取到的读取向量读取词表文件。
其中,上述预设顺序为读取向量存储至互斥队列中的时间先后顺序。具体地,数据处理装置调用空闲线程,使空闲线程按照读取向量存储至互斥队列中的时间先后顺序读取互斥队列中的读取向量,之后,空闲线程根据读取向量中包括的词表文件的标识,读取词表文件的标识对应的词表文件。当互斥队列中为空时,数据处理装置可返回读取完成信息,以提示用户当前读取操作已经完成。
若空闲线程读取到的读取向量中仅包括一个词表文件的标识,那么,空闲线程读取该唯一词表文件的标识对应的词表文件;若空闲线程读取到的读取向量中仅包括多个词表文件的标识,那么,空闲线程多个词表文件的标识以及多个词表文件的读取顺序,读取该多个词表文件的标识分别对应的词表文件。或者,空闲线程读取到的读取向量中包括多个词表文件的标识,且还包括多个词表文件的读取顺序的指示信息,空闲线程根据该指示信息依次读取多个词表文件。
可以理解的是,由于本发明中采用互斥队列存储读取向量,无论是并行读取的方式,还是串行读取的方式,均不会出现抢占词表文件的现象,因此,可以有效保证读取到的词表文件信息的准确性。
本实施例中,获取待读取此表文件,待读取词表文件包含类型标签,所述类型标签用于表示待读取词表文件为独立读取的词表文件或者具有依赖关系的词表文件;接着,根据待读取词表文件的类型标签,获取待读取词表文件对应的读取向量,并将所述读取向量存储至互斥队列中;进一步,调用空闲线程依次读取互斥队列中按照预设顺序排列的读取向量,以使所述空闲线程根据读取到的读取向量读取词表文件。本实施例根据待读取词表文件的类型生成读取向量,将独立读取的词表文件对应的读取向量和具有依赖关系的词表文件对应的读取向量分别作为整体存储至互斥队列中,有效提高了词表文件读取效率,进一步,通过采用互斥队列结构,有效保证了信息的准确性。
图3为本发明提供的数据处理方法实施例二的流程示意图。如图3所示,本实施例的方法包括:
S301、获取待读取词表文件。
S302、根据待读取词表文件的类型,获取待读取词表文件对应的读取向量,并将读取向量按照预设顺序存储至互斥队列中。
本实施例中步骤S301、S302与图1所示实施例中步骤S101、S102;类似,可参照图1所示实施例中的详细描述,此处不再赘述。
S303、根据CPU占用状态、互斥队列中读取向量的个数以及待读取词表文件的数量中的一项或多项,动态配置用于读取词表文件的线程数。
一种可能的实现方式,根据CPU的占用状态,动态配置用于读取词表文件的线程数。具体地,数据处理装置获取CPU的占用状态,数据处理装置进一步根据CPU的占用状态以及预设规则,确定用于读取词表文件的线程数,其中,该预设规则表示CPU的占用状态与线程数的对应关系。在实际应用中,数据处理装置可周期性地获取CPU的占用状态,从而周期性地调整用于读取词表文件的线程数。
另一种可能的实现方式,根据互斥队列中读取向量的个数,动态配置用于读取词表文件的线程数。具体地,数据处理装置获取互斥队列中读取向量的个数,数据处理装置进一步根据互斥队列中读取向量的个数以及预设规则,确定用于读取词表文件的线程数,其中,该预设规则表示互斥队列中读取向量的个数与线程数的对应关系。在实际应用中,数据处理装置可周期性地获取互斥队列中读取向量的个数,从而周期性地调整用于读取词表文件的线程数。
再一种可能的实现方式,根据CPU的占用状态以及互斥队列中读取向量的个数,动态配置用于读取词表文件的线程数。具体地,数据处理装置获取CPU的占用状态以及互斥队列中读取向量的个数,数据处理装置进一步根据CPU的占用状态、互斥队列中读取向量的个数以及预设规则,确定用于读取词表文件的线程数,其中,该预设规则表示CPU的占用状态、互斥队列中读取向量的个数与线程数三者之间的对应关系。在实际应用中,数据处理装置可周期性地获取CPU的占用状态以及互斥队列中读取向量的个数,从而周期性地调整用于读取词表文件的线程数。
再一种可能的实现方式,根据CPU的占用状态以及待读取词表文件的数量,动态配置用于读取词表文件的线程数。具体地,数据处理装置获取CPU的占用状态以及待读取词表文件的数量,数据处理装置进一步根据CPU的占用状态、待读取词表文件的数量以及预设规则,确定用于读取词表文件的线程数,其中,该预设规则表示CPU的占用状态、待读取词表文件的数量与线程数三者之间的对应关系。在实际应用中,由于待读取的词表文件的数量在短时间内相对固定,不会发生较大的变化,因此,数据处理装置可周期性地获取CPU的占用状态,并根据CPU的占用状态周期性地调整用于读取词表文件的线程数。
需要说明的是,上述几种可能的实现方式仅为示例性地,并不是对本步骤的具体实现方式的限制。
通过动态配置用于读取词表文件的线程数,能够有效提高CPU资源利用率,进一步提高词表文件的读取效率。
S304、调用空闲线程依次读取互斥队列中按照预设顺序排列的读取向量,以使空闲线程根据读取到的读取向量读取词表文件。
本实施例中,步骤S304与图1所示实施例中步骤S103类似,可参照图1所示实施例中的详细描述,此处不再赘述。
S305、将互斥队列中已被空闲线程读取的读取向量删除,更新互斥队列。
具体地,数据处理装置将互斥队列中已被空闲线程读取的读取向量删除,更新互斥队列,保证下一个空闲线程在读取互斥队列中最先存储的读取向量时,该读取向量是唯一的且未被读取过的,从而保证信息的正确性。另外,将已被读取的读取向量删除,若有新的待读取词表文件对应的读取向量生成时,可将新的读取向量存储至互斥队列的队尾。
本实施例中,根据待读取词表文件的类型生成读取向量,将独立读取的词表文件对应的读取向量和具有依赖关系的词表文件对应的读取向量分别作为整体存储至互斥队列中,有效提高了词表文件读取效率,进一步,通过采用互斥队列结构,有效保证了信息的准确性。另外,通过根据CPU的占用状态、互斥队列中读取向量的个数以及待读取词表文件的数量中的一项或多项,动态配置用于读取词表文件的线程数,能够有效提高CPU的资源利用率,提高词表文件的读取效率。
下面通过一具体例子对本发明实施例提供的数据处理方法进行详细介绍:
图4为本发明提供的数据处理方法实施例三的流程示意图。如图4所示,数据处理装置获取词表文件A、词表文件B、词表文件C、词表文件D,其中,词表文件A为独立读取的词表文件,词表文件B、词表文件C以及词表文件D为具有依赖关系的词表文件,数据处理装置根据词表文件A、词表文件B、词表文件C、词表文件D的类型生成读取向量(A)和读取向量(B,C,D),之后将读取向量(A)和读取向量(B,C,D)存储至互斥队列中,数据处理装置判断互斥队列是否为空,若互斥队列不为空,则调用预先配置的N个线程中的任一空闲线程读取互斥队列中的读取向量,之后,空闲线程根据读取向量中的标识确定待读取词表文件,读取待读取词表文件中的信息;若互斥队列为空,则向用户返回读取完成信息。
在本实施例中,如何生成读取向量的过程可参照图1所示实施例中的详细描述,此处不再赘述。
将本发明提供的数据处理方法应用于实际的线上系统,将原先读取词表文件的时间由11分30秒降低到4分30秒,提高词表文件读取效率达60%左右,由此可见,本发明实施例提供的数据处理方法能够有效提高词表文件读取效率,且采用本发明实施例的方法,读取的信息准确性也较高。
图5为本发明提供的数据处理装置实施例一的结构示意图。如图5所示,本实施例的数据处理装置50包括:第一获取模块51、第二获取模块52以及调用模块53。
其中,第一获取模块51,用于获取待读取词表文件。
第二获取模块52,用于根据待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,并将所述读取向量存储至互斥队列中,其中,所述待读取词表文件的类型为独立读取的词表文件或者具有依赖关系的词表文件。
调用模块53,用于调用空闲线程依次读取所述互斥队列中按照预设顺序排列的读取向量,以使所述空闲线程根据读取到的读取向量读取词表文件。
可选地,所述预设顺序为读取向量存放至互斥队列中的时间先后顺序。
在一些实施例中,第二获取模块52,通过以下方式获取待读取词表文件对应的读取向量:
一种可能的实现方式:第二获取模块52,首先,获取待读取词表文件对应的配置文件,其中,所述配置文件至少包括用于指示具有依赖关系的词表文件的读取顺序的配置信息。进一步,根据配置文件,获取待读取词表文件对应的读取向量。
另一种可能的实现方式,待读取词表文件包括类型标签,第二获取模块52,具体用于根据待读取词表文件的类型标签以及待读取词表文件对应的标识,获取待读取词表文件对应的读取向量。
本实施例中,若根据所述待读取词表文件的类型标签,确定待读取词表文件对应的类型标签为独立读取的词表文件,则获取读取向量,读取向量包括待读取词表文件对应的标识;若根据所述待读取词表文件的类型标签,确定待读取词表文件对应的类型标签为具有依赖关系的词表文件,则获取读取向量,读取向量包括待读取词表文件对应的标识,以及与待读取词表文件具有依赖关系的多个词表文件的标识。
在一些实施例中,当待读取词表文件为具有依赖关系的词表文件,读取向量还包括:用于指示所述待读取词表文件,以及与所述待读取词表文件具有依赖关系的多个词表文件的读取顺序。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明提供的数据处理装置实施例二的结构示意图。如图6所示,本实施例的数据处理装置60在图5所示实施例的基础上,还包括:配置模块54以及更新模块55。
其中,在调用模块53,调用空闲线程依次读取所述互斥队列中按照预设顺序排列的读取向量之前,配置模块54,用于根据CPU占用状态、所述互斥队列中读取向量的个数以及待读取词表文件的数量中的一项或多项,动态配置用于读取词表文件的线程数。
更新模块55,用于将所述互斥队列中已被空闲线程读取的读取向量删除,更新所述互斥队列。
本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明提供的电子设备实施例一的结构示意图。如图7所示,本实施例的电子设备70包括:存储器71、处理器72以及计算机程序。
其中,计算机程序存储在存储器71中,并被配置为由处理器72执行以实现图1、图3或图4实施例所示的数据处理方法。相关说明可以对应参见图1、图3以及图4的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
其中,本实施例中,存储器71和处理器72通过总线73连接。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本发明图1、图3或图4实施例所示的数据处理方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
最后应说明的是:尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取待读取词表文件;
根据所述待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,并将所述读取向量存储至互斥队列中,其中,所述待读取词表文件的类型为独立读取的词表文件或者具有依赖关系的词表文件;
调用空闲线程依次读取所述互斥队列中按照预设顺序排列的读取向量,以使所述空闲线程根据读取到的读取向量读取词表文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,包括:
根据所述待读取词表文件对应的配置文件,获取所述待读取词表文件对应的读取向量,其中,所述配置文件至少包括具有依赖关系的待读取词表文件的读取顺序。
3.根据权利要求1所述的方法,其特征在于,所述待读取词表文件包括类型标签;
所述根据所述待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,包括:
根据待读取词表文件的类型标签以及所述待读取词表文件对应的标识,获取所述待读取词表文件对应的读取向量。
4.根据权利要求3所述的方法,其特征在于,所述根据待读取词表文件的类型标签以及所述待读取词表文件对应的标识,获取所述待读取词表文件对应的读取向量,包括:
若根据所述待读取词表文件的类型标签,确定所述待读取词表文件对应的类型为独立读取的词表文件,则获取所述读取向量,所述读取向量包括所述待读取词表文件对应的标识;
若根据所述待读取词表文件的类型标签,确定所述待读取词表文件对应的类型为具有依赖关系的词表文件,则获取所述读取向量,所述读取向量包括所述待读取词表文件对应的标识,以及与所述待读取词表文件具有依赖关系的多个词表文件的标识。
5.根据权利要求4所述的方法,其特征在于,当所述待读取词表文件为具有依赖关系的词表文件,所述读取向量还包括:用于指示所述待读取词表文件,以及与所述待读取词表文件具有依赖关系的多个词表文件的读取顺序。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述调用空闲线程依次读取所述互斥队列中按照预设顺序排列的读取向量之前,还包括:
根据中央处理器CPU占用状态、所述互斥队列中读取向量的个数以及待读取词表文件的数量中的一项或多项,动态配置用于读取词表文件的线程数。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
将所述互斥队列中已被空闲线程读取的读取向量删除,更新所述互斥队列。
8.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取待读取词表文件;
第二获取模块,用于根据所述待读取词表文件的类型,获取所述待读取词表文件对应的读取向量,并将所述读取向量存储至互斥队列中,其中,所述待读取词表文件的类型为独立读取的词表文件或者具有依赖关系的词表文件;
调用模块,用于调用空闲线程依次读取所述互斥队列中按照预设顺序排列的读取向量,以使所述空闲线程根据读取到的读取向量读取词表文件。
9.一种电子设备,其特征在于,包括:存储器、处理器以及计算机程序指令;
所述存储器存储所述计算机程序指令;
所述处理器用于执行所述计算机程序指令,以执行如权利要求1至7任一项所述的方法。
10.一种可读存储介质,其特征在于,包括:程序;
所述程序在被处理器执行时,以执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517906.3A CN112084297A (zh) | 2019-06-14 | 2019-06-14 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910517906.3A CN112084297A (zh) | 2019-06-14 | 2019-06-14 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112084297A true CN112084297A (zh) | 2020-12-15 |
Family
ID=73734395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910517906.3A Pending CN112084297A (zh) | 2019-06-14 | 2019-06-14 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084297A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288526A1 (en) * | 2006-06-08 | 2007-12-13 | Emc Corporation | Method and apparatus for processing a database replica |
CN103645942A (zh) * | 2013-12-12 | 2014-03-19 | 北京奇虎科技有限公司 | 基于消息队列的共享内存写入及读取方法和系统 |
US20150066157A1 (en) * | 2013-08-30 | 2015-03-05 | Regents Of The University Of Minnesota | Parallel Processing with Cooperative Multitasking |
CN104699631A (zh) * | 2015-03-26 | 2015-06-10 | 中国人民解放军国防科学技术大学 | Gpdsp中多层次协同与共享的存储装置和访存方法 |
CN106897160A (zh) * | 2017-01-23 | 2017-06-27 | 北京思特奇信息技术股份有限公司 | 一种文件处理方法、装置及系统 |
-
2019
- 2019-06-14 CN CN201910517906.3A patent/CN112084297A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288526A1 (en) * | 2006-06-08 | 2007-12-13 | Emc Corporation | Method and apparatus for processing a database replica |
US20150066157A1 (en) * | 2013-08-30 | 2015-03-05 | Regents Of The University Of Minnesota | Parallel Processing with Cooperative Multitasking |
CN103645942A (zh) * | 2013-12-12 | 2014-03-19 | 北京奇虎科技有限公司 | 基于消息队列的共享内存写入及读取方法和系统 |
CN104699631A (zh) * | 2015-03-26 | 2015-06-10 | 中国人民解放军国防科学技术大学 | Gpdsp中多层次协同与共享的存储装置和访存方法 |
CN106897160A (zh) * | 2017-01-23 | 2017-06-27 | 北京思特奇信息技术股份有限公司 | 一种文件处理方法、装置及系统 |
Non-Patent Citations (3)
Title |
---|
PHILIP CARNS等: "Small-file access in parallel file systems", 2009 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, pages 1 - 11 * |
唐蜜: "基于客户端缓存与请求调度的Ceph文件系统读时延优化策略研究", 中国优秀硕士学位论文全文数据库 (信息科技辑), pages 137 - 79 * |
张月明: "基于LSM-tree键值系统读性能优化", 中国优秀硕士学位论文全文数据库 (信息科技辑), pages 137 - 122 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182111B (zh) | 任务调度系统、方法和装置 | |
CN110806923B (zh) | 一种区块链任务的并行处理方法、装置、电子设备和介质 | |
CN110442396B (zh) | 应用程序启动方法及装置、存储介质及电子设备 | |
US11210131B2 (en) | Method and apparatus for assigning computing task | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN110162344B (zh) | 一种隔离限流的方法、装置、计算机设备及可读存储介质 | |
CN110427258A (zh) | 基于云平台的资源调度控制方法及装置 | |
CN110673959A (zh) | 用于处理任务的系统、方法和装置 | |
CN115237436A (zh) | 应用部署方法、装置、电子设备及可读存储介质 | |
CN109918381B (zh) | 用于存储数据的方法和装置 | |
US9542236B2 (en) | Efficiency sequencer for multiple concurrently-executing threads of execution | |
US9229716B2 (en) | Time-based task priority boost management using boost register values | |
CN113127430B (zh) | 镜像信息处理方法、装置、计算机可读介质及电子设备 | |
CN113779004A (zh) | 一种数据校验的方法和装置 | |
CN117234582A (zh) | 一种项目代码处理方法、装置、电子设备及存储介质 | |
CN111580733A (zh) | 任务处理方法、装置、计算设备以及介质 | |
CN115002187B (zh) | 绑定关系处理方法及相关设备 | |
CN112084297A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116302328A (zh) | 智能合约数据处理方法和系统 | |
CN113377295B (zh) | 多生产者单消费者的数据存储和读取方法、装置、设备 | |
CN113722007B (zh) | Vpn分支设备的配置方法、装置及系统 | |
CN115167822A (zh) | 分支代码合并方法、装置、设备和存储介质 | |
CN110874322A (zh) | 一种用于应用程序的测试方法及测试服务器 | |
CN115168040A (zh) | 一种作业抢占调度方法、装置、设备和存储介质 | |
CN113515328A (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 |