选择了ASN.1

7-02 1,091 views

          前一阵子连考好几门课程,也把本科生阶段所有的课程考完了,大学课程就这么结束了,还是有点感慨的,下来就是各种实习和自我安排了。

       首先还是说说有关于本次服务外包的内容,今年的服务外包大赛与以往不同,多了很多研究的内容,也多了很多接地气的内容。比如,人脸识别,企业关系自动构建,智能家电等等。包含近500支队伍,牵扯上百所学校,规模也是最大的一次,还是很有挑战性的,经过小组的考虑和选择,最终定的课题是“面向未来的移动社交电商服务”。经过前期多次的调研和研究同类型产品的特点,我们将电商,购物,游戏,酷炫,简洁等等元素合理的融在一起,提出了自己的方案和行之有效的技术路线。项目小组随之分为三个大块:UI,交互式设计,客户端,服务器端等等。

    客户端选用了Android客户端,整体UI设计雏形已经完成,现在正在考虑具体的控件,以及整个软件结构的框架。

服务器端采用了python脚本,能承受高并发,完全自主开发,更加高效且具体针对性,更加的灵活。

      其中说一个插曲,在IM功能讨论时,由于通信技术采用了HTTP协议,是属于无状态的,对于另一个客户得主动从服务器获取,这是不科学的。使用长轮询,周期不好确定,如果使用短轮询,服务器资源又是耗费不起的,而采用原生socket保持通信的话,服务器的“层数”要分掉最上层,这对项目的扩展(主要指web)将变得很艰难,并且服务器内部结构的耦合也会变得过度耦合。最终进过讨论,选择了ASN.1进行通讯。

      我们知道不同体系的系统,不同编程语言之间,都存在通讯障碍。ASN.1可以无关于语言,它主要分为实际语法,抽象语法和传输语法。实际语法(Concrete Syntax)是指诸如C、Objective Caml等这样实际编程语言,抽象语法(Abstract Syntax)指ASN.1,传输语法(Transfer Syntax)指表示层交换数据的表示方法。从抽象语法到传输语法,由ASN.1编译器按照编解码规则实现。通俗来讲,抽象语法就是协议采用ASN.1规范描述的描述文本;传输语法就是实际通讯系统间的码流。具体内容可详见:MSDN上有关于ASN.1的编码规则

       再者就是我们的UI,和交互式设计,主要由一位同学承担,目前已经将整个项目的UI逻辑过程实现了,正在进一步优化中。

       我主要负责服务器端的内容,也兼顾帮忙Android客户端的项目。有关于前后端,代码库都已经建立,并且有一定的代码量,使用了git作为配置管理。整个项目进行有序,目前并没有产生混乱。

     整体来说,项目组的小伙伴们的热度都很高,我们会不断改进。

 

 

 

7.混合高斯模型(Mixtures of Gaussians)和 EM 算法

这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation)。 与k-means 一样,给定的训练样本是{x (1), … ,x (m)},我...

阅读全文

6. K-means聚类算法

K-means也是聚类算法中最简单的一种了,但是里面包含的思想却是不一般。聚类属于无监督学习,以往的回归、朴素贝叶斯、SVM等都是有类别标签y的,也就是说样例...

阅读全文

欢迎留言