基于消息驱动的用户任务管理系统的制作方法

文档序号:6635034阅读:335来源:国知局
基于消息驱动的用户任务管理系统的制作方法
【专利摘要】一种基于消息驱动的用户任务管理系统,在用户的具体行为和任务系统之间,具有消息系统,用于存储各类用户的具体行为,在消息系统和任务系统之间还具有用户事件信息队列,所述用户事件信息队列是一个分布式的信息队列,用于将所述消息系统之间的消息分配给任务系统。本发明在用户行为和任务执行之间加了一个消息系统和用户事件消息队列,实现了对用户行为和任务执行的分离,大大降低了用户行为对任务系统的压力,同时可以通过频率控制,控制任务的处理速度,大大提供系统的安全性和可靠性。基于分布式的用户事件消息队列实现了系统的横向扩展,让任务系统可以支持大数据量,高并发,同时也具备一定的容灾性。
【专利说明】 基于消息驱动的用户任务管理系统

【技术领域】
[0001]本申请涉及一种用户任务管理系统,具体地,涉及一种基于消息驱动的用户任务管理系统。

【背景技术】
[0002]现有技术中,传统的任务流程系统,主要基于事件触发机制,能根据用户的行为,直接触发任务流程,对任务的处理速度和处理频率并不可控,当用户执行完具体操作后,会立刻执行任务逻辑,比如传统0A系统中的工作流系统。
[0003]但是当用户量很大,用户行为很多的时候,很难支持大数据量,大并发任务的自动化执行。并且,在任务流程系统中,并不是所有的任务都需要很强的实时性,因此,基于事件触发机制的任务流程系统对系统的并发要求很高,使得系统成本上升,造成不必要的浪费。
[0004]因此,如何能够降低用户行为对任务系统的压力,控制对任务的处理频率和速度,提高系统的安全性和可靠性成为现有技术亟需解决的技术问题。


【发明内容】

[0005]本发明的目的在于提出一种基于消息驱动的用户任务管理系统,能够使得系统具有较高的安全性、稳定性及可靠性。
[0006]为达此目的,本发明采用以下技术方案:
一种基于消息驱动的用户任务管理系统,其特征在于:
在用户的具体行为和任务系统之间,具有消息系统,所述消息系统用于存储各类用户的具体行为。
[0007]优选地,在所述消息系统和所述任务系统之间还具有用户事件信息队列,所述用户事件信息队列是一个分布式的信息队列,,用于等待任务系统从信息队列中按照一定的规则取出任务数据。
[0008]优选地,用户的行为并不会直接触发任务的执行,用户的行为首先进入消息系统,在所述消息系统和所述用户事件信息队列之间具有用户事件采集程序,不断的从消息系统中取出用户的行为事件,最后任务系统从队列中取出数据,执行任务逻辑。
[0009]优选地,所述消息系统,对用户的具体行为和任务执行做了一次分离;所述用户事件消息队列(MQ)又对任务的执行做了一次缓冲,减少了用户行为对任务系统的直接压力,同时支持横向扩展。
[0010]优选地,所述信息系统包括多个分类,每个分类用于存放不同类型的消息,每个分类中存放了该类信息的所有数据,从而实现行为和任务的分离。
[0011]优选地,所述用户事件信息队列为分布式队列,在分布式队列的基础上,实现多个系统间的数据流向和交互。
[0012]优选地,用户事件采集程序和所述用户事件信息队列中的和任务执行逻辑程序可以部署多台服务器,实现横向扩展。
[0013]优选地,用户的行为包括以下中的一项或多项:注册、登陆、评论、收藏、订阅和完善资料。
[0014]本发明的基于消息的用户任务系统,在用户行为和任务执行之间加了一个消息系统和用户事件消息队列,实现了对用户行为和任务执行的分离,大大降低了用户行为对任务系统的压力,同时可以通过频率控制,控制任务的处理速度,大大提供系统的安全性和可靠性。基于分布式的用户事件消息队列实现了系统的横向扩展,让任务系统可以支持大数据量,高并发,同时也具备一定的容灾性。

【专利附图】

【附图说明】
[0015]图1是根据本发明的基于消息驱动的用户任务管理系统的获取用户任务行为的图例;
图2是在一个具体的实施例中本发明的基于消息驱动的用户任务管理系统完成任务的完整流程;
图3是在又一个具体的实施例中本发明的基于消息驱动的用户任务管理系统的详细流程。
[0016]图中的附图标记所分别指代的技术特征为:
100、消息系统;200、用户事件信息队列;300、任务系统;400、奖励系统。

【具体实施方式】
[0017]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0018]参见图1、图2,分别公开了根据本发明的基于消息驱动的用户任务管理系统的获取用户任务行为的图例,和基于消息驱动的用户任务管理系统完成任务的完整流程。一种基于消息驱动的用户任务管理系统,在用户的具体行为和任务执行,即任务系统300之间,具有消息系统100,所述消息系统100用于存储各类用户的具体行为。因此,所述消息系统对用户行为和任务执行逻辑做了一个解耦。
[0019]进一步的,在消息系统100和任务系统300之间加了一个用户事件信息队列200,所述用户事件信息队列200是一个分布式的信息队列,用于将所述消息系统之间的消息分配给任务系统300,具体而言,是,用于等待任务系统从信息队列中按照一定的规则取出任务数据。进一步的,所述用户事件信息队列200可同时将多个用户事件等待任务系统获取任务数据。而在消息系统100和用户事件信息队列200中间具有一个程序,例如,用户时间采集程序,不断的从消息系统100中取数据,并放入用户事件信息队列200中。
[0020]因此,用户的行为并不会直接触发任务的执行,用户的行为首先进入消息系统,在所述消息系统和所述用户事件信息队列之间具有用户事件采集程序,不断的从消息系统中取出用户的行为事件,放入用户事件信息队列中,最后任务系统从队列中取出数据,执行任务逻辑。
[0021]消息系统,对用户的具体行为和任务执行做了一次分离;用户事件消息队列(MQ)又对任务的执行做了一次缓冲,减少了用户行为对任务系统的直接压力,同时支持横向扩展。
[0022]在一个优选的实施例中,所述信息系统包括多个分类,每个分类用于存放不同类型的消息,每个分类中存放了该类信息的所有数据,从而实现行为和任务的分离。例如,在消息中间件kafka的基础上开发,通过topic来存放不同类型的消息;每一个topic对应一类行为,比如用户注册,登陆行为,分别是一个topic,每个topic中存放了这类行为的所有数据,通过topic来实现行为和任务的分离。
[0023]进一步优选的,所述用户事件信息队列是一个常见的分布式队列,在分布式队列的基础上,实现多个系统间的数据流向和交互。例如,可以采用基于redis来实现的,用redis来实现分布式队列,基于该分布式队列,用户事件采集程序和任务执行逻辑程序可以部署多台服务器,实现横向扩展。
[0024]在一个具体的实施例中,用户的行为包括但不限于:注册、登陆、评论、收藏、订阅、完善资料。
[0025]具体而言,任务系统300首先从消息系统100中获取用户的行为,放入分布式用户事件消息队列200中,然后和已配置好的任务做匹配,当用户行为匹配上任务后,开始执行任务逻辑,任务执行可以触发诸如网站中的奖励系统400等系统,但本发明不限于此,可以关联其它的系统。比如有一个签到任务,当用户签到的时候,就会触发这个签到任务,然后执行签到任务的逻辑,最后生成相应的奖励。
[0026]分布式用户事件消息队列,让任务系统能够实现横向扩展。
[0027]参见图3,公开了在一个具体的实施例中本发明的基于消息驱动的用户任务管理系统的详细流程。
[0028]因此,本发明的基于消息的用户任务系统,在用户行为和任务执行之间加了一个消息系统和用户事件消息队列,实现了对用户行为和任务执行的分离,大大降低了用户行为对任务系统的压力,同时可以通过频率控制,控制任务的处理速度,大大提供系统的安全性和可靠性。基于分布式的用户事件消息队列实现了系统的横向扩展,让任务系统可以支持大数据量,高并发,同时也具备一定的容灾性。
[0029]显然,本领域技术人员应该明白,上述的本发明的各系统或各单元可以用通用的计算装置来实现,它们可以集中在单个计算装置上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0030]以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的【具体实施方式】仅限于此,对于本发明所属【技术领域】的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定保护范围。
【权利要求】
1.一种基于消息驱动的用户任务管理系统,其特征在于: 在用户的具体行为和任务系统之间,具有消息系统,所述消息系统用于存储各类用户的具体行为。
2.根据权利要求1所述的基于消息驱动的用户任务管理系统,其特征在于: 在所述消息系统和所述任务系统之间还具有用户事件信息队列,所述用户事件信息队列是一个分布式的信息队列,用于等待任务系统从信息队列中按照一定的规则取出任务数据。
3.根据权利要求2所述的基于消息驱动的用户任务管理系统,其特征在于: 用户的行为并不会直接触发任务的执行,用户的行为首先进入消息系统,在所述消息系统和所述用户事件信息队列之间具有用户事件采集程序,不断的从消息系统中取出用户的行为事件,放入用户事件信息队列中,最后任务系统从队列中取出数据,执行任务逻辑。
4.根据权利要求3所述的基于消息驱动的用户任务管理系统,其特征在于: 所述消息系统,对用户的具体行为和任务执行做了一次分离;所述用户事件消息队列(MQ)又对任务的执行做了一次缓冲,减少了用户行为对任务系统的直接压力,同时支持横向扩展。
5.根据权利要求4所述的基于消息驱动的用户任务管理系统,其特征在于: 所述信息系统包括多个分类,每个分类用于存放不同类型的消息,每个分类中存放了该类信息的所有数据,从而实现行为和任务的分离。
6.根据权利要求4所述的基于消息驱动的用户任务管理系统,其特征在于: 所述用户事件信息队列为分布式队列,在分布式队列的基础上,实现多个系统间的数据流向和交互。
7.根据权利要求6所述的基于消息驱动的用户任务管理系统,其特征在于: 所述用户事件采集程序和所述用户事件信息队列中的和任务执行逻辑程序可以部署多台服务器,实现横向扩展。
8.根据权利要求1-7中任意一项所述的基于消息驱动的用户任务管理系统,其特征在于: 用户的行为包括以下中的一项或多项:注册、登陆、评论、收藏、订阅和完善资料。
【文档编号】G06Q10/06GK104361458SQ201410665924
【公开日】2015年2月18日 申请日期:2014年11月20日 优先权日:2014年11月20日
【发明者】舒志龙, 贺群斐, 陈学文, 彭锦臻, 姚键, 潘柏宇, 卢述奇 申请人:合一网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1