用于下载数据的方法和装置的制作方法

文档序号:6384650阅读:162来源:国知局
专利名称:用于下载数据的方法和装置的制作方法
技术领域
本发明涉及网络通信技术领域,具体涉及一种用于下载数据的方法和装置。
背景技术
随着智能终端设备的普及,阅读客户端(以下在本申请中简称为“客户端”)越来越多的被应用于智能终端设备上。但是其主要功能部分——数据的存储以及断层数据的处理,一直以来都是较为核心、技术难度较大、却又优化不够的地方。而这又是构成客户端用户体验中,一个非常重要的组成部分。客户端的阅读数据包括文章、图片、视频、“微博”等。在使用客户端的过程中,有一种最为普遍的场景是用户先在某一时间段(如中午午休时)通过客户端下载阅读数据,一般而言,客户端会请求到约20条阅读数据,将其保存到数据库中以便显示。当用户看了一段时间后,退出客户端,继续自己的事情。而后在另一时间段(如傍晚六时),用户再次进入客户端下载新的阅读数据,一般而言,出于对流量、传输速度和体验的考虑,客户端不会将从上次下载过的数据(如之前提到的中午午休时)一直到现在的阅读数据都请求过来,这期间服务器端有可能已有了数百条阅读数据,因此客户端仅是为用户请求到约最新的20条阅读数据。那么,在刚刚请求的20条阅读数据和之前用户请求的20条阅读(如午休时)的中间,形成了一些还没有被下载到客户端的阅读数据。这些夹在最新的阅读数据和已有阅读数据的中间的“空心”部分称之为“断层数据”。现有技术中的一种做法是在下载完新的阅读数据后,不考虑中间是否有断层数据,直接将新下载的阅读数据插入到已有阅读数据之前,并且在显示时全部显示出来。这使得用户无法获知所显示的数据之间是否有断层数据。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种用于下载数据的方法和装置。依据本发明的一个方面,提供了一种用于下载数据的装置,该装置包括数据库单元、显示单元、新数据下载单元、数据库维护单元和提示单元;所述新数据下载单元,适于向服务器发送下载新数据的请求,接收服务器返回的数据;所述数据库维护单元,适于判断所述返回的数据是否能与数据库单元中的已有数据衔接,如果衔接,将所述返回的数据保存到数据库单元中,并将所述返回的数据的显示标记置为有效,如果不衔接,将数据库单元中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的数据保存到数据库单元中,并将所述返回的数据的显示标记置为有效;所述数据库单元,适于保存数据以及数据的显示标记;所述显示单元,适于显示所述数据库单元中的显示标记为有效的数据;
所述提示单元,适于在服务器返回的数据的条数为0,向用户提示数据库中的最新数据即为服务器上的最新数据。可选地,所述新数据下载单元向所述服务器发送的所述下载新数据的请求中包含请求下载的数据条数和已下载到数据库单元中的最新一条数据的标识;所述数据库维护单元,进一步适于在所述返回的数据的条数小于所述请求下载的数据的条数时判断为衔接,在所述返回的数据的条数大于或等于所述请求下载的数据的条数时判断为不衔接。可选地,该装置进一步包括断层区间维护单元;所述断层区间维护单元,适于在所述返回的数据与数据库单元中的已有数据不衔接时,将与不衔接的断层数据对应的断层区间保存在数据库单元中维护的断层区间集合中。 可选地,所述断层区间维护单元,进一步适于用所述返回的数据中的最旧一条数据的标识和所述已下载到数据库单元中的最新一条数据的标识组成一个表示断层区间的数组,并该数组保存到数据库单元中的表示断层区间集合的数组集合中。可选地,所述数据库单元中的所述断层区间集合是由JAVA类库中的数组表实现的。根据本发明的另一方面,提供了一种用于下载数据的方法,该方法包括向服务器发送下载新数据的请求,接收服务器返回的数据;判断所述返回的数据是否能与数据库中的已有数据衔接;如果衔接,将所述返回的数据保存到数据库中,并将所述返回的数据的显示标记置为有效;如果不衔接,将数据库中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的数据保存到数据库中,并将所述返回的数据的显示标记置为有效;其中,只有显示标记为有效的数据能够被显示;如果接收到的服务器返回的数据的条数为0,向用户提示数据库中的最新数据即为服务器上的最新数据。可选地,所述下载新数据的请求中包括请求下载的数据条数,和已下载到数据库中的最新一条数据的标识;所述判断所述返回的数据是否能与数据库中的已有数据衔接包括在所述返回的数据的条数小于所述请求下载的数据条数时判断为衔接,在所述返回的数据的条数大于或等于所述请求下载的数据条数时判断为不衔接。可选地,该方法进一步包括如果不衔接,还将与不衔接的断层数据对应的断层区间保存到所维护的断层区间
^ 由
: 口1o可选地,所述将与不衔接的断层数据对应的断层区间保存到所维护的断层区间集合中包括用所述返回的数据中的最旧一条数据的标识和所述已下载到数据库中的最新一条数据的标识组成一个表示断层区间的数组,并将该数组保存到表示断层区间集合的数组
^ 由
: 口1o
可选地,该方法进一步包括采用JAVA类库中的数组表来实现所述断层区间集
口 o根据本发明的这种向服务器发送下载新数据的请求,接收服务器返回的数据,判断所述返回的数据是否能与数据库中的已有数据衔接,如果衔接,将所述返回的数据保存到数据库中,并将所述返回的数据的显示标记置为有效,如果不衔接,将数据库中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的数据保存到数据库中,并将所述返回的数据的显示标记置为有效,在显示时只有显示标记为有效的数据能够被显示的技术方案,可以在每次请求新数据后判断新数据和已有的数据是否衔接,当不衔接时则说明数据产生了断层,通过设置和维护显示标记在显示时只显示最新的连续的数据,这样用户看到数据是连续的数据,其中不存在断层数据,由此解决了用户不能获知所显示数据中是否存在断层数据的问题。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式



通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图1示出了根据本发明一个实施例的一种用于下载数据的方法的流程图;图2示出了根据本发明一个实施例的用于下载数据的方法的流程图;图3示出了根据本发明一个实施例的数据下载过程中客户端的数据变化示意图;图4示出了根据本发明一个实施例的一种用于下载数据的装置的结构图;图5示出了根据本发明一个实施例的用于下载数据的装置的结构图。
具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本发明一个实施例的一种用于下载数据的方法的流程图。如图1所示,该方法包括步骤S110,向服务器发送下载新数据的请求,接收服务器返回的数据。在本发明的一个实施例中,该客户端向服务器发送的下载新数据的请求中包括请求下载的数据条数,和已下载到数据库中的最新一条数据的标识。这样,服务器端认为客户端所请求的数据是从服务器端当前最新的一条数据到所述请求中包含的数据标识为止的数据,且请求的数据条数为所述请求中的包含的条数。这里,“新”和“旧”比较的是数据的产生时间,“新”为产生时间在后的数据,“旧”为产生时间在先的数据。步骤S120,判断服务器返回的数据是否能与数据库中的已有数据衔接,如果是执行步骤S130,如果否执行步骤S140。在本发明的一个实施例中,在服务器回的数据的条数小于请求下载的数据条数时判断为衔接,在服务器返回的数据的条数大于或等于请求下载的数据条数时判断为不衔接。这是因为服务器端以客户端发送的下载新数据的请求中包含的请求下载的数据条数,和已下载到数据库中的最新一条数据的标识为返回数据的依据的结果。以数据的标识依照其产生时间的先后顺序依次递增为例客户端已下载到数据库中的最新一条数据的标识为1000,当前请求20条数据。如果服务器端接收到客户端的请求时,服务器端的最新一条数据的标识已到1050,则服务器会向客户端返回标识为103f 1050的20条数据,客户端会判断为不衔接。如果服务器端接收到客户端的请求时,月艮务器端的最新一条数据的标识已到1015,则服务器会向客户端返回标识为IOOf 1015的15条数据,客户端会判断为衔接。步骤S130,将服务器返回的数据保存到数据库中,并将该返回的数据的显示标记置为有效。执行步骤S150。步骤S140,将数据库中已有的显示标记为有效的数据的显示标记都置为无效,然后将服务器返回的数据保存到数据库中,并将服务器返回的数据的显示标记置为有效。执行步骤S150。步骤S150,只显示数据库中的显示标记为有效的数据。图1所示的技术方案中,在每次请求到新数据后都判断新数据和已有的数据是否衔接,当不衔接时则说明数据产生了断层,通过设置和维护数据的显示标记,并在显示时只显示最新的连续的数据,这样用户看到数据是连续的数据,其中不存在断层数据,由此解决了用户不能获知所显示的数据中是否存在断层数据的问题。图1所示的方法还可以在步骤S 120中判断为不衔接时,进一步将与不衔接的断层数据对应的断层区间保存到所维护的断层区间集合中。具体为用服务器返回的数据中的最旧一条数据的标识和已下载到数据库中的最新一条数据的标识组成一个表示断层区间的数组,并将该数组保存到表示断层区间集合的数组集合中。例如,以前述的客户端已下载到数据库中的最新一条数据的标识为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 的 ObjectlnputStream 类的 readObject 方法,将该记录转化为一个ArrayList对象。而ArrayList当中,每一项都由Integer的一维数组构成,每个数组有两个元素,分别用来表示该断层区间的两个边界。客户端要做的是将先前提到的“服务器返回的数据中的最旧一条数据的标识”和“已有数据中的最新一条数据的标识”作为断层区间的两个边界,分别填入新的Integer的一维数组中,然后将其添加到ArrayList对象中,最后,再将其序列化(serialize)为一个Bytes对象,也即Android的ObjectOutputStream的toByteArray (),最终,再将其存回数据库当中。至此,断层区间集合将多了一个新的断层区间,图3中的333为该新增加的断层区间。步骤S216,将数据库中已有的显示标记为有效的数据的显示标记都置为无效。即将客户端中已有的数据(如图3中的数据段311)显示标记的值从I (显示)改为0 (隐藏),以确保断层333之前的已有数据段311不会显示在客户端的显示界面中。具体做法为通过一条SQL语句,将所有已有数据的显示标记的值从I (显示)改为0 (隐藏)。步骤S218,然后将服务器返回的数据保存到数据库中,并将服务器返回的数据的显示标记置为有效。客户端会将之前由服务器端返回的那些数据333都插入到数据库中,并将其显示标记的值置为I (显示)。至此,整个传输过程结束。由上述可见,本发明的技术方案中,通过设置和维护显示标记,只显示最新的连续的数据,这样用户看到数据是连续的数据,此外还记录了断层区间,这样当用户想请求断层数据时,可以根据记录的断层区间请求相应的断层数据。图4示出了根据本发明一个实施例的一种用于下载数据的装置的结构图。如图4所示,该下载数据的装置400包括数据库单元401、显示单元402、新数据下载单元403和数据库维护单元404 ;新数据下载单元403,适于向服务器发送下载新数据的请求,接收服务器返回的数据。在本发明的一个实施例中,新数据下载单元403向服务器发送的下载新数据的请求中包括请求下载的数据条数,和已下载到数据库中的最新一条数据的标识。数据库维护单元404,适于判断服务器返回的数据是否能与数据库单元401中的已有数据衔接,如果衔接,将服务器返回的数据保存到数据库单元401中,并将服务器返回的数据的显示标记置为有效,如果不衔接,将数据库单元401中已有的显示标记为有效的数据的显示标记都置为无效,然后将服务器返回的数据保存到数据库单元中,并将服务器返回的数据的显示标记置为有效。数据库单元401,适于保存数据以及数据的显示标记;显示单元402,适于显示数据库单元401中的显示标记为有效的数据。图4所示的装置,在每次请求新数据后判断新数据和已有的数据是否衔接,当不衔接时则说明数据产生了断层,通过设置和维护显示标记在显示时只显示最新的连续的数据,这样用户看到数据是连续的数据,其中不存在断层数据,由此解决了用户不能获知所显示的数据中是否存在断层数据的问题。图5示出了根据本发明一个实施例的用于下载数据的装置的结构图。如图5所示,该下载数据的装置500包括数据库单元501、显示单元502、新数据下载单元503、数据库维护单元504、断层区间维护单元505和提示单元506。新数据下载单元503,适于向服务器发送下载新数据的请求,接收服务器返回的数据。在本发明的一个实施例中,新数据下载单元503向服务器发送的下载新数据的请求中包括请求下载的数据条数,和已下载到数据库中的最新一条数据的标识。数据库维护单元504,适于判断服务器返回的数据是否能与数据库单元501中的已有数据衔接,如果衔接,将服务器返回的数据保存到数据库单元501中,并将服务器返回的数据的显示标记置为有效,如果不衔接,将数据库单元501中已有的显示标记为有效的数据的显示标记都置为无效,然后将服务器返回的数据保存到数据库单元中,并将服务器返回的数据的显示标记置为有效。数据库单元501,适于保存数据以及数据的显示标记;显示单元502,适于显示数据库单元501中的显示标记为有效的数据。在本发明的一个实施例中,新数据下载单元503向服务器发送的下载新数据的请求中包含请求下载的数据条数和已下载到数据库单元501中的最新一条数据的标识。月艮务器端的返回数据的条件为一、返回数据数要小于或者等于“请求下载的数据条数”;二、获取数据的范围是(①,已下载到数据库单元501中的最新一条数据的标识),两条件成“与”的关系。则数据库维护单元504,适于在服务器返回的数据的条数小于请求下载的数据的条数时判断为衔接,在所述返回的数据的条数大于或等于所述请求下载的数据的条数时判断为不衔接。断层区间维护单元505,适于在服务器返回的数据与数据库单元501中的已有数据不衔接时,将与不衔接的断层数据对应的断层区间保存在数据库单元501中维护的断层区间集合中。具体来说,断层区间维护单元505用服务器返回的数据中的最旧一条数据的标识和已下载到数据库单元501中的最新一条数据的标识组成一个表示断层区间的数组,并该数组保存到数据库单元501中的表示断层区间集合的数组集合中。在本发明的一个实施例中,数据库单元501中的断层区间集合是由JAVA类库中的数组表实现的。提示单元506,适于在服务器返回的数据的条数为0,向用户提示数据库中的最新数据即为服务器上的最新数据。综上所述,图5所示的装置,通过设置和维护显示标记,只显示最新的连续的数据,这样用户看到数据是连续的数据,此外还记录了断层区间,这样当用户想请求断层数据时,可以根据记录的断层区间请求相应的断层数据。需要说明的是在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式
的权利要求书由此明确地并入该具体实施方式
,其中每个权利要求本身都作为本发明的单独实施例。 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的用于下载数据的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
权利要求
1.一种用于下载数据的装置,该装置包括数据库单元、显示单元、新数据下载单元、 数据库维护单元和提示单元;所述新数据下载单元,适于向服务器发送下载新数据的请求,接收服务器返回的数据;所述数据库维护单元,适于判断所述返回的数据是否能与数据库单元中的已有数据衔接,如果衔接,将所述返回的数据保存到数据库单元中,并将所述返回的数据的显示标记置为有效,如果不衔接,将数据库单元中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的数据保存到数据库单元中,并将所述返回的数据的显示标记置为有效;所述数据库单元,适于保存数据以及数据的显示标记;所述显示单元,适于显示所述数据库单元中的显示标记为有效的数据;所述提示单元,适于在服务器返回的数据的条数为O,向用户提示数据库中的最新数据即为服务器上的最新数据。
2.如权利要求1所述的装置,其特征在于,所述新数据下载单元向所述服务器发送的所述下载新数据的请求中包含请求下载的数据条数和已下载到数据库单元中的最新一条数据的标识;所述数据库维护单元,进一步适于在所述返回的数据的条数小于所述请求下载的数据的条数时判断为衔接,在所述返回的数据的条数大于或等于所述请求下载的数据的条数时判断为不衔接。
3.如权利要求1所述的装置,其中,该装置进一步包括断层区间维护单元;所述断层区间维护单元,适于在所述返回的数据与数据库单元中的已有数据不衔接时,将与不衔接的断层数据对应的断层区间保存在数据库单元中维护的断层区间集合中。
4.如权利要求3所述的装置,其中,所述断层区间维护单元,进一步适于用所述返回的数据中的最旧一条数据的标识和所述已下载到数据库单元中的最新一条数据的标识组成一个表示断层区间的数组,并该数组保存到数据库单元中的表示断层区间集合的数组集合中。
5.如权利要求4所述的装置,其中,所述数据库单元中的所述断层区间集合是由JAVA类库中的数组表实现的。
6.一种用于下载数据的方法,该方法包括向服务器发送下载新数据的请求,接收服务器返回的数据;判断所述返回的数据是否能与数据库中的已有数据衔接;如果衔接,将所述返回的数据保存到数据库中,并将所述返回的数据的显示标记置为有效;如果不衔接,将数据库中已有的显示标记为有效的数据的显示标记都置为无效,然后将所述返回的数据保存到数据库中,并将所述返回的数据的显示标记置为有效;其中,只有显示标记为有效的数据能够被显示;如果接收到的服务器返回的数据的条数为O,向用户提示数据库中的最新数据即为服务器上的最新数据。
7.如权利要求6所述的方法,其中,所述下载新数据的请求中包括请求下载的数据条数,和已下载到数据库中的最新一条数据的标识;所述判断所述返回的数据是否能与数据库中的已有数据衔接包括在所述返回的数据的条数小于所述请求下载的数据条数时判断为衔接,在所述返回的数据的条数大于或等于所述请求下载的数据条数时判断为不衔接。
8.如权利要求6所述的方法,其中,该方法进一步包括如果不衔接,还将与不衔接的断层数据对应的断层区间保存到所维护的断层区间集合中。
9.如权利要求8所述的方法,其中,所述将与不衔接的断层数据对应的断层区间保存到所维护的断层区间集合中包括用所述返回的数据中的最旧一条数据的标识和所述已下载到数据库中的最新一条数据的标识组成一个表示断层区间的数组,并将该数组保存到表示断层区间集合的数组集合中。
10.如权利要求9所述的方法,其中,该方法进一步包括采用JAVA类库中的数组表来实现所述断层区间集合。
全文摘要
本发明公开了一种用于下载数据的方法和装置,涉及网络通信技术领域。所述装置包括新数据下载单元,适于发送下载请求,接收服务器返回的数据;数据库维护单元,适于判断返回的数据是否能与已有数据衔接,如果能将其保存到数据库单元中并将其显示标记置为有效,如果否将显示标记都置为无效,然后保存返回的数据并将其显示标记置为有效;数据库单元,适于保存数据以及显示标记;显示单元,适于显示显示标记为有效的数据;提示单元,适于在返回的数据的条数为0,向用户提示数据库中的最新数据即为服务器上的最新数据。本发明的技术方案中,解决了用户不能获知所显示的数据中是否存在断层数据的问题。
文档编号G06F17/30GK103020245SQ20121055345
公开日2013年4月3日 申请日期2012年12月19日 优先权日2012年12月19日
发明者张炅轩, 范国峰 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1