写了PC服务器,采用内存映射文件方式快速存储数据到记事本,但有个缺陷,这个数据没有像MYSQL等数据库一样有SQL语句检索方便

lijian910wolf 2020-02-08 04:42:50
新年好
咨询个问题:
写了PC服务器,采用内存映射文件方式快速存储数据到记事本,但有个缺陷,这个数据没有像MYSQL等数据库一样有SQL语句检索方便,
有什么设计方法,能弥补这个缺陷吗?
目前这边的做法是:写了个工具不停的将这个记事本数据同步到mysql之类的数据库里,然后其他应用程序对接的数据源是这个数据库的数据。
这个看着比较笨的方法,有什么更好的方法吗?
谢谢
...全文
364 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijian910wolf 2020-02-17
  • 打赏
  • 举报
回复
你好,线程后边的操作我知道,现在唯一的犹豫是,记事本的数据实时同步到mysql还是不用mysql. 直接用文本文件做各种索引文件,这样进行数据管理,毕竟数据类型不多,用文本文件方式模拟数据库的话,要怎么做 ,可以很方便的检索到具体哪条数据来
gz_qmc 2020-02-11
  • 打赏
  • 举报
回复
所谓数据类型,其实就是一个数据结构

比如人员类型
typedef struct tagSOMEBODE
{
long ID;
short Sex;
short Age;
char Name[64];
char Add[64];
char Tel[14];
}SOMEBODE;

所谓表,其实就是数据集合
比如人员表
typedef struct tagXXX
{
SOMEBODE data;
struct tagXXX *next;
struct tagXXX *prev;
}*LPXXX;

所谓数据库,其实就是表的集合
比如
typedef struct tagMYDB
{
LPXXX std; //学生登记表
LPXXX tech; //老师登记表
LPYYY yyy; //其他表
}MYDB;

既然有了自己的数据库,文本文件就变得很垃圾
所以要实时的把接收到的数据直接转到自己的数据格式
如果文本文件已经固定,那么更简单,直接一次性转到自己的数据库就行

线程1,获取客户端80端口来的信息
{
解析http请求
按自己的方式检索自己的数据库获得数据
封http包发出去
}

线程2,获取客户端X端口来的信息
{
解析SQL请求
按自己的方式检索自己的数据库获得或修改数据
封SQL包发出去
}

线程3,获取客户端Y端口来的信息
{
解析自定义请求
按自己的方式检索自己的数据库获得或修改数据
封自定义包发出去
}

线程4,获取本地的指令
{
解析指令
按自己的方式检索自己的数据库获得或修改数据
读写各种本地文件(文本/SQL/ACCESS/DBASE..........)
}
smwhotjay 2020-02-09
  • 打赏
  • 举报
回复
使用内嵌sqlite db是偷懒的方法。
lijian910wolf 2020-02-09
  • 打赏
  • 举报
回复
引用 1 楼 gz_qmc 的回复:
你已经牛逼的进阶了
剩下的就是找一本SQL语言的书
解析所有的SQL指令
其实不多,就那么几个


新年好,之前也是在坛子里沟通后决定用服务器并发数据存取用内存映射的方式,确实是比直接用数据库好很多,但现在因为数据存在记事本里,这个数据二次利用比较笨拙,没有像数据库那种有关键字,表管理那么方便数据二次开发。

SQL语言不是问题,这个熟悉。

除了用个软件将记事本里的数据实时同步到数据里外,还有什么方法代替?是否一定要走这一步将记事本数据同步到数据库里?有没有在记事本的基础做一个像数据库的功能(估计很多难度),但是像那些大平台的服务器平台,它们并发的数据是存在哪?

举个例子,现在有些MQTT服务器平台,它们并发到了数据后,提供第三方软件采用Http的方式来获取历史数据,支持按时间,按设备等等索引来采集。不知道他们这个并发数据怎么处理保存与读取的。
lijian910wolf 2020-02-09
  • 打赏
  • 举报
回复
引用 3 楼 smwhotjay 的回复:

使用内嵌sqlite db是偷懒的方法。


老哥知道我的痛点吗?
好烦啊,想把用工具将记事本数据实时同步到数据库这个换掉,感觉这么做太土了。
gz_qmc 2020-02-08
  • 打赏
  • 举报
回复
你已经牛逼的进阶了
剩下的就是找一本SQL语言的书
解析所有的SQL指令
其实不多,就那么几个

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧