在有线电视单向机顶盒中进行全文检索的系统的制作方法

文档序号:6559102阅读:176来源:国知局

专利名称::在有线电视单向机顶盒中进行全文检索的系统的制作方法
技术领域
:本发明属于数字信息网络
技术领域
,特别涉及到一种在有线电视单向机顶盒中进行全文检索的系统及其设计方法。背景技述由于目前中国的数字电视平台大多是单向的,即信号信息只能从头端搜索服务器到用户机顶盒,而用户的使用信息无法传递回服务器端。同时机顶盒处理能力有限,内存也很小,要在这样的环境下提供搜索功能,只能要求头端搜索服务器中产生的数据文件和索引文件比较小,以便能在用户能接受的时间段内让信息到达机顶盒;机顶盒内的检索系统是短小精悍的,能在短时间内处理完接收的信息并显示给用户。所谓全文检索,是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的一种检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统。一般来说,全文检索需要具备建立索引和提供查询的基本功能。有线电视单向机顶盒全文检索系统的目的是在单向的数字电视平台上提供搜索功能,就像互联网上google提供的搜索功能一样,这样用户手持遥控器就可以获得搜索功能。目前这样的系统在国内单向数字电视平台搜索功能上还没有见到。
发明内容本发明需要解决的技术问题是,针对已有的数字电视平台中信息传递只能是单向的。信息只能从头端搜索服务器到用户机顶盒,而用户信息和意图却无法传回服务器,机顶盒处理信息范围也很小,针对这些不足之处,就需要增加数字电视搜索功能,以克服已有技术之不足。本发明的目的在于提供一种在有线电视单向机顶盒中进行全文检索的系统。本发明的这一目的,是依靠以下技术方案来实现的,一种在有线电视单向机顶盒中进行全文检索的系统,其特征在于,该全文检索系统主要包括两大部分头端搜索服务器端的检索服务器以及搜索客户端应用程序。检索服务器包含数据录入模块和索引管理模块两部分,数据录入模块主要负责数据表定义、录入、实际数据的增删修改;索引管理模块负责定义索引,生成索引文件以及删除索引。所述索引是建立在前面定义的数据表字段上的,一个索引只能建立在一个字段上,每一个索引对应一个索引文件,本系统采用了嵌套索引方法来建立索引,即双重地进行索引,这将极大增强搜索过程。所述搜索客户端应用程序包括查询功能模块,负责处理用户输入,查询处理和显示结果;在一次检索过程中,负责搜索客户端应用程序需要接收索引文件和数据文件两大类数据。关于本方案中提到的数据录入模块,它是建立索引、查询程序的基础。下面将分两小部分进行说明。A.数据表格式定义在最终用户录入的信息中,我们将这些数据以二维表的形式(二进制)写入头端搜索服务器的文件中。在程序设计方面可以规定五种字段类型。数据表除了具备基本的数据库字段属性外,还有一个属性是否是关键词,这个属性在一张数据表中有且只有一列的属性“是否是关键词”为真,而且在这样的列上不能建立索引。五种字段类型如下·文字格式(如text)·数字格式(如number)·日期(如date)·时间戳(如timestamp)·文件格式其中日期是不带时分秒的,时间戳带时分秒。文件格式其本质是数字格式,存储在该字段的内容是0或1。设置此字段类型的目的是为了让程序能够在读取到这种字段类型后,根据字段内容组织好多媒体文件所在的路径。这样可以在后续截获的数据包中准确定位数据文件(如图片、小视频数据)。例如,tbl表中某个文件格式类型字段PIC1值为1,那么可以确定在未来的数据包中寻找的图片定位为tbl_PIC1\ID.gif对数据表格式定义后,数据的录入可以开发为录入和导入等多种方式。最终数据的存储是以二进制格式写入头端搜索服务器的文件系统中。B.数据表描述信息定义为了使机顶盒查询程序能够知道服务器端建立的索引文件是针对原始数据中的哪一个字段建立的,特意设计了这个表信息的描述文件。下面是用xml文件格式进行描述的表信息内容,在实现过程中可以考虑采用其他信息描述方式。这些信息定义了数据表的格式,各个字段的类型,以及建立在各个字段上的索引文件名称,索引的列名称等。该信息可以作为一个头文件,附在索引文件的开始部分。在数据向下传播的一个频点,读取到索引信息的同时获得这些表数据描述信息。这样的打包方式有待进一步讨论,这里只提供一个思路供参考。关于本方案中提到的索引管理模块,所述的“索引”,在通常比较厚的书籍后面常常附关键词索引表(比如北京12,34页,上海3,77页……),它能够帮助读者比较快地找到相关内容的页码。而数据库索引能够大大提高查询的速度原理也是一样,想像一下通过书后面的索引查找的速度要比一页一页地翻内容高多少倍……而索引之所以效率高,另外一个原因是它是排好序的。所以建立个高效检索系统的关键是建立一个类似于科技索引一样的反向索引机制,将数据源(比如多篇文章)排序顺序存储的同时,有另外一个排好序的关键词列表,用于存储关键词==>文章映射关系,利用这样的映射关系索引[关键词==>出现关键词的文章编号,出现次数(甚至包括位置起始偏移量,结束偏移量),出现频率],检索过程就是把模糊查询变成多个可以利用索引的精确查询的逻辑组合的过程。从而大大提高了多关键词查询的效率。索引管理主要包括定义索引、建立索引和删除索引。定义索引是需要为哪张表上的哪个字段建立索引。建立索引是扫描数据表字段内容,统计关键词、出现频率以及出现次数,然后将统计结果记入文件中。删除索引是取消索引定义,删除对应的索引文件。对于所有定义的索引,在数据库库中有一张专门的索引信息表(sys_index)用来存储所有的索引信息。索引信息表定义如下索引是建立在数据表的字段上的。目前只提供单字段索引,不支持组合索引,也就是索引只能建立在一个字段上,不能建立在多个字段基础上。个索引对应一个索引文件索引主要有两大类型文本和数字。对于日期和时间类型的,先将其转换成数字类型,如换算为毫秒单位的数值,然后按照数字类型来处理。数据库字段类型与索引类型对应关系如下表所示文本类型的索引文件由三部分组成,分别是文件头信息、索引文件再索引信息、数据信息。数字型的索引文件由文件头信息和数据信息两部分组成。文件头信息主要包括文件头的开始位置和结束位置、再索引信息的开始位置和结束位置、数据内容的开始位置和结束位置、关键词总数。再索引信息主要是针对文本类型的索引文件来说的,记录每大类在文件中的开始位置和终止位置。按照关键字的第一个汉字汉语拼音首字母来分类,共有26大类,按照a到z的顺序排列。在将来的查询过程中,首先在文件头信息找出再索引信息,获取该大类所在数据的起止位置,这样缩小了搜索范围。数据信息是由多个三元组组成。三元组形式为关键词、出现次数、出现位置[数据库表纪录在数据库文件中出现的开始位置和结束位置,…]。对于文本类型的,关键词按照汉语拼音字母或者字母从a到z来排列;对于数字类型的,不需要对它进行分词处理,每个不同的值都作为一个关键字,如1,1.1都是关键字。三元组中的出现位置的顺序严格按照数据文件中记录出现的先后排列。文本类型索引文件形式如下系统中提供了两种索引文件,相应有两种索引建立过程。分别如下1.不需要分词前提是数据表中提供了纪录的关键词。索引建立程序认为提供的关键词就是文本分词的结果,按照字母顺序或者汉语拼音首字符顺序将每个关键词三元组存放进索引文件中。2.需要分词主要步骤是(1)利用分词程序将被索引字段中的实际值切分为一个个关键词,存到索引文件中。(2)针对每个关键词,记录数据记录中关键词出现的情况。(3)根据(2)的结果,在索引文件中建立索引关系。(4)针对每个关键词建立索引,并按照数据记录在原数据文件中的出现位置排序,以备用户查询。索引建立过程中最重要的,也是最麻烦的就是分词,尤其中文分词。所谓中文分词,是指把中文的汉字序列切分成有意义的词,因为英文是以单词为单位的,单词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。分词程序对于实际值的处理是首先根据分割符号(比如标点符号,空格,无效词地的得等)将实际值分开,然后看看是否有重复的字符串,如果有,就抛弃多余的,只保留一个,接着判断是否有英文或者数字,如果有的话,把英文或者数字当作一个整体保留并把前后的中文切开,最后采用二元分词算法对分割的中文进行再次分割,最后得到的就是关键字。所谓二元分词算法,即任意相邻的两个汉字都作为一个关键词。这种算法的优点是简易且不会遗漏可能的关键词,缺点是产生了大量的不是词汇的“词汇”。考虑到机顶盒处理能力以及缓存大小,二元分词法是比较合理的选择。例如对下面这句话进行分词搜索引擎的发展历史证明,没有做不到只有想不到,让人们更方便准确的获取信息是搜索引擎的使命。分词结果[搜索][索引][引擎][擎的][的发][发展][展历][历史][史证][证明][没有][有做][做不][不到][到只][只有][有想][想不][不到][让人][人们][们更][更方][方便][便准][准确][确的][的获][获取][取信][信息][息是][是搜][搜索][索引][引擎][擎的][的使][使命]关于客户端查询查询模块主要根据从服务器端获得的索引文件、数据表描述信息,对数据文件进行筛选。处理的主要步骤是1.接收带关键字的索引文件数据包,对用户输入的字符串分词解析,得到关键字;2.如果需要,接收二分法生成的索引文件数据包,然后在索引文件中找到满足条件的数据纪录。如果是多关键字,那先分别在各自对应的索引文件中搜索,然后合并结果;如果关键字中有日期类型的,那么需要先将日期转换成毫秒级的数字类型在进行查询;3.接收不带文件类型字段内容的数据文件数据包,显示文本信息;4.如果需要显示多媒体,接收多媒体数据包,显示多媒体信息。针对上面的第一步和第二步,都有两种可能涉及到的处理方式1.根据从服务器获得的带关键字的索引文件中获得的关键词库解析机顶盒用户输入的查询项,在关键字索引中进行定位;如果筛选结果数量达到某一预定值就结束查询;否则进入第二种查询方式。2.利用二分法对机顶盒用户输入的查询项进行分词解析,然后在二分法建立的索引中定位整条记录信息在数据文件中的偏移量。以上所述两种查询方式具有如下相似的查询步骤·拆分分词·根据定位算法定位记录下面根据这2个步骤分别对两种查询进行分析。a带关键字字库文件的查询方式①拆分分词这种带关键词词库的分词拆分方法也称作词表切分。有两种比较典型的算法向右最大匹配方法和向左最大匹配方法。例子这里举个例子来说明“北京天安门”按最大向右匹配方法是如何按照中文的语言习惯进行切分的。以“北”作为基础加一个汉字成为“北京”,查找字库中是否有这个词组。如果有则继续向右逐一加字进行查找;没有则当前最长的词组作为一个查询的单元。词表切分固然查询效果非常好,这也我们将这种拆分查询方式列为首选的原因。它的索引效率高,一般为原文大小的30%左右。所以在查询中命中率也是很高,垃圾数据较少。但它也有很多不利,词表维护成本非常高,语言需要分别维护。还需要包括词频统计等内容。由于在我们这套系统中,从头端搜索服务器索引的关键字信息是非常有限的。不会出现海量的关键字,所以我们建立的索引也是非常小的。如果能够首先根据这种方式查询出相关记录,是我们最期待的。结合上面所述的词表切分的优缺点,我们是权衡了效率和命中率的比例才进行了这样的设计。②根据定位算法定位记录在建立索引章节中已经描述,索引文件的头部分包含了一个以拼音顺序指定的哈希索引。前面拆分的每一个查询单元都可以根据首字的拼音进行定位,获得索引中的起止位置。然后进行顺序的匹配查找可以定位到关键字在数据文件中的起止位置。b二分法分词的查询方式①拆分分词这里的分词拆分方法和前面索引建立章节描述的拆分方法完全类似。②根据定位算法定位记录和关键词索引的读取方式类似。两种方法的读取索引方式大体相同,都是利用了索引头部分的拼音索引,再利用二级索引。先利用拼音索引找出关键字范围,再利用查询的单元进行比较即可查找出记录在数据文件中的起止位置。这样完成了索引的搜索工作。最后可以根据表描述信息建立针对数据表的数据结构来存储从数据文件中提取的数据。本发明的有益效果是,解决了在单向数字电视平台中进行全文检索的问题,信息传递不再是单向的,用户手持遥控器就可以获得搜索功能。图1为系统总体设计2为检索服务器流程3为搜索客户端应用流程4为索引建立流程5为客户端搜索流程6a为实施例1客户查询界面图,图6b为实施例1结果页面7a为实施例2用户搜索最终界面图,图7b为该例结果页面图具体实施例方式参照图1表示系统总体设计图,图中表示该全文检索系统包含检索服务器和搜索客户端应用程序两大部分。参考图2图3分别表示检索服务器流程图及搜索客户端应用流程图,参照图4图5,分别表示索引建立流程图及客户端搜索流程图,给出了进行索引建立和壳户端搜索的具体操作步骤和程序,最后以“保存文件”而结束。参照图6图7,分别表示两个实施例的结果页面图。以下具体说明。实施例1阳光政务搜索(全文本文字搜索)阳光政务是政府与群众老百姓交流的全新平台,它提供最新最及时的权威政务信息。电视用户通过阳光政务可以查看国家颁布的各行业法规,机关组织简介、热线电话和政府各项公示通告,及时了解政府工作动态和方针指示,大幅度拉近了政府和百姓的距离,真正做到政务公开。这些政务的信息量是相当大的,有成万上亿条。用户要在这成万上亿条政务信息中找到他想要的信息是相当困难的。一般的处理方式是用户一条一条翻看这些信息,直至找到他需要的。用户有可能花费了三四个小时在政务信息中查找,而浏览有用的信息只花了三四分钟,这对用户的时间精力是极大的浪费。阳光政务搜索功能让这一切变得非常简单。电视用户进入阳光政务搜索功能,输入搜索关键词后,阳光政务功能在所有的政务信息中查找满足条件的,然后显示出找到的政务信息,这样用户只需要花费三四分钟就可找到他需要的法规或公告。数据录入和索引管理A)数据表格式定义如下B)数据表以及索引描述信息这里以xml格式描述数据表的信息。这些内容附在后面建立的索引文件内容的前部,作为头信息一起由搜索服务器发向客户端。<xmlversion="1.0"encoding="gb2312"><metainfo><table-name>tbl_org_info</table-name><columns><columntype="number"primaryKey="true">ID</column><columntype="text">TITLE</column><columntype="text"is_keyword="true">CONTENT</column></columns><indexes><indexname="index_tbl_org_info_content"><column>CONTENT</column></index></indexes></metainfo>客户端查询由于政务信息不像商家信息有很多固定的关键字,因此我们没有在搜索服务器发送客户自定义的关键字字库。搜索程序将跳过关键字字库查询模式,直接进入二分法的查询方式。客户查询界面设计表示在说明书附图6a中。下面程序将根据用户输入的查询条件(在这里是政务信息的内容)进行二分法分词。比如用户输入“取暖费”,那么程序将查询关键字拆分成两个查询最小单元,即“取暖”,“暖费”。在读取了索引文件的头部信息后,可以得知数据表的索引是建立在CONTENT字段上的。下面可以根据索引文件开始处的拼音索引寻找“取暖”“暖费”所对应的起止位置(在索引数据文件中的定位)。结果页面如附图6所示。实施例2打折商品搜索(文字加打折数字)现在商场的竞争是非常激烈的,各个商家不断搞各种打折来吸引消费者的眼球,获得更多的客流量,更高的收益。但是这些打折信息怎样快捷高效让众多的消费者知道呢?消费者如何在种类繁多的打折信息中快速获知他需要的商品信息的打折信息呢?打折商品搜索功能可以达到这些要求。数据录入和索引管理A)数据表格式定义如下B)数据表以及索引描述信息<xmlversion="1.0"encoding="gb2312"><metainfo><table-name>tbl_discount</table-name><columns><columntype="number"primaryKey="true">ID</column><columntype="text">NAME</column><columntype="text">TYPE</column><columntype="number">DISCOUNT</column><columntype="PICTURE">ICON_1</column></columns><indexes><indexname="tbl_discount_NAME"><column>NAME</column></index><indexname="tbl_discount_DISCOUNT"><column>DISCOUNT</column></index></indexes></metainfo>客户端查询打折商品的查询中,会在搜索客户端首先收到一个商家提供的关键字字库。查询会首先在这个字库组成的索引文件中进行查找,如果查询到的结果集数量已经达到10条,则结束查询。未达到10条将继续进行二分法查询。二分法的查询方式和上面阳光政务的完全一样。查询程序会根据信息头获知索引是分别建立在NAME和DISCOUNT两列上,查询会分别在两个索引文件中定位所需数据在数据中的起止位置。用户搜索最终界面如说明书附图7a所示。查询列表页面和详细信息页面见附图7b。权利要求1.一种在有线电视单向机顶盒中进行全文检索的系统,其特征在于,该全文检索系统主要包括两大部分头端搜索服务器端的检索服务器以及搜索客户端应用程序。2.根据权利要求1所述的在有线电视单向机顶盒中进行全文检索的系统,其特征在于,检索服务器包含数据录入模块和索引管理模块两部分,数据录入模块主要负责数据表定义、录入、实际数据的增删修改;索引管理模块负责定义索引、生成索引文件以及删除索引。3.根据权利要求1所述的在有线电视单向机顶盒中进行全文检索的系统,其特征在于,所述索引是建立在前面定义的数据表字段上的,一个索引只能建立在一个字段上,每一个索引对应一个索引文件,本系统采用了嵌套索引方法来建立索引。4.根据权利要求1所述的在有线电视单向机顶盒中进行全文检索的系统,其特征在于,所述搜索客户端应用程序包括查询功能模块,负责处理用户输入,查询处理和显示结果;在一次检索过程中,负责搜索客户端应用程序需要接收索引文件和数据文件两大类数据。全文摘要一种在有线电视单向机顶盒中进行全文检索的系统,属于数字信息网络
技术领域
,该全文检索系统主要包括两大部分头端搜索服务器端的检索服务器以及搜索客户端应用程序。本发明解决了在单向数字电视平台中进行全文检索的问题,信息传递不再是单向的,用户手持遥控器就可以获得搜索功能。文档编号G06F17/30GK1933547SQ200610087390公开日2007年3月21日申请日期2006年6月13日优先权日2006年6月13日发明者陈风珍,冯志雄,许立新,吴波申请人:北京影立驰技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1