一种通讯录系统以及嵌入通讯录系统的数据通信系统的制作方法

文档序号:7614315阅读:121来源:国知局
专利名称:一种通讯录系统以及嵌入通讯录系统的数据通信系统的制作方法
技术领域
本发明属于计算机网络通信领域,尤其涉及一种单独或者嵌入到其他数据通信系统中应用的通讯录系统,以及嵌入该通讯录系统的数据通信系统。
背景技术
通讯录数据是计算机网络通信过程中一种常用的数据,用于记载用户的个人或者单位的联系信息,诸如用户名称、E-mail地址、电话,越来越多的应用中还需要增加个人或者单位的介绍性信息。通讯录数据由多个不同的字段组成,字段是计算机网络通信中用于记载某种信息的载体,例如生日字段,用于记载生日这个信息。不同的字段具有不同的数据类型,如字符串或者图片等。通讯录数据必须保持灵活性和可扩展性,以便可以满足不断增长的用户需求。
用户可以利用通讯录系统对通讯录数据进行存储、编辑及显示等处理。通讯录系统也可以嵌入到其他应用系统中,如微软的Outlook Express、MSNMessenger,前者是常用的电子邮件系统,后者应用于多用户的即时通信,还有流行的QQ即时通信系统等。
现有技术中,通讯录数据的字段是不可扩展的,某个字段只能保存一种特定类型的数据,用户无法保存系统不能识别的数据,或者把某个字段保存成系统不支持的数据类型,如以明文的形式保存“个人介绍”的字段资料,并且明确保存字段的值,用户或者其他应用系统就不能利用通讯录系统来保存图片类型的“个人介绍”数据。

发明内容
本发明的目的在于解决现有的通讯录系统的字段不可扩展的问题,使得用户或者其他应用系统能够通过通讯录系统保存不同类型的数据。
为实现本发明的目的,本发明提供了一种通讯录系统,所述系统至少包括接收用户的通讯录数据,提取所述通讯录数据中的字段参数给字段管理模块,根据字段值的数据类型对数据进行显示处理的界面模块;维护字段结构,接收所述界面模块发送的字段参数,根据字段结构将所述字段参数重新排列后发送给存储模块的字段管理模块;以联系人ID为索引存储所述字段管理模块发送的重新排列后的字段参数的存储模块;所述字段参数包括字段ID、字段值的数据类型以及字段值;所述字段结构包括字段ID、字段长度、字段名和字段值,所述字段名包括字段名的长度、字段名的数据类型和字段数据;所述字段值包括字段值的长度、字段值的数据类型和字段数据。
所述界面模块进一步判断字段值的数据类型是否已知,如果未知,则根据所述字段的字段长度跳过所述字段;如果已知,则按所述字段值的数据类型所对应的显示格式显示所述字段。
所述界面模块进一步接收用户的通讯录数据调用请求,并将所述数据调用请求中的联系人ID信息送交字段管理模块,接收字段管理模块返回的数据查询结果;所述字段管理模块进一步接收界面模块发送的联系人ID信息,查询存储模块,读取与所述联系人ID信息对应的数据,并将数据查询结果返回界面模块。
为了更好地实现发明目的,本发明进一步提供了一种数据通信系统,至少包括用户界面,用于输入和显示数据,所述数据通信系统进一步包括通讯录系统,所述通讯录系统包括接收用户的通讯录数据,提取所述通讯录数据中的字段参数给字段管理模块,根据字段值的数据类型对数据进行显示处理的界面模块;维护字段结构,接收所述界面模块发送的字段参数,根据字段结构将所述字段参数重新排列后发送给存储模块的字段管理模块;以联系人ID为索引存储所述字段管理模块发送的重新排列后的字段参数的存储模块;所述字段参数包括字段ID、字段值的数据类型以及字段值;所述字段结构包括字段ID、字段长度、字段名和字段值,所述字段名包括字段名的长度、字段名的数据类型和字段数据;所述字段值包括字段值的长度、字段值的数据类型和字段数据。
所述界面模块进一步判断字段值的数据类型是否已知,如果未知,则根据所述字段的字段长度跳过所述字段;如果已知,则按所述字段值的数据类型所对应的显示格式显示所述字段。
所述界面模块进一步接收用户的通讯录数据调用请求,并将所述数据调用请求中的联系人ID信息送交字段管理模块,接收字段管理模块返回的数据查询结果;所述字段管理模块进一步接收界面模块发送的联系人ID信息,查询存储模块,读取与所述联系人ID信息对应的数据,并将数据查询结果返回界面模块。
通过本发明,可以方便地扩展通讯录数据的字段,并能够在不对通讯录系统作出修改的情况下,保存通讯录系统不支持的数据类型。


图1是本发明提供的通讯录系统结构图;图2是本发明的应用示例一的示意图;图3是本发明的应用示例二的示意图;图4是嵌入本发明提供的通讯录系统的数据通信系统的构成图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中,对通讯录数据的结构进行结构化设置,通讯录数据包括多组用户数据,一组用户数据包括多个不同的字段,每个字段包括字段ID、字段长度、字段名和字段值,字段名包括字段名的长度、字段名的数据类型和字段数据;字段值包括字段值的长度、字段值的数据类型和字段数据,详述如下stFieldInfo=wFieldID+wFieldInfoLen+stFieldNameInfo+stFieldValueInfo其中,wFieldID是字段ID,wFieldInfoLen是字段的长度,stFieldNameInfo是字段名,stFieldValueInfo是字段值。
stFieldNameInfo=wFieldNameInfoLen+cDataType+FieldData其中,wFieldNameInfoLen是stFieldNameInfo字段名这个结构的长度,cDataType是字段名的数据类型,FieldData字段数据,用来描述字段名。
例如,cDataType=0时,表示字段名为系统提供的固定名称;cDataType=2时,表示字段名为由用户选择的名称;cDataType=5时,表示字段名为用户自己输入的名称。
stFieldValueInfo=wFieldValueInfoLen+cDataType+FieldData其中,wFieldValueInfoLen是stFieldValueInfo字段值这个结构的长度,cDataType是字段值的数据类型,FieldData字段数据,用来描述字段值。
例如,cDataType=6,表示字段值为字符串值;cDataType=1时,表示字段值为单字节整数值;cDataType=2时,表示字段值为双字节整数值;cDataType=3时,表示字段值为四字节整数值。
需要说明的是,上述字段结构中的对cDataType的赋值仅仅是为了便于理解而提供的示例,不应当视为对本发明的限制。
图1示出了本发明中的通讯录系统100的结构,界面模块101为用户提供数据输入窗口和数据显示界面,通过内嵌的输入控件实现数据输入,这些控件诸如
(1)文本输入控件,由用户根据不同的字段名直接输入相应的字符串;(2)列表选择控件,提供多个数据内容,供用户选择,例如提供1~12供用户选择月份;(3)图片选择控件,采用附加文件的方式,供用户附加图片数据。
界面模块101接收用户输入的数据后,提取字段ID、字段值以及字段值的数据类型三个字段参数发送给字段管理模块102。
字段管理模块102是整个系统的控制中心,用于维护字段结构,可以定义并产生新的字段或者增加新的数据类型,同时,调用界面模块101和存储模块103,实现数据的输入存储和输出显示。在用户通过界面模块101输入数据时,字段管理模块102读取界面模块101发送的字段ID、字段值的数据类型以及字段值三个字段参数,根据上述预先定义的字段结构,将这三个字段参数进行重新排列后发送给存储模块103进行存储。
存储模块103的典型形式是一个文件,以联系人ID为索引存储字段管理模块102提交的数据。
在用户需要查看某个用户的通讯录数据时,通过界面模块101提交数据调用请求,界面模块101向字段管理模块102提交的数据调用请求中的联系人ID信息,字段管理模块102读取存储模块103中该用户ID对应的字段ID、字段值的数据类型以及字段值,返回界面模块101。界面模块101收到字段管理模块102返回的字段ID、字段值的数据类型以及字段值后,首先判断相应字段值的数据类型是否已知,如果已知,则按照该数据类型对应的显示方式显示字段值,如果字段值的数据类型不是已知的,则按照该字段的字段长度跳过该字段,不予显示。
作为本发明的一个应用,如图2所示,用户使用不同的客户端进行通信,如在上班时,用户使用办公室的客户端1通信,下班后使用家里的客户端2通信。用户的通讯录数据会在服务器上保存,以便用户利用不同的客户端从服务器上下载最新的通讯录数据。在这个实施例中,服务器对通讯录系统进行了升级,增加了旧版通讯录系统不支持保存的数据类型,如图片或者音频数据等,客户端1的通讯录系统同样进行了升级。界面模块101-1将用户输入的数据中的字段ID、字段值的数据类型以及字段值三个字段参数送交字段管理模块102-1,字段管理模块102-1将字段参数进行重新排列处理后存储到存储模块103-1。同时,界面模块101-1将数据提交到界面模块101-3,由界面模块101-3送交字段管理模块102-3进行相应处理后存储到存储模块103-3。当用户使用仍然是旧版通讯录系统的客户端2通信时,界面模块101-2向界面模块101-3提交数据更新请求,界面模块101-3将用户的数据更新请求发送给字段管理模块102-3,字段管理模块102-3查询存储模块103-3,调取隶属于该用户的联系人的通讯录数据返回界面模块101-3,界面模块101-3将数据发送给界面模块101-2,界面模块101-2提取数据中的字段ID、字段值的数据类型以及字段值字段参数,发送给字段管理模块102-2,字段管理模块102-2将其重新排列后送交存储模块103-2保存。当用户使用客户端2查看数据时,如上所述,对于未知字段值的数据类型跳过,不予处理,显示已知数据类型的字段,当客户端2的系统进行升级后,就可以正常读取所有的数据了。
如图3所示,作为本发明的另一个应用,不同的用户通过服务器交换彼此的通讯录数据,客户端A(用户A)的通讯录系统是升级过的,因此可以支持旧版通讯录系统不能支持显示的数据。客户端B(用户B)仍然使用旧版的通讯录系统,分别以尾标a、b和c区分客户端A、客户端B和服务器的通讯录系统中的相应模块,具体处理过程与上述实施例类似,不再赘述。当客户端A通过服务器将自己的通讯录数据发送给客户端B时,客户端B会将客户端A发送的通讯录数据保存下来,虽然客户端B不能正常显示未知的字段。当客户端B的通讯录系统升级后,就可以正常读取所保存的数据了。
作为本发明的另一个典型应用,如图4所示,通讯录系统100可以嵌入到数据通信系统200中,诸如Outlook Express、MSN Messenger或者其他即时通信系统,如QQ等,此时比较典型的做法是需要将通讯录系统100的SDK(软件开发包),包括文档、程序调用接口等进行公开,或者向数据通信系统200的开发方提供。数据通信系统200对自身的相应接口进行定义,调用通讯录系统100的接口,采取通讯录系统100定义的字段结构处理数据。数据通信系统200至少包括用户界面201,向用户提供用户数据输入和显示界面。用户界面201将用户经输入的数据送交界面模块101,如上所述,界面模块101提取数据中的字段ID、字段值的数据类型以及字段值三个字段参数给字段管理模块102,字段管理模块102按照预先定义的字段结构对字段参数进行重新排列后送交存储模块103存储,当读取数据时,界面模块101将数据送交给用户界面201,用户界面201根据数据中的字段值的数据类型字段参数对相应字段进行显示。
例如,即时通信系统中嵌入了通讯录系统,允许用户输入通讯录数据,利用通讯录系统保存用户的“虚拟名片”数据。其中,用户“虚拟名片”的字段和通讯录系统的字段基本相同,但该系统中“个人形象”这个字段是通讯录系统所没有的,而且“个人形象”这个字段值的数据类型是图片,在通讯录系统中不支持这种数据类型。此时,由即时通信系统制定一种新的数据类型,即stFieldValueInfo中的cDataType,假设指定为7,保存图片的内容。通讯录系统对该字段类型以及字段值进行存储,当即时通信系统需要读出这个字段的时候,判断cDataType的值为7,就可以识别该字段的数据为一个图片数据,按图片格式读出数据并显示。因此,在即时通信系统中虽然利用了通讯录系统保存了通讯录系统所不支持的数据类型,但是通讯录系统本身并不需要作任何修改。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种通讯录系统,其特征在于,所述系统至少包括接收用户的通讯录数据,提取所述通讯录数据中的字段参数给字段管理模块,根据字段值的数据类型对通讯录数据进行显示处理的界面模块;维护字段结构,接收所述界面模块发送的字段参数,根据字段结构将所述字段参数重新排列后发送给存储模块的字段管理模块;以联系人ID为索引存储所述字段管理模块发送的重新排列后的字段参数的存储模块;所述字段参数包括字段ID、字段值的数据类型以及字段值;所述字段结构包括字段ID、字段长度、字段名和字段值,所述字段名包括字段名的长度、字段名的数据类型和字段数据;所述字段值包括字段值的长度、字段值的数据类型和字段数据。
2.如权利要求1所述的通讯录系统,其特征在于,所述界面模块进一步判断字段值的数据类型是否已知,如果未知,则根据所述字段的字段长度跳过所述字段;如果已知,则按所述字段值的数据类型所对应的显示格式显示所述字段。
3.如权利要求1所述的通讯录系统,其特征在于,所述界面模块进一步接收用户的通讯录数据调用请求,并将所述数据调用请求中的联系人ID信息送交字段管理模块,接收字段管理模块返回的数据查询结果;所述字段管理模块进一步接收界面模块发送的联系人ID信息,查询存储模块,读取与所述联系人ID信息对应的数据,并将数据查询结果返回界面模块。
4.一种数据通信系统,至少包括用户界面,用于输入和显示数据,其特征在于,所述数据通信系统进一步包括通讯录系统,所述通讯录系统包括接收用户通过所述用户界面输入的通讯录数据,提取所述通讯录数据中的字段参数给字段管理模块,根据字段值的数据类型对通讯录数据进行显示处理的界面模块;维护字段结构,接收所述界面模块发送的字段参数,根据字段结构将所述字段参数重新排列后发送给存储模块的字段管理模块;以联系人ID为索引存储所述字段管理模块发送的重新排列后的字段参数的存储模块;所述字段参数包括字段ID、字段值的数据类型以及字段值;所述字段结构包括字段ID、字段长度、字段名和字段值,所述字段名包括字段名的长度、字段名的数据类型和字段数据;所述字段值包括字段值的长度、字段值的数据类型和字段数据。
5.如权利要求4所述的数据通信系统,其特征在于,所述界面模块进一步判断字段值的数据类型是否已知,如果未知,则根据所述字段的字段长度跳过所述字段;如果已知,则按所述字段值的数据类型对应的显示格式显示所述字段。
6.如权利要求4所述的数据通信系统,其特征在于,所述界面模块进一步接收用户的通讯录数据调用请求,并将所述数据调用请求中的联系人ID信息送交字段管理模块,接收字段管理模块返回的数据查询结果;所述字段管理模块进一步接收界面模块发送的联系人ID信息,查询存储模块,读取与所述联系人ID信息对应的数据,并将数据查询结果返回界面模块。
全文摘要
本发明适用于计算机网络通信领域,提供了一种通讯录系统以及嵌入通讯录系统的数据通信系统,所述通讯录系统包括接收用户的通讯录数据,提取所述通讯录数据中的字段参数给字段管理模块,根据字段值的数据类型对通讯录数据进行显示处理的界面模块;维护字段结构,接收所述界面模块发送的字段参数,根据字段结构将所述字段参数重新排列后发送给存储模块的字段管理模块;以联系人ID为索引存储所述字段管理模块发送的重新排列后的字段参数的存储模块;所述字段参数包括字段ID、字段值的数据类型以及字段值;所述字段结构包括字段ID、字段长度、字段名和字段值。通过本发明,可以方便地扩展通讯录数据的字段,保存通讯录系统不支持的数据类型。
文档编号H04L12/00GK1848110SQ200510034188
公开日2006年10月18日 申请日期2005年4月15日 优先权日2005年4月15日
发明者冼业成, 庄泗华 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1