1.本发明涉及数据处理领域,具体涉及一种多媒体数据的排序方法、数据存储系统、装置和电子设备。
背景技术:
2.各类平台的后台人员通常需要为海量的后台数据分别设置不同的标签,以便于对后台数据进行推广。由于后台数据的数量通常是百万级甚至千万级,因此,通常需要为后台数据设置优先级顺序,以便于优先对优先级较高的后台数据设置标签,从而提高对后台数据推广的效果。且随着时间的推移,将不断有新的数据涌入后台,同时,完成标签设置的数据将从后台数据中移除,因此,需要服务器对后台中的动态数据进行实时排序。
3.现有技术中,通常是按照各后台数据的某一属性特征,对所有后台数据进行实时排序,以完成对后台数据的优先级设置,这样,后台人员仅需按照所排列的顺序为各后台数据分别设置标签。然而,由于后台数据的数据量巨大,且不断有新的数据涌入后台,当后台参与排序的数据的数量超过服务器所能处理的数据数量的上限时,由于需要对所有数据进行统一排序,将导致服务器响应速度变慢甚至出现宕机,进而导致排序所需耗时相当长,甚至排序失败。可见,现有技术中,在对后台数据进行排序时,存在排序效果差的问题。
技术实现要素:
4.本发明实施例的目的在于提供一种多媒体数据的排序方法、数据存储系统、装置和电子设备,可以解决现有技术中,在对后台数据进行排序时,存在的排序效果差的问题。具体技术方案如下:
5.在本发明实施的第一方面,首先提供了一种多媒体数据的排序方法,包括:
6.确定第一队列,所述第一队列包括n个第一子队列,所述n个第一子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;
7.确定各多媒体数据的目标属性值,以使各所述第一子队列中的多媒体数据按照所述目标属性值的大小按序存储。
8.在本发明实施的第二方面,还提供了一种数据存储系统,包括:
9.第一队列,所述第一队列包括n个第一子队列,所述第一子队列,用于基于多媒体数据的目标属性值的大小,按序储存多媒体数据。
10.在本发明实施的第三方面,还提供了一种多媒体数据的排序装置,包括:
11.第一确定模块,用于确定第一队列,所述第一队列包括n个第一子队列,所述n个第一子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;
12.第二确定模块,用于确定各多媒体数据的目标属性值,以使各所述第一子队列中的多媒体数据按照所述目标属性值的大小按序存储。
13.在本发明实施的第四方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
14.存储器,用于存放计算机程序;
15.处理器,用于执行存储器上所存放的程序时,实现所述多媒体数据的排序方法步骤。
16.在本发明实施的第五方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述多媒体数据的排序方法步骤。
17.本发明实施例中,通过将所接收到的多媒体数据分别存储于n个第一子队列,并使各第一子队列中存储的多媒体数据基于目标数据值分别进行排序。这样,即便所接收到的多媒体数据的数量超过服务器所能承受的数据数量的上限,由于并非对所接收到的数据进行统一排序,而是将所接收到的数据分别存储于n个第一子队列,然后,分别对n个第一子队列进行排序,以得到n个按序排列的多媒体数据队列,从而减小了服务器单次排序的多媒体数据的数量,避免了服务器由于单次排序的数据数量超负荷,而导致的排序效果差的问题。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
19.图1为本发明实施例中多媒体数据的排序方法的流程图之一;
20.图2为本发明实施例中对初始队列进行划分的流程图;
21.图3为本发明实施例中多媒体数据的排序方法的流程图之二;
22.图4为本发明实施例中数据插入和读取过程的流程图;
23.图5为本发明实施例中多媒体数据的排序装置的结构示意图;
24.图6为本发明实施例中电子设备的结构示意图。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
26.请参见图1,图1是本发明实施例提供的一种多媒体数据的排序方法,包括:
27.步骤101、确定第一队列,所述第一队列包括n个第一子队列,所述n个第一子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据。
28.上述多媒体数据可以是视频平台中的视频数据,例如,可以是视频平台的用户上传至视频平台的视频数据,视频平台在接收到该视频数据之后,可以对视频数据进行审核、打标签分类等处理,然后在视频平台发布所述视频数据。此外,所述多媒体数据也可以是音乐平台中的音频数据,对此,不作限制。
29.上述n的具体取值可以根据后端平台在高峰期所需进行排序的多媒体数据的数量而定,例如,在高峰期后端平台中所保有的待排序的多媒体数据的数量若通常在300万条左右时,则可将所述n的数值确定为100,这样,可以将所接收到的300万条多媒体数据分别存储于10个第一子队列,即使得每个第一子队列中所保有的多媒体数据的数量始终在3万条左右。这样,服务器在每次排序时,仅需对3万条左右的数据进行排序,相对于直接对300万条数据进行排序而言,可以提高响应速度,且可在一定程度上缓解服务器由于一次性排序的数据量过多而导致的响应速度降低、甚至宕机等问题。
30.具体地,可以将n个第一子队列依次编号为第一子队列1至第一子队列n,在需要将
所接收到的多媒体数据存储于对应的第一子队列时,具体的存储规则可以是:把所接收到的第i个多媒体数据存储于第一子队列k,其中,k等于i对n取余得到的数值,这样,可以确保各第一子队列中所存储的多媒体数据的数量相对均匀。
31.步骤102、确定各多媒体数据的目标属性值,以使各所述第一子队列中的多媒体数据按照所述目标属性值的大小按序存储。
32.上述各所述第一子队列中的多媒体数据按照所述目标属性值的大小按序存储,可以是指:将目标属性值较大的多媒体数据存储于对应第一子队列中的靠前位置,即使得每个第一子队列中所存储的多媒体数据按照目标属性值的大小排列存储。
33.上述目标属性值可以是多媒体数据的点击量或者曝光量等能够体现多媒体数据的热度的属性参数,这样,通过使每个第一子队列中的多媒体数据按照目标属性值的大小按序存储,从而将热度高的多媒体数据存储于第一子队列中的靠前位置,以便于后续优先对热度高的多媒体数据进行推广,从而提高后台数据的推广效果。
34.该实施方式中,通过将所接收到的多媒体数据分别存储于n个第一子队列,并使各第一子队列中存储的多媒体数据基于目标数据值分别进行排序。这样,即便所接收到的多媒体数据的数量超过服务器所能承受的数据数量的上限,由于并非对所接收到的数据进行统一排序,而是将所接收到的数据分别存储于n个第一子队列,然后,分别对n个第一子队列进行排序,以得到n个按序排列的多媒体数据队列,从而减小了服务器单次排序的多媒体数据的数量,避免了服务器由于单次排序的数据数量超负荷,而导致的排序效果差的问题。
35.可选地,所述目标属性值为随时间变化的属性值,所述方法还包括:
36.确定第二队列,所述第二队列包括n个第二子队列,所述n个第二子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;
37.在接收到更新指令的情况下,响应于所述更新指令,基于各多媒体数据当前的目标属性值,将第一目标队列中的多媒体数据转移至所述第二目标队列,以使转移至所述第二目标队列的多媒体数据,按照多媒体数据当前的目标属性值的大小,按序储存于所述第二目标队列的n个子队列;
38.其中,所述第一队列和所述第二队列中,存储有多媒体数据的一者为所述第一目标队列,未存储多媒体数据的一者为所述第二目标队列。
39.由于所述目标属性值可以是多媒体数据的点击量或者曝光量等随时间变化的属性值,因此,随着时间的推移,各第一子队列中的多媒体数据的目标属性值可能会发生变化,进而导致目标属性值高的多媒体数据可能排序在第一子队列的尾部的情况。基于此,为了进一步提高对第一队列中的各第一子队列的排序效果,可以基于更新指令对第一队列中的各第一子队列的排序进行更新,从而确保当多媒体数据的目标属性值发生变化时,其位于第一子队列中的位置也随之变化。
40.请参见图3,当将接收到的多媒体数据存储于第一队列中的n个第一子队列后,由于所述第一队列中存储有多媒体数据,第二队列未存储多媒体数据,因此,在此情况下,所述第一目标队列为第一队列,所述第二目标队列为第二队列。在接收到更新指令时,可以首先对第一子队列1进行排序,在完成对第一子队列1的排序之后,对第一子队列2进行排序,这样按照顺序,直至完成对第一子队列n的排序,即确定完成对第一队列的排序过程。在对第一子队列1进行排序时,可以从第一子队列1的首端或者尾端开始,依次从第一子队列1中
获取多媒体数据,在获取到第一子队列1中的多媒体数据之后,通过第三方接口获取该多媒体数据的目标属性值,并基于该目标属性值将该多媒体数据插入与第一子队列1相对应的第二子队列1。应当说明的是,所述多媒体数据在插入第二子队列1时,会将自身的目标属性值与第二子队列1中所有多媒体数据的目标属性值进行比较,以插入第二子队列1中的相应位置,使得插入后第二子队列1中的各多媒体数据按照目标属性值由高至低排列布置。在将第一队列中的多媒体数据转移至第二队列之后,由于第一队列中的多媒体数据移出至第二队列,因此,在此情况下,所述第一目标队列为第二队列,所述第二目标队列为第一队列。后续在接收到更新指令时,按照上述过程将第二队列中的多媒体数据转移至第一队列,从而实现基于更新后的目标属性值对队列中所存储的多媒体数据的顺序进行更新。
41.可选地,上述更新指令可以是预设的定时任务,可以每隔预设时长,触发所述更新指令,进而实现每隔预设时长,基于当前的目标属性值对队列中的多媒体数据的顺序进行更新。其中,所述预设时长可以是半小时,即每隔半小时对存储多媒体数据的队列按照目标属性值进行一次排序。
42.可选地,所述第一队列包括第一标识,或者,所述第二队列包括所述第一标识,所述第一标识用于标识所述第一队列和所述第二队列之间是否正在转移多媒体数据;所述确定第二队列之后,所述方法还包括:
43.在接收到增量多媒体数据的情况下,基于所述第一标识判断所述第一队列和所述第二队列之间的多媒体数据的转移状态;
44.在所述第一标识指示所述第一队列和所述第二队列之间正在转移多媒体数据,或者,所述第一标识指示所述第一队列和所述第二队列之间的多媒体数据转移完成的情况下,将所述增量多媒体数据按序存储于接收多媒体数据的队列。
45.上述增量多媒体数据可以是指:可以是指有新的多媒体数据涌入后台,即接收到初始队列中所存储的多媒体数据之外的多媒体数据的情况。
46.具体地,可以在所述第一队列中设置一个标识位,若第一队列与第二队列之间处于多媒体数据移转状态,将所述标识位置1,若所述第一队列与第二队列之间未处于多媒体数据转移状态,将所述标识位置0。其中,所述处于多媒体数据移转状态既包括第一队列中的多媒体数据向第二队列移转的情况,也包括第二队列中的多媒体数据向第一队列移转的情况。这样,当接收到增量多媒体数据时,可以基于第一标识确定第一队列和所述第二队列之间的多媒体数据的转移状态,并在在所述第一标识指示所述第一队列和所述第二队列之间正在转移多媒体数据,或者,所述第一标识指示所述第一队列和所述第二队列之间的多媒体数据转移完成的情况下,将所述增量多媒体数据按序存储于接收多媒体数据的队列。
47.具体地,当所述第一队列中的多媒体数据向第二队列转移的过程中,所述接收多媒体数据的队列为第二队列,相应地,当所述第二队列中的多媒体数据向第一队列转移的过程中,所述接收多媒体数据的队列为第一队列。
48.该实施方式中,通过将增量多媒体数据存储于接收多媒体数据的队列,这样,可以避免由于不断向多媒体数据转出的队列存入增量多媒体数据,而导致多媒体数据转出的队列转出多媒体数据的时间不可控,进而可以确保多媒体数据转出的队列可以在设定的时间内全部完成转移。
49.可选地,所述增量多媒体数据包括第二标识,所述第二标识用于标记当前新增的
多媒体数据的总量,所述将所述增量多媒体数据按序存储于接收多媒体数据的队列,包括:
50.基于所述第二标识,在所述接收多媒体数据的队列的n个子队列中确定第一目标子队列;
51.基于所述增量多媒体数据的目标属性值,将所述增量多媒体数据按序存储于所述第一目标子队列中的对应位置。
52.具体地,上述第二标识可以采用第一计数器实现,其中,所述第一计算器可以是redis原子计数器,具体而言,上述第一计数器可以在确定第一队列之后,从1开始,每次在接收到一个新增多媒体数据时,自加1。
53.可选地,为了确保在将新涌入的多媒体数据插入接收多媒体数据的队列之后,接收多媒体数据的队列的各子队列中的多媒体数据的数量始终处于相对均匀的状态。可以按照顺序将所接收到的多媒体数据依次插入各子队列,将第m个所接收到的多媒体数据插入第s个所述子队列,其中,所述s等于所述m对所述n取余后得到的值加1。例如,当所述接收多媒体数据的队列为第二队列时,可以将接收到的第1个多媒体数据插入第二子队列1,将接收到的第2个多媒体数据插入第二子队列2
…
将接收到的第n个多媒体数据插入第二子队列n,将接收到的第n+1个多媒体数据插入第二子队列1。依次循环,即可确保将所接收到的多媒体数据相对均匀的插入第二队列中的各第二子队列。
54.上述基于所述增量多媒体数据的目标属性值,将所述增量多媒体数据按序存储于所述第一目标子队列中的对应位置可以是指:将所述增量多媒体数据的目标属性值与第一目标子队列中所存储的多媒体数据的目标属性值进行比较,基于所述目标属性值确定增量多媒体数据在第一目标子队列中的位置,使得增量多媒体数据在插入至第一目标子队列之后,第一目标子队列中所存储的多媒体数据按照目标属性值的大小,由大至小的顺序依次排列。
55.可选地,所述第一队列包括第一标识,或者,所述第二队列包括所述第一标识,所述第一标识用于标识所述第一队列和所述第二队列之间是否正在转移多媒体数据;所述确定第二队列之后,所述方法还包括:
56.在接收到数据读取指令的情况下,基于所述第一标识判断所述第一队列和所述第二队列之间的多媒体数据的转移状态;
57.在所述第一标识指示所述第一队列和所述第二队列之间正在转移多媒体数据的情况下,响应于所述数据读取指令,从移出多媒体数据的队列读取多媒体数据;
58.在所述第一标识指示所述第一队列和所述第二队列之间的多媒体数据转移完成的情况下,响应于所述数据读取指令,从接收多媒体数据的队列读取多媒体数据。
59.该实施方式中,接收数据读取指令,即用于从已排序的第一队列或第二队列中读取多媒体数据的指令,以便于对所读取的多媒体数据进行标签设置等操作。应当说明的是,在完成对多媒体数据的读取之后,可以将所读取的数据从该多媒体数据从其所处队列中移除。
60.第一队列和所述第二队列之间正在转移多媒体数据的情况下,后台中的多媒体数据正处于由移出多媒体数据的队列向接收多媒体数据的队列转移的过程,而该过程中,通常是由移出多媒体数据的队列的各子队列的对尾获取多媒体数据转移对应的接收多媒体数据的队列的子队列。由于,移出多媒体数据的队列是按照目标属性值由高至低倒序排序
的,即在该过程中,移出多媒体数据的队列中所剩余的待排序多媒体数据的目标属性值可能相对较高。为此,为了确保所读取的多媒体数据为目标属性值高的多媒体数据,可以从移出多媒体数据的队列中读取多媒体数据。相应地,当已完成数据转移的过程之后,由于移出多媒体数据的队列为空队列,此时,可以从接收多媒体数据的队列中读取多媒体数据。
61.例如,在由第二队列向第一队列转移多媒体数据的过程中,接收数据读取指令时,在完成多媒体数据转移完成的情况下,从所述第一队列中读取多媒体数据;在未完成多媒体数据转移完成的情况下,从所述第二队列中读取所述第二多媒体数据。
62.可选地,所述数据读取指令包括第三标识,所述第三标识用于标记当前所读取的多媒体数据的总量,所述响应于所述数据读取指令,从移出多媒体数据的队列读取多媒体数据,包括:
63.基于所述第三标识,在所述从移出多媒体数据的队列的n个子队列中确定第二目标子队列;
64.响应于所述数据读取指令,在所述第二目标子队列中读取多媒体数据;
65.所述响应于所述数据读取指令,从接收多媒体数据的队列读取多媒体数据,包括:
66.基于所述第三标识,在所述从接收多媒体数据的队列的n个子队列中确定第三目标子队列;
67.响应于所述数据读取指令,在所述第三目标子队列中读取多媒体数据。
68.具体地,上述第三标识可以采用第二计数器实现,其中,所述第二计算器可以是redis原子计数器,具体而言,上述第二计数器可以在确定第一队列之后,从1开始,每次在接收到一个数据读取指令时,自加1。
69.其中,为了确保在完成数据读取后,各子队列中多媒体数据的数量相对均匀,可以按照参照上述数据插入的过程,基于所述第三标识确定每次数据读取的子队列的序号。例如,在第x次接收到数据读取指令的情况下,若所述第一标识指示所述第一队列和所述第二队列之间正在转移多媒体数据,则上述第二目标子队列为所述移出多媒体数据的队列的第y个子队列;若所述第一标识指示所述第一队列和所述第二队列之间的多媒体数据转移完成,则所述第三目标子队列为接收多媒体数据的队列的第y个子队列;其中,所述y等于x对n取余后得到的值加1。这样,每次在接收到数据读取指令之后,可以基于数据读取指令中的第三标识确定第二目标子队列或第三目标子队列,然后,可以在所确定的子队列的队首开始读取多媒体数据,即从读取所确定的子队列中目标属性值最高的多媒体数据。
70.可选地,所述确定第一队列,包括:
71.获取初始队列,其中,所述初始队列中存储有多个多媒体数据;
72.将所述多个多媒体数据存储至所述第一队列的n个第一子队列中。
73.其中,所述初始队列可以是后台中所有待排序的多媒体数据所形成的队列,该初始队列可以按照各多媒体数据涌入后台的时间先后,确定各多媒体数据在初始队列中的顺序。
74.请参见图2,该实施方式中,可以通过统一的数据通道接收多媒体数据,然后将所接收到的多媒体数据分别存储于第一队列的n个第一子队列中,从而实现对所接收到的多媒体数据的队列划分的过程。
75.此外,在对第一队列或者第二队列进行排序的过程中,由于服务器宕机或者重启
等原因,可能导致排序过程中断。因此,可以在设置一个标识位,用于标识当前处于数据转移的子队列的位置,当排序过程中断之后,下次再进行排序时,可从标识位所指示的子队列的位置继续进行排序。
76.上述对初始队列进行划分的过程中,可以为每个第一子队列设置第一阀值作为第一子队列可存放多媒体数据数量的上限,例如,所述第一阀值为10万。这样,当第一子队列中的数据量超过第一阀值时,将不再向该第一子队列中划分多媒体数据,当n个第一子队列中的数据量均等于所述第一阀值时,则可自动新增一个第一子队列,以便于将初始队列中剩余的多媒体数据划分至该新增的第一子队列。此外,也可以在对初始队列中的多媒体数据进行划分之前,基于所述初始队列中的数据的数量,确定所述n的值,以确保可以将初始队列中的所有数据划分至n个第一子队列,且完成划分之后,各第一子队列中的数据量均不超过所述第一阀值。通过设置第一子队列中可存放的多媒体数据的数量的上限,以便于控制服务器每次排序的多媒体数据的上限,进而进一步提高排序的效果。
77.请参见图4,图4为上述多媒体数据的读取以及插入过程的流程示意图。在接收到的数据插入指令之后,确定所需插入的子队列的序号,即确定上述实施例中的s的值,以便于从所确定的子队列的队列尾部插入多媒体数据。然后,判断当前队列是否处于数据转移的过程,若是,则将所述多媒体数据插入备份队列,若否,则将多媒体数据插入当前队列。上述当前队列是指上一次排序所获取的队列,例如,在对第一队列中的多媒体数据进行排序,将第一队列中的多媒体数据向第二队列进行转移的过程中,第一队列为所述当前队列,第二队列为备份队列。反之,在对第二队列中的多媒体数据进行排序,将第二队列中的多媒体数据向第一队列进行转移的过程中,第二队列为所述当前队列,第一队列为备份队列。又例如,在完成对第一队列的排序得到第二队列之后,第二队列则为当前队列。
78.相应地,数据的读取过程与上述数据的插入过程类似,在接收到数据读取指令的情况下,确定所需读取的多媒体数据所处子队列的序号,以便于从所确定的子队列的队列首部读取多媒体数据。然后判断当前队列是否为空,在当前队列不为空的情况下,从当前队列中读取多媒体数据,在当前队列为空的情况下,从备份队列中读取多媒体数据。
79.此外,本技术实施例还提供了一种数据存储系统,包括:
80.第一队列,所述第一队列包括n个第一子队列,所述第一子队列,用于基于多媒体数据的目标属性值的大小,按序储存多媒体数据。
81.可选地,所述系统还包括:
82.第二队列,所述第二队列包括n个第二子队列,所述第二子队列,用于响应于更新指令,基于更新后的目标属性值的大小,按序储存多媒体数据。
83.本实施例提供的数据存储系统可以实现上述实施例中第一队列和第二队列的各个过程,且具有相同的有益效果,为避免重复,此处不再予以赘述。
84.请参见图5,本发明实施例还提供了一种多媒体数据的排序装置500,包括:
85.第一确定模块501,用于确定第一队列,所述第一队列包括n个第一子队列,所述n个第一子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;
86.第二确定模块502,用于确定各多媒体数据的目标属性值,以使各所述第一子队列中的多媒体数据按照所述目标属性值的大小按序存储。
87.可选地,所述目标属性值为随时间变化的属性值,所述装置还包括:
88.第三确定模块,用于确定第二队列,所述第二队列包括n个第二子队列,所述n个第二子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;
89.更新模块,用于在接收到更新指令的情况下,响应于所述更新指令,基于各多媒体数据当前的目标属性值,将第一目标队列中的多媒体数据转移至所述第二目标队列,以使转移至所述第二目标队列的多媒体数据,按照多媒体数据当前的目标属性值的大小,按序储存于所述第二目标队列的n个子队列;
90.其中,所述第一队列和所述第二队列中,存储有多媒体数据的一者为所述第一目标队列,未存储多媒体数据的一者为所述第二目标队列。
91.可选地,所述第一队列包括第一标识,或者,所述第二队列包括所述第一标识,所述第一标识用于标识所述第一队列和所述第二队列之间是否正在转移多媒体数据;所述装置还包括:
92.第一判断模块,用于在接收到增量多媒体数据的情况下,基于所述第一标识判断所述第一队列和所述第二队列之间的多媒体数据的转移状态;
93.存储模块,用于在所述第一标识指示所述第一队列和所述第二队列之间正在转移多媒体数据,或者,所述第一标识指示所述第一队列和所述第二队列之间的多媒体数据转移完成的情况下,将所述增量多媒体数据按序存储于接收多媒体数据的队列。
94.可选地,所述增量多媒体数据包括第二标识,所述第二标识用于标记当前新增的多媒体数据的总量,所述存储模块,包括:
95.第一确定子模块,用于基于所述第二标识,在所述接收多媒体数据的队列的n个子队列中确定第一目标子队列;
96.第一存储子模块,用于基于所述增量多媒体数据的目标属性值,将所述增量多媒体数据按序存储于所述第一目标子队列中的对应位置。
97.可选地,所述第一队列包括第一标识,或者,所述第二队列包括所述第一标识,所述第一标识用于标识所述第一队列和所述第二队列之间是否正在转移多媒体数据;所述判断模块,还用于在接收到数据读取指令的情况下,基于所述第一标识判断所述第一队列和所述第二队列之间的多媒体数据的转移状态;
98.所述装置还包括:
99.读取模块,用于在所述第一标识指示所述第一队列和所述第二队列之间正在转移多媒体数据的情况下,响应于所述数据读取指令,从移出多媒体数据的队列读取多媒体数据;
100.所述读取模块,还用于在所述第一标识指示所述第一队列和所述第二队列之间的多媒体数据转移完成的情况下,响应于所述数据读取指令,从接收多媒体数据的队列读取多媒体数据。
101.可选地,所述数据读取指令包括第三标识,所述第三标识用于标记当前所读取的多媒体数据的总量,所述读取模块包括:
102.第二确定子模块,用于基于所述第三标识,在所述从移出多媒体数据的队列的n个子队列中确定第二目标子队列;
103.读取子模块,用于响应于所述数据读取指令,在所述第二目标子队列中读取多媒体数据;
104.所述第二确定子模块,还用于基于所述第三标识,在所述从接收多媒体数据的队列的n个子队列中确定第三目标子队列;
105.所述读取子模块,还用于响应于所述数据读取指令,在所述第三目标子队列中读取多媒体数据。
106.可选地,所述第一确定模块,包括:
107.获取子模块,用于获取初始队列,其中,所述初始队列中存储有多个多媒体数据;
108.第二存储子模块,用于将所述多个多媒体数据存储至所述第一队列的n个第一子队列中。
109.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
110.通信接口用于上述终端与其他设备之间的通信。
111.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
112.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
113.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多媒体数据的排序方法。
114.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的多媒体数据的排序方法。
115.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
116.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实
体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
117.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
118.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
技术特征:
1.一种多媒体数据的排序方法,其特征在于,包括:确定第一队列,所述第一队列包括n个第一子队列,所述n个第一子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;确定各多媒体数据的目标属性值,以使各所述第一子队列中的多媒体数据按照所述目标属性值的大小按序存储。2.根据权利要求1所述的方法,其特征在于,所述目标属性值为随时间变化的属性值,所述方法还包括:确定第二队列,所述第二队列包括n个第二子队列,所述n个第二子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;在接收到更新指令的情况下,响应于所述更新指令,基于各多媒体数据当前的目标属性值,将第一目标队列中的多媒体数据转移至所述第二目标队列,以使转移至所述第二目标队列的多媒体数据,按照多媒体数据当前的目标属性值的大小,按序储存于所述第二目标队列的n个子队列;其中,所述第一队列和所述第二队列中,存储有多媒体数据的一者为所述第一目标队列,未存储多媒体数据的一者为所述第二目标队列。3.根据权利要求2所述的方法,其特征在于,所述第一队列包括第一标识,或者,所述第二队列包括所述第一标识,所述第一标识用于标识所述第一队列和所述第二队列之间是否正在转移多媒体数据;所述确定第二队列之后,所述方法还包括:在接收到增量多媒体数据的情况下,基于所述第一标识判断所述第一队列和所述第二队列之间的多媒体数据的转移状态;在所述第一标识指示所述第一队列和所述第二队列之间正在转移多媒体数据,或者,所述第一标识指示所述第一队列和所述第二队列之间的多媒体数据转移完成的情况下,将所述增量多媒体数据按序存储于接收多媒体数据的队列。4.根据权利要求3所述的方法,其特征在于,所述增量多媒体数据包括第二标识,所述第二标识用于标记当前新增的多媒体数据的总量,所述将所述增量多媒体数据按序存储于接收多媒体数据的队列,包括:基于所述第二标识,在所述接收多媒体数据的队列的n个子队列中确定第一目标子队列;基于所述增量多媒体数据的目标属性值,将所述增量多媒体数据按序存储于所述第一目标子队列中的对应位置。5.根据权利要求2所述的方法,其特征在于,所述第一队列包括第一标识,或者,所述第二队列包括所述第一标识,所述第一标识用于标识所述第一队列和所述第二队列之间是否正在转移多媒体数据;所述确定第二队列之后,所述方法还包括:在接收到数据读取指令的情况下,基于所述第一标识判断所述第一队列和所述第二队列之间的多媒体数据的转移状态;在所述第一标识指示所述第一队列和所述第二队列之间正在转移多媒体数据的情况下,响应于所述数据读取指令,从移出多媒体数据的队列读取多媒体数据;在所述第一标识指示所述第一队列和所述第二队列之间的多媒体数据转移完成的情况下,响应于所述数据读取指令,从接收多媒体数据的队列读取多媒体数据。
6.根据权利要求5所述的方法,其特征在于,所述数据读取指令包括第三标识,所述第三标识用于标记当前所读取的多媒体数据的总量,所述响应于所述数据读取指令,从移出多媒体数据的队列读取多媒体数据,包括:基于所述第三标识,在所述从移出多媒体数据的队列的n个子队列中确定第二目标子队列;响应于所述数据读取指令,在所述第二目标子队列中读取多媒体数据;所述响应于所述数据读取指令,从接收多媒体数据的队列读取多媒体数据,包括:基于所述第三标识,在所述从接收多媒体数据的队列的n个子队列中确定第三目标子队列;响应于所述数据读取指令,在所述第三目标子队列中读取多媒体数据。7.根据权利要求1所述的方法,其特征在于,所述确定第一队列,包括:获取初始队列,其中,所述初始队列中存储有多个多媒体数据;将所述多个多媒体数据存储至所述第一队列的n个第一子队列中。8.一种数据存储系统,其特征在于,包括:第一队列,所述第一队列包括n个第一子队列,所述第一子队列,用于基于多媒体数据的目标属性值的大小,按序储存多媒体数据。9.根据权利要求8所述的系统,其特征在于,所述系统还包括:第二队列,所述第二队列包括n个第二子队列,所述第二子队列,用于响应于更新指令,基于更新后的目标属性值的大小,按序储存多媒体数据。10.一种多媒体数据的排序装置,其特征在于,包括:第一确定模块,用于确定第一队列,所述第一队列包括n个第一子队列,所述n个第一子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;第二确定模块,用于确定各多媒体数据的目标属性值,以使各所述第一子队列中的多媒体数据按照所述目标属性值的大小按序存储。11.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
技术总结
本发明实施例提供了一种多媒体数据的排序方法、数据存储系统、装置和电子设备,方法包括:确定第一队列,所述第一队列包括N个第一子队列,所述N个第一子队列分别用于存储所接收到的多媒体数据中的不同多媒体数据;确定各多媒体数据的目标属性值,以使各所述第一子队列中的多媒体数据按照所述目标属性值的大小按序存储。本发明实施例提供的一种多媒体数据的排序方法、数据存储系统、装置和电子设备,可以解决现有技术中,在对后台数据进行排序时,存在的排序效果差的问题。在的排序效果差的问题。在的排序效果差的问题。
技术研发人员:周志成 景小琳
受保护的技术使用者:北京奇艺世纪科技有限公司
技术研发日:2020.11.23
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-18874.html