发明内容
本公开实施例至少提供一种进行信息处理的方法,以缓解累计计数的压力。
第一方面,本公开实施例提供了一种进行信息处理的方法,所述方法包括:
在接收到写入信息时,获取所述写入信息对应的写入位置信息;
判断在与当前时间对应的预设时间段内,所述写入位置信息所对应的写入信息数量是否达到设定阈值;
若达到所述设定阈值,则将所述写入位置信息在所述预设时间段内对应的频控状态标识记录为第一标识;所述第一标识用于指示停止对所述写入信息的写入数量进行更新。
在一种可能的实施方式中,获取所述写入信息对应的写入位置信息之后,所述方法还包括:
获取所述写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
若所述频控状态标识为所述第一标识,则停止对所述写入信息的写入数量进行更新。
在一种可能的实施方式中,获取所述写入位置信息在与当前时间对应的预设时间段内的频控状态标识之后,所述方法还包括:
若所述频控状态标识为用于指示对写入信息的写入数量进行更新的第二标识,则对所述写入信息的写入数量进行更新。
在一种可能的实施方式中,所述写入位置信息包括直播间信息,所述判断在与当前时间对应的预设时间段内,所述写入位置信息所对应的写入信息数量是否达到设定阈值,包括:
判断在与当前时间对应的预设时间段内,所述直播间信息所对应的写入信息数量是否达到设定阈值。
在一种可能的实施方式中,所述方法还包括:
按照设定时间周期,删除除当前时间对应的预设时间段之外的频控状态标识。
第二方面,本公开实施例提供了一种进行信息处理的方法,所述方法包括:
在接收到写入信息时,获取所述写入信息对应的写入位置信息;
获取所述写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
若所述频控状态标识为用于指示停止对所述写入信息的写入数量进行更新的第一标识,则停止对所述写入信息的写入数量进行更新。
第三方面,本公开实施例提供了一种进行信息处理的装置,所述装置包括:
信息获取模块,用于在接收到写入信息时,获取所述写入信息对应的写入位置信息;
阈值判断模块,用于判断在与当前时间对应的预设时间段内,所述写入位置信息所对应的写入信息数量是否达到设定阈值;
状态记录模块,用于若达到所述设定阈值,则将所述写入位置信息在所述预设时间段内对应的频控状态标识记录为第一标识;所述第一标识用于指示停止对所述写入信息的写入数量进行更新。
在一种可能的实施方式中,所述装置还包括控制模块,所述控制模块在所述获取模块获取所述写入信息对应的写入位置信息之后,用于:
获取所述写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
若所述频控状态标识为所述第一标识,则停止对所述写入信息的写入数量进行更新。
在一种可能的实施方式中,获取所述写入位置信息在与当前时间对应的预设时间段内的频控状态标识之后,所述控制模块还用于:
若所述频控状态标识为用于指示对写入信息的写入数量进行更新的第二标识,则对所述写入信息的写入数量进行更新。
在一种可能的实施方式中,所述写入位置信息包括直播间信息,所述阈值判断模块在用于判断在与当前时间对应的预设时间段内,所述写入位置信息所对应的写入信息数量是否达到设定阈值时,包括:
判断在与当前时间对应的预设时间段内,所述直播间信息所对应的写入信息数量是否达到设定阈值。
在一种可能的实施方式中,所述装置还包括状态删除模块,所述状态删除模块用于:
按照设定时间周期,删除除当前时间对应的预设时间段之外的频控状态标识。
第四方面,本公开实施例提供了一种进行信息处理的装置,所述装置包括:
信息获取模块,用于在接收到写入信息时,获取所述写入信息对应的写入位置信息;
状态获取模块,用于获取所述写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
控制模块,用于若所述频控状态标识为用于指示停止对所述写入信息的写入数量进行更新的第一标识,则停止对所述写入信息的写入数量进行更新。
第五方面,本公开实施例提供了一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如第一方面或第二方面所述方法的步骤。
第六方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面或第二方面所述方法的步骤。
本公开实施例提供的进行信息处理的方法,在接收到新的写入信息时,获取该写入信息对应的写入位置信息,然后判断与当前时间对应的预设时间段内,该写入位置信息所对应的写入信息数量是否达到设定阈值,并在确定达到设定阈值后,将写入位置信息在所述预设时间段内对应的频控状态标识记录为用于指示停止对所述写入信息的写入数量进行更新的第一标识,这样后面再接收到写入信息时,可以基于该第一标识,判定已经停止对写入信息的写入数量进行更新,就可以节省累计计数的过程,从而存储器不需要再不停更新存储的累计计数的数值,也不需要再访问存储器来获取累计计数的数值,从而减少对存储器造成的性能压力。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
在一些应用场景中,比如直播场景中,针对同一直播间,可能在很短时间段内并发接收到大量信息,若并发的大量信息进入该直播间所在的客户端的数据库时,使得数据库的性能受到影响,导致直播效果不佳,因此一般情况下,考虑引入频控来对直播间的信息数量进行控制,即控制单位时长内写入的信息数量,该写入数量可以由存储器进行存储更新,从而基于存储器在单位时长内统计的信息数量,来确定是否允许消息写入。
基于上述研究,本公开提供了一种进行信息处理的方法,在接收到新的写入信息时,获取该写入信息对应的写入位置信息,然后判断与当前时间对应的预设时间段内,该写入位置信息所对应的写入信息数量是否达到设定阈值,并在确定达到设定阈值后,将写入位置信息在所述预设时间段内对应的频控状态标识记录为用于指示停止对所述写入信息的写入数量进行更新的第一标识,这样后面再接收到写入信息时,可以基于该第一标识,判定已经停止对写入信息的写入数量进行更新,就可以节省累计计数的过程,从而存储器不需要再不停更新存储的累计计数的数值,也不需要再访问存储器来获取累计计数的数值,从而减少对存储器造成的性能压力。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种进行信息处理的方法进行详细介绍,本公开实施例所提供的进行信息处理的方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:服务器或其它处理设备,在一些可能的实现方式中,该进行信息处理的方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为服务器为例对本公开实施例提供的进行信息处理的方法加以说明。
参见图1所示,为本公开实施例一提供的进行信息处理的方法的流程图,方法包括步骤S101~S103,其中:
S101,在接收到写入信息时,获取写入信息对应的写入位置信息。
其中,这里的写入信息即为服务器接收到需要在指定位置进行写入的信息,写入信息中可以包含该写入信息对应的写入位置信息,比如表示写入位置信息的标识码。
本公开实施例适用于直播场景、观影时发表弹幕的场景,本公开实施例以应用于直播场景为例时,这里的写入位置信息是指写入信息待展示的直播间信息,比如可以通过写入信息携带的直播间标识码来表示直播间信息。
S102,判断在与当前时间对应的预设时间段内,写入位置信息所对应的写入信息数量是否达到设定阈值。
本公开实施例可以预先设定好的多个时间段序列,比如直播时长为从9:00~10:00,则可以设置的时间段可以包括9:00~9:01,9:00~9:01,…,9:59~10:00;若当前时间为9:00,则可以确定这里当前时间对应的预设时间段为9:00~9:01,这里的当前时间是指执行进行信息处理的方法的服务器的当前时间。
本公开实施例通过存储器,比如缓存Redis、非关系型数据库NoSQL等来存储每个写入位置信息在预设时间内存储的写入信息数量,这里可以是获取存储器存储的当前时间对应的预设时间段内,写入位置信息所对应的写入信息数量,然后将获取的写入信息数量与设定阈值进行比较,从而确定该写入信息数量是否达到设定阈值。
这里设定阈值和设定时间段可以通过预先大量实验确定的,比如不断调整设定时间段和设定阈值,完成对大量直播间的直播效果进行测试,从而选择合适的设定阈值和设定时间段。
S103,若达到设定阈值,则将写入位置信息在预设时间段内对应的频控状态标识记录为第一标识;第一标识用于指示停止对写入信息的写入数量进行更新。
这里写入位置信息在预设时间段内对应的频控状态标识可以通过预先建立的哈希表来记录频率状态标识,具体地,在哈希表中可以以键值对的形式存储每个写入位置信息在各个预设时间段内对应的频控状态标识。
比如,哈希表中记录的频控状态标识可以存在默认值,该默认值可以通过第二标识表示,当在与当前时间对应的预设时间段内,写入位置信息所对应的写入信息数量达到设定阈值时,使用哈希表将该第二标识更新为第一标识。
这里的第一标识可以通过设定的字符进行表示,比如可以通过“ture”进行表示,也可以通过“1”来表示,或者通过其它字符进行表示,在此不做限定。
比如,若写入位置信息为直播间001,当前时间对应的预设时间段为9:01~9:02,则可以在哈希表中通过“key=9:01~9:02:room001,value=“ture””来表示直播间001在9:01~9:02之间对应的写入信息数量达到设定阈值。
这里在确定写入位置信息在预设时间段内对应的频控状态标识记录为第一标识时,即说明在与当前时间对应的预设时间段内,写入位置信息所对应的写入信息数量达到了设定阈值,此时在该预设时间段内再接收的新的写入信息因为不会在直播间进行展示,可以认为是无效写入信息,针对这些无效写入信息无需进行计数存储,进而存储器也就无需对写入信息的写入数量进行更新。
以上S101~S103公开的进行信息处理的方法,在接收到新的写入信息时,获取该写入信息对应的写入位置信息,然后判断与当前时间对应的预设时间段内,该写入位置信息所对应的写入信息数量是否达到设定阈值,并在确定达到设定阈值后,将写入位置信息在所述预设时间段内对应的频控状态标识记录为用于指示停止对所述写入信息的写入数量进行更新的第一标识,这样后面再接收到写入信息时,可以基于该第一标识,判定已经停止对写入信息的写入数量进行更新,就可以节省累计计数的过程,从而存储器不需要再不停更新存储的累计计数的数值,也不需要再访问存储器来获取累计计数的数值,从而减少对存储器造成的性能压力。
下面结合具体实施例对以上S101~S103进行详细说明。
在步骤S101,获取写入信息对应的写入位置信息之后,本公开实施例提供的进行信息处理的方法还包括:
(1)获取写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
(2)若频控状态标识为第一标识,则停止对写入信息的写入数量进行更新;
(3)若频控状态标识为用于指示对写入信息的写入数量进行更新的第二标识,则对写入信息的写入数量进行更新。
这里在接收到写入信息,并获取到该写入信息对应的写入位置信息之后即可以获取该写入位置信息在与当前时间对应的预设时间段内的频控状态标识,以确定该写入位置信息在当前时间对应的预设时间段内的写入信息数量是否达到设定阈值。
这里的第一标识详见上文解释,在确定频控状态标识为第一标识时,说明该写入位置信息在当前时间对应的预设时间段内的写入信息数量达到设定阈值,此时默认为该写入信息为无效写入信息,可以将接收的写入信息进行丢弃,针对直播场景,即不会对该写入信息进行存储也不会在直播间对该写入信息进行展示,同时在接收到该写入信息时,也不会指示存储器对写入信息的写入数量进行更新,这样,即可以减少在当前时间对应的预设时间段对存储器的访问次数,从而减少对存储器造成的性能压力。
相反地,在频控状态标识为用于指示对写入信息的写入数量进行更新的第二标识时,即说明该写入位置信息在当前时间对应的预设时间段内的写入信息数量还未达到设定阈值,即此时接收的写入信息为有效写入信息,针对直播场景,可以对该写入信息进行存储并在直播间进行展示,同时指示存储器对写入信息的写入数量进行更新。
另外,当这里的第一标识通过“ture”表示时,这里的第二标识可以通过“false”进行表示;当第一标识通过“1”表示时,这里的第二标识可以通过“0”进行表示。
以一种具体的场景为例,比如写入位置信息包括直播间信息,在判断在与当前时间对应的预设时间段内,写入位置信息所对应的写入信息数量是否达到设定阈值时,包括:
判断在与当前时间对应的预设时间段内,直播间信息所对应的写入信息数量是否达到设定阈值。
这里的直播间信息即可以表示具体的直播间,比如直播间001。
上述提到可以通过哈希表来记录频率状态标识,为了防止哈希表中存储大量过期信息影响哈希表的存储效果,本公开实施例提供的进行信息处理的方法,还包括:
按照设定时间周期,删除除当前时间对应的预设时间段之外的频控状态标识。
这里提出每隔设定时间周期,比如每隔一小时,可以对哈希表中存储的当前时间对应的预设时间段之外的频控状态标识进行删除,即对过期的频控状态标识进行删除。
比如,当前时间为9:00,当前时间对应的预设时间段为9:00~9:01,且当前时间达到删除周期时,将9:00~9:01之外的频控状态标识进行删除,这里哈希表中存储的9:00之前的频控状态标识为过期的频控状态标识,即可以对哈希表中存储的9:00之前的频控状态标识进行删除。
本公开实施例还提供了一种进行信息处理的方法,如图2所示,该方法包括以下具体步骤S201~S203:
S201,在接收到写入信息时,获取写入信息对应的写入位置信息;
S202,获取写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
S203,若频控状态标识为用于指示停止对写入信息的写入数量进行更新的第一标识,则停止对写入信息的写入数量进行更新。
这里是上文描述的进行信息处理的方法的一种具体实施例,详细过程详见上文描述,在此不在赘述。
下面,结合一具体直播场景的实施例,对本公开实施例给出的进行信息处理的方法进行描述:
首先,假设直播间001在设定时间段内对应的写入信息数量的设定阈值为N,该直播间001的直播间ID为001,通过缓存Redis来对写入信息进行计数并存储写入信息数量,通过哈希表来存储直播间001在设定时间段内对应的频控状态标识。
在接收到写入信息时,获取写入信息对应的直播间信息,得到直播间001,此时判断哈希表中存储直播间001在当前时间对应的设定时间段内的频控状态标识,假如获取到的频控状态标识为第一标识“ture”,说明直播间001在当前时间对应的预设时间段内的写入信息数量达到上限N,则不会向缓存Redis发送计数指令,即缓存Redis不会对写入信息的写入数量进行更新。
假如获取到的频控状态标识为第二标识“false”,说明直播间001在当前时间对应的预设时间段内的写入信息数量未达到上限N,则会向缓存Redis发送计数指令,即缓存Redis会对写入信息的写入数量进行更新。
在此过程中,可以按照设定时间周期,对哈希表中存储的关于该直播间001过期的频控状态标识进行删除。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一技术构思,本公开实施例中还提供了与进行信息处理的方法对应的进行信息处理的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述进行信息处理的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种进行信息处理的装置300的示意图,该装置包括:信息获取模块301、阈值判断模块302、状态记录模块303。
其中,信息获取模块301,用于在接收到写入信息时,获取写入信息对应的写入位置信息;
阈值判断模块302,用于判断在与当前时间对应的预设时间段内,写入位置信息所对应的写入信息数量是否达到设定阈值;
状态记录模块303,用于若达到设定阈值,则将写入位置信息在预设时间段内对应的频控状态标识记录为第一标识;第一标识用于指示停止对写入信息的写入数量进行更新。
在一种可能的实施方式中,进行信息处理的装置300还包括控制模块304,控制模块304在信息获取模块301获取写入信息对应的写入位置信息之后,用于:
获取写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
若频控状态标识为第一标识,则停止对写入信息的写入数量进行更新。
在一种可能的实施方式中,获取写入位置信息在与当前时间对应的预设时间段内的频控状态标识之后,控制模块304还用于:
若频控状态标识为用于指示对写入信息的写入数量进行更新的第二标识,则对写入信息的写入数量进行更新。
在一种可能的实施方式中,写入位置信息包括直播间信息,阈值判断模块302在用于判断在与当前时间对应的预设时间段内,写入位置信息所对应的写入信息数量是否达到设定阈值时,包括:
判断在与当前时间对应的预设时间段内,直播间信息所对应的写入信息数量是否达到设定阈值。
在一种可能的实施方式中,进行信息处理的装置300还包括状态删除模块305,状态删除模块305用于:
按照设定时间周期,删除除当前时间对应的预设时间段之外的频控状态标识。
参见图4,为本公开实施例提供的一种进行信息处理的装置400的示意图,该装置包括:信息获取模块401、状态获取模块402、控制模块403。
其中,信息获取模块401,用于在接收到写入信息时,获取写入信息对应的写入位置信息;
状态获取模块402,用于获取写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
控制模块403,用于若频控状态标识为用于指示停止对写入信息的写入数量进行更新的第一标识,则停止对写入信息的写入数量进行更新。
对应于图1中的进行信息处理的方法,本公开实施例还提供了一种电子设备500,如图5所示,为本公开实施例提供的电子设备500结构示意图,包括:
处理器51、存储器52、和总线53;存储器52用于存储执行指令,包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器51中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器51通过内存521与外部存储器522进行数据交换,当电子设备500运行时,处理器51与存储器52之间通过总线53通信,使得处理器51执行以下指令:
在接收到写入信息时,获取写入信息对应的写入位置信息;
判断在与当前时间对应的预设时间段内,写入位置信息所对应的写入信息数量是否达到设定阈值;
若达到设定阈值,则将写入位置信息在预设时间段内对应的频控状态标识记录为第一标识;第一标识用于指示停止对写入信息的写入数量进行更新。
在一种可能的实施方式中,获取写入信息对应的写入位置信息之后,处理器51执行的指令中,还包括:
获取写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
若频控状态标识为第一标识,则停止对写入信息的写入数量进行更新。
在一种可能的实施方式中,获取写入位置信息在与当前时间对应的预设时间段内的频控状态标识之后,处理器执行的指令中,还包括:
若频控状态标识为用于指示对写入信息的写入数量进行更新的第二标识,则对写入信息的写入数量进行更新。
在一种可能的实施方式中,写入位置信息包括直播间信息,处理器执行的指令,包括:
判断在与当前时间对应的预设时间段内,直播间信息所对应的写入信息数量是否达到设定阈值。
在一种可能的实施方式中,处理器执行的指令还包括:
按照设定时间周期,删除除当前时间对应的预设时间段之外的频控状态标识。
对应于图2中的进行信息处理的方法,本公开实施例还提供了一种电子设备600,如图6所示,为本公开实施例提供的电子设备600结构示意图,包括:
处理器61、存储器62、和总线63;存储器62用于存储执行指令,包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当电子设备600运行时,处理器61与存储器62之间通过总线63通信,使得处理器61执行以下指令:
在接收到写入信息时,获取写入信息对应的写入位置信息;
获取写入位置信息在与当前时间对应的预设时间段内的频控状态标识;
若频控状态标识为用于指示停止对写入信息的写入数量进行更新的第一标识,则停止对写入信息的写入数量进行更新。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的进行信息处理的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的进行信息处理的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的进行信息处理的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。