美文网首页
构建数据服务器

构建数据服务器

作者: ww4u | 来源:发表于2018-06-14 12:15 被阅读0次
  • 记录运行数据需要搭建数据记录服务器
  • 规划


    image.png

原型

  • web-server: apache
  • db: mysql

创建表格

  • 数据表格
  • 设置表格
    数据表格中通过设置ID索引设置表格


    image.png

数据表
设置表

数据上传(写db)

def upload( content, sn="", jid = 0, dir = 0, setupid = 0, dt=None ):
    
    db = sql.connect( inverse_gap_db.inverse_gap_db_host,
                      inverse_gap_db.inverse_gap_db_user,
                      inverse_gap_db.inverse_gap_db_pw,
                      inverse_gap_db.inverse_gap_db_name, 
                      charset='utf8')

    cursor = db.cursor()

    sqlReq = "INSERT INTO %s ( sn, jid, dir, setup_id, ts, data ) " % inverse_gap_db.inverse_gap_tablename
    sqlReq = sqlReq + "VALUES ( %s, %s, %s, %s, %s, %s )"

    # by current time
    if ( dt == None):
        dt = datetime.datetime.now()      

    rowData = ( sn, jid, dir, setupid, dt.strftime("%Y-%m-%d %H:%M:%S"), sql.Binary(content) )

    try:
        cursor.execute( sqlReq, args = rowData )
        db.commit()
    except Exception as e:
        print("fail to db op", e )
        db.rollback()

    db.close()

数据下载

def download( sn, dir= 0 ):
    
    db = sql.connect( inverse_gap_db.inverse_gap_db_host,
                      inverse_gap_db.inverse_gap_db_user,
                      inverse_gap_db.inverse_gap_db_pw,
                      inverse_gap_db.inverse_gap_db_name, 
                      charset='utf8')

    cursor = db.cursor()

    sqlReq = "SELECT * FROM %s WHERE sn=\'%s\' and dir=%d ORDER BY ts DESC" % ( inverse_gap_db.inverse_gap_tablename, sn, dir )
    fullCmd = sqlReq

    payload = None
    try:
        cursor.execute( fullCmd )
        row = cursor.fetchone()
        payload = row[ 5 ]
    except Exception as e:
        print("fail to db op", e )
        
    db.close()
    return payload

下载后的绘制

def plotCsv( content ):
    stream = encodings.utf_8.decode( content )
    temp = numpy.fromstring( content, sep=',')

    fig = plt.figure(1)
    plt.plot( temp,'-*' )
    plt.show()
绘制图示

记录

  • py3中的mysql module 已经替换成 pymysql(不再是py2中的 pymysqldb)
  • mysql中的数据长度和类型有关


    image.png
  • 数据有效记录使用的是二进制(blob),所以上传时需要进行binary
rowData = ( sn, jid, dir, setupid, dt.strftime("%Y-%m-%d %H:%M:%S"), sql.Binary(content) )
  • 上传使用的下面的格式,可以省去组织字符的引号过程
cursor.execute( sqlReq, args = rowData )
  • 由于上传的数据时原始格式(未经格式化,数据是多变的也没有办法格式化),所以在进行数据处理时需要根据格式进行解析

相关文章

  • 构建数据服务器

    记录运行数据需要搭建数据记录服务器 规划image.png 原型 web-server: apache db: m...

  • 常用大数据工具汇总

    常用的大数据工具按主题分类为: 语言 web框架 应用服务器 SQL数据访问工具 SQL数据库 大数据 构建工具 ...

  • 基于node操作数据库进行删查改写 || express(二)

    1 . 构建基本的服务器与接口 2 . 基于node进行数据库删查改写 如果不会创建数据库,这个......自己想...

  • 汉字星球总结

    汉字星球开发中遇到的问题 后台数据库设计、构建 爬虫的构建、爬虫入库 服务器的配置等 后台管理功能以及简易前台页面...

  • 童秘公众号后端整理

    童秘公众号使用maven构建项目,使用JFinal框架开发,数据库mysql,缓存Redis,服务器tomcat,...

  • node.js开发环境的介绍

    web全栈## HTML/CSS页面的构建 浏览器端的开发 服务器端的开发 数据库管理 服务器运维 MEAN ST...

  • MySQL优化

    Mysql优化方向: 1.存储层(数据): 构建良好的数据结构 2.设计层(单台服务器) 表结构的设计,表的引擎的...

  • Zookeeper之集群数据同步源码分析

    在完成领导者选举之后,确定服务器角色之后,需要进行数据同步。然后才能构建请求处理链RequestProcessor...

  • Go 语言实现时钟服务器

    使用 net 包构建时钟服务器。 时钟服务器 构建一个时钟服务器,每秒一次向客户端发送时间。 Listen 函数创...

  • MySQL主从复制原理

    MySQL主从复制是构建高可用MySQL的基础,复制就是让一台服务器的数据和其它服务器保持同步,一台主库可以同步到...

网友评论

      本文标题:构建数据服务器

      本文链接:https://www.haomeiwen.com/subject/kczeeftx.html