基于索引队列的任务间通信方法、装置、计算机设备制造方法及图纸

技术编号:25947707 阅读:23 留言:0更新日期:2020-10-17 03:39
本发明专利技术公开了一种基于索引队列的任务间通信方法、装置、计算机设备。其中,所述方法包括:创建数据数组和索引数组,该数据数组和索引数组都支持随机访问,根据该数据数组和索引数组,构建多个索引队列,其中,该每个索引队列有足够的索引项,每个索引项最多只能在一个索引队列中,索引项在索引队列中的先后顺序表示数据之间的有序关系,该索引数组中的索引项与该数据数组中的数据项一一对应,对该索引队列进行队列初始化,从经队列初始化后的索引队列中申请一个索引项,将该申请的索引项与该数据数组中的数据项相对应,将该相对应后的索引项添加到该经队列初始化后的索引队列中的目的索引队列。通过上述方式,能够实现任务能够随机访问数据项。

【技术实现步骤摘要】
基于索引队列的任务间通信方法、装置、计算机设备
本专利技术涉及任务间通信
,尤其涉及一种基于索引队列的任务间通信方法、装置、计算机设备。
技术介绍
基于操作系统的应用软件开发,由于操作系统的调度,都会面临任务间通信的问题。任务间通信,包括将数据或字符串从一个任务传递给另一个任务的通信过程。然而,现有的任务间通信方案,一般是采用消息队列方式来进行任务间的数据通信,但是消息队列不支持数据项的随机访问,无法实现任务能够随机访问数据项。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种基于索引队列的任务间通信方法、装置、计算机设备,能够实现任务能够随机访问数据项。根据本专利技术的一个方面,提供一种基于索引队列的任务间通信方法,包括:创建数据数组和索引数组,所述数据数组和索引数组都支持随机访问;根据所述数据数组和所述索引数组,构建多个索引队列;其中,所述每个索引队列有足够的索引项,所述每个索引项最多只能在一个索引队列中,索引项在索引队列中的先后顺序表示数据之间的有序关系,所述索引数组中的索引项与所述数据数组中的数据项一一对应;对所述构建的索引队列进行队列初始化;从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项添加到所述经队列初始化后的索引队列中的目的索引队列。其中,所述对所述构建的索引队列进行队列初始化,包括:为所述构建的索引队列分配空间足够的空数据数组和空索引数组,建立所述空数据数组和所述空索引数组之间的一一对应关系,和根据所述建立的一一对应关系,填写索引项的队列属性,生成空闲队列,根据所述空闲队列,对所述构建的索引队列进行队列初始化。其中,所述从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项添加到所述经队列初始化后的索引队列中的目的索引队列,包括:以互斥方式,从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项以互斥方式添加到所述经队列初始化后的索引队列中的目的索引队列。其中,在所述从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项添加到所述经队列初始化后的索引队列中的目的索引队列之后,还包括:配置所述数据数组和索引数组都支持顺序访问。根据本专利技术的另一个方面,提供一种基于索引队列的任务间通信装置,包括:创建模块、构建模块、初始化模块和添加模块;所述创建模块,用于创建数据数组和索引数组,所述数据数组和索引数组都支持随机访问;所述构建模块,用于根据所述数据数组和所述索引数组,构建多个索引队列;其中,所述每个索引队列有足够的索引项,所述每个索引项最多只能在一个索引队列中,索引项在索引队列中的先后顺序表示数据之间的有序关系,所述索引数组中的索引项与所述数据数组中的数据项一一对应;所述初始化模块,用于对所述构建的索引队列进行队列初始化;所述添加模块,用于从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项添加到所述经队列初始化后的索引队列中的目的索引队列。其中,所述初始化模块,具体用于:为所述构建的索引队列分配空间足够的空数据数组和空索引数组,建立所述空数据数组和所述空索引数组之间的一一对应关系,和根据所述建立的一一对应关系,填写索引项的队列属性,生成空闲队列,根据所述空闲队列,对所述构建的索引队列进行队列初始化。其中,所述添加模块,具体用于:以互斥方式,从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项以互斥方式添加到所述经队列初始化后的索引队列中的目的索引队列。其中,所述基于索引队列的任务间通信装置,还包括:配置模块;所述配置模块,用于配置所述数据数组和索引数组都支持顺序访问。根据本专利技术的又一个方面,提供一种计算机设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一项所述的基于索引队列的任务间通信方法。根据本专利技术的再一个方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的基于索引队列的任务间通信方法。可以发现,以上方案,可以创建数据数组和索引数组,该数据数组和索引数组都支持随机访问,和可以根据该数据数组和该索引数组,构建多个索引队列,其中,该每个索引队列有足够的索引项,该每个索引项最多只能在一个索引队列中,索引项在索引队列中的先后顺序表示数据之间的有序关系,该索引数组中的索引项与该数据数组中的数据项一一对应,和可以对该构建的索引队列进行队列初始化,以及可以从经队列初始化后的索引队列中申请一个索引项,将该申请的索引项与该数据数组中的数据项相对应,将该相对应后的索引项添加到该经队列初始化后的索引队列中的目的索引队列,能够实现任务能够随机访问数据项。进一步的,以上方案,可以为该构建的索引队列分配空间足够的空数据数组和空索引数组,建立该空数据数组和该空索引数组之间的一一对应关系,和根据该建立的一一对应关系,填写索引项的队列属性,生成空闲队列,根据该空闲队列,对该构建的索引队列进行队列初始化,这样的好处是能够保障该经队列初始化后的索引队列所关联的队列的入列、出列、插入和遍历等操作与普通队列一致,能够提高该经队列初始化后的索引队列的普适性。进一步的,以上方案,可以以互斥方式,从经队列初始化后的索引队列中申请一个索引项,将该申请的索引项与该数据数组中的数据项相对应,将该相对应后的索引项以互斥方式添加到该经队列初始化后的索引队列中的目的索引队列,这样的好处是能够实现由于任务间互斥访问的对象是索引队列,获取到索引项后对数据项的耗时处理不需要进行互斥访问,能够显著的提高交互效率。进一步的,以上方案,可以配置该数据数组和索引数组都支持顺序访问,这样的好处是能够实现任务能够随机访问数据项和顺序访问数据项。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术基于索引队列的任务间通信方法一实施例的流程示意图;图2是本专利技术索引数组和数据数组的关系示意图;图3是本专利技术索引数组的索引队列关系示意图;图4是本专利技术基于索引队列的任务间通信方法另一实施例的流程示意图;图5是本专利技术基于索引队列的任务间通信装置一实施例的结构示意图;图6是本专利技术基于索引队列的任务间通信装置另一实施例的结本文档来自技高网...

【技术保护点】
1.一种基于索引队列的任务间通信方法,其特征在于,包括:/n创建数据数组和索引数组,所述数据数组和索引数组都支持随机访问;/n根据所述数据数组和所述索引数组,构建多个索引队列;其中,所述每个索引队列有足够的索引项,所述每个索引项最多只能在一个索引队列中,索引项在索引队列中的先后顺序表示数据之间的有序关系,所述索引数组中的索引项与所述数据数组中的数据项一一对应;/n对所述构建的索引队列进行队列初始化;/n从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项添加到所述经队列初始化后的索引队列中的目的索引队列。/n

【技术特征摘要】
1.一种基于索引队列的任务间通信方法,其特征在于,包括:
创建数据数组和索引数组,所述数据数组和索引数组都支持随机访问;
根据所述数据数组和所述索引数组,构建多个索引队列;其中,所述每个索引队列有足够的索引项,所述每个索引项最多只能在一个索引队列中,索引项在索引队列中的先后顺序表示数据之间的有序关系,所述索引数组中的索引项与所述数据数组中的数据项一一对应;
对所述构建的索引队列进行队列初始化;
从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项添加到所述经队列初始化后的索引队列中的目的索引队列。


2.如权利要求1所述的基于索引队列的任务间通信方法,其特征在于,所述对所述构建的索引队列进行队列初始化,包括:
为所述构建的索引队列分配空间足够的空数据数组和空索引数组,建立所述空数据数组和所述空索引数组之间的一一对应关系,和根据所述建立的一一对应关系,填写索引项的队列属性,生成空闲队列,根据所述空闲队列,对所述构建的索引队列进行队列初始化。


3.如权利要求1所述的基于索引队列的任务间通信方法,其特征在于,所述从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项添加到所述经队列初始化后的索引队列中的目的索引队列,包括:
以互斥方式,从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项以互斥方式添加到所述经队列初始化后的索引队列中的目的索引队列。


4.如权利要求1所述的基于索引队列的任务间通信方法,其特征在于,在所述从经队列初始化后的索引队列中申请一个索引项,将所述申请的索引项与所述数据数组中的数据项相对应,将所述相对应后的索引项添加到所述经队列初始化后的索引队列中的目的索引队列之后,还包括:
配置所述数据数组和索引数组都支持顺序访问。


5.一种基于索引队列的任务间通信装置,其特征在于,包括:
创建模块、构建模块、初始化模块和添加模块;
所述创建模块,用于创建数据数组和索引数组,所...

【专利技术属性】
技术研发人员:徐兴华肖皓天张磊
申请(专利权)人:北京无线电测量研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1