一种数据更新方法、装置、设备和存储介质与流程

文档序号:23003625发布日期:2020-11-20 11:52阅读:102来源:国知局
一种数据更新方法、装置、设备和存储介质与流程

本申请涉及数据处理技术,尤其涉及一种数据更新方法、装置、设备和存储介质。



背景技术:

目前,电力系统网络通信协议通常采用基于“请求-应答”机制的传输控制协议(tcp,transmissioncontrolprotocol)进行数据传输,虽然,tcp协议具有提供高可靠性传输的特点,然而“请求-应答”机制的传输方式,需要在发送数据前建立链接,增加了开销和发送数据的时延,且对于同一份数据传输到多个不同设备情况,需要建立多个tcp协议连接来传输相同的内容,随着客户端数量的增加,通信网络的流量与设备的负载会成倍递增,同时数据的传输性能也会线性下降。

再者,由于现有技术中,将一份数据传输到多个不同设备,是将整份数据进行传输,网络负载较大,需要更多的流量。

申请内容

本申请实施例期望提供一种数据更新方法、装置、设备和存储介质。

第一方面,本申请实施例提供了一种数据更新方法,所述方法包括:

服务器获取分块数据,所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息;

在检测所述分块数据的数据值发生变化的情况下,将所述分块数据中已发生变化的数据的数值确定为待同步数值;

确定所述已发生变化的数据的属性信息;

通过组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端。

在一种实施方式中,所述数据的属性信息包括数据类型和分块数据序号,所述方法还包括:

将待发送的第一数据按照数据类型进行分类,得到s类第二数据;s为大于等于1的整数;

根据特定的数据量,对每一类所述第二数据进行分块,得到t块所述分块数据;t为大于等于1的整数;

为所述t块分块数据中每一分块数据确定对应的分块数据序号。

在一种实施方式中,所述数据的属性信息包括分块数据序号、报文序列号,所述方法还包括:

针对每一所述第二数据,按照所述t块中各分块数据的顺序,依次确定每一所述分块数据的数据存储空间和备份存储空间,其中,所述数据存储空间的顺序与所述各分块数据的顺序相同,所述每个分块数据对应一个独立且连续的存储空间;

将所述待同步数值、已发生变化的数据对应的分块数据序号以及已发生变化的数据对应的报文序列号更新到所述已发生变化的数据对应的数据存储空间;

将所述待同步数值和所述已发生变化的数据的属性信息更新至备份存储空间。

在一种实施方式中,所述方法还包括:

判断每一所述分块数据中是否至少一个数据值发生变化;

在任一所述分块数据中的至少一个数据值发生变化的情况下,确定所述分块数据的数据值发生变化。

在一种实施方式中,所述数据的属性信息包括报文序列号,所述方法还包括:

接收所述n个客户端中至少任一客户端发送的数据补发请求,其中所述数据补发请求中包括丢失数据的报文序列号;

根据所述数据补发请求,在对应的备份存储空间中查找是否存在所述报文序列号对应的备份信息;

若存在,将查找到的所述备份信息发送给所述数据补发请求对应的客户端。

在一种实施方式中,所述方法还包括:

若不存在,根据所述丢失数据的报文序列号在所述数据存储空间中查找,将查找到的分块数据作为目标分块数据;

将所述目标分块数据以及丢失数据的属性信息发送给所述数据补发请求对应的客户端。

第二方面,本申请实施例还提出了一种数据更新方法,所述方法包括:

n个客户端中的每一所述客户端接收服务器组播发送的待同步数值和已发生变化的数据的属性信息;所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息;

根据所述待同步数值和所述已发生变化的数据的属性信息,查询数据配置信息,得到所述已发生变化的数据的名称;

利用所述待同步数值更新所述数据名称对应的数据的数值。

在一种实施方式中,所述数据的属性信息包括报文序列号,所述方法还包括:

所述客户端根据接收的所述报文序列号,判断是否发生有效数据丢帧异常;

在确定发生有效数据丢帧异常的情况下,向所述服务器发送数据补发请求。

第三方面,本申请实施例还提出了一种数据更新装置,所述装置包括:数据获取模块、待同步数据确定模块、属性信息确定模块和同步模块,其中,

所述数据获取模块,用于获取分块数据,所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息;

所述待同步数据确定模块,用于在检测所述分块数据的数据值发生变化的情况下,将所述分块数据中已发生变化的数据的数值确定为待同步数值;

所述属性信息确定模块,用于确定所述已发生变化的数据的属性信息;

所述同步模块,用于通过组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端。

在一种实施方式中,所述数据的属性信息包括数据类型和分块数据序号,所述装置还包括:

分块模块,用于将待发送的第一数据按照数据类型进行分类,得到s类第二数据;s为大于等于1的整数;根据特定的数据量,对每一类所述第二数据进行分块,得到t块所述分块数据;t为大于等于1的整数;为所述t块分块数据中每一分块数据确定对应的分块数据序号。

在一种实施方式中,所述数据的属性信息包括分块数据序号、报文序列号,所述装置还包括:存储模块,用于针对每一所述第二数据,按照所述t块中各分块数据的顺序,依次确定每一所述分块数据的数据存储空间和备份存储空间,其中,所述数据存储空间的顺序与所述各分块数据的顺序相同,所述每个分块数据对应一个独立且连续的存储空间;将所述待同步数值、已发生变化的数据对应的分块数据序号以及已发生变化的数据对应的报文序列号更新到所述已发生变化的数据对应的数据存储空间;将所述待同步数值和所述已发生变化的数据的属性信息更新至备份存储空间。

在一种实施方式中,所述装置还包括:第一判断模块,用于判断每一所述分块数据中是否至少一个数据值发生变化;在任一所述分块数据中的至少一个数据值发生变化的情况下,确定所述分块数据的数据值发生变化。

在一种实施方式中,所述数据的属性信息包括报文序列号,所述装置还包括:查找模块,用于接收所述n个客户端中至少任一客户端发送的数据补发请求,其中所述数据补发请求中包括丢失数据的报文序列号;根据所述数据补发请求,在对应的备份存储空间中查找是否存在所述报文序列号对应的备份信息;若存在,将查找到的所述备份信息发送给所述数据补发请求对应的客户端;若不存在,根据所述丢失数据的报文序列号在所述数据存储空间中查找,将查找到的分块数据作为目标分块数据;将所述目标分块数据以及丢失数据的属性信息发送给所述数据补发请求对应的客户端。

第四方面,本申请实施例还提出了一种数据更新装置,所述装置包括:第一接收模块、查询模块和数值更新模块,其中,

所述第一接收模块,用于接收服务器组播发送的待同步数值和已发生变化的数据的属性信息;

所述查询模块,用于根据所述待同步数值和所述已发生变化的数据的属性信息,查询数据配置信息,得到所述已发生变化的数据的名称;

所述数值更新模块,用于利用所述待同步数值更新所述数据名称对应的数据的数值。

在一种实施方式中,所述数据的属性信息包括报文序列号,所述装置还包括:第二判断模块,用于所述客户端根据接收的所述报文序列号,判断是否发生有效数据丢帧异常;数据补发模块,用于在确定发生有效数据丢帧异常的情况下,向所述服务器发送数据补发请求。

第五方面,本申请实施例还提出了一种数据更新设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,

所述处理器用于运行所述计算机程序时,执行服务器侧的上述任一项所述的数据更新方法,或者,执行客户端侧的上述任一项所述的数据更新方法。

第六方面,本申请实施例还提出一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现服务器侧的上述任一项所述的数据更新方法;或者,该计算机程序被处理器执行时实现客户端侧的上述任一项所述的数据更新方法。

本申请实施例中,由于该数据更新方法是在检测到分块数据的数据值发生变化时,才进行数据更新,有利于提高数据更新的实时性;且由于本方案是通过组播的方式将待同步数值和已发生变化的数据的属性信息发送客户端,因此,并不是通过一对一的tcp协议进行数据传输,因此,不仅可以避免在发送数据前建立链接,从而可以减小开销和发送数据的时延;对于同一份数据传输到多个不同客户端的情况,还可以避免建立多个tcp协议连接来传输相同的内容,进而避免随着客户端数量的增加,通信网络的流量与设备的负载会成倍递增所导致的数据传输性能下降问题。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。

图1为本申请实施例的一种数据更新方法的流程示意图;

图2为本申请实施例的另一种数据更新方法的流程示意图;

图3为本申请实施例的再一种数据更新方法的流程示意图;

图4为本申请实施例的又一种数据更新方法的流程示意图;

图5为本申请实施例的还一种数据更新方法的流程示意图;

图6为本申请实施例的服务器每个任务周期发送已变化数据对应的udp组播报文数据的流程示意图;

图7为本申请实施例的报文重传机制的过程示意图;

图8为本申请实施例的客户端通过tcp连接向服务器发送补发数据请求以及服务器进行应答的流程示意图;

图9为本申请实施例的数据更新装置的组成结构示意图;

图10为本申请实施例的另一数据更新装置的组成结构示意图;

图11为本申请实施例的一种数据更新设备。

具体实施方式

以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。

需要说明的是,在本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。

随着风力发电、光伏发电等新能源的快速发展,储能管理系统在微网储能、发电侧储能、电网储能等领域中得到了广泛的应用。储能管理系统需要通过实时采集电池单元的运行数据来实现对电池的动态监控,并依赖采集的信号状态对电池单元实施充放电保护,因此,储能管理系统中数据的特点是数量庞大,通常可达到几万个数据量;另外,对数据的实时性、可靠性要求高,例如,当电池过载时如果不及时采取保护措施隔离故障,则可能导致电池设备损坏或引起火灾危害等严重后果。

相关技术中,常采用基于“请求-应答”机制的tcp协议进行数据传输,虽然,tcp协议具有提供高可靠性传输的特点,然而“请求-应答”机制的传输方式,需要在发送数据前建立链接,增加了开销和发送数据的时延,且对于同一份数据传输到多个不同设备情况,需要建立多个tcp协议连接来传输相同的内容,随着客户端数量的增加,通信网络的流量与设备的负载会成倍递增,同时数据的传输性能也会线性下降。

再者,由于现有技术中,将一份数据传输到多个不同设备,是将整份数据进行传输,网络负载较大,需要更多的流量。

为了解决上述技术问题,本申请实施例提出一种数据更新方法,图1为本申请实施例的一种数据更新方法的流程示意图,如图1所示,该流程可以包括:

步骤101:服务器获取分块数据,所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息。

这里,分块数据用于表示对分类后的数据再进行分块所获得的数据。例如,可以对实时检测的数据,按照数据的类型进行分类,得到数据类型1、数据类型2和数据类型3三种类型数据;然后,根据特定的数据量要求,分别对数据类型1、数据类型2和数据类型3三种类型的数据进行分块,分别得到分块数目可变的分块数据。

在一个实例中,服务器获取分块数据的方式可以是服务器实时检测对应的数据。这里,服务器需要检测的数据的类型、名称和数量都可以是固定不变的。例如,服务器可以固定检测8位无符号整型的遥信数据和32位浮点型遥测数据。

数据的属性信息可以包括数据的类型、分块数据序号、报文序列号、子序号和条目标识。其中,数据的类型可以是根据数据的字节的大小进行分类而获得的类型,例如,数据的类型可以包括数据类型1、数据类型2和数据类型3,数据类型1可以是1个字节大小的数据类型,数据类型2可以是2个字节大小的数据类型,数据类型3可以是4个字节大小的数据类型。在一个实例中,数据的类型可以是浮点型或整型。

在一个实例中,分块数据序号可以是在对某一类型的数据进行分块时,按照数据的顺序所确定的序号。可以理解的是,对于不同类型的数据,可以具有相同的分块数据序号。例如,对于数据类型1和数据类型2,数据类型1按照数据的顺序被分为分块数据序号1至分块数据序号100的100个数据分块,数据类型2按照数据的顺序被分为分块数据序号1至分块数据序号200的200个数据分块,这里,数据类型1和数据类型2具有相同的分块数据序号1至分块数据序号100。

在一个示例中,报文序列号可以是根据服务器更新客户端的数据的次数来确定的序列号,例如,对于第一次数据更新报文序列号可以是0,对于第二次数据更新,报文序列号可以是1。

在一个示例中,子序号可以根据服务器重传更新数据的次数所确定的序号,例如,对于第一次更新数据的重传,子序列号可以为1,对于第二次跟新数据的重传,子序列号可以为2。

在一个示例中,数据条目标识可以是已变化数据条目标识,即,已变化数据对应的条目标识。这里,对于分块数据1包含100个数据的情况,条目标识可以是数字1至数字100,数字1表示第1个数据对应的条目标识,数字2表示第2个数据对应的条目标识。

在一种实施方式中,数据配置信息可以通过s个映射表格来承载,例如,s可以是300,数据类型1、数据类型2和数据类型3可以分别对应有100个映射表格,其中,一个映射表格对应1个分块数据,映射表格可以表示报文序列号、数据条目标识以及数据名称的对应关系。例如,对于包括特定数据类型、特定分块数据序号、特定报文序列号、特定数据条目标识的属性信息和特定数值的报文信息,可以确定特定数据条目标识对应的数据名称,并确定数据名称对应的数据值为特定数值。

在一种实施方式中,服务器与所述n个客户端之间共享相同的数据配置信息,可以是服务器与n个客户端通过相同的逻辑对相同的数据配置信息进行解析,从而,可以保证服务器与n非客户端获取的数据信息内容是一致的。

示例性地,对于包括特定数据类型、特定分块数据序号、特定报文序列号、特定数据条目标识的属性信息和特定数值的报文信息,服务器与所述n个客户端可以通过共享的数据配置信息,解析出特定数据条目标识对应的数据名称,和该数据名称对应的数据值即,特定数值。

步骤102:在检测所述分块数据的数据值发生变化的情况下,将所述分块数据中已发生变化的数据的数值确定为待同步数值。

在一种实施方式中,可以是在检测分块数据的任一数据的数据值发生变化的情况下,将分块数据中已发生变化的数据的数值确定为待同步数值。这里,可以通过将检测的分块数据中的数据值与预先存储的对应分块数据中的对应数据值进行比较,确定检测的分块数据中的数据值与预先存储的对应分块数据中的数据值不相同时,确定分块数据的数据值发生变化。

步骤103:确定所述已发生变化的数据的属性信息。

对于确定所述已发生变化的数据的属性信息的实现方式,示例性地,可以是依次确定已发生变化的数据对应的条目序号、已发生变化的数据对应的报文序列号、已发生变化的数据对应的分块数据序号和已发生变化的数据对应的数据类型。

步骤104:通过组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端。

这里,可以通过用户数据报协议(userdatagramprotocol,udp)来实现服务器对n个客户端的数据组播传输。

对于通过组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端的实现方式,示例性地,可以是服务器将待同步数值和已发生变化的数据的属性信息进行报文组包,生成udp组播报文,然后将生成的udp组播报文通过组播的方式发送给n个客户端。

在一个实例中,服务器可以每次只发送单个分块数据对应的待同步数值所生成的udp组播报文数据,在实时性要求内,分批次将所有待同步数据生成的udp组播报文数据发送给每个客户端。

在实际应用中,步骤101至步骤104可以利用业务集群中的处理器实现,上述处理器可以为特定用途集成电路(applicationspecificintegratedcircuit,asic)、数字信号处理器(digitalsignalprocessor,dsp)、数字信号处理装置(digitalsignalprocessingdevice,dspd)、可编程逻辑装置(programmablelogicdevice,pld)、fpga、中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器中的至少一种。

可以看出,本申请实施例提出的数据更新方法,服务器获取分块数据,所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息;在检测所述分块数据的数据值发生变化的情况下,将所述分块数据中已发生变化的数据的数值确定为待同步数值;确定所述已发生变化的数据的属性信息;通过组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端。由于该数据更新方法是在检测到分块数据的数据值发生变化时,才进行数据更新,有利于提高数据更新的实时性;且由于本方案是通过组播的方式将待同步数值和已发生变化的数据的属性信息发送客户端,因此,并不是通过一对一的tcp协议进行数据传输,因此,不仅可以避免在发送数据前建立链接,从而可以减小开销和发送数据的时延;对于同一份数据传输到多个不同客户端的情况,还可以避免建立多个tcp协议连接来传输相同的内容,进而避免随着客户端数量的增加,通信网络的流量与设备的负载会成倍递增所导致的数据传输性能下降问题。

在一种实施方式中,本申请实施例提出一种数据更新方法,图2为本申请实施例的另一种数据更新方法的流程示意图,如图2所示,该流程可以包括:

步骤201:将待发送的第一数据按照数据类型进行分类,得到s类第二数据;s为大于等于1的整数。

这里,待发送的第一数据可以是服务器实时检测到的特定数目的数据。

在一个示例中,对于具体的应用场景,服务器所检测的数据的名称、数目以及数据类型都是确定的。例如,可以确定服务器检测无符号整型的遥信数据和浮点型遥测数据,则确定的数据类型分别为无符号整型和浮点型,确定的数据名称分别为遥信数据和遥测数据。

对于将待发送的第一数据按照数据类型进行分类,得到s类第二数据的实现方式,示例性地,可以是服务器将检测得到的无符号整型的遥信数据和浮点型遥测数据,按照无符号整型和浮点型两种数据类型进行分类,得到2类数据。

步骤202:根据特定的数据量,对每一类所述第二数据进行分块,得到t块所述分块数据;t为大于等于1的整数。

这里,特定的数据量可以是根据一帧报文的数据量阈值所确定的,例如,对于一帧数据报文的数据量阈值是100即,一帧报文的数据容量是100条数据的情况,特定的数据量可以设置为100。

在一种实施方式中,根据特定的数据量,对每一类所述第二数据进行分块,得到t块所述分块数据,可以是在特定数据量为100的情况下,分别对第一类包含1000数据量的遥信数据和第二类包含2000数据量的遥测数据进行分块,分别得10个第一类的分块数据和20个第二类的分块数据。

示例性地,数值t的取值可以根据每一类第二数据的数据量大小发生变化,例如,在特定数据量为100,且第一类数据和第二类数据的数据量分别为1000和2000的情况下,分块所得的10个第一类的分块数据和20个第二类的分块数据的取值是不同的。

步骤203:为所述t块分块数据中每一分块数据确定对应的分块数据序号。

这里,分块数据序号可以是从1开始的整数,例如,1、2、3……m,m的值是根据第二类型数据的数据量所确定的。

在一种实施方式中,为所述t块分块数据中每一分块数据确定对应的分块数据序号,可以是按照顺序确定10块分块数据中的第一分块数据的分块序列号为1,第二分块数据的分块序列号为2,第三分块序列号为3……第10分块的分块序列号为10。

步骤204:服务器获取分块数据,所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息。

步骤205:在检测所述分块数据的数据值发生变化的情况下,将所述分块数据中已发生变化的数据的数值确定为待同步数值。

步骤206:针对每一所述第二数据,按照所述t块中各分块数据的顺序,依次确定每一所述分块数据的数据存储空间和备份存储空间,其中,所述数据存储空间的顺序与所述各分块数据的顺序相同,所述每个分块数据对应一个独立且连续的存储空间。

在一种实施方式中,可以是针对分块所得的10个第一类的分块数据,按照这10个第一类的分块数据的顺序,依次确定每一个第一类分块数据的数据存储空间和备份存储空间,其中,10个第一类的分块数据对应的数据存储空间的顺序与10个第一类的分块数据的顺序相同,所述每个分块数据对应一个独立且连续的存储空间。

步骤207:将所述待同步数值、已发生变化的数据对应的分块数据序号以及已发生变化的数据对应的报文序列号更新到所述已发生变化的数据对应的数据存储空间。

这里,可以根据待同步数值确定已发生变化的数据对应的分块数据序号以及已发生变化的数据对应的报文序列号,并将待同步数值、已发生变化的数据对应的分块数据序号以及已发生变化的数据对应的报文序列号同时保存到已发生变化的数据对应的数据存储空间。例如,对于待同步数值10,可以确定已发生变化的数据对应的分块数据序号为5,已发生变化的数据对应的报文序列号为2,则将待同步数值10、已发生变化的数据对应的分块数据序号5以及已发生变化的数据对应的报文序列号2同时保存到已发生变化的数据对应的数据存储空间。

步骤208:将所述待同步数值和所述已发生变化的数据的属性信息更新至备份存储空间。

这里,可以再获取已发生变化的数据对应的条目标识、子序列号和数据类型,并将待同步数值、已发生变化的数据对应的分块数据序号、已发生变化的数据对应的报文序列号、已发生变化的数据对应的条目标识、子序列号和数据类型作为备份信息保存到本分存储空间。

如此,可以通过将待同步数据和已发生变化的数据的属性信息保存至备份存储空间,以为发生数据丢失情况作准备。

步骤209:确定所述已发生变化的数据的属性信息。

步骤210:通过组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端。

步骤211:接收所述n个客户端中至少任一客户端发送的数据补发请求,其中,所述数据补发请求中包括丢失数据的报文序列号。

在一个示例中,可以是在n个客户端中至少任一客户端发现发生数据丢失时,n个客户端中至少任一客户端向服务发送数据补发请求,服务器接收数据补发请求。例如,可以是客户端a发生数据丢失,客户端a发送数据补发请求,服务器接收服务器a发送的补发请求。

这里,可以通过客户端与服务器建立tcp连接,来实现客户端和服务器之间的通信,即,客户端可通过已建立的tcp连接,向服务器发送补发请求数据,服务器可通过已建立的tcp连接接收数据补发请求。

在一个示例中,数据补发请求中可以包括丢失数据的报文序列号,还可以包括丢失数据的数据类型以及丢失数据对应的分块数据序号。

步骤212:根据所述数据补发请求,在对应的备份存储空间中查找是否存在所述报文序列号对应的备份信息。

在一个实例中,数据备份信息可以是存储在备份存储空间中的待同步数值、已发生变化的数据对应的分块数据序号、已发生变化的数据对应的报文序列号、已发生变化的数据对应的条目标识、子序列号和数据类型。

对于根据所述数据补发请求,在对应的备份存储空间中查找是否存在所述报文序列号对应的备份信息的实现方式,示例性地,可以是根据补发请求中的丢失数据的数据类型以及丢失数据对应的分块数据序号,确定备份存储空间的位置,根据补发请求中的丢失数据的报文序列号在确定的备份存储空间中查找是否存在报文序列号相同的备份信息。

在一个示例中,对于补发请求中包含丢失数据的报文序列号为18,数据类型为第一数据类型,且分块数据序号为5的情况,可以根据第一数据类型以及分块数据序号5,确定丢失数据对应的备份存储空间为备份存储空间u,则在备份存储空间u中查找是否存在报文序列号为18的备份信息。

步骤213:若存在,将查找到的所述备份信息发送给所述数据补发请求对应的客户端。

这里,可以是备份存储空间u中存在报文序列号为18的备份信息,则将报文序列号为18的备份信息发送给对应的客户端a。

步骤214:若不存在,根据所述丢失数据的报文序列号在所述数据存储空间中查找,将查找到的分块数据作为目标分块数据。

这里,可以是备份存储空间中报文序列号为18的备份信息已经被覆盖掉,只存在序列号为19、20和21的备份信息。此时,备份存储空间u中不存在报文序列号为18的备份信息,则可以在丢失数据对应的数据存储空间q中,查找丢失数据的报文序列号18对应的分块数据,将报文序列号18对应的分块数据确定为目标分块数据。

步骤215:将所述目标分块数据以及丢失数据的属性信息发送给所述数据补发请求对应的客户端。

这里,可以是将报文序列号18对应的分块数据以及丢失数据的属性信息发送给所述数据补发请求对应的客户端。

如此,可以通过tcp协议查询数据的功能,保障数据同步的可靠性。

在一种实施方式中,本申请实施例提出一种数据更新方法,图3为本申请实施例的再一种数据更新方法的流程示意图,如图3所示,该流程可以包括:

步骤301:将待发送的第一数据按照数据类型进行分类,得到s类第二数据;s为大于等于1的整数。

步骤302:根据特定的数据量,对每一类所述第二数据进行分块,得到t块所述分块数据;t为大于等于1的整数。

步骤303:为所述t块分块数据中每一分块数据确定对应的分块数据序号。

步骤304:服务器获取分块数据,所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息。

步骤305:判断每一所述分块数据中是否至少一个数据值发生变化。

这里,可以是从第一个分块数据开始,依次检测分块数据中的每一个数据是实时值,确定该实时值与对应的预存储的数据值进行比较,若实时值与对应的预存储的数据值不相同,则认为数据值发生变化。例如,在检测分块数据1的第6个数据的实时值为8,而对应的预存储的数据值为5的情况下,认为第6个数据值发生变化。

步骤306:在任一所述分块数据中的至少一个数据值发生变化的情况下,确定所述分块数据的数据值发生变化。

在一个实例中,可以是在检测分块数据1的第6个数据的实时值为8,而对应的预存储的数据值为5的情况下,认为第6个数据值发生变化,进而,认为分块数据1的数据值发生变化。

步骤307:在检测所述分块数据的数据值发生变化的情况下,将所述分块数据中已发生变化的数据的数值确定为待同步数值。

在一个示例中,在检测所述分块数据的数据值发生变化的情况下,可以是对于一个分块数据检测到多个数据值变化,因此,针对一个分块数据可以确定多个待同步数值。

进而,针对一个分块数据可以生成多个udp组播报文数据。

如此,通过上述确定待同步数值的过程,可以确定发生变化的所有数据,并按照顺序进行排序。

步骤308:确定所述已发生变化的数据的属性信息。

步骤309:通过组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端。

这里,在通过udp组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端后,可以启动报文重传机制。在一个实例中,可以在预设的时间间隔内对所述待同步数值和所述已发生变化的数据的属性信息进行重传。在检测到已变化的数据对应的分块数据发生变化的情况下,停止重传,发送新发生的数据值变化对应生成的udp组播报文。

在一种实施方式中,本申请实施例还提出一种数据更新方法,图4为本申请实施例的又一种数据更新方法的流程示意图,如图4所示,该流程可以包括:

步骤401:n个客户端中的每一所述客户端接收服务器组播发送的待同步数值和已发生变化的数据的属性信息;所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息。

步骤402:根据所述待同步数值和所述已发生变化的数据的属性信息,查询数据配置信息,得到所述已发生变化的数据的名称。

在一种实施方式中,可以先根据已发生变化的数据的属性信息中的已发生变化的数据对应的分块数据序号和已发生变化的数据对应的数据类型,确定数据配置信息中对应的映射表格;然后根据已发生变化的数据对应的条目序号得到确定已发生变化的数据。

步骤403:利用所述待同步数值更新所述数据名称对应的数据的数值。

在一个示例中,可以是利用待同步数值替换已发生变化的数据名称对应的数据的数值。

本申请实施例中,客户端通过数据配置信息对已发生变化的数据的属性信息进行解析,可以确定已发生变化的数据的名称,并将待同步数值更新已发生变化的数据的名称对应的数值,如此,客户端不需要对整个分块数据进行解析,降低了客户端的工作量。

在一种实施方式中,本申请实施例提出一种数据更新方法,图5为本申请实施例的还一种数据更新方法的流程示意图,如图5所示,该流程可以包括:

步骤501:n个客户端中的每一所述客户端接收服务器组播发送的待同步数值和已发生变化的数据的属性信息;所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息。

步骤502:根据所述待同步数值和所述已发生变化的数据的属性信息,查询数据配置信息,得到所述已发生变化的数据的名称。

步骤503:利用所述待同步数值更新所述数据名称对应的数据的数值。

步骤504:所述客户端根据接收的所述报文序列号,判断是否发生有效数据丢帧异常。

在一个示例中,客户端可以通过接收的报文序列号,判断接收的报文序列号是否连续,根据判断结果确定否发生有效数据丢帧异常。例如,对于接收的报文序列号为18、20、21的情况,可以判定接收的报文序列号不是连续的,缺少报文序列号19,因此,可以确定发生了有效数据丢帧异常,报文序列号19的数据丢失了。

步骤505:在确定发生有效数据丢帧异常的情况下,向所述服务器发送数据补发请求。

在一个示例中,在确定发生有效数据丢帧异常的情况下,可以先确定丢失数据的报文序列号,进而确定丢失数据的数据类型和分块数据序号,并将丢失数据的报文序列号、丢失数据的数据类型和分块数据序号包含在数据补发请求中,发送给服务器。

本申请实施例,通过向服务器发送包含丢失数据的报文序列号、丢失数据的数据类型和分块数据序号的数据补发请求,可以向服务器提供必要的丢失数据信息。

本申请实施例的目的在于提供一种储能管理系统远端数据同步的方法,采用基于事件驱动且带有重传机制的udp组播传输变化的数据,提高数据同步的实时性,并能有效地降低网络负载和流量,同时支持基于“请求-应答”机制的tcp协议查询数据,保障数据的可靠性。

为了实现上述技术目的,本申请实施例采用以下技术方案:

服务器和获取服务器数据的n个客户端共享相同的数据配置信息;服务器根据数据的类型与分块信息创建数据存储区域,并创建对应的数据备份区;服务器按照数据类型与分块信息,实时检测待发送数据值的变化,并通过带重传机制的udp组播将变化数据发送给n个客户端;服务器每次只发送单个分块数据的变化数据,在实时性要求内,分批次将服务器中所有变化的数据信息发送给每个客户端。

服务器发送的udp组播报文,包含控制与数据两部分,控制部分包含:数据类型、分块数据序号、udp报文序列号、子序号;数据部分包含:已变化数据条目标识和已变化数据值两部分。

客户端通过建立tcp连接,向服务器发送对丢失udp组播报文的应答请求或数据块全部数据的应答请求,服务器通过tcp连接进行请求应答。

对于数据配置信息,可以通过配置文件存储所有需要交互的数据值,并按照数据类型进行分类,在一种实施方式中,数据类型可以是自定义的数据类型。对于服务器所检测的固定数目、固定类型和固定名称的数据,该所包含不同数据类型的个数标记为typenum。

每种类型数据在配置文件中被集中管理,且每种类型数据又根据需要可被分为1个或多个块,并保证单个块的所有数据可以同时被一帧udp报文发送;其中,第i种数据类型被分为的块数被标记为numi;数据文件中包含的总块数为

在服务器中,根据配置文件的数据类型与分块信息,可以为每个分块数据分配一个独立且连续的存储空间,用于存储数据值。其中,单个数据存储空间的顺序与配置文件分块数据定义的顺序一致,存储空间还包含三个附加信息,分别是数据类型、分块数据序号、报文序列号。

在一个实例中,还为每个分块数据创建一个或多个独立且连续的备份存储空间,用于备份已发送的udp报文信息,其中,udp报文信息包含数据类型、分块数据序号、报文序列号、子序号、已变化数据条目表示与各变化条目对应的数值(待同步数值)。这里,每个分块数据存储空间具有一个独立的报文序列号,在一个检测周期内只要一旦块数据发生变化,本数据块存储空间的报文序列号值就会递增1,而备份区的报文序列号存储的是已发送过的历史数据对应的序列号。

在服务器上电后,所有的数据初始化为无效状态,当第一次读取数据值时,首先,将数据值记录到存储区,同时在备份区备份数据值和数据条目序号,然后将数据置为有效状态,并以分块数据为单位将所有数据通过带重传机制的udp组播报文上送至客户端;此后,服务器实时检测有效状态下的数据值变化,并按分块数据的顺序将已变化数据通过带重传机制的udp组播报文上送至客户端。

服务器实时性时间要求为t1,用于扫描处理所有数据块的时间周期为t2,则t1-t2表示用于实时性时间内的有效重传时间窗大小,每个任务周期时间为tcycle,数据块的总数为blocknum,可确认每个任务周期中所需处理数据块的个数为blknumcycle=blocknum/(t2/tcycle)。

这里,任务周期时间是根据系统设置的,对所有分块数据进行一次读取需要执行多个任务周期时间,一个任务周期时间可以完成对多个分块数据的读取。

在一种实施方式中,图6为本申请实施例的服务器每个任务周期发送已变化数据对应的udp组播报文数据的流程示意图,如图6所示,该流程可以包括:

步骤601:开始检测第一个分块数据并处理变化数据信息。

步骤602:读取第一个分块数据中第一个数据的实时值,并与对应的数据存储值比较。

步骤603:确定数据值是否变化,若是,执行步骤604,若否,执行步骤605。

步骤604:更新数据存储区和数据备份区,并记录发生变化的数据的条目标识。

这里,可以将实时值同时更新到对应的数据存储区和数据备份区,并在数据备份区的已变化数据条目指示字段中记录当前已变化数据的条目号。

步骤605:确定该数据为分块数据中的最后一个数据,若是,执行步骤606,若否,开始处理下一个数据,执行步骤602。

步骤606:进行udp报文组包。

在一个实例中,报文序列号字段采用块存储空间的报文序列号值sequencenum,子序号值为0,再根据数据类型、分块数据序号,以及数据备份区存储的已变化数据条目指示字段与已变化数据条目对应的数据值等信息进行报文组包并通过udp发送,然后在备份区中备份报文序列号值为sequencenum、子序号值为0,则备份区包含了报文中所有关键信息。

步骤607:通过udp组播方式将udp报文发送给客户端。

步骤608:数据备份空间的sequencenum的分块数据的sequencenum递加1。

这里,可以是将分块数据的备份存储空间的报文序列号累加1,值变为sequencenum+1。

在一个示例中,当udp变化数据报文发送后,可以启动报文重传机制。udp报文重传的机制为:设置重传的最小时间间隔为min_t,最大时间间隔为max_t,即,报文重传的时间间隔由min_t逐渐拉大到max_t,分别为min_t、2*min_t、...、max_t;实时性时间内的有效重传时间窗大小为t1-t2,重传的次数为k,则min_t最大设置值满足min_t=(t1-t2)/(2k-1)。

当首次获取分块数或检测出分块数据已发生数据变化时,服务器将按分块数据发送一帧udp组播报文,报文发送时刻标记为t0,则在t0+min_t、...、t0+(2k-1)*min_t、t0+(2k-1)*min_t+max_t等时刻对该分块数据最新发送过的udp报文进行重传,报文序列号保持不变,而子序号值递增1。

当数据块进入下一个任务周期进行扫描时,如果该分块数据无数据变化,则继续进行上一次报文的重传;如果该分块数据发生了数据变化,则立即终止本分块数据的报文重传,并发送新的udp变化报文,报文序列号递增1,子序号重新从0开始计数,然后再次启动重传机制重传新报文。

图7为本申请实施例的报文重传机制的过程示意图,如图7所示,其中,δt相当于重传的最小时间间隔min_t。可以看出,在服务器上电后,当第一次读取数据值时,按分块数据将所有数据通过带重传机制的udp组播报文上送至客户端,在第一次送至客户端后,对应的报文序列号为sequencenum,子序号为0;δt时间后进行第一次重传后,对应的报文序列号为sequencenum,子序号为1;2*δt时间后进行第二次重传后,对应的报文序列号为sequencenum,子序号为2,以此类推,直到检测到分块数据的数据1的数据值发生变化;此时,将变化数据组成的新的udp报文发送给客户端,从而,对应的子序号为0,对应的报文序列号变为sequencenum+1;并通过重传机制进行重传,对应的子序列号逐步加1,直到服务器实时分块数据的数据2的数据值发生变化……。对于udp丢失有效数据帧的清凉,则需要客户端给服务器通过tcp协议发送分块数据查询请求,服务器通过tcp协议对查询请求进行应答。

在一些实施例中,对于某些分块数据,可能出现较长时间没有数据发生变化的情况,最终分块数据会以max_t间隔持续重传最后一帧变化的报文,起到udp心跳报文的作用。

客户端可已通过建立tcp连接,向服务器发送补发数据请求,图8为本申请实施例的客户端通过tcp连接向服务器发送补发数据请求以及服务器进行应答的流程示意图,如图8所述,该流程包括以下步骤:

步骤801:客户端确定udp传输丢帧异常。

步骤802:客户端通过tcp连接给服务器发送补发数据请求。

其中,补发请求中包含报文序列号等参数数据,例如,在补发请求中包含数据类型、分块数据序号,报文序列号。

步骤803:服务器根据补发数据请求查询分块数据序号对应的数据备份空间,确定是否存在sequencenum对应的备份信息,若是,执行步骤804,若否,执行步骤805。

步骤804:服务器重组丢帧报文数据并通过tcp协议上传给客户端。

在一种实施方式中,可以根据备份区包含的数据类型、块序号、报文序列号、已变化数据条目指示与各变化条目对应的数值等信息进行tcp报文组包,然后通过tcp报文类型应答,即,服务器通过tcp协议将重组的丢帧报文数据发送给客户端。将其中,tcp/udp报文的数据内容部分格式可以相同。

步骤805:tcp报文类型返回应答“不存在”。

步骤806:客户端发送请求服务器指定分块数据的全部数据的请求,服务器将整个分块数据进行报文组包,并通过tcp发送给客户端。

步骤807:客户端通过tcp连接向服务器发送请求指定分块数据全部数据的请求。

步骤808:服务器根据所述指定分快数据全部数据的请求,确定指定分块数据全部数据,并通过tcp连接,将指定分块数据全部数据发送给客户端。

在上述发明实施例中,基于事件驱动且带有重传机制的udp组播传输变化的数据信息,其中“事件驱动机制”提升了数据同步的实时性;“重传机制”可以提升数据同步的可靠性;udp组播地址实现数据“一对多”的传输,且仅对“变化的数据”同步传输,可以有效地降低了网络负载与流量;同时提供通过tcp协议查询数据的功能,进一步保障了数据同步的可靠性。

在一种实施方式中,本申请实施例提供了一种储能管理系统远端数据同步的方法。

在一个示例中,对遥信数据和遥测数据进行分块的实现方式,可以是在数据配置文件中,配置20000个8位无符号整型的遥信数据,分为20个分块数据,每个分块数据包含1000个遥信;再配置10000个32位浮点型遥测数据,分为40个分块数据,每个分块数据包含250个32位浮点型遥测数据;服务器和所有客户端共享相同的数据配置文件。

在一个示例中,针对分块数据建立数据存储空间和数据备份存储空间的实现方式,可以是在服务器中,为每个分块数据分配一个独立的数据存储空间,包含3个附加信息(数据类型、块序号、报文序列号)和分块数据中所有的数据值。然后,为每个分块数据创建3个独立的备份存储空间,包含4个附加信息(数据类型、块序号、报文序列号、子序号)、一个已变化数据条目指示字段以及数据值。

在一个示例中,遥信数据、遥测数据同步的实时性要求时间为1s,用于扫描处理所有数据块的时间周期为600ms,则有效重传时间窗大小为400ms,服务器数据传输的每个任务周期时间为100ms,数据块的总数为60个,则每个任务周期中处理数据块个数为:60/(600ms/100ms)=10。

在一个示例中,确定重传机制中的最小重传时间间隔和最长时间间隔的方式可以是,以第3个遥信数据块block3为例,每间隔600ms就会对block3进行一次数据变化检测,若出现数据变化后发送的udp报文丢失情况,此时丢帧时刻已据上个变化扫描周期时刻有600ms,由于数据同步的实时性要求为1s,则在丢帧后的400ms内需要完成报文重传来提高数据的可靠性,如果设计有效重传的次数为2,则可以计算最小重传时间间隔最大配置值为:(1000ms-600ms)/(22-1)约等于133ms(400ms),考虑到最高任务周期时间为100ms,报文重传的最小间隔时间配置为100ms,最长时间间隔为实时性要求时间1s,则重传的报文间隔分别为100ms、200ms、1s。

在一个示例中,储能管理系统远端数据同步的过程可以是,在服务器上电时,所有的数据初始化为无效状态,从第一个任务周期开始处理10个数据块,每个块中依次读取数据值,并将数据置为有效状态,然后按块将所有的数据值组包并通过udp组播上送至客户端,然后在存储区备份已发送报文信息,关于数据块的3个备份区,其存储原则是覆盖最老并循环存储的方式,一个块最多存储3条历史报文信息,至于备份区的个数,可以根据服务器的内存大小进行调整;在已发送的udp报文中,报文序列号和子序号都为0,udp报文发送时刻标记为t0,接下来启动报文重传机制,以第3个遥信数据块block3为例,在t0+100ms时刻block3进行第一帧重传,报文序列号为0,子序号为1;在t0+300ms时刻block3进行第二帧重传,报文序列号为0,子序号为2;同理完成初始化时服务器内所有数据按块上送至客户端,完成客户端的数据库数值初始化工作。

在一个实例中,在所有数据都处于有效状态时,服务器按块检测数据变化,以第3个遥信数据块block3为例,依次读取其中的1000个遥信数据,当读取的新值与存储空间的预先存储的值不相等时,首先将新值更新到数据存储空间和数据备份空间,然后将变化数据的条目表示记录到备份空间中已变化数据条目指示字段。

其中,已变化数据条目指示字段的原理为:通过125个bytes(1000bits)字段来指示块中的1000个数据,每一个bit对应一个条目,如条目指示字段从高位至低位方向第10个bit位置1,表明数据块中的第10个条目发生了数值变化,如果bit位置0表明数据值未变化;当将一个数据块所有数据读取一遍后,已变化数据条目指示字段能够记录所有发生变化的条目号;在t0+600ms再次进行block3数据值扫描,如果数据块block3无数据变化,重传机制继续生效,检查下一帧重传报文(时刻为t0+1300ms)是否满足上送要求,如果间隔时间满足条件则上送重传报文,否则无报文重传;如果在t0+600ms时刻block3有数据值发送变化,则终止之前的报文重传,并发送新的udp变化报文,报文序列号递增为1,子序号重新从0开始计数,然后再次启动重传机制,在1s性能周期内,至少重传两次新的udp变化报文,报文序号保持1不变,子序号分别为1、2。若block3在t0+600ms时刻和t0+1200ms时刻扫描的数据值都没有变化,则在t0+1300ms时刻重传前序变化报文,报文序列号为0,子序号为3,如果block3一直不变化,则重传机制一直生效,以1s的间隔持续重传报文,起到udp心跳报文的作用。

同理按顺序完成所有遥信、遥测块数据的检测和udp报文发送。

在一种实施方式中,当客户端收到同一个数据块的udp报文序列号相同,仅子序号不同时,表示收到的是重传报文,可以丢弃重传报文不处理,但是如果前后收到的两帧报文中报文序列号不连续时,可判断为udp有效数据丢帧异常;比如客户端收到数据块的前一帧报文序列号为30,当前帧报文序列号为32,期间丢失了序列号为31的有效报文,此时客户端可通过tcp协议下发命令请求数据补发,请求参数为报文序列号(数据类型、块序号、报文序列号31),服务器在指定数据块的备份区中查找报文序列号为31的备份信息,若找到,根据备份区存储的报文数据组包并通过tcp协议发送;若在所有的备份空间都找不到备份信息,服务器回复否定应答,表示补发的报文数据不存在,此时客户端可以选择通过tcp连接请求服务器指定数据块包含的全部数据,服务器收到请求后进行应答。

图9为本申请实施例的数据更新装置的组成结构示意图,如图9所示,该装置可以包括:所述装置包括:数据获取模块901、待同步数据确定模块902、属性信息确定模块903和同步模块904,其中,

所述数据获取模块901,用于获取分块数据,所述服务器与所述n个客户端之间共享相同的数据配置信息,n为大于1的整数;所述数据配置信息中包括数据的属性信息;

所述待同步数据确定模块902,用于在检测所述分块数据的数据值发生变化的情况下,将所述分块数据中已发生变化的数据的数值确定为待同步数值;

所述属性信息确定模块903,用于确定所述已发生变化的数据的属性信息;

所述同步模块904,用于通过组播将所述待同步数值和所述已发生变化的数据的属性信息,发送给所述n个客户端。

在一种实施方式中,所述数据的属性信息包括数据类型和分块数据序号,所述装置还包括:

分块模块905,用于将待发送的第一数据按照数据类型进行分类,得到s类第二数据;s为大于等于1的整数;根据特定的数据量,对每一类所述第二数据进行分块,得到t块所述分块数据;t为大于等于1的整数;为所述t块分块数据中每一分块数据确定对应的分块数据序号。

在一种实施方式中,所述数据的属性信息包括分块数据序号、报文序列号,所述装置还包括:存储模块906,用于针对每一所述第二数据,按照所述t块中各分块数据的顺序,依次确定每一所述分块数据的数据存储空间和备份存储空间,其中,所述数据存储空间的顺序与所述各分块数据的顺序相同,所述每个分块数据对应一个独立且连续的存储空间;将所述待同步数值、已发生变化的数据对应的分块数据序号以及已发生变化的数据对应的报文序列号更新到所述已发生变化的数据对应的数据存储空间;将所述待同步数值和所述已发生变化的数据的属性信息更新至备份存储空间。

在一种实施方式中,所述装置还包括:第一判断模块907,用于判断每一所述分块数据中是否至少一个数据值发生变化;在任一所述分块数据中的至少一个数据值发生变化的情况下,确定所述分块数据的数据值发生变化。

在一种实施方式中,所述数据的属性信息包括报文序列号,所述装置还包括:查找模块908,用于接收所述n个客户端中至少任一客户端发送的数据补发请求,其中所述数据补发请求中包括丢失数据的报文序列号;根据所述数据补发请求,在对应的备份存储空间中查找是否存在所述报文序列号对应的备份信息;若存在,将查找到的所述备份信息发送给所述数据补发请求对应的客户端;若不存在,根据所述丢失数据的报文序列号在所述数据存储空间中查找,将查找到的分块数据作为目标分块数据;将所述目标分块数据以及丢失数据的属性信息发送给所述数据补发请求对应的客户端。

实际应用中,数据获取模块901、待同步数据确定模块902、属性信息确定模块903、同步模块904、分块模块905、存储模块906、第一判断模块907和查找模块908可以利用电子设备中的处理器实现,上述处理器可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。

图10为本申请实施例的另一数据更新装置的组成结构示意图,如图10所示,该装置可以包括:第一接收模块1001、查询模块1002和数值更新模块1003,其中,

所述第一接收模块1001,用于接收服务器组播发送的待同步数值和已发生变化的数据的属性信息;

所述查询模块1002,用于根据所述待同步数值和所述已发生变化的数据的属性信息,查询数据配置信息,得到所述已发生变化的数据的名称;

所述数值更新模块1003,用于利用所述待同步数值更新所述数据名称对应的数据的数值。

在一种实施方式中,所述数据的属性信息包括报文序列号,所述装置还包括:第二判断模块1004,用于所述客户端根据接收的所述报文序列号,判断是否发生有效数据丢帧异常;数据补发模块1005,用于在确定发生有效数据丢帧异常的情况下,向所述服务器发送数据补发请求。

实际应用中,第一接收模块1001、查询模块1002、数值更新模块1003、第二判断模块1004和数据补发模块1005可以利用电子设备中的处理器实现,上述处理器可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。

另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(readonlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

具体来讲,本实施例中的一种数据更新方法对应的计算机程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种数据更新方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种数据更新方法。

基于前述实施例相同的技术构思,参见图11,其示出了本申请实施例提供的一种数据更新设备,可以包括:存储器1101和处理器1102;其中,

所述存储器1101,用于存储计算机程序和数据;

所述处理器1102,用于执行所述存储器中存储的计算机程序,以实现前述实施例的服务器侧的上述任一项所述的数据更新方法,或者,实现客户端侧的上述任一项所述的数据更新方法。。

在实际应用中,上述存储器1101可以是易失性存储器(volatilememory),例如ram;或者非易失性存储器(non-volatilememory),例如rom,快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);或者上述种类的存储器的组合,并向处理器1102提供指令和数据。

上述处理器1102可以为asic、dsp、dspd、pld、fpga、cpu、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的增强现实云平台,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。

在一些实施例中,本申请实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述

上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述

本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。

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