[发明专利]一种用于集群的消息队列接收方法及系统在审
申请号: | 201410370190.6 | 申请日: | 2014-07-30 |
公开(公告)号: | CN104125283A | 公开(公告)日: | 2014-10-29 |
发明(设计)人: | 张径姝;施政 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京金信立方知识产权代理有限公司 11225 | 代理人: | 黄威;邓玉婷 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 集群 消息 队列 接收 方法 系统 | ||
1.一种用于集群的消息队列接收方法,其包括:
S1、以读取独立消息的方式从集群中的各个消息队列读取多个分段消息并存储到分段消息表中,所述多个分段消息来自多个不同的完整消息;
S2、扫描所述分段消息表,根据所述分段消息中的消息Flag确定该分段消息是否为来自同一个完整消息的多个分段消息中的最后一段消息;
S3、根据已被确定为最后一段消息的所述分段消息的消息描述符计算该分段消息所属的完整消息的总长度并进行记录;
S4、将所述分段消息表中的各所述分段消息按消息ID进行排序,对具有同一消息ID的一组分段消息进行长度求和,当计算的该长度等于步骤S3中计算的所述总长度时,将该组分段消息拼接为所述完整消息并存储到完整消息接收表中。
2.根据权利要求1所述的消息队列接收方法,其特征在于,在步骤S1中,以所述分段消息的消息ID、组ID和偏移量为主键,将读取到的所述分段消息存储到所述分段消息表中。
3.根据权利要求2所述的消息队列接收方法,其特征在于,步骤S1还包括:记录各所述分段消息的消息描述符,并将所述分段消息正文写入所述分段消息表的lob字段。
4.根据权利要求2所述的消息队列接收方法,其特征在于,步骤S4中的将所述分段消息表中的各所述分段消息按消息ID进行排序包括:扫描所述分段消息表,将具有相同的所述组ID的一组分段消息按消息ID进行排序。
5.根据权利要求3所述的消息队列接收方法,其特征在于,步骤S4中的将该组分段消息拼接为所述完整消息包括:对于所述具有同一消息ID的一组分段消息,读取所述分段消息表的lob字段,按照偏移量进行排序,依次将所述lob字段中的内容拼接起来,组成所述完整消息。
6.一种用于集群的消息队列接收系统,其包括:
读取单元,其配置为以读取独立消息的方式从集群中的各个消息队列读取多个分段消息并存储到分段消息表中,所述多个分段消息来自多个不同的完整消息;
扫描单元,其配置为扫描所述分段消息表,并根据所述分段消息中的消息Flag确定该分段消息是否为来自同一个完整消息的多个分段消息中的最后一段消息;
计算单元,其配置为根据由所述扫描单元确定为最后一段消息的所述分段消息的消息描述符计算该分段消息所属的完整消息的总长度,以及对具有同一消息ID的一组分段消息进行长度求和;
拼接单元,其配置为当所述计算单元计算的长度求和值等于其计算的所述总长度,则将该组分段消息拼接为所述完整消息并存储到完整消息接收表中;
存储单元,其连接到所述读取单元、扫描单元、计算单元和拼接单元,用于存储所述分段消息表、所述完整消息接收表、所述长度求和值和所述总长度。
7.根据权利要求6所述的消息队列接收系统,其特征在于,所述读取单元具体配置为以所述分段消息的消息ID、组ID和偏移量为主键而将读取到的所述分段消息存储到所述分段消息表中。
8.根据权利要求7所述的消息队列接收系统,其特征在于,所述读取单元具体配置为记录各所述分段消息的消息描述符,并将所述分段消息正文写入所述分段消息表的备份字段。
9.根据权利要求7所述的消息队列接收系统,其特征在于,还包括排序单元,其配置为将所述分段消息表中的具有相同的所述组ID的一组分段消息按消息ID进行排序。
10.根据权利要求8所述的消息队列接收方法,其特征在于,所述拼接单元具体配置为:对于所述具有同一消息ID的一组分段消息,读取所述分段消息表的lob字段,按照偏移量从小到大的顺序,依次将所述lob字段中的内容拼接起来,组成所述完整消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410370190.6/1.html,转载请声明来源钻瓜专利网。