数据处理方法和装置、电子设备及计算机可读存储介质与流程

文档序号:25543474发布日期:2021-06-18 20:40
数据处理方法和装置、电子设备及计算机可读存储介质与流程

本申请涉及数据处理技术领域,具体而言,涉及一种数据处理方法和装置、电子设备及计算机可读存储介质。



背景技术:

安防平台下的资源存在父资源和子资源的概念。安防平台之间进行共享资源的推送时,最好先推送父资源再推送子资源,避免平台在处理子资源的信息时因为找不到其父资源而出错。多线程处理资源推送时,无法确认先开始处理的线程先处理完成。为了保证推送顺序,现有实现方案一般是将资源做分类,推送前区分开组织、相机、告警源/语音输出。先单线程推送所有的组织(为了避免组织层级推送错误,所以单线程处理),所有组织推送完成后,再多线程推送相机,当所有相机推送完成后,再推送告警源/语音输出。

在现有技术中,上述将组织专门作为一类资源进行处理的方式,因组织间存在层级关系,需要保证推送的顺序,所以只能单线程进行推送。当组织数量较多时,资源推送的性能会下降很多,从而存在着数据处理的效率低的问题。



技术实现要素:

有鉴于此,本申请的目的在于提供一种数据处理方法和装置、电子设备及计算机可读存储介质,以改善现有技术中存在的问题。

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

一种数据处理方法,包括:

获取待处理的资源信息;

将所述待处理的资源信息放入共享结构体,并判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源;

若不存在所述待处理的资源信息对应的父资源,则将所述待处理的资源信息标记为可推送状态。

在本申请实施例较佳的选择中,所述共享结构体包括处理节点和所述处理节点对应的处理链,所述将所述待处理的资源信息标记为可推送状态的步骤,包括:

将所述待处理的资源信息对应的状态链指向处理节点,并将所述待处理的资源信息加入处理链。

在本申请实施例较佳的选择中,所述数据处理方法还包括:

对标记为可推送状态的至少一个资源信息进行推送处理。

在本申请实施例较佳的选择中,所述对标记为可推送状态的至少一个资源信息进行推送处理的步骤,包括:

对处理链包括的至少一个资源信息进行推送处理。

在本申请实施例较佳的选择中,所述数据处理方法还包括:

在推送处理完成后,从所述共享结构体中删除处理完成的资源信息对应的节点。

在本申请实施例较佳的选择中,所述数据处理方法还包括:

若存在所述待处理的资源信息对应的父资源,则将所述待处理的资源信息标记为不可推送状态。

在本申请实施例较佳的选择中,所述共享结构体包括等待节点和所述等待节点对应的等待链,所述将所述待处理的资源信息标记为不可推送状态的步骤,包括:

将所述待处理的资源信息对应的状态链指向等待节点,并将所述待处理的资源信息加入等待链。

本申请实施例还提供了一种数据处理装置,包括:

信息获取模块,用于获取待处理的资源信息;

判断模块,用于将所述待处理的资源信息放入共享结构体,并判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源;

信息标记模块,用于在不存在所述待处理的资源信息对应的父资源时,将所述待处理的资源信息标记为可推送状态。

本申请实施例还提供了一种电子设备,包括存储器和处理器,所述处理器用于执行所述存储器中存储的可执行的计算机程序,以实现上述的数据处理方法。

本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现上述数据处理方法的步骤。

本申请实施例提供的数据处理方法和装置、电子设备及计算机可读存储介质,通过将共享结构体中不存在对应的父资源的待处理的资源信息标记为可推送状态,以对待处理的资源信息进行统一地处理,只考虑资源信息之间的父子约束关系,避免了现有技术中对组织信息进行单独处理,所导致的数据处理的效率低的问题。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的电子设备的结构框图。

图2为本申请实施例提供的数据处理方法的流程示意图。

图3为本申请实施例提供的数据处理方法的另一流程示意图。

图4为本申请实施例提供的数据处理装置的结构框图。

图标:10-电子设备;12-存储器;14-处理器;100-数据处理装置;110-信息获取模块;120-判断模块;130-信息标记模块。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

如图1所示,本申请实施例提供了一种电子设备10。其中,所述电子设备10可以包括存储器12、处理器14和数据处理装置100。

详细地,所述存储器12和处理器14之间直接或间接地电性连接,以实现数据的传输或交互。例如,相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据处理装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器12中的软件功能模块。所述处理器14用于执行所述存储器12中存储的可执行的计算机程序,例如,所述数据处理装置100所包括的软件功能模块及计算机程序等,以实现数据处理方法。

其中,所述存储器12可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

所述处理器14可能是一种集成电路芯片,具有信号的处理能力。上述的处理器14可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)、片上系统(systemonchip,soc)等。

可以理解,图1所示的结构仅为示意,所述电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

结合图2,本申请实施例还提供一种可应用于上述电子设备10的数据处理方法。其中,所述数据处理方法有关的流程所定义的方法步骤可以由所述电子设备10实现,下面将对图2所示的具体流程进行详细阐述。

步骤s110,获取待处理的资源信息。

在本申请实施例中,所述待处理的资源信息可以有多种获取方式,例如,可以通过用户输入的数据得到。

步骤s120,将所述待处理的资源信息放入共享结构体,并判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源,若不存在所述待处理的资源信息对应的父资源,则执行步骤s130。

在本申请实施例中,通过步骤s110获取所述待处理的资源信息之后,可以将所述待处理的资源信息放入共享结构体,并判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源。

步骤s130,将所述待处理的资源信息标记为可推送状态。

在本申请实施例中,通过步骤s120判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源之后,在不存在所述待处理的资源信息对应的父资源时,可以将所述待处理的资源信息标记为可推送状态。

通过上述方法,通过将共享结构体中不存在对应的父资源的待处理的资源信息标记为可推送状态,以对待处理的资源信息进行统一地处理,只考虑资源信息之间的父子约束关系,避免了现有技术中对组织信息进行单独处理,所导致的数据处理的效率低的问题。

对于步骤s110,需要说明的是,所述资源信息的具体种类不受限制,可以根据实际应用需求进行设置。

例如,在一种可以替代的示例中,所述资源信息可以包括组织信息。组织信息是虚拟出来的一种资源类型,相当于文件夹,方便对资源信息进行管理。举例说明,第一组织信息的名称是b市c区d街道,编码是3301000000132000。第二组织信息的名称是b市c区d街道e路,编码是33010000001320000001。第三组织信息的名称是b市c区,编码是330100000013。因此,第二组织信息就是第一组织信息的子资源,第三组织信息就是第一组织信息的父资源。

又例如,在另一种可以替代的示例中,所述资源信息可以包括相机信息。举例说明,第一相机信息的名称是b市c区d街道第一相机,编码是3301000000132000a。第二相机信息的名称是b市c区d街道e路第二相机,编码是33010000001320000001a。第三相机信息的名称是b市c区第三相机,编码是330100000013a。并且,需要说明的是,相机信息可以是组织信息的子资源,所述第一相机信息可以是所述第一组织信息的子资源,表示所述第一相机位于所述第一组织信息对应的b市c区d街道。所述第二相机信息可以是所述第二组织信息的子资源,表示所述第二相机位于所述第二组织信息对应的b市c区d街道e路。所述第三相机信息可以是所述第三组织信息的子资源,表示所述第三相机位于所述第三组织信息对应的b市c区。所述第一相机信息、第二相机信息和第三相机信息可以是所述第三组织的子资源,表示所述第一相机、第二相机和第三相机位于所述第三组织信息对应的b市c区。

又例如,在另一种可以替代的示例中,所述资源信息可以包括告警源信息。告警源信息是虚拟出来的一种资源类型,可以表示告警信号发出的位置。举例说明,第一告警源信息可以表示b市c区d街道第一告警信号,编码是3301000000132000b。第二告警源信息可以表示b市c区d街道e路第二告警信号,编码是33010000001320000001b。第三告警源信息可以表示b市c区第三告警信号,编码是330100000013b。并且,需要说明的是,告警源信息可以是相机信息的子资源,所述第一告警源信息可以是所述第一相机信息的子资源,表示所述第一告警信号是从b市c区d街道发出。所述第二告警源信息可以是所述第二相机信息的子资源,表示所述第二告警信号是从b市c区d街道e路发出。所述第三告警源信息可以是所述第三相机信息的子资源,表示所述第三告警信号是从b市c区发出。所述第一告警源信息、第二告警源信息和第三告警源信息可以是所述第三相机信息的子资源,表示所述第一告警信号、第二告警信号和第三告警信号是从b市c区发出。

又例如,在另一种可以替代的示例中,所述资源信息可以包括语音信息。举例说明,第一语音信息可以表示b市c区d街道第一语音信号,编码是3301000000132000c。第二语音信息可以表示b市c区d街道e路第二语音信号,编码是33010000001320000001c。第三语音信息可以表示b市c区第三语音信号,编码是330100000013c。并且,需要说明的是,语音信息可以是相机信息的子资源,所述第一语音信息可以是所述第一相机信息的子资源,表示所述第一语音信号是从b市c区d街道发出。所述第二语音信息可以是所述第二相机信息的子资源,表示所述第二告警信号是从b市c区d街道e路发出。所述第三语音信息可以是所述第三相机信息的子资源,表示所述第三告警信号是从b市c区发出。所述第一语音信息、第二语音信息和第三语音信息可以是所述第三相机信息的子资源,表示所述第一告警信号、第二告警信号和第三告警信号是从b市c区发出。

也就是说,相机信息可以是组织信息的子资源,告警源信息和语音信息可以是相机信息的子资源。

对于步骤s120,需要说明的是,在现有技术中,组织信息专门作为一类资源信息进行处理,因组织信息间存在层级关系,为了保证推送的顺序,只能单线程推送。当组织信息的数量较多时,资源推送的性能会下降很多。现有技术中的方案可扩展性不强,当协议中重新定义存在父子关系的资源类型时,需要重新设置新增资源信息的处理逻辑,当需要分批推送的资源信息的类型较多时,资源推送性能也会下降。现有技术中的方案并发不够高,当推送完一个组织信息时,实际上此组织信息下的所有相机信息都可以开始推送,但是现有技术中的方案需要等待所有组织信息推送完成后再推送相机信息。

本申请实施例提供了一种可以多线程推送资源信息并保证推送顺序的方法,首先设计了新的数据结构,在内存中将父子资源的约束关系表示出来,并记录资源是否处于可推送的状态。根据资源信息间的关系进行判断,实时更改资源信息的状态,实现高并发的资源信息推送,同时保证先推送父资源后推送子资源。在数据结构中不关心资源信息的类型,只关心资源信息间的父子约束关系,方便后续扩展。本申请实施例设计了新的数据结构(以下称共享结构体),可以表示出资源信息间的父子关系和资源的状态(能否推送)。在资源信息推送之前先将资源信息放入内存中的共享结构体内,再从共享结构体中取出进行处理。

其中,所述判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源的具体方式不受限制,可以根据实际应用需求进行设置。

例如,在一种可以替代的示例中,步骤s120可以包括以下子步骤:

首先,获取共享结构体中所有资源信息的编码。其次,将所述待处理的资源信息对应的父资源的编码与所述所有资源信息的编码进行比较,判断是否存在所述待处理的资源信息对应的父资源。

进一步地,通过步骤s120判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源之后,在不存在所述待处理的资源信息对应的父资源时,可以将所述待处理的资源信息标记为可推送状态。

可选地,所述将所述待处理的资源信息标记为可推送状态的具体方式不受限制,可以根据实际应用需求进行设置。

例如,在一种可以替代的示例中,所述共享结构体包括处理节点和所述处理节点对应的处理链,步骤s130可以包括以下子步骤:

将所述待处理的资源信息对应的状态链指向处理节点,并将所述待处理的资源信息加入处理链。

需要说明的是,对于每一个待处理的资源信息来说,该待处理的资源信息可以对应一条状态链,状态链可以包括该待处理的资源信息对应的父链、子链、兄弟链和共享资源信息。其中,所述共享资源信息可以包括该待处理的资源信息和对应的父资源、子资源、兄弟资源的编码。

进一步地,在对所述待处理的资源信息标记完成后,所述数据处理方法还可以包括以下子步骤:

对标记为可推送状态的至少一个资源信息进行推送处理。

也就是说,本申请实施例中可以对资源信息进行统一推送,并发处理可推送状态的资源信息。

可选地,所述对标记为可推送状态的至少一个资源信息进行推送处理的具体方式不受限制,可以根据实际应用需求进行设置。

例如,在一种可以替代的示例中,所述对标记为可推送状态的至少一个资源信息进行推送处理的步骤可以包括以下子步骤:

对处理链包括的至少一个资源信息进行推送处理。

需要说明的是,在推送开始时,可以并发在处理链上对资源信息对应的节点进行推送。举例说明,处理链可以包括组织信息1(a省)、组织信息2(a省b市)、组织信息3(a省c市)、组织信息4(a省b市d区)、组织信息5(a省b市e区)、相机信息1(a省b市d区相机01)、相机信息2(a省b市d区相机02)、相机信息3(a省b市d区相机03)、告警源信息1(a省b市d区相机01告警源01)、告警源信息2(a省b市d区相机01告警源02)、语音信息1(a省b市d区相机01语音01)和语音信息2(a省b市d区相机01语音02)。

其中,组织信息2和组织信息3为组织信息1的子资源,且组织信息2和组织信息3互为兄弟资源,组织信息4和组织信息5为组织信息2的子资源,且组织信息4和组织信息5互为兄弟资源。相机信息1、相机信息2和相机信息3为组织信息4的子资源,且相机信息1、相机信息2和相机信息3互为兄弟资源。告警源信息1和告警源信息2为相机信息1的子资源,且告警源信息1和告警源信息2互为兄弟资源。语音信息1和语音信息2为相机信息1的子资源,且语音信息1和语音信息2互为兄弟资源。

在对处理链包括的资源信息开始进行推送处理时,先对组织信息1进行处理,组织信息1处于处理状态,其余资源信息处于等待状态。对组织信息1处理完成后,组织信息1的子资源——组织信息2和组织信息3变更为处理状态以开始进行处理。在对组织信息2处理完成后,组织信息2的子资源——组织信息4和组织信息5变更为处理状态以开始进行处理,并不需要等待组织信息3处理完成,可以进行多线程处理。

进一步地,所述数据处理方法还可以包括以下子步骤:

在推送处理完成后,从所述共享结构体中删除处理完成的资源信息对应的节点。

也就是说,在推送完成后,可以从共享结构体中删除处理完的资源信息对应的节点。在删除资源信息对应的节点时,可以根据该资源信息对应的状态链中的子链判断该资源信息是否有子资源,如果有子资源,则将子资源和子资源的兄弟资源对应的所有节点从等待链移动至处理链上,然后继续并发对处理链上的节点进行处理。

进一步地,通过步骤s120判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源之后,在存在所述待处理的资源信息对应的父资源时,结合图3,所述数据处理方法还可以包括步骤s140。

步骤s140,将所述待处理的资源信息标记为不可推送状态。

可选地,所述将所述待处理的资源信息标记为不可推送状态的具体方式不受限制,可以根据实际应用需求进行设置。

例如,在一种可以替代的示例中,所述共享结构体包括等待节点和所述等待节点对应的等待链,所述将所述待处理的资源信息标记为不可推送状态的步骤可以包括以下子步骤:

将所述待处理的资源信息对应的状态链指向等待节点,并将所述待处理的资源信息加入等待链。

需要说明的是,当所述共享结构体中存在所述待处理的资源信息对应的父资源时,可以将所述待处理的资源信息对应的状态链中的父链指向父资源所在节点,状态链指向等待节点,用于标记此资源暂不可推送。如果父资源没有对应的子资源,可以将父资源对应的状态链中的子链指向当前节点,如果父资源有对应的子资源,可以将父资源对应的状态链中的兄弟链指向当前节点。

结合图4,本发明实施例还提供了一种数据处理装置100,可以应用于上述的电子设备10。其中,该数据处理装置100可以包括信息获取模块110判断模块120和信息标记模块130。

所述信息获取模块110,用于获取待处理的资源信息。在本实施例中,所述信息获取模块110可以用于执行图2所示的步骤s110,关于所述信息获取模块110的相关内容可以参照前文对步骤s110的具体描述。

所述判断模块120,用于将所述待处理的资源信息放入共享结构体,并判断所述共享结构体中是否存在所述待处理的资源信息对应的父资源。在本实施例中,所述判断模块120可以用于执行图2所示的步骤s120,关于所述判断模块120的相关内容可以参照前文对步骤s120的具体描述。

所述信息标记模块130,用于在不存在所述待处理的资源信息对应的父资源时,将所述待处理的资源信息标记为可推送状态。在本实施例中,所述信息标记模块130可以用于执行图2所示的步骤s130,关于所述信息标记模块130的相关内容可以参照前文对步骤s130的具体描述。

在本申请实施例中,对应于上述的数据处理方法,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序运行时执行上述数据处理方法的各个步骤。

其中,前述计算机程序运行时执行的各步骤,在此不再一一赘述,可参考前文对所述数据处理方法的解释说明。

综上所述,本申请实施例提供的数据处理方法和装置、电子设备及计算机可读存储介质,通过将共享结构体中不存在对应的父资源的待处理的资源信息标记为可推送状态,以对待处理的资源信息进行统一地处理,只考虑资源信息之间的父子约束关系,避免了现有技术中对组织信息进行单独处理,所导致的数据处理的效率低的问题。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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