一种电子书文档的处理方法、终端及电子设备的制作方法

文档序号:6515639阅读:110来源:国知局
一种电子书文档的处理方法、终端及电子设备的制作方法
【专利摘要】本发明实施例公开了一种电子书文档的处理方法、终端及电子设备,该方法包括:获取电子书文档;按照预设分段方式对电子书文档的内容分段,生成多个片段;将多个片段组成一个有序的片段组;在片段组中选择一个片段,将片段作为当前片段;解析当前片段的内容,生成布局排版数据;根据布局排版数据生成页面图像。每次对电子书操作时,仅解析电子书文档中的一个片段,每次在操作过程中需要处理的数据量仅为一个片段的数据量,所以处理数据的效率就得到提升,进而缩短了读取电子书的时间;而且,移动终端在处理电子书文档的一个片段时,无论是解析操作还是后续的生成页面图像的操作,需处理的数据量都相对较小,所以降低电子书对移动终端内存的占用。
【专利说明】一种电子书文档的处理方法、终端及电子设备
【技术领域】
[0001]本发明涉及数据处理领域,更具体的说,涉及电子书文档的处理方法、终端及电子设备。
【背景技术】
[0002]随着移动终端的不断普及,在移动终端上阅读和编辑电子书也越来越普及,在某些场合,部分电子书已经替代了纸质图书,成为日常生活中主要的阅读手段。用于阅读电子书的移动终端有很多,例如,智能手机、平板电脑或电子阅读器等等。
[0003]目前,电子书文档主要采用HTML (Hypertext Markup Language,超文本标记语言)来编辑,对于采用HTML编辑的电子书文档可以简称为HTML文档。在用户通过移动终端打开电子书以后,移动终端会读取电子书的HTML文档到内存中,对HTML文档翻译后使电子书转换成用户可通过移动终端观看的页面图像。上述翻译的过程主要包括解析步骤、全分页步骤、生成页面对象步骤和生成页面图像步骤等。
[0004]在研究和实践过程中,发明人发现上述处理电子书的方式至少存在以下问题:
[0005]通常,一个移动终端的存储能力和计算能力均是有限制的。如果电子书的容量相对较大,那么移动终端读取电子书时处理的数据就会占用很多的存储资源,从而导致读取电子书文档时,解析和全分页步骤的运行效率下降,延长移动终端读取电子书的时间。而且,电子书容量越大,越可能导致在解析和全分页的步骤消耗过多的内存资源,从而使移动终端运行效率下降,严重时,移动终端可能出现卡顿或死机等现象。
[0006]因此,如何提供一种读取时间短且内存占用低的电子书高效率处理方法,成为目前最需要解决的问题。

【发明内容】

[0007]有鉴于此,本发明的设计目的在于,提供一种电子书文档的处理方法、终端及电子设备,使得移动终端在读取电子书时,可缩短读取时间,且降低内存的占用。
[0008]为了达到上述目的,本发明实施例提出一种电子书文档的处理方法,该方法包括以下步骤:
[0009]获取电子书文档;
[0010]按照预设分段方式对电子书文档的内容分段,生成多个片段;
[0011]将多个片段组成一个有序的片段组;
[0012]在片段组中选择一个片段,将片段作为当前片段;
[0013]解析当前片段的内容,生成布局排版数据;
[0014]根据布局排版数据生成页面图像。
[0015]本发明实施例中,将电子书文档分成多个片段,每次对电子书操作时,仅解析电子书文档中的一个片段,并利用该片段生成的布局排版数据生成页面图像,所以每次在操作过程中需要处理的数据量仅为一个片段的数据量,所以在移动终端读取电子书文档时,处理数据的效率就得到提升,进而缩短了读取电子书的时间;而且,分段操作实现对电子书文档分批次处理,移动终端在处理电子书文档的一个片段时,无论是解析操作还是后续的生成页面图像的操作,需处理的数据量都相对较小,所以降低电子书对移动终端内存的占用。
[0016]作为上述技术方案的优选,在生成布局排版数据的步骤之后,方法还包括:
[0017]记录当前片段在片段组中的位置信息;
[0018]判断布局排版数据的数据量是否低于预设值,如果数据量低于预设值,根据位置信息选择当前片段的下一个片段,并将下一个片段作为当前片段,返回解析当前片段内的内容的步骤。
[0019]本方案实现了保证布局排版数据的数据量足以生成页面图像。
[0020]作为上述技术方案的优选,按照预设分段方式对电子书文档的内容进行分段的步骤,包括下述子步骤:
[0021]确定分段值;
[0022]将电子书文档的内容拆分成多个与分段值大小相同的片段。
[0023]本方案实现了具体分段的方式。
[0024]作为上述技术方案的优选,方法还包括:
[0025]判断片段的起始点处的信息是否完整,如果不完整,在片段的起始点向上一个片段移动确定信息的起始点,并将信息的起始点作为片段的起始点和上一个片段的结束点。
[0026]本方案避免一个完整的信息被拆分到两个片段中去,进一步对片段的起始点和结束点进行精确的划分。
[0027]作为上述技术方案的优选,方法还包括:
[0028]判断片段的起始点处的信息是否完整,如果不完整,在片段的起始点向片段的结束点移动确定信息的结束点,并将信息的结束点作为片段的起始点和上一个片段的结束点。
[0029]本方案避免一个完整的信息被拆分到两个片段中去,进一步对片段的起始点和结束点进行精确的划分。
[0030]作为上述技术方案的优选,方法还包括:
[0031]判断片段的结束点处的信息是否完整,如果不完整,在片段的结束点向下一个片段移动确定信息的结束点,并将信息的结束点作为片段的结束点和下一个片段的起始点。
[0032]本方案避免一个完整的信息被拆分到两个片段中去,进一步对片段的起始点和结束点进行精确的划分。
[0033]作为上述技术方案的优选,方法还包括:
[0034]判断片段的结束点处的信息是否完整,如果不完整,在片段的结束点向片段的起始点移动确定信息的起始点,并将信息的起始点作为片段的结束点和下一个片段的起始点。
[0035]本方案避免一个完整的信息被拆分到两个片段中去,进一步对片段的起始点和结束点进行精确的划分。
[0036]作为上述技术方案的优选,方法还包括:
[0037]判断布局排版数据中包含的排版原子数据在预设时间内是否被使用,如果没有被使用,删除排版原子数据。[0038]本方案实现节省移动终端的内存。
[0039]作为上述技术方案的优选,方法还包括:
[0040]判断布局排版数据中包含的排版原子数据占用的内存是否大于预设值,如果大于预设值,删除排版原子数据。
[0041]本方案实现节省移动终端的内存。
[0042]本发明实施例还提出了一种终端,该终端包括:
[0043]获取模块,用于获取电子书文档;
[0044]分段模块,用于按照预设分段方式对电子书文档的内容分段,生成多个片段;
[0045]组成模块,用于将多个片段组成一个有序的片段组;
[0046]选择模块,用于在片段组中选择一个片段,将片段作为当前片段;
[0047]解析模块,用于解析当前片段的内容,生成布局排版数据;
[0048]生成模块,用于根据布局排版数据生成页面图像。
[0049]作为上述技术方案的优选,终端还包括:
[0050]记录模块,用于记录当前片段在片段组中的位置信息;
[0051]第一判断模块,用于判断布局排版数据的数据量是否低于预设值;
[0052]第一执行模块,用于在数据量低于预设值时,根据位置信息选择当前片段的下一个片段,并将下一个片段作为当前片段,返回执行解析模块。
[0053]作为上述技术方案的优选,分段模块包括:
[0054]分段值确定单元,用于确定分段值;
[0055]拆分单元,用于将电子书文档的内容拆分成多个与分段值大小相同的片段。
[0056]作为上述技术方案的优选,终端还包括:
[0057]第二判断模块,用于判断片段的起始点处的信息是否完整;
[0058]第二执行模块,用于在片段的起始点处的信息不完整时,在片段的起始点向前移动确定标签的起始点,并将标签的起始点作为片段的起始点。
[0059]作为上述技术方案的优选,终端还包括:
[0060]第三判断模块,用于判断片段的起始点处的信息是否完整;
[0061]第三执行模块,用于在判断片段的起始点处的信息不完整时,在片段的起始点向片段的结束点移动确定信息的结束点,并将信息的结束点作为片段的起始点和上一个片段的结束点。
[0062]作为上述技术方案的优选,终端还包括:
[0063]第四判断模块,用于判断片段的结束点处的信息是否完整;
[0064]第四执行模块,用于在片段的结束点处的信息不完整时,在片段的结束点向下一个片段移动确定信息的结束点,并将信息的结束点作为片段的结束点和下一个片段的起始点。
[0065]作为上述技术方案的优选,终端还包括:
[0066]第五判断模块,用于判断片段的结束点处的信息是否完整;
[0067]第五执行模块,用于在片段的结束点处的信息不完整时,在片段的结束点向片段的起始点移动确定信息的起始点,并将信息的起始点作为片段的结束点和下一个片段的起始点。[0068]作为上述技术方案的优选,终端还包括:
[0069]第六判断模块,用于判断布局排版数据中包含的排版原子数据在预设时间内是否被使用;
[0070]第六执行模块,用于在排版原子数据在预设时间内没有被使用时,删除排版原子数据。
[0071]作为上述技术方案的优选,终端还包括:
[0072]第七判断模块,用于判断布局排版数据中包含的排版原子数据占用的内存是否大于预设值;
[0073]第七执行模块,用于在排版原子数据占用的内存大于预设值时,删除排版原子数据。
[0074]本发明实施例还提出了一种电子设备,该电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
[0075]获取电子书文档;
[0076]按照预设分段方式对所述电子书文档的内容分段,生成多个片段;
[0077]将所述多个片段组成一个有序的片段组;
[0078]在所述片段组中选择一个片段,将所述片段作为当前片段;
[0079]解析所述当前片段的内容,生成布局排版数据;
[0080]根据所述布局排版数据生成页面图像。
[0081]本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0082]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
[0083]下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。
【专利附图】

【附图说明】
[0084]为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0085]图1为本发明实施例提供的一种电子书文档的处理方法的示例性流程图;
[0086]图2为本发明实施例提供的另一种电子书文档的处理方法的示例性流程图;
[0087]图3为本发明实施例提供的又一种电子书文档的处理方法的示例性流程图;
[0088]图4为本发明实施例提供的一种HTML文档的处理方法的示例性流程框架图;
[0089]图5为本发明实施例提供的一种终端的模块示意图;
[0090]图6为本发明实施例提供的分段模块的模块示意图;
[0091]图7为本发明实施例提供的另一种终端的模块示意图;
[0092]图8为本发明实施例提供的又一种终端的模块示意图;[0093]图9为本发明实施例提供的又一种终端的模块示意图;
[0094]图10为本发明实施例提供的电子设备的结构示意图。
【具体实施方式】
[0095]目前,移动终端读取电子书文档的过程主要包括以下步骤:解析步骤:移动终端将电子书文档解析成布局排版数据;全分页步骤:对上述布局排版数据全分页处理得到页面框架;生成页面对象步骤:利用页面框架和布局排版数据生成对应的页面对象;生成页面图像步骤:对页面对象进行渲染,生成页面图像。经过上述步骤的处理,通过移动终端,用户可以看到电子书的页面图像。
[0096]为了更好的实现移动终端读取电子书文档,本发明实施例提供了一种电子书文档的处理方法、终端及电子设备,以使移动终端读取电子书的时间短,内存占用低。由于上述电子书文档的处理方法、终端及电子设备的具体实现存在多种方式,下面通过具体实施例进行详细说明:
[0097]请参见图1所示,图1所示的为一种电子书文档的处理方法,该方法可以包括以下步骤:
[0098]步骤101、获取电子书文档;
[0099]其中,在用户通过移动终端打开电子书以后,移动终端会读取电子书文档到内存储器,此时,移动终端已经获取到电子书文档。
[0100]在本发明实施例中,电子书文档可以为流式电子书文档,这里所述的流式电子书文档是指所描述的文字,图片等信息没有固定的版面位置,当排版参数(如版面宽度,字号和行间距等)发生变化时需要对版面重新布局排版以适应新的排版参数的电子书文档。该流式电子书文档包括如HTML文档在内的文档,HTML文档是由标签组成的,所以在移动终端获取到电子书的HTML文档的同时,也获取到了构成HTML文档的标签。
[0101]步骤102、按照预设分段方式对电子书文档的内容分段,生成多个片段;
[0102]其中,预设分段方式可以有多种实现形式,例如:确定分段值,将电子书文档的内容拆分成多个与分段值大小相同的片段。具体的,分段值代表电子书文档拆分后每个片段的大小,所以分段值可以是预先设定的,也可以是根据移动终端用户自行设定的,还可以是根据实验计算出来的。
[0103]步骤103、将多个片段组成一个有序的片段组;
[0104]其中,经过上述步骤对电子书文档分段后,电子书文档被分成了很多个片段。为了保证按照原有电子书文档内容的顺序处理数据,所以需要建立片段与片段之间的联系,将这些片段按照原有的顺序组成一个片段组。
[0105]步骤104、在片段组中选择一个片段,将片段作为当前片段;
[0106]其中,在片段组中可以根据用户的需求选择其中的任何一个片段,以便于后续步骤对选择的片段进行处理。
[0107]步骤105、解析当前片段内的内容,生成布局排版数据;
[0108]其中,某个片段的内容仅为完整的电子书文档内容的一部分,需要解析的数据相对于完整的电子书文档要少很多的内容,所以解析的速度明显变快,而且,数据量减少,从而使占用的内存也大大的降低。[0109]另外,在布局排版数据生成以后,为了节省移动终端的内存,还可以包括如下步骤:判断布局排版数据中包含的排版原子数据在预设时间内是否被使用,如果没有被使用,删除排版原子数据。其中,如果该布局排版数据很久没有被使用过,那么为了节省该布局排版数据所占用的内存,可以先删除该排版原子数据,如果以后需要,那么可以从新生成该排版原子数据。
[0110]另外,在布局排版数据生成以后,为了节省移动终端的内存,还可以包括如下步骤:判断布局排版数据中包含的排版原子数据占用的内存是否大于预设值,如果大于预设值,删除排版原子数据。其中,如果布局排版数据过多,会导致后续步骤处理速度过慢,可以删除全部的布局排版数据,也可以删除预定数量的布局排版数据。
[0111]步骤106、根据布局排版数据生成页面图像。
[0112]其中,布局排版数据的数据量是由一个片段生成的,布局排版数据的数据量相对较少,在生成页面图像的过程中,无论是时间的占用还是内存的占用均减少很多。
[0113]在步骤106中,具体还可以包括以下三个步骤,1、对布局排版数据进行分页处理,生成页面布局框架;2、根据页面布局框架和布局排版数据生成页面对象;3、对页面对象进行渲染生成页面图像。
[0114]在图1所示的实施例中,将电子书文档分成多个片段,每次对电子书操作时,仅解析电子书文档中的一个片段,并利用该片段生成的布局排版数据生成页面图像,所以每次在操作过程中需要处理的数据量仅为一个片段的数据量,所以在移动终端读取电子书文档时,处理数据的效率就得到提升,进而缩短了读取电子书的时间;而且,分段操作实现对电子书文档分批次处理,移动终端在处理电子书文档的一个片段时,无论是解析操作还是后续的生成页面图像的操作,需处理的数据量都相对较小,所以降低电子书对移动终端内存的占用。
[0115]请参见图2所示,图2所示的为另一种电子书文档的处理方法,该方法包括以下步骤:
[0116]步骤201、获取电子书文档;
[0117]其中,在用户通过移动终端打开电子书以后,移动终端会读取电子书文档到内存储器,此时,移动终端已经获取到电子书文档。在本发明实施例中,电子书文档可以为HTML文档,HTML文档是由标签组成的,所以在移动终端获取到电子书的HTML文档的同时,也获取到了构成HTML文档的标签。
[0118]步骤202、按照预设分段方式对电子书文档的内容分段,生成多个片段;
[0119]其中,预设分段方式可以有多种实现形式,下面介绍一种分段方法,该方法为:确定分段值,将电子书文档的内容拆分成多个与分段值大小相同的片段。具体的,分段值代表电子书文档拆分后每个片段的大小,所以分段值可以是预先设定的,也可以是根据移动终端用户自行设定的,还可以是根据实验计算出来的。
[0120]步骤203、将多个片段组成一个有序的片段组;
[0121]其中,经过上个步骤对电子书文档分段后,电子书文档被分成了很多个片段。为了保证按照原有电子书文档内容的顺序处理数据,所以需要建立片段与片段之间的联系,将这些片段按照原有的顺序组成一个片段组。
[0122]步骤204、在片段组中选择一个片段,将片段作为当前片段;[0123]其中,在片段组中可以根据用户的需求选择其中的任何一个片段,以便于后续步骤对选择的片段进行处理。
[0124]步骤205、解析当前片段内的内容,生成布局排版数据;
[0125]其中,某个片段的内容仅为完整的电子书文档内容的一部分,需要解析的数据相对于完整的电子书文档要少很多的内容,所以解析的速度明显变快,而且,数据量减少,从而使占用的内存也大大的降低。
[0126]步骤206、记录当前片段在片段组中的位置信息;
[0127]其中,位置信息的具体实现存在多种方式,例如,可以采用字节来记录位置信息,也可以采用标识来记录位置信息,等等。对于电子书文档为HTML文档而言,可以采用字节偏移量的方式来记录片段的位置信息,字节偏移量的单位为字节。对于位置信息在此不做具体的限制,只要能够记录片段在片段组中的位置,都在本发明方案的保护范围内。
[0128]步骤207、判断布局排版数据的数据量是否低于预设值,若是,则执行步骤208,否贝U,执行步骤209 ;
[0129]其中,布局排版数据是由当前片段解析生成的,每个片段解析生成的布局排版数据的数据量是一定的,如果已经生成的布局排版数据的数据量足够生成页面图像,那么就利用该布局排版数据生成页面图像;如果已经生成的布局排版数据的数据量不足以生成页面图像,那么就需要再解析下一个片段以生成布局排版数据,再将之前剩余的布局排版数据和下一个片段生成的布局排版数据合并在一起,生成页面图像。
[0130]步骤208、根据位置信息选择当前片段的下一个片段,并将下一个片段作为当前片段,返回步骤205 ;
[0131]其中,在步骤206中已经记录下当前片段的位置信息,所以可通过当前片段的位置信息来确定下一个片段的位置信息,从而可以选择到下一个片段中的内容。然后将下一个片段作为当前待处理的片段,返回步骤205。
[0132]步骤209、根据布局排版数据生成页面图像。
[0133]其中,布局排版数据的数据量是由一个片段生成的,布局排版数据的数据量相对较少,在生成页面图像的过程中,无论是时间的占用还是内存的占用均减少很多。
[0134]在图2所示的实施例中,与图1所示的实施例的不同之处在于,判断已经生成的布局排版数据的数据量是否足以生成页面图像,如果是,那么根据已有的布局排版数据生成页面图像;否则,解析下一个片段,根据已有的布局排版数据和下一个片段生成的布局排版数据合并生成页面图像。
[0135]基于上述实施例,在生成多个片段的步骤以后,还可以进一步对片段的起始点和结束点进行精确的划分。例如,电子书文档具体为HTML文档,片段的起始点是片段起始的位置,片段的结束点是片段结束的位置,HTML文档主要由标签构成,标签是由两个尖括号组成,即标签由左尖括号“〈”和右尖括号“〉”组成,两个尖括号之间为标签的内容。按照HTML语法规定,标签必须包括左尖括号“〈”和右尖括号“>”,这样标签才算完整,因此,分段后,不允许存在某一个片段仅含有左尖括号或仅含有右尖括号的不对应情况,如果存在,说明一个标签被分割到两个片段中,这样后面是无法对该标签进行解析的。为了进一步对片段起始点和结束点进行划分,请参见图3所示的实施例。
[0136]请参见图3所示,图3所示的为又一种电子书文档的处理方法,该方法包括以下步骤:
[0137]步骤301、获取电子书文档;
[0138]其中,在用户通过移动终端打开电子书以后,移动终端会读取电子书文档到内存储器,此时,移动终端已经获取到电子书文档。在本发明实施例中,电子书文档可以为HTML文档,HTML文档是由标签组成的,所以在移动终端获取到电子书的HTML文档的同时,也获取到了构成HTML文档的标签。
[0139]步骤302、按照预设分段方式对电子书文档的内容分段,生成多个片段;
[0140]其中,预设分段方式可以有多种实现形式,下面介绍一种分段方法,该方法为:确定分段值,将电子书文档的内容拆分成多个与分段值大小相同的片段。具体的,分段值代表电子书文档拆分后每个片段的大小,所以分段值可以是预先设定的,也可以是根据移动终端用户自行设定的,还可以是根据实验计算出来的。
[0141]步骤303、判断片段的起始点处的信息是否完整,若是,则执行步骤305 ;否则,执行步骤304 ;
[0142]其中,在分段以后,为了避免一个完整的信息被拆分到两个片段中去,所以需要判断片段的起始点处的信息是否完整,如果不完整,那么需要对片段的起始点和结束点进行一定的微调,以保证每个片段内的信息都是完整的。
[0143]步骤304、在片段的起始点向上一个片段移动确定信息的起始点,并将信息的起始点作为片段的起始点和上一个片段的结束点;
[0144]其中,如果片段的起始点处的信息不完整,那么说明该信息的前半部分被分到上一个片段中,而该信息的后半部分留在了该片段中的起始点处。为了保证该信息的完整,其实存在多种实现方式,其中一种实现方式就是步骤304的调整方式,为删除上一个片段中该信息的前半部分,并将该信息的前半部分补充到该片段的起始点处,该片段的起始点和上一个片段的结束点是同一个点。第二种实现方式具体为,在片段的起始点向该片段的结束点移动确定该信息的结束点,并将该信息的结束点作为该片段的起始点和上一个片段的结束点。第二种方式为删除该片段中该信息的后半部分,并将该信息的后半部分补充到上一个片段中的结束点处。上述两种方式均可实现对各个片段的起始点和结束点处的微调,以实现在每个片段中所有信息均是完整的。
[0145]当然,为了保证片段中信息的完整,不仅可以采用步骤304的方式,还可以确定其他信息的起始点作为该片段的起始点和上一个片段的结束点,虽然此种方式片段的起始点或结束点偏移量过多,但是同样可以解决信息完整的问题,所以本发明提供的实施例并不局限于步骤304的方式,只要能够实现信息完整的目的,其他与步骤304原理相同的方法均可,在此不作具体的限制。
[0146]步骤305、将多个片段组成一个有序的片段组;
[0147]其中,经过上个步骤对电子书文档分段后,电子书文档被分成了很多个片段。为了保证按照原有电子书文档内容的顺序处理数据,所以需要建立片段与片段之间的联系,将这些片段按照原有的顺序组成一个片段组。
[0148]步骤306、在片段组中选择一个片段,将片段作为当前片段;
[0149]其中,在片段组中可以根据用户的需求选择其中的任何一个片段,以便于后续步骤对选择的片段进行处理。[0150]步骤307、解析当前片段内的内容,生成布局排版数据;
[0151]其中,某个片段的内容仅为完整的电子书文档内容的一部分,需要解析的数据相对于完整的电子书文档要少很多的内容,所以解析的速度明显变快,而且,数据量减少,从而使占用的内存也大大的降低。
[0152]步骤308、根据布局排版数据生成页面图像。
[0153]其中,布局排版数据的数据量是由一个片段生成的,布局排版数据的数据量相对较少,在生成页面图像的过程中,无论是时间的占用还是内存的占用均减少很多。
[0154]在图3所示的实施例中,为了避免完整的信息被拆分,还可以判断结束点处的信息是否完整,具体有两种实现方法,第一种方法为,判断片段的结束点处的信息是否完整,如果不完整,在片段的结束点向下一个片段移动确定信息的结束点,并将信息的结束点作为片段的结束点和下一个片段的起始点。第二种方法为,判断片段的结束点处的信息是否完整,如果不完整,在片段的结束点向片段的起始点移动确定信息的起始点,并将信息的起始点作为片段的结束点和下一个片段的起始点。其原理与步骤303和步骤304相似,具体解释请参见步骤303和步骤304,在此不再赘述。
[0155]在图3所示的实施例中,与图1所示的实施例的不同之处在于,为了避免一个完整的信息被拆分到两个片段中去,进一步对片段的起始点和结束点进行精确的划分。
[0156]请参见图4所示,图4所示的为本发明提供的具体应用例。本应用例介绍的是电子书文档为HTML文档I时,具体的处理方法,该HTML文档I的处理方法包括如下步骤:
[0157]步骤一、获取HTML文档I ;
[0158]步骤二、按照预设分段方式对HTML文档I的内容分段,生成多个HTML片段;
[0159]在步骤二中,HTML文档I解析过程最大的特点是对HTML片段解析,解析一个小的HTML片段耗时即在可接受范围内;如果每次解析过程仅处理一个小的HTML片段,即可缩短单次解析时间;因此这里对HTML进行分段解析。
[0160]首先需要确定片段的大小值m (单位:B (字节));再根据该m值将大小为η (单位:B (字节))的HTML文档I等分成n/m份,得到(n/m_l)个断点;由于非从头开始的HTML文档I解析必须保证HTML文档I内标签的完整性,以防止半个标签出现在HTML片段中,因此需要再依次检查上述(n/m-Ι)中的每个断点是否满足不在HTML标签内部。按照HTML语法规定:标签必须被左尖括号'和右尖括号' >'包住,长度一般在1024B以内。根据上述限制可对上述(n/m-Ι)中的每个点向前或向后查询一定的字节以满足不在HTML标签内部的要求。
[0161]具体的,确定片段的大小值m有很多种方式,例如,人为设定的方式或计算的方式等。下面重点介绍确定片段的大小值m的计算方式:
[0162]1、理论分析
[0163]由于HTML文档I解析时间由HTML节点数直接决定,随着HTML文档I的逐步增大,HTML节点数也随之曾多,节点的深度遍历耗时也就逐步增大;由此可知,HTML文档I解析时间随HTML文档I大小的变化曲线应为正向递增曲线。一般情况下当HTML文档I较小时,HTML节点的数量较少,对于现代计算机而言,HTML文档I解析能在很短的时间内完成深度遍历(如面对IOK和50K的HTML文档1,其解析时间不会有太大差别);而当HTML文档I的规模到达一定程度时,HTML节点数会出现非线性的急剧增长,这样就导致HTML文档I解析时间的非线性增长。综上分析可知,HTML文档I解析时间随HTML文档I的变化必是先缓后急的过程,因此曲线必存在一个拐点,当HTML文档I大小到达该拐点后,HTML文档I解析的效率急剧下降。
[0164]2、理论验证
[0165]采用一些常用的性能分析手段对已准备好的几组HTML物理空间进行解析性能测试,记录每组测试结果,通过可视化工具绘制出HTML文档解析时间随HTML文档I大小的变化曲线,验证上述理论分析。
[0166]3、寻找HTML文档I解析性能拐点
[0167]通过理论验证后的HTML文档I解析时间随HTML文档I大小的变化曲线,可确定当HTML文档I大小在某一数值M以下时HTML文档解析时间基本无较大变化,而当HTML物理空间大小超过某一数值N时,HTML文档解析时间就会急剧增加;因此,可将HTML文档I解析性能拐点对应的HTML文档I的大小确定在区间[M,N]内。再在区间[M,N)内进行分析;此时有两个需要考虑的准则:a、HTML文档I分段不宜过多,否则会增加段管理上复杂性,这就使得片段的大小值m不能过小;b、单个HTML片段的解析时间不宜过长,否则会出现用户等待时间过长等缺点,这就使得段的大小值m不能过大;根据以上两个准则可先去掉区间[M, N]内的最小值M和最大值N得到新的区间,再按照上述两个准则去掉新的区间的最大值和最小值,依次循环下去,若最后剩余一个值,则此值即作为性能拐点对应的HTML文档I的大小,也就是片段的大小值m,若最后剩余两个数,则取两个数的中间值作为性能拐点对应的HTML文档I的大小,也就是片段的大小值m。
[0168]步骤三、将多个片段组成一个有序的片段组;
[0169]解析过程最大的缺点是不可回溯,即解析必须按照HTML文档I的物理顺序执行。如果从HTML文档I的非起始点开始解析,就会存在HTML文档I上下文关系不全的问题,导致标签节点丢失等问题。因此这里采用HTML文档I的解析状态区间2来克服该问题。
[0170]1、新建HTML文档I的解析器,此时,该解析器的状态未经过任何HTML文档I解析,称为最初始解析状态;最初始解析状态与具体的HTML文档I无关,任意新创建的HTML文档I的解析器所处的状态都可为最初始状态。
[0171]2、由于HTML文档I的解析状态会记录所在HTML文档I的字节偏移量,而HTML文档I的分段结果也是采用字节偏移量来描述的,所以按照这种字节偏移量的对应关系即可完成HTML片段到解析区间的一一对应。因此,第一个HTML片段对应第一个解析区间,其解析开始状态(所处字节偏移量为第一个片段的开始)取最初始解析状态,其解析结束状态为完成第一个HTML片段的解析状态(所处的字节偏移量为第一段的结束)。
[0172]3、第一个HTML片段以后的每个HTML片段对应的解析区间,其解析开始状态从上一个解析区间的解析结束状态继承,其解析结束状态为完成该HTML片段解析的状态。这里的解析状态继承是解析状态的克隆过程,即将一个解析状态所处的HTML文档I的字节偏移量(用于记录解析状态在HTML文档I当前的位置),父HTML标签节点的栈信息(用于记录解析状态在HTML文档I走过的路劲),解析时的上下文关系(用于记录解析状态落在HTML文档I的文本节点内的前后文关系)等原封不动的拷贝到另外一个解析状态中。
[0173]按照这种方案每个HTML片段在参与HTML文档I解析的过程中都从上个HTML片段继承解析状态,也就继承下来了上个HTML片段的上下文关系,即克服了因上下关系不全带来的问题。
[0174]步骤四、在片段组中选择一个片段,将片段作为当前片段;
[0175]步骤五、解析当前片段的内容,生成布局排版数据3 ;
[0176]布局驱动过程:
[0177]1、启动布局引擎,当发现当前HTML片段对应的排版原子数据31为空时,即根据当前布局的点所对应HTML文档I的偏移量寻找所在的HTML片段,唤醒相应的HTML文档I的解析区间,对相应的HTML片段进行翻译,生成相应的标签节点数据32和排版原子数据31。对于标签节点数据32而言,由于排版原子数据31需要依赖标签节点数据32的样式信息,因此随着排版原子数据31的解析,标签节点数据32将随之解析。标签节点数据32只需保存一份,若发现该HTML片段所对应的标签节点数据32已存在,则解析过程中不再添加相应的标签节点数据32。
[0178]2、进行布局排版完成分页或页面对象的生成。同时监控当前存储资源的使用情况,若超过规定的阈值(如android平台的应用内存一般被限制为24MB以内,而iOS平台的应用一般被限制在20M以内),则删除暂时用不到的HTML片段对应的排版原子数据31。
[0179]步骤六、根据布局排版数据3生成页面图像。
[0180]HTML全分页过程:
[0181]全分页过程从HTML物理空间的最开始进行处理,从前到后依次对每一个HTML片段进行布局驱动过程的调用;对于每一个HTML片段而言,当分页过程到达该片段的最后一页时,则会出现半页的情形,为了保证当前片段的最后一页与下一片段连续则此时立即解析下一片段的HTML数据,再从当前片段的最后一页的开始点进行分页,若发现排版原子不足则使用下一片段的排版原子,以避免片段之间的断裂问题。
[0182]页面对象生成过程:
[0183]1、通过HTML文档I的字节偏移量(以下称为“请求点”)确定其对应的HTML页空间4中的页码(HTML页的起始点和结束点会记录其在物理HTML中字节偏移量),此时便有两种情形:获取到页码和未获取页码。若获取到页码则说明全分页过程已到达请求点,则使用页码对应的全分页结果;若未获取到页码则说明全分页过程尚未到达请求点,此时启动临时解析过程获取请求点对应的页结果。
[0184]2、根据上述获取的页结果,调用布局驱动过程,完成页面对象的生成。
[0185]临时解析过程:
[0186]1、根据请求点判断所处的HTML片段(以下称为“请求片段”);新建HTML文档I的解析状态区间2,取其解析起始状态为最初始解析状态,取其解析结束状态为使用解析起始状态完成请求片段的解析后的状态。
[0187]2、调用布局驱动过程,强制使用上述步骤中的解析状态区间2对请求片段进行分页,生成临时解析页空间4。
[0188]3、根据请求点确定其在临时解析页空间4中的页码,根据该页码获取临时解析页结果。
[0189]注:当全分页过程尚未到达所需页所在的区间时,采用临时解析过程获取所需要的页,此时虽然未使用完整的HTML上下文关系,但当全分页过程到达所需页后即转向全分页结果,以修正从非起始点解析HTML存在的问题。当HTML全分页过程尚未完成时不可通过页码进行跳转,原因在于页码可能超过全分页过程已分页的数目,此时可跟过HTML物理空间大小的百分比跳转,当全分页完成后即可通过页码进行跳转。
[0190]本发明提供的方案在使得大尺寸HTML文档I在全分页过程中消耗更小的存储空间,并降低HTML文档I中靠前部分全分页结果的获取时间;在全分页到达之前采用临时解析使得HTML跳转的性能提高,并在全分页到达后修正临时解析中可能存在的问题。
[0191]如此对于用户体验而言则带来了如下有益的效果:
[0192]1、将HTML文档的解析时间与全分页时间分摊到每个HTML片段中,明显缩短了用户在首次打开以大尺寸HTML文档I为主的电子书时,第一页的等待时间;
[0193]2、全分页到请求点后采用全分页结果,保证了用户在阅读以大尺寸HTML文档I为主的电子书时未破坏书籍样式结构,以最尊重原书的形式将内容呈现给用户;
[0194]3、消耗更小的存储空间,明显降低了用户在移动设备等存储资源较少的设备上打开以大尺寸HTML文档I为主的电子书的死机概率;
[0195]4、消耗更小的存储空间,使得用户在阅读以大尺寸HTML文档I为主的电子书时阅读软件的运行更加流畅,提高用户操作的流畅性;
[0196]5、采用临时解析过程,明显缩短了用户在阅读以大尺寸HTML文档I为主的电子书时同步阅读进度的等待时间;
[0197]6、采用临时解析过程,明显缩短了用户在阅读以大尺寸HTML文档I为主的电子书时使目录跳转的等待时间;
[0198]7、采用临时解析过程,明显缩短了用户在阅读以大尺寸HTML文档I为主的电子书时快进快退的等待时间。
[0199]请参见图5所示,图5所示的为一种终端,该终端包括获取模块11,用于获取电子书文档;分段模块12,用于按照预设分段方式对电子书文档的内容分段,生成多个片段;组成模块13,用于将多个片段组成一个有序的片段组;选择模块14,用于在片段组中选择一个片段,将片段作为当前片段;解析模块15,用于解析当前片段的内容,生成布局排版数据;生成模块16,用于根据布局排版数据生成页面图像。其中,请参见图6所示,图6所示的为分段模块12的具体结构,分段模块12包括分段值确定单元121和拆分单元122,分段值确定单元121,用于确定分段值;拆分单元122,用于将电子书文档的内容拆分成多个与分段值大小相同的片段。
[0200]在图5所示的实施例中,利用分段模块12将电子书文档分成多个片段,每次对电子书操作时,解析模块15仅解析电子书文档中的一个片段,生成模块16利用该片段生成的布局排版数据生成页面图像,所以每次在操作过程中需要处理的数据量仅为一个片段的数据量,所以在移动终端读取电子书文档时,处理数据的效率就得到提升,进而缩短了读取电子书的时间;而且,分段操作实现对电子书文档分批次处理,移动终端在处理电子书文档的一个片段时,无论是解析操作还是后续的生成页面图像的操作,需处理的数据量都相对较小,所以降低电子书对移动终端内存的占用。
[0201]在图6所示的实施例中,利用分段值确定单元121得到的分段值代表电子书文档拆分后每个片段的大小,所以分段值可以是预先设定的,也可以是根据移动终端用户自行设定的,还可以是根据实验计算出来的。然后再利用拆分单元122根据得到的分段值对电子书文档进行拆分。[0202]请参见图7所示,图7所示的为另一种终端,该终端包括获取模块21,用于获取电子书文档;分段模块22,用于按照预设分段方式对电子书文档的内容分段,生成多个片段;组成模块23,用于将多个片段组成一个有序的片段组;选择模块24,用于在片段组中选择一个片段,将片段作为当前片段;解析模块25,用于解析当前片段的内容,生成布局排版数据;记录模块26,用于记录当前片段在片段组中的位置信息;第一判断模块27,用于判断布局排版数据的数据量是否低于预设值;第一执行模块28,用于在数据量低于预设值时,根据位置信息选择当前片段的下一个片段,并将下一个片段作为当前片段,返回执行解析模块25 ;生成模块29,用于根据布局排版数据生成页面图像。
[0203]在图7所示的实施例中,与图6所示的实施例的不同之处在于,通过第一判断模块27判断已经生成的布局排版数据的数据量是否足以生成页面图像,如果是,那么根据已有的布局排版数据生成页面图像;否则,解析下一个片段,根据已有的布局排版数据和下一个片段生成的布局排版数据合并生成页面图像。
[0204]请参见图8所示,图8所示的为又一种终端,该终端包括获取模块31,用于获取电子书文档;分段模块32,用于按照预设分段方式对电子书文档的内容分段,生成多个片段;第二判断模块33,用于判断片段的起始点处的信息是否完整;第二执行模块34,用于在片段的起始点处的信息不完整时,在片段的起始点向前移动确定标签的起始点,并将标签的起始点作为片段的起始点;组成模块35,用于将多个片段组成一个有序的片段组;选择模块36,用于在片段组中选择一个片段,将片段作为当前片段;解析模块37,用于解析当前片段的内容,生成布局排版数据;生成模块38,用于根据布局排版数据生成页面图像。
[0205]在图8所示的实施例中,与图5所示的实施例的不同之处在于,为了避免一个完整的信息被拆分到两个片段中去,进一步对片段的起始点和结束点进行精确的划分。
[0206]在图8所示的实施例中,还有三种实现方式可以等同的替代上述第二判断模块33和第二执行模块34的功能,下面简要介绍这三种实现方式:第一种替换方式,利用第三判断模块替换第二判断模块33,利用第三执行模块替换第二执行模块34,具体的,第三判断模块,用于判断片段的起始点处的信息是否完整;第三执行模块,用于在判断片段的起始点处的信息不完整时,在片段的起始点向片段的结束点移动确定信息的结束点,并将信息的结束点作为片段的起始点和上一个片段的结束点。第二种替换方式,利用第四判断模块替换第二判断模块33,利用第四执行模块替换第二执行模块34,具体的,第四判断模块,用于判断片段的结束点处的信息是否完整;第四执行模块,用于在片段的结束点处的信息不完整时,在片段的结束点向下一个片段移动确定信息的结束点,并将信息的结束点作为片段的结束点和下一个片段的起始点。第三种替换方式,利用第五判断模块替换第二判断模块33,利用第五执行模块替换第二执行模块34,具体的,第五判断模块,用于判断片段的结束点处的信息是否完整;第五执行模块,用于在片段的结束点处的信息不完整时,在片段的结束点向片段的起始点移动确定信息的起始点,并将信息的起始点作为片段的结束点和下一个片段的起始点。
[0207]在图8所示的实施例中,为了保证片段中信息的完整,不仅可以采用第二判断模块33和第二执行模块34的功能,还可以确定其他信息的起始点作为该片段的起始点和上一个片段的结束点,虽然此种方式片段的起始点或结束点偏移量过多,但是同样可以解决信息完整的问题,所以本发明提供的实施例并不局限于图8所示的方式,只要能够实现信息完整的目的,其他与第二判断模块33和第二执行模块34的功能原理相同的模块均可,在此不作具体的限制。
[0208]请参见图9所示,图9所示的为又一种终端,该终端包括获取模块41,用于获取电子书文档;分段模块42,用于按照预设分段方式对电子书文档的内容分段,生成多个片段;组成模块43,用于将多个片段组成一个有序的片段组;选择模块44,用于在片段组中选择一个片段,将片段作为当前片段;解析模块45,用于解析当前片段的内容,生成布局排版数据;第六判断模块46,用于判断布局排版数据中包含的排版原子数据在预设时间内是否被使用;第六执行模块47,用于在排版原子数据在预设时间内没有被使用时,删除排版原子数据。生成模块48,用于根据布局排版数据生成页面图像。
[0209]在图9所示的实施例中,在解析模块45生成布局排版数据以后,为了节省移动终端的内存,可以利用第六判断模块46和第六执行模块47对其实现。其中,如果该布局排版数据很久没有被使用过,那么为了节省该布局排版数据所占用的内存,可以先删除该排版原子数据,如果以后需要,那么可以从新生成该排版原子数据。
[0210]在图9所示的实施例中,在解析模块45生成布局排版数据以后,为了节省移动终端的内存,可以利用第七判断模块替换第六判断模块46,利用第七执行模块替换第六执行模块47对其实现。具体的,第七判断模块,用于判断布局排版数据中包含的排版原子数据占用的内存是否大于预设值;第七执行模块,用于在排版原子数据占用的内存大于预设值时,删除排版原子数据。其中,如果布局排版数据过多,会导致后续步骤处理速度过慢,可以删除全部的布局排版数据,也可以删除预定数量的布局排版数据,从而实现了节省移动终端内存的目的。
[0211]如图10所示,本发明实施例还提供了一种电子设备,该电子设备用于实施上述实施例中提供的电子书文档的处理方法,具体来讲:
[0212]电子设备1300可以包括RF (Radio Frequency,射频)电路1310、包括有一个或一个以上计算机可读存储介质的存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、短距离无线传输模块1370、包括有一个或者一个以上处理核心的处理器1380、以及电源1390等部件。本领域技术人员可以理解,图10中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0213]RF电路1310可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器1380处理;另外,将涉及上行的数据发送给基站。通常,RF电路1310包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、稱合器、LNA (Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路1310还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommunication,全球移动通讯系统)、GPRS (General Packet Radio Service,通用分组无线服务)、CDMA (Code Division Multiple Access,码分多址)、WCDMA (Wideband CodeDivision Multiple Access,宽带码分多址)、LTE (Long Term Evolution,长期演进)、电子邮件、SMS (Short Messaging Service,短消息服务)等。
[0214]存储器1320可用于存储软件程序以及模块。处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备1300的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1320还可以包括存储器控制器,以提供处理器1380和输入单元1330对存储器1320的访问。
[0215]输入单元1330可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元1330可包括触敏表面1331以及其他输入设备1332。触敏表面1331,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面1331上或在触敏表面1331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面1331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1380,并能接收处理器1380发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面1331。除了触敏表面1331,输入单元1330还可以包括其他输入设备1332。具体地,其他输入设备1332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0216]显示单元1340可用于显示由用户输入的信息或提供给用户的信息以及电子设备1300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元1340可包括显示面板1341,可选的,可以采用IXD(Liquid CrystalDisplay,液晶显示器)、OLED (Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板1341。进一步的,触敏表面1331可覆盖在显示面板1341之上,当触敏表面1331检测到在其上或附近的触摸操作后,传送给处理器1380以确定触摸事件的类型,随后处理器1380根据触摸事件的类型在显示面板1341上提供相应的视觉输出。虽然在图10中,触敏表面1331与显示面板1341是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面1331与显示面板1341集成而实现输入和输出功能。
[0217]电子设备1300还可包括至少一种传感器1350,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1341的亮度,接近传感器可在电子设备1300移动到耳边时,关闭显示面板1341和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备1300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0218]音频电路1360、扬声器1361,传声器1362可提供用户与电子设备1300之间的音频接口。音频电路1360可将接收到的音频数据转换后的电信号,传输到扬声器1361,由扬声器1361转换为声音信号输出;另一方面,传声器1362将收集的声音信号转换为电信号,由音频电路1360接收后转换为音频数据,再将音频数据输出处理器1380处理后,经RF电路1310以发送给另一终端,或者将音频数据输出至存储器1320以便进一步处理。音频电路1360还可能包括耳塞插孔,以提供外设耳机与电子设备1300的通信。
[0219]短距离无线传输模块1370可以是WIFKwireless fidelity,无线保真)模块或者蓝牙模块等。电子设备1300通过短距离无线传输模块1370可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了短距离无线传输模块1370,但是可以理解的是,其并不属于电子设备1300的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0220]处理器1380是电子设备1300的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行电子设备1300的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器1380可包括一个或多个处理核心;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
[0221]电子设备1300还包括给各个部件供电的电源1390(比如电池),优选的,电源可以通过电源管理系统与处理器1380逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1390还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0222]尽管未示出,电子设备1300还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备1300的显示单元是触摸屏显示器。
[0223]电子设备1300还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含的指令用于执行一个电子书文档处理方法,包括:
[0224]获取电子书文档;
[0225]按照预设分段方式对所述电子书文档的内容分段,生成多个片段;
[0226]将所述多个片段组成一个有序的片段组;
[0227]在所述片段组中选择一个片段,将所述片段作为当前片段;
[0228]解析所述当前片段的内容,生成布局排版数据;
[0229]根据所述布局排版数据生成页面图像。
[0230]而有关上述方法的具体实现方式可以参见上述方法部分,此处就不再赘述。
[0231]需要说明的是,图1至图10所示的实施例只是本发明所介绍的优选实施例,本领域技术人员在此基础上,完全可以设计出更多的实施例,因此不在此处赘述。
[0232]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0233]本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。
[0234]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0235]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。
[0236]对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种电子书文档的处理方法,其特征在于,所述方法包括: 获取电子书文档; 按照预设分段方式对所述电子书文档的内容分段,生成多个片段; 将所述多个片段组成一个有序的片段组; 在所述片段组中选择一个片段,将所述片段作为当前片段; 解析所述当前片段的内容,生成布局排版数据; 根据所述布局排版数据生成页面图像。
2.根据权利要求1所述的方法,其特征在于,在生成布局排版数据的步骤之后,所述方法还包括: 记录所述当前片段在所述片段组中的位置信息; 判断所述布局排版数据的数据量是否低于预设值,如果所述数据量低于预设值,根据所述位置信息选择所述当前片段的下一个片段,并将所述下一个片段作为当前片段,返回解析所述当前片段内的内容的步骤。
3.根据权利要求1所述的方法,其特征在于,所述按照预设分段方式对所述电子书文档的内容进行分段的步骤,包括下述子步骤: 确定分段值; 将所述电子书文档的内容拆分成多个与所述分段值大小相同的片段。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 判断所述片段的起始点处的信息是否完整,如果不完整,在所述片段的起始点向上一个片段移动确定所述信息的起始点,并将所述信息的起始点作为所述片段的起始点和所述上一个片段的结束点。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 判断所述片段的起始点处的信息是否完整,如果不完整,在所述片段的起始点向所述片段的结束点移动确定所述信息的结束点,并将所述信息的结束点作为所述片段的起始点和上一个片段的结束点。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括: 判断所述片段的结束点处的信息是否完整,如果不完整,在所述片段的结束点向下一个片段移动确定所述信息的结束点,并将所述信息的结束点作为所述片段的结束点和所述下一个片段的起始点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括: 判断所述片段的结束点处的信息是否完整,如果不完整,在所述片段的结束点向所述片段的起始点移动确定所述信息的起始点,并将所述信息的起始点作为所述片段的结束点和下一个片段的起始点。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括: 判断所述布局排版数据中包含的排版原子数据在预设时间内是否被使用,如果没有被使用,删除所述排版原子数据。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括: 判断所述布局排版数据中包含的排版原子数据占用的内存是否大于预设值,如果大于预设值,删除所述排版原子数据。
10.一种终端,其特征在于,所述终端包括: 获取模块,用于获取电子书文档; 分段模块,用于按照预设分段方式对所述电子书文档的内容分段,生成多个片段; 组成模块,用于将所述多个片段组成一个有序的片段组; 选择模块,用于在所述片段组中选择一个片段,将所述片段作为当前片段; 解析模块,用于解析所述当前片段的内容,生成布局排版数据; 生成模块,用于根据所述布局排版数据生成页面图像。
11.根据权利要求10所述的终端,其特征在于,所述终端还包括: 记录模块,用于记录所述当前片段在所述片段组中的位置信息; 第一判断模块,用于判断所述布局排版数据的数据量是否低于预设值; 第一执行模块,用于在所述数据量低于预设值时,根据所述位置信息选择所述当前片段的下一个片段,并将所述下一个片段作为当前片段,返回执行解析模块。
12.根据权利要求10所述的终端,其特征在于,所述分段模块包括: 分段值确定单元,用于确定分段值; 拆分单元,用于将所述电子书文档的内容拆分成多个与所述分段值大小相同的片段。
13.根据权利要求10所述的终端,其特征在于,所述终端还包括: 第二判断模块,用于判断所述片段的起始点处的信息是否完整; 第二执行模块,用于在所述片段的起始点处的信息不完整时,在所述片段的起始点向前移动确定所述标签的起始点,并将所述标签的起始点作为所述片段的起始点。
14.根据权利要求10所述的终端,其特征在于,所述终端还包括: 第三判断模块,用于判断所述片段的起始点处的信息是否完整; 第三执行模块,用于在判断所述片段的起始点处的信息不完整时,在所述片段的起始点向所述片段的结束点移动确定所述信息的结束点,并将所述信息的结束点作为所述片段的起始点和上一个片段的结束点。
15.根据权利要求10所述的终端,其特征在于,所述终端还包括: 第四判断模块,用于判断所述片段的结束点处的信息是否完整; 第四执行模块,用于在所述片段的结束点处的信息不完整时,在所述片段的结束点向下一个片段移动确定所述信息的结束点,并将所述信息的结束点作为所述片段的结束点和所述下一个片段的起始点。
16.根据权利要求10所述的终端,其特征在于,所述终端还包括: 第五判断模块,用于判断所述片段的结束点处的信息是否完整; 第五执行模块,用于在所述片段的结束点处的信息不完整时,在所述片段的结束点向所述片段的起始点移动确定所述信息的起始点,并将所述信息的起始点作为所述片段的结束点和下一个片段的起始点。
17.根据权利要求10所述的终端,其特征在于,所述终端还包括: 第六判断模块,用于判断所述布局排版数据中包含的排版原子数据在预设时间内是否被使用;` 第六执行模块,用于在所述排版原子数据在预设时间内没有被使用时,删除所述排版原子数据。
18.根据权利要求10所述的终端,其特征在于,所述终端还包括: 第七判断模块,用于判断所述布局排版数据中包含的排版原子数据占用的内存是否大于预设值; 第七执行模块,用于在所述排版原子数据占用的内存大于预设值时,删除所述排版原子数据。
19.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令: 获取电子书文档; 按照预设分段方式对所述电子书文档的内容分段,生成多个片段; 将所述多个片段组成一个有序的片段组; 在所述片段组中选择一个片段,将所述片段作为当前片段; 解析所述当前片段的内容,生成布局排版数据; 根据所述布局排版数据生成页面图像。
【文档编号】G06F17/25GK103593333SQ201310485775
【公开日】2014年2月19日 申请日期:2013年10月16日 优先权日:2013年10月16日
【发明者】张家方, 张磊 申请人:小米科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1