CN104092759B - 一种分布式云存储服务器集群系统及存储方法 - Google Patents

一种分布式云存储服务器集群系统及存储方法 Download PDF

Info

Publication number
CN104092759B
CN104092759B CN201410332728.4A CN201410332728A CN104092759B CN 104092759 B CN104092759 B CN 104092759B CN 201410332728 A CN201410332728 A CN 201410332728A CN 104092759 B CN104092759 B CN 104092759B
Authority
CN
China
Prior art keywords
value
byte memory
memory block
operating system
file
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
CN201410332728.4A
Other languages
English (en)
Other versions
CN104092759A (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.)
Nanjing Rostand Cloud Science And Technology Co Ltd
Original Assignee
Nanjing Rostand Cloud Science And Technology Co Ltd
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 Nanjing Rostand Cloud Science And Technology Co Ltd filed Critical Nanjing Rostand Cloud Science And Technology Co Ltd
Priority to CN201410332728.4A priority Critical patent/CN104092759B/zh
Publication of CN104092759A publication Critical patent/CN104092759A/zh
Application granted granted Critical
Publication of CN104092759B publication Critical patent/CN104092759B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种分布式云存储服务器集群系统及存储方法,包括两个以上的存储服务器构成的云存储服务器集群,所述的存储服务器经过InfiniBand_RDMA网络连接到一个以上的基于linux操作系统平台的客户终端,另外所述的存储服务器还依次经过带有协议转化模块的网关和InfiniBand_RDMA网络同基于Windows的操作系统平台、基于UNIX的操作系统平台或者基于MaCOS的操作系统的客户终端相连接。这样的结构结合其存储方法避免了现有技术中云存储服务器集群架构普遍存在存储文件时具有扩展性差、可用性差、并发性差、兼容性差的缺陷。

Description

一种分布式云存储服务器集群系统及存储方法
技术领域
本发明属于云存储服务器技术领域,具体涉及一种分布式云存储服务器集群系统及存储方法。
背景技术
伴随着云存储服务器的大量使用,现有的云存储服务器已经渐渐形成了集群化架构体系,但是现有的云存储服务器集群架构普遍存在存储文件时具有扩展性差、可用性差、并发性差、兼容性差的问题。
发明内容
本发明的目的提供一种分布式云存储服务器集群系统及存储方法,包括两个以上的存储服务器构成的云存储服务器集群,所述的存储服务器经过InfiniBand_RDMA网络连接到一个以上的基于linux操作系统平台的客户终端,另外所述的存储服务器还依次经过带有协议转化模块的网关和InfiniBand_RDMA网络同基于Windows的操作系统平台、基于UNIX的操作系统平台或者基于MaCOS的操作系统的客户终端相连接。这样的结构结合其存储方法避免了现有技术中云存储服务器集群架构普遍存在存储文件时具有扩展性差、可用性差、并发性差、兼容性差的缺陷。
为了克服现有技术中的不足,本发明提供了一种分布式云存储服务器集群系统及存储方法的解决方案,具体如下:
一种分布式云存储服务器集群系统,包括两个以上基于linux操作系统平台的存储服务器1构成的云存储服务器集群,所述的存储服务器1经过InfiniBand_RDMA网络2连接到一个以上的基于linux操作系统平台的客户终端3,另外所述的存储服务器1还依次经过带有协议转化模块4的网关5和InfiniBand_RDMA网络2同基于Windows的操作系统平台、基于UNIX的操作系统平台或者基于MaCOS的操作系统的客户终端6相连接,所述的存储服务器1内设置着后台存储模块7,基于linux操作系统平台的客户终端3内设置着前台存储模块8。
所述的协议转化模块4包括有CIFS子模块或者NFS子模块。
所述的分布式云存储服务器集群系统的存储方法,步骤如下:
步骤1:每个基于linux操作系统平台的客户终端3的前台存储模块8先发送请求通信连接数据包经过InfiniBand_RDMA网络2发送给所有的基于linux操作系统平台的存储服务器1,基于linux操作系统平台的存储服务器1接收到请求通信连接数据包后,后台存储模块7经过InfiniBand_RDMA网络2向发送请求通信连接数据包的基于linux操作系统平台的客户终端3 传输包含着该基于linux操作系统平台的存储服务器1的IP地址信息的响应通信连接数据包,并同发送请求通信连接数据包的基于linux操作系统平台的客户终端3建立通信连接,该基于linux操作系统平台的客户终端3的前台存储模块8把响应通信连接数据包中基于linux操作系统平台的存储服务器1的IP地址信息进行保存;
步骤2:基于linux操作系统平台的客户终端3在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到与该基于linux操作系统平台的客户终端3相通信连接的基于linux操作系统平台的存储服务器1,后台存储模块7根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器1上构造同样的目录路径下的同样目录名的目录;
步骤3:然后当基于linux操作系统平台的客户终端3在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,所述的第二循环体为循环四次的循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第二循环体为循环次数同第四4字节存储区中的值一致的循环体,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤4:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于linux操作系统平台的客户终端3的前台存储模块8把4字节所能表达的正整数范围完整地随机分配给同该基于linux操作系统平台的客户终端3相通信连接的基于linux操作系统平台的存储服务器1;
步骤5:然后该基于linux操作系统平台的客户终端3的前台存储模块8将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于linux操作系统平台的客户终端3相通信连接的基于linux操作系统平台的存储服务器1的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器1的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块8就把该基于linux操作系统平台的存储服务器1的IP地址作为目的地址,并经过InfiniBand_RDMA网络2把所述的构建的文件及其所在的目录路径发送给该基于linux操作系统平台的存储服务器1;
步骤6:所述的后台存储模块7就根据所述的构建的文件所在的目录路径把接收到的所述的构建的文件存放在该基于linux操作系统平台的存储服务器1中相同的目录路径中;
步骤7:基于Windows的操作系统平台的客户终端3在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块4的网关5中,然后协议转化模块4中的CIFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块4把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器1中,后台存储模块7根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器1上构造同样的目录路径下的同样目录名的目录;
步骤8:然后当基于Windows的操作系统平台的客户终端6在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,所述的第二循环体为循环四次的循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第二循环体为循环次数同第四4字节存储区中的值一致的循环体,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤9:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于Windows的操作系统平台的客户终端6的前台存储模块8把4字节所能表达的正整数范围完整地随机分配给同该基于Windows的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1;
步骤10:然后该基于Windows的操作系统平台的客户终端6的前台存储模块8将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于Windows的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器1的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块8就把该基于linux操作系统平台的存储服务器1的IP地址作为目的地址,并经过InfiniBand_RDMA网络2把所述的构建的文件及其所在的目录路径发送到带有协议转化模块4的网关5中,然后协议转化模块4中的CIFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块4把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器1中;
步骤11:所述的后台存储模块7就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器1中与接收到的目录路径相同的目录路径中;
步骤12:基于MaCOS的操作系统平台的客户终端3在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块4的网关5中,然后协议转化模块4中的CIFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块4把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器1中,后台存储模块7根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器1上构造同样的目录路径下的同样目录名的目录;
步骤13:然后当基于MaCOS的操作系统平台的客户终端6在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,所述的第二循环体为循环四次的循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第二循环体为循环次数同第四4字节存储区中的值一致的循环体,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤14:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于MaCOS的操作系统平台的客户终端6的前台存储模块8把4字节所能表达的正整数范围完整地随机分配给同该基于MaCOS的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1;
步骤15:然后该基于MaCOS的操作系统平台的客户终端6的前台存储模块8将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于MaCOS的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器1的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块8就把该基于linux操作系统平台的存储服务器1的IP地址作为目的地址,并经过InfiniBand_RDMA网络2把所述的构建的文件及其所在的目录路径发送到带有协议转化模块4的网关5中,然后协议转化模块4中的CIFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块4把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器1中;
步骤16:所述的后台存储模块7就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器1中与接收到的目录路径相同的目录路径中;
步骤17:基于UNIX的操作系统平台的客户终端3在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块4的网关5中,然后协议转化模块4中的NFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块4把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器1中,后台存储模块7根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器1上构造同样的目录路径下的同样目录名的目录;
步骤18:然后当基于UNIX的操作系统平台的客户终端6在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,所述的第二循环体为循环四次的循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第二循环体为循环次数同第四4字节存储区中的值一致的循环体,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤19:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于UNIX的操作系统平台的客户终端6的前台存储模块8把4字节所能表达的正整数范围完整地随机分配给同该基于UNIX的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1;
步骤20:然后该基于UNIX的操作系统平台的客户终端6的前台存储模块8将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于UNIX的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器1的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块8就把该基于linux操作系统平台的存储服务器1的IP地址作为目的地址,并经过InfiniBand_RDMA网络2把所述的构建的文件及其所在的目录路径发送到带有协议转化模块4的网关5中,然后协议转化模块4中的NFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块4把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器1中;
步骤21:所述的后台存储模块7就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器1中与接收到的目录路径相同的目录路径中。
应用本发明上述方案,具有强大的横向扩展能力,通过扩展能够支持数百PB存储容量和处理数千客户端,分布式云存储服务器集群系统能够借助TCP/IP或 InfiniBandRDMA网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合附图对发明内容作进一步说明:
参照图1所示,分布式云存储服务器集群系统,包括两个以上基于linux操作系统平台的存储服务器1构成的云存储服务器集群,所述的存储服务器1经过InfiniBand_RDMA网络2连接到一个以上的基于linux操作系统平台的客户终端3,另外所述的存储服务器1还依次经过带有协议转化模块4的网关5和InfiniBand_RDMA网络2同基于Windows的操作系统平台、基于UNIX的操作系统平台或者基于MaCOS的操作系统的客户终端6相连接,所述的存储服务器1内设置着后台存储模块7,基于linux操作系统平台的客户终端3内设置着前台存储模块8,由于InfiniBand_RDMA网络2的快速高效,就能把网关5的协议转化模块中特别是网络数据量和访问量大下的倍增的协议转化而产生的延迟时间给有效补偿,从而达到实时传输的效果。所述的协议转化模块4包括有CIFS子模块或者NFS子模块,这样就能进行不同操作系统平台下的协议转换,实现扩展性和兼容性增强的目的。
所述的分布式云存储服务器集群系统的存储方法,步骤如下:
步骤1:每个基于linux操作系统平台的客户终端3的前台存储模块8先发送请求通信连接数据包经过InfiniBand_RDMA网络2发送给所有的基于linux操作系统平台的存储服务器1,基于linux操作系统平台的存储服务器1接收到请求通信连接数据包后,后台存储模块7经过InfiniBand_RDMA网络2向发送请求通信连接数据包的基于linux操作系统平台的客户终端3 传输包含着该基于linux操作系统平台的存储服务器1的IP地址信息的响应通信连接数据包,并同发送请求通信连接数据包的基于linux操作系统平台的客户终端3建立通信连接,该基于linux操作系统平台的客户终端3的前台存储模块8把响应通信连接数据包中基于linux操作系统平台的存储服务器1的IP地址信息进行保存;
步骤2:基于linux操作系统平台的客户终端3在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到与该基于linux操作系统平台的客户终端3相通信连接的基于linux操作系统平台的存储服务器1,后台存储模块7根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器1上构造同样的目录路径下的同样目录名的目录;
步骤3:然后当基于linux操作系统平台的客户终端3在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,所述的第二循环体为循环四次的循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第二循环体为循环次数同第四4字节存储区中的值一致的循环体,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤4:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于linux操作系统平台的客户终端3的前台存储模块8把4字节所能表达的正整数范围完整地随机分配给同该基于linux操作系统平台的客户终端3相通信连接的基于linux操作系统平台的存储服务器1;
步骤5:然后该基于linux操作系统平台的客户终端3的前台存储模块8将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于linux操作系统平台的客户终端3相通信连接的基于linux操作系统平台的存储服务器1的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器1的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块8就把该基于linux操作系统平台的存储服务器1的IP地址作为目的地址,并经过InfiniBand_RDMA网络2把所述的构建的文件及其所在的目录路径发送给该基于linux操作系统平台的存储服务器1;
步骤6:所述的后台存储模块7就根据所述的构建的文件所在的目录路径把接收到的所述的构建的文件存放在该基于linux操作系统平台的存储服务器1中相同的目录路径中;
步骤7:基于Windows的操作系统平台的客户终端3在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块4的网关5中,然后协议转化模块4中的CIFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块4把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器1中,后台存储模块7根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器1上构造同样的目录路径下的同样目录名的目录;
步骤8:然后当基于Windows的操作系统平台的客户终端6在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,所述的第二循环体为循环四次的循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第二循环体为循环次数同第四4字节存储区中的值一致的循环体,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤9:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于Windows的操作系统平台的客户终端6的前台存储模块8把4字节所能表达的正整数范围完整地随机分配给同该基于Windows的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1;
步骤10:然后该基于Windows的操作系统平台的客户终端6的前台存储模块8将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于Windows的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器1的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块8就把该基于linux操作系统平台的存储服务器1的IP地址作为目的地址,并经过InfiniBand_RDMA网络2把所述的构建的文件及其所在的目录路径发送到带有协议转化模块4的网关5中,然后协议转化模块4中的CIFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块4把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器1中;
步骤11:所述的后台存储模块7就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器1中与接收到的目录路径相同的目录路径中;
步骤12:基于MaCOS的操作系统平台的客户终端3在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块4的网关5中,然后协议转化模块4中的CIFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块4把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器1中,后台存储模块7根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器1上构造同样的目录路径下的同样目录名的目录;
步骤13:然后当基于MaCOS的操作系统平台的客户终端6在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,所述的第二循环体为循环四次的循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第二循环体为循环次数同第四4字节存储区中的值一致的循环体,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤14:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于MaCOS的操作系统平台的客户终端6的前台存储模块8把4字节所能表达的正整数范围完整地随机分配给同该基于MaCOS的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1;
步骤15:然后该基于MaCOS的操作系统平台的客户终端6的前台存储模块8将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于MaCOS的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器1的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块8就把该基于linux操作系统平台的存储服务器1的IP地址作为目的地址,并经过InfiniBand_RDMA网络2把所述的构建的文件及其所在的目录路径发送到带有协议转化模块4的网关5中,然后协议转化模块4中的CIFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块4把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器1中;
步骤16:所述的后台存储模块7就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器1中与接收到的目录路径相同的目录路径中;
步骤17:基于UNIX的操作系统平台的客户终端3在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块4的网关5中,然后协议转化模块4中的NFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块4把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器1中,后台存储模块7根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器1上构造同样的目录路径下的同样目录名的目录;
步骤18:然后当基于UNIX的操作系统平台的客户终端6在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,所述的第二循环体为循环四次的循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第二循环体为循环次数同第四4字节存储区中的值一致的循环体,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤19:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于UNIX的操作系统平台的客户终端6的前台存储模块8把4字节所能表达的正整数范围完整地随机分配给同该基于UNIX的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1;
步骤20:然后该基于UNIX的操作系统平台的客户终端6的前台存储模块8将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于UNIX的操作系统平台的客户终端6相通信连接的基于linux操作系统平台的存储服务器1的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器1的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块8就把该基于linux操作系统平台的存储服务器1的IP地址作为目的地址,并经过InfiniBand_RDMA网络2把所述的构建的文件及其所在的目录路径发送到带有协议转化模块4的网关5中,然后协议转化模块4中的NFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块4把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器1中;
步骤21:所述的后台存储模块7就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器1中与接收到的目录路径相同的目录路径中,这样就真正实现了满足实时性、兼容性的需求。
本发明还具有如下优点:
1.高扩展性:支持横向扩展,存储节点最多可扩展至500个以上;
2.高可用性:用户可自定义文件在存储中的副本数量;
3.高并发性:支持多客户端同时访问一个或多个文件,最多可支持1000个客户端;
4.高兼容性:可同时支持NFS、CIFS(SAMBA)、FTP、HTTP和原生协议,并完全与POSIX标准兼容,用户无需修改任何应用即可使用;
5.超大容量:最大可扩容至20PB以上;
6.超大带宽:采用InfiniBand技术,单存储节点最大可支持20Gb/s以
上聚合带宽。
7.超高利旧:支持所有x86架构服务器,充分利用客户原有硬件资源。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。

Claims (1)

1.一种分布式云存储服务器集群系统的存储方法,其特征在于:
所述分布式云存储服务器集群系统包括两个以上基于linux操作系统平台的存储服务器构成的云存储服务器集群,所述的存储服务器经过InfiniBand_RDMA网络连接到一个以上的基于linux操作系统平台的客户终端,另外所述的存储服务器还依次经过InfiniBand_RDMA网络和带有协议转化模块的网关同基于Windows的操作系统平台、基于UNIX的操作系统平台或者基于MaCOS的操作系统的客户终端相连接,所述的存储服务器内设置着后台存储模块,基于linux操作系统平台的客户终端内设置着前台存储模块,所述的协议转化模块包括有CIFS子模块或者NFS子模块;
步骤如下:
步骤1:每个基于linux操作系统平台的客户终端的前台存储模块先发送请求通信连接数据包经过InfiniBand_RDMA网络发送给所有的基于linux操作系统平台的存储服务器,基于linux操作系统平台的存储服务器接收到请求通信连接数据包后,后台存储模块经过InfiniBand_RDMA网络向发送请求通信连接数据包的基于linux操作系统平台的客户终端传输包含着该基于linux操作系统平台的存储服务器的IP地址信息的响应通信连接数据包,并同发送请求通信连接数据包的基于linux操作系统平台的客户终端建立通信连接,该基于linux操作系统平台的客户终端的前台存储模块把响应通信连接数据包中基于linux操作系统平台的存储服务器的IP地址信息进行保存;
步骤2:基于linux操作系统平台的客户终端在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到与该基于linux操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器,后台存储模块根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器上构造同样的目录路径下的同样目录名的目录;
步骤3:然后当基于linux操作系统平台的客户终端在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤4:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于linux操作系统平台的客户终端的前台存储模块把4字节所能表达的正整数范围完整地随机分配给同该基于linux操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器;
步骤5:然后该基于linux操作系统平台的客户终端的前台存储模块将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于linux操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块就把该基于linux操作系统平台的存储服务器的IP地址作为目的地址,并经过InfiniBand_RDMA网络把所述的构建的文件及其所在的目录路径发送给该基于linux操作系统平台的存储服务器;
步骤6:所述的后台存储模块就根据所述的构建的文件所在的目录路径把接收到的所述的构建的文件存放在该基于linux操作系统平台的存储服务器中相同的目录路径中;
步骤7:基于Windows的操作系统平台的客户终端在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块的网关中,然后协议转化模块中的CIFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器中,后台存储模块根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器上构造同样的目录路径下的同样目录名的目录;
步骤8:然后当基于Windows的操作系统平台的客户终端在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤9:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于Windows的操作系统平台的客户终端的前台存储模块把4字节所能表达的正整数范围完整地随机分配给同该基于Windows的操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器;
步骤10:然后该基于Windows的操作系统平台的客户终端的前台存储模块将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于Windows的操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块就把该基于linux操作系统平台的存储服务器的IP地址作为目的地址,并经过InfiniBand_RDMA网络把所述的构建的文件及其所在的目录路径发送到带有协议转化模块的网关中,然后协议转化模块中的CIFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器中;
步骤11:所述的后台存储模块就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器中与接收到的目录路径相同的目录路径中;
步骤12:基于MaCOS的操作系统平台的客户终端在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块的网关中,然后协议转化模块中的CIFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器中,后台存储模块根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器上构造同样的目录路径下的同样目录名的目录;
步骤13:然后当基于MaCOS的操作系统平台的客户终端在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤14:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于MaCOS的操作系统平台的客户终端的前台存储模块把4字节所能表达的正整数范围完整地随机分配给同该基于MaCOS的操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器;
步骤15:然后该基于MaCOS的操作系统平台的客户终端的前台存储模块将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于MaCOS的操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块就把该基于linux操作系统平台的存储服务器的IP地址作为目的地址,并经过InfiniBand_RDMA网络把所述的构建的文件及其所在的目录路径发送到带有协议转化模块的网关中,然后协议转化模块中的CIFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器中;
步骤16:所述的后台存储模块就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器中与接收到的目录路径相同的目录路径中;
步骤17:基于UNIX的操作系统平台的客户终端在建立了一个目录后,然后把包含有目录路径和目录名信息的信息数据包发送到带有协议转化模块的网关中,然后协议转化模块中的NFS子模块将接收到的信息数据包中的目录路径和目录名信息转化为同linux操作系统平台兼容的目录路径和目录名信息,然后协议转化模块把包含有该同linux操作系统平台兼容的目录路径和目录名信息的数据包发送到基于linux操作系统平台的存储服务器中,后台存储模块根据接收到的数据包内的目录路径和目录名在基于linux操作系统平台的存储服务器上构造同样的目录路径下的同样目录名的目录;
步骤18:然后当基于UNIX的操作系统平台的客户终端在建立的目录下构建了文件后,就把构建的文件的文件名的地址强制转化为4个字节的整型值存储在第一4字节存储区中,接着把构建的文件的文件名的长度值存储在第二4字节存储区中,而把构建的文件的文件名的长度值除以4后的商值存储在第三4字节存储区中,把构建的文件的文件名的长度值除以16后的商值存储在第四4字节存储区中,这样就进入第一循环体中循环第二循环体,第二循环体的第n次循环为依次执行把第一4字节存储区的地址存储在第五4字节存储区中、把第五4字节存储区中的值存储在包含有四个4字节存储区的数组中的第n个4字节存储区中、把第一4字节存储区的值加一、把第三4字节存储区的值减一以及把第二4字节存储区的值减4,其中n的取值范围为1到4的整数,所述的第一循环体的每次循环为先执行第二循环体后,进入第三循环体,所述的第三循环体的循环次数为100次,第三循环体的每次循环为依次把初值为0的第六4字节存储区的值加上100、把初值为1412307604的第七4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第1个4字节存储区的值所得到的和值同第七4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第七4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第2个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为2489623685的第八4字节存储区的值相加,把初值为2489623685的第八4字节存储区的值按位左移4位后加上所述的包含有四个4字节存储区的数组中的第3个4字节存储区的值所得到的和值同第八4字节存储区的值加上第六4字节存储区的值所得的和值进行异或运算、进行异或运算后所得的值同第八4字节存储区的值右移五位后加上所述的包含有四个4字节存储区的数组中的第4个4字节存储区的值所得的和值再进行异或运算后所得的值同初值为1412307604的第七4字节存储区的值相加,这样当第三循环体结束后,把初值为1412307604的第九4字节存储区内的值加上第七4字节存储区的值,把初值为2489623685的第十4字节存储区内的值加上第八4字节存储区的值,这样就完成了第一循环体的一次循环;
步骤19:当第一循环体循环结束后,把第九4字节存储区内的值同第十4字节存储区内的值进行异或运算后得到所述的构建的文件的4字节的索引值,并且该基于UNIX的操作系统平台的客户终端的前台存储模块把4字节所能表达的正整数范围完整地随机分配给同该基于UNIX的操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器;
步骤20:然后该基于UNIX的操作系统平台的客户终端的前台存储模块将所得到的所述的构建的文件的4字节的索引值逐一同随机分配给同该基于UNIX的操作系统平台的客户终端相通信连接的基于linux操作系统平台的存储服务器的正整数范围相比较,如果其中一个基于linux操作系统平台的存储服务器的随机分配的正整数范围包含了所述的构建的文件的4字节的索引值,那么前台存储模块就把该基于linux操作系统平台的存储服务器的IP地址作为目的地址,并经过InfiniBand_RDMA网络把所述的构建的文件及其所在的目录路径发送到带有协议转化模块的网关中,然后协议转化模块中的NFS子模块将接收到的所述的构建的文件及其所在的目录路径分别转化为同linux操作系统平台兼容的文件和目录路径,然后协议转化模块把包含有该同linux操作系统平台兼容的文件和目录路径的数据包发送到基于linux操作系统平台的存储服务器中;
步骤21:所述的后台存储模块就根据接收到的文件和目录路径把接收到的文件存放在该基于linux操作系统平台的存储服务器中与接收到的目录路径相同的目录路径中。
CN201410332728.4A 2014-07-14 2014-07-14 一种分布式云存储服务器集群系统及存储方法 Active CN104092759B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410332728.4A CN104092759B (zh) 2014-07-14 2014-07-14 一种分布式云存储服务器集群系统及存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410332728.4A CN104092759B (zh) 2014-07-14 2014-07-14 一种分布式云存储服务器集群系统及存储方法

Publications (2)

Publication Number Publication Date
CN104092759A CN104092759A (zh) 2014-10-08
CN104092759B true CN104092759B (zh) 2017-10-13

Family

ID=51640439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410332728.4A Active CN104092759B (zh) 2014-07-14 2014-07-14 一种分布式云存储服务器集群系统及存储方法

Country Status (1)

Country Link
CN (1) CN104092759B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881254B (zh) 2015-05-27 2018-09-07 北京百度网讯科技有限公司 数据存储方法和装置
CN106302660A (zh) * 2016-08-01 2017-01-04 成都鼎智汇科技有限公司 药品信息分布式存储方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833237A (zh) * 2012-08-14 2012-12-19 南京斯坦德通信股份有限公司 一种基于桥接的无限带宽协议转换方法及系统
CN102833580A (zh) * 2012-09-19 2012-12-19 南京斯坦德通信股份有限公司 基于infiniband的高清视频应用系统及方法
CN102882864A (zh) * 2012-09-21 2013-01-16 南京斯坦德通信股份有限公司 一种基于InfiniBand云计算网络的虚拟化系统
CN103873559A (zh) * 2014-02-13 2014-06-18 南京斯坦德通信股份有限公司 一种高速存储的数据库一体机

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819230B2 (en) * 2011-11-05 2014-08-26 Zadara Storage, Ltd. Virtual private storage array service for cloud servers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833237A (zh) * 2012-08-14 2012-12-19 南京斯坦德通信股份有限公司 一种基于桥接的无限带宽协议转换方法及系统
CN102833580A (zh) * 2012-09-19 2012-12-19 南京斯坦德通信股份有限公司 基于infiniband的高清视频应用系统及方法
CN102882864A (zh) * 2012-09-21 2013-01-16 南京斯坦德通信股份有限公司 一种基于InfiniBand云计算网络的虚拟化系统
CN103873559A (zh) * 2014-02-13 2014-06-18 南京斯坦德通信股份有限公司 一种高速存储的数据库一体机

Also Published As

Publication number Publication date
CN104092759A (zh) 2014-10-08

Similar Documents

Publication Publication Date Title
CN104092758B (zh) 一种分布式高速云存储服务器集群系统的读取方法
CN104023092B (zh) 一种实现定向流量包的方法及系统
CN108733821A (zh) 一种监控视频截图的分发与展示方法及系统
CN109491758A (zh) docker镜像分发方法、系统、数据网关及计算机可读存储介质
CN104769550B (zh) 在云计算网络中分配带宽的方法和系统
CN103297447B (zh) 一种资源共享方法及其设备
CN106878457B (zh) 分布式网络附属存储方法及系统
CN104539681A (zh) 分布式gis加速系统和gis服务的处理方法
CN106791889A (zh) 一种视频处理方法及系统、分布式对象存储系统
CN104219298B (zh) 集群系统及其数据备份的方法
TW201405324A (zh) 雲端資料儲存系統及基於該系統的資料儲存與共用方法
CN103117947A (zh) 一种负载分担方法及装置
CN105656964B (zh) 数据推送的实现方法及装置
CN103078944A (zh) 基于分布式对称文件系统的数据中心架构
CN106453576A (zh) 一种基于混合云平台的交互方法、系统及调度中心
CN104092759B (zh) 一种分布式云存储服务器集群系统及存储方法
CN108667888A (zh) 一种负载均衡方法和装置
CN109104368A (zh) 一种请求连接方法、装置、服务器及计算机可读存储介质
CN106550047A (zh) 基于内容分发机制的文档快速访问系统及方法
CN104506460B (zh) 一种实现napt端口资源分配的方法
Jin et al. Toward monetary cost effective content placement in cloud centric media network
CN110769023B (zh) 一种基于智能家庭网关的点对点内容分发网络系统
CN104219113A (zh) 显示和分析多播分布的拓扑图算法
CN106790689A (zh) 基于对等网络的节点推荐方法、服务器和客户端
CN102387062B (zh) 动态桥接点改善p2p节点在跨网络时的传输速度的方法

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Distributed cloud storage Server Cluster System and Storage Method

Effective date of registration: 20230515

Granted publication date: 20171013

Pledgee: Jiangsu Zijin Rural Commercial Bank Co.,Ltd. Gulou sub branch

Pledgor: NANJING STD CLOUD TECHNOLOGY CO.,LTD.

Registration number: Y2023320000272