一种用于数据库信息检索的中间层系统及信息检索方法技术方案

技术编号:7301125 阅读:258 留言:0更新日期:2012-04-27 03:00
本发明专利技术涉及一种用于数据库信息检索的中间层系统及信息检索方法,包括:用于接收应用层发出的检索请求的API应用服务器群组,API应用服务器群组从索引服务器群获取所检索视频的ID,通过视频的ID从在线数据库获取视频,离线数据库将在线数据库的信息同步后,供索引创建服务器创建索引并存储到索引服务器群中。本发明专利技术所述的用于数据库信息检索的中间层系统及信息检索方法,中间层系统能接收基于http协议的检索请求,经过语法分析引擎解析后,能精确获取数据,满足大数据量且任意字段组合的查寻,数据库查寻时间短,数据层与应用层分离,数据层和应用层的开发互不影响。

【技术实现步骤摘要】

本专利技术涉及在线数据库检索或在线搜索引擎
,具体说是。所述数据库尤指视频网站用于存储在线视频信息的数据库。
技术介绍
现有的视频网站都会为用户提供视频信息检索服务,视频网站将视频信息分类后存储在数据库中,视频网站会使用很多的数据库及数据表来存储数据,一个数据库包括若干个数据表,具体的视频信息都存储在数据表中。传统的视频信息检索方式是应用层需要跟据业务需求,到不同的数据库和不同的数据表去取数据,这些数据表的查寻一般无法达到使用任何查寻都有很高的效率,并且,这些数据表可能是分散存储在不同的数据库中的, 应用层使用起来非常不方便。现有的视频信息检索服务采用的是目录式分类法,目录式分类法只能按照一个特定的维度进行分类,比如树形分类,再比如我们的文件目录结构等。但生活中往往一个对象,可以有多种属性,比如图书,可以有作者、年代、出版商、类形等。而用户可能从各种不同的维度出发,查找感兴趣的内容。现有的视频信息检索服务并不一定使用的是目录式分类法,目录式分类法只是常用分类法的一种,目前传统开发方式也有很多采用多面筛选法或叫面分类法,这种方法并非本系统独创,面分类法是由冒号分类法演变而来,冒号分类法的专利技术人应该是印度人 S. R. Ranganathan0但传统实现方式基本上是跟据业务需求来定制数据库,当业务逻辑发生变化时数据库结构,实现代码等一系列内容都要跟着修改,基本上没有灵活性可言。本系统的一个方面就是要解决业务逻辑灵活性问题,业务层无论发生何种变化,都不会对数据结构和代码构成同步大量修改。以图书为例使用目录式分类法进行检索,就像我们在图书馆找一本关于计算机编程的书,我们先要知道,找的书是属于什么类的,如文史类、经济类还是计算机类图书,因为是编程类的,所以找到计算机类图书的专区后,再找编程类,然后可能更具体的,再找PHP 编程,还是JAVA编程等等,一级级找下去。还是以图书为例,假设我现在只知道该书的作者,那么我可能直接使用作者来进行查找,一下能列出该作者所著的所有著作,这就好像在图书馆里,提供了一某作者的专区。比如小说《达芬奇密码》,作者丹布朗,在小说类的书架上有该书,而图书馆为了促销,专门设置的丹布朗专区,在这里我可以找到所有丹布朗的著作。但在现实生活中,由于作者有千千万,不可能为每个作者都设立专区,而且还会有年代,出版社等内容,同时还会有组合情况发生,如清华出版社1990-2000年发行的所有图书。现实生活中,这种分类方式几乎是不可能实现的。使用传统的数据库查寻技术,在数据量较小的时候,比如一张表几百条记录,也是可实现不同维度(数据库里一般一个维度就是一个字段)的快速查找,但仅局限在一张表内的查找,如果一个资源是由很多表组成,则需要查寻多次,比如视频信息,视频的标题,简介,创建时间等放在一张表,而播放数,评论数等放在另一张表,那就要查寻两次。而一个资源,如我们的视频信息,需要几十张表存储不同的内容。这种查寻不但复杂,而且数据量只有在很小的时候才能有很高的查寻效率,显然,传统数据库查寻无法满足大数据量且任意字段组合的查寻。本专利技术中所说的维度,是指思维的维度,比如一个视频,可以从分类的维度去找 (如电影、电视剧、综艺),也可以从发行的年代的维度去找。属性则可以理解为每个属性是一个思维的维度的技术表现形式。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供,中间层系统能接收基于http协议的检索请求,经过语法分析引擎解析后,能精确获取数据,满足大数据量且任意字段组合的查寻,数据库查寻时间短, 数据层与应用层分离,数据层和应用层的开发互不影响。为达到以上目的,本专利技术采取的技术方案是一种用于数据库信息检索的中间层系统,其特征在于,包括用于接收应用层发出的检索请求的API应用服务器群组,所述应用层发出的检索请求为一个符合URL规范的http地址,该http地址中包括用于在数据库中进行检索的相应的参数,用于接收API应用服务器群组转发的检索请求的索引服务器群Sphinx Server, 所述索引服务器群包括若干节点服务器Node Indexer Server,用于接收API应用服务器群组转发的检索请求的在线数据库服务器群,所述在线数据库服务器群包括若干在线数据库群组,离线数据库服务器群,通过数据交互通道与在线数据库服务器群进行数据同步, 所述离线数据库服务器群包括若干离线数据库群组,索引创建服务器,索引创建服务器跟据索引配置文件中指定的离线数据库群组得到数据来创建索引,索引创建服务器创建索引的过程,就是生成索引文件的过程,索引文件存储在索引创建服务器中,索引服务器群中的各节点服务器从索引创建服务器中获取最新的索引文件。在上述技术方案的基础上,所述API应用服务器群组包括若干APP服务器APP Server,每个APP Server中均设有服务软件,所述服务软件包括用来接收http请求的服务软件nginx,用来管理php运行进程的服务软件php fpm,用来解析php脚本的服务软件 php,服务软件用于完成接收请求和语法分析,此即语法分析引擎。在上述技术方案的基础上,索引文件会放在索引创建服务器上的FTP服务目录下,通过服务器上的定时任务执行程序定时生成一个新的索引文件,并以文本方式记录本次生成的索引文件的版本号,新的版本号是上一次生成的版本号加一;索引创建服务器同时安装了 FTP服务,节点服务器通过FTP客户端命令,访问到 FTP服务目录下的各个索引文件。在上述技术方案的基础上,节点服务器每次从索引创建服务器下载索引文件,也会在本地记录当前节点服务器中所使用的索引文件的版本号,节点服务器定时将本地当前节点服务器中所使用的索引文件的版本号与索引创建服务器上最新的索引文件的版本号对比,当小于时,则重新下载索引创建服务器上最新的索引文件。一种基于上述的用于数据库信息检索的中间层系统的信息检索方法,其特征在于,包括以下步骤步骤1,MySQL在线数据库和离线数据库的内容是一一对应的,有一个在线视频库,就会有一个离线视频库,通过MySQL的主从同步复制功能,将在线数据库实时同步复制到离线数据库当中;步骤2,MySQL离线数据库是专门供索引创建服务器使用的,索引创建服务器上安装sphinx的indexer程序,indexer程序会跟据对应的配置文件,生成索引,所述配置文件包括数据来源参数,数据来源参数指向MySQL离线数据库,sphinx的indexer程序定时生成索引文件;步骤3,API应用服务器装有ngiruuphp-fpm和php,nginx用于接收到http请求, php-fpm负责调用php脚本,而php本身是用来解析语法分析引擎的程序;当服务器接收到 http请求时,对http请求中的参数进行分析通过对q参数和ob参数进行分析,确定需要查寻哪些条件,将分析结果转换成sphinx可以识别的查寻条件,向索引服务器发送查寻请求,索引服务器跟据查寻条件,在索引中进行查寻,索引服务器将查寻后的文档ID返回给 API应用服务器;步骤4,API应用服务器得到文档ID后,通过分析http请求中的fd参数,确定需要返回哪些字段,然后利用刚刚得到的文档ID去MySQL数据库进行查寻需要返回的数据, 所述文档id在m本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于数据库信息检索的中间层系统,其特征在于,包括用于接收应用层发出的检索请求的API应用服务器群组,所述应用层发出的检索请求为一个符合URL规范的http地址,该http地址中包括用于在数据库中进行检索的相应的参数,用于接收API应用服务器群组转发的检索请求的索引服务器群Sphinx Server,所述索引服务器群包括若干节点服务器Node Indexer Server,用于接收API应用服务器群组转发的检索请求的在线数据库服务器群,所述在线数据库服务器群包括若干在线数据库群组,离线数据库服务器群,通过数据交互通道与在线数据库服务器群进行数据同步,所述离线数据库服务器群包括若干离线数据库群组,索引创建服务器,索引创建服务器跟据索引配置文件中指定的离线数据库群组得到数据来创建索引,索引创建服务器创建索引的过程,就是生成索引文件的过程,索引文件存储在索引创建服务器中,索引服务器群中的各节点服务器从索引创建服务器中获取最新的索引文件。2.如权利要求1所述的用于数据库信息检索的中间层系统,其特征在于所述API应用服务器群组包括若干APP服务器APP Server,每个APP krver中均设有服务软件,所述服务软件包括用来接收http请求的服务软件nginx,用来管理php运行进程的服务软件 phpfpm,用来解析php脚本的服务软件php,服务软件用于完成接收请求和语法分析,此即语法分析引擎。3.如权利要求1所述的用于数据库信息检索的中间层系统,其特征在于索引文件会放在索引创建服务器上的FTP服务目录下,通过服务器上的定时任务执行程序定时生成一个新的索引文件,并以文本方式记录本次生成的索引文件的版本号,新的版本号是上一次生成的版本号加一;索引创建服务器同时安装了 FTP服务,节点服务器通过FTP客户端命令,访问到FTP服务目录下的各个索引文件。4.如权利要求3所述的用于数据库信息检索...

【专利技术属性】
技术研发人员:周玉增邱丹张坡姚键潘柏宇卢述奇徐梦河
申请(专利权)人:合一网络技术北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术