CN116074412B - 一种数据高速读写方法、系统、设备和可读存储介质 - Google Patents
一种数据高速读写方法、系统、设备和可读存储介质 Download PDFInfo
- Publication number
- CN116074412B CN116074412B CN202310265314.3A CN202310265314A CN116074412B CN 116074412 B CN116074412 B CN 116074412B CN 202310265314 A CN202310265314 A CN 202310265314A CN 116074412 B CN116074412 B CN 116074412B
- Authority
- CN
- China
- Prior art keywords
- data
- client
- server
- description model
- target data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据高速读写方法、系统、设备和可读存储介质,方法包括:所述服务端和所述客户端分别获取基于用户需要访问的目标数据对应生成的数据描述模型。在所述服务端与所述客户端建立了连接之后,所述服务端按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端。所述客户端通过所述数据描述模型对接收到的所述传输数据进行解析,得到所述目标数据的值。本申请通过数据描述模型解析二进制流的方式减少连接访问,减少了大量数据情况下对服务端的访问次数,实现大量数据下工业协议的高速读写,同时没有额外的硬件配置,减少用户的使用成本。
Description
技术领域
本申请涉及数据传输领域,更具体地说,涉及一种数据高速读写方法、系统、设备和可读存储介质。
背景技术
随着工业物联网的飞速发展,工业自动化行业对于工业物联网方面提出了新的要求,即通过感知、监控能力的各类采集、控制传感器或控制器,实现智能分析,从而提高生产效率和产品质量。因此工业物联网的应用应具有实时性、大量数据和信息互通互联性等特点。而为了兼顾大量数据访问和实时性要求,工业物联网应用离不开工业通信协议。
工业通信协议有很多种,大型的工业自动化公司常用的工业通信协议有Modbus协议,CAN协议,OPCUA协议,PROFIBUS协议等等。同时有很多调用不同协议的第三方库,但上述协议基本都是基于单个变量定义的,批量读取采用的方法一般是在一个方法里多次请求服务端获取所有的数据。
当数据量在五百个变量以下进行读写操作时,由于数据量少,访问服务端的耗时时间可以忽略不计。但是当数据量变大时,例如数据量在1万以上时,访问服务端的耗时时间将会变得不可忽略,从而变为非实时性访问数据。
因此,需要一种针对大量数据的情况下的数据高速读写方法,对需要访问的数据进行传输速度上的优化提升,确保数据访问的实时性。
发明内容
有鉴于此,本申请提供了一种数据高速读写方法、系统、设备和可读存储介质,通过对工业通信协议对数据读写方法的改进,来适应工业物联网的未来需求,实现在数据量大的情况下仍能保持访问数据的实时性。
为了实现上述目的,现提出的方案如下:
一种数据高速读写方法,包括:
所述服务端和所述客户端分别获取基于用户需要访问的目标数据对应生成的数据描述模型;
所述服务端与所述客户端建立连接;
所述服务端按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端;
所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值;
所述客户端根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端;
所述服务端接收并写入所述修改数据。
可选的,基于用户需要访问的目标数据对应生成的数据描述模型,包括:
确定所述用户需要访问的目标数据的ST语言结构体内容;
根据所述ST语言结构体内容生成xml描述文件;
按照所述xml描述文件进行结构体节点映射,生成与所述目标数据对应的数据描述模型。
可选的,所述ST语言结构体内容包括所述用户需要访问的目标数据的数据结构体,以及所述数据结构体中每一子节点的名称属性、类型属性和结构体基础变量。
可选的,所述根据所述ST语言结构体内容生成xml描述文件,包括:
按所述数据结构体的结构顺序依次遍历所述数据结构体中每一子节点,构建与所述每一子节点对应的每一树节点,并通过所述每一树节点记录所述每一结构体子节点的名称属性、类型属性和结构体基础变量,整合生成xml描述文件。
可选的,通过所述数据描述模型解析所述传输数据,得到所述目标数据的值,包括:
提取所述数据描述模型中记录的所述名称属性、所述类型属性和所述结构体基础变量,生成对象队列并保存;
根据所述对象队列将所述传输数据转换为所述目标数据的值。
可选的,提取所述数据描述模型中记录的所述名称属性、所述类型属性和所述结构体基础变量,生成对象队列并保存,包括:
基于所述数据描述模型提取对应的所述xml描述文件;
依次遍历所述xml描述文件中的所述每一树节点,按照遍历顺序获取所述每一树节点记录的名称属性、类型属性和结构体基础变量,以对象队列的方式保存到运行内存中。
可选的,所述结构体基础变量,包括整型类型,浮点类型,字符类型,布尔类型,数组类型以及枚举类型。
一种数据高速读写系统,包括IDE模块、服务端和客户端;
所述IDE模块根据用户需要访问的目标数据生成对应的数据描述模型,并将所述数据描述模型分别发送至所述客户端和所述服务端;
所述服务端在与所述客户端建立连接后,按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端;
所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值。
可选的,还包括:
所述客户端根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端;
所述服务端接收并写入所述修改数据。
一种数据高速读写设备,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如上述任一项所述的数据高速读写方法的各个步骤。
一种数据高速读写设备,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如上述任一项所述的数据高速读写方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述任一项所述的数据高速读写方法的各个步骤。
从上述的技术方案可以看出,本申请实施例提供的一种数据高速读写方法、系统、设备和可读存储介质,所述服务端和所述客户端分别获取基于用户需要访问的目标数据对应生成的数据描述模型。在所述服务端与所述客户端建立了连接之后,所述服务端按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端。所述客户端通过所述数据描述模型对接收到的所述传输数据进行解析,得到所述目标数据的值。所述客户端还可以根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端,所述服务端接收并写入所述修改数据。
本申请通过对工业通信协议对数据读写方法的改进,来适应工业物联网的未来需求,实现在数据量大的情况下仍能保持访问数据的实时性。数据描述模型是根据用户需要访问的目标数据对应生成的,包含全部的目标数据的结构体信息,数据描述模型可将大量数据编为二进制的形式,以及进行数据值解析。
通过数据描述模型解析二进制流的方式减少连接访问,减少了大量数据情况下对服务端的访问次数,实现大量数据下工业协议的高速读写。由于减少了访问服务端的次数,而大部分解析都是通过访问计算机内存进行解析的,比通过访问网络获取数据要更快,可以实现在大量数据的情况下通过工业协议进行高速读取写入,同时没有额外的硬件配置,减少用户的使用成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的OPCUA通信协议获取单个变量的示意图;
图2为本申请公开的一种数据高速读写系统的示意图;
图3为本申请公开的一种数据高速读写方法的流程图;
图4为本申请公开的一种数据高速读写方法的示意图;
图5为本申请公开的一种数据高速读写设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在介绍本申请方案之前,首先对当前的几种工业通信协议对数据读取方式进行介绍。
图1为本申请公开的OPCUA通信协议获取单个变量的示意图,如图1所示,客户端与服务端建立连接后,OPCUA客户端发送带有节点信息的读取请求给服务端,服务端返回节点的值给到客户端,至此完成一次读取请求。而批量的节点请求则是将节点多次发送,获取节点的值,发送的请求次数越多,则批量获取的耗时越久。
在带有订阅-发送功能的工业协议上,为了实现大量数据的访问,也可以采用带有时间敏感网络的订阅-发送功能,如采用的OPCUA与TSN结合的方案,但是OPCUA与TSN结合的方案由于需要多次进行节点订阅过程,因而该方案也存在下述缺点:
1、建立节点订阅-发送功能的连接需要时间;
2、TSN需要硬件支持,会产生额外的花费;
3、当建立数量较多的节点订阅-发送功能时,会占用服务端大量的资源去监听节点数值变化情况。
接下来介绍本申请方案,本申请提出如下技术方案,具体参见下文。
图2为本申请公开的一种数据高速读写系统的示意图,本申请提出的的数据高速读写方法应用于数据高速读写系统,如图2所示,该数据高速读写系统中可以包括:
IDE模块、服务端和客户端。
其中,所述IDE模块根据用户需要访问的目标数据生成对应的数据描述模型,并将所述数据描述模型分别发送至所述客户端和所述服务端。所述服务端在与所述客户端建立连接后,按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端。所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值。所述客户端还可以根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端,所述服务端接收并写入所述修改数据。
数据描述模型是根据用户需要访问的目标数据对应生成的,包含全部的目标数据的结构体信息,数据描述模型可将大量数据编为二进制的形式,以及进行数据值解析。因此通过数据描述模型解析二进制流的方式减少连接访问,减少了大量数据情况下对服务端的访问次数,实现大量数据下工业协议的高速读写。由于减少了访问服务端的次数,而大部分解析都是通过访问计算机内存进行解析的,比通过访问网络获取数据要更快,可以实现在大量数据的情况下通过工业协议进行高速读取写入,同时没有额外的硬件配置,减少用户的使用成本。
此外,数据高速读写系统还可以实现数据的写入过程。在数据写入过程中,所述客户端根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端,所述服务端接收并写入所述修改数据。
图3为本申请公开的一种数据高速读写方法的流程图,图4为本申请公开的一种数据高速读写方法的示意图。
如图3和图4所示,该方法可以包括:
步骤S1、所述服务端和所述客户端分别获取基于用户需要访问的目标数据对应生成的数据描述模型。
具体的,数据描述模型是由第三方的IDE模块根据用户需要访问的目标数据对应生成的,包含全部的目标数据的结构体信息,数据描述模型可将大量数据编为二进制的形式,以及进行数据值解析。IDE模块在生成与用户需要访问的目标数据对应的数据描述模型后,分别将所述数据描述模型发送至所述服务端和所述客户端,所述服务端可以通过数据描述模型将大量数据编为二进制的形式,即将所述目标数据编为二进制形式的传输数据,所述客户端可以通过所述数据描述模型解析所述传输数据,得到所述目标数据的值。
其中,基于用户需要访问的目标数据对应生成的数据描述模型的过程,具体可以包括:
1、确定所述用户需要访问的目标数据的ST语言结构体内容;
2、根据所述ST语言结构体内容生成xml描述文件;
3、按照所述xml描述文件进行结构体节点映射,生成与所述目标数据对应的数据描述模型。
用户可以在如IDE编程平台等中间平台上勾选所述用户需要访问的目标数据的ST语言结构体内容,之后IDE模块根据IDE编程平台上被勾选的所述ST语言结构体内容生成xml描述文件,xml描述文件里面详细描述结构体中的节点是哪种类型。
最后,IDE模块按照所述xml描述文件,将结构体的节点映射到服务器中,生成与所述目标数据对应的数据描述模型,此时服务器可以提供访问结构体中某个节点值的服务,假设结构体valueTest返回的JSON格式为:{“fristBool”:false,”secondBool”:ture},则获取valueTest.fristBool该节点的值为false,获取valueTest.secondBool节点的值为ture,当然也可以获取整个valueTrue的值,返回的是一个byte数组即[0,1],二进制表达式为:0000 0000 0000 0001。
步骤S2、所述服务端与所述客户端建立连接。
步骤S3、所述服务端按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端。
具体的,客户端访问服务端,所述服务端按照所述数据描述模型,将大量的所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端。服务器提供一整个结构体的值以二进制的形式(byte数组)返回给客户端。
步骤S4、所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值。
具体的,所述客户端收到传输过来的二进制流,通过数据描述模型进行解析,得到所述目标数据的值。本申请通过数据描述模型解析二进制流的方式减少连接访问,减少了大量数据情况下对服务端的访问次数,实现大量数据下工业协议的高速读写。由于减少了访问服务端的次数,而大部分解析都是通过访问计算机内存进行解析的,比通过访问网络获取数据要更快,可以实现在大量数据的情况下通过工业协议进行高速读取写入,同时没有额外的硬件配置,减少用户的使用成本。
通过本方法读取出来的数值具有实时性,可以应用于实时性要求较高的场合,例如基于时间序列的数据分析,设备状态监控的大数据显示平台。也可以作数据的储存和处理,例如将数据储存到时序型数据库、关系型数据库或将数据发送到HTTP协议、MQTT协议、WEBSocket协议、Socket协议的数据接口以供数据的进一步处理。
步骤S5、所述客户端根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端。
具体的,基于本申请的数据高速读写系统结构,本申请还可以在完成数据读取之后进行数据写入的过程。在所述服务端与所述客户端建立连接,并基于上述的数据高速读写方法使所述客户端得到所述目标数据的值之后,所述客户端还可以比较当前本地数据与所述目标数据的值的差异,并确定其中需要修改写入的数据,并将其确定为修改数据。
步骤S6、所述服务端接收并写入所述修改数据。
具体的,所述客户端将所述需要写入的修改数据发送至所述服务端后,服务端可以基于所述修改数据进行数据写入。在本申请中,数据的读取写入可互相独立,可以仅进行数据读取,也可以仅完成数据写入,在一些特殊情况下,本申请的客户端也可以响应用户指令,直接基于本地数据以及用户指令生成需要修改写入的修改数据,并将所述修改数据发送至所述服务端,以供服务端进行数据写入。
从上述的技术方案可以看出,本申请实施例提供的一种数据高速读写方法、系统、设备和可读存储介质,所述服务端和所述客户端分别获取基于用户需要访问的目标数据对应生成的数据描述模型。在所述服务端与所述客户端建立了连接之后,所述服务端按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端。所述客户端通过所述数据描述模型对接收到的所述传输数据进行解析,得到所述目标数据的值。
本申请通过对工业通信协议对数据读写方法的改进,来适应工业物联网的未来需求,实现在数据量大的情况下仍能保持访问数据的实时性。数据描述模型是根据用户需要访问的目标数据对应生成的,包含全部的目标数据的结构体信息,数据描述模型可将大量数据编为二进制的形式,以及进行数据值解析。
通过数据描述模型解析二进制流的方式减少连接访问,减少了大量数据情况下对服务端的访问次数,实现大量数据下工业协议的高速读写。由于减少了访问服务端的次数,而大部分解析都是通过访问计算机内存进行解析的,比通过访问网络获取数据要更快,可以实现在大量数据的情况下通过工业协议进行高速读取写入,同时没有额外的硬件配置,减少用户的使用成本。
ST语言是IEC 61131-3标准明确的语言之一,除了ST语言之外,还有以下四种语言:指令表(Instruction List Diagram,ILD)、阶梯图(Ladder Diagram,LD)、功能区块图(Function Block Diagram,FBD)、顺序功能流程图(Sequential Function Chart,SFC),这四种语言在IDE中都是支持的,也可以生成描述文件。所述ST语言结构体内容包括所述用户需要访问的目标数据的数据结构体,以及所述数据结构体中每一子节点的名称属性、类型属性和结构体基础变量。
再本申请中,所述结构体基础变量,包括整型类型(如INT,SINT,DINT等),浮点类型(如REAL,LREAL等),字符类型(如WSTRING,STRING等),布尔类型(如BOOL等),数组类型(如二维数组,一维数组等),枚举类型。
在此基础上,在本申请的一些实施例中,所述根据所述ST语言结构体内容生成xml描述文件的过程,具体包括:
按所述数据结构体的结构顺序依次遍历所述数据结构体中每一子节点,构建与所述每一子节点对应的每一树节点,并通过所述每一树节点记录所述每一结构体子节点的名称属性、类型属性和结构体基础变量,整合生成xml描述文件。
对步骤S4、所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值的过程进行介绍,具体可以包括:
步骤S41、提取所述数据描述模型中记录的所述名称属性、所述类型属性和所述结构体基础变量,生成对象队列并保存。
具体的,基于所述数据描述模型确定所述目标数据的结构体基础变量的具体过程,可以包括:
1、基于所述数据描述模型提取对应的所述xml描述文件;
2、依次遍历所述xml描述文件中的所述每一树节点,按照遍历顺序获取所述每一树节点记录的名称属性、类型属性和结构体基础变量,以对象队列的方式保存到运行内存中。
步骤S42、根据所述对象队列将所述传输数据转换为所述目标数据的值。
具体的,所述客户端根据对象队列中记录的名称属性、类型属性和结构体基础变量,将所述传输数据转换为所述目标数据的值。将所述目标数据编为二进制形式的传输数据,即提供一整个结构体的值以二进制的形式(byte数组)返回给所述客户端,所述客户端再根据对象队列中记录的名称属性、类型属性和结构体基础变量对传输数据进行解析,例如一个INT类型(ST语言),二进制形式如下:0000 0000 0000 0010即解析值为2(十进制)。
本申请实施例提供的数据高速读写系统可应用于数据高速读写设备。
可选的,图5示出了数据高速读写设备的硬件结构框图,参照图5,数据高速读写设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
所述服务端和所述客户端分别获取基于用户需要访问的目标数据对应生成的数据描述模型;
所述服务端与所述客户端建立连接;
所述服务端按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端;
所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值;
所述客户端根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端;
所述服务端接收并写入所述修改数据。
可选地,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
所述服务端和所述客户端分别获取基于用户需要访问的目标数据对应生成的数据描述模型;
所述服务端与所述客户端建立连接;
所述服务端按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端;
所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值;
所述客户端根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端;
所述服务端接收并写入所述修改数据。
可选地,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种数据高速读写方法,其特征在于,包括:
服务端和客户端分别获取基于用户需要访问的目标数据对应生成的数据描述模型,所述数据描述模型通过根据所述用户需要访问的目标数据的ST语言结构体内容生成xml描述文件,并按照所述xml描述文件进行结构体节点映射生成;
所述服务端与所述客户端建立连接;
所述服务端按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端;
所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值;
所述客户端根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端;
所述服务端接收并写入所述修改数据。
2.根据权利要求1所述的方法,其特征在于,所述ST语言结构体内容包括所述用户需要访问的目标数据的数据结构体,以及所述数据结构体中每一子节点的名称属性、类型属性和结构体基础变量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述ST语言结构体内容生成xml描述文件,包括:
按所述数据结构体的结构顺序依次遍历所述数据结构体中每一子节点,构建与所述每一子节点对应的每一树节点,并通过所述每一树节点记录所述数据结构体中每一子节点的名称属性、类型属性和结构体基础变量,整合生成xml描述文件。
4.根据权利要求2所述的方法,其特征在于,通过所述数据描述模型解析所述传输数据,得到所述目标数据的值,包括:
提取所述数据描述模型中记录的所述名称属性、所述类型属性和所述结构体基础变量,生成对象队列并保存;
根据所述对象队列将所述传输数据转换为所述目标数据的值。
5.根据权利要求4所述的方法,其特征在于,提取所述数据描述模型中记录的所述名称属性、所述类型属性和所述结构体基础变量,生成对象队列并保存,包括:
基于所述数据描述模型提取对应的所述xml描述文件;
依次遍历所述xml描述文件中的每一树节点,按照遍历顺序获取所述每一树节点记录的名称属性、类型属性和结构体基础变量,以对象队列的方式保存到运行内存中。
6.根据权利要求2所述的方法,其特征在于,所述结构体基础变量,包括整型类型,浮点类型,字符类型,布尔类型,数组类型以及枚举类型。
7.一种数据高速读写系统,其特征在于,包括IDE模块、服务端和客户端;
所述IDE模块根据用户需要访问的目标数据生成对应的数据描述模型,并将所述数据描述模型分别发送至所述客户端和所述服务端,所述数据描述模型通过根据所述用户需要访问的目标数据的ST语言结构体内容生成xml描述文件,并按照所述xml描述文件进行结构体节点映射生成;
所述服务端在与所述客户端建立连接后,按照所述数据描述模型,将所述目标数据编为二进制形式的传输数据,并将所述传输数据发送至所述客户端;
所述客户端通过所述数据描述模型解析所述传输数据,得到所述目标数据的值;
所述客户端根据本地数据以及所述目标数据的值,确定需要写入的修改数据,并将所述修改数据发送至所述服务端;
所述服务端接收并写入所述修改数据。
8.一种数据高速读写设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-6中任一项所述的数据高速读写方法的各个步骤。
9.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-6中任一项所述的数据高速读写方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310265314.3A CN116074412B (zh) | 2023-03-20 | 2023-03-20 | 一种数据高速读写方法、系统、设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310265314.3A CN116074412B (zh) | 2023-03-20 | 2023-03-20 | 一种数据高速读写方法、系统、设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116074412A CN116074412A (zh) | 2023-05-05 |
CN116074412B true CN116074412B (zh) | 2023-06-09 |
Family
ID=86177106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310265314.3A Active CN116074412B (zh) | 2023-03-20 | 2023-03-20 | 一种数据高速读写方法、系统、设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116074412B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156448A (zh) * | 2014-08-14 | 2014-11-19 | 广东易事特电源股份有限公司 | 基于iec61850客户端/服务器数据交换模型 |
CN111556074A (zh) * | 2020-05-13 | 2020-08-18 | 常熟瑞特电气股份有限公司 | 基于opc ua的通信协议配置方法及装置 |
-
2023
- 2023-03-20 CN CN202310265314.3A patent/CN116074412B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156448A (zh) * | 2014-08-14 | 2014-11-19 | 广东易事特电源股份有限公司 | 基于iec61850客户端/服务器数据交换模型 |
CN111556074A (zh) * | 2020-05-13 | 2020-08-18 | 常熟瑞特电气股份有限公司 | 基于opc ua的通信协议配置方法及装置 |
Non-Patent Citations (1)
Title |
---|
SUPMAX800D智能I/O卡上位机设计;樊亚宁;徐震浩;顾幸生;;自动化仪表(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116074412A (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20020161827A1 (en) | Communication system between a programmable logic controller server and a client machine | |
JP2004362557A (ja) | 計器データを処理するシステム及び方法 | |
CN113079198B (zh) | 一种云平台接口协议转换的方法及装置 | |
EP1231547B1 (en) | System and method for mapping structured documents to structured data of program language and program for executing its method | |
CN114760368A (zh) | 数据传输方法及相关设备 | |
CN113806429A (zh) | 基于大数据流处理框架的画布式日志分析方法 | |
CN111078948A (zh) | 汽车诊断数据解析方法及系统、存储介质 | |
CN117278661B (zh) | 一种工业物联网多协议解析方法及系统 | |
CN114490679A (zh) | 一种基于标识解析的数据治理方法、装置、设备及介质 | |
CN116074412B (zh) | 一种数据高速读写方法、系统、设备和可读存储介质 | |
CA3136404C (en) | Selective address space aggregation | |
CN116915875B (zh) | 一种物联网关解析modbus设备的通用方法及modbus系统 | |
CN111143310B (zh) | 日志记录方法及装置、可读存储介质 | |
US7856344B2 (en) | Method for transforming overlapping paths in a logical model to their physical equivalent based on transformation rules and limited traceability | |
CN115935909A (zh) | 一种文件生成方法、装置及电子设备 | |
CN111767406A (zh) | Plc工程的知识表示方法及装置 | |
CN114359459A (zh) | 文件格式转换方法、装置和计算机存储介质 | |
CN114064429A (zh) | 审计日志的采集方法、装置、存储介质和服务器 | |
CN115687310A (zh) | 数据清洗方法及装置 | |
CN112130817A (zh) | 一种多版本接口实现方法、系统、装置及可读存储介质 | |
CN114371982A (zh) | 一种模拟测试方法、装置、设备及可读存储介质 | |
CN112650809B (zh) | 一种格式化树结构数据的方法、装置及电子设备 | |
CN115935946B (zh) | Hl7v3标准/fhir标准的解析映射处理方法及装置 | |
CN111131477B (zh) | 一种数据处理方法、装置及设备 | |
CN112019572B (zh) | 基于数控系统的通用通讯协议转换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |