操作系统资源访问方法和系统的制作方法
【专利摘要】一种操作系统资源访问方法和系统,其中该方法包括步骤:建立与第三方应用程序对应的服务程序,该服务程序为独立运行的后台可执行应用程序;将所述第三方应用程序的访问请求发送至所述服务程序;通过所述服务程序根据所述访问请求访问操作系统资源。本发明的技术,采用“服务”的方式来实现第三方应用程序对操作系统资源的访问,无需修改第三方应用程序的安装方式和用户权限,通过与其对应的后台可执行应用程序来访问操作系统,避免了修改用户组权限带来的安全风险和误操作影响,提高了第三方应用程序访问操作系统资源的安全性和稳定性。
【专利说明】操作系统资源访问方法和系统【技术领域】
[0001]本发明涉及数据访问技术,特别是涉及一种操作系统资源访问方法和系统。
【背景技术】
[0002]在一些智能终端的操作系统(如IOS、android等)中,一般系统默认内置的后台程序具有管理员(root)权限,可以访问操作系统资源。而用户自行安装的第三方应用程序,则只有一般用户(mobile)权限,只能访问有限的公共资源,而不能直接访问系统资源,第三方应用程序一般是以“沙盒”形式存在,非代码文件都保存在该“沙盒”中,例如图像,图标,声音,映像,属性列表,文本文件等,第三方应用程序只能在为其所创建的文件系统中读取文件,没有权限直接对操作系统进行访问请求,获取数据或修改数据等。
[0003]现有技术当中,当第三方应用程序需要获取和修改操作系统资源时,通常是修改第三方应用程序的安装格式和安装目录,采用第三方安装包格式(如deb、pxl格式)来打包应用程序,然后利用第三方安装包格式的特性,将第三方应用程序直接安装到系统级应用程序目录中,并修改应用程序权限为管理员权限,从而使得第三方应用程序具有权限可以直接访问和操作系统资源。
[0004]但采用上述修改方式,部分第三方应用程序安装时修改用户组权限,同时把安装目录、应用程序权限设置为最高,从而使得在安装目录下其他应用程序也同时获得最高权限,使得其他应用程序可以不受限制访问和修改系统的受限资源,存在较大的安全风险。
[0005]另外,第三方应用程序安装成功后,应用程序获得了系统的最高权限,如果使用不当,容易导致具有原始访问权限的应用程序不能正常访问该系统资源,甚至会导致发生卡死、程序崩溃等情况,严重影响了操作系统的稳定性。
【发明内容】
[0006]基于此,有必要提供一种安全性高、稳定性高的操作系统资源访问方法和系统。
[0007]—种操作系统资源访问方法,包括如下步骤:
[0008]建立与第三方应用程序对应的服务程序,该服务程序为独立运行的后台可执行应用程序;
[0009]将所述第三方应用程序的访问请求发送至所述服务程序;
[0010]通过所述服务程序根据所述访问请求访问操作系统资源。
[0011]一种操作系统资源访问系统,其特征在于,包括:
[0012]服务建立模块,用于建立与第三方应用程序对应的服务程序,该服务程序为独立运行的后台可执行应用程序;
[0013]请求发送模块,用于将所述第三方应用程序的访问请求发送至所述服务程序;
[0014]请求访问模块,用于通过所述服务程序根据所述访问请求访问操作系统资源。
[0015]上述操作系统资源访问 方法和系统,采用“服务”的方式来实现第三方应用程序对操作系统资源的访问,无需修改第三方应用程序的安装方式和用户权限,通过与其对应的后台可执行应用程序来访问操作系统,避免了修改用户组权限带来的安全风险和误操作影响,提高了第三方应用程序访问操作系统资源的安全性和稳定性。
【专利附图】
【附图说明】
[0016]图1为一个实施例的操作系统资源访问方法流程图;
[0017]图2为一个实施例的操作系统资源访问系统结构示意图。
【具体实施方式】
[0018]下面结合附图对本发明的操作系统资源访问方法的【具体实施方式】作详细描述。
[0019]图1示出了一个实施例的操作系统资源访问方法流程图,主要包括如下步骤:
[0020]步骤SlO:建立与第三方应用程序对应的服务程序,该服务程序为独立运行的后台可执行应用程序,用于访问操作系统资源。
[0021]在本步骤中,主要是针对于第三方应用程序建立相互独立的与其进行数据交互的后台可执行应用程序。
[0022]在一个实施例中,依据第三方应用程序所需要访问请求的操作系统资源,建立独立的“服务内容”的后台可执行的服务程序,包括信息服务程序、收藏联系人服务程序、电话铃声服务程序和/或通话记录服务程序等,每个服务程序对应于一个独立的功能,用于对操作系统的信息、收藏联系人、电话铃声和/或通话记录等进行数据读取、删除或修改等。
[0023]由于每一个服务程序本质上为一个可独立运行的后台可执行应用程序,与操作系统的后台程序运行方式完全相同,所以服务程序和系统自带后台程序可以安装在相同目录下,从而获得管理员权限,无需修改对应的用户组权限,其随操作系统启动并在后台运行,实时响应第三方应用程序的服务请求。
[0024]步骤S20:将所述第三方应用程序的访问请求发送至所述服务程序。
[0025]在本步骤中,当第三方应用程序要对操作系统进行访问时,直接访问与其对应的在后台运行的服务程序。
[0026]在一个实施例中,第三方应用程序采用TCP/IP或Http方式发送所述访问请求至所述服务程序。
[0027]对于访问请求,可以设置成数据包形式,该数据包主要包括:第三方应用程序的ID号、访问时间戳、请求内容及请求响应方式等,后台的服务程序通过ID号和访问时间戳来进行安全验证,避免其它应用程序的非法请求;请求内容用于标记请求的具体操作,如获取、修改或删除用户A的通讯录;请求响应方式用于标记后台的服务程序对于访问请求的响应方式,如同步响应或异步响应。
[0028]步骤S30:通过所述服务程序根据所述访问请求访问操作系统资源。
[0029]在本步骤中,通过服务程序与操作系统进行数据交互,由操作系统响应服务程序的访问请求。
[0030]在一个实施例中,访问请求包括获取操作系统资源(如读取数据)的请求及对操作系统资源执行操作(如删除数据、修改数据等)的请求。
[0031]若所述访问请求为获取操作系统资源的请求,则由服务程序解析该访问请求,根据访问请求中的相关参数打开操作系统的数据库,查询对应的操作系统资源,并将其进行封装后发送至对应的第三方应用程序;
[0032]若所述访问请求为对操作系统资源执行操作的请求,则由服务程序解析该访问请求,根据所述访问请求中的相关参数调用操作系统的应用程序接口,对操作系统资源执行相应的操作,并将操作结果(如操作成功或失败)发送至对应的第三方应用程序。
[0033]为了更加清晰本发明的技术方案,下面阐述基于本发明的操作系统资源访问方法实现的应用示例。
[0034]示例一:第三方应用程序请求获取操作系统的通话记录;
[0035]建立与第三方应用程序对应的通话记录服务程序,随操作系统启动并在在后台运行,用于对操作系统的通话记录进行访问,当第三方应用程序启动后,需要显示用户历史通话记录时,第三方应用程序通过TCP/IP或者Http方式向在后台运行的通话记录服务程序发送访问请求,请求内容包括:(I)当前第三方应用程序的ID号和访问时间戳;(2)访问内容:获取用户A的通话记录;(3)请求响应方式:同步响应和异步响应方式。后台的通话记录服务程序在收到访问请求并通过安全验证后,打开操作系统的通话记录数据库,通过sql语句查询到用户A的通话记录,该通话记录包括唯一标示的ID号、拨入/拨出号码、通话时间等。通话记录服务程序将获取的通话记录进行转换(去掉不需要的字段)和封装,然后同步或异步通过TCP/IP或者Http方式发送至对应的第三方应用程序,至此完成访问过程。
[0036]示例二:第三方应用程序请求删除操作系统通话记录;
[0037]建立与第三方应用程序对应的通话记录服务程序,随操作系统启动并在后台运行,用于对操作系统的通话记录进行访问,当第三方应用程序启动后,需要显示用户历史通话记录时,第三方应用程序通过TCP/IP或者Http方式向在后台运行的通话记录服务程序发送访问请求,请求内容包括:⑴当前第三方应用程序的ID号和访问时间戳;(2)访问内容:删除用户A的通话记录;(3)请求响应方式:同步响应和异步响应方式。后台的通话记录服务程序在收到访问请求并通过安全验证后,打开操作系统的通话记录数据库,通过sql语句查询到用户A的通话记录,该通话记录包括唯一标示的ID号、拨入/拨出号码、通话时间等。调用操作系统删除通话的API (应用程序)接口删除用户A的通话记录,然后同步或异步通过TCP/IP或者Http方式将操作结果(成功与否)发送至对应的第三方应用程序,至此完成访问过程。
[0038]由于部分系统资源数据是保存在内存中,直接删除操作系统的数据库内容,在操作系统重启后,一般会把内存中数据回重新写到数据库中,从而删除失败。优选的,当后台的通话记录服务程序收到第三方应用程序的删除通话记录的请求后,采用调用操作系统的API接口,利用现有操作系统自带接口去删除内存和数据库中的对应数据,而不是直接去除数据库中的通话记录,保证了操作系统的稳定性和系统资源数据的完整性,避免直接删除数据库的数据而导致产生系统错误,确保了操作系统的安全运行。
[0039]本发明的操作系统资源访问方法,采用“服务”模式来实现第三方应用程序和操作系统稳定互通,使得仍然存放在“沙盒”中的第三方应用程序可以快捷、稳定的访问操作系统资源,避免了第三方应用程序直接访问造成对操作系统稳定性的影响。
[0040]同时,由于每个服务程序相互独立,服务程序只与第三方应用程序进行数据交互,可以很方便的对第三方应用程序进行“增量”更新,当增加一个服务程序时,只要发布一个增量安装包,更新第三方应用程序及新增的后台服务程序即可,减少安装包的数据量,节省流量。
[0041]进一步地,服务程序可以与已经发布的第三方应用程序进行覆盖安装,完美兼容,简化了第三方安装格式包繁琐的安装、卸载操作,如在IOS系统中,用户在安装完第三方应用程序后,通过在第三方应用程序设计升级按钮,当用户点击该升级按钮时,第三方应用程序跳转到IOS系统的cydia程序,利用cydia下载对应的后台服务程序的deb包进行安装,第三方应用程序即可利用该服务程序来获取及操作操作系统资源。
[0042]下面结合附图对本发明的操作系统资源访问系统的【具体实施方式】作详细描述。
[0043]图2示出了一个实施例的操作系统资源访问系统结构示意图,主要包括:服务建立模块10、请求发送模块20及请求访问模块30。
[0044]所述服务建立模块10,用于建立与第三方应用程序对应的服务程序,该服务程序为独立运行的后台可执行应用程序,用于访问操作系统资源。
[0045]在一个实施例中,所述服务程序包括:信息服务程序、收藏联系人服务程序、电话铃声服务程序和/或通话记录服务程序。
[0046]所述请求发送模块20,用于将所述第三方应用程序的访问请求发送至所述服务程序。
[0047]在一个实施例中,请求发送模块20采用TCP/IP或Http方式发送所述访问请求。
[0048]在一个实施例中,所述访问请求包括:第三方应用程序的ID号、访问时间戳、请求内容及请求响应方式。
[0049]所述请求访问模块30,用于通过所述服务程序根据所述访问请求访问操作系统资源。
[0050]在一个实施例中,所述请求访问模块30进一步用于:
[0051]若所述访问请求为获取操作系统资源的请求,则由所述服务程序解析所述访问请求,根据所述访问请求打开操作系统的数据库,查询对应的操作系统资源,并将其进行封装后发送至对应的第三方应用程序;
[0052]若所述访问请求为对操作系统资源执行操作的请求,则由所述服务程序解析所述访问请求,根据所述访问请求调用操作系统的应用程序接口,对操作系统资源执行相应的操作,并将操作结果发送至对应的第三方应用程序。
[0053]本发明的操作系统资源访问系统与本发明的操作系统资源访问方法一一对应,在上述操作系统资源访问方法的实施例阐述的技术特征及其有益效果均适用于操作系统资源访问系统的实施例中。
[0054]本领域普通技术人员可以理解实现上述实施方式中的全部或部分流程,以及对应的系统,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施方式的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccess Memory, RAM)等。
[0055]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种操作系统资源访问方法,其特征在于,包括如下步骤: 建立与第三方应用程序对应的服务程序,该服务程序为独立运行的后台可执行应用程序; 将所述第三方应用程序的访问请求发送至所述服务程序; 通过所述服务程序根据所述访问请求访问操作系统资源。
2.根据权利要求1所述的操作系统资源访问方法,其特征在于,所述服务程序包括:信息服务程序、收藏联系人服务程序、电话铃声服务程序和/或通话记录服务程序。
3.根据权利要求1所述的操作系统资源访问方法,其特征在于,采用TCP/IP或Hp方式发送所述访问请求。
4.根据权利要求1所述的操作系统资源访问方法,其特征在于,所述访问请求包括:第三方应用程序的ID号、访问时间戳、请求内容及请求响应方式。
5.根据权利要求1所述的操作系统资源访问方法,其特征在于,通过所述服务程序根据所述访问请求访问操作系统资源的步骤包括: 若所述访问请求为获取操作系统资源的请求,则由所述服务程序解析所述访问请求,根据所述访问请求打开操作系统的数据库,查询对应的操作系统资源,并将其进行封装后发送至对应的第三方应用程序; 若所述访问请求为对操作系统资源执行操作的请求,则由所述服务程序解析所述访问请求,根据所述访问请求调用操作系统的应用程序接口,对操作系统资源执行相应的操作,并将操作结果发送至对应的第三方应用程序。
6.一种操作系统资源访问系统,其特征在于,包括: 服务建立模块,用于建立与第三方应用程序对应的服务程序,该服务程序为独立运行的后台可执行应用程序; 请求发送模块,用于将所述第三方应用程序的访问请求发送至所述服务程序; 请求访问模块,用于通过所述服务程序根据所述访问请求访问操作系统资源。
7.根据权利要求6所述的操作系统资源访问系统,其特征在于,所述服务程序包括:信息服务程序、收藏联系人服务程序、电话铃声服务程序和/或通话记录服务程序。
8.根据权利要求6所述的操作系统资源访问系统,其特征在于,采用TCP/IP或Http方式发送所述访问请求。
9.根据权利要求6所述的操作系统资源访问系统,其特征在于,所述访问请求包括:第三方应用程序的ID号、访问时间戳、请求内容及请求响应方式。
10.根据权利要求6所述的操作系统资源访问系统,其特征在于,所述请求访问模块进一步用于: 若所述访问请求为获取操作系统资源的请求,则由所述服务程序解析所述访问请求,根据所述访问请求打开操作系统的数据库,查询对应的操作系统资源,并将其进行封装后发送至对应的第三方应用程序; 若所述访问请求为对操作系统资源执行操作的请求,则由所述服务程序解析所述访问请求,根据所述访问请求调用操作系统的应用程序接口,对操作系统资源执行相应的操作,并将操作结果发送至对应的第三方应用程序。
【文档编号】G06F9/44GK103885763SQ201210562962
【公开日】2014年6月25日 申请日期:2012年12月21日 优先权日:2012年12月21日
【发明者】叶礼伟, 李斌 申请人:腾讯科技(深圳)有限公司