CN102420864B - 一种面向海量数据的数据交换方法 - Google Patents

一种面向海量数据的数据交换方法 Download PDF

Info

Publication number
CN102420864B
CN102420864B CN201110391794.5A CN201110391794A CN102420864B CN 102420864 B CN102420864 B CN 102420864B CN 201110391794 A CN201110391794 A CN 201110391794A CN 102420864 B CN102420864 B CN 102420864B
Authority
CN
China
Prior art keywords
data
information
subscription
server
module
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
Application number
CN201110391794.5A
Other languages
English (en)
Other versions
CN102420864A (zh
Inventor
冯钧
胥世民
唐志贤
付言章
朱忠华
杜龙
刘子源
顾忠国
韦冕
卞一路
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN201110391794.5A priority Critical patent/CN102420864B/zh
Publication of CN102420864A publication Critical patent/CN102420864A/zh
Application granted granted Critical
Publication of CN102420864B publication Critical patent/CN102420864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种面向海量数据的数据交换方法,属于信息技术处理领域。包括以下步骤:数据更新控制模块接收新数据,并对数据进行BT编码形成种子文件;分发策略管理模块查找是否有用户订阅该数据,如果有则通知订阅者下载种子文件,订阅者解析种子文件得到Tracker服务器地址,连接Tracker服务器,得到所有上传或下载该数据的Peer信息并把自己的信息上传到Tracker服务器,所有Peer之间进行P2P数据交换;如果没有订阅者,则结束,不进行数据交换。本发明解决了海量数据传输交换过程中存在的传输速度慢、服务器负载重、信息更新发送不及时等问题。

Description

一种面向海量数据的数据交换方法
技术领域
本发明涉及一种面向海量数据的数据交换方法,属于信息技术处理领域。
背景技术
海量数据是近些年随着信息技术尤其是Internet技术的发展而出现的,主要用来形容巨大的、空前浩瀚的数据,例如各种空间数据、报表统计数据、文字、声音、图像、超文本等各种环境和文化数据信息。现在,很多企业、公司都涉及到对海量数据的操作处理,如水利部门、气象部门等处理的数据量都非常大。总结起来海量数据主要包括两类数据,一类是每条数据本身不大但数据量非常巨大,比如移动通信中的短信业务数据;另一类是数据本身就非常大,比如气象部门的遥感影像数据,每幅图片一般在500-700M。本发明主要是针对第二类海量数据而提出的面向海量数据的交换方法。(本文以下提到的所有“海量数据”如果没有特别说明,都是特指第二类海量数据)
目前针对海量数据的交换方法主要有三种:一种是基于FTP的主动推送方式或下载,该方式的主要特点是数据交换的双方一般要建立FTP服务器,通过数据监测机制监测数据的变化进行主动推送或通知对方服务器下载。该方式最大的缺点是可扩展性差,当需要交换的客户端增加后,服务器端的发送任务就会翻倍的增长,比如说开始是1台服务器,1个客户端,每天发送的数据为200G,当增加1个客户端时,服务器需要发送的数据量为400G,当客户端增加到10个时,需要发送的数据为2000G,服务器的压力越来越大,另外FTP命令和数据一般采用明文传输,数据安全性低,而且对不同的客户鉴别能力差,很难做到不同的用户有不同的发送任务。第二种是IP组播技术以其多路复用的方式,能够有效地减轻服务器和网络负载,但是由于诸多方面的不足,如实现方面的复杂性、拥塞控制、可靠性管理等,难以在实际中应用。第三种是基于P2P(Peer-to-Peer)的数据传输方式,也可称之为BT下载技术,其基本思想是把一个文件分成了X个部分,甲在服务器随机下载了第N个部分,乙在服务器随机下载了第M个部分,这样甲的BT(BitTorrent)就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端得负荷,也加快了用户方(甲乙)的下载速度,效率也提高了。但该方式很难控制不同用户对数据的不同需求,当数据更新后也很难做到在第一时间内传送给用户或通知用户下载。
目前,为了解决信息及时发布问题,广泛采用的技术是订阅/发布(publish/subscribe,简称pub/sub)技术,比如说google阅读器、百度订阅、GreatNews等都是采用的订阅/发布的方式,让用户能够在第一时间内收到自己订阅的信息。在发布/订阅技术中,信息的生产者和消费者之间通过一个中间件来进行交互。信息的生产者将信息发送给这个中间件;信息的消费者则向中间件定义一个“订阅条件”,表示对系统中的哪些信息感兴趣;而中间件则保证将所发布的信息及时、可靠地传送给所有对之感兴趣的信息消费者。由于它使得信息的生产者和消费者在空间、时间和控制流三个方面都被完全解耦合,所以订阅/发布具有提高网络带宽、调节服务器负载均衡、节省用户等待时间并能够在第一时间获得最新更新的数据等功能。但现有订阅/发布系统只能处理第一类海量数据,当数据是第二类海量数据时,google阅读器、百度订阅、GreatNews等现有的订阅/发布系统条件下无法把单个数据在几百兆甚至几个G的数据发给订阅者。
发明内容
本发明针对现有海量数据的交换方法的不足,提出了面向海量数据、基于订阅/发布技术和P2P技术相结合的交换方法,实现了提高传输速度、调节服务器负载均衡、使用户在第一时间获得最新更新的数据等问题。
本发明为实现上述发明目的采用如下技术方案:
一种面向海量数据的数据交换系统,包括数据更新控制模块、实体数据库、元数据注册模块、元数据库、分发策略数据库、分发策略管理模块、订阅信息匹配模块、订阅管理客户端服务器;
所述数据更新控制模块用于将更新数据存入实体数据库,对更新数据编码得到种子文件,以及将更新数据作为超级种子链接至Tracker服务器,同时发送数据更新通知至元数据注册模块;
所述元数据注册模块用于把更新数据的元数据信息写入元数据库,同时在元数据库中建立数据索引,然后将更新数据的信息传递给分发策略管理模块;
所述分发策略管理模块用于根据更新数据的元数据信息查询分发策略数据库得到需要分发的用户信息,然后发送下载信息通知给订阅管理客户端服务器;
所述订阅管理客户端服务器用于将用户的订阅条件转化为订阅信息,接收数据更新通知、下载种子文件、解析种子文件,与Tracker服务器通信下载实体数据;
所述订阅信息匹配模块用于接收订阅信息,然后匹配元数据库信息和订阅信息得到匹配结果;
所述分发策略数据库用于存储匹配结果和用户信息。
一种面向海量数据的数据交换系统的数据交换方法,包括如下步骤:
步骤1、采用数据更新控制模块对更新数据进行存库和编码,然后把更新数据的元数据信息传递给元数据注册模块,再把更新数据作为超级种子链接到Tracker服务器;
步骤2,元数据注册模块将接收到的元数据信息存入数据库并建立数据索引,然后将新数据的信息传递给分发策略管理模块;
步骤3,采用分发策略管理模块查找是否有用户订阅更新的数据;
若有用户订阅更新的数据,进入步骤4;否则,结束整个数据交换流程;
步骤4,分发策略管理模块向订阅管理客户端服务器发送下载通知,用户客户端下载并解析种子文件,然后连接Tracker服务器获取所有上传或者下载该数据的Peer信息,再将自身信息上传至Tracker服务器;
步骤5,连接到Tracker服务器的任意两个节点之间进行数据交换。
所述面向海量数据的交换方法中,步骤4采用客户端下载的方式进行数据交换。
所述面向海量数据的交换方法中,所述步骤5采用PeertoPeer的方式进行数据交换。
本发明采用上述技术方案,具有以下的有益效果:面对海量数据传输交换过程中单个数据大的问题,由于本发明采用了推送编码数据和订阅者主动拉送实体数据相结合的技术方法,一是解决了实体数据推送难的问题,二采用PeertoPeer的数据传输共享模式,加快了数据的传输速度,减少了服务器的压力。
附图说明
图1为海量数据的订阅过程。
图2为海量数据的发布过程。
图3为海量数据的交换过程。
图4面向海量数据的数据交换系统的基本框架。
具体实施方式
下面结合附图对发明的技术方案进行详细说明:
一种面向海量数据的数据交换系统主要由数据更新控制模块、实体数据库、元数据注册模块、元数据库、分发策略数据库、分发策略管理模块、订阅信息匹配/检索模块、订阅管理客户端服务器、Tracker服务器9个部分组成,结构图如图4所示,下面分别介绍每个部分的基本功能。
数据更新控制模块主要功能:把数据存入实体数据库;根据BT编码规范,生成扩展名为.torrent的种子文件;把数据的元数据信息传递给元数据注册模块;把实体数据的作为超级种子,并连接到Tracker服务器。
实体数据库主要是负责存储海量的实体数据。
元数据注册模块主要功能:把元数据信息写入元数据库;建立数据索引(事件索引);将更新数据的信息传递给分发策略管理模块。
分发策略数据库主要功能:存储用户的订阅信息。
分发策略模块主要功能:当新数据到来时,检索所有订阅该数据的用户,并把这一信息发送给订阅管理客户端应用程序,以便进行下载。
订阅信息匹配/检索模块主要功能:负责根据用户的订阅条件,返回订阅结果,并把用户的订阅信息存储到分发策略数据库。
订阅管理客户端服务器具有如下功能:具有用户登陆界面;具有选择订阅条件、查看、编辑或删除订阅内容等订阅功能;内置类似迅雷、BT的P2P下载工具,能够自动下载更新的数据;完成与服务器的所有通信和数据交换。
Tracker服务器主要功能:控制有多少人同时在下载或上传同一个文件,协调所有peer节点之间的信息交流。
如图2所示的面向海量卫星遥感数据的数据交换方法包括如下步骤:
步骤1,数据更新控制模块将遥感地图进行存入实体数据库,根据BT编码规范,生成扩展名为.torrent种子文件,再把更新数据作为超级种子连接到Tracker服务器;
种子文件包含了资源名称、.torrent文件的创建时间、制作者填写的注释、制作者的信息、至少一个announce地址以及对资源实际文件按照固定大小分块后对每块进行SHA1hash运算得到的若干特征值的集合。如果资源是目录形式,种子文件还包括目录树中每个文件的路径信息、文件名、目录树中每个文件的大小;如果资源是单个文件,种子文件还包括单个文件的大小信息。
步骤2,元数据注册模块将遥感地图的元数据信息存入数据库并建立事件索引,然后将新数据的信息传递给分发策略管理模块。
步骤3,分发策略管理模块查找是否有用户订阅更新的数据,若有用户订阅更新的数据,进入步骤4;否则,结束整个数据交换流程;
用户订阅数据的流程如图1所示,具体实施如下:
步骤a,用户通过订阅管理客户端应用程序或浏览器登陆订阅管理界面,选择订阅条件,以遥感数据为例,一般选择的条件包括卫星名称、传感器名称、拍摄日期、拍摄时间、经纬度范围等,把订阅条件提交给订阅信息匹配/检索模块。
步骤b,订阅信息匹配/检索模块,通过检索元数据库中的现有数据,把匹配结果返回给订阅者,订阅者判断是否满意:
若订阅者满意,确认订阅消息,进入步骤3;否则,返回步骤1,重新选择订阅条件;
步骤c,系统接到确认的订阅信息后,把订阅信息和用户信息存储到分发策略数据库。订阅过程完成。
步骤4,分发策略管理模块向订阅管理客户端服务器发送下载通知,用户客户端根据分发策略管理模块提供的.torrent种子文件的下载地址下载种子文件,解析.torrent文件得到announce地址即Tracker服务器的地址,连接Tracker服务器,得到实体数据的下载地址和正在下载或上传的用户信息列表(包括IP地址、端口、客户端ID等信息),同时把自己的信息上传到Tracker服务器。
步骤5,连接到Tracker服务器的任意两个节点之间进行数据交换。
为了更能直观方便地说明问题,假设这条数据共被分成100个数据片段,编号分别为D1、D2,……,D100,有100个订阅者订阅了这条数据,订阅者的编号分别为N1、N2,……,N100,100个用户的信息以及服务器(编号为Ns)提供的种子信息(包括IP地址、端口、客户端ID、已经完成下载的数据片段)都在Tracker服务器上,那么这101个数据节点就组成了P2P系统中101个Peer节点,任意两个节点之间都可以进行P2P方式的数据交换,数据交换示意图如图3所示,具体步骤如下:
步骤1,当节点N1连接到Tracker服务器后,发现只有节点Ns有数据,就随机从节点Ns处下载了一个数据片D1,当节点N1下载数据片D1完成后,就把完成的信息传递给Tracker服务器;
步骤2,当N2节点连接到Tracker服务器后,想下载数据片D1,发现D1这个数据片在N1,Ns节点都有,就选择了距离自己路由最近的节点N1进行下载,当节点N2下载数据片D1完成后,也把完成的信息传递给Tracker服务器;
步骤3,当N3节点连接到Tracker服务器后,想下载数据片D1,发现D1这个数据片在N1,N2,Ns节点都有,就选择了距离自己路由最近的节点N2进行下载,当节点N3下载数据片D1完成后,也把完成的信息传递给Tracker服务器;
步骤4,数据按照步骤1,步骤2,步骤3的基本规律进行交换。从而可以看出要下载数据不一定要从服务器下载,可以通过任何其他的节点进行下载,这种数据交换方式,由于选择了最短路由,可以大大缩短数据包的周转次数,从而提高了传输速度,也减少了实体数据服务器的压力。

Claims (4)

1.一种面向海量数据的数据交换系统,其特征在于:包括数据更新控制模块、实体数据库、元数据注册模块、元数据库、分发策略数据库、分发策略管理模块、订阅信息匹配模块、订阅管理客户端服务器;
所述数据更新控制模块用于将更新数据存入实体数据库,对更新数据编码得到种子文件,以及将更新数据作为超级种子链接至Tracker服务器,同时发送数据更新通知至元数据注册模块;
所述元数据注册模块用于把更新数据的元数据信息写入元数据库,同时在元数据库中建立数据索引,然后将更新数据的信息传递给分发策略管理模块;
所述分发策略管理模块用于根据更新数据的元数据信息查询分发策略数据库得到需要分发的用户信息,然后发送下载信息通知给订阅管理客户端服务器;
所述订阅管理客户端服务器用于将用户的订阅条件转化为订阅信息,接收数据更新通知、下载种子文件、解析种子文件,与Tracker服务器通信下载实体数据;
所述订阅信息匹配模块用于接收订阅信息,然后匹配元数据库信息和订阅信息得到匹配结果;
所述分发策略数据库用于存储匹配结果和用户信息。
2.一种基于权利要求1所述的面向海量数据的数据交换系统的数据交换方法,其特征在于包括如下步骤:
步骤1、采用数据更新控制模块对更新数据进行存库和编码,然后把更新数据的元数据信息传递给元数据注册模块,再把更新数据作为超级种子链接到Tracker服务器;
步骤2,元数据注册模块将接收到的元数据信息存入数据库并建立数据索引,然后将新数据的信息传递给分发策略管理模块;
步骤3,采用分发策略管理模块查找是否有用户订阅更新的数据;
若有用户订阅更新的数据,进入步骤4;否则,结束整个数据交换流程;
步骤4,分发策略管理模块向订阅管理客户端服务器发送下载通知,用户客户端下载并解析种子文件,然后连接Tracker服务器获取所有上传或者下载该数据的Peer信息,再将自身信息上传至Tracker服务器;
步骤5,连接到Tracker服务器的任意两个节点之间进行数据交换。
3.根据权利要求2所述的面向海量数据的交换方法,其特征在于所述步骤4采用客户端下载的方式进行数据交换。
4.根据权利要求2所述的面向海量数据的交换方法,其特征在于所述步骤5采用PeertoPeer的方式进行数据交换。
CN201110391794.5A 2011-12-01 2011-12-01 一种面向海量数据的数据交换方法 Active CN102420864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110391794.5A CN102420864B (zh) 2011-12-01 2011-12-01 一种面向海量数据的数据交换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110391794.5A CN102420864B (zh) 2011-12-01 2011-12-01 一种面向海量数据的数据交换方法

Publications (2)

Publication Number Publication Date
CN102420864A CN102420864A (zh) 2012-04-18
CN102420864B true CN102420864B (zh) 2014-03-26

Family

ID=45945096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110391794.5A Active CN102420864B (zh) 2011-12-01 2011-12-01 一种面向海量数据的数据交换方法

Country Status (1)

Country Link
CN (1) CN102420864B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083963A (ko) * 2014-06-24 2018-07-23 가부시키가이샤 히타치세이사쿠쇼 금융 상품 거래 시스템 및 금융 상품 거래 제어 방법
US20170346924A1 (en) * 2016-05-31 2017-11-30 Actiontec Electronics, Inc. System and method for providing reliable and efficient data transfer
CN106028076A (zh) * 2016-06-22 2016-10-12 天脉聚源(北京)教育科技有限公司 一种获取关联用户视频的方法、服务器及终端
CN107835243A (zh) * 2017-11-03 2018-03-23 溢洋光电(深圳)有限公司 一种数据传输方法、系统、电子设备及存储介质
CN109040258B (zh) * 2018-08-09 2021-06-18 中国联合网络通信集团有限公司 一种基于私有种子文件的数据处理方法及装置
CN112905354A (zh) * 2019-12-03 2021-06-04 中国移动通信集团浙江有限公司 共享内存的业务处理方法和系统
CN114500499A (zh) * 2021-12-29 2022-05-13 新浪网技术(中国)有限公司 一种互联网系统内的文件下载方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1625119A (zh) * 2004-12-09 2005-06-08 中国科学院软件研究所 构建于结构化P2P网络之上的pub/sub系统的路由方法
CN101119271A (zh) * 2007-07-05 2008-02-06 中国科学技术大学 一种基于结构化p2p应用服务平台及其实现方法
CN101814071A (zh) * 2009-02-19 2010-08-25 上海众恒信息产业股份有限公司 一种实现系统与数据源进行数据交换的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235878A1 (en) * 2009-03-13 2010-09-16 Creative Technology Ltd. Method and system for file distribution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1625119A (zh) * 2004-12-09 2005-06-08 中国科学院软件研究所 构建于结构化P2P网络之上的pub/sub系统的路由方法
CN101119271A (zh) * 2007-07-05 2008-02-06 中国科学技术大学 一种基于结构化p2p应用服务平台及其实现方法
CN101814071A (zh) * 2009-02-19 2010-08-25 上海众恒信息产业股份有限公司 一种实现系统与数据源进行数据交换的方法及装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
P2P网络下的可移动情报发布/订阅模型;周佳骏等;《情报杂志》;20110630;第30卷(第6期);第168-172页 *
冯钧等.水利信息资源目录服务元数据定义研究.《水利信息化》.2011,第19-22页.
周佳骏等.P2P网络下的可移动情报发布/订阅模型.《情报杂志》.2011,第30卷(第6期),第168-172页.
水利信息资源目录服务元数据定义研究;冯钧等;《水利信息化》;20110930;第19-22页 *
胥世民等.基于P2P技术的遥感数据分发策略研究.《计算机与数字工程》.2012,(第276期),第47-50页. *

Also Published As

Publication number Publication date
CN102420864A (zh) 2012-04-18

Similar Documents

Publication Publication Date Title
CN102420864B (zh) 一种面向海量数据的数据交换方法
CN101764807B (zh) 基于元搜索引擎的多源下载互联网资源的装置及方法
EP2572495B1 (en) System and method for managing data delivery in a peer-to-peer network
CN101742702B (zh) 移动互联网业务共享系统及方法
CN1988449A (zh) 一种基于网络信息的数据分布/获取方法
CN102333127A (zh) 资源下载方法、装置及系统
CN101072166A (zh) 一种实现网络预订存储的系统和方法
CN102843420A (zh) 基于模糊划分的社交网络数据分发系统
CN102034144B (zh) 用于确定群组在场的系统和方法
JPWO2008120366A1 (ja) コンテンツ配信装置、コンテンツ配信方法、及びコンテンツ配信プログラム
EP2171969B1 (en) Method and system for data management in communication networks
Duan et al. A novel load balancing scheme for mobile edge computing
CN1937553B (zh) 基于流媒体数据帧的对等网络数据调度方法
CN103825922B (zh) 一种数据更新方法及web服务器
CN101494664B (zh) 基于jxta的p2p推式网络存储方法
Liu et al. Efficient resource discovery in self‐organized unstructured peer‐to‐peer networks
CN100474809C (zh) 一种文件传输的方法及装置
Cao et al. Load-balancing schemes for a hierarchical peer-to-peer file search system
Wang et al. Exploring peer-to-peer locality in multiple torrent environment
Montresor Intelligent gossip
Caviglione et al. Design of a peer-to-peer system for optimized content replication
CN101540884B (zh) 一种基于跳图的对等化VoD系统构建方法
Chan et al. Malugo: A peer-to-peer storage system
CN101534323A (zh) 实现游牧任务自适应和主动性的方法及游牧计算支撑平台
Xu et al. Building self-adaptive peer-to-peer overlay networks with dynamic cluster structure

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