CN106339435B - 一种数据分发方法、装置及系统 - Google Patents

一种数据分发方法、装置及系统 Download PDF

Info

Publication number
CN106339435B
CN106339435B CN201610695053.9A CN201610695053A CN106339435B CN 106339435 B CN106339435 B CN 106339435B CN 201610695053 A CN201610695053 A CN 201610695053A CN 106339435 B CN106339435 B CN 106339435B
Authority
CN
China
Prior art keywords
data
distribution
distributed
rule
queue
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
Application number
CN201610695053.9A
Other languages
English (en)
Other versions
CN106339435A (zh
Inventor
何行强
范开乾
张宁宁
曹静
王兆宇
郭洪雨
陈超
顾颖颖
范怡
彭轶
高迪
蒋先虎
王安定
杨晓辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201610695053.9A priority Critical patent/CN106339435B/zh
Publication of CN106339435A publication Critical patent/CN106339435A/zh
Application granted granted Critical
Publication of CN106339435B publication Critical patent/CN106339435B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种数据分发方法,包括:创建至少一个分发进程;获取待分发数据,所述待分发数据携带有数据标识;根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。本发明实施例提供的数据分发方法,将数据调度过程与数据分发过程分开,通过数据调度过程来实现对整个数据分发过程的管理以及每个分发进程间的协调,提高了数据分发的效率,有效的控制了数据分发的并行度,实现了数据分发过程的可控。

Description

一种数据分发方法、装置及系统
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据分发方法、装置及系统。
背景技术
后线系统在采集数据文件时,其日处理文件数庞大,每日需处理成千上万的数据文件,且需处理的数据文件大小参差不齐、处理要求各不相同。后线系统中的多个模块多批量并行处理各个数据文件,数据文件数量繁多且各个数据文件间的关系复杂。因此,如何高效有序地将数据文件进行分类组织,分发到后线系统中指定处理模块进行处理,是实现并管理后线系统中多模块文件处理过程的一个重要环节。
当采用串行的方式逐个分发数据文件时,分发效率低,无法满足对大量数据的分发需求。因此,需采用并行分发的方式来实现对大量数据的分发。现有的并行数据分发方法一般是采用多进程方式来实现的,在接收到上游系统的数据处理请求时,通过复制分发进程的方式(可通过调用fork函数来实现),同时进行多个数据文件的分发。然而,进程复制的方式会导致无法分发过程管理复杂,并且各分发进程间协调困难,分发效率不高。
发明内容
有鉴于此,本发明提供了一种数据分发方法、装置及系统,以解决现有的并行数据分发方法,在分发过程中管理复杂、各分发进程间协调困难、分发效率低的问题。
本发明实施例提供了一种数据分发方法,包括:
创建至少一个分发进程;
获取待分发数据,所述待分发数据携带有数据标识;
根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
优选地,还包括:
创建至少一个优先分发进程;
当所述待分发数据还携带有紧急标识时,将所述待分发数据和所述待分发数据的分发规则发送至所述优先分发进程,以便所述优先分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
优选地,所述将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,具体包括:
当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
优选地,还包括:
将所述待分发数据保存至预设备份区域;
记录所述待分发数据的调度信息,所述调度信息包括第一时间和第一位置,所述第一时间为将所述待分发数据发送至所述分发进程的时间,所述第一位置为所述分发进程的进程标识。
本发明实施例还提供了一种数据分发装置,包括:进程创建单元、数据获取单元、规则确定单元和数据发送单元;
所述进程创建单元,用于创建至少一个分发进程;
所述数据获取单元,用于获取待分发数据,所述待分发数据携带有数据标识;
所述规则确定单元,用于根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
所述数据发送单元,用于将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
优选地,还包括:判断单元;
所述进程创建单元,还用于创建至少一个优先分发进程;
所述判断单元,用于判断所述待分发数据是否还携带有紧急标识;
所述数据发送单元,还用于当所述判断单元判断所述待分发数据还携带有紧急标识时,将所述待分发数据和所述待分发数据的分发规则发送至所述优先分发进程,以便所述优先分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
优选地,所述数据发送单元,包括:获取子单元、比较子单元和发送子单元;
所述获取子单元,用于当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
所述比较子单元,用于比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
所述发送子单元,用于将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
优选地,还包括:数据备份单元和分发记录单元;
所述数据备份单元,用于将所述待分发数据保存至预设备份区域;
所述分发记录单元,用于记录所述待分发数据的调度信息,所述调度信息包括第一时间和第一位置,所述第一时间为将所述待分发数据发送至所述分发进程的时间,所述第一位置为所述分发进程的进程标识。
本发明实施例还提供了一种数据分发系统,包括:调度模块;还包括至少一个分发模块;
所述调度模块,用于创建所述分发模块;
所述调度模块,还用于获取待分发数据,所述待分发数据携带有数据标识;
所述调度模块,还用于根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
所述调度模块,还用于将所述待分发数据和所述待分发数据的分发规则发送至所述分发模块;
所述分发模块,用于根据所述待分发数据的分发规则,对所述待分发数据进行分发处理。
优选地,所述分发模块,包括:解压子模块、复制子模块、传输子模块和记录子模块;
所述解压子模块,用于对所述待分发数据进行解压处理;
所述复制子模块,用于复制所述待分发数据,得到数据副本;
所述传输子模块,用于将所述待分发数据发送至第一存储区域,所述第一存储区域为所述待分发数据的分发规则所指示的第一目的区域;
所述传输子模块,还用于将所述数据副本发送至第二存储区域,所述第二存储区域为所述待分发数据的分发规则所指示的第二目的区域;
所述记录子模块,用于记录所述待分发数据的分发信息,所述分发信息包括第二时间和第二位置,所述第二时间为所述传输子模块将所述待分发数据发送至所述待分发数据的分发规则所指示的存储区域的时间,所述第二位置为所述待分发数据的分发规则所指示的存储区域的位置标识。
与现有技术相比,本发明至少具有以下优点:
本发明实施例提供的数据分发方法,先根据具体需要创建至少一个分发进程并等待上游系统的数据流下传。在获取到待分发数据后,根据待分发数据的数据标识查询配置表,以确定其分发规则。配置表中的分发规则可根据实际情况具体设定。之后,将待分发数据与其分发规则发送至分发进程。由分发进程根据接收到的分发规则,对该待分发数据进行相应的分发处理。本发明实施例提供的数据分发方法,将数据调度过程与数据分发过程分开,通过数据调度过程来实现对整个数据分发过程的管理以及每个分发进程间的协调,提高了数据分发的效率,有效的控制了数据分发的并行度,实现了数据分发过程的可控。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的数据分发方法实施例一的流程示意图;
图2为本发明提供的数据分发方法实施例二的流程示意图;
图3为本发明提供的数据分发装置实施例一的结构示意图;
图4为本发明提供的数据分发装置实施例二的结构示意图;
图5为本发明提供的数据分发系统实施例一的结构示意图;
图6为本发明提供的数据分发系统实施例二的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据分发方法及装置,将数据的分发过程分为两个部分:分发调度部分和数据处理部分,分别由不同的处理模块负责处理。分发调度阶段由调度模块专门负责建立和管理分发进程,根据预设规则将数据发送至指定的分发模块,并安排分发模块的分发策略。分发模块只负责对应通道内数据的分发处理工作。调度模块的调度规则可根据具体需求配置,并可以根据每个分发模块的当前任务负荷分配分发任务,提高了数据分发的效率,有效的控制了数据分发的并行度,实现了数据分发过程的可控。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
方法实施例一:
参见图1,该图为本发明提供的数据分发方法实施例一的流程示意图。
本实施例提供的数据分发方法,包括:
S101:创建至少一个分发进程;
需要说明的是,在实际分发过程中,首先需开启至少一条分发进程,并为每个分发进程分配专属分发队列后,等待上游系统数据流下传。每个分发进程只负责发送至该分发进程的分发队列中数据的分发处理工作。获取到上游系统发送的待分发数据后,可根据实际情况,来完成对不同类型数据的分发。当创建N个分发进程时,可同时处理N个数据分发过程,N为正整数。此时,分发的并行度等于N。如需提高分发的并行度,只需创建多个分发进程。
S102:获取待分发数据,所述待分发数据携带有数据标识;
S103:根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
在获取到上游系统的待分发数据后,由于数据处理需要一定的时间,为保证待分发数据不丢失,可先将待分发数据发送至数据分发系统的本地缓存区进行暂存。之后,再根据数据标识对待分发数据进行分类,确定该待分发数据的分发规则。数据标识可以为待分发数据所属文件的扩展名或文件名中的其他特征等。待分发数据的分类包括但不限于压缩文件、特定格式文件、需重命名文件等等。
这里需要说明的是,待分发数据所属文件的扩展名可为.rar、.doc、.txt等,还可根据实际情况设置为其他自定义扩展名。另外,本领域技术人员还可以其他数据特征或另设的标识为依据来确定待分发数据的分发规则。
此时,从预先设置的配置表中,获取与待分发数据的类型相对应的分发规则。可以理解的是,配置表中的分发规则可根据实际情况配置。分发规则包括但不限于对待分发数据进行解压缩处理、复制待分发数据、重命名待分发数据和将待分发数据移动至指定区域等。
S104:将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
需要说明的是,上述步骤S101-S104为数据分发的调度过程,由分发进程负责具体的数据分发处理过程。本领域技术人员可通过对调度过程的管理来实现对整个数据分发过程的管理以及各分发进程间的协调。
数据分发处理过程包括:在分发进程根据接收到的指令来对待分发数据进行分发处理。该指令中携带有待分发数据和所述待分发数据的分发规则。例如,当待分发数据所属文件的扩展名为.rar时,根据该扩展名检索配置表后,确定该待分发数据的分发规则为解压缩并移动至第一缓冲区。此时,将待分发数据和所述待分发数据的分发规则发送至分发进程后,分发进程根据接收到的分发规则对待分发数据进行解压缩处理后发送至第一缓冲区。其中,第一缓冲区为数据分发的指定区域,后续数据处理模块从相应的缓冲区中获取分发给其的数据并对该数据进行处理。
还需要说明的是,一个待分发数据可发送至多个第一缓冲区。此时,分发进程还需对待分发数据进行复制处理。
本实施例提供的数据分发方法,先根据具体需要创建至少一个分发进程并等待上游系统的数据流下传。在获取到待分发数据后,根据待分发数据的数据标识查询配置表,以确定其分发规则。配置表中的分发规则可根据实际情况具体设定。之后,将待分发数据与其分发规则发送至分发进程。由分发进程根据接收到的分发规则,对该待分发数据进行相应的分发处理。本实施例提供的数据分发方法,将数据调度过程与数据分发过程分开,通过数据调度过程来实现对整个数据分发过程的管理以及每个分发进程间的协调,提高了数据分发的效率,有效的控制了数据分发的并行度,实现了数据分发过程的可控。
方法实施例二:
参见图2,该图为本发明提供的数据分发方法实施例二的流程示意图。相较于图1,本实施例提供了一种更加具体的数据分发方法。
本实施例中的步骤S201-S204分别与方法实施例一中的步骤S101-S104相同,在此不再赘述。
可以理解的是,为保证重要数据的及时分发,本实施例提供的数据分发方法,还包括:
S205:创建至少一个优先分发进程;
S206:当所述待分发数据还携带有紧急标识时,将所述待分发数据和所述待分发数据的分发规则发送至所述优先分发进程,以便所述优先分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
以银行系统中的数据分发为例,当遇上结息日时,系统中需分发数据量庞大,且文件大小也会较大。这时,即使在系统能力范围内,扩大分发的并行度也无法及时完成数据的分发,造成每个分发进程的分发队列的队列深度增加,队列中出现排队现象。这样,就会造成无法及时处理某些有时间性要求的数据的分发要求。因此,可再创建一特殊分发进程(即优先分发进程),专门负责有时间性要求的数据的分发工作。当获取到的待分发数据携带有紧急标识时,可将该待分发数据和其分发规则发送至优先分发进程,由该优先分发进程负责该待分发数据的分发工作。
可以理解的是,本领域技术人员可根据实际情况具体设定创建的优先分发进程的数量。优先分发进程只负责携带有紧急标识的待分发数据的分发工作。为保证及时对紧急数据进行分发处理,即使其他分发进程的分发队列的队列深度较大也不会将数据发送至优先分发进程。此外,优先分发进程的分发流程与其他分发进程的分发相同,但优先分发进程与其他分发进程所发送的目标地址不同。优先分发进程将待分发数据发送至一个或多个专属缓存区域(第二缓存区域),以此保证后续数据处理模块优先处理带有紧急标识的数据。第一缓存区域负责接收普通的待分发数据,第二缓存区域负责接收带有紧急标识的待分发数据。
需要说明的是,为保证数据分发的高效,实现每个分发进程的负载均衡,本实施提供的数据分发方法可通过以下步骤来确定将待分发数据及其分发规则发送至哪个分发进程:
S2041:当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
S2042:比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
S2043:将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
可以理解的是,分发进程按照先进先出的原则处理其分发队列中待分发数据的分发工作。这样,即可根据实时的分发状态,合理的将待分发数据平均分配到每个分发进程中,提高数据分发的效率。
还需要说明的是,当创建了至少两个优先分发进程时,也可通过上述步骤来确定将待分发数据及其分发规则发送至哪个优先分发进程,以保证数据分发的高效。
本实施提供的数据分发方法,还包括:
S207:将所述待分发数据保存至预设备份区域;
可以理解的是,将待分发数据进行压缩备份,可保证数据不丢失并减小备份所需预设备份区域所占用的空间。而在调度过程中将接收到的待分发数据备份,不用每个分发进程各自备份待分发数据,还可以节省备份时数据压缩所需的时间和空间。
S208:记录所述待分发数据的调度信息,所述调度信息包括第一时间和第一位置,所述第一时间为将所述待分发数据发送至所述分发进程的时间,所述第一位置为所述分发进程的进程标识。
需要说明的是,当在对待分发数据的分发处理过程中出现错误时,分发进程还可重新进行该待分发数据的分发处理,重做该分发过程。然而,为保证数据分发的效率,本领域技术人员需限定分发重做的次数。此时,即可通过记录待分发数据的调度信息,根据该调度信息对数据调度过程的进行管理,建立合适的分发重做机制,并监控待分发数据的分发结果以及分发所用时间,保证待分发数据的正确高效分发。
基于上述实施例提供的数据分发方法,本发明实施例还提供了一种数据分发装置。
装置实施例一:
参见图3,该图为本发明提供的数据分发装置实施例一的结构示意图。
本实施例提供的数据分发装置,包括:进程创建单元100、数据获取单元200、规则确定单元300和数据发送单元400;
所述进程创建单元100,用于创建至少一个分发进程;
所述数据获取单元200,用于获取待分发数据,所述待分发数据携带有数据标识;
所述规则确定单元300,用于根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
所述数据发送单元400,用于将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
本实施例提供的数据分发装置,先由进程创建单元根据具体需要创建至少一个分发进程并等待上游系统的数据流下传。在数据获取单元获取到待分发数据后,规则确定单元根据待分发数据的数据标识查询配置表,以确定其分发规则。配置表中的分发规则可根据实际情况具体设定。之后,数据发送单元将待分发数据与其分发规则发送至分发进程。由分发进程根据接收到的分发规则,对该待分发数据进行相应的分发处理。本实施例提供的数据分发装置,将数据调度过程与数据分发过程分开,通过数据调度过程来实现对整个数据分发过程的管理以及每个分发进程间的协调,提高了数据分发的效率,有效的控制了数据分发的并行度,实现了数据分发过程的可控。
装置实施例二:
参见图4,该图为本发明提供的数据分发装置实施例二的结构示意图。相较于图3,本实施例提供了一种更加具体的数据分发装置。
为保证重要数据的及时分发,本实施例提供的数据分发装置,还包括:判断单元500;
其中,所述进程创建单元100,还用于创建至少一个优先分发进程;
所述判断单元500,用于判断所述待分发数据是否还携带有紧急标识;
所述数据发送单元400,还用于当所述判断单元500判断所述待分发数据还携带有紧急标识时,将所述待分发数据和所述待分发数据的分发规则发送至所述优先分发进程,以便所述优先分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
为保证数据分发的高效,实现每个分发进程的负载均衡,本实施例提供的数据分发装置中,所述数据发送单元400,包括:获取子单元401、比较子单元402和发送子单元403;
所述获取子单元401,用于当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
所述比较子单元402,用于比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
所述发送子单元403,用于将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
本实施例提供的数据分发装置,还包括:数据备份单元600和分发记录单元700;
所述数据备份单元600,用于将所述待分发数据保存至预设备份区域;
所述分发记录单元700,用于记录所述待分发数据的调度信息,所述调度信息包括第一时间和第一位置,所述第一时间为将所述待分发数据发送至所述分发进程的时间,所述第一位置为所述分发进程的进程标识。
基于上述实施例提供的数据分发方法及装置,本发明实施例还提供了一种数据分发系统。
系统实施例一:
参见图5,该图为本发明提供的数据分发系统实施例一的结构示意图。
本实施例提供的数据分发系统,包括:调度模块10;还包括至少一个分发模块20;
所述调度模块10,用于创建所述分发模块20;
所述调度模块10,还用于获取待分发数据,所述待分发数据携带有数据标识;
所述调度模块10,还用于根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
所述调度模块10,还用于将所述待分发数据和所述待分发数据的分发规则发送至所述分发模块;
所述分发模块20,用于根据所述待分发数据的分发规则,对所述待分发数据进行分发处理。
此外,调度模块10还可备份待分发数据并记录待分发数据的调度信息。
本实施例提供的数据分发系统,调度模块先根据具体需要创建至少一个分发进程并等待上游系统的数据流下传。在获取到待分发数据后,调度模块根据待分发数据的数据标识查询配置表,以确定其分发规则。配置表中的分发规则可根据实际情况具体设定。之后,调度模块将待分发数据与其分发规则发送至分发模块。由分发模块根据接收到的分发规则,对该待分发数据进行相应的分发处理。本实施例提供的数据分发状态,将数据调度过程与数据分发过程分开,通过调度模块来实现对整个数据分发过程的管理以及每个分发进程间的协调,分发模块只负责接受到的待分发数据的分发工作,提高了数据分发的效率,有效的控制了数据分发的并行度,实现了数据分发过程的可控。
系统实施例二:
参见图6,该图为本发明提供的数据分发系统实施例二的结构示意图。相较于图5,本实施例提供了一种更加具体的数据分发系统。
本实施例提供的数据分发系统,所述分发模块,包括:解压子模块21、复制子模块22、传输子模块23和记录子模块24;
所述解压子模块21,用于对所述待分发数据进行解压处理;
所述复制子模块22,用于复制所述待分发数据,得到数据副本;
所述传输子模块23,用于将所述待分发数据发送至第一存储区域,所述第一存储区域为所述待分发数据的分发规则所指示的第一目的区域;
所述传输子模块23,还用于将所述数据副本发送至第二存储区域,所述第二存储区域为所述待分发数据的分发规则所指示的第二目的区域;
需要说明的是,第一目的区域和第二目的区域为该待分发数据的分发目的区域。本领域技术人员可根据实际情况具体设定数据分发的目的区域后,将其保存至相应的分发规则中。之后,在分发过程中,按照预设的分发规则将待分发数据发送至相应的第一目的区域和/或第二目的区域(即上述实施例中所述的第一缓冲区和/或第二缓冲区)。
所述记录子模块24,用于记录所述待分发数据的分发信息,所述分发信息包括第二时间和第二位置,所述第二时间为所述传输子模块将所述待分发数据发送至所述待分发数据的分发规则所指示的存储区域的时间,所述第二位置为所述待分发数据的分发规则所指示的存储区域的位置标识。
当在对待分发数据的分发处理过程中出现错误时,分发模块20还可重新进行该待分发数据的分发处理,重做该分发过程。然而,为保证数据分发的效率,本领域技术人员需限定分发重做的次数。此时,调度模块10即可通过待分发数据的调度信息以及分发信息,根据该调度信息以及分发信息对数据调度过程的进行管理,建立合适的分发重做机制,并监控待分发数据的分发结果以及分发所用时间,保证待分发数据的正确高效分发。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (8)

1.一种数据分发方法,其特征在于,包括:
创建多个分发进程;
获取待分发数据,所述待分发数据携带有数据标识;
根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
根据每个分发进程的当前任务负荷,将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理;
其中,所述根据每个分发进程的当前任务负荷,将所述待分发数据和所述分发数据的分发规则发送至所述分发进程包括:
当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
2.根据权利要求1所述的数据分发方法,其特征在于,还包括:
创建至少一个优先分发进程;
当所述待分发数据还携带有紧急标识时,将所述待分发数据和所述待分发数据的分发规则发送至所述优先分发进程,以便所述优先分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
3.根据权利要求1所述的数据分发方法,其特征在于,还包括:
将所述待分发数据保存至预设备份区域;
记录所述待分发数据的调度信息,所述调度信息包括第一时间和第一位置,所述第一时间为将所述待分发数据发送至所述分发进程的时间,所述第一位置为所述分发进程的进程标识。
4.一种数据分发装置,其特征在于,包括:进程创建单元、数据获取单元、规则确定单元和数据发送单元;
所述进程创建单元,用于创建多个分发进程;
所述数据获取单元,用于获取待分发数据,所述待分发数据携带有数据标识;
所述规则确定单元,用于根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
所述数据发送单元,用于根据每个分发进程的当前任务负荷,将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理;
其中,所述数据发送单元,包括:获取子单元、比较子单元和发送子单元;
所述获取子单元,用于当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
所述比较子单元,用于比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
所述发送子单元,用于将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
5.根据权利要求4所述的数据分发装置,其特征在于,还包括:判断单元;
所述进程创建单元,还用于创建至少一个优先分发进程;
所述判断单元,用于判断所述待分发数据是否还携带有紧急标识;
所述数据发送单元,还用于当所述判断单元判断所述待分发数据还携带有紧急标识时,将所述待分发数据和所述待分发数据的分发规则发送至所述优先分发进程,以便所述优先分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
6.根据权利要求4所述的数据分发装置,其特征在于,还包括:数据备份单元和分发记录单元;
所述数据备份单元,用于将所述待分发数据保存至预设备份区域;
所述分发记录单元,用于记录所述待分发数据的调度信息,所述调度信息包括第一时间和第一位置,所述第一时间为将所述待分发数据发送至所述分发进程的时间,所述第一位置为所述分发进程的进程标识。
7.一种数据分发系统,其特征在于,包括:调度模块;还包括多个分发模块;
所述调度模块,用于创建所述分发模块;
所述调度模块,还用于获取待分发数据,所述待分发数据携带有数据标识;
所述调度模块,还用于根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
所述调度模块,还用于根据每个分发模块的当前任务负荷,将所述待分发数据和所述待分发数据的分发规则发送至所述分发模块;
所述分发模块,用于根据所述待分发数据的分发规则,对所述待分发数据进行分发处理;
其中,所述根据每个分发进程的当前任务负荷,将所述待分发数据和所述分发数据的分发规则发送至所述分发进程包括:
当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
8.根据权利要求7所述的数据分发系统,其特征在于,所述分发模块,包括:解压子模块、复制子模块、传输子模块和记录子模块;
所述解压子模块,用于对所述待分发数据进行解压处理;
所述复制子模块,用于复制所述待分发数据,得到数据副本;
所述传输子模块,用于将所述待分发数据发送至第一存储区域,所述第一存储区域为所述待分发数据的分发规则所指示的第一目的区域;
所述传输子模块,还用于将所述数据副本发送至第二存储区域,所述第二存储区域为所述待分发数据的分发规则所指示的第二目的区域;
所述记录子模块,用于记录所述待分发数据的分发信息,所述分发信息包括第二时间和第二位置,所述第二时间为所述传输子模块将所述待分发数据发送至所述待分发数据的分发规则所指示的存储区域的时间,所述第二位置为所述待分发数据的分发规则所指示的存储区域的位置标识。
CN201610695053.9A 2016-08-19 2016-08-19 一种数据分发方法、装置及系统 Active CN106339435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610695053.9A CN106339435B (zh) 2016-08-19 2016-08-19 一种数据分发方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610695053.9A CN106339435B (zh) 2016-08-19 2016-08-19 一种数据分发方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106339435A CN106339435A (zh) 2017-01-18
CN106339435B true CN106339435B (zh) 2020-11-03

Family

ID=57825022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610695053.9A Active CN106339435B (zh) 2016-08-19 2016-08-19 一种数据分发方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106339435B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874131B (zh) * 2017-03-10 2020-06-09 Oppo广东移动通信有限公司 广播队列调整方法、装置和终端设备
CN108519912B (zh) * 2018-04-04 2021-05-11 网易(杭州)网络有限公司 数据清洗方法、装置、计算机可读存储介质及电子设备
CN110457273A (zh) * 2019-07-11 2019-11-15 岭澳核电有限公司 一种核电站文档管理方法、系统及终端设备
CN112307064A (zh) * 2020-10-29 2021-02-02 上海达梦数据库有限公司 一种数据管理系统、方法及存储介质
CN112905639A (zh) * 2020-12-21 2021-06-04 国网甘肃省电力公司电力科学研究院 一种基于规则的新能源数据分发方法
CN112953757B (zh) * 2021-01-26 2023-12-29 北京明略软件系统有限公司 数据分发方法、系统和计算机设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003718A (ja) * 2006-06-20 2008-01-10 Toshiba Corp データ管理装置、データ管理プログラム及びデータ管理方法
US7987193B2 (en) * 2007-06-29 2011-07-26 Sap Ag System and method for setting status flags for mobile data distribution based on distribution rules
CN101539935A (zh) * 2009-04-03 2009-09-23 北大方正集团有限公司 数据分发方法和装置
CN101630272B (zh) * 2009-08-19 2013-03-27 用友软件股份有限公司 进程调度方法和系统
CN103109297B (zh) * 2010-09-22 2015-08-12 国际商业机器公司 数据分发装置、数据分发系统、客户端装置、数据分发方法及数据接收方法
CN102547756B (zh) * 2010-12-29 2014-09-10 中国移动通信集团公司 一种数据处理系统、节点及方法
CN108268328B (zh) * 2013-05-09 2022-04-22 华为技术有限公司 数据处理装置及计算机

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Research on the grid administration of urban distribution Big Data management;Ming He et al;《2014 China International Conference on Electricity Distribution (CICED)》;20141022;861-865 *
基于博弈论的机会网络数据分发机制研究;刘虎;《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》;20160315;第2016年卷(第3期);全文 *

Also Published As

Publication number Publication date
CN106339435A (zh) 2017-01-18

Similar Documents

Publication Publication Date Title
CN106339435B (zh) 一种数据分发方法、装置及系统
US10977245B2 (en) Batch data ingestion
CN113366424B (zh) 用于重复数据删除存储器的可扩展垃圾收集
US10108632B2 (en) Splitting and moving ranges in a distributed system
CN101610287B (zh) 一种应用于分布式海量存储系统的负载均衡方法
US8521692B1 (en) Storage system and method for controlling storage system
CN107515784B (zh) 一种在分布式系统中计算资源的方法与设备
CN102831120A (zh) 一种数据处理方法及系统
US9591101B2 (en) Message batching in a distributed strict queue
CN102456059A (zh) 重复数据删除的处理系统
CN103095806A (zh) 一种面向大电网的实时数据库系统的负载均衡管理系统
US20160019090A1 (en) Data processing control method, computer-readable recording medium, and data processing control device
US20170048352A1 (en) Computer-readable recording medium, distributed processing method, and distributed processing device
CN104468737A (zh) 一种基于业务类别特征的存储分级调度方法及系统
CN111061752A (zh) 数据处理方法、装置及电子设备
CN108605017A (zh) 查询计划和操作感知通信缓冲区管理
CN106681656A (zh) 一种动态可调的云存储系统容错方法
CN104092754B (zh) 文件存储系统和文件存储方法
US20160203032A1 (en) Series data parallel analysis infrastructure and parallel distributed processing method therefor
US20150365474A1 (en) Computer-readable recording medium, task assignment method, and task assignment apparatus
CN106790489B (zh) 并行数据加载方法和系统
CN108090186A (zh) 一种大数据平台上的电力数据去重方法
CN105205011B (zh) 一种获取文件块引用计数的方法、普通客户端和管理客户端
CN106354724A (zh) 文件存档方法、文件读取方法及装置
CN108132759A (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
GR01 Patent grant
GR01 Patent grant