一种电子书时间管理方法和系统 【技术领域】
本发明属于以电子墨水显示技术为基础的手持终端电子阅读器领域,具体涉及一种电子阅读器中可提供多种设定方式和提醒模式的时间管理方法和系统。
背景技术
现有的电子阅读器上的时间系统,仅仅有基本的时钟功能,一般只是在屏幕一角显示当前的时间,而没有多种设定方式和提醒模式的时间管理功能。已有的时钟系统的缺点是功能单一,不能满足多种提醒方式的需要。
【发明内容】
本发明要解决的技术问题是提供一种电子书时间管理方法和系统,以解决以往时钟系统功能单一,不能满足多种提醒方式的需要的问题。
为解决上述技术问题,本发明提供一种电子书时间管理方法,包括以下步骤:
S1:接收用户的操作指令,并根据所接收的指令修改当前提醒配置信息,并将修改后的提醒配置信息存储,
所述提醒配置信息包括:提醒类型和提醒时间参数,
所述提醒类型包括:媒体提醒和图文显示提醒,
所述媒体提醒包括:单次提醒和多次提醒,
所述提醒时间参数包括:提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间;
S2:根据存储的提醒配置信息中的提醒类型和提醒时间参数生成提醒任务,并根据提醒任务进行定时,
所述提醒任务包括:单个提醒任务和提醒任务链表;
S3:当到达所述定时过程中设定的提醒开始时间后执行提醒任务,
若提醒类型为单次提醒,则执行单个提醒任务,若提醒类型为多次提醒或图文显示提醒,则执行提醒任务链表中在该提醒开始时间应执行的任务节点;
S4:提醒任务执行完毕后判断提醒类型,若提醒类型为单次提醒,则提醒终止并注销所述单个提醒任务,若提醒类型为多次提醒或图文显示提醒,则注销当前执行的任务节点并返回步骤S3继续等待执行提醒任务链表中的下一个任务节点,若提醒任务链表为空,则注销提醒任务链表。
其中,所述步骤S1中所述提醒配置信息还包括:目标文档和阅读目标文档的总时间,
若提醒类型为媒体提醒,且为单次提醒,则设置提醒开始时间和提醒持续时间,若提醒类型为多次提醒,则设置提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间;
若提醒类型为图文显示提醒,则根据待阅读示的文档设置阅读目标文档的总时间为Ttot,目标文档总字数Ltot,根据以下公式计算阅读语速Vread:
Vread=Ttot/Ltot。
其中,所述步骤S2中:
若提醒类型为单次提醒,则根据提醒开始时间和提醒持续时间生成单个提醒任务;
若提醒类型为多次提醒,则根据提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间生成提醒任务链表;
若为图文显示提醒,则设置文档中每个字符权重w
i,所述权重w
i为除汉字以外的其它字符的相对汉字个数,设定汉字权重为1,其它字符权重为汉字权重的整数倍,根据所述阅读语速Vread统计每行字符数,并按如下公式计算每行阅读时间Tline:
Tline=∑(wi×Vread)
将显示每行文字作为一个提醒任务,生成任务提醒任务链表,其中,i为每行的字符次序。
其中,所述步骤S3中执行提醒任务或提醒任务链表中的提醒任务节点的同时生成用户手动终止提示,若用户手动终止,则执行步骤S4。
其中,所述步骤S1前还包括加载当前提醒配置信息的步骤。
其中,所述步骤S1中若用户未修改当前提醒配置信息,则存储当前提醒配置信息。
本发明还提供一种电子书时间管理系统,包括:
配置管理模块,用于接收用户的操作指令,并根据所接收的指令修改当前提醒配置信息,并将修改后的提醒配置信息存储。
所述提醒配置信息包括:提醒类型和提醒时间参数。
所述提醒类型包括:媒体提醒和图文显示提醒。
所述媒体提醒包括:单次提醒和多次提醒。
所述提醒时间参数包括:提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间。
任务解析模块,用于根据存储的提醒配置信息中的提醒类型和提醒时间参数生成提醒任务,并根据提醒任务进行定时。
所述提醒任务包括:单个提醒任务和提醒任务链表;
提醒任务执行模块,用于当到达所述定时过程中设定的提醒开始时间后执行提醒任务,
若提醒类型为单次提醒,则执行单个提醒任务,若提醒类型为多次提醒或图文显示提醒,则执行提醒任务链表中在该提醒开始时间应执行的任务节点;
提醒终止模块,提醒任务执行完毕后判断提醒类型,若提醒类型为单次提醒,则提醒终止并注销所述单个提醒任务,若提醒类型为多次提醒或图文显示提醒,则注销当前执行的任务节点并返回步骤S3继续等待执行提醒任务链表中的下一个任务节点,若提醒任务链表为空,则注销提醒任务链表。
其中,所述配置管理模块中的提醒配置信息还包括:待阅读的文档和阅读文档总时间,所述配置管理模块包括:
媒体提醒设置单元,用于若提醒类型为媒体提醒,且为单次提醒,则直接设置提醒开始时间和提醒持续时间;若提醒类型为多次提醒,则设置提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间;
图文显示提醒设置单元,用于若提醒类型为图文显示提醒,则根据待阅读示的文档设置阅读文档总时间Ttot,获取文档总字数Ltot,根据以下公式计算阅读语速Vread:
Vread=Ttot/Ltot。
其中,所述任务解析模块包括:
单次提醒任务生成模块,用于若提醒类型为单次提醒,则根据提醒开始时间和提醒持续时间生成单个提醒任务;
多次提醒任务生成模块,用于若提醒类型为多次提醒,则根据提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间生成提醒任务链表;
图文显示提醒任务生成模块,用于若为图文显示提醒,则设置文档中每个字符权重w
i,所述权重w
i为除汉字以外的其它字符的相对汉字个数,设定汉字权重为1,其它字符权重为汉字权重的整数倍,根据所述阅读语速Vread统计每行字符数,并按如下公式计算每行阅读时间Tline:
Tline=∑(w
i×Vread)
将每行Tline作为一个提醒任务,生成任务提醒任务链表,其中,i为每行的字符次序。
其中,所述任务提醒模块包括:
手动终止提示模块,用于在执行提醒任务或提醒任务链表中的提醒任务节点的同时生成用户手动终止提示,若用户手动终止,则执行提醒终止模块。
本发明的电子书时间管理方法和系统,具有如下有益效果:
1、通过提醒配置信息就可以控制所有的提醒,使系统结构简单,易于扩展;
2、为每个任务维护一个任务信息结构,媒体提醒任务为单个任务,图文显示提醒任务,为任务链表;这样的结构的优点为,单次任务和多次任务链表可以统一为一种结构,便于管理和扩展;
3、执行提醒动作时,根据任务的类型,决定是单次提醒,还是再次从任务链表中取得任务;这样的结构的优点为,任务的终止由一个模块管理,便于增加任务的种类。
【附图说明】
图1是根据本发明电子书时间管理方法的流程图;
图2是根据本发明电子书时间管理方法的任务提醒时的判断过程图。
【具体实施方式】
本发明提出的电子书时间管理方法,结合附图和实施例说明如下。
本发明的电子书时间管理方法和系统,将多种提醒设定方式和提醒模式融合,通过将配置提醒任务、生成提醒任务和执行提醒任务分为独立的模块,使设定和提醒在模块的内部进行处理,并统一模块之间的接口,提醒方式方便灵活,简化了时间管理系统架构。
本实施例中,电子书的系统平台为WinCE5.0。
本发明电子书时间管理方法,如图1所示,分以下步骤:
步骤S1,接收用户的操作指令,并根据所接收的指令修改当前提醒配置信息,并将修改后的提醒配置信息存储。
电子书中,该步骤由配置管理模块完成,首先加载提醒配置信息,从提醒配置文件中读出上一次的提醒配置信息,并将其放到内存中的提醒配置结构里,显示到界面的配置框中。
提醒配置信息包括:提醒类型和提醒时间参数。
提醒类型包括:媒体提醒和图文显示提醒。
媒体提醒包括:单次提醒和多次提醒。
提醒时间参数包括:提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间,其中,媒体提醒主要包括闹铃提醒。
用户点选或更改提醒配置信息后,对内存中的提醒配置信息进行更新,并进行保存,以便下一次唤醒该模块时,显示最新的提醒配置信息,若用户认为不需要修改,则直接将当前的提醒配置信息进行保存。
提醒时间参数可以在界面上显示为多种形式供用户输入,本方法中由用户直接输入,这样简化了核心的运算,而且能为用户提供灵活的设置方式。
以到站提醒,防疲劳提醒和讲稿速度控制提醒的配置为实施例说明如下:
到站提醒中,提醒类型为媒体提醒中的单次提醒,设置Tsep为由当前时间Tcur至提醒开始时间Tarr的时间间隔。根据到达时间计算到站提醒时间的公式为:
Tsep=Tarr-Tcur
本实施例中,当前时间Tcur为17:00,设置为到达时间Tarr=17:40,则Tsep=40分钟,在40分钟后提醒,即提醒开始时间为此处设置的到达时间Tarr=17:40。
本实施例中设置提醒持续时间:声音媒体如扬声器在提醒开始时间开始响铃,在提醒持续时间中保持响铃,在提醒持续时间结束后结束响铃,提醒持续时间也可以在电子书中被设定为默认值60s。
用户欲乘坐地铁路程Ldis=10公里的距离,且北京地铁速度系统预设地铁速度为Vsub=30公里/小时,则为了保证用户在到达目的地后准时进行提醒,Tsep为:
Tsep=Ldis/Vsub
则Tsep=20分钟;当前时间Tcur为17:00,则可计算出到提醒开始时间为17:20。
在到站提醒的其他实施例中,根据城市交通停靠站数计算由当前时间Tcur至提醒开始时间Tarr的时间间隔Tsep的公式为:
Tsep=Tstop×Pstop
比如系统预设北京公交站速为Tstop=2分钟/站,设置为北京公交Pstop=8站时提醒,则由当前时间Tcur至提醒开始时间Tarr的时间间隔为Tsep=16分钟。在电子书的显示界面上显示城市、交通方式、里程和站数的选择,并接受用户输入。若当前时间Tcur为17:00,根据用户输入可计算出到提醒开始时间为17:16。
多次提醒类型中的防疲劳提醒,电子书在用户开启阅读界面后每隔一段时间显示提醒对话框或响铃,使用户及时意识到自己的阅读时间,不至于由于阅读时间过长而产生疲劳。显示界面上显示两个时间设置,阅读时间Tread(提醒间隔时间)和休息时间Trele(提醒持续时间),此处提醒开始时间为每一次提醒间隔时间到达的时刻。例如可设置阅读时间为Tread=45分钟,休息时间Trele=5分钟,则电子书每过Tread=45分钟显示提醒对话框或响铃进行提醒,使用户不至于由于阅读时间过长而产生疲劳。还可以设置提醒终止时间,以至于不会一直不停的提醒。
图文显示类型的讲稿速度控制提醒,电子书的显示界面上显示供用户设定的目标文档,阅读目标文档的总时间为Ttot,或语速设置为Vread,电子书设置Vread参数。从目标文档的长度和阅读目标文档的总时间计算语速的公式为:
Vread=Ttot/Ltot
例如可设定阅读目标文档的总时间为Ttot=10分钟,若经过解析目标文档总长Ltot=3000字,可得Vread=1/300(分钟/字)。
步骤S2,根据存储的提醒配置信息中的提醒类型和提醒时间参数生成提醒任务,并根据提醒任务进行定时。
所述提醒任务包括:单个提醒任务和提醒任务链表。该步骤由解析任务模块完成,判断任务类型如图2所示,根据提醒配置信息判断提醒类型为媒体提醒还是图文显示提醒,若是媒体提醒再根据提醒配置信息判断是单次提醒还是多次提醒。
打开步骤S1中的配置信息,若打开的配置信息为到站提醒,到站提醒为媒体提醒的单次提醒,则根据Tsep设置定时器A,生成单个提醒任务。
若打开的配置信息为防疲劳提醒,防疲劳提醒为媒体提醒的多次提醒,则根据Tread设置定时器B,并根据Trele设置定时器重复提醒时间间隔,生成提醒任务链表,每次提醒时提醒任务链表中的一个任务节点。
若打开的配置信息为讲稿语速提醒,则首先解析目标文档,根据设定的语速Vread,分别统计每一行的等效字数。由等效字数统计模块判断当前行的每个字符类型,为不同的字和标点分配不同的权重,所述权重w
i为除汉字以外的其它字符的相对汉字个数,设定汉字权重为1,其它字符权重为汉字权重的整数倍。这个权重可预先存储在一张数据表中,供字数统计模块查询,例如汉字、数字的权重为1,逗号的权重为1,句号、叹号、问号的权重为2(相当于2个汉字)等。
任务生成模块根据每行的等效字数,为每一行分配一个任务信息结构,按以下公式计算每行的阅读时间Tline并存储,
Tline=∑(w
i×Vread)
其中,i为每行的字符次序,将显示每行文字作为一个提醒任务,生成任务提醒任务链表,并把第一行作为当前行,触发首次提醒任务,首次阅读的时间为提醒开始时间,根据当前行的阅读时间Tline,设置定时器使Tline为提醒持续时间,每行提醒完成时间为下一行提醒开始时间,直到阅读完整篇文档。
步骤S3,当到达所述定时过程中设定的提醒开始时间后执行提醒任务,
若提醒类型为单次提醒,则执行单个提醒任务,若提醒类型为多次提醒或图文显示提醒,则执行提醒任务链表中在该提醒开始时间应执行的任务节点。
该步骤由提醒任务执行模块完成。当到达设定的时间时,定时器发出触发消息,提醒模块根据此消息对应的任务类型,执行相应的提醒动作。
若任务类型为到站提醒,则在屏幕上弹出提示,并发出铃声警告;
若任务类型为防疲劳提醒,则弹出提示,而且可以显示一个全屏幕的动画屏保,直到用户设定的休息时间;
若为语速控制提醒,则把当前行数增加1,把下一行作为着重显示的行,刷新屏幕。
步骤S4,提醒任务执行完毕后判断提醒类型,若提醒类型为单次提醒,则提醒终止并注销所述单个提醒任务,若提醒类型为多次提醒或图文显示提醒,则注销当前执行的任务节点并返回步骤S3继续等待执行提醒任务链表中的下一个任务节点,若提醒任务链表为空,则注销提醒任务链表。
提醒终止模块根据任务节点类型,提供不同的提醒终止方式,这样做的好处是,把终止判断从任务节点中分离出来,便于对多种不同的任务进行扩展。在步骤S3中执行任务节点的同时会生成用户手动终止提示,具体为产生包含“停止”按钮的对话框,用来接收用户点击“停止”键的消息。
如果任务类型为单次提醒,如到站提醒,提醒同时弹出包含“停止”按钮的对话框,若接收到用户点击“停止”的消息,则立即停止提醒并注销该单个任务节点;若接收不到,则等待此次提醒动作全部完成后,即超过提醒持续时间后,注销该单个任务节点。
如果任务类型为多次提醒,如防疲劳提醒,提醒同时弹出包含“停止休息”按钮的对话框,若接收到用户点击“停止休息”的消息,则立即停止屏幕保护,注销当前执行的任务节点,并返回步骤S3继续等待执行提醒任务链表中的下一个任务节点;若接收不到,则等待此次屏幕保护动作全部完成后,停止屏幕保护,注销当前执行的任务节点,并返回步骤S3继续等待执行提醒任务链表中的下一个任务节点,重新开始新一轮的防疲劳提醒,直到所述链表为空则注销整个链表。
若任务类型为图文显示提醒,如语速控制提醒,提醒的同时显示“停止”按钮,若接收到用户点击“停止”的消息,则立即停止着重显示提醒,并注销当前的任务链表。若接收不到,则判断是否到达了文档的结尾,若到达了文档的结尾,则通知任务解析模块,注销语速控制提醒任务,若没有到达文档的结尾,则通知任务解析模块,把行数增加1,执行步骤S3,解析提醒任务链表中的下一个任务节点,对下一行进行着重提醒,直到所述链表为空则注销整个链表。
本发明还提供了一种电子书时间管理系统,包括:
配置管理模块,用于接收用户的操作指令,并根据所接收的指令修改当前提醒配置信息,并将修改后的提醒配置信息存储。
所述提醒配置信息包括:提醒类型和提醒时间参数,
所述提醒类型包括:媒体提醒和图文显示提醒,
所述媒体提醒包括:单次提醒和多次提醒,
所述提醒时间参数包括:提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间。
任务解析模块,用于根据存储的提醒配置信息中的提醒类型和提醒时间参数生成提醒任务,并根据提醒任务进行定时,
所述提醒任务包括:单个提醒任务和提醒任务链表。
提醒任务执行模块,用于当到达所述定时过程中设定的提醒开始时间后执行提醒任务;
若提醒类型为单次提醒,则执行单个提醒任务;若提醒类型为多次提醒或图文显示提醒,则执行提醒任务链表中在该提醒开始时间应执行的任务节点。
提醒终止模块,提醒任务执行完毕后判断提醒类型,若提醒类型为单次提醒,则提醒终止并注销所述单个提醒任务,若提醒类型为多次提醒或图文显示提醒,则注销当前执行的任务节点并返回步骤S3继续等待执行提醒任务链表中的下一个任务节点,若提醒任务链表为空,则注销提醒任务链表。
其中,所述配置管理模块中的提醒配置信息还包括:待阅读的文档和阅读文档总时间,所述配置管理模块包括:
媒体提醒设置单元,用于若提醒类型为媒体提醒,且为单次提醒,则直接设置提醒开始时间和提醒持续时间,若提醒类型为多次提醒,则置提提醒开始时间、提醒持续时间、设醒间隔时间和提醒终止时间;
图文显示提醒设置单元,用于若提醒类型为图文显示提醒,则根据待阅读示的文档设置阅读文档总时间Ttot,获取文档总字数Ltot,根据以下公式计算阅读语速Vread:
Vread=Ttot/Ltot。
其中,所述任务解析模块包括:
单次提醒任务生成模块,用于若提醒类型为单次提醒,则根据提醒开始时间和提醒持续时间生成单个提醒任务;
多次提醒任务生成模块,用于若提醒类型为多次提醒,则根据提醒开始时间、提醒持续时间、提醒间隔时间和提醒终止时间生成提醒任务链表;
图文显示提醒任务生成模块,用于若提醒类型为图文显示提醒,则设置文档中每个字符权重w
i,所述权重w
i为除汉字以外的其它字符的相对汉字个数,设定汉字权重为1,其它字符权重为汉字权重的整数倍,根据所述阅读语速Vread统计每行字符数,并按如下公式计算每行阅读时间Tline:
Tline=∑(w
i×Vread)
将每行Tline作为一个提醒任务,生成任务提醒任务链表,其中,i为每行的字符次序。
其中,所述任务提醒模块包括:
手动终止提示模块,用于在执行提醒任务或提醒任务链表中的提醒任务节点的同时生成用户手动终止提示,若用户手动终止,则执行提醒终止模块。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。