CN107645499A - 一种分布式存储系统的后端框架及其协议实现方法 - Google Patents
一种分布式存储系统的后端框架及其协议实现方法 Download PDFInfo
- Publication number
- CN107645499A CN107645499A CN201710831443.9A CN201710831443A CN107645499A CN 107645499 A CN107645499 A CN 107645499A CN 201710831443 A CN201710831443 A CN 201710831443A CN 107645499 A CN107645499 A CN 107645499A
- Authority
- CN
- China
- Prior art keywords
- server
- protocol
- posix
- http
- client
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明揭示了一种分布式存储系统的后端框架及其协议实现方法,涉及客户端和服务器端,客户端中用户程序与Linux内核VFS层交互编程API,且通过POSIX接口经POSIX协议转换处理为HTTP协议;服务器端中HTTP协议通过POSIX协议转换处理恢复至POSIX接口,且通过文件系统服务器层与磁盘IO交互编程API;客户端和服务器端通过Web服务器和HTTP协议通信互联。其中将网络文件系统服务器的逻辑部分作为Web服务器的一个模块运作,进行HTTP接口和POSIX接口之间双向协议转换。应用本发明技术方案,通过双向协议转换,可以极大地降低分布式文件系统后端服务器开发的复杂度。服务器开发可以完全基于现有成熟的WebServer做二次完全开发。这样在开发效率以及服务器稳定度等方面可以获得很大的提升和保障。
Description
技术领域
本发明涉及一种分布式存储系统架构,尤其涉及一种利用HTTP接口和POSIX接口之间双向协议转换实现的后端框架结构及其协议实现方法。
背景技术
在分布式存储系统中后端服务器开发是一项复杂度极高的工作。其中POSIX(Portable Operating System Interface of Unix)定义了一系列可移植的操作系统接口,与文件系统相关的POSIX接口定义了一组源代码级别的API用以使应用程序可以以一致的方法操作文件。而一个支持POSIX接口的文件系统则提供了对应所有POSIX文件API的相应功能和语意的实现。
POSIX文件系统接口相当复杂,定义了多个文件操作,可以操作和控制文件的方方面面。通常,为了实现一个支持POSIX接口的网络文件系统,类似NFS或者CIFS,网络文件系统的客户端和服务器端之间的通信协议都需要参照POSIX相关语意定义对应的协议操作,导致协议设计和处理的复杂性相应提高,实现难度也相应提高。而实现一个稳定高效的网络服务器,也是需要大量的开发和调试工作。
发明内容
鉴于上述现有网络文件系统服务器的缺陷,本发明的目的是提出一种分布式存储系统的后端框架及其协议实现方法,解决分布式存储系统后端服务器的开发和运行效率问题。
本发明的上述一个目的将通过以下技术方案得以实现:一种分布式存储系统的后端框架,涉及客户端和服务器端,其特征在于:
所述客户端中用户程序与Linux内核VFS层交互编程API,且通过POSIX接口经POSIX协议转换处理为HTTP协议;
所述服务器端中HTTP协议通过POSIX协议转换处理恢复至POSIX接口,且通过文件系统服务器层与磁盘IO交互编程API;
所述客户端和服务器端通过Web服务器和HTTP协议通信互联。
本发明的上述另一个目的将通过以下技术方案得以实现:一种分布式存储系统的后端协议实现方法,涉及客户端和服务器端的请求收发,其特征在于:将网络文件系统服务器的逻辑部分作为Web服务器的一个模块运作,进行HTTP接口和POSIX接口之间双向协议转换。
进一步地,所述双向协议转换中使用HTTP头部的扩展tag标记来标记文件元数据相关的请求和变化,使用HTTP的Content段来进行文件数据内容的交换,对每个HTTP请求,由Web服务器进行消息通信和扩展Tag标记分析,由网络文件系统服务器的逻辑部分处理POSIX文件并形成回复消息。
更进一步地,其特征在于:所述POSIX文件的属性至少包括文件索引号、大小、所属用户、所属用户组、链接数、修改时间、创建时间、变化时间、访问时间、权限、类型、数据偏移量和数据长度,且各个属性分别以一一对应关系与扩展tag标记相关联。
进一步地,所述双向协议转换中语义转换方法包括文件路径为HTTP URL对应域,所有读请求使用HTTP GET方法,所有写请求使用HTTP PUT方法。
本发明技术方案应用于分布式存储系统,相对于现有技术其有益效果体现在:通过双向协议转换,可以极大地降低分布式文件系统后端服务器开发的复杂度。服务器开发可以完全基于现有成熟的WebServer做二次完全开发。这样在开发效率以及服务器稳定度等方面可以获得很大的提升和保障。
附图说明
图1是本发明云存储服务中租户数据容量统计的状态示意图。
图2是本发明云存储服务中后端协议的实现流程示意图。
具体实施方式
以下便结合实施例附图,对本发明的具体实施方式作进一步的详述,以使本发明技术方案更易于理解、掌握。
从本领域技术人员的一般认识,基于HTTP服务的Web服务器,则已有很多优秀的开源产品实现,类似httpd,ngnix等,并且经过了长时间大规模的实践的验证。所以,基于已有的Web服务器实现来实现网络文件系统的服务器端,是一个可靠并且经济的思路。但是Web服务器仅支持HTTP协议,而HTTP协议支持的方法很有限,仅有GET、PUT、DELETE等几个方法,语意相对比较简单。因此,为了在Web服务器上实现支持POSIX文件系统的网络文件系统,本申请设计并提出实现了一种在HTTP接口和POSIX接口之间双向转换的方法。
从本发明技术方案概述来看:其后端框架如图1所示,涉及客户端和服务器端。其中
上述客户端中用户程序与Linux内核VFS层交互编程API,且通过POSIX接口经POSIX协议转换处理为HTTP协议;上述服务器端中HTTP协议通过POSIX协议转换处理恢复至POSIX接口,且通过文件系统服务器层与磁盘IO交互编程API;客户端和服务器端通过Web服务器和HTTP协议通信互联。
另一方面后端协议实现方法,涉及客户端和服务器端的请求收发。如图2所示,将网络文件系统服务器的逻辑部分作为Web服务器的一个模块运作,进行HTTP接口和POSIX接口之间双向协议转换。该双向协议转换中使用HTTP头部的扩展tag标记来标记文件元数据相关的请求和变化,使用HTTP的Content段来进行文件数据内容的交换,对每个HTTP请求,由Web服务器进行消息通信和扩展Tag标记分析,由网络文件系统服务器的逻辑部分处理POSIX文件并形成回复消息。
进一步细化来看,上述POSIX文件的属性至少包括文件索引号、大小、所属用户、所属用户组、链接数、修改时间、创建时间、变化时间、访问时间、权限、类型、数据偏移量和数据长度,且各个属性分别以一一对应关系与扩展tag标记相关联,参见下表。
其中语义转换方法包括文件路径为HTTP URL对应域,所有读请求使用HTTP GET方法,所有写请求使用HTTP PUT方法。
综上关于实施例的详细描述可见,本发明技术方案应用于分布式存储系统,相对于现有技术其有益效果体现在:通过双向协议转换,可以极大地降低分布式文件系统后端服务器开发的复杂度。服务器开发可以完全基于现有成熟的WebServer做二次完全开发。这样在开发效率以及服务器稳定度等方面可以获得很大的提升和保障。
本发明尚有多种实施方式,凡采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。
Claims (5)
1.一种分布式存储系统的后端框架,涉及客户端和服务器端,其特征在于:
所述客户端中用户程序与Linux内核VFS层交互编程API,且通过POSIX接口经POSIX协议转换处理为HTTP协议;
所述服务器端中HTTP协议通过POSIX协议转换处理恢复至POSIX接口,且通过文件系统服务器层与磁盘IO交互编程API;
所述客户端和服务器端通过Web服务器和HTTP协议通信互联。
2.一种分布式存储系统的后端协议实现方法,涉及客户端和服务器端的请求收发,其特征在于:将网络文件系统服务器的逻辑部分作为Web服务器的一个模块运作,进行HTTP接口和POSIX接口之间双向协议转换。
3.根据权利要求2所述分布式存储系统的后端协议实现方法,其特征在于:所述双向协议转换中使用HTTP头部的扩展tag标记来标记文件元数据相关的请求和变化,使用HTTP的Content段来进行文件数据内容的交换,对每个HTTP请求,由Web服务器进行消息通信和扩展Tag标记分析,由网络文件系统服务器的逻辑部分处理POSIX文件并形成回复消息。
4.根据权利要求3所述分布式存储系统的后端协议实现方法,其特征在于:所述POSIX文件的属性至少包括文件索引号、大小、所属用户、所属用户组、链接数、修改时间、创建时间、变化时间、访问时间、权限、类型、数据偏移量和数据长度,且各个属性分别以一一对应关系与扩展tag标记相关联。
5.根据权利要求2所述分布式存储系统的后端协议实现方法,其特征在于:所述双向协议转换中语义转换方法包括文件路径为HTTP URL对应域,所有读请求使用HTTP GET方法,所有写请求使用HTTP PUT方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710831443.9A CN107645499A (zh) | 2017-09-15 | 2017-09-15 | 一种分布式存储系统的后端框架及其协议实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710831443.9A CN107645499A (zh) | 2017-09-15 | 2017-09-15 | 一种分布式存储系统的后端框架及其协议实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107645499A true CN107645499A (zh) | 2018-01-30 |
Family
ID=61111720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710831443.9A Pending CN107645499A (zh) | 2017-09-15 | 2017-09-15 | 一种分布式存储系统的后端框架及其协议实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107645499A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110749814A (zh) * | 2018-07-24 | 2020-02-04 | 上海富瀚微电子股份有限公司 | 一种芯片ic样本自动化测试系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101938717A (zh) * | 2010-09-07 | 2011-01-05 | 深圳市彩讯科技有限公司 | 一种邮件附件转换系统及转换方法 |
US8219562B1 (en) * | 2009-06-29 | 2012-07-10 | Facebook, Inc. | Efficient storage and retrieval for large number of data objects |
CN104537076A (zh) * | 2014-12-31 | 2015-04-22 | 北京奇艺世纪科技有限公司 | 一种文件读写方法及装置 |
CN105069012A (zh) * | 2015-07-07 | 2015-11-18 | 浪潮(北京)电子信息产业有限公司 | 一种文件访问方法及系统 |
-
2017
- 2017-09-15 CN CN201710831443.9A patent/CN107645499A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8219562B1 (en) * | 2009-06-29 | 2012-07-10 | Facebook, Inc. | Efficient storage and retrieval for large number of data objects |
CN101938717A (zh) * | 2010-09-07 | 2011-01-05 | 深圳市彩讯科技有限公司 | 一种邮件附件转换系统及转换方法 |
CN104537076A (zh) * | 2014-12-31 | 2015-04-22 | 北京奇艺世纪科技有限公司 | 一种文件读写方法及装置 |
CN105069012A (zh) * | 2015-07-07 | 2015-11-18 | 浪潮(北京)电子信息产业有限公司 | 一种文件访问方法及系统 |
Non-Patent Citations (2)
Title |
---|
徐海峰: "面向移动设备的云存储统一接口研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
袁爱君: "基于ARM的嵌入式uClinux系统设计与Web服务器应用的实现", 《中国优秀硕博士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110749814A (zh) * | 2018-07-24 | 2020-02-04 | 上海富瀚微电子股份有限公司 | 一种芯片ic样本自动化测试系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949447B2 (en) | Blockchain-based data synchronizing and data block parsing method and device | |
CN103731483B (zh) | 一种基于云计算的虚拟文件系统 | |
CN100531055C (zh) | 数据同步系统及其方法 | |
CN102857565B (zh) | 一种基于云计算的智能试衣系统 | |
CN104036025A (zh) | 一种基于分布式的海量日志采集系统 | |
CN206249316U (zh) | 一种基于云端的医院数据中心平台系统 | |
CN106326381A (zh) | 基于MapDB构建的HBase数据检索方法 | |
CN108038207A (zh) | 一种日志数据处理系统、方法和服务器 | |
CN102750326A (zh) | 一种基于精简策略的集群系统的日志管理优化方法 | |
CN107818120A (zh) | 基于大数据的数据处理方法和装置 | |
CN111339192A (zh) | 一种分布式边缘计算数据存储系统 | |
CN102880854B (zh) | 基于分布式和哈希映射的室外海量物体识别方法和系统 | |
CN104394211A (zh) | 一种基于Hadoop用户行为分析系统设计与实现方法 | |
CN109831486A (zh) | 多客户端的后台数据服务器系统及数据处理方法 | |
CN103020257A (zh) | 数据操作的实现方法和装置 | |
US20240106893A1 (en) | Filecoin cluster data transmission method and system based on remote direct memory access | |
CN106953910A (zh) | 一种Hadoop计算存储分离方法 | |
CN102624881A (zh) | 一种面向移动设备的服务缓存系统架构及开发方法 | |
CN104699723A (zh) | 数据交换适配器、异构系统之间数据同步系统和方法 | |
CN108964971A (zh) | 一种数据交换平台 | |
CN102917005A (zh) | 一种支持事务的海量存储访问方法及装置 | |
CN106528667B (zh) | 读写分离的低功耗海量数据全文检索系统框架 | |
CN104750815B (zh) | 一种基于HBase的Lob数据的存储方法及装置 | |
CN107645499A (zh) | 一种分布式存储系统的后端框架及其协议实现方法 | |
CN110069247A (zh) | 一种应用程序的开发方法及装置、使用方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180130 |