发明内容
有鉴于此,本发明的目的在于提出匿名聊天方法,不区分被叫方或主叫方,不区分用户上下线,提高拨通率,用户体验很好。在一次匿名聊天结束之后,不必发起新的呼叫请求来继续下一次的匿名匹配,社交应用场景智能程度高。
基于上述目的本发明提供的提出匿名聊天方法,包括步骤如下:
1)根据局域网中所有用户的IP地址建立随机匹配池;
2)用户发起匿名聊天,在所述随机匹配池中根据用户所在的区域和用户等待时间匹配出匿名响应用户,建立所述用户与所述匿名响应用户的聊天连接;
3)根据用户与所述匿名响应用户的聊天连接,进行点赞操作;
4)若没有所述点赞操作则结束聊天。
在一些实施例中,根据用户所在的区域匹配出匿名响应用户的方法如下:
1)在所述随机匹配池中和发起匿名聊天请求的用户中提取用户的IP地址,根据所述IP地址定位对应的发起匿名聊天请求的用户所在位置所属的第一城市和所述随机匹配池中等待匹配的用户所在位置所属的第二城市;
2)将所述第一城市和所述第二城市按照相同的城市、相邻的城市、相同省份的城市、相邻省份的城市或不属于任何匹配关系的城市五种权值类型进行分类;
3)所述相同的城市、相邻的城市、相同省份的城市、相邻省份的城市和不属于任何匹配关系的城市按照权值大小排列;
4)根据权值大小筛选出所述相同的城市,并根据该相同的城市对应找到用户的IP地址,匹配出匿名响应用户;
5)建立所述发起匿名聊天请求的用户与所述匿名响应用户的聊天连接。
在一些实施例中,若所述步骤4)中,根据权值大小筛选出所述相同的城市的权值相同,则根据所述随机匹配池中等待匹配的用户的等待时间长短,匹配等待时间长的用户。
在一些实施例中,所述步骤4)将随机匹配池中等待匹配用户按照10个为一组进行分组,根据权值大小倒序输出权值。
在一些实施例中,所述步骤3)中所述相邻的城市、相邻省份的城市可以根据用户需要添加,进行偏好设置,所述用户的需要包括根据用户的IP地址记录的经常活动范围、经常拨号地区以及经常登陆社交网站区域。
在一些实施例中,所述匹配出匿名响应用户与发起匿名聊天用户为异性双方,所述异性双方按照如下方法获得:
根据异性双方用户的IP地址登陆注册过的社交网站的信息;
和/或,根据异性双方用户的需求指定;
和/或,根据异性双方用户的与手机号绑定的身份证信息;
和/或,根据异性双方用户的随机匹配池中的等待时间。
一种匿名聊天系统,包括:中心服务器、匹配服务器、随机匹配池和用户端,
所述匹配服务器,与所述用户端建立连接,用于接收和/或转发用户端的匿名聊天请求;
还与所述中心服务器连接,用于根据局域网中所有用户的IP建立随机匹配池;
所述随机匹配池,用于储存和/或维护正在进行匹配的用户,并与所述用户端建立排队等待关系;
所述中心服务器,与云端连接并根据所述匹配服务器上传的所有用户的IP地址,将信息保存到云端;
所述用户端,发起匿名聊天,并在所述随机匹配池中根据用户所在的区域和用户等待时间匹配出匿名响应用户,并建立所述用户与所述匿名响应用户的聊天连接;
或根据用户与所述匿名响应用户的聊天连接,所述用户端进行点赞操作;若没有所述点赞操作则结束聊天。
在一些实施例中,所述用户端进行点赞操作,若有则对聊天时间没有限制,具体步骤如下:
1)建立通话后,所述匹配服务器设置一个门限时间的延时任务,到达门限时间之后检查通话是否被互赞;
2)任何一方都可以在该门限时间内向匹配服务器发送点赞信息,
2-1)若否则进入通话自动挂断模式,所述匹配服务器向双方发送结束回叫信息来结束本次的匿名聊天;
2-2)若是则在后者点赞后,所述匹配服务器解除自己的延时任务,并向双方同时发送通过被点赞信息;
3)同时用户端更新各自的状态,将模式转换为对聊天时间没有限制。
在一些实施例中,所述匹配服务器与所述用户端建立如下交互关系:
所述用户端向所述匹配服务器发送匿名聊天请求信息,所述匹配服务器向所述用户端发送收到该匿名聊天请求信息;若所述随机匹配池中已经有等待用户,则找到最先等待用户并响应所述用户端发起的匿名聊天请求信息;若所述随机匹配池中没有等待用户,则将所述用户端放入随机匹配池;
所述匹配服务器向所述用户端发送匿名通话已经准备好信息,所述用户端进入初始化;初始化后所述用户端包括第一用户端和第二用户端,所述第一用户端为匿名聊天请求用户端,所述第二用户端为响应该匿名聊天请求用户端;
所述第一用户端与第二用户端向所述匹配服务器发送交换信息,通过所述匹配服务器相互转发,若所述第一用户端与第二用户端准备好后向所述匹配服务器发送匿名聊天已准备好信息;若所述第一用户端与第二用户端未准备好,则所述匹配服务器按照门限值等待响应;
所述匹配服务器接收到所述匿名聊天已准备好信息后,向所述第一用户端与第二用户端发送开始匿名通话消息,所述第一用户端与第二用户端在收到所述开始匿名通话消息后开启听筒、话筒或扬声器。
在一些实施例中,所述用户与所述匿名响应用户的聊天连接后,所述匹配服务器与所述用户端建立如下交互关系:
所述用户端向所述匹配服务器发送通话点赞消息,所述匹配服务器收到所述通话点赞消息,若所述匹配服务器只收到一方用户端发送的通话点赞消息,则在设定时间内停止通话;若所述匹配服务器收到双方用户端发送的通话点赞消息,则向用户端发送此次匿名通话被对方点赞消息;
若所述用户端向所述匹配服务器发送停止通话消息,则所述匹配服务器收到所述停止通话消息后,将所述用户端移出所述随机匹配池;若所述用户端向所述匹配服务器一直未发送停止通话消息,则所述匹配服务器根据收到的点赞消息和所述用户端的等待时间,继续在随机匹配池中进行匹配。
本发明主要适用匿名社交聊天场景,特别是陌生异性的匿名聊天。根据局域网中所有用户的IP地址建立随机匹配池;用户发起匿名聊天,在所述随机匹配池中根据用户所在的区域和用户等待时间匹配出匿名响应用户,建立所述用户与所述匿名响应用户的聊天连接;根据用户与所述匿名响应用户的聊天连接,进行点赞操作;若没有所述点赞操作则结束聊天。
本发明的有益效果:
不区分被叫方或主叫方,不区分用户上下线,提高拨通率,用户体验很好。在一次匿名聊天结束之后,不必发起新的呼叫请求来继续下一次的匿名匹配,社交应用场景智能程度高,给社交提供了高质量服务。本发明的匿名匿名聊匹配成功率高达:84.35%,远远高于现有技术中的电话拨通率。
具体实施方式
如图1所示是本发明一实施例中匿名聊天方法流程示意图。
S101根据局域网中所有用户的IP地址建立随机匹配池,这里的局域网是指手机设备、IPAD移动端等都在运营商提供的移动信号或者在wifi等局域网环境之下。用户的IP地址是指与所述移动设备唯一对应的唯一标识码。随机匹配池是指用于将用户的IP地址进行储存,并按照一定的排队顺序排列的内容载体。
S102用户发起匿名聊天,在所述随机匹配池中根据用户所在的区域和用户等待时间匹配出匿名响应用户,建立所述用户与所述匿名响应用户的聊天连接;发起匿名聊天的用户是否进入匹配池可以通过如下方法进行判断:若所述随机匹配池中已经有等待用户,则找到最先等待用户并响应所述用户端发起的匿名聊天请求信息;若所述随机匹配池中没有等待用户,则将所述用户端放入随机匹配池。用户所在的区域主要依靠所在省份、城市的地理信息位置进行判断,用户等待时间按照先后进入随机匹配池的时间进行划分。
S103根据用户与所述匿名响应用户的聊天连接,进行点赞操作;增加了点赞操作这个社交属性的功能,用以作为匿名聊天时长的判断方法。
S104若没有所述点赞操作则结束聊天,若结束聊天则用户可以继续选择在随机池中进行匹配或者放弃匿名通过进程。主要从社交领域中较快捷的双方兴趣角度出发,简化了现有点对点通过中延迟等待的时间和等待呼叫的流程。同时匹配方法因遵循:不管是何原因,双方结束通话后,在一定时间内,都不能再次给他们随机匹配,否则就失去随机匹配的意义了。
图2是本发明一实施例中随机匹配方法流程示意图。
S201在所述随机匹配池中和发起匿名聊天请求的用户中提取用户的IP地址,根据所述IP地址定位对应的发起匿名聊天请求的用户所在位置所属的第一城市和所述随机匹配池中等待匹配的用户所在位置所属的第二城市;
在城市匹配过程中,可以按照如下进行权值分配:
同城市的权值分配为1,比如用户都在北京,权值则分配为1,设置为最优匹配权值;随机匹配池中最优先匹配出权值分配为1的用户。
相邻城市的权值分配为2,比如一用户在北京,另一用户在天津,权值则分配为2,设置为次匹配权值;随机匹配池中可自由匹配出权值分配为2的用户。
表1 相邻城市
同省份的城市权值分配为5,比如一用户在沈阳,另一个用户在长春,按照地理行政区域划分为同一省份的不同城市,随机匹配池中在找不到匹配权值为1或2的用户时,才进行该匹配。
表2 相邻城市数据配置标
上述权值分配可以人为定义相邻的城市,就算地址位置不在相邻的,但是用户希望这两个城市的亲缘度更加近,就可以单独把这两个城市配置到表中。
相邻省份的城市定分配10,比如一用户在广西,另一个用户在广东,随机匹配池作为备选推荐,除非用户等待时间超出一定门限,则进行匹配,若没有,则不进行匹配。
表3 相邻省份数据配置
标4 相邻城市数据配置标
非以上4种情况的权值定义99,比如用户在贵州和哈尔滨两个不相邻的省份,则需要终止该匹配,用户需要重新匹配。
S202将所述第一城市和所述第二城市按照相同的城市、相邻的城市、相同省份的城市、相邻省份的城市或不属于任何匹配关系的城市五种权值类型进行分类;本领域技术人员可以理解的,按照权值类型进行分类并不限于上述的几种分类类型。随机匹配池能够根据异性双方用户的IP地址登陆注册过的社交网站的信息;
和/或,根据异性双方用户的需求指定;
和/或,根据异性双方用户的与手机号绑定的身份证信息;
和/或,根据异性双方用户的随机匹配池中的等待时间。
上述判断信息中的任意信息进行权值分配。
S203所述相同的城市、相邻的城市、相同省份的城市、相邻省份的城市和不属于任何匹配关系的城市按照权值大小排列;本领域技术人员能够明白,若现在有用户A,然后匿名聊匹配池中有10个用户从B1至B10,根据权值分配方法分别算出A与匹配池中所有用户的10个权值,然后将这个10个值倒序排列,第一个值的用户就是A需要匹配的用户Bx。如果有两个相同权值的用户那么根据用户的等待时长,优先等待时长短的用户匹配。
S204根据权值大小筛选出所述相同的城市,并根据该相同的城市对应找到用户的IP地址,匹配出匿名响应用户;若根据权值大小筛选出所述相同的城市的权值相同,则根据所述随机匹配池中等待匹配的用户的等待时间长短,匹配等待时间长的用户。其中所述相邻的城市、相邻省份的城市可以根据用户需要添加,进行偏好设置,所述用户的需要包括根据用户的IP地址记录的经常活动范围、经常拨号地区以及经常登陆社交网站区域。
S205建立所述发起匿名聊天请求的用户与所述匿名响应用户的聊天连接。
图3是本发明一实施例中匿名聊天请求者和响应者权值计算方法示意图。
S301请求匿名聊天用户的IP地址,IP地址可以在用户登陆移动端后或者根据之前已经记录的移动端的IP来获得,本领域技术人员应该明了,可以通过多种方式获得用户的IP地址。
S302响应匿名聊天用户的IP地址,响应匿名聊天的用户一般会记录在随机匹配池中,在所述随机匹配池中会对IP地址进行缓存。
S303省份城市1,根据所述IP地址定位对应的发起匿名聊天请求的用户所在位置所属的第一城市
S304省份城市2,根据所述随机匹配池中等待匹配的用户所在位置所属的第二城市,
S305是否同城,根据设定的同城情况判断;
S306返回,若是同城,则返回结果,权值分配为1,优先匹配。
S307查询相邻城市配置,根据相邻城市数据配置,查询到是否为相邻城市;
S308是否相邻城市,若是则权值分配为2,进入S306返回查询结果,是否则进入S309;
S309是否相同省份,继续进行查询,根据相同省份数据配置,查询到是否为相同省份;若是则返回S306,权值分配为5,若不是则进入S310;
S310查询相邻省份配置,根据相邻省份数据配置,查询到是否为相邻省份,若是则返回S306,权值分配为10,若否则进入S311;
S311是否相邻省份,非以上4种情况的权值定义99,则需要终止该匹配,用户需要重新匹配,返回S306。
图4是本发明一实施例中匿名聊天用户相互点赞的流程示意图。
S401建立通话后,所述匹配服务器设置一个门限时间的延时任务,本领域技术人员应该明了,所述的门限时间即为根据用户反应时间和反应快慢而设置的时间,用于控制延时任务的时间。
S402到达门限时间之后检查通话是否被互赞,在随机匹配池中检测并匹配出双方的通话是否被点赞。点赞的要求是互赞,即双方都需要在一定的门限时间内进行点赞,若只是一方点赞,则会结束本次匿名聊天。所述匹配服务器需要在接受到互赞的消息后才会继续双方的通话。
S403任何一方都可以在该门限时间内向匹配服务器发送点赞信息,只要通话开始后用户就可以进行点赞,没有开始时间的限制,若否,则表示没有收到点赞的消息,则进入S405;
S404若是则在后者点赞后,所述匹配服务器解除自己的延时任务,进入S406
S406并向双方同时发送通话被点赞信息,双方在收到通话被点赞消息后进入S408;
S405进入通话自动挂断模式,双发结束通话,进入S407;
S407所述匹配服务器向双方发送结束呼叫信息来结束本次的匿名聊天,匹配服务器向双方发送匿名聊天消息,双方会接受到匿名聊天结束消息。
S408同时用户端更新各自的状态,将模式转换为对聊天时间没有限制。
图5是本发明一实施例中匿名聊天系统模块示意图,包括:中心服务器、匹配服务器、随机匹配池和用户端,
所述匹配服务器,与所述用户端建立连接,用于接收和/或转发用户端的匿名聊天请求;所述用户端向所述匹配服务器发送匿名聊天请求信息,所述匹配服务器向所述用户端发送收到该匿名聊天请求信息;若所述随机匹配池中已经有等待用户,则找到最先等待用户并响应所述用户端发起的匿名聊天请求信息;若所述随机匹配池中没有等待用户,则将所述用户端放入随机匹配池;所述匹配服务器向所述用户端发送匿名通话已经准备好信息,所述用户端进入初始化;初始化后所述用户端包括第一用户端和第二用户端,所述第一用户端为匿名聊天请求用户端,所述第二用户端为响应该匿名聊天请求用户端;所述第一用户端与第二用户端向所述匹配服务器发送交换信息,通过所述匹配服务器相互转发,若所述第一用户端与第二用户端准备好后向所述匹配服务器发送匿名聊天已准备好信息;若所述第一用户端与第二用户端未准备好,则所述匹配服务器按照门限值等待响应;
所述用户端,发起匿名聊天,并在所述随机匹配池中根据用户所在的区域和用户等待时间匹配出匿名响应用户,并建立所述用户与所述匿名响应用户的聊天连接;或根据用户与所述匿名响应用户的聊天连接,所述用户端进行点赞操作;若没有所述点赞操作则结束聊天。
所述匹配服务器接收到所述匿名聊天已准备好信息后,向所述第一用户端与第二用户端发送开始匿名通话消息,所述第一用户端与第二用户端在收到所述开始匿名通话消息后开启听筒、话筒或扬声器。
所述用户与所述匿名响应用户的聊天连接后,所述匹配服务器与所述用户端建立如下交互关系:
所述用户端向所述匹配服务器发送通话点赞消息,所述匹配服务器收到所述通话点赞消息,若所述匹配服务器只收到一方用户端发送的通话点赞消息,则在设定时间内停止通话;若所述匹配服务器收到双方用户端发送的通话点赞消息,则向用户端发送此次匿名通话被对方点赞消息;
若所述用户端向所述匹配服务器发送停止通话消息,则所述匹配服务器收到所述停止通话消息后,将所述用户端移出所述随机匹配池;若所述用户端向所述匹配服务器一直未发送停止通话消息,则所述匹配服务器根据收到的点赞消息和所述用户端的等待时间,继续在随机匹配池中进行匹配。
所述匹配出匿名响应用户与发起匿名聊天用户为异性双方,所述异性双方按照如下方法获得:根据异性双方用户的IP地址登陆注册过的社交网站的信息;和/或,根据异性双方用户的需求指定,比如用户指定的只与女性性别的用户建立匿名聊天;和/或,根据异性双方用户的与手机号绑定的身份证信息,所述随机匹配池会根据省份证的信息判断性别,并进行异性匹配;和/或,根据异性双方用户的随机匹配池中的等待时间,优先匹配先进入随机匹配池中的匿名聊天用户。
还与所述中心服务器连接,用于根据局域网中所有用户的IP建立随机匹配池;中心服务器将用户的IP地址保存到云端,提供随机匹配池的调用。
所述随机匹配池,用于储存和/或维护正在进行匹配的用户,并与所述用户端建立排队等待关系;1)在所述随机匹配池中和发起匿名聊天请求的用户中提取用户的IP地址,根据所述IP地址定位对应的发起匿名聊天请求的用户所在位置所属的第一城市和所述随机匹配池中等待匹配的用户所在位置所属的第二城市;2)将所述第一城市和所述第二城市按照相同的城市、相邻的城市、相同省份的城市、相邻省份的城市或不属于任何匹配关系的城市五种权值类型进行分类;3)所述相同的城市、相邻的城市、相同省份的城市、相邻省份的城市和不属于任何匹配关系的城市按照权值大小排列;4)根据权值大小筛选出所述相同的城市,并根据该相同的城市对应找到用户的IP地址,匹配出匿名响应用户;5)建立所述发起匿名聊天请求的用户与所述匿名响应用户的聊天连接。
所述中心服务器,与云端连接并根据所述匹配服务器上传的所有用户的IP地址,将信息保存到云端。为了防止数据的流失,同时保证有足够的空间储存社交网络中的数据。
按照本发明的匿名聊天的方法,进一步提高了匹配的效率和匿名聊天的成功率:
其中,匿名聊日均使用总人数:3万,匿名聊日发起的匹配数量:25万,匿名聊次均通话时长:104秒,匿名聊天次均等待时长:3.8秒,匿名聊日均通话总时长:1509808005秒。可以看出本发明的匿名聊天的方法不仅提供了通过成功率而且降低了平均的通话等待时间。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。