基于条件的用户选择方法、服务器与系统 【技术领域】
本发明关于通信技术领域,特别关于一种基于条件的用户选择方法、服务器与系统。
背景技术
随着电信技术的发展,未来的业务丰富多彩,许多业务在会话建立阶段都需要根据一定的条件来选择需要加入会话的用户,这些条件将基于用户所拥有的各种信息,如Presence(呈现)信息或Location(位置)信息等,其中,presence信息包括用户的在线信息、兴趣爱好、用户的心情等等,location信息指用户当前的地理位置。
在现有的通信技术中,由于不同的用户信息分处于不同的服务器上(如:Presence信息存于Presence服务器上,Location信息存于Location服务器上),如果需要获得位于商场附近的、状态为在线的用户列表,则既要获得用户当前的呈现信息,又需要清楚用户的地理位置信息。目前的方法只能是请求者首先向Presence服务器发送请求来获得状态为在线的用户URI(Uniform Resource Identifier,统一资源标识),然后再向Location服务器发送请求来获得地理位置在商场附近的用户URI,请求者自己将这些用户进行评估,得出位于商场附近的且状态为在线的用户。
这样的操作需要请求者向不同的服务器发送请求以获得满足条件的用户并且需要请求者自己将返回的结果进行评估,给请求者带来了很大的不便。CBUS(Condition Based URIs Selection,基于条件的用户选择)的提出解决了上述的不足,请求者可以将对地理位置、呈现等信息的要求或者条件送至CBUS Server(CBUS服务器),CBUS Server向Presence服务器获得呈现信息,向Location服务器获得地理位置信息,并将这些结果进行评估,将满足请求者选择条件的用户URI发送至请求者。
CBUS的功能在PoC(Push to talk Over Cellular,一键通)业务中就有具体的应用,如动态PoC组、邀请预约、危机事件的处理、基于条件的用户会话的屏蔽。在动态PoC组应用中,需要根据请求者设定的条件不断进行用户选择,将满足设定条件的用户选中,从而不断更新其组成员列表。同样,CBUS的功能在其它一些业务中也有具体的应用,如CPM(Converged IP Messaging,融合消息)和MobAd(Mobile Advertising,移动广告)。
CBUS的基本内容在于根据一些条件,对请求者所能提供的各种信息进行用户的选择,从而确定该用户是不是就是请求者所要寻找的对象。这些用户的选择范围可以是请求者自己设定的一组用户,也可以不指定范围,这时CBUS必须使用搜索操作来寻找所有满足条件的用户。CBUS在进行用户选择的时候,可以采用两种方式,一种为一次选择方式,即对用户信息是否满足这些条件只进行一次选择;另一种为多次选择的方式,这种方式对用户的信息进行持续的监测,并不断根据更新的用户信息重新进行用户选择,从而得到更新的选择结果,这种监测可以是一直到条件满足,也可以是在一个特定的时间内监测。
Presence数据模型由三个关键组件组成,Person(用户)、Service(业务)、Device(设备)。其中,Person是对Presentity(呈现体)的信息进行建模的;Service是对Presentity使用的通信方式进行建模的;Device是对Presentity使用的物理设备进行建模。这些数据元素之间的关系如图1所示,一个呈现体能够有多个业务,这些业务可以放在一个设备上,也可以放在多个设备上,并且每个业务和设备都有其唯一的ID(Identifier,标识)。
在实现本发明的过程中,发明人发现现有技术至少存在如下问题:目前的技术方案是请求者发送选择条件后,由CBUS Server进行用户选择,在完成用户选择后直接将选择结果发送给请求者。如果请求者希望将选择结果发送给请求者之外的其他接收方,现有技术还没有相应的解决方案。
【发明内容】
为了解决现有技术的缺陷,本发明实施例提供一种基于条件地用户选择方法、服务器与系统。请求者在发送用户选择请求时,请求消息中除了包括选择条件之外,还包含选择结果的指定接收方,使选择结果准确有效地发送至请求者所指定的接收方。
为实现以上发明目的,本发明一实施例提供一种基于条件的用户选择方法,所述方法包括:接收请求者发来的包含用户选择条件和指定的接收方的用户选择请求消息;根据所述的用户选择请求消息将满足所述用户选择条件的用户统一资源标识列表发送给所述的指定的接收方。
为实现以上发明目的,本发明又一实施例提供一种基于条件的用户选择服务器,所述服务器包括:选择请求接收单元,用于接收请求者发来的包含用户选择条件和指定的接收方的用户选择请求消息;选择请求处理单元,根据所述的用户选择请求消息将满足所述用户选择条件的用户统一资源标识列表发送给所述的指定的接收方。
为实现以上发明目的,本发明又一实施例提供一种基于条件的用户选择系统,所述系统包括:用户选择请求装置,用于发送包含用户选择条件和指定的接收方的用户选择请求消息;用户选择服务器,用于接收所述用户选择请求装置发送的用户选择请求消息,根据所述的用户选择请求消息将满足所述用户选择条件的用户统一资源标识列表发送给所述的指定的接收方。
本发明实施例基于条件的用户选择方法在用户选择请求中增加了指定的接收方,使选择结果能够根据请求者的设置发送给用户所需的接收方,增强了选择结果发送的有效性,更好的满足了用户的需求与体验。
【附图说明】
图1为现有技术Presence信息的数据模型;
图2为本发明实施例基于条件的用户选择系统的原理图;
图2a为本发明实施例基于条件的用户选择装置的选择请求处理单元的细化框图;
图3为本发明实施例基于条件的用户选择方法的整体流程图;
图4a为本发明实施例1用户选择请求消息的内容;
图4b为本发明实施例1的用户选择具体流程;
图5a为本发明实施例2用户选择请求消息的内容;
图5b为本发明实施例2的用户选择具体流程;
图6a为本发明实施例3用户选择请求消息的内容;
图6b为本发明实施例3的用户选择具体流程;
图7a为本发明实施例4用户选择请求消息的内容;
图7b为本发明实施例4的用户选择具体流程;
图8a为本发明实施例5用户选择请求消息的内容;
图8b为本发明实施例5的用户选择具体流程;
图9a为本发明实施例5用户选择请求消息的内容;
图9b为本发明实施例5的用户选择具体流程。
【具体实施方式】
本发明实施例提供一种基于条件的用户选择方法、服务器与系统。本发明实施例的用户选择方法在请求者发送的用户选择请求中不仅包含了用户选择条件还包含了选择结果的指定的接收方;用户选择服务器接收上述请求,分析具体的选择条件,并从多个用户信息服务器上分别获取用户相关信息,并对这些用户相关信息进行评估得出符合选择条件的用户URI列表;然后用户选择服务器将最终确定的用户URI列表发送给所述的指定的接收方。
本发明实施例的指定的接收方可以是设备和/或用户,指定的接收方标识是设备ID和/或用户的URI。这些设备可以是用户自身设备,还可以是特定的应用服务器。此外,还可以为不同的指定的接收方分别设置接收条件,只有该指定的接收方满足了相应的接收条件时,才将选择结果发送给该指定的接收方。
以下结合附图对本发明具体实施方式进行详细说明:
图2为本发明实施例基于条件的用户选择系统的原理图。如图所示,本发明实施例的系统包括:用户选择请求装置10、用户信息服务器20和用户选择服务器30,典型的用户选择服务器30可以为CBUS Server,用户信息服务器20可以为presence服务器、Location服务器以及能力管理服务器(用于提供终端的能力信息,如对彩信是否支持)等能基于不同的查询条件提供用户相关信息的服务器。用户选择请求装置10可以是移动通信终端的一部分。
如2图所示,用户选择请求装置10,用于发送用户选择请求,所述用户选择请求中包含用户选择条件以及指定的接收方,可选地还包含用户URI列表(所选择的用户位于该列表的范围内)。用户信息服务器20,用于提供基于条件的用户信息查询。用户选择服务器30包括:选择请求接收单元301,用于接收所述用户选择请求装置发送的用户选择请求;选择请求处理单元302,用于根据所述的用户选择请求消息将满足所述用户选择条件的用户URI列表发送给所述的指定的接收方。
图2a为选择请求处理单元302的细化功能框图。如图所示,选择请求处理单元302包括:用户相关信息获取单元401,用于根据所述的用户选择请求消息获取用户相关信息;用户选择单元402,用于对获取的用户相关信息进行评估,得到满足所述用户选择条件的用户URI列表;选择结果指定发送单元403,用于将满足所述用户选择条件的用户URI列表发送给所述的指定的接收方。
在一较佳实施方式中,所述选择条件可以包括多个子条件,选择请求处理单元302,用于获取满足每个子条件的用户,将同时满足所述多个子条件的用户URI提取,作为选择结果。所述多个子条件可以包括:用户呈现信息以及用户位置信息、终端能力信息等一个或多个组合。如该选择条件可以是:指定的多个用户中在线且地理位置在北京的用户。
本实施例的用户选择请求消息可以根据不同的实际应用而包含不同信息,如直接包含接收设备的ID或包含接收方的URI;也可以包含接收设备或接收方ID的获取方式,如告知向Presence服务器获取接收设备的ID;还可以包含接收设备的优先级信息,对于多个设备设置接收的先后顺序;此外,还可以为不同的接收方设置接收条件,当满足所述接收条件时才向该指定接收方发送用户选择结果,如当用户在家中时采用设备A接收而用户在单位时采用设备B接收,这样需要获得请求方设备的位置信息后才能决定将选择结果发给哪一个设备。
如果请求消息中直接包含了指定的接收方标识,则选择结果指定发送单元403用于根据所述指定的接收方标识,将满足所述选择条件的用户URI列表发送给所述的指定的接收方。
如果请求消息中仅包括所述指定的接收方标识的获取方式,则选择结果指定发送单元403首先从相关服务器获取指定的接收方标识,然后根据获取的指定的接收方标识将满足所述选择条件的用户URI列表发送给所述的指定的接收方。
如果请求消息中还包括指定的接收方的优先级,则选择结果指定发送单元403根据所述指定的接收方的优先级顺序,将满足所述选择条件的用户URI列表发送给所述的指定的接收方。
如果请求消息中还包括每个指定的接收方对应的接收条件;则选择结果指定发送单元403用于当所述指定的接收方的接收条件满足时,将满足所述用户选择条件的用户统一资源标识列表发送给所述的指定的接收方。
图3为本发明实施例基于条件的用户选择方法的整体流程图。如图所示:
步骤S31、请求者向CBUS Server发送用户选择请求,该请求包括选择条件以及设置好的指定的接收方信息,优选地,还包括用户URI列表,所选择的用户为该列表包含的用户。
步骤S32、CBUS Server根据选择条件从相应的用户信息服务器获取用户相关信息。选择条件可能包括多个子条件,如当前用户状态以及当前地理位置信息等。CBUS Server需要根据不同的选择条件分别获取用户相关信息。
步骤S33、CBUS Server对获取回来的用户相关信息进行评估,得出满足条件的用户URI列表。
步骤S34、CBUS Server查看请求消息中设置的接收方信息。
步骤S35、CBUS Server判断用户选择请求消息是否已经包含了指定的接收方标识,或者仅提供了指定的接收方标识的获取方式(如:从Presence服务器上获取请求者的设备ID信息)。
步骤S36、如果仅提供了指定的接收方标识的获取方式,则CBUS Server从特定的用户信息服务器获取指定的接收方标识信息。
步骤S37、如果请求消息中已经包含了指定的接收方标识,则进一步获取指定的接收方的优先级信息,根据优先级顺序将选择结果发送给指定的接收方;或者进一步获取指定的接收方的接收条件信息,将选择结果发送给满足接收条件的指定的接收方。
步骤S38、用户选择过程结束,CBUS Server向请求者返回该结果是否成功发送的信息。
以下结合不同的具体应用实例详细说明以上方法。
实施例1:
请求者在请求消息中设置用户选择条件,并且设置选择结果的指定接收方,本实施例的指定接收方为请求者的任意一个设备,用户选择请求消息中直接包含了每个指定接收设备的ID,同时,为这些接收设备设置优先级。
应用场景:请求者Alice有两款设备,设备A和设备B,她用设备A来发送选择条件,其选择条件为John、Joe、Bob中在线的、地理位置信息在北京的朋友。为了能够保证选择结果能够实时的发给请求者,她为设备A和B设置优先级,首先将选择结果发送给设备A,在设备A接收不到选择结果的时候,则发送至设备B。在向CBUS Server发送请求消息的时候,除了包括选择条件,也包括接收设备的标识,其中接收设备标识既包括设备A的标识,也包括设备B的标识。图4a为本实施例用户选择请求消息的内容。图4b为本实施例的具体流程。
步骤S41、Alice用设备A向CBUS Server发送选择请求,其选择条件为:用户范围John、Joe、Bob,用户状态为在线、地理位置在北京。
步骤S42、同时在向CBUS Server发送的选择请求中设置选择结果的指定的接收方,其指定的接收方为设备A或者设备B。优先级信息为:在CBUSServer没有接收到设备A的准确回应时,将选择结果发送给设备B,并且,在选择结果中可以包括选择条件。
步骤S43、CBUS Server向呈现服务器获取John、Joe、Bob的在线信息,向位置服务器获取John、Joe、Bob的位置信息。
步骤S44、呈现服务器和位置服务器返回John、Joe、Bob的相关信息。
步骤S45、CBUS Server保存选择回来的用户信息并进行评估,得出满足选择条件的用户URI列表。
步骤S46、分析选择请求中包含的指定的接收方,CBUS Server首先将选择好的结果和选择条件一并发送至Alice的设备A。
步骤S47、由于设备A关机,则返回响应:接收失败。
步骤S48:CBUS Server在收到设备A的回应之后将选择结果和选择条件发送至设备B;
步骤S49:设备B向CBUS Server返回响应:成功接收。
实施例2:
与实施例1类似,请求者在请求消息中设置用户选择条件,并且设置选择结果的指定接收方,本实施例的指定接收方为请求者的任意一个设备,用户选择请求消息中直接包含了每个指定接收设备的ID,同时,为这些接收设备设置了优先级。本实施例与实施例1不同的是在选择请求消息中没有指定要进行选择的用户统一资源标识列表。
应用场景:请求者Alice有两款设备,设备A和设备B,她用设备A来发送选择条件,其选择条件为现在在某商场的人。为了能够保证选择结果能够实时的发给请求者,她为设备A和B设置优先级,首先将选择结果发送给设备A,在设备A接收不到选择结果的时候,则发送至设备B。在向CBUS Server发送请求消息的时候,除了包括选择条件,也包括接收设备的标识,其中接收设备标识既包括设备A的标识,也包括设备B的标识。图5a为本实施例用户选择请求消息的内容。图5b为本实施例的具体流程。其具体步骤为:
步骤S51、Alice用设备A向CBUS Server发送选择请求,其选择条件为:现在在某商场的人。
步骤S52、同时在向CBUS Server发送的选择请求中设置选择结果的指定的接收方,其指定的接收方为设备A或者设备B。优先级信息为:在CBUSServer没有接收到设备A的准确回应时,将选择结果发送给设备B,并且,在选择结果中可以包括选择条件。
步骤S53、CBUS Server向相关的信息服务器获取当前位置在某商场的用户。
步骤S54、相关的信息服务器返回John、Joe、Bob目前在某商场。
步骤S55、CBUS Server保存选择回来的用户信息并进行评估,得出满足选择条件的用户URI列表。
步骤S56、分析选择请求中包含的指定的接收方,CBUS Server首先将选择好的结果和选择条件一并发送至Alice的设备A。
步骤S57、由于设备A关机,则返回响应:接收失败。
步骤S58:CBUS Server在收到设备A的回应之后将选择结果和选择条件发送至设备B;
步骤S59:设备B向CBUS Server返回响应:成功接收。
实施例3:
请求者在请求消息中设置用户选择条件,并且设置选择结果的接收方,接收方可以是请求者的任意一个设备,用户选择请求消息中可以仅包含指定接收设备ID的获取方式,本实施例还可以为不同设备设置相应的接收条件,本实施例是根据请求者所在位置不同来决定由不同的设备来接收选择结果。
应用场景:请求者Alice有两款设备,设备A和设备B,在上班时间用设备A,在家的时候用设备B。Alice发送选择请求,其中包括了选择条件和指定的接收方。本实施例的请求消息中还包括指定的接收方的接收条件:在CBUSServer选择出满足条件的结果后,如果Alice的呈现信息中的行为信息显示其在工作中,则将选择结果发送至设备A;如果呈现信息的行为信息显示其在家中,则将选择结果发送至设备B。Alice在向CBUS Server发送请求消息的时候,选择条件为John、Joe、Bob中在北京的朋友图6a为本实施例用户选择请求消息的内容。图6b为本实施例的具体流程。
步骤S61:Alice用设备A向CBUS Server发送选择请求,选择条件为用户范围:John、Joe、Bob,地理位置在北京。
步骤S62:在选择请求中设置选择结果的指定的接收方,其指定的接收方为设备A或者设备B。其中,如果Alice的呈现信息中的行为信息显示其在工作中,则选择结果发送至设备A;如果其呈现信息中的行为信息显示其在家中,则选择结果发送至设备B,并且,选择结果中还可以包括选择条件信息。
步骤S63:CBUS Server向位置服务器获取John、Joe、Bob的位置信息。
步骤S64:CBUS Server向呈现服务器获取Alice的activity(行为)信息。
步骤S65:位置服务器返回John、Joe、Bob的位置信息。
步骤S66:呈现信息返回Alice的行为信息:在家中。
步骤S67:CBUS Server根据选择回来John、Joe、Bob的用户信息进行评估,得出满足条件的用户URI列表;
步骤S68:CBUS Server根据步骤S66的结果来判断将选择结果和选择条件一并发送给设备A或者B;
步骤S69:根据步骤S68的分析,将选择结果发送给Alice的设备B。
实施例4:
在实施例1、2和3中,请求者指定的接收方标识都是请求者自己给定的,还有一种情况是请求者不清楚他的设备标识,在这种情况下,可以通过到相应的服务器(如呈现服务器)上来获取这些标识。
应用场景:请求者Alice有两款设备,设备A和设备B,她用设备A来发送选择条件,用设备B来接收选择结果,其选择条件为John、Joe、Bob中在线的朋友。在向CBUS Server发送请求消息的时候,除了包括选择条件和返回内容之外,也包括指定的接收方,以及去呈现服务器获取设备B的标识。图7a为本实施例用户选择请求消息的内容。图7b为本实施例的具体流程。
步骤S71:Alice用设备A向CBUS Server发送用户选择请求,选择条件为:用户范围John、Joe、Bob,用户状态为在线。
步骤S72:在选择请求中设置选择结果的指定的接收方,指定的接收方为请求者的设备B,同时设置指定的接收方ID的获取方式,即从呈现服务器上获取设备B的ID。
步骤S73:CBUS Server向呈现服务器获取John、Joe、Bob的在线信息,并且获取Alice的设备B的ID号。
步骤S74:呈现服务器返回John、Joe、Bob的在线信息,同时返回Alice的设备B的ID号。
步骤S75:CBUS Server根据选择回来的John、Joe、Bob的用户信息进行评估,得出满足条件的用户URI列表。
步骤S76:根据步骤S74返回的Alice的设备B的ID号,CBUS Server将选择结果和选择条件一并发送给Alice的B设备。
实施例5:
在实施例1、2、3、4中,请求者设置的指定的接收方都是请求者的多个终端设备,还有一种情况是请求者发送选择条件,将选择结果则发送给其指定的其他用户,可以指定一个用户,也可以指定多个用户。
应用场景:Alice和Bob决定召集其朋友进行一次PoC会话,Alice向CBUSServer发送选择请求,并且在发送选择请求的同时,将选择结果指定发送给Bob,由Bob根据选择回来的用户来创建一个PoC会话。Alice在向CBUS Server发送请求消息的时候,选择条件为John、Joe、Tom、Lily中在线的、爱好足球的朋友,在请求消息中除了包括选择条件,也要包括对指定的接收方的设置,即Bob的URI,在选择完成后将选择结果、选择条件和Alice的URI一并发给Bob。图8a为本实施例用户选择请求消息的内容。图8b为本实施例的具体流程。
步骤S81:Alice向CBUS Server发送选择请求,选择条件为:用户范围John、Joe、Tom、Lily,用户状态为在线、爱好为足球。
步骤S82:在选择请求中设置选择结果的指定的接收方。
步骤S83:CBUS Server向呈现服务器获取John、Joe、Tom、Lily的在线信息、兴趣爱好信息。
步骤S84:CBUS Server返回John、Joe、Tom、Lily的相关呈现信息。
步骤S85:CBUS Server对这些条件信息进行评估,得出满足条件的用户URI列表;
步骤S86:根据步骤S82,CBUS Server分析选择结果的指定的接收方,指定的接收方为Bob;
步骤S87:CBUS Server将选择结果、选择条件和Alice的URI发送至Bob的URI;
步骤S88:根据步骤S87,CBUS Server向Alice发送选择结果已成功发送至Bob的消息。
实施例6:
在实施例5中,请求者和其指定的接收方都为单个用户,当然,请求者和其指定的接收方也可以是应用服务器。
应用场景:某品牌公司推出一款新的产品,为了吸引老顾客的光临惠顾,由广告公司制作一个广告并且发送给这些顾客。在CBUS中,请求者是品牌公司,指定的接收方是某广告服务器,新老顾客就是由CBUS Server选择回来的用户URI。此品牌公司发送的请求消息中既包括选择条件,也包括指定的接收方,同时也可以设置返回内容,其中,选择条件为老顾客John、Joe、Tom、Lily、Alice中在线、爱好篮球、位置在北京的顾客,指定的接收方为某广告服务器。在选择结果完成后,CBUS Server将满足条件的用户URI列表、请求者的用户URI一起发送给此广告服务器。图9a为本实施例用户选择请求消息的内容。图9b为本实施例的具体流程。
步骤S91:公司向CBUS Server发送选择请求,选择条件为:John、Joe、Tom、Lily、Alice中在线、爱好篮球、位置在北京的用户。
步骤S92:选择请求中设置选择结果的指定的接收方,其指定的接收方为广告服务器。
步骤S93:CBUS Server向呈现服务器获取John、Joe、Tom、Lily、Alice中状态为在线、兴趣爱好是篮球的用户,向位置服务器获取位置在北京的用户。
步骤S94:用户信息服务器向CBUS Server返回John、Joe、Tom、Lily、Alice的相关信息。
步骤S95:CBUS Server对这些条件信息进行评估,得出满足条件的用户URI列表。
步骤S96:根据步骤S92,CBUS Server分析选择结果的指定的接收方,指定的接收方为广告服务器。
步骤S97:CBUS Server将选择结果、选择条件和品牌公司的URI发送至广告服务器。
本发明实施例的上述技术方案中,请求者在向CBUS Server发送请求消息中指定选择结果的接收方,通过该设置,可以将选择结果发送至请求者的不同设备,也可以发送至请求者指定的其他接收者,增强了选择结果发送的有效性,更好的满足了用户的需求与体验。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。