证券公司营业部机房内都用些什么操作系统的服务器啊?都分别有些什么用?
服务器硬件DELL,HP,IBM等没什么好说的,机架式为主!
操作系统绝大部分是Novell Netware,其他部分是LINXU ,windows很少!
Novell Netware很久远的一种网络操作系统,配置复杂远在LINUX之上,配置设备驱动是往往要从硬件的底层入手不像WINDWOS 点点就搞定了,证卷公司绝大部分都在用这种系统,绝对的稳定。证券公司系统要是随机就宕机了,散户不要死人的啊!
这种系统可将多台个人电脑连接到一个统一的整合了目录,存储,打印,数据库等的网络中。也因此在证券行业中部署,Novell Netware上通常安装有 钱龙等股票行情显示和分析系统,通过布置在大厅或者大户室的普通PC机连接到Novell Netware系统上查询、操作股票买入抛售等。
可以下载同花顺买股票。
1、打开同花顺APP。
2、进入页面中,选择右下角“交易”。
3、登陆自己的账户。
4、进入页面,选择“买入”。
5、输入自己想要买入的股票代码,也可以在行情页面选择股票,可根据股票价格进行排序,选择自己想要买入的股票即可。
6、选择购买的数量,点击箭头所指处的“买入”就可以了。
目前市场上有很多股票行情交易软件,各种软件提供了丰富的分析和展示功能,而且基本上是免费的。但这些数据都是在线的、无法统一地下载到本地进行分析,于是上网找了些资料,有的是将程序到新浪搜狐的财经频道或其他财经类网站抓取并分析网页,这种方法操作性不强而且准确率较低,遇到广告或网页变动时风险较大。于是找到了Sina股票数据接口,这个接口是通过在IE端输入"http://hqsinajscn/list="+相应股票代码网站返回一个文件形式的数据,也可以通过JS获取该文件中的变量得到想要的数据字符串。
以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据接口:http://hqsinajscn/list=sh601006这个url会返回一串文本,例如:
var hq_str_sh601006="大秦铁路, 2755, 2725, 2691, 2755, 2620, 2691, 2692,
22114263, 589824680, 4695, 2691, 57590, 2690, 14700, 2689, 14300,
2688, 15100, 2687, 3100, 2692, 8900, 2693, 14230, 2694, 25150, 2695, 15220, 2696, 2008-01-11, 15:05:32";
这个字符串由许多数据拼接在一起,不同含义的数据用逗号隔开了,按照程序员的思路,顺序号从0开始。
0:”大秦铁路”,股票名字;
1:”2755″,今日开盘价;
2:”2725″,昨日收盘价;
3:”2691″,当前价格;
4:”2755″,今日最高价;
5:”2620″,今日最低价;
6:”2691″,竞买价,即“买一”报价;
7:”2692″,竞卖价,即“卖一”报价;
8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
10:”4695″,“买一”申请4695股,即47手;
11:”2691″,“买一”报价;
12:”57590″,“买二”
13:”2690″,“买二”
14:”14700″,“买三”
15:”2689″,“买三”
16:”14300″,“买四”
17:”2688″,“买四”
18:”15100″,“买五”
19:”2687″,“买五”
20:”3100″,“卖一”申报3100股,即31手;
21:”2692″,“卖一”报价
(22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
30:”2008-01-11″,日期;
31:”15:05:32″,时间;
相应地,也可以获得深市相关股票信息,但是这种方法的弊病是只能获得最新的或者是当天的股票数据,无法将历史数据导入到数据库,当然,你也可以以某一天为起始点自己重新创造历史数据。所以继续寻找其他网站接口,终于找到了雅虎财经网站,它提供的接口可以直接把股票历史数据导成Excel,真实太方便了!直接在浏览器地址中数据网址即可http://tablefinanceyahoocom/tablecsvs=股票代码,但是如果手动输入再逐一下载保存简直是太麻烦了,光上证股票就800多个,估计刚手动下载完就又开盘了还得重新下载。所以我的思路是,1、利用多线程方法下载股票文件。2、将这些文件统一导入数据库。
11文件下载类:
import javaio;
import javanet;
import javautilList;
import fatowenstocksystemsysconfigdataDownLoadVO;
public class HttpDownFile {
private static int BUFFER_SIZE = 8096;
/根据URL下载文件并保存
@param destUrl String
@param fileName String
@throws Exception
/
public void saveToFile(String destUrl, String fileName) throws IOException {
FileOutputStream fos = null;
BufferedInputStream bis = null;
HttpURLConnection httpUrl = null;
URL url = null;
byte[] buf = new byte[BUFFER_SIZE];
int size = 0;
url = new URL(destUrl);
httpUrl = (HttpURLConnection) urlopenConnection();
httpUrlconnect();
bis = new BufferedInputStream(httpUrlgetInputStream());
fos = new FileOutputStream(fileName);
while ((size = bisread(buf)) != -1)
foswrite(buf, 0, size);
fosclose();
bisclose();
httpUrldisconnect();
}
}
12多线程实现下载类:
import javautilArrayList;
import javautilList;
public class HisDataAddThread extends Thread {
boolean runFlag = true;
List myParamList = null;
String downLoadData ="";
String baseUrl = "http://tablefinanceyahoocom/tablecsvs=";
String result = "";
String savePath = "";
public HisDataAddThread(List paramList,String savePath){
thismyParamList = paramList;
thissavePath = savePath;
}
public void run() {
while(runFlag){
downLoadData = PublicDataUtilgetDownLoadData(myParamList);
if(!LibisEmpty(downLoadData)){
HttpDownFile oInstance = new HttpDownFile();
try {
oInstancesaveToFile(baseUrl + downLoadData, savePath + downLoadData + "csv");
}catch (Exception err) {
Systemoutprintln(errtoString());
}
}else{
runFlag = false;
}
try {
Threadsleep(1000);
} catch (InterruptedException e) {
eprintStackTrace();
}
}
}
public List getFailureList() {
return failureList;
}
public void setFailureList(List failureList) {
thisfailureList = failureList;
}
public List getSuccessList() {
return successList;
}
public void setSuccessList(List successList) {
thissuccessList = successList;
}
}
2将下载完的文件统一保存到数据库工具类
import javaioBufferedReader;
import javaioFile;
import javaioFileReader;
import javaioIOException;
import javautilArrayList;
import javautilIterator;
import javautilList;
public class CSVUtitl {
private BufferedReader bufferedreader = null;
private List list = new ArrayList();
public CSVUtitl(){
}
public CSVUtitl(String filename) throws IOException{
bufferedreader = new BufferedReader(new FileReader(filename));
String stemp;
while((stemp = bufferedreaderreadLine()) != null){
listadd(stemp);
}
}
public List getList() throws IOException {
return list;
}
// 得到csv文件的行数
public int getRowNum(){
return listsize();
}
//得到csv文件的列数
public int getColNum(){
if(!listtoString()equals("[]")) {
//csv文件中,每列之间的是用','来分隔的
if(listget(0)toString()contains(",")) {
return listget(0)toString()split(",")length;
}else if(listget(0)toString()trim()length() != 0) {
return 1;
}else{
return 0;
}
}else{
return 0;
}
}
//取得指定行的值
public String getRow(int index) {
if (thislistsize() != 0)
return (String) listget(index);
else
return null;
}
//取得指定列的值
public String getCol(int index){
if (thisgetColNum() == 0){
return null;
}
StringBuffer scol = new StringBuffer();
String temp = null;
int colnum = thisgetColNum();
if (colnum > 1){
for (Iterator it = listiterator(); ithasNext();) {
temp = itnext()toString();
scol = scolappend(tempsplit(",")[index] + ",");
}
}else{
for (Iterator it = listiterator(); ithasNext();) {
temp = itnext()toString();
scol = scolappend(temp + ",");
}
}
String str=new String(scoltoString());
str = strsubstring(0, strlength() - 1);
return str;
}
//取得指定行,指定列的值
public String getString(int row, int col) {
String temp = null;
int colnum = thisgetColNum();
if(colnum > 1){
temp = listget(row)toString()split(",")[col];
}else if(colnum == 1) {
temp = listget(row)toString();
}else{
temp = null;
}
return temp;
}
public void CsvClose() throws IOException {
thisbufferedreaderclose();
}
public void run(String filename) throws IOException {
CSVUtitl cu = new CSVUtitl(filename);
for(int i=0;i<cugetRowNum();i++){
String SSCCTag = formatData(cugetString(i,1));//得到第i行第一列的数据
String SiteName = formatData(cugetString(i,2));//得到第i行第二列的数据
String StationId= formatData(cugetString(i,3));
//将数据保存到数据库中
}
cuCsvClose();
}
public String formatData(String baseData){
String result = null;
if(!""equals(baseData) && baseData != null){
if(baseDatalength() > 1){
result = baseDatasubstring(1,baseDatalength());
result = resultsubstring(0, resultlength()-1);
}else{
result = baseData;
}
}else{
result = "";
}
return resulttrim();
}
public static void main(String[] args) throws IOException {
CSVUtitl test = new CSVUtitl();
try{
File path = new File("e:\\data");
File[] f = pathlistFiles();
List l = new ArrayList();
for(int i=0;i<flength;i++){
if(f[i]getName()endsWith("csv"))
ladd(f[i]); www2ctocom
}
Iterator it = literator();
while(ithasNext()){
File ff = (File)itnext();
testrun(pathtoString()+Fileseparator+ffgetName());
}
}catch (Exception e){
}
}
}
为什么股票交易登陆上会显示应用服务器没开,急需有些小的证券公司的服务器在股市开盘期间才会开,一收盘就关闭了。你可以尝试下该公司软件上其他服务器是否也关闭了。如果都关闭了。你在股市开盘期间发现又正常,基本上就这个原因了。但是如果股市开盘时间都还是这样提示服务器没有打开,那就是该公司的问题了可能服务器崩溃了。一般一个证券公司都有几种股票软件可以下载,你可以去试试其他版本的,比如通达信,大智慧,同花顺,钱龙等等。总不至于所有服务器都崩溃吧,总得有正常的软件可以运行,平时就建议安装几个版本的该公司软件,关键时候有用。个人观点仅供参考。
、金融行业配置服务器
金融领域涉及面很广,服务器的用途也各不相同。这里选取几个常见的场景,简单讨论一下配置需求。
1金融企业展官方网站。
在预算有限的情况下,企业搭建响应式官网展会,对需求很大,可以配备2核4G2M+云服务器。
预算充足的话,需要搭建金融网站+后台平台,安全性要求高。可选择4核4G10M以上的云服务器。
2互联网金融门户
如第三方信息平台、垂直搜索平台等。
这类平台每天实时更新大量数据信息,注重搜索、匹配、定向,不负责实际销售。它选择服务器配置12核24线程以上的CPU,匹配用户流量大、安全性高的需求,带宽30M/防200G以上。
3构建金融交易体系。
考虑到主要的交易模式属于撮合交易,大量的实时数据交互,一般涉及高频、量化,需要高速运行,对IPOS服务器要求高。
比如单CPU16核32线程以上的双路E5服务器,为了匹配高性能计算,网站前端服务器标配64G以上,数据库服务器一般内存需要达到128G以上。
一般的金融交易机构会把自己的服务器群放在自己的机房或者托管在交易所附近,而金融企业会把自己的服务器托管在用户群附近。
4用于分析市场状况
如果个人用户使用服务器+操作系统+股票软件下载数据进行行情分析,可以选择2核2G2M云服务器。
0条评论