HTML文档处理方法、页面显示方法和设备与流程

文档序号:21695426发布日期:2020-07-31 22:32阅读:202来源:国知局
HTML文档处理方法、页面显示方法和设备与流程

本发明涉及html文档处理方法、页面显示方法和设备。



背景技术:

超文本标记语言(hypertextmarkuplanguage,简称为html)是为页面和其它可在网页浏览器或阅读器中看到的信息设计的一种标记语言。按照html语法编写的代码内容为html文档。html文档的结构包括“头”部分(head)和“主体”部分(body),其中“头”部提供关于页面的信息,“主体”部分提供页面的具体内容。例如,页面的具体内容可以包括文本以及用于标示文本的显示样式的标签。例如,显示样式可以包括且不限于字体、颜色、行间距等。

网页浏览器或阅读器通过加载并解析html文档,可以完成html文档到页面的转换。dom是文档对象化模型(documentobjectmodel)的简称。现有的浏览器(包括移动设备使用的浏览器)以及阅读器通过dom将html文档中的标签和文本解析为dom树,其中树的每个节点表现为一个html标签或者html标签关联的文本。树形结构精确地描述了html文档中标签间以及文本间的相互关联性。

然而,由于现有技术中将html文档中的标签和文本全部融合至一个dom树中,因此标签和文本之间缺乏独立性。在这种情况下,一旦html文档的诸如字体、行间距之类的页面的样式发生变化,那么将需要重新解析html文档以生成新的dom树,导致处理开销很大。



技术实现要素:

鉴于以上情形,期望提供一种新的html文档处理方法、页面显示方法和设备,能够以更灵活的方式和结构来解析html文档,从而降低处理开销。

根据本发明的一个方面,提供了一种html文档处理方法,包括:通过分离html文档中包含的标签,获得仅包含文本的文本流;通过解析所述html文档中的标签和文本,构造索引树,其包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据;获得样式集,其为与所述索引树中的每个节点对应的文本段的样式的集合;以及将所述文本流、所述索引树和所述样式集相关联地存储。

另外,在根据本发明实施例的方法中,至少将所述文本流存储在内存之外的非易失性存储单元中。

另外,在根据本发明实施例的方法中,将所述文本流、所述索引树和所述样式集相关联地存储的步骤进一步包括:以所述索引树中的每个节点所包括的数据为单元,对各节点所包括的数据进行排序以形成一索引数组;以及将所述索引数组存储在内存之外的非易失性存储单元中。

另外,在根据本发明实施例的方法中,所述对各节点所包括的数据进行排序以形成一索引数组的步骤进一步包括:按照各节点所包括的数据所指示的区间的左端点从小到大的次序排序,得到第一数组;对于所述第一数组中区间的左端点相同的两个单元,进一步按照区间的右端点从大到小的次序排序,得到所述索引数组。

另外,在根据本发明实施例的方法中,将所述索引数组存储在内存之外的非易失性存储单元中的步骤进一步包括:对所述索引数组执行压缩;以及将压缩后的索引数组存储在内存之外的非易失性存储单元中。

另外,在根据本发明实施例的方法中,将所述文本流、所述索引树和所述样式集相关联地存储的步骤进一步包括:将所述样式集序列化为所述非易失性存储单元能够存储的特定格式的样式数组;以及将所述样式数组存储在所述非易失性存储单元中。

根据本发明的另一方面,提供了一种页面显示方法,包括:响应于用以显示页面的指令,基于与所述页面对应的索引树、样式集和文本流执行页面的排版处理,其中所述索引树、所述样式集和所述文本流通过处理与所述页面对应的html文档而预先得到,所述文本流通过分离html文档中包含的标签而获得且仅包含文本,所述索引树包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据,所述样式集为与所述索引树中的每个节点对应的文本段的样式的集合,并且所述文本流、索引树和样式集相关联地存储;以及显示排版处理后的页面。

另外,在根据本发明实施例的方法中,至少所述文本流存储在内存之外的非易失性存储单元中,并且所述基于与所述页面对应的索引树、样式集和文本流执行页面的排版处理的步骤进一步包括:在所述非易失性存储单元中检索与该html文档对应的文本流,并且仅将部分文本流加载至内存中;以及基于所述索引树、所述样式集和所述部分文本流执行页面的排版处理。

另外,在根据本发明实施例的方法中,所述索引树被变换为索引数组且存储在内存之外的非易失性存储单元中,所述样式集被序列化为样式数组且存储在内存之外的非易失性存储单元中,并且其中所述方法进一步包括:将与所述页面对应的索引数组加载至内存中,并基于所述索引数组恢复与所述索引数组对应的索引树;以及将与所述页面对应的样式数组加载到内存中,并反序列化为所述样式集。

另外,在根据本发明实施例的方法中,基于所述索引数组恢复与所述索引数组对应的索引树的步骤进一步包括:在内存中构造一棵以[0,∞,0)作为根节点的索引树,然后给定一个指针p指向索引树上的当前节点;从索引数组里依次读取三个数字作为一个单元,给定一个指针t指向第一个单元,其中指针t表示的是当前待放置的一个节点;判断是否满足以下条件:指针t所指向的节点的文本段区间的左端点大于等于指针p所指向的节点的文本段区间的左端点且指针t所指向的节点的文本段区间的右端点小于等于指针p所指向的节点的文本段区间的右端点;如果判断结果为是,则将指针t所指向的节点插入到索引树作为指针p所指向的当前节点的子节点,如果当前节点已存在子节点,则通过比较待插入的节点和已有子节点的文本段区间来决定放置在已有子节点的右侧还是左侧;如果判断结果为否,则将p指针指向当前节点的父节点,并重复以上步骤的判断,直至t节点满足条件为止;将指针p所指向的当前节点移动至指针t所指向的节点,并且将指针t指向索引数组中的下一个单元,直到索引数组为空。

另外,根据本发明实施例的方法进一步包括:响应于用以改变所述页面的样式的指令,修改所述样式集;基于修改后的样式集、所述索引树和所述文本流来执行页面的排版处理;以及显示排版处理后的页面。

根据本发明的另一方面,提供了一种html文档处理设备,包括:文本流获取装置,用于通过分离html文档中包含的标签,获得仅包含文本的文本流;索引树构造装置,用于通过解析所述html文档中的标签和文本,构造索引树,其包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据;样式集获取装置,用于获得样式集,其为与所述索引树中的每个节点对应的文本段的样式的集合;以及存储装置,用于将所述文本流、所述索引树和所述样式集相关联地存储。

另外,在根据本发明实施例的设备中,所述存储装置包括内存和非易失性存储单元,并且,至少所述文本流存储在内存之外的非易失性存储单元中。

另外,根据本发明实施例的设备进一步包括:索引树转换装置,用于以所述索引树中的每个节点所包括的数据为单元,对各节点所包括的数据进行排序以形成一索引数组,并且,其中,在内存之外的非易失性存储单元中存储所述索引数组。

另外,根据本发明实施例的设备进一步包括:压缩装置,用于对所述索引数组执行压缩,其中,在内存之外的非易失性存储单元中存储压缩后的索引数组。

另外,根据本发明实施例的设备进一步包括:样式集转换装置,用于将所述样式集序列化为所述非易失性存储单元能够存储的特定格式的样式数组,其中,在所述非易失性存储单元中存储所述样式数组。

根据本发明的另一方面,提供了一种页面显示设备,包括:存储装置,包括内存和非易失性存储单元,用于存储通过关于与页面对应的html文档进行预处理而得到的文本流、索引树和样式集,其中所述文本流通过分离html文档中包含的标签而获得且仅包含文本,所述索引树包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据,其中所述标签用于标注与其对应的文本段的样式,所述样式集为与所述索引树中的每个节点对应的文本段的样式的集合;排版处理装置,用于响应于用以显示页面的指令,基于与所述页面对应的索引树、样式集和文本流执行页面的排版处理;以及显示装置,用于显示所述排版处理装置处理后的页面。

另外,在根据本发明实施例的设备中,至少所述文本流存储在内存之外的非易失性存储单元中,并且所述设备进一步包括:文本流加载装置,用于响应于用以显示页面的指令,在所述非易失性存储单元中检索与该html文档对应的文本流,并且仅将部分文本流加载至内存中,其中所述排版处理装置进一步被配置为基于所述索引树、所述样式集和所述部分文本流执行页面的排版处理。

另外,在根据本发明实施例的设备中,所述索引树被变换为索引数组且存储在内存之外的非易失性存储单元中,所述样式集被序列化为样式数组且存储在内存之外的非易失性存储单元中,并且其中所述设备进一步包括:索引树恢复装置,用于将与所述页面对应的索引数组加载至内存中,并基于所述索引数组恢复与所述索引数组对应的索引树;样式集恢复装置,用于将与所述页面对应的样式数组加载到内存中,并反序列化为所述样式集。

另外,根据本发明实施例的设备进一步包括:样式集修改装置,用于响应于用以改变所述页面的样式的指令,修改所述样式集,其中所述排版处理装置进一步被配置为基于修改后的样式集、所述索引树和所述文本流来执行页面的排版处理。

根据本发明的另一方面,提供了一种计算机可读记录介质,其上存储有计算机程序,当由处理器执行所述计算机程序时,实现以下步骤:通过分离html文档中包含的标签,获得仅包含文本的文本流;通过解析所述html文档中的标签和文本,构造索引树,其包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据;获得样式集,其为与所述索引树中的每个节点对应的文本段的样式的集合;以及将所述文本流、所述索引树和所述样式集相关联地存储。

另外,根据本发明的另一方面,提供了一种计算机可读记录介质,其上存储有计算机程序,当由处理器执行所述计算机程序时,实现以下步骤:响应于用以显示页面的指令,基于与所述页面对应的索引树、样式集和文本流执行页面的排版处理,其中所述索引树、所述样式集和所述文本流通过处理与所述页面对应的html文档而预先得到,所述文本流通过分离html文档中包含的标签而获得且仅包含文本,所述索引树包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据,所述样式集为与所述索引树中的每个节点对应的文本段的样式的集合;以及显示排版处理后的页面。

在根据本发明实施例的html文档处理方法、页面显示方法、设备和介质中,首先,通过分离文本和标签,将现有技术中的一个dom树拆解为三个数据结构单独保存,从而能够更灵活地应对html文档发生改变的情况。例如,在进行调整字体、阅读行间距、字间距等参数时,无需重新解析html文档,而是基于已有的索引树和文本流,仅修改样式集,就能够执行样式的调整,因此降低了系统开销,实现了高效的排版处理。

附图说明

图1是图示本发明的实施例的应用环境的示意图;

图2是图示根据本发明实施例的html文档处理方法的具体过程的流程图;

图3是图示根据本发明实施例的html文档处理方法所构造的索引树的示意图;

图4是图示作为比较示例的、根据现有技术的html文档处理方法所构造的dom树的示意图;

图5示出了根据本发明的html文档处理方法对应的信号流图;

图6示出了本发明可以应用到的阅读器的示意图;

图7示出了本发明可以应用到的浏览器的示意图;

图8是图示根据本发明实施例的页面显示方法的具体过程的流程图;

图9(a)至图9(d)是图示基于索引数组恢复索引树的一种可能的实施方式的示意图;

图10是图示根据本发明实施例的html文档处理设备的配置的功能性框图;

图11是图示根据本发明实施例的页面显示设备的配置的功能性框图;

图12示出了根据本发明的html文档处理设备作为硬件实体的一个示例;

图13示出了根据本发明的页面显示设备作为硬件实体的一个示例;以及图14示出了根据本发明的实施例的计算机可读记录介质的示意图。

具体实施方式

下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。

首先,将简要描述本发明的实施例的应用环境。如图1所示,服务器10通过网络30连接到多个终端设备20。所述多个终端设备20可以是由要查看页面的用户所使用的终端。例如,终端设备20可以包括下文中所述的html文档处理设备,并且也可以包括下文中所述的页面显示设备。所述终端可以是智能终端,例如智能电话、pda(个人数字助理)、台式计算机、笔记本计算机、平板计算机等,也可以是其他类型的终端。所述服务器10为与浏览器所要显示的页面的网址对应的服务器或者与阅读器所要显示的页面内容对应的服务器。例如,当用户希望查看一页面时,可以从对应的服务器获取html文档,然后在终端设备端通过解析html文档来查看相应的页面。所述网络30可以是任何类型的有线或无线网络,例如因特网。应当认识到,图1所示的客户端设备20的数量是示意性的,而不是限制性的。

接下来,将描述本发明的各个实施例。

首先,将参照图2描述根据本发明实施例的html文档处理方法。所述html文档处理方法是在页面显示之前进行的解析预处理。如图2所示,所述html文档处理方法包括以下步骤。

首先,在步骤s201,通过分离html文档中包含的标签,获得仅包含文本的文本流。

例如,给定一个html文档片段:

<p><i>weread</i><b>rocks</b>!</p>

其中,p、i、b是表示对应文本的样式的标签。例如,文本的样式可以包括且不限于字体、颜色、行间距等。

那么,通过步骤s201的处理,具体地,通过去除该html文档片段中的标签p、i、b并保留各标签所对应的文本(即,包含在标签内的文本),将获得分离标签(p、i、b)之后的文本流wereadrocks!

然后,在步骤s202,通过解析所述html文档中的标签和文本,构造索引树,其包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据,其中所述标签用于标注与其对应的文本段的样式。

例如,仍以上文中的html文档片段为例,可以按照如下方式构造索引树。首先,对于标签p而言,其所对应的文本段为全部文本段,以两个数字分别表示标签p所对应的文本段的存储位置的起点和终点,在本例中为[0,12)。另外,还需要一个数字(例如,“0”)来表示与标签p对应的文本段的样式。那么,通过分析标签p以及其所对应的文本,可以得到索引树中的一个节点[0,12,0)。然后,在分别对于标签i和标签b重复相同的处理。进而得到另外两个节点[0,6,1)、[6,11,2)。由于与标签p所标注的文本段对应的节点的文本段区间最大,因此将该节点作为根节点。另外两个节点按照文本段区间的大小次序分别作为根节点的左、右子节点。图3示出了通过步骤s202构造出的索引树的一种示例。如图3所示,索引树包括一个根节点[0,12,0)和两个子节点[0,6,1)、[6,11,2)。在图3中所示的树结构中,以左闭右开的方式表示一个节点所对应的文本段的区间。前两个数字表示对应文本段的存储位置的起点和终点,最后一个数字指示该文本段的样式。在图3所示的示例中,以三个数字0、1、2来对应html文档中的标签p、i、b所对应的文本段的样式。如稍后所述,0、1、2分别表示标签p、i、b所对应的文本段的样式在样式集中的索引。另外,在索引树中的一个节点中,表示标签所对应的文本段的存储位置的起点和终点的数字与表示与标签对应的文本段的样式的数字的排列顺序不限于图3中所示的顺序。例如,索引树中的三个节点也可以表示为[0,0,12)、[1,0,6)、[2,6,11)或者[0,0,12)、[0,1,6)、[6,2,11)。

此外,仍以上文中所述的html文档片段为例,图4示出了作为比较示例的、根据现有技术的html文档处理方法所构造的dom树。从图4中可以看出,现有技术中将html文档中的标签和文本全部融合至一个dom树中。相比之下,返回参照图3,在根据本发明的html文档处理方法所构造的索引树中,仅包含用于关联样式和文本的关系的数据,但并不包含文本和样式的任何具体数据。

接下来,在步骤s203,获得样式集,其为与所述索引树中的每个节点对应的样式的集合。

例如,可以基于与html文档相关联的css(cascadingstylesheets,级联样式表)来获得该样式集。css用来限定样式的具体内容。例如,对应于上文中所示例的html文档片段,css限定的具体样式可以为:

p{color:blue;}(p标签所表示的样式为字体蓝色);

i{font-style:italic;color:black;}(i标签所表示的样式为斜体、字体黑色);

b{font-weight:bold;color:red;}(b标签所表示的样式为加粗、字体红色)。

其中,标签p、i、b也可以看作用以选择对应的文本段采用何种样式来显示的选择器,{color:blue;}、{font-style:italic;color:black;}、{font-weight:bold;color:red;}则为用于描述样式的具体内容的样式块。

因此,css本身是一个“选择器,样式块”的数组。在构造索引树的时候,选择器就需要跟树节点进行匹配,以确定该块样式是否属于这个节点。所以,在保存的时候,无需保留“选择器”这个信息,而只需保留样式块,索引树上会在每个节点记录其所属的样式块的位置(例如,图3示例中的节点中的第三个数字:0、1、2)。

基于在步骤s202中构造的索引树,例如图3所示的索引树,并且基于与html文档相关联的css,可以获得如下样式集:

[{color:blue;},{font-style:italic;color:black;},{font-weight:bold;color:red;}]。

可见,在图3所示的索引树的情况下,可以获得包含三个样式块的数组作为样式集。其中,该数组中的第0个元素{color:blue;}对应于索引树中0所指示的样式的具体内容,该数组中的第1个元素{font-style:italic;color:black;}对应于索引树中1所指示的样式的具体内容,该数组中的第2个元素{font-weight:bold;color:red;}对应于索引树中2所指示的样式的具体内容。

最后,在步骤s204,将所述文本流、所述索引树和所述样式集相关联地存储。

需要指出的是,尽管在图2中以时间先后顺序示出了获取文本流、索引树和样式集的步骤,但是本发明并不仅限于此,且本发明并不意在具体限定获取文本流、索引树和样式集的步骤的先后顺序。例如,也可以与图2中所示的顺序不同地,先获取索引树和样式集,再获取文本流。此外,除了以时间先后顺序依次执行之外,以上步骤也可以并行地执行。

图5示出了根据本发明的html文档处理方法对应的信号流图。在根据本发明实施例的html文档处理方法中,可以基于从服务器获得的zip形式的文件来获得html文档与相关联的css,并且通过分离文本和标签,将现有技术中的一个dom树拆解为三个数据结构单独保存,从而能够更灵活地应对html文档发生改变的情况。例如,在进行调整字体、阅读行间距、字间距等参数时,无需重新解析html文档,而是基于已有的索引树和文本流,仅修改样式集,就能够执行样式的调整,因此降低了系统开销,实现了高效的排版处理。

这里,需要说明的是,在根据本发明实施例的html文档处理方法中,解析得到的文本流、索引树和样式集作为三个数据结构单独保存,但是并不特别地限定文本流、索引树和样式集的存储位置。例如,可以将文本流、索引树和样式集都保存在内存中。或者,也可以将文本流、索引树和样式集都保存在非易失性存储单元中。或者,也可以其中的一部分保存在内存中,而将另一部分保存在非易失性存储单元中。

然而,作为一种替代的实施方式,在根据本发明实施例的html文档处理方法中,也可以具体限定文本流、索引树和样式集的存储位置。例如,至少将所述文本流存储在内存之外的非易失性存储单元中。

具体来说,本发明可应用于阅读器、网页浏览器等。当然,本发明并不仅限于此。除了浏览器和阅读器之外,涉及页面浏览的任何其他应用场景也可以类似地应用本发明,比如新闻、社交网络等具有页面浏览功能的页面都可以类似地应用本发明。

图6示出了本发明可以应用到的阅读器的示意图。在图6中,分别示出了三个页面。其中,页面601是当用户启动该阅读器应用时的启动页面,页面602是由用户选择的某一本书的封面及简介,页面603是当用户对该本书进行阅读时显示的页面。

在本发明应用于阅读器(如图6所示)的场景下,当用户希望阅读某一本书时,可操作图1中所示的终端设备向与该阅读器对应的服务器发送请求,并从服务器接收与该本书对应的html文档。终端设备首先将接收到的html文档存储在非易失性存储单元中,然后再将其加载到内存进行解析。由于一本书中的页面是固定的,因此可预先将所有章节(如稍后所述,一本书的一个章节(多页)对应一个html文档)对应的文本流、索引树和样式集解析出来,存储在内存之外的非易失性存储单元中,然后当需要显示某一页面时再将与之对应的文本流、索引树和样式集加载到内存以执行排版处理。也就是说,在这种情况下,在通过步骤s201至s203的处理得到所述文本流、所述索引树和所述样式集之后,将这三部分相关联地存储在内存之外的非易失性存储单元中。因此,在显示页面时能够减少解析html文档所花费的时间,从而能够提高页面显示时的加载速度。并且,当执行页面显示(例如,图6中的页面603)时,可以仅将与当前页面显示相关的部分文本加载至内存即可(具体细节将在下文中描述),可以进一步降低内存开销。

对于内存而言,可以利用复杂的类型来表述信息,但是对于非易失性存储单元(如,磁盘)而言,只能利用单一的类型来表述信息,例如,只能存储字节流。举例而言,内存里一个数组的集合可以描述为[(1,2,3),(4,5,6)],而在非易失性存储单元里,则只能将该数组的集合描述为[1,2,3,4,5,6]。因此,在将步骤s202构造出的索引树存储至非易失性存储单元的情况下,需要对索引树中的各节点所包括的数据进行排序以得到非易失性存储单元能够存储的一个数组。

具体来说,将所述文本流、所述索引树和所述样式集相关联地存储的步骤s204可以进一步包括:以所述索引树中的每个节点所包括的数据为单元,对各节点所包括的数据进行排序以形成一索引数组;以及将所述索引数组存储在内存之外的非易失性存储单元中。

仍以图3所示的索引树为例进行说明。三个节点分别为[0,12,0),[0,6,1),[6,11,2)。每个节点所包括的数据作为一个单元,例如,0,12,0为一个单元,提取每个单元中的数据并进行排序。这里,需要指出的是,排列时一个单元所包含的数字不可改变次序且作为一个整体。

作为一种可能的实施方式,可以随机地对所述数据进行排序。例如,可以对三个单元的数字[0,12,0),[0,6,1),[6,11,2)随机排序以形成一索引数组[0,6,1,0,12,0,6,11,2]。

然而,考虑到后续恢复索引树时的处理开销,作为另一种可能的实施方式,可以按照特定的规则对各单元所包含的数字进行有规律的排序。例如,各单元中包括的指示样式的数字不影响排序,在排序时仅考虑指示文本段的起点和终点的两个数字。当然,本发明并不仅限于此,且并不排除在需要时,各单元中包括的指示样式的数字也可以参与排序的情况。

作为一种示例,可以按照如下规则进行排序:首先,按照区间的左端点(即,文本段的起点)从小到大的次序排序,得到一数组[0,12,0,0,6,1,6,11,2]。然后,对于区间的左端点相同的两个单元,即[0,12,0)和[0,6,1),进一步按照区间的右端点(即,文本段的终点)从大到小的次序排序,得到最终的索引数组[0,12,0,0,6,1,6,11,2]。

此外,考虑到存储空间的有效利用,作为一种可能的实施方式,将所述索引数组保存在内存之外的非易失性存储单元中的步骤可以进一步包括:对所述索引数组执行压缩,以及将压缩后的索引数组存储在内存之外的非易失性存储单元中。

例如,可以采用变长压缩编码对所述索引数字进行压缩。由于大部分html文档都比较小,因此索引树的节点中表示文本段的起点终点的数值将很小(尤其是左侧部分的节点),在这种情况下,对于该左侧部分的节点,可以减少用以存储数据的字节数,以达到数据压缩的目的。具体地,针对索引数组中的每一个数字,依次执行如下处理:判断该数字是否小于65535。如果判断结果为是,即该数字小于65535,则使用第一数量的字节(例如,1至2个字节(byte))来保存。另一方面,如果判断结果为否,即该数字大于65535,则使用第二数量的字节(例如,4个字节)来保存。这里,第一数量小于第二数量。因此,与使用固定的字节数来保存索引数组的情况相比,可以进一步压缩存储空间。

当然,在存储索引数组时执行压缩处理的情况下,当恢复索引树时,相应地需要首先对索引数组执行解压缩,然后再执行索引树的恢复处理。

除了索引树的转换之外,为了适应内存与非易失性存储单元的不同,将所述文本流、所述索引树和所述样式集相关联地存储的步骤进一步包括:将所述样式集序列化为所述非易失性存储单元能够存储的特定格式的样式数组;以及将所述样式数组存储在所述非易失性存储单元中。例如,可以将样式集序列化为json格式的样式数字保存。

与索引树和样式集相比,文本流不需要执行转换,而直接以原文在非易失性存储单元中保存为纯文本数据。

此外,图7示出了本发明可以应用到的浏览器的示意图。在图7中,用户可以在文本框701中键入网页地址,并响应于此,在页面702中显示与该网页地址对应的网页内容。

在本发明应用于浏览器(如图7所示)的场景下,当用户希望打开某一页面时,可通过例如输入网址的方式向对应的服务器发送请求,并从服务器接收与该页面对应的html文档。终端设备首先将接收到的html文档存储在非易失性存储单元中,然后再将其加载到内存进行解析。由于网页的内容不确定,因此每当希望打开一个新的页面时都重新解析html文档。在这种情况下,解析出来的索引树和样式集直接保存在内存中,而仅将文本流存储在内存之外的非易失性存储单元中。并且,当执行页面显示时,可以仅将与当前页面显示(例如,图7中页面702中显示的内容)相关的部分文本加载至内存即可(具体细节将在下文中描述)。这在页面的文本内容很多或者应用于资源受限的终端设备时尤其有用,可以大幅地降低内存开销。

在上文中,参照附图描述了根据本发明实施例的html文档处理方法,即在页面显示之前执行的解析预处理方法。接下来,将参照图8描述与上文中所述的html文档处理方法相对应的页面显示方法。其中,如上文中所述,该页面与一个html文档相对应,通过对所述html文档进行预处理而得到文本流、索引树和样式集,并且将所述文本流、索引树和样式集相关联地存储,其中至少将所述文本流存储在内存之外的非易失性存储单元中。如图8所示,所述页面显示方法包括以下步骤。

首先,在步骤s801,响应于用以显示页面的指令,基于与所述页面对应的索引树、样式集和文本流执行页面的排版处理,其中所述索引树、所述样式集和所述文本流通过处理与所述页面对应的html文档而预先得到,所述文本流通过分离html文档中包含的标签而获得且仅包含文本,所述索引树包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据,其中所述标签用于标注与其对应的文本段的样式,所述样式集为与所述索引树中的每个节点对应的文本段的样式的集合,并且所述文本流、索引树和样式集相关联地存储。

另外,作为一种替代的实施方式,至少所述文本流存储在内存之外的非易失性存储单元中,并且与此对应地,所述基于与所述页面对应的索引树、样式集和文本流执行页面的排版处理的步骤s801可以进一步包括响应于用以显示一页面的指令,在所述非易失性存储单元中检索与该html文档对应的文本流,并且仅将部分文本流加载至内存中;以及基于所述索引树、所述样式集和所述部分文本流执行页面的排版处理。

例如,在阅读器的应用场景中,一本书的一个章节(多页)对应一个html文档,也就是说,解析得到的文本流、索引树和样式集都对应于一个章节(多页)。在显示某一页面时,需要在非易失性存储单元中检索包含该页面的章节所对应的html文档,以获得文本流。然而,如前所述,这里的得到的文本流是对应于整个章节的文本流,如果将其全部加载至内存,则将造成过多的内存开销。因此,不需要将整个章节的文本都加载至内存,只需要将当前显示页面和上一页或下一页(共计两页)的文本加载至内存。此外,在网页浏览器的应用场景中,如果一个页面的长度很长(如,超过屏幕尺寸,需要滚动显示),那么可以仅将与显示屏尺寸对应的文本和上一屏或下一屏(共计两屏)的文本加载至内存。

由于大部分供移动设备访问的html文档中文本内容的占比往往很大,因此通过仅在内存中维持部分相关文本(例如两页或两屏)的缓冲区加载内容,可以降低内存开销,并且内存开销不会随着文本内容的增长而线性增长。

这里需要指出的是,在浏览器的应用场景下,由于在解析html文档得到文本流、索引树和样式集之后仅将文本流存储在内存之外的非易失性存储单元中,换言之,索引树和样式集由于仍然保留在内存中从而没有经过任何转换,因此在执行排版处理时只需要将需要的文本加载至内存,并基于索引树、样式集和该部分文本执行页面的排版处理即可。

在阅读器的应用场景下,由于预先解析html文档得到文本流、索引树和样式集,并将其全部存储在内存之外的非易失性存储单元中,因此为了适应非易失性存储单元不同的存储特性,索引树和样式集都需要进行转换。即,如上文中所述,通过将所述索引树变换为索引数组并将其存储在内存之外的非易失性存储单元中,以及通过将所述样式集序列化为样式数组并将其存储在内存之外的非易失性存储单元中。

因此,在这种情况下,在步骤s801之前,所述方法进一步包括恢复索引树和样式集的步骤。具体来说,在步骤s801之前,所述方法进一步包括:将与所述页面对应的索引数组加载至内存中,并基于所述索引数组恢复与所述索引数组对应的索引树;以及将与所述页面对应的样式数组加载到内存中,并反序列化为所述样式集。

作为一种可能的实施方式,仍然使用上文中的示例进行描述,索引树的恢复处理可以包括以下步骤。

步骤一:将索引数组[0,12,0,0,6,1,6,11,2]从非易失性存储单元读取至内存。

步骤二:在内存中构造一棵以[0,∞,0)作为根节点的树,其中与上文中所述的结构类似,前两个数字表示文本段的起点和终点,第三个数字表示该文本段所对应的样式且不影响后续步骤四中的判断。然后给定一个指针p指向索引树上的当前节点。由于目前索引树中只有一个根节点,因此指针p指向的是索引树上的根节点。

步骤三:从索引数组里依次读取,与上文中所描述的数组结构对应地,每次取出三个数字,作为一个左闭右开的单元。首先,给定一个指针t指向第一个单元[0,12,0),其中指针t表示的是当前待放置的一个节点。图9(a)示出了此时的索引树,其中指针t指向的节点的位置尚未确定。如上文中所述,各单元中的第三个数字仅表示文本段所对应的样式,是与文本段区间无关的数据,因此与后续的判断无关。注意,在图9(a)-图9(d)中,方框内的部分表示已形成的索引树部分。由于指针t所指向的节点在索引树中的位置尚未确定,因此其位于方框之外。

步骤四:判断是否满足以下条件:指针t所指向的节点的文本段区间的左端点大于等于指针p所指向的节点的文本段区间的左端点且指针t所指向的节点的文本段区间的右端点小于等于指针p所指向的节点的文本段区间的右端点。

如果判断结果为是,换言之,如果指针t所指向的节点的文本段区间包含在指针p所指向的节点的文本段区间之内,则将指针t所指向的节点插入到索引树作为指针p所指向的当前节点的子节点。如果当前节点已存在子节点,则通过比较待插入的节点和已有子节点的文本段区间来决定放置在已有子节点的右侧还是左侧。

另一方面,如果判断结果为否,则将p指针指向当前节点的父节点,并重复以上步骤四的判断,直至t节点满足条件为止。

然后,将指针p指向指针t,即:将指针p所指向的当前节点移动至指针t所指向的节点,并且将指针t指向索引数组中的下一个单元,直到索引数组为空。

图9(b)示出了将第一个单元所对应的节点插入至索引树并读取下一个单元的情况。由于第一个单元[0,12,0)满足条件,因此将其插入到索引树中作为根节点的子节点。同时,将指针p指向[0,12,0),并将指针t指向下一个待放置的节点[0,6,1)。

图9(c)示出了放置第二个单元所对应的节点的情况,且图9(d)示出了放置第三个单元所对应的节点的情况。在图9(c)中,指针t所指向的当前待放置节点[6,11,2)未包含在指针p所指向的节点[0,6,1)中,因此将指针p变换为指向当前指针的父节点[0,12,0),如图9(d)所示。然后,继续比较指针p所指向的节点[0,12,0)与指针t所指向的节点[6,11,2),此时以上条件满足,并将该节点插入至索引树中。由于该节点的区间位于节点[0,6,1)的右侧,所以将其插入至节点[0,6,1)的右侧。

然后,在步骤s802,显示排版处理后的页面。

此外,在页面显示的过程中,用户可能调整字体,行高,宽高等参数。在本发明中,由于单独解析并存储样式集,因此索引树、文本流均保持不变,仅修改样式集,并基于修改后的样式集和原有的索引树、文本流就可以执行排版显示。

因此,根据本发明的页面显示方法还可以在步骤s902之后,进一步包括:响应于用以改变所述页面的样式的指令,修改所述样式集;基于修改后的样式集、原有的文本流和样式集来执行页面的排版处理;以及显示排版处理后的页面。从而,在进行调整字体、阅读行间距、字间距等参数时,无需重新解析html文档,而是基于已有的索引树和文本流,仅修改样式集,就能够执行样式的调整,因此降低了系统开销,实现了高效的排版处理。

在上文中,已经参照图1至图9(a)-图9(d)详细描述了根据本发明实施例的html文档处理方法和页面显示方法。接下来,将参照图10描述与上文中所述的html文档处理方法对应的html文档处理设备。

如图10所示,html文档处理设备1000包括文本流获取装置1001、索引树构造装置1002、样式集获取装置1003和存储装置1004。html文档处理设备1000可以是上文参照图1所述的终端设备20中的一个组成部分。

文本流获取装置1001通过分离html文档中包含的标签,获得仅包含文本的文本流。

索引树构造装置1002通过解析所述html文档中的标签和文本,构造索引树,其包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据,其中所述标签用于标注与其对应的文本段的样式。

样式集获取装置1003获得样式集,其为与所述索引树中的每个节点对应的样式的具体内容的集合。

存储装置1004将所述文本流、所述索引树和所述样式集相关联地存储。

在根据本发明实施例的html文档处理设备中,通过分离文本和标签,将现有技术中的一个dom树拆解为三个数据结构单独保存,从而能够更灵活地应对html文档发生改变的情况。例如,在进行调整字体、阅读行间距、字间距等参数时,无需重新解析html文档,而是基于已有的索引树和文本流,仅修改样式集,就能够执行样式的调整,因此降低了系统开销,实现了高效的排版处理。

这里,需要说明的是,在根据本发明实施例的html文档处理设备中,文本流获取装置1001、索引树构造装置1002、样式集获取装置1003得到的文本流、索引树和样式集作为三个数据结构单独保存,但是并不特别地限定文本流、索引树和样式集的存储位置。例如,可以将文本流、索引树和样式集都保存在内存中。或者,也可以将文本流、索引树和样式集都保存在非易失性存储单元中。或者,也可以其中的一部分保存在内存中,而将另一部分保存在非易失性存储单元中。

然而,作为一种替代的实施方式,在根据本发明实施例的html文档处理设备中,也可以具体限定文本流、索引树和样式集的存储位置。例如,至少将所述文本流存储在内存之外的非易失性存储单元中。

例如,所述存储装置1004可以包括内存和非易失性存储单元,并且,至少所述文本流存储在内存之外的非易失性存储单元中。

具体来说,本发明可应用于阅读器、网页浏览器等。在本发明应用于阅读器的场景下,当用户希望阅读某一本书时,可操作图1中所示的终端设备向与该阅读器对应的服务器发送请求,并从服务器接收与该本书对应的html文档。终端设备首先将接收到的html文档存储在非易失性存储单元中,然后再将其加载到内存进行解析。由于一本书中的页面是固定的,因此可预先将所有章节对应的文本流、索引树和样式集解析出来,存储在内存之外的非易失性存储单元中,然后当需要显示某一页面时再将与之对应的文本流、索引树和样式集加载到内存以执行排版处理。也就是说,在这种情况下,在通过文本流获取装置1001、索引树构造装置1002、样式集获取装置1003的处理得到所述文本流、所述索引树和所述样式集之后,将这三部分相关联地存储在内存之外的非易失性存储单元中。因此,在显示页面时能够减少解析html文档所花费的时间,从而能够提高页面显示时的加载速度。并且,当执行页面显示时,可以仅将与当前页面显示相关的部分文本加载至内存即可(具体细节将在下文中描述),可以进一步降低内存开销。

对于内存而言,可以利用复杂的类型来表述信息,但是对于非易失性存储单元(如,磁盘)而言,只能利用单一的类型来表述信息,例如,只能存储字节流。举例而言,内存里一个数组的集合可以描述为[(1,2,3),(4,5,6)],而在非易失性存储单元里,则只能将该数组的集合描述为[1,2,3,4,5,6]。因此,在将索引树构造装置1002构造出的索引树存储至非易失性存储单元的情况下,需要对索引树中的各节点所包括的数据进行排序以得到非易失性存储单元能够存储的一个数组。

因此,html文档处理设备1000还可以进一步包括:索引树转换装置1005(由于其为非必要部件,因此图中以虚线示出),用于以所述索引树中的每个节点所包括的数据为单元,对各节点所包括的数据进行排序以形成一索引数组,其中在排序时一个单元中的数据作为一个整体且不可改变次序。并且,其中,在内存之外的非易失性存储单元中存储所述索引数组。

此外,考虑到存储空间的有效利用,作为一种可能的实施方式,所述html文档处理设备1000还可以进一步包括:压缩装置1006(由于其为非必要部件,因此图中以虚线示出),用于对所述索引数组执行压缩。其中,在内存之外的非易失性存储单元中存储压缩后的索引数组。

例如,可以采用变长压缩编码对所述索引数字进行压缩。由于大部分html文档都比较小,因此索引树的节点中表示文本段的起点终点的数值将很小(尤其是左侧部分的节点),在这种情况下,对于该左侧部分的节点,可以减少用以存储数据的字节数,以达到数据压缩的目的。具体地,针对索引数组中的每一个数字,依次执行如下处理:判断该数字是否小于65535。如果判断结果为是,即该数字小于65535,则使用第一数量的字节(例如,1至2个字节(byte))来保存。另一方面,如果判断结果为否,即该数字大于65535,则使用第二数量的字节(例如,4个字节)来保存。这里,第一数量小于第二数量。因此,与使用固定的字节数来保存索引数组的情况相比,可以进一步压缩存储空间。

当然,在存储索引数组时执行压缩处理的情况下,当恢复索引树时,相应地需要首先对索引数组执行解压缩,然后再执行索引树的恢复处理。

除了索引树的转换之外,为了适应内存与非易失性存储单元的不同,除了索引树转换装置之外,所述html文档处理设备还可以进一步包括:样式集转换装置1007(由于其为非必要部件,因此图中以虚线示出),用于将所述样式集序列化为所述非易失性存储单元能够存储的特定格式的样式数组。其中,在所述非易失性存储单元中存储所述样式数组。例如,可以将样式集序列化为json格式的样式数字保存。

与索引树和样式集相比,文本流不需要执行转换,而直接以原文在非易失性存储单元中保存为纯文本数据。

此外,在本发明应用于浏览器的场景下,当用户希望打开某一页面时,可通过例如输入网址的方式向对应的服务器发送请求,并从服务器接收与该页面对应的html文档。终端设备首先将接收到的html文档存储在非易失性存储单元中,然后再将其加载到内存进行解析。由于网页的内容不确定,因此每当希望打开一个新的页面时都重新解析html文档。在这种情况下,解析出来的索引树和样式集直接保存在内存中,而仅将文本流存储在内存之外的非易失性存储单元中。并且,当执行页面显示时,可以仅将与当前页面显示相关的部分文本加载至内存即可。这在页面的文本内容很多时尤其有用,可以大幅地降低内存开销。

接下来,将参照图11描述根据本发明实施例的页面显示设备。该页面显示设备与上文中所述的页面显示方法对应,且与上文中所述的html文档处理设备1000配合使用。如图11所示,页面显示设备1100包括存储装置1101、排版处理装置1102和显示装置1103。页面显示设备1100可以是上文参照图1所述的终端设备20或者其中的一个组成部分。

存储装置1101包括内存和非易失性存储单元,用于存储通过关于与页面对应的html文档进行预处理而得到的文本流、索引树和样式集,其中所述文本流通过分离html文档中包含的标签而获得且仅包含文本,所述索引树包括一个或多个节点,并且每一个节点包括指示所述文本中与该节点对应的文本段的数据以及指示该文本段的样式的数据,其中所述标签用于标注与其对应的文本段的样式,所述样式集为与所述索引树中的每个节点对应的文本段的样式的集合,并且所述文本流、索引树和样式集相关联地存储。

排版处理装置1102用于基于所述索引树、所述样式集和所述文本流执行页面的排版处理。

显示装置1103用于显示所述排版处理装置处理后的页面。

与根据本发明实施例的html文档处理设备相对应地,在页面显示设备中,基于作为三个独立数据结构保存的文本流、索引树和样式集,能够更灵活地执行页面的排版显示。

另外,作为一种替代的实施方式,至少所述文本流存储在内存之外的非易失性存储单元中,并且与此对应地,页面显示设备1100可以进一步包括:文本流加载装置1104(由于其为非必要部件,因此图中以虚线示出),用于响应于用以显示一页面的指令,在所述非易失性存储单元中检索与该html文档对应的文本流,并且仅将部分文本流加载至内存中。例如,在阅读器的应用场景中,一本书的一个章节(多页)对应一个html文档,也就是说,解析得到的文本流、索引树和样式集都对应于一个章节(多页)。在显示某一页面时,需要在非易失性存储单元中检索包含该页面的章节所对应的html文档,以获得文本流。然而,如前所述,这里的得到的文本流是对应于整个章节的文本流,如果将其全部加载至内存,则将造成过多的内存开销。因此,不需要将整个章节的文本都加在至内存,只需要将当前显示页面和上一页或下一页(共计两页)的文本加载至内存。此外,在网页浏览器的应用场景中,如果一个页面的长度很长(如,超过屏幕尺寸,需要滚动显示),那么可以仅将与显示屏尺寸对应的文本和上一屏或下一屏(共计两屏)的文本加载至内存。其中所述排版处理装置1102进一步被配置为基于所述索引树、所述样式集和所述部分文本流执行页面的排版处理。

由于大部分供移动设备访问的html文档中文本内容的占比往往很大,因此通过仅在内存中维持部分相关文本(例如两页或两屏)的缓冲区加载内容,可以降低内存开销,并且不会随着文本内容的增长而线性增长。

这里需要指出的是,在浏览器的应用场景下,由于在解析html文档得到文本流、索引树和样式集之后仅将文本流存储在内存之外的非易失性存储单元中,换言之,索引树和样式集由于仍然保留在内存中从而没有经过任何转换,因此在执行排版处理时只需要将需要的文本加载至内存,并基于索引树、样式集和该部分文本执行页面的排版处理即可。

在阅读器的应用场景下,由于预先解析html文档得到文本流、索引树和样式集,并将其全部存储在内存之外的非易失性存储单元中,因此为了适应非易失性存储单元不同的存储特性,索引树和样式集都需要进行转换。即,如上文中所述,通过将所述索引树变换为索引数组并将其存储在内存之外的非易失性存储单元中,以及通过将所述样式集序列化为样式数组并将其存储在内存之外的非易失性存储单元中。

因此,在这种情况下,所述页面显示设备还可以进一步包括:索引树恢复装置1105(由于其为非必要部件,因此图中以虚线示出),用于将与所述页面对应的索引数组加载至内存中,并基于所述索引数组和第二预定规则,恢复与所述索引数组对应的索引树;以及样式集恢复装置1106(由于其为非必要部件,因此图中以虚线示出),用于将与所述页面对应的样式数组加载到内存中,并反序列化为所述样式集。

当然,与html文档处理装置对应地,所述页面显示设备还可以进一步包括解压缩装置1107,用于在对索引数组压缩的情况下在恢复索引树之前对索引数组进行解压缩处理。

此外,在页面显示的过程中,用户可能调整字体,行高,宽高等参数。在本发明中,由于单独解析并存储样式集,因此索引树、文本流均保持不变,仅修改样式集,并基于修改后的样式集和原有的索引树、文本流就可以执行排版显示。

因此,所述页面显示设备还可以进一步包括:样式集修改装置1107(由于其为非必要部件,因此图中以虚线示出),用于响应于用以改变所述页面的样式的指令,修改所述样式集。其中所述排版处理装置1102基于修改后的样式集来调整页面的排版。

另外,这里需要指出的是,由于html文档处理设备和页面显示设备中各装置的具体处理完全对应于上文中所述的html文档处理方法和页面显示方法,因此为了避免冗余起见,这里未对各处理的具体细节展开描述。本领域的技术人员可以理解,上文中所述的html文档处理方法和页面显示方法中的处理完全可以类似地适用于html文档处理设备和页面显示设备中的各装置。

根据本发明的html文档处理设备作为硬件实体的一个示例如图12所示。所述html处理设备包括处理器1201、存储器1202以及至少一个外部通信接口1203。所述处理器1201、存储器1202以及外部通信接口1203均通过总线1204连接。

对于用于数据处理的处理器1201而言,在执行处理时,可以采用微处理器、中央处理器(cpu,centralprocessingunit)、数字信号处理器(dsp,digitalsingnalprocessor)或可编程逻辑阵列(fpga,field-programmablegatearray)实现;对于存储器1202来说,包含操作指令,该操作指令可以为计算机可执行代码,通过所述操作指令来实现上述本发明实施例的html文档处理方法流程中的各个步骤。

根据本发明的页面显示设备作为硬件实体的一个示例如图13所示。所述html处理设备包括处理器1301、存储器1302、显示器1303以及至少一个外部通信接口1304。所述处理器1301、存储器1302、显示器1303以及外部通信接口1304均通过总线1305连接。

对于用于数据处理的处理器1301而言,在执行处理时,可以采用微处理器、中央处理器(cpu,centralprocessingunit)、数字信号处理器(dsp,digitalsingnalprocessor)或可编程逻辑阵列(fpga,field-programmablegatearray)实现;对于存储器1302来说,包含操作指令,该操作指令可以为计算机可执行代码,通过所述操作指令来实现上述本发明实施例的html文档处理方法流程中的各个步骤。

图14示出了根据本发明的实施例的计算机可读记录介质的示意图。如图14所示,根据本发明实施例的计算机可读记录介质1400其上存储有计算机程序指令1401。当所述计算机程序指令1401由处理器运行时,执行参照以上附图描述的根据本发明实施例的html文档处理方法或页面显示方法。

迄今为止,已经参照图1到图14详细描述了根据本发明实施例的html文档处理方法、页面显示方法、设备和介质。在根据本发明实施例的html文档处理方法、页面显示方法、设备和介质中,首先,通过分离文本和标签,将现有技术中的一个dom树拆解为三个数据结构单独保存,从而能够更灵活地应对html文档发生改变的情况。例如,在进行调整字体、阅读行间距、字间距等参数时,无需重新解析html文档,而是基于已有的索引树和文本流,仅修改样式集,就能够执行样式的调整,因此降低了系统开销,实现了高效的排版处理。另外,当执行页面显示时,仅将与当前页面显示相关的部分文本加载至内存,这在页面的文本内容很多或者应用于资源受限的终端设备时尤其有用,可以大幅地降低内存开销,防止出现内存占用过大所引起的卡顿,甚至内存不够进而无法完成页面排版的情况。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1