建立通信通道的方法和装置的制造方法_3

文档序号:9814065阅读:来源:国知局
性。
[0086]步骤608,计算不同的通信请求所对应的用户属性之间的相似度。
[0087]具体地,对于同时发起或者同时接收到的通信请求中的通信请求,两两计算相应的用户属性之间的相似度。相似度是对两个通信请求的用户属性相似程度的量化,可以用打分形式来量化,比如可以比较两个用户属性,将其中相同的部分记为一个正分值,而不同的部分则不计分值,从而可获得一个表示相似度的总分值。
[0088]不同的通信请求所对应的用户属性之间的相似度也可以通过计算两个用户属性之间的文本相似度来计算获得,比如可以通过最少编辑距离算法来计算两者的相似度。假设A、B为两个字符串,定义编辑距离为把A转换成B需要的最少删除(删除A中一个字符)、插入(在A中插入一个字符)和替换(把A中的某个字符替换成另一个字符)的次数。最少编辑距离算法具体步骤为将具有较长文本的用户属性的文本作为基准文本,则另一个用户属性的文本称为短文本。则遍历分段之后的短文本,发现长文本包含短文本子句后在长本文中移除,未发现匹配的字句累加长度。比较剩余文本长度与两段文本长度和,其比值为不匹配比率,对该不匹配比率进行负相关的运算,比如被I减去,则可获得相似度。
[0089]步骤610,将相似度高于预设阈值的用户属性所对应的通信请求进行匹配。
[0090]具体地,根据用户属性的相似度来对通信请求进行匹配,将相似度高于预设阈值的用户属性所对应的通信请求作为匹配的通信请求。该预设阈值可以根据需要设定。
[0091]步骤612,将同时发起或者同时接收到的通信请求中剩余未匹配的通信请求进行随机匹配。
[0092]具体地,通过步骤610中对通信请求的匹配,同时发起或者同时接收到的通信请求中已经有部分通信请求得到的匹配结果,对于除去这部分的剩余未匹配的通信请求则进行随机匹配。
[0093]步骤614,根据匹配的通信请求自动建立发起该匹配的通信请求的终端之间的通信通道。
[0094]具体地,服务器可以向发起匹配的通信请求中的每个通信请求的终端发送建立通信通道的通知,从而使得接收到通知的终端根据该通知与其它终端建立通信通道。向每个终端发送的通知,根据匹配的通信请求各自所携带的终端的标识生成。其中根据接收该通知的终端的标识可生成该通知中的接收方的信息,根据匹配的通信请求所对应的所有终端中除去接收该通知的终端的标识,可以在该通知中生成接收该通知的终端建立通信通道所需要的必要数据。终端之间所建立的通信通道可以为语音通信通道、即时会话通信通道和视频通信通道中的至少一种。
[0095]本实施例提供的建立通信通道的方法,通过计算不同的通信请求对应的用户属性之间的相似度,优先将具有类似用户属性的陌生人联系起来建立通信通道,使得建立了通信通道的陌生人之间具有更多类似的用户属性,满足潜在的用户需求,提高通信质量,当不存在用户需求的通信对象时才与随机的一个陌生人用户建立通信通道。
[0096]在一个实施例中,上述图5以及图6中的建立通信通道的方法可以结合。具体在图5所示的建立通信通道的方法的基础上,先执行步骤502?步骤512,再执行步骤608?步骤614,其中步骤608具体为计算同时发起或者同时接收到的通信请求中剩余未匹配的不同的通信请求所对应的用户属性之间的相似度。本实施例中,先根据用户设定的通信对象需求信息进行通信请求的匹配,再通过计算不同的通信请求对应的用户属性之间的相似度,将剩余的通信请求进行匹配,当不存在用户需求的通信对象时才与随机的一个陌生人用户建立通信通道。尽量满足用户提出的或者潜在的用户需求,提高通信质量。
[0097]下面用一个具体的应用场景来说明上述建立通信通道的方法的原理,本应用场景以该方法应用于服务器来进行说明。参考图7,假设有四个互不相识的用户分别为用户A、用户B、用户C和用户D,分别操作终端702、703、704和705,且每个终端分别与服务器706通过网络连接。四个用户分别通过各自的终端分别同时发起通信请求,参照图8,其中用户A通过终端702提供的图形界面,在不设置通信对象需求信息的情况下,点击通信请求触发控件802向服务器706发起随机通信请求。用户B则通过终端703提供的图形界面,在通信对象需求信息设置区域804中设置通信对象需求信息,比如性别、年龄段等,进而点击通信请求触发控件802以向服务器706发起携带有通信对象需求信息的通信请求。类似地,用户C通过终端704向服务器706发起随机通信请求。用户D通过终端705提供的图形界面,点击登录触发控件806凭借用户标识登录后,点击通信请求触发控件802以向服务器706发起携带有用户标识的通信请求。
[0098]服务器在接收到多个终端发来的通信请求后,确定四个通信请求为同时发起或者接收到的通信请求,并进行分析。对于携带有用户标识的通信请求,如用户D发起的通信请求,则提取用户标识所对应的用户属性。对于携带有通信对象需求信息的通信请求,如用户B发起的通信请求,则从其中获取通信对象需求信息。判断获取到的通信对象需求信息和提取出的用户属性是否匹配,若匹配则将两者通信请求进行匹配,从而分别向终端703和终端705返回建立通信通道的通知,使得终端703和终端705之间建立通信通道。对于剩余的终端701和终端703所发起的通信请求,则进行随机匹配,分别向终端701和终端703返回建立另一个通信通道的通知,从而使得终端701和终端703之间建立通信通道。这样互为陌生人的用户A和用户C之间,用户B和用户D,就可以基于建立的通信通道进行通信。
[0099]如图9所示,在一个实施例中,提供了一种建立通信通道的方法,本实施例以该方法应用于上述图1以及图2中的一个终端来举例说明。该方法具体包括如下步骤:
[0100]步骤902,向服务器发送第一通信请求,使服务器在与第一通信请求同时发起或者同时接收到的第二通信请求集合中随机确定与第一通信请求匹配的第二通信请求。
[0101]为了便于描述,这里将本终端发送的通信请求称为第一通信请求,而将其他终端发送的通信请求称为第二通信请求,第一通信请求和第二通信请求统称为通信请求。第一通信请求和第二通信请求各自携带有用于建立通信通道的必要数据,比如发起相应的通信请求的终端的物理地址和/或网络地址等。
[0102]本终端可以不登录就触发向服务器发送第一通信请求。本终端可以通过检测预设操作来触发向服务器发送通信请求。比如本终端可以提供一个图形界面,在界面中显示一个可操作的控件,当检测到对该控件的点击操作时则触发向服务器发送第一通信请求。该控件上或者周围可以显示有功能描述文字标签,这里的点击操作可以是单击、双击等操作。本终端也可以通过终端的触摸板或者摄像头检测到手势操作,或者用于通过终端的运动传感器检测到的符合预设运动条件的终端运动时触发向服务器发送通信请求。
[0103]第一通信请求用于使服务器在与第一通信请求同时发起或者同时接收到的第二通信请求集合中随机确定与第一通信请求匹配的第二通信请求。具体地,服务器在收到分别来自多个终端的通信请求后,确定与第一通信请求同时发起或者同时接收到的第二通信请求集合,从而从该集合中随机确定与第一通信请求匹配的第二通信请求。服务器可以随机两两配对来实现任意两个通信请求的匹配,也可以进行3个以上的指定数量的通信请求的随机聚类来实现通信请求的随机匹配。这里指定数量可以由服务器指定也可以由第一通信请求所指定。
[0104]步骤904,接收服务器返回的建立通信通道的通知;通知根据匹配的第二通信请求所携带的终端的标识生成。
[0105]服务器可以向发起匹配的通信请求中的每个通信请求的终端发送建立通信通道的通知,从而使得接收到通知的终端根据该通知与其它终端建立通信通道。向每个终端发送的通知,根据匹配的通信请求各自所携带的终端的标识生成。其中根据第一通信请求所携带的终端的标识可生成该通知中的接收方的信息,根据匹配的第二通信请求所携带的终端的标识,可以生成该通知中用于使接收该通知的终端建立通信通道所需要的必要数据。
[0106]步骤906,根据通知自动建立与终端的通信通道。
[0107]具体地,通知中用于使接收该通知的终端建立通信通道所需要的必要数据可以是匹配的第二通信请求所携带的终端的标识,此时既可以建立终端之间经由服务器的通信通道,也可以建立终端之间的P2P通信通道。必要数据还可以是根据匹配的第二通信请求所携带的终端的标识所生成的通信接口标识,本终端便可以根据该通信接口标识而与其它终端建立经由服务器的通信通道。在一个实施例中,终端之间所建立的通信通道可以为语音通信通道、即时会话通信通道和视频通信通道中的至少一种。
[0108]在一个实施例中,本终端可以与建立了通信通道的另一个终端进行通信,当以第一用户标识登录后,通过服务器向另一个终端发起建立好友关系的请求,使得服务器接收另一个终端以第二用户标识登录后发起的确认建立好友关系的反馈,从而建立第一用户标识和第二用户标识之间的好友关系。
[0109]上述建立通信通道的方法,向服务器发送了第一通信请求后,服务器在与第一通信请求同时发起或者同时接收到的第二通信请求集合中随机确定与第一通信请求匹配的第二通信请求,这样发送第一通信请求和发送第二通信请求的用户都具有与陌生人通信的意图,通过随机匹配能够自动将两个具有通信意图的用户联系起来。然后接收到服务器返回的根据匹配的第二通信请求所生成的通知后,通过该通知就可以与另一个终端建立通信通道,陌生人用户之间就可以直接基于该建立的通信通道进行通信,而不需要进行添加好友、选择通信对象等一系列操作,操作简单,提高了操作便利性。
[0110]在一个实施例中,第一通信请求携带有第一通信对象需求信息,用于使服务器将具有与第一通信对象需求信息匹配的用户属性的第二通信请求确定为与第一通信请求匹配的第二通信请求。第一通信对象需求信息还用于使服务器当未查找到具有与第一通信对象需求信息匹配的用户属性的第二通信请求时,在第二通信请求集合中随机确定与第一通信请求匹配的第二通信请求。
[0111]具体地,本实施例中,第一通信请求用于使服务器在收到该第一通信请求后,确定与该第一通信请求同时发起或者同时接收到的第二通信请求集合,并获取第一通信请求中的第一对象需求信息以及第二通信请求集合中的第二通信请求中携带的第二用户标识,进而提取获取的第二用户标识所对应的第二用户属性。使得服务器分别判断第一对象需求信息与第二通信请求集合中各个第二通信请求所对应的第二用户属性是否匹配。使得服务器将判断为匹配的第一对象需求信息和与该第一对象需求信息匹配的第二用户属性所对应的第二通信请求进行匹配。当查找到具有与第一通信对象需求信息匹配的第二用户属性的第二通信请求时,将该第二通信请求确定为与第一通信请求匹配的第二通信请求。当未查找到具有与第一通信对象需求信息匹配的第二用户属性的第二通信请求时,则在第二通信请求集合中未匹配的第二通信请求中随机确定与第一通信请求匹配的第二通信请求。其中第一通信对象需求信息与第二通信请求所对应的第二用户属性的匹配可以为双向匹配。
[0112]本实施例中,服务器先根据用户设定的通信对象需求信息进行通信请求的匹配,当无法匹配时才进行随机匹配,可以使得建立了通信通道的陌生人尽量优先满足用户需求,一定程度上保证通信安全,当不存在用户需求的通信对象时才与随机的一个陌生人用户建立通信通道。
[0113]在一个实施例中,第一通信请求携带有第一用户标识,用于使服务器提取第一用户标识所对应的第一用户属性,将第二通信请求集合中具有与第一用户属性匹配的第二通信对象需求信息的第二通信请求确定为与第一通信请求匹配的第二通信请求。第一用户标识还用于使服务器当未查找到具有与第一用户属性匹配的第二通信对象需求信息的第二通信请求时,在第二通信请求集合中随机确定与第一通信请求匹配的第二通信请求。
[0114]具体地,第一通信请求用于使服务器在接收到该第一通信请求后,确定与该第一通信请求同时发起或者同时接
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1