CN114422576B - 一种会话清理方法、装置、计算机设备和可读存储介质 - Google Patents
一种会话清理方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN114422576B CN114422576B CN202210076820.3A CN202210076820A CN114422576B CN 114422576 B CN114422576 B CN 114422576B CN 202210076820 A CN202210076820 A CN 202210076820A CN 114422576 B CN114422576 B CN 114422576B
- Authority
- CN
- China
- Prior art keywords
- session
- key value
- identifier
- session identifier
- redis 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.)
- Active
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
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
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/2358—Change logging, detection, and notification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种会话清理方法,包括:当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送;在redis数据库中查找与解析出的key值相关联的目标会话标识符;比较解析出的会话标识符和所述目标会话标识符是否一致;若一致,则在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种会话清理方法、装置、计算机设备和计算机可读存储介质。
背景技术
机器人和用户对话过程中会有一些会话信息,这些会话信息包括用户的历史对话记录,如果用户一轮会话结束后,这些会话信息没有及时清理便会影响用户的下一轮会话,因此需要在用户结束对话后清理会话信息。比如,当用户对话后的30分钟内还未发起新的对话,就认为该用户已经结束对话,此时系统可以自动清理会话信息。
现有技术的会话信息清理机制是:使用redis的定时监听机制清理会话。但是发明人研究发现:redis具有优先保证性能高可用的特性,因此redis无法保证对每一个过期的会话信息都进行及时的监听和清理,导致部分用户会话信息无法及时清理,影响机器人功能的正常使用。
发明内容
本发明的目的在于提供了一种会话清理方法方法、装置、计算机设备和计算机可读存储介质,能够解决现有技术中的上述缺陷。
本发明的一个方面提供了一种会话清理方法,所述方法包括:当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送;在redis数据库中查找与解析出的key值相关联的目标会话标识符;比较解析出的会话标识符和所述目标会话标识符是否一致;若一致,则在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
可选地,在所述当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值之前,所述方法还包括:在生成用户与机器人之间的会话信息后,继续生成该会话信息的会话标识符;将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库中与生成的会话信息和会话标识符相关联的key值;将获取到的key值和生成的会话标识符发送至所述rocketmq。
可选地,所述在redis数据库中查找与解析出的key值相关联的目标会话标识符,包括:在redis数据库中查找与解析出的key值相关联的所有会话标识符;从查找出的所有会话标识符中筛选出生成时间最短的会话标识符,作为所述目标会话标识符。
可选地,所述将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库中与生成的会话信息和会话标识符相关联的key值,包括:判断生成的会话信息是否为所述用户和所述机器人之间的首次会话信息;当生成的会话信息是所述用户和所述机器人之间的首次会话信息时,直接将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值;当生成的会话信息是所述用户和所述机器人之间的非首次会话信息时,在所述redis数据库中查找并删除与上一次获取到的key值相关联的会话标识符,将本次生成的会话信息和会话标识符存储至所述redis数据库,并继续获取所述redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值。
可选地,所述在redis数据库中查找与解析出的key值相关联的目标会话标识符,包括:在redis数据库中查找与解析出的key值相关联的唯一一个会话标识符,作为所述目标会话标识符。
可选地,所述判断生成的会话信息是否为所述用户和所述机器人之间的首次会话信息,包括:从预设存储空间内筛选出与所述机器人相关联的所有会话属性表,其中,所述会话属性表包括会话起始时间和会话状态;判断筛选出的会话属性表中是否存在与所述用户相关联的会话属性表;其中,若不存在则判定生成的会话信息是所述用户和所述机器人之间的首次会话信息,若存在则判定生成的会话信息是所述用户和所述机器人之间的非首次会话信息。
本发明的另一个方面提供了一种会话清理装置,所述装置包括:解析模块,用于当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送;查找模块,用于在redis数据库中查找与解析出的key值相关联的目标会话标识符;比较模块,用于比较解析出的会话标识符和所述目标会话标识符是否一致;删除模块,用于在解析出的会话标识符和所述目标会话标识符一致时,在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
可选地,所述装置还包括:生成模块,用于在所述当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值之前,在生成用户与机器人之间的会话信息后,继续生成该会话信息的会话标识符;存储模块,用于将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库中与生成的会话信息和会话标识符相关联的key值;发送模块,用于将获取到的key值和生成的会话标识符发送至所述rocketmq。
本发明的再一个方面提供了一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述的会话清理方法。
本发明的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述任一实施例所述的会话清理方法。进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
考虑到rocketmq具有消息可靠性的特性,即其优先保证的是每一个消息都能被送达对端设备,故本发明利用rocketmq的消息可靠性和延迟发送机制来弥补redis监听机制的缺陷,能够很好的保证每条消息都能被监听到,从而保证能够及时且正确的清理过期的会话信息,保证机器人功能的正常运行。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一提供的会话清理方法的流程图;
图2示出了现有技术中会话清理方法的示意图;
图3示出了本发明实施例一提供的会话清理方法的示意图;
图4示出了本发明实施例二提供的会话清理装置的框图;
图5示出了本发明实施例三提供的适于实现会话清理方法的计算机设备的框图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
实施例一
一条会话信息可以为用户或机器人的问答信息,每产生一条会话信息,便会将该会话信息存储至对应的数据库中,以供机器人根据上一条的会话信息对用户提出的问题进行回答。现有技术中是将会话信息存储至redis数据库中,并且使用redis的定时监听机制监听用户是否结束会话,若监听到用户结束会话则从redis中删除该用户与机器人的所有会话信息,但是redis具有优先保证性能高可用的特性,当redis当前性能较差时,出于性能上的考虑,redis会暂停一些处理机制,使得redis无法做到对每一个过期会话进行清理,从而影响机器人的正常使用。为了克服上述缺陷,发明人考虑到mq数据库的消息中间件rocketmq具有消息可靠性的特性,即其优先保证的是每一个消息都能被送达对端设备,因此,每当用户和机器人之间产生一条会话信息之后,本发明除了将该会话信息存储至redis数据库之外,还会生成该会话信息的会话标识符并获取redis数据库中用于关联该用户的所有会话信息的key值,然后通过rocketmq将该会话标识符和key值存储至mq数据库,并且由rocketmq监听当前时间是否满足会话过期时间,若是则由rocketmq从mq数据库获取过期的会话标识符和对应的key值,然后向机器人返回包含该会话标识符和该key值的会话清理消息,机器人解析出会话清理消息中携带的会话标识符和key值,在redis数据库中查找与解析出的key值相关联且生成时间最短的会话标识符,比较这两个会话标识符是否一致,若一致表明在会话过期时间内redis数据库中都没有更新过会话信息,此时认为用户和机器人之间的会话终止,进而可以在redis数据库中查找并删除与解析出的key值相关联的所有会话信息,以保证机器人可顺利执行下一轮会话。由于rocketmq具有消息可靠性的特性,因此本提案利用rocketmq监听会话是否过期或终止能够保证每一个消息都能被送达机器人,弥补了redis监听机制的缺陷,从而使得机器人能够及时且正确的清理过期的会话信息,保证机器人功能的正常运行。具体地,图1示出了本发明实施例一提供的会话清理方法的流程图,如图1所示,该会话清理方法包括步骤S1~步骤S4,其中:
步骤S1,当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送。
每条会话信息具有一唯一的会话标识符,会话信息和会话标识符会被存储在redis数据库中,redis数据库会为每个用户分配一个key值,该key值与该用户的所有会话信息和所有会话标识符相关联,其中,key值可用于表征用户标识,如用户身份ID、用户编码等。在将会话信息和会话标识符存储在redis数据库之后,会获取对应的key值,并将该key值和本次的会话标识符发送至rocketmq,rocketmq会进一步将该key值和该会话标识符存储至mq数据库。其中,rocketmq是mq数据库的消息中间件,mq数据库中存储了彼此关联的会话标识符和key值,每个会话标识符具有一生成时间,预先设置了会话过期时间,当当前时间与会话标识符的生成时间之差等于会话过期时间时,rocketmq会生成包括该会话标识符和key值的会话清理消息,并将会话清理消息发送至机器人。
作为一种可选地实施例,在步骤S1之前,该会话清理方法还包括:
步骤A1,在生成用户与机器人之间的会话信息后,继续生成该会话信息的会话标识符;
步骤A2,将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库中与生成的会话信息和会话标识符相关联的key值;
步骤A3,将获取到的key值和生成的会话标识符发送至所述rocketmq。
每当产生一条用户和机器人之间的会话信息,便会及时生成该条会话信息的会话标识符,然后将该会话信息和会话标识符发送至redis数据库进行存储,并获取关联的key值,进一步将key值和会话标识符发送至rocketmq,以便当rocketmq监听获知该会话标识符已过期时,机器人能够根据对应的key值清理redis数据库中存储的所有过期会话信息。
步骤A2具体存在两种实现方案:
方案一,redis数据库存储用户所有会话信息的会话标识符。
方案二,redis数据库只存储最新生成的会话信息的会话标识符。具体地,步骤A2可以包括:
判断生成的会话信息是否为所述用户和所述机器人之间的首次会话信息;
当生成的会话信息是所述用户和所述机器人之间的首次会话信息时,直接将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值;
当生成的会话信息是所述用户和所述机器人之间的非首次会话信息时,在所述redis数据库中查找并删除与上一次获取到的key值相关联的会话标识符,将本次生成的会话信息和会话标识符存储至所述redis数据库,并继续获取所述redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值。
首次会话信息指的是本轮会话建立后,用户与机器人之间的首次对话。例如,可以判断在预设时间阈值内机器人是否与该用户建立过会话连接,若是则为非首次对话,若否则为首次对话。
若是首次对话,则redis数据库并不存在本轮会话中的任何会话标识符,则直接将生成的会话信息和会话标识符存储至所述redis数据库即可,同时redis数据库会赋予用户一个key值,通过该key值可以在redis数据库查找到与对应用户的所有数据,进一步,获取该key值,以便:a、将该key值和会话标识符发送至rocketmq;b、在redis数据库中存储用户的下一会话信息和会话标识符。
若是非首次对话,则在将会话信息和会话标识符存储至redis之前,先清理redis数据库中上一次存储的该用户的会话信息的会标识符,即在所述redis数据库中查找并删除与上一次获取到的key值相关联的所有会话信息,清理之后再将本次的会话信息和会话标识符存储至redis数据库,以保证redis数据库只存储最新生成的会话信息的会话标识符。同时,为了避免上一次获取到的key值被篡改从而影响后续数据处理的准确性,本次需再次获取redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值。
作为一种可选地实施例,所述判断生成的会话信息是否为所述用户和所述机器人之间的首次会话信息,包括:
从预设存储空间内筛选出与所述机器人相关联的所有会话属性表,其中,所述会话属性表包括会话起始时间和会话状态;
判断筛选出的会话属性表中是否存在与所述用户相关联的会话属性表;其中,若不存在则判定生成的会话信息是所述用户和所述机器人之间的首次会话信息,若存在则判定生成的会话信息是所述用户和所述机器人之间的非首次会话信息。
预设存储空间可以为机器人内安装的一存储介质中的部分或全部空间,还可以为外部存储设备中的部分或全部空间。会话属性表用于存储用户与机器人的会话属性,会话属性包括会话起始时间和会话状态,其中,当建立会话属性表之后会话状态被设置为启动状态。本实施例通过判断是否存在与机器人和用户同时关联的会话属性表来确定机器人和用户之间是否为首次会话,提高了判定结果的准确性。
步骤S2,在redis数据库中查找与解析出的key值相关联的目标会话标识符。
其中,目标会话标识符为生成时间最短的会话标识符。
当通过方案一实现步骤A3时,步骤S2包括:
在redis数据库中查找与解析出的key值相关联的所有会话标识符;
从查找出的所有会话标识符中筛选出生成时间最短的会话标识符,作为所述目标会话标识符。
由于redis数据库存储了该用户所有会话信息的会话标识符,因此通过key值查找的会话标识符存在多个,此时便需从这多个会话标识符中筛选出生成时间最短的会话标识符,作为该标会话标识符。
当通过方案二实现步骤A3时,步骤S2包括:
在redis数据库中查找与解析出的key值相关联的唯一一个会话标识符,作为所述目标会话标识符。
由于redis数据库存储的会话标识符已经是最新的且是唯一一个会话标识符,因此通过key值查找出的会话标识符即为该目标会话标识符。
步骤S3,比较解析出的会话标识符和所述目标会话标识符是否一致。
步骤S4,若一致,则在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
若mq数据库中存储的过期会话标识符和redis数据库中存储的最新会话标识符一致,则表明redis数据库中的会话标识符在会话过期时间内未被更新,也即用户与机器人之间没有进行新的对话,此时满足清理条件,在redis数据库查找出与解析出的key值相关联的所有会话信息,并删除这些会话信息。进一步,可将与该用户和该机器人相关联的会话属性表中的会话状态更改为结束状态。
图2示出了现有技术中会话清理方法的示意图。
如图2所示,机器人(anbot)将会话信息存储至redis数据库,然后由redis数据库监听用户与机器人之间是否结束会话,若是则通知机器人(如通知机器人的anlot-log服务,也可以是通知机器人的其他服务,本实施例对此不做限定),假设通知的是anlot-log服务,则由该服务从redis中删除用户和机器人在此轮对话中产生的所有会话信息。
现有技术存在的缺陷为:redis具有优先保证性能高可用的特性,因此redis无法保证对每一个过期的会话信息都进行及时的监听和清理,信息监听完全依赖redis的自动监听机制,且并不能监听到所有的消息,导致部分用户信息一直存在。
图3示出了本发明实施例一提供的会话清理方法的示意图。
如图3所示,机器人和用户对话后产生会话信息,机器人生成该会话信息的唯一标识符,即会话标识符(msgId),然后将会话信息和会话标识符存储至redis数据库中,并获取redis数据库中为该用户分配的key值,然后将该会话标识符和key值生成一条延迟消息发送给rocketmq,rocketmq将该会话标识符和key值存储至mq,当rocketmq监听到会话信息过期时,将包含对应的会话标识符和key值的会话清理消息发送至机器人(如发送给机器人的anlot-log服务,也可以是发送给机器人的其他服务,本实施例对此不做限定),假设发送至的是anlot-log服务,则anbot-log获取会话清理消息后,通过key值到redis数据库中查找最新的会话标识符,并比较该最新的会话标识符和会话清理消息中的会话标识符是否一致,若一致,说明这条会话信息在预设时间内没有被更新过,也即用户和机器人之间没有进行新的对话,此时满足清理条件,主动清理redis数据库中用户和机器人的所有会话信息。
实施例二
本发明的实施例二还提供了一种会话清理装置,该会话清理装置与上述实施例一提供的会话清理方法相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考上述实施例一。具体地,图4示出了本发明实施例二提供的会话清理装置的框图。如图4所示,该会话清理装置400包括解析模块401、查找模块402、比较模块403和删除模块404,其中:
解析模块401,用于当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送;
查找模块402,用于在redis数据库中查找与解析出的key值相关联的目标会话标识符;
比较模块403,用于比较解析出的会话标识符和所述目标会话标识符是否一致;
删除模块404,用于在解析出的会话标识符和所述目标会话标识符一致时,在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
可选地,所述装置还包括:生成模块,用于在所述当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值之前,在生成用户与机器人之间的会话信息后,继续生成该会话信息的会话标识符;存储模块,用于将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库中与生成的会话信息和会话标识符相关联的key值;发送模块,用于将获取到的key值和生成的会话标识符发送至所述rocketmq。
可选地,所述查找模块具体用于:在redis数据库中查找与解析出的key值相关联的所有会话标识符;从查找出的所有会话标识符中筛选出生成时间最短的会话标识符,作为所述目标会话标识符。
可选地,所述存储模块具体用于:判断生成的会话信息是否为所述用户和所述机器人之间的首次会话信息;当生成的会话信息是所述用户和所述机器人之间的首次会话信息时,直接将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值;当生成的会话信息是所述用户和所述机器人之间的非首次会话信息时,在所述redis数据库中查找并删除与上一次获取到的key值相关联的会话标识符,将本次生成的会话信息和会话标识符存储至所述redis数据库,并继续获取所述redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值。
可选地,所述查找模块具体用于:在redis数据库中查找与解析出的key值相关联的唯一一个会话标识符,作为所述目标会话标识符。
可选地,所述存储模块在执行判断生成的会话信息是否为所述用户和所述机器人之间的首次会话信息的步骤时,具体用于:从预设存储空间内筛选出与所述机器人相关联的所有会话属性表,其中,所述会话属性表包括会话起始时间和会话状态;判断筛选出的会话属性表中是否存在与所述用户相关联的会话属性表;其中,若不存在则判定生成的会话信息是所述用户和所述机器人之间的首次会话信息,若存在则判定生成的会话信息是所述用户和所述机器人之间的非首次会话信息。
实施例三
图5示出了本发明实施例三提供的适于实现会话清理方法的计算机设备的框图。本实施例中,计算机设备500可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,本实施例的计算机设备500至少包括但不限于:可通过系统总线相互通信连接的存储器501、处理器502、网络接口505。需要指出的是,图5仅示出了具有组件501-505的计算机设备500,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器505至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器501可以是计算机设备500的内部存储单元,例如该计算机设备500的硬盘或内存。在另一些实施例中,存储器501也可以是计算机设备500的外部存储设备,例如该计算机设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器501还可以既包括计算机设备500的内部存储单元也包括其外部存储设备。在本实施例中,存储器501通常用于存储安装于计算机设备500的操作系统和各类应用软件,例如会话清理方法的程序代码等,该会话清理方法包括:当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送;在redis数据库中查找与解析出的key值相关联的目标会话标识符;比较解析出的会话标识符和所述目标会话标识符是否一致;若一致,则在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
处理器502在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器502通常用于控制计算机设备500的总体操作。例如执行与计算机设备500进行数据交互或者通信相关的控制和处理等。本实施例中,处理器502用于运行存储器501中存储的会话清理方法的步骤的程序代码。
在本实施例中,存储于存储器501中的会话清理方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器502)所执行,以完成本发明。
网络接口505可包括无线网络接口或有线网络接口,该网络接口505通常用于在计算机设备500与其他计算机设备之间建立通信链接。例如,网络接口505用于通过网络将计算机设备500与外部终端相连,在计算机设备500与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
实施例四
本实施例四还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行时实现会话清理方法的步骤,该会话清理方法包括:当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送;在redis数据库中查找与解析出的key值相关联的目标会话标识符;比较解析出的会话标识符和所述目标会话标识符是否一致;若一致,则在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
需要说明的是,本发明实施例序号仅仅为了描述,并不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种会话清理方法,其特征在于,所述方法包括:
当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送;
在redis数据库中查找与解析出的key值相关联的目标会话标识符;
比较解析出的会话标识符和所述目标会话标识符是否一致;
若一致,则在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
2.根据权利要求1所述的方法,其特征在于,在所述当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值之前,所述方法还包括:
在生成用户与机器人之间的会话信息后,继续生成该会话信息的会话标识符;
将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库中与生成的会话信息和会话标识符相关联的key值;
将获取到的key值和生成的会话标识符发送至所述rocketmq。
3.根据权利要求2所述的方法,其特征在于,所述在redis数据库中查找与解析出的key值相关联的目标会话标识符,包括:
在redis数据库中查找与解析出的key值相关联的所有会话标识符;
从查找出的所有会话标识符中筛选出生成时间最短的会话标识符,作为所述目标会话标识符。
4.根据权利要求2所述的方法,其特征在于,所述将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库中与生成的会话信息和会话标识符相关联的key值,包括:
判断生成的会话信息是否为所述用户和所述机器人之间的首次会话信息;
当生成的会话信息是所述用户和所述机器人之间的首次会话信息时,直接将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值;
当生成的会话信息是所述用户和所述机器人之间的非首次会话信息时,在所述redis数据库中查找并删除与上一次获取到的key值相关联的会话标识符,将本次生成的会话信息和会话标识符存储至所述redis数据库,并继续获取所述redis数据库为所述用户分配的key值,作为与生成的会话信息和会话标识符相关联的key值。
5.根据权利要求4所述的方法,其特征在于,所述在redis数据库中查找与解析出的key值相关联的目标会话标识符,包括:
在redis数据库中查找与解析出的key值相关联的唯一一个会话标识符,作为所述目标会话标识符。
6.根据权利要求4所述的方法,其特征在于,所述判断生成的会话信息是否为所述用户和所述机器人之间的首次会话信息,包括:
从预设存储空间内筛选出与所述机器人相关联的所有会话属性表,其中,所述会话属性表包括会话起始时间和会话状态;
判断筛选出的会话属性表中是否存在与所述用户相关联的会话属性表;其中,若不存在则判定生成的会话信息是所述用户和所述机器人之间的首次会话信息,若存在则判定生成的会话信息是所述用户和所述机器人之间的非首次会话信息。
7.一种会话清理装置,其特征在于,所述装置包括:
解析模块,用于当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值,其中,所述会话清理消息由所述rocketmq监听获知当前时间满足会话过期时间时主动发送;
查找模块,用于在redis数据库中查找与解析出的key值相关联的目标会话标识符;
比较模块,用于比较解析出的会话标识符和所述目标会话标识符是否一致;
删除模块,用于在解析出的会话标识符和所述目标会话标识符一致时,在所述redis数据库中查找并删除与解析出的key值相关联的所有会话信息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
生成模块,用于在所述当接收到rocketmq发送的会话清理消息时,解析出所述会话清理消息中携带的会话标识符和key值之前,在生成用户与机器人之间的会话信息后,继续生成该会话信息的会话标识符;
存储模块,用于将生成的会话信息和会话标识符存储至所述redis数据库,并获取所述redis数据库中与生成的会话信息和会话标识符相关联的key值;
发送模块,用于将获取到的key值和生成的会话标识符发送至所述rocketmq。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210076820.3A CN114422576B (zh) | 2022-01-24 | 2022-01-24 | 一种会话清理方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210076820.3A CN114422576B (zh) | 2022-01-24 | 2022-01-24 | 一种会话清理方法、装置、计算机设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114422576A CN114422576A (zh) | 2022-04-29 |
CN114422576B true CN114422576B (zh) | 2024-02-06 |
Family
ID=81275625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210076820.3A Active CN114422576B (zh) | 2022-01-24 | 2022-01-24 | 一种会话清理方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114422576B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361433A (zh) * | 2022-07-27 | 2022-11-18 | 北京仁科互动网络技术有限公司 | 基于阻塞队列的会话结束方法、装置和电子设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342271A (ja) * | 2001-05-16 | 2002-11-29 | Hitachi Software Eng Co Ltd | ウェブアクセスにおける重複ログイン監視方法およびシステム |
GB201413049D0 (en) * | 2014-07-23 | 2014-09-03 | Gamma Telecom Ltd | Session Handling in a Communications Network |
CN109981715A (zh) * | 2017-12-28 | 2019-07-05 | 中移信息技术有限公司 | 一种会话管理的方法及装置 |
WO2019189029A1 (ja) * | 2018-03-29 | 2019-10-03 | 日本電信電話株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
CN110321230A (zh) * | 2018-03-28 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 一种用于处理排行榜信息的系统、方法及计算机设备 |
CN111131382A (zh) * | 2019-11-15 | 2020-05-08 | 泰康保险集团股份有限公司 | 一种消息监听方法和装置 |
CN111416833A (zh) * | 2019-01-08 | 2020-07-14 | 北京京东尚科信息技术有限公司 | 一种判断会话结束的方法和装置 |
CN111901224A (zh) * | 2020-07-24 | 2020-11-06 | 中国平安财产保险股份有限公司 | 延时消息加载方法、装置、设备及计算机可读存储介质 |
CN112579754A (zh) * | 2020-12-18 | 2021-03-30 | 深圳云之家网络有限公司 | 智能机器人的会话交互方法、装置、计算机设备 |
CN112783618A (zh) * | 2020-12-30 | 2021-05-11 | 银盛支付服务股份有限公司 | 一种任务调度监控系统、计算机设备及存储介质 |
CN112905360A (zh) * | 2021-03-30 | 2021-06-04 | 杭州一知智能科技有限公司 | 一种基于文本会话场景的客服方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10614440B2 (en) * | 2018-07-09 | 2020-04-07 | Capital One Services, Llc | Systems and methods for real-time, distributed processing of group bill payments |
-
2022
- 2022-01-24 CN CN202210076820.3A patent/CN114422576B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342271A (ja) * | 2001-05-16 | 2002-11-29 | Hitachi Software Eng Co Ltd | ウェブアクセスにおける重複ログイン監視方法およびシステム |
GB201413049D0 (en) * | 2014-07-23 | 2014-09-03 | Gamma Telecom Ltd | Session Handling in a Communications Network |
CN109981715A (zh) * | 2017-12-28 | 2019-07-05 | 中移信息技术有限公司 | 一种会话管理的方法及装置 |
CN110321230A (zh) * | 2018-03-28 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 一种用于处理排行榜信息的系统、方法及计算机设备 |
WO2019189029A1 (ja) * | 2018-03-29 | 2019-10-03 | 日本電信電話株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
CN111416833A (zh) * | 2019-01-08 | 2020-07-14 | 北京京东尚科信息技术有限公司 | 一种判断会话结束的方法和装置 |
CN111131382A (zh) * | 2019-11-15 | 2020-05-08 | 泰康保险集团股份有限公司 | 一种消息监听方法和装置 |
CN111901224A (zh) * | 2020-07-24 | 2020-11-06 | 中国平安财产保险股份有限公司 | 延时消息加载方法、装置、设备及计算机可读存储介质 |
CN112579754A (zh) * | 2020-12-18 | 2021-03-30 | 深圳云之家网络有限公司 | 智能机器人的会话交互方法、装置、计算机设备 |
CN112783618A (zh) * | 2020-12-30 | 2021-05-11 | 银盛支付服务股份有限公司 | 一种任务调度监控系统、计算机设备及存储介质 |
CN112905360A (zh) * | 2021-03-30 | 2021-06-04 | 杭州一知智能科技有限公司 | 一种基于文本会话场景的客服方法及系统 |
Non-Patent Citations (1)
Title |
---|
基于集群节点间即时拷贝的会话同步技术研究;曹海涛;胡牧;蒋厚明;;计算机系统应用(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114422576A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111555963B (zh) | 消息推送方法、装置、电子设备及存储介质 | |
US9883386B2 (en) | Method and a server for managing profiles | |
CN105847447B (zh) | 消息推送方法和装置 | |
CN104580085B (zh) | 业务数据更新方法、系统、客户端及服务器 | |
CN109451078B (zh) | 一种分布式架构下的事务处理方法和装置 | |
CN114422576B (zh) | 一种会话清理方法、装置、计算机设备和可读存储介质 | |
CN105450682A (zh) | 一种用于数据同步保存、向客户端同步数据的方法、装置和系统 | |
CN112039718A (zh) | 升级状态检测方法、服务端、设备及存储介质 | |
CN111176706A (zh) | 终端升级方法、装置、电子设备及存储介质 | |
CN103957230A (zh) | 一种客户端用户数确定方法、服务器、客户端及系统 | |
CN110300140B (zh) | 用于云分发网络中内容更新的方法、刷新客户端及网络节点 | |
CN107608722B (zh) | 应用程序下载方法及装置 | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN113821414B (zh) | 一种服务器保护方法、装置、电子设备及存储介质 | |
CN114928610A (zh) | 数据更新的通知方法、数据处理方法、装置、设备和介质 | |
CN112328701A (zh) | 数据同步方法、终端设备及计算机可读存储介质 | |
CN110944037A (zh) | 客户端缓存更改配置的方法、计算机设备和存储介质 | |
CN110784518A (zh) | 一种静态资源获取方法与装置 | |
CN113608817B (zh) | 弹框处理方法及系统 | |
CN114090112B (zh) | 配置文件的加载方法和装置、存储介质及电子装置 | |
CN112769585B (zh) | 网络设备的管理方法、装置及系统 | |
CN112804371B (zh) | 一种域名解析处理方法及装置 | |
CN114676145B (zh) | 数据处理方法以及数据核对系统 | |
CN116302009B (zh) | 一种基于无线路由器的软件更新方法及装置 | |
CN112732757B (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 |