数据存储系统及保证存储失败的数据不丢失的方法

文档序号:7967873阅读:583来源:国知局
专利名称:数据存储系统及保证存储失败的数据不丢失的方法
技术领域
本发明涉及移动通信领域数据存储处理技术,尤其是涉及一种通信业务数据发生存储失败时保证数据不丢失的数据存储系统,以及一种应用于数据存储系统中保证存储失败的数据不丢失的方法。
背景技术
短消息是一种利用信令链路实现的无连接点对点消息传送业务,具有非实时性和可靠性的特点。随着移动通信系统的迅猛发展,短消息作为一种成熟可靠的无线数据业务,得到了越来越广泛的应用;同时,用户的实际需求也对短消息的服务性能也提出了更高的要求。
为提高短消息中心的短消息存储能力,在短消息调度中心增加消息二级缓存特性,以在消息下发失败或其它情况下,将一部分短消息进行二级缓存,不再参与短消息的实时调度;于等待一段时刻后,短消息调度中心再从二级缓存中把短消息读入到短消息调度中心的内存中,再次进行调度。
如图1所示,为现有的短消息实现系统示意图。在短消息系统的短消息调度中心100中,增加一个数据处理模块120,该数据处理模块120与一个作为短消息二级缓存的数据存储模块130连接;通过该数据处理模块120与短消息的调度中心模块110相配合,实现将短消息的二级缓存特性。
其中,调度中心模块110将暂时不参与实时调度的短消息、以及下发失败的短消息发给数据处理模块120,由数据处理模块120将这些消息保存到数据存储模块130中;于等待一段时刻后,由数据处理模块120从数据存储模块130读取被缓存的短消息,送至调度中心模块110再次参与实时短消息调度。
上述短消息实现系统虽然扩充了短消息中心的存储能力,提高了短消息的传输性能,但是,该系统仍具有如下缺陷
1、数据处理模块120在将短消息保存至数据存储模块130的过程中,若出现因为网络连接中断导致数据处理模块120与数据存储模块130通信中断或者数据存储模块130出现服务异常而不能提供数据缓存服务等情况时,数据处理模块120无法将短消息保存至数据存储模块130,数据处理模块120可能直接将短消息丢弃;2、在数据处理模块120无法将短消息保存至数据存储模块130时,即使数据处理模块120将短消息重新发送给调度中心模块110,但在调度中心模块110与数据处理模块120通信异常的情况下,数据处理模块120也只能将短消息丢弃;综上,由于数据存储模块130不能提供有效的短消息缓冲服务,将导致由调度中心模块110发送至数据处理模块120需要进行二级缓存的短消息将会被丢弃。因此,如何确保数据处理模块120不能有效地将短消息保存至数据存储模块130时,短消息不会被丢弃,已成为当前急需解决的一个技术问题。

发明内容
本发明的目的在于提出一种数据存储系统及保证存储失败的数据不丢失的方法,解决将数据存储至数据存储模块失败时保证数据不丢失,以提高系统的可靠性与稳定性。
为解决上述问题,本发明公开一种数据存储系统,为将数据存储至数据存储模块失败时保证数据不丢失的存储系统,该系统包括数据存储模块,用于存储处理消息时失败的数据;备份数据存储模块,用于将存储至数据存储模块失败的数据进行存储;数据处理模块,连接备份数据存储模块,用于检测到数据存储至数据存储模块失败时,控制将存储失败的数据存储至备份数据存储模块,并当数据存储模块恢复正常的数据存储服务时,控制读取备份数据存储模块中的数据转存储至数据存储模块。
其中,所述数据处理模块包括检测子模块,用于检测数据存储模块是否能够提供正常的数据存储服务;
存储控制子模块,用于根据检测子模块的检测结果,当数据存储模块不能够提供正常的数据存储服务时,判断数据存储至数据存储模块为失败,发出将数据存储至备份数据存储模块的控制命令;存储执行子模块,用于执行存储控制子模块发出的数据存储控制命令,将数据存储至备份数据存储模块;数据调度子模块,与存储控制子模块连接,用于当检测子模块检测到数据存储模块恢复正常的数据存储服务时,由存储控制子模块控制读取备份数据存储模块中的数据,并存储至数据存储模块。
较优地,所述数据存储模块为提供以数据库形式存储数据的服务器;所述备份数据存储模块为提供以缓冲文件形式存储数据的服务器。
相应地,本发明还公开一种保证存储失败的数据不丢失的方法,为数据存储系统中将数据存储至数据存储模块发生失败时,对存储失败的数据进行不丢失的保证处理,该方法包括当检测到数据存储至数据存储模块的失败时,将存储失败的数据存储至备份数据存储模块,并于数据存储模块恢复正常的数据存储服务时,控制读取备份数据存储模块中的数据,转存储至数据存储模块。
在检测数据存储失败之前,还包括将不参与集中调度的数据存储至数据存储模块。
在检测数据存储失败之前,还包括将处理消息时失败的数据存储至数据存储模块。
较优地,所述数据存储模块为提供以数据库形式存储数据的服务器;所述备份数据存储模块为提供以缓冲文件形式存储数据的服务器。
与现有技术相比,本发明具有以下有益效果1、由于在数据存储系统中增加备份数据存储模块,当因为通信故障或数据存储模块自身出现异常,导致数据存储模块不能提供正常的存储服务时,将数据缓存至备份数据存储模块,避免了数据的丢失,有利于提高系统的可靠性;2、由于当数据存储模块恢复正常的存储服务时,还可以将缓存在备份数据存储模块的数据转存至数据存储模块,因此,本发明在保证数据有效存储不会丢失的同时,还可以对存储的数据进行集中管理、控制,有利于进一步提高系统的可靠性和稳定性。


图1是现有的短消息实现系统示意图。
图2是本发明的数据存储系统示意图。
图3是本发明的数据存储系统第一实施例示意图。
图4是本发明的数据存储系统第二实施例示意图。
图5是本发明的保证存储失败的数据不丢失的方法的流程图。
具体实施例方式
请参见图2所示,为本发明的数据存储系统示意图。本发明的数据存储系统尤其应用于通信系统中,旨在为将通信业务数据存储至数据存储模块失败时保证数据不丢失的存储系统。
本发明的数据存储系统具体包括数据存储模块220,用于存储系统中的数据;数据处理模块210,用于检测到数据存储至数据存储模块220的失败,并控制对存储失败的数据进行处理;备份数据存储模块230,与数据处理模块210连接,用于通过数据处理模块210的控制,将存储至数据存储模块220失败的数据进行存储。
需要补充说明的是,正常情况下,数据是通过数据处理模块210的控制,将数据存储至数据存储模块220。但是,当出现异常情况,比如,数据处理模块210与数据存储模块220之间通信中断、或是数据存储模块220出现异常拒绝提供数据存储服务时,将导致数据无法正常存储至数据存储模块220;而数据处理模块210本身不具备存储能力,或是仅具备一定容量的缓存功能,因此,数据处理模块210无法容纳足够多的无法正常存储至数据存储模块220的数据,数据处理模块210只好将这些数据丢失;而本发明的目的,恰好在于解决当数据无法正常存储至数据存储模块220时,通过增加一个由数据处理模块210控制的备份数据存储模块230,存储数据存储模块220无法正常存储的数据,以保证数据不会丢失的技术问题。
另外,在本发明中,将本应该存储至数据存储模块220,但是由于数据存储模块220因为出现异常而无法为数据处理模块210提供正常存储服务时的数据,称之为“存储失败的数据”或者“存储至数据存储模块失败的数据”。
具体来说,所述数据处理模块210包括检测子模块211,用于检测数据存储模块220是否能够提供正常的数据存储服务;存储控制子模块212,用于根据检测子模块211的检测结果,当数据存储模块220不能够提供正常的数据存储服务时,判断数据存储至数据存储模块220为失败,发出将数据存储至备份数据存储模块250的控制命令;存储执行子模块213,用于执行存储控制子模块212发出的数据存储控制命令,将数据存储至备份数据存储模块230。
为了确保将存储失败的数据存储至备份数据存储模块230之后,系统能够对所有数据进行管理、控制,因此,较优地,所述数据处理模块210还包括数据调度子模块214,与存储控制子模块212连接,用于当检测子模块211检测到数据存储模块220恢复正常的数据存储服务时,由存储控制子模块212控制读取备份数据存储模块250中的数据,并存储至数据存储模块220。
为了进一步详细阐述本发明,请参考图3,为本发明的数据存储系统第一本实施例为一种中具有存储功能的短消息实现系统,可以广泛用于数据通信业务,该系统包括短消息调度中心300,对来自通过信令网络350的移动基站360的短消息业务数据进行集中调度控制,包括数据存储模块330以及备份数据存储模块340;
调度中心模块310,对短消息业务数据进行集中调度控制,将下发失败的短消息发送给数据处理模块320进行存储处理,并根据预设策略,通过数据处理模块320读取存储的短消息再次参与实时调度处理;数据处理模块320,将调度中心模块310发送的短信息进行存储处理,具体的是,数据处理模块320通过检测数据存储模块330是否可以提供正常的存储服务,若是,则将短消息存储至数据处理模块320,否则,将短消息存储至备份数据存储模块340;并且,在将短消息存储至数据处理模块320发生异常时,数据处理模块320控制将短消息存储至备份数据存储模块340;同时,若数据处理模块320检测到数据存储模块330恢复正常的存储服务后,还可以将短消息从备份数据存储模块340读出,转存储至数据存储模块330。
较优地,所述数据存储模块330为提供以数据库形式存储数据的服务器,以便对系统中的数据进行集中管理、控制;所述备份数据存储模块340为提供以缓冲文件形式存储数据的服务器,以较为简单的方式实现对存储失败的数据的暂存处理。
另外,对于备份数据存储模块340的具体实现时,将接收的短消息以一定格式写入到缓存文件中,对每条写入缓存文件中的短消息,主要包含如下信息头结构、短消息结构,其中头结构部分中至少包含当前写入缓存文件的整个数据的长度或者短消息的长度。
当然,还可以对每个缓存文件的大小进行限制,当某个缓存文件的大小达到一定值或者当前写入的文件在规定的时间内未写入内容时关闭当前写入文件,后续短消息写入新的缓存文件,以便于提高数据存储的处理速度。
由此可以看出,该短消息实现系统具有如下优点通过将存储失败的短消息存储至备份数据存储模块后,一方面,可以避免短消息存储至数据存储模块失败时短消息的丢失;另一方面,可以保证在数据存储模块恢复存储服务后,将备份数据存储模块中的短消息重新写入数据存储模块,并最终由调度中心模块获取这些短消息参与实时调度,进行短消息下发。
另外,请参考图4,为本发明的数据存储系统第二具体实施例示意图。本实施例为一种数据存储业务系统,比如为短消息存储增值服务系统。
该系统400是一个数据存储系统,为用户提供一定的存储空间,使用户可以通过接入处理模块410并通过运营商网络发送和接收的来自短消息服务中心(Short Message Service Center,SMSC)460或多媒体消息服务中心(Multimedia Message Service Center,MMSC)470的SMS与MMS消息;同时,根据用户申请短消息存储的服务情况,将接收的消息以数据库形式存储到数据存储模块430中;并且,用户可以通过门户网站(Portal)450对存储的消息进行管理。
由于短消息存储增值服务是对用户的消息进行存储,因此保证用户的消息不丢失至关重要。在数据存储模块430服务异常的情况下,数据处理模块420检测到数据存储模块430出现服务异常时,控制将来自接入处理模块410的消息通过写缓存文件的方式存储至备份数据存储模块440,以保证消息不丢弃;然后,当数据处理模块420检测到数据存储模块430存储服务正常时,在数据处理模块420控制将缓存至备份数据存储模块440中的用户消息重新存储至数据存储模块430的数据库中。
请参考图5所示,相应地,本发明还提供一种保证存储失败的数据不丢失的方法,为数据存储系统中将数据存储至数据存储模块发生失败时,对存储失败的数据进行不丢失的保证处理,该方法包括步骤s510检测到数据存储至数据存储模块的失败;步骤s520根据检测到数据存储至数据存储模块的失败,发出将数据存储至备份数据存储模块的数据存储控制命令;步骤s530执行数据存储控制命令,将数据存储至备份数据存储模块;步骤s540当检测到数据存储模块恢复正常的数据存储服务时,读取备份数据存储模块中的数据,转存储至数据存储模块。
另外,于步骤s510之前,还包括步骤将不参与集中调度的数据存储至数据存储模块;以及将处理消息时失败的数据存储至数据存储模块。
其中,所述数据存储模块为提供以数据库形式存储数据的服务器,以便对系统中的数据进行集中管理、控制;所述备份数据存储模块为提供以缓冲文件形式存储数据的服务器,以较为简单的方式实现对存储失败的数据的暂存处理。
综上所述,与现有技术相比,本发明具有如下优点1、由于在数据存储系统中增加备份数据存储模块,当因为通信故障或数据存储模块自身出现异常,导致数据存储模块不能提供正常的存储服务时,将数据缓存至备份数据存储模块,避免了数据的丢失,有利于提高系统的可靠性;2、由于当数据存储模块恢复正常的存储服务时,还可以将缓存在备份数据存储模块的数据转存至数据存储模块,因此,本发明在保证数据有效存储不会丢失的同时,还可以对存储的数据进行集中管理、控制,有利于进一步提高系统的可靠性和稳定性。
以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种数据存储系统,其特征在于,该系统包括数据存储模块,用于存储处理消息时失败的数据;备份数据存储模块,用于将存储至数据存储模块失败的数据进行存储;数据处理模块,连接备份数据存储模块和数据存储模块,用于检测到数据存储至数据存储模块失败时,将存储失败的数据存储至备份数据存储模块,并当数据存储模块恢复正常的数据存储服务时,读取备份数据存储模块中的数据转存储至数据存储模块。
2.根据权利要求1所述的数据存储系统,其特征在于,所述数据处理模块包括检测子模块,用于检测数据存储模块是否能够提供正常的数据存储服务;存储控制子模块,用于根据检测子模块的检测结果,当数据存储模块不能够提供正常的数据存储服务时,发出将数据存储至备份数据存储模块的控制命令;存储执行子模块,用于执行存储控制子模块发出的数据存储控制命令,将数据存储至备份数据存储模块;数据调度子模块,与存储控制子模块连接,用于当检测子模块检测到数据存储模块恢复正常的数据存储服务时,由存储控制子模块控制读取备份数据存储模块中的数据,并存储至数据存储模块。
3.根据权利要求1所述的数据存储系统,其特征在于,所述数据存储模块为提供以数据库形式存储数据的服务器。
4.根据权利要求1-3任意一项所述的数据存储系统,其特征在于,所述备份数据存储模块为提供以缓冲文件形式存储数据的服务器。
5.一种保证存储失败的数据不丢失的方法,其特征在于,该方法包括当检测到数据存储至数据存储模块失败时,将存储失败的数据存储至备份数据存储模块,并于数据存储模块恢复正常的数据存储服务时,读取备份数据存储模块中的数据,转存储至数据存储模块。
6.根据权利要求5所述的保证存储失败的数据不丢失的方法,其特征在于,在检测数据存储失败之前,还包括将不参与集中调度的数据存储至数据存储模块。
7.根据权利要求5所述的保证存储失败的数据不丢失的方法,其特征在于,在检测数据存储失败之前,还包括将处理消息时失败的数据存储至数据存储模块。
8.根据权利要求5所述的保证存储失败的数据不丢失的方法,其特征在于,所述数据存储模块为提供以数据库形式存储数据的服务器。
9.根据权利要求5任意一项所述的数据存储系统,其特征在于,所述备份数据存储模块为提供以缓冲文件形式存储数据的服务器。
全文摘要
本发明公开一种数据存储系统及保证存储失败的数据不丢失的方法,解决将数据存储至数据存储模块失败时保证数据不丢失,其中,该系统包括数据存储模块,用于存储处理消息时失败的数据;备份数据存储模块,用于将存储至数据存储模块失败的数据进行存储;数据处理模块,连接备份数据存储模块和数据存储模块,用于检测到数据存储至数据存储模块失败时,控制将存储失败的数据存储至备份数据存储模块,并当数据存储模块恢复正常的数据存储服务时,控制读取备份数据存储模块中的数据转存储至数据存储模块。本发明保证了数据存储至数据存储模块失败时,系统中数据不会丢失,有利于提高系统的可靠性与稳定性。
文档编号H04W88/18GK1933614SQ200610122519
公开日2007年3月21日 申请日期2006年9月29日 优先权日2006年9月29日
发明者马家明, 刘晓明 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1