一种高效的实现大规模数据交换的系统及其方法

文档序号:9375378阅读:429来源:国知局
一种高效的实现大规模数据交换的系统及其方法
【技术领域】
[0001]本发明涉及大数据处理技术领域,特别是一种高效的实现大规模数据交换的系统及其方法。
【背景技术】
[0002]数据交换是数据共享方和数据订阅方之间的信息互通和数据交换,可以解决分布异构数据库集成的问题。传统的数据交换一般用消息队列和广播等方式进行数据通信,但这些传统的数据通信方式难以满足大规模数据交换的应用要求。

【发明内容】

[0003]本发明解决的技术问题之一在于提供一种高效的实现大规模数据交换的系统;建立一种具有优先级的交换任务处理模型,整体交换性能高,能够满足普遍的大规模数据交换应用。
[0004]本发明解决的技术问题之二在于提供一种高效的实现大规模数据交换的方法;实现线程池并发处理的数据交换方式,整体交换性能高,能够满足普遍的大规模数据交换应用。
[0005]本发明解决上述技术问题之一的技术方案是:
[0006]所述的系统由以下模块构成:
[0007](I)任务解析模块:任务解析模块负责解析应用程序和数据接收模块发送过来的数据包,然后根据数据包的类型,确定进行对应的操作,如任务合成或数据存储等;
[0008](2)任务管理模块:任务管理模块负责将任务进行分类,同时计算任务优先级,然后将满足条件的任务提交给线程池处理;任务主要有三种:数据订阅任务、数据发布任务和实时消息;任务优先级由高到低为:实时消息、数据订阅任务、数据发布任务;
[0009](3)线程池:线程池主要负责根据任务结构体中的交换数据描述信息,生成对应的SQL语句,并进行对应的数据库操作,然后生成对应的交换数据集,最后将交换数据集和实时消息发送给数据订阅节点,或者将数据订阅任务和实时消息发送给数据共享节点;
[0010](4)数据接收模块:数据接收模块主要负责接收分布式节点发送过来的数据订阅任务、交换数据集和实时消息,然后通过数据校验后再发送给任务解析模块;数据接收模块具有多路传输的并发特性,以此保障数据传输的高效性。
[0011]本发明解决上述技术问题之二的技术方案是:
[0012]所述的方法按照以下流程步骤处理:
[0013]第一步,数据订阅节点的应用程序发送数据订阅请求到任务解析模块;
[0014]第二步,任务解析模块接收到数据订阅请求后,将请求合成为数据订阅任务数据包,包体结构包含任务类型信息、任务激活条件信息、交换数据信息及任务内存结构信息,然后将数据订阅任务发送到任务管理模块;
[0015]第三步,任务管理模块接收到数据订阅任务数据包后,结合任务类型和任务到达时间等条件,计算出任务优先级,并根据任务数据包的激活条件,将满足条件的任务发送到线程池处理;
[0016]第四步,线程池接收到激活的数据订阅任务后,线程调度器根据负载平衡的原则,选择空闲的线程,并将任务挂载到该线程上,然后将数据订阅任务发送到数据共享节点;
[0017]第五步,数据共享节点的数据接收模块接收到数据订阅任务后,首先对任务进行校验,校验通过后,将数据订阅任务发送到任务解析模块;
[0018]第六步,数据共享节点的任务解析模块接收到数据订阅任务后,根据数据订阅任务包体结构信息,将数据订阅任务合成为数据发布任务,并将数据发布任务发送到任务管理模块;
[0019]第七步,数据共享节点的任务管理模块接收到数据发布任务后,结合任务类型和任务到达时间等条件,计算出任务优先级,并根据任务数据包的激活条件,将满足条件的任务发送到线程池处理;
[0020]第八步,数据共享节点的线程池接收到激活的数据发布任务后,线程调度器根据负载平衡的原则,选择空闲的线程,并将任务挂载到该线程上,线程根据数据发布任务包体结构的数据交换信息,生成对应的SQL,并进行对应的数据库操作,然后将生成的数据集发送到数据订阅节点;
[0021]第九步,数据订阅节点的数据接收模块接收到数据集后,首先对数据集进行校验,校验通过后,将数据集发送到任务解析模块;
[0022]第十步,数据订阅节点的任务解析模块接收到数据集后,将数据集整编后保存到数据库,并返回成功的消息,完成数据交换流程。
[0023]数据发布可以为订阅后发布和主动发布,主动发布的处理流程和订阅后发布的处理流程一致,其中,主动发布由应用程序根据预置的配置发起。
[0024]交换任务数据包的包体结构组成:
[0025]包含任务类型信息、任务激活条件信息、交换数据信息及任务内存结构信息。
[0026]本发明采用模块化的思想,分成不同的功能模块实现,可以根据节点的配置信息选择不同的模块组合实现对应的功能,既可以作为数据订阅节点,也可以作为数据发布节点,甚至可以同时作为数据订阅和数据发布节点。采用本发明的方法,具有以下有益效果:
(I)适用于数据发布、数据订阅、实时消息及复杂的数据交换应用系统;(2)适用于大规模数据交换平台;(3)架构简单,经济实用高效;(4)采用优先级任务管理和线程池处理,整体交换性能高;(5)可以作为中间件集成到大数据交换平台;(6)模块化的思想,可以灵活组合功能(7)节约系统开发周期和成本。
【附图说明】
[0027]下面结合附图对本发明进一步说明:
[0028]图1是本发明的架构示意图。
【具体实施方式】
[0029]如图1所示,本发明采用模块化的思想,分成不同的功能模块实现,可以根据节点的配置信息选择不同的模块组合实现对应的功能,既可以作为数据订阅节点,也可以作为数据发布节点,甚至可以同时作为数据订阅和数据发布节点。本发明的系统主要由任务解析模块、任务管理模块、线程池及数据接收模块组成:
[0030]1、任务解析模块:任务解析模块负责解析应用程序和数据接收模块发送过来的数据包,然后根据数据包的类型,确定进行对应的操作,如任务合成或数据存储等;
[0031]2、任务管理模块:任务管理模块负责将任务进行分类,同时计算任务优先级,然后将满足条件的任务提交给线程池处理;任务主要有三种:数据订阅任务、数据发布任务和实时消息;任务优先级由高到低为:实时消息、数据订阅任务、数据发布任务;
[0032]3、线程池:线程池主要负责根据任务结构体中的交换数据描述信息,生成对应的SQL语句,并进行对应的数据库操作,然后生成对应的交换数据集,最后将交换数据集和实时消息发送给数据订阅节点,或者将数据订阅任务和实时消息发送给数据共享节点;
[0033]4、数据接收模块:数据接收模块主要负责接收分布式节点发送过来的数据订阅任务、交换数据集和实时消息,然后通过数据校验后再发送给任务解析模块;数据接收模块具有多路传输的并发特性,以此保障数据传输的高效性。
[0034]任务解析模块实现交换任务的操作解析和任务合成;任务管理模块实现任务优先级和任务激活;线程池实现任务调度和任务处理;数据接收模块实现数据订阅任务、数据集和消息接收。当应用程序发起数据订阅请求时,由任务解析模块合成数据订阅任务发送到任务管理模块,任务管理模块确定任
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1