CN105094990A - 一种高效的实现大规模数据交换的系统及其方法 - Google Patents
一种高效的实现大规模数据交换的系统及其方法 Download PDFInfo
- Publication number
- CN105094990A CN105094990A CN201510507903.3A CN201510507903A CN105094990A CN 105094990 A CN105094990 A CN 105094990A CN 201510507903 A CN201510507903 A CN 201510507903A CN 105094990 A CN105094990 A CN 105094990A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- subscription
- module
- sent
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据处理技术领域,特别是一种高效的实现大规模数据交换的系统及其方法。本发明包含任务解析模块、任务管理模块、线程池和数据接收模块,任务解析实现交换任务的操作解析和任务合成;任务管理实现任务优先级和任务激活;线程池实现任务调度和任务处理;数据接收实现数据订阅任务、数据集和消息接收。本发明的大规模数据交换系统和方法建立了一种具有优先级的交换任务处理模型,并且实现线程池并发处理的数据交换方式,整体交换性能高,能够满足普遍的大规模数据交换应用;可以用于大数据的交换处理。
Description
技术领域
本发明涉及大数据处理技术领域,特别是一种高效的实现大规模数据交换的系统及其方法。
背景技术
数据交换是数据共享方和数据订阅方之间的信息互通和数据交换,可以解决分布异构数据库集成的问题。传统的数据交换一般用消息队列和广播等方式进行数据通信,但这些传统的数据通信方式难以满足大规模数据交换的应用要求。
发明内容
本发明解决的技术问题之一在于提供一种高效的实现大规模数据交换的系统;建立一种具有优先级的交换任务处理模型,整体交换性能高,能够满足普遍的大规模数据交换应用。
本发明解决的技术问题之二在于提供一种高效的实现大规模数据交换的方法;实现线程池并发处理的数据交换方式,整体交换性能高,能够满足普遍的大规模数据交换应用。
本发明解决上述技术问题之一的技术方案是:
所述的系统由以下模块构成:
(1)任务解析模块:任务解析模块负责解析应用程序和数据接收模块发送过来的数据包,然后根据数据包的类型,确定进行对应的操作,如任务合成或数据存储等;
(2)任务管理模块:任务管理模块负责将任务进行分类,同时计算任务优先级,然后将满足条件的任务提交给线程池处理;任务主要有三种:数据订阅任务、数据发布任务和实时消息;任务优先级由高到低为:实时消息、数据订阅任务、数据发布任务;
(3)线程池:线程池主要负责根据任务结构体中的交换数据描述信息,生成对应的SQL语句,并进行对应的数据库操作,然后生成对应的交换数据集,最后将交换数据集和实时消息发送给数据订阅节点,或者将数据订阅任务和实时消息发送给数据共享节点;
(4)数据接收模块:数据接收模块主要负责接收分布式节点发送过来的数据订阅任务、交换数据集和实时消息,然后通过数据校验后再发送给任务解析模块;数据接收模块具有多路传输的并发特性,以此保障数据传输的高效性。
本发明解决上述技术问题之二的技术方案是:
所述的方法按照以下流程步骤处理:
第一步,数据订阅节点的应用程序发送数据订阅请求到任务解析模块;
第二步,任务解析模块接收到数据订阅请求后,将请求合成为数据订阅任务数据包,包体结构包含任务类型信息、任务激活条件信息、交换数据信息及任务内存结构信息,然后将数据订阅任务发送到任务管理模块;
第三步,任务管理模块接收到数据订阅任务数据包后,结合任务类型和任务到达时间等条件,计算出任务优先级,并根据任务数据包的激活条件,将满足条件的任务发送到线程池处理;
第四步,线程池接收到激活的数据订阅任务后,线程调度器根据负载平衡的原则,选择空闲的线程,并将任务挂载到该线程上,然后将数据订阅任务发送到数据共享节点;
第五步,数据共享节点的数据接收模块接收到数据订阅任务后,首先对任务进行校验,校验通过后,将数据订阅任务发送到任务解析模块;
第六步,数据共享节点的任务解析模块接收到数据订阅任务后,根据数据订阅任务包体结构信息,将数据订阅任务合成为数据发布任务,并将数据发布任务发送到任务管理模块;
第七步,数据共享节点的任务管理模块接收到数据发布任务后,结合任务类型和任务到达时间等条件,计算出任务优先级,并根据任务数据包的激活条件,将满足条件的任务发送到线程池处理;
第八步,数据共享节点的线程池接收到激活的数据发布任务后,线程调度器根据负载平衡的原则,选择空闲的线程,并将任务挂载到该线程上,线程根据数据发布任务包体结构的数据交换信息,生成对应的SQL,并进行对应的数据库操作,然后将生成的数据集发送到数据订阅节点;
第九步,数据订阅节点的数据接收模块接收到数据集后,首先对数据集进行校验,校验通过后,将数据集发送到任务解析模块;
第十步,数据订阅节点的任务解析模块接收到数据集后,将数据集整编后保存到数据库,并返回成功的消息,完成数据交换流程。
数据发布可以为订阅后发布和主动发布,主动发布的处理流程和订阅后发布的处理流程一致,其中,主动发布由应用程序根据预置的配置发起。
交换任务数据包的包体结构组成:
包含任务类型信息、任务激活条件信息、交换数据信息及任务内存结构信息。
本发明采用模块化的思想,分成不同的功能模块实现,可以根据节点的配置信息选择不同的模块组合实现对应的功能,既可以作为数据订阅节点,也可以作为数据发布节点,甚至可以同时作为数据订阅和数据发布节点。采用本发明的方法,具有以下有益效果:(1)适用于数据发布、数据订阅、实时消息及复杂的数据交换应用系统;(2)适用于大规模数据交换平台;(3)架构简单,经济实用高效;(4)采用优先级任务管理和线程池处理,整体交换性能高;(5)可以作为中间件集成到大数据交换平台;(6)模块化的思想,可以灵活组合功能(7)节约系统开发周期和成本。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明的架构示意图。
具体实施方式
如图1所示,本发明采用模块化的思想,分成不同的功能模块实现,可以根据节点的配置信息选择不同的模块组合实现对应的功能,既可以作为数据订阅节点,也可以作为数据发布节点,甚至可以同时作为数据订阅和数据发布节点。本发明的系统主要由任务解析模块、任务管理模块、线程池及数据接收模块组成:
1、任务解析模块:任务解析模块负责解析应用程序和数据接收模块发送过来的数据包,然后根据数据包的类型,确定进行对应的操作,如任务合成或数据存储等;
2、任务管理模块:任务管理模块负责将任务进行分类,同时计算任务优先级,然后将满足条件的任务提交给线程池处理;任务主要有三种:数据订阅任务、数据发布任务和实时消息;任务优先级由高到低为:实时消息、数据订阅任务、数据发布任务;
3、线程池:线程池主要负责根据任务结构体中的交换数据描述信息,生成对应的SQL语句,并进行对应的数据库操作,然后生成对应的交换数据集,最后将交换数据集和实时消息发送给数据订阅节点,或者将数据订阅任务和实时消息发送给数据共享节点;
4、数据接收模块:数据接收模块主要负责接收分布式节点发送过来的数据订阅任务、交换数据集和实时消息,然后通过数据校验后再发送给任务解析模块;数据接收模块具有多路传输的并发特性,以此保障数据传输的高效性。
任务解析模块实现交换任务的操作解析和任务合成;任务管理模块实现任务优先级和任务激活;线程池实现任务调度和任务处理;数据接收模块实现数据订阅任务、数据集和消息接收。当应用程序发起数据订阅请求时,由任务解析模块合成数据订阅任务发送到任务管理模块,任务管理模块确定任务优先级,并根据激活条件将满足的任务发送到线程池,线程池接收到新任务后,调用空闲的线程挂载任务,并将数据订阅任务发送给数据共享节点;数据共享节点接收到数据订阅任务后,由数据接收模块校验后发送到任务解析模块,任务解析模块将数据订阅任务合成为数据发布任务,然后发送到任务管理模块,任务管理模块激活任务后发送到线程池,线程池处理后将数据集返回给数据订阅节点;数据集经数据订阅节点的数据接收模块接收并校验后,转发到数据解析模块,由数据解析模块实现数据存储,完成数据交换的流程。
如图1所示,高效的大规模数据交换的详细流程为:
第一步,数据订阅节点的应用程序发送数据订阅请求到任务解析模块;
第二步,任务解析模块接收到数据订阅请求后,将请求合成为数据订阅任务数据包,包体结构包含任务类型信息、任务激活条件信息、交换数据信息及任务内存结构信息,然后将数据订阅任务发送到任务管理模块;
第三步,任务管理模块接收到数据订阅任务数据包后,结合任务类型和任务到达时间等条件,计算出任务优先级,并根据任务数据包的激活条件,将满足条件的任务发送到线程池处理;
第四步,线程池接收到激活的数据订阅任务后,线程调度器根据负载平衡的原则,选择空闲的线程,并将任务挂载到该线程上,然后将数据订阅任务发送到数据共享节点;
第五步,数据共享节点的数据接收模块接收到数据订阅任务后,首先对任务进行校验,校验通过后,将数据订阅任务发送到任务解析模块;
第六步,数据共享节点的任务解析模块接收到数据订阅任务后,根据数据订阅任务包体结构信息,将数据订阅任务合成为数据发布任务,并将数据发布任务发送到任务管理模块;
第七步,数据共享节点的任务管理模块接收到数据发布任务后,结合任务类型和任务到达时间等条件,计算出任务优先级,并根据任务数据包的激活条件,将满足条件的任务发送到线程池处理;
第八步,数据共享节点的线程池接收到激活的数据发布任务后,线程调度器根据负载平衡的原则,选择空闲的线程,并将任务挂载到该线程上,线程根据数据发布任务包体结构的数据交换信息,生成对应的SQL,并进行对应的数据库操作,然后将生成的数据集发送到数据订阅节点;
第九步,数据订阅节点的数据接收模块接收到数据集后,首先对数据集进行校验,校验通过后,将数据集发送到任务解析模块;
第十步,数据订阅节点的任务解析模块接收到数据集后,将数据集整编后保存到数据库,并返回成功的消息,完成数据交换流程。
数据发布可以为订阅后发布和主动发布,主动发布的处理流程和订阅后发布的处理流程一致,其中,主动发布由应用程序根据预置的配置发起。
Claims (4)
1.一种高效的实现大规模数据交换的系统,其特征在于:所述的系统由以下模块构成:
(1)任务解析模块:任务解析模块负责解析应用程序和数据接收模块发送过来的数据包,然后根据数据包的类型,确定进行对应的操作,如任务合成或数据存储等;
(2)任务管理模块:任务管理模块负责将任务进行分类,同时计算任务优先级,然后将满足条件的任务提交给线程池处理;任务主要有三种:数据订阅任务、数据发布任务和实时消息;任务优先级由高到低为:实时消息、数据订阅任务、数据发布任务;
(3)线程池:线程池主要负责根据任务结构体中的交换数据描述信息,生成对应的SQL语句,并进行对应的数据库操作,然后生成对应的交换数据集,最后将交换数据集和实时消息发送给数据订阅节点,或者将数据订阅任务和实时消息发送给数据共享节点;
(4)数据接收模块:数据接收模块主要负责接收分布式节点发送过来的数据订阅任务、交换数据集和实时消息,然后通过数据校验后再发送给任务解析模块;数据接收模块具有多路传输的并发特性,以此保障数据传输的高效性。
2.一种权利要求1所述系统的数据交换方法,其特征在于:所述的方法按照以下流程步骤处理:
第一步,数据订阅节点的应用程序发送数据订阅请求到任务解析模块;
第二步,任务解析模块接收到数据订阅请求后,将请求合成为数据订阅任务数据包,包体结构包含任务类型信息、任务激活条件信息、交换数据信息及任务内存结构信息,然后将数据订阅任务发送到任务管理模块;
第三步,任务管理模块接收到数据订阅任务数据包后,结合任务类型和任务到达时间等条件,计算出任务优先级,并根据任务数据包的激活条件,将满足条件的任务发送到线程池处理;
第四步,线程池接收到激活的数据订阅任务后,线程调度器根据负载平衡的原则,选择空闲的线程,并将任务挂载到该线程上,然后将数据订阅任务发送到数据共享节点;
第五步,数据共享节点的数据接收模块接收到数据订阅任务后,首先对任务进行校验,校验通过后,将数据订阅任务发送到任务解析模块;
第六步,数据共享节点的任务解析模块接收到数据订阅任务后,根据数据订阅任务包体结构信息,将数据订阅任务合成为数据发布任务,并将数据发布任务发送到任务管理模块;
第七步,数据共享节点的任务管理模块接收到数据发布任务后,结合任务类型和任务到达时间等条件,计算出任务优先级,并根据任务数据包的激活条件,将满足条件的任务发送到线程池处理;
第八步,数据共享节点的线程池接收到激活的数据发布任务后,线程调度器根据负载平衡的原则,选择空闲的线程,并将任务挂载到该线程上,线程根据数据发布任务包体结构的数据交换信息,生成对应的SQL,并进行对应的数据库操作,然后将生成的数据集发送到数据订阅节点;
第九步,数据订阅节点的数据接收模块接收到数据集后,首先对数据集进行校验,校验通过后,将数据集发送到任务解析模块;
第十步,数据订阅节点的任务解析模块接收到数据集后,将数据集整编后保存到数据库,并返回成功的消息,完成数据交换流程。
3.根据权利要求2所述的数据交换方法,其特征在于:数据发布可以为订阅后发布和主动发布,主动发布的处理流程和订阅后发布的处理流程一致,其中,主动发布由应用程序根据预置的配置发起。
4.根据权利要求2或3所述的数据交换方法,其特征在于:
交换任务数据包的包体结构组成:
包含任务类型信息、任务激活条件信息、交换数据信息及任务内存结构信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510507903.3A CN105094990A (zh) | 2015-08-18 | 2015-08-18 | 一种高效的实现大规模数据交换的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510507903.3A CN105094990A (zh) | 2015-08-18 | 2015-08-18 | 一种高效的实现大规模数据交换的系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105094990A true CN105094990A (zh) | 2015-11-25 |
Family
ID=54575496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510507903.3A Pending CN105094990A (zh) | 2015-08-18 | 2015-08-18 | 一种高效的实现大规模数据交换的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105094990A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479420A (zh) * | 2017-08-29 | 2017-12-15 | 北京寄云鼎城科技有限公司 | 一种分布式的数据共享方法及设备 |
CN109921919A (zh) * | 2017-12-13 | 2019-06-21 | 航天信息股份有限公司 | 数据交换系统及方法 |
CN110096664A (zh) * | 2019-04-03 | 2019-08-06 | 北大方正集团有限公司 | 分布式文本信息处理方法、装置、系统、设备及存储介质 |
CN111897496A (zh) * | 2020-07-28 | 2020-11-06 | 上海德拓信息技术股份有限公司 | 分布式系统中提升网络io读写性能的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050216624A1 (en) * | 2002-09-26 | 2005-09-29 | Guoshun Deng | Device and method for providing data exchange and storage |
CN101969402A (zh) * | 2010-10-18 | 2011-02-09 | 浪潮集团山东通用软件有限公司 | 基于并行处理的数据交换方法 |
CN102195786A (zh) * | 2010-03-16 | 2011-09-21 | 中国电信股份有限公司 | 智能数据交换平台及方法 |
CN103324539A (zh) * | 2013-06-24 | 2013-09-25 | 浪潮电子信息产业股份有限公司 | 一种作业调度管理系统及方法 |
-
2015
- 2015-08-18 CN CN201510507903.3A patent/CN105094990A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050216624A1 (en) * | 2002-09-26 | 2005-09-29 | Guoshun Deng | Device and method for providing data exchange and storage |
CN102195786A (zh) * | 2010-03-16 | 2011-09-21 | 中国电信股份有限公司 | 智能数据交换平台及方法 |
CN101969402A (zh) * | 2010-10-18 | 2011-02-09 | 浪潮集团山东通用软件有限公司 | 基于并行处理的数据交换方法 |
CN103324539A (zh) * | 2013-06-24 | 2013-09-25 | 浪潮电子信息产业股份有限公司 | 一种作业调度管理系统及方法 |
Non-Patent Citations (2)
Title |
---|
虞海江等: "基于发布订阅模式的数据集成中间件系统设计与实现", 《计算机系统应用》 * |
高德宏等: "发布订阅模式数据交换中间件设计与实现", 《计算机应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479420A (zh) * | 2017-08-29 | 2017-12-15 | 北京寄云鼎城科技有限公司 | 一种分布式的数据共享方法及设备 |
CN107479420B (zh) * | 2017-08-29 | 2019-09-06 | 北京寄云鼎城科技有限公司 | 一种分布式的数据共享方法及设备 |
CN109921919A (zh) * | 2017-12-13 | 2019-06-21 | 航天信息股份有限公司 | 数据交换系统及方法 |
CN110096664A (zh) * | 2019-04-03 | 2019-08-06 | 北大方正集团有限公司 | 分布式文本信息处理方法、装置、系统、设备及存储介质 |
CN111897496A (zh) * | 2020-07-28 | 2020-11-06 | 上海德拓信息技术股份有限公司 | 分布式系统中提升网络io读写性能的方法 |
CN111897496B (zh) * | 2020-07-28 | 2023-12-19 | 上海德拓信息技术股份有限公司 | 分布式系统中提升网络io读写性能的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kliazovich et al. | CA-DAG: Modeling communication-aware applications for scheduling in cloud computing | |
CN105094990A (zh) | 一种高效的实现大规模数据交换的系统及其方法 | |
CN104486440A (zh) | 一种基于消息总线的云计算管理软件交互方法 | |
CN101604264B (zh) | 超级计算机的任务调度方法及系统 | |
CN103297395B (zh) | 一种互联网业务的实现方法、系统以及装置 | |
CN103248583B (zh) | 一种基于有限深度的先进先出报文队列管理方法及装置 | |
CN102467411A (zh) | 一种工作流处理及工作流代理方法、装置和系统 | |
CN105959395A (zh) | 一种集群自反馈式负载均衡调度系统及方法 | |
WO2004102438A3 (en) | Business process management for a message-based exchange infrastructure | |
CA2557111A1 (en) | System and method for building mixed mode execution environment for component applications | |
CN105045658A (zh) | 一种利用多核嵌入式dsp实现动态任务调度分发的方法 | |
US20090112559A1 (en) | Model-driven, repository-based application monitoring system | |
CN108600355A (zh) | 一种雾计算负载均衡调度系统及方法 | |
CN102340734B (zh) | 定位应用管理方法及装置 | |
CN101232505A (zh) | 基于mvc架构的ria分层框架的接口模型 | |
CN114615096A (zh) | 基于事件驱动架构的电信计费方法、系统及相关设备 | |
CN103442415A (zh) | 一种发送数据的方法及一种移动终端 | |
CN114710571A (zh) | 数据包处理系统 | |
CN111026809B (zh) | 一种调度流程分布式执行系统 | |
KR20170130775A (ko) | 딥러닝 수행 시스템 및 방법 | |
CN102591714B (zh) | 一种流程调用方法、系统及应用服务器 | |
Zhai et al. | Research on the Message-Oriented Middleware for Wireless Sensor Networks. | |
CN110032455A (zh) | 通过运行时间合作进行高效通信重叠 | |
CN104636206A (zh) | 一种系统性能的优化方法和装置 | |
CN1278258C (zh) | 一种开放的gis开发中间件系统 |
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: 20151125 |
|
RJ01 | Rejection of invention patent application after publication |