CN112632375B - 会话信息处理方法、服务器及存储介质 - Google Patents
会话信息处理方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN112632375B CN112632375B CN202011504222.9A CN202011504222A CN112632375B CN 112632375 B CN112632375 B CN 112632375B CN 202011504222 A CN202011504222 A CN 202011504222A CN 112632375 B CN112632375 B CN 112632375B
- Authority
- CN
- China
- Prior art keywords
- push message
- web page
- session
- storage object
- message
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了会话信息处理方法、服务器和存储介质,用于提供一种有效地存储方案,以减少推送消息多次下发。方法部分包括:创建目标存储空间bucket;在用户打开web页面且通过web页面向用户发送推送消息时;以session存储对象的session标识为key值,将推送消息的相关信息和容器map保存在session存储对象中;以用户的用户标识id为目标存储空间bucket的key值,将session存储对象存储在目标存储空间bucket中,并向web页面发送推送消息;判断是否接收到web页面反馈的推送消息回执,推送消息回执包含推送消息的送达信息;若接收到web页面反馈的推送消息回执,则删除session存储对象中消息标识,并以推送消息的消息标识为key值,将推送消息的送达信息保存在容器map中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种会话信息处理方法、服务器及存储介质。
背景技术
web推送业务针对用户的核心思想是多会话存储,用户每次打开web页面时都需要存储一个会话,发明人意识到,现在由于对于页面会话的存储方案不理想,容易导致推送消息多次下发的情况。
发明内容
本发明实施例提供一种会话信息处理方法、服务器及存储介质,以解决推送消息多次下发的情况得的技术问题。
第一方面,提供了一种会话信息处理方法,包括:
创建目标存储空间bucket;
在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象;
若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间;
以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中;
以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中,并向所述web页面发送所述推送消息;
判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息;
若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识,并以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中。
进一步地,所述判断所述web页面是否存在对应的会话session存储对象之后,所述方法还包括:
若所述web页面未存在所述session存储对象,则为所述web页面新建一个所述session存储对象,并复制没送达至所述web页面和/或未过期的所述推送消息至所述session存储对象中。
进一步地,所述向所述web页面发送所述推送消息之后,所述方法还包括:
将所述推送消息的消息标识,与所述用户的用户标识id之间的对应关系记录至couchbase数据库中;
若所述推送消息发送成功,则从所述couchbase数据库删除所述对应关系;
当所述用户再次打开所述web页面时,根据所述用户的用户标识id从所述couchbase数据库进行查询,得到第一查询结果;
根据所述第一查询结果确定是否再次向所述web页面发送所述推送消息。
进一步地,所述方法还包括:
按照预设定时器的定时任务,定时查询所述couchbase数据库中所保存的对应关系,得到第二查询结果,并依据所述第二查询结果更新所述session存储对象中推送消息的相关信息。
第二方面,提供了一种服务器,包括:
创建模块,用于创建目标存储空间bucket;
第一判断模块,用于在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象;
记录模块,用于若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间;
存储模块,用于以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中;
所述存储模块,还用于以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中;
发送模块,用于向所述web页面发送所述推送消息;
第二判断模块,用于判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息;
删除模块,用于若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识;
所述存储模块,用于以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中。
进一步地,所述创建模块,还用于若所述web页面未存在所述session存储对象,则为所述web页面新建一个所述session存储对象;所述存储模块,用于复制没送达至所述web页面和/或未过期的所述推送消息至所述session存储对象中。
进一步地,该服务器还包括删除模块、查询模块和确定模块;
记录模块,用于将推送消息的消息标识,与用户的用户标识id之间的对应关系记录至couchbase数据库中;
删除模块,用于若推送消息发送成功,则从couchbase数据库删除对应关系;
查询模块,用于当用户再次打开web页面时,根据用户的用户标识id从couchbase数据库进行查询,得到第一查询结果;
所述确定模块,用于根据所述第一查询结果确定是否再次向所述web页面发送所述推送消息。
进一步地,该服务器还包括更新模块;
查询模块,还用于按照预设定时器的定时任务,定时查询couchbase数据库中所保存的对应关系,得到第二查询结果;
更新模块,用于依据第二查询结果更新session存储对象中推送消息的相关信息。
一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述会话信息处理方法的步骤。
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述会话信息处理方法的步骤。
上述会话信息处理方法、服务器及存储介质,所实现的方案中,创建目标存储空间bucket;在用户打开web页面且通过web页面向用户发送推送消息时,判断web页面是否存在对应的会话session存储对象;若web页面存在session存储对象,则记录推送消息的相关信息,推送消息的相关信息包括消息标识和过期时间;以session存储对象的session标识为key值,将推送消息的相关信息保存在session存储对象中;以用户的用户标识id为目标存储空间bucket的key值,将session存储对象和容器map存储在目标存储空间bucket中,并向web页面发送推送消息;判断是否接收到web页面反馈的推送消息回执,推送消息回执包含推送消息的送达信息;若接收到web页面反馈的推送消息回执,则删除session存储对象中消息标识,并以推送消息的消息标识为key值,将推送消息的送达信息保存在容器map中。在上述方案中,通过创建目标存储空间bucket的方式,对web页面的相关会话信息,通过键值对的方式进行了有效地存储,其中,在成功发送了推送消息之后,在session存储对象中删除对应的推送消息的消息标识,如果session存储对象中还存有相应的消息标识,说明该消息标识对应的推送消息未发送成功,则后续可以再次发送,通过方案,由于发送成功后推送消息的消息标识会被删除,可以有效地减少推送消息多次下发的情况出现。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中会话信息处理方法的一应用环境示意图;
图2是本发明一实施例中会话信息处理方法的一流程示意图;
图3是本发明一实施例中服务器的一结构示意图;
图4是本发明一实施例中服务器的一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的会话信息处理方法,可应用在如图1的应用环境中,其中,终端设备可以通过网络与服务器进行通信。(结合权1的整体方案进行描述,用户可以通过终端设备的浏览器打开web页面,服务器可以通过web页面给终端设备提供相应的web服务。本发明提供了一种会话信息处理方法,应用于服务器,服务器会创建目标存储空间bucket;在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象;若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间;以所述session存储对象的session标识为key值,将所述推送消息的相关信息和容器map保存在所述session存储对象中;以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象存储在所述目标存储空间bucket中,并向所述web页面发送所述推送消息;判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息;若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识,并以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中。
其中,终端设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。下面通过具体地实施例对本发明提供的会话信息处理方法进行描述。
在一实施例中,如图2所示,提供一种会话信息处理方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10:创建目标存储空间bucket。
本发明实施例中,会预先创建一个存储空间bucket,本发明实施例中,称为目标存储空间bucket。需要说明的是,Bucket是OSS上的命名空间,也是计费、权限控制、日志记录等高级功能的管理实体;Bucket名称在整个OSS服务中具有全局唯一性,且不能修改;存储在OSS上的每个Object必须都包含在某个Bucket中。每个Bucket中存放的Object的数量和大小总和没有限制,用户不需要考虑数据的可扩展性。其中,对于本方案而言,Object就是后续需存储的相关会话信息。
对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件,容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
本发明实施例中,为了后续能有效地存储针对web页面的会话信息,会预先在对象存储服务中创建目标存储空间bucket。
S20:在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象。
用户通过终端设备,可以利用终端设备上的浏览器应用打开任意一个web页面,本发明实施例中所称的web页面,可以指的是用户所打开的任意一个web页面。可以理解,在用户打开web页面时,消息推送系统可以给该web页面发送推送消息,以达到通过web页面推送所需消息的目的。本发明实施例中,在用户打开web页面且通过所述web页面向所述用户发送推送消息时,会判断判断所述web页面是否存在对应的会话session存储对象。
S30:若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间。
当判断所述web页面已经存在session存储对象,则记录当前需要向该web页面发送的推送消息的相关信息,其中,该相关信息包括消息标识和过期时间,该过期时间指的是该推送消息的过期时间,只有当该过期时间未到,该推送消息才会被推送。
S40:以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中。
在记录了推送消息的相关信息之后,会以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中,也就是说,以键值对的形式,将所述推送消息的相关信息保存在session存储对象。该session存储对象中,key为session标识(session id),value为消息标识和过期时间等相关信息。需要说明的是,该推送消息的相关还可以包括其他与推送消息相关的信息,可以根据实际应用场景配置,在此不做一一说明,也不做限定。
S50:以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中,并向所述web页面发送所述推送消息。
本发明实施例中,在以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中之后,会以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中,并向所述web页面发送所述推送消息。
其中,容器map是STL[1]的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,在处理一对一数据的时候,在编程上提供快速通道。基于这个特性,本发明实施例还会在前述所创建的目标存储空间bucket中,将该容器map作为value值保存。
也就是说,该目标存储空间bucket中,key为用户的用户标识id(uid),value包括上述session存储对象和容器map,通过session存储对象和容器map来共同优化存储结构。
并且会向所述web页面发送所述推送消息。
S60:判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息。
需要说明的是,在向web页面发送所述推送消息之后,存在两种情况,第一种是终端设备成功通过web页面接收到上述推送消息,第二种是终端设备在web页面上未接收到上述推送消息。其中,针对第一种情况,终端设备通过web页面返回推送消息回执,其中,该推送消息回执中包含有与该推送消息推送情况的送达信息。示例性的,该送达信息包括推送消息的送达数量、过期时间和最后一次发送时间等。
S70:若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识,并以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中。
当接收到接收到所述web页面反馈的推送消息回执,则说明web页面已经成功接收到上述推送消息,本发明实施例会删除所述session存储对象中所述消息标识,并以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中。
可见,本发明实施例提供了一种会话信息处理方法,通过创建目标存储空间bucket、session存储对象和map容器的方式,对web页面的相关会话信息,结合键值对的方式进行了有效地存储,优化了存储结构,其中,在成功发送了推送消息之后,在session存储对象中删除对应的推送消息的消息标识,如果session存储对象中还存有相应的消息标识,说明该消息标识对应的推送消息未发送成功,则后续可以再次发送,通过方案,由于发送成功后推送消息的消息标识会被删除,可以有效地减少推送消息多次下发的情况出现。
在一实施例中,所述判断所述web页面是否存在对应的会话session存储对象之后,若所述web页面未存在所述session存储对象,则为所述web页面新建一个所述session存储对象,并复制没送达至所述web页面和/或未过期的所述推送消息至所述session存储对象中。可见,在该实施例中,针对某个用户,对于未过期或者未送达成功的推送消息也保存至前述创建的session存储对象,有效地对推送消息进行了存储管理。
在一实施例中,所述向所述web页面发送所述推送消息之后,所述方法还包括如下步骤:
S80:将所述推送消息的消息标识,与所述用户的用户标识id之间的对应关系记录至couchbase数据库中。
本发明实施例中,向所述web页面发送所述推送消息,将所述推送消息的消息标识,与所述用户的用户标识id之间的对应关系记录至couchbase数据库中,以通过记录的用户标识id和消息标识的对应关系,来记录用户与推送消息之间的关系,从而了解哪些推送消息已经向用户下发过,有助于对后续发送推送消息做参考依据。
S90:若所述推送消息发送成功,则从所述couchbase数据库删除所述对应关系。
若所述推送消息发送成功,则从所述couchbase数据库删除所述对应关系,若所述推送消息未发送成功,则在所述couchbase数据库保留所述对应关系。从而可以实时知道哪些推送消息推向了哪些用户,有利于推送消息的定向推送管理。
S100:当所述用户再次打开所述web页面时,根据所述用户的用户标识id从所述couchbase数据库进行查询,得到第一查询结果;
S110:根据所述第一查询结果确定是否再次向所述web页面发送所述推送消息。
当所述用户再次打开所述web页面时,根据所述用户的用户标识id从所述couchbase数据库进行查询,得到第一查询结果,依据该第一查询结果,便可知道该用户标识id是否有对应的消息标识,从而根据所述第一查询结果确定是否再次向所述web页面发送所述推送消息。如果couchbase数据库中该用户标识id有对应的消息标识,则说明上次未发送成功,会再次向该web页面发送推送消息,如果couchbase数据库中该用户标识id没有对应的消息标识,则说明上次已发送成功,当所述用户再次打开所述web页面时,会拒绝再次向该web页面发送推送消息,避免推送消息多次下发。
在一实施中,本发明实施例还会按照预设定时器的定时任务,定时查询所述couchbase数据库中所保存的对应关系,得到第二查询结果;依据所述第二查询结果更新所述session存储对象中推送消息的相关信息。如果推送消息下发成功后,会将couchbase数据库中对应的uid-msgid删除,定时查询所述用户的用户标识id之间的对应关系,从而相应改变session存储对象中推送消息的相关信息,避免推送消息多次下发的情况出现。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种会话服务器,该服务器与上述实施例中会话信息处理方法中的服务器一一对应。如图3所示,该服务器包括创建模块101、第一判断模块102、记录模块103、存储模块104、发送模块105、第二判断模块106和删除模块107。各功能模块详细说明如下:
创建模块101,用于创建目标存储空间bucket;
第一判断模块102,用于在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象;
记录模块103,用于若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间;
存储模块104,用于以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中;
所述存储模块104,还用于以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中;
发送模块105,用于向所述web页面发送所述推送消息;
第二判断模块106,用于判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息;
删除模块107,用于若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识;
所述存储模块104,用于以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中。
在一实施例中,所述创建模块,还用于若所述web页面未存在所述session存储对象,则为所述web页面新建一个所述session存储对象;所述存储模块,用于复制没送达至所述web页面和/或未过期的所述推送消息至所述session存储对象中。
在一实施例中,该服务器还包括记录模块、删除模块、查询模块和确定模块;
所述记录模块,用于将所述推送消息的消息标识,与所述用户的用户标识id之间的对应关系记录至couchbase数据库中;
所述删除模块,用于若所述推送消息发送成功,则从所述couchbase数据库删除所述对应关系;
所述查询模块,用于当所述用户再次打开所述web页面时,根据所述用户的用户标识id从所述couchbase数据库进行查询,得到第一查询结果;
所述确定模块,用于根据所述第一查询结果确定是否再次向所述web页面发送所述推送消息。
在一实施例中,该服务器还包括更新模块;
所述查询模块,还用于按照预设定时器的定时任务,定时查询所述couchbase数据库中所保存的对应关系,得到第二查询结果;
所述更新模块,用于依据所述第二查询结果更新所述session存储对象中推送消息的相关信息。
可见,本发明实施例提供了一种服务器,通过创建目标存储空间bucket、session存储对象和map容器的方式,对web页面的相关会话信息,结合键值对的方式进行了有效地存储,优化了存储结构,其中,在成功发送了推送消息之后,在session存储对象中删除对应的推送消息的消息标识,如果session存储对象中还存有相应的消息标识,说明该消息标识对应的推送消息未发送成功,则后续可以再次发送,通过方案,由于发送成功后推送消息的消息标识会被删除,可以有效地减少推送消息多次下发的情况出现。
关于服务器的具体限定可以参见上文中对于会话信息处理方法的限定,在此不再赘述。上述服务器中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于服务器中的处理器中,也可以以软件形式存储于服务器中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种服务器,该服务器可以是服务器,其内部结构图可以如图4所示。该服务器包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该服务器的处理器用于提供计算和控制能力。该服务器的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该服务器的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种会话信息处理方法。
在一个实施例中,提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
创建目标存储空间bucket;
在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象;
若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间;
以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中;
以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中,并向所述web页面发送所述推送消息;
判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息;
若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识,并以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
创建目标存储空间bucket;
在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象;
若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间;
以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中;
以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中,并向所述web页面发送所述推送消息;
判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息;
若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识,并以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述服务器的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种会话信息处理方法,其特征在于,包括:
在对象存储服务OSS中,创建目标存储空间bucket;
在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象;
若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间;
以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中;
以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中,并向所述web页面发送所述推送消息;
判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息;
若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识,并以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中;
将所述推送消息的消息标识,与所述用户的用户标识id之间的对应关系记录至couchbase数据库中;
预设定时任务定时查询所述用户的用户标识id与消息标识之间的对应关系,相应改变session存储对象中推送消息的相关信息。
2.如权利要求1所述的会话信息处理方法,其特征在于,所述判断所述web页面是否存在对应的会话session存储对象之后,所述方法还包括:
若所述web页面未存在所述session存储对象,则为所述web页面新建一个所述session存储对象,并复制没送达至所述web页面和/或未过期的所述推送消息至所述session存储对象中。
3.如权利要求1所述的会话信息处理方法,其特征在于,所述向所述web页面发送所述推送消息之后,所述方法还包括:
若所述推送消息发送成功,则从所述couchbase数据库删除所述对应关系;
当所述用户再次打开所述web页面时,根据所述用户的用户标识id从所述couchbase数据库进行查询,得到第一查询结果;
根据所述第一查询结果确定是否再次向所述web页面发送所述推送消息。
4.如权利要求3所述的会话信息处理方法,其特征在于,所述方法还包括:
按照预设定时器的定时任务,定时查询所述couchbase数据库中所保存的对应关系,得到第二查询结果;
依据所述第二查询结果更新所述session存储对象中推送消息的相关信息。
5.一种服务器,其特征在于,包括:
创建模块,用于在对象存储服务OSS中,创建目标存储空间bucket;
第一判断模块,用于在用户打开web页面且通过所述web页面向所述用户发送推送消息时,判断所述web页面是否存在对应的会话session存储对象;
记录模块,用于若所述web页面存在所述session存储对象,则记录所述推送消息的相关信息,所述推送消息的相关信息包括消息标识和过期时间;
存储模块,用于以所述session存储对象的session标识为key值,将所述推送消息的相关信息保存在所述session存储对象中;
所述存储模块,还用于以所述用户的用户标识id为所述目标存储空间bucket的key值,将所述session存储对象和容器map存储在所述目标存储空间bucket中;
发送模块,用于向所述web页面发送所述推送消息;
第二判断模块,用于判断是否接收到所述web页面反馈的推送消息回执,所述推送消息回执包含所述推送消息的送达信息;
删除模块,用于若接收到所述web页面反馈的推送消息回执,则删除所述session存储对象中所述消息标识;
所述存储模块,用于以所述推送消息的消息标识为key值,将所述推送消息的送达信息保存在所述容器map中;
所述记录模块,用于将所述推送消息的消息标识,与所述用户的用户标识id之间的对应关系记录至couchbase数据库中,预设定时任务定时查询所述用户的用户标识id与消息标识之间的对应关系,相应改变session存储对象中推送消息的相关信息。
6.如权利要求5所述的服务器,其特征在于,
所述创建模块,还用于若所述web页面未存在所述session存储对象,则为所述web页面新建一个所述session存储对象;
所述存储模块,用于复制没送达至所述web页面和/或未过期的所述推送消息至所述session存储对象中。
7.如权利要求5所述的服务器,其特征在于,还包括删除模块、查询模块和确定模块;
所述删除模块,用于若所述推送消息发送成功,则从所述couchbase数据库删除所述对应关系;
所述查询模块,用于当所述用户再次打开所述web页面时,根据所述用户的用户标识id从所述couchbase数据库进行查询,得到第一查询结果;
所述确定模块,用于根据所述第一查询结果确定是否再次向所述web页面发送所述推送消息。
8.如权利要求7所述的服务器,其特征在于,还包括更新模块;
所述查询模块,还用于按照预设定时器的定时任务,定时查询所述couchbase数据库中所保存的对应关系,得到第二查询结果;
所述更新模块,用于依据所述第二查询结果更新所述session存储对象中推送消息的相关信息。
9.一种服务器,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述会话信息处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述会话信息处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011504222.9A CN112632375B (zh) | 2020-12-18 | 2020-12-18 | 会话信息处理方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011504222.9A CN112632375B (zh) | 2020-12-18 | 2020-12-18 | 会话信息处理方法、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632375A CN112632375A (zh) | 2021-04-09 |
CN112632375B true CN112632375B (zh) | 2023-07-25 |
Family
ID=75316992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011504222.9A Active CN112632375B (zh) | 2020-12-18 | 2020-12-18 | 会话信息处理方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632375B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022265B (zh) * | 2021-07-23 | 2024-04-16 | 北京字跳网络技术有限公司 | 信息处理方法、装置、终端和存储介质 |
CN113596147B (zh) * | 2021-07-27 | 2023-10-24 | 奇安信科技集团股份有限公司 | 消息推送方法、装置、设备与存储介质 |
CN114221925B (zh) * | 2021-09-30 | 2024-05-03 | 北京奇艺世纪科技有限公司 | 消息推送方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031058A (zh) * | 2019-12-23 | 2020-04-17 | 集奥聚合(北京)人工智能科技有限公司 | 基于WebSocket的分布式服务器集群交互方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262497B (zh) * | 2008-04-21 | 2012-04-25 | 深圳市迅雷网络技术有限公司 | 一种内容推送方法、系统及装置 |
CN104281574A (zh) * | 2013-07-01 | 2015-01-14 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法、装置及系统 |
CN107786607B (zh) * | 2016-08-30 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 一种消息重传方法、消息重传服务器及用户设备 |
CN106657299B (zh) * | 2016-12-08 | 2020-06-16 | 武汉斗鱼网络科技有限公司 | 关注主播上线提醒方法及系统 |
CN108881354B (zh) * | 2017-05-09 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 一种推送信息存储方法、装置、服务器和计算机存储介质 |
CN108055199A (zh) * | 2018-01-17 | 2018-05-18 | 吉浦斯信息咨询(深圳)有限公司 | 支持离线消息保存的移动推送方法及系统 |
CN108460115B (zh) * | 2018-02-10 | 2020-06-23 | 深圳壹账通智能科技有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN108631955A (zh) * | 2018-05-15 | 2018-10-09 | 网易(杭州)网络有限公司 | 一种确保消息发送可达的方法、系统和装置 |
CN110113393B (zh) * | 2019-04-18 | 2022-04-22 | 北京奇艺世纪科技有限公司 | 一种消息推送方法、装置、电子设备及介质 |
-
2020
- 2020-12-18 CN CN202011504222.9A patent/CN112632375B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031058A (zh) * | 2019-12-23 | 2020-04-17 | 集奥聚合(北京)人工智能科技有限公司 | 基于WebSocket的分布式服务器集群交互方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112632375A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112632375B (zh) | 会话信息处理方法、服务器及存储介质 | |
CN109064345B (zh) | 消息处理方法、系统以及计算机可读存储介质 | |
US11385830B2 (en) | Data storage method, apparatus and system, and server, control node and medium | |
CN101217571B (zh) | 用于多副本数据网格系统中的写/读文件操作的方法 | |
CN110602165B (zh) | 政务数据同步方法、装置、系统、计算机设备和存储介质 | |
CN109358874B (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
CN109460252B (zh) | 基于git的配置文件处理方法、装置和计算机设备 | |
CN108512930B (zh) | 一种共享文件的管理方法、装置、服务器和存储介质 | |
CN111475483A (zh) | 数据库迁移方法、装置及计算设备 | |
CN109697112B (zh) | 分布式集约化一站式作业系统和实现方法 | |
CN108966159B (zh) | 短信撤回方法、系统、计算机设备和存储介质 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN111198856A (zh) | 文件管理方法、装置、计算机设备和存储介质 | |
CN108512948B (zh) | 通讯录更新方法、装置、计算机设备和存储介质 | |
CN103197987A (zh) | 一种数据备份的方法、数据恢复的方法及系统 | |
CN115203159B (zh) | 一种数据存储方法、装置、计算机设备和存储介质 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
WO2022247316A1 (zh) | 存储对象处理系统、请求处理方法、网关和存储介质 | |
CN110543465B (zh) | 目录操作方法、装置、计算机设备和存储介质 | |
CN112069152B (zh) | 一种数据库集群升级方法、装置、设备以及存储介质 | |
CN112865927B (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
CN115277678B (zh) | 文件下载方法、装置、计算机设备及存储介质 | |
CN111339054A (zh) | 一种存储系统分级管理的方法、装置、设备及存储介质 | |
US11445036B1 (en) | Cluster management method and apparatus, electronic device and storage medium | |
CN117407361B (zh) | 数据管理方法、装置、系统、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |