[发明专利]一种数据传输的方法及装置在审
申请号: | 201510574354.1 | 申请日: | 2015-09-10 |
公开(公告)号: | CN105187533A | 公开(公告)日: | 2015-12-23 |
发明(设计)人: | 李光学;张田 | 申请(专利权)人: | 浪潮软件股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 李世喆 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据传输 方法 装置 | ||
1.一种数据传输的方法,其特征在于,包括:预先建立待传输的数据文件的标识与文件合并同步线程的对应关系,还包括:
S1:从当前数据文件中分割出切片,确定当前数据文件的第一标识,将所述第一标识携带在每个切片中,将每个切片依次存储在消息队列中;
S2:接收所述消息队列输出的每个切片,并获取每个切片中携带的第一标识;
S3:根据所述第一标识和所述对应关系,确定所述第一标识对应的文件合并同步线程;
S4:调用所述第一标识对应的文件合并同步线程,通过所述第一标识对应的文件合并同步线程合并所述消息队列输出的当前数据文件的切片,获得当前数据文件;
其中,每个切片的数据量小于等于所述消息队列能够传输的切片的最大数据量。
2.根据权利要求1所述的方法,其特征在于,所述S1中,所述从当前数据文件中分割出切片,将每个切片依次存储在消息队列中,包括:
A1:将当前数据文件的文件头作为当前切片起点;
A2:从当前切片起点开始,从当前数据文件中获取预设值个切片数据,将获取的所述切片数据作为当前数据文件的当前切片;
A3:将当前切片发送给所述消息队列;
A4:判断当前数据文件中是否有未被分割的数据,如果是,则执行步骤A5,否则,结束当前流程;
A5:判断当前数据文件的未被分割的数据的数据量是否大于所述预设值,如果是,则将当前数据文件的未被分割的数据中与当前切片相邻的数据作为当前切片起点,执行步骤A2,否则,将未被分割的数据作为当前切片,执行步骤A3;
其中,所述预设值小于等于所述消息队列能够传输的切片的最大数据量。
3.根据权利要求1或2所述的方法,其特征在于,
所述步骤S1中,所述确定当前数据文件的第一标识,包括:
将当前数据文件的文件名的字符串、文件大小的字符串、最后修改时间的字符串拼接到一起,得到当前数据文件的特征码字符串;根据所述特征码字符串,确定所述第一标识。
4.根据权利要求2所述的方法,其特征在于,所述A2,还包括:将当前切片的切片起点信息携带在当前切片中;
所述S4中所述合并所述消息队列输出的当前数据文件的切片,获得当前数据文件,包括:
B1:获取当前切片中携带的切片起点信息,根据所述切片起点信息确定当前切片的起点和终点;
B2:判断当前切片是否是当前数据文件的第一个切片,如果是,则将所述消息队列中当前切片的下一个输出的切片作为当前切片,返回步骤B1,否则,执行步骤B3;
B3:将当前切片的起点拼接到接收到的上一个切片的终点之后;
B4:判断当前切片是否是当前数据文件的最后一个切片,如果是,则获得当前数据文件,否则,将所述消息队列中当前切片的下一个待输出的切片作为当前切片,返回步骤B1。
5.根据权利要求1或2所述的方法,其特征在于,所述S1,还包括:
按照分割出的切片的时间顺序,为每个切片分配顺序号;
在当前数据文件的每个切片中携带本切片的顺序号;
所述S2,包括:
C1:接收所述消息队列输出的当前切片;
C2:确定当前切片是否是当前数据文件的第一个切片,如果是,则将所述消息队列中当前切片的下一个待输出的切片作为当前切片,返回步骤C1,否则,执行步骤C3;
C3:获取所述消息队列输出的当前切片中携带的顺序号;
C4:根据接收到的上一个切片的顺序号,确定当前切片的顺序号是否正确,如果是,则将当前切片与已接收的切片进行合并,执行步骤C5,否则,向所述消息队列返回核对失败消息,以使所述消息队列重新输出当前切片,返回步骤C1;
C5:判断当前切片是否是当前数据文件的最后一个切片,如果是,则结束当前流程,否则,将所述消息队列中当前切片的下一个待输出的切片作为当前切片,返回步骤C1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510574354.1/1.html,转载请声明来源钻瓜专利网。