一种实现多终端屏幕异步显示和触摸交互的pos系统的制作方法

文档序号:9930172阅读:463来源:国知局
一种实现多终端屏幕异步显示和触摸交互的pos系统的制作方法
【技术领域】
[0001] 本发明设及收银设备领域,具体设及一种实现多终端屏幕异步显示和触摸交互的 TOS系统。
【背景技术】
[0002] 传统基于Windows平台的收银机、POS机,采用Windows原生的分屏显示技术,可W 做到收银机的客屏和商屏显示不同的内容分别供顾客和服务员观看。但由于Wi ndows的局 限性,只有商屏可W触摸操作、客屏无法触摸操作,也即无法实现店员与顾客的触摸交互。 近年来基于Amlroid的商用终端逐渐兴起。但Amlroid原生只支持外接第二块屏幕复制显示 第一块屏幕,也不支持两块屏幕同时进行触摸。

【发明内容】

[0003] 本发明的目的就是提供一种实现多终端屏幕异步显示和触摸交互的POS系统,其 具备双触摸异步显示能力。
[0004] 为实现上述目的,本发明采用了 W下技术方案:
[0005] -种实现多终端屏幕异步显示和触摸交互的POS系统,其特征在于:包括具有触摸 操作功能、显示功能的主机和各从机,W及云端系统(云端);主机与各从机之间采用W太网 或Wifi进行数据交互,云端系统储存有各从机和主机的信息,主机和各从机分别内置了私 钥与公钥,私钥与公钥用于实现主机与从机之间的握手W及指令交互功能,主机和从机采 用如下方法建立连接:
[0006] 私钥和公钥为唯一配对。所有主机采用相同私钥,所有从机采用相同公钥。
[0007] SI:用户登陆主机后从云端系统获取自身的公钥、该公钥用于与云端系统验证握 手信息;主机接口请求的所有请求参数采用公钥加密后发送给云端系统;云端系统获取得 到接口请求后用私密解密获取请求参数内容,并与接口请求参数进行对比,如果一致,表明 接口请求数据一致,反之则认为接口请求数据有被篡改过,视为非法请求,不予处理;
[000引S2:主机启动W后,打开网络通讯功能,建立socket连接,将自身设为server端,并 打开接收从机握手指令的端口;从机启动W后,打开网络通讯功能,启动socket连接功能, 将自身设为Client端,W自身IP地址为基础,捜索主机的IP地址和端口号建立连接;
[0009] S3:主机与从机建立连接后,从机开始组装握手指令,握手指令包括自身设备信息 和软件版本信息,然后通过公钥加密后发送给主机;主机在获得从机的握手指令后先通过 主机私钥解密请求参数,然后与其从机同步传输的明文请求参数比对;如果一致,则认为握 手成功,反之则认为握手失败,视为非法请求,然后断开socket连接;
[0010] S4:主机和从机采用相同的指令集来实现两者之间的联动,指令由指令类型和指 令内容两部分组成。
[0011] 进一步的方案为:主机每隔一段时间向从机发送屯、跳包来判断从机的连接状况, 如果发送的屯、跳包有应答,则从机连接正常,否则认为从机连接失败。
[0012]上述提供的技术方案,使得主机与个从机之间进行连接通信,主机与从机之间分 别显示收银员和客户所需的信息,且收银员、客户可W根据显示的内容分别在主机、从机的 触摸显示屏上进行触摸交互,解决传统收银系统无法双屏触摸交互的问题。
【具体实施方式】
[001引为了使本发明的目的及优点更加清楚明白,W下结合实施例对本发明进行具体说 明。应当理解,W下文字仅仅用W描述本发明的一种或几种具体的实施方式,并不对本发明 具体请求的保护范围进行严格限定。
[0014] POS系统分为主机、从机和云端系统,主机只有一台,从机有多台,主机和从机均具 有触摸操作功能、显示功能,主机分别与各从机进行数据交互。主机与从机之间的物理连接 采用W太网协议或Wifi协议实现。
[00巧]1、公钥、私钥
[0016] 公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即 一个公钥和一个私携),公密是密钥对中公开的部分,私钥则是非公开的部分。公密通常用 于加密会话密钥、验证数字签名,或加密可W用相应的私密解密的数据。通过运种算法得到 的密钥对能保证在全世界范围内是唯一的。使用运个密钥对的时候,如果用其中一个密钥 加密一段数据,必须用另一个密钥解密。
[0017] 比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密否则 解密将不会成功。
[0018] 私钥加密算法使用单个私钥来加密和解密数据,由于具有密钥的任意一方都可W 使用该密钥解密数据,因此必须保护密钥不被未经授的代理得到。私钥加密又称为对称加 密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适 用于对较大的数据流执行加密转换。通常私钥算法(称为块密码)用于一次加密一个数据 块。密码块(RC2、DES、TripleDES和Rijndael)通过加密将n字节的输入块转换为加密字节的 输出块。如果要加密或解密字节序列,必须逐块进行。由于n很小(对于RC2、DES和 TripleDES,n = 8字节,n= 16[默认值],n = 24字节,对于I^iJndael,n = 32),因此必须对大于 n的数据值一次加密一个块。
[0019] 主机和从机在出厂前,分别在主机和从机内置了私钥与公钥。它们用于主机与从 机之之间的握手W及指令交互功能。而主机会在用户登陆后,从云端获取自身的公钥。运个 公钥用于与云端系统验证握手信息。在其他接口请求的时候,对所有请求参数用公钥加密 后,发送给云端。云端获取得到接口请求后,用私密解密,获取请求参数内容,并与接口请求 参数对比。如果一致,表明接口请求数据一致,反之则认为接口请求数据有被篡改过,视为 非法请求,不予W处理。
[0020] 例如:在获取设备信息接口中,请求参数为设备ID、登陆人,那么通过用公钥对其 加密后,获取到相应的数据内容。W其中一台设备具体参数为例,当前设备ID为00001。其登 陆人为abc,则通过公钥加密后的数据为:
[0021 ] O 化 ux4cnv98naf5k jd89 曲Ua 化 sw08g7e;rba78bf 2 化f a。然后将其 W 参数方式传递给 云端。完整的请求如下:
[0022] https : //api .web. com/v 1/getDeviceInfo?Deviced = OOOOlfeopera tor = abc& key二O2zux4cnv98na5kjd89ghua9hsw08g7erba78bf2dkfa
[0023] 云端获取得到请求后,先取出k巧中的值,通过私钥对k巧解密后,获取得到请求信 息:Deviced = 0000 l&operator = abc,与接 口中请求参数 Deviced = 0000 l&operator = abc 一致,则认为是正确请求,反之则为非法请求。
[0024] 2、捜索设备
[0025] 主机与从机都通过网络连接,都在一个局域网内,该局域网的DHCP服务由主机自 身提供,主机启动W后,打开网络通讯功能,建立socket连接,将自身设为server端,并打开 特定的端口,准备接收从机握手指令。从机启动W后,打开网络通讯功能,启动socket连接 功能,将自身设为Client端,W自身IP地址为基础,开始捜索主机设备的IP地址和端口号。 例如主机启动后,获得的IP地址是192.168.1.1,打开的端口号是80,此时从机启动后,获取 的IP地址是192.168.1.3,然后W自己运个IP地址为基础,开始捜索,比如下一个要捜索的 地址是:192.163.1.2,如果连接失败,则继续向下一个捜索192.168.1.1,如果连接成功,表 明建立连接,并成功找到主机设备。
[0026] 如果连接建立成功后超过10秒没有握手指令,主机会主动断开与从机的连接,断 开后的从机如果需要再次与主机连接,则需要重新建立连接,并验证握手指令。
[0027] 3、握手
[0028] 握手指令为从机发送给主机,其作用在于建立主机与从机两者之间的关系,也可 W理解为相互确认的过程。主机与从机建立好连接后,从机开始组装握手指令。握手指令包 括自身设备信息和软件版本信息。然后通过公钥加密后发送给主机。主机在获取得到从机 的握手指令后,首先通过主机私钥解密请求参数后,与其请求参数比对。如果一致,则认为 握手成功,反之则认为握手失败,视为非法请求,然后断开socket连接。
[0029] 握手指令的数据结构包括:设备本身MAC地址,软件的版本名称,版本号。
[0030] Public cl曰SS h曰ndshokecommand!
[0031] Private fin曰I string ml曰c;
[0032] Private final string mVersionName
[0033] Private final string mVersionCode
[0034] }
[003引例如:从机的MAC地址为:Fl: SC: 9E : 83 : AE : 4F,本机版本号为100,版本名为: 1.0.0,将两个参数通过自己公钥加密后的值为:
[0036] 9zyu 泌 k3136asnd6 加 xunbe7yas2 壯 u9ewxou3 j41ihb5w,则其完整的握手请求内容 为:mac:Fl :8C:9E:83:AE:4F,verson: lOO'versonName: 1 .O.O'key: 9zyu泌k3136asnd6加 xunbe7yas2壯u9ewxou
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1