数据异步持久化方法、装置及计算机可读存储介质制造方法及图纸

技术编号:20944286 阅读:16 留言:0更新日期:2019-04-24 02:18
本发明专利技术公开了一种数据异步持久化方法、装置以及计算机可读存储介质,包括以下步骤:在接收到消息中间件输入的数据消息时,获取所述数据消息并解码,根据所述数据消息生成索引;根据消息所属主题,将生成的索引放入确定的主题索引数组中;根据消息所属主题集合,将索引放入确定的主题集合索引数组中;最后将索引存放入全局序列索引中。在所有索引数组满的时候持久化索引数组和数据消息。因本发明专利技术能够根据消息中间件输入输出的消息生成索引,然后再根据消息的所属主题和主题集合将放入不同的索引数组,并能持久化索引数组,从而解决了遇到巨量数据需要数据异步持久化或检索持久化数据时,数据存储结构不够灵活以及检索效率不高的问题。

Data Asynchronous Persistence Method, Device and Computer Readable Storage Media

The invention discloses a data asynchronous persistence method, device and computer readable storage medium, including the following steps: when receiving data messages input by message middleware, the data messages are acquired and decoded, and an index is generated according to the data messages; according to the subject of the message, the generated index is put into a determined subject index array; and according to the message belongs to, the index is decoded. Topic set, the index is put into the determined index array of topic set, and finally the index is stored in the global sequential index. Persist index arrays and data messages when all index arrays are full. The invention can generate an index according to the input and output messages of message middleware, and then put different index arrays according to the subject and subject set of the message, and can persist the index arrays, thus solving the problem that the data storage structure is not flexible enough and the retrieval efficiency is not high when a huge amount of data needs asynchronous persistence or retrieval of persistent data.

【技术实现步骤摘要】
数据异步持久化方法、装置及计算机可读存储介质
本专利技术涉及通讯领域,尤其涉及一种数据异步持久化方法、装置以及计算机可读存储介质。
技术介绍
数据安全和完整性在现代企业中的显得越来越重要,持久化是保障程序数据安全和完整性的一种重要方法。数据异步持久化技术是一种高效的持久化方法,其核心是异步执行持久化过程。在使用中间件的系统中,有需要大量传输的数据,而这些数据需要持久化并保障数据的安全和完整性。消息中间件利用高效可靠的消息传递机制进行平台无关的消息交换,是分布式环境下应用组件间通信的重要基础系统。现有的消息中间件数据异步持久化方法在本地建立磁盘文件或者数据库,当消息中间件从上游接收到消息之后,将消息放入消息队列中供数据异步持久化组件持久化。当消息中间件将消息发送到网络之后,将消息放入共享内存中,本地的数据异步持久化进程将消息写入本地磁盘文件或者数据库。当数据持久化成功,则删除共享内存中的消息,当遇到数据丢失或者需要检索持久化组件数据的时候,从本地文件或者数据库中读取数据。因此,现有的消息中间件数据异步持久化方法在遇到巨量数据需要数据异步持久化或检索时,数据存储结构不够灵活以及效率不高。上述内容仅用于辅助理解本专利技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
本专利技术的主要目的在于提供一种数据异步持久化方法、装置以及计算机可读存储介质,旨在遇到巨量数据需要数据异步持久化或检索持久化数据时,数据存储结构不够灵活以及检索效率不高的问题。为了达到上述目的,本专利技术提供一种数据异步持久化方法,所述数据异步持久化方法包括以下步骤:在接收到消息中间件输入的数据消息时,获取所述数据消息并根据所述数据消息生成索引;获取所述数据消息的主题、主题集合以及全局序列,将所述索引存放入与所述主题、所述主题集合以及所述全局序列对应的预设存储结构中;在所述主题、所述主题集合或所述全局序列对应的任一预设存储结构存满时,持久化所述存满的预设存储结构以及所述存满的预设存储结构中的索引对应的数据消息。优选地,所述持久化所述存满的预设存储结构以及所述存满的预设存储结构中的索引对应的数据消息的步骤包括:获取所述存满的预设存储结构,并将所述存满的预设存储结构存入对应的索引文件;获取所述存满的预设存储结构中的索引,并将所述索引对应的数据消息存入数据文件。优选地,所述将所述索引对应的数据消息存入数据文件的步骤之后,还包括:在生成索引文件后清空所述预设存储结构中的索引,并且删除缓存中的所述索引对应的所述数据消息。优选地,所述获取所述数据信息并根据所述数据信息生成主题索引的步骤之前,还包括:获取所述数据信息的存储大小以及共享内存的容量;在所述数据信息的存储大小小于所述共享内存的容量时,将所述数据信息存储在所述共享内存;在所述数据信息的存储大小大于所述共享内存的剩余容量时,将所述共享内存中的数据存入硬盘中。优选地,所述数据异步持久化方法还包括:在接收到所述消息中间件发送的检索请求时,获取所述检索请求对应的检索索引,其中,所述检索索引可以是主题索引、主题集合索引以及全局序列索引;获取所述检索索引对应的数据消息;在获取到所述检索索引对应的数据消息时,将所述数据消息发送至所述消息中间件。优选地,所述获取所述检索索引检索对应的数据消息的步骤之后,还包括:在未获取到所述检索索引对应的数据消息时,输出未获取到数据消息的提示信息。优选地,所述数据异步持久化方法还包括:在接收到恢复系统数据请求时,获取所述系统故障信息对应的故障类型;获取所述故障类型对应的恢复程序,并根据所述恢复程序恢复所述共享内存中的数据消息。此外,为实现上述目的,本专利技术还提供一种数据异步持久化装置,所述数据异步持久化装置包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的数据异步持久化程序,所述数据异步持久化程序被所述处理器执行时实现如上所述的数据异步持久化方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据异步持久化程序,所述数据异步持久化程序被处理器执行时实现如上所述的数据异步持久化方法的步骤。本专利技术提供的数据异步持久化方法、装置以及计算机可读存储介质,首先,在接收到消息中间件输入的数据消息时,获取所述数据消息并根据所述数据消息生成索引,然后,获取所述数据消息的主题、主题集合以及全局序列,将所述索引存放入与所述主题、所述主题集合以及所述全局序列对应的预设存储结构中,最后,在所述主题、所述主题集合或所述全局序列对应的任一预设存储结构存满时,持久化所述存满的预设存储结构以及所述存满的预设存储结构中的索引对应的数据消息。因本专利技术能够根据消息中间件输入输出的消息生成索引,然后再根据消息的所属主题和主题集合将放入不同的索引数组,并能持久化索引数组,从而解决了遇到巨量数据需要数据异步持久化或检索持久化数据时,数据存储结构不够灵活以及检索效率不高的问题。附图说明附图说明用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为本专利技术实施例方案涉及的数据异步持久化装置的硬件结构示意图;图2为本专利技术数据异步持久化方法第一实施例的流程示意图;图3为本专利技术数据异步持久化方法第二实施例的流程示意图;图4为本专利技术数据异步持久化方法第三实施例的流程示意图;图5为本专利技术数据异步持久化方法第四实施例的流程示意图;图6为本专利技术数据异步持久化方法第五实施例的流程示意图;图7为本专利技术数据异步持久化方法第六实施例的流程示意图;图8为本专利技术数据异步持久化方法第七实施例的流程示意图;图9为本专利技术数据异步持久化方法中索引的数据结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例的主要解决方案是:在接收到消息中间件输入的数据消息时,获取所述数据消息并根据所述数据消息生成索引;获取所述数据消息的主题、主题集合以及全局序列,将所述索引存放入与所述主题、所述主题集合以及所述全局序列对应的预设存储结构中;在所述主题、所述主题集合或所述全局序列对应的任一预设存储结构存满时,持久化所述存满的预设存储结构以及所述存满的预设存储结构中的索引对应的数据消息。由于现有的消息中间件数据异步持久化方法在遇到巨量数据需要数据异步持久化或检索持久化数据时,数据存储结构不够灵活以及效率不高。本专利技术提供一种解决方案,首先,在接收到消息中间件输入的数据消息时,获取所述数据消息并根据所述数据消息生成索引;然后,获取所述数据消息的主题、主题集合以及全局序列,将所述索引存放入与所述主题、所述主题集合以及所述全局序列对应的预设存储结构中;最后,在所述主题、所述主题集合或所述全局序列对应的任一预设存储结构存满时,持久化所述存满的预设存储结构以及所述存满的预设存储结构中的索引对应的数据消息。因本专利技术能够根据消息中间件输入输出的消息生成索引,然后再根据消息的所属主题和主题集合将放入不同的索引数组,并能持久化索引数组,从而解决了遇到巨量数据需要数据异步持久化或检索持久化数据时,数据存储结构不够灵活以及检索效率不高的问题。如图1所本文档来自技高网...

【技术保护点】
1.一种数据异步持久化方法,其特征在于,所述数据异步持久化方法包括以下步骤:在接收到消息中间件输入的数据消息时,获取所述数据消息并根据所述数据消息生成索引;获取所述数据消息的主题、主题集合以及全局序列,将所述索引存放入与所述主题、所述主题集合以及所述全局序列对应的预设存储结构中;在所述主题、所述主题集合或所述全局序列对应的任一预设存储结构存满时,持久化所述存满的预设存储结构以及所述存满的预设存储结构中的索引对应的数据消息。

【技术特征摘要】
1.一种数据异步持久化方法,其特征在于,所述数据异步持久化方法包括以下步骤:在接收到消息中间件输入的数据消息时,获取所述数据消息并根据所述数据消息生成索引;获取所述数据消息的主题、主题集合以及全局序列,将所述索引存放入与所述主题、所述主题集合以及所述全局序列对应的预设存储结构中;在所述主题、所述主题集合或所述全局序列对应的任一预设存储结构存满时,持久化所述存满的预设存储结构以及所述存满的预设存储结构中的索引对应的数据消息。2.如权利要求1所述的数据异步持久化方法,其特征在于,所述持久化所述存满的预设存储结构以及所述存满的预设存储结构中的索引对应的数据消息的步骤包括:获取所述存满的预设存储结构,并将所述存满的预设存储结构存入对应的索引文件;获取所述存满的预设存储结构中的索引,并将所述索引对应的数据消息存入数据文件。3.如权利要求2所述的数据异步持久化方法,其特征在于,所述将所述索引对应的数据消息存入数据文件的步骤之后,还包括:在生成索引文件后清空所述预设存储结构中的索引,并且删除缓存中的所述索引对应的所述数据消息。4.如权利要求1所述的数据异步持久化方法,其特征在于,所述获取所述数据信息并根据所述数据信息生成主题索引的步骤之前,还包括:获取所述数据信息的存储大小以及共享内存的容量;在所述数据信息的存储大小小于所述共享内存的容量时,将所述数据信息存储在所述共享内存;在所述数据信息的存储大小大于所述共享内...

【专利技术属性】
技术研发人员:彭世雄陈子文李玉龙陈滨邓硕灵俞瑾郭未
申请(专利权)人:深圳证券交易所
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1