CN104601491B - 分布式队列处理方法及系统 - Google Patents
分布式队列处理方法及系统 Download PDFInfo
- Publication number
- CN104601491B CN104601491B CN201410856985.8A CN201410856985A CN104601491B CN 104601491 B CN104601491 B CN 104601491B CN 201410856985 A CN201410856985 A CN 201410856985A CN 104601491 B CN104601491 B CN 104601491B
- Authority
- CN
- China
- Prior art keywords
- data
- queue
- processing
- storage device
- data storage
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式队列处理方法及系统,所述方法包括:从队列服务器读取数据;处理所述数据;若所述数据处理失败,存储所述数据至重处理数据存储装置,供重新处理。通过系统本身实现对处理失败的数据进行存储,供后续重新处理。因此,避免当数据处理失败时,需要发送方重新向队列推送数据的发生,进一步保证系统的安全可靠,且减少与发送方的交互。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种分布式队列处理方法及系统。
背景技术
分布式队列是广泛应用于互联网中的消息异步处理机制,其运行在网络的一个或多个节点之中,维护一组数据结构作为消息的存储、交换格式,并且提供了相应的消息管理、访问等功能。消息发送者将消息发出,消息传输至队列并驻留在队列中,直到消息接收者接收,从而保证了消息传输的可靠性。分布式队列对复杂的系统进行了解耦,发送者与接收者无需建立直接联系,只要消息的数据结构不变,任何一方的变动将不会影响另一方。
目前对于分布式队列中消息的处理,通常由业务程序直接从分布式队列下载数据并处理,业务程序与分布式队列属于紧耦合。然而,由于没有存储处理数据,当数据处理失败时,需要发送方重新向队列推送数据。
发明内容
本申请实施例提供一种分布式队列处理方法,用于解决当数据处理失败时,需要发送方重新向队列推送数据的问题。
本申请实施例还提供一种分布式队列处理系统,用于解决当数据处理失败时,需要发送方重新向队列推送数据的问题。
为解决上述技术问题,本申请实施例提供:
一种分布式队列处理方法,包括:
从队列服务器读取数据;
处理所述数据;
若所述数据处理失败,存储所述数据至重处理数据存储装置,供重新处理。
一种分布式队列处理系统,包括:
数据读取装置,用于从队列服务器读取数据;
数据处理装置,用于处理所述数据;
重处理数据存储装置,用于当所述数据处理失败时,存储所述数据,供重新处理。
与现有技术相比,本申请实施例具有以下有益效果:
本申请实施例中,通过系统本身实现对处理失败的数据进行存储,供后续重新处理。因此,避免当数据处理失败时,需要发送方重新向队列推送数据的发生,进一步保证系统的安全可靠,且减少与发送方的交互。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例提供的一种分布式队列处理方法的流程示意图;
图2是本申请实施例提供的一种分布式队列处理系统的系统结构图;
图3是本申请实施例提供的另一种分布式队列处理系统的系统结构图;
图4是本申请实施例提供的一种分布式队列处理方法的流程详解图;
图5是本申请实施例提供的一种分布式队列处理系统的结构示意图;
图6是本申请实施例提供的另一种分布式队列处理方法的流程详解图;
图7是本申请实施例提供的另一种分布式队列处理系统的结构示意图;
图8是本申请实施例提供的另一种分布式队列处理方法的流程详解图;
图9是本申请实施例提供的另一种分布式队列处理系统的结构示意图;
图10是本申请实施例提供的另一种分布式队列处理方法的流程详解图;
图11是本申请实施例提供的另一种分布式队列处理系统的结构示意图。
具体实施例
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的一种分布式队列处理方法的流程示意图。
所述分布式队列处理方法的具体包括以下步骤:
S101:从队列服务器读取数据。
本实施例中,执行主体可以为队列处理器。所述队列处理器从队列服务器读取数据。
S102:处理所述数据。
所述队列处理器处理从队列服务器读取到的数据。
S103:若所述数据处理失败,存储所述数据至重处理数据存储装置,供重新处理。
所述队列处理器包括重处理数据存储装置,一种实施例中,所述重处理数据存储装置可以为重处理数据存储目录。若数据处理失败,所述队列处理器将处理失败的数据存储至重处理数据存储装置中,供重新处理。
进一步的,对从队列服务器读取数据进行说明。从队列服务器读取数据至待处理数据存储装置。所述分布式队列处理方法还包括:在所述数据处理成功后或所述数据存储至重处理数据存储装置后,删除所述待处理数据存储装置中的所述数据。
所述队列处理器包括待处理数据存储装置,一种实施例中,所述待处理数据存储装置可以为待处理数据存储目录。所述队列处理器从队列服务器读取数据至待处理数据存储装置。在数据处理成功后或数据存储至重处理数据存储装置后,删除待处理数据存储装置中的数据。
进一步的,所述分布式队列处理方法还包括:在从所述队列服务器读取数据前,访问所述重处理数据存储装置。若所述重处理数据存储装置中有数据,从所述重处理数据存储装置读取数据。对若所述数据处理失败,存储所述数据至重处理数据存储装置,供重新处理进行说明。若所述数据处理失败,存储所述数据至处理失败数据存储装置,再将所述数据从所述处理失败数据存储装置转存至所述重处理数据存储装置。
所述队列处理器优先访问重处理数据存储装置,若所述重处理数据存储装置中有数据,从所述重处理数据存储装置读取数据,而不再从所述队列服务器读取数据。若所述重处理数据存储装置中没有数据,再从所述队列服务器读取数据。所述队列处理器包括处理失败数据存储装置,一种实施例中,所述处理失败数据存储装置为日志目录。若所述数据处理失败,所述队列处理器将处理失败的数据存储至处理失败数据存储装置,一定时间后,通过人工或自动方式,再将处理失败的数据从处理失败数据存储装置转存至重处理数据存储装置。
进一步的,对从队列服务器读取数据进行说明。从队列服务器读取数据至重处理数据存储装置。所述分布式队列处理方法还包括:在所述数据处理完成后,若所述数据处理成功,删除所述重处理数据存储装置中的所述数据;若所述数据处理失败,将所述数据存储在所述重处理数据存储装置中。
所述队列处理器包括重处理数据存储装置,一种实施例中,所述重处理数据存储装置可以为重处理数据存储目录、重处理数据服务器等。所述队列处理器从队列服务器读取数据至重处理数据存储装置。在所述数据处理完成后,若数据处理成功,删除重处理数据存储装置中的数据;若数据处理失败,将数据存储在重处理数据存储装置中。一定时间后,所述队列处理器通过人工或自动方式执行重处理数据存储装置中存储的处理失败的数据。
进一步的,所述分布式队列处理方法还包括:在处理所述数据后,将所述数据传送至数据同步服务器;定时访问所述数据同步服务器,并下载所述数据同步服务器中的数据。
所述队列处理器连接有数据同步服务器。所述队列服务器在处理数据前,将数据传送至数据同步服务器。一种实施例中,所述队列处理器可以通过人工或自动方式访问数据同步服务器,并下载数据同步服务器中的数据。因此,本方法可以实现不同队列处理器之间的数据同步,尤其在不同地区的队列处理器之间进行数据同步。
以上为本申请实施例提供的分布式队列处理方法,本领域相关技术人员应能理解,本申请实施例还对应提供一种分布式队列处理系统。
图2是本申请实施例提供的一种分布式队列处理系统的系统结构图。
图3是本申请实施例提供的另一种分布式队列处理系统的系统结构图。
所述分布式队列处理系统,包括:
数据读取装置101,用于从队列服务器读取数据。
数据处理装置102,用于处理数据。
重处理数据存储装置103,用于当数据处理失败时,存储数据,供重新处理。
所述分布式队列处理系统,还包括:
待处理数据存储装置104,用于接收数据读取装置101读取的数据,并在数据处理成功后或数据存储至重处理数据存储装置103后,删除数据。
所述分布式队列处理系统,还包括:
处理失败数据存储装置105,用于当数据处理失败时,存储数据,并根据操作指令再将数据转存至重处理数据存储装置103。
数据读取装置101具体用于,在从队列服务器读取数据前,访问重处理数据存储装置103。若重处理数据存储装置103中有数据,从重处理数据存储装置103读取数据。
进一步的,重处理数据存储装置103’,用于接收数据读取装置101从队列服务器读取的数据,并在数据处理完成后,若数据处理成功,删除数据;若数据处理失败,存储数据。
所述分布式队列处理系统,还包括:
同步数据上传装置106,用于将数据传送至数据同步服务器。
同步数据下载装置107,用于访问数据同步服务器,并下载数据同步服务器中的数据。
以下将描述几个具体实施例,以便读者全面理解本申请的实质。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
具体实施例一
图4是本申请实施例提供的一种分布式队列处理方法的流程详解图。
所述分布式队列处理方法,其执行主体为队列处理器中的队列处理进程,包括:
S201:创建重处理数据存储目录、待处理数据存储目录和日志目录(对应于权利要求3中的处理失败数据存储装置)。
S202:读取配置文件。
若队列处理进程被配置成停止状态,则结束队列处理进程。若队列处理进程被配置成工作状态,则继续执行。
S203:读取数据。
首先访问重处理数据存储目录。若重处理数据存储目录中有数据,从重处理数据存储目录读取数据至待处理数据存储目录,而不再从队列服务器读取数据。若重处理数据存储目录中没有数据,再从队列服务器读取数据至待处理数据存储目录。
其中,对从队列服务器读取数据至待处理数据存储目录进行说明。获取队列服务器地址;连接队列服务器,再从队列服务器读取数据至待处理数据存储目录。
获取队列服务器地址可以有但不限于以下三种方式:
1、有序方式
队列服务器一一对应于队列处理器的队列处理进程。具体方式请详参下表。
队列服务器编号 | 队列处理器及队列处理进程编号 |
队列服务器1 | 队列处理器1的队列处理进程1 |
队列服务器2 | 队列处理器2的队列处理进程1 |
队列服务器3 | 队列处理器3的队列处理进程1 |
队列服务器4 | 队列处理器4的队列处理进程1 |
队列服务器5 | 队列处理器1的队列处理进程2 |
队列服务器6 | 队列处理器2的队列处理进程2 |
队列服务器7 | 队列处理器3的队列处理进程2 |
队列服务器8 | 队列处理器4的队列处理进程2 |
队列服务器9 | 队列处理器1的队列处理进程3 |
队列服务器10 | 队列处理器2的队列处理进程3 |
队列服务器11 | 队列处理器3的队列处理进程3 |
队列服务器12 | 队列处理器4的队列处理进程3 |
队列服务器13 | 队列处理器1的队列处理进程4 |
队列服务器14 | 队列处理器2的队列处理进程4 |
队列服务器15 | 队列处理器3的队列处理进程4 |
本方式主要适用于所有队列处理器的队列处理进程总数远大于队列服务器数量,所有队列处理器参与队列处理并均分对应队列服务器(在队列服务器数量无法整除队列处理器数量时,任意两队列处理器对应的队列服务器的数量最大差为1),各队列处理器负载均衡,处理效率高。
2、顺序方式
队列处理器的队列处理进程依次顺序对应队列服务器。具体方式请详参下表。
执行次数 | 队列处理器及队列处理进程编号 | 队列服务器编号 |
第一次执行 | 队列处理器1的队列处理进程1 | 队列服务器1 |
第一次执行 | 队列处理器1的队列处理进程2 | 队列服务器2 |
第一次执行 | 队列处理器2的队列处理进程1 | 队列服务器3 |
第一次执行 | 队列处理器2的队列处理进程2 | 队列服务器4 |
第二次执行 | 队列处理器1的队列处理进程1 | 队列服务器2 |
第二次执行 | 队列处理器1的队列处理进程2 | 队列服务器3 |
第二次执行 | 队列处理器2的队列处理进程1 | 队列服务器4 |
第二次执行 | 队列处理器2的队列处理进程2 | 队列服务器5 |
第三次执行 | 队列处理器1的队列处理进程1 | 队列服务器3 |
第三次执行 | 队列处理器1的队列处理进程2 | 队列服务器4 |
第三次执行 | 队列处理器2的队列处理进程1 | 队列服务器5 |
第三次执行 | 队列处理器2的队列处理进程2 | 队列服务器6 |
第四次执行 | 队列处理器1的队列处理进程1 | 队列服务器4 |
第四次执行 | 队列处理器1的队列处理进程2 | 队列服务器5 |
第四次执行 | 队列处理器2的队列处理进程1 | 队列服务器6 |
第四次执行 | 队列处理器2的队列处理进程2 | 队列服务器1 |
本方式主要适用于所有队列处理器的队列处理进程总数小于队列服务器数量,队列处理器的队列处理进程依次顺序对应队列服务器,在多次循环以后,每台队列服务器都会被对应到。
3、随机方式
队列处理器的队列处理进程与队列服务器进行随机对应。
S204:调用业务程序处理待处理数据存储目录中的数据。
S205:在数据处理完成后,将数据及业务程序的名称传送至数据同步服务器。
同时,队列处理器的队列处理进程可以人为根据需求或定时自动访问数据同步服务器,并判断数据同步服务器上的数据是否为非本地数据;若数据为非本地数据,队列处理器的队列处理进程下载数据并调用根据业务程序的名称调用业务程序处理数据。
本步骤S205可以设置为只在从队列服务器读取数据并处理时进行执行,当从重处理数据存储目录读取数据并处理时不进行执行。
S206:记录日志,并存储处理失败的数据。
业务程序返回处理结果,队列处理进程将数据及处理结果记录在日志目录中。队列处理进程通过人工或自动方式将处理失败的数据转存至重处理数据存储目录。其中,人工方式为人为根据需求将处理失败的数据进行转存;自动方式为设置预定时间间隔,达到预定时间间隔即将处理失败的数据进行转存。在通常情况下,相邻两次数据读取平均时间间隔远小于相邻两次处理失败的数据转存平均时间间隔。
S207:删除待处理数据存储目录中的数据。
S208:执行步骤S202。
与上述具体实施例一的分布式队列处理方法对应的一种分布式队列处理系统详参图5。
图5是本申请实施例提供的一种分布式队列处理系统的结构示意图。
所述分布式队列处理系统,连接队列服务器,包括:
配置识别装置201,用于读取配置文件。
数据读取装置202,用于首先访问重处理数据存储目录204;若重处理数据存储目录204中有数据,从重处理数据存储目录204读取数据至待处理数据存储目录205,而不再从队列服务器读取数据。若重处理数据存储目录204中没有数据,再从队列服务器读取数据至待处理数据存储目录205。
数据处理装置203,用于调用业务程序处理待处理数据存储目录205中的数据。
重处理数据存储目录204,用于当数据处理失败时,存储数据,供重新处理。
待处理数据存储目录205,用于接收数据读取装置202读取的数据,并在数据处理成功后或数据存储至重处理数据存储装置204后,删除数据。
日志目录206(对应于权利要求8中的处理失败数据存储装置),用于记录数据及处理结果。
同步数据上传装置207,用于将数据传送至数据同步服务器。
同步数据下载装置208,用于访问数据同步服务器,并下载数据同步服务器中的数据。
具体实施例二
图6是本申请实施例提供的另一种分布式队列处理方法的流程详解图。
所述分布式队列处理方法,其执行主体为队列处理器中的队列处理进程,包括:
S301:创建重处理数据存储装置。
重处理数据存储装置可以为重处理数据存储目录、重处理数据服务器等。
S302:读取配置文件。
S303:读取数据并处理数据。
根据设置的预定时间间隔,达到预定时间间隔即优先处理重处理数据存储装置中的处理失败的数据。否则,从队列服务器读取数据至重处理数据存储装置,并处理该数据。设置的预定时间间隔远大于相邻两次数据读取平均时间间隔。
S304:在数据处理完成后,将数据及业务程序的名称传送至数据同步服务器。
S305:若数据处理成功,删除重处理数据存储装置中的该数据;若数据处理失败,将该数据存储在重处理数据存储装置中。
S306:执行步骤S302。
与上述具体实施例二的分布式队列处理方法对应的一种分布式队列处理系统详参图7。
图7是本申请实施例提供的另一种分布式队列处理系统的结构示意图。
所述分布式队列处理系统,连接队列服务器,包括:
配置识别装置301,用于读取配置文件。
数据读取装置302,用于从队列服务器读取数据至重处理数据存储装置304。
数据处理装置303,用于根据设置的预定时间间隔,达到预定时间间隔即优先处理重处理数据存储装置304中的处理失败的数据,否则,处理数据读取装置302所读取的数据。
重处理数据存储装置304,用于接收数据读取装置302读取的数据,且若数据处理成功,删除数据;若数据处理失败,存储数据。
重处理数据存储装置304可以为重处理数据存储目录、重处理数据服务器等。
同步数据上传装置305,用于将数据传送至数据同步服务器。
同步数据下载装置306,用于访问数据同步服务器,并下载数据同步服务器中的数据。
具体实施例三
图8是本申请实施例提供的另一种分布式队列处理方法的流程详解图。
所述分布式队列处理方法,其执行主体为队列处理器中的队列处理进程,包括:
S401:创建日志目录(对应于权利要求4中的重处理数据存储装置)。
S402:读取配置文件。
S403:读取数据并处理数据。
根据设置的预定时间间隔,达到预定时间间隔即优先处理日志目录中的处理失败的数据。否则,从队列服务器读取数据至日志目录,并处理该数据。设置的预定时间间隔远大于相邻两次数据读取平均时间间隔。
S404:在数据处理完成后,将数据及业务程序的名称传送至数据同步服务器。
S405:将处理结果记录于日志目录中。
若数据处理成功,将为该数据的所有记录项打上处理成功的标签。
S406:执行步骤S402。
其中,处理日志目录中的处理失败的数据时,根据步骤S405中的标签进行确认是否为处理失败的数据。
与上述具体实施例三的分布式队列处理方法对应的一种分布式队列处理系统详参图9。
图9是本申请实施例提供的另一种分布式队列处理系统的结构示意图。
所述分布式队列处理系统,连接队列服务器,包括:
配置识别装置401,用于读取配置文件。
数据读取装置402,用于从队列服务器读取数据至日志目录404。
数据处理装置403,用于根据设置的预定时间间隔,达到预定时间间隔即优先处理日志目录404中的处理失败的数据,否则,处理数据读取装置402所读取的数据。
日志目录404(对应于权利要求9中的重处理数据存储装置),用于记录数据及处理结果。
其中,若数据处理成功,日志目录404中该数据的所有记录项被打上处理成功的标签。
同步数据上传装置405,用于将数据传送至数据同步服务器。
同步数据下载装置406,用于访问数据同步服务器,并下载数据同步服务器中的数据。
数据处理装置403,处理日志目录404中的处理失败的数据时,根据上述标签进行确认是否为处理失败的数据。
具体实施例四
图10是本申请实施例提供的另一种分布式队列处理方法的流程详解图。
所述分布式队列处理方法,其执行主体为队列处理器中的队列处理进程,包括:
S501:创建重处理数据存储装置和待处理数据存储目录。
重处理数据存储装置可以为重处理数据存储目录、重处理数据服务器、日志目录等。
S502:读取配置文件。
S503:读取数据。
根据设置的预定时间间隔,达到预定时间间隔即优先读取重处理数据存储装置中的处理失败的数据至待处理数据存储目录。否则,从队列服务器读取数据至待处理数据存储目录。设置的预定时间间隔远大于相邻两次数据读取平均时间间隔。
S504:调用业务程序处理待处理数据存储目录中的数据。
S505:在数据处理完成后,将数据及业务程序的名称传送至数据同步服务器。
S506:将处理失败的数据存储至重处理数据存储装置中。
S507:删除待处理数据存储目录中的数据。
S508:执行步骤S502。
与上述具体实施例四的分布式队列处理方法对应的一种分布式队列处理系统详参图11。
图11是本申请实施例提供的另一种分布式队列处理系统的结构示意图。
所述分布式队列处理系统,连接队列服务器,包括:
配置识别装置501,用于读取配置文件。
数据读取装置502,用于根据设置的预定时间间隔,达到预定时间间隔即优先读取重处理数据存储装置504中的处理失败的数据至待处理数据存储目录505;否则,从队列服务器读取数据至待处理数据存储目录504。
数据处理装置503,用于调用业务程序处理待处理数据存储目录505中的数据。
重处理数据存储装置504,用于当数据处理失败时,存储数据,供重新处理。
重处理数据存储装置504可以为重处理数据存储目录、重处理数据服务器、日志目录等。
待处理数据存储目录505,用于接收数据读取装置502读取的数据,并在数据处理成功后或数据存储至重处理数据存储装置504后,删除数据。
同步数据上传装置506,用于将数据传送至数据同步服务器。
同步数据下载装置507,用于访问数据同步服务器,并下载数据同步服务器中的数据。
本领域内的技术人员应明白,在上述实施例中,分布式队列处理系统可以包括多个队列处理器,队列处理器可以包括多个队列处理进程。队列处理进程可以单独或共同配置和使用重处理数据存储装置、重处理数据存储装置装置、处理失败数据存储装置、重处理数据存储目录、重处理数据存储装置目录、日志目录、重处理数据服务器等。
本申请实施例中,通过系统本身实现对处理失败的数据进行存储,供后续重新处理。因此,避免当数据处理失败时,需要发送方重新向队列推送数据的发生,进一步保证系统的安全可靠,且减少与发送方的交互。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种分布式队列处理方法,其特征在于,应用于队列处理器,所述队列处理器包括重处理数据存储装置,所述方法包括:
访问所述重处理数据存储装置;
若所述重处理数据存储装置中有数据,从所述重处理数据存储装置读取数据至待处理数据存储装置;
若所述重处理数据存储装置中没有数据,按有序方式、顺序方式和随机方式中的任一方式获取队列服务器地址,连接所述队列服务器,从所述队列服务器读取数据至待处理数据存储装置;
处理所述数据;
若所述数据处理失败,存储所述数据至重处理数据存储装置,供重新处理;其中,所述重处理数据存储装置为重处理数据存储目录和/或重处理数据服务器;
在处理所述数据后,将所述数据传送至数据同步服务器。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述数据处理成功后或所述数据存储至所述重处理数据存储装置后,删除所述待处理数据存储装置中的所述数据。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述若所述数据处理失败,存储所述数据至重处理数据存储装置,供重新处理,具体包括:
若所述数据处理失败,存储所述数据至处理失败数据存储装置,并根据操作指令再将所述数据从所述处理失败数据存储装置转存至所述重处理数据存储装置。
4.如权利要求1所述的方法,其特征在于,如果从所述重处理数据存储装置读取数据至待处理数据存储装置,所述方法还包括:
若所述数据处理成功,删除所述重处理数据存储装置中的所述数据。
5.如权利要求1-4中任意一项所述的方法,其特征在于,所述方法还包括:
访问所述数据同步服务器,并下载所述数据同步服务器中的数据。
6.一种分布式队列处理系统,其特征在于,应用于队列处理器,所述队列处理器包括重处理数据存储装置,所述系统包括:
数据读取装置,用于访问所述重处理数据存储装置,若所述重处理数据存储装置中有数据,从所述重处理数据存储装置读取数据;若所述重处理数据存储装置中没有数据,按有序方式、顺序方式和随机方式中的任一方式获取队列服务器地址,连接所述队列服务器,从所述队列服务器读取数据至待处理数据存储装置;
数据处理装置,用于处理所述数据;
重处理数据存储装置,用于当所述数据处理失败时,存储所述数据,供重新处理;其中,所述重处理数据存储装置为重处理数据存储目录和/或重处理数据服务器;
同步数据上传装置,用于将数据传送至数据同步服务器。
7.如权利要求6所述的系统,其特征在于,所述系统还包括:
待处理数据存储装置,用于接收所述数据读取装置读取的数据,并在所述数据处理成功后或所述数据存储至所述重处理数据存储装置后,删除所述数据。
8.如权利要求7所述的系统,其特征在于,所述系统还包括:
处理失败数据存储装置,用于当所述数据处理失败时,存储所述数据,并根据操作指令再将所述数据转存至所述重处理数据存储装置。
9.如权利要求6所述的系统,其特征在于,
所述重处理数据存储装置还用于,接收所述数据读取装置从所述队列服务器读取的数据;以及若所述数据处理成功,删除所述数据。
10.如权利要求6-9中任意一项所述的系统,其特征在于,所述系统还包括:
同步数据下载装置,用于访问所述数据同步服务器,并下载所述数据同步服务器中的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410856985.8A CN104601491B (zh) | 2014-12-31 | 2014-12-31 | 分布式队列处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410856985.8A CN104601491B (zh) | 2014-12-31 | 2014-12-31 | 分布式队列处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104601491A CN104601491A (zh) | 2015-05-06 |
CN104601491B true CN104601491B (zh) | 2018-11-30 |
Family
ID=53127008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410856985.8A Active CN104601491B (zh) | 2014-12-31 | 2014-12-31 | 分布式队列处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104601491B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407021A (zh) * | 2016-07-01 | 2017-02-15 | 厦门易名科技股份有限公司 | 一种基于队列的业务请求处理方法 |
CN107357526B (zh) * | 2017-07-03 | 2021-02-26 | 北京京东尚科信息技术有限公司 | 用于处理网络数据的方法和装置、服务器和存储介质 |
CN112799585B (zh) * | 2019-11-14 | 2024-05-24 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1738443A (zh) * | 2004-08-16 | 2006-02-22 | 上海华为技术有限公司 | 错误指示报文发送方法及错误指示报文处理方法 |
CN100373318C (zh) * | 2004-12-30 | 2008-03-05 | 英业达股份有限公司 | 资料存储单元失效状况响应处理方法及系统 |
CN101102360B (zh) * | 2007-08-07 | 2010-06-16 | 中兴通讯股份有限公司 | 一种自动回单方法 |
CN101997661B (zh) * | 2009-08-14 | 2013-09-11 | 华为技术有限公司 | 数据包发送方法、数据包获取方法及装置 |
-
2014
- 2014-12-31 CN CN201410856985.8A patent/CN104601491B/zh active Active
Non-Patent Citations (2)
Title |
---|
汤雪华.ENode 2.0 - 整体架构介绍.《博客园》.2014,第1-6页. * |
汤雪华.EQueue - 一个C#写的开源分布式消息队列的总体介绍.《博客园》.2014,第1-12页. * |
Also Published As
Publication number | Publication date |
---|---|
CN104601491A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102833298A (zh) | 分布式的重复数据删除系统及其处理方法 | |
JP6481415B2 (ja) | データストレージ管理装置及びデータストレージ管理方法 | |
CN102333079A (zh) | 一种磁盘空间清理方法 | |
CN106294351A (zh) | 日志事件处理方法和装置 | |
CN104601491B (zh) | 分布式队列处理方法及系统 | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
CN109271110A (zh) | 存储系统中存储数据的写入方法、写入系统及相关装置 | |
CN103414762B (zh) | 云备份方法和装置 | |
CN108073349A (zh) | 数据的传输方法及装置 | |
CN109561128A (zh) | 数据传输方法和装置 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN106294423A (zh) | 数据库分表的写入方法及装置 | |
CN105224541B (zh) | 数据的唯一性控制方法、信息存储方法及装置 | |
CN109145625A (zh) | 保单信息的处理方法、装置及区块链数据存储系统 | |
CN103888424B (zh) | 集群式数据加密系统及其数据处理方法 | |
CN106341497B (zh) | 数字id生成方法及装置 | |
CN107403012A (zh) | 一种数据交换方法及装置 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN104407811B (zh) | 一种基于云计算的合并io装置 | |
CN109491807A (zh) | 一种数据交换方法、装置和系统 | |
CN110012080B (zh) | 数据处理方法 | |
CN106557530B (zh) | 业务系统、数据修复方法及装置 | |
CN106230880A (zh) | 一种数据的存储方法以及应用服务器 | |
CN109582476A (zh) | 数据处理方法、装置及系统 | |
CN115757639A (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 |