CN106612308B - 数据传输方法及装置 - Google Patents

数据传输方法及装置 Download PDF

Info

Publication number
CN106612308B
CN106612308B CN201510696508.4A CN201510696508A CN106612308B CN 106612308 B CN106612308 B CN 106612308B CN 201510696508 A CN201510696508 A CN 201510696508A CN 106612308 B CN106612308 B CN 106612308B
Authority
CN
China
Prior art keywords
data
timestamp
value
full
fragment
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
Application number
CN201510696508.4A
Other languages
English (en)
Other versions
CN106612308A (zh
Inventor
程峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510696508.4A priority Critical patent/CN106612308B/zh
Priority to EP16856846.7A priority patent/EP3367634B1/en
Priority to JP2018520613A priority patent/JP2018536226A/ja
Priority to PCT/CN2016/101981 priority patent/WO2017067415A1/zh
Publication of CN106612308A publication Critical patent/CN106612308A/zh
Priority to US15/959,047 priority patent/US10735295B2/en
Priority to US16/911,129 priority patent/US11201810B2/en
Application granted granted Critical
Publication of CN106612308B publication Critical patent/CN106612308B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据传输方法及装置。其中,该方法包括:第一设备定时接收来自第二设备的请求消息,其中,该请求消息中携带有与本次接收的请求消息对应的时间戳;第一设备判断时间戳的取值是否小于预设阈值;在时间戳的取值小于预设阈值时,第一设备按照时间戳与第一设备在本地缓存的分片数据的对应关系,将与时间戳对应的分片数据同步至第二设备,其中,分片数据为对第一设备记录的全量数据进行分片得到。本发明解决了系统之间进行全量更新数据时频繁失败的技术问题。

Description

数据传输方法及装置
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种数据传输方法及装置。
背景技术
随着网络技术的发展,有些不法分子可能借助于网络平台,发布一些危害社会的信息内容,比如涉黄、涉赌、涉暴以及涉恐内容等,这将给社会带来不利的影响,因而,可能需要对网络内容进行监控,当发现这些不利信息时,可以对其进行屏蔽,以尽量减少该不利信息的传播。
在相关技术中,网络内容监控系统,一般包括两个系统(可以表现为两个设备),比如,系统A和系统B,系统B需要同步系统A中的数据,在相关技术中,每次同步需要同步所有的数据信息,这样可能会导致数据库读超时,或者而当系统A与系统B处于不同网络环境时、系统A提供的全量数据过大、系统B内存使用过多时,会造成系统B从系统A全量更新数据频繁失败。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据传输方法及装置,以至少解决系统之间进行全量更新数据时频繁失败的技术问题。
根据本发明实施例的一个方面,提供了一种数据传输方法,包括:第一设备定时接收来自第二设备的请求消息,其中,该请求消息中携带有与本次接收的请求消息对应的时间戳;第一设备判断时间戳的取值是否小于预设阈值;在时间戳的取值小于预设阈值时,第一设备按照时间戳与第一设备在本地缓存的分片数据的对应关系,将与时间戳对应的分片数据同步至第二设备,其中,分片数据为对第一设备记录的全量数据进行分片得到。
根据本发明实施例的另一方面,还提供了一种数据传输方法,包括:第二设备向第一设备发送请求消息,其中,该请求消息中携带有与请求消息对应的时间戳;在时间戳的取值小于预设阈值的情况下,第二设备接收第一设备发送的分片数据;其中,分片数据是与时间戳对应的在第一设备本地缓存的分片数据,上述分片数据为对第一设备记录的全量数据进行分片得到。
根据本发明实施例的另一方面,还提供了一种数据传输装置,应用于第一设备,包括:接收模块,用于定时接收来自第二设备的请求消息,其中,该请求消息中携带有与本次接收的请求消息对应的时间戳;第一判断模块,用于判断时间戳的取值是否小于预设阈值;第一同步模块,用于在时间戳的取值小于预设阈值时,按照时间戳与第一设备在本地缓存的分片数据的对应关系,将与时间戳对应的分片数据同步至第二设备,其中,分片数据为对第一设备记录的全量数据进行分片得到。
根据本发明实施例的另一方面,还提供了一种数据传输装置,应用于第二设备,包括:发送模块,用于向第一设备发送请求消息,其中,该请求消息中携带有与请求消息对应的时间戳;第一接收模块,用于在时间戳的取值小于预设阈值的情况下,接收第一设备发送的分片数据;其中,分片数据是与时间戳对应的在第一设备本地缓存的分片数据,上述分片数据为第一设备记录的全量数据进行分片得到。
在本发明实施例中,采用第一设备将时间戳对应的第一设备在本地缓存的分片数据同步到第二设备,其中,所述分片数据为对所述第一设备记录的全量数据进行分片得到的方式,即通过将全量数据进行缓存分片的方式,然后根据接收的请求消息中的时间戳,将该时间戳对应的缓存中的分片数据依次同步到第二设备的方式,降低了数据读取的压力,进而解决了系统之间进行全量更新数据时频繁失败的技术问题,提高了数据传输的效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种数据传输方法的计算机终端的硬件结构框图;
图2是根据本发明实施例1的数据传输方法的流程图一;
图3是根据本发明实施例1的数据传输方法的流程图二;
图4是根据本发明可选实施例的第一设备分片缓存全量数据的流程示意图;
图5是根据本发明可选实施例的数据传输方法的流程示意图;
图6是根据本发明实施例2的数据传输方法的流程图一;
图7是根据本发明实施例2的数据传输方法的流程图二;
图8是根据本发明实施例3的数据传输装置的结构框图一;
图9是根据本发明实施例3的数据传输装置的结构框图二;
图10是根据本发明实施例3的数据传输装置的结构框图三;
图11是根据本发明实施例3的数据传输装置的结构框图四;
图12是根据本发明实施例4的数据传输装置的结构框图一;
图13是根据本发明实施例4的数据传输装置的结构框图二;
图14是根据本发明实施例4的数据传输装置的结构框图三;
图15是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在相关技术中,在网络内容监控和屏蔽领域中,设备之间数据传输的主要步骤如下:
1.当第二设备启动时,第一次从第一设备读取统一资源定位符ur l/域名阻断记录;
2.该次读取统一资源定位符ur l/域名阻断记录是全量更新的方式,第二设备发送的请求会带时间戳参数,值为0;
3.第一设备收到时间戳参数值为0的请求后,会将当前数据库中所有ur l/域名阻断记录读出,并加上当前时间值(精确到分钟),一并返回给第二设备;
4.第二设备收到全量ur l/域名阻断记录后,清空系统内的所有阻断记录,改为使用收到的全量ur l/域名阻断记录;
5.1分钟后,第二设备判断当前时间是否整点或半点。如果是,则执行2;如果不是,则发送请求给第一设备,带时间戳参数是3中第一设备返回的时间值;
6.第一设备收到时间戳参数值不为0的请求后,会将数据库中从时间戳指定时间到当前时间的变化数据读出,并加上当前时间值(精确到分钟),一并返回给第二设备;
7.第二设备收到增量ur l/域名阻断记录后,对系统内的所有阻断记录做更新;然后执行5。
当上述第一设备的ur l/域名阻断数据到达千万级别时,会出现如下问题:第一设备实时从数据库全量读取ur l/域名阻断数据时,会造成读数据库超时;当第一设备与第二设备处于不同网络环境,网络链路不稳定;千万级别的全量ur l/域名阻断记录会延长数据传输时间,经常造成全量数据传输失败;第二设备服务器内存有限,当自身内存使用较多时,全量ur l/域名阻断记录的换入换出,经常造成内存报警。
为了方便理解本发明,以下对本发明实施例中所涉及的术语进行简单解释:
增量同步方式:系统A维护一批实时变化的数据,系统B需要使用系统A维护的这批数据;当系统B访问系统A读取数据时,系统A只将系统B上次访问与这次访问之间的数据变化量发送给系统B,这种数据同步方式叫做增量同步方式。
全量同步方式:系统A维护一批实时变化的数据,系统B需要使用系统A维护的这批数据;当系统B访问系统A读取数据时,系统A将当前所有数据发送给系统B,这种数据同步方式叫做全量同步方式。
本发明实施例对第一设备与第二设备的阻断记录的全量更新过程做了优化,使用增量同步方式来模拟全量同步方式,以避免出现以上问题。以下结合具体实施例详细说明。
实施例1
根据本发明实施例,还提供了一种数据传输的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种数据传输方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的数据传输方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的数据传输方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的数据传输方法。图2是根据本发明实施例1的数据传输方法的流程图一,如图2所示,该方法包括:
步骤S202,第一设备定时接收来自第二设备的请求消息,其中,该请求消息中携带有与本次接收的请求消息对应的时间戳;
可选地,第一设备可以为上述运行环境中的计算机终端10,通过上述计算机终端10来完成第一设备的功能进而实现本实施例中的数据传输方法。
需要说明的是,定时接收来自第二设备的请求消息中的定时可以是按照实际情况进行设定,两次接收的请求消息的时间间隔可以是固定的,比如设定每隔一分钟接收一次请求消息,也可以是不固定的,比如一分钟后接收第二次请求消息,再过三分钟后接收第三次请求消息,具体的可以根据实际情况进行设定。
步骤S204,第一设备判断时间戳的取值是否小于预设阈值;
需要说明的是,上述第一设备和第二设备可以表现为两个物理实体,也可以表现为两个应用,但不限于此。上述时间戳的取值可以是单纯的序号比如阿拉伯数字,也可以是时间值,但不限于此。
上述时间戳的取值可以是指定值,用于指示读取第一设备中的全量数据;在一个可选的实施例中,上述指定值可以是0,即在请求消息中携带的时间戳的取值为0时,指示第二设备应当读第一设备的全量数据。
在一个可选实施例中,在步骤S204之前,需要判断上述时间戳的取值是否为上述指定值,以及在判断结果为是时,触发将与该时间戳对应的分片数据同步至所述第二设备。在时间戳的取值为上述指定值的情况下,可以触发第一设备开始将全量数据中的第一个分片数据同步到第二设备。
步骤S206,在时间戳的取值小于预设阈值时,第一设备按照时间戳与第一设备在本地缓存的分片数据的对应关系,将与时间戳对应的分片数据同步至第二设备,其中,分片数据为对第一设备记录的全量数据进行分片得到。
需要说明的是,上述预设阈值可以是对上述全量数据进行分片后得到的分片数量,当然也可以是其他的值,一般该预设阈值可设置为小于10;上述全量数据可以是针对统一资源定位符ur l的阻断记录,也可以是针对域名的阻断记录,也可以是两者的组合,并不限于此。
上述分片数据可以通过以下方式在第一设备中得到:将第一设备的数据库中与第一索引n对应的分片数据,写入本地缓存,并将n-1作为分片数据在第一设备的本地缓存中的索引,其中,n小于或者等于对全量数据进行分片后得到的所有分片数据的总数量N,n、N均为正整数。在一个可选实施例中,将第一设备的数据库中与第一索引n对应的分片数据,写入本地缓存,并将n-1作为分片数据在第一设备的本地缓存中的索引具体为:第一设备判断n是否小于N;在n小于N的情况下,第一设备从数据库中读取n对应的分片数据,并在n对应的分片数据上附上值为n的时间戳;在n等于N的情况下,第一设备从数据库中读取与n对应的分片数据,并在与n对应的分片数据上附上值为指定时刻的时间戳;其中,该指定时刻为第二设备上一次访问第一设备的时刻;第一设备将与n对应的分片数据写入本地缓存,并将n-1作为分片数据在本地缓存中的索引。
需要说明的是,进行缓存的方式可以是按照发送格式进行分片缓存,因而在第二设备需要读取时,第一设备不需要再对分片数据进行格式的转变,而是直接返回给第二设备,降低了同步的时间,提高了同步的效率。
通过将第一设备中的全量数据进行分片后缓存在第一设备的本地缓存中,在缓存中缓存的每份分片数据都有对应的一个索引,该索引与第二设备发送的请求消息中的时间戳具有一定的对应关系,通过该时间戳与缓存中的分片数据的对应关系,将全量数据分片的分片数据同步到第二设备中,在本发明一个可选实施例中,步骤S206中的将与时间戳对应的分片数据同步至第二设备可以表现为:第一设备以时间戳的取值作为索引,将第一设备的本地缓存中与索引对应的指定分片数据同步至第二设备。
通过上述步骤,通过将全量数据进行缓存分片的方式,然后根据接收的请求消息中的时间戳,按照时间戳与缓存中的分片数据的关系,将该时间戳对应的缓存中的分片数据依次同步到第二设备的方式,降低了数据读取的压力,进而解决了系统之间进行全量更新数据时频繁失败的技术问题,提高了数据传输的效率。
举个例子:第一设备的数据库中通常记录了千万级别的数据记录,此处为了方便理解,以较少数据记录(80条记录)为例,在第一设备接收到携带时间戳为0的请求消息后,按照相关技术中的方式,则第一设备将该80条记录一次性全部同步给第二设备。而在本实施例中,第一设备对该80条记录进行分片,分片可以进行均等分配也可以进行不均等分配,以均等分配为例,分为4片,每个分片有20条记录,将每个分片所包含的数据写入缓存,并设置缓存中的4个分片数据对应的索引0、1、2、3;当第二设备请求读取第一设备的全量数据时,第一次请求中携带的时间戳为0,则第一设备将缓存中以0为索引的分片数据同步至第二设备;一段时间后(比如1分钟),第一设备接收第二次请求,该第二次请求中携带时间戳为1,则第一设备将缓存中以1为索引的分片数据同步至第二设备;以此类推,直至将缓存中的分片数据读取完毕。即本实施例通过将全量数据进行分片,将分片后的数据依次同步至第二设备,即将全量数据分批同步至第二设备,相对于相关技术中的方案能够降低数据的读取压力,缩短数据的传送时间,提高了数据的传输效率。
在一个可选实施例中,图3是根据本发明实施例1的数据传输方法的流程图二,如图3所示,上述方法还包括:
步骤S302,在时间戳的取值等于或者大于预设阈值时,第一设备将从时间戳指示的时间至当前时间产生的增量数据同步至第二设备。
需要说明的是,在本发明实施例中,存在两类时间戳,第一类时间戳可以是上述图2所示实施例中的时间戳,该时间戳可以起到读取全量数据中的分片数据的索引标识的作用,其可以是用个位数字比如0、1、2等表示;第二类时间戳可以是真实的时间戳,其表示一个真实的时间,即第二设备最近一次访问第一设备的时间,其可以通过一个9位的数字表示,即第二类时间戳既可以起到标识的作用,也可以表示一个真实的时间。由于上述预设阈值一般为分片数据,其不可能是个很大的数字,因而可以用9位数字表示真实时间戳的第二类时间戳的取值一般是大于上述预设阈值的(即步骤S302中的等于或者大于预设阈值的时间戳),因而可以将该第二类时间戳作为一次全量数据读取结束的标识,或者是一个正常的增量数据读取的触发标识。
需要说明的是,步骤S302中,时间戳的取值大于或者等于预设阈值,表示第二设备发送的请求是一次正常的增量数据读取请求,此时,需要将第二设备最近一次访问第一设备的时刻(即上述的时间戳指示的时间)至当前时间之间的增量数据传输至第二设备,在后续的时间里第一设备一直以正常的增量同步方式将增量数据同步至第二设备,直到时间点为整点或者半点为止,即直到收到第一设备以全量同步方式将数据同步至第二设备的指示为止,以此类推。
需要说明的是,在本发明的实施例中,上述第一设备与第二设备之间的数据通信可以使用http协议,但不限于此。上述方法可以应用于网络内容的监控与屏蔽领域,比如,第一设备对网络的内容比如涉黄、涉毒、涉暴以及涉恐内容等进行监控,或者其他设备对该内容进行监控,当监控到这些内容后,将该内容对应的网页的统一资源定位符或者该内容出现的计算机所在的域名记录下来,然后将这些数据通过本发明实施例的方法同步到第二设备,第二设备可以再传输给其他设备或者第二设备本身根据获得到统一资源定位符或者域名对这些内容进行屏蔽。
为了更好的理解本发明,以下结合可选的实施例对本发明做进行一步的解释。
在一个可选实施例中,第一设备每30分钟对第一设备的数据库中的全量ur l/域名进行一次分片缓存,来解决实时从数据库全量读取记录时造成的读取超时等问题。图4是根据本发明可选实施例的第一设备分片缓存全量数据的流程示意图,如图4所示,包括以下步骤:
步骤S402,设定该次全量ur l/域名阻断记录的分片数量(例如4),该分片数量小于10;
步骤S404,读取当前时间,精确到分钟,记录在timestamp中;
步骤S406,根据timestamp的值,读取当前时间数据库中全量记录数量(例如81);
步骤S408,根据分片数量,计算全量记录的每个分片中包含的记录数(例如20、20、20、21);
步骤S410,设置分片计数index(即上述实施例中的第一索引n),值为1;
步骤S412,判断当前index值是否小于分片数量(相当于上述实施例中的分片数据的总数量N);是(例如1),则执行步骤S414;不是(例如4),则执行步骤S422;
步骤S414,从数据库中读取与index对应的指定分片包含的数据;
步骤S416,附上时间戳,值为index;
步骤S418,将分片数据与时间戳写入缓存,key值为index–1(相当于上述实施例中的n-1);
步骤S420,分片计数index增加1;返回步骤S412执行;
步骤S422,从数据库中读取与index对应的指定分片包含的数据;
步骤S424,附上时间戳,值为timestamp(相当于上述实施例中的指定时刻);
步骤S426,将分片数据与时间戳写入缓存,key值为index-1。
第二设备从第一设备读取全量阻断记录时,第一设备将已有全量阻断记录缓存分批返回给第二设备,以解决大数据量一次性传送时可能导致的网络问题与第二设备内存使用等问题。图5是根据本发明可选实施例的数据传输方法的流程示意图,如图5所示,以4片缓存为例,该方法包括以下步骤:
步骤S501,第二设备向第一设备发起请求,读全量阻断记录,时间戳为0;
步骤S502,第一设备判断时间戳为0,是全量更新阻断记录,以0为key在全量阻断记录的缓存中读取第一片缓存中的分片数据,并附带时间戳为1,返回给第二设备;
步骤S503,第二设备清空系统内阻断记录,并使用收到的全量阻断记录的第一片缓存中的分片数据;
步骤S504,1分钟后,第二设备向第一设备发起请求,读取增量阻断记录,时间戳为步骤S502中第一设备返回的1;
步骤S505,第一设备判断时间戳小于10,是未完的全量更新阻断记录,以1为key在全量阻断记录的缓存中读取第二片缓存中的分片数据,附带时间戳2,返回给第二设备;
步骤S506,第二设备将收到的第二片缓存中的分片数据,增加到已有阻断记录中;
步骤S507,1分钟后,第二设备向第一设备发起请求,读取增量阻断记录,时间戳为步骤S505中第一设备返回的2;
步骤S508,第一设备判断时间戳小于10,是未完的全量更新阻断记录,以2为key在全量阻断记录的缓存中读取第三片缓存中的分片数据,附带时间戳3,返回给第二设备;
步骤S509,第二设备将收到的第三片缓存中的分片数据,增加到已有阻断记录中;
步骤S510,1分钟后,第二设备向第一设备发起请求,读取增量阻断记录,时间戳为步骤S508中第一设备返回的3;
步骤S511,第一设备判断时间戳小于10,是未完的全量更新阻断记录,以3为key在全量阻断记录的缓存中读取第四片缓存中的分片数据,附带时间戳为全量阻断记录缓存的生成时间timestamp,返回给第二设备;
步骤S512,第二设备将收到的第四片缓存中的分片数据,增加到已有阻断记录中;
步骤S513,1分钟后,第二设备向Mrm发起请求,读取增量阻断记录,时间戳为步骤S511中第一设备返回的timestamp;
步骤S514,第一设备Mrm判断时间戳大于10,是一次正常的增量阻断记录请求,读数据库中timestamp到当前时间的阻断记录变化量,附带当前时间,返回给第二设备;
后续每分钟,第二设备都做增量阻断记录请求;如果是整点或半点,则第二设备不做增量阻断记录请求,而返回执行步骤S501。
需要说明的是,在本发明图5所示的可选实施例中的1分钟相当于上述实施例图2所示实施例的定时,上述时间戳为0相当于图2所示实施例中的时间戳的取值为指定值,来指示读全量阻断记录,上述实施例中的时间戳为0、1、2、3相当于图2所示实施例中的时间戳的取值;上述key相当于图2所示实施例中的索引,上述timestamp相当于图3所示实施例中的取值等于或者大于预设阈值的时间戳。
在上述实施例中,同步分为两种,增量同步方式和全量同步方式,全量同步方式同步数据是这样实现的:通过预先将全量数据提前进行分片缓存,在第二设备进行读取的时候,直接使用分片缓存中的分片数据,即根据全量数据分片的数量N,通过N次模拟增量同步方式实现全量数据同步的,降低了数据读取压力,在第一设备第一次同步给第二设备时,也不会因为数据量过大而同步失败。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的数据传输方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种数据传输方法,图6是根据本发明实施例2的数据传输方法的流程图一,如图6所示,该方法包括:
步骤S602,第二设备向第一设备发送请求消息,其中,该请求消息中携带有与请求消息对应的时间戳;
需要说明的是,上述第二设备可以是与上述实施例1中的计算机终端10的结构相同的一个计算机终端,在该计算机终端的环境中完成本实施例中的数据传输方法,但不限于此。上述发送请求消息可以是定时发送请求消息,可以是不定时发送请求消息,可以根据具体的情况进行具体设定。
步骤S604,在时间戳的取值小于预设阈值的情况下,第二设备接收第一设备发送的分片数据;其中,分片数据是与时间戳对应的在所述第一设备本地缓存的分片数据,上述分片数据为对第一设备记录的全量数据进行分片得到。
上述时间戳的取值可以是指定值,用于指示第二设备读取第一设备中的全量数据;在一个可选的实施例中,上述指定值可以是0,即在请求消息中携带的时间戳为0时,指示第二设备应当读第一设备的全量数据。在一个可选的实施例中,在步骤S604之前,上述方法还包括:在时间戳为指定值的情况下,第二设备触发第一设备发送全量数据,接收第一设备发送的与指定值对应的分片数据。
需要说明的是,上述预设阈值可以是第一设备对上述全量数据进行分片后得到的分片数量,当然也可以是其他的值,一般该预设阈值可设置为小于10;上述全量数据可以是针对统一资源定位符ur l的阻断记录,也可以是针对域名的阻断记录,也可以是两者的组合,并不限于此。
具体地,第一设备是如何对全量数据进行分片缓存的,即上述分片数据是如何在第一设备中得到的,与上述实施例1中的相同,此处不再赘述。
上述步骤S604中,第二设备接收第一设备发送的分片数据可以表现为:第二设备接收在第一设备的本地缓存中与索引对应的指定分片数据;其中,索引为上述时间戳;第二设备接收第一设备发送的指定时间戳;其中,指定时间戳的取值为由上述时间戳的取值加1得到。
通过上述步骤,通过第二设备发送携带时间戳的请求消息,接收第一设备根据接收的请求消息中的时间戳,发送的该时间戳对应的第一设备的缓存中的分片数据的方式,即第二设备按照时间戳读取在第一设备中预先进行分片缓存的分片数据,降低了数据读取的压力,进而解决了系统之间进行全量更新数据时频繁失败的技术问题,提高了数据传输的效率。
举个例子:第一设备的数据库中通常记录了千万级别的数据记录,此处为了方便理解,以较少数据记录(80条记录)为例,第二设备发送携带时间戳为0的请求消息后,按照相关技术中的方式,则第二设备将一次性读取该80条记录。而在本实施例中,第一设备对该80条记录进行分片,分片可以进行均等分配也可以进行不均等分配,以均等分配为例,分为4片,每个分片有20条记录,将每个分片所包含的数据写入缓存,并设置缓存中的4个分片数据对应的索引0、1、2、3;当第二设备请求读取第一设备的全量数据时,第一次请求中携带的时间戳为0,则第二设备读取第一设备的缓存中以0为索引的分片数据;一段时间后(比如1分钟),第二设备发送第二次请求,该第二次请求中携带时间戳为1,则第二设备读取第一设备的缓存中以1为索引的分片数据;以此类推,直至第二设备将第一设备的缓存中的分片数据读取完毕。即本实施例通过第一设备将全量数据进行分片,第二设备分批读取该第一设备的缓存中的分片数据,相比于相关技术中的方案能够降低数据的读取压力,缩短数据的传送时间,提高了数据的传输效率。
在一个可选实施例中,图7是根据本发明实施例2的数据传输方法的流程图二,如图7所示,上述方法还包括:
步骤S702,在时间戳的取值等于或者大于预设阈值的情况下,第二设备接收第一设备发送的从时间戳指示的时间至当前时间产生的增量数据。
需要说明的是,在本发明实施例中,存在两类时间戳,第一类时间戳可以是上述图6所示实施例中的时间戳,该时间戳可以起到读取全量数据中的分片数据的索引标识的作用,其可以是用个位数字比如0、1、2等表示;第二类时间戳可以是真实的时间戳,其表示一个真实的时间,即第二设备最近一次访问第一设备的时间,其可以通过一个9位的数字表示,即第二类时间戳既可以起到标识的作用,也可以表示一个真实的时间。由于上述预设阈值一般为分片数据,其并不是很大的数字,因而作为可以用9位数字表示真实时间戳的第二类时间戳一般是大于上述预设阈值的(即步骤S702中的等于或者大于预设阈值的时间戳),因而可以将该第二类时间戳作为一次全量数据读取结束的标识,或者是一个正常的增量数据读取的触发标识。
需要说明的是,步骤S702中,时间戳的取值大于或者等于预设阈值,表示第二设备发送的请求是一次正常的增量数据读取请求,此时,第二设备需要将第二设备最近一次访问第一设备的时刻(即上述的时间戳指示的时间)至当前时间之间的增量数据读取过来,在后续的时间里,第二设备一直以正常的增量同步方式读取增量数据,直到时间点为整点或者半点为止,即直到第二设备收到以全量同步方式读取数据的指示为止,以此类推。
需要说明的是,在本发明的实施例中,上述第一设备与第二设备之间的数据通信可以使用http协议,但不限于此。上述方法可以应用于网络内容的监控与屏蔽领域,比如,第一设备对网络的内容比如涉黄、涉毒、涉暴、以及涉恐内容等进行监控,或者其他设备对该内容进行监控,当监控到这些内容后,将该内容对应的网页的统一资源定位符或者该内容出现的计算机所在的域名记录下来,然后将这些数据通过本发明实施例的方法同步到第二设备,第二设备可以再传输给其他设备或者第二设备本身根据获得到统一资源定位符或者域名对这些内容进行屏蔽。
为了更好的理解本发明,可以结合实施例1中的图4和图5所示的可选的实施例对本发明做进行一步的解释,此处不再赘述。
实施例3
根据本发明实施例,还提供了一种用于实施上述实施例1中的数据传输方法的装置,图8是根据本发明实施例3的数据传输装置的结构框图一,如图8所示,该装置,应用于第一设备,包括:
接收模块80,用于定时接收来自第二设备的请求消息,其中,该请求消息中携带有与本次接收的请求消息对应的时间戳;
需要说明的是,这里的定时可以是按照实际情况进行设定,两次接收的请求消息的时间间隔可以是固定的,比如设定每隔1分钟接收一次请求消息,也可以是不固定的,比如1分钟后接收第二次请求消息,再过3分钟后接收第三次请求消息,具体的可以根据实际情况进行设定。
第一判断模块82,与上述接收模块80连接,用于判断时间戳的取值是否小于预设阈值;
上述时间戳的取值可以是指定值,用于指示读取第一设备中的全量数据;在一个可选的实施例中,上述指定值可以是0,即在请求消息中携带的时间戳为0时,指示第二设备应当读第一设备的全量数据。
在一个可选实施例中,图9是根据本发明实施例3的数据传输装置的结构框图二,如图9所示,上述装置还包括:
第二判断模块90,与接收模块80连接,用于判断时间戳的取值是否为指定值,其中,该指定值用于指示读取全量数据,其中,在判断结果为是时,触发将与时间戳对应的分片数据同步至第二设备。
第一同步模块84,与上述第一判断模块82连接,用于在时间戳的取值小于预设阈值时,按照时间戳与第一设备在本地缓存的分片数据的对应关系,将与时间戳对应的分片数据同步至第二设备,其中,分片数据为对第一设备记录的全量数据进行分片得到。
需要说明的是,上述预设阈值可以是对上述全量数据进行分片后得到的分片数量,当然也可以是其他的值,一般该预设阈值可设置为小于10;上述全量数据可以是针对统一资源定位符ur l的阻断记录,也可以是针对域名的阻断记录,也可以是两者的组合,并不限于此。
上述第一同步模块84还用于以时间戳的取值作为索引,将第一设备的本地缓存中与该索引对应的指定分片数据同步至第二设备。
在一个可选的实施例中,图10是根据本发明实施例3的数据传输装置的结构框图三,如图10所示,上述装置还包括:
缓存模块100,与第一同步模块84连接,用于将第一设备的数据库中与第一索引n对应的分片数据,写入本地缓存,并将n-1作为分片数据在第一设备的本地缓存中的索引,其中,n小于或者等于对全量数据进行分片后得到的所有分片数据的总数量N,n、N均为正整数。
具体地,上述缓存模块100还包括:
判断单元1001,用于判断n是否小于N;
第一读取单元1002,与上述判断单元1001连接,用于在n小于N的情况下,从所述数据库中读取n对应的分片数据,并在n对应的分片数据上附上值为n的时间戳;
第二读取单元1003,与上述判断单元1001连接,用于在n等于N的情况下,从所述数据库中读取与n对应的分片数据,并在与n对应的分片数据上附上值为指定时刻的时间戳;其中,所述指定时刻为所述第二设备上一次访问所述第一设备的时刻;
缓存单元1004,与上述第一读取单元1002和第二读取单元1003连接,用于将与n对应的分片数据写入本地缓存,并将n-1作为分片数据在本地缓存中的索引。
需要说明的是,上述缓存单元1004可以是按照发送格式将与n对应的分片数据写入本地缓存,这样,在第二设备需要读取时,第一设备不需要再对分片数据进行格式的转变,而是直接返回给第二设备,降低了同步的时间,提高了同步的效率。
通过上述装置,通过将全量数据进行缓存分片的方式,然后根据接收的请求消息中的时间戳,按照时间戳与缓存中的分片数据的关系,将该时间戳对应的缓存中的分片数据依次同步到第二设备的方式,降低了数据读取的压力,进而解决了系统之间进行全量更新数据时频繁失败的技术问题,提高了数据传输的效率。
举个例子:第一设备的数据库中通常记录了千万级别的数据记录,此处为了方便理解,以较少数据记录(80条记录)为例,在第一设备接收到携带时间戳为0的请求消息后,按照相关技术中的方式,则第一设备将该80条记录一次性全部同步给第二设备。而在本实施例中,第一设备中的上述装置对该80条记录进行分片,分片可以进行均等分配也可以进行不均等分配,以均等分配为例,分为4片,每个分片有20条记录,缓存单元1004将每个分片所包含的数据写入缓存,并设置缓存中的4个分片数据对应的索引0、1、2、3;当第二设备请求读取第一设备的全量数据时,第一次请求中携带的时间戳为0,则第一设备的第一同步模块84将缓存中以0为索引的分片数据同步至第二设备;一段时间后(比如1分钟),第一设备的接收模块80接收第二次请求,该第二次请求中携带时间戳为1,则第一设备的第一同步模块84将缓存中以1为索引的分片数据同步至第二设备;以此类推,直至将缓存中的分片数据读取完毕。即本实施例的上述装置通过将全量数据进行分片,将分片后的数据依次同步至第二设备,即将全量数据分批同步至第二设备,相比于相关技术中的方案能够降低数据的读取压力,缩短数据的传送时间,提高了数据的传输效率。
图11是根据本发明实施例3的数据传输装置的结构框图四,如图11所示,上述装置还包括:
第二同步模块1101,与上述第一判断模块82连接,用于在时间戳的取值等于或者大于预设阈值时,将从时间戳指示的时间至当前时间产生的增量数据同步至第二设备。
需要说明的是,在本发明实施例中,存在两类时间戳,第一类时间戳可以是上述图8所示实施例中的时间戳,该时间戳可以起到读取全量数据中的分片数据的索引标识的作用,其可以是用个位数字比如0、1、2等表示;第二类时间戳可以是真实的时间戳,其表示一个真实的时间,即第二设备最近一次访问第一设备的时间,其可以通过一个9位的数字表示,即第二类时间戳既可以起到标识的作用,也可以表示一个真实的时间。在由于上述预设阈值一般为分片数据,其不可能是个很大的数字,因而作为可以用9位数字表示真实时间戳的第二类时间戳的取值一般是大于上述预设阈值的,因而可以将该第二类时间戳作为一次全量数据读取结束的标识,或者是一个正常的增量数据读取的触发标识。
需要说明的是,时间戳的取值大于或者等于预设阈值,表示第二设备发送的请求是一次正常的增量数据读取请求,此时,第二同步模块1101需要将第二设备最近一次访问第一设备的时刻(即上述的时间戳指示的时间)至当前时间之间的增量数据传输至第二设备,在后续的时间里第一设备一直以正常的增量数据同步方式将增量数据同步至第二设备,直到时间点为整点或者半点为止,即直到收到第一设备以全量读取同步方式将数据同步至第二设备的指示为止,以此类推。
需要说明的是,在本发明的实施例中,第一设备中的上述装置与第二设备之间的数据通信可以使用http协议,但不限于此。上述装置可以应用于网络内容的监控与屏蔽领域,比如,第一设备对网络的内容比如涉黄、涉毒、涉暴、以及涉恐内容等进行监控,或者其他设备对该内容进行监控,当监控到这些内容后,将该内容对应的网页的统一资源定位符或者该内容出现的计算机所在的域名记录下来,然后将这些数据通过上述装置同步到第二设备,第二设备可以再传输给其他设备或者第二设备本身根据获得到统一资源定位符或者域名对这些内容进行屏蔽。
需要说明的是,上述模块第一同步模块84第二同步模块1101可以是第一设备中的同一个同步模块,也可以是第一设备中的不同的同步模块。
实施例4
根据本发明实施例,还提供了一种用于实施上述实施例2中的数据传输方法的装置,图12是根据本发明实施例4的数据传输装置的结构框图一,如图12所示,该装置,应用于第二设备,包括:
发送模块1202,用于向第一设备发送请求消息,其中,该请求消息中携带有与请求消息对应的时间戳;
需要说明的是,上述发送请求消息可以是定时发送请求消息,可以是不定时发送请求消息,可以根据具体的情况进行具体设定。
第一接收模块1204,与上述发送模块1202连接,用于在时间戳的取值小于预设阈值的情况下,接收第一设备发送的分片数据;其中,分片数据是与时间戳对应的在第一设备本地缓存的分片数据,上述分片数据为第一设备记录的全量数据进行分片得到。
上述时间戳可以是指定值,用于指示第二设备读取第一设备中的全量数据;在一个可选的实施例中,上述指定值可以是0,即在请求消息中携带的时间戳为0时,指示第二设备应当读第一设备的全量数据。在一个可选实施例中,上述装置还包括:触发模块,用于在时间戳的取值为指定值的情况下,触发第一设备发送全量数据;第三接收模块,与该触发模块连接,用于接收第一设备发送的与指定值对应的分片数据,其中,指定值用于指示第二设备向所述第一设备读取全量数据。
需要说明的是,上述预设阈值可以是第一设备对上述全量数据进行分片后得到的分片数量,当然也可以是其他的值,一般该预设阈值可设置为小于10;上述全量数据可以是针对统一资源定位符ur l的阻断记录,也可以是针对域名的阻断记录,也可以是两者的组合,并不限于此。
具体地,第一设备是如何对全量数据进行分片缓存的,即上述分片数据是如何在第一设备中得到的,与上述实施例1中的相同,此处不再赘述。
在本发明的一个可选实施例中,图13是根据本发明实施例4的数据传输装置的结构框图二,如图13所示,上述第一接收模块1204可以包括:第一接收单元1302,用于接收在所述第一设备的本地缓存中与索引对应的指定分片数据;其中,索引为上述时间戳的取值;第二接收单元1304,与上述第一接收单元1302连接,用于接收第一设备发送的指定时间戳;其中,指定时间戳的取值为由上述时间戳的取值加1得到。
通过上述装置,通过发送模块1202发送携带时间戳的请求消息,第一接收模块1204接收第一设备根据接收的请求消息中的时间戳,发送的该时间戳对应的第一设备的缓存中的分片数据的方式,即上述装置按照时间戳读取在第一设备中预先进行分片缓存的分片数据,降低了数据读取的压力,进而解决了系统之间进行全量更新数据时频繁失败的技术问题,提高了数据传输的效率。
举个例子:第一设备的数据库中通常记录了千万级别的数据记录,此处为了方便理解,以较少数据记录(80条记录)为例,第二设备发送携带时间戳为0的请求消息后,按照相关技术中的方式,则第二设备将一次性读取该80条记录。而在本实施例中,第一设备对该80条记录进行分片,分片可以进行均等分配也可以进行不均等分配,以均等分配为例,分为4片,每个分片有20条记录,将每个分片所包含的数据写入缓存,并设置缓存中的4个分片数据对应的索引0、1、2、3;当第二设备中上述装置中的发送模块1202请求读取第一设备的全量数据时,第一次请求中携带的时间戳为0,则上述装置中的第一接收模块1204读取第一设备的缓存中以0为索引的分片数据;一段时间后(比如1分钟),第二设备上述装置中的发送模块1202发送第二次请求,该第二次请求中携带时间戳为1,则上述装置中的第一接收模块1204读取第一设备的缓存中以1为索引的分片数据;以此类推,直至第二设备中的上述装置将第一设备的缓存中的分片数据读取完毕。即本实施例通过第一设备将全量数据进行分片,上述装置分批读取该第一设备的缓存中的分片数据,相比于相关技术中的方案能够降低数据的读取压力,缩短数据的传送时间,提高了数据的传输效率。
图14是根据本发明实施例4的数据传输装置的结构框图三,如图14所示,上述装置还包括:
第二接收模块1402,与发送模块1204用于在时间戳的取值大于或者等于预设阈值的情况下,接收第一设备发送的从时间戳指示的时间至当前时间产生的增量数据。
需要说明的是,在本发明实施例中,存在两类时间戳,第一类时间戳可以是上述图12所示实施例中的时间戳,该时间戳可以起到读取全量数据中的分片数据的索引标识的作用,其可以是用个位数字比如0、1、2等表示;第二类时间戳可以是真实的时间戳,其表示一个真实的时间,即第二设备最近一次访问第一设备的时间,其可以通过一个9位的数字表示,即第二类时间戳既可以起到标识的作用,也可以表示一个真实的时间。在由于上述预设阈值一般为分片数据,其并不是很大的数字,因而作为可以用9位数字表示真实时间戳的第二类时间戳一般是大于上述预设阈值的,因而可以将该第二类时间戳作为一次全量数据读取结束的标识,或者是一个正常的增量数据读取的开始的标识。
需要说明的是,时间戳的取值大于或者等于预设阈值,表示第二设备中的上述装置发送的请求是一次正常的增量数据读取请求,此时,第二设备的上述装置需要将第二设备最近一次访问第一设备的时刻(即上述的时间戳指示的时间)至当前时间之间的增量数据读取过来,在后续的时间里,上述装置一直以正常的增量数据同步方式读取增量数据,直到时间点为整点或者半点为止,即直到上述装置收到以全量读取同步方式读取数据的指示为止,以此类推。
需要说明的是,在本发明的实施例中,上述第一设备与第二设备中的上述装置之间的数据通信可以使用http协议,但不限于此。上述装置可以应用于网络内容的监控与屏蔽领域,比如,第一设备对网络的内容比如涉黄、涉毒、涉暴、以及涉恐内容等进行监控,或者其他设备对该内容进行监控,当监控到这些内容后,将该内容对应的网页的统一资源定位符或者该内容出现的计算机所在的域名记录下来,然后将这些数据通过上述装置同步到第二设备,第二设备可以再传输给其他设备或者第二设备本身根据获得到统一资源定位符或者域名对这些内容进行屏蔽。
实施例5
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的实施例1中的数据传输方法中的步骤的程序代码,具体详见实施例1,此处不再赘述。
可选地,图15是根据本发明实施例的一种计算机终端的结构框图。如图15所示,该计算机终端A可以包括:一个或多个(图中仅示出一个)处理器1502、存储器1506、以及传输装置1508。
其中,存储器1506可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器1502通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器1506可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器1502远程设置的存储器1506,这些远程存储器1506可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器1502可以通过传输装置1408调用存储器1506存储的信息及应用程序,以执行实施例1中的步骤的应用程序。
采用本发明实施例,提供了一种计算机终端的方案。通过该计算机终端,执行上述实施例1中的步骤的程序代码,降低了数据读取的压力,进而解决了系统之间进行全量更新数据时频繁失败的技术问题,提高了数据传输的效率。
本领域普通技术人员可以理解,图15所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图15其并不对上述电子装置的结构造成限定。例如,计算机终端A还可包括比图15中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图15所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例6
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的实施例2中的数据传输方法中的步骤的程序代码,具体详见实施例2,此处不再赘述。
在本实施例中的计算机终端与实施例5中的计算机终端的结构类似,包括处理器、存储器以及传输装置,其中,存储器用于存储实施例2中的数据传输方法的步骤的程序代码,处理器用于通过传输装置调用存储器存储的信息及应用程序,以执行实施例2中的步骤的程序代码。具体步骤详见实施例2中的方法,此处不再赘述。
实施例7
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的数据传输方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行实施例1或者实施例2中的数据传输方法的步骤的程序代码,具体步骤详见实施例1或者实施例2,此处不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (24)

1.一种数据传输方法,其特征在于,包括:
第一设备定时接收来自第二设备的请求消息,其中,该请求消息中携带有与本次接收的所述请求消息对应的时间戳;
所述第一设备判断所述时间戳的取值是否小于预设阈值;
在所述时间戳的取值小于所述预设阈值时,所述第一设备按照所述时间戳与所述第一设备在本地缓存的分片数据的对应关系,将与所述时间戳对应的所述分片数据同步至所述第二设备,其中,所述分片数据为对所述第一设备记录的全量数据进行分片得到;其中,所述第一设备通过依据数据量对所述全量数据进行均等分片,将所述全量数据分批同步至所述第二设备;所述请求消息对应的时间戳包括读取所述全量数据中的分片数据的索引标识。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述时间戳的取值等于或者大于所述预设阈值时,所述第一设备将从所述时间戳指示的时间至当前时间产生的增量数据同步至所述第二设备。
3.根据权利要求1所述的方法,其特征在于,所述第一设备判断所述时间戳的取值是否小于预设阈值之前,所述方法还包括:
所述第一设备判断所述时间戳的取值是否为指定值,其中,该指定值用于指示读取所述全量数据;并且,在判断结果为是时,触发将与所述时间戳对应的所述分片数据同步至所述第二设备。
4.根据权利要求1所述的方法,其特征在于,将与所述时间戳对应的所述分片数据同步至所述第二设备包括:
所述第一设备以所述时间戳的取值作为索引,将所述第一设备的本地缓存中与所述索引对应的指定分片数据同步至所述第二设备。
5.根据权利要求1所述的方法,其特征在于,所述分片数据通过以下方式在所述第一设备中得到:
所述第一设备将所述第一设备的数据库中与第一索引n对应的分片数据,写入所述本地缓存,并将n-1作为所述分片数据在所述第一设备的本地缓存中的索引,其中,n小于或者等于对所述全量数据进行分片后得到的所有分片数据的总数量N,n、N均为正整数。
6.根据权利要求5所述的方法,其特征在于,所述第一设备将所述第一设备的数据库中与所述第一索引n对应的分片数据,写入所述本地缓存,并将n-1作为所述分片数据在所述第一设备的本地缓存中的索引包括:
所述第一设备判断n是否小于N;
在n小于N的情况下,所述第一设备从所述数据库中读取n对应的分片数据,并在n对应的分片数据上附上值为n的时间戳;
在n等于N的情况下,所述第一设备从所述数据库中读取与n对应的分片数据,并在与n对应的分片数据上附上值为指定时刻的时间戳;其中,所述指定时刻为所述第二设备上一次访问所述第一设备的时刻;
所述第一设备将与n对应的分片数据写入所述本地缓存,并将n-1作为所述分片数据在所述本地缓存中的索引。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述全量数据包括以下至少之一:针对统一资源定位符的阻断记录,针对域名的阻断记录。
8.一种数据传输方法,其特征在于,包括:
第二设备向第一设备发送请求消息,其中,该请求消息中携带有与所述请求消息对应的时间戳;
在所述时间戳的取值小于预设阈值的情况下,所述第二设备接收所述第一设备发送的分片数据;其中,所述分片数据是与所述时间戳对应的在所述第一设备本地缓存的分片数据,所述分片数据为对所述第一设备记录的全量数据进行分片得到;其中,所述第一设备通过依据数据量对所述全量数据进行均等分片,将所述全量数据分批同步至所述第二设备;所述请求消息对应的时间戳包括读取所述全量数据中的分片数据的索引标识。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述时间戳的取值等于或者大于所述预设阈值的情况下,所述第二设备接收所述第一设备发送的从所述时间戳指示的时间至当前时间产生的增量数据。
10.根据权利要求8所述的方法,其特征在于,所述第二设备接收所述第一设备发送的与所述时间戳对应的所述第一设备在本地缓存的分片数据之前,所述方法还包括:
在所述时间戳的取值为指定值的情况下,所述第二设备触发所述第一设备发送所述全量数据,接收所述第一设备发送的与所述指定值对应的所述分片数据,其中,所述指定值用于指示所述第二设备向所述第一设备读取所述全量数据。
11.根据权利要求8所述的方法,其特征在于,所述第二设备接收所述第一设备发送的分片数据包括:
所述第二设备接收在所述第一设备的本地缓存中与索引对应的指定分片数据;其中,所述索引为所述时间戳的取值;
所述第二设备接收所述第一设备发送的指定时间戳;其中,所述指定时间戳的取值为由所述时间戳的取值加1得到。
12.根据权利要求8至11中任一项所述的方法,其特征在于,所述全量数据包括以下至少之一:针对统一资源定位符的阻断记录,针对域名的阻断记录。
13.一种数据传输装置,应用于第一设备,其特征在于,包括:
接收模块,用于定时接收来自第二设备的请求消息,其中,该请求消息中携带有与本次接收的所述请求消息对应的时间戳;
第一判断模块,用于判断所述时间戳的取值是否小于预设阈值;
第一同步模块,用于在所述时间戳的取值小于所述预设阈值时,按照所述时间戳与所述第一设备在本地缓存的分片数据的对应关系,将与所述时间戳对应的所述分片数据同步至所述第二设备,其中,所述分片数据为对所述第一设备记录的全量数据进行分片得到;其中,所述第一设备通过依据数据量对所述全量数据进行均等分片,将所述全量数据分批同步至所述第二设备;所述请求消息对应的时间戳包括读取所述全量数据中的分片数据的索引标识。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二同步模块,用于在所述时间戳等于或者大于所述预设阈值时,将从所述时间戳指示的时间至当前时间产生的增量数据同步至所述第二设备。
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于判断所述时间戳的取值是否为指定值,其中,该指定值用于指示读取所述全量数据,其中,在判断结果为是时,触发将与所述时间戳对应的所述分片数据同步至所述第二设备。
16.根据权利要求13所述的装置,其特征在于,所述第一同步模块,还用于以所述时间戳的取值作为索引,将所述第一设备的本地缓存中与所述索引对应的指定分片数据同步至所述第二设备。
17.根据权利要求13所述的装置,其特征在于,所述装置还包括:
缓存模块,用于将所述第一设备的数据库中与第一索引n对应的分片数据,写入所述本地缓存,并将n-1作为所述分片数据在所述第一设备的本地缓存中的索引,其中,n小于或者等于对所述全量数据进行分片后得到的所有分片数据的总数量N,n、N均为正整数。
18.根据权利要求17所述的装置,其特征在于,所述缓存模块包括:
判断单元,用于判断n是否小于N;
第一读取单元,用于在n小于N的情况下,从所述数据库中读取n对应的分片数据,并在n对应的分片数据上附上值为n的时间戳;
第二读取单元,用于在n等于N的情况下,从所述数据库中读取与n对应的分片数据,并在与n对应的分片数据上附上值为指定时刻的时间戳;其中,所述指定时刻为所述第二设备上一次访问所述第一设备的时刻;
缓存单元,用于将与n对应的分片数据写入所述本地缓存,并将n-1作为所述分片数据在所述本地缓存中的索引。
19.根据权利要求13至18中任一项所述的装置,其特征在于,所述全量数据包括以下至少之一:针对统一资源定位符的阻断记录,针对域名的阻断记录。
20.一种数据传输装置,应用于第二设备,其特征在于,包括:
发送模块,用于向第一设备发送请求消息,其中,该请求消息中携带有与所述请求消息对应的时间戳;
第一接收模块,用于在所述时间戳的取值小于预设阈值的情况下,接收所述第一设备发送的分片数据;其中,所述分片数据是与所述时间戳对应的在所述第一设备本地缓存的分片数据,所述分片数据为所述第一设备记录的全量数据进行分片得到;其中,所述第一设备通过依据数据量对所述全量数据进行均等分片,将所述全量数据分批同步至所述第二设备;所述请求消息对应的时间戳包括读取所述全量数据中的分片数据的索引标识。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于在所述时间戳的取值等于或者大于所述预设阈值的情况下,接收所述第一设备发送的从所述时间戳指示的时间至当前时间产生的增量数据。
22.根据权利要求20所述的装置,其特征在于,所述装置还包括:
触发模块,用于在所述时间戳的取值为指定值的情况下,触发所述第一设备发送所述全量数据;
第三接收模块,用于接收所述第一设备发送的与所述指定值对应的所述分片数据,其中,所述指定值用于指示所述第二设备向所述第一设备读取所述全量数据。
23.根据权利要求20所述的装置,其特征在于,所述第一接收模块包括:
第一接收单元,用于接收在所述第一设备的本地缓存中与索引对应的指定分片数据;其中,所述索引为所述时间戳的取值;
第二接收单元,用于接收所述第一设备发送的指定时间戳;其中,所述指定时间戳的取值为由所述时间戳的取值加1得到。
24.根据权利要求20至23中任一项所述的装置,其特征在于,所述全量数据包括以下至少之一:针对统一资源定位符的阻断记录,针对域名的阻断记录。
CN201510696508.4A 2015-10-22 2015-10-22 数据传输方法及装置 Active CN106612308B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201510696508.4A CN106612308B (zh) 2015-10-22 2015-10-22 数据传输方法及装置
EP16856846.7A EP3367634B1 (en) 2015-10-22 2016-10-13 Data transmission method and device
JP2018520613A JP2018536226A (ja) 2015-10-22 2016-10-13 データ伝送方法及び装置
PCT/CN2016/101981 WO2017067415A1 (zh) 2015-10-22 2016-10-13 数据传输方法及装置
US15/959,047 US10735295B2 (en) 2015-10-22 2018-04-20 Data transmission method and apparatus
US16/911,129 US11201810B2 (en) 2015-10-22 2020-06-24 Data transmission method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510696508.4A CN106612308B (zh) 2015-10-22 2015-10-22 数据传输方法及装置

Publications (2)

Publication Number Publication Date
CN106612308A CN106612308A (zh) 2017-05-03
CN106612308B true CN106612308B (zh) 2021-04-16

Family

ID=58556711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510696508.4A Active CN106612308B (zh) 2015-10-22 2015-10-22 数据传输方法及装置

Country Status (5)

Country Link
US (2) US10735295B2 (zh)
EP (1) EP3367634B1 (zh)
JP (1) JP2018536226A (zh)
CN (1) CN106612308B (zh)
WO (1) WO2017067415A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106612308B (zh) 2015-10-22 2021-04-16 阿里巴巴集团控股有限公司 数据传输方法及装置
CN110555012B (zh) * 2018-05-14 2022-03-25 杭州海康威视数字技术股份有限公司 数据迁移方法及装置
CN108965402A (zh) * 2018-06-21 2018-12-07 杭州领智云画科技有限公司 基于cdn的缓存方法、装置及系统
CN111221469B (zh) * 2018-11-27 2021-05-11 杭州海康威视数字技术股份有限公司 同步缓存数据的方法、装置和系统
CN110716984B (zh) * 2019-10-10 2023-06-20 北京字节跳动网络技术有限公司 数据处理方法、装置、电子设备及存储介质
CN111245548A (zh) * 2020-01-14 2020-06-05 平安国际智慧城市科技股份有限公司 基于时间戳的数据同步方法、装置和计算机设备
CN113590017B (zh) * 2020-04-30 2023-11-17 伊姆西Ip控股有限责任公司 用于处理数据的方法、电子设备和计算机程序产品
CN111625605B (zh) * 2020-06-02 2024-05-10 北京金堤科技有限公司 信息同步方法和装置、以及存储介质和电子设备
CN113220321B (zh) * 2021-04-13 2023-09-26 山东英信计算机技术有限公司 一种cpld的高效能升级方法、系统及介质
CN113052543B (zh) * 2021-05-31 2022-05-03 广州宸祺出行科技有限公司 一种区域订单和司机热力的统计储存方法、装置及应用
CN114338806B (zh) * 2022-02-28 2022-06-21 湖南云畅网络科技有限公司 一种同步消息处理方法及系统
CN115174651B (zh) * 2022-06-24 2023-10-27 浪潮工业互联网股份有限公司 一种多主机与一从机的通信方法、设备及介质
CN116192759A (zh) * 2022-12-13 2023-05-30 网易(杭州)网络有限公司 数据传输量的调整方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500020B1 (en) * 2003-12-31 2009-03-03 Symantec Operating Corporation Coherency of replicas for a distributed file sharing system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6701329B1 (en) * 2000-09-14 2004-03-02 Microsoft Corporation Aging and scavenging of DNS resource records
US20070208918A1 (en) * 2006-03-01 2007-09-06 Kenneth Harbin Method and apparatus for providing virtual machine backup
US8606926B2 (en) * 2006-06-14 2013-12-10 Opendns, Inc. Recursive DNS nameserver
US8621108B2 (en) * 2008-05-08 2013-12-31 Dialogic Corporation System and method for monitoring user interface connectivity state
US20090282169A1 (en) * 2008-05-09 2009-11-12 Avi Kumar Synchronization programs and methods for networked and mobile devices
JP4939568B2 (ja) * 2009-04-28 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース間でデータを同期するための方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム
CN101867605A (zh) 2010-05-21 2010-10-20 中兴通讯股份有限公司 提高rss业务同步效率的方法、装置和系统
US11200287B2 (en) * 2011-09-30 2021-12-14 Google Llc Global address list
CN103812849B (zh) * 2012-11-15 2018-12-07 腾讯科技(深圳)有限公司 一种本地缓存更新方法、系统、客户端及服务器
US20150006485A1 (en) * 2013-06-26 2015-01-01 Eric Alan Christiansen High Scalability Data Management Techniques for Representing, Editing, and Accessing Data
US9509747B2 (en) * 2014-01-23 2016-11-29 Dropbox, Inc. Content item synchronization by block
CN104967640A (zh) * 2014-07-31 2015-10-07 腾讯科技(深圳)有限公司 一种数据存储方法、装置和系统
CN104506643A (zh) * 2014-12-30 2015-04-08 北京奇虎科技有限公司 分布式存储系统的服务器及服务器之间的数据同步方法
CN106612308B (zh) 2015-10-22 2021-04-16 阿里巴巴集团控股有限公司 数据传输方法及装置
US10530852B2 (en) * 2016-05-19 2020-01-07 Level 3 Communications, Llc Network mapping in content delivery network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500020B1 (en) * 2003-12-31 2009-03-03 Symantec Operating Corporation Coherency of replicas for a distributed file sharing system

Also Published As

Publication number Publication date
US11201810B2 (en) 2021-12-14
EP3367634A4 (en) 2019-07-17
US20200328959A1 (en) 2020-10-15
EP3367634B1 (en) 2020-07-22
US20180241658A1 (en) 2018-08-23
US10735295B2 (en) 2020-08-04
CN106612308A (zh) 2017-05-03
WO2017067415A1 (zh) 2017-04-27
EP3367634A1 (en) 2018-08-29
JP2018536226A (ja) 2018-12-06

Similar Documents

Publication Publication Date Title
CN106612308B (zh) 数据传输方法及装置
US10867034B2 (en) Method for detecting a cyber attack
EP3675398B1 (en) Check code processing method, electronic device, and storage medium
CN108989043B (zh) 区块处理方法、装置及区块链节点
CN111740868B (zh) 告警数据的处理方法和装置及存储介质
WO2021068891A1 (en) Method, system, electronic device, and storage medium for storing and collecting temperature data
EP3709186B1 (en) Telemetry data error detection
CN111030888B (zh) 域名系统dns容量测量方法、装置、设备及介质
CN107306200B (zh) 网络故障预警方法和用于网络故障预警的网关
CN111130951B (zh) 设备状态检测方法、装置及存储介质
CN110830138A (zh) 一种信息处理方法、电子设备及服务器
CN114157613A (zh) 数据上报的方法、网关、服务器、电子设备以及存储介质
CN108460044B (zh) 数据的处理方法和装置
CN111770160A (zh) 边缘节点装置、云端节点装置及物联网平台
TWI738709B (zh) 資料傳輸方法及裝置
CN108024279B (zh) 一种获取测量报告的方法及服务器
CN109474442B (zh) 日志处理方法、电子设备及存储介质
CN109587640B (zh) 一种垃圾信息识别方法、终端和计算机存储介质
CN110753057B (zh) 一种故障指示器的通信方法、装置和设备
CN115941209B (zh) 区块链去中心化可信数据采集方法及系统
CN113472469B (zh) 一种数据同步方法、装置、设备及存储介质
CN117479196A (zh) 网络管理方法、管理装置和wmts无线医疗遥测系统
WO2023156827A1 (en) Anomaly detection
CN116910415A (zh) 数据的存储方法及装置、数据的读取方法
CN117857397A (zh) 一种暂态量保护2m光纤测算链路延时的方法及装置

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