一种多主总线网络通讯实时交易数据交换实现方法.pdf

上传人:zhu****69 文档编号:4753428 上传时间:2018-11-06 格式:PDF 页数:10 大小:470.51KB
返回 下载 相关 举报
摘要
申请专利号:

CN201210315912.9

申请日:

2012.08.31

公开号:

CN102811152A

公开日:

2012.12.05

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04L 12/40登记生效日:20180613变更事项:专利权人变更前权利人:南京鑫三强科技实业有限公司变更后权利人:王向东变更事项:地址变更前权利人:210005 江苏省南京市管家桥85号变更后权利人:210009 江苏省南京市鼓楼区东宝路29号嘉景苑01-03-1101|||授权|||实质审查的生效IPC(主分类):H04L 12/40申请日:20120831|||公开

IPC分类号:

H04L12/40

主分类号:

H04L12/40

申请人:

南京鑫三强科技实业有限公司

发明人:

王向前; 王向东

地址:

210005 江苏省南京市管家桥85号

优先权:

专利代理机构:

南京知识律师事务所 32207

代理人:

张苏沛

PDF下载: PDF下载
内容摘要

本发明公开了一种多主总线网络通讯实时交易数据交换实现方法,它是以多个物联网终端设备为节点组成的CAN总线,通过CAN转以太网,向上位机发送数据采集服务请求。网络中的各节点根据CAN总线访问优先权采用无损结构的逐位仲裁方式竞争向CAN总线发送数据。数据采集服务采用高效率的网络I/O模型-IOCP,其架构分成两部分处理,分别为控制流和数据流,增加数据采集与交换的速度。

权利要求书

1: 一种多主总线网络通讯实时交易数据交换实现方法, 其特征在于 : 它是以多个物联 网终端设备为节点组成的 CAN 总线, 通过 CAN 转以太网, 向上位机发送数据采集服务请求。2: 根据权利要求 1 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于: 网络中的各节点根据 CAN 总线访问优先权采用无损结构的逐位仲裁方式竞争向 CAN 总 线发送数据。3: 根据权利要求 1 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于: CAN 总线通过 CAN 控制器接口芯片 82C250 的两个输出端 CANH 和 CANL 与物理总线相连, CANH 端的状态是高电平或悬浮状态, CANL 端是低电平或悬浮状态。4: 根据权利要求 1、 2 或 3 所述的多主总线网络通讯实时交易数据交换实现方法, 其特 征在于 : 所述数据采集服务采用网络 I/O 模型, 使用线程池处理异步 I/O 请求, 事先开好 N 个线程 (N=CPU 个数 *2+2) , 存储在线程池中, 然后将所有的用户请求都投递到 I/O 端口上, 然后 N 个工作线程逐一地从端口中取得用户消息并加以处理。5: 根据权利要求 4 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于: 通过将网络 IO 收发数据用到的线程池和业务逻辑中用到的线程池分离, 通信建立特定 线程用来收发数据, 业务逻辑线程将收到的数据进行业务层面的分析处理, 各自处理各自 的业务。6: 根据权利要求 1、 2 或 3 所述的多主总线网络通讯实时交易数据交换实现方法, 其特 征在于 : 所述数据采集服务分为两部分进行处理, 来增加数据采集与交换的速度, 这两部分 分别为 : 控制流和数据流。7: 根据权利要求 6 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于: 所述控制流是负责网络 IO 部分, 从网络读取和发送数据 ; 所述数据流是处理业务逻辑。8: 根据权利要求 5 或 7 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征 在于 : 数据动态访问采用连接池技术, 所述连接池是在初始化的过程中, 已经创建了若干个 数据库连接在池中备用, 此时连接的初始化工作在系统初始化时完成, 对于数据请求业务 而言, 直接利用现有的可用空闲连接, 避免连接数据库连接的初始化和释放过程的时间开 销。9: 根据权利要求 5 或 7 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征 在于 : 在数据空间的管理上采用 “内存池” 机制, 所述内存池, 就是申请一大块内存, 避免重 复申请释放, 需要时从池中取出一块内存, 用完后在放回池里。10: 根据权利要求 9 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于: 所述内存池包含 block、 list 和 pool 三个结构体, 所述 block 结构包含指向实际内存空 间的指针, 向前和向后指针让 block 能够组成双向链表 ; 所述 list 结构中 free 指针指向空 闲内存组成的链表, used 指针指向程序使用中的内存块组成的链表, size 值为内存块的大 小; 所述 pool 结构记录 list 链表的头尾。

说明书


一种多主总线网络通讯实时交易数据交换实现方法

    技术领域 本发明涉及智慧校园、 数字校园的一卡通领域的物联网终端为多主方式的实时交 易数据交换处理的应用。
     背景技术 近年来, 随着物联网终端与一卡通信息化建设的进一步加快, 智慧城市、 智慧校园 和数字化校园一卡通得到了广泛的应用。但是在物联网终端遍及的当今, 各厂商对于物联 网终端总线方式通讯类的设备, 均采用 RS485 或 RS422, 但是由于 RS485 或 RS422 总线自身 控制的限制, 其通信方式只能以主站轮询的方式进行, 数据传输只能采用异步上传, 使得此 类的物联网终端在交易或身份认证时不能实时到数据中心认证, 导致系统的实时性、 可靠 性较差。因此各厂商只能通过增加中间网络控制前置的方式。但是即使增加了网络控制前 置, 只是增加了总线方式下可连接的网联终端的数量, 但是数据传输要通过网络控制前置 机中转, 还是异步方式, 不能实时到数据中心认证。另外, RS485 或 RS422 总线同络, 还会因 个别节点出现问题, 使得总线处于 “死锁” 状态。其主要技术瓶颈如下 : 1、数据交换采用异步交换, 导致系统实时性、 可靠性差。
     2、 网络中个别节点出现问题, 容易使得总线处于 “死锁” 状态, 导致系统可靠性 差。
     发明内容
     为了概括本发明的目的, 在这里描述了本发明的某些方面、 优点和新颖特征。 应了 解, 无需所有这些方面、 优点和特征包含在任一特殊的实施例中。
     为了弥补现有技术的不足, 本发明提出了一种多主总线网络通讯实时交易数据交 换实现方法。从根本上改变传统 RS485 或 RS422 总线以主站轮询的方式。改由终端设备多 主方式上送服务请求, 提高网络数据交互的速度, 使交易或身份认证直接到数据中心认证。 达到数据实时处理、 白名单实时自动更新的目的。
     为了达到上述目的, 本发明提出了一种多主总线网络通讯实时交易数据交换实现 方法 : 1、 在 硬 件 设 计 上, 选 用 CAN 总 线 技 术 替 换 原 RS485 或 RS422 总 线 网 传 输 数 据, CAN(Controller Area Network) 属于现场总线的范畴, 它是一种有效支持分布式控制或实 时控制的串行通信网络。 CAN 控制器工作于多主方式, 网络中的各节点都可根据总线访问优 先权 ( 取决于报文标识符 ) 采用无损结构的逐位仲裁方式竞争向总线发送数据, 且 CAN 协 议废除了站地址编码, 而代之以对通信数据进行编码, 这可使不同的节点同时接收到相同 的数据, 这些特点使得 CAN 总线构成的网络各节点之间的数据通信实时性强, 并且容易构 成冗余结构, 提高系统的可靠性和系统的灵活性。 CAN 总线通过 CAN 控制器接口芯片 82C250 的两个输出端 CANH 和 CANL 与物理总线相连, 而 CANH 端的状态只能是高电平或悬浮状态, CANL 端只能是低电平或悬浮状态。这就保证不会出现象 RS-485 网络中, 当系统有错误, 出现多节点同时向总线发送数据时, 导致总线呈现短路, 从而损坏某些节点的现象。而且 CAN 节点在错误严重的情况下具有自动关闭输出功能, 以使总线上其他节点的操作不受影响, 从而保证不会出现象在网络中, 因个别节点出现问题, 使得总线处于 “死锁” 状态。
     2、 数据采集服务采用高效率的网络 I/O 模型 -IOCP, 这是处理大量客户端并发访 问服务器常用的一种 windows 平台下的架构。 IOCP 是应用程序使用线程池处理异步 I/O 请 求的一种机制, 事先开好 N 个线程 (N=CPU 个数 *2+2) , 存储在线程池中。然后将所有的用 户请求都投递到 I/O 端口上, 然后 N 个工作线程逐一地从端口中取得用户消息并加以处理。 这样既减少了线程的资源, 又提高了线程的利用率。加速了上位机数据处理能力。保证数 据实时交换处理。
     3、 将数据采集服务架构分成两部分处理, 分别为控制流和数据流, 增加数据采集 与交换的速度。
     所述控制流是负责网络 IO 部分 , 也就是从网络读取和发送数据。所述数据流是 处理业务逻辑。通常情况下他们是分离的 , 网络 IO 部分不需要管理业务逻辑具体做什么 工作, 而后者也不关心数据怎么得来, 怎么送到网络上。两者就是一个生产者消费者关系。 本着一个原则, 让生产者尽量的生产数据 (即快速的收发数据) , 减少消费者的消费时间 (业 务处理时间缩短) , 即通信和业务的分离机制。
     通过将网络 IO 收发数据用到的线程池和业务逻辑中用到的线程池分离, 就是上 面所说的通信和业务的分离。通信建立特定线程用来收发数据, 业务逻辑线程将收到的数 据进行业务层面的分析处理, 各自处理各自的业务, 就像工厂流水线上的工人, 以使系统的 产能最大化。增加数据采集与交换的速度。
     4、 数据动态访问采用连接池技术。
     对于一个复杂的数据库 (动态库) 访问的应用, 由于通信的每一次建立都需要一次 完整的 “握手” 过程, 其中就包含了大量的相应等待时间, 因此, 对于连接的不当使用会成为 系统性能的巨大瓶颈。
     本发明采用连接池技术, 可以解决资源频繁分配、 释放所造成的大量性能开销。 在 减少系统消耗的基础上, 可以增进系统运行环境的平稳性 (减少内存碎片及临时进程或线 程的数量) 。可以使数据库 (动态库) 连接得到复用。
     所述连接池是在初始化的过程中, 已经创建了若干个数据库连接在池中备用。此 时连接的初始化工作在系统初始化时已经完成, 这种事前预备机制能很好的将系统的性能 开销 “前移” , 对于数据请求业务而言, 直接利用现有的可用空闲连接, 避免了连接数据库连 接的初始化和释放过程的时间开销, 从而缩短了系统整体相应的时间。增加数据采集与交 换的速度。
     5、 在数据空间的管理上引用内存池技术, 来管理系统内存的获取和释放, 防止大 量客户端并发访问服务器造成系统资源不足, 降低内存泄漏的风险。
     IOCP 的服务器, 其稳定和高性能的基础在于内存的应用, 因为服务器需要频繁申 请释放内存用于接收数据和数据的处理。因此在数据空间的管理上, 我们引入了 “内存池” 的机制。所述内存池, 就是申请一大块内存, 避免重复申请释放。需要时从池中取出一块内 存, 用完后在放回池里。所以, 在线程的安全问题上, 基于原子操做的 SLIST 系列函数刚好 适用, 因为是先进后出的原则, 所以可以尽可能的避免换页。本发明的有益效果 : 本发明创造的一种多主总线网络通讯实时交易数据交换实现 方法从硬件设计到软件设计上采用多种创新, 与业界 485 总线数据采集处理相比有以下明 显优点 : (1) 用 CAN 总线技术替换原 RS485 或 RS422 总线网传输数据。
     CAN(Controller Area Network) 属于现场总线的范畴, 它是一种有效支持分布式 控制或实时控制的串行通信网络。较之目前 RS-485 基于线构建的分布式控制系统而言, 基 于 CAN 总线的分布式控制系统在以下方面具有明显的优越性 : 第一 : CAN 控制器工作于多主方式, 网络中的各节点都可根据总线访问优先权 ( 取决于 报文标识符 ) 采用无损结构的逐位仲裁方式竞争向总线发送数据, 且 CAN 协议废除了站地 址编码, 而代之以对通信数据进行编码, 这可使不同的节点同时接收到相同的数据, 这些特 点使得 CAN 总线构成的网络各节点之间的数据通信实时性强, 并且容易构成冗余结构, 提 高系统的可靠性和系统的灵活性。而利用 RS-485 只能构成主从式结构系统, 通信方式也只 能以主站轮询的方式进行, 系统的实时性、 可靠性较差。
     第二 : CAN 总线通过 CAN 控制器接口芯片 82C250 的两个输出端 CANH 和 CANL 与物 理总线相连, 而 CANH 端的状态只能是高电平或悬浮状态, CANL 端只能是低电平或悬浮状 态。这就保证不会出现象 RS-485 网络中, 当系统有错误, 出现多节点同时向总线发送数据 时, 导致总线呈现短路, 从而损坏某些节点的现象。而且 CAN 节点在错误严重的情况下具有 自动关闭输出功能, 以使总线上其他节点的操作不受影响, 从而保证不会出现象在网络中, 因个别节点出现问题, 使得总线处于 “死锁” 状态。 第三 : CAN 具有完善的通信协议, 可由 CAN 控制器芯片及其接口芯片来实现, 从而 大大降低了系统的开发难度, 缩短了开发周期, 这些是只仅仅有电气协议的 RS-485 所无法 比拟的。具体如下 :
     特性 单点成本 系统成本 总线利用率 网络特性 数据传输率 容错机制 通讯失败率 节点错误的影响 通讯距离 网络调试 开发难度 后期维护成本 RS-485 低廉 高 低 单主网络 低 无 高 导致整个网络的瘫痪 <1.5km 困难 标准 Modbus 协议 高 CAN-bus 稍高 较低 高 多主网络 高 可靠的错误处理和检错机制 极低 无任何影响 可达 10km(5kbps) 非常容易 标准 CAN-bus 协议 低(2)、 数据采集服务采用高效率的网络 I/O 模型 -IOCP, 这是处理大量客户端并发访问 服务器常用的一种 windows 平台下的架构。 IOCP 是应用程序使用线程池处理异步 I/O 请求 的一种机制, 事先开好 N 个线程 (N=CPU 个数 *2+2) , 存储在线程池中。然后将所有的用户请 求都投递到 I/O 端口上, 然后 N 个工作线程逐一地从端口中取得用户消息并加以处理。这 样既减少了线程的资源, 又提高了线程的利用率。加速了上位机数据处理能力。保证数据 实时交换处理。
     (3)、 将数据采集服务架构分成两部分处理, 分别为控制流和数据流, 增加数据采集与交换的速度。
     所述控制流是负责网络 IO 部分 , 也就是从网络读取和发送数据。 所述数据流是 处理业务逻辑。通常情况下他们是分离的 , 网络 IO 部分不需要管理业务逻辑具体做什么 工作, 而后者也不关心数据怎么得来, 怎么送到网络上。两者就是一个生产者消费者关系。 本着一个原则, 让生产者尽量的生产数据 (即快速的收发数据) , 减少消费者的消费时间 (业 务处理时间缩短) , 即通信和业务的分离机制。
     通过将网络 IO 收发数据用到的线程池和业务逻辑中用到的线程池分离, 就是上 面所说的通信和业务的分离。通信建立特定线程用来收发数据, 业务逻辑线程将收到的数 据进行业务层面的分析处理, 各自处理各自的业务, 就像工厂流水线上的工人, 以使系统的 产能最大化。增加数据采集与交换的速度。
     (4)、 数据动态访问采用连接池技术。
     对于一个复杂的数据库 (动态库) 访问的应用, 由于通信的每一次建立都需要一次 完整的 “握手” 过程, 其中就包含了大量的相应等待时间, 因此, 对于连接的不当使用会成为 系统性能的巨大瓶颈。
     本发明采用连接池技术, 可以解决资源频繁分配、 释放所造成的大量性能开销。 在 减少系统消耗的基础上, 可以增进系统运行环境的平稳性 (减少内存碎片及临时进程或线 程的数量) 。可以使数据库 (动态库) 连接得到复用。
     所述连接池是在初始化的过程中, 已经创建了若干个数据库连接在池中备用。此 时连接的初始化工作在系统初始化时已经完成, 这种事前预备机制能很好的将系统的性能 开销 “前移” , 对于数据请求业务而言, 直接利用现有的可用空闲连接, 避免了连接数据库连 接的初始化和释放过程的时间开销, 从而缩短了系统整体相应的时间。增加数据采集与交 换的速度。
     (5)、 在数据空间的管理上引用内存池技术, 来管理系统内存的获取和释放, 防止 大量客户端并发访问服务器造成系统资源不足, 降低内存泄漏的风险。
     IOCP 的服务器, 其稳定和高性能的基础在于内存的应用, 因为服务器需要频繁申 请释放内存用于接收数据和数据的处理。因此在数据空间的管理上, 我们引入了 “内存池” 的机制。所述内存池, 就是申请一大块内存, 避免重复申请释放。需要时从池中取出一块内 存, 用完后在放回池里。所以, 在线程的安全问题上, 基于原子操做的 SLIST 系列函数刚好 适用, 因为是先进后出的原则, 所以可以尽可能的避免换页。 附图说明
     图 1 为本发明实施例中数据采集服务与 CAN 总线的网络结构图。 图 2 为本发明实施例中数据采集服务结构图。 图 3 为本发明实施例中 IOCP 模型图。 图 4 为本发明实施例中内存池结构图。具体实施方式
     以下结合附图和具体实施例对本发明作进一步详细说明。
     本发明提出了一种多主总线网络通讯实时交易数据交换实现方法。图 1 所示, 是一种多主总线网络通讯实时交易数据交换实现方法的网络图, 它是 以多个物联网终端设备为主组成的 CAN 总线, 通过 CAN 转以态网, 向上位机发送服务请求。
     图 2 所示, 是一种多主总线网络通讯实时交易数据采集服务的技术架构图。通过 将本发明的数据采集服务分为两部分进行处理, 来增加数据采集与交换的速度。这两部分 分别为 : 控制流和数据流, 所述控制流是负责网络 IO 部分 , 也就是从网络读取和发送数据。
     所述数据流是处理业务逻辑。通常情况下控制流和数据流是分离的 , 网络 IO 部 分不需要管理业务逻辑具体做什么工作, 而后者也不关心数据怎么得来, 怎么送到网络上。 两者就是一个生产者消费者关系。 本着一个原则, 让生产者尽量的生产数据 (即快速的收发 数据) , 减少消费者的消费时间 (业务处理时间缩短) , 即通信和业务的分离机制。
     通过将网络 IO 收发数据用到的线程池和业务逻辑中用到的线程池分离, 就是上 面所说的通信和业务的分离。通信建立特定线程用来收发数据, 业务逻辑线程将收到的数 据进行业务层面的分析处理, 各自处理各自的业务, 就像工厂流水线上的工人, 以使系统的 产能最大化。增加数据采集与交换的速度。
     图 3 所示, 是一种多主总线网络通讯实时交易数据交换实现方法中的 IOCP 模型 图, 它是处理大量客户端并发访问服务器常用的一种 windows 平台下的架构。IOCP 是应用 程序使用线程池处理异步 I/O 请求的一种机制, 事先开好 N 个线程 (N=CPU 个数 *2+2) , 存储 在线程池中。然后将所有的用户请求都投递到 I/O 端口上, 然后 N 个工作线程逐一地从端 口中取得用户消息并加以处理。这样既减少了线程的资源, 又提高了线程的利用率。加速 了上位机数据处理能力。保证数据实时交换处理。 图 4 所示, 是一种多主总线网络通讯实时交易数据交换实现方法中的内存池结构 图, 它是来管理系统内存的获取和释放, 防止大量客户端并发访问服务器造成系统资源不 足, 降低内存泄漏的风险。
     IOCP 的服务器, 其稳定和高性能的基础在于内存的应用, 因为服务器需要频繁申 请释放内存用于接收数据和数据的处理。因此在数据空间的管理上, 我们引入了 “内存池” 的机制。所述内存池, 就是申请一大块内存, 避免重复申请释放。需要时从池中取出一块内 存, 用完后在放回池里。所以, 在线程的安全问题上, 基于原子操做的 SLIST 系列函数刚好 适用, 因为是先进后出的原则, 所以可以尽可能的避免换页。
     图 4 所示的结构中主要包含 block、 list 和 pool 三个结构体, 所述 block 结构包含 指向实际内存空间的指针, 向前和向后指针让 block 能够组成双向链表 ; 所述 list 结构中 free 指针指向空闲内存组成的链表, used 指针指向程序使用中的内存块组成的链表, size 值为内存块的大小 ; 所述 pool 结构记录 list 链表的头尾。
     虽然本发明专利通过实施例和附图进行了描述, 但实施例和附图并非用来限定本 发明。 本领域技术人员可在本发明的精神的范围内, 做出各种变形和改进, 但同样在发明的 保护范围之内。因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。
    

一种多主总线网络通讯实时交易数据交换实现方法.pdf_第1页
第1页 / 共10页
一种多主总线网络通讯实时交易数据交换实现方法.pdf_第2页
第2页 / 共10页
一种多主总线网络通讯实时交易数据交换实现方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种多主总线网络通讯实时交易数据交换实现方法.pdf》由会员分享,可在线阅读,更多相关《一种多主总线网络通讯实时交易数据交换实现方法.pdf(10页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102811152 A (43)申请公布日 2012.12.05 CN 102811152 A *CN102811152A* (21)申请号 201210315912.9 (22)申请日 2012.08.31 H04L 12/40(2006.01) (71)申请人 南京鑫三强科技实业有限公司 地址 210005 江苏省南京市管家桥 85 号 (72)发明人 王向前 王向东 (74)专利代理机构 南京知识律师事务所 32207 代理人 张苏沛 (54) 发明名称 一种多主总线网络通讯实时交易数据交换实 现方法 (57) 摘要 本发明公开了一种多主总线网络通讯实时交 易数。

2、据交换实现方法, 它是以多个物联网终端设 备为节点组成的 CAN 总线, 通过 CAN 转以太网, 向 上位机发送数据采集服务请求。网络中的各节点 根据 CAN 总线访问优先权采用无损结构的逐位仲 裁方式竞争向 CAN 总线发送数据。数据采集服务 采用高效率的网络I/O模型-IOCP, 其架构分成两 部分处理, 分别为控制流和数据流, 增加数据采集 与交换的速度。 (51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 5 页 附图 3 页 1/1 页 2 1. 一种多主总线网络通讯实时交。

3、易数据交换实现方法, 其特征在于 : 它是以多个物联 网终端设备为节点组成的 CAN 总线, 通过 CAN 转以太网, 向上位机发送数据采集服务请求。 2. 根据权利要求 1 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于 : 网络中的各节点根据 CAN 总线访问优先权采用无损结构的逐位仲裁方式竞争向 CAN 总 线发送数据。 3. 根据权利要求 1 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于 : CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL与物理总线相连, CANH 端的状态是高电平或悬浮状态, CANL 端是低电平或悬浮状。

4、态。 4. 根据权利要求 1、 2 或 3 所述的多主总线网络通讯实时交易数据交换实现方法, 其特 征在于 : 所述数据采集服务采用网络 I/O 模型, 使用线程池处理异步 I/O 请求, 事先开好 N 个线程 (N=CPU 个数 *2+2) , 存储在线程池中, 然后将所有的用户请求都投递到 I/O 端口上, 然后 N 个工作线程逐一地从端口中取得用户消息并加以处理。 5. 根据权利要求 4 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于 : 通过将网络 IO 收发数据用到的线程池和业务逻辑中用到的线程池分离, 通信建立特定 线程用来收发数据, 业务逻辑线程将收到的数据进行业。

5、务层面的分析处理, 各自处理各自 的业务。 6. 根据权利要求 1、 2 或 3 所述的多主总线网络通讯实时交易数据交换实现方法, 其特 征在于 : 所述数据采集服务分为两部分进行处理, 来增加数据采集与交换的速度, 这两部分 分别为 : 控制流和数据流。 7. 根据权利要求 6 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于 : 所述控制流是负责网络 IO 部分, 从网络读取和发送数据 ; 所述数据流是处理业务逻辑。 8. 根据权利要求 5 或 7 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征 在于 : 数据动态访问采用连接池技术, 所述连接池是在初始化的过程中,。

6、 已经创建了若干个 数据库连接在池中备用, 此时连接的初始化工作在系统初始化时完成, 对于数据请求业务 而言, 直接利用现有的可用空闲连接, 避免连接数据库连接的初始化和释放过程的时间开 销。 9. 根据权利要求 5 或 7 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征 在于 : 在数据空间的管理上采用 “内存池” 机制, 所述内存池, 就是申请一大块内存, 避免重 复申请释放, 需要时从池中取出一块内存, 用完后在放回池里。 10. 根据权利要求 9 所述的多主总线网络通讯实时交易数据交换实现方法, 其特征在 于 : 所述内存池包含block、 list和pool三个结构体, 所。

7、述block结构包含指向实际内存空 间的指针, 向前和向后指针让block能够组成双向链表 ; 所述list结构中free指针指向空 闲内存组成的链表, used 指针指向程序使用中的内存块组成的链表, size 值为内存块的大 小 ; 所述 pool 结构记录 list 链表的头尾。 权 利 要 求 书 CN 102811152 A 2 1/5 页 3 一种多主总线网络通讯实时交易数据交换实现方法 技术领域 0001 本发明涉及智慧校园、 数字校园的一卡通领域的物联网终端为多主方式的实时交 易数据交换处理的应用。 背景技术 0002 近年来, 随着物联网终端与一卡通信息化建设的进一步加快, 。

8、智慧城市、 智慧校园 和数字化校园一卡通得到了广泛的应用。但是在物联网终端遍及的当今, 各厂商对于物联 网终端总线方式通讯类的设备, 均采用 RS485 或 RS422, 但是由于 RS485 或 RS422 总线自身 控制的限制, 其通信方式只能以主站轮询的方式进行, 数据传输只能采用异步上传, 使得此 类的物联网终端在交易或身份认证时不能实时到数据中心认证, 导致系统的实时性、 可靠 性较差。因此各厂商只能通过增加中间网络控制前置的方式。但是即使增加了网络控制前 置, 只是增加了总线方式下可连接的网联终端的数量, 但是数据传输要通过网络控制前置 机中转, 还是异步方式, 不能实时到数据中心。

9、认证。另外, RS485 或 RS422 总线同络, 还会因 个别节点出现问题, 使得总线处于 “死锁” 状态。其主要技术瓶颈如下 : 1、 数据交换采用异步交换, 导致系统实时性、 可靠性差。 0003 2、 网络中个别节点出现问题, 容易使得总线处于 “死锁” 状态, 导致系统可靠性 差。 发明内容 0004 为了概括本发明的目的, 在这里描述了本发明的某些方面、 优点和新颖特征。 应了 解, 无需所有这些方面、 优点和特征包含在任一特殊的实施例中。 0005 为了弥补现有技术的不足, 本发明提出了一种多主总线网络通讯实时交易数据交 换实现方法。从根本上改变传统 RS485 或 RS422。

10、 总线以主站轮询的方式。改由终端设备多 主方式上送服务请求, 提高网络数据交互的速度, 使交易或身份认证直接到数据中心认证。 达到数据实时处理、 白名单实时自动更新的目的。 0006 为了达到上述目的, 本发明提出了一种多主总线网络通讯实时交易数据交换实现 方法 : 1、 在硬件设计上, 选用 CAN 总线技术替换原 RS485 或 RS422 总线网传输数据, CAN(Controller Area Network) 属于现场总线的范畴, 它是一种有效支持分布式控制或实 时控制的串行通信网络。 CAN控制器工作于多主方式, 网络中的各节点都可根据总线访问优 先权 ( 取决于报文标识符 ) 采。

11、用无损结构的逐位仲裁方式竞争向总线发送数据, 且 CAN 协 议废除了站地址编码, 而代之以对通信数据进行编码, 这可使不同的节点同时接收到相同 的数据, 这些特点使得 CAN 总线构成的网络各节点之间的数据通信实时性强, 并且容易构 成冗余结构, 提高系统的可靠性和系统的灵活性。 CAN总线通过CAN控制器接口芯片82C250 的两个输出端 CANH 和 CANL 与物理总线相连, 而 CANH 端的状态只能是高电平或悬浮状态, CANL 端只能是低电平或悬浮状态。这就保证不会出现象 RS-485 网络中, 当系统有错误, 出 说 明 书 CN 102811152 A 3 2/5 页 4 现。

12、多节点同时向总线发送数据时, 导致总线呈现短路, 从而损坏某些节点的现象。而且 CAN 节点在错误严重的情况下具有自动关闭输出功能, 以使总线上其他节点的操作不受影响, 从而保证不会出现象在网络中, 因个别节点出现问题, 使得总线处于 “死锁” 状态。 0007 2、 数据采集服务采用高效率的网络 I/O 模型 -IOCP, 这是处理大量客户端并发访 问服务器常用的一种windows平台下的架构。 IOCP是应用程序使用线程池处理异步I/O请 求的一种机制, 事先开好 N 个线程 (N=CPU 个数 *2+2) , 存储在线程池中。然后将所有的用 户请求都投递到I/O端口上, 然后N个工作线程。

13、逐一地从端口中取得用户消息并加以处理。 这样既减少了线程的资源, 又提高了线程的利用率。加速了上位机数据处理能力。保证数 据实时交换处理。 0008 3、 将数据采集服务架构分成两部分处理, 分别为控制流和数据流, 增加数据采集 与交换的速度。 0009 所述控制流是负责网络 IO 部分 , 也就是从网络读取和发送数据。所述数据流是 处理业务逻辑。通常情况下他们是分离的 , 网络 IO 部分不需要管理业务逻辑具体做什么 工作, 而后者也不关心数据怎么得来, 怎么送到网络上。两者就是一个生产者消费者关系。 本着一个原则, 让生产者尽量的生产数据 (即快速的收发数据) , 减少消费者的消费时间 (。

14、业 务处理时间缩短) , 即通信和业务的分离机制。 0010 通过将网络 IO 收发数据用到的线程池和业务逻辑中用到的线程池分离, 就是上 面所说的通信和业务的分离。通信建立特定线程用来收发数据, 业务逻辑线程将收到的数 据进行业务层面的分析处理, 各自处理各自的业务, 就像工厂流水线上的工人, 以使系统的 产能最大化。增加数据采集与交换的速度。 0011 4、 数据动态访问采用连接池技术。 0012 对于一个复杂的数据库 (动态库) 访问的应用, 由于通信的每一次建立都需要一次 完整的 “握手” 过程, 其中就包含了大量的相应等待时间, 因此, 对于连接的不当使用会成为 系统性能的巨大瓶颈。。

15、 0013 本发明采用连接池技术, 可以解决资源频繁分配、 释放所造成的大量性能开销。 在 减少系统消耗的基础上, 可以增进系统运行环境的平稳性 (减少内存碎片及临时进程或线 程的数量) 。可以使数据库 (动态库) 连接得到复用。 0014 所述连接池是在初始化的过程中, 已经创建了若干个数据库连接在池中备用。此 时连接的初始化工作在系统初始化时已经完成, 这种事前预备机制能很好的将系统的性能 开销 “前移” , 对于数据请求业务而言, 直接利用现有的可用空闲连接, 避免了连接数据库连 接的初始化和释放过程的时间开销, 从而缩短了系统整体相应的时间。增加数据采集与交 换的速度。 0015 5、。

16、 在数据空间的管理上引用内存池技术, 来管理系统内存的获取和释放, 防止大 量客户端并发访问服务器造成系统资源不足, 降低内存泄漏的风险。 0016 IOCP 的服务器, 其稳定和高性能的基础在于内存的应用, 因为服务器需要频繁申 请释放内存用于接收数据和数据的处理。因此在数据空间的管理上, 我们引入了 “内存池” 的机制。所述内存池, 就是申请一大块内存, 避免重复申请释放。需要时从池中取出一块内 存, 用完后在放回池里。所以, 在线程的安全问题上, 基于原子操做的 SLIST 系列函数刚好 适用, 因为是先进后出的原则, 所以可以尽可能的避免换页。 说 明 书 CN 102811152 A。

17、 4 3/5 页 5 0017 本发明的有益效果 : 本发明创造的一种多主总线网络通讯实时交易数据交换实现 方法从硬件设计到软件设计上采用多种创新, 与业界 485 总线数据采集处理相比有以下明 显优点 : (1) 用 CAN 总线技术替换原 RS485 或 RS422 总线网传输数据。 0018 CAN(Controller Area Network) 属于现场总线的范畴, 它是一种有效支持分布式 控制或实时控制的串行通信网络。较之目前 RS-485 基于线构建的分布式控制系统而言, 基 于 CAN 总线的分布式控制系统在以下方面具有明显的优越性 : 第一 : CAN 控制器工作于多主方式,。

18、 网络中的各节点都可根据总线访问优先权 ( 取决于 报文标识符 ) 采用无损结构的逐位仲裁方式竞争向总线发送数据, 且 CAN 协议废除了站地 址编码, 而代之以对通信数据进行编码, 这可使不同的节点同时接收到相同的数据, 这些特 点使得 CAN 总线构成的网络各节点之间的数据通信实时性强, 并且容易构成冗余结构, 提 高系统的可靠性和系统的灵活性。而利用 RS-485 只能构成主从式结构系统, 通信方式也只 能以主站轮询的方式进行, 系统的实时性、 可靠性较差。 0019 第二 : CAN 总线通过 CAN 控制器接口芯片 82C250 的两个输出端 CANH 和 CANL 与物 理总线相连。

19、, 而 CANH 端的状态只能是高电平或悬浮状态, CANL 端只能是低电平或悬浮状 态。这就保证不会出现象 RS-485 网络中, 当系统有错误, 出现多节点同时向总线发送数据 时, 导致总线呈现短路, 从而损坏某些节点的现象。而且 CAN 节点在错误严重的情况下具有 自动关闭输出功能, 以使总线上其他节点的操作不受影响, 从而保证不会出现象在网络中, 因个别节点出现问题, 使得总线处于 “死锁” 状态。 0020 第三 : CAN 具有完善的通信协议, 可由 CAN 控制器芯片及其接口芯片来实现, 从而 大大降低了系统的开发难度, 缩短了开发周期, 这些是只仅仅有电气协议的 RS-485 。

20、所无法 比拟的。具体如下 : 特性RS-485CAN-bus 单点成本低廉稍高 系统成本高较低 总线利用率低高 网络特性单主网络多主网络 数据传输率低高 容错机制无可靠的错误处理和检错机制 通讯失败率高极低 节点错误的影响导致整个网络的瘫痪无任何影响 通讯距离1.5km可达 10km(5kbps) 网络调试困难非常容易 开发难度标准 Modbus 协议标准 CAN-bus 协议 后期维护成本高低 (2)、 数据采集服务采用高效率的网络 I/O 模型 -IOCP, 这是处理大量客户端并发访问 服务器常用的一种windows平台下的架构。 IOCP是应用程序使用线程池处理异步I/O请求 的一种机制。

21、, 事先开好 N 个线程 (N=CPU 个数 *2+2) , 存储在线程池中。然后将所有的用户请 求都投递到 I/O 端口上, 然后 N 个工作线程逐一地从端口中取得用户消息并加以处理。这 样既减少了线程的资源, 又提高了线程的利用率。加速了上位机数据处理能力。保证数据 实时交换处理。 0021 (3)、 将数据采集服务架构分成两部分处理, 分别为控制流和数据流, 增加数据采 说 明 书 CN 102811152 A 5 4/5 页 6 集与交换的速度。 0022 所述控制流是负责网络 IO 部分 , 也就是从网络读取和发送数据。 所述数据流是 处理业务逻辑。通常情况下他们是分离的 , 网络 。

22、IO 部分不需要管理业务逻辑具体做什么 工作, 而后者也不关心数据怎么得来, 怎么送到网络上。两者就是一个生产者消费者关系。 本着一个原则, 让生产者尽量的生产数据 (即快速的收发数据) , 减少消费者的消费时间 (业 务处理时间缩短) , 即通信和业务的分离机制。 0023 通过将网络 IO 收发数据用到的线程池和业务逻辑中用到的线程池分离, 就是上 面所说的通信和业务的分离。通信建立特定线程用来收发数据, 业务逻辑线程将收到的数 据进行业务层面的分析处理, 各自处理各自的业务, 就像工厂流水线上的工人, 以使系统的 产能最大化。增加数据采集与交换的速度。 0024 (4)、 数据动态访问采。

23、用连接池技术。 0025 对于一个复杂的数据库 (动态库) 访问的应用, 由于通信的每一次建立都需要一次 完整的 “握手” 过程, 其中就包含了大量的相应等待时间, 因此, 对于连接的不当使用会成为 系统性能的巨大瓶颈。 0026 本发明采用连接池技术, 可以解决资源频繁分配、 释放所造成的大量性能开销。 在 减少系统消耗的基础上, 可以增进系统运行环境的平稳性 (减少内存碎片及临时进程或线 程的数量) 。可以使数据库 (动态库) 连接得到复用。 0027 所述连接池是在初始化的过程中, 已经创建了若干个数据库连接在池中备用。此 时连接的初始化工作在系统初始化时已经完成, 这种事前预备机制能很。

24、好的将系统的性能 开销 “前移” , 对于数据请求业务而言, 直接利用现有的可用空闲连接, 避免了连接数据库连 接的初始化和释放过程的时间开销, 从而缩短了系统整体相应的时间。增加数据采集与交 换的速度。 0028 (5)、 在数据空间的管理上引用内存池技术, 来管理系统内存的获取和释放, 防止 大量客户端并发访问服务器造成系统资源不足, 降低内存泄漏的风险。 0029 IOCP 的服务器, 其稳定和高性能的基础在于内存的应用, 因为服务器需要频繁申 请释放内存用于接收数据和数据的处理。因此在数据空间的管理上, 我们引入了 “内存池” 的机制。所述内存池, 就是申请一大块内存, 避免重复申请释。

25、放。需要时从池中取出一块内 存, 用完后在放回池里。所以, 在线程的安全问题上, 基于原子操做的 SLIST 系列函数刚好 适用, 因为是先进后出的原则, 所以可以尽可能的避免换页。 附图说明 0030 图 1 为本发明实施例中数据采集服务与 CAN 总线的网络结构图。 0031 图 2 为本发明实施例中数据采集服务结构图。 0032 图 3 为本发明实施例中 IOCP 模型图。 0033 图 4 为本发明实施例中内存池结构图。 具体实施方式 0034 以下结合附图和具体实施例对本发明作进一步详细说明。 0035 本发明提出了一种多主总线网络通讯实时交易数据交换实现方法。 说 明 书 CN 1。

26、02811152 A 6 5/5 页 7 0036 图 1 所示, 是一种多主总线网络通讯实时交易数据交换实现方法的网络图, 它是 以多个物联网终端设备为主组成的 CAN 总线, 通过 CAN 转以态网, 向上位机发送服务请求。 0037 图 2 所示, 是一种多主总线网络通讯实时交易数据采集服务的技术架构图。通过 将本发明的数据采集服务分为两部分进行处理, 来增加数据采集与交换的速度。这两部分 分别为 : 控制流和数据流, 所述控制流是负责网络 IO 部分 , 也就是从网络读取和发送数据。 0038 所述数据流是处理业务逻辑。通常情况下控制流和数据流是分离的 , 网络 IO 部 分不需要管理。

27、业务逻辑具体做什么工作, 而后者也不关心数据怎么得来, 怎么送到网络上。 两者就是一个生产者消费者关系。 本着一个原则, 让生产者尽量的生产数据 (即快速的收发 数据) , 减少消费者的消费时间 (业务处理时间缩短) , 即通信和业务的分离机制。 0039 通过将网络 IO 收发数据用到的线程池和业务逻辑中用到的线程池分离, 就是上 面所说的通信和业务的分离。通信建立特定线程用来收发数据, 业务逻辑线程将收到的数 据进行业务层面的分析处理, 各自处理各自的业务, 就像工厂流水线上的工人, 以使系统的 产能最大化。增加数据采集与交换的速度。 0040 图 3 所示, 是一种多主总线网络通讯实时交。

28、易数据交换实现方法中的 IOCP 模型 图, 它是处理大量客户端并发访问服务器常用的一种 windows 平台下的架构。IOCP 是应用 程序使用线程池处理异步I/O请求的一种机制, 事先开好N个线程 (N=CPU个数*2+2) , 存储 在线程池中。然后将所有的用户请求都投递到 I/O 端口上, 然后 N 个工作线程逐一地从端 口中取得用户消息并加以处理。这样既减少了线程的资源, 又提高了线程的利用率。加速 了上位机数据处理能力。保证数据实时交换处理。 0041 图 4 所示, 是一种多主总线网络通讯实时交易数据交换实现方法中的内存池结构 图, 它是来管理系统内存的获取和释放, 防止大量客户。

29、端并发访问服务器造成系统资源不 足, 降低内存泄漏的风险。 0042 IOCP 的服务器, 其稳定和高性能的基础在于内存的应用, 因为服务器需要频繁申 请释放内存用于接收数据和数据的处理。因此在数据空间的管理上, 我们引入了 “内存池” 的机制。所述内存池, 就是申请一大块内存, 避免重复申请释放。需要时从池中取出一块内 存, 用完后在放回池里。所以, 在线程的安全问题上, 基于原子操做的 SLIST 系列函数刚好 适用, 因为是先进后出的原则, 所以可以尽可能的避免换页。 0043 图4所示的结构中主要包含block、 list和pool三个结构体, 所述block结构包含 指向实际内存空间。

30、的指针, 向前和向后指针让 block 能够组成双向链表 ; 所述 list 结构中 free 指针指向空闲内存组成的链表, used 指针指向程序使用中的内存块组成的链表, size 值为内存块的大小 ; 所述 pool 结构记录 list 链表的头尾。 0044 虽然本发明专利通过实施例和附图进行了描述, 但实施例和附图并非用来限定本 发明。 本领域技术人员可在本发明的精神的范围内, 做出各种变形和改进, 但同样在发明的 保护范围之内。因此本发明的保护范围应当以本申请的权利要求保护范围所界定的为准。 说 明 书 CN 102811152 A 7 1/3 页 8 图 1 图 2 说 明 书 附 图 CN 102811152 A 8 2/3 页 9 图 3 说 明 书 附 图 CN 102811152 A 9 3/3 页 10 图 4 说 明 书 附 图 CN 102811152 A 10 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1