一种用于实时数据处理系统的数据交换方法与流程

文档序号:18267461发布日期:2019-07-27 09:18阅读:499来源:国知局
一种用于实时数据处理系统的数据交换方法与流程

本发明涉及实时数据处理系统的多个二维表格类的数据交换的数据结构和数据交换方法。



背景技术:

在一些数据处理领域,数据往往以二维表格的形式分类处理,例如某类型的数据,用x-y来确定,x为表号,y为该表内的第几个数据。在数据处理中,一般采用二维数组或者一片连续内存来存储实时数据。这种处理方法有两个不足,一是采用一维或者二维数组存放数据时,在数据类型发生变化时,需要对数组在代码层面进行维护;二是数组存储方式的数据,只能表示数据本身的值或者简单的一些含义描述。



技术实现要素:

为了解决在实时数据处理中的一些数据交换问题,本发明建立了一种二维线性结构的存储数据结构,通过一些简单计算和定位查找,就能够访问数据的值以及各类属性信息,且支持多种数据类型,易于在不同的操作系统实现。

鉴于此,本发明采用的技术方案是:一种用于实时数据处理系统的数据交换方法,包括以下步骤:

(1)根据应用场景编写相应的数据字典;在所述数据字典中对每个数据的表号和序号进行定义,表中包括代号、长度和类型,其他信息可以根据实际需求增减。

(2)在一片连续存储区域中,定义数据结构,根据数据字典预估在使用所述数据结构时,所需处理的数据量,并根据涉及数据量开辟合适的内存空间。一般采用理论数据容量的1.5倍。

(3)根据接收的原始数据,按照数据结构进行查找。

(4)在查找到对应原始数据的首地址后,根据数据字典中定义的数据类型进行转换,得到数据的实际值。

所述数据结构包括以下6个部分:

表数量用于存放表首地址信息区内存放的表的个数;

表首地址信息区用于存放每张表在原始数据区域和数据说明区的首地址,在数据访问过程中,实现表的定位;

代号数量用于存放数据代号与x-y映射区内映射表的个数;

数据代号与x-y映射区用于存放数据代号与数据表号、序号的对应关系;

接收的原始数据区用于存放接收的未经后期加工的原始数据区域;

数据说明区用于存储数据字典中定义的数据类型。

本发明在计算机一片连续存储区域中,定义多种数据结构组合,实现了数据值、数据含义等相关信息的匹配存储。同时提供一系列数据的访问接口,避免直接操作内存带来的数据损坏、结构破坏等隐患,大幅提升了据的易用性和数据安全性。

在实时数据处理中,采用本发明数据结构可以将处理的数据以及数据的相关定义全部保存在该数据结构中。通过使用该结构提供的数据访问方法,例如通过代号访问数据,可以减少数据交换格式或者内容频繁改动,对数据应用层带来的软件修改工作量,提高数据处理、交换和使用的效率。同时也可以将该结构通过计算机共享内存的方式进行共享,实现进程之间实时数据交换。

附图说明

图1数据字典结构示意图;

图2数据分布图示意图;

图3数据字典读取流程图;

图4查找指定的原始数据流程图;

图5查找指定的数据属性流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明采用的方案是在一片连续的存储区域中,将其划分为6个部分,参见附图2。其中:

表数量:表首地址信息区内存放的表的个数。

表首地址信息区:该区域存放每张表在原始数据区域和数据说明区的首地址,在数据访问过程中,实现表的定位(x的定位)。

代号数量:数据代号与x-y映射区内,映射表的个数。

数据代号与x-y映射区:该区域存放数据代号与数据表号、序号的对应关系。

接收的原始数据区:该区域为接收的未经后期加工的原始数据区域。接收的数据可以是连续的,也可以是不连续的,由数据说明区的相关信息进行确定。

数据说明区:存储每一个数据的数据名称、代号名称、数据偏移、长度、类型、单位、理论值等内容。该部分内容与图1中的数据字典顺序一致,可以根据实际应用情况进行增减。其中数据偏移存放该数据在接收到数据区中,对应表内的偏移长度(y的定位)。

用c语言对各区域结构进行定义如下:

表首地址映射区:

数据代号与x-y映射区:

数据说明区:

本数据对应的数据字典结构如图1所示,在数据字典中对每个数据的表号、序号进行定义,代号、长度、类型是必需项,其他信息可以根据实际需求增减,或设计。

数据结构的初始化、数据字典的加载流程如图3所示:

数据结构中每一个区域大小根据实际需要处理的容量和相关结构体进行预估分配,在读取字典时,按行进行读取分析。在每个数据表的末尾或者新数据表前设置一个标志,在读取字典时判断该标志。如果是新的数据表,则重新计算新表原始数据区首地址和数据说明区首地址。如果不是新的数据表,则追加相关信息到旧表后。

数据查找利用

1、查找数据表原始数据区首地址

在表首地址映射区中查找对应的表原始数据区首地址。

2、查找数据表说明数据区首地址

在表首地址映射区中查找对应的表数据说明区首地址。

3、查找每个数据的原始数据

如图4所示,如果是通过数据代号查找,通过代号与x-y对应映射区内容,将代号转换成x-y形式,通过对应表首地址和数据偏移地址,进行相加以后得到原始数据首地址。具体为,根据x信息找到对应数据表的数据说明区首地址;根据y信息找到对应数据表内数据的详细属性;在详细属性中找出该数据在原始数据区中的偏移地址;再根据x信息找到原始数据区首地址;数据区首地址加上偏移地址得到具体数据地址。

4、查找每个数据的详细属性

如图5所示,通过对应数据说明区首地址和偏移进行定位,每个数据的属性长度是固定的,通过y属性长度得出偏移。具体为,根据x信息找到对应数据表数据说明区首地址;根据y信息找到对应数据表内数据的详细属性。

5、数据使用

在查找到对应原始数据的首地址后,根据字典中定义的数据类型,将16进制的原始数据进行转换,得到数据的实际值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1