CN112286973B - 数据消息的存储方法、装置、计算机设备及存储介质 - Google Patents
数据消息的存储方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112286973B CN112286973B CN202011305394.3A CN202011305394A CN112286973B CN 112286973 B CN112286973 B CN 112286973B CN 202011305394 A CN202011305394 A CN 202011305394A CN 112286973 B CN112286973 B CN 112286973B
- Authority
- CN
- China
- Prior art keywords
- app
- data message
- data
- index table
- segment
- 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/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
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/2282—Tablespace storage structures; Management thereof
-
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种数据消息的存储方法、装置、计算机设备及存储介质,涉及数据存储技术领域,用于减小数据消息推送的延时。方法主要包括:获取多个APP分别发送的数据消息;将所述数据消息存储到缓存队列的缓存段中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息;将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据消息的存储方法、装置、计算机设备及存储介质。
背景技术
现代生活中,互联网与人们的生活密不可分。通过互联网用户可获取到关注歌手推出的新专辑、游戏公司推出的一款新游戏、应用程序的最新版本、最新商品信息、新闻信息等。
目前,在接收到多个APP发送的推送消息后,将推送消息分批存储到缓存队列,即根据缓存队列中的顺序依次推送消息。但是,若在缓存队列中出现一个APP对应多个推送消息的情况,即该APP会占用较多的连续推送时间,那么对于其他APP的推送消息则会延时很久,因此基于现有数据消息存储的方式对消息推送的延时较高。
发明内容
本申请实施例提供一种数据消息的存储方法、装置、计算机设备及存储介质,用于减小数据消息推送的延时。
本发明实施例提供一种数据消息的存储方法,所述方法包括:
获取多个APP分别发送的数据消息;
将所述数据消息存储到缓存队列的缓存段中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息;
将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。
本发明实施例提供一种数据消息的存储装置,所述装置包括:
获取模块,用于获取多个APP分别发送的数据消息;
存储模块,用于将所述数据消息存储到缓存队列的缓存段中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息;
所述存储模块,还用于将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据消息的存储方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据消息的存储方法。
本发明提供一种数据消息的存储方法、装置、计算机设备及存储介质,首先获取多个APP分别发送的数据消息;然后将所述数据消息存储到缓存队列的缓存段中,最后将APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。与目前通过缓存队列存储所有APP发送的数据消息相比,本发明中的缓存队列包括多个缓存段,每个缓存段用于存储一个APP发送的数据消息,然后将APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,并基于位置索引表对APP的数据消息进行轮询发送,避免出现一个APP连续占用较多的推送时间,从而通过本发明可以减少数据消息推送的延时。
附图说明
图1为本申请第一实施例提供的数据消息的存储方法流程图;
图2为本申请第二实施例提供的数据消息的推送方法流程图;
图3为本申请第三实施例提供的数据消息的推送方法流程图;
图4为本申请第四实施例提供的数据消息的存储方法流程图;
图5为本申请一个实施例提供的数据消息的存储装置的结构框图;
图6为本申请一个实施例提供的计算机设备的一示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请实施例的技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请实施例技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
第一实施例
请参阅图1,所示为本发明第一实施例当中的数据消息的存储方法,所述方法具体包括步骤S10-步骤S30:
步骤S10,获取多个APP分别发送的数据消息。
其中,数据消息具体可以为APP的文本消息、图像消息、视频消息、和/或多媒体消息等,本发明实施例不做具体限定。
步骤S20,将所述数据消息存储到缓存队列的缓存段中。
其中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息。在本发明实施例中,可以根据APP的数量将缓存队列划分成多个缓存段,APP数量越多对缓存队列划分的缓存段也就越多;APP数量越少对缓存队列划分的缓存段也就越少。
例如,存在3中类型的APP,分别为APP1、APP2、APP3,若缓存队列中包括三个缓存段,分别为缓存段1、缓存段2、缓存段3,则可用缓存段1存储APP1的数据消息,缓存段2存储APP2的数据消息,缓存段3存储APP3的数据消息。
在本发明提供的一个实施例中,将所述数据消息存储到缓存队列的缓存段中,包括:
步骤S201,获取每个所述APP发送数据消息的首次时间。
例如,首次接收到APP1、APP2、APP3发送数据消息的时间分别为:12:01、12:04、12:10,则可将APP1发送的数据消息存储到第一个缓存段,将APP2发送的数据消息存储到第二缓存段,将APP3发送的数据消息存储到第三个缓存段中。
步骤S202,根据首次时间确定每个APP在所述缓存队列中对应的缓存段。
步骤S203,将每个APP的数据消息存储到缓存队列中对应的缓存段中。
在本发明实施例中,根据APP发送数据消息的首次时间,确定每个APP在缓存队列中对应的缓存段,然后将每个APP的数据消息存储到缓存队列中对应的缓存段中,以便于在后续步骤中将APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中。并依据位置索引表中数据项的先后顺序推送APP的数据消息。
例如,首次接收到APP1、APP2、APP3发送数据消息的时间分别为:12:01、12:04、12:10,则可将APP1发送的数据消息存储到第一个缓存段,将APP2发送的数据消息存储到第二缓存段,将APP3发送的数据消息存储到第三个缓存段中,即在位置索引表中的第一个数据项为APP1的存储位置、第二数据项为APP2的存储位置、第三个数据项为APP3的存储位置,然后依据位置索引表记录数据项的顺序,首先对APP1的数据消息进行推送,然后对APP2的数据消息进行推送,最后对APP3的数据消息进行推送。从而通过本实施例可实现根据APP发送数据消息的时间,对数据消息进行推送,提高了数据消息推送的实时性。
步骤S30,将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中。
其中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。APP的标识信息用来唯一标识APP,具体可以为数字、字母或者数字和字母的组合,本发明实施例不做具体限定。
如表1所示的位置索引表中,记录了APP1对应的存储位置为第一个缓存段,APP2对应的存储位置为第二个缓存段,APP3对应的存储位置为第三个缓存段。
表1
数据项 | APP的标识信息 | 缓存段的存储位置 |
1 | APP1 | 第一个缓存段 |
2 | APP2 | 第二个缓存段 |
3 | APP3 | 第三个缓存段 |
需要说明的是,若本实施例存在多个缓存队列,每个缓存队列有对应有多个缓存段,则在位置索引表中需要详细记录每个APP分别对应的存储位置,该存储位置包括了APP对应的缓存队列,以及缓存队列中对应的缓存段,以便于根据该存储位置查找到对应APP的数据消息。
本发明提供一种数据消息的存储方法,首先获取多个APP分别发送的数据消息;然后将所述数据消息存储到缓存队列的缓存段中,最后将APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。与目前通过缓存队列存储所有APP发送的数据消息相比,本发明中的缓存队列包括多个缓存段,每个缓存段用于存储一个APP发送的数据消息,然后将APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,并基于位置索引表对APP的数据消息进行轮询发送,避免出现一个APP连续占用较多的推送时间,从而通过本发明可以减少数据消息推送的延时。
第二实施例
请参阅图2,所示为本发明第二实施例当中的数据消息的推送方法,所述方法具体包括步骤S01-步骤S05:
步骤S01,获取多个APP分别发送的数据消息。
步骤S02,将所述数据消息存储到缓存队列的缓存段中。
其中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息。
步骤S03,将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中。
其中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。
需要说明的是,步骤S01-步骤S03与实施例一中相应步骤中描述的内容相同,本实施例在此不再赘述。
步骤S04,根据所述位置索引表中的数据消息的存储位置读取对应缓存段中的APP的数据消息。
具体的,根据位置索引表中的数据项的顺序,读取APP的数据消息。
步骤S05,推送读取的所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项。
例如,将APP1发送的数据消息存储到第一个缓存段,将APP2发送的数据消息存储到第二缓存段,将APP3发送的数据消息存储到第三个缓存段中,即在位置索引表中的第一个数据项为APP1的存储位置、第二数据项为APP2的存储位置、第三个数据项为APP3的存储位置,然后依据位置索引表记录数据项的顺序,首先对APP1的数据消息进行读取并推送,然后对APP2的数据消息进行读取并推送,最后对APP3的数据消息进行读取并推送。在成功对APP的数据消息推送之后,删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项。如,在成功推送APP1的数据消息之后,将APP1对应的第一个缓存段中的删除,以及删除位置索引表中APP1对应的第一个数据项。
本发明实施例提供的一种数据消息的存储方法,根据位置索引表中的数据消息的存储位置读取对应缓存段中的APP的数据消息,推送读取的所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项。从而通过本实施例可减少缓存段和位置索引表所占用的存储空间,实现对APP数据消息的推送,提高了数据消息推送的实时性。
第三实施例
请参阅图3,所示为本发明第三实施例当中的数据消息的推送方法,第三实施例与第二实施例不同之处在于,所述方法包括:
步骤S041,按照所述位置索引表中数据项的周期顺序,每次读取一个缓冲段中的APP的数据消息,每个所述数据项对应多个缓存段的存储位置。
步骤S042,推送读取的缓存段中所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项下对应缓存段的存储位置。
例如,表2所示的位置索引表,根据位置索引表中数据项的顺序,第一循环周期的操作为:在第一个缓存段中读取APP1的数据消息,在确定成功推送读取的APP1的数据消息之后,删除第一缓存段中的APP1的数据消息以及位置索引表中APP1对第一缓存段;在第二个缓存段中读取APP2的数据消息,在确定成功推送读取的APP2的数据消息之后,删除第二缓存段中的APP2的数据消息以及位置索引表中第2数据项的记录;在第三个缓存段中读取APP3的数据消息,在确定成功推送读取的APP3的数据消息之后,删除第三缓存段中的APP3的数据消息以及位置索引表中APP3对第三缓存段。
第二循环周期的操作为:在第四个缓存段中读取APP1的数据消息,在确定成功推送读取的APP1的数据消息之后,删除第四缓存段中的APP1的数据消息以及位置索引表中第1数据项的记录;在第五个缓存段中读取APP3的数据消息,在确定成功推送读取的APP3的数据消息之后,删除第五缓存段中的APP1的数据消息以及位置索引表中第3数据项的记录;至此实现了对位置索引表中APP1-APP3所有数据推送。
表2
数据项 | APP的标识信息 | 缓存段的存储位置 |
1 | APP1 | 第一、四个缓存段 |
2 | APP2 | 第二个缓存段 |
3 | APP3 | 第三、五个缓存段 |
本发明实施例提供的数据消息存储方法,按照位置索引表中数据项的周期顺序,每次读取一个缓冲段中的APP的数据消息,每个数据项对应多个缓存段的存储位置,推送读取的缓存段中所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项下对应缓存段的存储位置。从而通过本发明可兼顾所有APP数据消息的推送,避免一个APP的数据消息推送连续占用较多的时间,减少了数据消息推送的延时。
第四实施例
请参阅图4,所示为本发明第二实施例当中的数据消息的存储方法,所述方法具体包括步骤S100-步骤S05:
步骤S100,获取所述APP再次发送的数据消息。
其中,再次发送数据消息APP可以为已经发过数据消息的APP,也可以是首次发送数据消息的APP,本发明实施例不做具体限定。
步骤S200,查询位置索引表中是否存在APP的标识信息对应的数据项。
步骤S300A,若存在,则将再次发送的数据消息存储到对应数据项下的缓存段中。
步骤S300B,若不存在,则将再次发送的数据消息存储到缓存队列新的缓存段中。
步骤S400B,将APP的标识信息和其发送的数据消息的存储位置对应存储到位置索引表中。
例如,接收到APP1和APP4发送的数据消息,则查询位置索引表中是否存在APP1和APP4的标识信息对应的数据项。如表3所示,位置索引表中存在APP1对应的数据项,若在第四个缓存段还有存储空间,则将接收到的APP1的数据消息存储到第四个缓存段中,若在第四个缓存段中不存在存储APP1数据消息的存储空间,则将开辟一个新的缓存段存储APP1的数据消息;位置索引表中不存在APP4对应的数据项,则为APP4开辟一个新的缓存段以存储接收到的APP4的数据消息,并将APP4的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中。
表3
数据项 | APP的标识信息 | 缓存段的存储位置 |
1 | APP1 | 第一、四个缓存段 |
2 | APP2 | 第二个缓存段 |
3 | APP3 | 第三、五个缓存段 |
在本发明提供的一个实施例中,所述方法还包括:判断所述位置索引表中是否存在缓存段的存储位置为空的数据项;若存在缓存段的存储位置为空的数据项,则将缓存段的存储位置为空的数据项从所述位置索引表中删除。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据消息的存储装置,该数据消息的存储装置与上述实施例中数据消息的存储方法一一对应。如图5所示,所述数据消息的存储装置各功能模块详细说明如下所示:
获取模块10,用于获取多个APP分别发送的数据消息;
存储模块20,用于将所述数据消息存储到缓存队列的缓存段中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息;
所述存储模块20,还用于将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。
进一步的,所述存储模块20,包括:
获取单元21,用于获取每个所述APP发送数据消息的首次时间;
确定单元22,用于根据所述首次时间确定每个APP在所述缓存队列中对应的缓存段;
存储单元23,用于将每个APP的所述数据消息存储到所述缓存队列中对应的缓存段中。
进一步的,所述装置还包括:
读取模块30,用于根据所述位置索引表中的数据消息的存储位置读取对应缓存段中的APP的数据消息;
推送模块40,用于推送读取的所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项。
所述读取模块30,具体用于按照所述位置索引表中数据项的周期顺序,每次读取一个缓冲段中的APP的数据消息,每个所述数据项对应多个缓存段的存储位置;
所述推送模块40,具体用于推送读取的缓存段中所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项下对应缓存段的存储位置。
进一步的,所述装置还包括:
所述获取模块10,还用于获取所述APP再次发送的数据消息;
查询模块50,用于查询所述位置索引表中是否存在所述APP的标识信息对应的数据项;
所述存储模块20,还用于若存在,则将再次发送的数据消息存储到对应数据项下的缓存段中;
所述存储模块20,还用于若不存在,则将再次发送的数据消息存储到缓存队列新的缓存段中;
所述存储模块20,还用于将所述APP的标识信息和其发送的数据消息的存储位置对应存储到位置索引表中。
进一步的,所述装置还包括:
判断模块60,用于判断所述位置索引表中是否存在缓存段的存储位置为空的数据项;
删除模块70,用于若存在缓存段的存储位置为空的数据项,则将缓存段的存储位置为空的数据项从所述位置索引表中删除。
关于数据消息的存储装置的具体限定可以参见上文中对于数据消息的存储方法的限定,在此不再赘述。上述设备中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据消息的存储方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取多个APP分别发送的数据消息;
将所述数据消息存储到缓存队列的缓存段中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息;
将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取多个APP分别发送的数据消息;
将所述数据消息存储到缓存队列的缓存段中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息;
将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (8)
1.一种数据消息的存储方法,其特征在于,所述方法包括:
获取多个APP分别发送的数据消息;
将所述数据消息存储到缓存队列的缓存段中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息;
将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置;
基于所述位置索引表对各个缓存段中APP的数据消息进行轮询发送;
将所述数据消息存储到缓存队列的缓存段中,包括:
获取每个所述APP发送数据消息的首次时间;
根据所述APP的首次时间的先后顺序,确定每个APP在所述缓存队列中对应的缓存段;
将每个APP的所述数据消息存储到所述缓存队列中对应的缓存段中。
2.根据权利要求1所述的数据消息的存储方法,其特征在于,所述方法还包括:
根据所述位置索引表中的数据消息的存储位置读取对应缓存段中的APP的数据消息;
推送读取的所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项。
3.根据权利要求2所述的数据消息的存储方法,其特征在于,所述根据所述位置索引表中的数据消息的存储位置读取对应缓存段中的APP的数据消息,包括:
按照所述位置索引表中数据项的周期顺序,每次读取一个缓冲段中的APP的数据消息,每个所述数据项对应多个缓存段的存储位置;
所述推送读取的所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项,包括:
推送读取的缓存段中所述APP的数据消息,并删除对应缓存段中的APP的数据消息以及所述位置索引表中对应的数据项下对应缓存段的存储位置。
4.根据权利要求2所述的数据消息的存储方法,其特征在于,所述方法还包括:
获取所述APP再次发送的数据消息;
查询所述位置索引表中是否存在所述APP的标识信息对应的数据项;
若存在,则将再次发送的数据消息存储到对应数据项下的缓存段中;
若不存在,则将再次发送的数据消息存储到缓存队列新的缓存段中;
将所述APP的标识信息和其发送的数据消息的存储位置对应存储到位置索引表中。
5.根据权利要求3所述的数据消息的存储方法,其特征在于,所述方法还包括:
判断所述位置索引表中是否存在缓存段的存储位置为空的数据项;
若存在缓存段的存储位置为空的数据项,则将缓存段的存储位置为空的数据项从所述位置索引表中删除。
6.一种数据消息的存储装置,其特征在于,所述装置包括:
获取模块,用于获取多个APP分别发送的数据消息;
存储模块,用于将所述数据消息存储到缓存队列的缓存段中,所述缓存队列包括多个缓存段,每个所述缓存段用于存储一个APP发送的数据消息;
所述存储模块,还用于将所述APP的标识信息和其发送的数据消息缓存段的存储位置对应存储到位置索引表中,所述位置索引表中包括多个数据项,每个数据项为一个APP的数据标识及其发送的数据消息缓存段的存储位置;
基于所述位置索引表对各个缓存段中APP的数据消息进行轮询发送;
所述存储模块,包括:
获取单元,用于获取每个所述APP发送数据消息的首次时间;
确定单元,用于根据所述APP的首次时间的先后顺序,确定每个APP在所述缓存队列中对应的缓存段;
存储单元,用于将每个APP的所述数据消息存储到所述缓存队列中对应的缓存段中。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的数据消息的存储方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的数据消息的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011305394.3A CN112286973B (zh) | 2020-11-19 | 2020-11-19 | 数据消息的存储方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011305394.3A CN112286973B (zh) | 2020-11-19 | 2020-11-19 | 数据消息的存储方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112286973A CN112286973A (zh) | 2021-01-29 |
CN112286973B true CN112286973B (zh) | 2022-09-30 |
Family
ID=74398237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011305394.3A Active CN112286973B (zh) | 2020-11-19 | 2020-11-19 | 数据消息的存储方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112286973B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6928526B1 (en) * | 2002-12-20 | 2005-08-09 | Datadomain, Inc. | Efficient data storage system |
JP4405533B2 (ja) * | 2007-07-20 | 2010-01-27 | 株式会社東芝 | キャッシュ方法及びキャッシュ装置 |
CN102741843B (zh) * | 2011-03-22 | 2014-03-26 | 青岛海信传媒网络技术有限公司 | 从数据库中读取数据的方法及装置 |
CA2912938C (en) * | 2013-06-13 | 2021-06-01 | Tsx Inc. | Low latency device interconnect using remote memory access with segmented queues |
CN106657327A (zh) * | 2016-12-20 | 2017-05-10 | 上海银禾油信息技术有限公司 | 消息推送方法及装置 |
CN106970937B (zh) * | 2017-02-08 | 2021-01-22 | 焦点科技股份有限公司 | 一种基于本地缓存快速建立索引的方法及系统 |
CN107609086B (zh) * | 2017-09-07 | 2021-03-16 | 同程网络科技股份有限公司 | 一种app推送方法及其引擎系统 |
CN108200134B (zh) * | 2017-12-25 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 请求消息管理方法及装置、存储介质 |
CN110968431B (zh) * | 2018-09-28 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、装置及设备 |
CN110636130B (zh) * | 2019-09-23 | 2022-10-04 | 上海钧正网络科技有限公司 | 延时消息处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-11-19 CN CN202011305394.3A patent/CN112286973B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112286973A (zh) | 2021-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110830581B (zh) | 提升区块链响应速度的方法、区块链应用系统及相关设备 | |
CN110188110B (zh) | 一种构建分布式锁的方法及装置 | |
CN111159233B (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN112929401A (zh) | 一种注册方法及装置 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN112486913B (zh) | 一种基于集群环境下的日志异步存储方法和设备 | |
CN112632375B (zh) | 会话信息处理方法、服务器及存储介质 | |
CN112559386B (zh) | 提升ssd性能的方法、装置、计算机设备及存储介质 | |
CN109842621A (zh) | 一种减少token存储数量的方法及终端 | |
CN108512948B (zh) | 通讯录更新方法、装置、计算机设备和存储介质 | |
CN110377276B (zh) | 源代码文件管理方法及设备 | |
CN114896215A (zh) | 元数据的存储方法及装置 | |
CN111857600B (zh) | 一种数据读写方法及装置 | |
CN108228842B (zh) | Docker镜像库文件存储方法、终端、设备以及存储介质 | |
CN113885801A (zh) | 一种内存数据的处理方法及装置 | |
CN112286973B (zh) | 数据消息的存储方法、装置、计算机设备及存储介质 | |
CN110955450B (zh) | 一种应用包文件的归属统计方法、系统及存储介质 | |
CN110334034B (zh) | 映射表动态加载的方法、装置、计算机设备及存储介质 | |
CN116633616A (zh) | 数据访问方法、系统、设备及存储介质 | |
CN113704027B (zh) | 文件聚合兼容方法、装置、计算机设备和存储介质 | |
CN113157738B (zh) | 堆内数据缓存同步方法、装置、计算机设备及存储介质 | |
CN112287236A (zh) | 文本消息的推送方法、装置、计算机设备及存储介质 | |
CN113342275B (zh) | 区块链节点存取数据的方法、设备和计算机可读存储介质 | |
CN112286704B (zh) | 延时任务的处理方法、装置、计算机设备及存储介质 | |
CN114089912A (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 |