Iptv系统中内存数据库的实现方法及iptv系统的制作方法

文档序号:7665596阅读:239来源:国知局

专利名称::Iptv系统中内存数据库的实现方法及iptv系统的制作方法
技术领域
:本发明涉及本发明涉及IPTV(InternetProtocolTelevision,互联网协议电视)系统中的存储
技术领域
,尤其涉及一种IPTV系统中内存数据库的实现方法及其IPTV系统。
背景技术
:IPTV业务是指以机顶盒接入到宽带网络,以PC机或者电视机为显示终端,从而为用户提供一种交互式电视体验和多媒体服务的宽带增值业务。IPTV系统可以提供视频点播(VideoonDemand,VOD)、直播电视(LiveTV)和时移电视(Time-shiftedTV)等服务。图1示出了IPTV系统模块结构,该IPTV系统10分别与OSS/BSS20、实时/非实时内容源30、组播控制单元40以及机顶盒50通讯连接,并且所述IPTV系统10主要包括几个子系统运营支撑系统11、DRM(DigitalRightManagement,数字版权管理)系统12、EPG(ElectronicProgramGuide,电子节目单)系统13、内容处理系统14、内容管理系统15、分布式流媒体系统16、增值服务系统17、片库系统19等,其中运营支撑系统11为IPTV系统10提供业务管理、业务支撑和系统管理。DRM系统12对流媒体内容进行加密。EPG系统13分为WEB服务和EPG应用服务,这两种服务可在同一台服务器中完成。内容处理系统14负责IPTV节目的处理,主要包括实时内容处理与非实时内容处理。内容管理系统15负责IPTV系统10的内容管理。片库系统19负责存储SP/CP(ServiceProvider/ContentProvider,服务提供商/内容提供商)提供给IPTV系统10的各种媒体内容。分布式流媒体系统16包括DSS-CDN(DistributionStreamingmediaSystem-ContentDeliveryNetwork,分布式流媒体内容分发)系统161禾口SS(StreamingServer,流媒体服务器)162。增值服务系统17在IPTV系统10中的位置与分布式流媒体系统16相同,它向用户提供各种增值服务。下面重点描述EPG系统13和分布式流媒体系统16。EPG系统13分为WEB服务和EPG应用服务。WEB服务响应用户请求,下发相应的EPG页面。WEB服务同时包括EPG模板制作与EPG信息采集生成。它从内容管理系统15获得内容信息根据EPG模板生成相应的EPG页面。EPG应用服务主要完成用户的业务请求,与IPTV系统10的运营支撑系统11、分布式流媒体系统16协同完成用户的业务请求与服务。EPG应用服务由EPG应用服务器来实现,WEB服务也可以由该EPG应用服务器实现。EPG系统13直接处理用户终端的请求,并且用户终端请求具有大批量、并发的特点;因此,EPG系统13的处理能力、性能的高低直接影响用户的体验。结合图1和图2所示,分布式流媒体系统16包括分布式流媒体内容分发(DSS-CDN)系统161和流媒体服务器(SS)162。流媒体服务器162中可包括流媒体服务器机群1621、媒体库机群1622以及负载均衡器1623。DSS-CDN系统161包括内容分发全局控制器(CDN-Manager)1611和节点控制器(CDN-Agent)1612;同时一个CDN-Agent1612和一个流媒体服务器机群1621共同组成一个内容分发节点160,形成一个服务点,包括CDN中心节点和CDN边缘节点。CDN-Agent1612控制本内容分发节点160的每个流媒体服务器162,进行内容调度、内容分发、热度统计、局部重定向。CDN-Manager1611集中管理整个DSS-CDN系统161中的内容信息、内容注入到CDN、进行DSS-CDN系统161的基本数据配置、全局负载均衡、在各个内容分发节点160之间进行内容调度,以提高整个分布式流媒体系统16对用户终端60提供的服务质量。同时带来一个问题每个内容分发节点160在运行时,都必须存取本节点的内容和服务参数信息;一个大型的IPTV系统10有大量的内容分发节点160,如果每个内容分发节点160部署以商业性的业务数据库,势必增加成本;而如果本内容分发节点160采用文件存储,则必然导致性能降低。综上可知,现有IPTV系统中的存储技术,在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容针对上述的缺陷,本发明的目的在于提供一种IPTV系统中内存数据库的实现方法及其IPTV系统,其能够提高IPTV系统中EPG系统和/或内容分发节点的处理性能。为了实现上述目的,本发明提供一种IPTV系统中内存数据库的实现方法,该IPTV系统至少包括若干内容分发节点、EPG应用服务器以及业务数据库,所述方法包括步骤有A、在每个内容分发节点和/或EPG应用服务器中部署有内存数据库;B、当所述内容分发节点和/或EPG应用服务器启动时,同时将其本地的内存数据库启动,并且所述内存数据库从该业务数据库中获取本内容分发节点和/或EPG应用服务器所需的全量业务数据;C、当所述业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。根据本发明的方法,所述EPG应用服务器与内存数据库协同工作中,所述步骤B进一步包括Bll、所述EPG应用服务器启动时,以函数调用方式启动本地内存数据库;B12、所述内存数据库向业务数据库发送获取该EPG应用服务器所需的全量业务数据请求,所述业务数据库向内存数据库返回该全量业务数据;B13、所述内存数据库将所获得的全量业务数据导入到内存数据结构;所述步骤C进一步包括Cll、当所述内存数据库判断出该业务数据库中的业务数据发生更新,向所述业务数据库发送获取增量业务数据请求;C12、所述业务数据库将该增量业务数据传输给该内存数据库;C13、所述内存数据库将该增量业务数据导入到内存数据结构。根据本发明的方法,所述步骤C11进一步包括Clll、所述IPTV系统更新该业务数据库中的业务数据,同时更新该业务数据库的内容同步表中的更新时间戳;C112、所述内存数据库定时扫描该业务数据库的内容同步表中的更新时间戳;C113、所述业务数据库将该内容同步表中的更新时间戳返给内存数据库;C114、所述内存数据库将本地时间戳与该更新时间戳进行比较,若所述更新时间戳大于本地时间戳,则向所述业务数据库发送获取增量业务数据请求;否则返回到步骤C112,以继续等待下一个定时扫描处理。根据本发明的方法,所述步骤C13之后进一步包括EPG应用服务器处理用户终端请求的步骤C14、用户终端向EPG应用服务器发起服务请求;C15、所述EPCi应用服务器向该内存数据库发送获取本次服务的用户服务数据请求;C16、若所述内存数据库未在本地检索到该用户服务数据,则向该业务数据库发送获取该本次服务的用户服务数据的请求;C17、所述业务数据库向该内存数据库返回该用户服务数据;C18、所述内存数据库向EPG应用服务器返回该用户服务数据。根据本发明的方法,所述IPTV系统包括一分布式流媒体系统,该分布式流媒体系统包括分布式流媒体内容分发系统和流媒体服务器,该分布式流媒体内容分发系统包括一内容分发全局控制器和若干节点控制器,一该节点控制器和一流媒体服务器机群组成一内容分发节点;在所述内容分发节点与内存数据库协同工作中,所述步骤B进一步包括B21、所述节点控制器启动时,以函数调用方式启动本地内存数据库;B22、所述内存数据库向该业务数据库发送获取该内容分发节点所需的全量业务数据请求,所述业务数据库向内存数据库返回该全量业务数据;B23、所述内存数据库将所获得的全量业务数据导入到内存数据结构;所述步骤C进一步包括C21、所述IPTV系统向该内容分发全局控制器发送业务消息;C22、所述内容分发全局控制器处理该业务消息,并更新该业务数据库;C23、所述内容分发全局控制器向该内容分发节点的节点控制器发送业务消息;C24、所述节点控制器处理该业务消息,并更新本地内存数据库。根据本发明的方法,所述内存数据库中设有一全局的哈希表,将该内存数据库中的每张表的定义以及该表的数据一起作为表元素,并将该表元素插入到该全局的哈希表。根据本发明的方法,所述表元素进一步包括表头,包括有表名、字段数目、表的数据记录数和/或第一个字段的指针;字段元素,包括有字段名、字段类型、字段精度长度、该字段的数据条数、指向下一个字段的指针和/或指向该字段第一个元素的指针;数据元素,包括有数据缓冲区、数据缓冲区的指针和/或指向下一个数据元素的指针。i—,i~'"、一—'》、、i,■—■-,—一、I、、1/,I1~■-■~^I,一、-A"A".1.、',—tT.Iin,I、、-、WI—I~I-",fc^"I■,很掘不反明的力汰,卯米尸/T还双做兀系定子付甲失坐,则该戮站兀系1叉ffl定长的数据缓冲区来存放字符串;或者该数据元素使用该数据缓冲区的指针指向一可变长的数据缓冲区,并结合数据长度字段来存放字符串。根据本发明的方法,所述内存数据库中包括至少一原子操作函数,该原子操作函数直接操作内存数据库中的内存数据结构;在操作所述内存数据库时,直接调用该原子操作函数,来完成对内存数据库中内存数据结构的操作;或者所述内存数据库中还包括一语法解析器,在操作所述内存数据库时,输入SQL语句,该SQL语句与经该语法解析器解析之后,再调用内存数据库的原子操作函数,来完成对内存数据库中内存数据结构的操作。本发明还提供一种实现内存数据库的IPTV系统,该IPTV系统至少包括若干内容分发节点、EPG应用服务器以及业务数据库,所述每个内容分发节点和/或EPG应用服务器中部署有内存数据库;所述内容分发节点和/或EPG应用服务器启动时,同时将其本地的内存数据库启动,并且所述内存数据库从该业务数据库中获取本内容分发节点和/或EPG应用服务器所需的全量业务数据;所述业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。本发明通过将内存数据库部署到每个内容分发节点和/或EPG应用服务器,在内容分发节点和/或EPG应用服务器启动时,内存数据库从业务数据库中获取所需的全量业务数据,并且在业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。由于内存数据库的处理能力大大优于普通的数据库,因此本发明提高了IPTV系统中EPG系统和每个内容分发节点的处理能力和响应速度。再者,本发明不需在每个内容分发节点部署业务数据库,从而降低了每个内容分发节点的成本,进而降低了整个IPTV系统的成本。另外,本发明提高了EPG系统的处理能力和性能,使用户在获取媒体服务时,能够得到更流畅的体验。图1是IPTV系统模块结构图;图2是IPTV系统网络部署图;图3是本发明实现内存数据库的IPTV系统结构示意图;图4是本发明内存数据库采用的第一种存储结构图;图5是本发明内存数据库采用的第二种存储结构图;图6是本发明IPTV系统中内存数据库的实现方法流程图;图7是本发明中EPG应用服务器与内存数据库协同工作时序图;图8是本发明中节点控制器(CDN-Agent)与内存数据库协同工作时序图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明的基本思想是通过将内存数据库部署到每个内容分发节点和/或EPG应用服务器,在内容分发节点和减EPG应用服务器启动时,内存数据库从业务数据库中获取所需的全量业务数据,并且在业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。图3示出了本发明实现内存数据库的IPTV系统结构,该IPTV系统10至少包括若干内容分发节点160、EPG应用服务器131及业务数据库18。其中每个内容分发节点160,由一节点控制器(CDN-Agent)1612和一流媒体服务器机群1621共同组成,参见图1和图2所示,内容分发节点160包括CDN中心节点和CDN边缘节点。本发明中,所述内容分发节点160中可以部署内存数据库1613。所述EPG应用服务器131,用于实现EPG系统13的EPG应用服务,也可以实现WEB服务。所述EPG应用服务器131中可以部署内存数据库1311。所述业务数据库18,用于存储IPTV系统IO所需的各种业务数据。在本发明中,所述IPTV系统10中的每个内容分发节点160和/或EPG应用服务器131中部署有内存数据库1613和/或1311;所述内容分发节点160禾口/或EPG应用服务器131启动时,同时将其本地的内存数据库1613禾口/或1311启动,并且所述内存数据库1613和/或1311从该业务数据库18中获取本内容分发节点160和/或EPG应用服务器131所需的全量业务数据;所述业务数据库18中的业务数据发生更新时,所述内存数据库1613和/或1311从该业务数据库18中获取增量业务数据。其中,所述IPTV系统10中主要包括EPG应用服务器131和内存数据库1311协同工作,以及内容分发节点160中CDN-Agent1612和内存数据库1613协同工作,其中EPG应用服务器131和内存数据库1311协同工作,包括如下步骤Al)EPG应用服务器131启动的同时,将内存数据库1311连带启动,内存数据库1311从业务数据库18中获取本EPG应用服务器131所需的全量业务数据,包括各种基本配置数据、截止到本次EPG应用服务器131启动、业务数据库18中所有和该EPG应用服务器131相关的数据,称为全量同步,并将该全量业务数据载入到内存数据库1311自身的内存数据结构。所述业务数据库18优选采用数据库服务器实现。Bl)IPTV系统10中其他子系统的处理,更新了业务数据库18中的业务数据后,将更新业务数据库18的内容同步表(synctable)中的更新时间戳。例如,图1所示的内容管理系统15负责IPTV系统10的内容管理,包括栏目管理、频道管理、节目源管理、内容管理、用户管理等。内容管理系统15进行业务处理之后,就会对业务数据库18进行增加、删除、更新等操作。同时,内容管理系统15更新业务数据库的synctable表中的更新时间戳。Cl)内存数据库1311定时扫描业务数据库18的synctable表中的更新时间戳,将其与最后一次成功同步数据的本地时间戳相比较,获取业务数据库18中的增量业务数据称为一次增量同步;如果,本次增量同步成功,则内存数据库1311将本地变量的本地时间戳的值更新为业务数据库18上synctable表中更新时间戳的值。Dl)当有用户终端向EPG应用服务器131发送服务请求时,EPG应用服务器131首先向本地内存数据库1311获取本次服务的用户服务数据,包括用户请求的栏目、节目、频道、内容和用户属性等信息;如果相关的用户服务数据本地不存在,则内存数据库1311向业务数据库18发送获取本次服务的用户服务数据请求,并将获取的用户服务数据返回给EPG应用服务器131。内容分发节点160中CDN-Agent1612和内存数据库1613协同工作,包括如下步骤A2)CDN-Agent1612启动时,连带启动内存数据库1613,该内存数据库1613从业务数据库18获取本内容分发节点160所需要的全量业务数据,包括内容数据、节点基本配置数据、直播频道的录制任务表、生成老化内容表,以及本节点工作所需要其它业务数据等。B2)在整个DSS-CDN系统16运行过程中,会涉及到各种业务操作,比如内容注入、内容调度、内容老化、频道录制、数据配置等操作,都会导致本内容分发节点160数据的更新;CDN-Manager1611更新业务数据库18;待CDN-Manager1611更新业务数据库18成功后,CDN-Manager1611向CDN-Agent1612发送相应的业务消息;CDN-Agent1612首先处理收到的业务消息,然后更新本地内存数据库1613;如果失败,则内存数据库1613和业务数据库18级联回滚。图3和图4示出本发明中内存数据库1311和/或1613的两种存储结构,所述内存数据库1311和/或1613中设有一全局的哈希表(HashTable),也称为数据库哈希表。将该内存数据库1311和/或1613中的每张表的定义以及该表的数据一起作为表元素,并将该表元素插入到该全局的哈希表。表元素主要支持两种数据类型整型(int)和字符串(string)。整型和字符串类型的字段都可以有精度长度,比如int(4)和string(255)。表元素具体包括表头、字段元素、数据元素,其中所述表头,包括有表名(TableName)、字段数目(ColumnNum)、表的数据记录数(RecordNum)和/或第一个字段的指针(next)等。所述字段元素,包括有字段名、字段类型、字段精度长度、该字段的数据条数(Datacoimter)、指向下一个字段的指针(next)和/或指向该字段第一个元素的指针(DataPointer)等。所述数据元素,包括有数据缓冲区(Databuf)、数据缓冲区的指针和/或指向下一个数据元素的指针(DataPointer)等。其中,如果数据元素是字符串类型,因为字符串本身是变长的,所以数据元素中可以使用一个定长的数据缓冲区来存放字符串,如图3所示。或者,该数据元素也可以使用该数据缓冲区的指针指向一可变长的数据缓冲区,如图4所示,并且该指针结合数据长度(DataLen)字段,来存放一字符串字段。内存数据库的操作技术,可根据不同的存储结构,实现若干不同的原子操作函数,这些原子操作函数直接操作内存数据库1311和/或1613中的内存数据结构,也就是存储结构实体。在操作所述内存数据库1311和/或1613时,可以直接调用该原子操作函数,来完成对内存数据库1311和/或1613中内存数据结构的操作。或者,所述内存数据库1311和/或1613中还提供一语法解析器,在操作所述内存数据库时,输入SQL(StructuredQueryLanguage,结构化査询语言)语句,该SQL语句与经该语法解析器解析之后,再调用内存数据库1311和/或1613的原子操作函数,来最终完成对内存数据库1311和/或1613中内存数据结构的操作。图6示出了本发明IPTV系统中内存数据库的实现方法流程,其通过图3所示的IPTV系统10实现,具体包括步骤如下步骤S601,在每个内容分发节点160和/或EPG应用服务器131中部署有内存数据库1613和/或1311。步骤S602,当所述内容分发节点160和/或EPG应用服务器131启动时,同时将其本地的内存数据库1613和/或1311启动,并且所述内存数据库1613和/或1311从该业务数据库18中获取本内容分发节点160和/或EPG应用服务器131所需的全量业务数据。所述全量业务数据包括各种基本配置数据、业务数据库18中所有和该EPG应用服务器131和/或内容分发节点160相关的数据,称为全量同步。步骤S603,当所述业务数据库18中的业务数据发生更新时,所述内存数据库1613和/或1311从该业务数据库18中获取所更新的增量业务数据,称为一次增量同步。图7示出了本发明中EPG应用服务器与内存数据库协同工作时序,其通过图3所示的IPTV系统10来实现,具体包括步骤S701,EPG应用服务器131启动。步骤S702,EPG应用服务器131以函数调用的方式,启动本地内存数据库1311。步骤S703,内存数据库1311向业务数据库18发送获取该EPG应用服务器131所需的全量业务数据请求。步骤S704,业务数据库18向内存数据库1311返回该全量业务数据。步骤S705,内存数据库1311将所获得的全量业务数据导入内存数据结构。步骤S706,所述IPTV系统10中的其他子系统更新(即存取)该业务数据库18中的业务数据,同时更新该业务数据库18的synctable表中的更新时间戳。比如,图1所示的内容管理系统15存储业务数据库18中的业务数据,同时更新业务数据库18中的synctable表里的更新时间戳。步骤S707,内存数据库1311定时扫描业务数据库18中synctable表中的更新时间戳,以判断该业务数据库18中的业务数据是否发生更新。步骤S708,业务数据库18返回synctable表中的更新时间戳返回到内存数据库1311。步骤S709,内存数据库1311将从synctable表中获取的更新时间戳,与本地变量中的本地时间戳(即上次同步数据成功的时间戳)进行比对,如果synctable表中的更新时间戳大于本地变量中保存的本地时间戳,则执行步骤S710操作;否则,否则返回到步骤S707,以继续等待下一个定时扫描处理。所述步骤S707S709由内存数据库1311定时循环操作。步骤S710,内存数据库1311向业务数据库18发送获取增量业务数据请求。步骤S711,业务数据库18将增量业务数据传输到内存数据库1311。步骤S712,内存数据库1311将增量同步获得的增量业务数据导入到内存数据结构。步骤S713,IPTV系统10中的其他系统或终端向EPG应用服务器131发起服务请求。本实施例中,用户终端向EPG应用服务器131发起多媒体服务请求。步骤S714,EPG应用服务器131向内存数据库1311发送获取本次服务的用户服务数据请求,该用户服务数据包括用户请求的栏目、节目、频道、内容和用户属性等信息。步骤S715,若内存数据库1311未在本地内存检索到该用户服务数据,向该业务数据库18发送获取本次服务的用户服务数据请求。步骤S716,业务数据库18向内存数据库1311返回本次服务该用户服务数据。步骤S717,内存数据库1311向EPG应用服务器131返回本次服务的用户服务数据。步骤S718,EPG应用服务器131开始为用户终端提供服务。图8是本发明中节点控制器(CDN-Agent)与内存数据库协同工作时序,其通过图3所示的IPTV系统10实现,具体包括步骤有步骤S801,节点控制器1612启动。步骤S802,节点控制器1612以函数调用的方式启动本地内存数据库1613。步骤S803,内存数据库1613向业务数据库18发送获取该内容分发节点160所需的全量业务数据请求,即内容分发节点160所需要点全部业务数据。步骤S804,业务数据库18向内存数据库1613返回该全量业务数据,称为一次全量同步。步骤S805,内存数据库1613将从业务数据库18获得的全量业务数据,导入到内存数据结构。步骤S806,IPTV系统10中其他子系统向内容分发全局控制器(CDN-Manager)1611发送业务消息。步骤S807,CDN-Manager1611处理业务消息后,存取业务数据库18,也就是更新该业务数据库18。步骤S808,CDN-Manager1611向节点控制器(CDN-Agent)1612发送业务消息。步骤S809,节点控制器1612处理业务消息后,更新本地的内存数据库1613的内容。综上所述,本发明通过将内存数据库部署到每个内容分发节点和/或EPG应用服务器,在内容分发节点和/或EPG应用服务器启动时,内存数据库从业务数据库中获取所需的全量业务数据,并且在业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。由于内存数据库的处理能力大大优于普通的数据库,因此本发明提高了IPTV系统中EPG系统和每个内容分发节点的处理能力和响应速度。再者,本发明不需在每个内容分发节点部署业务数据库,从而降低了每个内容分发节点的成本,进而降低了整个IPTV系统的成本。另外,本发明提高了EPG系统的处理能力和性能,使用户在获取媒体服务时,能够得到更流畅的体验。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。权利要求1、一种IPTV系统中内存数据库的实现方法,该IPTV系统至少包括若干内容分发节点、EPG应用服务器以及业务数据库,其特征在于,所述方法包括步骤有A、在每个内容分发节点和/或EPG应用服务器中部署有内存数据库;B、当所述内容分发节点和/或EPG应用服务器启动时,同时将其本地的内存数据库启动,并且所述内存数据库从该业务数据库中获取本内容分发节点和/或EPG应用服务器所需的全量业务数据;C、当所述业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。2、根据权利要求1所述的方法,其特征在于,所述EPG应用服务器与内存数据库协同工作中,所述步骤B进一步包括Bll、所述EPG应用服务器启动时,以函数调用方式启动本地内存数据库;B12、所述内存数据库向业务数据库发送获取该EPG应用服务器所需的全量业务数据请求,所述业务数据库向内存数据库返回该全量业务数据;B13、所述内存数据库将所获得的全量业务数据导入到内存数据结构;所述步骤C进一步包括Cll、当所述内存数据库判断出该业务数据库中的业务数据发生更新,向所述业务数据库发送获取增量业务数据请求;C12、所述业务数据库将该增量业务数据传输给该内存数据库;C13、所述内存数据库将该增量业务数据导入到内存数据结构。3、根据权利要求2所述的方法,其特征在于,所述步骤Cll进一步包括Clll、所述IPTV系统更新该业务数据库中的业务数据,同时更新该业务数据库的内容同步表中的更新时间戳;C112、所述内存数据库定时扫描该业务数据库的内容同步表中的更新时间戳;C113、所述业务数据库将该内容同步表中的更新时间戳返给内存数据库;C114、所述内存数据库将本地时间戳与该更新时间戳进行比较,若所述更新时间戳大于本地时间戳,则向所述业务数据库发送获取增量业务数据请求;否则返回到步骤C112,以继续等待下一个定时扫描处理。4、根据权利要求2所述的方法,其特征在于,所述步骤C13之后进一步包括EPG应用服务器处理用户终端请求的步骤C14、用户终端向EPG应用服务器发起服务请求;C15、所述EPG应用服务器向该内存数据库发送获取本次服务的用户服务数据请求;C16、若所述内存数据库未在本地检索到该用户服务数据,则向该业务数据库发送获取该本次服务的用户服务数据的请求;C17、所述业务数据库向该内存数据库返回该用户服务数据;C18、所述内存数据库向EPG应用服务器返回该用户服务数据。5、根据权利要求1所述的方法,其特征在于,所述IPTV系统包括一分布式流媒体系统,该分布式流媒体系统包括分布式流媒体内容分发系统和流媒体服务器,该分布式流媒体内容分发系统包括一内容分发全局控制器和若干节点控制器,一该节点控制器和一流媒体服务器机群组成一内容分发节点;在所述内容分发节点与内存数据库协同工作中,所述步骤B进一步包括B21、所述节点控制器启动时,以函数调用方式启动本地内存数据库;B22、所述内存数据库向该业务数据库发送获取该内容分发节点所需的全量业务数据请求,所述业务数据库向内存数据库返回该全量业务数据;B23、所述内存数据库将所获得的全量业务数据导入到内存数据结构;所述步骤C进一步包括C21、所述IPTV系统向该内容分发全局控制器发送业务消息;C22、所述内容分发全局控制器处理该业务消息,并更新该业务数据库;C23、所述内容分发全局控制器向该内容分发节点的节点控制器发送业务消息;C24、所述节点控制器处理该业务消息,并更新本地内存数据库。6、根据权利要求1所述的方法,其特征在于,所述内存数据库中设有一全局的哈希表,将该内存数据库中的每张表的定义以及该表的数据一起作为表元素,并将该表元素插入到该全局的哈希表。7、根据权利要求6所述的方法,其特征在于,所述表元素进一步包括表头,包括有表名、字段数目、表的数据记录数和/或第一个字段的指针;字段元素,包括有字段名、字段类型、字段精度长度、该字段的数据条数、指向下一个字段的指针和/或指向该字段第一个元素的指针;数据元素,包括有数据缓冲区、数据缓冲区的指针和/或指向下一个数据元素的指针。8、根据权利要求7所述的方法,其特征在于,如果所述数据元素是字符串类型,则该数据元素使用定长的数据缓冲区来存放字符串;或者该数据元素使用该数据缓冲区的指针指向一可变长的数据缓冲区,并结合数据长度字段来存放字符串。9、根据权利要求1所述的方法,其特征在于,所述内存数据库中包括至少一原子操作函数,该原子操作函数直接操作内存数据库中的内存数据结构;在操作所述内存数据库时,直接调用该原子操作函数,来完成对内存数据库中内存数据结构的操作;或者所述内存数据库中还包括一语法解析器,在操作所述内存数据库时,输入SQL语句,该SQL语句与经该语法解析器解析之后,再调用内存数据库的原子操作函数,来完成对内存数据库中内存数据结构的操作。10、一种实现如权利要求19任一项所述方法的IPTV系统,该IPTV系统至少包括若干内容分发节点、EPG应用服务器以及业务数据库,其特征在于,所述每个内容分发节点和/或EPG应用服务器中部署有内存数据库;所述内容分发节点和/或EPG应用服务器启动时,同时将其本地的内存数据库启动,并且所述内存数据库从该业务数据库中获取本内容分发节点和/或EPG应用服务器所需的全量业务数据;所述业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。全文摘要本发明公开了一种IPTV系统中内存数据库的实现方法,包括步骤有在每个内容分发节点和/或EPG应用服务器中部署有内存数据库;当所述内容分发节点和/或EPG应用服务器启动时,同时将其本地的内存数据库启动,并且所述内存数据库从该业务数据库中获取本内容分发节点和/或EPG应用服务器所需的全量业务数据;当所述业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。相应地,本发明还提供一种实现内存数据库的IPTV系统。借此,本发明提高IPTV系统中EPG系统和/或内容分发节点的处理性能。文档编号H04L12/58GK101242356SQ20071017889公开日2008年8月13日申请日期2007年12月6日优先权日2007年12月6日发明者王印龙,黄俊华申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1