CN114598555B - 一种不同平台可切换的播报实现方法及系统 - Google Patents
一种不同平台可切换的播报实现方法及系统 Download PDFInfo
- Publication number
- CN114598555B CN114598555B CN202210496399.1A CN202210496399A CN114598555B CN 114598555 B CN114598555 B CN 114598555B CN 202210496399 A CN202210496399 A CN 202210496399A CN 114598555 B CN114598555 B CN 114598555B
- Authority
- CN
- China
- Prior art keywords
- cloud platform
- broadcast
- broadcasting
- equipment
- data
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- 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
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开一种不同平台可切换的播报实现方法及系统,该方法包括:服务器对接收到的处理请求进行处理并根据处理结果生成处理响应返回给客户端应用,从处理结果中提取播报数据,根据处理请求中的商户码和配置信息判断当前连接的云平台类型,如为第一云平台和第二云平台则服务器通过第一云平台向播报设备发送播报数据进行播报,如播报失败则再通过第二云平台向播报设备发送播报数据进行播报,或服务器通过第二云平台向播报设备发送播报数据进行播报,如播报失败则再通过第一云平台向播报设备发送播报数据进行播报。通过本发明,播报设备无需更新软件,也无需返厂,实现播报设备与多平台之间的连接和播报等业务,实现无缝切换,使用方便,节约成本。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种不同平台可切换的播报实现方法及系统。
背景技术
现有技术中,云音箱、云打印机等终端设备的软件通常只能连接一个平台,例如,连接第三方物联网平台或厂家自己开发的云平台。但是如果终端设备与云平台连接不上时,就无法进行正常工作,使用不便,产品工作效率低,且一个终端设备只能与一个云平台连接,使得进行不同业务时需要多个终端设备,且分别与对应的云平台连接进行工作,增加成本。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种不同平台可切换的播报实现方法及系统。
第一方面,本发明实施例提供了一种不同平台可切换的播报实现方法,包括:
步骤T1:当服务器接收到处理请求时,对处理请求进行处理并根据处理结果生成处理响应返回给客户端应用,从所述处理结果中提取播报数据,根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,如为第一云平台和第二云平台则所述服务器通过第一云平台向所述播报设备发送播报数据进行播报,如播报失败则所述服务器通过第二云平台向所述播报设备发送播报数据进行播报,或所述服务器通过第二云平台向所述播报设备发送播报数据进行播报,如播报失败则所述服务器通过第一云平台向所述播报设备发送播报数据进行播报;
所述服务器通过第一云平台向所述播报设备发送播报数据进行播报,包括:
步骤T2:所述服务器使用第一云平台密钥对所述播报数据进行加密,根据第一结构体将播报数据加密结果、所述商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将所述播报报文发送给第一云平台,如第一云平台接口返回预设错误码则播报失败,否则执行步骤T3;
步骤T3:所述第一云平台解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据所述播报数据加密值和第一云平台标识生成播报请求并推送给与所述设备标识对应的播报设备,同时生成播报响应报文,将所述播报响应报文返回给所述服务器;
步骤T4:所述播报设备解析播报请求,使用与解析结果中的第一云平台标识对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给所述第一云平台;
步骤T5:所述第一云平台解析接收到的消息播报确认响应并记录解析得到的播报结果,返回步骤T1;
所述步骤T1之前还包括:所述第一云平台接收用户在配置中心页面中设置的配置信息并保存,将所述配置信息发送给所述服务器,所述服务器保存接收到的配置信息。
第二方面,本发明实施例又提供一种不同平台可切换的播报实现系统,包括服务器、第一云平台、第二云平台和播报设备;
所述服务器用于当接收到处理请求时,对处理请求进行处理并根据处理结果生成处理响应返回给客户端应用,从所述处理结果中提取播报数据,根据处理请求中的商户码和保存的配置信息判断当前连接的云平台类型,如为第一云平台和第二云平台则将所述播报数据发送给所述第一云平台或所述第二云平台;
所述第一云平台用于接收所述服务器发送的播报数据并转发给所述播报设备;
所述第二云平台用于接收所述服务器发送的播报数据并转发给所述播报设备;
所述播报设备用于接收所述播报数据并进行播报;
所述服务器具体用于使用第一云平台密钥对所述播报数据进行加密,根据第一结构体将播报数据加密结果、所述商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将所述播报报文发送给第一云平台;
所述第一云平台具体用于解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据所述播报数据加密值和第一云平台标识生成播报请求并推送给与所述设备标识对应的播报设备,同时生成播报响应报文,将所述播报响应报文返回给所述服务器;
所述播报设备具体用于解析播报请求,使用与解析结果中的第一云平台对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给所述第一云平台;
所述第一云平台具体用于解析接收到的消息播报确认响应并记录解析得到的播报结果;
所述第一云平台还用于接收用户在配置中心页面中设置的配置信息并保存,将所述配置信息发送给所述服务器;
所述服务器还用于保存接收到的配置信息。
第三方面,本发明实施例又提供一种电子设备,所述电子设备包括至少一个处理器、存储器及存储在所述存储器上并可被所述至少一个处理器执行的指令,所述至少一个处理器执行所述指令以实现上述所述的不同平台可切换的播报实现方法。
第四方面,本发明实施例又提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行上述所述的一种不同平台可切换的播报实现方法。
第五方面,本发明实施例又提供一种芯片系统,包括芯片,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行上述所述的一种不同平台可切换的播报实现方法。
本发明与现有技术相比,具有以下优点:在发明中,用户可以登录第一云平台的配置中心设置配置信息,第一云平台将配置信息发送给服务器,播报设备开机通过配置中心下载该设备的配置信息;后续如配置信息发生变化即用户通过在第一云平台对配置信息进行修改则第一云平台主动通知服务器和播报设备;通过本申请公开的技术方案,播报设备无需更新软件,也无需返厂,可以实现播报设备与多平台之间的连接和播报等业务,实现无缝切换,使用方便,节约成本。
附图说明
图1为本发明实施例一提供的一种不同平台可切换的播报实现方法的流程图;
图2-图5为本发明实施例二提供的一种不同平台可切换的播报实现方法的流程图。
具体实施方式
本申请提出了一种不同平台可切换的播报实现方法及系统,下面结合附图,对本申请具体实施方式进行详细说明。所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例一提供了一种不同平台可切换的播报实现方法,包括:
步骤T1:当服务器接收到处理请求时,对处理请求进行处理并根据处理结果生成处理响应返回给客户端应用,从处理结果中提取播报数据,根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,如为第一云平台和第二云平台则服务器通过第一云平台向播报设备发送播报数据进行播报,如播报失败则服务器通过第二云平台向播报设备发送播报数据进行播报,或服务器通过第二云平台向播报设备发送播报数据进行播报,如播报失败则服务器通过第一云平台向播报设备发送播报数据进行播报;
具体的,在本实施例中,服务器通过第一云平台向播报设备发送播报数据进行播报,如图1所示,包括:
步骤T2:服务器使用第一云平台密钥对播报数据进行加密,根据第一结构体将播报数据加密结果、商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将播报报文发送给第一云平台,如第一云平台接口返回预设错误码则播报失败,否则执行步骤T3;
步骤T3:第一云平台解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第一云平台标识生成播报请求并推送给与设备标识对应的播报设备,同时生成播报响应报文,将播报响应报文返回给服务器;
步骤T4:播报设备解析播报请求,使用与解析结果中的第一云平台标识对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给第一云平台;
步骤T5:第一云平台解析接收到的消息播报确认响应并记录解析得到的播报结果,返回步骤T1;
步骤T1之前还包括:第一云平台接收用户在配置中心页面中设置的配置信息并保存,将配置信息发送给服务器,服务器保存接收到的配置信息。
可选的,在本申请中,播报设备可与一个云平台连接,也可与多个云平台连接,本发明实施例以连接两个云平台为例进行说明;
如步骤T1中根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,还包括:
如为第一云平台则服务器通过第一云平台向播报设备发送播报数据进行播报,如播报失败则报错,结束;
如为第二云平台则服务器通过第二云平台向播报设备发送播报数据进行播报,如播报失败则报错,结束。
进一步地,步骤T1中的根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,包括:服务器根据处理请求中的商户码获取对应的设备标识,根据设备标识获取对应的配置信息,从配置信息中获取类型值,根据类型值判断播报设备连接的云平台的类型,如类型值为第一数据则播报设备连接的云平台为第一云平台,如类型值为第二数据则播报设备连接的云平台为第二云平台,如类型值为第三数据则播报设备连接的云平台为第一云平台和第二云平台。
具体的,在本实施例中,服务器通过第二云平台向播报设备发送播报数据进行播报,包括:
步骤D1:服务器使用第二云平台密钥对播报数据进行加密,根据第二结构体将播报数据加密结果、商户码对应的播报设备的设备标识组织成播报报文,调用第二云平台接口将播报报文发送给第二云平台,如第二云平台接口返回错误码则播报失败, 否则执行步骤D2;
步骤D2:第二云平台解析播报报文,使用第二云平台密钥对解析结果中的播报数据加密结果进行解密,并使用设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第二云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,同时生成播报响应报文并将播报响应报文返回给服务器;
步骤D3:播报设备根据配置信息中的映射数据格式解析播报请求,使用与解析结果中的第二云平台标识对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给第二云平台;
步骤D4:第二云平台解析接收到的消息播报确认响应并记录解析得到的播报结果。
在本实施例中,为防止重复播报消息,可在播报数据中设置消息标识,从播报数据中提取播报内容并进行播报,包括:
播报设备从播报数据中获取消息标识,并判断本地是否保存有消息标识,是则将获取的消息标识与本地保存的消息标识进行比对,如一致则报错,结束,如不一致则从播报数据中提取播报内容并进行播报,并用获取的消息标识更新本地保存的消息标识;否则播报设备从播报数据中提取播报内容并进行播报,保存获取的消息标识。
在本实施例中,在播报过程之前还需提前将播报设备与第一(和/或第二)云平台建立连接,即在步骤T1之前还包括建立连接过程,具体包括:
步骤S1:播报设备从配置信息中获取连接信息和播报配置数据;
步骤S2:播报设备根据连接信息判断可连接云平台的类型,如为第一云平台和第二云平台则播报设备分别与第一云平台和第二云平台建立长连接,如为第一云平台则播报设备与第一云平台建立长连接,如为第二云平台则播报设备与第二云平台建立长连接。
进一步地,播报设备与第一云平台建立长连接,包括:
步骤A1:播报设备根据连接信息、内置的与第一云平台对应的设备密钥和自身的设备标识、用户信息生成连接第一云平台登录请求,并将连接第一云平台登录请求发送给第一云平台;
步骤A2:第一云平台解析连接第一云平台登录请求,并根据解析结果中的设备密钥、设备标识和用户信息对用户身份进行验证,如验证成功则给播报设备返回登录响应并与播报设备保持长连接,如验证失败则向播报设备报错。
可选的,将连接第一云平台登录请求发送给第一云平台之后还包括:如播报设备未收到第一云平台的响应数据时,播报设备间隔第二预设时长后重新发送连接第一云平台登录请求给第一云平台,直到收到第一云平台的响应数据。
在本实施例中,步骤A1之前还包括:播报设备生成用户信息;其中,用户信息包括用户名和用户密码,播报设备生成用户信息,包括:播报设备将第一云平台登录次数、网络类型、播报软件版本号和生成的随机数顺序拼接得到用户名,将设备标识和用户名进行拼接并使用设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串得到用户密码;
相应的,根据解析结果中的设备密钥、设备标识和用户信息对用户身份进行验证,包括:将解析结果中的设备标识和用户信息中的用户名进行拼接,并使用与设备标识对应的设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串,判断转换结果是否与用户信息中的用户密码一致,是则验证成功,否则验证失败。
进一步地,播报设备与第二云平台建立长连接,包括:
步骤B1:播报设备根据连接信息、内置的与第二云平台对应的设备密钥和自身的设备标识、用户信息生成连接第二云平台登录请求并将连接第二云平台登录请求发送给第二云平台;
步骤B2:第二云平台解析连接第二云平台登录请求,并根据解析结果中的设备标识和用户信息对用户身份进行验证,如验证成功则给播报设备返回登录响应并与播报设备保持长连接,如验证失败则向播报设备报错。
可选的,将连接第二云平台登录请求发送给第二云平台之后还包括:如播报设备未收到第二云平台的响应数据时,播报设备间隔第二预设时长后重新发送连接第二云平台登录请求给第二云平台,直到收到第二云平台的响应数据。
在本实施例中,步骤B1之前还包括:播报设备生成用户信息;其中,用户信息包括用户名和用户密码,播报设备生成用户信息,包括:播报设备将交互协议版本号、产品密钥、安全模式、签名方式、时间戳按照顺序用预设字符顺序拼接生成用户名;使用与第二云平台对应的设备密钥对用户名进行签名得到用户密码;
相应的,根据解析结果中的设备标识和用户信息对用户身份进行验证,包括:根据解析结果中的设备标识获取对应的设备密钥,使用获取的设备密钥对用户信息中的用户名进行签名,判断签名结果是否与用户信息中的用户密码一致,是则验证成功,否则验证失败。
在本实施例中,如播报设备是第一次开机则需从第一云平台上获取配置信息并保存,即步骤S1之前还包括:
步骤T1:播报设备开机,判断是否保存有设备密钥,是则执行步骤S1,否则执行步骤T2;
步骤T2:播报设备生成密钥协商请求,并将密钥协商请求发送给第一云平台;
步骤T3:第一云平台解析接收到的密钥协商请求,并根据解析结果判断播报设备是否为合法设备,是则执行步骤T4,否则向播报设备报错,结束;
步骤T4:第一云平台生成设备密钥并与解析结果中的设备标识和预置的产品密钥对应保存,使用产品密钥对设备密钥进行加密并将设备密钥加密结果和第一云平台标识发送给播报设备;
步骤T5:播报设备使用保存的产品密钥对接收到的设备密钥加密结果进行解密并将解密得到的设备密钥、产品密钥和第一云平台标识对应保存;
步骤T6:播报设备根据自身的设备标识组织获取配置请求并将获取配置请求发送给第一云平台;
步骤T7:第一云平台解析获取配置请求,根据解析得到的设备标识查找播报设备的配置信息,并将查找到的配置信息返回给播报设备进行保存,执行步骤S1。
可选的,在本实施例中,步骤T1之前还包括:服务器将商户码与播报设备绑定,具体为:服务器接收客户端应用发送的商户码和播报设备的设备标识并对应进行保存。
可选的,在本实施例中,步骤T1之前还包括:
第一云平台创建应用场景并生成第一云平台密钥,向服务器派发第一云平台密钥,服务器保存收到的第一云平台密钥;
第二云平台创建应用场景并生成第二云平台密钥,向服务器派发第二云平台密钥,服务器保存收到的第二云平台密钥。
可选的,在本实施例中,步骤T1之前还包括:
第一云平台接收用户输入的播报设备的设备标识,生成产品密钥并与设备标识对应保存;
第二云平台接收用户输入的播报设备的设备标识,生成产品密钥和设备密钥并与设备标识对应保存。
可选的,在本实施例中,步骤T2之后还包括:如播报设备在第一预设时间内未收到第一云平台的响应数据时,播报设备重新发送密钥协商请求给第一云平台;
和/或,步骤T6之后还包括:如播报设备在第一预设时间内未收到第一云平台的响应数据时,播报设备重新发送配置请求给第一云平台。
为提高协商密钥过程的安全性,可对通讯数据进行加密处理,即步骤T2具体为:播报设备根据设备标识生成密钥协商数据,使用第一云平台对应的产品密钥对协商密钥数据进行加密生成协商密钥请求,并将密钥协商请求发送给第一云平台;
相应的,步骤T3包括:第一云平台使用保存的产品密钥对接收到的密钥协商请求进行解密,从解密结果中提取设备标识,判断设备标识是否在数据库中,是则判断播报设备为合法设备,执行步骤T4,否则判断播报设备为非法设备,向播报设备报错,结束。
为提高获取配置数据过程的安全性,可对通讯数据进行加密处理,即,步骤T6包括:播报设备根据设备标识生成获取配置请求,使用保存的与第一云平台对应的设备密钥对获取配置请求进行加密得到密文数据,将密文数据和设备标识发送给第一云平台;
相应的,步骤T7包括:第一云平台解析接收到的数据得到设备标识和密文数据,使用保存的与设备标识对应的设备密钥对密文数据进行解密得到获取配置请求,并根据获取配置请求提取保存的与设备标识对应播报设备的配置信息;使用保存的与设备标识对应的设备密钥对配置信息进行加密,并将加密结果和第一云平台标识返回给播报设备,播报设备使用与第一云平台标识对应的设备密钥对加密结果进行解密得到配置信息并保存,执行步骤S1。
在本实施例中,如需对配置信息做修改,即用户通过第一平台修改了配置信息,则第一云平台将接收到的修改后配置信息主动发送给服务器和连接的播报设备;通过本实施例方法,播报设备无需更新软件,也无需返厂,便可以实现播报设备与多平台之间的连接和播报等业务,实现无缝切换,使用方便,节约成本。
实施例二
本发明实施例二提供一种不同平台可切换的播报实现方法,涉及第一云平台和第二云平台,本实施例的方法包括建立连接过程和播报过程,建立连接过程如图2和图3所示,包括:
步骤101:播报设备开机,判断是否保存有设备密钥和配置信息,如均有保存则执行步骤109,如只保存有设备密钥则执行步骤106,如均未保存则生成密钥协商请求,执行步骤102;
可选的,在本实施例中,步骤101之前还包括:服务器将商户码与播报设备绑定,具体为:服务器接收客户端应用发送的商户码和播报设备的设备标识并对应进行保存;
在本实施例中,步骤101之前还包括:第一云平台创建应用场景(即第一云平台厂家和客户(例如银行)的对应关系)并生成第一云平台密钥,向用户的服务器派发第一云平台密钥,服务器保存收到的第一云平台密钥;第一云平台接收用户在配置中心页面中设置的配置信息并保存,将该配置信息返回给服务器;其中,第一云平台接收用户在配置中心页面中设置的配置信息具体为:接收用户在配置中心页面中输入的一个或多个播报设备信息(包括播报设备标识和生产厂商),设置该应用场景下每个播报设备的连接信息和播报配置数据;
每个播报设备的连接信息,包括:每个播报设备可连接的云平台信息(即连接一个云平台(如类型值为第一数据则可连接的云平台为第一云平台,如类型值为第二数据则可连接的云平台为第二云平台)或同时连接多个云平台(如类型值为第三数据则可连接的云平台为第一云平台和第二云平台))、可连接的平台地址及切换策略(播报设备连接多个云平台时服务器优先与第一云平台进行数据交互如第一云平台向服务器报错则服务器连接第二云平台,或服务器优先与第二云平台进行数据交互如第二云平台向服务器报错则服务器连接第一云平台);
播报配置数据包括:第二云平台的映射数据格式、语音模板、语音文件下载地址;
可选的,本实施例中同一客户采购的所有播报设备的配置信息均相同;
例如,本实施例中的第一云平台密钥为19E291DE7E1E497AEB3210948AD863BDEA7F9DD8;
配置信息为:
{
"push_use":3,//平台连接策略,1:仅连接第一云平台;2:仅连接第二云平台;3:同时连接第一云平台和第二云平台;
"server_host": "192.168.0.1",//第一云平台服务器ip
"server_port": 1883,//第一云平台服务器端口
"mqtt_keep_alive_interval": 100,//心跳时间
"timestamp":"yyyyMMddHHmmss",//时间戳
"ali_info":{//第二云平台策略
"JSONCFG": {
"template": {//模板字段类型信息
"txnSeqId": "str",//请求id
"payAccessType": "str",//支付类型
"orderAmount": "str"//交易金额
},
}
"pushid": "txnSeqId",//
"company": "payAccessType",
"money": "orderAmount",
"yuan": 0,
"company_range": {
"1": "1",
"2": "2",
"3": "3",
"104": "4",
"105": "5",
"2543": "6"
}
}
在本实施例中,步骤101之前还包括:第二云平台创建应用场景(即第二云平台厂家和客户(例如银行)的对应关系)并生成第二云平台密钥,向客户的服务器派发第二云平台密钥,服务器保存收到的第二云平台密钥;
例如,本实施例中的第二云平台密钥为00A9D1F4F37A7F7CCBA66F25CBDBDE93D0705B63 ;
在本实施例中,步骤101之前还包括:第一云平台接收用户输入的播报设备的设备标识,生成产品密钥并与设备标识对应保存;
例如,设备标识为:20010000001、1023919443、1023919444……;
在本实施例中,步骤101之前还包括:向第二云平台导入播报设备的设备标识,生成产品密钥和设备密钥并与播报设备的设备标识对应保存;
例如,该步骤中对应保存的设备标识、产品密钥和设备密钥为:20010000001&a1Wq1TyppWD&kHWV0dMzdP59GIL8;
具体的,步骤101中的生成密钥协商请求具体为:播报设备根据设备标识生成密钥协商数据,使用第一云平台对应的产品密钥对协商密钥数据进行加密生成协商密钥请求;
在本实施例中,不同云平台对应不同的产品密钥,产品密钥是播报设备在生产阶段内置到设备中的;
例如:设备标识为20010000001,组装的密钥协商数据为:{"os_version":1000,"random":"00DC0465AA1FAD1D5ADAE5AC1B1E5F13","signature":"27F25A13BDFA3901DA76B669A86908FE0FB3FB72F7016AB6B5E8F79A36536A39"};
生成的密钥协商请求为(使用产品密钥加密)0000040003000000c20000002a0000007b226465765f736e223a223230303130303030303031222c226f735f76657273696f6e223a313030307d900000009f08e88acacadf82c2feb1eac9e59928ad8c900c417824be748b4bfef23e53e6cf69cc791cf9ae25b79c11bc5d7c76c57ec5f87608728cb39213915095d0a54ec45d3129670723486f8393373d78ee630bc02a663d6a4ef702b128ecdd8d21da3e5a63472b793a6aa4b27fdd571414a2512586c7faa785af59f78f2db4345c312d920cf37c295e5e41a8bb6588a507b5。
步骤102:播报设备将密钥协商请求发送给第一云平台;
可选的,在本实施例中,步骤102之后还包括:如播报设备在第一预设时间内未收到第一云平台的响应数据时,播报设备重新发送密钥协商请求给第一云平台;例如,第一预设时间为60S;
步骤103:第一云平台解析接收到的密钥协商请求,并根据解析结果判断播报设备是否为合法设备,是则执行步骤104,否则向播报设备报错,结束;
可选的,本实施例中的步骤103包括:第一云平台使用保存的产品密钥对接收到的密钥协商请求进行解密,从解密结果中提取设备标识,判断设备标识是否在数据库中,是则判断播报设备为合法设备,否则判断播报设备为非法设备;
步骤104:第一云平台生成设备密钥并与提取的设备标识和预置的产品密钥对应保存,使用产品密钥对设备密钥进行加密并将该设备密钥加密结果发送给播报设备;
可选的,本实施例中的一个产品密钥对应多个播报设备;
例如,该步骤中的产品密钥为:FA395E35D291270D513633E81E23B1D929E85CF6BCF639B76256F4DFBBFAC57B;设备密钥为:767A455172647A31524A536F6359785661696C4F4D6E367977306E477A6C4853;设备密钥加密结果为a5ee470c68453ebb68ec12e4ee8ed559dd0630f76323eda12f393aaa029dfe9bfbe8b742c095e06522bb6c88ac63b3b71640fe34181394cc4f7b18b87a9ab675756927644811b401f31920554f5e5bf1c8fd1d18f2c97721d0154b30a637304f725eb8dc3abd38d93907e18e85777a45d29eb9c4a7663199461c015e44934249c86d1bd3b854c76065e57b7fa8c7b4f387dc51a7fb1136974cd46982defb35fdb6beea9738ecd13e2d8c11d886257e7661a810a152948a4d60a84030dc4961ae00c85ffed46f972c53c8ece781f6d6a6;
步骤105:播报设备使用保存的产品密钥对接收到的设备密钥加密结果进行解密并将解密得到的设备密钥、产品密钥和第一云平台标识对应保存,执行步骤106;
在本实施例中的播报设备、第一云平台均保存有设备标识、第一云平台标识和设备密钥的一一对应关系;
例如,本实施例中得到的设备密钥为767A455172647A31524A536F6359785661696C4F4D6E367977306E477A6C4853;
步骤106:播报设备根据设备标识组织获取配置请求并将其发送给第一云平台;
可选的,在本实施例中,根据设备标识组织获取配置请求并将其发送给第一云平台,包括:根据设备标识生成获取配置请求,使用保存的第一云平台对应的设备密钥对获取配置请求进行加密得到密文数据,将密文数据和设备标识发送给第一云平台;
可选的,在本实施例中,步骤106之后还包括:如播报设备在第一预设时间内未收到第一云平台的响应数据时,播报设备重新发送获取配置请求给第一云平台;例如,第一预设时间为60s;
例如,该步骤中组织得到的获取配置数据为{"os_version":1000,"lang_type":0,"IMEI":"866823058592914","IMSI":"9460049629106625","ICCID":"898604520419C1164020","template":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]};
获取配置请求为0000010003000000c0000000180000007b226465765f736e223a223230303130303030303031227da000000018af0b4631e1e7a66f365f722746cb0616db1a6c31a72109f6fb9a077eebff4677444f874a5f3c40994564b00bd751c49ae922766117eb35751295216cc5544d6c9e86f6ce7e2e99ea91e97b017b751941760dfecfd12e7134607fcee0e6f36e6ecde55af47550e5917e51da48c88c63b4937b50c1c0360631af3f9370322d46cd5d548800776b8e9d2fe8e154862ffbe141fa9ee96c7f4898810c1c6cb8ef21;
步骤107:第一云平台解析获取配置请求,并根据解析得到的设备标识查找播报设备的配置信息;
可选的,本实施例中的配置信息包括:播报设备连接的平台信息(即播报设备连接第一云平台、第二云平台、第一云平台和第二云平台)
可选的,在本实施例中,步骤107包括:第一云平台解析接收到的数据得到设备标识和密文数据,使用保存的与设备标识对应的设备密钥对密文数据进行解密得到获取配置请求,并根据获取配置请求提取保存的与设备标识对应播报设备的配置信息;
例如,查询到的配置信息为:
{
"push_use":3,//平台连接策略,1:仅连接第一云平台;2:仅连接第二云平台;3:同时连接第一云平台和第二云平台
"server_host": "192.168.0.1",//第一云平台服务器ip
"server_port": 1883,//第一云平台服务器端口
"mqtt_keep_alive_interval": 100,//心跳时间
"timestamp":"yyyyMMddHHmmss",//时间戳
"ali_info":{//第二云平台策略
"JSONCFG": {
"template": {//模板字段类型信息
"txnSeqId": "str",//请求id
"payAccessType": "str",//支付类型
"orderAmount": "str"//交易金额
},
}
"pushid": "txnSeqId",//
"company": "payAccessType",
"money": "orderAmount",
"yuan": 0,
"company_range": {
"1": "1",
"2": "2",
"3": "3",
"104": "4",
"105": "5",
"2543": "6"
}
}
步骤108:第一云平台将配置信息返回给播报设备,执行步骤109;
可选的,步骤108中第一云平台使用保存的与设备标识对应的设备密钥对配置信息进行加密,并将加密结果和第一云平台标识返回给与设备标识对应的播报设备,播报设备使用与第一云平台标识对应的设备密钥对加密结果进行解密得到配置信息并保存;
例如,本实施例中的加密结果为:e2c3ea550f94cf38323f014b4169b01108839cf8a0d26b57d372a677854f0b36ea6b7cc6e674b67354cad45d523235c557561ae796a02970509c1ada81871e2f4671552eaa80ddf5d0bda7328477d380b11eb53941f9ec786d80e63dbef19d20ffbb8f5907c19629bea1db9bfd9cf8b818bc72d0e8fc10bd13cd9c627e79c76c04ed723101117cca01e849f5fbc9fe42f0470a80bde3850fbf885ebc2d6b8132827f48b0a970e7017e3720e7cf517631403b7e1d4d2b369c0645e77fc2668c694ee2110ade7a18065d8da5755c52a2758080b9ebabf98115d9a7bb74d92549d8aeda5c2a1d8c7bad168d7e53ba595845cea38dd2720da0889755312778e00b2d968fab992f346da71a1d65801bf2a1215904b08a5e64b6d83ed22735000814e967fdfc27e075f89dabedba9a541fcd877b7f7dcb708b3373305475e5d4dc9ab5;
步骤109:播报设备从配置信息中获取连接信息和播报配置数据;
优选的,播报设备使用保存的与第一云平台对应的设备密钥对接收到的数据进行解密得到配置信息,从配置信息中获取连接信息和播报配置数据;
在本实施例中,播报设备可连接不同的云平台,播报设备内保存的多个设备密钥,每个设备密钥与不同的云平台对应;同样的,一个云平台可与多个播报设备连接,云平台上保存多个设备密钥,每个设备密钥与不同的播报设备对应;即播报设备与第一云平台均保存有设备标识、第一云平台标识和设备密钥的一一对应关系,播报设备与第二云平台均保存有设备标识、第二云平台标识和设备密钥的一一对应关系;
步骤110:播报设备根据连接信息判断可连接云平台的类型,如为第一云平台则执行步骤111,如为第二云平台则执行步骤114,如为第一云平台和第二云平台则执行步骤117;
在本实施例中连接信息包括第一云平台地址和第二云平台地址;
步骤111:播报设备根据连接信息、内置的与第一云平台对应的设备密钥和自身的设备标识、用户信息生成连接第一云平台登录请求,并将连接第一云平台登录请求发送给第一云平台;
在本实施例中,用户信息包括用户名和用户密码;具体的在步骤111之前还包括:生成用户信息,具体为:将第一云平台登录次数、网络类型、播报软件版本号和生成的随机数顺序拼接得到用户名,将设备标识和用户名进行拼接并使用与第一云平台对应的设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串得到用户密码;
可选的,在本实施例中,步骤111之后还包括:如播报设备未收到第一云平台的响应数据时,播报设备会间隔预设时长重新发送登录请求给第一云平台直到收到第一云平台的响应数据;具体为:如播报设备在第二预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台,如播报设备在第三预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台,如播报设备在第四预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台,如播报设备在第五预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台,如播报设备在第六预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台直到收到第一云平台的响应数据;第二预设时长为4s、第三预设时长为8s、第四预设时长为16s、第五预设时长为32s、第六预设时长为64s;
例如,本实施例中的登录请求为:
mqtt_params.host =192.168.0.1
mqtt_params.port = 1883
mqtt_params.client_id = 20010000001
mqtt_params.username = cH6pmQEEfAAANC0tEP8Zr2AdBKw=
mqtt_params.password=469082b0f06f27a6b0aade0b9c604170dbdc621291fc7a75180468b3b2c8e16a
mqtt_params.keepalive_interval = 100
其中mqtt_params.host为第一云平台域名地址;mqtt_params.port为第一云平台端口;mqtt_params.client_id为设备标识;mqtt_params.username为用户名;mqtt_params.password为用户密码;mqtt_params.keepalive_interval为设备心跳时间周期;
步骤112:第一云平台解析连接第一云平台登录请求,并根据解析结果中的设备密钥、设备标识、用户信息对用户身份进行验证,如验证成功则执行步骤113,如验证失败则向播报设备报错,结束;
具体的,在本实施例中,步骤112包括:第一云平台解析连接第一云平台登录请求,将解析结果中的设备标识和用户信息中的用户名进行拼接,并使用与设备标识对应的设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串,判断转换结果是否与用户信息中的用户密码一致,是则验证成功,否则验证失败;
步骤113:第一云平台给播报设备返回登录响应并与播报设备保持长连接;
步骤114:播报设备根据连接信息、内置的与第二云平台对应的设备密钥和自身的设备标识、用户信息生成连接第二云平台登录请求,并将连接第二云平台登录请求发送给第二云平台;
可选的,在本实施例中,步骤114之后还包括:如播报设备未收到第二云平台的响应数据时,播报设备会间隔预设时长重新发送登录请求给第二云平台直到收到第二云平台的响应数据;具体为:如播报设备在第二预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台,如播报设备在第三预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台,如播报设备在第四预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台,如播报设备在第五预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台,如播报设备在第六预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台直到收到第二云平台的响应数据;第二预设时长为4s、第三预设时长为8s、第四预设时长为16s、第五预设时长为32s、第六预设时长为64s;本实施例中的预设时长为每次发送登录请求的间隔时长;
在本实施例中,用户信息包括用户名和用户密码;
可选的,在步骤114之前还包括:生成用户信息,具体为:将交互协议版本号、产品密钥、安全模式( 例如1表示tls连接,0表示普通连接)、签名方式(1:HMacSHA256, 2:AES...... )、时间戳按照顺序用预设字符顺序拼接生成用户名;使用与第二云平台对应的设备密钥对用户名进行签名得到用户密码;
例如,交互协议版本号version、产品密钥productKey、安全模式secureMode(0:普通连接)、签名方式signMethod(1:HMacSHA256)、时间戳timestamp,将以上参数按照顺序用&符合拼接,生成的用户名为:v6&Hnu9ixsPMOBwmJeQ6&0&1&1628253372;生成的用户密码为sign(deviceSecret, mqttUsername),结果为byte[]格式,其中算法类型为mqttUsername中指定的算法;
步骤115:第二云平台解析连接第二云平台登录请求,并根据解析结果中的设备标识和用户信息对用户身份进行验证,如验证成功则执行步骤116,如验证失败则向播报设备报错,结束;
在本实施例中,步骤115中根据解析结果中设备标识和用户信息对用户身份进行验证,包括:根据解析结果中的设备标识获取对应的设备密钥,使用获取的设备密钥对用户信息中的用户名进行签名,判断签名结果是否与用户信息中的用户密码一致,是则验证成功,否则验证失败;
步骤116:第二云平台给播报设备返回登录响应并与播报设备保持长连接;
步骤117:播报设备根据连接信息、内置的与第一云平台对应的设备密钥和自身的设备标识、用户信息生成连接第一云平台登录请求,并将连接第一云平台登录请求发送给第一云平台;
在本实施例中,用户信息包括用户名和用户密码;具体的在步骤117之前还包括:生成用户信息,具体为:将第一云平台登录次数、网络类型、播报软件版本号和生成的随机数顺序拼接得到用户名,将设备标识和用户名进行拼接并使用与第一云平台对应的设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串得到用户密码;
可选的,在本实施例中,步骤117之后还包括:如播报设备未收到第一云平台的响应数据时,播报设备会间隔预设时长重新发送登录请求给第一云平台直到收到第一云平台的响应数据;具体为:如播报设备在第二预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台,如播报设备在第三预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台,如播报设备在第四预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台,如播报设备在第五预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台,如播报设备在第六预设时长内未收到第一云平台的响应数据时,播报设备重新发送登录请求给第一云平台直到收到第一云平台的响应数据;第二预设时长为4s、第三预设时长为8s、第四预设时长为16s、第五预设时长为32s、第六预设时长为64s;
步骤118:第一云平台解析连接第一云平台登录请求,并根据解析结果中的设备密钥、设备标识、用户信息对用户身份进行验证,如验证成功则执行步骤119,如验证失败则向播报设备报错,执行步骤120;
在本实施例中,步骤118中根据解析结果中的设备密钥、设备标识和用户信息对用户身份进行验证,包括:将解析结果中的设备标识和用户信息中的用户名进行拼接,并使用与设备标识对应的设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串,判断转换结果是否与用户信息中的用户密码一致,是则验证成功,否则验证失败;
步骤119:第一云平台给播报设备返回登录响应并与播报设备保持长连接,执行步骤120;
步骤120:播报设备根据连接信息、内置的与第二云平台对应的设备密钥和设备标识、用户信息生成连接第二云平台登录请求,并将连接第二云平台登录请求发送给第二云平台;
本实施例中,用户信息包括用户名和用户密码;
可选的,在步骤120之前还包括:生成用户信息,具体为:将交互协议版本号、产品密钥、安全模式、签名方式、时间戳按照顺序用预设字符顺序拼接生成用户名;使用与第二云平台对应的设备密钥对用户名进行签名得到用户密码;
可选的,在本实施例中,步骤120之后还包括:如播报设备未收到第二云平台的响应数据时,播报设备会间隔预设时长重新发送登录请求给第二云平台直到收到第二云平台的响应数据;具体为:如播报设备在第二预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台,如播报设备在第三预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台,如播报设备在第四预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台,如播报设备在第五预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台,如播报设备在第六预设时长内未收到第二云平台的响应数据时,播报设备重新发送登录请求给第二云平台直到收到第二云平台的响应数据;第二预设时长为4s、第三预设时长为8s、第四预设时长为16s、第五预设时长为32s、第六预设时长为64s;
步骤121:第二云平台解析连接第二云平台登录请求,并根据解析结果中的设备标识和用户信息对用户身份进行验证,如验证成功则执行步骤122,如验证失败则向播报设备报错,结束;
在本实施例中,步骤121中根据解析结果中的设备密钥、设备标识和用户信息对用户身份进行验证,包括:根据解析结果中的设备标识获取对应的设备密钥,使用获取的设备密钥对用户信息中的用户名进行签名,判断签名结果是否与用户信息中的用户密码一致,是则验证成功,否则验证失败;
步骤122:第二云平台给播报设备返回登录响应并与播报设备保持长连接;
在本实施例中,步骤117-119与步骤120-122是完全独立的过程,也可以先执行步骤120-122然后执行步骤117-119,即播报设备与第一云平台的连接过程、播报设备与第二云平台的连接过程完全独立、互不影响、没有先后顺序,一个连接过程出错或失败并不影响另一个连接过程;
在本实施例中,播报过程如图4和图 5所示,包括:
步骤201:当服务器接收到处理请求时,对处理请求进行处理并根据处理结果生成处理响应回给客户端应用;
在本实施例中,步骤201之前还包括:当客户端应用接收到用户的操作信息时,根据操作信息生成处理请求并发送给服务器;
本实施例中的操作信息中包括商户码;处理请求中也包括商户码;
步骤201之后还包括:客户端应用解析接收到的处理响应并显示解析结果中的关键数据;
步骤202:服务器从处理结果中提取播报数据,根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,如为第一云平台则执行步骤203,如为第二云平台则执行步骤208,如为第一云平台和第二云平台则执行步骤213;
可选的,在本实施例中,步骤202之前还包括:如第一云平台上的配置中心的配置信息发生变更时会通知服务器和播报设备,服务器和播报设备分别进行更新保存;
处理请求中的根据商户码和保存的配置信息判断播报设备连接的云平台类型,具体为:服务器根据处理请求中的商户码获取对应的设备标识,根据设备标识获取对应的配置信息,从配置信息中获取类型值,根据类型值判断播报设备可连接的云平台的类型,如类型值为第一数据则播报设备连接的云平台为第一云平台,如类型值为第二数据则播报设备连接的云平台为第二云平台,如类型值为第三数据则播报设备连接的云平台为第一云平台和第二云平台;
步骤203:服务器使用第一云平台密钥对播报数据进行加密,根据第一结构体将播报数据加密结果、与商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将播报报文发送给第一云平台;如第一云平台接口返回错误码则结束,否则执行步骤204;
例如,本实施例中的播报报文为
{
"appkey" : "9A0A8659F005D6984697E2CA0A9CF3B7",
"timestamp" :"20181221162001",
"method" : "push",
"devicesn" : "20010000001",
"msgid" : "20190221095350622453353"
"message" : "1234",
"push_template" : "1",
"nonce" : "dpRxkhjbauiclpKoqt",
"sign" : "1df9e58d88b52a568b79872b3ac54781122b2b91f87c33204c2ad38c486e57f3"
}
其中,appkey为应用密钥,method为请求接口名,devicesn为设备标识,message为播报金额,push_template为交易渠道,timestamp为时间戳,nonce为随机数,sign为签名;
步骤204:第一云平台解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密得到播报数据,使用与解析结果中的设备标识对应的设备密钥对播报数据进行加密得到播报数据加密值,根据播报数据加密值和第一云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,同时生成播报响应报文,将播报响应报文返回给服务器;
例如,该步骤中的播报请求为:A42B35A15FFEB4465ABE9F3924556D04EE6AD7ECEDFCAADD55616139D760AC1A;
播报响应报文为:{
"code":0,
"msg":"成功",
"nonce":"dpRxkhjbauiclpKoqt",
"pushsn":"202204120940125612345",
"sign":"fJ9sKhflsT8uO5Yz%2FwN46PT5dUCA"
}
步骤205:播报设备解析播报请求得到播报数据加密值和第一云平台标识,使用与第一云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报;
例如,本实施例中该步骤的播报数据为:{
"msgid":"20190221095350622453353",
"company":1,
"money":1234
}
msgid:消息标识;company:模板标识,1为支付宝收款;money:金额
可选的,在本实施例中,为防止重复播报,播报数据中设置消息标识,则步骤205对应的替换为:
步骤205’’:播报设备解析播报请求得到播报数据加密值和第一云平台标识,使用与第一云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中获取消息标识,并判断本地是否保存有消息标识,是则将获取的消息标识与本地保存的消息标识进行比对,如一致则认为消息重复,报错,结束;如不一致则从播报数据中提取播报内容并进行播报,并用获取的消息标识更新本地保存的消息标识;否则从播报数据中提取播报内容并进行播报,保存获取的消息标识;
例如,步骤205’’中的消息标识为:20190221095350622453353;
步骤206:播报设备生成消息播报确认响应并返回给第一云平台;
步骤207:第一云平台解析接收到的消息播报确认响应并记录解析得到的播报结果;
例如,该步骤中的消息播报确认响应为:{
"msgid":"20190221095350622453353", "error_code":0
}
msgid:消息标识,error_code:播报结果,0为成功,其他值为错误码
步骤208:服务器使用第二云平台密钥对播报数据进行加密,根据第二结构体将播报数据加密结果、与商户码对应的播报设备的设备标识组织成播报报文,调用第二云平台接口将播报报文发送给第二云平台,如第二云平台接口返回错误码则结束,否则执行步骤209;
例如,该步骤中的播报报文为:https://iot.cn-shanghai.aliyuncs.com/Version=2018-01-20
&Signature= vDvo9PF7T8uO5Yz/wN46PT5dUCA=
&SignatureMethod=HMAC-SHA1
&SignatureNonce=15215528852396
&SignatureVersion=1.0
&AccessKeyId= LTAI5tD1GSFVRiJDN9oPq51R
&Timestamp=2018-05-20T12:00:00Z
&RegionId=cn-shanghai
&Action=Pub
&ProductKey=hfsagssdwgA3xS9p
&TopicFullName=/h25b7iIsxaF/${deviceName}/user/get
&MessageContent=eyJ0ZXN0IjoidGFzayBwdWIgYnJvYWRjYXN0In0=
Signature:签名数据;
SignatureMethod:签名方法
SignatureNonce:签名随机数
SignatureVersion:签名算法版本
AccessKeyId:用户密钥id
Timestamp:时间戳
RegionId:设备所在地域
Action:方法名
ProductKey:产品密钥
TopicFullName:设备订阅的topic
MessageContent:消息内容
步骤209:第二云平台解析播报报文,使用第二云平台密钥对解析结果中的播报数据加密结果进行解密得到播报数据,使用与解析结果中的设备标识对应的设备密钥对播报数据进行加密得到播报数据加密值,根据播报数据加密值和第二云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,生成播报响应报文,将播报响应报文返回给服务器;
例如,该步骤中的播报请求为:eyJhY3Rpb24iIDogIjEiLCJtc2dpZCIgOiAiMjAxOTAyMjEwOTUzNTA2MjI0NTMzNTMiLCJ0eXBlIiA6ICIwIiwicHJpY2UiIDogIjEifQ==
播报响应报文为:{
"RequestId":"BB71E443-4447-4024-A000-EDE09922891E",
"Success":true,
"MessageId":889455942124347329
}
步骤210:播报设备根据配置信息中的映射数据格式解析播报请求得到播报数据加密值和第二云平台标识,使用与第二云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报;
例如,该步骤中的播报数据为:{
"seq_no": "20190221095350622453353",
"devicesn": "20010000001",
"msgid" : "20190221095350622453353",
"type" : "01",
"price" : "1234"
"time": "2020-04-02 00:00:00"
可选的,在本实施例中,为防止重复播报,播报数据中设置消息标识,则步骤210对应的替换为:
步骤210’’:播报设备根据配置信息中的映射数据格式解析播报请求得到播报数据加密值和第二云平台标识,使用与第二云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中获取消息标识,并判断本地是否保存有消息标识,是则将获取的消息标识与本地保存的消息标识进行比对,如一致则认为消息重复,报错,结束;如不一致则从播报数据中提取播报内容并进行播报,并用获取的消息标识更新本地保存的消息标识;否则从播报数据中提取播报内容并进行播报,保存获取的消息标识;
例如,步骤210’’中播报标识为:20190221095350622453353;
步骤211:播报设备生成消息播报确认响应并返回给第二云平台;
例如,该步骤211中的消息播报确认响应为:{
"seq_no": "20190221095350622453353",
"code": "0",
"time": "2020-04-02 00:00:01",
"devicesn":"20010000001"
}
步骤212:第二云平台解析接收到的消息播报确认响应并记录解析得到的播报结果;
步骤213:服务器使用第一云平台密钥对播报数据进行加密,根据第一结构体将播报数据加密结果、与商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将播报报文发送给第一云平台,如服务器接收到第一云平台接口返回预设错误码则执行步骤218,否则执行步骤214;
例如,本实施例中的预设错误码为404或大于500的错误码;
步骤214:第一云平台解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第一云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,同时生成播报响应报文,将播报响应报文返回给服务器;
步骤215:播报设备解析播报请求得到播报数据加密值和第一云平台标识,使用与第一云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报;
可选的,在本实施例中,为防止重复播报,播报数据中设置消息标识,则步骤215对应的替换为:
步骤215’’:播报设备解析播报请求得到播报数据加密值和第一云平台标识,使用与第一云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中获取消息标识,并判断本地是否保存有消息标识,是则将获取的消息标识与本地保存的消息标识进行比对,如一致则认为消息重复,报错,结束;如不一致则从播报数据中提取播报内容并进行播报,并用获取的消息标识更新本地保存的消息标识;否则从播报数据中提取播报内容并进行播报,保存获取的消息标识;
步骤216:播报设备生成消息播报确认响应并返回给第一云平台;
步骤217:第一云平台解析接收到的消息播报确认响应并记录解析得到的播报结果;
步骤218:服务器使用第二云平台密钥对播报数据进行加密,根据第二结构体将播报数据加密结果、与商户码对应的播报设备的设备标识组织成播报报文,调用第二云平台接口将播报报文发送给第二云平台,如第二云平台接口返回错误码则结束,否则执行步骤219;
步骤219:第二云平台解析播报报文,使用第二云平台密钥对解析结果中的播报数据加密结果进行解密,并使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第二云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,同时生成播报响应报文并将播报响应报文返回给服务器;
步骤220:播报设备根据配置信息中的映射数据格式解析播报请求得到播报数据加密值和第二云平台标识,使用与第二云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报;
可选的,在本实施例中,为防止重复播报,播报数据中设置消息标识,则步骤220对应的替换为:
步骤220’’:播报设备根据配置信息中的映射数据格式解析播报请求得到播报数据加密值和第二云平台标识,使用与第二云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中获取消息标识,并判断本地是否保存有消息标识,是则将获取的消息标识与本地保存的消息标识进行比对,如一致则认为消息重复,报错,结束;如不一致则从播报数据中提取播报内容并进行播报,并用获取的消息标识更新本地保存的消息标识;否则从播报数据中提取播报内容并进行播报,保存获取的消息标识;
步骤221:播报设备生成消息播报确认响应并返回给第二云平台;
步骤222:第二云平台解析接收到的消息播报确认响应并记录解析得到的播报结果。
可选的,在本实施例中,如配置信息中设置了服务器优先与第二云平台进行数据交互如第二云平台向服务器报错则服务器与第一云平台开始进行数据交互,则步骤213-步骤222对应替换为:
步骤213’:服务器使用第二云平台密钥对播报数据进行加密,根据第一结构体将播报数据加密结果、与商户码对应的播报设备的设备标识组织成播报报文,调用第二云平台接口将播报报文发送给第二云平台,如第二云平台接口返回预设错误码则执行步骤219’,否则执行步骤214’;
例如,本实施例中的预设错误码为404或大于500的错误码;
步骤214’:第二云平台解析播报报文,使用第二云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第二云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,同时生成播报响应报文,将播报响应报文返回给服务器;
步骤215’:播报设备根据配置信息中的映射数据格式解析播报请求得到播报数据加密值和第二云平台标识,使用与第二云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报;
步骤216’:播报设备生成消息播报确认响应并返回给第二云平台;
步骤217’:第二云平台解析接收到的消息播报确认响应并记录解析得到的播报结果;
步骤218’:服务器使用第一云平台密钥对播报数据进行加密,根据第二结构体将播报数据加密结果、与商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将播报报文发送给第一云平台,如第一云平台接口返回错误码则结束,否则执行步骤219’;
步骤219’:第一云平台解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第一云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,同时生成播报响应报文并将播报响应报文返回给服务器;
步骤220’:播报设备解析播报请求得到播报数据加密值和第一云平台标识,使用与第一云平台标识对应的设备密钥对播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报;
步骤221’:播报设备生成消息播报确认响应并返回给第一云平台;
步骤222’:第一云平台解析接收到的消息播报确认响应并记录解析得到的播报结果。
本发明实施例通过增加“配置中心”的方式解决播报设备与云平台连接不上就无法正常工作的问题。在发明本实施例中,用户可以登录第一云平台的配置中心设置配置信息:即设置播报设备同时连接一个或多个平台、对应的平台地址及切换策略、各平台不同的消息播报格式映射,第一云平台将配置信息发送给服务器。播报设备开机通过配置中心下载该设备的配置信息,以确定平台的连接情况及消息播报映射关系。后续如配置信息发生变化即用户通过在第一云平台对配置信息进行修改则第一云平台主动通知服务器和播报设备;通过本申请公开的技术方案,播报设备无需更新软件,也无需返厂,可以实现播报设备与多平台之间的连接和播报等业务,实现无缝切换,使用方便,节约成本。
可选的,为减轻第一云平台的容量,可将第一云平台分成几个不同的云平台来实现,即本实施例中的第一云平台包括配置云平台和推送云平台,则播报设备与配置云平台协商设备密钥并从配置云平台中获取配置信息,即本实施例中的步骤107及之前的步骤均由配置云平台完成,播报设备与第一云平台建立长连接和播报业务均由推送云平台完成,即步骤108之后涉及第一云平台的步骤和推送过程中涉及第一云平台的操作均由推送服务器完成,在此不再赘述。
实施例三
本发明实施例三提供种不同平台可切换的播报实现系统,其特征在于,包括服务器、第一云平台、第二云平台和播报设备;
服务器用于当接收到处理请求时,对处理请求进行处理并根据处理结果生成处理响应返回给客户端应用,从处理结果中提取播报数据,根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,如为第一云平台和第二云平台则将播报数据发送给第一云平台或第二云平台;
第一云平台用于接收服务器发送的播报数据并转发给播报设备;
第二云平台用于接收服务器发送的播报数据并转发给播报设备;
播报设备用于接收播报数据并进行播报;
服务器具体用于使用第一云平台密钥对播报数据进行加密,根据第一结构体将播报数据加密结果、商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将播报报文发送给第一云平台;
第一云平台具体用于解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第一云平台标识生成播报请求并推送给与设备标识对应的播报设备,同时生成播报响应报文,将播报响应报文返回给服务器;
播报设备具体用于解析播报请求,使用与解析结果中的第一云平台对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给第一云平台;
第一云平台具体用于解析接收到的消息播报确认响应并记录解析得到的播报结果;
第一云平台还用于接收用户在配置中心页面中设置的配置信息并保存,将配置信息发送给服务器;
服务器还用于保存接收到的配置信息。
在本实施例中,服务器还用于根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型如为第一云平台时将播报数据发送给第一云平台;播报设备还用于在播报失败时报错。
在本实施例中,服务器还用于根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型如为第二云平台时服务器将播报数据发送给第二云平台,播报设备还用于在播报失败时报错。
具体的,在本实施例中,服务器具体用于使用第二云平台密钥对播报数据进行加密,根据第二结构体将播报数据加密结果、商户码对应的播报设备的设备标识组织成播报报文,调用第二云平台接口将播报报文发送给第二云平台,如第二云平台接口返回错误码则播报失败;
第二云平台具体用于接收并解析播报报文,使用第二云平台密钥对解析结果中的播报数据加密结果进行解密,并使用设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第二云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,同时生成播报响应报文并将播报响应报文返回给服务器;
播报设备具体用于根据配置信息中的映射数据格式解析播报请求,使用与解析结果中的第二云平台标识对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给第二云平台;
第二云平台具体还用于解析接收到的消息播报确认响应并记录解析得到的播报结果。
具体的,在本实施例中,服务器用于根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,包括:服务器用于根据处理请求中的商户码获取对应的设备标识,根据设备标识获取对应的配置信息,从配置信息中获取类型值,根据类型值判断播报设备可连接的云平台的类型,如类型值为第一数据则播报设备连接的云平台为第一云平台,如类型值为第二数据则播报设备连接的云平台为第二云平台,如类型值为第三数据则播报设备连接的云平台为第一云平台和第二云平台。
可选的,在本实施例中,播报数据中设置消息标识,播报设备用于从播报数据中提取播报内容并进行播报,包括:播报设备用于从播报数据中获取消息标识,并判断本地是否保存有消息标识,是则将获取的消息标识与本地保存的消息标识进行比对,如一致则报错,结束,如不一致则从播报数据中提取播报内容并进行播报,并用获取的消息标识更新本地保存的消息标识;否则播报设备从播报数据中提取播报内容并进行播报,保存获取的消息标识。
在本实施例中,播报设备还用于与云平台建立连接,播报设备具体包括:
第一获取模块,用于从配置信息中获取连接信息和播报配置数据;
第一判断模块,用于根据连接信息判断可连接云平台的类型,如为第一云平台和第二云平台则触发第一建立模块和第二建立模块,如为第一云平台则触发第一建立模块,如为第二云平台则触发第二建立模块;
第一建立模块,用于与第一云平台建立长连接;
第二建立模块,用于与第一云平台建立长连接。
其中,第一建立模块具体用于根据连接信息、内置的与第一云平台对应的设备密钥和自身的设备标识、用户信息生成连接第一云平台登录请求,并将连接第一云平台登录请求发送给第一云平台;
第一云平台还用于解析连接第一云平台登录请求,并根据解析结果中的设备密钥、设备标识和用户信息对用户身份进行验证,如验证成功则给播报设备返回登录响应并与播报设备保持长连接,如验证失败则向播报设备报错。
可选的,本实施例中的第一建立模块还用于将连接第一云平台登录请求发送给第一云平台之后如未收到第一云平台的响应数据时,间隔第二预设时长后重新发送连接第一云平台登录请求给第一云平台,直到收到第一云平台的响应数据。
在本实施例中,播报设备还包括:第一生成模块,用于生成用户信息;其中,用户信息包括用户名和用户密码,第一生成模块具体用于将第一云平台登录次数、网络类型、播报软件版本号和生成的随机数顺序拼接得到用户名,将设备标识和用户名进行拼接并使用设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串得到用户密码;
第一云平台具体还用于解析连接第一云平台登录请求,将解析结果中的设备标识和用户信息中的用户名进行拼接,并使用与设备标识对应的设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串,判断转换结果是否与用户信息中的用户密码一致,是则验证成功,给播报设备返回登录响应并与播报设备保持长连接,否则验证失败,向播报设备报错。
其中,第二建立模块具体用于根据连接信息、内置的与第二云平台对应的设备密钥和自身的设备标识、用户信息生成连接第二云平台登录请求并将连接第二云平台登录请求发送给第二云平台;
第二云平台还用于解析连接第二云平台登录请求,并根据解析结果中的设备标识和用户信息对用户身份进行验证,如验证成功则给播报设备返回登录响应并与播报设备保持长连接,如验证失败则向播报设备报错。
可选的,本实施例中的第二建立模块还用于将连接第二云平台登录请求发送给第二云平台之后如未收到第二云平台的响应数据时,间隔第二预设时长后重新发送连接第二云平台登录请求给第二云平台,直到收到第二云平台的响应数据。
在本实施例中,播报设备还包括:第二生成模块,用于生成用户信息;其中,用户信息包括用户名和用户密码,第二生成模块具体用于将交互协议版本号、产品密钥、安全模式、签名方式、时间戳按照顺序用预设字符顺序拼接生成用户名;使用与第二云平台对应的设备密钥对用户名进行签名得到用户密码;
第二云平台具体还用于解析连接第二云平台登录请求,根据解析结果中的设备标识获取对应的设备密钥,使用获取的设备密钥对用户信息中的用户名进行签名,判断签名结果是否与用户信息中的用户密码一致,是则验证成功,给播报设备返回登录响应并与播报设备保持长连接,否则验证失败,向播报设备报错。
可选的,在本实施例中,播报设备还包括:
第二判断模块,用于用于在开机时判断是否保存有设备密钥,是则触发第一获取模块,否则触发生成发送模块;
生成发送模块,用于生成密钥协商请求,并将密钥协商请求发送给第一云平台;
具体的,在本实施例中,生成发送模块具体用于根据设备标识生成密钥协商数据,使用第一云平台对应的产品密钥对协商密钥数据进行加密生成协商密钥请求,并将密钥协商请求发送给第一云平台;
加密发送模块,用于使用保存的产品密钥对接收到的第一云平台发送的设备密钥加密结果进行解密并将解密得到的设备密钥、产品密钥和第一云平台标识对应保存,根据自身的设备标识组织获取配置请求并将获取配置请求发送给第一云平台;
具体的,在本实施例中,加密发送模块具体用于使用保存的产品密钥对接收到的第一云平台发送的设备密钥加密结果进行解密并将解密得到的设备密钥、产品密钥和第一云平台标识对应保存,根据设备标识生成获取配置请求,使用保存的与第一云平台对应的设备密钥对获取配置请求进行加密得到密文数据,将密文数据和设备标识发送给第一云平台;
第一云平台还用于解析接收到的密钥协商请求,并根据解析结果判断播报设备是否为合法设备,是则生成设备密钥并与解析结果中的设备标识和预置的产品密钥对应保存,使用产品密钥对设备密钥进行加密并将设备密钥加密结果和第一云平台标识发送给播报设备,否则向播报设备报错,结束;
具体的,在本实施例中,第一云平台具体还用于使用保存的产品密钥对接收到的密钥协商请求进行解密,从解密结果中提取设备标识,判断设备标识是否在数据库中,是则判断播报设备为合法设备,生成设备密钥并与解析结果中的设备标识和预置的产品密钥对应保存,使用产品密钥对设备密钥进行加密并将设备密钥加密结果和第一云平台标识发送给播报设备,否则判断播报设备为非法设备,向播报设备报错,结束;
第一云平台还用于解析获取配置请求,根据解析得到的设备标识查找播报设备的配置信息并将查找到的配置信息返回给播报设备,触发第一获取模块;
具体的,在本实施例中,第一云平台具体还用于解析接收到的数据得到设备标识和密文数据,使用保存的与设备标识对应的设备密钥对密文数据进行解密得到获取配置请求,并根据获取配置请求提取保存的与设备标识对应播报设备的配置信息;使用保存的与设备标识对应的设备密钥对配置信息进行加密,并将加密结果和第一云平台标识返回给播报设备;
播报设备还包括:解密保存模块,用于使用与第一云平台标识对应的设备密钥对加密结果进行解密得到配置信息并保存,触发第一获取模块。
可选的,本实施例中的服务器还用于将商户码与播报设备绑定;
进一步地,服务器具体用于接收客户端应用发送的商户码和播报设备的设备标识并对应进行保存。
进一步地,本实施例中的第一云平台还用于创建应用场景并生成第一云平台密钥,向服务器派发第一云平台密钥,服务器还用于保存收到的第一云平台密钥;
第二云平台还用于创建应用场景并生成第二云平台密钥,向服务器派发第二云平台密钥,服务器还用于保存收到的第二云平台密钥。
进一步地,本实施例中的第一云平台还用于接收用户输入的播报设备的设备标识,生成产品密钥并与设备标识对应保存;
第二云平台还用于接收用户输入的播报设备的设备标识,生成产品密钥和设备密钥并与设备标识对应保存。
可选的,播报设备还用于在第一预设时间内未收到第一云平台的响应数据时,播报设备重新发送密钥协商请求给第一云平台;
和/或,播报设备还用于在第一预设时间内未收到第一云平台的响应数据时,播报设备重新发送配置请求给第一云平台。
通过本实施例公开的技术方案,播报设备无需更新软件,也无需返厂,便可以实现播报设备与多平台之间的连接和播报等业务,实现无缝切换,使用方便,节约成本。
可选的,本申请的实施例还提供了一种电子设备,电子设备包括至少一个处理器、存储器及存储在该存储器上并可被至少一个处理器执行的指令,至少一个处理器执行该指令以实现上述实施例中的不同平台可切换的播报实现方法。该电子设备是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件,本申请实施例对此不作具体限定;该芯片与存储器耦合,用于执行存储器中存储的计算机程序,以执行上述实施例中公开的不同平台可切换的播报实现方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机程序。在电子设备上加载和执行计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个基站、电子设备、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个基站、电子设备、服务器或数据中心进行传输。所述计算机可读存储介质可以是电子设备能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、 或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (25)
1.一种不同平台可切换的播报实现方法,其特征在于,包括:
步骤T1:当服务器接收到处理请求时,对处理请求进行处理并根据处理结果生成处理响应返回给客户端应用,从所述处理结果中提取播报数据,根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,如为第一云平台和第二云平台则所述服务器通过第一云平台向所述播报设备发送播报数据进行播报,如播报失败则所述服务器通过第二云平台向所述播报设备发送播报数据进行播报,或所述服务器通过第二云平台向所述播报设备发送播报数据进行播报,如播报失败则所述服务器通过第一云平台向所述播报设备发送播报数据进行播报;
所述服务器通过第一云平台向所述播报设备发送播报数据进行播报,包括:
步骤T2:所述服务器使用第一云平台密钥对所述播报数据进行加密,根据第一结构体将播报数据加密结果、所述商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将所述播报报文发送给第一云平台,如第一云平台接口返回预设错误码则播报失败,否则执行步骤T3;
步骤T3:所述第一云平台解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据所述播报数据加密值和第一云平台标识生成播报请求并推送给与所述设备标识对应的播报设备,同时生成播报响应报文,将所述播报响应报文返回给所述服务器;
步骤T4:所述播报设备解析播报请求,使用与解析结果中的第一云平台标识对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给所述第一云平台;
步骤T5:所述第一云平台解析接收到的消息播报确认响应并记录解析得到的播报结果,返回步骤T1;
所述步骤T1之前还包括:所述第一云平台接收用户在配置中心页面中设置的配置信息并保存,将所述配置信息发送给所述服务器,所述服务器保存接收到的配置信息。
2.如权利要求1所述的方法,其特征在于,所述步骤T1中根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,还包括:
如为第一云平台则所述服务器通过第一云平台向所述播报设备发送播报数据进行播报,如播报失败则报错,结束;
如为第二云平台则所述服务器通过第二云平台向所述播报设备发送播报数据进行播报,如播报失败则报错,结束。
3.如权利要求1或2所述的方法,其特征在于,所述服务器通过第二云平台向所述播报设备发送播报数据进行播报,包括:
步骤D1:所述服务器使用第二云平台密钥对所述播报数据进行加密,根据第二结构体将播报数据加密结果、所述商户码对应的播报设备的设备标识组织成播报报文,调用第二云平台接口将所述播报报文发送给所述第二云平台,如所述第二云平台接口返回错误码则播报失败, 否则执行步骤D2;
步骤D2:所述第二云平台解析播报报文,使用第二云平台密钥对解析结果中的播报数据加密结果进行解密,并使用设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据播报数据加密值和第二云平台标识生成播报请求并推送给与解析结果中的设备标识对应的播报设备,同时生成播报响应报文并将所述播报响应报文返回给所述服务器;
步骤D3:所述播报设备根据配置信息中的映射数据格式解析播报请求,使用与解析结果中的第二云平台标识对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从所述播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给所述第二云平台;
步骤D4:所述第二云平台解析接收到的消息播报确认响应并记录解析得到的播报结果。
4.如权利要求2所述的方法,其特征在于,所述步骤T1中的根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,包括:所述服务器根据处理请求中的商户码获取对应的设备标识,根据所述设备标识获取对应的配置信息,从所述配置信息中获取类型值,根据所述类型值判断播报设备连接的云平台的类型,如类型值为第一数据则播报设备连接的云平台为第一云平台,如类型值为第二数据则播报设备连接的云平台为第二云平台,如类型值为第三数据则播报设备连接的云平台为第一云平台和第二云平台。
5.如权利要求3所述的方法,其特征在于,所述播报数据中设置消息标识,所述从播报数据中提取播报内容并进行播报,包括:
所述播报设备从所述播报数据中获取消息标识,并判断本地是否保存有消息标识,是则将获取的消息标识与本地保存的消息标识进行比对,如一致则报错,结束,如不一致则从所述播报数据中提取播报内容并进行播报,并用获取的消息标识更新本地保存的消息标识;否则所述播报设备从所述播报数据中提取播报内容并进行播报,保存获取的消息标识。
6.如权利要求1所述的方法,其特征在于,在步骤T1之前还包括建立连接过程,具体包括:
步骤S1:播报设备从配置信息中获取连接信息和播报配置数据;
步骤S2:所述播报设备根据所述连接信息判断可连接云平台的类型,如为第一云平台和第二云平台则所述播报设备分别与第一云平台和第二云平台建立长连接,如为第一云平台则所述播报设备与第一云平台建立长连接,如为第二云平台则所述播报设备与第二云平台建立长连接。
7.如权利要求6所述的方法,其特征在于,所述播报设备与第一云平台建立长连接,包括:
步骤A1:所述播报设备根据所述连接信息、内置的与第一云平台对应的设备密钥和自身的设备标识、用户信息生成连接第一云平台登录请求,并将所述连接第一云平台登录请求发送给第一云平台;
步骤A2:所述第一云平台解析连接第一云平台登录请求,并根据解析结果中的设备密钥、设备标识和用户信息对用户身份进行验证,如验证成功则给所述播报设备返回登录响应并与所述播报设备保持长连接,如验证失败则向所述播报设备报错。
8.如权利要求7所述的方法,其特征在于,所述将所述连接第一云平台登录请求发送给第一云平台之后还包括:如所述播报设备未收到所述第一云平台的响应数据时,所述播报设备间隔第二预设时长后重新发送所述连接第一云平台登录请求给所述第一云平台,直到收到所述第一云平台的响应数据。
9.如权利要求7所述的方法,其特征在于,所述步骤A1之前还包括:所述播报设备生成用户信息。
10.如权利要求9所述的方法,其特征在于,所述用户信息包括用户名和用户密码,所述播报设备生成用户信息,包括:所述播报设备将第一云平台登录次数、网络类型、播报软件版本号和生成的随机数顺序拼接得到用户名,将所述设备标识和所述用户名进行拼接并使用所述设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串得到用户密码;
所述根据解析结果中的设备密钥、设备标识和用户信息对用户身份进行验证,包括:将解析结果中的设备标识和用户信息中的用户名进行拼接,并使用与所述设备标识对应的设备密钥对拼接结果进行签名,将签名结果转换为十六进制字符串,判断转换结果是否与用户信息中的用户密码一致,是则验证成功,否则验证失败。
11.如权利要求6所述的方法,其特征在于,所述播报设备与第二云平台建立长连接,包括:
步骤B1:所述播报设备根据所述连接信息、内置的与第二云平台对应的设备密钥和自身的设备标识、用户信息生成连接第二云平台登录请求并将所述连接第二云平台登录请求发送给第二云平台;
步骤B2:所述第二云平台解析所述连接第二云平台登录请求,并根据解析结果中的设备标识和用户信息对用户身份进行验证,如验证成功则给播报设备返回登录响应并与播报设备保持长连接,如验证失败则向所述播报设备报错。
12.如权利要求11所述的方法,其特征在于,所述将所述连接第二云平台登录请求发送给第二云平台之后还包括:如所述播报设备未收到所述第二云平台的响应数据时,所述播报设备间隔第二预设时长后重新发送所述连接第二云平台登录请求给所述第二云平台,直到收到所述第二云平台的响应数据。
13.如权利要求11所述的方法,其特征在于,所述步骤B1之前还包括:所述播报设备生成用户信息。
14.如权利要求13所述的方法,其特征在于,所述用户信息包括用户名和用户密码,所述播报设备生成用户信息,包括:所述播报设备将交互协议版本号、产品密钥、安全模式、签名方式、时间戳按照顺序用预设字符顺序拼接生成用户名;使用与所述第二云平台对应的设备密钥对所述用户名进行签名得到用户密码;
所述根据解析结果中的设备标识和用户信息对用户身份进行验证,包括:根据解析结果中的设备标识获取对应的设备密钥,使用获取的所述设备密钥对所述用户信息中的用户名进行签名,判断签名结果是否与所述用户信息中的用户密码一致,是则验证成功,否则验证失败。
15.如权利要求6所述的方法,其特征在于,所述步骤S1之前还包括:
步骤K1:所述播报设备开机,判断是否保存有设备密钥和配置信息,如均有保存则执行步骤S1,如只保存有设备密钥则执行步骤K6,如均未保存则执行步骤K2;
步骤K2:所述播报设备生成密钥协商请求,并将所述密钥协商请求发送给第一云平台;
步骤K3:所述第一云平台解析接收到的密钥协商请求,并根据解析结果判断所述播报设备是否为合法设备,是则执行步骤K4,否则向所述播报设备报错,结束;
步骤K4:所述第一云平台生成设备密钥并与所述解析结果中的设备标识和预置的产品密钥对应保存,使用所述产品密钥对所述设备密钥进行加密并将所述设备密钥加密结果和第一云平台标识发送给所述播报设备;
步骤K5:所述播报设备使用保存的产品密钥对接收到的设备密钥加密结果进行解密并将解密得到的设备密钥、所述产品密钥和所述第一云平台标识对应保存;
步骤K6:所述播报设备根据自身的设备标识组织获取配置请求并将所述获取配置请求发送给所述第一云平台;
步骤K7:所述第一云平台解析所述获取配置请求,根据解析得到的设备标识查找播报设备的配置信息,并将查找到的配置信息返回给所述播报设备进行保存,执行步骤S1。
16.如权利要求15所述的方法,其特征在于,所述步骤K1之前还包括:服务器将商户码与播报设备绑定,具体为:所述服务器接收客户端应用发送的商户码和播报设备的设备标识并对应进行保存。
17.如权利要求15所述的方法,其特征在于,所述步骤K1之前还包括:
所述第一云平台创建应用场景并生成第一云平台密钥,向所述服务器派发第一云平台密钥,所述服务器保存收到的所述第一云平台密钥;
所述第二云平台创建应用场景并生成第二云平台密钥,向所述服务器派发所述第二云平台密钥,所述服务器保存收到的第二云平台密钥。
18.如权利要求15所述的方法,其特征在于,所述步骤K1之前还包括:
所述第一云平台接收用户输入的播报设备的设备标识,生成产品密钥并与所述设备标识对应保存;
所述第二云平台接收用户输入的播报设备的设备标识,生成产品密钥和设备密钥并与所述设备标识对应保存。
19.如权利要求15所述的方法,其特征在于,所述步骤K2之后还包括:如所述播报设备在第一预设时间内未收到所述第一云平台的响应数据时,所述播报设备重新发送密钥协商请求给所述第一云平台;
和/或,所述步骤K6之后还包括:如所述播报设备在第一预设时间内未收到所述第一云平台的响应数据时,所述播报设备重新发送获取配置请求给所述第一云平台。
20.如权利要求15所述的方法,其特征在于,所述步骤K2具体为:所述播报设备根据设备标识生成密钥协商数据,使用第一云平台对应的产品密钥对所述协商密钥数据进行加密生成协商密钥请求,并将所述密钥协商请求发送给第一云平台;
所述步骤K3包括:所述第一云平台使用保存的产品密钥对接收到的密钥协商请求进行解密,从解密结果中提取设备标识,判断所述设备标识是否在数据库中,是则判断播报设备为合法设备,执行步骤K4,否则判断播报设备为非法设备,向所述播报设备报错,结束。
21.如权利要求15所述的方法,其特征在于,所述步骤K6包括:所述播报设备根据设备标识生成获取配置请求,使用保存的与第一云平台对应的设备密钥对获取配置请求进行加密得到密文数据,将所述密文数据和所述设备标识发送给所述第一云平台;
所述步骤K7包括:所述第一云平台解析接收到的数据得到设备标识和密文数据,使用保存的与设备标识对应的设备密钥对所述密文数据进行解密得到获取配置请求,并根据所述获取配置请求提取保存的与所述设备标识对应播报设备的配置信息;使用保存的与所述设备标识对应的设备密钥对所述配置信息进行加密,并将加密结果和第一云平台标识返回给所述播报设备,所述播报设备使用与所述第一云平台标识对应的设备密钥对所述加密结果进行解密得到所述配置信息并保存,执行步骤S1。
22.一种不同平台可切换的播报实现系统,其特征在于,包括服务器、第一云平台、第二云平台和播报设备;
所述服务器用于当接收到处理请求时,对处理请求进行处理并根据处理结果生成处理响应返回给客户端应用,从所述处理结果中提取播报数据,根据处理请求中的商户码和保存的配置信息判断播报设备连接的云平台类型,如为第一云平台和第二云平台则将所述播报数据发送给所述第一云平台或所述第二云平台;
所述第一云平台用于接收所述服务器发送的播报数据并转发给所述播报设备;
所述第二云平台用于接收所述服务器发送的播报数据并转发给所述播报设备;
所述播报设备用于接收所述播报数据并进行播报;
所述服务器具体用于在所述服务器与所述第一云平台进行数据通讯时,使用第一云平台密钥对所述播报数据进行加密,根据第一结构体将播报数据加密结果、所述商户码对应的播报设备的设备标识组织成播报报文,调用第一云平台接口将所述播报报文发送给第一云平台;
所述第一云平台具体用于解析播报报文,使用第一云平台密钥对解析结果中的播报数据加密结果进行解密,使用与解析结果中的设备标识对应的设备密钥对解密得到的播报数据进行加密得到播报数据加密值,根据所述播报数据加密值和第一云平台标识生成播报请求并推送给与所述设备标识对应的播报设备,同时生成播报响应报文,将所述播报响应报文返回给所述服务器;
所述播报设备具体用于解析播报请求,使用与解析结果中的第一云平台标识对应的设备密钥对解析结果中的播报数据加密值进行解密得到播报数据,从播报数据中提取播报内容并进行播报,生成消息播报确认响应并返回给所述第一云平台;
所述第一云平台具体用于解析接收到的消息播报确认响应并记录解析得到的播报结果;
所述第一云平台还用于接收用户在配置中心页面中设置的配置信息并保存,将所述配置信息发送给所述服务器;
所述服务器还用于保存接收到的配置信息。
23.一种电子设备,其特征在于,所述电子设备包括至少一个处理器、存储器及存储在所述存储器上并可被所述至少一个处理器执行的指令,所述至少一个处理器执行所述指令以实现权利要求1至21任一项所述的不同平台可切换的播报实现方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至21任一项所述的不同平台可切换的播报实现方法。
25.一种芯片系统,其特征在于,包括芯片,所述芯片与存储器耦合,用于执行所述存储器中存储的计算机程序,以执行权利要求1-21任一项所述的不同平台可切换的播报实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210496399.1A CN114598555B (zh) | 2022-05-09 | 2022-05-09 | 一种不同平台可切换的播报实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210496399.1A CN114598555B (zh) | 2022-05-09 | 2022-05-09 | 一种不同平台可切换的播报实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114598555A CN114598555A (zh) | 2022-06-07 |
CN114598555B true CN114598555B (zh) | 2022-07-29 |
Family
ID=81820665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210496399.1A Active CN114598555B (zh) | 2022-05-09 | 2022-05-09 | 一种不同平台可切换的播报实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598555B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116582534B (zh) * | 2023-07-11 | 2023-09-19 | 飞天诚信科技股份有限公司 | 一种数据播报的实现方法及系统 |
CN117201507A (zh) * | 2023-11-08 | 2023-12-08 | 苏州元脑智能科技有限公司 | 云平台切换方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166576A (zh) * | 2019-06-28 | 2019-08-23 | 飞天诚信科技股份有限公司 | 一种实现云音箱消息补推的方法及系统 |
CN113395315A (zh) * | 2021-02-23 | 2021-09-14 | 福建创识科技股份有限公司 | 消息播报方法、云音箱以及云推送平台 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7054955B2 (en) * | 2001-06-27 | 2006-05-30 | Microsoft Corporation | System and method for recovering from a failed synchronization session |
US9776078B2 (en) * | 2012-10-02 | 2017-10-03 | Razer (Asia-Pacific) Pte. Ltd. | Application state backup and restoration across multiple devices |
CN110035496B (zh) * | 2019-03-19 | 2022-01-07 | 青岛聚好联科技有限公司 | 一种云平台切换方法、系统及电子设备 |
CN110753091A (zh) * | 2019-09-23 | 2020-02-04 | 北京云和时空科技有限公司 | 一种云平台管理方法和装置 |
CN110995812A (zh) * | 2019-11-26 | 2020-04-10 | 杜霄鹤 | 一种跨平台人工智能助理系统应用方案 |
-
2022
- 2022-05-09 CN CN202210496399.1A patent/CN114598555B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166576A (zh) * | 2019-06-28 | 2019-08-23 | 飞天诚信科技股份有限公司 | 一种实现云音箱消息补推的方法及系统 |
CN113395315A (zh) * | 2021-02-23 | 2021-09-14 | 福建创识科技股份有限公司 | 消息播报方法、云音箱以及云推送平台 |
Also Published As
Publication number | Publication date |
---|---|
CN114598555A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114598555B (zh) | 一种不同平台可切换的播报实现方法及系统 | |
KR101819556B1 (ko) | 클라우드 컴퓨팅 시스템에서 패밀리 클라우드를 지원하기 위한 장치 및 방법 | |
JP4673364B2 (ja) | エンティティの第1のidおよび第2のidの検証方法 | |
US11778458B2 (en) | Network access authentication method and device | |
JP4644738B2 (ja) | ブロードキャストチャネルを利用した装置管理方法 | |
WO2017028593A1 (zh) | 网络接入设备接入无线网络接入点的方法、网络接入设备、应用程序服务器和非易失性计算机可读存储介质 | |
EP1860906B1 (en) | A general authentication form and a method for implementing the authentication | |
CN102904865B (zh) | 一种基于移动终端的多个数字证书的管理方法、系统和设备 | |
WO2018129754A1 (zh) | 一种eUICC配置文件管理方法及相关装置 | |
JP2007528650A5 (zh) | ||
US9648650B2 (en) | Pairing of devices through separate networks | |
CN111132305B (zh) | 5g用户终端接入5g网络的方法、用户终端设备及介质 | |
JP2007529763A (ja) | ネットワークアプリケーションエンティティのためにユーザーの身元確認を得る方法 | |
CN114390524B (zh) | 一键登录业务的实现方法和装置 | |
CN115278676A (zh) | 一种wapi证书申请方法与无线终端、证书鉴别器 | |
CN113377784B (zh) | 一种基于中间件的数据处理方法、系统和存储介质 | |
CN115296822B (zh) | 一种业务处理的实现方法及系统 | |
CN114158046B (zh) | 一键登录业务的实现方法和装置 | |
CN116032548A (zh) | 物联网的接入认证方法、装置、终端设备及网关设备 | |
CN116830525A (zh) | 数据传输方法、装置、系统、电子设备及可读介质 | |
CN116582534B (zh) | 一种数据播报的实现方法及系统 | |
US9830207B2 (en) | Message communication system and operation method thereof | |
WO2024021580A1 (zh) | 用户终端接入网络的安全认证方法、装置及电子设备 | |
CN116506842B (zh) | 用户识别卡能力信息上报方法、终端、系统及相关设备 | |
US20220217131A1 (en) | Networking method for household appliance, household appliance, and terminal device |
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 |