当前位置: 首页 > 专利查询>崔阳专利>正文

用于扫码购物的数据交互方法及系统技术方案

技术编号:31227456 阅读:19 留言:0更新日期:2021-12-08 09:36
本发明专利技术提供一种用于扫码购物的数据交互方法及系统,用于扫码购物系统及商户终端机之间的数据交互,其特征在于,作为上述扫码购物系统的服务器和商户终端机的数据库之间进行通讯的数据交互层,上述数据交互层与上述服务器的通讯采用发布/订阅模式的MQTT协议;上述数据交互层与所述数据库的通讯直接采用SQL方法访问。其有效降低了服务器负载,使服务器能够集中于订单响应和处理,加快了交易速度,同时,服务器在计算订单金额时用到的数据可以做到及时、自动更新,确保了交易准确性,而且在数据访问中增加了身份验证机制,提升了数据交易安全性。安全性。安全性。

【技术实现步骤摘要】
用于扫码购物的数据交互方法及系统


[0001]本专利技术涉及数据交互
,具体的指一种用于扫码购物的数据交互方法及系统。

技术介绍

[0002]近年来,随着物联网的迅速发展和微信等新型移动社交软件的普及,自助零售业务这种新型购物模式逐渐兴起。扫码购物是自助零售的核心功能之一,也是“智慧零售”的重点技术支撑。其基本流程是:用户在支持扫码购物的商户如购物中心、超市等使用手机、平板电脑等移动设备扫描想要购买的商品条形码,即可查看商品信息、了解产品推荐、自助生成订单并结账。同时商户也可以不定期将优惠信息、促销活动、会员资讯等服务推送至用户的移动设备,这样不仅可以提升用户的购物体验、降低商户的人力成本,更能使商户与用户之间建立起有效的长联系机制,为用户提供更多的精准服务。正因为如此,已经有越来越多的商户开始使用扫码购物系统。其中,扫码购物系统的硬件部分主要由服务器、商户终端机、用户移动设备组成。其中服务器负责处理订单,商户终端机负责存储商品信息、用户信息和订单信息,移动设备负责为用户提供操作扫码购物系统的用户界面。
[0003]但是,现有的扫码购物系统在应用过程中,存在一定影响用户扫码购物体验的现象,其中包括,移动设备的硬件配置、4G或Wi-Fi信号强度和带宽、某一时间段内自助购物的用户数量等外部因素,系统本身的核心设计,如图1所示为现有系统中支付设备与系统服务器的通讯过程,其中系统服务器与数据库的交互操作设计较为简单,存在如下不足之处:(1)系统服务器与数据库之间直接进行交互,这种方法虽然比较容易实现,但无法将服务器与低速且频繁的数据库操作相分离,有可能导致服务器负载过重,影响扫码购物的效率。
[0004](2)没有考虑服务器商品信息及时、高效更新的问题,可能会使服务器在计算订单金额时使用过期、错误的数据。
[0005](3)没有考虑到服务器与商户终端机部署在不同网络中的情况,在某些场合下其实用性可能受到限制。
[0006]鉴于现有扫码系统核心设计存在的不足,需要提出一种新的技术方案用以提升用户的体验度,其中包括如下性能指标的提升:(1)响应的快捷性。用户选用扫码购物的直接原因就是节省结账的排队时间和精力,如果在扫码购物时订单响应时间过长,甚至高于排队时间,则会大大降低用户的购物愿望,进而导致用户放弃此次购物。因此扫码购物系统服务器对订单的响应必须具备实时性和快捷性,严格控制在用户容忍的范围内。
[0007](2)交易数据的准确性。商品价格起伏变化较快,同一种商品的价格在不同日期,甚至一天中的不同时段都可能随着促销、打折等活动而有所不同,这就需要扫码购物系统服务器能够及时更新商品价格,保证计算得到的订单商品总额与实际金额完全一致。同时,已完成的订单数据也必须及时、准确地记入数据库,为商户分析销售情况和用户行为提供
数据参考。
[0008](3)交易过程的安全性。扫码购物涉及金融活动,具有较大风险。交易过程中传输的数据必须要保证安全,防止泄露。

技术实现思路

[0009]有鉴于先前技术的问题,本专利技术者认为应有一种改进的技术方案,为此设计一种用于扫码购物的数据交互方法及系统,其具体的技术手段为:本专利技术提供一种用于扫码购物的数据交互方法,用于扫码购物系统及商户终端机之间的数据交互,其特征在于,作为上述扫码购物系统的服务器和商户终端机的数据库之间进行通讯的数据交互层,其与上述服务器的通讯采用发布/订阅模式的MQTT协议,与上述数据库的通讯直接采用SQL方法访问。
[0010]其中,上述数据交互层与服务器和数据库的交互至少包含如下步骤:S1:上述数据交互层的主线程启动后,进行服务器连接,上述数据交互层尝试与所述服务器建立MQTT连接;S2:如果步骤S1中建立MQTT连接成功,对上述商户终端机进行身份验证;S3:如果步骤S2中上述商户终端机的身份验证通过,上述数据交互层进行初始化,该初始化包含,向上述服务器发送上述商户终端机的MQTT订阅主题、计时器置0、创建数据定时上传子线程、创建数据回写子线程、设定参数值以及进行MQTT连接监测;S4: 当步骤S3中上述计时器开始计时并到达上传时间点时,上述数据定时上传子线程恢复运行,进行数据定时上传,从上述数据库中读取相关数据并上传至上述服务器;S5:当步骤S3中符合所述商户终端机MQTT订阅主题的数据通过所述服务器转发后到达上述数据交互层时,所述数据交互层将解析该数据头部信息中的类别信息。如果确认该数据为订单数据,则上述数据回写子线程启动,进行上述数据回写,将订单数据写入上述数据库。
[0011]进一步的上述服务器连接中还进行了访问代理,具体流程为:S1-1:在网络连接正常的情况下检测上述商户终端机和服务器的连通状态,若连通正常直接尝试建立MQTT连接;S1-2:若步骤S2-1中测试连通失败则进行上述访问代理,即根据预先设置的代理服务器IP地址和端口号,再次尝试与上述服务器建立MQTT连接;S1-3:若通过步骤S2-1或步骤S2-2上述数据交互层与上述服务器成功建立MQTT连接,上述服务器连接正常结束,若连接失败则发出警告。
[0012]进一步的上述身份验证用于在上述数据交互层与服务器建立MQTT连接后首先对上述商户终端机进行身份验证,验证通过后才能执行后续功能,上述身份验证的流程为:S2-1:向所述服务器发送所述商户终端机的验证信息,并等待上述服务器返回验证结果;S2-2:若步骤S2-1中通过验证,则继续向服务器上传商户终端机的MQTT订阅主题,若验证未通过,则发出报错提示信息,并终止已经建立的MQTT连接。
[0013]进一步的上述数据定时上传设有数据定时上传子线程,用于在预先设定的上传时间点到达时,自动从上述数据库中读取所述服务器在处理订单时所需的各项数据并将数据
上传至上述服务器,上述数据定时上传的流程为:S4-1:上述计时器启动计时,当尚未到达上传时间点时,上述数据定时上传子线程处于阻塞状态;当上传时间点到达时,上述数据定时上传子线程恢复运行,并尝试与上述数据库以SQL方式连接;S4-2:当步骤S4-1中上述数据定时上传子线程与数据库连接成功时,从上述数据库中读取需上传的数据并转换为JSON格式,然后为上传数据添加头部信息,再根据预先设定的MQTT发布主题上传至所述服务器;S4-3:当上述数据交互层的主线程收到上述服务器返回的数据已正确接收的信息后,上述数据定时上传子线程进入阻塞态,上述计时器重新置0后开始新一轮计时;当上述数据交互层的主线程收到上述服务器发送的数据验证错误信息,或者在规定时间内未收到上述服务器返回的数据已正确接收的确认信息时,上述数据定时上传子线程重新尝试上传数据;S4-4:当上述数据定时上传子线程重复尝试上传数据的次数达到最大值时,上述数据定时上传子线程停止本次时间点的上传任务,等待下一次上传时间点到达,并发出警告信息。
[0014]进一步的上述数据回写设有数据回写子线程,用于将上述扫码购物系统已上传至上述服务器的已成功完成的订单数据自动获取并同步更新至上述商户终端机的数据库中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.用于扫码购物的数据交互方法,用于扫码购物系统及商户终端机之间的数据交互,其特征在于:作为所述扫码购物系统的服务器和所述商户终端机的数据库之间进行通讯的数据交互层,所述数据交互层与所述服务器的通讯采用发布/订阅模式的MQTT协议;所述数据交互层与所述数据库的通讯直接采用SQL方法访问;所述数据交互层与所述服务器和所述数据库的交互至少包含如下步骤:S1:所述数据交互层的主线程启动后,进行服务器连接,所述数据交互层尝试与所述服务器建立MQTT连接;S2:如果步骤S1中建立MQTT连接成功,对所述商户终端机进行身份验证;S3:如果步骤S2中所述商户终端机的身份验证通过,所述数据交互层进行初始化;所述初始化包含,向所述服务器发送所述商户终端机的MQTT订阅主题、计时器置0、创建数据定时上传子线程、创建数据回写子线程、设定参数值以及进行MQTT连接监测;S4: 当步骤S3中所述计时器开始计时并到达上传时间点时,所述数据定时上传子线程恢复运行,进行所述数据定时上传,从所述数据库中读取相关数据并上传至所述服务器;S5:当步骤S3中符合所述商户终端机MQTT订阅主题的数据通过所述服务器转发后到达所述数据交互层时,所述数据交互层将解析该数据头部信息中的类别信息;如果确认该数据为订单数据,则所述数据回写子线程启动,进行数据回写,将订单数据写入所述数据库。2.如权利要求1所述的用于扫码购物的数据交互方法,其特征在于:所述服务器连接中还进行了访问代理,具体流程为:S1-1:在网络连接正常的情况下检测所述商户终端机和所述服务器的连通状态,若连通正常直接尝试建立MQTT连接;S1-2:若步骤S1-1中测试连通失败则进行所述访问代理,即根据预先设置的代理服务器IP地址和端口号,再次尝试与所述服务器建立MQTT连接;S1-3:若通过步骤S1-1或步骤S1-2所述数据交互层与所述服务器成功建立MQTT连接,所述服务器连接正常结束,若连接失败则发出警告。3.如权利要求1所述的用于扫码购物的数据交互方法,其特征在于:所述身份验证用于在所述数据交互层与所述服务器建立MQTT连接后首先对所述商户终端机进行身份验证,验证通过后才能执行后续功能,所述身份验证的流程为:S2-1:向所述服务器发送所述商户终端机的验证信息,并等待所述服务器返回验证结果;S2-2:若步骤S2-1中通过验证,则继续向服务器上传商户终端机的MQTT订阅主题,若验证未通过,则发出报错提示信息,并终止已经建立的MQTT连接。4.如权利要求1所述的用于扫码购物的数据交互方法,其特征在于:所述数据定时上传设有数据定时上传子线程,用于在预先设定的上传时间点到达时,自动从所述数据库中读取所述服务器在处理订单时所需的各项数据并将数据上传至所述服务器,所述数据定时上传的流程为:S4-1:所述计时器启动计时,当尚未到达上传时间点时,所述数据定时上传子线程处于阻塞状态;当上传时间点到达时,所述数据定时上传子线程恢复运行,并尝试与所述数据库以SQL方式连接;S4-2:当步骤S4-1中所述数据定时上传子线程与所述数据库连接成功时,从所述数据
库中读取需上传的数据并转换为JSON格式,然后为上传数据添加头部信息,再根据预先设定的MQTT发布主题上传至所述服务器;S4-3:当所述数据交互层的主线程收到所述服务器返回的数据已正确接收的信息后,所述数据定时上传子线程进入阻塞态,所述计时器重新置0后开始新一轮计时;当所述数据交互层的主线程收到所述服务器发送的数据验证错误信息,或者在规定时间内未收到所述服务器返回的数据已正确接收的确认信息时,所述数据定时上传子线程重新尝试上传数据;S4-4:当所述数据定时上传子线程重复尝试上传数据的次数达到最大值时,所述数据定时上传子线程停止本次时间点的上传任务,等待下一次上传时间点到达,并发出警告信息。5.如权利要求1所述的用于扫码购物的数据交互方法,其特征在于:所述数据回写设有数据回写子线程,用于将所述扫码购物系统已上传至所述服务器的已成功完成的订单数据自动获取并同步更新至所述商户终端机的数据库中,所述数据回写的流程为:S5-1:当有符合所述商户终端机订阅主题的数据发送到所述服务器时,所述服务器将其转发至所述数据交互层;所述数据交互层的主线程接收到数据后,解析数据头部信息中的类别信息,判断该数据是否为订单数据;S5-2:若步骤S5-1中发送数据是订单数据,则将该数据写入订单缓冲队列,同时唤醒所述数据回写子线程;其中所述订单缓冲队列设置为临界资源;S5-3: 所述数据回写子线程尝试与所述数据库以SQL方式进行连接,当连接成功后将订单数据转换格式后写入所述数据库;S5-4:当所述订单缓冲队列为空时,所述数据回写子线程进入阻塞状态。6.如权利要求1所述的用于扫码购物的数据交互方法,其特征在于:所述MQTT连接监测在所述数据交互层的主线程运行期间检测到与所述服务器的MQTT连接异常中断时进行重新建立连接;其中,所述MQTT连接监测按照设定时间间隔定时检测所述数据交互层与所述服务器的连接状态;当发现MQTT连接中断时,尝试重新进行所述服务器连接;并且若重连次数超过最大值发出警告信息。...

【专利技术属性】
技术研发人员:崔阳
申请(专利权)人:崔阳
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1