一种银行任务分配方法及装置的制造方法_2

文档序号:9219841阅读:来源:国知局
任务报文数据,并对所述任务报文数据进行处理,获得任务信息;
[0051]存储单元202,用于将合法的任务信息存储至redis缓存数据库中,并将所述合法的任务信息转换成符合DB2数据库存储格式的报文数据,将报文数据放入本地MQ队列中;利用本地多线程读取所述符合DB2数据库存储格式的报文数据,并存储至DB2数据库中;
[0052]通知消息单元203,用于redis pub/sub队列向订阅通知消息的socket 1服务器发布相应的通知消息;
[0053]权限判断单元204,用于socket 10服务器将通知信息传输至业务端,根据通知信息,业务端判断是否具备执行相应任务信息的操作权限。
[0054]对于本实施例来说,所述通知消息单元203产生的通知消息包括业务人员编号、任务编号、任务操作。这种情况下,对应地,所述权限判断单元204具体用于:socket 10服务器根据所述通知消息里的业务人员编号将通知信息传输至业务端,业务端从所述通知消息中提取出任务编号,根据任务编号向redis缓存数据库或DB2数据库获取对应任务信息,根据任务操作对任务信息执行相应的处理。
[0055]对于本实施例来说,所述通知消息单元产生的通知消息包括机构号、功能码、任务编号、任务操作。这种情况下,对应地,所述权限判断单元具体用于:socket 10服务器根据所述通知消息里的机构号将通知信息传输至对应机构;所述机构中的业务端从所述通知消息中提取出功能码,判断业务端是否具有所述功能码;若没有,则业务端无权处理通知消息中的任务编号对应的任务信息;否则,则业务端从所述通知消息中提取出任务编号,根据任务编号向redis缓存数据库或DB2数据库获取对应任务信息,根据任务操作对任务信息执行相应的处理。
[0056]如图3所示,为本实施例的系统物理架构图。本系统中主要包含多台was服务器、一台DB2数据库,redis缓存数据库,redis缓存器的pub/sub队列,socket 10服务器。
[0057]如图4所示,为本实施例的系统任务分配流程图。具体的流程如下:
[0058]首先,业务系统把任务信息通过报文格式发送到MQ队列,然后多台was服务器去读取MQ队列的报文数据,从报文数据中获取任务信息,并保存在redis缓存数据库中。
[0059]was服务器将任务信息进行转化,成为符合DB2数据库存储格式的MQ报文,放入本地MQ队列中,然后利用本地多线程去读取MQ报文,并存储进DB2数据库。
[0060]redis缓存数据库作为一种内存数据库,具有存储和读取高效性的特点,但是也有着无法实现复杂查询的弱点,而DB2数据库作为一种传统数据库有着较高的可靠性,且能满足复杂查询,通过把任务数据同时插入redis缓存数据库和DB2数据库中,在不同场景中使用不同的数据库,这样的一种数据存储方案即满足了系统对高效性的要求,也满足了高可用性及稳定性的要求。
[0061]本技术方案既通过redis缓存提升查询效率,又通过DB2提供数据的持久性以及数据关联性分析,两者相辅相成。
[0062]执行程序向redis pub/sub队列中推送一条通知消息,把通知信息传给socket 1服务器。其中,通知消息包括机构号、功能码、任务编号、任务操作。
[0063]通常而言,任务推送是按业务人员编号进行推送的,而按“机构号+功能码”进行推送就比较特别;以发送邮件做个比喻:如果你想发送邮件给公司人事部的所有同事,按以往的方式就需要把公司人事部的名单搜索出来一个个添加到收件人列表中,而现在可以按照公司名和部门名称进行发送,这样做有2个好处:一是原来可能要找到该部门下100多个同事一个一个添加到收件人列表中,步骤繁琐,且容易出现遗漏或多余的情况,而现在只用写明公司名称和人事部就可以了,这样发送即方便又精确,二是如果某个同事发生职务变更也可以在邮件的展现上得到反映,比如:一个同事调离财务部,则看不到该邮件,一个新同事调入财务部,则可以看到该邮件。
[0064]通过redis pub/sub消息队列和socket 1服务器的搭配,实现了任务消息的实时推送到业务端的效果,现有技术方案采用任务查询一般是通过定时轮询的方式,这样有两个缺点:一是任务会有一定的延迟,每次任务发送都需要等到下次轮询周期才能看到任务数据;二是会有大量的无效查询,对服务器造成无谓的压力,有些业务人员可能一直没有任务,也会每隔一个轮询周期就到服务器上询问是否有任务,对服务器造成极大负担;而本技术方案在任务发送时,向redis pub/sub消息队列中发布一个任务通知消息,socket 1服务器订阅了该消息,并对得到的通知消息进行解析,向通知消息中指定的机构对应的所有业务端推送相关通知消息,业务端根据通知消息中所包含的功能码信息判断是否具有展现该任务的权限,如果有则展现该任务。这样就实现了服务器向客户端的实时推送,具有高效性和精准性。
[0065]Socket服务器根据收到的通知信息,向对应地机构推送查询请求,该查询请求中包含功能码。
[0066]业务端收到查询请求后,提取出功能码进行比对,看看业务端是否具有该功能码,如果没有,则不处理;如果有,则向DB2数据库或redis缓存数据库查询任务信息,并根据任务操作对任务信息执行相应的处理。例如:操作信息是“添加”操作,则根据任务编号查询出任务信息,将任务信息添加到柜员任务列表中,如果操作信息是“删除”操作,则根据任务编号查询出任务信息删除柜员任务列表中对应的任务信息。
[0067]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种银行任务分配方法,其特征在于,该方法包括: 从MQ队列中读取任务报文数据,并对所述任务报文数据进行处理,获得任务信息; 将合法的任务信息存储至redis缓存数据库中,并将所述合法的任务信息转换成符合DB2数据库存储格式的报文数据,将报文数据放入本地MQ队列中;利用本地多线程读取所述符合DB2数据库存储格式的报文数据,并存储至DB2数据库中; redis pub/sub队列向订阅通知消息的socket 1服务器发布相应的通知消息; socket 1服务器将通知信息传输至业务端,根据通知信息,业务端判断是否具备执行相应任务信息的操作权限。2.如权利要求1所述的方法,其特征在于,所述通知消息包括业务人员编号、任务编号、任务操作。3.如权利要求2所述的方法,其特征在于,所述业务端判断是否具备执行相应任务信息的操作权限的步骤包括: socket 1服务器根据所述通知消息里的业务人员编号将通知信息传输至业务端,业务端从所述通知消息中提取出任务编号,根据任务编号向redis缓存数据库或DB2数据库获取对应任务信息,根据任务操作对任务信息执行相应的处理。4.如权利要求1所述的方法,其特征在于,所述通知消息包括机构号、功能码、任务编号、任务操作。5.如权利要求4所述的方法,其特征在于,所述业务端判断是否具备执行相应任务信息的操作权限的步骤包括: socket 1服务器根据所述通知消息里的机构号将通知信息传输至对应机构;所述机构中的业务端从所述通知消息中提取出功能码,判断业务端是否具有所述功能码;若没有,则业务端无权处理通知消息中的任务编号对应的任务信息;否则,则业务端从所述通知消息中提取出任务编号,根据任务编号向redis缓存数据库或DB2数据库获取对应任务信息,根据任务操作对任务信息执行相应的处理。6.一种银行任务分配装置,其特征在于,该装置包括: 任务信息获取单元,用于从MQ队列中读取任务报文数据,并对所述任务报文数据进行处理,获得任务?目息; 存储单元,用于将合法的任务信息存储至redis缓存数据库中,并将所述合法的任务信息转换成符合DB2数据库存储格式的报文数据,将报文数据放入本地MQ队列中;利用本地多线程读取所述符合DB2数据库存储格式的报文数据,并存储至DB2数据库中; 通知消息单元,用于redis pub/sub队列向订阅通知消息的socket 1服务器发布相应的通知消息; 权限判断单元,用于socket 10服务器将通知信息传输至业务端,根据通知信息,业务端判断是否具备执行相应任务信息的操作权限。7.如权利要求6所述的装置,其特征在于,所述通知消息单元产生的通知消息包括业务人员编号、任务编号、任务操作。8.如权利要求7所述的装置,其特征在于,所述权限判断单元具体用于: socket 10服务器根据所述通知消息里的业务人员编号将通知信息传输至业务端,业务端从所述通知消息中提取出任务编号,根据任务编号向redis缓存数据库或DB2数据库获取对应任务信息,根据任务操作对任务信息执行相应的处理。9.如权利要求6所述的装置,其特征在于,所述通知消息单元产生的通知消息包括机构号、功能码、任务编号、任务操作。10.如权利要求9所述的装置,其特征在于,所述权限判断单元具体用于: socket 1服务器根据所述通知消息里的机构号将通知信息传输至对应机构;所述机构中的业务端从所述通知消息中提取出功能码,判断业务端是否具有所述功能码;若没有,则业务端无权处理通知消息中的任务编号对应的任务信息;否则,则业务端从所述通知消息中提取出任务编号,根据任务编号向redis缓存数据库或DB2数据库获取对应任务信息,根据任务操作对任务信息执行相应的处理。
【专利摘要】本发明涉及一种银行任务分配方法及装置,其中,方法包括:从MQ队列中读取任务报文数据,并对所述任务报文数据进行处理,获得任务信息;将合法的任务信息存储至redis缓存数据库中,并将所述合法的任务信息转换成符合DB2数据库存储格式的报文数据,将报文数据放入本地MQ队列中;利用本地多线程读取所述符合DB2数据库存储格式的报文数据,并存储至DB2数据库中;redis pub/sub队列向订阅通知消息的socket IO服务器发布相应的通知消息;socket IO服务器将通知信息传输至业务端,根据通知信息,业务端判断是否具备执行相应任务信息的操作权限。
【IPC分类】H04L29/08
【公开号】CN104935658
【申请号】CN201510337737
【发明人】宋正轩, 白宗杰
【申请人】交通银行股份有限公司
【公开日】2015年9月23日
【申请日】2015年6月17日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1