一个小软件的想法

大家觉得这样的一个软件开发项目有前途不?

        现在随着唱歌爱好的人越来越多,我在生活中发现一个需求,就是一些人只是为了再朋友聚会的时候也想表现下,一展歌喉,但是很多人都没有找到适合自己的曲风、歌手和歌曲。其实每个人都是有适合自己的音区和音色,适合自己嗓音的歌手和歌曲。因此能否开发一个软件,自己唱几首,然后用深度学习网络学习后,提供匹配他特色的一些推荐歌手和歌曲,甚至可以给出歌唱建议和提高的地方。把这些软件装到KTV机器上去。

        大家讨论下,可行性。

展开阅读全文

一个软件想法,征求意见!

12-19

企业用户上网控制软件方案rn2001/11 rn 现在的企业里,使自己的局域网(LAN)连上广域网(WAN)已成为普遍。现代化的企业,各种信息不仅需要能在自己内部快速流通,而更必要的是信息能快速的与外界交互,这样企业才能和外界的发展保持同步,不致落伍于这个信息化的时代。企业连上INTERNET,可以毫不夸张的说,只要这个时代已有的技术、产品,你都能在网上找到她。即使还未曾投入实际应用的产品或技术,你都能在INTERNET上找到她的任何踪迹。正因为企业(或其它)上网具有如此大的好处,这不管是对技术人员、销售人员、行政人员还是各方面的管理人员都能感受和应用到她,因此,企业上网成为必然,而且也是必须的。rnrn但是,正因为INTERNET的应用是如此广泛,如何用好这个东西就成为急切需要考虑的问题,应该说任何已连上INTERNET的企业都面临着这个问题。一个企业就是一个社群关系,就是一个小社会,里面人员从事的工作各式各样,显然对上网的需求也各异,如何均衡地分配满足他们的这种上网的需求?如何以最小的带宽、最小的网络费用去满足这种需要就成为企业需要考虑的问题,至少企业信息技术经理要考虑到她。企业里面经常碰到这种情况:不是工作需要或是没有必要频繁上网的一些人员却经常性的使自己挂在网上,或是聊天、或是看一些无关紧要的信息去浪费企业有限的带宽资源,而真正需要上INTERNET获取重要技术资料或产品信息的人员却因为带宽几被耗尽而无可奈何地忍受着慢吞吞的信息反馈。rnrn如何消除或控制以上现象?显然,仅仅是通过人力手段去控制是不行的,至少人力手段控制是不完善的。因为在一个信息化的企业里,不应该说是硬性规定哪个人能用INERNET而哪个人又不能用INTERNET。你也不能说当某人有重要信息需要获取时,你去挨个通知其它人:哎,你现在不要上网了,某某人现在要下载一个大的资料。rnrn解决以上问题的最好方法就是采取软控制的方法。什幺是软控制?所谓软控制就是采用软件去控制人员的上网情况。下面我要说的就是这样一个软件实现的构想、方案和相关的关键技术。rnrn为了能看到这样一个软件的作用,我先说一下这个软件能实现的功能:rnrnA:用户认证。用户认证是实现其它控制功能的基础。当然,我们也可以通过用户IP、用户MAC或其它能通过网络找到的用户特征属性去控制(这些都可根据企业的需要去做)。只有哪些能通过用户认证的才可上INTERNET。(不影响LAN内通信。当然如果需要也完全可以控制LAN内通信)。rnB:用户控制。用户控制又可划分为以下几个方面:rn 1:用户权限控制。用户权限控制包括rna:用户所上网站类型控制。举例来说,能控制一个用户是否能上SOHU、SINA等。rnb:用户上网服务类型控制。即能控制用户上网所拥有的功能。例如,是否能用FTP、TELNET、OICQ等等功能。 rn 2:用户流量控制。能根据每个用户(或组)给他分配一个每天上网用量,即配额。假如给某个用户(或组)配了一个每天10M的量,则当他上网浏览信息超过10M时能给他切断与INTERNET的连接或其它应对信息。rn 3:用户上网时间限制。能控制每个用户或组的上网时间数。其作用与流量控制差不多。rn 4:用户优先级控制。用户优先级控制是指能根据分配给某一用户或组的优先系数来优先满足他的信息传输要求。从而能使上网优先级高的用户其上网服务能得到优先保证,从而使的用户的上网服务有了轻重缓急。rn C:信息过滤。能控制用户能浏览的信息情况,能根据提供的过滤关键字信息将包涵这部分关键字的信息过滤掉。当然,这会涉及到系统本身的性能损耗。rn D:用户上网情况统计。能将用户上网信息,包括上网时间、上网流量、所上网站、所用服务甚至上网所用哪个IP、MAC等等信息以报表的形式予以提供,以便管理。rn E:用户上网信息监控。上网信息监控分实时监控和异步监控。rn1:实时监控就是能在用户浏览信息的同时特殊人员也能看到他所浏览的信息。这主要是为特殊管理目的而设。这个功能在实时监控用户数量较多时会显着影响系统性能,甚至死机。我曾用样板程序监控一个有三百多人的企业网时,出现过死机。rn2:异步监控就是能在你所监控的用户查看网上信息的同时,你能将他查看的信息存档下来,以作以后检查之用。这个也是作为特殊目的而设。她对系统性能的影响较实时监控的影响少。rnF:网络屏蔽。这个要根据设计的实际需要去做,主要用于网络的安全防护方面。rnG:可能的其它功能。rnrn以上是整个软件所能达到的功能。整个软件构想的实现是根据以太网数据报的发送原理和基本步骤以及MAC桥接(Media Access Control Bridge)技术来实现。并且整个软件的实现是基于二层交换技术的(共享媒介就更不用说)。利用的是二层交换技术对ARP报的广播功能来实现的。对于三层交换技术来说,由于数据报由二层传给三层进行处理时,三层会基于数据报里的IP去进行路由传递,这样的话,假如该软件和企业局域网都是连在三层交换机上的话,软件的以上功能应该是实现不了(我没有试过,但从理论上来说应该是这样)。当然,这些都不是问题。因为我们可以通过简单的方法去补救,搭成软件所需要的环境,并且不会影响网络的任何性能。rn下面我们再基于整个软件的网络构架去进行软件原理的详细说明。rnrnrnrnrnrnrnrnrnrnrnrnrn rn 在说明整个系统工作的基本原理之前,先要说一下数据报发送大致的过程.数据报的发送正常情况下是由系统的协议栈根据协议栈的实现层次(OSI七层协议标准)将要发送的数据层层打包再由物理层从网络设备(网卡)上发送出去.在数据的传送过程中,有两个地方对数据报的处理是很重要的.一个是基于IP对数据报的处理,任外一个是基于MAC对数据报的处理.依据IP发报主要是利用其路由导向功能,其实决定任何一个数据报最终要发送到哪一个物理(目标)介质上是依据MAC来决定的.物理层是协议栈的最底层,任何一个数据报首先都是要经过这一层的处理.因此,任何一个数据报在发送前,都要依据目标的IP地址先广播一个ARP报文去查询目标的MAC地址从而确定目标的物理位置.如果源和目标物理位置处于同一网段内,则数据报可以直接传递到,否则的话就要通过路由设备,由路由设备根据IP确定路由路经将数据报层层转发,直到其到达目的地(当然其中会有各种异常情况丢包等等情况).我们这个软件的原理就是利用数据报发送的第一步,截获数据报发送时的ARP请求,将ARP报文里的源和目的主机的MAC和IP信息取下存储起来,而给源和目标返回一个假的ARP报文.这个假ARP报文里包涵正确的IP信息,但包含的MAC信息确实该软件所在的服务器的MAC地址.这样的话等于是在通信线路上接了一座桥,也就是该软件所在的服务器,这样通信双方的所有报文(当然这是指需要控制所有报文的话,实际运做情况是只要控制几个特殊报文)都需经过该软件的桥接转发,从而就可以很轻松的达到控制通信双方的目的.rn 现在我们用一个主机发包的例子来说明她。假设企业LAN内有一主机(假定为LAN-HOST)要与企业LAN外的某一个主机(WAN-HOST)通信,那末在双方真正通信前,通信双方首先要建立数据链路层的连接。为了达到这个目的,LAN-HOST就广播一个ARP请求报文,而企业的二层交换机在未能回应该ARP请求报文的情况下,他就会向自身的所有端口广播这个报文(如上图)。那末连在交换机上的SERVER(指装有该软件的主机)也将会接受到该报文,然后SERVER就向LAN-HOST立即传回一个虚假的ARP应答报文,该报文传回的是SERVER的MAC地址,这样LAN-HOST实际上就与SERVER建立了通信链路,从而使得SERVER成为LAN-HOST与其他主机通信的中继转发主机。从而你就能在SERVER上对LAN-HOST通信进行各种各样的控制。rn 当然,上面只是该软件实现技术上的可行性,真正要做成一个软件需要一定的时间。rnrn 论坛

没有更多推荐了,返回首页