CN103092619A - 将面向物联网的单机版程序转换为网络版程序的方法 - Google Patents

将面向物联网的单机版程序转换为网络版程序的方法 Download PDF

Info

Publication number
CN103092619A
CN103092619A CN2013100152616A CN201310015261A CN103092619A CN 103092619 A CN103092619 A CN 103092619A CN 2013100152616 A CN2013100152616 A CN 2013100152616A CN 201310015261 A CN201310015261 A CN 201310015261A CN 103092619 A CN103092619 A CN 103092619A
Authority
CN
China
Prior art keywords
data
function
service end
program
internet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013100152616A
Other languages
English (en)
Other versions
CN103092619B (zh
Inventor
孙钦东
王倩
郭亦辰
张景鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foshan wins Internet Information Technology Co., Ltd.
Original Assignee
Xian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Technology filed Critical Xian University of Technology
Priority to CN201310015261.6A priority Critical patent/CN103092619B/zh
Publication of CN103092619A publication Critical patent/CN103092619A/zh
Application granted granted Critical
Publication of CN103092619B publication Critical patent/CN103092619B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种将面向物联网的单机版程序转换为网络版程序的方法,步骤包括:步骤1、在DLL中实施COM Hook;步骤2、客户端将数据传输至服务端;步骤3、服务端将数据存储至服务端数据库;步骤4、通过浏览器访问数据,通过读取服务端数据库,网页服务器程序会以实时响应用户请求的方式将用户请求的数据通过浏览器呈现给用户,用户就能够在浏览器上随时查看特定对象的电气设备上传至数据库的信息。本发明的方法,对于面向物联网的网络版程序,用户在任意一台可联网的计算机上通过浏览器即可访问数据信息,方便快捷,实时查询。

Description

将面向物联网的单机版程序转换为网络版程序的方法
技术领域
本发明属于计算机软件转换处理技术领域,具体涉及一种将面向物联网的单机版程序转换为网络版程序的方法。
背景技术
物联网是新一代信息技术的重要组成部分,随着Internet的扩展深入至社会的各个角落,未来使用的各种电气设备也会逐步联入Internet,演化为物联网的一个个节点,这些电气设备在运行的过程中必然会与Internet中的电脑软件进行交互,而交互的关键就是硬件与软件之间数据的传输、处理、存储。
目前,对于给物联网中的电气设备进行单机配套的软件而言,很多还是单机版的应用程序,对于单机版程序而言,用户必须在装有该程序的计算机前进行操作,操作地点有局限性,而且用户需要首先安装特定对象的电气设备的配套软件,这样显得臃肿繁琐,这样就十分不利于用户随时随地进行查看和管理程序所处理和存储的数据,也就无法及时了解这些物联网设备节点的动态,这不仅给用户带来很大的不便,也没有发挥出物联网方便、快捷、智能化的优势。
发明内容
本发明的目的是提供一种将面向物联网的单机版程序转换为网络版程序的方法,解决了现有技术中的电气设备使用单机版的应用程序,无法与Internet计算机联网查询数据的问题。
本发明所采用的技术方案是,一种将面向物联网的单机版程序转换为网络版程序的方法,按照以下具体步骤实施:
步骤1、在DLL中实施COM Hook
1.1)当特定对象的电气设备的单机版软件开启后,与之配套的客户端程序会将一个实施COM Hook的DLL映射到该软件的进程空间中,并创建一个工作线程;
1.2)在当前的线程初始化COM库;
1.3)用相应类型的函数指针记录要替换的COM接口虚表中的原函数地址;
1.4)用截取数据的函数替换单机版程序数据库操作所调用的COM中的函数,在内存可写入的状态下,以调用过程中的COM原有的函数地址的起始内存地址为基地址,写入新的函数地址,完成函数替换;
1.5)因为COM中原本应该被执行的函数被截取数据的函数所替换,当单机版程序执行数据库操作时,调用这些COM中的函数实质上是调用截取数据的函数;
1.6)在单机版程序数据库操作接口被Hook后,当单机版程序执行数据库的插入的操作时,替换函数会将各种数据库操作数据传至客户端进程;
1.7)在程序退出时解除挂钩,在解除挂钩时,用在步骤1.2)中已经保存的接口虚表中原来的函数地址替换截取数据的函数,以达到COM函数复原的目的;
步骤2、客户端将数据传输至服务端
2.1)DLL创建一个线程向客户端进程发送数据,DLL的线程作为发送端,而客户端进程相当于接收端,在单机版软件开启时,客户端进程和DLL创建的线程建立连接;
2.2)客户端进程在收到数据后,对数据进行拆分、处理,最后组成一个包含数据库、数据表、数据项的数据包,并且根据数据的不同种类在数据包中加入相应的数据类型和数据操作类型,通过TCP/IP通信传给服务端进程;
步骤3、服务端将数据存储至服务端数据库;
步骤4、通过浏览器访问数据
通过读取服务端数据库,网页服务器程序会以实时响应用户请求的方式将用户请求的数据通过浏览器呈现给用户,用户就能够在浏览器上随时查看特定对象的电气设备上传至数据库的信息。
本发明的有益效果是:基于COM Hook的原理,将进行COM Hook的DLL映射至单机版程序或者客户端程序的进程空间中,与数据库进行挂钩,截取数据库数据,并将其传至客户端程序进程,客户端程序进程通过TCP/IP通信将数据传至服务端程序进程,服务端程序进程将这些数据存储进入服务端数据库。这样一来,通过与服务端数据库互联的网页服务器程序,将单机版程序转换为网络版程序,用户就能够随时随地在浏览器上查看和管理单机版程序与电气设备交互的数据,充分发挥物联网方便、快捷、智能化的优势。
附图说明
图1为本发明方法的技术原理结构总图;
图2为本发明方法的COM Hook具体的实施例示意图。
具体实施方式
以下文本中的客户是指Server-Client这种网络模型中的客户端程序(Client)。用户是指软件的使用者(User)。客户一词都是用“客户端”来使用的,没有单独出现“客户”一词。而“用户”一词是单独出现的。
服务器一方面是指装有服务端程序数据库的计算机,二方面是指网页服务器程序。一个是硬件,一个是软件。
对于数据库而言:一方面是指单机版程序自身的数据库;二方面是指发明方法中配套的服务端程序的数据库。
参照图1、图2,本发明的将面向物联网的单机版程序转换为网络版程序的方法,按照以下步骤具体实施:
步骤1、在DLL中实施COM Hook
1.1)当特定对象的电气设备的单机版软件开启后,与之配套的客户端程序会将一个实施COM Hook的DLL映射到该软件的进程空间中,并创建一个工作线程;
1.2)在当前的线程初始化COM库;
1.3)用相应类型的函数指针记录要替换的COM接口虚表中的原函数地址,以便在解除挂钩时能将原来的函数转换回来;
1.4)用截取数据的函数替换单机版程序数据库操作所调用的COM中的函数,如图2所示,在内存可写入的状态下,以调用过程中的COM原有的函数地址的起始内存地址为基地址,写入新的函数地址,这样就完成了函数替换;
1.5)因为COM中原本应该被执行的函数被截取数据的函数所替换,当单机版程序执行数据库操作时,调用这些COM中的函数实质上是调用截取数据的函数;
1.6)在单机版程序数据库操作接口被Hook后,当单机版程序执行数据库的插入等操作时,替换函数会将各种数据库操作数据传至客户端进程,如图1所示;
1.7)最后在程序退出时解除挂钩,在解除挂钩时,用在步骤1.2)中已经保存的接口虚表中原来的函数地址替换截取数据的函数,以达到COM函数复原的目的;
步骤2、客户端将数据传输至服务端
2.1)DLL创建一个线程向客户端进程发送数据,如图1所示,DLL的线程作为发送端,而客户端进程相当于接收端,在单机版软件开启时,客户端进程和DLL创建的线程建立连接;
2.2)客户端进程在收到数据后,对数据进行拆分、处理,最后组成一个包含数据库、数据表、数据项的数据包,并且根据数据的不同种类在数据包中加入相应的数据类型和数据操作类型,如图1所示,通过TCP/IP通信传给服务端进程;
步骤3、服务端将数据存储至服务端数据库
3.1)在客户端进程与服务端进程之间使用合理的通信模型,服务端进程设置了若干个工作线程,这些工作线程轮流处理客户端进程发送来的数据包;
3.2)在对数据包拆包、处理后,根据数据包中的数据种类和数据操作类型,不同的数据会被重新组包,并且加入相应的操作命令,服务端进程把该数据包作为消息的附加属性向服务端的窗体发送消息;
3.3)在服务端的消息响应函数中,响应函数根据传来的数据包的操作命令种类分别进行处理,服务端进程会根据得到的数据库、数据表、数据项数据组成一个SQL语句字符串,调用数据库API执行这个SQL语句,将数据插入至服务端数据库;
步骤4、通过浏览器访问数据
如图1所示,通过读取服务端数据库,网页服务器程序会以实时响应用户请求的方式将用户请求的数据通过浏览器呈现给用户,用户就能够在浏览器上随时查看特定对象的电气设备上传至数据库的信息。
本发明方法的工作原理是,在单机版程序所在的计算机上装载一个客户端程序作为数据中转站;在服务器上装载一个负责存储数据的服务端程序;在单机版程序所在的主机中,将进行COM Hook的DLL映射至单机版程序或者客户端程序的进程空间中,与单机版程序数据库进行挂钩,截取单机版程序数据库数据,并将数据传至客户端程序进程,客户端程序进程通过TCP/IP通信将数据传至服务端程序进程,服务端程序进程将这些数据存储进入服务端数据库;在含有该数据库的服务器上部署与数据库相连的网页服务器程序,用户即可利用浏览器查看物联网节点的数据。
实施例
特定对象的电气设备是一台身份证读卡器。
用户在读卡器上放置《中华人民共和国居民身份证》进行识读,该读卡器将身份证中的信息传至读卡器配套软件的数据库中。通过本发明方法转换处理后即可截获该身份证信息,并层层传递至服务端数据库中,用户就可以通过浏览器即时查看该信息,该信息可按照如下表1的表格形式显示:
表1通过浏览器即时查看到的该信息
Figure BDA00002741940700061

Claims (2)

1.一种将面向物联网的单机版程序转换为网络版程序的方法,其特征在于,按照以下具体步骤实施:
步骤1、在DLL中实施COM Hook
1.1)当特定对象的电气设备的单机版软件开启后,与之配套的客户端程序会将一个实施COM Hook的DLL映射到该软件的进程空间中,并创建一个工作线程;
1.2)在当前的线程初始化COM库;
1.3)用相应类型的函数指针记录要替换的COM接口虚表中的原函数地址;
1.4)用截取数据的函数替换单机版程序数据库操作所调用的COM中的函数,在内存可写入的状态下,以调用过程中的COM原有的函数地址的起始内存地址为基地址,写入新的函数地址,完成函数替换;
1.5)因为COM中原本应该被执行的函数被截取数据的函数所替换,当单机版程序执行数据库操作时,调用这些COM中的函数实质上是调用截取数据的函数;
1.6)在单机版程序数据库操作接口被Hook后,当单机版程序执行数据库的插入的操作时,替换函数会将各种数据库操作数据传至客户端进程;
1.7)在程序退出时解除挂钩,在解除挂钩时,用在步骤1.2)中已经保存的接口虚表中原来的函数地址替换截取数据的函数,以达到COM函数复原的目的;
步骤2、客户端将数据传输至服务端
2.1)DLL创建一个线程向客户端进程发送数据,DLL的线程作为发送端,而客户端进程相当于接收端,在单机版软件开启时,客户端进程和DLL创建的线程建立连接;
2.2)客户端进程在收到数据后,对数据进行拆分、处理,最后组成一个包含数据库、数据表、数据项的数据包,并且根据数据的不同种类在数据包中加入相应的数据类型和数据操作类型,通过TCP/IP通信传给服务端进程;
步骤3、服务端将数据存储至服务端数据库;
步骤4、通过浏览器访问数据
通过读取服务端数据库,网页服务器程序会以实时响应用户请求的方式将用户请求的数据通过浏览器呈现给用户,用户就能够在浏览器上随时查看特定对象的电气设备上传至数据库的信息。
2.根据权利要求1所述的将面向物联网的单机版程序转换为网络版程序的方法,其特征在于:所述的步骤3的具体实施过程是:
3.1)在客户端进程与服务端进程之间使用合理的通信模型,服务端进程设置了若干个工作线程,这些工作线程轮流处理客户端进程发送来的数据包;
3.2)在对数据包拆包、处理后,根据数据包中的数据种类和数据操作类型,不同的数据会被重新组包,并且加入相应的操作命令,服务端进程把该数据包作为消息的附加属性向服务端的窗体发送消息;
3.3)在服务端的消息响应函数中,响应函数根据传来的数据包的操作命令种类分别进行处理,服务端进程会根据得到的数据库、数据表、数据项数据组成一个SQL语句字符串,调用数据库API执行这个SQL语句,将数据插入至服务端数据库。
CN201310015261.6A 2013-01-16 2013-01-16 将面向物联网的单机版程序转换为网络版程序的方法 Active CN103092619B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310015261.6A CN103092619B (zh) 2013-01-16 2013-01-16 将面向物联网的单机版程序转换为网络版程序的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310015261.6A CN103092619B (zh) 2013-01-16 2013-01-16 将面向物联网的单机版程序转换为网络版程序的方法

Publications (2)

Publication Number Publication Date
CN103092619A true CN103092619A (zh) 2013-05-08
CN103092619B CN103092619B (zh) 2016-01-20

Family

ID=48205230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310015261.6A Active CN103092619B (zh) 2013-01-16 2013-01-16 将面向物联网的单机版程序转换为网络版程序的方法

Country Status (1)

Country Link
CN (1) CN103092619B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369549A (zh) * 2016-01-19 2018-08-03 微软技术许可有限责任公司 使用重启时期的版本化记录管理

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1357828A (zh) * 2000-12-08 2002-07-10 英业达股份有限公司 可在单机版与网络版间转换的软件设计方法
CN102663846A (zh) * 2012-05-11 2012-09-12 尤敦朋 基于安卓操作平台的智能访客管理系统及其控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1357828A (zh) * 2000-12-08 2002-07-10 英业达股份有限公司 可在单机版与网络版间转换的软件设计方法
CN102663846A (zh) * 2012-05-11 2012-09-12 尤敦朋 基于安卓操作平台的智能访客管理系统及其控制方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
向令: "中石油GPS-GPRS智能巡检系统通讯服务器的设计与实现", 《中国优秀硕士学位论文全文数据库》, 15 November 2009 (2009-11-15) *
杨少鹏: "基于Windows7内网主机安全管理系统关键技术的研究与实现", 《中国优秀硕士学位论文全文数据库》, 15 August 2012 (2012-08-15) *
辅强: "单机版程序的网络化设计", 《中国金融电脑》, 25 November 2001 (2001-11-25) *
陈超: "远程医疗监控系统服务器平台的设计与实现", 《中国优秀硕士学位论文全文数据库》, 15 January 2013 (2013-01-15) *
隋欣: "分布式环境监测仪器网络化管理软件系统的研究与开发", 《中国优秀硕士学位论文全文数据库》, 15 October 2006 (2006-10-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369549A (zh) * 2016-01-19 2018-08-03 微软技术许可有限责任公司 使用重启时期的版本化记录管理
CN108369549B (zh) * 2016-01-19 2022-03-22 微软技术许可有限责任公司 版本化记录管理计算系统、方法和计算机可读介质

Also Published As

Publication number Publication date
CN103092619B (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
CN104104717B (zh) 投放渠道数据统计方法及装置
CN104125208B (zh) 数据传输方法及装置
AU2016382909A1 (en) Method and device for processing short link, and short link server
CN110110006A (zh) 数据管理方法及相关产品
CN102662993A (zh) 一种页面数据提供方法
CN103559217A (zh) 一种面向异构数据库的海量组播数据入库实现方法
CN105608207A (zh) 一种基于Redis数据库的数据统计系统及其统计方法
CN101557427A (zh) 提供分流信息、实现客户端分流的方法、系统及服务器
CN102722405B (zh) 高并发、多线程应用中的计数方法及系统
CN103488732A (zh) 一种静态页面生成方法及装置
CN111381983A (zh) 虚拟试验靶场验证系统的轻量级消息中间件系统及方法
CN103761102B (zh) 一种统一数据服务平台及其实现方法
Chung et al. Cloud computing system based on wireless sensor network
CN104657435A (zh) 一种应用数据的存储管理方法和网络管理系统
CN106375362A (zh) 分布式服务器的缓存同步方法及系统
CN103369015A (zh) 一种便捷的通过Web访问网络摄像机的方法
CN110502560A (zh) 一种数据库连接参数封装的方法及服务器
CN105245369A (zh) 一种支持多传输协议的组件发布容器方法
CN105554181B (zh) 一种dns日志压缩方法和装置
Choi et al. Improving database system performance by applying NoSQL
CN106888264A (zh) 一种数据交换方法和装置
CN103092619B (zh) 将面向物联网的单机版程序转换为网络版程序的方法
CN104714923A (zh) 一种实现设备共享的方法和装置
CN106843971A (zh) Bios刷新方法、服务器、bmc、介质及存储控制器
CN103067467A (zh) 缓存方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Cao Fangnan

Inventor before: Sun Qindong

Inventor before: Wang Qian

Inventor before: Guo Yichen

Inventor before: Zhang Jingpeng

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171016

Address after: 528000, Guangdong, Foshan province Shunde District Daliang Fengshan East Road No. 6 Tak Building 3 floor shopping mall C30

Patentee after: Foshan wins Internet Information Technology Co., Ltd.

Address before: 710048 Shaanxi city of Xi'an Province Jinhua Road No. 5

Patentee before: Xi'an University of Technology