CN113225390B - 基于对象存储的代理方法及系统 - Google Patents
基于对象存储的代理方法及系统 Download PDFInfo
- Publication number
- CN113225390B CN113225390B CN202110456849.XA CN202110456849A CN113225390B CN 113225390 B CN113225390 B CN 113225390B CN 202110456849 A CN202110456849 A CN 202110456849A CN 113225390 B CN113225390 B CN 113225390B
- Authority
- CN
- China
- Prior art keywords
- object storage
- manufacturer
- module
- interface
- manufacturers
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于对象存储的代理方法及系统,应用于包括外部装置和代理装置的基于对象存储的代理系统,外部装置进一步包括需要使用对象存储的调用端模块,代理装置进一步包括全局配置模块、公共接口模块、适配模块、对象存储实现模块和响应模块,包括以下步骤:采用需要使用对象存储的调用端模块对接公共接口模块;采用全局配置模块定义对象存储信息;采用公共接口模块定义统一对接标准,其定义的接口标准为统一固定,不受具体厂商影响;采用适配模块查找对象存储厂商及转换公共接口参数为对应厂商所需参数;采用对象存储实现模块对接实际厂商的对象存储标准,对象存储模块的个数根据厂商个数动态扩展;采用响应模块转换各个厂商的对象存储响应内容为公共响应。
Description
技术领域
本发明属于数据对象存储技术领域,具体涉及一种基于对象存储的代理方法及系统。
背景技术
对象存储区别于传统文件存储,是一种可动态扩展的存储方式,目前各大厂商均有对应产品,比如阿里云、华为云、腾讯云等,应用范围较为广泛。
但是各个厂商的对象存储产品在接口标准上存在较大的差异,在一个系统中如果使用了不同厂商的对象存储功能,需要在每个调用端对接各个厂商的对象存储,增加了调用端的复杂性。当厂商的对象存储对接标准发生变更时,调用端也需要一并修改,灵活性不够。
发明内容
本发明要解决的技术问题是提供一种基于对象存储的代理方法及系统。
为解决上述技术问题,本发明采用如下的技术方案:
本发明实施例的一个方面用于一种基于对象存储的代理方法,应用于包括外部装置和代理装置的基于对象存储的代理系统,外部装置进一步包括需要使用对象存储的调用端模块,代理装置进一步包括全局配置模块、公共接口模块、适配模块、对象存储实现模块和响应模块,包括以下步骤:
采用需要使用对象存储的调用端模块对接公共接口模块;
采用全局配置模块定义对象存储信息,包括对接各个厂商时所需的各种参数和认证信息;
采用公共接口模块定义统一对接标准,其定义的接口标准为统一固定,不受具体厂商影响;
采用适配模块查找对象存储厂商及转换公共接口参数为对应厂商所需参数;
采用对象存储实现模块对接实际厂商的对象存储标准,对象存储模块的个数根据厂商个数动态扩展;
采用响应模块转换各个厂商的对象存储响应内容为公共响应。
优选地,所述对象存储信息包括厂商标识、厂商密钥、厂商接口地址和厂商扩展字段。
优选地,厂商标识表示当前代理系统正在使用的对象存储厂商标识,由业务自定义;厂商密钥表示对接每个对象存储厂商时使用的认证信息,从各个厂商的后台获取,用于对接时的用户权限认证;厂商接口地址即对应厂商的接口请求地址;厂商扩展字段用于以上信息不满足厂商的对象存储对接参数时使用。
优选地,对象存储模块的个数根据厂商个数动态扩展具体为:每增加一个厂商,将厂商标识与对象存储模块进行逻辑关联。
本发明实施例的另一方面用于一种基于对象存储的代理系统,包括外部装置和代理装置的基于对象存储的代理系统,外部装置进一步包括需要使用对象存储的调用端模块,代理装置进一步包括全局配置模块、公共接口模块、适配模块、对象存储实现模块和响应模块:
需要使用对象存储的调用端模块用于对接公共接口模块;
全局配置模块用于定义对象存储信息,包括对接各个厂商时所需的各种参数和认证信息;
公共接口模块用于定义统一对接标准,其定义的接口标准为统一固定,不受具体厂商影响;
适配模块用于查找对象存储厂商及转换公共接口参数为对应厂商所需参数;
对象存储实现模块用于对接实际厂商的对象存储标准,对象存储模块的个数根据厂商个数动态扩展;
响应模块用于转换各个厂商的对象存储响应内容为公共响应。
优选地,所述对象存储信息包括厂商标识、厂商密钥、厂商接口地址和厂商扩展字段。
优选地,厂商标识表示当前代理系统正在使用的对象存储厂商标识,由业务自定义;厂商密钥表示对接每个对象存储厂商时使用的认证信息,从各个厂商的后台获取,用于对接时的用户权限认证;厂商接口地址即对应厂商的接口请求地址;厂商扩展字段用于以上信息不满足厂商的对象存储对接参数时使用。
优选地,对象存储模块的个数根据厂商个数动态扩展具体为:每增加一个厂商,将厂商标识与对象存储模块进行逻辑关联。
采用本发明具有如下的有益效果:采用本发明实施例提供的基于对象存储的代理方法及系统,可以让调用端无需关心具体厂商的对象存储对接标准,仅需要对接统一代理系统即可,且通过配置项可以实现在不改动调用端的情况下灵活的增加厂商。
附图说明
图1为本发明实施例的基于对象存储的代理系统的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种基于对象存储的代理方法,其采用如图1所示包括外部装置和代理装置的基于对象存储的代理系统,外部装置进一步包括需要使用对象存储的调用端模块,代理装置进一步包括全局配置模块、公共接口模块、适配模块、对象存储实现模块和响应模块,包括以下步骤:
采用需要使用对象存储的调用端模块对接公共接口模块;
采用全局配置模块定义对象存储信息,包括对接各个厂商时所需的各种参数和认证信息;
采用公共接口模块定义统一对接标准,其定义的接口标准为统一固定,不受具体厂商影响;
采用适配模块查找对象存储厂商及转换公共接口参数为对应厂商所需参数;
采用对象存储实现模块对接实际厂商的对象存储标准,对象存储模块的个数根据厂商个数动态扩展;
采用响应模块转换各个厂商的对象存储响应内容为公共响应。
具体应用实例中,调用端模块是外部装置中的一个软件虚拟模块,它可以是一个需要对象存储的服务,也可以是一个需要对象存储的客户端,本发明实施例不对调用端种类做限制,只要用到对象存储都可以作为调用端,在无本发明实施例之前,调用端模块在对接不同的对象存储时,需要熟知各个厂商的对象存储标准,然后集成在调用端模块,如果一个系统中有多个调用端的话,复杂度明显增大,通过本发明实施例的调用端模块仅需要对接公共接口实现对象存储功能,无需关心具体厂商的对象存储对接标准,同时响应内容也是由响应模块统一转换,调用端对接一次即可。
具体应用实例中,配置模块需要描述当前代理系统对接的厂商信息,因为对接每个厂商的对象存储所需的参数都各不相同,该模块需要把这些参数统一化,同时需要告诉当前系统目前正在使用的厂商,配置模块所定义的信息包括厂商标识、厂商密钥、厂商接口地址和厂商扩展字段。其中厂商标识表示当前代理系统正在使用的对象存储厂商标识,由业务自定义,如阿里-ali、华为-hw、腾讯-tx等等;厂商密钥表示对接每个对象存储厂商时使用的认证信息,可从各个厂商的后台获取,用于对接时的用户权限认证;厂商接口地址即对应厂商的接口请求地址,一般为http或https协议;厂商扩展字段是为了以上信息不满足厂商的对象存储对接参数时时使用。
具体应用实例中,公共接口模块是整个代理系统的入口,供调用端模块对接,其定义的接口标准为统一固定,不受具体厂商影响。以上传文件举例说明,在阿里云对象存储中上传一个文件需要参数A及文件流,在腾讯云对象存储中上传一个文件需要参数B及文件流,但是参数A和参数B都是相同的概念,只不过在不同厂商中叫法及参数名称不同,那么公共接口模块定义的上传文件接口所需的参数为参数C及文件流,参数C就是兼容了阿里云和腾讯云的一个参数,交由适配模块进行实际参数转换。即参数C可以兼容参数A和参数B。
具体应用实例中,由于整个代理系统支持多家厂商的对象存储,因此在收到公共接口的转发请求后需要确定目前要使用的厂商,所以适配模块会先去全局配置模块获取厂商标识来确定当前系统需要使用的对象存储厂商;然后将公共接口模块参数转换为对应厂商所需要的参数;再以上传文件举例说明,接收到公共接口的参数C和文件流后,如果厂商标识为阿里云,那么参数C需要转换为参数A,文件流信息不变,将参数A、文件流信息、全局配置模块信息交由对象存储实现模块(阿里云)处理。
具体地,对象存储实现模块是该代理系统中可无限扩展的模块,增加支持厂商时仅增加该模块即可,每增加一个厂商,需要将厂商标识与该模块进行逻辑关联,主要是为了适配模块根据厂商标识能够查询到对应的对象存储实现模块,该对象存储实现模块接收适配模块转换后的具体厂商请求参数及配置信息,内部是对接具体厂商的对象存储。
具体应用实例中,公共接口是为了统一入参,响应模块是为了统一响应,目的是让调用端拿到的响应内容不受各个厂商的影响,以上传文件为例,阿里云对象存储上传完文件后会响应一个成功标识A,腾讯云对象存储上传完文件后会响应一个成功标识B,标识A和标识B均属于成功的意思,但是名称不同,如果直接响应至调用端来判断的话,无疑是增加调用端的额外工作,此时响应模块会响应一个成功标识C,即当前厂商为阿里云时,由标识A转换为标识C,当前厂商是腾讯云时,由标识B转换为标识C,调用端只需要判断结果是否为标识C即可。
综上,根据本发明提供的一种基于对象存储的代理方法,可以让调用端无需关心具体厂商的对象存储对接标准,仅需要对接统一代理系统即可,且通过配置项可以实现在不改动调用端的情况下灵活的增加厂商。
与本发明方法实施例相对应,参见图1,本发明实施例提供了一种基于对象存储的代理系统,包括外部装置和代理装置的基于对象存储的代理系统,外部装置进一步包括需要使用对象存储的调用端模块,代理装置进一步包括全局配置模块、公共接口模块、适配模块、对象存储实现模块和响应模块:需要使用对象存储的调用端模块用于对接公共接口模块;全局配置模块用于定义对象存储信息,包括对接各个厂商时所需的各种参数和认证信息;公共接口模块用于定义统一对接标准,其定义的接口标准为统一固定,不受具体厂商影响;适配模块用于查找对象存储厂商及转换公共接口参数为对应厂商所需参数;对象存储实现模块用于对接实际厂商的对象存储标准,对象存储模块的个数根据厂商个数动态扩展;响应模块用于转换各个厂商的对象存储响应内容为公共响应。
具体应用实例中,调用端模块是外部装置中的一个软件虚拟模块,它可以是一个需要对象存储的服务,也可以是一个需要对象存储的客户端,本发明实施例不对调用端种类做限制,只要用到对象存储都可以作为调用端,在无本发明实施例之前,调用端模块在对接不同的对象存储时,需要熟知各个厂商的对象存储标准,然后集成在调用端模块,如果一个系统中有多个调用端的话,复杂度明显增大,通过本发明实施例的调用端模块仅需要对接公共接口实现对象存储功能,无需关心具体厂商的对象存储对接标准,同时响应内容也是由响应模块统一转换,调用端对接一次即可。
具体应用实例中,配置模块需要描述当前代理系统对接的厂商信息,因为对接每个厂商的对象存储所需的参数都各不相同,该模块需要把这些参数统一化,同时需要告诉当前系统目前正在使用的厂商,配置模块所定义的信息包括厂商标识、厂商密钥、厂商接口地址和厂商扩展字段。其中厂商标识表示当前代理系统正在使用的对象存储厂商标识,由业务自定义,如阿里-ali、华为-hw、腾讯-tx等等;厂商密钥表示对接每个对象存储厂商时使用的认证信息,可从各个厂商的后台获取,用于对接时的用户权限认证;厂商接口地址即对应厂商的接口请求地址,一般为http或https协议;厂商扩展字段是为了以上信息不满足厂商的对象存储对接参数时时使用。
具体应用实例中,公共接口模块是整个代理系统的入口,供调用端模块对接,其定义的接口标准为统一固定,不受具体厂商影响。以上传文件举例说明,在阿里云对象存储中上传一个文件需要参数A及文件流,在腾讯云对象存储中上传一个文件需要参数B及文件流,但是参数A和参数B都是相同的概念,只不过在不同厂商中叫法及参数名称不同,那么公共接口模块定义的上传文件接口所需的参数为参数C及文件流,参数C就是兼容了阿里云和腾讯云的一个参数,交由适配模块进行实际参数转换。即参数C可以兼容参数A和参数B。
具体应用实例中,由于整个代理系统支持多家厂商的对象存储,因此在收到公共接口的转发请求后需要确定目前要使用的厂商,所以适配模块会先去全局配置模块获取厂商标识来确定当前系统需要使用的对象存储厂商;然后将公共接口模块参数转换为对应厂商所需要的参数;再以上传文件举例说明,接收到公共接口的参数C和文件流后,如果厂商标识为阿里云,那么参数C需要转换为参数A,文件流信息不变,将参数A、文件流信息、全局配置模块信息交由对象存储实现模块(阿里云)处理。
具体地,对象存储实现模块是该代理系统中可无限扩展的模块,增加支持厂商时仅增加该模块即可,每增加一个厂商,需要将厂商标识与该模块进行逻辑关联,主要是为了适配模块根据厂商标识能够查询到对应的对象存储实现模块,该对象存储实现模块接收适配模块转换后的具体厂商请求参数及配置信息,内部是对接具体厂商的对象存储。
具体应用实例中,公共接口是为了统一入参,响应模块是为了统一响应,目的是让调用端拿到的响应内容不受各个厂商的影响,以上传文件为例,阿里云对象存储上传完文件后会响应一个成功标识A,腾讯云对象存储上传完文件后会响应一个成功标识B,标识A和标识B均属于成功的意思,但是名称不同,如果直接响应至调用端来判断的话,无疑是增加调用端的额外工作,此时响应模块会响应一个成功标识C,即当前厂商为阿里云时,由标识A转换为标识C,当前厂商是腾讯云时,由标识B转换为标识C,调用端只需要判断结果是否为标识C即可。
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
Claims (2)
1.一种基于对象存储的代理方法,其特征在于,应用于包括外部装置和代理装置的基于对象存储的代理系统,外部装置进一步包括需要使用对象存储的调用端模块,代理装置进一步包括全局配置模块、公共接口模块、适配模块、对象存储实现模块和响应模块,包括以下步骤:
采用需要使用对象存储的调用端模块对接公共接口模块;调用端模块是外部装置中的一个软件虚拟模块,为需要对象存储的服务,或者需要对象存储的客户端;
采用全局配置模块定义对象存储信息,包括对接各个厂商时所需的各种参数和认证信息;所述对象存储信息包括厂商标识、厂商密钥、厂商接口地址和厂商扩展字段;厂商标识表示当前代理系统正在使用的对象存储厂商标识,由业务自定义;厂商密钥表示对接每个对象存储厂商时使用的认证信息,从各个厂商的后台获取,用于对接时的用户权限认证;厂商接口地址即对应厂商的接口请求地址;厂商扩展字段用于以上信息不满足厂商的对象存储对接参数时使用;
采用公共接口模块定义统一对接标准,其定义的接口标准为统一固定,不受具体厂商影响;
采用适配模块查找对象存储厂商及转换公共接口参数为对应厂商所需参数;
采用对象存储实现模块对接实际厂商的对象存储标准,对象存储模块的个数根据厂商个数动态扩展;对象存储模块的个数根据厂商个数动态扩展具体为:每增加一个厂商,将厂商标识与对象存储模块进行逻辑关联;采用响应模块转换各个厂商的对象存储响应内容为公共响应;
在收到公共接口模块的转发请求后确定目前要使用的厂商,适配模块向全局配置模块获取厂商标识确定当前系统需要使用的对象存储厂商;将公共接口模块参数转换为对应厂商所需要的参数。
2.一种基于对象存储的代理系统,其特征在于,包括外部装置和代理装置的基于对象存储的代理系统,外部装置进一步包括需要使用对象存储的调用端模块,代理装置进一步包括全局配置模块、公共接口模块、适配模块、对象存储实现模块和响应模块:
需要使用对象存储的调用端模块用于对接公共接口模块;调用端模块是外部装置中的一个软件虚拟模块,为需要对象存储的服务,或者需要对象存储的客户端;
全局配置模块用于定义对象存储信息,包括对接各个厂商时所需的各种参数和认证信息;所述对象存储信息包括厂商标识、厂商密钥、厂商接口地址和厂商扩展字段;厂商标识表示当前代理系统正在使用的对象存储厂商标识,由业务自定义;厂商密钥表示对接每个对象存储厂商时使用的认证信息,从各个厂商的后台获取,用于对接时的用户权限认证;厂商接口地址即对应厂商的接口请求地址;厂商扩展字段用于以上信息不满足厂商的对象存储对接参数时使用;
公共接口模块用于定义统一对接标准,其定义的接口标准为统一固定,不受具体厂商影响;
适配模块用于查找对象存储厂商及转换公共接口参数为对应厂商所需参数;
对象存储实现模块用于对接实际厂商的对象存储标准,对象存储模块的个数根据厂商个数动态扩展;对象存储模块的个数根据厂商个数动态扩展具体为:每增加一个厂商,将厂商标识与对象存储模块进行逻辑关联;
响应模块用于转换各个厂商的对象存储响应内容为公共响应;
在收到公共接口模块的转发请求后确定目前要使用的厂商,适配模块向全局配置模块获取厂商标识确定当前系统需要使用的对象存储厂商;将公共接口模块参数转换为对应厂商所需要的参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456849.XA CN113225390B (zh) | 2021-04-26 | 2021-04-26 | 基于对象存储的代理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110456849.XA CN113225390B (zh) | 2021-04-26 | 2021-04-26 | 基于对象存储的代理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113225390A CN113225390A (zh) | 2021-08-06 |
CN113225390B true CN113225390B (zh) | 2022-10-04 |
Family
ID=77089614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110456849.XA Active CN113225390B (zh) | 2021-04-26 | 2021-04-26 | 基于对象存储的代理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225390B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116821102B (zh) * | 2023-08-25 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 数据迁移方法、装置、计算机设备和存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101626117B1 (ko) * | 2009-06-22 | 2016-05-31 | 삼성전자주식회사 | 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법 |
US20140366155A1 (en) * | 2013-06-11 | 2014-12-11 | Cisco Technology, Inc. | Method and system of providing storage services in multiple public clouds |
US9854051B2 (en) * | 2014-04-25 | 2017-12-26 | Wilmerding Communications Llc | Using proxy devices as dynamic data relays |
US10942900B2 (en) * | 2015-06-02 | 2021-03-09 | Oracle International Corporation | Techniques for tenant controlled visualizations and management of files in cloud storage systems |
CN105025084B (zh) * | 2015-06-10 | 2018-11-16 | 国网智能电网研究院 | 一种基于同步代理和混合存储的云存储系统 |
CN108234650A (zh) * | 2018-01-02 | 2018-06-29 | 成都吉烽信息技术有限公司 | 一种网络接口管理系统 |
CN110099043B (zh) * | 2019-03-24 | 2021-09-17 | 西安电子科技大学 | 支持策略隐藏的多授权中心访问控制方法、云存储系统 |
CN111818166B (zh) * | 2020-07-09 | 2022-12-09 | 杭州隐捷适生物科技有限公司 | 采用http协议代理数据库协议的通信中间件的实现方法 |
-
2021
- 2021-04-26 CN CN202110456849.XA patent/CN113225390B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113225390A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2005137572A (ru) | Обработка сообщения | |
KR102472916B1 (ko) | 대화형 콘텐츠 제공 시스템 및 방법 | |
CN106897159A (zh) | 一种用于采集自动气象站数据的系统及方法 | |
CN101582861B (zh) | 一种im特定客服呼叫的方法、服务器、客户端和系统 | |
CN110493028A (zh) | 一种集群部署方法、系统、装置及计算机可读存储介质 | |
CN107566233A (zh) | 家电设备的资源共享方法和装置 | |
US10495336B2 (en) | Energy operations across domains | |
CN113225390B (zh) | 基于对象存储的代理方法及系统 | |
CN114338650A (zh) | 文件传输方法、装置、电子设备及可读存储介质 | |
CN114710549B (zh) | 一种容器平台中网卡的动态管理方法、系统及业务节点 | |
CN112583937A (zh) | 一种公有云和私有云结合的可视化便捷云资源部署系统 | |
US11706301B2 (en) | Server node selection method and terminal device | |
KR20160103110A (ko) | 네트워크 요소 데이터 액세스 방법, 액세스 장치, 및 네트워크 관리 시스템 | |
CN107819831B (zh) | 一种基于metaq及mns的通用消息系统 | |
JP2020198494A (ja) | ゲートウェイ装置、通信方法及びプログラム | |
CN103475564A (zh) | 网络附件传送方法及其系统 | |
CN110661895A (zh) | 一种服务器的网络地址映射方法及网络地址映射设备 | |
JP2002141967A (ja) | 通信制御装置及び方法 | |
CN101383777B (zh) | 一种连接蓝牙设备与闪联设备的装置和方法 | |
CN113055494A (zh) | 通讯方法及通讯装置 | |
CN113630298A (zh) | 智能控制系统、方法和装置 | |
CN111741003A (zh) | 一种对接第三方平台多协议转换方法和系统 | |
CN108076116B (zh) | 一种基于云存储数据的智能读取方法及系统 | |
KR100251725B1 (ko) | 음성사서함 시스템간의 메일전송방법 | |
JP3592220B2 (ja) | クライアント−サーバ間通信システム及びそれに用いる通信プロトコル対応方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |