其他的分在这里哈
http://topic.csdn.net/u/20071018/16/f7fa302a-5c27-4362-ad78-53f653221368.html
http://topic.csdn.net/u/20071018/16/097ca942-021b-42f4-a5a1-c82b67e02770.html
http://topic.csdn.net/u/20071018/16/bd8941c2-3091-43f4-8e23-e933f610cf81.html
http://topic.csdn.net/u/20071018/16/54bcc819-9b4b-402f-8d69-19a70bd09f97.html
http://topic.csdn.net/u/20071018/16/e038755b-0543-4f7a-8a77-8d58d9349f35.html

解决方案 »

  1.   

    1.托管机房肯定不安全,关于安全的首要问题就是硬件的安全问题。
      因为涉及极度安全信息,所以最好用SSL
    2.如果这样做可以是可以,但一定要注意数据的同步性。
      可以把对于实时要求比较高的表和对于实时要求比较低的表分开为不同数据库,这样可以减少负载
    3.可以群集数据库服务器个人意见,可以参考下
      

  2.   

    谢谢 jeremyyang824 大哥的指点 谢谢
    有几个问题想请教一下
    1 对与SSL我也是只能算上知道,请那位大哥 给俺解释一下 包括硬件/软件方面的
    2 我对群集数据库服务器不太了解 大哥能给介绍下不 谢谢
      

  3.   

    “ 数据库直接放在托管的机房里是否安全? 为了防止攻击应该做哪些的防护措施 ? ”账目数据对你的客户来说,至关重要。放到托管机房确实不安全,病毒多,而且有些网管比较BT,而且为了防止攻击,他们有自己的一套方法,你只能建议,而无法干涉他们的行动。换句话说,如果他们什么都不做,你也没有任何办法。
    可能的话跟你的客户协商,将服务器放在总店。由于加盟店使用VPN,那么加盟店的数据传输问题,相信比较安全。主要专注于总店服务器的安全性维护、数据备份便可。加盟店的POS系统操作本地的数据库(POS系统不了解,但应该有完善的产品购买)。到一天工作结束后,将今天的账目数据传递给总店的服务器,保证数据同步。这部分做成b/s的,跟POS系统操作同一个数据库。那么思路基本出来了,你需要两个系统:
    1. POS系统即合适的数据库设计,配到各个加盟店。
    2. 总店的B/S系统,挂上互联网,每个加盟店将拥有自己的ID,每天商店打烊后,将一天的数据提交到总店。硬件配置:
    1. POS系统对硬件性能要求很低,普通家庭使用的电脑便可。
    2. 总店服务器性能根据加盟店数量而定,一般一个加盟店仅一个会员ID。你有上千万条数据量的表么?有上前的连接的同时访问么?因此,重要的不是服务器的配置,普通酷睿双核CPU差不多了。重要的是B/S系统的设计,本身账目操作需要严格的事务管理(断电、断网等因素,应该要能数据回滚)和操作日志(记录所有的数据库修改信息)。---------------------------------------
    B/S系统设计:我有一个疑问,“消费卡”是普通的银行卡,还是在该店购买并充值的卡?
    1 要在几个加盟店之间使用一个统一会员系统,加盟店A的会员可以在加盟店B中进行刷卡消费 
    2 会员卡为不记名卡,刷卡时需要密码. 会员卡可以转借他人使用. 也可以将若干个人的消费统一到一张卡上消费. 
    3 会员卡中存有现金,刷卡消费时自动从卡中扣除. 
    4 根据一次性存入现金的数额,将持卡人分为 A B C D 类会员,分别给予不同的打折优惠. 这些只是数据库设计的问题。5 会员要可以通过网络查询本人的消费记录和余额,加盟店要通过网络进行产品宣传 总店B/S系统需要暴露一些接口,我觉得统一管理比较方便,而且成本够低廉。如此不用在加盟店架设高成本的服务器,也不用挂B/S系统(当然,如果加盟店规模够大,另当别论),只需要在本地传些图片到总店,填写信息之类的。6 各个分店要可以查询本店的 会员\消费  财务统计 库存统计.总部要可以查看到各个分店的数据和统计 
    7 客人到各个分店可以现金消费也可以 划卡消费 这部分应该可以由POS系统实现。总部查看分店的数据统计,其实可以由分店按期将统计数据发送到服务器即可。8 每个分店配有两台电脑 每台电脑上联有 刷卡器  客显  钱柜 
    9 为了防止网路出现问题,要求在网络出现问题的时候程序仍然可以进行正常的工作,当网络恢复以后再将数据一起提交总服务器. 
    这个是配置要求了,你的设计文档,应该尽可能替客户降低成本。网路不存在任何问题,如果你采用上述模式——数据的提交是每天一次的。-------------------------------------
    总的来说,难度相对大一点的是B/S系统。1. 数据库设计(各分店间会员混杂消费、不记名卡、打折....)
    2. 由于一次提交数据,可能需要较长时间的连接,这个过程的事务管理是必须的
    3. 我不了解你客户的情况,其实“财务统计 库存统计”放到大公司,每部分都是很恐怖的事情。我目前的项目,单表数据行就超过了两千万条,更不用说,海量的表、视图和存储过程。
      

  4.   

    “3 架构的问题 
      以上写的这些都是基于多个客户端连接一个网络数据库 ,这样的好处是数据的实时性,但是数据的安全性 我总是不太放心 
      我想请教一下那位大哥开发过这样的系统?有没有别的架构可以实现?或者有什么经验可以借鉴 谢谢 ”
    你可能不在这一行,觉得它好像很难很神秘似的。呵呵,我有一个室友,看模样跟你是一行的,不过他混得不错了。搞业务的就是赚钱啊!
    “多个客户端连接一个网络数据库”,这个是数据传输层与通信协议干的事情,如果你选择B/S系统,那完全没必要考虑到这个问题,即使是做编码的程序员。“数据的实时性”,其实完全没有必要时时刻刻保持跟总店数据一致,他们要看的是每天的营业状况,每个月的赢利统计,每年的销售额。而不是什么什么时间,我卖出去什么东西。“数据的安全性”这点没错,无论是故障,还是攻击,这方面的内容只能掺入你的考虑,真正去实现的程序员和总店的DBA(或者说网管)。如果连系统架构都要你来搭建,我就.....
      

  5.   

    “1.托管机房肯定不安全,关于安全的首要问题就是硬件的安全问题。 
      因为涉及极度安全信息,所以最好用SSL 
    2.如果这样做可以是可以,但一定要注意数据的同步性。 
      可以把对于实时要求比较高的表和对于实时要求比较低的表分开为不同数据库,这样可以减少负载 
    3.可以群集数据库服务器 ”
    这位兄弟不像是做项目的,倒像是搞研究的。建议相当不错,只是不合适。
      

  6.   

    看来 Lisliefor  是做过这方面的工作的 啊啊 
    谢谢你的回答根据你的建议我有以下己方面要说明一下:
    1 之所以要提到这个数据的时实性是因为客户有如下的需求:
      现在的加盟点 各自为政,A加盟店发展的会员不能在B加盟店消费. 所以希望将这些加盟店的会员数据统一起来,只要是会员就可以在任何一家加盟店进行消费.  由于会员里是存钱的 所以原则上是只要卡里有钱就可以进行消费. 这就存在一个问题
    就是 一个会员他可以把他的卡借给别人进行消费,这就有可能 一张卡一天之内 可能在多家加盟店里进行消费.2
    "我有一个疑问,“消费卡”是普通的银行卡,还是在该店购买并充值的卡?"
     
    目前正在用的是 磁卡形式的可充值卡
    3 再就是本地数据库与网络数据库同步的问题,这个也是很关键的
      因为现在的收银部分全部依靠计算机,如果使用远程数据库一旦断网那将会产生很大的影响
      所以希望能在这方面得到一些建议谢谢
      

  7.   

    1.所有金钱的往来,应该在加盟店的局域网内结算,不存在通过网络实时交易的问题
    2.交易时只识别卡类型来获得折扣
    3.各个加盟店共享客户的话,可以把客户数据集中存放,webservice做负载平衡同样可以高并发,直接连数据库最好要vpn,不过这里根本看不到加盟店需要获取客户信息的必要性。
    4.客户积分的计算可以在加盟店对账的时候进行批处理,这里只有加盟店-》服务器单向的数据流
    这样网络中断时,各加盟店依然不受影响其他的一些进销存的问题并不复杂
      

  8.   

    “现在的加盟点 各自为政,A加盟店发展的会员不能在B加盟店消费. 所以希望将这些加盟店的会员数据统一起来,只要是会员就可以在任何一家加盟店进行消费.  由于会员里是存钱的 所以原则上是只要卡里有钱就可以进行消费. 这就存在一个问题 
    就是 一个会员他可以把他的卡借给别人进行消费,这就有可能 一张卡一天之内 可能在多家加盟店里进行消费.”
    你的要求是数据同步,而不是实时。
    实时意味着“能够可靠的可预测的推测和控制程序逻辑的时间行为的能力”,换句话说,实时并不是意味着这速度,意味着即时的反应,而是意味着当需要对现实世界的事件作出反应时,它的行为是可预测的和可靠的。
    嵌入式系统对这方面的要求很高。而数据同步是指,几个不在一起而彼此有关联的数据库保持数据的一致性。根据你的系统,因为并没有那种严格的时间要求。可能我需要每天观察一下各分店的营业状况,需要一张漂亮的真实的报表。当然,如果客户有这个要求也没办法,大不了几个小时提交一次数据了。
    提交数据的过程,是一个读取本地数据、发送数据、修改远程服务器数据的过程。我想了一下,由于你要操作两个数据库,因此本地也需要一些应用,将数据读取出来,然后将数据提交到服务器暴露的接口上,完成修改。
    这个过程应该不需要你操心吧?------------------------------------------------------
    我详细描述一下如何解决这个问题吧!两张表格(可能考虑不周):消费记录表
    序号  会员ID  加盟店ID  消费单ID  日期序号没有任何意义,自增,作为该表主键,方便我们索引这个表格;加盟店ID是该会员是哪个分店发展的会员;消费店ID是该会员在哪个店消费;日期是消费日期。消费单ID对应下边消费单表的一条记录:消费单表
    消费单ID  消费类型  金额  时间  支付方式  会员卡号消费记录表记录想某个日期内消费的详细情况。当然,你得拥有其他的一些表,如会员信息表,分店信息表等等。
    其实这还是数据库设计的问题,怎么在总店服务器上合适地保存这些数据。------------------------------------------------------
    总的来说,你所有的担忧都在数据同步上,而这也恰恰是系统的关键所在。具体怎么设计,要看你的客户提出什么样的要求。断电、断网、连接不上远程数据库都不是问题,大不了我近三天的营业记录没办法提交给总店好了。等问题解决,我再更新远程数据库。这样又不会导致无法营业的状况!我所有的记录都保存在本地,唯一的问题是在出意外的几天内,总店的数据库不准确而已。你怎么说都没意义,还是那句话:看客户需求。如果他需要时刻保持数据一致,那你让收银员辛苦点:
    我所有的消费记录都由收银员提交到远程服务器,如果还要跟对控制 刷卡机 客现 小打印机 和 钱柜等联系起来,就不简单了。毕竟这些POS系统已经实现了,而且相对安全。那你又得考虑工作效率的问题了。
      

  9.   

    “yan63 ”
    这位兄弟高明!
      

  10.   

    Lisliefor的建议已经跟完善了  我在说一点意见  服务器如果不是时时同步 会有一个BUG  比如说一个会员卡里有500RMB 持卡中午在加盟店A消费了428RMB 晚上又去加盟店B 消费了466RMB 因为你的服务器是今天营业结束才跟服务器同步 所以 加盟店B还是认为这个会员手里的卡有500RMB 所以是个BUG  不知道我说的对不对 大家一起讨论下
      

  11.   

    那就的使时时同步 不过时时同步了 万一网络出现问题  那就的出现问题 解决的办法应该是 分店有一个服务器跟总店总服务器时时同步 
    如果分店服务器 连接不上总店服务器时 分店服务器可以使用 我想分店在点虽 也不至于连接服务器  2 3个小时都连接不上吧 
    这样看来 这个程序 加盟店跟总店的服务器必须是时时同步 在不RMB就会出现问题
      

  12.   

    会员卡采用IC卡(就象公交车的IC卡)就行了,每卡可以有8K的存储空间,可以保存金额,卡的类型等信息。划卡消费是各店将消费款从卡中扣除,用POS机带的读卡器就行了,卡的充值可以在分店或总店中进行。月结时,各分店根据划卡消费总额与充值总额的差额,决定向总店收取或付还两者之间资金差额。
      

  13.   

    此种IC卡可读可写,因为是无记名的,所以划卡消费也简单,只需读出卡中存储的数据,判断卡中金额够不够就行了,够的话,则将扣除后的金额数再写入卡中。POS的RFID(非接触式IC卡读卡器)可以简单实现这一功能,所以这方面,楼主可以放心。
      

  14.   

    那么我问一下yidie  你说的那种卡还是有点问题 因为他这种不想公交车卡消费那么底 一次才1元钱  他有可能是几百或几千RMB的消费
    卡可读写 那么我自己买一个POS的RFID(非接触式IC卡读卡器) 自己往里写钱 不是一样可以使用吗?所以还是有问题 
      

  15.   

    “Lisliefor的建议已经跟完善了  我在说一点意见  服务器如果不是时时同步 会有一个BUG  比如说一个会员卡里有500RMB 持卡中午在加盟店A消费了428RMB 晚上又去加盟店B 消费了466RMB 因为你的服务器是今天营业结束才跟服务器同步 所以 加盟店B还是认为这个会员手里的卡有500RMB 所以是个BUG  不知道我说的对不对 大家一起讨论下”金额等数据是保存在磁卡中,刷卡后,金额被修改了。
    而你的交易记录将会在系统中有记录。
      

  16.   

    to id7537306自已买一个读卡器,你不知道IC卡的密码,是不能读写的。
    只能通过分店或总店的POS机上的软件来操作,而这套软件就是楼上要开发的。
    POS机的读卡器最多只提供一个DLL,提供几个方法,
    比如
    寻卡函数
    登录函数
    读钱包函数
    写钱包函数
    后面三个函数都是需要密码的。
    公交车上是把这些操作都固化在读卡器中。你就是拿到了公交车的读卡器,你也不能向你的卡中写金额
      

  17.   

    谢谢 idie只是 这个 IC卡 系统造价 是多少啊太贵了恐怕也不行啊能大概给个价格范围吗 谢谢
      

  18.   

    那种卡我没用过 还是有点不明白那种卡的工作原理 yidie 可不可以说的详细点