一种搜索呈现软件设计方法及系统的制作方法

文档序号:6634326阅读:208来源:国知局
一种搜索呈现软件设计方法及系统的制作方法
【专利摘要】本发明提供了一种数据搜索呈现方法及系统,属于搜索引擎设计和软件体系领域。本方法包括:当用户进行游览或查询过程时,用户的请求经由应用转发给提供服务的搜索引擎,应用将搜索引擎返回的数据重新进行渲染并呈现结果给用户;当用户进行删除、更新或插入操作时,用户的请求经由应用转发相应操作给搜索引擎,搜索引擎完成相应操作。
【专利说明】一种搜索呈现软件设计方法及系统

【技术领域】
[0001]本发明属于搜索引擎设计和软件体系领域,具体涉及一种搜索呈现软件设计方法及系统。

【背景技术】
[0002]MVC (Model-View-Controler)设计模式是XeroxPARC在八十年代为编程语言Smal I talk-80发明的一种软件设计模式,至今已被广泛使用。其中,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。如今MVC被推荐为Oracle-Sun公司J2EE平台的设计模式,并且受到越来越多的使用ColdFus1n和PHP的开发者的欢迎。
[0003]但MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。并且每个系统都是从M到C再到V的一个整体开发,无法适应当前敏捷开发的需求。并且模型M的改变很多时候带来的是控制C和视图V的一同改变,甚至可以说是整个应用的彻底重构。
[0004]虽然国内外已经有众多的对外提供服务的搜索引擎商,但是其最多也只是向用户提供获取其搜索结果的能力,应用开发者需要依赖搜索引擎商本身的数据源,除非自己搭建其提供的开源搜索引擎,自己进行服务器的维护,不然搜索引擎很难被应用者直接应用。


【发明内容】

[0005]本发明的目的在于解决上述现有技术中存在的难题,提供一种搜索呈现软件设计方法及系统,缩短开发周期,降低开发成本。
[0006]本发明是通过以下技术方案实现的:
[0007]—种数据搜索呈现方法,包括:
[0008]当用户进行游览或查询过程时,用户的请求经由应用转发给提供服务的搜索引擎,应用将搜索引擎返回的数据重新进行渲染并呈现结果给用户;
[0009]当用户进行删除、更新或插入操作时,用户的请求经由应用转发相应操作给搜索引擎,搜索引擎完成相应操作。
[0010]所述搜索引擎具有筛选和排序的功能,并提供以下接口:增加搜索内容接口、为已有的搜索内容增加或删除筛选条件接口,以及设定已有搜索内容的排序方式或方法接口。
[0011]所述用户的请求经由应用转发给提供服务的搜索引擎,应用将搜索引擎返回的数据重新进行渲染并呈现结果给用户是这样实现的:
[0012]用户的查询显示请求发送给所述应用,所述应用根据用户的查询显示请求提供筛选条件和排序方式给所述搜索引擎,所述搜索引擎根据所述筛选条件和排序方式对数据进行搜索,然后将搜索数据返回给应用,应用对所述搜索数据进行重新渲染并呈现结果给用户。
[0013]所述用户的请求经由应用转发相应操作给搜索引擎,搜索引擎完成相应操作是这样实现的:
[0014]用户在应用中编辑信息,应用根据用户提供的信息将添加索引内容、增、删筛选分类、修改排序得分这些操作发送给搜索引擎,所述搜索引擎进行操作后,返回调用成功信息给应用,应用再返回存储成功消息给用户。
[0015]一种实现所述方法的系统,包括搜索引擎通信模块、用户请求接收模块、渲染模块和呈现模块;
[0016]所述搜索引擎通信模块用于与搜索引擎进行通信;
[0017]所述渲染模块用于对搜索引擎返回的数据进行渲染,并将渲染后的数据发送给呈现模块;
[0018]所述用户请求接收模块用于接收用户的请求,并对用户的请求进行处理,,然后将处理后的用户的请求发送给搜索引擎通信模块;进行的处理包括:将用户的点击请求转化为搜索引擎的检索查询表达树,以及将搜索中用到的排序得分相关参数和与数据返回相关的参数加工为搜索引擎参数等等。
[0019]所述呈现模块将渲染后的数据呈现给用户。
[0020]所述用户的请求包括游览、查询、删除、更新和插入。
[0021]当用户进行游览或查询过程时,用户的请求经由用户请求接收模块接收后,用户请求接收模块对用户的请求进行处理后,将其发送给搜索引擎通信模块,搜索引擎通信模块再将其转发给提供服务的搜索引擎,搜索引擎返回的数据经由搜索引擎通信模块接收后,发送到渲染模块,渲染模块对数据进行渲染后,发送给呈现模块,呈现模块对数据进行呈现。
[0022]当用户进行删除、更新或插入操作时,用户的请求经由用户请求接收模块接收后,用户请求接收模块对用户的请求进行处理后,将其发送给搜索引擎通信模块,搜索引擎通信模块再将其转发给提供服务的搜索引擎,搜索引擎完成操作后,将调用成功信息发送给搜索引擎通信模块,搜索引擎通信模块再将其发送给渲染模块,渲染模块对其进行渲染后,发送给呈现模块,呈现模块对其进行呈现。
[0023]与现有技术相比,本发明的有益效果是:对于应用开发者来说,本发明用搜索引擎替代了现有的MVC模式中的M和C,缩短了开发周期,降低开发成本。而对于搜索服务提供商来说,可以更好的共享技术。

【专利附图】

【附图说明】
[0024]图1是本发明方法应用时的数据流图。
[0025]图2是本发明系统的结构框图。

【具体实施方式】
[0026]下面结合附图对本发明作进一步详细描述:
[0027]本发明提出了一种软件设计模式,搜索-呈现(Search-View)设计模式。其为将数据的筛选与排序交于搜索引擎处理,并将搜索得到的数据重新渲染呈现的软件设计模式。也就是使用搜索引擎替换掉了原本MVC模式中M与C的功能。从而降低了开发的成本,缩短了开发周期,提高了软件系统的可维护性和可扩展性。并且对于作为基础架构的搜索引擎进行升级和维护就可以普适性的提高所有其上的应用的性能。
[0028]图1是遵守本设计的应用,其应用时的数据流图。搜索引擎与应用是独立的2个系统,搜索引擎提供了众多接口可供应用使用。例如“应用”可以是某网站,使用公用搜索引擎(例如可使用百度)来存该网站的所有索引,使用该网站的人,称为用户。
[0029]具体如下:
[0030]当用户进行游览/查询过程时,用户请求经由应用转发给提供服务的搜索引擎,并将搜索引擎返回的数据重新进行渲染并呈现结果给用户;
[0031]当用户进行删除/更新/插入等操作时,用户请求经由应用转发相应操作给搜索弓丨擎以达到目的。
[0032]本发明通过引入一个“开放”或者说“可用户贡献”的搜索引擎进入系统内部,作为系统总线,来构建一个可复用的软件体系结构。与之前MVC模式不同,并不是对于不同的应用使用不同的模型,而是对于众多的软件使用同一个搜索引擎来做基础架构。这样的好处是降低了开发的成本,缩短了开发周期,提高了软件系统的可维护性和可扩展性。并且对于作为基础架构的搜索引擎进行升级和维护就可以普适性的提高所有其上的应用的性能。使用基于HTTP请求的搜索引擎做基础架构,其天然具备可扩展性,当业务量增长时更易扩容。
[0033]在web2.0逐渐深入人心之时,这个公用的开放搜索引擎(Web2.0是一种设计思路,也既用户贡献模式。只要搜索引擎具备满足用户贡献的思路,就可以成为web2.0模式下的搜索引擎),甚至可以考虑允许数据在多个应用之间流通,促进了信息的整合,便于孵化出更具有聚合性的应用。
[0034]搜索-呈现(Search-View)的软件设计模式:其特点是将数据的筛选与排序交于搜索引擎处理(搜索引擎提供进行筛选和排序的功能,对应用开发者可用即可。具体步骤...比如:软件的一个接口,或者索引数据的某字段etc),对于搜索得到的数据重新渲染呈现(比如搜索引擎返回格式化的数据结果,如xml或者json,应用将其渲染为html页面,给最终用户呈现。),自身不直接进行数据的持久化存储和逻辑操作(存储和逻辑操作由搜索引擎完成)。
[0035]除去搜索之外,搜索引擎还拥有a,增加搜索内容;b,为已有的搜索内容增加/删除筛选条件;C,设定已有搜索内容的排序方式或方法,这三种对外接口。
[0036]以搜索引擎为系统的消息总线的系统架构(所有数据存于搜索引擎,所有查询通过搜索引擎,所有操作都经过搜索引擎。因为称搜索引擎为遵循本设计模式的系统的消息总线。与搜索引擎内部实现无关)。其各结构部分上述接口与搜索引擎进行交互(软件调用),并通过搜索来获取呈现数据的软件系统结构。
[0037]如图2所示,本发明系统包括搜索引擎通信模块、用户请求接收模块、渲染模块和呈现模块;
[0038]所述搜索引擎通信模块用于与搜索引擎进行通信;
[0039]所述渲染模块用于对搜索引擎返回的数据进行渲染,并将渲染后的数据发送给呈现模块;
[0040]所述用户请求接收模块用于接收用户的请求,并对用户的请求进行处理,,然后将处理后的用户的请求发送给搜索引擎通信模块;进行的处理包括:将用户的点击请求转化为搜索引擎的检索查询表达树,以及将搜索中用到的排序得分相关参数和与数据返回相关的参数加工为搜索引擎参数等等。
[0041]所述呈现模块将渲染后的数据呈现给用户。
[0042]所述用户的请求包括游览、查询、删除、更新和插入。
[0043]当用户进行游览或查询过程时,用户的请求经由用户请求接收模块接收后,用户请求接收模块对用户的请求进行处理后,将其发送给搜索引擎通信模块,搜索引擎通信模块再将其转发给提供服务的搜索引擎,搜索引擎返回的数据经由搜索引擎通信模块接收后,发送到渲染模块,渲染模块对数据进行渲染后,发送给呈现模块,呈现模块对数据进行呈现。
[0044]当用户进行删除、更新或插入操作时,用户的请求经由用户请求接收模块接收后,用户请求接收模块对用户的请求进行处理后,将其发送给搜索引擎通信模块,搜索引擎通信模块再将其转发给提供服务的搜索引擎,搜索引擎完成操作后,将调用成功信息发送给搜索引擎通信模块,搜索引擎通信模块再将其发送给渲染模块,渲染模块对其进行渲染后,发送给呈现模块,呈现模块对其进行呈现。
[0045]上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述【具体实施方式】所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
【权利要求】
1.一种搜索呈现软件设计方法,其特征在于:所述方法包括: 当用户进行游览或查询过程时,用户的请求经由应用转发给提供服务的搜索引擎,应用将搜索引擎返回的数据重新进行渲染并呈现结果给用户; 当用户进行删除、更新或插入操作时,用户的请求经由应用转发相应操作给搜索引擎,搜索引擎完成相应操作。
2.根据权利要求1所述的一种搜索呈现软件设计方法,其特征在于:所述搜索引擎具有筛选和排序的功能,并提供以下接口:增加搜索内容接口、为已有的搜索内容增加或删除筛选条件接口,以及设定已有搜索内容的排序方式或方法接口。
3.根据权利要求2所述的一种搜索呈现软件设计方法,其特征在于:所述用户的请求经由应用转发给提供服务的搜索引擎,应用将搜索引擎返回的数据重新进行渲染并呈现结果给用户是这样实现的: 用户的查询显示请求发送给所述应用,所述应用根据用户的查询显示请求提供筛选条件和排序方式给所述搜索引擎,所述搜索引擎根据所述筛选条件和排序方式对数据进行搜索,然后将搜索数据返回给应用,应用对所述搜索数据进行重新渲染并呈现结果给用户。
4.根据权利要求3所述的一种搜索呈现软件设计方法,其特征在于:所述用户的请求经由应用转发相应操作给搜索引擎,搜索引擎完成相应操作是这样实现的: 用户在应用中编辑信息,应用根据用户提供的信息将添加索引内容、增、删筛选分类、修改排序得分这些操作发送给搜索引擎,所述搜索引擎进行操作后,返回调用成功信息给应用,应用再返回存储成功消息给用户。
5.一种实现权利要求1至4任一所述方法的系统,其特征在于:所述系统包括搜索引擎通信模块、用户请求接收模块、渲染模块和呈现模块; 所述搜索引擎通信模块用于与搜索引擎进行通信; 所述渲染模块用于对搜索引擎返回的数据进行渲染,并将渲染后的数据发送给呈现模块; 所述用户请求接收模块用于接收用户的请求,并对用户的请求进行处理,,然后将处理后的用户的请求发送给搜索引擎通信模块; 所述呈现模块将渲染后的数据呈现给用户。
6.根据权利要求5所述的系统,其特征在于:所述用户的请求包括游览、查询、删除、更新和插入。
7.根据权利要求6所述的系统,其特征在于:当用户进行游览或查询过程时,用户的请求经由用户请求接收模块接收后,用户请求接收模块对用户的请求进行处理后,将其发送给搜索引擎通信模块,搜索引擎通信模块再将其转发给提供服务的搜索引擎,搜索引擎返回的数据经由搜索引擎通信模块接收后,发送到渲染模块,渲染模块对数据进行渲染后,发送给呈现模块,呈现模块对数据进行呈现。
8.根据权利要求6所述的系统,其特征在于:当用户进行删除、更新或插入操作时,用户的请求经由用户请求接收模块接收后,用户请求接收模块对用户的请求进行处理后,将其发送给搜索引擎通信模块,搜索引擎通信模块再将其转发给提供服务的搜索引擎,搜索引擎完成操作后,将调用成功信息发送给搜索引擎通信模块,搜索引擎通信模块再将其发送给渲染模块,渲染模块对其进行渲染后,发送给呈现模块,呈现模块对其进行呈现。
【文档编号】G06F17/30GK104376076SQ201410648501
【公开日】2015年2月25日 申请日期:2014年11月14日 优先权日:2014年11月14日
【发明者】徐鹏, 苏森, 双锴, 刘一洲, 王玉龙 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1