CN112069195A - 基于数据库的消息传输方法、装置、电子设备及存储介质 - Google Patents
基于数据库的消息传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112069195A CN112069195A CN202010941652.0A CN202010941652A CN112069195A CN 112069195 A CN112069195 A CN 112069195A CN 202010941652 A CN202010941652 A CN 202010941652A CN 112069195 A CN112069195 A CN 112069195A
- Authority
- CN
- China
- Prior art keywords
- message
- target
- storage unit
- timestamp
- consumption
- 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
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2322—Optimistic concurrency control using timestamps
-
- 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
-
- 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/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/547—Messaging middleware
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及通信技术领域,公开了一种基于数据库的消息传输方法、装置、电子设备及存储介质,降低了系统依赖和系统复杂性,进而降低了维护成,所述方法包括:接收待传输的消息,并将待传输的消息存入数据库的存储单元,其中,数据库中存储的每个消息关联有存入数据库时的时间戳;当接收到消息消费端发送的消息消费请求时,基于存储单元对应的关联信息中的目标时间戳,从存储单元中获取对应的目标消息并发送给消息消费端;当接收到消息消费端发送的表示已消费目标消息的应答信息时,基于存储单元中未消费消息的时间戳中的最小时间戳,更新关联信息中的目标时间戳。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种基于数据库的消息传输方法、装置、电子设备及存储介质。
背景技术
在消息传输过程中,常常会因为网络中断、网络拥塞等原因,导致设备间传输的数据积压,为了避免数据丢失,并在故障排除后完成积压的历史数据的续传,通常会在设备之间增加一个中间件实现断点续传,如KAFKA、RabbitMQ或RocketMQ等,但是中间件依赖较多、实现复杂,比如kafka需要依赖zookeeper解决分布式一致性问题,这增加了系统的复杂性和了维护成本。
发明内容
本申请实施例提供一种基于数据库的消息传输方法、装置、电子设备及存储介质,降低了系统依赖和系统复杂性,进而降低了维护成。
一方面,本申请一实施例提供了一种基于数据库的消息传输方法,包括:
接收待传输的消息,并将所述待传输的消息存入数据库的存储单元,其中,所述数据库中存储的每个消息关联有存入所述数据库时的时间戳;
当接收到消息消费端发送的消息消费请求时,基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端;
当接收到所述消息消费端发送的表示已消费所述目标消息的应答信息时,基于所述存储单元中未消费消息的时间戳中的最小时间戳,更新所述关联信息中的目标时间戳。
可选地,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,具体包括:
基于所述存储单元对应的关联信息中的目标时间戳,将所述存储单元中所述目标时间戳对应的消息作为目标消息发送给所述消息消费端。
可选地,所述消息消费请求还包括消费数量M,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,还包括:
按时间戳从小到大的顺序对所述存储单元中消息进行排序;
基于所述存储单元对应的关联信息中的目标时间戳,确定所述目标时间戳对应的消息在排序结果中的目标序位;
将排在所述目标序位之后的M-1个消息作为目标消息发送给所述消息消费端。
可选地,所述消息消费请求还包括消息偏移量N,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,具体包括:
按时间戳从小到大的顺序对所述存储单元中消息进行排序;
基于所述存储单元对应的关联信息中的目标时间戳,确定所述目标时间戳对应的消息在排序结果中的目标序位;
将排在所述目标序位之后的第N个消息作为目标消息发送给所述消息消费端。
可选地,所述消息消费请求还包括消费数量M,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,还包括:
将排在所述第N个消息之后的M-1个消息作为目标消息发送给所述消息消费端。
可选地,所述基于所述存储单元中未消费消息的时间戳中的最小时间戳,更新所述关联信息中的目标时间戳之前,所述方法还包括:
当接收到所述消息消费端发送的表示已消费所述目标消息的应答信息时,将所述存储单元中的所述目标消息的消费状态由未消费更新为已消费。
可选地,所述方法还包括:
获得所述存储单元对应的关联信息中的目标时间戳,并删除所述存储单元中时间戳小于获得的目标时间戳的已消费消息。
可选地,所述接收待传输的消息还携带有存储单元标识,所述将所述待传输的消息存入数据库的存储单元,具体包括:
将所述待传输的消息存入数据库中与所述存储单元标识对应的存储单元;
所述消息消费请求还包括存储单元标识,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,具体包括:
基于所述存储单元对应的关联信息中的目标时间戳,从与所述消息消费请求中的存储单元标识对应的存储单元中,获取对应的目标消息并发送给所述消息消费端。
一方面,本申请一实施例提供了一种基于数据库的消息传输装置,包括:
存储模块,用于接收待传输的消息,并将所述待传输的消息存入数据库的存储单元,其中,所述数据库中存储的每个消息关联有存入所述数据库时的时间戳;
消费模块,用于当接收到消息消费端发送的消息消费请求时,基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端;
更新模块,用于当接收到所述消息消费端发送的表示已消费所述目标消息的应答信息时,基于所述存储单元中未消费消息的时间戳中的最小时间戳,更新所述关联信息中的目标时间戳。
可选地,所述消费模块,具体用于当接收到消息消费端发送的消息消费请求时,基于所述存储单元对应的关联信息中的目标时间戳,将所述存储单元中所述目标时间戳对应的消息作为目标消息发送给所述消息消费端。
可选地,所述消息消费请求还包括消费数量M,所述消费模块,还用于:
按时间戳从小到大的顺序对所述存储单元中消息进行排序;
基于所述存储单元对应的关联信息中的目标时间戳,确定所述目标时间戳对应的消息在排序结果中的目标序位;
将排在所述目标序位之后的M-1个消息作为目标消息发送给所述消息消费端。
可选地,所述消息消费请求还包括消息偏移量N,所述消费模块,具体用于:
当接收到消息消费端发送的消息消费请求时,按时间戳从小到大的顺序对所述存储单元中消息进行排序;
基于所述存储单元对应的关联信息中的目标时间戳,确定所述目标时间戳对应的消息在排序结果中的目标序位;
将排在所述目标序位之后的第N个消息作为目标消息发送给所述消息消费端。
可选地,所述消息消费请求还包括消费数量M,所述消费模块,还用于将排在所述第N个消息之后的M-1个消息作为目标消息发送给所述消息消费端。
可选地,所述更新模块,还用于在基于所述存储单元中未消费消息的时间戳中的最小时间戳,更新所述关联信息中的目标时间戳之前,当接收到所述消息消费端发送的表示已消费所述目标消息的应答信息时,将所述存储单元中的所述目标消息的消费状态由未消费更新为已消费。
可选地,所述装置还包括删除模块,用于获得所述存储单元对应的关联信息中的目标时间戳,并删除所述存储单元中时间戳小于获得的目标时间戳的已消费消息。
可选地,所述接收待传输的消息还携带有存储单元标识,所述存储模块,具体用于将所述待传输的消息存入数据库中与所述存储单元标识对应的存储单元;
所述消息消费请求还包括存储单元标识,所述消费模块,具体用于基于所述存储单元对应的关联信息中的目标时间戳,从与所述消息消费请求中的存储单元标识对应的存储单元中,获取对应的目标消息并发送给所述消息消费端。
一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
一方面,本申请一实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种TCP传输性能的控制的各种可选实现方式中提供的方法。
本申请实施例提供的基于数据库的消息传输方法、装置、电子设备及存储介质,利用数据库存储待传输的消息,实现数据持久化,保证数据不会丢失,并记录每条消息存入数据库的时间戳,根据每条消息对应的时间戳,按序读取数据库中的消息,通过数据库的存储数据和读取数据的操作,模拟中间件的消息队列的生产和消费行为,与中间件技术相比,本申请实施例提供的基于数据库的消息传输方法,系统依赖和复杂性较低,性能较好且维护成本低,且数据库的存取操作优先使用内存实现,因此基于数据库实现的消息传输方法具有较高的性能和高可用性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于数据库的消息传输方法的应用场景示意图;
图2为本申请一实施例提供的基于数据库的消息传输方法的流程示意图;
图3为本申请一实施例提供的基于数据库的消息传输设备的工作原理示意图;
图4为本申请一实施例提供的基于数据库的消息传输装置的结构示意图;
图5为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
消息生产端,是指产生消息的终端,例如消息生产端可以是数据采集装置,如监控摄像头、环境监测传感器等设备,还可以是移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备。
消息消费端,是指接收并处理消息的终端,例如订单处理服务器、安防总控服务器等,基于从相应的消息生产端获取的消息并进行相应的处理,以获得响应的处理结果。
高可用性(High Availability),通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
在具体实践过程中,以安防场景为例,由于网络中断等原因,设备之间传递的数据会造成积压,为了在网络恢复时可以对积压的历史数据进行续传,通常利用KAFKA、RabbitMQ和RocketMQ等中间件来实现断点续传。但是,上述中间件依赖较多,比如kafka会依赖zookeeper解决分布式一致性问题,提高了系统的复杂性,增加了维护成本。
为此,本申请提供了一种基于数据库的消息传输方法,具体包括:接收待传输的消息,并将待传输的消息存入数据库的存储单元,其中,数据库中存储的每个消息关联有存入数据库时的时间戳;当接收到消息消费端发送的消息消费请求时,基于存储单元对应的关联信息中的目标时间戳,从存储单元中获取对应的目标消息并发送给消息消费端;当接收到消息消费端发送的表示已消费目标消息的应答信息时,基于存储单元中未消费消息的时间戳中的最小时间戳,更新关联信息中的目标时间戳。利用数据库存储待传输的消息,实现数据持久化,保证数据不会丢失,并记录每条消息存入数据库的时间戳,根据每条消息对应的时间戳,按序读取数据库中的消息,通过数据库的存储数据和读取数据的操作,模拟中间件的消息队列的生产和消费行为,与中间件技术相比,本申请实施例提供的基于数据库的消息传输方法,系统依赖和复杂性较低,性能较好且维护成本低,且数据库的存取操作优先使用内存实现,因此基于数据库实现的消息传输方法具有较高的性能和高可用性。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
参考图1,其为本申请实施例提供的基于数据库的消息传输方法的应用场景示意图。该应用场景包括消息生产端101、消息消费端102、消息传输设备103和数据库104。其中,消息生产端101和消息传输设备103之间、消息消费端102和消息传输设备103之间、消息传输设备103和数据库104之间均可以通过无线或有线通信网络连接,消息生产端101和消息消费端102包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备,消息生产端101还可以是数据采集装置,如监控摄像头、环境监测传感器等设备。数据库104可以是任意一种可以存储数据的数据库,如MongoDB(基于分布式文件存储的数据库)、MySQL(关系型数据库管理系统)等。
消息生产端101将需要传输给消息消费端102的消息发送给消息传输设备103,消息传输设备103将消息存入数据库的存储单元,同时在数据库中关联存储每个消息存入数据库时的时间戳,数据库中还存储有每个存储单元对应的关联信息,该关联信息包括目标时间戳,即下一个待读取消息的时间戳。消息消费端102向消息传输设备103发送消息消费请求,消息传输设备103在收到消息消费请求后,从数据库中获取存储单元对应的关联信息中的目标时间戳,基于目标时间戳,从存储单元中获取对应的目标消息并发送给消息消费端102。消息消费端102收到目标消息后,向消息传输设备103发送表示已消费目标消息的应答信息。消息传输设备103收到应答信息后,基于存储单元中未消费消息的时间戳中的最小时间戳,更新关联信息中的目标时间戳,即该最小时间戳对应的消息为下一个待读取的消息。
当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。
参考图2,本申请实施例提供一种基于数据库的消息传输方法,可应用于图1所示的消息传输设备,具体包括以下步骤:
S201、接收待传输的消息,并将待传输的消息存入数据库的存储单元,其中,数据库中存储的每个消息关联有存入数据库时的时间戳。
具体实施时,消息生产端将需要传输给消息消费端的消息发送给消息传输设备,消息传输设备将接收到的消息存入数据库的存储单元,同时数据库会关联存储每个消息存入数据库时的时间戳,例如,存储单元中的一条消息的数据结构可以是<存储单元标识,消息,时间戳>,以时间戳为索引,可快速查找到对应的消息。时间戳越小,消息存入数据库的时间越靠前,反之时间戳越大,消息存入数据库的时间越靠后。
具体实施时,一个数据库可包括多个存储单元,每个存储单元对应唯一的存储单元标识。为此,消息生产端发送的消息携带有存储单元标识,消息传输设备根据消息携带的存储单元标识,将待传输的消息存入数据库中与该存储单元标识对应的存储单元中。当消息生产端发送的消息未携带存储单元标识时,可将一个新的存储单元分配给该消息生产端,将待传输的消息存入该新的存储单元中,并将该新的存储单元的存储单元标识反馈给消息生产端,消息生产端后续发送的消息中可携带该新的存储单元的存储单元标识。
具体实施时,数据库中还存储有每个存储单元对应的关联信息,该关联信息包括目标时间戳,即下一个待读取消息的时间戳,关联信息的具体结构可以是:<存储单元标识,目标时间戳>。当在存储单元中存入第一条消息时,该存储单元的关联信息中的目标时间戳为第一条消息对应的时间戳。在存储单元中的消息被消息消费客户端读取后,会基于存储单元中未消费的消息,更新该存储单元对应的关联信息中的目标时间戳,保证按照消息存入数据库的先后顺序进行消费,这样可基于存储单元模拟消息队列,实现数据持久化。
S202、当接收到消息消费端发送的消息消费请求时,基于存储单元对应的关联信息中的目标时间戳,从存储单元中获取对应的目标消息并发送给消息消费端。
具体实施时,消息消费端向消息传输设备发送消息消费请求,消息传输设备在收到消息消费请求后,从数据库中获取存储单元对应的关联信息中的目标时间戳,基于目标时间戳,从存储单元中获取对应的目标消息并发送给消息消费端。
当数据库中存储有多种消息时,每种消息可存储在不同的存储单元中。为此,消息消费请求包括存储单元标识,消息传输设备基于存储单元对应的关联信息中的目标时间戳,从与消息消费请求中的存储单元标识对应的存储单元中,获取对应的目标消息并发送给消息消费端。这样,可通过一个数据库中的多个存储单元模拟出多个消息队列,以支持多种消息的传输。
S203、当接收到消息消费端发送的表示已消费目标消息的应答信息时,基于存储单元中未消费消息的时间戳中的最小时间戳,更新关联信息中的目标时间戳。
具体实施时,消息消费端收到消息传输设备基于消息消费请求返回的目标消息后,向消息传输设备发送表示已消费目标消息的应答信息。消息传输设备收到应答信息后,基于存储单元中未消费消息的时间戳中的最小时间戳,更新关联信息中的目标时间戳,即该最小时间戳对应的消息为下一个待读取消息。这样,在收到消息消费端下一次发送的消息消费请求后,会将下一个待读取消息发送消息消费端,保证按照消息存入数据库的先后顺序进行消费。
具体实施时,数据库中还关联存储了每个消息对应的消费状态,在将消息存入数据库时,将消息的消费状态标记为未消费,表示该消息为未消费消息。为此,在步骤S203之前,本申请实施例的方法还包括以下步骤:当接收到消息消费端发送的表示已消费目标消息的应答信息时,将存储单元中的目标消息的消费状态由未消费更新为已消费。具体地,消息传输设备在收到消息消费端发送的应答消息后,可从数据库中找到对应的目标消息,并将目标消息的消费状态更新为已消费,表示该目标消息为已消费消息。
本申请实施例的基于数据库的消息传输方法,利用数据库存储待传输的消息,实现数据持久化,保证数据不会丢失,并记录每条消息存入数据库的时间戳,根据每条消息对应的时间戳,按序读取数据库中的消息,通过数据库的存储数据和读取数据的操作,模拟中间件的消息队列的生产和消费行为,与中间件技术相比,本申请实施例提供的基于数据库的消息传输方法,系统依赖和复杂性较低,性能较好且维护成本低,且数据库的存取操作优先使用内存实现,因此基于数据库实现的消息传输方法具有较高的性能和高可用性。
在一种可能的实施方式中,消息消费端可按照消息对应的时间戳的先后顺序,逐条读取数据库中的消息。具体地,步骤S202具体包括:当接收到消息消费端发送的消息消费请求时,基于存储单元对应的关联信息中的目标时间戳,将存储单元中目标时间戳对应的消息作为目标消息发送给消息消费端。
例如,消息生产端将消息MG1、MG2、……MGn按序存入数据库的存储单元U1,MG1、MG2、……MGn对应的时间戳分别为T1、T2、……Tn,在消息消费端读取消息MG1之前,存储单元U1的关联信息中的目标时间戳为T1。当接收到消息消费端发送的消息消费请求时,消息传输设备先获取存储单元U1对应的关联信息,从该关联信息中读取目标时间戳T1,再从存储单元U1中获取时间戳为T1的消息MG1,将消息MG1作为目标消息发送给消息消费端,然后,在收到消息消费端返回的应答信息时,对存储单元U1中未消费消息MG2、……MGn的时间戳进行排序,获取其中最小的时间戳T2,将存储单元U1的关联信息中的目标时间戳更新为T2。当再次收到消息消费端发送的消息消费请求时,消息传输设备获取存储单元U1对应的关联信息中的目标时间戳T2,从存储单元U1中获取时间戳为T2的消息MG2,将消息MG2作为目标消息发送给消息消费端,然后,在收到消息消费端返回的应答信息时,对存储单元U1中的未消费消息MG3、……MGn的时间戳进行排序,获取其中最小的时间戳T3,将存储单元U1的关联信息中的目标时间戳更新为T3。依照上述步骤顺序存储和读取消息,模拟消息队列的生产和消费行为,利用数据库实现消息的断点续传。
进一步地,消息消费请求还包括消费数量M,即消息消费端从数据库中一次读取的消息的数量。基于此,步骤S202具体以下步骤:当接收到消息消费端发送的消息消费请求时,按时间戳从小到大的顺序对存储单元中消息进行排序;基于存储单元对应的关联信息中的目标时间戳,确定目标时间戳对应的消息在排序结果中的目标序位;将目标时间戳对应的消息以及排在目标序位之后的M-1个消息,作为目标消息发送给消息消费端。相应地,当接收到消息消费端发送的表示已消费目标消息的应答信息时,消息传输设备可将对应的存储单元的关联信息中的目标时间戳,更新为排在目标序位之后的第M个消息的时间戳。
需要说明的是,消费数量M为不小于1的整数,当M=1时,只读取一个消息,此时即为按照消息对应的时间戳的先后顺序逐条读取消息的实施方式,当M=2时,即一次读取两条消息。
例如,消息生产端将消息MG1、MG2、……MGn按序存入数据库的存储单元U1,MG1、MG2、……MGn对应的时间戳分别为T1、T2、……Tn,在消息消费端读取消息MG1之前,存储单元U1的关联信息中的目标时间戳为T1。当接收到消息消费端发送的消息消费请求时,从消息消费请求中获取存储单元标识U1和消费数量M,若M=2,消息传输设备先获取存储单元U1对应的关联信息,从该关联信息中读取目标时间戳T1,再按照时间戳从小到大的顺序确定消息的排序,获取T1对应的消息MG1以及排在T1之后的T2对应的消息MG2,将消息MG1、MG2作为目标消息发送给消息消费端,然后,在收到消息消费端返回的应答信息时,对存储单元U1中未消费消息MG3、……MGn的时间戳进行排序,获取其中最小的时间戳T3,将存储单元U1的关联信息中的目标时间戳更新为T3,从而实现了批量读取消息。
在另一种可能的实施方式中,消息消费请求还包括消息偏移量N,消息消费请求的结构可以是:<存储单元标识,消息偏移量>,其中消息偏移量N为不小于0的整数,当N=0时,当表示本次读取的消息为下一个待读取消息,当N=1时,表示读取下一个待读取消息之后的消息。基于此,消息消费端可按照需求,间隔读取存储单元中的任意一条消息。
具体实施时,步骤S202具体包括:当接收到消息消费端发送的消息消费请求时,按时间戳从小到大的顺序对存储单元中消息进行排序;基于存储单元对应的关联信息中的目标时间戳,确定目标时间戳对应的消息在排序结果中的目标序位;将排在目标序位之后的第N个消息作为目标消息发送给消息消费端。
例如,消息生产端将消息MG1、MG2、……MGn按序存入数据库的存储单元U1,MG1、MG2、……MGn对应的时间戳分别为T1、T2、……Tn,在消息消费端读取消息MG1之前,存储单元U1的关联信息中的目标时间戳为T1。当接收到消息消费端发送的消息消费请求时,从消息消费请求中获取存储单元标识U1和消息偏移量N,若N=0,表示按时间戳的顺序逐条读取消息,此时消息传输设备先获取存储单元U1对应的关联信息,从该关联信息中读取目标时间戳T1,再从存储单元U1中获取时间戳为T1的消息MG1,将消息MG1作为目标消息发送给消息消费端,然后,在收到消息消费端返回的应答信息时,对存储单元U1中未消费消息MG2、……MGn的时间戳进行排序,获取其中最小的时间戳T2,将存储单元U1的关联信息中的目标时间戳更新为T2。当再次收到消息消费端发送的消息消费请求时,若N=2,表示需要跳过两条未读消息后读取消息,此时消息传输设备按时间戳从小到大的顺序对存储单元U1中的未读消息进行排序,得到排序结果:MG2、MG3、MG4……MGn,并获取关联信息中的目标时间戳T2,将排在目标时间戳T2对应的消息MG2之后的第2个消息MG4作为目标消息发送给消息消费端,然后,在收到消息消费端返回的应答信息时,对存储单元U1中的未消费消息MG2、MG3、MG5……MGn的时间戳进行排序,获取其中最小的时间戳T2,保持存储单元U1的关联信息中的目标时间戳为T2。
进一步地,消息消费请求还包括消费数量M,此时,消息消费请求的结构可以是:<存储单元标识,消息偏移量,消费数量>。基于此,步骤S202具体包括:当接收到消息消费端发送的消息消费请求时,按时间戳从小到大的顺序对存储单元中消息进行排序;基于存储单元对应的关联信息中的目标时间戳,确定目标时间戳对应的消息在排序结果中的目标序位;将排在目标序位之后的第N个消息、以及排在第N个消息之后的M-1个消息,作为目标消息发送给消息消费端。
例如,消息生产端将消息MG1、MG2、……MGn按序存入数据库的存储单元U1,MG1、MG2、……MGn对应的时间戳分别为T1、T2、……Tn,在消息消费端读取消息MG1之前,存储单元U1的关联信息中的目标时间戳为T1。当接收到消息消费端发送的消息消费请求时,从消息消费请求中获取存储单元标识U1、消息偏移量N和消费数量M,若N=2,M=2,消息传输设备先获取存储单元U1对应的关联信息,从该关联信息中读取目标时间戳T1,再按照时间戳从小到大的顺序确定消息的排序,排序结果为:MG1、MG2、MG3、MG4、MG5……MGn,获取排在T1对应的消息MG1之后的第2个消息MG3、以及排在消息MG3之后的两个消息MG4和MG5,将消息MG3、MG4和MG5作为目标消息发送给消息消费端,然后,在收到消息消费端返回的应答信息时,对存储单元U1中的未消费消息MG1、MG2、MG6……MGn的时间戳进行排序,获取其中最小的时间戳T1,保持存储单元U1的关联信息中的目标时间戳为T1。当再次收到消息消费端发送的消息消费请求时,若N=0,M=1,表示按时间戳的顺序逐条读取消息,此时消息传输设备先获取存储单元U1对应的关联信息,从该关联信息中读取目标时间戳T1,再从存储单元U1中获取时间戳为T1的消息MG1,将消息MG1作为目标消息发送给消息消费端,然后,在收到消息消费端返回的应答信息时,对存储单元U1中未消费消息MG2、MG6、……MGn的时间戳进行排序,获取其中最小的时间戳T2,将存储单元U1的关联信息中的目标时间戳更新为T2。
在上述任一实施方式的基础上,消息传输设备可在收到消息消费端返回的应答信息后,从数据库中删除已发送给消息消费端的目标消息。或者,为了避免对数据重复处理和对数据库频繁地进行删除操作,可定时删除数据库中已消费的消息,其中定时周期可根据实际应用需求、消息传输量、存储单元存储量等因素综合考虑,例如定时周期可以是10秒、1分钟、10分钟。
具体地,消息传输设备可将数据库中已消费消息的消费状态更新为已消费,消息传输设备按照定时周期,定时执行删除数据库中已消费消息的操作,以删除数据库中消费状态为已消费的消息。或者,针对数据库中的每个存储单元,消息传输设备可定时获得该存储单元对应的关联信息中的目标时间戳,并删除该存储单元中时间戳小于获得的目标时间戳的消息,例如,消息生产端将消息MG1、MG2、……MGn按序存入数据库的存储单元U1,MG1、MG2、……MGn对应的时间戳分别为T1、T2、……Tn,当到达定时周期时,消息传输设备获取存储单元U1对应的关联信息,从该关联信息中读取的目标时间戳为T3,确定存储单元U1中小于目标时间戳T3的时间戳为T1和T2,进而删除T1和T2对应的消息MG1、MG2。
在上述任一实施方式的基础上,每个存储单元的关联信息中还包括消息总量,消息总量表示存储单元中存储的消息的总数,此时,关联信息的具体结构可以是:<存储单元标识,目标时间戳,消息总量>。当消息消费请求中包含的消费数量M大于存储单元的消息总量时,可向消息消费端返回消费数量M大于存储单元的消息总量的提示信息,以提示用户更正消息消费请求中的参数。
本申请实施例中的数据库可以是任意一种可以存储数据的数据库,如MongoDB、MySQL等。下面结合图3,以MongoDB为例,对本申请实施例的方法进行说明:
首先介绍以下MongoDB存储的方式,可将MongoDB中的一个collection(集合)配置为一个bucket(即存储单元),用于存储待传输的消息,每个bucket有唯一的bucketID,MongoDB中存储消息object的结构为<bucketID,object,createTimeStamp>,其中createTimeStamp为消息存入MongoDB时的时间戳,MongoDB中存储的每个消息以createTimeStamp为索引,方便信息查询。此外,MongoDB还额外配置一个collection,用于存储各个bucket分别对应的meta信息(即关联信息),每个bucket对应的meta信息包括<bucketID,目标时间戳,消息总量>。
消息生产端通过消息传输设备提供的生产数据接口,将需要传输给消息消费端的消息发送给消息传输设备,消息生产端发送的消息入队请求的格式为:product(bucketID,object)。消息传输设备根据消息入队请求,将接收到的消息object存入MongoDB中编号为bucketID的bucket中,同时在数据库中关联存储消息object存入MongoDB时的时间戳createTimeStamp。当消息入队请求中未指定bucketID,或者指定的bucketID不存在时,可将一个新的collection配置为bucket,将消息存储在该新配置的bucket中。
消息消费端通过消息传输设备提供的消费数据接口发送消息消费请求,消息消费请求的格式为:consume(bucketID,offset,limit),其中bucketID为指定获取的消息所在bucket的bucketID,offset为消息偏移量,offset的默认为0,limit为消费数量,即本次读取消息的个数。消息传输设备在收到消息消费请求后,从MongoDB中获取编号为bucketID的bucket对应的meta信息,从该meta信息中获取目标时间戳,基于目标时间戳、以及消息消费请求中的offset和limit,从上述bucket中获取对应的至少一个目标消息并发送给消息消费端。
消息消费端收到消息传输设备发送的目标消息后,对目标消息进行消费,同时生成针对consume的应答信息,应答信息的格式为:ack(bucketID,offset,limit),其中bucketID、offset和limit为对应的consume中参量,通过消息传输设备提供的应答接口,将应答信息发送给消息传输设备,以向消息传输设备确认目标消息已消费。消息传输设备收到应答信息后,对编号为bucketID的bucket中未消费消息的时间戳进行排序,确定其中的最小时间戳,将编号为bucketID的bucket的联信息中的目标时间戳更新为最小时间戳,该最小时间戳对应的消息为下一个待读取的消息。
通过后台定时线程设置定时删除任务:定时获得各个bucket对应的meta信息中的目标时间戳,针对每个bucket,遍历该bucket中存储的消息,删除createTimeStamp小于该bucket对应的目标时间戳的消息,完成已消费消息的回收。
使用MongoDB模拟消息队列,实现断点续传,简化设计,实现功能的同时降低系统的依赖性和维护的复杂性,MongoDB的存取操作优先使用内存,且MongoDB采用的replicasets架构为高可用性提供了内置的支持,因此基于MongoDB实现的消息传输方法具有较高的性能。
如图4所示,基于与上述基于数据库的消息传输方法相同的发明构思,本申请实施例还提供了一种基于数据库的消息传输装置40,包括存储模块401、消费模块402和更新模块403。
存储模块401,用于接收待传输的消息,并将待传输的消息存入数据库的存储单元,其中,数据库中存储的每个消息关联有存入数据库时的时间戳;
消费模块402,用于当接收到消息消费端发送的消息消费请求时,基于存储单元对应的关联信息中的目标时间戳,从存储单元中获取对应的目标消息并发送给消息消费端;
更新模块403,用于当接收到消息消费端发送的表示已消费目标消息的应答信息时,基于存储单元中未消费消息的时间戳中的最小时间戳,更新关联信息中的目标时间戳。
可选地,消费模块402,具体用于当接收到消息消费端发送的消息消费请求时,基于存储单元对应的关联信息中的目标时间戳,将存储单元中目标时间戳对应的消息作为目标消息发送给消息消费端。
可选地,消息消费请求还包括消费数量M,为此消费模块402还用于:按时间戳从小到大的顺序对存储单元中消息进行排序;基于存储单元对应的关联信息中的目标时间戳,确定目标时间戳对应的消息在排序结果中的目标序位;将排在目标序位之后的M-1个消息作为目标消息发送给消息消费端。
可选地,消息消费请求还包括消息偏移量N,为此,消费模块402具体用于:当接收到消息消费端发送的消息消费请求时,按时间戳从小到大的顺序对存储单元中消息进行排序;基于存储单元对应的关联信息中的目标时间戳,确定目标时间戳对应的消息在排序结果中的目标序位;将排在目标序位之后的第N个消息作为目标消息发送给消息消费端。
可选地,消息消费请求还包括消费数量M,为此,消费模块402还用于将排在第N个消息之后的M-1个消息作为目标消息发送给消息消费端。
可选地,更新模块403,还用于在基于存储单元中未消费消息的时间戳中的最小时间戳,更新关联信息中的目标时间戳之前,当接收到消息消费端发送的表示已消费目标消息的应答信息时,将存储单元中的目标消息的消费状态由未消费更新为已消费。
可选地,基于数据库的消息传输装置40还包括删除模块,用于获得存储单元对应的关联信息中的目标时间戳,并删除存储单元中时间戳小于获得的目标时间戳的已消费消息。
可选地,接收待传输的消息还携带有存储单元标识,为此存储模块401,具体用于将待传输的消息存入数据库中与存储单元标识对应的存储单元。
消息消费请求还包括存储单元标识,为此消费模块402,具体用于基于存储单元对应的关联信息中的目标时间戳,从与消息消费请求中的存储单元标识对应的存储单元中,获取对应的目标消息并发送给消息消费端。
本申请实施例提的基于数据库的消息传输装置与上述基于数据库的消息传输方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
基于与上述基于数据库的消息传输方法相同的发明构思,本申请实施例还提供了一种电子设备,如图5所示,该电子设备50可以包括处理器501和存储器502。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述基于数据库的消息传输方法的程序。
上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种基于数据库的消息传输方法,其特征在于,包括:
接收待传输的消息,并将所述待传输的消息存入数据库的存储单元,其中,所述数据库中存储的每个消息关联有存入所述数据库时的时间戳;
当接收到消息消费端发送的消息消费请求时,基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端;
当接收到所述消息消费端发送的表示已消费所述目标消息的应答信息时,基于所述存储单元中未消费消息的时间戳中的最小时间戳,更新所述关联信息中的目标时间戳。
2.根据权利要求1所述的方法,其特征在于,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,具体包括:
基于所述存储单元对应的关联信息中的目标时间戳,将所述存储单元中所述目标时间戳对应的消息作为目标消息发送给所述消息消费端。
3.根据权利要求2所述的方法,其特征在于,所述消息消费请求还包括消费数量M,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,还包括:
按时间戳从小到大的顺序对所述存储单元中消息进行排序;
基于所述存储单元对应的关联信息中的目标时间戳,确定所述目标时间戳对应的消息在排序结果中的目标序位;
将排在所述目标序位之后的M-1个消息作为目标消息发送给所述消息消费端。
4.根据权利要求1所述的方法,其特征在于,所述消息消费请求还包括消息偏移量N,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,具体包括:
按时间戳从小到大的顺序对所述存储单元中消息进行排序;
基于所述存储单元对应的关联信息中的目标时间戳,确定所述目标时间戳对应的消息在排序结果中的目标序位;
将排在所述目标序位之后的第N个消息作为目标消息发送给所述消息消费端。
5.根据权利要求4所述的方法,其特征在于,所述消息消费请求还包括消费数量M,所述基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端,还包括:
将排在所述第N个消息之后的M-1个消息作为目标消息发送给所述消息消费端。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于所述存储单元中未消费消息的时间戳中的最小时间戳,更新所述关联信息中的目标时间戳之前,所述方法还包括:
当接收到所述消息消费端发送的表示已消费所述目标消息的应答信息时,将所述存储单元中的所述目标消息的消费状态由未消费更新为已消费。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获得所述存储单元对应的关联信息中的目标时间戳,并删除所述存储单元中时间戳小于获得的目标时间戳的已消费消息。
8.一种基于数据库的消息传输装置,其特征在于,包括:
存储模块,用于接收待传输的消息,并将所述待传输的消息存入数据库的存储单元,其中,所述数据库中存储的每个消息关联有存入所述数据库时的时间戳;
消费模块,用于当接收到消息消费端发送的消息消费请求时,基于所述存储单元对应的关联信息中的目标时间戳,从所述存储单元中获取对应的目标消息并发送给所述消息消费端;
更新模块,用于当接收到所述消息消费端发送的表示已消费所述目标消息的应答信息时,基于所述存储单元中未消费消息的时间戳中的最小时间戳,更新所述关联信息中的目标时间戳。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010941652.0A CN112069195A (zh) | 2020-09-09 | 2020-09-09 | 基于数据库的消息传输方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010941652.0A CN112069195A (zh) | 2020-09-09 | 2020-09-09 | 基于数据库的消息传输方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112069195A true CN112069195A (zh) | 2020-12-11 |
Family
ID=73663199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010941652.0A Pending CN112069195A (zh) | 2020-09-09 | 2020-09-09 | 基于数据库的消息传输方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112069195A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037420A (zh) * | 2021-05-20 | 2021-06-25 | 北京金山云网络技术有限公司 | 读时间戳的获取方法和装置、电子设备和存储介质 |
CN113296976A (zh) * | 2021-02-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 消息处理方法、装置、电子设备、存储介质及程序产品 |
CN113296977A (zh) * | 2021-02-24 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种消息处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016218554A (ja) * | 2015-05-15 | 2016-12-22 | メキキ・クリエイツ株式会社 | 情報管理方法及び装置 |
CN108810116A (zh) * | 2018-05-29 | 2018-11-13 | Oppo广东移动通信有限公司 | 消息处理方法及相关产品 |
CN111338814A (zh) * | 2020-02-13 | 2020-06-26 | 北京奇艺世纪科技有限公司 | 消息处理方法和装置、存储介质和电子装置 |
CN111381986A (zh) * | 2020-03-10 | 2020-07-07 | 北京奇艺世纪科技有限公司 | 消息传输方法、系统、装置、电子设备及可读存储介质 |
-
2020
- 2020-09-09 CN CN202010941652.0A patent/CN112069195A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016218554A (ja) * | 2015-05-15 | 2016-12-22 | メキキ・クリエイツ株式会社 | 情報管理方法及び装置 |
CN108810116A (zh) * | 2018-05-29 | 2018-11-13 | Oppo广东移动通信有限公司 | 消息处理方法及相关产品 |
CN111338814A (zh) * | 2020-02-13 | 2020-06-26 | 北京奇艺世纪科技有限公司 | 消息处理方法和装置、存储介质和电子装置 |
CN111381986A (zh) * | 2020-03-10 | 2020-07-07 | 北京奇艺世纪科技有限公司 | 消息传输方法、系统、装置、电子设备及可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296976A (zh) * | 2021-02-10 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 消息处理方法、装置、电子设备、存储介质及程序产品 |
CN113296977A (zh) * | 2021-02-24 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种消息处理方法及装置 |
CN113037420A (zh) * | 2021-05-20 | 2021-06-25 | 北京金山云网络技术有限公司 | 读时间戳的获取方法和装置、电子设备和存储介质 |
CN113037420B (zh) * | 2021-05-20 | 2021-09-07 | 北京金山云网络技术有限公司 | 读时间戳的获取方法和装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110222091B (zh) | 一种海量数据实时统计分析方法 | |
CN112069195A (zh) | 基于数据库的消息传输方法、装置、电子设备及存储介质 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
CN111061758B (zh) | 数据存储方法、装置及存储介质 | |
CN111782470A (zh) | 分布式容器日志数据处理方法及装置 | |
CN104219639A (zh) | 一种显示短信记录的方法和装置 | |
CN112256451A (zh) | 定时业务消息生成方法、装置、电子设备及存储介质 | |
CN112905668B (zh) | 基于分布式数据流处理引擎的数据库导数方法、设备和介质 | |
CN101836403A (zh) | 压缩表格数据流协议的行中的空列 | |
CN111984198A (zh) | 消息队列实现方法、装置及电子设备 | |
CN113590017A (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
CN110865973B (zh) | 一种数据处理方法及设备和相关装置 | |
CN111309693A (zh) | 一种数据同步方法、装置、系统、电子设备及存储介质 | |
CN116303303A (zh) | 批量数据处理方法、装置、设备及介质 | |
CN112395337A (zh) | 一种数据导出方法和装置 | |
CN114500036A (zh) | 一种传输数据的方法、装置以及介质 | |
CN114048059A (zh) | 接口的超时时间调整方法、装置、计算机设备及存储介质 | |
CN113031982A (zh) | 应用程序运行预测方法、装置以及电子设备 | |
CN111258754A (zh) | 一种基于时间窗口的资源处理方法、装置、介质以及系统 | |
CN111479142A (zh) | 一种基于信息发布的节目内容更新方法和系统 | |
CN107168685B (zh) | 更新脚本的方法及装置、计算机终端 | |
CN110908886A (zh) | 一种数据发送方法、装置、电子设备和存储介质 | |
CN110895464B (zh) | 应用部署方法、设备和系统 | |
US20150081886A1 (en) | Data network device discovery optimization to reduce data transfer volume | |
CN116320005A (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 |