获取用户管理信息的方法、系统和设备的制作方法

文档序号:7888871阅读:191来源:国知局

专利名称::获取用户管理信息的方法、系统和设备的制作方法
技术领域
:本发明涉及到的终端与服务器间的消息类型<table>tableseeoriginaldocumentpage18</column></row><table><table>tableseeoriginaldocumentpage19</column></row><table>表3LogOutlnfo消息组成用schema表示该数据结构如下<xmlversion="1.0"encoding="UTF-8"><!—editedwithXMLSPYv5rel.4U(http:〃www.xmlspy.com)byRegistred(Registred)—><xs:schemaxmlns:xs="http:〃www.w3.org/2001/XMLSchema"elementFormDefault="qualified"attributeFormDefault="unqualified"〉〈xs:elementname="LogReport"type="LogReportType"/><xs:complexTypename="LogReportType"><xs:sequence><xs:elementname-"Message—Type"〉<xs:complexType><xs:attributename="Message—Type—Type"use="required"><xs:simpleType><xs:restrictionbase="xs:NMTOKEN"><xs:enumerationvalue="LogOutInfo"/><xs:enumerationvalue="LogMnfo"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType></xs:element><xs:elementname="User—ID"><xs:complexType><xs:attributename="User—ID_Type"type="xs:string'use="required7></xs:complexType></xs:element>〈xs:elementname="Service—ID"><xs:complexType><xs:attributename="Service—ID—Type"type="xs:string'use="required"/></xs:complexType></xs:element>〈xs:elementname="Program_ID"><xs:complexType><xs:attributename="Program—ID—Type"type="xs:string'use="required"/></xs:complexType></xs:element><xs:elementname="Onlinestate"><xs:complexType>〈xs:attributename="Online—state—Type"type="xs:string'use="required"/></xs:complexType></xs:element><xs:elementname="IMSr><xs:complexType><xs:attributename="IMSI—Type"type="xs:string'use="required"/></xs:complexType></xs:element><xs:elementname="Channel_stat"><xs:complexType><xs:attributename="Channel—stat一Type"type="xs:string'use="required"/></xs:complexType></xs:element></xs:s6qucnc6></xs:complexType></xs:sch6ma>以上的消息都由终端发送到服务器,并由服务器保存。在服务器侧也可以构造一个类似下面的数据结构来保存需要记录的状态信息。如下表4所示<table>tableseeoriginaldocumentpage21</column></row><table><table>tableseeoriginaldocumentpage22</column></row><table>表4统计表该凄U居结构的schema如下〈?xmlversion="1.0"encoding="UTF-8"><!—W3CSchemageneratedbyXMLSPYv5rel.4U(http:〃www.xmlspy.com)--><xs:schemaxmlns:xs="http:〃www.w3.org/2001/XMLSchema"elementFormDefault="qualified">〈xs:elementname="Stat"><xs:complexType>〈xs:attributename="User—ID"type="xs:string"use="required"/><xs:attributename="Service—ID"type="xs:string"use="required"/><xs:attributename="Program—ID"type="xs:string"use="required"/><xs:attributename="StartTime"type="xs:string"use="required"/>〈xs:attributename="EndTime"type="xs:string"use="required"/></xs:complexType〉</xs:element></xs:schema>该表中模拟了一些数据来表示在服务器侧保存的信息内容。本例中每一个用户都有一个唯一的UserID,对于不同的频道也有不同的ServiceID,例如上表中UserID为01234的用户与UserID为02462的用户都在观看ServiceID为01的频道,所看节目内容相同,他们观看的节目ProgramID为011。他们的观看时间分别从10:50和10:20开始。UserID为55208的用户和UserID为49653的用户都在观看ServiceID为02的频道,i兌观看的节目也相同,都是ProgramID为021,但是前者12:05接入观看,而后者从12:15开始观看,节目结束后他们都停止了观看,因此EndTime都是12:25。服务器上保存记录形式可以多样,本方案只是举例说明,可以用其它的数据结构组织这些统计数据,但所涉及的思想与方法都是相同的。表4中一个频道对应一个Service。同一时间相同频道只有一个节目。ServiceID、ProgramID由提供节目的内容提供商规定。也可以是一个频道在一段时间内只提供一个节目给用户观看。UserID、ServiceID、ProgramID、EndTime、StartTime这些属性只是举例说明终端观看节目的状态信息,如果需要可以进行修改与扩展。本实施例中的服务器可以是互动服务器,也可以是专门用来保存统计信息的服务器。由于本实施例中的消息相对内容少,数据易统计,因此对服务器的负担小。此外,对于本例中的服务器,如果能够支持一定量的用户数量,增加这样的统计后并不会对支持的用户数有太多的改变。本实施例中所涉及的发送用户管理信息的消息Loglnlnfo、LogOutlnfo只是举例说明,其他类似携带状态信息的消息方法也可以完成状态信息的发送,所涉及的原理与思想都是一致的。本发明的实施例三提供了一种将终端接入节目频道(Login)和终端退出播放节目(Logout)时将用户管理信息发送到服务器,由服务器根据用户管理信息对节目或用户偏好做统计的方法。该方法可以为服务器进一步掌握终端接收节目和频道的情况提供手段。请参照流程3,该方案的实施思想主要在于,当终端用户收看某一时段的节目时,终端会接入(Login)到播放该节目的频道。接入后的用户管理信息,包括ServiceID、ProgramID、UserID、等信息会被终端发送到服务器。用户管理信息可以以消息的方式发送到服务器上。服务器会根据本地策略判断是否要接收到的终端用户管理信息并进行保存,做出相应的回答。当终端退出(Logout)接收节目后,还会与服务器进行一次交互终端将退出时的用户管理信息,包括,ServiceID、ProgramID、UserID等信息发给服务器。服务器根据退出的用户管理信息对保存的终端接入节目的情况进行统计。服务器可以才艮据记录的终端Login和Logout的时间算出用户接入该节目的总时长,服务器还会根据UserID和ServiceID、ProgramID统计出关注度最高的频道,以及关注度最高的节目内容。根据这样的统计,服务器可以对那些关注度高的频道和节目增加更多的网络资源,保证这些节目在用户观看时的观看质量;内容提供商也可以根据这样的统计对提供的频道和节目做一定的调整,增加关注度高的节目的播放,根据用户的兴趣开发节目。本实施例具体流程如图3所示,步骤如下步骤s301,终端启动,并向服务器发送Loglnlnfo消息。Loglnlnfo消息的内容可以如下所示POST/HTTP/1.1Date:Sat,20Jul200720:31:22GMTAccept-Ranges:bytesAccept-Language:zh國cnContent-Length:1205Content-Type:text/xmlHost:host:www.sample.com:8080Connection:close<CR><xmlversion="1.0"encoding="UTF-8"><!—editedwithXMLSPYv5rel.4U(http:〃www.xmlspy.com)byRegistred(Registred)画-〉<LogReportxmlns:xsi="http:〃www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="C:VDocumentsandSettings\Administrator\桌面XEdit3.xsd"〉<Message—TypeMessage—Type—Type="LogInInfo"/><User—IDUser—ID—Type="abc7><Service—IDService—ID_Type="01"/><Program_IDProgram_ID_Type="117>本实施例中,Loglnlnfo消息以XML(ExtensibleMarkupLanguage,可扩展标记语言)的形式作为消息体加在HTTP(HyperTextTransferProtocol,超文本传输协议)POST头的后面,带到服务器上。消息头和消息体间用回车〈CR〉间隔开,回车上面的为消息头,下面的为消息体。消息头中描述了要请求的主机和端口,连接方式为close,表示不必持续连接,HTTP1.1支持非持续连接。Loglnlnfo消息包括了ServiceID、UserID(例如:IMSI信息)、以及其它接入状态信息。终端的Loglnlnfo消息具有某种格式,例如如图2所示。消息的发送是通过交互信道完成的。保存Loglnlnfo消息的服务器可以是交互服务器,也可以是专门用来记录统计数据的服务器。本实施例中Loglnlnfo以html的形式发送到服务器上。发送Loglnlnfo的方法可以是通过多种方法,例如HTTPPOST方法。这里只是举例说明,如有其它方式可以替代,其原理与思想是一致的。Client启动时会将Login的消息Loglnlnfo上报给Server,同时服务器将该用户状态制成online。Client到服务器上取SG以及其他相关数据。而当Server上的这些相关数据有更新的时候,此时服务器可以向已经在线的用户进行数据更新的通知Push消息发送给online的Client,则Client可以及时感知服务器上的数据变化,及时取回数据。步骤s302,获取SG。手机电一见终端接收频道节目的前提是该Client已经注册在Server上,并且已经激活,可以接入频道接收节目。步骤s203,未定购频道的终端根据获取的SG重新建立频道定购。确定的定购关系描述的是用户对SG中频道订阅的情况。它可以是以表的方式保存在Server端。以Server来同步Client。A定购的方式可以是外部的例如通过上网或拨打电话的方式来完成。定购的结果会记录到服务器上;B也可以是内部的通过Client在SG上进行定购。每当Client定购或退定一个频道,Server上的定购关系表都会进行一次修改,并随后同步给Client。C定购关系可以是Server向Client同步,服务器会在Client启动时将定购关系与online状态的用户进行同步,也可根据服务器策略定期同步;定购关系也可以是终端来维护,向服务器进行同步,当用户进行定购以后,本地的定购关系会通过HTTP的POST方式发到服务器上与服务器同步。用户接入频道后可以接收SG(ServiceGuide,服务指南)。SG中有频道内容的预告。通过SGClient可以获得相关的频道列表,并根据该频道列表提供的频道接收节目内容。如果采用广播接收的方式,终端根据之前收到的手机频道导航SG,选择希望收看的频道。通过SG上显示的频道标识,用户终端在选择后,终端会开始节目的接收。步骤s304,服务器端向终端发送节目内容。服务器可以采用广播的方式将内容发送出去,也可以用流媒体的方式发送内容。如果终端在接收到节目内容一段时间后(可以设定为1分钟)没有退出,那么该信息就将被发送到服务器。服务器可以记录终端接入时间。终端侧接入到频道后的处理首先要在本地记录当前的用户管理信息,规定的一段时间可以是网络设定的,也可以是内容提供商设定的。该时间被终端用来判定是否要向服务器发送统计信息。如果终端接入频道的时间超过了该设定时间,则可以认为用户是在观看节目;否则,如果在这段时间内终端退出了该频道,则认为用户没有收看该频道节目。步骤s305,服务器对终端进行鉴权。鉴权消息的内容可以如下所示HTTP/1.1401UnauthorizedServer:Microsoft-IIS/5.1WWW-Authenticate:Digestrealm="testrealm@host.com",qop="auth,auth-int",nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",opaque="5ccc069c403ebaf0171e9517f40e41"<CR>服务器收到终端发来的POST消息,对终端要进行一次认证,服务器会发质询给终端。所谓"发出质询",就是给客户端发送一个HTTP响应,其状态码为401(Unauthorized),并且包含消息头WWW-Authenticate,客户端看到这个响应就知道这个URI(UniformResourceIdentifier,通用资源标志符)需要认证。domain:—个URI列表,指示要保护的域。可能是一个列表,提示用户这些URI采用一样的认证,如果为空或忽略则为整个服务器。nonce:随机字符串,每次401都不一样。跟算法有关。算法类似Base64力口密time-stampH(time-stamp":"ETag":"private-key)。time-stamp为月良务器时钟,ETag为请求的Etag头。opaque:服务器产生的由客户发送请求时原样返回。最好是Base64串或十六进制字符串。realm-value是一个两端加引号的大小写相关的字符串,表示要求认证的"领域(realm)"。领域是由服务器自己决定的,不同的服务器可以设置自己的领域,同一个服务器也可以有多个领域。质询中包含领域信息是为了让客户端知道哪个范围的用户名是合法的。服务器对终端进行鉴权的消息可以没有消息体。服务器为了获得终端接入用户的身份,需要对终端进行一次认证。这个认证与用户注册时认证目的不同,这个对接入用户的认证可以保证观看节目的用户为接入用户,可以保证收视率统计的客观性。认证的方式有多种,例如HTTP的摘要认i正方式。服务器接收到用户发来的LogMnfo,在将该消息中的数据写入数据库前,为了确定接入节目的用户的身份,及Loglnlnfo的合理性,必须对用户进行一次认证。因为用户在发送Loglnlnfo的时候不知道是否认证,因此服务在收到Loglnlnfo时会发送一个HTTP的401消息,该消息包括了一个湘匕战(challenge),challenge需要用户名及密码等相关认证信息以加密的方式发到服务器。步骤s306,终端向服务器发送一个对认证的响应;响应消息的内容可以如下所示Authorization:Digestusername="Mufasa",realm="testrealm@host.com",nonce二"dcd98b7102dd2fDe8blld0伤00bfb0c093",uri="/xxx/index.html",qop=auth,nc=00000001,cnonce="0a4fll3b",response-"6629fae49393a05397450978507c4efl",opaque="5ccc069c403ebaf9f0171e9517f40e41"终端在收到Challenge消息后会将自己的用户名及密码和Challenge—起加密传给服务器。这样的好处是可以不用明文发送密码。当认证成功后服务器会保持之前终端的接收;如果终端认证未通过,用户也可以继续观看节目,但对于服务器统计Loglnlnfo是无效的。步骤s301-s306为标准的HTTP摘要认证的方式,其中的各字段可参考RFC2617。摘要认证的方法在这里只是举例说明。步骤s307,服务器发送200OK消息到终端。终端的用户名及密码通过服务器的认证,服务器发送200Ok到终端;本实施例中是以HTTP方式举例说明,因此这里用200OK表示认证成功。步骤s308,服务器向终端正常发送节目内容;终端接入到频道后如果不在规定的时间内退出,继续接收节目内容,则服务器可以采用广播发送的方式,也可以采用其它的发送方式发送节目内容。如果服务器采用广播的方式发送节目内容,终端从该频道的广播中接收内容。如果釆用其它方式(例如流媒体),服务器可以在与终端建立的链路上发送内容。对于流媒体方式可以用单播,也可以用组播发送节目内容;步骤s309,终端退出当前观看的节目。用户退出当前观看节目的时间是任意的,可以在节目结束后,也可以在播放途中退出。当用户退出后将触发终端发送状态消息到服务器。步骤s310,终端发送一条LogOutlnfo消息到服务器。LogOutlnfo消息的内容可以如下所示POST/HTTP/1.1Date:Sat,20Jul200720:55:22GMTAccept-Ranges:bytesAccept-Language:zh-cnContent-Length:1205Content-Type:text/xmlHost:host:www.samp.com:8080Go皿ection:close<CR><xmlversion="1.0"encoding="UTF-8"><!--editedwithXMLSPYv5rel.4U(http:〃www.xmlspy.com)byRegistred(Registred)—>〈LogReportxmlns:xsi="http:〃www.w3.org/200l/XMLSchema-instance"xsi:noNamespaceSchemaLocation="C:\DocumentsandSettingsVAdministratoiA桌面VEdit3.xsd"〉<Message—TypeMessage—Type_Type="LogOutInfo'7><User—IDUser—ID—Type="abc7><Service—IDService—ID—Type="017><Program—IDProgram—ID_Type="117>本实施例用HTTP的POST方法将LogOutlnfo的XML数据信息发到服务器上,POST消息中的含义与第4步相同。消息体为LogOutlnfo的XML形式数据。该消息包括了ServiceID、UserID、以及当前退出时间EndTime等。终端的LogOutlnfo消息具有某种格式,例如如图3所示。消息的发送是通过交互信道完成的。保存LogOutlnfo消息的服务器可以是交互服务器,也可以是专门用来记录统计数据的服务器。LogOutlnfo消息可以用HTTP方式将消息带到服务器由服务器来完成处理并加入数据库中,也可以用SMS或其它方式。本例中通过HTTPPOST方法将消息带到服务器的方式只是举例说明,也可以用其它的承载手段代替,但所涉及的原理和思想是一致的。步骤s311,当服务器正确接收的LogOutlnfo消息后返回200OK消息给终端。返回应答可以通过交互信道,也可以通过其它的方式。本例中用200OK代表发送内容成功到达。在不同的网络环境中也可以采用其它的应答方式,所涉及的思想和原理都是一样的。步骤s312,服务器在终端退出节目后对终端的状态信息进行保存,并进行统计。服务器根据终端上净艮的Loglnlnfo和LogOutlnfo状态信息进行频道的收视率统计或节目的收^L率统计;收-见率统计的两种方式ASG中可以包括频道标识,这样当Server需要对某时间段的某个频道做收视率统计的时候,可以在SG中该频道设置需要进行收视率统计的标识,例如CCTV2stat=TRUE2007-08-0912:00~13:00,表明CCTV2这个频道在2007-08-0912:00~13:00,如果用户选择的该频道,则需要向服务器发送消息,以表明该用户正在收看或收看结束这样动作,服务器以此来进行收:规率的统计,或进行其他相关的统计操作。B另一种收视率统计的方式是服务器向目前在线的所有用户或其中一部分用户Client发送消息,要求该用户反馈当前是否在收看该频道,用户Client回复该消息,并携带相关信息,以表明对该服务器请求的答复,这样可以实现服务器上进行相关数据的统计工作;并且可以统计该用户对节目的偏好。服务器从记录的终端观看节目的StartTime与EndTime得出该用户观看节目的总时长。根据不同用户观看的节目,可以统计出明卩个ProgramID的参与用户人数最多,也可以统计出哪个ServiceID的接入人数最多。同时服务器可以根据用户以前保存在服务器上的数据,对用户的偏好做出统计,可以查找出该用户参与最多的ProgramID和ServiceID是哪些。根据这些数据,内容提供商可以为该用户提供类似于包月的服务。用户保存在服务器上的状态信息可以是类似表8的形式。手机终端在收看某频道节目内容的时候,比较可行的方式是通过SG,通过SG所呈现出来的频道列表,终端可以选择一个频道进入观看。当终端通过SG提供的频道列表接入频道观看时,终端会记录下当前接入的用户管理信息,包括接入的用户(UserID)、业务(ServiceID)、节目(ProgramID)等。当终端接入该频道的一个节目一定时间后(例如一分钟),则可以认为用户是在观看该节目,此时终端需要将用户管理信息发送到服务器。当终端退出该频道或退出观看节目的时候,终端会记录下当前退出的用户管理信息,包括接入的用户(UserID)、业务(ServiceID)、节目(ProgramID)等。该服务器可以是交互服务器也可以是专门用来记录终端信息的服务器。例如Loglnlnfo和LogOutlnfo消息的定义数据结构形式如下表5所示。<table>tableseeoriginaldocumentpage31</column></row><table>表格5本发明涉及到的终端与服务器间的消息类型Loglnlnfo消息和LogOutlnfo消息都是强制必须的消息。方向都是从终端到服务器。Loglnlnfo和LogOutlnfo消息的数据组成入下表6和7所示<table>tableseeoriginaldocumentpage32</column></row><table>表6Loglnlnfo消息组成<table>tableseeoriginaldocumentpage32</column></row><table>表7LogOutlnfo消息组成<formula>formulaseeoriginaldocumentpage32</formula> <xs:elementname="LogReport"type="LogReportType7>〈xs:complexTypename="LogReportType"><xs:sequence><xs:elementname="Message—Type"><xs:complexType><xs:attributename="Message_Type—Type"use="required"><xs:simpleType〉<xs:restrictionbase="xs:NMTOKEN"><xs:enumerationvalue="LogOutInfo"/>〈xs:enumerationvalue="LogMnfo"/></xs:restriction></xs:simpleType></xs:attribute></xs:complexType></xs:element>〈xs:elementname="User_ID"><xs:complexType>〈xs:attributename="User_ID—Type"type="xs:string"use="required"/></xs:complexType></xs:element><xs:elementname="Service—ID"><xs:complexType〉〈xs:attributename="Service—ID—Type"type="xs:string"use="required"/></xs:complexType></xs:element>〈xs:dementname="Program—ID"><xs:complexType><xs:attributename="Program_ID—Type"type="xs:string"use="required"/></xs:complexType></xs:element>〈xs:elementname="Online—state"><xs:complexType><xs:attributename="Online—state—Type"type="xs:string"use="required"/></xs:complexType></xs:element><xs:elementname="IMSI"><xs:complexType><xs:attributename="IMSI—Type"type="xs:string"use="required"/></xs:complexType></xs:element><xs:elementname="Channel—stat"><xs:complexType〉〈xs:attributename="Channel—stat—Type"type="xs:string"use="required"/></xs:complexType></xs:element></xs:s6quence></xs:complexType></xs:schema>以上的消息都由终端发送到服务器,并由服务器保存。在服务器侧也可以构造一个类似下面的数据结构来保存需要记录的状态信息(用户管理4息)<table>tableseeoriginaldocumentpage35</column></row><table>表6统计表该凄史寺居结构的schemai口下<xmlversion="1.0"encoding="UTF-8"><!—W3CSchemageneratedbyXMLSPYv5rel.4U(http:〃www.xmlspy.com)—><xs:schemaxmlns:xs="http:〃www.w3.org/2001/XMLSchema"elementFormDefault="qualified"><xs:elementname="Stat"><xs:complexType><xs:attributename="User—ID"type="xs:string"use="required"/>〈xs:attributename="Service—ID"type="xs:string"use="required"/><xs:attributename="Program_ID"type="xs:string"use="required"/><xs:attributename="StartTime"type="xs:string"use="required"/><xs:attributename="EndTime"type="xs:string"use="required"/></xs:complexType></xs:element></xs:schsma>上表8中模拟了一些数据来表示在服务器侧保存的信息内容。本例中每一个用户都有一个唯一的UserID,对于不同的频道也有不同的ServiceID,例如上表中UserID为01234的用户与UserID为02462的用户都在观看ServiceID为01的频道,所看节目内容相同,他们观看的节目ProgramID为011。他们的观看时间分别从10:50和10:20开始。UserID为55208的用户和UserID为49653的用户都在观看ServiceID为02的频道,说观看的节目也相同,都是ProgramID为021,但是前者12:05接入观看,而后者从12:15开始观看,节目结束后他们都停止了观看,因此EndTime都是12:25。Time属性为该用户收看节目的时长,/A^中可以看出55208用户和49653用户的观看节目时长是一致的。服务器上保存记录形式可以多样,本方案只是举例说明,可以用其它的数据结构组织这些统计数据,但所涉及的思想与方法都是相同的。表8中一个频道对应一个Service。同一时间相同频道只有一个节目。ServiceID、ProgramID由提供节目的内容提供商规定。也可以是一个频道在一段时间内只提供一个节目给用户观看。UserID、ServiceID、ProgramID、EndTime、StartTime这些属性只是举例说明终端观看节目的状态信息,如果需要可以进行修改与扩展。StartTime和EndTime是服务器记录的终端接入和退出频道时的时间,该时间是终端记录当前播发的节目内容的时间,Time为二者差值,表示用户连续观看该节目的时长。因为每个节目内容都是由服务器以数据包的形式一帧一帧的发送到终端的,每一帧都会有一个时间戳信息,这个时间戳是由服务器加上的,因此可以从第一帧的数据包中提取接入时间,从最后一帧提取退出时间,所得差值为终端接入频道的持续时长。数据包的时间是与终端本地时间无关的网络时间,由服务器决定,因此无论终端本地时间是否准确都不会影响终端接入频道的时长。这样的时间记录对于统计用户观看时间是比较合理的,基本可以保证记录时间就是观看时间。并且对于服务器而言能够获得比较准确的统计。本实施例中的服务器可以是互动服务器,也可以是专门用来保存统计信息的服务器。由于本实施例中的消息相对内容少,数据易统计,因此对服务器的负担小。此外,对于本例中的服务器,如果能够支持一定量的用户数量,增加这样的统计后并不会对支持的用户数有太多的改变。本实施例中所涉及的发送用户管理信息(状态信息)的消息Loglnlnfo、LogOutlnfo只是举例说明,其他类似携带用户管理信息的消息方法也可以完成状态信息的发送,所涉及的原理与思想都是一致的。本发明的实施例四提供了一种将终端接入节目频道(Login)和终端退出播放节目(Logout)时将用户管理信息发送到服务器,由服务器根据用户管理信息完成与终端的交互更新的方法。用户成功订阅了频道后,在观看一个频道的过程中可能会参与节目的互动,例如互动话题的讨论,互动游戏等等。通过终端与服务器的交互更新可以达到在本地终端就能同时完成节目观看与互动参与的效果。请参照流程3,该方案的主要思想在于,终端在接入观看一个节目的过程中,如果该节目中有互动参与的部分,那么服务器可以给终端发送该节目互动信息,如果在该节目的播i文过程中互动信息发生了更新,那么服务器可以根据终端的状态信息将互动的更新信息发给终端。通常在观看一个互动节目的时候会有互动信息的下发与更新两种情况,互动信息可以与节目内容一起下发到终端,但是互动信息的类型在一个节目当中的形式等都会是一致的,因此只要对节目的互动信息进行更新,用户就可以不断的参与到该互动节目中来。而这样的互动信息的更新是根据终端发给服务器的状态信息进行发送的。实施例四的具体流程如图4所示,步骤如下步骤s401,终端启动,并向服务器发送Loglnlnfo消息。Loglnlnfo消息的内容可以如下所示POST/HTTP/1.1Date:Sat,20Jul200720:31:22GMTAccept-Ranges:bytesAccept-Language:zh-cnContent-Length:1205Content-Type:text/xmlHost:host:www.sample.com:8080Connection:close<CR><xmlversion="1.0"encoding="UTF-8"><!—editedwithXMLSPYv5rel.4U(http:〃www.xmlspy.com)byRegistred(Registred)—>〈LogReportxmlns:xsi="http:〃www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="C:\DocumentsandSettingsVAdministrator、桌面NEdit3.xsd"〉<Message—TypeMessage—Type—Type="LogInInfo"/><User—IDUser—ID—Type="abc"/><Service—IDService—ID_Type="017><Program—IDProgram—ID—Type="117>本实施例中,Loglnlnfo消息以XML(ExtensibleMarkupLanguage,可扩展标记语言)的形式作为消息体加在HTTP(HyperTextTransferProtocol,超文本传输协议)POST头的后面,带到月l务器上。消息头和消息体间用回车<01>间隔开,回车上面的为消息头,下面的为消息体。消息头中描述了要请求的主机和端口,连接方式为close,表示不必持续连接,HTTP1.1支持非持续连接。Loglnlnfo消息包括了ServiceID、UserID(例如IMSI信息)、以及其它接入状态信息。终端的Loglnlnfo消息具有某种格式,例如如图2所示。消息的发送是通过交互信道完成的。保存Loglnlnfo消息的服务器可以是交互服务器,也可以是专门用来记录统计数据的服务器。本实施例中Loglnlnfo以html的形式发送到服务器上。发送Loglnlnfo的方法可以是通过多种方法,例如HTTPPOST方法。这里只是举例说明,如有其它方式可以替代,其原理与思想是一致的。Client启动时会将Login的消息Loglnlnfo上报给Server,同时服务器将该用户状态制成online。Client到服务器上取SG以及其他相关数据。而当Server上的这些相关数据有更新的时候,此时服务器可以向已经在线的用户进行数据更新的通知Push消息发送给online的Client,贝'JClient可以及时感知服务器上的数据变化,及时取回数据。步骤s402,获取SG。手才几电^L终端接收频道节目的前提是该Client已经注册在Server上,并且已经激活,可以接入频道接收节目。步骤s403,未定购频道的终端根据获取的SG重新建立频道定购。确定的定购关系描述的是用户对SG中频道订阅的情况。它可以是以表的方式保存在Server端。以Server来同步Client。A定购的方式可以是外部的例如通过上网或拨打电话的方式来完成。定购的结果会记录到服务器上;B也可以是内部的通过Client在SG上进行定购。每当Client定购或退定一个频道,Server上的定购关系表都会进行一次修改,并随后同步给Client。C定购关系可以是Server向Client同步,服务器会在Client启动时将定购关系与online状态的用户进行同步,也可根据服务器策略定期同步;定购关系也可以是终端来维护,向服务器进行同步,当用户进行定购以后,本地的定购关系会通过HTTP的POST方式发到服务器上与服务器同步。用户接入频道后可以接收SG(ServiceGuide,服务指南)。SG中有频道内容的预告。通过SGClient可以获得相关的频道列表,并根据该频道列表提供的频道接收节目内容。如果采用广播接收的方式,终端根据之前收到的手机频道导航SG,选择希望收看的频道。通过SG上显示的频道标识,用户终端在选择后,终端会开始节目的接收。步骤s404,服务器端向终端发送节目内容。服务器可以采用广播的方式将内容发送出去,也可以用流媒体的方式发送内容。如果终端在接收到节目内容一段时间后(可以设定为1分钟)没有退出,那么该信息就将被发送到服务器。服务器可以记录终端接入时间。终端侧接入到频道后的处理首先要在本地记录当前的状态信息,规定的一段时间可以是网络设定的,也可以是内容提供商设定的。该时间被终端用来判定是否要向服务器发送统计信息。如果终端接入频道的时间超过了该设定时间,则可以认为用户是在观看节目;否则,如果在这段时间内终端退出了该频道,则认为用户没有收看该频道节目。步骤s405,服务器对终端进行鉴权。鉴权消息的内容可以如下所示HTTP/1.1401UnauthorizedServer:Microsoft-IIS/5.1WWW-Authenticate:Digestrealm="testrealm@host.com",qop="auth,auth-int",nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",opaque="5ccc069c403ebaf9f0171e9517f40e41"<CR>服务器收到终端发来的POST消息,对终端要进行一次认证,服务器会发质询给终端。所谓"发出质询",就是给客户端发送一个HTTP响应,其状态码为401(Unauthorized),并且包含消息头WWW-Authenticate,客户端看到这个响应就知道这个URI(UniformResourceIdentifier,通用资源标志符)需要认证。domain:—个URI列表,指示要保护的域。可能是一个列表,提示用户这些URI采用一样的认证,如果为空或忽略则为整个服务器。nonce:随机字符串,每次401都不一样。跟算法有关。算法类似Base64力口密time-stampH(time-stamp":"ETag":"private-key)。time-stamp为月l务器时钟,ETag为请求的Etag头。opaque:服务器产生的由客户发送请求时原样返回。最好是Base64串或十六进制字符串。realm-value是一个两端加引号的大小写相关的字符串,表示要求认证的"领域(realm)"。领域是由服务器自己决定的,不同的服务器可以设置自己的领域,同一个服务器也可以有多个领域。质询中包含领域信息是为了让客户端知道哪个范围的用户名是合法的。服务器对终端进行鉴权的消息可以没有消息体。服务器为了获得终端接入用户的身份,需要对终端进行一次认证。这个认证与用户注册时认证目的不同,这个对接入用户的认证可以保证观看节目的用户为接入用户,可以保证收视率统计的客观性。认证的方式有多种,例如HTTP的摘要认证方式。服务器接收到用户发来的Loglnlnfo,在将该消息中的数据写入数据库前,为了确定接入节目的用户的身份,及Loglnlnfo的合理性,必须对用户进行一次认证。因为用户在发送Loglnlnfo的时候不知道是否认证,因此服务在收到Loglnlnfo时会发送一个HTTP的401消息,该消息包括了一个才兆战(challenge),challenge需要用户名及密码等相关认证信息以加密的方式发到服务器。步骤s406,终端向服务器发送一个对认i正的响应;响应消息的内容可以如下所示Authorization:Digestusername="Mufasa",realm="testrealm@hostcom",nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",uri="/xxx/index.html",qop=auth,cnonce="0a4f!13b",response="6629fae49393a05397450978507c4efl",opaque-"5ccc069c403ebaf9f017le9517f40e41"终端在收到Challenge消息后会将自己的用户名及密码和Challenge—起加密传给服务器。这样的好处是可以不用明文发送密码。当认证成功后服务器会保持之前终端的接收;如果终端认证未通过,用户也可以继续观看节目,但对于服务器统计Loglnlnfo是无效的。步骤s401-s406为标准的HTTP摘要认证的方式,其中的各字段可参考RFC2617。摘要认证的方法在这里只是举例说明。步骤s407,服务器发送200OK消息到终端。终端的用户名及密码通过服务器的认证,服务器发送200Ok到终端;本实施例中是以HTTP方式举例说明,因此这里用200OK表示认证成功。步骤s408,服务器向终端发送节目内容及互动信息。终端接入到频道后如果不在规定的时间内退出,继续接收节目内容,则服务器可以采用广播发送的方式,也可以采用其它的发送方式发送节目内容。如果服务器采用广播的方式发送节目内容,终端从该频道的广播中接收内容。如果采用其它方式(例如流媒体),服务器可以在与终端建立的链路上发送内容。对于流媒体方式可以用单播,也可以用组播发送节目内容;交互媒体文档及包含的交互媒体对象可以随节目内容一起下发,也可以在收看节目内容之前下发。步骤s409,服务器向终端发送互动更新。当互动节目的互动信息发生改变时,服务器可以将互动信息的更新发送到终端。服务器在发送前需要根据终端上报的Loglnlnfo信息对终端的观看情况4故出判断,比如ChannelID,UserID等,有了这些信息服务器才可以将互动更新准确的发给观看节目的用户;发送更新的方法有很多种,比如消息体的携带或者短消息等,但是原理和思想是一致的;步骤s410,终端用户向服务器发送互动信息。互动信息的内容可以如下所示POST/HTTP/1.1Date:Sat,20Ju画720:51:22GMTAccept-Ranges:bytesAccept-Language:zh-cnContent-Length:1205Content-Type:text/xmlHost:host:www,samp.com:8080Connection:close<CR>(用户互动信息)当节目播放过程中出现互动参与时,用户可以通过HTTPPOST方法将节目互动过程中个人的选择以消息体的形式发送到服务器,也可以在互动话题讨论的过程中以SMS方式将讨论的内容发送到服务器,达到完成节目互动的目的。用户编辑消息的过程可以是一个简单的选择,也可以是以文字描述的形式发表意见,这些操作都不会影响终端继续接收服务器发送的节目内容。因此在互动参与期间用户可以不终断节目的观看就完成互动的操作。步骤s411,服务收到用户发来的互动信息,并进行处理。互动服务器接收到用户发来的互动信息,根据互动服务器的策略,可以将此信息进行实时的处理,也可以在节目结束后处理。互动服务器会提取用户的互动信息,并根据信息内容向用户发送互动内容。比如,当用户在互动节目的选择中选择了A片段,那么接下来互动服务器会根据用户的互动选择播放A片段。步骤s412,服务器将当前处理完毕的互动参与结果连同节目内容一起发送到终端。用户可以在参与一次互动后就立刻将服务器处理的互动统计结果发送到终端用户,使终端用户可以立刻知道参与后的结果,或当前该互动节目的整体参与情况。因此发送的当前互动参与结果可以是用户参与完毕后个人的结果,也可以是当前所有参与者的整体参与结果。这样的互动过程在一个互动节目中可以有多次。本例中用虛线表示返回的参与结果,意味着参与结果可以返回给用户也可以不返回。这是根据互动服务器及该互动节目的策略所制定。步骤s413,终端退出当前观看的节目。用户退出当前观看节目的时间是任意的,可以在节目结束后,也可以在播放途中退出。当用户退出后将触发终端发送状态消息到服务器。步骤s414,终端发送一条LogOutlnfo消息到服务器。LogOutlnfo消息的内容可以如下所示POST/HTTP/1.1Date:Sat,20威00720:55:22GMTAccept-Ranges:bytesAccept-Language:zh國cnContent-Length:1205Content-Type:text/xmlHost:host:www.samp.com:8080Connection:close<CR><xmlversion="1.0"encoding="UTF-8"><!—editedwithXMLSPYv5rel.4U(http:〃www.xmlspy.com)byRegistred(Registred)—>〈LogReportxmlns:xsi="http:〃www,w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="C:\DocumentsandSettingsVAdministratoiA桌面VEdit3.xsd"〉<Message—TypeMessage—Type—Type="LogOutInfo7><User—IDUser—IDType="abc"/><Service—IDService—ID—Type="017><Program—IDProgram—ID—Type="117>本实施例用HTTP的POST方法将LogOutlnfo的XML数据信息发到服务器上,POST消息中的含义与步骤s404相同。消息体的内容为LogOutlnfo的XML形式的数据。该消息包括了ServiceID、UserID,月良务器此时可以记录当前退出时间EndTime。终端的LogOutlnfo消息具有一定的格式如图7所示。消息的发送是通过互动信道完成的。保存LogOutlnfo消息的服务器可以是交互服务器,也可以是专门用来记录统计数据的服务器。LogOutlnfo消息可以用HTTPPOST方法将消息带到服务器由服务器来完成处理并加入数据库中,也可以用SMS的承载方式。本例中通过HTTPPOST方法将消息带到服务器的方式只是举例说明,也可以用其它的承载手段代替,但所涉及的原理和思想是一致的。步骤s415,当服务器正确接收的LogOutlnfo消息后返回200OK消息给终端。返回应答可以通过互动信道,也可以通过其它的方式。比如服务器可以端对端的将应答发送的终端,也可以Push到终端。本例中用200OK代表发送内容成功到达。在不同的网络环境中也可以采用其它的应答方式,所涉及的思想和原理都是一样的。步骤s416,服务器在终端退出节目后对用户的互动信息进行保存,并根据互动节目中用户的参与进行统计。服务器保存用户在互动节目中发送的互动信息,在节目完毕后对用户的互动信息进行统计。最后可以将统计的结果反馈给用户。统计的内容可以是节目的参与度或者该节目的整体互动的结果。比如,在一个选择性的互动节目结束后,互动服务器会统计选择A的观众与选择B的观众人数。这样的举例只是为了更明确的说明互动更新的结果和形式。步骤s417,服务器将最终的互动节目统计结果发送给用户。终端用户参与完毕一个节目后可以得到一个参与的结果,该结果可以包括该终端用户的参与结果以及整体节目的参与结果。本实施例用虚线表示最终结果的发送,表示这一步是可选的。通过终端在接收节目内容的过程中对互动节目的反馈,以及服务器对用户的选择做出的相应可以达到互动更新的目的。本实施例中所用到的消息承载以及消息发送方式只是举例,可以用其它的承载方式及发送方式替代,但其原理和思想是一致的。本实施例中的LogOutlnfo和Loglnlnfo消息可以保存在服务器上,用以对终端的节目观看信息进行统计。保存的数据结构形式可以用与表8类似或相同的表,该表可以保存在服务器上也可以保存在专门用来记录统计结果的数据库中。本发明的实施例五提供了一种手机电视业务中获取用户管理信息的系统,如图5所示包括服务器10,用于向终端20提供服务指南中包括的可选节目,向通过鉴权的终端20发送终端20选择的节目内容;并根据终端20发送的用户管理信息,存储终端20的用户管理信息;终端20,用于在启动时向服务器IO发送用户管理信息。具体的,服务器10进一步包括接收模块ll,用于接收终端20发送的用户管理信息;鉴权模块12,用于对请求收看节目的终端20进行鉴权;节目发送模块13,用于向通过鉴权模块鉴权的终端20发送终端20选择的节目内容;统计模块14,用于根据接收才莫块11存储的内容获取终端20的用户管理信息.节目订购模块15,用于接受终端20对服务指南中包括的可选节目的订购或退订,并根据订购或退订结果更新本地存储的终端20订购节目信息。互动节目处理模块16,用于进行互动节目中与终端20的互动功能的实现。其中,互动节目处理模块16进一步包括互动信息添加子模块161,用于将互动信息和/或互动更新信息添加到节目发送模块中并向终端20发送;互动响应接收子模块162,用于接收终端20根据互动信息添加子模块171发送的互动信息和/或互动更新信息返回的互动信息响应;互动结果获取子模块163,用于处理互动响应接收子模块172接收的互动信息响应,处理得到终端20的互动参与结果。具体的,终端20进一步包括用户管理信息发送^f莫块21,用于向服务器10发送本终端的用户管理信息。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得网络设备执行本发明各个实施例所述的方法。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。权利要求1、一种手机电视业务中获取用户管理信息的方法,其特征在于,包括如下步骤服务器接收终端发送的用户管理信息;所述服务器保存获取的所述终端的用户管理信息。2、如权利要求1所述获取用户管理信息的方法,其特征在于,所述用户管理信息包括以下信息中的一种或多种消息类型标识、消息发送时间、终端标识、业务标识、节目标识、终端是否在线的状态、终端识别码、用户标识信息以及频道标识,所述消息类型标识包4舌登录消息标识和注销消息标识。3、如权利要求1所述获取用户管理信息的方法,其特征在于,还包括如下的步骤所述服务器对所获取的用户管理信息进行处理。4、如权利要求3所迷获取用户管理信息的方法,其特征在于,对用户管理信息的处理方法包括如下的一种或几种记录用户登录状态;记录用户观看节目状态信息;记录用户需要更新的业务信息;其中,所述用户的登录状态的记录包括如下信息的一种或几种的记录终端标识、用户标识、业务订阅关系、登陆时间、登陆方式、用户密钥的有效期;所述用户观看节目状态的记录包括如下信息的一种或几种的记录用户观看的节目标识、用户观看的频道标识、用户收看频道的开始时间、用户观看频道的退出时间;所述用户需要更新的业务信息的记录包括如下信息的一种或几种的记录用户密钥是否需要更新、用户互动信息是否需要更新、用户业务SG是否需要更新。5、如权利要求4所述获取用户管理信息的方法,其特征在于,所迷频道的节目收看时间的获取方法为根据所述用户管理信息中携带的消息发送时间获取;或根据所述服务器向所述终端发送节目第一帧和最后一帧的时间获取。6、如权利要求1或2所述获取用户管理信息的方法,其特征在于,所述获取频道或节目的收视率的步骤具体为所述服务器对需要进行统计的频道或节目设置标识;终端在接收或退出所述频道或节目的内容时,根据所述标识向所述服务器发送消息;所述服务器根据所述消息获取频道或节目的收视率。7、如权利要6所述获取用户管理信息的方法,其特征在于,所述获取频道或节目的收^L率的步骤具体为所述服务器向所有终端或特定的终端发送是否在收看特定频道或节目的消息;正在收看所述特定频道或节目的终端向所述服务器发送响应消息;所述服务器根据所述响应消息获取频道或节目的收视率。8、如权利要求1或2所述获取用户管理信息的方法,其特征在于,所述互动节目统计信息的获取方法具体为所述服务器接收到终端发送的用户管理信息后,向所述终端发送互动节目,所述互动节目内容中包括互动信息和/或互动更新信息;所述服务器接收所述终端发送的互动信息响应;所述服务器根据所述互动信息响应,处理得到互动节目的统计信息。9、如权利要求1或2所述获取用户管理信息的方法,其特征在于,所述终端向所述服务器发送用户管理信息的步骤具体为所述终端在启动时、或切换所观看的节目或频道时,向所述服务器发送用户管理信息。10、如权利要求9所述获取用户管理信息的方法,其特征在于,所述服务器接收终端发送的用户管理信息后,还包括步骤所述服务器根据所述终端在接收到启动时、或切换所观看的节目或频道时发送的鉴权请求,发起对所述终端的鉴权。11、如权利要求9所述获取用户管理信息的方法,其特征在于,所述服务器接收终端发送的用户管理信息后,还包括步骤所述服务器向所述终端发送所述终端选择的节目内容;所述服务器判断所述终端接收所述节目内容超过预设时间时,发起对所述终端的鉴权。12、如权利要求1所述获取用户管理信息的方法,其特征在于,所述服务器接收终端发送的用户管理信息后,还包括步骤所述服务器向所述终端提供服务指南中包括的可选节目。13、如权利要求12所述获取用户管理信息的方法,其特征在于,所述服务器向所述终端提供服务指南中包括的可选节目后,还包括步骤所述服务器接受所述终端对所述服务指南中包括的可选节目的订购或退订;所述终端订购的节目发生变化时,更新所述服务器和所述终端上存储的终端订购节目信息。14、一种手机电视业务中获取用户管理信息的系统,其特征在于,包括服务器,用于接收终端发送的用户管理信息,并保存所获取的所述终端的用户管理信息;终端,用于向所述服务器发送用户管理信息。15、如权利要求14所述获取用户管理信息的系统,其特征在于,所述服务器进一步包括接收模块,用于接收所述终端发送的用户管理信息;统计模块,用于保存所述接收模块获取的所述终端的用户管理信息。16、如权利要求14所述获取用户管理信息的系统,其特征在于,所述终端进一步包括用户管理信息发送模块,用于向所述服务器发送本终端的用户管理信息。17、一种手机电视业务中的服务器,用于获取用户管理信息,其特征在于,包括接收模块,用于接收终端发送的用户管理信息;统计模块,用于保存所迷接收模块获取的所述终端的用户管理信息。18、如权利要求17所述手机电视业务中的服务器,其特征在于,还包括:节目订购模块,用于接受所述终端对服务指南中包括的可选节目的订购或退订,并根据订购或退订结果更新本地存储的终端订购节目信息。19、如权利要求17所述手机电视业务中的服务器,其特征在于,还包括:鉴权模块,用于对请求收看节目的终端进行鉴权。20、如权利要求17所述手机电视业务中的服务器,其特征在于,还包括:互动节目处理模块,用于进行互动节目中与所述终端的互动功能的实现。全文摘要本发明提供一种手机电视业务中获取用户管理信息的方法,包括如下步骤服务器接收终端发送的用户管理信息;所述服务器保存获取的所述终端的用户管理信息。本发明还提供一种手机电视业务中获取用户管理信息的系统和设备。通过使用本发明,通过终端与服务器间的消息交互,实现了对用户管理信息的统计、交互更新以及收视率的统计等信息的互通的目的。文档编号H04N7/173GK101399958SQ200710162759公开日2009年4月1日申请日期2007年9月30日优先权日2007年9月30日发明者健杨,雷王,挺董,陈国乔申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1