本发明涉及数据存储技术领域,尤其涉及一种基于数据库存取接口的usb存储装置。
背景技术:
随着商用软件在软件行业逐年增加,商用软件免安装需求日益剧增,对商用软件在usb(universalserialbus,通用串行总线)存储设备运行过程中产生的数据,无有效便捷的存储方法,且非法窃取后无保护措施。
目前在市场商用绿色软件usb存储装置中,有些只能运行usb存储装置中的绿色免安装软件,运行中产生的数据自身并无有效的存储方式,只能缓存到计算机本地硬盘。有些运行数据可缓存到usb装置中,但是需要调用特殊的私有接口,对商用软件厂商而言开发难度大,开发周期长,而且无保护。有些缓存数据直接缓存到可见的usb存储区,一旦被非法窃取可直接打开,尤其是涉商秘密数据时,如果不慎丢失,会造成泄密。
技术实现要素:
本发明提供一种基于数据库存取接口的usb存储装置,用以解决现有技术中usb存储装置无法有效便捷存储数据,研发难度大且容易造成数据泄密的缺陷,实现保证存储数据安全的同时提高研发效率。
本发明提供一种基于数据库存取接口的usb存储装置,包括运行区和数据库区;
其中,所述运行区中用于存储免安装软件,通过所述数据库区的数据库存取接口将所述免安装软件在运行过程中产生的数据存储到所述数据库区;
所述数据库区设置为读写权限,且不在运行所述免安装软件的计算机中显示。
根据本发明提供的一种基于数据库存取接口的usb存储装置,所述运行区用于调用sql语句解析引擎使用正则表达式对sql语句进行解析,调用所述数据库存取接口中的执行接口,执行解析后的sql语句对所述数据库区进行操作;其中,所述sql语句根据所述运行区对所述数据库区的访问请求获取。
根据本发明提供的一种基于数据库存取接口的usb存储装置,所述运行区用于在调用所述数据库存取接口中的执行接口之前,若获取到用户运行所述免安装软件的操作,则调用所述数据库存取接口中的打开接口,对请求访问所述数据库区的运行区的进程名称进行校验,若校验结果为所述进程名称合法,则打开所述数据库区。
根据本发明提供的一种基于数据库存取接口的usb存储装置,所述运行区用于在调用所述数据库存取接口中的打开接口之前,检测所述免安装软件是否在所述运行区中运行,若是,则调用所述数据库存取接口中的打开接口,接收所述数据库区返回的所述数据库区的标识,根据所述数据库区的标识对所述数据库区进行操作。
根据本发明提供的一种基于数据库存取接口的usb存储装置,所述运行区用于将所述数据库区的标识作为密钥对所述免安装软件在运行过程中产生的数据进行加密,将加密后的所述数据存储到所述数据库区。
根据本发明提供的一种基于数据库存取接口的usb存储装置,所述运行区用于当所述sql语句为创建数据库表语句时,调用所述执行接口中的读写接口,对所述数据库区的扇区进行格式化;当所述sql语句为查询语句时,调用所述读写接口中的读接口对所述数据库区的扇区数据进行读取;当所述sql语句为添加语句、删除语句或修改语句时,调用所述读写接口中的写接口对所述数据库区的扇区数据进行相应的写操作。
根据本发明提供的一种基于数据库存取接口的usb存储装置,所述运行区用于在对所述数据库区完成访问后,调用所述数据库存取接口中的关闭接口,根据所述数据库区的标识对所述数据库区进行关闭。
根据本发明提供的一种基于数据库存取接口的usb存储装置,所述运行区设置为只读权限。
本发明提供的基于数据库存取接口的usb存储装置,通过将usb存储装置分为运行区和数据库区,在运行区存储免安装软件,在数据库区存储免安装软件运行过程中产生的数据,通过数据库通用存取接口将免安装软件的运行数据高效存取并隐藏到数据库区,兼容不同的免安装软件,设计简单,防止运行数据泄密的同时,提高研发效率,缩短研发周期,降低研发成本。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于数据库存取接口的usb存储装置中免安装软件的运行数据存储流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1描述本发明的基于数据库存取接口的usb存储装置,该装置包括运行区和数据库区;
本实施例将usb存储装置分为两种分区,一种分区用于免安装软件的存储,简称为运行区,另一种分区用于存储免安装软件运行过程中产生的数据,简称为数据库区。运行区为一个或多个,数据库区为一个或多个。
其中,所述运行区用于存储免安装软件,通过所述数据库区的数据库存取接口将所述免安装软件在运行过程中产生的数据存储到所述数据库区;
免安装软件通过软件烧录工具烧录到运行区。为了解决免安装软件的运行数据如何存入数据库区的问题,提供一套通用的数据库存取接口。由于usb存储装置是为免安装软件设计的,需要支持多个厂家的免安装软件运行数据的保护,所以本实施例中的运行区通过调用通用的数据库存取接口将运行数据存到数据库区。运行区通过数据库存取接口还可以从数据库区读取所需的数据,对数据库区中存储的数据进行修改等。数据库存取接口为标准化的sqlapi(applicationprogramminginterface,应用程序接口)。
所述数据库区设置为读写权限,且不在运行所述免安装软件的计算机中显示。
为了解决免安装软件在运行过程中产生的数据以数据库方式存取的问题,设置数据库区为读写权限,但不在插入该usb存储装置的计算机中显示,防止非法窃取。
本实施例通过将usb存储装置分为运行区和数据库区,在运行区存储免安装软件,在数据库区存储免安装软件运行过程中产生的数据,通过数据库通用存取接口将免安装软件的运行数据高效存取并隐藏到数据库区,兼容不同的免安装软件,设计简单,防止运行数据泄密的同时,提高研发效率,缩短研发周期,降低研发成本。
在上述实施例的基础上,本实施例中所述运行区用于调用sql(structuredquerylanguage,结构化查询语言)语句解析引擎使用正则表达式对sql语句进行解析,调用所述数据库存取接口中的执行接口,执行解析后的sql语句对所述数据库区进行数据操作;其中,所述sql语句根据所述运行区对所述数据库区的访问请求获取。
具体地,根据运行区对数据库区的访问请求生成相应的sql语句。例如,当请求将免安装软件的某条运行数据存储到数据库区时,生成对数据库区进行数据添加操作的sql语句。使用sql语句解析引擎对sql语句进行解析,将sql语句解析为计算机能执行的格式。调用执行接口执行sql语句,从而实现对数据库区的添加数据操作。sql语句解析引擎为通过正则表达式实现的sql语句解析器。
在上述实施例的基础上,本实施例中所述运行区用于在调用所述数据库存取接口中的执行接口之前,若获取到用户运行所述免安装软件的操作,则调用所述数据库存取接口中的打开接口,对请求访问所述数据库区的运行区的进程名称进行校验,若校验结果为所述进程名称合法,则打开所述数据库区。
具体地,首先用户将usb存储装置插入计算机,在计算机的资源管理器中显示usb存储装置。可在资源管理器的显示界面中双击运行uab存储装置中的免安装软件,在免安装软件运行时调用usb存储装置scsi(smallcomputersysteminterface,小型计算机系统接口)打开接口。打开接口的实现为intdev=usbdb_open(stringarg0,stringar1)。通过此函数传入的参数arg0进行判断,arg0为进程名称,对进程名称进行校验。只有运行区的进程才能访问数据库区。还可以设定只有运行区的指定进程才可访问数据库区。能访问数据库区的进程名称称为合法的进程名称。验证进程名称合法后,才打开数据库区。如果是非法进程名程,则数据库区打开失败。参数ar1为免安装软件运行的区盘,用于标识不同的运行区。打开成功后返回数据库区的标识dev。
本实施例中只有运行区程序进程可访问数据库区,其他非法进程不可访问数据库区,从而达到对运行数据的保护作用。
在上述实施例的基础上,本实施例中所述运行区用于在调用所述数据库存取接口中的打开接口之前,检测所述免安装软件是否在所述运行区中运行,若是,则调用所述数据库存取接口中的打开接口,接收所述数据库区返回的所述数据库区的标识,根据所述数据库区的标识对所述数据库区进行访问。
具体地,为了保护免安装软件的版权,免安装软件不可复制到计算机中运行。在免安装软件运行时检测其是否在usb存储装置中运行,若不在usb存储装置中运行则无法打开数据库区。
在上述实施例的基础上,本实施例中所述运行区用于将所述数据库区的标识作为密钥对所述免安装软件在运行过程中产生的数据进行加密,将加密后的所述数据存储到所述数据库区。
具体地,免安装软件在运行过程中产生的运行数据,通过调用usb存储装置提供的通用执行接口进行保存。调用执行接口进行存储时,已使用数据库区的标识作为密钥对需要存储的数据进行加密,防止非法破解。而且数据区在电脑中不可见,防止非法用户进行查看。
在上述实施例的基础上,本实施例中所述运行区用于当所述sql语句为创建数据库表语句时,调用所述执行接口中的读写接口,对所述数据库区的扇区进行格式化;当所述sql语句为查询语句时,调用所述读写接口中的读接口对所述数据库区的扇区数据进行读取;当所述sql语句为添加语句、删除语句或修改语句时,调用所述读写接口中的写接口对所述数据库区的扇区数据进行相应的写操作。
具体地,执行接口的实现为void*data=usbdb_exec(intdev,stringarg0),调用usb存储装置scsi读写接口,通过传输的参数数据库区的标识dev以标识需要进行读写操作的数据库区。当arg0为创建数据库表语句时,通过usb装置的scsi读写接口,对usb存储装置的扇区进行格式化;如果为查询语句,通过usb存储装置的scsi读接口进行扇区数据读取,并返回数据集赋值给变量data;如果为添加、删除和修改语句,调用usb存储装置的scsi写接口,进行相应数据写操作,并将结果返回给变量data。
本实施例为了兼容大多数免安装软件,并提高研发效率,提供了数据库标准化接口进行对数据库区中免安装软件的运行数据进行添加、删除、修改和查看等。
在上述实施例的基础上,本实施例中所述运行区用于在对所述数据库区完成访问后,调用所述数据库存取接口中的关闭接口,根据所述数据库区的标识对所述数据库区进行关闭。
其中,关闭接口的实现为intres=usbdb_close(intdev)。调用usb存储装置的scsi关闭接口,通过传入的句柄变量数据库区的标识,关闭相应usb存储装置的数据库区。
在上述各实施例的基础上,本实施例中所述运行区设置为只读权限。
为了解决免安装软件保护的问题,将usb存取装置设置为只读权限,显示在插入该usb存储装置的计算机资源管理器中,防止木马病毒破坏。此区中的免安装软件手动复制到计算机硬盘中无法运行,用于保护版权。
如图1所示,本实施例中的usb存储装置分为两种分区,其中运行区用于存储免安装软件,数据库区用于存储免安装软件的运行数据。通过软件烧录工具将要保护的免安装软件烧录到运行区,双击运行免安装软件。免安装软件运行时检测运行环境,且免安装软件只能在usb存储装置中运行。免安装软件运行时检测usb存储装置信息,检测不通过禁止运行;检测通过运行成功后。
免安装软件运行过程中产生的数据通过标准接口api读写数据库区,其他进程不可访问数据区。通过数据库标准接口对数据库区的数据进行添加、删除、修改和查看等。调用打开接口进行数据库区打开,可以根据数据库区盘符区分数据库区。通过执行接口执行sql语句解析引擎解析的语句,成功后返回结果集。最后,调用关闭接口进行设备关闭。本实施例从软件的运行、读取和写入数据全生命周期的各环节进行通用数据库接口方式安全保护管控处理,防止数据丢失泄密。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种基于数据库存取接口的usb存储装置,其特征在于,包括运行区和数据库区;
其中,所述运行区中用于存储免安装软件,通过所述数据库区的数据库存取接口将所述免安装软件在运行过程中产生的数据存储到所述数据库区;
所述数据库区设置为读写权限,且不在运行所述免安装软件的计算机中显示。
2.根据权利要求1所述的基于数据库存取接口的usb存储装置,其特征在于,所述运行区用于调用sql语句解析引擎使用正则表达式对sql语句进行解析,调用所述数据库存取接口中的执行接口,执行解析后的sql语句对所述数据库区进行操作;其中,所述sql语句根据所述运行区对所述数据库区的访问请求获取。
3.根据权利要求2所述的基于数据库存取接口的usb存储装置,其特征在于,所述运行区用于在调用所述数据库存取接口中的执行接口之前,若获取到用户运行所述免安装软件的操作,则调用所述数据库存取接口中的打开接口,对请求访问所述数据库区的运行区的进程名称进行校验,若校验结果为所述进程名称合法,则打开所述数据库区。
4.根据权利要求3所述的基于数据库存取接口的usb存储装置,其特征在于,所述运行区用于在调用所述数据库存取接口中的打开接口之前,检测所述免安装软件是否在所述运行区中运行,若是,则调用所述数据库存取接口中的打开接口,接收所述数据库区返回的所述数据库区的标识,根据所述数据库区的标识对所述数据库区进行操作。
5.根据权利要求3所述的基于数据库存取接口的usb存储装置,其特征在于,所述运行区用于将所述数据库区的标识作为密钥对所述免安装软件在运行过程中产生的数据进行加密,将加密后的所述数据存储到所述数据库区。
6.根据权利要求2所述的基于数据库存取接口的usb存储装置,其特征在于,所述运行区用于当所述sql语句为创建数据库表语句时,调用所述执行接口中的读写接口,对所述数据库区的扇区进行格式化;当所述sql语句为查询语句时,调用所述读写接口中的读接口对所述数据库区的扇区数据进行读取;当所述sql语句为添加语句、删除语句或修改语句时,调用所述读写接口中的写接口对所述数据库区的扇区数据进行相应的写操作。
7.根据权利要求4所述的基于数据库存取接口的usb存储装置,其特征在于,所述运行区用于在对所述数据库区完成访问后,调用所述数据库存取接口中的关闭接口,根据所述数据库区的标识对所述数据库区进行关闭。
8.根据权利要求1-7任一所述的基于数据库存取接口的usb存储装置,其特征在于,所述运行区设置为只读权限。
技术总结