CN106339435A - 一种数据分发方法、装置及系统 - Google Patents
一种数据分发方法、装置及系统 Download PDFInfo
- Publication number
- CN106339435A CN106339435A CN201610695053.9A CN201610695053A CN106339435A CN 106339435 A CN106339435 A CN 106339435A CN 201610695053 A CN201610695053 A CN 201610695053A CN 106339435 A CN106339435 A CN 106339435A
- Authority
- CN
- China
- Prior art keywords
- data
- distribution
- distributed
- described data
- rules
- 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.)
- Granted
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
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 (10)
1.一种数据分发方法,其特征在于,包括:
创建至少一个分发进程;
获取待分发数据,所述待分发数据携带有数据标识;
根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
2.根据权利要求1所述的数据分发方法,其特征在于,还包括:
创建至少一个优先分发进程;
当所述待分发数据还携带有紧急标识时,将所述待分发数据和所述待分发数据的分发规则发送至所述优先分发进程,以便所述优先分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
3.根据权利要求1所述的数据分发方法,其特征在于,所述将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,具体包括:
当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
4.根据权利要求1所述的数据分发方法,其特征在于,还包括:
将所述待分发数据保存至预设备份区域;
记录所述待分发数据的调度信息,所述调度信息包括第一时间和第一位置,所述第一时间为将所述待分发数据发送至所述分发进程的时间,所述第一位置为所述分发进程的进程标识。
5.一种数据分发装置,其特征在于,包括:进程创建单元、数据获取单元、规则确定单元和数据发送单元;
所述进程创建单元,用于创建至少一个分发进程;
所述数据获取单元,用于获取待分发数据,所述待分发数据携带有数据标识;
所述规则确定单元,用于根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
所述数据发送单元,用于将所述待分发数据和所述待分发数据的分发规则发送至所述分发进程,以便所述分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
6.根据权利要求5所述的数据分发装置,其特征在于,还包括:判断单元;
所述进程创建单元,还用于创建至少一个优先分发进程;
所述判断单元,用于判断所述待分发数据是否还携带有紧急标识;
所述数据发送单元,还用于当所述判断单元判断所述待分发数据还携带有紧急标识时,将所述待分发数据和所述待分发数据的分发规则发送至所述优先分发进程,以便所述优先分发进程根据所述待分发数据的分发规则对所述待分发数据进行分发处理。
7.根据权利要求5所述的数据分发装置,其特征在于,所述数据发送单元,包括:获取子单元、比较子单元和发送子单元;
所述获取子单元,用于当创建了至少两个分发进程时,获取每个分发队列的队列深度,分发队列与分发进程一一对应;
所述比较子单元,用于比较所述每个分发队列的队列深度,得到队列深度最小的第一分发队列;
所述发送子单元,用于将所述待分发数据和所述待分发数据的分发规则发送至第一分发进程,所述第一分发进程与所述第一分发队列相对应。
8.根据权利要求5所述的数据分发装置,其特征在于,还包括:数据备份单元和分发记录单元;
所述数据备份单元,用于将所述待分发数据保存至预设备份区域;
所述分发记录单元,用于记录所述待分发数据的调度信息,所述调度信息包括第一时间和第一位置,所述第一时间为将所述待分发数据发送至所述分发进程的时间,所述第一位置为所述分发进程的进程标识。
9.一种数据分发系统,其特征在于,包括:调度模块;还包括至少一个分发模块;
所述调度模块,用于创建所述分发模块;
所述调度模块,还用于获取待分发数据,所述待分发数据携带有数据标识;
所述调度模块,还用于根据所述数据标识检索配置表,确定所述待分发数据的分发规则,所述配置表中保存有数据标识与分发规则的一一对应关系;
所述调度模块,还用于将所述待分发数据和所述待分发数据的分发规则发送至所述分发模块;
所述分发模块,用于根据所述待分发数据的分发规则,对所述待分发数据进行分发处理。
10.根据权利要求9所述的数据分发系统,其特征在于,所述分发模块,包括:解压子模块、复制子模块、传输子模块和记录子模块;
所述解压子模块,用于对所述待分发数据进行解压处理;
所述复制子模块,用于复制所述待分发数据,得到数据副本;
所述传输子模块,用于将所述待分发数据发送至第一存储区域,所述第一存储区域为所述待分发数据的分发规则所指示的第一目的区域;
所述传输子模块,还用于将所述数据副本发送至第二存储区域,所述第二存储区域为所述待分发数据的分发规则所指示的第二目的区域;
所述记录子模块,用于记录所述待分发数据的分发信息,所述分发信息包括第二时间和第二位置,所述第二时间为所述传输子模块将所述待分发数据发送至所述待分发数据的分发规则所指示的存储区域的时间,所述第二位置为所述待分发数据的分发规则所指示的存储区域的位置标识。
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 true CN106339435A (zh) | 2017-01-18 |
CN106339435B 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) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874131A (zh) * | 2017-03-10 | 2017-06-20 | 广东欧珀移动通信有限公司 | 广播队列调整方法、装置和终端设备 |
CN108519912A (zh) * | 2018-04-04 | 2018-09-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 | 国网甘肃省电力公司电力科学研究院 | 一种基于规则的新能源数据分发方法 |
CN112953757A (zh) * | 2021-01-26 | 2021-06-11 | 北京明略软件系统有限公司 | 数据分发方法、系统和计算机设备 |
CN113159081A (zh) * | 2020-01-23 | 2021-07-23 | 华为技术有限公司 | 一种图像处理方法以及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294313A1 (en) * | 2006-06-20 | 2007-12-20 | Kabushiki Kaisha Toshiba | Data management apparatus, data management program and data management method |
US20090005065A1 (en) * | 2007-06-29 | 2009-01-01 | Ashok Ganapam | System and method for setting status flags for mobile data distribution based on distribution rules |
CN101539935A (zh) * | 2009-04-03 | 2009-09-23 | 北大方正集团有限公司 | 数据分发方法和装置 |
CN101630272A (zh) * | 2009-08-19 | 2010-01-20 | 用友软件股份有限公司 | 进程调度方法和系统 |
CN102547756A (zh) * | 2010-12-29 | 2012-07-04 | 中国移动通信集团公司 | 一种数据处理系统、节点及方法 |
CN103109297A (zh) * | 2010-09-22 | 2013-05-15 | 国际商业机器公司 | 数据分发装置、数据分发系统、客户端装置、数据分发方法、数据接收方法、程序及记录介质 |
CN104142867A (zh) * | 2013-05-09 | 2014-11-12 | 华为技术有限公司 | 数据处理装置及数据处理方法 |
-
2016
- 2016-08-19 CN CN201610695053.9A patent/CN106339435B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294313A1 (en) * | 2006-06-20 | 2007-12-20 | Kabushiki Kaisha Toshiba | Data management apparatus, data management program and data management method |
US20090005065A1 (en) * | 2007-06-29 | 2009-01-01 | Ashok Ganapam | System and method for setting status flags for mobile data distribution based on distribution rules |
CN101539935A (zh) * | 2009-04-03 | 2009-09-23 | 北大方正集团有限公司 | 数据分发方法和装置 |
CN101630272A (zh) * | 2009-08-19 | 2010-01-20 | 用友软件股份有限公司 | 进程调度方法和系统 |
CN103109297A (zh) * | 2010-09-22 | 2013-05-15 | 国际商业机器公司 | 数据分发装置、数据分发系统、客户端装置、数据分发方法、数据接收方法、程序及记录介质 |
CN102547756A (zh) * | 2010-12-29 | 2012-07-04 | 中国移动通信集团公司 | 一种数据处理系统、节点及方法 |
CN104142867A (zh) * | 2013-05-09 | 2014-11-12 | 华为技术有限公司 | 数据处理装置及数据处理方法 |
Non-Patent Citations (2)
Title |
---|
MING HE ET AL: "Research on the grid administration of urban distribution Big Data management", 《2014 CHINA INTERNATIONAL CONFERENCE ON ELECTRICITY DISTRIBUTION (CICED)》 * |
刘虎: "基于博弈论的机会网络数据分发机制研究", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874131A (zh) * | 2017-03-10 | 2017-06-20 | 广东欧珀移动通信有限公司 | 广播队列调整方法、装置和终端设备 |
WO2018161969A1 (zh) * | 2017-03-10 | 2018-09-13 | 广东欧珀移动通信有限公司 | 广播队列调整方法、装置和终端设备 |
CN106874131B (zh) * | 2017-03-10 | 2020-06-09 | Oppo广东移动通信有限公司 | 广播队列调整方法、装置和终端设备 |
US10908976B2 (en) | 2017-03-10 | 2021-02-02 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Broadcast queue adjustment method, terminal, and storage medium |
CN108519912A (zh) * | 2018-04-04 | 2018-09-11 | 网易(杭州)网络有限公司 | 数据清洗方法、装置、计算机可读存储介质及电子设备 |
CN108519912B (zh) * | 2018-04-04 | 2021-05-11 | 网易(杭州)网络有限公司 | 数据清洗方法、装置、计算机可读存储介质及电子设备 |
CN110457273A (zh) * | 2019-07-11 | 2019-11-15 | 岭澳核电有限公司 | 一种核电站文档管理方法、系统及终端设备 |
CN113159081A (zh) * | 2020-01-23 | 2021-07-23 | 华为技术有限公司 | 一种图像处理方法以及相关设备 |
CN112307064A (zh) * | 2020-10-29 | 2021-02-02 | 上海达梦数据库有限公司 | 一种数据管理系统、方法及存储介质 |
CN112905639A (zh) * | 2020-12-21 | 2021-06-04 | 国网甘肃省电力公司电力科学研究院 | 一种基于规则的新能源数据分发方法 |
CN112953757A (zh) * | 2021-01-26 | 2021-06-11 | 北京明略软件系统有限公司 | 数据分发方法、系统和计算机设备 |
CN112953757B (zh) * | 2021-01-26 | 2023-12-29 | 北京明略软件系统有限公司 | 数据分发方法、系统和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106339435B (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106339435A (zh) | 一种数据分发方法、装置及系统 | |
CN104113597B (zh) | 一种多数据中心的hdfs数据读写方法 | |
US8505010B2 (en) | Storage of application specific profiles correlating to document versions | |
CN108399101A (zh) | 资源调度的方法、装置和系统 | |
CN102831069B (zh) | 内存处理方法、内存管理设备 | |
CN106933747B (zh) | 基于多流的数据存储系统和数据存储方法 | |
CN104881466B (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
CN102200936A (zh) | 适用于云存储的智能配置存储备份方法 | |
US20130047161A1 (en) | Selecting processing techniques for a data flow task | |
CN102314336B (zh) | 一种数据处理方法和系统 | |
CN102725753A (zh) | 优化数据访问的方法及装置、优化数据存储的方法及装置 | |
CN103885811B (zh) | 虚拟机系统全系统在线迁移的方法、系统与装置 | |
US9658893B2 (en) | Multilayered resource scheduling | |
CN108268211A (zh) | 一种数据处理方法及装置 | |
CN106202307A (zh) | 一种批量日志保存方法及装置 | |
CN112651668A (zh) | 一种航班资源分配方法、装置及服务器 | |
CN108563787A (zh) | 一种数据中心综合管理系统的数据交互管理系统及方法 | |
CN104156505A (zh) | 一种基于用户行为分析的Hadoop集群作业调度方法及装置 | |
CN109426439A (zh) | 对分布式存储系统进行扩容的方法及装置 | |
CN104239520B (zh) | 一种基于历史信息的hdfs数据块放置策略 | |
CN104407987B (zh) | 一种分级存储方法 | |
CN108021448B (zh) | 一种内核空间的优化方法及装置 | |
GB2585543A (en) | Data migration in a hierarchical storage management system | |
JP4061163B2 (ja) | ソフトウェアライセンス管理装置、ソフトウェアライセンス管理プログラム、ソフトウェアライセンス管理方法およびソフトウェアライセンス管理システム | |
CN102467355B (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 |