一种传输数据的方法和系统的制作方法

文档序号:10572805阅读:462来源:国知局
一种传输数据的方法和系统的制作方法
【专利摘要】本发明实施例公开了一种传输数据的方法和系统,属于计算机技术领域。所述方法包括:数据服务器向中转设备发送目标数据包;所述中转设备将所述目标数据包转发至分析服务器;所述分析服务器根据所述目标数据包的接收结果,确定所述目标数据包的接收反馈消息;所述分析服务器向所述中转设备发送所述目标数据包的接收反馈消息;所述中转设备向所述数据服务器转发所述目标数据包的接收反馈消息;所述数据服务器如果确定所述接收反馈消息是接收失败消息,则向所述中转设备重新发送所述目标数据包;所述中转设备将所述数据服务器重新发送的所述目标数据包,转发至所述分析服务器。采用本发明,可以确保数据能发送至分析服务器。
【专利说明】
一种传输数据的方法和系统
技术领域
[0001]本发明涉及计算机技术领域,特别涉及一种传输数据的方法和系统。
【背景技术】
[0002]随着计算机技术和网络技术的发展,各个应用程序的使用人数越来越多,应用程序的后台的数据服务器的用户数据越来越多,技术人员为了分析用户数据(简称数据),将数据服务器的数据发送至预设的分析服务器,分析服务器接收到数据后,对数据进行相应的分析处理,例如,统计某个用户行为出现频率等。
[0003]现有技术中,数据服务器向分析服务器发送数据时,中间经中转设备进行转发。数据服务器将数据包发送至中转设备,中转设备成功接收数据包后,向数据服务器反馈接收成功消息,同时中转设备将数据包发送至分析服务器,分析服务器成功接收数据包后,向中转设备反馈接收成功消息。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]中转设备向数据服务器反馈接收成功消息后,如果中转设备与分析服务器的链路出现故障,中转设备将不能向分析服务器发送数据,导致数据包发送失败,或者,如果中转设备接收到数据包,且反馈接收成功消息后,在向分析服务器发送数据包时出现设备故障,中转设备的数据包将无法发送至分析服务器。而数据服务器已经接收到中转设备反馈的接收成功消息,将不会重新发送该数据包,从而导致无法确保将数据发送至分析服务器。

【发明内容】

[0006]为了解决现有技术的问题,本发明实施例提供了一种传输数据的方法和系统。所述技术方案如下:
[0007]第一方面,提供了一种传输数据的方法,所述方法包括:
[0008]数据服务器向中转设备发送目标数据包;
[0009]所述中转设备将所述目标数据包转发至分析服务器;
[0010]所述分析服务器根据所述目标数据包的接收结果,确定所述目标数据包的接收反馈消息;
[0011 ]所述分析服务器向所述中转设备发送所述目标数据包的接收反馈消息;
[0012]所述中转设备向所述数据服务器转发所述目标数据包的接收反馈消息;
[0013]所述数据服务器如果确定所述接收反馈消息是接收失败消息,则向所述中转设备重新发送所述目标数据包;
[0014]所述中转设备将所述数据服务器重新发送的所述目标数据包,转发至所述分析服务器。
[0015]可选的,所述数据服务器向中转设备发送目标数据包之前,还包括:
[0016]所述数据服务器基于预设的行数目N,对待发送数据记录进行分割,得到至少一个数据单元,每个数据单元包括N个数据行,其中,数据行是维持数据记录完整性的最小单位;
[0017]所述数据服务器分别对所述至少一个数据单元进行压缩,得到至少一个数据包,所述至少一个数据包中包括所述目标数据包。
[0018]这样,可以将数据包分别发至不同的分析服务器。
[0019]可选的,所述数据服务器向所述中转设备重新发送向所述目标数据包之前,还包括:
[0020]所述数据服务器将所述目标数据包设置在当前的待发送数据包队列的最前端。[0021 ]这样,可以降低数据包发送延迟。
[0022]可选的,所述数据服务器与所述中转设备之间设置有多条连接线路;
[0023]所述数据服务器向中转设备发送目标数据包,包括:
[0024]数据服务器通过所述多条连接线路中的第一连接线路向中转设备发送目标数据包;
[0025]所述向所述中转设备重新发送向所述目标数据包,包括:
[0026]所述数据服务器通过所述多条连接线路中除所述第一连接线路之外的其它连接线路,向所述中转设备重新发送向所述目标数据包。
[0027]这样,可以防止数据包再次发送失败。
[0028]可选的,所述中转设备与所述分析服务器之间设置有多条连接线路;
[0029]所述中转设备将所述目标数据包转发至分析服务器,包括:
[0030]所述中转设备将所述目标数据包通过所述多条连接线路中的第二连接线路转发至分析服务器;
[0031]所述中转设备将所述数据服务器重新发送的所述目标数据包,转发至所述分析服务器,包括:
[0032]所述中转设备通过所述多条链接线路中除所述第二连接线路之外的其它连接线路,将所述目标数据包转发至所述分析服务器。
[0033 ]这样,可以防止数据包再次发送失败。
[0034]可选的,所述中转设备将所述目标数据包转发至分析服务器之前,还包括:
[0035]所述中转设备检测各运营商网络的网络质量,确定网络质量最好的目标运营商网络;
[0036]所述中转设备将所述目标数据包转发至分析服务器,包括:
[0037]所述中转设备通过所述目标运营商网络,将所述目标数据包转发至分析服务器。
[0038]可选的,所述方法还包括:
[0039]如果存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则丢弃所述目标数据包,如果不存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则对所述目标数据包进行处理。
[0040]这样,可以防止存储重复数据包。
[0041]第二方面,提供了一种传输数据的系统,所述系统包括数据服务器、中转设备和分析服务器,其中:
[0042]所述数据服务器,用于向所述中转设备发送目标数据包;
[0043]所述中转设备,用于将所述目标数据包转发至所述分析服务器;
[0044]所述分析服务器,用于根据所述目标数据包的接收结果,确定所述目标数据包的接收反馈消息;
[0045]所述分析服务器,用于向所述中转设备发送所述目标数据包的接收反馈消息;
[0046]所述中转设备,用于向所述数据服务器转发所述目标数据包的接收反馈消息;
[0047]所述数据服务器,用于如果确定所述接收反馈消息是接收失败消息,则向所述中转设备重新发送所述目标数据包;
[0048]所述中转设备,用于将所述数据服务器重新发送的所述目标数据包,转发至所述分析服务器
[0049]可选的,所述数据服务器向中转设备发送目标数据包之前,所述数据服务器还用于:
[0050]基于预设的行数目N,对待发送数据记录进行分割,得到至少一个数据单元,每个数据单元包括N个数据行,其中,数据行是维持数据记录完整性的最小单位;
[0051]分别对所述至少一个数据单元进行压缩,得到至少一个数据包,所述至少一个数据包中包括所述目标数据包。
[0052]可选的,所述数据服务器向所述中转设备重新发送向所述目标数据包之前,所述数据服务器,还用于:
[0053]将所述目标数据包设置在当前的待发送数据包队列的最前端。
[0054]可选的,所述数据服务器与所述中转设备之间设置有多条连接线路;
[0055]所述数据服务器,用于通过所述多条连接线路中的第一连接线路向中转设备发送目标数据包;
[0056]所述数据服务器,用于通过所述多条连接线路中除所述第一连接线路之外的其它连接线路,向所述中转设备重新发送向所述目标数据包。
[0057]可选的,所述中转设备与所述分析服务器之间设置有多条连接线路;
[0058]所述中转设备,用于将所述目标数据包通过所述多条连接线路中的第二连接线路转发至分析服务器;
[0059]所述中转设备用于:
[0060]通过所述多条链接线路中除所述第二连接线路之外的其它连接线路,将所述目标数据包转发至所述分析服务器。
[0061]可选的,所述中转设备将所述目标数据包转发至分析服务器之前,所述中转设备,还用于:
[0062]检测各运营商网络的网络质量,确定网络质量最好的目标运营商网络;
[0063]所述中转设备用于:
[0064]通过所述目标运营商网络,将所述目标数据包转发至分析服务器。
[0065]可选的,所述分析服务器,还用于:
[0066]如果存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则丢弃所述目标数据包,如果不存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则对所述目标数据包进行处理。
[0067]本发明实施例提供的技术方案带来的有益效果是:
[0068]本发明实施例中,数据服务器向中转设备发送目标数据包,中转设备将接收到的目标数据包转发至分析服务器,分析服务器接收到目标数据包后,根据接收目标数据包的接收结果,确定目标数据包的接收反馈消息,然后通过中转设备向数据服务器反馈接收反馈消息,数据服务器接收到中转设备发送的接收反馈消息后,如果接收到的接收反馈消息是接收失败消息,则向中转设备重新发送目标数据包,中转设备将重新发送的目标数据包转发至分析服务器。这样,中转设备接收到数据服务器发送的目标数据包后,如果出现故障,导致目标数据包无法发送至分析服务器,那么数据服务器则无法接收到接收反馈消息,数据服务器将向会重发相应的数据包,从而可以确保相应的数据发送至分析服务器。
【附图说明】
[0069]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0070]图1是本发明实施例提供的一种传输数据的方法流程图;
[0071]图2是本发明实施例提供的一种传输数据的系统示意图;
[0072]图3是本发明实施例提供的一种数据服务器传输数据示意图;
[0073]图4是本发明实施例提供的一种中转设备传输数据示意图;
[0074]图5是本发明实施例提供的一种分析服务器传输数据示意图;
[0075]图6是本发明实施例提供的一种数据服务器的结构示意图;
[0076]图7是本发明实施例提供的一种中转设备的结构示意图;
[0077]图8是本发明实施例提供的一种分析服务器的结构示意图。
【具体实施方式】
[0078]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0079]为了便于对本发明实施例的理解,下面首先介绍本发明实施例涉及的传输数据的系统架构。
[0080]本发明实施例的传输数据的系统架构中包含至少一个数据服务器、至少一个中转设备、以及至少一个分析服务器,数据服务器可以是应用程序的后台的数据服务器,中转设备可以部署在双线或三线机房(双线与三线代表运营商,如双线表示电信、联通,三线表示电信、联通、移动),分析服务器能够对数据服务器发送的数据进行处理。本发明实施例以一个数据服务器经一个中转设备向一个分析服务器发送数据包为例进行说明,如图1所示。
[0081]本发明实施例提供了一种传输数据的方法,该方法可以由数据服务器、中转设备和分析服务器共同实现。其中,数据服务器中可以设置有处理器、存储器、收发器等。处理器可以用于传输数据的过程进行处理,存储器可以用于存储在传输数据的过程中需要存储的数据,收发器可以用于接发消息、以及数据。中转设备中可以设置有处理器、收发器等,处理器可以用于传输数据的过程进行处理,收发器可以用于接发消息、以及数据。分析服务器中可以设置有处理器、存储器、收发器等。处理器可以用于传输数据的过程进行处理,存储器可以用于存储在传输数据的过程中需要存储的数据,收发器可以用于接发消息、以及数据。
[0082]本发明实施例中,数据服务器、中转设备和分析服务器各自有主线程,还分别有自己的至少一个其它线程,数据服务器有数据读取线程、压缩与发送线程等,中转设备有数据接收线程、数据发送线程,分析服务器有数据接收线程、解压查重线程、写入线程等,主线程可以控制其它线程执行相应的处理。如图2所示,该方法的处理流程可以包括如下的步骤:
[0083 ]步骤201,数据服务器向中转设备发送目标数据包。
[0084]其中,目标数据包为数据服务器待发送的数据包中的任意一个数据包。
[0085]在实施中,数据服务器中存储的数据为该数据服务器对应的应用程序中的用户数据,用户数据以数据记录存储在数据服务器中。数据服务器中的主线程可以控制数据读取线程,按照预设时长(预设时长可以由技术人员预设,并且存储至数据服务器中,如5秒),读取存储的数据记录,将数据记录分割为数据单元,并且进行编号,将分割好的数据单元放置于发送数据的普通队列,然后主线程控制某个压缩与发送线程,从普通队列中获取目标数据单元,将目标数据单元进行压缩(压缩数据单元时,可以采用压缩比最高的压缩方法进行压缩),得到目标数据包,将目标数据包发送至中转设备。如图3所示,为数据服务器传输数据的流程图。
[0086]另外,数据服务器将目标数据发送至中转设备后,可以将目标数据的编号存储至已发送列表中,这样可以防止数据服务器重复发送目标数据包。
[0087]可选的,数据服务器与中转设备之间设置有多条连接线路;步骤201的处理可以如下:通过多条连接线路中的第一连接线路向中转设备发送目标数据包。
[0088]其中,第一连接线路为数据服务器与中转设备之间的多条连接线路中的任意一条连接线路。
[0089]在实施中,数据服务器与中转设备之间有多条连接线路,数据服务器可以通过第一连接线路将目标数据包发送至中转设备。
[0090]另外,数据服务器中设置有网络质量检测线程,可以用于检测各条连接线路的网络质量,在发送目标数据包时,可以在网络质量高于预设阈值的连接线路中,选取第一连接线路向中转设备发送目标数据包。
[0091 ]可选的,数据服务器在发送目标数据包之前,确定目标数据包的方法可以如下:
[0092]基于预设的行数目N,对待发送数据记录进行分割,得到至少一个数据单元,每个数据单元包括N个数据行,其中,数据行是维持数据记录完整性的最小单位;
[0093]分别对至少一个数据单元进行压缩,得到至少一个数据包,至少一个数据包中包括目标数据包。
[0094]其中,数据行是维持数据记录完整性的最小单位,保持数据记录完整性的数据包发送至分析服务器后,分析服务器可以直接进行处理,而不需要将多个数据包进行整合后,再进行处理。
[0095]在实施中,技术人员可以预设行数目N,并且存储至数据服务器中。数据服务器中的数据读取线程可以读取待发送数据记录,并以预设的行数目N,对待发送数据记录进行分害J,每N个数据行被分割为一个数据单元,这样得到至少一个数据单元,然后压缩与发送进程对分割好的数据单元进行压缩,得到至少一个数据包,至少一个数据包中包括了目标数据包。例如,技术人员预设的行数目N为5,则数据服务器可以将5行数据记录分割为一个数据单元。
[0096]另外,数据服务器中设置有网络质量检测线程,用于检测运营商网络的网络质量,如果运营商网络的网络质量低于预设质量阈值,数据服务器可以降低预设的行数目N,进而可以降低每个数据包的大小。例如,如果运营商网络的网络质量低于预设质量阈值,数据服务器中的数据读取线程可以将预设的行数目N降低至N-1,这样,进行分割数据单元时,可以以行数目为N-1,进行分割。
[0097]步骤202,中转设备将目标数据包转发至分析服务器。
[0098]在实施中,如图4所示,中转设备的数据接收线程接收数据服务器发送的目标数据包后,中转设备不缓存目标数据包,也就是进行透传。中转设备可以将目标数据包放置在数据发送队列,某个数据发送线程从数据发送队列中获取目标数据包,将目标数据包转发至分析服务器。
[0099]可选的,中转设备与分析服务器之间设置有多条连接线路,步骤202的处理可以如下:
[0100]将目标数据包通过多条连接线路中的第二连接线路转发至分析服务器。
[0101]其中,第二连接线路为中转设备与分析服务器之间的多条连接线路中的任意一条连接线路。
[0102]在实施中,中转设备与分析服务器之间设置有多条连接线路,中转设备的数据接收线程接收到数据服务器发送的目标数据包后,中转设备可以将目标数据包放置于数据发送队列,数据发送线程可以从数据发送队列中获取目标数据包,通过多条连接线路中的第二连接线路转发至分析服务器。
[0103]另外,中转设备中可以设置有网络质量检测线程,可以用于检测各条连接线路的网络质量,在发送目标数据包时,可以在网络质量高于预设阈值的连接线路中,选取第二连接线路向分析服务器发送目标数据包。
[0104]可选的,将目标数据包转发至分析服务器之前,还可以选择运营商网络发送目标数据包,相应的处理可以如下:
[0105]检测各运营商网络的网络质量,确定网络质量最好的目标运营商网络;
[0106]通过目标运营商网络,将目标数据包转发至分析服务器。
[0107]在实施中,中转设备接收到数据服务器发送的目标数据包后,可以检测各运营商网络的网络质量,可以是确定各运营商网络当前的网速,然后确定网络质量最好的目标运营商网络,也就是网速最快的目标运营商网络,然后使用目标运营商网络,将目标数据包转发至分析服务器。例如,中转设备中设置有双线网卡,一个是联通网卡,一个是电信网卡,分别对应联通网络与电信网络,中转设备接收到目标数据包后,可以检测双线网卡分别对应的网络的网络质量,检测到电信网络的网络质量比联通网络的网络质量好,则中转设备可以通过电信网络,将目标数据包转发至分析服务器。
[0108]步骤203,分析服务器根据目标数据包的接收结果,确定目标数据包的接收反馈消息。
[0109]在实施中,如图5所示,分析服务器的数据接收线程接收中转设备转发的目标数据包后,将目标数据包缓存至共享内存中,然后查看是否正确定接收目标数据包,也就是确定目标数据包是否损坏,进而确定出目标数据包的接收结果(接收成功或接收失败)。
[0110]分析服务器确定目标数据包的接收结果后,如果目标数据包的接收结果是接收成功,则确定目标数据包的接收反馈消息为接收成功反馈消息,如果目标数据包的接收结果是接收失败,则确定目标数据包的接收反馈消息为接收失败反馈消息。
[0111]步骤204,分析服务器向中转设备发送目标数据包的接收反馈消息。
[0112]在实施中,分析服务器确定目标数据包的接收反馈消息后,可以将目标数据包的接收反馈消息发送至中转设备。
[0113]步骤205,中转设备向数据服务器转发目标数据包的接收反馈消息。
[0114]在实施中,中转设备接收到分析服务器发送的目标数据包的接收反馈消息后,可以将目标数据包的接收反馈消息发送至数据服务器。
[0115]步骤206,数据服务器如果确定接收反馈消息是接收失败消息,则向中转设备重新发送目标数据包。
[0116]在实施中,数据服务器接收到目标数据包的接收反馈消息后,如果目标数据包的接收反馈消息为接收失败消息,则获取目标数据包,然后将目标数据包重新发送至中转设备。
[0117]另外,如果目标数据包的接收反馈消息为接收成功消息,则数据服务器向中转设备发送新的数据包。
[0118]另外,如果数据服务器在预设时长内,未接收到分析服务器经中转设备发送的目标数据包的接收反馈消息,向中转设备重新发送目标数据包,以使中转设备将目标数据包重新发送至分析服务器。其中,预设时长由技术人员设置,并且存储至数据服务器中。
[0119]可选的,重新发送目标数据包的方法可以如下:
[0120]将目标数据包设置在当前的待发送数据包队列的最前端。
[0121]在实施中,如图3所示,技术人员在数据服务器设置优先队列和普通队列,数据服务器在发送数据包时,首先发送优先队列中的数据包,优先队列中的数据包发送完毕时,发送普通队列中的数据包。当数据服务器接收到目标数据包的接收失败反馈消息时,将目标数据包设置在优先队列的队尾,数据服务器中的数据发送线程从优先队列获取目标数据包,进行发送。
[0122]可选的,数据服务器与中转设备之间设置有多条连接线路,步骤206的处理可以如下:通过多条连接线路中除第二连接线路之外的其它连接线路,向中转设备重新发送目标数据包。
[0123]在实施中,数据服务器与中转设备之间设置有多条连接线路,数据服务器重新发送目标数据包时,可以确定上一次发送目标数据包所使用的连接线路,上一次发送目标数据包所使用的连接线路为第二连接线路,重新发送目标数据包时,可以通过多条连接线路中除第二连接线路之外的其它连接线路,将目标数据包重新发送至中转设备。这样,数据服务器第一次向中转设备发送目标数据包时,发送失败,有可能是由于连接线路问题,这次更换连接线路重新发送,可以提高目标数据包的发送成功率。
[0124]步骤207,中转设备将数据服务器重新发送的目标数据包,转发至分析服务器。
[0125]在实施中,中转设备接收到数据服务器重新发送的目标数据包后,不进行存储目标数据包,直接将目标数据包转发至分析服务器。
[0126]本发明实施例还提供了,中转设备与分析服务器之间设置有多条连接线路,中转设备向分析服务器发送目标数据包的方法,相应的处理可以如下:
[0127]接收数据服务器重新发送的目标数据包;
[0128]通过多条链接线路中除第二连接线路之外的其它连接线路,将目标数据包转发至分析服务器。
[0129]在实施中,中转设备接收数据服务器重新发送的目标数据包后,中转设备可以确定上一次发送目标数据包所使用的连接线路,上一次发送目标数据包所使用的连接线路为第二连接线路,重新发送目标数据包时,可以通过多条连接线路中第二连接线路之外的其它连接线路,将目标数据包重新发送至分析服务器。这样,中转设备第一次向分析服务器发送目标数据包时,发送失败,有可能是由于连接线路问题,这次更换连接线路重新发送,可以提高目标数据包的发送成功率。
[0130]本发明实施例中还提供了分析服务器进行查重的方法相应的处理可以如下:
[0131]如果存在已接收的其它数据包的标识信息与目标数据包的标识信息相同,则丢弃目标数据包,如果不存在已接收的其它数据包的标识信息与目标数据包的标识信息相同,则对目标数据包进行处理。
[0132]在实施中,数据服务器在分割好数据单元后,为每一个数据单元都添加了标识信息,标识信息可以包括分析服务器的IPdnternet Protocol,网络之间互连的协议)地址、数据单元中的数据时间戳(也就是数据的生成时间)、数据单元的编号,这样相当于各个数据包都有自己的标识信息。分析服务器在存储数据包时,对应存储各数据包的标识信息。
[0133]分析服务器接收到目标数据包后,解压查重线程可以对目标数据包进行解压缩,并且可以获取目标数据包的标识信息,然后查看目标数据包的标识信息与已接收的其它数据包的标识信息是否相同,如果存在已接收的其它数据包的标识信息与目标数据包的标识信息完全相同,则可以将目标数据包丢弃,如果不存在已接收的其它数据包的标识信息与目标数据包的标识信息完全相同,则分析服务器可以对目标数据进行处理(如存储)。这样,分析服务器可以防止由于数据服务器的异常,重复发送数据包引起的数据重复。
[0134]本发明实施例中还提供了,分析服务器缓存目标数据包后,写入分布式计算系统Hadoop的方法,相应的处理可以如下:
[0135]在实施中,分析服务器接收目标数据包后,可以将目标数据包存储至分析服务器的共享内存中,然后可以对目标数据包进行解压缩查重,获取到目标数据包中的数据,这样,即使发送的目标数据的连接线路断开,数据也不会丢失,当数据服务器确定共享内存中的数据量达到预设的写入数据量阈值(如10M)时,写入线程(分析服务中有多个写入线程,可以同时写数据)将共享内存中解压缩后的数据写入到Hadoop中。如果预设时长内,数据服务器确定共享内存中的数据量未达到预设的写入数据量阈值,为了不影响数据的处理,可以将共享内存中解压缩后的数据写入到Hadoop中。
[0136]另外,当分析服务器不能将数据写入到Hadoop时,分析服务器可以将数据写入到自身的磁盘中,当分析服务器检测到数据可以写入Hadoop时,从磁盘中读取数据,将数据写入到Hadoop中,然后清空磁盘中存储的数据。
[0137]另外,分析服务器将数据包的数据写入Hadoop时,传输结果统计线程还可以确定数据包的数据量,以及接收时间等,然后将数据包的数据量、以及接收时间存储至数据库管理系统。
[0138]本发明实施例中,数据服务器向中转设备发送目标数据包,中转设备将接收到的目标数据包转发至分析服务器,分析服务器接收到目标数据包后,根据接收目标数据包的接收结果,确定目标数据包的接收反馈消息,然后通过中转设备向数据服务器反馈接收反馈消息,数据服务器接收到中转设备发送的接收反馈消息后,如果接收到的接收反馈消息是接收失败消息,则向中转设备重新发送目标数据包,中转设备将目标数据包转发至分析服务器。这样,中转设备接收到数据服务器发送的目标数据包后,如果出现故障,导致目标数据包无法发送至分析服务器,那么数据服务器则无法接收到接收反馈消息,数据服务器将向会重发相应的数据包,从而可以确保相应的数据发送至分析服务器。
[0139]基于相同的技术构思,本发明实施例还提供了一种传输数据的系统,该系统包括数据服务器、中转设备和分析服务器,其中:
[0140]所述数据服务器,用于向所述中转设备发送目标数据包;
[0141 ]所述中转设备,用于将所述目标数据包转发至所述分析服务器;
[0142]所述分析服务器,用于根据所述目标数据包的接收结果,确定所述目标数据包的接收反馈消息;
[0143]所述分析服务器,用于向所述中转设备发送所述目标数据包的接收反馈消息;
[0144]所述中转设备,用于向所述数据服务器转发所述目标数据包的接收反馈消息;
[0145]所述数据服务器,用于如果确定所述接收反馈消息是接收失败消息,则向所述中转设备重新发送所述目标数据包;
[0146]所述中转设备,用于将所述数据服务器重新发送的所述目标数据包,转发至所述分析服务器。
[0147]可选的,所述数据服务器向中转设备发送目标数据包之前,所述数据服务器还用于:
[0148]基于预设的行数目N,对待发送数据记录进行分割,得到至少一个数据单元,每个数据单元包括N个数据行,其中,数据行是维持数据记录完整性的最小单位;
[0149]分别对所述至少一个数据单元进行压缩,得到至少一个数据包,所述至少一个数据包中包括所述目标数据包。
[0150]可选的,所述数据服务器向所述中转设备重新发送向所述目标数据包之前,所述数据服务器,还用于:
[0151]将所述目标数据包设置在当前的待发送数据包队列的最前端。
[0152]可选的,所述数据服务器与所述中转设备之间设置有多条连接线路;
[0153]所述数据服务器,用于通过所述多条连接线路中的第一连接线路向中转设备发送目标数据包;
[0154]所述数据服务器,用于通过所述多条连接线路中除所述第一连接线路之外的其它连接线路,向所述中转设备重新发送向所述目标数据包。
[0155]可选的,所述中转设备与所述分析服务器之间设置有多条连接线路;
[0156]所述中转设备,用于将所述目标数据包通过所述多条连接线路中的第二连接线路转发至分析服务器;
[0157]所述中转设备,用于:
[0158]通过所述多条链接线路中除所述第二连接线路之外的其它连接线路,将所述目标数据包转发至所述分析服务器。
[0159]可选的,所述中转设备将所述目标数据包转发至分析服务器之前,所述中转设备,还用于:
[0160]检测各运营商网络的网络质量,确定网络质量最好的目标运营商网络;
[0161]所述中转设备用于:
[0162]通过所述目标运营商网络,将所述目标数据包转发至分析服务器。
[0163]可选的,所述分析服务器,还用于:
[0164]如果存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则丢弃所述目标数据包,如果不存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则对所述目标数据包进行处理。
[0165]本发明实施例中,数据服务器向中转设备发送目标数据包,中转设备将接收到的目标数据包转发至分析服务器,分析服务器接收到目标数据包后,根据接收目标数据包的接收结果,确定目标数据包的接收反馈消息,然后通过中转设备向数据服务器反馈接收反馈消息,数据服务器接收到中转设备发送的接收反馈消息后,如果接收到的接收反馈消息是接收失败消息,则向中转设备重新发送目标数据包,中转设备将重新发送的目标数据包转发至分析服务器。这样,中转设备接收到数据服务器发送的目标数据包后,如果出现故障,导致目标数据包无法发送至分析服务器,那么数据服务器则无法接收到接收反馈消息,数据服务器将向会重发相应的数据包,从而可以确保相应的数据发送至分析服务器。
[0166]需要说明的是:上述实施例提供的传输数据的系统在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将传输数据的系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的传输数据的系统与传输数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0167]图6是本发明实施例提供的数据服务器的结构示意图。该数据服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在数据服务器600上执行存储介质630中的一系列指令操作。
[0168]数据服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口 650,一个或一个以上输入输出接口 658,一个或一个以上键盘656,和/或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0169]数据服务器600可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0170]向中转设备发送目标数据包,以使所述中转设备将所述目标数据包转发至分析服务器;
[0171]接收由所述分析服务器反馈并由所述中转设备转发的所述目标数据包的接收反馈消息;
[0172]如果确定所述接收反馈消息是接收失败消息,则向所述中转设备重新发送向所述目标数据包,以使所述中转设备将所述目标数据包转发至分析服务器。
[0173]可选的,所述向中转设备发送目标数据包之前,还包括:
[0174]基于预设的行数目N,对待发送数据记录进行分割,得到至少一个数据单元,每个数据单元包括N个数据行,其中,数据行是维持数据记录完整性的最小单位;
[0175]分别对所述至少一个数据单元进行压缩,得到至少一个数据包,所述至少一个数据包中包括所述目标数据包。
[0176]可选的,所述向所述中转设备重新发送向所述目标数据包之前,还包括:
[0177]将所述目标数据包设置在当前的待发送数据包队列的最前端。
[0178]可选的,所述数据服务器与所述中转设备之间设置有多条连接线路;
[0179]所述向中转设备发送目标数据包,包括:
[0180]通过所述多条连接线路中的第一连接线路向中转设备发送目标数据包;
[0181]所述向所述中转设备重新发送向所述目标数据包,包括:
[0182]通过所述多条连接线路中除所述一连接线路之外的其它连接线路,向所述中转设备重新发送向所述目标数据包。
[0183]本发明实施例中,数据服务器向中转设备发送目标数据包,中转设备将接收到的目标数据包转发至分析服务器,分析服务器接收到目标数据包后,根据接收目标数据包的接收结果,确定目标数据包的接收反馈消息,然后通过中转设备向数据服务器反馈接收反馈消息,数据服务器接收到中转设备发送的接收反馈消息后,如果接收到的接收反馈消息是接收失败消息,则向中转设备重新发送目标数据包,中转设备将目标数据包转发至分析服务器。这样,中转设备接收到数据服务器发送的目标数据包后,如果出现故障,导致目标数据包无法发送至分析服务器,那么数据服务器则无法接收到接收反馈消息,数据服务器将向会重发相应的数据包,从而可以确保相应的数据发送至分析服务器。
[0184]图7是本发明实施例提供的中转设备的结构示意图。该中转设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对中转设备中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在中转设备700上执行存储介质730中的一系列指令操作。
[0185]中转设备700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口 750,一个或一个以上输入输出接口 758,一个或一个以上键盘756,和/或,一个或一个以上操作系统741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0186]中转设备700可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0187]接收数据服务器发送的目标数据包;
[0188]将所述目标数据包转发至分析服务器;
[0189]当接收到所述分析服务器反馈的所述目标数据包的接收反馈消息时,向所述数据服务器转发所述目标数据包的接收反馈消息,以使所述数据服务器根据所述接收反馈消息,确定是否重新传输所述目标数据包;
[0190]将所述数据服务器重新发送的所述目标数据包转发至所述分析服务器。
[0191]可选的,所述将所述目标数据包转发至分析服务器之前,还包括:
[0192]检测各运营商网络的网络质量,确定网络质量最好的目标运营商网络;
[0193]所述将所述目标数据包转发至分析服务器,包括:
[0194]通过所述目标运营商网络,将所述目标数据包转发至分析服务器。
[0195]可选的,所述中转设备与所述分析服务器之间设置有多条连接线路;
[0196]所述将所述目标数据包转发至分析服务器,包括:
[0197]将所述目标数据包通过所述多条连接线路中的第二连接线路转发至分析服务器;
[0198]所述将所述数据服务器重新发送的所述目标数据包转发至所述分析服务器,包括:
[0199]通过所述多条链接线路中除所述第二连接线路之外的其它连接线路,将所述目标数据包转发至所述分析服务器。
[0200]本发明实施例中,数据服务器向中转设备发送目标数据包,中转设备将接收到的目标数据包转发至分析服务器,分析服务器接收到目标数据包后,根据接收目标数据包的接收结果,确定目标数据包的接收反馈消息,然后通过中转设备向数据服务器反馈接收反馈消息,数据服务器接收到中转设备发送的接收反馈消息后,如果接收到的接收反馈消息是接收失败消息,则向中转设备重新发送目标数据包,中转设备将目标数据包转发至分析服务器。这样,中转设备接收到数据服务器发送的目标数据包后,如果出现故障,导致目标数据包无法发送至分析服务器,那么数据服务器则无法接收到接收反馈消息,数据服务器将向会重发相应的数据包,从而可以确保相应的数据发送至分析服务器。
[0201]图8是本发明实施例提供的分析服务器的结构示意图。该分析服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)822(例如,一个或一个以上处理器)和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对分析服务器中的一系列指令操作。更进一步地,中央处理器822可以设置为与存储介质830通信,在分析服务器800上执行存储介质830中的一系列指令操作。
[0202]分析服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口 850,一个或一个以上输入输出接口 858,一个或一个以上键盘856,和/或,一个或一个以上操作系统841,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0203]分析服务器800可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0204]接收数据服务器通过中转设备发送的目标数据包;
[0205]根据所述目标数据包的接收结果,确定所述目标数据包的接收反馈消息;
[0206]通过所述中转设备向所述数据服务器反馈所述目标数据包的接收反馈消息。
[0207]可选的,所述方法还包括:
[0208]如果存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则丢弃所述目标数据包,如果不存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则对所述目标数据包进行处理。
[0209]本发明实施例中,数据服务器向中转设备发送目标数据包,中转设备将接收到的目标数据包转发至分析服务器,分析服务器接收到目标数据包后,根据接收目标数据包的接收结果,确定目标数据包的接收反馈消息,然后通过中转设备向数据服务器反馈接收反馈消息,数据服务器接收到中转设备发送的接收反馈消息后,如果接收到的接收反馈消息是接收失败消息,则向中转设备重新发送目标数据包,中转设备将目标数据包转发至分析服务器。这样,中转设备接收到数据服务器发送的目标数据包后,如果出现故障,导致目标数据包无法发送至分析服务器,那么数据服务器则无法接收到接收反馈消息,数据服务器将向会重发相应的数据包,从而可以确保相应的数据发送至分析服务器。
[0210]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0211]以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种传输数据的方法,其特征在于,所述方法包括: 数据服务器向中转设备发送目标数据包; 所述中转设备将所述目标数据包转发至分析服务器; 所述分析服务器根据所述目标数据包的接收结果,确定所述目标数据包的接收反馈消息; 所述分析服务器向所述中转设备发送所述目标数据包的接收反馈消息; 所述中转设备向所述数据服务器转发所述目标数据包的接收反馈消息; 所述数据服务器如果确定所述接收反馈消息是接收失败消息,则向所述中转设备重新发送所述目标数据包; 所述中转设备将所述数据服务器重新发送的所述目标数据包,转发至所述分析服务器。2.根据权利要求1所述的方法,其特征在于,所述数据服务器向中转设备发送目标数据包之前,还包括: 所述数据服务器基于预设的行数目N,对待发送数据记录进行分割,得到至少一个数据单元,每个数据单元包括N个数据行,其中,数据行是维持数据记录完整性的最小单位;所述数据服务器分别对所述至少一个数据单元进行压缩,得到至少一个数据包,所述至少一个数据包中包括所述目标数据包。3.根据权利要求1所述的方法,其特征在于,所述数据服务器向所述中转设备重新发送所述目标数据包之前,还包括: 所述数据服务器将所述目标数据包设置在当前的待发送数据包队列的最前端。4.根据权利要求1所述的方法,其特征在于,所述数据服务器与所述中转设备之间设置有多条连接线路; 所述数据服务器向中转设备发送目标数据包,包括: 数据服务器通过所述多条连接线路中的第一连接线路向中转设备发送目标数据包; 所述向所述中转设备重新发送向所述目标数据包,包括: 所述数据服务器通过所述多条连接线路中除所述第一连接线路之外的其它连接线路,向所述中转设备重新发送向所述目标数据包。5.根据权利要求1所述的方法,其特征在于,所述中转设备与所述分析服务器之间设置有多条连接线路; 所述中转设备将所述目标数据包转发至分析服务器,包括: 所述中转设备将所述目标数据包通过所述多条连接线路中的第二连接线路转发至分析服务器; 所述中转设备将所述数据服务器重新发送的所述目标数据包,转发至所述分析服务器,包括: 所述中转设备通过所述多条链接线路中除所述第二连接线路之外的其它连接线路,将所述目标数据包转发至所述分析服务器。6.根据权利要求1所述的方法,其特征在于,所述中转设备将所述目标数据包转发至分析服务器之前,还包括: 所述中转设备检测各运营商网络的网络质量,确定网络质量最好的目标运营商网络; 所述中转设备将所述目标数据包转发至分析服务器,包括: 所述中转设备通过所述目标运营商网络,将所述目标数据包转发至分析服务器。7.根据权利要求1所述的方法,其特征在于,所述方法还包括: 如果存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则丢弃所述目标数据包,如果不存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则对所述目标数据包进行处理。8.一种传输数据的系统,其特征在于,所述系统包括数据服务器、中转设备和分析服务器,其中: 所述数据服务器,用于向所述中转设备发送目标数据包; 所述中转设备,用于将所述目标数据包转发至所述分析服务器; 所述分析服务器,用于根据所述目标数据包的接收结果,确定所述目标数据包的接收反馈消息; 所述分析服务器,用于向所述中转设备发送所述目标数据包的接收反馈消息; 所述中转设备,用于向所述数据服务器转发所述目标数据包的接收反馈消息; 所述数据服务器,用于如果确定所述接收反馈消息是接收失败消息,则向所述中转设备重新发送所述目标数据包; 所述中转设备,用于将所述数据服务器重新发送的所述目标数据包,转发至所述分析服务器。9.根据权利要求8所述的系统,其特征在于,所述数据服务器向中转设备发送目标数据包之前,所述数据服务器还用于: 基于预设的行数目N,对待发送数据记录进行分割,得到至少一个数据单元,每个数据单元包括N个数据行,其中,数据行是维持数据记录完整性的最小单位; 分别对所述至少一个数据单元进行压缩,得到至少一个数据包,所述至少一个数据包中包括所述目标数据包。10.根据权利要求8所述的系统,其特征在于,所述数据服务器向所述中转设备重新发送所述目标数据包之前,所述数据服务器,还用于: 将所述目标数据包设置在当前的待发送数据包队列的最前端。11.根据权利要求8所述的系统,其特征在于,所述数据服务器与所述中转设备之间设置有多条连接线路; 所述数据服务器,用于通过所述多条连接线路中的第一连接线路向中转设备发送目标数据包; 所述数据服务器,用于通过所述多条连接线路中除所述第一连接线路之外的其它连接线路,向所述中转设备重新发送向所述目标数据包。12.根据权利要求8所述的系统,其特征在于,所述中转设备与所述分析服务器之间设置有多条连接线路; 所述中转设备,用于将所述目标数据包通过所述多条连接线路中的第二连接线路转发至分析服务器; 所述中转设备,用于: 通过所述多条链接线路中除所述第二连接线路之外的其它连接线路,将所述目标数据包转发至所述分析服务器。13.根据权利要求8所述的系统,其特征在于,所述中转设备将所述目标数据包转发至分析服务器之前,所述中转设备,还用于: 检测各运营商网络的网络质量,确定网络质量最好的目标运营商网络; 所述中转设备用于: 通过所述目标运营商网络,将所述目标数据包转发至分析服务器。14.根据权利要求8所述的系统,其特征在于,所述分析服务器,还用于: 如果存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则丢弃所述目标数据包,如果不存在已接收的其它数据包的标识信息与所述目标数据包的标识信息相同,则对所述目标数据包进行处理。
【文档编号】H04L1/18GK105933453SQ201610506071
【公开日】2016年9月7日
【申请日】2016年6月28日
【发明人】袁旺柳, 夏聪
【申请人】广州华多网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1