CN103077186A - 一种断层数据处理装置和方法 - Google Patents

一种断层数据处理装置和方法 Download PDF

Info

Publication number
CN103077186A
CN103077186A CN2012105554921A CN201210555492A CN103077186A CN 103077186 A CN103077186 A CN 103077186A CN 2012105554921 A CN2012105554921 A CN 2012105554921A CN 201210555492 A CN201210555492 A CN 201210555492A CN 103077186 A CN103077186 A CN 103077186A
Authority
CN
China
Prior art keywords
data
fault zone
returns
database
date
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.)
Granted
Application number
CN2012105554921A
Other languages
English (en)
Other versions
CN103077186B (zh
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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210555492.1A priority Critical patent/CN103077186B/zh
Publication of CN103077186A publication Critical patent/CN103077186A/zh
Priority to PCT/CN2013/082653 priority patent/WO2014094455A1/zh
Priority to US14/654,333 priority patent/US9544386B2/en
Application granted granted Critical
Publication of CN103077186B publication Critical patent/CN103077186B/zh
Priority to US15/382,133 priority patent/US10033795B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种断层数据处理装置和方法。所述方法包括:向服务器发送请求紧邻最新连续数据的断层数据的下载请求,判断服务器返回的断层数据是否填满紧邻的断层区间,如填满,将返回的断层数据插入到数据库中,设置其显示标记为有效,并将该紧邻断层区间及其下一个断层区间之间的已下载数据的显示标记置为有效,从数据库中删除该紧邻的断层区间;如果未填满,将返回的断层数据插入到数据库中,设置其显示标记为有效,并修改该紧的断层区间的边界。本发明的技术方案,可以根据所记录的断层区间集合,从服务器获取断层数据并填补到对应的断层区间中,并且向用户显示的一直都是最新连续的数据。

Description

一种断层数据处理装置和方法
技术领域
本发明涉及网络通信技术领域,具体涉及一种断层数据处理装置和方法。
背景技术
随着智能终端设备的普及,阅读客户端(以下在本申请中简称为“客户端”)越来越多的被应用于智能终端设备上。但是其主要功能部分——数据的存储以及断层数据的处理,一直以来都是较为核心、技术难度较大、却又优化不够的地方。而这又是构成客户端用户体验中,一个非常重要的组成部分。
客户端的阅读数据包括文章、图片、视频、“微博”等。在使用客户端的过程中,有一种最为普遍的场景是:用户先在某一时间段(如中午午休时)通过客户端下载阅读数据,一般而言,客户端会请求到约20条阅读数据,将其保存到数据库中以便显示。当用户看了一段时间后,退出客户端,继续自己的事情。而后在另一时间段(如傍晚六时),用户再次进入客户端下载新的阅读数据,一般而言,出于对流量、传输速度和体验的考虑,客户端不会将从上次下载过的数据(如之前提到的中午午休时)一直到现在的阅读数据都请求过来,这期间服务器端有可能已有了数百条阅读数据,因此客户端仅是为用户请求到约最新的20条阅读数据。那么,在刚刚请求的20条阅读数据和之前用户请求的20条阅读(如午休时)的中间,形成了一些还没有被下载到客户端的阅读数据。这些夹在最新的阅读数据和已有阅读数据的中间的“空心”部分称之为“断层数据”。
现有技术中的一种做法是在下载完新的阅读数据后,不考虑中间是否有断层数据,直接将新下载的阅读数据插入到已有阅读数据之前,并且在显示时全部显示出来。这使得用户无法获知所显示的数据之间是否有断层数据,更无法获取断层数据。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种断层数据处理装置和方法。
依据本发明的一个方面,提供了一种断层数据处理装置,该装置包括:数据库单元、显示单元、断层数据下载单元和第一数据库维护单元;
所述数据库单元,适于保存数据、数据的显示标记以及由与断层数据对应的断层区间组成的断层区间集合,其中,最新连续数据的显示标记为有效,其他数据的显示标记为无效;
所述显示单元,适于显示所述数据库单元中的显示标记为有效的数据;
所述断层数据下载单元,适于向服务器发送请求紧邻数据库单元中最新连续数据的一定数量断层数据的下载请求,接收服务器返回的断层数据;
所述第一数据库维护单元,适于判断所述返回的断层数据是否填满紧邻最新连续数据的断层区间;如果填满,将所述返回的断层数据插入到所述数据库单元中,设置所述返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间及所述紧邻最新连续数据的断层区间的下一个断层区间之间的已下载数据的显示标记置为有效,以及从数据库单元中删除所述紧邻最新连续数据的断层区间;如果未填满,将所述返回的断层数据插入到所述数据库单元中,设置所述返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间的表示该断层区间中最新一条数据的标识,修改为所述返回的断层数据中的最旧一条数据的标识。
可选地,所述断层数据下载单元向服务器发送的下载请求包括:最新连续数据中的最旧一条阅读数据的标识、请求下载的断层数据条数,以及紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识;
所述第一数据库维护单元,进一步适于在所述返回的断层数据的条数大于0且小于所述请求下载的断层数据的条数时判断为填满,在所述返回的断层数据的条数大于或等于所述请求下载的断层数据的条数时判断为未填满。
可选地,该装置进一步包括第一断层区间维护单元;
所述第一断层区间维护单元,适于遍历数据库单元中的断层区间集合,找到对应的断层数据中的最新一条阅读数据的标识与最新连续数据中的最旧一条阅读数据的标识紧邻的断层区间,该断层区间为紧邻最新连续数据的断层区间。
可选地,所述数据库单元保存的断层区间中的所述断层区间为一个包含两个元素的数组,该数组中的第一个元素为该断层区间所对应的断层数据中的最新一条数据的标识,第二个元素为该断层区间所对应的断层数据中的最旧一条数据的标识。
可选地,所述数据库单元保存的所述断层区间集合是由JAVA类库中的数组表实现的。
可选地,该装置进一步包括显示单元;所述显示单元,适于在所述断层数据下载单元接收到的服务器返回的断层数据的条数为0时,向用户提示服务器上没有更旧的数据。
可选地,该装置进一步包括:新数据下载单元和第二数据库维护单元;
所述新数据下载单元,适于向服务器发送下载新数据的请求,接收服务器返回的新数据;
所述第二数据库维护单元,适于判断所述返回的新数据是否能与数据库单元中的已有数据衔接,如果衔接,将所述返回的新数据保存到数据库单元中,并将所述返回的数据的显示标记置为有效,如果不衔接,将数据库单元中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的新数据保存到数据库单元中,并将所述返回的新数据的显示标记置为有效。
可选地,所述新数据下载单元向所述服务器发送的所述下载新数据的请求中包含:请求下载的新数据条数和已下载到数据库单元中的最新一条数据的标识;
所述第二数据库维护单元,进一步适于在所述返回的新数据的条数小于所述请求下载的新数据条数时判断为衔接,在所述返回的新数据的条数大于或等于所述请求下载的新数据条数时判断为不衔接。
可选地,该装置进一步包括第二断层区间维护单元;
所述第二断层区间维护单元,适于用所述返回的新数据中的最旧一条数据的标识和所述已下载到库中数据库单元中的最新一条数据的标识组成一个表示断层区间的数组,并该数组保存到数据库单元中的表示断层区间集合的数组集合中。
可选地,所述提示单元,进一步适于在所述新数据下载单元接收到的服务器返回的新数据的条数为0时,向用户提示数据库单元中的最新数据即为服务器上的最新数据。
依据本发明的另一方面,提供了一种断层数据处理方法,该方法包括:
向服务器发送请求紧邻数据库中最新连续数据的一定数量断层数据的下载请求,接收服务器返回的断层数据;其中,所述数据库中保存有已下载的数据、数据的显示标记以及由与断层数据对应的断层区间组成的断层区间集合,其中最新连续数据的显示标记为有效,其他数据的显示标记为无效,且显示标记为有效的数据能够被显示;
判断所述返回的断层数据是否填满紧邻最新连续数据的断层区间;
如果填满,将所述返回的断层数据插入到所述数据库中,设置所述返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间及所述紧邻最新连续数据的断层区间的下一个断层区间之间的已下载数据的显示标记置为有效,以及从数据库中删除所述紧邻最新连续数据的断层区间;
如果未填满,将所述返回的断层数据插入到所述数据库中,设置所述返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间的表示该断层区间中最新一条数据的标识,修改为所述返回的断层数据中的最旧一条数据的标识。
可选地,所述下载请求包括:最新连续数据中的最旧一条阅读数据的标识、请求下载的断层数据条数,以及紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识;
所述判断所述返回的断层数据是否填满紧邻最新连续数据的断层区间包括:在所述返回的断层数据的条数大于0且小于所述请求下载的断层数据的条数时判断为填满,在所述返回的断层数据的条数大于或等于所述请求下载的断层数据的条数时判断为未填满。
可选地,在向服务器发送下载请求之前该方法进一步包括:
遍历数据库中的断层区间集合,找到对应的断层数据中的最新一条阅读数据的标识与最新连续数据中的最旧一条阅读数据的标识紧邻的断层区间,该断层区间为紧邻最新连续数据的断层区间。
可选地,所述断层区间为一个包含两个元素的数组,该数组中的第一个元素为该断层区间所对应的断层数据中的最新一条数据的标识,第二个元素为该断层区间所对应的断层数据中的最旧一条数据的标识。
可选地,该方法进一步包括:采用JAVA类库中的数组表来实现所述断层区间集合。
可选地,该方法进一步包括:如果接收到的服务器返回的断层数据的条数为0,向用户提示服务器上没有更旧的数据。
可选地,该方法进一步包括:
向服务器发送下载新数据的请求,接收服务器返回的新数据;
判断所述返回的新数据是否能与数据库中的已有数据衔接;
如果衔接,将所述返回的新数据保存到数据库中,并将所述返回的新数据的显示标记置为有效;
如果不衔接,将数据库中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的新数据保存到数据库中,并将所述返回的新数据的显示标记置为有效。
可选地,所述下载新数据的请求中包括:请求下载的新数据条数,和已下载到数据库中的最新一条数据的标识;
所述判断所述返回的新数据是否能与数据库中的已有数据衔接包括:在所述返回的新数据的条数小于所述请求下载的新数据条数时判断为衔接,在所述返回的新数据的条数大于或等于所述请求下载的新数据条数时判断为不衔接。
可选地,该方法进一步包括:如果不衔接,用所述返回的新数据中的最旧一条数据的标识和所述已下载到数据库中的最新一条数据的标识组成一个表示断层区间的数组,并该数组保存到表示断层区间集合的数组集合中。
可选地,该方法进一步包括:如果接收到的服务器返回的新数据的条数为0,向用户提示数据库中的最新数据即为服务器上的最新数据。
根据本发明的这种断层数据处理方案中,可以根据所记录的断层区间集合,从服务器获取断层数据并填补到对应的断层区间中,并且向用户显示的一直都是最新连续的数据,由此解决了用户无法获知所显示的数据中是否存在断层数据,以及无法获得断层数据的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种数据下载方法的流程图;
图2示出了根据本发明一个实施例的数据下载方法的流程图;
图3示出了根据本发明一个实施例的数据下载过程中客户端的数据变化示意图;
图4示出了根据本发明一个实施例的一种断层数据处理方法的流程图;
图5示出了根据本发明一个实施例的断层数据处理方法的流程图;
图6示出了根据本发明的一个实施例的一次下载的断层数据能填满断层区间的示意图;
图7示出了根据本发明的一个实施例的一次下载的断层数据不能填满断层区间的示意图;
图8示出了根据本发明一个实施例的一种断层数据处理装置的结构图;
图9示出了根据本发明一个实施例的断层数据处理装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在本发明的方案中,在每次下载新数据的过程中维护数据的显示标记并记录断层区间,之后在需要下载断层数据时,根据所记录的断层区间请求相应的断层数据,并维护数据的显示标记,使得一直显示的都是最新连续的数据。以下分为两大部分对发明的技术方案进行说明:请求新数据和请求断层数据。
一请求新数据
图1示出了根据本发明一个实施例的一种新数据下载方法的流程图。如图1所示,该方法包括:
步骤S110,向服务器发送下载新数据的请求,接收服务器返回的新数据。
在本发明的一个实施例中,该客户端向服务器发送的下载新数据的请求中包括:请求下载的新数据条数,和已下载到数据库中的最新一条数据的标识。这样,服务器端认为客户端所请求的数据是从服务器端当前最新的一条数据到所述请求中包含的数据标识为止的数据,且请求的数据条数为所述请求中的包含的条数。这里,“新”和“旧”比较的是数据的产生时间,“新”为产生时间在后的数据,“旧”为产生时间在先的数据。
步骤S120,判断服务器返回的新数据是否能与数据库中的已有数据衔接,如果是执行步骤S130,如果否执行步骤S140。
在本发明的一个实施例中,在服务器回的新数据的条数小于请求下载的新数据条数时判断为衔接,在服务器返回的新数据的条数大于或等于请求下载的新数据条数时判断为不衔接。这是因为服务器端以客户端发送的下载新数据的请求中包含的请求下载的数据条数,和已下载到数据库中的最新一条数据的标识为返回数据的依据的结果。
以数据的标识依照其产生时间的先后顺序依次递增为例:客户端已下载到数据库中的最新一条数据的标识为1000,当前请求20条数据。如果服务器端接收到客户端的请求时,服务器端的最新一条数据的标识已到1050,则服务器会向客户端返回标识为1031~1050的20条数据,客户端会判断为不衔接。如果服务器端接收到客户端的请求时,服务器端的最新一条数据的标识已到1015,则服务器会向客户端返回标识为1001~1015的15条数据,客户端会判断为衔接。
步骤S130,将服务器返回的新数据保存到数据库中,并将该返回的新数据的显示标记置为有效。执行步骤S150。
步骤S140,将数据库中已有的显示标记为有效的数据的显示标记都置为无效,然后将服务器返回的新数据保存到数据库中,并将服务器返回的新数据的显示标记置为有效。执行步骤S150。
步骤S150,只显示数据库中的显示标记为有效的数据。
图1所示的技术方案中,在每次请求到新数据后都判断新数据和已有的数据是否衔接,当不衔接时则说明数据产生了断层,通过设置和维护数据的显示标记,并在显示时只显示最新的连续的数据,这样用户看到数据是连续的数据,其中不存在断层数据,由此解决了用户不能获知所显示的数据中是否存在断层数据的问题。
图1所示的方法还可以在步骤S120中判断为不衔接时,进一步将与不衔接的断层数据对应的断层区间保存到所维护的断层区间集合中。具体为:用服务器返回的新数据中的最旧一条数据的标识和已下载到数据库中的最新一条数据的标识组成一个表示断层区间的数组,并将该数组保存到表示断层区间集合的数组集合中。例如,以前述的客户端已下载到数据库中的最新一条数据的标识为1000,当前请求20条数据,服务器端接收到客户端的请求时,服务器端的最新一条数据的标识已到1050,服务器向客户端返回标识为1031~1050的20条数据为例,该不衔接的断层数据对应的断层区间为数组为[1031,1000]。断层区间[1031,1000]的两个端点数据1000和1031不包括在断层数据内,即对应的断层数据为1001~1030。
为使本发明的技术方案更加清楚,以下对本发明的技术方案进一步详细说明。
图2示出了根据本发明一个实施例的数据下载方法的流程图。图3示出了根据本发明一个实施例的数据下载过程中客户端的数据变化示意图。以下结合图3对图2所示的方法进行说明,如图2所示,客户端请求一次新数据的流程包括:
步骤S202,客户端向服务器发送下载新数据的请求。
在本发明的一个实施例中,该客户端向服务器发送的下载新数据的请求中包括:请求下载的新数据条数,和已下载到数据库中的最新一条数据的标识。
首先,客户端需确定要“请求下载的新数据条数”,如一般情况下为20条。此外,客户端还需要获取已有数据中(即已下载到客户端数据库中的)的最新一条数据的标识,如图3中的线条310。将上述“请求下载的数据条数”和“已有数据中的最新一条数据的标识”存为一个变量备用。然后,客户端将“请求下载的数据条数”和“已有数据中的最新一条数据的标识”拼接成一个URL,向服务器请求下载更新的数据。
步骤S204,客户端接收服务器返回的新数据。
在这里,服务器会根据“已有数据中的最新一条数据的标识”来判断应返回多少条数据,以及返回哪些数据。通常情况下,“已有数据中的最新一条数据的标识”在服务器上的表现形式为“请求到该数据标识为止”(如图3中线条310),也即,获取数据的范围的区间是“正无穷到已有数据中的最新一条数据的标识”,公式为:(∞,已有数据中的最新一条数据的标识),其范围内不包括该已有数据中的最新一条数据的标识所指定的数据。同时,“请求下载的数据条数”也将作为一种条件限制,即服务器端“返回的数据条数”要小于或者等于该限制。最终,服务器端的返回数据的条件为:一、返回数据的条数要小于或者等于“请求下载的数据条数”;二、获取数据的范围是(∞,已有数据中的最新一条数据的标识),两条件成“与”的关系。
步骤S206,客户端判断服务器返回的新数据条数是否小于或等于0,是则执行步骤S208,否则执行步骤S210。
步骤S208,如果服务器返回的新数据条数小于或者等于0,则表示客户端中最新的数据标识已经是服务器端的最新数据标识了,即客户端的数据已是最新,服务器端没有更新的数据,客户端向用户提示数据库中的最新数据即为服务器上的最新数据,无需再请求,传输过程终止。
步骤S210,如果服务器返回的新数据条数大于0,则表示服务器端已有比客户端的最新数据还要新的数据,因此继续判断服务器返回的新数据是否能与数据库中的已有数据衔接,具体为判断服务器返回的新数据条数是否小于所请求下载的新数据条数,是则执行步骤S212,否则执行步骤S214。
步骤S212,如果服务器返回的新数据条数小于所请求下载的新数据条数,则表示服务器返回的数据与客户端本地的数据能够衔接,客户端将服务器返回的新数据保存到数据库中,并将服务器此次返回的新数据的显示标记置为有效。例如,在本发明的一个实施例中,用一条INSERT的SQL语句即可实现将服务器返回的数据插入到数据库中。结束流程。
步骤S214,如果服务器返回的新数据条数大于或等于所请求下载的新数据条数,则表示服务器返回的新数据与客户端本地的数据不能够衔接,存在断层数据,则客户端将于该断层数据对应的断层区间保存到所维护的断层区间集合中。
在本发明的一个实施例中,客户端首先将服务器返回的数据中的最旧一条数据的标识记录下来,并保存为一个变量,在本实施例中,可称为“服务器返回数据中的最旧一条数据的标识”,如图3中线条320所示。然后,客户端将“已有数据中的最新一条数据的标识”,如图3中的线条310所示,保存为一个变量,备用。再然后,从数据库中取出“断层的区间集合”(如图3中,有两处断层区间分别标记为331和332,则这两个合起来就是“断层的区间集合”)。“断层区间集合”主要用来记录每个断层的范围区间,这些断层都还未下载到客户端中,但又要在客户端需要时能够向服务器请求。而取出“断层区间集合”的目的是要在该集合中添加新的断层区间。
在本发明的一个实施例中,采用JAVA类库中的数组表ArrayList来实现断层区间集合。而具体到Android客户端中的做法为,通过SQLite语句将断层区间集合取出。由于取出来的是Bytes类型(也可用字符串描述断层区间),客户端会通过反序列化技术(de-serialize),也即Android的ObjectInputStream类的readObject方法,将该记录转化为一个ArrayList对象。而ArrayList当中,每一项都由Integer的一维数组构成,每个数组有两个元素,分别用来表示该断层区间的两个边界。客户端要做的是将先前提到的“服务器返回的数据中的最旧一条数据的标识”和“已有数据中的最新一条数据的标识”作为断层区间的两个边界,分别填入新的Integer的一维数组中,然后将其添加到ArrayList对象中,最后,再将其序列化(serialize)为一个Bytes对象,也即Android的ObjectOutputStream的toByteArray(),最终,再将其存回数据库当中。至此,断层区间集合将多了一个新的断层区间,图3中的333为该新增加的断层区间。
步骤S216,将数据库中已有的显示标记为有效的数据的显示标记都置为无效。
即将客户端中已有的数据(如图3中的数据段311)显示标记的值从1(显示)改为0(隐藏),以确保断层333之前的已有数据段311不会显示在客户端的显示界面中。具体做法为:通过一条SQL语句,将所有已有数据的显示标记的值从1(显示)改为0(隐藏)。
步骤S218,然后将服务器返回的新数据保存到数据库中,并将服务器返回的新数据的显示标记置为有效。
客户端会将之前由服务器端返回的那些数据333都插入到数据库中,并将其显示标记的值置为1(显示)。至此,整个传输过程结束。
由上述可见,本发明的技术方案中,通过设置和维护显示标记,只显示最新的连续的数据,这样用户看到数据是连续的数据,此外还记录了断层区间,这样当用户想请求断层数据时,可以根据记录的断层区间请求相应的断层数据。
二请求断层数据
图4示出了根据本发明一个实施例的一种断层数据处理方法的流程图。如图4所示,该方法包括:
步骤S410,向服务器发送请求紧邻数据库中最新连续数据的一定数量断层数据的下载请求,接收服务器返回的断层数据。其中,根据前述的请求新数据的过程,数据库中保存有已下载的数据、数据的显示标记以及由与断层数据对应的断层区间组成的断层区间集合,其中最新连续数据的显示标记为有效,其他数据的显示标记为无效,且显示标记为有效的数据能够被显示。
在本发明的一个实施例中,客户端向服务器发送的断层数据下载请求包括:数据库中的最新连续数据中的最旧一条阅读数据的标识、请求下载的断层数据条数,以及紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识。具体来说,遍历数据库中的断层区间集合,找到对应的断层数据中的最新一条阅读数据的标识与最新连续数据中的最旧一条阅读数据的标识紧邻的断层区间,该断层区间为紧邻最新连续数据的断层区间。其中,断层区间为一个包含两个元素的数组,该数组中的第一个元素为该断层区间所对应的断层数据中的最新一条数据的标识,第二个元素为该断层区间所对应的断层数据中的最旧一条数据的标识。
步骤S420,判断服务器返回的断层数据是否填满紧邻最新连续数据的断层区间,是则执行步骤S430,否则执行步骤S440。
在本发明的一个实施例中,在服务器返回的断层数据的条数大于0且小于所述请求下载的断层数据的条数时判断为填满,在服务器返回的断层数据的条数大于或等于所述请求下载的断层数据的条数时判断为未填满。
步骤S430,将服务器返回的断层数据插入到所述数据库中,设置服务器返回的断层数据的显示标记为有效,并将该紧邻最新连续数据的断层区间及所述紧邻最新连续数据的断层区间的下一个断层区间之间的已下载数据的显示标记置为有效,以及从数据库中删除所述紧邻最新连续数据的断层区间。
步骤S440,将服务器返回的断层数据插入到所述数据库中,设置服务器返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间的表示该断层区间中最新一条数据的标识,修改为所述返回的断层数据中的最旧一条数据的标识。
这样,通过图4所示的方法,可以根据所记录的断层区间获取断层数据。重复图4所示的方法,可以从最新连续的数据开始依次地获取断层数据,填补断层区间,直至将所有的断层区间填补完。
触发一次断层数据下载的流程的条件一般为:用户看到“最新连续的数据中的最旧一条数据”(可以想象为,在没有网络环境的情况下,用户可以一直阅览这些连续的数据,直到触及到最旧的一条,之后或许开始出现断层,或许没有更旧的数据)。这时,为了保证旧的数据能够下载并让用户看到,需要向服务器请求下载断层数据。具体过程如图5所示。
图5示出了根据本发明一个实施例的断层数据处理方法的流程图。图6示出了根据本发明的一个实施例的一次下载的断层数据能填满断层区间的示意图。图7示出了根据本发明的一个实施例的一次下载的断层数据不能填满断层区间的示意图。以下结合图6和图7对图5所示的断层数据处理方法进行说明。如图5所示,客户端请求一次断层数据的流程包括:
步骤S502,客户端向服务器发送下载断层数据的请求。
在本发明的一个实施例中,客户端向服务器发送的断层数据下载请求包括:数据库中的最新连续数据中的最旧一条阅读数据的标识、请求下载的断层数据条数,以及紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识。
例如参见图6:首先,客户端需要知道数据库中的最新连续数据644中的最旧一条阅读数据的标识,如图6中的线条620,将其存为一个变量备用。具体地可以通过SQL语句,获取所有的显示标记为1(显示)且表示号码为最小的那条数据的标识。同时,客户端还需要了解一共要请求的断层数据条数,在这里,假设和获取新数据一样,一次性获取不超过20条数据,然后,将“请求下载的断层数据条数”保存为一个变量备用。紧接着,客户端需要获取在“数据库中的最新连续数据中的最旧一条数据的标识”的之后,紧接着的“断层区间”,以下简称为“紧邻最新连续数据的断层区间”,如图6中的断层区间655,也即线条620到线条610之间的部分。仍以Android系统为例,首先通过SQLite语句将断层集合取出,将其反序列化(de-serialize),再将该记录转化为一个ArrayList对象。从ArrayList中的第一个元素(最后添加的元素),该元素为一个Integer的一维数组,表示一个“断层区间”。然后,读取该“断层区间”的两个边界值,它们分别位于该数组的第一个元素和第二个元素。这里仍以“文章标识以递减顺序从新到旧”的排列为例,第一个元素为该断层区间所对应的断层数据中的最新一条数据的标识,第二个元素为该断层区间所对应的断层数据中的最旧一条数据的标识。这样,客户端便获得了请求断层数据时的必要参数:“最新连续数据中的最旧一条阅读数据的标识”、“请求下载的断层数据条数”,以及“紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识”,将以上三个参数拼接成一个URL,向服务器发起请求,等待返回结果。
步骤S504,客户端接收服务器返回的断层数据。
服务器会根据“最新连续数据中的最旧一条阅读数据的标识”和“紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识”,共同判断应返回多少条数据,以及返回哪些数据。通常情况下,“最新连续数据中的最旧一条阅读数据的标识”在服务器上的表现形式为“自该条数据标识开始”,而“紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识”在服务器上的表现形式为“请求到该台数数据标识为止”,也即获取数据的范围的区间是图6中的断层区间655,且范围内不包括该起止标识所指定的数据。同时,“请求下载的断层数据条数”也将作为一种条件限制,需要服务器端“返回的断层数据条数”要小于或者等于该限制。最终,服务器端的返回断层数据的依据为:一、返回的断层数据条数要小于或者等于请求下载的断层数据条数;二、获取数据的范围是从“最新连续数据中的最旧一条阅读数据的标识”开始到“紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识”,两者成“与”的关系。下面将服务器端返回的断层数据标识为666。
步骤S506,判断服务器返回的断层数据条数是否小于或等于0,是则执行步骤S508,否则执行步骤S510。
步骤S508,客户端向用户提示服务器上没有更旧的数据,结束流程。
步骤S510,判断服务器返回的断层数据条数是否小于所请求的断层数据条数,是则执行步骤S512,否则执行步骤S518。
本步骤中是判断服务器当前返回的断层数据是否填满紧邻最新连续数据的断层区间。具体为:如果服务器返回的断层数据小于所请求下载的断层数据条数,则表示断层可被填满,如图6所示,服务器返回的断层数据666能够填满断层区间655,断层区间可以直接从断层区间集合删除。反之,如果服务器返回的断层数据大于或等于所请求下载的断层数据条数,则表示断层不可被填满,如图7所示,服务器返回的断层数据666不能够填满断层区间655,需要缩小该断层区间的范围。
步骤S512,将服务器返回的断层数据插入到数据库中,并设置服务器返回的断层数据的显示标记为有效。
参见图6,将服务器返回的断层数据666插入到数据库中,正好能够填满断层区间655。并将插入的断层数据666的显示标记设置为有效(设置为1,显示),即新下载的数据需要显示。
步骤S514,将该紧邻最新连续数据的断层区间及该紧邻最新连续数据的断层区间的下一个断层区间之间的已下载数据的显示标记置为有效。
在图6中,断层区间655和其下一个断层区间677之间的已下载数据为数据块633,即将数据块633中数据的显示标记置为有效,这样数据块633、新下载的断层数据666和原连续数据644组成了新连续数据,并且都被显示。
具体来说:客户端需读取之前保存的“紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识”和“断层区间所在ArrayList的位置”(以下简称为“断层位置”),后者主要用来在列表中准确的定位到那个断层区间上。然后,客户端通过ArrayList.get(断层位置+1),来获取在该当前断层区间655之后的下一个断层区间677。然后,获取断层区间677对应的断层数据中的最新一条数据的标识,并将其保存为一个变量,备用。最后,通过SQL语句,客户端将“断层区间655对应的断层数据中的最旧一条数据的标识”和“下一个区间677对应的断层数据中的最新一条数据的标识”之间的数据的显示标记值,从0(隐藏)修改为1(显示)。这样,断层区间将被填满,断层区间之前已有的文章将会衔接在断层数据后面,直到下一个断层为止。
步骤S516,从数据库中删除该紧邻最新连续数据的断层区间。结束流程。
具体来说,在“ArrayList对象”中,删除已经被填充完的断层区间。
步骤S518,将服务器返回的断层数据插入到所述数据库中,并设置服务器返回的断层数据的显示标记为有效。
参见图7,将服务器返回的断层数据666插入到数据库中,还不能够填满断层区间655。将插入的断层数据666的显示标记设置为有效(设置为1,显示),即新下载的数据需要显示。此时的最新的连续数据由新下载的断层数据666和原数据644组成。
步骤S520,将该紧邻最新连续数据的断层区间的表示该断层区间中最新一条数据的标识,修改为所述返回的断层数据中的最旧一条数据的标识。结束流程。
参见图7,在下载断层数据之前,最新连续数据为644,紧邻最新连续数据的断层区间为655。在下载断层数据之后,最新连续数据为644和666的组合,紧邻最新连续数据的断层区间为688。这样可显示的范围扩大了,紧邻的断层区间缩小了。
具体来说,在修改完紧邻的断层区间的边界值后,将该断层区间放回ArrayList。在Android操作系统中,由于采用的是Java编程语言,而缓存的数组实为指针类型,也即“紧邻的断层区间”对象和ArrayList内的对象是关联的,故不需要做其它的操作。而在其它语言中,则可能还需要将其放回到ArrayList,并需要覆盖原来的对象。至此,传输过程结束。
重复图5所示的流程可以依次获取断层数据,直到所有的断层区间都被填满。
图8示出了根据本发明一个实施例的一种断层数据处理装置的结构图。如图8所示,该断层数据处理装置800包括:数据库单元801、显示单元802、断层数据下载单元803、第一数据库维护单元804、第一断层区间维护单元805和提示单元806。
数据库单元801,适于保存数据、数据的显示标记以及由与断层数据对应的断层区间组成的断层区间集合,其中,最新连续数据的显示标记为有效,其他数据的显示标记为无效。
显示单元802,适于显示数据库单元801中的显示标记为有效的数据。
断层数据下载单元803,适于向服务器发送请求紧邻数据库单元801中最新连续数据的一定数量断层数据的下载请求,接收服务器返回的断层数据。
第一数据库维护单元804,适于判断服务器返回的断层数据是否填满紧邻最新连续数据的断层区间;如果填满,将服务器返回的断层数据插入到数据库单元801中,设置服务器返回的断层数据的显示标记为有效,并将该紧邻最新连续数据的断层区间及所述紧邻最新连续数据的断层区间的下一个断层区间之间的已下载数据的显示标记置为有效,以及从数据库单元801中删除该紧邻最新连续数据的断层区间;如果未填满,将服务器返回的断层数据插入到所述数据库单元801中,设置服务器返回的断层数据的显示标记为有效,并将该紧邻最新连续数据的断层区间的表示该断层区间中最新一条数据的标识,修改为所述返回的断层数据中的最旧一条数据的标识。
在本发明的一个实施例中,断层数据下载单元803向服务器发送的下载请求包括:最新连续数据中的最旧一条阅读数据的标识、请求下载的断层数据条数,以及紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识。第一数据库维护单元804,进一步适于在服务器返回的断层数据的条数大于0且小于所述请求下载的断层数据的条数时判断为填满,在服务器返回的断层数据的条数大于或等于所述请求下载的断层数据的条数时判断为未填满。
第一断层区间维护单元805,适于遍历数据库单元801中的断层区间集合,找到对应的断层数据中的最新一条阅读数据的标识与最新连续数据中的最旧一条阅读数据的标识紧邻的断层区间,该断层区间为紧邻最新连续数据的断层区间。
在本发明的一个实施例中,数据库单元801保存的断层区间集合中的断层区间为一个包含两个元素的数组,该数组中的第一个元素为该断层区间所对应的断层数据中的最新一条数据的标识,第二个元素为该断层区间所对应的断层数据中的最旧一条数据的标识。
在本发明的一个实施例中,数据库单元801保存的断层区间集合是由JAVA类库中的数组表实现的。
显示单元806,适于在断层数据下载单元803接收到的服务器返回的断层数据的条数为0时,向用户提示服务器上没有更旧的数据。
图9示出了根据本发明一个实施例的断层数据处理装置的结构图。如图9所示,该断层数据处理装置900包括:数据库单元901、显示单元902、断层数据下载单元903、第一数据库维护单元904、第一断层区间维护单元905和提示单元906。此外,还包括:新数据下载单元907、第二数据库维护单元908和第二断层区间维护单元909。
新数据下载单元907,适于向服务器发送下载新数据的请求,接收服务器返回的新数据。在本发明的一个实施例中,新数据下载单元907向服务器发送的下载新数据的请求中包括:请求下载的新数据条数,和已下载到数据库中的最新一条数据的标识。
第二数据库维护单元908,适于判断服务器返回的新数据是否能与数据库单元901中的已有数据衔接,如果衔接,将服务器返回的新数据保存到数据库单元901中,并将服务器返回的数据的显示标记置为有效,如果不衔接,将数据库单元901中已有的显示标记为有效的数据的显示标记都置为无效,然后将服务器返回的新数据保存到数据库单元901中,并将服务器返回的该新数据的显示标记置为有效。
数据库单元901,适于保存数据、数据的显示标记以及由与断层数据对应的断层区间组成的断层区间集合,其中,最新连续数据的显示标记为有效,其他数据的显示标记为无效。
显示单元902,适于显示数据库单元901中的显示标记为有效的数据。
在本发明的一个实施例中,新数据下载单元907向服务器发送的下载新数据的请求中包含:请求下载的数据条数和已下载到数据库单元901中的最新一条数据的标识。服务器端的返回数据的条件为:一、返回数据数要小于或者等于“请求下载的新数据条数”;二、获取数据的范围是(∞,已下载到数据库单元901中的最新一条数据的标识),两条件成“与”的关系。则第二数据库维护单元908,适于在服务器返回的新数据的条数小于请求下载的新数据条数时判断为衔接,在服务器返回的新数据的条数大于或等于所述请求下载的新数据条数时判断为不衔接。
第二断层区间维护单元909,适于在服务器返回的新数据与数据库单元901中的已有数据不衔接时,将与不衔接的断层数据对应的断层区间保存在数据库单元901中维护的断层区间集合中。具体来说,第二断层区间维护单元909用服务器返回的数据中的最旧一条数据的标识和已下载到数据库单元901中的最新一条数据的标识组成一个表示断层区间的数组,并该数组保存到数据库单元901中的表示断层区间集合的数组集合中。
在本发明的一个实施例中,数据库单元901中的断层区间集合是由JAVA类库中的数组表实现的。
提示单元906,适于在服务器返回给新数据下载单元907的新数据的条数为0时,向用户提示数据库中的最新数据即为服务器上的最新数据。
断层数据下载单元903,适于向服务器发送请求紧邻数据库单元901中最新连续数据的一定数量断层数据的下载请求,接收服务器返回的断层数据。
第一数据库维护单元904,适于判断服务器返回的断层数据是否填满紧邻最新连续数据的断层区间;如果填满,将服务器返回的断层数据插入到数据库单元901中,设置服务器返回的断层数据的显示标记为有效,并将该紧邻最新连续数据的断层区间及所述紧邻最新连续数据的断层区间的下一个断层区间之间的已下载数据的显示标记置为有效,以及从数据库单元901中删除该紧邻最新连续数据的断层区间;如果未填满,将服务器返回的断层数据插入到所述数据库单元901中,设置服务器返回的断层数据的显示标记为有效,并将该紧邻最新连续数据的断层区间的表示该断层区间中最新一条数据的标识,修改为所述返回的断层数据中的最旧一条数据的标识。
在本发明的一个实施例中,断层数据下载单元903向服务器发送的下载请求包括:最新连续数据中的最旧一条阅读数据的标识、请求下载的断层数据条数,以及紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识。第一数据库维护单元904,进一步适于在服务器返回的断层数据的条数大于0且小于所述请求下载的断层数据的条数时判断为填满,在服务器返回的断层数据的条数大于或等于所述请求下载的断层数据的条数时判断为未填满。
第一断层区间维护单元905,适于遍历数据库单元901中的断层区间集合,找到对应的断层数据中的最新一条阅读数据的标识与最新连续数据中的最旧一条阅读数据的标识紧邻的断层区间,该断层区间为紧邻最新连续数据的断层区间。
在本发明的一个实施例中,数据库单元901保存的断层区间集合中的断层区间为一个包含两个元素的数组,该数组中的第一个元素为该断层区间所对应的断层数据中的最新一条数据的标识,第二个元素为该断层区间所对应的断层数据中的最旧一条数据的标识。
显示单元906,适于在断层数据下载单元903接收到的服务器返回的断层数据的条数为0时,向用户提示服务器上没有更旧的数据。
综上所述,在本发明的这种断层数据处理装置中,通过设置和维护显示标记,只显示最新的连续的数据,这样用户看到数据是连续的数据,此外还记录了断层区间,并能够根据所记录的断层区间集合,从服务器获取断层数据并填补到对应的断层区间中,方便了用户的使用。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的断层数据处理装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (20)

1.一种断层数据处理装置,该装置包括:数据库单元、显示单元、断层数据下载单元和第一数据库维护单元;
所述数据库单元,适于保存数据、数据的显示标记以及由与断层数据对应的断层区间组成的断层区间集合,其中,最新连续数据的显示标记为有效,其他数据的显示标记为无效;
所述显示单元,适于显示所述数据库单元中的显示标记为有效的数据;
所述断层数据下载单元,适于向服务器发送请求紧邻数据库单元中最新连续数据的一定数量断层数据的下载请求,接收服务器返回的断层数据;
所述第一数据库维护单元,适于判断所述返回的断层数据是否填满紧邻最新连续数据的断层区间;如果填满,将所述返回的断层数据插入到所述数据库单元中,设置所述返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间及所述紧邻最新连续数据的断层区间的下一个断层区间之间的已下载数据的显示标记置为有效,以及从数据库单元中删除所述紧邻最新连续数据的断层区间;如果未填满,将所述返回的断层数据插入到所述数据库单元中,设置所述返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间的表示该断层区间中最新一条数据的标识,修改为所述返回的断层数据中的最旧一条数据的标识。
2.如权利要求1所述的装置,其中,
所述断层数据下载单元向服务器发送的下载请求包括:最新连续数据中的最旧一条阅读数据的标识、请求下载的断层数据条数,以及紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识;
所述第一数据库维护单元,进一步适于在所述返回的断层数据的条数大于0且小于所述请求下载的断层数据的条数时判断为填满,在所述返回的断层数据的条数大于或等于所述请求下载的断层数据的条数时判断为未填满。
3.如权利要求2所述的装置,其中,该装置进一步包括第一断层区间维护单元;
所述第一断层区间维护单元,适于遍历数据库单元中的断层区间集合,找到对应的断层数据中的最新一条阅读数据的标识与最新连续数据中的最旧一条阅读数据的标识紧邻的断层区间,该断层区间为紧邻最新连续数据的断层区间。
4.如权利要求1所述的装置,其中,
所述数据库单元保存的断层区间集合中的所述断层区间为一个包含两个元素的数组,该数组中的第一个元素为该断层区间所对应的断层数据中的最新一条数据的标识,第二个元素为该断层区间所对应的断层数据中的最旧一条数据的标识。
5.如权利要求4所述的装置,其中,
所述数据库单元保存的所述断层区间集合是由JAVA类库中的数组表实现的。
6.如权利要求1所述的装置,其中,该装置进一步包括显示单元,
所述显示单元,适于在所述断层数据下载单元接收到的服务器返回的断层数据的条数为0时,向用户提示服务器上没有更旧的数据。
7.如权利要求1至6中任一项所述的装置,其特征在于,该装置进一步包括:新数据下载单元和第二数据库维护单元;
所述新数据下载单元,适于向服务器发送下载新数据的请求,接收服务器返回的新数据;
所述第二数据库维护单元,适于判断所述返回的新数据是否能与数据库单元中的已有数据衔接,如果衔接,将所述返回的新数据保存到数据库单元中,并将所述返回的数据的显示标记置为有效,如果不衔接,将数据库单元中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的新数据保存到数据库单元中,并将所述返回的新数据的显示标记置为有效。
8.如权利要求7所述的装置,其特征在于,
所述新数据下载单元向所述服务器发送的所述下载新数据的请求中包含:请求下载的新数据条数和已下载到数据库单元中的最新一条数据的标识;
所述第二数据库维护单元,进一步适于在所述返回的新数据的条数小于所述请求下载的新数据条数时判断为衔接,在所述返回的新数据的条数大于或等于所述请求下载的新数据条数时判断为不衔接。
9.如权利要求7所述的装置,其中,该装置进一步包括第二断层区间维护单元;
所述第二断层区间维护单元,适于用所述返回的新数据中的最旧一条数据的标识和所述已下载到库中数据库单元中的最新一条数据的标识组成一个表示断层区间的数组,并该数组保存到数据库单元中的表示断层区间集合的数组集合中。
10.如权利要求7所述的装置,其中,
所述提示单元,进一步适于在所述新数据下载单元接收到的服务器返回的新数据的条数为0时,向用户提示数据库单元中的最新数据即为服务器上的最新数据。
11.一种断层数据处理方法,该方法包括:
向服务器发送请求紧邻数据库中最新连续数据的一定数量断层数据的下载请求,接收服务器返回的断层数据;其中,所述数据库中保存有已下载的数据、数据的显示标记以及由与断层数据对应的断层区间组成的断层区间集合,其中最新连续数据的显示标记为有效,其他数据的显示标记为无效,且显示标记为有效的数据能够被显示;
判断所述返回的断层数据是否填满紧邻最新连续数据的断层区间;
如果填满,将所述返回的断层数据插入到所述数据库中,设置所述返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间及所述紧邻最新连续数据的断层区间的下一个断层区间之间的已下载数据的显示标记置为有效,以及从数据库中删除所述紧邻最新连续数据的断层区间;
如果未填满,将所述返回的断层数据插入到所述数据库中,设置所述返回的断层数据的显示标记为有效,并将所述紧邻最新连续数据的断层区间的表示该断层区间中最新一条数据的标识,修改为所述返回的断层数据中的最旧一条数据的标识。
12.如权利要求11所述的方法,其中,
所述下载请求包括:最新连续数据中的最旧一条阅读数据的标识、请求下载的断层数据条数,以及紧邻最新连续数据的断层区间所对应的断层数据中的最旧一条阅读数据的标识;
所述判断所述返回的断层数据是否填满紧邻最新连续数据的断层区间包括:在所述返回的断层数据的条数大于0且小于所述请求下载的断层数据的条数时判断为填满,在所述返回的断层数据的条数大于或等于所述请求下载的断层数据的条数时判断为未填满。
13.如权利要求12所述的方法,其中,在向服务器发送下载请求之前该方法进一步包括:
遍历数据库中的断层区间集合,找到对应的断层数据中的最新一条阅读数据的标识与最新连续数据中的最旧一条阅读数据的标识紧邻的断层区间,该断层区间为紧邻最新连续数据的断层区间。
14.如权利要求11所述的方法,其中,
所述断层区间为一个包含两个元素的数组,该数组中的第一个元素为该断层区间所对应的断层数据中的最新一条数据的标识,第二个元素为该断层区间所对应的断层数据中的最旧一条数据的标识。
15.如权利要求14所述的方法,其中,该方法进一步包括:
采用JAVA类库中的数组表来实现所述断层区间集合。
16.如权利要求11所述的方法,其中,该方法进一步包括:
如果接收到的服务器返回的断层数据的条数为0,向用户提示服务器上没有更旧的数据。
17.如权利要求11至16中任一项所述的方法,其中,该方法进一步包括:
向服务器发送下载新数据的请求,接收服务器返回的新数据;
判断所述返回的新数据是否能与数据库中的已有数据衔接;
如果衔接,将所述返回的新数据保存到数据库中,并将所述返回的新数据的显示标记置为有效;
如果不衔接,将数据库中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的新数据保存到数据库中,并将所述返回的新数据的显示标记置为有效。
18.如权利要求17所述的方法,其中,所述下载新数据的请求中包括:请求下载的新数据条数,和已下载到数据库中的最新一条数据的标识;
所述判断所述返回的新数据是否能与数据库中的已有数据衔接包括:在所述返回的新数据的条数小于所述请求下载的新数据条数时判断为衔接,在所述返回的新数据的条数大于或等于所述请求下载的新数据条数时判断为不衔接。
19.如权利要求17所述的方法,其中,该方法进一步包括:
如果不衔接,用所述返回的新数据中的最旧一条数据的标识和所述已下载到数据库中的最新一条数据的标识组成一个表示断层区间的数组,并该数组保存到表示断层区间集合的数组集合中。
20.如权利要求17所述的方法,其中,该方法进一步包括:
如果接收到的服务器返回的新数据的条数为0,向用户提示数据库中的最新数据即为服务器上的最新数据。
CN201210555492.1A 2012-12-19 2012-12-19 一种断层数据处理装置和方法 Active CN103077186B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210555492.1A CN103077186B (zh) 2012-12-19 2012-12-19 一种断层数据处理装置和方法
PCT/CN2013/082653 WO2014094455A1 (zh) 2012-12-19 2013-08-30 一种断层数据处理装置和方法
US14/654,333 US9544386B2 (en) 2012-12-19 2013-08-30 Device and method for processing slice data
US15/382,133 US10033795B2 (en) 2012-12-19 2016-12-16 Device and method for processing slice data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210555492.1A CN103077186B (zh) 2012-12-19 2012-12-19 一种断层数据处理装置和方法

Publications (2)

Publication Number Publication Date
CN103077186A true CN103077186A (zh) 2013-05-01
CN103077186B CN103077186B (zh) 2015-11-25

Family

ID=48153716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210555492.1A Active CN103077186B (zh) 2012-12-19 2012-12-19 一种断层数据处理装置和方法

Country Status (1)

Country Link
CN (1) CN103077186B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064910A (zh) * 2012-12-19 2013-04-24 北京奇虎科技有限公司 用于处理断层数据的装置和方法
WO2014094455A1 (zh) * 2012-12-19 2014-06-26 北京奇虎科技有限公司 一种断层数据处理装置和方法
CN105100143A (zh) * 2014-05-04 2015-11-25 腾讯科技(深圳)有限公司 显示数据的方法及装置
CN111241072A (zh) * 2018-11-29 2020-06-05 珠海格力电器股份有限公司 一种判断数据段连续性的方法及其系统
CN112311843A (zh) * 2020-03-18 2021-02-02 北京沃东天骏信息技术有限公司 数据加载方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015516A1 (en) * 2002-07-20 2004-01-22 Harter Steven Virgil Object graph faulting and trimming in an object-relational database system
CN1885292A (zh) * 2005-06-22 2006-12-27 索尼株式会社 再现装置、再现方法以及再现程序
CN103064910A (zh) * 2012-12-19 2013-04-24 北京奇虎科技有限公司 用于处理断层数据的装置和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015516A1 (en) * 2002-07-20 2004-01-22 Harter Steven Virgil Object graph faulting and trimming in an object-relational database system
CN1885292A (zh) * 2005-06-22 2006-12-27 索尼株式会社 再现装置、再现方法以及再现程序
CN103064910A (zh) * 2012-12-19 2013-04-24 北京奇虎科技有限公司 用于处理断层数据的装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
杨培勇等: "一种智能终端数据共享中的预取缓存技术", 《网络新媒体技术》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064910A (zh) * 2012-12-19 2013-04-24 北京奇虎科技有限公司 用于处理断层数据的装置和方法
WO2014094455A1 (zh) * 2012-12-19 2014-06-26 北京奇虎科技有限公司 一种断层数据处理装置和方法
CN103064910B (zh) * 2012-12-19 2016-06-29 北京奇虎科技有限公司 用于Android系统的处理断层数据的装置和方法
CN105100143A (zh) * 2014-05-04 2015-11-25 腾讯科技(深圳)有限公司 显示数据的方法及装置
CN111241072A (zh) * 2018-11-29 2020-06-05 珠海格力电器股份有限公司 一种判断数据段连续性的方法及其系统
CN112311843A (zh) * 2020-03-18 2021-02-02 北京沃东天骏信息技术有限公司 数据加载方法和装置

Also Published As

Publication number Publication date
CN103077186B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
US9916390B2 (en) Managing web browser cache for offline browsing
KR101785595B1 (ko) 구조화 문서의 페이지렛의 캐싱
CN103617191A (zh) 使用硬件加速实现浏览器渲染的方法和浏览器
CN104572114A (zh) 一种绑定装置、应用更新装置及方法以及应用
CN103685528A (zh) 信息展示方法和装置
CN103150513A (zh) 拦截应用程序中的植入信息的方法及装置
CN103077186A (zh) 一种断层数据处理装置和方法
CN103678487A (zh) 一种网页快照的生成方法和装置
CN103279538A (zh) 预加载访问网站中网页的服务器、浏览器客户端和方法
CN104866594A (zh) 信息推送方法和装置
CN103177115A (zh) 一种提取网页页面链接的方法和装置
CN102932445A (zh) 网络内容状态的获取方法和装置
US10082937B2 (en) Intelligent rendering of webpages
WO2014108038A1 (zh) 一种生成常用网址的客户端、服务器、系统和方法
US9449111B2 (en) System and method for generating and accessing trails
CN102981848A (zh) 网页主体元素处理浏览器和方法
CN105208032A (zh) 异步登录方法和装置
CN103646169A (zh) 一种游戏的提醒方法和装置
CN103036992A (zh) 一种数据下载方法和装置
CN102902784A (zh) 网页分类存储系统及方法
US20140122404A1 (en) System and method for displaying a trail
CN103020245A (zh) 用于下载数据的方法和装置
CN105183887A (zh) 基于浏览器的数据处理方法和浏览器装置
CN103064910A (zh) 用于处理断层数据的装置和方法
US9292883B2 (en) System and method for managing a trail

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right