一种跨等级跨网域的数据传输方法和装置转让专利

申请号 : CN202310450701.4

文献号 : CN116192535B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈臻王宇翔张辉陈海燕丁雷龙

申请人 : 航天宏图信息技术股份有限公司

摘要 :

本发明提供了一种跨等级跨网域的数据传输方法和装置,涉及数据传输的技术领域,包括:获取源端发送的待传输数据,并基于待传输数据的多维参数,构建目标传输任务的任务编码;基于待传输数据,构建目标传输任务的数据包,并基于任务编码、目标传输任务的数据包和预设首部文件模板,构建首部文件;将目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对目标任务列表中传输任务进行排序,得到排序结果;基于排序结果确定当前传输任务,对当前传输任务的首部文件进行加密,得到加密后的首部文件;将加密后的首部文件和当前传输任务的数据包发送给目标端,解决了现有的跨等级跨网域的数据传输方法效率较低的技术问题。

权利要求 :

1.一种跨等级跨网域的数据传输方法,其特征在于,应用于源端的中间件,包括:获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;

基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;

将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;

基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;

基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端。

2.根据权利要求1所述的方法,其特征在于,

所述预设首部文件模板中包括:任务编码,任务名称,任务执行状态,维度信息,传输优先级得分,数据包信息和日志信息;

所述传输优先级得分的计算公式为: ,其中,为所述传输优先级得

分, 为所述待传输数据的多维参数中第 个维度参数的优先级参数, 为 对应的权重值。

3.根据权利要求1所述的方法,其特征在于,基于所述待传输数据,构建所述目标传输任务的数据包,包括:对所述待传输数据进行压缩,得到压缩包;

若所述压缩包的数据量大于预设数据量,则对所述压缩包进行切分,得到多个子压缩包,并将所述多个子压缩包确定为所述目标传输任务的数据包,其中,所述子压缩包的数量小于所述预设数据量;

若所述压缩包的数据量小于或等于所述预设数据量,并将所述子压缩包确定为所述目标传输任务的数据包。

4.根据权利要求1所述的方法,其特征在于,基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果 ,包括:第一排序步骤,对所述目标任务列表中的传输任务的传输优先级得分从小到大进行排序,得到初始排序结果;

第二排序步骤,若所述目标任务列表中的传输任务包含初始传输任务,则基于所述初始传输任务的目标维度参数的优先级参数,对所述初始传输任务进行排序,得到中间排序结果,其中,所述初始传输任务为传输优先级得分相同的传输任务,所述目标维度参数为所述多维参数中权重值最大的维度参数;

将所述初始传输任务确定为所述目标任务列表中的传输任务,以及将所述多维参数中除所述目标维度参数以外的维度参数确定为所述目标维度参数,重复执行所述第二排序步骤,直至所述目标任务列表中的传输任务中不包含初始传输任务,并利用所述中间排序结果对所述初始排序结果进行更新,得到所述排序结果。

5.根据权利要求4所述的方法,其特征在于,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,包括:若所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,通过所述源端的中间件将所述加密后的首部文件和所述当前传输任务的数据包发送给所述当前传输任务对应的目标端的中间件;

若所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端,通过网闸将所述加密后的首部文件和所述当前传输任务的数据包发送给所述当前传输任务对应的目标端的中间件;

所述目标端的中间件在接收到所述加密后的首部文件和所述当前传输任务的数据包之后,利用所述加密后的首部文件对所述当前传输任务的数据包进行处理,得到所述当前传输任务的传输数据,并将所述当前传输任务的传输数据写入给所述当前传输任务对应的目标端对应的数据库。

6.根据权利要求5所述的方法,其特征在于,利用所述加密后的首部文件对所述当前传输任务的数据包进行处理,得到所述当前传输任务的传输数据,包括:对所述加密后的首部文件进行解密,得到所述当前传输任务的首部文件;

基于所述当前传输任务的首部文件,对所述当前传输任务的数据包完整性校验;

若检验通过且所述当前传输任务的数据包中包括多个子压缩包,则对所述当前传输任务的数据包进行合并和解压处理,得到所述当前传输任务的传输数据。

7.一种跨等级跨网域的数据传输装置,其特征在于,包括:

获取单元,用于获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;

构建单元,用于基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;

排序单元,用于将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;

加密单元,用于基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;

传输单元,用于基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端。

8.根据权利要求7所述的装置,其特征在于,

所述预设首部文件模板中包括:任务编码,任务名称,任务执行状态,维度信息,传输优先级得分,数据包信息和日志信息;

所述传输优先级得分的计算公式为: ,其中,为所述传输优先级得

分, 为所述待传输数据的多维参数中第 个维度参数的优先级参数, 为 对应的权重值。

9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器用于存储支持处理器执行权利要求1至6任一项所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。

10.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,计算机程序被处理器运行时执行上述权利要求1至6任一项所述方法的步骤。

说明书 :

一种跨等级跨网域的数据传输方法和装置

技术领域

[0001] 本发明涉及数据传输的技术领域,尤其是涉及一种跨等级跨网域的数据传输方法和装置。

背景技术

[0002] 随着各地信息化系统的建设,不同的业务部门分别建立了自己的业务系统,由于各个业务系统为分别建立,各个系统数据的管理和应用一般采用独立数据库的形式,每个系统有自己单独的数据库,系统之间数据难以交换。部门之间缺乏数据共享交换渠道,数据流动困难重重。业务系统之间缺乏开放的数据调用接口,导致每个业务领域数据各自独立形成“信息孤岛”。同一业务体系不同等级的部门在建设系统时,由于跨等级,也存在数据共享流通困难的情形 。
[0003] 目前,常用的数据共享机制为通过不同系统的端口进行访问控制,实现数据的共享,但是现有的数据共享机制存在以下问题:
[0004] 通过各个系统的接口进行共享的方法,若为跨网域访问,需要网闸为每个系统开放数据流入和流出端口号,增加网闸运维的工作量,降低网闸管理的规范性;
[0005] 通过各个系统的接口进行共享的方法,若为同网域跨等级访问,假设有M个上级系统和N个下级系统进行对接,则数据调研的最大复杂度为M*N;
[0006] 通过各个系统的接口进行共享的方法,在每个新系统建设时,需要调研所有需要通讯的系统,进行数据库的对接,造成重复工作量。
[0007] 针对上述问题,还未提出有效的解决方案。

发明内容

[0008] 有鉴于此,本发明的目的在于提供一种跨等级跨网域的数据传输方法和装置,以缓解现有的跨等级跨网域的数据传输方法效率较低的技术问题。
[0009] 第一方面,本发明实施例提供了一种跨等级跨网域的数据传输方法,应用于源端的中间件,包括:获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端。
[0010] 进一步地,所述预设首部文件模板中包括:任务编码,任务名称,任务执行状态,维度信息,传输优先级得分,数据包信息和日志信息;所述传输优先级得分的计算公式为:,其中,为所述传输优先级得分, 为所述待传输数据的多维参数中第
个维度参数的优先级参数, 为 对应的权重值。
[0011] 进一步地,基于所述待传输数据,构建所述目标传输任务的数据包,包括: 对所述待传输数据进行压缩,得到压缩包;若所述压缩包的数据量大于预设数据量,则对所述压缩包进行切分,得到多个子压缩包,并将所述多个子压缩包确定为所述目标传输任务的数据包,其中,所述子压缩包的数量小于所述预设数据量;若所述压缩包的数据量小于或等于所述预设数据量,并将所述子压缩包确定为所述目标传输任务的数据包。
[0012] 进一步地,基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果 ,包括:第一排序步骤,对所述目标任务列表中的传输任务的传输优先级得分从小到大进行排序,得到初始排序结果;第二排序步骤,若所述目标任务列表中的传输任务包含初始传输任务,则基于所述初始传输任务的目标维度参数的优先级参数,对所述初始传输任务进行排序,得到中间排序结果,其中,所述初始传输任务为传输优先级得分相同的传输任务,所述目标维度参数为所述多维参数中权重值最大的维度参数;将所述初始传输任务确定为所述目标任务列表中的传输任务,以及将所述多维参数中除所述目标维度参数以外的维度参数确定为所述目标维度参数,重复执行所述第二排序步骤,直至所述目标任务列表中的传输任务中不包含初始传输任务,并利用所述中间排序结果对所述初始排序结果进行更新,得到所述排序结果。
[0013] 进一步地,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,包括:若所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,通过所述源端的中间件将所述加密后的首部文件和所述当前传输任务的数据包发送给所述当前传输任务对应的目标端的中间件;若所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端,通过网闸将所述加密后的首部文件和所述当前传输任务的数据包发送给所述当前传输任务对应的目标端的中间件;所述目标端的中间件在接收到所述加密后的首部文件和所述当前传输任务的数据包之后,利用所述加密后的首部文件对所述当前传输任务的数据包进行处理,得到所述当前传输任务的传输数据,并将所述当前传输任务的传输数据写入给所述当前传输任务对应的目标端对应的数据库。
[0014] 进一步地,利用所述加密后的首部文件对所述当前传输任务的数据包进行处理,得到所述当前传输任务的传输数据,包括:对所述加密后的首部文件进行解密,得到所述当前传输任务的首部文件;基于所述当前传输任务的首部文件,对所述当前传输任务的数据包完整性校验;若检验通过且所述当前传输任务的数据包中包括多个子压缩包,则对所述当前传输任务的数据包进行合并和解压处理,得到所述当前传输任务的传输数据。
[0015] 第二方面,本发明实施例还提供了一种跨等级跨网域的数据传输装置,包括: 获取单元,用于获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;构建单元,用于基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;排序单元,用于将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;加密单元,用于基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;传输单元,用于基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端。
[0016] 进一步地,所述预设首部文件模板中包括:任务编码,任务名称,任务执行状态,维度信息,传输优先级得分,数据包信息和日志信息;所述传输优先级得分的计算公式为:,其中,为所述传输优先级得分, 为所述待传输数据的多维参数中第
个维度参数的优先级参数, 为 对应的权重值。
[0017] 第三方面,本发明实施例还提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储支持处理器执行上述第一方面中所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
[0018] 第四方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序。
[0019] 在本发明实施例中,通过获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端,达到了利用中间件进行跨等级跨网域数据传输的目的,进而解决了现有的跨等级跨网域的数据传输方法效率较低的技术问题,从而实现了提高跨等级跨网域的数据传输效率的技术效果。
[0020] 本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0021] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0022] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1为本发明实施例提供的一种跨等级跨网域的数据传输方法的流程图 ;
[0024] 图2为本发明实施例提供的一种跨等级跨网域的数据传输装置的示意图;
[0025] 图3为本发明实施例提供的一种电子设备的示意图。

具体实施方式

[0026] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 实施例一:
[0028] 根据本发明实施例,提供了一种跨等级跨网域的数据传输方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0029] 图1是根据本发明实施例的一种跨等级跨网域的数据传输方法的流程图,如图1所示,该方法包括如下步骤:
[0030] 步骤S102,获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;
[0031] 步骤S104,基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;
[0032] 步骤S106,将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;
[0033] 步骤S108,基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;
[0034] 步骤S110,基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端。
[0035] 在本发明实施例中,通过获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端,达到了利用中间件进行跨等级跨网域数据传输的目的,进而解决了现有的跨等级跨网域的数据传输方法效率较低的技术问题,从而实现了提高跨等级跨网域的数据传输效率的技术效果。
[0036] 下面对上述多维参数进行介绍。
[0037] 任务编码由9个维度参数拼接而成,各维度间由“_”分割标识,编码赋值规则为:等级维度参数(源端‑目标端)_网络维度参数(源端‑目标端)_系统维度参数(源端‑目标端)_空间维度参数(源端‑目标端)_业务维度参数_数据类型维度参数_数据更新维度参数_角色维度参数_时间维度参数。
[0038] 任务编码示例:C‑C_P‑P_03‑01_371300‑371300_ DZ.TDLYXZ.TDLYXZ2018_2_UP_1_20210709161317。任务编码作为全局唯一标识,区分不同的数据传输任务。
[0039] 本发明实施例中的中间件的9个维度定义如下,中英文为维度的名称,其后列出了维度的编码。
[0040] 等级维度(gradeCode)参数包括国家、省级、市级、区县级四个层级,对应的编码分别为A、B、C、D。
[0041] 网络维度(networkCode)参数包括三个网域,分别为专网、政务外网和互联网,对应的编码分别为P、G、I。
[0042] 系统维度(systemCode)参数主要是指发生数据挂载的各类系统,可以根据实际情况补充其他系统。
[0043] 例如,国土空间基础信息平台、国土空间一张图实施监督信息系统、开发保护现状评估与全生命周期数据集成系统、数据库通讯软件对应的编码分别为01、02、03、04。
[0044] 空间维度(spaceCode)参数按行政区来划分,可以通过行政区代码进行编码。
[0045] 业务维度(businessCode)参数根据需要通讯和数据传输的业务数据库进行定义。以自然资源信息资源规划相关部门管理职能和业务规则为例,对涉及的数据进行编码,按照地政、矿政、测政、规政和其他五大类进行设计。
[0046] 具体如下表所述:
[0047] 一级类 二级类 三级类(要素集) 四级类(要素类)编码 备注土地专 业 dz
土地利用现状 tdlyxz
土地利用现状 tdlyxz[*] *表示在后面追加年份信息
地类图 斑 dltb dz.tdlyxz.tdlyxz[*].dltb
建设用地审批 jsydsp
建设用地审批数据 jsydspsj dz. jsydsp.jsydspsj
地质矿产专业 kz
矿产地质 kcdz
矿产资源分布 kczyfb kz.kcdz.kczyfb
矿产资源开发利用 kczykfly kz.kcdz. kczykfly
矿产资源现状 kczyxz kz.kcdz. kczyxz
测绘专 业 cz
基础测绘 chjc
空间规划 gh
总体规划 ztgh

详细规划 xxgh

专项规划 zxgh

综合类 zh
综合统计 zhtj
[0048] 数据类型(dataTypeCode)参数按照不同的数据类型进行划分,主要包括空间数据和非空间数据,此项分类原因为不同数据类型采用的数据挂载方式不同。其中,属性数据、空间数据、非结构化数据、其它数据对应的编码分别为1、2、3、4。
[0049] 数据更新(updateTypeCode)参数主要表征更新和撤回两种操作。对于数据更新操作,从数据更新频率方面进行考虑,主要包括时点数据更新和时态数据更新。其中,时点数据更新可以定时执行或手动触发执行,时态数据(近)实时自动更新。时点数据更新、时态数据(近)实时自动更新、数据撤回对应的编码分别为UP、UT、R。
[0050] 角色维度(roleCode)参数主要表征发生数据变更的具体操作人所具有的角色名称。数据挂载过程中主要记录关键环节的角色信息,包括审查、审核和审批,对应的编码分别为1、2、3。
[0051] 时间维度(version)参数主要表征数据发生变化时的时间信息,具体记录到日期和时分秒,对应的编码格式为“yyyyMMddHHmmss”,如“20200615165602”。
[0052] 下面对首部文件的具体格式进行说明:
[0053] 预设首部文件模板中包括:任务编码,任务名称,任务执行状态,维度信息,传输优先级得分,数据包信息和日志信息。
[0054] {
[0055] "taskCode":"", //任务编码
[0056] "taskName":"", //任务名称
[0057] "status":"", //任务执行状态,PROCESSING:执行中,SUCCESS:执行成功,FAIL:执行失败
[0058] "createTime":"", //任务创建时间
[0059] "dimensions":[{ //维度信息,共9组值,组成一个数组
[0060] "name":"networkCode", //维度名称
[0061] "value":"P‑P", //维度值,纬度值赋值方法同步骤1中各段编码,如需表示传输方向,则赋值方法为“源端编码‑目标端编码”
[0062] "priority":"988", //维度优先级
[0063] "weight":"300", //维度权重,对于不同的任务,同一维度的权重保持不变
[0064] },
[0065] ...],
[0066] "priority":"", //优先级得分
[0067] "blockInfo":{//数据包信息
[0068] "fileName":"dltb", //文件名称
[0069] "fileSize":535801019, //文件总大小,单位Byte
[0070] "md5":"8c0391ec3c757d5985c76b8c08b5766b", //文件md5码
[0071] },
[0072] "logs":[{//日志信息
[0073] "taskCode": "", //任务编码
[0074] "stepCode ": "", //当前执行阶段编码
[0075] "status": "", //0:失败(默认),1:成功
[0076] "message": "", // 日志信息
[0077] "startTime": "", //当前阶段开始时间,LocalDateTime类型
[0078] "completeTime": "" //当前阶段结束时间,LocalDateTime类型
[0079] },
[0080] ...
[0081] ]
[0082] }
[0083] 在本发明实施例中,步骤S104包括如下步骤:
[0084] 对所述待传输数据进行压缩,得到压缩包;
[0085] 若所述压缩包的数据量大于预设数据量,则对所述压缩包进行切分,得到多个子压缩包,并将所述多个子压缩包确定为所述目标传输任务的数据包,其中,所述子压缩包的数量小于所述预设数据量;
[0086] 若所述压缩包的数据量小于或等于所述预设数据量,并将所述子压缩包确定为所述目标传输任务的数据包。
[0087] 在本发明实施例中,中间件通过共享块查询接口定时轮询查找已完成维度维护的通讯任务,通过共享块读取接口将共享块中的数据包及首部文件读取至本地磁盘指定路径,文件夹命名为通讯任务编码。根据数据包大小及网络资源情况进行数据包预处理,预处理步骤如下:
[0088] 根据配置文件获取数据包上限(即,预设数据量),可调整,但必须是1MB的整数倍;
[0089] 获取网络目标端端拥堵窗口,决定传输数据流大小,数据流传输为64KB的整数倍;
[0090] 将任务文件夹下的所有文件夹压缩,压缩包缓存至内存;
[0091] 判断压缩包大小:若压缩包数据量≤数据包上限,则直接将压缩包写入待传输路径;若压缩包>数据包上限,则将内存中的压缩包流按照字节流顺序进行切分,得到多个子压缩包,子压缩包大小不超过上限;
[0092] 子压缩包全部写入待传输文件夹后,将切分后的数据包信息更新至首部文件。
[0093] 在首部文件的日志信息数组中,增加生成通讯数据包步骤开始时间、结束时间、执行结果状态、执行日志等信息。
[0094] 最后 将首部文件写入待传输文件夹。
[0095] 在本发明实施例中,步骤S106包括如下步骤:
[0096] 第一排序步骤,对所述目标任务列表中的传输任务的传输优先级得分从小到大进行排序,得到初始排序结果;
[0097] 第二排序步骤,若所述目标任务列表中的传输任务包含初始传输任务,则基于所述初始传输任务的目标维度参数的优先级参数,对所述初始传输任务进行排序,得到中间排序结果,其中,所述初始传输任务为传输优先级得分相同的传输任务,所述目标维度参数为所述多维参数中权重值最大的维度参数;
[0098] 将所述初始传输任务确定为所述目标任务列表中的传输任务,以及将所述多维参数中除所述目标维度参数以外的维度参数确定为所述目标维度参数,重复执行所述第二排序步骤,直至所述目标任务列表中的传输任务中不包含初始传输任务,并利用所述中间排序结果对所述初始排序结果进行更新,得到所述排序结果。
[0099] 下面对步骤S108进行说明:
[0100] 不同等级或网域之间的云租户创建密钥对,密钥对用于进行数据传输时,数据通讯首部文件加密、解密。
[0101] 源端的中间件使用密钥对中的公钥对数据通讯首部文件进行加密。本中间件采用国密SM2算法,SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,且运算速度快于RSA。
[0102] 在本发明实施例中,步骤S110包括如下步骤:
[0103] 若所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,通过所述源端的中间件将所述加密后的首部文件和所述当前传输任务的数据包发送给所述当前传输任务对应的目标端的中间件;
[0104] 若所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端,通过网闸将所述加密后的首部文件和所述当前传输任务的数据包发送给所述当前传输任务对应的目标端的中间件;
[0105] 所述目标端的中间件在接收到所述加密后的首部文件和所述当前传输任务的数据包之后,利用所述加密后的首部文件对所述当前传输任务的数据包进行处理,得到所述当前传输任务的传输数据,并将所述当前传输任务的传输数据写入给所述当前传输任务对应的目标端对用的数据库。
[0106] 具体的,利用所述加密后的首部文件对所述当前传输任务的数据包进行处理,得到所述当前传输任务的传输数据,包括如下步骤:
[0107] 对所述加密后的首部文件进行解密,得到所述当前传输任务的首部文件;
[0108] 基于所述当前传输任务的首部文件,对所述当前传输任务的数据包完整性校验;
[0109] 若检验通过且所述当前传输任务的数据包中包括多个子压缩包,则所述当前传输任务的数据包进行合并和解压处理,得到所述当前传输任务的传输数据。
[0110] 在本发明实施例中,将源端任务列表对应的数据包和加密后的首部文件根据排序发送至目标端本地磁盘。当源端和目标端在同一网域不同等级时使用中间件的数据传输接口,处于不同网域时通过网闸进行传输。为了便于管理、维护,同网域的待传输目录与跨网域的传输目录为两个不同文件夹。
[0111] 启动传输之前进行目标节点校验,确认目标节点是否可达,若目标端节点正常则启动传输,否则每隔10分钟重新查找一次,若超出最大重试次数仍未找到目标节点,则发出告警。
[0112] 根据任务列表顺序启动传输,若当前传输任务的数据包传输失败,则会自动重试,每次重试时间间隔为5分钟,若重试超过5次仍失败则告警。传输过程为多个线程并行执行,线程数可通过配置进行调整。
[0113] 一个数据传输任务的数据包传输完毕后,将状态更新至共享磁盘中的首部文件,传输完毕后更新源端首部状态码及日志信息。
[0114] 采用轮询机制监听目标端共享磁盘根目录,每5秒轮询一次。当发现有新的数据通讯任务文件夹时,查找加密后的首部文件,接收到加密后的首部文件后,采用与源端加密公钥对应的私钥进行解密,若解密失败,则说明文件传输失败或被篡改,则发出告警,数据传输过程终止。
[0115] 若解密成功,则获取到解密的首部文件后,根据首部中的数据包信息校验数据包是否接收完毕,若数据包不完整,则循环执行此步骤,每5秒执行一次,直至所有数据包获取完毕,若超过30分钟数据包仍未接收完毕,则发出告警信息,终止数据通讯流程,并将任务通讯状态同步回源端;
[0116] 若数据包接收完毕,则验证每个数据包md5码与首部中的信息是否一致;
[0117] 若全部md5码一致,则开始合并所有子压缩包;
[0118] 合并之后对压缩包再次进行校验,若合并后的压缩包md5码仍与首部中存储信息相同,则启动解压过程;
[0119] 解压完毕后,根据首部中的维度信息判断目标端系统接收方,通知目标端接收系统开始接收数据,目标端系统接受数据后写入相应的数据库中。
[0120] 本发明实施例中,在跨网域传输的情形下,与通过各个系统接口进行共享的方法相比,网闸只需在源端和目标端各开设一个输出端口和一个输入端口同本中间件对接,数据分发任务由本中间件承接,使得网闸的管理更规范,同时减轻网闸的运维工作;
[0121] 在同网域跨等级传输的情形下,与通过各个系统接口进行共享的方法相比,数据库结构调研的最大复杂度降低为M+N,每个系统仅需同本中间件进行对接即可;
[0122] 当有新系统建设需求,涉及到数据共享时,无需调研其它相关系统,只需与本中间件进行对接即可,省去重复的工作量;
[0123] 数据传输能够有据可查,全链路可追踪,充分保障了数据的安全可靠性。
[0124] 实施例二:
[0125] 本发明实施例还提供了一种跨等级跨网域的数据传输装置,该跨等级跨网域的数据传输装置用于执行本发明实施例上述内容所提供的跨等级跨网域的数据传输方法,以下是本发明实施例提供的跨等级跨网域的数据传输装置的具体介绍。
[0126] 如图2所示,图2为上述跨等级跨网域的数据传输装置的示意图,该跨等级跨网域的数据传输装置包括:
[0127] 获取单元10,用于获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;
[0128] 构建单元20,用于基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;
[0129] 排序单元30,用于将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;
[0130] 加密单元40,用于基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;
[0131] 传输单元50,用于基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端。
[0132] 在本发明实施例中,通过获取源端发送的待传输数据,并基于所述待传输数据的多维参数,构建目标传输任务的任务编码,其中,所述目标传输任务为传输所述待传输数据的任务,所述多维参数包括:等级维度参数,网络维度参数,系统维度参数,空间维度参数,业务维度参数,数据类型维度参数,数据更新维度参数,角色维度参数和时间维度参数;基于所述待传输数据,构建所述目标传输任务的数据包,并基于所述任务编码、所述目标传输任务的数据包和预设首部文件模板,构建首部文件;将所述目标传输任务添加至任务列表,得到目标任务列表,并基于堆排序算法,对所述目标任务列表中传输任务进行排序,得到排序结果;基于所述排序结果确定出当前传输任务,对所述当前传输任务的首部文件进行加密,得到加密后的首部文件;基于所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系,将所述加密后的首部文件和所述当前传输任务的数据包发送给所述目标端,其中,所述当前传输任务对应的源端和所述当前传输任务对应的目标端之间的对应关系包括:所述当前传输任务对应的源端和所述当前传输任务对应的目标端为同一网域不同等级的两端,所述当前传输任务对应的源端和所述当前传输任务对应的目标端为不同网域的两端,达到了利用中间件进行跨等级跨网域数据传输的目的,进而解决了现有的跨等级跨网域的数据传输方法效率较低的技术问题,从而实现了提高跨等级跨网域的数据传输效率的技术效果。
[0133] 实施例三:
[0134] 本发明实施例还提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储支持处理器执行上述实施例一中所述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。
[0135] 参见图3,本发明实施例还提供一种电子设备100,包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
[0136] 其中,存储器61可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non‑volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
[0137] 总线62可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0138] 其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
[0139] 处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field‑Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
[0140] 实施例四:
[0141] 本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例一中所述方法的步骤。
[0142] 另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0143] 在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0144] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0145] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0146] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0147] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。