一种基于双轨保证生产机制的自动网络激活系统技术方案

技术编号:23932371 阅读:44 留言:0更新日期:2020-04-25 01:55
本发明专利技术公开了一种基于双轨保证生产机制的自动网络激活系统,属于网络激活技术领域,包括工单接收模块、工单分解模块、工单调度模块、网元施工模块、工单报竣模块,其中工单接收模块作为应用起始模块。本发明专利技术模块间交互通过消息队列或中间表实现,并且系统采用分层结构,最大限度的降低了系统模块间的耦合度,提高了系统的鲁棒性;充分利用内存数据库和传统数据库的优点,降低了系统对数据库的单一依赖,保证了当任一数据库出现异常时,基于另一个数据库依然能支撑网络激活工单继续流转,不会导致系统瘫痪;还给系统的数据库故障提供了充分的恢复时间,降低了用户的直接感知影响。

An automatic network activation system based on double track production guarantee mechanism

【技术实现步骤摘要】
一种基于双轨保证生产机制的自动网络激活系统
本专利技术涉及网络激活
,具体涉及一种基于双轨保证生产机制的自动网络激活系统。
技术介绍
运营商全业务运营时期,融合业务、套餐业务等复杂业务不断推出,要求后端对新业务能快速激活,特别是与用户感知极强的移动、复机业务,时效性要求更高。网络激活系统作为运营商开通线、停复机线的重要生产系统,负责后端网元的快速激活。它的稳定性与高效性影响到整个开通线、停复机线的效率。现网的网络激活系统基本存在两类模式,一是偏向依赖传统关系型数据库,二是偏向依赖内存数据库。下面简要分析下这两类模式下的不足之处。依赖传统关系型数据库,即由传统数据库来支撑整个工单的执行。传统数据库就是整个网络激活系统的核心所在,传统数据库不仅作为静态数据的存储地,工单执行过程中产生的热数据也需要实时存放到传统关系型数据库中,并且这些热数据支撑着工单下一步的施工。但是随着运营商业务的拓展以及网络激活系统承载工单量的不断增加,在可预见的未来传统数据库会成为整个网络激活系统的性能瓶颈。依赖内存数据库,即由传统数据库和内存数据库配合,共同支撑整个工单的执行。系统静态数据由传统数据库维护,工单执行过程全程在内存数据库中实现,产生的热数据也是先保存在内存数据库中,然后异步保存到传统数据库,传统数据库偏向承担着数据落地的作用。这样是会提高整个工单的执行效率,但是对内存数据库(如:Redis)的稳定性要求极高,一旦内存数据库异常,同样会导致整个系统的瘫痪。综合以上,会发现,这两种模式下都是对某单一类型数据库依赖极强,一旦数据库出现宕机或者其他异常,整个工单执行都会受此影响,直接影响到用户前台业务开通以及停复机业务的施工。而在日常的实际生产运维中,这种数据库宕机也是偶有发生的。所以这两种模式下,都存在一定的安全隐患,影响到整个系统的稳定。长时间宕机无法恢复情况下,极容易引起用户的投诉。为此,提出一种基于双轨保证生产机制的自动网络激活系统。
技术实现思路
本专利技术所要解决的技术问题在于:如何更好地结合传统数据库与内存数据库的优缺点,保证在某一数据库异常的状况下系统能够实现稳定运行,提供了一种基于双轨保证生产机制的自动网络激活系统。本专利技术是通过以下技术方案解决上述技术问题的,本专利技术包括:工单接收模块,用于进行报文接收、报文持久化、报文解析、节点验证、定单对象生成工作;工单分解模块,用于进行定单对象获取、规则解析、工单生成、数据持久化工作;工单调度模块,用于进行工单调度、子单调度工作;网元施工模块,用于进行指令构造、网元交互、结果解析工作;工单报竣模块,用于进行回复器生成、回单唯一性控制、回单报文构造工作;内存数据库通道,用于通过内存数据库优先支撑工单流转;传统数据库通道,用于在所述内存数据库出现异常时,通过传统数据库支撑工单继续流转;工单清除模块,用于处理工单完成后或者工单异常转入传统数据库通道之后,将内存数据库中的工单缓存数据清除;在所述内存数据库通道中,所述工单接收模块通过内存数据库定单队列与所述工单分解模块进行交互,所述工单分解模块通过内存数据库工单施工队列与所述工单调度模块进行交互,所述工单调度模块分别通过内存数据库网元施工队列、内存数据库网元施工完成队列与所述网元施工模块进行交互,所述工单调度模块通过内存数据库工单完成队列与所述工单报竣模块进行交互;在所述传统数据库通道中,所述工单接收模块通过传统数据库中间表与所述工单分解模块进行交互,所述工单分解模块通过传统数据库中间表与所述工单调度模块进行交互,所述工单调度模块通过传统数据库中间表分别与所述网元施工模块、所述工单报竣模块进行交互。更进一步的,所述工单接收模块的工作流程包括以下步骤:S11:接收上游系统报文请求;S12:校验报文关键节点信息;S13:持久化消息;S14:构造定单对象放入定单队列。更进一步的,在所述工单接收模块的工作流程中,若传统数据库异常,不影响工单执行,工单照常在内存数据库中执行,并将该模块内涉及到操作传统数据库的SQL语句即持久化消息SQL语句保存到HBase中,并标记为消息表备份SQL,等传统数据库恢复正常再从HBase中获取对应SQL语句进行消息表数据恢复;若内存数据库出现异常,即表现为入定单队列异常,此时向SWS_REDIS_ERROR表记录一条数据,SWS_REDIS_ERROR表为传统数据库的表,此表中记录的全部是入定单队列异常的定单,后续工单分解模块在传统数据库通道中取单线程轮询扫描SWS_REDIS_ERROR表中记录为入定单队列异常未处理的数据,此异常数据中记录的内存数据库通道中的异常工单后续进入所述工单分解模块传统数据库通道中,此后该工单全部在各模块的传统数据库通道中完成整个工单的流转。更进一步的,所述工单分解模块包括内存数据库工单分解单元、传统数据库工单分解单元、工单分解数据同步单元;所述内存数据库工单分解单元的工作流程包括以下步骤:S21:从定单队列中取定单对象;S22:规则分解生成工单对象、子单对象、工单参数对象;S23:将工单对象、子单对象、工单参数对象存放在内存数据库缓存区,其余后续单元均可操作此工单对象的数据;S24:将工单对象、子单对象、工单参数对象同时放入工单分解模块传统数据库数据同步队列,后续由工单分解数据同步单元从该队列获取到工单对象、子单对象、工单参数对象,并在传统数据库持久化工单对象、子单对象、工单参数对象,保证在传统数据库中该工单记录得到保存;S25:判断工单是否为失败单,失败单不再继续处理;S26:将非失败单工单号放入工单施工队列;所述传统数据库工单分解单元用于扫描读取SWS_REDIS_ERROR表中入定单队列异常的数据并生成定单对象,生成的定单对象进入传统数据库通道流转;所述工单分解数据同步单元用于从工单分解模块传统数据库数据同步队列中获取工单对象、子单对象、工单参数对象,并在传统数据库持久化工单对象、子单对象、工单参数对象,保证传统数据库中该工单记录得到保存。更进一步的,在所述内存数据库工单分解单元的工作流程中,若与内存数据库缓存交互异常,则记录到传统数据库缓存清除中间表中,通知所述工单清除模块清除工单相关缓存,并将数据同步至传统数据库,同时记录到SWS_REDIS_ERROR表中;若传统数据库中插入数据异常,此时内存数据库缓存已经生成,将产生的SQL语句拼接完成放入指定的传统数据库异常恢复队列,待传统数据库恢复后,通过系统页面数据恢复按钮操作,将异常恢复队列中的数据重新导入到传统数据库中。更进一步的,所述工单调度模块包括内存数据库工单调度单元、传统数据库工单调度单元、工单调度数据同步单元;所述内存数据库工单调度单元的工作线程分为两类,分别为工单调度线程与子单调度线程;所述工单调度线程包括以下步骤:S31:从工单施工队列中取工单号;...

【技术保护点】
1.一种基于双轨保证生产机制的自动网络激活系统,其特征在于,包括:/n工单接收模块,用于进行报文接收、报文持久化、报文解析、节点验证、定单对象生成工作;/n工单分解模块,用于进行定单对象获取、规则解析、工单生成、数据持久化工作;/n工单调度模块,用于进行工单调度、子单调度工作;/n网元施工模块,用于进行指令构造、网元交互、结果解析工作;/n工单报竣模块,用于进行回复器生成、回单唯一性控制、回单报文构造工作;/n内存数据库通道,用于通过内存数据库优先支撑工单流转;/n传统数据库通道,用于在所述内存数据库出现异常时,通过传统数据库支撑工单继续流转;/n工单清除模块,用于处理工单完成后或者工单异常转入传统数据库通道之后,将内存数据库中的工单缓存数据清除;/n在所述内存数据库通道中,所述工单接收模块通过内存数据库定单队列与所述工单分解模块进行交互,所述工单分解模块通过内存数据库工单施工队列与所述工单调度模块进行交互,所述工单调度模块分别通过内存数据库网元施工队列、内存数据库网元施工完成队列与所述网元施工模块进行交互,所述工单调度模块通过内存数据库工单完成队列与所述工单报竣模块进行交互;/n在所述传统数据库通道中,所述工单接收模块通过传统数据库中间表与所述工单分解模块进行交互,所述工单分解模块通过传统数据库中间表与所述工单调度模块进行交互,所述工单调度模块通过传统数据库中间表分别与所述网元施工模块、所述工单报竣模块进行交互。/n...

【技术特征摘要】
1.一种基于双轨保证生产机制的自动网络激活系统,其特征在于,包括:
工单接收模块,用于进行报文接收、报文持久化、报文解析、节点验证、定单对象生成工作;
工单分解模块,用于进行定单对象获取、规则解析、工单生成、数据持久化工作;
工单调度模块,用于进行工单调度、子单调度工作;
网元施工模块,用于进行指令构造、网元交互、结果解析工作;
工单报竣模块,用于进行回复器生成、回单唯一性控制、回单报文构造工作;
内存数据库通道,用于通过内存数据库优先支撑工单流转;
传统数据库通道,用于在所述内存数据库出现异常时,通过传统数据库支撑工单继续流转;
工单清除模块,用于处理工单完成后或者工单异常转入传统数据库通道之后,将内存数据库中的工单缓存数据清除;
在所述内存数据库通道中,所述工单接收模块通过内存数据库定单队列与所述工单分解模块进行交互,所述工单分解模块通过内存数据库工单施工队列与所述工单调度模块进行交互,所述工单调度模块分别通过内存数据库网元施工队列、内存数据库网元施工完成队列与所述网元施工模块进行交互,所述工单调度模块通过内存数据库工单完成队列与所述工单报竣模块进行交互;
在所述传统数据库通道中,所述工单接收模块通过传统数据库中间表与所述工单分解模块进行交互,所述工单分解模块通过传统数据库中间表与所述工单调度模块进行交互,所述工单调度模块通过传统数据库中间表分别与所述网元施工模块、所述工单报竣模块进行交互。


2.根据权利要求1所述的一种基于双轨保证生产机制的自动网络激活系统,其特征在于,所述工单接收模块的工作流程包括以下步骤:
S11:接收上游系统报文请求;
S12:校验报文关键节点信息;
S13:持久化消息;
S14:构造定单对象放入定单队列。


3.根据权利要求2所述的一种基于双轨保证生产机制的自动网络激活系统,其特征在于:在所述工单接收模块的工作流程中,若传统数据库异常,不影响工单执行,工单照常在内存数据库中执行,并将该模块内涉及到操作传统数据库的SQL语句即持久化消息SQL语句保存到HBase中,并标记为消息表备份SQL,等传统数据库恢复正常再从HBase中获取对应SQL语句进行消息表数据恢复;若内存数据库出现异常,即表现为入定单队列异常,此时向传统数据库SWS_REDIS_ERROR表记录一条数据,后续工单分解模块在传统数据库通道中取单线程轮询扫描SWS_REDIS_ERROR表中记录为入定单队列异常未处理的数据,此异常数据中记录的内存数据库通道中的异常工单后续进入所述工单分解模块传统数据库通道中,此后该工单全部在传统数据库通道中完成整个工单的流转;SWS_REDIS_ERROR表为传统数据库的表,其中记录的全部是入定单队列异常的定单。


4.根据权利要求3所述的一种基于双轨保证生产机制的自动网络激活系统,其特征在于:所述工单分解模块包括内存数据库工单分解单元、传统数据库工单分解单元、工单分解数据同步单元;
所述内存数据库工单分解单元的工作流程包括以下步骤:
S21:从定单队列中取定单对象;
S22:规则分解生成工单对象、子单对象、工单参数对象;
S23:将工单对象、子单对象、工单参数对象存放在内存数据库缓存区;
S24:将工单对象、子单对象、工单参数对象同时放入工单分解模块传统数据库数据同步队列,后续由工单分解数据同步单元从该队列获取到工单对象、子单对象、工单参数对象,并在传统数据库持久化工单对象、子单对象、工单参数对象;
S25:判断工单是否为失败单,失败单不再继续处理;
S26:将非失败单工单号放入工单施工队列;
所述传统数据库工单分解单元用于扫描读取SWS_REDIS_ERROR表中入定单队列异常的数据并生成定单对象,生成的定单对象进入传统数据库通道流转;
所述工单分解数据同步单元用于从工单分解模块传统数据库数据同步队列中获取工单对象、子单对象、工单参数对象,并在传统数据库持久化工单对象、子单对象、工单参数对象。


5.根据权利要求4所述的一种基于双轨保证生产机制的自动网络激活系统,其特征在于:在所述内存数据库工单分解单元的工作流程中,若与内存数据库缓存交互异常,则记录到传统数据库缓存清除中间表中,通知所述工单清除模块清除工单相关缓存,并将数据同步至传统数据库,同时记录到SWS_REDIS_ERROR表中;若传统数据库中插入数据异常,此时内存数据库缓存已经生成,将产生的SQL语句拼接完成放入指定的传统数据库异常恢复队列,待传统数据库恢复后,将异常恢复队列中的数据重新导入到传统数据库中。


6.根据权利要求1所述的一种基于双轨保证生产机制的自动网络激活系统,其特征在于:所述工单调度模块包括内存数据库工单调度单元、传统数据库工单调度单元、工单调度数据同步单元;
所述内存数据库工单调度单元的工作线程分为两类,分别为工单调度线程与子单调度线程;
所述工单调度线程包括以下步骤:
S31:从工单施工队列中取工单号;
S32:根据工单号从内存数据库缓存中获取工单详细信息;
S33:判断该工单下未完成子单数量,如果未完成子单数量为0,则丢入工单完成队列,由工单报竣模块进行后续处理;如果未完成子单数量不为0,则将未完成子单加入子单对应的网元施工队列;
S34:将工单调度过程中产生的SQL语句丢入工单调度模块传统数据库数据同步队列,由...

【专利技术属性】
技术研发人员:许磊刘品学张俊林张锐徐志遥
申请(专利权)人:科大国创软件股份有限公司
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1