CN110691219A - 一种数据处理的方法及装置、电子设备、存储介质 - Google Patents
一种数据处理的方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN110691219A CN110691219A CN201910859764.9A CN201910859764A CN110691219A CN 110691219 A CN110691219 A CN 110691219A CN 201910859764 A CN201910859764 A CN 201910859764A CN 110691219 A CN110691219 A CN 110691219A
- Authority
- CN
- China
- Prior art keywords
- write operation
- executed
- data
- target data
- write
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据处理的方法及装置、电子设备、存储介质,该方法包括:接收至少两个请求端对目标数据的访问请求信息;确定访问请求信息包含的操作类型,操作类型包括读操作和/或写操作;若访问请求信息中包含多个写操作,则依据目标数据和多个写操作的时序按序执行写操作,并按序得到写操作对应的执行后的数据;当最后一个写操作执行完后,将最后一个写操作对应的执行后的数据替换目标数据。本发明实施例依据多个写操作的时序按序执行写操作,以防止多个写操作同时执行造成的冲突;将最后一个写操作对应的执行后的数据替换目标数据,实现对目标数据的更新,可以减少存储设备对目标数据更新的频率,从而提高数据处理速度。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据处理的方法及装置、电子设备、存储介质。
背景技术
视联网是网络发展的重要里程碑,是以太网的更高级形态,是一个实时交换平台,其能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
视联网监控系统中,针对下级或者协转同步过来的监控资源,本级系统需要通过监控资源的信息找到其父目录,然后进行增删改查操作,因为系统资源较多,在系统设计的时候一般是设计为多线程的方式。但是现有技术中,为了保证数据一致性,当多线程访问共享资源时,如果出现读写并发的情况,一般采用排它性访问,即对于一个数据,在同一时刻只能有一个操作独占数据缓存,并且在每个操作完成后都需要更新缓存设备中的数据,因此,缓存更新频率较大,且不能同时实现读和写,导致多线程处理性能下降。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据处理的方法及装置、电子设备、存储介质。
为了解决上述问题,本发明实施例公开了一种数据处理的方法,所述方法包括:
接收至少两个请求端对目标数据的访问请求信息;
确定所述访问请求信息包含的操作类型,所述操作类型包括读操作和/或写操作;
若所述访问请求信息中包含多个写操作,则依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据;
当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据。
优选地,所述依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据的步骤,包括:
为多个所述写操作分配一一对应的原始数据;
将多个所述原始数据依据时序通过链表关联,其中,第一个所述写操作对应的原始数据为所述目标数据的备份数据,后一个所述写操作对应的原始数据为前一个所述写操作对应的执行后的数据。
优选地,所述方法还包括:
若所述访问请求信息中包含至少一个读操作,则将所述目标数据放入对应的请求端的缓存中。
优选地,在所述将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤之后,还包括:
删除多个所述原始数据。
优选地,所述依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据的步骤,还包括:
启动定时器,所述定时器用于对当前执行的写操作计时;
当所述定时器计时结束时,判断所述当前执行的写操作是否执行完成;
若所述当前执行的写操作没有执行完成,则将所述当前执行的写操作的原始数据作为后一个写操作的原始数据。
优选地,所述当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤,还包括:
启动定时器,所述定时器用于对多个所述写操作计时;
当所述定时器计时结束时,判断当前执行的写操作是否执行完成;
若所述当前执行的写操作没有执行完成,则将所述当前执行的写操作的原始数据替换所述目标数据。
优选地,所述当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤,还包括:
启动定时器,所述定时器用于对多个所述写操作计时;
当所述定时器计时结束时,判断所述最后一个写操作是否执行完成;
若所述最后一个写操作没有执行完成,则不更新所述目标数据。
本发明实施例还公开了一种数据处理的装置,所述装置包括:
接收请求模块,用于接收至少两个请求端对目标数据的访问请求信息;
类型确定模块,用于确定所述访问请求信息包含的操作类型,所述操作类型包括读操作和/或写操作;
操作执行模块,用于若所述访问请求信息中包含多个写操作,则依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据;
数据更新模块,用于当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据。
本发明实施例还公开一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如本发明实施例所述的一个或多个数据处理的方法。
本发明实施例还公开一种计算机可读存储介质,其存储的计算机程序使得处理器执行如本发明实施例所述的数据处理的方法。
本发明实施例包括以下优点:
本发明实施例通过接收至少两个接收端对目标数据的访问请求信息,并确定访问请求信息包含的操作类型,当访问请求信息中包含多个写操作时,则依据目标数据和多个写操作的时序按序执行写操作,以防止多个写操作同时执行造成的冲突;当最后一个写操作执行完后,将最后一个写操作对应的执行后的数据替换目标数据,实现对目标数据的更新,可以减少存储设备对目标数据更新的频率,从而提高数据处理速度。
附图说明
图1是本发明的一种数据处理的方法实施例的步骤流程图;
图2是本发明的一种数据处理的方法的一示例的实现框图;
图3是本发明的一种数据处理的方法的设计方案流程框图;
图4是本发明的一种数据处理的装置实施例的结构框图;
图5是本发明的一种视联网的组网示意图;
图6是本发明的一种节点服务器的硬件结构示意图;
图7是本发明的一种接入交换机的硬件结构示意图;
图8是本发明的一种以太网协转网关的硬件结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种数据处理的方法实施例的步骤流程图,该方法可以应用于电子设备中,并且,该电子设备的系统环境可以为多核/多线程的环境,尤其地,该方法可以应用于视联网的数据库,该数据库可以是视联网服务器对应的数据库中,具体地,可以是视联网监控统一管理平台mserver;该方法具体可以包括如下步骤:
步骤101,接收至少两个请求端对目标数据的访问请求信息。
在视联网多线程场景中,请求端可以是视联网客户端,接收请求端发送的访问请求信息的接收端可以是视联网监控统一管理平台mserver,目标数据存储于视联网监控统一管理平台mserver中。
在电子设备多线程场景中,请求端可以是电子设备中的应用程序,接收请求端发送的访问请求信息的接收端可以是电子设备的内部存储器,目标数据存储于该内部存储器中,该目标数据可以为应用程序相关数据。
以上仅为应用场景的举例,当然并不局限于此。
访问请求信息可以是用户在请求端进行相应操作时,请求端基于用户操作所产生并发出的用于操作对应数据的请求。
接收端接收至少两个请求端对目标数据的访问请求信息,可以理解,当两个以上的请求端向接收端发送对同一个数据的访问请求信息相隔的时间较短时,可以认为,该两个以上的请求端发送的访问请求信息为并发请求信息;具体地,可以指接收端在一个预设的时间内接收至少两个请求端的访问请求信息。例如,预设时间为10秒钟,在10秒钟内,接收端接收到三个请求端针对同一个数据的访问请求信息,该数据即为目标数据,该三个请求端发送的访问请求信息为并发请求信息。
步骤102,确定所述访问请求信息包含的操作类型,所述操作类型包括读操作和/或写操作。
每个访问请求信息包括访问对象以及操作类型,访问对象即目标数据,操作类型可以是读操作和写操作中的一种。当一个请求端发送的访问请求信息包含的是读操作时,说明该请求端只是对目标数据进行读取,不会改变目标数据;当一个请求端发送的访问请求信息包含的是写操作时,说明该请求端是在读取目标数据的基础上还会对目标数据进行更改操作。
接收端接收到访问请求信息后,对访问请求信息进行解析,以获得每个访问请求信息对应的操作类型。当请求端有多个时,接收端接收到的访问请求信息包括多个操作类型。
例如,当请求端为两个时,接收端接收的访问请求信息为两个,此时,两个访问请求信息对应的操作类型可以是两个读操作,也可以是两个写操作,还可以是一个读操作一个写操作。
步骤103,若所述访问请求信息中包含多个写操作,则依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据。
在一示例中,当接收端在预设的时间内接收的访问请求信息包含多个写操作时,会记录每个写操作的接收时间,然后依据接收时间对多个写操作进行排序,并按序执行。具体地,第一个写操作读取到的数据与目标数据一致,当第一个写操作对读取到的数据执行完写操作后,得到对应的执行后的数据,记为第一执行后数据;然后,开始执行第二个写操作,此时,第二个写操作读取到的数据为第一执行后数据,当执行完成第二个写操作后,得到对应的执行后的数据,记为第二执行后数据;然后,开始执行第三个写操作,此时,第三个写操作读取到的数据为第二执行后数据……当开始执行第N个写操作时,第N个写操作读取到的数据为第N-1执行后数据。
本示例中,通过将多个写操作按序执行的方式,可以防止多个写操作同时执行造成的数据冲突。
进一步地,在另一示例中,所述依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据的步骤,包括:
为多个所述写操作分配一一对应的原始数据;
将多个所述原始数据依据时序通过链表关联,其中,第一个所述写操作对应的原始数据为所述目标数据的备份数据,后一个所述写操作对应的原始数据为前一个所述写操作对应的执行后的数据。
在具体实现中,当接收端接收到的访问请求信息中包含多个写操作时,为每个写操作分配一个对应的原始数据,每个写操作在对应的原始数据的缓存中执行写操作,可以理解,该原始数据为对应的写操作的待执行数据。多个原始数据依据时序通过链表关联,可以理解,每个原始数据的时间信息与对应的写操作的时间信息一致,该时间信息是接收端接收对应写操作的时间。具体地,如图2所示,每个存储于接收端的数据都包括一个键key和对应的值value。多个写操作对应的多个原始数据通过键key关联一个链表,即多个原始数据具有相同的key,链表的初始数据是目标数据value0,每个原始数据按照时序插入到链表的尾部。第一个原始数据为目标数据的备份数据,即第一个原始数据是拷贝目标数据得到的,与目标数据保持一致,也即第一个原始数据的值与目标数据的值一致,记为value1;第一个写操作在第一个原始数据的缓存中对第一个原始数据执行写操作,得到对应的执行后的数据,记为value2;第二个原始数据与第一个原始数据链表关联,即将第一个原始数据对应的执行后的数据作为第二个原始数据,第二个原始数据记为value2,第二个写操作对第二个原始数据执行写操作……第N个原始数据与第N-1个原始数据链表关联,即将第N-1个原始数据对应的执行后的数据作为第N个原始数据,第N个原始数据为valueN。
本示例中,每个写操作在对应的原始数据的缓存中执行,且多个原始数据依据时序链表关联,当前一个写操作完成后,直接将执行后的数据作为后一个写操作的待执行数据,而不需要再次向接收端发送读取数据的请求,因此,可以提高数据处理速度。
进一步地,在又一示例中,所述依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据的步骤,还包括:
启动定时器,所述定时器用于对当前执行的写操作计时;
当所述定时器计时结束时,判断所述当前执行的写操作是否执行完成;
若所述当前执行的写操作没有执行完成,则将所述当前执行的写操作的原始数据作为后一个写操作的原始数据。
具体地,每个写操作开始执行时,启动定时器,用于对当前执行的写操作计时;可以理解,该定时器用于限定对应每个写操作的最大执行时间。需要说明的是,在具体实现时,每个写操作的最大执行时间可以是一个固定值,即每个写操作的最大执行时间是相等的;也可以为每个写操作设置不同的最大执行时间,例如,可以根据请求端的特性,预先设定各个请求端的优先级,根据请求端的优先级分配对应的写操作的最大执行时间;或者根据写操作的接收时间顺序,来分配对应的写操作的最大执行时间,等等。
当定时器计时结束时,判断当前执行的写操作是否执行完成;若当前执行的写操作没有执行完成,则将当前执行的写操作的原始数据作为后一个写操作的原始数据。可以理解,若当前执行的写操作在定时器设定的时间内没有执行完成,则忽略此次写操作,继续执行后一个写操作,并且后一个写操作的原始数据为当前未执行完成的写操作的原始数据,也即后一个写操作的原始数据为当前未执行完成的写操作的前一个写操作对应的执行后的数据。
例如,当前执行的写操作为第二个写操作时,第二个写操作对应的原始数据是第一个写操作的执行后的数据,记为第一执行后数据;若第二个写操作在定时器结束时,没有执行完成,则将第二个写操作的原始数据作为第三个写操作的原始数据,即第三个写操作的原始数据为第一执行后数据。若第二个写操作在定时器结束时,执行完成,则将第二个写操作的执行后的数据作为第三个写操作的原始数据;开始执行第三个写操作的同时启动定时器为第三个写操作计时。
进一步地,可以对当前执行的写操作设置一个标志位,当当前执行的写操作执行完成时,对应的标志位为true或1,当当前执行的写操作没有执行完成时,对应的标志位为false或0;通过当前执行的写操作的标志位,可以判断当前执行的写操作是否执行完成。若当前执行的写操作在定时器计时结束前执行完成,则根据当前执行的写操作的标志位的变化暂停对该写操作的计时,并启动后一个写操作,同时开启对后一个写操作的计时。当定时器计时结束时,向当前写操作对应的请求端发送执行结果通知,例如,若当前写操作执行完成,发送执行完毕的通知;若当前写操作未执行完成,则发送执行未完成的通知。
本示例通过定时器限定每个写操作最大执行时间,可以防止某个写操作占用过长时间,导致数据更新受到延误,因此,通过设定定时器可以提高数据处理速度。
进一步地,若访问请求信息中包含至少一个读操作,则将目标数据放入对应的请求端的缓存中。
由于读操作不会更改目标数据,因此,当访问请求信息包含读操作时,直接对目标数据进行读取,将目标数据放入对应的请求端的缓存中,以便请求端对目标数据进行访问操作。如图2所示,可以实现多个读操作的并发操作,从而提高数据读取的速度。
当访问请求信息中即包含读操作又包含写操作时,每个读操作直接对目标数据进行读取,多个写操作按照上述示例的步骤,按序执行;从而实现读写并发操作。
步骤104,当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据。
本示例中,当最后一个写操作执行完后,将最后一个写操作对应的执行后的数据替换目标数据,以实现对目标数据的更新。可以理解,当写操作为多个时,以最后一个写操作对应的执行后的数据替换目标数据,其他写操作对应的执行后的数据作为后一个写操作的待执行的原始数据;当只有一个写操作时,该写操作既是第一个写操作,又是最后一个写操作,即当只有一个写操作时,为该写操作分配一个原始数据,该原始数据为目标数据的备份数据,该写操作在对应的原始数据上进行操作,操作完成后,在将执行后的数据替换目标数据,以更新目标数据。
在一示例中,所述当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤,还包括:
启动定时器,所述定时器用于对多个所述写操作计时;
当所述定时器计时结束时,判断当前执行的写操作是否执行完成;
若所述当前执行的写操作没有执行完成,则将所述当前执行的写操作的原始数据替换所述目标数据。
具体地,当第一个写操作开始执行时,启动定时器,用于对多个写操作计时;可以理解,该定时器用于限定所有写操作的最大总执行时间。当定时器计时结束时,判断当前执行的写操作是否执行完成,当前执行的写操作可以是任一一个写操作,若没有执行完成,则将当前执行的写操作的原始数据替换目标数据;若执行完成,则将当前执行的写操作的执行后的数据替换目标数据。
例如,当写操作有三个,计时器计时结束时,当前执行的写操作是第二个写操作,此时,若第二个写操作没有执行完成,则将第二个写操作的原始数据替换目标数据,完成对目标数据的更新,第二个及第二个以后的写操作不再执行;若第二个写操作执行完成,则将第二个写操作的执行后数据替换目标数据,完成对目标数据的更新,第二个以后的写操作不再执行。
进一步地,对每个写操作设置一个标志位,当写操作执行完成时,对应的标志位为true或1,当写操作没有执行完成时,对应的标志位为false或0;通过每个写操作的标志位,可以判断对应的写操作是否执行完成。一旦执行完成,立即开始执行后一个写操作。
本示例通过定时器限定写操作的最大总执行时间,可以防止写操作占用过长时间,导致数据更新受到延误,并且在计时器计时结束时,将最新的执行后的数据替换目标数据,以便在对目标数据更新时,可以在此次更新的基础上继续操作,从而节约总的操作时间,提高数据处理速度。
在另一示例中,所述当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤,还包括:
启动定时器,所述定时器用于对多个所述写操作计时;
当所述定时器计时结束时,判断所述最后一个写操作是否执行完成;
若所述最后一个写操作没有执行完成,则不更新所述目标数据。
该示例中的定时器的作用与上述示例的定时器作用相同,相关描述参考上述示例,这里不再赘述。
在本示例中,当定时器计时结束时,若最后一个写操作没有执行完成,则不更新目标数据。可以理解,在本示例中,只有当所有写操作都执行完成后,才更新目标数据,否则不更新目标数据。
例如,当写操作有三个,计时器计时结束时,当前执行的写操作是第二个写操作,此时,当前执行的写操作不是最后一个写操作,可以认为,最后一个写操作没有执行完成,因此,不更新目标数据。
本示例通过定时器限定写操作的最大总执行时间,可以防止写操作占用过长时间,导致数据更新受到延误,并且在定时器计时结束时,若没有执行完成所有写操作,则不更新目标数据,避免出现数据更新后仍与用户期望值不一致。因此,通过设定定时器可以提高数据处理速度。
进一步地,在所述将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤之后,还包括:
删除多个所述原始数据。
本示例中,当完成对目标数据的更新后,删除为写操作分配的对应的原始数据,删除多个原始数据之间的链表关系,以释放内存空间。
参照图3,示出了本发明实施例的一种数据处理的方法实施例的设计方案框图。
协议转换器向视联网监控统一管理平台mserver同步监控资源,视联网监控统一管理平台mserver查找监控资源对应的挂载目录;然后判断该监控资源是否是写操作,如果是,则拷贝备份数据,即为写操作分配原始数据,使写操作在对应的备份数据上进行;启动定时器,判断定时器是否超时,如果超时,则将最新得到的执行后的数据替换目标数据,同时删除原始的目标数据和备份数据;如果没有超时,则继续执行写操作,直至完成所有写操作,将最新得到的执行后的数据替换目标数据,同时删除原始的目标数据和备份数据。如果是非写操作,该非写操作包括读操作,即不会改变目标数据的操作,则直接在目标数据上进行访问操作。
本发明实施例通过接收至少两个接收端对目标数据的访问请求信息,并确定访问请求信息包含的操作类型,当访问请求信息中包含多个写操作时,则依据目标数据和多个写操作的时序按序执行写操作,以防止多个写操作同时执行造成的冲突;当最后一个写操作执行完后,将最后一个写操作对应的执行后的数据替换目标数据,实现对目标数据的更新,可以减少存储设备对目标数据更新的频率,从而提高数据处理速度。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种数据处理的装置实施例的结构框图,该装置具体可以包括如下模块:
接收请求模块401,用于接收至少两个请求端对目标数据的访问请求信息;
类型确定模块402,用于确定所述访问请求信息包含的操作类型,所述操作类型包括读操作和/或写操作;
操作执行模块403,用于若所述访问请求信息中包含多个写操作,则依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据;
数据更新模块404,用于当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据。
在本发明的一种优选实施例中,所述操作执行模块403,包括:
第一处理模块,用于为多个所述写操作分配一一对应的原始数据;
第二处理模块,用于将多个所述原始数据依据时序通过链表关联,其中,第一个所述写操作对应的原始数据为所述目标数据的备份数据,后一个所述写操作对应的原始数据为前一个所述写操作对应的执行后的数据。
在本发明的一种优选实施例中,所述装置还包括:
读操作处理模块,用于若所述访问请求信息中包含至少一个读操作,则将所述目标数据放入对应的请求端的缓存中。
在本发明的一种优选实施例中,所述操作执行模块403,还包括:
第一定时器启动模块,用于启动定时器,所述定时器用于对当前执行的写操作计时;
第一判断模块,用于当所述定时器计时结束时,判断所述当前执行的写操作是否执行完成;
第一确定模块,用于若所述当前执行的写操作没有执行完成,则将所述当前执行的写操作的原始数据作为后一个写操作的原始数据
在本发明的一种优选实施例中,所述数据更新模块404,还包括:
第二定时器启动模块,用于启动定时器,所述定时器用于对多个所述写操作计时;
第二判断模块,用于当所述定时器计时结束时,判断当前执行的写操作是否执行完成;
第二确定模块,用于若所述当前执行的写操作没有执行完成,则将所述当前执行的写操作的原始数据替换所述目标数据。
在本发明的一种优选实施例中,所述数据更新模块404,还包括:
第三定时器启动模块,用于启动定时器,所述定时器用于对多个所述写操作计时;
第三判断模块,用于当所述定时器计时结束时,判断所述最后一个写操作是否执行完成;
第三确定模块,用于若所述最后一个写操作没有执行完成,则不更新所述目标数据。
在本发明的一种优选实施例中,所述装置还包括:
删除模块,用于删除多个所述原始数据。
所述删除模块在所述数据更新模块404之后执行。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据处理的方法和一种数据处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图5所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图6所示,主要包括网络接口模块501、交换引擎模块502、CPU模块503、磁盘阵列模块504;
其中,网络接口模块501,CPU模块503、磁盘阵列模块504进来的包均进入交换引擎模块502;交换引擎模块502对进来的包进行查地址表505的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器506的队列;如果包缓存器506的队列接近满,则丢弃;交换引擎模502轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块504主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块503主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表505(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块504的配置。
接入交换机:
如图7所示,主要包括网络接口模块(下行网络接口模块601、上行网络接口模块602)、交换引擎模块603和CPU模块604;
其中,下行网络接口模块601进来的包(上行数据)进入包检测模块605;包检测模块605检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块603,否则丢弃;上行网络接口模块602进来的包(下行数据)进入交换引擎模块603;CPU模块604进来的数据包进入交换引擎模块603;交换引擎模块603对进来的包进行查地址表606的操作,从而获得包的导向信息;如果进入交换引擎模块603的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器607的队列;如果该包缓存器607的队列接近满,则丢弃;如果进入交换引擎模块603的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器607的队列;如果该包缓存器607的队列接近满,则丢弃。
交换引擎模块603轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块608是由CPU模块604来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块604主要负责与节点服务器之间的协议处理,对地址表606的配置,以及,对码率控制模块608的配置。
以太网协转网关:
如图8所示,主要包括网络接口模块(下行网络接口模块701、上行网络接口模块702)、交换引擎模块703、CPU模块704、包检测模块705、码率控制模块708、地址表706、包缓存器707和MAC添加模块709、MAC删除模块710。
其中,下行网络接口模块701进来的数据包进入包检测模块705;包检测模块705检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块710减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块701检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA | SA | Reserved | Payload | CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA | SA | Reserved | 标签 | Payload | CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
Claims (10)
1.一种数据处理的方法,其特征在于,所述方法包括:
接收至少两个请求端对目标数据的访问请求信息;
确定所述访问请求信息包含的操作类型,所述操作类型包括读操作和/或写操作;
若所述访问请求信息中包含多个写操作,则依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据;
当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据的步骤,包括:
为多个所述写操作分配一一对应的原始数据;
将多个所述原始数据依据时序通过链表关联,其中,第一个所述写操作对应的原始数据为所述目标数据的备份数据,后一个所述写操作对应的原始数据为前一个所述写操作对应的执行后的数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述访问请求信息中包含至少一个读操作,则将所述目标数据放入对应的请求端的缓存中。
4.根据权利要求2所述的方法,其特征在于,在所述将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤之后,还包括:
删除多个所述原始数据。
5.根据权利要求2所述的方法,其特征在于,所述依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据的步骤,还包括:
启动定时器,所述定时器用于对当前执行的写操作计时;
当所述定时器计时结束时,判断所述当前执行的写操作是否执行完成;
若所述当前执行的写操作没有执行完成,则将所述当前执行的写操作的原始数据作为后一个写操作的原始数据。
6.根据权利要求2所述的方法,其特征在于,所述当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤,还包括:
启动定时器,所述定时器用于对多个所述写操作计时;
当所述定时器计时结束时,判断当前执行的写操作是否执行完成;
若所述当前执行的写操作没有执行完成,则将所述当前执行的写操作的原始数据替换所述目标数据。
7.根据权利要求2所述的方法,其特征在于,所述当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据的步骤,还包括:
启动定时器,所述定时器用于对多个所述写操作计时;
当所述定时器计时结束时,判断所述最后一个写操作是否执行完成;
若所述最后一个写操作没有执行完成,则不更新所述目标数据。
8.一种数据处理的装置,其特征在于,包括:
接收请求模块,用于接收至少两个请求端对目标数据的访问请求信息;
类型确定模块,用于确定所述访问请求信息包含的操作类型,所述操作类型包括读操作和/或写操作;
操作执行模块,用于若所述访问请求信息中包含多个写操作,则依据所述目标数据和多个所述写操作的时序按序执行所述写操作,并按序得到所述写操作对应的执行后的数据;
数据更新模块,用于当最后一个写操作执行完后,将所述最后一个写操作对应的执行后的数据替换所述目标数据。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行如权利要求1至7所述的一个或多个数据处理的方法。
10.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至7任一项所述的数据处理的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910859764.9A CN110691219A (zh) | 2019-09-11 | 2019-09-11 | 一种数据处理的方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910859764.9A CN110691219A (zh) | 2019-09-11 | 2019-09-11 | 一种数据处理的方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110691219A true CN110691219A (zh) | 2020-01-14 |
Family
ID=69109050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910859764.9A Pending CN110691219A (zh) | 2019-09-11 | 2019-09-11 | 一种数据处理的方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110691219A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268292A (zh) * | 2013-06-13 | 2013-08-28 | 江苏大学 | 一种延长非易失外存寿命的方法及高速长寿外存系统 |
US20130282964A1 (en) * | 2010-05-05 | 2013-10-24 | Microsoft Corporation | Flash memory cache including for use with persistent key-value store |
CN104484471A (zh) * | 2014-12-31 | 2015-04-01 | 天津南大通用数据技术股份有限公司 | 一种高性能数据存储引擎的实现方法 |
CN106406750A (zh) * | 2016-08-23 | 2017-02-15 | 浪潮(北京)电子信息产业有限公司 | 一种数据操作方法及系统 |
CN106599301A (zh) * | 2016-12-29 | 2017-04-26 | 郑州云海信息技术有限公司 | 多客户端并发数据读写加速方法及装置 |
CN110083549A (zh) * | 2019-04-01 | 2019-08-02 | 福建天泉教育科技有限公司 | 一种缓存读写的方法及终端 |
-
2019
- 2019-09-11 CN CN201910859764.9A patent/CN110691219A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130282964A1 (en) * | 2010-05-05 | 2013-10-24 | Microsoft Corporation | Flash memory cache including for use with persistent key-value store |
CN103268292A (zh) * | 2013-06-13 | 2013-08-28 | 江苏大学 | 一种延长非易失外存寿命的方法及高速长寿外存系统 |
CN104484471A (zh) * | 2014-12-31 | 2015-04-01 | 天津南大通用数据技术股份有限公司 | 一种高性能数据存储引擎的实现方法 |
CN106406750A (zh) * | 2016-08-23 | 2017-02-15 | 浪潮(北京)电子信息产业有限公司 | 一种数据操作方法及系统 |
CN106599301A (zh) * | 2016-12-29 | 2017-04-26 | 郑州云海信息技术有限公司 | 多客户端并发数据读写加速方法及装置 |
CN110083549A (zh) * | 2019-04-01 | 2019-08-02 | 福建天泉教育科技有限公司 | 一种缓存读写的方法及终端 |
Non-Patent Citations (5)
Title |
---|
丁正铨: "《计算机网络原理与技术》", 30 September 1995, 四川大学出版社 * |
尹艳辉: "《计算机组成原理教程》", 30 September 2013, 华中科技大学出版社 * |
樊重俊: "《数据库基础及应用》", 28 February 2019, 立信会计出版社 * |
石教英: "《计算机体系结果》", 31 October 1998, 浙江大学出版社 * |
青岛英谷教育科技股份有限公司: "《云计算与大数据概论》", 31 January 2018, 西安电子科技大学出版社 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855610B (zh) | 一种数据包的处理方法、装置及存储介质 | |
CN111193788A (zh) | 一种音视频流负载均衡方法和装置 | |
CN110198345B (zh) | 一种数据请求方法、系统及装置和存储介质 | |
CN110602039A (zh) | 一种数据获取方法和系统 | |
CN111431966B (zh) | 一种业务请求处理方法、装置、电子设备及存储介质 | |
CN111193767B (zh) | 请求数据发送方法、装置和集群化服务器系统 | |
CN110138730B (zh) | 一种协议转换设备的订阅方法、装置及存储介质 | |
CN109151061B (zh) | 一种数据存储方法和装置 | |
CN110730500B (zh) | 一种终端入网方法、服务器、终端、电子设备及存储介质 | |
CN109743360B (zh) | 一种信息处理方法及装置 | |
CN110022500B (zh) | 一种丢包处理方法和装置 | |
CN110493555B (zh) | 请求处理方法、用户终端、核心服务器、设备及存储介质 | |
CN110557411A (zh) | 基于视联网的视频流处理方法及装置 | |
CN110166840B (zh) | 一种业务处理方法、系统及装置 | |
CN110688532B (zh) | 一种事务管理方法和装置 | |
CN110557669B (zh) | 一种视频数据显示方法和装置 | |
CN110177249B (zh) | 基于视联网的录像下载方法和装置 | |
CN110225079B (zh) | 一种设备控制方法、装置及可读存储介质 | |
CN110266768B (zh) | 一种数据传输方法和系统 | |
CN109327730B (zh) | 一种数据包下载的方法和装置 | |
CN110475088B (zh) | 一种用户登录的方法和装置 | |
CN109474848B (zh) | 一种基于视联网的视频处理方法、装置、电子设备及介质 | |
CN110475160B (zh) | 一种跨视联网传输视频数据方法和装置 | |
CN110691219A (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN111614714A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200114 |