一种大容量用户业务信息加载方法及其系统的制作方法

文档序号:7690998阅读:247来源:国知局
专利名称:一种大容量用户业务信息加载方法及其系统的制作方法
技术领域
本发明涉及网络通信技术的短消息领域,具体的说,尤其涉及一种大容 量用户业务信息加载方法及其系统。
背景技术
短消息业务一直是通讯增值业务的一个亮点。随着通讯增值业务的深入 开展,短消息业务重新煥发青春,各种短消息增值业务产品推陈出新,各类 个性化的短消息业务正如火如茶展开,如一号双机业务,自动签名业务,个 性签名业务,自动回复业务等。如图l所示,SMSC (Short Message Service Center,短消息中心)包含 短消息业务处理机、用户数据处理平台、用户数据库等模块。其中,用户数 据库记录了用户数据,即用户个人信息和用户业务信息。用户业务信息在短 消息业务处理中地位举足轻重,基本上每一条短消息处理都需要查询源、目 的用户的用户业务信息,并根据用户业务信息实现业务。用户业务信息由用户数据处理平台维护,短消息业务处理机对用户业务信息执行查询#:作。为提升系统处理性能,短消息业务处理机采用内存緩存技术,在系统启动时将 用户业务信息从用户数据库中加载到内存。当用户业务信息发生变化,如进 行增加、修改、删除用户等操作时,用户数据处理平台同步通知短消息业务 处理机,对内存中用户数据进行相应操作。随着各类个性化短消息业务的开展,SMSC需要处理的用户数据数量快 速增长。以广东联通为例,不到2年间,用户数据数量达到2600万。目前采用直接加载方式,即在短消息业务处理机启动时,短消息业务处 理机直接从用户数据库中加载用户业务信息到内存。这种加载方式,在处理 千万级用户业务信息时,加载时间以小时计量。同时,加载操作占用大量 CPU和IO资源,会影响业务处理效率。现有加载方法导致业务处理机不敢5轻易重启,带来了维护上的困扰。另一方面,当发生故障导致业务处理机宕 机时,加载时间过长,不能快速恢复,增加了运营风险。因此,需要提供一 种高效率的加载方式。发明内容本发明所解决的技术问题在于提供一种大容量用户业务信息加载方法 及其系统,以解决目前用户数据加载速度慢,以及故障宕机而导致的用户数 据重新加载问题。为了解决上述问题,本发明提供了 一种大容量用户业务信息加载系统, 其包括用户数据共享内存、数据管理模块、数据导出模块、数据导入模块、数据备份文件和数据同步文件;其中,用户数据共享内存,使用共享内存緩存用户业务信息,用户业务信息通 过数组方式组织,并在共享内存中采用位图指示记录使用状态;数据管理模块,管理用户数据共享内存,提供用户数据查询、插入、修 改、删除等操作接口;接收并处理加载通知消息,加载通知消息包括定时加 载通知消息、重启加载通知消息以及手动加载通知消息;定时加载通知消息 由数据管理模块设置,用于定时加载数据;数据管理模块接收到加载通知消 息后,判断是否需要从物理存储加载数据,如否则重新组织用户数据共享内 存中用户业务信息数据,并结束操作,否则指示数据导入模块工作,从数据 备份文件加载数据到用户数据共享内存,并对导入的用户业务信息进行组织 处理,读取数据同步文件上的数据,修正用户数据共享内存中用户业务信息;数据导出模块,用于将用户业务信息从用户数据库导出到数据备份文件;数据备份文件,为数据导出模块生成,用文件形式存储用户业务信息, 并包含用户业务信息的版本、用户业务信息数量、导出时间戳、记录长度等 信息。用户业务信息组织方式和记录格式与用户数据共享内存保持一致,数 据备份文件可为多个应用模块共享数据导入模块,用以将用户业务信息从数据备份文件加载到用户数据共 享内存,并通知数据管理模块进行管理;数据同步文件,为数据管理模块生成,以文件形式记录加载时间戳后, 数据管理模块收到的用户业务数据同步信息。上述各模块可以嵌入到SMSC相关模块中。为了解决上述问题,本发明还提供了一种大容量用户业务信息加栽方 法,应用于SMSC (短消息中心),其特征在于,包括以下步骤步骤一,数据管理模块采用用户数据共享内存,緩存用户业务信息; 步骤二,设置定时任务,定时调度数据导出模块,将用户业务信息导出 到数据备份文件;步骤三,数据管理模块设置定时器,定时发送加载通知消息;数据管理 模块接收到加载通知消息后,判断是否需要从数据备份文件加载数据,如否, 则设置不处理数据同步文件标志转步骤五;步骤四,数据导入模块判断数据备份文件是否有效且可加载,如是则将 用户业务信息加载到共享内存,更新加载时间为数据备份文件时间戳,设置 记录位图信息,通知数据管理模块;步骤五,数据管理模块对导入的用户业务信息进行组织处理,并判断是 否设置不处理数据同步文件标志,如是,则流程结束;步骤六,数据管理模块读取数据同步文件,修正用户业务信息。优选地,所述步骤二还包括如下处理在系统启动前,数据导出模块将 用户业务信息导出到数据备份文件;通过设置操作系统定时任务,数据导出 模块定时将用户业务信息导出,更新数据备份文件。优选地,所述步骤二还包括如下处理数据导出模块导出数据成功时, 删除数据同步文件,并更新数据备份文件时间戳。优选地,所述步骤三还包括如下处理判断加载通知消息为定时加载通 知消息或者手动加载通知消息时,表示需要从数据备份文件加载。优选地,上述定时加载时间可以配置,例如,每天凌晨3时,此时业务 流量4艮少。优选地,所述步骤三还包括如下处理判断共享内存数据非完整有效时, 需要从数据备份文件加载。优选地,上述完整有效表示共享内存已申请并初始化,共享内存中所含 用户业务信息有效。优选地,所述步骤四还包括如下处理判断数据备份文件无效时,向 SMSC告警模块发起告警;判断用户数据备份文件时间戳早于加载时间戳 时,不进行加载。优选地,所述步骤五还包括如下处理对导入的用户业务信息建立查找 索引,如建立HASH索引。本发明上面所述的技术方案,采用共享内存緩存用户业务信息,减少软 件故障宕机而导致的用户数据重新加载。在非硬件重启,只是软件重启时, 只需要通过位图重新建立索引。另外,采用用户数据同步文件,增量记录用 户业务信息修改,减少数据导出次数;采用数据定时导出和定时加载相结合, 避免由于同步信息丟失带来的影响,保证数据的完整性。与现有技术相比较, 本发明上述几种技术手段结合,提升了用户数据加载速度,同时也解决了故 障宕机而导致的用户数据重新加载问题。


图1是现有技术中短消息中心用户数据相关模块结构图; 图2为本发明所述大容量用户业务信息加载系统的系统结构图; 图3为本发明所述方法的用户业务信息加载流程图; 图4为本发明所述方法的用户业务信息导出流程图。
具体实施方式
本发明在这里提供了一种大容量用户业务信息加载方法及其系统,以解 决目前用户数据加载速度慢,以及故障宕机而导致的用户数据重新加载问 题。以下对具体实施方式
进行详细描述,但不作为对本发明的限定。如图2所示,是本发明实施例所述用户业务信息加载系统的系统结构 图。如图2所示,本发明所述系统200包括用户数据共享内存模块201,使用共享内存緩存用户业务信息,用户业务信息通过数组方式组织,并在共享内存中采用位图指示记录使用状态;数据管理模块202,管理用户数据共享内存模块201,提供用户数据查 询、插入、修改、删除等操作接口;接收并处理加载通知消息,加载通知消 息包括定时加载通知消息、重启加载通知消息以及手动加载通知消息。定时 加载通知消息由数据管理模块202设置,用于定时加载数据。数据管理模块 202接收到加载通知消息后,判断是否需要从物理存储加载数据,如否则重 新组织用户数据共享内存模块201中用户业务信息数据并结束操作,否则指 示数据导入模块204工作,从数据备份文件205导入数据到用户数据共享内 存模块201,并对导入的用户业务信息进行组织处理,读取数据同步文件206 上的数据,修正用户数据共享内存模块201上用户业务信息;数据导出模块203,用于将用户业务信息从用户数据库导出到数据备份 文件205;数据导入模块204,用以将用户业务信息从数据备份文件205导入到用 户数据共享内存模块201,并通知数据管理模块202进行管理;数据备份文件205,为数据导出模块203生成,用文件形式存储用户业 务信息,并包含版本、用户业务信息数量、导出时间戳、记录长度等信息。 用户业务信息组织方式和记录格式与用户数据共享内存201保持一致,数据 备份文件205可为多个应用模块共享;数据同步文件206,为数据管理模块202生成,以文件形式记录加载时 间戳后,数据管理模块202收到的用户业务数据同步信息。参考如图3所示,4艮据本发明实施例所述的用户业务信息加载流程图, 步骤具体如下步骤301,数据管理模块202采用用户数据共享内存201,緩存用户业 务信息,设置加载定时器;(优选地,上述加载定时器时间可以配置,例如, 每天凌晨3时,此时业务流量很少)步骤302,数据管理模块202接收到加载通知消息;步骤303,数据管理4莫块202判断加载通知消息是否为定时加载通知消 息或者手动加载通知消息,如是,则转步骤306开始加载数据;步骤304,数据管理才莫块202判断用户数据共享内存模块201数据是否完整有效,如否则转步骤306进行加载数据(优选地,所述完整有效表示用 户数据共享内存模块201已被申请,所含用户业务信息数据有效);步骤305,数据管理模块202设置不处理数据同步文件206的标志,转 步骤310重新对共享内存中用户业务信息数据进行组织;步骤306,数据管理模块202检查数据备份文件205是否有效,包括检 查文件是否存在,所含版本信息、记录长度信息是否匹配等,如有效则转步 骤308,否则转到步骤307;步骤307,数据管理模块202发送告警,流程结束;步骤308,数据管理模块202检查数据备份文件205的时间戳,当数据 备份文件205时间戳早于加载时间戳时,流程结束,否则执行步骤309;步骤309,数据导入模块204将用户业务信息从数据备份文件205上加 载到用户数据共享内存201,更新加载时间戳为数据备份文件205的时间戳, 并设置记录位图信息;步骤310,数据管理模块202对用户数据共享内存201中的用户业务信 息进行组织处理,并通过位图建立索引,如建立HASH索引;步骤311,数据管理模块202检查是否设置不处理数据同步文件206的 标志,如是,则流程结束;步骤312,数据管理模块202读取数据同步文件206上的数据,修正用 户数据共享内存模块201上用户业务信息。如图4所示,本发明实施例所述的用户业务信息导出流程图,具体步骤 如下步骤401,设置操作系统定时任务,定时调度数据导出模块203;(优 选地,上述定时任务时间可以根据实际情况配置,例如,每天凌晨2时,此 时业务流量很少)步骤402,当定时到达时,数据导出模块203从用户数据库导出用户业 务信息到数据备份文件205,并更新数据备份文件205的时间戳信息;步骤403,数据导出模块203判断导出是否成功,如成功则转步骤405; 步骤404,数据导出模块203记录告警日志,流程结束; 步骤405,数据导出模块203删除数据同步文件206。本发明上面实施例所述的技术方案,采用共享内存緩存用户业务信息, 减少软件故障宕机而导致的用户数据重新加载。在非硬件重启,只是软件重 启时,只需要通过位图重新建立索引。另外,采用数据同步文件,增量记录用户业务信息修改,减少数据导出次数;采用数据定时导出和定时加载相结 合,避免由于同步信息丢失带来的影响,保证数据的完整性。与现有技术相 比较,本发明上述几种技术手段结合,提升了用户数据加载速度,同时也解 决了故障宕机而导致的用户数据重新加载问题。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的 情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形, 但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1. 一种大容量用户业务信息加载方法,应用于短消息中心,其特征在于,包括以下步骤(1)设置用户数据共享内存用于缓存用户业务信息;(2)设置定时任务,到时则将所述用户业务信息从用户数据库导出到数据备份文件上;设置定时器定时通知加载;接收加载通知消息,判断是否需要加载数据,如需要则加载数据,否则判断所述用户数据共享内存中数据是否完整有效,如是则重新组织处理共享内存数据结束流程,否则将所述用户业务信息从数据备份文件上加载到所述用户数据共享内存上;(3)对所述用户数据共享内存上导入的用户业务信息进行组织处理;(4)读取收到的数据同步文件上的数据,修正所述用户数据共享内存上用户业务信息。
2、 如权利要求1所述的方法,其特征在于,所述用户业务信息为通过 数组方式组织,并在所述用户数据共享内存上采用位图指示数组记录状态。
3、 如权利要求l所述的方法,其特征在于,步骤(2)中所述设置定时 任务,到时则将所述用户业务信息从用户数据库导出到数据备份文件上,具 体包括步骤设置定时任务,到时则将用户业务信息从用户数据库导出到数据备份文件 上;判断导出是否成功,如成功则删除数据同步文件上的数据然后结束,如不 成功则记录告警日志然后结束。
4、 如权利要求l所述的方法,其特征在于,步骤(2)中所述数据备份 文件上的用户业务信息,为以文件形式存储,并包含版本、用户业务信息数 量、导出时间戳、记录长度信息。
5、 如权利要求4所述的方法,其特征在于,步骤(2)中所述判断用户 数据共享内存的数据是否完整有效,如是则重新组织处理共享内存数据结束 流程,否则将所述用户业务信息从数据备份文件上加载到所述用户数据共享 内存上,具体包括步骤所述判断用户数据共享内存的数据是否完整有效,如是则设置不处理数 据同步文件标志,继续执行步骤(3);当用户数据共享内存的数据不是完整有效时,检查数据备份文件上数据 是否有效,如否则向所述短消息中心发送告警信息然后结束,如是则检查数 据备份文件时间戳早于加载时间戳时,流程结束,否则将所述用户业务信息 从数据备份文件上加载到所述用户数据共享内存上,并设置记录位图信息。
6、 如权利要求5所述的方法,其特征在于,所述步骤(3)进一步包括 对所述用户数据共享内存上导入的用户业务信息进行组织处理,并通过位图 建立索引,检查是否设置不处理数据同步文件标志,如是则流程结束,否则 更新定时加载数据的时间为所述数据备份文件时间戳。
7、 如权利要求6所述的方法,其特征在于,所述索引为HASH索引。
8、 一种大容量用户业务信息加载系统,其特征在于,所述系统,包括 用户数据共享内存模块、数据管理模块、数据导出模块、数据导入模块、数 据备份文件模块和数据同步文件模块;其中,所述用户数据共享内存^^莫块,用于緩存用户业务信息;所述数据导出模块,用于将用户业务信息从所述用户数据库导出到所述 数据备份文件模块上;所述数据导入模块,用于将所述用户业务信息从所述数据备份文件模块 上加载到所述用户数据共享内存模块上,并通知所述数据管理模块进行管 理;所述数据管理模块,用于设置定时加载数据,到时则判断是否需要加载 数据,如是判断所述用户数据共享内存模块中数据是否完整有效,如是则重 新组织处理共享内存数据结束操作,否则指示所述数据导入模块工作,并对 所述用户数据共享内存模块上导入的用户业务信息进行组织处理,读取数据 同步文件模块上的数据,修正所述用户数据共享内存模块上用户业务信息;所述数据备份文件模块,用于以文件形式存储所述用户业务信息;所述数据同步文件模块,用于记录所述数据导入模块导入数据后,所述 数据管理模块收到的用户业务数据同步信息。
9、 如权利要求8所述的系统,其特征在于,所述用户业务信息为通过 数组方式组织,并在所述用户数据共享内存模块上采用位图指示数组记录状 态。
10、 如权利要求8所述的系统,其特征在于,所述数据导出模块,进一步还用于设置操作系统定时任务,到时则将所述用户业务信息从所述用户数据库导出到所述数据备份文件模块上;并判断导出是否成功,如成功则删除 数据同步文件模块上的数据然后结束操作,如不成功则记录告警日志然后结 束操作。
11、 如权利要求8所述的系统,其特征在于,所述数据备份文件模块, 进一步还用于存储所述用户业务信息的版本、用户业务信息数量、导出时间 戳、记录长度信息。
12、 如权利要求11所述的系统,其特征在于,所述数据管理模块用于 判断所述用户数据共享内存模块中数据是否完整有效,如是则结束操作,否 则指示所述数据导入模块工作,进一步包括判断用户数据共享内存模块中数据是否完整有效,如是则重新组织处理 共享内存数据结束操作,否则设置不处理所述数据同步文件模块上数据的标 志,对所述用户数据共享内存^t块上导入的用户业务信息进行组织处理,读 取数据同步文件模块上的数据,修正所述用户数据共享内存模块上用户业务 信息;当用户数据共享内存的数据不是完整有效时,检查数据备份文件模块上 数据是否存在,如不存在则发送告警信息然后结束操作,如存在则检查数据 备份文件时间戳不晚于已加载数据的时间戳时结束操作,否则指示所述数据 导入模块工作。
13、 如权利要求12所述的系统,其特征在于,所述数据管理才莫块用于 对所述用户数据共享内存模块上导入的用户业务信息进行组织处理,进一步 包括对所述用户凄t据共享内存^t块上导入的用户业务信息进行组织处理,并 通过位图建立索引,检查是否设置不处理数据同步文件模块上数据的标志, 如是则结束操作,否则更新定时加载数据的时间为所述数据备份文件时间戳。
14、 如权利要求13所述的系统,其特征在于,所述索引为HASH索引。
全文摘要
本发明公开一种大容量用户业务信息加载方法及系统,其方法应用于短消息中心,包括设置用户数据共享内存用于缓存用户业务信息;设置定时任务,到时将用户业务信息从用户数据库导出到数据备份文件上;设置定时器定时通知加载;接收加载通知消息,判断是否需要加载数据,如需要则加载数据,否则判断用户数据共享内存中数据是否完整有效,如是重新组织处理共享内存数据结束流程,否则将用户业务信息从数据备份文件上加载到用户数据共享内存上;对用户数据共享内存上导入的用户业务信息进行组织处理;读取收到数据同步文件上数据,修正用户数据共享内存上用户业务信息。本发明解决目前用户数据加载速度慢及故障宕机而导致的用户数据重新加载问题。
文档编号H04L12/56GK101257661SQ20081009067
公开日2008年9月3日 申请日期2008年4月9日 优先权日2008年4月9日
发明者屠要峰, 刚 邢, 陈正光, 陶长标 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1