一种分组方法、直播客户端及电子设备与流程

文档序号:16202013发布日期:2018-12-08 06:42阅读:470来源:国知局
一种分组方法、直播客户端及电子设备与流程

本发明属于直播视频流播放技术领域,尤其涉及一种分组方法、直播客户端及电子设备。

背景技术

目前,随着直播行业的快速发展,直播受众也在不断的扩大中,各类型的直播内容也越来越丰富。

为了增强直播平台的互动性,比如主播与主播的互动,以及该主播的观众与观众的互动性,直播平台在可以对该主播的所有观众,按照地理位置信息进行分类,从而可以实现将该主播当前的所有观众按照城市进行分群。从而直播平台提供给观众更多的互动性和乐趣。但是目前一些用户可以通过修改地理位置信息,从而能够加入任何城市的群组中,从而能够在不同的群组中发送一些广告信息或骚扰信息,降低了直播平台的互动效果。

基于此,本发明实施例提供一种分组方法、直播客户端及电子设备,用于解决现有技术中的上述问题。



技术实现要素:

针对现有技术存在的问题,本发明实施例提供了一种分组方法、直播客户端及电子设备,用于解决现有技术中,直播平台在根据用户的地理位置信息进行分组时,由于获取到恶意篡改后的地理位置信息,导致分组不精准,使得组群中会接收到广告信息或骚扰信息,进而降低了直播平台互动效果的技术问题。

本发明提供一种分组方法,所述方法包括:

利用至少一种定位方法获取至少一组地理位置信息;

对所述至少一组地理位置信息进行加密,并将加密后的所述至少一组地理位置信息发送至服务器;以使得所述服务器能基于预设的判断规则,判断所述至少一组地理位置信息是否能相互匹配,若所述至少一组地理位置信息能相互匹配,则根据所述至少一组地理位置信息对用户进行分组。

上述方案中,所述利用至少一种定位方法获取至少一组地理位置信息,包括:

调用至少一种基于位置服务lbs定位程序的sdk提供的接口getlocation获取所述至少一组地理位置的经度信息及纬度信息;

调用至少一种所述lbs定位程序的sdk提供的接口getcountrycode获取所述至少一组地理位置对应的城市编号信息;其中,所述至少一种lbs定位程序的sdk是预先集成在直播客户端中的。

上述方案中,所述利用至少一种定位方法获取至少一组地理位置信息,还包括:

基于客户端自身的gps定位接口,利用获取函数locationmgr=getsystemservice(context.location_service)获取定位信息管理对象locationmgr;

基于所述定位信息管理对象的接口getlastknownlocation获取所述至少一组地理位置信息。

上述方案中,对所述至少一组地理位置信息进行加密,包括:

利用加密算法lbs=tea.encrypt(latitude+longitude+citycode,key)对所述至少一组地理位置信息进行加密;或者,

利用加密算法lbs=aes.encrypt(latitude+longitude+citycode,key)对所述至少一组地理位置信息进行加密;或者,

利用加密算法lbs=des.encrypt(latitude+longitude,key)对所述至少一组地理位置信息进行加密;

其中,所述lbs为加密后的地理位置信息,所述latitude为经度信息,所述longitude为纬度信息,所述citycode为城市编码信息,所述key为预设的密钥信息。

上述方案中,所述将加密后的所述至少一组地理位置信息发送至服务器,包括:

利用预设的各组地理位置信息对应的传输方式,发送所述至少一组地理位置信息。

上述方案中,所述将加密后的所述至少一组地理位置信息发送至服务器,还包括:

将所述加密后的所述至少一组地理位置信息添加至当前通信协议的字段中,将加密后的所述至少一组地理位置信息发送至服务器;其中,所述当前通信协议包括直播客户端与服务器之间的任意一条通信协议。

本发明还提供一种直播客户端,所述客户端包括:

获取单元,用于利用至少一种定位方法获取至少一组地理位置信息;

加密单元,用于对所述至少一组地理位置信息进行加密;

发送单元,用于将加密后的所述至少一组地理位置信息发送至服务器;以使得所述服务器能基于预设的判断规则,判断所述至少一组地理位置信息是否能相互匹配,若所述至少一组地理位置信息均能相互匹配,则根据所述至少一组地理位置信息对用户进行分组。

上述方案中,所述获取单元具体用于:

调用至少一种基于位置服务lbs定位程序的sdk提供的接口getlocation获取所述至少一组地理位置的经度信息及纬度信息;

调用至少一种所述lbs定位程序的sdk提供的接口getcountrycode获取所述至少一组地理位置所对应的城市编号信息;其中,所述至少一种lbs定位程序的sdk是预先集成在直播客户端中的。

上述方案中,所述获取单元具体还用于:

基于所述客户端自身的gps定位接口,利用获取函数locationmgr=getsystemservice(context.location_service)获取定位信息管理对象locationmgr;

基于所述定位信息管理对象的接口getlastknownlocation获取所述至少一组地理位置信息。

本发明还提供一种用于分组的电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中,

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述任一所述的方法。

本发明提供了一种分组方法、直播客户端及电子设备,所述方法包括:利用至少一种定位方法获取至少一组地理位置信息;对所述至少一组地理位置信息进行加密,并将加密后的所述至少一组地理位置信息发送至服务器;以使得所述服务器能基于预设的判断规则,判断所述至少一组地理位置信息是否能相互匹配,若所述至少一组地理位置信息能相互匹配,则根据所述至少一组地理位置信息对用户进行分组;如此,因可以获取到至少一组地理位置信息,从而使得服务器能对至少一组地理位置信息进行匹配,若能匹配成功,则说明用户的地理位置信息为正常地理位置信息,则会对用户进行分组;若匹配不成功,则说明用户的地理位置信息为非正常地理位置信息,则不会对该用户进行分组,这样就避免了某些不合法用户通过修改地理位置信息来加入任何群组中的现象发生,进而避免了一些广告信息或骚扰信息的传播,提高了直播平台的互动效果。

附图说明

图1为本发明实施例一提供的分组方法流程示意图;

图2为本发明实施例二提供的直播客户端的结构示意图;

图3为本发明实施例三提供的分组电子设备的结构示意图。

具体实施方式

为了解决直播平台在根据用户的地理位置信息进行分组时,由于获取到恶意篡改后的地理位置信息,导致分组不精准,使得群组中会接收到广告信息或骚扰信息,进而降低了直播平台互动效果的技术问题,本发明提供了一种分组方法、直播客户端及电子设备,所述方法包括:利用至少一种定位方法获取至少一组地理位置信息;对所述至少一组地理位置信息进行加密,并将加密后的所述至少一组地理位置信息发送至服务器;以使得所述服务器能基于预设的判断规则,判断所述至少一组地理位置信息是否能相互匹配,若所述至少一组地理位置信息均能相互匹配,则根据所述至少一组地理位置信息对用户进行分组。

下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。

实施例一

本实施例提供一种分组方法,如图1所示,所述方法包括:

s101,利用至少一种定位方法获取至少一组地理位置信息。

本步骤中,为了可以准确地判断出用户所在的地理位置信息,需要利用至少一种定位方法获取至少一组地理位置信息,以能对所述至少一组地理位置信息进行匹配,进而判断该用户的地理位置信息是否被篡改过。所述定位方法可以包括第三方的基于位置服务lbs定位方法。所述第三方lbs定位方法包括:各主流地图的lbs定位方法,比如百度地图、高德地图等。

在获取至少一组地理位置信息之前,需要将至少一种基于位置服务lbs定位程序的sdk预先集成至直播客户端中,然后调用至少一种基于位置服务lbs定位程序的sdk提供的接口getlocation,利用获取函数获取至少一组地理位置的经度信息及纬度信息;并将至少一组地理位置的经度信息及纬度信息保存至预先设置的变量中。

所述获取函数的实现方式如下:

longlatitude=0;

longlongitude=0;

lbs.getlocation(&latitude,&longitude);

其中,所述latitude为经度信息,所述longitude为纬度信息。

获取到经度信息及纬度信息后,并调用至少一种所述lbs定位程序的sdk提供的接口getcountrycode,利用以下函数获取至少一组地理位置对应的城市编号信息,再根据城市编码信息确定城市的名称:

intcitycode=0;

citycode=lbs.getcountrycode();

其中,所述citycode为城市编码信息,

当然,也可以通过客户端自身的gps定位接口,利用获取函数locationmgr=getsystemservice(context.location_service)获取定位信息管理对象locationmgr;基于所述定位信息管理对象的接口getlastknownlocation,利用函数location=locationmgr.getlastknownlocation(gps_provider)获取至少一组地理位置信息location。

需要说明的是,客户端在获取至少一组地理位置信息时,是根据预设的时间间隔来不停地刷新地理位置信息的,比如可以每隔5分钟获取一次。

s102,对所述至少一组地理位置信息进行加密。

本步骤中,当获取到至少一组地理位置信息后,对所述至少一组地理位置信息进行加密。

具体地,对于通过lbs定位程序获取的地理位置信息,可以利用以下两种加密算法对其进行加密,包括:

利用加密算法lbs=tea.encrypt(latitude+longitude+citycode,key)对所述至少一组地理位置信息进行加密;或者,

利用加密算法lbs=aes.encrypt(latitude+longitude+citycode,key)对所述至少一组地理位置信息进行加密;其中,所述lbs为加密后的地理位置信息,所述latitude为经度信息,所述longitude为纬度信息,所述citycode为城市编码信息,所述key为预设的密钥信息。

对于通过客户端自身的gps定位接口获取的地理位置信息,可以利用des加密算法lbs=des.encrypt(latitude+longitude,key)对所述至少一组地理位置信息进行加密;当然,对于通过lbs定位程序获取的地理位置信息也可以利用des加密算法进行加密;而对于客户端自身的gps定位接口获取的地理位置信息,同样也可以利用aes加密算法进行加密。

s103,将加密后的所述至少一组地理位置信息发送至服务器;以使得所述服务器能基于预设的判断规则,判断所述至少一组地理位置信息是否能相互匹配,若所述至少一组地理位置信息均能相互匹配,则根据所述至少一组地理位置信息对用户进行分组。

本步骤中,当对至少一组地理位置信息进行加密之后,利用预设的各组地理位置信息对应的传输方式,发送所述至少一组地理位置信息。

具体地,比如利用lbs定位程序获取的第一组地理位置信息来说,可以利用预先定义的tcp协议将第一组地理位置信息发送至服务器。

而对于利用lbs定位程序获取的第二组地理位置信息来说,可以利用预先定义的http协议将第一组地理位置信息发送至服务器。

对于利用客户端自身的gps定位接口获取的地理位置信息来说,可以将所述加密后的所述至少一组地理位置信息添加至当前通信协议的字段中,将加密后的所述至少一组地理位置信息发送至服务器;其中,所述当前通信协议包括直播客户端与服务器之间的任意一条通信协议。比如,客户端向服务器发送的请求协议,或者赠送礼物的协议等。这样,可以将地理位置信息隐藏在通信协议的字段中,防止被篡改。

这种使用多种加密算法加密后,再使用不同的网络协议来将地理位置信息上报到直播平台服务器中,可以更好的防止非法用户修改网络包中发送的地理位置信息。

当服务器接收到至少一组地理位置信息后,基于预设的判断规则,判断所述至少一组地理位置信息是否能相互匹配,若所述至少一组地理位置信息均能相互匹配,则根据所述至少一组地理位置信息对用户进行分组。所述至少一组地理位置信息可以是第一组地理位置信息、第二组地理位置信息及第三组地理位置信息中的其中任何一组。

具体地,比如服务器接收到三组地理位置信息后,可以基于公式(1)计算任意两组地理位置信息之间的距离:

dis=distance(lbsa,lbsb)(1)

公式(1)中,在计算第一地理位置与第二地理位置之间的第一距离dis1时,所述lbsa为第一地理位置的经纬度信息,所述lbsb为第二地理位置的经纬度信息;在计算第一地理位置与第三地理位置之间的第二距离dis2时,所述lbsa为第一地理位置的经纬度信息,所述lbsb为第三地理位置的经纬度信息。

在第一距离及第二距离中,当有任意一个大于预设的距离值(比如1000米),则确定第一地理位置信息与第二地理位置信息不能相互匹配,即当前用户的地理位置是非正常的,那么就可以将该用户直接踢出,不会将该用户加入任何群组。

当第一距离及第二距离均不大于预设的距离值,则确定第一地理位置信息与第二地理位置信息能相互匹配,即当前用户为正常用户,对所述用户进行分组。

具体地,对某个直播间来说,根据用户上报的地理位置信息中的城市编码信息对所有用户进行分类,具有相同的城市编码的用户则视为是同一个城市的用户。

然后创建用户群,所述用户群的群名称可以随意设置,为了明显看出用户所在的群组,本实施例是根据直播间的房间号及城市名称来设置群名称的。

创建好用户群后,向具有相同的城市编码的所有用户发送邀请信息,当接收到确认信息后,将用户加入到该用户群中。并且,如果后续有更多的用户加入到该直播间后,也会根据地理位置信息基于上述同样的方法将不同的用户加入不同的群组中。

建立好群组之后,服务器可以根据城市名称向用户推送活动消息,以满足地域差异化的需求,进而更好地推广某些活动。

当直播结束后,用户可以自动退出群组,同时服务器确定当前群组中的用户为0时,才会将当前群组删除。

实施例二

相应于实施例一,本实施例还提供一种直播客户端,所述客户端包括:获取单元21、加密单元22、发送单元23;其中,

为了可以准确地判断出用户所在的地理位置信息,所述获取单元21需要利用至少一种定位方法获取至少一组地理位置信息,以能对所述至少一组地理位置信息进行匹配,进而判断该用户的地理位置信息是否被篡改过。这里,所述定位方法可以包括第三方的基于位置服务lbs定位方法。所述第三方lbs定位程序包括:各主流地图的lbs定位程序,比如百度地图、高德地图等

在获取至少一组地理位置信息之前,所述获取单元21需要将至少一种基于位置服务lbs定位程序的sdk预先集成至直播客户端中,然后调用至少一种基于位置服务lbs定位程序的sdk提供的接口getlocation,利用获取函数获取至少一组地理位置的经度信息及纬度信息;并将至少一组地理位置的经度信息及纬度信息保存至预先设置的变量中。

所述获取函数的实现方式如下:

longlatitude=0;

longlongitude=0;

lbs.getlocation(&latitude,&longitude);

其中,所述latitude为经度信息,所述longitude为纬度信息。

当获取单元21获取到经度信息及纬度信息后,调用至少一种所述lbs定位程序的sdk提供的接口getcountrycode,利用以下函数获取至少一组地理位置对应的城市编号信息,再根据城市编码信息确定城市的名称:

intcitycode=0;

citycode=lbs.getcountrycode();

其中,所述citycode为城市编码信息。

当然,所述获取单元21也可以通过客户端自身的gps定位接口,利用获取函数locationmgr=getsystemservice(context.location_service)获取定位信息管理对象locationmgr;基于所述定位信息管理对象的接口getlastknownlocation,利用函数location=locationmgr.getlastknownlocation(gps_provider)获取至少一组地理位置信息location。

需要说明的是,所述获取单元21在获取至少一组地理位置信息时,是根据预设的时间间隔来不停地刷新地理位置信息的,比如可以每隔5分钟获取一次。

当所述获取单元21获取到至少一组地理位置信息后,所述加密单元22用于对所述至少一组地理位置信息进行加密。

具体地,对于通过lbs定位程序获取的地理位置信息,所述加密单元22可以利用以下两种加密算法对其进行加密,包括:

利用加密算法lbs=tea.encrypt(latitude+longitude+citycode,key)对所述至少一组地理位置信息进行加密;或者,

利用加密算法lbs=aes.encrypt(latitude+longitude+citycode,key)对所述至少一组地理位置信息进行加密;其中,所述lbs为加密后的地理位置信息,所述latitude为经度信息,所述longitude为纬度信息,所述citycode为城市编码信息,所述key为预设的密钥信息。

对于通过客户端自身的gps定位接口获取的地理位置信息,所述加密单元22可以利用des加密算法lbs=des.encrypt(latitude+longitude,key)对所述至少一组地理位置信息进行加密;当然,对于通过lbs定位程序获取的地理位置信息也所述加密单元22可以利用des加密算法进行加密;而对于客户端自身的gps定位接口获取的地理位置信息,所述加密单元22同样也可以利用aes加密算法进行加密。

当对至少一组地理位置信息进行加密之后,所述发送单元23利用预设的各组地理位置信息对应的传输方式,发送所述至少一组地理位置信息。

具体地,比如利用lbs定位程序获取的第一组地理位置信息来说,所述发送单元23可以利用预先定义的tcp协议将第一组地理位置信息发送至服务器。

而对于利用lbs定位程序获取的第二组地理位置信息来说,所述发送单元23可以利用预先定义的http协议将第一组地理位置信息发送至服务器。

对于利用客户端自身的gps定位接口获取的地理位置信息来说,所述发送单元23可以将所述加密后的所述至少一组地理位置信息添加至当前通信协议的字段中,将加密后的所述至少一组地理位置信息发送至服务器;其中,所述当前通信协议包括直播客户端与服务器之间的任意一条通信协议。比如,客户端向服务器发送的请求协议,或者赠送礼物的协议等。这样,可以将地理位置信息隐藏在通信协议的字段中,防止被篡改。

这种使用多种加密算法加密后,再使用不同的网络协议来将地理位置信息上报到直播平台服务器中,可以更好的防止非法用户修改网络包中发送的地理位置信息。

当服务器接收到至少一组地理位置信息后,基于预设的判断规则,判断所述至少一组地理位置信息是否能相互匹配,若所述至少一组地理位置信息均能相互匹配,则根据所述至少一组地理位置信息对用户进行分组。所述至少一组地理位置信息可以是第一组地理位置信息、第二组地理位置信息及第三组地理位置信息中的其中任何一组。

具体地,比如服务器接收到三组地理位置信息后,可以基于公式(1)计算任意两组地理位置信息之间的距离:

dis=distance(lbsa,lbsb)(1)

公式(1)中,在计算第一地理位置与第二地理位置之间的第一距离dis1时,所述lbsa为第一地理位置的经纬度信息,所述lbsb为第二地理位置的经纬度信息;在计算第一地理位置与第三地理位置之间的第二距离dis2时,所述lbsa为第一地理位置的经纬度信息,所述lbsb为第三地理位置的经纬度信息。

在第一距离及第二距离中,当有任意一个大于预设的距离值(比如1000米),则确定第一地理位置信息与第二地理位置信息不能相互匹配,即当前用户的地理位置是非正常的,那么就可以将该用户直接踢出,不会将该用户加入任何群组。

当第一距离及第二距离均不大于预设的距离值,则确定第一地理位置信息与第二地理位置信息能相互匹配,即当前用户为正常用户,对所述用户进行分组。

具体地,对某个直播间来说,根据用户上报的地理位置信息中的城市编码信息对所有用户进行分类,具有相同的城市编码的用户则视为是同一个城市的用户。

然后创建用户群,所述用户群的群名称可以随意设置,为了明显看出用户所在的群组,本实施例是根据直播间的房间号及城市名称来设置群名称的。

创建好用户群后,向具有相同的城市编码的所有用户发送邀请信息,当接收到确认信息后,将用户加入到该用户群中。并且,如果后续有更多的用户加入到该直播间后,也会根据地理位置信息基于上述同样的方法将不同的用户加入不同的群组中。

建立好群组之后,服务器可以根据城市名称向用户推送活动消息,以满足地域差异化的需求,进而更好地推广某些活动。

当直播结束后,用户可以自动退出群组,同时服务器确定当前群组中的用户为0时,才会将当前群组删除。

实施例三

本实施例还提供一种用于分组的电子设备,如图3所示,所述电子设备包括:射频(radiofrequency,rf)电路310、存储器320、输入单元330、显示单元340、音频电路350、wifi模块360、处理器370、以及电源380等部件。本领域技术人员可以理解,图3中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图3对电子设备的各个构成部件进行具体的介绍:

rf电路310可用于信号的接收和发送,特别地,将基站的下行信息接收后,给处理器370处理。通常,rf电路310包括但不限于至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。

存储器320可用于存储软件程序以及模块,处理器370通过运行存储在存储器320的软件程序以及模块,从而执行电子设备的各种功能应用以及数据处理。存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元330可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元330可包括键盘331以及其他输入设备332。键盘331,可收集用户在其上的输入操作,并根据预先设定的程式驱动相应的连接装置。键盘331采集到输出信息后再送给处理器370。除了键盘331,输入单元330还可以包括其他输入设备332。具体地,其他输入设备332可以包括但不限于触控面板、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元340可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种菜单。显示单元340可包括显示面板341,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板341。进一步的,键盘331可覆盖显示面板341,当键盘331检测到在其上或附近的触摸操作后,传送给处理器370以确定触摸事件的类型,随后处理器370根据输入事件的类型在显示面板341上提供相应的视觉输出。虽然在图3中键盘331与显示面板341是作为两个独立的部件来实现电子设备的输入和输入功能,但是在某些实施例中,可以将键盘331与显示面板341集成而实现电子设备的输入和输出功能。

音频电路350、扬声器351,传声器352可提供用户与电子设备之间的音频接口。音频电路350可将接收到的音频数据转换后的电信号,传输到扬声器351,由扬声器351转换为声音信号输出;

wifi属于短距离无线传输技术,电子设备通过wifi模块360可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了wifi模块360,但是可以理解的是,其并不属于电子设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器370是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器320内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器370可包括一个或多个处理单元;优选的,处理器370可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。

电子设备还包括给各个部件供电的电源380(比如电源适配器),优选的,电源可以通过电源管理系统与处理器370逻辑相连。

本发明实施例提供的分组方法及直播客户端能带来的有益效果至少是:

本发明提供了一种分组方法、直播客户端及电子设备,所述方法包括:利用至少一种定位方法获取至少一组地理位置信息;对所述至少一组地理位置信息进行加密,并将加密后的所述至少一组地理位置信息发送至服务器;以使得所述服务器能基于预设的判断规则,判断所述至少一组地理位置信息是否能相互匹配,若所述至少一组地理位置信息均能相互匹配,则根据所述至少一组地理位置信息对用户进行分组;如此,因可以获取到至少一组地理位置信息,从而使得服务器能对至少一组地理位置信息进行匹配,若能匹配成功,则说明用户的地理位置信息为正常地理位置信息,则会对用户进行分组;若匹配不成功,则说明用户的地理位置信息为非正常地理位置信息,则不会对该用户进行分组,这样就避免了某些不合法用户通过修改地理位置信息可以加入任何群组中的现象发生,进而避免了一些广告信息或骚扰信息的传播,提高了直播平台的互动效果。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1