CN107205021A - 一种客户端退出方法及系统 - Google Patents
一种客户端退出方法及系统 Download PDFInfo
- Publication number
- CN107205021A CN107205021A CN201710326846.8A CN201710326846A CN107205021A CN 107205021 A CN107205021 A CN 107205021A CN 201710326846 A CN201710326846 A CN 201710326846A CN 107205021 A CN107205021 A CN 107205021A
- Authority
- CN
- China
- Prior art keywords
- client
- session
- connection
- server
- reason
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种客户端退出方法及系统,方法包括:S1、判断客户端的注销原因;S2、如果注销原因为客户端主动发起或服务器中断服务,则执行步骤S3,如果注销原因为客户端连接异常,则启动重连机制;S3、关闭客户端的连接服务对象,发送第一注销事件到连接服务器;S4、连接服务器接收到第一注销事件后,获取会话上下文信息,对会话缓存中的第一会话对象进行注销,注销完成后发送第二注销事件到应用程序服务器;S5、应用程序服务器接收到第二注销事件后,对数据库中的第二会话对象进行注销。本发明的有益效果是:本技术方案针对客户端的不同的注销原因进行不同的处理,更加全面和可靠。
Description
技术领域
本发明涉及互联网领域,特别涉及一种客户端退出方法及系统。
背景技术
随着互联网技术的飞速发展,越来越多的应用客户端出现在人们的生活中,用户通过登录这些应用客户端从互联网获取服务。在客户端与服务器通信过程中,可能会因为各种原因而导致通信中断,比如,客户端主动注销,服务器中断服务或者连接异常等,但是,客户端的退出机制并不完善,还不能很好地解决不同注销原因导致的不同问题。
发明内容
本发明提供了一种客户端退出方法及系统,解决了现有技术中客户端的退出方法并不能全面解决各种注销原因的技术问题。
本发明解决上述技术问题的技术方案如下:一种客户端退出方法,包括:
S1、根据日志判断客户端的注销原因,所述注销原因包括:客户端主动发起、服务器中断服务和客户端连接异常;
S2、如果所述注销原因为客户端主动发起或服务器中断服务,则执行步骤S3,如果所述注销原因为客户端连接异常,则启动重连机制,超过重连次数或预设重连时间之后执行步骤S3;
S3、关闭所述客户端的连接服务对象,发送包括所述注销原因和所述客户端的连接ID的第一注销事件到连接服务器;
S4、所述连接服务器接收到所述第一注销事件后,从会话缓存中获取所述连接ID对应的会话上下文信息,所述会话上下文信息包括用户ID,从所述会话缓存中获取所述用户ID对应的第一会话对象,通过所述连接服务器的连接注册子服务对象对所述第一会话对象进行注销,注销完成后发送包括所述注销原因、所述会话上下文信息和所述连接服务器的名称的第二注销事件到应用程序服务器;
S5、所述应用程序服务器接收到所述第二注销事件后,对数据库中所述用户ID对应的第二会话对象进行注销。
本发明的有益效果是:本技术方案针对客户端的不同的注销原因采取不同的退出方式,对会话缓存和数据库中的会话分别进行注销,释放空间和资源,更加全面和可靠。
在上述技术方案的基础上,本发明还可以做如下改进。
优选地,步骤S5包括:
S51、锁定所述用户ID,判断活动会话列表中是否存在所述用户ID对应的第二会话对象,如是,则返回错误提示信息,否则执行步骤S52;
S52、将所述注销原因作为所述第二会话对象的注销原因,将当前系统时间作为所述第二会话对象的注销时间,将所述第二会话对象从所述活动会话列表中删除;
S53、根据所述第二会话对象创建新的第三会话对象并放入丢弃会话列表,根据所述丢弃会话列表中的所有会话对象更新数据库。
优选地,步骤S3中,关闭所述客户端的连接服务对象之前,还包括:
A1、生成并推送用于询问用户是否保存本地正在编辑的信息的客户端事件;
A2、接收所述用户输入的对所述客户端事件的反馈信息;
A3、根据所述反馈信息保存或不保存所述本地正在编辑的信息,如果保存,则将所述本地正在编辑的信息以临时文件的形式保存在所述客户端,当所述客户端再次登录成功时恢复所述本地正在编辑的信息。
一种客户端退出系统,包括:客户端、连接服务器和应用程序服务器,
所述客户端用于根据日志判断注销原因,所述注销原因包括:客户端主动发起、服务器中断服务和客户端连接异常;
如果所述注销原因为客户端主动发起或服务器中断服务,则关闭所述客户端的连接服务对象,发送包括所述注销原因和所述客户端的连接ID的第一注销事件到所述连接服务器;
如果所述注销原因为客户端连接异常,则启动重连机制,超过重连次数或预设重连时间之后关闭本地的连接服务对象,发送包括所述注销原因和所述客户端的连接ID的第一注销事件到所述连接服务器;
所述连接服务器用于接收所述第一注销事件,从会话缓存中获取所述连接ID对应的会话上下文信息,所述会话上下文信息包括用户ID,从所述会话缓存中获取所述用户ID对应的第一会话对象,通过所述连接服务器的连接注册子服务对象对所述第一会话对象进行注销,注销完成后发送包括所述注销原因、所述会话上下文信息和所述连接服务器的名称的第二注销事件到所述应用程序服务器;
所述应用程序服务器用于接收所述第二注销事件,对数据库中所述用户ID对应的第二会话对象进行注销。
优选地,所述应用程序服务器具体用于:
锁定所述用户ID,判断活动会话列表中是否存在所述用户ID对应的第二会话对象,如是,则返回错误提示信息,否则执行步骤S52;
将所述注销原因作为所述第二会话对象的注销原因,将当前系统时间作为所述第二会话对象的注销时间,将所述第二会话对象从所述活动会话列表中删除;
根据所述第二会话对象创建新的第三会话对象并放入丢弃会话列表,根据所述丢弃会话列表中的所有会话对象更新数据库。
优选地,所述客户端在关闭本地的连接服务对象之前,还用于:
生成并推送用于询问用户是否保存本地正在编辑的信息的客户端事件;
接收所述用户输入的对所述客户端事件的反馈信息;
根据所述反馈信息保存或不保存所述本地正在编辑的信息,如果保存,则将所述本地正在编辑的信息以临时文件的形式保存在本地,当再次登录成功时恢复所述本地正在编辑的信息。
附图说明
图1为本发明实施例提供的一种客户端退出方法的流程示意图;
图2为本发明另一实施例提供的一种客户端退出方法的流程示意图;
图3为本发明另一实施例提供的一种客户端退出方法的流程示意图;
图4为本发明另一实施例提供的一种客户端退出系统的结构示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,一种客户端退出方法,包括:
S1、根据日志判断客户端的注销原因,注销原因包括:客户端主动发起、服务器中断服务和客户端连接异常;
S2、如果注销原因为客户端主动发起或服务器中断服务,则执行步骤S3,如果注销原因为客户端连接异常,则启动重连机制,超过重连次数或预设重连时间之后执行步骤S3;
S3、关闭客户端的连接服务对象,发送包括注销原因和客户端的连接ID的第一注销事件到连接服务器;
S4、连接服务器接收到第一注销事件后,从会话缓存中获取连接ID对应的会话上下文信息,会话上下文信息包括用户ID,从会话缓存中获取用户ID对应的第一会话对象,通过连接服务器的连接注册子服务对象对第一会话对象进行注销,注销完成后发送包括注销原因、会话上下文信息和连接服务器的名称的第二注销事件到应用程序服务器;
S5、应用程序服务器接收到第二注销事件后,对数据库中用户ID对应的第二会话对象进行注销。
应理解,首先判断客户端的注销原因,根据不同注销原因采取不同的退出方式,其中,如果是因为连接中断而导致的客户端注销,则需要进行重连,如果在预设的重连次数内或预设的重连时间内没有连接成功,则关闭客户端的连接服务对象,向连接服务器发送第一注销事件,连接服务器接收到后进行解析,得到注销原因和客户端的连接ID,根据连接ID获取会话上下文信息,会话上下文信息中包括用户ID,通过连接注册子服务对象对会话缓存中的用户ID对应的第一会话对象进行注销,连接服务器的注销操作完成后,生成第二注销事件,发送给应用程序服务器,让应用程序服务器对数据库中的用户ID对应的第二会话对象进行注销。其中,会话上下文信息用于记录用户的会话信息和登录信息等。
具体地,步骤S5包括:
S51、锁定用户ID,判断活动会话列表中是否存在用户ID对应的第二会话对象,如是,则返回错误提示信息,否则执行步骤S52;
S52、将注销原因作为第二会话对象的注销原因,将当前系统时间作为第二会话对象的注销时间,将第二会话对象从活动会话列表中删除;
S53、根据第二会话对象创建新的第三会话对象并放入丢弃会话列表,根据丢弃会话列表中的所有会话对象更新数据库。
应理解,在应用程序服务器接收并解析第二注销事件,得到注销原因、会话上下文信息和连接服务器的名称。根据会话上下文信息的用户ID获取用户锁,使得当前线程锁定该用户锁,从活动会话列表中获取对应用户ID的第二会话对象,如果获取不到或者获取到的第二会话对象为空,则返回异常信息,直接退出,如果获取到正常的第二会话对象,则需要设置第二会话对象的注销原因和注销时间,然后将其从活动会话列表中删除,创建一个新的第三会话对象,并放入丢弃会话列表中,最后,根据丢弃会话列表中的所有会话对象更新数据库中对应的会话对象,如果是标识要删除的会话对象则删除数据库中对应的会话对象。
具体地,步骤S3中,关闭客户端的连接服务对象之前,还包括:
A1、生成并推送用于询问用户是否保存本地正在编辑的信息的客户端事件;
A2、接收用户输入的对客户端事件的反馈信息;
A3、根据反馈信息保存或不保存本地正在编辑的信息,如果保存,则将本地正在编辑的信息以临时文件的形式保存在客户端,当客户端再次登录成功时恢复本地正在编辑的信息。
应理解,在客户端关闭连接服务对象之前,需要先询问用户是否需要保持当前正在编辑的信息,如果用户选择保存则将该信息保存在本地客户端的临时文件中,如果用户选择放弃则继续后续步骤。
如图2所示,一种客户端退出系统,包括:客户端1、连接服务器2和应用程序服务器3,
客户端1用于根据日志判断注销原因,注销原因包括:客户端主动发起、服务器中断服务和客户端连接异常;
如果注销原因为客户端主动发起或服务器中断服务,则关闭本地的连接服务对象,发送包括注销原因和客户端的连接ID的第一注销事件到连接服务器2;
如果注销原因为客户端连接异常,则启动重连机制,超过重连次数或预设重连时间之后关闭本地的连接服务对象,发送包括注销原因和客户端的连接ID的第一注销事件到连接服务器2;
连接服务器2用于接收第一注销事件,从会话缓存中获取连接ID对应的会话上下文信息,会话上下文信息包括用户ID,从会话缓存中获取用户ID对应的第一会话对象,通过连接服务器的连接注册子服务对象对第一会话对象进行注销,注销完成后发送包括注销原因、会话上下文信息和连接服务器的名称的第二注销事件到应用程序服务器;
应用程序服务器3用于接收第二注销事件,对数据库中用户ID对应的第二会话对象进行注销。
具体地,应用程序服务器3具体用于:
锁定用户ID,判断活动会话列表中是否存在用户ID对应的第二会话对象,如是,则返回错误提示信息,否则执行步骤S52;
将注销原因作为第二会话对象的注销原因,将当前系统时间作为第二会话对象的注销时间,将第二会话对象从活动会话列表中删除;
根据第二会话对象创建新的第三会话对象并放入丢弃会话列表,根据丢弃会话列表中的所有会话对象更新数据库。
具体地,客户端1在关闭本地的连接服务对象之前,还用于:
生成并推送用于询问用户是否保存本地正在编辑的信息的客户端事件;
接收用户输入的对客户端事件的反馈信息;
根据反馈信息保存或不保存本地正在编辑的信息,如果保存,则将本地正在编辑的信息以临时文件的形式保存在本地,当再次登录成功时恢复本地正在编辑的信息。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种客户端退出方法,其特征在于,包括:
S1、根据日志判断客户端的注销原因,所述注销原因包括:客户端主动发起、服务器中断服务和客户端连接异常;
S2、如果所述注销原因为客户端主动发起或服务器中断服务,则执行步骤S3,如果所述注销原因为客户端连接异常,则启动重连机制,超过重连次数或预设重连时间之后执行步骤S3;
S3、关闭所述客户端的连接服务对象,发送包括所述注销原因和所述客户端的连接ID的第一注销事件到连接服务器;
S4、所述连接服务器接收到所述第一注销事件后,从会话缓存中获取所述连接ID对应的会话上下文信息,所述会话上下文信息包括用户ID,从所述会话缓存中获取所述用户ID对应的第一会话对象,通过所述连接服务器的连接注册子服务对象对所述第一会话对象进行注销,注销完成后发送包括所述注销原因、所述会话上下文信息和所述连接服务器的名称的第二注销事件到应用程序服务器;
S5、所述应用程序服务器接收到所述第二注销事件后,对数据库中所述用户ID对应的第二会话对象进行注销。
2.根据权利要求1所述的一种客户端退出方法,其特征在于,步骤S5包括:
S51、锁定所述用户ID,判断活动会话列表中是否存在所述用户ID对应的第二会话对象,如是,则返回错误提示信息,否则执行步骤S52;
S52、将所述注销原因作为所述第二会话对象的注销原因,将当前系统时间作为所述第二会话对象的注销时间,将所述第二会话对象从所述活动会话列表中删除;
S53、根据所述第二会话对象创建新的第三会话对象并放入丢弃会话列表,根据所述丢弃会话列表中的所有会话对象更新数据库。
3.根据权利要求1或2所述的一种客户端退出方法,其特征在于,步骤S3中,关闭所述客户端的连接服务对象之前,还包括:
A1、生成并推送用于询问用户是否保存本地正在编辑的信息的客户端事件;
A2、接收所述用户输入的对所述客户端事件的反馈信息;
A3、根据所述反馈信息保存或不保存所述本地正在编辑的信息,如果保存,则将所述本地正在编辑的信息以临时文件的形式保存在所述客户端,当所述客户端再次登录成功时恢复所述本地正在编辑的信息。
4.一种客户端退出系统,其特征在于,包括:客户端(1)、连接服务器(2)和应用程序服务器(3),
所述客户端(1)用于根据日志判断注销原因,所述注销原因包括:客户端主动发起、服务器中断服务和客户端连接异常;
如果所述注销原因为客户端主动发起或服务器中断服务,则关闭所述客户端的连接服务对象,发送包括所述注销原因和所述客户端的连接ID的第一注销事件到所述连接服务器(2);
如果所述注销原因为客户端连接异常,则启动重连机制,超过重连次数或预设重连时间之后关闭本地的连接服务对象,发送包括所述注销原因和所述客户端的连接ID的第一注销事件到所述连接服务器(2);
所述连接服务器(2)用于接收所述第一注销事件,从会话缓存中获取所述连接ID对应的会话上下文信息,所述会话上下文信息包括用户ID,从所述会话缓存中获取所述用户ID对应的第一会话对象,通过所述连接服务器的连接注册子服务对象对所述第一会话对象进行注销,注销完成后发送包括所述注销原因、所述会话上下文信息和所述连接服务器的名称的第二注销事件到所述应用程序服务器(3);
所述应用程序服务器(3)用于接收所述第二注销事件,对数据库中所述用户ID对应的第二会话对象进行注销。
5.根据权利要求4所述的一种客户端退出系统,其特征在于,所述应用程序服务器(3)具体用于:
锁定所述用户ID,判断活动会话列表中是否存在所述用户ID对应的第二会话对象,如是,则返回错误提示信息,否则执行步骤S52;
将所述注销原因作为所述第二会话对象的注销原因,将当前系统时间作为所述第二会话对象的注销时间,将所述第二会话对象从所述活动会话列表中删除;
根据所述第二会话对象创建新的第三会话对象并放入丢弃会话列表,根据所述丢弃会话列表中的所有会话对象更新数据库。
6.根据权利要求4或5所述的一种客户端退出系统,其特征在于,所述客户端(1)在关闭本地的连接服务对象之前,还用于:
生成并推送用于询问用户是否保存本地正在编辑的信息的客户端事件;
接收所述用户输入的对所述客户端事件的反馈信息;
根据所述反馈信息保存或不保存所述本地正在编辑的信息,如果保存,则将所述本地正在编辑的信息以临时文件的形式保存在本地,当再次登录成功时恢复所述本地正在编辑的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710326846.8A CN107205021A (zh) | 2017-05-10 | 2017-05-10 | 一种客户端退出方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710326846.8A CN107205021A (zh) | 2017-05-10 | 2017-05-10 | 一种客户端退出方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107205021A true CN107205021A (zh) | 2017-09-26 |
Family
ID=59905048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710326846.8A Withdrawn CN107205021A (zh) | 2017-05-10 | 2017-05-10 | 一种客户端退出方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107205021A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710579A (zh) * | 2018-12-14 | 2019-05-03 | 北京摩拜科技有限公司 | 日志处理方法、服务器及物品系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070162605A1 (en) * | 2006-01-07 | 2007-07-12 | Chalasani Nanchariah R | Distributed instant messaging |
CN101163113A (zh) * | 2006-10-12 | 2008-04-16 | 阿里巴巴公司 | 一种即时通信的断线重连系统及方法 |
CN101166114A (zh) * | 2006-10-17 | 2008-04-23 | 中兴通讯股份有限公司 | 多媒体广播组播服务会话开始的异常处理方法 |
US20110296036A1 (en) * | 2010-05-25 | 2011-12-01 | International Business Machines Corporation | Method and apparatus for single sign-off using cookie tracking in a proxy |
JP2013536597A (ja) * | 2010-06-18 | 2013-09-19 | クアルコム,インコーポレイテッド | 1次通信端末と2次通信端末との間のローカルワイヤレス接続の状態に基づくクライアントアプリケーションセッションの管理 |
CN103634337A (zh) * | 2012-08-22 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 页面恢复方法、装置及移动终端 |
-
2017
- 2017-05-10 CN CN201710326846.8A patent/CN107205021A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070162605A1 (en) * | 2006-01-07 | 2007-07-12 | Chalasani Nanchariah R | Distributed instant messaging |
CN101163113A (zh) * | 2006-10-12 | 2008-04-16 | 阿里巴巴公司 | 一种即时通信的断线重连系统及方法 |
CN101166114A (zh) * | 2006-10-17 | 2008-04-23 | 中兴通讯股份有限公司 | 多媒体广播组播服务会话开始的异常处理方法 |
US20110296036A1 (en) * | 2010-05-25 | 2011-12-01 | International Business Machines Corporation | Method and apparatus for single sign-off using cookie tracking in a proxy |
JP2013536597A (ja) * | 2010-06-18 | 2013-09-19 | クアルコム,インコーポレイテッド | 1次通信端末と2次通信端末との間のローカルワイヤレス接続の状態に基づくクライアントアプリケーションセッションの管理 |
CN103634337A (zh) * | 2012-08-22 | 2014-03-12 | 腾讯科技(深圳)有限公司 | 页面恢复方法、装置及移动终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109710579A (zh) * | 2018-12-14 | 2019-05-03 | 北京摩拜科技有限公司 | 日志处理方法、服务器及物品系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9531782B2 (en) | Dynamic management of collaboration sessions using real-time text analytics | |
CN102413436B (zh) | 信息传送方法和系统 | |
US10949750B2 (en) | Methods, systems and apparatus for using session, device and/or user signatures | |
CN104333512B (zh) | 一种分布式内存数据库访问系统及方法 | |
CN1662000B (zh) | 因特网协定多媒体服务控制的触发方法及多媒体子系统 | |
CN106453288A (zh) | 一种支持异步模式的分布式微服务框架系统及其实现方法 | |
EP1605663A1 (en) | Method for re-establishing a session of an IMPS client in a mobile terminal | |
US20070011191A1 (en) | Application management for utilizing a replication engine of a Web-AP server to execute SIP replication | |
CN107995127A (zh) | 一种过载保护方法及装置 | |
CN102958107B (zh) | 一种能力查询的方法、通信终端及应用服务器 | |
CN105991412B (zh) | 消息推送方法及装置 | |
CN113055421B (zh) | 一种服务网格治理方法及系统 | |
CN102215266B (zh) | 持久化服务的实现方法及持久化服务系统 | |
US9760865B2 (en) | Multi-modal transcript unification in a collaborative environment | |
CN107483997A (zh) | 儿童锁控制系统及方法 | |
US20140254788A1 (en) | Communication between a mobile device and a call center | |
CN102111343B (zh) | 即时通讯控制的实现方法和系统 | |
CN107205021A (zh) | 一种客户端退出方法及系统 | |
CN108632130B (zh) | 多终端聊天输入转移的方法、装置、电子设备和存储介质 | |
US10069700B2 (en) | System and method for offline survivability | |
CN101170538A (zh) | 用于改善sip解析性能的方法和装置 | |
US20100235423A1 (en) | Presence network agent in ims networks | |
CN104954373B (zh) | 统一通信主动sip呼叫方法及系统 | |
CN115827366A (zh) | 适用于隔离装置的集群调度组件及方法 | |
CN115412597A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170926 |
|
WW01 | Invention patent application withdrawn after publication |