一种基于药品零售收银系统的数据同步方法技术方案

技术编号:39493077 阅读:6 留言:0更新日期:2023-11-24 11:18
本发明专利技术属于互联网医疗行业技术领域,具体涉及一种基于药品零售收银系统的数据同步方法,包括如下步骤:基于

【技术实现步骤摘要】
一种基于药品零售收银系统的数据同步方法


[0001]本专利技术属于互联网医疗行业
,具体涉及一种基于药品零售收银系统的数据同步方法


技术介绍

[0002]本专利技术背景是基于药品零售收银系统,如智云问诊电子处方平台,可以实现在线问诊,电子处方开具,药品配送等功能,在具体的应用场景中,收银台客户端选择具体的药品商品后提交就诊人信息和处方信息,服务器端匹配药品是否已监督备案,审核处方通过后将电子处方回传至收银台客户端,收银台客户端结算处方后,收银台客户端和服务器端需扣除相应商品库存

[0003]上述场景需在网络状态稳定时进行,当网络状态不稳定时,容易出现数据不同步的问题,公开号为
CN112350990A
的中国专利申请公开了一种第三方互联网零售收银系统离线数据同步的方法,解决离线业务数据和在线业务数据互相覆盖的问题,采用完全不重复同步码技术,确保在线业务数据和离线业务同步时序一致性,避免数据相互覆盖

[0004]但在实际应用场景中,除了网络状态不稳定造成的数据不同步外,还存在网络环境的复杂度所造成的数据不同步,例如在线业务或由离线业务转换为在线业务时,大量线上数据的同时同步造成的数据覆盖不同步问题,大量客户在客户端频繁访问服务器端下拉线上数据造成的数据阻塞不同步问题等均对系统的数据同步造成影响


技术实现思路

[0005]本专利技术的目的是提供一种基于药品零售收银系统的数据同步方法,有效解决网络中断及网络环境复杂造成的数据不同步问题

[0006]为实现上述目的,本申请提供了如下的解决方案:
[0007]一种基于药品零售收银系统的数据同步方法,基于药品零售收银系统实现,包括如下步骤:
[0008]S1.
基于
navigator
对象,采用心跳检测技术,自行封装
online
全局函数,用于识别当前客户端的网络连接状态码,判断当前网络是否连接正常;
[0009]S2.
基于步骤
S1
,若网络连接正常,则按照托管服务进行通信应答和数据同步,若网络连接失败,则自动切换为脱产本地化服务,实现离线收银处方流转,本地化存储业务数据;
[0010]S3.
基于步骤
S2
,当通过
online
全局函数返回再有网络之后,再把本地化数据进行回写到托管服务器中,确保数据正确,同时通过加权评价的形式,确保交易数据正确

[0011]进一步的,识别当前客户端的网络连接状态码,判断当前网络是否连接正常的具体步骤为:
[0012]S11.
客户端使用定时器定时发送心跳报文消息至服务器端,服务器端接收客户端发送的心跳报文消息并记录客户端最后一次心跳时间戳;
[0013]S12.
基于步骤
S11
,判断心跳时间戳时间是否超过预设的超时阈值,若未超过,则判断客户端网络连接正常,若超过,则判断客户端断开连接或失去响应

[0014]优选的,为了防止恶意主机伪造心跳请求,保证数据传输的安全性,使用加权评价加密签名技术保护心跳报文消息的传输和验证客户端身份

[0015]优选的,为了方便排查问题和进行监控,采用
log4j
记录客户端心跳和服务器端心跳检测的日志,监控工具可以实时检测客户端的心跳状态,发现异常或断连的客户端

[0016]优选的,为了确保客户端断开连接的非偶然性,超时阈值为
2S
,重复超时3次则判断客户端断开连接

[0017]进一步的,托管服务进行数据同步的具体过程包括:
[0018]S21.
当线上数据存在变化时,服务器端通过定时或消息驱动的方式通知客户端下载增量数据,客户端异步线程下载增量数据,并在解压后与本地数据进行比较,合并差异数据到本地数据;
[0019]S22.
当线下数据存在变化时,判断数据是否为重要数据,重要数据实时上传至服务器端,非重要数据定时上传至服务器端

[0020]进一步的,步骤
S3
的具体步骤为:
[0021]S31.
本地化数据自动化封装为
XML
标准文件,当本地化数据写回托管服务器中时,托管服务器中的子模块
dom

server
自动进行加载整个
XML
文档到内存中,构建树状的数据结构表示
XML
文档,并通过遍历节点

查询属性来访问和操作
XML
数据;
[0022]S32.
基于步骤
S31
,计算节点中的业务数据量,对数据进行加权评价加密并将数据存储至
SQLLITE
数据库

[0023]优选的,为了进一步确保离线业务转在线业务时的数据同步,设立中间数据库,作为数据交换媒介用于多个客户端之间的数据交互,设置数据标志位,用于当当前客户端断开网络连接时通知未断开网络连接的客户端及时访问服务器端,使用中间数据库数据进行数据同步操作

[0024]本专利技术的有益效果是:采用心跳报文消息及时判断当前客户端的网络连接状态,实现托管服务转脱产本地化服务,实现在线业务与离线业务的数据同步,且在在线业务或由离线业务转换为在线业务时,客户端异步线程下载增量数据

托管服务期遍历节点查询本地化数据

采用设立中间数据库进行数据同步,防止大量线上数据的同时同步造成的数据覆盖不同步问题和大量客户在客户端频繁访问服务器端下拉线上数据造成的数据阻塞不同步问题

附图说明
[0025]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制

在附图中:
[0026]图1是本专利技术步骤流程图

具体实施方式
[0027]如图1所示的一种基于药品零售收银系统的数据同步方法,基于药品零售收银系统实现,包括如下步骤:
[0028]S1.
基于
navigator
对象,采用心跳检测技术,自行封装
online
全局函数,用于识别当前客户端的网络连接状态码,判断当前网络是否连接正常;
[0029]其中,识别当前客户端的网络连接状态码,判断当前网络是否连接正常的具体步骤为:
[0030]S11.
客户端使用定时器定时发送心跳报文消息至服务器端,服务器端接收客户端发送的心跳报文消息并记录客户端最后一次心跳时间戳;
[0031]S12.
基于步骤
S11
,判断心跳时间戳时间是否超过预设的超时阈值,若未超过,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于药品零售收银系统的数据同步方法,基于药品零售收银系统实现,其特征在于,包括如下步骤:
S1.
基于
navigator
对象,采用心跳检测技术,自行封装
online
全局函数,用于识别当前客户端的网络连接状态码,判断当前网络是否连接正常;
S2.
基于步骤
S1
,若网络连接正常,则按照托管服务进行通信应答和数据同步,若网络连接失败,则自动切换为脱产本地化服务,实现离线收银处方流转,本地化存储业务数据;
S3.
基于步骤
S2
,当通过
online
全局函数返回再有网络之后,再把本地化数据进行回写到托管服务器中,确保数据正确,同时通过加权评价的形式,确保交易数据正确
。2.
根据权利要求1所述的一种基于药品零售收银系统的数据同步方法,其特征在于,识别当前客户端的网络连接状态码,判断当前网络是否连接正常的具体步骤为:
S11.
客户端使用定时器定时发送心跳报文消息至服务器端,服务器端接收客户端发送的心跳报文消息并记录客户端最后一次心跳时间戳;
S12.
基于步骤
S11
,判断心跳时间戳时间是否超过预设的超时阈值,若未超过,则判断客户端网络连接正常,若超过,则判断客户端断开连接或失去响应
。3.
根据权利要求2所述的一种基于药品零售收银系统的数据同步方法,其特征在于:使用加权评价加密签名技术保护心跳报文消息的传输和验证客户端身份
。4.
根据权利要求2所述的一种基于药品零售收银系统的数据同步方法,其特征在于:采用
log4j
记录客户端心跳和服务器端心跳检测的日志
。5.
根据权利要求2所述的一种基于药...

【专利技术属性】
技术研发人员:王巍
申请(专利权)人:九为浙江网络科技有限公司
类型:发明
国别省市:

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

1