CN110688674B - 一种访问对接器、系统及应用该访问对接器的方法及装置 - Google Patents
一种访问对接器、系统及应用该访问对接器的方法及装置 Download PDFInfo
- Publication number
- CN110688674B CN110688674B CN201910898500.4A CN201910898500A CN110688674B CN 110688674 B CN110688674 B CN 110688674B CN 201910898500 A CN201910898500 A CN 201910898500A CN 110688674 B CN110688674 B CN 110688674B
- Authority
- CN
- China
- Prior art keywords
- access
- dockee
- hadoop
- storage
- interface
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 210000001503 joint Anatomy 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 64
- 238000003032 molecular docking Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 abstract description 4
- WGZDBVOTUVNQFP-UHFFFAOYSA-N N-(1-phthalazinylamino)carbamic acid ethyl ester Chemical compound C1=CC=C2C(NNC(=O)OCC)=NN=CC2=C1 WGZDBVOTUVNQFP-UHFFFAOYSA-N 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000012634 fragment Substances 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
Abstract
本发明提供了一种访问对接器、系统及应用该访问对接器的方法及装置,其中该访问对接器部署于Hadoop计算服务器,且包括:兼容接口层,用于兼容实现Hadoop的文件系统接口,从而实现与Hadoop计算服务组件的访问对接;操作实现层,通过向兼容接口层提供第一接口函数,从而在文件系统接口下实现Hadoop计算服务组件所需的文件操作;存储访问层,通过向操作实现层提供第二接口函数,从而将文件操作转化为对分布式存储中的对象存储的访问操作。利用上述访问对接器,能够实现Hadoop计算服务与存储服务解耦分离,直接访问分布式存储中的对象存储。
Description
技术领域
本发明属于分布式存储技术领域,具体涉及一种访问对接器、系统及应用该访问对接器的方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着大数据技术的不断发展,Hadoop计算服务与存储服务解耦分离由于具有以下优势而逐渐形成为新的发展趋势:一、可以使存储资源的技术架构相对稳定,避免受到计算组件的频繁升级或者扩展的影响;二、便于实现存储资源的共享。
然而在现有技术中,并没有性能好且可用性高的解决方案以实现上述Hadoop计算服务与存储服务的解耦分离。
发明内容
针对上述现有技术中难以实现Hadoop计算服务与存储服务解耦分离这一问题,提出了一种访问对接器、系统及应用该访问对接器的方法及装置,利用这种访问对接器、系统及其应用,能够解决上述问题。
本发明提供了以下方案。
第一方面,提供一种访问对接器,部署于Hadoop计算服务器,包括:兼容接口层,用于兼容实现Hadoop的文件系统接口,从而实现与Hadoop计算服务组件的访问对接;操作实现层,通过向兼容接口层提供第一接口函数,从而在文件系统接口下实现Hadoop计算服务组件所需的文件操作;存储访问层,通过向操作实现层提供第二接口函数,从而将文件操作转化为对分布式存储中的对象存储的访问操作。
在一些可能的实施方式中,分布式存储为Ceph集群。
在一些可能的实施方式中,对象存储的访问操作为对Ceph集群中rados集群的访问操作。
在一些可能的实施方式中,存储访问层包括:Crush计算单元,用于和Ceph集群的Mon节点建立通信以获取Ceph集群的Crush Map,并通过Crush算法计算Ceph集群中对象存储设备OSD的位置;文件读写单元,用于与Ceph集群中的对象存储设备OSD建立Socket通信,以实现对Ceph集群的访问操作。
在一些可能的实施方式中,文件操作至少包括以下中的一种或多种:列举出文件及文件夹、创建文件夹、删除文件夹、得到文件的状态信息、重命名文件、文件夹返回、打开文件的指针、将数据流写入打开的文件中、读取打开的文件的数据,实现用户认证。
在一些可能的实施方式中,存储访问层由部署在Hadoop指定目录下的动态链接库文件(Libcephrgw.so)而实现,且第二接口函数为动态链接库文件Libcephrgw.so中封装的、用于访问Ceph集群中rados集群的C++接口函数。
在一些可能的实施方式中,操作实现层由部署在Hadoop指定目录下的第二Java包(cephlibrgw.jar)而实现,第二Java包(cephlibrgw.jar)用于将动态链接库文件(Libcephrgw.so)封装的C++接口函数转化为Java接口函数,且第一接口函数为Java接口函数。
在一些可能的实施方式中,第二Java包(cephlibrgw.jar)利用JNI实现Java接口函数与C++接口函数之间的转换。
在一些可能的实施方式中,兼容接口层由部署在Hadoop指定目录下的第一Java包(CephRgwFileSystem.jar)而实现。
在一些可能的实施方式中,文件系统接口的操作复用HDFS的实现。
在一些可能的实施方式中,兼容接口层还用于:使Hadoop的yarn组件在运行时调用第一Java包(CephRgwFileSystem.jar)的功能函数。
在一些可能的实施方式中,访问对接器部署于Hadoop计算服务器集群中的各计算服务器节点。
在一些可能的实施方式中,Hadoop配置文件内容core-site.xml中包含访问对接器的主类信息。
第二方面,提供一种访问对接系统,包括:Hadoop计算服务器集群与分布式存储,在Hadoop计算服务器集群的各计算服务器节点上部署有如上述第一方面的访问对接器,用于将各计算服务器节点对接至分布式存储。
在一些可能的实施方式中,分布式存储利用空闲存储接口向Hadoop计算服务器集群以外的其他计算平台提供存储服务。
在一些可能的实施方式中,分布式存储为Ceph集群,且空闲存储接口包括块设备存储接口和文件系统存储接口。
第三方面,提供一种应用访问对接器的方法,包括:接收Hadoop计算服务组件的访问请求;利用如上述第一方面的访问对接器,将访问请求转化为对分布式存储中的对象存储的访问操作。
在一些可能的实施方式中,在接收Hadoop计算服务组件的访问请求之前,还包括:利用Hadoop的配置文件内容core-site.xml获取访问对接器的主类信息。
第四方面,提供一种应用访问对接器的装置,包括:接收模块,用于接收Hadoop计算服务组件的访问请求;访问模块,用于利用如上述第一方面的访问对接器,将访问请求转化为对分布式存储中的对象存储的访问操作。
在一些可能的实施方式中,还包括:加载模块,用于利用Hadoop配置文件内容core-site.xml获取访问对接器的主类信息。
第五方面,提供一种应用访问对接器的装置,包括:一个或者多个多核处理器;存储器,用于存储一个或多个程序;当一个或多个程序被一个或者多个多核处理器执行时,使得一个或多个多核处理器实现如上述第三方面的方法。
第六方面,提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被多核处理器执行时,使得多核处理器执行如上述第三方面的方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过上述访问对接器中的兼容接口层、操作实现层和对象访问层协同工作,可以在不改变任何Hadoop存储服务及管理层以上的接口与软件实现情况下,支持Hadoop的计算服务与存储服务异构解耦,实现Hadoop的计算服务组件直接以对象存储的访问操作的方式访问异构的分布式存储,性能和可用性提升,上述分布式存储比如是Ceph集群。
应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举说明本发明的具体实施方式。
附图说明
通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的有点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:
图1为根据本发明一实施例的访问对接器的结构示意图;
图2为根据本发明一实施例的FileSystem接口的示意图;
图3为根据本发明一实施例的应用访问对接器的方法的流程示意图;
图4为根据本发明一实施例的应用访问对接器的装置的结构示意图;
图5为根据本发明又一实施例的应用访问对接器的装置的结构示意图;
图6为根据本发明一实施例的计算机可读存储介质的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。
在说明本发明之前,先对本发明中出现的若干技术用语进行简单说明。
Hadoop:一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop是目前应用面最广的一种分布式计算平台,采用MapReduce分布式计算模型,提供了一系列的接口与框架,帮助用户高效的利用分布式集群的计算资源,提高计算的并行性。
Ceph:一种为可靠性和可扩展性而设计的统一的、分布式文件系统,具有优秀的性能。
Object Storage:对象存储,也叫做基于对象的存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。就像文件一样,对象包含数据,但是和文件不同的是,对象在一个层结构中不会再有层级结构。每个对象都在一个被称作存储池的扁平地址空间的同一级别里,一个对象不会属于另一个对象的下一级。
另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
如图1所示出,本实施例提供一种访问对接器100。该访问对接器100部署于Hadoop计算服务器上,且访问对接器100包括:兼容接口层101、操作实现层102和存储访问层103。其中,兼容接口层101用于兼容实现Hadoop的文件系统接口,从而实现与Hadoop计算服务组件的访问对接,操作实现层102通过向兼容接口层101提供第一接口函数,从而在文件系统接口下实现Hadoop计算服务组件所需的文件操作,存储访问层103通过向操作实现层102提供第二接口函数,从而将文件操作转化为对分布式存储中的对象存储的访问操作,以实现与分布式存储的访问对接。
在一些可能的实施方式中,上述分布式存储可以优选为Ceph集群。可以理解,本实施例也可以应用于实现Hadoop与Ceph集群之外的其他分布式存储设备的对接,本实施例以Ceph集群为例进行描述,但不限于此。通过采用CEPH集群作为Hadoop对接的分布式存储,对于Hadoop而言,可以有效地提高文件读写性能、提升文件访问效率,同时Hadoop中的数据可以通过CEPH挂载到用户空间中,实现了数据的多样化管理;对于CEPH集群而言,通过Hadoop平台对CEPH集群的访问,为CEPH集群提供了Java编程语言的访问接口,使得CEPH的应用场景和应用范围得到了更大的扩展。
在一些可能的实施方式中,Hadoop配置文件内容core-site.xml中包含访问对接器的主类信息。举例来说,如表1所示,在Hadoop的配置文件内容core-site.xml增加以下配置项:
表1:
其中,配置项fs.cephRgw.impl表示cephRgw的实现类。配置项ceph.auth.id、ceph.conf.file、ceph.auth.access用户的access key、ceph.auth.secret、ceph.auth.secret、mon host等设置了Ceph集群的参数,配置项fs.AbstractFileSystem.cephRgw.impl表示cephRgw的抽象文件系统的实现类。
进一步地,AbstractFileSystem在Hadoop中扮演了一个类似虚拟文件系统(VFS)的角色,由Hadoop在文件系统格式不明确的时候使用,实现了创建文件(create)、创建目录(mkdir)、创建文件流(open)等虚方法,用于Hadoop所需的各种文件操作在Ceph上的实现;CephRgw功能函数包括:CephRgw(URI thisUri,Configuration conf)throwsIOException,URISyntaxException;表示使Hadoop层组件运行过程中调用CephRgwFileSystem类里面的函数。
以下对兼容接口层101、操作实现层102和存储访问层103的功能、内部实现结构进行示例性说明。
(1)兼容接口层101
兼容接口层101用于兼容实现Hadoop文件系统接口(FileSystem),从而实现与Hadoop计算服务组件的访问对接;
具体地,上述兼容接口层101利用CephRgwFileSystem类实现FileSystem接口,进而可以经由FileSystem接口与Hadoop计算服务组件形成访问对接。具体可以被Hadoop计算服务组件调用以执行各种与文件有关的方法或实现与文件有关的操作,实现Hadoop文件系统接口功能,屏蔽Hadoop计算服务组件对文件IO的调用差异。
图2示出该FileSystem接口中包含的抽象方法,FileSystem接口支持Hadoop计算服务组件按需求执行与文件有关的操作,具体功能包括但不限于:通过配置文件初始化文件系统、创建文件或文件夹、获取文件或文件夹的信息、设置文件或文件夹权限、创建文件读写数据流,对文件进行读写操作、重命名或者删除文件夹。
在一些可能的实施方式中,上述兼容接口层101也即CephRgwFileSystem层,可以由部署在Hadoop指定目录下的第一Java包CephRgwFileSystem.jar而实现。比如,可以在Hadoop的share/Hadoop/common/lib下放置该CephRgwFileSystem.jar。此外,还可以利用上述CephRgwFileSystem.jar,同时实现Hadoop的调度服务组件(比如Yarn)中对于诸如缓存存放位置等特殊文件存储需求的对接。
在一些可能的实施方式中,CephRgwFileSystem层还用于:在Hadoop的组件运行时,使yarn调用CephRgwFileSystem类中的功能函数。比如,可以通过部署在Hadoop中的CephRgw功能函数而实现上述功能。
举例来说,该CephRgw功能函数可以为:
CephRgw(URIthisUri,Configurationconf)throwsIOException,URISyntaxException;
在一些可能的实施方式中,上述CephRgwFileSystem类的操作复用HDFS类的实现,从而保持HDFS客户端的文件读取操作的逻辑与兼容性要求,因此,在调用CephRgwFileSystem类中的功能函数时,可以使Hadoop的组件通过本机分布式方式访问Ceph集群集群,无需重写业务代码,简化了客户端代码使用。
举例来说,如表2所示出,该CephRgwFileSystem类包含的功能函数包括:
表2:
由上述兼容接口层101可以看出,通过引入FileSystem的新的实现类CephRgwFileSystem,可以实现了对应HDFS访问的兼容,对Hadoop计算服务组件的对接。
(2)操作实现层102
操作实现层102通过向上层的兼容接口层101提供第一接口函数,从而在FileSystem接口下实现Hadoop计算服务组件所需求的文件操作;
具体地,操作实现层102也即cephlibrgw层,可以通过部署在Hadoop指定目录下的第二Java包cephlibrgw.jar而实现。比如,可以在Hadoop的share/Hadoop/common/lib下放置该cephlibrgw.jar以实现上述cephlibrgw层。
在一些可能的实施方式中,上述文件操作至少包括以下中的一种或多种:列举出文件及文件夹、创建文件夹、删除文件夹、得到文件的状态信息、重命名文件、文件夹返回、打开文件的指针、将数据流写入打开的文件中、读取打开的文件的数据,实现用户认证。
举例来说,如表3所示,由cephlibrgw层提供的第一接口函数为Java接口函数,可以包括:
表3:
(3)存储访问层103
存储访问层103通过向操作实现层102提供第二接口函数,从而将文件操作转化为对分布式存储中的对象存储的访问操作。其中对象存储的访问操作具体是对Ceph集群中rados集群的访问操作。
在一些可能的实施方式中,存储访问层103是一个C语言层,可以由部署在Hadoop指定目录下的动态链接库文件Libcephrgw.so而实现,比如可以在Hadoop的/usr/lib64/文件夹下放置libcephrgw.so实现上述存储访问层103。
存储访问层103向操作实现层102提供的第二接口函数具体可以是在Libcephrgw.so中封装的、用于访问Ceph集群中rados集群的C++接口函数。该C++接口函数提供了文件创建、文件访问、文件读取、文件写入、文件更新、目录列表、文件名查询、文件状态查询、系统状态查询等基本操作的函数接口,并重新封装了初始化系统句柄、获得操作句柄等函数,用户只需要申请相应的句柄后直接调用操作函数即可进行相应的操作,无需手动管理Ceph内部的中间变量与参数。
举例来说,如表4所示,由Libcephrgw.so提供的第二接口函数为C++接口函数,且可以包括:
表4:
在一些可能的实施方式中,上述操作实现层102还可以调用Libcephrgw.so封装的C++接口函数,并将其转化为提供给上层兼容接口层的Java接口函数,也即第一接口函数。具体地,操作实现层102利用JNI实现Java接口函数与C++接口函数之间的转换。其中,上述JNI提供了若干的调用接口以实现了Java语言和C++语言的通信。可以理解,Hadoop所采用的程序语言为Java语言,Ceph集群所采用的语言为C++语言,Java语言无法直接操作硬件,因此可以通过JNI调用C++的库或函数进而操作硬件,避免重复开发。
在一些可能的实施方式中,如图1所示出,存储访问层103具体包括:Crush计算单元与文件读写单元,其中Crush计算单元用于和Ceph集群的Mon节点建立通信以获取Ceph集群的Crush Map,并通过Crush算法计算Ceph集群中对象存储设备OSD的位置;文件读写单元,用于与Ceph集群中的对象存储设备OSD建立Socket通信,以实现对Ceph集群的访问操作,也即实现对于Ceph集群的对接。
在一些可能的实施方式中,访问对接器100具体部署于Hadoop计算服务器集群中的各Hadoop计算服务器节点。从而实现Hadoop的大数据计算服务分布式直接访问Ceph存储,无需额外经过网关,访问路径较短,性能和可用性提升。
通过上述访问对接器中的兼容接口层、操作实现层和对象访问层协同工作,可以在不改变任何Hadoop存储服务及管理层以上的接口与软件实现情况下,支持Hadoop的计算服务与存储服务异构解耦,实现Hadoop的计算服务组件直接以对象存储的访问操作的方式访问异构的分布式存储,性能和可用性提升。
基于上述访问对接器,本申请实施例还提供了一种访问对接系统。包括:Hadoop计算服务器集群与分布式存储,其中在Hadoop计算服务器集群的各计算服务器上部署有上述访问对接器,用于将各计算服务器对接至该分布式存储。
在一些可能的实施方式中,分布式存储利用空闲存储接口向Hadoop计算服务器集群以外的计算平台提供存储服务。比如,Ceph集群的存储资源可以同时共享给大数锯、虚机、容器不同应用使用,从而实现存储资源共享。
在一些可能的实施方式中,分布式存储为Ceph集群,且空闲存储接口包括块设备存储接口和文件系统存储接口。
需要说明的是,本申请实施例中的访问对接系统可以实现访问对接器的实施例的各个方面,并达到相同的效果和功能,这里不再赘述。
基于上述访问对接器,本申请实施例还提供了一种应用访问对接器的方法。图3为根据本申请一实施例的应用访问对接器的方法的流程示意图,如图3所示,方法300包括:
步骤S301:接收Hadoop计算服务组件的访问请求;
步骤S302:利用上述访问对接器,将访问请求转化为对分布式存储中的对象存储的访问操作。
在一些可能的实施方式中,方法300还可以包括:利用Hadoop配置文件内容core-site.xml获取访问对接器的主类信息。
接下来,以put文件为例的数据访问流程对上述应用访问对接器的方法进行详细描述。
首先,由兼容接口层执行:
步骤S41:将put文件分片。
步骤S42:通过create函数将put文件以数据流方式传给操作实现层。
其中,Hadoop根据core-site.xml文件的io.file.buffer.size配置项对文件进行分片(默认是4096字节);通过Filesystem接口中定义的create函数构建CephRgwOutputStream的文件输出流,传递给下层操作实现层层;在CephRgwOutputStream中根据core-site.xml文件的ceph.io.buffer.size配置项设置缓冲区大小(默认是4M);Hadoop调用CephRgwOutputStream的Write函数将文件内容传递到cephlibrgw.jar。
其次,由操作实现层执行:
步骤S43:实现Java接口函数与C++接口函数对接,将数据流继续向下传递给存储访问层。
其中,操作实现层通过调用下层存储访问层提供的C++接口函数,将文件数据流传递给存储访问层。
再次,由存储访问层执行:
S44:获取Ceph集群信息,并对数据流进行再次分片。
S45:计算各分片对应的OSD位置
S46:和OSD直接进行通信,上传文件。
其中,存储访问层通过其中的Crush计算单元和ceph mon通信,获取ceph集群信息,并根据ceph集群的底层Objects大小(默认是4M)对文件数据流进行再切分;存储访问层通过其中的Crush计算单元和ceph mon通信,获取Crush Map,并根据分片信息在Crush计算单元计算出每个分片对应的主OSD的ip及端口号;存储访问层通过其中文件读写操作和OSD建立通信进行数据异步传输,传输完成后,OSD端将消息返回
通过应用上述访问对接器,利用其中的兼容接口层、操作实现层和对象访问层协同工作,可以在不改变任何Hadoop存储服务及管理层以上的接口与软件实现情况下,支持Hadoop的计算服务与存储服务异构解耦,实现Hadoop的计算服务组件直接以对象存储的访问操作的方式访问异构的分布式存储,性能和可用性提升。
基于上述访问对接器,本申请还提供一种应用访问对接器的装置。图4为根据本申请一实施例的应用访问对接器的装置的结构示意图,如图4所示,装置40包括:
接收模块401,用于接收Hadoop计算服务组件的访问请求;
访问模块402,用于利用上述访问对接器,将访问请求转化为对分布式存储中的对象存储的访问操作。
在一些实施例中,装置40还包括:加载模块,用于利用Hadoop配置文件内容core-site.xml加载访问对接器。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为设备、方法或计算机可读存储介质。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“设备”。
在一些可能的实施方式中,本发明的一种应用访问对接器的装置可以至少包括一个或多个处理器、以及至少一个存储器。其中,存储器存储有程序,当程序被处理器执行时,使得处理器执行如图3所示的步骤:
步骤S301:接收Hadoop计算服务组件的访问请求;
步骤S302利用上述的访问对接器,将访问请求转化为对分布式存储中的对象存储的访问操作。
下面参照图5来描述根据本发明的这种实施方式的应用访问对接器的装置5。图5显示的装置5仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,装置5可以以通用计算设备的形式表现,包括但不限于:至少一个处理器10、至少一个存储器20、连接不同设备组件的总线60。
总线60包括数据总线、地址总线和控制总线。
存储器20可以包括易失性存储器,例如随机存取存储器(RAM)21和/或高速缓存存储器22,还可以进一步包括只读存储器(ROM)23。
存储器20还可以包括程序模块24,这样的程序模块24包括但不限于:操作设备、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
装置5还可以与一个或多个外部设备2(例如键盘、指向设备、蓝牙设备等)通信,也可与一个或者多个其他设备进行通信。这种通信可以通过输入/输出(I/O)接口40进行,并在显示单元30上进行显示。并且,装置5还可以通过网络适配器50与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器50通过总线60与装置5中的其它模块通信。应当明白,尽管图中未示出,但可以结合装置5使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID设备、磁带驱动器以及数据备份存储设备等。
图6示出了一种计算机可读存储介质,用于执行如上所述的方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种计算机可读存储介质的形式,其包括程序代码,当所述程序代码在被处理器执行时,所述程序代码用于使所述处理器执行上面描述的方法。
上面描述的方法包括了上面的附图中示出和未示出的多个操作和步骤,这里将不再赘述。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的设备、设备或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图6所示,描述了根据本发明的实施方式的计算机可读存储介质60,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的计算机可读存储介质不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行设备、设备或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (21)
1.一种访问对接器,其特征在于,部署于Hadoop计算服务器,且包括:
兼容接口层,用于兼容实现Hadoop的文件系统接口,从而实现与Hadoop计算服务组件的访问对接,所述文件系统接口的操作复用Hadoop分布式文件系统来实现;
操作实现层,通过向所述兼容接口层提供适应于所述Hadoop分布式文件系统的第一接口函数,从而在所述文件系统接口下实现所述Hadoop计算服务组件所需的文件操作;
存储访问层,通过向所述操作实现层提供第二接口函数,从而将所述文件操作转化为对分布式存储中的对象存储的访问操作,其中,在所述操作实现层调用所述第二接口函数时,将所述第二接口函数转化为提供给所述兼容接口层的第一接口函数。
2.根据权利要求1所述的访问对接器,其特征在于,所述分布式存储为Ceph集群。
3.根据权利要求2所述的访问对接器,其特征在于,所述对象存储的访问操作为对Ceph集群中rados集群的访问操作。
4.根据权利要求3所述的访问对接器,其特征在于,所述存储访问层包括:
Crush计算单元,用于和Ceph集群的Mon节点建立通信以获取Ceph集群的Crush Map,并通过Crush算法计算Ceph集群中对象存储设备OSD的位置;
文件读写单元,用于与Ceph集群中的对象存储设备OSD建立Socket通信,以实现对Ceph集群的访问操作。
5.如权利要求1所述的访问对接器,其特征在于,所述文件操作至少包括以下中的一种或多种:
列举出文件及文件夹、创建文件夹、删除文件夹、得到文件的状态信息、重命名文件、文件夹返回、打开文件的指针、将数据流写入打开的文件中、读取打开的文件的数据,实现用户认证。
6.如权利要求3所述的访问对接器,其特征在于,
所述存储访问层由部署在Hadoop指定目录下的动态链接库文件而实现,且所述第二接口函数为所述动态链接库文件中封装的、用于访问所述Ceph集群中rados集群的C++接口函数。
7.如权利要求6所述的访问对接器,其特征在于,
所述操作实现层由部署在Hadoop指定目录下的第二Java包而实现,所述第二Java包用于将所述动态链接库文件中封装的C++接口函数转化为Java接口函数,所述Java接口函数为所述第一接口函数。
8.如权利要求7所述的访问对接器,其特征在于,所述第二Java包利用JNI实现所述Java接口函数与所述C++接口函数之间的转换。
9.如权利要求1所述的访问对接器,其特征在于,所述兼容接口层由部署在Hadoop指定目录下的第一Java包而实现。
10.如权利要求9所述的访问对接器,其特征在于,所述兼容接口层还用于:使Hadoop的yarn组件在运行时调用所述第一Java包中的功能函数。
11.如权利要求1所述的访问对接器,其特征在于,所述访问对接器部署于Hadoop计算服务器集群中的各计算服务器节点。
12.如权利要求1所述的访问对接器,其特征在于,Hadoop配置文件内容core-site.xml中包含所述访问对接器的主类信息。
13.一种访问对接系统,包括:Hadoop计算服务器集群与分布式存储,其特征在于,
在所述Hadoop计算服务器集群的各计算服务器节点上部署有如权利要求1-12中任一项所述的访问对接器,用于将各计算服务器节点对接至所述分布式存储。
14.如权利要求13所述的访问对接系统,其特征在于,所述分布式存储利用空闲存储接口向所述Hadoop计算服务器集群以外的计算平台提供存储服务。
15.如权利要求14所述的访问对接系统,其特征在于,所述分布式存储为Ceph集群,且所述空闲存储接口包括块设备存储接口和文件系统存储接口。
16.一种应用访问对接器的方法,其特征在于,包括:
接收Hadoop计算服务组件的访问请求;
利用如权利要求1-12中任一项所述的访问对接器,将所述访问请求转化为对分布式存储中的对象存储的访问操作。
17.如权利要求16所述的方法,其特征在于,在接收Hadoop计算服务组件的访问请求之前,还包括:
利用Hadoop的配置文件内容core-site.xml获取所述访问对接器的主类信息。
18.一种应用访问对接器的装置,其特征在于,包括:
接收模块,用于接收Hadoop计算服务组件的访问请求;
访问模块,用于利用如权利要求1-12中任一项所述的访问对接器,将所述访问请求转化为对分布式存储中的对象存储的访问操作。
19.如权利要求18所述装置,其特征在于,还包括:
加载模块,用于利用Hadoop配置文件内容core-site.xml获取所述访问对接器的主类信息。
20.一种应用访问对接器的装置,其特征在于,包括:
一个或者多个多核处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或者多个多核处理器执行时,使得所述一个或多个多核处理器实现如权利要求16或17所述的方法。
21.一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被多核处理器执行时,使得所述多核处理器执行如权利要求16或17所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910898500.4A CN110688674B (zh) | 2019-09-23 | 2019-09-23 | 一种访问对接器、系统及应用该访问对接器的方法及装置 |
TW109127138A TWI782306B (zh) | 2019-09-23 | 2020-08-11 | 訪問對接器、系統及應用該訪問對接器的方法及裝置 |
JP2022515990A JP7369860B2 (ja) | 2019-09-23 | 2020-08-14 | アクセスドッキングコンポーネント、システム、並びに、そのアクセスドッキングコンポーネントを用いた方法及び装置 |
KR1020227009363A KR20220051224A (ko) | 2019-09-23 | 2020-08-14 | 액세스 도킹 컴포넌트, 시스템 및 액세스 도킹 컴포넌트를 응용한 방법과 장치 |
PCT/CN2020/109079 WO2021057317A1 (zh) | 2019-09-23 | 2020-08-14 | 一种访问对接器、系统及应用该访问对接器的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910898500.4A CN110688674B (zh) | 2019-09-23 | 2019-09-23 | 一种访问对接器、系统及应用该访问对接器的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110688674A CN110688674A (zh) | 2020-01-14 |
CN110688674B true CN110688674B (zh) | 2024-04-26 |
Family
ID=69109845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910898500.4A Active CN110688674B (zh) | 2019-09-23 | 2019-09-23 | 一种访问对接器、系统及应用该访问对接器的方法及装置 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP7369860B2 (zh) |
KR (1) | KR20220051224A (zh) |
CN (1) | CN110688674B (zh) |
TW (1) | TWI782306B (zh) |
WO (1) | WO2021057317A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688674B (zh) * | 2019-09-23 | 2024-04-26 | 中国银联股份有限公司 | 一种访问对接器、系统及应用该访问对接器的方法及装置 |
CN111708738B (zh) * | 2020-05-29 | 2023-11-03 | 深圳市瑞驰信息技术有限公司 | 实现hadoop文件系统hdfs与对象存储s3数据互访方法及系统 |
CN112187918B (zh) * | 2020-09-27 | 2023-06-02 | 北京浪潮数据技术有限公司 | 云计算平台系统及其基于对象存储的数据下载和上传方法 |
CN112307122B (zh) * | 2020-10-30 | 2023-06-02 | 杭州海康威视数字技术股份有限公司 | 一种基于数据湖的数据管理系统及方法 |
CN112445770A (zh) * | 2020-11-30 | 2021-03-05 | 清远职业技术学院 | 多维乱序存储的超大规模高性能数据库引擎及云服务平台 |
CN114153564B (zh) * | 2021-12-07 | 2024-04-26 | 北京字节跳动网络技术有限公司 | 多系统中近场通信单元访问方法及装置、电子设备、存储介质 |
CN114895852A (zh) * | 2022-05-09 | 2022-08-12 | 北京星辰天合科技股份有限公司 | 数据处理方法、系统、装置、存储介质以及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033429A (zh) * | 2018-08-10 | 2018-12-18 | 北京小米移动软件有限公司 | 文件的访问方法、装置及访问接口 |
CN109033250A (zh) * | 2018-07-06 | 2018-12-18 | 内蒙古大学 | 一种支持大数据文件访问服务的高可用性对象存储方法 |
CN109302499A (zh) * | 2018-11-30 | 2019-02-01 | 成都华栖云科技有限公司 | 一种可兼容访问nas存储和oss存储的存储网关 |
CN109344140A (zh) * | 2018-08-14 | 2019-02-15 | 北京奇虎科技有限公司 | 数据访问方法、装置、电子设备及计算机存储介质 |
CN109815205A (zh) * | 2018-12-18 | 2019-05-28 | 创新科存储技术(深圳)有限公司 | 云计算平台访问ufs的方法、存储介质和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI676898B (zh) * | 2013-12-09 | 2019-11-11 | 安然國際科技有限公司 | 分散式記憶體磁碟群集儲存系統運作方法 |
WO2016110936A1 (ja) * | 2015-01-05 | 2016-07-14 | 株式会社日立製作所 | 計算機システム、及び、データ管理方法 |
US20180034908A1 (en) * | 2016-07-27 | 2018-02-01 | Alibaba Group Holding Limited | Disaggregated storage and computation system |
CN107220003B (zh) * | 2017-05-26 | 2020-03-24 | 郑州云海信息技术有限公司 | 一种数据读取方法和系统 |
US20190005066A1 (en) * | 2017-06-29 | 2019-01-03 | International Business Machines Corporation | Multi-tenant data service in distributed file systems for big data analysis |
CN108491163B (zh) * | 2018-03-19 | 2022-01-04 | 腾讯科技(深圳)有限公司 | 一种大数据处理方法、装置和存储介质 |
CN110688674B (zh) * | 2019-09-23 | 2024-04-26 | 中国银联股份有限公司 | 一种访问对接器、系统及应用该访问对接器的方法及装置 |
-
2019
- 2019-09-23 CN CN201910898500.4A patent/CN110688674B/zh active Active
-
2020
- 2020-08-11 TW TW109127138A patent/TWI782306B/zh active
- 2020-08-14 KR KR1020227009363A patent/KR20220051224A/ko active IP Right Grant
- 2020-08-14 JP JP2022515990A patent/JP7369860B2/ja active Active
- 2020-08-14 WO PCT/CN2020/109079 patent/WO2021057317A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033250A (zh) * | 2018-07-06 | 2018-12-18 | 内蒙古大学 | 一种支持大数据文件访问服务的高可用性对象存储方法 |
CN109033429A (zh) * | 2018-08-10 | 2018-12-18 | 北京小米移动软件有限公司 | 文件的访问方法、装置及访问接口 |
CN109344140A (zh) * | 2018-08-14 | 2019-02-15 | 北京奇虎科技有限公司 | 数据访问方法、装置、电子设备及计算机存储介质 |
CN109302499A (zh) * | 2018-11-30 | 2019-02-01 | 成都华栖云科技有限公司 | 一种可兼容访问nas存储和oss存储的存储网关 |
CN109815205A (zh) * | 2018-12-18 | 2019-05-28 | 创新科存储技术(深圳)有限公司 | 云计算平台访问ufs的方法、存储介质和装置 |
Also Published As
Publication number | Publication date |
---|---|
TWI782306B (zh) | 2022-11-01 |
JP2022547691A (ja) | 2022-11-15 |
KR20220051224A (ko) | 2022-04-26 |
WO2021057317A1 (zh) | 2021-04-01 |
CN110688674A (zh) | 2020-01-14 |
JP7369860B2 (ja) | 2023-10-26 |
TW202113622A (zh) | 2021-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110688674B (zh) | 一种访问对接器、系统及应用该访问对接器的方法及装置 | |
Pike et al. | Plan 9 from bell labs | |
US8762480B2 (en) | Client, brokerage server and method for providing cloud storage | |
US9363195B2 (en) | Configuring cloud resources | |
US8572033B2 (en) | Computing environment configuration | |
CN110032392B (zh) | 服务治理方法及装置、存储介质和电子设备 | |
US20100094847A1 (en) | Method and apparatus for multiple-protocol access to object-based storage | |
WO2021013243A1 (zh) | 一种启动小程序的方法、设备和计算机存储介质 | |
US20120084768A1 (en) | Capturing Multi-Disk Virtual Machine Images Automatically | |
US11451629B2 (en) | Distributed metadata management method for distributed file system | |
WO2021013242A1 (zh) | 一种启动小程序的方法、设备和计算机存储介质 | |
CN114385091B (zh) | 网盘盘符的实现方法、装置、网盘及存储介质 | |
TW200422855A (en) | A distributed storage system for data-sharing among client computers running different operating system types | |
US20080215706A1 (en) | Mobile exchange infrastructure | |
US20190227995A1 (en) | Layer-Based File Access Method and Apparatus of Virtualization Instance | |
CN112398936A (zh) | 一种基于Kubernetes的多网卡容器实现方法及系统 | |
CN115361389A (zh) | 一种云计算实例创建方法及装置 | |
EP1949228B1 (en) | Asynchronous just-in-time compilation | |
CN112764830B (zh) | 一种应用于国产化替代的数据迁移方法及系统 | |
CN112394907A (zh) | 基于容器的交付系统构建方法、应用交付方法和交付系统 | |
CN116594978A (zh) | 基于用户态文件系统的前端模块管理器、管理方法及系统 | |
US9122691B2 (en) | System and method for remote file search integrated with network installable file system | |
CN111193785B (zh) | 一种文件切割传输方法、装置和电子设备 | |
CN113641641A (zh) | 文件存储服务的切换方法、切换系统、设备及存储介质 | |
CN117459591A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40020293 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |