http://blog.csdn.net/sikinzen/article/details/5455581

目录

版本记录

目录

1       概述

2       缩略词与相关概念

3       GSM/GPRS

4       SIM卡接口

5       AT指令

6       呼叫与呼入

7       短信(SMS)及pdu格式

8       STK

9       GPRS连接

9.1             例子

9.1.1         环境

9.1.2         蓝牙连接到GSM模块,以及AT指令的畅通

9.1.3         利用PPP协议连接上GPRS

9.1.4         利用socket进行网络通讯

9.2             GPRS接入点

9.2.1         手机上的3种接入点

9.2.2         CMWAP与CMNET的区别在于:

10              附录

11              联系方式


1          概述

本文主要记录在学习 GSM/GPRS 模块时的一些心得。

主要包括 GSM/GPRS模块 、AT指令、SIM卡接口、手机短信的pdu格式以及GPRS上网相关。

2          缩略词与相关概念

²  BSS: Base Station Subsystem       (无线)基站子系统

²  EVB: Evaluable Board   评估板

²  HLR:HLR是GSM系统的中央数据库,存储着该HLR控制的所有存在的移动用户的相关数据。所有移动用户重要的静态数据和动态数据都存储在HLR中,这包括移动用户识别号码、访问能力、用户类别和补充业务等数据,还存储着为MSC提供关于移动用户实际漫游所在的MSC区域有关动态信息数据。这样,任何入局呼叫可以即刻按选择路径送到被叫的用户。

²  ICCID:又称为SIM卡号,为SIM卡的唯一识别号码,共有20位数字组成,用于标识每张SIM卡的唯一性。

其编码格式为:AAAAA AMFSS YYGXX XXXXX。在SIM卡背面印制(以下为中移动编码标准)。

ü  AAAAAA:国际移动运营商识别码(IMSI):898600(中国移动),898601(中国联通)。

ü  M:移动接入号的末位:4/5/6/7/8/9,分别对应于134/135/136/137/138/139。

ü  F:用户号码第四位,取值范围为0-9。

ü  SS:省代码,详细如下:

01北京/02天津/03河北/04山西/05内蒙/06辽宁/07吉林/08黑龙江/09上海/10江苏/

11浙江/12安徽/13福建/14江西/15山东/16河南/17湖北/18湖南/19广东/20广西/

21海南/22四川/23重庆/24贵州/25云南/26陕西/27甘肃/28青海/29宁夏/30新疆/

31西藏

ü  YY:为编制ICCID时的年号,取后两位。

ü  G:SIM卡供应商代码,分配如下:

0-雅斯拓/1-GEMPLUS/2-武汉天喻/3-江西捷德/4-珠海东信和平/5-大唐微电子通/

6-航天九州通/7-北京握奇/8-东方英卡/9-北京华虹/A-上海柯斯

ü  第14-19位:用户识别号。

ü  第20位:校验号。

如:89860 07031 01120 94320 是2001年生产的西藏移动的1370开头的全球通号码。

²  IMEI:国际移动设备识别码(International Mobile Equipment Identity),由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的,即:用于标识每个模块(如GSM模块)的唯一性。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。

IMEI由15位数字组成,其组成为:

1、前6位数(TAC)是"型号核准号码",一般代表机型。

2、接着的2位数(FAC)是"最后装配号",一般代表产地。

3、之后的6位数(SNR)是"串号",一般代表生产顺序号。

4、最后1位数(SP)通常是"0",为检验码,目前暂备用。

IMEI码具有唯一性,贴在手机背面的标志上,并且读写于手机内存中。它也是该手机在厂家的"档案"和"身份证号"。

²  IMSI:国际移动用户识别码(International Mobile Subscriber Identity), 国际上为唯一识别一个移动用户所分配的号码,等同于我们俗称的SIM卡。IMSI共有15位,其结构如下:MCC+MNC+MIN

ü  MCC:Mobile Country Code,移动国家码,共3位,中国为460。

ü  MNC:Mobile Network Code,移动网络码,共2位,联通CDMA系统使用03,一个典型的IMSI号码为460030912121001;

ü  MIN共有10位,其结构如下为09+M0M1M2M3+ABCD ,其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。

²  个人密码(PIN码)和SIM卡解锁密码(PUK码):PIN码是SIM卡的个人密码。为了防止其他人擅用SIM卡,在手机接通电源,将SIM卡插入手机时,屏幕上会显示出要求用户输入4~8位的PIN码(新购机的用户,其PIN码为"1234"),用户可以任意更改4~8位的密码。如果用户连续三次输入错误的密码,手机将会显示"Blocked"字样,说明SIM卡已被锁上。按照技术要求,此时用户应输入SIM卡解锁密码(PUK码);用户输入了正确的PUK码后,SIM卡的锁才能打开。如果用户输入10次错误的PUK码的话,用户的SIM卡将会自动报废。

²  KI密钥:(Key identifier)是SIM卡与运营商之间加密数据传递的密钥。当终端开机后,GSM系统进行验证时会同时使用Ki及IMSI,经过一连串系统安全认证讯息后产生随机变量,并以A3算法进行加密运算与手机内存资料进行比对,当身份确认无误后始可入网。目前GSM使用的Ki长度是16 bytes,相当于128bits。

²  创建密钥:指SIM卡的制作厂家在生产SIM卡时定义的密钥。如果需要对SIM卡进行ICCID/IMSI等数据的写入操作,首先必须知道创建密钥。

²  NSS: Network Sub-System   (交换)网络子系统

²  SIM卡:Subscriber Identity Module,即 用户身份识别模块

²  SP运营商

SP其实就是增值服务提供商,说白了也就是提供某某包月服务,然后每月定期从你的手机话费里扣钱的这种服务的都属于SP,举个例子提供每月5元的彩玲业务的中国移动也算是个SP。而运营商可能一般是指移动、联通、网通等移动业务运营商。但是你要是把SP和运营商连起来可能就单纯的指代增值服务提供商了,当然其中也可能包括上述运营商。SP的业务范围五花八门,有前面提到的彩玲等等正规网络运营商提供的服务和其他小供应商提供的包括聊天室等等包月的服务。

基本上这些SP和运营商都受信息产业部的约束,当然也有一些其他的电信监管部门。

Ø  SIM卡开卡过程

²  正常使用的SIM卡的2种数据

ü  SIM卡自身存储数据

此部分数据包括ICCID/IMSI/KI/PIN/PUK等,这部分数据存储在SIM卡上,有着特定的含义,例如IMSI/ICCID标志着全球唯一的1个终端特征,KI是移动终端标识登陆GSM网络的通行证,PIN/PUK是SIM卡自我保护的武器。

ü  系统数据库存储数据

此部分数据也可理解为HLR存储的数据。

当SIM卡登陆GSM网络后,平台数据库根据IMSI/ICCID数据匹配此终端对应的各种信息,如手机号码/资费标准等,进行GSM网络服务。

²  预占号码的概念

指用户在选择好指定的手机号码后,可以预占,并在规定的时间内完成开户动作,以防止开卡过程中与其他用户发生冲突。

²  已写入IMSI/ICCID等信息的SIM卡的开卡过程

对于这种SIM卡,SIM卡自身存储数据已经存在,不需要写入,只需要与系统交互,输入预占号码/ICCID/开卡申请人信息/SIM卡资费标准等系统数据库存储数据即可开户。

²  未写入IMSI/ICCID等信息的SIM卡的开卡过程

这种SIM卡与写入IMSI/ICCID等信息的SIM卡相比,需要在与系统交互登记系统数据库存储数据之前使用设备的SIM卡读写器进行SIM卡自身存储数据的写入操作。

写入后的操作与已写入IMSI/ICCID等信息的SIM卡的开卡过程一致。

3          GSM/GPRS

GSM全名为:Global System for Mobile Communications,中文为全球移动通讯系统,是一种起源于欧洲的移动通信技术标准,属于第二代移动通信技术。

GPRS(General Packet Radio Service)是通用分组无线业务的简称。GPRS是GSM Phase2.1规范实现的内容之一,能提供比现有GSM网9.6kbit/s更高的数据率。GPRS采用与GSM
相同的频段、频带宽度、突发结构、无线调制标准、跳频规则以及相同的TDMA帧结构。因此,在GSM系统的基础上构建GPRS系统时,GSM系统中的绝大部分部件都不需要作硬件改动,只需作软件升级。GPRS属于第2.5代的移动通信技术。

GSM/GPRS 模块指的就是支持这两种通讯系统的模块,比如simcom300等。

GSM/GPRS开发主要参考GSM 规范。GSM系统规范是一个发展的规范,迄今共经历了3个阶段,分别被命名为PHASE1、PHASE2、PHASE2+。另外根据不同的阶段对个版本进行更新,在不同的年代发布又分成了R99(1999.12)、R4(2001.3)、R5(2002.3),这些版本主要为UMTS系统使用。现以R99版本的文档为例,在R99中共用13各系列文档下面就针对这十三个功能进行说明:

01系列:GSM系统概述

02系列:GSM业务类型说明

03系列:GSM网络说明

04系列:MS-BSS借口和规范(Um接口的2层和3层内容)

05系列:无线路径上的物理层(Um接口的1层内容)

06系列:语音编码规范

07系列:移动台的终端适配,如:GSM07.07(移动终端AT命令集)

08系列:BTS到MSC之间的接口(A和Abis接口)

09系列:网络互连

10系列:项目进程和开放性方面

11系列:设备和型号批准规范

12系列:操作和维护

13系列:GSM系统附加要求

GSM模块的操作可参考sim300 手册为例。硬件时序主要有:上电、下电、重启等。

4          SIM卡接口

SIM卡接口可参考 GSM11.11文档。

SIM卡一般分为 两种:

ID-1 SIM卡,俗称“大卡”,大小规格同 信用卡;

插入式 SIM卡,俗称“小卡”,即我们通常手机用的sim卡。

5          AT指令

AT 指令就是我们用来操作GSM/GPRS 的一些命令,请参考 GSM07.07 等文档。包括了:

通用指令:

呼叫控制指令:

短信相关指令:

网络服务相关指令:

SIM卡相关指令:

GPRS相关指令:

6          呼叫与呼入

呼叫与呼入相关的AT指令请参考GSM07.07 等文档。

拨出:ATD NO

来电:检测GSM模块的串口输出信息,若为“RING”则为来电,并做一系列处理。

7          短信(SMS)及pdu格式

短信相关的AT指令请参考 GSM07.05 文档,短信的技术实现请参考 GSM03.40 文档。可以《SMS with the SMS PDU mode》文档作为入门。

简单的说,SMS有3种格式:block格式、text格式和pdu格式。国内手机都支持 pdu格式。所谓pdu格式,其实就是对我们收发的短信的一种封装,具体封装格式见上面的文档。知道了封装格式后,我们可以通过AT指令 (AT+CMGS)直接将任意短信息发送到指定手机,当然也可以发到飞信上(只是目的手机号不同而已)。

8          STK

9          GPRS连接

9.1         例子

底下以一个例子来说明如何通过手机GPRS上网。

9.1.1        环境

PC:Ubuntu9.04的操作系统,带蓝牙功能;

手机:带蓝牙功能,内为MTK模块。

9.1.2        蓝牙连接到GSM模块,以及AT指令的畅通

1.    通过bluetooth-applet 进行PC 与 手机的蓝牙配对

运行bluetooth-applet,并在其中设置蓝牙可以被查找。用手机来查找可用的蓝牙设备,找到电脑的蓝牙设备后绑定在一起。或者反之。

2.    运行hcitool scan 以检测蓝牙设备的地址

sikinzen@sikinzen-desktop:~$ hcitool scan

Scanning ...

3F:44:17:2E:66:01       温陵书生手机

3.    通过 sdptool search SP 3F:44:17:2E:66:01 查找手机上的串口(Moderm)对应的通道号

sikinzen@sikinzen-desktop:ppp-2.4.5$ sdptool search SP 3F:44:17:2E:66:01

Inquiring ...

Failed to connect to SDP server on 00:17:4B:B4:75:48: Host is down

Searching for SP on 3F:44:17:2E:66:01 ...

Service Name: Serial Port0

Service RecHandle: 0x10002

Service Class ID List:

"Serial Port" (0x1101)

Protocol Descriptor List:

"L2CAP" (0x0100)

"RFCOMM" (0x0003)

Channel: 10

Language Base Attr List:

code_ISO639: 0x656e

encoding:    0x6a

base_offset: 0x100

4.    通过rfcomm 将 手机上的串口蓝牙连接 与 /dev/rfcomm0 绑定

sudo rfcomm bind /dev/rfcomm0 3F:44:17:2E:66:01 10

5.    通过minicom 与手机模块进行通讯

在minicom 中利用 CTRL+A  Z 进入minicom设置选项,设置串口为 /dev/rfcomm0,波特率为115200,使能硬件流控。

大功告成!

输入 AT , 收到回复: OK

9.1.3        利用PPP协议连接上GPRS

3.1 错误事例

在超级终端(minicom)向GSM模块 发:at+cgdcont=1,"IP","CMNET", "",0,0

收:OK

发: AT+CGATT=1

收:OK

发: ATD*99***1#

收:   CONNECT

然后收到一大堆数字。     最后来了个   “NO   CARRIER”

3.2 解释

at+cgdcont=1,"IP","CMNET", "",0,0 是设置PDP上下文,具体见 GSM07.07 文档。这里要指出的是:“CMNET”是移动手机的GPRS接入点,相关说明见下一小节。

AT+CGACT=1,1 是激活PDP,建立modem和GPRS网络之间的连接

AT+CGDATA=1  是建立PC和modem之间的数据连接,这个连接中,modem相当于PPP server,PC机相当于PPP client。

上述两个连接可以同时建立,用一条命令

ATD*99***1#  (其中99是代表向网络请求IP数据服务,1#是PDP编号,可以是2#,3#等等)

如果PC端的应用程序没有PPP协议栈,就不会响应PPP消息,连接就断开了。

所以,通过上面步骤的问题就在于minicom不“熟悉”PPP协议,不能回复服务器的PPP数据,等超时一到,服务器自然断开GPRS连接。

所以,我们接下来就通过开源软件PPP以及Linux内核带的PPP协议来连接GPRS。

3.3 正确事例

首先,下载PPP源码(目前是 2.4.5版本),通过./configure  make  make install 后,安装完成。主要用到pppd、chat两个应用程序;

其次,编写相关的几个脚本文件,主要是:

/etc/ppp/options:配置脚本

/etc/ppp/gprs-connect:pppd在连接GPRS时会调用该脚本

/etc/ppp/gprs-disconnect:断开连接的脚本。其实断开连接只需 执行 killall pppd

/etc/ppp/connect-errors:错误记录本,GPRS连接中产生的错误信息会记录到该文本中

sikinzen@sikinzen-desktop:ppp$ cat options

#debug

/dev/rfcomm0

115200

crtscts

#nodetach

nodeflate

noauth

connect /home/sikinzen/etc/ppp/gprs-connect

disconnect /home/sikinzen/etc/ppp/gprs-disconnect

:10.0.0.1

noipdefault

novj

novjccomp

nobsdcomp

defaultroute

sikinzen@sikinzen-desktop:ppp$ cat gprs-connect

#!/bin/sh

exec     home/sikinzen/Codes/app/ppp-2.4.5/chat/chat                                                           /

TIMEOUT  5                                                      /

ECHO     ON                                                     /

ABORT    '/nBUSY/r'                                           /

ABORT    '/nERROR/r'                                          /

ABORT    '/nNO ANSWER/r'                                      /

ABORT    '/nNO CARRIER/r'                                     /

ABORT    '/nNO DIALTONE/r'                                    /

ABORT    '/nRINGING/r/n/r/nRINGING/r'                     /

''       '/rAT'                                                /

TIMEOUT  6                                                      /

SAY      "Press CTRL-C to close the connection at any stage!" /

SAY      "/ndefining PDP context.../n"                      /

OK       'AT+CGDCONT=1,"IP","CMNET","",0,0'               /

OK       'ATD*99***1#'                                          /

TIMEOUT  10                                                     /

SAY      "/nwaiting for connect.../n"                       /

CONNECT  ""                                                   /

SAY      "/nConnected."                                      /

SAY      "/nIf the following ppp negotiations fail,/n"      /

SAY      "try restarting the phone./n"

sikinzen@sikinzen-desktop:ppp$ cat gprs-disconnect

#!/bin/sh

exec /home/sikinzen/Codes/app/ppp-2.4.5/chat/chat -V -s -S    /

ABORT           "BUSY"          /

ABORT           "ERROR"         /

ABORT           "NO DIALTONE"   /

SAY             "/nSending break to the modem/n"        /

""              "/K"            /

""              "+++ATH"        /

SAY             "/nPDP context detached/n"

最后,执行pppd

sikinzen@sikinzen-desktop:pppd$./pppd

/home/sikinzen/etc/ppp/pap-secrets

sikinzen@sikinzen-desktop:pppd$ ifconfig

……

ppp0      Link encap:Point-to-Point Protocol

inet addr:10.89.77.181  P-t-P:10.0.0.1  Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

RX packets:4 errors:0 dropped:0 overruns:0 frame:0

TX packets:6 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:34 (34.0 B)  TX bytes:60 (60.0 B)

这说明GPRS的通路已经建立,接下来就是socket编程了。相应地,在手机上会发现一个GPRS的标志。

9.1.4        利用socket进行网络通讯

9.2         GPRS接入点

9.2.1        手机上的3种接入点

一般手机上有三个接入点:移动梦网GPRS、中国移动彩信、GPRS连接互联网。这三个接入点的配置分别是:

移动梦网GPRS:数据承载方式GPRS(即分组数据),接入点名称cmwap,用户名无,提示输入密码否,密码无,鉴定普通,主页http://wap.monternet.com,手机IP地址自动,主域名服务器0.0.0.0,次域名服务器0.0.0.0,代理服务器10.0.0.172,代理端口80;

中国移动彩信:数据承载方式GPRS(即分组数据),接入点名称cmwap,用户名无,提示输入密码否,密码无,鉴定普通,主页http://mmsc.monternet.com,手机IP地址自动,主域名服务器0.0.0.0,次域名服务器0.0.0.0,代理服务器10.0.0.172,代理端口80;

GPRS连接互联网:数据承载方式GPRS(即分组数据),接入点名称cmnet,用户名无,提示输入密码否,密码无,鉴定普通,主页无,手机IP地址自动,主域名服务器0.0.0.0,次域名服务器0.0.0.0,代理服务器无,代理端口0;

9.2.2        CMWAP与CMNET的区别在于:

在国际上,通常只有一种GPRS接入方式,但在中国的GPRS却有CMNET和CMWAP两种接入点,其实CMWAP和CMNET只是中国移动人为划分的两个GPRS接入方式。

前者是为手机WAP上网而设立的,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服务。它们在实现方式上并没有任何差别,但因为定位不同,所以和CMNET相比,CMWAP便有了部分限制,cmwap接入方式是中国移动特有的,中国移动对cmwap作了一定的限制,主要表现在cmwap接入时只能访问GPRS网络内的IP(10.*.*.*),而无法通过路由访问Internet。我们通过WAP网关协议或它提供的HTTP代理服务实现软件的接入。而CMNET接入的却可以直接浏览和PC上网一样的WWW网站,还有在线电视等,所以包月一般是在200元以上,甚至不提供包月服务,部分地区提供cmwap包月服务,包月只有2、30元。

10     附录

    ------------------------------------------------------------
    本文系本站原创,欢迎转载!
    转载请注明出处:http://blog.csdn.net/sikinzen
    ------------------------------------------------------------

GSM/GPRS模块学习相关推荐

  1. GSM/GPRS模块 AT指令集C语言编程——基于有方M660+和MSP430单片机

    GSM/GPRS芯片是手机中负责收发短信.拨打电话以及访问GPRS网络的核心器件.有方M660+为深圳有方公司生产的一款超小封装的GSM/GPRS工业无线模块,可以提供高品质的语音.短信.数据业务等功 ...

  2. 浅谈GSM/GPRS模块软硬件设计(基于有方M660+模块和单片机)

    GSM/GPRS芯片是手机中负责收发短信.拨打电话以及访问GPRS网络的核心器件.有方M660+为深圳有方公司生产的一款超小封装的GSM/GPRS工业无线模块,可以提供高品质的语音.短信.数据业务等功 ...

  3. GSM/GPRS模块通过NTP服务器(世界授时服务器)来获取UTC时间,并时间存于RTC中。

    以SIM900A 的GSM/GPRS模块为例.从模块的AT指令手册可以看到有获取UTC(世界时间)的指令:AT+CLTS.当用该指令去获取时间时,从调试助手看到模块只返回OK,之后再无响应.后来在网上 ...

  4. GSM/GPRS+GPS模块SIM808

    SIM808模块是一个完整的四波段GSM/GPRS模块,它结合了GPS技术进行卫星导航.将GPRS和GPS集成到LCC包中的紧凑设计将大大节省客户开发启用GPS应用程序的时间和成本.它具有行业标准的接 ...

  5. gsm,gprs,cmwap,cmnet,3g,TD-SCDMA,CDMA2000,WCDMA

    http://wjf88223.blog.163.com/blog/static/35168001201142210165865/ ********************************** ...

  6. GPRS模块的使用(一)

    GPRS模块的使用(一) 为了做一个QT gprs模块用上网传输数据,我这里用的是BenQ  M23 GSM/GPRS模块. 首先我简单介绍一下: BENG公司的M23/M23模块是目前市场上的主流G ...

  7. GPRS模块--完整的内核修改兼容GPRS模块

    前言: 重新梳理了添加GPRS模块的过程,以下对linux3.0内核进行的完整修改,用于兼容GPRS模块的同时,兼容ubifs根文件类型的系统: 在开发板可以跑通linuxrom-s3c2440的基础 ...

  8. gprs模块c语言程序,“玩板”+ 共享单车控制板-GPRS模块SIM800C

    "玩板"+ 共享单车控制板-GPRS模块SIM800C [复制链接] 本帖最后由 chenzhufly 于 2020-3-16 20:23 编辑 SIM800C是一款四频GSM/G ...

  9. GPRS模块SIM300硬件分析

    转自:http://www.cnblogs.com/feisky/archive/2010/05/21/1740967.html GPRS模块 GPRS/GSM概述 SIM300 是小体积即插即用模组 ...

最新文章

  1. CentOS 设置网络(修改IP 网关 DNS)上网
  2. 打开高效文本编辑之门_Linux awk之关联数组
  3. GMQ集团推出全球创新型金融衍生品交易平台
  4. Linux 指定运行时动态库路径【转】
  5. PHP中全局变量的使用global和$GLOBALS[]
  6. [Redux/Mobx] Mobx的设计思想是什么
  7. shell 进入hadoop_shell启动hadoop集群
  8. windows批处理脚本bat命令解析【12】ECHO处于关闭状态
  9. iOS 银行卡号识别
  10. 复盘2020年全球医疗行业:新冠疫苗争分夺秒、跨国药企押注中国、药企整合并购不断 | 医药观察...
  11. 树莓派diy小型计算机,自制树莓派电脑,让树莓派不再神秘
  12. 微信小程序中的onLoad
  13. omnipeek安装包亲测可用
  14. php实现团购功能,PHP 对接美团大众点评团购券(门票)的开发步骤
  15. java简单记事本代码_简单记事本的java程序代码
  16. Eclipse怎样改变字体大小
  17. 杂谈:SDWAN二级运营商的大杀器 1
  18. php系统接入七牛云直播服务,在旧有 PHP 系统上集成七牛云 PHP
  19. 浪潮服务器nf5270m5做raid_服务器安装第一步RAID配置——企业服务器常用RIAD技术介绍及配置...
  20. 高校动态|清华大学团队:人脸识别技术,爆出巨大丑闻!

热门文章

  1. Cartographer源码阅读
  2. 企企通:数字化浪潮下,企业如何利用间接采购策略,实现降本增效?
  3. 部分国外顶级会议论文没有关键词
  4. 定义一个抽象的Role类 有姓名 年龄 性别等成员变量 .......
  5. python里load什么意思_如何从python中执行LOAD DATA命令
  6. xamarin android 邮件,Xamarin Android:通过标准API(电子邮件,脸谱等)分享图像
  7. 【js特效】www.zhen.com图片频道页特效
  8. swagger页面不显示_Swagger字段属性说明不显示
  9. 时间复杂度On和空间复杂度O1分别是什么
  10. MySQL自动更新当前时间戳