CN111988198B - 在线用户人数统计方法、装置、电子设备及计算机介质 - Google Patents
在线用户人数统计方法、装置、电子设备及计算机介质 Download PDFInfo
- Publication number
- CN111988198B CN111988198B CN202010763003.6A CN202010763003A CN111988198B CN 111988198 B CN111988198 B CN 111988198B CN 202010763003 A CN202010763003 A CN 202010763003A CN 111988198 B CN111988198 B CN 111988198B
- Authority
- CN
- China
- Prior art keywords
- user
- session
- event
- online
- preset type
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- 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/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及互联网通信技术,揭露了一种在线用户人数统计方法,包括:监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作;根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。进一步地,在应用于分布式系统中时,其中一个后台服务监听到预设类型事件时,基于会话通知机制将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行相同的会话创建或者注销操作。本发明还提出一种在线用户人数统计装置、电子设备以及计算机可读存储介质。本发明可以解决统计在线用户人数时占用资源多、结果不精确的问题。
Description
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种在线用户人数统计方法、装置、电子设备及计算机可读存储介质。
背景技术
在进行在线用户人数的统计中,如何监控用户的上线和下线对于统计结果的准确性至关重要。在现有的在线用户人数统计方案中,大多数是采用前后端保持心跳或者长连接的方式来监控用户是否在线。但发明人发现,随着用户的增多,这种方法会使得系统负荷越来越大,严重浪费系统资源。
进一步地,对于分布式系统来说,任何一个后台服务只能统计在本地上线或者下线的用户的数量,而对于其他后台服务的在线人数并不清楚,而且还有可能发生同一个用户在不同后台服务重复登录的情况,因此,分布式系统中任何一个后台服务统计的在线人数都是不准确的。此外,有些分布式系统还需要引入额外的状态服务器来存储用户在线信息,在用户和访问量比较小的情况下势必会造成资源利用率的降低。
发明内容
本发明提供一种在线用户人数统计方法、装置、电子设备及计算机可读存储介质,其主要目的在于解决统计在线用户人数时占用资源多、结果不精确及资源利用率低的问题。
为实现上述目的,本发明提供的一种在线用户人数统计方法,包括:
监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作;
根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。
进一步地,为实现上述目的,本发明还提供一种在线用户人数统计装置,所述装置包括:
会话创建/注销模块,用于监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作;
在线用户人数统计模块,用于根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。
进一步地,为实现上述目的,本发明还提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述在线用户人数统计方法。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述在线用户人数统计方法。
本发明实施例通过监听预设类型事件来执行会话的创建或注销,从而判断用户的上线或者下线,不需要与用户端建立长连接或保持心跳数,因此减轻了后台服务的系统负荷,释放了后台服务对用户在线进行判断时的系统资源。
可选地,所述监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作,包括:
分布式系统中的其中一个后台服务监听到预设类型事件时,根据监听到的预设类型事件,在本地执行会话创建或者注销操作;
将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行相同的会话创建或者注销操作。
本发明实施例将创建或注销的会话发送给分布式系统中的所有后台服务,使得所有后台服务进行相同的会话创建或注销操作,保证所有后台服务中数据的一致性,因此可以在任一后台服务中准确地统计出在线人数。
可选地,所述预设类型事件包括:用户登录事件、用户手动下线退出事件、管理员强制下线事件、用户长时间未操作事件和会话页面关闭事件。
可选地,所述分布式系统中的其中一个后台服务监听到预设类型事件时,将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行会话创建或者注销操作,包括:
在监听到用户登录事件时,对用户登录信息进行校验,校验通过后从所述用户登录信息中获取用户的唯一标识,创建一个包含所述用户唯一标识的会话,将所述会话存储在本地;
将所述创建的会话发送至所有后台服务中;
当任意一台后台服务接收所述会话后,将所述会话存储在本地。
可选地,所述分布式系统中的其中一个后台服务监听到预设类型事件时,将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行会话创建或者注销操作,还包括:
在监听到用户手动下线退出事件、管理员强制下线事件、用户长时间未操作事件或会话页面关闭事件中的任何一个事件时,获取该事件对应的用户唯一标识,并根据所述用户唯一标识在本地查找对应的会话,并对该会话执行注销操作将该会话在本地移除;
将所述注销的会话发送至所有后台服务中;
当任意一台后台服务接收所述注销会话后,根据对应的用户唯一标识在本地将对应的会话移除。
本发明实施例中,任一后台服务中执行会话创建或者注销操作均会将所述创建或者注销操的会话直接通知给其他所有的后台服务而不需要通过引入状态服务器来实现,因此提高了资源利用率。
可选地,该方法还包括:
通过onunload事件或onbeforeunload事件监听会话页面关闭事件。
本发明实施例通过onunload事件或onbeforeunload事件监听会话页面关闭事件,而不用等待会话失效,因此下线状态的判断更加高效、实时。
可选地,所述在监听到用户登录事件时,对用户登录信息进行校验包括:
根据用户登录信息中的用户的唯一标识和密码,判断用户是否是授权用户;
在所述用户的唯一标识或者密码中的任意一项与预先存储信息不匹配时,校验不通过,禁止用户登录;
在所述用户的唯一标识及密码与预先存储信息都匹配时,校验通过,准许用户登录。
本发明实施例中分布式系统中的每个后台服务都具有相同的会话创建或者注销的数据,因此,根据用户的唯一标识判断用户是否已经在其他后台服务中登录,避免了用户重复登录导致的被多次统计的问题,提高了在线用户统计的准确性。
综上所述,本发明实施例提供的在线用户人数统计方法、装置、电子设备及计算机可读存储介质通过预设类型事件的监听等解决了现有方法中统计在线用户人数时占用资源多、结果不精确及资源利用率低的问题。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的在线用户人数统计方法的应用环境示意图;
图2为本发明第一实施例提供的在线用户人数统计方法的实施流程图;
图3为本发明第二实施例提供的在线用户人数统计方法的实施流程图;
图4为本发明第三实施例提供的在线用户人数统计方法中的数据交互示意图;
图5为本发明第四实施例提供的在线用户人数统计装置的模块示意图;
图6为本发明第五实施例提供的实现在线用户人数统计方法的电子设备的内部结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明实施方式涉及一种在线用户人数统计方法,本实施方式通过监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作;并根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。进一步地,本发明实施例在应用于分布式系统中时,所述分布式系统中任意一个后台服务监听到预设类型事件时,在本地执行会话创建或者注销操作,并基于会话通知机制将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行相同的会话创建或者注销操作。利用本发明实施例执行在线用户人数统计,系统负荷小,准确率高,且不需要额外的状态服务器来存储用户在线状态。下面对本实施方式的在线用户人数统计的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
参照图1所示,是本发明实施例中所述在线用户人数统计方法的较佳实施例的应用环境示意图。
本发明实施例所述在线用户人数统计方法可以应用在单独的一台服务器中,也可以应用在分布式系统中。较佳地,如图1所示,本发明实施例中所述在线用户人数统计方法应用于分布式系统中,所述分布式系统包括多个后台服务2,每一个所述后台服务2都可以连接有多个用户端3。
本发明实施例中,所述分布式系统中的任何一个后台服务2监听到任何一个用户端3发生了预设类型事件时,在本地执行会话创建或者注销操作,并基于会话通知机制将创建或者注销的会话发送所述分布式系统中的所有后台服务2,并在所述所有后台服务2中执行相同的会话创建或者注销操作。本发明实施例中,所述预设类型事件包括,但不限于:用户登录事件、用户手动下线退出事件、管理员强制下线事件、用户长时间未操作事件和会话页面关闭事件等。
较佳地,所述会话通知机制是基于redis会话共享实现的,所述redis会话共享通过在所述分布式系统中每一个后台服务2设置redis缓存来保存用户登录信息,并将所述用户登录信息等通知所有的后台服务2。
本发明实施例基于redis会话共享实现所述会话通知机制,而不必引入额外的状态服务器,避免在用户和访问量比较小的情况下额外占用计算资源。
本发明实施例中,任一后台服务2在执行会话创建或者注销操作时,所述分布式系统中的所有其它后台服务2都会被通知到,并执行相同的会话创建或者注销操作,保证了全部后台服务2中的存储数据的一致性,从而使得通过任何一个后台服务2都可以执行准确的用户端3的在线用户人数统计。
具体地,本发明实施例所述在线用户人数统计方法的详细实施方式可以参阅下述的图2至图4的描述。
如图2所示,是本发明在线用户人数统计方法的第一较佳实施例的方法实施流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
图2所示所述在线用户人数统计方法的第一较佳实施例应用于至少一个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
本发明所述在线用户人数统计方法的第一较佳实施例可以解决现有技术中通过建立长连接或增加心跳数方式进行在线用户人数统计而导致的系统负荷重、浪费系统资源的问题,详细包括如下步骤:
S1、监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作。
本发明较佳实施例中,所述预设类型事件包括,但不限于:用户登录事件、用户手动下线退出事件、管理员强制下线事件、用户长时间未操作事件和会话页面关闭事件等。
详细地,在监听到用户登录事件时,本发明实施例对用户登录信息进行校验,校验通过后从所述用户登录信息中获取用户的唯一标识,创建一个包含所述用户唯一标识的会话,将所述会话存储在本地;在监听到用户手动下线退出事件、管理员强制下线事件、用户长时间未操作事件或会话页面关闭事件中的任何一个事件时,获取该事件对应的用户唯一标识,并根据所述用户唯一标识在本地查找对应的会话,并对该会话执行注销操作将该会话在本地移除。
具体地,所述在监听到用户登录事件时,对用户登录信息进行校验,包括:
根据用户登录信息中的用户的唯一标识和密码,判断用户是否是授权用户;
在所述用户的唯一标识或者密码中的任意一项与预先存储信息不匹配时,校验不通过,禁止用户登录;
在所述用户的唯一标识及密码与预先存储信息都匹配时,校验通过,准许用户登录。
进一步地,在本发明其他实施例中,所述在监听到用户登录事件时,对用户登录信息进行校验,还包括:
在所述用户的唯一标识及密码与预先存储信息都匹配时,根据所述用户的唯一标识在本地进行检索;
若本地存储有所述用户的唯一标识对应的会话,则校验不通过,禁止用户登录;
若本地没有存储所述用户登录信息对应的会话,校验通过,准许用户登录。
本发明实施例中分布式系统中的每个后台服务都具有相同的会话创建或者注销的数据,因此,根据用户的唯一标识判断用户是否已经在其他后台服务中登录,避免了用户重复登录导致的被多次统计的问题,提高了在线用户统计的准确性。
进一步地,本发明实施例通过下述方法进行预设类型事件的监听:
1、用户端在登录时,向后台服务发送登录请求时,任何一个后台服务收到了所述登录请求且登录请求验证通过时,确定监听到了用户登录事件;
2、用户端手动点了下线按钮时向后台服务发送一条下线请求,任何一个后台服务收到所述下线请求时,确定监听到了用户手动下线退出事件;
3、管理员根据需要,利用用户的唯一标识向后台服务发送强制下线请求,任何一个后台服务收到管理员发送的所述强制下线请求时,确定监听到了管理员强制下线事件;
4、用户端在任何一个后台服务登录成功之后,用户端可以启动一个定时器并开始计时,当用户端与后台服务每交互一次,该定时器会清零并重新开始计时,当用户长时间未操作并且定时器计时达到阈值后,用户端向后台服务发送一条强制下线请求并强制用户下线,后台服务接收所述用户端发送的强制下线请求时,确定监听到了用户长时间未操作事件。
5、用户端使用onunload或onbeforeunload监听用户是否执行了会话页面关闭操作,当所述会话页面关闭操作发生时用户端向后台服务发送一个用户下线消息,后台服务接收所述用户端发送的用户下线消息时,确定监听到了会话页面关闭事件。
本发明实施例通过onunload事件或onbeforeunload事件监听会话页面关闭事件,而不用等待会话失效,因此下线状态的判断更加高效、实时。
S2、根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。
本发明实施例中,当创建了一个用户的会话时,表示有一个用户上线,当注销了一个用户的会话时,表示有一个用户下线。本发明实施例根据所述用户的上线或者下线统计当前在线用户人数。
本发明实施例通过监听预设类型事件来执行会话的创建或注销,从而判断用户的上线或者下线,不需要与用户端建立长连接或保持心跳数,因此减轻了后台服务的系统负荷,释放了后台服务的系统资源。
进一步地,上述图2所述在线用户人数统计方法可以应用于分布式系统中。参阅图3所示,是本发明在线用户人数统计方法的第二较佳实施例的方法实施流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
图3所示在线用户人数统计方法应用于多个电子设备中,所述多个电子设备通过网络实现通讯互联。所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
本发明所述在线用户人数统计方法的第二较佳实施例可以实现在分布式系统中准确统计在线用户人数。详细地,参阅图3所示,在分布式系统中进行在线用户人数统计时,包括:
S10、分布式系统中的其中一个后台服务监听到预设类型事件时,根据监听到的预设类型事件,在本地执行会话创建或者注销操作;
S11、基于会话通知机制将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行会话创建或者注销操作。
S12、在分布式系统中任何一个后台服务中,根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。
较佳地,所述会话通知机制是基于redis会话共享实现的,所述redis会话共享通过在所述分布式系统中每一个后台服务设置redis缓存来保存用户登录信息,并将所述用户登录信息发送所有的后台服务。
本发明实施例基于redis会话共享实现所述会话通知机制,而不必引入额外的状态服务器,节省了资源的占用。
本发明实施例基于会话通知机制将创建或注销的会话发送给分布式系统中的所有后台服务,使得所有后台服务进行相同的会话创建或注销操作,保证所有后台服务中数据的一致性,因此可以在任一后台服务中准确地统计出在线人数。
为了更加清楚地了解本发明,下面通过一个第三实施例进一步解释本发明实施例在分布式系统中进行在线用户人数统计时的数据交互情况。
参阅图4所示,分布式系统中包括后台服务a、后台服务b及后台服务c,所述后台服务a、后台服务b及后台服务c中均包括会话管理单元,所述会话管理单元即前述的redis缓存。
本发明实施例中,用户A通过用户端登录时,用户端向后台服务a发送用户A的用户登录信息,所述后台服务a对用户A的用户登录信息进行校验,校验通过后从所述用户A的用户登录信息中获取用户的唯一标识,创建包含所述用户A的唯一标识的会话,将所述会话存储在后台服务a的会话管理单元;后台服务a的会话管理单元利用会话通知机制将所述创建的用户A的会话发送至后台服务b及后台服务c中;所述后台服务b及后台服务c接收所述会话后,将所述会话存储在本地的会话管理单元。
同理,用户B通过用户端登录时,用户端向后台服务b发送用户B的用户登录信息,所述后台服务b对用户B的用户登录信息进行校验,校验通过后从所述用户B的用户登录信息中获取用户的唯一标识,创建包含所述用户B的唯一标识的会话,将所述会话存储在后台服务b的会话管理单元;后台服务b的会话管理单元利用会话通知机制将所述创建的用户B的会话发送至后台服务a及后台服务c中;所述后台服务a及后台服务c接收所述会话后,将所述会话存储在本地的会话管理单元。
此时,通过所述分布式系统中任一后台服务中查询当前在线用户数,所述后台服务都可以返回当前在线用户数为2个。
进一步地,当后台服务c监听到用户A执行了手动下线退出事件时,获取用户A对应的用户唯一标识,并根据所述用户唯一标识在本地查找对应的会话,并对该会话执行注销操作将该会话存储在本地移除,并利用所述会话通知机制将所述注销的会话发送至后台服务a及后台服务b中;所述后台服务a及后台服务b接收所述注销会话后,根据对应的用户唯一标识在本地将对应的会话注销并移除。
此时,通过所述分布式系统中任一后台服务中查询当前在线用户数,所述后台服务都可以返回当前在线用户数为1个。
如图5所示,是本发明第四实施例提供的在线用户人数统计装置的模块示意图。
本发明所述在线用户人数统计装置100可以安装于电子设备中。根据实现的功能,所述在线用户人数统计装置100可以包括会话创建/注销模块101和在线用户人数统计模块102。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
会话创建/注销模块101,用于监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作;
在线用户人数统计模块102,用于根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。
进一步地,在所述在线用户人数统计装置100安装于分布式系统中的其中一个电子设备中时,所述会话创建/注销模块101还可以用于将创建或者注销的会话发送分布式系统中的所有其他的电子设备,以在所述所有电子设备中执行相同的会话创建或者注销操作。
本申请所提供的装置中的模块能够在使用时,对在线用户人数进行统计,其在具体运行时采用上述的图2至图4对应的方法实施例一样的技术手段,并产生一样的技术效果,这里不再赘述。
如图6所示,是本发明实现在线用户人数统计方法的电子设备的结构示意图。
所述电子设备1可以是一台服务器,并包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如在线用户人数统计程序12。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如在线用户人数统计程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行在线用户人数统计程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图6示出了具有部件的电子设备,本领域技术人员可以理解的是,图6出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的在线用户人数统计程序12是多个指令的组合,在所述处理器10中运行时,可以实现:
监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作;
根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。
进一步地,在应用于分布式系统中,所述在线用户人数统计程序12在所述处理器10中运行时,还可以实现:
将创建或者注销的会话发送所述分布式系统中的所有电子设备,以在所述所有电子设备中执行相同的会话创建或者注销操作。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图表记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (8)
1.一种在线用户人数统计方法,其特征在于,所述方法包括:
监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作,具体包括:分布式系统中的其中一个后台服务监听到预设类型事件时,根据监听到的预设类型事件,在本地执行会话创建或者注销操作;将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行相同的会话创建或者注销操作;其中所述预设类型事件包括:用户登录事件、用户手动下线退出事件、管理员强制下线事件、用户长时间未操作事件和会话页面关闭事件;
根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。
2.如权利要求1所述的在线用户人数统计方法,其特征在于,所述分布式系统中的其中一个后台服务监听到预设类型事件时,将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行会话创建或者注销操作,包括:
在监听到用户登录事件时,对用户登录信息进行校验,校验通过后从所述用户登录信息中获取用户的唯一标识,创建一个包含所述用户唯一标识的会话,将所述会话存储在本地;
将所述创建的会话发送至所有后台服务中;
当任意一台后台服务接收所述会话后,将所述会话存储在本地。
3.如权利要求2所述的在线用户人数统计方法,其特征在于,所述分布式系统中的其中一个后台服务监听到预设类型事件时,将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行会话创建或者注销操作,还包括:
在监听到用户手动下线退出事件、管理员强制下线事件、用户长时间未操作事件或会话页面关闭事件中的任何一个事件时,获取该事件对应的用户唯一标识,并根据所述用户唯一标识在本地查找对应的会话,并对该会话执行注销操作,将该会话在本地移除;
将所述注销的会话发送至所有后台服务中;
当任意一台后台服务接收所述注销会话后,根据对应的用户唯一标识在本地将对应的会话移除。
4.如权利要求1至3中任意一项所述的在线用户人数统计方法,其特征在于,该方法还包括:
通过onunload时间或onbeforeunload时间监听会话页面关闭事件。
5.如权利要求2所述的在线用户人数统计方法,其特征在于,所述在监听到用户登录事件时,对用户登录信息进行校验包括:
根据用户登录信息中的用户的唯一标识和密码,判断用户是否是授权用户;
在所述用户的唯一标识或者密码中的任意一项与预先存储信息不匹配时,校验不通过,禁止用户登录;
在所述用户的唯一标识及密码与预先存储信息都匹配时,校验通过,准许用户登录。
6.一种在线用户人数统计装置,其特征在于,所述装置包括:
会话创建/注销模块,用于监听预设类型事件,根据监听到的预设类型事件,执行会话创建或者注销操作,具体包括:分布式系统中的其中一个后台服务监听到预设类型事件时,根据监听到的预设类型事件,在本地执行会话创建或者注销操作;将创建或者注销的会话发送所述分布式系统中的所有后台服务,并在所述所有后台服务中执行相同的会话创建或者注销操作;其中所述预设类型事件包括:用户登录事件、用户手动下线退出事件、管理员强制下线事件、用户长时间未操作事件和会话页面关闭事件;
在线用户人数统计模块,用于根据所述会话创建或者注销操作,判断用户的上线或者下线,并根据用户的上线或者下线统计当前在线用户人数。
7.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5中任一所述的在线用户人数统计方法。
8.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一所述的在线用户人数统计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010763003.6A CN111988198B (zh) | 2020-07-31 | 2020-07-31 | 在线用户人数统计方法、装置、电子设备及计算机介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010763003.6A CN111988198B (zh) | 2020-07-31 | 2020-07-31 | 在线用户人数统计方法、装置、电子设备及计算机介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988198A CN111988198A (zh) | 2020-11-24 |
CN111988198B true CN111988198B (zh) | 2022-02-25 |
Family
ID=73445536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010763003.6A Active CN111988198B (zh) | 2020-07-31 | 2020-07-31 | 在线用户人数统计方法、装置、电子设备及计算机介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988198B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541023A (zh) * | 2020-12-29 | 2021-03-23 | 深圳市即构科技有限公司 | 在线人数统计方法、电子装置及存储介质 |
CN112600683B (zh) * | 2021-03-05 | 2021-06-18 | 全时云商务服务股份有限公司 | 一种云会议信令控制方法、系统和可读存储介质 |
CN114222153B (zh) * | 2021-12-08 | 2024-03-12 | 北京百度网讯科技有限公司 | 在线用户数量统计方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237351A (zh) * | 2008-02-27 | 2008-08-06 | 中兴通讯股份有限公司 | 用于登录用户的在线离线状态控制方法 |
CN105471991A (zh) * | 2015-11-23 | 2016-04-06 | 湖北文理学院 | 电子商务系统的用户管理方法 |
US9699171B1 (en) * | 2014-06-23 | 2017-07-04 | Symantec Corporation | Systems and methods for logging out of cloud-based applications managed by single sign-on services |
CN108255567A (zh) * | 2018-01-30 | 2018-07-06 | 北京智行鸿远汽车有限公司 | 一种基于Application的Web在线人员管理方法及系统 |
CN111464534A (zh) * | 2020-03-31 | 2020-07-28 | 深圳市思迪信息技术股份有限公司 | 分布式系统中会话保持方法及装置 |
-
2020
- 2020-07-31 CN CN202010763003.6A patent/CN111988198B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237351A (zh) * | 2008-02-27 | 2008-08-06 | 中兴通讯股份有限公司 | 用于登录用户的在线离线状态控制方法 |
US9699171B1 (en) * | 2014-06-23 | 2017-07-04 | Symantec Corporation | Systems and methods for logging out of cloud-based applications managed by single sign-on services |
CN105471991A (zh) * | 2015-11-23 | 2016-04-06 | 湖北文理学院 | 电子商务系统的用户管理方法 |
CN108255567A (zh) * | 2018-01-30 | 2018-07-06 | 北京智行鸿远汽车有限公司 | 一种基于Application的Web在线人员管理方法及系统 |
CN111464534A (zh) * | 2020-03-31 | 2020-07-28 | 深圳市思迪信息技术股份有限公司 | 分布式系统中会话保持方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111988198A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988198B (zh) | 在线用户人数统计方法、装置、电子设备及计算机介质 | |
CN106557407B (zh) | 一种设备负载的监控方法和装置 | |
CN111181804A (zh) | 智能设备离线状态自动检测方法、装置、电子设备及介质 | |
WO2023056943A1 (zh) | 基于物联网规则引擎的终端控制方法、装置、设备及介质 | |
CN110046070B (zh) | 服务器集群系统的监控方法、装置、电子设备及存储介质 | |
CN112015663B (zh) | 测试数据录制方法、装置、设备及介质 | |
CN106506484B (zh) | 一种数据备份的方法、装置及系统 | |
CN114124968B (zh) | 基于行情数据的负载均衡方法、装置、设备及介质 | |
CN110647409B (zh) | 消息写入方法、电子设备、系统及介质 | |
CN112631806A (zh) | 异步消息排列及调度方法、装置、电子设备及存储介质 | |
CN113259446A (zh) | 基于用户忠诚度的app消息发送方法、装置、设备及介质 | |
CN112702228A (zh) | 服务限流响应方法、装置、电子设备及可读存储介质 | |
CN111694843A (zh) | 缺失号码检测方法、装置、电子设备及存储介质 | |
CN114978883A (zh) | 网络唤醒的管理方法、装置、电子设备及存储介质 | |
CN111401691A (zh) | 业务进度监控方法、装置及计算机可读存储介质 | |
CN109800085B (zh) | 资源配置的检测方法、装置、存储介质和电子设备 | |
CN113360321B (zh) | 微服务重试调用方法、装置、电子设备及存储介质 | |
WO2022088803A1 (zh) | 基于云环境的系统信息分析方法、装置、电子设备及介质 | |
CN110635956A (zh) | 一种设备管理方法、平台、系统、设备及存储介质 | |
CN113378624A (zh) | 基于网关设备的数据传输方法、系统、电子设备及介质 | |
CN112487454A (zh) | 一种数据管理方法、装置、设备及存储介质 | |
CN115373826B (zh) | 一种基于云计算的任务调度方法及装置 | |
CN114675976B (zh) | 基于kubernetes的GPU共享方法、装置、设备及介质 | |
CN110619541A (zh) | 应用程序管理方法、装置、计算机设备及存储介质 | |
WO2020019471A1 (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 |