书本扫描信息存储表(book)
网关数据的发送:所开发的网关数据收集程序(client.c)使得网关数据传输的整个程序的运行过程得以优化。在Linux系统中运行./client时,不需要输入USB端口号,就可以直接收集来自RFID读写器的数据。这是因为在client.c中,预先设定了多个USB端口号,则只需读写器判断是哪个端口便打开它,然后存储数据到相应的嵌入式数据表中,并且发送数据到远程数据服务中心。数据采集程序client.c采用了多线程,因此不会造成干扰而导致程序中断。
数据服务中心信息处理及显示:数据服务中心的服务器在接收来自不同网关的实时数据后,将数据存储到数据库(MySQL或Oracle)。然后,依据不同的算法对数据进行智能化处理并进行显示。
服务器端数据接收实现:在服务器端运行多线程程序来接收来自不同网关的实时数据。
多线程数据接收程序可以由Java编程语言来实现。在服务器端用Java开发平台所提供的服务器类ServerSocket,使用端口号作为参数来创建服务器对象。例如: ServerSocket server = new ServerSocket (5000),server 是服务器对象, 它使用5000 号端口。当一个客户端程序建立一个Socket 连接且所连接端口号为5000 时, 服务器对象server 便响应这个连接。接下来用Server.accept()方法创建一个Socket对象,服务器端可以利用这个Socket对象与客户端进行通信。接着定义输入流in及输出流out 对象,并进行封装。
服务器与Android手机数据交互实现:Android手机客户端采用的是基于超文本转移协议 (Hypertext transfer protocol,HTTP)网络通信机制,Http协议中提供了3种高效快速的客户端向服务器端发送请求的方法,它们分别是GET、POST和HEAD,而本系统中Android手机客户端与服务器端交互采用的是POST方法。首先,用户通过Android手机客户端以HTTP协议的POST方式向服务器端提交用户请求。然后,服务器端通过HTTP协议接收到手机用户请求进行相应处理后,将结果以Json数据格式返回给用户。最后,Android手机客户端将返回的Json数据进行解析后显示在人性化的用户界面(User Interface,UI)展示给用户。
数据服务中心数据库设计及实现:物联网数据服务中心数据存储采用的是Oracle数据库,数据库名为bookmanage,主要设计了9张表,4个sequence和4个触发器。管理员基本信息表为单独的表,其它各表通过相关字段进行关联。
数据处理及报警:智能图书管理系统所涉及的警报包括图书超期罚款警报、图书挂失警报、门禁报警和智能书架报警等 。
Web服务器网页设计实现:智能图书管理系统的Web服务器网页设计首先从人性化方面考虑,在界面上设计有温馨提示、方便的快捷还书和借书证入口等,这方便读者操作。其次从安全方面考虑,网页中设计有软键盘、邮件验证码、短信验证码,保证读者输入密码的安全性和读者信息修改的安全性。最后,从系统功能上考虑,前后台各种功能齐全,不仅保障了读者和管理员的操作,也充分体现了校园图书馆的智能管理。