CN113285994A - 消息发送方法、装置、服务器及存储介质 - Google Patents
消息发送方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN113285994A CN113285994A CN202110536492.6A CN202110536492A CN113285994A CN 113285994 A CN113285994 A CN 113285994A CN 202110536492 A CN202110536492 A CN 202110536492A CN 113285994 A CN113285994 A CN 113285994A
- Authority
- CN
- China
- Prior art keywords
- server
- message
- identifier
- long connection
- target device
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000010408 sweeping Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
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
-
- 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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种消息发送方法、装置、服务器及存储介质。所述方法包括:接收经由长连接传送的目标设备的设备唯一标识;确定所述设备唯一标识和会话标识之间的第一对应关系,其中,所述会话标识用于确定所述目标设备与接入层服务器之间建立的长连接;基于所述第一对应关系,将消息经由所述长连接发送至所述目标设备。通过上述方法,根据设备唯一标识和会话标识之间的对应关系将消息经由长连接发送给目标设备,进而实现了将后端服务器发送的消息路由到目标设备。
Description
技术领域
本申请属于物联网技术领域,具体涉及一种消息发送方法、装置、服务器及存储介质。
背景技术
在物联网微服务系统中,往往会有大量终端设备与服务器进行长连接,终端设备通过长连接向服务器发送数据,但在后端服务器想要给终端设备发送消息时却存在无法将消息准确推送的问题,故还需要提供一种将消息由后端服务器路由到设备的方案。
发明内容
鉴于上述问题,本申请提出了一种消息发送方法、装置、服务器以及存储介质,以改善上述问题。
第一方面,本申请实施例提供了一种消息发送方法,应用于后端服务器,所述方法包括:接收经由长连接传送的目标设备的设备唯一标识;确定所述设备唯一标识和会话标识之间的第一对应关系,其中,所述会话标识用于确定所述目标设备与接入层服务器之间建立的长连接;基于所述第一对应关系,将消息经由所述长连接发送至所述目标设备。
第二方面,本申请实施例提供了一种消息发送方法,应用于接入层服务器,所述方法包括:接收后端服务器发送的消息;将所述消息经由长连接发送给目标设备,发送所述消息的所述长连接为基于所述目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。
第三方面,本申请实施例提供了一种消息发送装置,运行于后端服务器,所述装置包括:标识接收单元,用于接收经由长连接传送的目标设备的设备唯一标识;关系确定单元,用于确定所述设备唯一标识和会话标识之间的第一对应关系,其中,所述会话标识用于确定所述目标设备与接入层服务器之间建立的长连接;消息发送单元,用于基于所述第一对应关系,将消息经由长连接发送至所述目标设备。
第四方面,本申请实施例提供了一种消息发送装置,运行于接入层服务器,所述装置包括:消息接收单元,用于接收后端服务器发送的消息;消息发送单元,用于将所述消息经由长连接发送给目标设备,发送所述消息的所述长连接为基于所述目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。
第五方面,本申请实施例提供了一种服务器,包括一个或多个处理器以及存储器;一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码运行时执行上述的方法。
本申请实施例提供了一种消息转发方法、装置、服务器及存储介质。首先接收经由长连接传送的目标设备的唯一标识,然后确定设备唯一标识和会话标识之间的第一对应关系,其中,会话标识用于确定目标设备与接入层服务器之间建立的长连接,最后基于第一对应关系,将消息经由长连接发送至目标设备。通过上述方法,根据设备唯一标识和会话标识之间的对应关系将消息经由长连接发送给目标设备,进而实现了将后端服务器发送的消息路由到目标设备。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一实施例提出的一种消息发送方法的应用场景示意图;
图2示出了本申请一实施例提出的一种消息发送方法的流程图;
图3示出了本申请另一实施例提出的一种消息发送方法的流程图;
图4示出了本申请再一实施例提出的一种消息发送方法的流程图;
图5示出了本申请又一实施例提出的一种消息发送方法的流程图;
图6示出了本申请实施例提出的一种消息发送装置的结构框图;
图7示出了本申请实施例提出的另一种消息发送装置的结构框图;
图8示出了本申请实施例提出的再一种消息发送装置的结构框图;
图9示出了本申请实时中的用于执行根据本申请实施例的消息发送方法的服务器的结构框图;
图10示出了本申请实时中的用于保存或者携带实现根据本申请实施例的消息发送方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
消息推送是指客户端能自动收到服务器端发送的消息,其目的是为了让用户获取到最新的消息和数据,使用户能够及时查看到最新消息,提升用户体验。
而发明人在对相关的消息发送方法的研究中发现,在物联网微服务系统中,往往会有大量终端设备与服务器进行长连接,终端设备通过长连接向服务器发送数据,但在后端服务器想要给众多终端设备中的其中一台发送消息时,却存在无法将消息准确推送的问题,故还需要提供一种将消息由后端服务器路由到设备的方案。
因此,发明人提出了本申请中的首先接收经由长连接传送的目标设备的唯一标识,然后确定设备唯一标识和会话标识之间的第一对应关系,其中,会话标识用于确定目标设备与接入层服务器之间建立的长连接,最后基于第一对应关系,将消息经由长连接发送至目标设备,根据设备唯一标识和会话标识之间的对应关系将消息经由长连接发送给目标设备,进而实现了将后端服务器发送的消息路由到目标设备的消息发送方法、装置、服务器以及存储介质。
下面针对本发明实施提供的消息发送方法的应用环境进行介绍:
请参阅图1,本发明实施提供的消息发送方法可以应用于通信系统100,所述通信系统100包括接入层服务器110、后端服务器120、设备130以及登录服务器140。其中,接入层服务器110可以是一个服务器集群,可以包括若干个接入层服务器,如图1所示,可以包括接入层服务器1、接入层服务器2、...、接入层服务器n等。在本申请实施例中,所述通信系统100可以为物联网微服务系统。
后端服务器120也可以为多个设备消息服务器组成的服务器集群,后端服务器120与接入层服务器110进行连接,用于向接入层服务器发送消息。例如,后端服务器可以根据设备唯一标识,确定与设备唯一标识对应的接入层服务器标识,进而可以通过接入层服务器标识确定对应的接入层服务器,在确定了对应的接入层服务器后,后端服务器将消息发送给对应的接入层服务器。
设备130可以为多种不同的设备,如图1所示,设备130可以包括设备1、设备2、设备3、设备4、...、设备n等。设备130具体可以是台式终端或者移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。进一步地,设备130中安装有各种系统或者应用的客户端,例如电商应用、电子银行应用、游戏应用、内容管理系统、客户关系管理系统和运营商资费配置系统等。在本申请实施例中,以移动终端进行举例。在移动终端上,各种应用的客户端可以通过浏览器入口接入网络,与接入层服务器110进行通信。
设备130,用于向接入层服务器110发送登录请求,接入层服务器110与设备130建立长连接,用于接收登录请求,进而由接入层服务器110将登录请求发送给登录服务器140,以使登录服务器140对设备130进行验证。其中,长连接指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
下面将结合附图具体描述本申请的各实施例。
请参阅图2,本申请实施例提供的一种消息发送方法,应用于后端服务器,所述方法包括:
步骤S110:接收经由长连接传送的目标设备的设备唯一标识。
在本申请实施例中,所述目标设备可以为图1中的设备1、设备2、...、设备n中的任意一个设备。所述目标设备可以为多种不同类型的设备,示例性的,目标设备可以为智能设备,如空调、扫地机器人等智能家居设备,目标设备也可以为终端设备,如智能手机、平板电脑等。所述设备唯一标识为可以识别区分不同设备的设备标识,设备唯一标识可以包括国际移动用户识别码(International MobileSubscriber Identification Number,IMSI)、国际移动设备识别码(InternationalMobile Equipment Identity,IMEI)、移动设备识别码(Mobile Equipment Identifier,MEID、CDMA电子序列码(Electronic Serial Number,ESN)、和产品序列号(Serial Number)等。在本申请实施例中不限定具体的标识,该标识能够唯一标识该目标设备即可。可选的,设备唯一标识也可以为按照一定规则生成的设备的设备标识,比如,可以结合目标设备的序列号以及目标设备的设备厂商标识MID和产品标识PID生成设备的设备唯一标识,具体的,将目标设备的序列号、设备厂商标识以及产品标识进行拼接,得到目标设备的设备唯一标识。本申请实施例中,设备厂商标识MID可用于表征一个目标设备的生产厂商标识,而产品标识PID可用于表征该一个目标设备的所属产品类型(如,净水器,冰箱等)。
作为一种实施方式,当后端服务器想要向目标设备发送消息时,后端服务器可以先获取目标设备的设备唯一标识,进而可以根据目标设备的设备唯一标识,将消息发送给目标设备。在本申请实施例中,目标设备可以为后端服务器向其发送标识获取请求的设备。
在本申请实施例中,所述目标设备的设备唯一标识可以为预先存储在后端服务器的存储区域中获取的,也可以为由外部设备发送的,其中,外部设备可以为预先与后端服务器进行通信连接的设备。当后端服务器向设备发送消息时,后端服务器可以先从外部设备获取设备的设备唯一标识,进而可以根据获取的设备唯一标识确定消息发送的目标设备。
步骤S120:确定所述设备唯一标识和会话标识之间的第一对应关系,其中,所述会话标识用于确定所述目标设备与接入层服务器之间建立的长连。
在本申请实施例中,所述会话标识为全球标识唯一会话的信息。例如,会话标识可以为会话对应的身份认证,或者其他自定义的用于区别与其他会话的唯一标识。在此不做具体限定。本申请实施例中会话可以为协议数据单元会话(Protocol Data UnitSession,PDU Session),或者其他。在此不做具体限定。所述第一对应关系可以从分布式缓存数据库中获取。具体的,分布式缓存数据库中预先存储有多个设备的设备唯一标识和多个会话标识之间的一一对应关系,设备唯一标识和会话标识之间的对应关系为设备和接入层服务器建立长连接后,设备向接入层服务器发送登录请求,进而接入层服务器将登录请求发送给登录服务器,登录服务器对发送登录请求的设备进行鉴权成功后建立存储的。其中,所述多个设备的设备唯一标识和多个会话标识之间的一一对应关系可以理解为一个设备唯一标识对应一个会话标识,一个会话标识对应一个设备唯一标识。示例性的,多个设备可以包括设备1、设备2、设备3、...、设备n,多个设备的设备唯一标识分别为设备标识1、设备标识2、设备标识3、...、设备标识n,多个会话标识可以包括会话标识1、会话标识2、会话标识3、...、会话标识n,因此,多个设备的设备唯一标识和多个会话标识之间的一一对应关系可以如下表所示:
设备 | 设备唯一标识 | 会话标识 |
设备1 | 设备标识1 | 会话标识1 |
设备2 | 设备标识2 | 会话标识2 |
设备3 | 设备标识3 | 会话标识3 |
... | ... | ... |
设备n | 设备标识n | 会话标识n |
根据上表的方式,通过“设备”、“设备唯一标识”、“会标标识”这三个字段对设备的不同信息进行存储,通过上表可知,设备1的设备标识1对应会话标识1;设备2的设备标识2对应会话标识2。
设备向接入层服务器发送登录请求时,设备将对应的设备唯一标识发送给接入层服务器,进而接入层服务器将登录请求发送给登录服务器时,将设备唯一标识也发送给登录服务器。登录服务器根据接收到的登录请求以及设备唯一标识对发送登录请求的设备进行鉴权,在登录服务器对设备进行鉴权成功后,在分布式缓存数据库中存储设备唯一标识和会话标识的对应关系。
当接收到经由长连接传送的目标设备的设备唯一标识后,从分布式缓存数据库中查找存储的设备唯一标识和会标标识之间的对应关系,确定与该设备唯一标识对应的会话标识。具体的,设备唯一标识和会标标识之间的对应关系可以用如上表的方式进行存储,进而后端服务器在获取到目标设备的设备唯一标识时,可以通过遍历查表的方式,来确定与目标设备的设备唯一标识对应的会话标识。
步骤S130:基于所述第一对应关系,将消息经由所述长连接发送至所述目标设备。
在本申请实施例中,后端服务器可以先将第一对应关系以及消息发送给接入层服务器,进而由接入层服务器将消息发送给目标设备。
作为一种方式,将消息发送给所述接入层服务器,以使所述接入层服务器确定与所述第一对应关系对应的所述长连接,将所述消息经由所述长连接发送至所述目标设备,所述消息中包括所述第一对应关系。
在本申请实施例中,接入层服务器可以通过分布式缓存数据库中存储的对应关系查找到与设备唯一标识对应的会话标识,当接入层服务器查找到与设备唯一标识对应的会话标识后,可以根据会话标识和长连接之间的对应关系确定与会话标识对应的长连接,进而可以通过与会话标识对应的长连接将消息发送给目标设备。
可选的,后端服务器可以将消息和第一对应关系发送给接入层服务器,以使接入层服务器确定与第一对应关系对应的长连接,进而接入层服务器可以将消息经由长连接发送给目标设备,其中,所述消息中可以不包括第一对应关系,后端服务器在向接入层服务器发送消息时,可以将第一对应关系同时发送,在本申请实施例中,消息中可以包括控制目标设备执行相应操作的控制指令。
可选的,所述后端服务器中可以预先存储有定时控制设备执行相应指令的控制指令,当后端服务器检测到达预设时间时,可以根据获取到的设备唯一标识查找到对应的目标设备,进而可以向目标设备发送控制指令,进而目标设备可以执行相应的操作。
本申请提供的一种消息发送方法,先接收经由长连接传送的目标设备的唯一标识,然后确定设备唯一标识和会话标识之间的第一对应关系,其中,会话标识用于确定目标设备与接入层服务器之间建立的长连接,最后基于第一对应关系,将消息经由长连接发送至目标设备。通过上述方法,根据设备唯一标识和会话标识之间的对应关系将消息经由长连接发送给目标设备,进而实现了将后端服务器发送的消息路由到目标设备。
请参阅图3,本申请实施例提供的一种消息发送方法,应用于后端服务器,所述方法包括:
步骤S210:接收经由长连接传送的目标设备的设备唯一标识。
步骤S210具体可以参照上述实施例中的详细解释,故不在本实施例进行赘述。
步骤S220:确定所述设备唯一标识、会话标识以及多个所述接入层服务器的接入层服务器标识之间的第二对应关系。
在本申请实施例中,所述接入层服务器标识为为全球标识唯一服务器的信息。例如,接入层服务器标识可以为接入层服务器的身份认证,或者其他自定义的用于区别与其他接入层接入层服务器的唯一标识。在此不做具体限定。所述第二对应关系可以从分布式缓存数据库中获取。具体的,分布式缓存数据库中预先存储有多个设备的设备唯一标识和多个会话标识以及多个接入层服务器标识之间的一一对应关系,设备唯一标识、会话标识以及接入层服务器标识之间的对应关系为设备和接入层服务器建立长连接后,设备向接入层服务器发送登录请求,进而接入层服务器将登录请求发送给登录服务器,登录服务器对发送登录请求的设备进行鉴权成功后建立存储的。当设备向接入层服务器发送登录请求时,设备将对应的设备唯一标识发送给接入层服务器,进而接入层服务器将登录请求发送给登录服务器时,将设备唯一标识也发送给登录服务器,同时,接入层服务器将对应的接入层服务器标识也发送给登录服务器。登录服务器根据接收到的登录请求以及设备唯一标识对发送登录请求的设备进行鉴权,在登录服务器对设备进行鉴权成功后,在分布式缓存数据库中存储设备唯一标识、会话标识以及接入层服务器标识之间的对应关系。
步骤S230:将消息发送给所述接入层服务器,以使所述接入层服务器确定与所述第二对应关系对应的所述长连接以及所述接入层服务器,所述消息中包括所述第二对应关系。
当接收到经由长连接传送的目标设备的设备唯一标识后,从分布式缓存数据库中存储的对应关系进行查找,确定与该设备唯一标识对应的会话标识以及接入层服务器标识。进而根据会话标识可以确定与该会话标识对应的长连接,以及根据接入层服务器标识可以确定与该接入层服务器标识对应的接入层服务器。
在确定了与第二对应关系对应的长连接以及接入层服务器之后,后端服务器将携带第二对应关系的消息发送给对应的接入层服务器,以使该接入层服务器将消息通过对应的长连接发送给目标设备。
可选的,在确定了与第二对应关系对应的长连接以及接入层服务器之后,后端服务器可以将第二对应关系以及消息发送给对应的接入层服务器,以使接入层服务器将消息通过长连接发送给目标设备。其中,所述消息在中可以不包括第二对应关系,后端服务器可以将消息以及第二对应关系作为一个数据发送给接入层服务器。
步骤S240:将所述消息经由所述长连接发送至所述目标设备。
步骤S240具体可以参照上述实施例中的详细解释,故不在本实施例进行赘述。
本申请提供的一种消息发送方法,首先接收经由长连接传送的目标设备的设备唯一标识,然后确定设备唯一标识、会话标识以及多个接入层服务器的接入层服务器标识之间的第二对应关系,将消息发送给接入层服务器,以使接入层服务器确定与第二对应关系对应的长连接以及接入层服务器,最后接入层服务器将消息经由长连接发送至目标设备。通过上述方法,根据设备唯一标识、会话标识以及接入层服务器标识之间的对应关系将消息通过接入层服务器经由长连接发送给目标设备,进而实现了将后端服务器发送的消息路由到目标设备。
请参阅图4,本申请实施例提供的一种消息发送方法,应用于接入层服务器,所述方法包括:
步骤S310:接收后端服务器发送的消息。
步骤S320:将所述消息经由长连接发送给目标设备,发送所述消息的所述长连接为基于所述目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。
步骤S310以及步骤S320具体可以参照上述实施例中的详细解释,故不在本实施例进行赘述。
本申请提供的一种消息发送方法,首先有接入层服务器接收后端服务器发送的消息,然后由接入层服务器将消息经由长连接发送给目标设备,发送消息的长连接为基于目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。通过上述方法,根据设备唯一标识和会话标识之间的对应关系将消息经由长连接发送给目标设备,进而实现了将后端服务器发送的消息路由到目标设备。
请参阅图5,本申请实施例提供的一种消息发送方法,应用于接入层服务器,所述方法包括:
步骤S410:接收所述目标设备发送的登录请求,其中,所述登录请求中包括所述目标设备与所述接入层服务器之间的会话标识和所述目标设备的设备唯一标识。
在本申请实施例中,所述目标设备可以为多种不同类型的设备,示例性的,目标设备可以为智能设备,如空调、扫地机器人等智能家居设备,目标设备也可以为终端设备,如智能手机、平板电脑等。所述登录请求为用户登录网站或程序应用系统的请求,登录成功后,用户就可以合法地使用该账号具有的各项能力,例如,邮箱用户可以收发邮件、查看/更改通讯录等等;论坛用户可以查看/更改资料,收发帖子等等;即时通讯应用可以收发消息、查看/更改资料、查看/更改关系链信息、调整设备的各项参数等等。
在接入层服务器接收目标设备发送的登录请求之前,接入层服务器会先与目标设备建立长连接,进而目标设备可以基于建立的长连接向接入层服务器发送登录请求。
在目标设备与接入层服务器建立长连接时,目标设备可以通过传输控制协议(Transmission Control Protocol,TCP)或安全套接层协议(Secure Sockets Layer,SSL)与接入层服务器建立长连接。在本申请实施例中,接入层服务器为多个,目标设备在与接入层服务器建立长连接时,具体该与哪一个接入层服务器建立长连接还不确定,因此,在目标设备与接入层服务器建立长连接时,目标设备先向接入层服务器发送建立长连接请求,进而可以通过负载均衡器将该建立长连接请求分散到多个接入层服务器中的可用接入层服务器上去,进而目标设备可以与该可用接入层服务器建立长连接。
当目标设备和接入层服务器建立了长连接后,接入层服务器会创建对应的会话标识,并将该会话标识发送给目标设备,同时接入层服务器也可以建立会话标识和长连接之间的对应关系并进行存储。
当目标设备检测到有用户输入的账号信息进行登录时,生成与该账号信息对应的登录请求,在生成登录请求后,目标设备通过建立的长连接向接入层服务器发送携带有目标设备与接入层服务器之间的会话标识和目标设备的设备唯一标识的登录请求。
由于目标设备中可以安装有各种系统或者各种应用的客户端,因此,在本申请实施例中,用户输入的账号信息可以有多种,比如账号信息可以为即时通讯账号信息(如QQ号)、微博、社区账号、用户自定义账户等各种应用账号信息。
可选的,在接入层服务器接收目标设备发送的登录请求之前,目标设备可以先向接入层服务器发送设备注册请求,接入层服务器可以将设备注册请求发送给登录服务器,进而登录服务器可以根据设备注册请求对目标设备进行注册。
具体的,设备注册请求中可以包括账号信息。在接入层服务器将包括有账号信息的设备注册请求发送给登录服务器后,登录服务器可以根据设备注册请求中的账号信息随机生成一个与该账号信息相关联的ID,该ID为一次性使用,即设个ID是一次性ID,在目标设备注册成功后,该ID失效。
进一步的,可以通过多种方式来触发目标设备向接入层服务器发送设备注册请求。作为其中一种实施方式,可以在登录服务器提供的用户操作界面上设置添加设备选项,进而,用户可以点击添加设备选项,以此来触发设备注册请求。
步骤S420:将所述登录请求发送给登录服务器,以使所述登录服务器对所述目标设备进行鉴权操作。
作为一种实施方式,接入层服务器在接收到目标设备发送的登录请求后,接入层服务器将登录请求转发给登录服务器,进而登录服务器可以对发送登录请求的目标设备进行鉴权操作,确定目标设备是否登录成功。
在本申请实施例中,所述登录服务器可以设置有若干个,且每个登录服务器的存储区域中可以同时存储多个目标设备的设备唯一标识符。当登录服务器接收到登录请求时,可以查找存储区域中是否存储有登录请求中携带的设备唯一标识。
具体的,登录服务器中可以预先建有一个设备列表,用于存储不同的目标设备的设备唯一标识。登录服务器在接收到登录请求后,先确定设备唯一标识是否存在于设备列表中,在确定设备唯一标识存在于设备列表中的情况下,再根据登录请求,生成登录验证结果。
在本申请实施例中,所述登录请求中还可以包括登录账号以及密码。当登录服务器首次根据登录请求,生成登录验证结果时,可以先根据登录请求中的设备唯一标识,生成登录验证结果。具体的,若在设备列表中查找到对应的设备唯一标识,则生成登录成功的登录验证结果,同时可以将登录请求中携带的登录账号以及密码进行存储。
进而,在再次接收到该目标设备发送的登录请求时,登录服务器先在设备列表中查找是否存在设备唯一标识,若存在,则对登录请求中的账号和密码等进行校验,若校验通过,则生成登录成功的登录验证结果;若校验不通过,则生成登录失败的登录验证结果。
可选的,在接入层服务器将登录请求发送给登录服务器时,可以同时将接入层服务器对应的接入层服务器标识发送给登录服务器,以使登录服务器在对目标设备进行鉴权成功后,建立会话标识、目标设备的设备唯一标识以及接入层服务器标识之前的对应关系。
步骤S430:若接收到所述登录服务器发送的表征所述目标设备登录成功的消息,存储所述会话标识、所述设备唯一标识以及多个所述接入层服务器的接入层服务器标识之间的第二对应关系。
在本申请实施例中,若接入层服务器接收到登录服务器发送的表征目标设备登录成功的消息,将登录请求中携带的会话标识、目标设备的设备唯一标识以及多个接入层服务器的接入层服务器标识建立一一对应的对应关系,并将该对应关系存储在分布式缓存数据库中(如Redis数据库)。
可选地,若接收到所述登录服务器返回的所述设备唯一标识在所述设备列表中不存在的提示信息;根据所述提示信息,对所述设备唯一标识在所述设备列表中不存在进行提示。
例如,用户第一次使用目标设备上安装的应用程序进行登录,或者还未将用户的目标设备的设备唯一标识添加到登录服务器中预先建立的设备列表中,在填写相关信息点击登录时,登录服务器返回设备唯一标识在设备列表中不存在的提示信息,目标设备可以弹窗提示“该设备尚未授权”,此时,需将设备唯一标识添加到登录服务器中预先建立的设备列表中,用户可通过目标设备上的应用程序或者邮件等方式发送给相关负责人将设备唯一标识添加到设备列表中。
步骤S440:以所述接入层服务器标识作为关键字,建立消息队列。
作为一种实施方式,所述消息队列用于接收转发后端服务器发送的消息。以每一个接入层服务器的接入层服务器标识为关键字,为每一个接入层服务器建立一个对应的消息队列。其中,建立的消息队列可以为RabbitMQ队列、ActiveMQ队列、RocketMQ队列以及Kafka队列中的一种。
在为每一接入层服务器建立好各自对应的消息队列后,可以将消息队列的队列名称的格式设置为接入层服务器标识加ip地址,可以通过接入层服务器标识或者ip地址查找到对应的消息队列。
步骤S450:通过所述消息队列接收所述后端服务器发送的消息。
在通过接入层服务器标识确定了对应的消息队列后,通过该消息队列接收后端服务器发送的消息。
步骤S460:将所述消息经由长连接发送给目标设备,发送所述消息的所述长连接为基于所述目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。
步骤S460具体可以参照上述实施例中的详细解释,故不在本实施例进行赘述。
本申请提供的一种消息发送方法,首先由接入层服务器接收目标设备发送的登录请求,其中,登录请求中包括目标设备与接入层服务器之间的会话标识和目标设备的设备唯一标识,然后由接入层服务器将登录请求发送给登录服务器,以使登录服务器对目标设备进行鉴权操作,若接入层服务器接收到登录服务器发送的表征目标设备登录成功的消息,存储会话标识、设备唯一标识以及多个接入层服务器的接入层服务器标识之间的第二对应关系,再以接入层服务器标识作为关键字,建立消息队列,通过消息队列接收后端服务器发送的消息,最后将消息经由长连接发送给目标设备,发哦送消息的长连接为基于目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。通过上述方法,根据设备唯一标识和会话标识之间的对应关系将消息经由长连接发送给目标设备,进而实现了将后端服务器发送的消息路由到目标设备。
请参阅图6,本申请实施例提供的一种消息发送装置500,运行于后端服务器,所述装置500包括:
标识接收单元510,用于接收经由长连接传送的目标设备的设备唯一标识。
关系确定单元520,用于确定所述设备唯一标识和会话标识之间的第一对应关系,其中,所述会话标识用于确定所述目标设备与接入层服务器之间建立的长连接。
作为一种方式,所述关系确定单元520用于确定所述设备唯一标识、会话标识以及多个所述接入层服务器的接入层服务器标识之间的第二对应关系。
作为另一种方式,所述关系确定单元520还用于基于所述第二对应关系,确定与所述设备唯一标识对应的长连接以及接入层服务器。
消息发送单元530,用于基于所述第一对应关系,将消息经由长连接发送至所述目标设备。
作为一种方式,所述消息发送单元530用于将消息发送给所述接入层服务器,以使所述接入层服务器确定与所述第一对应关系对应的所述长连接,所述消息中包括所述第一对应关系;将所述消息经由所述长连接发送至所述目标设备。
请参阅图7,本申请实施例提供的一种消息发送装置600,运行于接入层服务器,所述装置600包括:
消息接收单元610,用于接收后端服务器发送的消息。
作为一种方式,所述消息接收单元610用于以所述接入层服务器标识作为关键字,建立消息队列;通过所述消息队列接收所述后端服务器发送的消息。
消息发送单元620,用于将所述消息经由长连接发送给目标设备,发送所述消息的所述长连接为基于所述目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。
请参阅图8,所述装置600还包括:
请求接收单元630,用于接收所述目标设备发送的登录请求,其中,所述登录请求中包括所述目标设备与所述接入层服务器之间的会话标识和所述目标设备的设备唯一标识。
鉴权单元640,用于将所述登录请求发送给登录服务器,以使所述登录服务器对所述目标设备进行鉴权操作。
存储单元650,用于若接收到所述登录服务器发送的表征所述目标设备登录成功的消息,存储所述会话标识、所述设备唯一标识以及多个所述接入层服务器的接入层服务器标识之间的第二对应关系。
需要说明的是,本申请中装置实施例与前述方法实施例是相互对应的,装置实施例中具体的原理可以参见前述方法实施例中的内容,此处不再赘述。
下面将结合图9对本申请提供的一种服务器进行说明。
请参阅图9,基于上述的消息发送方法、装置,本申请实施例还提供的另一种可以执行前述消息发送方法的服务器800。服务器800包括相互耦合的一个或多个(图中仅示出一个)处理器802、存储器804以及网络模块806。其中,该存储器804中存储有可以执行前述实施例中内容的程序,而处理器802可以执行该存储器804中存储的程序。
其中,处理器802可以包括一个或者多个处理核。处理器802利用各种接口和线路连接整个服务器800内的各个部分,通过运行或执行存储在存储器804内的指令、程序、代码集或指令集,以及调用存储在存储器804内的数据,执行服务器800的各种功能和处理数据。可选地,处理器802可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器802可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器802中,单独通过一块通信芯片进行实现。
存储器804可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器804可用于存储指令、程序、代码、代码集或指令集。存储器804可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端800在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
所述网络模块806用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯,例如和音频播放设备进行通讯。所述网络模块806可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。所述网络模块806可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。例如,网络模块806可以与基站进行信息交互。
请参考图10,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质900包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
本申请提供的一种消息发送方法、装置、服务器以及存储介质,首先接收经由长连接传送的目标设备的唯一标识,然后确定设备唯一标识和会话标识之间的第一对应关系,其中,会话标识用于确定目标设备与接入层服务器之间建立的长连接,最后基于第一对应关系,将消息经由长连接发送至目标设备。通过上述方法,根据设备唯一标识和会话标识之间的对应关系将消息经由长连接发送给目标设备,进而实现了将后端服务器发送的消息路由到目标设备。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (10)
1.一种消息发送方法,其特征在于,应用于后端服务器,所述方法包括:
接收经由长连接传送的目标设备的设备唯一标识;
确定所述设备唯一标识和会话标识之间的第一对应关系,其中,所述会话标识用于确定所述目标设备与接入层服务器之间建立的长连接;
基于所述第一对应关系,将消息经由所述长连接发送至所述目标设备。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一对应关系,将消息经由长连接发送至所述目标设备,包括:
将消息发送给所述接入层服务器,以使所述接入层服务器确定与所述第一对应关系对应的所述长连接,所述消息中包括所述第一对应关系;
将所述消息经由所述长连接发送至所述目标设备。
3.根据权利要求2所述的方法,其特征在于,所述接入层服务器为多个,所述确定所述设备唯一标识和会话标识之间的第一对应关系,包括:
确定所述设备唯一标识、会话标识以及多个所述接入层服务器的接入层服务器标识之间的第二对应关系;
所述基于所述第一对应关系,确定与所述设备唯一标识对应的长连接,包括:
基于所述第二对应关系,确定与所述设备唯一标识对应的长连接以及接入层服务器。
4.一种消息发送方法,其特征在于,应用于接入层服务器,所述方法包括:
接收后端服务器发送的消息;
将所述消息经由长连接发送给目标设备,发送所述消息的所述长连接为基于所述目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。
5.根据权利要求4所述的方法,其特征在于,所述接入层服务器为多个,所述接收后端服务器发送的消息之前还包括:
接收所述目标设备发送的登录请求,其中,所述登录请求中包括所述目标设备与所述接入层服务器之间的会话标识和所述目标设备的设备唯一标识;
将所述登录请求发送给登录服务器,以使所述登录服务器对所述目标设备进行鉴权操作;
若接收到所述登录服务器发送的表征所述目标设备登录成功的消息,存储所述会话标识、所述设备唯一标识以及多个所述接入层服务器的接入层服务器标识之间的第二对应关系。
6.根据权利要求4所述的方法,其特征在于,所述接收后端服务器发送的消息,包括:
以所述接入层服务器标识作为关键字,建立消息队列;
通过所述消息队列接收所述后端服务器发送的消息。
7.一种消息发送装置,其特征在于,运行于后端服务器,所述装置包括:
标识接收单元,用于接收经由长连接传送的目标设备的设备唯一标识;
关系确定单元,用于确定所述设备唯一标识和会话标识之间的第一对应关系,其中,所述会话标识用于确定所述目标设备与接入层服务器之间建立的长连接;
消息发送单元,用于基于所述第一对应关系,将消息经由长连接发送至所述目标设备。
8.一种消息发送装置,其特征在于,运行于接入层服务器,所述装置包括:
消息接收单元,用于接收后端服务器发送的消息;
消息发送单元,用于将所述消息经由长连接发送给目标设备,发送所述消息的所述长连接为基于所述目标设备的设备唯一标识和会话标识之间的第一对应关系确定的。
9.一种服务器,其特征在于,包括一个或多个处理器以及存储器;一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行权利要求1-3任一或权利要求4-6任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,其中,在所述程序代码被处理器运行时执行权利要求1-3任一或权利要求4-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110536492.6A CN113285994A (zh) | 2021-05-17 | 2021-05-17 | 消息发送方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110536492.6A CN113285994A (zh) | 2021-05-17 | 2021-05-17 | 消息发送方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113285994A true CN113285994A (zh) | 2021-08-20 |
Family
ID=77279442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110536492.6A Pending CN113285994A (zh) | 2021-05-17 | 2021-05-17 | 消息发送方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113285994A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113747100A (zh) * | 2021-08-24 | 2021-12-03 | 深圳Tcl新技术有限公司 | 音视频通话方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965400A (zh) * | 2018-06-25 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 一种信息的处理方法、装置、设备及系统 |
CN109634249A (zh) * | 2019-01-28 | 2019-04-16 | 合肥京东方光电科技有限公司 | 一种智能控制方法、装置及系统 |
CN110071925A (zh) * | 2019-04-25 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 数据传输方法和相应的服务器、计算机可读存储介质 |
CN110300050A (zh) * | 2019-05-23 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN110798471A (zh) * | 2019-10-31 | 2020-02-14 | 宁波奥克斯电气股份有限公司 | 空调管理方法及相关装置 |
CN112650606A (zh) * | 2020-12-30 | 2021-04-13 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置、系统、电子设备及存储介质 |
-
2021
- 2021-05-17 CN CN202110536492.6A patent/CN113285994A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965400A (zh) * | 2018-06-25 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 一种信息的处理方法、装置、设备及系统 |
CN109634249A (zh) * | 2019-01-28 | 2019-04-16 | 合肥京东方光电科技有限公司 | 一种智能控制方法、装置及系统 |
CN110071925A (zh) * | 2019-04-25 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 数据传输方法和相应的服务器、计算机可读存储介质 |
CN110300050A (zh) * | 2019-05-23 | 2019-10-01 | 中国平安人寿保险股份有限公司 | 消息推送方法、装置、计算机设备及存储介质 |
CN110798471A (zh) * | 2019-10-31 | 2020-02-14 | 宁波奥克斯电气股份有限公司 | 空调管理方法及相关装置 |
CN112650606A (zh) * | 2020-12-30 | 2021-04-13 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置、系统、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113747100A (zh) * | 2021-08-24 | 2021-12-03 | 深圳Tcl新技术有限公司 | 音视频通话方法、装置、存储介质及电子设备 |
CN113747100B (zh) * | 2021-08-24 | 2024-01-23 | 深圳Tcl新技术有限公司 | 音视频通话方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10063547B2 (en) | Authorization authentication method and apparatus | |
US9882916B2 (en) | Method for verifying sensitive operations, terminal device, server, and verification system | |
JP6726426B2 (ja) | 端末間のログイン不要方法及び装置 | |
US8619986B2 (en) | Systems and methods for secure communication using a communication encryption bios based upon a message specific identifier | |
US9301136B2 (en) | Apparatus, method, and software for authentication of mobile communication terminals | |
CN113366815B (zh) | 网络资源请求方法、装置、电子设备以及存储介质 | |
CN113316926B (zh) | 域名处理方法、装置、电子设备以及存储介质 | |
CN107196917B (zh) | 一种服务响应方法及其中间件 | |
US20120297031A1 (en) | Anonymous Signalling | |
CN105450643A (zh) | 网络接入的认证方法、装置及系统 | |
CN104092596B (zh) | 一种音乐用户群组的管理方法、装置及系统 | |
CN110401951B (zh) | 认证无线局域网中终端的方法、装置和系统 | |
CN108293055A (zh) | 用于认证到移动网络的方法、设备和系统以及用于将设备认证到移动网络的服务器 | |
CN111865731A (zh) | 智能设备添加方法、装置、智能家居控制面板及存储介质 | |
CN112468540A (zh) | 基于云平台的数据分发方法、设备及介质 | |
US20220292142A1 (en) | Automated web page accessing | |
CN106453349A (zh) | 账号登录方法及装置 | |
CN113285994A (zh) | 消息发送方法、装置、服务器及存储介质 | |
CN104202432B (zh) | 一种远程web管理系统及管理方法 | |
CN111356090B (zh) | 网络的连网方法及其装置、终端和计算机可读存储介质 | |
CN106789843B (zh) | 用于共享上网的方法、portal服务器和系统 | |
CN109429225A (zh) | 消息接收、发送方法及装置、终端、网络功能实体 | |
CN114338132B (zh) | 免密登录方法、客户端应用、运营商服务器及电子设备 | |
CN107534859A (zh) | 一种网络认证方法、客户端、终端设备及平台 | |
EP4102808A1 (en) | Data processing method and apparatus based on instant messaging, device, and medium |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210820 |