本发明涉及数据传输协议领域、数据处理技术领域,具体是一种面向健康小屋系统的数据同步方法。
背景技术:
健康小屋(healthyhut)是政府主导的,由公共卫生机构提供给人们用于体检测量、干预指导、健康宣教、知识获取等的场所。目前,我国正在全面建设“健康小屋”工程,市场上已经出现了大量的健康小屋站点,然而,这些健康小屋是相互独立的,具体体现在:
(1)健康小屋与健康小屋是相互独立的,数据不能互联互通,数据价值不能得到有效体现;
(2)每个健康小屋中各个用户的数据是相互独立的,数据是静态的,每个人只能对比自己的数据;
(3)每个身高体重仪、人体成分仪、肺功能仪、血压脉搏仪等健康小屋中的设备检测到的各种数据之间是相互独立的,不同体征之间蕴含的数据价值没有得到有效利用。
现有技术中常用的数据同步方法包括:
(1)通过发布/订阅的方式实现同步
发布/订阅是sqlserver自带的一种数据库备份的机制,通过该机制可以快速的实现数据的备份同步,不用编写任何的代码。
(2)通过sqljob方式实现数据同步
通过sqljob定时作业的方式实现同步其基本原理就是通过目标服务器和源服务器的连接,然后通过编写sql语句,从源服务器中读取数据,再更新到目标服务器。
(3)通过servicebroker消息队列的方式实现数据同步。
通过sqljob定时作业的方式实现同步其基本原理就是通过目标服务器和源服务器的连接,然后通过编写sql语句,从源服务器中读取数据,再更新到目标服务器。
然而这些方法并不适用于健康小屋系统,发布/订阅方式不够高效,使用sqljob在实际操作的过程中可能会遇到对服务器的远程登录或连接登录问题,servicebroker消息队列的方式实现相对繁琐,最重要的是它们都无法做到实时同步站点数据,无法保证数据的机密性和完整性。
技术实现要素:
为了克服上述现有技的缺点,本发明的目的是提供一种面向健康小屋的新型分布式安全认证数据同步方法和数据同步系统,可以将各个健康小屋的数据汇总并同步到各分站点。
一种面向健康小屋的新型分布式安全认证的数据同步方法,包括一个中心工作站和多个分站点,通过一个中心工作站与其他分站点分别通信连接;其特征在于:分站点及时将更新数据发送至中心工作站;中心工作站在接收或发出传输请求后,需先对传输分站点进行身份认证;若分站点身份认证成功后,分站点与中心工作站之间以加密数据包的形式进行数据传输,若认证失败,传输站点会中止此次传输,向目标站点发出二次传输请求,直至认证成功;中心工作站存储完来自某分站点的更新数据包后,会向所有分站点发出传输请求;分站点需先进行安全认证,才能接收到加密后的更新数据包。
优选的,分站点及时将更新数据发送至中心工作站的具体方法:在分站点的数据库中设置触发器,当用户使用健康小屋时,触发器及时响应数据库的增改操作,并向中心工作站发出数据传输请求;
中心工作站在接收或发出传输请求后,需先对传输分站点进行身份认证;
所述身份认证成功后,分站点与中心工作站之间以加密数据包的形式进行数据传输,若认证失败,传输站点会中止此次传输,向目标站点发出二次传输请求,直至认证成功;
中心工作站存储完来自某站点的更新数据包后,会向所有分站点发出传输请求;分站点需先进行安全认证,才能接收到加密后的更新数据包。
优选的,中心工作站接收并存储更新的数据,再分别打包加密发送至各分站点,具体步骤如下:
(1)中心工作站同意分站点的传输请求对该分站点进行安全认证;
(2)中心工作站存储接收到来自安全分站点的增改数据包后,向所有分站点发出数据传输请求;
(3)各分站点收到请求后中心工作站对它们进行安全认证;
(4)通过认证后中心工作站分别向各分站点发送对应的加密数据包;
(5)各分站点解密数据包后更新数据库,数据同步完成。
优选的,中心工作站与各分站点间数据传输过程中的身份认证过程具体步骤如下:
(1)分站点/中心工作站向中心工作站/所有分站点发出数据传输请求;
(2)收到同意回复或传输请求的分站点向中心工作站发送自己的公钥;
(3)中心工作站将站点ip、站点公钥与站点ip-公钥表进行比对来判别站点身份是否安全;相同则通过身份认证,否则中止数据传输操作,等待二次传输;
(4)认证成功后中心工作站向传输分站点发送传输密钥。
本发明的优点:针对健康小屋系统具体情况设计系统架构,能够实现健康小屋之间的通信连接;能够实时更新所有站点的医疗数据;能够实现数据传输过程中的安全认证,保证了数据的安全性、同步性、机密性、完整性。
附图说明
图1为基于健康小屋的数据同步系统架构图;
图2为新型分布式安全认证数据同步方法的流程示意图;
图3为新型分布式安全认证数据同步方法的另一流程示意图;
图4为站点安全认证的流程示意图;
图5为中心工作站数据同步的流程示意图;
图6为传输站点数据同步的流程示意图。
具体实施方式
如图1所示,一种面向健康小屋的新型分布式安全认证数据同步方法和数据同步系统,包括一个中心工作站与多个分站点,通过一个中心工作站与其他分站点分别通信连接。
如图2所示,站点间的数据同步流程在所有分站点的数据库内设置触发器,当有用户在分站点进行体检后,触发器实时响应其数据库的增改操作,向中心工作站发出数据传输请求;
中心工作站在接收或发出传输请求后,需先对传输站点进行身份认证;
所述身份认证成功后,分站点与中心工作站之间以加密数据包的形式进行数据传输,若认证失败,传输站点会中止此次传输,向目标站点发出二次传输请求,直至认证成功;
中心工作站存储完来自某站点的更新数据包后,会向所有分站点发出传输请求;分站点需先进行安全认证,才能接收到加密后的更新数据包。
如图3所示,数据同步的流程大致分为实时监测、请求更新、身份验证、数据传输、数据同步这五个步骤,其中,站点间的数据传输皆以加密数据包形式传输;身份验证则是通过查询站点ip-公钥;
如图4所示,中心工作站与各分站点间数据传输过程中的身份认证过程具体步骤如下:
(1)分站点/中心工作站向中心工作站/所有分站点发出数据传输请求;
(2)收到同意回复或传输请求的分站点向中心工作站发送自己的公钥;
(3)中心工作站将站点ip、站点公钥与站点ip-公钥表进行比对来判别站点身份是否安全;
(4)认证成功后中心工作站向传输站点发送传输密钥。
如图5所示,中心工作站的工作流程具体步骤是:
首先是中心工作站接收到传输请求后,处于空闲状态同意传输,非空闲整体则拒绝传输;
同意传输后中心工作站会接收到站点公钥,中心工作站将其与站点ip-公钥表比对,比对成功则通过认证;
中心工作站向该站点发送传输密钥,传输站点使用密钥将增改数据包加密发给中心工作站;
中心工作站解密数据包将其存储,向所有站点发出数据传输请求;
收到请求的其他站点向中心工作站发送自己的公钥进行身份认证,若身份认证不成功则重新发出二次传输请求,认证成功后中心工作站发出加密数据包,各站点完成数据同步。
如图6所示,传输站点的工作流程是触发器响应数据库的增改操作向中心工作站发送传输请求,请求被拒绝则发出二次请求,直至得到同意回复;
向中心工作站发送站点公钥进行身份认证,认证失败会发出二次请求,通过认证会接收到传输密钥;
传输站点使用密钥将增改数据包加密发给中心工作站,至此,传输站点的数据同步工作完成。