CN113472727B - 一种数据同步方法、装置、电子设备及存储介质 - Google Patents
一种数据同步方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113472727B CN113472727B CN202010246629.XA CN202010246629A CN113472727B CN 113472727 B CN113472727 B CN 113472727B CN 202010246629 A CN202010246629 A CN 202010246629A CN 113472727 B CN113472727 B CN 113472727B
- Authority
- CN
- China
- Prior art keywords
- data
- message
- cpu
- synchronization
- data synchronization
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种数据同步方法、装置、电子设备及存储介质,所述数据同步方法包括:内网CPU接收到数据同步消息后,基于所述数据同步消息生成请求数据同步报文,并将所述请求数据同步报文发送至外网CPU;所述内网CPU在接收到外网CPU发送的回应报文后,生成同步数据报文,将所述同步数据报文发送至所述外网CPU,以使所述外网CPU基于所述同步数据报文进行数据同步。采用本发明可以有效提高数据的安全性。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种数据同步方法、装置、电子设备及存储介质。
背景技术
在移动通信***中,通常需要通过内网与外网之间的数据通信,实现内网与外网之间的数据同步,以保证内网和外网的数据保持实时一致。
现阶段,通常通过实现内网管理设备和外网管理设备之间的数据通信实现内网与外网之间的数据同步,即都是内网管理设备运行内网***,外网管理设备运行外网***,内网***和外网***之间没有相关性,分别管理内网或外网。同时,通常都是经由交换机,通过IP(Internet Protocol,网际互连协议)路由查找的方式,实现内网管理设备和外网管理设备之间的数据通信,以进行内网与外网之间的数据同步。
现有技术中,在实现进行内网与外网之间的数据同步时,需要通过网络连接实现,使得报文存在被截获和破译的可能性,从而导致数据的安全性较低。
发明内容
由于存在以上技术问题,本发明实施例提出一种数据同步方法、装置、电子设备及存储介质。
第一方面,本发明实施例提出一种数据同步方法,包括:
内网CPU接收到数据同步消息后,基于所述数据同步消息生成请求数据同步报文,并将所述请求数据同步报文发送至外网CPU;
所述内网CPU在接收到外网CPU发送的回应报文后,生成同步数据报文,将所述同步数据报文发送至所述外网CPU,以使所述外网CPU基于所述同步数据报文进行数据同步。
可选的,还包括:
内网CPU通过套接字socket监听客户端连接,所述客户端的目标进程与所述内网CPU成功建立socket连接后,所述目标进程通过所述socket连接向所述内网CPU发送数据同步消息,所述数据同步消息中包括待同步数据。
可选的,所述基于所述数据同步消息生成请求数据同步报文,包括:
基于所述数据同步消息确定待同步数据的数据长度,并基于所述待同步数据的数据长度生成请求数据同步报文;
所述内网CPU在接收到外网CPU发送的回应报文之前,还包括:
所述外网CPU基于所述请求数据同步报文获取待同步数据的数据长度,并基于所述待同步数据的数据长度确定目标内存空间;其中,所述目标内存空间是用于存储所述待同步数据的内存空间;
所述外网CPU生成所述请求数据同步报文对应的回应报文,并通过所述外网CPU的外右接口将所述回应报文发送至所述内网CPU。
可选的,所述将所述请求数据同步报文发送至外网CPU,包括:
所述内网CPU通过内左接口将所述请求数据同步报文发送至所述外网CPU的外左接口,以使所述外网CPU通过所述外左接口接收所述请求数据同步报文。
可选的,所述生成同步数据报文,包括:
所述内网CPU获取所述数据同步消息中的待同步数据,按照预设分割单位对所述待同步数据进行分割,生成所述待同步数据对应的多个子数据包;
按照分割的先后顺序为每个子数据包分配序号,其中,序号的分配是按照序号从小到大的顺序进行分配的;
基于所述待同步数据的每个子数据包,及每个子数据包对应的序号,生成同步数据报文。
可选的,所述外网CPU基于所述同步数据报文进行数据同步,包括:
所述外网CPU获取所述同步数据报文中的每个子数据包,及每个子数据包对应的序号,按照所述每个子数据包对应的序号将所述每个子数据包存储于所述目标内存空间。
可选的,所述将所述同步数据报文发送至所述外网CPU之后,还包括:
所述内网CPU生成同步结束消息,将所述同步结束消息发送至所述外网CPU,并删除所述待同步数据;
所述外网CPU基于所述同步数据报文进行数据同步,包括:
所述外网CPU接收到所述同步结束消息后,将所述待同步数据写入临时文件,并与所述目标进程建立socket连接,以使所述目标进程通过所述socket连接从所述临时文件中读取所述待同步数据。
第二方面,本发明实施例还提出一种数据同步装置,包括内网CPU和外网CPU,其中:
所述内网CPU,用于接收到数据同步消息后,基于所述数据同步消息生成请求数据同步报文,并将所述请求数据同步报文发送至外网CPU;以及用于在接收到外网CPU发送的回应报文后,生成同步数据报文,将所述同步数据报文发送至所述外网CPU,以使所述外网CPU基于所述同步数据报文进行数据同步;
所述外网CPU,用于接收述请求数据同步报文;接收同步数据报文;以及用于基于所述同步数据报文进行数据同步。
第三方面,本发明实施例还提出一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。
第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。
由上述技术方案可知,本发明实施例通过内网CPU生成同步数据报文发送至所述外网CPU,以使所述外网CPU基于所述同步数据报文进行数据同步。这样,由于内网CPU和外网CPU位于同一台网络设备上,内网CPU进行内网的相关处理,外网CPU进行外网的相关处理。相对于通过网络连接进行数据同步而言,本发明实施例不需要通过网络,基于两个基础硬件CPU即可实现内网和外网的数据通讯,实现内网和外网间的数据同步,使得在数据同步的过程中数据报文不会被发出防火墙,不会被发送到网络中,从而可以有效降低报文被截获和破译的可能性,进而可以有效提高数据的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种数据同步方法的流程示意图;
图2为本发明一实施例提供的一种数据流向示意图;
图3为本发明一实施例提供的一种数据同步装置的结构示意图;
图4为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明实施例提供的数据同步方法的执行主体可以是一台网络设备,该网络设备是基于申威加密机防火墙的,申威加密机防火墙中部署有两个CPU(central processingunit,中央处理器)。其中,一个CPU独立运行内网***,进行内网的相关处理,即内网CPU;另一个CPU独立运行外网***,进行外网的相关处理,即网网CPU。可以理解的是,本发明实施例提供的方法实施例可以是前述网络设备通过内网CPU的DP(Data plane,数据平面)和外网CPU的DP执行的。
图1示出了本实施例提供的一种数据同步方法的流程示意图,包括:
S101,内网CPU接收到数据同步消息后,基于数据同步消息生成请求数据同步报文,并将请求数据同步报文发送至外网CPU。
其中,所述内网CPU指用于运行内网***,进行内网的相关处理的CPU。
所述外网CPU指用于运行外网***,进行外网的相关处理的CPU。
所述数据同步消息指用于指示内网CPU开始进行数据同步的消息,所述数据同步消息中包括待同步数据。
所述请求数据同步报文指通过内网CPU生成的用于请求外网CPU开始配置数据同步的报文。
在实施中,可以在通过内网CPU生成请求同步报文发送至外网CPU,并可以在收到外网CPU的回应报文后,将同步数据报文发送至外网CPU,再通过外网CPU进行数据同步。具体的,首先,可以通过内网CPU对应的DP(可称为内网DP)接收数据同步消息。然后,可以通过内网CPU的内网DP基于前述数据同步消息生成请求数据同步报文,如可以通过内网CPU的内网DP组装以太网头协议为0x9999,后面内容为0x1111的报文(即请求配置数据同步),同时将配置同步的数据长度(即带同步数据的数据长度)放到后面,生成请求数据同步报文。之后,通过内网CPU的内网DP将前述请求数据同步报文发送至外网CPU。
S102,内网CPU在接收到外网CPU发送的回应报文后,生成同步数据报文,将同步数据报文发送至外网CPU,以使外网CPU基于同步数据报文进行数据同步。
其中,所述同步数据报文指通过内网CPU生成的包含有待同步数据的报文。
在实施中,通过内网CPU向外网CPU发送请求数据同步报文后,通过内网CPU检测在预设响应时长(如5秒)内,是否有接收到外网CPU发送的针对请求数据同步报文的回应报文(如可以是以太网头协议为0x9999,后面内容为0x2222的报文)。若通过内网CPU在预设响应时长内接收到回应报文,则可以生成同步数据报文。然后,可以通过内网CPU的内网DP将前述同步数据报文发送至外网CPU,以使外网CPU可以基于前述同步数据报文进行数据同步。可以理解的是,若通过内网CPU未在预设响应时长内接收到回应报文,则可以通过内网CPU的内网DP重新向外网CPU发送前述同步数据报文。
由上述技术方案可知,本发明实施例通过内网CPU生成同步数据报文发送至所述外网CPU,以使所述外网CPU基于所述同步数据报文进行数据同步。这样,由于内网CPU和外网CPU位于同一台网络设备上,内网CPU进行内网的相关处理,外网CPU进行外网的相关处理。相对于通过网络连接进行数据同步而言,本发明实施例不需要通过网络,基于两个基础硬件CPU即可实现内网和外网的数据通讯,实现内网和外网间的数据同步,使得在数据同步的过程中数据报文不会被发出防火墙,不会被发送到网络中,从而可以有效降低报文被截获和破译的可能性,进而可以有效提高数据的安全性。
进一步地,在上述方法实施例的基础上,数据同步消息可以是目标进程向内网CPU发送的,相应的处理可以如下:内网CPU通过套接字socket监听客户端连接,客户端的目标进程与内网CPU成功建立socket连接后,目标进程通过socket连接向内网CPU发送数据同步消息。
其中,所述数据同步消息中包括待同步数据。
所述目标进程指客户端上任一需要进行数据同步的第三方进程。
在实施中,可以socket(套接字)连接接收数据同步消息。具体的,可以通过内网CPU的内网DP启动socket监听客户端连接。当有目标进程需要进行数据同步时,可以向内网CPU请求建立socket连接。当目标进程与内网CPU成功建立socket连接后,目标进程可以生成数据同步消息,如目标进程可以调用配置同步写函数(如ssp_sync_write),将需要同步的数据(即待同步数据)写入临时文件中(如:/tmp/sync_data),临时文件的大小可以规定为最大3M,同步写函数(ssp_sync_write)在写待同步数据处理前可以进行加锁,写待同步数据后可以进行解锁,生成数据同步消息。然后,目标进程可以通过前述socket连接向内网CPU发送数据同步消息,以使通过内网CPU的内网DP可以接收前述数据同步消息。
进一步地,在上述方法实施例的基础上,请求数据同步报文中可以携带有待同步数据的数据长度,相应的上述步骤S101的部分处理可以如下:基于数据同步消息确定待同步数据的数据长度,并基于待同步数据的数据长度生成请求数据同步报文;相应的,在上述步骤S102之前,还包括如下处理:外网CPU基于请求数据同步报文获取待同步数据的数据长度,并基于待同步数据的数据长度确定目标内存空间;外网CPU生成请求数据同步报文对应的回应报文,并通过外网CPU的外右接口将回应报文发送至所述内网CPU。
其中,所述目标内存空间是用于存储待同步数据的内存空间。
所述外右接口指外网CPU上用于向内网CPU发送数据报文的接口。
在实施中,可以通过内网CPU读取数据同步消息中的待同步数据(即上述临时文件中的待同步数据),并可以确定前述待同步数据的数据长度。然后,可以通过内网CPU基于前述待同步数据的数据长度生成请求数据同步报文,即该请求数据同步报文中携带有待同步数据的数据长度。相应的,通过内网CPU向外网CPU发送请求数据同步报文之后,若通过外网CPU接收到前述请求数据同步报文,则可以通过外网CPU从请求数据同步报文中获取待同步数据的数据长度,并可以通过外网CPU基于前述待同步数据的数据长度确定目标内存空间。然后,可以通过外网CPU生成与前述请求数据同步报文对应的回应报文,并可以通过外网CPU的外右接口将回应报文发送至内网CPU。
进一步地,在上述方法实施例的基础上,可以通过的内左接口向外网CPU的外左接口发送报文,相应的上述步骤S101的部分处理可以如下:内网CPU通过内左接口将请求数据同步报文发送至外网CPU的外左接口,以使外网CPU通过外左接口接收所述请求数据同步报文。
其中,所述内左接口指内网CPU向外网CPU发送数据报文的接口。
所述外左接口指外网CPU上用于接收内网CPU发送的数据报文的接口。
进一步地,在上述方法实施例的基础上,可以将待同步数据分割成多个子数据包,再基于前述所有子数据包生成同步数据报文,相应的上述步骤S101的部分处理可以如下:内网CPU获取数据同步消息中的待同步数据,按照预设分割单位对待同步数据进行分割,生成待同步数据对应的多个子数据包;按照分割的先后顺序为每个子数据包分配序号;基于待同步数据的每个子数据包,及每个子数据包对应的序号,生成同步数据报文。
其中,序号的分配是按照序号从小到大的顺序进行分配的。
所述预设分割单位指对待同步数据进行分割的单位,可以理解为分割粒度,如可以是1K。
在实施中,可以通过内网CPU获取数据同步消息中的待同步数据,然后,可以按照预设分割单位对前述待同步数据进行分割,得到前述待同步数据对应的多个子数据包,如对于一个1M的待同步数据可以按照1K的预设分割单位分割为1024个子数据包。之后,可以按照各个子数据包的分割顺序为每个子数据包分配序号,且分配序号时按照序号从小到大的顺序进行分配,如对于先后分割得到第一个子数据包和第二个子数据包,可以分别为第一个子数据包分配序号为1,为第二个子数据包分配序号为2。然后,可以基于前述待同步数据的每个子数据包,及前述每个子数据包对应的序号,生成同步数据报文。如可以将数据同步消息中的临时文件(如:/tmp/sync_data)的内容即待同步数据读取出来,通过循环申请pkb(packet buffers,数据包缓存),组装以太网头协议为0x9999,后面内容为0x3333,将待同步数据分割成多个1K的子数据包,并为每个子数据包分配序号,从1到最大3072(最大3M),封装报文,生成同步数据报文。可以理解,可以将每个子数据包及其对应的序号均封装为一个同步数据报文,并按照序号从小到大的顺序发出,或者也可以将每个子数据包及其对应的序号均封装一个子同步数据报文,再将所有子同步数据报文封装为一个同步数据报文发出。
进一步地,在上述方法实施例的基础上,可以将上述每个子数据包存储在目标内存空间,相应的上述步骤S102的处理可以如下:外网CPU获取同步数据报文中的每个子数据包,及每个子数据包对应的序号,按照每个子数据包对应的序号将每个子数据包存储于目标内存空间。
在实施中,通过外网CPU接收到同步数据报文(如上述以太网头协议为0x9999,后面内容0x3333的报文)后,可以通过外网CPU获取同步数据报文中的每个子数据包,及每个子数据包对应的序号。然后,可以通过外网CPU按照每个子数据包对应的序号将每个子数据包存储于目标内存空间,如可以根据买个子数据包的序号,按照预设分割单位(如1K)的偏移量,将每个子数据包依次保存到目标内存空间中,这样按照序号保存子数据包,可以实现报文保序,保证同步的数据内容不发生变化。
进一步地,在上述方法实施例的基础上,通过内网CPU将同步数据报文发送至外网CPU之后,还可以进行如下处理:内网CPU生成同步结束消息,将同步结束消息发送至外网CPU,并删除待同步数据。相应的,上述步骤S102的部分处理可以如下:外网CPU接收到同步结束消息后,将待同步数据写入临时文件,并与目标进程建立socket连接,以使目标进程通过socket连接从临时文件中读取待同步数据。
在实施中,通过内网CPU向外网CPU发送数据同步报文之后,还可以生成同步结束消息,如组装以太网头协议为0x9999,后面内容0x4444的报文为同步结束消息。然后,可以通过内网CPU将同步结束消息发送至所述外网CPU,并可以删除前述获取的待同步数据。
相应的,外网CPU接收到所述同步结束消息(如前述以太网头协议为0x9999,后面内容0x4444的报文)后,可以将待同步数据写入临时文件,并与目标进程建立socket连接,以使目标进程可以通过该socket连接从临时文件中读取待同步数据,如可以调用配置同步读函数(入ssp_sync_read),将待同步数据从临时文件中(如:/tmp/sync_data)读取出来。可以理解的是,在目标进程从临时文件中读取待同步数据之后,可以通过外网CPU将临时文件中的待同步数据删除。
为使本发明实施例提供的方法更清楚,现以图2(图2中DDR表示双倍速率同步动态随机存储器Double Data Rate;IP-MAC(Media Access Control Address,MAC地址)表示IP地址和MAC地址绑定;FPGA为现场可编程逻辑门阵列Field Programmable Gate Array)所示的数据流向示意图对本发明实施例提供的方法进行完整说明。具体的,内网CPU侧(即图2中内网侧)的处理过程可以为:
步骤1、内网DP(即内网数据平面)启动socket监听客户端连接;步骤2、目标进程请求socket连接;步骤3、目标进程的socket请求连接成功后,调用配置同步写函数(如ssp_sync_write),将待同步数据写入临时文件中(如:/tmp/sync_data),文件大小规定最大3M,同步写函数(ssp_sync_write)写文件处理前加锁,写数据后解锁。调用同步写函数成功后,通过socket连接发数据同步消息给内网DP,以通知内网DP可以开始进行数据的同步。步骤4、内网DP收到数据同步消息后。可以组装以太网头协议为0x9999,后面内容0x1111的报文(请求配置数据同步),同时将配置同步的数据长度放到后面生成请求数据同步报文,并通过内左接口发送出去。并检测在预设响应时长(如5秒)内是否收到回应报文(如以太网头协议为0x9999,后面内容为0x2222的报文),若没有收到回应报文,则重新发送请求数据同步报文。步骤5、根据图2,内网CPU中FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)会自动将内右接口接收的报文从内左接口发出去,并等待外网CPU的回应。步骤6、内网CPU接收到外网CPU的回应报文(如以太网头协议为0x9999,后面内容为0x2222)后,将请求数据同步报文所保存的临时文件(如:/tmp/sync_data)中的待同步数据读取出来,通过循环申请pkb,组装以太网头协议为0x9999,后面内容0x3333的报文,将待同步数据按照预设分割单位(如1K)分割成多个子数据包每个子数据包存储1K,并在每个子数据包前面加上对应的序号,如从1到最大3072(最大3M),封装报文生成同步数据报文,通过并通过内左接口将同步数据报文发送出去,直到发送结束。步骤7、同步数据报文送结束后,再发送一个配置同步结束的消息,即同步结束消息,如组装以太网头协议为0x9999,后面内容0x4444的消息。通过内左接口发送出去;同时将临时文件(如:/tmp/sync_data)清除。需要说明的是,在发送同步数据报文过程中,不允许再写配置文件。
外网CPU侧(即图2中外网侧)的处理过程可以为:
步骤1、目标进程启动socket监听客户端连接。步骤2、外网DP(即外网数据平面)收到请求数据同步报文,即上述以太网头协议为0x9999,后面内容0x1111的报文后,将报文中0x1111后面的待同步数据的数据长度读取出来,根据长度申请一块内存,即目标内存空间。然后通过外右接口发送回应报文(如以太网头协议为0x9999,后面内容为0x2222)。步骤3、外网CPU的FPGA会自动将外左接口接收的报文从外右接口发出去,之后等待内网CPU的回应。步骤4、外网DP接收到同步数据报文,如上述以太网头协议为0x9999,后面内容0x3333的报文,根据其中的序号,按照预设分割单位(如1K)的偏移量,将待同步数据保存到步骤2申请的目标内存空间中(按照序号保存,可以实现报文保序,保证同步的内容不发生变化)。步骤5、外网DP接收到同步结束消息,如上述以太网头协议为0x9999,后面内容0x4444的报文时,结束保存数据到目标内存空间中,同时将目标内存空间的内容写入临时文件(如:/tmp/sync_data)。步骤6、外网DP向目标进程请求socket连接。步骤7、外网DP的socket请求连接成功后,通过该socket连接发消息给目标进程,通知目标进程可以开始进行数据同步。步骤8、目标进程收到可以开始进行数据同步的消息后,调用配置同步读函数(如ssp_sync_read),将待同步数据从临时文件中(如:/tmp/sync_data)读取出来。步骤9、读取待同步数据结束后,将前述临时文件中(如:/tmp/sync_data)的待同步数据清除。需要说明的是,读取临时文件的过程中,不允许再写文件。
图3示出了本实施例提供的一种数据同步装置,包括内网CPU 301和外网CPU 302,其中:
所述内网CPU 301,用于接收到数据同步消息后,基于所述数据同步消息生成请求数据同步报文,并将所述请求数据同步报文发送至外网CPU;以及用于在接收到外网CPU发送的回应报文后,生成同步数据报文,将所述同步数据报文发送至所述外网CPU,以使所述外网CPU基于所述同步数据报文进行数据同步;
所述外网CPU 302,用于接收述请求数据同步报文;接收同步数据报文;以及用于基于所述同步数据报文进行数据同步。
进一步地,所述内网CPU 301,用于:
通过套接字socket监听客户端连接,所述客户端的目标进程与所述内网CPU成功建立socket连接后,所述目标进程通过所述socket连接向所述内网CPU发送数据同步消息,所述数据同步消息中包括待同步数据。
进一步地,所述内网CPU 301,用于:
基于所述数据同步消息确定待同步数据的数据长度,并基于所述待同步数据的数据长度生成请求数据同步报文;
所述外网CPU 302,用于:
基于所述请求数据同步报文获取待同步数据的数据长度,并基于所述待同步数据的数据长度确定目标内存空间;其中,所述目标内存空间是用于存储所述待同步数据的内存空间;
生成所述请求数据同步报文对应的回应报文,并通过所述外网CPU的外右接口将所述回应报文发送至所述内网CPU。
进一步地,所述内网CPU 301,用于:
通过内左接口将所述请求数据同步报文发送至所述外网CPU的外左接口,以使所述外网CPU通过所述外左接口接收所述请求数据同步报文。
进一步地,所述内网CPU 301,用于:
获取所述数据同步消息中的待同步数据,按照预设分割单位对所述待同步数据进行分割,生成所述待同步数据对应的多个子数据包;
按照分割的先后顺序为每个子数据包分配序号,其中,序号的分配是按照序号从小到大的顺序进行分配的;
基于所述待同步数据的每个子数据包,及每个子数据包对应的序号,生成同步数据报文。
进一步地,所述外网CPU 302,用于:
获取所述同步数据报文中的每个子数据包,及每个子数据包对应的序号,按照所述每个子数据包对应的序号将所述每个子数据包存储于所述目标内存空间。
进一步地,所述内网CPU 301,用于:
生成同步结束消息,将所述同步结束消息发送至所述外网CPU,并删除所述待同步数据;
所述外网CPU 302,用于:
接收到所述同步结束消息后,将所述待同步数据写入临时文件,并与所述目标进程建立socket连接,以使所述目标进程通过所述socket连接从所述临时文件中读取所述待同步数据。
本实施例所述的数据同步装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
参照图4,所述电子设备,包括:处理器(processor)401、存储器(memory)402和总线403;
其中,
所述处理器401和存储器402通过所述总线403完成相互间的通信;
所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种数据同步方法,其特征在于,包括:
内网CPU接收到数据同步消息后,基于所述数据同步消息生成请求数据同步报文,并将所述请求数据同步报文发送至外网CPU;
基于所述数据同步消息确定待同步数据的数据长度,并基于所述待同步数据的数据长度生成请求数据同步报文;
所述外网CPU基于所述请求数据同步报文获取待同步数据的数据长度,并基于所述待同步数据的数据长度确定目标内存空间;其中,所述目标内存空间是用于存储所述待同步数据的内存空间;
所述外网CPU生成所述请求数据同步报文对应的回应报文,并通过所述外网CPU的外右接口将所述回应报文发送至所述内网CPU;
所述内网CPU在接收到外网CPU发送的回应报文后,生成同步数据报文,将所述同步数据报文发送至所述外网CPU,以使所述外网CPU基于所述同步数据报文进行数据同步。
2.根据权利要求1所述的数据同步方法,其特征在于,还包括:
内网CPU通过套接字socket监听客户端连接,所述客户端的目标进程与所述内网CPU成功建立socket连接后,所述目标进程通过所述socket连接向所述内网CPU发送数据同步消息,所述数据同步消息中包括待同步数据。
3.根据权利要求1所述的数据同步方法,其特征在于,所述将所述请求数据同步报文发送至外网CPU,包括:
所述内网CPU通过内左接口将所述请求数据同步报文发送至所述外网CPU的外左接口,以使所述外网CPU通过所述外左接口接收所述请求数据同步报文。
4.根据权利要求1所述的数据同步方法,其特征在于,所述生成同步数据报文,包括:
所述内网CPU获取所述数据同步消息中的待同步数据,按照预设分割单位对所述待同步数据进行分割,生成所述待同步数据对应的多个子数据包;
按照分割的先后顺序为每个子数据包分配序号,其中,序号的分配是按照序号从小到大的顺序进行分配的;
基于所述待同步数据的每个子数据包,及每个子数据包对应的序号,生成同步数据报文。
5.根据权利要求4所述的数据同步方法,其特征在于,所述外网CPU基于所述同步数据报文进行数据同步,包括:
所述外网CPU获取所述同步数据报文中的每个子数据包,及每个子数据包对应的序号,按照所述每个子数据包对应的序号将所述每个子数据包存储于所述目标内存空间。
6.根据权利要求2所述的数据同步方法,其特征在于,所述将所述同步数据报文发送至所述外网CPU之后,还包括:
所述内网CPU生成同步结束消息,将所述同步结束消息发送至所述外网CPU,并删除所述待同步数据;
所述外网CPU基于所述同步数据报文进行数据同步,包括:
所述外网CPU接收到所述同步结束消息后,将所述待同步数据写入临时文件,并与所述目标进程建立socket连接,以使所述目标进程通过所述socket连接从所述临时文件中读取所述待同步数据。
7.一种数据同步装置,其特征在于,包括内网CPU和外网CPU,其中:
所述内网CPU,用于接收到数据同步消息后,基于所述数据同步消息生成请求数据同步报文,并将所述请求数据同步报文发送至外网CPU;以及用于在接收到外网CPU发送的回应报文后,生成同步数据报文,将所述同步数据报文发送至所述外网CPU,以使所述外网CPU基于所述同步数据报文进行数据同步;以及基于所述数据同步消息确定待同步数据的数据长度,并基于所述待同步数据的数据长度生成请求数据同步报文;
所述外网CPU,用于接收述请求数据同步报文;接收同步数据报文;以及用于基于所述同步数据报文进行数据同步;以及基于所述请求数据同步报文获取待同步数据的数据长度,并基于所述待同步数据的数据长度确定目标内存空间;其中,所述目标内存空间是用于存储所述待同步数据的内存空间;生成所述请求数据同步报文对应的回应报文,并通过所述外网CPU的外右接口将所述回应报文发送至所述内网CPU。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一所述的数据同步方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010246629.XA CN113472727B (zh) | 2020-03-31 | 2020-03-31 | 一种数据同步方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010246629.XA CN113472727B (zh) | 2020-03-31 | 2020-03-31 | 一种数据同步方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472727A CN113472727A (zh) | 2021-10-01 |
CN113472727B true CN113472727B (zh) | 2023-02-17 |
Family
ID=77865694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010246629.XA Active CN113472727B (zh) | 2020-03-31 | 2020-03-31 | 一种数据同步方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472727B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014114232A1 (zh) * | 2013-01-22 | 2014-07-31 | 横河电机株式会社 | 隔离保护***及其执行双向数据包过滤检查的方法 |
CN105208352A (zh) * | 2015-10-16 | 2015-12-30 | 杭州中威电子股份有限公司 | 一种网络视频安全监控***及物理隔离方法 |
CN106203188A (zh) * | 2016-06-24 | 2016-12-07 | 天津光电聚能专用通信设备有限公司 | 一种基于双cpu加mac的单向数据传输***及其方法 |
CN108173810A (zh) * | 2017-12-07 | 2018-06-15 | 新华三信息安全技术有限公司 | 一种传输网络数据的方法及装置 |
CN108306847A (zh) * | 2017-01-13 | 2018-07-20 | 北京国双科技有限公司 | 通信***及方法 |
CN109218229A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种报文处理方法、网络设备及存储介质 |
CN110266713A (zh) * | 2019-06-28 | 2019-09-20 | 深圳市网心科技有限公司 | 内外网通信方法、装置、***及代理服务器和存储介质 |
-
2020
- 2020-03-31 CN CN202010246629.XA patent/CN113472727B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014114232A1 (zh) * | 2013-01-22 | 2014-07-31 | 横河电机株式会社 | 隔离保护***及其执行双向数据包过滤检查的方法 |
CN105208352A (zh) * | 2015-10-16 | 2015-12-30 | 杭州中威电子股份有限公司 | 一种网络视频安全监控***及物理隔离方法 |
CN106203188A (zh) * | 2016-06-24 | 2016-12-07 | 天津光电聚能专用通信设备有限公司 | 一种基于双cpu加mac的单向数据传输***及其方法 |
CN108306847A (zh) * | 2017-01-13 | 2018-07-20 | 北京国双科技有限公司 | 通信***及方法 |
CN109218229A (zh) * | 2017-06-30 | 2019-01-15 | 华为技术有限公司 | 一种报文处理方法、网络设备及存储介质 |
CN108173810A (zh) * | 2017-12-07 | 2018-06-15 | 新华三信息安全技术有限公司 | 一种传输网络数据的方法及装置 |
CN110266713A (zh) * | 2019-06-28 | 2019-09-20 | 深圳市网心科技有限公司 | 内外网通信方法、装置、***及代理服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113472727A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10069946B2 (en) | Hardware-based packet editor | |
CN108270732B (zh) | 一种流媒体处理方法及*** | |
CN104519036B (zh) | 一种发送业务请求消息的方法及装置 | |
CN102325202B (zh) | 一种用户地址表管理方法和设备 | |
EP3493587B1 (en) | Apparatus and method for data delivery in delay-tolerant network (dtn) | |
CN112751897B (zh) | 负载均衡方法、装置、介质及设备 | |
CN111786867B (zh) | 一种数据传输方法及服务器 | |
CN107995233B (zh) | 建立连接的方法及相应的设备 | |
US20160360013A1 (en) | System and Method for Implementing Traffic Optimization for Overlay Networks | |
CN107294830A (zh) | 一种数据传输方法及*** | |
CN102427452B (zh) | 同步报文发送方法、装置和网络设备 | |
US20190036793A1 (en) | Network service implementation method, service controller, and communications system | |
CN113472727B (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
JP6690959B2 (ja) | Tcpハンドシェークをリフォームするデバイス及び方法 | |
CN115190167B (zh) | 一种基于共享内存通信的代理***及方法 | |
CN114124891B (zh) | 网络请求的处理方法和装置、存储介质及电子装置 | |
CN115412974A (zh) | 分流通信方法、装置、设备及可读存储介质 | |
CN114363204A (zh) | 请求监控方法、网络设备及存储介质 | |
CN111107166B (zh) | 会话同步方法、装置、电子设备和介质 | |
CN111064673B (zh) | 一种用户面数据完整性保护方法、装置、电子设备及介质 | |
CN109688085B (zh) | 传输控制协议代理方法、存储介质及服务器 | |
CN113518032A (zh) | 基于SRv6的用户可信标识携带方法及*** | |
CN118042088B (zh) | 基于tcp消息代理的通用摄像头监控方法、设备及介质 | |
CN114785756B (zh) | 一种信息发送方法、装置及设备 | |
CN110858885A (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 |