CN110636130B - 延时消息处理方法、装置、计算机设备和存储介质 - Google Patents
延时消息处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110636130B CN110636130B CN201910899144.8A CN201910899144A CN110636130B CN 110636130 B CN110636130 B CN 110636130B CN 201910899144 A CN201910899144 A CN 201910899144A CN 110636130 B CN110636130 B CN 110636130B
- Authority
- CN
- China
- Prior art keywords
- message
- delay
- database
- delay message
- expire
- 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
Images
Classifications
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及大数据处理领域,尤其是一种延时消息处理方法、装置、计算机设备和存储介质。所述方法包括:接收生成服务器发送的延时消息,从所述延时消息中提取出投递时间;将所述投递时间与当前时间进行比较以判断所述延时消息是否即将到期;当所述延时消息即将到期,则将所述延时消息存储至内存队列中;当所述延时消息非即将到期,则将所述延时消息存储至数据库中;调用调度服务判断数据库中的延时消息是否即将到期,若是,则从所述数据库中获取即将到期的延时消息存储至内存队列中;调用发送服务从所述内存队列中获取即将到期的延时消息,并将所述延时消息发送到消息消费终端。采用本方法能够支持海量数据处理。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种延时消息处理方法、装置、计算机设备和存储介质。
背景技术
延时消息在互联网产品中具有广泛的使用场景,如对未付款订单5分钟后发短信提醒、对共享单车关锁结束订单失败做延迟重试等。
然而,在目前的主流具有延迟功能的消息系统中,通过Dead Letter(死信队列:存储不可达消息的队列)来实现延时消息。但是其缺点是吞吐量较低、不适合海量的延时消息处理。
发明内容
基于此,有必要针对上述技术问题,提供一种能够支持海量数据处理的延时消息处理方法、装置、计算机设备和存储介质。
一种延时消息处理方法,所述方法包括:
接收生成服务器发送的延时消息,从所述延时消息中提取出投递时间;
将所述投递时间与当前时间进行比较以判断所述延时消息是否即将到期;
当所述延时消息即将到期,则将所述延时消息存储至内存队列中;
当所述延时消息非即将到期,则将所述延时消息存储至数据库中;
调用调度服务判断所述数据库中的延时消息是否即将到期,若是,则从所述数据库中获取即将到期的延时消息存储至所述内存队列中;
调用发送服务从所述内存队列中获取即将到期的延时消息,并将所述延时消息发送到消息消费终端。
在其中一个实施例中,所述将所述延时消息存储至数据库中,包括:
获取所述延时消息的消息标识和消息实体,计算所述消息标识的哈希值;
根据所述消息标识的哈希值查找所述消息标识对应的数据库中的存储分片;
将所述消息标识存储至所述存储分片,将所述消息实体存储至所述数据库中。
在其中一个实施例中,所述调用调度服务判断所述数据库中的延时消息是否即将到期,若是,则从所述数据库中获取即将到期的延时消息存储至所述内存队列中,包括:
调用调度服务从所述存储分片获取到即将到期的延时消息的消息标识;
根据所述消息标识从所述数据库中获取到消息实体;
将所述消息实体添加至内存队列中。
在其中一个实施例中,所述存储分片包括多个,所述调度服务包括多个,且每一个存储分片对应一个调度服务;所述调用调度服务从所述存储分片获取到即将到期的延时消息的消息标识,包括:
调用多个调度服务并行从所述数据库的对应存储分片中获取即将到期的延时消息的消息标识。
在其中一个实施例中,所述方法还包括:
接收针对所述数据库中的延时消息的操作请求;
根据所述操作请求对所述数据库中的对应存储分片中的消息标识进行处理,并对所述数据库中的消息实体进行处理。
在其中一个实施例中,所述将所述延时消息发送到消息消费终端之前,还包括:
从数据库中获取待发送至消息消费终端的延时消息的消息实体;
若存在消息实体,则从所述消息实体中提取投递时间;
判断所述投递时间是否被修改;
若所述投递时间被修改,则根据修改后的所述投递时间与所述调度服务的调度时间间隔对所述延时消息进行处理;
若所述投递时间未被修改,且所述投递时间小于等于当前时间,则继续将所述延时消息发送到消息消费终端。
在其中一个实施例中,所述根据修改后的所述投递时间与所述调度服务的调度时间间隔对所述延时消息进行处理,包括:
当修改后的所述投递时间小于等于当前时间,则继续将所述延时消息发送到消息消费终端;
当修改后的所述投递时间大于当前时间,且修改后的所述投递时间大于所述调度服务的调度时间间隔时,则从所述内存队列中删除对应的消息实体;
当修改后的所述投递时间大于当前时间,且修改后的所述投递时间小于所述调度服务的调度时间间隔时,则重新将对应的消息实体添加至所述内存队列中。
一种延时消息处理装置,所述装置包括:
第一接收模块,用于接收生成服务器发送的延时消息,从所述延时消息中提取出投递时间;
比较模块,用于将所述投递时间与当前时间进行比较以判断所述延时消息是否即将到期;
第一存储模块,用于当所述延时消息即将到期,则将所述延时消息存储至内存队列中;
第二存储模块,用于当所述延时消息非即将到期,则将所述延时消息存储至数据库中;
调度模块,用于调用调度服务判断所述数据库中的延时消息是否即将到期,若是,则从所述数据库中获取即将到期的延时消息存储至所述内存队列中;
发送模块,用于调用发送服务从所述内存队列中获取即将到期的延时消息,并将所述延时消息发送到消息消费终端。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述延时消息处理方法、装置、计算机设备和存储介质,在接收到延时消息后,从延时消息中提取出投递时间,若即将到期,则直接存储至内存队列中,若非即将到期,则首先存储到数据库中,然后通过调度服务从数据库中获取到即将到期的延时消息存储至内存队列中,从而发送服务可以直接从内存队列中获取即将到期的延时消息,并将延时消息发送到消息消费终端,这样通过引入内存队列对延时消息进行分类,可以提高数据的吞吐量,从而可以使得服务器处理海量数据。
附图说明
图1为一个实施例中延时消息处理方法的应用场景图;
图2为一个实施例中延时消息处理方法的流程示意图;
图3为一个实施例中的延时消息处理方法对应的框架图;
图4为一个实施例中的延时消息处理方法的时序图;
图5为一个实施例中延时消息处理装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的延时消息处理方法,可以应用于如图1所示的应用环境中。其中,消息处理服务器102与生成服务器104以及消息消费终端106分别通过网络进行通信。消息生成服务器104可以生成延时消息,并发送至消息处理服务器102,消息处理服务器102从延时消息中提取出投递时间;将投递时间与当前时间进行比较以判断延时消息是否即将到期;当延时消息即将到期,则将延时消息存储至内存队列中;当延时消息非即将到期,则将延时消息存储至数据库中;并调用调度服务判断数据库中的延时消息是否即将到期,若是,则从数据库中获取即将到期的延时消息存储至内存队列中;调用发送服务从内存队列中获取即将到期的延时消息,并将延时消息发送到消息消费终端106,这样通过引入内存队列对延时消息进行分类,可以提高数据的吞吐量,从而可以使得服务器处理海量数据。。其中,消息消费终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,消息处理服务器106、生成服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种延时消息处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202:接收生成服务器发送的延时消息,从延时消息中提取出投递时间。
具体地,延时消息是需要等待延时时间后才发送到消息消费终端的消息,例如对未付款订单5分钟后发送短信提醒消息、对共享单车关锁结束订单失败做延迟重试消息等。投递时间是指延时消息发送到消息处理服务器的发送时间,例如上述发送短信提醒消息的时间。
生成服务器是延时消息的生成端,其用于发送延时消息到消息处理服务器,具体地生成服务器可以判断当前业务是否需要生成延时消息,若需要生成,则根据预设的延迟时间计算得到所要生成的延时消息的投递时间,并根据该投递时间以及当前业务的业务内容等生成延时消息,其中业务内容可以包括延时消息的消息实体,例如其可以指示消息消费终端,消息的内容等,并将所生成的延时消息发送至消息处理服务器,消息处理服务器接收到该延时消息后,从延时消息中提取出投递时间。
S204:将投递时间与当前时间进行比较以判断延时消息是否即将到期。
具体地,当前时间是指消息处理服务器的当前时间,该当前时间与生产服务器以及消息消费终端的时间同步。消息处理服务器计算投递时间和当前时间的差值,判断该差值是否小于阈值,如果小于阈值,则表示消息即将到期。该阈值是用户预先设置的,其可以为1s、2s等。
S206:当延时消息即将到期,则将延时消息存储至内存队列中。
S208:当延时消息非即将到期,则将延时消息存储至数据库中。
具体地,此处的内存队列是用于暂时存储即将到期的延迟消息的,且存储到内存队列中的延迟消息可以是按照投递时间进行排序的,内存队列的实现方式可以是DelayQueue,DelayQueue中只有到期的延时消息才能被发送服务所获取到。数据库可以是redis缓存数据库。消息处理服务器对延时消息包括两种处理方式,将即将到期的延时消息存储值内存队列中,以便于调度服务及时调度该些即将到期的延时消息;而将非即将到期的延时消息先存储到数据库中,这样可以避免内存队列中存在大量的延时消息,即保持内存队列中的延时消息的数量不至于很多,这样可以方便调度服务对其调用处理。
且可选地,将延时消息存储至数据库中可以采用分片存储以及摘要存储相结合的方式,即可以计算延时消息的摘要,将延时消息的摘要和消息实体分来存储,通过对延时消息的摘要进行处理来实现对消息实体的处理,这样可以减少数据的处理,提高处理效率,此外,通过分片存储的方式可以将摘要进行分片,这样可以对每一分片进行并行处理,进一步提高处理效率。
S210:调用调度服务判断数据库中的延时消息是否即将到期,若是,则从数据库中获取即将到期的延时消息存储至内存队列中。
具体地,为了保证存储在数据库中的延时消息的处理,消息处理服务器预设了调度服务,调度服务可以实时从数据库中获取到即将到期的延时消息,即判断数据库中的延时消息是否即将到期,若是,则获取到即将到期的延时消息,并将即将到期的延时消息存储到内存队列中,且可选地,调度服务可以按照延时消息的投递时间将从数据库中获取的即将到期的延时消息插入到内存队列中。且需要注意的是,此处调度服务可以是根据延时消息的摘要获取到延时消息的投递时间,并判断延时消息是否即将到期,若是即将到期,则提取到数据库中的对应的延时消息的消息实体,将该消息实体插入到内存队列中。
S212:调用发送服务从内存队列中获取即将到期的延时消息,并将延时消息发送到消息消费终端。
具体地,发送服务是用于判断内存队列中即将到期的延时消息是否已经到期,并立即将已经到期的延时消息发送到消息消费终端的服务。且可选地,消息发送服务在发送已经到期的延时消息前,可以对该延时消息进行复核,即查询数据库中是否存在该延时消息,如果存在,则判断延时消息的投递时间是否修改,没有修改的话,则立即发送到消息消费终端,如果修改的话,则需要根据修改后的投递时间来重新衡量是否立即发送该延时消息。
上述延时消息处理方法,在接收到延时消息后,从延时消息中提取出投递时间,若即将到期,则直接存储至内存队列中,若非即将到期,则首先存储到数据库中,然后通过调度服务从数据库中获取到即将到期的延时消息存储至内存队列中,从而发送服务可以直接从内存队列中获取即将到期的延时消息,并将延时消息发送到消息消费终端,这样通过引入内存队列对延时消息进行分类,可以提高数据的吞吐量,从而可以使得服务器处理海量数据。
在其中一个实施例中,将延时消息存储至数据库中,包括:获取延时消息的消息标识和消息实体,计算消息标识的哈希值;根据消息标识的哈希值查找消息标识对应的数据库中的存储分片;将消息标识存储至存储分片,将消息实体存储至数据库中。该实施例中对消息标识分片存储,避免了存储数据量大而导致的消息标识存储性能下降以及查询复杂的问题。
在其中一个实施例中,从数据库中获取即将到期的延时消息存储至内存队列中,包括:调用调度服务从存储分片获取到即将到期的延时消息的消息标识;根据消息标识从数据库中获取到消息实体;将消息实体添加至内存队列中。该实施例中调度服务通过判断消息标识来对消息实体进行处理,这样对数据量小的消息标识来判断即可以实现对数据量大的消息实体的处理,可以减少数据的处理量,从而提高效率。
在其中一个实施例中,存储分片包括多个,调度服务包括多个,且每一个存储分片对应一个调度服务;调用调度服务从存储分片获取到即将到期的延时消息的消息标识,包括:调用多个调度服务并行从数据库的对应存储分片中获取即将到期的延时消息的消息标识。该实施例中,通过调度服务并发处理各个存储分片中的延时消息,可以提高处理效率。
参见图3所示,图3为一个实施例中的延时消息处理方法对应的框架图。其中,在消息处理服务器中延迟消息是通过消息标识和消息实体两部分来表示的,其中消息标识和消息实体分离存储,消息标识存储在存储分片中,该存储分片为redis有序集合。在每个存储分片中,可以通过投递时间作为score排序字段,按照投递时间从小到大对消息标识进行排序。而消息实体的数据量较大,所占容量较大,因此可以存储为redis哈希对象,该哈希对象与存储分片中的消息标识一一对应,通过消息标识可以查找到唯一的消息实体,其中消息实体包括消息内容和投递时间等信息。
具体地,参见图3,其中存储分片可以包括N个,N可以为10000等,每个存储分片都是一个redis有序集合,且消息标识所述的存储分片由消息标识的哈希值决定。在每个存储分片中消息标识按照投递时间进行排序,有助于调度服务按照投递时间查询即将到期的延时消息。此外对消息标识进行分片存储,可以避免数据量过大而导致的redis有序集合的排序性能下降的问题,此外通过分片可以让调度服务并发处理各个存储分片的消息,提高处理性能。
具体地,在实际处理中,消息处理服务器判断出延时消息为非即将到期时,则获取延时消息的消息标识和消息实体,计算消息标识的哈希值,然后除以总的存储分片的数量,并取余数以确定消息标识对应的存储分片,将消息标识存储至该对应的存储分片中,且将消息实体存储为rsdis哈希对象。
从而在调度服务从数据库中获取即将到期的延时消息时,首先判断存储分片中是否存在即将到期的延时消息的消息标识,若存在,则根据该消息标识获取到对应的消息实体,然后将消息实体添加到内存队列中。且调度服务可以包括多个,每个调度服务平均处理对应的存储分片,每个调度服务可以处理的存储分片为N/调度服务的个数,调度服务并行处理redis有序集合中的延时消息,以提高延时消息的处理速度。例如消息处理服务器可以预先设置调度服务与存储分片,即redis有序结合的对应关系,一个存储分片对应一个调度服务,但是一个调度服务可以对应多个存储分片,这样每个调度服务以轮询的方式查询自己所对应的存储分片中是否存在即将到期的延时消息,如果存在,则获取即将到期的延时消息的消息标识,并将该消息标识对应的消息实体插入到内存队列中,可选地可以按照投递时间进行插入,以保证内存队列中的延时消息的有序性。
上述实施例中,对消息标识分片存储,避免了存储数据量大而导致的消息标识存储性能下降以及查询复杂的问题。且调度服务通过判断消息标识来对消息实体进行处理,这样对数据量小的消息标识来判断即可以实现对数据量大的消息实体的处理,可以减少数据的处理量,从而提高效率。
在其中一个实施例中,上述延时消息处理方法还包括:接收针对数据库中的延时消息的操作请求;根据操作请求对数据库中的对应存储分片中的消息标识进行处理,并对数据库中的消息实体进行处理。
具体地,消息处理服务器可以接收用户输入的针对数据库中的延时消息的操作请求,消息处理服务器根据操作请求的操作类型判断是新增还是删除延时消息,若为新增或更新操作,则新增新增/更新redis有序集合中对应消息标识的score,并覆盖redis中存储的该消息标识对应的消息实体。若为删除操作,则删除redis有序集合中对应消息标识,并删除redis中存储的该消息标识对应的消息实体。
该实施例中,用户可以对延时消息进行更改,包括删除或者新增,甚至是修改延时消息的配置等。
在其中一个实施例中,将延时消息发送到消息消费终端之前,还包括:从数据库中获取待发送至消息消费终端的延时消息的消息实体;若存在消息实体,则从消息实体中提取投递时间;判断投递时间是否被修改;若投递时间被修改,则根据修改后的投递时间与调度服务的调度时间间隔对延时消息进行处理;若投递时间未被修改,且投递时间小于等于当前时间,则继续将延时消息发送到消息消费终端。该实施例中在延时消息发送前对延时消息进行复查,保证了发送的延时消息的准确性。
在其中一个实施例中,根据修改后的投递时间与调度服务的调度时间间隔对延时消息进行处理,包括:当修改后的投递时间小于等于当前时间,则继续将延时消息发送到消息消费终端;当修改后的投递时间大于当前时间,且修改后的投递时间大于调度服务的调度时间间隔时,则从内存队列中删除对应的消息实体;当修改后的投递时间大于当前时间,且修改后的投递时间小于调度服务的调度时间间隔时,则重新将对应的消息实体添加至内存队列中。该实施例中在延时消息发送前对延时消息进行复查,保证了发送的延时消息的准确性。
具体地,发送服务在发送延时消息至消息消费终端之前,还要对延时消息进行复查,包括从redis中查询消息标识对应的消息实体,若不存在消息实体,即该延时消息可能被用户删除,则不投递消息。若存在消息实体,则可以判断延时消息是否被修改过,如果没有被修改过,且投递时间小于等于当前时间,即满足投递条件。则继续将延时消息发送到消息消费终端。
如果延时消息被修改过,则需要根据修改后的投递时间与调度服务的调度时间间隔对延时消息进行处理,具体可以包括以下三种情况:
当修改后的投递时间小于等于当前时间,即满足投递条件,则继续将延时消息发送到消息消费终端,以立即投递延时消息。
当修改后的投递时间大于当前时间,即还不满足投递条件,且修改后的投递时间大于调度服务的调度时间间隔时,此处的调度时间间隔是指调度服务遍历一次其所负责的存储分片所需要的时间,当投递时间大于调度服务的调度时间间隔时,即该延时消息没必要本次调度就添加到内存队列中,因此消息处理服务器则从内存队列中删除对应的消息实体,以便调度服务在后续将该消息实体再次添加到内存队列中。
当修改后的投递时间大于当前时间,即还不满足投递条件,且修改后的投递时间小于调度服务的调度时间间隔时,此处的调度时间间隔是指调度服务遍历一次其所负责的存储分片所需要的时间,当投递时间大于调度服务的调度时间间隔时,即该延时消息需要本次调度就添加到内存队列中,但是其投递时间发生了改变,因此消息处理服务器重新将对应的消息实体添加至内存队列中,以便于发送服务重新获取到消息实体并进行投递。
上述实施例中,在延时消息发送前对延时消息进行复查,避免了用户修改延时消息后造成的延时消息发送错误,保证了发送的延时消息的准确性。
请继续参见图4,图4为一个实施例中的延时消息处理方法的时序图。在该实施例中,消息处理服务器接收到延时消息后,首先判断延时消息是否即将到期,如果即将到期,则放在内存队列中,否则则存储在redis中,然后调度服务去redis中获取到即将到期的延时消息放在内存队列中。然后发送服务去内存队列中获取到到期的延时消息,并将到期的延时消息发送给消息消费终端。
上述延时消息处理方法,在接收到延时消息后,从延时消息中提取出投递时间,若即将到期,则直接存储至内存队列中,若非即将到期,则首先存储到数据库中,然后通过调度服务从数据库中获取到即将到期的延时消息存储至内存队列中,从而发送服务可以直接从内存队列中获取即将到期的延时消息,并将延时消息发送到消息消费终端,这样通过引入内存队列对延时消息进行分类,可以提高数据的吞吐量,从而可以使得服务器处理海量数据。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种延时消息处理装置,包括:第一接收模块100、比较模块200、第一存储模块300、第二存储模块400、调度模块500和发送模块600,其中:
第一接收模块100,用于接收生成服务器发送的延时消息,从延时消息中提取出投递时间。
比较模块200,用于将投递时间与当前时间进行比较以判断延时消息是否即将到期。
第一存储模块300,用于当延时消息即将到期,则将延时消息存储至内存队列中。
第二存储模块400,用于当延时消息非即将到期,则将延时消息存储至数据库中。
调度模块500,用于调用调度服务判断数据库中的延时消息是否即将到期,若是,则从数据库中获取即将到期的延时消息存储至内存队列中。
发送模块600,用于调用发送服务从内存队列中获取即将到期的延时消息,并将延时消息发送到消息消费终端。
在其中一个实施例中,上述的第二存储模块400可以包括:
哈希值计算单元,用于获取延时消息的消息标识和消息实体,计算消息标识的哈希值。
分片单元,用于根据消息标识的哈希值查找消息标识对应的数据库中的存储分片。
第一存储单元,用于将消息标识存储至存储分片,将消息实体存储至数据库中。
在其中一个实施例中,上述调度模块500可以包括:
消息标识获取单元,用于调用调度服务从存储分片获取到即将到期的延时消息的消息标识。
消息实体获取单元,用于根据消息标识从数据库中获取到消息实体。
添加单元,用于将消息实体添加至内存队列中。
在其中一个实施例中,存储分片包括多个,调度服务包括多个,且每一个存储分片对应一个调度服务。
调度模块500还用于调用多个调度服务并行从数据库的对应存储分片中获取即将到期的延时消息的消息标识。
在其中一个实施例中,上述延时消息处理装置还可以包括:
第二接收模块,用于接收针对数据库中的延时消息的操作请求。
并行处理模块,用于根据操作请求对数据库中的对应存储分片中的消息标识进行处理,并对数据库中的消息实体进行处理。
在其中一个实施例中,上述延时消息处理装置还可以包括:
数据库查询模块,用于从数据库中获取待发送至消息消费终端的延时消息的消息实体。
投递时间提取模块,用于若存在消息实体,则从消息实体中提取投递时间。
判断模块,用于判断投递时间是否被修改。
第一处理模块,用于若投递时间被修改,则根据修改后的投递时间与调度服务的调度时间间隔对延时消息进行处理。
第二处理模块,用于若投递时间未被修改,且投递时间小于等于当前时间,则继续将延时消息发送到消息消费终端。
在其中一个实施例中,上述第一处理模块包括:
发送单元,用于当修改后的投递时间小于等于当前时间,则继续将延时消息发送到消息消费终端。
删除单元,用于当修改后的投递时间大于当前时间,且修改后的投递时间大于调度服务的调度时间间隔时,则从内存队列中删除对应的消息实体。
重新处理单元,用于当修改后的投递时间大于当前时间,且修改后的投递时间小于调度服务的调度时间间隔时,则重新将对应的消息实体添加至内存队列中。
关于延时消息处理装置的具体限定可以参见上文中对于延时消息处理方法的限定,在此不再赘述。上述延时消息处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储延时消息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种延时消息处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收生成服务器发送的延时消息,从延时消息中提取出投递时间;将投递时间与当前时间进行比较以判断延时消息是否即将到期;当延时消息即将到期,则将延时消息存储至内存队列中;当延时消息非即将到期,则将延时消息存储至数据库中;调用调度服务判断数据库中的延时消息是否即将到期,若是,则从数据库中获取即将到期的延时消息存储至内存队列中;调用发送服务从内存队列中获取即将到期的延时消息,并将延时消息发送到消息消费终端。
在一个实施例中,处理器执行计算机程序时所实现的将延时消息存储至数据库中,包括:获取延时消息的消息标识和消息实体,计算消息标识的哈希值;根据消息标识的哈希值查找消息标识对应的数据库中的存储分片;将消息标识存储至存储分片,将消息实体存储至数据库中。
在一个实施例中,处理器执行计算机程序时所实现的从数据库中获取即将到期的延时消息存储至内存队列中,包括:调用调度服务从存储分片获取到即将到期的延时消息的消息标识;根据消息标识从数据库中获取到消息实体;将消息实体添加至内存队列中。
在一个实施例中,处理器执行计算机程序时所涉及的存储分片包括多个,调度服务包括多个,且每一个存储分片对应一个调度服务;处理器执行计算机程序时所实现的调用调度服务从存储分片获取到即将到期的延时消息的消息标识,包括:调用多个调度服务并行从数据库的对应存储分片中获取即将到期的延时消息的消息标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收针对数据库中的延时消息的操作请求;根据操作请求对数据库中的对应存储分片中的消息标识进行处理,并对数据库中的消息实体进行处理。
在一个实施例中,处理器执行计算机程序时所实现的将延时消息发送到消息消费终端之前,还包括:从数据库中获取待发送至消息消费终端的延时消息的消息实体;若存在消息实体,则从消息实体中提取投递时间;判断投递时间是否被修改;若投递时间被修改,则根据修改后的投递时间与调度服务的调度时间间隔对延时消息进行处理;若投递时间未被修改,且投递时间小于等于当前时间,则继续将延时消息发送到消息消费终端。
在一个实施例中,处理器执行计算机程序时所实现的根据修改后的投递时间与调度服务的调度时间间隔对延时消息进行处理,包括:当修改后的投递时间小于等于当前时间,则继续将延时消息发送到消息消费终端;当修改后的投递时间大于当前时间,且修改后的投递时间大于调度服务的调度时间间隔时,则从内存队列中删除对应的消息实体;当修改后的投递时间大于当前时间,且修改后的投递时间小于调度服务的调度时间间隔时,则重新将对应的消息实体添加至内存队列中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收生成服务器发送的延时消息,从延时消息中提取出投递时间;将投递时间与当前时间进行比较以判断延时消息是否即将到期;当延时消息即将到期,则将延时消息存储至内存队列中;当延时消息非即将到期,则将延时消息存储至数据库中;从数据库中获取即将到期的延时消息存储至内存队列中;调用发送服务从内存队列中获取即将到期的延时消息,并将延时消息发送到消息消费终端。
在一个实施例中,计算机程序被处理器执行时所实现的将延时消息存储至数据库中,包括:获取延时消息的消息标识和消息实体,计算消息标识的哈希值;根据消息标识的哈希值查找消息标识对应的数据库中的存储分片;将消息标识存储至存储分片,将消息实体存储至数据库中。
在一个实施例中,计算机程序被处理器执行时所实现的调用调度服务判断数据库中的延时消息是否即将到期,若是,则从数据库中获取即将到期的延时消息存储至内存队列中,包括:调用调度服务从存储分片获取到即将到期的延时消息的消息标识;根据消息标识从数据库中获取到消息实体;将消息实体添加至内存队列中。
在一个实施例中,计算机程序被处理器执行时所涉及的存储分片包括多个,调度服务包括多个,且每一个存储分片对应一个调度服务;计算机程序被处理器执行时所实现的调用调度服务从存储分片获取到即将到期的延时消息的消息标识,包括:调用多个调度服务并行从数据库的对应存储分片中获取即将到期的延时消息的消息标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收针对数据库中的延时消息的操作请求;根据操作请求对数据库中的对应存储分片中的消息标识进行处理,并对数据库中的消息实体进行处理。
在一个实施例中,计算机程序被处理器执行时所实现的将延时消息发送到消息消费终端之前,还包括:从数据库中获取待发送至消息消费终端的延时消息的消息实体;若存在消息实体,则从消息实体中提取投递时间;判断投递时间是否被修改;若投递时间被修改,则根据修改后的投递时间与调度服务的调度时间间隔对延时消息进行处理;若投递时间未被修改,且投递时间小于等于当前时间,则继续将延时消息发送到消息消费终端。
在一个实施例中,计算机程序被处理器执行时所实现的根据修改后的投递时间与调度服务的调度时间间隔对延时消息进行处理,包括:当修改后的投递时间小于等于当前时间,则继续将延时消息发送到消息消费终端;当修改后的投递时间大于当前时间,且修改后的投递时间大于调度服务的调度时间间隔时,则从内存队列中删除对应的消息实体;当修改后的投递时间大于当前时间,且修改后的投递时间小于调度服务的调度时间间隔时,则重新将对应的消息实体添加至内存队列中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种延时消息处理方法,所述方法包括:
接收生成服务器发送的延时消息,从所述延时消息中提取出投递时间;
将所述投递时间与当前时间进行比较以判断所述延时消息是否即将到期;
当所述延时消息即将到期,则将所述延时消息存储至内存队列中;
当所述延时消息非即将到期,则将所述延时消息存储至数据库中,所述延时消息的摘要和消息实体在所述数据库中分开存储;
调用调度服务并行判断所述数据库中的延时消息是否即将到期,即调用调度服务根据所述数据库中的延时消息的摘要判断所述延时消息是否即将到期,若是,则从所述数据库中获取即将到期的延时消息存储至所述内存队列中;
调用发送服务从所述内存队列中获取即将到期的延时消息,并将所述延时消息发送到消息消费终端;
所述将所述延时消息存储至数据库中,包括:
获取所述延时消息的消息标识和消息实体,计算所述消息标识的哈希值;
根据所述消息标识的哈希值查找所述消息标识对应的数据库中的存储分片;
将所述消息标识存储至所述存储分片,将所述消息实体存储至所述数据库中,每个所述存储分片中消息标识按照投递时间进行排序。
2.根据权利要求1所述的方法,其特征在于,所述从所述数据库中获取即将到期的延时消息存储至所述内存队列中,包括:
调用调度服务从所述存储分片获取到即将到期的延时消息的消息标识;
根据所述消息标识从所述数据库中获取到消息实体;
将所述消息实体添加至所述内存队列中。
3.根据权利要求2所述的方法,其特征在于,所述存储分片包括多个,所述调度服务包括多个,且每一个存储分片对应一个调度服务;所述调用调度服务从所述存储分片获取到即将到期的延时消息的消息标识,包括:
调用多个调度服务并行从所述数据库的对应存储分片中获取即将到期的延时消息的消息标识。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对所述数据库中的延时消息的操作请求;
根据所述操作请求对所述数据库中的对应存储分片中的消息标识进行处理,并对所述数据库中的消息实体进行处理。
5.根据权利要求4所述的方法,其特征在于,所述将所述延时消息发送到消息消费终端之前,还包括:
从数据库中获取待发送至消息消费终端的延时消息的消息实体;
若存在消息实体,则从所述消息实体中提取投递时间;
判断所述投递时间是否被修改;
若所述投递时间被修改,则根据修改后的所述投递时间与所述调度服务的调度时间间隔对所述延时消息进行处理;
若所述投递时间未被修改,且所述投递时间小于等于当前时间,则继续将所述延时消息发送到消息消费终端。
6.根据权利要求5所述的方法,其特征在于,所述根据修改后的所述投递时间与所述调度服务的调度时间间隔对所述延时消息进行处理,包括:
当修改后的所述投递时间小于等于当前时间,则继续将所述延时消息发送到消息消费终端;
当修改后的所述投递时间大于当前时间,且修改后的所述投递时间大于所述调度服务的调度时间间隔时,则从所述内存队列中删除对应的消息实体;
当修改后的所述投递时间大于当前时间,且修改后的所述投递时间小于所述调度服务的调度时间间隔时,则重新将对应的消息实体添加至所述内存队列中。
7.一种延时消息处理装置,其特征在于,所述装置包括:
第一接收模块,用于接收生成服务器发送的延时消息,从所述延时消息中提取出投递时间;
比较模块,用于将所述投递时间与当前时间进行比较以判断所述延时消息是否即将到期;
第一存储模块,用于当所述延时消息即将到期,则将所述延时消息存储至内存队列中;
第二存储模块,用于当所述延时消息非即将到期,则将所述延时消息存储至数据库中,所述延时消息的摘要和消息实体在所述数据库中分开存储;
调度模块,用于调用调度服务并行判断所述数据库中的延时消息是否即将到期,即调用调度服务根据所述数据库中的延时消息的摘要判断所述延时消息是否即将到期,若是,则从所述数据库中获取即将到期的延时消息存储至所述内存队列中;
发送模块,用于调用发送服务从所述内存队列中获取即将到期的延时消息,并将所述延时消息发送到消息消费终端;
所述第二存储模块包括:
哈希值计算单元,用于获取所述延时消息的消息标识和消息实体,计算所述消息标识的哈希值;
分片单元,用于根据所述消息标识的哈希值查找所述消息标识对应的数据库中的存储分片;
第一存储单元,用于将所述消息标识存储至所述存储分片,将所述消息实体存储至所述数据库中,每个所述存储分片中消息标识按照投递时间进行排序。
8.根据权利要求7所述的装置,其特征在于,所述调度模块包括:
消息标识获取单元,用于调用调度服务从所述存储分片获取到即将到期的延时消息的消息标识;
消息实体获取单元,用于根据所述消息标识从所述数据库中获取到消息实体;
添加单元,用于将所述消息实体添加至所述内存队列中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910899144.8A CN110636130B (zh) | 2019-09-23 | 2019-09-23 | 延时消息处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910899144.8A CN110636130B (zh) | 2019-09-23 | 2019-09-23 | 延时消息处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636130A CN110636130A (zh) | 2019-12-31 |
CN110636130B true CN110636130B (zh) | 2022-10-04 |
Family
ID=68972440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910899144.8A Active CN110636130B (zh) | 2019-09-23 | 2019-09-23 | 延时消息处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110636130B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782414B (zh) * | 2020-05-12 | 2024-04-19 | 北京皮尔布莱尼软件有限公司 | 一种延时消息处理方法及系统 |
CN111640027B (zh) * | 2020-05-28 | 2023-09-12 | 北京金山云网络技术有限公司 | 业务数据的处理、业务的处理方法、装置及电子设备 |
CN111901224A (zh) * | 2020-07-24 | 2020-11-06 | 中国平安财产保险股份有限公司 | 延时消息加载方法、装置、设备及计算机可读存储介质 |
CN112104519B (zh) * | 2020-08-06 | 2022-07-19 | 北京健康之家科技有限公司 | 延迟消息的投递方法及装置、存储介质、计算机设备 |
CN112015572A (zh) * | 2020-08-25 | 2020-12-01 | 广州鲁邦通物联网科技有限公司 | 一种延时任务的执行方法、中心和系统 |
CN112087373B (zh) * | 2020-09-21 | 2022-05-13 | 全通金信控股(广东)有限公司 | 一种消息发送方法及业务装置 |
CN112148506A (zh) * | 2020-09-25 | 2020-12-29 | 北京自如信息科技有限公司 | 消息处理方法、装置、平台和存储介质 |
CN114510326A (zh) * | 2020-11-17 | 2022-05-17 | 湖南微步信息科技有限责任公司 | 任务调度的方法、装置、电子设备和存储介质 |
CN112286973B (zh) * | 2020-11-19 | 2022-09-30 | 每日互动股份有限公司 | 数据消息的存储方法、装置、计算机设备及存储介质 |
US11863457B2 (en) | 2020-12-10 | 2024-01-02 | Microsoft Technology Licensing, Llc | Time-sensitive data delivery in distributed computing systems |
CN112702259B (zh) * | 2020-12-23 | 2023-05-23 | 北京焦点新干线信息技术有限公司 | 延迟消息推送方法、装置及消息中间件 |
CN112925642A (zh) * | 2021-02-25 | 2021-06-08 | 百果园技术(新加坡)有限公司 | 一种延迟消息处理方法、装置、设备及存储介质 |
CN113037450A (zh) * | 2021-03-17 | 2021-06-25 | 杭州遥望网络科技有限公司 | 一种延迟消息处理方法、装置、设备及可读存储介质 |
CN113590708B (zh) * | 2021-06-17 | 2024-02-20 | 贝壳找房(北京)科技有限公司 | 自适应延迟消费方法、程序产品及存储介质 |
CN113260020B (zh) * | 2021-06-22 | 2021-09-28 | 浩鲸云计算科技股份有限公司 | 延迟队列实现5g切片成员签约及去签约的方法及系统 |
CN113326074B (zh) * | 2021-06-30 | 2022-04-15 | 中国平安人寿保险股份有限公司 | 延时事件处理方法、装置、计算机设备和存储介质 |
CN113961379B (zh) * | 2021-12-22 | 2022-04-12 | 零犀(北京)科技有限公司 | 基于人机对话的消息处理方法及装置 |
CN115022263A (zh) * | 2022-06-02 | 2022-09-06 | 政采云有限公司 | 一种延时消息的投递方法、装置、设备及存储介质 |
CN115529288B (zh) * | 2022-09-21 | 2024-04-19 | 上海浦东发展银行股份有限公司 | 一种消息推送的方法、装置、计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684108A (zh) * | 2018-12-26 | 2019-04-26 | 江苏满运软件科技有限公司 | 消息队列的实现方法、系统、存储介质及电子设备 |
CN110147287A (zh) * | 2019-04-24 | 2019-08-20 | 珠海市珠澳跨境工业区好易通科技有限公司 | 一种消息队列收发系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678614B2 (en) * | 2017-11-30 | 2020-06-09 | Oracle International Corporation | Messages with delayed delivery in an in-database sharded queue |
-
2019
- 2019-09-23 CN CN201910899144.8A patent/CN110636130B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684108A (zh) * | 2018-12-26 | 2019-04-26 | 江苏满运软件科技有限公司 | 消息队列的实现方法、系统、存储介质及电子设备 |
CN110147287A (zh) * | 2019-04-24 | 2019-08-20 | 珠海市珠澳跨境工业区好易通科技有限公司 | 一种消息队列收发系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110636130A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110636130B (zh) | 延时消息处理方法、装置、计算机设备和存储介质 | |
CN108449405B (zh) | 事件提醒方法、装置、计算机设备和存储介质 | |
CN108924250B (zh) | 基于区块链的业务请求处理方法、装置和计算机设备 | |
CN108256114B (zh) | 文档在线预览方法、装置、计算机设备和存储介质 | |
US9690813B2 (en) | Tunable hardware sort engine for performing composite sorting algorithms | |
CN110490594B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN108717426B (zh) | 企业数据的更新方法、装置、计算机设备及存储介质 | |
CN109040191B (zh) | 文件下载方法、装置、计算机设备和存储介质 | |
CN110943934A (zh) | 服务请求处理方法、系统、终端及可读存储介质 | |
CN111159233B (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN110727949B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN110908778A (zh) | 任务部署方法、系统和存储介质 | |
CN111756644A (zh) | 热点限流方法、系统、设备及存储介质 | |
CN109032527B (zh) | 数据处理方法、存储介质及计算机设备 | |
CN111541545A (zh) | 存证包生成方法、装置、计算机设备和存储介质 | |
CN111177121A (zh) | 订单数据反馈方法、装置、计算机设备及存储介质 | |
CN108011898B (zh) | 漏洞检测方法、装置、计算机设备和存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110659272A (zh) | 数据清洗方法和系统 | |
CN111209061A (zh) | 用户信息的填写方法、装置、计算机设备和存储介质 | |
CN110716916A (zh) | 资源在线管理方法、装置、计算机设备和存储介质 | |
CN110457614B (zh) | 降低数据并发量的数据增量更新方法、装置和计算机设备 | |
CN115277678B (zh) | 文件下载方法、装置、计算机设备及存储介质 | |
CN110648052B (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 |