CN101242356B - Iptv***中内存数据库的实现方法及iptv*** - Google Patents
Iptv***中内存数据库的实现方法及iptv*** Download PDFInfo
- Publication number
- CN101242356B CN101242356B CN200710178891XA CN200710178891A CN101242356B CN 101242356 B CN101242356 B CN 101242356B CN 200710178891X A CN200710178891X A CN 200710178891XA CN 200710178891 A CN200710178891 A CN 200710178891A CN 101242356 B CN101242356 B CN 101242356B
- Authority
- CN
- China
- Prior art keywords
- service
- memory database
- database
- application server
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种IPTV***中内存数据库的实现方法,包括步骤有:在每个内容分发节点和/或EPG应用服务器中部署有内存数据库;当所述内容分发节点和/或EPG应用服务器启动时,同时将其本地的内存数据库启动,并且所述内存数据库从该业务数据库中获取本内容分发节点和/或EPG应用服务器所需的全量业务数据;当所述业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。相应地,本发明还提供一种实现内存数据库的IPTV***。借此,本发明提高IPTV***中EPG***和/或内容分发节点的处理性能。
Description
技术领域
本发明涉及本发明涉及IPTV(Internet Protocol Television,互联网协议电视)***中的存储技术领域,尤其涉及一种IPTV***中内存数据库的实现方法及其IPTV***。
背景技术
IPTV业务是指以机顶盒接入到宽带网络,以PC机或者电视机为显示终端,从而为用户提供一种交互式电视体验和多媒体服务的宽带增值业务。IPTV***可以提供视频点播(Video on Demand,VOD)、直播电视(Live TV)和时移电视(Time-shifted TV)等服务。
图1示出了IPTV***模块结构,该IPTV***10分别与OSS/BSS 20、实时/非实时内容源30、组播控制单元40以及机顶盒50通讯连接,并且所述IPTV***10主要包括几个子***:运营支撑***11、DRM(Digital RightManagement,数字版权管理)***12、EPG(Electronic Program Guide,电子节目单)***13、内容处理***14、内容管理***15、分布式流媒体***16、增值服务***17、片库***19等,其中:
运营支撑***11为IPTV***10提供业务管理、业务支撑和***管理。DRM***12对流媒体内容进行加密。EPG***13分为WEB服务和EPG应用服务,这两种服务可在同一台服务器中完成。内容处理***14负责IPTV节目的处理,主要包括实时内容处理与非实时内容处理。内容管理***15负责IPTV***10的内容管理。片库***19负责存储SP/CP(ServiceProvider/Content Provider,服务提供商/内容提供商)提供给IPTV***10的各种媒体内容。分布式流媒体***16包括:DSS-CDN(Distribution Streamingmedia System-Content DeliveryNetwork,分布式流媒体内容分发)***161和SS(Streaming Server,流媒体服务器)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-Agent 1612和一个流媒体服务器机群1621共同组成一个内容分发节点160,形成一个服务点,包括CDN中心节点和CDN边缘节点。CDN-Agent 1612控制本内容分发节点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应用服务器与内存数据库协同工作时,全量业务数据包括各种基本配置数据、截止到本次EPG应用服务器启动、业务数据库中所有和该EPG应用服务器相关的数据;所述内容分发节点与内存数据库协同工作时,全量业务数据,包括内容数据、节点基本配置数据、直播频道的录制任务表、生成老化内容表,以及本节点工作所需要其它业务数据。
根据本发明的方法,所述EPG应用服务器与内存数据库协同工作中,所述步骤B进一步包括:
B11、所述EPG应用服务器启动时,以函数调用方式启动本地内存数据库;
B12、所述内存数据库向业务数据库发送获取该EPG应用服务器所需的全量业务数据请求,所述业务数据库向内存数据库返回该全量业务数据;
B13、所述内存数据库将所获得的全量业务数据导入到内存数据结构;
所述步骤C进一步包括:
C11、当所述内存数据库判断出该业务数据库中的业务数据发生更新,向所述业务数据库发送获取增量业务数据请求;
C12、所述业务数据库将该增量业务数据传输给该内存数据库;
C13、所述内存数据库将该增量业务数据导入到内存数据结构。
根据本发明的方法,所述步骤C11进一步包括:
C111、所述IPTV***更新该业务数据库中的业务数据,同时更新该业务数据库的内容同步表中的更新时间戳;
C112、所述内存数据库定时扫描该业务数据库的内容同步表中的更新时间戳;
C113、所述业务数据库将该内容同步表中的更新时间戳返给内存数据库;
C114、所述内存数据库将最后一次成功同步数据的本地时间戳与该更新时间戳进行比较,若所述更新时间戳大于最后一次成功同步数据的本地时间戳,则向所述业务数据库发送获取增量业务数据请求;否则返回到步骤C112,以继续等待下一个定时扫描处理。
根据本发明的方法,所述步骤C13之后进一步包括EPG应用服务器处理用户终端请求的步骤:
C14、用户终端向EPG应用服务器发起服务请求;
C15、所述EPG应用服务器向该内存数据库发送获取本次服务的用户服务数据请求;
C16、若所述内存数据库未在本地检索到该用户服务数据,则向该业务数据库发送获取该本次服务的用户服务数据的请求;
C17、所述业务数据库向该内存数据库返回该用户服务数据;
C18、所述内存数据库向EPG应用服务器返回该用户服务数据。
根据本发明的方法,所述IPTV***包括一分布式流媒体***,该分布式流媒体***包括分布式流媒体内容分发***和流媒体服务器,该分布式流媒体内容分发***包括一内容分发全局控制器和若干节点控制器,一该节点控制器和一流媒体服务器机群组成一内容分发节点;在所述内容分发节点与内存数据库协同工作中,所述步骤B进一步包括:
B21、所述节点控制器启动时,以函数调用方式启动本地内存数据库;
B22、所述内存数据库向该业务数据库发送获取该内容分发节点所需的全量业务数据请求,所述业务数据库向内存数据库返回该全量业务数据;
B23、所述内存数据库将所获得的全量业务数据导入到内存数据结构;
所述步骤C进一步包括:
C21、所述IPTV***向该内容分发全局控制器发送业务消息;
C22、所述内容分发全局控制器处理该业务消息,并更新该业务数据库;
C23、所述内容分发全局控制器向该内容分发节点的节点控制器发送业务消息;
C24、所述节点控制器处理该业务消息,并更新本地内存数据库。
根据本发明的方法,所述内存数据库中设有一全局的哈希表,将该内存数据库中的每张表的定义以及该表的数据一起作为表元素,并将该表元素***到该全局的哈希表。
根据本发明的方法,所述表元素进一步包括:
表头,包括有表名、字段数目、表的数据记录数和/或第一个字段的指针;
字段元素,包括有字段名、字段类型、字段精度长度、该字段的数据条数、指向下一个字段的指针和/或指向该字段第一个元素的指针;
数据元素,包括有数据缓冲区、数据缓冲区的指针和/或指向下一个数据元素的指针。
根据本发明的方法,如果所述数据元素是字符串类型,则该数据元素使用定长的数据缓冲区来存放字符串;或者该数据元素使用该数据缓冲区的指针指向一可变长的数据缓冲区,并结合数据长度字段来存放字符串。
根据本发明的方法,所述内存数据库中包括至少一原子操作函数,该原子操作函数直接操作内存数据库中的内存数据结构;
在操作所述内存数据库时,直接调用该原子操作函数,来完成对内存数据库中内存数据结构的操作;或者
所述内存数据库中还包括一语法解析器,在操作所述内存数据库时,输入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***10所需的各种业务数据。
在本发明中,所述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-Agent 1612和内存数据库1613协同工作,其中:
EPG应用服务器131和内存数据库1311协同工作,包括如下步骤:
A1)EPG应用服务器131启动的同时,将内存数据库1311连带启动,内存数据库1311从业务数据库18中获取本EPG应用服务器131所需的全量业务数据,包括各种基本配置数据、截止到本次EPG应用服务器131启动、业务数据库18中所有和该EPG应用服务器131相关的数据,称为全量同步,并将该全量业务数据载入到内存数据库1311自身的内存数据结构。所述业务数据库18优选采用数据库服务器实现。
B1)IPTV***10中其他子***的处理,更新了业务数据库18中的业务数据后,将更新业务数据库18的内容同步表(synctable)中的更新时间戳。例如,图1所示的内容管理***15负责IPTV***10的内容管理,包括:栏目管理、频道管理、节目源管理、内容管理、用户管理等。内容管理***15进行业务处理之后,就会对业务数据库18进行增加、删除、更新等操作。同时,内容管理***15更新业务数据库的synctable表中的更新时间戳。
C1)内存数据库1311定时扫描业务数据库18的synctable表中的更新时间戳,将其与最后一次成功同步数据的本地时间戳相比较,获取业务数据库18中的增量业务数据称为一次增量同步;如果,本次增量同步成功,则内存数据库1311将本地变量的本地时间戳的值更新为业务数据库18上synctable表中更新时间戳的值。
D1)当有用户终端向EPG应用服务器131发送服务请求时,EPG应用服务器131首先向本地内存数据库1311获取本次服务的用户服务数据,包括用户请求的栏目、节目、频道、内容和用户属性等信息;如果相关的用户服务数据本地不存在,则内存数据库1311向业务数据库18发送获取本次服务的用户服务数据请求,并将获取的用户服务数据返回给EPG应用服务器131。
内容分发节点160中CDN-Agent 1612和内存数据库1613协同工作,包括如下步骤:
A2)CDN-Agent 1612启动时,连带启动内存数据库1613,该内存数据库1613从业务数据库18获取本内容分发节点160所需要的全量业务数据,包括内容数据、节点基本配置数据、直播频道的录制任务表、生成老化内容表,以及本节点工作所需要其它业务数据等。
B2)在整个DSS-CDN***16运行过程中,会涉及到各种业务操作,比如:内容注入、内容调度、内容老化、频道录制、数据配置等操作,都会导致本内容分发节点160数据的更新;CDN-Manager 1611更新业务数据库18;待CDN-Manager 1611更新业务数据库18成功后,CDN-Manager 1611向CDN-Agent 1612发送相应的业务消息;CDN-Agent 1612首先处理收到的业务消息,然后更新本地内存数据库1613;如果失败,则内存数据库1613和业务数据库18级联回滚。
图3和图4示出本发明中内存数据库1311和/或1613的两种存储结构,所述内存数据库1311和/或1613中设有一全局的哈希表(Hash Table),也称为数据库哈希表。将该内存数据库1311和/或1613中的每张表的定义以及该表的数据一起作为表元素,并将该表元素***到该全局的哈希表。
表元素主要支持两种数据类型:整型(int)和字符串(string)。整型和字符串类型的字段都可以有精度长度,比如int(4)和string(255)。表元素具体包括表头、字段元素、数据元素,其中:
所述表头,包括有表名(TableName)、字段数目(ColumnNum)、表的数据记录数(RecordNum)和/或第一个字段的指针(next)等。
所述字段元素,包括有字段名、字段类型、字段精度长度、该字段的数据条数(Datacounter)、指向下一个字段的指针(next)和/或指向该字段第一个元素的指针(DataPointer)等。
所述数据元素,包括有数据缓冲区(Databuf)、数据缓冲区的指针和/或指向下一个数据元素的指针(DataPointer)等。
其中,如果数据元素是字符串类型,因为字符串本身是变长的,所以数据元素中可以使用一个定长的数据缓冲区来存放字符串,如图3所示。或者,该数据元素也可以使用该数据缓冲区的指针指向一可变长的数据缓冲区,如图4所示,并且该指针结合数据长度(DataLen)字段,来存放一字符串字段。
内存数据库的操作技术,可根据不同的存储结构,实现若干不同的原子操作函数,这些原子操作函数直接操作内存数据库1311和/或1613中的内存数据结构,也就是存储结构实体。在操作所述内存数据库1311和/或1613时,可以直接调用该原子操作函数,来完成对内存数据库1311和/或1613中内存数据结构的操作。或者,所述内存数据库1311和/或1613中还提供一语法解析器,在操作所述内存数据库时,输入SQL(Structured Query Language,结构化查询语言)语句,该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,以继续等待下一个定时扫描处理。所述步骤S707~S709由内存数据库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-Manager 1611处理业务消息后,存取业务数据库18,也就是更新该业务数据库18。
步骤S808,CDN-Manager 1611向节点控制器(CDN-Agent)1612发送业务消息。
步骤S809,节点控制器1612处理业务消息后,更新本地的内存数据库1613的内容。
综上所述,本发明通过将内存数据库部署到每个内容分发节点和/或EPG应用服务器,在内容分发节点和/或EPG应用服务器启动时,内存数据库从业务数据库中获取所需的全量业务数据,并且在业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。由于内存数据库的处理能力大大优于普通的数据库,因此本发明提高了IPTV***中EPG***和每个内容分发节点的处理能力和响应速度。再者,本发明不需在每个内容分发节点部署业务数据库,从而降低了每个内容分发节点的成本,进而降低了整个IPTV***的成本。另外,本发明提高了EPG***的处理能力和性能,使用户在获取媒体服务时,能够得到更流畅的体验。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种IPTV***中内存数据库的实现方法,该IPTV***至少包括若干内容分发节点、EPG应用服务器以及业务数据库,其特征在于,所述方法包括步骤有:
A、在每个内容分发节点和/或EPG应用服务器中部署有内存数据库;
B、当所述内容分发节点和/或EPG应用服务器启动时,同时将其本地的内存数据库启动,并且所述内存数据库从该业务数据库中获取本内容分发节点和/或EPG应用服务器所需的全量业务数据;
C、当所述业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据;
其中,所述EPG应用服务器与内存数据库协同工作时,全量业务数据包括各种基本配置数据、截止到本次EPG应用服务器启动、业务数据库中所有和该EPG应用服务器相关的数据;所述内容分发节点与内存数据库协同工作时,全量业务数据,包括内容数据、节点基本配置数据、直播频道的录制任务表、生成老化内容表,以及本节点工作所需要其它业务数据。
2.根据权利要求1所述的方法,其特征在于,所述EPG应用服务器与内存数据库协同工作中,所述步骤B进一步包括:
B11、所述EPG应用服务器启动时,以函数调用方式启动本地内存数据库;
B12、所述内存数据库向业务数据库发送获取该EPG应用服务器所需的全量业务数据请求,所述业务数据库向内存数据库返回该全量业务数据;
B13、所述内存数据库将所获得的全量业务数据导入到内存数据结构;
所述步骤C进一步包括:
C11、当所述内存数据库判断出该业务数据库中的业务数据发生更新,向所述业务数据库发送获取增量业务数据请求;
C12、所述业务数据库将该增量业务数据传输给该内存数据库;
C13、所述内存数据库将该增量业务数据导入到内存数据结构。
3.根据权利要求2所述的方法,其特征在于,所述步骤C11进一步包括:
C111、所述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.一种实现如权利要求1~9任一项所述方法的IPTV***,该IPTV***至少包括若干内容分发节点、EPG应用服务器以及业务数据库,其特征在于,所述每个内容分发节点和/或EPG应用服务器中部署有内存数据库;所述内容分发节点和/或EPG应用服务器启动时,同时将其本地的内存数据库启动,并且所述内存数据库从该业务数据库中获取本内容分发节点和/或EPG应用服务器所需的全量业务数据;所述业务数据库中的业务数据发生更新时,所述内存数据库从该业务数据库中获取增量业务数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710178891XA CN101242356B (zh) | 2007-12-06 | 2007-12-06 | Iptv***中内存数据库的实现方法及iptv*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710178891XA CN101242356B (zh) | 2007-12-06 | 2007-12-06 | Iptv***中内存数据库的实现方法及iptv*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101242356A CN101242356A (zh) | 2008-08-13 |
CN101242356B true CN101242356B (zh) | 2010-08-18 |
Family
ID=39933572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710178891XA Expired - Fee Related CN101242356B (zh) | 2007-12-06 | 2007-12-06 | Iptv***中内存数据库的实现方法及iptv*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101242356B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101959089B (zh) * | 2009-07-17 | 2013-06-12 | 中兴通讯股份有限公司 | 一种集中管理网元数据的方法及网元设备 |
CN101635728B (zh) * | 2009-09-02 | 2012-09-26 | 中兴通讯股份有限公司 | 内容分发网络中数据同步的方法及*** |
CN101867613B (zh) * | 2010-06-08 | 2014-12-17 | 中兴通讯股份有限公司 | 一种内容分发cdn子***以及数据同步的方法 |
CN102480505A (zh) * | 2010-11-30 | 2012-05-30 | 金蝶软件(中国)有限公司 | 数据增量传输方法及装置 |
CN102739704A (zh) * | 2011-04-02 | 2012-10-17 | 中兴通讯股份有限公司 | 一种对等网络中数据迁移的方法及*** |
CN102231749B (zh) * | 2011-08-12 | 2013-12-11 | 乐视网信息技术(北京)股份有限公司 | 一种利用cdn网络传输直播流的***和方法 |
CN102279885A (zh) * | 2011-08-16 | 2011-12-14 | 中兴通讯股份有限公司 | 内存数据库对数据的操作方法及装置 |
CN102495834A (zh) * | 2011-10-18 | 2012-06-13 | 成都康赛电子科大信息技术有限责任公司 | 基于内存映像的增量数据清洗方法 |
CN102685552B (zh) * | 2012-05-08 | 2015-01-21 | 华为技术有限公司 | 一种epg内容元数据管理方法、服务器及*** |
CN102724548B (zh) * | 2012-05-30 | 2017-10-10 | 中兴通讯股份有限公司 | 一种iptv业务控制单元、应用方法及iptv*** |
CN102710665A (zh) * | 2012-06-27 | 2012-10-03 | 深圳中兴网信科技有限公司 | 移动终端、服务器和移动终端的数据同步方法 |
CN103701884A (zh) * | 2013-12-18 | 2014-04-02 | 乐视网信息技术(北京)股份有限公司 | 一种数据获取方法、服务器及*** |
CN105025376B (zh) * | 2014-04-30 | 2019-11-08 | 南京中兴新软件有限责任公司 | 一种实现电子节目单展示的方法及装置 |
CN105338367A (zh) * | 2014-08-06 | 2016-02-17 | 中兴通讯股份有限公司 | 节目内容的查询处理方法及装置 |
CN105573732B (zh) * | 2014-10-14 | 2019-06-11 | 阿里巴巴集团控股有限公司 | 一种基于分布式***的业务对象的处理方法和装置 |
CN104268288B (zh) * | 2014-10-21 | 2018-06-19 | 福州瑞芯微电子股份有限公司 | 一种基于ntfs的媒体库扫描方法及装置 |
CN105260475B (zh) * | 2015-10-30 | 2019-08-16 | 努比亚技术有限公司 | 一种数据查找方法、数据存储方法及相应装置 |
CN105912552A (zh) * | 2015-12-23 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 网页视频抓取的方法及网页视频抓取的终端设备 |
CN107465944A (zh) * | 2017-08-31 | 2017-12-12 | 江苏省公用信息有限公司 | 一种iptv内容管理的灰度发布***及方法 |
CN112995723B (zh) * | 2019-12-12 | 2023-09-22 | 中兴通讯股份有限公司 | 一种epg数据管理方法及epg服务器 |
CN112911370A (zh) * | 2021-01-21 | 2021-06-04 | 海信视像科技股份有限公司 | 一种录制文件和录制列表展示方法及显示设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1187695C (zh) * | 2001-03-20 | 2005-02-02 | 宏碁股份有限公司 | 服务器的数据快取***及其数据更新方法 |
CN1808394A (zh) * | 2006-02-20 | 2006-07-26 | 南京联创科技股份有限公司 | 基于内存数据库的软双机方法 |
WO2007067176A2 (en) * | 2005-12-08 | 2007-06-14 | Nortel Networks Limited | Session initiation protocol (sip) multicast management method |
CN101055591A (zh) * | 2007-05-25 | 2007-10-17 | 中兴通讯股份有限公司 | 一种全内存数据库的数据存取方法 |
-
2007
- 2007-12-06 CN CN200710178891XA patent/CN101242356B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1187695C (zh) * | 2001-03-20 | 2005-02-02 | 宏碁股份有限公司 | 服务器的数据快取***及其数据更新方法 |
WO2007067176A2 (en) * | 2005-12-08 | 2007-06-14 | Nortel Networks Limited | Session initiation protocol (sip) multicast management method |
CN1808394A (zh) * | 2006-02-20 | 2006-07-26 | 南京联创科技股份有限公司 | 基于内存数据库的软双机方法 |
CN101055591A (zh) * | 2007-05-25 | 2007-10-17 | 中兴通讯股份有限公司 | 一种全内存数据库的数据存取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101242356A (zh) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101242356B (zh) | Iptv***中内存数据库的实现方法及iptv*** | |
US11350139B2 (en) | Video live broadcast method and apparatus | |
US10652609B2 (en) | Reception apparatus, reception method, program, and information processing system | |
CN103365865B (zh) | 数据存储方法、数据下载方法及其装置 | |
CN101360221B (zh) | 网络电视业务适配方法、服务器及*** | |
CN101867613B (zh) | 一种内容分发cdn子***以及数据同步的方法 | |
CN110555015B (zh) | 数据库实体管理方法、装置、电子设备及存储介质 | |
CN104539977A (zh) | 直播预览方法及装置 | |
JP2007074724A (ja) | デジタル放送ネットワークでサーバとクライアントとの間のepg情報を同期化させるための方法及び装置 | |
CN101789950A (zh) | 三屏融合中基于交互式网络电视的实现方法及*** | |
CN104079983A (zh) | 一种hls节目录制和服务的***和方法 | |
CN101489103A (zh) | 一种录制节目点播的录制方法及归档方法 | |
CN102480520A (zh) | 一种基于差量元数据描述性结构的媒体数据同步方法 | |
CN101378397A (zh) | 发送***、装置和方法、接收装置和方法及记录介质 | |
CN109936751A (zh) | 视频录制方法、装置、设备、计算机可读存储介质和*** | |
CN101212664B (zh) | 一种节目剪辑、分发与点播方法 | |
CN103024477A (zh) | Iptv***广告的实现方法、设备及*** | |
CN102172035A (zh) | 视频专题制作方法和*** | |
CN101808218A (zh) | 电子节目单内容的获取和更新方法、装置和*** | |
CN101742247A (zh) | 交互式网络电视业务鉴权的方法、***及epg服务器 | |
CN102006156B (zh) | 配置数据的板间同步方法及*** | |
CN102158345B (zh) | 一种数据管理方法、装置和*** | |
CN111225248B (zh) | 点播内容的管理方法及内容分发网络点播服务器 | |
CN103686247A (zh) | 基于同/异步的视频分发方法和*** | |
CN103051929A (zh) | 一种直播回放内容的管理方法、***及内容管理*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100818 Termination date: 20141206 |
|
EXPY | Termination of patent right or utility model |