CN112565356B - 数据存储方法、装置以及电子设备 - Google Patents

数据存储方法、装置以及电子设备 Download PDF

Info

Publication number
CN112565356B
CN112565356B CN202011329861.6A CN202011329861A CN112565356B CN 112565356 B CN112565356 B CN 112565356B CN 202011329861 A CN202011329861 A CN 202011329861A CN 112565356 B CN112565356 B CN 112565356B
Authority
CN
China
Prior art keywords
storage
data
bucket
account identifier
identifier
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
Application number
CN202011329861.6A
Other languages
English (en)
Other versions
CN112565356A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202011329861.6A priority Critical patent/CN112565356B/zh
Publication of CN112565356A publication Critical patent/CN112565356A/zh
Application granted granted Critical
Publication of CN112565356B publication Critical patent/CN112565356B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开公开了数据存储方法、装置以及电子设备,涉及云存储技术领域。具体实现方案为:接收写入请求,所述写入请求包括写入数据和账户标识;获取所述账户标识对应的剩余存储额度数据量;若所述剩余存储额度数据量大于所述写入数据的数据量,则将所述写入数据存储至所述存储桶。通过对账户标识对应的剩余存储额度数据量,来对用户存储在多个存储桶中的总存储量进行限制,达到用户级别的全局额度限制。

Description

数据存储方法、装置以及电子设备
技术领域
本公开涉及计算机技术中的云存储技术领域。具体地,提供了一种数据存储方法、装置以及电子设备。
背景技术
对象存储系统可以部署在多个地域,便于提供多区域(region)服务供用户就近接入,用户在多个区域独立的获取对象存储服务。
当用户将数据存储在多个区域的多个存储桶(bucket)中时,为了各个存储桶中的数据均衡及存储成本控制,常见方法是对单个存储桶的存储量进行额度限制,当存储桶数量变多时,若针对用户拥有的每个存储桶进行额度限制,可能造成单个存储桶额度已满,从而无法写入。
发明内容
本公开提供了一种数据存储方法、装置以及电子设备。
根据本公开的第一方面,提供了一种数据存储方法,包括:
接收写入请求,所述写入请求包括写入数据和账户标识;
获取所述账户标识对应的剩余存储额度数据量;
响应于所述剩余存储额度数据量大于或等于所述写入数据的数据量,则将所述写入数据存储至所述存储桶。
根据本公开的第二方面,提供了一种数据存储装置,包括:
接收模块,用于接收写入请求,所述写入请求包括写入数据和账户标识;
第一获取模块,用于获取所述账户标识对应的剩余存储额度数据量;
第一存储模块,用于响应于所述剩余存储额度数据量大于或等于所述写入数据的数据量,则将所述写入数据存储至所述存储桶。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面任一项所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面任一项所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面任一项所述的方法。
本公开通过对账户标识对应的剩余存储额度数据量,来对存储在多个存储桶中的总存储量进行限制,达到用户级别的全局额度限制。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的数据存储方法的一流程图;
图1a是本公开实施例提供的数据存储方法的另一流程图;
图2是本公开实施例提供的数据存储方法对应的系统结构图;
图3是本公开实施例提供的数据存储装置的结构图;
图4是用来实现本公开实施例的数据存储方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
参见图1,图1是本公开实施例提供的数据存储方法的流程图,如图1所示,本实施例提供一种数据存储方法,包括以下步骤:
步骤101、接收写入请求,所述写入请求包括写入数据和账户标识。
本公开中的数据存储方法可应用于第一电子设备。用户可将其账户标识对应的数据存储在一个或多个区域(region)中的一个或多个存储桶(bucket)中。在需要向存储桶中写入数据时,可向第一电子设备发送针对存储桶的写入请求,写入请求包括写入数据和账户标识。
步骤102、获取所述账户标识对应的剩余存储额度数据量。
在本实施例中,为用户设置对应的存储额度,根据用户已使用的额度,可获知对应的剩余存储额度(也可称为剩余存储额度数据量)。若账户标识对应的数据存储在多个存储桶中,则会对该用户在这多个存储桶中存储的数据的容量进行整体考虑,即计算用户在这多个存储桶中存储的数据的总容量,根据该总容量来确定账户标识对应的剩余存储额度数据量。
步骤103、响应于所述剩余存储额度数据量大于或等于所述写入数据的数据量,则将所述写入数据存储至所述存储桶。
若剩余存储额度数据量大于写入数据的数据量,则将写入数据写入至所述存储桶中。进一步的,写入数据也可能是用于对存储桶中的已有数据进行修改,此时,写入数据写入存储桶中时,是将已有数据覆盖,并不会占用存储桶新的存储空间,此种情况下,即使剩余存储额度数据量小于写入数据的数据量,也仍旧可以将写入数据存储至存储桶中。
也就是说,写入请求还可包括写入标记,写入标记包括修改和新增。在将剩余存储额度数据量与写入数据的数据量进行比较时,在基于写入数据的写入标记为新增的前提下,若剩余存储额度数据量大于写入数据的数据量,则将写入数据写入至所述存储桶中。若写入数据的写入标记为修改,则不用将剩余存储额度数据量与写入数据的数据量进行比较,可直接将写入数据写入至所述存储桶中。
本实施例中,接收写入请求,所述写入请求包括写入数据和账户标识;获取所述账户标识对应的剩余存储额度数据量;若所述剩余存储额度数据量大于所述写入数据的数据量,则将所述写入数据存储至所述存储桶。通过对账户标识对应的剩余存储额度数据量,来对用户存储在多个存储桶中的总存储量进行限制,达到用户级别的全局额度限制,当账户标识对应的剩余存储额度数据量超过限制后,才会限制写入,可避免因单个存储桶被限额而无法写入的问题。
在本公开一个实施例中,如图1a所示,在步骤103之后,还包括:
步骤104、通过第一模块向消息中间件发送容量变更信息,所述容量变更信息包括所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量。
第一电子设备可包括存储模块、收发模块、额度获取模块和容量计费模块。第一电子设备通过存储模块将写入数据存储至存储桶之后,再通过收发模块(即第一模块)向消息中间件发送容量变更信息。消息中间件可理解为第二电子设备,或者,消息中间件设置在第二电子设备上。容量变更信息包括所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量。消息中间件包括消息队列,每个区域对应一个消息队列,一个区域中的所有存储桶共用一个消息队列。第一电子设备在向存储桶中存储数据后,向该存储桶所对应的消息队列发送容量变更信息,以异步方式告知其他模块用户的存储量变化。
第一电子设备的收发模块将容量变更信息发送给消息中间件,然后第一电子设备的容量计费模块(即第二模块)从消息中间件获取容量变更信息,通过在消息中间件上暂存容量变更信息,可实现收发模块与容量计费模块的异步处理,即实现容量变更信息的发送与接收的异步处理,使得第一电子设备在发送容量变更信息之后,即可向用户返回写入请求的响应信息,提高响应效率。
在本公开一个实施例中,如图1a所示,在所述104之后,还包括:
步骤105、响应于通过第二模块从所述消息中间件获取到所述容量变更信息,则对所述容量变更信息进行解析,获得所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量;
步骤106、根据所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量,更新所述存储桶中所述账户标识对应的存储量;
步骤107、将所述存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照信息的方式存储至云存储空间。
本实施例中,由第一电子设备的容量计费模块(即第二模块)从消息中间件获取容量变更信息,并对容量变更信息进行解析,获得所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量,并对所述存储桶中所述账户标识对应的存储量进行更新,例如,容量计费模块中保存有存储桶中账户标识对应的最新的存储量,容量计费模块在对容量变更信息进行解析后,根据解析获得的写入数据的数据量对最新的存储量进行更新,获得存储桶中账户标识对应的存储量,然后将所述存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照信息的方式存储至云存储空间,使得后续在获取桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量时,可提高获取效率。
在本公开一个实施例中,如图1a所示,在步骤107之后,还包括:
步骤108、从所述云存储空间中获取所述账户标识对应的最新的快照信息;
步骤109、根据所述最新的快照信息,更新所述账户标识对应的剩余存储额度数据量。
具体的,额度获取模块从云存储空间中获取账户标识对应的最新的快照信息,并根据最新的快照信息,更新账户标识对应的剩余存储额度数据量。由于存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照的方式存储,可提高获取桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量的获取效率。
用户向存储桶中存储数据后,将快照信息发送至云存储空间,根据最新的快照信息,将用户在多个存储桶中的存储量进行汇总,可获知该账户标识对应的已使用存储额度,按照为该用户分配的存储额度,可获得该账户标识对应的剩余存储额度数据量。进一步的,将剩余存储额度数据量存储在缓存中,第一电子设备可从缓存中获取剩余存储额度数据量,提高数据获取效率。
上述中,步骤108,包括:
从所述云存储空间中获取第一快照信息,所述第一快照信息包括所述账户标识和所述存储桶的桶标识,第一快照信息还包括所述存储桶中所述账户标识对应的存储量;
若所述第一快照信息中有多个包括相同的账户标识和相同的桶标识的第二快照信息,则获取所述第二快照信息中存储时间最晚的快照信息,其中,所述账户标识对应的最新的快照信息包括所述第二快照信息中存储时间最晚的快照信息。
针对每一次成功的数据写入,容量计费模块将快照信息存储至云存储空间,对于同一个账户标识和同一个桶标识,可能对应有多个快照信息。例如,账户标识A标识的用户向桶标识a标识的存储桶中写入3次数据,每次数据写入,在云存储空间中存储一个快照信息,则云存储空间中会有三个包括账户标识A和桶标识a的快照信息。
若所述第一快照信息中有多个包括相同的账户标识和相同的桶标识的第二快照信息,则获取所述第二快照信息中存储时间最晚的快照信息,其中,所述账户标识对应的最新的快照信息包括所述第二快照信息中存储时间最晚的快照信息。
若第一快照信息中仅有一个包括相同的账户标识和相同的桶标识的第三快照信息,则账户标识对应的最新的快照信息还包括第三快照信息。
上述中,用户向存储桶中存储数据后,将快照信息发送至云存储空间,云存储空间可获得用户在多个区域多个存储桶中的存储量,将用户在多个存储桶中的存储量进行汇总,可获知该账户标识对应的总存储量,然后按照为该用户分配的存储量,可获得该账户标识对应的剩余存储额度数据量,提高了剩余存储额度数据量的确定效率。
以下对上述数据存储方法进行举例说明。本实施例提供的数据存储方法涉及的模块如图2所示:
第一电子设备的收发模块接收用户发起的针对存储桶内对象的写入请求,写入请求包括写入数据和账户标识;
第一电子设备的存储模块对请求中的写入数据进行分片写入。一个分片可为1MB。当一个分片写完时,额度获取模块读取缓存中存储的该账户标识对应的剩余存储额度数据量,检查该用户的当前存储量是否超出额度,若超出额度,则拒绝继续写入,并删除已经写入的分片数据。另外,也可以是在写入之前,额度获取模块读取缓存中存储的该账户标识对应的剩余存储额度数据量,若剩余存储额度数据量大于或等于写入数据的数据量,则将写入数据存储至存储桶中;
第一电子设备完成用户请求,即完成数据写入后,向存储桶对应的消息队列发布一条信息,该信息为容量变更的信息;
第一电子设备向用户返回请求成功的信息;
第一电子设备的容量计费模块(capacity-service)从消息队列中订阅消息,并解析出消息内容,更新此存储桶中该用户使用的存储量。
容量计费模块将存储桶中该用户使用的存储量以快照方式存储到云存储空间(例如Bos);
额度获取模块可定期从云存储空间中获取快照进行数据聚合,得到多个区域下该用户所使用的存储桶的总存储量,并根据为用户分配的存储额度,计算剩余存储额度数据量,然后将剩余存储额度数据量存储至缓存中。
上述中,使用消息中间件暂存容量变更信息,可实现收发模块与容量计费模块的异步处理。第一电子设备接收用户的写入请求后,仅需要向消息队列发布消息就可向发送写入请求的响应信息,例如请求成功的信息,后续进一步的,对存储桶中账户标识对应的存储量进行更新,该更新过程不阻塞用户继续发送写入请求。
使用快照减少容量计费模块的压力。容量计费模块可从消息队列中获取容量变更信息,对用户在存储桶的存储量进行更新,当用户发起写入请求时,若容量计费模块,实时查询用户在存储桶的存储量,查询开支会很大,通过本发明提供的通过快照方式存储用户在存储桶的存储量,并存储在云存储空间上,可以减少容量计费模块的压力。
用户使用的存储桶,可分布在多个区域中,通过快照的方式来获取区域中用户在存储桶的存储量。若针对每一次的写入请求,额度获取模块要读取多个区域的快照信息,对第一电子设备的输出以及网络会造成较大压力。而将用户的剩余存储额度数据量存储在缓存中,并定期更新缓存中的数据,可以降低对额度获取模块(Controller模块)的压力。
参见图3,图3是本公开实施例提供的数据存储装置的结构图,如图3所示,本实施例提供一种数据存储装置300,包括:
接收模块301,用于接收写入请求,所述写入请求包括写入数据和账户标识;
第一获取模块302,用于获取所述账户标识对应的剩余存储额度数据量;
第一存储模块303,用于响应于所述剩余存储额度数据量大于或等于所述写入数据的数据量,则将所述写入数据存储至所述存储桶。
在本公开一个实施例中,数据存储装置300还包括:
发送模块,用于通过第一模块向消息中间件发送容量变更信息,所述容量变更信息包括所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量。
在本公开一个实施例中,数据存储装置300还包括:
第二获取模块,用于响应于通过第二模块从所述消息中间件获取到所述容量变更信息,则对所述容量变更信息进行解析,获得所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量;
第一更新模块,用于根据所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量,更新所述存储桶中所述账户标识对应的存储量;
第二存储模块,用于将所述存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照信息的方式存储至云存储空间。
在本公开一个实施例中,数据存储装置300还包括:
第三获取模块,用于从所述云存储空间中获取所述账户标识对应的最新的快照信息;
第二更新模块,用于根据所述最新的快照信息,更新所述账户标识对应的剩余存储额度数据量。
在本公开一个实施例中,所述第三获取模块,包括:
第一获取子模块,用于从所述云存储空间中获取第一快照信息,所述第一快照信息包括所述账户标识和所述存储桶的桶标识;
第二获取子模块,用于若所述第一快照信息中有多个包括相同的账户标识和相同的桶标识的第二快照信息,则获取所述第二快照信息中存储时间最晚的快照信息,其中,所述账户标识对应的最新的快照信息包括所述第二快照信息中存储时间最晚的快照信息。
本公开实施例的数据存储装置300,接收写入请求,所述写入请求包括写入数据和账户标识;获取所述账户标识对应的剩余存储额度数据量;若所述剩余存储额度数据量大于所述写入数据的数据量,则将所述写入数据存储至所述存储桶。通过对账户标识对应的剩余存储额度数据量,来对用户存储在多个存储桶中的总存储量进行限制,达到用户级别的全局额度限制,当账户标识对应的剩余存储额度数据量超过限制后,才会限制写入,可避免因单个存储桶被限额而无法写入的问题。
根据本公开的实施例,本公开还提供了一种电子设备、一种计算机程序产品和一种可读存储介质。
如图4所示,是根据本公开实施例的数据存储的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,该电子设备包括:一个或多个处理器501、存储器502,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器501为例。
存储器502即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的数据存储的方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的数据存储的方法。
存储器502作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的数据存储的方法对应的程序指令/模块(例如,附图3所示的接收模块301、第一获取模块302、第一存储模块303)。处理器501通过运行存储在存储器502中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的数据存储的方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据存储的电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至数据存储的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
数据存储的方法的电子设备还可以包括:输入装置503和输出装置504。处理器501、存储器502、输入装置503和输出装置504可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置503可接收输入的数字或字符信息,以及产生与数据存储的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置504可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本公开中,第一电子设备接收写入请求,所述写入请求包括写入数据和账户标识;获取所述账户标识对应的剩余存储额度数据量;响应于所述剩余存储额度数据量大于所述写入数据的数据量,则将所述写入数据存储至所述存储桶。通过对账户标识对应的剩余存储额度数据量,来对用户存储在多个存储桶中的总存储量进行限制,达到用户级别的全局额度限制,当账户标识对应的剩余存储额度数据量超过限制后,才会限制写入,可避免因单个存储桶被限额而无法写入的问题。
第一电子设备在向存储桶中存储数据后,向该存储桶所对应的消息队列发送容量变更信息,以异步方式告知其他模块用户的存储量变化,使得第一电子设备在发送容量变更信息之后,即可向用户返回写入请求的响应信息,提高响应效率。
将所述存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照信息的方式存储至云存储空间,使得后续在获取桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量时,可提高获取效率。
从所述云存储空间中获取所述账户标识对应的最新的快照信息;根据所述最新的快照信息,更新所述账户标识对应的剩余存储额度数据量,由于所述存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照信息的方式存储,可提高获取桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量的获取效率,从而提高账户标识对应的剩余存储额度数据量的更新效率。
用户向存储桶中存储数据后,将快照信息发送至云存储空间,云存储空间可获得用户在多个区域多个存储桶中的存储量,将用户在多个存储桶中的存储量进行汇总,可获知该账户标识对应的总存储量,然后按照为该用户分配的存储量,可获得该账户标识对应的剩余存储额度数据量,提高了剩余存储额度数据量的确定效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (8)

1.一种数据存储方法,包括:
接收写入请求,所述写入请求包括写入数据和账户标识;
获取所述账户标识对应的剩余存储额度数据量;
响应于所述剩余存储额度数据量大于或等于所述写入数据的数据量,则将所述写入数据存储至存储桶;
在所述响应于所述剩余存储额度数据量大于或等于所述写入数据的数据量,则将所述写入数据存储至存储桶之后,还包括:
通过第一模块向消息中间件发送容量变更信息,所述容量变更信息包括所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量;
响应于通过第二模块从所述消息中间件获取到所述容量变更信息,则对所述容量变更信息进行解析,获得所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量;
根据所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量,更新所述存储桶中所述账户标识对应的存储量;
将所述存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照信息的方式存储至云存储空间。
2.根据权利要求1所述的方法,其中,在将所述存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照信息的方式存储至云存储空间之后,还包括:
从所述云存储空间中获取所述账户标识对应的最新的快照信息;
根据所述最新的快照信息,更新所述账户标识对应的剩余存储额度数据量。
3.根据权利要求2所述的方法,其中,所述从所述云存储空间中获取所述账户标识对应的最新的快照信息,包括:
从所述云存储空间中获取第一快照信息,所述第一快照信息包括所述账户标识和所述存储桶的桶标识;
若所述第一快照信息中有多个包括相同的账户标识和相同的桶标识的第二快照信息,则获取所述第二快照信息中存储时间最晚的快照信息,其中,所述账户标识对应的最新的快照信息包括所述第二快照信息中存储时间最晚的快照信息。
4.一种数据存储装置,包括:
接收模块,用于接收写入请求,所述写入请求包括写入数据和账户标识;
第一获取模块,用于获取所述账户标识对应的剩余存储额度数据量;
第一存储模块,用于响应于所述剩余存储额度数据量大于或等于所述写入数据的数据量,则将所述写入数据存储至存储桶;
发送模块,用于通过第一模块向消息中间件发送容量变更信息,所述容量变更信息包括所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量;
第二获取模块,用于响应于通过第二模块从所述消息中间件获取到所述容量变更信息,则对所述容量变更信息进行解析,获得所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量;
第一更新模块,用于根据所述存储桶的桶标识、所述账户标识、以及所述写入数据的数据量,更新所述存储桶中所述账户标识对应的存储量;
第二存储模块,用于将所述存储桶的桶标识、所述账户标识、以及所述存储桶中所述账户标识对应的存储量以快照信息的方式存储至云存储空间。
5.根据权利要求4所述的装置,其中,还包括:
第三获取模块,用于从所述云存储空间中获取所述账户标识对应的最新的快照信息;
第二更新模块,用于根据所述最新的快照信息,更新所述账户标识对应的剩余存储额度数据量。
6.根据权利要求5所述的装置,其中,所述第三获取模块,包括:
第一获取子模块,用于从所述云存储空间中获取第一快照信息,所述第一快照信息包括所述账户标识和所述存储桶的桶标识;
第二获取子模块,用于若所述第一快照信息中有多个包括相同的账户标识和相同的桶标识的第二快照信息,则获取所述第二快照信息中存储时间最晚的快照信息,其中,所述账户标识对应的最新的快照信息包括所述第二快照信息中存储时间最晚的快照信息。
7.一种电子设备,其中,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的方法。
8.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-3中任一项所述的方法。
CN202011329861.6A 2020-11-24 2020-11-24 数据存储方法、装置以及电子设备 Active CN112565356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011329861.6A CN112565356B (zh) 2020-11-24 2020-11-24 数据存储方法、装置以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011329861.6A CN112565356B (zh) 2020-11-24 2020-11-24 数据存储方法、装置以及电子设备

Publications (2)

Publication Number Publication Date
CN112565356A CN112565356A (zh) 2021-03-26
CN112565356B true CN112565356B (zh) 2023-04-21

Family

ID=75043252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011329861.6A Active CN112565356B (zh) 2020-11-24 2020-11-24 数据存储方法、装置以及电子设备

Country Status (1)

Country Link
CN (1) CN112565356B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867643A (zh) * 2021-09-29 2021-12-31 北京金山云网络技术有限公司 数据存储方法、装置、设备及存储介质
CN114143277B (zh) * 2021-10-20 2023-11-24 北京达佳互联信息技术有限公司 数据请求处理方法、装置、电子设备及存储介质
CN117407361B (zh) * 2023-12-13 2024-03-22 镕铭微电子(济南)有限公司 数据管理方法、装置、系统、服务器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304424A (zh) * 2008-06-10 2008-11-12 南京财经大学 基于xml的异源数据交换中间件的数据展示方法
CN108989429A (zh) * 2018-07-19 2018-12-11 平安科技(深圳)有限公司 实时更新页面数据的方法、装置、电子设备
CN111813602A (zh) * 2020-07-10 2020-10-23 厦门靠谱云股份有限公司 一种基于消息中间件的数据库异地备份与恢复方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968260A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 配额调整处理方法、装置及计算机设备
CN109634759A (zh) * 2018-12-12 2019-04-16 浪潮(北京)电子信息产业有限公司 一种分布式存储系统的配额管理方法、系统及相关组件
CN109901798B (zh) * 2019-02-27 2022-12-09 新华三技术有限公司成都分公司 数据存储方法及装置
CN110795041A (zh) * 2019-10-28 2020-02-14 柏科数据技术(深圳)股份有限公司 分布式文件系统的配额方法、装置、服务器和存储介质
CN111506269B (zh) * 2020-04-22 2021-09-07 腾讯科技(深圳)有限公司 一种磁盘存储空间分配方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101304424A (zh) * 2008-06-10 2008-11-12 南京财经大学 基于xml的异源数据交换中间件的数据展示方法
CN108989429A (zh) * 2018-07-19 2018-12-11 平安科技(深圳)有限公司 实时更新页面数据的方法、装置、电子设备
CN111813602A (zh) * 2020-07-10 2020-10-23 厦门靠谱云股份有限公司 一种基于消息中间件的数据库异地备份与恢复方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Ceph-对象存储用户配额管理";fighting--sky;《https://blog.csdn.net/u012720518/article/details/107157627/》;20200706;全文 *

Also Published As

Publication number Publication date
CN112565356A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN112565356B (zh) 数据存储方法、装置以及电子设备
CN111258609B (zh) Kubernetes集群的升级方法、装置、电子设备和介质
CN111694646B (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN110704162B (zh) 物理机共享容器镜像的方法、装置、设备及存储介质
CN111970132B (zh) Ota数据包下发流量的控制方法、装置及服务器
US20210311770A1 (en) Method for implementing smart contract based on blockchain
CN112015468B (zh) 一种接口文档处理方法、装置、电子设备以及存储介质
CN113961311A (zh) 业务数据处理方法、装置、电子设备和介质
CN111752960B (zh) 数据处理方法和装置
CN113641677A (zh) 数据处理方法、装置、电子设备和存储介质
CN110765075A (zh) 自动驾驶数据的存储方法和设备
CN111625195A (zh) 用于服务器扩容的方法及装置
CN114443076A (zh) 镜像构建方法、装置、设备及存储介质
CN111770211B (zh) 一种snat方法、装置、电子设备及存储介质
CN111985760B (zh) 数据内容的评价方法、装置、电子设备及存储介质
CN111176838B (zh) 为二分图中的节点分配嵌入向量的方法以及装置
CN112559867A (zh) 业务内容输出方法、装置、设备、存储介质和程序产品
CN111858030A (zh) 作业的资源处理方法、装置、电子设备及可读存储介质
CN115576565A (zh) 应用程序的部署方法、装置、电子设备及存储介质
CN112306413B (zh) 用于访问内存的方法、装置、设备以及存储介质
CN111581049B (zh) 分布式系统运行状态监测方法、装置、设备及存储介质
CN112068914B (zh) 物料内容处理方法、装置、电子设备和存储介质
CN113010811B (zh) 网页获取方法、装置、电子设备及计算机可读存储介质
CN113747423A (zh) 云手机状态同步方法、装置、设备、存储介质及程序产品
CN111292223A (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
GR01 Patent grant
GR01 Patent grant