CN110233840A - 一种业务处理方法、装置、设备和存储介质 - Google Patents
一种业务处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110233840A CN110233840A CN201910498045.9A CN201910498045A CN110233840A CN 110233840 A CN110233840 A CN 110233840A CN 201910498045 A CN201910498045 A CN 201910498045A CN 110233840 A CN110233840 A CN 110233840A
- Authority
- CN
- China
- Prior art keywords
- user
- service
- spectators
- weight
- information
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种业务处理方法、装置、设备和存储介质。该方法通过确定主播用户为直播间中开设的互动业务设置的配置信息,配置信息包括业务类型、业务信息,业务类型用于适配业务服务器;将业务信息配置于业务组件;将业务组件发送至访问直播间的观众客户端,业务组件用于显示业务信息与确定参与互动业务的观众用户;从业务服务器获取观众用户参与互动业务所产生的用户信息;根据用户信息从观众用户中选取目标用户,解决了因业务服务器因需确定目标用户而带来的设计复杂,且对算力要求高的问题,实现对下发业务组件、收集用户信息、确定目标用户等进行解耦,简化业务服务器的设计,减少开发人员的工作量,还减少对业务服务器的资源占用。
Description
技术领域
本发明实施例涉及直播技术,尤其涉及一种业务处理方法、装置、设备和存储介质。
背景技术
在直播间中,一般可以设置有互动业务,用于吸引观众用户观看该直播间,并将该互动业务所设置的业务数据配置给符合要求的观众用户。进一步的,直播间中的互动业务的业务类型非常繁多。例如,可以根据观众用户赠送给主播用户的虚拟物品的数量,来确定该观众用户是否可以获取该业务数据。又例如,可以根据观众用户所发弹幕的内容、所发弹幕的数量来进行综合评估,进而根据该综合评估的结果确定该观众用户是否可以获取该业务数据。
一般的,每接入一种业务类型的互动业务,就需要开发与该业务类型对应的在业务服务器,来对观众用户的客户端所发送的参与互动业务的请求信息进行存储、分析,该分析包括确定观众用户是否可以获取业务数据。而由于有海量的观众用户会参与该互动业务,这对业务服务器进行分析的算力提高了要求,增加了对业务服务器资源的需求。另外,需要由于需要在每个业务服务器中都进行该分析过程的布置,也增加了开发人员的工作量。
发明内容
本发明提供一种业务处理方法、装置、设备和存储介质,以实现对下发业务组件、收集用户信息、确定目标用户等进行解耦,简化对业务服务器的设计,减少了开发人员的工作量,还减少对业务服务器的资源占用。
第一方面,本发明实施例提供了一种业务处理方法,应用于业务适配服务器,该方法包括:
确定主播用户为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息,所述业务类型用于适配业务服务器;
将所述业务信息配置于业务组件;
将所述业务组件发送至访问所述直播间的观众客户端,所述业务组件用于显示所述业务信息与确定参与所述互动业务的观众用户;
从所述业务服务器获取所述观众用户参与所述互动业务所产生的用户信息;
根据所述用户信息从所述观众用户中选取目标用户。
进一步的,确定主播用户为直播间中开设的互动业务设置的配置信息,包括:
接收主播客户端发送的配置请求,其中,主播用户登录在所述主播客户端中;
从所述配置请求中读取为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息;
将所述业务信息发送至与所述业务类型适配的业务服务器进行校验处理;
从所述业务服务器中获取经过所述校验处理的业务信息。
进一步的,所述业务适配服务器设置有至少两个节点;
所述根据所述用户信息从所述观众用户中选取目标用户,包括:
从所述用户信息中读取所述观众用户的用户标识号、用户权重;
将所述观众用户分配至与所述用户标识号具有映射关系的节点;
在每个节点中,根据所述用户权重从所述观众用户中确定候选用户;
从所有节点所确定的所述候选用户中选取目标用户。
进一步的,所述在每个节点中,根据所述用户权重从所述观众用户中确定候选用户,包括:
在每个节点中,创建一候选列表,所述候选列表用于存储n个候选用户,其中,n为所述配置信息中设置的目标用户的用户数量的目标值;
确定当前的观众用户是否为分配至所述节点的前n个观众用户;
若是,则将当前的观众用户设置为候选用户,以及,添加入所述候选列表中,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户;
若否,则基于所述用户权重计算所述候选列表中各候选用户的用户分数;
将值最小的用户分数设置为分数阈值;
若当前的观众用户满足预设的选择条件,则将所述分数阈值对应的候选用户替换为当前的观众用户,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户。
进一步的,基于所述用户权重计算所述候选列表中各候选用户的用户分数,包括:
获取所述候选用户的用户权重;
随机生成一选择概率;
计算以所述选择概率为底数、所述用户权重的倒数为指数的指数值;
将所述指数值,作为所述候选用户的用户分数。
进一步的,所述若当前的观众用户满足预设的选择条件,则将所述分数阈值对应的候选用户替换为当前的观众用户,包括:
获取当前的观众用户的用户权重;
基于所述用户权重计算当前的观众用户的用户分数;
若当前的观众用户的用户分数超过所述分数阈值,则将所述分数阈值对应的候选用户替换为当前的观众用户。
进一步的,所述若当前的观众用户满足预设的选择条件,则将所述分数阈值对应的候选用户替换为当前的观众用户,包括:
使用所述分数阈值确定一参考权重值;
使用第二权重和值替换第一权重和值,所述第一权重和值和所述第二权重和值在初始化时均设置为最后确定的候选用户的用户权重;
计算当前的观众用户的用户权重和所述第一权重和值之和,作为第二权重和值;
确定权重范围,所述权重范围为大于所述第一权重和值、小于所述第二权重和值的范围;
当所述参考权重值超出所述权重范围时,针对下一个观众用户,返回执行使用第二权重和值替换第一权重和值的步骤;
当所述参考权重值在所述权重范围之内时,将所述分数阈值对应的候选用户替换为当前的观众用户,初始化所述第一权重和值和第二权重和值,并,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户的步骤。
进一步的,使用所述分数阈值确定一参考权重值,包括:
生成一权重随机数;
计算关于所述权重随机数的第一对数值;
计算关于所述分数阈值的第二对数值;
将所述第一对数值和第二对数值的比值,作为参考权重值。
进一步的,所述从所有节点所确定的所述候选用户中选取目标用户,包括:
汇总所有节点所确定的所述候选用户;
对所述候选用户按照用户分数进行排序;
从所述排序的结果中,选取n个候选用户,作为目标用户,其中,n为所述配置信息中设置的目标用户的用户数量的目标值。
进一步的,在所述根据所述用户信息从所述观众用户中选取目标用户之后,还包括:
对所述目标用户配置所述业务信息中设置的业务数据。
第二方面,本发明实施例还提供了一种业务处理装置,应用于业务适配服务器,该装置包括:
配置信息确定模块,用于确定主播用户为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息,所述业务类型用于适配业务服务器;
业务组件配置模块,用于将所述业务信息配置于业务组件;
业务组件发送模块,用于将所述业务组件发送至访问所述直播间的观众客户端,所述业务组件用于显示所述业务信息与确定参与所述互动业务的观众用户;
用户信息获取模块,用于从所述业务服务器获取所述观众用户参与所述互动业务所产生的用户信息;
目标用户选取模块,用于根据所述用户信息从所述观众用户中选取目标用户。
第三方面,本发明实施例还提供了一种业务处理设备,该设备包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一所述的业务处理方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面任一所述的业务处理方法。
本发明实施例通过确定主播用户为直播间中开设的互动业务设置的配置信息,配置信息包括业务类型、业务信息,业务类型用于适配业务服务器;将业务信息配置于业务组件;将业务组件发送至访问直播间的观众客户端,业务组件用于显示业务信息与确定参与互动业务的观众用户;从业务服务器获取观众用户参与互动业务所产生的用户信息;根据用户信息从观众用户中选取目标用户,解决了因业务服务器因需确定目标用户而带来的设计复杂,且对算力要求高的问题,实现对下发业务组件、收集用户信息、确定目标用户等进行解耦,简化业务服务器的设计,减少开发人员的工作量,还减少对业务服务器的资源占用。
附图说明
图1A为本发明实施例一提供的一种业务处理方法的流程图;
图1B为本发明实施例一提供的一种业务处理系统的结构示意图;
图1C为本发明实施例一提供的另一种业务处理系统的结构示意图;
图2A为本发明实施例二提供的一种候选用户选取子方法的流程图;
图2B为本发明实施例二提供的一种候选用户替换子方法的流程图;
图2C为本发明实施例二提供的一种候选用户替换子方法的流程图;
图3为本发明实施例三提供的一种业务处理方法的流程图;
图4为本发明实施例四提供的一种业务处理装置的结构示意图;
图5为本发明实施例五提供的一种业务处理设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1A为本发明实施例一提供的一种业务处理方法的流程图,图1B为本发明实施例一提供的一种业务处理系统的结构示意图,图1C为本发明实施例一提供的另一种业务处理系统的结构示意图。本实施例可适用于为直播间配置互动业务的情况。
一般的,直播平台中的用户,至少包括主播用户和观众用户。需要注意的是,该用户并非真实的人,在直播平台可以用用户标识号表示该用户。其中,主播用户可以通过直播平台提供的主播客户端开设直播间,进行节目的直播。而观众用户则可以通过直播平台提供的观众客户端访问该直播间,对节目进行观看。进一步,直播平台还可以设置有多种业务类型的互动业务,且每种业务类型的互动业务均设置有对应的业务服务器进行实现。该互动业务主要用于为用户之间提供互动连接,以进行互动。该互动连接可以是建立在多个主播用户之间,也可以是建立在多个观众用户之间,也可以是建立在主播用户和观众用户之间。
示例性的,参照图1B,该业务处理系统至少包括:主播客户端10、业务服务器20、观众客户端30。具体的,该互动连接可以通过如下方式实现:主播用户可以通过主播客户端10向业务服务器20发起为直播间开设互动业务的请求;业务服务器20则根据该请求,向访问该直播间的观众客户端30下发关于该互动业务的业务组件。进一步的,在观众用户通过该业务组件确定参与该互动业务后,则业务服务器20则可以为主播用户和观众用户之间建立互动连接,使得主播用户和观众用户可以通过该互动连接,进行该互动业务对应的互动。
一般的,直播平台中的业务服务器还可以收集观众用户在参与该互动业务时所产生的互动数据,并使用该互动数据分析观众用户参与该互动业务的积极性。进一步的,为了增加观众用户与主播用户之间的互动的积极性,还可以从观众用户中选取出满足积极性条件的目标用户,为该目标用户配置诸如虚拟物品之类的业务数据。例如,该互动业务收集的互动数据可以包括观众用户赠送给主播用户的虚拟物品的数量。又例如,该互动业务收集的互动数据可以包括观众用户所发弹幕的内容、所发弹幕的数量等。
需要注意的是,若采用图1B中所对应的技术方案,每接入一种新业务类型的互动业务,均需要为该互动业务开发该业务类型对应的业务服务器,并且每个业务服务器均需至少包括如下的内容:负责响应主播用户为主播间开设互动业务、收集互动数据、分析互动数据、确定目标用户等。而一般的,互动业务之间存在一些相同的设置和流程。若采用上述的技术方案,业务服务器需要执行上述完整的互动业务所对应的内容,则增加了对业务服务器的资源占用。
为了减少对业务服务器的资源占用,减轻开发人员开发业务服务器所付出的工作量,进一步的,本实施例中,提出另一种业务处理系统来解决上述的问题,参照图1C,该业务处理系统至少包括:主播客户端10、业务服务器20、观众客户端30、业务适配服务器40。该业务适配服务器40可以用于适配不同业务类型的互动业务。具体的,可以将互动业务中所包括的内容解耦为通用部分和差异部分,使得通用的部分可以使用业务适配服务器40进行处理,差异部分可以通过业务服务器30进行处理。该通用部分可以包括通用配置、通用流程;该差异部分可以包括差异配置、差异流程。
本实施例中所提供的业务处理方法可以应用于图1C所示的业务处理系统中。具体的,为了说明清楚,本实施例将该对业务处理方法应用于业务适配服务器一侧进行详细描述。该业务适配服务器可以是独立服务器或是集群服务器。
参照图1A,该方法具体包括如下步骤:
S110、确定主播用户为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息,所述业务类型用于适配业务服务器。
本实施例中,配置信息可以由主播用户通过主播客户端进行设置。该配置信息用于对互动业务进行配置,从而使得互动业务可以正常工作。
进一步的,通过设置配置信息包括业务类型、业务信息,可以方便地对互动业务的通用配置和差异配置进行分别的设置。
一、通用配置
本实施例中,通用配置可以通过业务信息来体现。具体的,该业务信息可以是不同业务类型的互动业务均需设置的配置项目。示例性的,该业务信息可以至少包括如下中的一项:业务开始时间、业务结束时间、业务回馈方式、业务结束条件、观众用户参与条件等。其中,业务开始时间为互动业务开始的时间。业务结束时间为互动业务结束的时间。业务回馈方式包括主播用户设置的、将发送给目标用户的业务数据的类型和目标值。该业务数据可以是直播平台中的交换媒介,可以是虚拟物品。进一步的,不同的虚拟物品可以进行等价交换。示例性的,当主播用户设置目标值为n,虚拟物品的类型为A,则需确定n个目标用户,且每个目标用户均可以分别获得一份类型为A的虚拟物品。业务结束条件可以是业务持续时间,当距离业务开始时间所经过的时间段达到该业务持续时间,则表明该互动业务结束。观众用户参与条件用于表示参与该互动业务的观众用户所需要满足的条件,如观众用户的注册年限需要满足预设年限。
二、差异配置
本实施例中,差异配置可以通过业务类型来体现。具体的,业务适配服务器可以确定与该业务类型适配的业务服务器,并在该业务服务器中设置该业务类型的互动业务与其他互动业务的差异配置。
在一实施例中,可以通过接收主播客户端发送的配置请求,其中,主播用户登录在所述主播客户端中;从配置请求中读取为直播间中开设的互动业务设置的配置信息,配置信息包括业务类型、业务信息;进一步的,还可以将业务信息发送至与业务类型适配的业务服务器进行校验处理;从业务服务器中获取经过校验处理的业务信息。其中,该校验处理用于修正主播用户所设置的业务信息中的配置项目。例如,该校验处理可以用于修正业务信息中不兼容的配置项目。如该业务信息对业务开始时间、业务结束时间、业务持续时间均进行了设置,但业务开始时间、业务结束时间之间的时间间隔不同于该业务持续时间,则可以是修正为以业务开始时间、业务结束时间为准。又例如,该校验处理可以用于修正业务信息中与该业务类型的互动业务不兼容的配置项目。如,该业务类型的互动业务默认为业务持续时间需要超过3小时,而主播用户所设置的业务持续时间为2.5个小时,则将该业务持续时间修正为3小时。通过增加业务服务器对业务信息的校验处理,既可以保证业务信息的通用性,又可以保证业务信息的兼容性,不至于因为主播用户设置的业务信息不兼容,而导致出现互动业务无法正常工作的情况。
S120、将所述业务信息配置于业务组件。
本实施例中,业务组件为通用的视图组件,可以用于显示业务信息。对于不同业务类型的互动业务均可以使用同一业务组件。具体的,业务适配服务器可以获取业务组件的信息格式,将业务信息按照该信息格式填入该业务组件。
S130、将所述业务组件发送至访问所述直播间的观众客户端,所述业务组件用于显示所述业务信息与确定参与所述互动业务的观众用户。
本实施例中,业务组件可以采用两种发送方式。
一、第一种发送方式
在互动业务开始时,向所有访问直播间的观众客户端发送业务组件。
二、第二种发送方式
在互动业务进行期间,向访问直播间的、且请求获取业务组件的观众客户端发送业务组件。示例性的,在互动业务进行期间,观众客户端可以显示有一活动界面,该活动界面可以用于显示当前直播间正在进行互动业务的消息,观众客户端可以通过该活动界面所接收到的用户操作,确定向业务适配器发送关于获取业务组件的请求。
进一步的,该业务组件除了可以用于显示业务信息外,还可以设置有确定观众用户是否参与互动业务的接口,该接口可以与设置在业务组件上的按钮组件进行关联。示例性的,该按钮组件可以是“参与”按钮、“取消”按钮,当确定观众用户对“参与”按钮进行点击时,确定该观众用户参与该互动业务;当观众用户对“取消”按钮进行点击时,确定该观众用户放弃参与该互动业务。
S140、从所述业务服务器获取所述观众用户参与所述互动业务所产生的用户信息。
本实施例中,对于不同业务类型的互动业务而言,从观众用户中选取目标用户的标准自然不同。
一般的,当需要从观众用户中选取出满足积极性条件的目标用户时,可以通过直播平台中的业务服务器收集观众用户在参与该互动业务时所产生的互动数据,并使用该互动数据分析观众用户参与该互动业务的积极性。进一步的,为选取出的、满足积极性条件的目标用户,配置诸如虚拟物品之类的业务数据。
在本实施例中,区别于直接使用互动数据,本实施中采用的是用户信息。其中,该用户信息为通用信息。业务适配服务器用于根据该用户信息从观众用户中选取目标用户,以满足业务适配服务器主要用于执行通用的部分的要求,从而保证业务适配服务器可以使用与所有业务类型的互动业务。
需要注意的是,不同业务类型的互动业务,生成用户信息的过程也存在不同,所以生成用户信息的流程为差异流程。本实施例中,将生成用户信息的流程放于与业务类型适配的业务服务器进行。
具体的,该用户信息由业务服务器根据观众用户在参与该互动业务时所产生的互动数据生成。
在一实施例中,该互动业务收集的互动数据可以包括观众用户赠送给主播用户的虚拟物品的数量。业务服务器可以根据该虚拟物品的数量,计算关于参与积极性的用户信息。
在又一实施例中,该互动业务收集的互动数据可以包括观众用户所发弹幕的内容、所发弹幕的数量等。业务服务器可以根据观众用户所发弹幕的内容、所发弹幕的数量进行综合评估,并将该综合评估的结果作为关于参与积极性的用户信息。
进一步的,本实施例中,将用户信息和互动数据进行解耦,进一步的增加了业务适配服务器的适配性。将原本在业务服务器中执行的选择目标用户的过程放于业务适配服务器执行,减少了对业务服务器的资源占用,提高业务服务器的工作效率。
S150、根据所述用户信息从所述观众用户中选取目标用户。
本实施例中,业务适配器可以根据用户信息这一通用信息,从观众用户中选取出满足积极性条件的目标用户。示例性的,该用户信息中可以包括用户权重,该用户权重可以用于表示该观众用户被选取为目标用户的权重,并且,观众用户被选取为目标用户的概率与该用户权重与成正比。
本实施例中将通过举例的方式对如何选取目标用户进行详细说明。
在一实施例中,在业务适配服务器中仅设置有一节点时,在业务适配服务器中建立一缓存队列,该缓存队列用于存储观众用户通过该互动组件所发送的、参与该互动业务的参与请求。一般的,该存储队列的长度是有限的,如果存储队列已满,则会拒绝新接收到的参与请求。进一步的,确定该存储队列的参与请求所归属的观众用户,将该观众用户的用户信息以键值对的形式存储在数据库中,其中,该键值对可以是以该观众用户的用户标识号为键、该观众用户的用户权重为值。当然,除了数据库外,还可以将该用户信息以其他存储形式(如json文件)存储在永久性存储介质(如硬盘)中。进一步的,在互动业务结束时,从数据库中获取所有的用户信息,按照用户权重的值越高,被选取的概率越高的选取方式,从观众用户中选取目标用户。
需要注意的是,当业务适配服务器中仅设置有一节点时,每次确定目标用户均需要所有的观众用户的用户信息。随着参与互动业务的观众用户的数量增加,存储的用户信息也越多,所需消耗的存储资源也越多;另外,由于需要一次性分析所有用户信息,以确定目标用户,对业务适配服务器的处理器资源的需求也越多,且耗时越长。
为了克服每次确定目标用户均需要所有的观众用户的用户信息所带来的资源占用高的问题,在又一实施例中,业务适配服务器设置有至少两个节点。进一步的,可以从用户信息中读取观众用户的用户标识号、用户权重。并将观众用户分配至与用户标识号具有映射关系的节点,该映射关系可以采用哈希映射的方式进行确定。与使用单一节点确定目标用户的方式不同的是,本实施例中,在每个节点中,可以根据用户权重从观众用户中确定候选用户。同样的,可以按照用户权重的值越高,被选取的概率越高的选取方式。最后,在需要确定目标用户时,可以从所有节点所确定的候选用户中选取目标用户。通过使用至少两个节点并行从观众用户中选取候选用户,并在最后汇总所有节点中的候选用户,从候选用户中选取出目标用户即可,避免了由于一次性需要处理过多用户信息而导致的存储资源消耗过多、处理器资源消耗过多、且确定目标用户耗时长的问题。
需要注意的是,上述步骤中,接收主播用户发送的配置请求、确定配置信息、确定与业务类型适配的业务服务器、配置业务组件、向观众客户端发送业务组件、选取目标用户均为通用流程,均可以在业务适配服务器中进行。另外,上述步骤中,校验业务信息、收集用户信息则为差异流程,可以在与业务类型适配的业务服务器中进行。所以,通过对通用流程和差异流程的解耦、对通用配置和差异配置的解耦,可以减少对业务服务器的算力要求,减少开发人员对业务服务器的开发工作量,减少对业务服务器的资源占用。
本实施例的技术方案,通过确定主播用户为直播间中开设的互动业务设置的配置信息,配置信息包括业务类型、业务信息,业务类型用于适配业务服务器;将业务信息配置于业务组件;将业务组件发送至访问直播间的观众客户端,业务组件用于显示业务信息与确定参与互动业务的观众用户;从业务服务器获取观众用户参与互动业务所产生的用户信息;根据用户信息从观众用户中选取目标用户,区别于将所有互动业务的流程都在业务服务器中进行处理,本技术方案通过对通用流程和差异流程的解耦、对通用配置和差异配置的解耦,解决了因业务服务器因需确定目标用户而带来的设计复杂,且对算力要求高的问题,简化业务服务器的设计,减少对业务服务器的算力要求,减少开发人员的工作量,还减少对业务服务器的资源占用。
在上述实施例的基础上,还可以对所述目标用户配置所述业务信息中设置的业务数据。示例性的,该业务数据可以是直播平台中的交换媒介,可以是虚拟物品。进一步的,不同的虚拟物品可以进行等价交换。在确定目标用户之后,可以将主播用户所配置的业务数据配置给目标用户。
实施例二
图2A为本发明实施例二提供的一种候选用户选取子方法的流程图,图2B为本发明实施例二提供的一种候选用户替换子方法的流程图,图2C为本发明实施例二提供的一种候选用户替换子方法的流程图。本实施例在上述实施例的基础上,在根据所述用户信息从所述观众用户中选取目标用户时,通过在业务适配服务器设置有至少两个节点,并在在每个节点中,根据所述用户权重从所述观众用户中确定候选用户,最后从所有节点所确定的所述候选用户中选取目标用户。本实施例中,将对候选用户选取子方法进一步细化,参照图2A,该候选用户选取子方法具体包括如下步骤:
S210、在每个节点中,创建一候选列表,所述候选列表用于存储n个候选用户,其中,n为所述配置信息中设置的目标用户的用户数量的目标值。
本实施例中,配置信息可以包括业务类型和业务信息,该业务信息可以是不同业务类型的互动业务均需设置的配置项目。本实施例中,配置项目可以包括目标用户的用户数量的目标值n。当然,该目标值n还可以放置在其他配置项目中进行设置。示例性的,该配置项目可以包括业务回馈方式。其中,业务回馈方式包括主播用户设置的、将发送给目标用户的业务数据的类型和目标值n。该业务数据可以是直播平台中的交换媒介,可以是虚拟物品。进一步的,不同的虚拟物品可以进行等价交换。示例性的,当主播用户设置目标值为n,虚拟物品的类型为A,则需确定n个目标用户,且每个目标用户均可以分别获得一份类型为A的虚拟物品。
本实施例中,在每个节点中,在处理观众用户的用户信息时,只需要从分配至该节点的观众用户中选取出n个候选用户存储于候选列表时即可,不需要对所有分配至该节点的观众用户均进行存储,减少了对存储资源的占用。
S220、确定当前的观众用户是否为分配至所述节点的前n个观众用户。
若是,则执行步骤S230,若否则执行步骤S240。
本实施例中,可以按照观众用户分配至该节点的时间顺序,并按照该时间顺序对该观众用户进行是否添加入该候选列表的分析。示例性的,可以在节点接收到分配的观众用户时,为该观众用户打上时间戳,以根据该时间戳确定观众用户分配至该节点的时间顺序。当前的观众用户指的是当前需要进行分析的观众用户。
本实施中,对如何确定当前的观众用户是否为分配至该节点的前n个观众用户的方式不作限定,本实施例将通过举例进行说明。
在一实施例中,可以在节点中设置一计数器,每接收到分配至该节点的一观众用户,就将该计数器加1。进一步的,当接收到当前的观众用户时,将计数器的数值累加1,并确定计数器的数值是否大于目标值n,若是,则表示当前的观众用户为分配至所述节点的前n个观众用户。
在又一实施例中,在接收到当前的观众用户时,确定候选列表是否已存储有n个候选用户,若否,则表示当前的观众用户为分配至所述节点的前n个观众用户。
S230、将当前的观众用户设置为候选用户,以及,添加入所述候选列表中。
本实施例中,确定当前的观众用户为分配至所述节点的前n个观众用户时,将当前的观众用户作为候选用户,添加到候选列表中。并在执行完步骤S230后,针对下一个观众用户,返回执行步骤S220。本实施例中,下一观众用户指的是,按照观众用户分配至该节点的时间顺序,排在该当前的观众用户的下一个观众用户。进一步的,将该下一观众用户确定为新的当前的观众用户,并进行对该新的当前的观众用户进行是否添加入该候选列表的分析,即返回执行步骤S220。
S240、基于所述用户权重计算所述候选列表中各候选用户的用户分数。
本实施例中,观众用户的用户权重的值越高,被选取为候选用户或目标用户的概率越高。
具体的,通过获取候选用户的用户权重;随机生成一选择概率;计算以选择概率为底数、用户权重的倒数为指数的指数值;将指数值,作为候选用户的用户分数。示例性的,第i个候选用户的用户分数ki可以表示为:其中,ui=random(0,1),表示随机生成的选择概率,wi为第i个候选用户的用户权重,i=1,2,…n,n为配置信息中设置的目标用户的用户数量的目标值。
S250、将值最小的用户分数设置为分数阈值。
本实施例中,用户分数越高,被选取为候选用户或目标用户的概率越高。由于该候选列表的长度固定为目标值n,所以,在候选列表已满、且需要添加入新的候选用户时,需要删除用户分数最小的候选用户。
S260、若当前的观众用户满足预设的选择条件,则将所述分数阈值对应的候选用户替换为当前的观众用户,针对下一个观众用户,返回执行步骤S220。
本实施中,将通过两种实现方式,对如何进行候选用户的替换进行详细说明。
第一种替换方式、参考图2B,步骤S260所表示的候选用户替换子方法可以进一步细化为S2611-S2613:
S2611、获取当前的观众用户的用户权重。
S2612、基于所述用户权重计算当前的观众用户的用户分数。
示例性的,获取当前的观众用户的用户权重;随机生成一选择概率;计算以选择概率为底数、用户权重的倒数为指数的指数值;将指数值,作为当前的观众用户的用户分数。
S2613、若当前的观众用户的用户分数超过所述分数阈值,则将所述分数阈值对应的候选用户替换为当前的观众用户,针对下一个观众用户,返回执行步骤S220。
本实施例中,用户分数越高,被选取为候选用户或目标用户的概率越高,分数阈值对应的候选用户被选取为目标用户的概率最小。所以,可以在当前的观众用户的用户分数超过分数阈值时,则将分数阈值对应的候选用户替换为当前的观众用户。
第二种替换方式、参考图2C,步骤S260所表示的候选用户替换子方法可以进一步细化为S2621-S2626:
S2621、使用所述分数阈值确定一参考权重值。
本实施例中,可以通过生成一权重随机数;计算关于权重随机数的第一对数值;计算关于分数阈值的第二对数值;将第一对数值和第二对数值的比值,作为参考权重值。具体的,该参考权重值X可以表示为其中,r=random(0,1)为生成的权重随机数,T为该分数阈值。log()表示进行取对数的运算,log(r)为第一对数值,log(T)为第二对数值。分数阈值T越大,参考权重值X越小。
S2622、使用第二权重和值替换第一权重和值,所述第一权重和值和所述第二权重和值在初始化时均设置为最后确定的候选用户的用户权重。
本实施例中,第一权重和值与第二权重和值的初始化的时机包括:一、在节点接收第n个观众用户时,将第一权重和值与第二权重和值均初始化为第n个观众用户的用户权重;二、在节点接收第n+c个观众用户,并将该第n+c个观众用户确定为候选用户时,将第一权重和值与第二权重和值均初始化为第n+c个观众用户的用户权重,其中,c为正整数,n为配置信息中设置的目标用户的用户数量的目标值。
S2623、计算当前的观众用户的用户权重和所述第一权重和值之和,作为第二权重和值。
S2624、确定权重范围,所述权重范围为大于所述第一权重和值、小于所述第二权重和值的范围。
S2625、判断所述参考权重值是否超出所述权重范围。
当所述参考权重值超出所述权重范围时,针对下一个观众用户,返回执行步骤S2622;当所述参考权重值在所述权重范围之内时,执行步骤S2626。
S2626、将所述分数阈值对应的候选用户替换为当前的观众用户,初始化所述第一权重和值和第二权重和值,并,针对下一个观众用户,返回执行执行步骤S220。
示例性的,最后确定为候选用户的观众用户为第n+c个观众用户,第n+c个观众用户的用户权重使用wn+c进行表示,其中,c为正整数。可以将第一权重和值和第二权重和值在初始化时均设置为wn+c。进一步的,假设当前的观众用户为节点接收的第n+c+i个观众用户,其中,i为正整数。当执行到步骤S2624时,所确定的第一权重和值为wn+c+wn+c+1+…+wn+c+i-1,第二权重和值为wn+c+wn+c+1+…+wn+c+i,所确定的权重范围为(wn+c+wn+c+1+…+wn+c+i-1,wn+c+wn+c+1+…+wn+c+i)。需要注意的是,当i=1,时,所确定的权重范围为(wn+c,wn+c+wn+c+1)。进一步的,当该参考权重值X在权重范围为(wn+c,wn+c+wn+c+1)内,也就是说,权重范围为wn+c+wn+c+1+…+wn+c+i-1<X<wn+c+wn+c+1+…+wn+c+i时,则使用第n+c+i个观众用户替换候选列表中所存储的分数阈值对应的候选用户。
相对于第一种替换方式为每个观众用户均生成随机生成一选择概率,第二种替换方式,仅需要生成一次权重随机数,减少了生成高质量的随机数所产生的性能开销,进一步的,减少了进行候选用户替换的耗时,减少对节点中处理器资源的占用。
实施例三
图3为本发明实施例三提供的一种业务处理方法的流程图,本实施例可适用于为直播间配置互动业务的情况,进一步的,该互动业务可以是抽奖业务,业务类型为抽奖类型,业务信息为抽奖信息,业务组件为抽奖组件,可以通过该抽奖组件确定参与该抽奖业务的观众用户,从该观众用户中所选取出的目标用户为中奖用户,所配置给目标用户的业务数据为虚拟物品。
参照图3,该方法具体包括如下步骤:
S310、接收主播客户端发送的配置请求,其中,主播用户登录在主播客户端中。
本实施例中,当主播用户需要为直播间开设抽奖业务时,可以通过主播客户端生成配置请求,并将该配置请求通过主播客户端发送至业务适配服务器。
S320、从配置请求中读取为直播间中开设的抽奖业务设置的配置信息,配置信息包括抽奖类型、抽奖信息。
本实施例中,配置信息可以由主播用户通过主播客户端进行设置。该配置信息用于对抽奖业务进行配置,从而使得抽奖业务可以正常工作。
进一步的,通过设置配置信息包括抽奖类型、抽奖信息,可以方便地对抽奖业务的通用配置和差异配置进行分别的设置。
一、通用配置
本实施例中,通用配置可以通过抽奖信息来体现。具体的,该抽奖信息可以是不同抽奖类型的抽奖业务均需设置的配置项目。示例性的,该抽奖信息可以至少包括如下中的一项:抽奖开始时间、抽奖结束时间、抽奖回馈方式、抽奖结束条件、观众用户参与抽奖条件等。其中,抽奖开始时间为抽奖业务开始的时间。抽奖结束时间为抽奖业务结束的时间。抽奖回馈方式包括主播用户设置的、将发送给中奖用户的虚拟物品的类型和目标值。示例性的,当主播用户设置目标值为n,虚拟物品的类型为A,则需确定n个中奖用户,且每个中奖用户均可以分别获得一份类型为A的虚拟物品。抽奖结束条件可以是抽奖持续时间,当距离抽奖开始时间所经过的时间段达到该抽奖持续时间,则表明该抽奖业务结束。观众用户参与抽奖条件用于表示参与该抽奖业务的观众用户所需要满足的条件,如观众用户的注册年限需要满足预设年限。
二、差异配置
本实施例中,差异配置可以通过抽奖类型来体现。具体的,业务适配服务器可以确定与该抽奖类型适配的业务服务器,并在该业务服务器中设置该抽奖类型的抽奖业务与其他抽奖业务的差异配置。例如,该抽奖类型可以是物品抽奖,如抽奖业务开始时,观众用户赠送给主播用户的虚拟物品的数量超过预设数量,即可以获取一次抽奖机会。又例如,该抽奖类型可以是弹幕抽奖,如抽奖业务开始时,观众用户所发送的内容为预设内容、或所发送的弹幕的数量超过预设数量,即可以获取一次抽奖机会。
S330、将抽奖信息发送至与抽奖类型适配的业务服务器进行校验处理。
本实施例中,该校验处理用于修正主播用户所设置的抽奖信息中的配置项目。例如,该校验处理可以用于修正抽奖信息中不兼容的配置项目。如该抽奖信息对抽奖开始时间、抽奖结束时间、抽奖持续时间均进行了设置,但抽奖开始时间、抽奖结束时间之间的时间间隔不同于该抽奖持续时间,则可以是修正为以抽奖开始时间、抽奖结束时间为准。又例如,该校验处理可以用于修正抽奖信息中与该抽奖类型的抽奖业务不兼容的配置项目。如,该抽奖类型的抽奖业务默认为抽奖持续时间需要超过3小时,而主播用户所设置的抽奖持续时间为2.5个小时,则将该抽奖持续时间修正为3小时。通过增加业务服务器对抽奖信息的校验处理,既可以保证抽奖信息的通用性,又可以保证抽奖信息的兼容性,不至于因为主播用户设置的抽奖信息不兼容,而导致出现抽奖业务无法正常工作的情况。
S340、从业务服务器中获取经过校验处理的抽奖信息。
S350、将经过校验处理的抽奖信息配置于抽奖组件。
本实施例中,抽奖组件为通用的视图组件,可以用于显示抽奖信息。对于不同抽奖类型的抽奖业务均可以使用同一抽奖组件。具体的,业务适配服务器可以获取抽奖组件的信息格式,将抽奖信息按照该信息格式填入该抽奖组件。
S360、将抽奖组件发送至访问直播间的观众客户端,抽奖组件用于显示抽奖信息与确定参与抽奖业务的观众用户。
本实施例中,抽奖组件可以采用两种发送方式。
一、第一种发送方式
在抽奖业务开始时,向所有访问直播间的观众客户端发送抽奖组件。
二、第二种发送方式
在抽奖业务进行期间,向访问直播间的、且请求获取抽奖组件的观众客户端发送抽奖组件。示例性的,在抽奖业务进行期间,观众客户端可以显示有一活动界面,该活动界面可以用于显示当前直播间正在进行抽奖业务的消息,观众客户端可以通过该活动界面所接收到的用户操作,确定向业务适配器发送关于获取抽奖组件的请求。
进一步的,该抽奖组件除了可以用于显示抽奖信息外,还可以设置有确定观众用户是否参与抽奖业务的接口,该接口可以与设置在抽奖组件上的按钮组件进行关联。示例性的,该按钮组件可以是“参与”按钮、“取消”按钮,当确定观众用户对“参与”按钮进行点击时,确定该观众用户参与该抽奖业务;当观众用户对“取消”按钮进行点击时,确定该观众用户放弃参与该抽奖业务。
S370、从业务服务器获取观众用户参与抽奖业务所产生的用户信息。
本实施例中,对于不同抽奖类型的抽奖业务而言,从观众用户中选取中奖用户的标准自然不同。
一般的,当需要从观众用户中选取出满足积极性条件的中奖用户时,可以通过直播平台中的业务服务器收集观众用户在参与该抽奖业务时所产生的互动数据,并使用该互动数据分析观众用户参与该抽奖业务的积极性。进一步的,为选取出的、满足积极性条件的中奖用户配置虚拟物品。
在本实施例中,区别于直接使用互动数据,本实施中采用的是用户信息。其中,该用户信息为通用信息。业务适配服务器用于根据该用户信息从观众用户中选取中奖用户,以满足业务适配服务器主要用于执行通用的部分的要求,从而保证业务适配服务器可以使用与所有抽奖类型的抽奖业务。
需要注意的是,不同抽奖类型的抽奖业务,生成用户信息的过程也存在不同,所以生成用户信息的流程为差异流程。本实施例中,将生成用户信息的流程放于与抽奖类型适配的业务服务器进行。
具体的,该用户信息由业务服务器根据观众用户在参与该抽奖业务时所产生的互动数据生成。
在一实施例中,该抽奖业务收集的互动数据可以包括观众用户赠送给主播用户的虚拟物品的数量。业务服务器可以根据该虚拟物品的数量,计算关于参与积极性的用户信息。
在又一实施例中,该抽奖业务收集的互动数据可以包括观众用户所发弹幕的内容、所发弹幕的数量等。业务服务器可以根据观众用户所发弹幕的内容、所发弹幕的数量进行综合评估,并将该综合评估的结果作为关于参与积极性的用户信息。
进一步的,本实施例中,将用户信息和互动数据进行解耦,进一步的增加了业务适配服务器的适配性。将原本在业务服务器中执行的选择中奖用户的过程放于业务适配服务器执行,减少了对业务服务器的资源占用,提高业务服务器的工作效率。
S380、根据用户信息从观众用户中选取中奖用户。
本实施例中,业务适配器可以根据用户信息这一通用信息,从观众用户中选取出满足积极性条件的中奖用户。示例性的,该用户信息中可以包括用户权重,该用户权重可以用于表示该观众用户被选取为中奖用户的权重,并且,观众用户被选取为中奖用户的概率与该用户权重与成正比。
本实施例中将通过举例的方式对如何选取中奖用户进行详细说明。
在一实施例中,在业务适配服务器中仅设置有一节点时,在业务适配服务器中建立一缓存队列,该缓存队列用于存储观众用户通过该抽奖组件所发送的、参与该抽奖业务的参与请求。一般的,该存储队列的长度是有限的,如果存储队列已满,则会拒绝新接收到的参与请求。进一步的,确定该存储队列的参与请求所归属的观众用户,将该观众用户的用户信息以键值对的形式存储在数据库中,其中,该键值对可以是以该观众用户的用户标识号为键、该观众用户的用户权重为值。当然,除了数据库外,还可以将该用户信息以其他存储形式(如json文件)存储在永久性存储介质(如硬盘)中。进一步的,在抽奖业务结束时,从数据库中获取所有的用户信息,按照用户权重的值越高,被选取的概率越高的选取方式,从观众用户中选取中奖用户。
需要注意的是,当业务适配服务器中仅设置有一节点时,每次确定中奖用户均需要所有的观众用户的用户信息。随着参与抽奖业务的观众用户的数量增加,存储的用户信息也越多,所需消耗的存储资源也越多;另外,由于需要一次性分析所有用户信息,以确定中奖用户,对业务适配服务器的处理器资源的需求也越多,且耗时越长。
为了克服每次确定中奖用户均需要所有的观众用户的用户信息所带来的资源占用高的问题,在又一实施例中,业务适配服务器设置有至少两个节点。进一步的,可以从用户信息中读取观众用户的用户标识号、用户权重。并将观众用户分配至与用户标识号具有映射关系的节点,该映射关系可以采用哈希映射的方式进行确定。与使用单一节点确定中奖用户的方式不同的是,本实施例中,在每个节点中,可以根据用户权重从观众用户中确定候选用户。同样的,可以按照用户权重的值越高,被选取的概率越高的选取方式。最后,在需要确定中奖用户时,可以从所有节点所确定的候选用户中选取中奖用户。通过使用至少两个节点并行从观众用户中选取候选用户,并在最后汇总所有节点中的候选用户,从候选用户中选取出中奖用户即可,避免了由于一次性需要处理过多用户信息而导致的存储资源消耗过多、处理器资源消耗过多、且确定中奖用户耗时长的问题。
需要注意的是,上述步骤中,接收主播用户发送的配置请求、确定配置信息、确定与抽奖类型适配的业务服务器、配置抽奖组件、向观众客户端发送抽奖组件、选取中奖用户均为通用流程,均可以在业务适配服务器中进行。另外,上述步骤中,校验抽奖信息、收集用户信息则为差异流程,可以在与抽奖类型适配的业务服务器中进行。所以,通过对通用流程和差异流程的解耦、对通用配置和差异配置的解耦,可以减少对业务服务器的算力要求,减少开发人员对业务服务器的开发工作量,减少对业务服务器的资源占用。
S390、对所述中奖用户配置所述抽奖信息中设置的虚拟物品。
示例性的,该虚拟物品可以是直播平台中的交换媒介。进一步的,不同的虚拟物品可以进行等价交换。在确定中奖用户之后,可以将主播用户所配置的虚拟物品配置给中奖用户。
实施例四
图4为本发明实施例四提供的一种业务处理装置的结构示意图,本实施例可适用于为直播间配置互动业务的情况。
本实施例中所提供的业务处理装置可以应用于图1C所示的业务处理系统中。具体的,为了说明清楚,本实施例将该对业务处理装置应用于业务适配服务器一侧进行详细描述。该业务适配服务器可以是独立服务器或是集群服务器。
参照图4,该装置具体包括如下结构:配置信息确定模块410、业务组件配置模块420、业务组件发送模块430、用户信息获取模块440和目标用户选取模块450。
配置信息确定模块410,用于确定主播用户为直播间中开设的互动业务设置的配置信息,所述配置信包括业务类型、业务信息,所述业务类型用于适配业务服务器。
业务组件配置模块420,用于将所述业务信息配置于业务组件。
业务组件发送模块430,用于将所述业务组件发送至访问所述直播间的观众客户端,所述业务组件用于显示所述业务信息与确定参与所述互动业务的观众用户。
用户信息获取模块440,用于从所述业务服务器获取所述观众用户参与所述互动业务所产生的用户信息。
目标用户选取模块450,用于根据所述用户信息从所述观众用户中选取目标用户。
本实施例的技术方案,通过确定主播用户为直播间中开设的互动业务设置的配置信息,配置信息包括业务类型、业务信息,业务类型用于适配业务服务器;将业务信息配置于业务组件;将业务组件发送至访问直播间的观众客户端,业务组件用于显示业务信息与确定参与互动业务的观众用户;从业务服务器获取观众用户参与互动业务所产生的用户信息;根据用户信息从观众用户中选取目标用户,解决了因业务服务器因需确定目标用户而带来的设计复杂,且对算力要求高的问题,实现对下发业务组件、收集用户信息、确定目标用户等进行解耦,简化业务服务器的设计,减少开发人员的工作量,还减少对业务服务器的资源占用。
在上述技术方案的基础上,配置信息确定模块410,包括:
配置请求接收子模块,用于接收主播客户端发送的配置请求,其中,主播用户登录在所述主播客户端中。
配置信息读取子模块,用于从所述配置请求中读取为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息。
业务信息发送子模块,用于将所述业务信息发送至与所述业务类型适配的业务服务器进行校验处理。
业务信息获取子模块,用于从所述业务服务器中获取经过所述校验处理的业务信息。
在上述技术方案的基础上,所述业务适配服务器设置有至少两个节点;目标用户选取模块450,包括:
读取子模块,用于从所述用户信息中读取所述观众用户的用户标识号、用户权重。
节点分配子模块,用于将所述观众用户分配至与所述用户标识号具有映射关系的节点。
候选用户确定子模块,用于在每个节点中,根据所述用户权重从所述观众用户中确定候选用户。
目标用户确定子模块,用于从所有节点所确定的所述候选用户中选取目标用户。
在上述技术方案的基础上,候选用户确定子模块,包括:
候选列表创建单元,用于在每个节点中,创建一候选列表,所述候选列表用于存储n个候选用户,其中,n为所述配置信息中设置的目标用户的用户数量的目标值。
观众用户判断单元,用于确定当前的观众用户是否为分配至所述节点的前n个观众用户。
候选用户初始单元,用于若确定当前的观众用户是为分配至所述节点的前n个观众用户,则将当前的观众用户设置为候选用户,以及,添加入所述候选列表中,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户。
用户分数计算单元,用于若确定当前的观众用户不是分配至所述节点的前n个观众用户,则基于所述用户权重计算所述候选列表中各候选用户的用户分数。
分数阈值确定单元,用于将值最小的用户分数设置为分数阈值。
候选用户替换单元,用于若当前的观众用户满足预设的选择条件,则将所述分数阈值对应的候选用户替换为当前的观众用户,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户。
在上述技术方案的基础上,用户分数计算单元,包括:
第一用户权重获取子单元,用于获取所述候选用户的用户权重。
选择概率生成子单元,用于随机生成一选择概率。
指数值计算子单元,用于计算以所述选择概率为底数、所述用户权重的倒数为指数的指数值。
第一用户分数计算子单元,用于将所述指数值,作为所述候选用户的用户分数。
在一实施例中,候选用户替换单元,包括:
第二用户权重获取子单元,用于获取当前的观众用户的用户权重。
第二用户分数计算子单元,用于基于所述用户权重计算当前的观众用户的用户分数。
候选用户替换子单元,用于若当前的观众用户的用户分数超过所述分数阈值,则将所述分数阈值对应的候选用户替换为当前的观众用户。
在又一实施例中,候选用户替换单元,包括:
参考权重值确定子单元,用于使用所述分数阈值确定一参考权重值。
第一权重和值确定子单元,用于使用第二权重和值替换第一权重和值,所述第一权重和值和所述第二权重和值在初始化时均设置为最后确定的候选用户的用户权重。
第二权重和值确定子单元,用于计算当前的观众用户的用户权重和所述第一权重和值之和,作为第二权重和值。
权重范围确定子单元,用于确定权重范围,所述权重范围为大于所述第一权重和值、小于所述第二权重和值的范围。
范围内处理子单元,用于当所述参考权重值超出所述权重范围时,针对下一个观众用户,返回执行使用第二权重和值替换第一权重和值的步骤。
范围外处理子单元,用于当所述参考权重值在所述权重范围之内时,将所述分数阈值对应的候选用户替换为当前的观众用户,初始化所述第一权重和值和第二权重和值,并,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户的步骤。
在上述技术方案的基础上,参考权重值确定子单元,具体用于生成一权重随机数;计算关于所述权重随机数的第一对数值;计算关于所述分数阈值的第二对数值;将所述第一对数值和第二对数值的比值,作为参考权重值。
在上述技术方案的基础上,目标用户确定子模块,包括:
汇总单元,用于汇总所有节点所确定的所述候选用户。
排序单元,用于对所述候选用户按照用户分数进行排序。
目标用户选取单元,用于从所述排序的结果中,选取n个候选用户,作为目标用户,其中,n为所述配置信息中设置的目标用户的用户数量的目标值。
在上述技术方案的基础上,该装置,还包括:
业务数据配置模块,用于在所述根据所述用户信息从所述观众用户中选取目标用户之后,对所述目标用户配置所述业务信息中设置的业务数据。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种业务处理设备的结构示意图。如图5所示,该业务处理设备包括:处理器50、存储器51、输入装置52以及输出装置53。该业务处理设备中处理器50的数量可以是一个或者多个,图5中以一个处理器50为例。该业务处理设备中存储器51的数量可以是一个或者多个,图5中以一个存储器51为例。该业务处理设备的处理器50、存储器51、输入装置52以及输出装置53可以通过总线或者其他方式连接,图5中以通过总线连接为例。该业务处理设备可以是电脑和服务器等。本实施例以业务处理设备为服务器进行详细说明,该服务器可以是独立服务器或集群服务器。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的业务处理方法对应的程序指令/模块(例如,业务处理装置中的配置信息确定模块410、业务组件配置模块420、业务组件发送模块430、用户信息获取模块440和目标用户选取模块450)。存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或者字符信息,以及产生与业务处理设备的观众用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置53可以包括扬声器等音频设备。需要说明的是,输入装置52和输出装置53的具体组成可以根据实际情况设定。
处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的业务处理方法。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种业务处理方法,包括:
确定主播用户为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息,所述业务类型用于适配业务服务器;
将所述业务信息配置于业务组件;
将所述业务组件发送至访问所述直播间的观众客户端,所述业务组件用于显示所述业务信息与确定参与所述互动业务的观众用户;
从所述业务服务器获取所述观众用户参与所述互动业务所产生的用户信息;
根据所述用户信息从所述观众用户中选取目标用户。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的业务处理方法操作,还可以执行本发明任意实施例所提供的业务处理方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的业务处理方法。
值得注意的是,上述业务处理装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语、“示例性的”、“在一实施例中”、“在又一实施例中”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (13)
1.一种业务处理方法,其特征在于,应用于业务适配服务器,该方法包括:
确定主播用户为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息,所述业务类型用于适配业务服务器;
将所述业务信息配置于业务组件;
将所述业务组件发送至访问所述直播间的观众客户端,所述业务组件用于显示所述业务信息与确定参与所述互动业务的观众用户;
从所述业务服务器获取所述观众用户参与所述互动业务所产生的用户信息;
根据所述用户信息从所述观众用户中选取目标用户。
2.根据权利要求1所述的方法,其特征在于,确定主播用户为直播间中开设的互动业务设置的配置信息,包括:
接收主播客户端发送的配置请求,其中,主播用户登录在所述主播客户端中;
从所述配置请求中读取为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息;
将所述业务信息发送至与所述业务类型适配的业务服务器进行校验处理;
从所述业务服务器中获取经过所述校验处理的业务信息。
3.根据权利要求1所述的方法,其特征在于,所述业务适配服务器设置有至少两个节点;
所述根据所述用户信息从所述观众用户中选取目标用户,包括:
从所述用户信息中读取所述观众用户的用户标识号、用户权重;
将所述观众用户分配至与所述用户标识号具有映射关系的节点;
在每个节点中,根据所述用户权重从所述观众用户中确定候选用户;
从所有节点所确定的所述候选用户中选取目标用户。
4.根据权利要求3所述的方法,其特征在于,所述在每个节点中,根据所述用户权重从所述观众用户中确定候选用户,包括:
在每个节点中,创建一候选列表,所述候选列表用于存储n个候选用户,其中,n为所述配置信息中设置的目标用户的用户数量的目标值;
确定当前的观众用户是否为分配至所述节点的前n个观众用户;
若是,则将当前的观众用户设置为候选用户,以及,添加入所述候选列表中,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户;
若否,则基于所述用户权重计算所述候选列表中各候选用户的用户分数;
将值最小的用户分数设置为分数阈值;
若当前的观众用户满足预设的选择条件,则将所述分数阈值对应的候选用户替换为当前的观众用户,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户。
5.根据权利要求4所述的方法,其特征在于,基于所述用户权重计算所述候选列表中各候选用户的用户分数,包括:
获取所述候选用户的用户权重;
随机生成一选择概率;
计算以所述选择概率为底数、所述用户权重的倒数为指数的指数值;
将所述指数值,作为所述候选用户的用户分数。
6.根据权利要求5所述的方法,其特征在于,所述若当前的观众用户满足预设的选择条件,则将所述分数阈值对应的候选用户替换为当前的观众用户,包括:
获取当前的观众用户的用户权重;
基于所述用户权重计算当前的观众用户的用户分数;
若当前的观众用户的用户分数超过所述分数阈值,则将所述分数阈值对应的候选用户替换为当前的观众用户。
7.根据权利要求5所述的方法,其特征在于,所述若当前的观众用户满足预设的选择条件,则将所述分数阈值对应的候选用户替换为当前的观众用户,包括:
使用所述分数阈值确定一参考权重值;
使用第二权重和值替换第一权重和值,所述第一权重和值和所述第二权重和值在初始化时均设置为最后确定的候选用户的用户权重;
计算当前的观众用户的用户权重和所述第一权重和值之和,作为第二权重和值;
确定权重范围,所述权重范围为大于所述第一权重和值、小于所述第二权重和值的范围;
当所述参考权重值超出所述权重范围时,针对下一个观众用户,返回执行使用第二权重和值替换第一权重和值的步骤;
当所述参考权重值在所述权重范围之内时,将所述分数阈值对应的候选用户替换为当前的观众用户,初始化所述第一权重和值和第二权重和值,并,针对下一个观众用户,返回执行所述确定当前的观众用户是否为分配至所述节点的前n个观众用户的步骤。
8.根据权利要求7所述的方法,其特征在于,使用所述分数阈值确定一参考权重值,包括:
生成一权重随机数;
计算关于所述权重随机数的第一对数值;
计算关于所述分数阈值的第二对数值;
将所述第一对数值和第二对数值的比值,作为参考权重值。
9.根据权利要求3-8任一所述的方法,其特征在于,所述从所有节点所确定的所述候选用户中选取目标用户,包括:
汇总所有节点所确定的所述候选用户;
对所述候选用户按照用户分数进行排序;
从所述排序的结果中,选取n个候选用户,作为目标用户,其中,n为所述配置信息中设置的目标用户的用户数量的目标值。
10.根据权利要求1所述的方法,其特征在于,在所述根据所述用户信息从所述观众用户中选取目标用户之后,还包括:
对所述目标用户配置所述业务信息中设置的业务数据。
11.一种业务处理装置,其特征在于,应用于业务适配服务器,该装置包括:
配置信息确定模块,用于确定主播用户为直播间中开设的互动业务设置的配置信息,所述配置信息包括业务类型、业务信息,所述业务类型用于适配业务服务器;
业务组件配置模块,用于将所述业务信息配置于业务组件;
业务组件发送模块,用于将所述业务组件发送至访问所述直播间的观众客户端,所述业务组件用于显示所述业务信息与确定参与所述互动业务的观众用户;
用户信息获取模块,用于从所述业务服务器获取所述观众用户参与所述互动业务所产生的用户信息;
目标用户选取模块,用于根据所述用户信息从所述观众用户中选取目标用户。
12.一种业务处理设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的业务处理方法。
13.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-10中任一所述的业务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910498045.9A CN110233840B (zh) | 2019-06-06 | 2019-06-06 | 一种业务处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910498045.9A CN110233840B (zh) | 2019-06-06 | 2019-06-06 | 一种业务处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110233840A true CN110233840A (zh) | 2019-09-13 |
CN110233840B CN110233840B (zh) | 2022-02-25 |
Family
ID=67859373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910498045.9A Active CN110233840B (zh) | 2019-06-06 | 2019-06-06 | 一种业务处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110233840B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659121A (zh) * | 2019-09-24 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 任务数据获取方法及装置、任务配置方法及装置和服务器 |
CN111836067A (zh) * | 2020-07-21 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 直播组件信息的处理方法、装置、设备及存储介质 |
CN112118460A (zh) * | 2020-09-21 | 2020-12-22 | 北京达佳互联信息技术有限公司 | 资源处理方法、装置、终端及服务器 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108347655A (zh) * | 2018-03-01 | 2018-07-31 | 广州虎牙信息科技有限公司 | 直播间互动方法、装置、设备及存储介质 |
CN108419140A (zh) * | 2018-03-01 | 2018-08-17 | 广州虎牙信息科技有限公司 | 直播互动方法、装置、服务器、终端和存储介质 |
CN108419089A (zh) * | 2018-02-08 | 2018-08-17 | 广州虎牙信息科技有限公司 | 组件数据处理方法、装置、设备及存储介质 |
CN108492437A (zh) * | 2018-03-14 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 抽奖数据处理方法及装置 |
CN108733395A (zh) * | 2018-05-14 | 2018-11-02 | 广州虎牙信息科技有限公司 | 软件应用程序业务更新方法、装置及计算机设备 |
US10129310B1 (en) * | 2015-08-21 | 2018-11-13 | Twitch Interactive, Inc. | In-application demonstration using video and data streams |
CN108876486A (zh) * | 2018-08-20 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 个性化定制中奖概率的抽奖方法及装置 |
CN109348237A (zh) * | 2018-09-20 | 2019-02-15 | 武汉斗鱼网络科技有限公司 | 一种直播间管理方法、装置、服务器及存储介质 |
KR101968723B1 (ko) * | 2017-10-18 | 2019-04-12 | 네이버 주식회사 | 카메라 이펙트를 제공하는 방법 및 시스템 |
CN109767256A (zh) * | 2018-12-12 | 2019-05-17 | 武汉掌游科技有限公司 | 一种抽奖活动概率的控制方法及装置 |
-
2019
- 2019-06-06 CN CN201910498045.9A patent/CN110233840B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10129310B1 (en) * | 2015-08-21 | 2018-11-13 | Twitch Interactive, Inc. | In-application demonstration using video and data streams |
KR101968723B1 (ko) * | 2017-10-18 | 2019-04-12 | 네이버 주식회사 | 카메라 이펙트를 제공하는 방법 및 시스템 |
CN108419089A (zh) * | 2018-02-08 | 2018-08-17 | 广州虎牙信息科技有限公司 | 组件数据处理方法、装置、设备及存储介质 |
CN108347655A (zh) * | 2018-03-01 | 2018-07-31 | 广州虎牙信息科技有限公司 | 直播间互动方法、装置、设备及存储介质 |
CN108419140A (zh) * | 2018-03-01 | 2018-08-17 | 广州虎牙信息科技有限公司 | 直播互动方法、装置、服务器、终端和存储介质 |
CN108492437A (zh) * | 2018-03-14 | 2018-09-04 | 武汉斗鱼网络科技有限公司 | 抽奖数据处理方法及装置 |
CN108733395A (zh) * | 2018-05-14 | 2018-11-02 | 广州虎牙信息科技有限公司 | 软件应用程序业务更新方法、装置及计算机设备 |
CN108876486A (zh) * | 2018-08-20 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 个性化定制中奖概率的抽奖方法及装置 |
CN109348237A (zh) * | 2018-09-20 | 2019-02-15 | 武汉斗鱼网络科技有限公司 | 一种直播间管理方法、装置、服务器及存储介质 |
CN109767256A (zh) * | 2018-12-12 | 2019-05-17 | 武汉掌游科技有限公司 | 一种抽奖活动概率的控制方法及装置 |
Non-Patent Citations (2)
Title |
---|
JEN-CHUN LIN、WEN-LI WEI: ""Coherent Deep-Net Fusion To Classify Shots In Concert Videos"", 《IEEE TRANSACTIONS ON MULTIMEDIA》 * |
张俊: ""电视台全媒体互动业务的探索与实践"", 《现代电视技术》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659121A (zh) * | 2019-09-24 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 任务数据获取方法及装置、任务配置方法及装置和服务器 |
CN110659121B (zh) * | 2019-09-24 | 2022-05-24 | 北京达佳互联信息技术有限公司 | 任务数据获取方法及装置、任务配置方法及装置和服务器 |
CN111836067A (zh) * | 2020-07-21 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 直播组件信息的处理方法、装置、设备及存储介质 |
CN112118460A (zh) * | 2020-09-21 | 2020-12-22 | 北京达佳互联信息技术有限公司 | 资源处理方法、装置、终端及服务器 |
CN112118460B (zh) * | 2020-09-21 | 2022-09-02 | 北京达佳互联信息技术有限公司 | 资源处理方法、装置、终端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110233840B (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108235102B (zh) | 业务处理方法、装置及存储介质 | |
US10798458B2 (en) | Operation method of user terminal and server for sponsoring real-time broadcast | |
CN110233840A (zh) | 一种业务处理方法、装置、设备和存储介质 | |
CN104392535B (zh) | 群组内的投票方法和装置 | |
CN110248203B (zh) | 一种互动业务的处理方法、装置、设备和存储介质 | |
CN101087401A (zh) | 在视频直播平台上实现投票的方法和系统 | |
CN110602514A (zh) | 一种直播频道的推荐方法、装置、电子设备及存储介质 | |
CN109428910B (zh) | 一种数据处理方法、装置及系统 | |
CN113230658A (zh) | 资源分配方法、装置、计算机可读介质及电子设备 | |
CN108959319A (zh) | 信息推送方法和装置 | |
CN110913238A (zh) | 一种直播方法、装置、设备及存储介质 | |
CN109729376A (zh) | 一种生命周期的处理方法、装置、设备和存储介质 | |
CN110071965A (zh) | 一种基于云平台的数据中心管理系统 | |
CN103713895A (zh) | 一种数据发送方法和装置 | |
CN109542395A (zh) | 抽奖信息确定方法、装置、设备以及存储介质 | |
CN109495378A (zh) | 检测异常帐号的方法、装置、服务器及存储介质 | |
CN104915431B (zh) | 一种数据存储方法及系统 | |
JP2022525880A (ja) | サーバーの負荷予測及び高度なパフォーマンス測定 | |
Cao et al. | A game-theoretic framework for revenue sharing in edge-cloud computing system | |
CN110322612A (zh) | 业务数据处理方法、装置、计算设备及存储介质 | |
Kille et al. | Overview of clef newsreel 2015: News recommendation evaluation lab | |
CN112771816B (zh) | 一种预测网络速率的方法及预测装置 | |
WO2023179162A1 (zh) | 数据处理方法及装置 | |
CN109561348B (zh) | 一种基于直播的业务处理方法、装置、设备和存储介质 | |
CN106657238A (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 |