CN103309994A - 文档加载方法及系统 - Google Patents

文档加载方法及系统 Download PDF

Info

Publication number
CN103309994A
CN103309994A CN2013102483948A CN201310248394A CN103309994A CN 103309994 A CN103309994 A CN 103309994A CN 2013102483948 A CN2013102483948 A CN 2013102483948A CN 201310248394 A CN201310248394 A CN 201310248394A CN 103309994 A CN103309994 A CN 103309994A
Authority
CN
China
Prior art keywords
data
buffer memory
document
composing
read
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.)
Pending
Application number
CN2013102483948A
Other languages
English (en)
Inventor
陈禹
向晨宇
黎伟杰
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.)
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co Ltd
Original Assignee
Beijing Kingsoft Office Software Inc
Zhuhai Kingsoft Office Software Co 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 Beijing Kingsoft Office Software Inc, Zhuhai Kingsoft Office Software Co Ltd filed Critical Beijing Kingsoft Office Software Inc
Priority to CN2013102483948A priority Critical patent/CN103309994A/zh
Publication of CN103309994A publication Critical patent/CN103309994A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

本发明提供一种文档加载方法及系统,所述方法包括以下步骤:读取文档内部排列在前的预定数量的二进制数据,写入I/O缓存中;提取所述I/O缓存中的数据,进行排版,并将排版完成后的数据写入排版缓存;提取所述排版缓存中的数据,进行绘制,并显示已绘制完成的数据;对文档剩下的数据进行空闲读取,并将得到的数据写入所述I/O缓存中;判断在空闲读取的过程中是否存在用户操作;若否,则在空闲读取结束后根据所述I/O缓存中的数据进行重新排版和绘制。本发明的文档加载方法及系统,一方面解决了读取响应时间长的问题,减少了用户等待时间;另外一方面可以有效防止在程序装载文档时的内存过大,减少程序崩毁现象。

Description

文档加载方法及系统
技术领域
本发明涉及办公软件领域,特别是涉及一种文档加载方法以及一种文档加载系统。
背景技术
目前,现有打开文档文件进行加载的流程如下:读取整个文档二进制数据后,进行排版,最后绘制。
然而,传统文档加载流程存在一些问题:一是响应时间过长,在打开一个文档(如word文档)时,若文档本身数据量比较大,则整个流程下来需要很长的一段时间,给用户带来了不便;二是当文档过大时,在程序装载文档时还可能引起程序崩毁。
发明内容
基于此,有必要针对上述响应时间长、容易引起程序崩毁的问题,提供一种文档加载方法及系统。
为实现上述目的,本发明采用如下的技术方案:
一种文档加载方法,包括以下步骤:
读取文档内部排列在前的预定数量的二进制数据,写入I/O缓存中;
提取所述I/O缓存中的数据,进行排版,并将排版完成后的数据写入排版缓存;
提取所述排版缓存中的数据,进行绘制,并显示已绘制完成的数据;
对文档剩下的数据进行空闲读取,并将得到的数据写入所述I/O缓存中;
判断在空闲读取的过程中是否存在用户操作;
若否,则在空闲读取结束后根据所述I/O缓存中的数据进行重新排版和绘制。
一种文档加载系统,包括:
初步读取模块,用于读取文档内部排列在前的预定数量的二进制数据,写入I/O缓存中;
初步排版模块,用于提取所述I/O缓存中的数据,进行排版,并将排版完成后的数据写入排版缓存;
初步绘制模块,用于提取所述排版缓存中的数据,进行绘制,并显示已绘制完成的数据;
空闲读取模块,用于对文档剩下的数据进行空闲读取,并将得到的数据写入所述I/O缓存中;
第一判断模块,用于判断在空闲读取的过程中是否存在用户操作;
重排重绘模块,用于在所述第一判断模块的判断结果为否的情况下,在空闲读取结束后根据所述I/O缓存中的数据进行重新排版和绘制。
由以上方案可以看出,本发明的文档加载方法及系统,分两大步骤来读取文档数据,先进行首排首绘,读取文档前面部分数据进行显示,然后在用户阅读前面已显示内容的空闲时间将余下部分全部读取。采用本发明的方案,一方面解决了读取响应时间长的问题,减少了用户等待时间;另外一方面由于分批进行读取,每次读取的数据量相对减少,因此可以有效防止在程序装载文档时的内存过大,减少程序崩毁现象。
附图说明
图1为本发明实施例中一种文档加载方法的流程示意图;
图2为本发明实施例中一种文档加载系统的结构示意图。
具体实施方式
下面结合附图以及具体的实施例,对本发明的技术方案作进一步的描述。
参见图1所示,一种文档加载方法,包括以下步骤:
步骤S101,打开文档(如WORD文档)的时候,首先读取文档内部排列在前的预定数量的二进制数据,并将读取到的数据写入I/O(input/output,输入输出端口)缓存中。
本步骤中,所述预定数量可以根据具体情况的不同作不同设置。比如可以是文档开头的几页数据,或者是一个文档内容的三分之一部分等等。当读取完这些数据后就可以进入步骤S102。
步骤S102,提取所述I/O缓存中的数据,进行排版,并将排版完成后的数据写入排版缓存,然后进入步骤S103。
步骤S103,提取所述排版缓存中的数据,进行绘制,并显示已绘制完成的数据,然后进入步骤S104。
步骤S104,前面的首排首绘结束后,本步骤中对文档剩下的数据进行空闲读取,得到的数据同样写入所述I/O缓存中,然后进入步骤S105。
步骤S105,判断在空闲读取的过程中是否存在用户操作(如往下浏览等),若否则说明空闲读取还未完成,此时进入步骤S106。
步骤S106,若直到空闲读取完成都没有出现用户操作,则在空闲读取结束后根据所述I/O缓存中的数据进行重新排版和绘制。
本发明中提出空闲读取的概念,在用户阅读前面已显示内容的空闲时间进行余下数据的I/O读取,并对其进行解析。即是让出CPU时间,对文档进行完整的I/O读取,并转入I/O缓存中。而当用户没有强制操作,同时空闲读取完成即是I/O读取完的数据经由排版解析流程后写入缓存区(缓存区就是从文档文件中将数据加载到内存后,解析为程序内部使用的数据流,排版对数据流进行加工后,写入一个缓存,供绘制使用)。之后进入重排机制,对当前排版缓存中的页面数据进行刷新。重新排版结束后通过绘制进行页面刷新,绘制功能是通过提取排版缓存中的数据,进行绘制。
另外,作为一个较好的实施例,在所述步骤S105判断在空闲读取的过程中是否存在用户操作之后,还可以包括如下步骤:
步骤S107,若空闲读取还未完成时出现用户操作,则中断空闲读取操作,并进一步判断所述I/O缓存中是否已有足够的数据以满足用户的操作需求,若是则进入步骤S108,若否则进入步骤S109。
步骤S108,若所述I/O缓存中已有足够的数据,则将该满足用户操作需求的数据直接进行排版和绘制,然后返回步骤S104的空闲读取操作;
步骤S109,若所述I/O缓存中没有足够的数据,此时需要先将数据读取过来。因此先执行读取操作,将所述满足用户操作需求的数据读取过来,然后进行排版和绘制,并在绘制完成后返回步骤S104的空闲读取操作。
以在空闲读取的过程中出现用户的往下浏览操作为例进行说明:若已读取的数据能足够绘制出下一页,则直接进行排版绘制;若已读取的数据不能足够绘制出下一页,则要继续让其读取,直到能将下一页完整绘制时,就进行排版绘制。需要说明的是,本发明中采用强制排版绘制的方式,通过提取排版缓存中的数据来进行绘制。若排版缓存中没有相应的数据,则强行通知排版模块进行相应的排版缓存刷新操作。
另外,为了更进一步的减少程序崩毁现象,作为一个较好的实施例,本发明中还提供一个规则机制——排版缓存刷新机制,即设置所述排版缓存为根据设备的处理能力大小而预先进行定制。当在某个设备上应用本发明方案时,首先获取这个设备的性能参数,得到设备的处理能力大小。因为有些设备处理能力强,那在这个设备上的排版缓存的容量就可以设置得大一些。定制排版缓存的好处是可以保证缓存容量一定,避免排版缓存容量过大,这样一来当检测到所述排版缓存已满时,则可以停止数据的继续写入,从而在绘制以及显示过程中可以有效防止内存使用过大,进一步减少程序崩毁现象。
与上述一种文档加载方法相对应,本发明还提供一种文档加载系统,如图2所示,包括:
初步读取模块101,用于读取文档内部排列在前的预定数量的二进制数据,写入I/O缓存中;
初步排版模块102,用于提取所述I/O缓存中的数据,进行排版,并将排版完成后的数据写入排版缓存;
初步绘制模块103,用于提取所述排版缓存中的数据,进行绘制,并显示已绘制完成的数据;
空闲读取模块104,用于对文档剩下的数据进行空闲读取,并将得到的数据写入所述I/O缓存中;
第一判断模块105,用于判断在空闲读取的过程中是否存在用户操作;
重排重绘模块106,用于在所述第一判断模块的判断结果为否的情况下,在空闲读取结束后根据所述I/O缓存中的数据进行重新排版和绘制。
作为一个较好的实施例,所述文档加载系统还可以包括:
第二判断模块,用于在所述第一判断模块的判断结果为是的情况下,中断空闲读取操作,并判断所述I/O缓存中是否已有足够的数据以满足用户的操作需求;
第一返回模块,用于在所述第二判断模块的判断结果为是的情况下,将该满足用户操作需求的数据进行排版和绘制,然后返回空闲读取操作;
第二返回模块,用于在所述第二判断模块的判断结果为否的情况下,将所述满足用户操作需求的数据读取完毕,然后进行排版和绘制,并在绘制完成后返回空闲读取操作。
作为一个较好的实施例,所述排版缓存可以根据设备的处理能力大小预先进行定制。与此对应,所述文档加载系统还可以包括:检测模块,用于当检测到所述排版缓存已满时,停止数据的继续写入。定制排版缓存的好处是可以保证缓存容量一定,避免排版缓存容量过大。由于排版缓存已满时不能再进行数据写入,这样一来在绘制以及显示过程中可以有效防止内存使用过大,进一步减少程序崩毁现象。
上述一种文档加载系统的其它技术特征与本发明的一种文档加载方法相同,此处不予赘述。
通过以上方案可以看出,本发明的文档加载方法及系统,分两大步骤来读取文档数据,先进行首排首绘,读取文档前面部分数据进行显示,然后在用户阅读前面已显示内容的空闲时间将余下部分全部读取。采用本发明的方案,一方面解决了读取响应时间长的问题,减少了用户等待时间;另外一方面由于分批进行读取,每次读取的数据量相对减少,因此可以有效防止在程序装载文档时的内存过大,减少程序崩毁现象。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种文档加载方法,其特征在于,包括以下步骤:
读取文档内部排列在前的预定数量的二进制数据,写入I/O缓存中;
提取所述I/O缓存中的数据,进行排版,并将排版完成后的数据写入排版缓存;
提取所述排版缓存中的数据,进行绘制,并显示已绘制完成的数据;
对文档剩下的数据进行空闲读取,并将得到的数据写入所述I/O缓存中;
判断在空闲读取的过程中是否存在用户操作;
若否,则在空闲读取结束后根据所述I/O缓存中的数据进行重新排版和绘制。
2.根据权利要求1所述的文档加载方法,其特征在于,在所述判断在空闲读取的过程中是否存在用户操作之后,还包括步骤:
若存在用户操作,则中断空闲读取操作,并判断所述I/O缓存中是否已有足够的数据以满足用户的操作需求;
若已有足够的数据,则将该满足用户操作需求的数据进行排版和绘制,然后返回空闲读取操作;
若没有足够的数据,则将所述满足用户操作需求的数据读取完毕,然后进行排版和绘制,并在绘制完成后返回空闲读取操作。
3.根据权利要求1或2所述的文档加载方法,其特征在于,所述排版缓存根据设备的处理能力大小预先进行定制。
4.根据权利要求3所述的文档加载方法,其特征在于,还包括步骤:当检测到所述排版缓存已满时,停止数据的继续写入。
5.一种文档加载系统,其特征在于,包括:
初步读取模块,用于读取文档内部排列在前的预定数量的二进制数据,写入I/O缓存中;
初步排版模块,用于提取所述I/O缓存中的数据,进行排版,并将排版完成后的数据写入排版缓存;
初步绘制模块,用于提取所述排版缓存中的数据,进行绘制,并显示已绘制完成的数据;
空闲读取模块,用于对文档剩下的数据进行空闲读取,并将得到的数据写入所述I/O缓存中;
第一判断模块,用于判断在空闲读取的过程中是否存在用户操作;
重排重绘模块,用于在所述第一判断模块的判断结果为否的情况下,在空闲读取结束后根据所述I/O缓存中的数据进行重新排版和绘制。
6.根据权利要求5所述的文档加载系统,其特征在于,还包括:
第二判断模块,用于在所述第一判断模块的判断结果为是的情况下,中断空闲读取操作,并判断所述I/O缓存中是否已有足够的数据以满足用户的操作需求;
第一返回模块,用于在所述第二判断模块的判断结果为是的情况下,将该满足用户操作需求的数据进行排版和绘制,然后返回空闲读取操作;
第二返回模块,用于在所述第二判断模块的判断结果为否的情况下,将所述满足用户操作需求的数据读取完毕,然后进行排版和绘制,并在绘制完成后返回空闲读取操作。
7.根据权利要求5或6所述的文档加载系统,其特征在于,所述排版缓存根据设备的处理能力大小预先进行定制。
8.根据权利要求7所述的文档加载系统,其特征在于,还包括:检测模块,用于当检测到所述排版缓存已满时,停止数据的继续写入。
CN2013102483948A 2013-06-20 2013-06-20 文档加载方法及系统 Pending CN103309994A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013102483948A CN103309994A (zh) 2013-06-20 2013-06-20 文档加载方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013102483948A CN103309994A (zh) 2013-06-20 2013-06-20 文档加载方法及系统

Publications (1)

Publication Number Publication Date
CN103309994A true CN103309994A (zh) 2013-09-18

Family

ID=49135212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013102483948A Pending CN103309994A (zh) 2013-06-20 2013-06-20 文档加载方法及系统

Country Status (1)

Country Link
CN (1) CN103309994A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630784A (zh) * 2014-10-27 2016-06-01 东莞宇龙通信科技有限公司 一种网页加载的方法、装置及终端
CN105989012A (zh) * 2015-01-28 2016-10-05 深圳市腾讯计算机系统有限公司 一种页面显示方法、装置、移动终端和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136288A1 (en) * 1998-12-24 2007-06-14 Atsuo Shimada Document processor, document classification device, document processing method, document classification method, and computer-readable recording medium for recording programs for executing the methods on a computer
CN102663133A (zh) * 2012-04-28 2012-09-12 广东威创视讯科技股份有限公司 一种文件发送方法和装置
CN102819521A (zh) * 2011-06-08 2012-12-12 深圳市万兴软件有限公司 阅读多页面文档的便携式电子设备及其渲染方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136288A1 (en) * 1998-12-24 2007-06-14 Atsuo Shimada Document processor, document classification device, document processing method, document classification method, and computer-readable recording medium for recording programs for executing the methods on a computer
CN102819521A (zh) * 2011-06-08 2012-12-12 深圳市万兴软件有限公司 阅读多页面文档的便携式电子设备及其渲染方法
CN102663133A (zh) * 2012-04-28 2012-09-12 广东威创视讯科技股份有限公司 一种文件发送方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630784A (zh) * 2014-10-27 2016-06-01 东莞宇龙通信科技有限公司 一种网页加载的方法、装置及终端
CN105989012A (zh) * 2015-01-28 2016-10-05 深圳市腾讯计算机系统有限公司 一种页面显示方法、装置、移动终端和系统
CN105989012B (zh) * 2015-01-28 2019-12-13 深圳市腾讯计算机系统有限公司 一种页面显示方法、装置、移动终端和系统

Similar Documents

Publication Publication Date Title
CN100570545C (zh) 表情输入方法及装置
CN102841746B (zh) 一种手机网页交互方法
CN103425416A (zh) 用于便携式设备的显示控制方法和装置
CN107391457B (zh) 一种基于文本行的文档分段方法及装置
CN105468365A (zh) 一种解决树控件节点数量限制的方法
CN103365637A (zh) 桌面图标管理方法和系统
CN102981902A (zh) 基于智能移动终端的屏保方法及其智能移动终端
CN111881094B (zh) 日志中关键信息提取方法、装置、终端及存储介质
US10671795B2 (en) Handwriting preview window
CN101483035B (zh) 在图形界面上显示文字的方法和系统
CN108989704B (zh) 图像生成方法和装置、终端设备
CN106371711A (zh) 一种信息输入方法及电子设备
CN109725960A (zh) 显示界面展示方法、装置、移动终端及存储介质
CN106372008A (zh) 一种数据缓存方法及装置
CN103309994A (zh) 文档加载方法及系统
CN107783946A (zh) 文本显示方法及文本显示设备
CN103389976A (zh) 用于终端的搜索方法及系统
CN102981693B (zh) 一种多语言手写输入方法和装置
CN103559512A (zh) 一种文字识别输出方法及系统
CN106951531B (zh) 数据查询方法及装置
CN101986289B (zh) 一种提高浏览器页面渲染速度的方法和装置
CN110489242A (zh) 分布式数据计算方法、装置、终端设备及存储介质
CN103034426B (zh) 一种终端及其联系人搜索方法
US20090225767A1 (en) Network packet capturing method
CN101777067B (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
CB02 Change of applicant information

Address after: Jinshan software building No. 8 Jingshan Hill Road, Lane 519015 Lianshan Jida Zhuhai city in Guangdong Province

Applicant after: Zhuhai Kingsoft Office Software Co., Ltd.

Applicant after: Beijing Kingsoft office software Limited by Share Ltd

Address before: Jinshan software building No. 8 Jingshan Hill Road, Lane 519015 Lianshan Jida Zhuhai city in Guangdong Province

Applicant before: Zhuhai Kingsoft Office Software Co., Ltd.

Applicant before: Beijing Kingsoft WPS Office Co., Ltd.

COR Change of bibliographic data
RJ01 Rejection of invention patent application after publication

Application publication date: 20130918

RJ01 Rejection of invention patent application after publication