发明内容
本发明的目的在于提供一种接口调用方法及系统,用以降低数据处理量较大的数据接口的调用时长。
为实现上述目的,本发明提供一种接口调用方法,所述接口调用方法包括:
统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表;
获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口;
预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据;以便于:接收到所述预调用接口的调用请求时,利用所述接口缓存数据调用所述预调用接口。
优选地,所述统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表,包括:
统计所有用户接口在一个历史周期时长内被调用的总次数,以及每次被调用时分别对应的单次处理时长;
根据统计的所述总次数和单次处理时长,计算每个用户接口在所述历史周期时长内对应的平均处理时长;
基于计算得到所述平均处理时长,获取所述平均处理时长大于预设处理时长的所有用户接口,得到对应的接口列表。
优选地,所述获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口,包括:
获取当前操作事件所对应的当前用户接口,提取所述当前用户接口分别对应的接口调用概率;
根据提取出的所述接口调用概率,查找所述接口列表,将位于所述接口列表中且接口调用概率最高的当前用户接口作为所述预调用接口。
优选地,所述当前操作事件所对应的当前用户接口包括:
当前操作页面所包含的所有用户接口,及/或当前可操作控件所对应的所有用户接口。
优选地,所述预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据,包括:
判断当前操作事件所必须的所有用户接口是否已全部调用完成;
若当前操作事件所必须的所有用户接口已全部调用完成,则预先调用所述预调用接口对应的接口数据,得到所述接口缓存数据;
判断预设缓存时长内,是否触发所述预调用接口对应的调用操作事件;
若所述预设缓存时长内,存在触发所述预调用接口对应的调用操作事件,则利用所述接口缓存数据调用所述预调用接口;
若所述预设缓存时长内,没有触发所述预调用接口对应的调用操作事件,则删除所述预调用接口的接口缓存数据。
为实现上述目的,本发明还提供了一种接口调用系统,所述接口调用系统包括:
统计模块,用于统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表;
预判模块,用于获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口;
缓存模块,用于预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据;以便于:接收到所述预调用接口的调用请求时,利用所述接口缓存数据调用所述预调用接口。
优选地,所述统计模块包括:
统计单元,用于统计所有用户接口在一个历史周期时长内被调用的总次数,以及每次被调用时分别对应的单次处理时长;
计算单元,用于根据统计的所述总次数和单次处理时长,计算每个用户接口在所述历史周期时长内对应的平均处理时长;
生成单元,用于基于计算得到所述平均处理时长,获取所述平均处理时长大于预设处理时长的所有用户接口,得到对应的接口列表。
优选地,所述预判模块包括:
提取单元,用于获取当前操作事件所对应的当前用户接口,提取所述当前用户接口分别对应的接口调用概率;
预判单元,用于根据提取出的所述接口调用概率,查找所述接口列表,将位于所述接口列表中且接口调用概率最高的当前用户接口作为所述预调用接口。
优选地,所述当前操作事件所对应的当前用户接口包括:
当前操作页面所包含的所有用户接口,及/或当前可操作控件所对应的所有用户接口。
优选地,所述缓存模块包括:
调用单元,用于:
判断当前操作事件所必须的所有用户接口是否已全部调用完成;
若当前操作事件所必须的所有用户接口已全部调用完成,则预先调用所述预调用接口对应的接口数据,得到所述接口缓存数据;
缓存单元,用于:
判断预设缓存时长内,是否触发所述预调用接口对应的调用操作事件;
若所述预设缓存时长内,存在触发所述预调用接口对应的调用操作事件,则利用所述接口缓存数据调用所述预调用接口;
若所述预设缓存时长内,没有触发所述预调用接口对应的调用操作事件,则删除所述预调用接口的接口缓存数据。
本发明的有益效果是:
通过统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表;获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口;预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据;以便于:接收到所述预调用接口的调用请求时,利用所述接口缓存数据调用所述预调用接口;具有降低数据处理量较大的数据接口的调用时长的有益效果,提高了数据接口的调用效率;对于客户端来讲,提高了客户端的用户体验。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
请参阅图1,图1是本发明接口调用系统100较佳实施例的运行环境示意图。
如图1所示,在本实施例中,接口调用系统100安装并运行于电子装置1中。电子装置1可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该电子装置1可包括,但不仅限于,存储器11、处理器12及显示器13。图1仅示出了具有组件11-13的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
存储器11在一些实施例中可以是电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11用于存储安装于电子装置1的应用软件及各类数据,例如接口调用系统100的程序代码等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行接口调用系统100等。
显示器13在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器13用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面,例如用户操作界面等。电子装置1的部件11-13通过系统总线相互通信。
请参阅图2,是本发明接口调用系统100较佳实施例的功能模块图。在本实施例中,接口调用系统100可以被分割成一个或多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明。
例如,在图2中,接口调用系统100可以被分割成统计模块110、预判模块120以及缓存模块130。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述接口调用系统100在电子装置1中的执行过程;如图2所示,本发明接口调用系统100中:
所述统计模块110,用于统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表;
所述预判模块120,用于获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口;
所述缓存模块130,用于预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据;以便于:接收到所述预调用接口的调用请求时,利用所述接口缓存数据调用所述预调用接口。
在本发明一优选的实例中,如图3所示,本发明接口调用系统100中,所述统计模块110包括:
统计单元111,用于统计所有用户接口在一个历史周期时长内被调用的总次数,以及每次被调用时分别对应的单次处理时长;
计算单元112,用于根据统计的所述总次数和单次处理时长,计算每个用户接口在所述历史周期时长内对应的平均处理时长;
生成单元113,用于基于计算得到所述平均处理时长,获取所述平均处理时长大于预设处理时长的所有用户接口,得到对应的接口列表。
在本发明一优选的实例中,如图4所示,本发明接口调用系统100中,所述预判模块120包括:
提取单元121,用于获取当前操作事件所对应的当前用户接口,提取所述当前用户接口分别对应的接口调用概率;
预判单元122,用于根据提取出的所述接口调用概率,查找所述接口列表,将位于所述接口列表中且接口调用概率最高的当前用户接口作为所述预调用接口。
在本发明一优选的实施例中,所述当前操作事件所对应的当前用户接口包括:
当前操作页面所包含的所有用户接口,及/或当前可操作控件所对应的所有用户接口。
在本发明一优选的实例中,如图5所示,本发明接口调用系统100中,所述缓存模块130包括:
调用单元131,用于:
判断当前操作事件所必须的所有用户接口是否已全部调用完成;
若当前操作事件所必须的所有用户接口已全部调用完成,则预先调用所述预调用接口对应的接口数据,得到所述接口缓存数据;
缓存单元132,用于:
判断预设缓存时长内,是否触发所述预调用接口对应的调用操作事件;
若所述预设缓存时长内,存在触发所述预调用接口对应的调用操作事件,则利用所述接口缓存数据调用所述预调用接口;
若所述预设缓存时长内,没有触发所述预调用接口对应的调用操作事件,则删除所述预调用接口的接口缓存数据。
与现有技术相比,本发明实施例接口调用系统通过统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表;获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口;预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据;以便于:接收到所述预调用接口的调用请求时,利用所述接口缓存数据调用所述预调用接口;达到了节约接口调用时长的有益效果,降低了数据处理量大的数据接口的调用时长,提高了接口调用效率。
本发明提供了一种接口调用方法,用以降低数据处理量较大的数据接口的调用时长。请参照图6,图6为本发明接口调用方法的一种实施方式的流程示意图,如图6所示,所述接口调用方法可以实施为如下描述的步骤S10-S30:
步骤S10、统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表;
本发明实施例中,系统获取自身具备的所有用户接口,或者说,系统获取自身具备调用权限的所有用户接口,并动态统计上述所有用户接口所分别对应的接口处理时长。本发明实施例中所描述的接口处理时长,可以理解为,系统接收到用户接口调用请求时,通过进行一系列的数据处理来调用该用户接口对应的接口数据,所需要的接口处理时长。
由于不同用户接口对应的接口数据量不同,且同一用户接口在不同应用场景下其对应的接口数据量也不相同,因此,系统需要动态获取上述所有用户接口所分别对应的接口处理时长,并将获取的所有用户接口对应的接口处理时长与预设处理时长进行比较,挑选出其接口处理时长大于预设处理时长的用户接口,并将挑选出来的上述用户接口组成对应的接口列表。本发明实施例中,所描述的预设处理时长,系统可以根据具体的应用场景、具体的用户接口类型、或者具体的业务需求等,来设置对应的预设处理时长,本发明实施例对上述预设处理时长不进行具体时间长度的限定。
步骤S20、获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口;
系统获取所有用户接口的调用时间关系,该调用时间关系包括但不限于:用户接口在一定时间周期内所对应的接口调用频率、接口调用总次数以及调用该用户接口所使用的接口处理时长。根据获取的上述用户接口的调用时间关系,系统查询步骤S10中得到的接口列表,对下一待调用的且接口处理时长大于预设处理时长的用户接口进行预判,得到对应的预调用接口。
在本发明一优选的实施例中,系统根据用户接口的调用时长关系和上述接口列表,预先判断哪一个用户接口的接口处理时长最长且该用户接口的接口调用频率最高,在预先判断的过程中,系统根据当前所处的具体应用场景,来判断接口处理时长和接口调用频率所分别对应的权重值;根据用户接口的接口处理时长、接口调用频率、以及接口处理时长和接口调用频率所分别对应的权重值,计算上述接口列表中对应的用户接口可能被调用的概率值,并将概率值最大的用户接口预判为所描述的预调用接口。
步骤S30、预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据;以便于:接收到所述预调用接口的调用请求时,利用所述接口缓存数据调用所述预调用接口。
系统根据预判得到的预调用接口,预先对该预调用接口对应的接口数据进行数据调用、数据计算等一系列的数据处理操作,并将处理后的该预调用接口对应的接口数据进行缓存,从而得到该预调用接口对应的接口缓存数据。从而当系统在接收到针对该预调用接口的真正的接口调用请求时,系统便可以直接利用该接口缓存数据真正的调用对应的用户接口,节约了该预调用接口对应的接口数据处理时长。
与现有技术相比,本发明实施例接口调用方法通过统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表;获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口;预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据;以便于:接收到所述预调用接口的调用请求时,利用所述接口缓存数据调用所述预调用接口;达到了节约接口调用时长的有益效果,降低了数据处理量大的数据接口的调用时长,提高了接口调用效率。
图7为图6所述实施例中步骤S10的一种实施方式的流程示意图;如图7所示,本发明接口调用方法中,图6所述实施例中,“步骤S10、统计各用户接口分别对应的接口处理时长,动态获取所述接口处理时长大于预设处理时长的用户接口,组成对应的接口列表”,可以实施为如下描述的步骤S11-S13:
步骤S11、统计所有用户接口在一个历史周期时长内被调用的总次数,以及每次被调用时分别对应的单次处理时长;
步骤S12、根据统计的所述总次数和单次处理时长,计算每个用户接口在所述历史周期时长内对应的平均处理时长;
步骤S13、基于计算得到所述平均处理时长,获取所述平均处理时长大于预设处理时长的所有用户接口,得到对应的接口列表。
本发明实施例中,考虑到用户接口对应的接口数据量的实时性,也为了提高系统对待调用的用户接口的预判准确率,系统在生成对应的接口列表时,采用按照一个历史周期进行动态统计的方式,来获取各用户接口分别对应的平均接口处理时长;由于在不同的应用场景中,同一用户接口可能对应了不同的接口处理时长,因此,系统采用动态获取接口平均处理时长大于预设处理时长的用户接口的这种处理方式,避免了因获取的接口处理时长不准确而导致的系统对预调用接口的误判断的问题,在一定程度上,提高了系统对预调用接口的判断准确率。
图8为图6所述实施例中步骤S20的一种实施方式的流程示意图;如图8所示,本发明接口调用方法中,图6所述实施例中,“步骤S20、获取用户接口的调用时间关系,基于所述接口列表,预先判断下一待调用的其接口处理时长大于所述预设处理时长的预调用接口”,可以实施为如下描述的步骤S21-S22:
步骤S21、获取当前操作事件所对应的当前用户接口,提取所述当前用户接口分别对应的接口调用概率;
步骤S22、根据提取出的所述接口调用概率,查找所述接口列表,将位于所述接口列表中且接口调用概率最高的当前用户接口作为所述预调用接口。
本发明实施例中,为了提高系统对预调用接口判断的准确率,系统在获取用户接口的调用关系时,采用实时获取的方式,提高预调用接口获取的实时性。
在对预调用接口进行选择时,系统获取当前操作事件所对应的所有当前用户接口,并提取在预设历史周期内,上述所有当前用户接口所分别对应的接口调用概率,选取出接口调用概率最高且接口处理时长大于预设处理时长的当前用户接口;由于系统已经获取了所有当前用户接口所分别对应的接口调用概率,因此通过比较数值大小的简单算法即可轻易地找出接口调用概率最高的当前用户接口;另外,由于系统在步骤S01中已经生成了接口处理时长大于预设处理时长的接口列表,因此,通过查询该接口列表,也可以很容易地找出满足如下条件的当前用户接口:位于所述接口列表中且接口调用概率最高。
在本发明一优选地实施例中,所描述的当前操作事件所对应的当前用户接口包括但不限于:当前操作页面所包含的所有用户接口,及/或当前可操作控件所对应的所有用户接口。例如,当前操作页面包含的用户接口A、B、C;当前可操作控件所对应的用户接口D、E、F等。
本发明实施例通过获取当前操作事件所对应的当前用户接口,提取所述当前用户接口分别对应的接口调用概率;根据提取出的所述接口调用概率,查找所述接口列表,将位于所述接口列表中且接口调用概率最高的当前用户接口作为所述预调用接口;提高预调用接口获取的实时性,进一步地,也提高了系统对预调用接口判断的准确率。
图9为图6所述实施例中步骤S30的一种实施方式的流程示意图;如图9所示,本发明接口调用方法中,图6所述实施例中,“步骤S30、预先调用所述预调用接口对应的接口数据并缓存,得到所述预调用接口对应的接口缓存数据”,可以实施为如下描述的步骤S31-S36:
步骤S31、判断当前操作事件所必须的所有用户接口是否已全部调用完成;
若当前操作事件所必须的所有用户接口已全部调用完成,则执行步骤S32;若当前操作事件所必须的所有用户接口没有全部调用完成,则执行步骤S33;
步骤S32、预先调用所述预调用接口对应的接口数据,得到所述接口缓存数据;
步骤S33、执行当前操作事件所必须的所有用户接口的调用操作。
系统执行完步骤S32后,继续执行如下步骤:
步骤S34、判断预设缓存时长内,是否触发所述预调用接口对应的调用操作事件;若所述预设缓存时长内,没有触发所述预调用接口对应的调用操作事件,则执行步骤S35;若所述预设缓存时长内,存在触发所述预调用接口对应的调用操作事件,则执行步骤S36;
步骤S35、删除所述预调用接口的接口缓存数据。
步骤S36、利用所述接口缓存数据调用所述预调用接口。
本发明实施例中,系统针对上述预调用接口所对应的接口数据执行调用操作时,不应当影响到系统针对当前操作事件所必须使用的所有用户接口的接口数据的调用。也就是说,系统在提前缓存预调用接口对应的接口数据时,应该选择恰当的处理时机,当系统判断当前操作事件所必须的所有用户接口均已全部调用完成时,再来执行预调用接口对应的接口数据的调用操作,从而得到该预调用接口对应的缓存数据。
在本发明一优选的实例中,为了节约系统资源,系统判断在预设缓存时长内,是否有该预调用接口对应的调用操作事件触发;若所述预设缓存时长内,存在触发所述预调用接口对应的调用操作事件,则系统可以快速反应,直接利用所述接口缓存数据调用所述预调用接口,提高数据量较大的用户接口的调用效率;对于客户端,由于系统能够快速反应,因此在一定程度上也提升了客户端的用户体验。若所述预设缓存时长内,没有触发所述预调用接口对应的调用操作事件,为了节约系统资源,系统直接删除所述预调用接口的接口缓存数据。
例如,在一具体的应用场景中,服务器的每个页面都包含了至少两个用户接口,具体地,比如,在页面1包括用户接口ABC,页面1当中,用户接口ABC分别指向页面2、3和5;系统按照图6实施例所描述的预调用接口的获取方式,系统预判用户接口B的接口处理时长是最长的且该用户接口B的调用概率也最大,则在当前页面1服务器加载完该页面1所需的所有用户接口后,缓存用户接口B对应的调用数据,当用户触发的操作指令指向该用户接口B、或者指向该用户接口B对应的页面2时,服务器直接使用已经缓存的接口B对应的缓存数据;若没有触发与用户接口B任何有关的操作,则不使用上述已经缓存的用户接口B所对应的接口数据。
本发明实施例接口调用方法通过判断出当前操作事件所必须的所有用户接口均已调用完成后,再缓存预调用接口对应的接口数据,在不影响系统其他用户接口的正常使用的情况下,具有提高系统工作效率的有益效果,进一步地,也提高了系统针对数据量较大的用户接口的调用效率;对应于客户端来讲,用户无需等待过多的时间即可触发对应的操作指令,在一定程度上也提高了客户端的用户体验。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。