企业版 QVS 部署使用说明

企业版集算器中提供了远程服务,该功能可以对远程服务器进行上传下载文件、修改调试SPL脚本等操作。

使用远程服务前需要部署QVS应用,企业版集算器内置的Tomcat中已部署该应用,远程机器中安装产品后可直接使用,另外我们也可以将QVS部署在自己独立的应用中。

快速入门

企业版集算器安装包中提供完整的QVS项目,位于【集算器安装目录】\esProc\qvs-server,因此想要快速使用QVS应用进行远程服务,直接在本地及远程机器上安装企业版集算器即可

下面通过一个示例,让您对远程服务有个快速体验。

在远程服务器192.168.124.13的数据库mydemo中存在一张表employee用于记录雇员信息,我们要在本地通过脚本选出employee表中工资大于8000的雇员,并且将脚本存放在远程服务器上,方便后续调试。

第一步:本地编辑脚本

根据需求在本地集算器中编辑脚本:

undefined

将脚本保存在本地,这里我将保存为D:\tmp\test1.splx

第二步:配置IP地址和端口号

在远程服务器的【集算器安装目录】\esProc\qvs-server\conf\server.xml文件中配置IP地址和端口号。

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8041" shutdown="SHUTDOWN">
 …
  <Service name="Catalina">
    <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="0"
               />
    <Engine name="Catalina" defaultHost="localhost">
     …
      <Host name="192.168.124.13"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
</Server>

第三步:配置数据源

1)将相关驱动jar放在指定位置

将存放在远程服务器【集算器安装目录】\common\jdbc下的hsqldb-***.jar数据源驱动jar拷贝到远程服务器【集算器安装目录】\esProc\qvs-server\webapps\qvs\WEB-INF\lib中。

2)修改配置文件raqsoftConfig.xml

在远程服务器的【集算器安装目录】\esProc\qvs-server\webapps\qvs\WEB-INF\home\raqsoftConfig.xml中配置数据源如下:

<DBList>
 <DB name="mydemo">
   <property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/demo" ></property> 
   <property name="driver" value="org.hsqldb.jdbcDriver" ></property> 
   <property name="type" value="13" ></property> 
   <property name="user" value="sa" ></property> 
   <property name="password" ></property> 
   <property name="batchSize" value="1000" ></property>
   <property name="autoConnect" value="true" ></property>
   <property name="useSchema" value="false" ></property>
   <property name="addTilde" value="false" ></property>
   <property name="dbCharset" value="UTF-8" ></property>
   <property name="clientCharset" value="UTF-8" ></property>
   <property name="needTransContent" value="false" ></property>
   <property name="needTransSentence" value="false" ></property>
   <property name="caseSentence" value="false" ></property>
 </DB>
</DBList>

如果需要设置其他数据库,也可以参考以上两个步骤进行配置。

第四步:启动数据库

在远程服务器的【集算器安装目录】\esProc\bin中启动startDataBase.batlinux下启动startDataBase.sh)。

第五步:启动服务器

启动远程服务器位于【集算器安装目录】\esProc\qvs-server\bin下的startup.batlinux下为startup.sh)。

第六步:登录QVS

打开集算器ide,在菜单栏中找到【远程服务 - 登录】。

undefined

  • 服务器名称:自定义的服务器名称,多个服务器时名称不能重复;
  • URL:“http://192.168.124.13:8090/qvs”;
  • 用户名:管理员用户 admin;
  • 密码:默认密码 88888888,如需修改,请参考《快速集成 - 第五步:修改密码》。

填写以上部分,点击【登录】即可访问QVS

ide左侧【应用资源】列出已登录的远程服务资源myQVSmyQVS下包括QVS的主目录,默认为【集算器安装目录】\esProc\qvs-server\webapps\qvs\WEB-INF\home\splx目录,如需修改,请参考《快速集成 - 第三步:设置QVS主目录》。

undefined

第七步:远程服务脚本调试

1)将本地脚本test1.splx上传至远程服务器192.168.124.13主目录

在主目录处鼠标右键,选择【上传文件】

undefined

或者在菜单选择【远程服务 - 上传文件】

undefined

点击【选择节点】,选择【主目录】

undefined

选择文件D:\tmp\test1.splx,点击【上传文件】,上传完成如图:

undefined

2)执行远程脚本

双击打开远程QVS主目录下的脚本test1.splx,可以直接执行脚本。

undefined

此时实质上是直接在远程服务器上执行计算脚本,而非将远程脚本下载到本地执行。

3)调试远程脚本

在脚本中继续添加条件:统计工资大于8000的雇员中各部门的雇员数量,将test1.splx的内容修改为:

undefined

点击【保存】,即可将更新的内容同步到远程服务器中。


快速集成

介绍完使用集算器内置Tomcat中部署的QVS应用,下面我们来介绍如何QVS部署在自己独立的应用中

第一步:集成应用目录

将【集算器安装目录】\esProc\qvs-server\webapps\qvs如下内容全部集成到WEB应用中。

undefined

集成后的【项目目录】\webapps\qvs\WEB-INF\libjar包如下:

undefined

除此之外,还需要将【集算器安装目录】\esProc\lib下所有jar包放置到该目录下。

注意:所有文件中只有web.xml文件不能直接拷贝,而是将QVSweb.xml文件中的内容拷贝到所要集成的web.xml文件中。其内容在web.xml中的顺序,要遵从相关应用服务器的规定。

第二步:设置IP地址和端口号

第三步:设置QVS主目录

在【项目目录】\webapps\qvs\WEB-INF\home\raqsoftConfig.xml中设置QVS主目录,主目录默认为【项目目录】\webapps\qvs\WEB-INF\home\splx

<?xml version="1.0" encoding="UTF-8"?>
<Config Version="3">
    <Runtime>
		…
			<!-- 设置QVS的主目录 -->
            <mainPath>splx</mainPath>
        …
    </Runtime>
</Config>

第四步:启动服务器

第五步:修改密码

QVS应用提供管理员用户admin和默认密码88888888

我们可以在【项目目录】\webapps\qvs\WEB-INF\home\qvsConfig.xml中修改管理员用户的密码。

	<?xml version="1.0" encoding="UTF-8"?>
	<qvs>
		…
		<adminPassword>88888888</adminPassword>
		… 
	</qvs>

第六步:登录QVS

打开集算器ide,在菜单栏中找到【远程服务 - 登录】。

undefined

  • 服务器名称:自定义的服务器名称,多个服务器时名称不能重复;
  • URL:http://[ip 地址]:[端口号]/[项目名称];
  • 用户名:管理员用户 admin;
  • 密码:管理员密码。

填写以上部分,点击【登录】即可访问QVS

ide左侧【应用资源】列出已登录的远程服务资源myQVSmyQVS下列出QVS的主目录。

undefined

应用目录说明

本章节主要介绍QVS应用目录的组成以及配置文件的内容。

应用目录介绍

QVS应用目录内容如下:

WEB-INF

需的目录,放置应用配置文件和jar

home

log

日志文件目录

splx

默认QVS主目录

sys_splx

放置QVS系统使用的splx文件

qvsConfig.xml

QVS配置文件

raqsoftConfig.xml

SPL配置文件

lib

放置WEB应用所需引用的jar

web.xml

配置servlet

配置文件介绍

qvsConfig.xml

以下为QVS配置文件qvsConfig.xml的内容:

	<?xml version="1.0" encoding="UTF-8"?>
	<qvs>
		<runMode>2</runMode>
		<adminPassword>88888888</adminPassword>
	</qvs>

adminPassword:设置管理员用户admin的密码,默认是88888888

raqsoftConfig.xml

以下为SPL配置文件raqsoftConfig.xml的内容:

<?xml version="1.0" encoding="UTF-8"?>
<Config Version="3">
    <Runtime>
		<!-- 配置应用所需的数据源,相关驱动jar需放置于应用可以加载的目录下-->
        <DBList>
            <DB name="mysql">
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/mytest?useCursorFetch=true"/>
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="type" value="10"/>
                <property name="user" value="root"/>
                <property name="password" value="123456"/>
                <property name="batchSize" value="0"/>
                <property name="autoConnect" value="false"/>
                <property name="useSchema" value="false"/>
                <property name="addTilde" value="false"/>
                <property name="needTransContent" value="false"/>
                <property name="needTransSentence" value="false"/>
                <property name="caseSentence" value="false"/>
            </DB>
        </DBList>
        <Esproc>
            <charSet>GBK</charSet>
            <splPathList>
                <splPath></splPath>
            </splPathList>
            <dateFormat>yyyy-MM-dd</dateFormat>
            <timeFormat>HH🇲🇲ss</timeFormat>
            <dateTimeFormat>yyyy-MM-dd HH🇲🇲ss</dateTimeFormat>
			<!-- 设置QVS的主目录,登录远程服务后,在ide左侧列表树显示;写成相对路径时,相对于raqsoftConfig.xml -->
            <mainPath>splx</mainPath>
            <tempPath>temp</tempPath>
            <bufSize>65536</bufSize>
            <parallelNum>16</parallelNum>
            <cursorParallelNum>16</cursorParallelNum>
            <blockSize>1048576</blockSize>
            <nullStrings>nan,null,n/a</nullStrings>
            <fetchCount>9999</fetchCount>
            <customFunctionFile></customFunctionFile>
			<!-- 设置外部库 -->
			<extLibsPath>F:\raqsoft\esProc\extlib</extLibsPath>
            <importLibs>
                <lib>WebserviceCli</lib>
            </importLibs>
		</Esproc>
        <Logger>
            <Level>DEBUG</Level>
        </Logger>
    </Runtime>
    <JDBC>
    </JDBC>
</Config>

web.xml

以下为servlet配置文件web.xml的内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0">
	<filter>
	    <filter-name>loginFilter</filter-name>
	    <filter-class>com.scudata.ecloud.LoginFilter</filter-class>
	</filter>
	<filter-mapping>
	    <filter-name>loginFilter</filter-name>
	    <url-pattern>*.jsp</url-pattern>
	</filter-mapping>

	<servlet>
		<servlet-name>QVSServlet</servlet-name>
		<servlet-class>com.scudata.ecloud.server.QVSServlet</servlet-class>
	    <load-on-startup>1</load-on-startup>
	</servlet>
	<servlet>
		<servlet-name>DebuggerServlet</servlet-name>
		<servlet-class>com.scudata.ecloud.server.debug.DebuggerServlet</servlet-class>
	</servlet>
	<servlet>
    	<servlet-name>ideFileServlet</servlet-name>
    	<servlet-class>com.scudata.ecloud.server.debug.file.FileServlet</servlet-class>
    </servlet>
	<servlet>
    	<servlet-name>ideResumableUpDownServlet</servlet-name>
    	<servlet-class>com.scudata.ecloud.server.debug.file.stream.StreamServlet</servlet-class>
    </servlet>
    
	<servlet-mapping>
		<servlet-name>QVSServlet</servlet-name>
		<url-pattern>/qvs</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>DebuggerServlet</servlet-name>
		<url-pattern>/spl/debug</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
    	<servlet-name>ideFileServlet</servlet-name>
    	<url-pattern>/file/ide</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    	<servlet-name>ideResumableUpDownServlet</servlet-name>
    	<url-pattern>/file/resumable</url-pattern>
    </servlet-mapping>    
</web-app>

以下是广告时间

对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅



嗯,还不太了解好多乾?
猛戳这里
玩转好多乾