【技术实现步骤摘要】
一种存储消息的方法和装置与一种读取消息的方法和装置
本申请涉及一种管理消息的方法。具体涉及一种存储消息的方法和装置以及一种读取消息的方法和装置。
技术介绍
本申请所涉及的消息是指业务系统或业务系统的不同功能模块间传递信息的载体。当业务系统或业务系统的功能模块需要通知其他的业务系统或系统的其他功能模块执行后续的操作时,会产生必要的信息,所述信息被保存到相应的消息组,以便其他业务系统或系统的其他功能模块从所述消息组读取所述必要的信息,执行后续的操作。消息管理系统管理消息的存储,读取和删除,可以被当作消息系统的的服务端,产生消息的业务系统或业务系统的功能模块是消息的生产者,需要获得消息的内容和相关数据并能够删除消息的业务系统或业务系统的功能模块是消息的消费者,也可以被当作消息系统的客户端。可靠消息系统管理消息的读取状态来保证消息至少读取成功一次。在消息系统服务端管理消息读取状态,需要保证读取者来读取消息时总是返回当前消息组中最先进入的消息。尤其是需要处理那些客户端没有读取成功的消息,保证这些消息可以被再次读取,最终做到所有消息至少被读取一次。实现该方式的已有方案可以大致分为两类:第一类,在消息的元数据信息中增加一个属性来记录消息的是否已经被成功读取。在消息被发送到消息系统时将消息的读取状态设置为“未读取”,在用户读取获取消息后将消息状态置为“正在读取”,用户成功读取后主动将消息的状态置为“已读取”。每次用户读取消息时,系统都是从最早进入且未被读取的消息开始取出其后的消息,过滤掉其中的“已读取”和“正在读取”的消息,返回“未读取”消息给用户。用户如果未能在约定的时 ...
【技术保护点】
1.一种存储消息的方法,其特征在于,包括:获取存储指定的待存储消息的请求;根据所述请求所对应的待存储消息的相关信息,生成所述待存储消息的含有第一删除标志的元信息数据和含有第二删除标志的消息实体数据;将所述待存储消息的元信息数据以及相应的待存储消息的消息实体数据原子地存储到存储介质。
【技术特征摘要】
1.一种存储消息的方法,其特征在于,包括:获取存储指定的待存储消息的请求;根据所述请求所对应的待存储消息的相关信息,生成所述待存储消息的含有第一删除标志的元信息数据和含有第二删除标志的消息实体数据;将所述待存储消息的元信息数据以及相应的待存储消息的消息实体数据原子地存储到存储介质。2.根据权利要求1所述的存储消息的方法,其特征在于,根据所述请求所对应的待存储消息的相关信息,生成所述待存储消息的含有第一删除标志的元信息数据和含有第二删除标志消息实体数据包括:为所述待存储消息生成消息标识;根据所述请求所对应的待存储消息的相关信息,生成包括元信息键和元信息删除标志的所述待存储消息的元信息数据;根据所述请求所对应的待存储消息的相关信息,生成包括消息实体键,消息实体值和消息实体删除标志的所述待存储消息的消息实体数据;其中,所述元信息删除标志为所述第一删除标志,所述消息实体删除标志为所述消息实体删除标志。3.根据权利要求2所述的存储消息的方法,其特征在于,所述根据所述请求所对应的待存储消息的相关信息,生成包括元信息键和元信息删除标志的所述待存储消息的元信息数据包括:将当前时间作为生成元信息数据的时间,生成包括所述待存储消息所属的消息组的标识,生成元信息数据的时间,所述消息标识和元信息标识的所述待存储消息的元信息键;生成值为假的所述待存储消息的元信息删除标志。4.根据权利要求2所述的存储消息的方法,其特征在于,所述根据所述请求所对应的待存储消息的相关信息,生成包括消息实体键,消息实体值和消息实体删除标志的所述待存储消息的消息实体数据包括:生成包括所述待存储消息所属的消息组的标识,所述消息标识和消息实体标识的所述待存储消息的消息实体键;生成包括所述待存储消息的内容的所述待存储消息的消息实体值;生成值为假的所述待存储消息的消息实体删除标志。5.根据权利要求2所述的存储消息的方法,其特征在于,所述消息标识为递增编号的数字。6.一种读取消息的方法,其特征在于,包括以下步骤:获取请求者读取指定消息组的消息的请求;根据缓存中所述请求所对应的消息组的第一个消息的元信息数据,生成相应的删除消息的元信息数据和隐藏消息的元信息数据;将所述删除消息的元信息数据和所述隐藏消息的元信息数据原子地存储到存储介质;将所述请求所对应的消息组的第一个消息的相关数据输出;其中,所述第一个消息包括生成元信息数据的时间最早的消息。7.根据权利要求6所述的读取消息的方法,其特征在于,所述根据所述请求所对应的消息组的第一个消息的元信息数据,生成相应的删除消息的元信息数据和隐藏消息的元信息数据包括:根据所述第一个消息的元信息数据生成删除消息的元信息数据;根据所述第一个消息和其所对应的超时时长生成隐藏消息的元信息数据。8.根据权利要求7所述的读取消息的方法,其特征在于,所述根据所述第一个消息的元信息数据生成删除消息的元信息数据包括:将所述第一个消息的的元信息键作为删除消息的元信息键,设置所述删除消息的元信息删除标志为真,生成删除消息的元信息数据。9.根据权利要求7所述的读取消息的方法,其特征在于,所述根据所述第一个消息和其所对应的超时时长生成隐藏消息的元信息数据包括:将所述第一个消息的元信息键的生成元信息数据的时间加上所述消息所对应的超时时长后得到的元信息键作为隐藏消息的元信息键,设置隐藏消息的元信息删除标志为假,生成隐藏消息的元信息数据。10.根据权利要求6所述的读取消息的方法,其特征在于,所述将所述请求所对应的消息组的第一个消息的相关数据输出包括:根据所述第一个消息的元信息数据,将相应的第一个消息的内容读入缓存;将缓存中所述消息的内容及所述消息的属性数据输出。11.根据权利要求6所述的读取消息的方法,其特征在于,所述将所述请求所对应的消息组的第一个消息的相关数据输出的步骤后还包括:获取删除所读取的所述消息的请求;当所述请求所对应的消息的元信息键的生成元信息数据与当前时间的差值小于所述消息的超时时长时,将所述隐藏消息的元信息键作为删除隐藏消息的元信息键,设置所述删除隐藏消息的元信息删除标志为真,生成删除隐藏消息的元信息数据;存储所述删除隐藏消息的元信息数据。12.根据权利要求6所述的读取消息的方法,其特征在于,所述根据缓存中所述请求所对应的消息组的第...
【专利技术属性】
技术研发人员:陈建锋,吴结生,陈舟锋,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。