CN103188297B - 一种消息存储和获取方法及系统 - Google Patents

一种消息存储和获取方法及系统 Download PDF

Info

Publication number
CN103188297B
CN103188297B CN201110449787.6A CN201110449787A CN103188297B CN 103188297 B CN103188297 B CN 103188297B CN 201110449787 A CN201110449787 A CN 201110449787A CN 103188297 B CN103188297 B CN 103188297B
Authority
CN
China
Prior art keywords
message
entity
buffer memory
buffer storage
buffer
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.)
Expired - Fee Related
Application number
CN201110449787.6A
Other languages
English (en)
Other versions
CN103188297A (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.)
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
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 Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN201110449787.6A priority Critical patent/CN103188297B/zh
Publication of CN103188297A publication Critical patent/CN103188297A/zh
Application granted granted Critical
Publication of CN103188297B publication Critical patent/CN103188297B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种基于浏览器/服务器结构的消息存储方法,在浏览器与存储消息的数据库之间设置缓存,所述缓存包括用于存储消息的消息实体缓存、消息发送者的发件箱缓存和消息接收者的收件箱缓存;当发送者发送一条消息给其他接收者时,将该消息缓存在消息实体缓存中,在发送者的发件箱缓存和接受者的收件箱缓存中分别存入一条该消息的关联信息记录。本发明还涉及一种基于浏览器/服务器结构的消息存储系统,以及一种消息获取方法及系统。本发明通过在浏览器和数据库之间设置缓存层,有效地减少了对数据库频繁操作对数据库所造成的压力,提高了消息传递的效率。

Description

一种消息存储和获取方法及系统
技术领域
本发明属于网络传输技术领域,具体涉及一种基于B/S结构的消息存储和获取方法及系统。
背景技术
企业内部消息传输系统的消息是类似于电子邮箱的一种工具,企业员工可以给企业内部的一人或多人发送消息。它可以帮助使用系统的企业实现内部沟通,管理员与普通成员、普通成员与普通成员之间的相互交流和沟通。
但是当每一个用户登录系统之后,都必须访问数据库去查询是否有新的消息。显然,如果用户比较多,则必然会对数据库产生比较大的压力。或者当每个用户浏览收件箱或者发件箱中的每条消息时,也需要访问数据库,从数据库中检索消息的内容和相关的状态。如果消息量比较大,也必然会对数据库产生比较大的压力,从而造成消息的传输效率较低。
发明内容
针对现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种数据库压力较小的消息存储和获取方法及系统。
为解决上述技术问题,本发明采用的技术方案如下:
一种基于浏览器/服务器结构的消息存储方法,在浏览器与存储消息的数据库之间设置缓存,所述缓存包括用于存储消息的消息实体缓存、消息发送者的发件箱缓存和消息接收者的收件箱缓存;
当发送者发送一条消息给其他接收者时,将该消息缓存在消息实体缓存中,在发送者的发件箱缓存和接收者的收件箱缓存中分别存入一条该消息的关联信息记录。
一种采用上述方法存储的消息获取方法,包括以下步骤:
浏览器发出获取消息命令;
在消息实体缓存中查找该消息是否存在,如果存在,则直接在消息实体缓存中获取消息,返回浏览器;如果不存在,则查找数据库,从数据库中获取该消息,返回浏览器;并判断该消息是否需要存入消息实体缓存中,如果需要,则将该消息存入消息实体缓存中。
一种基于浏览器/服务器结构的消息存储系统,包括用于缓存发送者发送的消息的消息实体缓存装置,用于缓存消息的关联信息的发件箱缓存装置和收件箱缓存装置;
用于当发送者发送一条消息给其他接收者时,将该消息缓存在消息实体缓存装置中,在发送者的发件箱缓存装置和接收者的收件箱缓存装置中分别存入一条该消息的关联信息记录的存入装置。
一种采用上述系统存储的消息获取系统,包括用于在消息实体缓存装置中查找消息是否存在的查找装置;
用于当消息实体缓存装置中存在查找的消息时,直接在消息实体缓存装置中获取消息,返回浏览器的第一获取装置;
用于当消息实体缓存装置中存在查找的消息时,查找数据库,从数据库中获取该消息,返回浏览器的第二获取装置;
用于判断消息是否需要存入消息实体缓存装置中的判断装置;
用于当需要将消息存入消息实体缓存装置中时,将该消息存入消息实体缓存装置中的存储装置。
本发明所述方法及系统,通过在浏览器和数据库之间设置缓存层,有效地减少了对数据库频繁操作对数据库所造成的压力,提高了消息传递的效率。
附图说明
图1是实施方式1中消息存储系统的结构框图;
图2是实施方式1中消息实体表结构示意图;
图3是实施方式1中消息实体和用户关联关系表结构示意图;
图4是实施方式2中消息获取系统的结构框图;
图5是实施方式2中消息获取方法的流程图。
具体实施方式
本发明的核心思想是:先将消息缓存在内存中,在一段时间内的消息都从缓存中获取,不需要频繁访问和操作数据库。下面结合附图对本发明的具体实施方式进行详细描述。
实施方式1
本实施方式记载了一种基于B/S(浏览器/服务器)结构的消息存储系统及方法。如图1所示,该系统包括消息实体缓存装置11、发件箱缓存装置12、收件箱缓存装置13、存入装置14、刷新装置15、删除装置16和清理装置17。
消息实体缓存装置11用于缓存消息发送者发出的消息。发件箱缓存装置12和收件箱缓存装置13用于缓存消息的关联信息。
存入装置14用于当发送者发送一条消息给其他接收者时,将该消息缓存在消息实体缓存装置11中,在发送者的发件箱缓存装置12和接收者的收件箱缓存装置13中分别存入一条该消息的关联信息记录。
刷新装置15用于定时一同刷新消息实体缓存装置11、发件箱缓存装置12和收件箱缓存装置13。
删除装置16用于删除发件箱缓存装置12、收件箱缓存装置13和消息实体缓存装置11中的消息。
清理装置17用于定期清理消息实体缓存装置11中缓存的消息,并将清理掉的信息写入到数据库中。
当发送者发送一条消息给其他接收者时,存入装置14将该消息缓存在消息实体缓存装置11中,在发送者的发件箱缓存装置12和接收者的收件箱缓存装置13中分别存入一条该消息的关联信息记录。只有当所有缓存装置均存储成功后,该消息才算发送成功。
为了保证消息状态的正常,刷新装置15定时一同刷新所述消息实体缓存装置11、发件箱缓存装置12和收件箱缓存装置13。
当发送者发送一条消息时,在消息实体缓存装置中消息实体表、消息实体和用户关联关系表中插入一条新的记录。如图2所示,消息实体表存储消息ID、消息类型和消息内容。如图3所示,消息实体和用户关联关系表中存储消息ID、消息接收者ID和消息发送者ID。
当所有消息发送者的发件箱缓存装置12和消息接收者的收件箱缓存装置13中均删除消息的关联信息记录时,删除装置16删除消息实体缓存装置11中的该消息。
考虑到缓存的压力,清理装置17可以定期强制清理消息实体缓存装置11。可以清理消息实体缓存装置11中的部分信息,也可以清空消息实体缓存装置11中的全部信息。同时,将消息实体缓存装置11中清理掉的信息写入到数据库中。为了保障数据的统一性,对消息实体缓存装置11中消息的操作与对数据库中相同消息的操作以类似事务的形式完成,即当更新消息实体缓存装置11中的消息时,同时更新数据库中该消息。
实施方式2
本实施方式记载了获取采用实施方式1所述方式存储的消息的系统及方法。如图4所示,该系统包括查找装置41、第一获取装置42、第二获取装置43、判断装置44和存储装置45。
查找装置41包括用于当浏览器发出获取消息命令时,在消息实体缓存装置中查找消息是否存在。第一获取装置42用于当消息实体缓存装置中存在查找的消息时,直接在消息实体缓存装置中获取消息,返回浏览器。第二获取装置43用于当消息实体缓存装置中存在查找的消息时,查找数据库,从数据库中获取该消息,返回浏览器。判断装置44用于判断消息是否需要存入消息实体缓存装置中。存储装置45用于当需要将消息存入消息实体缓存装置中时,将该消息存入消息实体缓存装置中。
如图5所示,采用图4所示系统获取消息的方法包括以下步骤:
(1)浏览器发出获取消息命令。
优选的,浏览器采用轮询的方式来实现对消息的获取,因为消息实体缓存装置的存在,对消息的获取可以提高刷新频率,增强实时性。
(2)查找装置41在消息实体缓存装置中查找该消息是否存在,如果存在,则第一获取装置42直接在消息实体缓存装置中获取消息,返回浏览器;如果不存在,则第二获取装置43查找数据库,从数据库中获取该消息,返回浏览器。
(3)判断装置44判断该消息是否需要存入消息实体缓存装置中,如果需要,则存储装置45将该消息存入消息实体缓存装置中。
接收者在阅读新消息时,如果所述消息从缓存中获取,则同时在消息实体缓存装置、发送者的发件箱缓存装置、接收者的收件箱缓存装置中将该消息置为已读状态。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种基于浏览器/服务器结构的消息存储方法,其特征在于:在浏览器与存储消息的数据库之间设置缓存,所述缓存包括用于存储消息的消息实体缓存、消息发送者的发件箱缓存和消息接收者的收件箱缓存;
当发送者发送一条消息给其他接收者时,将该消息缓存在消息实体缓存中,在发送者的发件箱缓存和接收者的收件箱缓存中分别存入一条该消息的关联信息记录;
其中,当发送者发送一条消息时,在消息实体缓存中消息实体表、消息实体和用户关联关系表中插入一条新的记录;所述消息实体表存储消息ID、消息类型和消息内容;所述消息实体和用户关联关系表中存储消息ID、消息接收者ID和消息发送者ID。
2.如权利要求1所述的消息存储方法,其特征在于:所述方法还包括定时一同刷新所述消息实体缓存、发件箱缓存和收件箱缓存的步骤。
3.如权利要求1或2所述的消息存储方法,其特征在于:当所有消息发送者的发件箱缓存和消息接收者的收件箱缓存中均删除消息的关联信息记录时,删除消息实体缓存中的该消息。
4.如权利要求1或2所述的消息存储方法,其特征在于:定期将所述消息实体缓存中存储的信息写入到数据库中,清空所述消息实体缓存。
5.一种采用权利要求1所述方法存储的消息获取方法,其特征在于,包括以下步骤:
浏览器发出获取消息命令;
在消息实体缓存中查找该消息是否存在,如果存在,则直接在消息实体缓存中获取消息,返回浏览器;如果不存在,则查找数据库,从数据库中获取该消息,返回浏览器;并判断该消息是否需要存入消息实体缓存中,如果需要,则将该消息存入消息实体缓存中;
其中,将消息存入消息实体缓存中时,在消息实体缓存中消息实体表、消息实体和用户关联关系表中插入一条新的记录;所述消息实体表存储消息ID、消息类型和消息内容;所述消息实体和用户关联关系表中存储消息ID、消息接收者ID和消息发送者ID。
6.如权利要求5所述的消息获取方法,其特征在于:浏览器采用轮询的方式发出获取消息命令。
7.如权利要求5所述的消息读取方法,其特征在于:如果所述消息从缓存中获取,则同时在消息实体缓存、发送者的发件箱缓存、接收者的收件箱缓存中将该消息置为已读状态。
8.一种基于浏览器/服务器结构的消息存储系统,其特征在于:包括设置在浏览器与存储消息的数据库之间的缓存层,缓存层包括用于缓存发送者发送的消息的消息实体缓存装置(11),用于缓存消息的关联信息的发件箱缓存装置(12)和收件箱缓存装置(13);
用于当发送者发送一条消息给其他接收者时,将该消息缓存在消息实体缓存装置中,在发送者的发件箱缓存装置和接收者的收件箱缓存装置中分别存入一条该消息的关联信息记录的存入装置(14);
其中,存入装置(14)在将消息缓存在消息实体缓存装置中时,在消息实体缓存装置中消息实体表、消息实体和用户关联关系表中插入一条新的记录;所述消息实体表存储消息ID、消息类型和消息内容;所述消息实体和用户关联关系表中存储消息ID、消息接收者ID和消息发送者ID。
9.如权利要求8所述的消息存储系统,其特征在于:所述系统还包括用于定时一同刷新所述消息实体缓存装置、发件箱缓存装置和收件箱缓存装置的刷新装置(15)。
10.如权利要求8所述的消息存储系统,其特征在于:所述系统还包括用于删除发件箱缓存装置、收件箱缓存装置和消息实体缓存装置中消息的删除装置(16)。
11.如权利要求8~10中任一项所述的消息存储系统,其特征在于:用于定期清理所述消息实体缓存装置中存储的信息,并将清理掉的信息写入到数据库中的清理装置(17)。
12.如权利要求11所述的消息存储系统,其特征在于:当更新消息实体缓存装置中的消息时,同时更新数据库中该消息。
13.一种采用权利要求8所述系统存储的消息获取系统,其特征在于:包括用于在消息实体缓存装置中查找消息是否存在的查找装置(41);
用于当消息实体缓存装置中存在查找的消息时,直接在消息实体缓存装置中获取消息,返回浏览器的第一获取装置(42);
用于当消息实体缓存装置中不存在查找的消息时,查找数据库,从数据库中获取该消息,返回浏览器的第二获取装置(43);
用于判断消息是否需要存入消息实体缓存装置中的判断装置(44);
用于当需要将消息存入消息实体缓存装置中时,将该消息存入消息实体缓存装置中的存储装置(45);
其中,存储装置(45)在将消息缓存在消息实体缓存装置中时,在消息实体缓存装置中消息实体表、消息实体和用户关联关系表中插入一条新的记录;所述消息实体表存储消息ID、消息类型和消息内容;所述消息实体和用户关联关系表中存储消息ID、消息接收者ID和消息发送者ID。
CN201110449787.6A 2011-12-29 2011-12-29 一种消息存储和获取方法及系统 Expired - Fee Related CN103188297B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110449787.6A CN103188297B (zh) 2011-12-29 2011-12-29 一种消息存储和获取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110449787.6A CN103188297B (zh) 2011-12-29 2011-12-29 一种消息存储和获取方法及系统

Publications (2)

Publication Number Publication Date
CN103188297A CN103188297A (zh) 2013-07-03
CN103188297B true CN103188297B (zh) 2016-05-18

Family

ID=48679262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110449787.6A Expired - Fee Related CN103188297B (zh) 2011-12-29 2011-12-29 一种消息存储和获取方法及系统

Country Status (1)

Country Link
CN (1) CN103188297B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105138543A (zh) * 2015-07-09 2015-12-09 广州杰赛科技股份有限公司 一种数据的存储方法及系统
CN110311855B (zh) * 2019-06-25 2022-05-31 广州虎牙科技有限公司 用户消息处理方法、装置、电子设备及存储介质
CN113824763B (zh) * 2021-08-10 2024-03-01 武汉联影医疗科技有限公司 消息推送方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110088A (zh) * 2007-04-17 2008-01-23 南京中兴软创科技有限责任公司 基于缓存技术的数据库访问接口方法
CN101646140A (zh) * 2008-08-05 2010-02-10 中兴通讯股份有限公司 消息日志处理方法和系统
CN101937467A (zh) * 2010-09-17 2011-01-05 北京开心人信息技术有限公司 一种服务器的高效缓存方法与系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2350875A1 (en) * 2008-09-19 2011-08-03 Oracle International Corporation Storage-side storage request management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110088A (zh) * 2007-04-17 2008-01-23 南京中兴软创科技有限责任公司 基于缓存技术的数据库访问接口方法
CN101646140A (zh) * 2008-08-05 2010-02-10 中兴通讯股份有限公司 消息日志处理方法和系统
CN101937467A (zh) * 2010-09-17 2011-01-05 北京开心人信息技术有限公司 一种服务器的高效缓存方法与系统

Also Published As

Publication number Publication date
CN103188297A (zh) 2013-07-03

Similar Documents

Publication Publication Date Title
CN104133882B (zh) 一种基于hdfs的小文件处理方法
CN103116634B (zh) 支持高并发缓存任务队列的系统及其异步批量操作方法
CN101510209B (zh) 实现实时检索的方法、系统和服务器
CN100586112C (zh) 即时通讯中建立联系人列表、管理联系人信息的方法
CN104156400B (zh) 一种海量网络流数据的存储方法及装置
CN105608188A (zh) 数据处理方法和数据处理装置
CN101673192B (zh) 时序化的数据处理方法、装置及系统
CN101839997B (zh) 一种地震数据并行存储系统
CN103188297B (zh) 一种消息存储和获取方法及系统
CN1996305A (zh) 一种数据存储及读取方法及装置以及数据传输系统
CN102158349A (zh) 一种日志管理装置及方法
CN104346458B (zh) 数据存储方法和存储设备
JP5631886B2 (ja) 常にレディ状態のクライアント/サーバ同期
WO2013028336A2 (en) Synchronizing conversation structures in web-based email systems
CN102158550B (zh) 一种基于iec61850电能质量暂态数据传输方法
CN105915619B (zh) 顾及访问热度的网络空间信息服务高性能内存缓存方法
CN103345486A (zh) 应用于远程浏览环境下客户端获取和展示图形文件的方法
CN109165207B (zh) 基于Hadoop的饮用水海量数据存储管理方法和系统
CN101826077B (zh) 关系联系人记录获取方法及装置
CN108520052B (zh) 慢查询信息检索方法、装置、服务器及可读存储介质
CN104298747A (zh) 大数据量图片的存储方法、以及检索方法
CN101197844B (zh) 基于发布订阅系统的文件存储方法
CN104065617B (zh) 一种骚扰邮件处理方法、装置和系统
CN104156327A (zh) 一种分布式文件系统中写回模式下对象掉电识别方法
US8805942B2 (en) Storing and partitioning email messaging data

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
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: 20160518

Termination date: 20161229