CN116089130A - 一种数据管道的存储结构、工作方法、设备及储存介质 - Google Patents
一种数据管道的存储结构、工作方法、设备及储存介质 Download PDFInfo
- Publication number
- CN116089130A CN116089130A CN202310359114.4A CN202310359114A CN116089130A CN 116089130 A CN116089130 A CN 116089130A CN 202310359114 A CN202310359114 A CN 202310359114A CN 116089130 A CN116089130 A CN 116089130A
- Authority
- CN
- China
- Prior art keywords
- data
- pipeline
- terminal
- storage structure
- area
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
Abstract
本发明公开了一种数据管道的存储结构、工作方法、设备及储存介质,数据管道存储于若干共享内存中,其中,所述数据管道分为若干子管道,每个子管道分别对应一个终端,上位机与各终端之间通过对应的子管道进行通信,第一块共享内存分为管道索引区及整体参数区,其中,各终端对应的子管道的索引存放于所述管道索引区中,数据管道的运行参数存放于所述整体参数区内;各终端对应的子管道存放于剩余共享内存中,该存储结构、工作方法、设备及储存介质能够提高数据传输的时效性。
Description
技术领域
本发明属于数据存储及传输技术领域,涉及一种数据管道的存储结构、工作方法、设备及储存介质。
背景技术
新能源发电控制系统中存在数十台终端控制设备,各终端控制设备控制IO器件工作,并向上位机反馈状态信息。上位机节点中,运行有数据采集、数据入库以及控制设备监视等进程,这些进程均依赖于来自终端控制设备的数据,目前新能源发电生产中,经常会出现数据量大以及数据格式不匹配等问题,其主要原因为新能源发电的特点,即终端设备如风机、光伏面板的数量多,且设备型号不止一种。普通数据通道的存储及工作方式不适用于上述情况,导致传输不及时,时效性较差。急需要根据新能源发电的特点,针对性地开发数据交互机制,但是现有技术中并未给出类似的公开。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供了一种数据管道的存储结构、工作方法、设备及储存介质,该存储结构、工作方法、设备及储存介质能够提高数据传输的时效性。
为达到上述目的,本发明公开了一种数据管道的存储结构,数据管道存储于若干共享内存中,其中,所述数据管道分为若干子管道,每个子管道分别对应一个终端,上位机与各终端之间通过对应的子管道进行通信,第一块共享内存分为管道索引区及整体参数区,其中,各终端对应的子管道的索引存放于所述管道索引区中,数据管道的运行参数存放于所述整体参数区内;各终端对应的子管道存放于剩余共享内存中。
本发明所述数据管道的存储结构进一步的改进在于:
所述数据管道的运行参数包括所有共享内存占用的字节以及各子管道的读写访问记录。
一个子管道中的消息队列存储于所述剩余共享内存中的两个共享内存内。
所述消息队列根据数据传输方向分为只读队列及读写队列。
所述消息队列内部分为总览区、索引区及数据区,其中,总览区占用三个字节,前两个字节分别指示索引区的第一项及最后一项的序号,第三个字节指示该消息队列的空间占用情况。
一个索引区对应一个数据区,各索引区的对象均指向数据区的一条数据。
所述索引区的对象包括偏移量、数据类型及数据长度。
本发明二方面,本发明提供了一种数据管道的工作方法,包括以下步骤:
数据采集进程从终端的控制设备中获取报文,根据上位机与终端之间的协议类型解析所述报文,再将报文的解析结果填入数据结构中,以形成数据包;在数据管道的索引区中寻找该终端对应的子管道,再将所述数据包写入该子管道中;
数据处理进程读取子管道的只读队列中存放的信息,对读取的信息利用处理函数进行处理,再将处理结果放入子管道的读写队列中,然后下发至目标终端。
本发明三方面,本发明提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,处理器执行所述计算机程序时实现所述数据管道的工作方法的步骤。
本发明四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现所述数据管道的工作方法的步骤。
本发明具有以下有益效果:
本发明所述的数据管道的存储结构、工作方法、设备及储存介质在具体操作时,所述数据管道分为若干子管道,每个子管道分别对应一个终端,上位机与各终端之间通过对应的子管道进行通信,各终端对应的子管道的索引存放于所述管道索引区中,各终端对应的子管道存放于剩余共享内存中,在数据传输时,可以采用并行处理的方式处理各子管道的数据,以提高数据处理的时效性,实现各终端与上位机之间信息的独立传输,避免各子管道之间出现相互干扰的情况,解决大数据量下的处理速度及时效性问题。
附图说明
图1为数据管道的结构图;
图2为本发明的方法流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,不是全部的实施例,而并非要限制本发明公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要的混淆本发明公开的概念。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在附图中示出了根据本发明公开实施例的结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
实施例一
本发明涉及工业控制多程序共享的数据管道,用于新能源发电控制系统中实现下位机的数据采集及共享。
所述数据管道支持多种工业控制通信协议,兼容各类厂商生产的终端设备类型,用户可以通过管道配置工具自行设置与其他设备通信时采用的协议,同时兼容私有通信协议,提高控制信号的通信效率。
根据新能源发电控制系统的需求设计数据管道的存储结构,其特点是能够快速定位目标数据,进行高效率的进程间通信,解决大数据量下的处理速度及时效性问题。
具体的,参考图1,本发明所述的数据管道的存储结构中,数据管道存储于若干共享内存中,数据管道包括若干子管道,所述数据管道占用多块共享内存,其中,第一块共享内存按结构分为管道索引区及整体参数区,所述管道索引区用于存放各终端对应子管道的索引,所述整体参数区用于存放数据管道的运行参数,所述数据管道的运行参数包括共享内存总占用字节以及各子管道的读写访问记录,剩余共享内存用于存放各终端对应的子管道,其中,各子管道用于对应终端与上位机之间的通信。
各终端与上位机的通信均经过与该终端对应的子管道进行,该子管道存放于多块共享内存中,其中,两块共享内存用于存放该子管道的消息队列,按照信息的上传与下发途径区分,所述消息队列分为只读队列及读写队列,所有子管道中的消息队列具有相同的结构,所述消息队列内部分为总览区、索引区及数据区,其中,所述总览区占用三个字节,前两个字节分别指示索引区的第一项及最后一项的序号,第三个字节指示该消息队列的空间占用情况,其中,索引区与数据区一一对应,每个索引区的对象均指向数据区的一条数据,所述索引区的对象均包含偏移量、数据类型及数据长度,分别用于描述数据的位置、类型及大小,用于快速读取数据。
需要说明的是,本发明针对新能源发电系统中机组数量较多,而数据种类较少的特点,将每一个终端与一条子管道相对应,并行处理各子管道的数据,以提高数据处理的时效性。
实施例二
参考图2,基于实施例一所述的数据管道的存储结构,本发明所述的数据管道的工作方法包括以下步骤:
根据上位机的配置信息,数据采集进程从终端的控制设备中获取报文,数据采集进程根据终端与上位机之间的协议类型解析报文,再将报文的解析结果填入数据结构中,以形成数据包;根据报文中的来源及目标信息,在数据管道的索引区中寻找对应的子管道,将所述数据包写入该子管道中;
数据处理进程根据数据管道中各子管道的运行情况,读取子管道的只读队列中存放的信息,对于不同类型的动作调用对应的处理函数,利用所述处理函数对读取的信息进行处理,再将处理结果放入子管道的读写队列中,然后下发至目标终端。
需要说明的是,本发明允许用户自行配置上位机与终端之间的通信协议。所述通信协议的配置以枚举类型的方式存放于各子管道的对象的成员变量中。数据管道兼容IEC104及61850等现有通信规约,使上位机能够兼容并控制大部分厂商生产的设备类型,数据管道同时支持私有协议,并为新协议预留有接口。
最后需要说明的是,本发明针对现有技术中,上位机与终端控制设备的通信存在数据量大、协议复杂、时效性要求较高等问题。通过数据管道提供针对每台终端设备的索引,采用并行处理的方式进行数据的处理,同时允许用户自行配置设备信息处理的优先级,解决关键信息处理不及时的问题,支持多种通信协议,配置灵活方便,可扩展性较强。
实施例三
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,处理器执行所述计算机程序时实现所述数据管道的工作方法的步骤。
实施例四
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现所述数据管道的工作方法的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种数据管道的存储结构,其特征在于,数据管道存储于若干共享内存中,其中,所述数据管道分为若干子管道,每个子管道分别对应一个终端,上位机与各终端之间通过对应的子管道进行通信,第一块共享内存分为管道索引区及整体参数区,其中,各终端对应的子管道的索引存放于所述管道索引区中,数据管道的运行参数存放于所述整体参数区内;各终端对应的子管道存放于剩余共享内存中。
2.根据权利要求1所述的数据管道的存储结构,其特征在于,所述数据管道的运行参数包括所有共享内存占用的字节以及各子管道的读写访问记录。
3.根据权利要求1所述的数据管道的存储结构,其特征在于,一个子管道中的消息队列存储于所述剩余共享内存中的两个共享内存内。
4.根据权利要求3所述的数据管道的存储结构,其特征在于,所述消息队列根据数据传输方向分为只读队列及读写队列。
5.根据权利要求3所述的数据管道的存储结构,其特征在于,所述消息队列内部分为总览区、索引区及数据区,其中,所述总览区占用三个字节,前两个字节分别指示索引区的第一项及最后一项的序号,第三个字节指示该消息队列的空间占用情况。
6.根据权利要求5所述的数据管道的存储结构,其特征在于,一个索引区对应一个数据区,各索引区的对象均指向数据区的一条数据。
7.根据权利要求6所述的数据管道的存储结构,其特征在于,所述索引区的对象包括偏移量、数据类型及数据长度。
8.一种数据管道的工作方法,其特征在于,基于权利要求4所述的数据管道的存储结构,包括以下步骤:
数据采集进程从终端的控制设备中获取报文,根据上位机与终端之间的协议类型解析所述报文,再将报文的解析结果填入数据结构中,以形成数据包;在数据管道的索引区中寻找该终端对应的子管道,再将所述数据包写入该子管道中;
数据处理进程读取子管道的只读队列中存放的信息,对读取的信息利用处理函数进行处理,再将处理结果放入子管道的读写队列中,然后下发至目标终端。
9.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,处理器执行所述计算机程序时实现如权利要求8所述数据管道的工作方法的步骤。
10.一种计算机可读存储介质,其特征在于,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如权利要求8所述数据管道的工作方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310359114.4A CN116089130A (zh) | 2023-04-06 | 2023-04-06 | 一种数据管道的存储结构、工作方法、设备及储存介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310359114.4A CN116089130A (zh) | 2023-04-06 | 2023-04-06 | 一种数据管道的存储结构、工作方法、设备及储存介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116089130A true CN116089130A (zh) | 2023-05-09 |
Family
ID=86199419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310359114.4A Pending CN116089130A (zh) | 2023-04-06 | 2023-04-06 | 一种数据管道的存储结构、工作方法、设备及储存介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116089130A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1059439A (zh) * | 1990-08-31 | 1992-03-11 | 国际商业机器公司 | 非同步通道/直接存取存储器设备通信系统 |
CN105487990A (zh) * | 2014-09-19 | 2016-04-13 | 中兴通讯股份有限公司 | 一种cpu与芯片之间传输消息报文的方法及装置 |
CN108304269A (zh) * | 2017-01-13 | 2018-07-20 | 阿里巴巴集团控股有限公司 | 一种数据的发送、接收方法、装置及通信框架 |
CN110018914A (zh) * | 2019-03-26 | 2019-07-16 | 中国人民银行清算总中心 | 基于共享内存的消息采集方法及装置 |
CN110532109A (zh) * | 2019-08-16 | 2019-12-03 | 东南大学 | 一种共享多通道进程通信内存结构和方法 |
CN112114947A (zh) * | 2020-09-17 | 2020-12-22 | 石家庄科林电气股份有限公司 | 一种基于边缘计算网关的系统资源调度方法 |
CN112463400A (zh) * | 2020-10-30 | 2021-03-09 | 中国电子科技集团公司第五十二研究所 | 一种基于共享内存的实时数据分发方法及装置 |
CN112486888A (zh) * | 2020-12-11 | 2021-03-12 | 盛立金融软件开发(杭州)有限公司 | 一种行情数据传输方法、装置、设备及介质 |
CN113794767A (zh) * | 2021-09-13 | 2021-12-14 | 联想(北京)有限公司 | 数据处理方法、服务器及通信交互系统 |
-
2023
- 2023-04-06 CN CN202310359114.4A patent/CN116089130A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1059439A (zh) * | 1990-08-31 | 1992-03-11 | 国际商业机器公司 | 非同步通道/直接存取存储器设备通信系统 |
US5155814A (en) * | 1990-08-31 | 1992-10-13 | International Business Machines Corporation | Nonsynchronous channel/dasd communication system |
CN105487990A (zh) * | 2014-09-19 | 2016-04-13 | 中兴通讯股份有限公司 | 一种cpu与芯片之间传输消息报文的方法及装置 |
CN108304269A (zh) * | 2017-01-13 | 2018-07-20 | 阿里巴巴集团控股有限公司 | 一种数据的发送、接收方法、装置及通信框架 |
CN110018914A (zh) * | 2019-03-26 | 2019-07-16 | 中国人民银行清算总中心 | 基于共享内存的消息采集方法及装置 |
CN110532109A (zh) * | 2019-08-16 | 2019-12-03 | 东南大学 | 一种共享多通道进程通信内存结构和方法 |
CN112114947A (zh) * | 2020-09-17 | 2020-12-22 | 石家庄科林电气股份有限公司 | 一种基于边缘计算网关的系统资源调度方法 |
CN112463400A (zh) * | 2020-10-30 | 2021-03-09 | 中国电子科技集团公司第五十二研究所 | 一种基于共享内存的实时数据分发方法及装置 |
CN112486888A (zh) * | 2020-12-11 | 2021-03-12 | 盛立金融软件开发(杭州)有限公司 | 一种行情数据传输方法、装置、设备及介质 |
CN113794767A (zh) * | 2021-09-13 | 2021-12-14 | 联想(北京)有限公司 | 数据处理方法、服务器及通信交互系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103792928B (zh) | 一种基于Modbus的工业现场数据采集分析系统 | |
CN102970202B (zh) | 基于抢占式策略的1553b总线通信方法 | |
CN103455463B (zh) | 一种主控单元通信接入和转出方法 | |
CN103001843B (zh) | 基于嵌入式VxWorks的OPC协议转换器 | |
CN104539502A (zh) | 一种自定义添加modbus设备的方法 | |
CN112468378B (zh) | 一种基于can总线的大容量数据传输设备及方法 | |
CN116089130A (zh) | 一种数据管道的存储结构、工作方法、设备及储存介质 | |
CN103595690A (zh) | 基于arm的多串口通信协议转换器 | |
CN109696878B (zh) | 基于多缓冲区的控制器 | |
CN106990913A (zh) | 一种大规模流式集合数据的分布式处理方法 | |
CN112131759B (zh) | 一种综合环境模拟多参数工况输入系统及工况创建方法 | |
CN204374692U (zh) | 一种用于旅途访问文件的云存储一体机装置 | |
WO2021027009A1 (zh) | 一种驱控一体机以及机器人驱控系统 | |
CN111273631A (zh) | 一种章鱼型架构的火电机组智能控制平台 | |
CN201926904U (zh) | 基于opc技术的多接口数据采集器 | |
CN102455969A (zh) | 一种Linux串口通信日志记录的方法 | |
CN210072404U (zh) | 一种自动化整合与优化的ucs控制系统 | |
CN2884280Y (zh) | 现场总线位置控制装置 | |
CN201018522Y (zh) | 基于以太网的大规模电池化成管理的设备 | |
CN104363150B (zh) | 一种类文件系统的物联网设备访问系统及其方法 | |
CN212933292U (zh) | 一种基于物联网的远程监管系统 | |
CN210199747U (zh) | 一种基于农业物联网的管理系统 | |
CN201984324U (zh) | 现场总线信号与模拟电流信号的转换装置 | |
CN211403224U (zh) | 一种章鱼型架构的火电机组智能控制平台结构 | |
CN114844876B (zh) | 一种功能集成化的scada系统 |
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 |