企业版 QVS 部署使用说明

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

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

快速入门

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

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

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

第一步:本地编辑脚本

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

undefined

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

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

在远程服务器的【集算器安装目录】\esProc\q-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\q-server\webapps\qvs\WEB-INF\lib中。

2)修改配置文件raqsoftConfig.xml

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

<DBList>
 <DB name="demo">
   <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\q-server\bin下的startup.batlinux下为startup.sh)。

第六步:登录QVS

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

undefined

undefined
  • 服务器名称:自定义的服务器名称,多个服务器时名称不能重复;
  • URL:“http://192.168.124.13:8090/qvs”;
  • 验证串:QVS 被远程连接时的验证串,默认为 "demoqvs",请参考《快速集成 - 第四步:QVS 配置》。

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

ide 左侧【应用资源】列出已登录的远程服务资源 myQVS,myQVS 下可展现 QVS 的主目录和云存储目录,本例未对 QVS 配置云存储地址,因此仅显示主目录。

主目录默认为【集算器安装目录】\esProc\q-server\webapps\qvs\WEB-INF\home\splx 目录,如需修改,请参考《快速集成 - 第三步:设置 QVS 主目录》。

2png

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

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

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

undefined

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

undefined

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

undefined

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

undefined

2)执行远程脚本

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

1png

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

3)调试远程脚本

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

3png

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

快速集成

介绍完使用集算器内置 Tomcat 中部署的 QVS 应用,下面我们来介绍如何将 QVS 部署在自己独立的应用中,同时也会介绍如何配置云存储目录。

第一步:集成应用目录

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

1png

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

undefined

除此之外,还需要将集算器的相关 jar 复制到 QVS 应用中:

【集算器安装目录】\esProc\lib 目录下的 jar 复制到【集算器安装目录】\esProc\q-server\webapps\qvs\WEB-INF\lib。

注意:

(1) 如需连接数据库,可参考《快速入门 - 第三步:配置数据源》小节部署。

(2) 所有文件中只有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 配置

	<?xml version="1.0" encoding="UTF-8"?>
	<qvs>
		…
                <!--cacheSystem:从云存储服务商下载用户文件到QVS的相关配置。
                 cachePath:缓存文件下载目录;
                 blockSize:指定下载块的大小;
                 minFreeSpace:存放下载文件目录的最小空闲空间,当服务器剩余空间小于最小空闲空间时,会自动删除下载目录下的缓存文件。-->
	        <cacheSystem cachePath="cache" blockSize="1024" minFreeSpace="2" />
		<verifies>
                <!-- code:验证串-->
                 <verify code="demoqvs">
                <!-- 与云存储相关的配置,store是调试者的云存储信息:type:存储服务商的类别,如:S3。标签之间的内容是QVS的云存储用户相关信息,示例中是S3用户的信息格式。需配置成用户自己的云存储地址。-->
                 <store type="S3">
                 {"region":"cn-north-2","accessKey":"AKEETAZQDCXFENKIIIXO","secretKey":"aYI3JBZOuRGkU3bck2H6u4W5O3FvNhjDhoVQU2yN","endPoint":"https://s3.cn-north-2.amazonaws.com.cn"}
		 </store>
                 </verify>
                </verifies>
		… 
	</qvs>

可以在【项目目录】\webapps\qvs\WEB-INF\home\qvsConfig.xml 中修改验证串、添加云存储地址。QVS 应用提供默认验证串 "demoqvs"。

在快速入门章节介绍了对 QVS 主目录文件的上载调试步骤,如需对云存储目录做调试,需参考上述 store 标签配置云存储地址,并按如下说明将云存储依赖的第三方 jar 放至 QVS 目录:
【集算器安装目录】\esProc\q-extlib 目录存储了目前程序支持的云存储平台的第三方依赖 jar,本例我们使用了 S3 云存储,需将 S3 目录下的 jar 复制到【集算器安装目录】\esProc\q-server\webapps\qvs\WEB-INF\lib。

第五步:启动服务器

第六步:登录QVS

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

QQ20230622100532png

  • 服务器名称:自定义的服务器名称,多个服务器时名称不能重复;
  • URL:http://[ip 地址]:[端口号]/[项目名称];
  • 验证串:QVS 被远程连接时的验证串,可配置多个。

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

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

undefined

应用目录说明

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

应用目录介绍

QVS应用目录内容如下:

WEB-INF

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

home

log

日志文件目录

splx

默认QVS主目录

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>1</runMode>
	<locale language="zh" country=""/>
        <!--cacheSystem:从云存储服务商下载用户文件到QVS的相关配置。
                 cachePath:缓存文件下载目录;
                 blockSize:指定下载块的大小;
                 minFreeSpace:存放下载文件目录的最小空闲空间,当服务器剩余空间小于最小空闲空间时,会自动删除下载目录下的缓存文件。-->
	<cacheSystem cachePath="cache" blockSize="1024" minFreeSpace="2" />
	<verifies>
		<verify code="demoqvs">
                <!-- 与云存储相关的配置,store是调试者的云存储信息,type:存储服务商的类别,如:S3。标签之间的内容是QVS的云存储用户相关信息,示例中是S3用户的信息格式。需配置成用户自己的云存储地址。-->
                 <store type="S3">
                 {"region":"cn-north-2","accessKey":"AKEETAZQDCXFENKIIIXO","secretKey":"aYI3JBZOuRGkU3bck2H6u4W5O3FvNhjDhoVQU2yN","endPoint":"https://s3.cn-north-2.amazonaws.com.cn"}
		 </store>
		</verify>
	</verifies>
</qvs>

raqsoftConfig.xml

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

<?xml version="1.0" encoding="UTF-8"?>
<Config Version="3">
    <Runtime>
	<!-- 配置应用所需的数据源,相关驱动jar需放置于应用可以加载的目录下-->
        <DBList>
          <DB name="demo">
            <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>
            <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">
	<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>    
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>   
</web-app>

以下是广告时间

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



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