一种授权方法、智能货柜、服务器和计算机存储介质与流程

文档序号:27019999发布日期:2021-10-24 04:36阅读:187来源:国知局
一种授权方法、智能货柜、服务器和计算机存储介质与流程

1.本发明涉及智能货柜的服务接口的授权方法,尤其涉及一种授权方法、智能货柜、服务器和计算机存储介质。


背景技术:

2.目前,智能货柜的生产商将智能货柜卖给客户之后,客户为了更好的控制智能货柜,需要去学习智能货柜的底层控制协议,在理解智能货柜底层控制协议的基础上,再采用底层控制协议合理地控制智能货柜,以实现对智能货柜的投入使用。
3.然而,客户去学习智能货柜的底层控制协议并采用底层控制协议控制智能货柜,对于大部分客户来说是及其不方便的,这样,并不利于智能货柜的使用和推广。
4.也就是说,现有的智能货柜在投入使用时操作繁琐,影响智能货柜的运营,导致智能货柜的控制效率低下。


技术实现要素:

5.有鉴于此,本发明实施例期望提供一种授权方法、智能货柜、服务器和计算机存储介质,提高对智能货柜的控制效率。
6.为达到上述目的,本发明的技术方案是这样实现的:
7.第一方面,本发明实施例提供一种授权方法,所述方法应用于智能货柜中,包括:
8.当所述智能货柜上电之后,向所述智能货柜对应的服务器发送针对所述智能货柜的服务接口的授权码的获取请求;
9.接收来自所述服务器针对所述获取请求的响应消息;
10.当所述响应消息为所述服务接口的授权码时,调用所述服务接口控制所述智能货柜。
11.第二方面,本发明实施例提供一种授权方法,所述方法应用于服务器中,包括:
12.接收来自智能货柜发送的针对所述智能货柜的服务接口的授权码的获取请求;
13.根据所述获取请求,确定所述获取请求的响应消息;
14.发送所述响应消息至所述智能货柜;
15.其中,所述响应消息用于所述智能货柜确定是否调用所述服务接口控制所述智能货柜。
16.第三方面,本发明实施例提供一种智能货柜,包括:
17.第一发送模块,用于当所述智能货柜上电之后,向所述智能货柜对应的服务器发送针对所述智能货柜的服务接口的授权码的获取请求;
18.第一接收模块,用于接收来自所述服务器针对所述获取请求的响应消息;
19.调用模块,用于当所述响应消息为所述服务接口的授权码时,调用所述服务接口控制所述智能货柜。
20.第四方面,本发明实施例提供一种服务器,包括:
21.第二接收模块,用于接收来自智能货柜发送的针对所述智能货柜的服务接口的授权码的获取请求;
22.确定模块,用于根据所述获取请求,确定所述获取请求的响应消息;
23.第二发送模块,用于发送所述响应消息至所述智能货柜;
24.其中,所述响应消息用于所述智能货柜确定是否调用所述服务接口控制所述智能货柜。
25.第五方面,本发明实施例提供一种智能货柜,包括:
26.处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述的授权方法。
27.第六方面,本发明实施例提供一种服务器,包括:
28.处理器以及存储有所述处理器可执行指令的存储介质,所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述一个或多个实施例所述的授权方法。
29.第七方面,本发明实施例提供一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行上述或多个实施例中智能货柜执行的所述的授权方法,或者执行上述或多个实施例中服务器执行的所述的授权方法。
30.本发明实施例提供了一种授权方法、智能货柜、服务器和计算机存储设备,该方法包括:当智能货柜上电之后,向智能货柜对应的服务器发送针对智能货柜的服务接口的授权码的获取请求,接收来自服务器针对获取请求的响应消息,当响应消息为服务接口的授权码时,调用服务接口控制智能货柜,这样,在智能货柜中设置有服务接口,该服务接口用于控制智能货柜的,那么,用户为了使用该服务器接口,需要获取该服务接口的授权码,通过向服务器发送获取请求,使得服务器生成响应消息,智能货柜确定接收到的响应消息为服务接口的授权码时,调用服务接口来控制智能货柜,如此,避免用户学习智能货柜的底层控制协议才能够实现对智能货柜的控制,利用设置的服务接口以及服务接口的授权码实现服务器对服务接口的控制,进而使得用户在获取到授权码之后就能够实现对智能货柜的控制,使得对智能货柜的控制更加简单便捷,提高了对智能货柜的控制效率。
附图说明
31.图1为本发明实施例中的一种可选的授权系统的结构示意图;
32.图2为本发明实施例中的一种可选的授权方法的流程交互示意图;
33.图3为本发明实施例中的一种可选的授权方法实例的流程示意图;
34.图4为本发明实施例中的一种可选的授权方法的流程示意图;
35.图5为本发明实施例中的另一种可选的授权方法的流程示意图;
36.图6为本发明实施例中的智能货柜的结构示意图一;
37.图7为本发明实施例中的服务器的结构示意图一;
38.图8为本发明实施例中的智能货柜的结构示意图二;
39.图9为本发明实施例中的服务器的结构示意图二。
具体实施方式
40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
41.本发明实施例提供一种授权方法,该方法可以应用于授权系统中。
42.图1为本发明实施例中的一种可选的授权系统的结构示意图,如图1所示,上述授权系统可以包括:智能货柜11和服务器12;
43.其中,智能货柜11和服务器12建立有通信连接,另外,智能货柜11中存储有打包好的软件开发工具包(sdk,software development kit)软件,并封装成服务接口,用户在使用智能货柜11时,只需要调用该服务接口就能够实现对智能货柜11的控制,智能货柜11与服务器12之间通过建立的通信连接进行交互,以获取服务接口的授权码,从而实现对服务接口的调用,进而通过服务接口实现对智能货柜11的控制。
44.需要说明的是,智能货柜11可以包括一个或多个服务接口,不同的服务接口实现不同的调用功能,这里,本技术实施例对此不作具体限定。
45.基于上述图1所示的授权系统,图2为本发明实施例中的一种可选的授权方法的流程交互示意图;参考图2所示,上述授权方法可以包括:
46.s201:当智能货柜上电之后,智能货柜向服务器发送针对智能货柜的服务接口的授权码的获取请求;
47.目前,智能货柜的软件底层控制逻辑只有少数企业才能开发,这个开发是需要人力时间成本,有的企业为了节省这个成本,需要开发出底层控制逻辑的方案的企业把软件控制暴露出来,打包成sdk软件集成封装成对外暴露的接口,只要能调用底层接口就能控制智能货柜,但是为了能有效控制及监控底层控制逻辑的安全性及成本费用,需要服务器去控制是否授权智能货柜的sdk软件。
48.为了实现服务器对智能货柜的授权,在本发明实施例中,由于智能货柜中装载有打包好的sdk软件,当智能货柜上电之后,智能货柜的程序启动,初始化sdk,sdk中附带有基础参数,例如,服务器为每个购买智能货柜的用户所分配的用户标识(appid,application identification)和密钥号(secret),这2个参数在sdk在打包的时候,由生产商的服务器提供的,每个客户都有唯一的用户标识和密钥号。
49.另外,sdk中还包括智能货柜的设备标识,和生成商服务器约定的加密算法,根据密钥号和加密算法计算出的加密串,以及其他的额外参数,比如sdk标识,sdk版本号等等,也就是说,智能货柜中打包好的sdk中包含有智能货柜的相关信息。
50.为了实现对sdk软件所设置的服务接口的调用,当智能货柜上电之后,智能货柜向服务器发送针对智能货柜的服务接口的授权码的获取请求,该获取请求用于获取服务接口的授权码。
51.针对智能货柜来说,每次上电都需要调用服务接口控制智能货柜,然而,由于每次授权过程中,若是获取到服务接口的授权码,都将服务接口的授权码存储起来,在一种可选的实施例中,s201可以包括:
52.当智能货柜上电之后,且智能货柜的存储器中不存在服务接口的授权码时,智能货柜向服务器发送针对服务接口的授权码的获取请求。
53.由于智能货柜的存储器中有可能存储有该服务接口的授权码,所以,当智能货柜
上电之后,判断智能货柜的存储中是否存在服务接口的授权码,如果不存在,说明智能货柜中没有可用的服务接口的授权码,所以,智能货柜向服务器发送针对服务接口的授权码的获取请求,以获取服务接口的授权码。
54.另外,当存储器中存储有服务接口的授权码时,在一种可选的实施例中,上述方法还可以包括:
55.当智能货柜上电之后,且智能货柜的存储器中存在服务接口的授权码时,智能货柜从存储器中获取服务接口的授权码以及服务接口的授权码的接收时刻;
56.当接收时刻距离当前时刻小于等于预设时间段时,智能货柜调用服务接口控制智能货柜;
57.当接收时刻距离当前时刻大于预设时间段时,智能货柜向服务器发送针对服务接口的授权码的获取请求。
58.具体来说,当智能货柜上电之后,经过判断,确定智能货柜的存储器中存在服务接口的授权码时,智能货柜从存储器中获取服务接口的授权码以及所记录的服务接口的授权码的接收时刻,然后计算出接收时刻距离当前时刻的时间,当接收时刻距离当前时刻小于等于预设时间段时,说明该服务接口的授权码没有失效,所以,智能货柜直接利用该授权码调用服务接口控制智能货柜。
59.当接收时刻距离当前时刻大于预设时间段时,说明该服务接口的授权码已经失效,所以,智能货柜向服务器发送针对服务接口的授权码的获取请求,以获取服务接口的授权码。
60.例如,预设时间段为一天,当接收时刻为2020年6月1日12:00,那么,当2020年6月1日14:00再次上电时,确定接收时刻距离当前时刻不满一天,所以,智能货柜可以利用该服务接口的授权码,调用服务接口控制智能货柜。
61.当2020年6月2日14:00再次上电时,确定接收时刻距离当前时刻大于一天,所以,智能货柜需要再次向服务器申请授权,所以,智能货柜向服务器发送针对服务接口的授权码的获取请求。
62.s202:服务器根据获取请求,确定获取请求的响应消息;
63.具体来说,服务器在接收到获取请求之后,根据获取请求,确定响应消息,该响应消息可以为服务接口的授权码,也可以为指示授权失败的消息,还可以为其他指示消息,这里,本技术实施例对此不作具体限定。
64.进一步地,为了确定出获取请求的响应消息,在一种可选的实施例中,s202可以包括:
65.当服务器正常工作,且获取请求中携带的智能货柜的用户识别不存在于服务器的存储器中时,服务器生成用于指示服务接口授权失败的响应消息;
66.当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,服务器将服务接口的授权码确定为响应消息。
67.当服务器接收到获取请求之后,如果服务器处于正常工作状态时,判断获取请求中所携带的智能货柜的用户标识是否存在于服务器的存储器中,当智能货柜的用户标识不存在于存储器中,说明该智能货柜不属于服务器所管辖的设备,所以,服务器生成用于指示服务接口授权失败的响应消息,智能货柜在接收到授权失败的响应消息之后,知晓授权失
败,无法利用服务接口控制智能货柜。
68.当智能货柜的用户标识存在于存储器中,说明该智能货柜属于服务器所管辖的设备,所以,服务器将服务接口的授权码确定为响应消息,智能货柜在接收到服务接口的授权码之后,利用服务接口的授权码控制智能货柜。
69.在此基础上,为了确定出响应消息,在一种可选的实施例中,当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,服务器将服务接口的授权码确定为响应消息,包括:
70.当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,服务器确定用户标识对应的密钥号和用户标识对应的加密算法;
71.服务器根据密钥号和加密算法,计算得到加密串;
72.当加密串与获取请求中携带的加密串不相同时,服务器生成用于指示服务接口授权失败的响应消息;
73.当加密串与获取请求中携带的加密串相同时,服务器将服务接口的授权码确定为响应消息。
74.当服务器正常工作,经过判断确定智能货柜的用户标识存在于存储器中时,服务器根据用户标识可以查找到该用户标识对应的密钥号和用户标识对应的加密算法,然后根据密钥号和加密算法来计算得到加密串,再将计算得到的加密串与获取请求中携带的加密串相比较,当确定加密串与加密串不相同时,说明,获取请求中提供的用户标识与加密串经过验证是与服务器中的不相符的,即验证不通过,所以此时服务器生成用于指示服务接口失败的响应消息。
75.当计算得到的加密串与携带的加密串相同时,说明,获取请求中提供的用户标识与加密串经过验证是与服务器中的相符的,即验证通过,所以此时服务器将服务接口的授权码确定为响应消息。
76.基于上述实施例,在一种可选的实施例中,当加密串与获取请求中携带的加密串相同时,服务器将服务接口的授权码确定为响应消息,包括:
77.当加密串与获取请求中携带的加密串相同,且获取请求中携带的智能货柜的设备标识不存在于存储器中时,服务器将智能货柜的设备标识存储至存储器中,并确定智能货柜的设备标识对应的服务时间范围,将服务接口的授权码确定为响应消息;
78.当加密串与获取请求中携带的加密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识落入存储器中的黑名单时,服务器生成用于指示服务接口授权失败的响应消息。
79.针对计算得到的加密串与携带的加密串相同的情况来说,由于获取请求中还携带有智能货柜的设备标识,继续判断智能货柜的设备标识是否存在于存储器中,如果设备标识不存在于存储器中,由于该用户标识是有效的,所以,将智能货柜的设备标识存储至存储器中,并记录存储的时刻,将存储的时刻确定为服务的开始时间,然后确定服务的结束时间,这样,便确定出设备标识对应的服务时间范围,例如2020年6月1日将设备标识存储至存储器中,那么,设备标识对应的服务时间范围可以为2020年6月1日至2021年5月31日;
80.在确定出设备标识对应的服务时间范围之后,服务器将服务接口的授权码确定为响应消息。
81.经过判断,如果设备标识不存在于存储器中,再判断设备标识是否落入存储器中的黑名单中,即该设备标识是否为服务器禁止服务的名单里,如果该设备标识落入黑名单中,说明服务器禁止向该智能货柜提供服务器,所以此时服务器生成用于指示服务接口授权失败的响应消息。
82.针对计算得到的加密串与携带的加密串相同的情况来说,为了确定出响应消息,在一种可选的实施例中,上述方法还包括:
83.当加密串与获取请求中携带的加密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识未落入存储器中的黑名单,且当前时刻落入智能货柜的设备标识对应的服务时间范围之内时,服务器将服务接口的授权码确定为响应消息。
84.当计算得到的加密串与携带的加密串相同,且设备标识存在于存储器中,并且,设备标识不是黑名单中的标识,那么,进一步判断当前时刻是否落入设备标识对应的服务时间范围,也就是说,需要判断是否在服务时效内,若当前时刻落入设备标识对应的服务时间范围内,例如,设备标识对应的服务时间范围为2020年6月1日至2021年5月31日,当前时刻为2020年7月1日,由于落入服务时间范围内,即还在服务期内,所以服务器将服务接口的授权码确定为响应消息,这样,智能货柜利用服务接口的授权码调用服务接口,控制智能货柜。
85.基于上述实施例中,为了确定出响应消息,在一种可选的实施例中,上述方法还包括:
86.当加密串与获取请求中携带的加密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识未落入存储器中的黑名单,且当前时刻未落入智能货柜的设备标识对应的服务时间范围之内,且获取请求中携带的用户标识对应的服务接口的类型标识属于用户标识的免费服务接口的类型标识范围内时,服务器扩大智能货柜的服务时间范围,将服务接口的授权码确定为响应消息。
87.具体来说,当计算得到的加密串与携带的加密串相同,且设备标识存在于存储器中,并且,设备标识不是黑名单中的标识,且当前时刻未落入服务时间范围内时,判断用户标识对应的服务接口的类型标识是否属于:用户标识的免费服务接口的类型标识范围内,如果属于,说明该服务接口为服务器规定的免费服务接口,由于需要提供免费服务,所以,可以酌情将服务时间范围扩大,例如,原本的服务时间范围为2020年6月1日至2021年5月31日,扩大为2020年6月1日至2021年6月30日,即延长服务时间范围,最后,将服务接口的授权码确定为响应消息,以使得智能货柜利用服务接口控制智能货柜。
88.基于上述实施例中,进一步地,为了确定出响应消息,在一种可选的实施例中,上述方法还包括:
89.当加密串与获取请求中携带的加密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识未落入存储器中的黑名单,且获取请求中携带的用户标识对应的服务接口的类型标识不属于用户标识的免费服务接口的类型标识范围内,且当前时刻落入智能货柜的设备标识对应的服务时间范围之外时,服务器生成用于指示服务接口授权失败的响应消息。
90.具体来说,当计算得到的加密串与携带的加密串相同,且设备标识存在于存储器
中,并且,设备标识不是黑名单中的标识,且当前时刻落入服务时间范围之外时,说明该收费的服务接口该在服务范围之外,判断用户标识对应的服务接口的类型标识是否属于:用户标识的免费服务接口的类型标识范围内,如果不属于,说明该服务接口为服务器规定的收费服务接口,所以,服务器生成用于用户只是服务接口授权失败的响应消息,使能货柜无法调用服务接口控制智能货柜。
91.s203:服务器将响应消息发送至智能货柜;
92.s204:当响应消息为服务接口的授权码时,智能货柜调用服务接口控制智能货柜。
93.智能货柜在接收到响应消息之后,若是该响应消息为服务接口的授权码,那么,智能货柜接收到服务接口的授权码,具有调用服务接口的权限,所以,智能货柜调用服务接口控制智能货柜。
94.另外,针对响应消息除了为服务接口的授权之外,在一种可选的实施例中,上述方法还包括:
95.当响应消息指示服务器异常时,智能货柜调用服务接口控制智能货柜;
96.和/或,当响应消息指示服务器与智能货柜之间的通信链路异常时,调用服务接口控制智能货柜。
97.具体来说,当响应消息指示服务器异常,例如,响应消息为无返回值或者报错码时,说明此时服务器异常,为了不影响用户使用智能货柜,此时,智能货柜直接调用服务接口控制智能货柜,当响应消息指示服务器与智能货柜之间的通信链路异常时,同样地,为了不影响用户使用智能货柜,此时,智能货柜直接调用服务接口控制智能货柜。
98.针对响应消息除了上述实施例之外,在一种可选的实施例中,上述方法还包括:
99.当响应消息指示服务接口的授权失败时,智能货柜生成提示信息;
100.当响应消息指示服务接口授权失败时,为了提示智能货柜的用户,生成提示信息,其中,提示信息用于提示服务器向智能货柜授权失败,这样,使得智能货柜能够知晓授权失败,可以及时地选择其他方式使得智能货柜能够正常运行。
101.另外,为了更加高效的进行授权,在一种可选的实施例中,上述方法还包括:
102.智能货柜将服务接口的授权码和服务接口的授权码的接收时刻存储至智能货柜的存储器中。
103.也就是说,在响应消息为服务接口的授权码时,将该授权码存储至存储器中,并将授权码的接收时刻同时记录下来,这样,使得存储器中同时存储有服务接口的授权码和该授权码的接收时刻,如此,可以在预设时间段内规定该授权码为有效地,防止预设时间段内多次向服务器申请授权引起不必要的资源消耗,提高了对智能货柜的控制效率。
104.下面举实例来对上述一个或多个实施例所述的授权方法进行说明。
105.图3为本发明实施例中的一种可选的授权方法的实例的流程示意图,如图3所示,该授权方法可以包括:
106.s301:智能货柜sdk启动;
107.具体来说,智能货柜程序启动,初始化sdk,sdk附带基础参数appid及secret(这2个参数是sdk在打包的时候,由生产商云端服务器提供的,每个客户都有唯一的appid和secret),及设备标识,并和生产商云端服务器约定的加密算法,计算出加密串,及其他的额外参数,比如sdk标识,及sdk版本号(这些参数都是打包sdk时固定好的)。
108.s302:智能货柜请求服务器获取license;
109.s303:判断服务器是否正常;若异常,执行s304,若正常,执行s305;
110.s304:授权成功;
111.具体来说,智能货柜请求服务器获取设备sdk授权的license,然后,服务器判断自身是否正常,如果服务器服务异常,包括通信异常,或无返回值或服务端500代码报错等一切异常情况,sdk直接授权成功结束,可进行下一步业务逻辑流程,即执行s304授权成功。
112.s305:服务器检测appid是否有效,若无效,执行s306,若有效,执行s307;
113.s306:授权失败;
114.在服务器接收到的来自智能货柜的请求中携带有生成商为客户所分配的appid,通过在服务器中查找是否存在该appid以确定该appid是否有效,也就是说,当服务器服务正常,服务器获取传过来的appid,去检测该appid值是否有效,如果无效,服务端返回失败json字符串,明确请求失败返回,若有效,执行s307。
115.s307:服务器查询appid对应的密钥号和加密算法,计算出加密串a;执行s308;
116.s308:服务器判断加密串a与智能货柜传过来的加密串是否相等,若相等,执行s309,若不相等,执行s306;
117.具体来说,若appid有效,服务器查询出appid对应的秘钥号,并获取设备标识,其他额外参数,与终端sdk约定好的加密算法,计算出加密串a,然后把加密串a与请求中携带的加密串比较,如果不相等,服务端返回失败json字符串,明确请求失败返回,sdk授权失败结束;
118.s309:服务器判断设备标识是否在数据库里;若不存在,执行s310,若不存在,执行s311;
119.s310:服务器确定服务开始时间和结束时间并记录到数据库中,返回license,执行s304;
120.如果相等,服务器再次检测设备标识是否在智能货柜的数据库里,若不存在,记录添加时间点,并按一年免费有效服务计算出服务结束时间,2个时间点一并记录到数据库中,以确定出该设备标识的服务时间范围,并返回正确json字符串,包括license,明确请求成功返回,sdk授权成功返回。
121.s311:服务器判断设备标识是否在黑名单里;若在,执行s306,若不在,执行s312;
122.若设备标识存在数据库中,再次检测该设备标识是否在黑名单里,若存在黑名单里,服务器返回失败json字符串,明确请求失败返回。
123.s312:服务器判断appid的设备标识是否在服务结束时间之前;若为是,执行s313;若为否,执行s314;
124.s313:服务器返回license;执行s304;
125.若不存在,判断该appid下的设备标识是否在服务结束时间之前,若是,返回正确json字符串,包括license,明确请求成功返回。
126.s314:服务器判断sdk标识及appid是否在收费范围内;若为免费,执行s315;若为收费,执行s306;
127.s315:服务器将服务结束时间顺延30天;执行s313。
128.服务器检测该sdk标识及appid是否在收费范围内,若免费,设备标识对应的服务
结束时间顺延30天,返回正确json字符串,包括license,明确请求成功返回;
129.在收费的基础上,该设备标识对应的服务时间范围已经过期,服务器返回失败json字符串,明确请求失败返回,sdk授权失败结束,终止控制智能货柜的功能;
130.对于sdk授权正确返回后,sdk把获取到的license保存到智能货柜的本地文件中,下次sdk启动时去判断本地文件是否有这个license,如果无或这个license生成日期已经隔天了,则继续s301。
131.通过以上sdk启动去请求生产商服务器的license,则有效控制智能货柜的功能,能做到生产商控制智能货柜的功能,能有效降低客户开发成本和自身底层协议的不暴露风险。
132.也就是说,智能货柜的客户有自己的运营管理后台,只需要控制智能货柜的底层协议,就能控制智能货柜的流程功能,但是生产商对于自己生产的智能货柜的有自己的底层协议框架,并且这个框架具有版本私有,不可能暴露出来,只有集成sdk方法把这个控制逻辑通过接口的方式暴露出来,客户只要调用接口就可以控制智能货柜的所有智能功能,但是生产商想监控sdk是否有效或设备是否在服务有效期,这样增加生产商的license接口就能实现。
133.本实例通过集成智能货柜所有控制功能的sdk,保护了底层逻辑协议泄露的风险,又能有效控制生产商的智能货柜,保护了生产商的资产信息。
134.本发明实施例提供了一种授权方法,该方法包括:当智能货柜上电之后,向所述智能货柜对应的服务器发送针对搜索树智能货柜的服务接口的授权码的获取请求,接收来自服务器针对获取请求的响应消息,当响应消息为服务接口的授权码时,调用服务接口控制智能货柜,这样,在智能货柜中设置有服务接口,该服务接口用于控制智能货柜的,那么,用户为了使用该服务器接口,需要获取该服务接口的授权码,通过向服务器发送获取请求,使得服务器生成响应消息,智能货柜确定接收到的响应消息为服务接口的授权码时,调用服务接口来控制智能货柜,如此,避免用户学习智能货柜的底层控制协议才能够实现对智能货柜的控制,利用设置的服务接口以及服务接口的授权码实现服务器对服务接口的控制,进而使得用户在获取到授权码之后就能够实现对智能货柜的控制,使得对智能货柜的控制更加简单便捷,提高了对智能货柜的控制效率。
135.实施例二
136.下面以授权系统中各个设备侧对上述授权方法进行说明。
137.首先,以智能货柜侧对授权方法进行描述。
138.图4为本发明实施例中的一种可选的授权方法的流程示意图,参考图4所示,该方法可以包括:
139.s401:当智能货柜上电之后,向智能货柜对应的服务器发送针对智能货柜的服务接口的授权码的获取请求;
140.s402:接收来自服务器针对获取请求的响应消息;
141.s403:当响应消息为服务接口的授权码时,调用服务接口控制智能货柜。
142.在一种可选的实施例中,该方法还包括:
143.当响应消息指示服务器异常时,调用服务接口控制智能货柜;
144.和/或,当响应消息指示服务器与智能货柜之间的通信链路异常时,调用服务接口
控制智能货柜。
145.在一种可选的实施例中,该方法还包括:
146.当响应消息指示服务接口的授权失败时,生成提示信息;
147.其中,提示信息用于提示服务器向智能货柜授权失败。
148.在一种可选的实施例中,该方法还包括:
149.将服务接口的授权码和服务接口的授权码的接收时刻存储至智能货柜的存储器中。
150.在一种可选的实施例中,s401可以包括:
151.当智能货柜上电之后,且智能货柜的存储器中不存在服务接口的授权码时,向服务器发送针对服务接口的授权码的获取请求。
152.在一种可选的实施例中,该方法还包括:
153.当智能货柜上电之后,且智能货柜的存储器中存在服务接口的授权码时,从存储器中获取服务接口的授权码以及服务接口的授权码的接收时刻;
154.当接收时刻距离当前时刻小于等于预设时间段时,调用务接口控制智能货柜;
155.当接收时刻距离当前时刻大于预设时间段时,向服务器发送针对服务接口的授权码的获取请求。
156.其次,以服务器侧对授权方法进行描述。
157.图5为本发明实施例中的另一种可选的授权方法的流程示意图,参考图5所示,该方法可以包括:
158.s501:接收来自智能货柜发送的针对智能货柜的服务接口的授权码的获取请求;
159.s502:根据获取请求,确定获取请求的响应消息;
160.s503:发送响应消息至智能货柜;
161.其中,响应消息用于智能货柜确定是否调用服务接口控制智能货柜。
162.在一种可选的实施例中,该方法还包括:
163.当服务器异常时,生成用于指示服务器异常或者服务器与智能货柜通信异常的响应消息;
164.和/或,当服务器与智能货柜之间的通信链路异常时,生成用于指示服务器异常或者服务器与智能货柜通信异常的响应消息。
165.在一种可选的实施例中,s502可以包括:
166.当服务器正常工作,且获取请求中携带的智能货柜的用户识别码不存在于服务器的存储器中时,生成用于指示服务接口授权失败的响应消息;
167.当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,将服务接口的授权码确定为响应消息。
168.在一种可选的实施例中,当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,将服务接口的授权码确定为响应消息,包括:
169.当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,确定用户标识对应的密钥号和用户标识对应的加密算法;
170.根据密钥号和加密算法,计算得到加密串;
171.当加密串与获取请求中携带的加密串不相同时,生成用于指示服务接口授权失败
的响应消息;
172.当加密串与获取请求中携带的加密串相同时,将服务接口的授权码确定为响应消息。
173.在一种可选的实施例中,当加密串与获取请求中携带的机密串相同时,将服务接口的授权码确定为响应消息,包括:
174.当加密串与获取请求中携带的机密串相同,且获取请求中携带的智能货柜的设备标识不存在于存储器中时,将智能货柜的设备标识存储至存储器中,并确定智能货柜的设备标识对应的服务时间范围,将服务接口的授权码确定为响应消息;
175.当加密串与获取请求中携带的加密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识落入存储器中的黑名单时,生成用于指示服务接口授权失败的响应消息。
176.在一种可选的实施例中,该方法还包括:
177.当加密串与获取请求中携带的机密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识不存在于存储器中的黑名单,且当前时刻落入智能货柜的设备标识对应的服务时间范围之内时,将服务接口的授权码确定为响应消息。
178.在一种可选的实施例中,该方法还包括:
179.当加密串与获取请求中携带的机密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识未落入存储器中的黑名单,且当前时刻未落入智能货柜的设备标识对应的服务时间范围之内,且获取请求中携带的用户标识对应的服务接口的类型标识属于用户标识的免费服务接口的类型标识范围内时,扩大智能货柜的服务时间范围,将服务接口的授权码确定为响应消息。
180.在一种可选的实施例中,所述方法还包括:
181.当加密串与获取请求中携带的机密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识未落入存储器中的黑名单,且当前时刻落入智能货柜的设备标识对应的服务时间范围之外,且获取请求中携带的用户标识对应的服务接口的类型标识不属于用户标识的免费服务接口的类型标识范围内时,生成用于指示服务接口授权失败的响应消息。
182.实施例三
183.基于同一发明构思,本发明实施例提供一种智能货柜,与上述一个或者多个实施例中所述的智能货柜一致。
184.图6为本发明实施例中的智能货柜的结构示意图一,如图6所示,上述智能货柜包括:第一发送模块61,第一接收模块62和调用模块63;
185.第一发送模块61,用于当智能货柜上电之后,向智能货柜对应的服务器发送针对智能货柜的服务接口的授权码的获取请求;
186.第一接收模块62,用于接收来自服务器针对获取请求的响应消息;
187.调用模块63,用于当响应消息为服务接口的授权码时,调用服务接口控制智能货柜。
188.在一种可选的实施例中,该智能货柜,还用于:
189.当响应消息指示服务器异常时,调用服务接口控制智能货柜;
190.和/或,当响应消息指示服务器与智能货柜之间的通信链路异常时,调用服务接口控制智能货柜。
191.在一种可选的实施例中,该智能货柜,还用于:
192.当响应消息指示服务接口的授权失败时,生成提示信息;
193.其中,提示信息用于提示服务器向智能货柜授权失败。
194.在一种可选的实施例中,该智能货柜,还用于:
195.将服务接口的授权码和服务接口的授权码的接收时刻存储至智能货柜的存储器中。
196.在一种可选的实施例中,第一发送模块61,具体用于:
197.当智能货柜上电之后,且智能货柜的存储器中不存在服务接口的授权码时,向服务器发送针对服务接口的授权码的获取请求。
198.在一种可选的实施例中,该智能货柜,还用于:
199.当智能货柜上电之后,且智能货柜的存储器中存在服务接口的授权码时,从存储器中获取服务接口的授权码以及服务接口的授权码的接收时刻;
200.当接收时刻距离当前时刻小于等于预设时间段时,调用服务接口控制智能货柜;
201.当接收时刻距离当前时刻大于预设时间段时,向服务器发送针对服务接口的授权码的获取请求。
202.在实际应用中,上述第一发送模块61、第一接收模块62和调用模块63可由位于智能货柜上的处理器实现,具体为中央处理器(cpu,central processing unit)、微处理器(mpu,microprocessor unit)、数字信号处理器(dsp,digital signal processing)或现场可编程门阵列(fpga,field programmable gate array)等实现。
203.基于同一发明构思,本发明实施例提供一种服务器,与上述一个或者多个实施例中所述的服务器一致。
204.图7为本发明实施例中的服务器的结构示意图一,如图7所示,上述服务器包括:第二接收模块71确定模块72和第二发送模块73;
205.第二接收模块71,用于接收来自智能货柜发送的针对智能货柜的服务接口的授权码的获取请求;
206.确定模块72,用于根据获取请求,确定获取请求的响应消息;
207.第二发送模块73,用于发送响应消息至智能货柜;
208.其中,响应消息用于智能货柜确定是否调用服务接口控制智能货柜。
209.在一种可选的实施例中,该服务器,还用于:
210.当服务器异常时,生成用于指示服务器异常或者服务器与智能货柜通信异常的响应消息;
211.和/或,当服务器与智能货柜之间的通信链路异常时,生成用于指示服务器异常或者服务器与智能货柜通信异常的响应消息。
212.在一种可选的实施例中,确定模块72,具体用于:
213.当服务器正常工作,且获取请求中携带的智能货柜的用户识别码不存在于服务器的存储器中时,生成用于指示服务接口授权失败的响应消息;
214.当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,将服务接口的授权码确定为响应消息。
215.在一种可选的实施例中,当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,确定模块72将服务接口的授权码确定为响应消息中,包括:
216.当服务器正常工作,且获取请求中携带的智能货柜的用户标识存在于存储器中时,确定用户标识对应的密钥号和用户标识对应的加密算法;
217.根据密钥号和加密算法,计算得到加密串;
218.当加密串与获取请求中携带的加密串不相同时,生成用于指示服务接口授权失败的响应消息;
219.当加密串与获取请求中携带的加密串相同时,将服务接口的授权码确定为响应消息。
220.在一种可选的实施例中,当加密串与获取请求中携带的机密串相同时,确定模块72将服务接口的授权码确定为响应消息中,包括:
221.当加密串与获取请求中携带的机密串相同,且获取请求中携带的智能货柜的设备标识不存在于存储器中时,将智能货柜的设备标识存储至存储器中,并确定智能货柜的设备标识对应的服务时间范围,将服务接口的授权码确定为响应消息;
222.当加密串与获取请求中携带的加密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识落入存储器中的黑名单时,生成用于指示服务接口授权失败的响应消息。
223.在一种可选的实施例中,确定模块72,还用于:
224.当加密串与获取请求中携带的机密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识不存在于存储器中的黑名单,且当前时刻落入智能货柜的设备标识对应的服务时间范围之内时,将服务接口的授权码确定为响应消息。
225.在一种可选的实施例中,确定模块72,还用于:
226.当加密串与获取请求中携带的机密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识未落入存储器中的黑名单,且当前时刻未落入智能货柜的设备标识对应的服务时间范围之内,且获取请求中携带的用户标识对应的服务接口的类型标识属于用户标识的免费服务接口的类型标识范围内时,扩大智能货柜的服务时间范围,将服务接口的授权码确定为响应消息。
227.在一种可选的实施例中,确定模块72,还用于:
228.当加密串与获取请求中携带的机密串相同,且获取请求中携带的智能货柜的设备标识存在于存储器中,且智能货柜的设备标识未落入存储器中的黑名单,且当前时刻落入智能货柜的设备标识对应的服务时间范围之外,且获取请求中携带的用户标识对应的服务接口的类型标识不属于用户标识的免费服务接口的类型标识范围内时,生成用于指示服务接口授权失败的响应消息。
229.在实际应用中,上述第二接收模块71、确定模块72和第二发送模块73可由位于服务器上的处理器实现,具体为cpu、mpu、dsp或fpga,等实现。
230.图8为本发明实施例中的智能货柜的结构示意图二,如图8所示,本发明实施例提
供了一种智能货柜800,包括:
231.处理器81以及存储有所述处理器81可执行指令的存储介质82,所述存储介质82通过通信总线83依赖所述处理器81执行操作,当所述指令被所述处理器81执行时,执行上述一个或多个实施例中智能货柜所执行的所述授权方法。
232.需要说明的是,实际应用时,终端中的各个组件通过通信总线83耦合在一起。可理解,通信总线83用于实现这些组件之间的连接通信。通信总线83除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为通信总线83。
233.图9为本发明实施例中的服务器的结构示意图二,如图9所示,本发明实施例提供了一种服务器900,包括:
234.处理器91以及存储有所述处理器91可执行指令的存储介质92,所述存储介质92通过通信总线93依赖所述处理器91执行操作,当所述指令被所述处理器91执行时,执行上述一个或多个实施例中服务器所执行的所述授权方法。
235.需要说明的是,实际应用时,终端中的各个组件通过通信总线93耦合在一起。可理解,通信总线93用于实现这些组件之间的连接通信。通信总线93除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为通信总线93。
236.本技术实施例提供了一种计算机存储介质,存储有可执行指令,当所述可执行指令被一个或多个处理器执行的时候,所述处理器执行如上述一个或多个实施例中智能货柜执行的所述的连接方法,或者如上述一个或多个实施例中服务器执行的所述的连接方法。
237.其中,计算机可读存储介质可以是磁性随机存取存储器(ferromagnetic random access memory,fram)、只读存储器(read only memory,rom)、可编程只读存储器(programmable read

only memory,prom)、可擦除可编程只读存储器(erasable programmable read

only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read

only memory,eeprom)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read

only memory,cd

rom)等存储器。
238.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
239.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
240.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
241.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
242.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1