专利名称::交互式网络电视业务鉴权的方法、系统及epg服务器的制作方法
技术领域:
:本发明属于通信
技术领域:
,尤其涉及一种IPTV(InternetProtocolTelevision,交互式网络电视)业务鉴权的方法、系统及EPG(ElectronicProgramGuide,电子节目菜单)服务器。
背景技术:
:随着IPTV业务的推广,IPTV系统需要支持的在线用户数不断增加。参见图l,为现有的IPTV系统的架构示意图,图中EPG服务器和业务处理机都是分布式部署,所有的业务处理机在进行IPTV业务鉴权时,都需访问同一个IPTV业务数据库。目前,在实际运行中,IPTV业务操作非常频繁。随着用户数的增加,每秒并发的业务操作对IPTV业务数据库的压力将会越来越大,最终会成为整个IPTV系统的性能瓶颈。
发明内容为了解决上述问题,本发明的目的是提供一种交互式网络电视业务鉴权的方法、系统及EPG服务器,通过在EPG服务器中进行IPTV业务鉴权,缓解了对IPTV业务数据库的访问压力,有效的提高了IPTV系统的性能。为了达到上述目的,本发明提供一种交互式网络电视业务鉴权的方法,所述方法包括电子节目菜单服务器获取用户点播信息;所述电子节目菜单服务器根据获取的所述用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。优选的,所述用户点播信息为用户点播产品的产品标识。优选的,当所述用户点播信息为用户点播节目的节目标识时,所述电子节目菜单服务器根据所述用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权的步骤为所述电子节目菜单服务器根据所述用户点播节目的节目标识,查找出与所述用户点播节目的节目标识所对应的产品标识;所述电子节目菜单服务器根据查找到的所述产品标识和所述预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。优选的,当通过所述交互式网络电视业务鉴权时,所述方法还包括所述电子节目菜单服务器根据所述用户点播节目的节目标识,向用户播放点播的节目。优选的,当所述交互式网络电视业务鉴权不通过时,所述方法还包括所述电子节目菜单服务器将所述用户点播节目的节目标识发送给业务处理机,由所述业务处理机再次进行交互式网络电视业务鉴权。优选的,在所述电子节目菜单服务器获取用户点播信息的步骤之前,所述方法还包括在登陆到所述电子节目菜单服务器后,所述电子节目菜单服务器获取登陆用户的用户已订购产品的信息;所述电子节目菜单服务器存储所述登陆用户的用户已订购产品的信息。优选的,在所述电子节目菜单服务器获取登陆用户的用户已订购产品的信息的步骤之前,所述方法还包括所述电子节目菜单服务器判断是否已存储有所述登陆用户的用户已订购产品的信息,若有,则无需获取所述登陆用户的用户已订购产品的信息;否则,从交互式网络电视业务数据库中获取所述登陆用户的用户已订购产品的信息。优选的,所述方法还包括当所述电子节目菜单服务器中预先存储的所述用户已订购产品的信息发生改变时,所述电子节目菜单服务器对所述用户已订购产品的信息进行更新处理。本发明还提供一种交互式网络电视系统,包括多个电子节目菜单服务器、多个业务处理机和与所述多个业务处理机连接的交互式网络电视业务数据库,其中所述电子节目菜单服务器,用于获取用户点播信息,并根据获取的所述用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权,当通过所述交互式网络电视业务鉴权时,向用户播放点播的节目;当所述交互式网络电视业务鉴权不通过时,通知所述业务处理机再次进行交互式网络电视业务鉴权。优选的,所述电子节目菜单服务器,还用于获取所述交互式网络电视业务数据库中的用户已订购产品的信息。本发明还提供一种EPG服务器,包括获取模块,用于获取用户点播信息;以及鉴权模块,用于根据获取的所述用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。优选的,所述鉴权模块包括查找单元,用于在所述获取模块获取的所述用户点播信息为用户点播节目的节目标识时,根据所述用户点播节目的节目标识,查找出与所述用户点播节目的节目标识所对应的产品标识;鉴权单元,用于根据查找到的所述产品标识和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。优选的,还包括业务处理模块,与所述鉴权模块连接,当通过所述交互式网络电视业务鉴权时,用于根据所述用户点播节目的节目标识,向用户播放点播的节目;当所述交互式网络电视业务鉴权不通过时,用于将所述用户点播节目的节目标识发送给业务处理机,由所述业务处理机再次进行交互式网络电视业务鉴权。优选的,所述电子节目菜单服务器还包括同步模块,用于在登陆所述电子节目菜单服务器时,获取登陆用户的用户已订购产品的信息,并存储所述登陆用户的用户已订购产品的信息。由上述技术方案可知,通过将业务数据保存到EPG服务器中,使得当需要进行IPTV业务鉴权时,可在EPG服务器中根据获取的用户点播信息和保存的业务数据进行交IPTV业务鉴权,有效缓解了对IPTV业务数据库的访问压力,从而在同等设备的情况下,能有效提高IPTV系统支持的用户数。而且当IPTV系统性能不足时,可以在不改变IPTV系统架构的前提下,通过增加EPG服务器的个数来改善IPTV系统的性能。图1为现有的IPTV系统的架构示意图;图2为本发明的实施例中交互式网络电视业务鉴权的方法流程图;图3为本发明的实施例中交互式网络电视业务鉴权的方法时序图;图4为本发明的实施例中IPTV系统中产品和节目的映射关系的同步流程示意图;图5为本发明的实施例中用户已订购产品的信息的同步流程示意图;图6为本发明的实施例中EPG服务器的结构框图。具体实施例方式在本实施例中,首先通过IPTV系统中的EPG服务器获取用户点播信息,然后在EPG服务器中根据该用户点播信息和预先存储的用户已订购产品的信息,进行交互网络电视业务鉴权。上述用户点播信息包括用户点播产品的产品标识和用户点播节目的节目标识,当然该用户点播信息也并不限于此。当用户点播信息为用户点播产品的产品标识时,该EPG服务器直接根据获取的用户点播产品的产品标识和预先存储的用户已订购产品的信息,在EPG服务器中进行交互式网络电视业务鉴权。该产品标识可以是产品的数字编号,也可以是产品名称,在本实施例中并不限定该产品标识的具体表现形式。当用户点播信息为用户点播节目的节目标识时,该EPG服务器可根据该用户点播节目的节目标识查找出于该节目标识所对应的产品标识,然后根据查找到得产品标识和预先存储的用户已订购产品的信息,在EPG服务器中进行交互式网络电视业务鉴权。该节目标识可以是节目的数字编号,也可以是节目名称,在本实施例中并不限定该节目标识的具体表现形式。参见表1为产品和节目的映射关系表。由表中可知,用户可点播的产品有"NBA产品"、"港台影视产品"和"大陆影视产品";用户可点播的节目有"NBA赛场"、"射雕英雄传"、"英雄本色"和"建国大业"等。而且在NBA产品中包括的节目有"黄蜂VS火箭"、"火箭VS湖人"和"NBA赛场"。表1中产品和节目可以是一对多的对应关系,例如NBA产品可以包括多场NBA比赛的录像以及NBA频道。表16<table>tableseeoriginaldocumentpage7</column></row><table>表1中,用户点播节目的节目类型包括体育点播节目、体育直播频道、电视剧、以及电影等,当然还可包括其他类型,例如财经节目、娱乐节目、以及歌曲等。下面以该用户点播信息为用户点播节目的节目标识为例进行说明,当然该用户点播信息为其他情况时,在电子节目菜单服务器中进行的交互式网络电视业务鉴权的过程于此类此。为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细地说明。在此,本发明的示意性实施例及说明用于解释本发明,但并不作为对本发明的限定。如图2所示,为本发明的实施例中交互式网络电视业务鉴权的方法流程图,具体步骤如下步骤201、在登陆到EPG服务器后,EPG服务器从IPTV业务数据库中获取登陆用户的用户已订购产品的信息;用户开机经过后台认证后登录到EPG服务器上,在用户登陆EPG服务器后,可将登陆用户的用户已订购产品的信息、用户书签信息和用户收藏信息从IPTV业务数据库中同步到EPG服务器的内存数据库中。并且,当EPG服务器中预先存储的用户已订购产品的信息发生改变时,EPG服务器对用户已订购产品的信息进行更新处理。在本实施例中,在EPG服务器获取登陆用户的用户已订购产品的信息之前,该EPG服务器还可判断是否已存储有该登陆用户的用户已订购产品的信息,若是,则无需获取登陆用户的用户已订购产品的信息;否则,从IPTV业务数据库中获取登陆用户的用户已订购产品的信息。步骤202、EPG服务器获取用户点播节目的节目标识;在登陆到EPG服务器后,用户根据STB(机顶盒)中的播放列表来选取需要点播的节目,并将点播请求发送给EPG服务器,该点播请求中可包括用户点播节目的节目标识。例如用户点播节目的节目标识为"英雄本色"。步骤203、EPG服务器根据该用户点播节目的节目标识,查找出与该用户点播节目的节目标识所对应的产品标识;通过步骤202中获取的用户点播节目的节目标识,可在预先设置的产品和节目的映射关系表中查找出于该用户点播节目的节目标识所对应的产品标识。例如,根据"英雄本色"在表1中可查找出的产品标识为"港台影视产品"。在本实施例中,该预先设置的产品和节目的映射关系表可直接设置在EPG服务器中的内存数据库中,也可以是在登陆到EPG服务器上后,从IPTV业务数据库中同步到EPG服务器的内存数据库中。而且在节目的创建、修改或删除时,将节目信息同步更新到该映射关系表中。步骤204、EPG服务器根据查找到的该产品标识和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。也就是,EPG服务器根据预先存储的用户已订购产品的信息来判断用户此次点播的产品是否为已订购的产品,若是,则IPTV业务鉴权通过,然后执行步骤205;否则,IPTV业务鉴权不通过,然后执行步骤206。若用户之前已订购"港台影视产品",则IPTV业务鉴权通过,若用户之前没有订购"港台影视产品",则IPTV业务鉴权不通过。步骤205、当通过IPTV业务鉴权时,EPG服务器根据用户点播节目的节目标识,向用户播放点播的节目。也就是,播放用户点播的"英雄本色",由于在EPG服务器中完成了IPTV业务鉴权,有效缓解了对IPTV业务数据库的访问压力,有效的提高了IPTV系统的性能。步骤206、当IPTV业务鉴权不通过时,EPG服务器将用户点播节目的节目标识发送给业务处理机,由该业务处理机再次进行IPTV业务鉴权。为了避免因EPG服务器中的用户已订购产品的信息更新不及时,在EPG服务器中进行的IPTV业务鉴权不通过后,EPG服务器可将用户点播节目的节目标识发送给业务处理机,由该业务处理机再次进行IPTV业务鉴权。一方面,能够保证IPTV业务鉴权的准确性;另一方面,由于大部分情况下在EPG服务器中就完成了IPTV业务鉴权,因此可有效减少业务处理机的IPTV业务鉴权工作,从而有效缓解了对IPTV业务数据库的访问压力,有效的提高了IPTV系统的性能。由上述技术方案可知,通过将业务数据保存到EPG服务器中,使得当需要进行IPTV业务鉴权时,可在EPG服务器中根据获取的用户点播信息和保存的业务数据进行IPTV业务鉴权,有效缓解了对IPTV业务数据库的压力,从而在同等设备的情况下,能有效提高IPTV系统支持的用户数。而且当IPTV系统性能不足时,可以在不改变IPTV系统架构的前提下,通过增加EPG服务器的个数来改善IPTV系统的性能。参见图3,为本发明的实施例中交互式网络电视业务鉴权的方法时序图,具体流程如下步骤301、用户开机登录到EPG服务器;用户A开机登录到EPG服务器,该用户A已订购以下产品NBA产品和港台影视产品。登录时可将有关用户A的订购关系(用户A的用户已订购产品的信息)同步到EPG服务器上。在进行同步操作之前,该EPG服务器可判断是否已存储有用户A的用户已订购产品的信息,若有,则无需将用户A的用户已订购产品的信息同步到EPG服务器中;否则,将用户A的用户已订购产品的信息同步到EPG服务器中。当然也可通过如下的方式来判断假设用户A之前登陆的是第一EPG服务器,而此次登陆的是第二EPG服务器,当第二EPG服务器检查出用户A所带上次登陆的EPG服务器的标识(第一EPG服务器的标识)和自身的标识(第二EPG服务器的标识)不一致时,从IPTV业务数据库中将用户A的用户已订购产品的信息、用户的书签信息和收藏信息同步到第二EPG服务器中,后续用户A进行收藏查看或者书签查看等业务操作时,可以直接通过查询第二EPG服务器上的内存数据库完成,无需再访问IPTV业务数据库。步骤302、用户在EPG服务器上点播某个节目;例如用户点播"英雄本色"这部电影,EPG服务器先选择本地进行IPTV业务鉴权。步骤303、根据节目和产品的对应关系,找到该节目对应的产品;根据产品和节目的映射关系表(例如表l),找到"英雄本色"对应的"港台影视产PI"PRo在本实施例中,该产品和节目的映射关系表也可在用户登陆时,从IPTV数据库中同步到EPG服务器的内存数据库中。步骤304、检测用户已订购产品的信息,判断用户是否已订购该节目所对应的产PIPR检查EPG服务器本地保存的用户已订购产品的信息,若该用户已经订购了"港台影视产品",则IPTV业务鉴权通过,并向用户播放节目标识为"英雄本色"的电影,此时无需再到业务处理机上进行IPTV业务鉴权。步骤305、用户没有订购该产品,到业务处理机上进行IPTV业务鉴权;如果该用户点播的是"建国大业"影片,由表1可知,该节目标识对应的产品标识是"大陆影视产品",而在EPG服务器上检查发现用户没有订购"大陆影视产品",此时将用户标识和用户点播节目的节目标识传到业务处理机中再次进行IPTV业务鉴权。步骤306、鉴权应答;业务处理机返回IPTV业务鉴权结果,如果IPTV业务鉴权不通过,则该用户需要订购产品后才能观看该节目。步骤307、业务使用请求响应。EPG服务器将业务使用请求响应发送给STB。在步骤301步骤307中,用户在点击节目观看时,EPG服务器根据内存数据库中保存的用户已订购产品的信息、产品和节目的映射关系进行IPTV业务鉴权,判断该用户是否有权限观看该节目。如果鉴权通过,就不需要在业务处理机上进行IPTV业务鉴权,直接允许该用户观看该节目;如果鉴权不通过,再将用户标识和用户点播节目的节目标识传到业务处理机中再次进行IPTV业务鉴权。参见图4,为本发明的实施例中IPTV系统中产品和节目的映射关系的同步流程示意图,具体步骤如下步骤401、在业务管理界面上修改产品和节目的映射关系;在IPTV系统的IPTV数据库中预先设置产品标识和节目标识的映射关系表(参见表l),在该映射关系表中可记录产品和节目的映射关系。当节目或产品创建、修改和删除时,将节目信息同步到EPG服务器的内存数据库中。步骤402、将更新后的产品和节目的映射关系更新到IPTV业务数据库中;步骤403、IPTV业务数据库通知EPG服务器进行产品和节目的映射关系的更新。步骤401步骤403中,在业务管理界面上,操作员可以选择将IPTV系统中存在的节目按照业务运营的需要添加到不同的产品中,也可以从产品中去除不再需要的节目,然后将产品和节目映射关系的变化同步到EPG服务器上。用户在点播节目时,EPG服务器可根据产品和节目的映射关系找到该用户点播节目所属的产品。参见图5,为本发明的实施例中用户已订购产品的信息的同步流程示意图,具体步骤如下步骤501、机顶盒向EPG服务器发送认证请求和服务请求;机顶盒与EPG服务器之间采用HTTP协议(超文件传输协议)交互;步骤502、EPG服务器将认证请求和服务请求发送给IPTV业务数据库;步骤503、IPTV业务数据库向EPG返回认证结果,并将登陆用户的用户已订购产品的信息同步到EPG服务器中。步骤501503、在用户通过机顶盒登录到EPG服务器时,从IPTV业务数据库中将登陆用户的用户已订购产品的信息、收藏书签信息同步到EPG服务器的内存数据库中。在本发明的实施例中还提供一种交互式网络电视系统,包括多个EPG服务器、多个业务处理机和与该多个业务处理机连接的IPTV业务数据库,其中该EPG服务器,用于获取用户点播信息,并根据获取的所述用户点播信息和预先存储的用户已订购产品的信息,进行IPTV业务鉴权,当通过IPTV业务鉴权时,向用户播放点播的节目;当IPTV业务鉴权不通过时,通知业务处理机再次进行IPTV业务鉴权。上述EPG服务器,还用于获取IPTV业务数据库中的用户已订购产品的信息,例如在登陆到该EPG服务器后,该EPG服务器获取登陆用户的用户已订购产品的信息,并将该登陆用户的用户已订购产品的信息存储在EPG服务器的内存数据库中。为了实现上述的方法实施例,本发明的其他实施例还提供了一种EPG服务器。另需首先说明的是,由于下述的实施例是为实现前述的方法实施例,故该EPG服务器中的模块都是为了实现前述方法的各步骤而设,但本发明并不限于下述的实施例,任何可实现上述方法的装置和模块都应包含于本发明的保护范围。并且在下面的描述中,与前述方法相同的内容在此省略,以节约篇幅。参见图6,为本发明的实施例中EPG服务器的结构框图,该EPG服务器包括获取模块61,用于获取用户点播信息;该获取模块61从机顶盒发送的点播请求中获取用户点播信息。鉴权模块62,用于根据获取的用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。上述鉴权模块62包括查找单元,用于在所述获取模块61获取的所述用户点播信息为用户点播节目的节目标识时,根据所述用户点播节目的节目标识,查找出与所述用户点播节目的节目标识所对应的产品标识;鉴权单元,用于根据查找到的所述产品标识和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。在本发明的另一实施例中,该EPG服务器还包括同步模块63,用于在登陆EPG服务器时,从IPTV数据库中获取登陆用户的用户已10订购产品的信息,并存储所述登陆用户的用户已订购产品的信息。该同步模块63中包括判断单元,用于判断是否已存储有所述登陆用户的用户已订购产品的信息,若有,则无需获取所述登陆用户的用户已订购产品的信息;否则,从IPTV业务数据库中获取所述登陆用户的用户已订购产品的信息。更新单元,用于当预先存储的所述用户已订购产品的信息发生改变时,对所述用户已订购产品的信息进行更新处理。在本发明的另一实施例中,该EPG服务器还包括业务处理模块64,与该鉴权模块62连接,当通过所述交互式网络电视业务鉴权时,用于根据所述用户点播节目的节目标识,向用户播放点播的节目;或者当所述交互式网络电视业务鉴权不通过时,用于将所述用户点播节目的节目标识发送给业务处理机,由所述业务处理机再次进行交互式网络电视业务鉴权。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域:
的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。权利要求一种交互式网络电视业务鉴权的方法,其特征在于,所述方法包括电子节目菜单服务器获取用户点播信息;所述电子节目菜单服务器根据获取的所述用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。2.根据权利要求1所述的方法,其特征在于,所述用户点播信息为用户点播产品的产品标识。3.根据权利要求1所述的方法,其特征在于,当所述用户点播信息为用户点播节目的节目标识时,所述电子节目菜单服务器根据所述用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权的步骤为所述电子节目菜单服务器根据所述用户点播节目的节目标识,查找出与所述用户点播节目的节目标识所对应的产品标识;所述电子节目菜单服务器根据查找到的所述产品标识和所述预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。4.根据权利要求3所述的方法,其特征在于,当通过所述交互式网络电视业务鉴权时,所述方法还包括所述电子节目菜单服务器根据所述用户点播节目的节目标识,向用户播放点播的节目。5.根据权利要求3所述的方法,其特征在于,当所述交互式网络电视业务鉴权不通过时,所述方法还包括所述电子节目菜单服务器将所述用户点播节目的节目标识发送给业务处理机,由所述业务处理机再次进行交互式网络电视业务鉴权。6.根据权利要求4或5所述的方法,其特征在于,在所述电子节目菜单服务器获取用户点播信息的步骤之前,所述方法还包括在登陆到所述电子节目菜单服务器后,所述电子节目菜单服务器获取登陆用户的用户已订购产品的信息;所述电子节目菜单服务器存储所述登陆用户的用户已订购产品的信息。7.根据权利要求6所述的方法,其特征在于,在所述电子节目菜单服务器获取登陆用户的用户已订购产品的信息的步骤之前,所述方法还包括所述电子节目菜单服务器判断是否已存储有所述登陆用户的用户已订购产品的信息,若有,则无需获取所述登陆用户的用户已订购产品的信息;否则,从交互式网络电视业务数据库中获取所述登陆用户的用户已订购产品的信息。8.根据权利要求3所述的方法,其特征在于,所述方法还包括当所述电子节目菜单服务器中预先存储的所述用户已订购产品的信息发生改变时,所述电子节目菜单服务器对所述用户已订购产品的信息进行更新处理。9.一种交互式网络电视系统,其特征在于,包括多个电子节目菜单服务器、多个业务处理机和与所述多个业务处理机连接的交互式网络电视业务数据库,其中所述电子节目菜单服务器,用于获取用户点播信息,并根据获取的所述用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权,当通过所述交互式网络电视业务鉴权时,向用户播放点播的节目;当所述交互式网络电视业务鉴权不通过时,通知所述业务处理机再次进行交互式网络电视业务鉴权。10.根据权利要求9所述的交互式网络电视系统,其特征在于,所述电子节目菜单服务器,还用于获取所述交互式网络电视业务数据库中的用户已订购产品的信息。11.一种EPG服务器,其特征在于,包括获取模块,用于获取用户点播信息;以及鉴权模块,用于根据获取的所述用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。12.根据权利要求11所述的EPG服务器,其特征在于,所述鉴权模块包括查找单元,用于在所述获取模块获取的所述用户点播信息为用户点播节目的节目标识时,根据所述用户点播节目的节目标识,查找出与所述用户点播节目的节目标识所对应的产品标识;鉴权单元,用于根据查找到的所述产品标识和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权。13.根据权利要求11所述的EPG服务器,其特征在于,还包括业务处理模块,与所述鉴权模块连接,当通过所述交互式网络电视业务鉴权时,用于根据所述用户点播节目的节目标识,向用户播放点播的节目;当所述交互式网络电视业务鉴权不通过时,用于将所述用户点播节目的节目标识发送给业务处理机,由所述业务处理机再次进行交互式网络电视业务鉴权。14.根据权利要求11所述的EPG服务器,其特征在于,所述电子节目菜单服务器还包括同步模块,用于在登陆所述电子节目菜单服务器时,获取登陆用户的用户已订购产品的信息,并存储所述登陆用户的用户已订购产品的信息。全文摘要本发明提供一种交互式网络电视业务鉴权的方法、系统及EPG服务器,属于通信
技术领域:
,该方法包括首先电子节目菜单服务器获取用户点播信息;然后电子节目菜单服务器根据该用户点播信息和预先存储的用户已订购产品的信息,进行交互式网络电视业务鉴权,通过电子节目菜单服务器来进行交互式网络电视业务鉴权,从而可缓解对交互式网络电视数据库的访问压力,有效的提高了交互式网络电视系统的性能。文档编号H04N7/173GK101742247SQ200910242298公开日2010年6月16日申请日期2009年12月8日优先权日2009年12月8日发明者刘学安,张宇,朱伟申请人:中兴通讯股份有限公司