一种数据访问方法、系统及客户端和服务器的制造方法

文档序号:10578155阅读:186来源:国知局
一种数据访问方法、系统及客户端和服务器的制造方法
【专利摘要】本发明涉及通信技术领域,公开了一种数据访问方法、系统及客户端和服务器。本发明中公开了一种数据访问方法,包括:客户端定期地向服务器端请求更新的接口列表;其中,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址;客户端在需要通过接口访问数据时,根据该接口的标识在接口列表中查找相应的数据访问地址,并根据查找到的数据访问地址,访问数据。本发明中还公开了一种数据访问方法、一种客户端、一种服务器以及一种数据访问系统。本发明实施方式实现了在不改变当前程序版本信息情况下,成功获取当前程序最新版本中的最新数据信息,极大地提高了用户操作体验,简化了客户端获取最新数据方式的复杂度。
【专利说明】
一种数据访问方法、系统及客户端和服务器
技术领域
[0001 ]本发明涉及通信技术领域,特别涉及一种数据访问技术。
【背景技术】
[0002]如今的信息社会,计算机被广泛使用,已经进入千家万户,人们所处的客户端,更是频繁的与计算机进行交流,因此,信息交互已经在交互技术中起到了举足轻重的地位。为了达到更好的交互,人们已经经历了很久的探究,人机交互技术也在不断的成熟,交互设备、工作方式、实现方法等也得到了不断的完善,一个好的用户接口系统,更是可以给用户带来许多方便,大大提高交互的效率。
[0003]当前的交互式用户接口可以通过数据表格驱动的方法来实现,它是预先设计好控制程序,在用户所处的客户端,需要时提出来使用,这些预先设计好的控制程序就可以组成一个集合,在需要使用之时将其调动出来,而对于移动端的开发,可以基于应用程序编程接口(Applicat1n Programming Interface,简称“API”)开发。当前用户的数据获取,都是根据移动电子设备当前版本上的信息进行获取,如果用户想获取更新后的数据,就需要重新下载并安装新的应用软件版本,从而基于新的应用软件版本获取更新后的数据,这就会大大降低用户的操作便捷度,增加了应用软件版本更新后数据获取方式的复杂度。

【发明内容】

[0004]本发明实施例的目的在于提供一种数据访问方法、系统及客户端和服务器,使得在不改变当前程序版本信息情况下,获取当前程序最新版本中的数据信息,简化了客户端应用程序中最新数据获取方式的复杂度,提高了用户操作体验。
[0005]为解决上述技术问题,本发明的实施方式提供了一种数据访问方法,包含以下步骤:
[0006]客户端定期地向服务器端请求更新的接口列表;其中,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址;
[0007]客户端在需要通过接口访问数据时,根据该接口的标识在接口列表中查找相应的数据访问地址,并根据查找到的数据访问地址,访问数据。
[0008]本发明的实施方式还提供了一种数据访问方法,包含:
[0009]服务器端预先保存有接口列表,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址;
[0010]当服务器端保存的接口列表需要更新时,更新该接口列表;
[0011]当服务器端接收到来自客户端的接口列表的更新请求时,根据该更新请求检测是否存在需更新的接口列表,如果存在,则向该客户端返回更新的接口列表,供客户端通过该更新的接口列表访问数据。
[0012]本发明的实施方式还提供了一种客户端,包括:
[0013]请求模块,用于定期地向服务器端请求更新的接口列表;其中,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址;
[0014]查询模块,用于在需要通过接口访问数据时,根据该接口的标识在接口列表中查找相应的数据访问地址;
[0015]访问模块,用于根据查询模块查找到的数据访问地址,访问数据。
[0016]本发明的实施方式还提供了一种服务器,包括:
[0017]存储模块,用于保存接口列表,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址;
[0018]更新模块,用于在保存的接口列表需要更新时,更新该接口列表;
[0019]检测模块,用于在接收到来自客户端的接口列表的更新请求时,根据该更新请求检测是否存在需更新的接口列表;
[0020]响应模块,用于在检测模块判定存在需更新的接口列表时,向客户端返回更新的接口列表,供客户端通过该更新的接口列表访问数据。
[0021 ]本发明的实施方式还提供了一种数据访问系统,包括:
[0022]包含有请求模块、查询模块和访问模块的客户端,和包含有存储模块、更新模块、检测模块和响应模块的服务器。
[0023]本发明实施方式相对于现有技术而言,客户端定期向服务器请求更新接口列表,接口列表中保存各接口的唯一标示和与各接口对应的数据访问地址,将请求到的当前最新接口列表保存在本地客户端,客户端在需要通过接口访问最新数据时,不用请求服务器端获取更新的程序版本,只需在已保存到本地客户端中的最新接口列表中,根据接口的标识,查找该标识对应的数据访问地址,根据该数据访问地址,直接访问最新的数据,无需通过服务器下载最新版本的程序,并在最新版本的程序上获取最新数据,简化了客户端获取最新数据的操作步骤复杂度,提高了用户操作体验。
[0024]另外,在根据该接口的标识在接口列表中查找相应的数据访问地址中,具体包括:在最近获取的更新的接口列表中,查找与接口的标识相对应的数据访问地址;如果未能成功查找到相对应的数据访问地址,则在客户端发版时保存的接口列表中,查找与接口的标识相对应的数据访问地址。如果客户端在更新的接口列表中查找到对应的数据访问地址,则可获取最新的数据的访问地址,若没有在更新的接口列表中查找到对应的数据访问地址,则在客户端已保存的接口列表中,查找接口标识对应的数据访问地址,保证无论在什么情况下,客户端都能获取到相应的数据访问地址,确保数据访问操作可以顺利进行。
[0025]另外,客户端定期地向服务器端请求更新的接口列表中,具体包括:客户端定期地向服务器端发送接口列表更新消息,接口列表更新消息中携带有客户端当前保存的接口列表的版本号;客户端接收来自服务器端的对接口列表更新消息的响应,如果响应中携带有更新的接口列表和版本号,则保存更新的接口列表,并将本地保存的接口列表的版本号更新为该响应中携带的版本号。服务器端解析客户端当前版本号并进行版本信息的对比,发送相应的客户端响应消息,通过在接口列表更新消息中携带客户端当前保存的接口列表的版本,并在更新接口列表时更新该接口列表的版本号,使得服务器可利用版本号的对比,即可检测出当前保存在客户端的接口列表是否为最新的接口列表,简化了服务器端的操作,保证了本发明实施方式的可行性。
[0026]另外,在客户端每向服务器端发送N次接口列表更新消息后,根据N次收到的对接口列表更新消息的响应,调整接口列表更新消息的发送周期;N为大于I的自然数;其中,如果携带有更新的接口列表和版本号的响应,在N次响应中的比例,大于预设值,则减小发送周期。如果携带有更新的接口列表和版本号的响应,在N次响应中的比例,大于预设值,说明服务器端更新列表信息和版本号的频率,相对客户端发送接口列表更新请求的频率较快,因此,需要更加频繁的发送请求消息,以便及时获取到服务器端最新的列表信息和版本号。
[0027]另外,接口列表为应用程序编程接口API列表。应用程序编程接口API可以提供基于某软件或硬件得以访问一组函数或服务的能力,并且不需要访问源码或是了解内部工作机制,使得该数据访问方法的数据访问过程简单,并且可移植性较强。
【附图说明】
[0028]图1是根据本发明第一实施方式中客户端获取更新的接口列表的交互流程图;
[0029]图2是根据本发明第一实施方式的一种数据访问方法的流程图;
[0030]图3是根据本发明第三实施方式的一种数据访问系统的结构示意图;
[0031 ]图4是根据本发明第四实施方式的一种客户端的结构示意图。
【具体实施方式】
[0032]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
[0033]本发明的第一实施方式涉及一种数据访问方法。在本实施方式中,在客户端与服务器端内,预先保存有接口列表和版本信息,客户端会向服务器端请求更新接口列表,并进行客户端接口列表的更新,具体交互流程如图1所示。
[0034]步骤101中,客户端保存接口列表和版本号。具体地说,客户端保存有发版时的接口列表和相应的版本号。接口列表中可以保存多个API,每个接口设有唯一的标识(key)和该标识对应的数据访问地址(value值),例如,一个请求消息的接口 API,客户端和服务器端为该请求消息的接口设定一个标识key,key值的内容可以为信息(me s sage ),在接口列表中查找相同的key值,如果找到了相同的key,则获取接口列表中key对应的value,value值是数据访问的一个地址,通过该value值,可以进行数据访问。
[0035]步骤102中,服务器端保存接口列表和版本号。具体地说,服务器端预先保存一个接口列表,该接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址,当服务器端保存的接口列表需要更新时,更新该接口列表。并且服务器端预先保存一个版本号(此版本号与客户端中预先保存的接口列表的版本号相同),在服务器端更新接口列表时,同时更新接口列表的版本号。服务器端预先保存的接口列表是发版时的接口列表,并且预先保存的版本号也是发版时的版本号,在有新的接口列表发布时,服务器中已保存的接口列表会被更新,并且版本号也会同步更新,比如,版本号会被加一,作为更新后的版本号。
[0036]需要说明的是,步骤101与步骤102没有执行上的先后顺序,可以首先执行步骤102,再执行步骤101,反之亦可。
[0037]在步骤103中,客户端向服务器端发送请求更新接口列表消息。具体地说,客户端定期地向服务器端请求更新的接口列表。其中,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址,并且客户端向服务器端发送的请求更新列表消息中携带有客户端已存的最新接口列表所对应的版本号。本实施例中,客户端向服务器端发送的请求更新接口列表消息是定期发送的,即周期发送该请求消息,周期时长是预先设好的,每经过了预先设好的时长,客户端就会向服务器端发送带有版本号的请求更新消息,其中,周期时长可以由用户录入,用户可以自由的改变该周期时长的长短。
[0038]步骤104中,服务器端获取更新请求中的版本号。具体地说,客户端发送的请求更新消息中,携带有客户端现存的接口列表的版本号,服务器端要在接收到的客户端请求消息中解析出该版本号。
[0039]步骤105中,服务器端对比版本号信息。具体地说,服务器端获取携带在更新请求中的接口列表的版本号后;将获取的该版本号与服务器中已存的最新接口列表的版本号进行比较,由于服务器端会预存发版的接口列表版本号,每当有新的接口列表版本更新时,已存的接口列表版本号都会加一,因此,通过对比版本号的值,服务器端就可以判断客户端现存的接口列表是否为与服务器端一致的最近版本的接口列表。如果获取的版本号,与服务器端内当前保存的版本号不一致,则判定存在需更新的接口列表。如果获取的版本号,与服务器端内当前保存的版本号一致,则说明不需要更新接口列表。由此可见,只需通过版本号是否一致的判断,就可以准确判断客户端的接口列表是否需要更新。
[0040]步骤106中,服务器端向客户端发送客户端请求的响应消息。具体地说,如果在步骤105中,判定客户端不需要更新接口列表,则服务器端向客户端发送的响应消息中不包含任何的接口列表以及版本号信息。如果判定结果为客户端需要更新接口列表,则服务器端向客户端发送的响应消息中,携带服务器端最近一次更新的接口列表和该接口列表的版本号。
[0041]步骤107中,客户端更新接口列表和版本号。具体地说,客户端接收来自服务器端的对接口列表更新消息的响应,如果响应中携带有更新的接口列表和版本号,则保存更新的接口列表,并将本地保存的接口列表的版本号更新为该响应中携带的版本号。
[0042]由此可见,通过如图1所示的流程,客户端可以定期地向服务器端请求更新的接口列表。本实施方式中的数据访问方法,也是基于该接口列表中的各接口,实现数据的访问,具体流程如图2所示。
[0043]在步骤201中,客户端检测是否需要通过接口访问数据,也就是说,如果客户端触发了需通过接口访问数据的操作,则进入步骤202中,否则,重复执行本步骤。
[0044]需要说明的是,本实施方式中的接口可以为应用程序编程接口API,通过应用程序编程接口 API,可以在不了解所要调用的程序内部详细结构的基础上,直接通过应用程序编程接口 API访问数据,实现起来更加方便。如果客户端不需要通过接口访问数据,重复进入步骤201中,等待触发命令,如果检测到用户的触发操作,则进入步骤202中,执行下一步操作。
[0045]步骤202中,客户端判断是否在最新的接口列表中查找到数据访问地址。具体的说,在客户端需要通过接口访问数据时,可以首先判断在最新的接口列表中是否可以查找到接口的key,如果查找到接口的key,则说明在最新列表中查找到了数据访问地址,贝Ij进入步骤203中,执行下一步操作,如果没有找到接口的key,则进入步骤204中,执行下一步操作。
[0046]步骤203中,客户端根据在最新的接口列表中获取的数据访问地址,进行数据访问。具体地说,客户端在需要通过接口访问数据时,如果客户端在最新的接口列表中查找到数据访问地址,则根据查找到的数据访问地址,访问数据。
[0047]步骤204中,客户端在发版时保存的接口列表中获取数据访问地址,进行数据访问。具体地说,如果客户端未能在最新列表中成功查找到相对应的数据访问地址,则在客户端发版时保存的接口列表中,查找与接口的标识相对应的数据访问地址,进行数据访问。在有些特殊的情况下,例如客户端所处的网络状态不稳定,或者客户端与服务器的交互存在问题的时候,客户端获取不到最新列表中的数据访问地址,此时,客户端可以通过已存的发版时的接口列表获取数据访问地址,确保数据访问操作可以顺利进行。
[0048]下面以手机中的应用程序数据获取方法为例,对本实施方式进行说明。手机需通过请求消息的接口访问天气数据,该请求消息接口的标志为key,如果在手机最近获取的更新的接口列表中,查找到该key值对应的数据访问地址,则手机相应的程序可通过该key值对应的数据访问地址,获取到最新的天气数据。如果在网络条件不好,或者手机在请求服务器的最近的最新接口列表更新出现问题时,也可以在保存的发版时的接口列表中查找对应的数据访问地址,并通过该数据访问地址,获取到相应的数据。
[0049]本实施方式相对于现有技术而言,主要区别及效果在于:客户端在需要通过接口访问最新数据时,不用请求服务器端获取更新的程序版本,只需在已保存到本地客户端中的最新接口列表中,根据接口的标识,查找该标识对应的数据访问地址,根据该数据访问地址,直接访问最新的数据,无需通过服务器下载最新版本的程序,并在最新版本的程序上获取最新数据,简化了客户端获取最新数据的操作步骤复杂度,提高了用户操作体验。
[0050]本发明的第二实施方式涉及一种数据访问方法。第二实施方式是在第一实施方式的基础上做了进一步改进,主要改进之处在于:客户端根据接收到的接口列表更新消息的响应,调整接口列表更新消息的发送周期。
[0051]具体地说,在客户端每向服务器端发送N次接口列表更新消息后,根据N次收到的对接口列表更新消息的响应,调整接口列表更新消息的发送周期;N为大于I的自然数。其中,如果携带有更新的接口列表和版本号的响应,在N次响应中的比例,大于预设值,则减小发送周期。
[0052]本实施方式中的预设值可以由用户录入。如果携带有更新的接口列表和版本号的响应,在N次响应中的比例,大于预设值,则说明服务器端的接口列表更新的比较频繁,因此,客户端可以减小发送请求消息的周期,以更高的频率发送请求更新消息,以便及时获取服务器端的最近的最新版本的接口列表。
[0053]例如,客户端在向服务器端发送了 20次请求更新消息后,检测到服务器端返回的响应中包含有更新的接口列表和版本号的次数为15次,则说明携带有更新的接口列表和版本号的响应,在响应中的比例为0.75。如果用户录入的预设值为0.5,则此时需要缩短发送周期,以便及时获取到服务器端最新的列表信息和版本号。
[0054]上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0055]本发明第三实施方式涉及一种数据访问系统,如图3所示,包含客户端31和服务器32ο
[0056]其中,客户端31具体包括:
[0057]请求模块311,用于定期地向服务器32端请求更新的接口列表;其中,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址。
[0058]查询模块312,用于在需要通过接口访问数据时,根据该接口的标识在接口列表中查找相应的数据访问地址。
[0059]访问模块313,用于根据查询模块312查找到的数据访问地址,访问数据。
[0060]该数据访问系统中,服务器32具体包括:
[0061 ]存储模块321,用于保存接口列表,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址。
[0062]更新模块322,用于在保存的接口列表需要更新时,更新该接口列表。
[0063]检测模块323,用于在接收到来自客户端31的接口列表的更新请求时,根据该更新请求检测是否存在需更新的接口列表。
[0064]响应模块324,用于在检测模块323判定存在需更新的接口列表时,向客户端31返回更新的接口列表,供客户端31通过该更新的接口列表访问数据。
[0065]不难发现,本实施方式为与第一实施方式相对应的系统实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
[0066]值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单
J L ο
[0067]本发明第四实施方式涉及一种客户端装置。如手机,如图4所示,本实施方式的客户端装置4包括:发送器40、处理器41和浏览器42。
[0068]其中,发送器40主要用于定期地向服务器端请求更新的接口列表;其中,接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址,从而实现客户端装置与服务器之间的数据交互。其中,处理器41为配置装置的核心,其可以为CPU(中央处理器)、DSP(Digital Signal Processor,数字信号处理器)等,其主要负责在需要通过接口访问数据时,根据该接口的标识在接口列表中查找相应的数据访问地址。其中,浏览器42主要用于根据处理器41查找到的数据访问地址,访问数据。
[0069]本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-0nlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0070]本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
【主权项】
1.一种数据访问方法,其特征在于,包括: 客户端定期地向服务器端请求更新的接口列表;其中,所述接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址; 所述客户端在需要通过接口访问数据时,根据该接口的标识在所述接口列表中查找相应的数据访问地址,并根据所述查找到的数据访问地址,访问数据。2.根据权利要求1所述的数据访问方法,其特征在于,在所述根据该接口的标识在所述接口列表中查找相应的数据访问地址中,具体包括: 在最近获取的更新的接口列表中,查找与所述接口的标识相对应的数据访问地址; 如果未能成功查找到相对应的数据访问地址,则在所述客户端发版时保存的接口列表中,查找与所述接口的标识相对应的数据访问地址。3.根据权利要求1所述的数据访问方法,其特征在于,所述客户端定期地向服务器端请求更新的接口列表中,具体包括: 所述客户端定期地向服务器端发送接口列表更新消息,所述接口列表更新消息中携带有所述客户端当前保存的接口列表的版本号; 所述客户端接收来自所述服务器端的对所述接口列表更新消息的响应,如果所述响应中携带有更新的接口列表和版本号,则保存所述更新的接口列表,并将本地保存的接口列表的版本号更新为该响应中携带的版本号。4.根据权利要求3所述的数据访问方法,其特征在于,还包括: 在所述客户端每向服务器端发送N次接口列表更新消息后,根据所述N次收到的对所述接口列表更新消息的响应,调整所述接口列表更新消息的发送周期;所述N为大于I的自然数; 其中,如果携带有更新的接口列表和版本号的响应,在所述N次响应中的比例,大于预设值,则减小所述发送周期。5.根据权利要求1至4中任一项所述的数据访问方法,其特征在于,所述接口列表为应用程序编程接口 API列表。6.一种数据访问方法,其特征在于,包括: 服务器端预先保存有接口列表,所述接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址; 当所述服务器端保存的接口列表需要更新时,更新该接口列表; 当所述服务器端接收到来自客户端的接口列表的更新请求时,根据该更新请求检测是否存在需更新的接口列表,如果存在,则向该客户端返回更新的接口列表,供所述客户端通过该更新的接口列表访问数据。7.根据权利要求6所述的数据访问方法,其特征在于,还包括: 所述服务器端在更新所述接口列表时,更新所述接口列表的版本号; 所述根据该更新请求检测是否存在需更新的接口列表,具体包括: 获取携带着所述更新请求中的接口列表的版本号; 如果所述获取的版本号,与所述服务器端内当前保存的版本号不一致,则判定存在需更新的接口列表; 在所述向该客户端返回更新的接口列表中,具体包括: 所述服务器端将最近一次更新的接口列表和该接口列表的版本号,携带在所述更新请求的响应中,返回给所述客户端。8.一种客户端,其特征在于,包括: 请求模块,用于定期地向服务器端请求更新的接口列表;其中,所述接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址; 查询模块,用于在需要通过接口访问数据时,根据该接口的标识在所述接口列表中查找相应的数据访问地址; 访问模块,用于根据所述查询模块查找到的数据访问地址,访问数据。9.一种服务器,其特征在于,包括: 存储模块,用于保存接口列表,所述接口列表中保存有各接口的唯一标识和与各接口对应的数据访问地址; 更新模块,用于在所述保存的接口列表需要更新时,更新该接口列表; 检测模块,用于在接收到来自客户端的接口列表的更新请求时,根据该更新请求检测是否存在需更新的接口列表; 响应模块,用于在所述检测模块判定存在需更新的接口列表时,向所述客户端返回更新的接口列表,供所述客户端通过该更新的接口列表访问数据。10.一种数据访问系统,其特征在于,包括: 如权利要求8所述的客户端,和如权利要求9所述的服务器。
【文档编号】H04L29/06GK105939355SQ201610413041
【公开日】2016年9月14日
【申请日】2016年6月13日
【发明人】李奇奇
【申请人】乐视控股(北京)有限公司, 乐视网信息技术(北京)股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1