CN114153578A - 一种数据访问方法、装置、设备及存储介质 - Google Patents

一种数据访问方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114153578A
CN114153578A CN202111382042.2A CN202111382042A CN114153578A CN 114153578 A CN114153578 A CN 114153578A CN 202111382042 A CN202111382042 A CN 202111382042A CN 114153578 A CN114153578 A CN 114153578A
Authority
CN
China
Prior art keywords
function
service thread
controlling
access
read
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
Application number
CN202111382042.2A
Other languages
English (en)
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.)
China Automotive Innovation Co Ltd
Original Assignee
China Automotive Innovation Co 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 China Automotive Innovation Co Ltd filed Critical China Automotive Innovation Co Ltd
Priority to CN202111382042.2A priority Critical patent/CN114153578A/zh
Publication of CN114153578A publication Critical patent/CN114153578A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据访问方法、装置、设备及存储介质,所述方法包括:控制第一服务线程接收多个功能访问请求;根据多个功能访问请求各自对应的功能优先级,控制第一服务线程将多个功能访问请求分别加入到多个对应不同执行优先级的任务队列;根据多个任务队列的执行优先级,控制第一服务线程对多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求;控制第一服务线程通过锁定第一功能访问请求对应的功能优先级的目标读写锁,对第一功能访问请求对应的第一功能组进行访问操作。利用本申请的技术方案能够根据功能优先级对功能访问请求进行高效地调度执行,从而提升功能优先级较高的功能组的访问效率,减小访问时延。

Description

一种数据访问方法、装置、设备及存储介质
技术领域
本申请涉及汽车电子技术领域,具体涉及一种数据访问方法、装置、设备及存储介质。
背景技术
AUTOSAR(Automotive Open System Architecture,汽车开放系统架构)是由全球汽车制造商、零部件供应商以及研究、服务机构共同参与的汽车开放系统架构联盟建立的一种汽车嵌入式系统软件架构。AP(Adaptive Platform,自适应性平台)是AUTOSAR推出的一种应用于高级驾驶辅助系统和自动驾驶等领域的自适应性平台。SM(State Management,状态管理)是AP平台中的一个服务功能集群,负责管理设备状态功能组及根据业务需求所配置的其他功能组的功能组状态,其中,其他功能组中的每一功能组可以为车载终端设备上实现对应功能的一组进程,每个功能组至少有一个进程。
然而,如图1所示,当前SM对功能组的管理是通过单一化加锁技术来实现的,当SM内部的服务线程接收到外部应用发送的功能访问请求,想要去读取某个或某些功能组状态,或想要更改某个或某些功能组状态时,都需要先获得互斥锁后才能对相关的功能组进行访问操作,因此,在互斥锁被占用的情况下,一些对响应要求较高的外部应用可能会因为当前服务线程无法及时对功能组状态进行访问,而导致业务功能上的延迟。因此,需要提供更加有效的技术方案。
发明内容
本申请提供了一种数据访问方法、装置、设备及存储介质,可以根据功能优先级对功能访问请求进行高效地调度执行,从而提升功能优先级较高的功能组的访问效率,减小访问时延。
本申请技术方案如下:
一方面,提供了一种数据访问方法,所述方法包括:
控制第一服务线程接收多个功能访问请求;
根据所述多个功能访问请求各自对应的功能优先级,控制所述第一服务线程将所述多个功能访问请求分别加入到多个对应不同执行优先级的任务队列,多个所述任务队列的执行优先级分别与所述多个功能访问请求对应的功能优先级一一对应;
根据所述多个任务队列的执行优先级,控制所述第一服务线程对所述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求;
控制所述第一服务线程通过锁定目标功能优先级的目标读写锁,对所述第一功能访问请求对应的第一功能组进行访问操作,所述目标功能优先级为所述第一功能访问请求对应的功能优先级。
另一方面,提供了一种数据访问装置,所述装置包括:
功能访问请求接收模块,用于控制第一服务线程接收多个功能访问请求;
任务队列加入模块,用于根据所述多个功能访问请求各自对应的功能优先级,控制所述第一服务线程将所述多个功能访问请求分别加入到多个对应不同执行优先级的任务队列,多个所述任务队列的执行优先级分别与所述多个功能访问请求对应的功能优先级一一对应;
任务调度模块,用于根据所述多个任务队列的执行优先级,控制所述第一服务线程对所述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求;
访问操作模块,用于控制所述第一服务线程通过锁定目标功能优先级的目标读写锁,对所述第一功能访问请求对应的第一功能组进行访问操作,所述目标功能优先级为所述第一功能访问请求对应的功能优先级。
另一方面,提供了一种数据访问设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的数据访问方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的数据访问方法。
本申请提供的数据访问方法、装置、设备及存储介质,具有如下技术效果:
利用本申请提供的技术方案,一方面,在服务线程的内部设置有多个执行优先级的任务队列,根据多个功能访问请求各自对应的功能优先级,将所述多个功能访问请求分别加入到与各自的功能优先级对应的执行优先级的任务队列,并根据多个任务队列的执行优先级,控制服务线程对多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求,提升了不同功能优先级的功能访问请求的调度执行效率;另一方面,通过锁定第一功能访问请求的功能优先级对应的目标读写锁,对第一功能访问请求对应的第一功能组进行访问操作,提升了功能优先级高的功能组的访问效率,减小访问时延。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是一种数据访问操作的示意图;
图2是本申请实施例提供的一种数据访问方法的流程示意图;
图3是本申请实施例提供的一种根据上述多个任务队列的执行优先级,控制第一服务线程对上述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求的流程示意图;
图4是本申请实施例提供的一种控制第一服务线程通过锁定目标功能优先级的目标读写锁,对第一功能访问请求对应的第一功能组进行访问操作的流程示意图;
图5是本申请实施例提供的另一种控制第一服务线程通过锁定目标功能优先级的目标读写锁,对第一功能访问请求对应的第一功能组进行访问操作的流程示意图;
图6是本申请实施例提供的一种数据访问操作的示意图;
图7是本申请实施例提供的一种数据访问装置示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
AUTOSAR(Automotive Open System Architecture,汽车开放系统架构)是由全球汽车制造商、零部件供应商以及研究、服务机构共同参与的汽车开放系统架构联盟建立的一种汽车嵌入式系统软件架构。AP(Adaptive Platform,自适应性平台)是AUTOSAR推出的一种应用于高级驾驶辅助系统和自动驾驶等领域的自适应性平台。
SM(State Management,状态管理)是AP平台中的一个服务功能集群,负责管理设备状态功能组及根据业务需求所配置的其他功能组的功能组状态,其中,其他功能组中的每一功能组可以为车载终端设备上实现对应功能的一组进程,每个功能组至少有一个进程,每个功能组对应的功能组状态定义了当SM请求相应功能组进入到对应状态时,配置在该状态下的哪些进程会被启动。
在实际应用中,SM可以对功能组进行状态初始化,对来自用户应用程序的各种输入事件进行评估和决策,以确定功能组的状态,同时请求AP平台中的EM(ExecutionManagement,执行管理)对功能组执行状态的切换。
以下介绍本申请实施例提供的一种数据访问方法,图2为本申请实施例提供的一种数据访问方法的流程示意图。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,上述方法可以包括:
S201,控制第一服务线程接收多个功能访问请求。
在实际应用中,SM可以通过预设的服务端口与SM外部的多个应用程序进行交互,每个应用程序可以通过服务端口向SM发起功能访问请求,并由SM将功能访问请求分配给SM中的服务线程。
在本说明书实施例中,第一服务线程可以为SM的多个服务线程中的任一服务线程;每个功能访问请求可以携带有请求访问的功能组的标识信息,功能组可以为车载终端设备上实现对应功能的一组进程。
S203,根据上述多个功能访问请求各自对应的功能优先级,控制第一服务线程将上述多个功能访问请求分别加入到多个对应不同执行优先级的任务队列,多个上述任务队列的执行优先级分别与上述多个功能访问请求对应的功能优先级一一对应。
在本说明书实施例中,可以预先根据实际应用中车载终端设备的业务运行与控制情况设置功能优先级的多个级别,SM的多个外部应用可以按照实际业务需求对自己所关联的各个功能组配置对应的功能优先级;相应的,SM的每个服务线程内部的多个任务队列可以分别配置与上述功能优先级的级别一一对应的执行优先级。
具体的,根据上述多个功能访问请求中的每个功能访问请求对应的目标功能组的功能优先级,控制第一服务线程分别将每个功能访问请求加入到与各自的功能优先级对应的执行优先级的任务队列中,由第一线程按照执行优先级对多个任务队列进行调度执行。
S205,根据上述多个任务队列的执行优先级,控制第一服务线程对上述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求。
在一个具体的实施例中,如图3所示,上述根据上述多个任务队列的执行优先级,控制第一服务线程对上述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求可以包括:
S301,根据上述多个任务队列的执行优先级,控制第一服务线程确定当前调度到的任务队列。
S303,控制第一服务线程将上述当前调度到的任务队列中的第一个功能访问请求作为第一功能访问请求。
由以上实施例可见,在服务线程的内部配置与多个功能优先级一一对应的多个执行优先级的队列,根据功能访问请求对应的功能优先级,将外部应用发起的功能访问请求放入相应的执行优先级的任务队列,并根据多个任务队列的执行优先级,对多个任务队列中的功能访问请求进行任务调度,能够根据功能优先级对功能访问请求进行高效地调度执行,从而提升功能优先级较高的功能组的访问效率,减小访问时延。
S207,控制第一服务线程通过锁定目标功能优先级的目标读写锁,对第一功能访问请求对应的第一功能组进行访问操作,上述目标功能优先级为第一功能访问请求对应的功能优先级。
在实际应用中,读写锁将操作分为读、写两种方式,多个服务线程可以同时占用读模式的读写锁,使得读写锁具有更高的并行性。
在一些实施例中,如图4所示,上述控制第一服务线程通过锁定目标功能优先级的目标读写锁,对第一功能访问请求对应的第一功能组进行访问操作可以包括:
S401,控制第一服务线程确定第一功能访问请求的访问操作类型。
具体的,访问操作类型可以包括读取功能组状态和更改功能组状态。
S403,在第一功能访问请求的访问操作类型为读取功能组状态的情况下,控制第一服务线程以读模式对目标读写锁进行锁定。
S405,控制第一服务线程读取第一功能组的状态信息。
在一个可选的实施例中,在上述控制第一服务线程以读模式对目标读写锁进行锁定之前,上述方法还可以包括:
在存在第二服务线程通过锁定目标读写锁的读模式,对上述目标功能优先级的任一功能组进行访问操作的情况下,执行上述控制第一服务线程以读模式对目标读写锁进行锁定的步骤。
具体的,由于以读模式锁定目标读写锁是一种共享锁定,因此第一服务线程和第二服务线程可以同时通过目标读写锁以读模式并发访问目标功能优先级下的功能组。
在另一个可选的实施例中,在上述控制第一服务线程以读模式对目标读写锁进行锁定之前,上述方法还可以包括:
在存在第二服务线程通过锁定目标读写锁的写模式,对上述目标功能优先级的任一功能组进行访问操作的情况下,控制第一服务线程进入阻塞状态直至第二服务线程对目标读写锁的写模式锁定解除;
在第二服务线程对目标读写锁的写模式锁定解除的情况下,执行上述控制第一服务线程以读模式对目标读写锁进行锁定的步骤。
具体的,由于以写模式锁定目标读写锁是一种独占锁定,因此在第二服务线程独占目标读写锁的情况下,第一服务线程进入阻塞状态等待第二服务线程解除锁定。
在另一些实施例中,如图5所示,在上述控制第一服务线程确定第一功能访问请求的访问操作类型之后,上述方法还可以包括:
S407,在第一功能访问请求的访问操作类型为更改功能组状态的情况下,控制第一服务线程以写模式对目标读写锁进行锁定。
S409,控制第一服务线程更改第一功能组的状态信息。
在一个具体的实施例中,在上述控制第一服务线程以写模式对目标读写锁进行锁定之前,上述方法还可以包括:
在存在第二服务线程通过锁定目标读写锁,对上述目标功能优先级的任一功能组进行访问操作的情况下,控制第一服务线程进入阻塞状态直至第二服务线程对目标读写锁的锁定解除;
在第二服务线程对目标读写锁的锁定解除的情况下,执行上述控制第一服务线程以写模式对目标读写锁进行锁定的步骤。
具体的,由于第一服务线程对目标读写锁的写模式锁定是一种独占锁定,因此,在第二服务线程已经锁定目标读写锁的情况下,第一服务线程无法独占目标读写锁,因此,第一服务线程进入阻塞状态等待第二服务线程解除锁定。
在另一些实施例中,在上述控制第一服务线程通过锁定目标功能优先级的目标读写锁,对第一功能访问请求对应的第一功能组进行访问操作之前,上述方法还可以包括:
在存在第二服务线程通过锁定其他功能优先级的读写锁对上述其他功能优先级的任一功能组进行访问操作的情况下,执行上述控制第一服务线程通过锁定目标功能优先级的目标读写锁,对第一功能访问请求对应的第一功能组进行访问操作的步骤,上述其他功能优先级为除目标功能优先级之外的任一功能优先级。
具体的,可以为每个功能优先级的组别分别配置对应的读写锁,以使第一服务线程与第二服务线程可以同时访问不同功能优先级下的功能组,提升了不同功能优先级的功能组的并发访问效率。
由以上实施例可见,对多个功能组按照功能优先级进行分组管理,每个功能优先级下的多个功能组通过对应的读写锁进行管理,使得多个服务线程可以同时通过读写锁对同一功能优先级的功能组并发读操作访问,还可以同时访问不同功能优先级下的功能组,提升了功能组的并发访问效率从而提升了功能访问请求的响应速度。
在一个具体的实施例中,如图6所示,图6是本申请实施例提供的一种数据访问操作的示意图,以功能优先级的级别为功能优先级0、功能优先级1和功能优先级2为例,其中,功能优先级的数值越小,优先等级越高。SM中的功能组可以包括但不限于设备状态功能组、功能组1、功能组2、…、功能组n。设备状态功能组为对整个设备平台进行管理的功能组,因此,将设备状态功能组的功能优先级配置为最高等级的功能优先级0,将用于服务高优先级需求的自动驾驶应用的功能组1和功能组2的功能优先级配置为功能优先级1,而将分别用于服务其他应用的功能组3至功能组n的功能优先级配置为功能优先级2,例如,其他应用可以为智能座舱功能或娱乐功能相关的应用。
SM内的服务线程可以包括服务线程a、b、…、m,具体的,服务线程的数量可以根据设备的业务应用运行情况及设备所包含的核数来设置,每个服务线程依据外部应用发起的功能访问请求的功能优先级将功能访问请求放入与该功能优先级对应的执行优先级的任务队列,功能访问请求由服务线程中的调度任务按照任务队列的执行优先级进行统一调度。
对于同一功能优先级的功能组采用读写锁进行读操作并发访问,例如,在服务线程a通过读写锁1对功能优先级1的功能组1进行读操作访问的同时,服务线程b也可以通过读写锁1对功能优先级1的功能组2进行读操作访问;不同功能优先级的功能组可以通过各自优先级的对应的读写锁并发访问,例如,在服务线程a通过读写锁1对功能优先级1的功能组2进行访问的同时,服务线程b也可以通过读写锁2对功能优先级2的功能组3进行访问。
由以上说明书实施例提供的技术方案可见,一方面,在服务线程的内部设置有多个执行优先级的任务队列,根据多个功能访问请求各自对应的功能优先级,将所述多个功能访问请求分别加入到与各自的功能优先级对应的执行优先级的任务队列,并根据多个任务队列的执行优先级,控制服务线程对多个任务队列中的功能访问请求进行任务调度,能够根据功能优先级对功能访问请求进行高效地调度执行,从而提升功能优先级较高的功能组的访问效率,减小访问时延;另一方面,每个功能优先级下的多个功能组通过对应的读写锁进行管理,使得多个服务线程可以同时通过读写锁对同一功能优先级的功能组并发读操作访问,还可以同时访问不同功能优先级下的功能组,提升了功能组的并发访问效率从而提升了功能访问请求的响应速度。
本申请实施例提供了一种数据访问装置,如图7所示,上述装置可以包括:
功能访问请求接收模块710,用于控制第一服务线程接收多个功能访问请求;
任务队列加入模块720,用于根据上述多个功能访问请求各自对应的功能优先级,控制上述第一服务线程将上述多个功能访问请求分别加入到多个对应不同执行优先级的任务队列,多个上述任务队列的执行优先级分别与上述多个功能访问请求对应的功能优先级一一对应;
任务调度模块730,用于根据上述多个任务队列的执行优先级,控制上述第一服务线程对上述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求;
访问操作模块740,用于控制上述第一服务线程通过锁定目标功能优先级的目标读写锁,对上述第一功能访问请求对应的第一功能组进行访问操作,上述目标功能优先级为上述第一功能访问请求对应的功能优先级。
在一个具体的实施例中,上述任务调度模块730可以包括:
任务队列调度单元,用于根据上述多个任务队列的执行优先级,控制第一服务线程确定当前调度到的任务队列;
第一功能访问请求单元,用于控制第一服务线程将上述当前调度到的任务队列中的第一个功能访问请求作为第一功能访问请求。
在一些实施例中,上述访问操作模块740可以包括:
访问操作类型确定单元,用于控制第一服务线程确定第一功能访问请求的访问操作类型;
读模式锁定单元,用于在第一功能访问请求的访问操作类型为读取功能组状态的情况下,控制第一服务线程以读模式对目标读写锁进行锁定;
状态信息读取单元,用于控制第一服务线程读取第一功能组的状态信息。
在另一些实施例中,上述访问操作模块740还可以包括:
写模式锁定单元,用于在第一功能访问请求的访问操作类型为更改功能组状态的情况下,控制第一服务线程以写模式对目标读写锁进行锁定;
状态信息更改单元,用于控制第一服务线程更改第一功能组的状态信息。
本申请实施例提供了一种数据访问设备,该数据访问设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的数据访问方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据上述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在车载终端或者类似的运算装置中执行,即上述数据访问设备可以包括车载终端或者类似的运算装置。
本申请实施例还提供了一种存储介质,上述存储介质可设置于车载终端之中以保存用于实现方法实施例中一种的数据访问方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的数据访问方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请提供数据访问方法、装置、设备或存储介质的实施例可见,利用本说明书实施例提供的技术方案,一方面,在服务线程的内部设置有多个执行优先级的任务队列,根据多个功能访问请求各自对应的功能优先级,将所述多个功能访问请求分别加入到与各自的功能优先级对应的执行优先级的任务队列,并根据多个任务队列的执行优先级,控制服务线程对多个任务队列中的功能访问请求进行任务调度,能够根据功能优先级对功能访问请求进行高效地调度执行,从而提升功能优先级较高的功能组的访问效率,减小访问时延;另一方面,每个功能优先级下的多个功能组通过对应的读写锁进行管理,使得多个服务线程可以同时通过读写锁对同一功能优先级的功能组并发读操作访问,还可以同时访问不同功能优先级下的功能组,提升了功能组的并发访问效率从而提升了功能访问请求的响应速度。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,上述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种数据访问方法,其特征在于,所述方法包括:
控制第一服务线程接收多个功能访问请求;
根据所述多个功能访问请求各自对应的功能优先级,控制所述第一服务线程将所述多个功能访问请求分别加入到多个对应不同执行优先级的任务队列,多个所述任务队列的执行优先级分别与所述多个功能访问请求对应的功能优先级一一对应;
根据所述多个任务队列的执行优先级,控制所述第一服务线程对所述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求;
控制所述第一服务线程通过锁定目标功能优先级的目标读写锁,对所述第一功能访问请求对应的第一功能组进行访问操作,所述目标功能优先级为所述第一功能访问请求对应的功能优先级。
2.根据权利要求1所述的方法,其特征在于,所述控制所述第一服务线程通过锁定目标功能优先级的目标读写锁,对所述第一功能访问请求对应的第一功能组进行访问操作包括:
控制所述第一服务线程确定所述第一功能访问请求的访问操作类型;
在所述第一功能访问请求的访问操作类型为读取功能组状态的情况下,控制所述第一服务线程以读模式对所述目标读写锁进行锁定;
控制所述第一服务线程读取所述第一功能组的状态信息。
3.根据权利要求2所述的方法,其特征在于,在所述控制所述第一服务线程确定所述第一功能访问请求的访问操作类型之后,所述方法还包括:
在所述第一功能访问请求的访问操作类型为更改功能组状态的情况下,控制所述第一服务线程以写模式对所述目标读写锁进行锁定;
控制所述第一服务线程更改所述第一功能组的状态信息。
4.根据权利要求2所述的方法,其特征在于,在所述控制所述第一服务线程以读模式对所述目标读写锁进行锁定之前,所述方法还包括:
在存在第二服务线程通过锁定所述目标读写锁的读模式,对所述目标功能优先级的任一功能组进行访问操作的情况下,执行所述控制所述第一服务线程以读模式对所述目标读写锁进行锁定的步骤。
5.根据权利要求2所述的方法,其特征在于,在所述控制所述第一服务线程以读模式对所述目标读写锁进行锁定之前,所述方法还包括:
在存在第二服务线程通过锁定所述目标读写锁的写模式,对所述目标功能优先级的任一功能组进行访问操作的情况下,控制所述第一服务线程进入阻塞状态直至所述第二服务线程对所述目标读写锁的写模式锁定解除;
在所述第二服务线程对所述目标读写锁的写模式锁定解除的情况下,执行所述控制所述第一服务线程以读模式对所述目标读写锁进行锁定的步骤。
6.根据权利要求3所述的方法,其特征在于,在所述控制所述第一服务线程以写模式对所述目标读写锁进行锁定之前,所述方法还包括:
在存在第二服务线程通过锁定所述目标读写锁,对所述目标功能优先级的任一功能组进行访问操作的情况下,控制所述第一服务线程进入阻塞状态直至所述第二服务线程对所述目标读写锁的锁定解除;
在所述第二服务线程对所述目标读写锁的锁定解除的情况下,执行所述控制所述第一服务线程以写模式对所述目标读写锁进行锁定的步骤。
7.根据权利要求1所述的方法,其特征在于,在所述控制所述第一服务线程通过锁定目标功能优先级的目标读写锁,对所述第一功能访问请求对应的第一功能组进行访问操作之前,所述方法还包括:
在存在第二服务线程通过锁定其他功能优先级的读写锁对所述其他功能优先级的任一功能组进行访问操作的情况下,执行所述控制所述第一服务线程通过锁定所述目标功能优先级的目标读写锁,对所述第一功能访问请求对应的第一功能组进行访问操作的步骤,所述其他功能优先级为除所述目标功能优先级之外的任一功能优先级。
8.根据权利要求1至7任一所述的方法,其特征在于,所述根据所述多个任务队列的执行优先级,控制所述第一服务线程对所述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求包括:
根据所述多个任务队列的执行优先级,控制所述第一服务线程确定当前调度到的任务队列;
控制所述第一服务线程将所述当前调度到的任务队列中的第一个功能访问请求作为所述第一功能访问请求。
9.一种数据访问装置,特征在于,所述装置包括:
功能访问请求接收模块,用于控制第一服务线程接收多个功能访问请求;
任务队列加入模块,用于根据所述多个功能访问请求各自对应的功能优先级,控制所述第一服务线程将所述多个功能访问请求分别加入到多个对应不同执行优先级的任务队列,多个所述任务队列的执行优先级分别与所述多个功能访问请求对应的功能优先级一一对应;
任务调度模块,用于根据所述多个任务队列的执行优先级,控制所述第一服务线程对所述多个任务队列中的功能访问请求进行任务调度,确定当前调度到的第一功能访问请求;
访问操作模块,用于控制所述第一服务线程通过锁定目标功能优先级的目标读写锁,对所述第一功能访问请求对应的第一功能组进行访问操作,所述目标功能优先级为所述第一功能访问请求对应的功能优先级。
10.一种数据访问设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至8任一所述的数据访问方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1至8任一所述的数据访问方法。
CN202111382042.2A 2021-11-19 2021-11-19 一种数据访问方法、装置、设备及存储介质 Pending CN114153578A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111382042.2A CN114153578A (zh) 2021-11-19 2021-11-19 一种数据访问方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111382042.2A CN114153578A (zh) 2021-11-19 2021-11-19 一种数据访问方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114153578A true CN114153578A (zh) 2022-03-08

Family

ID=80456931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111382042.2A Pending CN114153578A (zh) 2021-11-19 2021-11-19 一种数据访问方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114153578A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302105A (zh) * 2023-03-17 2023-06-23 平头哥(上海)半导体技术有限公司 访问指令调度方法、系统、硬盘及控制器、存储介质和程序产品
CN116546469A (zh) * 2023-07-06 2023-08-04 交通运输部公路科学研究所 一种车规级无线短距离通信芯片

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302105A (zh) * 2023-03-17 2023-06-23 平头哥(上海)半导体技术有限公司 访问指令调度方法、系统、硬盘及控制器、存储介质和程序产品
CN116302105B (zh) * 2023-03-17 2024-03-12 平头哥(上海)半导体技术有限公司 访问指令调度方法、系统、硬盘及控制器、存储介质和程序产品
CN116546469A (zh) * 2023-07-06 2023-08-04 交通运输部公路科学研究所 一种车规级无线短距离通信芯片
CN116546469B (zh) * 2023-07-06 2023-09-08 交通运输部公路科学研究所 一种车规级无线短距离通信芯片

Similar Documents

Publication Publication Date Title
CN105988872B (zh) 一种cpu资源分配的方法、装置及电子设备
CN110647394B (zh) 一种资源分配方法、装置及设备
EP1837762B1 (en) Scheduling method, scheduling device, and multiprocessor system
CN114153578A (zh) 一种数据访问方法、装置、设备及存储介质
US5826082A (en) Method for reserving resources
US8875146B2 (en) Systems and methods for bounding processing times on multiple processing units
US9778962B2 (en) Method for minimizing lock contention among threads when tasks are distributed in multithreaded system and apparatus using the same
US20060130062A1 (en) Scheduling threads in a multi-threaded computer
US20130080672A1 (en) System, method and computer program product for access control
TWI460659B (zh) 用於降低競爭之鎖定窗
US8984521B2 (en) Computer system performance by applying rate limits to control block tenancy
EP1923784A1 (en) Scheduling method, and scheduling device
WO2004012080A2 (en) Method for dynamically allocating and managing resources in a computerized system having multiple consumers
EP1187019B1 (en) Resource management
CN103729480A (zh) 一种多核实时操作系统多个就绪任务快速查找及调度方法
US20100083272A1 (en) Managing pools of dynamic resources
CN116225728B (zh) 基于协程的任务执行方法、装置、存储介质及电子设备
CN111709723B (zh) Rpa业务流程智能处理方法、装置、计算机设备和存储介质
CN111124674B (zh) 一种硬件资源的管理方法、存储介质及终端
WO2018133821A1 (en) Memory-aware plan negotiation in query concurrency control
US8589942B2 (en) Non-real time thread scheduling
US7454579B1 (en) Managing access to shared resources
JP2008140123A (ja) 複数プログラムの制御管理方法および制御管理装置
CN112114958A (zh) 资源隔离方法、分布式平台、计算机设备和存储介质
US9158582B2 (en) Method for managing the threads of execution in a computer unit, and computer unit configured to implement said method

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