CN104657202A - 一种分布式信息处理结构 - Google Patents
一种分布式信息处理结构 Download PDFInfo
- Publication number
- CN104657202A CN104657202A CN201310582396.0A CN201310582396A CN104657202A CN 104657202 A CN104657202 A CN 104657202A CN 201310582396 A CN201310582396 A CN 201310582396A CN 104657202 A CN104657202 A CN 104657202A
- Authority
- CN
- China
- Prior art keywords
- distributed information
- information processing
- data
- processing
- data processing
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种分布式信息处理结构,包括:数据处理模块,包括数据处理管理单元、若干数目的线程处理单元及若干数目的抽象管道单元,所述数据处理单元用于接收拓扑配置文件,并根据所述拓扑配置文件动态创建数据处理模型,所述数据处理模型由线程处理单元构成,或者由线程处理单元及抽象管道单元组合构成。本方法提供一套可复用的应用软件结构,用户使用时只需要继承一个功能导出类,并在里面实现自己的算法即可,无须关心更多的软件实现细节,易用性强。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种分布式信息处理结构。
背景技术
分布式信息处理技术是一种将一个或多个大型信息处理任务分解为多个子任务,并在不同的系统中分别处理的技术.这项技术中很关键的一个问题就是子任务的分布式组织方法。
目前的分布式信息处理系统主要可以分为三类,一类是客户机-服务器系统,这类系统也称为两层系统。客户机-服务器系统中主要包含一台或多台提供特定服务功能的服务器和多台供用户使用的客户机,当用户需要执行某种特定功能的时候,客户机向特定的服务器发送请求,服务器对请求进行处理以后将结果返回给该客户机。
第二类分布式信息处理系统通常称为中间件系统或者三层系统。这一类系统主要是在客户机和服务器之间添加了一层中间件,用于屏蔽硬件平台、操作系统和网络协议的差异,使应用软件能够比较平滑地运行于不同平台上。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使应用的性能得到大幅的提升,以满足关键业务的需求。
第三类分布式信息处理系统通常称为分布式对象系统或者多层系统。在该系统中,每一台计算机即可以作为客户机,也作为其他系统提供服务的服务器,所提供的服务以及对象的形式进行描述。当某个用户需要进行某种形式的信息处理时,所使用的计算机自动在网上搜寻适当的对象(服务器),并向这些服务器发送处理请求。
然而,现有的分布式信息处理系统只能以固定的线程分配方式进行处理,系统预先设定后,用户无法根据实际需求对所述线程进行重新分配。,即只能静态进行线程分配,无法动态线程分配。
发明内容
本发明解决的问题是提供一种分布式信息处理机构,以动态分配线程处理模型。
为解决上述问题,本发明提供一种分布式信息处理结构,包括:
数据处理模块,包括数据处理管理单元、若干数目的线程处理单元及若干数目的抽象管道单元,所述数据处理单元用于接收拓扑配置文件,并根据所述拓扑配置文件动态创建数据处理模型,所述数据处理模型由线程处理单元构成,或者由线程处理单元及抽象管道单元组合构成。
可选的,所述数据处理模型中,各个所述线程处理单元为各自独立的处理单元。
可选的,所述线程处理单元为所述分布式信息处理结构中最小数据处理单元,用以向用户提供虚接口,并通过继承所述虚接口在所述线程处理单元内部实现工作流代码。
可选的,所述抽象管道单元为数据传输容器,用于线程处理单元之间的数据传输,传输方向为单向传输。
可选的,一个所述线程处理单元具有一个或一个以上的抽象管道单元,所述抽象管道单元用于连接所述线程处理单元。
可选的,若所述数据处理模型由线程处理单元构成,则提供预先约定的协议格式,各个所述线程处理单元之间按照所述协议格式发送消息进行通信。
可选的,所述数据处理模型对应的拓扑结构为线型、星型、环型或树型。
可选的,还包括动态配置模块,用于接收工作流的需求指令,并根据所述需求指令生成拓扑配置文件。
可选的,还包括代理客户端模块,用以向用户提供工作流的操作接口;及进程管理模块,负责创建或者销毁数据处理过程。
可选的,还包括工作流管理模块,负责所述分布式信息处理结构中各模块间的通信,以控制所述分布式信息处理结构的工作流。
可选的,所述数据处理模型为单机模型或多机模型。
可选的,当所述数据处理模型为多机模型时,还包括数据发送处理机及数据接收处理机,所述数据发送处理机具有发送功能单元,所述数据接收处理机上具有数据接收单元,用于跨机器的数据传输。
与现有技术相比,本发明具有以下优点:
本方法提供一套可复用的应用软件结构,用户使用时只需要继承一个功能导出类,并在里面实现自己的算法即可,无须关心更多的软件实现细节,易用性强。
涉及的所有软件模块均采用低耦合设计,各个模块之间相对独立,易拆解也易组合。
基于上述的低耦合特性,本方法提供的软件结构具有很高的扩展性,用户只需修改配置文件就能实现不同结构的处理框架。本特性极大地了满足了医学行业纷繁复杂的应用场景。而现有的技术不能动态改变分布式处理的结构,具有很大的使用局限性。
本方法可以同时创建多个进程进行批处理操作。同时用户对进程可以执行挂起、取消、恢复等操作,增强了可控性。
附图说明
图1所示为本发明一个实施例的分布式信息处理结构的结构示意图;
图2所示为所述代理客户端模块提供的工作流操作接口示意图;
图3~图5为本实施例的数据处理模型对应的拓扑结构;
图6所示为本发明一个实施例的数据处理模块的结构示意图;
图7所示为本发明一个实施例的进程管理模块的结构示意图;
图8所示为本发明一个实施例的单机模型结构示意图;
图9所示为本发明一个实施例的多机模型结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
现有的分布式信息处理系统只能以固定的线程分配方式进行处理,系统预先设定后,用户无法根据实际需求对所述线程进行重新分配。
为解决上述问题,本发明提供一种分布式信息处理结构,包括:数据处理模块,包括数据处理管理单元、若干数目的线程处理单元及若干数目的抽象管道单元,所述数据处理单元用于接收拓扑配置文件,并根据所述拓扑配置文件动态创建数据处理模型,所述数据处理模型由线程处理单元构成,或者由线程处理单元及抽象管道单元组合构成。其中,所述数据处理模型中,各个所述线程处理单元为各自独立的处理单元。所述线程处理单元为所述分布式信息处理结构中最小数据处理单元,用以向用户提供虚接口,并通过继承所述虚接口在所述线程处理单元内部实现工作流代码。
若所述数据处理模型由线程处理单元构成,则提供预先约定的协议格式,各个所述线程处理单元之间按照所述协议格式发送消息进行通信;若所述数据处理模型由线程处理单元及抽象管道单元构成,则所述抽象管道单元为数据传输容器,用于线程处理单元之间的数据传输,传输方向为单向传输。
对应的,一个所述线程处理单元具有一个或一个以上的抽象管道单元,所述抽象管道单元用于连接所述线程处理单元。
可选的,所述数据处理模型对应的拓扑结构为线型、星型、环型或树型。
还包括动态配置模块,用于接收工作流的需求指令,并根据所述需求指令生成拓扑配置文件;代理客户端模块,用以向用户提供工作流的操作接口;及进程管理模块,负责创建或者销毁数据处理过程;工作流管理模块,负责所述分布式信息处理结构中各模块间的通信,以控制所述分布式信息处理结构的工作流。
进一步地,所述数据处理模型为单机模型或多机模型。当所述数据处理模型为多机模型时,还包括数据发送处理机及数据接收处理机,所述数据发送处理机具有发送功能单元,所述数据接收处理机上具有数据接收单元,用于跨机器的数据传输。
下面结合附图对本发明实施例进行详细说明。
如图1所示为本发明一个实施例的分布式信息处理结构的结构示意图,包括:代理客户端模块(Job Delegate)10、工作流管理模块(Job Manager)20、数据处理模块(Pipeline)30及进程管理模块(System Manager)40。下面对各模块的功能及通信进行说明。
如图2所示为所述代理客户端模块10提供的工作流操作接口示意图,用户调用该系列接口可以对工作流进行控制,包括:新增工作流接口(AppendJob);挂起工作流接口(SuspendJob);恢复工作流接口(ResumeJob);取消工作流接口(CancelJob);关闭工作流接口(KillJob);获取工作流状态接口(GetJobStatus);获取工作流进度接口(GetJobProcess)。
进一步地,如图1所示,所述工作流管理模块20工作流管理模块为本发明的核心组件之一,主要负责与代理客户端模块10、进程管理模块40、数据处理模块30进行通信,具体实现代理客户端接口提供的功能,从而真正做到对工作流的运行控制。
以启动工作流为例,参照图1,所述工作流管理模块20的主要职责为:
接收用户发送的启动或销毁工作流指令(启动指令包含拓扑结构配置),并转发给进程管理模块40创建或销毁相应的数据处理进程;
接收用户发送的挂起指令,首先通知相应的数据处理进程保存好当前的运行数据并返回给本模块做好存储,然后要求进程管理模块40销毁该数据处理进程。
接收用户发送的恢复指令,首先通知进程管理模块40创建对应的数据处理进程,并把先前保存的数据发送给该数据处理进程继续进行处理。
接收用户的查询指令(进度或状态),发送查询指令给数据处理进程,等待数据处理进程返回所需信息并转发给客户端。
接收到数据处理进程发送的处理完毕消息,本模块会发送销毁指令给进程管理模块40从而销毁该数据处理进程。
其中,所述工作流管理模块20包括动态配置单元,接收工作流的需求指令,并根据所述需求指令生成拓扑配置文件。
所述拓扑配置文件包括需要配置形成的拓扑结构,图3~图5为对应的拓扑结构,分别对应为线型拓扑结构、星型拓扑结构及环形拓扑结构。
如图6所示为本发明一个实施例的数据处理模块的结构示意图。所述数据处理模块为本发明的核心组件之一,其主要职责是根据工作流管理模块发送的拓扑配置文件动态创建数据处理模型。其包含三个核心组件数据处理管理单元(PipelineManager)、线程处理单元(Functor)和抽象管道单元(Pipe)。
其中,所述线程处理单元为最小的数据处理单元,提供虚接口(线程函数Process())供用户使用。用户只需要继承该接口并在里面实现自己的工作流处理代码即可。抽象管道单元(Pipe)为数据传输容器,用于线程处理单元之间的数据传输,传输方向为单向传输,其容量大小可由用户设定。一个线程单元处理单元可以拥有多个抽象管道模型,反之一个抽象管道模型只能连接两个线程处理单元。遵循以上规则,线程处理单元和抽象管道模型可以随意组合成多种数据处理拓扑结构以及制定数据处理的先后顺序。
进一步地,还包括数据处理管理单元,所述数据处理管理单元根据用户配置的拓扑结构创建数据处理模型,并启动各线程处理单元。
如图7所示为本发明一个实施例的进程管理模块的结构示意图。进程管理模块主要负责接收工作流管理模块的指令创建或者销毁数据处理进程。
进一步地,本发明对应的数据处理模型可分为单机模型和多机模型。如图8所示为本发明一个实施例的单机模型结构示意图,所谓单机模型即一个工作流可以包含一个或多个数据处理进程,所有这些进程都运行于同一台处理机上,其中每个进程由多个线程处理单元和抽象管道模型组成。
如图9所示为本发明一个实施例的多机模型结构示意图。所述多机模型即一个工作流可以包含一个或多个数据处理进程,所有这些进程都运行于不同处理机上,其中每个进程由多个线程处理单元和抽象管道模型组成。多机模型和单机模型的不同之处在于,当数据处理管理单元创建数据模型的时候,在数据发送处理机上会增加发送功能单元(Connector),在数据接收处理机上会增加数据接收单元(Acceptor),用于实现跨机器数据传输。
与现有技术相比,本发明具有以下优点:
本方法提供一套可复用的应用软件结构,用户使用时只需要继承一个功能导出类,并在里面实现自己的算法即可,无须关心更多的软件实现细节,易用性强。
涉及的所有软件模块均采用低耦合设计,各个模块之间相对独立,易拆解也易组合。
基于上述的低耦合特性,本方法提供的软件结构具有很高的扩展性,用户只需修改配置文件就能实现不同结构的处理框架。本特性极大地了满足了医学行业纷繁复杂的应用场景。而现有的技术不能动态改变分布式处理的结构,具有很大的使用局限性。
本方法可以同时创建多个进程进行批处理操作。同时用户对进程可以执行挂起、取消、恢复等操作,增强了可控性。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (12)
1.一种分布式信息处理结构,其特征在于,至少包括:
数据处理模块,包括数据处理管理单元、若干数目的线程处理单元及若干数目的抽象管道单元,所述数据处理单元用于接收拓扑配置文件,并根据所述拓扑配置文件动态创建数据处理模型,所述数据处理模型由线程处理单元构成,或者由线程处理单元及抽象管道单元组合构成。
2.如权利要求1所述的分布式信息处理结构,其特征在于,所述数据处理模型中,各个所述线程处理单元为各自独立的处理单元。
3.如权利要求1所述的分布式信息处理结构,其特征在于,所述线程处理单元为所述分布式信息处理结构中最小数据处理单元,用以向用户提供虚接口,以在所述线程处理单元内部实现工作流代码。
4.如权利要求1所述的分布式信息处理结构,其特征在于,所述抽象管道单元为数据传输容器,用于线程处理单元之间的数据传输,传输方向为单向传输。
5.如权利要求1所述的分布式信息处理结构,其特征在于,一个所述线程处理单元具有一个或一个以上的抽象管道单元,所述抽象管道单元用于连接所述线程处理单元。
6.如权利要求1所述的分布式信息处理结构,其特征在于,若所述数据处理模型由线程处理单元构成,则提供预先约定的协议格式,各个所述线程处理单元之间按照所述协议格式发送消息进行通信。
7.如权利要求1所述的分布式信息处理结构,其特征在于,所述数据处理模型对应的拓扑结构为线型、星型、环型或树型。
8.如权利要求1所述的分布式信息处理结构,其特征在于,还包括代理客户端模块,用以向用户提供工作流的操作接口;及进程管理模块,负责创建或者销毁数据处理过程。
9.如权利要求8所述的分布式信息处理结构,其特征在于,所述进程管理模块包括动态配置单元,接收工作流的需求指令,并根据所述需求指令生成拓扑配置文件。
10.如权利要求1所述的分布式信息处理结构,其特征在于,还包括工作流管理模块,负责所述分布式信息处理结构中各模块间的通信,以控制所述分布式信息处理结构的工作流。
11.如权利要求1所述的分布式信息处理结构,其特征在于,所述数据处理模型为单机模型或多机模型。
12.如权利要求11述的分布式信息处理结构,其特征在于,当所述数据处理模型为多机模型时,还包括数据发送处理机及数据接收处理机,所述数据发送处理机具有发送功能单元,所述数据接收处理机上具有数据接收单元,用于跨机器的数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310582396.0A CN104657202A (zh) | 2013-11-19 | 2013-11-19 | 一种分布式信息处理结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310582396.0A CN104657202A (zh) | 2013-11-19 | 2013-11-19 | 一种分布式信息处理结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104657202A true CN104657202A (zh) | 2015-05-27 |
Family
ID=53248377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310582396.0A Pending CN104657202A (zh) | 2013-11-19 | 2013-11-19 | 一种分布式信息处理结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657202A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394620B2 (en) | 2016-11-21 | 2019-08-27 | International Business Machines Corporation | Method for changing allocation of data using synchronization token |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101809562A (zh) * | 2007-09-27 | 2010-08-18 | 微软公司 | 基于面向服务流水线的体系结构 |
CN102271167A (zh) * | 2011-09-09 | 2011-12-07 | 刘浩 | 一种适用于分布式通信中间件的代理器(Agent)并行处理方法及结构 |
CN102648449A (zh) * | 2009-09-29 | 2012-08-22 | 辉达公司 | 用于并行处理单元的陷阱处理器架构 |
CN102648450A (zh) * | 2009-09-23 | 2012-08-22 | 辉达公司 | 用于并行命令列表生成的硬件 |
CN102929725A (zh) * | 2012-11-12 | 2013-02-13 | 中国人民解放军海军工程大学 | 信号处理并行计算软件的动态重配置方法 |
-
2013
- 2013-11-19 CN CN201310582396.0A patent/CN104657202A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101809562A (zh) * | 2007-09-27 | 2010-08-18 | 微软公司 | 基于面向服务流水线的体系结构 |
CN102648450A (zh) * | 2009-09-23 | 2012-08-22 | 辉达公司 | 用于并行命令列表生成的硬件 |
CN102648449A (zh) * | 2009-09-29 | 2012-08-22 | 辉达公司 | 用于并行处理单元的陷阱处理器架构 |
CN102271167A (zh) * | 2011-09-09 | 2011-12-07 | 刘浩 | 一种适用于分布式通信中间件的代理器(Agent)并行处理方法及结构 |
CN102929725A (zh) * | 2012-11-12 | 2013-02-13 | 中国人民解放军海军工程大学 | 信号处理并行计算软件的动态重配置方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10394620B2 (en) | 2016-11-21 | 2019-08-27 | International Business Machines Corporation | Method for changing allocation of data using synchronization token |
US10831561B2 (en) | 2016-11-21 | 2020-11-10 | International Business Machines Corporation | Method for changing allocation of data using synchronization token |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2527983A2 (en) | Distributing services in graph-based computations | |
Foster et al. | Describing the Elephant: The Different Faces of IT as Service: Terms such as grid, on-demand, and service-oriented architecture are mired in confusion, but there is an overarching trend behind them all. | |
US20160205541A1 (en) | Apparatus For End-User Transparent Utilization of Computational, Storage, and Network Capacity of Mobile Devices, and Associated Methods | |
CN105472042A (zh) | Web端控制的消息中间件系统及其数据传送方法 | |
CN103270492A (zh) | 用于网络使能应用的硬件加速图形 | |
CN106657314A (zh) | 跨数据中心数据同步系统及方法 | |
US9641604B1 (en) | Ranking candidate servers in order to select one server for a scheduled data transfer | |
CN112104723A (zh) | 一种多集群的数据处理系统及方法 | |
US8606908B2 (en) | Wake-up server | |
CN105373420A (zh) | 数据传输方法及装置 | |
CN109800083A (zh) | 一种微服务协同调用的方法、装置、系统及存储介质 | |
CN114615308A (zh) | 基于rpc的异步多线程并发网络通讯方法及装置 | |
CN103677983A (zh) | 应用的调度方法及装置 | |
Han et al. | CALM: an intelligent agent-based middleware for community computing | |
CN101631134A (zh) | 用于分布式计算环境的网络消息交换服务管理器 | |
CN110532060A (zh) | 一种混合网络环境数据采集方法及系统 | |
In et al. | Sphinx: A scheduling middleware for data intensive applications on a grid | |
CN103186536A (zh) | 一种调度数据共享装置的方法及系统 | |
CN113971098A (zh) | 一种RabbitMQ消费管理方法及系统 | |
CN105427149A (zh) | 一种基于soa扩展框架的跨境电子商务bpo服务方法及装置 | |
CN110351107A (zh) | 配置管理方法及装置 | |
CN115361382B (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN104657202A (zh) | 一种分布式信息处理结构 | |
JP2010231601A (ja) | グリッドコンピューティングシステム、リソース制御方法およびリソース制御プログラム | |
CN114490000A (zh) | 任务处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150527 |
|
RJ01 | Rejection of invention patent application after publication |