CN112130936B - 基于轮询的数据调用方法、装置、设备及存储介质 - Google Patents

基于轮询的数据调用方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112130936B
CN112130936B CN202011008641.3A CN202011008641A CN112130936B CN 112130936 B CN112130936 B CN 112130936B CN 202011008641 A CN202011008641 A CN 202011008641A CN 112130936 B CN112130936 B CN 112130936B
Authority
CN
China
Prior art keywords
polling
interval time
data
client
polling interval
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
Application number
CN202011008641.3A
Other languages
English (en)
Other versions
CN112130936A (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202011008641.3A priority Critical patent/CN112130936B/zh
Publication of CN112130936A publication Critical patent/CN112130936A/zh
Application granted granted Critical
Publication of CN112130936B publication Critical patent/CN112130936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明涉及数字医疗技术,提供了一种基于轮询的数据调用方法、装置、设备及存储介质。通过接收客户端发起的异步调用任务请求,查询是否存在数据调用请求对应的历史响应记录,若存在,获取历史响应记录对应的历史数据集,基于历史数据集及预先构建的轮询函数计算得到轮询间隔时间,响应调用请求,将轮询间隔时间反馈至客户端,接收客户端基于轮询间隔时间发起的轮询请求,预设数据库中查询是否存在轮询请求的目标数据,若存在则将目标数据反馈至客户端,避免了对时间配置的依赖,通过实时优化轮询间隔时间,减轻健康系统开销和高并发时服务端的压力,保证健康系统稳定性。本发明还涉及区块链技术,历史数据集与目标数据均可存储于区块链节点中。

Description

基于轮询的数据调用方法、装置、设备及存储介质
技术领域
本发明涉及数字医疗的家庭健康系统技术领域,尤其涉及一种基于轮询的数据调用方法、装置、设备及存储介质。
背景技术
目前,在家庭健康系统中,客户端在异步调用数据时需要预先设置一个固定的轮询间隔周期,即以该周期为间隔发送轮询请求,如果轮询间隔周期设置较小,必然会增加健康系统资源的开销,且在高并发的场景下极易导致服务崩溃,若轮询间隔周期设置较大,则可能使得业务整体的响应时间增加,导致网络吞吐量降低。
发明内容
鉴于以上内容,本发明提供一种基于轮询的数据调用方法、装置、设备及存储介质,其目的在于解决现有技术中在家庭健康系统中异步调用数据时容易导致增加系统资源的开销或网络吞吐量降低的技术问题。
为实现上述目的,本发明提供一种基于轮询的数据调用方法,该方法包括:
A、接收客户端发起的异步调用任务请求,根据所述异步调用任务请求的标识查询是否存在所述数据调用任务请求对应的历史响应记录;
B、若存在所述异步调用任务请求对应的历史响应记录,获取所述历史响应记录对应的历史数据集,基于所述历史数据集及预先构建的轮询函数计算得到所述异步调用任务请求的轮询间隔时间;
C、响应所述异步调用任务请求,将所述轮询间隔时间反馈至所述客户端;
D、接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端。
优选的,在所述根据所述异步调用任务请求的标识查询是否存在所述数据调用请求对应的历史响应记录之后,所述方法还包括:
若不存在所述异步调用任务请求对应的历史响应记录,则将预设时间周期作为所述异步调用任务请求的轮询间隔时间。
优选的,在所述在预设数据库中查询是否存在所述轮询请求对应的目标数据之后,所述方法还包括:
若不存在所述轮询请求对应的目标数据当判断未获取所述轮询请求对应的目标数据时,则将上一次轮询间隔时间输入所述轮询函数得到新的轮询间隔时间,并重新执行步骤C及步骤D。
优选的,在所述将所述目标数据反馈至所述客户端之后,所述方法还包括:
获取预设时间段对应的历史响应记录的数据,将基于所述预设时间段对应的历史响应记录的数据输入所述轮询函数,以更新所述轮询函数的权重参数,其中,所述预设时间段对应的历史响应记录的数据包括预设时间段内的轮询间隔时间,及该轮询间隔时间对应的影响因素值。
优选的,所述轮询函数的构建过程包括:
将所述历史数据集的影响因素值代入预设的初始函数,分别为各影响因素值分配预设的初始权重参数;
以最小化所述初始函数的损失函数值为目标不断调整初始函数中各的初始权重参数的大小;
权重参数,当所述初始函数的损失函数值小于预设阈值时更新所述初始函数的权重参数,得到所述轮询函数。
优选的,所述初始函数包括:
其中,hθ(x)表示所述轮询间隔时间,θi表示所述历史数据集中第i个影响因素的权重,xi表示所述历史数据集中第i个影响因素值,θ0表示常数,n表示影响因素的数量。
优选的,所述初始函数的损失函数值包括:
其中,j(θ)表示所述初始函数的损失函数值,hθ(xi)表示第i个样本的轮询间隔时间的预测值,yi表示第i个样本的轮询间隔时间的标注值,m表示样本的数量。
为实现上述目的,本发明还提供一种基于轮询的数据调用装置,该基于轮询的数据调用装置包括:
接收模块,用于接收客户端发起的异步调用任务请求,根据所述异步调用任务请求的标识查询是否存在所述数据调用任务请求对应的历史响应记录;
计算模块,用于若存在所述异步调用任务请求对应的历史响应记录,获取所述历史响应记录对应的历史数据集,基于所述历史数据集及预先构建的轮询函数计算得到所述异步调用任务请求的轮询间隔时间;
轮询模块,用于响应所述异步调用任务请求,将所述轮询间隔时间反馈至所述客户端;
反馈模块,用于接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端。
为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的基于轮询的数据调用方法的任意步骤。
为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有基于轮询的数据调用程序,所述基于轮询的数据调用程序被处理器执行时,实现如上所述基于轮询的数据调用方法的任意步骤。
本发明提出的基于轮询的数据调用方法、装置、设备及存储介质,通过实时调整轮询间隔时间,使系统的额外开销降至最低,提升了高并发下情况的系统性能,只需根据计算得到的轮询间隔时间,发送轮询请求便能获取最终响应返回结果,与同步调用数据的方案相比,系统性能更加稳定且避免了长时间的阻塞,与现有的异步调用数据的方案相比,不再使用固定轮询间隔时间,避免了对时间配置的依赖,通过实时优化轮询间隔时间,减轻了家庭健康系统开销和高并发时服务端的压力,保证了家庭健康系统性能的稳定性。
附图说明
图1为本发明基于轮询的数据调用方法较佳实施例的流程图示意图;
图2为本发明基于轮询的数据调用装置较佳实施例的模块示意图;
图3为本发明电子设备较佳实施例的示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于轮询的数据调用方法。参照图1所示,为本发明基于轮询的数据调用方法的实施例的方法流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。
基于轮询的数据调用方法包括:
步骤S10:接收客户端发起的异步调用任务请求,根据所述异步调用任务请求的标识查询是否存在所述数据调用任务请求对应的历史响应记录。
在本实施例中,以电子设备为服务器为例对本方案进行说明,可以理解的是,本方案的电子设备并不仅限于服务器。当接收到客户端发起的异步调用任务请求时,服务器判断是否存在该异步调用任务请求对应的历史响应记录,由于服务器可以记录处理客户端请求的响应记录,因此可以根据请求标识判断该客户端是否发起过多次调用请求,从而判断是否存在该异步调用任务请求对应的历史响应记录。
以某个图像识别模型的调用为例对本方案进行说明,在实际调用模型过程中会存在庞大计算量和返回响应的较长等待时延,如果采用同步调用方式,即一次请求对应一次响应,在等待时延较短的场景下通常不会发生因响应超时而无法获取调用结果的情况。然而,在较长等待时延的场景下,同步调用方式通常由于接口响应超时、网络中断等因素导致无法获取图像识别模型的调用结果。从而多次发生服务中断,带来较差的用户体验。
如果采用异步调用的方式,即客户端第一次发送请求后,服务端可以在较短的时延内返回带有该次请求对应的响应,客户端随即以预先设置的时间间隔周期多次发送轮询请求,直至获取该请求的最终结果,异步调用的方式避免了响应时长对网络负载均衡器以及网络节点超时时间配置的依赖,通常最终能够获取调用结果。然而在异步调用的方式下,客户端需要预先设置一个固定的轮询周期T,即以T为间隔发起轮询请求,若T设置较小,会增加服务器资源的开销,且在高并发的场景下极易导致服务崩溃;反之,若T设置较大,则可能导致业务整体响应时间最多增加T,导致网络吞吐量降低。因此,可以判断是否存在数据调用请求对应的历史响应记录,根据历史响应记录得到较优的轮询间隔时间。
在一个实施例中,在根据所述异步调用任务请求的标识查询是否存在所述数据调用请求对应的历史响应记录之后,该方法还包括:若不存在所述异步调用任务请求对应的历史响应记录,则将预设时间周期作为所述异步调用任务请求的轮询间隔时间。
当接收到客户端发起的异步调用任务请求时,若服务器未存储有历史响应记录时,将预设时间周期作为轮询间隔时间,其中,预设时间周期可根据实际开发情况设置,例如,设置预设时间周期为500毫秒。
步骤S20:若存在所述异步调用任务请求对应的历史响应记录,获取所述历史响应记录对应的历史数据集,基于所述历史数据集及预先构建的轮询函数计算得到所述异步调用任务请求的轮询间隔时间。
在本实施例中,若服务器存在异步调用任务请求对应的历史响应记录时,获取历史响应记录对应的历史数据集,其中,历史数据集包括预定时间段内的响应时间、响应时间的影响因素(例如,服务器的处理器的速度、I/O性能、硬盘驱动速度、目标数据的格式、目标数据的所占内存大小等等),之后,根据历史数据集及预先构建的轮询函数计算得到异步调用任务请求的轮询间隔时间,可以将历史数据集中的轮询间隔时间及该轮询间隔时间对应的影响因素值,输入轮询函数计算得到异步调用任务请求轮询间隔时间。
在一个实施例中,所述轮询函数的构建过程包括:将所述历史数据集的影响因素值代入预设的初始函数,分别为各影响因素值分配预设的初始权重参数;
以最小化所述初始函数的损失函数值为目标不断调整初始函数中各初始权重参数的大小;
当所述初始函数的损失函数值小于预设阈值时更新所述初始函数的权重参数,得到所述轮询函数。
其中,所述初始函数包括:
其中,hθ(x)表示所述轮询间隔时间,θi表示所述历史数据集中第i个影响因素的权重,xi表示所述历史数据集中第i个影响因素值,θ0表示常数,n表示影响因素的数量。
其中,所述初始函数的损失函数值包括:
其中,j(θ)表示所述初始函数的损失函数值,hθ(xi)表示第i个样本的轮询间隔时间的预测值,yi表示第i个样本的轮询间隔时间的标注值,m表示样本的数量。
通过轮询函数计算轮询间隔时间,避免了响应时长对网络负载均衡器及网络节点超时时间配置的依赖,通过优化轮询间隔时间,既减轻了系统开销和高并发时服务器的压力,又保证了系统性能的稳定性。
在一个实施例中,在所述将所述目标数据反馈至所述客户端之后,所述方法还包括:
获取预设时间段对应的历史响应记录的数据,将所述预设时间段对应的历史响应记录的数据输入所述轮询函数,以更新所述轮询函数的权重参数,其中,所述预设时间段对应的历史响应记录的数据包括预设时间段内的轮询间隔时间,及该轮询间隔时间对应的影响因素值。
由于在某些业务场景数据调用的频率可能较高,为了保证轮询函数计算的轮询间隔时间的准确性,可以获取预设时间段对应的历史响应记录的数据,根据预设时间段的历史响应记录的数据更新轮询函数。例如,可以在每天凌晨(或调用量较少的时候)对轮询函数进行更新,用于更新的轮询函数的数据集可以是最近一天的历史响应记录的数据,以保证轮询函数计算轮询间隔时间的准确性。
步骤S30:响应所述异步调用任务请求,将所述轮询间隔时间反馈至所述客户端。
在本实施例中,计算出轮询间隔时间后,服务器响应数据调用请求,并将计算得到的轮询间隔时间反馈至客户端,以供客户端根据轮询间隔时间发起轮询请求。
由于服务器计算轮询间隔时间的过程为多线程模式,并不会影响当前运行的业务,造成响应时延的增加,计算得到的轮询间隔时间可以让客户端以一种预见性的方式发送轮询请求,既减少了不必要的网络资源开销、减轻了高并发时服务端的压力,又保证了客户端及时获取业务请求的最终响应结果,进而以一种较优的轮询方法增强了家庭健康系统性能的稳定性。
步骤S40:接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端。
在本实施例中,客户端根据计算得到的轮询间隔时间发起轮询请求后,服务器在预设数据库中查询是否存在所述轮询请求对应的目标数据,当预设数据库中存在目标数据时,将目标数据反馈至客户端。
在一个实施例中,在所述在预设数据库中查询是否存在所述轮询请求对应的目标数据之后,所述方法还包括:
若不存在所述轮询请求对应的目标数据,则将上一次轮询间隔时间输入所述轮询函数得到新的轮询间隔时间,并重新执行步骤S30及步骤S40。
通过实时调整轮询间隔时间,使系统的额外开销降至最低,既保证了服务的稳定性,又提升了高并发下的系统性能,只需根据计算得到的轮询间隔时间,发送轮询请求便能获取最终响应返回结果。本方案与同步调用数据的方案相比,系统性能更加稳定且避免了长时间的阻塞,与现有的异步调用数据的方案相比,不使用固定的轮询间隔时间,为每一次请求智能预测轮询间隔时间,增强了系统的稳定性。
参照图2所示,为本发明基于轮询的数据调用装置100的功能模块示意图。
本发明所述基于轮询的数据调用装置100可以安装于电子设备中。根据实现的功能,所述基于轮询的数据调用装置100可以包括接收模块110、计算模块120、轮询模块130及反馈模块140。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
判断模块110,用于接收客户端发起的异步调用任务请求,根据所述异步调用任务请求的标识查询是否存在所述数据调用任务请求对应的历史响应记录。
在本实施例中,基于轮询的数据调用装置可以记录处理客户端请求的响应记录,因此可以根据请求标识判断该客户端是否发起过多次调用请求,从而判断是否存在该异步调用任务请求对应的历史响应记录。
以某个图像识别模型的调用为例对本方案进行说明,在实际调用模型过程中会存在庞大计算量和返回响应的较长等待时延,如果采用同步调用方式,即一次请求对应一次响应,在等待时延较短的场景下通常不会发生因响应超时而无法获取调用结果的情况。然而,在较长等待时延的场景下,同步调用方式通常由于接口响应超时、网络中断等因素导致无法获取图像识别模型的调用结果。从而多次发生服务中断,带来较差的用户体验。
如果采用异步调用的方式,即客户端第一次发送请求后,服务端可以在较短的时延内返回带有该次请求对应的响应,客户端随即以预先设置的时间间隔周期多次发送轮询请求,直至获取该请求的最终结果,异步调用的方式避免了响应时长对网络负载均衡器以及网络节点超时时间配置的依赖,通常最终能够获取调用结果。然而在异步调用的方式下,客户端需要预先设置一个固定的轮询周期T,即以T为间隔发起轮询请求,若T设置较小,会增加服务器资源的开销,且在高并发的场景下极易导致服务崩溃;若T设置较大,则可能导致业务整体响应时间最多增加T,导致网络吞吐量降低。因此,可以判断是否存在数据调用请求对应的历史响应记录,根据历史响应记录得到较优的轮询间隔时间。
在一个实施例中,判断模块还用于:若不存在所述异步调用任务请求对应的历史响应记录,则将预设时间周期作为所述异步调用任务请求的轮询间隔时间。
当接收到客户端发起的异步调用任务请求时,若服务器未存储有历史响应记录时,将预设时间周期作为轮询间隔时间,其中,预设时间周期可根据实际开发情况设置,例如,设置预设时间周期为500毫秒。
计算模块120,用于若存在所述异步调用任务请求对应的历史响应记录,获取所述历史响应记录对应的历史数据集,基于所述历史数据集及预先构建的轮询函数计算得到所述异步调用任务请求的轮询间隔时间。
在本实施例中,当存在异步调用任务请求对应的历史响应记录时,获取历史响应记录对应的历史数据集,其中,历史数据集包括预定时间段内的响应时间、响应时间的影响因素(例如,服务器的处理器的速度、I/O性能、硬盘驱动速度、目标数据的格式、目标数据的所占内存大小等等),之后,根据历史数据集及预先构建的轮询函数计算得到异步调用任务请求的轮询间隔时间,可以将历史数据集中的轮询间隔时间及该轮询间隔时间对应的影响因素值,输入轮询函数计算得到异步调用任务请求轮询间隔时间。
在一个实施例中,所述轮询函数的构建过程包括:将所述历史数据集的影响因素值代入预设的初始函数,分别为各影响因素值分配预设的初始权重参数;
以最小化所述初始函数的损失函数值为目标不断调整初始函数中各初始权重参数的大小;
当所述初始函数的损失函数值小于预设阈值时更新所述初始函数的权重参数,得到所述轮询函数。
其中,所述初始函数包括:
其中,hθ(x)表示所述轮询间隔时间,θi表示所述历史数据集中第i个影响因素的权重,xi表示所述历史数据集中第i个影响因素值,θ0表示常数,n表示影响因素的数量。
其中,所述初始函数的损失函数值包括:
其中,j(θ)表示所述初始函数的损失函数值,hθ(xi)表示第i个样本的轮询间隔时间的预测值,yi表示第i个样本的轮询间隔时间的标注值,m表示样本的数量。
通过轮询函数计算轮询间隔时间,避免了响应时长对网络负载均衡器及网络节点超时时间配置的依赖,通过优化轮询间隔时间,既减轻了系统开销和高并发时服务器的压力,又保证了家庭健康系统性能的稳定性。
在一个实施例中,所述计算模块还用于:获取预设时间段对应的历史响应记录的数据,将所述预设时间段对应的历史响应记录的数据输入所述轮询函数,以更新所述轮询函数的权重参数,其中,所述预设时间段对应的历史响应记录的数据包括预设时间段内的轮询间隔时间,及该轮询间隔时间对应的影响因素值。
由于在某些业务场景数据调用的频率可能较高,为了保证轮询函数计算的轮询间隔时间的准确性,可以获取预设时间段对应的历史响应记录的数据,根据预设时间段的历史响应记录的数据更新轮询函数。例如,可以在每天凌晨(或调用量较少的时候)对轮询函数进行更新,用于更新的轮询函数的数据集可以是最近一天的历史响应记录的数据,以保证轮询函数计算轮询间隔时间的准确性。
轮询模块130,用于响应所述异步调用任务请求,将所述轮询间隔时间反馈至所述客户端。
在本实施例中,计算出轮询间隔时间后,服务器响应数据调用请求,并将计算得到的轮询间隔时间反馈至客户端,以供客户端根据轮询间隔时间发起轮询请求。
由于服务器计算轮询间隔时间的过程为多线程模式,并不会影响当前运行的业务,造成响应时延的增加,计算得到的轮询间隔时间可以让客户端以一种预见性的方式发送轮询请求,既减少了不必要的网络资源开销、减轻了高并发时服务端的压力,又保证了客户端及时获取业务请求的最终响应结果,进而以一种较优的轮询方法增强了家庭健康系统性能的稳定性。
反馈模块140,用于接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端。
在本实施例中,客户端根据计算得到的轮询间隔时间发起轮询请求后,服务器在预设数据库中查询是否存在所述轮询请求对应的目标数据,当预设数据库中存在目标数据时,将目标数据反馈至客户端。
在一个实施例中,所述反馈模块还用于:若不存在所述轮询请求对应的目标数据,则将上一次轮询间隔时间输入所述轮询函数得到新的轮询间隔时间,并重新将所述轮询间隔时间反馈至所述客户端,之后接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端。
通过实时调整轮询间隔时间,使系统的额外开销降至最低,既保证了服务的稳定性,又提升了高并发下的系统性能,只需根据计算得到的轮询间隔时间,发送轮询请求便能获取最终响应返回结果。本方案与同步调用数据的方案相比,系统性能更加稳定且避免了长时间的阻塞,与现有的异步调用数据的方案相比,不使用固定的轮询间隔时间,为每一次请求智能预测轮询间隔时间,增强了系统的稳定性。
参照图3所示,为本发明电子设备1较佳实施例的示意图。
该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobilecommunication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如基于轮询的数据调用程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行基于轮询的数据调用程序10的程序代码等。
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-EmittingDiode,OLED)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
图1仅示出了具有组件11-14以及基于轮询的数据调用程序10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
该电子设备1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在上述实施例中,处理器12执行存储器11中存储的基于轮询的数据调用程序10时可以实现如下步骤:
A、接收客户端发起的异步调用任务请求,根据所述异步调用任务请求的标识查询是否存在所述数据调用任务请求对应的历史响应记录;
B、若存在所述异步调用任务请求对应的历史响应记录,获取所述历史响应记录对应的历史数据集,基于所述历史数据集及预先构建的轮询函数计算得到所述异步调用任务请求的轮询间隔时间;
C、响应所述异步调用任务请求,将所述轮询间隔时间反馈至所述客户端;
D、接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端。
所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
关于上述步骤的详细介绍,请参照上述图2关于基于轮询的数据调用装置100实施例的功能模块图以及图1关于基于轮询的数据调用方法实施例的流程图的说明。
此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、SD卡、闪存卡、SMC、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有基于轮询的数据调用程序10,所述基于轮询的数据调用程序10被处理器执行时实现如下操作:
A、接收客户端发起的异步调用任务请求,根据所述异步调用任务请求的标识查询是否存在所述数据调用任务请求对应的历史响应记录;
B、若存在所述异步调用任务请求对应的历史响应记录,获取所述历史响应记录对应的历史数据集,基于所述历史数据集及预先构建的轮询函数计算得到所述异步调用任务请求的轮询间隔时间;
C、响应所述异步调用任务请求,将所述轮询间隔时间反馈至所述客户端;
D、接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端。
在另一个实施例中,本发明所提供的基于轮询的数据调用方法,为进一步保证上述所有出现的数据的私密和安全性,上述所有数据还可以存储于一区块链的节点中。例如历史数据集、请求对应的目标数据等,这些数据均可存储在区块链节点中。
需要说明的是,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明之计算机可读存储介质的具体实施方式与上述基于轮询的数据调用方法的具体实施方式大致相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种基于轮询的数据调用方法,其特征在于,所述方法包括:
A、接收客户端发起的异步调用任务请求,根据所述异步调用任务请求的标识查询是否存在所述异步调用任务请求对应的历史响应记录;
B、若存在所述异步调用任务请求对应的历史响应记录,获取所述历史响应记录对应的历史数据集,基于所述历史数据集及预先构建的轮询函数计算得到所述异步调用任务请求的轮询间隔时间;
C、响应所述异步调用任务请求,将所述轮询间隔时间反馈至所述客户端;
D、接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端;
其中,所述轮询函数的构建过程包括:将所述历史数据集的影响因素值代入预设的初始函数,分别为各影响因素值分配预设的初始权重参数;以最小化所述初始函数的损失函数值为目标不断调整初始函数中各初始权重参数的大小;当所述初始函数的损失函数值小于预设阈值时更新所述初始函数的权重参数,得到所述轮询函数;
所述初始函数包括:
其中,hθ(x)表示所述轮询间隔时间,θi表示所述历史数据集中第i个影响因素的权重,xi表示所述历史数据集中第i个影响因素值,θ0表示常数,n表示影响因素的数量;
所述初始函数的损失函数值包括:
其中,j(θ)表示所述初始函数的损失函数值,hθ(xi)表示第i个样本的轮询间隔时间的预测值,yi表示第i个样本的轮询间隔时间的标注值,m表示样本的数量。
2.如权利要求1所述的基于轮询的数据调用方法,其特征在于,在所述根据所述异步调用任务请求的标识查询是否存在所述异步调用任务请求对应的历史响应记录之后,所述方法还包括:
若不存在所述异步调用任务请求对应的历史响应记录,则将预设时间周期作为所述异步调用任务请求的轮询间隔时间。
3.如权利要求1或2所述的基于轮询的数据调用方法,其特征在于,在所述在预设数据库中查询是否存在所述轮询请求对应的目标数据之后,所述方法还包括:
若不存在所述轮询请求对应的目标数据,则将上一次轮询间隔时间输入所述轮询函数得到新的轮询间隔时间,并重新执行步骤C及步骤D。
4.如权利要求1所述的基于轮询的数据调用方法,其特征在于,在所述将所述目标数据反馈至所述客户端之后,所述方法还包括:
获取预设时间段对应的历史响应记录的数据,将所述预设时间段对应的历史响应记录的数据输入所述轮询函数,以更新所述轮询函数的权重参数,其中,所述预设时间段对应的历史响应记录的数据包括预设时间段内的轮询间隔时间,及该轮询间隔时间对应的影响因素值。
5.一种基于轮询的数据调用装置,用于实现如权利要求1至4中任一项所述的基于轮询的数据调用方法,其特征在于,所述装置包括:
接收模块,用于接收客户端发起的异步调用任务请求,根据所述异步调用任务请求的标识查询是否存在所述异步调用任务请求对应的历史响应记录;
计算模块,用于若存在所述异步调用任务请求对应的历史响应记录,获取所述历史响应记录对应的历史数据集,基于所述历史数据集及预先构建的轮询函数计算得到所述异步调用任务请求的轮询间隔时间;
轮询模块,用于响应所述异步调用任务请求,将所述轮询间隔时间反馈至所述客户端;
反馈模块,用于接收所述客户端基于所述轮询间隔时间发起的轮询请求,在预设数据库中查询是否存在所述轮询请求对应的目标数据,若存在则将所述目标数据反馈至所述客户端。
6.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一项所述的基于轮询的数据调用方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有基于轮询的数据调用程序,所述基于轮询的数据调用程序被处理器执行时,实现如权利要求1至4中任一项所述的基于轮询的数据调用方法的步骤。
CN202011008641.3A 2020-09-23 2020-09-23 基于轮询的数据调用方法、装置、设备及存储介质 Active CN112130936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011008641.3A CN112130936B (zh) 2020-09-23 2020-09-23 基于轮询的数据调用方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011008641.3A CN112130936B (zh) 2020-09-23 2020-09-23 基于轮询的数据调用方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112130936A CN112130936A (zh) 2020-12-25
CN112130936B true CN112130936B (zh) 2023-12-19

Family

ID=73843022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011008641.3A Active CN112130936B (zh) 2020-09-23 2020-09-23 基于轮询的数据调用方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112130936B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535782A (zh) * 2021-07-22 2021-10-22 成都数之联科技有限公司 一种bi报表查询响应方法、系统、电子设备及计算机可读存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1347232A (zh) * 2000-09-30 2002-05-01 Lg电子株式会社 路由器的自适应轮询方法
KR20050080947A (ko) * 2004-02-11 2005-08-18 주식회사 마이엔진 웹 인스턴트 메신저 시스템의 성능 개선 방법 및 시스템
CN102780723A (zh) * 2011-05-11 2012-11-14 联想(北京)有限公司 一种信息获得方法及信息获得装置
CN105337800A (zh) * 2015-10-30 2016-02-17 小米科技有限责任公司 轮询频率调整方法及装置
CN107733689A (zh) * 2017-09-15 2018-02-23 西南电子技术研究所(中国电子科技集团公司第十研究所) 基于优先级的动态加权轮询调度策略方法
CN109600429A (zh) * 2018-11-28 2019-04-09 平安科技(深圳)有限公司 业务分流方法、装置、电子设备及存储介质
CN110311987A (zh) * 2019-07-24 2019-10-08 中南民族大学 微服务器的节点调度方法、装置、设备及存储介质
CN110457361A (zh) * 2019-07-05 2019-11-15 中国平安人寿保险股份有限公司 特征数据获取方法、装置、计算机设备和存储介质
CN111274214A (zh) * 2020-02-20 2020-06-12 苏州浪潮智能科技有限公司 一种文件锁处理方法、装置及电子设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392923B2 (en) * 2007-09-28 2013-03-05 International Business Machines Corporation Dynamic polling for completion of asynchronous tasks based on historical task completion times

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1347232A (zh) * 2000-09-30 2002-05-01 Lg电子株式会社 路由器的自适应轮询方法
KR20050080947A (ko) * 2004-02-11 2005-08-18 주식회사 마이엔진 웹 인스턴트 메신저 시스템의 성능 개선 방법 및 시스템
CN102780723A (zh) * 2011-05-11 2012-11-14 联想(北京)有限公司 一种信息获得方法及信息获得装置
CN105337800A (zh) * 2015-10-30 2016-02-17 小米科技有限责任公司 轮询频率调整方法及装置
CN107733689A (zh) * 2017-09-15 2018-02-23 西南电子技术研究所(中国电子科技集团公司第十研究所) 基于优先级的动态加权轮询调度策略方法
CN109600429A (zh) * 2018-11-28 2019-04-09 平安科技(深圳)有限公司 业务分流方法、装置、电子设备及存储介质
CN110457361A (zh) * 2019-07-05 2019-11-15 中国平安人寿保险股份有限公司 特征数据获取方法、装置、计算机设备和存储介质
CN110311987A (zh) * 2019-07-24 2019-10-08 中南民族大学 微服务器的节点调度方法、装置、设备及存储介质
CN111274214A (zh) * 2020-02-20 2020-06-12 苏州浪潮智能科技有限公司 一种文件锁处理方法、装置及电子设备和存储介质

Also Published As

Publication number Publication date
CN112130936A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN111447150B (zh) 访问请求限流方法、服务器及存储介质
CN108427705B (zh) 电子装置、分布式系统日志查询方法及存储介质
CN108388599B (zh) 电子装置、数据迁移及调用方法及存储介质
CN110457363B (zh) 基于分布式数据库的查询方法、装置及存储介质
CN108491301B (zh) 电子装置、基于redis的异常预警方法及存储介质
CN111475373A (zh) 微服务下的服务控制方法、装置、计算机设备及存储介质
CN111464616A (zh) 自动调节应用负载服务数量的方法、服务器及存储介质
CN108415925B (zh) 电子装置、数据调用日志生成及查询方法及存储介质
CN111698303A (zh) 数据处理方法、装置、电子设备及存储介质
CN111475369A (zh) 日志监控的添加方法、装置、计算机设备及存储介质
CN111813573A (zh) 管理平台与机器人软件的通信方法及其相关设备
CN112422450B (zh) 计算机设备、服务请求的流量控制方法及装置
CN108491304B (zh) 电子装置、业务系统风险控制方法及存储介质
CN114564294A (zh) 智能服务编排方法、装置、计算机设备及存储介质
CN113132267B (zh) 一种分布式系统、数据聚合方法和计算机可读存储介质
CN112130936B (zh) 基于轮询的数据调用方法、装置、设备及存储介质
CN110807050B (zh) 性能分析方法、装置、计算机设备及存储介质
CN110708197B (zh) 监控装置、监控装置的监控策略的设置方法及存储介质
CN109978114B (zh) 数据处理方法、装置、服务器及存储介质
CN111245928A (zh) 基于超融合架构的资源调节方法、物联网服务器及介质
CN112860662A (zh) 数据血缘关系建立方法、装置、计算机设备及存储介质
CN112181794A (zh) 页面监听方法、装置、计算机设备及存储介质
CN111988429A (zh) 算法调度方法以及系统
CN114615325A (zh) 消息推送方法、装置、计算机设备及存储介质
CN112672187B (zh) 页面生成方法、装置、计算机设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant