本发明涉及数据处理,尤其涉及基于数据持久化的消息数据处理方法、装置及设备。
背景技术:
1、交易系统在处理交易业务过程中会产生大量业务数据,需要在保证高性能、高可靠的前提下把这些业务数据推送至周边系统完成业务的闭环。在上述过程中,如果使用传统的消息中间件来完成这项任务,不仅会给交易系统带来额外的运维成本,而且无法满足交易系统中的一些定制化需求,例如消息按需过滤,消息回溯等。
技术实现思路
1、本发明实施例提供了基于数据持久化的消息数据处理方法、装置及设备,旨在解决现有技术中交易系统使用消息中间件将业务数据推送至周边系统,不仅交易系统带来额外的运维成本,而且无法满足在交易系统中进行消息按需过滤及消息回溯等数据操作的问题。
2、第一方面,本发明实施例提供了一种基于数据持久化的消息数据处理方法,其包括:
3、响应于消息写入指令,则获取与所述消息写入指令相对应的待处理消息;
4、基于第一预设数据处理策略至少获取与所述待处理消息对应的消息类型、分区号、消息数据大小、消息校验码和消息体,并获取当前可写入消息记录文件,将所述待处理消息对应的消息类型、分区号、消息数据大小、消息校验码和消息体写入至所述当前可写入消息记录文件,以更新所述当前可写入消息记录文件;
5、基于第二预设数据处理策略至少获取与所述待处理消息对应的消息物理偏移量、消息数据大小和消息接收时间,并获取当前可写入索引文件,将所述待处理消息对应的消息物理偏移量、消息数据大小和消息接收时间写入至所述当前可写入索引文件,以更新所述当前可写入索引文件。
6、第二方面,本发明实施例还提供了一种基于数据持久化的消息数据处理装置,其包括:
7、待处理消息接收单元,用于响应于消息写入指令,则获取与所述消息写入指令相对应的待处理消息;
8、第一持久化写入单元,用于基于第一预设数据处理策略至少获取与所述待处理消息对应的消息类型、分区号、消息数据大小、消息校验码和消息体,并获取当前可写入消息记录文件,将所述待处理消息对应的消息类型、分区号、消息数据大小、消息校验码和消息体写入至所述当前可写入消息记录文件,以更新所述当前可写入消息记录文件;
9、第二持久化写入单元,用于基于第二预设数据处理策略至少获取与所述待处理消息对应的消息物理偏移量、消息数据大小和消息接收时间,并获取当前可写入索引文件,将所述待处理消息对应的消息物理偏移量、消息数据大小和消息接收时间写入至所述当前可写入索引文件,以更新所述当前可写入索引文件。
10、本发明实施例提供了基于数据持久化的消息数据处理方法、装置及设备,方法包括:响应于消息写入指令,则获取与消息写入指令相对应的待处理消息;基于第一预设数据处理策略至少获取与待处理消息对应的消息类型、分区号、消息数据大小、消息校验码和消息体,并获取当前可写入消息记录文件,将待处理消息对应的消息类型、分区号、消息数据大小、消息校验码和消息体写入至当前可写入消息记录文件,以更新当前可写入消息记录文件;基于第二预设数据处理策略至少获取与待处理消息对应的消息物理偏移量、消息数据大小和消息接收时间,并获取当前可写入索引文件,将待处理消息对应的消息物理偏移量、消息数据大小和消息接收时间写入至当前可写入索引文件,以更新当前可写入索引文件。本发明实施例能对交易系统产生的业务数据结合消息记录文件和索引文件持久化写入,无需引入消息中间件,降低了运维成本,还能对存储的消息进行便捷的推送操作。
1.一种基于数据持久化的消息数据处理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述基于第二预设数据处理策略至少获取与所述待处理消息对应的消息物理偏移量、消息数据大小和消息接收时间,并获取当前可写入索引文件,将所述待处理消息对应的消息物理偏移量、消息数据大小和消息接收时间写入至所述当前可写入索引文件,以更新所述当前可写入索引文件的步骤之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在所述判断所述当前索引文件读指针是否小于或等于所述目标索引文件的目标索引文件写指针的步骤之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,在所述若确定所述当前索引文件读指针大于所述目标索引文件的目标索引文件写指针,则确定所述当前索引文件读指针与所述目标索引文件的最大容量值的大小关系的步骤之后,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,在所述判断所述当前循环次数是否小于预设最大循环次数的步骤之后,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,在所述获取当前索引文件写指针并更新作为所述目标索引文件写指针的步骤之后,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,在所述若确定所述当前索引文件读指针大于或等于所述目标索引文件写指针,则增加阻塞线程的步骤之后,所述方法还包括:
8.一种基于数据持久化的消息数据处理装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的基于数据持久化的消息数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-7中任一项所述的基于数据持久化的消息数据处理方法。
