一种数据分发方法、系统及装置的制造方法

文档序号:9523960阅读:337来源:国知局
一种数据分发方法、系统及装置的制造方法
【技术领域】
[0001]本发明涉及数据处理技术领域,尤指一种数据分发方法、系统及装置。
【背景技术】
[0002]随着互联网技术的发展,网络上的数据量越来越大,在海量数据环境下,为了实现不重复的获取数据,根据数据中的地址信息下载文件,现有技术是采用多进程并发处理实现的,获取数据时,先锁数据库的审计(audit)表,处理前先将数据状态字段改变,然后对表进行解锁。取数据都是通过数据状态字段来获取数据,数据中的信息包含文件的实际地址,请求地址,然后进行下载。当用户在不断的分享文件,数据库不断的有新的数据进入,月艮务器需要在尽可能短的时间将文件下载,根据文件内容进行处理。
[0003]上述处理方式,存在以下问题:
[0004]在用户分享文件的高峰期,数据进入数据库较大的情况下,锁表会阻塞数据插入、更新或查询操作,其他进程执行插入、更新或查询数据的操作需要排队等待,当表解锁以后相关操作才能进行,多个进程在并行分发数据时,不可避免的要等待其他进程对表解锁才能获取到数据。因此导致数据分发的时延增大,分发速度降低。
[0005]但是由于数据具有实效性,需要尽可能快的将数据读取到并处理完,处理速度提速就需要并行更多的进程,然而,更多的并行进程会让数据表一直处于锁死状态,没有空隙进行其他表的操作,这就导致并发处理和减少处理时间之间存在不可调和的矛盾。
[0006]此外,由于可能出现的锁死状态,会导致进程的堵塞,浪费了大量的服务器资源占用率,下载服务更是加重了服务器负载,服务器响应缓慢,严重影响数据的处理速度。

【发明内容】

[0007]本发明实施例提供一种数据分发方法、系统及装置,用以解决现有技术中数据分发过程中存在的并发处理和快速处理的矛盾,从而能够减少处理时间,降低处理时延,提高处理速度和效率,从而节约处理资源,降低服务器资源占用率,减轻服务器负荷。
[0008]本发明实施例提供一种数据分发方法,包括:
[0009]分发服务器接收到用户的数据文件获取请求;
[0010]分发服务器根据数据分发进程的总进程数,确定数据文件的索引标识ID与数据分发进程的对应关系;
[0011]分发服务器获取数据库服务器中存储的用户分享的数据文件,根据数据分发进程的进程号、以及所述索引ID与数据分发进程的对应关系,将数据文件加载到与相应的数据分发进程对应的数据处理队列中供下载服务器读取。
[0012]在一些可选的实施例中,所述确定所述数据文件的索引ID与数据分发进程的对应关系,具体包括:
[0013]将数据文件的索引ID对总进程数进行取余计算,根据计算结果,得到所述数据文件的索引ID与数据分发进程的对应关系。
[0014]在一些可选的实施例中,所述总进程数由分发服务器通过获取脚本传入的进程号确定。
[0015]在一些可选的实施例中,所述将数据文件加载到与相应的数据分发进程对应的数据处理队列中供下载服务器读取,具体包括:
[0016]所述分发服务器根据数据分发进程的进程号、以及所述索引ID与数据分发进程的对应关系,确定数据文件对应的数据分发进程,得到数据文件需加载到的数据处理队列;
[0017]对数据文件添加脚本标记,将添加脚本标记后的数据文件加载到相应的数据处理队列中供下载服务器读取。
[0018]本发明实施例还提供一种数据分发装置,包括:
[0019]接收模块,用于接收到用户的数据文件获取请求;
[0020]确定模块,用于根据数据分发进程的总进程数,确定数据文件的索引标识ID与数据分发进程的对应关系;
[0021]分发模块,用于获取数据库服务器中存储的用户分享的数据文件,根据数据分发进程的进程号、以及所述索引ID与数据分发进程的对应关系,将数据文件加载到与相应的数据分发进程对应的数据处理队列中供下载服务器读取。
[0022]在一些可选的实施例中,所述确定模块,具体用于:
[0023]将数据文件的索引ID对总进程数进行取余计算,根据计算结果,得到所述数据文件的索引ID与数据分发进程的对应关系。
[0024]在一些可选的实施例中,所述确定模块,具体用于:
[0025]获取脚本传入的进程号,确定总进程数。
[0026]在一些可选的实施例中,所述分发模块,具体用于:
[0027]接收模块,用于接收到用户的数据文件获取请求;
[0028]确定模块,用于根据数据分发进程的总进程数,确定数据文件的索引标识ID与数据分发进程的对应关系;
[0029]分发模块,用于获取数据库服务器中存储的用户分享的数据文件,根据数据分发进程的进程号、以及所述索引ID与数据分发进程的对应关系,将数据文件加载到与相应的数据分发进程对应的数据处理队列中供下载服务器读取。
[0030]本发明实施例还提供一种分发服务器,包括:上述的数据分发装置。
[0031]本发明实施例还提供一种数据分发系统,包括:数据库服务器、分发服务器和下载服务器;
[0032]所述数据库服务器,用于接收用户分享的数据文件,并存储;
[0033]分发服务器中包括如权利要求5-8任一所述的数据分发装置;
[0034]下载服务器,用于读取数据处理队列中的数据文件并进行处理。
[0035]本发明实施例提供的数据分发方法、系统及装置,分发服务器接收到用户的数据文件获取请求时,根据数据分发进程的总进程数,确定数据文件的索引ID与数据分发进程的对应关系;分发服务器获取数据库服务器中存储的用户分享的数据文件,根据数据分发进程的进程号、以及预先建立的索引标识ID与数据分发进程的对应关系,将数据文件加载到与相应的数据分发进程对应的数据处理队列中供下载服务器读取。该方法在读取数据时不需要锁表操作,从而避免了因锁表操作所造成的操作时间延迟,提高了数据处理的速度和效率;该方法不会出现锁表操作所带来的堵塞问题,减少了服务器资源的占用率,节约了服务器资源,减轻了服务器负荷。
【附图说明】
[0036]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1是本发明实施例一中数据分发方法的流程图;
[0038]图2是本发明实施例二中数据分发方法的流程图;
[0039]图3是本发明实施例二中确定数据文件索引与进程对应关系的原理示意图;
[0040]图4是本发明实施例中数据分发系统的结构示意图;
[0041]图5是本发明实施例中分发服务器的结构示意图;
[0042]图6是本发明实施例中数据分发装置的结构示意图。
【具体实施方式】
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]为了解决现有技术中数据分发时,存在的处理速度慢、导致资源占用率高甚至导致堵塞的问题,本发明实施例提供一种数据分发方法,该方法在数据分发时不需要锁表机制,其处理速度比较快,能够减低资源占用率,降低堵塞的可能性。下面通过具体的实施例进行详细说明。
[0045]实施例一
[0046]本发明实施例一提供的数据分发方法,其流程如图1所示,包括如下步骤:
[0047]步骤S101:分发服务器接收到用户的数据文件获取请求。
[0048]分发服务器接收用户发送的查询语句,实现接收用户发送的数据文件获取请求。其中查询语句汇总包括查询的关键词等信息。
[0049]步骤S102:分发服务器根据
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1