CN105827721B - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN105827721B CN105827721B CN201610246977.0A CN201610246977A CN105827721B CN 105827721 B CN105827721 B CN 105827721B CN 201610246977 A CN201610246977 A CN 201610246977A CN 105827721 B CN105827721 B CN 105827721B
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- server
- terminal
- sent
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
Abstract
一种数据传输方法及装置。本发明实施例公开了一种终端,所述终端包括:输入器件,用于获取用户输入的第一操作;第一外部通信接口,用于在所述输入器件获取所述第一操作时,向服务器发送第一ID请求消息,并接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID;第一处理器,用于记录所述第一外部通信接口接收到的排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID;所述第一外部通信接口,还用于将所述前N个数据ID发送给服务器,并接收所述服务器返回的所述前N个数据ID对应的数据;显示器,用于显示所述第一外部通信接口接收到的数据;第一处理器,还用于记录所述显示器上显示的最后一个数据的数据ID。
Description
技术领域
本发明涉及数据业务领域,尤其涉及一种数据传输方法及装置。
背景技术
用户在手机、个人计算机、平板电脑等电子设备上登录应用客户端如微博后,会向对应的服务器发送数据请求如请求获取关注页,应用服务器收到该用户的请求后,会将该用户所关注的目标用户产生的动态数据发送给应用客户端,应用客户端将这些数据显示在电子设备的显示屏上展示给用户,供用户浏览。
服务器接收到数据请求后,会对该用户所关注的目标用户产生的动态数据进行聚合,这些数据有很多,服务器并不能将用户请求的全部数据发给应用客户端,而是采用缓存机制将这些数据缓存在服务器的缓存区,采用分页拉取的方式将数据传输给应用客户端。服务器会将最新的一页数据发送给应用客户端,在用户刷新的时候将当前最新的一页数据发送给客户端,在用户向上滑动到底端进行翻页时,将下一页数据发送给应用客户端;这就要求服务器需要为用户实时的记录用户的查看状态即用户已经获取到哪条数据,这样就可以在用户翻页时为用户提供该条数据接下来的下一页数据。如果用户一直活跃,那服务器为用户建立的缓存一直存在,服务器可以对缓存进行查询、添加、删除。如果该用户几天后未登录,则用户的缓存就过期了,该用户就会被标记为沉默用户。
沉默用户再次上线后,如果沉默用户进行刷新操作,则服务器就会建立新的缓存,向应用客户端发送最新的数据,该新的缓存中加载的是最新的数据;如果沉默用户进行向下翻页操作,由于沉默用户的太久没有登录,该用户的缓存已经过期被清除,服务器就要为用户重建缓存,并且要将缓存还原到用户上次的查看到的数据,这也需要服务器为用户实时的记录用户的查看状态来保证用户在不活跃一段时间后又突然活跃的时候,能够还原用户上次的查看状态。
互联网的沉默用户、僵尸用户占比在80%左右,有些用户可能就活跃了一次两次就不再活跃了,但是服务器仍然要为这些用户再次活跃时的重建缓存来记录用户上次的查看状态,这部分用户占比又比较高,大量浪费服务器资源。
发明内容
有鉴于此,本发明实施例期望提供一种数据传输方法及装置,可以降低服务器资源的浪费。
为达到上述目的,本发明实施例的技术方案是这样实现的:
一种终端,包括:
输入器件,用于获取用户输入的第一操作;
第一外部通信接口,用于在所述输入器件获取所述第一操作时,向服务器发送第一ID请求消息,并接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID;
第一处理器,用于记录所述第一外部通信接口接收到的排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID;
所述第一外部通信接口,还用于将所述前N个数据ID发送给服务器,并接收所述服务器返回的所述前N个数据ID对应的数据;
显示器,用于显示所述第一外部通信接口接收到的数据;
第一处理器,还用于记录所述显示器上显示的最后一个数据的数据ID。
上述方案中,所述输入器件,还用于获取用户输入的第二操作;
所述第一处理器,还用于在所述输入器件获取所述第二操作时,根据记录的所述排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID之后的M个数据ID;
所述第一外部通信接口,还用于将所述M个数据ID发送给服务器,并接收所述服务器返回的所述M个数据ID对应的数据。
上述方案中,所述第一外部通信接口,还用于在所述显示的最后一个数据的数据ID为所述第一部分数据ID的最后一个数据ID的情况下,在所述输入器件获取所述第二操作时,向服务器发送第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;接收所述服务器返回的排序在所述第一部分数据ID的最后一个数据ID之后的第二部分数据ID。
一种服务器,所述服务器包括:
第二外部通信接口,用于接收终端发送的第一ID请求消息;
第二处理器,用于按照预设规则,获取所述第二外部通信接口接收到的所述第一ID请求消息请求的排序后的第一部分数据,确定排序后的第一部分数据对应的排序后的第一部分数据ID;
所述第二外部通信接口,还用于将所述第二处理器确定的所述排序后的第一部分数据ID发送给所述终端,接收所述终端发送的所述排序后的第一部分数据ID中的N个数据ID,将所述N个数据ID对应的数据返回给终端。
上述方案中,第二外部通信接口,还用于接收终端发送的第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;
所述第二处理器,还用于按照预设规则,获取排序在所述第一部分数据之后的第二部分数据,将排序后的第二部分数据对应的排序后的第二部分数据ID发送给终端。
一种数据传输方法,所述方法包括:
在获取用户输入的第一操作时,向服务器发送第一ID请求消息,并接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID;
记录所述排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID;
将所述前N个数据ID发送给服务器,并接收所述服务器返回的所述前N个数据ID对应的数据;
显示所述第一外部通信接口接收到的数据;
记录显示的最后一个数据的数据ID。
上述方案中,所述方法还包括:
在获取用户输入的第二操作时,根据记录的所述排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID之后的M个数据ID;
将所述M个数据ID发送给服务器,并接收所述服务器返回的所述M个数据ID对应的数据。
上述方案中,所述方法还包括:
在所述显示的最后一个数据的数据ID为所述第一部分数据ID的最后一个数据ID的情况下,在获取所述第二操作时,向服务器发送第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;接收所述服务器返回的排序在所述第一部分数据ID的最后一个数据ID之后的第二部分数据ID。
一种数据传输方法,所述方法包括:
接收终端发送的第一ID请求消息;
按照预设规则,获取所述第一ID请求消息请求的排序后的第一部分数据,确定排序后的第一部分数据对应的排序后的第一部分数据ID;
将所述排序后的第一部分数据ID发送给所述终端;
接收所述终端发送的所述排序后的第一部分数据ID中的N个数据ID;
将所述N个数据ID对应的数据返回给终端。
上述方案中,所述方法还包括:
接收终端发送的第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;
按照预设规则,获取排序在所述第一部分数据之后的第二部分数据,将排序后的第二部分数据对应的排序后的第二部分数据ID发送给终端。
本发明实施例提供了一种数据传输方法及终端,将分页逻辑转嫁给终端上,让终端来分页,在用户刷新或者翻页到APP中显示的数据底部时,终端会传递last_read_post_id(就是所述显示器上显示的最后一个数据的数据ID)到服务器,服务器将会根据last_read_post_id查询一定数目的数据ID传递给终端;而后,终端只需要传递每次分页的数据ID给服务器,服务器获取每次分页的数据ID对应的数据,完成数据封装再传递给终端显示即可,服务器不需要去记录该用户查看分页的状态,不需要关注分页逻辑,降低了服务器资源的浪费。
另外,服务器通过分析用户行为,统计用户每次查看的数据数目,采用80/20原则,按输出80%用户都会查看到数据数目,可以避免一次性输出太多的数据ID给终端,节省服务器和终端的资源。
附图说明
图1为实现本发明各个实施例的一个可选的移动终端的硬件结构示意图;
图2为如图1所示的移动终端的无线通信系统示意图;
图3为本发明实施例一提供的一种终端的结构框图;
图4为本发明实施例提供的一种用户进行刷新操作的示意图;
图5为本发明实施例提供的一种用户进行翻页操作的示意图;
图6为本发明实施例提供的一种服务器的结构框图;
图7为本发明实施例三提供的一种数据传输方法的流程示意图;
图8为本发明实施例四提供的一种数据传输方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
现在将参考附图1来描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例的一个可选的移动终端的硬件结构示意图。
移动终端100可以包括无线通讯单元110、音频/视频(A/V)输入单元120、用户输入单元130、感测单元160、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件,可以替代地实施更多或更少的组件,将在下面详细描述移动终端的元件。
无线通讯单元110通常包括一个或多个组件,其允许移动终端100与无线通讯系统或网络之间的无线电通讯。例如,无线通讯单元可以包括移动通讯模块111、无线互联网模块112、短程通讯模块113和位置信息模块114中的至少一个。
移动通讯模块111将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块112支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括无线局域网(WLAN)(Wi-Fi)、无线宽带(Wibro)、全球微波互联接入(Wimax)、高速下行链路分组接入(HSDPA)等等。
短程通讯模块113是用于支持短程通讯的模块。短程通讯技术的一些示例包括蓝牙TM、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、紫蜂TM等等。
位置信息模块114是用于检查或获取移动终端的位置信息的模块。位置信息模块的典型示例是全球定位系统(GPS)。根据当前的技术,位置信息模块114计算来自三个或更多卫星的距离信息和准确的时间信息并且对于计算的信息应用三角测量法,从而根据经度、纬度和高度准确地计算三维当前位置信息。当前,用于计算位置和时间信息的方法使用三颗卫星并且通过使用另外的一颗卫星校正计算出的位置和时间信息的误差。此外,位置信息模块114能够通过实时地连续计算当前位置信息来计算速度信息。
A/V输入单元120用于接收音频或视频信号;所述A/V输入单元120可以包括相机121和麦克风122,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元151上。经相机121处理后的图像帧可以存储在存储器160(或其它存储介质)中或者经由无线通讯单元110进行发送,可以根据移动终端的构造提供两个或更多相机121。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通讯模块111发送到移动通讯基站的格式输出。麦克风122可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作,用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏。
感测单元160检测移动终端100的当前状态,(例如,移动终端100的打开或关闭状态)、移动终端100的位置、用户对于移动终端100的接触(即,触摸输入)的有无、移动终端100的取向、移动终端100的加速或减速移动和方向等等,并且生成用于控制移动终端100的操作的命令或信号。例如,当移动终端100实施为滑动型移动电话时,感测单元160可以感测该滑动型电话是打开还是关闭。另外,感测单元160能够检测电源单元190是否提供电力或者接口单元170是否与外部装置耦接。
接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括显示单元151、音频输出模块152等等。
显示单元151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元151可以显示与通话或其它通讯(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通讯单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块152可以包括扬声器、蜂鸣器等等。
存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通讯、视频通话等等相关的控制和处理。另外,控制器180可以包括用于再现(或回放)多媒体数据的多媒体模块181,多媒体模块181可以构造在控制器180内,或者可以构造为与控制器180分离。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通讯系统以及基于卫星的通讯系统来操作。
现在将参考图2描述其中根据本发明的移动终端能够操作的通讯系统。
这样的通讯系统可以使用不同的空中接口和/或物理层。例如,由通讯系统使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通讯系统(UMTS)(特别地,长期演进(LTE))、全球移动通讯系统(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通讯系统,但是这样的教导同样适用于其它类型的系统。
参考图2,CDMA无线通讯系统可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的系统可以包括多个BSC275。
每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子系统(BTS)或者其它等效术语。在这样的情况下,术语"基站"可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为"蜂窝站"。或者,特定BS270的各分区可以被称为多个蜂窝站。
如图2中所示,广播发射器(BT)295将广播信号发送给在系统内操作的移动终端100。如图1中所示的广播接收模块111被设置在移动终端100处以接收由BT295发送的广播信号。在图2中,示出了几个全球定位系统(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
在图2中,描绘了多个卫星300,但是理解的是,可以利用任何数目的卫星获得有用的定位信息。如图1中所示的位置信息模块114通常被构造为与卫星300配合以获得想要的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
作为无线通讯系统的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通讯。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
基于上述移动终端硬件结构以及通讯系统,提出本发明方法各个实施例。
实施例一
基于前述的实施例,本发明实施例提供了一种终端,如图3所示,所述终端包括:输入器件301、第一外部通信接口302、第一处理器303、显示器304,其中:
输入器件301,用于获取用户输入的第一操作。
这里,所述输入器件301可以是键盘、鼠标、触摸屏等具有输入功能的器件,本发明实施例中以输入器件301为触摸屏为例进行说明。
这里,如图4所示,用户点击登录终端上的应用程序(Application,APP)如微博等社交应用,进入好友动态界面。此时有两种情况:一种情况是用户第一次登录该APP,在这种情况下第一操作即为用户点击进入好友动态界面的操作;另一种情况是用户曾经登录过该好友动态界面,在这种情况下如图4中所示,该APP中缓存有用户上次浏览时的好友动态界面,用户进入好友动态界面后的刷新操作为用户输入的第一操作。当终端的输入器件301获取用户输入的第一操作后,终端就会向服务器请求加载本用户好友的最新动态数据。
示例地,如图4所示,刷新操作可以是用户在好友动态界面顶端的下拉操作或者所述第一操作也可以是点击界面内的刷新按钮如点击图4中所示的“点击获取最新动态”。
第一外部通信接口302,用于在所述输入器件301获取所述第一操作时,向服务器发送第一ID请求消息,并接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID。
这里,在所述输入器件301获取所述第一操作时,表明用户请求加载本用户好友的最新动态数据,此时终端就的第一外部通信接口302就会向服务器发送第一ID请求消息,服务器接收到第一ID请求消息后即可得出该用户在请求获取该用户最新的好友动态数据。
这里,所述第一ID请求消息中携带有一个标识,该标识用于表明该第一ID请求消息是请求获取本用户好友的最新动态数据的消息,示例地,所述第一ID请求消息中携带有预设值如last_read_post_id=0;即所述服务器接收到第一ID请求消息中携带有last_read_post_id=0时,即可得出该用户在请求获取该用户好友的最新动态数据的数据ID。
这里,服务器在得出该用户在请求获取该用户好友的最新动态数据的数据ID后,会按照预设规则,获取所述第一ID请求消息请求的排序后的第一部分数据;所述预设规则可以是按照时间先后顺序获取最新的预设数目的数据,即承接上述示例,假设预设数目为500条,则服务器可以按照时间顺序获取该用户好友的动态数据中的最新的前500条动态数据。
这里,预设数目是服务器分析所有用户的查看行为,根据大部分用户(如80%用户)习惯查看的数据数目确定的。
这里,服务器查询获得按照时间先后顺序排序后的500条数据后,就会把这500条数据对应的500个数据ID发送给终端,其中这500个数据ID是按照其对应的数据的顺序来排序后发送给终端的。
第一处理器303,用于记录所述排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID。
这里,终端的第一外部通信接口302接收到所述排序后的第一部分数据ID后,第一处理器303记录所述排序后的第一部分数据ID,示例地,终端会为该APP下用户好友圈的数据ID建立一个表。终端在接收到服务器返回的第一部分数据ID的时候,将第一部分数据ID按照排序一条条的存入该表中,记录到该APP的本地数据库(例如sqllite)中。
第一处理器303记录所述排序后的第一部分数据ID时,可以按照第一部分数据ID的排序进行记录,即列表中也按照时间顺序来记录第一部分数据ID,其对应时间离当前时间越近的在列表的越前面,第一处理器303记录排序后的第一部分数据ID后,需要获取第一页数据展示给用户,终端中预设有该APP显示的每页数据的数目N,则第一处理器303先获取列表中的前N个数据ID,即获取所述排序后的第一部分数据ID中的前N个数据ID。
这里,所述N为预设值,示例地,N可以为20,即预设取20条数据为一页数据。承接上述示例,500个数据ID可以是[1898,1897,1896,……1399],第一处理器303记录好这500个数据ID后,需要先获取第一数据的数据ID即列表中的前20个数据ID[1898,1897,1896,……1879]。
所述第一外部通信接口302,还用于将所述前N个数据ID发送给服务器,并接收所述服务器返回的所述前N个数据ID对应的数据。
这里,第一外部通信接口302可以将前20个数据ID[1898,1897,1896,……1879]发送给服务器,服务器接收到前20个数据ID[1898,1897,1896,……1879]后,只需要将在数据库中查询到20个数据ID对应的数据(任何一条数据都有一个唯一的数据ID,是数据的唯一标示,可以通过数据ID来查找数据),然后将数据ID[1898,1897,1896,……1879]对应的20条数据返回给终端;终端的第一外部通信接口302接收数据ID[1898,1897,1896,……1879]对应的20条数据。
这里,服务器只需要接收数据ID查询这些数据ID对应的数据即可,不管用户是不是僵尸用户,也不用关心用户当前的查看状态。
显示器304,用于显示所述第一外部通信接口302接收到的数据。
这里,终端的显示器304在该APP的好友动态界面上为用户显示第一外部通信接口302接收到的数据ID[1898,1897,1896,……1879]对应的20条数据,这样用户就可以浏览本用户好友的最新20条动态数据。
第一处理器303,还用于记录所述显示器上显示的最后一个数据的数据ID。
这里,第一处理器303需要记录显示器上显示的最后一个数据的数据ID[1879]。
所述输入器件301,还用于获取用户的第二操作。
这里,第二操作为翻页操作,如图5所示,用户在上滑查看最后第一页的数据后,到达第一数据的底部仍在触摸屏上进行上滑操作时,输入器件301就获取用户的第二操作即翻页操作。
所述第一处理器303,还用于在所述输入器件301获取所述第二操作时,根据记录的所述排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID之后的M个数据ID。
这里,输入器件301获取用户的第二操作时,所述第一处理器303会根据记录的所述排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID[1879]之后的M个数据ID即第二页数据的数据ID。所述M可以与N相同也可以不同;假设M为20,则第一处理器303获取到[1878,1877,1876,……1859]。
所述第一外部通信接口302,还用于将所述M个数据ID发送给服务器,并接收所述服务器返回的所述M个数据ID对应的数据。
这里,第一外部通信接口302可以将20个数据ID[1878,1877,1876,……1859]发送给服务器,服务器接收到20个数据ID[1878,1877,1876,……1859]后,只需要将在数据库中查询到20个数据ID对应的数据,然后将数据ID[1878,1877,1876,……1859]对应的20条数据返回给终端;终端的第一外部通信接口302接收数据ID[1878,1877,1876,……1859]对应的20条数据。
这里,服务器只需要接收数据ID查询这些数据ID对应的数据即可,不需要记录这些用户是不是僵尸用户,也不需要记录用户上次的查看到哪条数据。
显示器304,用于显示所述第一外部通信接口302接收到的数据。
这里,终端的显示器304在该APP的界面上为用户显示第一外部通信接口302接收到的数据ID[1878,1877,1876,……1859]对应的20条数据,这样用户就可以浏览本用户好友的下一20条动态数据。
第一处理器303,还用于记录所述显示器上显示的最后一个数据的数据ID。
这里,第一处理器303需要记录显示器上显示的最后一个数据的数据ID[1859]。
当然,输入器件301再次获取用户的第二操作后,循环进行以下数据传输流程:所述第一处理器303根据记录的所述排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID之后的M个数据ID;所述第一外部通信接口302,还用于将所述M个数据ID发送给服务器,并接收所述服务器返回的所述M个数据ID对应的数据。显示器304显示所述第一外部通信接口302接收到的数据;第一处理器303还用于记录所述显示器上显示的最后一个数据的数据ID。
这里,在所述显示的最后一个数据的数据ID为所述第一部分数据ID的最后一个数据ID的情况下,即第一部分数据ID对应的数据已全部分送给终端供用户浏览后,用户仍然输入第二操作进行翻页,此时,所述第一外部通信接口302向服务器发送第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;接收所述服务器返回的排序在所述第一部分数据ID的最后一个数据ID之后的第二部分数据ID。
这里,承接上述实施例,服务器在接收到携带有所述第一部分数据ID的最后一个数据ID的ID请求消息之后,会按照时间的先后顺序,获取排序在所述第一部分数据之后的第二部分数据,然后将排序后的第二部分数据对应的排序后的第二部分数据ID发送给客户端。
终端的第一外部通信接口302接收到所述服务器返回的所述ID请求消息请求的排序后的第二部分数据ID后,第一处理器303记录所述排序后的第二部分数据ID,获取所述排序后的第二部分数据ID中的前N个数据ID;所述第一外部通信接口302将这前N个数据ID发送给服务器,并接收所述服务器返回的这前N个数据ID对应的数据;显示器304显示所述第一外部通信接口302接收到的这前N个数据ID对应的数据;第一处理器303记录所述显示器上显示的最后一个数据的数据ID。用户查看这N条数据后输入第二操作,参考以上描述,终端通过第一外部通信接口302向服务器发送下一页的数据ID,服务器返回该页数据ID对应的数据共终端的显示器304显示。
这里,如果用户在浏览第一部分数据中的部分数据后退出,并在一段时间后再次登录进入该APP的好友动态界面,如图4中所示,该APP中缓存有用户上次浏览时的好友动态界面,用户进入好友动态界面后进行输入第二操作,此时,终端的第一处理器记录有所述显示器上显示的最后一个数据的数据ID,终端可以根据记录的排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID之后的M个数据ID;所述第一外部通信接口302将所述M个数据ID发送给服务器,并接收所述服务器返回的所述M个数据ID对应的数据,显示器304显示所述M个数据ID对应的数据即显示出当前页的下一页数据。
本发明实施例,将分页逻辑转嫁给终端上,让终端来分页,在用户刷新或者翻页到APP中显示的数据底部时,终端会传递last_read_post_id(就是所述显示器上显示的最后一个数据的数据ID)到服务器,服务器将会根据last_read_post_id查询一定数目的数据ID传递给终端;而后,终端只需要传递每次分页的数据ID(分页就是比如你浏览一个app,数据量较大,你要一直向翻页获取更多;每一页包含的就是用户要看的内容,如果是新闻类应用就是包含新闻,微博类应用就是包含微博;分页的条数,用户在每次向下加载更多的时候会输出多少条,本实施例中20条为一页。)给服务器,服务器获取每次分页的数据ID对应的数据,完成数据封装再传递给终端显示即可,服务器不需要去记录该用户查看分页的状态,不需要关注分页逻辑,降低了服务器资源的浪费。另外,服务器通过分析用户行为,统计用户每次查看的数据数目,采用80/20原则,按输出80%用户都会查看到数据数目,可以避免一次性输出太多的数据ID给终端,节省服务器和终端的资源。
实施例二
基于前述的实施例,本发明实施例提供了一种服务器,如图6所示,所述服务器包括第二外部通信接口601和第二处理器602,其中,
第二外部通信接口601,用于接收终端发送的第一ID请求消息。
这里,终端在检测到用户请求获取用户好友的最新动态数据时,会向所述服务器发送第一ID请求消息,所述第一ID请求消息中携带有一个标识,该标识用于表明该第一ID请求消息是请求获取本用户好友的最新动态数据的消息,示例地,所述第一ID请求消息中携带有预设值如last_read_post_id=0;即所述服务器的第二外部通信接口601接收携带有last_read_post_id=0的第一ID请求消息中。
第二处理器602,用于按照预设规则,获取所述第二外部通信接口601接收到的所述第一ID请求消息请求的排序后的第一部分数据,确定排序后的第一部分数据对应的排序后的第一部分数据ID。
这里,服务器的第二处理器602在得出该用户在请求获取该用户好友的最新动态数据的数据ID后,会按照预设规则,获取所述第一ID请求消息请求的排序后的第一部分数据;所述预设规则可以是按照时间先后顺序获取最新的预设数目的数据,即承接上述示例,假设预设数目为500条,则第二处理器602可以按照时间顺序获取该用户好友的动态数据中的最新的前500条动态数据。
这里,预设数目是服务器分析所有用户的查看行为,根据大部分用户(如80%用户)习惯查看的数据数目确定的。
这里,第二处理器602查询获得按照时间先后顺序排序后的500条数据后,确定这500条数据对应的500个数据ID,这500个数据ID是按照其对应的数据的顺序来排序的。
所述第二外部通信接口601,还用于将所述第二处理器602确定的所述排序后的第一部分数据ID发送给所述终端,接收所述终端发送的所述排序后的第一部分数据ID中的N个数据ID,将所述N个数据ID对应的数据返回给终端。
这里,终端接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID;会记录所述第一外部通信接口接收到的排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID;然后将所述前N个数据ID发送给服务器。服务器的第二外部通信接口601接收所述终端发送的所述排序后的第一部分数据ID中的N个数据ID,只需要将在数据库中查询到N个数据ID对应的数据,然后将N个数据ID对应的数据返回给终端。
这里,服务器只需要根据接收数据ID向终端返回这些数据ID对应的数据即可,不需要记录用户是不是僵尸用户,也不用实时记录用户当前的查看状态。
第二外部通信接口601,还用于接收终端发送的第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID。
这里,服务器的第二外部通信接口601还会接收到终端发送的第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID。
所述第二处理器602,还用于按照预设规则,获取排序在所述第一部分数据之后的第二部分数据,将排序后的第二部分数据对应的排序后的第二部分数据ID发送给终端。
这里,承接上述示例,第二处理器602在第二外部通信接口601接收到终端发送的第二ID请求消息时,会按照时间的先后顺序,获取排序在所述第一部分数据之后的第二部分数据,然后将排序后的第二部分数据对应的排序后的第二部分数据ID发送给客户端。
本发明实施例中,服务器将会根据第一ID请求消息或第二ID请求消息查询一定数目的数据ID传递给终端;服务器只需要根据终端发送的每次分页的数据ID获取每次分页的数据ID对应的数据,完成数据封装再传递给终端显示即可,服务器不需要去记录该用户查看分页的状态,不需要关注分页逻辑,降低了服务器资源的浪费。另外,服务器通过分析用户行为,统计用户每次查看的数据数目,采用80/20原则,按80%用户都会查看到数据数目来确定发送给终端的数据ID的数目,可以避免一次性输出太多的数据ID给终端,节省服务器和终端的资源。
实施例三
基于前述的实施例,本发明实施例提供了一种数据传输方法,应用于终端一侧,如图7所示,本实施例方法的处理流程包括以下步骤:
步骤701、在获取用户输入的第一操作时,向服务器发送第一ID请求消息。
这里,如图4所示,用户点击登录终端上的应用程序(Application,APP)如微博等社交应用,进入好友动态界面。此时有两种情况:一种情况是用户第一次登录该APP,在这种情况下第一操作即为用户点击进入好友动态界面的操作;另一种情况是用户曾经登录过该好友动态界面,在这种情况下如图4中所示,该APP中缓存有用户上次浏览时的好友动态界面,用户进入好友动态界面后的刷新操作为用户输入的第一操作。当终端获取用户输入的第一操作后,终端就会向服务器发送第一ID请求消息请求加载本用户好友的最新动态数据的数据ID。
步骤702、接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID。
这里,服务器在得出该用户在请求获取该用户好友的最新动态数据的数据ID后,会按照预设规则,获取所述第一ID请求消息请求的排序后的第一部分数据;所述预设规则可以是按照时间先后顺序获取最新的预设数目的数据,即承接上述示例,假设预设数目为500条,则服务器可以按照时间顺序获取该用户好友的动态数据中的最新的前500条动态数据。服务器查询获得按照时间先后顺序排序后的500条数据后,就会把这500条数据对应的500个数据ID发送给终端,其中这500个数据ID是按照其对应的数据的顺序来排序后发送给终端的。
步骤703、记录所述排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID。
这里,终端接收到所述排序后的第一部分数据ID后,记录所述排序后的第一部分数据ID,示例地,终端会为该APP下用户好友圈的数据ID建立一个表。终端在接收到服务器返回的第一部分数据ID的时候,将第一部分数据ID按照排序一条条的存入该表中,记录到该APP的本地数据库(例如sqllite)中。在记录时可以按照第一部分数据ID的排序进行记录,即列表中也按照时间顺序来记录第一部分数据ID,其对应时间离当前时间越近的在列表的越前面,终端记录排序后的第一部分数据ID后,需要获取第一页数据展示给用户,终端中预设有该APP显示的每页数据的数目N,终端先获取列表中的前N个数据ID,即获取所述排序后的第一部分数据ID中的前N个数据ID。
步骤704、将所述前N个数据ID发送给服务器,并接收所述服务器返回的所述前N个数据ID对应的数据。
这里,服务器只需要接收所述前N个数据ID,查询所述前N个数据ID对应的数据,然后将所述前N个数据ID对应的数据返回给终端即可,服务器不用管用户是不是僵尸用户,也不用关心用户当前的查看状态。
步骤705、显示接收到的数据,记录显示的最后一个数据的数据ID。
这里,终端接收到服务器反馈的数据后,会在该APP的好友动态界面上为用户显示接收到的数据,这样用户就可以浏览本用户好友的动态数据;终端记录显示的最后一个数据的数据ID,以便进行实现后续的翻页操作。
以下为用户的翻页流程:在获取用户输入的第二操作时,根据记录的所述排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID之后的M个数据ID;将所述M个数据ID发送给服务器,并接收所述服务器返回的所述M个数据ID对应的数据;终端显示接收到的数据,记录显示的最后一个数据的数据ID。
或者,终端在所述显示的最后一个数据的数据ID为所述第一部分数据ID的最后一个数据ID的情况下,在获取所述第二操作时,向服务器发送第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;接收所述服务器返回的排序在所述第一部分数据ID的最后一个数据ID之后的第二部分数据ID;记录所述排序后的第二部分数据ID,获取所述排序后的第二部分数据ID中的前N个数据ID;将这前N个数据ID发送给服务器,并接收所述服务器返回的这前N个数据ID对应的数据;显示所述接收到的数据;记录显示的最后一个数据的数据ID。用户查看这N条数据后进行翻页操作,终端通过向服务器发送下一页的数据ID,获取服务器返回该页数据ID对应的数据供终端显示。
本发明实施例,将分页逻辑转嫁给终端上,让终端来分页,在用户刷新或者翻页到APP中显示的数据底部时,终端会传递last_read_post_id(就是所述显示器上显示的最后一个数据的数据ID)到服务器,服务器将会根据last_read_post_id查询一定数目的数据ID传递给终端;而后,终端只需要传递每次分页的数据ID(分页就是比如你浏览一个app,数据量较大,你要一直向翻页获取更多;每一页包含的就是用户要看的内容,如果是新闻类应用就是包含新闻,微博类应用就是包含微博;分页的条数,用户在每次向下加载更多的时候会输出多少条,本实施例中20条为一页。)给服务器,服务器获取每次分页的数据ID对应的数据,完成数据封装再传递给终端显示即可,服务器不需要去记录该用户查看分页的状态,不需要关注分页逻辑,降低了服务器资源的浪费。另外,服务器通过分析用户行为,统计用户每次查看的数据数目,采用80/20原则,按输出80%用户都会查看到数据数目,可以避免一次性输出太多的数据ID给终端,节省服务器和终端的资源。
实施例四
基于前述的实施例,本发明实施例提供了一种数据传输方法,应用于服务器一侧,如图8所示,本实施例方法的处理流程包括以下步骤:
步骤801、接收终端发送的第一ID请求消息。
这里,终端在检测到用户请求获取用户好友的最新动态数据时,会向所述服务器发送第一ID请求消息,所述第一ID请求消息中携带有一个标识,该标识用于表明该第一ID请求消息是请求获取本用户好友的最新动态数据的消息,示例地,所述第一ID请求消息中携带有预设值如last_read_post_id=0。
步骤802、按照预设规则,获取所述第一ID请求消息请求的排序后的第一部分数据,确定排序后的第一部分数据对应的排序后的第一部分数据ID。
这里,服务器在得出该用户在请求获取该用户好友的最新动态数据的数据ID后,会按照预设规则,获取所述第一ID请求消息请求的排序后的第一部分数据;所述预设规则可以是按照时间先后顺序获取最新的预设数目的数据,即承接上述示例,假设预设数目为500条,则第二处理器602可以按照时间顺序获取该用户好友的动态数据中的最新的前500条动态数据。
这里,预设数目是服务器分析所有用户的查看行为,根据大部分用户(如80%用户)习惯查看的数据数目确定的。
这里,服务器查询获得按照时间先后顺序排序后的500条数据后,确定这500条数据对应的500个数据ID,这500个数据ID是按照其对应的数据的顺序来排序的。
步骤803、将所述排序后的第一部分数据ID发送给所述终端。
步骤804、接收所述终端发送的所述排序后的第一部分数据ID中的N个数据ID。
步骤805、将所述N个数据ID对应的数据返回给终端。
这里,终端接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID;会记录所述排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID;然后将所述前N个数据ID发送给服务器。服务器接收所述终端发送的所述排序后的第一部分数据ID中的N个数据ID,只需要将在数据库中查询到N个数据ID对应的数据,然后将N个数据ID对应的数据返回给终端。
这里,服务器只需要根据接收数据ID向终端返回这些数据ID对应的数据即可,不需要记录用户是不是僵尸用户,也不用实时记录用户当前的查看状态。
这里,服务器还会接收到终端发送的第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID。此时服务器会按照预设规则,获取排序在所述第一部分数据之后的第二部分数据,将排序后的第二部分数据对应的排序后的第二部分数据ID发送给终端。
这里,承接上述示例,服务器在接收到终端发送的第二ID请求消息时,会按照时间的先后顺序,获取排序在所述第一部分数据之后的第二部分数据,然后将排序后的第二部分数据对应的排序后的第二部分数据ID发送给客户端。
本发明实施例中,服务器将会根据第一ID请求消息或第二ID请求消息查询一定数目的数据ID传递给终端;服务器只需要根据终端发送的每次分页的数据ID获取每次分页的数据ID对应的数据,完成数据封装再传递给终端显示即可,服务器不需要去记录该用户查看分页的状态,不需要关注分页逻辑,降低了服务器资源的浪费。另外,服务器通过分析用户行为,统计用户每次查看的数据数目,采用80/20原则,按80%用户都会查看到数据数目来确定发送给终端的数据ID的数目,可以避免一次性输出太多的数据ID给终端,节省服务器和终端的资源。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (8)
1.一种终端,其特征在于,包括:
输入器件,用于获取用户输入的第一操作;
第一外部通信接口,用于在所述输入器件获取所述第一操作时,向服务器发送第一ID请求消息,并接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID;
第一处理器,用于记录所述第一外部通信接口接收到的排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID;
所述第一外部通信接口,还用于将所述前N个数据ID发送给服务器,并接收所述服务器返回的所述前N个数据ID对应的数据;
显示器,用于显示所述第一外部通信接口接收到的数据;
第一处理器,还用于记录所述显示器上显示的最后一个数据的数据ID;
所述输入器件,还用于获取用户输入的第二操作;
所述第一处理器,还用于在所述输入器件获取所述第二操作时,根据记录的所述排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID之后的M个数据ID;
所述第一外部通信接口,还用于将所述M个数据ID发送给服务器,并接收所述服务器返回的所述M个数据ID对应的数据。
2.根据权利要求1所述的终端,其特征在于,
所述第一外部通信接口,还用于在所述显示的最后一个数据的数据ID为所述第一部分数据ID的最后一个数据ID的情况下,在所述输入器件获取所述第二操作时,向服务器发送第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;接收所述服务器返回的排序在所述第一部分数据ID的最后一个数据ID之后的第二部分数据ID。
3.一种服务器,其特征在于,所述服务器包括:
第二外部通信接口,用于接收终端发送的第一ID请求消息;
第二处理器,用于按照预设规则,获取所述第二外部通信接口接收到的所述第一ID请求消息请求的排序后的第一部分数据,确定排序后的第一部分数据对应的排序后的第一部分数据ID;
所述第二外部通信接口,还用于将所述第二处理器确定的所述排序后的第一部分数据ID发送给所述终端,接收所述终端发送的所述排序后的第一部分数据ID中的N个数据ID,将所述N个数据ID对应的数据返回给终端;
所述服务器用于接收终端发送的显示最后一个数据的数据ID之后的M个数据的ID,并将所述M个数据的ID对应的数据发送给所述终端;
其中,所述M个数据的ID为所述终端记录显示的最后一个数据的数据ID之后的M个数据的ID。
4.根据权利要求3所述的服务器,其特征在于,
第二外部通信接口,还用于接收终端发送的第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;
所述第二处理器,还用于按照预设规则,获取排序在所述第一部分数据之后的第二部分数据,将排序后的第二部分数据对应的排序后的第二部分数据ID发送给终端。
5.一种数据传输方法,其特征在于,所述方法包括:
在获取用户输入的第一操作时,向服务器发送第一ID请求消息,并接收所述服务器返回的所述第一ID请求消息请求的排序后的第一部分数据ID;
记录所述排序后的第一部分数据ID,获取所述排序后的第一部分数据ID中的前N个数据ID;
将所述前N个数据ID发送给服务器,并接收所述服务器返回的所述前N个数据ID对应的数据;
显示第一外部通信接口接收到的数据;
记录显示的最后一个数据的数据ID;
在获取用户输入的第二操作时,根据记录的所述排序后的第一部分数据ID,获取所述显示的最后一个数据的数据ID之后的M个数据ID;
将所述M个数据ID发送给服务器,并接收所述服务器返回的所述M个数据ID对应的数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述显示的最后一个数据的数据ID为所述第一部分数据ID的最后一个数据ID的情况下,在获取所述第二操作时,向服务器发送第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;接收所述服务器返回的排序在所述第一部分数据ID的最后一个数据ID之后的第二部分数据ID。
7.一种数据传输方法,其特征在于,所述方法包括:
接收终端发送的第一ID请求消息;
按照预设规则,获取所述第一ID请求消息请求的排序后的第一部分数据,确定排序后的第一部分数据对应的排序后的第一部分数据ID;
将所述排序后的第一部分数据ID发送给所述终端;
接收所述终端发送的所述排序后的第一部分数据ID中的N个数据ID;
将所述N个数据ID对应的数据返回给终端;
接收终端发送的M个数据ID,并将所述M个数据ID对应的数据发送给所述终端;
其中,所述M个数据的ID为所述终端记录显示的最后一个数据的数据ID之后的M个数据的ID。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收终端发送的第二ID请求消息,所述第二ID请求消息中携带有所述第一部分数据ID的最后一个数据ID;
按照预设规则,获取排序在所述第一部分数据之后的第二部分数据,将排序后的第二部分数据对应的排序后的第二部分数据ID发送给终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610246977.0A CN105827721B (zh) | 2016-04-20 | 2016-04-20 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610246977.0A CN105827721B (zh) | 2016-04-20 | 2016-04-20 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105827721A CN105827721A (zh) | 2016-08-03 |
CN105827721B true CN105827721B (zh) | 2019-06-21 |
Family
ID=56527214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610246977.0A Active CN105827721B (zh) | 2016-04-20 | 2016-04-20 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105827721B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653681B (zh) * | 2020-12-15 | 2023-02-10 | 中国建设银行股份有限公司 | 多特征融合的用户登录准入方法、装置和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0375141A2 (en) * | 1988-12-19 | 1990-06-27 | International Business Machines Corporation | Remote display control |
CN1873641A (zh) * | 2005-06-02 | 2006-12-06 | 富士施乐株式会社 | 数据管理系统、数据服务器和数据管理方法 |
CN102419756A (zh) * | 2010-09-28 | 2012-04-18 | 腾讯科技(深圳)有限公司 | 一种分布式数据翻页方法和系统 |
CN102968322A (zh) * | 2012-11-22 | 2013-03-13 | 用友软件股份有限公司 | 数据加载装置和数据加载方法 |
CN103677554A (zh) * | 2012-09-17 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种顺畅滑屏方法及装置 |
CN104967653A (zh) * | 2015-03-23 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 数据同步拉取、下发方法和装置 |
-
2016
- 2016-04-20 CN CN201610246977.0A patent/CN105827721B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0375141A2 (en) * | 1988-12-19 | 1990-06-27 | International Business Machines Corporation | Remote display control |
CN1873641A (zh) * | 2005-06-02 | 2006-12-06 | 富士施乐株式会社 | 数据管理系统、数据服务器和数据管理方法 |
CN102419756A (zh) * | 2010-09-28 | 2012-04-18 | 腾讯科技(深圳)有限公司 | 一种分布式数据翻页方法和系统 |
CN103677554A (zh) * | 2012-09-17 | 2014-03-26 | 腾讯科技(深圳)有限公司 | 一种顺畅滑屏方法及装置 |
CN102968322A (zh) * | 2012-11-22 | 2013-03-13 | 用友软件股份有限公司 | 数据加载装置和数据加载方法 |
CN104967653A (zh) * | 2015-03-23 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 数据同步拉取、下发方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105827721A (zh) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105282245B (zh) | 跨服务器消息推送系统及方法 | |
CN105306457B (zh) | 数据缓存装置及方法 | |
CN106941443A (zh) | 一种群历史记录查看终端和方法 | |
CN105718568B (zh) | 一种多应用统一交互的装置和方法 | |
CN105100269A (zh) | 一种移动终端及基于不同用户的内容推荐方法 | |
CN104881219B (zh) | 一种移动终端及其边框辅助输入方法和装置 | |
CN105554710B (zh) | 消息显示方法和装置 | |
CN107066290A (zh) | 一种根据关联策略启动应用的方法和装置 | |
CN105204992A (zh) | 测试脚本生成装置及方法 | |
CN106598538A (zh) | 指令集合更新方法及系统 | |
CN106657579A (zh) | 内容分享方法、装置及终端 | |
CN107426282A (zh) | 一种图片加载方法、终端及服务器 | |
CN105260096B (zh) | 一种控制用户操作的方法及移动终端 | |
CN106332028A (zh) | 一种识别欺诈短信的方法及装置 | |
CN106911486B (zh) | 一种消息推送处理方法、装置及系统 | |
CN105049916A (zh) | 一种视频录制方法及装置 | |
CN105744508B (zh) | 游戏数据备份方法及移动终端 | |
CN105357188B (zh) | 一种实现wifi连接的方法、服务器和移动终端 | |
CN105118517B (zh) | 一种调整音乐节奏的装置和方法 | |
CN105391864B (zh) | 基于压力控制移动终端振动的装置和方法 | |
CN107220109A (zh) | 一种界面显示的方法和设备 | |
CN106487976A (zh) | 移动终端拨号装置和方法 | |
CN104732218B (zh) | 图像显示的方法及装置 | |
CN107071161A (zh) | 一种状态栏中图标的聚合显示方法和移动终端 | |
CN105827721B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |