局域网内的数据分发方法、服务器及终端设备的制造方法_2

文档序号:8248226阅读:来源:国知局
施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0068]图1示出了本发明一个实施例中一种局域网内数据分发方法的步骤流程示意图。参见图1,该方法包括:
[0069]步骤101:接收一终端设备发送的数据分发请求,所述数据分发请求包括待分发数据的信息以及多个终端设备的标识;
[0070]步骤102:根据所述待分发数据的信息获取所述待分发数据,并根据所述待分发数据生成多个数据单元;
[0071]步骤103:以多播的通信方式将所述多个数据单元发送给与所述多个终端设备的标识对应的多个终端设备,以使所述多个终端设备根据接收到的所述多个数据单元得到所述待分发数据。
[0072]在本发明实施例中,上述方法的各个步骤均是以服务器为主体来执行的;当然,本发明实施例中的服务器是与作为数据接收方一一终端设备相对应的数据发送方的设备,而本发明实施例并不具体限定设备的类型。
[0073]其中,上述局域网(Local Area Network,LAN)可以是在某一区域内由多台计算机互联成的计算机组,例如企业中多台计算机、终端设备(以下简称“终端”)与外部设备互联成的网络。上述数据可以是设备中任意格式的数值或者数值集合,例如计算机操作系统中的各种格式的文件或者多个文件所在的目录。上述数据分发指的是将同一份数据传输给多个终端,具体可以是将同一份补丁文件发送给指定的多台计算机,或者将同一个数据库拷贝至指定的多台终端的存储器当中。
[0074]上述步骤101中,服务器所接收到的数据分发请求可以来自任意位置,比如由管理员人工输入、由待接收数据的终端发送、由外部控制设备发送等等,本发明对此不做限制。视具体应用场景的不同,上述待分发数据的信息可以包括文件名、文件类型、文件类型、文件大小、文件所在路径,或者数据字段的标识、长度、特征信息等等;上述多个终端设备的标识可以是终端在通信网络中的位置标识,比如IP地址(或IP段)、路由表、协议地址等等。
[0075]上述步骤102中,获取所述待分发数据的方式可以是根据特征信息筛选查找、根据位置标识读取,或者根据请求利用其它装置获取等等;上述根据所述待分发数据生成多个数据单元的具体实现方式可以是直接将待分发数据按照预设的规格(与所用的具体传输协议对应)分为多个适于传输的数据单元(可以包括协议头),或者在划分之前先加入纠错编码或校验编码等信息,或者在加入其他信息前进行如加密、格式转换、压缩等处理。
[0076]上述步骤103中,多播的通信协议一般都是基于用户数据包协议(User DatagramProtocol,UDP)的,可以具体为下述协议中的一种或者多种:远程矢量多点传送路由协议(Distance Vector Multicast Routing Protocol,DVMRP)、组播开放最短路径优先协议(Multicast Open Shortest Path First,MOSPF),密集模式独立组播协议(Protocol-1ndependent Multicast-Dense Mode, PIM-DM)、基准树协议(Core BasedTrees, CBT)和稀疏模式独立组播协议(Protocol-1ndependent Multicast-Sparse Mode,PIM-SM)等。
[0077]以企业内网的补丁文件批量传输情景为例,假设主机需要向内网中的多个终端传输同一份补丁文件,补丁文件的大小约为几十GB。那么按照传统的点对点传输方式,每一终端与主机之间均需要建立一个传输该补丁文件的路由,并使得补丁文件以数据包的形式从主机出发沿该路由传输到该终端处。因此,在同一时间内主机向100个终端传输的数据包在链路上的总量就相当于100个同一补丁文件的大小,即数据传输总量为上千GB。当然,企业内网的通信资源总量是有限的,而且数据包都是由主机出发向终端传输的,上千GB的数据传输总量很容易造成网络拥塞,且使得补丁文件的传输效率非常低。
[0078]然而,通过本发明实施例的技术方案,服务器只需要将大小为几十GB的补丁文件以多播的通信方式发送给多个终端,其中一种情况可以是服务器将补丁文件拆分后分给多个网络节点,使得网络节点复制数据后再与其他网络节点互通有无,使得数据单元可以在通信网络中呈网状扩散,且整个通信链路中只存在一份补丁文件的数据量,因而可以充分利用网络中的通信资源,避免了点对点传输方式所造成的网络拥塞,提高了补丁文件的传输效率。
[0079]由此可见,本发明实施例所提供的局域网内的数据分发方法可以采用多播的通信方式使服务器向多个终端设备发送数据单元、并使设备终端接收数据单元,实现了局域网内的数据分发,并使得整个通信链路上只存在至多几份同样的数据,因而大大减少了数据分发过程对通信资源的占用,降低了通信网络的负荷。
[0080]另外,上述步骤102:根据所述待分发数据的信息获取所述待分发数据,并根据所述待分发数据生成多个数据单元,可以具体包括图2所示出的步骤:
[0081]步骤1021:根据所述待分发数据的信息获取所述待分发数据;
[0082]步骤1022:将所述待分发数据分为多个原始数据单元;
[0083]步骤1023:利用前向纠错编码算法根据所述多个原始数据单元得到多个校验数据单元,以得到包括多个原始数据单元和多个校验数据单元的多个数据单元。
[0084]上述前向纠错(Forward Error Correct1n,FEC)编码算法可以说是一种增加传输数据冗余度来提高传输可靠性的算法。通过该算法,终端不需要接收到服务器所发送的所有数据单元,也可以还原出服务器所发送的全部原始数据,即通信过程中可以允许丢包。同时,接收到的多个数据单元还可以用于对接收到的原始数据进行纠错,以进一步提高传输过程的可靠性。
[0085]进一步地,上述步骤1022:将所述待分发数据分为多个原始数据单元,可以具体包括图3所示出的步骤:
[0086]步骤10221:将所述待分发数据分为多个文件片段;
[0087]步骤10222:利用数据校验编码算法根据所述文件片段生成与每一文件片段对应的校验信息,所述数据校验编码算法包括文件完整性校验编码算法和/或循环冗余校验编码算法;
[0088]步骤10223:在每一文件片段中添加与该文件片段对应的校验信息,得到多个文件传输单元;
[0089]步骤10224:将每一所述文件传输单元分为多个大小相同的数据块,并将每一所述数据块分为多个原始数据单元。
[0090]采用上述方式可将校验信息添加至被分割前的文件传输单元中,以实现对接收数据的校验,保障传输过程的可靠性。
[0091]另外,上述步骤103:以多播的通信方式将所述多个数据单元发送给与所述多个终端设备的标识对应的多个终端设备,以使所述多个终端设备根据接收到的所述多个数据单元得到所述待分发数据,可以具体包括图中未示出的步骤:服务器以多播的通信方式重复发送所述多个数据单元给待接收数据的多个终端设备直至满足预设条件。即,可使服务器反复发送多份相同的多个数据单元,使得出于各种原因导致的数据单元丢失或错误均可以在下一轮的数据单元发送过程中重新接收,以进一步保障通信的可靠性。
[0092]基于同样的发明构思,本发明实施例提供了一种局域网内的数据分发方法,参见图4所示出的步骤流程示意图,该方法包括:
[0093]步骤402:接收所述服务器以多播的通信方式发送的多个数据单元;
[0094]步骤403:根据接收到的所述多个数据单元得到所述待分发数据。
[0095]在本发明实施例中,上述方法的各个步骤均是以终端设备为主体来执行的;当然,本发明实施例中的终端设备是与上文实施例中作为数据发送方一一服务器相对应的数据接收方的设备,而本发明实施例并不具体限定设备的类型。
[0096]为了实现数据分发请求的发送,上述方法还可以在步骤402之前包括图中未示出的步骤401:向服务器发送数据分发请求,所述数据分发请求包括待分发数据的信息以及多个终端设备的标识。
[0097]可见,与上一实施例所对应,本实施例所提供的方法中终端设备可以发送上述数据分发请求、接收服务器以多播的通信方式发送的多个数据单元、并以与根据待分发数据生成多个数据单元相反的顺序还原出待分发数据,因而同样可以实现局域网内的数据分发,并使得整个通信链路上只存在至多几份同样的数据,因而大大减少了数据分发过程对通信资源的占用,降低了通信网络的负荷。
[0098]可选地,上述步骤403:根据接收到的所述多个数据单元得到所述待分发数据,可以具体包括图4中未示出的下述步骤:
[0099]步骤4031:当接收到的数据单元的数目达到预设值时,利用前向纠错编码算法根据接收到的多个数据单元得到所述待分发数据;其中,所述数据单元包括由待分发数据分得的多个原始数据单元和利用所述前向纠错编码算法根据所述原始数据单元得到的多个校验数据单元。
[0100]上述前向纠错(Forward Error Correct1n,FEC)编码算法可以说是一种增加传输数据冗余度来提高传输可靠性的算法。通过该算法,终端不需要接收到服务器所发送的所有数据单元,也可以还原出服务器所发送的全部原始数据,即通信过程中可以允许丢包。同时,接收到的多个数据单元还可以用于对接收到的原始数据进行纠错,以进一步提高传输过程的可靠性。
[0101]进一步地,上述步骤403:根据接收到的所述多个数据单元得到所述待分发数据,还可以具体包括图4中未示出的下述步骤:
[0102]步骤4032:当根据接收到的多个数据单元不能得到正确的待分发数据时,执行以下操作中的一项或多项:
[0103]利用前向纠错编码算法对得到的待分发数据进行纠错;
[0104]抛弃已经接收到的所述多个数据单元,并继续接收服务器以多播的通信方式发送的多个数据单元;
[0105]向服务器或其他终端发送对应的数据单元传输请求,以使服务器或其他终端返回与所述待分发数据对应的数据单元。
[0106]具体地,基于上述前向纠错(Forward Error Correct1n,FEC)编码算法,可以在不能得到正确的待分发数据时对其进行纠错处理,比如利用有冗余的多个数据单元来依照前向纠错编码算法进行纠错,或者使用多种多个数据单元的组合方式来尝试获取正确的待分发数据。
[0107]或者,对应于上述步骤103,终端设备也可以
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1