智能配送系统通信加密方法及装置与流程

文档序号:16433179发布日期:2018-12-28 20:17阅读:247来源:国知局
智能配送系统通信加密方法及装置与流程
本申请涉及信息加密
技术领域
,具体而言,涉及一种智能配送系统通信加密方法及装置。
背景技术
中国城市人口密度高,促使超市、便利店等零售行业在过去几年迅速发展。而如今,随着人力成本、房租成本、物流成本的不断上升,零售业不得不面临高昂的运营成本。再加之如天猫超市、一号店等网络超市的迅速崛起,传统零售行业的运营举步艰难。相比之下,自动售货机无需人力运作,且占地小、置放灵活,在降低运营成本的同时,更为顾客提供7×24小时全天候便民服务。因此,在传统零售业面临运营困境的现状下,自动售货机市场的发展将成为下一个趋势。并且随着社会的现代化,自动售货机以其快捷、方便、卫生而被人们普遍接受,改变了传统的人工售货行业,既能降低售货成本,同时又方便了商家和卖家;特别是在例如酒店,超市或者商场中,能够为使用者提供高效便捷的自动化的服务。但是现有的无论是无人超市或者自动售货机中终端与服务器之间的通信行为均没有有效的加密过程,因此系统极容易被攻破,导致不必要的损失。针对相关技术中存在的问题,目前尚未提出有效的解决方案。技术实现要素:本申请的主要目的在于提供一种智能配送系统通信加密方法及装置,以解决相关技术中存在的问题。为了实现上述目的,根据本申请的一个方面,提供了一种智能配送系统通信加密方法。根据本申请的智能配送系统通信加密方法,包括:确定用于与货物存放载体进行通信的第一通信指令;确定所述通信指令中货物存放载体的载体序列信息;将所述载体序列信息进行处理,生成加密秘钥;将所述加密秘钥写入所述通信指令中,得到加密后的第二通信指令;对所述加密秘钥进行处理,并生成与机器人通信的第三通信指令。进一步的,如前述的智能配送系统通信加密方法,将所述载体序列信息进行处理,生成加密秘钥;包括:将所述载体序列信息转为16进制数字的第一编码;将所述第一编码中的每一位都转换为ascii码,得到移动设备识别码;确定所述通信指令中帧序号;根据下式得到所述加密秘钥key:key=imei+(帧序号*65535)+1。进一步的,如前述的智能配送系统通信加密方法,对所述加密秘钥进行处理,并生成与机器人通信的第三通信指令;包括:对所述加密秘钥计算md5,并得到对应的签名;根据所述签名生成与机器人通信的第三通信指令。进一步的,如前述的智能配送系统通信加密方法,所述对所述加密秘钥计算md5,并得到对应的签名;还包括:获得进行流通货物的货物信息;确定所述货物信息中的各个业务参数信息;其中,每个所述业务参数信息包括:参数名及参数;将各个所述业务参数信息进行排列得到字符串信息;对所述字符串信息进行md5计算,得到所述签名。进一步的,如前述的智能配送系统通信加密方法,所述将各个所述业务参数信息进行排列得到字符串信息;包括:将各个参数信息按照所述参数名的首字母进行排序;所述业务参数信息包括:账号名、时间戳、货物类型和目标地点;将相邻的两个参数信息之间用固定字符进行连接。为了实现上述目的,根据本申请的另一方面,提供了一种智能配送系统通信加密装置。根据本申请的智能配送系统通信加密装置,包括:第一通信指令确定单元,用于确定用于与货物存放载体进行通信的第一通信指令;载体序列信息确定单元,用于确定所述通信指令中货物存放载体的载体序列信息;秘钥生成单元,用于将所述载体序列信息进行处理,生成加密秘钥;加密指令生成单元,用于将所述加密秘钥写入所述通信指令中,得到加密后的第二通信指令;机器人通信加密单元,用于对所述加密秘钥进行处理,并生成与机器人通信的第三通信指令。进一步的,如前述的智能配送系统通信加密装置,所述秘钥生成单元包括:第一转换模块,用于将所述载体序列信息转为16进制数字的第一编码;第二转换模块,用于将所述第一编码中的每一位都转换为ascii码,得到移动设备识别码;帧序号确定模块,用于确定所述通信指令中帧序号;秘钥生成模块,用于根据下式得到所述加密秘钥key:key=imei+(帧序号*65535)+1。进一步的,如前述的智能配送系统通信加密装置,所述机器人通信加密单元还包括:签名生成模块,用于对所述加密秘钥计算md5,并得到对应的签名;第三通信指令生成模块,用于根据所述签名生成与机器人通信的第三通信指令。进一步的,如前述的智能配送系统通信加密装置,所述签名生成模块;还包括:货物信息获得模块,用于获得进行流通货物的货物信息;业务参数信息确定模块,用于确定所述货物信息中的各个业务参数信息;其中,每个所述业务参数信息包括:参数名及参数;字符串信息确定模块,用于将各个所述业务参数信息进行排列得到字符串信息;签名确定模块,用于对所述字符串信息进行md5计算,得到所述签名。进一步的,如前述的智能配送系统通信加密装置,所述字符串信息确定单元包括:排序子模块,用于将各个参数信息按照所述参数名的首字母进行排序;所述业务参数信息包括:账号名、时间戳、货物类型和目标地点;连接子模块,用于将相邻的两个参数信息之间用固定字符进行连接。在本申请实施例中,采用将服务器与货物存放载体等装置之间通信过程进行加密的方式,通过:确定用于与货物存放载体进行通信的第一通信指令;确定所述通信指令中货物存放载体的载体序列信息;将所述载体序列信息进行处理,生成加密秘钥;将所述加密秘钥写入所述通信指令中,得到加密后的第二通信指令;对所述加密秘钥进行处理,并生成与机器人通信的第三通信指令。达到了使得货物存放载体与服务器之间的通信信息进行加密的目的,从而实现了保障通信过程安全,不易被篡改,能够有效减少损失的技术效果,进而解决了由于相关技术中通信过程没有有效加密行为造成的信息易被篡改而对运营商造成损失的技术问题。附图说明构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请一种实施例的智能配送系统通信加密方法流程示意图;图2是根据本申请一种实施例中获得签名的方法流程示意图;以及图3是根据本申请一种实施例的装置结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。为了实现上述目的,根据本申请的一个方面,提供了一种智能配送系统通信加密方法。如图1所示,该方法包括如下的步骤s1至步骤s4:s1.确定用于与货物存放载体进行通信的第一通信指令;s2.确定所述通信指令中货物存放载体的载体序列信息;s3.将所述载体序列信息进行处理,生成加密秘钥;s4.将所述加密秘钥写入所述通信指令中,得到加密后的第二通信指令;s5.对所述加密秘钥进行处理,并生成与机器人通信的第三通信指令。在一些实施例中,如前述的智能配送系统通信加密方法,将所述载体序列信息进行处理,生成加密秘钥;包括:将所述载体序列信息转为16进制数字的第一编码;将所述第一编码中的每一位都转换为ascii码,得到移动设备识别码(imei码);确定所述通信指令中帧序号;根据下式得到所述加密秘钥key:key=imei+(帧序号*65535)+1。具体的,对于图1所示实施例中的方法进行应用的例子如下所示:1心跳包:(机器与服务器定时通信)1.1机器(货物存放载体)发送信息至服务器:例如,当心跳包为:5aa5a00076383635323039303330393736303036000164000000000000000000000000000000000000009c0000000001000312e72cf3a20680811.帧头:帧起始2字节帧起始0x5aa52.帧类型帧类型1字节心跳包0xa03.帧长度帧长度2个字节长度帧字节数(所有字节)4机器序列号机器序列号(设备唯一id)15字节设备的imei号(15位)以16进制传递每个字符的ascii码,如0->0x305软件版本号软件版本号2字节0x00016货道数量货道数量1字节:设定好的货道数量0x647货道状态8x电机状态9y电机状态10推送电机状态11二级送货电机状态12二级出货电机状态13门电机状态14gprs状态及信号强度15备用长度备用长度占用1字节016帧序号帧序号4字节0x00000000-0xffffffff17加密key18帧尾帧尾2字节z10x80z20x811.2服务器发送信息至机器(货物存放载体):服务器返回帧例如,当心跳包为:5aa5a0006438363532303930333039373630303601010000000000000000000000000000000001000312e72cf3a20680811帧头帧开始2字节0x5aa52帧类型帧类型1字节心跳包0xa03帧长度帧长度2个字节长度4服务器编号服务器编号占用1个字节服务器编号0x015功能码6错误类型7备用长度8帧序号帧序号4字节9加密key10帧尾帧尾2字节z10x80z20x812.服务器出货通知2.1服务器发送出货通知至机器(货物存放载体):(服务器发往机器)例:5aa5a1005838363532303930333039373630303601010101010101010000000001000312e72cf3a20680815aa5a1005838363532303930333039373630363301030101020103010000000001000312e72cf3a23f80811帧开始帧开始2字节0x5aa52.帧类型帧类型1字节出货通知0xa13帧长度帧长度2个字节长度z1-z2:b15-b0表示数值4机器序列号5服务器编号服务器编号占用1个字节服务器编号0x016出货货道数货道数1字节例子:0x057货道号货道1字节货道编号8商品数量商品数量1个字节商品数量9货道号、商品数量8字节例子:n=(5-1)*2=810备用长度备用长度占用1字节z1:b7-b0长度数字11帧序号帧序号4字节12加密key13帧尾帧尾2字节z1-z2z10x80z20x812.2机器(货物存放载体)的主板出货反馈(返回帧)至服务器例如,当返回帧为:5aa5a10068383635323039303330393736303036000101000300000000000000000000000000000001000312e72cf3a20680811帧开始帧开始2字节0x5aa52.帧类型帧类型1字节z1线上出货通知0xa13帧长度帧长度2个字节长度4机器序列号5软件版本号软件版本号2字节:z1-z20x00016功能码7错误类型8订单号订单号15字节机器收到的订单号,直接返回9备用长度备用长度1字节010帧序号帧序号4字节11加密key12帧尾3出货完成信息上传3.1机器发送出货信息至服务器(主板上传,机器发往服务器)例如,当出货完成信息为:5aa5a200663836353230393033303937363030360001030001000101000201000000000001000312e72cf3a20680811帧开始帧开始2字节0x5aa52.帧类型帧类型1字节机器交易上传0xa23帧长度4机器序列号5软件版本号软件版本号2字节:z1-z20x00016出货货道数货道数1字节如:0x057货道货道1字节货道编号8商品数量商品数量1字节9出货完成信息10货道号、商品数量、出货信息n字节如:n=(5-1)*3=1211备用长度12帧序号帧序号4字节13加密key14帧尾帧尾2字节z1-z2z10x80z20x813.2服务器返回帧为例如,当上表的返回帧为:5aa5a2006438363532303930333039373630303601010000000000000000000000000000000001000312e72cf3a20680811帧开始帧开始2字节0x5aa52帧类型帧类型1字节z1机器出货信息上传z1:b7-b00xa23帧长度帧长度2个字节长度z1-z2:b15-b0表示数值4机器序列号5服务器编号6功能码7错误类型8备用长度备用长度7字节z1—z79帧序号帧序号4字节z1-z410加密key11帧尾帧尾2字节z1-z2z10x80z20x81此外,还可以将上述方法应用在:服务器一级送货通知;一级送货完成信息上传;服务器二级送货通知;二级送货完成信息上传;服务器请求心跳等情况中,本领域技术人员可根据上述实施例中的方法实现,在此不一一举例。在一些实施例中,如前述的智能配送系统通信加密方法,对所述加密秘钥进行处理,并生成与机器人通信的第三通信指令;包括:对所述加密秘钥计算md5,并得到对应的签名;根据所述签名生成与机器人通信的第三通信指令。并且机器人与服务器之间的通信信息都通过所述签名进行加密保障信息传递过程中的安全性,在传递任务完成之后服务器或机器人能够对所述签名进行解密得到解密后的指令信息。如图2所示,在一些实施例中,如前述的智能配送系统通信加密方法,所述对所述加密秘钥计算md5,并得到对应的签名;还包括:j1.获得进行流通货物的货物信息;j2.确定所述货物信息中的各个业务参数信息;其中,每个所述业务参数信息包括:参数名及参数;j3.将各个所述业务参数信息进行排列得到字符串信息;j4.对所述字符串信息进行md5计算,得到所述签名。在一些实施例中,如前述的智能配送系统通信加密方法,所述将各个所述业务参数信息进行排列得到字符串信息;包括:将各个参数信息按照所述参数名的首字母进行排序;所述业务参数信息包括:账号名、时间戳、货物类型和目标地点;将相邻的两个参数信息之间用固定字符进行连接。一般的,可以将如图2所示的实施例应用在送货机器人与服务器之间的通信加密中。当所有接口均为http接口,支持get和post两种方式,一般读为get,写(或控制操作)为post,以下面的这个接口为例:#呼叫指定的机器人到502房间post/openapi/v1/robot/call?productid=hotqy00sz201704180503001&target=502上面的接口在实际调用时,除了传productid和target参数之外,还需要传三个必填参数,如下表所示:参数名含义appname申请获得的接入账号名ts调用接口时的时间戳,精确到毫秒sign使用secretkey生成的签名其中,签名sign生成算法:#将上面3个必填参数之外的其它“业务”参数,按照参数名的字母顺序排序,并用“i”连接productid:hotqy00sz201704180503001itarget:502#再将appname、secretkey和ts按顺序拼在后面面productid:hotqy00sz201704180503001itarget:502iappname:xxxisecret:b926a253863e501afef8755ad930a65bits:1500371626000#对上面得到的字符串计算md5即得到sign的值sign=md5(productid:hotqy00sz201704180503001|target:502|appname:xxxisecret:b926a253863e501afef8755ad930a65b|ts:1500371626000)#最后调用接口时,变成下面这样post/openapi/v1/robot/call?productid=hotqy00sz201704180503001&target=502&appname=xxx&ts=1500371626000&sign=55a8d9c7ac28cf06d83e3b38ae6452323.返回结果所有接口返回结果均为json,其基本格式如下:{"errcode":0,"errmsg":"error","data":"xxx"}返回结果的个字段含义如下表所示:需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。根据本发明实施例,还提供了一种用于实施上述智能配送系统通信加密方法的智能配送系统通信加密装置,如图3所示,该装置包括:根据本申请的智能配送系统通信加密装置,包括:第一通信指令确定单元1,用于确定用于与货物存放载体进行通信的第一通信指令;载体序列信息确定单元2,用于确定所述通信指令中货物存放载体的载体序列信息;秘钥生成单元3,用于将所述载体序列信息进行处理,生成加密秘钥;加密指令生成单元4,用于将所述加密秘钥写入所述通信指令中,得到加密后的第二通信指令;机器人通信加密单元,用于对所述加密秘钥进行处理,并生成与机器人通信的第三通信指令。具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。在一些实施例中,如前述的智能配送系统通信加密装置,所述秘钥生成单元包括:第一转换模块,用于将所述载体序列信息转为16进制数字的第一编码;第二转换模块,用于将所述第一编码中的每一位都转换为ascii码,得到移动设备识别码;帧序号确定模块,用于确定所述通信指令中帧序号;秘钥生成模块,用于根据下式得到所述加密秘钥key:key=imei+(帧序号*65535)+1。具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。在一些实施例中,如前述的智能配送系统通信加密装置,所述机器人通信加密单元还包括:签名生成模块,用于对所述加密秘钥计算md5,并得到对应的签名;第三通信指令生成模块,用于根据所述签名生成与机器人通信的第三通信指令。具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。在一些实施例中,如前述的智能配送系统通信加密装置,所述签名生成模块;还包括:货物信息获得模块,用于获得进行流通货物的货物信息;业务参数信息确定模块,用于确定所述货物信息中的各个业务参数信息;其中,每个所述业务参数信息包括:参数名及参数;字符串信息确定模块,用于将各个所述业务参数信息进行排列得到字符串信息;签名确定模块,用于对所述字符串信息进行md5计算,得到所述签名。具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。在一些实施例中,如前述的智能配送系统通信加密装置,所述字符串信息确定单元包括:排序子模块,用于将各个参数信息按照所述参数名的首字母进行排序;所述业务参数信息包括:账号名、时间戳、货物类型和目标地点;连接子模块,用于将相邻的两个参数信息之间用固定字符进行连接。具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1