一种后端存储方法、装置、服务器及存储介质制造方法及图纸

技术编号:38410931 阅读:19 留言:0更新日期:2023-08-07 11:17
本发明专利技术实施例涉及计算机存储领域,公开了一种后端存储方法、装置、服务器及存储介质。本发明专利技术中,接收客户端代码生成的请求指令,获取所请求的存储后端的类型以及所请求的操作;获取与所述存储后端的类型以及所请求的操作对应的执行文件,若未能成功获取,则根据所述请求指令,编译并储存对应的执行文件以供再次获取;根据所述执行文件和所述请求指令访问存储后端并产生执行结果。通过上述方式,使得当需要切换到不同对象存储服务时,避免修改项目代码,无论使用常用协议还是自定义私有协议,均可实现无缝切换对象存储服务后端,完全省略掉了用户进行重新组织、编写文件处理代码的过程,极大的提升了技术人员的工作效率。极大的提升了技术人员的工作效率。极大的提升了技术人员的工作效率。

【技术实现步骤摘要】
一种后端存储方法、装置、服务器及存储介质


[0001]本专利技术实施例涉及计算机存储领域,特别涉及一种后端存储方法、装置、服务器及存储介质。

技术介绍

[0002]当前流行的后端存储多种,比如有本地文件存储、数据库存储(如Redis)、阿里云对象存储OSS(Object Storage Service)、对象存储服务(Object Storage Service,OBS)、亚马逊S3(Amazon Simple Storage Service Amazon S3)、谷歌云存储(Google Cloud Storage)、混合云和多云对象存储(MinIO)、LinkedIn Ambry存储系统等等。这些存储服务通常使用自己的接口与SDK,使用不同的协议,其中Amazon S3与MinIO就都是用相同S3协议,目前Sass如阿里云、百度、七牛等对象存储服务都具有非完全实现的S3兼容接口,微软云计算服务(Microsoft Azure)、谷歌云存储(Google Cloud Storage)、LinkedIn Ambry等都不具备S3兼容协议。目前,S3协议使用较为广泛,但多为商业付费项目,也无法私有部署;MinIO可私有部署,但商业不友好;LinkedIn Ambry商业友好,可私有部署,但不兼容S3协议。
[0003]在进行开发时,技术人员通常使用本地磁盘进行存储、读取文件;但在实施环境中有时要求需要使用对象存储服务(OSS)进行存储与读取,通常会使用MinIO进行对象存储接口的开发;但有时在实施环境的OSS不支持S3协议,此时传统的做法就是重新组织、编写文件处理代码,以实现存储后端的切换。
[0004]专利技术人发现相关技术中至少存在如下问题:当切换到不同对象的存储服务时,重新组织、编写文件处理代码的过程过于繁琐,特别是同时存在多种不同编程语言编写的项目时,将会导致多个项目代码的重新修改与测试,极大的增加了技术人员的工作负担。

技术实现思路

[0005]本专利技术实施方式的目的在于提供一种后端存储方法、装置、服务器及存储介质,使得当切换到不同对象存储服务时避免修改项目代码,无论是常用协议(如Amazon S3、Minio等)还是自定义私有协议,都能实现无缝切换对象存储服务后端,提升工作效率。
[0006]为解决上述技术问题,本专利技术的实施方式提供了一种后端存储方法,包括:接收客户端代码生成的请求指令;根据所述请求指令,从所述请求指令中获取所请求的存储后端的类型以及所请求的操作;获取与所述存储后端的类型以及所请求的操作对应的执行文件,若未能成功获取,则根据所述请求指令,编译并储存与所述存储后端的类型以及所请求的操作对应的所述执行文件,并再次获取所述执行文件;根据所述执行文件和所述请求指令访问所述存储后端并产生执行结果。
[0007]本专利技术的实施方式还提供了一种后端存储装置,包括:指令接收模块,用于接收客户端代码生成的请求指令;操作判断模块,用于根据所述请求指令,从所述请求指令中获取所请求的存储后端的类型以及所请求的操作;脚本获取模块,用于根据所述请求指令,获取
与所述存储后端的类型以及所请求的操作对应的执行文件,若未能成功获取,则编译并储存与所述存储后端的类型以及所请求的操作对应的所述执行文件,并再次获取所述执行文件;脚本执行模块,用于根据所述执行文件和所述请求指令访问所述存储后端并产生执行结果。
[0008]本专利技术的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的后端存储方法。
[0009]本专利技术的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的后端存储方法。
[0010]在本专利技术实施方式中,获取客户端发送的请求指令并根据请求指令,获取所请求的存储后端的类型以及所请求的操作;获取与所述存储后端的类型以及所请求的操作对应的执行文件,若未能成功获取,则根据所述请求指令,编译并储存对应的执行文件以供再次获取;根据所述执行文件和所述请求指令访问存储后端并产生执行结果。通过上述方式,使得当需要切换到不同对象存储服务时,避免修改项目代码,无论使用常用协议还是自定义私有协议,均可实现无缝切换对象存储服务后端,完全省略掉了用户进行重新组织、编写文件处理代码的过程,极大的提升了技术人员的工作效率。
[0011]另外,从所述请求指令获取所请求的操作,包括:鉴权操作、上传操作、下载操作、删除操作、列取操作、信息获取操作、自定义操作。
[0012]另外,所述编译并储存与所述存储后端的类型对应的所述执行文件,包括:根据所述存储后端类型以及所述请求指令所请求的操作,配置脚本编译器根据预设的规则进行动态编译,生成与所述存储后端的类型以及所请求的操作对应的所述执行文件,并对所述执行文件进行储存,储存后的所述执行文件能被直接获取。编译语言具有高效执行的特性,编译一次后,后续即可直接使用,无需再重新编译。
[0013]另外,当监控到所述执行文件需要新增时,调用所述配置脚本编译器进行动态编译,生成新增的执行文件并进行所述储存;当监控到所述执行文件需要更新时,调用所述配置脚本编译器进行动态编译,生成更新后的执行文件并进行所述储存,并将对应的更新前的所述执行文件删除;当监控到所述执行文件需要删除时,将所述执行文件删除。可以快速验证配置脚本的有效性,给出编译结果,增加内存利用率,减少GC次数,免除了第一次请求时动态编译所用时间,及时根据变化的配置脚本进行编译得到执行文件,所以获取执行文件执行实现对应功能时不存在等待配置脚本编译完成的时间,可以显著提高执行性能与系统效率。
[0014]另外,在所述接收客户端代码生成的请求指令之前,通过多语言客户端代码生成器生成客户端代码并发送至对应的客户端。
[0015]另外,所述客户端代码根据服务端接口以及用户所选的计算机语言生成,以供生成所述请求指令。
[0016]另外,所述执行文件为Java虚拟机的可执行二进制脚本文件。使用可执行二进制,提高执行性能与系统效率。
附图说明
[0017]一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0018]图1是根据本专利技术的一实施方式提供的后端存储方法流程图;
[0019]图2是根据本专利技术的一实施方式提供的多语言客户端代码生成器界面示意图;
[0020]图3是根据本专利技术的一实施方式提供的后端存储访问结构示意图;
[0021]图4是根据本专利技术另一实施方式提供的后端存储装置的结构示意图;
[0022]图5是根据本专利技术另一实施方式提供的服务器的结构示意图。
具体实施方式
[0023]为使本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种后端存储方法,其特征在于,包括:接收客户端代码生成的请求指令;根据所述请求指令,从所述请求指令中获取所请求的存储后端的类型以及所请求的操作;获取与所述存储后端的类型以及所请求的操作对应的执行文件,若未能成功获取,则根据所述请求指令,编译并储存与所述存储后端的类型以及所请求的操作对应的所述执行文件,并再次获取所述执行文件;根据所述执行文件和所述请求指令访问所述存储后端并产生执行结果。2.根据权利要求1所述的后端存储方法,其特征在于,所述从所述请求指令获取所请求的操作,包括以下之一或其任意组合:鉴权操作、上传操作、下载操作、删除操作、列取操作、信息获取操作、自定义操作。3.根据权利要求1所述的后端存储方法,其特征在于,所述编译并储存与所述存储后端的类型对应的所述执行文件,包括:根据所述存储后端类型以及所述请求指令所请求的操作,配置脚本编译器根据预设的规则进行动态编译,生成与所述存储后端的类型以及所请求的操作对应的所述执行文件,并对所述执行文件进行储存,储存后的所述执行文件能被直接获取。4.根据权利要求3所述的后端存储方法,其特征在于,所述方法,还包括:当监控到所述执行文件需要新增时,调用所述配置脚本编译器进行动态编译,生成新增的执行文件并进行所述储存;当监控到所述执行文件需要更新时,调用所述配置脚本编译器进行动态编译,生成更新后的执行文件并进行所述储存,并将对应的更新前的所述执行文件删除;当监控到所述执行文件需要删除时,将所述执行文件删除。5.根据...

【专利技术属性】
技术研发人员:张立鑫
申请(专利权)人:上海携宁计算机科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1