CN116095061A - 一种公有云系统及其相关方法 - Google Patents

一种公有云系统及其相关方法 Download PDF

Info

Publication number
CN116095061A
CN116095061A CN202210189538.6A CN202210189538A CN116095061A CN 116095061 A CN116095061 A CN 116095061A CN 202210189538 A CN202210189538 A CN 202210189538A CN 116095061 A CN116095061 A CN 116095061A
Authority
CN
China
Prior art keywords
cloud
service device
function
file
storage service
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
Application number
CN202210189538.6A
Other languages
English (en)
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to EP22889465.5A priority Critical patent/EP4418630A1/en
Priority to PCT/CN2022/130279 priority patent/WO2023078444A1/zh
Publication of CN116095061A publication Critical patent/CN116095061A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种公有云系统及其相关方法,本申请的公有云系统包括:云存储服务装置,用于存储目标文件;云函数服务装置,用于获取目标函数,目标函数为租户定义的针对目标文件的数据处理逻辑;云存储服务装置,还用于在接收到第一客户端针对目标文件的下载请求的情况下,将目标文件发送至云函数服务装置;云函数服务装置,还用于运行目标函数以根据数据处理逻辑处理目标文件,并将处理后的文件返回至云存储服务装置;云存储服务装置,还用于将处理后的文件发送至第一客户端。基于以上方案,可缩短数据传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足用户的需求。

Description

一种公有云系统及其相关方法
本申请要求于2021年11月08日提交中国专利局、申请号为202111312998.5、申请名称为“一种基于云技术的数据同步处理方法和云管理平台”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云技术领域,尤其涉及一种公有云系统及其相关方法。
背景技术
云存储是在云计算概念上延伸和发展出来的一种新兴的网络存储技术,该技术可在多个服务器上部署大量虚拟化的存储资源,用于存储众多用户的数据。用户从这些服务器中所获取的数据,通常为经过一定处理后的数据,故令服务器具备数据处理能力成为了一种新的诉求。
目前,公有云系统包含函数即服务(function as a service,FAAS)模块(也可以称为云函数服务装置)、云存储服务装置和网关。一般地,用户可通过客户端向网关发送用于指示文件的请求,以使得网关向云函数服务装置发送用于指示某种函数的请求。然后,云函数服务装置可基于该请求,从云存储服务装置处获取用户所需的原始文件,并调用该函数对该文件进行处理。最后,云函数服务装置将处理后的文件发送至网关,以使得网关向客户端返回处理后的文件,以供用户使用。
上述过程中,文件在端到端传输的输入/输出(input/output,IO)路径过长,导致数据传输的时延较高,在对数据传输时延比较敏感的业务场景中,往往无法满足用户的需求。
发明内容
本申请实施例提供了一种公有云系统及其相关方法,可缩短文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足用户的需求。
本申请实施例的第一方面提供了一种公有云系统,公有云系统包括云存储服务装置和云函数服务装置。
当第一租户需要获取经过处理的目标文件时,可通过第一客户端使登录上述公有云系统中的云管理平台,以通过云管理平台访问云存储服务装置和云函数服务装置,从而与云存储服务装置、云函数服务装置实现通信。例如,第一租户通过手机登录云管理平台后,云管理平台可在租户的手机上呈现为一个用户界面,并在该用户界面上显示云函数服务的触发区域和云存储服务的触发区域,故第一租户的手机可在相应的触发区域上跳转至云函数服务装置和云存储服务装置,从而与这两模块实现通信。
那么,第一租户可通过其使用的第一客户端,先向云存储服务装置发送针对目标文件的下载请求。接收到下载请求后,云存储服务装置基于下载请求可确定第一客户端需要处理后的目标文件,故云存储服务装置可将目标文件发送至云函数服务装置。
由于云函数服务装置具有目标函数,且目标函数可理解为租户定义的针对目标文件的数据处理逻辑,故云函数服务装置可运行目标函数,以基于数据处理逻辑来处理目标文件,得到处理后的目标文件。例如,云存储服务装置向云函数服务装置发送原始的图像数据后,云函数服务装置可使用与压缩处理对应的函数,对原始的图像数据进行处理,从而得到处理后的图像数据。
最后,云函数服务装置再将处理后的目标文件返回至云存储服务装置,以使得云存储服务装置将处理后的目标文件作为下载应答,发送至第一客户端,以供第一租户使用。
从上述公有云系统可以看出:云函数服务装置与云存储服务装置之间可直接传输目标文件,即云存储服务装置可直接向云函数服务装置发送目标文件,云函数服务装置可直接向云存储服务装置发送处理后的目标文件,目标文件传输的I/O路径不用经过网关,相较于相关技术而言,可有效地缩短目标文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足租户的需求。
在一种可能的实现方式中,由于数据处理逻辑是由租户根据自身的需求进行定义,那么,数据处理逻辑可以有多种呈现方式:(1)若数据处理逻辑为数据加密逻辑,那么,云函数服务装置可根据数据加密逻辑对目标文件进行加密处理,处理后的目标文件可视为加密后的目标文件。(2)若数据处理逻辑为数据解密逻辑,那么,云函数服务装置可根据数据加密逻辑对目标文件进行解密处理,处理后的目标文件可视为解密后的目标文件。(3)若数据处理逻辑为数据压缩逻辑,那么,云函数服务装置可根据数据压缩逻辑对目标文件进行压缩处理,处理后的目标文件可视为压缩后的目标文件。(4)若数据处理逻辑为数据解压逻辑,那么,云函数服务装置可根据数据解压逻辑对目标文件进行解压处理,处理后的目标文件可视为解压后的目标文件。(5)若数据处理逻辑为数据格式转换逻辑,那么,云函数服务装置可根据数据格式转换逻辑对目标文件进行格式转换处理,处理后的目标文件可视为格式转换后的目标文件。(6)若数据处理逻辑为数据内容变换逻辑,那么,云函数服务装置可根据数据格式转换逻辑对目标文件进行内容变换处理,处理后的目标文件可视为内容变换后的目标文件。(7)若数据处理逻辑为数据过滤逻辑,那么,云函数服务装置可根据数据格式过滤对目标文件进行内容变换处理,处理后的目标文件可视为过滤后的目标文件。
在一种可能的实现方式中,云存储服务装置存储目标文件包括:云存储服务装置接收由第一租户所使用的第一客户端或第二租户所使用的第二客户端上传的目标文件并存储。
在一种可能的实现方式中,公有云系统还包括云管理平台,用于提供注册接口,注册接口用于获取第一租户输入的账号和密码,云管理平台根据第一租户的账号和密码对第一租户进行注册,以使得第一客户端可根据第一租户的账号和密码与存储服务模块和云函数服务装置通信;注册接口还用于获取第二租户输入的账号和密码,云管理平台根据第二租户的账号和密码对第二租户进行注册,以使得第二客户端可根据第二租户的账号和密码与存储服务模块和云函数服务装置通信。前述实现方式中,云管理平台可面向租户,并提供注册接口,该注册接口可获取租户输入的账号和密码,以使得云管理平台根据租户的账号和租户的密码对租户进行注册。完成注册后,租户所使用的客户端可利用其自身的账号和密码登录云管理平台,以通过云管理平台访问云存储服务装置和云函数服务装置,从而与云存储服务装置、云函数服务装置实现通信。
在一种可能的实现方式中,云存储服务装置将目标文件发送至云函数服务装置包括:云函数服务装置将云函数服务装置的第一网络互联协议(internet protocol,IP)地址和云函数服务装置的第一端口,发送至云存储服务装置;云存储服务装置基于第一IP地址和第一端口,与云函数服务装置建立目标通道;云存储服务装置在目标通道上,将目标文件发送至云函数服务装置。前述实现方式中,云函数服务装置可通知云存储服务装置关于云函数服务装置的第一IP地址和第一端口,故云存储服务装置可基于第一IP地址和第一端口,与云函数服务装置建立目标通道。在建立目标通道后,由于云存储服务装置已确定实现目标函数所需的目标文件,故云存储服务装置可在目标通道上,将目标文件直接发送至云函数服务装置。
在一种可能的实现方式中,云函数服务装置将云函数服务装置的第一IP地址和云函数服务装置的第一端口,发送至云存储服务装置包括:云存储服务装置向云函数服务装置发送调用请求,调用请求基于下载请求生成,调用请求用于指示目标函数;云存储服务装置接收来自云函数服务装置针对调用请求的调用应答,调用应答用于指示云函数服务装置的第一IP地址和云函数服务装置的第一端口。前述实现方式中,前述实现方式中,云存储服务装置得到下载请求后,可基于下载请求生成调用请求并发送至云函数服务装置,调用请求用于指示目标函数。得到调用请求后,云函数服务装置可向云存储服务装置返回针对调用请求处理得到的调用应答,从而通知云存储服务装置关于云函数服务装置的第一IP地址和第一端口,从而在二者之间建立目标通道。
在一种可能的实现方式中,云存储服务装置将目标文件发送至云函数服务装置包括:云存储服务装置将云存储服务装置的第二IP地址和云存储服务装置的第二端口发送至云函数服务装置;云函数服务装置基于第二IP地址和第二端口与云存储服务装置建立目标通道;云存储服务装置在目标通道上,将目标文件发送至云函数服务装置。前述实现方式中,云存储服务装置可通知云函数服务装置关于云存储服务装置的第二IP地址和第二端口,故云函数服务装置可基于第二IP地址和第二端口,与云存储服务装置建立目标通道。在建立目标通道后,由于云存储服务装置已确定实现目标函数所需的目标文件,故云存储服务装置可在目标通道上,将目标文件直接发送至云函数服务装置。
在一种可能的实现方式中,云存储服务装置将云存储服务装置的第二IP地址和云存储服务装置的第二端口发送至云函数服务装置包括:云存储服务装置向云函数服务装置发送调用请求,调用请求基于下载请求生成,调用请求用于指示目标函数、云存储服务装置的第二IP地址和云存储服务装置的第二端口。前述实现方式中,云存储服务装置得到下载请求后,可基于下载请求生成调用请求并发送至云函数服务装置,调用请求用于指示目标函数、云存储服务装置的第二IP地址和云存储服务装置的第二端口。得到调用请求后,云函数服务装置可确定云存储服务装置的第二IP地址和第二端口,从而在二者之间建立目标通道。
在一种可能的实现方式中,调用请求基于下载请求生成包括:若下载请求用于指示目标文件和目标函数,调用请求基于下载请求生成,若下载请求用于指示目标文件,调用请求基于下载请求和预置的规则生成,规则为数据和函数之间的对应关系。前述实现方式中,当租户需要获取处理后的目标文件时,可通过客户端向云存储服务装置发送下载请求,若下载请求可用于指示目标文件和目标函数,云存储服务装置可先解析调用请求,基于解析得到的信息,可确定租户需要利用目标函数对目标文件进行处理,故云存储服务装置可生成用于指示目标函数的调用请求。若调用请求仅用于指示目标文件,云存储服务装置可先解析调用请求,基于解析得到的信息,可确定租户需要对目标文件进行处理,至于租户想利用哪一个函数对目标文件进行处理,云存储服务装置可在预置的规则中,确定与目标文件对应的目标函数。最后,云存储服务装置可生成用于指示目标函数的调用请求。如此一来,云存储服务装置可利用调用请求,触发云存储服务装置与云函数服务装置之间的数据传输。
在一种可能的实现方式中,云函数服务装置将处理后的目标文本返回至云存储服务装置包括:云函数服务装置在目标通道上,将处理后的目标文本返回至云存储服务装置。
在一种可能的实现方式中,目标通道为基于超文本传输协议(hyper texttransfer protocol,HTTP)的通信通道、基于传输控制协议(transmission controlprotocol,TCP)的通信通道、基于WebSocket协议的通信通道或基于远程过程调用(remoteprocedure call,RPC)协议的通信通道。
本申请实施例的第二方面提供了一种公有云系统,公有云系统包括云存储服务装置和云函数服务装置。
当第一租户需要获取经过处理的目标文件时,可通过第一客户端使登录上述公有云系统中的云管理平台,以通过云管理平台访问云存储服务装置和云函数服务装置,从而与云存储服务装置、云函数服务装置实现通信。例如,第一租户通过手机登录云管理平台后,云管理平台可在租户的手机上呈现为一个用户界面,并在该用户界面上显示云函数服务的触发区域和云存储服务的触发区域,故第一租户的手机可在相应的触发区域上跳转至云函数服务装置和云存储服务装置,从而与这两模块实现通信。
那么,第一租户可通过其使用的第一客户端,先向云存储服务装置发送针对目标文件的写入请求。接收到写入请求后,云存储服务装置基于写入请求可确定第一客户端需要向目标文件写入数据,故云存储服务装置可将写入请求所携带的待写入数据发送至云函数服务装置。
由于云函数服务装置具有目标函数,且目标函数可理解为租户定义的针对目标文件的数据处理逻辑,故云函数服务装置可运行目标函数,以基于数据处理逻辑来处理待写入数据,得到处理后的数据。例如,云存储服务装置向云函数服务装置发送待添加至目标文档的文本后,云函数服务装置可使用与加密处理对应的函数,对该文本进行处理,从而得到加密后的文本。
最后,云函数服务装置再将处理后的数据返回至云存储服务装置,以使得云存储服务装置将处理后的数据写入目标文件,完成目标文件的更新。依旧如上述例子,云函数服务装置得到来自云函数服务装置的加密后的文本后,可将加密后的文本写入目标文档。
从上述方法可以看出:云函数服务装置与云存储服务装置之间可直接传输待写入数据,即云存储服务装置可直接向云函数服务装置发送待写入的数据,云函数服务装置可直接向云存储服务装置发送处理后的数据,目标文件传输的I/O路径不用经过网关,相较于相关技术而言,可有效地缩短目标文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足租户的需求。
在一种可能的实现方式中,数据处理逻辑为数据加密逻辑,处理为加密处理;或,数据处理逻辑为数据解密逻辑,处理为解密处理;或,数据处理逻辑为数据压缩逻辑,处理为压缩处理;或,数据处理逻辑为数据解压逻辑,处理为解压处理;或,数据处理逻辑为数据格式转换逻辑,处理为格式转换处理;或数据处理逻辑为数据内容变换逻辑,处理为内容变换处理;或,数据处理逻辑为数据过滤逻辑,处理为过滤处理。
在一种可能的实现方式中,云存储服务装置存储目标文件,包括:云存储服务装置接收由第一客户端或第二客户端上传的目标文件并存储。
在一种可能的实现方式中,公有云系统还包括云管理平台,该方法还包括:云管理平台提供注册接口,注册接口用于获取第一租户输入的账号和密码,云管理平台根据第一租户的账号和密码对第一租户进行注册,以使得第一客户端可根据第一租户的账号和密码与存储服务模块和云函数服务装置通信;注册接口还用于获取第二租户输入的账号和密码,云管理平台根据第二租户的账号和密码对第二租户进行注册,以使得第二客户端可根据第二租户的账号和密码与存储服务模块和云函数服务装置通信。
在一种可能的实现方式中,云存储服务装置将待写入数据发送至云函数服务装置包括:云函数服务装置将云函数服务装置的第一网络互联协议IP地址和云函数服务装置的第一端口,发送至云存储服务装置;云存储服务装置基于第一IP地址和第一端口,与云函数服务装置建立目标通道;云存储服务装置在目标通道上,将待写入数据发送至云函数服务装置。
在一种可能的实现方式中,云存储服务装置将待写入数据发送至云函数服务装置包括:云存储服务装置将云存储服务装置的第二IP地址和云存储服务装置的第二端口发送至云函数服务装置;云函数服务装置基于第二IP地址和第二端口与云存储服务装置建立目标通道;云存储服务装置在目标通道上,将待写入数据发送至云函数服务装置。
在一种可能的实现方式中,云函数服务装置将云函数服务装置的第一IP地址和云函数服务装置的第一端口,发送至云存储服务装置包括:云存储服务装置向云函数服务装置发送调用请求,调用请求基于写入请求生成,调用请求用于指示目标函数;云存储服务装置接收来自云函数服务装置针对调用请求的调用应答,调用应答用于指示云函数服务装置的第一IP地址和云函数服务装置的第一端口。
在一种可能的实现方式中,云存储服务装置将云存储服务装置的第二IP地址和云存储服务装置的第二端口发送至云函数服务装置包括:云存储服务装置向云函数服务装置发送调用请求,调用请求基于写入请求生成,调用请求用于指示目标函数、云存储服务装置的第二IP地址和云存储服务装置的第二端口。
在一种可能的实现方式中,调用请求基于写入请求生成包括:若写入请求用于指示目标文件和目标函数,调用请求基于写入请求生成,若写入请求用于指示目标文件,调用请求基于写入请求和预置的规则生成,规则为数据和函数之间的对应关系。
在一种可能的实现方式中,云函数服务装置将处理后的数据返回至云存储服务装置包括:云函数服务装置在目标通道上,将处理后的数据返回至云存储服务装置。
在一种可能的实现方式中,目标通道为基于HTTP的通信通道、基于TCP的通信通道、基于WebSocket协议的通信通道或基于RPC协议的通信通道。
本申请实施例的第三方面提供了一种基于公有云技术的文件下载方法,该方法包括:云存储服务装置存储目标文件,并提供文件下载接口,文件下载接口用于接收客户端发送的针对目标文件的下载请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;云存储服务装置将目标文件和目标函数发送至云函数服务装置;云存储服务装置接收云函数服务装置发送的云函数服务装置运行目标函数以根据数据处理逻辑处理目标文件产生的处理后的文件;云存储服务装置将处理后的文件发送至客户端。
在一种可能的实现方式中,数据处理逻辑为数据加密逻辑,处理为加密处理;或,数据处理逻辑为数据解密逻辑,处理为解密处理;或,数据处理逻辑为数据压缩逻辑,处理为压缩处理;或,数据处理逻辑为数据解压逻辑,处理为解压处理;或,数据处理逻辑为数据格式转换逻辑,处理为格式转换处理;或数据处理逻辑为数据内容变换逻辑,处理为内容变换处理;或,数据处理逻辑为数据过滤逻辑,处理为过滤处理。
在一种可能的实现方式中,云存储服务装置存储目标文件包括:云存储服务装置接收由第一客户端或第二客户端上传的目标文件并存储。
本申请实施例的第四方面提供了一种基于公有云技术的文件更新方法,该方法包括:云存储服务装置存储目标文件,并提供文件更新接口,文件下载接口用于接收客户端发送的针对目标文件的写入请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;云存储服务装置将写入请求所携带的待写入数据和目标函数发送至云函数服务装置;云存储服务装置接收云函数服务装置发送的云函数服务装置运行目标函数以根据数据处理逻辑处理待写入数据产生的处理后的数据;云存储服务装置将处理后的数据写入目标文件。
在一种可能的实现方式中,数据处理逻辑为数据加密逻辑,处理为加密处理;或,数据处理逻辑为数据解密逻辑,处理为解密处理;或,数据处理逻辑为数据压缩逻辑,处理为压缩处理;或,数据处理逻辑为数据解压逻辑,处理为解压处理;或,数据处理逻辑为数据格式转换逻辑,处理为格式转换处理;或数据处理逻辑为数据内容变换逻辑,处理为内容变换处理;或,数据处理逻辑为数据过滤逻辑,处理为过滤处理。
在一种可能的实现方式中,云存储服务装置存储目标文件包括:云存储服务装置接收由第一客户端或第二客户端上传的目标文件并存储。
本申请实施例的第五方面提供了一种基于公有云技术的文件上传方法,该方法包括:云存储服务装置提供文件上传接口,文件上传接口用于接收客户端发送的针对目标文件的上传请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;云存储服务装置存储目标文件,并发送目标函数至云函数服务装置。
在一种可能的实现方式中,云存储服务装置存储目标文件包括:云存储服务装置接收由第一客户端或第二客户端上传的目标文件并存储。
本申请实施例的第六方面提供了一种云存储服务装置,该装置包括:存储模块,用于存储目标文件,并提供文件下载接口,文件下载接口用于接收客户端发送的针对目标文件的下载请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;第一发送模块,用于将目标文件和目标函数发送至云函数服务装置;接收模块,用于接收云函数服务装置发送的云函数服务装置运行目标函数以根据数据处理逻辑处理目标文件产生的处理后的文件;第二发送模块,用于将处理后的文件发送至客户端。
在一种可能的实现方式中,存储模块,用于接收由第一客户端或第二客户端上传的目标文件并存储。
本申请实施例的第七方面提供了一种云存储服务装置,该装置包括:存储模块,用于存储目标文件,并提供文件更新接口,文件下载接口用于接收客户端发送的针对目标文件的写入请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;发送模块,用于将写入请求所携带的待写入数据和目标函数发送至云函数服务装置;接收模块,用于接收云函数服务装置发送的云函数服务装置运行目标函数以根据数据处理逻辑处理待写入数据产生的处理后的数据;写入模块,用于将处理后的数据写入目标文件。
在一种可能的实现方式中,存储模块,用于接收由第一客户端或第二客户端上传的目标文件并存储。
本申请实施例的第八方面提供了一种云存储服务装置,该装置包括:提供模块,用于提供文件上传接口,文件上传接口用于接收客户端发送的针对目标文件的上传请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;存储模块,用于存储目标文件,并发送目标函数至云函数服务装置。
在一种可能的实现方式中,存储模块,用于接收由第一客户端或第二客户端上传的目标文件并存储。
本申请实施例的第九方面提供了一种云存储服务装置,该系统包括存储器和处理器;存储器存储有代码,处理器被配置为执行代码,当代码被执行时,云存储服务装置执行如第三方面、第三方面任一种可能的实现方式、第四方面或第四方面任一种可能的实现方式、第五方面或第五方面任一种可能的实现方式所述的方法。
本申请实施例的第十方面提供了一种计算机存储介质,计算机存储介质存储有一个或多个指令,指令在由一个或多个计算机执行时使得一个或多个计算机实施如第三方面、第三方面任一种可能的实现方式、第四方面或第四方面任一种可能的实现方式、第五方面或第五方面任一种可能的实现方式所述的方法。
本申请实施例的第十一方面提供了一种计算机程序产品,计算机程序产品存储有指令,指令在由计算机执行时,使得计算机实施如第三方面、第三方面任一种可能的实现方式、第四方面或第四方面任一种可能的实现方式、第五方面或第五方面任一种可能的实现方式所述的方法。
本申请实施例中,云函数服务装置与云存储服务装置之间可直接传输目标文件,即云存储服务装置可直接向云函数服务装置发送目标文件,云函数服务装置可直接向云存储服务装置发送处理后的目标文件,目标文件传输的I/O路径不用经过网关,相较于相关技术而言,可有效地缩短目标文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足租户的需求。
附图说明
图1为相关技术中的数据传输过程的一个示意图;
图2为本申请实施例提供的公有云系统的一个结构示意图;
图3为本申请实施例提供的云函数服务装置的一个结构示意图;
图4为本申请实施例提供的云函数服务装置的另一结构示意图;
图5为本申请实施例提供的数据处理方法的一个流程示意图;
图6为本申请实施例提供的云函数服务装置的另一结构示意图;
图7为本申请实施例提供的数据处理方法的另一流程示意图;
图8为本申请实施例提供的数据处理方法的另一流程示意图;
图9为本申请实施例提供的数据处理方法的另一流程示意图;
图10为本申请实施例提供的云存储服务装置的一个结构示意图;
图11为本申请实施例提供的云存储服务装置的另一结构示意图;
图12为本申请实施例提供的云存储服务装置的另一结构示意图;
图13为本申请实施例提供的云存储服务装置的另一结构示意图。
具体实施方式
本申请实施例提供了一种公有云系统及其相关方法,可缩短文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足用户的需求。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”并他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
云存储是在云计算概念上延伸和发展出来的一种新兴的网络存储技术,该技术可在多个服务器上部署大量虚拟化的存储资源,用于存储众多用户的数据。用户从这些服务器中所获取的数据,通常为经过一定处理后的数据,故令服务器具备数据处理能力成为了一种新的诉求。
目前,公有云系统中可包含云存储服务装置、云函数服务装置和网关等等。一般地,用户可使用客户端接入该公有云系统,从而实现数据的获取。为了便于了解数据获取的过程,下文结合图1对该过程做进一步的介绍。如图1所示(图1为相关技术中的数据传输过程的一个示意图),用户可通过客户端向网关发送用于指示目标文件(例如,某种图像数据)和目标函数(例如,与图像压缩功能对应的函数)的请求,以使得网关向云函数服务装置发送用于指示目标函数的请求。接着,云函数服务装置基于该请求启动目标函数后,可向网关发送用于指示目标函数启动成功的响应。然后,云函数服务装置可从云存储服务装置处下载目标文件,并调用目标函数对目标文件进行处理(例如,对图像数据进行压缩处理)。最后,云函数服务装置将处理后的目标文件(例如,压缩后的图像数据)发送至网关,以使得网关向客户端返回处理后的目标文件,以供用户使用。
上述过程中,目标文件在端到端传输的输入/输出(input/output,IO)路径过长,导致数据传输的时延较高,在对数据传输时延比较敏感的业务场景中,往往无法满足用户的需求。
为了解决该问题,本申请实施例提供了一种数据处理方法,该方法可应用于如图2所示(图2为本申请实施例提供的公有云系统的一个结构示意图)的公有云系统,该系统包括:云管理平台、云存储服务装置和云函数服务装置,云管理平台可面向多个租户,对租户与云存储服务装置、云函数服务装置之间的通信进行管理。从硬件上看,云管理平台、云存储服务装置和云函数服务装置均可基于一个或多个服务器实现,用于实现云管理的服务器可称为云管理平台(这一部分服务器的数量可根据实际需求进行设置,此处不做限定),用于实现云函数服务的服务器可称为云函数服务装置(这一部分服务器的数量可根据实际需求进行设置,此处不做限定),用于实现云存储服务的服务器称为云存储服务装置(这一部分服务器的数量可根据实际需求进行设置,此处不做限定),这三部分服务器之间通信连接,两两之间可实现交互,从而实现数据的传输。下文将对云管理平台、云函数服务装置和云函数服务装置分别进行介绍:
云管理平台可面向租户,并提供注册接口,该注册接口可获取租户输入的账号和密码,以使得云管理平台根据租户的账号和租户的密码对租户进行注册。完成注册后,租户所使用的客户端可利用其自身的账号和密码登录云管理平台,以通过云管理平台访问云存储服务装置和云函数服务装置,从而与云存储服务装置、云函数服务装置实现通信(例如,租户通过手机登录云管理平台后,云管理平台可在租户的手机上呈现为一个用户界面,并在该用户界面上显示云函数服务的触发区域和云存储服务的触发区域,故租户的手机可在相应的触发区域上跳转至云函数服务装置和云存储服务装置,从而与这两模块实现通信)。
云函数服务装置,也可以称为函数即服务模块,如图3所示(图3为本申请实施例提供的云函数服务装置的一个结构示意图,云函数服务装置从逻辑上可划分为硬件层(hardware)、操作系统层(operating system)、沙箱层(container)、语言运行时层(language runtime)以及函数层(function code)。硬件层通常指云函数服务装置(例如,x86或ARM服务器)中的各种硬件资源,即计算资源(例如,中央处理器(central processingunit,CPU)等等)、存储资源(例如,各种类型的存储器等等)以及通信资源(例如,有线或无线通信接口等等)等等。操作系统层指安装于云函数服务装置上的操作系统。沙箱层通常指基于轻量级沙箱技术所创建的具备一定安全运行环境的沙箱(例如,容器等等),在沙箱中运行的应用程序无法访问操作系统中的数据,故可安全地执行应用程序中一些不受信任的函数代码。语言运行时层指应用程序所采用的开发语言运行时(也可以称为开发语言的运行环境),当应用程序启动后,开发语言运行时将执行函数代码。函数层通常指应用程序中的函数(这些函数的代码通常由租户根据自身需求来编写,可以理解为租户定义的针对某个文件的数据处理逻辑,数据处理逻辑可对文件进行某种处理,此处先不做展开),即根据开发语言进行编程所得到的函数代码。
云存储服务装置,通常指用于实现云存储服务装置的服务器集群中的服务器,其可基于虚拟化技术部署有多个虚拟实例(例如,虚拟机(virtual machine,VM)或容器等等),这些虚拟实例可运行用于实现存储功能的应用程序,租户可通过客户端接入云存储服务装置,与这些应用程序实现文件传输,从而实现文件的上传(可见,云存储服务装置存储有租户上传的文件等等)或下载,由此可见,这些虚拟实例也可理解为在后端部署的虚拟化存储资源,且以存储资源池的方式提供给租户,使得租户自行使用存储资源池来存放或提取文件。值得注意的是,云存储服务装置还可面向租户提供接口,该接口可接收租户编写的函数,并将函数设置在云函数服务装置中。
应理解,客户端与云管理平台之间的交互,可视为客户端与用于实现云管理的服务器之间的交互,客户端与云存储服务装置之间的交互,可视为客户端与用于实现云存储服务的服务器之间的交互,云存储服务装置和云函数服务装置之间的交互,可视为用于实现云存储服务的服务器和用于实现云函数服务的服务器之间的交互,后续不再赘述。
值得注意的是,前述的公有云系统可实现多种业务场景,第一种业务场景为租户下载文件的场景,第二种业务场景为租户写入数据的场景。下文先对第一种业务场景进行介绍,在此场景中,当租户需要获取经过处理的目标文件时,可通过客户端使用租户的账户密码登录上述公有云系统中的云管理平台,云管理平台可跳转云函数服务装置或云存储服务装置。如此一来,租户可通过客户端与云存储服务装置实现信息交互,以在云存储服务装置和云函数服务装置的配合下,获取租户所需的经过处理的目标文件。具体地,租户可通过其使用的客户端,先向云存储服务装置发送针对目标文件的下载请求。接收到下载请求后,云存储服务装置基于下载请求可确定客户端需要目标文件,故云存储服务装置可将已存储的目标文件发送至云函数服务装置。然后,云函数服务装置可运行目标函数(目标函数为租户定义的针对目标文件的数据处理逻辑),以使用数据处理逻辑来处理目标文件,再将处理后的目标文件返回至云存储服务装置。最后,云存储服务装置将处理后的目标文件作为下载应答,发送至客户端,以供租户使用。
进一步地,云函数服务装置和云存储服务装置之间在传输目标文件时,可通过以下方式实现:云函数服务装置和云存储服务装置之间可建立一条专门用于传输目标文件的目标通道,目标通道可以是基于HTTP的通信通道,也可以是基于TCP的通信通道,也可以是基于WebSocket协议的通信通道,也可以是基于远程过程调用RPC协议的通信通道等等,当然,目标通道还可以是基于一些自定义的传输协议的通信通道,此处不做限制。那么,基于目标通道,云函数服务装置可从云存储服务装置获取目标文件,并利用目标函数对目标文件进行处理,然后将处理后的目标文件直接发送至云存储服务装置,以使得云存储服务装置将处理后的数据反馈至客户端,以供用户使用。可见,基于目标通道,可缩短数据传输的I/O路径。
为了建立目标通道,可通过修改云函数服务装置中语言运行时层的代码,以在语言运行时层中嵌入一个功能模块,该功能模块可通过两种方式呈现,下文将分别对两种方式分别进行介绍:
如图4所示(图4为本申请实施例提供的云函数服务装置的另一结构示意图),对于第一种方式而言,云函数服务装置中的该功能模块可作为服务侧(function server),云存储服务装置中用于实现存储功能的应用程序作为客户侧(client)。在这种情况下,function server可具备端口(port)监听功能,以与云存储服务装置中用于实现存储功能的应用程序建立目标通道。进一步地,function server还可通过预置的接口来触发目标函数,并执行目标函数,以实现数据的处理。为了进一步理解function server的工作过程,下文结合图5(图5为本申请实施例提供的数据处理方法的一个流程示意图)对该过程作进一步的介绍,如图5所示,该过程包括:
501、云存储服务装置接收来自第一客户端的下载请求,下载请求至少用于指示目标文件。
本实施例中,当第一租户需要获取处理后的目标文件时,可通过第一租户所使用的第一客户端向云管理平台提供的云存储服务装置发送下载请求,下载请求至少用于指示目标文件。具体地,下载请求可通过多种形式呈现,下文将分别进行介绍:
在一种可能的实现方式中,下载请求可包含目标文件的标识和目标函数的标识,故下载请求可用于指示目标文件和目标函数。可以理解的是,目标文件为第一客户端所指定的数据(第一租户所需的数据),目标函数为第一客户端所指定的函数(执行该函数后,可完成第一租户想对目标文件进行的某种处理)。例如,当第一租户需获取压缩处理后的图像数据时,第一租户可向使用手机向提供云存储服务装置的服务器发出请求,该请求用于指示原始的图像数据以及与压缩处理对应的函数。
在另一种可能的实现方式中,下载请求可仅包含目标文件的标识,故下载请求可用于指示目标文件。例如,当第一租户需获取压缩处理后的图像数据时,第一租户可向使用手机向提供云存储服务装置的服务器发出请求,该请求用于指示原始的图像数据。
应理解,步骤501中,第一客户端向云存储服务装置发送下载请求,也可以理解为是第一客户端向云存储服务装置中用于实现存储功能的应用程序,发送下载请求。
502、云存储服务装置基于下载请求生成调用请求,调用请求用于指示第一客户端指定的目标函数。
云存储服务装置得到下载请求后,可基于下载请求生成调用请求,调用请求用于指示目标函数。具体地,云存储服务装置可通过多种方式生成调用请求,下文将分别进行介绍:
在一种可能的实现方式中,设下载请求既包含目标文件的标识,也包含目标函数的标识。在得到下载请求后,云存储服务装置可先解析下载请求,得到目标文件的标识以及目标函数的标识。然后,基于这些两个标识,云存储服务装置可确定第一租户需要利用目标函数对目标文件进行处理,故云存储服务装置可生成包含目标函数的标识的调用请求,由此可见,调用请求可用于指示目标函数。
在另一种可能的实现方式中,设下载请求既仅包含目标文件的标识。在得到下载请求后,云存储服务装置可先解析下载请求,得到目标文件的标识。然后,基于该标识,云存储服务装置可确定第一租户需要对目标文件进行处理,至于第一租户想利用哪一个函数对目标文件进行处理,云存储服务装置可在预置的规则中(该规则可由第一租户提前制定,该规则包含了多种数据与多种函数之间的对应关系),确定与目标文件对应的目标函数。最后,云存储服务装置可生成包含目标函数的标识的调用请求,由此可见,调用请求可用于指示目标函数。
应理解,步骤502中云存储服务装置基于下载请求生成调用请求,也可以理解为是云存储服务装置中用于实现存储功能的应用程序,基于下载请求生成调用请求。
503、云函数服务装置接收来自云存储服务装置的调用请求。
504、云函数服务装置启动目标函数。
505、云函数服务装置向云存储服务装置发送调用应答,调用应答用于指示目标函数已启动、云函数服务装置的第一IP地址和云函数服务装置的第一端口。
得到调用请求后,云存储服务装置可向云函数服务装置发送调用请求,云函数服务装置可解析调用请求,得到目标函数的标识。基于该标识,云函数服务装置可确定需要基于目标函数对某些数据进行处理,故云函数服务装置可启动目标函数。启动目标函数后,云函数服务装置可向云存储服务装置返回调用应答,调用应答可包含成功启动目标函数的标识、云函数服务装置的第一IP地址的标识以及云函数服务装置的第一端口的标识,故调用应答不仅可用于指示目标函数已启动,还可用于指示云函数服务装置的第一IP地址和云函数服务装置的第一端口。
具体地,云函数服务装置的操作系统接收到来自云存储服务装置中用于实现存储功能的应用程序的调用请求后,云函数服务装置的操作系统可启动沙箱,并运行开发语言运行时,以使得开发语言运行创建function server。function server被创建后,可通过预置的接口启动目标函数,并实时侦听IP地址以及端口等信息。
值得注意的是,function server被创建后,function server可被配置有一个端口和一个IP地址,将该端口即为前述的第一端口,该IP地址即为前述的第一IP地址。那么,function server启动目标函数后,云函数服务装置的操作系统可向云存储服务装置中用于实现存储功能的应用程序,发送调用应答,调用应答用于指示function server已启动目标函数、function server的IP地址和function server的端口。
应理解,目标函数既可以是第一租户定义的针对目标文件的数据处理逻辑(即目标函数由第一租户编写),也可以是第二租户(除第一租户之外的其余租户)定义的针对目标文件的数据处理逻辑(即目标函数由第二租户编写),此处不做限制。
506、云存储服务装置基于第一IP地址和第一端口,与云函数服务装置建立目标通道。
云存储服务装置接收到来自云函数服务装置的调用应答后,可解析调用应答,得到成功启动目标函数的标识、云函数服务装置的第一IP地址的标识以及云函数服务装置的第一端口的标识,基于这些信息,云存储服务装置可确定目标函数已经启动成功,并确定云函数服务装置的第一IP地址和第一端口。那么,云存储服务装置可使用第一IP地址和第一端口,与云函数服务装置建立目标通道,目标通道为专门用于传输目标文件的通信通道。
具体地,云存储服务装置中用于实现存储功能的应用程序基于调用应答,确定function server已启动目标函数后,则认为可与function server建立连接。然后,该应用程序可基于调用应答,确定function server的IP地址和function server的端口,并利用function server的IP地址和function server的端口,向function server发起socket连接,从而在function server与云存储服务装置中用于实现存储功能的应用程序之间建立通信通道,该通信通道即为前述的目标通道,专门用于在function server与云存储服务装置中用于实现存储功能的应用程序之间传输数据。
需要说明的是,云函数服务装置的function server与云存储服务装置中用于实现存储功能的应用程序之间的通信通道,与云函数服务装置的操作系统与云存储服务装置中用于实现存储功能的应用程序之间的通信通道,二者是不同的通信通道。前者基于function server的端口与function server的IP地址构建,后者基于云函数服务装置的操作系统的端口与云函数服务装置的操作系统的IP地址连接。可以理解的是,functionserver的端口与云函数服务装置的操作系统的端口是不同的端口,function server的IP地址与云函数服务装置的操作系统的IP地址通常为同一个IP地址(即云函数服务装置的IP地址)。
507、云存储服务装置在目标通道上,向云函数服务装置发送实现目标函数所需的目标文件。
云存储服务装置与云函数服务装置之间建立目标通道后,由于云存储服务装置基于下载请求已确定需要向云函数服务装置发送目标文件,故可在目标通道上,向云函数服务装置发送实现目标函数所需的目标文件。
具体地,云存储服务装置中用于实现存储功能的应用程序与云函数服务装置的function server之间建立通信通道后,云存储服务装置中用于实现存储功能的应用程序可在该通信通道上,将目标文件发送至function server。
508、云函数服务装置基于目标函数,对目标文件进行处理,得到处理后的目标文件。
云函数服务装置得到目标文件后,可使用目标函数对目标文件进行处理,从而得到处理后的目标文件。需要说明的是,由于目标函数为租户定义的针对目标文件的数据处理逻辑,故云函数服务装置在使用目标函数对目标文件进行处理时,相当于云函数服务装置在根据数据处理逻辑对目标文件进行处理,从而得到处理后的目标文件。依旧如上述例子,云存储服务装置向云函数服务装置发送原始的图像数据后,云函数服务装置可使用与压缩处理对应的函数,对原始的图像数据进行处理,从而得到处理后的图像数据。
具体地,function server得到目标文件后,可继续执行目标函数的代码,以对目标文件进行处理,得到处理后的目标文件。
进一步地,由于数据处理逻辑是由租户根据自身的需求进行定义,那么,数据处理逻辑可以有多种呈现方式,下文将分别进行介绍:
(1)若数据处理逻辑为数据加密逻辑,那么,云函数服务装置可根据数据加密逻辑对目标文件进行加密处理,处理后的目标文件可视为加密后的目标文件(在这种情况下,目标文件通常为未加密的文件,例如,可直接打开的压缩包)。(2)若数据处理逻辑为数据解密逻辑,那么,云函数服务装置可根据数据加密逻辑对目标文件进行解密处理,处理后的目标文件可视为解密后的目标文件(在这种情况下,目标文件通常为加密过的文件,例如,加密后的压缩包)。(3)若数据处理逻辑为数据压缩逻辑,那么,云函数服务装置可根据数据压缩逻辑对目标文件进行压缩处理,处理后的目标文件可视为压缩后的目标文件(在这种情况下,目标文件通常为未压缩的文件,例如,某个原始的图像)。(4)若数据处理逻辑为数据解压逻辑,那么,云函数服务装置可根据数据解压逻辑对目标文件进行解压处理,处理后的目标文件可视为解压后的目标文件(在这种情况下,目标文件通常为压缩过的文件,例如,压缩处理后的图像)。(5)若数据处理逻辑为数据格式转换逻辑,那么,云函数服务装置可根据数据格式转换逻辑对目标文件进行格式转换处理,处理后的目标文件可视为格式转换后的目标文件(例如,将pdf格式的文件转换为doc格式的文件等等)。(6)若数据处理逻辑为数据内容变换逻辑,那么,云函数服务装置可根据数据格式转换逻辑对目标文件进行内容变换处理,处理后的目标文件可视为内容变换后的目标文件(例如,将文件中的文字转换为语音等等)。(7)若数据处理逻辑为数据过滤逻辑,那么,云函数服务装置可根据数据格式过滤对目标文件进行内容变换处理,处理后的目标文件可视为过滤后的目标文件(在这种情况下,目标文件通常为未过滤的文件,里面包含各种意义未明的符号以及乱码等等)。
509、云函数服务装置在目标通道上,向云存储服务装置发送处理后的目标文件。
得到处理后的目标文件后,云函数服务装置可在目标通道上,向云存储服务装置发送处理后的目标文件。
具体地,function server得到处理后的目标文件后,可在function server与云存储服务装置中用于实现存储功能的应用程序之间的通信通道上,向云存储服务装置中用于实现存储功能的应用程序发送处理后的目标文件。
510、云存储服务装置向第一客户端发送处理后的目标文件。
得到处理后的目标文件后,云存储服务装置可生成下载应答,下载应答包括处理后的目标文件,并将下载应答发送至第一客户端,以供第一租户使用。
应理解,步骤510中云存储服务装置生成下载应答,也可以理解为是云存储服务装置中用于实现存储功能的应用程序,生成下载应答。
本申请实施例中,云函数服务装置与云存储服务装置之间可直接传输目标文件,即云存储服务装置可直接向云函数服务装置发送目标文件,云函数服务装置可直接向云存储服务装置发送处理后的目标文件,目标文件传输的I/O路径不用经过网关,相较于相关技术而言,可有效地缩短目标文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足租户的需求。
更进一步地,本申请实施例中,云存储服务装置中用于实现存储功能的应用程序可直接面向租户,为租户提供接口,以使得租户通过这些接口,在云函数服务装置上自定义目标函数的编程。
以上是对该功能模块的第一种方式所进行的详细说明,以下将对该功能模块的第二种方式进行介绍。如图6所示(图6为本申请实施例提供的云函数服务装置的另一结构示意图),对于第二种方式而言,云函数服务装置中的该功能模块可作为客户侧(functionclient),云存储服务装置中用于实现存储功能的应用程序作为服务侧(server)。在这种情况下,云存储服务装置中用于实现存储功能的应用程序可具备端口(port)监听功能,以与function client建立目标通道。进一步地,function client还可通过预置的接口来触发目标函数,并执行目标函数,以实现数据的处理。为了进一步理解function client的工作过程,下文结合图7(图7为本申请实施例提供的数据处理方法的另一流程示意图)对该过程作进一步的介绍,如图7所示,该过程包括:
701、云存储服务装置接收来自第一客户端的下载请求,下载请求至少用于指示目标文件。
702、云存储服务装置基于下载请求生成调用请求,调用请求用于指示第一客户端指定的目标函数,还用于指示云存储服务装置的第二IP地址和云存储服务装置的第二端口。
关于步骤701至步骤702的说明,可参考图5所示实施例中步骤501至步骤502的相关说明部分,此处不再赘述。
值得注意的是,步骤702与步骤502的区别在于,调用请求不仅包括目标函数的标识,还包括云存储服务装置的第二IP地址的标识和云存储服务装置的第二端口的标识,故调用请求不仅用于指示第一客户端指定的目标函数,还用于指示云存储服务装置的第二IP地址和云存储服务装置的第二端口。
具体地,云存储服务装置中用于实现存储功能的应用程序作为服务端,可实时侦听IP地址以及端口等信息,且云存储服务装置中用于实现存储功能的应用程序被配置有额外的端口和IP地址,该端口即为前述的第二端口,该IP地址即为前述的第二IP地址。那么,云存储服务装置中用于实现存储功能的应用程序所生成的调用请求,还包括该端口的标识和该IP地址的标识,故调用请求不仅用于指示目标函数,还用于指示云存储服务装置中用于实现存储功能的应用程序的端口和IP地址。
703、云函数服务装置接收来自云存储服务装置的调用请求。
704、云函数服务装置启动目标函数。
705、云函数服务装置向云存储服务装置发送调用应答,调用应答用于指示目标函数已启动。
得到调用请求后,云存储服务装置可向云函数服务装置发送调用请求,云函数服务装置可解析调用请求,得到目标函数的标识。基于该标识,云函数服务装置可确定需要基于目标函数对某些数据进行处理,故云函数服务装置可启动目标函数。启动目标函数后,云函数服务装置可向云存储服务装置返回调用应答,调用应答通常仅包含成功启动目标函数的标识,故调用应答仅可用于指示目标函数已启动。
具体地,云函数服务装置的操作系统接收到来自云存储服务装置中用于实现存储功能的应用程序的调用请求后,云函数服务装置的操作系统可启动沙箱,并运行开发语言运行时,以使得开发语言运行创建function client。function client被创建后,可通过预置的接口启动目标函数。
值得注意的是,function client启动目标函数后,云函数服务装置的操作系统可向云存储服务装置中用于实现存储功能的应用程序,发送调用应答,调用应答用于指示function client已启动目标函数。
应理解,目标函数既可以是第一租户定义的针对目标文件的数据处理逻辑(即目标函数由第一租户编写),也可以是第二租户(除第一租户之外的其余租户)定义的针对目标文件的数据处理逻辑(即目标函数由第二租户编写),此处不做限制。
706、云函数服务装置基于第二IP地址和第二端口,与云存储服务装置建立目标通道。
云存储服务装置接收到来自云函数服务装置的调用应答后,可解析调用应答,得到成功启动目标函数的标识,基于该标识,云存储服务装置可确定目标函数已经启动成功。那么,云存储服务装置则允许云函数服务装置,与云存储服务装置建立目标通道,目标通道为专门用于传输目标文件的通信通道。
具体地,云存储服务装置中用于实现存储功能的应用程序基于调用应答,确定function server已启动目标函数后,则允许function client与自身建立连接。由于function client基于调用请求,已确定云存储服务装置中用于实现存储功能的应用程序的端口和IP地址。那么,function client可基于该应用程序的端口和IP地址,向该应用程序发起socket连接,从而在function client与云存储服务装置中用于实现存储功能的应用程序之间建立通信通道,该通信通道即为前述的目标通道,专门用于在function client与云存储服务装置中用于实现存储功能的应用程序之间传输数据。
需要说明的是,云函数服务装置的function client与云存储服务装置中用于实现存储功能的应用程序之间的通信通道,与云函数服务装置的操作系统与云存储服务装置中用于实现存储功能的应用程序之间的通信通道,二者是不同的通信通道。前者和后者均基于云存储服务装置中用于实现存储功能的应用程序的端口与的IP地址构建,但是,前者所基于的该应用程序的端口与后者所基于该应用程序的端口,通常为不同的端口,前者所基于的该应用程序的IP地址与后者所基于该应用程序的IP地址,通常为同一个IP地址(即云存储服务装置的IP地址)。
707、云存储服务装置在目标通道上,向云函数服务装置发送实现目标函数所需的目标文件。
云存储服务装置与云函数服务装置之间建立目标通道后,由于云存储服务装置基于下载请求已确定需要向云函数服务装置发送目标文件,故可在目标通道上,向云函数服务装置发送实现目标函数所需的目标文件。
具体地,云存储服务装置中用于实现存储功能的应用程序与云函数服务装置的function client之间建立通信通道后,云存储服务装置中用于实现存储功能的应用程序可在该通信通道上,将目标文件发送至function client。
708、云函数服务装置基于目标函数,对目标文件进行处理,得到处理后的目标文件。
云函数服务装置得到目标文件后,可使用目标函数对目标文件进行处理,从而得到处理后的目标文件。依旧如上述例子,云存储服务装置向云函数服务装置发送原始的图像数据后,云函数服务装置的服务器可使用与压缩处理对应的函数,对原始的图像数据进行处理,从而得到处理后的图像数据。
具体地,function client得到目标文件后,可继续执行目标函数的代码,以对目标文件进行处理,得到处理后的目标文件。
进一步地,由于数据处理逻辑是由租户根据自身的需求进行定义,那么,数据处理逻辑可以有多种呈现方式,下文将分别进行介绍:
(1)若数据处理逻辑为数据加密逻辑,那么,云函数服务装置可根据数据加密逻辑对目标文件进行加密处理,处理后的目标文件可视为加密后的目标文件(在这种情况下,目标文件通常为未加密的文件,例如,可直接打开的压缩包)。(2)若数据处理逻辑为数据解密逻辑,那么,云函数服务装置可根据数据加密逻辑对目标文件进行解密处理,处理后的目标文件可视为解密后的目标文件(在这种情况下,目标文件通常为加密过的文件,例如,加密后的压缩包)。(3)若数据处理逻辑为数据压缩逻辑,那么,云函数服务装置可根据数据压缩逻辑对目标文件进行压缩处理,处理后的目标文件可视为压缩后的目标文件(在这种情况下,目标文件通常为未压缩的文件,例如,某个原始的图像)。(4)若数据处理逻辑为数据解压逻辑,那么,云函数服务装置可根据数据解压逻辑对目标文件进行解压处理,处理后的目标文件可视为解压后的目标文件(在这种情况下,目标文件通常为压缩过的文件,例如,压缩处理后的图像)。(5)若数据处理逻辑为数据格式转换逻辑,那么,云函数服务装置可根据数据格式转换逻辑对目标文件进行格式转换处理,处理后的目标文件可视为格式转换后的目标文件(例如,将pdf格式的文件转换为doc格式的文件等等)。(6)若数据处理逻辑为数据内容变换逻辑,那么,云函数服务装置可根据数据格式转换逻辑对目标文件进行内容变换处理,处理后的目标文件可视为内容变换后的目标文件(例如,将文件中的文字转换为语音等等)。(7)若数据处理逻辑为数据过滤逻辑,那么,云函数服务装置可根据数据格式过滤对目标文件进行内容变换处理,处理后的目标文件可视为过滤后的目标文件(在这种情况下,目标文件通常为未过滤的文件,里面包含各种意义未明的符号以及乱码等等)。
709、云函数服务装置在目标通道上,向云存储服务装置发送处理后的目标文件。
得到处理后的目标文件后,云函数服务装置可在目标通道上,向云存储服务装置发送处理后的目标文件。
具体地,function client得到处理后的目标文件后,可在function client与云存储服务装置中用于实现存储功能的应用程序之间的通信通道上,向云存储服务装置中用于实现存储功能的应用程序发送处理后的目标文件。
710、云存储服务装置向第一客户端发送处理后的目标文件。
关于步骤710的说明,可参考图5所示实施例中步骤510的相关说明部分,此处不再赘述。
本申请实施例中,接收来自云存储服务装置的下载请求后,由于下载请求用于指示第一客户端指定的目标函数,云函数服务装置可从云存储服务装置处,获取实现目标函数所需的目标文件。然后,云函数服务装置可基于目标函数,对目标文件进行处理,得到处理后的目标文件。最后,云函数服务装置向云存储服务装置发送处理后的目标文件,以使得云存储服务装置将处理后的目标文件发送至第一客户端,供第一租户使用。前述过程中,云函数服务装置与云存储服务装置之间可直接传输目标文件,即云存储服务装置可直接向云函数服务装置发送目标文件,云函数服务装置可直接向云存储服务装置发送处理后的目标文件,目标文件传输的I/O路径不用经过网关,相较于相关技术而言,可有效地缩短目标文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足租户的需求。
更进一步地,本申请实施例中,云存储服务装置中用于实现存储功能的应用程序可直接面向租户,为租户提供接口,以使得租户通过这些接口,在云函数服务装置上自定义目标函数的编程。
以上是对第一种业务场景所进行的详细说明,以下将对第二种业务场景进行介绍,在此场景中,当租户需要获取对目标文件写入数据时,可通过客户端使用租户的账户密码登录上述公有云系统中的云管理平台,云管理平台可跳转云函数服务装置或云存储服务装置。如此一来,租户可通过客户端与云存储服务装置实现信息交互,以在云存储服务装置和云函数服务装置的配合下,向目标文件写入租户指定的数据。具体地,租户可通过其使用的客户端,先向云存储服务装置发送针对目标文件的写入请求。接收到写入请求后,云存储服务装置基于写入请求可确定客户端需对目标文件写入数据,故云存储服务装置可将所携带的待写入数据(即租户指定的数据)发送至云函数服务装置。然后,云函数服务装置可运行目标函数(目标函数为租户定义的针对目标文件的数据处理逻辑),以使用数据处理逻辑来处理待写入数据,再将处理后的数据返回至云存储服务装置。最后,云存储服务装置将处理后的数据写入目标文件,以更新目标文件的内容。
进一步地,云函数服务装置和云存储服务装置之间在传输待写入数据时,可通过以下方式实现:云函数服务装置和云存储服务装置之间可建立一条专门用于传输目标文件的目标通道,目标通道可以是基于HTTP的通信通道,也可以是基于TCP的通信通道,也可以是基于WebSocket协议的通信通道,也可以是基于远程过程调用RPC协议的通信通道等等,当然,目标通道还可以是基于一些自定义的传输协议的通信通道,此处不做限制。那么,基于目标通道,云函数服务装置可从云存储服务装置获取待写入数据,并利用目标函数对待写入数据进行处理,然后将处理后的数据直接发送至云存储服务装置,以使得云存储服务装置将处理后的数据写入目标文件。可见,基于目标通道,可缩短数据传输的I/O路径。
为了建立目标通道,可通过修改云函数服务装置中语言运行时层的代码,以在语言运行时层中嵌入一个功能模块,该功能模块可通过两种方式呈现,第一种方式中,云函数服务装置中的该功能模块可作为服务侧(function server),云存储服务装置中用于实现存储功能的应用程序作为客户侧(client),第一种方式的介绍可参考前述图4所示例子的相关说明部分,此处不再赘述。为了进一步理解function server的工作过程,下文结合图8(图8为本申请实施例提供的数据处理方法的另一流程示意图)对该过程作进一步的介绍,如图8所示,该过程包括:
801、云存储服务装置接收来自第一客户端的写入请求,写入请求至少用于指示目标文件。
802、云存储服务装置基于写入请求生成调用请求,调用请求用于指示第一客户端指定的目标函数。
803、云函数服务装置接收来自云存储服务装置的调用请求。
804、云函数服务装置启动目标函数。
805、云函数服务装置向云存储服务装置发送调用应答,调用应答用于指示目标函数已启动、云函数服务装置的第一IP地址和云函数服务装置的第一端口。
806、云存储服务装置基于第一IP地址和第一端口,与云函数服务装置建立目标通道。
关于步骤801至步骤806,可参考图5所示实施例中的步骤501至步骤506,此处不再赘述。需要说明的是,本实施例中的写入请求和图5所示实施例中的下载请求虽然均指示了目标文件(即二者均针对目标文件),但二者的区别在于,本实施例中的写入请求携带了待写入数据,而图5所示实施例中的下载请求不携带数据。
807、云存储服务装置在目标通道上,向云函数服务装置发送写入请求所携带的待写入数据。
808、云函数服务装置基于目标函数,对待写入数据进行处理,得到处理后的数据。
809、云函数服务装置在目标通道上,向云存储服务装置发送处理后的数据。
关于步骤807至步骤809,可参考图5所示实施例中的步骤507至步骤509,此处不再赘述。需要说明的是,步骤807至步骤809的处理对象为数据,而步骤507至步骤509的处理对象为目标文件,即在步骤807至步骤809,云存储服务装置向云函数服务装置发送的是待写入数据,云函数服务装置处理的是待写入数据,云函数服务装置向云存储服务装置发送的是处理后的数据,而在步骤507至步骤509中,云存储服务装置向云函数服务装置发送的是目标文件,云函数服务装置处理的是目标文件,云函数服务装置向云存储服务装置发送的是处理后的目标文件。
810、云存储服务装置将处理后的数据写入目标文件。
得到处理后的数据后,云存储服务装置可将处理后的数据写入目标文件,以更新目标文件的内容。
应理解,步骤810中云存储服务装置执行写入操作,也可以理解为是云存储服务装置执行写入操作。
本申请实施例中,云函数服务装置与云存储服务装置之间可直接传输待写入的数据,即云存储服务装置可直接向云函数服务装置发送待写入的数据,云函数服务装置可直接向云存储服务装置发送处理后的数据,目标文件传输的I/O路径不用经过网关,相较于相关技术而言,可有效地缩短目标文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足租户的需求。
更进一步地,本申请实施例中,云存储服务装置中用于实现存储功能的应用程序可直接面向租户,为租户提供接口,以使得租户通过这些接口,在云函数服务装置上自定义目标函数的编程。
以上是对该功能模块的第一种方式所进行的详细说明,以下将对该功能模块的第二种方式进行介绍。在第二种方式中,云函数服务装置中的该功能模块可作为客户侧(function client),云存储服务装置中用于实现存储功能的应用程序作为服务侧(server)。第一种方式的介绍可参考前述图6所示例子的相关说明部分,此处不再赘述。为了进一步理解function client的工作过程,下文结合图9(图9为本申请实施例提供的数据处理方法的另一流程示意图)对该过程作进一步的介绍,如图9所示,该过程包括:
901、云存储服务装置接收来自第一客户端的写入请求,写入请求至少用于指示目标文件。
902、云存储服务装置基于写入请求生成调用请求,调用请求用于指示第一客户端指定的目标函数,还用于指示云存储服务装置的第二IP地址和云存储服务装置的第二端口。
903、云函数服务装置接收来自云存储服务装置的调用请求。
904、云函数服务装置启动目标函数。
905、云函数服务装置向云存储服务装置发送调用应答,调用应答用于指示目标函数已启动。
906、云函数服务装置基于第二IP地址和第二端口,与云存储服务装置建立目标通道。
关于步骤901至步骤906,可参考图7所示实施例中的步骤701至步骤706,此处不再赘述。需要说明的是,本实施例中的写入请求和图7所示实施例中的下载请求虽然均指示了目标文件(即二者均针对目标文件),但二者的区别在于,本实施例中的写入请求携带了待写入数据,而图7所示实施例中的下载请求不携带数据。
907、云存储服务装置在目标通道上,向云函数服务装置发送写入请求所携带的待写入数据。
908、云函数服务装置基于目标函数,对待写入数据进行处理,得到处理后的数据。
909、云函数服务装置在目标通道上,向云存储服务装置发送处理后的数据。
关于步骤907至步骤909,可参考图7所示实施例中的步骤707至步骤709,此处不再赘述。需要说明的是,步骤907至步骤909的处理对象为数据,而步骤707至步骤709的处理对象为目标文件,即在步骤907至步骤909,云存储服务装置向云函数服务装置发送的是待写入数据,云函数服务装置处理的是待写入数据,云函数服务装置向云存储服务装置发送的是处理后的数据,而在步骤707至步骤709中,云存储服务装置向云函数服务装置发送的是目标文件,云函数服务装置处理的是目标文件,云函数服务装置向云存储服务装置发送的是处理后的目标文件。
910、云存储服务装置将处理后的数据写入目标文件。
关于步骤910的说明,可参考图8所示实施例中步骤810的相关说明部分,此处不再赘述。
本申请实施例中,云函数服务装置与云存储服务装置之间可直接传输待写入的数据,即云存储服务装置可直接向云函数服务装置发送待写入的数据,云函数服务装置可直接向云存储服务装置发送处理后的数据,目标文件传输的I/O路径不用经过网关,相较于相关技术而言,可有效地缩短目标文件传输的I/O路径,降低数据传输的时延,故在对数据传输时延比较敏感的业务场景中,可满足租户的需求。
更进一步地,本申请实施例中,云存储服务装置中用于实现存储功能的应用程序可直接面向租户,为租户提供接口,以使得租户通过这些接口,在云函数服务装置上自定义目标函数的编程。
值得注意的是,本申请实施例的客户端可以在公有云系统外部,例如为租户本地的终端设备,也可以在公有云内部,例如为租户在公有云租用的虚拟机、容器或裸金属服务器。
以上是对本申请实施例提供的公有云系统以及其相关方法所进行的详细说明,以下将对本申请实施例提供的云存储服务装置进行介绍。图10为本申请实施例提供的云存储服务装置的一个结构示意图,如图10所示,该装置包括:
存储模块1001,用于存储目标文件,并提供文件下载接口,文件下载接口用于接收客户端发送的针对目标文件的下载请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;
第一发送模块1002,用于将目标文件和目标函数发送至云函数服务装置;
接收模块1003,用于接收云函数服务装置发送的云函数服务装置运行目标函数以根据数据处理逻辑处理目标文件产生的处理后的文件;
第二发送模块1004,用于将处理后的文件发送至客户端。
在一种可能的实现方式中,存储模块1001,用于接收由第一客户端或第二客户端上传的目标文件并存储。
图11为本申请实施例提供的云存储服务装置的另一结构示意图,如图11所示,该装置包括:
存储模块1101,用于存储目标文件,并提供文件更新接口,文件下载接口用于接收客户端发送的针对目标文件的写入请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;
发送模块1102,用于将写入请求所携带的待写入数据和目标函数发送至云函数服务装置;
接收模块1103,用于接收云函数服务装置发送的云函数服务装置运行目标函数以根据数据处理逻辑处理待写入数据产生的处理后的数据;
写入模块1104,用于将处理后的数据写入目标文件。
在一种可能的实现方式中,存储模块1101,用于接收由第一客户端或第二客户端上传的目标文件并存储。
图12为本申请实施例提供的云存储服务装置的另一结构示意图,如图12所示,该装置包括:
提供模块1201,用于提供文件上传接口,文件上传接口用于接收客户端发送的针对目标文件的上传请求和目标函数,其中,目标函数为租户定义的针对目标文件的数据处理逻辑;
存储模块1202,用于存储目标文件,并发送目标函数至云函数服务装置。
在一种可能的实现方式中,存储模块1202,用于接收由第一客户端或第二客户端上传的目标文件并存储。
需要说明的是,上述装置各模块/单元之间的信息交互、实现过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参考本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。
图13为本申请实施例提供的云存储服务装置的另一结构示意图。如图13所示,公有云系统的一个实施例可以包括一个或一个以上中央处理器1301,存储器1302,输入输出接口1303,有线或无线网络接口1304,电源1305。
存储器1302可以是短暂存储或持久存储。更进一步地,中央处理器1301可以配置为与存储器1302通信,在公有云系统上执行存储器1302中的一系列指令操作。
本实施例中,中央处理器1301可以执行前述图5、图7、图8或图9所示实施例中云存储服务装置所执行的操作,具体此处不再赘述。
本实施例中,中央处理器1301中的具体功能模块划分可以与前述图10、图11或图12中所描述的云存储服务装置的模块划分方式类似,此处不再赘述。
本申请实施例还涉及一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现如图5、图7、图8或图9所示实施例中云管理平台、云存储服务装置所执行的步骤。
本申请实施例还涉及一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图5、图7、图8或图9所示实施例中云管理平台、云存储服务装置所执行的步骤所执行的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (17)

1.一种公有云系统,其特征在于,所述公有云系统包括:
所述云存储服务装置,用于存储目标文件;
所述云函数服务装置,用于获取目标函数,所述目标函数为租户定义的针对所述目标文件的数据处理逻辑;
所述云存储服务装置,还用于在接收到第一客户端针对所述目标文件的下载请求的情况下,将所述目标文件发送至所述云函数服务装置;
所述云函数服务装置,还用于运行所述目标函数以根据所述数据处理逻辑处理所述目标文件,并将处理后的文件返回至所述云存储服务装置;
所述云存储服务装置,还用于将所述处理后的文件发送至所述第一客户端。
2.根据权利要求1所述的公有云系统,其特征在于,所述数据处理逻辑包括:数据加密逻辑、数据解密逻辑、数据压缩逻辑、数据解压逻辑、数据格式转换逻辑、数据内容变换逻辑和数据过滤逻辑中的其中一者或任意组合。
3.根据权利要求1或2所述的公有云系统,其特征在于,所述云存储服务装置,用于接收由所述第一客户端或第二客户端上传的所述目标文件并存储。
4.根据权利要求3所述的公有云系统,其特征在于,所述租户为第一租户或第二租户,所述公有云系统还包括:
所述云管理平台,用于提供注册接口,所述注册接口用于获取所述第一租户输入的账号和密码,所述云管理平台根据所述第一租户的账号和密码对所述第一租户进行注册,以使得所述第一客户端可根据所述第一租户的账号和密码与所述存储服务模块和所述云函数服务装置通信;所述注册接口还用于获取第二租户输入的账号和密码,所述云管理平台根据所述第二租户的账号和密码对所述第二租户进行注册,以使得所述第二客户端可根据所述第二租户的账号和密码与所述存储服务模块和所述云函数服务装置通信。
5.一种公有云系统,其特征在于,所述公有云系统包括:
所述云存储服务装置,用于存储目标文件;
所述云函数服务装置,用于获取目标函数,所述目标函数为租户定义的针对所述目标文件的数据处理逻辑;
所述云存储服务装置,还用于在接收到所述第一客户端针对所述目标文件的写入请求的情况下,将所述写入请求携带的待写入数据发送至所述云函数服务装置;
所述云函数服务装置,还用于运行所述目标函数以根据所述数据处理逻辑处理所述待写入数据,并将处理后的数据返回至所述云存储服务装置;
所述云存储服务装置,还用于将所述处理后的数据写入至所述目标文件。
6.根据权利要求5所述的公有云系统,其特征在于,所述数据处理逻辑包括:数据加密逻辑、数据解密逻辑、数据压缩逻辑、数据解压逻辑、数据格式转换逻辑、数据内容变换逻辑和数据过滤逻辑中的其中一者或任意组合。
7.根据权利要求5或6所述的公有云系统,其特征在于,所述云存储服务装置,用于接收由所述第一客户端或第二客户端上传的所述目标文件并存储。
8.根据权利要求7所述的公有云系统,其特征在于,所述云系统还包括云管理平台,所述公有云系统还包括:
所述云管理平台,用于提供注册接口,所述注册接口用于获取所述第一租户输入的账号和密码,所述云管理平台根据所述第一租户的账号和密码对所述第一租户进行注册,以使得所述第一客户端可根据所述第一租户的账号和密码与所述存储服务模块和所述云函数服务装置通信;所述注册接口还用于获取第二租户输入的账号和密码,所述云管理平台根据所述第二租户的账号和密码对所述第二租户进行注册,以使得所述第二客户端可根据所述第二租户的账号和密码与所述存储服务模块和所述云函数服务装置通信。
9.一种基于公有云技术的文件下载方法,其特征在于,所述方法包括:
云存储服务装置存储目标文件,并提供文件下载接口,所述文件下载接口用于接收客户端发送的针对所述目标文件的下载请求和目标函数,其中,所述目标函数为租户定义的针对所述目标文件的数据处理逻辑;
所述云存储服务装置将所述目标文件和所述目标函数发送至云函数服务装置;
所述云存储服务装置接收所述云函数服务装置发送的所述云函数服务装置运行所述目标函数以根据所述数据处理逻辑处理所述目标文件产生的处理后的文件;
所述云存储服务装置将所述处理后的文件发送至所述客户端。
10.一种基于公有云技术的文件更新方法,其特征在于,所述方法包括:
云存储服务装置存储目标文件,并提供文件更新接口,所述文件下载接口用于接收客户端发送的针对所述目标文件的写入请求和目标函数,其中,所述目标函数为租户定义的针对所述目标文件的数据处理逻辑;
所述云存储服务装置将所述写入请求所携带的待写入数据和所述目标函数发送至云函数服务装置;
所述云存储服务装置接收所述云函数服务装置发送的所述云函数服务装置运行所述目标函数以根据所述数据处理逻辑处理所述待写入数据产生的处理后的数据;
所述云存储服务装置将所述处理后的数据写入所述目标文件。
11.一种基于公有云技术的文件上传方法,其特征在于,所述方法包括:
云存储服务装置提供文件上传接口,所述文件上传接口用于接收客户端发送的针对所述目标文件的上传请求和目标函数,其中,所述目标函数为租户定义的针对所述目标文件的数据处理逻辑;
所述云存储服务装置存储所述目标文件,并发送所述目标函数至云函数服务装置。
12.一种云存储服务装置,其特征在于,所述装置包括:
存储模块,用于存储目标文件,并提供文件下载接口,所述文件下载接口用于接收客户端发送的针对所述目标文件的下载请求和目标函数,其中,所述目标函数为租户定义的针对所述目标文件的数据处理逻辑;
第一发送模块,用于将所述目标文件和所述目标函数发送至云函数服务装置;
接收模块,用于接收所述云函数服务装置发送的所述云函数服务装置运行所述目标函数以根据所述数据处理逻辑处理所述目标文件产生的处理后的文件;
第二发送模块,用于将所述处理后的文件发送至所述客户端。
13.一种云存储服务装置,其特征在于,所述装置包括:
存储模块,用于存储目标文件,并提供文件更新接口,所述文件下载接口用于接收客户端发送的针对所述目标文件的写入请求和目标函数,其中,所述目标函数为租户定义的针对所述目标文件的数据处理逻辑;
发送模块,用于将所述写入请求所携带的待写入数据和所述目标函数发送至云函数服务装置;
接收模块,用于接收所述云函数服务装置发送的所述云函数服务装置运行所述目标函数以根据所述数据处理逻辑处理所述待写入数据产生的处理后的数据;
写入模块,用于将所述处理后的数据写入所述目标文件。
14.一种云存储服务装置,其特征在于,所述装置包括:
提供模块,用于提供文件上传接口,所述文件上传接口用于接收客户端发送的针对所述目标文件的上传请求和目标函数,其中,所述目标函数为租户定义的针对所述目标文件的数据处理逻辑;
存储模块,用于存储所述目标文件,并发送所述目标函数至云函数服务装置。
15.一种云存储服务装置,其特征在于,所述云存储服务装置包括存储器和处理器;
所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述云存储服务装置执行如权利要求9至11任一项所述的方法。
16.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该程序由计算机执行时,使得所述计算机实施权利要求9至11任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时,使得所述计算机实施权利要求9至11任一项所述的方法。
CN202210189538.6A 2021-11-08 2022-02-28 一种公有云系统及其相关方法 Pending CN116095061A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22889465.5A EP4418630A1 (en) 2021-11-08 2022-11-07 Public cloud system and related method thereof
PCT/CN2022/130279 WO2023078444A1 (zh) 2021-11-08 2022-11-07 一种公有云系统及其相关方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2021113129985 2021-11-08
CN202111312998 2021-11-08

Publications (1)

Publication Number Publication Date
CN116095061A true CN116095061A (zh) 2023-05-09

Family

ID=86205116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210189538.6A Pending CN116095061A (zh) 2021-11-08 2022-02-28 一种公有云系统及其相关方法

Country Status (3)

Country Link
EP (1) EP4418630A1 (zh)
CN (1) CN116095061A (zh)
WO (1) WO2023078444A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108197493A (zh) * 2017-12-30 2018-06-22 中建材信息技术股份有限公司 一种公有云系统的升级方法
US10747580B2 (en) * 2018-08-17 2020-08-18 Vmware, Inc. Function as a service (FaaS) execution distributor
US11055256B2 (en) * 2019-04-02 2021-07-06 Intel Corporation Edge component computing system having integrated FaaS call handling capability
CN111897564A (zh) * 2020-08-19 2020-11-06 腾讯科技(深圳)有限公司 一种应用更新方法及系统

Also Published As

Publication number Publication date
WO2023078444A1 (zh) 2023-05-11
EP4418630A1 (en) 2024-08-21

Similar Documents

Publication Publication Date Title
US10142106B2 (en) System and method for securing sensitive data
CN104137520B (zh) 一种消息推送方法及装置
JP4363847B2 (ja) インタラクティブ・テレビ用のデジタル・テレビ・アプリケーション・プロトコル
US20140143672A1 (en) System and method for function expandable collaboration screen system
CN111744174A (zh) 云游戏的账号管理方法、账号登录方法、装置及电子设备
CN106411721B (zh) 一种即时通讯方法、装置及系统
CN112559463B (zh) 压缩文件处理的方法及装置
CN112187921A (zh) 一种对象文件下载方法、装置、系统、服务器和存储介质
CN114465867B (zh) 服务器的维护方法、装置、存储介质及处理器
CN113312083A (zh) 应用生成方法、装置及设备
CN102148839B (zh) 一种管理ftp服务器的方法、装置及系统
CN113242244A (zh) 数据传输方法、装置和系统
CN108279855B (zh) 一种读写存储设备的方法
CN110568996A (zh) 基于设备驱动程序的本地存储容量扩充系统
CN116095061A (zh) 一种公有云系统及其相关方法
CN110300260A (zh) 拍照控制方法、装置、终端、服务器和存储介质
CN112889055A (zh) 数据处理方法、装置、系统、服务器以及电子设备
CN112565458B (zh) 平台远程控制方法和装置、存储介质及电子设备
US20240357003A1 (en) Public Cloud System and Related Method Thereof
CN113760688B (zh) 一种远程调试方法、系统、网页服务器、设备及存储介质
CN113986423A (zh) 一种弹框显示方法、系统及存储介质和终端设备
CN112311864A (zh) 一种数据云存储方法及相关装置
EP3176986A1 (en) Method, device and system for remote desktop protocol gateway to conduct routing and switching
CN112422566A (zh) 远程调用处理方法、装置、存储介质及电子装置
JP2019021310A (ja) 実行可能な圧縮ファイルを保護するためのファイル保護方法およびシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication