CN112540985B - 基于分布式计算框架的全局排序输出***及其方法 - Google Patents
基于分布式计算框架的全局排序输出***及其方法 Download PDFInfo
- Publication number
- CN112540985B CN112540985B CN202011413983.3A CN202011413983A CN112540985B CN 112540985 B CN112540985 B CN 112540985B CN 202011413983 A CN202011413983 A CN 202011413983A CN 112540985 B CN112540985 B CN 112540985B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- ordering
- distributed computing
- output
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于分布式计算框架的全局排序输出***及其方法,采用分布式计算框架,其内设置有节点排序暂存模块、共识数据排序模块、数据同步输出模块。通过节点排序暂存模块用于数据排序,通过共识数据排序模块,将排序后的数据传递到下一个步骤,通过数据同步输出模块,将数据输出至目标库表。由此,各个节点通过共识轮询全局数据排序,不需要依赖分布式文件***进行全局排序,简化了***的复杂度。不需要将数据集中起来处理,降低了内存、CPU等资源消耗。整个排序过程耗时少,处理效率高,能更快的写入目标库表,提高用户体验。减少网络消耗,降低分布式计算框架资源消耗。
Description
技术领域
本发明涉及一种排序输出***及其方法,尤其涉及一种基于分布式计算框架的全局排序输出***及其方法。
背景技术
在现有分布式计算框架中,默认结果输出到目标库表是无序的,如果用户设定了排序规则也只是在各个节点内进行数据结果排序,最后输出也是各个节点的无序输出到目标库表。
同时,在数据处理过程中需要依赖分布式文件***进行数据汇聚排序,不仅增加组件而且汇聚及输出效率比较低。
具体来说,主要体现在以下几个方面的缺点:
1、各个节点首先需要将计算完成的数据,通过分布式文件***将各个节点数据汇集成一个临时文件。此方法对数据量,网络,分布式文件***性能异常敏感,某一点有问题就会造成性能极度下降。
2、文件汇集完成后需要读取文件内容进行排序,导致分布式文件***压力巨大,资源消耗多,时间长。
3、排序完成后,分布式计算节点中某个节点需要重新通过分布式文件***读取排序后的汇聚文件。这样会导致网络及分布式计算节点资源消耗大,性能低下,耗时长。
有鉴于上述的缺陷,本设计人,积极加以研究创新,以期创设一种基于分布式计算框架的全局排序输出***及其方法,使其更具有产业上的利用价值。
发明内容
为解决上述技术问题,本发明的目的是提供一种基于分布式计算框架的全局排序输出***及其方法。
本发明的基于分布式计算框架的全局排序输出***,其中:采用分布式计算框架,其内设置有节点排序暂存模块,用于与本地文件***通讯;还包括有共识数据排序模块;用于在排序完成后批量输出数据量的数据交给下个节点,还包括有数据同步输出模块,用于将输出节点输出至目标库表。
基于分布式计算框架的全局排序输出方法,其中:
步骤一,通过节点排序暂存模块用于数据排序;
步骤二,通过共识数据排序模块,将排序后的数据传递到下一个步骤;
步骤三,通过数据同步输出模块,将数据输出至目标库表。
进一步地,上述的基于分布式计算框架的全局排序输出方法,其中,所述步骤一中,通过节点排序暂存模块,将各个节点内的数据排序并保存到节点所在本地文件***。
更进一步地,上述的基于分布式计算框架的全局排序输出方法,其中,所述步骤一中,各个节点依赖分布式计算框架数据读取机制,读取属于自己的数据块,采用边读取边存储的方式,通过临时文件暂存于各个节点本地文件***,然后加载暂存的临时文件至节点内存,根据用户设定的排序字段进行增序或降序排序,将排序完的数据保存为另一份临时文件,保存至节点本地文件***。
更进一步地,上述的基于分布式计算框架的全局排序输出方法,其中,所述步骤二中,将分布式计算框架中参与计算的各个节点,通过节点共识的方法,轮番取出批量输出数据量的数据,交给下个节点;
同时,本节点也取出相同量数据进行排序,排序完成后取出批量输出数据量的数据交给下个节点;
循环直至最后一个节点完成后,将最终结果广播至每个节点;
由各个节点最终确认排序无误后,由发起确认的节点将结果传递至数据同步输出模块。
更进一步地,上述的基于分布式计算框架的全局排序输出方法,其中,所述确认排序无误的实现方式为,各个节点事先将本节点数据,根据用户设定的排序规则进行排序,各个节点轮番参与排序时,根据排序顺序取前N条数据进行排序。
最终排序由最后一个节点采用消息通知的方式,将排序结果广播至各个节点,各个节点收到本轮排序结果后进行排序结果校验,对排在本节点之前的数据根据用户设定的排序规则进行校验。
更进一步地,上述的基于分布式计算框架的全局排序输出方法,其中,所述步骤三中,通过共识数据排序结果,将需要输出的完整数据从各个节点同步至输出节点,由输出节点输出至目标库表;
所述共识数据排序为,数据同步输出模块,通过内存获取共识排序模块输出的最终共识数据排序结果,根据该排序结果,采用消息通知方式,通知各个节点,将排序结果中的完整数据通过消息传递的方式发送至本节点,
数据同步模块收到各个节点传递过来的完整数据,将完整数据整理完毕后输出至目标表。
再进一步地,上述的基于分布式计算框架的全局排序输出方法,其中,所述目标库表是由用户建立分布式计算任务时设定,目标库表包含关系型数据库(MySQL,Oracle等)、分布式文件***(hdfs等)。
借由上述方案,本发明至少具有以下优点:
1、各个节点通过共识轮询全局数据排序,不需要依赖分布式文件***进行全局排序,简化了***的复杂度。
2、不需要将数据集中起来处理,降低了内存、CPU等资源消耗。
3、整个排序过程耗时少,处理效率高,能更快的写入目标库表,提高用户体验。
4、减少网络消耗,降低分布式计算框架资源消耗。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
图1是基于分布式计算框架的全局排序输出方法的示意图。
图2是内存传递的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1至2的基于分布式计算框架的全局排序输出***,其与众不同之处在于:采用分布式计算框架,其内设置有节点排序暂存模块,用于与本地文件***通讯。同时,还包括有共识数据排序模块,用于在排序完成后批量输出数据量的数据交给下个节点。并且,还包括有数据同步输出模块,用于将输出节点输出至目标库表。
为了更好的实现本发明的方法,基于分布式计算框架的全局排序输出方法,其采用以下步骤:
步骤一,通过节点排序暂存模块用于数据排序。通过节点排序暂存模块,将各个节点内的数据排序并保存到节点所在本地文件***。同时,各个节点依赖分布式计算框架数据读取机制,读取属于自己的数据块,采用边读取边存储的方式。实施期间,通过临时文件暂存于各个节点本地文件***,然后加载暂存的临时文件至节点内存,只加载用户指定的排序字段和主键两个字段。最后,根据用户设定的排序字段进行增序或降序排序,将排序完的数据保存为另一份临时文件,保存至节点本地文件***。
步骤二,通过共识数据排序模块,将排序后的数据传递到下一个步骤。具体来说,将分布式计算框架中参与计算的各个节点,通过节点共识的方法,轮番取出批量输出数据量的数据,交给下个节点。同时,本节点也取出相同量数据进行排序,排序完成后取出批量输出数据量的数据交给下个节点。之后,循环直至最后一个节点完成后,将最终结果广播至每个节点。实施期间,由各个节点最终确认排序无误后,由发起确认的节点将结果传递至数据同步输出模块。
结合本发明一较佳的实施方式来看,确认排序无误的实现方式如下:各个节点事先将本节点数据,根据用户设定的排序规则进行排序。同时,在各个节点轮番参与排序时,根据排序顺序取前N条数据进行排序,所以可以确保最终输出的结果排序无误。
最终排序由最后一个节点采用消息通知的方式,将排序结果广播至各个节点。各个节点收到本轮排序结果后进行排序结果校验,对排在本节点之前的数据根据用户设定的排序规则进行校验。
结合实际实施来看,如图2所示:key为8的数据,排在了key为9的数据前面,work-1对这俩条数据进行排序规则比对,能可确保排序的准确性。各个节点验证完毕后,通过消息通知的方式通知work-n排序结果无误,则work-n节点收到各个节点的确认消息后,通过内存传递的方式将排序结果传递至数据同步输出模块。
步骤三,通过数据同步输出模块,将数据输出至目标库表,通过共识数据排序结果,将需要输出的完整数据从各个节点同步至输出节点,由输出节点输出至目标库表。具体来说,共识数据排序过程为,数据同步输出模块。之后,通过内存获取共识排序模块输出的最终共识数据排序结果。接着,根据该排序结果。在此期间,采用消息通知方式,通知各个节点,将排序结果中的完整数据通过消息传递的方式发送至本节点。数据同步模块收到各个节点传递过来的完整数据,将完整数据整理完毕后输出至目标表。
同时,实施期间涉及的目标库表是由用户建立分布式计算任务时设定。目标库表包含关系型数据库(MySQL,Oracle等)、分布式文件***(hdfs等)。并且,目标库表在用户建立分布式计算任务时已经存在,如果在数据输出时不存在,则数据无法输出。
通过上述的文字表述并结合附图可以看出,采用本发明后,拥有如下优点:
1、各个节点通过共识轮询全局数据排序,不需要依赖分布式文件***进行全局排序,简化了***的复杂度。
2、不需要将数据集中起来处理,降低了内存、CPU等资源消耗。
3、整个排序过程耗时少,处理效率高,能更快的写入目标库表,提高用户体验。
4、减少网络消耗,降低分布式计算框架资源消耗。
此外,本发明所描述的指示方位或位置关系,均为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或构造必须具有特定的方位,或是以特定的方位构造来进行操作,因此不能理解为对本发明的限制。
以上所述仅是本发明的优选实施方式,并不用于限制本发明,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (6)
1.基于分布式计算框架的全局排序输出***,其特征在于:采用分布式计算框架,其内设置有节点排序暂存模块,用于与本地文件***通讯,还包括有共识数据排序模块,用于在排序完成后批量输出数据量的数据交给下个节点,还包括有数据同步输出模块,用于将输出节点输出至目标库表;
所述节点排序暂存模块用于数据排序;
所述共识数据排序模块,将排序后的数据传递到下一个步骤,将分布式计算框架中参与计算的各个节点,通过节点共识的方法,轮番取出批量输出数据量的数据,交给下个节点;本节点也取出相同量数据进行排序,排序完成后取出批量输出数据量的数据交给下个节点;循环直至最后一个节点完成后,将最终结果广播至每个节点;由各个节点最终确认排序无误后,由发起确认的节点将结果传递至数据同步输出模块;
所述数据同步输出模块,将数据输出至目标库表。
2.根据权利要求1所述的基于分布式计算框架的全局排序输出***,其特征在于:通过节点排序暂存模块,将各个节点内的数据排序并保存到节点所在本地文件***。
3.根据权利要求1所述的基于分布式计算框架的全局排序输出***,其特征在于:各个节点依赖分布式计算框架数据读取机制,读取属于自己的数据块,采用边读取边存储的方式,通过临时文件暂存于各个节点本地文件***,然后加载暂存的临时文件至节点内存,根据用户设定的排序字段进行增序或降序排序,将排序完的数据保存为另一份临时文件,保存至节点本地文件***。
4.根据权利要求1所述的基于分布式计算框架的全局排序输出***,其特征在于:所述确认排序无误的实现方式为,各个节点事先将本节点数据,根据用户设定的排序规则进行排序,各个节点轮番参与排序时,根据排序顺序取前N条数据进行排序,最终排序由最后一个节点采用消息通知的方式,将排序结果广播至各个节点,各个节点收到本轮排序结果后进行排序结果校验,对排在本节点之前的数据根据用户设定的排序规则进行校验。
5.根据权利要求1所述的基于分布式计算框架的全局排序输出***,其特征在于:通过共识数据排序结果,将需要输出的完整数据从各个节点同步至输出节点,由输出节点输出至目标库表;
所述共识数据排序为,数据同步输出模块,通过内存获取共识排序模块输出的最终共识数据排序结果,根据该排序结果,采用消息通知方式,通知各个节点,将排序结果中的完整数据通过消息传递的方式发送至本节点,
数据同步模块收到各个节点传递过来的完整数据,将完整数据整理完毕后输出至目标表。
6.根据权利要求5所述的基于分布式计算框架的全局排序输出***,其特征在于:所述目标库表是由用户建立分布式计算任务时设定,目标库表包含关系型数据库、分布式文件***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011413983.3A CN112540985B (zh) | 2020-12-07 | 2020-12-07 | 基于分布式计算框架的全局排序输出***及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011413983.3A CN112540985B (zh) | 2020-12-07 | 2020-12-07 | 基于分布式计算框架的全局排序输出***及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112540985A CN112540985A (zh) | 2021-03-23 |
CN112540985B true CN112540985B (zh) | 2023-09-26 |
Family
ID=75016175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011413983.3A Active CN112540985B (zh) | 2020-12-07 | 2020-12-07 | 基于分布式计算框架的全局排序输出***及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540985B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077183A (zh) * | 2012-12-14 | 2013-05-01 | 北京普泽天玑数据技术有限公司 | 一种分布式顺序表的数据导入方法及其*** |
CN103530084A (zh) * | 2013-09-26 | 2014-01-22 | 北京奇虎科技有限公司 | 一种数据并行排序方法和*** |
CN105740332A (zh) * | 2016-01-22 | 2016-07-06 | 北京京东尚科信息技术有限公司 | 数据排序方法和装置 |
CN107103032A (zh) * | 2017-03-21 | 2017-08-29 | 中国科学院计算机网络信息中心 | 一种分布式环境下避免全局排序的海量数据分页查询方法 |
CN107181805A (zh) * | 2017-05-26 | 2017-09-19 | 上交所技术有限责任公司 | 一种在微服务架构下实现全局有序重演的方法 |
CN107992356A (zh) * | 2017-12-13 | 2018-05-04 | 上海壹账通金融科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
CN108427680A (zh) * | 2017-02-14 | 2018-08-21 | 张向利 | 一种基于大数据快速排序算法和分布式排序处理*** |
CN109408521A (zh) * | 2018-09-28 | 2019-03-01 | 上海擎沣投资控股有限公司 | 一种用于更新区块链全局数据状态的方法及其装置 |
CN110033238A (zh) * | 2019-04-15 | 2019-07-19 | 山东公链信息科技有限公司 | 基于异步排序技术的区块链共识*** |
WO2020233054A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 基于区块链的区块生成方法、装置、设备及存储介质 |
-
2020
- 2020-12-07 CN CN202011413983.3A patent/CN112540985B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077183A (zh) * | 2012-12-14 | 2013-05-01 | 北京普泽天玑数据技术有限公司 | 一种分布式顺序表的数据导入方法及其*** |
CN103530084A (zh) * | 2013-09-26 | 2014-01-22 | 北京奇虎科技有限公司 | 一种数据并行排序方法和*** |
CN105740332A (zh) * | 2016-01-22 | 2016-07-06 | 北京京东尚科信息技术有限公司 | 数据排序方法和装置 |
CN108427680A (zh) * | 2017-02-14 | 2018-08-21 | 张向利 | 一种基于大数据快速排序算法和分布式排序处理*** |
CN107103032A (zh) * | 2017-03-21 | 2017-08-29 | 中国科学院计算机网络信息中心 | 一种分布式环境下避免全局排序的海量数据分页查询方法 |
CN107181805A (zh) * | 2017-05-26 | 2017-09-19 | 上交所技术有限责任公司 | 一种在微服务架构下实现全局有序重演的方法 |
CN107992356A (zh) * | 2017-12-13 | 2018-05-04 | 上海壹账通金融科技有限公司 | 区块链事务区块处理方法、电子装置及可读存储介质 |
CN109408521A (zh) * | 2018-09-28 | 2019-03-01 | 上海擎沣投资控股有限公司 | 一种用于更新区块链全局数据状态的方法及其装置 |
CN110033238A (zh) * | 2019-04-15 | 2019-07-19 | 山东公链信息科技有限公司 | 基于异步排序技术的区块链共识*** |
WO2020233054A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 基于区块链的区块生成方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
异构分布式***中面向能量管理的并行应用调度算法研究;肖雄仁;《中国优秀博士论文期刊全文数据库》(第201901期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112540985A (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218348B (zh) | 一种区块链中区块的确定方法及节点设备 | |
CN106657170B (zh) | 一种数据同步方法及装置 | |
CN107037978A (zh) | 数据迁移校正方法及*** | |
EP4198861A1 (en) | Information processing method and apparatus for blockchain network, and device and storage medium | |
EP3486780B1 (en) | Instruction processing alignment system | |
CN103699442A (zh) | MapReduce计算框架下的可迭代式数据处理方法 | |
CN110543472B (zh) | 数据对账方法及相关装置 | |
CN112540985B (zh) | 基于分布式计算框架的全局排序输出***及其方法 | |
CN107992358A (zh) | 一种适用于核外图处理***的异步io执行方法及*** | |
CN114691356A (zh) | 数据并行处理方法、装置、计算机设备及可读存储介质 | |
US10862908B2 (en) | System and method for consensus ordering of broadcast messages | |
CN107229635B (zh) | 一种数据处理的方法、存储节点及协调节点 | |
CN105141687B (zh) | 一种生产消息的方法 | |
CN103778005A (zh) | 自动化任务分配方法和装置 | |
CN101980166A (zh) | 一种用于机群***并行模拟的时间序列控制方法 | |
CN109408035B (zh) | 一种业务***的流程配置方法、存储介质和服务器 | |
CN110245025B (zh) | 一种基于Actor模型的数据采集方法、装置及存储介质 | |
CN112131602B (zh) | 基于可信计算进行节点间信任关系快速扩展的方法、装置及相关产品 | |
CN115658750A (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN113377777B (zh) | 数据加载方法、设备、计算机程序产品及存储介质 | |
CN112530522B (zh) | 序列纠错方法、装置、设备和存储介质 | |
CN113392085A (zh) | 一种分布式文件批量处理方法及平台 | |
CN109241362B (zh) | 区块生成方法、装置、设备及存储介质 | |
CN113079179B (zh) | 一种区块链高效共识方法、***、计算机设备及存储介质 | |
CN111212124A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |