CN101330431A - 一种即时信息存储方法和系统 - Google Patents
一种即时信息存储方法和系统 Download PDFInfo
- Publication number
- CN101330431A CN101330431A CNA2007101084911A CN200710108491A CN101330431A CN 101330431 A CN101330431 A CN 101330431A CN A2007101084911 A CNA2007101084911 A CN A2007101084911A CN 200710108491 A CN200710108491 A CN 200710108491A CN 101330431 A CN101330431 A CN 101330431A
- Authority
- CN
- China
- Prior art keywords
- user
- instant messages
- configuration information
- stored
- target database
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种即时信息存储方法和系统,所述方法包括:接收即时信息,所述即时信息包括用户标识;获得与所述用户标识相应的存储配置信息,该存储配置信息包括目标数据库地址;将所述即时信息存储在所述目标数据库地址对应的目标数据库中。这样一来,和用户有关的即时通讯记录被集中存储在用户标识对应的目标数据库中,避免了现有技术中为获取用户的即时通讯记录需要遍历集群中各个服务器而导致的查询效率低、成本高,以及由此影响服务器性能的问题。
Description
技术领域
本发明涉及数据存储领域,特别是涉及一种即时信息存储方法和系统。
背景技术
即时通讯(IM,Instant Messaging)是一种使人们能在网上识别在线用户并与他们实时交换信息的技术,由于其所拥有的实时性、低成本、高效率等诸多优势,使之成为网民们最喜爱的网络沟通方式之一。目前,在即时通讯平台的IM系统中,往往是由一台或多台服务器组成的服务器集群,统一对外提供即时通讯服务。
基于服务器集群,现有技术实现即时通讯参见图1所示,其中,IM服务器集群110包括负载均衡设备和多个服务器S和与之相应的数据库D。用户使用即时通讯客户端100向IM服务器集群110发出登录请求,负载均衡设备111收到请求后,根据当前服务器集群中各服务器的负载情况从中选择一台服务器Sn,将登录请求信息发送至该服务器Sn,并建立该服务器Sn与用户即时通讯客户端100的通讯连接。当用户向好友发送即时信息时,首先,将该信息发送至集群中的服务器Sn,然后由服务器Sn将该即时信息存储在对应的数据库Dn,同时将该即时信息中转发至好友对应的即时通讯客户端120。采用这种方式,即使好友没有同时在线或由于通讯故障没有收到该信息,当好友重新登录服务器后,该服务器查询集群中各服务器中存储的与该好友相应的即时信息并重新发送至该好友。
在上述方案中,由于用户通过即时通讯客户端可能登录集群中任意的服务器,因此与该用户相关的即时信息也就被分散存储在各个服务器的数据库中。当需要查询该用户的通讯记录时,需要分别查询集群中的每一台服务器,再将查询的结果进行汇总。而目前应用于即时通讯的服务器集群,大多拥有着几百台、甚至几千台服务器,为了获得与用户相关的全部的通讯记录,就需要花费大量的时间从集群中各个服务器的数据库中进行查询,而为了响应这种查询请求,各服务器也不得不消耗其宝贵的资源,甚至影响服务器正常的通讯中转、降低性能。
发明内容
本发明的目的在于提供一种即时信息存储方法和系统,以解决现有技术中即时信息分散存储于集群中的各服务器,造成当需要获取某个用户的通讯记录时必须查询集群中所有的服务器并对结果进行汇总,不但查询效率低下、成本高,而且大量消耗各服务器资源,导致服务器性能下降的问题。
为解决上述问题,本发明公开了一种即时信息存储方法,所述方法包括:
接收即时信息,所述即时信息包括用户标识;
获得与所述用户标识相应的存储配置信息,该存储配置信息包括目标数据库地址;
将所述即时信息存储在所述目标数据库地址对应的目标数据库中。
其中,所述即时信息中的用户标识包括源用户标识和/或目的用户标识。
优选的,所述存储配置信息中包括的目标数据库地址为两个或多个;所述将即时信息存储在目标数据库是将该即时信息存储在与所述存储配置信息中的两个或多个目标数据库地址对应的目标数据库中。
优选的,所述获得与用户标识相应的存储配置信息包括:
判断是否存在与所述用户标识相应的存储配置信息,若不存在,按预置策略为所述用户标识分配存储配置信息。
优选的,所述方法还包括:
判断缓存中是否存在与所述用户标识相应的存储配置信息,若存在,读取该存储配置信息,否则,按预置策略为该用户标识分配存储配置信息。
其中,所述接收即时信息由通讯服务进行;所述在缓存中判断是否存在与用户标识相应的目标数据库地址由存储代理服务进行;所述按预置策略为用户标识分配存储配置信息由存储配置服务进行;所述将即时信息存储在目标数据库地址对应的目标数据库是由存储服务进行;
所述通讯服务和存储配置服务并行处理;所述通讯服务和存储代理服务并行处理。
优选的,所述方法还包括:
通讯服务将收到的即时信息存储于临时文件;
所述存储代理服务从所述临时文件获取即时信息,所述存储服务将该即时信息存储在所述目标数据库地址对应的目标数据库。
为解决上述问题,本发明还公开了一种即时信息存储系统,包括:通讯单元、存储地址获得单元、存储单元和目标数据库,其中,
通讯单元,用于接收即时信息,所述即时信息包括用户标识;
存储配置获得单元,用于获得与所述用户标识相应的存储配置信息,该存储配置信息中包括目标数据库地址;
存储单元,用于根据存储配置获得单元所得到的目标数据库地址将通讯单元接收的即时信息存储在对应的目标数据库中;
目标数据库,用于存储即时信息。
其中,所述通讯单元所接收的即信息中的用户标识包括源用户标识和/或目的用户标识。
优选的,所述存储配置信息中包括的目标数据库地址为两个或多个;所述存储单元将通讯单元接收的即时信息存储于该两个或多个目标数据库地址对应的目标数据库中。
优选的,所述存储配置获得单元还包括:
存储配置单元,用于按预置策略为用户标识生成相应的存储配置信息;
存储配置数据库,用于保存存储配置单元生成的存储配置信息。
优选的,所述系统还包括存储代理单元,该存储代理单元包括:
存储代理接口单元,用于接收即时信息;
缓存,用于缓存存储配置信息;
存储代理校验单元,用于校验缓存中是否存在与存储代理接口单元所接收的即时信息中用户标识相应的存储配置信息,若存在,将该即时信息发送至存储单元进行存储,若不存在,向存储配置单元发送获取该用户标识存储配置信息的请求,并将获得存储配置信息保存在缓存中。
优选的,所述通讯单元和存储配置单元并行处理;所述通讯单元和存储代理单元并行处理。
优选的,所述系统还包括:
临时数据库,用于存储临时即时信息;所述通讯单元将收到的即时信息存储在所述临时数据库中;
所述存储代理接口单元还用于从临时数据库中读取临时即时信息。
根据本发明的一个实施例,可知本发明具有以下效果:
随着即时通讯技术的日益发展和普及,与即时通讯有关的通讯记录的作用也变得越来越重要。例如随着个人与个人、个人与企业以及企业与企业之间利用即时通讯进行交流的方式日益普及,通讯记录不仅作为信息交流的载体,更为交易安全以及良好的交易信用提供了保障基础。例如,将即时通讯记录作为双方通讯的凭证,防止诋毁。因此,需要能够即时、快速地为交易双发提供即时通讯记录。
现有技术中,由于用户登录IM服务器的不确定性,与该用户有关的即时通讯记录可能存储于集群中任意一台服务器。因此,若需要获取该用户全部的即时通讯记录,就需要遍历集群中全部的服务器,然后将结果进行汇总。而由于目前IM服务器集群中的服务器的数量众多,这样的查询不但耗时、效率低,而且大量消耗各服务器资源,导致服务器性能下降,若单位时间内这样的查询请求频繁,严重地将影响服务器的正常运行。而在本发明的实施例中,通过为用户设置存储配置信息,并根据该存储配置信息将与该用户相关的即时信息集中存储在一个数据库中,这样一来,当需要获取某个用户的通讯记录时,只需按照该用户的存储配置信息从相应的数据库中获取该用户全部的通讯记录,不但耗费时间少、成本低,而且不会对集群中的其他服务器造成影响,从而保证了整个服务器集群的响应和处理能力。
附图说明
图1是现有技术中服务器集群实现即时通讯、即时信息存储的结构示意图;
图2是本发明所述即时信息存储方法的实施例1的步骤流程图;
图3是本发明所述的即时信息存储方法的实施例2的步骤流程图;
图4是本发明所述的即时信息存储方法的实施例3的步骤流程图;
图5是本发明所述的即时信息存储系统的一实施例的结构框图。
具体实施方式
现有技术中,由于通讯记录分散存储于集群中的各服务器,造成查询效率低、成本高,以及影响服务器集群性能的问题。本发明通过设置与用户的存储配置信息,并根据该存储配置信息将与用户有关的即时信息集中存储在同一个数据库中,从而很好地解决了上述问题。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图2,图2示出了本发明所述即时信息存储方法的实施例1的步骤流程图,下面参见图1对该实施例进行详细描述。
本发明中,将发送即时信息的用户称为源用户,将接收该信息的用户称为目的用户。
优选的,存储即信息时采用用户标识作为记录的关键字。所述用户标识包括源用户标识和/或目的用户标识。若即时信息中同时包括源用户标识和目的用户标识,则分别以源用户标识和目的用户标识作为关键字将所述即时信息保存为两条记录。这样一来,与同一用户标识对应的即时信息集中存储,便于高效、快速地进行查询。当然,即时信息中包括的是源用户标识或目的用户标识,或者两个同时存在,可由本领域技术人员在实施本发明时根据存储需要自行决定。为了便于说明,在下面的例子中,以即时信息中包括源用户标识为例进行描述。
步骤201:接收即时信息,所述即时信息包括源用户标识。
集群中的服务器接收即时信息。通常,用户通过即时通讯客户端向集群发送登录请求,负载均衡设备按当前各服务器的负载情况从集群中选择一台服务器和该即时通讯客户端建立连接。这样,用户就可以将包含用户标识的即时信息发送至该服务器。
步骤202:获得与所述用户标识相应的存储配置信息,该存储配置信息包括目标数据库地址。
从预置的存储配置数据库中获得与该源用户标识相应的存储配置信息。其中,所述存储配置数据库既可以是文件数据库,也可以是关系数据库,也可以是其他类型的数据库。该数据库中存储了用户标识和用于存储与该用户标识相关的即时信息所需的存储配置信息,该存储配置信息中至少包括用于存储即时信息的目标数据库地址。下面以关系数据库为例,给出该存储配置数据库的一个结构示例:
用户标识 | 是否存储 | 服务器IP | 数据库名称 |
2000100 | 是 | 192.168.1.7 | Message1 |
2000101 | 是 | 192.168.1.9 | Message2 |
2000102 | 否 | 192.168.1.7 | Message1 |
本发明中,所述目标数据库地址是指能够唯一确定数据库位置的信息,其既可以是一个具体的信息,也可以是几个信息的组合,例如在上述示例的数据库结构中,目标数据库地址包括服务器IP和数据库名称。又例如,若所述数据库为文件数据库,则目标数据库地址为服务器IP和文件名。
所述存储配置信息中包括的目标数据库地址可以为两个或多个,用于将同一用户的即时信息分别存储在对应的两个或多个目标数据库中。
步骤203:将即时信息存储在与目标数据库地址对应的目标数据库中。
所述目标数据库即用于存储用户即时信息的数据库。该目标数据库既可以部署在当前服务器的硬盘中,也可以存储在网络硬盘中,如网络接入存储(NAS,Network-Attached Storage)等。例如,源用户标识为2000100,则以该用户标识为关键字将所述即时信息存储在目标数据库Message1中。这样一来,即使用户登录集群中不同的服务器,与该用户相应的即时信息总是被存储在同一个数据中。当需要获取某个用户的通讯记录时,可根据所述数据库中的映射关系快速定位存储地址,并获取全部的通讯记录。避免了现有技术中,用户的通讯记录被分散存储于各个服务器的数据库中,造成当需要获取某个用户的通讯记录时需要遍历各个数据库后对查询结果进行汇总,不但效率低、耗时长,而且导致较高使用成本的问题。
若存储配置信息中包括两个或多个目标数据库地址,则将即时信息分别存储在对应的多个目标数据库中。这样一来,即使某个目标数据库发生异常,导致数据丢失,也依然能够从其他数据库中恢复,从而提高了用户即时通讯记录的存储安全性。
本例中,用于存储用户即时信息的目标数据库的数量可在实施本发明时根据即时通讯用户的数量、存储设备的性能、容量等因素综合考虑设置。
另外,还存在着这样一种存储即时信息的可能:在服务器集群中设置一台集中的数据库服务器用于在一个数据库中集中存储所有用户的即时信息。但这种方式存在的问题也很明显,首先,所有的数据集中存储,虽然不必遍历集群中每一个服务器,但由于该数据库中存储的信息数量非常庞大,因此,基于该数据库进行一次查询所花费的时间也是很多的。而且,为了适应这样的海量存储要求,一般的服务器很难满足,往往需要大型服务器和专业的数据管理软件,例如,使用IBM小型机、大型机,甲骨文数据库等。而这样的硬件和软件成本是非常昂贵的,以致于前期投入就可能花费几百万、甚至几千万的成本。而本发明用于存储即时信息的目标数据库成本却非常低廉。本发明中,即时通讯记录被分散存储于多个目标数据库,只有同一用户的记录才会被集中存储在一个数据库中,这样每一个目标数据库存储的数据量非常有限,对硬件和软件要求就非常低,甚至使用个人计算机和自定义格式文件就可以实现目标数据库的存储。
以上介绍了本发明的实施例1。本发明的实施例2中,当收到包含用户标识的即时信息后,判断存储配置数据库中是否存在与所述用户标识相应的存储配置信息,若不存在,按预置策略为该用户标识分配相应的存储配置信息。这样一来,通过为用户动态的分配存储配置信息,实现同一用户即时信息的集中存储。下面,参见图3对该实施例进行详细描述。
步骤301:服务器接收即时信息,所述即时信息包括源用户标识。
步骤302:判断缓存中是否存在与所述源用户标识相应的存储配置信息,若不存在,执行步骤303,否则,执行步骤305。
该步骤为可选步骤。当用户首次将即时信息发送至服务器后,查询存储配置数据库,获得与该用户标识相应的存储配置信息。然后,将获得查询结果放入缓存,当该用户再次向服务器发送信息时,可直接从缓存中获得相应的存储配置信息,而不必查询数据库,这样一来,降低了服务器的负荷,不但提高了服务器的反应速度,而且也提升了服务器在单位时间内的处理能力,存储更多的即时信息。
步骤303:查询存储配置数据库,判断是否存在与所述源用户标识相应的存储配置信息,若不存在,执行步骤304,否则,执行步骤305。
步骤304:按预置策略为该源用户标识在存储配置数据库中生成相应的存储配置信息。
所述预置策略可根据实施本发明时具体的硬件环境、用户数量等多种因素进行设置。例如,为集群中的每一个用于存储通讯记录的服务器分配一定数量的用户组,每个用户组分配一个数据库,每个用户组分配一定数量的用户,可以按照最少用户数把用户分配到某个用户组,这样大量的用户被平均分配的不同的用户组,对同一个用户的即时信息保存在同一个用户组对应的数据库里。
步骤305:取得与所述源用户标识相应的存储配置信息。
步骤306:将即时信息存储在与所述存储配置信息中目标数据库地址对应的目标数据库中。
为了保证服务器的处理能力,上述实施例中,优选的采用并行处理的方式接收、存储即时信息。例如,同时运行通讯服务、存储代理服务、存储配置服务和存储服务。其中,通讯服务用于接收即时信息,并将该信息转发至目的客户端和存储代理服务;存储代理服务判断缓存中是否存在与该即时信息中用户标识相应的存储配置信息,若存在,根据该存储配置信息中的目标数据库地址将该信息存储在对应的目标数据库,若不存在,向存储配置服务发送存储配置获取请求。存储配置服务器收到请求后,首先判断存储配置数据库中是否已经存在与该用户标识相应的存储配置信息,若存在,取得该配置信息,否则,按预定策略为该用户标识在存储配置数据库中生成存储配置信息。存储配置服务将所述用户标识及相应的存储配置信息返回给存储代理服务,最后由存储代理服务将即时信息和相应的存储配置信息发送至存储服务,并由存储服务将所述即时信息存储于对应的目标数据库中。
在上述过程中,存储代理服务时刻监听来自通讯服务的即时信息,并完成将该即时信息存储于目标数据库的处理。同样,存储配置服务也以并行的方式响应存储配置获取请求。这样,通过并行处理,通讯服务能够实时地接收、中转即时信息,从而保证了服务器较高的响应处理能力。需要说明的是,上述通讯服务、存储代理服务、存储配置服务和存储服务既可以是独立运行地线程被部署在同一台服务器中,也可以部署在不同的服务器中,如何部署,可由本领域技术人员在实施本发明时根据需要自行决定。
以上介绍了本发明的实施例2。在本发明的实施例3中,通讯服务收到即时信息后,将该信息保存在临时文件中。与此同时,存储代理服务定期扫描该临时文件以获得新接收地即时信息进行存储。这样一来,即使存储代理服务由于运行异常无法实时存储即时信息,待其恢复正常后,仍能够从所述临时文件中获得未保存的即时信息进行存储,从而保证了信息存储的完整性。下面参见图4对该实施例进行详细描述。
步骤401:通讯服务接收即时信息。
步骤402:通讯服务将收到的即时信息存储在临时文件。
所述临时文件可以按照日志文件的格式进行存储,例如按照日期对文件命名,文件格式也可以采用类似于数据库日志文件以方便定位。当然,本领域技术人员也可以自行定义所述临时文件的名称和格式。
步骤403:存储代理服务从所述临时文件中读取即时信息。
存储代理服务可定期读取临时文件获得即时信息。例如,可以每隔1小时读取这段时间内产生的新的即时信息。
步骤404:存储代理服务依次从读取到的多条即时信息中选择一条信息执行下面的步骤。
步骤405:存储代理服务从即时信息中获得源用户标识作为当前用户标识。
步骤406:存储代理服务判断缓存中是否存在与当前用户标识相应的存储配置信息,若不存在,执行步骤407,否则,读取该信息,然后执行步骤411。
步骤407:向存储配置服务发送查询请求,所述查询请求包括所述当前用户标识。
步骤408:存储配置服务根据收到的当前用户标识,判断配置数据库中是否存在对应的记录,若存在,读取该记录,执行步骤410,否则执行步骤409。
步骤409:存储配置服务按预定策略在配置数据库中为当前用户标识分配存储配置信息。
在配置数据库中生成一条新的记录,该记录包括所述当前用户标识和相应的存储配置信息。
步骤410:存储配置服务将所述当前用户标识对应的存储配置信息返回至存储代理服务。
所述存储配置信息即配置数据库中当前用户标识对应的配置记录。
步骤411:根据存储配置信息中当前用户标识相应的存储标志,判断是否存储当前用户标识相关的即时信息,若存储,执行步骤412,否则,执行步骤411。
步骤412:存储代理服务根据存储配置信息中的数据库地址将所述即时信息存储在与对应的数据库中。
若存储配置信息中包括两个或多个目标数据库地址,则将即时信息分别存储在对应的多个目标数据库中。
步骤413:是否处理完成目的用户标识,若没有,从所述即时信息中取得目的用户标识作为当前用户标识,然后执行步骤406,否则,执行步骤411。
即时信息中即可能包括一个目的用户标识,也可能包括多个目的用户标识,例如,需要将一条信息群发给多个目的用户。若包括多个目的用户标识,则分别将其作为当前用户标识,然后执行步骤406。
步骤414:判断从临时文件中读取的即时信息是否处理完成,若没有,执行步骤404。
以上结合具体实施例描述了本发明所述的即时信息存储方法。下面,参照以上有关本发明的介绍,同时参照图5对本发明所述的即时信息的存储系统一个实施例进行介绍。如图5所示,所述即时信息存储系统包括:通讯单元510、存储配置获得单元520、存储单元530和目标数据库540,其中,
通讯单元510,用于接收即时信息,所述即时信息包括用户标识;
存储配置获得单元520,用于获得与所述用户标识相应的存储配置信息,该存储配置信息中包括目标数据库地址;
存储单元530,用于根据存储配置获得单元520所得到的目标数据库地址将通讯单元510接收的即时信息存储在对应的目标数据库540中;
目标数据库540,用于存储即时信息。
其中,所述通讯单元510所接收的即信息中的用户标识包括源用户标识和/或目的用户标识。
其中,所述存储配置信息中包括的目标数据库地址为两个或多个;所述存储单元530将通讯单元510接收的即时信息存储于该两个或多个目标数据库地址对应的目标数据库中。
优选的,所述存储配置获得单520元还包括:
存储配置单元521,用于按预置策略为用户标识生成相应的存储配置信息;
存储配置数据库522,用于保存存储配置单元生成的存储配置信息。
优选的,所述存储配置获得单元还包括:
存储配置校验单元523,用于接收用户标识,校验存储配置数据库中是否存在与该用户标识相应的存储配置信息,若存在,读取该配置信息。
所述系统还包括存储代理单元550,该存储代理单元包括:
存储代理接口单元551,用于接收即时信息;
缓存552,用于缓存存储配置信息;
存储代理校验单元553,用于校验缓存中是否存在与存储代理接口单元所接收的即时信息中用户标识相应的存储配置信息,若存在,将该即时信息发送至存储单元进行存储,若不存在,向存储配置单元发送获取该用户标识存储配置信息的请求,并将获得存储配置信息保存在缓存中。
所述通讯单元和存储配置单元并行处理;所述通讯单元和存储代理单元并行处理。
所述系统还包括:
临时数据库560,用于存储临时即时信息;所述通讯单元将收到的即时信息存储在所述临时数据库中;
所述存储代理接口单元还用于从临时数据库中读取临时即时信息。
所述系统500还包括:
查询代理接口单元570,用于接收即时通讯记录查询请求,返回查询结果;
查询代理单元580,用于根据查询代理接口单元570所接收的查询请求从目标数据库中获取相应的即时通讯记录。
优选的,查询代理接口单元570所接收的查询请求包括用户标识;查询代理单元根据该用户标识从缓存或存储配置获得单元520获得该用户标识对应的存储配置信息,然后根据该存储配置信息中的目标数据库地址从对应的目标数据库中获取所述用户标识的即时通讯记录。
需要说明的是实施例5所示出的仅是本发明所述即时信息存储系统的一个实施例的结构示意图,本领域的技术人员不应该将此理解为对本发明所述系统结构上的限制,在实施本发明时,本领技术人员可根据实际需要对各单元进行部署。例如,可将查询代理单元和通讯单元部署在每一台服务器中,也可以将查询代理单元部署在集群中的一台服务器中,统一向外提供查询服务。
下面,根据上述系统结构对即时信息进行存储的一种实现方式进行描述:
首先,通讯单元510接收包括用户标识的即时信息,然后将该即时信息存储于临时数据库560。存储代理接口单元551定期从临时数据库560读取新生成的即时信息;之后,存储代理校验单元552校验缓存中是否存在与存储代理接口单元551所读取的即时信息中用户标识相应的存储配置信息,若存在,将该即时信息发送至存储单元530,若不存在,向存储配置获得单元520发送获取该用户标识存储配置信息的请求,并将获得存储配置信息保存在缓存553中,以及将所述即时信息和获得存储配置信息发送至存储单元530;存储配置校验单元523根据请求信息中的用户标识校验存储配置数据库522中是否存相应的存储配置信息,若存在,读取该信息,否则,存储配置单元521按预置策略为该用户标识在存储配置数据库522中生成相应的存储配置信息。最后,存储单元530根据收到存储配置信息将即时信息存储到对应的目标数据库540。当查询代理接口单元570收即时通讯记录查询请求后,查询代理单元580根据该查询请求中的用户标识从存储配置获得单元520获得相应的存储配置信息,并根据该存储配置信息从对应的目标数据库540中获取相应的即时通讯记录发送至查询代理接口570。
以上对本发明所述即时信息存储系统的一个实施例进行了描述,该实施例未详尽之处请参见上文方法实施例。
以上对本发明所提供的一种即时信息存储方法、系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1、一种即时信息存储方法,其特征在于,所述方法包括:
接收即时信息,所述即时信息包括用户标识;
获得与所述用户标识相应的存储配置信息,该存储配置信息包括目标数据库地址;
将所述即时信息存储在所述目标数据库地址对应的目标数据库中。
2、根据权利要求1所述的方法,其特征在于,所述即时信息中的用户标识包括源用户标识和/或目的用户标识。
3、根据权利要求1所述的方法,其特征在于,所述存储配置信息中包括的目标数据库地址为两个或多个;所述将即时信息存储在目标数据库是将该即时信息存储在与所述存储配置信息中的两个或多个目标数据库地址对应的目标数据库中。
4、根据权利要求1、2或3所述的方法,其特征在于,所述获得与用户标识相应的存储配置信息包括:
判断是否存在与所述用户标识相应的存储配置信息,若不存在,按预置策略为所述用户标识分配存储配置信息。
5、根据权利要求4所述的方法,其特征在于,所述方法还包括:
判断缓存中是否存在与所述用户标识相应的存储配置信息,若存在,读取该存储配置信息,否则,按预置策略为该用户标识分配存储配置信息。
6、根据权利要求5所述的方法,其特征在于,
所述接收即时信息由通讯服务进行;
所述在缓存中判断是否存在与用户标识相应的目标数据库地址由存储代理服务进行;
所述按预置策略为用户标识分配存储配置信息由存储配置服务进行;
所述将即时信息存储在目标数据库地址对应的目标数据库是由存储服务进行;
所述通讯服务和存储配置服务并行处理;所述通讯服务和存储代理服务并行处理。
7、根据权利要求6所述的方法,其特征在于,所述方法还包括:
通讯服务将收到的即时信息存储于临时文件;
所述存储代理服务从所述临时文件获取即时信息,所述存储服务将该即时信息存储在所述目标数据库地址对应的目标数据库。
8、一种即时信息存储系统,其特征在于,包括:通讯单元、存储地址获得单元、存储单元和目标数据库,其中,
通讯单元,用于接收即时信息,所述即时信息包括用户标识;
存储配置获得单元,用于获得与所述用户标识相应的存储配置信息,该存储配置信息中包括目标数据库地址;
存储单元,用于根据存储配置获得单元所得到的目标数据库地址将通讯单元接收的即时信息存储在对应的目标数据库中;
目标数据库,用于存储即时信息。
9、根据权利要求8所述的系统,其特征在于,所述通讯单元所接收的即信息中的用户标识包括源用户标识和/或目的用户标识。
10、根据权利要求8所述的系统,其特征在于,所述存储配置信息中包括的目标数据库地址为两个或多个;所述存储单元将通讯单元接收的即时信息存储于该两个或多个目标数据库地址对应的目标数据库中。
11、根据权利要求8、9或10所述的系统,其特征在于,所述存储配置获得单元还包括:
存储配置单元,用于按预置策略为用户标识生成相应的存储配置信息;
存储配置数据库,用于保存存储配置单元生成的存储配置信息。
12、根据权利要求11所述的系统,其特征在于,所述系统还包括存储代理单元,该存储代理单元包括:
存储代理接口单元,用于接收即时信息;
缓存,用于缓存存储配置信息;
存储代理校验单元,用于校验缓存中是否存在与存储代理接口单元所接收的即时信息中用户标识相应的存储配置信息,若存在,将该即时信息发送至存储单元进行存储,若不存在,向存储配置单元发送获取该用户标识存储配置信息的请求,并将获得存储配置信息保存在缓存中。
13、根据权利要求12所述的系统,其特征在于,所述通讯单元和存储配置单元并行处理;所述通讯单元和存储代理单元并行处理。
14、根据权利要求13所述的系统,其特征在于,所述系统还包括:
临时数据库,用于存储临时即时信息;所述通讯单元将收到的即时信息存储在所述临时数据库中;
所述存储代理接口单元还用于从临时数据库中读取临时即时信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101084911A CN101330431B (zh) | 2007-06-19 | 2007-06-19 | 一种即时信息存储方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101084911A CN101330431B (zh) | 2007-06-19 | 2007-06-19 | 一种即时信息存储方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101330431A true CN101330431A (zh) | 2008-12-24 |
CN101330431B CN101330431B (zh) | 2011-04-06 |
Family
ID=40206032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101084911A Expired - Fee Related CN101330431B (zh) | 2007-06-19 | 2007-06-19 | 一种即时信息存储方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101330431B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510568A (zh) * | 2011-11-22 | 2012-06-20 | 联通宽带业务应用国家工程实验室有限公司 | 移动终端上网数据的处理系统和方法 |
CN103685390A (zh) * | 2012-09-13 | 2014-03-26 | 好看科技(深圳)有限公司 | 基于用户标识的负载均衡方法、装置及系统 |
CN104301198A (zh) * | 2013-07-17 | 2015-01-21 | 北大方正集团有限公司 | 基于即时通讯软件的远程信息传送方法及设备 |
CN104811482A (zh) * | 2015-04-01 | 2015-07-29 | 广东小天才科技有限公司 | 终端数据分类存储方法及系统 |
CN105843951A (zh) * | 2016-04-12 | 2016-08-10 | 北京小米移动软件有限公司 | 数据查询方法和装置 |
CN103577440B (zh) * | 2012-07-27 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
CN107431643A (zh) * | 2015-02-03 | 2017-12-01 | Netapp股份有限公司 | 监测存储集群元件 |
CN108804644A (zh) * | 2018-06-05 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 接口日志存储方法、装置、计算机设备和存储介质 |
CN113138908A (zh) * | 2020-01-19 | 2021-07-20 | 上海臻客信息技术服务有限公司 | 一种针对服务器集群的日志采集方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI226173B (en) * | 2000-06-19 | 2005-01-01 | Intel Corp | Electronic chat and instant messaging with ink data |
US7363378B2 (en) * | 2003-07-01 | 2008-04-22 | Microsoft Corporation | Transport system for instant messaging |
CN1286304C (zh) * | 2004-01-09 | 2006-11-22 | 北京讯通佳网网络技术有限公司 | 一种实现即时通信系统客户间情景聊天的方法 |
-
2007
- 2007-06-19 CN CN2007101084911A patent/CN101330431B/zh not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510568A (zh) * | 2011-11-22 | 2012-06-20 | 联通宽带业务应用国家工程实验室有限公司 | 移动终端上网数据的处理系统和方法 |
CN103577440B (zh) * | 2012-07-27 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种非关系型数据库中的数据处理方法和装置 |
CN103685390A (zh) * | 2012-09-13 | 2014-03-26 | 好看科技(深圳)有限公司 | 基于用户标识的负载均衡方法、装置及系统 |
CN103685390B (zh) * | 2012-09-13 | 2016-10-05 | 深圳市云帆世纪科技有限公司 | 基于用户标识的负载均衡方法、装置及系统 |
CN104301198A (zh) * | 2013-07-17 | 2015-01-21 | 北大方正集团有限公司 | 基于即时通讯软件的远程信息传送方法及设备 |
CN107431643A (zh) * | 2015-02-03 | 2017-12-01 | Netapp股份有限公司 | 监测存储集群元件 |
CN107431643B (zh) * | 2015-02-03 | 2021-02-12 | Netapp股份有限公司 | 用于监测存储集群元件的方法和装置 |
CN104811482A (zh) * | 2015-04-01 | 2015-07-29 | 广东小天才科技有限公司 | 终端数据分类存储方法及系统 |
CN105843951B (zh) * | 2016-04-12 | 2019-12-13 | 北京小米移动软件有限公司 | 数据查询方法和装置 |
CN105843951A (zh) * | 2016-04-12 | 2016-08-10 | 北京小米移动软件有限公司 | 数据查询方法和装置 |
CN108804644A (zh) * | 2018-06-05 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 接口日志存储方法、装置、计算机设备和存储介质 |
CN108804644B (zh) * | 2018-06-05 | 2023-06-30 | 中国平安人寿保险股份有限公司 | 接口日志存储方法、装置、计算机设备和存储介质 |
CN113138908A (zh) * | 2020-01-19 | 2021-07-20 | 上海臻客信息技术服务有限公司 | 一种针对服务器集群的日志采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101330431B (zh) | 2011-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101330431B (zh) | 一种即时信息存储方法和系统 | |
CN102523256B (zh) | 内容的管理方法的方法、装置和系统 | |
KR101224752B1 (ko) | 시간 제한적 메시지들의 효율적인 처리 방법 | |
CN102375837B (zh) | 数据采集系统和方法 | |
CN102708165B (zh) | 分布式文件系统中的文件处理方法及装置 | |
CN101090371B (zh) | 一种即时通讯系统中用户信息管理的方法及系统 | |
US20050283496A1 (en) | Access to content addressable data over a network | |
CN101860493A (zh) | 为客户端分配应用服务器地址的方法、服务器及系统 | |
EP2862086A1 (en) | Two level addressing in storage clusters | |
CN101236569B (zh) | 一种基于ContextFS上下文文件系统的高效动态路径解析方法 | |
CN101442558B (zh) | 一种为p2sp网络提供索引服务的方法和系统 | |
CN106997557B (zh) | 订单信息采集方法及装置 | |
CN103905537A (zh) | 分布式环境下管理工业实时数据存储的系统 | |
CN102333029A (zh) | 一种服务器集群系统中的路由方法 | |
CN104660643A (zh) | 请求响应方法、装置及分布式文件系统 | |
CN105159845A (zh) | 存储器读取方法 | |
CN112947860B (zh) | 一种分布式数据副本的分级存储与调度方法 | |
CN106960011A (zh) | 分布式文件系统元数据管理系统及方法 | |
CN102045399A (zh) | 云计算模式文件系统及文件读取方法 | |
US11055259B2 (en) | Method and system for deleting obsolete files from a file system | |
CN102325098B (zh) | 群信息获取方法和系统 | |
CN103248636A (zh) | 离线下载的系统及方法 | |
CN100536441C (zh) | 一种大容量电子邮件的存储管理方法及其系统 | |
US20040193681A1 (en) | System and method for providing naming service in a distributed processing system | |
CN114063931A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1122437 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1122437 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110406 Termination date: 20190619 |