CN101175089A - 基于http协议和.net架构的服务器和客户端间数据传输方法 - Google Patents
基于http协议和.net架构的服务器和客户端间数据传输方法 Download PDFInfo
- Publication number
- CN101175089A CN101175089A CNA2007100285133A CN200710028513A CN101175089A CN 101175089 A CN101175089 A CN 101175089A CN A2007100285133 A CNA2007100285133 A CN A2007100285133A CN 200710028513 A CN200710028513 A CN 200710028513A CN 101175089 A CN101175089 A CN 101175089A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- server
- data transmission
- net
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,它属于数据传输领域。该方法主要步骤包括1)客户端对数据进行处理;2)客户端请求或发送数据;3)服务器端对数据进行处理。数据传输采用同步发送和更新,发送和接收并发控制,数据传输过程发生在一个服务器端和至少一个客户端之间。利用本方法实现的数据传输不需要对端口进行任何设置,还可以把数据处理并保存到数据库,数据传输过程更加安全、快捷。
Description
技术领域
本发明属于数据传输领域,具体来说,涉及一种基于HTTP协议和.NET架构的服务器和客户端间数据传输方法。
背景技术
随着INTERNET的迅速发展,越来越多的客户要求应用软件能实现在线的实时管理和实时数据传输,对于数据流量很大的远程管理业务(如连锁企业的实时数据管理、企业的大型数据库处理等),特别是采用C/S结构编制的软件系统,如何将位于不同地点的终端进行信息交换,加快信息处理的效率?同时又必须保证数据传输的安全性?
当前常用的数据传输解决方案主要有地面专线和以互联网为基础网络的VPN连接。但大家都认为,现在地面专线很贵,VPN连接虽然便宜,却受互联网本身的一些特性的影响,而变得不稳定,难以有连接质量的保证,同时还有安全的隐患。
超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。自1990年起,HTTP就已经被应用于WWW全球信息服务系统。HTTP也可用作普通协议,实现用户代理与连接其它Internet服务(如SMTP、NNTP、FTP、GOPHER及WAIS)的代理服务器或网关之间的通信,允许基本的超媒体访问各种应用提供的资源,同时简化了用户代理系统的实施。
发明内容
针对以上的不足,本发明的目的是提供一种基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,它采用同步发送和更新,发送和接收并发控制,以保证数据传输的可靠性,其传输过程发生在一个服务器端和至少一个客户端之间。该方法主要步骤包括:
1、客户端对数据进行处理;
11)当客户端的数据库的关键表的数据发生变化时,利用数据库的触发器记录下这个数据的关键字,并将这个关键字存储在一个指令表中,用于后面对这个表扫描;
12)根据11)的指令表的数据关键字获取对应的数据进行打包,转成.NET下的一个类,然后利用.Net框架下的序列化机制进行序列化,接着加密和压缩,变成一堆字符,存放在客户端数据库中;
13)如果成功从服务器端获取数据则对数据进行反操作,先解压和解密,然后进行反序列化,转成.NET下的一个类,最后把这个类的信息放回客户端的数据库。
2、客户端请求或发送数据;
21)客户端通过HTTP把11)产生的数据发送到服务器端的网站,如果成功把数据放到数据库后,则返回客户端成功标志,客户端标记当前指令已经发送,继续发送下一条数据,否则当作失败,重新发送;
22)客户端通过HTTP连接到服务器的网站获取属于该客户端的数据。
3、服务器端对数据进行处理。
31)服务器端的处理程序和客户端的处理程序其实是同一个程序,处理的方式也很相似,也是根据服务器端产生的指定表产生数据并进行打包,转成.NET下的一个类,然后进行序列化,接着加密和压缩,变成一堆字符,最后把这些字符放回服务器端的数据库,等待客户端获取;
32)如果成功从客户端获取数据则对数据进行反操作,先解压和解密,然后进行反序列化,转成.NET下的一个类,最后把这个类的信息放回服务器端的数据库。
所述步骤12)和13).Net框架下序列化和反序列化过程可以采用XML序列化或者二进制序列化,其中本发明优先考虑二进制序列化。
所述步骤12)和13)加密和解密序列化后的数据采用System.Security.Cryptography.TripleDES类,其中TripleDES使用DES算法的三次连续迭代,它可以使用两个或三个56位密钥。
与以往技术相比,本方法的有益效果:
1)相对FTP来说,不需要对端口进行任何设置,因为HTTP的80端口是默认支持的,而FTP不管是被动方式还是主动方式,都需要设置端口,而且还要设置防火墙开放端口来避免被阻塞。而FTP默认是所有在网络上被传送的数据和控制信息(包括密码)都未被加密的,使用SSL/TLS进行ftp传输过程的验证和加密,良好的实现了与传统ftp协议的兼容性和优良的数据保密性与完整性。在无法使用替代服务的环境下,是一种非常好的ftp服务改进计划。略有不足的是,由于历史兼容性因素,很多ftp client和server对ssl ftp扩展的实现都存在着各种缺陷,另外在服务端相对来说,用FTP一般只能把数据传输到服务端的硬盘,然后再进行处理,而我们这里是直接保存到数据库的,相对来说不容易掉失数据。而且IIS的响应时间和吞吐量相对任何一个FTP的SERVER端都是无可比拟的。
2)如果利用TCP/IP传输数据,优点是灵活和快速,不过这需要花很大的代价去编写客户端和服务端的程序去适应各种情况,包括安全,数据掉包,数据的顺序处理等等,而且IIS相比相对自己编写的服务端来说还是无可比拟的。
附图说明
图1为本方法的示意图。
具体实施方式
下面结合附图对本发明进行进一步阐述。
基于HTTP协议的.NET架构提供下列与业务数据传输相关的功能:
1、基本数据传输.
2、数据按顺序同步发送和更新.
3、接收和发送并发控制.
本发明的目的是提供一种基于HTTP协议和.NET架构的客户端服务器间实现数据传输的方法,以实现在客户端和服务器间传输数据,并对传输进行同步和接收控制,保证数据传输的可靠性.
如图1所示,基于HTTP协议和.NET架构的客户端服务器间实现数据传输的方法的主要步骤包括包括:
a.客户端对数据进行处理。
b.客户端请求或发送数据。
c.服务器对数据进行处理。
所述的步骤a包括:
a1.当客户端的数据库的关键表的数据发生变化时,利用数据库的触发器记录下这个数据的关键字,并将这个关键字存储在一个指令表中,用于后面对这个表扫描。
a2.根据a1的指令表的数据关键字获取对应的数据进行打包,转成.NET下的一个类,然后利用.Net框架下的序列化机制进行序列化。.Net框架为程序员提供了两种类型的格式器,一种通常是应用于桌面类型的应用程序的,另一个是System.Runtime.Serialization.Formatters.Binary.BinaryFormatter类的对象,而另一种则更主要的应用于.Net Remoting和XML Web服务等领域的,它一个是System.Runtime.Serialization.Formatters.Soap.SoapFormatter类的对象。下面我们来分析一下两种格式器各自的优点。
二进制序列化的优点:
1.所有的类成员(包括只读的)都可以被序列化;
2.性能非常好。
XML序列化的优点:
1.互操作性好;
2.不需要严格的二进制依赖;
3.可读性强。
通过分析上面的代码,我们采取二进制序列化。
接着加密序列化后的数据,加密采用System.Security.Cryptography.TripleDES类TripleDES使用DES算法的三次连续迭代。它可以使用两个或三个56位密钥。
使用目的:比较安全的加密一种方式,密钥和矢量的不同,会生产不同的加密字串。因为是DES算法的三次连续迭代,而且算法可逆,这样对于数据保密性和可恢复性都不错。
最后是压缩,在存储文件或者通过网络发送文件时,使用Zip压缩可以节省空间和网络带宽。此外,还不会丢失经过Zip的文件夹的目录结构,这使其成为非常有用的压缩方案。我们这里也是采用Zip压缩,Zip是一种受人欢迎的数据传输和存储标准,因为它可以节省磁盘空间和网络带宽。典型的文本和数据库文件可以被压缩至它们原始大小的10%。即使二进制文件不能进行同样的压缩,通常也可以获得50%的压缩比。
Zip文件的一个附加优点是单个文件可以包含多个文件,同时可以保留目录结构。这使您可以发送附加到电子邮件消息中的完整目录树,并且让收件人恢复原始文件结构。
Zip数据格式是开放的,并且不会涉及专利权或其他法律问题。开发人员可以自由地创建操纵Zip文件的应用程序,以及使用低级别Zip压缩算法来暂时减小他们自己的自定义数据的大小。我们希望在用C#编写的应用程序中使用Zip压缩。遗憾的是,Microsoft.NETFramework1.1当前不包含任何用于操纵Zip文件的类。所以我们选择了SharpZipLib,SharpZipLib的许可是经过修改的GPL,底线是允许用在不开源商业软件中,意思就是免费使用。经过压缩后,数据就变成一堆字符,最后把这些字符放回客户端的数据库,等待处理程序将数据发回服务器。
a3.如果成功从服务器获取数据则对数据进行反操作,先解压和解密,然后进行反序列化,转成.NET下的一个类,最后把这个类的信息放回客户端的数据库.
所述的步骤b包括:
b1.客户端通过HTTP把a1产生的数据发送到服务器的网站.网站只是一个中转站,只负责转接数据,如果成功把数据放到数据库后则返回客户端成功标志,客户端标记当前指令已经发送,继续发送下一条数据.否则当作失败,重新发送.
b2.客户端通过HTTP连接到服务器的网站获取属于该客户端的数据.
这里我们用到一个简单的半同步/半异步(half-sync/half-async)模式
举个例子:
许多餐厅使用半同步/半异步模式的变体。例如,餐厅常常雇佣一个领班负责迎接顾客,并在餐厅繁忙时留意给顾客安排桌位,为等待就餐的顾客按序排队是必要的。领班由所有顾客“共享”,不能被任何特定顾客占用太多时间。当顾客在一张桌子入坐后,有一个侍应生专门为这张桌子服务。这里我们的网站就相当于领班,客户端的数据相当于顾客,步骤c的处理程序就相当于侍应生。
所述的步骤c包括:
c1.服务器的处理程序和客户端的的处理程序其实是同一个程序,处理的方式也很相似,也是根据服务器产生的指定表产生数据并进行打包,转成.NET下的一个类,然后进行序列化,接着加密和压缩,变成一堆字符,最后把这些字符放回服务器的数据库,等待客户端获取。
c2.如果成功从客户端获取数据则对数据进行反操作,先解压和解密,然后进行反序列化,转成.NET下的一个类,最后把这个类的信息放回服务器的数据库。
Claims (8)
1.一种基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,其主要步骤包括:
1)客户端对数据进行处理;
2)客户端请求或发送数据;
3)服务器端对数据进行处理。
2.根据权利要求1所述的基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,其特征在于,所述数据传输过程发生在一个服务器端和至少一个客户端之间。
3.根据权利要求1所述的基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,其特征在于,所述数据传输采用同步发送和更新,发送和接收并发控制,以保证数据传输的可靠性。
4.根据权利要求1所述的基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,其特征在于,所述步骤1)又包括如下步骤:
11)当客户端的数据库的关键表的数据发生变化时,利用数据库的触发器记录下这个数据的关键字,并将这个关键字存储在一个指令表中,用于后面对这个表扫描;
12)根据11)的指令表的数据关键字获取对应的数据进行打包,转成.NET下的一个类,然后利用.Net框架下的序列化机制进行序列化,接着加密和压缩,变成一堆字符,存放在客户端数据库中;
13)如果成功从服务器端获取数据则对数据进行反操作,先解压和解密,然后进行反序列化,转成.NET下的一个类,最后把这个类的信息放回客户端的数据库。
5.根据权利要求4所述的基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,其特征在于,所述步骤12)和13).Net框架下序列化和反序列化过程可以采用XML序列化或者二进制序列化,其中本发明优先考虑二进制序列化。
6.根据权利要求4所述的基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,其特征在于,所述步骤12)和13)加密和解密序列化后的数据采用System.Security.Cryptography.TripleDES类,其中TripleDES使用DES算法的三次连续迭代,它可以使用两个或三个56位密钥。
7.根据权利要求1所述的基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,其特征在于,所述步骤2)又包括如下步骤:
21)客户端通过HTTP把11)产生的数据发送到服务器端的网站,如果成功把数据放到数据库后,则返回客户端成功标志,客户端标记当前指令已经发送,继续发送下一条数据,否则当作失败,重新发送;
22)客户端通过HTTP连接到总部的网站获取属于该客户端的数据。
8.根据权利要求1所述的基于HTTP协议和.NET架构的服务器和客户端间数据传输方法,其特征在于,所述步骤3)又包括如下步骤:
31)服务器端的处理程序和客户端的处理程序其实是同一个程序,处理的方式也很相似,也是根据服务器端产生的指定表产生数据并进行打包,转成.NET下的一个类,然后进行序列化,接着加密和压缩,变成一堆字符,最后把这些字符放回服务器端的数据库,等待客户端获取;
32)如果成功从客户端获取数据则对数据进行反操作,先解压和解密,然后进行反序列化,转成.NET下的一个类,最后把这个类的信息放回服务器端的数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100285133A CN101175089A (zh) | 2007-06-11 | 2007-06-11 | 基于http协议和.net架构的服务器和客户端间数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100285133A CN101175089A (zh) | 2007-06-11 | 2007-06-11 | 基于http协议和.net架构的服务器和客户端间数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101175089A true CN101175089A (zh) | 2008-05-07 |
Family
ID=39423343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100285133A Pending CN101175089A (zh) | 2007-06-11 | 2007-06-11 | 基于http协议和.net架构的服务器和客户端间数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101175089A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118890A (zh) * | 2009-12-31 | 2011-07-06 | 上海巨服信息科技有限公司 | 手机与数据库的传输处理方法 |
CN102710769A (zh) * | 2012-05-31 | 2012-10-03 | 深圳市远行科技有限公司 | 一种Web Service客户端及其大批量数据传输方法 |
CN102970287A (zh) * | 2012-11-08 | 2013-03-13 | 广东欧珀移动通信有限公司 | 一种http请求数据的处理方法 |
CN104615607A (zh) * | 2013-11-01 | 2015-05-13 | 群晖科技股份有限公司 | 在两服务提供端之间管理资源传输的方法和计算机系统 |
CN106034157A (zh) * | 2015-03-18 | 2016-10-19 | 国家计算机网络与信息安全管理中心 | 数据交换中传输http协议的方法、服务器及存储设备 |
CN107222500A (zh) * | 2017-07-04 | 2017-09-29 | 山东浪潮商用系统有限公司 | 一种基于消息队列的数据传输系统和方法 |
CN107341697A (zh) * | 2017-07-18 | 2017-11-10 | 江苏仲博敬陈信息科技有限公司 | 一种基于大数据的需求与供给预测方法 |
CN114201114A (zh) * | 2021-12-14 | 2022-03-18 | 上海朝阳永续信息技术股份有限公司 | 一种基于文件的跨互联网数据传输系统 |
-
2007
- 2007-06-11 CN CNA2007100285133A patent/CN101175089A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118890A (zh) * | 2009-12-31 | 2011-07-06 | 上海巨服信息科技有限公司 | 手机与数据库的传输处理方法 |
CN102710769A (zh) * | 2012-05-31 | 2012-10-03 | 深圳市远行科技有限公司 | 一种Web Service客户端及其大批量数据传输方法 |
CN102970287A (zh) * | 2012-11-08 | 2013-03-13 | 广东欧珀移动通信有限公司 | 一种http请求数据的处理方法 |
CN104615607A (zh) * | 2013-11-01 | 2015-05-13 | 群晖科技股份有限公司 | 在两服务提供端之间管理资源传输的方法和计算机系统 |
CN104615607B (zh) * | 2013-11-01 | 2018-05-08 | 群晖科技股份有限公司 | 在两服务提供端之间管理资源传输的方法和计算机系统 |
CN106034157A (zh) * | 2015-03-18 | 2016-10-19 | 国家计算机网络与信息安全管理中心 | 数据交换中传输http协议的方法、服务器及存储设备 |
CN107222500A (zh) * | 2017-07-04 | 2017-09-29 | 山东浪潮商用系统有限公司 | 一种基于消息队列的数据传输系统和方法 |
CN107341697A (zh) * | 2017-07-18 | 2017-11-10 | 江苏仲博敬陈信息科技有限公司 | 一种基于大数据的需求与供给预测方法 |
CN114201114A (zh) * | 2021-12-14 | 2022-03-18 | 上海朝阳永续信息技术股份有限公司 | 一种基于文件的跨互联网数据传输系统 |
CN114201114B (zh) * | 2021-12-14 | 2024-05-10 | 上海朝阳永续信息技术股份有限公司 | 一种基于文件的跨互联网数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546167B2 (en) | System and method for using a distributed ledger gateway | |
CN101175089A (zh) | 基于http协议和.net架构的服务器和客户端间数据传输方法 | |
TW400487B (en) | Electronic document delivery system | |
CN106503098B (zh) | 内置于Paas服务层的区块链云服务框架系统 | |
US11924326B2 (en) | Blockchain platform service | |
US10558744B2 (en) | Bidirectional networked real-time data exchange using a spreadsheet application | |
US7480799B2 (en) | Traffic manager for distributed computing environments | |
US20180091579A1 (en) | Bidirectional networked real-time data exchange using a spreadsheet application | |
US20060090080A1 (en) | Central console for monitoring configuration status for remote devices | |
CN111818032A (zh) | 基于云平台的数据处理方法、装置及计算机程序 | |
US11539663B2 (en) | System and method for midserver facilitation of long-haul transport of telemetry for cloud-based services | |
US20120036208A1 (en) | Polling-based secure network message notification system and method with performance enhancing features | |
US7899907B2 (en) | Access and synchronization with enterprise applications using remote hosted solution | |
US10834041B2 (en) | Blockmail transfer protocol | |
CN106301791B (zh) | 一种基于大数据平台的统一用户认证授权的实现方法及系统 | |
CN101702170A (zh) | 行政审批串口数据解析交换方法 | |
CN113095825B (zh) | 基于区块链的资产管理方法、装置及电子设备 | |
CN108062713B (zh) | 年金数据文件获取方法、装置、计算机设备及存储介质 | |
Xuefu et al. | Design and implementation of web Instant Message System based on XMPP | |
EP2785019B1 (en) | Managing mobile telecommunication devices with a general purpose messaging transport protocol in digital cellular telecommunication networks | |
US20150244511A1 (en) | Duplex services residing in a messaging bus | |
Hu et al. | Research and implementation of campus information push system based on WebSocket | |
JP3683839B2 (ja) | 情報中継装置、情報処理システム及び記録媒体 | |
CN112860674A (zh) | 数据共享方法及系统 | |
Tang et al. | Design of Information System Architecture of Garment Enterprises Based on Microservices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080507 |