一种轻量级SQL数据库网站的开发方法与流程

文档序号:11216334阅读:1588来源:国知局
一种轻量级SQL数据库网站的开发方法与流程

本发明涉及软件开发领域,尤其涉及一种轻量级sql数据库网站的开发方法。



背景技术:

目前常用的web服务器iis,apache等属于重量级web服务器(重量级主要是在软件包的大小上比较大,软件的耦合度大),但是速度、性能不及其他轻量级web服务器,并且消费内存较高。使用传统的select模型,比较稳定的prefork模式为多进程模式,需要经常派生子进程。所以消耗的cpu等服务器资源比较大。基于web服务器的开发框架如.netframework,java也非常庞大,对于轻量级服务来说部署和配置管理都不太方便。在这种背景下轻量高效的web数据库框架,简单快速部署更能满足特定项目要求。

现有方案的问题点如下:

1、在系统构架上iis和apache占用资源比较大,对硬件的要求更高。这样的系统无法在配置比较低甚至嵌入式系统中使用。

2、基于iis和apache的开发框架都比较庞大,框架调用繁琐,安装部署难度高。



技术实现要素:

鉴于目前技术存在的上述不足,本发明提供一种轻量级sql数据库网站的开发方法,本发明的方法可以实现在客户端的javascript代码中可以直接写sql语句,调试开发效率高,以及在sql语句使用<sql></sql>标记,由webserver做加密替换,则通过浏览器查看源码是看不到原始sql语句的,安全性高,而且轻量级的webserver占用硬件资源低。

本发明的采用如下技术方案:

一种轻量级sql数据库网站的开发方法,包括以下步骤:

基于c/c++或delphi的socket编程开发出轻量级多线程webserver;

基于所述webserver调用数据库;

建立与所述webserver匹配的调用接口;

基于所述调用接口来实现sql数据库网站的开发。

作为本发明的优选技术方案,所述webservice根据提交上来的sql命令调用数据库。

作为本发明的优选技术方案,所述建立与所述webserver匹配的调用接口的步骤包括:

基于javascript封装一套ajax的调用接口;

基于所述ajax的调用接口与所述webserver进行匹配。

作为本发明的优选技术方案,所述javascript中sql语言通过<sql></sql>标记来表示,在服务器端读取文件时对<sql></sql>标记的内容做加密替换。

作为本发明的优选技术方案,所述基于所述调用接口来实现sql数据库网站的开发的步骤中包括:

当webserver接收到命令的时候,判断是get还是post,如果是get命令就读取http请求中的文件名,然后读取该文件返回给请求方;

如果命令是post,则根据http请求中的文件名做判断,如果是/upload则表示上传文件操作,此时将上传的文件从http请求中分离出来并保存到目录下;

如果是/dbif则说明是数据库调用,发送来的http请求是xml封装的sql语句。

作为本发明的优选技术方案,所述如果是/dbif则说明是数据库调 用,发送来的http请求是xml封装的sql语句的步骤中包括:

当接收到validaccount命令,post过来的xml中需要包含用户名和密码信息,在webserver验证是否合法,并将结果封装成xml返回请求方;

当接收到logoff命令,webserver清除保存在session中的账号登录状态,如果用户访问页面会自动跳转到登录页面;

当受到execsql命令后,post过来的xml中包含sql语句,execsql的sql语句,则执行结果封装成xml返回请求方;

当受到querysql命令后,post过来的xml中包含sql语句,querysql的sql语句,执行结果封装成xml返回请求方。

本发明涉及一种轻量级sql数据库网站的开发方法,包括以下步骤:基于c/c++或delphi的socket编程开发出轻量级多线程webserver;基于所述webserver调用数据库;建立与所述webserver匹配的调用接口;基于所述调用接口来实现sql数据库网站的开发,本发明的方法可以实现在客户端的javascript代码中可以直接写sql语句,调试开发效率高,以及在sql语句使用<sql></sql>标记,由webserver做加密替换,则通过浏览器查看源码是看不到原始sql语句的,安全性高,而且轻量级的webserver占用硬件资源低。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施的流程示意图。

图2、图3为本发明中提供的具体的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-图3所示,本发明提供一种轻量级sql数据库网站的开发方法,包括以下步骤:

步骤s1:基于c/c++或delphi的socket编程开发出轻量级多线程webserver,轻量级的webserver占用硬件资源低。

步骤s2:基于所述webserver调用数据库;其中webservice根据提交上来的sql命令调用数据库。

步骤s3:建立与所述webserver匹配的调用接口,其中具体包括步骤s3a:基于javascript封装一套ajax的调用接口;步骤s3b:基于所述ajax的调用接口与所述webserver进行匹配,其中javascript中sql语言通过<sql></sql>标记来表示,在服务器端读取文件时对<sql></sql>标记的内容做加密替换,具体为在javascript中sql语言用特殊标记如<sql></sql>表示,在服务器端读取文件的时候可以对<sql></sql>标记的内容做加密替换,这样在浏览器端就不能直接看到sql的源代码,保证数据库的安全性。

步骤s4:基于所述调用接口来实现sql数据库网站的开发,具体包括步骤s4a:当webserver接收到命令的时候,判断是get还是post,如果是get命令就读取http请求中的文件名,然后读取该文件返回给请求方;步骤s4b:如果命令是post,则根据http请求中的文件名做判断,如果是/upload则表示上传文件操作,此时将上传的文件从http请求中分离出来并保存到目录下;步骤s4c:如果是/dbif则说明是数据库调用,发送来的http 请求是xml封装的sql语句。

在本发明中,步骤s4c还包括,当接收到validaccount命令,post过来的xml中需要包含用户名和密码信息,在webserver验证是否合法,并将结果封装成xml返回请求方;当接收到logoff命令,webserver清除保存在session中的账号登录状态,如果用户访问页面会自动跳转到登录页面;当受到execsql命令后,post过来的xml中包含sql语句,execsql的sql语句,则执行结果封装成xml返回请求方;当受到querysql命令后,post过来的xml中包含sql语句,querysql的sql语句,执行结果封装成xml返回请求方。

在本发明中,当受到execsql命令后,post过来的xml中包含sql语句,execsql的sql语句必须是update/delete/insert这3种,执行结果封装成xml返回请求方;当受到querysql命令后,post过来的xml中包含sql语句,querysql的sql语句必须是select,执行结果封装成xml返回请求方,在请求方得到返回的xml后,解析内容做出相应处理。

在本发明中,对于访问量不是很高的场合,轻量级webserver占用系统资源少,建站成本更低,可以在linux免费操作系统上部署,软件成本几乎为零。开发环境使用javascript+基于ajax的webservice库,上手快开发效率高。免去学习.netframework或者java开发框架以及相关开发工具的成本,以及安装部署简便,不依赖第三方库,甚至用u盘拷贝就能部署运行。

综上所述,本发明一种轻量级sql数据库网站的开发方法,包括以下步骤:基于c/c++或delphi的socket编程开发出轻量级多线程webserver;基于所述webserver调用数据库;建立与所述webserver匹配的调用接口;基于所述调用接口来实现sql数据库网站的开发,本发明的方法可以实现在客户端的javascript代码中可以直接写sql语句,调试开发效率高,以及在sql语句使用<sql></sql>标记,由web server做加密替换,则通过浏览器查看源码是看不到原始sql语句的,安全性高,而且轻量级的webserver占用硬件资源低。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1