CN100403310C - 在文档中查找搜索串并在移动通信设备上查看的方法 - Google Patents

在文档中查找搜索串并在移动通信设备上查看的方法 Download PDF

Info

Publication number
CN100403310C
CN100403310C CNB2005101285714A CN200510128571A CN100403310C CN 100403310 C CN100403310 C CN 100403310C CN B2005101285714 A CNB2005101285714 A CN B2005101285714A CN 200510128571 A CN200510128571 A CN 200510128571A CN 100403310 C CN100403310 C CN 100403310C
Authority
CN
China
Prior art keywords
search string
server
search
document
rest block
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.)
Active
Application number
CNB2005101285714A
Other languages
English (en)
Other versions
CN1783091A (zh
Inventor
奥拉夫·A·叙尔泽
袁建伟
丹·杜米特鲁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maliki Innovation Co ltd
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of CN1783091A publication Critical patent/CN1783091A/zh
Application granted granted Critical
Publication of CN100403310C publication Critical patent/CN100403310C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

公开了一种用于在存储在服务器上的文档中定位搜索串并且在移动设备上显示搜索串的方法,通过它用户将针对文档附件的搜索词输入到他/她的移动通信设备。如果在设备上没有找到该词的出现,则该设备提示用户启动服务器一侧的搜索。如果用户接受,则服务器搜索文档附件并且将包含搜索词语的第一文本节返回给设备,用于由用户查看。然后可以重复该过程,直到服务器查找特点报告在服务器上再没有找到搜索串的示例。

Description

在文档中查找搜索串并在移动通信设备上查看的方法
技术领域
本发明通常涉及在移动通信设备上显示内容,更具体地,涉及一种用于在文档附件中查找搜索串(search string)并且在移动通信设备上查看相应部分而不需要寻回(retrieve)整个文档内容的方法。
背景技术
由于近来设备和移动基础设施所支持的服务和特点的数目增加,移动通信设备对于商业和个人应用正变得越来越普及。手持移动通信设备,有时称为移动站,本质上是具有无线能力的便携式计算机,并且具有各种形式。它们包括个人数字助理(PDA)、蜂窝电话和智能电话。当它们的体积减小便于携带的同时,这类设备的带宽和处理能力的限制对诸如文字处理文档、表格和图像之类的文档的下载和查看带来了挑战。
在Milic-Frayling N et al:“SmartView andSearchMobil:providing overview and detail in handheldbrowsing”Mobile and Ubiquitous Information Access.Mobile HCI2003 International Workshop.Revised and Invited Papers(Lecture 20 Notes in Computer Science Vol.2954)Springer-VerlagBerlin,Germany,8 August 2003(2003-08-08),pages 158-171,XP002318043 ISBN:3-540-21003-2www.springerlink.com/index/H8K7 GF5F6EXK19KR.pdf 2005-02-16检索]中说明了一种安排实际大小的网页的格式以在小屏幕便携式设备上查看的方法。
使用例如文字处理器、电子制表程序、金融软件和表示软件的各种计算机程序来制作电子文档。通常在这种程序中提供“查找”命令用于在文档中快速定位感兴趣的搜索串,而不需要用户读取整个文档。
将整个文档下载到移动通信设备要消耗大量的带宽,尤其是当文档非常大时。此外,即使在设备上查看所下载文档的一部分也要消耗该设备相当大的CPU/存储器/电池等资源。
例如,如果用户只希望查看400页文档中间节中的一段,必须将包含该段的一些默认属性的节或者甚至是整个文档发送到移动通信设备。然而,用户只在移动通信设备上查看文档的很小一部分。
因此,本领域所公知的是提供一种附件服务器将点播内容发送到移动通信设备的用户,以便使带宽以及设备的CPU/存储器使用最小化。然后使用附件阅读器在设备上查看该内容。
在WO01/65354说明了这样一种系统的示例,其中根据请求移动设备的特征利用多个页面来产生文档的文档对象模型(DOM),由用户请求将文档的这些页面下载到移动设备。
当前,如果附件内容已经存在于设备上(即已经被寻回(retrieve)/下载到设备中),移动通信设备上在附件阅读器中的“查找”命令只能查找用户输入的搜索词语。
如上所述,一些文档附件可以轻易地在几百页的范围内或包含大量文本信息。为了使用户能够针对这么大的文档附件来查找搜索词语的所有出现,必须按照队列形式从服务器将所有内容寻回到设备。这是非常耗时以及及其消耗带宽和设备CPU/存储器的操作。
发明内容
在此提出一种对于必须将文档附件的整个内容寻回到移动通信设备以便在文档中查找搜索串的所有出现的解决方法。具体地,提供一种服务器查找功能,用于在附件服务器上发起搜索并且只将包含搜索词语的适当部分返回到设备。可以将任意略过(即非寻回文档内容)可视地呈现给用户用于以后的寻回。根据当前服务器查找功能的非连续访问使得带宽使用最小化并提供更好的点播附件查看体验。
在此提出的服务器查找特点是设备和服务器侧功能,允许用户将针对文档附件的搜索词语输入到他/她的移动通信设备中。如果在设备上没有(或不再有)词语出现,则设备提示用户发起服务器侧搜索。如果用户接受,则服务器搜索文档附件并且将包含搜索词语的第一文本节返回到设备,用于由用户查看。然后可以重复该方法直到服务器查找特点报告在服务器上再没有“找到(hit)”。
特别地,在一个方案中,提供一种用于在存储在服务器上的文档中定位搜索串并且在移动设备上显示搜索串的方法,包括:在表示所述文档映射的服务器中构造并高速缓存(caching)图形结构,其中所述图形结构将所述文档标记页码(paginate)为用于显示在所述移动设备上的单独块;用户发起将所述文档的连续块以及所述单独块的总数从所述服务器发送到所述移动设备,用于由所述移动设备显示;用户发起在所述移动设备中的至少一个所述连续块的搜索,然后在没有定位所述搜索串并且没有搜索所述单独块的总数的情况下发起在所述服务器中对剩余块进行进一步的搜索;在剩余块中定位了所述搜索串的情况下发送包含所述搜索串的第一块;以及在所述连续块或剩余块任意之一中定位了所述搜索串的情况下在所述移动设备上加亮所述块中的所述搜索串,以及否则,在所述移动设备上提供表示没有找到匹配的提示。
在另一个方案中,提供一种可在服务器中实施的、用于在存储在服务器上的文档中定位搜索串的方法,包括:在表示文档映射的所述服务器中构造并高速缓存图形结构,其中所述图形结构将所述文档标记页码为单独块;发送所述文档的连续块以及所述单独块的总数;在所述服务器中针对搜索串搜索剩余块;以及在所述剩余块中定位了所述搜索串的情况下发送包含所述搜索串的每一个所述剩余块。
在另一个方案中,提供一种可在移动设备上实施的、用于在存储在服务器上的文档中定位搜索串的方法,包括:接收并显示文档的连续块;针对用户输入的搜索串至少搜索所述连续块的一个并且在定位了所述搜索串的情况下加亮所述搜索串;在没有定位所述搜索串的情况下提示所述用户发起进一步搜索在所述服务器中的剩余的远程存储的块;以及否则,在所述移动设备提供表示没有找到匹配的提示。
在另一个方案中,提供一种能够在存储在服务器上的文档中定位搜索串的服务器,包括:构造和高速缓存装置,用于在表示文档映射的所述服务器中构造并高速缓存图形结构,其中所述图形结构将所述文档标记页码为单独块;发送装置,用于发送所述文档的连续块以及所述单独块的总数;搜索装置,用于在所述服务器中针对搜索串搜索剩余块;以及发送装置,用于在所述剩余块中定位了所述搜索串的情况下发送包含所述搜索串的每一个所述剩余块。
在另一个方案中,提供一种能够在存储在服务器中的文档中定位搜索串的移动设备,包括:接收和显示装置,用于接收并显示文档的连续块;搜索装置,用于针对用户输入的搜索串至少搜索所述连续块的一个并且在定位了所述搜索串的情况下加亮所述搜索串;提示装置,在没有定位所述搜索串的情况下提示所述用户发起进一步搜索在所述服务器中的剩余的远程存储的块;以及提供装置,用于在没有找到匹配的情况下在所述移动设备提供表示没有匹配的提示。
其它方案和优点对于本领域的技术人员是显而易见的,参考附图,通过下面更完整地的说明和权利要求,在结构和操作的细节可以看出这些优点。
附图说明
下面参考附图详细给出优选实施例的详细说明,图中:
图1是可以实现优选实施例的网络环境的方框图;
图2是示出了在优选实施例中所使用的文档对象模型(DOM)的基本结构的树形图;
图3示出了图2中的DOM结构的顶层;
图4示出了文字处理文档的典型DOM结构;
图5示出了表格文档的典型DOM结构;
图6示出了包含图像子文档的文字处理文档的典型DOM结构;
图7是示出了文档DOM结构组成和页码标记的流程图;
图8A和8B示出了在移动通信设备上用于调用服务器查找命令的图形用户界面;
图9示出了在图形用户界面上表示没有找到搜索串的消息;
图10是示出了根据优选实施例在执行用于发起服务器查找命令的设备一侧请求中的步骤的流程图;以及
图11是示出了根据优选实施例在服务器中执行查找命令的步骤的流程图。
具体实施方式
参考图1,示出了其中可以实现优选实施例的网络环境10。网络环境10包括移动设备12,移动设备12经由无线网络14与用于将文档附件下载到移动设备12的服务器28进行通信。尽管为了演示只示出了一个服务器28,本领域的技术人员可以理解,网络环境10能够具有许多这样的服务器,用作主网站或图形下载站点,提供对例如JPEG、TIFF、BMP、PNG、SGI、MP4、MOV、GIF、SVG等图形文件的访问。本领域的技术人员可以理解到,无线网络14包括GSM/GPRS、CDPD、TDMA、iDENMobitex、DataTAC网络或例如EDGE或UMTS的未来网络以及例如蓝牙和802.11变体的宽带网络。
与固定服务相连的连接要求特别的考虑,并且要求例如通过网络接入点(NAP)16的授权的特别许可。对于例如Web访问的一般服务,提供代理-网关或网络地址解析器(NAT)18,以便网络运营商可以控制访问并且对访问收费。针对大量无线移动设备,NAT18能够管理提供有限的公共因特网地址。由代理-网关或NAT18所提供的解决方法通常包括复杂的基础设施,并因此可以由提供例如WAP网关、WAP代理网关解决方法、多媒体消息服务(MMS)和因特网多媒体服务(IMS)的增值服务提供商(VASP)来管理。
专用内联网服务26要求相关的专用内联网代理网关24,用于访问服务器28上的内容。这种专用服务包括对企业邮件系统的WML访问、对CRM数据库的HTML访问、或者利用链接和嵌入的URL随格式化数据发送信息的任意其它服务。如图所示,与经由因特网20进行连接相对,专用服务26可以直接地与无线网络14相连接。
为了说明优选实施例,对于将显示在移动设备12上的文件附件,整篇文档指的是文档对象模型(DOM)的结构。
在优选实施例中,针对特殊的文档类型,附件服务器28使用文件分析蒸馏器(file-parsing distiller)来构造存储器内的文档对象模型(DOM),表示该文档类型的附件。文档DOM结构被存储在服务器28的高速缓存存储器中,并且能够双向迭代。
如图2所示,基于图形的文档DOM结构包括节点和叶。在图中,节点用作叶和节点的双亲,而叶是分支的终点。每一个节点和叶可以具有一组属性来限定其自身的特性。例如,段落节点可以包含限定其排列、格式、文档TOC的入口等的属性。此外,每一个节点和叶具有称为DOM ID的唯一标识符,来在文档DOM结构中标识其自身。
文档DOM结构被划分为三部分:顶层、构件(component)和引用。顶层作为文档根结构,而在构件中构造主文档以及引用表示对于内部或外部子文档部分的文档引用。下面的几段详细说明每一个部分。
称为“文档”的文档DOM结构根节点包含多个称为“内容”的子节点,“内容”表示文档内容的不同方面。每一个“内容”节点包含用于存储各种文档全局属性的一个或多个“容器”。“容器”节点的子节点是存储了文档结构和导航信息的构件。当附件服务器20第一次针对附件文件构造DOM结构时,如图3所示,顶层结构是一个单一的父-子链。
由附件服务器28定义了三种构件:文本构件、表格构件和图像构件,在文档中分别表示文本、表格和图像。下面详细说明文本和表格构件,并且图像构件结构是相同的。
构件包含层结构的命令节点。每一个命令表示物理实体、特性或文档中定义的引用。对于文本构件,物理实体命令是页、节、段落、文本段、注释、脚注和尾注命令,这些命令按照名称来定义包含在文档中的相应实体。文本构件的特性命令是字体、文本颜色、文本背景色、超链接开始/结束和书签命令。文本构件只有一个引用命令,称为文本引用命令,用于引用在文档的主体中定义的子文档。通常,文本构件的子节点是依次包含一组段落命令节点的页或节命令节点。段落命令包含针对剩余命令类型的一个或多个节点。
使用下面的样本文本文档,在图4中示出了相应的文档DOM。
  第一段具有粗体和红色文本的第二段
如图4所示,作为文本构件的子节点的节命令包含两个段落命令。第一段落命令包含一个文本段命令,并且添加该段落的文本内容,作为文本段命令的属性。由于段落中的文本特性是非常丰富的,第二段落命令具有相对更复杂的结构。当每次文本特性(字体、文本颜色等)改变时,创建对应的文本特性命令,并且将改变值作为一个属性添加到该命令中。随后的文本段命令记录了具有作为属性的相同文本特性的文本。随着文档结构变得更丰富和更复杂,创建更多相应类型的命令,并且将文档特性作为属性添加到这些命令中。
表格构件具有与文本构件相同的三种命令,但是命令的名称不同。图5中示出了对于样本表格文档的文档DOM结构:
如图5所示,表格构件具有表格、表格行和表格单元的物理实体类型的命令,其中表格单元命令包含对于文本构件所有可用的命令。在上述示例中,表格命令的第一个子表格行命令具有由0值定义的属性“索引”。这表示所指的表格行是表格中定义的第一个。图5中最左边的表格单元命令的属性具有相同的含义。
文档有时包括子文档,例如图像、表格、文本框等。在此提出的DOM结构使用引用命令来指向这种子文档的图形。因此,对于下面的样本文档,附件服务器28产生如图6所示的DOM结构:
Figure C20051012857100132
除了二个引用命令的属性外,图6所示的结构与图4和图5讨论的结构是相同的。附件服务器28在“样本三”中构造了一个图像,作为分离的图像构件,它包含在其自己的DOM分级中的全部的图像数据。在主文档的DOM结构中,这二个引用命令的“Ref”属性的值指向图像构件,如虚线所示,从而DOM结构与文档的所有部分连接在一起。
在描述了用于实现实施例的文档DOM结构以后,来详细说明也用于实现实施例的文档DOM结构构造和页码标记。
页码标记功能是客户机和服务器侧的操作。图7示出了处理步骤,从其中可以注意到,针对文档DOM高速缓存存储器,服务器28在存储器中使用映射,并且对于映射的密钥的文档ID。最初,当移动通信设备12的用户向服务器28发送请求要查看文档时,设备12发送两个属性和来自服务器的响应所需的字节数目(RequireSize)(例如3K字节)。这两个属性是设备是否是彩色或单色的设备,以及设备在象素上的屏幕尺寸(宽×高×颜色深度)。也可以将另一个关于设备12的信息发送到服务器28(例如存储器尺寸)。在服务器28接收到文档查看请求之后,它发起页码标记过程(步骤30),并且初始化变量Pageindex和PageSize。
图7中提出了下面的词语和变量。
在服务器28中定义了Pageindex变量并且由服务器用于记录由服务器标记页码的当前页面索引。最初将页面索引设置为0,表示“页面1”。
PageSize是在服务器28中定义的变量并且由服务器用于记录正在标价页码的页面的当前尺寸,并且当标记新页面页码时重新设置为0。
超链接映射是在服务器28中定义的变量,是文档DOM结构中由超链接节点类型元素组成的容器。容器中对于每一个元素的密钥(ID)是超链接目标串。
书签映射是在服务器28中定义的变量,是文档DOM结构中由书签的当前页面索引(Pageindex值)类型元素组成的容器。容器中对于每一个元素的密钥(ID)是书签串。
服务器过程根据文档内容来构造文档ID(步骤32)并且使用ID来检查文档DOM高速缓存(步骤33),以便确定是否构造了该文档的文档DOM结构。如果在高速缓存中不存在文档DOM结构,服务器28针对该文档构建DOM结构(步骤34)并且将其添加到高速缓存中(步骤35)。
为了构造文档ID,以读取和二进制模式打开原始文档文件。服务器28产生MD5Context结构、从文件中利用原始二进制数据逐字节地杂凑(hash)MD5context结构、并且最终确定MD5context结构并且针对文件寻回16字节密钥。MD5context结构具有按照C++语言句法的下面结构
typedef struct
{
unsigned long adwState[4];/*state(ABCD)*/
unsigned long adwCount[2];/*number of bits,modulo 2^64(lsbfirs)*/15
unsigned char abyBuffer[64];/*input buffer*/
}tMD5_CTX;
存储文档DOM结构要求大量的存储器,并因此增加了整体硬件使用费用。另一方面,相比于文档密钥构造操作,针对文档来构建DOM结构是及其耗费时间和CPU强度的,尤其是对于较大的文档。因为对于文档操作,处理时间比硬件使用费用更为关键,存储文档DOM是优选实施例所采用的方法,而不是每一次当服务器接收到查看请求时为文档构建DOM文档结构并在将响应发送回客户机设备12之后丢弃该结构。
当已经构建了文档DOM结构并将其存储在高度缓存中时,服务器28确定在根节点是否已经设置了页面标记(步骤36)。如果没有,服务器28遍历DOM结构(步骤38、39、40和41)并且根据设备12所提供的字节数目(RequireSize)来计算DOM结构中每一个节点的输出尺寸(PageSize)。服务器增加Pageindex(步骤42),将其作为属性添加到每一个节点,以便标记每一个页面的开始,并且将每一个节点作为属性、并且表示PageIndex的串作为属性名称添加到根节点(步骤43)。接着该标记页码功能,附件服务器28根据产生请求的客户机将文档逐页地发送到请求移动设备12(步骤44)。
页面标记属性名称与设备信息相关并且要求由设备12所提供的响应尺寸(RequireSize),以使服务器通过文档DOM结构来标记页码并且根据设备能力产生响应。例如,如果该设备是单色类的,在服务器标记页码和响应产生操作期间可以忽略包含在DOM结构中的色彩信息,并因此优化了无线带宽的使用。
因为对于存储器映射的密钥是文档ID,用于计算文档ID(步骤32)的算法必须确保密钥的唯一性。根据最佳模式,如上所述,在服务器28中所使用的算法是由Computer Science and RSA Data Security,Inc.的MIT实验室的Ronald L.Rivest教授所发明的MD5消息加密算法。存在可以使用的多种其它的散列选项。然而根据要由服务器28处理的不同文档内容的广泛范围,MD5是最有效并且可靠的一个。
考虑用户请求查看由200页文本内容组成的文档附件的示例。服务器28从设备12接收到最初的转换文档附件的转换请求并且响应之为该文档内容构造文档对象模型(DOM)。则服务器28将内容的第一块(即页)返回给该设备。服务器还将块总数的表示返回给客户机(例如40块或在文档DOM结构中可视的页面)。在本申请中,“块”可以包括多达3000字节的数据,实际文本的一页根据字体、格式、颜色或文档内容而更多或更少。然而,为了便于说明,可以互换地使用术语“页”和“块”。
当从服务器28接收到初始文档内容(即数据的第一块)时,设备12解析并显示该内容(图10中步骤45)。众所周知,用户可以在附件阅读器上调用“查找”命令,响应之,提示用户输入字母数字搜索词(步骤47)。本申请的“服务器查找”命令与传统的“查找”和在设备12的附件阅读器中查找的“查找文本”命令相链接。图8A示出了在移动设备12上的图形用户界面,该界面用于输入搜索串来搜索要在设备上查看的文档附件。在输入搜索词(步骤49)之后,附件阅读器(即客户机)在设备上搜索内容的第一块。
如果找到匹配(即在步骤51处为“是”),通过将指针放置于匹配的字母数字文本段或文字的第一字母的顶部,更新客户机屏幕(步骤53)来以便反映找到搜索词的位置,这些将参考图9更详细地进行说明。为了继续搜索驻留在客户机设备12上的初始返回文档内容(在步骤55处为“是”),用户按照重复方式来调用“查找”命令(步骤57)。
对于已经驻留在设备12上的初始寻回内容中的每一个匹配,如上所述,客户机可视地更新显示来反映在文档内容中遇到搜索词的位置。
如果在客户机设备12上的文档内容中再没有遇到匹配对于“查找”或“查找文本”命令的匹配(即在步骤51处为“否”),显示一个消息,通知用户在驻留设备的文档的该章节中没有找到搜索的文本。如图8B所示,该消息提示用户针对请求文本串启动服务器侧的搜索。
如果用户选择“是”,则发起对没有被设备12寻回的附件服务器28上的剩余文档内容的搜索(即在步骤59处为“是”)。特别地,客户机设备12将“服务器查找”命令发送到服务器28,该命令包括要搜索的串和要搜索的块索引范围(步骤61)。例如图8A,客户机向服务器发出“服务器查找”命令以及搜索词“注释”和例如“2-40”的块索引范围。因为开1已经驻留在设备12上,块索引不包含块1。
然后针对任意的包括搜索词“注释”的文档内容,服务器28从块2到40搜索DOM。
如果附件服务器28遇到与输入搜索串的匹配的词(即在步骤63处为“是”),其将附件章节以及找到匹配的位置的块索引返回给客户机设备12的附件阅读器(例如如果下一个匹配在块20中,则将该块内容以及块索引20返回给客户机)(步骤55)。然后客户机12解析并显示该内容(即块20的内容)并且给用户加亮匹配搜索的位置。此外,通过在块1-20的内容之间插入可视的“略过的内容”的指示栏,可视地告知用户块2到19的内容驻留在服务器28上(步骤67)。如下面将详细说明的,通过加亮在寻回内容中找到的搜索串的第一个字,在设备12上按照传统的方式示出了该匹配(步骤53)。
如果在内容仍保留在服务器28上时通过选择传统的“查找文本”命令,用户继续搜索(步骤57),则如上所述,显示在块20的内容中任意的随后的匹配(步骤53)。当在块20中再没有遇到匹配时,则再次提示用户:如果希望,执行服务器查找操作。
再次发出“服务器查找”命令以及搜索词(步骤61),然而因为客户机已知已经搜索了块1到20,这一次请求的块索引是21到40。如果(例如在块39中)找到了其它的匹配,则块39的内容和块索引39被返回给客户机(步骤65)用于解析和显示。再次将“略过的内容”可视的指示栏插入到块20和块39的内容之间(步骤67),来向用户表示该内容仍驻留在服务器28上,没有寻回到设备12。
可以重复地执行服务器侧的搜索,直到已经将具有与搜索串相匹配的匹配物的所有章节下载到设备12。在执行最后的“服务器查找”命令时,服务器28搜索块40的DOM内容。在这种情况中在剩余的块中针对搜索词再没有找到匹配。当出现这种情况时,如图9所示,给用户呈现“到达章节结尾”对话框(步骤69)。如上所述,通过加亮在寻回内容中找到的搜索串的第一个字,来在设备12上显示匹配。这在图9中示出了(其中搜索串是“注释”并且加亮了第一字母“c”)。
总而言之,为了使用上述的示例,向设备寻回整个40块的内容用于解析和显示来实现相同结果相对的,“服务器查找”操作允许客户机搜索200页的文档而只寻回找到匹配的内容块,用于解析和显示(例如块1、20和39)。因此对于文档搜索,通过只将相关的块或章节返回给设备12用于用户查看,“服务器查找”命令大大地优化了带宽、设备存储使用和整个响应时间。
现在转向图11所示的服务器侧的处理,当附件服务器28接收到针对附件的服务器查找请求(步骤71)时,首先提取要搜索的文本样式(步骤73)以及各种搜索选项,即区分大小写、向前或向后搜索等。此外,附件服务器从请求中提取要搜索的块访问并且根据搜索选项来重新排序块范围(步骤75)。
在从存储器内的文档DOM高速缓存中寻回了针对附件的预标记页码的文档DOM结构之后(步骤79),附件服务器28遍历DOM结构(步骤81),直到到达块范围中第一块的开始节点。继续遍历DOM结构(即在后续步骤为85的步骤83处为“是”)并且处理命令类型的段落节点(步骤87)或DOM结构中的文本段节点(步骤89)。当解析段落命令中附件服务器28重新设置内部变量段落文本内容(步骤91);寻回存储在文本段命令中的文本内容并且将该文本添加到段落内容中(步骤93)。然后服务器通过DOM结构进行迭代直到找到文本样式或者已搜索了在块范围中的所有块(在步骤83处为“是”)。如果在由块范围限定的DOM结构中没有找到这种文本样式,附件服务器将返回错误(步骤99)。否则,服务器返回包含文本样式的第一块的内容(步骤97)。
附件服务器28可以将匹配文本内容划分为多个块,然而保留对于匹配文本开始的块的DOM结构,并且响应客户机12,示出包含在保留的DOM结构中的文本样式的字符数目。
已经阅读了优选实施例的说明的本领域技术人员可以考虑在所附权利要求书的范围内的变化和其它实施例。

Claims (21)

1.一种用于在存储在服务器上的文档中定位搜索串并且在移动设备上显示搜索串的方法,包括:
在表示所述文档(30)的映射的所述服务器(28)中构造(34)并高速缓存(35)文档对象模型,其中,所述文档对象模型将所述文档标记页码为用于显示在所述移动设备(12)上的单独块;
用户发起将所述文档的连续块以及所述单独块的总数从所述服务器发送到所述移动设备,用于由所述移动设备显示;
用户发起对所述移动设备中的至少一个所述连续块的搜索(47),并在没有定位所述搜索串并且没有搜索所述单独块的总数的情况下发起在所述服务器中对剩余块进行进一步搜索(61);
在剩余块中定位了所述搜索串的情况下发送包含所述搜索串的第一块(65);以及
在至少一个所述连续块或剩余块中定位了所述搜索串的情况下在所述移动设备上加亮所述至少一个所述连续块或剩余块中的所述搜索串(53),以及否则,在所述移动设备上提供表示没有找到匹配的提示(69)。
2.根据权利要求1所述的方法,其中,发起所述进一步搜索包括:
将所述搜索串和所述至少一个所述连续块之后的所述剩余块的索引范围从所述移动设备发送到所述服务器;
在所述索引范围中针对所述搜索串搜索所述剩余块;以及
在定位了所述搜索串的情况下将包含所述搜索串的第一块和相关块索引从服务器发送到所述移动设备。
3.根据权利要求1所述的方法,其中,所述加亮包括更新所述移动设备的显示来反映文档中定位了搜索串的位置(53)。
4.根据权利要求1所述的方法,还包括在所述移动设备上产生显示,用于提示所述用户发起对所述服务器中的剩余块进行所述进一步搜索(59)。
5.根据权利要求3或4所述的方法,还包括在所述连续块之间的所述显示上产生略过内容指示栏(67),从而向所述用户提供在服务器中的所述剩余块还没有被发送到移动设备的指示。
6.根据权利要求2到4之一所述的方法,其中,所述搜索所述剩余块包括:
提取要搜索的所述搜索串和所述索引范围(73,75);
迭代文档对象模型(81)并且针对在剩余块的所述索引范围中每一个节点解析任意段落和文本命令(85、87、89),并且针对每一个段落命令从段落内容变量中的所述文本命令寻回并存储任意文本内容(93)并且针对所述搜索串在所述段落内容变量中搜索所述文本内容(95);以及
当定位所述搜索串(97)时针对包含所述搜索串的每一个所述剩余块保留所述文档对象模型,并且将每一个所述剩余块和相关的块索引发送到所述移动设备。
7.根据权利要求6所述的方法,还包括提取搜索选项以及所述搜索串和索引范围,并且根据所述搜索选项重新排序所述索引范围。
8.一种在服务器上实施的、用于在存储在服务器上的文档中定位搜索串的方法,包括:
在表示文档(30)的映射的所述服务器(28)中构造(34)并高速缓存(35)文档对象模型,其中,所述文档对象模型将所述文档标记页码为单独块;
发送所述文档的连续块以及所述单独块的总数;
在所述服务器中针对搜索串搜索剩余块(61);以及
在所述剩余块中定位了所述搜索串的情况下发送包含所述搜索串的每一个所述剩余块(65)。
9.根据权利要求8所述的方法,其中,所述搜索还包括:
接收所述搜索串和所述剩余块的索引范围;
针对所述搜索串,在所述索引范围内搜索所述剩余块;以及
在定位了所述搜索串的情况下发送包含所述搜索串的第一块和相关块索引。
10.根据权利要求9所述的方法,其中,所述搜索还包括:
提取要搜索的所述搜索串和所述索引范围(73,75)
迭代文档对象模型(81)并且针对在剩余块的所述索引范围中每一个节点解析任意段落和文本命令(85、87、89),并且针对每一个段落命令从段落内容变量中的所述文本命令寻回并存储任意文本内容(93)并且针对所述搜索串在所述段落内容变量中搜索所述文本内容(95);以及
当定位所述搜索串时针对包含所述搜索串的每一个所述剩余块保留所述文档对象模型,并且发送每一个所述剩余块和相关的块索引。
11.根据权利要求10所述的方法,还包括提取搜索选项以及所述搜索串和索引范围,并且根据所述搜索选项重新排序所述索引范围。
12.一种在移动设备上实施的、用于在存储在服务器上的文档中定位搜索串的方法,包括:
接收并显示文档的连续块;
针对用户输入的搜索串至少搜索所述连续块的一个(47)并且在定位了所述搜索串的情况下加亮所述搜索串(53);
在没有定位所述搜索串的情况下提示所述用户发起进一步搜索在所述服务器中的剩余的远程存储的块(61);以及
否则,在所述移动设备提供表示没有找到匹配的提示(65)。
13.根据权利要求12所述的方法,还包括更新所述移动设备的显示来反映文档中定位了搜索串的位置(53)。
14.根据权利要求12或13所述的方法,还包括在所述连续块之间的所述显示上产生略过内容指示栏(67),从而向所述用户提供在服务器中的所述剩余块还没有被发送到移动设备的指示。
15.一种能够在存储在服务器上的文档中定位搜索串的服务器,包括:
构造和高速缓存装置,用于在表示文档(30)的映射的所述服务器(28)中构造并高速缓存文档对象模型,其中,所述文档对象模型将所述文档标记页码为单独块;
发送装置,用于发送所述文档的连续块以及所述单独块的总数;
搜索装置,用于在所述服务器中针对搜索串搜索剩余块;以及
发送装置,用于在所述剩余块中定位了所述搜索串的情况下发送包含所述搜索串的每一个所述剩余块。
16.根据权利要求15所述的服务器,其中,所述搜索装置还包括:
接收装置,用于接收所述搜索串和所述剩余块的索引范围;
搜索装置,用于在所述索引范围内针对所述搜索串搜索所述剩余块;以及
发送装置,用于在定位了所述搜索串的情况下发送包含所述搜索串的第一块和相关块索引。
17.根据权利要求16所述的服务器,其中,所述搜索装置还包括:
提取装置,用于提取要搜索的所述搜索串和所述索引范围;
装置,用于迭代文档对象模型,并且针对在剩余块的所述索引范围中每一个节点解析任意段落和文本命令,并且针对每一个段落命令从段落内容变量中的所述文本命令寻回并存储任意文本内容,并且针对所述搜索串在所述段落内容变量中搜索所述文本内容;以及
装置,用于当定位所述搜索串时针对包含所述搜索串的每一个所述剩余块保留所述文档对象模型,并且发送每一个所述剩余块和相关的块索引。
18.根据权利要求17所述的服务器,还包括提取搜索选项以及所述搜索串和索引范围,并且根据所述搜索选项重新排序所述索引范围。
19.一种能够在存储在服务器上的文档中定位搜索串的移动设备,包括:
接收和显示装置,用于接收并显示文档(30)的连续块;
搜索装置,用于针对用户输入的搜索串至少搜索所述连续块的一个,并且在定位了所述搜索串的情况下加亮所述搜索串;
提示装置,在没有定位所述搜索串的情况下提示所述用户发起进一步搜索在所述服务器中的剩余的远程存储的块;以及
提供装置,用于在没有找到匹配的情况下在所述移动设备提供表示没有匹配的提示。
20.根据权利要求19所述的移动设备,还包括更新所述移动设备的显示来反映文档中定位了搜索串的位置的装置。
21.根据权利要求19或20所述的移动设备,还包括装置,用于在所述连续块之间的所述显示上产生略过内容指示栏,从而向所述用户提供在服务器中的所述剩余块还没有被发送到移动设备的指示。
CNB2005101285714A 2004-12-01 2005-11-30 在文档中查找搜索串并在移动通信设备上查看的方法 Active CN100403310C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04106231A EP1667036B1 (en) 2004-12-01 2004-12-01 Method of Finding a Search String in a Document for Viewing on a Mobile Communication Device
EP04106231.6 2004-12-01

Publications (2)

Publication Number Publication Date
CN1783091A CN1783091A (zh) 2006-06-07
CN100403310C true CN100403310C (zh) 2008-07-16

Family

ID=34929983

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101285714A Active CN100403310C (zh) 2004-12-01 2005-11-30 在文档中查找搜索串并在移动通信设备上查看的方法

Country Status (7)

Country Link
EP (1) EP1667036B1 (zh)
CN (1) CN100403310C (zh)
AT (1) ATE375563T1 (zh)
CA (1) CA2527436C (zh)
DE (1) DE602004009459T2 (zh)
HK (1) HK1090718A1 (zh)
SG (1) SG122912A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328214B2 (en) 2004-12-21 2008-02-05 Arizan Corporation Method of delivering an electronic document to a remote electronic device
WO2012048158A1 (en) * 2010-10-06 2012-04-12 Planet Data Solutions System and method for indexing electronic discovery data
US20180349447A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Methods and systems for customizing suggestions using user-specific information
CN110321470B (zh) * 2019-05-23 2024-05-28 平安科技(深圳)有限公司 文档处理方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001065354A1 (en) * 2000-03-01 2001-09-07 Celltrex Ltd. System and method for document division
US20040139397A1 (en) * 2002-10-31 2004-07-15 Jianwei Yuan Methods and apparatus for summarizing document content for mobile communication devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001065354A1 (en) * 2000-03-01 2001-09-07 Celltrex Ltd. System and method for document division
US20040139397A1 (en) * 2002-10-31 2004-07-15 Jianwei Yuan Methods and apparatus for summarizing document content for mobile communication devices

Also Published As

Publication number Publication date
EP1667036B1 (en) 2007-10-10
CA2527436C (en) 2010-05-18
DE602004009459T2 (de) 2008-02-14
HK1090718A1 (en) 2006-12-29
DE602004009459D1 (de) 2007-11-22
ATE375563T1 (de) 2007-10-15
CN1783091A (zh) 2006-06-07
EP1667036A1 (en) 2006-06-07
SG122912A1 (en) 2006-06-29
CA2527436A1 (en) 2006-06-01

Similar Documents

Publication Publication Date Title
US7277890B2 (en) Method of finding a search string in a document for viewing on a mobile communication device
CN101916160B (zh) 在移动设备上显示信息
US7712027B2 (en) Method for document page delivery to a mobile communication device
US8045510B2 (en) Method for paginating a document structure of a document for viewing on a mobile communication device
CN101313353B (zh) 用于图像处理的系统和方法
US7877677B2 (en) Methods and apparatus for enabling use of web content on various types of devices
US8117238B2 (en) Method of delivering an electronic document to a remote electronic device
US9135341B2 (en) Method and arrangement for paginating and previewing XHTML/HTML formatted information content
CN1606300B (zh) 数据处理系统中分配图像的方法与系统
CN1320480C (zh) 通过无线通信媒体向便携式计算装置传送内容的系统与方法
US7606840B2 (en) Version control in a distributed computing environment
US8583691B2 (en) Method for viewing document information on a mobile communication device
CN101233510A (zh) 处理并基于无线网络将搜索结果发送到移动设备
US20040268256A1 (en) Program, character inputting and editing method, apparatus and storage medium
CN102812456A (zh) 用于内容叠合的方法
EP1302868A2 (en) Document sorting method based on link relation
US20100198805A1 (en) Method and apparatus for generating and displaying image
CN100403310C (zh) 在文档中查找搜索串并在移动通信设备上查看的方法
CN1841383B (zh) 用于请求并查看预览移动通信设备上的表附件的预览的方法
CN100504862C (zh) 查看移动通信设备的文件信息的方法
US8559764B2 (en) Editing an image representation of a text
CA2490559C (en) Method of delivering an electronic document to a remote electronic device
CA2479606C (en) Method for document page delivery to a mobile communication device
CN115293127A (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Ontario, Canada

Patentee after: BlackBerry Ltd.

Country or region after: Canada

Address before: Ontario, Canada

Patentee before: RESEARCH IN MOTION Ltd.

Country or region before: Canada

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240529

Address after: Ai Erlandubailin

Patentee after: Maliki Innovation Co.,Ltd.

Country or region after: Ireland

Address before: Ontario, Canada

Patentee before: BlackBerry Ltd.

Country or region before: Canada