CN113329078B - 数据存储的方法和装置 - Google Patents

数据存储的方法和装置 Download PDF

Info

Publication number
CN113329078B
CN113329078B CN202110586766.2A CN202110586766A CN113329078B CN 113329078 B CN113329078 B CN 113329078B CN 202110586766 A CN202110586766 A CN 202110586766A CN 113329078 B CN113329078 B CN 113329078B
Authority
CN
China
Prior art keywords
data
information
attribute
request
queue
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
CN202110586766.2A
Other languages
English (en)
Other versions
CN113329078A (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 Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110586766.2A priority Critical patent/CN113329078B/zh
Publication of CN113329078A publication Critical patent/CN113329078A/zh
Application granted granted Critical
Publication of CN113329078B publication Critical patent/CN113329078B/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/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供一种数据存储方法和装置。所述数据存储方法包括:接收待***的数据请求信息,其中,所述数据请求信息包括待***的数据请求信息的数据标识信息,所述数据标识信息作为待***的数据请求信息对应的第一属性;根据待***的数据请求信息,确定第二属性,其中,第二属性包括待***的数据请求信息的至少两种数据属性信息,所述至少两种数据属性信息用于确定数据存储顺序;根据第一属性和第二属性,将待***的数据请求信息***到队列中的对应位置。

Description

数据存储的方法和装置
技术领域
本公开涉及互联网技术领域,尤其涉及一种用于数据存储的方法和装置。
背景技术
随着互联网和计算机技术的高速发展,在很多常见的应用场景(例如,视频领域里的视频特效/转码处理、支付金融领域里的交易对账服务)中,数据的存储和读取都是比较耗时的操作,无法在瞬间返回数据处理结果,需要一定的时间进行处理,因此,服务端需要对数据请求(例如,来自用户的客户端的数据请求)按照一定的顺序进行排队处理,需要设计一个较为公平的排队算法、以及入队/出队操作性能良好的队列实现。同时为了实现***的健壮性和更为可靠的公平性,这个队列还需要支持元素的重新排队,即,出队后重新入队时能放到正确的位置,而不是队尾。
在相关技术中,采用的用于存储数据的队列一般是利用先进先出原则的普通队列,例如,使用开源组件Kafka、RabbitMQ、RocketMQ等提供的基础的消息队列服务、或者内存数据库Redis的list数据结构、或者自定义的queue,这些队列存在以下缺点:每次入队的元素都只能排到队尾,无法***到队列中的正确位置,这会导致优先级较高的元素得不到及时的出队消费;或者能正确***到队列中的正确位置,但是入队/出队性能较差,例如,开源组件Redisson中的优先队列RPriorityQueue,它的每次操作需要对整个队列加锁,在高并发的环境下会因为出现大量锁等待导致性能下降,无法满足对性能要求较高的应用场景。
因此,现有的方案都无法克服上述缺点。
发明内容
本公开提供一种用于数据存储的方法和装置,以至少解决上述相关技术中针对队列的入队/出队性能差、重新入队时无法***到正确位置的问题,也可不解决任何上述问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种数据存储方法,所述数据存储方法包括:接收待***的数据请求信息,其中,所述数据请求信息包括待***的数据请求信息的数据标识信息,所述数据标识信息作为待***的数据请求信息对应的第一属性;根据待***的数据请求信息,确定第二属性,其中,第二属性包括待***的数据请求信息的至少两种数据属性信息,所述至少两种数据属性信息用于确定数据存储顺序;根据第一属性和第二属性,将待***的数据请求信息***到队列中的对应位置。
可选地,所述至少两种数据属性信息对应的值的数位之和可小于或者等于第二属性的值的最大精度数位。
可选地,将待***的数据请求信息***到队列中的对应位置的步骤可包括:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,其中,按照从队列头至队列尾的顺序,待***的数据请求信息的第二属性的值大于前一个已存储数据请求信息的第二属性的值,并且小于后一个已存储数据请求信息的第二属性的值。
可选地,当待***的数据请求信息对应的第二属性的值与队列中的至少另一数据请求信息对应的第二属性的值相同时,可按照第一属性的值从小到大的顺序将待***的数据请求信息***到队列中的对应位置。
可选地,队列可以是zset数据结构,第一属性对应于zset数据结构中的member,第二属性对应于zset数据结构中的score。
可选地,所述至少两种数据属性信息可按照优先级依次存储为第二属性的值的位数。
可选地,所述至少两种数据属性信息可以是三种数据属性信息,分别是请求优先级信息、数据状态信息和请求时间信息。
可选地,请求优先级信息可比数据状态信息优先级高,并且数据状态信息可比请求时间信息优先级高。
可选地,数据请求信息可以是用户对视频的请求信息,所述至少两种数据属性信息可以是三种数据属性信息,分别是用户属性优先级信息、视频状态信息和请求时间信息。
可选地,确定第二属性的步骤可包括:将请求优先级信息、数据状态信息和请求时间信息三者对应的值确定为第二属性的值,其中,请求优先级信息、数据状态信息和请求时间信息三者对应的值按照它们的位数从前到后依次存储为第二属性的值的位数,其中,请求优先级信息比数据状态信息优先级高,并且数据状态信息比请求时间信息优先级高。
可选地,将待***的数据请求信息***到队列中的对应位置的步骤可包括:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,其中,依次按照请求优先级信息、数据状态信息和请求时间信息三者对应的值的顺序执行所述比较的步骤。
可选地,所述数据存储方法可应用于服务器,服务器与客户端通信连接,接收数据请求信息的步骤可包括:从客户端接收数据请求信息。
可选地,所述数据存储方法还可包括:从客户端接收数据读取请求信息;向服务器发送队列中的队列头存储的数据,以实现对队列头存储的数据进行消费。
根据本公开实施例的第二方面,提供一种数据存储装置,所述数据存储装置包括:接收模块,被配置为:接收待***的数据请求信息,其中,所述数据请求信息包括待***的数据请求信息的数据标识信息,所述数据标识信息作为待***的数据请求信息对应的第一属性;确定模块,被配置为:根据数据请求信息,确定第二属性,其中,第二属性包括待***的数据请求信息的至少两种数据属性信息,所述至少两种数据属性信息用于确定数据存储顺序;存储模块,被配置为:根据第一属性和第二属性,将待***的数据请求信息***到队列中的对应位置。
可选地,所述至少两种数据属性信息对应的值的数位之和可小于或者等于第二属性的值的最大精度数位。
可选地,存储模块将待***的数据请求信息***到队列中的对应位置的操作可包括:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,其中,按照从队列头至队列尾的顺序,待***的数据请求信息的第二属性的值大于前一个已存储数据请求信息的第二属性的值,并且小于后一个已存储数据请求信息的第二属性的值。
可选地,当待***的数据请求信息对应的第二属性的值与队列中的至少另一数据请求信息对应的第二属性的值相同时,可按照第一属性的值从小到大的顺序将待***的数据请求信息***到队列中的对应位置。
可选地,队列可以是zset数据结构,第一属性对应于zset数据结构中的member,第二属性对应于zset数据结构中的score。
可选地,所述至少两种数据属性信息可按照优先级依次存储为第二属性的值的位数。
可选地,所述至少两种数据属性信息可以是三种数据属性信息,分别是请求优先级信息、数据状态信息和请求时间信息。
可选地,请求优先级信息可比数据状态信息优先级高,并且数据状态信息可比请求时间信息优先级高。
可选地,数据请求信息可以是用户对视频的请求信息,所述至少两种数据属性信息可以是三种数据属性信息,分别是用户属性优先级信息、视频状态信息和请求时间信息。
可选地,确定模块确定第二属性的操作可包括:将请求优先级信息、数据状态信息和请求时间信息三者对应的值确定为第二属性的值,其中,请求优先级信息、数据状态信息和请求时间信息三者对应的值按照它们的位数从前到后依次存储为第二属性的值的位数,其中,请求优先级信息比数据状态信息优先级高,并且数据状态信息比请求时间信息优先级高。
可选地,存储模块将待***的数据请求信息***到队列中的对应位置的操作可包括:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,其中,依次按照请求优先级信息、数据状态信息和请求时间信息三者对应的值的顺序执行所述比较的操作。
可选地,所述存储装置可安装于服务器,服务器与客户端通信连接,接收模块接收待***的数据请求信息的操作可包括:从客户端接收数据请求信息。
可选地,接收模块还可被配置为:从客户端接收数据读取请求信息;所述存储装置还包括发送模块,发送模块被配置为:向服务器发送队列中的队列头存储的数据,以实现对队列头存储的数据进行消费。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上所述的方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中的指令被电子设备中的至少一个处理器运行以执行如上所述的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:通过利用数据属性信息和数据标识信息来将数据请求信息***到队列中,能够高效地实现数据的存储和读取,能够将读取失败的数据重新***到队列中的正确位置进行存储,并且能够利用多种类型的数据属性对数据的存储顺序进行排序,从而提升了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是本公开的示例性实施例的可以应用于其中的示例性***架构的示意图;
图2是示出根据本公开的示例性实施例的数据存储方法的流程图;
图3是示出根据本公开的示例性实施例的数据存储方法的示例的示意图;
图4是示出根据本公开的示例性实施例的数据存储装置的框图;
图5是示出根据本公开的示例性实施例的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
本公开实施例提供一种数据存储方法和装置,数据存储方法可应用于如图1所示的应用环境。
如本公开的背景技术中提及的,在相关技术中,在很多应场景中,服务端需要对数据请求(例如,来自用户的客户端的数据请求)按照一定的顺序进行排队处理,需要设计一个较为公平的排队算法、以及入队/出队操作性能良好的队列实现。同时为了实现***的健壮性和更为可靠的公平性,这个队列还需要支持元素的重新排队,即,出队后重新入队时能放到正确的位置,而不是队尾。
上述的公平主要体现为先来先被服务,即,在一定的时间范围内(例如,一秒内或十秒内)最先发起的请求(例如,用户对视频的请求)应该被最先处理,时间是第一要素。然而,除了时间之外还有其它影响因素,例如,用户视频的处理进度,在这种情况下,预估耗时较少或者已经进行了前置处理的视频应该被更优先处理,因为这样可以使后续视频的等待时间总和变少,整体处理效率更高;同时,对于支持增值服务的***,应该提升预定类别用户(例如,会员用户、付费用户等)的优先级,将预定类别用户的请求放在更前面的位置进行处理。因此,排队的算法受到多个因素(也可称为多个维度)的影响,需要一并考虑。
基于此,根据本公开的示例性实施例,本公开提供一种基于队列的数据存储方法和装置。由于服务端在实际应用场景中采用分布式的部署方式(例如,多地多机房多实例部署),因此本公开的数据请求队列满足分布式的特性,也就是说,本公开提供的队列是提供服务无关的、状态与数据一致的、符合幂等性的分布式队列。通过利用本公开的分布式队列,能够高效地实现数据的存储和读取,能够将读取失败的数据重新***到队列中的正确位置,并且能够利用多种类型的数据属性对数据的存储顺序进行排序。此外,可选地,在视频请求信息的处理方面,通过利用本公开的分布式队列,能够高效且有序地实现对视频请求信息的处理,使得客户端能够在短时间内获得处理后的结果信息。
以下,将参照图1至图5具体描述根据本公开的示例性实施例的数据存储方法和装置。
图1是本公开的示例性实施例的可以应用于其中的示例性***架构100的示意图。
本公开的示例性实施例的应用环境(例如,图1中的***架构100)可包括一个或多个客户端和服务器,客户端与服务器以某种通信方式进行通信连接,以实现与服务器之间的数据交互。
客户端可安装于终端设备(例如,图1中的终端设备101、102、103)。作为示例,如图1所示,***架构100可包括终端设备101、102、103、网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息(例如视频数据上传请求、视频数据获取请求)等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如视频渲染类应用、视频录制类应用、视频压缩类应用、视频和音频编辑类应用、即时通信工具、邮箱客户端、社交平台软件等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且能够进行视频的渲染和编辑的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、可穿戴设备以及任何其他可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
终端设备101、102、103可以安装有图像采集装置(例如,摄像头)以采集视频数据,此外,终端设备101、102、103也可以安装有用于将电信号转换为声音的组件(例如,扬声器)以播放声音,并且还可以安装有用于将模拟音频信号转换为数字音频信号的装置(例如,麦克风)以采集声音。
终端设备101、102、103可以利用安装于其上的图像采集装置进行视频数据的采集,利用安装于其上的音频采集装置进行音频数据的采集,并且终端设备101、102、103可以对采集的视频数据和音频数据进行编码、存储和传输,并且可对从另一个终端设备或者从服务器105接收到的经编码的视频和音频进行解码和播放。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上所安装的视频渲染类应用、视频录制类应用、视频压缩类应用、视频编辑类应用等提供支持的后台服务器,也可以是存储终端设备101、102、103上传的经编码的视频和音频,并且可响应于终端设备101、102、103的请求而将存储的经编码的视频和音频发送给终端设备101、102、103的存储服务器。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如,用来提供分布式服务),也可以实现成单个软件或软件模块。另外,服务器也可以是一个云计算服务中心。在此不做具体限定。
需要说明的是,本申请实施例所提供的数据存储方法一般由服务器105执行,相应地,数据存储装置一般设置于服务器105中。另外,可选地,本申请实施例所提供的数据存储方法也可由终端设备101、102、103执行,相应地,数据存储装置也可设置于终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本公开对此并无限制。
图2是示出根据本公开的示例性实施例的数据存储方法200的流程图。
根据本公开的示例性实施例的数据存储方法200可应用于服务器,也可应用于客户端。可选地,当数据存储方法200可应用于服务器时,对存储的数据进行读取的操作可在客户端执行。
如图2所示,根据本公开的示例性实施例,在步骤S201,接收待***的数据请求信息,其中,数据请求信息包括作为第一属性的待***的数据请求信息的数据标识信息。
可选地,数据标识信息所对应的值可为十进制数值。应该理解,数据标识信息所对应的值也可根据实际使用需求而为其他形式的数值,例如八进制和十六进制的值等。
可选地,数据请求信息可以是用户对视频的请求信息,该请求信息对应的数据标识信息可以是视频id(视频的识别码),其中,视频id可以表示为十进制数值。
可选地,当数据存储方法200应用于服务器且服务器与客户端通信连接时,接收数据请求信息的步骤可包括:服务器从客户端接收数据请求信息。
根据本公开的示例性实施例,在步骤S202,根据待***的数据请求信息,确定第二属性,其中,第二属性包括待***的数据请求信息的用于确定数据存储顺序的至少两种数据属性信息。
根据本公开的示例性实施例,至少两种数据属性信息对应的值的数位之和可小于或者等于第二属性的值的最大精度数位。可选地,最大精度数位可以是15位。可选地,至少两种数据属性信息可按照优先级依次存储为第二属性的值的位数。
可选地,至少两种数据属性信息可以是三种数据属性信息,分别是请求优先级信息、数据状态信息和请求时间信息。可选地,请求优先级信息、数据状态信息和请求时间信息的优先级顺序可以是由高到低。
根据本公开的示例性实施例,在至少两种数据属性信息是请求优先级信息、数据状态信息和请求时间信息的情况下,确定第二属性的步骤可包括:将请求优先级信息、数据状态信息和请求时间信息三者对应的值确定为第二属性的值,其中,请求优先级信息、数据状态信息和请求时间信息三者对应的值按照它们的位数从前到后依次存储为第二属性的值的位数,其中,请求优先级信息比数据状态信息优先级高,并且数据状态信息比请求时间信息优先级高。
可选地,在数据请求信息是用户对视频的请求信息的情况下,至少两种数据属性信息可以是三种数据属性信息,分别是用户属性优先级信息、视频状态信息和请求时间信息。可选地,用户属性优先级信息、视频状态信息和请求时间信息的优先级顺序可以是由高到低。
根据本公开的示例性实施例,在步骤S203,根据第一属性和第二属性,将待***的数据请求信息***到队列中的对应位置。
可选地,至少两种数据属性信息所对应的值可为十进制数值。应该理解,至少两种数据属性信息所对应的值也可根据实际使用需求而为其他形式的数值,例如八进制和十六进制的值等。
根据本公开的示例性实施例,将待***的数据请求信息***到队列中的对应位置的步骤可包括:将待***的数据请求信息按照从队列头至队列尾第二属性的值从小到大的顺序***到队列中的对应位置。
根据本公开的示例性实施例,可选地,将待***的数据请求信息***到队列中的对应位置的步骤可包括:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,其中,按照从队列头至队列尾的顺序,待***的数据请求信息的第二属性的值大于前一个已存储数据请求信息的第二属性的值,并且小于后一个已存储数据请求信息的第二属性的值。
根据本公开的示例性实施例,进一步地,在至少两种数据属性信息是请求优先级信息、数据状态信息和请求时间信息的情况下,将待***的数据请求信息***到队列中的对应位置的步骤可包括:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,其中,依次按照请求优先级信息、数据状态信息和请求时间信息三者对应的值的顺序执行所述比较的步骤。
根据本公开的示例性实施例,更进一步地,在至少两种数据属性信息是请求优先级信息、数据状态信息和请求时间信息的情况下,在对队列中的两个元素的第二属性的值进行比较时,可先对两个元素中的第二属性的值中与请求优先级信息对应的位数的值进行比较。具体地,如果与请求优先级信息对应的位数的值相同,则依次再对数据状态信息和请求时间信息分别对应的位数的值进行比较;如果与请求优先级信息对应的位数的值不同,则可直接确定两个元素的第二属性的值的大小的比较结果,而无需再对数据状态信息和请求时间信息的值进行比较。根据本公开的上述示例性实施例的优势在于:优先级高的信息(在此,请求优先级信息比数据状态信息优先级高,数据状态信息比请求时间信息优先级高)先用于比较,能够快速得出比较结果,在相关数据处理效率上得到进一步地提高。
根据本公开的示例性实施例,当待***的数据请求信息对应的第二属性的值与队列中的至少另一数据请求信息对应的第二属性的值相同时,可按照第一属性的值从小到大的顺序将待***的数据请求信息***到队列中的对应位置。
可选地,队列可以是zset数据结构,第一属性对应于zset数据结构中的member,第二属性对应于zset数据结构中的score。
可选地,在数据存储方法200应用于服务器且服务器与客户端通信连接的情况下,当需要对已存储的数据进行读取操作时,数据存储方法200还可包括:从客户端接收数据读取请求信息;向服务器发送队列中的队列头存储的数据,以实现对队列头存储的数据进行消费。
以下参照图3具体举例说明数据存储和读取相关的操作,但本公开的方案不由该示例限定。图3是示出根据本公开的示例性实施例的数据存储方法的示例的示意图。
如图3所示,在图3中示出的队列存储的数据是用户对视频的请求信息并且具体采用zset数据结构来实现该队列。具体地,队列中涉及的两个属性分别用member和score表示,其中,member对应的值表示唯一标识请求信息的id(例如,在图3中为视频id),score对应的值表示用户对视频的请求信息的至少两种数据属性信息(用于确定该请求信息在队列中的位置)。可选地,可将score存储在持久化的存储***(例如但不限于,mysql/rocksdb)中,以用于出队后重新入队时使用)。以下对数据存储过程进行具体说明:
参照图3,head表示队列头,tail表示队列尾,member和score表示队列中的元素的两个属性。参照图3中的示图(a),队列中每个元素的member的值表示视频id(从左到右分别是6、3、9、5、8),score的值表示用于排序的权重,权重的值从左到右依次增大,越小的权重越靠近队列头且优先级越高,越早被出队进行消费(即,数据处理)。
参照图3中的示图(b)当一个新的元素(即,待***的用户对视频的请求信息)入队时,假设该请求信息的视频id是12,计算得到的score是100301(稍后具体说明计算的方式),那么通过预定命令(例如,zadd$queue_name 100301 12)将该元素***到队列中的第4个位置,原来第4个位置以后的元素全部往后移动一位,新的队列如示图(b)所示。
这里,在该元素***队列之后,该元素在出队时能够比视频id是5和8的两个元素之前出队,即,该视频请求会被优先处理,这是因为该元素的score的值比后两者小,优先级更高。
下面对***队列的操作过程进行说明。参照图3的示图(c)、(d)、(e)、(f),当出队时,位于队列头的元素(即,视频id为6的元素)(后面简称第一元素)最先出队(如图3的示图(c)所示),但出队后的第一元素的消费失败(即,没有被处理完成)(例如,发生数据处理过程出错、发生了网络丢包等各种可能导致失败的因素),此时应将第一元素重新***队列中。具体地,在上述的持久化存储***中查找该视频id对应的score,然后通过预定命令(例如,zadd$queue_name 100100 6)根据该score的大小将第一元素重新***到队列中的正确位置(参见示图(d)),而不是队列尾的位置。
进一步地,作为示例,如果在第一元素***队列之前视频id为3对应的第二元素已经出队消费完,则此时第一元素***队列后的位置如示图(e)所示。这里,队列中的元素的排列顺序依然是根据score的值从小到大排序,不会因为第二元素的出队而发生第一元素的重新***位置错误的问题。
进一步地,作为示例,如果在第一元素***队列之前视频id为3对应的第二元素已经出队消费并且视频id为20对应的第三元素已***到队列中,则此时第一元素***队列后的位置如示图(f)所示,由于第一元素的score的值大于第三元素的score的值且小于视频id为9对应的第四元素的score的值,所以第一元素被***到第三元素与第四元素之间的位置。这里,队列中的元素的排列顺序依然是根据score的值从小到大排序,不会因为第二元素的出队和第三元素的入队而发生第一元素的重新***位置错误的问题。
通过以上的方式,在队列经过多个元素的多次入队/出队后,都依然能够保持队列的顺序性,而且入队/出队的性能很高,例如,通常在微妙级的时间内即可完成入队/出队完成,几乎察觉不到延迟,这在视频请求的处理方面能够提升整个视频请求处理过程的效率(稍后进行详细说明)。
根据本公开的示例性实施例,对确定score的方式(即,计算score的值)进行具体地举例说明。在示例中,用户对视频的请求信息的数据属性信息包括三种,即,用户优先级、视频状态、请求时间。score的值是一个浮点类型的数值,精度是15位十进制数,超过这个精度则无法进行精确的数据存储和计算,会影响排序的结果,因此,在此示例中,采用15位十进制数来表示上述三种信息。
具体地,对score中15位数进行如下设置:1)前两位对应用户优先级的值,例如,第一类用户是90,第二类用户是80,第三类用户是70等,值越小优先级越高,越早出队;2)第3位对应视频状态的值,例如,9表示初始化的状态,8表示已经进行了预处理的状态,7表示转码完成且可以进行渲染等后续逻辑的状态等;3)第4至15位的12位数对应请求时间的值,用毫秒级时间戳来表示,采用这种毫秒级时间戳的好处是可以使得请求时间的精确度提升,从而提升该信息对应的数据存储和处理的精确度。
这里关于上述的毫秒级时间戳,由于毫秒级时间戳跨度范围比较大,所以需要用较多的位数来存储。毫秒级时间戳的实际长度是13位,这里只有12位能够用于存储该毫秒级时间戳,这里采用的处理方式是直接去掉13位中的第1位。这里,这样的处理方式的原因是因为在未来的几十年内的毫秒级时间戳的第1位都是1,所以不用进行显式存储,至少在几十年内都适用,相关***都能够正确运行。
作为示例,对score的值进行具体举例说明,假设用户对视频的请求信息是一个普通用户的初始化的视频请求,且请求时间是2021-3-20 12:00:00:123,那么score的值如下:90 9 616212800123。具体地,最前面的两位90表示普通用户,第3位9表示视频的初始化,后面的616212800123加上默认的首位1后是1616212800123就表示2021-3-20 12:00:00:123对应的毫秒级时间戳。通过以上的方式使用这15位数,最大限度地利用了score的精度上限,实现了多维度的数据的排序。
应该理解,上述示例仅作为示例,不作为限制。例如,在实际应用中,score的值也可以表示更多(例如,四种、五种)或更少(例如,两种)的数据属性信息。例如,关于score的精度数位的使用,也可以不使用全部的位数来存储数据属性信息。
通过以上方式,通过利用有序队列来存储数据请求信息,能够高效地实现数据的存储和读取,能够将读取失败的数据重新***到队列中的正确位置,并且能够利用多种类型的数据属性对数据的存储顺序进行排序,从而提升了用户体验。
图4是示出根据本公开的示例性实施例的数据存储装置400的框图。
如图4所示,数据存储装置400包括接收模块401、确定模块402和存储模块403。具体地,接收模块401被配置为接收待***的数据请求信息,其中,数据请求信息包括作为第一属性的待***的数据请求信息的数据标识信息。确定模块402被配置为根据数据请求信息确定第二属性,其中,第二属性包括待***的数据请求信息的用于确定数据存储顺序的至少两种数据属性信息。存储模块406被配置为根据第一属性和第二属性将待***的数据请求信息***到队列中的对应位置。
根据本公开的示例性实施例,至少两种数据属性信息对应的值的数位之和可小于或者等于第二属性的值的最大精度数位。可选地,最大精度数位可以是15位。可选地,至少两种数据属性信息可按照优先级依次存储为第二属性的值的位数。可选地,数据标识信息所对应的值和至少两种数据属性信息所对应的值可均为十进制数值。
可选地,至少两种数据属性信息可以是三种数据属性信息,分别是请求优先级信息、数据状态信息和请求时间信息。可选地,请求优先级信息、数据状态信息和请求时间信息的优先级顺序可以是由高到低。
根据本公开的示例性实施例,在至少两种数据属性信息是请求优先级信息、数据状态信息和请求时间信息的情况下,确定模块402确定第二属性的步骤可包括:将请求优先级信息、数据状态信息和请求时间信息三者对应的值确定为第二属性的值,其中,请求优先级信息、数据状态信息和请求时间信息三者对应的值按照它们的位数从前到后依次存储为第二属性的值的位数,其中,请求优先级信息比数据状态信息优先级高,并且数据状态信息比请求时间信息优先级高。
可选地,数据请求信息可以是用户对视频的请求信息,至少两种数据属性信息可以是三种数据属性信息,分别是用户属性优先级信息、视频状态信息和请求时间信息。可选地,用户属性优先级信息、视频状态信息和请求时间信息的优先级顺序可以是由高到低。
根据本公开的示例性实施例,存储模块403将待***的数据请求信息***到队列中的对应位置的操作可包括:将待***的数据请求信息按照从队列头至队列尾第二属性的值从小到大的顺序***到队列中的对应位置。
根据本公开的示例性实施例,可选地,存储模块403将待***的数据请求信息***到队列中的对应位置的操作可包括:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,其中,按照从队列头至队列尾的顺序,待***的数据请求信息的第二属性的值大于前一个已存储数据请求信息的第二属性的值,并且小于后一个已存储数据请求信息的第二属性的值。
根据本公开的示例性实施例,进一步地,在至少两种数据属性信息是请求优先级信息、数据状态信息和请求时间信息的情况下,存储模块403将待***的数据请求信息***到队列中的对应位置的操作可包括:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,其中,依次按照请求优先级信息、数据状态信息和请求时间信息三者对应的值的顺序执行所述比较的操作。
根据本公开的示例性实施例,更进一步地,在至少两种数据属性信息是请求优先级信息、数据状态信息和请求时间信息的情况下,存储模块403在对队列中的两个元素的第二属性的值进行比较时,可先对两个元素中的第二属性的值中与请求优先级信息对应的位数的值进行比较。具体地,如果与请求优先级信息对应的位数的值相同,则依次再对数据状态信息和请求时间信息分别对应的位数的值进行比较;如果与请求优先级信息对应的位数的值不同,则可直接确定两个元素的第二属性的值的大小的比较结果,而无需再对数据状态信息和请求时间信息的值进行比较。根据本公开的上述示例性实施例的优势在于:优先级高的信息(在此,请求优先级信息比数据状态信息优先级高,数据状态信息比请求时间信息优先级高)先用于比较,能够快速得出比较结果,在相关数据处理效率上得到进一步地提高。
根据本公开的示例性实施例,当待***的数据请求信息对应的第二属性的值与队列中的至少另一数据请求信息对应的第二属性的值相同时,可按照第一属性的值从小到大的顺序将待***的数据请求信息***到队列中的对应位置。
根据本公开的示例性实施例,存储装置400可安装于服务器,服务器与客户端通信连接,接收模块401接收待***的数据请求信息的操作可包括:从客户端接收数据请求信息。可选地,接收模块401还可被配置为:从客户端接收数据读取请求信息。存储装置400还包括发送模块,发送模块被配置为向服务器发送队列中的队列头存储的数据,以实现对队列头存储的数据进行消费。
根据本公开的示例性实施例,队列可以是zset数据结构,第一属性对应于zset数据结构中的member,第二属性对应于zset数据结构中的score。
以上已经参照图2对上述各个模块的具体执行的处理以及相关处理信息进行了描述,在此不再重复描述。
根据本公开的示例性实施例,数据存储装置通过利用有序队列来存储数据请求信息,能够高效地实现数据的存储和读取,能够将读取失败的数据重新***到队列中的正确位置,并且能够利用多种类型的数据属性对数据的存储顺序进行排序,从而提升了用户体验。
此外,根据本公开的示例性实施例,在队列采用zset数据结构的情况下,除了使用到持久化存储***(例如,mysql)之外,本公开的队列只依赖到redis中的zset数据结构,每次入队/出队只有一次写操作,不会出现多次写操作导致的数据不一致的风险。作为对比,在相关技术中,还依赖于其它的结构(例如,redis的list),每次写操作时进行了双写操作,因为redis不支持事务,所以相关技术中的操作存在很大的数据不一致的风险,无法应用于高并发大流量的线上***(例如,视频生产相关应用***)中。而本公开的队列可以很好地应用于高并发大流量的线上***中。
此外,作为示例,本公开的数据存储方法和装置在实际应用中的效果也比较突出,例如,在例如快影app百宝箱的功能中使用本公开的队列对视频请求进行处理(入队/出队等),在线上高并发的请求负载下,用户的视频请求得到了高效有序的处理,相关的处理接口耗时较低,例如,用户在上传视频后获取视频列表所对应的相关处理接口耗时均在15ms以内。
也就是说,用户能够及时获得视频相关处理的进度结果,避免了焦急等待无果的情况,很好地提升了用户体验。
此外,在用于的设备(例如,服务器)的稳定性方面,根据本公开的数据存储方法和装置也表现出了很好的效果,对例如视频请求的处理很平稳,内存占用率较低。
此外,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
图5是示出根据本公开的示例性实施例的一种电子设备500的框图,该电子设备500可包括存储器510和处理器520,存储器510中存储有计算机可执行指令集合,当计算机可执行指令集合被处理器执行时,执行根据本公开实施例的数据存储方法。
作为示例,电子设备可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备还可以是集成控制***或***管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备中,处理器可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器***、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器可运行存储在存储器中的指令或代码,其中,存储器还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器可与处理器集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库***可使用的其他存储装置。存储器和处理器可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器能够读取存储在存储器中的文件。
此外,电子设备还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备的所有组件可经由总线和/或网络而彼此连接。
根据本公开的实施例,还可提供一种计算机可读存储介质,例如,包括指令的存储器520,上述指令可由电子设备500的处理器510执行以完成上述的视频质量提升模型的训练方法或视频质量提升方法。可选地,计算机可读存储介质可以是:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机***上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
在本公开的示例性实施例中,还可提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现根据本公开示例性实施例的用于数据存储的方法。
根据本公开示例性实施例的用于数据存储的方法和装置,通过利用有序队列来存储数据请求信息,能够高效地实现数据的存储和读取,能够将读取失败的数据重新***到队列中的正确位置,并且能够利用多种类型的数据属性对数据的存储顺序进行排序,从而提升了用户体验。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (24)

1.一种数据存储方法,其特征在于,所述数据存储方法包括:
接收待***的数据请求信息,其中,所述数据请求信息包括待***的数据请求信息的数据标识信息,所述数据标识信息作为待***的数据请求信息对应的第一属性;
根据待***的数据请求信息,确定第二属性,其中,第二属性包括待***的数据请求信息的至少两种数据属性信息,所述至少两种数据属性信息用于确定数据存储顺序;
将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;
根据比较的结果,将待***的数据请求信息***到队列中的对应位置,
其中,按照从队列头至队列尾的顺序,待***的数据请求信息的第二属性的值大于前一个已存储数据请求信息的第二属性的值,并且小于后一个已存储数据请求信息的第二属性的值,并且
其中,当待***的数据请求信息对应的第二属性的值与队列中的至少另一数据请求信息对应的第二属性的值相同时,按照第一属性的值从小到大的顺序将待***的数据请求信息***到队列中的对应位置。
2.如权利要求1所述的数据存储方法,其特征在于,所述至少两种数据属性信息对应的值的数位之和小于或者等于第二属性的值的最大精度数位。
3.如权利要求1所述的数据存储方法,其特征在于,队列是zset数据结构,第一属性对应于zset数据结构中的member,第二属性对应于zset数据结构中的score。
4.如权利要求1所述的数据存储方法,其特征在于,所述至少两种数据属性信息按照优先级依次存储为第二属性的值的位数。
5.如权利要求1所述的数据存储方法,其特征在于,所述至少两种数据属性信息是三种数据属性信息,分别是请求优先级信息、数据状态信息和请求时间信息。
6.如权利要求5所述的数据存储方法,其特征在于,请求优先级信息比数据状态信息优先级高,并且数据状态信息比请求时间信息优先级高。
7.如权利要求1所述的数据存储方法,其特征在于,数据请求信息是用户对视频的请求信息,所述至少两种数据属性信息是三种数据属性信息,分别是用户属性优先级信息、视频状态信息和请求时间信息。
8.如权利要求5所述的数据存储方法,其特征在于,确定第二属性的步骤包括:
将请求优先级信息、数据状态信息和请求时间信息三者对应的值确定为第二属性的值,
其中,请求优先级信息、数据状态信息和请求时间信息三者对应的值按照它们的位数从前到后依次存储为第二属性的值的位数,其中,请求优先级信息比数据状态信息优先级高,并且数据状态信息比请求时间信息优先级高。
9.如权利要求8所述的数据存储方法,其特征在于,将待***的数据请求信息***到队列中的对应位置的步骤包括:
将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;
根据比较的结果,将待***的数据请求信息***到队列中的对应位置,
其中,依次按照请求优先级信息、数据状态信息和请求时间信息三者对应的值的顺序执行所述比较的步骤。
10.如权利要求1所述的数据存储方法,其特征在于,所述数据存储方法应用于服务器,服务器与客户端通信连接,接收数据请求信息的步骤包括:从客户端接收数据请求信息。
11.如权利要求10所述的数据存储方法,其特征在于,所述数据存储方法还包括:
从客户端接收数据读取请求信息;
向服务器发送队列中的队列头存储的数据,以实现对队列头存储的数据进行消费。
12.一种数据存储装置,其特征在于,所述数据存储装置包括:
接收模块,被配置为:接收待***的数据请求信息,其中,所述数据请求信息包括待***的数据请求信息的数据标识信息,所述数据标识信息作为待***的数据请求信息对应的第一属性;
确定模块,被配置为:根据数据请求信息,确定第二属性,其中,第二属性包括待***的数据请求信息的至少两种数据属性信息,所述至少两种数据属性信息用于确定数据存储顺序;
存储模块,被配置为:将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;根据比较的结果,将待***的数据请求信息***到队列中的对应位置,
其中,按照从队列头至队列尾的顺序,待***的数据请求信息的第二属性的值大于前一个已存储数据请求信息的第二属性的值,并且小于后一个已存储数据请求信息的第二属性的值,并且
其中,当待***的数据请求信息对应的第二属性的值与队列中的至少另一数据请求信息对应的第二属性的值相同时,按照第一属性的值从小到大的顺序将待***的数据请求信息***到队列中的对应位置。
13.如权利要求12所述的数据存储装置,其特征在于,所述至少两种数据属性信息对应的值的数位之和小于或者等于第二属性的值的最大精度数位。
14.如权利要求12所述的数据存储装置,其特征在于,队列是zset数据结构,第一属性对应于zset数据结构中的member,第二属性对应于zset数据结构中的score。
15.如权利要求12所述的数据存储装置,其特征在于,所述至少两种数据属性信息按照优先级依次存储为第二属性的值的位数。
16.如权利要求12所述的数据存储装置,其特征在于,所述至少两种数据属性信息是三种数据属性信息,分别是请求优先级信息、数据状态信息和请求时间信息。
17.如权利要求12所述的数据存储装置,其特征在于,请求优先级信息比数据状态信息优先级高,并且数据状态信息比请求时间信息优先级高。
18.如权利要求12所述的数据存储装置,其特征在于,数据请求信息是用户对视频的请求信息,所述至少两种数据属性信息是三种数据属性信息,分别是用户属性优先级信息、视频状态信息和请求时间信息。
19.如权利要求16所述的数据存储装置,其特征在于,确定模块确定第二属性的操作包括:
将请求优先级信息、数据状态信息和请求时间信息三者对应的值确定为第二属性的值,
其中,请求优先级信息、数据状态信息和请求时间信息三者对应的值按照它们的位数从前到后依次存储为第二属性的值的位数,其中,请求优先级信息比数据状态信息优先级高,并且数据状态信息比请求时间信息优先级高。
20.如权利要求19所述的数据存储装置,其特征在于,存储模块将待***的数据请求信息***到队列中的对应位置的步操作包括:
将待***的数据请求信息的第二属性的值与队列中已存储数据请求信息的第二属性的值进行比较;
根据比较的结果,将待***的数据请求信息***到队列中的对应位置,
其中,依次按照请求优先级信息、数据状态信息和请求时间信息三者对应的值的顺序执行所述比较的操作。
21.如权利要求12所述的数据存储装置,其特征在于,所述存储装置安装于服务器,服务器与客户端通信连接,接收模块接收待***的数据请求信息的操作包括:从客户端接收数据请求信息。
22.如权利要求21所述的数据存储装置,其特征在于,接收模块还被配置为:从客户端接收数据读取请求信息;
所述存储装置还包括发送模块,发送模块被配置为:向服务器发送队列中的队列头存储的数据,以实现对队列头存储的数据进行消费。
23.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到11中的任一权利要求所述的方法。
24.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1到11中任一权利要求所述的方法。
CN202110586766.2A 2021-05-27 2021-05-27 数据存储的方法和装置 Active CN113329078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110586766.2A CN113329078B (zh) 2021-05-27 2021-05-27 数据存储的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110586766.2A CN113329078B (zh) 2021-05-27 2021-05-27 数据存储的方法和装置

Publications (2)

Publication Number Publication Date
CN113329078A CN113329078A (zh) 2021-08-31
CN113329078B true CN113329078B (zh) 2023-02-21

Family

ID=77421833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110586766.2A Active CN113329078B (zh) 2021-05-27 2021-05-27 数据存储的方法和装置

Country Status (1)

Country Link
CN (1) CN113329078B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695317B (zh) * 2022-12-23 2023-04-07 海马云(天津)信息技术有限公司 接入请求的排队和出队方法与装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634224A (zh) * 2012-08-22 2014-03-12 深圳市腾讯计算机***有限公司 网络中数据传输的方法和***
JP2018036855A (ja) * 2016-08-31 2018-03-08 キヤノンマーケティングジャパン株式会社 情報処理システム、情報処理システムの制御方法、及びプログラム
CN112040001A (zh) * 2020-09-07 2020-12-04 平安科技(深圳)有限公司 一种基于分布式存储的请求处理方法及装置
CN112256458A (zh) * 2020-11-09 2021-01-22 北京沃东天骏信息技术有限公司 消息入队方法、装置、电子设备和计算机可读介质
CN112346829A (zh) * 2019-08-07 2021-02-09 上海云盾信息技术有限公司 一种用于任务调度的方法及设备
CN112839067A (zh) * 2019-11-22 2021-05-25 腾讯科技(深圳)有限公司 一种数据同步方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554430B2 (en) * 2016-11-21 2020-02-04 Everbridge, Inc. Systems and methods for providing adaptive flow control in a notification architecture

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634224A (zh) * 2012-08-22 2014-03-12 深圳市腾讯计算机***有限公司 网络中数据传输的方法和***
JP2018036855A (ja) * 2016-08-31 2018-03-08 キヤノンマーケティングジャパン株式会社 情報処理システム、情報処理システムの制御方法、及びプログラム
CN112346829A (zh) * 2019-08-07 2021-02-09 上海云盾信息技术有限公司 一种用于任务调度的方法及设备
CN112839067A (zh) * 2019-11-22 2021-05-25 腾讯科技(深圳)有限公司 一种数据同步方法及装置
CN112040001A (zh) * 2020-09-07 2020-12-04 平安科技(深圳)有限公司 一种基于分布式存储的请求处理方法及装置
CN112256458A (zh) * 2020-11-09 2021-01-22 北京沃东天骏信息技术有限公司 消息入队方法、装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
CN113329078A (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
US10412170B2 (en) Retention-based data management in a network-based data store
US10250480B2 (en) Polling parameter adjustment
US20190044879A1 (en) Technologies for reordering network packets on egress
CN106716335B (zh) 映射信息的异步处理
CN109542352B (zh) 用于存储数据的方法和装置
US10452717B2 (en) Technologies for node-degree based clustering of data sets
CN110018786A (zh) 用于预测数据存储特性的***和方法
EP3482294A1 (en) Methods and modules relating to allocation of host machines
WO2017054540A1 (zh) 一种数据处理方法、装置、服务器及控制器
US8745232B2 (en) System and method to dynamically allocate electronic mailboxes
CN113329078B (zh) 数据存储的方法和装置
US11061727B1 (en) Preventing performance degradation over time in a cache
CN115348222A (zh) 一种消息分发方法、装置、服务端及存储介质
CN105068875A (zh) 一种智能数据处理方法及装置
EP3734458B1 (en) Method and system for prioritizing critical data object storage during backup operations
EP3734459B1 (en) Method and system for prioritizing critical data object storage during backup operations
US20190065270A1 (en) Methods and modules relating to allocation of host machines
CN116089477B (zh) 分布式训练方法及***
CN115499513A (zh) 数据请求的处理方法、装置、计算机设备和存储介质
CN114489770A (zh) 灰度发布方法、装置、计算机设备和存储介质
US20210319058A1 (en) Location-based alarm notification application
US20220318604A1 (en) Sparse machine learning acceleration
KR20190116034A (ko) 네트워크 인터페이스 장치 및 그 네트워크 인터페이스 장치의 데이터 처리 방법
WO2023116438A1 (zh) 一种数据访问方法、装置以及设备
US11916807B2 (en) Evaluation framework for cloud resource optimization

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