一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

非侵入式软件开发方法、装置、终端及存储介质与流程

2023-01-15 10:42:28 来源:中国专利 TAG:


1.本发明涉及软件开发技术领域,尤其涉及一种非侵入式软件开发方法、装置、终端及存储介质。


背景技术:

2.在软件开发中,经常出现基于已有程序进行二次开发的场景。在多业务方向的公司中,通常把一些基础的、通用的软件模块给各个业务方向的产品公用,把这些公用的软件模块称为“平台”。在平台的基础上,开发针对具体业务的软件模块,称为“产品”。
3.在传统的管理中,往往平台与产品无论在源代码,还是发布部署上,采用“混合”的方式。比如,产品直接在平台的目录中开发(源码目录混合),编译生成的程序文件,资源、配置文件等也直接使用平台目录结构(部署目录混合)。把这种混合的方式称为“侵入式”。这种方式一次性投入少,但界限不清晰,一个文件不能直接看出是属于平台还是产品,从而产生混乱。比如,难以看出平台和产品的版本;难以验证平台文件和产品文件是否完整;替换平台或产品的版本时,难以确认是否正确,容易残留上一版本的垃圾;平台和产品混合后难以再剥离出平台和产品;平台文件或产品文件容易被勿提交到对方的svn,导致再次整合发布时出现问题;平台文件名和产品文件名冲突;等等。


技术实现要素:

4.本发明实施例提供了一种非侵入式软件开发方法、装置、终端及存储介质,以解决现有技术平台目录和产品目录混合,容易产生混乱的问题。
5.第一方面,本发明实施例提供了一种非侵入式软件开发方法,平台目录和产品目录均为独立目录;平台目录包括平台编译生成目录,产品目录包括产品编译生成目录;非侵入式软件开发方法包括:
6.当产品需使用平台的动态库文件时,通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径;
7.根据平台编译生成目录相对产品编译生成目录的路径,获取所需的平台的动态库文件。
8.在一种可能的实现方式中,通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径,包括:
9.若当前操作系统为windows系统,则通过编译后的执行文件,获取平台编译生成目录创建的清单文件,根据清单文件,获取平台编译生成目录相对产品编译生成目录的路径;
10.若当前操作系统为linux系统或unix系统,则通过编译后的执行文件的rpath标记,获取平台编译生成目录相对平台根目录的路径。
11.在一种可能的实现方式中,非侵入式软件开发方法还包括:
12.通过平台提供的获取文件路径的第一接口函数,实现在产品目录下存在产品目标文件时,使用产品目标文件逻辑覆盖平台目标文件;其中,第一接口函数在产品目录下存在
产品目标文件时,返回产品目标文件的绝对路径,否则,返回平台目标文件的绝对路径;产品目标文件相对于产品根目录的路径与平台目标文件相对于平台根目录的路径相同,且产品目标文件和平台目标文件的文件名相同。
13.在一种可能的实现方式中,非侵入式软件开发方法还包括:
14.通过平台提供的获取插件路径的第二接口函数,实现在产品目录下存在产品目标插件时,使用产品目标插件逻辑覆盖平台目标插件;其中,第二接口函数在产品目录下存在产品目标插件时,返回产品目标插件的绝对路径,否则,返回平台目标插件的绝对路径;产品目标插件相对于产品根目录的路径与平台目标插件相对于平台根目录的路径相同,且产品目标插件和平台目标插件的插件名相同。
15.在一种可能的实现方式中,平台目录包括平台头文件目录;非侵入式软件开发方法还包括:
16.通过在传递给编译器的参数中增加平台头文件目录的路径,以实现产品通过平台头文件目录的路径,使用平台的头文件。
17.在一种可能的实现方式中,非侵入式软件开发方法还包括:
18.通过在传递给编译器的参数中增加平台编译生成目录的路径,以实现产品通过平台编译生成目录的路径,使用平台的库文件。
19.第二方面,本发明实施例提供了一种非侵入式软件开发装置,平台目录和产品目录均为独立目录;平台目录包括平台编译生成目录,产品目录包括产品编译生成目录;非侵入式软件开发装置包括:
20.路径获取模块,用于当产品需使用平台的动态库文件时,通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径;
21.动态库获取模块,用于根据平台编译生成目录相对产品编译生成目录的路径,获取所需的平台的动态库文件。
22.在一种可能的实现方式中,路径获取模块具体用于:
23.当产品需使用平台的动态库文件时,若当前操作系统为windows系统,则通过编译后的执行文件,获取平台编译生成目录创建的清单文件,根据清单文件,获取平台编译生成目录相对产品编译生成目录的路径;
24.当产品需使用平台的动态库文件时,若当前操作系统为linux系统或unix系统,则通过编译后的执行文件的rpath标记,获取平台编译生成目录相对平台根目录的路径。
25.第三方面,本发明实施例提供了一种终端,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如上第一方面或第一方面的任一种可能的实现方式所述的非侵入式软件开发方法。
26.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式所述的非侵入式软件开发方法的步骤。
27.本发明实施例提供一种非侵入式软件开发方法、装置、终端及存储介质,通过将平台目录和产品目录分开,各自均为独立目录,基于此实现非侵入式软件开发,从而可以解决侵入式方式带来的混乱的问题;另外,在产品需使用平台的动态库文件时,通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径,并根据所述平台编译生成
目录相对产品编译生成目录的路径,获取所需的平台的动态库文件,来解决产品中需使用平台的动态库的问题。
附图说明
28.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
29.图1是本发明实施例提供的非侵入式软件开发方法的流程示意图;
30.图2是本发明实施例提供的开发状态的非侵入式目录结构的示意图;
31.图3是本发明实施例提供的部署状态的非侵入式目录结构的示意图;
32.图4是本发明实施例提供的软件开发流程的示意图;
33.图5是本发明实施例提供的非侵入式软件开发装置的结构示意图;
34.图6是本发明实施例提供的终端的示意图。
具体实施方式
35.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
36.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
37.基于背景技术的介绍,由于侵入式的目录方式容易产生混乱,比如,难以看出平台和产品的版本;难以验证平台文件和产品文件是否完整;替换平台或产品的版本时,难以确认是否正确,容易残留上一版本的垃圾;平台和产品混合后难以再剥离出平台和产品;平台文件或产品文件容易被勿提交到对方的svn,导致两边出现不一致,再次整合发布时出现问题;平台文件名和产品文件名冲突;等等。因此,本技术提出了一种非侵入式的目录,平台目录和产品目录相互独立,基于此提出了一种非侵入式软件开发方法。
38.参见图1,其示出了本发明实施例提供的非侵入式软件开发方法的实现流程图。非侵入式软件开发方法的执行主体可以是终端。
39.在本实施例中,平台目录和产品目录均为独立目录;平台目录包括平台编译生成目录,产品目录包括产品编译生成目录。平台编译生成目录下可以包括平台编译生成的文件,产品编译生成目录可以包括产品编译生成的文件。
40.图2示出了开发状态目录结构,图3示出了部署状态目录结构。其中,开发状态目录结构是指代码库(比如svn版本库、git版本库)中的目录结构,开发人员拉取代码库内容后,可直接在此目录结构中开发、运行、测试。部署状态目录结构是指产品在用户的机器上安装后的目录结构,相比开发状态目录结构,部署状态目录结构去掉了头文件目录和源代码目录。
41.参见图2,开发状态下,平台目录可以包括平台配置目录、平台资源目录、平台头文
件目录、平台代码目录、平台编译生成目录和平台日志目录等目录中的至少一种。开发状态下,产品目录可以包括产品配置目录、产品资源目录、产品头文件目录、产品代码目录、产品编译生成目录和产品日志目录等目录中的至少一种。
42.参见图3,部署状态下,平台目录可以包括平台配置目录、平台资源目录、平台编译生成目录和平台日志目录等目录中的至少一种。部署状态下,产品目录可以包括产品配置目录、产品资源目录、产品编译生成目录和产品日志目录等目录中的至少一种。
43.需要说明的是,图2和图3仅仅是不同状态下的目录结构的一种示例,在实际使用中,包含的目录结构可能更多或更少。开发状态和部署状态下的同名目录下的内容可以是一致的。
44.参见图1,上述非侵入式软件开发方法可以包括:
45.在s101中,当产品需使用平台的动态库文件时,通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径。
46.非侵入式目录结构存在运行时找动态库的问题,即进程启动时找依赖数据库,该行为是操作系统行为。
47.产品代码会用到平台模块提供的接口,若使用的平台库为动态库,则在运行时也需要能成功找到动态库文件。
48.在本实施例中,当产品需使用平台的动态库文件时,在程序运行时,操作系统可以通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径。本实施例对于通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径的实现手段不做具体限制。
49.在s102中,根据平台编译生成目录相对产品编译生成目录的路径,获取所需的平台的动态库文件。
50.操作系统在获取平台编译生成目录相对产品编译生成目录的路径后,可以根据该路径获取到所需的平台的动态库文件。
51.本实施例通过将平台目录和产品目录分开,各自均为独立目录,基于此实现非侵入式软件开发,从而可以解决侵入式方式带来的混乱的问题;另外,在产品需使用平台的动态库文件时,通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径,并根据所述平台编译生成目录相对产品编译生成目录的路径,获取所需的平台的动态库文件,来解决产品中需使用平台的动态库的问题。
52.在一些实施例中,上述s101中的:通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径,可以包括:
53.若当前操作系统为windows系统,则通过编译后的执行文件,获取平台编译生成目录创建的清单文件,根据清单文件,获取平台编译生成目录相对产品编译生成目录的路径;
54.若当前操作系统为linux系统或unix系统,则通过编译后的执行文件的rpath标记,获取平台编译生成目录相对平台根目录的路径。
55.在本实施例中,不同的操作系统,获取平台编译生成目录相对产品编译生成目录的路径的方法不同。
56.在windows系统下,通过清单(manifest)文件的方式获取平台编译生成目录相对产品编译生成目录的路径。可以在平台编译目录下创建清单文件,文件名可以为“平台编译
生成目录名.manifest”,内容参考如下:
57.《?xml version="1.0"encoding="utf-8"standalone="yes"?》
58.《assembly xmlns="urn:schemas-microsoft-com:asm.v1"manifestversion="1.0"》
59.《assemblyidentity name="平台编译生成目录相对产品编译生成目录的路径"processorarchitecture="amd64"version="1.0.0.0"type="win32"/》
60.《file name="xxx.dll"/》
61.列出本目录所有动态库

62.《file name="xxx.dll"/》
63.《/assembly》
64.在编译时给连接器传参,将使用的清单文件信息生成到编译后的执行文件中,在程序运行时,操作系统能够通过编译后的执行文件,找到清单文件,清单文件中包含平台编译生成目录相对产品编译生成目录的路径,因此,通过清单文件可以获取平台编译生成目录相对产品编译生成目录的路径,进而根据该路径找到所需的动态库。
65.qt工程中可使用以下方式设置清单文件:
66.qmake_lflags =\"/manifestdependency:type=\'win32\'name=\'平台编译生成目录相对产品编译生成目录的路径'version=\'1.0.0.0\'language=\'*\'processorarchitecture=\'*\'\"
67.qmake_lflags =\"/manifest:embed\"
68.需要说明的是,此处的name与清单文件中的name要一致。
69.在linux系统或unix系统下,可以使用elf文件中的rpath标记机制解决运行时找动态库的问题,该机制是elf文件标识提供的机制。
70.在编译时给连接器传参,将平台编译生成目录相对产品编译生成目录的路径写入到编译生成的文件的rpath标记中。在程序运行时,操作系统将使用该路径找到所需的动态库。
71.qmake_rpathdir =平台编译生成目录相对产品编译生成目录的路径在一些实施例中,上述非侵入式软件开发方法还可以包括:
72.通过平台提供的获取文件路径的第一接口函数,实现在产品目录下存在产品目标文件时,使用产品目标文件逻辑覆盖平台目标文件;其中,第一接口函数在产品目录下存在产品目标文件时,返回产品目标文件的绝对路径,否则,返回平台目标文件的绝对路径;产品目标文件相对于产品根目录的路径与平台目标文件相对于平台根目录的路径相同,且产品目标文件和平台目标文件的文件名相同。
73.其中,使用产品目标文件逻辑覆盖平台目标文件,是指在代码逻辑上使用产品目标文件覆盖平台目标文件,使得产品可以在存在产品目标文件时,优先使用产品目标文件,而不是将平台目录下的平台目标文件替换为产品目录下的产品目标文件。
74.非侵入式目录结构还存在运行时找资源文件、配置文件的问题。资源文件可以在对应的资源目录下,配置文件可以在对应的配置目录下。上述目标文件可以是目标资源文件和/或目标配置文件。
75.平台、产品都有各自的资源文件(比如图片、翻译等),以及配置文件(比如程序运
行配置等)。
76.在软件开发中存在如下情况:软件模块属于平台,在平台目录下有其默认的资源、配置文件(比如界面上的图片、风格样式、翻译等),但不适用于某产品,产品需要对其进行修改。直接替换平台目录下的文件就回到了“侵入式”的老路,有背景技术中提到的诸多缺点。
[0077]“非侵入式”的解决方案是:软件优先使用产品目录下的同路径、同文件名的目标文件,即产品目录下的文件在代码逻辑上覆盖了平台目录下的相同文件。做法如下:
[0078]
在产品目录下部署产品所需的相关文件,路径、文件名与平台目录下一致;平台路径下的相关文件不动。
[0079]
平台代码中提供获取资源文件、配置文件的统一接口,即第一接口。平台、产品的所有代码均使用这些第一接口获取资源、配置文件。第一接口对应的函数,即第一接口函数为:传入平台目标文件相对平台根目录的相对路径,返回目标文件的绝对路径。
[0080]
第一接口函数的内部实现逻辑为:如果产品目录下存在产品目标文件,则返回产品目录下的产品目标文件的绝对路径;否则,返回平台目录下的平台目标文件的绝对路径。如果产品目录下不存在产品目标文件且平台目录下不存在平台目标文件,则返回失败。
[0081]
本实施例通过接口封装,优先使用产品目录下的目标文件,实现产品在不修改平台文件的情况下,逻辑上覆盖平台的文件。
[0082]
在一些实施例中,上述非侵入式软件开发方法还可以包括:
[0083]
通过平台提供的获取插件路径的第二接口函数,实现在产品目录下存在产品目标插件时,使用产品目标插件逻辑覆盖平台目标插件;其中,第二接口函数在产品目录下存在产品目标插件时,返回产品目标插件的绝对路径,否则,返回平台目标插件的绝对路径;产品目标插件相对于产品根目录的路径与平台目标插件相对于平台根目录的路径相同,且产品目标插件和平台目标插件的插件名相同。
[0084]
其中,使用产品目标插件逻辑覆盖平台目标插件,是指在代码逻辑上使用产品目标插件覆盖平台目标插件,使得产品可以在存在产品目标插件时,优先使用产品目标插件,而不是将平台目录下的平台目标插件替换为产品目录下的产品目标插件。
[0085]
非侵入式目录结构还存在平台加载产品插件库的问题。与解决上述运行时找资源文件、配置文件的问题类似,封装获取插件的接口,即第二接口,对应的函数为第二接口函数,优先使用产品目录下的插件动态库,实现产品在不修改平台插件的情况下,逻辑上覆盖平台的插件。
[0086]
在一些实施例中,平台目录包括平台头文件目录;非侵入式软件开发方法还包括:
[0087]
通过在传递给编译器的参数中增加平台头文件目录的路径,以实现产品通过平台头文件目录的路径,使用平台的头文件。
[0088]
非侵入式目录结构还存在编译时找头文件问题。产品代码会用到平台模块提供的接口,因此需要平台接口的头文件。
[0089]
可以通过给编译器设置头文件目录解决。在传递给编译器的参数中增加平台头文件目录的路径,该路径可以是平台头文件目录的绝对路径,也可以是平台头文件目录的相对路径,该相对路径可以为平台头文件目录相对于对应的工程文件的路径,比如在qt工程中,可以是对应的qt工程文件。在qt工程中可使用以下方式设置:
[0090]
includepath =平台头文件目录的相对路径
[0091]
在一些实施例中,非侵入式软件开发方法还包括:
[0092]
通过在传递给编译器的参数中增加平台编译生成目录的路径,以实现产品通过平台编译生成目录的路径,使用平台的库文件。
[0093]
非侵入式目录结构还存在编译时找库的问题。产品代码会用到平台模块提供的接口,因此在编译时,连接器需要能找到平台编译生成的库文件(比如linux下扩展名so、a,windows下dll、lib文件)。
[0094]
可以通过给连接器设置找库目录解决。在传递给编译器的参数中增加平台编译生成目录的路径,该路径可以是平台编译生成目录的绝对路径,也可以是平台编译生成目录的相对路径,该相对路径可以为平台编译生成目录相对于对应的工程文件的路径,比如在qt工程中,可以是对应的qt工程文件。在qt工程中可使用以下方式设置:
[0095]
#连接器找直接链接的库的路径
[0096]
libs =-l平台编译生成目录的相对路径
[0097]
#连接器找隐含依赖(直接链接的库所链接的库)库的路径
[0098]
qmake_rpathlinkdir =平台编译生成目录的相对路径
[0099]
图4示出了软件开发的相关流程,具体是编译时和运行时的相关流程以及遇到的相关问题。
[0100]
本实施例提出了一种目录结构,在源码状态(开发状态)和部署状态,平台和产品都是独立的目录,泾渭分明,将这种方式称为“非侵入式”。非侵入式目录结构可以解决侵入式目录结构带来的很多混乱问题。示例性地,代码目录独立,平台团队、产品团队分别各自负责,利于管理,比如代码权限管控;单独升级平台,或单独升级产品时,由于文件没有混合,非常清晰,不易出现问题,比如产品修改了平台的文件,平台升级时,覆盖了产品的修改;平台和产品互不修改、替换文件,责权清晰,便于分析定位问题;便于验证部署是否正确,平台、产品各自验证自身文件清单即可。
[0101]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0102]
以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
[0103]
图5示出了本发明实施例提供的非侵入式软件开发装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
[0104]
平台目录和产品目录均为独立目录;平台目录包括平台编译生成目录,产品目录包括产品编译生成目录;如图5所示,非侵入式软件开发装置30可以包括:路径获取模块31和动态库获取模块32。
[0105]
路径获取模块31,用于当产品需使用平台的动态库文件时,通过编译后的执行文件,获取平台编译生成目录相对产品编译生成目录的路径;
[0106]
动态库获取模块32,用于根据平台编译生成目录相对产品编译生成目录的路径,获取所需的平台的动态库文件。
[0107]
在一种可能的实现方式中,路径获取模块31具体用于:
[0108]
当产品需使用平台的动态库文件时,若当前操作系统为windows系统,则通过编译后的执行文件,获取平台编译生成目录创建的清单文件,根据清单文件,获取平台编译生成目录相对产品编译生成目录的路径;
[0109]
当产品需使用平台的动态库文件时,若当前操作系统为linux系统或unix系统,则通过编译后的执行文件的rpath标记,获取平台编译生成目录相对平台根目录的路径。
[0110]
在一种可能的实现方式中,非侵入式软件开发装置30还可以包括:目标文件逻辑覆盖模块。
[0111]
目标文件逻辑覆盖模块,用于通过平台提供的获取文件路径的第一接口函数,实现在产品目录下存在产品目标文件时,使用产品目标文件逻辑覆盖平台目标文件;其中,第一接口函数在产品目录下存在产品目标文件时,返回产品目标文件的绝对路径,否则,返回平台目标文件的绝对路径;产品目标文件相对于产品根目录的路径与平台目标文件相对于平台根目录的路径相同,且产品目标文件和平台目标文件的文件名相同。
[0112]
在一种可能的实现方式中,非侵入式软件开发装置30还可以包括:目标插件逻辑覆盖模块。
[0113]
目标插件逻辑覆盖模块,用于通过平台提供的获取插件路径的第二接口函数,实现在产品目录下存在产品目标插件时,使用产品目标插件逻辑覆盖平台目标插件;其中,第二接口函数在产品目录下存在产品目标插件时,返回产品目标插件的绝对路径,否则,返回平台目标插件的绝对路径;产品目标插件相对于产品根目录的路径与平台目标插件相对于平台根目录的路径相同,且产品目标插件和平台目标插件的插件名相同。
[0114]
在一种可能的实现方式中,平台目录包括平台头文件目录;非侵入式软件开发装置30还可以包括:头文件获取模块。
[0115]
头文件获取模块,用于通过在传递给编译器的参数中增加平台头文件目录的路径,以实现产品通过平台头文件目录的路径,使用平台的头文件。
[0116]
在一种可能的实现方式中,非侵入式软件开发装置30还可以包括:库文件获取模块。
[0117]
库文件获取模块,用于通过在传递给编译器的参数中增加平台编译生成目录的路径,以实现产品通过平台编译生成目录的路径,使用平台的库文件。
[0118]
图6是本发明实施例提供的终端的示意图。如图6所示,该实施例的终端4包括:处理器40和存储器41。所述存储器41用于存储计算机程序42,所述处理器40用于调用并运行所述存储器41中存储的计算机程序42,执行上述各个非侵入式软件开发方法实施例中的步骤,例如图1所示的s101至s102。或者,所述处理器40用于调用并运行所述存储器41中存储的计算机程序42,实现上述各装置实施例中各模块/单元的功能,例如图5所示模块/单元31至32的功能。
[0119]
示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端4中的执行过程。例如,所述计算机程序42可以被分割成图5所示的模块/单元31至32。
[0120]
所述终端4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,
图6仅仅是终端4的示例,并不构成对终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
[0121]
所称处理器40可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0122]
所述存储器41可以是所述终端4的内部存储单元,例如终端4的硬盘或内存。所述存储器41也可以是所述终端4的外部存储设备,例如所述终端4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器41还可以既包括所述终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
[0123]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0124]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0125]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0126]
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0127]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0128]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0129]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个非侵入式软件开发方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
[0130]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献