一种P2P模式的商品销售系统设计
2020-05-16郑晓健郑子维
郑晓健,郑子维
(1. 昆明理工大学津桥学院 电气与信息工程学院,云南 昆明 650106;2. 云南云投股权投资基金管理有限公司,云南 昆明 650100)
0 引言
企业在经营管理过程中要通过持续的商品销售来获取经营收入,以覆盖生产和管理的消耗,维持企业的正常运转,进而取得良好的经济效益。因此,建立和维护良好的销售过程是企业管理的重要环节之一。随着互联网技术的发展、全球化步伐的加快、客户需求的不断变化,企业需要降低管理成本、提高产品品质,用现代化的经营理念来整合所有资源。本文根据企业的运营需求,设计了一种P2P模式下的企业商品销售系统,在业务和管理、商品和客户间建立高效的信息管理平台,提高企业销售管理的运行效率。
商品销售系统的用户对象主要是商业公司和生产企业,它的功能需求涵盖销售业务管理、销售查询统计管理、系统基础信息管理等。在系统的支持下企业希望实现从客户订货、商品销售、到售后服务的全过程管理。同时,用户要求在各部门协同合作的条件下,系统还能有较好的扩展性,可以比较方便、灵活地增加业务处理节点。鉴于以上情况,宜采用 P2P架构[1]实现一个分布式的商品销售管理系统,从而为系统带来较好的健壮性、扩展性[2]、安全性、负载平衡性等性能特点[1-3]。
近年来,采用P2P架构实现分布式应用正逐渐流行起来[4-8]。网络的资源和服务被部署在众多P2P节点上,为使分散的资源和服务形成一个协调一致的统一体,通过建立网络基础层来实现。节点之间通过点对点方式直接互访[7]来交换协同工作消息、共享资源和服务,为分布式应用打下良好的条件。
1 系统功能设计
通过对目标企业的需求分析,商品销售系统的功能模块包括:销售业务管理、销售查询报表管理、系统基础信息维护。(1)销售业务管理主要完成客户订货、商品销售、商品退货等功能。(2)销售查询统计管理提供企业用户完成销售商品查询、客户订货查询、退货查询等功能。(3)系统基础信息维护完成商品信息、客户信息、操作人员信息、操作权限等信息维护功能。系统功能结构图如图1所示。系统按照用户要求可以将功能模块部署到P2P网络的不同节点上,然后协同完成系统功能。
图1 系统功能结构图Fig.1 System function structure diagram
2 数据表设计
商品销售数据库管理系统的所有业务信息,包含在10个数据表中,包括:客户订货表、客户订货明细表、商品销售表、商品销售明细表、商品退货表、商品退货明细表、商品信息表、客户信息表、商品库存表、操作人员信息表等,以下给出部分数据表结构设计。部署了功能模块的P2P节点,根据处理需要在各节点安装配置本地数据库管理系统(例如Access2010),创建与功能对应的数据表,用来保存业务处理信息。
表1 商品销售表Tab.1 Commodity sales table
3 P2P网络架构设计
本系统的目标是建立分布式应用系统,以 P2P网络构建一个去中心化的点对点架构[8]。P2P网络的拓扑结构分三类:集中式、分布式和混合式,本系统属于集中式P2P模式。由网络基础层和业务覆盖网络层组成。网络基础层由P2P系统服务器和P2P节点构成,P2P系统服务器的任务是管理P2P节点自由地加入和退出,而不影响节点间的连接。业务覆盖网络层,通过P2P用户协议和节点任务协同处理模块构成资源覆盖网络。当P2P节点加入时,必须在系统服务器注册,系统服务器根据节点所属的部门和访问权限返回所有节点列表,构成该节点的成员节点列表。节点利用该表就可以与其他节点进行点对点通信[13],完成功能设定的任务。
表2 商品销售明细表Tab.2 Commodity sales schedule
表3 客户信息表Tab.3 Customer Information Form
表4 操作人员信息表Tab.4 Operator Information Sheet
3.1 P2P系统服务器
要实现用户提出的方便地扩展系统的要求,意味着允许P2P节点可以自由地加入和退出。设立P2P系统服务器的主要目的也就在于此。最直接的方法是系统服务器保存所有P2P节点的网络连接信息,并保证及时刷新。当用户要加入新节点处理销售业务时,向P2P系统服务器发送请求注册消息,服务器将节点的连接信息保存到节点列表,通知所有节点更新各自的成员节点列表,同样有节点要退出时也采用相同做法。
商品信息表、商品库存表、操作人员信息表等公共信息有变化,可以通过系统服务器,转发更新消息,让所有相关节点刷新数据。节点状态监控,由于网络环境的影响,可能使节点的网络连接中断,系统服务器要定时向各节点发送心跳监测消息,监测节点的连接状态,及时修改节点的连接情况,并及时向节点发布节点状态刷新消息。
3.2 P2P节点
由节点通信结构,节点包括消息收发、消息解析、任务调度、节点注册、节点状态监测等模块。网络消息的收发涉及到节点之间的通信采用TCP协议,通过TCP协议提供的通信技术可以保证消息及资源传输的可靠性。所有P2P节点也包括系统服务器节点,监听连接请求端口,有连接请求时要创建消息接收线程,然后建立socket通信连接并接收消息,通过应用层通信协议解析消息,接着任务调度转发消息给各相关业务处理模块,再由模块完成相应的销售业务处理。
4 系统软件设计
P2P商品销售系统的类图如图2所示。各节点间的通信连接由通信类(P2Pcommunication)完成,接收消息和解析由消息收发类(Msg_transceiver)完成,任务调度调配相关模块完成业务消息处理工作。客户类(Customer)处理客户信息,操作员类(Operator)处理操作员信息,商品类(Commodity)处理商品信息。销售业务类(Sales_business)、销售查询类(Sales_query)、系统基础信息类(Basic_system_inf)处理销售业务。
商品销售系统软件由 Microsoft Visual C++6.0编程实现。节点的本地数据库采用 Microsoft Access2010完全可以胜任业务要求,还可以减少系统投资成本,且方便维护。
图2 系统类图Fig.2 System class diagram
5 结束语
本文通过P2P 网络结构下商品销售系统设计,介绍了一种P2P模式分布式应用系统在企业管理信息系统的应用。系统能够满足企业用户的业务要求。同时,通过P2P模式下的分布式应用系统,介绍了P2P平台的具体实现技术。理论和实践证明,P2P网络系统可以发挥系统的扩展性及灵活性特点,提高管理信息系统的工作效率[3],系统运行稳定,适合于各种规模的分布式应用环境。
系统的后续开发和应用计划,打算在一些商业企业推广应用和进一步完善系统功能,应用面向领域的智能搜索引擎技术[9],实现商品和客户资源信息的智能检索,挖掘更多的与客户合作的机会。运用区块链[10-11]技术解决P2P网络的安全性、追溯性问题[12],提高系统的实用性。