CN101404797A - 长短消息的存储方法、存储管理装置以及存储系统 - Google Patents

长短消息的存储方法、存储管理装置以及存储系统 Download PDF

Info

Publication number
CN101404797A
CN101404797A CN 200810175589 CN200810175589A CN101404797A CN 101404797 A CN101404797 A CN 101404797A CN 200810175589 CN200810175589 CN 200810175589 CN 200810175589 A CN200810175589 A CN 200810175589A CN 101404797 A CN101404797 A CN 101404797A
Authority
CN
China
Prior art keywords
pdu
memory cell
memory
module
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200810175589
Other languages
English (en)
Other versions
CN101404797B (zh
Inventor
蒋兆春
陈光华
叶良
唐佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN 200810175589 priority Critical patent/CN101404797B/zh
Publication of CN101404797A publication Critical patent/CN101404797A/zh
Application granted granted Critical
Publication of CN101404797B publication Critical patent/CN101404797B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种长短消息的存储方法、存储管理装置以及存储系统,其中,上述方法包括:接收上层发送的长短消息的多个PDU;在存储器的多个存储单元中依次存储多个PDU,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系;记录多个PDU中的第一个PDU的存储单元标识,并向上层返回第一个PDU的存储单元标识。通过本发明,能够充分利用存储空间,实现对长短消息的灵活存储、以及实现在协议指定的位置存储,并且能够提高用户体验。

Description

长短消息的存储方法、存储管理装置以及存储系统
技术领域
本发明涉及通信领域,具体地,涉及一种长短消息的存储方法、存储管理装置以及存储系统。
背景技术
目前,在短消息存储机制中,一个协议数据单元(Protocol DateUnit,简称为PDU)能够发送的最多70个汉字字符,因此,如果短消息内容小于或等于70个汉字字符,就可以用一个PDU对这条短消息进行封装并进行发送或接收。,而如果短消息的内容大于70个汉字字符,就需要先对这条短消息进行分段,然后再进行相关的操作,即,需要将该条短消息封装在多个PDU中进行发送或接收。
大于70个汉字字符的短消息可以被称为长短消息或者链接短消息。目前,随着短消息业务的发展,长短消息的使用越来越多。
短消息的存储空间可以分为两类:手机上的空间和基于用户识别卡(Subscriber Identity Module,简称为SIM)/第三代用户识别卡(Universal Subscriber Identity Module,简称为USIM)的卡上空间,其中,卡上空间的存储格式受到协议标准的约束。由于PDU的长度最大为176字节,因此,在SIM/USIM卡中,将短消息的存储空间分成多个大小为176字节的独立记录(又可称为存储单元),这种存储空间的划分对一般短消息是适用的。但是,如果要存储由多个具有前后顺序关系的PDU组成的长短消息,则无法直接使用目前SIM/USIM卡提供的存储机制进行存储,即,现有的短消息存储机制将导致对长短消息的错误存储或者无效存储、以及无法进行存储后的正确读取操作。
标题为《一种接收处理与操作处理长短消息存储的方法》的第CN101222700号中国专利申请,提出了一种基于短消息服务(ShortMessaging Service,简称为SMS)/增强型短消息服务(EnhancedMessage Service,简称为EMS)在存储卡上划分一块专门空间对长短消息进行存储的方法。这种方法简单易行,但同时也具有缺点:第一,由于长短消息的专门存储空间是预先划分的,长短消息的存储位置以及存储数量受到很大的限制,这样会导致协议中的一些功能无法实现,例如,协议可能无法在指定的位置上存储短消息;第二,不能充分利用存储空间,例如,存储长短消息的空间满了、而存储普通短消息的空间却有剩余,这样降低了长短消息的存储效率;第三,由于长短消息的存储空间十分有限,用户通常只能阅读最近收到的长短消息,这样会降低客户体验。
因此,对于长短消息的存储问题,需要进一步研究。
发明内容
考虑到相关技术中存在的无法在存储卡上有效地存储长短消息的问题而做出本发明,为此,本发明的主要目的在于提供一种长短消息的存储方法、存储管理装置以及存储系统,以解决相关技术中的上述问题。
根据本发明的一个方面,提供了一种长短消息的存储方法,用于存储包括多个协议数据单元即PDU的长短消息。
根据本发明的长短消息的存储方法包括:接收上层发送的长短消息的多个PDU;在存储器的多个存储单元中依次存储多个PDU,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系;记录多个PDU中的第一个PDU的存储单元标识,并向上层返回第一个PDU的存储单元标识。
优选地,通过记录当前PDU的下一PDU的存储位置来来建立PDU与存储单元间的对应关系包括:调用预先建立的存储单元标识索引关系表;对于前N-1个存储单元,将当前存储单元的存储单元标识对应的索引设置为:当前存储单元中存储的当前PDU的下一PDU所在的存储单元标识;对于第N个存储单元,将当前存储单元的存储单元标识对应的索引设置为:当前存储单元的存储单元标识;其中,N表示多个PDU的数量,且为大于1的整数。
优选地,在索引关系表中,将空闲存储单元对应的存储单元标识对应的索引设置为空闲标志。
优选地,在存储器的多个存储单元中依次存储多个PDU的操作具体包括:在存储器中查找空闲存储单元,存储第一个PDU,在查找不到空闲存储单元的情况下,返回失败;在存储了第一个PDU之后,继续查找空闲存储单元用于存储其余PDU,在查找不到空闲存储单元的情况下,返回失败,并将索引关系表还原到存储第一个PDU之前的状态。
优选地,在存储器的多个存储单元中依次存储多个PDU的操作还可以包括:在上层指定的存储单元存储第一个PDU;在存储了第一个PDU之后,继续查找空闲存储单元用于存储其余PDU,在查找不到空闲存储单元的情况下,返回失败,并将索引关系表还原到存储第一个PDU之前的状况。
优选地,方法还可以包括:根据上层提供的第一个PDU的存储单元标识,从存储单元标识对应的第一存储单元中读取第一个PDU,并获取第一存储单元的第一存储单元标识;读取存储单元标识索引关系表,查找第一存储单元标识对应的索引,从索引对应的第二存储单元中读取第二个PDU;继续遍历存储单元标识索引关系表,直到读取所有PDU;缓存并返回读取到的所有PDU。
根据本发明的另一方面,提供了一种存储管理装置,用于管理对包括多个PDU的长短消息的存储,具有面向存储器的单PDU接口和面向上层的多PDU接口。
根据本发明的存储管理装置还包括:接收模块,用于接收来自上层的长短消息的多个PDU和/或指令;存储管理模块,连接至接收模块,用于在存储器的多个存储单元中依次存储接收模块接收到的多个PDU;对应关系维护模块,连接至存储管理模块,用于根据存储管理模块的存储操作,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系;记录模块,连接至存储管理模块,用于记录多个PDU中第一个PDU的存储单元标识;反馈模块,连接至记录模块,用于将记录模块记录的第一个PDU的存储单元标识返回给上层。
优选地,对应关系维护模块可以包括:建立模块,用于建立存储单元标识索引关系表;判断模块,用于判断当前PDU是否是最后一个PDU;设置模块,用于根据存储管理模块的存储操作以及判断模块的判断结果对存储单元标识索引关系表进行设置。
优选地,设置模块可用于对于前N-1个存储单元,将当前存储单元的存储单元标识对应的索引设置为:当前存储单元中存储的PDU的下一PDU所在的存储单元标识;以及用于对于第N个存储单元,将当前存储单元的存储单元标识对应的索引设置为:当前存储单元的存储单元标识;其中,N表示多个PDU的数量,且为大于1的整数。
优选地,存储管理模块可以包括:查找子模块,用于在存储器中查找空闲存储单元;管理子模块,连接至查找子模块和接收模块,用于在查找子模块查找到的多个空闲存储单元中存储多个PDU,或者用于在根据接收模块接收到的指令中指定的存储单元中存储第一个PDU,在查找子模块查找到的N-1个空闲存储单元中存储其余的N-1个PDU,其中,N表示多个PDU的数量,且为大于1的整数;反馈模块还用于在查找子模块查找不到空闲存储单元的情况下,返回失败信息;设置模块还用于在查找子模块查找不到空闲存储单元的情况下,将索引关系表还原到存储所述第一个PDU之前的状况。
优选地,该存储管理装置还可以包括:读取模块,连接至接收模块和对应关系模块,用于根据接收模块接收到的指令和对应关系模块中的索引关系表从存储器中读取多个PDU,其中,指令中携带有第一个PDU的存储单元标识;缓存模块,连接至读取模块,用于将读取模块读取的多个PDU进行缓存。优选地,反馈模块还可以用于将缓存模块缓存的多个PDU返回给上层。
根据本发明的另一个方面,提供了一种存储系统。
根据本发明存储系统包括:存储管理装置,具有面向存储器的单协议数据单元即PDU接口和面向上层的多PDU接口,用于管理对包括多个协议数据单元即PDU的长短消息在存储器中的存储,包括:接收模块,用于接收来自上层的长短消息的多个PDU和/或指令;存储管理模块,连接至接收模块,用于在存储器的多个存储单元中依次存储接收模块接收到的多个PDU;对应关系维护模块,连接至存储管理模块,用于根据存储管理模块的存储操作,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系;记录模块,连接至存储管理模块,用于记录多个PDU中第一个PDU的存储单元标识;反馈模块,连接至记录模块,用于将记录模块记录的第一个PDU的存储单元标识返回给上层;存储器,具有单PDU接口,连接至存储管理装置,用于根据存储管理装置的指令对长短消息进行存储,以及被存储管理装置访问。
借助于本发明的上述技术方案,通过在存储多条PDU时建立PDU与存储单元的对应关系,并向上层返回第一条PDU的存储单元标识,能够将包括多条PDU的长短消息完整、有效地存储在存储器中,并且本发明的技术方案无需对存储空间进行划分或者基于不同的短消息协议进行不同的操作,解决了相关技术中无法在存储器中有效地存储长短消息的问题,从而能够充分利用存储空间,实现对长短消息的灵活存储、以及实现在协议指定的位置存储,并且能够提高用户体验。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明装置实施例的存储管理装置的结构框图;
图2是根据本发明装置实施例的存储管理装置中存储管理模块的结构框图;
图3是根据本发明装置实施例的存储管理装置中对应关系维护模块的结构框图;
图4是根据本发明装置实施例的存储管理装置的另一结构框图;
图5是根据本发明优选实施例的存储管理装置的结构框图;
图6是根据本发明系统实施例的存储系统的结构框图;
图7是图6所示存储系统实现长短消息存储的流程图;
图8是根据本发明方法实施例的长短消息的存储方法的流程图;
图9是根据本发明方法实施例的长短消息的存储方法的具体实施的流程图;
图10是根据本发明方法实施例的长短消息的存储方法的具体实施的另一流程图。
具体实施方式
功能概述
针对相关技术中存在的无法在存储器中有效地存储长短消息的问题,本发明实施例提出了一种长短消息的存储机制,其中,通过在存储多条PDU时建立PDU与存储单元的对应关系,并向上层返回第一条PDU的存储单元标识,能够将包括多条PDU的长短消息完整、有效地存储在存储器中。其主要思想就是基于普通短消息的存储机制实现长短消息的存储,使得从上层用户看来长短消息和普通短消息没有区别,不会给上层用户的使用带来任何不便。
下面结合附图对本发明的实施例进行说明。
装置实施例
根据本实施例,提供了一种存储管理装置,用于管理对包括多个PDU的长短消息的存储,具有面向存储器的单PDU接口和面向上层的多PDU接口。
图1示出了根据本发明装置实施例的存储管理装置的结构,如图1所示,该存储管理装置还包括:接收模块10、存储管理模块12、对应关系维护模块14、记录模块16、反馈模块18。下面结合图1详细描述上述模块的功能。
(一)接收模块10
接收模块10用于接收来自上层的长短消息的多个PDU(这里提到的上层可以是诸如对短消息进行接收、发送以及PDU编码/解码的功能模块),还可以接收来自上层的指令(这里提到的上层可以是协议),其中,此处接收到的多个PDU是已经由上层按照协议封装并且顺序排序的多个PDU,这里提到的指令可以用于指示上层协议指定的第一个PDU的存储单元标识(需要说明的是,存储单元也可以被称为记录,存储单元标识也可以被称为记录号),也可以包括需要从存储器中读取长短消息时给出的第一个PDU的存储单元标识。
(二)存储管理模块12
存储管理模块12连接至接收模块10,用于在存储器的多个存储单元中依次存储接收模块10接收到的多个PDU。
图2示出了根据本发明装置实施例的存储管理装置中存储管理模块的结构,如图2所示,该存储管理模块12可以包括:查找子模块120、管理子模块122。下面结合图2详细说明该存储管理模块12的功能。
为达到对接收到的多个PDU进行完整存储的目的,首先查找子模块120在存储器中依次查找空闲存储单元(优选地,查找的操作可以根据下文提到的存储单元标识索引表记录的情况进行),在找到的多个空闲存储单元中,管理子模块122将多个PDU依次存储到其中;或者如果上层指定了PDU存储位置,例如,可以通过指令的形式来指定,则管理子模块122可以在接收模块10接收到的指令中的指定位置指定的存储单元存入第一个PDU,接着在查找子模块120依次查找到的N-1个空闲存储单元中顺序存储其余的N-1个PDU,这里所述的“N”表示多个PDU的数量,且为大于1的整数。可以看出,本发明实施例提供的存储管理装置既可以实现本地的自主存储,也可以实现上层的指定存储。
查找子模块120在依次查找空闲存储单元的过程中,可能会出现存储器满的情况(即,存储器中没有空闲存储单元),在这种情况下,管理子模块122可能已经在存储器中存储了多个PDU中的一个或几个PDU,此时,反馈模块18向上层发送失败信息以告知上层该次长短消息的存储操作不能继续,例如返回“存储器满”的错误信息,上层可根据该消息做出相应的操作,并且此时下述对应关系维护模块14中的设置模块144会将下述存储单元标识索引关系表还原到存储第一个PDU前的状态。
(三)对应关系维护模块14
对应关系维护模块14,连接至存储管理模块12,用于根据存储管理模块12的存储操作,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系。
图3示出了根据本发明装置实施例的存储管理装置中对应关系维护模块的结构,如图3所示,对应关系维护模块14可以包括:建立模块140、判断模块142、设置模块144。下面结合图3详细说明该对应关系维护模块14的功能。
为了达到对接收到的多个PDU进行有效存储的目的,建立模块140预先建立一个存储单元标识索引关系表,该表可如表1所示,表1通过记录当前PDU的存储单元对应的存储单元标识与其下一条PDU的存储单元对应的存储单元标识之间的索引关系,来记录PDU与存储单元间的对应关系,其中,SIM、ME、SR、BM为不同类型的存储器,1到255为存储器中存储单元对应的存储单元标识(或者可以称为记录号),此外,SIM、ME、SR、BM存储器均支持普通短消息存储机制,并且,只能对单个PDU进行读写操作。
表1
Figure A20081017558900161
如表1所示,上述对应关系可以设定为:存储单元标识对应的索引的内容为0:表示该存储单元标识对应的存储单元为空记录,记录的内容为存储单元标识本身:表示该存储单元标识对应的存储单元中存储的PDU为多个PDU的最后一个PDU或者该PDU为普通短消息的PDU,记录的内容为其它存储单元标识:表示存储单元标识对应的存储单元中存储的PDU的下个PDU存储在该其它存储单元标识对应的存储单元中。这样,在建立模块140首次建立的存储单元标识索引关系表中,只有两种情况,即,存储单元标识下记录的内容为0或者存储单元标识本身。
在存储管理模块12存储多个PDU的过程中,对应关系维护模块14遵从上述对应关系的规定,在判断模块142判断当前PDU不是最后一个PDU时,设置模块144将当前存储单元的存储单元标识对应的索引设置为:当前存储单元中存储的PDU的下一PDU所在的存储单元标识,在判断模块142判断当前PDU是最后一个PDU时,设置模块144将当前存储单元的存储单元标识对应的索引设置为:当前存储单元的存储单元标识;其中,N表示多个PDU的数量,且为大于1的整数。
当存储器中存储了完整的长短消息后,索引关系表表示的PDU与存储单元间的对应关系可如表2所示。例如,SIM卡的存储单元标识3下记录的值为5表示:存储单元标识为3的存储单元中存储了一个PDU,并且该PDU的下个PDU存储在存储单元标识为5的存储单元中,存储单元5中存储的PDU的下个PDU存储在存储单元标识为6的存储单元中,存储单元6中的PDU的下个PDU存储在存储单元标识为8的存储单元中,存储单元8中的PDU没有下个PDU,则可知一个长短消息的4个PDU分别存储在存储单元标识为3、5、6、8的存储单元中。
表2
Figure A20081017558900171
(四)记录模块16
记录模块16,根据存储管理模块12的存储操作,记录多个PDU中第一个PDU的存储单元标识。
(五)反馈模块18
反馈模块18,连接至记录模块16,根据记录模块16记录操作,将第一个PDU的存储单元标识返回给上层。
上面描述的是存储管理装置中的对长短消息进行存储的功能单元,另一方面,存储管理装置中的对长短消息进行读取的功能单元还可以如图4所示,其中包括:读取模块20和缓存模块22。
如图4所示,读取模块20连接至接收模块10和对应关系维护模块14,用于根据接收模块10接收到的来自于上层的指令中携带的第一个PDU的存储单元标识,从存储器中读取第一个PDU,读取对应关系维护模块14中的索引关系表,并根据索引关系表读取其余的PDU;缓存模块22,连接至读取模块20,用于将读取模块20读取的多个PDU进行缓存。此外,反馈模块18还可以进一步用于将缓存模块20缓存的多个PDU返回给上层。
图5示出了根据本发明优选实施例的存储管理装置的结构,该装置的包括:接收模块10、存储管理模块12、对应关系维护模块14、记录模块16、反馈模块18、读取模块20、缓存模块22,以及存储管理模块12包括:查找子模块120、管理子模块122,对应关系维护模块14包括:建立模块140、判断模块142、设置模块144。该装置的功能与上述图1至图4中所示的装置或模块的功能类似,这里不再赘述。
使用本实施例提供的技术方案,通过在存储多条PDU时建立PDU与存储单元的对应关系,并向上层返回第一条PDU的存储单元标识,能够将包括多条PDU的长短消息完整、有效地存储在存储器中。
系统实施例
根据本实施例,提供了一种存储系统。
图6示出了根据本发明系统实施例的存储系统的结构,如图6所示,根据本发明系统实施例的存储系统包括:存储管理装置60和存储器62。下面结合图6详细描述上述装置的功能。
存储管理装置60,具有面向存储器60的单PDU接口和面向上层的多PDU接口,用于管理对包括多个PDU的长短消息在存储器62中的存储,该存储管理装置60可以是如图1所示的存储管理装置,包括接收模块600、存储管理模块602、对应关系维护模块604、记录模块606、反馈模块608,优选地,该存储管理装置60也可以是如图1或图4所示的装置与图2或图3所示的模块的任意组合。
存储器62,具有单PDU接口,连接至存储管理装置,用于根据存储管理装置60的指令对长短消息进行存储,以及被存储管理装置访问。如上所述,存储器62可以是多种类型的存储器,例如SIM、ME、SR、BM存储器,并且存储器62支持普通短消息存储机制、只能对单个PDU进行读写操作。
图7示出了图6所示存储系统实现长短消息的存储的流程,该流程包括对长短消息进行存储以及从存储器中读取长短消息的处理,如图7所示,该流程包括如下处理过程:
步骤702,存储管理装置60接收到来自上层的长短消息的多个PDU和/或上层指定的第一个PDU的存储单元标识;
步骤704,存储管理装置60将多个PDU存储到存储器62中;
步骤706,存储管理装置60记录第一个PDU的存储单元标识;
步骤708,存储管理装置60建立PDU与存储单元的对应关系;
步骤710,存储管理装置60将第一个PDU的存储单元标识返回给上层;
步骤712,存储管理装置60接收到来自上层的第一个PDU的存储单元标识;
步骤714,存储管理装置60从存储器62中读取第一个PDU并缓存;
步骤716,存储管理装置60根据PDU与存储单元的对应关系从存储器62中读取其余的PDU并缓存;
步骤718,存储管理装置60将缓存的所有PDU返回给上层。
使用本实施例提供的技术方案,过在存储多条PDU时建立PDU与存储单元的对应关系,并向上层返回第一条PDU的存储单元标识,能够将包括多条PDU的长短消息完整、有效地存储在存储器中。
方法实施例
根据本实施例,提供了一种长短消息的存储方法。
图8示出了根据本发明方法实施例的长短消息的存储方法的处理流程,需要说明的是,在以下方法中描述的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在图8中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。如图8所示,该方法包括以下所述的步骤S802-S806:
步骤S802,接收上层发送的长短消息的多个PDU;
步骤S804,在存储器的多个存储单元中依次存储多个PDU,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系;
步骤S806,记录多个PDU中的第一个PDU的存储单元标识,并向上层返回第一个PDU的存储单元标识。
下面详细说明上述处理过程的细节。
在步骤S804中,可以通过两种方案在存储器中存储第一个PDU:方案一,由存储管理装置自主在本地查找空闲存储单元中存储第一个PDU,查找不到空闲存储单元的情况下,返回失败;方案二,由上层通过指令的形式指定存储单元中存储第一个PDU。在存储其余PDU时,继续由存储管理装置在本地自主查找空闲存储单元并存储其余PDU,在查找不到空闲存储单元的情况下,返回失败,并将索引关系表还原到存储第一个PDU之前的状态。可以看出,本发明实施例提供的长短消息的存储方法既可以实现本地的自主存储,也可以实现上层的指定存储,这样,实现了对长短消息进行完整存储的目的。
在步骤S804中,要达到对多个PDU有效存储的目的,就要通过记录当前PDU的下一PDU的存储位置来来建立PDU与存储单元间的对应关系,这一操作具体包括:步骤1,首先调用根据存储器已有的存储状况预先建立的存储单元标识索引关系表,在该表中通过记录PDU的存储单元对应的存储单元标识与其下一条PDU的存储单元对应的存储单元标识之间的索引关系来实现PDU与存储单元间的对应关系;优选地,在索引关系表中,可以将空闲存储单元对应的存储单元标识对应的索引设置为空闲标志,例如,将存储单元标识对应的索引设置为0表示存储单元标识对应的存储单元为空闲存储单元(或者称为空记录);步骤2,对于存储不是最后一个PDU的存储单元,将当前存储单元的存储单元标识对应的索引设置为:当前存储单元中存储的当前PDU的下一PDU所在的存储单元标识;对于存储最后一个PDU的存储单元,将当前存储单元的存储单元标识对应的索引设置为:当前存储单元的存储单元标识。通过上述步骤1和步骤2有效地建立了PDU与存储单元间的关系,这样,在对长短消息进行完整存储的基础上进一步地实现了有效存储,不仅标识了单个PDU的存储位置,更标识了PDU之间的存储链接关系。
使用本实施例提供的技术方案,过在存储多条PDU时建立PDU与存储单元的对应关系,并向上层返回第一条PDU的存储单元标识,能够将包括多条PDU的长短消息完整、有效地存储在存储器中。
图9示出了根据本发明方法实施例的长短消息的存储方法的具体实施的流程,在具体实施之前,已经建立了存储单元标识索引关系表,如图9所示,该处理流程包括步骤:
步骤902,设置指针Index,Index记录短消息在存储器中的地址,Index的值为存储单元标识,设置指针CurIndex,CurIndex记录存储多个PDU的过程中存储当前PDU的存储单元对应的存储单元标识,Index和CurIndex初始值都为0;
步骤904,设置指针EmptyIndex,EmptyIndex记录查找到的空记录的存储单元标识;
步骤906,判断指针EmptyIndex当前所指的存储单元标识在索引关系表中对应的值是否为0,为0时,处理进行到步骤908,否则,进行到步骤910;
步骤908,如果EmptyIndex为0,表示没有找到空记录,返回错误信息“存储器满”,并还原索引关系表到此次存储操作前的状况;
步骤910,如果EmptyIndex不为0,判断CurIndex的值是否为0,在判断为0时,处理进行到912,否则,进行到914;
步骤912,CurIndex为0表示EmptyIndex用来存放第一条PDU,此时,令Index=EmptyIndex;
步骤914,CurIndex不等于0表示CurIndex所指的当前存储单元已经存放了PDU,此时,令EmptyIndex所指的存储单元用来存放下条PDU,并修改PDU索引表,在索引关系表中令CurIndex所指的存储单元标识的表项为EmptyIndex,即,PduTable[CurIndex]=EmptyIndex;
步骤916,令CurIndex=EmptyIndex,即,将新的空记录作为当前存储单元标识;
步骤918,在当前存储单元标识对应的存储单元中写PDU;
步骤920,判断当前PDU是否还有后续PDU,在有的情况下,处理返回到步骤904,否则,进行到步骤922;
步骤922,如果没有后续PDU,修改索引关系表,CurIndex对应的表项为CurIndex,返回短消息第一段PDU存储的位置(即Index)给上层。
以上描述的是将多个PDU存储到存储器中的处理过程,另一方面,从存储器中读取多个PDU的方法还包括:步骤1,根据上层提供的第一个PDU的存储单元标识,从存储单元标识对应的第一存储单元中读取第一个PDU,并获取第一存储单元的第一存储单元标识;步骤2,读取存储单元标识索引关系表,查找第一存储单元标识对应的索引,从索引对应的第二存储单元中读取第二个PDU;步骤3,继续遍历存储单元标识索引关系表,直到读取所有PDU;步骤4,缓存并返回读取到的所有PDU。
图10示出了根据本发明方法实施例的长短消息的存储方法的具体实施的另一流程,如图10所示,该处理流程包括如下步骤:
步骤1002,另CurIndex指向上层指定的存储第一个PDU的存储单元对应的存储单元标识;
步骤1004,读出CurIndex所指的存储单元中的PDU并缓存;
步骤1006,根据索引关系表判断当前CurIndex所指的存储单元标识是否有后续的存储单元标识,即,判断当前的PDU是否有后续PDU,在有后续PDU的时,处理进行到步骤1008,否则,进行到步骤1010;
步骤1008,获取存储下个PDU的存储单元对应的存储标识,处理返回到步骤1004;
步骤1010,将缓存的所有PDU返回给上层。
综上所述,借助于本发明的技术方案,通过在存储多条PDU时建立PDU与存储单元的对应关系,并向上层返回第一条PDU的存储单元标识,能够基于普通短消息的存储模式将包括多条PDU的长短消息完整、有效地存储在存储器中,并且本发明的技术方案无需对存储空间进行划分或者基于不同的短消息协议进行不同的操作,解决了相关技术中无法在存储器中有效地存储长短消息的问题,从而能够充分利用存储空间,实现在协议指定的位置存储,并且能够提高用户体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种长短消息的存储方法,用于存储包括多个协议数据单元即PDU的长短消息,其特征在于,所述方法包括:
接收上层发送的长短消息的多个PDU;
在存储器的多个存储单元中依次存储所述多个PDU,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系;
记录所述多个PDU中的第一个PDU的存储单元标识,并向上层返回所述第一个PDU的存储单元标识。
2.根据权利要求1所述的方法,其特征在于,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系包括:
调用预先建立的存储单元标识索引关系表;
对于前N-1个存储单元,将当前存储单元的存储单元标识对应的索引设置为:所述当前存储单元中存储的当前PDU的下一PDU所在的存储单元标识;
对于第N个存储单元,将当前存储单元的存储单元标识对应的索引设置为:所述当前存储单元的存储单元标识;
其中,N表示所述多个PDU的数量,且为大于1的整数。
3.根据权利要求2所述的方法,其特征在于,在所述索引关系表中,将空闲存储单元对应的存储单元标识对应的索引设置为空闲标志。
4.根据权利要求3所述的方法,其特征在于,在所述存储器的所述多个存储单元中依次存储所述多个PDU包括:
在所述存储器中查找空闲存储单元,存储所述第一个PDU,在查找不到空闲存储单元的情况下,返回失败;
在存储了所述第一个PDU之后,继续查找空闲存储单元用于存储其余PDU,在查找不到空闲存储单元的情况下,返回失败,并将所述索引关系表还原到存储所述第一个PDU之前的状态。
5.根据权利要求2所述的方法,其特征在于,在所述存储器的所述多个存储单元中依次存储所述多个PDU包括:
在所述上层指定的存储单元存储所述第一个PDU;
在存储了所述第一个PDU之后,继续查找空闲存储单元用于存储其余PDU,在查找不到空闲存储单元的情况下,返回失败,并将所述索引关系表还原到存储所述第一个PDU之前的状况。
6.根据权利要求2所述的方法,其特征在于,还包括:
根据上层提供的所述第一个PDU的存储单元标识,从所述存储单元标识对应的第一存储单元中读取所述第一个PDU;
读取所述存储单元标识索引关系表,查找所述第一存储单元标识对应的索引,从所述索引对应的第二存储单元中读取第二个PDU;
继续遍历所述存储单元标识索引关系表,直到读取所有PDU;
缓存并返回读取到的所述所有PDU。
7.一种存储管理装置,用于管理对包括多个PDU的长短消息的存储,具有面向存储器的单PDU接口和面向上层的多PDU接口,其特征在于,所述存储管理装置还包括:
接收模块,用于接收来自上层的长短消息的多个PDU和/或指令;
存储管理模块,连接至所述接收模块,用于在存储器的多个存储单元中依次存储所述接收模块接收到的所述多个PDU;
对应关系维护模块,连接至所述存储管理模块,用于根据所述存储管理模块的存储操作,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系;
记录模块,连接至所述存储管理模块,用于记录所述多个PDU中第一个PDU的存储单元标识;
反馈模块,连接至所述记录模块,用于将所述记录模块记录的第一个PDU的存储单元标识返回给上层。
8.根据权利要求7所述的存储管理装置,其特征在于,所述对应关系维护模块进一步包括:
建立模块,用于建立存储单元标识索引关系表;
判断模块,用于判断当前PDU是否是最后一个PDU;
设置模块,用于根据所述存储管理模块的存储操作以及所述判断模块的判断结果对所述存储单元标识索引关系表进行设置。
9.根据权利要求8所述的存储管理装置,其特征在于,所述设置模块用于对于前N-1个存储单元,将当前存储单元的存储单元标识对应的索引设置为:所述当前存储单元中存储的PDU的下一PDU所在的存储单元标识;以及用于对于第N个存储单元,将当前存储单元的存储单元标识对应的索引设置为:所述当前存储单元的存储单元标识;其中,N表示所述多个PDU的数量,且为大于1的整数。
10.根据权利要求7所述的存储管理装置,其特征在于,所述存储管理模块进一步包括:
查找子模块,用于在所述存储器中查找空闲存储单元;
管理子模块,连接至查找子模块和接收模块,用于在查找模块查找到的多个空闲存储单元中存储所述多个PDU,或者用于在根据接收模块接收到的所述指令中指定的存储单元中存储第一个PDU,在所述查找子模块查找到的N-1个空闲存储单元中存储其余的N-1个PDU,其中,N表示所述多个PDU的数量,且为大于1的整数;
所述反馈模块还用于在所述查找子模块查找不到空闲存储单元的情况下,返回失败信息;
所述设置模块还用于在所述查找子模块查找不到空闲存储单元的情况下,将所述索引关系表还原到存储所述第一个PDU之前的状况。
11.  根据权利要求7所述的存储管理装置,其特征在于,还包括:
读取模块,连接至所述接收模块和所述对应关系维护模块,用于根据所述接收模块接收到的所述指令和所述对应关系维护模块中的所述索引关系表从所述存储器中读取所述多个PDU,其中,所述指令中携带有第一个PDU的存储单元标识;
缓存模块,连接至读取模块,用于将所述读取模块读取的所述多个PDU进行缓存;
所述反馈模块还用于将所述缓存模块缓存的所述多个PDU返回给所述上层。
12.一种存储系统,其特征在于,包括:
存储管理装置,具有面向存储器的单协议数据单元即PDU接口和面向上层的多PDU接口,用于管理对包括多个协议数据单元即PDU的长短消息在存储器中的存储,包括:
接收模块,用于接收来自上层的长短消息的多个PDU和/或指令;
存储管理模块,连接至所述接收模块,用于在存储器的多个存储单元中依次存储所述接收模块接收到的所述多个PDU;
对应关系维护模块,连接至所述存储管理模块,用于根据所述存储管理模块的存储操作,通过记录当前PDU的下一PDU的存储位置来建立PDU与存储单元间的对应关系;
记录模块,连接至所述存储管理模块,用于记录所述多个PDU中第一个PDU的存储单元标识;
反馈模块,连接至所述记录模块,用于将所述记录模块记录的第一个PDU的存储单元标识返回给上层;
所述存储器,具有单PDU接口,连接至所述存储管理装置,用于根据所述存储管理装置的指令对所述长短消息进行存储,以及被所述存储管理装置访问。
CN 200810175589 2008-11-07 2008-11-07 长短消息的存储方法、存储管理装置以及存储系统 Expired - Fee Related CN101404797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810175589 CN101404797B (zh) 2008-11-07 2008-11-07 长短消息的存储方法、存储管理装置以及存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810175589 CN101404797B (zh) 2008-11-07 2008-11-07 长短消息的存储方法、存储管理装置以及存储系统

Publications (2)

Publication Number Publication Date
CN101404797A true CN101404797A (zh) 2009-04-08
CN101404797B CN101404797B (zh) 2012-12-19

Family

ID=40538639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810175589 Expired - Fee Related CN101404797B (zh) 2008-11-07 2008-11-07 长短消息的存储方法、存储管理装置以及存储系统

Country Status (1)

Country Link
CN (1) CN101404797B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011110122A2 (zh) * 2011-04-22 2011-09-15 华为技术有限公司 短消息的处理方法、装置和系统
WO2014000621A1 (zh) * 2012-06-26 2014-01-03 腾讯科技(深圳)有限公司 信息合并方法和装置
CN110235416A (zh) * 2017-04-28 2019-09-13 Oppo广东移动通信有限公司 无线通信的方法和装置
CN111356094A (zh) * 2020-01-07 2020-06-30 北京简约纳电子有限公司 一种sim短消息处理方法及装置
US10945134B2 (en) 2014-09-29 2021-03-09 Nec Corporation Method and devices for signaling transmission in unlicensed band

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098498A (zh) * 2006-06-28 2008-01-02 北京握奇数据系统有限公司 增加短消息长度的接收、发送及显示方法
CN1963814A (zh) * 2006-11-29 2007-05-16 珠海市泰德企业有限公司 存储器数据管理方法
CN100504872C (zh) * 2006-12-31 2009-06-24 北京握奇数据系统有限公司 一种在电信智能卡中存储应用数据的方法
CN101222700A (zh) * 2007-01-12 2008-07-16 上海晨兴电子科技有限公司 一种接收处理与操作处理长短消息存储的方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011110122A2 (zh) * 2011-04-22 2011-09-15 华为技术有限公司 短消息的处理方法、装置和系统
WO2011110122A3 (zh) * 2011-04-22 2012-04-19 华为技术有限公司 短消息的处理方法、装置和系统
WO2014000621A1 (zh) * 2012-06-26 2014-01-03 腾讯科技(深圳)有限公司 信息合并方法和装置
CN103516856A (zh) * 2012-06-26 2014-01-15 腾讯科技(深圳)有限公司 信息合并方法和装置
CN103516856B (zh) * 2012-06-26 2015-10-21 腾讯科技(深圳)有限公司 信息合并方法和装置
US9402172B2 (en) 2012-06-26 2016-07-26 Tencent Technology (Shenzhen) Company Limited Message combination method and device
US10945134B2 (en) 2014-09-29 2021-03-09 Nec Corporation Method and devices for signaling transmission in unlicensed band
CN110235416A (zh) * 2017-04-28 2019-09-13 Oppo广东移动通信有限公司 无线通信的方法和装置
CN110235416B (zh) * 2017-04-28 2023-09-26 Oppo广东移动通信有限公司 无线通信的方法和装置、计算机可读存储介质
CN111356094A (zh) * 2020-01-07 2020-06-30 北京简约纳电子有限公司 一种sim短消息处理方法及装置
CN111356094B (zh) * 2020-01-07 2021-09-03 北京简约纳电子有限公司 一种sim短消息处理方法及装置

Also Published As

Publication number Publication date
CN101404797B (zh) 2012-12-19

Similar Documents

Publication Publication Date Title
EP2097838B1 (en) A method for storing data in a rfid transponder
CN101404797B (zh) 长短消息的存储方法、存储管理装置以及存储系统
KR100735341B1 (ko) 가입자 식별 모듈의 데이터 리드 속도 개선 방법 및 장치
CN101510838B (zh) 实现持久化数据队列的方法
EP2566286B1 (en) Wireless Internet Access Module, Communication Method for Host and Wireless Internet Access Module, and Data Card
CN100378663C (zh) 将应用程序动态下载到用户识别模块的方法、系统及模块
CN109542857B (zh) 审计日志存储方法、查询方法、装置及相关设备
CN100454813C (zh) 一种计算机和移动终端之间数据文件传输的方法
CN101400164B (zh) 一种智能卡及其实现部署定制业务的系统及方法
CN101416159A (zh) 通信终端、用户数据移动系统及用户数据移动方法
CN108536617A (zh) 缓存管理方法、介质、系统和电子设备
CN103581846B (zh) 一种用户名片更新方法和系统
CN113014510B (zh) 惯导系统分布式测试中数据缓存方法及装置
US6973472B2 (en) Data synchronization system and method based on modification records and common formatting
US20090138426A1 (en) Communication terminal device, access controlling method, and smart card
CN103037326B (zh) 长短信处理方法及装置
CN101932133B (zh) 短信存储方法及无线通信终端
CN101217385B (zh) 暂存处理计费话单的方法和系统
CN101004741A (zh) 一种改进的哈希方法及其应用
KR101012151B1 (ko) 명령어 확장을 통한 스마트카드 업데이트 방법 및 시스템
CN1426190A (zh) 数据同步系统及方法
CN102117215A (zh) 电子词典终端更新系统以及更新方法
US6728857B1 (en) Method and system for storing and retrieving data using linked lists
CN110109869B (zh) 一种快速定位连接设备文档的方法
CN116701526B (zh) 数据同步的方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20090408

Assignee: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD.

Assignor: ZTE Corporation

Contract record no.: 2015440020319

Denomination of invention: Storage method, storage management apparatus and storage system for long message

Granted publication date: 20121219

License type: Common License

Record date: 20151123

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121219

Termination date: 20161107

CF01 Termination of patent right due to non-payment of annual fee