具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,下面结合附图并举实施例,对本发明提供的技术方案进一步详细描述。
实施例一
参见图1,图1为本发明实施例一提供的优化CBUS服务器返回结果的方法流程图,包括:
步骤11,CBUS服务器接收请求者提交的选择用户的请求,在所述选择用户的请求中携带有从返回的结果中排除特定的URI的设置。
所述特定的URI包括请求者自己的URI或者请求者事先已经知道满足该选择条件的URI,例如一个或多个除请求者自己之外的URI。
而且需要说明的是,在CBUS服务器接收请求者提交的选择用户的请求中,请求者可以指定一个或几个组URI作为选择范围,或者请求者也可以不指定具体的选择范围。
步骤12,CBUS服务器接收到所述选择用户的请求后,分析选择条件,到相应的信息服务器上获取信息,然后,CBUS服务器将取回的信息与请求者提交的选择条件做分析,得到满足所有选择条件的URI列表。
步骤13,CBUS服务器评估所述特定的URI是否在所述满足所有选择条件的URI列表中,如果在,则将所述特定的URI从该URI列表中删除,得到最终要返回的URI列表。
步骤14,CBUS服务器将所述得到的最终要返回的URI列表返回给请求者。
本发明实施例一提供的优化CBUS服务器返回结果的方法,通过在用户选择用户的请求中携带有从返回的结果中排除特定的URI的设置,能够使请求者从CBUS服务器处获得最终要返回的URI列表,该最终要返回的URI列表排除了特定的URI,包括请求者自己的URI或者请求者事先已经知道满足该选择条件的URI,从而节省CBUS服务器执行处理的资源,并提升用户体验。
实施例二
参见图2,图2为本发明实施例二提供的优化CBUS服务器返回结果的方法流程图,包括:
步骤21,CBUS服务器接收请求者提交的选择用户的请求,在所述选择用户的请求中未携带有有从返回的结果中排除特定的URI的设置。
需要说明的是,在CBUS服务器接收请求者提交的选择用户的请求中,请求者可以指定一个或几个组URI作为选择范围,或者请求者也可以不指定具体的选择范围。
步骤22,CBUS服务器接收到所述选择用户的请求后,分析选择条件,到相应的信息服务器上获取信息,然后,CBUS服务器将取回的信息与请求者提交的选择条件做分析,得到满足所有选择条件的URI列表。
步骤23,CBUS服务器评估请求者自己的URI是否在所述满足所有选择条件的URI列表中,如果在,则CBUS服务器根据请求者提交的选择条件判断是否将请求者自己的URI从该URI列表中删除,并得到最终要返回的URI列表。
步骤24,CBUS服务器将所述得到的最终要返回的URI列表返回给请求者。
本发明实施例二提供的优化CBUS服务器返回结果的方法,通过CBUS服务器根据请求者提交的选择条件判断是否将请求者自己的URI从得到的满足所有选择条件的URI列表中删除,能够使请求者从CBUS服务器处获得最终要返回的URI列表,从而可以节省CBUS服务器执行处理的资源,并提升用户体验。
实施例三
参见图3,图3为本发明实施例三提供的优化CBUS服务器返回结果的方法流程图,包括:
步骤31,CBUS服务器接收请求者提交的选择用户的请求,在所述选择用户的请求中携带有从返回的结果中排除特定的URI的设置。
所述特定的URI包括请求者自己的URI或者请求者事先已经知道满足该选择条件的URI,例如一个或多个除请求者自己之外的URI。
而且需要说明的是,在CBUS服务器接收请求者提交的选择用户的请求中,请求者可以指定一个或几个组URI作为选择范围,或者请求者也可以不指定具体的选择范围。
步骤32,CBUS服务器接收到所述选择用户的请求后,分析选择条件,依次到不同相应的信息服务器上获取信息,然后,CBUS服务器将取回的信息与本次选择条件做分析,得到满足本次选择条件的URI列表。
步骤33,CBUS服务器评估所述特定的URI是否在所述满足本次选择条件的URI列表中,如果在,则将所述特定的URI从该URI列表中删除,得到符合本次需要的URI列表。
步骤34,CBUS服务器将所述得到的符合本次需要的URI列表作为下次到不同相应的信息服务器上获取信息的URI选择范围,重复步骤32和步骤33,直至CBUS服务器得到最终要返回的URI列表。
步骤35,CBUS服务器将所述得到的最终要返回的URI列表返回给请求者。
本发明实施例三提供的优化CBUS服务器返回结果的方法,在CBUS服务器需要依次到不同相应的信息服务器上获取满足本次选择条件的URI列表的应用场景下,通过在用户选择用户的请求中携带有从返回的结果中排除特定的URI的设置,在CBUS服务器依次到不同相应的信息服务器上获取满足本次选择条件的URI列表后,对每次得到的满足本次选择条件的URI列表进行评估,删除掉特定的URI,得到符合本次需要的URI列表,并作为下次到不同相应的信息服务器上获取信息的URI选择范围,这样逐次缩小CBUS服务器的URI选择范围,最终使请求者从CBUS服务器处获得符合需要的URI列表,从而能够节省CBUS服务器执行处理的资源,并提升用户体验。
需要说明的是,本实施例如果在向CBUS服务器提交选择用户的请求未携带有从返回的结果中排除特定的URI的设置,CBUS服务器仍将评估请求者自己的URI是否在所述满足所有选择条件的URI列表中,如果在,则CBUS服务器根据请求者提交的选择条件判断是否将请求者自己的URI从该URI列表中删除,并得到最终要返回的URI列表。
下面用具体的实施例对以上本发明实施例提供的优化CBUS服务器返回结果的方法进行说明。
实施例四
Alice是某网络书店的一名注册会员,希望能够找出所有注册会员中当前在线并且和她一样阅读过小说Ghost的人来交流读后感。
Alice通过CBUS业务来搜索满足自己条件的用户,Alice向CBUS服务器发起一个选择用户的请求,请求中包括三个条件并且未指定供选择的URI范围,三个条件是:
条件1 |
网络书店的注册会员 |
条件2 |
当前在线 |
条件3 |
阅读过小说Ghost |
CBUS服务器返回的用户URI必须同时满足这三个条件,即CBUS服务器进行搜索的条件为:条件1AND条件2AND条件3。同时Alice知道自己是肯定满足这三个条件的,如果CBUS服务器得到的满足条件的结果中只有Alice自己的话,Alice就不希望CBUS服务器再返回这样的结果给她了,所以她在提交请求时还有一个附加条件,就是在结果中排除她自己,即排除(Exclude)她自己的URI:Sip:Aliceexample.com。这样CBUS服务器接收到的全部选择条件就是:条件1AND条件2AND条件3AND(Exclude Sip:Aliceexample.com)。
CBUS服务器从相应的信息服务器获取该网络书店的会员列表,以及小说Ghost的阅读记录,从中选择出阅读过该小说的会员列表,然后到保存有用户状态信息的Presence服务器上获取这些会员的状态信息,从中选出当前在线的会员列表,然后再根据Alice的请求要求,将Alice的URI从这个列表中剔除,如果此时列表不为空,则把列表返回给Alice,如果列表为空,则向Alice返回无满足条件的结果的信息。
实施例五
Alice和她的朋友们预先设定了一个组A,组中包括常在一起聊天的几个朋友:Alice、Bob、Candy、David、Emily和Frank,这个组A用URISip:Group1example.com来在网络中进行唯一标识。
Alice希望和当前在线的朋友一起聊天,先向CBUS服务器发起一个选择用户的请求,由CBUS服务器从组A中选择出当前是Available(在线)状态的朋友。Alice向CBUS服务器提交的请求包括选择条件和一个组URI,条件为Status=Available,组URI为Sip:Group1example.com。
CBUS服务器接收到Alice的请求的同时,还获知了请求者Alice自己的URI:Sip:Aliceexample.com。CBUS服务器首先到保存有组A信息的共享群组XDM文档服务器(Shared Group XDM Server)上根据组URI Sip:Group 1example.com获取在这个组中的成员的URI:
CBUS服务器在获取到组中有哪些成员的信息后,到保存有成员状态信息的Presence服务器上获取这些成员的状态信息:
CBUS服务器将取回的成员状态信息与请求条件进行分析评估,获得满足条件的用户URI有Sip:Aliceexample.com和Sip:Bobexample.com;同时CBUS服务器分析请求条件和请求者的URI,请求者自己肯定是在线状态,而且请求者自己是可以确定自己是满足该条件的,CBUS服务器将请求者Alice的URI从刚才得到的URI列表中剔除,得到最终要返回给Alice的URI为Sip:Bobexample.com。
Alice得到CBUS服务器返回的URI后,可以发起与Bob的会话。
如果CBUS服务器取回的成员状态信息中,在线的只有Alice,就不必给Alice返回当前在线的人是Alice自己了,因为Alice也不会想得到要聊天的对象是自己的URI这样没有意义的结果,因此本实施例节约了无线资源,改善了用户体验。
实施例六
Alice和Bob希望从现有的两个URI组中挑选出至少两位当前在线、爱好是桥牌并且桥牌级别是中级的成员,供他们选择好一块打网上桥牌。由Alice通过CBUS业务来选择他们的目标人选。Alice向CBUS服务器提交选择请求,包括:
URI选择范围是两个组URI:
组1 |
Sip:Group1example.com |
组2 |
Sip:Group2example.com |
选择条件是:
条件1 |
当前在线 |
条件2 |
爱好是桥牌 |
条件3 |
桥牌级别是中级 |
条件4 |
返回URI数目≥2 |
而Bob已经加入了组1,并且也满足这三个条件,所以Alice在提交请求时,同时指定在返回结果中排除Bob。所以CBUS服务器接收到的完整的请求为:从(URI组1和URI组2)中选择出满足条件(条件1AND条件2AND条件3)AND(Exclued Sip:Bobexample.com)。
CBUS服务器首先到保存有群组信息的共享群组XDM文档服务器上获取URI组1和URI组2中的具体的成员信息:
CBUS服务器评估取回的成员信息,从中去掉Bob的URI,保留其余5人的URI,然后到保存有成员个人信息的Presence服务器上获取他们的在线信息和爱好信息:
成员 |
Available? |
Hobby=桥牌? |
Level |
Sip:Alxexample.com |
Yes |
No |
|
Sip:Candyexample.com |
No |
Yes |
中级 |
Sip:Davidexample.com |
Yes |
Yes |
高级 |
Sip:Emilyexample.com |
Yes |
Yes |
中级 |
Sip:Frankexample.com |
No |
No |
|
CBUS服务器评估取回的成员的在线信息和爱好信息,同时满足条件1和2和3的只有Sip:Emilyexample.com一个人,不符合条件4中对至少返回2个URI的限制,所以CBUS服务器向请求者Alice返回没有满足条件用户的信息。
实施例七
Alice需要向当前在某野营区的野营者发送短信通知,希望通过CBUS业务来获取当前在野营区的人的URI列表,但是返回的URI列表中不需要包括当前也在野营区的管理者Alice和Bob。
Alice向CBUS服务器提交的选择请求,指定选择条件是当前位置在野营区,同时指定返回结果中排除Sip:Aliceexample.com和Sip:Bobexample.com。
CBUS服务器接收到请求者提交的请求后,到位置信息服务器上获取当前位置在野营区的用户信息返回给CBUS服务器,CBUS服务器评估获取的信息和请求,从中删除掉Alice和Bob的URI,将最终满足请求的URI列表返回给请求者。
实施例八
参见图4,本发明实施例八提供了一种CBUS服务器,包括:
请求接收单元41,用于接收请求者向CBUS服务器提交的选择用户的请求,在所述选择用户的请求中携带有选择条件和选择方式的参数配置。
评估信息获取单元42,用于CBUS服务器根据所述选择用户的请求,评估得到满足所有选择条件的URI列表。
URI评估单元43,用于CBUS服务器评估请求者自己的URI是否在所述满足所有选择条件的URI列表中,如果在,则CBUS服务器根据请求者提交的选择条件判断是否将请求者自己的URI从该URI列表中删除,并得到最终要返回的URI列表。
结果返回单元44,用于CBUS服务器将所述得到的最终要返回的URI列表返回给请求者。
所述URI评估单元43还用于:在所述选择用户的请求中携带有对返回的结果中排除特定的URI进行设置的指定时,CBUS服务器评估所述特定的URI是否在所述满足所有选择条件的URI列表中,如果在,则将所述特定的URI从该URI列表中删除,得到最终要返回的URI列表。
优选的,参见图5,所述信息获取单元42包括一阶或多阶信息获取模块,每阶信息获取模块用于获取信息并评估,得到满足本次选择条件的URI列表,并将该URI列表输入到所述URI评估单元得到符合本次需要的URI列表;
所述URI评估单元43,还用于将上一阶信息获取模块输入得到的符合本次需要的URI列表作为URI选择范围输入到下一阶信息获取模块。
如图5所示,信息获取单元42包括两阶信息获取模块,分别为一阶信息获取模块421,二阶信息获取模块422,其中一阶信息获取模块421将得到的满足本次选择条件的URI列表输入到URI评估单元43,由URI评估单元43进行评估,得到符合本次需要的URI列表并作为二阶信息获取模块422的URI选择范围,由二阶信息获取模块422得到满足所有选择条件的URI列表,再经URI评估单元43进行评估得到最终要返回的URI列表,由结果返回单元44将所述得到的最终要返回的URI列表返回给请求者。
本发明实施例提供的CBUS服务器,由URI评估单元43对信息获取单元42得到的满足所有选择条件的URI列表进行评估,删除特定的URI,向用户返回最终要返回的URI列表,所述特定的URI包括请求者自己的URI或者请求者事先已经知道满足该选择条件的URI,从而节省CBUS服务器执行处理的资源,并提升用户体验。而且本发明实施例提供的CBUS服务器还可以用于需要依次到不同相应的信息服务器上获取满足本次选择条件的URI列表的应用场景下,通过评估信息获取单元42包括一阶或多阶信息获取模块,每阶信息获取模块用于得到满足本次选择条件的URI列表,并将该URI列表输入到所述URI评估单元43得到符合本次需要的URI列表,并作为URI选择范围输入到下一阶信息获取模块,这样逐次缩小CBUS服务器的URI选择范围,最终使请求者从CBUS服务器处获得符合需要的URI列表,从而能够节省CBUS服务器执行处理的资源,并提升用户体验。
需要说明的是,本发明实施例中的方法可以软件功能模块的形式实现,并且该软件功能模块作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的优化CBUS服务器返回结果的方法和CBUS服务器进行了详细介绍,实施例的说明只是用于帮助理解本发明的方法及其思想;任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。