Databus

Databus就是一个实时的低延迟数据抓取系统。
Databus提供如下功能:
来源独立:Databus支持多种数据来源的变更抓取,包括Oracle和MySQL。Oracle适配器在开源版本中有提供,MySQL适配器将在以后提供。
可扩展、高度可用:Databus能扩展到支持数千消费者和事务数据来源,同时保持高度可用性。
事务按序提交:Databus能保持来源数据库中的事务完整性,并按照事务分组和来源的提交顺寻交付变更事件。
低延迟、支持多种订阅机制:数据源变更完成后,Databus能在微秒级内将事务提交给消费者。同时,消费者使用Databus中的服务器端过滤功能,可以只获取自己需要的特定数据。
无限回溯:这是Databus最具创新性的组件之一,对消费者支持无限回溯能力。当消费者需要产生数据的完整拷贝时(比如新的搜索索引),它不会对主OLTP数据库产生任何额外负担,就可以达成目的。当消费者的数据大大落后于来源数据库时,也可以使用该功能。

源代码地址:
https://github.com/linkedin/databus

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来逐行分析一下这段代码。 ```c #include "LCD1602.h" ``` 这行代码引入了一个名为"LCD1602.h"的头文件,该头文件包含了LCD1602液晶显示屏的相关定义和函数。 ```c void waitforready(void) ``` 这个函数用于等待LCD1602液晶显示屏准备就绪。 ```c unsigned char idata status; ``` 定义一个名为status的unsigned char类型变量。 ```c DATABUSINPUTMODE(); ``` 设置数据总线为输入模式。 ```c ENL; RSL; RWH; delay100ns; ``` 设置使能、寄存器选择和读写信号,然后延时100纳秒。 ```c do{ ENH; delay1us; DATABUSINPUTMODE(); DATABUS=0xff; status=DATABUS; ENL; delay1us; }while(status&0x80); ``` 在等待LCD1602液晶显示屏准备就绪的过程中,不断发送读状态的命令,直到状态为准备就绪。 ```c void writecmd(unsigned char cmd) ``` 这个函数用于向LCD1602液晶显示屏写入命令。 ```c waitforready(); DATABUS=cmd; ENL; RSL; RWL; delay100ns; ENH; delay1us; ENL; delay1us; ``` 等待LCD1602液晶显示屏准备就绪后,设置命令,然后发送使能、寄存器选择和读写信号,再延时后设置使能信号为低电平。 ```c void writedata(unsigned char cmd) ``` 这个函数用于向LCD1602液晶显示屏写入数据。 ```c waitforready(); DATABUS=cmd; ENL; RSH; RWL; delay100ns; ENH; delay1us; ENL; delay1us; ``` 等待LCD1602液晶显示屏准备就绪后,设置数据,然后发送使能、寄存器选择和读写信号,再延时后设置使能信号为低电平。 ```c void SetCurPos(unsigned char row,unsigned char col) ``` 这个函数用于设置LCD1602液晶显示屏上的光标位置。 ```c writecmd(((row-1)<<6)+col-1+0x80); ``` 将行号和列号转换为光标位置,并发送命令设置光标位置。 ```c void LCDInit() ``` 这个函数用于初始化LCD1602液晶显示屏。 ```c writecmd(0x01); writecmd(0x38); writecmd(0x0f); writecmd(0x06); ``` 发送命令初始化液晶显示屏,包括清除显示、设置总线为8位、设置显示模式、设置光标移动方式。 ```c void LCDPrint(unsigned char *p) ``` 这个函数用于在LCD1602液晶显示屏上显示字符串。 ```c while(*p!='\0') { writedata(*p); p++; } ``` 循环发送每个字符的数据,直到字符串结束符'\0'出现。 ```c void LCDHideCursor(void) ``` 这个函数用于隐藏LCD1602液晶显示屏上的光标。 ```c writecmd(0x0c); ``` 发送命令隐藏光标。 ```c void LCDShowCursor(void) ``` 这个函数用于显示LCD1602液晶显示屏上的光标。 ```c writecmd(0x0e); ``` 发送命令显示光标。 ```c void LCDCursorSparking(void) ``` 这个函数用于让LCD1602液晶显示屏上的光标闪烁。 ```c writecmd(0x0f); ``` 发送命令让光标闪烁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值