CN113157756A - 互动数据统计方法、装置、电子设备及存储介质 - Google Patents

互动数据统计方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113157756A
CN113157756A CN202110518092.2A CN202110518092A CN113157756A CN 113157756 A CN113157756 A CN 113157756A CN 202110518092 A CN202110518092 A CN 202110518092A CN 113157756 A CN113157756 A CN 113157756A
Authority
CN
China
Prior art keywords
identity
target audience
statistical
queue
target
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.)
Granted
Application number
CN202110518092.2A
Other languages
English (en)
Other versions
CN113157756B (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.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya 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 Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202110518092.2A priority Critical patent/CN113157756B/zh
Publication of CN113157756A publication Critical patent/CN113157756A/zh
Application granted granted Critical
Publication of CN113157756B publication Critical patent/CN113157756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供一种互动数据统计方法、装置、电子设备及存储介质,方法包括:响应主播用户的任务传递请求,根据主播用户的全部目标观众生成传递队列;目标观众是与主播用户具有关联关系的用户;每个目标观众对应一个队列标识和一个身份标识;按照传递队列传递任务,在任务传递到当前目标观众后,根据当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果。本申请提供的互动数据统计方法,可以根据全部目标观众生成传递队列,当任务传递到任意一个目标观众后,即根据该目标观众对应的队列标识以及目标统计位置上的目标观众对应的队列标识计算身份标识连续不重复的用户数量,实时输出互动结果。

Description

互动数据统计方法、装置、电子设备及存储介质
技术领域
本发明涉及数据处理领域,具体而言,涉及一种互动数据统计方法、装置、电子设备及存储介质。
背景技术
网络视频直播是一种目前流行的直播方式,针对海外直播业务的主播而言,直播平台设计了一种通过跨国粉丝用户邀请打赏接力的互动任务,来增加全球用户跨国互动参与度。
目前,在完成针对不同国籍的粉丝用户的互动任务的过程中,往往需要统计互动任务连续在不同国籍用户之间传递时的最大用户数量,目前的统计方式是在活动结束后根据存储的全部用户的任务数据进行人工统计,由于参与活动的用户数量繁多,增加了数据维护成本,而且不能实时获得互动任务连续在不同国籍用户之间传递时的最大用户数量。
发明内容
有鉴于此,本发明的目的在于提供一种互动数据统计方法、装置、电子设备及存储介质,用以能够实时获得互动任务连续在不同国籍用户之间传递时的最大用户数量。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明提供一种互动数据统计方法,所述方法包括:响应主播用户的任务传递请求,根据所述主播用户的全部目标观众生成传递队列;所述目标观众是与所述主播用户具有关联关系的用户;每个所述目标观众对应一个队列标识和一个身份标识;按照所述传递队列传递任务,在所述任务传递到当前目标观众后,根据所述当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果;其中,所述互动结果表征所述任务从所述目标统计位置传递到所述当前目标观众的过程中身份标识连续不重复的用户数量;所述历史统计数据表征历史统计的身份标识连续不重复的历史用户数量。
第二方面,本发明提供一种互动数据统计方法装置,包括:生成模块,用于响应主播用户的任务传递请求,根据所述主播用户的全部目标观众生成传递队列;所述目标观众是与所述主播用户具有关联关系的用户;每个所述目标观众对应一个队列标识和一个身份标识;确定模块,用于按照所述传递队列传递任务,在所述任务传递到当前目标观众后,根据所述当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果;其中,所述互动结果表征所述任务从所述目标统计位置传递到所述当前目标观众的过程中身份标识连续不重复的用户数量;所述历史统计数据表征历史统计的身份标识连续不重复的历史用户数量。
第三方面,本发明提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现第一方面所述的互动数据统计方法。
第四方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的互动数据统计方法。
本发明提供一种互动数据统计方法、装置、电子设备及存储介质,所述方法包括:响应主播用户的任务传递请求,根据所述主播用户的全部目标观众生成传递队列;所述目标观众是与所述主播用户具有关联关系的用户;每个所述目标观众对应一个队列标识和一个身份标识;按照所述传递队列传递任务,在所述任务传递到当前目标观众后,根据所述当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果;其中,所述互动结果表征所述任务从所述目标统计位置传递到所述当前目标观众的过程中身份标识连续不重复的用户数量;所述历史统计数据表征历史统计的身份标识连续不重复的历史用户数量。与现有技术的区别在于,现有技术的统计方式是在活动结束后根据存储的全部用户的任务数据进行人工统计,由于参与活动的用户数量繁多,增加了数据维护成本,而且不能实时获得互动任务连续在不同国籍用户之间传递时的最大用户数量,而本申请提供的互动数据统计方法,可以根据全部目标观众生成传递队列,当任务传递到任意一个目标观众后,即根据该目标观众对应的队列标识以及目标统计位置上的目标观众对应的队列标识计算身份标识连续不重复的用户数量,实时输出互动结果。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种互动数据统计方法的应用场景示意图;
图2为本申请实施例提供的一种互动数据统计方法的示意性流程图;
图3为本申请实施例提供的一种传递场景图;
图4为本申请实施例提供的一种互动数据统计方法的实现场景图;
图5为本申请实施例提供的另一种互动数据统计方法的示意性流程图;
图6为本申请实施例提供的一种身份数据列表的示例图;
图7为本申请实施例提供的一种步骤S22的实现方式的示意性流程图;
图8为本申请实施例提供的一种更新身份数据列表的场景图;
图9为本申请实施例提供的步骤S23的实现方式的示意性流程图;
图10a为本申请实施例提供的一种互动数据统计方法的实现示意图之一;
图10b为本申请实施例提供的一种互动数据统计方法的实现示意图之二;
图10c为本申请实施例提供的一种互动数据统计方法的实现示意图之三;
图10d为本申请实施例提供的一种互动数据统计方法的实现示意图之四;
图10e为本申请实施例提供的一种互动数据统计方法的实现示意图之五;
图10f为本申请实施例提供的一种互动数据统计方法的实现示意图之六;
图10g为本申请实施例提供的一种互动数据统计方法的实现示意图之七;
图10h为本申请实施例提供的一种互动数据统计方法的实现示意图之八;
图10i为本申请实施例提供的一种互动数据统计方法的实现示意图之九;
图11为本申请实施例提供的一种互动数据统计装置的功能模块图;
图12为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前,海外直播业务作为一种面向全球观众的实时在线直播行为越来越受主播用户的青睐,海外直播过程中为达到直播预期效果,提升全球用户的活动跨国参与度,直播平台可以针对主播的全部粉丝用户发起的全球互动任务活动,例如,互动活动可以是一种通过跨国粉丝用户邀请打赏接力活动(击鼓传花活动)、动画传递活动、投票接力活动等任意一种形式的互动活动。
为了及时掌握互动活动的连续性以及参与用户的多样性,在完成针对不同国籍的粉丝用户的互动任务的过程中,往往需要统计互动任务连续在不同国籍用户之间传递时的最大用户数量,但统计过程往往存在以下难点。
第一,执行一场跨国直播互动活动的活动周期长,发起挑战活动的主播参与门槛低,随着活动时间的推移,或者参与发起活动的主播数量不断增加,统计输出互动结果的时间复杂度会越来越高,尤其在平台用户高峰时期,需要实时获取当前活动数据状态,无疑增加统计计算量,消耗服务器内存。
第二,为了统计活动过程中身份标识连续不重复的最大用户数,往往需要保留每次用户完成任务的记录明细数据,这无疑增加了开发成本,以及数据存储维护成本。
第三,互动活动结束以后,需要对其活动数据复盘统计击鼓传花统计不重复国籍连续参与的传递用户数,数据复杂度比较高。并且不能实时计算立马得出结果,只能活动结束后异步计算。
现有技术的做法是,依赖关系数据库的sql查询能力,通过不断循环查询是否有身份标识(例如国籍)连续不重复的用户,该方法首先查询一场互动活动中有多少个不同国籍的用户参与,然后根据用户的活动数据明细判断是否有连续不重复国籍个数在时间从小到大明细排序明细中,若有则输出的统计结果值互动任务连续在不同国籍用户之间传递时的最大用户数量。
上述统计方案在面向用户数量的高并发的场景中,使得查询数据库的计算压力很大,查询逻辑比较复杂,尤其在消费明细数据量比较大时,完全满足不了性能要求,并且用户每次请求活动统计结果值,需要实时计算,消耗大量计算资源。
为了解决上述方案存在的缺陷,本申请提出了一种互动数据统计方法,该方法能够将每个国籍的所有粉丝用户完成任务明细数据转换为用两位字符存储,实现海外跨国籍统计完成活动用户数的业务需求,并且能通过接口实时快速输出当前的任务完成情况,以及支持高并发的查询能力。
首先,参见图1,该图示出了本申请实施例提供的一种互动数据统计方法的应用场景示意图。如图1所示,可以由该场景中的服务器执行本申请实施例提供的互动数据统计方法。该互动数据统计方法涉及针对粉丝用户的终端的互动任务传递,从而实现直播间层面的互动。其中,目标观众指的是当前进入主播用户直播间内的与主播用户具有关联关系的粉丝用户,例如,用户A关注了主播用户,则用户A与主播用户建立了关联关系,A 在主播用户的直播间内即是主播用户的目标观众。
需要说明的是,本申请实施例中身份标识可以是用来区分不同目标观众的地区或者地域标识,例如,身份标识可以是国籍、居住地区等。
在本申请实施例中,参见图1,服务器可以根据互动任务发起端的传递请求,发起针对多个粉丝用户的互动任务的传递,例如,可以发起针对三个粉丝用户即目标观众A、目标观众B和目标观众C之间的任务传递。目标观众A、目标观众B和目标观众C的身份标识可以不同,例如,目标观众A的国籍为BR,目标观众B的国籍为CN、粉丝用户C的国籍为TH。
在本申请实施例中,服务器可以基于互动任务发起端的请求,将互动任务在互动任务接收端进行传递,在传递过程中,每当互动任务传递到一个粉丝用户,服务器可以实时计算当前身份标识连续不重复的用户数量。
例子:以身份标识为国籍为例,主播尼克发起了一次跨国活动挑战,他的粉丝用户分别为:拥有国籍BR的粉丝A、B;国籍CN的粉丝C;国籍VN的粉丝D、E、F;以及国籍TH的粉丝G、H(为了简化用ABCDEFGH 代表主播尼克的付费关注过的粉丝用户)。假设在一次传递过程中,任务相继传递到的粉丝的情况如下:A(BR)->D(VN)->E(VN)->C(CN) ->G(TH)->C(CN)->H(TH)->B(BR),当任务传递到用户E时,当前身份标识连续不重复的用户数量为2,即BR、VN,再例如,当任务传递到用户G时,当前身份标识连续不重复的用户数量为3,即VN、CN、TH。
在本申请实施例中,为了避免存储大量的用户任务明细数据来统计互动结果,引入了滑动窗口的数据统计处理思想,以此来降低计算的时间复杂度。具体的实现方案做法大概如下:
首先定义一个身份数据列表map,形如(key,value),其中key表征为两位简体国籍大写字母代号(如VN,BR,CN),value为最近一次出现某个身份标识对应的轮次。通过只存储一次对其的国籍两位大写字符串代号编码。并且map的成员数量不会大于全球国籍的总个数,整个存储预估量可控制。
结合上述身份数据列表,为了实现统计连续无重复国籍的完成击鼓传递数最大的用户数,首先定义传递的不重复身份标识的目标统计位置为start,当前传递位置为end,随着任务的传递,当前传递位置end不断遍历向后, [start,end]区间内出现参与的粉丝用户拥有相同国籍的情况,此时将相同国籍的简体字母代号作为key值,并确定其value值,同时可以更新目标统计位置start。无论是否更新start,都会更新其map数据结构和实时统计结果,也就是统计计算出的连续无重复出现的粉丝用户数量。
通过此方案对原计算统计的技术方案的改造,每个国籍的所有粉丝用户完成任务明细数据转换为用两位字符存储,完美实现海外跨国籍统计完成活动用户数的业务需求,并且能通过接口实时快速输出当前的任务完成情况,以及支持高并发的查询能力。
需要说明,本申请实施例不限定互动任务传递请求的获得方式,可以根据实际需要确定适合的方式获得互动任务传递请求,如若需要服务器自动发起互动任务传递,该互动任务传递请求可以由服务器自发生成。本申请实施例不限定互动内容的类型或形式,互动内容可以以任意类型或形式存在,例如互动内容可以是动画等。
还需要说明的是,图1所示的互动任务发起端和互动任务接收端可以是智能手机、计算机、个人数字助理(PersonalDigitalAssistant,简称PDA)、平板电脑、车载电脑等设备。服务器可以是独立的服务器,也可以是集群中的服务器。
结合图1所示的应用场景,本申请实施例的执行主体可以是图1所示的服务器,接下来,将以服务器作为执行主体,对本申请实施例提供的互动数据统计方法进行介绍。其中,该服务器例如可以是用于管理直播业务的服务器。
参见图2,图2为本申请实施例提供的一种互动数据统计方法的示意性流程图,该方法可以包括:
S21、响应主播用户的任务传递请求,根据主播用户的全部目标观众生成传递队列。
在一种可能的实施方式中,服务器可以先检测出进入主播用户的直播间的观众用户中的全部目标观众,将检测到的全部目标观众随机生成传递队列,然后按照传递队列进行传递。
为了方便理解,下面举个例子,例如:主播尼克拥有的粉丝用户可以分别为:拥有国籍BR的粉丝A、B;国籍CN的粉丝C;国籍VN的粉丝 D、E、F以及国籍TH的粉丝G、H。则生成的传递队列可以如图3所示,图3为本申请实施例提供的一种传递场景图,可以看出,互动任务可以按照A(0)->D(1)->E(2)->C(3)->G(4)->C(5)->H(6)->B(7) 的顺序进行传递,其中,括号内的数值对应每个目标观众的队列标识。
S24、按照传递队列传递任务,在任务传递到当前目标观众后,根据当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果。
在本申请实施例中,目标统计位置为该传递队列中的一个传递位置,该目标统计位置的下一个传递位置上开始出现与该目标统计位置上的目标观众的身份标识不同的身份标识。
例如,继续参见图1,目标统计位置可能是A所在的传递位置,可以看出,目标观众A的下一个传递位置上的目标观众D的身份标识为VN,与目标A的身份标识BR不同;再例如,目标统计位置可能是E所在的传递位置,可以看出,目标观众E的下一个传递位置上的目标观众C的身份标识为CN,与目标观众E的身份标识VR不同。还可以看出,因为目标观众D的身份标识与下一个传递对象目标观众E的身份标识相同,目标观众 D所在的传递位置不会作为目标统计位置。
在本申请实施例中,互动结果表征任务从目标统计位置上的目标观众传递到当前目标观众的过程中身份标识连续不重复的用户数量;历史统计数据表征统计的身份标识连续不重复的历史用户数量,也就是上一轮次传递结束时统计的用户数量。
在一种可能的实施方式中,可以通过如下计算公式确定身份标识连续不重复的用户数量,该公式可以表示为:ans=max(end-start+1,ans’),其中,ans表征任务传递到当前目标观众时身份标识连续不重复的用户数量,任务传递之前,ans的值为零,end表征当前目标观众的队列标识,start表征目标统计位置上的目标观众对应的队列标识,ans’表征上一轮次的统计的身份标识连续不重复的用户数量。
为了方便理解上述技术方案达到的技术效果,下面给出一个示例,请参见图4,图4为本申请实施例提供的一种互动数据统计方法的实现场景图。如图4所示,实时输出身份标识连续不重复的用户数量的实现方式如下:
第1轮:任务当前传递到目标观众A,目标统计位置为传递的起始位置,start和end均为A的队列标识0,ans’值为零,此时ans=max(end-start+1, ans’)=max(0-0+1,0)=1,也就是身份标识连续不重复的用户仅有A。
第2轮:任务继续传递到D,目标统计位置仍为传递的起始位置,此时start为A的队列标识0,end为D的队列标识1,ans’为上一次统计的用户数量即1,此时身份标识连续不重复的用户数量 ans=max(end-start+1,ans’)=max(1-0+1,1)=2,即A、D。
第3轮:任务继续传递到E,由于D和E的身份标识相同,因此目标统计位置更新为E的队列位置,此时start为E的队列标识2,end为E的队列标识1,ans’为上一轮次统计的用户数量即2,此时身份标识连续不重复的用户数量ans=max(end-start+1,ans’)=max(2-2+1,2)=2,即A、D。
第4轮:任务继续传递到C,由于E和C的身份标识不相同,因此目标统计位置仍然为E的队列位置,此时start为E的队列标识2,end为C 的队列标识3,ans’为上一轮次统计的用户数量即2,此时身份标识连续不重复的用户数量ans=max(end-start+1,ans’)=max(3-2+1,2)=2,即E、C。
以此类推,任务传递到任意一个目标观众时,都可以通过上述方式实时输出身份标识连续不重复的用户数量,降低了计算复杂度,满足用户需求。
与现有技术的区别在于,现有技术的统计方式是在活动结束后根据存储的全部用户的任务数据进行人工统计,由于参与活动的用户数量繁多,增加了数据维护成本,而且不能实时获得互动任务连续在不同国籍用户之间传递时的最大用户数量,而本申请提供的互动数据统计方法,可以根据全部目标观众生成传递队列,当任务传递到任意一个目标观众后,即根据该目标观众对应的队列标识以及目标统计位置上的目标观众对应的队列标识计算身份标识连续不重复的用户数量,实时输出互动结果。
可选地,为了能够实时输出任务传递到不同用户时身份标识连续不重复的用户数量结果,可以根据每轮次传递结果先确定目标统计位置,下面给出一种实现方式,请参见图5,图5为本申请实施例提供的另一种互动数据统计方法的示意性流程图,即在步骤S24之前,该方法还可以包括:
S22、在任务传递到当前目标观众后,根据当前目标观众的身份标识和队列标识更新预设的身份数据列表。
在本申请实施例中,身份数据列表用于维护全部身份标识以及每个身份标识出现的传递轮次。如图6所示,图6为本申请实施例提供的一种身份数据列表的示例图,其中,身份数据列表也就是本申请定义的数据存储结构map,形如(key,value),其中,key表征为两位简体国籍大写字母代号,value表征最近一次出现某个身份标识的轮次,例如,map(BR)=1,表征在最近一次出现身份标识为BR的目标观众是在第1轮次,map(VN) =3,表征在最近一次出现身份标识为BR的目标观众是在第3轮次,以此类推,可以确定任意一个身份标识在第几轮次出现。
可以理解的是,在任务传递之前,身份数据列表为空,随着任务的传递,可以实时更新身份数据列表中包含的身份标识以及每个身份标识最近一次出现的轮次。
在一种可能的实现方式中,确定value值的计算方式为:当前轮次对应的目标观众的队列标识加1,其中,加1表示本轮次数下一次才开始会出现不重复拥有相同国籍的目标观众,通过计算每个身份标识对应的value可以为后续确定目标统计位置提供数据基础。
S23、根据更新后的身份数据列表和历史统计位置确定目标统计位置。
在一种可能的实现方式中,确定目标统计位置的关系式可以如下: start=max(map(当前目标观众的身份标识),start’),其中,map(当前目标观众的身份标识)表征当前目标观众的身份标识对应的value,start’为历史统计位置,也就是上一轮次进行开始统计的队列位置。
可选地,下面给出一种更新预设的身份数据列表的实现方式,请参见图7,图7为本申请实施例提供的一种步骤S22的实现方式的示意性流程图,步骤S22可以包括:
S221、若身份数据列表中不包含当前目标观众的身份标识,则将当前目标观众对应的身份标识写入所述身份数据列表,并根据当前目标观众对应的队列标识确定当前目标观众对应的身份标识对应的传递轮次;
S222、若身份数据列表中包含当前目标观众的身份标识,则根据当前目标观众对应的队列标识更新对应的传递轮次。
为了方便理解,请参见图8,图8为本申请实施例提供的一种更新身份数据列表的场景图。如图8所示,在任务传递之前,身份数据列表为空。
当任务传递到A,此时身份数据列表中不包含A对应的身份标识BR,则将BR写入key对应位置,然后将A对应的队列标识加1,即value=0+1=1, 将value的值写入BR对应的位置,更新后的身份数据列表如图8中的①所示;
任务继续传递到D,此时身份数据列表中不包含D对应的身份标识VN,则将VN写入key对应位置,然后将D对应的队列标识加1,即value=1+1=1, 将value的值写入VN对应的位置,更新后的身份数据列表如图8中的②所示。
任务继续传递到E,此时身份数据列表中包含E对应的身份标识VN,则将E对应的队列标识加1,即value=2+1=3,根据该value值更新身份数据列表中VN对应的value值,更新后的身份数据列表如图8中的③所示。
以此类推,在任务按照传递队列进行传递的过程中,可以将全部身份标识写入身份数据列表中,同时更新每个身份标识对应的value值,为后续确定目标统计位置提供基础,同时,通过存储国籍身份标识的方式,简化了存储结构,降低了数据存储量。
可选地,下面还给出一种确定目标统计位置的实现方式,请参见图9,图9为本申请实施例提供的步骤S23的实现方式的示意性流程图,即上述步骤S23可以包括:
S231、若更新后的身份数据列表中不包含当前目标观众的身份标识,则确定历史统计位置为目标统计位置。
S232、若更新后的身份数据列表中包含当前目标观众的身份标识,则根据当前目标观众的身份标识对应的传递轮次和历史统计位置确定目标统计位置。
为了方便理解,请结合图4和图8,在第2轮传递中,任务到达目标观众D,此时目标观众D的身份标识VN第一次出现,历史统计位置为传递的起始位置即目标观众A,则可以确定历史统计位置为目标统计位置;当任务传递到第3轮,当前目标观众E的身份标识VN已经存在于身份数据列表中,D和E的身份标识出现重复,此时需要根据当前目标观众的身份标识对应的传递轮次和历史统计位置确定目标统计位置,即根据 start=max(map(VN),start’),其中,map(VN)对应的value值为2,start’值为0,则start=max(map(VN),start’)=max(2,0)=2,即对应目标观众E 的队列标识。
为了方便理解上述实施例的整体实现方式,下面给出一个完整的实现过程,请参见图10a至图10f。
步骤1:参见图10a,任务传递第1轮,当前目标观众为A,身份数据列表Map中不包含A对应的身份标识BR时,将BR写入Map中,目标统计位置start=0,当前队列标识end=0,ans’=0,根据map(BR)=end+1=1,根据关系式:ans=max(end-start+1,ans’)=1,此时身份标识连续不重复的用户数量为1,即目标观众A。
步骤2:参见图10b,任务传递第2轮,当前目标观众为D,身份数据列表Map中不包含D对应的身份标识VN,将VN写入Map中,目标统计位置start=0,当前队列标识end=1,ans’=1,map(VN)=end+1=2, ans=max(end-start+1,ans’)=max(1-0+1,1)=2,此时身份标识连续不重复的用户数量为2,即目标观众A、D。
步骤3:参见图10c,任务传递第3轮,当前目标观众为E,身份数据列表Map中包含E对应的身份标识VN,确定目标统计位置: start=max(map(VN),start’)=max(2,0)=2,此时end为E的队列标识2,同时刷新map(VN)的值=end+1=3,ans’=2,ans=max(end-start+1,ans’)= max(2-2+1,2)=2,此时身份标识连续不重复的用户数量为2,即目标观众 A、D。
步骤4:参见图10d,任务传递第4轮,当前目标观众为C,身份数据列表Map中不含C对应的身份标识CN,将CN写入Map中,此时end为 C的队列标识3,根据map(CN)=end+1=4,start为历史统计位置即队列标识为2的目标观众E的队列位置,ans’为2,ans=max(end-start+1,ans’) =max(3-2+1,2)=2,此时身份标识连续不重复的用户数量为2,即目标观众E、C。
步骤5:参见图10e,任务传递第5轮,当前目标观众为G,身份数据列表Map中不含G对应的身份标识TH,将TH写入Map中,此时end为 G的队列标识4,根据map(TH)=end+1=5,satrt=2,ans=2,ans=max(end-start+1, ans’)=max(4-2+1,2)=3,此时身份标识连续不重复的用户数量为2,即目标观众E、C、G。
步骤6:参见图10f,任务传递第6轮,当前目标观众为C,Map中含 C对应的身份标识CN,此时end为C的队列标识5,确定目标统计位置: start=max(map(CN),start’)=max(4,2)=4,即目标观众G对应的队列位置,根据value=end+1=6,更新map(CN)的值为6,ans=max(end-start+1, ans’)=max(5-4+1,3)=3,此时身份标识连续不重复的用户数量为2,即目标观众E、C、G。
步骤7:见图10g,任务传递第7轮,当前目标观众为H,Map中含H 对应的身份标识TH,此时end为H的队列标识6,确定目标统计位置: start=max(map(TH),start’)=max(5,4)=5,根据value=end+1=7,更新 map(TH)的值为7,ans=max(end-start+1,ans’)=max(6-5+1,3)=3,此时身份标识连续不重复的用户数量为3,即目标观众E、C、G。
步骤8:见图10h,任务传递第8轮,当前目标观众为B,Map中含B 对应的身份标识BR,此时end为B的队列标识7,确定目标统计位置:start=max(map(BR),start’)=max(1,5)=5,根据value=end+1=8,更新 map(BR)的值为8,ans=max(end-start+1,ans’)=max(7-5+1,3)=3,此时身份标识连续不重复的用户数量为3,即目标观众E、C、G。
步骤9:见图10i,任务传递第9轮,当前目标观众为A,Map中含A 对应的身份标识BR,此时end为A的队列标识8,确定目标统计位置:start=max(map(BR),start’)=max(8,5)=8,根据value=end+1=9,更新 map(BR)的值为9,ans=max(end-start+1,ans’)=max(8-8+1,3)=3,此时身份标识连续不重复的用户数量为3,即目标观众E、C、G。
由上述整个实现过程可以看出,任务传递到任意一个目标观众时都可以通过更新身份数据列表的方式进而确定目标统计位置,从而可以实时输出目标统计位置到当前目标观众之间身份标识连续不重复的用户数量。通过本申请实施例提供的互动数据统计方法可以实现以下效果:第一,将现有技术中存储用户完成任务情况明细数据的方式转换为只存储用户对应身份标识编码,并且map的成员数量不会大于全球国籍的总个数,整个存储预估量可控制。第二,采用改进过后的滑动窗口算法,降低时间复杂度变,节约大量的CPU核数;第三,实时输出结果值,通过预加载实时计算,存储的已经是满足的可直接输出的结果值,起上游服务情况响应完全能快速毫秒级响应。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种互动数据统计装置的实现方式,请参阅图11,图11为本发明实施例提供的一种互动数据统计装置的功能模块图。需要说明的是,本实施例所提供的互动数据统计装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。
该互动数据统计装置30包括:
生成模块31,用于响应主播用户的任务传递请求,根据主播用户的全部目标观众生成传递队列;目标观众是与主播用户具有关联关系的用户;每个目标观众对应一个队列标识和一个身份标识;
确定模块32,用于按照传递队列传递任务,在任务传递到当前目标观众后,根据当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果;
其中,互动结果表征任务从目标统计位置传递到当前目标观众的过程中身份标识连续不重复的用户数量;历史统计数据表征历史统计的身份标识连续不重复的历史用户数量。
可选地,该互动数据统计装置30还包括更新模块;更新模块,用于在任务传递到当前目标观众后,根据当前目标观众的身份标识和队列标识更新预设的身份数据列表;身份数据列表用于维护全部身份标识以及每个身份标识最近一次出现的传递轮次;确定模块,用于根据更新后的身份数据列表和历史统计位置确定目标统计位置。
可选地,确定模块32具体用于:若更新后的身份数据列表中不包含当前目标观众的身份标识,则确定历史统计位置为目标统计位置;若更新后的身份数据列表中包含当前目标观众的身份标识,则根据当前目标观众的身份标识对应的传递轮次和历史统计位置确定目标统计位置。
可选地,更新模块具体用于:若身份数据列表中不包含当前目标观众的身份标识,则将当前目标观众对应的身份标识写入身份数据列表,并根据当前目标观众对应的队列标识确定当前目标观众对应的身份标识对应的传递轮次;若身份数据列表中包含当前目标观众的身份标识,则根据当前目标观众对应的队列标识更新对应的传递轮次。
可选地,确定模块,还用于获取直播用户的全部观众用户;将全部观众用户中与直播用户具有关联关系的观众用户确定为目标观众。
本发明实施例还提供一种电子设备,如图12,图12为本发明实施例提供的一种电子设备结构框图。该电子设备可以是图其所示的终端或者服务器,该电子设备40包括通信接口41、处理器42和存储器43。该处理器42、存储器43和通信接口41相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器43可用于存储软件程序及模块,如本发明实施例所提供的互动数据统计方法对应的程序指令/模块,处理器42通过执行存储在存储器43内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口41可用于与其他节点设备进行信令或数据的通信。在本发明中该电子设备4可以具有多个通信接口41。
其中,存储器43可以是但不限于,随机存取存储器 (RandomAccessMemory,RAM),只读存储器(ReadOnlyMemory,ROM),可编程只读存储器(ProgrammableRead-OnlyMemory,PROM),可擦除只读存储器(ErasableProgrammableRead-OnlyMemory,EPROM),电可擦除只读存储器(ElectricErasableProgrammableRead-OnlyMemory,EEPROM) 等。
处理器42可以是一种集成电路芯片,具有信号处理能力。该处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器 (DigitalSignalProcessing,DSP)、专用集成电路 (ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field -ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
可以理解的是,上述的互动数据统计装置的各个模块可以软件或固件(Firmware)的形式存储于电子设备40的存储器43中,并由处理器42执行,同时,执行上述模块所需的数据、程序的代码等可以存储在存储器43 中。
本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项的互动数据统计方法。该计算机可读存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、 PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种互动数据统计方法,其特征在于,所述方法包括:
响应主播用户的任务传递请求,根据所述主播用户的全部目标观众生成传递队列;所述目标观众是与所述主播用户具有关联关系的用户;每个所述目标观众对应一个队列标识和一个身份标识;
按照所述传递队列传递任务,在所述任务传递到当前目标观众后,根据所述当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果;
其中,所述互动结果表征所述任务从所述目标统计位置传递到所述当前目标观众的过程中身份标识连续不重复的用户数量;所述历史统计数据表征历史统计的身份标识连续不重复的历史用户数量。
2.根据权利要求1所述的互动数据统计方法,其特征在于,根据所述当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果之前,所述方法包括:
在任务传递到所述当前目标观众后,根据所述当前目标观众的身份标识和队列标识更新预设的身份数据列表;所述身份数据列表用于维护全部所述身份标识以及每个所述身份标识最近一次出现的传递轮次;
根据更新后的所述身份数据列表和历史统计位置确定所述目标统计位置。
3.根据权利要求2所述的互动数据统计方法,其特征在于,根据更新后的所述身份数据列表确定所述目标统计位置,包括:
若更新后的所述身份数据列表中不包含所述当前目标观众的身份标识,则确定历史统计位置为所述目标统计位置;
若更新后的所述身份数据列表中包含所述当前目标观众的身份标识,则根据所述当前目标观众的身份标识对应的传递轮次和所述历史统计位置确定所述目标统计位置。
4.根据权利要求2所述的互动数据统计方法,其特征在于,根据所述目标观众的身份标识和队列标识更新预设的身份数据列表,包括:
若所述身份数据列表中不包含所述当前目标观众的身份标识,则将所述当前目标观众对应的身份标识写入所述身份数据列表,并根据所述当前目标观众对应的队列标识确定当前目标观众对应的身份标识对应的传递轮次;
若所述身份数据列表中包含所述当前目标观众的身份标识,则根据所述当前目标观众对应的队列标识更新所述对应的传递轮次。
5.根据权利要求1所述的互动数据统计方法,其特征在于,所述方法还包括:
获取所述主播用户的全部观众用户;
将全部观众用户中与所述主播用户具有关联关系的观众用户确定为所述目标观众。
6.一种互动数据统计装置,其特征在于,包括:
生成模块,用于响应主播用户的任务传递请求,根据所述主播用户的全部目标观众生成传递队列;所述目标观众是与所述主播用户具有关联关系的用户;每个所述目标观众对应一个队列标识和一个身份标识;
确定模块,用于按照所述传递队列传递任务,在所述任务传递到当前目标观众后,根据所述当前目标观众的队列标识、目标统计位置上的目标观众对应的队列标识以及历史统计数据确定互动结果;
其中,所述互动结果表征所述任务从所述目标统计位置传递到所述当前目标观众的过程中身份标识连续不重复的用户数量;所述历史统计数据表征历史统计的身份标识连续不重复的历史用户数量。
7.根据权利要求6所述的互动数据统计装置,其特征在于,还包括:更新模块;
所述更新模块,用于在任务传递到所述当前目标观众后,根据所述当前目标观众的身份标识和队列标识更新预设的身份数据列表;所述身份数据列表用于维护全部所述身份标识以及每个所述身份标识最近一次出现的传递轮次;
所述确定模块,用于根据更新后的所述身份数据列表和历史统计位置确定所述目标统计位置。
8.根据权利要求7所述的互动数据统计装置,其特征在于,所述确定模块具体用于:
若更新后的所述身份数据列表中不包含所述当前目标观众的身份标识,则确定历史统计位置为所述目标统计位置;
若更新后的所述身份数据列表中包含所述当前目标观众的身份标识,则根据所述当前目标观众的身份标识对应的传递轮次和所述历史统计位置确定所述目标统计位置。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-5任一所述的互动数据统计方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的互动数据统计方法。
CN202110518092.2A 2021-05-12 2021-05-12 互动数据统计方法、装置、电子设备及存储介质 Active CN113157756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110518092.2A CN113157756B (zh) 2021-05-12 2021-05-12 互动数据统计方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110518092.2A CN113157756B (zh) 2021-05-12 2021-05-12 互动数据统计方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113157756A true CN113157756A (zh) 2021-07-23
CN113157756B CN113157756B (zh) 2023-11-21

Family

ID=76874955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110518092.2A Active CN113157756B (zh) 2021-05-12 2021-05-12 互动数据统计方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113157756B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676745A (zh) * 2021-08-17 2021-11-19 腾讯科技(深圳)有限公司 虚拟道具的互动处理方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825821A (zh) * 2019-09-30 2020-02-21 深圳云天励飞技术有限公司 人员关系的查询方法、装置、电子设备及存储介质
CN112163614A (zh) * 2020-09-24 2021-01-01 广州虎牙信息科技有限公司 一种主播分类方法、装置、电子设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825821A (zh) * 2019-09-30 2020-02-21 深圳云天励飞技术有限公司 人员关系的查询方法、装置、电子设备及存储介质
CN112163614A (zh) * 2020-09-24 2021-01-01 广州虎牙信息科技有限公司 一种主播分类方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676745A (zh) * 2021-08-17 2021-11-19 腾讯科技(深圳)有限公司 虚拟道具的互动处理方法、装置、电子设备及存储介质
CN113676745B (zh) * 2021-08-17 2022-05-17 腾讯科技(深圳)有限公司 虚拟道具的互动处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113157756B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
CN108900923B (zh) 推荐直播模板的方法和装置
CN107222566B (zh) 信息推送方法、装置及服务器
CN104579912B (zh) 数据推送的方法及装置
CN104038908B (zh) 发送推送消息的方法和装置
CN109218390B (zh) 用户筛选方法及装置
CN106604137B (zh) 一种预测视频观看时长的方法及装置
CN107370780B (zh) 基于互联网的媒体推送方法、装置和***
CN109446171B (zh) 一种数据处理方法和装置
CN111898037B (zh) 排行榜数据的更新方法、装置及服务器
CN107330718B (zh) 一种媒体反作弊方法及装置、存储介质、终端
CN107528761A (zh) 一种微信公众号自动回复信息的方法和***
CN110012068B (zh) 一种下载控制方法、装置及存储介质
CN106850406B (zh) 一种内容分享方法及装置
CN110601965B (zh) 消息分发方法、装置、***以及消息网关
CN111079529A (zh) 信息提示方法、装置、电子设备及存储介质
WO2018214301A1 (zh) 基于微信群的健康管理公众号推广***及方法
CN111488529B (zh) 信息处理方法、装置、服务器及存储介质
CN108648017B (zh) 易于扩展的用户需求匹配方法、装置、设备及存储介质
WO2018214304A1 (zh) 基于微信群的健康服务推广评估***及方法
CN113157756A (zh) 互动数据统计方法、装置、电子设备及存储介质
CN111353821A (zh) 一种广告推广***
CN106209731B (zh) 会话业务处理方法及装置
CN106487653B (zh) 一种消息处理方法及服务器
CN112785353A (zh) 一种将粉丝引导添加至销售微信的方法
WO2018214302A1 (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