数据高效传输功能模块建设方案.docx
《数据高效传输功能模块建设方案.docx》由会员分享,可在线阅读,更多相关《数据高效传输功能模块建设方案.docx(9页珍藏版)》请在冰豆网上搜索。
数据高效传输功能模块建设方案
数据高效传输功能模块
建设方案
1.基本概念
[1]资源:
资源是指与XX业务相关的数据实体,即XX数据产品,资源的实体数据文件存储于各大单位中心服务节点的云存储系统之中,同一个资源可能在不同节点上存在多个副本。
资源也是在XX系统中用户所要获取、传输和使用的主要对象。
[2]资源标识:
资源标识是指任一资源在XX系统全局内的唯一代号,该代码是一组48位的字符串,其中包括该资源通过MD5算法获取到的hash值(32位)和该资源的长度(16位)。
对于同一资源,其所有副本的标识相同。
资源标识应在资源加入到XX系统中的时候产生,并包含在资源元数据内。
[3]任务:
即资源传输任务,是指在用户的请求下,XX系统各个模块和组件协同工作,将某一资源传输至某一节点的过程。
任务的必备要素包括:
任务发起者、资源标识、目标节点。
在全局范围内,任务具有唯一的标识,该标识是由高效传输引擎生成的GUID。
2.建设方案
2.1.总体架构设计
在本系统中,各个大单位网络中均包含一个本地中心节点以及若干个本地用户终端。
各大单位之间相互独立,关系对等。
各大单位本地中心节点中主要包括以下服务组件:
(1)云存储平台
云存储平台用于存储本单位所拥有的资源文件以及在资源应用过程中产生的资源副本。
云存储平台向本地高速传输服务以及本地用户终端提供文件访问服务。
(2)数据高效传输服务
数据高效传输服务相当于资源传输引擎,负责响应本地用户终端的资源请求,并协调资源来源节点(各大单位)最终完成资源的分布式传输。
数据高效传输服务将根据用户请求的具体信息调用安全控制服务接口进行用户合法性及权限验证,并调用资源虚拟化服务接口进行资源来源的检索与验证。
(3)安全控制服务
安全控制服务负责管理本地用户账号及授权信息,并向本地各系统组件提供安全验证服务。
(4)资源虚拟化平台
资源虚拟化平台负责产生、管理和维护资源目录(包括本地资源视图和全局资源视图),包括各资源副本的存在情况。
资源信息的主要存在形式为XML格式的元数据。
资源虚拟化平台以接口的形式向数据高效传输服务等其它系统组件提供资源的检索及验证服务。
系统总体架构示意图
各大单位内部的用户终端通过本地网络接入本地中心节点,并根据需要进行资源的请求和获取。
用户终端包括各类XX应用系统。
2.2.总体流程设计
资源传输的总体流程如下:
资源传输总体流程图
(1)客户端向本地中心节点的高效传输引擎发起资源请求,该请求包含了客户端的用户身份信息及请求资源信息。
此处拟定:
①客户端的用户信息首先通过配置记录在客户端系统中(其中用户ID为全局唯一的GUID),②客户端已经通过其它渠道(例如资源虚拟化平台提供的资源查询接口)获取到所要资源的资源标识;
(2)本地中心节点的高效传输引擎接收到用户请求后,调用安全控制服务提供的权限验证接口,传递用户身份信息。
同时,高效传输引擎也将自己在系统中的标识传递给安全控制服务,用以验证传输引擎接入的合法性;
(3)安全控制服务接收到传输引擎的信息后,进行用户身份及传输引擎身份的安全性验证。
如果用户身份无效、验证失败或传输引擎身份验证失败,则返回错误代码,否则返回验证成功;
(4)高效传输引擎接收到安全控制服务反馈信息后,如果未通过验证,则直接向用户终端返回错误代码,结束本次请求;如果通过验证,则继续调用资源虚拟化平台提供的资源检索接口,此处需向资源虚拟化平台传递用户身份信息以及资源标识;
(5)资源虚拟化平台接收到资源检索请求后,首先检索资源是否存在,如果本地视图和全局视图中均不存在该资源,则直接返回结果,进而由传输引擎向用户终端返回结果,告知资源不存在;如果资源检索成功,则进一步验证该用户对该资源是否具备使用权限(此处以何种方式验证取决于资源使用权限的设计方案),如果用户对该资源不具备使用权限,则直接向传输引擎返回结果,进而由传输引擎向用户终端返回结果,告知权限不足。
如果用户对该资源具备使用权限,资源虚拟化平台则向高效传输引擎返回该资源的所有来源节点列表(包括原始资源及其副本资源);
(6)高效传输引擎接收到资源来源列表后,则正式创建一个新的资源传输任务,同时将该任务ID返回给用户终端以便之后使用。
(7)任务创建成功后,本地中心的高效传输引擎依据资源虚拟化平提供的资源来源节点列表,开始与各来源节点(即各大单位中心节点)中的高效传输引擎进行通信,从各个节点获取目标资源数据,获取到的数据由高效传输引擎通过文件访问接口存储至云存储平台的指定路径(目录结构按用户划分,采用用户标识GUID为目录名称,不同用户之间相互独立);
(8)在任务创建成功之后,用户终端可以使用获取到的任务ID,定期调用高效传输引擎的任务状态查询接口,高效传输引擎将返回该任务执行状态,如正在传输过程中,可返回任务执行进度,如任务异常则返回错误代码,直至任务成功结束,返回任务执行完毕及其具体存放路径;
(9)任务执行完毕后,高效传输引擎调用资源虚拟化平台的资源更新接口,告知在本地节点,已经产生了一个新的资源副本。
(10)用户终端获知任务传输完毕后,即可通过文件访问接口到云存储平台的指定路径获取该资源并进行应用。
至此,一个资源传输任务全部结束。
2.3.数据高效传输引擎组件设计
数据高效传输引擎是分布式数据传输的核心组件,也是实际完成数据传输任务的载体。
数据高效传输引擎以服务组件的形式,部署于各大单位的骨干传输服务器节点,为各大单位内部的用户和应用系统提供数据传输服务,在全局网络中完成各大单位之间数据的有效传输。
分布式传输引擎层次结构图
数据高效传输引擎主要包含以下组成部分:
(1)网络通信基础框架,负责按照全局系统通信协议的要求,与各个系统和组件进行网络通信;
(2)文件并发读写模块,负责访问云存储平台,实现文件的快速并发读写;
(3)本地资源管理模块,负责维护和管理本地资源状态,包括文件及文件块两个层次,本地资源信息及其状态存储在传输引擎本地数据库系统中;
(4)用户终端接口,负责接收用户资源请求指令并对其做出交互和相应,是面向终端用户和应用系统的服务接口;
(5)任务状态查询接口,面向用户、应用系统或其它组件,提供针对指定任务的状态查询服务;
(6)任务队列管理模块,负责传输任务的创建、管理与控制,在多任务并发时,分别独立维护每一个传输任务的状态,该模块同时提供接口,响应对任务的控制请求;
(7)数据传输模块,在各任务执行过程中,负责具体实现不同节点之间的数据传输(包括数据接收和发送),其传输单位为单一文件块;
(8)系统内其他通信接口。
在传输任务执行过程中,分布式传输引擎受本地预先设定的最大连接数限制,本地引擎与其它节点之间的数据传输连接不可以超过最大连接数。
2.4.接口设计
2.4.1.用户终端接口
接口提供方:
数据高效传输引擎
服务对象:
用户终端(含应用系统)
接口功能:
发起资源获取请求,进而创建数据传输任务
发送信息(用户终端→数据高效传输引擎):
用户(系统)标识、口令、所属单位、请求资源标识;
返回信息(数据高效传输引擎→用户终端):
请求状态(成功或失败),成功则同时返回任务ID,失败则返回错误代码(包括:
用户不存在、口令错误、资源不存在、该用户对该资源无请求权限、其它等)。
2.4.2.任务状态查询接口
接口提供方:
数据高效传输引擎
服务对象:
用户终端(含应用系统)
接口功能:
查询已经创建的数据传输任务的执行状态
发送信息(用户终端→数据高效传输引擎):
用户(系统)标识、口令、所属单位、任务ID;
返回信息(数据高效传输引擎→用户终端):
请求状态(成功或失败),成功则同时返回任务ID,任务执行状态,任务执行进度(百分比),资源存储路径(如任务已经传输完毕),失败则返回错误代码(包括:
用户不存在、口令错误、该用户对该任务无权限、其它等)。
2.4.3.任务控制接口
接口提供方:
数据高效传输引擎
服务对象:
用户终端(含应用系统)或其它系统组件
接口功能:
对已经存在的任务进行控制
发送信息(用户终端或其它系统组件→数据高效传输引擎):
用户(系统)标识、口令、所属单位、任务ID、任务控制状态(启动、暂停、取消、删除等);
返回信息(数据高效传输引擎→用户终端或其它系统组件):
请求状态(成功或失败),成功则同时返回任务ID,任务当前状态(启动、暂停、取消、删除等),失败则返回错误代码(包括:
用户不存在、口令错误、任务不存在、该用户对该任务无权限、其它等)。
2.4.4.安全控制接口
接口提供方:
安全控制服务
服务对象:
数据高效传输引擎
接口功能:
验证用户身份
发送信息(数据高效传输引擎→安全控制服务):
用户(系统)标识、口令、所属单位、传输引擎标识;
返回信息(安全控制服务→数据高效传输引擎):
请求状态(成功或失败),失败则返回错误代码(包括:
用户不存在、口令错误、所属单位不正确、传输引擎不合法等)。
2.4.5.资源检索与验证接口
接口提供方:
资源虚拟化平台
服务对象:
数据高效传输引擎
接口功能:
检索指定的资源信息,用于数据传输
发送信息(数据高效传输引擎→资源虚拟化平台):
用户(系统)标识、口令、所属单位、传输引擎标识、资源标识、目标节点标识;
返回信息(资源虚拟化平台→数据高效传输引擎):
请求状态(成功或失败),成功则返回资源节点列表(即拥有该资源的全部中心节点信息,包括副本资源所在节点),失败则返回错误代码(包括:
用户不存在、口令错误、所属单位不正确、传输引擎不合法、资源不存在、该用户对该资源无请求权限等)。
2.4.6.资源状态更新接口
接口提供方:
资源虚拟化平台
服务对象:
数据高效传输引擎
接口功能:
更新资源及其副本存储状态
发送信息(数据高效传输引擎→资源虚拟化平台):
传输引擎标识、资源标识、节点标识、存储路径;
返回信息(资源虚拟化平台→数据高效传输引擎):
请求状态(成功或失败),失败则返回错误代码(包括:
传输引擎不合法、节点不合法、存储路径无效等)。