一种软件数据交互方法及系统

文档序号:1963894 发布日期:2021-12-14 浏览:28次 >En<

阅读说明:本技术 一种软件数据交互方法及系统 (Software data interaction method and system ) 是由 李有财 罗子彬 陈冬冬 王磊 熊刚 陈禹 陈方平 于 2021-08-26 设计创作,主要内容包括:本发明提供了数据库技术领域的一种软件数据交互方法及系统,方法包括:步骤S10、软件将运行设备的mac、软件版本发给数据处理中间件;步骤S20、数据处理中间件创建密钥发给软件,将密钥与mac、软件版本绑定后存至NoSql;步骤S30、软件对待更新数据进行DM5计算得到第一MD5值,并基于待更新数据、第一MD5值、密钥、mac、软件版本生成数据更新请求发给数据处理中间件;步骤S40、数据处理中间件解析数据更新请求,并对密钥、待更新数据进行校验;步骤S50、数据处理中间件进行数据备份;步骤S60、数据处理中间件将待更新数据加密后更新至NoSql;步骤S70、各软件通过数据处理中间件访问NoSql进行数据交互。本发明的优点在于:极大的提升了数据交互的兼容性、安全性以及效率。(The invention provides a software data interaction method and a system in the technical field of databases, wherein the method comprises the following steps: step S10, the software sends the mac and the software version of the running equipment to the data processing middleware; step S20, the data processing middleware creates a key and sends the key to software, and the key is bound with mac and the software version and then stored in NoSql; step S30, performing DM5 calculation on data to be updated by software to obtain a first MD5 value, generating a data updating request based on the data to be updated, the first MD5 value, a key, mac and a software version, and sending the data updating request to a data processing middleware; step S40, the data processing middleware analyzes the data updating request and verifies the key and the data to be updated; step S50, the data processing middleware performs data backup; step S60, the data processing middleware encrypts the data to be updated and then updates the data to NoSql; and step S70, each software accesses the NoSql through the data processing middleware to perform data interaction. The invention has the advantages that: the compatibility, the safety and the efficiency of data interaction are greatly improved.)

一种软件数据交互方法及系统

技术领域

本发明涉及数据库技术领域,特别指一种软件数据交互方法及系统。

背景技术

随着科技的进步,出现了各种各样的电子设备,例如笔记本电脑、平板电脑、手机等,人们的工作和生活均需要依赖这些电子设备,而不同的电子设备运行不同的操作系统以及不同的软件。由于不同软件所能实现的功能不同,不同的操作系统亦有不同的优势,因此有在不同操作系统的不同软件间,或者同个操作系统的不同软件间进行数据交互的需求。

然而,不同操作系统的软件间通讯连接繁琐、不稳定,甚至无法进行通讯;且传统上交互的数据并未进行记录,出现问题时排查难度大;传统上并未对交互的数据进行校验,经常出现数据不完整的情况;传统上交互的数据为ini或者config的文件形式,当文件被一个软件打开了,其他软件就不能再对其进行操作,即存在并发问题,且通过文件的形式读取效率低下。

因此,如何提供一种软件数据交互方法及系统,实现提升数据交互的兼容性、安全性以及效率,成为一个亟待解决的问题。

发明内容

本发明要解决的技术问题,在于提供一种软件数据交互方法及系统,实现提升数据交互的兼容性、安全性以及效率。

第一方面,本发明提供了一种软件数据交互方法,包括如下步骤:

步骤S10、各软件分别将所运行电子设备的mac地址以及软件版本信息发送给数据处理中间件;

步骤S20、数据处理中间件为各软件分别创建一携带有效期的密钥,将所述密钥发送给各软件,并将所述密钥与mac地址以及软件版本信息进行绑定后存储至NoSql数据库;

步骤S30、各软件对待更新数据进行DM5计算得到第一MD5值,并基于所述待更新数据、第一MD5值、密钥、mac地址以及软件版本信息生成数据更新请求发送给数据处理中间件;

步骤S40、数据处理中间件接收并解析所述数据更新请求得到待更新数据、第一MD5值、密钥、mac地址以及软件版本信息,并对所述密钥以及待更新数据进行校验;

步骤S50、数据处理中间件基于所述mac地址以及软件版本信息对NoSql数据库的当前数据进行备份;

步骤S60、数据处理中间件将所述待更新数据利用AES算法加密后更新至NoSql数据库;

步骤S70、各软件通过数据处理中间件访问NoSql数据库进行数据交互。

进一步地,所述步骤S10具体为:

运行于不同操作系统或者相同操作系统的各软件分别将所运行电子设备的mac地址以及软件版本信息通过以太网发送给数据处理中间件;

所述数据处理中间件用于连接NoSql数据库与各软件,并创建密钥,对所述密钥以及待更新数据进行校验,对当前数据进行备份。

进一步地,所述步骤S20中,所述NoSql数据库为MongoDB、Cassandra、Redis或者Memcached。

进一步地,所述步骤S40中,所述并对所述密钥以及待更新数据进行校验具体为:

判断NoSql数据库中是否存储有所述密钥与mac地址以及软件版本信息的绑定关系,若否,则结束流程;若是,则:

判断所述密钥携带的有效期是否过期,若是,说明密钥校验失败,并结束流程;若否,说明密钥校验成功,并:

对所述待更新数据进行DM5计算得到第二MD5值,判断所述第一MD5值与第二MD5值是否一致,若否,说明待更新数据校验失败,并结束流程;若是,说明待更新数据校验成功。

进一步地,所述步骤S70具体为:

各软件通过数据处理中间件访问NoSql数据库进行包括增加、删除、修改、以及查询的数据交互。

第二方面,本发明提供了一种软件数据交互系统,包括如下模块:

mac及版本发送模块,用于各软件分别将所运行电子设备的mac地址以及软件版本信息发送给数据处理中间件;

密钥生成绑定模块,用于数据处理中间件为各软件分别创建一携带有效期的密钥,将所述密钥发送给各软件,并将所述密钥与mac地址以及软件版本信息进行绑定后存储至NoSql数据库;

数据更新请求发送模块,用于各软件对待更新数据进行DM5计算得到第一MD5值,并基于所述待更新数据、第一MD5值、密钥、mac地址以及软件版本信息生成数据更新请求发送给数据处理中间件;

密钥及数据校验模块,用于数据处理中间件接收并解析所述数据更新请求得到待更新数据、第一MD5值、密钥、mac地址以及软件版本信息,并对所述密钥以及待更新数据进行校验;

数据备份模块,用于数据处理中间件基于所述mac地址以及软件版本信息对NoSql数据库的当前数据进行备份;

数据更新模块,用于数据处理中间件将所述待更新数据利用AES算法加密后更新至NoSql数据库;

数据交互模块,用于各软件通过数据处理中间件访问NoSql数据库进行数据交互。

进一步地,所述mac及版本发送模块具体为:

运行于不同操作系统或者相同操作系统的各软件分别将所运行电子设备的mac地址以及软件版本信息通过以太网发送给数据处理中间件;

所述数据处理中间件用于连接NoSql数据库与各软件,并创建密钥,对所述密钥以及待更新数据进行校验,对当前数据进行备份。

进一步地,所述密钥生成绑定模块中,所述NoSql数据库为MongoDB、Cassandra、Redis或者Memcached。

进一步地,所述密钥及数据校验模块中,所述并对所述密钥以及待更新数据进行校验具体为:

判断NoSql数据库中是否存储有所述密钥与mac地址以及软件版本信息的绑定关系,若否,则结束流程;若是,则:

判断所述密钥携带的有效期是否过期,若是,说明密钥校验失败,并结束流程;若否,说明密钥校验成功,并:

对所述待更新数据进行DM5计算得到第二MD5值,判断所述第一MD5值与第二MD5值是否一致,若否,说明待更新数据校验失败,并结束流程;若是,说明待更新数据校验成功。

进一步地,所述数据交互模块具体为:

各软件通过数据处理中间件访问NoSql数据库进行包括增加、删除、修改、以及查询的数据交互。

本发明的优点在于:

1、通过设置数据处理中间件用于连接NoSql数据库与各软件,使得不同操作系统间(windows、Linux、PLC、macOS、HarmonyOS等)的软件可直接通过数据处理中间件访问NoSql数据库,进而利用NoSql数据库进行交互,极大的提升了数据交互的兼容性。

2、通过对数据更新请求携带的密钥以及待更新数据进行校验后,对当前数据进行备份,再利用AES算法加密待更新数据更新至NoSql数据库,即在数据更新前,先验证密钥是否已经绑定(授权),再验证待更新数据是否完整,都验证通过后进行数据备份以便后期的溯源,最后才进行数据更新,进而极大的提升了数据交互的安全性。

3、通过采用NoSql数据库(非关系型数据库),由于NoSql数据库具有高可用、支持多并发、数据读写性能高、查询效率高、支持分布式、易于扩展、可伸缩等优点,相对于传统上采用文件的形式,极大的提升了数据交互的效率。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1是本发明一种软件数据交互方法的流程图。

图2是本发明一种软件数据交互系统的结构示意图。

具体实施方式

本申请实施例中的技术方案,总体思路如下:通过设置数据处理中间件用于连接NoSql数据库与各软件,以提升数据交互的兼容性;通过对数据更新请求携带的密钥以及待更新数据进行校验后,对当前数据进行备份,再利用AES算法加密待更新数据更新至NoSql数据库,以提升数据交互的安全性;通过采用NoSql数据库,以提升数据交互的效率。

请参照图1至图2所示,本发明一种软件数据交互方法的较佳实施例,包括如下步骤:

步骤S10、各软件分别将所运行电子设备的mac地址以及软件版本信息发送给数据处理中间件;

步骤S20、数据处理中间件为各软件分别创建一携带有效期的唯一的密钥,将所述密钥发送给各软件,并将所述密钥与mac地址以及软件版本信息进行绑定后存储至NoSql数据库(非关系型数据库);所述NoSql数据库运行在其中一个电子设备上,其余电子设备的软件均通过所述NoSql数据库进行交互;

步骤S30、各软件对待更新数据进行DM5计算得到第一MD5值,并基于所述待更新数据、第一MD5值、密钥、mac地址以及软件版本信息生成JSON格式的数据更新请求发送给数据处理中间件;所述数据更新请求举例如下:

{"data":[{"name":"voltage","value":344.5},{"name":"temp","value":20.33}],"key":"nebula","mac":"10-5B-AD-A0-DE-D1","soft":"nebula Soft V0.01"};

步骤S40、数据处理中间件接收并解析所述数据更新请求得到待更新数据、第一MD5值、密钥、mac地址以及软件版本信息,并对所述密钥以及待更新数据进行校验;

步骤S50、数据处理中间件基于所述mac地址以及软件版本信息对NoSql数据库的当前数据进行备份,即对上一个版本的数据进行备份;

步骤S60、数据处理中间件将所述待更新数据利用AES算法加密后实时更新至NoSql数据库;由于各软件实时将所述待更新数据更新至NoSql数据库,因此各软件每次访问所述NoSql数据库时均是最新的数据,进而极大的提升了数据交互的实时性;

步骤S70、各软件通过数据处理中间件访问NoSql数据库进行数据交互。

所述步骤S10具体为:

运行于不同操作系统或者相同操作系统的各软件分别将所运行电子设备的mac地址以及软件版本信息通过以太网发送给数据处理中间件;

所述数据处理中间件用于连接NoSql数据库与各软件,并创建密钥,对所述密钥以及待更新数据进行校验,对当前数据进行备份;数据备份时记录备份时间,设定备份时限;设置备份时间便于后期溯源,设定备份时限避免已经无意义的数据还长期存储造成存储空间的浪费;所述备份时限可按需设置;所述数据处理中间件解决了不同电子设备的软件间无法进行交互的缓存问题。

所述步骤S20中,所述NoSql数据库为MongoDB、Cassandra、Redis或者Memcached。所述NoSql数据库的内存数据每秒支持10w次读写,而传统的关系型数据库受限于磁盘io,在高并发情况下,会出现压力倍增的情况。

所述步骤S40中,所述并对所述密钥以及待更新数据进行校验具体为:

判断NoSql数据库中是否存储有所述密钥与mac地址以及软件版本信息的绑定关系,若否,则结束流程;若是,说明所述密钥合法,则:

判断所述密钥携带的有效期是否过期,若是,说明密钥校验失败,并结束流程;若否,说明密钥校验成功,并:

对所述待更新数据进行DM5计算得到第二MD5值,判断所述第一MD5值与第二MD5值是否一致,若否,说明待更新数据校验失败,并结束流程;若是,说明待更新数据校验成功。

所述步骤S70具体为:

各软件通过数据处理中间件访问NoSql数据库进行包括增加、删除、修改、以及查询的数据交互。

本发明一种软件数据交互系统的较佳实施例,包括如下模块:

mac及版本发送模块,用于各软件分别将所运行电子设备的mac地址以及软件版本信息发送给数据处理中间件;

密钥生成绑定模块,用于数据处理中间件为各软件分别创建一携带有效期的唯一的密钥,将所述密钥发送给各软件,并将所述密钥与mac地址以及软件版本信息进行绑定后存储至NoSql数据库(非关系型数据库);所述NoSql数据库运行在其中一个电子设备上,其余电子设备的软件均通过所述NoSql数据库进行交互;

数据更新请求发送模块,用于各软件对待更新数据进行DM5计算得到第一MD5值,并基于所述待更新数据、第一MD5值、密钥、mac地址以及软件版本信息生成JSON格式的数据更新请求发送给数据处理中间件;所述数据更新请求举例如下:

{"data":[{"name":"voltage","value":344.5},{"name":"temp","value":20.33}],"key":"nebula","mac":"10-5B-AD-A0-DE-D1","soft":"nebula Soft V0.01"};

密钥及数据校验模块,用于数据处理中间件接收并解析所述数据更新请求得到待更新数据、第一MD5值、密钥、mac地址以及软件版本信息,并对所述密钥以及待更新数据进行校验;

数据备份模块,用于数据处理中间件基于所述mac地址以及软件版本信息对NoSql数据库的当前数据进行备份,即对上一个版本的数据进行备份;

数据更新模块,用于数据处理中间件将所述待更新数据利用AES算法加密后实时更新至NoSql数据库;由于各软件实时将所述待更新数据更新至NoSql数据库,因此各软件每次访问所述NoSql数据库时均是最新的数据,进而极大的提升了数据交互的实时性;

数据交互模块,用于各软件通过数据处理中间件访问NoSql数据库进行数据交互。

所述mac及版本发送模块具体为:

运行于不同操作系统或者相同操作系统的各软件分别将所运行电子设备的mac地址以及软件版本信息通过以太网发送给数据处理中间件;

所述数据处理中间件用于连接NoSql数据库与各软件,并创建密钥,对所述密钥以及待更新数据进行校验,对当前数据进行备份;数据备份时记录备份时间,设定备份时限;设置备份时间便于后期溯源,设定备份时限避免已经无意义的数据还长期存储造成存储空间的浪费;所述备份时限可按需设置;所述数据处理中间件解决了不同电子设备的软件间无法进行交互的缓存问题。

所述密钥生成绑定模块中,所述NoSql数据库为MongoDB、Cassandra、Redis或者Memcached。所述NoSql数据库的内存数据每秒支持10w次读写,而传统的关系型数据库受限于磁盘io,在高并发情况下,会出现压力倍增的情况。

所述密钥及数据校验模块中,所述并对所述密钥以及待更新数据进行校验具体为:

判断NoSql数据库中是否存储有所述密钥与mac地址以及软件版本信息的绑定关系,若否,则结束流程;若是,说明所述密钥合法,则:

判断所述密钥携带的有效期是否过期,若是,说明密钥校验失败,并结束流程;若否,说明密钥校验成功,并:

对所述待更新数据进行DM5计算得到第二MD5值,判断所述第一MD5值与第二MD5值是否一致,若否,说明待更新数据校验失败,并结束流程;若是,说明待更新数据校验成功。

所述数据交互模块具体为:

各软件通过数据处理中间件访问NoSql数据库进行包括增加、删除、修改、以及查询的数据交互。

综上所述,本发明的优点在于:

1、通过设置数据处理中间件用于连接NoSql数据库与各软件,使得不同操作系统间(windows、Linux、PLC、macOS、HarmonyOS等)的软件可直接通过数据处理中间件访问NoSql数据库,进而利用NoSql数据库进行交互,极大的提升了数据交互的兼容性。

2、通过对数据更新请求携带的密钥以及待更新数据进行校验后,对当前数据进行备份,再利用AES算法加密待更新数据更新至NoSql数据库,即在数据更新前,先验证密钥是否已经绑定(授权),再验证待更新数据是否完整,都验证通过后进行数据备份以便后期的溯源,最后才进行数据更新,进而极大的提升了数据交互的安全性。

3、通过采用NoSql数据库(非关系型数据库),由于NoSql数据库具有高可用、支持多并发、数据读写性能高、查询效率高、支持分布式、易于扩展、可伸缩等优点,相对于传统上采用文件的形式,极大的提升了数据交互的效率。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:身份验证方法、装置与电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类