进程间资源共享方法、装置与电子设备制造方法及图纸

技术编号:27568908 阅读:17 留言:0更新日期:2021-03-09 22:15
本公开主要提供一种进程间资源共享方法、装置与电子设备。方法包括:当前进程响应数据访问请求确定待访问的数据对象;所述当前进程对系统服务进程发送基于所述数据对象的第一访问入口分享请求,以便于所述系统服务进程将所述第一访问入口分享请求分发至其管理的至少一个在先进程;所述当前进程根据所述至少一个在先进程返回的至少一个分享型访问入口中的第一分享型访问入口获取所述数据对象的数据访问句柄,所述第一分享型访问入口包括所述数据访问句柄和第一协同工作信息;所述当前进程根据所述第一协同工作信息使用所述数据访问句柄访问所述数据对象。本公开提供的进程间资源共享方法可以提高多个依赖进程对同一数据对象进行协同访问的效率。据对象进行协同访问的效率。据对象进行协同访问的效率。

【技术实现步骤摘要】
进程间资源共享方法、装置与电子设备


[0001]本公开涉及计算机
,具体而言,涉及一种进程间资源共享方法、装置与电子设备。

技术介绍

[0002]在相关Android技术中,进程在访问数据对象时需要通过ContentResolver和系统服务AMS(ActivityManagetService,动态管理服务)向数据对象发起数据访问请求,其中AMS运行在system_server服务进程中,是管理android组件的核心服务,负责了系统中四大组件的启动、切换、调度以及应用进程管理和调度工作。AMS收到数据访问请求后返回一个IContentProvider代理接口,使进程通过这个代理接口获得一个能够访问该数据对象的访问入口Cursor(游标,是Android系统中处理数据的一种方法,为了查看或者处理结果集中的数据,Cursor可以在结果集中一次一行或者多行前进或向后浏览数据)。
[0003]在多个进程需要相互协作地对同一数据对象进行访问时,即多个进程对同一数据对象的访问操作之间有相互依赖关系时,由于Cursor无法跨进程传递,每个进程均需要通过一个单独的Cursor对数据对象进行访问,并在进程间需要进行共享访问位置信息等协作操作时,通过建立数据同步协议来实现进程间的数据访问信息共享。由于对数据对象的操作方式多种多样,无法形成统一规范,所以数据同步协议也随需求不同而不同,造成依赖进程间通讯成本较高。
[0004]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0005]本公开实施例提供一种进程间资源共享方法、装置与电子设备,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的依赖进程访问同一数据对象时沟通成本高、协作效率低的问题。
[0006]根据本公开实施例的第一方面,提供一种进程间资源共享方法,包括:当前进程响应数据访问请求确定待访问的数据对象;所述当前进程对系统服务进程发送基于所述数据对象的第一访问入口分享请求,以便于所述系统服务进程将所述第一访问入口分享请求分发至其管理的至少一个在先进程;所述当前进程根据所述至少一个在先进程返回的至少一个分享型访问入口中的第一分享型访问入口获取所述数据对象的数据访问句柄,所述第一分享型访问入口包括所述数据访问句柄和第一协同工作信息;所述当前进程根据所述第一协同工作信息使用所述数据访问句柄访问所述数据对象。
[0007]在本公开的一种示例性实施例中,还包括:
[0008]所述当前进程如果在预设时间内没有收到所述至少一个分享型访问入口,则获取所述数据对象的访问入口,进而通过所述访问入口获取所述数据对象的数据访问句柄,使用所述数据访问句柄访问所述数据对象。
[0009]在本公开的一种示例性实施例中,还包括:
[0010]所述当前进程响应来自在后进程的第二访问入口分享请求,确定发送给所述在后进程的第二协同工作信息;所述当前进程按预设方式封装所述数据访问句柄和所述第二协同工作信息以形成第二分享型访问入口;所述当前进程对所述在后进程传递所述第二分享型访问入口,以便于所述在后进程通过所述第二分享型访问入口使用所述数据访问句柄访问所述数据对象。
[0011]在本公开的一种示例性实施例中,还包括:
[0012]所述当前进程响应来自在后进程的第二访问入口分享请求,确定发送给所述在后进程的第二协同工作信息;所述当前进程按预设方式封装所述数据访问句柄、所述第二协同工作信息和所述当前进程的通讯接口以形成第三分享型访问入口;所述当前进程对所述在后进程传递所述所述分享型访问接口后,响应所述在后进程根据所述通讯接口发送的连接建立请求,建立连接所述在后进程的通讯通道;所述当前进程通过所述通讯通道获取所述在后进程的第三协同工作信息;所述当前进程根据所述第三协同工作信息,使用所述数据访问句柄访问所述数据对象。
[0013]在本公开的一种示例性实施例中,所述确定发送给所述在后进程的第二协同工作信息包括:所述当前进程判断所述当前进程是否是任务管理进程;在所述当前进程是任务管理进程时,所述当前进程通过已建立的所述通讯通道获取至少一个在后进程的协同工作信息,形成包括所述当前进程的协同工作信息在内的所述第二协同工作信息。
[0014]在本公开的一种示例性实施例中,还包括:
[0015]所述协同工作信息包括访问位置信息,所述在后进程通过所述第二协同工作信息获取正在访问所述数据对象的多个进程的访问位置信息,根据所述多个进程的访问位置信息确认所述在后进程的访问位置,所述访问位置信息包括进程在当前任务的访问行数信息和访问列数信息。
[0016]在本公开的一种示例性实施例中,所述当前进程根据所述第一协同工作信息使用所述数据访问句柄访问所述数据对象包括:
[0017]所述当前进程向系统申请所述数据访问句柄的使用权限;
[0018]如果所述数据访问句柄是占用状态,所述当前进程等待系统分配所述数据访问句柄的使用权限;
[0019]如果所述数据访问句柄不是占用状态,所述当前进程获得所述数据访问句柄的使用权限并通过所述数据访问句柄访问所述数据对象,所述数据访问句柄被系统设置为占用状态。
[0020]在本公开的一种示例性实施例中,所述当前进程按预设方式封装所述数据访问句柄和所述第二协同工作信息以形成第二分享型访问入口包括:所述当前进程基于预设类封装所述数据访问句柄和所述第二协同工作信息以形成所述第二分享型访问入口。
[0021]根据本公开实施例的第二方面,提供一种进程间资源共享装置,包括:数据对象确认模块,设置为当前进程响应数据访问请求确定待访问的数据对象;请求分享模块,设置为所述当前进程对系统服务进程发送基于所述数据对象的第一访问入口分享请求,以便于所述系统服务进程将所述第一访问入口分享请求分发至其管理的至少一个在先进程;数据访问句柄获取模块,设置为所述当前进程根据所述至少一个在先进程返回的至少一个分享型
访问入口中的第一分享型访问入口获取所述数据对象的数据访问句柄,所述第一分享型访问入口包括所述数据访问句柄和第一协同工作信息;数据访问模块,设置为所述当前进程根据所述第一协同工作信息使用所述数据访问句柄访问所述数据对象。
[0022]根据本公开的第三方面,提供一种进程间资源共享装置,包括:存储器;以及耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述任意一项所述的方法。
[0023]根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上述任意一项所述的进程间资源共享方法。
[0024]本公开实施例通过使用分享型访问入口一次性将协同工作信息和数据访问句柄发送给依赖进程,可以使依赖进程同时获得数据访问句柄和协同工作信息,避免多个依赖进程对同一数据的访问依赖于复杂的数据同步协议、避免多个依赖进程各自申请数据访问句本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种进程间资源共享方法,其特征在于,包括:当前进程响应数据访问请求确定待访问的数据对象;所述当前进程对系统服务进程发送基于所述数据对象的第一访问入口分享请求,以便于所述系统服务进程将所述第一访问入口分享请求分发至其管理的至少一个在先进程;所述当前进程根据所述至少一个在先进程返回的至少一个分享型访问入口中的第一分享型访问入口获取所述数据对象的数据访问句柄,所述第一分享型访问入口包括所述数据访问句柄和第一协同工作信息;所述当前进程根据所述第一协同工作信息使用所述数据访问句柄访问所述数据对象。2.如权利要求1所述的进程间资源共享方法,其特征在于,还包括:所述当前进程如果在预设时间内没有收到所述至少一个分享型访问入口,则获取所述数据对象的访问入口,进而通过所述访问入口获取所述数据对象的数据访问句柄,使用所述数据访问句柄访问所述数据对象。3.如权利要求1或2所述的进程间资源共享方法,其特征在于,还包括:所述当前进程响应来自在后进程的第二访问入口分享请求,确定发送给所述在后进程的第二协同工作信息;所述当前进程按预设方式封装所述数据访问句柄和所述第二协同工作信息以形成第二分享型访问入口;所述当前进程对所述在后进程传递所述第二分享型访问入口,以便于所述在后进程通过所述第二分享型访问入口使用所述数据访问句柄访问所述数据对象。4.如权利要求1或2所述的进程间资源共享方法,其特征在于,还包括:所述当前进程响应来自在后进程的第二访问入口分享请求,确定发送给所述在后进程的第二协同工作信息;所述当前进程按预设方式封装所述数据访问句柄、所述第二协同工作信息和所述当前进程的通讯接口以形成第三分享型访问入口;所述当前进程对所述在后进程传递所述所述分享型访问接口后,响应所述在后进程根据所述通讯接口发送的连接建立请求,建立连接所述在后进程的通讯通道;所述当前进程通过所述通讯通道获取所述在后进程的第三协同工作信息;所述当前进程根据所述第三协同工作信息,使用所述数据访问句柄访问所述数据对象。5.如权利要求4所述的进程间资源共享方法,其特征在于,所述确定发送给所述在后进程的第二协同工作信息包括:所述当前进程判断所述当前进程是否是任务管理进程;在所述当前进程是任务管理进程时,所述当前进程通过已建立的所述通讯...

【专利技术属性】
技术研发人员:杜文涛
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1