CN110609707B - 在线数据处理系统生成方法、装置及设备 - Google Patents
在线数据处理系统生成方法、装置及设备 Download PDFInfo
- Publication number
- CN110609707B CN110609707B CN201810611809.6A CN201810611809A CN110609707B CN 110609707 B CN110609707 B CN 110609707B CN 201810611809 A CN201810611809 A CN 201810611809A CN 110609707 B CN110609707 B CN 110609707B
- Authority
- CN
- China
- Prior art keywords
- logic
- data processing
- logic components
- components
- online
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 313
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 18
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000010365 information processing Effects 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 description 18
- 238000012937 correction Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及计算机技术领域,是关于一种在线数据处理系统生成方法、装置及设备。其中,所述方法包括:接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;根据所述多个逻辑构件各自的标识调用对应的逻辑构件;为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。本发明可以实现后续基于生成的在线数据处理系统处理并发的在线请求,满足在线系统的快速反馈需求。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种在线数据处理系统生成方法、装置及设备。
背景技术
MapReduce是Google提出的一个软件架构,概念“Map(映射)”和“Reduce(化简)”及其主要思想,都是从函数式编程语言借来的。当前的MapReduce中间件实现要求应用开发者指定一个Map(映射)函数,用来把一组键值对映射成一些新的键值对,称作中间键值对;此外还要求应用开发者指定一个Reduce(化简)函数,用来对Map函数输出的中间键值对进行进一步处理。Map调用把输入数据自动分割成M片输入数据分片,并将这些输入数据分片分布到多台机器上进行并行处理。Reduce调用则通过分割函数分割中间键,经过哈希运算生成R片,并将这些R片分布到多台机器上(分割数量R和分割函数由用户来指定)。MapReduce是一种离线数据处理机制,通常用于对大规模的离线数据集(大于1TB)进行并行运算。
由上述描述可知,MapReduce通常用于离线数据处理,且在处理数据时,需要进行数据分片、哈希运算以及数据传输等环节,因而MapReduce完成一个最简单逻辑的时间也至少需要几秒。而在线系统所要求的反馈时间一般为几十毫秒以下,因而MapReduce处理机制无法满足用于处理并发在线请求的在线系统的快速反馈需求。
发明内容
本发明实施例提供一种系统生成方法、装置及设备,以解决现有技术中的不足。
根据本发明实施例的第一方面,提供一种在线数据处理系统生成方法,包括:
接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
可选地,所述为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元,包括:
分别构建每一所述逻辑构件对应的待处理任务队列以及该逻辑构件对应的线程池;
根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元。
可选地,所述根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元,包括:
构建所述线程池中的线程与所述待处理任务队列之间的监测关系,以使所述线程池中的线程监测所述待处理任务队列中是否存在逻辑请求;所述逻辑请求用于调用对应的处理单元的逻辑构件进行数据处理;
构建所述线程池中的线程与所述逻辑构件之间的调用关系,以使所述线程池中的线程在监测到所述待处理任务队列中存在所述逻辑请求时,根据所述逻辑请求调用相应的逻辑构件进行数据处理。
可选地,所述基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统,包括:
根据所述串行/并行关系分别加载各所述处理单元的配置文件,以生成所述在线数据处理系统。
可选地,所述根据所述多个逻辑构件各自的标识调用对应的逻辑构件,还包括:
确定各所述逻辑构件对应的逻辑请求结构体和处理结果结构体;其中,所述逻辑请求结构体用于识别对应的逻辑构件的逻辑请求,所述处理结果结构体用于识别对应的逻辑构件返回的数据处理结果。
根据本发明实施例的第二方面,提供一种基于上述任一种所述方法生成的在线数据处理系统的数据处理方法,包括:
接收用户输入的待处理数据;
根据所述多个逻辑构件的串行/并行关系生成多个逻辑请求;
根据每一所述逻辑请求调用相应的逻辑构件进行数据处理;
接收各所述逻辑构件基于所述逻辑请求返回的数据处理结果;
根据各所述数据处理结果确定所述最终的数据处理结果。
根据本发明实施例的第三方面,提供一种在线数据处理系统生成装置,包括:
配置信息接收模块,用于接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
逻辑构件调用模块,用于根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
处理单元构建模块,用于为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
在线系统生成模块,用于基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
可选地,所述处理单元构建模块包括:
队列线程构建子模块,用于分别构建每一所述逻辑构件对应的待处理任务队列以及该逻辑构件对应的线程池;
处理单元构建单元,用于根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元。
可选地,所述队列线程构建子模块还用于:
构建所述线程池中的线程与所述待处理任务队列之间的监测关系,以使所述线程池中的线程监测所述待处理任务队列中是否存在逻辑请求;所述逻辑请求用于调用对应的处理单元的逻辑构件进行数据处理;以及,
构建所述线程池中的线程与所述逻辑构件之间的调用关系,以使所述线程池中的线程在监测到所述待处理任务队列中存在所述逻辑请求时,根据所述逻辑请求调用相应的逻辑构件进行数据处理。
可选地,所述在线系统生成模块还用于根据所述串行/并行关系分别加载各所述处理单元的配置文件,以生成所述在线数据处理系统。
可选地,所述逻辑构件调用模块还用于确定各所述逻辑构件对应的逻辑请求结构体和处理结果结构体;其中,所述逻辑请求结构体用于识别对应的逻辑构件的逻辑请求,所述处理结果结构体用于识别对应的逻辑构件返回的数据处理结果。
根据本发明实施例的第四方面,提供一种基于上述任一种所述装置生成的在线数据处理系统的数据处理装置,包括:
处理数据接收模块,用于接收用户输入的待处理数据;
逻辑请求生成模块,用于根据所述多个逻辑构件的串行/并行关系生成多个逻辑请求;
数据处理模块,用于根据每一所述逻辑请求调用相应的逻辑构件进行数据处理;
处理结果接收模块,用于接收各所述逻辑构件基于所述逻辑请求返回的数据处理结果;
最终结果确定模块,用于根据各所述数据处理结果确定所述最终的数据处理结果。
根据本发明实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储处理器可处理指令的存储器;
其中,所述处理器被配置为:
接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
根据本发明实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器处理时实现以下系统生成方法:
接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
由上述实施例可知,本发明的在线数据处理系统生成方法、装置及设备,通过接收用于构建在线数据处理系统的配置信息,并根据多个逻辑构件各自的标识调用对应的逻辑构件,根据调用的多个逻辑构件分别构建对应的处理单元,进而基于串行/并行关系,利用多个逻辑构件各自对应的处理单元生成在线数据处理系统,可以实现后续基于生成的在线数据处理系统处理并发的在线请求,满足在线系统的快速反馈需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为根据本发明一示例性实施例示出的一种在线数据处理系统生成方法的流程图;
图2A为根据本发明一示例性实施例示出的如何构建处理单元的流程图;
图2B为根据本发明一示例性实施例示出的处理单元的结构框图;
图3为根据本发明又一示例性实施例示出的如何构建处理单元的流程图;
图4A为根据本发明一示例性实施例示出的一种数据处理方法的流程图;
图4B为根据本发明一示例性实施例示出的一种在线检索服务系统的结构框图;
图5为根据本发明一示例性实施例示出的一种电子设备的结构框图;
图6为根据本发明一示例性实施例示出的一种在线数据处理系统生成装置的结构框图;
图7为根据本发明又一示例性实施例示出的一种在线数据处理系统生成装置的结构框图;
图8为根据本发明一示例性实施例示出的一种数据处理装置的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为根据本发明一示例性实施例示出的一种在线数据处理系统生成方法的流程图;该实施例可以用于服务器,也可以用于终端(例如手机、平板电脑、个人计算机等),如图1所示,该方法包括以下步骤S101-S104:
S101:接收用于构建在线数据处理系统的配置信息;
在一实施例中,在线数据处理系统包括各种用于处理并发在线请求的在线系统(如在线检索服务系统等),本发明对此不进行限制。
在一实施例中,上述配置信息可以包括多个逻辑构件各自的标识(如逻辑构件的名称或编号等)以及多个逻辑构件的串行/并行关系。其中,上述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合。
在一实施例中,上述串行/并行关系可以是:为实现共同完成一项数据处理任务时,多个逻辑构件的调用顺序。
S102:根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
在一实施例中,可以根据上述配置信息中的多个逻辑构件各自的标识从内存中调用相应的逻辑构件。举例来说,若配置信息包括以下内容:
Modules:request_parse,merge_rank,fulfill_result,则表示需配置三个逻辑构件,分别是request_parse(解析请求)、merge_rank(合并和排序)以及fufill_result(填充最终结果)。在此基础上,即可按照这三个逻辑构件标识去内存中分别调用相应的逻辑构件。
在一实施例中,步骤S102还可以包括:
确定上述各逻辑构件对应的逻辑请求结构体和处理结果结构体。其中,所述逻辑请求用于调用对应的处理单元的逻辑构件进行数据处理,所述逻辑请求结构体用于识别对应的逻辑构件的逻辑请求,所述处理结果结构体用于识别对应的逻辑构件返回的数据处理结果。
S103:为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
在一实施例中,上述处理单元为该在线数据处理系统的核心,该处理单元可以用于接收对应的逻辑构件的逻辑请求、对待处理逻辑请求进行排序以及调用逻辑构件进行数据处理等。
在一实施例中,可以为调用的多个逻辑构件中的每个逻辑构件分别构建一个对应的处理单元。
S104:基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统
在一实施例中,可以获取生成的所述处理单元的配置文件,进而可根据配置信息中多个逻辑构件的串行/并行关系分别加载各所述处理单元的配置文件,以生成所述在线数据处理系统。
由上述实施例可知,本实施例的在线数据处理系统生成方法,通过接收用于构建在线数据处理系统的配置信息,并根据多个逻辑构件各自的标识调用对应的逻辑构件,根据调用的多个逻辑构件分别构建对应的处理单元,进而基于串行/并行关系,利用多个逻辑构件各自对应的处理单元生成在线数据处理系统,可以实现后续基于生成的在线数据处理系统处理并发的在线请求,满足在线系统的快速反馈需求。
图2A为根据本发明一示例性实施例示出的如何构建处理单元的流程图;图2B为根据本发明一示例性实施例示出的处理单元的结构框图。本实施例在上述实施例的基础上,以如何构建处理单元为例进行示例性说明。如图2A、图2B所示,上述步骤S103所述为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元,可以包括:
S201:分别构建每一所述逻辑构件对应的待处理任务队列以及该逻辑构件对应的线程池;
在一实施例中,根据调用的每一逻辑构件,分别构建该逻辑构件对应的待处理任务队列以及该逻辑构件对应的线程池。
其中,所述的待处理任务队列用于存放处理单元接收的待处理任务(即逻辑请求),所述的线程池用于监测到所述待处理任务队列中存在所述逻辑请求,并在监测到所述待处理任务队列中存在所述逻辑请求时,根据所述逻辑请求调用相应的逻辑构件进行数据处理。
S202:根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元。
由上述实施例可知,本实施例通过构建每一逻辑构件对应的待处理任务队列以及该逻辑构件对应的线程池,并根据每一逻辑构件、该逻辑构件对应的待处理任务队列以及线程池构建该逻辑构件对应的处理单元,可以实现后续基于构建的处理单元生成在线数据处理系统,提高在线数据处理系统的生成效率,保证生成的在线数据处理系统的快速反馈性能。
图3为根据本发明又一示例性实施例示出的如何构建处理单元的流程图。如图3所示,在一实施例中,步骤S202中根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元,可以包括:
S301:构建所述线程池中的线程与所述待处理任务队列之间的监测关系,以使所述线程池中的线程监测所述待处理任务队列中是否存在逻辑请求。
在一实施例中,分别构建每个处理单元的线程池中的线程与对应的待处理任务队列之间的监测关系,以使该线程池中的线程基于构建的监测关系监测对应的待处理任务队列中是否存在逻辑请求。
S302:构建所述线程池中的线程与所述逻辑构件之间的调用关系,以使所述线程池中的线程在监测到所述待处理任务队列中存在所述逻辑请求时,根据所述逻辑请求调用相应的逻辑构件进行数据处理。
在一实施例中,分别构建每个处理单元的线程池中的线程与对应的逻辑构件之间的调用关系,以使该线程池中的线程在监测到所述待处理任务队列中存在所述逻辑请求时,基于构建的调用关系以及逻辑请求调用相应的逻辑构件进行数据处理。
由上述实施例可知,本实施例通过构建所述线程池中的线程与所述待处理任务队列之间的监测关系,并构建所述线程池中的线程与所述逻辑构件之间的调用关系,可以通过线程池中的线程基于构建的监测关系监测对应的待处理任务队列中的逻辑请求,并可以基于构建的调用关系以及逻辑请求调用相应的逻辑构件进行数据处理,可以提高在线数据处理系统的生成效率,保证生成的在线数据处理系统的快速反馈性能。
图4A为根据本发明一示例性实施例示出的一种数据处理方法的流程图;其中,本实施例可以为基于上述实施例生成的在线数据处理系统的数据处理方法。该实施例可以用于服务器,也可以用于终端(例如手机、平板电脑、个人计算机等),如图4A所示,该方法包括步骤S401-S405:
S401:接收用户输入的待处理数据;
在一实施例中,待处理数据为用户通过在线数据处理系统的用户界面输入的数据。
图4B为根据本发明一示例性实施例示出的一种在线检索服务系统的结构框图,该在线检索服务系统为基于上述实施例生成的在线数据处理系统。如图4B所示,当用户使用打车软件时可以通过向待处理数据接收模块410输入相应地名进行检索以确定上下车点,该输入的地名即为待处理数据。
S402:根据所述多个逻辑构件的串行/并行关系生成多个逻辑请求;
在一实施例中,当接收到用户输入的待处理数据时,可以根据在线数据处理系统中多个逻辑构件的串行/并行关系生成对应的一个或多个逻辑请求。
当用户输入相应地名进行检索后,用户输入的地名需要经过各个处理单元处理才能得到检索结果,且各个处理单元之间可以有不同的串行和/或并行关系。如图4B所示,用户输入的地名需要先经过分词处理单元430的分词逻辑构件433进行分词处理,然后通过纠错处理单元450的纠错逻辑构件453进行语句纠错以及通过预判处理单元470的预判逻辑构件473进行语句预判。其中,分词逻辑构件433和纠错逻辑构件453、预判逻辑构件473之间是串行关系,纠错逻辑构件453和预判逻辑构件473之间是并行关系。因此,可以先通过分词逻辑请求生成模块420生成分词逻辑构件433对应的分词逻辑请求,并将该分词逻辑请求放入到分词处理单元430中的分词任务队列431中,再通过分词处理结果获取模块440分别生成纠错逻辑构件453对应的纠错逻辑请求和预判逻辑构件473对应的预判逻辑请求,并分别将该纠错逻辑请求和预判逻辑请求放入到纠错任务队列和预判任务队列中。
S403:根据每一所述逻辑请求调用相应的逻辑构件进行数据处理;
在一实施例中,分别根据每一逻辑请求调用对应逻辑构件进行数据处理。例如,根据分词逻辑请求调用分词逻辑构件对用户输入的地名进行分词处理等。
如图4B所示,当分词队列线程池432中的线程在监测到分词任务队列中存在分词逻辑请求时,即调用分词逻辑构件对待处理信息进行分词处理。同理,当纠错队列线程池452和预判队列线程池472中的线程在监测到各自的任务队列中存在相应的逻辑请求时,也调用各自的逻辑构件对分词处理结果进行相应处理。
S404:接收各所述逻辑构件基于所述逻辑请求返回的数据处理结果;
在一实施例中,当调用的各个逻辑构件基于各自的逻辑请求完成数据处理后,则通过各自的处理结果获取模块分别获取返回的数据处理结果。
如图4B所示,当纠错队列线程池452中的线程调用纠错逻辑构件453完成数据纠错处理后,则将纠错逻辑构件453返回的数据处理结果重新放入到纠错任务队列451中,并标识该任务处理完成,发送给纠错处理结果获取模块460。同理,当预判队列线程池472中的线程调用预判逻辑构件473完成数据预判处理后,则将预判逻辑构件473返回的数据处理结果重新放入到预判任务队列471中,并标识该任务处理完成,发送给预判处理结果获取模块480。
S405:根据各所述数据处理结果确定所述最终的数据处理结果。
在一实施例中,可以对返回的各数据处理结果进行合并,得到最终的数据处理结果,进而将该最终的数据处理结果返回调用程序的上游。
如图4B所示,将纠错处理结果获取模块460和预判处理结果获取模块480返回的各数据处理结果进行合并,得到最终的数据处理结果,并返回调用程序的上游。
由上述实施例可知,本实施例通过接收用户输入的待处理数据,根据多个逻辑构件的串行/并行关系生成多个逻辑请求,并根据每一逻辑请求调用相应的逻辑构件进行数据处理,进而接收各所述逻辑构件基于所述逻辑请求返回的数据处理结果,以根据各所述数据处理结果确定所述最终的数据处理结果,可以高效地处理并发在线请求,满足在线系统的快速反馈需求。
本发明在线数据处理系统生成装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本发明的在线数据处理系统生成装置所在设备的一种硬件结构图,除了图5所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器处理时实现以下系统生成方法:
接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
图6为根据本发明一示例性实施例示出的一种在线数据处理系统生成装置的结构框图;如图6所示,该装置包括:配置信息接收模块110、逻辑构件调用模块120、处理单元构建模块130以及在线系统生成模块140,其中:
配置信息接收模块110,用于接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
在一实施例中,在线数据处理系统包括各种用于处理并发在线请求的在线系统(如在线检索服务系统等),本发明对此不进行限制。
在一实施例中,上述配置信息可以包括多个逻辑构件各自的标识(如逻辑构件的名称或编号等)以及多个逻辑构件的串行/并行关系。其中,上述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合。
在一实施例中,上述串行/并行关系可以是:为实现共同完成一项数据处理任务时,多个逻辑构件的调用顺序。
逻辑构件调用模块120,用于根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
在一实施例中,可以根据上述配置信息中的多个逻辑构件各自的标识从内存中调用相应的逻辑构件。举例来说,若配置信息包括以下内容:
Modules:request_parse,merge_rank,fulfill_result,则表示需配置三个逻辑构件,各构件的标识分别是request_parse(解析请求)、merge_rank(合并和排序)以及fufill_result(填充最终结果)。在此基础上,即可按照这三个逻辑构件标识去内存中分别调用相应的逻辑构件。
处理单元构建模块130,用于为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
在一实施例中,上述处理单元为该在线数据处理系统的核心,该处理单元可以用于接收对应的逻辑构件的逻辑请求、对待处理逻辑请求进行排序以及调用逻辑构件进行数据处理等。
在一实施例中,可以为调用的多个逻辑构件中的每个逻辑构件分别构建一个对应的处理单元。
在线系统生成模块140,用于基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
在一实施例中,可以获取生成的所述处理单元的配置文件,进而可根据配置信息中多个逻辑构件的串行/并行关系分别加载各所述处理单元的配置文件,以生成所述在线数据处理系统。
由上述实施例可知,本实施例的在线数据处理系统生成装置,通过接收用于构建在线数据处理系统的配置信息,并根据多个逻辑构件各自的标识调用对应的逻辑构件,根据调用的多个逻辑构件分别构建对应的处理单元,进而基于串行/并行关系,利用多个逻辑构件各自对应的处理单元生成在线数据处理系统,可以实现后续基于生成的在线数据处理系统处理并发的在线请求,满足在线系统的快速反馈需求。
图7为根据本发明又一示例性实施例示出的一种在线数据处理系统生成装置的结构框图;其中,配置信息接收模块210、逻辑构件调用模块220、处理单元构建模块230以及在线系统生成模块240与图1所示实施例中的配置信息接收模块110、逻辑构件调用模块120、处理单元构建模块130以及在线系统生成模块140的功能相同,在此不进行赘述。如图7所示,处理单元构建模块230可以包括:
队列线程构建单元231,用于分别构建每一所述逻辑构件对应的待处理任务队列以及该逻辑构件对应的线程池;
处理单元构建单元232,用于根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元。
在一实施例中,队列线程构建子模块231还可以用于构建所述线程池中的线程与所述待处理任务队列之间的监测关系,以使所述线程池中的线程监测所述待处理任务队列中是否存在逻辑请求;所述逻辑请求用于调用对应的处理单元的逻辑构件进行数据处理;以及,
构建所述线程池中的线程与所述逻辑构件之间的调用关系,以使所述线程池中的线程在监测到所述待处理任务队列中存在所述逻辑请求时,根据所述逻辑请求调用相应的逻辑构件进行数据处理。
在一实施例中,在线系统生成模块240还可以用于根据所述串行/并行关系分别加载各所述处理单元的配置文件,以生成所述在线数据处理系统。
在一实施例中,逻辑构件调用模块220还可以用于确定各所述逻辑构件对应的逻辑请求结构体和处理结果结构体;其中,所述逻辑请求结构体用于识别对应的逻辑构件的逻辑请求,所述处理结果结构体用于识别对应的逻辑构件返回的数据处理结果。
图8为根据本发明一示例性实施例示出的一种数据处理装置的结构框图;如图8所示,该装置包括处理数据接收模块310、逻辑请求生成模块320、数据处理模块330、处理结果接收模块340以及最终结果确定模块350,其中:
处理数据接收模块310,用于接收用户输入的待处理数据;
在一实施例中,待处理数据为用户通过在线数据处理系统的用户界面输入的数据。
以在线检索服务为例,当用户需要检索感兴趣信息时,会在在线检索服务系统的用户界面输入感兴趣信息的提问语句或相关的关键词进行检索,对于该在线检索服务系统而言,该提问语句或相关的关键词即为待处理数据。
逻辑请求生成模块320,用于根据所述多个逻辑构件的串行/并行关系生成多个逻辑请求;
在一实施例中,当接收到用户输入的待处理数据时,可以根据在线数据处理系统中多个逻辑构件的串行/并行关系生成对应的一个或多个逻辑请求。
数据处理模块330,用于根据每一所述逻辑请求调用相应的逻辑构件进行数据处理;
在一实施例中,分别根据每一逻辑请求调用对应逻辑构件进行数据处理。例如,根据分词逻辑请求调用分词逻辑构件对用户输入的地名进行分词处理等。
处理结果接收模块340,用于接收各所述逻辑构件基于所述逻辑请求返回的数据处理结果;
在一实施例中,当调用的逻辑构件基于各自的逻辑请求完成数据处理后,则分别接收各所述逻辑构件所返回的数据处理结果。
最终结果确定模块350,用于根据各所述数据处理结果确定所述最终的数据处理结果。
在一实施例中,可以对返回的各数据处理结果进行合并,得到最终的数据处理结果,进而将该最终的数据处理结果返回调用程序的上游。
由上述实施例可知,本实施例通过接收用户输入的待处理数据,根据多个逻辑构件的串行/并行关系生成多个逻辑请求,并根据每一逻辑请求调用相应的逻辑构件进行数据处理,进而接收各所述逻辑构件基于所述逻辑请求返回的数据处理结果,以根据各所述数据处理结果确定所述最终的数据处理结果,可以高效地处理并发在线请求,满足在线系统的快速反馈需求。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (14)
1.一种在线数据处理系统生成方法,其特征在于,包括:
接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
2.根据权利要求1所述的方法,其特征在于,所述为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元,包括:
分别构建每一所述逻辑构件对应的待处理任务队列以及该逻辑构件对应的线程池;
根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元。
3.根据权利要求2所述的方法,其特征在于,所述根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元,包括:
构建所述线程池中的线程与所述待处理任务队列之间的监测关系,以使所述线程池中的线程监测所述待处理任务队列中是否存在逻辑请求;所述逻辑请求用于调用对应的处理单元的逻辑构件进行数据处理;
构建所述线程池中的线程与所述逻辑构件之间的调用关系,以使所述线程池中的线程在监测到所述待处理任务队列中存在所述逻辑请求时,根据所述逻辑请求调用相应的逻辑构件进行数据处理。
4.根据权利要求1所述的方法,其特征在于,所述基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统,包括:
根据所述串行/并行关系分别加载各所述处理单元的配置文件,以生成所述在线数据处理系统。
5.根据权利要求1所述的方法,其特征在于,所述根据所述多个逻辑构件各自的标识调用对应的逻辑构件,还包括:
确定各所述逻辑构件对应的逻辑请求结构体和处理结果结构体;其中,所述逻辑请求结构体用于识别对应的逻辑构件的逻辑请求,所述处理结果结构体用于识别对应的逻辑构件返回的数据处理结果。
6.一种基于权利要求1-5任一项所述方法生成的在线数据处理系统的数据处理方法,其特征在于,包括:
接收用户输入的待处理数据;
根据所述多个逻辑构件的串行/并行关系生成多个逻辑请求;
根据每一所述逻辑请求调用相应的逻辑构件进行数据处理;
接收各所述逻辑构件基于所述逻辑请求返回的数据处理结果;
对各所述数据处理结果进行合并,得到最终的数据处理结果。
7.一种在线数据处理系统生成装置,其特征在于,包括:
配置信息接收模块,用于接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
逻辑构件调用模块,用于根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
处理单元构建模块,用于为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
在线系统生成模块,用于基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
8.根据权利要求7所述的装置,其特征在于,所述处理单元构建模块包括:
队列线程构建子模块,用于分别构建每一所述逻辑构件对应的待处理任务队列以及该逻辑构件对应的线程池;
处理单元构建子模块,用于根据每一所述逻辑构件、该逻辑构件对应的所述待处理任务队列以及所述线程池构建该逻辑构件对应的处理单元。
9.根据权利要求8所述的装置,其特征在于,所述队列线程构建子模块还用于:
构建所述线程池中的线程与所述待处理任务队列之间的监测关系,以使所述线程池中的线程监测所述待处理任务队列中是否存在逻辑请求;所述逻辑请求用于调用对应的处理单元的逻辑构件进行数据处理;以及,
构建所述线程池中的线程与所述逻辑构件之间的调用关系,以使所述线程池中的线程在监测到所述待处理任务队列中存在所述逻辑请求时,根据所述逻辑请求调用相应的逻辑构件进行数据处理。
10.根据权利要求7所述的装置,其特征在于,所述在线系统生成模块还用于根据所述串行/并行关系分别加载各所述处理单元的配置文件,以生成所述在线数据处理系统。
11.根据权利要求7所述的装置,其特征在于,所述逻辑构件调用模块还用于确定各所述逻辑构件对应的逻辑请求结构体和处理结果结构体;其中,所述逻辑请求结构体用于识别对应的逻辑构件的逻辑请求,所述处理结果结构体用于识别对应的逻辑构件返回的数据处理结果。
12.一种基于权利要求7-11任一项所述装置生成的在线数据处理系统的数据处理装置,其特征在于,包括:
处理数据接收模块,用于接收用户输入的待处理数据;
逻辑请求生成模块,用于根据所述多个逻辑构件的串行/并行关系生成多个逻辑请求;
数据处理模块,用于根据每一所述逻辑请求调用相应的逻辑构件进行数据处理;
处理结果接收模块,用于接收各所述逻辑构件基于所述逻辑请求返回的数据处理结果;
最终结果确定模块,用于对各所述数据处理结果进行合并,得到最终的数据处理结果。
13.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可处理指令的存储器;
其中,所述处理器被配置为:
接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器处理时实现以下系统生成方法:
接收用于构建在线数据处理系统的配置信息;其中,所述配置信息包括多个逻辑构件各自的标识以及所述多个逻辑构件的串行/并行关系,所述逻辑构件为预先构建的具有预定数据处理功能的程序语句的集合;
根据所述多个逻辑构件各自的标识调用对应的逻辑构件;
为调用的多个所述逻辑构件分别分配线程池,以构成所述多个逻辑构件各自对应的处理单元;
基于所述串行/并行关系,利用所述多个逻辑构件各自对应的处理单元生成所述在线数据处理系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810611809.6A CN110609707B (zh) | 2018-06-14 | 2018-06-14 | 在线数据处理系统生成方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810611809.6A CN110609707B (zh) | 2018-06-14 | 2018-06-14 | 在线数据处理系统生成方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110609707A CN110609707A (zh) | 2019-12-24 |
CN110609707B true CN110609707B (zh) | 2021-11-02 |
Family
ID=68887467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810611809.6A Active CN110609707B (zh) | 2018-06-14 | 2018-06-14 | 在线数据处理系统生成方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110609707B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463331B (zh) * | 2020-12-02 | 2022-04-15 | 天津光电通信技术有限公司 | 一种基于java单线程池的任务调度优化实现方法 |
CN112596880A (zh) * | 2020-12-25 | 2021-04-02 | 深圳市元征科技股份有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410863A (zh) * | 2006-04-07 | 2009-04-15 | 国际商业机器公司 | 客户可配置的工作流系统 |
CN102289593A (zh) * | 2011-08-22 | 2011-12-21 | 上海交通大学 | 多学科虚拟实验交互式仿真解算系统 |
CN102455698A (zh) * | 2011-04-20 | 2012-05-16 | 靳其兵 | 基于树状结构的自控率、平稳率监控系统及监控方法 |
CN102542047A (zh) * | 2011-12-28 | 2012-07-04 | 奇智软件(北京)有限公司 | 一种任务逻辑库生成方法和系统、数据处理方法和系统 |
CN103853766A (zh) * | 2012-12-03 | 2014-06-11 | 中国科学院计算技术研究所 | 一种面向流式数据的在线处理方法及系统 |
CN105844020A (zh) * | 2016-03-23 | 2016-08-10 | 中国电子科技集团公司第十研究所 | 复杂电子系统的抽象集成设计方法 |
CN106845741A (zh) * | 2015-12-03 | 2017-06-13 | 北大方正集团有限公司 | 工作流的定制化装置及定制化方法 |
CN106933204A (zh) * | 2015-10-09 | 2017-07-07 | 费希尔-罗斯蒙特系统公司 | 分布式工业性能监控和分析 |
CN107341024A (zh) * | 2016-04-28 | 2017-11-10 | 华为技术有限公司 | 系统升级方法和系统升级装置 |
CN107918618A (zh) * | 2016-10-10 | 2018-04-17 | 腾讯科技(北京)有限公司 | 数据处理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189298A1 (en) * | 2012-12-27 | 2014-07-03 | Teresa Morrison | Configurable ring network |
CN103699696B (zh) * | 2014-01-13 | 2017-01-18 | 中国人民大学 | 一种云计算环境下的数据在线聚集方法 |
CN108009258B (zh) * | 2017-12-10 | 2022-03-15 | 恒创数字科技(江苏)有限公司 | 一种可在线配置的数据采集与分析平台 |
-
2018
- 2018-06-14 CN CN201810611809.6A patent/CN110609707B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101410863A (zh) * | 2006-04-07 | 2009-04-15 | 国际商业机器公司 | 客户可配置的工作流系统 |
CN102455698A (zh) * | 2011-04-20 | 2012-05-16 | 靳其兵 | 基于树状结构的自控率、平稳率监控系统及监控方法 |
CN102289593A (zh) * | 2011-08-22 | 2011-12-21 | 上海交通大学 | 多学科虚拟实验交互式仿真解算系统 |
CN102542047A (zh) * | 2011-12-28 | 2012-07-04 | 奇智软件(北京)有限公司 | 一种任务逻辑库生成方法和系统、数据处理方法和系统 |
CN103853766A (zh) * | 2012-12-03 | 2014-06-11 | 中国科学院计算技术研究所 | 一种面向流式数据的在线处理方法及系统 |
CN106933204A (zh) * | 2015-10-09 | 2017-07-07 | 费希尔-罗斯蒙特系统公司 | 分布式工业性能监控和分析 |
CN106845741A (zh) * | 2015-12-03 | 2017-06-13 | 北大方正集团有限公司 | 工作流的定制化装置及定制化方法 |
CN105844020A (zh) * | 2016-03-23 | 2016-08-10 | 中国电子科技集团公司第十研究所 | 复杂电子系统的抽象集成设计方法 |
CN107341024A (zh) * | 2016-04-28 | 2017-11-10 | 华为技术有限公司 | 系统升级方法和系统升级装置 |
CN107918618A (zh) * | 2016-10-10 | 2018-04-17 | 腾讯科技(北京)有限公司 | 数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于构件技术的工作流系统的研究与实现;王歌;《中国优秀硕士学位论文全文数据库 信息科技辑》;20070415;I138-425 * |
Also Published As
Publication number | Publication date |
---|---|
CN110609707A (zh) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108614726B (zh) | 虚拟机创建方法及装置 | |
CN109951547B (zh) | 事务请求并行处理方法、装置、设备和介质 | |
CN106712981B (zh) | 一种节点变更通知方法及装置 | |
US9852220B1 (en) | Distributed workflow management system | |
CN110704177B (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
CN113282580A (zh) | 用于执行定时任务的方法、存储介质及服务器 | |
CN110609707B (zh) | 在线数据处理系统生成方法、装置及设备 | |
CN111694639B (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN113256426B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN111163140A (zh) | 资源获取和分配的方法、装置和计算机可读存储介质 | |
CN109582445A (zh) | 消息处理方法、装置、电子设备及计算机可读存储介质 | |
CN116933886B (zh) | 一种量子计算执行方法、系统、电子设备及存储介质 | |
CN114130035A (zh) | 一种用户匹配方法、装置、设备及存储介质 | |
CN107193749B (zh) | 测试方法、装置及设备 | |
CN111698281B (zh) | 一种资源下载方法、装置、电子设备及存储介质 | |
CN107092556B (zh) | 测试方法、装置及设备 | |
CN112416980A (zh) | 数据业务处理方法、装置及设备 | |
CN112764897B (zh) | 任务请求的处理方法、装置、系统及计算机可读存储介质 | |
CN109818767B (zh) | 一种Redis集群容量调整的方法、装置及存储介质 | |
CN112988806A (zh) | 一种数据处理的方法及装置 | |
CN112149951A (zh) | 风险控制方法、装置、计算机设备和存储介质 | |
CN110134502A (zh) | 任务处理方法、装置、系统、计算机设备和存储介质 | |
CN115484149B (zh) | 网络切换方法、网络切换装置、电子设备及存储介质 | |
CN109377177B (zh) | 流程处理方法、装置、设备和计算机可读存储介质 | |
KR102131000B1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |