嵌入式数据库的远程访问方法、装置、设备及介质与流程

文档序号:23891103发布日期:2021-02-09 09:54阅读:125来源:国知局
嵌入式数据库的远程访问方法、装置、设备及介质与流程

[0001]
本发明实施例涉及嵌入式技术领域,尤其涉及一种嵌入式数据库的远程访问方法、装置、设备及介质。


背景技术:

[0002]
sqlite,是一款轻型的数据库,是遵守acid(数据库事务正确执行的四个基本要素的缩写,atomicity-原子性、consistency-一致性、isolation-隔离性、durability-持久性)的关系型数据库管理系统。它的设计目标是嵌入式的,目前已在很多嵌入式产品中使用,而且,sqlite占用资源非常低,在嵌入式设备中可能只需要几百k的内存就足够了。但是,sqlite仅限本地使用,也即只能在对应的嵌入式设备中使用,给使用人员带来了很大的不便。


技术实现要素:

[0003]
本发明实施例提供一种嵌入式数据库的远程访问方法、装置、设备及介质,以为嵌入式数据库的使用人员提供便利。
[0004]
第一方面,本发明实施例提供了一种嵌入式数据库的远程访问方法,包括:
[0005]
嵌入式设备运行服务端函数并开启传输控制协议服务;其中,嵌入式数据库存储于所述嵌入式设备中,所述服务端函数为在所述嵌入式数据库源码基础上开发的函数,用于使所述嵌入式设备以服务端的身份与客户端设备建立通信连接;
[0006]
所述嵌入式设备接收客户端设备发送的连接请求,并在与所述客户端设备连接成功后,接收所述客户端设备发送的操作请求,其中,所述客户端设备预先运行客户端函数,所述客户端函数与所述服务端函数匹配,用于使所述客户端设备与所述嵌入式设备建立通信连接;所述操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句;
[0007]
所述嵌入式设备根据所述操作请求的请求类型,调用匹配的远程操作处理函数对所述操作请求进行解析处理之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备。
[0008]
第二方面,本发明实施例还提供了一种嵌入式数据库的远程访问方法,包括:
[0009]
客户端设备运行客户端函数,向所述嵌入式设备发送连接请求;其中,所述客户端函数用于使所述客户端设备与所述嵌入式设备建立通信连接,所述嵌入式设备预先运行服务端函数并开启传输控制协议服务,嵌入式数据库存储于所述嵌入式设备中,所述服务端函数为在所述嵌入式数据库源码基础上开发的函数,与所述客户端函数匹配,用于使所述嵌入式设备以服务端的身份与客户端设备建立通信连接;
[0010]
所述客户端设备在与所述嵌入式设备连接成功后,向所述嵌入式设备发送操作请求,以使所述嵌入式设备根据所述操作请求的请求类型,调用匹配的远程操作处理函数对所述操作请求进行解析处理之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述操作请求匹配的操作;其中,所述操作请求中包括请求类型以及与请求类型对应的嵌
入式数据库语句;
[0011]
所述客户端设备接收所述嵌入式设备反馈的操作结果。
[0012]
第三方面,本发明实施例提供了一种嵌入式数据库的远程访问装置,应用于嵌入式设备,包括:
[0013]
服务开启模块,用于嵌入式设备运行服务端函数并开启传输控制协议服务;其中,嵌入式数据库存储于所述嵌入式设备中,所述服务端函数为在所述嵌入式数据库源码基础上开发的函数,用于使所述嵌入式设备以服务端的身份与客户端设备建立通信连接;
[0014]
请求接收模块,用于所述嵌入式设备接收客户端设备发送的连接请求,并在与所述客户端设备连接成功后,接收所述客户端设备发送的操作请求,其中,所述客户端设备预先运行客户端函数,所述客户端函数与所述服务端函数匹配,用于使所述客户端设备与所述嵌入式设备建立通信连接;所述操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句;
[0015]
请求处理及反馈模块,用于所述嵌入式设备根据所述操作请求的请求类型,调用匹配的远程操作处理函数对所述操作请求进行解析处理之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备。
[0016]
第四方面,本发明实施例提供了一种嵌入式数据库的远程访问装置,应用于客户端设备,包括:
[0017]
服务连接模块,用于客户端设备运行客户端函数,向所述嵌入式设备发送连接请求;其中,所述客户端函数用于使所述客户端设备与所述嵌入式设备建立通信连接,所述嵌入式设备预先运行所述服务端函数并开启传输控制协议服务,嵌入式数据库存储于所述嵌入式设备中,所述服务端函数为在所述嵌入式数据库源码基础上开发的函数,与所述客户端函数匹配,用于使所述嵌入式设备以服务端的身份与客户端设备建立通信连接;
[0018]
请求发送模块,用于所述客户端设备在与所述嵌入式设备连接成功后,向所述嵌入式设备发送操作请求,以使所述嵌入式设备根据所述操作请求的请求类型,调用匹配的远程操作处理函数对所述操作请求进行解析处理之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述操作请求匹配的操作;其中,所述操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句;
[0019]
结果接收模块,用于所述客户端设备接收所述嵌入式设备反馈的操作结果。
[0020]
第五方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任意实施例所述的应用于嵌入式设备的嵌入式数据库的远程访问方法。
[0021]
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的应用于嵌入式设备的嵌入式数据库的远程访问方法。
[0022]
第七方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明任意实施例所述的应用于客户端设备的嵌入式数据库的远程访问方法。
[0023]
第八方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机
程序,该程序被处理器执行时实现本发明任意实施例所述的应用于客户端设备的嵌入式数据库的远程访问方法。
[0024]
本发明实施例中,嵌入式设备预先运行服务端函数并开启传输控制协议服务;客户端设备运行客户端函数后向嵌入式设备发送连接请求,在与嵌入式设备连接成功后,向嵌入式设备发送远程操作请求;嵌入式设备根据操作请求的请求类型,首先调用匹配的远程操作处理函数对所述操作请求进行解析处理,再调用嵌入式数据库源码函数对嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备;其中,服务端函数和客户端函数是匹配的,均是在所述嵌入式数据库源码基础上开发的函数,用于客户端设备与嵌入式设备建立远程通信连接。由此,通过传输控制协议搭建了客户端/服务器结构,实现了客户端设备远程访问存储于嵌入式设备中的嵌入式数据库的效果,为用户访问嵌入式数据库的操作提供了极大的便利。
附图说明
[0025]
图1是本发明实施例一中的一种嵌入式数据库的远程访问方法的流程图;
[0026]
图2是本发明实施例二中的一种嵌入式数据库的远程访问方法的流程图;
[0027]
图3是本发明实施例三中的一种嵌入式数据库的远程访问方法的流程图;
[0028]
图4是本发明实施例四中的一种嵌入式数据库的远程访问装置的结构示意图;
[0029]
图5是本发明实施例五中的一种嵌入式数据库的远程访问装置的结构示意图;
[0030]
图6是本发明实施例六中的一种计算机设备的结构示意图。
具体实施方式
[0031]
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0032]
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0033]
实施例一
[0034]
图1为本发明实施例一提供的一种嵌入式数据库的远程访问方法的流程图,本实施例可适用于对嵌入式数据库进行远程访问的情况,该方法可以由本发明实施例提供的应用于嵌入式设备的嵌入式数据库的远程访问装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在嵌入式设备的处理器中。
[0035]
如图1所示,本实施例的方法具体包括:
[0036]
s110、嵌入式设备运行服务端函数并开启传输控制协议服务;其中,嵌入式数据库存储于嵌入式设备中,服务端函数为在嵌入式数据库源码基础上开发的函数,用于使嵌入式设备以服务端的身份与客户端设备建立通信连接。
[0037]
嵌入式数据库存储于嵌入式设备中,在嵌入式设备本地用户可直接对嵌入式数据
库进行访问,典型的,嵌入式数据库具体可以是开源的数据库sqlite3。sqlite3的设计目标是嵌入式的,占用资源非常低,使用非常广泛。
[0038]
服务端函数,是在sqlite3源码基础上开发的函数。嵌入式设备系统正常启动之后,运行服务端函数并开启tcp(transmission control protocol,传输控制协议)服务之后,等待客户端设备的通信连接,客户端设备可以是任意一台联网的计算机设备。其中,嵌入式设备运行服务端函数之后,嵌入式设备就相当于服务端设备。
[0039]
s120、嵌入式设备接收客户端设备发送的连接请求,并在与客户端设备连接成功后,接收客户端设备发送的操作请求;其中,客户端设备预先运行客户端函数,客户端函数与服务端函数匹配,用于使客户端设备与嵌入式设备建立通信连接。
[0040]
具体的,所述操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句。
[0041]
客户端设备在系统正常启动之后,如果确定嵌入式设备已运行,则可以运行客户端函数后与嵌入式设备进行通信连接。其中,客户端函数也是在sqlite3源码基础上开发的函数,与服务端函数是对应匹配的。
[0042]
客户端设备向嵌入式设备发送连接请求,嵌入式设备接收连接请求后与客户端设备建立通信连接。当嵌入式设备与客户端设备连接成功后,即通过tcp协议成功搭建了c(client,客户端)/s(server,服务器)结构,进而可以实现一个或多个客户端与服务器(即嵌入式设备)通信连接后对嵌入式数据库进行远程操作,利用tcp这一标准的网络协议可以包括远程通信的数据完整性。
[0043]
当客户端设备与嵌入式设备成功建立通信连接之后,即可向嵌入式设备远程发送操作请求,其中,操作请求中不仅包括请求类型,还包括与请求类型对应的嵌入式数据库语句,嵌入式数据库语句与嵌入式数据库源码相匹配,在嵌入式设备本地也适用。操作请求可以是以通信数据包的形式向嵌入式设备发送,数据包的打包规约是预先设定的,嵌入式设备接收后会根据该打包规则进行数据包解析处理。
[0044]
具体的,操作请求可以包括创建请求、插入请求、查询请求、删除请求和更新请求中的一项或多项。其中,插入请求可以是常规插入请求和事物插入请求,常规插入请求和事物插入请求的区别在于:嵌入式设备接收到常规插入请求时,每接收一条数据就对嵌入式数据库执行一次插入操作;嵌入式设备接收到事物插入请求时,接收到所有的数据后才统一对嵌入式数据库执行一次插入操作。
[0045]
s130、嵌入式设备根据操作请求的请求类型,调用匹配的远程操作处理函数对操作请求进行解析处理之后,调用嵌入式数据库源码函数对嵌入式数据库执行与操作请求匹配的操作,并将操作结果反馈给客户端设备。
[0046]
远程操作处理函数,指的是与操作请求类型对应的,用于对操作请求进行解析,以得到操作请求中与请求类型对应的嵌入式数据库语句。
[0047]
嵌入式数据库源码函数,指的是嵌入式数据库的开源函数,具体可以是嵌入式数据库的底层接口,用于执行与请求类型对应的嵌入式数据库语句。
[0048]
嵌入式设备接收到操作请求后,首先确定出操作请求的请求类型,然后调用与请求类型对应的远程操作处理函数对操作请求中的其他内容进行解析,得到与请求类型对应的嵌入式数据库语句,再调用嵌入式数据库源码函数对嵌入式数据库执行与嵌入式数据库
语句对应的操作。
[0049]
例如,请求类型的操作类型为查询请求,嵌入式设备则调用与远程查询函数对操作请求进行解析处理,得到与查询请求对应的嵌入式数据库语句,再调用嵌入式数据库源码函数对嵌入式数据库执行与查询请求对应的嵌入式数据库语句,查询结束后将查询结果反馈回客户端设备。
[0050]
本发明实施例中,嵌入式设备预先运行服务端函数并开启传输控制协议服务;客户端设备运行客户端函数后向嵌入式设备发送连接请求,在与嵌入式设备连接成功后,向嵌入式设备发送远程操作请求;嵌入式设备根据操作请求的请求类型,首先调用匹配的远程操作处理函数对所述操作请求进行解析处理,再调用嵌入式数据库源码函数对嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备;其中,服务端函数和客户端函数是匹配的,均是在所述嵌入式数据库源码基础上开发的函数,用于客户端设备与嵌入式设备建立远程通信连接。由此,通过传输控制协议搭建了客户端/服务器结构,实现了客户端设备远程访问存储于嵌入式设备中的嵌入式数据库的效果,为用户访问嵌入式数据库的操作提供了极大的便利。
[0051]
作为本实施例一种具体的实施方式,客户端设备发送的操作请求为事物插入请求,对应的,可以将嵌入式设备根据操作请求的请求类型,调用匹配的远程操作处理函数对操作请求进行解析处理后,调用嵌入式数据库源码函数对嵌入式数据库执行与操作请求匹配的操作,具体为:
[0052]
嵌入式设备根如果确定操作请求为事物插入请求,则调用远程事物插入函数,向客户端设备发送数据传送指示,其中,数据传送指示用于指示客户端设备进行批量数据传送直至将全部数据传送完毕;
[0053]
嵌入式设备接收客户端设备传送的全部数据之后,调用嵌入式数据库源码函数对嵌入式数据库执行插入全部数据的操作。
[0054]
在客户端设备与嵌入式设备成功建立远程通信连接之后,客户端设备向嵌入式设备发送远程事物插入请求,嵌入式设备接收到远程事物插入请求后向客户端设备发送数据传送指示,客户端设备接收到数据传送指示之后向嵌入式设备批量发送需要事物插入的数据直至发送完毕,嵌入式设备接收到传送的全部数据后,调用嵌入式数据库源码函数(也即底层函数)对嵌入式数据库执行插入全部数据的操作,并将事物插入的结果反馈给客户端设备。
[0055]
在上述技术方案中,嵌入式设备对嵌入式数据库提供的底层事务插入方法进行了封装,实现了通过远程操作来进行事务插入的有效操作,极大地提高了远程插入操作的性能。
[0056]
实施例二
[0057]
图2为本发明实施例二提供的一种嵌入式数据库的远程访问方法的流程图。本实施例以上述实施例为基础进行优化。其中,将操作请求具体为插入请求,嵌入式设备的文件存储系统具体为fat格式;对应的,
[0058]
将调用嵌入式数据库源码函数对嵌入式数据库执行与操作请求匹配的操作,具体为:
[0059]
在调用嵌入式数据库源码函数对嵌入式数据库执行与插入请求匹配的插入操作
的过程中,如果接收到存储报错信息,则创建与原有的嵌入式数据库匹配的一个新的嵌入式数据库分库;其中,新的嵌入式数据库分库的名称与原有的嵌入式数据库的名称匹配;
[0060]
调用嵌入式数据库源码函数继续对新的嵌入式数据库分库执行与插入请求匹配的未完成的插入操作。
[0061]
如图2所示,本实施例的方法具体包括:
[0062]
s210、嵌入式设备运行服务端函数并开启传输控制协议服务;其中,嵌入式数据库存储于嵌入式设备中,服务端函数为在嵌入式数据库源码基础上开发的函数,用于使嵌入式设备以服务端的身份与客户端设备建立通信连接。
[0063]
s220、客户端设备运行客户端函数,向嵌入式设备发送连接请求;其中,客户端函数,与服务端函数匹配,用于使客户端设备与嵌入式设备建立通信连接。
[0064]
s230、嵌入式设备接收客户端设备发送的连接请求,并将连接结果向客户端设备反馈。
[0065]
s240、客户端设备在确定与嵌入式设备连接成功后,向嵌入式设备发送插入请求。
[0066]
s250、嵌入式设备接收插入请求后,调用远程插入函数对操作请求进行解析处理,得到与插入请求对应的嵌入式数据库语句。
[0067]
s260、嵌入式设备调用嵌入式数据库源码函数对嵌入式数据库执行与所述嵌入式数据库语句对应的插入操作。
[0068]
s270、嵌入式设备在执行插入操作过程中实时检测是否接收到存储报错信息,若是,则执行s280,若否,则继续执行s260。
[0069]
本实施例中,嵌入式设备的文件存储系统具体为fat格式,但fat格式的文件存储系统对单个文件的大小具有一定的限制,比如fat16限制单个文件大小不超过2g,fat32限制单个文件大小不超过4g。由于文件系统fat格式对文件大小的限制,导致于嵌入数据库的容量也会受到限制。
[0070]
以嵌入式设备的文件存储系统为fat16为例,当嵌入式数据库的大小接近2g时,如果再对嵌入式数据库执行插入操作,嵌入式内部机制会发现数据无法再继续插入,就会返回例如“数据库满”或者“io error(input output error,输入输出错误)”之类的存储报错信息。
[0071]
在嵌入式设备在执行插入操作过程中,如果没有检测到存储报错信息,继续执行对应的插入操作即可。
[0072]
s280、创建与原有的嵌入式数据库匹配的一个新的嵌入式数据库分库。
[0073]
在嵌入式设备在执行插入操作过程中,如果检测到存储报错信息,则触发创建一个新的嵌入式数据分库的操作。
[0074]
其中,触发创建的新的嵌入式数据库分库,与原有的、容量受限的嵌入式数据库的类型是完全相同的,而且,新的嵌入式数据库分库的名称与原有的嵌入式数据库的名称匹配。
[0075]
新的嵌入式数据库分库的命名规则可以根据用户的使用习惯预先设定。为了便于用户更好地识别出新的嵌入式数据库分库是与原有的、容量受限的嵌入式数据库对应的新建数据库,具体可以将命名规则设定为“新的嵌入式数据库分库的名称仅与原有的嵌入式数据库的名称的后缀不同,后缀为顺序编号或者创建日期等”,例如,原有的、容量受限的嵌
入式数据库的名称为xx_1,新的嵌入式数据库分库的名称即可设置为xx_2。
[0076]
s290、调用嵌入式数据库源码函数继续对新的嵌入式数据库分库执行与插入请求匹配的未完成的插入操作。
[0077]
创建完新的嵌入式数据库分库之后,就可以继续进行上次未完成的插入操作,直到完成插入操作。
[0078]
本实施例未尽详细解释之处,请参见前述实施例,在此不再赘述。
[0079]
上述技术方案突破了嵌入式数据库文件在fat格式文件系统上的最大容量限制,采用了库满创建新的数据库机制,实现了远程数据库扩容,保证了数据存储的有效性和完整性,避免了由于单个数据库存满报错而导致丢失数据,进而影响用户使用体验的问题出现。
[0080]
实施例三
[0081]
图3为本发明实施例三提供的一种嵌入式数据库的远程访问方法的流程图,本实施例可适用于对嵌入式数据库进行远程访问的情况,该方法可以由本发明实施例提供的应用于客户端设备的嵌入式数据库的远程访问装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在客户端设备的处理器中。
[0082]
如图3所示,本实施例的方法具体包括:
[0083]
s310、客户端设备运行客户端函数,向嵌入式设备发送连接请求;其中,客户端函数用于使客户端设备与嵌入式设备建立通信连接,嵌入式设备预先运行服务端函数并开启传输控制协议服务,嵌入式数据库存储于嵌入式设备中,服务端函数为在所述嵌入式数据库源码基础上开发的函数,与客户端函数匹配,用于使嵌入式设备以服务端的身份与客户端设备建立通信连接。
[0084]
典型的,嵌入式数据库可以是sqlite3。
[0085]
s320、客户端设备在与嵌入式设备连接成功后,向嵌入式设备发送操作请求,以使嵌入式设备根据操作请求的请求类型,调用匹配的远程操作处理函数对操作请求进行解析处理之后,调用嵌入式数据库源码函数对嵌入式数据库执行与操作请求匹配的操作。
[0086]
其中,操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句。
[0087]
具体的,操作请求可以包括创建请求、插入请求、查询请求、删除请求和更新请求中的一项或多项。其中,插入请求可以是常规插入请求和事物插入请求。
[0088]
s330、客户端设备接收所述嵌入式设备反馈的操作结果。
[0089]
本实施例未尽详细解释之处,请参见前述实施例,在此不再赘述。
[0090]
本发明实施例中,嵌入式设备预先运行服务端函数并开启传输控制协议服务;客户端设备运行客户端函数后向嵌入式设备发送连接请求,在与嵌入式设备连接成功后,向嵌入式设备发送远程操作请求;嵌入式设备根据操作请求的请求类型,首先调用匹配的远程操作处理函数对所述操作请求进行解析处理,再调用嵌入式数据库源码函数对嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备;其中,服务端函数和客户端函数是匹配的,均是在所述嵌入式数据库源码基础上开发的函数,用于客户端设备与嵌入式设备建立远程通信连接。由此,通过传输控制协议搭建了客户端/服务器结构,实现了客户端设备远程访问存储于嵌入式设备中的嵌入式数据库的效果,为用户访问嵌入式数据库的操作提供了极大的便利。
[0091]
作为本实施例一种具体的实施方式,客户端设备发送的操作请求为事物插入请求,对应的,可以将s320具体为:
[0092]
客户端设备向嵌入式设备发送事物插入请求,以使嵌入式设备调用远程事物插入函数,向客户端设备发送数据传送指示,其中,数据传送指示用于指示客户端设备进行批量数据传送直至将全部数据传送完毕;
[0093]
客户端设备接收数据传送指示之后,将与事物插入请求对应的数据进行批量传送直至将全部数据传送完毕,以使嵌入式设备在接收到客户端设备传送的全部数据之后,调用嵌入式数据库源码函数对嵌入式数据库执行插入所述全部数据的操作。
[0094]
在客户端设备与嵌入式设备成功建立远程通信连接之后,客户端设备向嵌入式设备发送远程事物插入请求,嵌入式设备接收到远程事物插入请求后向客户端设备发送数据传送指示,客户端设备接收到数据传送指示之后向嵌入式设备批量发送需要事物插入的数据直至发送完毕,嵌入式设备接收到传送的全部数据后,调用嵌入式数据库源码函数(也即底层函数)对嵌入式数据库执行插入全部数据的操作,并将事物插入的结果反馈给客户端设备。
[0095]
在上述技术方案中,嵌入式设备对嵌入式数据库提供的底层事务插入方法进行了封装,实现了通过远程操作来进行事务插入的有效操作,极大地提高了远程插入操作的性能。
[0096]
实施例四
[0097]
图4为本发明实施例四提供的一种嵌入式数据库的远程访问装置的结构示意图,该装置可采用软件和/或硬件的方式实现,并一般可集成在嵌入式设备的处理器中。如图4所示,该嵌入式数据库的远程访问装置,应用于嵌入式设备中,具体包括:服务开启模块410、请求接收模块420和请求处理及反馈模块430。其中,
[0098]
服务开启模块410,用于嵌入式设备运行服务端函数并开启传输控制协议服务;其中,嵌入式数据库存储于所述嵌入式设备中,所述服务端函数为在所述嵌入式数据库源码基础上开发的函数,用于使所述嵌入式设备以服务端的身份与客户端设备建立通信连接;
[0099]
请求接收模块420,用于所述嵌入式设备接收客户端设备发送的连接请求,并在与所述客户端设备连接成功后,接收所述客户端设备发送的操作请求,其中,所述客户端设备预先运行客户端函数,所述客户端函数与所述服务端函数匹配,用于使所述客户端设备与所述嵌入式设备建立通信连接;所述操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句;
[0100]
请求处理及反馈模块430,用于所述嵌入式设备根据所述操作请求的请求类型,调用匹配的远程操作处理函数对所述操作请求进行解析处理之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备。
[0101]
本发明实施例中,嵌入式设备预先运行服务端函数并开启传输控制协议服务;客户端设备运行客户端函数后向嵌入式设备发送连接请求,在与嵌入式设备连接成功后,向嵌入式设备发送远程操作请求;嵌入式设备根据操作请求的请求类型,首先调用匹配的远程操作处理函数对所述操作请求进行解析处理,再调用嵌入式数据库源码函数对嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备;其中,服务端
函数和客户端函数是匹配的,均是在所述嵌入式数据库源码基础上开发的函数,用于客户端设备与嵌入式设备建立远程通信连接。由此,通过传输控制协议搭建了客户端/服务器结构,实现了客户端设备远程访问存储于嵌入式设备中的嵌入式数据库的效果,为用户访问嵌入式数据库的操作提供了极大的便利。
[0102]
具体的,所述操作请求包括下述至少一项:创建请求、插入请求、查询请求、删除请求和更新请求;其中,插入请求包括常规插入请求和事物插入请求。
[0103]
具体的,所述嵌入式数据库包括sqlite3。
[0104]
作为本实施例一种具体的实施方式,所述操作请求为事物插入请求,对应的,请求处理及反馈模块430,具体用于所述嵌入式设备根如果确定所述操作请求为事物插入请求,则调用远程事物插入函数,向所述客户端设备发送数据传送指示,其中,所述数据传送指示用于指示所述客户端设备进行批量数据传送直至将全部数据传送完毕;所述嵌入式设备接收所述客户端设备传送的全部数据之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行插入所述全部数据的操作。
[0105]
作为本实施例又一种具体的实施方式,所述操作请求为插入请求,对应的,请求处理及反馈模块430,还具体用于在调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述插入请求匹配的插入操作的过程中,如果接收到存储报错信息,则创建与原有的所述嵌入式数据库匹配的一个新的嵌入式数据库分库;其中,所述新的嵌入式数据库分库的名称与原有的所述嵌入式数据库的名称匹配;调用嵌入式数据库源码函数继续对所述新的嵌入式数据库分库执行与所述插入请求匹配的未完成的插入操作。
[0106]
上述嵌入式数据库的远程访问装置可执行本发明任意实施例所提供的应用于嵌入式设备的嵌入式数据库的远程访问方法,具备执行方法相应的功能模块和有益效果。
[0107]
实施例五
[0108]
图5为本发明实施例五提供的一种嵌入式数据库的远程访问装置的结构示意图,该装置可采用软件和/或硬件的方式实现,并一般可集成在客户端设备的处理器中。如图5所示,该嵌入式数据库的远程访问装置,应用于客户端设备中,具体包括:服务连接模块510、请求发送模块520和结果接收模块530。其中,
[0109]
服务连接模块510,用于客户端设备运行客户端函数,向所述嵌入式设备发送连接请求;其中,所述客户端函数用于使所述客户端设备与所述嵌入式设备建立通信连接,所述嵌入式设备预先运行所述服务端函数并开启传输控制协议服务,嵌入式数据库存储于所述嵌入式设备中,所述服务端函数为在所述嵌入式数据库源码基础上开发的函数,与所述客户端函数匹配,用于使所述嵌入式设备以服务端的身份与客户端设备建立通信连接;
[0110]
请求发送模块520,用于所述客户端设备在与所述嵌入式设备连接成功后,向所述嵌入式设备发送操作请求,以使所述嵌入式设备根据所述操作请求的请求类型,调用匹配的远程操作处理函数对所述操作请求进行解析处理之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述操作请求匹配的操作;其中,所述操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句;
[0111]
结果接收模块530,用于所述客户端设备接收所述嵌入式设备反馈的操作结果。
[0112]
本发明实施例中,嵌入式设备预先运行服务端函数并开启传输控制协议服务;客户端设备运行客户端函数后向嵌入式设备发送连接请求,在与嵌入式设备连接成功后,向
嵌入式设备发送远程操作请求;嵌入式设备根据操作请求的请求类型,首先调用匹配的远程操作处理函数对所述操作请求进行解析处理,再调用嵌入式数据库源码函数对嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备;其中,服务端函数和客户端函数是匹配的,均是在所述嵌入式数据库源码基础上开发的函数,用于客户端设备与嵌入式设备建立远程通信连接。由此,通过传输控制协议搭建了客户端/服务器结构,实现了客户端设备远程访问存储于嵌入式设备中的嵌入式数据库的效果,为用户访问嵌入式数据库的操作提供了极大的便利。
[0113]
具体的,所述操作请求包括下述至少一项:创建请求、插入请求、查询请求、删除请求和更新请求;其中,插入请求包括常规插入请求和事物插入请求。
[0114]
具体的,所述嵌入式数据库包括sqlite3。
[0115]
作为本实施例一种具体的实施方式,所述操作请求为事物插入请求;对应的,请求发送模块520,具体用于所述客户端设备向所述嵌入式设备发送事物插入请求,以使所述嵌入式设备调用远程事物插入函数,向所述客户端设备发送数据传送指示,其中,所述数据传送指示用于指示所述客户端设备进行批量数据传送直至将全部数据传送完毕;所述客户端设备接收所述数据传送指示之后,将与所述事物插入请求对应的数据进行批量传送直至将全部数据传送完毕,以使所述嵌入式设备在接收到所述客户端设备传送的全部数据之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行插入所述全部数据的操作。
[0116]
上述嵌入式数据库的远程访问装置可执行本发明任意实施例所提供的应用于客户端设备的嵌入式数据库的远程访问方法,具备执行方法相应的功能模块和有益效果。
[0117]
实施例六
[0118]
图6是本发明实施例六提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括处理器610、存储器620、输入装置630和输出装置640;计算机设备中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;计算机设备中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线连接为例。
[0119]
存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中应用于嵌入式设备的一种嵌入式数据库的远程访问方法对应的程序指令/模块(例如,应用于嵌入式设备的嵌入式数据库的远程访问装置中的服务开启模块410、请求接收模块420和请求处理及反馈模块430),又如本发明实施例中应用于客户端设备的一种嵌入式数据库的远程访问方法对应的程序指令/模块(例如,应用于客户端设备的嵌入式数据库的远程访问装置中的服务连接模块510、请求发送模块520和结果接收模块530)。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的应用于嵌入式设备的嵌入式数据库的远程访问方法或者应用于客户端设备的嵌入式数据库的远程访问方法。
[0120]
存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至
计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0121]
输入装置630可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
[0122]
实施例七
[0123]
本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种嵌入式数据库的远程访问方法,包括:
[0124]
嵌入式设备运行服务端函数并开启传输控制协议服务;其中,嵌入式数据库存储于所述嵌入式设备中,所述服务端函数为在所述嵌入式数据库源码基础上开发的函数,用于使所述嵌入式设备以服务端的身份与客户端设备建立通信连接;
[0125]
所述嵌入式设备接收客户端设备发送的连接请求,并在与所述客户端设备连接成功后,接收所述客户端设备发送的操作请求,其中,所述客户端设备预先运行客户端函数,所述客户端函数与所述服务端函数匹配,用于使所述客户端设备与所述嵌入式设备建立通信连接;所述操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句;
[0126]
所述嵌入式设备根据所述操作请求的请求类型,调用匹配的远程操作处理函数对所述操作请求进行解析处理之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述操作请求匹配的操作,并将操作结果反馈给所述客户端设备。
[0127]
或者,所述计算机可执行指令在由计算机处理器执行时用于执行一种嵌入式数据库的远程访问方法,包括:
[0128]
客户端设备运行客户端函数,向所述嵌入式设备发送连接请求;其中,所述客户端函数用于使所述客户端设备与所述嵌入式设备建立通信连接,所述嵌入式设备预先运行服务端函数并开启传输控制协议服务,嵌入式数据库存储于所述嵌入式设备中,所述服务端函数为在所述嵌入式数据库源码基础上开发的函数,与所述客户端函数匹配,用于使所述嵌入式设备以服务端的身份与客户端设备建立通信连接;
[0129]
所述客户端设备在与所述嵌入式设备连接成功后,向所述嵌入式设备发送操作请求,以使所述嵌入式设备根据所述操作请求的请求类型,调用匹配的远程操作处理函数对所述操作请求进行解析处理之后,调用嵌入式数据库源码函数对所述嵌入式数据库执行与所述操作请求匹配的操作;其中,所述操作请求中包括请求类型以及与请求类型对应的嵌入式数据库语句;
[0130]
所述客户端设备接收所述嵌入式设备反馈的操作结果。
[0131]
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的应用于嵌入式设备或者客户端设备的一种嵌入式数据库的远程访问方法的技术方案。
[0132]
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得计算机设备执
行本发明各个实施例所述的方法。
[0133]
值得注意的是,上述嵌入式数据库的远程访问装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0134]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1