CN105933217A - 消息同步方法及平台、网络服务器和适配服务器 - Google Patents

消息同步方法及平台、网络服务器和适配服务器 Download PDF

Info

Publication number
CN105933217A
CN105933217A CN201610553213.6A CN201610553213A CN105933217A CN 105933217 A CN105933217 A CN 105933217A CN 201610553213 A CN201610553213 A CN 201610553213A CN 105933217 A CN105933217 A CN 105933217A
Authority
CN
China
Prior art keywords
message
connection
request
server
browser
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.)
Granted
Application number
CN201610553213.6A
Other languages
English (en)
Other versions
CN105933217B (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.)
Yuanxin Information Technology Group Co ltd
Original Assignee
Yuanxin Technology
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 Yuanxin Technology filed Critical Yuanxin Technology
Priority to CN201610553213.6A priority Critical patent/CN105933217B/zh
Publication of CN105933217A publication Critical patent/CN105933217A/zh
Application granted granted Critical
Publication of CN105933217B publication Critical patent/CN105933217B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了消息同步方法及平台、网络服务器和适配服务器,所述方法包括:通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;使得适配服务器根据通过第二连接接收的所述消息接收请求获取对应的消息;若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接。本发明实施例中,及时断开第一、二连接,释放了为维护第一、二连接所需的系统资源;大大降低了平台工作压力,能够增加浏览器的接入数量和/或及时对浏览器的请求进行响应,提升了消息同步的效率,提升了资源利用率和用户体验。

Description

消息同步方法及平台、网络服务器和适配服务器
技术领域
本发明涉及通信技术领域,具体而言,本发明涉及一种消息同步方法及平台、网络服务器和适配服务器。
背景技术
随着技术的发展,具有即时通信功能的终端设备,例如智能手机、平板电脑、智能穿戴设备和电脑等,已经广泛普及。用户通过终端设备进行即时通信已经成为普遍需求。由于受到浏览器本身的机制和信令的限制,基于终端设备中的浏览器进行即时通信,终端设备的消息同步的实时性、高效性上存在技术难点。
目前,一种现有的消息同步系统,包括:WEB(网络)浏览器、WEB服务器、WEB即时消息网关和IM(Instant Messaging,即时通讯)服务器。
该消息同步系统的消息同步方法包括:WEB服务器接收WEB浏览器发送的用户HTTP请求后,根据请求信息调用WEB即时消息网关提供的相应服务或应用API,并将HTTP请求转发给WEB即时消息网关,维护HTTP会话;WEB即时消息网关将接收的HTTP请求转发至IM服务器;IM服务器响应HTTP请求,将响应信息依次经由WEB即时消息网关、WEB服务器返回至WEB浏览器。
然而,本发明的发明人发现,利用现有的消息同步方法进行消息同步,即使请求的响应信息已返回WEB浏览器,在WEB浏览器与WEB服务器之间、以及WEB服务器与WEB即时消息网关之间的长连接超时之前,依然保持这些长连接;占用WEB服务器和WEB即时消息网关大量的系统资源(例如网络带宽和缓存空间等资源),容易降低其它WEB浏览器的接入数量和/或降低对其它WEB浏览器的请求的响应速度,导致消息同步的效率低下,容易导致降低其它WEB浏览器的用户的体验。
发明内容
本发明针对现有方式的缺点,提出一种消息同步方法及平台、网络服务器和适配服务器,用以解决现有技术存在的消息同步效率较低的问题。
本发明的实施例根据第一个方面,提供了一种消息同步方法,包括:
通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;使得适配服务器根据通过第二连接接收的所述消息接收请求获取对应的消息;
若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接。
较佳地,所述消息同步方法还包括:若在第一时段内检测到第二连接断开,则向所述浏览器返回空响应后,断开第一连接。
较佳地,所述转发所述消息接收请求,具体包括:
将接收的符合安全超文本传送协议的消息接收请求转换为符合超文本传送协议的格式后通过第二连接进行转发;以及
所述向所述浏览器返回接收到的消息,具体包括:将通过第二连接接收的符合超文本传送协议的消息转换为符合安全超文本传送协议的消息后,向所述浏览器返回。
较佳地,在所述接收到所述消息接收请求之前,还包括:
通过第一连接接收到所述浏览器的登陆请求后,根据持久化数据库集群中的用户信息,对所述登陆请求中的用户标识进行鉴权;
鉴权通过后,生成所述用户标识的登陆状态信息并通过第二连接转发;使得即时消息服务器集群根据所述适配服务器转发的所述登陆状态信息进行消息发送;
在所述鉴权通过后,还包括:从所述持久化数据库中获取下述至少一项向所述浏览器返回:所述用户标识的通讯录、通讯群组、个人资料、离线期间接收的消息和文件。
较佳地,所述消息同步方法,还包括:
若通过第一连接接收到所述浏览器的消息发送请求,则通过第二连接转发所述消息发送请求并断开第一连接;使得所述即时消息服务器集群根据所述适配服务器转发的所述消息发送请求进行消息发送。
本发明的实施例根据第二个方面,还提供了一种消息同步方法,包括:
通过第二连接接收到消息接收请求后,若确定出所述消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在所述用户标识对应的消息,则保持第二连接;
若在预设的第二时段内接收到即时消息服务器集群发送的所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后断开第二连接,使得网络服务器将在预设的第一时段内接收的消息向浏览器返回;其中,第二时段小于第一时段。
较佳地,根据第二个方面提供的消息同步方法,还包括:
若在第二时段内未接收到所述即时消息服务器集群发送的所述用户消息对应的消息,则断开第二连接,使得所述网络服务器在第一时段内检测到第二连接断开后向所述浏览器返回空响应。
较佳地,所述通过第二连接接收到消息接收请求后,还包括:
若确定出所述消息接收请求中的用户标识处于登陆状态、且所述内存数据库中存在所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后,断开第二连接;使得所述网络服务器将通过第二连接接收的消息向所述浏览器返回。
较佳地,所述通过第二连接返回所述用户标识对应的消息,具体包括:
将所述用户标识对应的消息转换为符合超文本传送协议的消息后通过第二连接返回。
较佳地,根据第二个方面提供的消息同步方法,还包括:
通过第二连接接收到所述用户标识的登陆状态信息后,维护所述用户标识的登陆状态信息;并将所述用户标识的登陆状态信息转换为符合二进制协议的格式后,向所述即时消息服务器集群发送,使得所述即时消息服务器集群接收到所述用户标识的登陆状态信息后将后续接收的所述用户标识对应的消息向本适配服务器发送;或者,检测到所述用户标识处于离线或者无效登陆状态后,将离线状态信息转换为符合二进制协议的格式向所述即时消息服务器集群发送,使得所述即时消息服务器集群接收到所述用户标识的离线状态信息后,将后续接收的所述用户标识对应的消息向所述持久化数据库集群发送。
较佳地,根据第二个方面提供的消息同步方法,还包括:
若通过第二连接接收到消息发送请求,则确定所述消息发送请求中的用户标识处于登陆状态后,将所述消息发送请求转换为符合二进制的格式后向所述即时消息服务器集群发送,并断开第二连接;使得所述即时消息服务器集群根据所述消息发送请求进行消息发送。
本发明的实施例根据第三个方面,还提供了一种网络服务器,包括:
请求转发模块,用于通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;使得适配服务器根据通过第二连接接收的所述消息接收请求获取对应的消息;
消息返回模块,用于若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接。
本发明的实施例根据第四个方面,还提供了一种适配服务器,包括:
登录状态及消息确定模块,用于通过第二连接接收到消息接收请求后,若确定出所述消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在所述用户标识对应的消息,则保持第二连接;
消息获取返回模块,用于若在预设的第二时段内接收到即时消息服务器集群发送的所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后断开第二连接,使得网络服务器将在预设的第一时段内接收的消息向浏览器返回;其中,第二时段小于第一时段。
本发明的实施例根据第五个方面,还提供了一种消息同步方法,包括:
通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;
确定出接收到的所述消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在所述用户标识对应的消息后,保持第二连接,若在预设的第二时段内从接收到即时消息服务器集群发送的所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后断开第二连接;
若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接;其中,第二时段小于第一时段。
本发明的实施例根据第六个方面,还提供了一种消息同步平台,包括:
网络服务器,用于通过第一连接接收浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接;
适配服务器和即时消息服务器集群,所述适配服务器用于确定出接收到的消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在所述用户标识对应的消息后,保持第二连接,若在预设的第二时段内接收到所述即时消息服务器集群发送的所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后断开第二连接;其中,第二时段小于第一时段。
本发明实施例中,适配服务器通过第二连接向WEB服务器返回消息后及时断开第二连接,释放了WEB服务器和适配服务器为维护第二连接所需的系统资源;WEB服务器通过第一连接向浏览器返回信息后及时断开第一连接,释放了为维护第一连接所需的系统资源,大大降低了WEB服务器和适配服务器的工作压力,能够增加浏览器的接入数量和/或及时对浏览器的请求进行响应,提升了消息同步的效率,提升了WEB服务器和适配服务器的资源利用率、以及浏览器的用户的体验。
而且,本发明实施例中,由适配服务器来确定并维护多种请求中的用户标识的登陆状态、以及确定内存数据库中是否存在或者本服务器是否接收到用户标识对应的消息,与由IM服务器集群承担所有的业务逻辑相比,分担了IM服务器集群的工作压力,并减少了适配服务器与IM服务器集群之间的交互;使得适配服务器和IM服务器集群可以利用节省出的系统资源响应更多浏览器的请求返回更多的消息、或者及时响应浏览器请求并返回消息,从而整体上提升消息同步的效率,提升用户的体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例的消息同步系统的架构示意图;
图2为本发明实施例的登陆阶段的消息同步方法的流程示意图;
图3为本发明实施例的基于消息接收的消息同步方法的流程示意图;
图4为本发明实施例的基于消息发送的消息同步方法的流程示意图;
图5为本发明实施例的WEB服务器和适配服务器的内部结构的框架示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本发明的发明人还发现,现有的消息同步方法中由即时消息服务器响应HTTP请求,即由即时消息服务器实现绝大部分业务逻辑,比如用户的有效性验证、消息服务、用户登录状态服务、文件传输服务和群组信息服务等业务的逻辑。导致即时消息服务器的工作压力较大,容易导致系统资源紧张,容易造成信令收发速度降低、信令响应不及时的缺陷,容易导致用户体验不佳。
本发明的实施例中,网络服务器通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发消息接收请求,并保持第一连接;适配服务器通过第二连接接收到消息接收请求后,若确定出消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在用户标识对应的消息,则保持第二连接;适配服务器若在预设的第二时段内从内存数据库中获取到用户标识对应的消息,则通过第二连接返回用户标识对应的消息后断开第二连接;网络服务器若在预设的第一时段内通过第二连接接收到针对消息接收请求返回的消息,则向浏览器返回接收到的消息后断开第一连接。
可见,本发明实施例中,适配服务器通过第二连接向网络服务器返回消息后及时断开第二连接,释放了网络服务器和适配服务器为维护第二连接所需的系统资源;网络服务器通过第一连接向浏览器返回信息后断开第一连接,释放了为维护第一连接所需的系统资源,大大降低了网络服务器和适配服务器的工作压力,能够增加浏览器的接入数量和/或及时对浏览器的请求进行响应,提升了消息同步的效率,提升了网络服务器和适配服务器的资源利用率、以及浏览器的用户的体验。
而且,本发明实施例中,由适配服务器来确定消息接收请求中的用户标识的登陆状态以及是否存在或接收到对应的消息,与由即时消息服务器集群承担所有的业务逻辑相比,分担了即时消息服务器集群的工作压力;使得即时消息服务器集群节省系统资源,并可以利用节省出的系统资源响应更多浏览器的请求返回更多的消息、或者及时响应浏览器请求并返回消息,从而整体上提升消息同步的效率,提升用户的体验。
下面结合附图具体介绍本发明实施例的技术方案。
本发明实施例提供了一种消息同步系统,该系统的架构示意图如图1所示,包括:终端设备101和服务器平台102。
其中,终端设备101可以有多个。终端设备101是诸如智能手机、平板电脑、PC(Personal Computer,个人电脑)、电子阅读器或PDA(PersonalDigital Assistant,个人数据助理)等具有网络通讯功能的终端。
终端设备101可以有线或者无线方式接入互联网。
较佳地,终端设备101中可以包括WiFi(Wireless Fidelity,无线保真)模块,可以通过WiFi局域网接入互联网。
终端设备101可以包括移动通信模块,可以通过移动通信网络接入互联网。移动通信网络可以至少包括下述网络之一:GRPS(General PacketRadio Service,通用分组无线服务)网络、3G(3rd-Generation wirelesstelephone technology,第三代无线电话技术)网络、LTE(Long TermEvolution,长期演进)网络。
本发明实施例的服务器平台102包括:WEB(网络)服务器121、适配服务器122、IM(Instant Messaging,即时通讯)服务器集群123和持久化数据库集群124。
其中,IM服务器集群123可以是即时消息服务器集群。
WEB服务器121可以有线接入互联网。例如,WEB服务器121通过光纤接入互联网的广域网或主干网。
WEB服务器121与适配服务器122有线连接;适配服务器122与IM服务器集群123有线连接;适配服务器122和IM服务器集群123都与持久化数据库集群124有线连接。
持久化数据库集群124根据具体情况可以设置在一个服务器中、服务器集群中或者分布式服务器系统中,本发明实施例对此不作限制。
WEB服务器121的主要功能包括:接收终端设备101中浏览器发送的请求、向适配服务器122转发请求;向浏览器返回适配服务器122发送的针对该请求的响应或消息;对请求鉴权等等,具体内容在后续详细介绍,此处不赘述。
适配服务器122的主要功能包括:对用户标识的登陆状态进行维护检测、获取或尝试获取内存数据库中的消息;将请求、消息或用户标识的登陆状态(转换协议或格式后)在IM服务器集群123与WEB服务器121之间传递等等,具体内容在后续详细介绍,此处不赘述。
其中,根据实际情况,可以将内存数据库设置在适配服务器122,也可以设置在服务器中,且该服务器与适配服务器122相连接。内存数据库所在的服务器可以是单个服务器、多个服务器、服务器集群或分布式服务器系统中。当内存数据库设置于与适配服务器122相连接的服务器中时,该服务器与IM服务器集群123相连接。
IM服务器集群123的主要功能包括:接收并存储消息和文件;根据用户标识的登陆状态,发送消息和文件等等,具体内容在后续详细介绍,此处不赘述。
持久化数据库集群124的主要功能包括:存储用户注册信息(包括用户标识),以协助WEB服务器121对请求中的用户标识的鉴权;以及存储用户的个人资料、通讯录、好友信息、通讯群组等信息,以及存储用户离线期间IM服务器集群123发送的消息和文件等等,具体内容在后续详细介绍,此处不赘述。
本发明实施例中,用户通过终端设备101将用户标识等用户信息注册到服务器平台102中。较佳地,终端设备101中的浏览器与服务器平台102中的WEB服务器121建立连接后,将用户输入的用户信息包括用户标识、密码以及本终端设备的终端标识注册到WEB服务器121中,WEB服务器121将该用户的注册信息存入持久化数据库集群124中。其中,用户标识可以是用户账户等。终端标识是终端设备101的唯一性标识。例如,终端标识可以是终端设备101的SN(Serial Number,序列号)。
较佳地,还可以将用户的个人资料、通讯录、好友信息、通讯群组等信息存入持久化数据库集群124,与该用户的用户标识对应存储。
本发明实施例提供的消息同步方法包括:用户登陆阶段的消息同步方法、基于消息接收的消息同步方法、以及基于消息发送的消息同步方法。
本发明实施例中,登陆阶段的消息同步方法的流程示意图如图2所示,包括如下步骤:
S201:终端设备101中的浏览器与WEB服务器121建立第一连接后,发送登陆请求。
具体地,终端设备101中的浏览器根据用户输入或预存的用户标识,与WEB服务器121建立该用户标识的第一连接。将用户标识携带于登陆请求中通过第一连接向WEB服务器121发送。其中,登陆请求符合HTTP(Hyper Text Transfer Protocol,超文本传送协议)。较佳地,登陆请求符合HTTPS(Hyper Text Transfer Protocol Secure,安全超文本传送协议)。
S202:WEB服务器121通过第一连接接收到浏览器的登陆请求后,根据持久化数据库集群124中的用户信息,对登陆请求中的用户标识进行鉴权;若鉴权通过,则执行步骤S203;若鉴权失败,则忽略接收的登陆请求。
具体地,WEB服务器121通过第一连接接收到浏览器的登陆请求。
若接收到的登陆请求符合HTTP协议,则从登陆请求中解析出用户标识。若接收到的登陆请求符合HTTPS协议,则将符合HTTPS协议的登陆请求转换为符合HTTP协议的登陆请求后,从中解析出用户标识。
从持久化数据库集群124中获取用户信息,检测解析出的用户标识与获取到的用户信息中的用户标识是否相一致:若是,则该用户标识鉴权通过且具有登陆权限,执行步骤S203;否则确定该用户标识鉴权失败且无登陆权限,忽略接收的登陆请求,结束本流程。
较佳地,WEB服务器121将解析出的用户标识发送至持久化数据库集群124;由持久化数据库集群124根据本地存储的用户信息对接收的用户标识进行鉴权,并将鉴权通过或者鉴权失败的鉴权结果返回WEB服务器121。WEB服务器121若接收到用户标识的鉴权通过的鉴权结果,则确认该用户标识具有登陆权限,执行步骤S203;若接收到用户标识的鉴权失败的鉴权结果,则确定该用户标识无登陆权限,忽略接收的登陆请求,结束本流程。
更优的,WEB服务器121确定登陆请求中的用户标识鉴权通过后,从持久化数据库集群124中获取下述至少一项通过第一连接向浏览器返回:用户标识的通讯录、通讯群组、个人资料、离线期间接收的消息和文件。其中,由IM服务器集群123将在用户标识离线期间接收到的该用户标识对应的消息和文件,发送至持久化数据库集群124。
S203:WEB服务器121生成用户标识的登陆状态信息,并与适配服务器122建立第二连接,通过第二连接转发生成的用户标识的登陆状态信息。
具体地,WEB服务器121在上述步骤确定用户标识鉴权通过具有登陆权限后,生成该用户标识的登陆状态信息;并与适配服务器122建立该用户标识的第二连接,通过第二连接转发生成的用户标识的登陆状态信息。
S204:适配服务器122通过第二连接接收到用户标识的登陆状态信息后,维护用户标识的登陆状态信息。
适配服务器122通过第二连接接收到用户标识的登陆状态信息后,对应记录用户标识及其登陆状态信息。
适配服务器122管理用户标识的登陆状态的有效性。检测用户标识处于登陆状态还是离线状态。
较佳地,适配服务器122根据预设的登陆状态有效时间和用户的行为数据,检测用户标识是否处于无效登陆状态。例如,在用户标识登陆后,作为登陆状态有效时间的30分钟内,检测是否接收到该用户标识的请求等行为数据,若是,则确认该用户标识处于登录状态;否则确认该用户标识处于无效登陆状态。
适配服务器122检测到用户标识处于离线或者无效登陆状态后,将该用户标识的登陆状态信息更改为离线状态信息,需要用户重新登陆。
S205:适配服务器122将用户标识的登陆状态信息转换为符合二进制协议的格式后,向IM服务器集群123发送。
具体地,适配服务器122在上述步骤中通过第二连接接收到用户标识的登陆状态信息后,将用户标识的登陆状态信息转换为符合二进制协议的格式后,向IM服务器集群123发送。其中,二进制协议为IM服务器集群123中适用的二进制协议。例如protobuf协议、或者服务方自定义的协议等。
适配服务器122向IM服务器集群123发送登陆状态信息后,通过第二连接向WEB服务器121返回用户标识的登陆成功消息,并断开第二连接。
较佳地,适配服务器122在上述步骤中检测到用户标识处于离线或者无效登陆状态后,在本步骤中,将离线状态信息转换为符合二进制协议的格式向IM服务器集群123发送。
S206:IM服务器集群123接收到用户标识的登陆状态信息后,将后续接收的用户标识对应的消息向适配服务器122发送。
IM服务器集群123接收到用户标识的登陆状态信息后,将后续接收的该用户标识对应的消息和/或文件,向适配服务器122发送。本发明实施例中的消息可以是即时消息。
适配服务器122检测是否存在待响应的携带上述用户标识的消息接收请求、且存在该用户标识的第二连接;若是,则将接收的该用户标识对应的消息和/或文件,通过WEB服务器121向终端设备101中的浏览器返回,具体内容将在后续图3所示的流程中详细介绍,此处不再赘述。
适配服务器122若检测出不存在待响应的上述用户标识的消息接收请求、且不存在该用户标识的第二连接,则将该用户标识及其接收到的该用户标识对应的消息和/或文件,对应暂存到本适配服务器中的内存数据库中、或者暂存到与适配服务器122相连接的服务器的内存数据库中。
较佳地,IM服务器集群123接收到用户标识的离线状态信息后,将后续接收的该用户标识对应的消息和/或文件,向持久化数据库集群124发送。
事实上,WEB服务器121接收到上述步骤205中适配服务器122发送的用户标识的登陆成功消息后,通过第一连接向终端设备101的浏览器返回用户标识的登陆成功消息,并断开第一连接。
根据上述登陆阶段的消息同步方法,本发明实施例中基于消息接收的消息同步方法的流程示意图如图3所示,包括如下步骤:
S301:终端设备101中的浏览器与WEB服务器121建立第一连接后,发送消息接收请求。
具体地,终端设备101中的浏览器根据用户标识,与WEB服务器121建立该用户表示的第一连接。将用户标识携带于消息接收请求中通过第一连接向WEB服务器121发送。其中,消息接收请求符合HTTP协议。较佳地,消息接收请求符合HTTPS协议。
S302:WEB服务器121通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发消息接收请求,并保持第一连接。
具体地,WEB服务器121通过第一连接接收到浏览器的消息接收请求,保持第一连接。
若接收到的消息接收请求符合HTTP协议,则从消息接收请求中解析出用户标识。若接收到消息接收请求符合HTTPS协议,则将符合HTTPS协议的消息接收请求转换为符合HTTP协议的消息接收请求后,从中解析出用户标识。
WEB服务器121根据解析出的用户标识,与适配服务器122建立该用户标识的第二连接,通过第二连接向适配服务器122转发消息接收请求。
较佳地,WEB服务器121通过第二连接向适配服务器122转发符合HTTP协议的消息接收请求。
S303:适配服务器122通过第二连接接收到消息接收请求后,确定消息接收请求中的用户标识是否处于登陆状态;若是,则执行步骤S304;否则,生成离线状态信息向IM服务器集群123发送。
具体地,适配服务器122通过第二连接接收到消息接收请求。较佳地,适配服务器122通过第二连接接收到符合HTTP协议的消息接收请求。
适配服务器122解析出消息接收请求中的用户标识,确定出解析出的用户标识是否处于登陆状态。当检测到解析出的用户标识处于离线状态或者无效登陆状态(用户登录后设定时段内无行为数据)时,确认该用户标识处于离线状态;当检测到解析出的用户标识未处于离线状态或者无效登陆状态时,确认该用户标识处于登录状态。
适配服务器122若确认用户标识处于登陆状态,则执行步骤S304;若确认用户标识处于离线状态,则生成离线状态信息向IM服务器集群123发送。较佳地,适配服务器122确认用户标识处于登陆状态后,将该用户标识的登陆状态信息向IM服务器集群123发送。
IM服务器集群123接收到用户标识的登陆状态信息后,将后续接收的用户标识对应的消息和/或文件向内存数据库发送。IM服务器集群123接收到用户标识的离线状态信息后,将后续接收的用户标识对应的消息和/或文件向持久化数据库集群124发送。
S304:适配服务器122确定内存数据库中是否存在用户标识对应的消息;若否,则执行步骤S305;若是,则执行步骤S306。
具体地,适配服务器122对于本服务器中的、或者与本服务器相连的指定服务器中的内存数据库,在该内存数据库中尝试查找用户标识对应的消息,若查找到该用户标识对应的信息,说明内存数据库中存在该用户标识对应的消息,则执行步骤S306;若查找不到,说明内存数据库中不存在该用户标识对应的消息,则执行步骤S305。
S305:适配服务器122保持第二连接,并在预设的第二时段内尝试接收IM服务器集群123发送的用户标识对应的消息;若接收到用户标识对应的消息,则执行步骤S306;若未接收到用户标识对应的消息,则执行步骤S308。
具体地,适配服务器122保持与WEB服务器121之间的用户标识的第二连接。此时的第二连接是因携带该用户标识的消息接收请求而建立,说明存在待响应的携带该用户标识的消息接收请求。
并且,适配服务器122在预设的第二时段内尝试接收IM服务器集群123发送的上述步骤中的用户标识对应的消息;若在第二时段内接收到该用户标识对应的消息,则执行步骤S306;若在第二时段内未接收到该用户标识对应的消息,则执行步骤S308。
S306:适配服务器122通过第二连接返回用户标识对应的消息后断开第二连接。
具体地,适配服务器122将上述步骤中从内存数据库中确定出的用户标识对应的消息、或者接收到的IM服务器集群123发送的用户标识对应的消息,在本步骤中,通过第二连接向WEB服务器121返回,返回后及时断开第二连接。本领域技术人员可以根据实际情况,预设数据返回结束与断开连接之间的间隔时间,以实现及时断开连接;本发明实施例中其它断开连接的情况类似,不赘述。
较佳地,IM服务器集群123发送至适配服务器122的用户标识对应的消息,并未变更其符合二进制协议的格式。而且,上述步骤S206中适配服务器122暂存到内存数据库中的用户标识对应的消息也是符合二进制协议的。因此,适配服务器122将接收到的IM服务器集群123发送的用户标识对应的消息、或从内存数据库中确定出的用户标识对应的消息,转换为符合HTTP协议的消息后,通过第二连接向WEB服务器121返回。
S307:WEB服务器121若在预设的第一时段内通过第二连接接收到针对消息接收请求返回的消息,则向浏览器返回接收到的消息后断开第一连接。
具体地,WEB服务器121若在预设的第一时段内通过第二连接接收到适配服务器122针对消息接收请求返回的用户标识对应的消息,则通过第一连接向终端设备101的浏览器返回接收到的消息后及时断开第一连接。
其中,第二时段小于第一时段。本领域技术人员可以根据历史数据、经验数据和/或实际情况等确定第一时段和第二时段;例如,将第一、二时段分别设置为30秒、25秒。
较佳地,WEB服务器121将通过第二连接接收的符合HTTP协议的消息转换为符合HTTPS协议的消息后,通过第一连接向终端设备101中的浏览器返回,返回后及时断开第一连接。
S308:适配服务器122断开第二连接。
具体地,上述步骤中适配服务器122虽然确定出用户标识处于登陆状态,但是在第二时段内未接收到IM服务器集群123发送的用户标识对应的消息,可以推出第二时段内IM服务器集群123未接收到用户标识的新消息。在本步骤中,适配服务器122断开与WEB服务器121之间的用户标识的第二连接,以在未接收到用户标识的新消息的情况下,节省适配服务器122和WEB服务器121的系统资源。
S309:WEB服务器121若在第一时段内检测到第二连接断开,则向浏览器返回空响应后,断开第一连接。
具体地,WEB服务器121若在第一时段内检测到与适配服务器122之间的用户标识对应的第二连接断开,说明未收到用户标识的新消息,断开与终端设备101中的浏览器之间的用户标识的第一连接,以节省WEB服务器121的系统资源。
事实上,上述图3的流程具体介绍了针对一次消息接收请求的响应过程;若终端设备101中的浏览器发送多个消息接收请求,则可以针对每个消息接收请求执行一次上述图3的流程步骤。
根据上述登陆阶段的消息同步方法,本发明实施例中基于消息发送的消息同步方法的流程示意图如图4所示,包括如下步骤:
S401:终端设备101中的浏览器与WEB服务器121建立第一连接后,发送消息发送请求。
具体地,终端设备101中的浏览器根据发送方的用户标识,与WEB服务器121建立该用户表示的第一连接。将发送方的用户标识、接收方的用户标识和用户指定的待发送消息携带于消息发送请求中通过第一连接向WEB服务器121发送。其中,消息发送请求符合HTTP协议。较佳地,消息发送请求符合HTTPS协议。
S402:WEB服务器121若通过第一连接接收到浏览器的消息发送请求,则通过第二连接转发该消息发送请求并断开第一连接。
具体地,WEB服务器121通过第一连接,接收到浏览器的消息发送请求。
若接收到的消息发送请求符合HTTP协议,则从消息发送请求中解析出发送方和接收方的用户标识、以及待发送消息。若接收到的消息发送请求符合HTTPS协议,则将符合HTTPS协议的消息发送请求转换为符合HTTP协议的消息发送请求后,从中解析出发送方和接收方的用户标识、以及待发送消息。解析出待发送消息后,断开与终端设备101中的浏览器之间的用户标识的第一连接。
WEB服务器121根据解析出的发送方的用户标识,与适配服务器122建立该用户标识的第二连接,通过第二连接向适配服务器122转发消息发送请求。
较佳地,WEB服务器121通过第二连接向适配服务器122转发符合HTTP协议的消息发送请求。
S403:适配服务器122若通过第二连接接收到消息发送请求,则确定消息发送请求中的用户标识是否处于登陆状态;若是,则执行步骤S404;否则暂存消息发送请求。
具体地,适配服务器122通过第二连接接收到消息发送请求。较佳地,适配服务器122通过第二连接接收到符合HTTP协议的消息发送请求。
适配服务器122解析出消息发送请求中的发送方的用户标识,确定出解析出的发送方的用户标识是否处于登陆状态。当检测到解析出的发送方的用户标识处于离线状态或者无效登陆状态(用户登录后设定时段内无行为数据)时,确认该用户标识处于未登陆状态;当检测到解析出的发送方的用户标识未处于离线状态或者无效登陆状态时,确认该用户标识处于登录状态。
较佳地,适配服务器122解析出消息发送请求中的发送方的用户标识和待发送消息。
适配服务器122若确认发送方的用户标识处于登陆状态,则执行步骤S404;若确认发送方的用户标识处于离线状态或无效登陆状态,则将接收的消息发送请求暂存到内存数据库中,以待该用户标识转换为登陆状态后将暂存的消息发送请求向IM服务器集群123发送。
较佳地,适配服务器122确认发送方的用户标识处于登陆状态后,将该用户标识的登陆状态信息向IM服务器集群123发送;确认发送方的用户标识处于离线状态或无效登陆状态后,生成离线状态信息向IM服务器集群123发送。
IM服务器集群123接收到发送方的用户标识的登陆状态信息后,将后续接收的该用户标识对应的消息和/或文件向适配服务器122发送。IM服务器集群123接收到发送方的用户标识的离线状态信息后,将后续接收的该用户标识对应的消息和/或文件向持久化数据库集群124发送。
S404:适配服务器122将消息发送请求转换为符合二进制的格式后向IM服务器集群123发送,并断开第二连接。
具体地,适配服务器122在上述步骤中解析出消息发送请求中的待发送消息后,在本步骤中,断开与WEB服务器121之间的发送方用户标识的第二连接。
适配服务器122将上述步骤中接收的消息发送请求转换为符合二进制的格式后,向IM服务器集群123发送。
事实上,IM服务器集群123接收到消息发送请求后,从中解析出作为发送方和接收方的用户标识、以及待发送消息进行对应存储。根据本IM服务器集群中维护的接收方的用户标识的登陆状态信息或离线状态信息,将接收方的用户标识及解析出的待发送消息,向适配服务器122或持久化数据库集群124发送。
基于上述消息同步方法,本发明实施例的WEB服务器121的内部结构的框架示意图如图5所示,包括:请求转发模块501和消息返回模块502。
其中,请求转发模块501用于通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发消息接收请求,并保持第一连接;使得适配服务器122根据通过第二连接接收的消息接收请求获取对应的消息;
消息返回模块502用于若在预设的第一时段内通过第二连接接收到针对消息接收请求返回的消息,则向浏览器返回接收到的消息后断开第一连接。
较佳地,消息返回模块502还用于若在第一时段内检测到第二连接断开,则向浏览器返回空响应后,断开第一连接。
较佳地,请求转发模块501用于将接收的符合HTTPS协议的消息接收请求转换为符合HTTP协议的格式后通过第二连接进行转发。
以及,消息返回模块502用于将通过第二连接接收的符合HTTP协议的消息转换为符合HTTPS协议的消息后,向浏览器返回。
更优的,如图5所示,本发明实施例的WEB服务器121中还包括:鉴权模块503和登陆状态信息转发模块504。
请求转发模块501还用于在接收到消息接收请求之前,若通过第一连接接收到浏览器的登陆请求,则转发登陆请求。
鉴权模块503用于根据持久化数据库集群124中的用户信息,对请求转发模块501接收的登陆请求中的用户标识进行鉴权;以及鉴权通过后,发送鉴权通过通知。
登陆状态信息转发模块504用于接收到鉴权模块503发送的鉴权通过通知后,生成用户标识的登陆状态信息并通过第二连接转发;使得IM服务器集群123根据适配服务器122转发的登陆状态信息进行消息发送。
较佳地,消息返回模块502还用于接收到鉴权模块503发送的鉴权通过通知后,从持久化数据库123中获取下述至少一项向浏览器返回:用户标识的通讯录、通讯群组、个人资料、离线期间接收的消息和文件。
较佳地,请求转发模块501还用于若通过第一连接接收到浏览器的消息发送请求,则通过第二连接转发消息发送请求并断开第一连接;使得IM服务器集群123根据适配服务器122转发的消息发送请求进行消息发送。
上述请求转发模块501、消息返回模块502、鉴权模块503和登陆状态信息转发模块504功能的实现方法,可以参考如上述图2-4所示的流程步骤的具体内容,此处不再赘述。
基于上述消息同步方法,本发明实施例中的适配服务器122的内部结构的框架示意图如图5所示,包括:登录状态及消息确定模块511和消息获取返回模块512。
其中,登录状态及消息确定模块511用于通过第二连接接收到WEB服务器121中的请求转发模块501发送的消息接收请求后,若确定出消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在用户标识对应的消息,则保持第二连接。
消息获取返回模块512用于若在预设的第二时段内接收到IM服务器集群123发送的用户标识对应的消息,则通过第二连接向WEB服务器121中的消息返回模块502返回用户标识对应的消息后,断开第二连接,使得WEB服务器121将在预设的第一时段内接收的消息向浏览器返回;其中,第二时段小于第一时段。
较佳地,消息获取返回模块512还用于若在第二时段内未接收到IM服务器集群123发送的用户消息对应的消息,则断开第二连接,使得WEB服务器121在第一时段内检测到第二连接断开后向浏览器返回空响应。
较佳地,登录状态及消息确定模块511还用于通过第二连接接收到消息接收请求后,若确定出消息接收请求中的用户标识处于登陆状态、且内存数据库中存在用户标识对应的消息,则获取用户标识对应的消息并转发。
以及,消息获取返回模块512还用于将登录状态及消息确定模块511转发的用户标识对应的消息,通过第二连接返回后,断开第二连接;使得WEB服务器121将通过第二连接接收的消息向浏览器返回。
较佳地,消息获取返回模块512用于将用户标识对应的消息转换为符合HTTP协议的消息后通过第二连接返回。
较佳地,登录状态及消息确定模块511还用于通过第二连接接收到用户标识的登陆状态信息后,维护用户标识的登陆状态信息;并将用户标识的登陆状态信息转换为符合二进制协议的格式后,向IM服务器集群123发送,使得IM服务器集群123接收到用户标识的登陆状态信息后将后续接收的用户标识对应的消息向适配服务器122发送;或者,检测到用户标识处于离线或者无效登陆状态后,将离线状态信息转换为符合二进制协议的格式向IM服务器集群123发送,使得IM服务器集群123接收到用户标识的离线状态信息后,将后续接收的用户标识对应的消息向持久化数据库集群124发送。
较佳地,登录状态及消息确定模块511还用于若通过第二连接接收到消息发送请求,则确定消息发送请求中的用户标识处于登陆状态后,将消息发送请求转换为符合二进制的格式后向IM服务器集群123发送,并断开第二连接;使得IM服务器集群123根据消息发送请求进行消息发送。
上述登录状态及消息确定模块511和消息获取返回模块512功能的实现方法,可以参考如上述图2-4所示的流程步骤的具体内容,此处不再赘述。
本发明实施例中,适配服务器通过第二连接向WEB服务器返回消息后及时断开第二连接,释放了WEB服务器和适配服务器为维护第二连接所需的系统资源;WEB服务器通过第一连接向浏览器返回信息后及时断开第一连接,释放了为维护第一连接所需的系统资源,大大降低了WEB服务器和适配服务器的工作压力,能够增加浏览器的接入数量和/或及时对浏览器的请求进行响应,提升了消息同步的效率,提升了WEB服务器和适配服务器的资源利用率、以及浏览器的用户的体验。
而且,本发明实施例中,由适配服务器来确定并维护多种请求中的用户标识的登陆状态、以及确定内存数据库中是否存在或者本服务器是否接收到用户标识对应的消息,与由IM服务器集群承担所有的业务逻辑相比,分担了IM服务器集群的工作压力,并减少了适配服务器与IM服务器集群之间的交互;使得适配服务器和IM服务器集群可以利用节省出的系统资源响应更多浏览器的请求返回更多的消息、或者及时响应浏览器请求并返回消息,从而整体上提升消息同步的效率,提升用户的体验。
进一步,本发明实施例中,WEB服务器承担了对浏览器的登录请求中用户标识的鉴权工作,并承担获取用户标识的个人资料、通讯录、通讯群组、离线期间的消息和文件等用户信息向浏览器返回的工作,与由IM服务器集群承担所有的业务逻辑相比,分担了IM服务器集群的工作压力,并减少了WEB服务器、适配服务器和IM服务器集群之间的交互;从而整体上提升消息同步的效率。并且,由WEB服务器承担HTTPS与HTTP协议的转换工作,由适配服务器承担HTTP协议与二进制协议的转换工作,进一步减轻IM服务器集群的工作压力,提升消息同步的效率。
此外,本发明实施例中,不同的数据信息存放在不同的服务器中,不同的服务器承担不同的工作,即使网络攻击者入侵本发明实施例的消息同步系统中的部分服务器,也无法获得完整的数据信息;例如WEB服务器被网络攻击者入侵,但是网络攻击者无法从未被入侵的永久性数据库集群中获取用户信息;从而可以减低用户的标识、个人资料、消息或文件等用户相关信息被泄露的几率,增强了整个系统的安全性。
本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable ProgrammableRead-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种消息同步方法,其特征在于,包括:
通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;使得适配服务器根据通过第二连接接收的所述消息接收请求获取对应的消息;
若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接。
2.根据权利要求1所述的方法,其特征在于,还包括:
若在第一时段内检测到第二连接断开,则向所述浏览器返回空响应后,断开第一连接。
3.根据权利要求1或2所述的方法,其特征在于,在所述接收到所述消息接收请求之前,还包括:
通过第一连接接收到所述浏览器的登陆请求后,根据持久化数据库集群中的用户信息,对所述登陆请求中的用户标识进行鉴权;
鉴权通过后,生成所述用户标识的登陆状态信息并通过第二连接转发;使得即时消息服务器集群根据所述适配服务器转发的所述登陆状态信息进行消息发送;
在所述鉴权通过后,还包括:从所述持久化数据库中获取下述至少一项向所述浏览器返回:所述用户标识的通讯录、通讯群组、个人资料、离线期间接收的消息和文件。
4.一种消息同步方法,其特征在于,包括:
通过第二连接接收到消息接收请求后,若确定出所述消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在所述用户标识对应的消息,则保持第二连接;
若在预设的第二时段内接收到即时消息服务器集群发送的所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后断开第二连接,使得网络服务器将在预设的第一时段内接收的消息向浏览器返回;其中,第二时段小于第一时段。
5.根据权利要求4所述的方法,其特征在于,还包括:
若在第二时段内未接收到所述即时消息服务器集群发送的所述用户消息对应的消息,则断开第二连接,使得所述网络服务器在第一时段内检测到第二连接断开后向所述浏览器返回空响应。
6.根据权利要求4所述的方法,其特征在于,所述通过第二连接接收到消息接收请求后,还包括:
若确定出所述消息接收请求中的用户标识处于登陆状态、且所述内存数据库中存在所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后,断开第二连接;使得所述网络服务器将通过第二连接接收的消息向所述浏览器返回。
7.根据权利要求4-6任一项所述的方法,其特征在于,还包括:
通过第二连接接收到所述用户标识的登陆状态信息后,维护所述用户标识的登陆状态信息;并将所述用户标识的登陆状态信息转换为符合二进制协议的格式后,向所述即时消息服务器集群发送,使得所述即时消息服务器集群接收到所述用户标识的登陆状态信息后将后续接收的所述用户标识对应的消息向本适配服务器发送;
或者,检测到所述用户标识处于离线或者无效登陆状态后,将离线状态信息转换为符合二进制协议的格式向所述即时消息服务器集群发送,使得所述即时消息服务器集群接收到所述用户标识的离线状态信息后,将后续接收的所述用户标识对应的消息向所述持久化数据库集群发送。
8.一种网络服务器,其特征在于,包括:
请求转发模块,用于通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;使得适配服务器根据通过第二连接接收的所述消息接收请求获取对应的消息;
消息返回模块,用于若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接。
9.根据权利要求8所述的网络服务器,其特征在于,
所述消息返回模块还用于若在第一时段内检测到第二连接断开,则向所述浏览器返回空响应后,断开第一连接。
10.根据权利要求8或9所述的网络服务器,其特征在于,还包括:鉴权模块和登陆状态信息转发模块;以及
所述请求转发模块还用于在所述接收到所述消息接收请求之前,若通过第一连接接收到所述浏览器的登陆请求,则转发所述登陆请求;
所述鉴权模块用于根据持久化数据库集群中的用户信息,对所述登陆请求中的用户标识进行鉴权;以及鉴权通过后,发送鉴权通过通知;
所述登陆状态信息转发模块用于接收到所述鉴权通过通知后,生成所述用户标识的登陆状态信息并通过第二连接转发;使得即时消息服务器集群根据所述适配服务器转发的所述登陆状态信息进行消息发送;
所述消息返回模块还用于接收到所述鉴权通过通知后,从所述持久化数据库中获取下述至少一项向所述浏览器返回:所述用户标识的通讯录、通讯群组、个人资料、离线期间接收的消息和文件。
11.一种适配服务器,其特征在于,包括:
登录状态及消息确定模块,用于通过第二连接接收到消息接收请求后,若确定出所述消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在所述用户标识对应的消息,则保持第二连接;
消息获取返回模块,用于若在预设的第二时段内接收到即时消息服务器集群发送的所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后断开第二连接,使得网络服务器将在预设的第一时段内接收的消息向浏览器返回;其中,第二时段小于第一时段。
12.根据权利要求11所述的适配服务器,其特征在于,
所述消息获取返回模块还用于若在第二时段内未接收到所述即时消息服务器集群发送的所述用户消息对应的消息,则断开第二连接,使得所述网络服务器在第一时段内检测到第二连接断开后向所述浏览器返回空响应。
13.根据权利要求11所述的适配服务器,其特征在于,
所述登录状态及消息确定模块还用于通过第二连接接收到消息接收请求后,若确定出所述消息接收请求中的用户标识处于登陆状态、且所述内存数据库中存在所述用户标识对应的消息,则获取所述用户标识对应的消息并转发;以及
所述消息获取返回模块还用于通过第二连接返回所述登录状态及消息确定模块转发的用户标识对应的消息后,断开第二连接;使得所述网络服务器将通过第二连接接收的消息向所述浏览器返回。
14.根据权利要求11-13任一项所述的适配服务器,其特征在于,
所述登录状态及消息确定模块还用于通过第二连接接收到所述用户标识的登陆状态信息后,维护所述用户标识的登陆状态信息;并将所述用户标识的登陆状态信息转换为符合二进制协议的格式后,向所述即时消息服务器集群发送,使得所述即时消息服务器集群接收到所述用户标识的登陆状态信息后将后续接收的所述用户标识对应的消息向本适配服务器发送;或者,检测到所述用户标识处于离线或者无效登陆状态后,将离线状态信息转换为符合二进制协议的格式向所述即时消息服务器集群发送,使得所述即时消息服务器集群接收到所述用户标识的离线状态信息后,将后续接收的所述用户标识对应的消息向所述持久化数据库集群发送。
15.一种消息同步方法,其特征在于,包括:
通过第一连接接收到浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;
确定出接收到的所述消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在所述用户标识对应的消息后,保持第二连接,若在预设的第二时段内接收到即时消息服务器集群发送的所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后断开第二连接;
若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接;其中,第二时段小于第一时段。
16.一种消息同步平台,其特征在于,包括:
网络服务器,用于通过第一连接接收浏览器的消息接收请求后,通过第二连接转发所述消息接收请求,并保持第一连接;若在预设的第一时段内通过第二连接接收到针对所述消息接收请求返回的消息,则向所述浏览器返回接收到的消息后断开第一连接;
适配服务器和即时消息服务器集群,所述适配服务器用于确定出接收到的消息接收请求中的用户标识处于登陆状态、且内存数据库中不存在所述用户标识对应的消息后,保持第二连接,若在预设的第二时段内接收到所述即时消息服务器集群发送的所述用户标识对应的消息,则通过第二连接返回所述用户标识对应的消息后断开第二连接;其中,第二时段小于第一时段。
CN201610553213.6A 2016-07-14 2016-07-14 消息同步方法及平台、网络服务器和适配服务器 Active CN105933217B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610553213.6A CN105933217B (zh) 2016-07-14 2016-07-14 消息同步方法及平台、网络服务器和适配服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610553213.6A CN105933217B (zh) 2016-07-14 2016-07-14 消息同步方法及平台、网络服务器和适配服务器

Publications (2)

Publication Number Publication Date
CN105933217A true CN105933217A (zh) 2016-09-07
CN105933217B CN105933217B (zh) 2019-11-08

Family

ID=56827292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610553213.6A Active CN105933217B (zh) 2016-07-14 2016-07-14 消息同步方法及平台、网络服务器和适配服务器

Country Status (1)

Country Link
CN (1) CN105933217B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108287854A (zh) * 2017-01-10 2018-07-17 网宿科技股份有限公司 一种流计算中数据持久化的方法和系统
CN110337826A (zh) * 2019-05-29 2019-10-15 北京小米移动软件有限公司 网络切换资源确定方法和网络切换资源配置方法
CN114124861A (zh) * 2020-08-28 2022-03-01 腾讯科技(深圳)有限公司 消息群发方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789119B1 (en) * 1999-11-24 2004-09-07 Webex Communication, Inc. Emulating a persistent connection using http
CN101719909A (zh) * 2009-11-23 2010-06-02 烽火通信科技股份有限公司 一种在家庭网关中实现xcap客户端的方法
CN101834845A (zh) * 2010-03-26 2010-09-15 南京联创科技集团股份有限公司 基于tcp短连接的soap客户端协议封装方法
CN102118311A (zh) * 2011-01-21 2011-07-06 宁波市胜源技术转移有限公司 一种数据传输方法
CN104811459A (zh) * 2014-01-23 2015-07-29 阿里巴巴集团控股有限公司 用于消息服务的处理方法、装置及系统、消息服务系统
US20150271233A1 (en) * 2014-03-20 2015-09-24 Samsung Electronics Co., Ltd. Method and apparatus for dash streaming using http streaming

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789119B1 (en) * 1999-11-24 2004-09-07 Webex Communication, Inc. Emulating a persistent connection using http
CN101719909A (zh) * 2009-11-23 2010-06-02 烽火通信科技股份有限公司 一种在家庭网关中实现xcap客户端的方法
CN101834845A (zh) * 2010-03-26 2010-09-15 南京联创科技集团股份有限公司 基于tcp短连接的soap客户端协议封装方法
CN102118311A (zh) * 2011-01-21 2011-07-06 宁波市胜源技术转移有限公司 一种数据传输方法
CN104811459A (zh) * 2014-01-23 2015-07-29 阿里巴巴集团控股有限公司 用于消息服务的处理方法、装置及系统、消息服务系统
US20150271233A1 (en) * 2014-03-20 2015-09-24 Samsung Electronics Co., Ltd. Method and apparatus for dash streaming using http streaming

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108287854A (zh) * 2017-01-10 2018-07-17 网宿科技股份有限公司 一种流计算中数据持久化的方法和系统
CN108287854B (zh) * 2017-01-10 2021-06-22 网宿科技股份有限公司 一种流计算中数据持久化的方法和系统
CN110337826A (zh) * 2019-05-29 2019-10-15 北京小米移动软件有限公司 网络切换资源确定方法和网络切换资源配置方法
CN114124861A (zh) * 2020-08-28 2022-03-01 腾讯科技(深圳)有限公司 消息群发方法、装置、计算机设备和存储介质
CN114124861B (zh) * 2020-08-28 2023-05-23 腾讯科技(深圳)有限公司 消息群发方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN105933217B (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
US7814167B2 (en) System and method for obtaining remote instant messages
CN102027461B (zh) 扩展的消息收发平台
KR100720307B1 (ko) 순간 메시징을 위한 프로토콜
KR101281882B1 (ko) 피싱 방지를 위한 발신자 인증 방법 및 시스템
US20030182383A1 (en) Enterprise electronic mail filtering and notification system
CN103139193B (zh) 钓鱼网站处理方法以及系统
CN106713126B (zh) 一种内外网间电子邮件信息单向传输方法及系统
CN103647701B (zh) 即时通信系统消息转发的控制方法及装置
CN103684974B (zh) 邮件处理方法及系统
CN106453414A (zh) 第三方登录认证方法、代理服务器、客户端及系统
CN103457828B (zh) 一种跨网的即时通讯方法及系统
CN105282260B (zh) 文件传输方法、可穿戴设备和云端服务器
CN101547106A (zh) 管理联系人的方法和系统
CN102724322A (zh) 一种实现远程操控的方法及装置
CN105933217A (zh) 消息同步方法及平台、网络服务器和适配服务器
CN105337973A (zh) 消息交互方法及其系统
KR20090001748A (ko) 기업용 메신저 서비스 제공 시스템 및 방법
US20060031153A1 (en) Methods and systems for matching buyers and sellers over electronic networks
JP4889813B1 (ja) データ仲介システム
CN104750723A (zh) 文件共享方法、系统、浏览器及服务器
CN102132594A (zh) 通信认证
CN101753561B (zh) 业务的集群处理方法及集群系统
CN105163297A (zh) 跨操作系统接收彩信的方法及系统
CN101330664A (zh) 多媒体业务的实现方法、系统和装置
CN101951596A (zh) 移动通信终端信息导入方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210127

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160907

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Message synchronization method and platform, network server and adaptation server

Granted publication date: 20191108

License type: Common License

Record date: 20210531

EE01 Entry into force of recordation of patent licensing contract