CN112148387A - 预加载反馈信息的方法、装置、计算机设备及存储介质 - Google Patents
预加载反馈信息的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112148387A CN112148387A CN202011095929.9A CN202011095929A CN112148387A CN 112148387 A CN112148387 A CN 112148387A CN 202011095929 A CN202011095929 A CN 202011095929A CN 112148387 A CN112148387 A CN 112148387A
- Authority
- CN
- China
- Prior art keywords
- preloading
- feedback information
- command
- value pair
- preset
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Abstract
本发明涉及计算机技术领域,公开了一种预加载反馈信息的方法、装置、计算机设备及存储介质,包括:执行加载进程,用以从预设的命令数据库中获取预加载命令;执行提取进程,用以将所述预加载命令在预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果;将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中。本发明还涉及区块链技术,信息可存储于区块链节点中。本发明极大的降低了客户端获取反馈信息的网络延迟,提高了客户端获取反馈信息的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种预加载反馈信息的方法、装置、计算机设备及存储介质。
背景技术
当前客户端与数据服务器之间使用TCP协议进行连接,一个客户端可以通过一个socket连接发起多个请求命令,由于当前服务器处理请求命令是单线程的,因此每个请求命令发出后客户端通常会阻塞并等待服务器处理,服务器处理完后请求命令后会将反馈信息通过响应报文返回给客户端,因此当执行多条命令的时候都需要等待上一条命令执行完毕才能执行。
发明人发现,如果多个客户端一次性批量发送多个请求命令,客户端与服务器之间会因上述阻塞和等待的原因,会导致严重的网络延迟,极大的降低了客户端获取反馈信息的效率。
发明内容
本发明的目的是提供一种预加载反馈信息的方法、装置、计算机设备及存储介质,用于解决现有技术存在的因阻塞和等待导致严重的网络延迟,极大的降低了客户端获取反馈信息的效率的问题。
为实现上述目的,本发明提供一种预加载反馈信息的方法,用于根据客户端在历史上发送的读取命令,预加载与所述读取命令对应的反馈信息,包括:
执行加载进程,用以从预设的命令数据库中获取预加载命令;
执行提取进程,用以将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果;
将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中,其中,所述缓存模块用于向客户端发送反馈信息,所述预加载命令为所述键值对的主键,所述反馈信息为所述键值对的键值,所述缓存块是缓存模块中用于保存数据信息的存储单元。
上述方案中,所述将所述读取结果设为反馈信息的步骤之前,所述方法还包括:
执行评价进程,用以判断所述读取结果的状态是否为成功;
若是,则将所述读取结果设为反馈信息;
若否,则将所述读取结果设为失败信息,将所述失败信息发送至控制端。
上述方案中,所述在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中的步骤,包括:
判断所述缓存块中是否保存有数据;
若是,则将提取所述缓存块中的数据并将其写入所述数据服务器中,以得到空置的缓存块,将所述键值对保存在该缓存块中;
若否,则将所述键值对保存在所述缓存块中;
所述将所述键值对保存在所述缓存块中的步骤之后,所述方法还包括:
将所述键值对上传至区块链中。
上述方案中,所述向客户端发送反馈信息的步骤,包括:
接收客户端发送的读取命令;
识别所述缓存模块中是否具有与所述读取命令一致的预加载命令;
若是,则提取与所述读取命令一致的预加载命令所对应的反馈信息,并将其发送至所述客户端;
若否,则调用数据服务器以获取与所述读取命令对应的反馈信息,并将其发送至所述客户端。
上述方案中,所述将所述失败信息发送至控制端的步骤之后,所述方法还包括:
将与所述失败信息对应的预加载命令在预设的重试加载队列中进行封装,调用所述重试加载队列以将其中的预加载命令依次发送至所述数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果,并触发评价进程。
上述方案中,所述将所述键值对保存在所述缓存块中的步骤之后,所述方法还包括:
执行重置进程,用以清除所述缓存模块中的反馈信息及其预加载命令,并触发所述加载进程。
上述方案中,所述重置进程的步骤,包括:
获取执行所述加载进程的时间点;
执行时间判断进程,用以判断当前时间与所述时间点之间的时间间隔是否超过预设的间隔阈值;
若超过所述间隔阈值,则清除所述缓存模块中的反馈信息及其预加载命令,并触发所述加载进程;
若未超过所述间隔阈值,则经过预设的等待时间后,再次触发时间判断进程。
为实现上述目的,本发明还提供一种预加载反馈信息的装置,包括:
加载模块,用于执行加载进程,用以从预设的命令数据库中获取预加载命令;
提取模块,用于执行提取进程,用以将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果;
反馈缓存模块,用于将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中,其中,所述缓存模块用于向客户端发送反馈信息,所述预加载命令为所述键值对的主键,所述反馈信息为所述键值对的键值,所述缓存块是缓存模块中用于保存数据信息的存储单元。
为实现上述目的,本发明还提供一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述计算机设备的处理器执行所述计算机程序时实现上述预加载反馈信息的方法的步骤。
为实现上述目的,本发明还提供一种计算机存储介质,所述存储介质上存储有计算机程序,所述存储介质存储的所述计算机程序被处理器执行时实现上述预加载反馈信息的方法的步骤。
本发明提供的预加载反馈信息的方法、装置、计算机设备及存储介质,通过将反馈信息加载到缓存模块中,使得客户端无需向数据服务器发送读取命令得到读取结果,而是通过预加载队列持续的根据客户端在历史上发送的读取命令,从数据服务器中获取相应的读取结果并将其加载至缓存模块,使得客户端仅需调用缓存模块即可根据其发送的读取命令获得相应的读取结果,极大的降低了客户端获取反馈信息的网络延迟,提高了客户端获取反馈信息的效率;同时,通过键值对的形式保存预加载命令和反馈信息,使得客户端仅需识别主键,并提取对应主键所映射的键值,即可获得相应的反馈信息,提高了客户端获取所需的反馈信息的效率,进而提高了向客户端反馈相应信息的整体效率。
附图说明
图1为本发明预加载反馈信息的方法实施例一的流程图;
图2为本发明预加载反馈信息的方法实施例二中预加载反馈信息的方法的环境应用示意图;
图3是本发明预加载反馈信息的方法实施例二中预加载反馈信息的方法的具体方法流程图;
图4是本发明预加载反馈信息的方法实施例二中在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中的具体方法流程图;
图5是本发明预加载反馈信息的方法实施例二中向客户端发送反馈信息的具体方法流程图;
图6是本发明预加载反馈信息的方法实施例二中重置进程的具体方法流程图;
图7为本发明预加载反馈信息的装置实施例三的程序模块示意图;
图8为本发明计算机设备实施例四中计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的预加载反馈信息的方法、装置、计算机设备及存储介质,适用于计算机技术领域,为提供一种基于加载模块、提取模块、反馈缓存模块、评价模块、失败模块、失败重试模块和重置模块的预加载反馈信息的方法。本发明通过从预设的命令数据库中获取预加载命令,将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果;将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中。
实施例一:
请参阅图1,本实施例的一种预加载反馈信息的方法,用于根据客户端在历史上发送的读取命令,预加载与所述读取命令对应的反馈信息,包括:
S101:执行加载进程,用以从预设的命令数据库中获取预加载命令。
S102:执行提取进程,用以将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果。
S104:将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中,其中,所述缓存模块用于向客户端发送反馈信息,所述预加载命令为所述键值对的主键,所述反馈信息为所述键值对的键值,所述缓存块是缓存模块中用于保存数据信息的存储单元。
于本实施例中,所述命令数据库中记录有客户端在历史上一段时期内发送的读取命令及其数量,所述预加载命令是指将数量超过预置命令阈值的读取命令,其中,所述命令阈值可根据需要设置。所述预加载队列为pipeline队列;所述数据服务器是redis数据库,其保存有与所述命令数据库中读取命令对应的读取结果。
通过将反馈信息加载到缓存模块中,其中,采用采用cache n.高速缓冲存储器作为所述缓存模块,使得客户端无需向数据服务器发送读取命令得到读取结果,而是通过预加载队列持续的根据客户端在历史上发送的读取命令,从数据服务器中获取相应的读取结果并将其加载至缓存模块,使得客户端仅需调用缓存模块即可根据其发送的读取命令获得相应的读取结果,即:所述反馈信息,极大的降低了客户端获取反馈信息的网络延迟,提高了客户端获取反馈信息的效率;同时,通过键值对的形式保存预加载命令和反馈信息,使得客户端仅需识别主键(即:预加载命令),并提取对应主键所映射的键值(即:反馈信息),即可获得相应的反馈信息,提高了客户端获取所需的反馈信息的效率,进而提高了向客户端反馈相应信息的整体效率。
具体地,判断所述缓存模块是否饱和,若是,则通过最久未使用算法(LRU)、或先进先出算法(FIFO)、或最近最少使用算法(LFU)、或非最近使用算法(NMRU),开辟缓存模块中缓存块并删除其中的数据,以保证缓存模块中的键值对是最新的。
实施例二:
本实施例为上述实施例一的一种具体应用场景,通过本实施例,能够更加清楚、具体地阐述本发明所提供的方法。
下面,以在运行有预加载反馈信息的方法的服务器中,从数据服务器中获取与预加载命令对应的读取结果,并将其保存到缓存模块中为例,来对本实施例提供的方法进行具体说明。需要说明的是,本实施例只是示例性的,并不限制本发明实施例所保护的范围。
图2示意性示出了根据本申请实施例二的预加载反馈信息的方法的环境应用示意图。
在示例性的实施例中,预加载反馈信息的方法所在的服务器2通过网络分别连接预加载队列3、命令数据库4、数据服务器5、缓存模块6、客户端7、重试加载队列8和控制端9;所述服务器2可以通过一个或多个网络3提供服务,网络3可以包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或等等。网络3可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,它们的组合和/或类似物。网络3可以包括无线链路,例如蜂窝链路,卫星链路,Wi-Fi链路和/或类似物;所述客户端7和控制端9可为智能手机、平板电脑、笔记本电脑、台式电脑等计算机设备。
图3是本发明一个实施例提供的一种预加载反馈信息的方法的具体方法流程图,该方法具体包括步骤S201至S207。
S201:执行加载进程,用以从预设的命令数据库中获取预加载命令。
本步骤中,所述命令数据库中记录有客户端在历史上一段时期内发送的读取命令及其数量,所述预加载命令是指将数量超过预置命令阈值的读取命令,其中,所述命令阈值可根据需要设置。
示例性地,命令数据库中的读取命令及其数量如下表所示:
假设命令阈值为5,那么预加载命令如下表所示:
命令名称 | 数量 |
读取命令1 | 10 |
读取命令4 | 11 |
读取命令5 | 15 |
读取命令6 | 18 |
同时,还可从命令数据库中获取所有的读取命令,并将其设为预加载命令,以保证缓存模块中反馈信息及其预加载命令的全面性。
S202:执行提取进程,用以将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果。
本步骤中,所述预加载队列为pipeline队列;所述数据服务器是redis数据库,其保存有与所述命令数据库中读取命令对应的读取结果。
示例性地,将所述读取命令1、读取命令4、读取命令5、读取命令6在预加载队列pipeline1队列中进行封装,调用预加载队列将其中的读取命令依次发送至数据服务器。
假设数据服务器中包括:
调用数据服务器根据接收到的读取命令1、读取命令4、读取命令5、读取命令6,获取对应的读取结果1、读取结果4、读取结果5、读取结果6。
进一步地,所述数据服务器为redis数据库服务器,redis数据库服务器是以key-value的方式对数据进行保存,以便于快速的从数据服务器中提取读取命令对应的读取结果。
需要说明的是,pipeline队列是一种定义了完成过一个CI/CD流程的步骤,通过执行代替手工自动去完成CI/CD的流程,其中,该流程中的具体信息可根据需求定义。Pipeline队列包括以下模块:agent、Param、stage;其中,stage是用于定义队列中每个任务的具体内容,agent用于定义CI/CD流程环境的,Param用于为pipeline队列中各stage所构成的流程提供参数。
通过以pipeline队列作为预加载队列和重试加载队列,使得预加载命令的排布可视化,保证使用者明确各预加载命令的当前阶段。
S203:执行评价进程,用以判断所述读取结果的状态是否为成功。
本步骤中,所述读取结果的状态包括成功、失败、未识别。其中,成功是指成功的通过预加载命令从数据服务器中获取读取结果。失败是指无法通过预加载命令从数据服务器中获取读取结果,其可能是因该读取结果在数据服务器中出现了损坏。未识别是指无法在数据服务器中识别与预加载命令对应的任何内容,其可能是因该数据服务器中未保存任何关于该预加载命令的相关内容。
于本实施例中,判断所述读取结果的状态是否为成功的步骤,包括:
S31:判断所述读取结果是否为空。
S32:若为空,则判定所述读取结果的状态为未识别。
S33:若不为空,则判断所述读取结果中的内容是否符合预设的代码规则。
其中,所述编码规则是程序编码所要遵循的规则,其保证了读取结果中代码的正确性、稳定性、可读性。
S34:若符合编码规则,则判定所述读取结果的状态为成功,即说明读取结果中的代码未出现编码错误,可无法向客户端发送正确的反馈信息的,因此判定其状态为成功。
S35:若不符合编码规则,则判定所述读取结果的状态为失败。
即说明读取结果中的代码出现了编码错误,这种具有编码错误的读取结果是无法满足客户端的读取需求的,即无法向客户端发送正确的反馈信息的,因此判定其状态为失败。
S204:若是,则将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中,其中,所述缓存模块用于向客户端发送反馈信息,所述预加载命令为所述键值对的主键,所述反馈信息为所述键值对的键值,所述缓存块是缓存模块中用于保存数据信息的存储单元。
本步骤中,通过将状态为成功的反馈信息加载到缓存模块中,使得客户端无需向数据服务器发送读取命令得到读取结果,而是通过预加载队列持续的根据客户端在历史上发送的读取命令,从数据服务器中获取相应的读取结果并将其加载至缓存模块,使得客户端仅需调用缓存模块即可根据其发送的读取命令获得相应的读取结果,即:所述反馈信息,极大的降低了客户端获取反馈信息的网络延迟,提高了客户端获取反馈信息的效率;同时,通过键值对的形式保存预加载命令和反馈信息,使得客户端仅需识别主键(即:预加载命令),并提取对应主键所映射的键值(即:反馈信息),即可获得相应的反馈信息,提高了客户端获取所需的反馈信息的效率,进而提高了向客户端反馈相应信息的整体效率。
示例性地,如果读取结果1和读取结果6的状态为成功,则将读取命令1和读取结果1,以及读取命令6和读取结果6保存至所述缓存模块中。
进一步地,由于当前的客户端是采用单线程的方式逐一从数据服务器中获取反馈信息的,而客户端一旦发送大量的读取命令而数据服务器的运行速度无法及时处理所述大量的读取命令,将会造成数据服务器与客户端之间通信信道堵塞,导致客户端无法及时准确的获取其所需的反馈信息。
本步骤中,采用cache n.高速缓冲存储器作为缓存模块,其为一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。所述缓存模块存储了频繁访问的RAM位置的内容及这些数据项的存储地址。当客户端引用所述缓存模块中的某地址时,该缓存模块便检查是否存有该地址。如果存有该地址,则将数据返回客户端;具体地,判断所述缓存模块是否饱和,若是,则通过最久未使用算法(LRU)、或先进先出算法(FIFO)、或最近最少使用算法(LFU)、或非最近使用算法(NMRU),开辟缓存模块中缓存块并删除其中的数据,以保证缓存模块中的键值对是最新的。
因此,客户端通过所述通信连接根据其发送的读取命令,从缓存模块中获取相应的反馈信息,又由于cache n.高速缓存存储器的运行速度接近于CPU,极大的降低了客户端获取反馈信息的网络延迟因此极大的提高了信息反馈速度。
在一个优选的实施例中,请参阅图4,在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中的步骤,包括:
S4-01:判断所述缓存块中是否保存有数据。
S4-02:若是,则将提取所述缓存块中的数据并将其写入所述数据服务器中,以得到空置的缓存块,将所述键值对保存在该缓存块中。
S4-03:若否,则将所述键值对保存在所述缓存块中。
进一步地,将所述键值对保存在所述缓存块中之后,包括:
将所述键值对上传至区块链中。
需要说明的是,基于键值对得到对应的摘要信息,具体来说,摘要信息由键值对进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该摘要信息,以便查证键值对是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一个优选的实施例中,请参阅图5,所述向客户端发送反馈信息的步骤,包括:
S4-11:接收客户端发送的读取命令;
S4-12:识别所述缓存模块中是否具有与所述读取命令一致的预加载命令;
S4-13:若是,则提取与所述读取命令一致的预加载命令所对应的反馈信息,并将其发送至所述客户端;
S4-14:若否,则调用数据服务器以获取与所述读取命令对应的反馈信息,并将其发送至所述客户端。
通过采用双通道反馈方式,即:通过缓存模块向客户端发送反馈信息,或通过数据服务器向客户端发送反馈信息的方式,不仅保证了客户端经常发送的读取命令能够得到快速的反馈,还保证了客户端不经常发送的读取命令能够得到对应的反馈,及保证了反馈信息发送的反馈效率,有保证了反馈的全面性。
S205:若否,则将所述读取结果设为失败信息,将所述失败信息发送至控制端。
本步骤中,通过向控制端发送失败信息,以便于控制端对数据服务器中的数据进行修改和更新,使读取命令能够准确顺利的从数据服务器中获取相应的读取结果。
S206:将与所述失败信息对应的预加载命令在预设的重试加载队列中进行封装,调用所述重试加载队列以将其中的预加载命令依次发送至所述数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果,并触发评价进程。
本步骤中,所述重试加载队列为pipeline队列,将失败或未识别的读取结果所对应的读取命令,通过重试加载队列再次从数据服务器中获取读取结果的重试机制,以循环的根据所述读取命令从数据服务器中获得读取结果,直至所有读取结果的状态均为成功,保证了缓存模块中的读取结果的全面性和准确性。
示例性地,读取结果4的状态为失败,读取结果5的状态为未识别,则将读取命令4和读取命令5在重试加载队列pipeline2队列中进行封装,调用pipeline2队列中的读取命令4和读取命令5依次发送至所述数据服务器,调用所述数据服务器提取读取结果4和读取结果5后,再次执行评价进程。
S207:执行重置进程,用以清除所述缓存模块中的反馈信息及其预加载命令,并触发所述加载进程。
为保证缓存模块中的反馈信息及其预加载命令,能够更加贴合客户端获取反馈信息的需求。本步骤在经过预置的时间间隔后,执行重置进程以清除模块中的反馈信息及其预加载命令,并触发加载进程以重新从命令数据库中获取预加载命令,及再次依次执行提取进程和评价进程,使缓存模块中再次保存有新的反馈信息及其预加载命令,实现了更新缓存模块的技术效果,进而保证了缓存模块中的反馈信息及其预加载命令能够更加贴合客户端获取反馈信息的需求。
在一个优选的实施例中,请参阅图6,所述重置进程的步骤,包括:
S71:获取执行所述加载进程的时间点。
S72:执行时间判断进程,以判断当前时间与所述时间点之间的时间间隔是否超过预设的间隔阈值。
其中,所述间隔阈值可根据需要设定,如1小时,24小时,十天等。
S73:若超过所述间隔阈值,则清除所述缓存模块中的反馈信息及其预加载命令,并触发所述加载进程。
S74:若未超过所述间隔阈值,则经过预设的等待时间后,再次触发时间判断进程。
其中,所述等待时间可根据需要设定,如10分钟,1小时,1天等。
实施例三:
请参阅图7,本实施例的一种预加载反馈信息的装置1,包括:
加载模块11,用于执行加载进程,用以从预设的命令数据库中获取预加载命令;
提取模块12,用于执行提取进程,用以将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果;
反馈缓存模块14,用于将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中,其中,所述缓存模块用于向客户端发送反馈信息,所述预加载命令为所述键值对的主键,所述反馈信息为所述键值对的键值,所述缓存块是缓存模块中用于保存数据信息的存储单元。
可选的,所述预加载反馈信息的装置1还包括:
评价模块13,用于执行评价进程,用以判断所述读取结果的状态是否为成功。
可选的,所述预加载反馈信息的装置1还包括:
失败模块15,用于将所述读取结果设为失败信息,将所述失败信息发送至控制端。
可选的,所述预加载反馈信息的装置1还包括:
失败重试模块16,用于将与所述失败信息对应的预加载命令在预设的重试加载队列中进行封装,调用所述重试加载队列以将其中的预加载命令依次发送至所述数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果,并触发评价进程。
可选的,所述预加载反馈信息的装置1还包括:
重置模块17,用于执行重置进程,用以清除所述缓存模块中的反馈信息及其预加载命令,并触发所述加载进程。
本技术方案应用在云服务的云存储技术领域,通过从预设的命令数据库中获取预加载命令;将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果;将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中以优化缓存数据分配,进而实现反馈信息的数据缓存技术效果。
实施例四:
为实现上述目的,本发明还提供一种计算机设备10,实施例三的预加载反馈信息的装置1的组成部分可分散于不同的计算机设备中,计算机设备10可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个应用服务器所组成的服务器集群)等。本实施例的计算机设备至少包括但不限于:可通过系统总线相互通信连接的存储器101、处理器102,如图8所示。需要指出的是,图8仅示出了具有组件-的计算机设备,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器101(即存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器101可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,存储器101也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器101还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,存储器101通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例三的预加载反馈信息的装置的程序代码等。此外,存储器101还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器102在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器102通常用于控制计算机设备的总体操作。本实施例中,处理器102用于运行存储器101中存储的程序代码或者处理数据,例如运行预加载反馈信息的装置,以实现实施例一和实施例二的预加载反馈信息的方法。
实施例五:
为实现上述目的,本发明还提供一种计算机存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器102执行时实现相应功能。本实施例的计算机存储介质用于存储预加载反馈信息的装置,被处理器102执行时实现实施例一和实施例二的预加载反馈信息的方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种预加载反馈信息的方法,用于根据客户端在历史上发送的读取命令,预加载与所述读取命令对应的反馈信息,其特征在于,包括:
执行加载进程,用以从预设的命令数据库中获取预加载命令;
执行提取进程,用以将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果;
将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中,其中,所述缓存模块用于向客户端发送反馈信息,所述预加载命令为所述键值对的主键,所述反馈信息为所述键值对的键值,所述缓存块是缓存模块中用于保存数据信息的存储单元。
2.根据权利要求1所述的预加载反馈信息的方法,其特征在于,所述将所述读取结果设为反馈信息的步骤之前,所述方法还包括:
执行评价进程,用以判断所述读取结果的状态是否为成功;
若是,则将所述读取结果设为反馈信息;
若否,则将所述读取结果设为失败信息,将所述失败信息发送至控制端。
3.根据权利要求1所述的预加载反馈信息的方法,其特征在于,所述在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中的步骤,包括:
判断所述缓存块中是否保存有数据;
若是,则将提取所述缓存块中的数据并将其写入所述数据服务器中,以得到空置的缓存块,将所述键值对保存在该缓存块中;
若否,则将所述键值对保存在所述缓存块中;
所述将所述键值对保存在所述缓存块中的步骤之后,所述方法还包括:
将所述键值对上传至区块链中。
4.根据权利要求1所述的预加载反馈信息的方法,其特征在于,所述向客户端发送反馈信息的步骤,包括:
接收客户端发送的读取命令;
识别所述缓存模块中是否具有与所述读取命令一致的预加载命令;
若是,则提取与所述读取命令一致的预加载命令所对应的反馈信息,并将其发送至所述客户端;
若否,则调用数据服务器以获取与所述读取命令对应的反馈信息,并将其发送至所述客户端。
5.根据权利要求2所述的预加载反馈信息的方法,其特征在于,所述将所述失败信息发送至控制端的步骤之后,所述方法还包括:
将与所述失败信息对应的预加载命令在预设的重试加载队列中进行封装,调用所述重试加载队列以将其中的预加载命令依次发送至所述数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果,并触发评价进程。
6.根据权利要求1所述的预加载反馈信息的方法,其特征在于,所述将所述键值对保存在所述缓存块中的步骤之后,所述方法还包括:
执行重置进程,用以清除所述缓存模块中的反馈信息及其预加载命令,并触发所述加载进程。
7.根据权利要求6所述的预加载反馈信息的方法,其特征在于,所述重置进程的步骤,包括:
获取执行所述加载进程的时间点;
执行时间判断进程,用以判断当前时间与所述时间点之间的时间间隔是否超过预设的间隔阈值;
若超过所述间隔阈值,则清除所述缓存模块中的反馈信息及其预加载命令,并触发所述加载进程;
若未超过所述间隔阈值,则经过预设的等待时间后,再次触发时间判断进程。
8.一种预加载反馈信息的装置,其特征在于,包括:
加载模块,用于执行加载进程,用以从预设的命令数据库中获取预加载命令;
提取模块,用于执行提取进程,用以将所述预加载命令在预设的预加载队列中进行封装,调用所述预加载队列以将其中的预加载命令依次发送至预设的数据服务器,及调用所述数据服务器以根据接收到的预加载命令提取对应的读取结果;
反馈缓存模块,用于将所述读取结果设为反馈信息,并将所述反馈信息及其预加载命令构建为键值对;在预设的缓存模块中开辟缓存块,并将所述键值对保存在所述缓存块中,其中,所述缓存模块用于向客户端发送反馈信息,所述预加载命令为所述键值对的主键,所述反馈信息为所述键值对的键值,所述缓存块是缓存模块中用于保存数据信息的存储单元。
9.一种计算机设备,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机设备的处理器执行所述计算机程序时实现权利要求1至7任一项所述预加载反馈信息的方法的步骤。
10.一种计算机存储介质,所述存储介质上存储有计算机程序,其特征在于,所述存储介质存储的所述计算机程序被处理器执行时实现权利要求1至7任一项所述预加载反馈信息的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011095929.9A CN112148387A (zh) | 2020-10-14 | 2020-10-14 | 预加载反馈信息的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011095929.9A CN112148387A (zh) | 2020-10-14 | 2020-10-14 | 预加载反馈信息的方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148387A true CN112148387A (zh) | 2020-12-29 |
Family
ID=73953057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011095929.9A Pending CN112148387A (zh) | 2020-10-14 | 2020-10-14 | 预加载反馈信息的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148387A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032010A (zh) * | 2021-03-12 | 2021-06-25 | 歌尔科技有限公司 | 命令的传输控制方法、终端及计算机可读存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356996B1 (en) * | 1998-03-24 | 2002-03-12 | Novell, Inc. | Cache fencing for interpretive environments |
US20090276577A1 (en) * | 2008-04-30 | 2009-11-05 | Trevor Bell | Adaptive caching for high volume extract transform load process |
KR20110078665A (ko) * | 2009-12-31 | 2011-07-07 | (주)미디어인덱스 | 데이터 마이닝과 실시간 검색정보를 이용한 캐싱기법 |
US20150205605A1 (en) * | 2012-06-15 | 2015-07-23 | Soft Machines, Inc. | Load store buffer agnostic to threads implementing forwarding from different threads based on store seniority |
CN108183947A (zh) * | 2017-12-27 | 2018-06-19 | 深圳天源迪科信息技术股份有限公司 | 分布式缓存方法及系统 |
US20190361609A1 (en) * | 2018-05-24 | 2019-11-28 | Beijing Baidu Netcom Science Technology Co., Ltd. | Data storage method, apparatus and storage medium |
CN110674432A (zh) * | 2019-09-09 | 2020-01-10 | 中国平安财产保险股份有限公司 | 二级缓存方法、装置及计算机可读存储介质 |
CN110928935A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 数据的访问命令处理方法、装置和系统 |
CN111125247A (zh) * | 2019-12-06 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种redis客户端缓存方法、装置、设备及存储介质 |
CN111190928A (zh) * | 2019-12-24 | 2020-05-22 | 平安普惠企业管理有限公司 | 缓存处理方法、装置、计算机设备以及存储介质 |
WO2020177384A1 (zh) * | 2019-03-05 | 2020-09-10 | 平安科技(深圳)有限公司 | 消息推送的用户消息状态上报处理方法、装置及存储介质 |
-
2020
- 2020-10-14 CN CN202011095929.9A patent/CN112148387A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356996B1 (en) * | 1998-03-24 | 2002-03-12 | Novell, Inc. | Cache fencing for interpretive environments |
US20090276577A1 (en) * | 2008-04-30 | 2009-11-05 | Trevor Bell | Adaptive caching for high volume extract transform load process |
KR20110078665A (ko) * | 2009-12-31 | 2011-07-07 | (주)미디어인덱스 | 데이터 마이닝과 실시간 검색정보를 이용한 캐싱기법 |
US20150205605A1 (en) * | 2012-06-15 | 2015-07-23 | Soft Machines, Inc. | Load store buffer agnostic to threads implementing forwarding from different threads based on store seniority |
CN108183947A (zh) * | 2017-12-27 | 2018-06-19 | 深圳天源迪科信息技术股份有限公司 | 分布式缓存方法及系统 |
US20190361609A1 (en) * | 2018-05-24 | 2019-11-28 | Beijing Baidu Netcom Science Technology Co., Ltd. | Data storage method, apparatus and storage medium |
CN110928935A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 数据的访问命令处理方法、装置和系统 |
WO2020177384A1 (zh) * | 2019-03-05 | 2020-09-10 | 平安科技(深圳)有限公司 | 消息推送的用户消息状态上报处理方法、装置及存储介质 |
CN110674432A (zh) * | 2019-09-09 | 2020-01-10 | 中国平安财产保险股份有限公司 | 二级缓存方法、装置及计算机可读存储介质 |
CN111125247A (zh) * | 2019-12-06 | 2020-05-08 | 北京浪潮数据技术有限公司 | 一种redis客户端缓存方法、装置、设备及存储介质 |
CN111190928A (zh) * | 2019-12-24 | 2020-05-22 | 平安普惠企业管理有限公司 | 缓存处理方法、装置、计算机设备以及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032010A (zh) * | 2021-03-12 | 2021-06-25 | 歌尔科技有限公司 | 命令的传输控制方法、终端及计算机可读存储介质 |
CN113032010B (zh) * | 2021-03-12 | 2022-09-20 | 歌尔科技有限公司 | 命令的传输控制方法、终端及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756601B (zh) | 微服务架构监控方法、装置、计算机设备及可读存储介质 | |
CN109873904B (zh) | 消息推送的用户消息状态上报处理方法、装置及存储介质 | |
CN110995776B (zh) | 区块链的区块分发方法、装置、计算机设备和存储介质 | |
CN112306805A (zh) | 防重复点击的方法、装置、计算机设备及可读存储介质 | |
CN111752770A (zh) | 服务请求的处理方法、系统、计算机设备和存储介质 | |
CN110069217B (zh) | 一种数据存储方法及装置 | |
CN111338688A (zh) | 数据长效缓存方法、装置、计算机系统及可读存储介质 | |
CN112148387A (zh) | 预加载反馈信息的方法、装置、计算机设备及存储介质 | |
CN109325002B (zh) | 文本文件处理方法、装置、系统、电子设备、存储介质 | |
CN112052141B (zh) | 数据分片校验方法、装置、计算机设备及可读存储介质 | |
CN112969198A (zh) | 数据传输方法、终端及存储介质 | |
CN112052256A (zh) | 多版本请求返回方法、装置、计算机设备及可读存储介质 | |
CN111585805B (zh) | 平滑发布升级方法、装置、计算机系统及可读存储介质 | |
CN110427394B (zh) | 数据操作方法及装置 | |
CN113031997A (zh) | 升级包生成及管理方法、装置、计算机设备及存储介质 | |
CN104346460A (zh) | 进行文件下载的方法、装置及浏览器客户端 | |
CN108965108B (zh) | 一种消息推送方法及相关设备 | |
CN107798250B (zh) | 敏感信息屏蔽规则的下发方法、应用服务器及计算机可读存储介质 | |
CN108959405B (zh) | 数据的强一致性读取方法及终端设备 | |
CN111722946A (zh) | 分布式事务处理方法、装置、计算机设备及可读存储介质 | |
CN111460436B (zh) | 一种基于区块链的非结构化数据操作方法和系统 | |
CN111698227A (zh) | 信息同步管理方法、装置、计算机系统及可读存储介质 | |
CN113420050A (zh) | 数据查询管理方法、装置、计算机设备及可读存储介质 | |
CN112333262A (zh) | 数据更新提示方法、装置、计算机设备及可读存储介质 | |
CN113672248A (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 |