发明内容
本发明提供一种数字图书提供方法及装置,用以解决现有技术服务器在用户端提供数字图书时,效率较低的问题。
本发明提供一种数字图书提供方法,该方法包括:
服务器接收用户端发送的数字图书请求信息,其中该数字图书请求信息中携带所请求的数字图书的标识信息;
判断缓存中是否保存有该标识信息的数字图书;
当确定缓存中保存有该标识信息的数字图书时,将缓存中的数字图书提供给用户端,对缓存中该数字图书的提供信息进行更新;
否则,将硬盘中该标识信息的数字图书提供给用户端,对硬盘中该数字图书的提供信息进行更新,并确定是否将提供的该数字图书添加到缓存中。
所述判断缓存中是否保存有该标识信息的数字图书,包括:
所述服务器判断所述用户端的终端类型;
根据判断的所述用户端的终端类型,将所述数字图书请求信息发送到对应类型的终端服务器;
所述类型的终端服务器判断自身缓存中是否保存有该标识信息的数字图书。
所述提供信息包括:
提供时间信息和提供次数信息中的至少一种。
确定是否将提供的该数字图书添加到缓存中,包括:
判断当前缓存中保存的数字图书的存储量是否达到设定阈值;
当缓存中保存的数字图书的存储量未达到设定阈值时,直接将硬盘中该数字图书添加到缓存中;
当缓存中保存的数字图书的存储量达到设定阈值时,根据硬盘中该数字图书的提供信息,确定硬盘中该数字图书的提供权重值,将硬盘中该数字图书的提供权重值,与缓存中每个数字图书的提供权重值进行比较,当硬盘中该数字图书的提供权重值大于缓存中第一数字图书提供权重值时,采用该数字图书对缓存中的第一数字图书更新。
所述数字图书请求信息中还携带有所请求数字图书的章节信息;
所述判断缓存中是否保存有该标识信息的数字图书包括:
判断缓存中是否保存有数字图书的该章节。
所述方法还包括:
当确定缓存中保存有数字图书的该章节时,将缓存中数字图书的该章节提供给用户端,对缓存中数字图书该章节的提供信息进行更新;
否则,将硬盘中数字图书的该章节提供给用户端,对硬盘中数字图书该章节的提供信息进行更新,并确定是否将提供的数字图书的该章节添加到缓存中。
所述确定是否将提供的数字图书的该章节添加到缓存中包括:
判断当前缓存中保存的数字图书的存储量是否达到设定阈值;
当缓存中保存的数字图书的存储量未达到设定阈值时,将缓存中数字图书的该章节添加到缓存中;
当缓存中保存的数字图书的存储量达到设定阈值时,根据硬盘中数字图书该章节的提供信息,确定硬盘中该数字图书的提供权重值,将硬盘中该数字图书的提供权重值,与缓存中每个数字图书每个章节的提供权重值进行比较,当硬盘中数字图书该章节的提供权重值大于缓存中第二数字图书第三章节的提供权重值时,采用数字图书该章节对缓存中的第二数字图书第三章节更新。
本发明提供一种数字图书提供装置,所述装置包括:
接收模块,用于接收用户端发送的数字图书请求信息,其中该数字图书请求信息中携带所请求的数字图书的标识信息;
判断模块,用于判断缓存中是否保存有该标识信息的数字图书;
提供更新模块,用于确定缓存中保存有该标识信息的数字图书时,将缓存中的数字图书提供给用户端,对缓存中该数字图书的提供信息进行更新;否则,将硬盘中该标识信息的数字图书提供给用户端,对硬盘中该数字图书的提供信息进行更新,并确定是否将提供的该数字图书添加到缓存中。
所述判断模块,还用于判断所述用户端的终端类型;根据判断的所述用户端的终端类型,将所述数字图书请求信息发送到对应类型的终端服务器。
所述提供更新模块,具体用于判断当前缓存中保存的数字图书的存储量是否达到设定阈值;当缓存中保存的数字图书的存储量未达到设定阈值时,直接将硬盘中该数字图书添加到缓存中;当缓存中保存的数字图书的存储量达到设定阈值时,确定硬盘中该数字图书的提供权重值,将硬盘中该数字图书的提供权重值,与缓存中每个数字图书的提供权重值进行比较,当硬盘中该数字图书的提供权重值大于缓存中第一数字图书提供权重值时,采用该数字图书对缓存中的第一数字图书更新。
所述接收模块,还用于接收携带有所请求数字图书的章节信息的数字图书请求信息;
所述判断模块,还用于判断缓存中是否保存有数字图书的该章节。
所述提供更新模块,还用于确定缓存中保存有数字图书的该章节时,将缓存中数字图书的该章节提供给用户端,对缓存中数字图书该章节的提供信息进行更新;否则,将硬盘中数字图书的该章节提供给用户端,对硬盘中数字图书该章节的提供信息进行更新,并确定是否将提供的数字图书的该章节添加到缓存中。
所述提供更新模块,具体用于判断当前缓存中保存的数字图书的存储量是否达到设定阈值;当缓存中保存的数字图书的存储量未达到设定阈值时,将缓存中数字图书的该章节添加到缓存中;当缓存中保存的数字图书的存储量达到设定阈值时,根据硬盘中数字图书该章节的提供信息,确定硬盘中该数字图书的提供权重值,将硬盘中该数字图书的提供权重值,与缓存中每个数字图书每个章节的提供权重值进行比较,当硬盘中数字图书该章节的提供权重值大于缓存中第二数字图书第三章节的提供权重值时,采用数字图书该章节对缓存中的第二数字图书第三章节更新。
本发明提供一种数字图书提供方法及装置,该方法中当服务器接收到用户端发送的数字图书请求后,根据该数字图书请求中携带的所请求的数字图书的标识信息,判断缓存中保存有数字图书时,将缓存中的数字图书提供给用户端,并对缓存中该数字图书的提供信息进行更新,否则,将硬盘中该数字图书提供给用户端,并对硬盘中该数字图书的提供信息进行更新,确定是否将提供的该数字图书添加到缓存中。由于在本发明中用户端请求的数字图书保存在缓存中时,将缓存中保存的该数字图书提供给用户端,从而可以有效的提高数字图书的提供效率,另外,在本发明中根据每个数字图书的提供信息,对缓存中保存的数字图书进行自适应机制的更新,可以动态保证缓存中保存的数字图书都是提供权重值比较高的,从而进一步提高数字图书的提供效率。
具体实施方式
为了提高向用户端提供数字图书的效率,本发明提供了一种数字图书提供方法及装置。
下面结合说明书附图,对本发明进行详细说明。
图2为本发明提供的数字图书提供过程的示意图,该过程包括以下步骤:
S201:服务器接收用户端发送的数字图书请求信息,其中该数字图书请求信息中携带所请求的数字图书的标识信息。
具体的,用户可以通过不同的用户端向服务器发送数字图书请求信息,例如可以为移动终端、PC或者手持终端等等。其中,用户端向服务器发送数字图书请求信息,可以是用户端在进行数字图书下载时,向服务器发送的数字图书下载的请求信息,也可以是用户端在进行数字图书读取时,向服务器发送的数字图书阅读的请求信息。
在本发明中服务器可以针对用户端的终端类型的不同,将该数字图书请求信息发送到对应类型的终端服务器,通过该类型的终端服务器向用户端提供数字图书。
S202:判断缓存中是否保存有该标识信息的数字图书,当判断结果为是时,进行步骤S203,否则,进行步骤S204。
S203:将缓存中的数字图书提供给用户端,对缓存中该数字图书的提供信息进行更新。
当缓存中保存有该标识信息的数字图书时,将缓存中的该数字图书提供给用户端。并且为了实现对缓存中保存的数字图书的更新,使缓存中保存的数字图书都是提供权重值较高的数字图书,即缓存中保存的数字图书都是用户使用率较高的数字图书,因此需要对缓存中该数字图书的提供信息进行更新。
S204:将硬盘中该标识信息的数字图书提供给用户端,对硬盘中该数字图书的提供信息进行更新,并确定是否将提供的该数字图书添加到缓存中。
当服务器的缓存中没有保存该数字图书时,由于硬盘中保存有所有标识信息的数字图书,因此可以将硬盘中保存的该数字图书提供给用户端。并且为了保证缓存中保存的数字图书都是提供权重值比较高的数字图书,因此在本发明中对硬盘中该数字图书的提供信息进行更新,并根据更新后的硬盘中该数字图书的提供信息,确定是否将该数字图书添加到缓存中。
该提供信息包括:提供次数信息和提供时间信息中的至少一种。
由于在本发明中用户端请求的数字图书保存在缓存中时,将缓存中保存的该数字图书提供给用户端,从而可以有效的提高数字图书的提供效率,另外,在本发明中根据每个数字图书的提供信息,对缓存中保存的数字图书进行自适应机制的更新,可以动态保证缓存中保存的数字图书都是提供权重值比较高的,从而进一步提高数字图书的提供效率。
在本发明中当通过不同类型的终端服务器向用户端提供数字图书时,每种类型的终端服务器上都可以设置相应的缓存空间,用于缓存该类型的服务器中用户使用率较高的数字图书。每种类型的终端服务器通过缓存向用户端提供数字图书的过程,通过硬盘向用户端提供数字图书的过程以及对缓存中数字图书的更新过程与上述过程相同。
为了实现每种类型的终端服务器向对应的用户端提供相应的数字图书,在服务器中保存有每种用户端的终端类型信息,当接收到用户端发送的数字图书请求信息时,服务器判断所述用户端的终端类型;根据判断的所述用户端的终端类型,将所述数字图书请求发送到对应类型的终端服务器;所述类型的终端服务器判断自身缓存中是否保存有该标识信息的数字图书。
在缓存中可以保存有提供权重值比较高的数字图书,即用户使用率较高的数字图书,但是缓存的容量是有限的,为了保证服务器向用户端提供数字图书的效率,需要对缓存中保存的数字图书进行更新,使缓存中始终保存提供权重值较高的数字图书。
在本发明中可以提前在缓存中保存部分数字图书,并且后续还可以根据数字图书的提供权重值,对缓存中保存的数字图书进行更新。或者在服务器刚开始运行时,缓存中可以不保存数字图书,而是根据后续数字图书的提供权重值,对缓存中的图书进行更新。
具体的,在本发明中对缓存中的数字图书进行更新的过程包括:判断当前缓存中保存的数字图书的存储量是否达到设定阈值;当缓存中保存的数字图书的存储量未达到设定阈值时,直接将硬盘中该数字图书添加到缓存中;当缓存中保存的数字图书的存储量达到设定阈值时,根据硬盘中该数字图书的提供信息,确定硬盘中该数字图书的提供权重值,将硬盘中该数字图书的提供权重值,与缓存中每个数字图书的提供权重值进行比较,当硬盘中该数字图书的提供权重值大于缓存中第一数字图书提供权重值时,采用该数字图书对缓存中的第一数字图书更新。
该设定的阈值,可以是数量阈值,即缓存中保存的数字图书的数量是有限的,根据缓存中保存的数字图书数量的最大值确定该数量阈值,该设定的阈值还可以是容量阈值,即缓存中保存数字图书的容量是有限的,根据缓存中保存的数字图书的容量的最大值确定该容量阈值。
图3为本发明提供的数字图书的提供过程的一个具体实施例,该过程包括以下步骤:
S301:服务器接收用户端发送的数字图书请求信息,其中该数字图书请求信息中携带所请求的数字图书的标识信息。
S302:判断缓存中是否保存有该标识信息的数字图书,当判断结果为是时,进行步骤S303,否则,进行步骤S304。
S303:将缓存中的该标识信息的数字图书提供给用户端,并对缓存中该数字图书的提供信息进行更新,根据更新后的该数字图书的提供信息,确定该数字图书的提供权重值。
S304:将硬盘中该标识信息的数字图书提供给用户端,对硬盘中该数字图书的提供信息进行更新,并根据更新后的该数字图书的提供信息,对硬盘中该数字信息的提供权重值进行更新。
S305:判断缓存中数字图书的存储量是否达到设定阈值,当判断结果为是时,进行步骤S306,否则,进行步骤S307。
S306:比较硬盘中该数字图书的提供权重值与缓存中每个数字图书的提供权重值,当硬盘中该数字图书的提供权重值大于缓存中第一数字图书的提供权重值时,采用该数字图书对缓存中的第一数字图书更新。
S307:将硬盘中该标识信息的数字图书添加到缓存中。
由于用户对不同的数字图书有不同的需求,并且对同一数字图书的不同章节的需求也是不同的,为了进一步提高服务器向用户提供数字图书的效率,用户端发送的该数字图书请求信息中还携带有数字图书的章节信息。而为了提高向用户提供数字图书的准确性,以及提高服务器提供数字图书的效率,在缓存及硬盘中可以针对每个数字图书,将其每个章节的内容,或每几个章节的内容单独保存。当服务器接收到用户端发送的携带数字图书的章节信息的数字图书请求信息时,根据其章节信息将相应章节的数字图书提供给用户端。
具体的,当该数字图书请求信息中携带有数字图书的章节信息时,服务器判断缓存中是否保存有数字图书的该章节,当确定缓存中保存有数字图书的该章节时,将缓存中的数字图书该章节提供给用户端,对缓存中数字图书该章节的提供信息进行更新;否则,将硬盘中数字图书该章节提供给用户端,对硬盘中数字图书该章节的提供信息进行更新,并确定是否将提供的数字图书的该章节添加到缓存中。
即在本发明服务器的硬盘和缓存中,针对每个数字图书保存有该数字图书的标识信息,在针对该标识信息的数字图书保存该数字图书的内容时,针对该数字图书的每个章节或每几个章节分别进行保存。因此在对缓存中的数字图书进行更新时,可以根据数字图书的每个章节的提供权重值,对缓存中的数字图书的章节进行更新,使缓存中始终保存提供权重值较高的章节。
具体的对数字图书的章节信息进行更新的过程包括:判断当前缓存中保存的数字图书的存储量是否达到设定阈值;当缓存中保存的数字图书的存储量未达到设定阈值时,将缓存中数字图书的该章节添加到缓存中;当缓存中保存的数字图书的存储量达到设定阈值时,根据硬盘中数字图书该章节的提供信息,确定硬盘中该数字图书的提供权重值,将硬盘中该数字图书的提供权重值,与缓存中每个数字图书每个章节的提供权重值进行比较,当硬盘中数字图书该章节的提供权重值大于缓存中第二数字图书第三章节的提供权重值时,采用数字图书该章节对缓存中的第二数字图书第三章节更新。
其中,在根据数字图书的提供信息,确定数字图书的提供权重值时,由于该提供信息包括提供次数信息和提供时间信息中的至少一种,当该提供信息包括提供次数信息和提供时间信息时,分别设置提供次数信息和提供时间信息对应的第一权重和第二权重,第一权重和第二权重为大于零的数值,该第一权重和第二权重可以相同,也可以不同。可以根据提供次数信息以及提供时间信息的重要程度,分别确定第一权重和第二权重,当认为提供次数信息比较重要时,则设置第一权重大于第二权重,当认为提供时间信息比较重要时,则设置第二权重大于第一权重。
图4为本发明提供的数字图书的详细提供过程,该过程包括以下步骤:
S401:服务器接收用户端发送的数字图书请求信息,其中该数字图书请求信息中携带所请求的数字图书的标识信息及该数字图书的章节信息。
S402:服务器根据该用户端的终端类型,将该数字图书请求信息发送到对应类型的终端服务器进行处理。
S403:对应类型的终端服务器接收到该数字图书请求信息后,判断自身缓存中是否保存有该标识信息的数字图书,当判断结果为是时,进行步骤S404,否则,进行步骤S406。
S404:针对该标识信息的数字图书,判断缓存中是否保存有该数字图书的该章节,当判断结果为是时,进行步骤S405,否则,进行步骤S406。
S405:将缓存中保存的该标识信息的数字图书的该章节提供给用户端,并针对缓存中该标识信息的数字图书的该章节的提供信息进行更新,根据更新后的提供信息,确定缓存中该标识信息的数字图书的该章节的提供权重值。
S406:将硬盘中保存的该标识信息的该数字图书的该章节提供给用户端,并针对硬盘中该标识信息的数字图书的该章节的提供信息更新,根据更新后的提供信息,确定硬盘中该标识信息的数字图书的该章节的提供权重值。
S407:判断当前缓存中保存的数字图书的存储量是否达到设定阈值,当判断结果为是时,进行步骤S408,否则,进行步骤S409。
S408:将硬盘中该标识信息的数字图书的该章节的提供权重值,与缓存中所有标识信息的数字图书的每个章节的提供权重值依次进行比较,当硬盘中该标识信息的数字图书该章节的提供权重值大于缓存中第二数字图书第三章节的提供权重值时,采用硬盘中该标识信息数字图书该章节对缓存中的第二数字图书第三章节更新。
即在缓存中针对每个数字图书的每个章节的提供信息进行记录,并且在记录后确定每个章节的提供权重值,按照提供权重值从多到少,或者从少到多的顺序进行排序,在与硬盘中章节的提供权重值进行比较时,可以按照上述排序顺序进行比较,从而可以提高提供权重值的比较效率,进而提高缓存更新的效率。
S409:将该标识信息的数字图书的该章节添加到缓存中。
下面以一个具体的实施例,对本发明进行详细说明。
在本发明的服务器内保存有大量的数字图书,并且为了便于标识每个数字图书,并且便于数字图书的查找,在服务器的硬盘中保存有每个数字图书的标识信息(例如数字图书的名称、数字图书的编号等)、数字图书的存储地址信息、数字图书包含的字节数信息、以及数字图书最后一次修改的日期等信息。同样在缓存中也保存有该数字图书的标识信息、数字图书的存储地址信息、数字图书包含的字节数信息以及数字图书最后一次修改的日期等信息。
另外,在服务器中还保存有当前缓存保存的数字图书的总数量,以及保存在缓存中的数字图书的总字节数。并且为了实现缓存中数字图书的更新,在硬盘和缓存中还记录有每个数字图书的提供信息及确定的提供权重值,当将某一数字图书从硬盘添加到缓存中后,该数字图书在缓存中提供权重值为0。
当用户对服务器中保存的数字图书进行读取操作或下载操作时,通过用户端向服务器发送数字图书请求信息。具体的当用户进行读取操作时,通过用户端向服务器发送数字图书阅读的请求信息,服务器接收到该数字图书阅读的请求信息后,根据用户读取该数字图书的信息,对该用户的读取操作进行记录,服务器可以针对用户从硬盘中或缓存中读取该数字图书,记录被读取的该数字图书的标识信息、该数字图书被读取的日期信息、该数字图书被读取的次数信息等该数字图书的提供信息、更详细的还可以记录该数字图书被读取的章节信息,以及该章节被读取的次数信息,该章节被提供的时间信息等该章节的提供信息,以便后续可以对缓存中的数字图书进行更新。
当用户进行下载操作时,通过用户端向服务器发送数字图书的下载请求信息,服务器接收到该数字图书的下载请求信息后,根据用户下载数字图书的信息,对用户的下载操作进行记录,服务器可以针对用户从硬盘中或缓存中下载该数字图书,记录被下载的数字图书的标识信息,该数字图书被下载的日期信息,该数字图书被下载的次数信息等该数字图书的提供信息,更详细的还可以记录该数字图书被下载的章节信息,以及该章节被下载的次数信息,该章节被下载的日期信息等该章节的提供信息,以便后续可以对缓存中的数字图书进行自适应机制的更新。
服务器根据记录的用户对硬盘和缓存中数字图书读取和下载时记录的提供信息,对缓存中的数字图书进行更新。具体的在对缓存中的数字图书进行更新时,可以综合考虑用户对硬盘和缓存中的数字图书进行读取和下载时记录的提供信息,也可以单独考虑用户对硬盘和缓存中的数字图书进行读取时记录的提供信息,或进行下载时记录的提供信息。
当综合考虑用户对硬盘和缓存中的数字图书进行读取和下载时记录的提供信息时,服务器根据记录的用户对缓存中的数字图书进行的读取和下载时记录的提供信息,根据该提供信息中记录的缓存中每个标识信息的数字图书被提供的次数,以及每个标识信息的数字图书的每个章节被提供的次数,确定每个标识信息的数字图书的每个章节的第一权重值,并且服务器根据记录的用户对硬盘中的数字图书进行读取和下载时记录的提供信息,根据该提供信息中记录的硬盘中的每个标识信息的数字图书被提供的次数,以及每个标识信息的数字图书的每个章节被提供的次数,确定每个标识信息的每个数字图书的每个章节的第二权重值。
根据确定的缓存中以及硬盘中的每个数字图书以及数字图书的每个章节的第一权重值和第二权重值,确定是否对缓存中的保存的数字图书的章节进行更新。
图5为本发明提供的一种数字图书提供装置的结构示意图,所述装置包括:
接收模块51,用于接收用户端发送的数字图书请求信息,其中该数字图书请求信息中携带所请求的数字图书的标识信息;
判断模块52,用于判断缓存中是否保存有该标识信息的数字图书;
提供更新模块53,用于确定缓存中保存有该标识信息的数字图书时,将缓存中的数字图书提供给用户端,对缓存中该数字图书的提供信息进行更新;否则,将硬盘中该标识信息的数字图书提供给用户端,对硬盘中该数字图书的提供信息进行更新,并确定是否将提供的该数字图书添加到缓存中。
所述判断模块52,还用于判断所述用户端的终端类型;根据判断的所述用户端的终端类型,将所述数字图书请求信息发送到对应类型的终端服务器。
所述提供更新模块53,具体用于判断当前缓存中保存的数字图书的存储量是否达到设定阈值;当缓存中保存的数字图书的存储量未达到设定阈值时,直接将硬盘中该数字图书添加到缓存中;当缓存中保存的数字图书的存储量达到设定阈值时,确定硬盘中该数字图书的提供权重值,将硬盘中该数字图书的提供权重值,与缓存中每个数字图书的提供权重值进行比较,当硬盘中该数字图书的提供权重值大于缓存中第一数字图书提供权重值时,采用该数字图书对缓存中的第一数字图书更新。
所述接收模块51,还用于接收携带有所请求数字图书的章节信息的数字图书请求信息;
所述判断模块52,还用于判断缓存中是否保存有数字图书的该章节。
所述提供更新模块53,还用于确定缓存中保存有数字图书的该章节时,将缓存中数字图书的该章节提供给用户端,对缓存中数字图书该章节的提供信息进行更新;否则,将硬盘中数字图书的该章节提供给用户端,对硬盘中数字图书该章节的提供信息进行更新,并确定是否将提供的数字图书的该章节添加到缓存中。
所述提供更新模块53,具体用于判断当前缓存中保存的数字图书的存储量是否达到设定阈值;当缓存中保存的数字图书的存储量未达到设定阈值时,将缓存中数字图书的该章节添加到缓存中;当缓存中保存的数字图书的存储量达到设定阈值时,根据硬盘中数字图书该章节的提供信息,确定硬盘中该数字图书的提供权重值,将硬盘中该数字图书的提供权重值,与缓存中每个数字图书每个章节的提供权重值进行比较,当硬盘中数字图书该章节的提供权重值大于缓存中第二数字图书第三章节的提供权重值时,采用数字图书该章节对缓存中的第二数字图书第三章节更新。
本发明提供一种数字图书提供方法及装置,该方法中当服务器接收到用户端发送的数字图书请求后,根据该数字图书请求中携带的所请求的数字图书的标识信息,判断缓存中保存有数字图书时,将缓存中的数字图书提供给用户端,并对缓存中该数字图书的提供信息进行更新,否则,将硬盘中该数字图书提供给用户端,并对硬盘中该数字图书的提供信息进行更新,确定是否将提供的该数字图书添加到缓存中。由于在本发明中用户端请求的数字图书保存在缓存中时,将缓存中保存的该数字图书提供给用户端,从而可以有效的提高数字图书的提供效率,另外,在本发明中根据每个数字图书的提供信息,对缓存中保存的数字图书进行自适应机制的更新,可以动态保证缓存中保存的数字图书都是提供权重值比较高的,从而进一步提高数字图书的提供效率。
显然,本领域的技术人员可以对本发明进行各种改动和变形而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变形属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变形在内。